@exaudeus/workrail 3.14.0 → 3.16.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 (156) hide show
  1. package/dist/application/services/validation-engine.js +4 -9
  2. package/dist/application/services/workflow-compiler.js +4 -6
  3. package/dist/application/services/workflow-service.d.ts +2 -0
  4. package/dist/application/services/workflow-service.js +3 -0
  5. package/dist/console/assets/index-BE5PAgPO.js +28 -0
  6. package/dist/console/assets/index-BZNM03t1.css +1 -0
  7. package/dist/console/index.html +2 -2
  8. package/dist/engine/engine-factory.js +2 -2
  9. package/dist/engine/types.d.ts +1 -1
  10. package/dist/env-flags.d.ts +1 -0
  11. package/dist/env-flags.js +4 -0
  12. package/dist/infrastructure/session/HttpServer.d.ts +3 -3
  13. package/dist/infrastructure/session/HttpServer.js +68 -74
  14. package/dist/infrastructure/storage/caching-workflow-storage.d.ts +2 -0
  15. package/dist/infrastructure/storage/caching-workflow-storage.js +15 -6
  16. package/dist/infrastructure/storage/file-workflow-storage.js +3 -4
  17. package/dist/infrastructure/storage/schema-validating-workflow-storage.js +9 -8
  18. package/dist/manifest.json +283 -219
  19. package/dist/mcp/assert-output.d.ts +37 -0
  20. package/dist/mcp/assert-output.js +52 -0
  21. package/dist/mcp/boundary-coercion.d.ts +1 -0
  22. package/dist/mcp/boundary-coercion.js +44 -0
  23. package/dist/mcp/dev-mode.d.ts +1 -0
  24. package/dist/mcp/dev-mode.js +4 -0
  25. package/dist/mcp/handler-factory.js +12 -9
  26. package/dist/mcp/handlers/session.js +8 -9
  27. package/dist/mcp/handlers/shared/request-workflow-reader.d.ts +5 -0
  28. package/dist/mcp/handlers/shared/request-workflow-reader.js +47 -2
  29. package/dist/mcp/handlers/v2-advance-core/assessment-consequences.d.ts +1 -1
  30. package/dist/mcp/handlers/v2-advance-core/assessment-consequences.js +4 -5
  31. package/dist/mcp/handlers/v2-advance-core/event-builders.d.ts +2 -0
  32. package/dist/mcp/handlers/v2-advance-core/event-builders.js +6 -6
  33. package/dist/mcp/handlers/v2-advance-core/index.d.ts +2 -0
  34. package/dist/mcp/handlers/v2-advance-core/index.js +5 -4
  35. package/dist/mcp/handlers/v2-advance-core/input-validation.d.ts +2 -0
  36. package/dist/mcp/handlers/v2-advance-core/input-validation.js +32 -9
  37. package/dist/mcp/handlers/v2-advance-core/outcome-blocked.d.ts +2 -0
  38. package/dist/mcp/handlers/v2-advance-core/outcome-blocked.js +2 -2
  39. package/dist/mcp/handlers/v2-advance-core/outcome-success.d.ts +2 -0
  40. package/dist/mcp/handlers/v2-advance-core/outcome-success.js +1 -1
  41. package/dist/mcp/handlers/v2-checkpoint.d.ts +1 -1
  42. package/dist/mcp/handlers/v2-checkpoint.js +5 -6
  43. package/dist/mcp/handlers/v2-execution/advance.d.ts +4 -2
  44. package/dist/mcp/handlers/v2-execution/advance.js +5 -7
  45. package/dist/mcp/handlers/v2-execution/continue-advance.js +56 -26
  46. package/dist/mcp/handlers/v2-execution/continue-rehydrate.d.ts +1 -1
  47. package/dist/mcp/handlers/v2-execution/continue-rehydrate.js +9 -9
  48. package/dist/mcp/handlers/v2-execution/replay.d.ts +6 -4
  49. package/dist/mcp/handlers/v2-execution/replay.js +47 -30
  50. package/dist/mcp/handlers/v2-execution/start.d.ts +3 -3
  51. package/dist/mcp/handlers/v2-execution/start.js +31 -12
  52. package/dist/mcp/handlers/v2-execution/workflow-object-cache.d.ts +5 -0
  53. package/dist/mcp/handlers/v2-execution/workflow-object-cache.js +19 -0
  54. package/dist/mcp/handlers/v2-execution-helpers.d.ts +1 -0
  55. package/dist/mcp/handlers/v2-execution-helpers.js +23 -7
  56. package/dist/mcp/handlers/v2-resume.d.ts +1 -1
  57. package/dist/mcp/handlers/v2-resume.js +3 -4
  58. package/dist/mcp/handlers/v2-state-conversion.js +5 -1
  59. package/dist/mcp/handlers/v2-workflow.d.ts +100 -0
  60. package/dist/mcp/handlers/v2-workflow.js +155 -31
  61. package/dist/mcp/handlers/workflow.d.ts +2 -5
  62. package/dist/mcp/handlers/workflow.js +15 -12
  63. package/dist/mcp/output-schemas.d.ts +123 -29
  64. package/dist/mcp/output-schemas.js +36 -18
  65. package/dist/mcp/server.js +70 -5
  66. package/dist/mcp/tool-call-timing.d.ts +24 -0
  67. package/dist/mcp/tool-call-timing.js +85 -0
  68. package/dist/mcp/tool-descriptions.js +17 -9
  69. package/dist/mcp/transports/http-entry.js +3 -2
  70. package/dist/mcp/transports/http-listener.d.ts +1 -0
  71. package/dist/mcp/transports/http-listener.js +25 -0
  72. package/dist/mcp/transports/shutdown-hooks.d.ts +4 -1
  73. package/dist/mcp/transports/shutdown-hooks.js +3 -2
  74. package/dist/mcp/transports/stdio-entry.js +6 -28
  75. package/dist/mcp/v2/tools.d.ts +6 -0
  76. package/dist/mcp/v2/tools.js +2 -0
  77. package/dist/mcp/v2-response-formatter.js +2 -4
  78. package/dist/mcp/validation/schema-introspection.d.ts +1 -0
  79. package/dist/mcp/validation/schema-introspection.js +15 -5
  80. package/dist/mcp/validation/suggestion-generator.js +2 -2
  81. package/dist/mcp/workflow-protocol-contracts.js +5 -1
  82. package/dist/runtime/adapters/node-process-signals.d.ts +1 -0
  83. package/dist/runtime/adapters/node-process-signals.js +5 -0
  84. package/dist/runtime/adapters/noop-process-signals.d.ts +1 -0
  85. package/dist/runtime/adapters/noop-process-signals.js +2 -0
  86. package/dist/runtime/ports/process-signals.d.ts +1 -0
  87. package/dist/types/workflow-definition.d.ts +3 -2
  88. package/dist/types/workflow.d.ts +3 -0
  89. package/dist/types/workflow.js +35 -26
  90. package/dist/v2/durable-core/domain/context-template-resolver.js +2 -2
  91. package/dist/v2/durable-core/domain/function-definition-expander.js +2 -17
  92. package/dist/v2/durable-core/domain/prompt-renderer.d.ts +1 -0
  93. package/dist/v2/durable-core/domain/prompt-renderer.js +23 -18
  94. package/dist/v2/durable-core/domain/recap-recovery.js +23 -16
  95. package/dist/v2/durable-core/domain/retrieval-contract.js +13 -7
  96. package/dist/v2/durable-core/session-index.d.ts +22 -0
  97. package/dist/v2/durable-core/session-index.js +58 -0
  98. package/dist/v2/durable-core/sorted-event-log.d.ts +6 -0
  99. package/dist/v2/durable-core/sorted-event-log.js +15 -0
  100. package/dist/v2/infra/local/fs/index.js +8 -8
  101. package/dist/v2/infra/local/session-store/index.d.ts +1 -1
  102. package/dist/v2/infra/local/session-store/index.js +71 -61
  103. package/dist/v2/infra/local/session-summary-provider/index.js +9 -4
  104. package/dist/v2/infra/local/snapshot-store/index.js +2 -1
  105. package/dist/v2/infra/local/workspace-anchor/index.js +4 -1
  106. package/dist/v2/ports/session-event-log-store.port.d.ts +1 -1
  107. package/dist/v2/projections/assessment-consequences.d.ts +2 -1
  108. package/dist/v2/projections/assessment-consequences.js +0 -5
  109. package/dist/v2/projections/assessments.d.ts +2 -1
  110. package/dist/v2/projections/assessments.js +2 -4
  111. package/dist/v2/projections/gaps.d.ts +2 -1
  112. package/dist/v2/projections/gaps.js +0 -5
  113. package/dist/v2/projections/preferences.d.ts +2 -1
  114. package/dist/v2/projections/preferences.js +0 -5
  115. package/dist/v2/projections/run-context.d.ts +2 -2
  116. package/dist/v2/projections/run-context.js +0 -5
  117. package/dist/v2/projections/run-dag.js +7 -1
  118. package/dist/v2/projections/run-execution-trace.d.ts +8 -0
  119. package/dist/v2/projections/run-execution-trace.js +124 -0
  120. package/dist/v2/projections/run-status-signals.d.ts +2 -2
  121. package/dist/v2/usecases/console-routes.d.ts +3 -1
  122. package/dist/v2/usecases/console-routes.js +149 -3
  123. package/dist/v2/usecases/console-service.d.ts +2 -0
  124. package/dist/v2/usecases/console-service.js +87 -26
  125. package/dist/v2/usecases/console-types.d.ts +65 -0
  126. package/dist/v2/usecases/worktree-service.js +87 -8
  127. package/package.json +7 -6
  128. package/spec/authoring-spec.json +82 -1
  129. package/spec/workflow-tags.json +132 -0
  130. package/spec/workflow.schema.json +21 -11
  131. package/workflows/adaptive-ticket-creation.json +33 -8
  132. package/workflows/architecture-scalability-audit.json +50 -9
  133. package/workflows/bug-investigation.agentic.v2.json +43 -14
  134. package/workflows/coding-task-workflow-agentic.json +57 -38
  135. package/workflows/coding-task-workflow-agentic.lean.v2.json +129 -34
  136. package/workflows/coding-task-workflow-agentic.v2.json +97 -30
  137. package/workflows/cross-platform-code-conversion.v2.json +175 -48
  138. package/workflows/document-creation-workflow.json +49 -12
  139. package/workflows/documentation-update-workflow.json +9 -2
  140. package/workflows/intelligent-test-case-generation.json +9 -2
  141. package/workflows/learner-centered-course-workflow.json +273 -266
  142. package/workflows/mr-review-workflow.agentic.v2.json +88 -14
  143. package/workflows/personal-learning-materials-creation-branched.json +181 -174
  144. package/workflows/presentation-creation.json +167 -160
  145. package/workflows/production-readiness-audit.json +61 -15
  146. package/workflows/relocation-workflow-us.json +21 -5
  147. package/workflows/routines/tension-driven-design.json +1 -1
  148. package/workflows/scoped-documentation-workflow.json +9 -2
  149. package/workflows/test-artifact-loop-control.json +1 -2
  150. package/workflows/ui-ux-design-workflow.json +334 -0
  151. package/workflows/workflow-diagnose-environment.json +7 -1
  152. package/workflows/workflow-for-workflows.json +514 -484
  153. package/workflows/workflow-for-workflows.v2.json +55 -11
  154. package/workflows/wr.discovery.json +118 -29
  155. package/dist/console/assets/index-DW78t31j.css +0 -1
  156. package/dist/console/assets/index-EsSXrC_a.js +0 -28
