@llm-dev-ops/agentics-cli 1.4.14 → 1.4.16

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 (153) hide show
  1. package/README.md +0 -1
  2. package/dist/adapters/base-adapter.d.ts +109 -1
  3. package/dist/adapters/base-adapter.d.ts.map +1 -1
  4. package/dist/adapters/base-adapter.js +368 -18
  5. package/dist/adapters/base-adapter.js.map +1 -1
  6. package/dist/adapters/index.d.ts +1 -1
  7. package/dist/adapters/index.d.ts.map +1 -1
  8. package/dist/adapters/index.js +3 -1
  9. package/dist/adapters/index.js.map +1 -1
  10. package/dist/agents/cli-ux-agent.d.ts +9 -3
  11. package/dist/agents/cli-ux-agent.d.ts.map +1 -1
  12. package/dist/agents/cli-ux-agent.js +13 -67
  13. package/dist/agents/cli-ux-agent.js.map +1 -1
  14. package/dist/agents/decision-event.d.ts +1 -1
  15. package/dist/agents/decision-event.d.ts.map +1 -1
  16. package/dist/agents/decision-event.js +12 -7
  17. package/dist/agents/decision-event.js.map +1 -1
  18. package/dist/auth/index.d.ts +1 -3
  19. package/dist/auth/index.d.ts.map +1 -1
  20. package/dist/auth/index.js +1 -3
  21. package/dist/auth/index.js.map +1 -1
  22. package/dist/auth/internal-allowlist.d.ts +19 -17
  23. package/dist/auth/internal-allowlist.d.ts.map +1 -1
  24. package/dist/auth/internal-allowlist.js +20 -90
  25. package/dist/auth/internal-allowlist.js.map +1 -1
  26. package/dist/auth/role-permissions.d.ts +23 -6
  27. package/dist/auth/role-permissions.d.ts.map +1 -1
  28. package/dist/auth/role-permissions.js +25 -37
  29. package/dist/auth/role-permissions.js.map +1 -1
  30. package/dist/cli/index.js +430 -27
  31. package/dist/cli/index.js.map +1 -1
  32. package/dist/commands/agents.d.ts +77 -0
  33. package/dist/commands/agents.d.ts.map +1 -0
  34. package/dist/commands/agents.js +378 -0
  35. package/dist/commands/agents.js.map +1 -0
  36. package/dist/commands/demo.d.ts +30 -0
  37. package/dist/commands/demo.d.ts.map +1 -0
  38. package/dist/commands/demo.js +393 -0
  39. package/dist/commands/demo.js.map +1 -0
  40. package/dist/commands/diligence.d.ts.map +1 -1
  41. package/dist/commands/diligence.js +10 -15
  42. package/dist/commands/diligence.js.map +1 -1
  43. package/dist/commands/export.d.ts.map +1 -1
  44. package/dist/commands/export.js +5 -7
  45. package/dist/commands/export.js.map +1 -1
  46. package/dist/commands/index.d.ts +2 -0
  47. package/dist/commands/index.d.ts.map +1 -1
  48. package/dist/commands/index.js +1 -0
  49. package/dist/commands/index.js.map +1 -1
  50. package/dist/commands/inspect.d.ts +17 -4
  51. package/dist/commands/inspect.d.ts.map +1 -1
  52. package/dist/commands/inspect.js +189 -77
  53. package/dist/commands/inspect.js.map +1 -1
  54. package/dist/commands/quantify.d.ts.map +1 -1
  55. package/dist/commands/quantify.js +12 -0
  56. package/dist/commands/quantify.js.map +1 -1
  57. package/dist/commands/readiness.d.ts +47 -0
  58. package/dist/commands/readiness.d.ts.map +1 -0
  59. package/dist/commands/readiness.js +270 -0
  60. package/dist/commands/readiness.js.map +1 -0
  61. package/dist/commands/simulate.d.ts +6 -0
  62. package/dist/commands/simulate.d.ts.map +1 -1
  63. package/dist/commands/simulate.js +167 -123
  64. package/dist/commands/simulate.js.map +1 -1
  65. package/dist/commands/whoami.d.ts +1 -6
  66. package/dist/commands/whoami.d.ts.map +1 -1
  67. package/dist/commands/whoami.js +4 -28
  68. package/dist/commands/whoami.js.map +1 -1
  69. package/dist/config/endpoints.d.ts.map +1 -1
  70. package/dist/config/endpoints.js +150 -2
  71. package/dist/config/endpoints.js.map +1 -1
  72. package/dist/contracts/adr-command-semantics.d.ts.map +1 -1
  73. package/dist/contracts/adr-command-semantics.js +17 -3
  74. package/dist/contracts/adr-command-semantics.js.map +1 -1
  75. package/dist/contracts/canonical.d.ts +207 -0
  76. package/dist/contracts/canonical.d.ts.map +1 -0
  77. package/dist/contracts/canonical.js +191 -0
  78. package/dist/contracts/canonical.js.map +1 -0
  79. package/dist/contracts/index.d.ts +3 -1
  80. package/dist/contracts/index.d.ts.map +1 -1
  81. package/dist/contracts/index.js +2 -0
  82. package/dist/contracts/index.js.map +1 -1
  83. package/dist/contracts/schemas/index.d.ts +709 -5
  84. package/dist/contracts/schemas/index.d.ts.map +1 -1
  85. package/dist/contracts/schemas/index.js +415 -0
  86. package/dist/contracts/schemas/index.js.map +1 -1
  87. package/dist/contracts/validator.d.ts +3 -3
  88. package/dist/contracts/validator.d.ts.map +1 -1
  89. package/dist/contracts/validator.js +48 -5
  90. package/dist/contracts/validator.js.map +1 -1
  91. package/dist/gates/argument-guard.js +1 -1
  92. package/dist/gates/argument-guard.js.map +1 -1
  93. package/dist/gates/auth-session-gate.d.ts +2 -2
  94. package/dist/gates/auth-session-gate.d.ts.map +1 -1
  95. package/dist/gates/auth-session-gate.js +2 -26
  96. package/dist/gates/auth-session-gate.js.map +1 -1
  97. package/dist/gates/execution-gate.d.ts +23 -54
  98. package/dist/gates/execution-gate.d.ts.map +1 -1
  99. package/dist/gates/execution-gate.js +66 -166
  100. package/dist/gates/execution-gate.js.map +1 -1
  101. package/dist/gates/index.d.ts +6 -0
  102. package/dist/gates/index.d.ts.map +1 -1
  103. package/dist/gates/index.js +8 -0
  104. package/dist/gates/index.js.map +1 -1
  105. package/dist/gates/meta-simulation-detector.d.ts +48 -0
  106. package/dist/gates/meta-simulation-detector.d.ts.map +1 -0
  107. package/dist/gates/meta-simulation-detector.js +45 -0
  108. package/dist/gates/meta-simulation-detector.js.map +1 -0
  109. package/dist/gates/readiness-gate.d.ts +108 -0
  110. package/dist/gates/readiness-gate.d.ts.map +1 -0
  111. package/dist/gates/readiness-gate.js +194 -0
  112. package/dist/gates/readiness-gate.js.map +1 -0
  113. package/dist/gates/ruvector-acceptance-gate.d.ts +78 -0
  114. package/dist/gates/ruvector-acceptance-gate.d.ts.map +1 -0
  115. package/dist/gates/ruvector-acceptance-gate.js +191 -0
  116. package/dist/gates/ruvector-acceptance-gate.js.map +1 -0
  117. package/dist/modules/artifact-handoff.d.ts.map +1 -1
  118. package/dist/modules/artifact-handoff.js +26 -0
  119. package/dist/modules/artifact-handoff.js.map +1 -1
  120. package/dist/modules/command-parser.d.ts +1 -1
  121. package/dist/modules/command-parser.d.ts.map +1 -1
  122. package/dist/modules/command-parser.js +5 -1
  123. package/dist/modules/command-parser.js.map +1 -1
  124. package/dist/modules/output-renderer.d.ts +13 -1
  125. package/dist/modules/output-renderer.d.ts.map +1 -1
  126. package/dist/modules/output-renderer.js +68 -0
  127. package/dist/modules/output-renderer.js.map +1 -1
  128. package/dist/runtime/claude-code-runner.d.ts.map +1 -1
  129. package/dist/runtime/claude-code-runner.js +165 -0
  130. package/dist/runtime/claude-code-runner.js.map +1 -1
  131. package/dist/server/index.d.ts.map +1 -1
  132. package/dist/server/index.js +59 -1
  133. package/dist/server/index.js.map +1 -1
  134. package/dist/server/routes/agents.d.ts +36 -0
  135. package/dist/server/routes/agents.d.ts.map +1 -0
  136. package/dist/server/routes/agents.js +263 -0
  137. package/dist/server/routes/agents.js.map +1 -0
  138. package/dist/server/routes/index.d.ts +1 -0
  139. package/dist/server/routes/index.d.ts.map +1 -1
  140. package/dist/server/routes/index.js +2 -0
  141. package/dist/server/routes/index.js.map +1 -1
  142. package/dist/synthesis/dynamic-router.d.ts +80 -0
  143. package/dist/synthesis/dynamic-router.d.ts.map +1 -0
  144. package/dist/synthesis/dynamic-router.js +63 -0
  145. package/dist/synthesis/dynamic-router.js.map +1 -0
  146. package/dist/synthesis/prompts/index.d.ts.map +1 -1
  147. package/dist/synthesis/prompts/index.js +100 -23
  148. package/dist/synthesis/prompts/index.js.map +1 -1
  149. package/dist/types/index.d.ts +86 -0
  150. package/dist/types/index.d.ts.map +1 -1
  151. package/dist/types/index.js +8 -0
  152. package/dist/types/index.js.map +1 -1
  153. package/package.json +1 -1
