@proompteng/temporal-bun-sdk 0.6.0 → 0.7.0

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.
Files changed (139) hide show
  1. package/README.md +66 -27
  2. package/dist/src/bin/replay-command.d.ts +1 -0
  3. package/dist/src/bin/replay-command.d.ts.map +1 -1
  4. package/dist/src/bin/replay-command.js +72 -40
  5. package/dist/src/bin/replay-command.js.map +1 -1
  6. package/dist/src/bin/temporal-bun-skill.d.ts +7 -0
  7. package/dist/src/bin/temporal-bun-skill.d.ts.map +1 -0
  8. package/dist/src/bin/temporal-bun-skill.js +53 -0
  9. package/dist/src/bin/temporal-bun-skill.js.map +1 -0
  10. package/dist/src/bin/temporal-bun.d.ts.map +1 -1
  11. package/dist/src/bin/temporal-bun.js +6 -0
  12. package/dist/src/bin/temporal-bun.js.map +1 -1
  13. package/dist/src/client/serialization.d.ts.map +1 -1
  14. package/dist/src/client/serialization.js +8 -0
  15. package/dist/src/client/serialization.js.map +1 -1
  16. package/dist/src/client/types.d.ts +2 -0
  17. package/dist/src/client/types.d.ts.map +1 -1
  18. package/dist/src/client/types.js.map +1 -1
  19. package/dist/src/client.d.ts +29 -10
  20. package/dist/src/client.d.ts.map +1 -1
  21. package/dist/src/client.js +39 -4
  22. package/dist/src/client.js.map +1 -1
  23. package/dist/src/config.d.ts +1 -3
  24. package/dist/src/config.d.ts.map +1 -1
  25. package/dist/src/config.js +3 -19
  26. package/dist/src/config.js.map +1 -1
  27. package/dist/src/index.d.ts +4 -2
  28. package/dist/src/index.d.ts.map +1 -1
  29. package/dist/src/index.js +3 -2
  30. package/dist/src/index.js.map +1 -1
  31. package/dist/src/interceptors/client.d.ts.map +1 -1
  32. package/dist/src/interceptors/client.js +1 -1
  33. package/dist/src/interceptors/client.js.map +1 -1
  34. package/dist/src/interceptors/worker.d.ts.map +1 -1
  35. package/dist/src/interceptors/worker.js +1 -1
  36. package/dist/src/interceptors/worker.js.map +1 -1
  37. package/dist/src/observability/opentelemetry.js +8 -8
  38. package/dist/src/observability/opentelemetry.js.map +1 -1
  39. package/dist/src/otel/api.d.ts +33 -0
  40. package/dist/src/otel/api.d.ts.map +1 -0
  41. package/dist/src/otel/api.js +23 -0
  42. package/dist/src/otel/api.js.map +1 -0
  43. package/dist/src/otel/auto-instrumentations-node.d.ts +2 -0
  44. package/dist/src/otel/auto-instrumentations-node.d.ts.map +1 -0
  45. package/dist/src/otel/auto-instrumentations-node.js +2 -0
  46. package/dist/src/otel/auto-instrumentations-node.js.map +1 -0
  47. package/dist/src/otel/core.d.ts +5 -0
  48. package/dist/src/otel/core.d.ts.map +1 -0
  49. package/dist/src/otel/core.js +6 -0
  50. package/dist/src/otel/core.js.map +1 -0
  51. package/dist/src/otel/diag.d.ts +27 -0
  52. package/dist/src/otel/diag.d.ts.map +1 -0
  53. package/dist/src/otel/diag.js +54 -0
  54. package/dist/src/otel/diag.js.map +1 -0
  55. package/dist/src/otel/exporter-metrics-otlp-http.d.ts +23 -0
  56. package/dist/src/otel/exporter-metrics-otlp-http.d.ts.map +1 -0
  57. package/dist/src/otel/exporter-metrics-otlp-http.js +61 -0
  58. package/dist/src/otel/exporter-metrics-otlp-http.js.map +1 -0
  59. package/dist/src/otel/exporter-trace-otlp-http.d.ts +20 -0
  60. package/dist/src/otel/exporter-trace-otlp-http.d.ts.map +1 -0
  61. package/dist/src/otel/exporter-trace-otlp-http.js +54 -0
  62. package/dist/src/otel/exporter-trace-otlp-http.js.map +1 -0
  63. package/dist/src/otel/index.d.ts +11 -0
  64. package/dist/src/otel/index.d.ts.map +1 -0
  65. package/dist/src/otel/index.js +11 -0
  66. package/dist/src/otel/index.js.map +1 -0
  67. package/dist/src/otel/otlp-proto.d.ts +5 -0
  68. package/dist/src/otel/otlp-proto.d.ts.map +1 -0
  69. package/dist/src/otel/otlp-proto.js +347 -0
  70. package/dist/src/otel/otlp-proto.js.map +1 -0
  71. package/dist/src/otel/otlp-serialize.d.ts +34 -0
  72. package/dist/src/otel/otlp-serialize.d.ts.map +1 -0
  73. package/dist/src/otel/otlp-serialize.js +59 -0
  74. package/dist/src/otel/otlp-serialize.js.map +1 -0
  75. package/dist/src/otel/otlp-transport.d.ts +9 -0
  76. package/dist/src/otel/otlp-transport.d.ts.map +1 -0
  77. package/dist/src/otel/otlp-transport.js +193 -0
  78. package/dist/src/otel/otlp-transport.js.map +1 -0
  79. package/dist/src/otel/otlp.d.ts +18 -0
  80. package/dist/src/otel/otlp.d.ts.map +1 -0
  81. package/dist/src/otel/otlp.js +43 -0
  82. package/dist/src/otel/otlp.js.map +1 -0
  83. package/dist/src/otel/resources.d.ts +8 -0
  84. package/dist/src/otel/resources.d.ts.map +1 -0
  85. package/dist/src/otel/resources.js +13 -0
  86. package/dist/src/otel/resources.js.map +1 -0
  87. package/dist/src/otel/sdk-metrics.d.ts +133 -0
  88. package/dist/src/otel/sdk-metrics.d.ts.map +1 -0
  89. package/dist/src/otel/sdk-metrics.js +354 -0
  90. package/dist/src/otel/sdk-metrics.js.map +1 -0
  91. package/dist/src/otel/sdk-node.d.ts +16 -0
  92. package/dist/src/otel/sdk-node.d.ts.map +1 -0
  93. package/dist/src/otel/sdk-node.js +55 -0
  94. package/dist/src/otel/sdk-node.js.map +1 -0
  95. package/dist/src/otel/sdk-trace.d.ts +118 -0
  96. package/dist/src/otel/sdk-trace.d.ts.map +1 -0
  97. package/dist/src/otel/sdk-trace.js +250 -0
  98. package/dist/src/otel/sdk-trace.js.map +1 -0
  99. package/dist/src/otel/semantic-conventions.d.ts +4 -0
  100. package/dist/src/otel/semantic-conventions.d.ts.map +1 -0
  101. package/dist/src/otel/semantic-conventions.js +4 -0
  102. package/dist/src/otel/semantic-conventions.js.map +1 -0
  103. package/dist/src/skills/cli.d.ts +10 -0
  104. package/dist/src/skills/cli.d.ts.map +1 -0
  105. package/dist/src/skills/cli.js +66 -0
  106. package/dist/src/skills/cli.js.map +1 -0
  107. package/dist/src/skills/index.d.ts +22 -0
  108. package/dist/src/skills/index.d.ts.map +1 -0
  109. package/dist/src/skills/index.js +128 -0
  110. package/dist/src/skills/index.js.map +1 -0
  111. package/dist/src/worker/defaults.d.ts +1 -0
  112. package/dist/src/worker/defaults.d.ts.map +1 -1
  113. package/dist/src/worker/defaults.js +74 -1
  114. package/dist/src/worker/defaults.js.map +1 -1
  115. package/dist/src/worker/runtime.d.ts.map +1 -1
  116. package/dist/src/worker/runtime.js +37 -24
  117. package/dist/src/worker/runtime.js.map +1 -1
  118. package/dist/src/worker.d.ts +2 -0
  119. package/dist/src/worker.d.ts.map +1 -1
  120. package/dist/src/worker.js +7 -2
  121. package/dist/src/worker.js.map +1 -1
  122. package/dist/src/workflow/commands.js +2 -0
  123. package/dist/src/workflow/commands.js.map +1 -1
  124. package/dist/src/workflow/executor.d.ts.map +1 -1
  125. package/dist/src/workflow/executor.js +5 -14
  126. package/dist/src/workflow/executor.js.map +1 -1
  127. package/dist/src/workflow/guards.d.ts.map +1 -1
  128. package/dist/src/workflow/guards.js +206 -2
  129. package/dist/src/workflow/guards.js.map +1 -1
  130. package/dist/src/workflow/module-load.d.ts +8 -0
  131. package/dist/src/workflow/module-load.d.ts.map +1 -0
  132. package/dist/src/workflow/module-load.js +5 -0
  133. package/dist/src/workflow/module-load.js.map +1 -0
  134. package/package.json +27 -21
  135. package/skills/manifest.json +10 -0
  136. package/skills/temporal/SKILL.md +133 -0
  137. package/skills/temporal/assets/temporal-triage.md +32 -0
  138. package/skills/temporal/references/temporal-cli.md +82 -0
  139. package/skills/temporal/scripts/temporal-run.sh +17 -0
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/worker/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/worker/runtime.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ import { WorkerVersioningMode } from '../proto/temporal/api/enums/v1/deployment_
20
20
  import { EventType } from '../proto/temporal/api/enums/v1/event_type_pb';
