@exaudeus/workrail 3.16.0 → 3.17.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 (55) hide show
  1. package/dist/application/use-cases/raw-workflow-file-scanner.js +10 -13
  2. package/dist/cli/commands/index.d.ts +1 -1
  3. package/dist/cli/commands/index.js +2 -1
  4. package/dist/cli/commands/init.d.ts +10 -0
  5. package/dist/cli/commands/init.js +72 -0
  6. package/dist/cli.js +13 -1
  7. package/dist/config/config-file.d.ts +8 -0
  8. package/dist/config/config-file.js +141 -0
  9. package/dist/config/feature-flags.js +8 -0
  10. package/dist/console/assets/index-BwJelCXK.js +28 -0
  11. package/dist/console/index.html +1 -1
  12. package/dist/di/container.d.ts +1 -0
  13. package/dist/di/container.js +24 -7
  14. package/dist/infrastructure/session/HttpServer.d.ts +0 -1
  15. package/dist/infrastructure/session/HttpServer.js +4 -46
  16. package/dist/manifest.json +101 -109
  17. package/dist/mcp/assert-output.js +2 -1
  18. package/dist/mcp/dev-mode.d.ts +1 -0
  19. package/dist/mcp/dev-mode.js +12 -0
  20. package/dist/mcp/handler-factory.d.ts +1 -1
  21. package/dist/mcp/handler-factory.js +8 -7
  22. package/dist/mcp/handlers/shared/request-workflow-reader.d.ts +1 -0
  23. package/dist/mcp/handlers/shared/request-workflow-reader.js +90 -20
  24. package/dist/mcp/handlers/v2-execution/continue-advance.d.ts +1 -0
  25. package/dist/mcp/handlers/v2-execution/continue-advance.js +3 -1
  26. package/dist/mcp/handlers/v2-execution/continue-rehydrate.d.ts +1 -0
  27. package/dist/mcp/handlers/v2-execution/continue-rehydrate.js +2 -1
  28. package/dist/mcp/handlers/v2-execution/index.js +2 -0
  29. package/dist/mcp/handlers/v2-execution/replay.d.ts +2 -0
  30. package/dist/mcp/handlers/v2-execution/replay.js +3 -0
  31. package/dist/mcp/handlers/v2-execution/start.js +48 -20
  32. package/dist/mcp/handlers/v2-workflow.js +4 -2
  33. package/dist/mcp/output-schemas.d.ts +5 -0
  34. package/dist/mcp/output-schemas.js +2 -0
  35. package/dist/mcp/server.js +3 -2
  36. package/dist/mcp/v2-response-formatter.d.ts +1 -1
  37. package/dist/mcp/v2-response-formatter.js +2 -3
  38. package/dist/types/workflow-definition.d.ts +3 -1
  39. package/dist/types/workflow-definition.js +2 -0
  40. package/dist/v2/durable-core/domain/prompt-renderer.d.ts +1 -0
  41. package/dist/v2/durable-core/domain/prompt-renderer.js +1 -2
  42. package/dist/v2/durable-core/schemas/compiled-workflow/index.js +4 -3
  43. package/dist/v2/infra/local/pinned-workflow-store/index.d.ts +2 -0
  44. package/dist/v2/infra/local/pinned-workflow-store/index.js +49 -0
  45. package/dist/v2/infra/local/remembered-roots-store/index.d.ts +3 -1
  46. package/dist/v2/infra/local/remembered-roots-store/index.js +6 -3
  47. package/dist/v2/infra/local/workspace-anchor/index.js +4 -2
  48. package/dist/v2/ports/pinned-workflow-store.port.d.ts +2 -0
  49. package/dist/v2/usecases/console-routes.js +3 -2
  50. package/package.json +1 -1
  51. package/dist/console/assets/index-BE5PAgPO.js +0 -28
  52. package/dist/env-flags.d.ts +0 -1
  53. package/dist/env-flags.js +0 -4
  54. package/dist/mcp/handlers/v2-resolve-refs-envelope.d.ts +0 -5
  55. package/dist/mcp/handlers/v2-resolve-refs-envelope.js +0 -17
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>WorkRail Console</title>
7
- <script type="module" crossorigin src="/console/assets/index-BE5PAgPO.js"></script>
7
+ <script type="module" crossorigin src="/console/assets/index-BwJelCXK.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/console/assets/index-BZNM03t1.css">
9
9
  </head>
10
10
  <body>
@@ -3,6 +3,7 @@ import { container } from 'tsyringe';
3
3
  import type { RuntimeMode } from '../runtime/runtime-mode.js';
4
4
  export interface ContainerInitOptions {
5
5
  readonly runtimeMode?: RuntimeMode;
6
+ readonly env?: Record<string, string | undefined>;
6
7
  }
7
8
  export declare function initializeContainer(options?: ContainerInitOptions): Promise<void>;
8
9
  export declare function startAsyncServices(): Promise<void>;
