@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.
- package/README.md +66 -27
- package/dist/src/bin/replay-command.d.ts +1 -0
- package/dist/src/bin/replay-command.d.ts.map +1 -1
- package/dist/src/bin/replay-command.js +72 -40
- package/dist/src/bin/replay-command.js.map +1 -1
- package/dist/src/bin/temporal-bun-skill.d.ts +7 -0
- package/dist/src/bin/temporal-bun-skill.d.ts.map +1 -0
- package/dist/src/bin/temporal-bun-skill.js +53 -0
- package/dist/src/bin/temporal-bun-skill.js.map +1 -0
- package/dist/src/bin/temporal-bun.d.ts.map +1 -1
- package/dist/src/bin/temporal-bun.js +6 -0
- package/dist/src/bin/temporal-bun.js.map +1 -1
- package/dist/src/client/serialization.d.ts.map +1 -1
- package/dist/src/client/serialization.js +8 -0
- package/dist/src/client/serialization.js.map +1 -1
- package/dist/src/client/types.d.ts +2 -0
- package/dist/src/client/types.d.ts.map +1 -1
- package/dist/src/client/types.js.map +1 -1
- package/dist/src/client.d.ts +29 -10
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +39 -4
- package/dist/src/client.js.map +1 -1
- package/dist/src/config.d.ts +1 -3
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +3 -19
- package/dist/src/config.js.map +1 -1
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/interceptors/client.d.ts.map +1 -1
- package/dist/src/interceptors/client.js +1 -1
- package/dist/src/interceptors/client.js.map +1 -1
- package/dist/src/interceptors/worker.d.ts.map +1 -1
- package/dist/src/interceptors/worker.js +1 -1
- package/dist/src/interceptors/worker.js.map +1 -1
- package/dist/src/observability/opentelemetry.js +8 -8
- package/dist/src/observability/opentelemetry.js.map +1 -1
- package/dist/src/otel/api.d.ts +33 -0
- package/dist/src/otel/api.d.ts.map +1 -0
- package/dist/src/otel/api.js +23 -0
- package/dist/src/otel/api.js.map +1 -0
- package/dist/src/otel/auto-instrumentations-node.d.ts +2 -0
- package/dist/src/otel/auto-instrumentations-node.d.ts.map +1 -0
- package/dist/src/otel/auto-instrumentations-node.js +2 -0
- package/dist/src/otel/auto-instrumentations-node.js.map +1 -0
- package/dist/src/otel/core.d.ts +5 -0
- package/dist/src/otel/core.d.ts.map +1 -0
- package/dist/src/otel/core.js +6 -0
- package/dist/src/otel/core.js.map +1 -0
- package/dist/src/otel/diag.d.ts +27 -0
- package/dist/src/otel/diag.d.ts.map +1 -0
- package/dist/src/otel/diag.js +54 -0
- package/dist/src/otel/diag.js.map +1 -0
- package/dist/src/otel/exporter-metrics-otlp-http.d.ts +23 -0
- package/dist/src/otel/exporter-metrics-otlp-http.d.ts.map +1 -0
- package/dist/src/otel/exporter-metrics-otlp-http.js +61 -0
- package/dist/src/otel/exporter-metrics-otlp-http.js.map +1 -0
- package/dist/src/otel/exporter-trace-otlp-http.d.ts +20 -0
- package/dist/src/otel/exporter-trace-otlp-http.d.ts.map +1 -0
- package/dist/src/otel/exporter-trace-otlp-http.js +54 -0
- package/dist/src/otel/exporter-trace-otlp-http.js.map +1 -0
- package/dist/src/otel/index.d.ts +11 -0
- package/dist/src/otel/index.d.ts.map +1 -0
- package/dist/src/otel/index.js +11 -0
- package/dist/src/otel/index.js.map +1 -0
- package/dist/src/otel/otlp-proto.d.ts +5 -0
- package/dist/src/otel/otlp-proto.d.ts.map +1 -0
- package/dist/src/otel/otlp-proto.js +347 -0
- package/dist/src/otel/otlp-proto.js.map +1 -0
- package/dist/src/otel/otlp-serialize.d.ts +34 -0
- package/dist/src/otel/otlp-serialize.d.ts.map +1 -0
- package/dist/src/otel/otlp-serialize.js +59 -0
- package/dist/src/otel/otlp-serialize.js.map +1 -0
- package/dist/src/otel/otlp-transport.d.ts +9 -0
- package/dist/src/otel/otlp-transport.d.ts.map +1 -0
- package/dist/src/otel/otlp-transport.js +193 -0
- package/dist/src/otel/otlp-transport.js.map +1 -0
- package/dist/src/otel/otlp.d.ts +18 -0
- package/dist/src/otel/otlp.d.ts.map +1 -0
- package/dist/src/otel/otlp.js +43 -0
- package/dist/src/otel/otlp.js.map +1 -0
- package/dist/src/otel/resources.d.ts +8 -0
- package/dist/src/otel/resources.d.ts.map +1 -0
- package/dist/src/otel/resources.js +13 -0
- package/dist/src/otel/resources.js.map +1 -0
- package/dist/src/otel/sdk-metrics.d.ts +133 -0
- package/dist/src/otel/sdk-metrics.d.ts.map +1 -0
- package/dist/src/otel/sdk-metrics.js +354 -0
- package/dist/src/otel/sdk-metrics.js.map +1 -0
- package/dist/src/otel/sdk-node.d.ts +16 -0
- package/dist/src/otel/sdk-node.d.ts.map +1 -0
- package/dist/src/otel/sdk-node.js +55 -0
- package/dist/src/otel/sdk-node.js.map +1 -0
- package/dist/src/otel/sdk-trace.d.ts +118 -0
- package/dist/src/otel/sdk-trace.d.ts.map +1 -0
- package/dist/src/otel/sdk-trace.js +250 -0
- package/dist/src/otel/sdk-trace.js.map +1 -0
- package/dist/src/otel/semantic-conventions.d.ts +4 -0
- package/dist/src/otel/semantic-conventions.d.ts.map +1 -0
- package/dist/src/otel/semantic-conventions.js +4 -0
- package/dist/src/otel/semantic-conventions.js.map +1 -0
- package/dist/src/skills/cli.d.ts +10 -0
- package/dist/src/skills/cli.d.ts.map +1 -0
- package/dist/src/skills/cli.js +66 -0
- package/dist/src/skills/cli.js.map +1 -0
- package/dist/src/skills/index.d.ts +22 -0
- package/dist/src/skills/index.d.ts.map +1 -0
- package/dist/src/skills/index.js +128 -0
- package/dist/src/skills/index.js.map +1 -0
- package/dist/src/worker/defaults.d.ts +1 -0
- package/dist/src/worker/defaults.d.ts.map +1 -1
- package/dist/src/worker/defaults.js +74 -1
- package/dist/src/worker/defaults.js.map +1 -1
- package/dist/src/worker/runtime.d.ts.map +1 -1
- package/dist/src/worker/runtime.js +37 -24
- package/dist/src/worker/runtime.js.map +1 -1
- package/dist/src/worker.d.ts +2 -0
- package/dist/src/worker.d.ts.map +1 -1
- package/dist/src/worker.js +7 -2
- package/dist/src/worker.js.map +1 -1
- package/dist/src/workflow/commands.js +2 -0
- package/dist/src/workflow/commands.js.map +1 -1
- package/dist/src/workflow/executor.d.ts.map +1 -1
- package/dist/src/workflow/executor.js +5 -14
- package/dist/src/workflow/executor.js.map +1 -1
- package/dist/src/workflow/guards.d.ts.map +1 -1
- package/dist/src/workflow/guards.js +206 -2
- package/dist/src/workflow/guards.js.map +1 -1
- package/dist/src/workflow/module-load.d.ts +8 -0
- package/dist/src/workflow/module-load.d.ts.map +1 -0
- package/dist/src/workflow/module-load.js +5 -0
- package/dist/src/workflow/module-load.js.map +1 -0
- package/package.json +27 -21
- package/skills/manifest.json +10 -0
- package/skills/temporal/SKILL.md +133 -0
- package/skills/temporal/assets/temporal-triage.md +32 -0
- package/skills/temporal/references/temporal-cli.md +82 -0
- 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":"AAIA,OAAO,EAAsB,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAYtE,OAAO,EAGL,KAAK,aAAa,EAGnB,MAAM,8BAA8B,CAAA;AAGrC,OAAO,EAAkD,KAAK,cAAc,EAAE,MAAM,WAAW,CAAA;AAC/F,OAAO,KAAK,EAAmB,mBAAmB,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACtG,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAa,MAAM,EAAY,MAAM,yBAAyB,CAAA;AAC1E,OAAO,KAAK,EAAsB,eAAe,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAiBpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAA;
|
|
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
|
|
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 ??
|
|
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:
|
|
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:
|
|
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:
|
|
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;
|