@stigmer/runner 3.0.7 → 3.0.8-dev.20260612062921

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 CHANGED
@@ -26,6 +26,18 @@ This runs `npm run build` in `backend/services/runner` (`tsc -p tsconfig.build.j
26
26
 
27
27
  Requires Node.js `>= 20`.
28
28
 
29
+ ### The slim embedding artifact
30
+
31
+ The plain `dist/` resolves its dependencies from `node_modules` at runtime — ~508 MB unpacked, which is unshippable inside a desktop app ([#170](https://github.com/stigmer/stigmer/issues/170)). For embedding, build the **slim artifact**:
32
+
33
+ ```bash
34
+ make build-runner-slim # or: npm run build:slim
35
+ ```
36
+
37
+ This produces `dist-slim/`: a tree-shaken esbuild bundle of the whole runner (`main.js`), a build-time-prebuilt Temporal workflow bundle, and a staged `node_modules` containing only the packages that genuinely cannot be bundled (the platform-pruned Temporal native bridge, `@cursor/sdk` and its native binaries, `jq-wasm`) — **~85 MB per platform**. `node dist-slim/main.js` accepts the same modes, environment variables, and IPC protocol as `dist/main.js`. See `scripts/bundle-slim.mjs` for the full layout, `scripts/verify-slim-artifact.mjs` for the boot verification that gates releases, and the [embedding guide](https://docs.stigmer.ai/guides/runners/embedding) for how apps stage it.
38
+
39
+ The slim build is also published to npm as `@stigmer/runner-slim` (with per-platform `@stigmer/runner-slim-<platform>` support packages) alongside the full `@stigmer/runner` package on every release.
40
+
29
41
  ## Run modes
30
42
 
31
43
  The runner has two **run modes**, selected by the `STIGMER_RUNNER_MODE` environment variable. Do not confuse the run mode (process topology) with the execution location (`MODE=local|cloud`) or the transport (`STIGMER_PROXY_ENDPOINT`) — those are independent axes covered in [Execution location vs transport](#execution-location-vs-transport).
@@ -1 +1 @@
1
- {"hash":"af9f8d2d84cef6db","builtAt":"2026-06-11T14:54:40.745Z","fileCount":192}
1
+ {"hash":"fbb008e1ad9ac26c","builtAt":"2026-06-12T06:30:27.043Z","fileCount":193}
@@ -12,9 +12,9 @@
12
12
  import { mkdirSync } from "node:fs";
13
13
  import { join } from "node:path";
14
14
  import { homedir, tmpdir } from "node:os";
15
- import { fileURLToPath } from "node:url";
16
15
  import { createRequire } from "node:module";
17
16
  import { NativeConnection, Worker, bundleWorkflowCode, } from "@temporalio/worker";
17
+ import { resolveWorkflowSource, OTEL_WORKFLOW_INTERCEPTOR_MODULE } from "./workflow-source.js";
18
18
  import { resolveRunnerBootstrap, refreshRunnerAccessToken } from "./bootstrap.js";
19
19
  import { createRunnerTokenCoordinator } from "./runner-token-coordinator.js";
20
20
  const SESSION_QUEUE_PREFIX = "session:";
@@ -137,10 +137,22 @@ export async function createStigmerRunnerManager(options) {
137
137
  address: config.temporalAddress,
138
138
  });
139
139
  const interceptorConfig = await buildInterceptorConfig();
140
- const workflowsPath = fileURLToPath(new URL("./workflows/index.js", import.meta.url));
141
- console.log("[runner-manager] Pre-bundling workflow code...");
142
- const workflowBundle = await bundleWorkflowCode({ workflowsPath });
143
- console.log("[runner-manager] Workflow code bundled successfully");
140
+ // Prefer the build-time workflow bundle (slim/packaged artifacts ship it and
141
+ // cannot bundle at runtime); fall back to bundle-on-boot for dev and tests.
142
+ const workflowSource = resolveWorkflowSource();
143
+ let workflowBundle;
144
+ if (workflowSource.kind === "prebuilt") {
145
+ console.log(`[runner-manager] Using pre-built workflow bundle: ${workflowSource.codePath}`);
146
+ workflowBundle = { codePath: workflowSource.codePath };
147
+ }
148
+ else {
149
+ console.log("[runner-manager] Pre-bundling workflow code...");
150
+ workflowBundle = await bundleWorkflowCode({
151
+ workflowsPath: workflowSource.workflowsPath,
152
+ workflowInterceptorModules: interceptorConfig.workflowInterceptorModules,
153
+ });
154
+ console.log("[runner-manager] Workflow code bundled successfully");
155
+ }
144
156
  const sessions = new Map();
145
157
  const workflowExecutions = new Map();
146
158
  const shutdownSignals = new Map();
@@ -374,7 +386,7 @@ async function buildInterceptorConfig() {
374
386
  const otelSinks = makeWorkflowExporter(exporter, resource);
375
387
  sinks = { ...sinks, ...otelSinks };
376
388
  const esmRequire = createRequire(import.meta.url);
377
- workflowInterceptorModules.push(esmRequire.resolve("@temporalio/interceptors-opentelemetry/lib/workflow-interceptors"));
389
+ workflowInterceptorModules.push(esmRequire.resolve(OTEL_WORKFLOW_INTERCEPTOR_MODULE));
378
390
  }
379
391
  return {
380
392
  sinks,
@@ -382,10 +394,8 @@ async function buildInterceptorConfig() {
382
394
  ...(activityInterceptors.length > 0
383
395
  ? { activity: activityInterceptors }
384
396
  : {}),
385
- ...(workflowInterceptorModules.length > 0
386
- ? { workflowModules: workflowInterceptorModules }
387
- : {}),
388
397
  },
398
+ workflowInterceptorModules,
389
399
  };
390
400
  }
391
401
  function resolveDefaultWorkspaceDir() {
@@ -1 +1 @@
1
- {"version":3,"file":"runner-manager.js","sourceRoot":"","sources":["../src/runner-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-manager.js","sourceRoot":"","sources":["../src/runner-manager.ts"],"names":[],"mappings":"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"}
package/dist/worker.js CHANGED
@@ -13,15 +13,16 @@
13
13
  * - This TypeScript worker handles both workflow and activity tasks
14
14
  * - Activities are dispatched by name within the same queue
15
15
  */
16
- import { fileURLToPath } from "node:url";
17
16
  import { createRequire } from "node:module";
18
17
  import { NativeConnection, Worker } from "@temporalio/worker";
18
+ import { resolveWorkflowSource, OTEL_WORKFLOW_INTERCEPTOR_MODULE } from "./workflow-source.js";
19
19
  export async function startWorker(opts) {
20
20
  const { config, activities, payloadCodec } = opts;
21
21
  const connection = await NativeConnection.connect({
22
22
  address: config.temporalAddress,
23
23
  });
24
24
  const { createWorkflowMetricsSinks } = await import("./interceptors/workflow-metrics-sink.js");
25
+ const workflowSource = resolveWorkflowSource();
25
26
  const activityInterceptors = [];
26
27
  let sinks = { ...createWorkflowMetricsSinks() };
27
28
  const workflowInterceptorModules = [];
@@ -39,17 +40,23 @@ export async function startWorker(opts) {
39
40
  // Runtime types are compatible — this is a pure type-system issue.
40
41
  const otelSinks = makeWorkflowExporter(exporter, resource);
41
42
  sinks = { ...sinks, ...otelSinks };
42
- const esmRequire = createRequire(import.meta.url);
43
- workflowInterceptorModules.push(esmRequire.resolve("@temporalio/interceptors-opentelemetry/lib/workflow-interceptors"));
43
+ // Workflow-side interceptors must live inside the workflow bundle. With a
44
+ // pre-built bundle they were baked in at build time; only the runtime
45
+ // (bundle-on-boot) path registers them here.
46
+ if (workflowSource.kind === "runtime") {
47
+ const esmRequire = createRequire(import.meta.url);
48
+ workflowInterceptorModules.push(esmRequire.resolve(OTEL_WORKFLOW_INTERCEPTOR_MODULE));
49
+ }
44
50
  console.log("Temporal OpenTelemetry interceptors enabled (activity + workflow)");
45
51
  }
46
- const workflowsPath = fileURLToPath(new URL("./workflows/index.js", import.meta.url));
47
52
  const worker = await Worker.create({
48
53
  connection,
49
54
  namespace: config.temporalNamespace,
50
55
  taskQueue: config.taskQueue,
51
56
  activities,
52
- workflowsPath,
57
+ ...(workflowSource.kind === "prebuilt"
58
+ ? { workflowBundle: { codePath: workflowSource.codePath } }
59
+ : { workflowsPath: workflowSource.workflowsPath }),
53
60
  maxConcurrentActivityTaskExecutions: config.maxConcurrentActivities,
54
61
  dataConverter: payloadCodec
55
62
  ? { payloadCodecs: [payloadCodec] }
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Resolves where the Temporal *workflow* code comes from.
3
+ *
4
+ * Workflow code (src/workflows/) runs inside Temporal's deterministic
5
+ * sandbox, so it must be bundled separately from the activity/host code.
6
+ * That bundle can be produced at two different times:
7
+ *
8
+ * 1. **Pre-built** — `scripts/bundle-slim.mjs` runs Temporal's bundler at
9
+ * build time and emits `workflow-bundle.js` next to the entry point.
10
+ * The slim embedding artifact ships WITHOUT webpack/@swc (they account
11
+ * for ~45 MB of node_modules), so runtime bundling is impossible there;
12
+ * the pre-built file is authoritative whenever it exists. The OTel
13
+ * workflow interceptor is baked in at build time and stays inert unless
14
+ * the host configures the OTel sink.
15
+ *
16
+ * 2. **Runtime** — dev loops (`tsx`, plain `tsc` dist) and tests fall back
17
+ * to Temporal's on-boot webpack bundling, exactly as before the slim
18
+ * artifact existed.
19
+ *
20
+ * `STIGMER_WORKFLOW_BUNDLE` overrides discovery with an explicit path —
21
+ * useful for tests and for embedders that stage the bundle elsewhere.
22
+ */
23
+ export type WorkflowSource = {
24
+ /** Pre-built bundle on disk; interceptors are already baked in. */
25
+ readonly kind: "prebuilt";
26
+ readonly codePath: string;
27
+ } | {
28
+ /** Bundle on boot from the compiled workflows entry module. */
29
+ readonly kind: "runtime";
30
+ readonly workflowsPath: string;
31
+ };
32
+ /**
33
+ * Module specifier of the OTel workflow interceptor. Exported so the build
34
+ * script and the runtime fallback agree on what gets baked into / registered
35
+ * with the workflow bundle.
36
+ */
37
+ export declare const OTEL_WORKFLOW_INTERCEPTOR_MODULE = "@temporalio/interceptors-opentelemetry/lib/workflow-interceptors";
38
+ export declare function resolveWorkflowSource(): WorkflowSource;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Resolves where the Temporal *workflow* code comes from.
3
+ *
4
+ * Workflow code (src/workflows/) runs inside Temporal's deterministic
5
+ * sandbox, so it must be bundled separately from the activity/host code.
6
+ * That bundle can be produced at two different times:
7
+ *
8
+ * 1. **Pre-built** — `scripts/bundle-slim.mjs` runs Temporal's bundler at
9
+ * build time and emits `workflow-bundle.js` next to the entry point.
10
+ * The slim embedding artifact ships WITHOUT webpack/@swc (they account
11
+ * for ~45 MB of node_modules), so runtime bundling is impossible there;
12
+ * the pre-built file is authoritative whenever it exists. The OTel
13
+ * workflow interceptor is baked in at build time and stays inert unless
14
+ * the host configures the OTel sink.
15
+ *
16
+ * 2. **Runtime** — dev loops (`tsx`, plain `tsc` dist) and tests fall back
17
+ * to Temporal's on-boot webpack bundling, exactly as before the slim
18
+ * artifact existed.
19
+ *
20
+ * `STIGMER_WORKFLOW_BUNDLE` overrides discovery with an explicit path —
21
+ * useful for tests and for embedders that stage the bundle elsewhere.
22
+ */
23
+ import { existsSync } from "node:fs";
24
+ import { fileURLToPath } from "node:url";
25
+ /**
26
+ * Module specifier of the OTel workflow interceptor. Exported so the build
27
+ * script and the runtime fallback agree on what gets baked into / registered
28
+ * with the workflow bundle.
29
+ */
30
+ export const OTEL_WORKFLOW_INTERCEPTOR_MODULE = "@temporalio/interceptors-opentelemetry/lib/workflow-interceptors";
31
+ export function resolveWorkflowSource() {
32
+ const explicit = process.env.STIGMER_WORKFLOW_BUNDLE;
33
+ if (explicit) {
34
+ if (!existsSync(explicit)) {
35
+ throw new Error(`STIGMER_WORKFLOW_BUNDLE points to a non-existent file: ${explicit}`);
36
+ }
37
+ return { kind: "prebuilt", codePath: explicit };
38
+ }
39
+ // In the slim artifact every src/ module collapses into the single bundled
40
+ // entry, so import.meta.url resolves next to main.js — exactly where the
41
+ // build script emits workflow-bundle.js. In the tsc dist this resolves to
42
+ // dist/workflow-bundle.js, which never exists (the build script writes only
43
+ // into dist-slim/), so dev builds always take the runtime path.
44
+ const sibling = new URL("./workflow-bundle.js", import.meta.url);
45
+ if (existsSync(fileURLToPath(sibling))) {
46
+ return { kind: "prebuilt", codePath: fileURLToPath(sibling) };
47
+ }
48
+ return {
49
+ kind: "runtime",
50
+ workflowsPath: fileURLToPath(new URL("./workflows/index.js", import.meta.url)),
51
+ };
52
+ }
53
+ //# sourceMappingURL=workflow-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-source.js","sourceRoot":"","sources":["../src/workflow-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAczC;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAC3C,kEAAkE,CAAC;AAErE,MAAM,UAAU,qBAAqB;IACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,0DAA0D,QAAQ,EAAE,CACrE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAClD,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,gEAAgE;IAChE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE,IAAI,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;IAChE,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,aAAa,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC/E,CAAC;AACJ,CAAC"}
@@ -13,9 +13,10 @@
13
13
  * us map TypeScript function names to the slash-delimited Temporal
14
14
  * workflow type names that the backend expects.
15
15
  *
16
- * OTel workflow interceptors are registered via `workflowModules` in
17
- * worker.ts — not imported here since they require the bundler to
18
- * resolve the interceptor module path at bundle time.
16
+ * OTel workflow interceptors are registered at bundle time — not
17
+ * imported here. Pre-built bundles (scripts/bundle-slim.mjs) bake them
18
+ * in; the runtime-bundling fallback passes them to the bundler (see
19
+ * src/workflow-source.ts).
19
20
  */
20
21
  export { connectMcpServer as "stigmer/mcp-server/connect", discoverMcpServerLegacy as "stigmer/mcp-server/discover", } from "./connect-mcp-server.js";
21
22
  export { executeServerlessWorkflow as "stigmer/workflow/execute", } from "./execute-serverless-workflow.js";
@@ -13,9 +13,10 @@
13
13
  * us map TypeScript function names to the slash-delimited Temporal
14
14
  * workflow type names that the backend expects.
15
15
  *
16
- * OTel workflow interceptors are registered via `workflowModules` in
17
- * worker.ts — not imported here since they require the bundler to
18
- * resolve the interceptor module path at bundle time.
16
+ * OTel workflow interceptors are registered at bundle time — not
17
+ * imported here. Pre-built bundles (scripts/bundle-slim.mjs) bake them
18
+ * in; the runtime-bundling fallback passes them to the bundler (see
19
+ * src/workflow-source.ts).
19
20
  */
20
21
  export { connectMcpServer as "stigmer/mcp-server/connect", discoverMcpServerLegacy as "stigmer/mcp-server/discover", } from "./connect-mcp-server.js";
21
22
  export { executeServerlessWorkflow as "stigmer/workflow/execute", } from "./execute-serverless-workflow.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACL,gBAAgB,IAAI,4BAA4B,EAChD,uBAAuB,IAAI,6BAA6B,GACzD,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,yBAAyB,IAAI,0BAA0B,GACxD,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,oBAAoB,IAAI,yCAAyC,GAClE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EACL,gBAAgB,IAAI,4BAA4B,EAChD,uBAAuB,IAAI,6BAA6B,GACzD,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,yBAAyB,IAAI,0BAA0B,GACxD,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,oBAAoB,IAAI,yCAAyC,GAClE,MAAM,6BAA6B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigmer/runner",
3
- "version": "3.0.7",
3
+ "version": "3.0.8-dev.20260612062921",
4
4
  "description": "Embeddable Temporal worker for the Stigmer AI agent platform — handles agent execution, workflow orchestration, and MCP server management",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -25,13 +25,15 @@
25
25
  },
26
26
  "scripts": {
27
27
  "build": "rm -rf dist && tsc -p tsconfig.build.json && node scripts/build-fingerprint.js",
28
+ "build:slim": "npm run build && node scripts/bundle-slim.mjs",
29
+ "verify:slim": "node scripts/verify-slim-artifact.mjs",
28
30
  "gen:ipc-fixtures": "tsx scripts/generate-ipc-fixtures.ts",
29
31
  "start": "tsx src/main.ts",
30
32
  "typecheck": "tsc --noEmit",
31
33
  "test": "vitest run",
32
34
  "test:watch": "vitest",
33
35
  "check-deps": "bash scripts/check-langchain-deps.sh",
34
- "clean": "rm -rf dist"
36
+ "clean": "rm -rf dist dist-slim"
35
37
  },
36
38
  "files": [
37
39
  "dist",
@@ -75,16 +77,15 @@
75
77
  "@langchain/langgraph": "^1.3.0",
76
78
  "@langchain/mcp-adapters": "^1.1.3",
77
79
  "@langchain/openai": "^1.4.0",
78
- "zod-to-json-schema": "^3.24.0",
79
80
  "@opentelemetry/api": "^1.9.0",
80
81
  "@opentelemetry/core": "^2.0.0",
81
82
  "@opentelemetry/exporter-metrics-otlp-grpc": "^0.218.0",
82
- "@opentelemetry/sdk-metrics": "^2.0.0",
83
83
  "@opentelemetry/exporter-trace-otlp-grpc": "^0.218.0",
84
84
  "@opentelemetry/resources": "^2.0.0",
85
+ "@opentelemetry/sdk-metrics": "^2.0.0",
85
86
  "@opentelemetry/sdk-trace-base": "^2.0.0",
86
87
  "@opentelemetry/sdk-trace-node": "^2.0.0",
87
- "@stigmer/protos": "3.0.7",
88
+ "@stigmer/protos": "3.0.8-dev.20260612062921",
88
89
  "@temporalio/activity": "^1.11.0",
89
90
  "@temporalio/client": "^1.11.0",
90
91
  "@temporalio/common": "^1.11.0",
@@ -95,12 +96,14 @@
95
96
  "jq-wasm": "^1.1.0-jq-1.8.1",
96
97
  "js-yaml": "^4.1.1",
97
98
  "semver": "^7.8.0",
98
- "zod": "^3.25.0"
99
+ "zod": "^3.25.0",
100
+ "zod-to-json-schema": "^3.24.0"
99
101
  },
100
102
  "devDependencies": {
101
103
  "@temporalio/testing": "^1.16.2",
102
104
  "@types/js-yaml": "^4.0.9",
103
105
  "@types/semver": "^7.7.1",
106
+ "esbuild": "^0.28.1",
104
107
  "tsx": "^4.21.0",
105
108
  "typescript": "^5.7.0",
106
109
  "vitest": "^3.2.4"
@@ -13,7 +13,6 @@
13
13
  import { mkdirSync } from "node:fs";
14
14
  import { join } from "node:path";
15
15
  import { homedir, tmpdir } from "node:os";
16
- import { fileURLToPath } from "node:url";
17
16
  import { createRequire } from "node:module";
18
17
  import {
19
18
  NativeConnection,
@@ -21,10 +20,12 @@ import {
21
20
  bundleWorkflowCode,
22
21
  type ActivityInterceptorsFactory,
23
22
  type InjectedSinks,
23
+ type WorkflowBundleOption,
24
24
  } from "@temporalio/worker";
25
25
  import type { PayloadCodec } from "@temporalio/common";
26
26
  import type { Config } from "./config.js";
27
27
  import type { WorkerActivities } from "./worker.js";
28
+ import { resolveWorkflowSource, OTEL_WORKFLOW_INTERCEPTOR_MODULE } from "./workflow-source.js";
28
29
  import { resolveRunnerBootstrap, refreshRunnerAccessToken } from "./bootstrap.js";
29
30
  import { createRunnerTokenCoordinator } from "./runner-token-coordinator.js";
30
31
 
@@ -275,13 +276,22 @@ export async function createStigmerRunnerManager(
275
276
  });
276
277
 
277
278
  const interceptorConfig = await buildInterceptorConfig();
278
- const workflowsPath = fileURLToPath(
279
- new URL("./workflows/index.js", import.meta.url),
280
- );
281
279
 
282
- console.log("[runner-manager] Pre-bundling workflow code...");
283
- const workflowBundle = await bundleWorkflowCode({ workflowsPath });
284
- console.log("[runner-manager] Workflow code bundled successfully");
280
+ // Prefer the build-time workflow bundle (slim/packaged artifacts ship it and
281
+ // cannot bundle at runtime); fall back to bundle-on-boot for dev and tests.
282
+ const workflowSource = resolveWorkflowSource();
283
+ let workflowBundle: WorkflowBundleOption;
284
+ if (workflowSource.kind === "prebuilt") {
285
+ console.log(`[runner-manager] Using pre-built workflow bundle: ${workflowSource.codePath}`);
286
+ workflowBundle = { codePath: workflowSource.codePath };
287
+ } else {
288
+ console.log("[runner-manager] Pre-bundling workflow code...");
289
+ workflowBundle = await bundleWorkflowCode({
290
+ workflowsPath: workflowSource.workflowsPath,
291
+ workflowInterceptorModules: interceptorConfig.workflowInterceptorModules,
292
+ });
293
+ console.log("[runner-manager] Workflow code bundled successfully");
294
+ }
285
295
 
286
296
  const sessions = new Map<string, ManagedSession>();
287
297
  const workflowExecutions = new Map<string, ManagedSession>();
@@ -571,6 +581,14 @@ async function createPayloadCodec(
571
581
  interface InterceptorConfig {
572
582
  sinks: InjectedSinks<any>;
573
583
  interceptors: Record<string, any>;
584
+ /**
585
+ * Workflow-side interceptor modules. These must be compiled INTO the
586
+ * workflow bundle (Worker.create ignores `interceptors.workflowModules`
587
+ * when a pre-built `workflowBundle` is supplied), so the runtime-bundling
588
+ * path passes them to `bundleWorkflowCode` and the pre-built path relies
589
+ * on the build script having baked them in.
590
+ */
591
+ workflowInterceptorModules: string[];
574
592
  }
575
593
 
576
594
  async function buildInterceptorConfig(): Promise<InterceptorConfig> {
@@ -610,9 +628,7 @@ async function buildInterceptorConfig(): Promise<InterceptorConfig> {
610
628
 
611
629
  const esmRequire = createRequire(import.meta.url);
612
630
  workflowInterceptorModules.push(
613
- esmRequire.resolve(
614
- "@temporalio/interceptors-opentelemetry/lib/workflow-interceptors",
615
- ),
631
+ esmRequire.resolve(OTEL_WORKFLOW_INTERCEPTOR_MODULE),
616
632
  );
617
633
  }
618
634
 
@@ -622,10 +638,8 @@ async function buildInterceptorConfig(): Promise<InterceptorConfig> {
622
638
  ...(activityInterceptors.length > 0
623
639
  ? { activity: activityInterceptors }
624
640
  : {}),
625
- ...(workflowInterceptorModules.length > 0
626
- ? { workflowModules: workflowInterceptorModules }
627
- : {}),
628
641
  },
642
+ workflowInterceptorModules,
629
643
  };
630
644
  }
631
645
 
package/src/worker.ts CHANGED
@@ -14,11 +14,11 @@
14
14
  * - Activities are dispatched by name within the same queue
15
15
  */
16
16
 
17
- import { fileURLToPath } from "node:url";
18
17
  import { createRequire } from "node:module";
19
18
  import { NativeConnection, Worker, type ActivityInterceptorsFactory, type InjectedSinks } from "@temporalio/worker";
20
19
  import type { PayloadCodec } from "@temporalio/common";
21
20
  import type { Config } from "./config.js";
21
+ import { resolveWorkflowSource, OTEL_WORKFLOW_INTERCEPTOR_MODULE } from "./workflow-source.js";
22
22
 
23
23
  export interface WorkerActivities {
24
24
  [key: string]: (...args: any[]) => Promise<unknown>;
@@ -39,6 +39,8 @@ export async function startWorker(opts: StartWorkerOptions): Promise<Worker> {
39
39
 
40
40
  const { createWorkflowMetricsSinks } = await import("./interceptors/workflow-metrics-sink.js");
41
41
 
42
+ const workflowSource = resolveWorkflowSource();
43
+
42
44
  const activityInterceptors: ActivityInterceptorsFactory[] = [];
43
45
  let sinks: InjectedSinks<any> = { ...createWorkflowMetricsSinks() };
44
46
  const workflowInterceptorModules: string[] = [];
@@ -65,24 +67,27 @@ export async function startWorker(opts: StartWorkerOptions): Promise<Worker> {
65
67
  const otelSinks = makeWorkflowExporter(exporter as any, resource as any) as unknown as InjectedSinks<any>;
66
68
  sinks = { ...sinks, ...otelSinks };
67
69
 
68
- const esmRequire = createRequire(import.meta.url);
69
- workflowInterceptorModules.push(
70
- esmRequire.resolve("@temporalio/interceptors-opentelemetry/lib/workflow-interceptors"),
71
- );
70
+ // Workflow-side interceptors must live inside the workflow bundle. With a
71
+ // pre-built bundle they were baked in at build time; only the runtime
72
+ // (bundle-on-boot) path registers them here.
73
+ if (workflowSource.kind === "runtime") {
74
+ const esmRequire = createRequire(import.meta.url);
75
+ workflowInterceptorModules.push(
76
+ esmRequire.resolve(OTEL_WORKFLOW_INTERCEPTOR_MODULE),
77
+ );
78
+ }
72
79
 
73
80
  console.log("Temporal OpenTelemetry interceptors enabled (activity + workflow)");
74
81
  }
75
82
 
76
- const workflowsPath = fileURLToPath(
77
- new URL("./workflows/index.js", import.meta.url),
78
- );
79
-
80
83
  const worker = await Worker.create({
81
84
  connection,
82
85
  namespace: config.temporalNamespace,
83
86
  taskQueue: config.taskQueue,
84
87
  activities,
85
- workflowsPath,
88
+ ...(workflowSource.kind === "prebuilt"
89
+ ? { workflowBundle: { codePath: workflowSource.codePath } }
90
+ : { workflowsPath: workflowSource.workflowsPath }),
86
91
  maxConcurrentActivityTaskExecutions: config.maxConcurrentActivities,
87
92
  dataConverter: payloadCodec
88
93
  ? { payloadCodecs: [payloadCodec] }
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Resolves where the Temporal *workflow* code comes from.
3
+ *
4
+ * Workflow code (src/workflows/) runs inside Temporal's deterministic
5
+ * sandbox, so it must be bundled separately from the activity/host code.
6
+ * That bundle can be produced at two different times:
7
+ *
8
+ * 1. **Pre-built** — `scripts/bundle-slim.mjs` runs Temporal's bundler at
9
+ * build time and emits `workflow-bundle.js` next to the entry point.
10
+ * The slim embedding artifact ships WITHOUT webpack/@swc (they account
11
+ * for ~45 MB of node_modules), so runtime bundling is impossible there;
12
+ * the pre-built file is authoritative whenever it exists. The OTel
13
+ * workflow interceptor is baked in at build time and stays inert unless
14
+ * the host configures the OTel sink.
15
+ *
16
+ * 2. **Runtime** — dev loops (`tsx`, plain `tsc` dist) and tests fall back
17
+ * to Temporal's on-boot webpack bundling, exactly as before the slim
18
+ * artifact existed.
19
+ *
20
+ * `STIGMER_WORKFLOW_BUNDLE` overrides discovery with an explicit path —
21
+ * useful for tests and for embedders that stage the bundle elsewhere.
22
+ */
23
+
24
+ import { existsSync } from "node:fs";
25
+ import { fileURLToPath } from "node:url";
26
+
27
+ export type WorkflowSource =
28
+ | {
29
+ /** Pre-built bundle on disk; interceptors are already baked in. */
30
+ readonly kind: "prebuilt";
31
+ readonly codePath: string;
32
+ }
33
+ | {
34
+ /** Bundle on boot from the compiled workflows entry module. */
35
+ readonly kind: "runtime";
36
+ readonly workflowsPath: string;
37
+ };
38
+
39
+ /**
40
+ * Module specifier of the OTel workflow interceptor. Exported so the build
41
+ * script and the runtime fallback agree on what gets baked into / registered
42
+ * with the workflow bundle.
43
+ */
44
+ export const OTEL_WORKFLOW_INTERCEPTOR_MODULE =
45
+ "@temporalio/interceptors-opentelemetry/lib/workflow-interceptors";
46
+
47
+ export function resolveWorkflowSource(): WorkflowSource {
48
+ const explicit = process.env.STIGMER_WORKFLOW_BUNDLE;
49
+ if (explicit) {
50
+ if (!existsSync(explicit)) {
51
+ throw new Error(
52
+ `STIGMER_WORKFLOW_BUNDLE points to a non-existent file: ${explicit}`,
53
+ );
54
+ }
55
+ return { kind: "prebuilt", codePath: explicit };
56
+ }
57
+
58
+ // In the slim artifact every src/ module collapses into the single bundled
59
+ // entry, so import.meta.url resolves next to main.js — exactly where the
60
+ // build script emits workflow-bundle.js. In the tsc dist this resolves to
61
+ // dist/workflow-bundle.js, which never exists (the build script writes only
62
+ // into dist-slim/), so dev builds always take the runtime path.
63
+ const sibling = new URL("./workflow-bundle.js", import.meta.url);
64
+ if (existsSync(fileURLToPath(sibling))) {
65
+ return { kind: "prebuilt", codePath: fileURLToPath(sibling) };
66
+ }
67
+
68
+ return {
69
+ kind: "runtime",
70
+ workflowsPath: fileURLToPath(new URL("./workflows/index.js", import.meta.url)),
71
+ };
72
+ }
@@ -13,9 +13,10 @@
13
13
  * us map TypeScript function names to the slash-delimited Temporal
14
14
  * workflow type names that the backend expects.
15
15
  *
16
- * OTel workflow interceptors are registered via `workflowModules` in
17
- * worker.ts — not imported here since they require the bundler to
18
- * resolve the interceptor module path at bundle time.
16
+ * OTel workflow interceptors are registered at bundle time — not
17
+ * imported here. Pre-built bundles (scripts/bundle-slim.mjs) bake them
18
+ * in; the runtime-bundling fallback passes them to the bundler (see
19
+ * src/workflow-source.ts).
19
20
  */
20
21
 
21
22
  export {