@ddse/acm-examples 0.5.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 (182) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +113 -0
  3. package/bin/acm-demo.ts +495 -0
  4. package/data/coaching/agents.json +16 -0
  5. package/data/coaching/transcripts.json +37 -0
  6. package/data/documents.json +72 -0
  7. package/data/entitlement/customers.json +38 -0
  8. package/data/entitlement/policies.json +38 -0
  9. package/data/incidents/incidents.json +30 -0
  10. package/data/incidents/routing_rules.json +36 -0
  11. package/data/invoices/invoices.json +38 -0
  12. package/data/invoices/purchase-orders.json +38 -0
  13. package/data/issues.json +99 -0
  14. package/data/knowledge/docs/kb-001.md +7 -0
  15. package/data/knowledge/docs/kb-002.md +7 -0
  16. package/data/knowledge/docs/kb-003.md +9 -0
  17. package/data/knowledge/index.json +25 -0
  18. package/data/orders.json +106 -0
  19. package/dist/bin/acm-demo.d.ts +3 -0
  20. package/dist/bin/acm-demo.d.ts.map +1 -0
  21. package/dist/bin/acm-demo.js +392 -0
  22. package/dist/bin/acm-demo.js.map +1 -0
  23. package/dist/src/context/directives.d.ts +3 -0
  24. package/dist/src/context/directives.d.ts.map +1 -0
  25. package/dist/src/context/directives.js +325 -0
  26. package/dist/src/context/directives.js.map +1 -0
  27. package/dist/src/context/index.d.ts +2 -0
  28. package/dist/src/context/index.d.ts.map +1 -0
  29. package/dist/src/context/index.js +2 -0
  30. package/dist/src/context/index.js.map +1 -0
  31. package/dist/src/data/coaching.d.ts +19 -0
  32. package/dist/src/data/coaching.d.ts.map +1 -0
  33. package/dist/src/data/coaching.js +22 -0
  34. package/dist/src/data/coaching.js.map +1 -0
  35. package/dist/src/data/entitlement.d.ts +25 -0
  36. package/dist/src/data/entitlement.d.ts.map +1 -0
  37. package/dist/src/data/entitlement.js +26 -0
  38. package/dist/src/data/entitlement.js.map +1 -0
  39. package/dist/src/data/incidents.d.ts +23 -0
  40. package/dist/src/data/incidents.d.ts.map +1 -0
  41. package/dist/src/data/incidents.js +37 -0
  42. package/dist/src/data/incidents.js.map +1 -0
  43. package/dist/src/data/invoices.d.ts +34 -0
  44. package/dist/src/data/invoices.d.ts.map +1 -0
  45. package/dist/src/data/invoices.js +49 -0
  46. package/dist/src/data/invoices.js.map +1 -0
  47. package/dist/src/data/knowledge.d.ts +11 -0
  48. package/dist/src/data/knowledge.d.ts.map +1 -0
  49. package/dist/src/data/knowledge.js +57 -0
  50. package/dist/src/data/knowledge.js.map +1 -0
  51. package/dist/src/data/loader.d.ts +4 -0
  52. package/dist/src/data/loader.d.ts.map +1 -0
  53. package/dist/src/data/loader.js +69 -0
  54. package/dist/src/data/loader.js.map +1 -0
  55. package/dist/src/examples/scenarios.d.ts +23 -0
  56. package/dist/src/examples/scenarios.d.ts.map +1 -0
  57. package/dist/src/examples/scenarios.js +609 -0
  58. package/dist/src/examples/scenarios.js.map +1 -0
  59. package/dist/src/goals/index.d.ts +8 -0
  60. package/dist/src/goals/index.d.ts.map +1 -0
  61. package/dist/src/goals/index.js +12 -0
  62. package/dist/src/goals/index.js.map +1 -0
  63. package/dist/src/policy.d.ts +5 -0
  64. package/dist/src/policy.d.ts.map +1 -0
  65. package/dist/src/policy.js +24 -0
  66. package/dist/src/policy.js.map +1 -0
  67. package/dist/src/registries.d.ts +18 -0
  68. package/dist/src/registries.d.ts.map +1 -0
  69. package/dist/src/registries.js +38 -0
  70. package/dist/src/registries.js.map +1 -0
  71. package/dist/src/renderer.d.ts +9 -0
  72. package/dist/src/renderer.d.ts.map +1 -0
  73. package/dist/src/renderer.js +76 -0
  74. package/dist/src/renderer.js.map +1 -0
  75. package/dist/src/search/bm25.d.ts +68 -0
  76. package/dist/src/search/bm25.d.ts.map +1 -0
  77. package/dist/src/search/bm25.js +131 -0
  78. package/dist/src/search/bm25.js.map +1 -0
  79. package/dist/src/search/index.d.ts +2 -0
  80. package/dist/src/search/index.d.ts.map +1 -0
  81. package/dist/src/search/index.js +3 -0
  82. package/dist/src/search/index.js.map +1 -0
  83. package/dist/src/tasks/coaching.d.ts +30 -0
  84. package/dist/src/tasks/coaching.d.ts.map +1 -0
  85. package/dist/src/tasks/coaching.js +143 -0
  86. package/dist/src/tasks/coaching.js.map +1 -0
  87. package/dist/src/tasks/entitlement.d.ts +29 -0
  88. package/dist/src/tasks/entitlement.d.ts.map +1 -0
  89. package/dist/src/tasks/entitlement.js +135 -0
  90. package/dist/src/tasks/entitlement.js.map +1 -0
  91. package/dist/src/tasks/incidents.d.ts +42 -0
  92. package/dist/src/tasks/incidents.d.ts.map +1 -0
  93. package/dist/src/tasks/incidents.js +189 -0
  94. package/dist/src/tasks/incidents.js.map +1 -0
  95. package/dist/src/tasks/index.d.ts +7 -0
  96. package/dist/src/tasks/index.d.ts.map +1 -0
  97. package/dist/src/tasks/index.js +7 -0
  98. package/dist/src/tasks/index.js.map +1 -0
  99. package/dist/src/tasks/invoices.d.ts +40 -0
  100. package/dist/src/tasks/invoices.d.ts.map +1 -0
  101. package/dist/src/tasks/invoices.js +180 -0
  102. package/dist/src/tasks/invoices.js.map +1 -0
  103. package/dist/src/tasks/knowledge.d.ts +23 -0
  104. package/dist/src/tasks/knowledge.d.ts.map +1 -0
  105. package/dist/src/tasks/knowledge.js +115 -0
  106. package/dist/src/tasks/knowledge.js.map +1 -0
  107. package/dist/src/tasks/legacy.d.ts +50 -0
  108. package/dist/src/tasks/legacy.d.ts.map +1 -0
  109. package/dist/src/tasks/legacy.js +85 -0
  110. package/dist/src/tasks/legacy.js.map +1 -0
  111. package/dist/src/tools/coaching/index.d.ts +49 -0
  112. package/dist/src/tools/coaching/index.d.ts.map +1 -0
  113. package/dist/src/tools/coaching/index.js +119 -0
  114. package/dist/src/tools/coaching/index.js.map +1 -0
  115. package/dist/src/tools/entitlement/index.d.ts +52 -0
  116. package/dist/src/tools/entitlement/index.d.ts.map +1 -0
  117. package/dist/src/tools/entitlement/index.js +120 -0
  118. package/dist/src/tools/entitlement/index.js.map +1 -0
  119. package/dist/src/tools/incidents/index.d.ts +55 -0
  120. package/dist/src/tools/incidents/index.d.ts.map +1 -0
  121. package/dist/src/tools/incidents/index.js +109 -0
  122. package/dist/src/tools/incidents/index.js.map +1 -0
  123. package/dist/src/tools/index.d.ts +90 -0
  124. package/dist/src/tools/index.d.ts.map +1 -0
  125. package/dist/src/tools/index.js +109 -0
  126. package/dist/src/tools/index.js.map +1 -0
  127. package/dist/src/tools/invoices/index.d.ts +56 -0
  128. package/dist/src/tools/invoices/index.d.ts.map +1 -0
  129. package/dist/src/tools/invoices/index.js +85 -0
  130. package/dist/src/tools/invoices/index.js.map +1 -0
  131. package/dist/src/tools/knowledge/index.d.ts +52 -0
  132. package/dist/src/tools/knowledge/index.d.ts.map +1 -0
  133. package/dist/src/tools/knowledge/index.js +120 -0
  134. package/dist/src/tools/knowledge/index.js.map +1 -0
  135. package/dist/tests/bm25.test.d.ts +2 -0
  136. package/dist/tests/bm25.test.d.ts.map +1 -0
  137. package/dist/tests/bm25.test.js +98 -0
  138. package/dist/tests/bm25.test.js.map +1 -0
  139. package/dist/tests/integration.test.d.ts +2 -0
  140. package/dist/tests/integration.test.d.ts.map +1 -0
  141. package/dist/tests/integration.test.js +126 -0
  142. package/dist/tests/integration.test.js.map +1 -0
  143. package/dist/tests/plan-hydration.test.d.ts +2 -0
  144. package/dist/tests/plan-hydration.test.d.ts.map +1 -0
  145. package/dist/tests/plan-hydration.test.js +28 -0
  146. package/dist/tests/plan-hydration.test.js.map +1 -0
  147. package/dist/tsconfig.tsbuildinfo +1 -0
  148. package/docs/examples-architecture.md +144 -0
  149. package/docs/successrun.md +1022 -0
  150. package/package.json +33 -0
  151. package/src/context/directives.ts +366 -0
  152. package/src/context/index.ts +1 -0
  153. package/src/data/coaching.ts +50 -0
  154. package/src/data/entitlement.ts +60 -0
  155. package/src/data/incidents.ts +78 -0
  156. package/src/data/invoices.ts +103 -0
  157. package/src/data/knowledge.ts +77 -0
  158. package/src/data/loader.ts +80 -0
  159. package/src/examples/scenarios.ts +724 -0
  160. package/src/goals/index.ts +18 -0
  161. package/src/policy.ts +30 -0
  162. package/src/registries.ts +48 -0
  163. package/src/renderer.ts +82 -0
  164. package/src/search/bm25.ts +173 -0
  165. package/src/search/index.ts +2 -0
  166. package/src/tasks/coaching.ts +217 -0
  167. package/src/tasks/entitlement.ts +197 -0
  168. package/src/tasks/incidents.ts +277 -0
  169. package/src/tasks/index.ts +6 -0
  170. package/src/tasks/invoices.ts +269 -0
  171. package/src/tasks/knowledge.ts +169 -0
  172. package/src/tasks/legacy.ts +112 -0
  173. package/src/tools/coaching/index.ts +197 -0
  174. package/src/tools/entitlement/index.ts +199 -0
  175. package/src/tools/incidents/index.ts +185 -0
  176. package/src/tools/index.ts +192 -0
  177. package/src/tools/invoices/index.ts +165 -0
  178. package/src/tools/knowledge/index.ts +203 -0
  179. package/tests/bm25.test.ts +129 -0
  180. package/tests/integration.test.ts +163 -0
  181. package/tests/plan-hydration.test.ts +33 -0
  182. package/tsconfig.json +18 -0
