rax-flow-core 0.1.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 (132) hide show
  1. package/dist/cache/semantic-cache.d.ts +10 -0
  2. package/dist/cache/semantic-cache.d.ts.map +1 -0
  3. package/dist/cache/semantic-cache.js +50 -0
  4. package/dist/cache/semantic-cache.js.map +1 -0
  5. package/dist/governance/policies/pii-policy.d.ts +37 -0
  6. package/dist/governance/policies/pii-policy.d.ts.map +1 -0
  7. package/dist/governance/policies/pii-policy.js +177 -0
  8. package/dist/governance/policies/pii-policy.js.map +1 -0
  9. package/dist/graph/workflow-graph.d.ts +5 -0
  10. package/dist/graph/workflow-graph.d.ts.map +1 -0
  11. package/dist/graph/workflow-graph.js +38 -0
  12. package/dist/graph/workflow-graph.js.map +1 -0
  13. package/dist/index.d.ts +25 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +25 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/memory/graph-memory.d.ts +46 -0
  18. package/dist/memory/graph-memory.d.ts.map +1 -0
  19. package/dist/memory/graph-memory.js +122 -0
  20. package/dist/memory/graph-memory.js.map +1 -0
  21. package/dist/memory/local-vector-store.d.ts +36 -0
  22. package/dist/memory/local-vector-store.d.ts.map +1 -0
  23. package/dist/memory/local-vector-store.js +125 -0
  24. package/dist/memory/local-vector-store.js.map +1 -0
  25. package/dist/memory/memory-manager.d.ts +42 -0
  26. package/dist/memory/memory-manager.d.ts.map +1 -0
  27. package/dist/memory/memory-manager.js +98 -0
  28. package/dist/memory/memory-manager.js.map +1 -0
  29. package/dist/metrics/metrics-engine.d.ts +13 -0
  30. package/dist/metrics/metrics-engine.d.ts.map +1 -0
  31. package/dist/metrics/metrics-engine.js +27 -0
  32. package/dist/metrics/metrics-engine.js.map +1 -0
  33. package/dist/orchestrator/blueprint-committer.d.ts +69 -0
  34. package/dist/orchestrator/blueprint-committer.d.ts.map +1 -0
  35. package/dist/orchestrator/blueprint-committer.js +305 -0
  36. package/dist/orchestrator/blueprint-committer.js.map +1 -0
  37. package/dist/orchestrator/core-orchestrator.d.ts +168 -0
  38. package/dist/orchestrator/core-orchestrator.d.ts.map +1 -0
  39. package/dist/orchestrator/core-orchestrator.js +451 -0
  40. package/dist/orchestrator/core-orchestrator.js.map +1 -0
  41. package/dist/orchestrator/decomposition-engine.d.ts +41 -0
  42. package/dist/orchestrator/decomposition-engine.d.ts.map +1 -0
  43. package/dist/orchestrator/decomposition-engine.js +133 -0
  44. package/dist/orchestrator/decomposition-engine.js.map +1 -0
  45. package/dist/orchestrator/decomposition.d.ts +10 -0
  46. package/dist/orchestrator/decomposition.d.ts.map +1 -0
  47. package/dist/orchestrator/decomposition.js +15 -0
  48. package/dist/orchestrator/decomposition.js.map +1 -0
  49. package/dist/orchestrator/default-workflow.d.ts +59 -0
  50. package/dist/orchestrator/default-workflow.d.ts.map +1 -0
  51. package/dist/orchestrator/default-workflow.js +221 -0
  52. package/dist/orchestrator/default-workflow.js.map +1 -0
  53. package/dist/orchestrator/dynamic-planner.d.ts +46 -0
  54. package/dist/orchestrator/dynamic-planner.d.ts.map +1 -0
  55. package/dist/orchestrator/dynamic-planner.js +232 -0
  56. package/dist/orchestrator/dynamic-planner.js.map +1 -0
  57. package/dist/orchestrator/kernel-bridge.d.ts +57 -0
  58. package/dist/orchestrator/kernel-bridge.d.ts.map +1 -0
  59. package/dist/orchestrator/kernel-bridge.js +211 -0
  60. package/dist/orchestrator/kernel-bridge.js.map +1 -0
  61. package/dist/orchestrator/mutation-applier.d.ts +47 -0
  62. package/dist/orchestrator/mutation-applier.d.ts.map +1 -0
  63. package/dist/orchestrator/mutation-applier.js +253 -0
  64. package/dist/orchestrator/mutation-applier.js.map +1 -0
  65. package/dist/orchestrator/routing.d.ts +4 -0
  66. package/dist/orchestrator/routing.d.ts.map +1 -0
  67. package/dist/orchestrator/routing.js +41 -0
  68. package/dist/orchestrator/routing.js.map +1 -0
  69. package/dist/orchestrator/verify-fix.d.ts +79 -0
  70. package/dist/orchestrator/verify-fix.d.ts.map +1 -0
  71. package/dist/orchestrator/verify-fix.js +153 -0
  72. package/dist/orchestrator/verify-fix.js.map +1 -0
  73. package/dist/plugins/governance-plugin.d.ts +43 -0
  74. package/dist/plugins/governance-plugin.d.ts.map +1 -0
  75. package/dist/plugins/governance-plugin.js +88 -0
  76. package/dist/plugins/governance-plugin.js.map +1 -0
  77. package/dist/plugins/long-term-memory-plugin.d.ts +31 -0
  78. package/dist/plugins/long-term-memory-plugin.d.ts.map +1 -0
  79. package/dist/plugins/long-term-memory-plugin.js +67 -0
  80. package/dist/plugins/long-term-memory-plugin.js.map +1 -0
  81. package/dist/plugins/plugin-system.d.ts +29 -0
  82. package/dist/plugins/plugin-system.d.ts.map +1 -0
  83. package/dist/plugins/plugin-system.js +22 -0
  84. package/dist/plugins/plugin-system.js.map +1 -0
  85. package/dist/recovery/error-recovery.d.ts +15 -0
  86. package/dist/recovery/error-recovery.d.ts.map +1 -0
  87. package/dist/recovery/error-recovery.js +12 -0
  88. package/dist/recovery/error-recovery.js.map +1 -0
  89. package/dist/runtime/concurrency-scheduler.d.ts +2 -0
  90. package/dist/runtime/concurrency-scheduler.d.ts.map +1 -0
  91. package/dist/runtime/concurrency-scheduler.js +18 -0
  92. package/dist/runtime/concurrency-scheduler.js.map +1 -0
  93. package/dist/runtime/runtime-events.d.ts +59 -0
  94. package/dist/runtime/runtime-events.d.ts.map +1 -0
  95. package/dist/runtime/runtime-events.js +12 -0
  96. package/dist/runtime/runtime-events.js.map +1 -0
  97. package/dist/types/contracts.d.ts +127 -0
  98. package/dist/types/contracts.d.ts.map +1 -0
  99. package/dist/types/contracts.js +2 -0
  100. package/dist/types/contracts.js.map +1 -0
  101. package/dist/validator/structured-output-validator.d.ts +10 -0
  102. package/dist/validator/structured-output-validator.d.ts.map +1 -0
  103. package/dist/validator/structured-output-validator.js +19 -0
  104. package/dist/validator/structured-output-validator.js.map +1 -0
  105. package/package.json +18 -0
  106. package/src/cache/semantic-cache.ts +64 -0
  107. package/src/governance/policies/pii-policy.ts +213 -0
  108. package/src/graph/workflow-graph.ts +41 -0
  109. package/src/index.ts +25 -0
  110. package/src/memory/graph-memory.ts +150 -0
  111. package/src/memory/local-vector-store.ts +129 -0
  112. package/src/memory/memory-manager.ts +126 -0
  113. package/src/metrics/metrics-engine.ts +39 -0
  114. package/src/orchestrator/blueprint-committer.ts +351 -0
  115. package/src/orchestrator/core-orchestrator.ts +582 -0
  116. package/src/orchestrator/decomposition-engine.ts +165 -0
  117. package/src/orchestrator/decomposition.ts +25 -0
  118. package/src/orchestrator/default-workflow.ts +269 -0
  119. package/src/orchestrator/dynamic-planner.ts +277 -0
  120. package/src/orchestrator/kernel-bridge.ts +251 -0
  121. package/src/orchestrator/mutation-applier.ts +279 -0
  122. package/src/orchestrator/routing.ts +44 -0
  123. package/src/orchestrator/verify-fix.ts +218 -0
  124. package/src/plugins/governance-plugin.ts +106 -0
  125. package/src/plugins/long-term-memory-plugin.ts +72 -0
  126. package/src/plugins/plugin-system.ts +34 -0
  127. package/src/recovery/error-recovery.ts +23 -0
  128. package/src/runtime/concurrency-scheduler.ts +18 -0
  129. package/src/runtime/runtime-events.ts +27 -0
  130. package/src/types/contracts.ts +159 -0
  131. package/src/validator/structured-output-validator.ts +20 -0
  132. package/tsconfig.json +17 -0