21
21
  import { WorkflowTaskFailedCause } from '../proto/temporal/api/enums/v1/failed_cause_pb';
22
22
  import { QueryResultType } from '../proto/temporal/api/enums/v1/query_pb';
23
+ import { TaskQueueKind } from '../proto/temporal/api/enums/v1/task_queue_pb';
23
24
  import { HistoryEventFilterType, TimeoutType, VersioningBehavior } from '../proto/temporal/api/enums/v1/workflow_pb';
24
25
  import { StickyExecutionAttributesSchema, TaskQueueSchema, } from '../proto/temporal/api/taskqueue/v1/message_pb';
25
26
  import { GetWorkflowExecutionHistoryRequestSchema, PollActivityTaskQueueRequestSchema, PollWorkflowTaskQueueRequestSchema, RespondActivityTaskCanceledRequestSchema, RespondActivityTaskCompletedRequestSchema, RespondActivityTaskFailedRequestSchema, RespondQueryTaskCompletedRequestSchema, RespondWorkflowTaskCompletedRequestSchema, RespondWorkflowTaskFailedRequestSchema, } from '../proto/temporal/api/workflowservice/v1/request_response_pb';
@@ -27,11 +28,12 @@ import { WorkflowService } from '../proto/temporal/api/workflowservice/v1/servic
27
28
  import { intentsEqual, stableStringify } from '../workflow/determinism';
