@ai-dossier/mcp-server 1.0.2 → 1.0.4

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 (85) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +110 -297
  3. package/dist/index.js +196 -11
  4. package/dist/index.js.map +1 -1
  5. package/dist/orchestration/outputMapper.d.ts +94 -0
  6. package/dist/orchestration/outputMapper.d.ts.map +1 -0
  7. package/dist/orchestration/outputMapper.js +129 -0
  8. package/dist/orchestration/outputMapper.js.map +1 -0
  9. package/dist/orchestration/session.d.ts +43 -0
  10. package/dist/orchestration/session.d.ts.map +1 -0
  11. package/dist/orchestration/session.js +67 -0
  12. package/dist/orchestration/session.js.map +1 -0
  13. package/dist/resources/orchestration.d.ts +7 -0
  14. package/dist/resources/orchestration.d.ts.map +1 -0
  15. package/dist/resources/orchestration.js +11 -0
  16. package/dist/resources/orchestration.js.map +1 -0
  17. package/dist/tools/cancelJourney.d.ts +20 -0
  18. package/dist/tools/cancelJourney.d.ts.map +1 -0
  19. package/dist/tools/cancelJourney.js +50 -0
  20. package/dist/tools/cancelJourney.js.map +1 -0
  21. package/dist/tools/getJourneyStatus.d.ts +29 -0
  22. package/dist/tools/getJourneyStatus.d.ts.map +1 -0
  23. package/dist/tools/getJourneyStatus.js +39 -0
  24. package/dist/tools/getJourneyStatus.js.map +1 -0
  25. package/dist/tools/readDossier.d.ts +1 -0
  26. package/dist/tools/readDossier.d.ts.map +1 -1
  27. package/dist/tools/readDossier.js +22 -1
  28. package/dist/tools/readDossier.js.map +1 -1
  29. package/dist/tools/startJourney.d.ts +26 -0
  30. package/dist/tools/startJourney.d.ts.map +1 -0
  31. package/dist/tools/startJourney.js +90 -0
  32. package/dist/tools/startJourney.js.map +1 -0
  33. package/dist/tools/stepComplete.d.ts +28 -0
  34. package/dist/tools/stepComplete.d.ts.map +1 -0
  35. package/dist/tools/stepComplete.js +101 -0
  36. package/dist/tools/stepComplete.js.map +1 -0
  37. package/package.json +7 -4
  38. package/dist/orchestration/__tests__/graph.test.d.ts +0 -2
  39. package/dist/orchestration/__tests__/graph.test.d.ts.map +0 -1
  40. package/dist/orchestration/__tests__/graph.test.js +0 -348
  41. package/dist/orchestration/__tests__/graph.test.js.map +0 -1
  42. package/dist/orchestration/__tests__/resolver.test.d.ts +0 -2
  43. package/dist/orchestration/__tests__/resolver.test.d.ts.map +0 -1
  44. package/dist/orchestration/__tests__/resolver.test.js +0 -181
  45. package/dist/orchestration/__tests__/resolver.test.js.map +0 -1
  46. package/dist/parsers/signatureVerifier.d.ts +0 -10
  47. package/dist/parsers/signatureVerifier.d.ts.map +0 -1
  48. package/dist/parsers/signatureVerifier.js +0 -85
  49. package/dist/parsers/signatureVerifier.js.map +0 -1
  50. package/dist/tools/__tests__/listDossiers.test.d.ts +0 -2
  51. package/dist/tools/__tests__/listDossiers.test.d.ts.map +0 -1
  52. package/dist/tools/__tests__/listDossiers.test.js +0 -67
  53. package/dist/tools/__tests__/listDossiers.test.js.map +0 -1
  54. package/dist/tools/__tests__/readDossier.test.d.ts +0 -2
  55. package/dist/tools/__tests__/readDossier.test.d.ts.map +0 -1
  56. package/dist/tools/__tests__/readDossier.test.js +0 -88
  57. package/dist/tools/__tests__/readDossier.test.js.map +0 -1
  58. package/dist/tools/__tests__/resolveGraph.test.d.ts +0 -2
  59. package/dist/tools/__tests__/resolveGraph.test.d.ts.map +0 -1
  60. package/dist/tools/__tests__/resolveGraph.test.js +0 -170
  61. package/dist/tools/__tests__/resolveGraph.test.js.map +0 -1
  62. package/dist/tools/__tests__/searchDossiers.test.d.ts +0 -2
  63. package/dist/tools/__tests__/searchDossiers.test.d.ts.map +0 -1
  64. package/dist/tools/__tests__/searchDossiers.test.js +0 -52
  65. package/dist/tools/__tests__/searchDossiers.test.js.map +0 -1
  66. package/dist/tools/__tests__/verifyDossier.test.d.ts +0 -2
  67. package/dist/tools/__tests__/verifyDossier.test.d.ts.map +0 -1
  68. package/dist/tools/__tests__/verifyDossier.test.js +0 -59
  69. package/dist/tools/__tests__/verifyDossier.test.js.map +0 -1
  70. package/dist/tools/__tests__/verifyGraph.test.d.ts +0 -2
  71. package/dist/tools/__tests__/verifyGraph.test.d.ts.map +0 -1
  72. package/dist/tools/__tests__/verifyGraph.test.js +0 -278
  73. package/dist/tools/__tests__/verifyGraph.test.js.map +0 -1
  74. package/dist/utils/__tests__/cli-wrapper.test.d.ts +0 -2
  75. package/dist/utils/__tests__/cli-wrapper.test.d.ts.map +0 -1
  76. package/dist/utils/__tests__/cli-wrapper.test.js +0 -29
  77. package/dist/utils/__tests__/cli-wrapper.test.js.map +0 -1
  78. package/dist/utils/__tests__/paths.test.d.ts +0 -2
  79. package/dist/utils/__tests__/paths.test.d.ts.map +0 -1
  80. package/dist/utils/__tests__/paths.test.js +0 -26
  81. package/dist/utils/__tests__/paths.test.js.map +0 -1
  82. package/dist/utils/errors.d.ts +0 -35
  83. package/dist/utils/errors.d.ts.map +0 -1
  84. package/dist/utils/errors.js +0 -68
  85. package/dist/utils/errors.js.map +0 -1