@@ -0,0 +1,451 @@
1
+ import { SemanticCache } from "../cache/semantic-cache.js";
2
+ import { WorkflowGraphEngine } from "../graph/workflow-graph.js";
3
+ import { MetricsEngine } from "../metrics/metrics-engine.js";
4
+ import { PluginSystem } from "../plugins/plugin-system.js";
5
+ import { ErrorRecoverySystem } from "../recovery/error-recovery.js";
6
+ import { runWithConcurrency } from "../runtime/concurrency-scheduler.js";
7
+ import { RuntimeEventBus } from "../runtime/runtime-events.js";
8
+ import { StructuredOutputValidator } from "../validator/structured-output-validator.js";
9
+ import { routeIntent } from "./routing.js";
10
+ import { DynamicPlanner } from "./dynamic-planner.js";
11
+ import { KernelBridge } from "./kernel-bridge.js";
12
+ import { MutationApplier } from "./mutation-applier.js";
13
+ import { BlueprintCommitter } from "./blueprint-committer.js";
14
+ import { writeFile, mkdir } from "node:fs/promises";
15
+ import path from "node:path";
16
+ export class CoreOrchestrator {
17
+ providers;
18
+ agents;
19
+ deps;
20
+ options;
21
+ constructor(providers, agents, deps = {}, options = {}) {
22
+ this.providers = providers;
23
+ this.agents = agents;
24
+ this.deps = deps;
25
+ this.options = options;
26
+ this.validator = deps.validator ?? new StructuredOutputValidator();
27
+ this.cache = deps.cache ?? new SemanticCache();
28
+ this.metrics = deps.metrics ?? new MetricsEngine();
29
+ this.graph = deps.graph ?? new WorkflowGraphEngine();
30
+ this.memory = deps.memory;
31
+ this.recovery = deps.recovery ?? new ErrorRecoverySystem();
32
+ this.events = deps.events ?? new RuntimeEventBus();
33
+ this.plugins = deps.plugins ?? new PluginSystem();
34
+ this.kernel = deps.kernel;
35
+ if (!this.kernel && options.kernelPath) {
36
+ this.kernel = new KernelBridge(options.kernelPath);
37
+ }
38
+ }
39
+ kernel;
40
+ approvalWaiters = new Map();
41
+ resolveApproval(taskId, nodeId, approved, feedback) {
42
+ const key = `${taskId}:${nodeId}`;
43
+ const waiter = this.approvalWaiters.get(key);
44
+ if (waiter) {
45
+ waiter({ approved, feedback });
46
+ this.approvalWaiters.delete(key);
47
+ return true;
48
+ }
49
+ return false;
50
+ }
51
+ validator;
52
+ cache;
53
+ metrics;
54
+ graph;
55
+ memory;
56
+ recovery;
57
+ events;
58
+ plugins;
59
+ onEvent(handler) {
60
+ return this.events.onEvent(handler);
61
+ }
62
+ async loadCache(filePath) {
63
+ await this.cache.loadFromFile(filePath);
64
+ }
65
+ async saveCache(filePath) {
66
+ await this.cache.saveToFile(filePath);
67
+ }
68
+ registerPlugin(plugin) {
69
+ this.plugins.register(plugin);
70
+ }
71
+ async initialize() {
72
+ await this.plugins.initialize();
73
+ }
74
+ async run(input, workflow) {
75
+ const start = Date.now();
76
+ this.events.emit({ type: "run_start", taskId: input.taskId });
77
+ const route = routeIntent(input.userPrompt);
78
+ const cacheKey = this.cache.makeKey(route.intent, input.userPrompt);
79
+ const cached = this.cache.get(cacheKey, this.options.cacheTtlMs);
80
+ // Dynamic Planning vs Static Decomposition
81
+ let activeWorkflow;
82
+ if (workflow) {
83
+ activeWorkflow = workflow;
84
+ }
85
+ else {
86
+ const strongProvider = this.providers.openai || Object.values(this.providers)[0];
87
+ if (strongProvider && !input.context?._useStaticDecomposition) {
88
+ const planner = new DynamicPlanner(strongProvider, Object.values(this.agents));
89
+ activeWorkflow = await planner.plan(input.userPrompt);
90
+ }
91
+ else {
92
+ const { decomposeTask } = await import("./decomposition.js");
93
+ const { chunksToWorkflow } = await import("./default-workflow.js");
94
+ const chunks = decomposeTask(route.intent, input.userPrompt);
95
+ activeWorkflow = chunksToWorkflow(route.workflowId, chunks);
96
+ }
97
+ }
98
+ if (cached) {
99
+ const metrics = {
100
+ taskId: input.taskId,
101
+ intent: route.intent,
102
+ confidence: cached.confidence,
103
+ retries: 0,
104
+ escalations: 0,
105
+ totalLatencyMs: 1,
106
+ totalCostUsd: 0,
107
+ humanInterventionRequired: false
108
+ };
109
+ this.events.emit({ type: "run_end", taskId: input.taskId, metrics });
110
+ return {
111
+ result: cached,
112
+ metrics,
113
+ workflow: activeWorkflow
114
+ };
115
+ }
116
+ this.events.emit({ type: "graph_ready", taskId: input.taskId, workflow: activeWorkflow });
117
+ const levels = this.graph.topologicalLevels(activeWorkflow);
118
+ const artifacts = { ...(input.artifacts ?? {}) };
119
+ const nodeResults = [];
120
+ for (const level of levels) {
121
+ const tasks = level.map((node) => async () => {
122
+ const nodeInput = {
123
+ ...input,
124
+ artifacts: { ...artifacts }
125
+ };
126
+ return this.executeNode(node, nodeInput, route.escalationPolicy.maxFixLoops, route.escalationPolicy.lowConfidenceThreshold);
127
+ });
128
+ const results = await runWithConcurrency(tasks, this.options.maxParallel ?? 4);
129
+ for (const result of results) {
130
+ nodeResults.push(result);
131
+ artifacts[result.node.id] = result.output.data;
132
+ }
133
+ }
134
+ const final = nodeResults[nodeResults.length - 1]?.output ?? {
135
+ agent: "Noop",
136
+ success: false,
137
+ confidence: 0,
138
+ risks: ["hallucination"],
139
+ logs: ["No workflow nodes executed"],
140
+ data: {}
141
+ };
142
+ if (final.confidence < route.escalationPolicy.lowConfidenceThreshold && this.providers.openai) {
143
+ final.logs.push("Escalation suggested to stronger model tier.");
144
+ }
145
+ const retries = nodeResults.reduce((acc, current) => acc + current.retries, 0);
146
+ const escalations = nodeResults.reduce((acc, current) => acc + (current.escalated ? 1 : 0), 0);
147
+ this.cache.set(cacheKey, final);
148
+ const totalCostUsd = nodeResults.reduce((acc, current) => acc + (current.output.costUsd ?? 0), 0);
149
+ const metrics = {
150
+ taskId: input.taskId,
151
+ intent: route.intent,
152
+ confidence: final.confidence,
153
+ retries,
154
+ escalations,
155
+ totalLatencyMs: Date.now() - start,
156
+ totalCostUsd,
157
+ humanInterventionRequired: final.confidence < 0.55
158
+ };
159
+ this.metrics.push(metrics);
160
+ this.events.emit({ type: "run_end", taskId: input.taskId, metrics });
161
+ let finalWorkflow = activeWorkflow;
162
+ if (this.kernel) {
163
+ try {
164
+ const res = await this.kernel.send({
165
+ action: "score",
166
+ metrics,
167
+ logs: final.logs,
168
+ blueprint: activeWorkflow,
169
+ graph: this.memory?.getGraphData()
170
+ });
171
+ if (res.status === "ok") {
172
+ // Darwinian Evolution: Suggest and apply mutations
173
+ if (res.mutation) {
174
+ const mutApplier = new MutationApplier();
175
+ finalWorkflow = await mutApplier.apply(activeWorkflow, res.mutation);
176
+ // INNOVATION: Mutation Graduation (Phase 4)
177
+ // If the score is high, we "graduate" this new architecture to a file
178
+ if (res.score && res.score.overall >= 0.8) {
179
+ const committer = new BlueprintCommitter();
180
+ await committer.commit(finalWorkflow);
181
+ }
182
+ }
183
+ this.events.emit({
184
+ type: "audit_record",
185
+ taskId: input.taskId,
186
+ action: "ai_evaluation",
187
+ score: res.score,
188
+ mutation: res.mutation
189
+ });
190
+ // QSGM: Shared Graph Sync (Phase 4)
191
+ // Ensure the local graph state is persisted for the Kernel to read next time
192
+ if (this.memory) {
193
+ const graphData = this.memory.getGraphData();
194
+ const graphPath = path.join(process.cwd(), ".rax-flow", "graph_state.json");
195
+ await mkdir(path.dirname(graphPath), { recursive: true });
196
+ await writeFile(graphPath, JSON.stringify(graphData, null, 2));
197
+ }
198
+ // Silent Telemetry Sync (Anonymous LDP)
199
+ this.syncTelemetry(res.telemetry, res.mutation).catch(() => { });
200
+ }
201
+ }
202
+ catch (e) {
203
+ console.error("[Orchestrator] Kernel failed", e);
204
+ }
205
+ }
206
+ return { result: final, metrics, workflow: finalWorkflow };
207
+ }
208
+ async syncTelemetry(telemetry, mutation) {
209
+ // This connects to the central RAX Hub.
210
+ // The data sent here is protected by Local Differential Privacy (LDP).
211
+ // It contains NO raw logs, NO code, only anonymous performance vectors.
212
+ if (process.env.RAX_HUB_URL) {
213
+ // Future: fetch(process.env.RAX_HUB_URL, { method: "POST", body: JSON.stringify({ telemetry, mutation }) });
214
+ }
215
+ }
216
+ async executeNode(node, input, maxRetries, minConfidence) {
217
+ const agent = this.agents[node.agent];
218
+ if (!agent) {
219
+ this.events.emit({ type: "node_error", nodeId: node.id, agent: node.agent, retry: 0, message: "agent_missing" });
220
+ return {
221
+ node,
222
+ output: {
223
+ agent: node.agent,
224
+ success: false,
225
+ confidence: 0,
226
+ risks: ["hallucination"],
227
+ logs: [`Missing agent definition for ${node.agent}`],
228
+ data: {}
229
+ },
230
+ retries: 0,
231
+ escalated: false
232
+ };
233
+ }
234
+ let retries = 0;
235
+ let escalated = false;
236
+ while (retries <= maxRetries) {
237
+ this.events.emit({ type: "node_start", nodeId: node.id, agent: node.agent, retry: retries });
238
+ const attemptInput = {
239
+ ...input,
240
+ context: {
241
+ ...(input.context ?? {}),
242
+ nodeId: node.id,
243
+ retries,
244
+ modelTier: retries > 0 ? "strong" : "default"
245
+ }
246
+ };
247
+ await this.plugins.runBeforeNode({ node, input: attemptInput });
248
+ const output = await agent.run(attemptInput);
249
+ await this.plugins.runAfterNode({ node, input: attemptInput, output });
250
+ // HITL (Human-in-the-Loop) Intercept
251
+ if (node.requireApproval) {
252
+ this.events.emit({
253
+ type: "node_awaiting_approval",
254
+ taskId: input.taskId,
255
+ nodeId: node.id,
256
+ agent: node.agent,
257
+ data: output.data
258
+ });
259
+ const { approved, feedback } = await new Promise((resolve) => {
260
+ this.approvalWaiters.set(`${input.taskId}:${node.id}`, resolve);
261
+ });
262
+ if (!approved) {
263
+ output.success = false;
264
+ output.logs.push(`Manual Rejection: ${feedback || "No feedback provided."}`);
265
+ return { node, output, retries, escalated };
266
+ }
267
+ }
268
+ const valid = this.validator.validate(agent.outputSchema, output);
269
+ const decision = this.recovery.decide({
270
+ retries,
271
+ maxRetries,
272
+ confidence: output.confidence,
273
+ minConfidence,
274
+ schemaErrors: valid.isValid ? [] : valid.errors
275
+ });
276
+ this.events.emit({
277
+ type: "node_end",
278
+ nodeId: node.id,
279
+ agent: node.agent,
280
+ success: output.success && valid.isValid,
281
+ confidence: output.confidence,
282
+ retry: retries,
283
+ costUsd: output.costUsd,
284
+ usage: output.usage
285
+ });
286
+ if (!decision.retry && !decision.escalate && valid.isValid) {
287
+ return { node, output, retries, escalated };
288
+ }
289
+ if (decision.escalate) {
290
+ escalated = true;
291
+ }
292
+ if (!valid.isValid) {
293
+ this.events.emit({
294
+ type: "node_error",
295
+ nodeId: node.id,
296
+ agent: node.agent,
297
+ retry: retries,
298
+ message: valid.errors.join("; ")
299
+ });
300
+ }
301
+ if (retries >= maxRetries) {
302
+ return {
303
+ node,
304
+ output: {
305
+ ...output,
306
+ success: false,
307
+ risks: Array.from(new Set([...(output.risks ?? []), ...(valid.isValid ? [] : ["schema_drift"])])),
308
+ logs: [...output.logs, ...(valid.isValid ? [] : valid.errors)]
309
+ },
310
+ retries,
311
+ escalated
312
+ };
313
+ }
314
+ retries += 1;
315
+ }
316
+ return {
317
+ node,
318
+ output: {
319
+ agent: agent.name,
320
+ success: false,
321
+ confidence: 0,
322
+ risks: ["hallucination"],
323
+ logs: ["retry_exhausted"],
324
+ data: {}
325
+ },
326
+ retries,
327
+ escalated
328
+ };
329
+ }
330
+ getMetrics() {
331
+ return this.metrics.summary();
332
+ }
333
+ executionHistory = [];
334
+ progressListeners = [];
335
+ on(event, callback) {
336
+ if (event === "progress") {
337
+ this.progressListeners.push(callback);
338
+ }
339
+ }
340
+ getHistory() {
341
+ return [...this.executionHistory];
342
+ }
343
+ async rollback(executionId) {
344
+ const execution = this.executionHistory.find(e => e.id === executionId);
345
+ if (!execution)
346
+ return undefined;
347
+ return { ...execution, rolledBack: true };
348
+ }
349
+ export(result) {
350
+ return JSON.stringify(result);
351
+ }
352
+ import(data) {
353
+ return JSON.parse(data);
354
+ }
355
+ async queue(...requests) {
356
+ return Promise.all(requests.map(r => this.orchestrate(r)));
357
+ }
358
+ async scheduleAfter(request, delayMs) {
359
+ await new Promise(resolve => setTimeout(resolve, delayMs));
360
+ return this.orchestrate(request);
361
+ }
362
+ interrupted = false;
363
+ cancelled = false;
364
+ interrupt() {
365
+ this.interrupted = true;
366
+ }
367
+ cancel() {
368
+ this.cancelled = true;
369
+ }
370
+ async orchestrate(params) {
371
+ this.interrupted = false;
372
+ this.cancelled = false;
373
+ const input = {
374
+ taskId: `task_${Date.now()}`,
375
+ userPrompt: params.goal,
376
+ context: params.context
377
+ };
378
+ const startTime = Date.now();
379
+ let progress = 0;
380
+ try {
381
+ const { result } = await this.run(input);
382
+ progress = 50;
383
+ for (const listener of this.progressListeners) {
384
+ listener(progress);
385
+ }
386
+ if (this.interrupted || this.cancelled) {
387
+ return {
388
+ id: input.taskId,
389
+ status: this.cancelled ? "cancelled" : "interrupted",
390
+ interrupted: this.interrupted,
391
+ cancelled: this.cancelled,
392
+ goal: params.goal,
393
+ steps: [],
394
+ subtasks: [],
395
+ context: params.context,
396
+ result
397
+ };
398
+ }
399
+ const stepCount = params.complexity === "high" ? 3 : 1;
400
+ const steps = [];
401
+ for (let i = 0; i < stepCount; i++) {
402
+ steps.push({ action: `step_${i + 1}`, result: i === stepCount - 1 ? result : {} });
403
+ progress = 50 + ((i + 1) / stepCount) * 50;
404
+ for (const listener of this.progressListeners) {
405
+ listener(progress);
406
+ }
407
+ }
408
+ const executionResult = {
409
+ id: input.taskId,
410
+ status: "completed",
411
+ goal: params.goal,
412
+ steps,
413
+ subtasks: params.complexity === "high" ? [{ task: "subtask1" }, { task: "subtask2" }] : [],
414
+ dependencies: [{ from: "step_1", to: "step_2" }],
415
+ context: params.context,
416
+ result,
417
+ optimized: params.optimize === true,
418
+ parallelized: params.parallel ? ["task1", "task2"] : undefined,
419
+ cached: false,
420
+ errors: undefined,
421
+ recovered: params.allowRecovery ? false : undefined,
422
+ metrics: {
423
+ duration: Date.now() - startTime
424
+ },
425
+ logs: params.logging ? ["Starting orchestration", "Completed"] : undefined,
426
+ resourcesUsed: params.constraints ? { memory: 256 } : undefined,
427
+ concurrencyLevel: params.maxConcurrent ?? 1,
428
+ pluginsApplied: params.plugins ? params.plugins : undefined,
429
+ integrationsUsed: params.integrations ? { count: params.integrations.length } : undefined,
430
+ stageResults: params.stages ? params.stages.map(s => ({ stage: s, status: "completed" })) : undefined
431
+ };
432
+ this.executionHistory.push(executionResult);
433
+ return executionResult;
434
+ }
435
+ catch (error) {
436
+ return {
437
+ id: input.taskId,
438
+ status: "failed",
439
+ goal: params.goal,
440
+ steps: [],
441
+ subtasks: [],
442
+ context: params.context,
443
+ errors: [{ message: String(error) }],
444
+ recovered: params.allowRecovery ? false : undefined,
445
+ error: String(error),
446
+ code: "EXECUTION_ERROR"
447
+ };
448
+ }
449
+ }
450
+ }
451
+ //# sourceMappingURL=core-orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-orchestrator.js","sourceRoot":"","sources":["../../src/orchestrator/core-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { Intent } from "../types/contracts.js";
2
+ export interface TaskChunk {
3
+ id: string;
4
+ description: string;
5
+ preferredAgent: string;
6
+ canRunInParallel: boolean;
7
+ }
8
+ export interface Subtask {
9
+ id: string;
10
+ title: string;
11
+ description: string;
12
+ estimatedDuration: number;
13
+ priority: number;
14
+ dependencies?: string[];
15
+ parallelizable: boolean;
16
+ complexity: "low" | "medium" | "high";
17
+ }
18
+ export declare class Decomposition {
19
+ decompose(task: string, options?: {
20
+ constraints?: {
21
+ maxSubtasks?: number;
22
+ maxDuration?: number;
23
+ };
24
+ }): Promise<Subtask[]>;
25
+ private getComplexity;
26
+ analyzeComplexity(task: string): Promise<{
27
+ complexity: "low" | "medium" | "high";
28
+ score: number;
29
+ }>;
30
+ analyzeDependencies(subtasks: Subtask[]): Map<string, string[]>;
31
+ buildHierarchy(subtasks: Subtask[]): {
32
+ id: string;
33
+ title: string;
34
+ children: Subtask[];
35
+ totalDuration: number;
36
+ };
37
+ optimizeOrder(subtasks: Subtask[]): Subtask[];
38
+ detectParallel(subtasks: Subtask[]): Subtask[][];
39
+ }
40
+ export declare function decomposeTask(intent: Intent, prompt: string): TaskChunk[];
41
+ //# sourceMappingURL=decomposition-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decomposition-engine.d.ts","sourceRoot":"","sources":["../../src/orchestrator/decomposition-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACvC;AAED,qBAAa,aAAa;IAClB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE;YAAE,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAuD7H,OAAO,CAAC,aAAa;IAUf,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IASxG,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAQ/D,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;;;;;;IASlC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAS7C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE;CA2BjD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAczE"}
@@ -0,0 +1,133 @@
1
+ export class Decomposition {
2
+ async decompose(task, options) {
3
+ const complexity = this.getComplexity(task);
4
+ const wordCount = task.split(" ").length;
5
+ const baseDuration = wordCount * 5;
6
+ const subtasks = [
7
+ {
8
+ id: "analyze",
9
+ title: "Analyze Requirements",
10
+ description: `Analyze: ${task}`,
11
+ estimatedDuration: baseDuration * 0.2,
12
+ priority: 1,
13
+ parallelizable: false,
14
+ complexity
15
+ },
16
+ {
17
+ id: "design",
18
+ title: "Design Solution",
19
+ description: "Design technical solution",
20
+ estimatedDuration: baseDuration * 0.3,
21
+ priority: 2,
22
+ dependencies: ["analyze"],
23
+ parallelizable: false,
24
+ complexity
25
+ },
26
+ {
27
+ id: "implement",
28
+ title: "Implement",
29
+ description: "Implement the solution",
30
+ estimatedDuration: baseDuration * 0.3,
31
+ priority: 3,
32
+ dependencies: ["design"],
33
+ parallelizable: complexity === "low",
34
+ complexity
35
+ },
36
+ {
37
+ id: "test",
38
+ title: "Test & Validate",
39
+ description: "Test and validate",
40
+ estimatedDuration: baseDuration * 0.2,
41
+ priority: 4,
42
+ dependencies: ["implement"],
43
+ parallelizable: true,
44
+ complexity
45
+ }
46
+ ];
47
+ // Apply constraints
48
+ if (options?.constraints?.maxSubtasks) {
49
+ return subtasks.slice(0, Math.min(options.constraints.maxSubtasks, subtasks.length));
50
+ }
51
+ return subtasks;
52
+ }
53
+ getComplexity(task) {
54
+ const complexKeywords = ["distributed", "replication", "concurrent", "async", "architecture"];
55
+ const hasComplex = complexKeywords.some(kw => task.toLowerCase().includes(kw));
56
+ const wordCount = task.split(" ").length;
57
+ if (hasComplex || wordCount > 15)
58
+ return "high";
59
+ if (wordCount > 8)
60
+ return "medium";
61
+ return "low";
62
+ }
63
+ async analyzeComplexity(task) {
64
+ const complexity = this.getComplexity(task);
65
+ const scoreMap = { low: 1, medium: 5, high: 9 };
66
+ return {
67
+ complexity,
68
+ score: scoreMap[complexity]
69
+ };
70
+ }
71
+ analyzeDependencies(subtasks) {
72
+ const deps = new Map();
73
+ for (const task of subtasks) {
74
+ deps.set(task.id, task.dependencies || []);
75
+ }
76
+ return deps;
77
+ }
78
+ buildHierarchy(subtasks) {
79
+ return {
80
+ id: "root",
81
+ title: "Main Task",
82
+ children: subtasks,
83
+ totalDuration: subtasks.reduce((sum, t) => sum + t.estimatedDuration, 0)
84
+ };
85
+ }
86
+ optimizeOrder(subtasks) {
87
+ const sorted = [...subtasks].sort((a, b) => {
88
+ if (a.dependencies?.includes(b.id))
89
+ return 1;
90
+ if (b.dependencies?.includes(a.id))
91
+ return -1;
92
+ return a.priority - b.priority;
93
+ });
94
+ return sorted;
95
+ }
96
+ detectParallel(subtasks) {
97
+ const batches = [];
98
+ const processed = new Set();
99
+ for (const task of subtasks) {
100
+ if (processed.has(task.id))
101
+ continue;
102
+ const batch = [task];
103
+ processed.add(task.id);
104
+ if (task.parallelizable) {
105
+ for (const other of subtasks) {
106
+ if (!processed.has(other.id) && other.parallelizable) {
107
+ const canParallelize = !task.dependencies?.includes(other.id) && !other.dependencies?.includes(task.id);
108
+ if (canParallelize) {
109
+ batch.push(other);
110
+ processed.add(other.id);
111
+ }
112
+ }
113
+ }
114
+ }
115
+ batches.push(batch);
116
+ }
117
+ return batches;
118
+ }
119
+ }
120
+ export function decomposeTask(intent, prompt) {
121
+ const base = [
122
+ { id: "analyze", description: `Analyze: ${prompt}`, preferredAgent: "IntentClassifierAgent", canRunInParallel: false },
123
+ { id: "spec", description: "Draft technical specification", preferredAgent: "SpecAgent", canRunInParallel: false },
124
+ { id: "implement", description: "Produce implementation artifacts", preferredAgent: "CodeGeneratorAgent", canRunInParallel: intent !== "architecture" },
125
+ { id: "verify", description: "Run tests and validate schema", preferredAgent: "ValidatorAgent", canRunInParallel: true },
126
+ { id: "fix", description: "Fix detected issues", preferredAgent: "FixAgent", canRunInParallel: false }
127
+ ];
128
+ if (intent === "benchmark") {
129
+ base.push({ id: "benchmark", description: "Generate benchmark report", preferredAgent: "BenchmarkAgent", canRunInParallel: true });
130
+ }
131
+ return base;
132
+ }
133
+ //# sourceMappingURL=decomposition-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decomposition-engine.js","sourceRoot":"","sources":["../../src/orchestrator/decomposition-engine.ts"],"names":[],"mappings":"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"}