28
29
  import { WorkflowNondeterminismError } from '../workflow/errors';
29
30
  import { WorkflowExecutor } from '../workflow/executor';
31
+ import { installWorkflowRuntimeGuards } from '../workflow/guards';
30
32
  import { CHILD_WORKFLOW_COMPLETED_SIGNAL, } from '../workflow/inbound';
33
+ import { runWithWorkflowModuleLoadContext } from '../workflow/module-load';
31
34
  import { WorkflowRegistry } from '../workflow/registry';
32
35
  import { DETERMINISM_MARKER_NAME, diffDeterminismState, encodeDeterminismMarkerDetailsWithSize, ingestWorkflowHistory, resolveHistoryLastEventId, } from '../workflow/replay';
33
36
  import { runWithActivityContext } from './activity-context';
34
- import { checkWorkerVersioningCapability, registerWorkerBuildIdCompatibility } from './build-id';
35
37
  import { makeWorkerScheduler, } from './concurrency';
36
38
  import { mergeWorkerPluginHooks, mergeWorkerSchedulerHooks, } from './plugins';
37
39
  import { makeStickyCache, } from './sticky-cache';
@@ -88,12 +90,20 @@ export class WorkerRuntime {
88
90
  throw new Error('Temporal task queue must be provided');
89
91
  }
90
92
  const identity = options.identity ?? config.workerIdentity;
91
- const workflows = await loadWorkflows(options.workflowsPath, options.workflows);
93
+ const workflowGuards = options.workflowGuards ?? config.workflowGuards;
94
+ if (process.env.NODE_ENV === 'production' && workflowGuards !== 'strict') {
95
+ throw new Error('workflowGuards must be strict in production');
96
+ }
97
+ // Install workflow runtime guards before importing any workflow code so top-level module
98
+ // initialization is protected (e.g. `fetch()` / `Date.now()` in module scope).
99
+ installWorkflowRuntimeGuards({ mode: workflowGuards });
100
+ const workflows = await runWithWorkflowModuleLoadContext({ mode: workflowGuards }, async () => {
101
+ return await loadWorkflows(options.workflowsPath, options.workflows);
102
+ });
92
103
  if (workflows.length === 0) {
93
104
  throw new Error('No workflow definitions were registered; provide workflows or workflowsPath');
94
105
  }
95
106
  const activities = options.activities ?? {};