@@ -19,11 +19,8 @@ export interface WorkflowNextOutput {
19
19
  }
20
20
  export interface WorkflowValidateJsonOutput {
21
21
  valid: boolean;
22
- errors?: Array<{
23
- message: string;
24
- path?: string;
25
- }>;
26
- suggestions?: string[];
22
+ issues: string[];
23
+ suggestions: string[];
27
24
  }
28
25
  export interface WorkflowGetSchemaOutput {
29
26
  schema: unknown;
@@ -32,21 +32,29 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
39
  exports.handleWorkflowList = handleWorkflowList;
37
40
  exports.handleWorkflowGet = handleWorkflowGet;
38
41
  exports.handleWorkflowNext = handleWorkflowNext;
39
42
  exports.handleWorkflowValidateJson = handleWorkflowValidateJson;
40
43
  exports.handleWorkflowGetSchema = handleWorkflowGetSchema;
44
+ const fs_1 = __importDefault(require("fs"));
45
+ const path_1 = __importDefault(require("path"));
41
46
  const types_js_1 = require("../types.js");
42
- const output_schemas_js_1 = require("../output-schemas.js");
43
47
  const error_mapper_js_1 = require("../error-mapper.js");
44
48
  const TIMEOUT_MS = 30000;
49
+ const WORKFLOW_SCHEMA = (() => {
50
+ const schemaPath = path_1.default.resolve(__dirname, '../../../spec/workflow.schema.json');
51
+ return JSON.parse(fs_1.default.readFileSync(schemaPath, 'utf-8'));
52
+ })();
45
53
  const with_timeout_js_1 = require("./shared/with-timeout.js");
46
54
  async function handleWorkflowList(_input, ctx) {
47
55
  try {
48
56
  const workflows = await (0, with_timeout_js_1.withTimeout)(ctx.workflowService.listWorkflowSummaries(), TIMEOUT_MS, 'workflow_list');
49
- const payload = output_schemas_js_1.WorkflowListOutputSchema.parse({ workflows });
57
+ const payload = { workflows };
50
58
  return (0, types_js_1.success)(payload);
51
59
  }
52
60
  catch (err) {
@@ -63,7 +71,7 @@ async function handleWorkflowGet(input, ctx) {
63
71
  const mapped = (0, error_mapper_js_1.mapDomainErrorToToolError)(result.error);
64
72
  return mapped;
65
73
  }
66
- const payload = output_schemas_js_1.WorkflowGetOutputSchema.parse({ workflow: result.value });
74
+ const payload = { workflow: result.value };
67
75
  return (0, types_js_1.success)(payload);
68
76
  }
69
77
  catch (err) {
@@ -93,7 +101,7 @@ async function handleWorkflowNext(input, ctx) {
93
101
  const mapped = (0, error_mapper_js_1.mapDomainErrorToToolError)(result.error);
94
102
  return mapped;
95
103
  }
96
- const payload = output_schemas_js_1.WorkflowNextOutputSchema.parse(result.value);
104
+ const payload = result.value;
97
105
  return (0, types_js_1.success)(payload);
98
106
  }
99
107
  catch (err) {
@@ -118,7 +126,7 @@ async function handleWorkflowValidateJson(input, ctx) {
118
126
  const { createValidateWorkflowJson } = await Promise.resolve().then(() => __importStar(require('../../application/use-cases/validate-workflow-json.js')));
119
127
  const validateWorkflowJsonUseCase = createValidateWorkflowJson();
120
128
  const result = await validateWorkflowJsonUseCase(input.workflowJson);
121
- const payload = output_schemas_js_1.WorkflowValidateJsonOutputSchema.parse(result);
129
+ const payload = result;
122
130
  return (0, types_js_1.success)(payload);
123
131
  }
124
132
  catch (err) {
@@ -129,11 +137,7 @@ async function handleWorkflowValidateJson(input, ctx) {
129
137
  async function handleWorkflowGetSchema(_input, ctx) {
130
138
  void ctx;
131
139
  try {
132
- const fs = await Promise.resolve().then(() => __importStar(require('fs')));
133
- const path = await Promise.resolve().then(() => __importStar(require('path')));
134
- const schemaPath = path.resolve(__dirname, '../../../spec/workflow.schema.json');
135
- const schemaContent = fs.readFileSync(schemaPath, 'utf-8');
136
- const schema = JSON.parse(schemaContent);
140
+ const schema = WORKFLOW_SCHEMA;
137
141
  const result = {
138
142
  schema,
139
143
  metadata: {
@@ -160,8 +164,7 @@ async function handleWorkflowGetSchema(_input, ctx) {
160
164
  },
161
165
  },
162
166
  };
163
- const payload = output_schemas_js_1.WorkflowGetSchemaOutputSchema.parse(result);
164
- return (0, types_js_1.success)(payload);
167
+ return (0, types_js_1.success)(result);
165
168
  }
166
169
  catch (err) {
167
170
  const message = err instanceof Error ? err.message : String(err);
@@ -73,31 +73,16 @@ export declare const WorkflowNextOutputSchema: z.ZodObject<{
73
73
  }>;
74
74
  export declare const WorkflowValidateJsonOutputSchema: z.ZodObject<{
75
75
  valid: z.ZodBoolean;
76
- errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
77
- message: z.ZodString;
78
- path: z.ZodOptional<z.ZodString>;
79
- }, "strip", z.ZodTypeAny, {
80
- message: string;
81
- path?: string | undefined;
82
- }, {
83
- message: string;
84
- path?: string | undefined;
85
- }>, "many">>;
86
- suggestions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
76
+ issues: z.ZodArray<z.ZodString, "many">;
77
+ suggestions: z.ZodArray<z.ZodString, "many">;
87
78
  }, "strip", z.ZodTypeAny, {
79
+ issues: string[];
88
80
  valid: boolean;
89
- suggestions?: string[] | undefined;
90
- errors?: {
91
- message: string;
92
- path?: string | undefined;
93
- }[] | undefined;
81
+ suggestions: string[];
94
82
  }, {
83
+ issues: string[];
95
84
  valid: boolean;
96
- suggestions?: string[] | undefined;
97
- errors?: {
98
- message: string;
99
- path?: string | undefined;
100
- }[] | undefined;
85
+ suggestions: string[];
101
86
  }>;
102
87
  export declare const WorkflowGetSchemaOutputSchema: z.ZodObject<{
103
88
  schema: z.ZodType<JsonValue, z.ZodTypeDef, JsonValue>;
@@ -262,6 +247,7 @@ export declare const V2WorkflowListItemSchema: z.ZodObject<{
262
247
  reason: string;
263
248
  specVersionAtLastReview?: number | undefined;
264
249
  }>>;
250
+ examples: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
265
251
  }, "strip", z.ZodTypeAny, {
266
252
  kind: "workflow";
267
253
  name: string;
@@ -269,6 +255,7 @@ export declare const V2WorkflowListItemSchema: z.ZodObject<{
269
255
  version: string;
270
256
  workflowId: string;
271
257
  workflowHash: string | null;
258
+ examples?: string[] | undefined;
272
259
  visibility?: {
273
260
  source: {
274
261
  kind: "custom" | "bundled" | "user" | "project" | "git" | "remote" | "plugin";
@@ -299,6 +286,7 @@ export declare const V2WorkflowListItemSchema: z.ZodObject<{
299
286
  version: string;
300
287
  workflowId: string;
301
288
  workflowHash: string | null;
289
+ examples?: string[] | undefined;
302
290
  visibility?: {
303
291
  source: {
304
292
  kind: "custom" | "bundled" | "user" | "project" | "git" | "remote" | "plugin";
@@ -325,7 +313,7 @@ export declare const V2WorkflowListItemSchema: z.ZodObject<{
325
313
  }>;
326
314
  export declare const V2WorkflowSourceCatalogEntrySchema: z.ZodObject<{
327
315
  sourceKey: z.ZodString;
328
- category: z.ZodEnum<["built_in", "personal", "legacy_project", "rooted_sharing", "external"]>;
316
+ category: z.ZodEnum<["built_in", "personal", "legacy_project", "rooted_sharing", "external", "managed"]>;
329
317
  source: z.ZodObject<{
330
318
  kind: z.ZodEnum<["bundled", "user", "project", "custom", "git", "remote", "plugin"]>;
331
319
  displayName: z.ZodString;
@@ -353,6 +341,14 @@ export declare const V2WorkflowSourceCatalogEntrySchema: z.ZodObject<{
353
341
  rootPath: string;
354
342
  groupLabel: string;
355
343
  }>>;
344
+ managed: z.ZodOptional<z.ZodObject<{
345
+ addedAtMs: z.ZodNumber;
346
+ }, "strip", z.ZodTypeAny, {
347
+ addedAtMs: number;
348
+ }, {
349
+ addedAtMs: number;
350
+ }>>;
351
+ stale: z.ZodOptional<z.ZodLiteral<true>>;
356
352
  migration: z.ZodOptional<z.ZodObject<{
357
353
  preferredSource: z.ZodLiteral<"rooted_sharing">;
358
354
  currentSource: z.ZodLiteral<"legacy_project">;
@@ -374,7 +370,7 @@ export declare const V2WorkflowSourceCatalogEntrySchema: z.ZodObject<{
374
370
  kind: "custom" | "bundled" | "user" | "project" | "git" | "remote" | "plugin";
375
371
  displayName: string;
376
372
  };
377
- category: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "external";
373
+ category: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "external" | "managed";
378
374
  sourceKey: string;
379
375
  sourceMode: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "live_directory";
380
376
  effectiveWorkflowCount: number;
@@ -391,12 +387,16 @@ export declare const V2WorkflowSourceCatalogEntrySchema: z.ZodObject<{
391
387
  preferredSource: "rooted_sharing";
392
388
  currentSource: "legacy_project";
393
389
  } | undefined;
390
+ managed?: {
391
+ addedAtMs: number;
392
+ } | undefined;
393
+ stale?: true | undefined;
394
394
  }, {
395
395
  source: {
396
396
  kind: "custom" | "bundled" | "user" | "project" | "git" | "remote" | "plugin";
397
397
  displayName: string;
398
398
  };
399
- category: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "external";
399
+ category: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "external" | "managed";
400
400
  sourceKey: string;
401
401
  sourceMode: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "live_directory";
402
402
  effectiveWorkflowCount: number;
@@ -413,6 +413,29 @@ export declare const V2WorkflowSourceCatalogEntrySchema: z.ZodObject<{
413
413
  preferredSource: "rooted_sharing";
414
414
  currentSource: "legacy_project";
415
415
  } | undefined;
416
+ managed?: {
417
+ addedAtMs: number;
418
+ } | undefined;
419
+ stale?: true | undefined;
420
+ }>;
421
+ export declare const TagSummaryItemSchema: z.ZodObject<{
422
+ id: z.ZodString;
423
+ displayName: z.ZodString;
424
+ count: z.ZodNumber;
425
+ when: z.ZodArray<z.ZodString, "many">;
426
+ examples: z.ZodArray<z.ZodString, "many">;
427
+ }, "strip", z.ZodTypeAny, {
428
+ id: string;
429
+ when: string[];
430
+ examples: string[];
431
+ displayName: string;
432
+ count: number;
433
+ }, {
434
+ id: string;
435
+ when: string[];
436
+ examples: string[];
437
+ displayName: string;
438
+ count: number;
416
439
  }>;
417
440
  export declare const V2WorkflowListOutputSchema: z.ZodObject<{
418
441
  workflows: z.ZodArray<z.ZodObject<{
@@ -511,6 +534,7 @@ export declare const V2WorkflowListOutputSchema: z.ZodObject<{
511
534
  reason: string;
512
535
  specVersionAtLastReview?: number | undefined;
513
536
  }>>;
537
+ examples: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
514
538
  }, "strip", z.ZodTypeAny, {
515
539
  kind: "workflow";
516
540
  name: string;
@@ -518,6 +542,7 @@ export declare const V2WorkflowListOutputSchema: z.ZodObject<{
518
542
  version: string;
519
543
  workflowId: string;
520
544
  workflowHash: string | null;
545
+ examples?: string[] | undefined;
521
546
  visibility?: {
522
547
  source: {
523
548
  kind: "custom" | "bundled" | "user" | "project" | "git" | "remote" | "plugin";
@@ -548,6 +573,7 @@ export declare const V2WorkflowListOutputSchema: z.ZodObject<{
548
573
  version: string;
549
574
  workflowId: string;
550
575
  workflowHash: string | null;
576
+ examples?: string[] | undefined;
551
577
  visibility?: {
552
578
  source: {
553
579
  kind: "custom" | "bundled" | "user" | "project" | "git" | "remote" | "plugin";
@@ -572,10 +598,31 @@ export declare const V2WorkflowListOutputSchema: z.ZodObject<{
572
598
  specVersionAtLastReview?: number | undefined;
573
599
  } | undefined;
574
600
  }>, "many">;
601
+ tagSummary: z.ZodOptional<z.ZodArray<z.ZodObject<{
602
+ id: z.ZodString;
603
+ displayName: z.ZodString;
604
+ count: z.ZodNumber;
605
+ when: z.ZodArray<z.ZodString, "many">;
606
+ examples: z.ZodArray<z.ZodString, "many">;
607
+ }, "strip", z.ZodTypeAny, {
608
+ id: string;
609
+ when: string[];
610
+ examples: string[];
611
+ displayName: string;
612
+ count: number;
613
+ }, {
614
+ id: string;
615
+ when: string[];
616
+ examples: string[];
617
+ displayName: string;
618
+ count: number;
619
+ }>, "many">>;
620
+ _nextStep: z.ZodOptional<z.ZodString>;
575
621
  staleRoots: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
622
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
576
623
  sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
577
624
  sourceKey: z.ZodString;
578
- category: z.ZodEnum<["built_in", "personal", "legacy_project", "rooted_sharing", "external"]>;
625
+ category: z.ZodEnum<["built_in", "personal", "legacy_project", "rooted_sharing", "external", "managed"]>;
579
626
  source: z.ZodObject<{
580
627
  kind: z.ZodEnum<["bundled", "user", "project", "custom", "git", "remote", "plugin"]>;
581
628
  displayName: z.ZodString;
@@ -603,6 +650,14 @@ export declare const V2WorkflowListOutputSchema: z.ZodObject<{
603
650
  rootPath: string;
604
651
  groupLabel: string;
605
652
  }>>;
653
+ managed: z.ZodOptional<z.ZodObject<{
654
+ addedAtMs: z.ZodNumber;
655
+ }, "strip", z.ZodTypeAny, {
656
+ addedAtMs: number;
657
+ }, {
658
+ addedAtMs: number;
659
+ }>>;
660
+ stale: z.ZodOptional<z.ZodLiteral<true>>;
606
661
  migration: z.ZodOptional<z.ZodObject<{
607
662
  preferredSource: z.ZodLiteral<"rooted_sharing">;
608
663
  currentSource: z.ZodLiteral<"legacy_project">;
@@ -624,7 +679,7 @@ export declare const V2WorkflowListOutputSchema: z.ZodObject<{
624
679
  kind: "custom" | "bundled" | "user" | "project" | "git" | "remote" | "plugin";
625
680
  displayName: string;
626
681
  };
627
- category: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "external";
682
+ category: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "external" | "managed";
628
683
  sourceKey: string;
629
684
  sourceMode: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "live_directory";
630
685
  effectiveWorkflowCount: number;
@@ -641,12 +696,16 @@ export declare const V2WorkflowListOutputSchema: z.ZodObject<{
641
696
  preferredSource: "rooted_sharing";
642
697
  currentSource: "legacy_project";
643
698
  } | undefined;
699
+ managed?: {
700
+ addedAtMs: number;
701
+ } | undefined;
702
+ stale?: true | undefined;
644
703
  }, {
645
704
  source: {
646
705
  kind: "custom" | "bundled" | "user" | "project" | "git" | "remote" | "plugin";
647
706
  displayName: string;
648
707
  };
649
- category: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "external";
708
+ category: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "external" | "managed";
650
709
  sourceKey: string;
651
710
  sourceMode: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "live_directory";
652
711
  effectiveWorkflowCount: number;
@@ -663,6 +722,10 @@ export declare const V2WorkflowListOutputSchema: z.ZodObject<{
663
722
  preferredSource: "rooted_sharing";
664
723
  currentSource: "legacy_project";
665
724
  } | undefined;
725
+ managed?: {
726
+ addedAtMs: number;
727
+ } | undefined;
728
+ stale?: true | undefined;
666
729
  }>, "many">>;
667
730
  }, "strip", z.ZodTypeAny, {
668
731
  workflows: {
@@ -672,6 +735,7 @@ export declare const V2WorkflowListOutputSchema: z.ZodObject<{
672
735
  version: string;
673
736
  workflowId: string;
674
737
  workflowHash: string | null;
738
+ examples?: string[] | undefined;
675
739
  visibility?: {
676
740
  source: {
677
741
  kind: "custom" | "bundled" | "user" | "project" | "git" | "remote" | "plugin";
@@ -701,7 +765,7 @@ export declare const V2WorkflowListOutputSchema: z.ZodObject<{
701
765
  kind: "custom" | "bundled" | "user" | "project" | "git" | "remote" | "plugin";
702
766
  displayName: string;
703
767
  };
704
- category: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "external";
768
+ category: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "external" | "managed";
705
769
  sourceKey: string;
706
770
  sourceMode: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "live_directory";
707
771
  effectiveWorkflowCount: number;
@@ -718,7 +782,20 @@ export declare const V2WorkflowListOutputSchema: z.ZodObject<{
718
782
  preferredSource: "rooted_sharing";
719
783
  currentSource: "legacy_project";
720
784
  } | undefined;
785
+ managed?: {
786
+ addedAtMs: number;
787
+ } | undefined;
788
+ stale?: true | undefined;
789
+ }[] | undefined;
790
+ warnings?: string[] | undefined;
791
+ tagSummary?: {
792
+ id: string;
793
+ when: string[];
794
+ examples: string[];
795
+ displayName: string;
796
+ count: number;
721
797
  }[] | undefined;
798
+ _nextStep?: string | undefined;
722
799
  staleRoots?: string[] | undefined;
723
800
  }, {
724
801
  workflows: {
@@ -728,6 +805,7 @@ export declare const V2WorkflowListOutputSchema: z.ZodObject<{
728
805
  version: string;
729
806
  workflowId: string;
730
807
  workflowHash: string | null;
808
+ examples?: string[] | undefined;
731
809
  visibility?: {
732
810
  source: {
733
811
  kind: "custom" | "bundled" | "user" | "project" | "git" | "remote" | "plugin";
@@ -757,7 +835,7 @@ export declare const V2WorkflowListOutputSchema: z.ZodObject<{
757
835
  kind: "custom" | "bundled" | "user" | "project" | "git" | "remote" | "plugin";
758
836
  displayName: string;
759
837
  };
760
- category: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "external";
838
+ category: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "external" | "managed";
761
839
  sourceKey: string;
762
840
  sourceMode: "built_in" | "personal" | "legacy_project" | "rooted_sharing" | "live_directory";
763
841
  effectiveWorkflowCount: number;
@@ -774,7 +852,20 @@ export declare const V2WorkflowListOutputSchema: z.ZodObject<{
774
852
  preferredSource: "rooted_sharing";
775
853
  currentSource: "legacy_project";
776
854
  } | undefined;
855
+ managed?: {
856
+ addedAtMs: number;
857
+ } | undefined;
858
+ stale?: true | undefined;
859
+ }[] | undefined;
860
+ warnings?: string[] | undefined;
861
+ tagSummary?: {
862
+ id: string;
863
+ when: string[];
864
+ examples: string[];
865
+ displayName: string;
866
+ count: number;
777
867
  }[] | undefined;
868
+ _nextStep?: string | undefined;
778
869
  staleRoots?: string[] | undefined;
779
870
  }>;
780
871
  export declare const V2WorkflowInspectOutputSchema: z.ZodObject<{
@@ -859,6 +950,7 @@ export declare const V2WorkflowInspectOutputSchema: z.ZodObject<{
859
950
  } | undefined;
860
951
  }>>>;
861
952
  staleRoots: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
953
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
862
954
  references: z.ZodOptional<z.ZodArray<z.ZodObject<{
863
955
  id: z.ZodString;
864
956
  title: z.ZodString;
@@ -907,6 +999,7 @@ export declare const V2WorkflowInspectOutputSchema: z.ZodObject<{
907
999
  authoritative: boolean;
908
1000
  resolveFrom?: "workspace" | "package" | undefined;
909
1001
  }[] | undefined;
1002
+ warnings?: string[] | undefined;
910
1003
  visibility?: {
911
1004
  source: {
912
1005
  kind: "custom" | "bundled" | "user" | "project" | "git" | "remote" | "plugin";
@@ -944,6 +1037,7 @@ export declare const V2WorkflowInspectOutputSchema: z.ZodObject<{
944
1037
  authoritative: boolean;
945
1038
  resolveFrom?: "workspace" | "package" | undefined;
946
1039
  }[] | undefined;
1040
+ warnings?: string[] | undefined;
947
1041
  visibility?: {
948
1042
  source: {
949
1043
  kind: "custom" | "bundled" | "user" | "project" | "git" | "remote" | "plugin";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpenDashboardOutputSchema = exports.ReadSessionSchemaOutputSchema = exports.ReadSessionOutputSchema = exports.UpdateSessionOutputSchema = exports.CreateSessionOutputSchema = exports.V2StartWorkflowOutputSchema = exports.V2CheckpointWorkflowOutputSchema = exports.V2ResumeSessionOutputSchema = exports.V2ContinueWorkflowOutputSchema = exports.V2StepContextSchema = exports.V2BindingDriftWarningSchema = exports.V2BlockerReportSchema = exports.V2ResumeNextCallSchema = exports.V2NextCallSchema = exports.V2NextIntentSchema = exports.V2PreferencesSchema = exports.V2PendingStepSchema = exports.V2WorkflowInspectOutputSchema = exports.V2WorkflowListOutputSchema = exports.V2WorkflowSourceCatalogEntrySchema = exports.V2WorkflowListItemSchema = exports.StalenessSummarySchema = exports.WorkflowGetSchemaOutputSchema = exports.WorkflowValidateJsonOutputSchema = exports.WorkflowNextOutputSchema = exports.WorkflowGetOutputSchema = exports.WorkflowListOutputSchema = exports.WorkflowSummarySchema = exports.JsonValueSchema = void 0;
3
+ exports.OpenDashboardOutputSchema = exports.ReadSessionSchemaOutputSchema = exports.ReadSessionOutputSchema = exports.UpdateSessionOutputSchema = exports.CreateSessionOutputSchema = exports.V2StartWorkflowOutputSchema = exports.V2CheckpointWorkflowOutputSchema = exports.V2ResumeSessionOutputSchema = exports.V2ContinueWorkflowOutputSchema = exports.V2StepContextSchema = exports.V2BindingDriftWarningSchema = exports.V2BlockerReportSchema = exports.V2ResumeNextCallSchema = exports.V2NextCallSchema = exports.V2NextIntentSchema = exports.V2PreferencesSchema = exports.V2PendingStepSchema = exports.V2WorkflowInspectOutputSchema = exports.V2WorkflowListOutputSchema = exports.TagSummaryItemSchema = exports.V2WorkflowSourceCatalogEntrySchema = exports.V2WorkflowListItemSchema = exports.StalenessSummarySchema = exports.WorkflowGetSchemaOutputSchema = exports.WorkflowValidateJsonOutputSchema = exports.WorkflowNextOutputSchema = exports.WorkflowGetOutputSchema = exports.WorkflowListOutputSchema = exports.WorkflowSummarySchema = exports.JsonValueSchema = void 0;
4
4
  exports.toPendingStep = toPendingStep;
5
5
  const zod_1 = require("zod");
6
6
  const state_js_1 = require("../domain/execution/state.js");
@@ -27,13 +27,8 @@ exports.WorkflowNextOutputSchema = zod_1.z.object({
27
27
  });
28
28
  exports.WorkflowValidateJsonOutputSchema = zod_1.z.object({
29
29
  valid: zod_1.z.boolean(),
30
- errors: zod_1.z
31
- .array(zod_1.z.object({
32
- message: zod_1.z.string(),
33
- path: zod_1.z.string().optional(),
34
- }))
35
- .optional(),
36
- suggestions: zod_1.z.array(zod_1.z.string()).optional(),
30
+ issues: zod_1.z.array(zod_1.z.string()),
31
+ suggestions: zod_1.z.array(zod_1.z.string()),
37
32
  });
38
33
  exports.WorkflowGetSchemaOutputSchema = zod_1.z.object({
39
34
  schema: exports.JsonValueSchema,
@@ -79,10 +74,13 @@ exports.V2WorkflowListItemSchema = zod_1.z.object({
79
74
  }).optional(),
80
75
  }).optional(),
81
76
  staleness: exports.StalenessSummarySchema.optional(),
77
+ examples: zod_1.z.array(zod_1.z.string().min(10).max(120)).min(1).max(6).optional().describe('Short illustrative goal strings showing what this workflow is used for. ' +
78
+ 'Present when the workflow author has provided examples. ' +
79
+ 'Use these to help users understand what goals to provide when starting this workflow.'),
82
80
  });
83
81
  exports.V2WorkflowSourceCatalogEntrySchema = zod_1.z.object({
84
82
  sourceKey: zod_1.z.string().min(1).describe('Stable identifier for this source. Format: "{kind}:{absolutePath}" for filesystem sources (e.g. "project:/path/to/workflows", "custom:/path/to/.workrail/workflows"), or "built_in" for bundled sources.'),
85
- category: zod_1.z.enum(['built_in', 'personal', 'legacy_project', 'rooted_sharing', 'external']),
83
+ category: zod_1.z.enum(['built_in', 'personal', 'legacy_project', 'rooted_sharing', 'external', 'managed']),
86
84
  source: zod_1.z.object({
87
85
  kind: zod_1.z.enum(['bundled', 'user', 'project', 'custom', 'git', 'remote', 'plugin']),
88
86
  displayName: zod_1.z.string().min(1),
@@ -96,6 +94,11 @@ exports.V2WorkflowSourceCatalogEntrySchema = zod_1.z.object({
96
94
  rootPath: zod_1.z.string().min(1),
97
95
  groupLabel: zod_1.z.string().min(1),
98
96
  }).optional(),
97
+ managed: zod_1.z.object({
98
+ addedAtMs: zod_1.z.number().int().min(0),
99
+ }).optional(),
100
+ stale: zod_1.z.literal(true).optional().describe('Present and true when this source directory was not accessible during discovery. ' +
101
+ 'The path is also included in staleRoots. Workflows from this source were not loaded.'),
99
102
  migration: zod_1.z.object({
100
103
  preferredSource: zod_1.z.literal('rooted_sharing'),
101
104
  currentSource: zod_1.z.literal('legacy_project'),
@@ -103,11 +106,24 @@ exports.V2WorkflowSourceCatalogEntrySchema = zod_1.z.object({
103
106
  summary: zod_1.z.string().min(1),
104
107
  }).optional(),
105
108
  });
109
+ exports.TagSummaryItemSchema = zod_1.z.object({
110
+ id: zod_1.z.string().min(1).describe('Tag identifier, e.g. "coding" or "review_audit".'),
111
+ displayName: zod_1.z.string().min(1).describe('Human-readable tag name.'),
112
+ count: zod_1.z.number().int().min(0).describe('Number of workflows with this tag.'),
113
+ when: zod_1.z.array(zod_1.z.string()).describe('Intent phrases describing when to use workflows in this tag.'),
114
+ examples: zod_1.z.array(zod_1.z.string()).describe('Representative workflow IDs for this tag.'),
115
+ });
106
116
  exports.V2WorkflowListOutputSchema = zod_1.z.object({
107
117
  workflows: zod_1.z.array(exports.V2WorkflowListItemSchema),
108
- staleRoots: zod_1.z.array(zod_1.z.string()).optional().describe('Remembered workspace roots that were inaccessible during workflow discovery. ' +
109
- 'Workflows from these roots were not included in this response. ' +
110
- 'These roots will be retried on the next call.'),
118
+ tagSummary: zod_1.z.array(exports.TagSummaryItemSchema).optional().describe('Tag summary for the workflow catalog. Present when no tags filter was applied. ' +
119
+ 'Each entry covers one domain tag with a workflow count, intent phrases (when to use), and representative workflow IDs. ' +
120
+ 'Use tags=[\"<id>\"] to get the full workflow list for a specific tag. Absent when a tags filter was applied.'),
121
+ _nextStep: zod_1.z.string().optional().describe('Guidance on what to do next. Present when tagSummary is returned (no tags filter applied).'),
122
+ staleRoots: zod_1.z.array(zod_1.z.string()).optional().describe('Workflow source paths that were inaccessible during discovery (missing remembered roots or missing managed source directories). ' +
123
+ 'Workflows from these paths were not included in this response. ' +
124
+ 'These paths will be rechecked on the next call.'),
125
+ warnings: zod_1.z.array(zod_1.z.string()).optional().describe('Advisory messages about infrastructure issues that did not prevent a response but may have caused incomplete results. ' +
126
+ 'Example: the managed source store was temporarily unavailable and managed sources were not loaded.'),
111
127
  sources: zod_1.z.array(exports.V2WorkflowSourceCatalogEntrySchema).optional().describe('Source catalog for this workspace. Only present when includeSources was true in the request. ' +
112
128
  'Shows where workflows come from with effective and shadowed counts per source.'),
113
129
  });
@@ -117,9 +133,11 @@ exports.V2WorkflowInspectOutputSchema = zod_1.z.object({
117
133
  mode: zod_1.z.enum(['metadata', 'preview']),
118
134
  compiled: exports.JsonValueSchema,
119
135
  visibility: exports.V2WorkflowListItemSchema.shape.visibility.optional(),
120
- staleRoots: zod_1.z.array(zod_1.z.string()).optional().describe('Remembered workspace roots that were inaccessible during workflow discovery. ' +
121
- 'Workflows from these roots were not included in this response. ' +
122
- 'These roots will be retried on the next call.'),
136
+ staleRoots: zod_1.z.array(zod_1.z.string()).optional().describe('Workflow source paths that were inaccessible during discovery (missing remembered roots or missing managed source directories). ' +
137
+ 'Workflows from these paths were not included in this response. ' +
138
+ 'These paths will be rechecked on the next call.'),
139
+ warnings: zod_1.z.array(zod_1.z.string()).optional().describe('Advisory messages about infrastructure issues that did not prevent a response but may have caused incomplete results. ' +
140
+ 'Example: the managed source store was temporarily unavailable and managed sources were not loaded.'),
123
141
  references: zod_1.z.array(zod_1.z.object({
124
142
  id: zod_1.z.string().min(1),
125
143
  title: zod_1.z.string().min(1),
@@ -371,9 +389,9 @@ exports.V2StartWorkflowOutputSchema = zod_1.z.object({
371
389
  preferences: exports.V2PreferencesSchema,
372
390
  nextIntent: exports.V2NextIntentSchema,
373
391
  nextCall: exports.V2NextCallSchema,
374
- staleRoots: zod_1.z.array(zod_1.z.string()).optional().describe('Remembered workspace roots that were inaccessible during workflow discovery. ' +
375
- 'Workflows from these roots were not included in this response. ' +
376
- 'These roots will be retried on the next call.'),
392
+ staleRoots: zod_1.z.array(zod_1.z.string()).optional().describe('Workflow source paths that were inaccessible during discovery (missing remembered roots or missing managed source directories). ' +
393
+ 'Workflows from these paths were not included in this response. ' +
394
+ 'These paths will be rechecked on the next call.'),
377
395
  }).refine((data) => (data.pending ? data.continueToken != null : true), { message: 'continueToken is required when a pending step exists' });
378
396
  exports.CreateSessionOutputSchema = zod_1.z.object({
379
397
  sessionId: zod_1.z.string().min(1),