@temporalio/workflow 1.13.0 → 1.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/flags.d.ts CHANGED
@@ -39,6 +39,35 @@ export declare const SdkFlags: {
39
39
  * to implicitely have this flag on.
40
40
  */
41
41
  readonly ProcessWorkflowActivationJobsAsSingleBatch: SdkFlag;
42
+ /**
43
+ * In 1.11.5 the `handleSignal` interceptor was added to @temporalio/interceptors-opentelemetry
44
+ * which added a yield point. The added yield point can cause NDE if there was a signal handler and
45
+ * the workflow was started with a signal.
46
+ *
47
+ * This yield point was removed in 1.13.2, but in order to prevent workflows from the
48
+ * affected versions resulting in NDE, we have to inject the yield point on replay.
49
+ * @since Introduced in 1.13.2.
50
+ */
51
+ readonly OpenTelemetryInterceptorsTracesInboundSignals: SdkFlag;
52
+ /**
53
+ * In 1.11.6, the `scheduleLocalActivity` interceptor was added to
54
+ * `@temporalio/interceptors-opentelemetry` which added a yield point to the
55
+ * outbound interceptor. This yield point was removed in 1.13.2.
56
+ *
57
+ * @since Introduced in 1.13.2
58
+ */
59
+ readonly OpenTelemetryInterceptorsTracesLocalActivities: SdkFlag;
60
+ /**
61
+ * The interceptors provided by @temporalio/interceptors-opentelemetry initially had unnecessary
62
+ * yield points on calling to `extractContextFromHeaders`.
63
+ * If replaying a workflow created from these versions a yield point is injected to prevent any NDE.
64
+ *
65
+ * If the history does not include the SDK version, default to extra yields since the yields were present since the OTEL
66
+ * package was created.
67
+ *
68
+ * @since Introduced in 1.13.2
69
+ */
70
+ readonly OpenTelemetryInterceporsAvoidsExtraYields: SdkFlag;
42
71
  };
43
72
  export declare function assertValidFlag(id: number): void;
44
73
  /**
@@ -55,5 +84,6 @@ export declare function assertValidFlag(id: number): void;
55
84
  */
56
85
  type AltConditionFn = (ctx: {
57
86
  info: WorkflowInfo;
87
+ sdkVersion?: string;
58
88
  }) => boolean;
59
89
  export {};
package/lib/flags.js CHANGED
@@ -38,6 +38,35 @@ exports.SdkFlags = {
38
38
  * to implicitely have this flag on.
39
39
  */
40
40
  ProcessWorkflowActivationJobsAsSingleBatch: defineFlag(2, true, [buildIdSdkVersionMatches(/1\.11\.[01]/)]),
41
+ /**
42
+ * In 1.11.5 the `handleSignal` interceptor was added to @temporalio/interceptors-opentelemetry
43
+ * which added a yield point. The added yield point can cause NDE if there was a signal handler and
44
+ * the workflow was started with a signal.
45
+ *
46
+ * This yield point was removed in 1.13.2, but in order to prevent workflows from the
47
+ * affected versions resulting in NDE, we have to inject the yield point on replay.
48
+ * @since Introduced in 1.13.2.
49
+ */
50
+ OpenTelemetryInterceptorsTracesInboundSignals: defineFlag(3, true, [isAtLeast({ major: 1, minor: 11, patch: 5 })]),
51
+ /**
52
+ * In 1.11.6, the `scheduleLocalActivity` interceptor was added to
53
+ * `@temporalio/interceptors-opentelemetry` which added a yield point to the
54
+ * outbound interceptor. This yield point was removed in 1.13.2.
55
+ *
56
+ * @since Introduced in 1.13.2
57
+ */
58
+ OpenTelemetryInterceptorsTracesLocalActivities: defineFlag(4, true, [isAtLeast({ major: 1, minor: 11, patch: 6 })]),
59
+ /**
60
+ * The interceptors provided by @temporalio/interceptors-opentelemetry initially had unnecessary
61
+ * yield points on calling to `extractContextFromHeaders`.
62
+ * If replaying a workflow created from these versions a yield point is injected to prevent any NDE.
63
+ *
64
+ * If the history does not include the SDK version, default to extra yields since the yields were present since the OTEL
65
+ * package was created.
66
+ *
67
+ * @since Introduced in 1.13.2
68
+ */
69
+ OpenTelemetryInterceporsAvoidsExtraYields: defineFlag(5, true, [isAtLeast({ major: 1, minor: 13, patch: 2 })]),
41
70
  };