package/dist/index.js CHANGED
@@ -10,20 +10,28 @@ const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
10
10
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
11
11
  const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
12
12
  const concept_js_1 = require("./resources/concept.js");
13
+ const orchestration_js_1 = require("./resources/orchestration.js");
13
14
  const protocol_js_1 = require("./resources/protocol.js");
14
15
  const security_js_1 = require("./resources/security.js");
16
+ const cancelJourney_js_1 = require("./tools/cancelJourney.js");
17
+ const getJourneyStatus_js_1 = require("./tools/getJourneyStatus.js");
15
18
  const listDossiers_js_1 = require("./tools/listDossiers.js");
16
19
  const readDossier_js_1 = require("./tools/readDossier.js");
17
20
  const resolveGraph_js_1 = require("./tools/resolveGraph.js");
18
21
  const searchDossiers_js_1 = require("./tools/searchDossiers.js");
22
+ const startJourney_js_1 = require("./tools/startJourney.js");
23
+ const stepComplete_js_1 = require("./tools/stepComplete.js");
19
24
  const verifyDossier_js_1 = require("./tools/verifyDossier.js");
20
25
  const verifyGraph_js_1 = require("./tools/verifyGraph.js");
21
26
  const logger_js_1 = require("./utils/logger.js");
22
27
  const response_js_1 = require("./utils/response.js");
28
+ // Read version from package.json to avoid hardcoded drift
29
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
30
+ const { version } = require('../package.json');
23
31
  // Create MCP server instance
24
32
  const server = new index_js_1.Server({
25
33
  name: '@ai-dossier/mcp-server',
26
- version: '1.0.0',
34
+ version,
27
35
  }, {
28
36
  capabilities: {
29
37
  tools: {},
@@ -130,6 +138,75 @@ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
130
138
  },
131
139
  },
132
140
  },
141
+ {
142
+ name: 'start_journey',
143
+ description: "Start a journey session from a resolved and verified graph. Creates a session, returns the first step's dossier content with any injected context. Call step_complete after executing each step.",
144
+ inputSchema: {
145
+ type: 'object',
146
+ properties: {
147
+ graph_id: {
148
+ type: 'string',
149
+ description: 'ID of a previously resolved graph (from resolve_graph)',
150
+ },
151
+ },
152
+ required: ['graph_id'],
153
+ },
154
+ },
155
+ {
156
+ name: 'step_complete',
157
+ description: 'Mark the current journey step as complete or failed. Advances to the next step and returns its dossier content with injected context from previous outputs. Returns a summary when the last step completes or a step fails.',
158
+ inputSchema: {
159
+ type: 'object',
160
+ properties: {
161
+ journey_id: {
162
+ type: 'string',
163
+ description: 'Journey session ID (from start_journey)',
164
+ },
165
+ outputs: {
166
+ type: 'object',
167
+ description: 'Key-value outputs collected during this step (e.g. { cluster_arn: "arn:..." })',
168
+ },
169
+ status: {
170
+ type: 'string',
171
+ enum: ['completed', 'failed'],
172
+ description: 'Whether this step succeeded or failed',
173
+ },
174
+ },
175
+ required: ['journey_id', 'status'],
176
+ },
177
+ },
178
+ {
179
+ name: 'get_journey_status',
180
+ description: 'Get the current state of a journey session: completed steps, current step, remaining steps, and collected outputs.',
181
+ inputSchema: {
182
+ type: 'object',
183
+ properties: {
184
+ journey_id: {
185
+ type: 'string',
186
+ description: 'Journey session ID (from start_journey)',
187
+ },
188
+ },
189
+ required: ['journey_id'],
190
+ },
191
+ },
192
+ {
193
+ name: 'cancel_journey',
194
+ description: 'Cancel an active journey session. Returns a summary of what completed before cancellation.',
195
+ inputSchema: {
196
+ type: 'object',
197
+ properties: {
198
+ journey_id: {
199
+ type: 'string',
200
+ description: 'Journey session ID (from start_journey)',
201
+ },
202
+ reason: {
203
+ type: 'string',
204
+ description: 'Optional reason for cancellation',
205
+ },
206
+ },
207
+ required: ['journey_id'],
208
+ },
209
+ },
133
210
  ],