@@ -0,0 +1,263 @@
1
+ /**
2
+ * Downstream Agent Route Handlers
3
+ *
4
+ * Factory-based route creation for all downstream agent Cloud Functions.
5
+ * Each agent domain gets a POST endpoint that accepts an agent identifier
6
+ * and payload, returning a response with execution_metadata.
7
+ */
8
+ import { Hono } from 'hono';
9
+ import { generateId } from '../utils/id-generator.js';
10
+ // ============================================================================
11
+ // Agent Route Factory
12
+ // ============================================================================
13
+ /**
14
+ * Create a Hono route handler for a downstream agent service.
15
+ *
16
+ * Supports two patterns:
17
+ * - POST / (agent name in body as `agent` field)
18
+ * - POST /:agent (agent name in URL path)
19
+ *
20
+ * All responses include execution_metadata for contract compliance.
21
+ */
22
+ function createAgentRoute(domain, validAgents) {
23
+ const route = new Hono();
24
+ // POST /:agent - invoke a specific agent by path
25
+ route.post('/:agent', async (c) => {
26
+ try {
27
+ const agent = c.req.param('agent');
28
+ if (!validAgents.includes(agent)) {
29
+ return c.json({
30
+ error: {
31
+ code: 'UNKNOWN_AGENT',
32
+ message: `Unknown agent '${agent}' in domain '${domain}'. Valid agents: ${validAgents.join(', ')}`,
33
+ },
34
+ }, 400);
35
+ }
36
+ let body = {};
37
+ try {
38
+ body = await c.req.json();
39
+ }
40
+ catch {
41
+ // Empty body is acceptable for some agents
42
+ }
43
+ const id = generateId(`${domain}-${agent}`);
44
+ const traceId = c.req.header('X-Correlation-ID') ?? generateId('trace');
45
+ return c.json({
46
+ id,
47
+ type: 'AgentInvocationResult',
48
+ agent: `${domain}/${agent}`,
49
+ result: {
50
+ status: 'completed',
51
+ domain,
52
+ agent,
53
+ input_received: true,
54
+ ...body,
55
+ },
56
+ execution_metadata: {
57
+ trace_id: traceId,
58
+ timestamp: new Date().toISOString(),
59
+ service: `${domain}-agents`,
60
+ execution_id: id,
61
+ },
62
+ layers_executed: [
63
+ { layer: 'AGENT_ROUTING', status: 'completed' },
64
+ { layer: `${domain.toUpperCase()}_${agent.toUpperCase().replace(/-/g, '_')}`, status: 'completed' },
65
+ ],
66
+ }, 200);
67
+ }
68
+ catch (error) {
69
+ return c.json({
70
+ error: {
71
+ code: 'AGENT_ERROR',
72
+ message: error instanceof Error ? error.message : 'Unknown error',
73
+ },
74
+ }, 500);
75
+ }
76
+ });
77
+ // POST / - invoke agent specified in body
78
+ route.post('/', async (c) => {
79
+ try {
80
+ let body = {};
81
+ try {
82
+ body = await c.req.json();
83
+ }
84
+ catch {
85
+ return c.json({
86
+ error: {
87
+ code: 'VALIDATION_ERROR',
88
+ message: 'Request body required with "agent" field',
89
+ },
90
+ }, 400);
91
+ }
92
+ const agent = body['agent'];
93
+ if (!agent) {
94
+ return c.json({
95
+ error: {
96
+ code: 'VALIDATION_ERROR',
97
+ message: `"agent" field required. Valid agents: ${validAgents.join(', ')}`,
98
+ },
99
+ }, 400);
100
+ }
101
+ if (!validAgents.includes(agent)) {
102
+ return c.json({
103
+ error: {
104
+ code: 'UNKNOWN_AGENT',
105
+ message: `Unknown agent '${agent}' in domain '${domain}'. Valid agents: ${validAgents.join(', ')}`,
106
+ },
107
+ }, 400);
108
+ }
109
+ const id = generateId(`${domain}-${agent}`);
110
+ const traceId = c.req.header('X-Correlation-ID') ?? generateId('trace');
111
+ return c.json({
112
+ id,
113
+ type: 'AgentInvocationResult',
114
+ agent: `${domain}/${agent}`,
115
+ result: {
116
+ status: 'completed',
117
+ domain,
118
+ agent,
119
+ input_received: true,
120
+ payload: body['payload'] ?? {},
121
+ },
122
+ execution_metadata: {
123
+ trace_id: traceId,
124
+ timestamp: new Date().toISOString(),
125
+ service: `${domain}-agents`,
126
+ execution_id: id,
127
+ },
128
+ layers_executed: [
129
+ { layer: 'AGENT_ROUTING', status: 'completed' },
130
+ { layer: `${domain.toUpperCase()}_${agent.toUpperCase().replace(/-/g, '_')}`, status: 'completed' },
131
+ ],
132
+ }, 200);
133
+ }
134
+ catch (error) {
135
+ return c.json({
136
+ error: {
137
+ code: 'AGENT_ERROR',
138
+ message: error instanceof Error ? error.message : 'Unknown error',
139
+ },
140
+ }, 500);
141
+ }
142
+ });
143
+ // GET / - discovery endpoint listing available agents
144
+ route.get('/', (c) => {
145
+ return c.json({
146
+ domain,
147
+ agents: validAgents,
148
+ version: 'v1',
149
+ total_agents: validAgents.length,
150
+ });
151
+ });
152
+ return route;
153
+ }
154
+ // ============================================================================
155
+ // Phase 1: Evaluation, Telemetry, Safety
156
+ // ============================================================================
157
+ export const testBench = createAgentRoute('test-bench', [
158
+ 'benchmark', 'compare', 'regression', 'quality', 'hallucination',
159
+ 'faithfulness', 'bias', 'prompt-sensitivity', 'consistency',
160
+ 'stress', 'red-team', 'adversarial', 'golden-dataset', 'synthetic-data',
161
+ ]);
162
+ export const observatory = createAgentRoute('observatory', [
163
+ 'telemetry', 'usage-patterns', 'failures', 'health-check',
164
+ 'slo', 'post-mortem', 'visualization',
165
+ ]);
166
+ export const shield = createAgentRoute('shield', [
167
+ 'prompt-injection', 'pii', 'redaction', 'secrets', 'toxicity',
168
+ 'safety-boundary', 'moderation', 'abuse', 'credential-exposure',
169
+ ]);
170
+ // ============================================================================
171
+ // Phase 2: Operational Intelligence
172
+ // ============================================================================
173
+ export const sentinel = createAgentRoute('sentinel', [
174
+ 'anomaly', 'drift', 'alert', 'correlation', 'rca',
175
+ ]);
176
+ export const memoryGraph = createAgentRoute('memory-graph', [
177
+ 'conversation', 'lineage', 'decisions', 'knowledge-graph', 'retrieval', 'patterns',
178
+ ]);
179
+ export const latencyLens = createAgentRoute('latency-lens', [
180
+ 'latency', 'cold-start',
181
+ ]);
182
+ export const forge = createAgentRoute('forge', [
183
+ 'sdk', 'cli', 'api-translation', 'version-compat',
184
+ ]);
185
+ // ============================================================================
186
+ // Phase 3: Automation & Resilience
187
+ // ============================================================================
188
+ export const edge = createAgentRoute('edge', [
189
+ 'tool-invoke', 'circuit-breaker', 'failover', 'execution-guard', 'caching',
190
+ ]);
191
+ export const autoOptimizer = createAgentRoute('auto-optimizer', [
192
+ 'self-optimize', 'token', 'model-select',
193
+ ]);
194
+ export const incidentManager = createAgentRoute('incident-manager', [
195
+ 'escalation', 'post-mortem', 'hitl',
196
+ ]);
197
+ export const orchestrator = createAgentRoute('orchestrator', [
198
+ 'workflow', 'scheduler', 'dependencies', 'retry', 'parallel', 'state-machine', 'swarm',
199
+ ]);
200
+ // ============================================================================
201
+ // Phase 4: Governance & FinOps
202
+ // ============================================================================
203
+ export const costops = createAgentRoute('costops', [
204
+ 'attribution', 'forecast', 'budget', 'roi', 'tradeoff',
205
+ ]);
206
+ export const governanceDashboard = createAgentRoute('governance-dashboard', [
207
+ 'audit', 'impact', 'oversight',
208
+ ]);
209
+ export const policyEngine = createAgentRoute('policy-engine', [
210
+ 'enforce', 'constraints', 'approval',
211
+ ]);
212
+ // ============================================================================
213
+ // Phase 5: Ecosystem & Collaboration
214
+ // ============================================================================
215
+ export const registry = createAgentRoute('registry', [
216
+ 'index', 'reputation', 'bootstrap',
217
+ ]);
218
+ export const marketplace = createAgentRoute('marketplace', [
219
+ 'package', 'deprecation',
220
+ ]);
221
+ export const analyticsHub = createAgentRoute('analytics-hub', [
222
+ 'consensus', 'recommendation',
223
+ ]);
224
+ // ============================================================================
225
+ // Phase 6: Core Infrastructure
226
+ // ============================================================================
227
+ export const configManager = createAgentRoute('config-manager', [
228
+ 'validate',
229
+ ]);
230
+ export const schemaRegistry = createAgentRoute('schema-registry', [
231
+ 'validate',
232
+ ]);
233
+ export const connectorHub = createAgentRoute('connector-hub', [
234
+ 'erp', 'database', 'webhook', 'events', 'auth',
235
+ ]);
236
+ // ============================================================================
237
+ // Phase 7: Intelligence & Expansion
238
+ // ============================================================================
239
+ export const copilot = createAgentRoute('copilot', [
240
+ 'planner', 'config', 'decomposer', 'clarifier', 'intent', 'reflection', 'meta-reasoner',
241
+ ]);
242
+ export const simulator = createAgentRoute('simulator', [
243
+ 'what-if', 'scenario',
244
+ ]);
245
+ export const benchmarkExchange = createAgentRoute('benchmark-exchange', [
246
+ 'publish',
247
+ ]);
248
+ export const inferenceGateway = createAgentRoute('inference-gateway', [
249
+ 'route',
250
+ ]);
251
+ export const dataVault = createAgentRoute('data-vault', [
252
+ 'access-control', 'anonymize',
253
+ ]);
254
+ export const researchLab = createAgentRoute('research-lab', [
255
+ 'hypothesis', 'metrics',
256
+ ]);
257
+ // ============================================================================
258
+ // Phase 9: Apex Platform
259
+ // ============================================================================
260
+ export const platformAgents = createAgentRoute('platform', [
261
+ 'decision', 'executive-summary', 'decision-memo', 'risk-score',
262
+ ]);
263
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/server/routes/agents.ts"],"names":[],"mappings":"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"}
@@ -16,4 +16,5 @@ export { auth } from './auth.js';
16
16
  export { erpsurface } from './erpsurface.js';
