From 8b0f358c677cdf0a32ed6e742e9f5eae12ce7f2c Mon Sep 17 00:00:00 2001 From: Varshi Bachu Date: Fri, 18 Sep 2026 14:40:38 -0700 Subject: [PATCH] initial commit --- packages/azure-functions-durable/package.json | 3 +++ packages/azure-functions-durable/src/durable-grpc.ts | 10 +++++++++- .../test/unit/durable-grpc.spec.ts | 3 +++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/azure-functions-durable/package.json b/packages/azure-functions-durable/package.json index 614016ac..d4cf0059 100644 --- a/packages/azure-functions-durable/package.json +++ b/packages/azure-functions-durable/package.json @@ -34,8 +34,11 @@ ], "scripts": { "clean": "node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"", + "prebuild": "node -p \"'// Auto-generated by prebuild\\nexport const SDK_VERSION = ' + JSON.stringify(require('./package.json').version) + ';\\nexport const SDK_PACKAGE_NAME = ' + JSON.stringify(require('./package.json').name) + ';'\" > src/version.ts", "build:core": "npm run build -w @microsoft/durabletask-js", "build": "npm run clean && npm run build:core && tsc -p tsconfig.build.json", + "pretest": "npm run prebuild", + "pretest:unit": "npm run prebuild", "test": "jest --runInBand --detectOpenHandles", "test:unit": "jest test/unit --runInBand --detectOpenHandles", "prepublishOnly": "npm run build && npm run test" diff --git a/packages/azure-functions-durable/src/durable-grpc.ts b/packages/azure-functions-durable/src/durable-grpc.ts index 47b5058f..d96e6e1b 100644 --- a/packages/azure-functions-durable/src/durable-grpc.ts +++ b/packages/azure-functions-durable/src/durable-grpc.ts @@ -1,13 +1,21 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. +import { SDK_PACKAGE_NAME, SDK_VERSION } from "./version"; + export type DurableBindingMetadata = Record; export function addDurableGrpcMetadata( binding: TBinding, -): TBinding & { durableRequiresGrpc: true } { +): TBinding & { + durableRequiresGrpc: true; + durableSdkName: string; + durableSdkVersion: string; +} { return { ...binding, durableRequiresGrpc: true, + durableSdkName: SDK_PACKAGE_NAME, + durableSdkVersion: SDK_VERSION, }; } diff --git a/packages/azure-functions-durable/test/unit/durable-grpc.spec.ts b/packages/azure-functions-durable/test/unit/durable-grpc.spec.ts index 89d01ac8..6a9d7860 100644 --- a/packages/azure-functions-durable/test/unit/durable-grpc.spec.ts +++ b/packages/azure-functions-durable/test/unit/durable-grpc.spec.ts @@ -2,6 +2,7 @@ // Licensed under the MIT License. import { addDurableGrpcMetadata } from "../../src/durable-grpc"; +import packageJson from "../../package.json"; describe("addDurableGrpcMetadata", () => { it("adds durableRequiresGrpc without mutating the original binding", () => { @@ -13,6 +14,8 @@ describe("addDurableGrpcMetadata", () => { type: "orchestrationTrigger", name: "context", durableRequiresGrpc: true, + durableSdkName: packageJson.name, + durableSdkVersion: packageJson.version, }); expect(binding).toEqual({ type: "orchestrationTrigger", name: "context" }); });