134
211
  };
135
212
  });
@@ -163,6 +240,22 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
163
240
  const result = await (0, verifyGraph_js_1.verifyGraph)(args);
164
241
  return (0, response_js_1.createToolResponse)(result);
165
242
  }
243
+ case 'start_journey': {
244
+ const result = await (0, startJourney_js_1.startJourney)(args);
245
+ return (0, response_js_1.createToolResponse)(result);
246
+ }
247
+ case 'step_complete': {
248
+ const result = await (0, stepComplete_js_1.stepComplete)(args);
249
+ return (0, response_js_1.createToolResponse)(result);
250
+ }
251
+ case 'get_journey_status': {
252
+ const result = (0, getJourneyStatus_js_1.getJourneyStatus)(args);
253
+ return (0, response_js_1.createToolResponse)(result);
254
+ }
255
+ case 'cancel_journey': {
256
+ const result = (0, cancelJourney_js_1.cancelJourney)(args);
257
+ return (0, response_js_1.createToolResponse)(result);
258
+ }
166
259
  default:
167
260
  throw new Error(`Unknown tool: ${name}`);
168
261
  }
@@ -196,6 +289,12 @@ server.setRequestHandler(types_js_1.ListResourcesRequestSchema, async () => {
196
289
  description: 'Introduction to dossiers - what they are and why to use them',
197
290
  mimeType: 'text/markdown',
198
291
  },
292
+ {
293
+ uri: 'dossier://orchestration',
294
+ name: 'Orchestration Reference',
295
+ description: 'Complete reference for multi-dossier journey tools: resolve_graph, verify_graph, start_journey, step_complete, get_journey_status, cancel_journey',
296
+ mimeType: 'text/markdown',
297
+ },
199
298
  ],
200
299
  };
201
300
  });
@@ -215,6 +314,9 @@ server.setRequestHandler(types_js_1.ReadResourceRequestSchema, async (request) =
215
314
  case 'dossier://concept':
216
315
  content = (0, concept_js_1.getConceptResource)();
217
316
  break;
317
+ case 'dossier://orchestration':
318
+ content = (0, orchestration_js_1.getOrchestrationResource)();
319
+ break;
218
320
  default:
219
321
  throw new Error(`Unknown resource: ${uri}`);
220
322
  }