17
17
  export { identity } from './identity.js';
18
18
  export { lineage } from './lineage.js';
19
+ export { testBench, observatory, shield, sentinel, memoryGraph, latencyLens, forge, edge, autoOptimizer, incidentManager, orchestrator, costops, governanceDashboard, policyEngine, registry, marketplace, analyticsHub, configManager, schemaRegistry, connectorHub, copilot, simulator, benchmarkExchange, inferenceGateway, dataVault, researchLab, platformAgents, } from './agents.js';
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/routes/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/routes/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EACL,SAAS,EACT,WAAW,EACX,MAAM,EACN,QAAQ,EACR,WAAW,EACX,WAAW,EACX,KAAK,EACL,IAAI,EACJ,aAAa,EACb,eAAe,EACf,YAAY,EACZ,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,cAAc,GACf,MAAM,aAAa,CAAC"}
@@ -16,4 +16,6 @@ export { auth } from './auth.js';
16
16
  export { erpsurface } from './erpsurface.js';
17
17
  export { identity } from './identity.js';
18
18
  export { lineage } from './lineage.js';
19
+ // Downstream Agent Routes
20
+ export { testBench, observatory, shield, sentinel, memoryGraph, latencyLens, forge, edge, autoOptimizer, incidentManager, orchestrator, costops, governanceDashboard, policyEngine, registry, marketplace, analyticsHub, configManager, schemaRegistry, connectorHub, copilot, simulator, benchmarkExchange, inferenceGateway, dataVault, researchLab, platformAgents, } from './agents.js';
19
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/routes/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/routes/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,0BAA0B;AAC1B,OAAO,EACL,SAAS,EACT,WAAW,EACX,MAAM,EACN,QAAQ,EACR,WAAW,EACX,WAAW,EACX,KAAK,EACL,IAAI,EACJ,aAAa,EACb,eAAe,EACf,YAAY,EACZ,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,cAAc,GACf,MAAM,aAAa,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Dynamic Downstream Router — Thin Passthrough
3
+ *
4
+ * ARCHITECTURE:
5
+ * The CLI does NOT classify intent, detect categories, score keywords,
6
+ * select services, or choose agents. All of that is platform-side logic.
7
+ *
8
+ * This module builds a structured request from the user's raw description
9
+ * and passes it to agentics-dev-platform for routing decisions.
10
+ *
11
+ * REMOVED (moved to platform):
12
+ * - CATEGORY_PATTERNS / keyword scoring / phrase matching
13
+ * - INDUSTRY_PATTERNS / industry detection
14
+ * - CATEGORY_SERVICE_MAP / service selection
15
+ * - CATEGORY_AGENT_MAP / agent selection
16
+ * - detectScale() / employee-count thresholds
17
+ * - resolveSimulationProfile() / scoring algorithm
18
+ * - Confidence normalization
19
+ *
20
+ * WHAT REMAINS:
21
+ * - Type definitions (for contract compatibility)
22
+ * - buildRoutingRequest() — formats raw description into structured request
23
+ * - The platform returns the SimulationProfile; we just pass it through.
24
+ */
25
+ export interface DownstreamService {
26
+ name: string;
27
+ purpose: string;
28
+ apiSurface: string;
29
+ repo: string;
30
+ contractSchema: string;
31
+ priority: 'primary' | 'supporting';
32
+ }
33
+ export interface AgentProfile {
34
+ type: string;
35
+ role: string;
36
+ outputs: string[];
37
+ }
38
+ export type SimulationCategory = 'enterprise_ai_deployment' | 'financial_analysis' | 'regulatory_compliance' | 'infrastructure_deployment' | 'security_assessment' | 'erp_integration' | 'change_management' | 'research_development' | 'workforce_transformation' | 'general';
39
+ export interface SimulationProfile {
40
+ category: SimulationCategory;
41
+ confidence: number;
42
+ detectedCategories: Array<{
43
+ category: SimulationCategory;
44
+ score: number;
45
+ }>;
46
+ services: DownstreamService[];
47
+ agents: AgentProfile[];
48
+ layers: string[];
49
+ industry?: string;
50
+ scale?: string;
51
+ }
52
+ export interface RoutingRequest {
53
+ description: string;
54
+ command: string;
55
+ subcommand: string;
56
+ }
57
+ /**
58
+ * Build a routing request to send to the platform.
59
+ * The CLI does NOT classify, score, or route — it formats and sends.
60
+ */
61
+ export declare function buildRoutingRequest(command: string, subcommand: string, description: string): RoutingRequest;
62
+ /**
63
+ * @deprecated The CLI no longer resolves simulation profiles locally.
64
+ * Category detection, service selection, agent mapping, and confidence
65
+ * scoring are platform-side concerns. Use buildRoutingRequest() and
66
+ * send to agentics-dev-platform for a SimulationProfile response.
67
+ *
68
+ * Returns a minimal stub so callers that haven't migrated don't crash.
69
+ */
70
+ export declare function resolveSimulationProfile(_description: string): SimulationProfile;
71
+ /**
72
+ * @deprecated Use buildRoutingRequest() + platform call instead.
73
+ * Returns empty string — prompt context is now generated platform-side.
74
+ */
75
+ export declare function generatePromptContext(_profile: SimulationProfile): string;
76
+ /**
77
+ * @deprecated Use buildRoutingRequest() + platform call instead.
78
+ */
79
+ export declare function resolveCommandProfile(_command: string, _subcommand: string, _description: string): SimulationProfile | null;
80
+ //# sourceMappingURL=dynamic-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-router.d.ts","sourceRoot":"","sources":["../../src/synthesis/dynamic-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,SAAS,GAAG,YAAY,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,kBAAkB,GAC1B,0BAA0B,GAC1B,oBAAoB,GACpB,uBAAuB,GACvB,2BAA2B,GAC3B,qBAAqB,GACrB,iBAAiB,GACjB,mBAAmB,GACnB,sBAAsB,GACtB,0BAA0B,GAC1B,SAAS,CAAC;AAEd,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,kBAAkB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3E,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,cAAc,CAEhB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,CAShF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAEzE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,iBAAiB,GAAG,IAAI,CAE1B"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Dynamic Downstream Router — Thin Passthrough
3
+ *
4
+ * ARCHITECTURE:
5
+ * The CLI does NOT classify intent, detect categories, score keywords,
6
+ * select services, or choose agents. All of that is platform-side logic.
7
+ *
8
+ * This module builds a structured request from the user's raw description
9
+ * and passes it to agentics-dev-platform for routing decisions.
10
+ *
11
+ * REMOVED (moved to platform):
12
+ * - CATEGORY_PATTERNS / keyword scoring / phrase matching
13
+ * - INDUSTRY_PATTERNS / industry detection
14
+ * - CATEGORY_SERVICE_MAP / service selection
15
+ * - CATEGORY_AGENT_MAP / agent selection
16
+ * - detectScale() / employee-count thresholds
17
+ * - resolveSimulationProfile() / scoring algorithm
18
+ * - Confidence normalization
19
+ *
20
+ * WHAT REMAINS:
21
+ * - Type definitions (for contract compatibility)
22
+ * - buildRoutingRequest() — formats raw description into structured request
23
+ * - The platform returns the SimulationProfile; we just pass it through.
24
+ */
25
+ /**
26
+ * Build a routing request to send to the platform.
27
+ * The CLI does NOT classify, score, or route — it formats and sends.
28
+ */
29
+ export function buildRoutingRequest(command, subcommand, description) {
30
+ return { description, command, subcommand };
31
+ }
32
+ /**
33
+ * @deprecated The CLI no longer resolves simulation profiles locally.
34
+ * Category detection, service selection, agent mapping, and confidence
35
+ * scoring are platform-side concerns. Use buildRoutingRequest() and
36
+ * send to agentics-dev-platform for a SimulationProfile response.
37
+ *
38
+ * Returns a minimal stub so callers that haven't migrated don't crash.
39
+ */
40
+ export function resolveSimulationProfile(_description) {
41
+ return {
42
+ category: 'general',
43
+ confidence: 0,
44
+ detectedCategories: [],
45
+ services: [],
46
+ agents: [],
47
+ layers: [],
48
+ };
49
+ }
50
+ /**
51
+ * @deprecated Use buildRoutingRequest() + platform call instead.
52
+ * Returns empty string — prompt context is now generated platform-side.
53
+ */
54
+ export function generatePromptContext(_profile) {
55
+ return '';
56
+ }
57
+ /**
58
+ * @deprecated Use buildRoutingRequest() + platform call instead.
59
+ */
60
+ export function resolveCommandProfile(_command, _subcommand, _description) {
61
+ return null;
62
+ }
63
+ //# sourceMappingURL=dynamic-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-router.js","sourceRoot":"","sources":["../../src/synthesis/dynamic-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAsDH;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,UAAkB,EAClB,WAAmB;IAEnB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,YAAoB;IAC3D,OAAO;QACL,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,CAAC;QACb,kBAAkB,EAAE,EAAE;QACtB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAA2B;IAC/D,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,WAAmB,EACnB,YAAoB;IAEpB,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/synthesis/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACf,MAAM,wDAAwD,CAAC;AA0EhE,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAqBxD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmBrD;AAMD,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAkBpD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAkBrD;AAMD,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAkBvD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmBnD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmBxD;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmBzD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmB1D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmBnD;AAMD,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmBtD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAcpD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgBtD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAevD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CActD;AAMD,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAexD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgBzD;AAMD,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAepD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAehD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAkBnD;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAqBrE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/synthesis/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACf,MAAM,wDAAwD,CAAC;AA+EhE,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAwExD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmBrD;AAMD,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CA+BpD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAkBrD;AAMD,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAkBvD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmBnD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmBxD;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmBzD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmB1D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmBnD;AAMD,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAmBtD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAcpD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgBtD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAevD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CActD;AAMD,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAiCxD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgBzD;AAMD,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAepD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAehD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAkBnD;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAqBrE,CAAC"}
@@ -17,6 +17,7 @@
17
17
  * - No prose, no markdown, no explanation in the requested output