@@ -50,14 +50,28 @@ const in_memory_shutdown_events_js_1 = require("../runtime/adapters/in-memory-sh
50
50
  const node_process_terminator_js_1 = require("../runtime/adapters/node-process-terminator.js");
51
51
  const throwing_process_terminator_js_1 = require("../runtime/adapters/throwing-process-terminator.js");
52
52
  const app_config_js_1 = require("../config/app-config.js");
53
+ const config_file_js_1 = require("../config/config-file.js");
53
54
  const formatter_js_1 = require("../errors/formatter.js");
54
55
  let initialized = false;
55
56
  let asyncInitialized = false;
56
57
  let initializationPromise = null;
57
58
  let isInitializing = false;
58
- async function registerConfig() {
59
+ let mergedEnv = process.env;
60
+ async function registerConfig(env) {
61
+ (0, config_file_js_1.ensureWorkrailConfigFile)();
62
+ if (env !== undefined) {
63
+ mergedEnv = env;
64
+ }
65
+ else if (process.env['VITEST']) {
66
+ mergedEnv = { ...process.env };
67
+ }
68
+ else {
69
+ const configFileResult = (0, config_file_js_1.loadWorkrailConfigFile)();
70
+ const configFileValues = configFileResult.kind === 'ok' ? configFileResult.value : {};
71
+ mergedEnv = { ...configFileValues, ...process.env };
72
+ }
59
73
  if (!tsyringe_1.container.isRegistered(tokens_js_1.DI.Config.App)) {
60
- const configResult = (0, app_config_js_1.loadConfig)({ env: process.env, projectPath: process.cwd() });
74
+ const configResult = (0, app_config_js_1.loadConfig)({ env: mergedEnv, projectPath: process.cwd() });
61
75
  if (configResult.kind === 'err') {
62
76
  console.error((0, formatter_js_1.formatAppError)(configResult.error));
63
77
  process.exit(1);
@@ -71,9 +85,10 @@ async function registerConfig() {
71
85
  tsyringe_1.container.register(tokens_js_1.DI.Config.BrowserBehavior, { useValue: config.dashboard.browserBehavior });
72
86
  }
73
87
  if (!tsyringe_1.container.isRegistered(tokens_js_1.DI.Infra.FeatureFlags)) {
74
- const { EnvironmentFeatureFlagProvider } = await Promise.resolve().then(() => __importStar(require('../config/feature-flags.js')));
88
+ const { CustomEnvFeatureFlagProvider } = await Promise.resolve().then(() => __importStar(require('../config/feature-flags.js')));
89
+ const captured = mergedEnv;
75
90
  tsyringe_1.container.register(tokens_js_1.DI.Infra.FeatureFlags, {
76
- useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => c.resolve(EnvironmentFeatureFlagProvider))
91
+ useFactory: (0, tsyringe_1.instanceCachingFactory)(() => new CustomEnvFeatureFlagProvider(captured))
77
92
  });
78
93
  }
79
94
  }
@@ -186,7 +201,7 @@ async function registerV2Services() {
186
201
  const { NodeTimeClockV2 } = await Promise.resolve().then(() => __importStar(require('../v2/infra/local/time-clock/index.js')));
187
202
  const { IdFactoryV2 } = await Promise.resolve().then(() => __importStar(require('../v2/infra/local/id-factory/index.js')));
188
203
  tsyringe_1.container.register(tokens_js_1.DI.V2.DataDir, {
189
- useFactory: (0, tsyringe_1.instanceCachingFactory)(() => new LocalDataDirV2(process.env)),
204
+ useFactory: (0, tsyringe_1.instanceCachingFactory)(() => new LocalDataDirV2(mergedEnv)),
190
205
  });
191
206
  tsyringe_1.container.register(tokens_js_1.DI.V2.FileSystem, {
192
207
  useFactory: (0, tsyringe_1.instanceCachingFactory)(() => new NodeFileSystemV2()),
@@ -249,7 +264,8 @@ async function registerV2Services() {
249
264
  useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => {
250
265
  const dataDir = c.resolve(tokens_js_1.DI.V2.DataDir);
251
266
  const fs = c.resolve(tokens_js_1.DI.V2.FileSystem);
252
- return new LocalRememberedRootsStoreV2(dataDir, fs);
267
+ const clock = c.resolve(tokens_js_1.DI.V2.TimeClock);
268
+ return new LocalRememberedRootsStoreV2(dataDir, fs, clock);
253
269
  }),
254
270
  });
255
271
  tsyringe_1.container.register(tokens_js_1.DI.V2.ManagedSourceStore, {
@@ -321,7 +337,7 @@ async function initializeContainer(options = {}) {
321
337
  isInitializing = true;
322
338
  try {
323
339
  registerRuntime(options);
324
- await registerConfig();
340
+ await registerConfig(options.env);
325
341
  await registerStorageChain();
326
342
  await registerV2Services();
327
343
  await registerServices();
@@ -366,6 +382,7 @@ function resetContainer() {
366
382
  asyncInitialized = false;
367
383
  initializationPromise = null;
368
384
  isInitializing = false;
385
+ mergedEnv = process.env;
369
386
  }
370
387
  function isInitialized() {
371
388
  return initialized;
@@ -42,7 +42,6 @@ export declare class HttpServer {
42
42
  private tryBecomePrimary;
43
43
  private shouldReclaimLock;
44
44
  private reclaimStaleLock;
45
- private checkHealth;
46
45
  private setupPrimaryCleanup;
47
46
  private startAsPrimary;
48
47
  private startLegacyMode;
@@ -343,7 +343,8 @@ let HttpServer = class HttpServer {
343
343
  }
344
344
  catch (error) {
345
345
  if (error.code === 'EADDRINUSE') {
346
- console.error(`[Dashboard] Port ${this.port} busy despite lock, falling back to legacy mode`);
346
+ console.error(`[Dashboard] Port ${this.port} still held by previous instance -- ` +
347
+ `running on next available port. Restart the old instance to move to ${this.port}.`);
347
348
  await promises_1.default.unlink(this.lockFile).catch(() => { });
348
349
  return await this.startLegacyMode();
349
350
  }
@@ -411,37 +412,11 @@ let HttpServer = class HttpServer {
411
412
  const lockData = JSON.parse(lockContent);
412
413
  const { reclaim, reason } = this.shouldReclaimLock(lockData);
413
414
  if (!reclaim) {
414
- const isHealthy = await this.checkHealth(lockData.port);
415
- if (isHealthy) {
416
- return false;
417
- }
418
- console.error(`[Dashboard] Primary (PID ${lockData.pid}) not responding, attempting graceful shutdown`);
419
- try {
420
- process.kill(lockData.pid, 'SIGTERM');
421
- await new Promise(resolve => setTimeout(resolve, 2000));
422
- }
423
- catch { }
424
- const stillHealthy = await this.checkHealth(lockData.port);
425
- if (stillHealthy) {
426
- return false;
427
- }
415
+ console.error(`[Dashboard] Secondary mode: primary lock valid (PID ${lockData.pid}), yielding`);
416
+ return false;
428
417
  }
429
418
  else {
430
419
  console.error(`[Dashboard] Lock reclaim needed: ${reason}`);
431
- try {
432
- process.kill(lockData.pid, 0);
433
- const isWorkRailOnPort = await this.checkHealth(lockData.port);
434
- if (isWorkRailOnPort) {
435
- console.error(`[Dashboard] Sending SIGTERM to old process (PID ${lockData.pid})`);
436
- process.kill(lockData.pid, 'SIGTERM');
437
- await new Promise(resolve => setTimeout(resolve, 2000));
438
- }
439
- else {
440
- console.error(`[Dashboard] PID ${lockData.pid} alive but not WorkRail on port ${lockData.port} -- reclaiming without SIGTERM`);
441
- }
442
- }
443
- catch {
444
- }
445
420
  }
446
421
  const tempPath = `${this.lockFile}.${process.pid}.${Date.now()}`;
447
422
  const newLockData = {
@@ -496,23 +471,6 @@ let HttpServer = class HttpServer {
496
471
  return await this.tryBecomePrimary();
497
472
  }
498
473
  }
499
- async checkHealth(port) {
500
- try {
501
- const controller = new AbortController();
502
- const timeout = setTimeout(() => controller.abort(), 2000);
503
- const response = await fetch(`http://localhost:${port}/api/health`, {
504
- signal: controller.signal
505
- });
506
- clearTimeout(timeout);
507
- if (!response.ok)
508
- return false;
509
- const data = await response.json();
510
- return data.status === 'healthy' && data.isPrimary !== undefined;
511
- }
512
- catch {
513
- return false;
514
- }
515
- }
516
474
  setupPrimaryCleanup() {
517
475
  if (this.processLifecyclePolicy.kind === 'no_signal_handlers') {
518
476
  return;
@@ -190,8 +190,8 @@
190
190
  "bytes": 814
191
191
  },
192
192
  "application/use-cases/raw-workflow-file-scanner.js": {
193
- "sha256": "25b2e07a39f67734287b35887326234f5b8b8e1e0c65792513dad2dd8d73a0e0",
194
- "bytes": 3334
193
+ "sha256": "0adce18f0a301900bcdb3b2d2943a72f81ae3c4c03b3ef69243229540e1c4ddb",
194
+ "bytes": 3379
195
195
  },
196
196
  "application/use-cases/validate-step-output.d.ts": {
197
197
  "sha256": "d1505a7f507da6bbf59515c734dace381ac1a96d98f4495e469f9e3ad9c75941",
@@ -238,8 +238,8 @@
238
238
  "bytes": 31
239
239
  },
240
240
  "cli.js": {
241
- "sha256": "5124a783dd17e5269b7ca6fb2eab0096c1e46ff8c15f5b25a4c4be2a0f6ebb91",
242
- "bytes": 7392
241
+ "sha256": "4fa91d141cb398a7ba46ea2dadbf47bb2fba3cd30425137e740ae4f4dea6c353",
242
+ "bytes": 8027
243
243
  },
244
244
  "cli/commands/cleanup.d.ts": {
245
245
  "sha256": "efe1f9e2ecd58e92007ed38b9581a3852c2babe4b3f2a97237dccd878eebe7ec",
@@ -250,20 +250,20 @@
250
250
  "bytes": 745
251
251
  },
252
252
  "cli/commands/index.d.ts": {
253
- "sha256": "87dc614f7278ffc365e5524c7995986f9ca50b6c7545b8de30d7492bc8c50f68",
254
- "bytes": 802
253
+ "sha256": "d9060f00f6f9431c2dae86e1b9cce72b332a8207a4e697e0188f2528db682e37",
254
+ "bytes": 856
255
255
  },
256
256
  "cli/commands/index.js": {
257
- "sha256": "044a6ead38fc3a1060470a8859d6932ad239e4fd06072aae4ab8ecf7b29cbc1c",
258
- "bytes": 2254
257
+ "sha256": "a6786e4f60ed6729a14b84f69df4afbf6cff3f09d7a03bc8738e1b2fa7550a82",
258
+ "bytes": 2436
259
259
  },
260
260
  "cli/commands/init.d.ts": {
261
- "sha256": "305707f46ae3ddf69dad0774f3fdc43612c01afd2c52a509aec2f4a05fd18b86",
262
- "bytes": 518
261
+ "sha256": "b5f8b88a072c68509dab3938ba1d6b4a949ad32f8fc55e91c5039b8c77301c1b",
262
+ "bytes": 996
263
263
  },
264
264
  "cli/commands/init.js": {
265
- "sha256": "14ccf36c1a49374f0a1ad48d70d33cc5c8fe95c4bc033838dab0f7d08151f630",
266
- "bytes": 2033
265
+ "sha256": "2231e989bc0804b4bee45ff85e4a989706dbca12bbcb02bb3b9e6c52ab4ff254",
266
+ "bytes": 4718
267
267
  },
268
268
  "cli/commands/list.d.ts": {
269
269
  "sha256": "b1fd33d3ec871bf1d544b2580c6b25720b747620bc690ec0e1fe4cb8af638504",
@@ -353,24 +353,32 @@
353
353
  "sha256": "b8033dcf077cb0ab0978d5be1d7dca72edb2cd78eff9886e552ce8f14e26316f",
354
354
  "bytes": 2291
355
355
  },
356
+ "config/config-file.d.ts": {
357
+ "sha256": "521c8564b3585b98b0b30fc96f5ced95c0c07505783411d559a62867503f75a7",
358
+ "bytes": 342
359
+ },
360
+ "config/config-file.js": {
361
+ "sha256": "5a061bdda413a4cf905710815905a601a983f2a4474091b4ece4f60028a3eff8",
362
+ "bytes": 5141
363
+ },
356
364
  "config/feature-flags.d.ts": {
357
365
  "sha256": "49cdf81a9c4f31eca560af5257c569143d2138ec996468b949f9807b7ad7802e",
358
366
  "bytes": 1512
359
367
  },
360
368
  "config/feature-flags.js": {
361
- "sha256": "aabbaca7582a27fb7e2b47df88218e6e96d26b8fb8799cab6d25808685bd9196",
362
- "bytes": 7686
363
- },
364
- "console/assets/index-BE5PAgPO.js": {
365
- "sha256": "a21e84da5ca6d74e835ba771d91f94a7659ff33579eeed31e7cd6cf0eaa0d989",
366
- "bytes": 702397
369
+ "sha256": "5fe866e54f796975dec5d8ba9983aefd86074db212d3fccd64eed04bc9f0b3da",
370
+ "bytes": 8011
367
371
  },
368
372
  "console/assets/index-BZNM03t1.css": {
369
373
  "sha256": "114bf48e2dd1ecf84a17eee74f352fe5bc631ec6e294fa1ccd428190498bd9b1",
370
374
  "bytes": 47523
371
375
  },
376
+ "console/assets/index-BwJelCXK.js": {
377
+ "sha256": "b0b011c9c50f6336c029488c9667e51e158279d11b7217742d9345de07605e6b",
378
+ "bytes": 695062
379
+ },
372
380
  "console/index.html": {
373
- "sha256": "276c46c024a8861f7e1cc855e51be2d4d82c6513807c8bea86d193fac34ea2fa",
381
+ "sha256": "f00d6472b99e24bb808bbb516a207c3934b4c0860fd7070bb913a41f67002b59",
374
382
  "bytes": 417
375
383
  },
376
384
  "core/error-handler.d.ts": {
@@ -382,12 +390,12 @@
382
390
  "bytes": 3493
383
391
  },
384
392
  "di/container.d.ts": {
385
- "sha256": "f75ed0bd739e82af11c184837cd0ffbc3cb8440533600d9cdd518fd115cdb958",
386
- "bytes": 565
393
+ "sha256": "003bb7fb7478d627524b9b1e76bd0a963a243794a687ff233b96dc0e33a06d9f",
394
+ "bytes": 620
387
395
  },
388
396
  "di/container.js": {
389
- "sha256": "ab1879b48037c59cf362749e2183913db5f476d820534b525a2c86f7a29cde5f",
390
- "bytes": 21038
397
+ "sha256": "6b5ca3f79bff1d6e3bbf9d19d76574611460d6a5f908ebe83fe202706fe4ae2c",
398
+ "bytes": 21727
391
399
  },
392
400
  "di/tokens.d.ts": {
393
401
  "sha256": "04db6db34348aa36d897c85ab07eb1a386cb04e3595dbcb33525bd33974111ef",
@@ -469,14 +477,6 @@
469
477
  "sha256": "94eb9981e7b846a07fc53a29e7a8d8969a1a2d418dccb735d611eaadea1fa3c7",
470
478
  "bytes": 571
471
479
  },
472
- "env-flags.d.ts": {
473
- "sha256": "d6631341acafa8d1bd33c6efa5beafdf722441e0dd90ea531c7f2510206b08db",
474
- "bytes": 53
475
- },
476
- "env-flags.js": {
477
- "sha256": "44e58dada16891beeefe667223218076fe75c5f6517cd39b308e62ffd38fd098",
478
- "bytes": 204
479
- },
480
480
  "errors/app-error.d.ts": {
481
481
  "sha256": "9be8c6cdfdc3313242ac6ccc08903dee76ff1cc9914cb10897dc410ffb9edd55",
482
482
  "bytes": 766
@@ -542,12 +542,12 @@
542
542
  "bytes": 818
543
543
  },
544
544
  "infrastructure/session/HttpServer.d.ts": {
545
- "sha256": "c6aba452afb93e34fe36740db644fdbada4314c4995e77ac608f19ad2f4061e9",
546
- "bytes": 2002
545
+ "sha256": "e2676f55158fb35249fc6b8d8ae051e6b043f6445e153f1f20fe837acc2ab65c",
546
+ "bytes": 1977
547
547
  },
548
548
  "infrastructure/session/HttpServer.js": {
549
- "sha256": "e2e8c855a73576b3565da739eb59c4d2a381732bc8afde6089757cbcb84061ef",
550
- "bytes": 31899
549
+ "sha256": "92c00fa2f82a503bdd35ce0b1d3665cc63a261d16be53ff82a7007a55b08994e",
550
+ "bytes": 30162
551
551
  },
552
552
  "infrastructure/session/SessionDataNormalizer.d.ts": {
553
553
  "sha256": "c89bb5e00d7d01fb4aa6d0095602541de53c425c6b99b67fa8367eb29cb63e9e",
@@ -682,8 +682,8 @@
682
682
  "bytes": 1082
683
683
  },
684
684
  "mcp/assert-output.js": {
685
- "sha256": "08f24204e5259e0270a9cf362f713566a4b692825e785581cc107c0a78b939e2",
686
- "bytes": 1804
685
+ "sha256": "62702ffdd305ff1b062bd27848051edd0507a76450b0cc3c6b35c92d3e5763cf",
686
+ "bytes": 1847
687
687
  },
688
688
  "mcp/boundary-coercion.d.ts": {
689
689
  "sha256": "8ec36c0bad18fd92f9adaca3f2e519bd6a9273f1c702b0466b9378ea6aba9b04",
@@ -694,12 +694,12 @@
694
694
  "bytes": 3836
695
695
  },
696
696
  "mcp/dev-mode.d.ts": {
697
- "sha256": "c822fca7fe3576f25ce38389db25c25aa2d8bd1fd7a956f5fba5e03cbd6dbbf4",
698
- "bytes": 40
697
+ "sha256": "e2eec103f3883f687b34965afe55ba562bd81d83fd5ec38b7b15dd23e4bc663c",
698
+ "bytes": 86
699
699
  },
700
700
  "mcp/dev-mode.js": {
701
- "sha256": "1d75c14e9050247b52d6553aeb76952990c07ea532a1b8de8ebc1005c965e578",
702
- "bytes": 160
701
+ "sha256": "d4c166d61d207c12dca7bcef4e41eec80af9006347a0b09b058e14f3fac5014c",
702
+ "bytes": 538
703
703
  },
704
704
  "mcp/error-mapper.d.ts": {
705
705
  "sha256": "c6e9db65c565063726442b73a4a0cf1a1c07d54c778a85cf0122c4c04ea6a5a9",
@@ -710,12 +710,12 @@
710
710
  "bytes": 3982
711
711
  },
712
712
  "mcp/handler-factory.d.ts": {
713
- "sha256": "61e6baa759f61fef0b01858c0d0ffbc3fb59bbd6b23311971e119aed125cface",
714
- "bytes": 970
713
+ "sha256": "479c1fe71c0effa6cc3002a9cec3e0de6313a4e9dacf3b9d1f0c5737b3d8aa49",
714
+ "bytes": 989
715
715
  },
716
716
  "mcp/handler-factory.js": {
717
- "sha256": "44cccc3cd4df69af7eae83c6d0b2f6b7932238c6afbb419c48de963630d8db49",
718
- "bytes": 5970
717
+ "sha256": "e79a9f2ac55b5ddb9e6418f9a10c1ae1a80a36c67fdd2bd55c60839f856201c2",
718
+ "bytes": 6122
719
719
  },
720
720
  "mcp/handlers/session.d.ts": {
721
721
  "sha256": "38926e69a0e4935d1dbcdc53848be9fff0e4d8f96827883da3216f217918fa82",
@@ -734,12 +734,12 @@
734
734
  "bytes": 2785
735
735
  },
736
736
  "mcp/handlers/shared/request-workflow-reader.d.ts": {
737
- "sha256": "598523dd1b22fe49aecb96ecc9dbf0758faca9dbf4b9c83f664f4374ce083224",
738
- "bytes": 1861
737
+ "sha256": "342f82d59945aa043e7edf5ae0566d7790cdeec223932c59e86c38fc6322155e",
738
+ "bytes": 1919
739
739
  },
740
740
  "mcp/handlers/shared/request-workflow-reader.js": {
741
- "sha256": "87e4c24a707f28c91d37aba6e6efde138e4a95349e95814a9f6a99126fafad5e",
742
- "bytes": 7574
741
+ "sha256": "a32e240ffc984018b56c6e074c894e079d8511dd2fb7a4f36898e32e2b0e62e6",
742
+ "bytes": 10418
743
743
  },
744
744
  "mcp/handlers/shared/with-timeout.d.ts": {
745
745
  "sha256": "31ca3db008cb5cd439e0d1132bc4b29be0900c403c452931e3a24a50e45beb54",
@@ -878,44 +878,44 @@
878
878
  "bytes": 2654
879
879
  },
880
880
  "mcp/handlers/v2-execution/continue-advance.d.ts": {
881
- "sha256": "27d1f41f608611ba2faa0daf400ef8601c163af5558667c175865e565e95183a",
882
- "bytes": 2026
881
+ "sha256": "6de9b9bb05dee9bbc2c3729960601eca4eb59da5b2e2d2baa5acf20fd14cb118",
882
+ "bytes": 2070
883
883
  },
884
884
  "mcp/handlers/v2-execution/continue-advance.js": {
885
- "sha256": "0d81c5fb9d8be17ab7935729dd2d223a5265375125415ea5a0128152618cfc58",
886
- "bytes": 9741
885
+ "sha256": "70226fbb3b88e576564661913c5dc52ef72d46a05ad732cae401addc77eaeaea",
886
+ "bytes": 9836
887
887
  },
888
888
  "mcp/handlers/v2-execution/continue-rehydrate.d.ts": {
889
- "sha256": "766bc254da04318912a0b5596eba67a92f9ef68685d3796b3a641825510f7db2",
890
- "bytes": 1768
889
+ "sha256": "8412323cb149f7818ed19400758da9e0452b35a18d080afd88955a03bd965b92",
890
+ "bytes": 1812
891
891
  },
892
892
  "mcp/handlers/v2-execution/continue-rehydrate.js": {
893
- "sha256": "73de3740194e111e5def600b2a7c1f08e635711b87e8221bbc22eb5e6e29855d",
894
- "bytes": 10412
893
+ "sha256": "7fab1daf88a3a08b7c831127d5e3eff96585fb81cc904cc63849bb43953b07d5",
894
+ "bytes": 10474
895
895
  },
896
896
  "mcp/handlers/v2-execution/index.d.ts": {
897
897
  "sha256": "2fcb7d3c059a4c79ca66ef0f0b28a0d45dc0e327b45c9ec183a1d1aea78d08d4",
898
898
  "bytes": 1437
899
899
  },
900
900
  "mcp/handlers/v2-execution/index.js": {
901
- "sha256": "628fb84477bea94a0f4b7ae236cd578bd735d101ed2f0a64ac188b088a053e6b",
902
- "bytes": 7534
901
+ "sha256": "dff4cf30eee4efc6f37257995e9e9bee6824d8a3eeaa14bfcc63abf452e0e057",
902
+ "bytes": 7731
903
903
  },
904
904
  "mcp/handlers/v2-execution/replay.d.ts": {
905
- "sha256": "9670e013c057b7c63dd2e2bb898a05884aacab8a15c15ac9cbbd1b8d731e8c87",
906
- "bytes": 2720
905
+ "sha256": "4f1601755e98c336f7d98c096753c38559d76ab5ebbacb1aed679983d46cb6b7",
906
+ "bytes": 2808
907
907
  },
908
908
  "mcp/handlers/v2-execution/replay.js": {
909
- "sha256": "79939bb629c313288a51cbcf43226cdb39aea3866bee2a8e54f108fa5d3dff03",
910
- "bytes": 11190
909
+ "sha256": "3accfc82c460fd9365e0d5e40a43a92029fc677cbe119e3ed65fca4fab103d92",
910
+ "bytes": 11371
911
911
  },
912
912
  "mcp/handlers/v2-execution/start.d.ts": {
913
913
  "sha256": "2deb05345e125667576ede3bb20756a1b22ec86f18028d242b5d9b54dd25afaf",
914
914
  "bytes": 3405
915
915
  },
916
916
  "mcp/handlers/v2-execution/start.js": {
917
- "sha256": "84099a973fab051e112e11e0ed201aeebde4383f793a11f888afe2b4792cc8f3",
918
- "bytes": 19566
917
+ "sha256": "68e95c6414807f6e069961b176f7ddc220c1fe248433b8d6d2a929f102532fb4",
918
+ "bytes": 21109
919
919
  },
920
920
  "mcp/handlers/v2-execution/workflow-object-cache.d.ts": {
921
921
  "sha256": "7e58a2a020fd8443821dbe4e6a2702a9882c517f032a340c1b393cdebf4af907",
@@ -941,14 +941,6 @@
941
941
  "sha256": "5aeabc5d2a078446458d51918f86019895562a1cf7eef99cba19863c6b63d36c",
942
942
  "bytes": 4619
943
943
  },
944
- "mcp/handlers/v2-resolve-refs-envelope.d.ts": {
945
- "sha256": "daa88ef4cc5ed12cec550b0b6975ede225a6278ca9c2328c755048210ff518bb",
946
- "bytes": 471
947
- },
948
- "mcp/handlers/v2-resolve-refs-envelope.js": {
949
- "sha256": "abcd80dd947bef61bfc068027a0ef1af3a3e13bd67aa3bc410efe66670dbdb50",
950
- "bytes": 917
951
- },
952
944
  "mcp/handlers/v2-resume.d.ts": {
953
945
  "sha256": "23f67bdbbe9f8ed88568669d962f9aabd119f6aa0e29a12f496515c2348197b2",
954
946
  "bytes": 476
@@ -978,8 +970,8 @@
978
970
  "bytes": 3952
979
971
  },
980
972
  "mcp/handlers/v2-workflow.js": {
981
- "sha256": "b4fa1769dc0ea170e4c80a591179c4473ad22f03c19f9bd8fad4f783e348f76a",
982
- "bytes": 24935
973
+ "sha256": "76e99952ada0a5b2c1ed39cd83e536e6c7c614af9afefb49c6c9faa416b3bb38",
974
+ "bytes": 25048
983
975
  },
984
976
  "mcp/handlers/v2-workspace-resolution.d.ts": {
985
977
  "sha256": "dd4de57b4918ebe749cf8c1df70c02bf1effc50932634bae60db53c9a157e872",
@@ -1006,12 +998,12 @@
1006
998
  "bytes": 7991
1007
999
  },
1008
1000
  "mcp/output-schemas.d.ts": {
1009
- "sha256": "dc427860fc4e23ec66e7032359defba17489753b63eba50f4f61dd31703ce62b",
1010
- "bytes": 92910
1001
+ "sha256": "ce4c18f491ca9c7409b5ab4e2f4e0a3467bfc77f4ebf360858594cf2dab66360",
1002
+ "bytes": 93120
1011
1003
  },
1012
1004
  "mcp/output-schemas.js": {
1013
- "sha256": "6c2e1a9b57bcd2c61cd4bd669ccbc1a9db72f2318af7620161d2740a0dc53104",
1014
- "bytes": 21903
1005
+ "sha256": "e9b5cdfccec05f7756b5952af691f647f08708b53fbea92715dd167603d17a07",
1006
+ "bytes": 22177
1015
1007
  },
1016
1008
  "mcp/render-envelope.d.ts": {
1017
1009
  "sha256": "22e83e1aba52968a7136cf289125a217b5f462a5a66a1eebe4669006e3326fdb",
@@ -1034,8 +1026,8 @@
1034
1026
  "bytes": 960
1035
1027
  },
1036
1028
  "mcp/server.js": {
1037
- "sha256": "9e4edf6532d1300c4ba3b8242505179308cca1d93c8c9b3b9e02b09086b75796",
1038
- "bytes": 15084
1029
+ "sha256": "f8414b17dcbf8f48eefd69f932785ce3e3a58a50609eb2309300c018ac6e1418",
1030
+ "bytes": 15106
1039
1031
  },
1040
1032
  "mcp/step-content-envelope.d.ts": {
1041
1033
  "sha256": "19bd63c4d4de1d5d93393d346625d28ffd1bebdc320d4ba4e694cb740ec97d3b",
@@ -1158,12 +1150,12 @@
1158
1150
  "bytes": 2674
1159
1151
  },
1160
1152
  "mcp/v2-response-formatter.d.ts": {
1161
- "sha256": "3dd2bb5beef01afc8dca6b3df8bfd52283dc4393c5d85d2906a56bf4ae9806c9",
1162
- "bytes": 527
1153
+ "sha256": "c6c7c324854d5cf250bfa66209a91068e810a6cc9e0dca49b618515a8e36c77b",
1154
+ "bytes": 557
1163
1155
  },
1164
1156
  "mcp/v2-response-formatter.js": {
1165
- "sha256": "5587bb0f47c16ceb4b8a088470ffb382dff7393f61f91144284fa0b40b517f23",
1166
- "bytes": 22633
1157
+ "sha256": "d38f0feebe9609b1e00f82c2bfd073f00c4381371881114dac0c5c2fe384f1ee",
1158
+ "bytes": 22586
1167
1159
  },
1168
1160
  "mcp/v2/tool-registry.d.ts": {
1169
1161
  "sha256": "d4d4927728c3cab1c014661d499dd0119538371bc6c5e821a4cd31df7abebedf",
@@ -1406,12 +1398,12 @@
1406
1398
  "bytes": 395
1407
1399
  },
1408
1400
  "types/workflow-definition.d.ts": {
1409
- "sha256": "5b3291ca0b731c27da20c659195f9c6be5e09dd5e3bfc8d01fed701b0ee66779",
1410
- "bytes": 5888
1401
+ "sha256": "7ff8bf4aff8685ebe9bc45fe9c6400c5d68dfdf522e2af0e15c53f279291002e",
1402
+ "bytes": 6015
1411
1403
  },
1412
1404
  "types/workflow-definition.js": {
1413
- "sha256": "204e7500d3d0dc91b1716199efb89af4776fb488546661e809f76be9333ea65c",
1414
- "bytes": 2751
1405
+ "sha256": "33e3c33243f18cb3440a38d79b3c25daa87fe6ad14f2d28c43b9a4e12a72fcd6",
1406
+ "bytes": 2845
1415
1407
  },
1416
1408
  "types/workflow-source.d.ts": {
1417
1409
  "sha256": "ee439c36ac3002780837ff393120d08a1c21ef2641421cdf72f0e1449d0211eb",
@@ -1686,12 +1678,12 @@
1686
1678
  "bytes": 942
1687
1679
  },
1688
1680
  "v2/durable-core/domain/prompt-renderer.d.ts": {
1689
- "sha256": "fbcfa314a4a793553483ad6a26221864ad0cf99c08bc6a99939a247f650e86a4",
1690
- "bytes": 1251
1681
+ "sha256": "da680f8f51d526c2ea9b169a4667212a5cc187f539f5d0dc6dcc969a3b1dea02",
1682
+ "bytes": 1295
1691
1683
  },
1692
1684
  "v2/durable-core/domain/prompt-renderer.js": {
1693
- "sha256": "6986cc9c705fd2f7c687e011b514257c784f8049d7d1b14e795a2834417d5738",
1694
- "bytes": 18777
1685
+ "sha256": "75a37c32d8525171595bc75b22cd67118b9121c5c11d8f4446e5594630e20743",
1686
+ "bytes": 18717
1695
1687
  },
1696
1688
  "v2/durable-core/domain/reason-model.d.ts": {
1697
1689
  "sha256": "a944e7e0d9b3c73468488263cb0aa1e446c023f8084fd2af53cbda3f3bfcd37a",
@@ -1906,8 +1898,8 @@
1906
1898
  "bytes": 11821
1907
1899
  },
1908
1900
  "v2/durable-core/schemas/compiled-workflow/index.js": {
1909
- "sha256": "67e9ccfbcf6e07d804fe925c6a8b67e5624d655f9564eec44658cb07f38a6486",
1910
- "bytes": 2750
1901
+ "sha256": "50d99fc8e0f0cab689a49de6184034a0e4dcb776f80c83eceab69d936828083a",
1902
+ "bytes": 2896
1911
1903
  },
1912
1904
  "v2/durable-core/schemas/execution-snapshot/blocked-snapshot.d.ts": {
1913
1905
  "sha256": "2099e7c6bc521a3df16774eb2d6c0b9cad2b06f7360e7a0b5b98ad75d44fc2cb",
@@ -2254,12 +2246,12 @@
2254
2246
  "bytes": 6966
2255
2247
  },
2256
2248
  "v2/infra/local/pinned-workflow-store/index.d.ts": {
2257
- "sha256": "5f7d831fceb44ded4ae7e153bed882aa63816c01c54732d30e6a89dae8bfd8d0",
2258
- "bytes": 917
2249
+ "sha256": "7cc23fb793a1b640e8dffa622da1af689efe9be26b0f3a538a75331f4ce8ff8f",
2250
+ "bytes": 1073
2259
2251
  },
2260
2252
  "v2/infra/local/pinned-workflow-store/index.js": {
2261
- "sha256": "b185eb11850bbb14018683803fdfb716234c27205a3f2a4d6acf962c13dc0710",
2262
- "bytes": 3198
2253
+ "sha256": "791f412efaeb909fa838e9781ea4ab23619bf15badc8ffc641232363a83ea190",
2254
+ "bytes": 5184
2263
2255
  },
2264
2256
  "v2/infra/local/random-entropy/index.d.ts": {
2265
2257
  "sha256": "d911f965506c87a008cc20aa3dfe17dc00dc33ffdb5942465f10416091c81a5e",
@@ -2270,12 +2262,12 @@
2270
2262
  "bytes": 345
2271
2263
  },
2272
2264
  "v2/infra/local/remembered-roots-store/index.d.ts": {
2273
- "sha256": "385164a9468d2fe3c4dd74c8363a0b1f003556bfcc7e9bd5e3046bb167a7231d",
2274
- "bytes": 840
2265
+ "sha256": "37cc4c6fdf890b88ffe17c1ce393b122018de37d2a48b20841940dec24b6f34b",
2266
+ "bytes": 966
2275
2267
  },
2276
2268
  "v2/infra/local/remembered-roots-store/index.js": {
2277
- "sha256": "9616940b66438ee85ae22fca2267b30072dfb2907abdab0b1e3ce03a5971f814",
2278
- "bytes": 7198
2269
+ "sha256": "1308f55cfcc07975064666dc346631b5a301728ba13f8cac251f8a22e937caad",
2270
+ "bytes": 7393
2279
2271
  },
2280
2272
  "v2/infra/local/session-lock/index.d.ts": {
2281
2273
  "sha256": "3b381b372da6039df678dfddf377600547e1067cf921cc1b4cdf578e5df0a1bb",
@@ -2346,8 +2338,8 @@
2346
2338
  "bytes": 537
2347
2339
  },
2348
2340
  "v2/infra/local/workspace-anchor/index.js": {
2349
- "sha256": "764f38e538e366b80bd4a613baadf8ec5a6bd4a0f26fb5a771bd6e8dd2b46ab3",
2350
- "bytes": 3218
2341
+ "sha256": "3ed5ae038837a2b89fb852c80c442b54376d7ceb4a7c555ff11ba55c8803953b",
2342
+ "bytes": 3249
2351
2343
  },
2352
2344
  "v2/ports/base32.port.d.ts": {
2353
2345
  "sha256": "64aa2f2003a552917cbf71474472fc5e4afffaa29577204bbcbe5ffa989ceb82",
@@ -2422,8 +2414,8 @@
2422
2414
  "bytes": 77
2423
2415
  },
2424
2416
  "v2/ports/pinned-workflow-store.port.d.ts": {
2425
- "sha256": "5105f42539f6ad813d468fc5c7f3c17648855731bb1b5f088354afae1856dac1",
2426
- "bytes": 608
2417
+ "sha256": "72ecb9bb19dbe8e95919d5999009d98d2079211571ac8c4cec8bd56fe7eaf9ac",
2418
+ "bytes": 763
2427
2419
  },
2428
2420
  "v2/ports/pinned-workflow-store.port.js": {
2429
2421
  "sha256": "d43aa81f5bc89faa359e0f97c814ba25155591ff078fbb9bfd40f8c7c9683230",
@@ -2658,8 +2650,8 @@
2658
2650
  "bytes": 456
2659
2651
  },
2660
2652
  "v2/usecases/console-routes.js": {
2661
- "sha256": "ea86b6b9ce648895d27435867c46fdce904d88dbc7d338c4da6a1b6000fed958",
2662
- "bytes": 10890
2653
+ "sha256": "a1a6cfe4dc655cd320d51e9ec65dbe9f7fc7869c4414bfd48230d9d50a15f2da",
2654
+ "bytes": 10903
2663
2655
  },
2664
2656
  "v2/usecases/console-service.d.ts": {
2665
2657
  "sha256": "489a44091dc1b15ff938a60f9cf3ac28363614b9f0446286f0914157528c7eb3",
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assertOutput = assertOutput;
4
4
  exports.assertBlockerReportInvariants = assertBlockerReportInvariants;
5
5
  exports.assertContinueTokenPresence = assertContinueTokenPresence;
6
+ const dev_mode_js_1 = require("./dev-mode.js");
6
7
  function assertOutput(data, check) {
7
- if (process.env['WORKRAIL_DEV'] === '1') {
8
+ if ((0, dev_mode_js_1.isDevMode)()) {
8
9
  check(data);
9
10
  }
10
11
  return data;
@@ -1 +1,2 @@
1
+ export declare function isDevMode(): boolean;
1
2
  export declare const DEV_MODE: boolean;
@@ -1,4 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEV_MODE = void 0;
4
+ exports.isDevMode = isDevMode;
5
+ const container_js_1 = require("../di/container.js");
6
+ const tokens_js_1 = require("../di/tokens.js");
7
+ function isDevMode() {
8
+ try {
9
+ const flags = container_js_1.container.resolve(tokens_js_1.DI.Infra.FeatureFlags);
10
+ return flags.isEnabled('devMode');
11
+ }
12
+ catch {
13
+ return process.env['WORKRAIL_DEV'] === '1';
14
+ }
15
+ }
4
16
  exports.DEV_MODE = process.env['WORKRAIL_DEV'] === '1';