42
71
  function defineFlag(id, def, alternativeConditions) {
43
72
  const flag = { id, default: def, alternativeConditions };
@@ -52,4 +81,51 @@ function buildIdSdkVersionMatches(version) {
52
81
  const regex = new RegExp(`^@temporalio/worker@(${version.source})[+]`);
53
82
  return ({ info }) => info.currentBuildId != null && regex.test(info.currentBuildId); // eslint-disable-line deprecation/deprecation
54
83
  }
84
+ /**
85
+ * Creates an `AltConditionFn` that checks if the SDK version is equal to or after the provided version.
86
+ * An optional default can be provided in case the SDK version is not available.
87
+ */
88
+ function isAtLeast(compare, missingDefault) {
89
+ return (ctx) => {
90
+ return isCompared(compare, -1, missingDefault)(ctx) || isCompared(compare, 0, missingDefault)(ctx);
91
+ };
92
+ }
93
+ function isCompared(compare, comparison, missingDefault = false) {
94
+ return ({ sdkVersion }) => {
95
+ if (!sdkVersion)
96
+ return missingDefault;
97
+ const version = parseSemver(sdkVersion);
98
+ if (!version)
99
+ return missingDefault;
100
+ return compareSemver(compare, version) === comparison;
101
+ };
102
+ }
103
+ function parseSemver(version) {
104
+ try {
105
+ const [_, major, minor, patch] = version.match(/(\d+)\.(\d+)\.(\d+)/);
106
+ return {
107
+ major: Number.parseInt(major),
108
+ minor: Number.parseInt(minor),
109
+ patch: Number.parseInt(patch),
110
+ };
111
+ }
112
+ catch {
113
+ return undefined;
114
+ }
115
+ }
116
+ function compareSemver(a, b) {
117
+ if (a.major < b.major)
118
+ return -1;
119
+ if (a.major > b.major)
120
+ return +1;
121
+ if (a.minor < b.minor)
122
+ return -1;
123
+ if (a.minor > b.minor)
124
+ return +1;
125
+ if (a.patch < b.patch)
126
+ return -1;
127
+ if (a.patch > b.patch)
128
+ return +1;
129
+ return 0;
130
+ }
55
131
  //# sourceMappingURL=flags.js.map
package/lib/flags.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":";;;AAsDA,0CAEC;AAhDD,MAAM,aAAa,GAAyB,IAAI,GAAG,EAAE,CAAC;AAEzC,QAAA,QAAQ,GAAG;IACtB;;;;;;;;;;;OAWG;IACH,8CAA8C,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAC;IAE9G;;;;;;;;;;;;;;;;;;;OAmBG;IACH,0CAA0C,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAC;CAClG,CAAC;AAEX,SAAS,UAAU,CAAC,EAAU,EAAE,GAAY,EAAE,qBAAwC;IACpF,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC;IACzD,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,eAAe,CAAC,EAAU;IACxC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC;AAgBD,SAAS,wBAAwB,CAAC,OAAe;IAC/C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,wBAAwB,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC;IACvE,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,8CAA8C;AACrI,CAAC"}
1
+ {"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":";;;AAsFA,0CAEC;AAhFD,MAAM,aAAa,GAAyB,IAAI,GAAG,EAAE,CAAC;AAEzC,QAAA,QAAQ,GAAG;IACtB;;;;;;;;;;;OAWG;IACH,8CAA8C,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAC;IAE9G;;;;;;;;;;;;;;;;;;;OAmBG;IACH,0CAA0C,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAC;IAE1G;;;;;;;;OAQG;IACH,6CAA6C,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAElH;;;;;;OAMG;IACH,8CAA8C,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnH;;;;;;;;;OASG;IACH,yCAAyC,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CACtG,CAAC;AAEX,SAAS,UAAU,CAAC,EAAU,EAAE,GAAY,EAAE,qBAAwC;IACpF,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC;IACzD,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,eAAe,CAAC,EAAU;IACxC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC;AAgBD,SAAS,wBAAwB,CAAC,OAAe;IAC/C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,wBAAwB,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC;IACvE,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,8CAA8C;AACrI,CAAC;AAQD;;;GAGG;AACH,SAAS,SAAS,CAAC,OAAe,EAAE,cAAwB;IAC1D,OAAO,CAAC,GAAG,EAAE,EAAE;QACb,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC;IACrG,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,OAAe,EAAE,UAAsB,EAAE,iBAA0B,KAAK;IAC1F,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;QACxB,IAAI,CAAC,UAAU;YAAE,OAAO,cAAc,CAAC;QACvC,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO;YAAE,OAAO,cAAc,CAAC;QACpC,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,IAAI,CAAC;QACH,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAE,CAAC;QACvE,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC7B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC7B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;SAC9B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,CAAC;IACjC,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -227,6 +227,7 @@ export declare class Activator implements ActivationHandler {
227
227
  */
228
228
  private readonly sentPatches;
229
229
  private readonly knownFlags;
230
+ sdkVersion?: string;
230
231
  /**
231
232
  * Buffered sink calls per activation
232
233
  */
package/lib/internals.js CHANGED
@@ -291,6 +291,7 @@ class Activator {
291
291
  */
292
292
  sentPatches = new Set();
293
293
  knownFlags = new Set();
294
+ sdkVersion;
294
295
  /**
295
296
  * Buffered sink calls per activation
296
297
  */
@@ -892,7 +893,7 @@ class Activator {
892
893
  // through an older one.
893
894
  if (this.info.unsafe.isReplaying && flag.alternativeConditions) {
894
895
  for (const cond of flag.alternativeConditions) {
895
- if (cond({ info: this.info }))
896
+ if (cond({ info: this.info, sdkVersion: this.sdkVersion }))
896
897
  return true;
897
898
  }
898
899
  }
@@ -1 +1 @@
1
- {"version":3,"file":"internals.js","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internals.js","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@temporalio/workflow",
3
- "version": "1.13.0",
3
+ "version": "1.13.2",
4
4
  "description": "Temporal.io SDK Workflow sub-package",
5
5
  "keywords": [
6
6
  "temporal",
@@ -22,8 +22,8 @@
22
22
  "types": "lib/index.d.ts",
23
23
  "scripts": {},
24
24
  "dependencies": {
25
- "@temporalio/common": "1.13.0",
26
- "@temporalio/proto": "1.13.0",
25
+ "@temporalio/common": "1.13.2",
26
+ "@temporalio/proto": "1.13.2",
27
27
  "nexus-rpc": "^0.0.1"
28
28
  },
29
29
  "devDependencies": {
@@ -39,5 +39,5 @@
39
39
  "src",
40
40
  "lib"
41
41
  ],
42
- "gitHead": "cf7c1e7d70f0c775f1382fd335b8bd721495f8cc"
42
+ "gitHead": "524b1bcf72b36fbf3148fe5adb0ddbe036293f6d"
43
43
  }
package/src/flags.ts CHANGED
@@ -44,6 +44,38 @@ export const SdkFlags = {
44
44
  * to implicitely have this flag on.
45
45
  */
46
46
  ProcessWorkflowActivationJobsAsSingleBatch: defineFlag(2, true, [buildIdSdkVersionMatches(/1\.11\.[01]/)]),
47
+
48
+ /**
49
+ * In 1.11.5 the `handleSignal` interceptor was added to @temporalio/interceptors-opentelemetry
50
+ * which added a yield point. The added yield point can cause NDE if there was a signal handler and
51
+ * the workflow was started with a signal.
52
+ *
53
+ * This yield point was removed in 1.13.2, but in order to prevent workflows from the
54
+ * affected versions resulting in NDE, we have to inject the yield point on replay.
55
+ * @since Introduced in 1.13.2.
56
+ */
57
+ OpenTelemetryInterceptorsTracesInboundSignals: defineFlag(3, true, [isAtLeast({ major: 1, minor: 11, patch: 5 })]),
58
+
59
+ /**
60
+ * In 1.11.6, the `scheduleLocalActivity` interceptor was added to
61
+ * `@temporalio/interceptors-opentelemetry` which added a yield point to the
62
+ * outbound interceptor. This yield point was removed in 1.13.2.
63
+ *
64
+ * @since Introduced in 1.13.2
65
+ */
66
+ OpenTelemetryInterceptorsTracesLocalActivities: defineFlag(4, true, [isAtLeast({ major: 1, minor: 11, patch: 6 })]),
67
+
68
+ /**
69
+ * The interceptors provided by @temporalio/interceptors-opentelemetry initially had unnecessary
70
+ * yield points on calling to `extractContextFromHeaders`.
71
+ * If replaying a workflow created from these versions a yield point is injected to prevent any NDE.
72
+ *
73
+ * If the history does not include the SDK version, default to extra yields since the yields were present since the OTEL
74
+ * package was created.
75
+ *
76
+ * @since Introduced in 1.13.2
77
+ */
78
+ OpenTelemetryInterceporsAvoidsExtraYields: defineFlag(5, true, [isAtLeast({ major: 1, minor: 13, patch: 2 })]),
47
79
  } as const;
48
80
 
49
81
  function defineFlag(id: number, def: boolean, alternativeConditions?: AltConditionFn[]): SdkFlag {
@@ -68,9 +100,57 @@ export function assertValidFlag(id: number): void {
68
100
  * condition no longer holds. This is so to avoid incorrect behaviors in case where a Workflow
69
101
  * Execution has gone through a newer SDK version then again through an older one.
70
102
  */
71
- type AltConditionFn = (ctx: { info: WorkflowInfo }) => boolean;
103
+ type AltConditionFn = (ctx: { info: WorkflowInfo; sdkVersion?: string }) => boolean;
72
104
 
73
105
  function buildIdSdkVersionMatches(version: RegExp): AltConditionFn {
74
106
  const regex = new RegExp(`^@temporalio/worker@(${version.source})[+]`);
75
107
  return ({ info }) => info.currentBuildId != null && regex.test(info.currentBuildId); // eslint-disable-line deprecation/deprecation
76
108
  }
109
+
110
+ type SemVer = {
111
+ major: number;
112
+ minor: number;
113
+ patch: number;
114
+ };
115
+
116
+ /**
117
+ * Creates an `AltConditionFn` that checks if the SDK version is equal to or after the provided version.
118
+ * An optional default can be provided in case the SDK version is not available.
119
+ */
120
+ function isAtLeast(compare: SemVer, missingDefault?: boolean): AltConditionFn {
121
+ return (ctx) => {
122
+ return isCompared(compare, -1, missingDefault)(ctx) || isCompared(compare, 0, missingDefault)(ctx);
123
+ };
124
+ }
125
+
126
+ function isCompared(compare: SemVer, comparison: -1 | 0 | 1, missingDefault: boolean = false): AltConditionFn {
127
+ return ({ sdkVersion }) => {
128
+ if (!sdkVersion) return missingDefault;
129
+ const version = parseSemver(sdkVersion);
130
+ if (!version) return missingDefault;
131
+ return compareSemver(compare, version) === comparison;
132
+ };
133
+ }
134
+
135
+ function parseSemver(version: string): SemVer | undefined {
136
+ try {
137
+ const [_, major, minor, patch] = version.match(/(\d+)\.(\d+)\.(\d+)/)!;
138
+ return {
139
+ major: Number.parseInt(major),
140
+ minor: Number.parseInt(minor),
141
+ patch: Number.parseInt(patch),
142
+ };
143
+ } catch {
144
+ return undefined;
145
+ }
146
+ }
147
+
148
+ function compareSemver(a: SemVer, b: SemVer): -1 | 0 | 1 {
149
+ if (a.major < b.major) return -1;
150
+ if (a.major > b.major) return +1;
151
+ if (a.minor < b.minor) return -1;
152
+ if (a.minor > b.minor) return +1;
153
+ if (a.patch < b.patch) return -1;
154
+ if (a.patch > b.patch) return +1;
155
+ return 0;
156
+ }
package/src/internals.ts CHANGED
@@ -434,6 +434,8 @@ export class Activator implements ActivationHandler {
434
434
 
435
435
  private readonly knownFlags = new Set<number>();
436
436
 
437
+ sdkVersion?: string;
438
+
437
439
  /**
438
440
  * Buffered sink calls per activation
439
441
  */
@@ -1123,7 +1125,7 @@ export class Activator implements ActivationHandler {
1123
1125
  // through an older one.
1124
1126
  if (this.info.unsafe.isReplaying && flag.alternativeConditions) {
1125
1127
  for (const cond of flag.alternativeConditions) {
1126
- if (cond({ info: this.info })) return true;
1128
+ if (cond({ info: this.info, sdkVersion: this.sdkVersion })) return true;
1127
1129
  }
1128
1130
  }
1129
1131