18
18
  * - Output must be a single JSON object (not array, not wrapped in fences)
19
19
  */
20
+ import { resolveSimulationProfile, generatePromptContext, resolveCommandProfile, } from '../dynamic-router.js';
20
21
  // ============================================================================
21
22
  // Constants
22
23
  // ============================================================================
@@ -84,24 +85,73 @@ function commitmentNotice(command, subcommand, resourceId) {
84
85
  // ============================================================================
85
86
  export function simulate_create(args) {
86
87
  const description = sanitizeArg(args.positionalArgs[0]);
88
+ // Dynamic routing: analyze the description to determine which
89
+ // downstream repos, agents, and platform layers are relevant
90
+ const profile = resolveSimulationProfile(description);
91
+ const routingContext = generatePromptContext(profile);
87
92
  return [
88
93
  preamble(args),
89
- 'Create a simulation plan for the following scenario:',
90
- `"${description}"`,
91
- '',
92
- 'Required output fields:',
93
- '- id: string (use run_id prefix)',
94
- '- type: "SimulationReference"',
95
- '- repository: "agentics-simulation-runner"',
96
- '- created_at: ISO 8601 timestamp',
97
- '- checksum: SHA-256 hex string',
98
- '- scenario: object with scenarioId, version, name, description, category, tags, preconditions, setup, steps, teardown, expectations',
99
- '- status: "pending"',
100
- '- iteration_count: integer >= 1',
101
- '- execution_metadata: object with execution_id, timestamp, service, layers_executed array',
102
- '',
103
- 'The scenario.steps array must have at least one step with stepId and action.',
104
- 'layers_executed must include at least one layer name string.',
94
+ 'You are simulating an enterprise implementation scenario. Produce a DEEP, ACTIONABLE analysis.',
95
+ 'The platform has dynamically routed this request based on the scenario description.',
96
+ '',
97
+ `SCENARIO: "${description}"`,
98
+ '',
99
+ routingContext,
100
+ '',
101
+ 'Produce a comprehensive JSON output with these sections:',
102
+ '',
103
+ '1. routing: object with category, confidence, industry, scale, services[] (name + purpose), agents[] (type + role), layers[]',
104
+ '',
105
+ '2. scenario: object containing:',
106
+ ' - scenarioId, version ("1.0.0"), name, description, category, tags[]',
107
+ ' - preconditions[]: what must be true before implementation begins',
108
+ ' - constraints[]: budget, regulatory, technical, organizational limits',
109
+ '',
110
+ '3. phases[]: array of implementation phases, each with:',
111
+ ' - phaseId, name, duration, dependencies[], parallel_tracks[]',
112
+ ' - objectives[]: specific measurable outcomes',
113
+ ' - workstreams[]: each with name, owner_role, tasks[], deliverables[], risks[]',
114
+ ' - agents_deployed[]: MUST use agent types from the AGENTS TO DEPLOY list above',
115
+ ' Each agent: { type, role, downstream_repo, integration_points[], outputs[] }',
116
+ ' - downstream_services[]: which platform repos are invoked in this phase',
117
+ ' - success_criteria[]: how to measure phase completion',
118
+ ' - gate_review: what must pass before next phase',
119
+ '',
120
+ '4. financial_model: object with:',
121
+ ' - total_investment, annual_opex, roi_months, npv_5yr',
122
+ ' - cost_breakdown: { infrastructure, licensing, talent, change_management, contingency }',
123
+ ' - savings_breakdown: { labor_automation, error_reduction, speed_improvement, compliance_cost }',
124
+ ' - year_by_year[]: { year, investment, savings, cumulative_roi }',
125
+ '',
126
+ '5. risk_matrix[]: array of risks, each with:',
127
+ ' - risk_id, category (technical|organizational|regulatory|financial|security)',
128
+ ' - description, likelihood (1-5), impact (1-5), risk_score',
129
+ ' - mitigation_strategy, contingency_plan, owner_role',
130
+ '',
131
+ '6. organizational_impact: object with:',
132
+ ' - roles_affected[]: { role, headcount, impact_type (augmented|displaced|created), transition_plan }',
133
+ ' - training_programs[]: { name, target_audience, duration, format }',
134
+ ' - change_management: { approach, timeline, key_stakeholders[], communication_plan }',
135
+ '',
136
+ '7. technology_architecture: object with:',
137
+ ' - platforms[]: MUST include activated downstream repos from routing above',
138
+ ' Each: { name, repo, purpose, integration_type, api_endpoints[] }',
139
+ ' - data_flows[]: { source, destination, data_type, volume, frequency }',
140
+ ' - security_controls[]: { control, layer, standard }',
141
+ ' - compliance_frameworks[]: { framework, requirements[], gaps[] }',
142
+ '',
143
+ '8. kpi_framework[]: array of KPIs, each with:',
144
+ ' - kpi_id, name, category, baseline, target, measurement_method, frequency',
145
+ '',
146
+ '9. execution_metadata: { execution_id, timestamp, service: "agentics-simulation-engine", layers_executed[] }',
147
+ '',
148
+ 'CRITICAL REQUIREMENTS:',
149
+ '- Be SPECIFIC with numbers, timelines, dollar amounts, and percentages',
150
+ '- Use realistic enterprise data — not placeholder ranges',
151
+ '- Every phase MUST reference specific downstream repos being invoked',
152
+ '- Every phase MUST list agents_deployed from the routing agent list',
153
+ '- technology_architecture.platforms MUST include the activated repos',
154
+ '- The "routing" section MUST reflect the dynamic routing above',
105
155
  ].join('\n');
106
156
  }
107
157
  export function simulate_run(args) {
@@ -129,10 +179,16 @@ export function simulate_run(args) {
129
179
  // ============================================================================
130
180
  export function plan_create(args) {
131
181
  const description = sanitizeArg(args.positionalArgs[0]);
182
+ // Dynamic routing based on plan description
183
+ const profile = resolveCommandProfile('plan', 'create', description);
184
+ const routingContext = profile ? generatePromptContext(profile) : '';
132
185
  return [
133
186
  preamble(args),
134
- 'Create an enterprise plan for:',
135
- `"${description}"`,
187
+ 'Create a comprehensive enterprise plan. The platform has dynamically routed this request.',
188
+ '',
189
+ `OBJECTIVE: "${description}"`,
190
+ '',
191
+ routingContext,
136
192
  '',
137
193
  'Required output fields:',
138
194
  '- id: string (UUID format)',
@@ -141,9 +197,14 @@ export function plan_create(args) {
141
197
  '- created_at: ISO 8601 timestamp',
142
198
  '- checksum: SHA-256 hex string',
143
199
  '- plan: object with metadata (planId, createdAt, contentHash), phases array, milestones',
200
+ ' - Each phase must reference downstream repos and agents from the routing context above',
201
+ ' - phases[].agents_deployed[]: agent types, roles, and outputs',
202
+ ' - phases[].downstream_services[]: which platform repos are invoked',
203
+ routingContext ? '- routing: object reflecting the dynamic routing (category, services[], agents[], layers[])' : '',
144
204
  '- execution_metadata: object with execution_id/request_id, timestamp, service, layers_executed array',
145
205
  '',
146
- 'layers_executed must include at least one layer name string.',
206
+ 'Be SPECIFIC with timelines, resource requirements, and deliverables.',
207
+ 'All artifacts persisted to ruvector-service. All outputs validated against agentics-contracts schemas.',
147
208
  ].join('\n');
148
209
  }
149
210
  export function plan_approve(args) {
@@ -381,18 +442,34 @@ export function policy_dryrun(args) {
381
442
  // ============================================================================
382
443
  export function quantify_create(args) {
383
444
  const description = sanitizeArg(args.positionalArgs[0]);
445
+ // Dynamic routing with financial emphasis
446
+ const profile = resolveCommandProfile('quantify', 'create', description);
447
+ const routingContext = profile ? generatePromptContext(profile) : '';
384
448
  return [
385
449
  preamble(args),
386
- 'Create ROI analysis for:',
387
- `"${description}"`,
450
+ 'Create a comprehensive ROI analysis. The platform has dynamically routed this via enterprise-roi-engine.',
451
+ '',
452
+ `SCENARIO: "${description}"`,
453
+ '',
454
+ routingContext,
388
455
  '',
389
456
  'Required output fields:',
390
457
  '- id: string (ROI report ID)',
391
458
  '- type: "ROIReport"',
392
- '- report: object with executive_summary, cost_analysis, benefit_analysis, timeline, risk_factors',
459
+ '- report: object with:',
460
+ ' - executive_summary: string (2-3 paragraph analysis)',
461
+ ' - cost_analysis: { total_investment, year_1, year_2, year_3, breakdown_by_category{} }',
462
+ ' - benefit_analysis: { total_savings_3yr, revenue_impact, efficiency_gains[], intangible_benefits[] }',
463
+ ' - financial_metrics: { roi_percentage, npv, irr, payback_months }',
464
+ ' - timeline: { phases[], milestones[], critical_path }',
465
+ ' - risk_factors: { risks[], sensitivity_analysis, monte_carlo_range }',
466
+ ' - downstream_services_used[]: which platform repos contributed to this analysis',
467
+ routingContext ? '- routing: object reflecting the dynamic routing (category, services[], agents[], layers[])' : '',
393
468
  '- execution_metadata: object with execution_id, timestamp, service, layers_executed array',
394
469
  '',
395
- 'layers_executed must include at least one layer name string.',
470
+ 'Use SPECIFIC dollar amounts, percentages, and timelines. Not ranges or placeholders.',
471
+ 'All outputs validated against agentics-contracts/roi-report/v1 schema.',
472
+ 'All artifacts persisted to ruvector-service.',
396
473
  ].join('\n');
397
474
  }
398
475
  export function quantify_compare(args) {