96
- const workflowGuards = options.workflowGuards ?? config.workflowGuards;
97
107
  const observability = await Effect.runPromise(createObservabilityServices({
98
108
  logLevel: config.logLevel,
99
109
  logFormat: config.logFormat,
@@ -191,7 +201,8 @@ export class WorkerRuntime {
191
201
  const determinismMarkerMaxDetailBytes = config.determinismMarkerMaxDetailBytes;
192
202
  const deploymentName = options.deployment?.name ?? config.workerDeploymentName ?? WorkerRuntime.#defaultDeploymentName(taskQueue);
193
203
  const buildId = options.deployment?.buildId ?? config.workerBuildId ?? identity;
194
- const workerVersioningMode = options.deployment?.versioningMode ?? WorkerVersioningMode.UNVERSIONED;
204
+ const workerVersioningMode = options.deployment?.versioningMode ??
205
+ (workflowGuards === 'strict' ? WorkerVersioningMode.VERSIONED : WorkerVersioningMode.UNVERSIONED);
195
206
  const versioningBehavior = workerVersioningMode === WorkerVersioningMode.VERSIONED
196
207
  ? (options.deployment?.versioningBehavior ?? VersioningBehavior.PINNED)
197
208
  : null;
@@ -216,23 +227,6 @@ export class WorkerRuntime {
216
227
  workerVersioningMode,
217
228
  });
218
229
  const rpcDeploymentOptions = workerVersioningMode === WorkerVersioningMode.VERSIONED ? deploymentOptions : undefined;
219
- if (workerVersioningMode === WorkerVersioningMode.VERSIONED) {
220
- const capability = await checkWorkerVersioningCapability(workflowService, namespace, taskQueue);
221
- if (capability.supported) {
222
- await registerWorkerBuildIdCompatibility(workflowService, namespace, taskQueue, buildId, { logger });
223
- }
224
- else {
225
- if (workflowGuards === 'strict') {
226
- throw new Error(`workflowGuards=strict requires server worker versioning APIs; capability check failed: ${capability.reason ?? 'unknown'}`);
227
- }
228
- await Effect.runPromise(logger.log('warn', 'skipping worker build ID registration', {
229
- namespace,
230
- taskQueue,
231
- reason: capability.reason ?? 'unknown capability error',
232
- note: 'Temporal CLI dev server (scripts/start-temporal-cli.ts) does not implement worker versioning yet',
233
- }));
234
- }
235
- }
236
230
  const tracingEnabled = options.tracingEnabled ?? config.tracingInterceptorsEnabled ?? false;
237
231
  const workerInterceptorBuilder = options.interceptorBuilder ?? {
238
232
  build: (input) => makeDefaultWorkerInterceptors(input),
@@ -401,7 +395,7 @@ export class WorkerRuntime {
401
395
  this.#plugins = params.plugins;
402
396
  this.#tuner = params.tuner;
403
397
  this.#stickyAttributes = create(StickyExecutionAttributesSchema, {
404
- workerTaskQueue: create(TaskQueueSchema, { name: this.#stickyQueue }),
398
+ workerTaskQueue: this.#buildStickyTaskQueue(this.#stickyQueue),
405
399
  scheduleToStartTimeout: durationFromMillis(params.stickyScheduleToStartTimeoutMs),
406
400
  });
407
401
  }
@@ -675,7 +669,7 @@ export class WorkerRuntime {
675
669
  #workflowPollerEffect(queueName) {
676
670
  const request = create(PollWorkflowTaskQueueRequestSchema, {
677
671
  namespace: this.#namespace,
678
- taskQueue: create(TaskQueueSchema, { name: queueName }),
672
+ taskQueue: this.#buildWorkflowPollTaskQueue(queueName),
679
673
  identity: this.#identity,
680
674
  deploymentOptions: this.#rpcDeploymentOptions,
681
675
  });
@@ -709,7 +703,7 @@ export class WorkerRuntime {
709
703
  }
710
704
  const request = create(PollActivityTaskQueueRequestSchema, {
711
705
  namespace: this.#namespace,
712
- taskQueue: create(TaskQueueSchema, { name: this.#taskQueue }),
706
+ taskQueue: this.#buildNormalTaskQueue(this.#taskQueue),
713
707
  identity: this.#identity,
714
708
  deploymentOptions: this.#rpcDeploymentOptions,
715
709
  });
@@ -738,6 +732,25 @@ export class WorkerRuntime {
738
732
  #isRpcAbortError(error) {
739
733
  return isAbortError(error) || (error instanceof ConnectError && error.code === Code.Canceled);
740
734
  }
735
+ #buildNormalTaskQueue(name) {
736
+ return create(TaskQueueSchema, {
737
+ name,
738
+ kind: TaskQueueKind.NORMAL,
739
+ normalName: '',
740
+ });
741
+ }
742
+ #buildStickyTaskQueue(name) {
743
+ return create(TaskQueueSchema, {
744
+ name,
745
+ kind: TaskQueueKind.STICKY,
746
+ normalName: this.#taskQueue,
747
+ });
748
+ }
749
+ #buildWorkflowPollTaskQueue(queueName) {
750
+ return queueName === this.#stickyQueue
751
+ ? this.#buildStickyTaskQueue(queueName)
752
+ : this.#buildNormalTaskQueue(queueName);
753
+ }
741
754
  #isBenignPollTimeout(error) {
742
755
  if (error instanceof ConnectError) {
743
756
  return error.code === Code.DeadlineExceeded || error.code === Code.Canceled;