@@ -241,7 +343,7 @@ server.setRequestHandler(types_js_1.ListPromptsRequestSchema, async () => {
241
343
  prompts: [
242
344
  {
243
345
  name: 'execute-dossier',
244
- description: 'Run a dossier with verification and protocol',
346
+ description: 'Run a dossier with verification and protocol. Automatically chooses single-dossier or multi-dossier journey flow based on relationships.',
245
347
  arguments: [
246
348
  {
247
349
  name: 'dossier_path',
@@ -250,6 +352,17 @@ server.setRequestHandler(types_js_1.ListPromptsRequestSchema, async () => {
250
352
  },
251
353
  ],
252
354
  },
355
+ {
356
+ name: 'execute-journey',
357
+ description: 'Guide the LLM through a multi-step dossier journey: resolve, verify, present plan, execute steps in order, collect outputs.',
358
+ arguments: [
359
+ {
360
+ name: 'graph_id',
361
+ description: 'ID of a previously resolved graph (from resolve_graph)',
362
+ required: true,
363
+ },
364
+ ],
365
+ },
253
366
  {
254
367
  name: 'create-dossier',
255
368
  description: 'Author a new dossier with proper structure',
@@ -292,20 +405,92 @@ server.setRequestHandler(types_js_1.GetPromptRequestSchema, async (request) => {
292
405
  type: 'text',
293
406
  text: `Execute the dossier at: ${dossierPath}
294
407
 
295
- Follow the Dossier Execution Protocol:
408
+ ## Decision: Single or Multi-Dossier?
296
409
 
297
- 1. **VERIFY** - Run \`dossier verify ${dossierPath}\` to check integrity and signature
298
- - If verification fails, STOP and report the issue
299
- - If signature is from untrusted source, ask user whether to proceed
410
+ First, read the dossier metadata to check for relationships:
411
+ - Use \`read_dossier({ path: "${dossierPath}" })\` and inspect the \`metadata.relationships\` field.
300
412
 
301
- 2. **READ** - Use the read_dossier tool to get the dossier content
413
+ **If the dossier has \`relationships.preceded_by\` or \`relationships.followed_by\` with \`condition: "required"\`:**
414
+ → Use the **journey flow** (multi-dossier):
415
+ 1. \`resolve_graph({ dossier: "${dossierPath}" })\` — build execution plan
416
+ 2. \`verify_graph({ graph_id })\` — batch-verify all dossiers
417
+ - BLOCK → STOP, report integrity failure
418
+ - WARN → inform user, ask to proceed
419
+ 3. Present the journey plan to the user: steps, risk, estimated duration
420
+ 4. \`start_journey({ graph_id })\` — begin execution, get first step
421
+ 5. Execute each step's body, then call \`step_complete({ journey_id, status: "completed", outputs: {...} })\`
422
+ 6. Repeat until journey status is "completed" or "failed"
423
+ 7. Report the journey summary
302
424
 
303
- 3. **EXECUTE** - Follow the instructions in the dossier body
304
- - Respect any risk_level warnings
425
+ **Otherwise (no required relationships):**
426
+ Use the **single-dossier flow**:
427
+ 1. \`verify_dossier({ path: "${dossierPath}" })\` — check integrity and signature
428
+ - If verification fails → STOP and report the issue
429
+ - If signature is untrusted → ask user whether to proceed
430
+ 2. \`read_dossier({ path: "${dossierPath}" })\` — get dossier content
431
+ 3. Execute the dossier body instructions
432
+ - Respect \`risk_level\` warnings
305
433
  - Ask for confirmation before destructive operations
306
434
  - Report progress as you complete each step
435
+ 4. Summarize what was accomplished`,
436
+ },
437
+ },
438
+ ],
439
+ };
440
+ }
441
+ case 'execute-journey': {
442
+ const graphId = args?.graph_id;
443
+ if (!graphId) {
444
+ throw new Error('graph_id argument is required');
445
+ }
446
+ return {
447
+ messages: [
448
+ {
449
+ role: 'user',
450
+ content: {
451
+ type: 'text',
452
+ text: `Execute the multi-dossier journey for graph: ${graphId}
453
+
454
+ ## Journey Execution Steps
455
+
456
+ 1. **Verify the graph** (if not already done):
457
+ \`verify_graph({ graph_id: "${graphId}" })\`
458
+ - BLOCK → STOP, list the blockers to the user
459
+ - WARN → inform the user of unsigned/high-risk dossiers, ask to proceed
460
+ - ALLOW → continue
461
+
462
+ 2. **Present the journey plan** to the user:
463
+ - List each step: "Step 1: setup-project → Step 2: install-deps → Step 3: run-tests"
464
+ - Show aggregate risk level
465
+ - Ask: "Ready to proceed?"
466
+
467
+ 3. **Start the journey**:
468
+ \`start_journey({ graph_id: "${graphId}" })\`
469
+ → Returns \`{ journey_id, step: { index, dossier, body, context } }\`
470
+
471
+ 4. **For each step**:
472
+ a. Show the user: "Executing step [index+1]/[total]: [dossier]"
473
+ b. Execute the step body instructions
474
+ c. Collect any outputs declared in the dossier (e.g., \`project_path\`, \`cluster_arn\`)
475
+ d. Call: \`step_complete({ journey_id, status: "completed", outputs: { key: value } })\`
476
+ e. If \`status: "running"\` → repeat with next step
477
+ f. If \`status: "completed"\` → journey done, show summary
478
+ g. If \`status: "failed"\` → show failure summary, diagnose with user
479
+
480
+ 5. **On step failure**:
481
+ - Diagnose what went wrong
482
+ - Ask user: retry manually and call step_complete again, or cancel?
483
+ - To cancel: \`cancel_journey({ journey_id, reason: "..." })\`
484
+
485
+ 6. **Report** the journey summary:
486
+ - Steps completed, failed, total duration
487
+ - All collected outputs
488
+ - Next recommended actions (from dossier relationships)
307
489
 
308
- 4. **REPORT** - Summarize what was accomplished`,
490
+ ## Tips
491
+ - Use \`get_journey_status({ journey_id })\` to inspect state at any point
492
+ - The \`context\` field in each step contains outputs from previous steps — use them
493
+ - Never skip calling \`step_complete\` even if a step has no outputs`,
309
494
  },
310
495
  },
311
496
  ],
@@ -351,7 +536,7 @@ async function main() {
351
536
  await server.connect(transport);
352
537
  logger_js_1.logger.info('Dossier MCP Server started', {
353
538
  name: '@ai-dossier/mcp-server',
354
- version: '1.0.0',
539
+ version,
355
540
  transport: 'stdio',
356
541
  });
357
542
  // Keep process alive
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA;;;;GAIG;;AAEH,wEAAmE;AACnE,wEAAiF;AACjF,iEAO4C;AAC5C,uDAA4D;AAC5D,mEAAwE;AACxE,yDAA8D;AAC9D,yDAA8D;AAC9D,+DAAkF;AAClF,qEAA2F;AAC3F,6DAA+E;AAC/E,2DAA4E;AAC5E,6DAA+E;AAC/E,iEAAqF;AACrF,6DAA+E;AAC/E,6DAA+E;AAC/E,+DAAkF;AAClF,2DAA4E;AAC5E,iDAA2C;AAC3C,qDAAyD;AAEzD,0DAA0D;AAC1D,iEAAiE;AACjE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,6BAA6B;AAC7B,MAAM,MAAM,GAAG,IAAI,iBAAM,CACvB;IACE,IAAI,EAAE,wBAAwB;IAC9B,OAAO;CACR,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;KACZ;CACF,CACF,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,kBAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC9B,OAAO;QACL,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EACT,sIAAsI;gBACxI,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,+BAA+B;yBAC7C;qBACF;oBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;iBACnB;aACF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EACT,4GAA4G;gBAC9G,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,+BAA+B;yBAC7C;qBACF;oBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;iBACnB;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EACT,2FAA2F;gBAC7F,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,0DAA0D;yBACxE;wBACD,SAAS,EAAE;4BACT,IAAI,EAAE,SAAS;4BACf,WAAW,EAAE,mDAAmD;yBACjE;qBACF;iBACF;aACF;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EACT,yGAAyG;gBAC3G,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,iBAAiB;yBAC/B;wBACD,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,oEAAoE;yBAClF;qBACF;oBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EACT,4MAA4M;gBAC9M,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,OAAO,EAAE;4BACP,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,gDAAgD;yBAC9D;qBACF;oBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;iBACtB;aACF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EACT,uMAAuM;gBACzM,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,wDAAwD;yBACtE;wBACD,OAAO,EAAE;4BACP,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,oFAAoF;yBACvF;qBACF;iBACF;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EACT,kMAAkM;gBACpM,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,wDAAwD;yBACtE;qBACF;oBACD,QAAQ,EAAE,CAAC,UAAU,CAAC;iBACvB;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EACT,6NAA6N;gBAC/N,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,yCAAyC;yBACvD;wBACD,OAAO,EAAE;4BACP,IAAI,EAAE,QAAQ;4BACd,WAAW,EACT,gFAAgF;yBACnF;wBACD,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;4BAC7B,WAAW,EAAE,uCAAuC;yBACrD;qBACF;oBACD,QAAQ,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;iBACnC;aACF;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,oHAAoH;gBACtH,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,yCAAyC;yBACvD;qBACF;oBACD,QAAQ,EAAE,CAAC,YAAY,CAAC;iBACzB;aACF;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EACT,4FAA4F;gBAC9F,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,yCAAyC;yBACvD;wBACD,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,kCAAkC;yBAChD;qBACF;oBACD,QAAQ,EAAE,CAAC,YAAY,CAAC;iBACzB;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,oBAAoB;AACpB,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,kBAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnE,IAAI,CAAC;QACH,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAa,EAAC,IAAqC,CAAC,CAAC;gBAC1E,OAAO,IAAA,gCAAkB,EAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAW,EAAC,IAAmC,CAAC,CAAC;gBACtE,OAAO,IAAA,gCAAkB,EAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAY,EAAC,IAAoC,CAAC,CAAC;gBACxE,OAAO,IAAA,gCAAkB,EAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAc,EAAC,IAAsC,CAAC,CAAC;gBAC5E,OAAO,IAAA,gCAAkB,EAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAY,EAAC,IAAoC,CAAC,CAAC;gBACxE,OAAO,IAAA,gCAAkB,EAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAW,EAAC,IAAmC,CAAC,CAAC;gBACtE,OAAO,IAAA,gCAAkB,EAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAY,EAAC,IAAoC,CAAC,CAAC;gBACxE,OAAO,IAAA,gCAAkB,EAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAY,EAAC,IAAoC,CAAC,CAAC;gBACxE,OAAO,IAAA,gCAAkB,EAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,MAAM,MAAM,GAAG,IAAA,sCAAgB,EAAC,IAAwC,CAAC,CAAC;gBAC1E,OAAO,IAAA,gCAAkB,EAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,IAAA,gCAAa,EAAC,IAAqC,CAAC,CAAC;gBACpE,OAAO,IAAA,gCAAkB,EAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED;gBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,kBAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACrE,OAAO,IAAA,gCAAkB,EAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,qBAAqB;AACrB,MAAM,CAAC,iBAAiB,CAAC,qCAA0B,EAAE,KAAK,IAAI,EAAE;IAC9D,kBAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAClC,OAAO;QACL,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,oBAAoB;gBACzB,IAAI,EAAE,4BAA4B;gBAClC,WAAW,EAAE,gDAAgD;gBAC7D,QAAQ,EAAE,eAAe;aAC1B;YACD;gBACE,GAAG,EAAE,oBAAoB;gBACzB,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EAAE,6DAA6D;gBAC1E,QAAQ,EAAE,eAAe;aAC1B;YACD;gBACE,GAAG,EAAE,mBAAmB;gBACxB,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,8DAA8D;gBAC3E,QAAQ,EAAE,eAAe;aAC1B;YACD;gBACE,GAAG,EAAE,yBAAyB;gBAC9B,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EACT,mJAAmJ;gBACrJ,QAAQ,EAAE,eAAe;aAC1B;SACF;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,wBAAwB;AACxB,MAAM,CAAC,iBAAiB,CAAC,oCAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACpE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAE/B,kBAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,IAAI,OAAe,CAAC;QAEpB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,oBAAoB;gBACvB,OAAO,GAAG,IAAA,iCAAmB,GAAE,CAAC;gBAChC,MAAM;YAER,KAAK,oBAAoB;gBACvB,OAAO,GAAG,IAAA,iCAAmB,GAAE,CAAC;gBAChC,MAAM;YAER,KAAK,mBAAmB;gBACtB,OAAO,GAAG,IAAA,+BAAkB,GAAE,CAAC;gBAC/B,MAAM;YAER,KAAK,yBAAyB;gBAC5B,OAAO,GAAG,IAAA,2CAAwB,GAAE,CAAC;gBACrC,MAAM;YAER;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG;oBACH,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,OAAO;iBACd;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,kBAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,MAAM,CAAC,iBAAiB,CAAC,mCAAwB,EAAE,KAAK,IAAI,EAAE;IAC5D,kBAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChC,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EACT,0IAA0I;gBAC5I,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,cAAc;wBACpB,WAAW,EAAE,iCAAiC;wBAC9C,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EACT,6HAA6H;gBAC/H,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,UAAU;wBAChB,WAAW,EAAE,wDAAwD;wBACrE,QAAQ,EAAE,IAAI;qBACf;iBACF;aACF;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,4CAA4C;gBACzD,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,2BAA2B;wBACxC,QAAQ,EAAE,IAAI;qBACf;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,WAAW,EAAE,oCAAoC;wBACjD,QAAQ,EAAE,KAAK;qBAChB;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,WAAW,EAAE,yCAAyC;wBACtD,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACjE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,kBAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,WAAW,GAAG,IAAI,EAAE,YAAsB,CAAC;YACjD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,2BAA2B,WAAW;;;;;gCAK1B,WAAW;;;;iCAIV,WAAW;;;;;;;;;;;;+BAYb,WAAW;;;6BAGb,WAAW;;;;;mCAKL;yBACtB;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,EAAE,QAAkB,CAAC;YACzC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,gDAAgD,OAAO;;;;;iCAK1C,OAAO;;;;;;;;;;;kCAWN,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;qEAyB4B;yBACxD;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAA8B,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,EAAE,UAAgC,CAAC;YACzD,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC;YAErE,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,0BAA0B,KAAK;EACjD,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;EACvC,SAAS,CAAC,CAAC,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;sBACvB,QAAQ;;;;;;iCAMG,KAAK,0BAA0B;yBACnD;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED;YACE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,eAAe;AACf,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,kBAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACxC,IAAI,EAAE,wBAAwB;YAC9B,OAAO;YACP,SAAS,EAAE,OAAO;SACnB,CAAC,CAAC;QAEH,qBAAqB;QACrB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,kBAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,2BAA2B;AAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,kBAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,kBAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,aAAa;AACb,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,kBAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Cross-dossier output mapper.
3
+ * Connects dossier outputs to downstream dossier inputs, enabling automatic
4
+ * data flow between steps in a journey.
5
+ *
6
+ * Schema fields consumed:
7
+ * inputs.from_dossiers — declares what this dossier expects from prior steps
8
+ * outputs.configuration — declares what this dossier produces for later steps
9
+ */
10
+ export interface FromDossierInput {
11
+ source_dossier: string;
12
+ output_name: string;
13
+ usage?: string;
14
+ }
15
+ export interface OutputConfiguration {
16
+ key: string;
17
+ description: string;
18
+ consumed_by?: string[];
19
+ export_as?: string;
20
+ }
21
+ export interface CollectedOutput {
22
+ key: string;
23
+ value: string;
24
+ export_as?: string;
25
+ }
26
+ export interface ResolvedInput {
27
+ source_dossier: string;
28
+ output_name: string;
29
+ value: string;
30
+ export_as?: string;
31
+ usage?: string;
32
+ }
33
+ export interface MappingValidationWarning {
34
+ dossier: string;
35
+ source_dossier: string;
36
+ output_name: string;
37
+ message: string;
38
+ }
39
+ /**
40
+ * Stores outputs collected from completed dossier steps and resolves them
41
+ * into the inputs of subsequent steps.
42
+ *
43
+ * Lifecycle per journey session:
44
+ * 1. Call collectOutput() each time a step reports an output value.
45
+ * 2. Call resolveInputs() / generateContextString() to inject values into
46
+ * the next step's dossier prompt.
47
+ * 3. Call validateInputs() at graph-resolution time to surface missing outputs
48
+ * before execution begins.
49
+ * 4. Call clear() to reset between journey sessions.
50
+ */
51
+ export declare class OutputMapper {
52
+ /** dossier name → (output key → collected output) */
53
+ private readonly store;
54
+ /**
55
+ * Store an output value reported by a completed dossier step.
56
+ * Called when the LLM invokes the step_complete tool.
57
+ */
58
+ collectOutput(dossier: string, key: string, value: string, export_as?: string): void;
59
+ /**
60
+ * Return all collected outputs for a specific dossier.
61
+ */
62
+ getOutputs(dossier: string): CollectedOutput[];
63
+ /**
64
+ * Resolve a dossier's from_dossiers inputs against previously collected
65
+ * outputs. Inputs whose source value has not yet been collected are silently
66
+ * skipped (the caller decides whether that is an error).
67
+ */
68
+ resolveInputs(fromDossiers: FromDossierInput[]): ResolvedInput[];
69
+ /**
70
+ * Generate an LLM-readable context string listing all resolved input values.
71
+ * Returns null when no inputs could be resolved (e.g. first step in a journey).
72
+ *
73
+ * Example output:
74
+ * The following values are available from previous steps:
75
+ * - `cluster_arn = arn:aws:ecs:us-east-1:123:cluster/prod` [env_var] (from setup-infra) — Target ECS cluster
76
+ */
77
+ generateContextString(fromDossiers: FromDossierInput[]): string | null;
78
+ /**
79
+ * Validate that a dossier's from_dossiers inputs have matching output
80
+ * declarations in their source dossiers. Run this at graph-resolution time,
81
+ * before any step executes.
82
+ *
83
+ * @param dossier - name of the dossier being validated
84
+ * @param fromDossiers - its inputs.from_dossiers declarations
85
+ * @param sourceOutputs - map of dossier name → declared outputs.configuration
86
+ * @returns warnings for missing or mismatched declarations (empty = all good)
87
+ */
88
+ validateInputs(dossier: string, fromDossiers: FromDossierInput[], sourceOutputs: Map<string, OutputConfiguration[]>): MappingValidationWarning[];
89
+ /**
90
+ * Clear all stored outputs. Call between journey sessions.
91
+ */
92
+ clear(): void;
93
+ }
94
+ //# sourceMappingURL=outputMapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outputMapper.d.ts","sourceRoot":"","sources":["../../src/orchestration/outputMapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;;;;;GAWG;AACH,qBAAa,YAAY;IACvB,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmD;IAEzE;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAOpF;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE;IAK9C;;;;OAIG;IACH,aAAa,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,aAAa,EAAE;IAmBhE;;;;;;;OAOG;IACH,qBAAqB,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,MAAM,GAAG,IAAI;IAgBtE;;;;;;;;;OASG;IACH,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,gBAAgB,EAAE,EAChC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,GAChD,wBAAwB,EAAE;IA6B7B;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ /**
3
+ * Cross-dossier output mapper.
4
+ * Connects dossier outputs to downstream dossier inputs, enabling automatic
5
+ * data flow between steps in a journey.
6
+ *
7
+ * Schema fields consumed:
8
+ * inputs.from_dossiers — declares what this dossier expects from prior steps
9
+ * outputs.configuration — declares what this dossier produces for later steps
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.OutputMapper = void 0;
13
+ // --- OutputMapper class ---
14
+ /**
15
+ * Stores outputs collected from completed dossier steps and resolves them
16
+ * into the inputs of subsequent steps.
17
+ *
18
+ * Lifecycle per journey session:
19
+ * 1. Call collectOutput() each time a step reports an output value.
20
+ * 2. Call resolveInputs() / generateContextString() to inject values into
21
+ * the next step's dossier prompt.
22
+ * 3. Call validateInputs() at graph-resolution time to surface missing outputs
23
+ * before execution begins.
24
+ * 4. Call clear() to reset between journey sessions.
25
+ */
26
+ class OutputMapper {
27
+ /** dossier name → (output key → collected output) */
28
+ store = new Map();
29
+ /**
30
+ * Store an output value reported by a completed dossier step.
31
+ * Called when the LLM invokes the step_complete tool.
32
+ */
33
+ collectOutput(dossier, key, value, export_as) {
34
+ if (!this.store.has(dossier)) {
35
+ this.store.set(dossier, new Map());
36
+ }
37
+ this.store.get(dossier)?.set(key, { key, value, export_as });
38
+ }
39
+ /**
40
+ * Return all collected outputs for a specific dossier.
41
+ */
42
+ getOutputs(dossier) {
43
+ const map = this.store.get(dossier);
44
+ return map ? [...map.values()] : [];
45
+ }
46
+ /**
47
+ * Resolve a dossier's from_dossiers inputs against previously collected
48
+ * outputs. Inputs whose source value has not yet been collected are silently
49
+ * skipped (the caller decides whether that is an error).
50
+ */
51
+ resolveInputs(fromDossiers) {
52
+ const resolved = [];
53
+ for (const input of fromDossiers) {
54
+ const output = this.store.get(input.source_dossier)?.get(input.output_name);
55
+ if (output === undefined)
56
+ continue;
57
+ resolved.push({
58
+ source_dossier: input.source_dossier,
59
+ output_name: input.output_name,
60
+ value: output.value,
61
+ export_as: output.export_as,
62
+ usage: input.usage,
63
+ });
64
+ }
65
+ return resolved;
66
+ }
67
+ /**
68
+ * Generate an LLM-readable context string listing all resolved input values.
69
+ * Returns null when no inputs could be resolved (e.g. first step in a journey).
70
+ *
71
+ * Example output:
72
+ * The following values are available from previous steps:
73
+ * - `cluster_arn = arn:aws:ecs:us-east-1:123:cluster/prod` [env_var] (from setup-infra) — Target ECS cluster
74
+ */
75
+ generateContextString(fromDossiers) {
76
+ const resolved = this.resolveInputs(fromDossiers);
77
+ if (resolved.length === 0)
78
+ return null;
79
+ const lines = ['The following values are available from previous steps:'];
80
+ for (const r of resolved) {
81
+ const exportTag = r.export_as ? ` [${r.export_as}]` : '';
82
+ const usageNote = r.usage ? ` — ${r.usage}` : '';
83
+ lines.push(`- \`${r.output_name} = ${r.value}\`${exportTag} (from ${r.source_dossier})${usageNote}`);
84
+ }
85
+ return lines.join('\n');
86
+ }
87
+ /**
88
+ * Validate that a dossier's from_dossiers inputs have matching output
89
+ * declarations in their source dossiers. Run this at graph-resolution time,
90
+ * before any step executes.
91
+ *
92
+ * @param dossier - name of the dossier being validated
93
+ * @param fromDossiers - its inputs.from_dossiers declarations
94
+ * @param sourceOutputs - map of dossier name → declared outputs.configuration
95
+ * @returns warnings for missing or mismatched declarations (empty = all good)
96
+ */
97
+ validateInputs(dossier, fromDossiers, sourceOutputs) {
98
+ const warnings = [];
99
+ for (const input of fromDossiers) {
100
+ const outputs = sourceOutputs.get(input.source_dossier);
101
+ if (!outputs) {
102
+ warnings.push({
103
+ dossier,
104
+ source_dossier: input.source_dossier,
105
+ output_name: input.output_name,
106
+ message: `Source dossier "${input.source_dossier}" is not in the execution graph or declares no outputs`,
107
+ });
108
+ continue;
109
+ }
110
+ if (!outputs.some((o) => o.key === input.output_name)) {
111
+ warnings.push({
112
+ dossier,
113
+ source_dossier: input.source_dossier,
114
+ output_name: input.output_name,
115
+ message: `Source dossier "${input.source_dossier}" does not declare an output named "${input.output_name}"`,
116
+ });
117
+ }
118
+ }
119
+ return warnings;
120
+ }
121
+ /**
122
+ * Clear all stored outputs. Call between journey sessions.
123
+ */
124
+ clear() {
125
+ this.store.clear();
126
+ }
127
+ }
128
+ exports.OutputMapper = OutputMapper;
129
+ //# sourceMappingURL=outputMapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outputMapper.js","sourceRoot":"","sources":["../../src/orchestration/outputMapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Journey session state and in-memory store.
3
+ * Tracks multi-dossier execution from start to finish.
4
+ */
5
+ import type { PhaseEntry } from './types';
6
+ export interface JourneyStep {
7
+ dossier: string;
8
+ source: 'local' | 'registry';
9
+ path?: string;
10
+ condition: 'required' | 'optional' | 'suggested';
11
+ status: 'pending' | 'running' | 'completed' | 'failed' | 'skipped';
12
+ injectedContext?: string;
13
+ collectedOutputs?: Record<string, unknown>;
14
+ }
15
+ export interface JourneySession {
16
+ id: string;
17
+ graphId: string;
18
+ steps: JourneyStep[];
19
+ currentStepIndex: number;
20
+ status: 'pending' | 'running' | 'paused' | 'completed' | 'failed' | 'cancelled';
21
+ outputs: Record<string, Record<string, unknown>>;
22
+ startedAt: Date;
23
+ completedAt?: Date;
24
+ cancelReason?: string;
25
+ }
26
+ export declare function stepsFromPhases(entries: PhaseEntry[]): JourneyStep[];
27
+ export declare function createSession(graphId: string, steps: JourneyStep[]): JourneySession;
28
+ export declare function getSession(id: string): JourneySession | undefined;
29
+ export declare function updateSession(session: JourneySession): void;
30
+ export declare function buildOutputContext(outputs: Record<string, Record<string, unknown>>): string;
31
+ export interface JourneySummary {
32
+ journey_id: string;
33
+ status: JourneySession['status'];
34
+ total_steps: number;
35
+ completed_steps: number;
36
+ failed_steps: number;
37
+ outputs: Record<string, Record<string, unknown>>;
38
+ started_at: string;
39
+ completed_at?: string;
40
+ cancel_reason?: string;
41
+ }
42
+ export declare function buildSummary(session: JourneySession): JourneySummary;
43
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/orchestration/session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IACjD,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IAChF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAQpE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,cAAc,CAYnF;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEjE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAE3D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAQ3F;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,CAcpE"}