@@ -0,0 +1,392 @@
1
+ #!/usr/bin/env node
2
+ import { parseArgs } from 'node:util';
3
+ import { createInterface } from 'node:readline/promises';
4
+ import { stdin as input, stdout as output, exit } from 'node:process';
5
+ import { DefaultStreamSink, ExternalContextProviderAdapter, normalizePlan, normalizePlannerResult, } from '@ddse/acm-sdk';
6
+ import { MemoryLedger, FileCheckpointStore } from '@ddse/acm-runtime';
7
+ import { createOllamaClient, createVLLMClient } from '@ddse/acm-llm';
8
+ import { ACMFramework, ExecutionEngine } from '@ddse/acm-framework';
9
+ import { ReplayBundleExporter } from '@ddse/acm-replay';
10
+ import { SimpleCapabilityRegistry, SimpleToolRegistry } from '../src/registries.js';
11
+ import { SimplePolicyEngine } from '../src/policy.js';
12
+ import { CLIRenderer } from '../src/renderer.js';
13
+ import { registerExampleContextProviders } from '../src/context/index.js';
14
+ import { getScenario, listScenarioKeys, scenarios } from '../src/examples/scenarios.js';
15
+ const defaultModelByProvider = {
16
+ ollama: 'llama3.1',
17
+ vllm: 'qwen2.5:7b',
18
+ };
19
+ function printHelp() {
20
+ console.log(`ACM Demo CLI\n\n` +
21
+ `Usage:\n` +
22
+ ` acm-demo [options]\n\n` +
23
+ `Options:\n` +
24
+ ` --scenario <key> Scenario key to execute (${listScenarioKeys().join(', ')})\n` +
25
+ ` --list List available scenarios and exit\n` +
26
+ ` --provider <ollama|vllm> LLM provider (default: ollama)\n` +
27
+ ` --model <name> Model identifier (defaults per provider)\n` +
28
+ ` --base-url <url> Override LLM endpoint\n` +
29
+ ` --engine <acm|langgraph|msaf> Execution engine (default: acm)\n` +
30
+ ` --resume <runId> Resume a prior ACM engine run\n` +
31
+ ` --checkpoint-dir <dir> Directory for checkpoints (default: ./checkpoints)\n` +
32
+ ` --no-stream Disable streaming updates\n` +
33
+ ` --save-bundle Export a replay bundle to ./replay/<runId>/\n` +
34
+ ` -h, --help Show this help message\n`);
35
+ }
36
+ function mapLegacyGoal(goal) {
37
+ if (!goal)
38
+ return undefined;
39
+ switch (goal.toLowerCase()) {
40
+ case 'refund':
41
+ return 'entitlement';
42
+ case 'issues':
43
+ return 'knowledge';
44
+ default:
45
+ return goal;
46
+ }
47
+ }
48
+ function resolveExecutionEngine(engine) {
49
+ if (!engine) {
50
+ return ExecutionEngine.ACM;
51
+ }
52
+ const normalized = engine.toUpperCase();
53
+ switch (normalized) {
54
+ case 'ACM':
55
+ return ExecutionEngine.ACM;
56
+ case 'LANGGRAPH':
57
+ case 'LANG-GRAPH':
58
+ case 'LANG_GRAPH':
59
+ return ExecutionEngine.LANGGRAPH;
60
+ case 'MSAF':
61
+ case 'MS_AGENT_FRAMEWORK':
62
+ case 'MS-AGENT-FRAMEWORK':
63
+ return ExecutionEngine.MSAF;
64
+ default:
65
+ throw new Error(`Unsupported execution engine: ${engine}`);
66
+ }
67
+ }
68
+ function parseCliOptions() {
69
+ const { values } = parseArgs({
70
+ options: {
71
+ scenario: { type: 'string' },
72
+ goal: { type: 'string' },
73
+ provider: { type: 'string' },
74
+ model: { type: 'string' },
75
+ 'base-url': { type: 'string' },
76
+ engine: { type: 'string' },
77
+ stream: { type: 'boolean', default: true },
78
+ resume: { type: 'string' },
79
+ 'checkpoint-dir': { type: 'string' },
80
+ 'save-bundle': { type: 'boolean', default: false },
81
+ list: { type: 'boolean', default: false },
82
+ help: { type: 'boolean', default: false },
83
+ },
84
+ allowPositionals: false,
85
+ });
86
+ const provider = (values.provider ?? 'ollama').toLowerCase();
87
+ if (provider !== 'ollama' && provider !== 'vllm') {
88
+ throw new Error(`Unsupported provider: ${values.provider}`);
89
+ }
90
+ const engine = resolveExecutionEngine(values.engine);
91
+ const scenarioKey = values.scenario ?? mapLegacyGoal(values.goal);
92
+ const model = values.model ?? defaultModelByProvider[provider];
93
+ return {
94
+ options: {
95
+ scenarioKey,
96
+ provider: provider,
97
+ model,
98
+ baseUrl: values['base-url'],
99
+ engine,
100
+ stream: values.stream ?? true,
101
+ resume: values.resume,
102
+ checkpointDir: values['checkpoint-dir'] ?? './checkpoints',
103
+ saveBundle: values['save-bundle'] ?? false,
104
+ listOnly: values.list ?? false,
105
+ },
106
+ showHelp: Boolean(values.help),
107
+ };
108
+ }
109
+ async function resolveScenario(options) {
110
+ if (options.scenarioKey) {
111
+ const direct = getScenario(options.scenarioKey);
112
+ if (!direct) {
113
+ throw new Error(`Unknown scenario: ${options.scenarioKey}`);
114
+ }
115
+ return direct;
116
+ }
117
+ if (!output.isTTY) {
118
+ throw new Error('No scenario provided and terminal is non-interactive. Use --scenario <key>.');
119
+ }
120
+ console.log('Please choose a scenario to run:\n');
121
+ const keys = listScenarioKeys();
122
+ keys.forEach((key, index) => {
123
+ const scenario = scenarios[key];
124
+ console.log(` [${index + 1}] ${scenario.name} (${key})`);
125
+ console.log(` ${scenario.description}`);
126
+ });
127
+ console.log();
128
+ const rl = createInterface({ input, output });
129
+ try {
130
+ while (true) {
131
+ const answer = (await rl.question('Enter scenario number or key: ')).trim();
132
+ if (!answer) {
133
+ continue;
134
+ }
135
+ const numeric = Number.parseInt(answer, 10);
136
+ if (!Number.isNaN(numeric) && numeric >= 1 && numeric <= keys.length) {
137
+ return scenarios[keys[numeric - 1]];
138
+ }
139
+ const byKey = getScenario(answer);
140
+ if (byKey) {
141
+ return byKey;
142
+ }
143
+ console.log(`Invalid selection: ${answer}`);
144
+ }
145
+ }
146
+ finally {
147
+ rl.close();
148
+ }
149
+ }
150
+ function createLLMClient(provider, model, baseUrl) {
151
+ switch (provider) {
152
+ case 'ollama':
153
+ return createOllamaClient(model, baseUrl);
154
+ case 'vllm':
155
+ return createVLLMClient(model, baseUrl);
156
+ default:
157
+ throw new Error(`Unsupported provider: ${provider}`);
158
+ }
159
+ }
160
+ function attachStreaming(renderer, stream) {
161
+ stream.attach('planner', chunk => renderer.renderPlannerToken(chunk));
162
+ stream.attach('task', update => renderer.renderTaskUpdate(update));
163
+ stream.attach('checkpoint', update => {
164
+ if (typeof update?.checkpointId === 'string') {
165
+ console.log(`šŸ’¾ Checkpoint created: ${update.checkpointId} (${update.tasksCompleted} tasks completed)`);
166
+ }
167
+ });
168
+ }
169
+ async function main() {
170
+ const { options, showHelp } = parseCliOptions();
171
+ if (showHelp) {
172
+ printHelp();
173
+ return;
174
+ }
175
+ if (options.listOnly) {
176
+ console.log('Available scenarios:\n');
177
+ listScenarioKeys().forEach(key => {
178
+ const scenario = scenarios[key];
179
+ console.log(`- ${key}: ${scenario.name}`);
180
+ console.log(` ${scenario.description}`);
181
+ });
182
+ return;
183
+ }
184
+ const scenario = await resolveScenario(options);
185
+ console.log(`\nšŸŽÆ Scenario: ${scenario.name}`);
186
+ console.log(` Key: ${scenario.key}`);
187
+ console.log(` Description: ${scenario.description}\n`);
188
+ const toolRegistry = new SimpleToolRegistry();
189
+ const capabilityRegistry = new SimpleCapabilityRegistry();
190
+ scenario.registerTools(toolRegistry);
191
+ scenario.registerCapabilities(capabilityRegistry);
192
+ const adapter = new ExternalContextProviderAdapter();
193
+ registerExampleContextProviders(adapter);
194
+ const llm = createLLMClient(options.provider, options.model, options.baseUrl);
195
+ const stream = new DefaultStreamSink();
196
+ const renderer = new CLIRenderer();
197
+ if (options.stream) {
198
+ attachStreaming(renderer, stream);
199
+ }
200
+ const verify = async (taskId, output, expressions) => {
201
+ for (const expr of expressions) {
202
+ try {
203
+ const fn = new Function('output', `return ${expr};`);
204
+ const result = fn(output);
205
+ if (!result) {
206
+ console.error(`Verification failed for ${taskId}: ${expr}`);
207
+ return false;
208
+ }
209
+ }
210
+ catch (error) {
211
+ console.error(`Verification error for ${taskId}: ${expr}`, error);
212
+ return false;
213
+ }
214
+ }
215
+ return true;
216
+ };
217
+ const nucleusLLMCall = async (prompt, tools, callConfig) => {
218
+ const toolDefs = tools.map(tool => ({
219
+ name: tool.name,
220
+ description: tool.description ?? 'Nucleus tool',
221
+ inputSchema: tool.inputSchema ?? { type: 'object', properties: {} },
222
+ }));
223
+ const response = await llm.generateWithTools([
224
+ {
225
+ role: 'system',
226
+ content: prompt,
227
+ },
228
+ ], toolDefs, {
229
+ temperature: callConfig.temperature,
230
+ seed: callConfig.seed,
231
+ maxTokens: callConfig.maxTokens,
232
+ });
233
+ const responseToolCalls = (response.toolCalls ?? []);
234
+ const toolCalls = responseToolCalls.map(tc => ({
235
+ id: tc.id,
236
+ name: tc.name,
237
+ input: tc.arguments,
238
+ }));
239
+ return {
240
+ reasoning: response.text,
241
+ toolCalls,
242
+ raw: response.raw,
243
+ };
244
+ };
245
+ const nucleusConfig = {
246
+ llmCall: {
247
+ provider: llm.name(),
248
+ model: options.model,
249
+ temperature: 0.5,
250
+ maxTokens: 8096,
251
+ },
252
+ hooks: {
253
+ preflight: false,
254
+ postcheck: false,
255
+ },
256
+ };
257
+ const framework = ACMFramework.create({
258
+ capabilityRegistry,
259
+ toolRegistry,
260
+ policyEngine: new SimplePolicyEngine(),
261
+ nucleus: {
262
+ call: nucleusLLMCall,
263
+ llmConfig: nucleusConfig.llmCall,
264
+ hooks: nucleusConfig.hooks,
265
+ },
266
+ verify,
267
+ defaultStream: options.stream ? stream : undefined,
268
+ contextProvider: adapter,
269
+ });
270
+ const ledger = new MemoryLedger();
271
+ const checkpointStore = new FileCheckpointStore(options.checkpointDir);
272
+ const runId = options.resume ?? `run-${Date.now()}`;
273
+ const startedAt = new Date().toISOString();
274
+ console.log('šŸ“‹ Planning...\n');
275
+ const planResponse = await framework.plan({
276
+ goal: scenario.goal,
277
+ context: scenario.context,
278
+ stream: options.stream ? stream : undefined,
279
+ ledger,
280
+ });
281
+ const rawPlannerResult = planResponse.result;
282
+ const rawPlan = planResponse.selectedPlan;
283
+ if (!rawPlan) {
284
+ throw new Error('Structured planner did not return a plan');
285
+ }
286
+ const normalizeOptions = {
287
+ capabilityRegistry,
288
+ defaultContextRef: scenario.context.id ?? scenario.key,
289
+ planIdPrefix: `${scenario.key}-plan`,
290
+ };
291
+ const plan = normalizePlan(rawPlan, normalizeOptions);
292
+ const plannerResult = normalizePlannerResult(rawPlannerResult, plan, normalizeOptions);
293
+ if (plannerResult?.rationale) {
294
+ console.log('🧠 Planner rationale:\n');
295
+ console.log(plannerResult.rationale);
296
+ console.log();
297
+ }
298
+ if (plannerResult?.plans?.length) {
299
+ console.log('šŸ“ Planner plan summary (first plan):');
300
+ const firstPlan = plannerResult.plans[0];
301
+ console.log(JSON.stringify({
302
+ id: firstPlan.id,
303
+ contextRef: firstPlan.contextRef,
304
+ tasks: (firstPlan.tasks ?? []).map((task) => ({
305
+ id: task.id,
306
+ capability: task.capability ?? task.capabilityRef,
307
+ hasInput: Boolean(task.input && Object.keys(task.input).length > 0),
308
+ inputPreview: task.input ?? null,
309
+ })),
310
+ }, null, 2));
311
+ console.log();
312
+ }
313
+ console.log(`\nāœ… Plans generated: ${plannerResult?.plans?.length ?? 0}`);
314
+ if (plan.id) {
315
+ console.log(`Executing plan ${plan.id}`);
316
+ }
317
+ console.log(`Context Ref: ${plan.contextRef ?? 'n/a'}`);
318
+ console.log('Tasks:');
319
+ plan.tasks?.forEach((task, index) => {
320
+ console.log(` ${index + 1}. ${task.id} -> ${task.capability ?? task.capabilityRef ?? 'unknown'}`);
321
+ });
322
+ console.log();
323
+ const executionEngine = options.engine;
324
+ if (executionEngine !== ExecutionEngine.ACM && options.resume) {
325
+ console.warn('āš ļø Resume is only supported with the ACM engine. Ignoring --resume.');
326
+ }
327
+ const executeResult = await framework.execute({
328
+ goal: scenario.goal,
329
+ context: scenario.context,
330
+ stream: options.stream ? stream : undefined,
331
+ engine: executionEngine,
332
+ ledger,
333
+ existingPlan: {
334
+ plan,
335
+ plannerResult,
336
+ },
337
+ resumeFrom: executionEngine === ExecutionEngine.ACM ? options.resume : undefined,
338
+ checkpointStore: executionEngine === ExecutionEngine.ACM ? checkpointStore : undefined,
339
+ checkpointInterval: executionEngine === ExecutionEngine.ACM ? 1 : undefined,
340
+ runId,
341
+ });
342
+ const completedAt = new Date().toISOString();
343
+ renderer.renderSummary(executeResult.execution);
344
+ scenario.assertExecution(executeResult.execution);
345
+ if (options.saveBundle) {
346
+ console.log('\nšŸ’¾ Saving replay bundle...');
347
+ const taskIO = [];
348
+ for (const taskSpec of plan.tasks) {
349
+ const record = executeResult.execution.outputsByTask?.[taskSpec.id];
350
+ if (record?.output !== undefined) {
351
+ taskIO.push({
352
+ taskId: taskSpec.id,
353
+ capability: taskSpec.capabilityRef || taskSpec.capability || 'unknown',
354
+ input: taskSpec.input || {},
355
+ output: record.output,
356
+ ts: new Date().toISOString(),
357
+ });
358
+ }
359
+ }
360
+ const bundlePath = await ReplayBundleExporter.export({
361
+ outputDir: `./replay/${runId}`,
362
+ goal: scenario.goal,
363
+ context: scenario.context,
364
+ plans: plannerResult.plans,
365
+ selectedPlanId: plan.id,
366
+ ledger: Array.from(executeResult.execution.ledger),
367
+ taskIO,
368
+ engineTrace: {
369
+ runId,
370
+ engine: executionEngine,
371
+ startedAt,
372
+ completedAt,
373
+ status: 'success',
374
+ tasks: plan.tasks.map(task => ({
375
+ taskId: task.id,
376
+ status: executeResult.execution.outputsByTask?.[task.id] ? 'completed' : 'skipped',
377
+ startedAt,
378
+ completedAt,
379
+ })),
380
+ },
381
+ });
382
+ console.log(` āœ… Bundle saved to: ${bundlePath}`);
383
+ }
384
+ console.log('\nāœ… Demo completed successfully!');
385
+ }
386
+ if (import.meta.url === `file://${process.argv[1]}`) {
387
+ main().catch(error => {
388
+ console.error('Fatal error:', error);
389
+ exit(1);
390
+ });
391
+ }
392
+ //# sourceMappingURL=acm-demo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acm-demo.js","sourceRoot":"","sources":["../../bin/acm-demo.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEtE,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAG9B,aAAa,EACb,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAqB,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAA2B,MAAM,8BAA8B,CAAC;AAkCjH,MAAM,sBAAsB,GAAgC;IAC1D,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,YAAY;CACnB,CAAC;AAEF,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CACT,kBAAkB;QAChB,UAAU;QACV,0BAA0B;QAC1B,YAAY;QACZ,uDAAuD,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;QACzF,gEAAgE;QAChE,6DAA6D;QAC7D,uEAAuE;QACvE,oDAAoD;QACpD,mEAAmE;QACnE,4DAA4D;QAC5D,iFAAiF;QACjF,wDAAwD;QACxD,0EAA0E;QAC1E,qDAAqD,CACxD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3B,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAe;IAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,eAAe,CAAC,GAAG,CAAC;IAC7B,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,KAAK;YACR,OAAO,eAAe,CAAC,GAAG,CAAC;QAC7B,KAAK,WAAW,CAAC;QACjB,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,eAAe,CAAC,SAAS,CAAC;QACnC,KAAK,MAAM,CAAC;QACZ,KAAK,oBAAoB,CAAC;QAC1B,KAAK,oBAAoB;YACvB,OAAO,eAAe,CAAC,IAAI,CAAC;QAC9B;YACE,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,OAAO,EAAE;YACP,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACpC,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YAClD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;SAC1C;QACD,gBAAgB,EAAE,KAAK;KACxB,CAA2B,CAAC;IAE7B,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7D,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,sBAAsB,CAAC,QAAuB,CAAC,CAAC;IAC9E,OAAO;QACL,OAAO,EAAE;YACP,WAAW;YACX,QAAQ,EAAE,QAAuB;YACjC,KAAK;YACL,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;YAC3B,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAAI,eAAe;YAC1D,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK;YAC1C,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,KAAK;SAC/B;QACD,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAAmB;IAChD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,SAAS,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrE,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,QAAqB,EAAE,KAAa,EAAE,OAAgB;IAC7E,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5C,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1C;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAwB,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,QAAqB,EAAE,MAAyB;IACvE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE;QACnC,IAAI,OAAO,MAAM,EAAE,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,cAAc,mBAAmB,CAAC,CAAC;QAC1G,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAGD,KAAK,UAAU,IAAI;IACjB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAC;IAEhD,IAAI,QAAQ,EAAE,CAAC;QACb,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,gBAAgB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC/B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAEhD,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC;IAEzD,MAAM,YAAY,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAC9C,MAAM,kBAAkB,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAC1D,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACrC,QAAQ,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,IAAI,8BAA8B,EAAE,CAAC;IACrD,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAEzC,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;IAEnC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,EAAE,MAAc,EAAE,MAAW,EAAE,WAAqB,EAAoB,EAAE;QAC5F,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,UAAU,IAAI,GAAG,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;gBAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,KAAK,CAAC,2BAA2B,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;oBAC5D,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,MAAM,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;gBAClE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,cAAc,GAAc,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;QACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,cAAc;YAC/C,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;SACpE,CAAC,CAAC,CAAC;QAEJ,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,iBAAkB,CAC3C;YACE;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,MAAM;aAChB;SACF,EACD,QAAQ,EACR;YACE,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,SAAS,EAAE,UAAU,CAAC,SAAS;SAChC,CACF,CAAC;QAEF,MAAM,iBAAiB,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAe,CAAC;QACnE,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7C,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,KAAK,EAAE,EAAE,CAAC,SAAS;SACpB,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,SAAS,EAAE,QAAQ,CAAC,IAAI;YACxB,SAAS;YACT,GAAG,EAAE,QAAQ,CAAC,GAAG;SAClB,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE;YACP,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,IAAI;SAChB;QACD,KAAK,EAAE;YACL,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,KAAK;SACjB;KACO,CAAC;IAEX,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC;QACpC,kBAAkB;QAClB,YAAY;QACZ,YAAY,EAAE,IAAI,kBAAkB,EAAE;QACtC,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,aAAa,CAAC,OAAO;YAChC,KAAK,EAAE,aAAa,CAAC,KAAK;SAC3B;QACD,MAAM;QACN,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAClD,eAAe,EAAE,OAAO;KACzB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,MAAM,eAAe,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC;QACxC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAC3C,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC;IAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,gBAAgB,GAAG;QACvB,kBAAkB;QAClB,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,QAAQ,CAAC,GAAG;QACtD,YAAY,EAAE,GAAG,QAAQ,CAAC,GAAG,OAAO;KAC5B,CAAC;IAEX,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACtD,MAAM,aAAa,GAA4B,sBAAsB,CACnE,gBAAgB,EAChB,IAAI,EACJ,gBAAgB,CACjB,CAAC;IAEF,IAAI,aAAa,EAAE,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACzB,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,KAAK,EAAE,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC;gBACtD,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa;gBACjD,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnE,YAAY,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;aACjC,CAAC,CAAC;SACJ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACb,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,aAAa,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAc,EAAE,KAAa,EAAE,EAAE;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE,CAAC,CAAC;IACrG,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IACvC,IAAI,eAAe,KAAK,eAAe,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC;QAC5C,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAC3C,MAAM,EAAE,eAAe;QACvB,MAAM;QACN,YAAY,EAAE;YACZ,IAAI;YACJ,aAAa;SACd;QACD,UAAU,EAAE,eAAe,KAAK,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAChF,eAAe,EAAE,eAAe,KAAK,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;QACtF,kBAAkB,EAAE,eAAe,KAAK,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3E,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE7C,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAChD,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAElD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAmB,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpE,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC;oBACV,MAAM,EAAE,QAAQ,CAAC,EAAE;oBACnB,UAAU,EAAE,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,UAAU,IAAI,SAAS;oBACtE,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE;oBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBAC7B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC;YACnD,SAAS,EAAE,YAAY,KAAK,EAAE;YAC9B,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,cAAc,EAAE,IAAI,CAAC,EAAE;YACvB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAU;YAC3D,MAAM;YACN,WAAW,EAAE;gBACX,KAAK;gBACL,MAAM,EAAE,eAAe;gBACvB,SAAS;gBACT,WAAW;gBACX,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAG,IAAI,CAAC,KAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC7C,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;oBAClF,SAAS;oBACT,WAAW;iBACZ,CAAC,CAAC;aACJ;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;AAClD,CAAC;AAED,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACnB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ExternalContextProviderAdapter } from '@ddse/acm-sdk';
2
+ export declare function registerExampleContextProviders(adapter: ExternalContextProviderAdapter): void;
3
+ //# sourceMappingURL=directives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../../src/context/directives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAuC,MAAM,eAAe,CAAC;AAwQpG,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,8BAA8B,GAAG,IAAI,CAqG7F"}