@kilnai/core 0.23.2 → 1.0.1
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.
- package/dist/agents/execution-identity.d.ts +15 -0
- package/dist/agents/execution-identity.d.ts.map +1 -0
- package/dist/agents/execution-identity.js +42 -0
- package/dist/agents/execution-identity.js.map +1 -0
- package/dist/agents/index.d.ts +6 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +4 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/infrastructure/__tests__/codex-oauth-auth.test.d.ts +2 -0
- package/dist/agents/infrastructure/__tests__/codex-oauth-auth.test.d.ts.map +1 -0
- package/dist/agents/infrastructure/__tests__/codex-oauth-auth.test.js +313 -0
- package/dist/agents/infrastructure/__tests__/codex-oauth-auth.test.js.map +1 -0
- package/dist/agents/infrastructure/__tests__/codex-oauth.test.d.ts +2 -0
- package/dist/agents/infrastructure/__tests__/codex-oauth.test.d.ts.map +1 -0
- package/dist/agents/infrastructure/__tests__/codex-oauth.test.js +720 -0
- package/dist/agents/infrastructure/__tests__/codex-oauth.test.js.map +1 -0
- package/dist/agents/infrastructure/codex-oauth-auth.d.ts +41 -0
- package/dist/agents/infrastructure/codex-oauth-auth.d.ts.map +1 -0
- package/dist/agents/infrastructure/codex-oauth-auth.js +204 -0
- package/dist/agents/infrastructure/codex-oauth-auth.js.map +1 -0
- package/dist/agents/infrastructure/codex-oauth.d.ts +32 -0
- package/dist/agents/infrastructure/codex-oauth.d.ts.map +1 -0
- package/dist/agents/infrastructure/codex-oauth.js +371 -0
- package/dist/agents/infrastructure/codex-oauth.js.map +1 -0
- package/dist/agents/model-capability-registry.d.ts +2 -0
- package/dist/agents/model-capability-registry.d.ts.map +1 -1
- package/dist/agents/model-capability-registry.js +11 -2
- package/dist/agents/model-capability-registry.js.map +1 -1
- package/dist/agents/model-pricing.d.ts +2 -0
- package/dist/agents/model-pricing.d.ts.map +1 -1
- package/dist/agents/model-pricing.js +10 -0
- package/dist/agents/model-pricing.js.map +1 -1
- package/dist/cost/cost-tracker.d.ts +1 -0
- package/dist/cost/cost-tracker.d.ts.map +1 -1
- package/dist/cost/cost-tracker.js +6 -3
- package/dist/cost/cost-tracker.js.map +1 -1
- package/dist/cost/index.d.ts +2 -0
- package/dist/cost/index.d.ts.map +1 -1
- package/dist/cost/index.js +1 -0
- package/dist/cost/index.js.map +1 -1
- package/dist/cost/models-dev-client.d.ts +20 -0
- package/dist/cost/models-dev-client.d.ts.map +1 -0
- package/dist/cost/models-dev-client.js +91 -0
- package/dist/cost/models-dev-client.js.map +1 -0
- package/dist/domain/index.d.ts +1 -0
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js.map +1 -1
- package/dist/engine/composites/team.d.ts +1 -1
- package/dist/engine/composites/team.d.ts.map +1 -1
- package/dist/engine/composites/team.js +1 -17
- package/dist/engine/composites/team.js.map +1 -1
- package/dist/engine/domain/cron.d.ts +3 -1
- package/dist/engine/domain/cron.d.ts.map +1 -1
- package/dist/engine/domain/cron.js +41 -10
- package/dist/engine/domain/cron.js.map +1 -1
- package/dist/engine/domain/tool-execution.d.ts +21 -0
- package/dist/engine/domain/tool-execution.d.ts.map +1 -1
- package/dist/engine/error-catalog.d.ts.map +1 -1
- package/dist/engine/error-catalog.js +8 -0
- package/dist/engine/error-catalog.js.map +1 -1
- package/dist/engine/errors.d.ts +2 -1
- package/dist/engine/errors.d.ts.map +1 -1
- package/dist/engine/errors.js +10 -0
- package/dist/engine/errors.js.map +1 -1
- package/dist/engine/index.d.ts +1 -1
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +1 -1
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/loader/app-loader.js +1 -1
- package/dist/engine/loader/app-loader.js.map +1 -1
- package/dist/events/index.d.ts +18 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +2 -0
- package/dist/events/index.js.map +1 -1
- package/dist/field/domain/field-config.d.ts +8 -0
- package/dist/field/domain/field-config.d.ts.map +1 -0
- package/dist/field/domain/field-config.js +7 -0
- package/dist/field/domain/field-config.js.map +1 -0
- package/dist/field/domain/field-store.d.ts +8 -0
- package/dist/field/domain/field-store.d.ts.map +1 -0
- package/dist/field/domain/field-store.js +2 -0
- package/dist/field/domain/field-store.js.map +1 -0
- package/dist/field/domain/field.d.ts +22 -0
- package/dist/field/domain/field.d.ts.map +1 -0
- package/dist/field/domain/field.js +2 -0
- package/dist/field/domain/field.js.map +1 -0
- package/dist/field/field-inhibitor.d.ts +17 -0
- package/dist/field/field-inhibitor.d.ts.map +1 -0
- package/dist/field/field-inhibitor.js +50 -0
- package/dist/field/field-inhibitor.js.map +1 -0
- package/dist/field/field-propagator.d.ts +19 -0
- package/dist/field/field-propagator.d.ts.map +1 -0
- package/dist/field/field-propagator.js +69 -0
- package/dist/field/field-propagator.js.map +1 -0
- package/dist/field/field-service.d.ts +18 -0
- package/dist/field/field-service.d.ts.map +1 -0
- package/dist/field/field-service.js +57 -0
- package/dist/field/field-service.js.map +1 -0
- package/dist/field/field-updater.d.ts +19 -0
- package/dist/field/field-updater.d.ts.map +1 -0
- package/dist/field/field-updater.js +64 -0
- package/dist/field/field-updater.js.map +1 -0
- package/dist/field/index.d.ts +15 -0
- package/dist/field/index.d.ts.map +1 -0
- package/dist/field/index.js +9 -0
- package/dist/field/index.js.map +1 -0
- package/dist/field/infrastructure/in-memory-field-store.d.ts +16 -0
- package/dist/field/infrastructure/in-memory-field-store.d.ts.map +1 -0
- package/dist/field/infrastructure/in-memory-field-store.js +72 -0
- package/dist/field/infrastructure/in-memory-field-store.js.map +1 -0
- package/dist/field/infrastructure/sqlite-field-store.d.ts +20 -0
- package/dist/field/infrastructure/sqlite-field-store.d.ts.map +1 -0
- package/dist/field/infrastructure/sqlite-field-store.js +107 -0
- package/dist/field/infrastructure/sqlite-field-store.js.map +1 -0
- package/dist/field/stability-monitor.d.ts +24 -0
- package/dist/field/stability-monitor.d.ts.map +1 -0
- package/dist/field/stability-monitor.js +72 -0
- package/dist/field/stability-monitor.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/memory/context-budget.d.ts +17 -0
- package/dist/memory/context-budget.d.ts.map +1 -0
- package/dist/memory/context-budget.js +29 -0
- package/dist/memory/context-budget.js.map +1 -0
- package/dist/memory/context-cache.d.ts +23 -0
- package/dist/memory/context-cache.d.ts.map +1 -0
- package/dist/memory/context-cache.js +34 -0
- package/dist/memory/context-cache.js.map +1 -0
- package/dist/memory/index.d.ts +15 -3
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +5 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/memory-manager.d.ts +1 -1
- package/dist/memory/memory-manager.d.ts.map +1 -1
- package/dist/memory/memory-manager.js +2 -2
- package/dist/memory/memory-manager.js.map +1 -1
- package/dist/memory/project-store.js +1 -1
- package/dist/memory/project-store.js.map +1 -1
- package/dist/memory/resume-policy.d.ts +21 -0
- package/dist/memory/resume-policy.d.ts.map +1 -0
- package/dist/memory/resume-policy.js +70 -0
- package/dist/memory/resume-policy.js.map +1 -0
- package/dist/memory/resume-signals.d.ts +8 -0
- package/dist/memory/resume-signals.d.ts.map +1 -0
- package/dist/memory/resume-signals.js +8 -0
- package/dist/memory/resume-signals.js.map +1 -0
- package/dist/memory/sqlite-store.d.ts +6 -1
- package/dist/memory/sqlite-store.d.ts.map +1 -1
- package/dist/memory/sqlite-store.js +88 -11
- package/dist/memory/sqlite-store.js.map +1 -1
- package/dist/memory/task-shape.d.ts +2 -0
- package/dist/memory/task-shape.d.ts.map +1 -0
- package/dist/memory/task-shape.js +9 -0
- package/dist/memory/task-shape.js.map +1 -0
- package/dist/observability/span-mapper.d.ts.map +1 -1
- package/dist/observability/span-mapper.js +18 -0
- package/dist/observability/span-mapper.js.map +1 -1
- package/dist/orchestrator/chain-governor.d.ts +62 -0
- package/dist/orchestrator/chain-governor.d.ts.map +1 -0
- package/dist/orchestrator/chain-governor.js +80 -0
- package/dist/orchestrator/chain-governor.js.map +1 -0
- package/dist/orchestrator/demand-allocator.d.ts +64 -0
- package/dist/orchestrator/demand-allocator.d.ts.map +1 -0
- package/dist/orchestrator/demand-allocator.js +139 -0
- package/dist/orchestrator/demand-allocator.js.map +1 -0
- package/dist/orchestrator/demand-signal.d.ts +9 -0
- package/dist/orchestrator/demand-signal.d.ts.map +1 -0
- package/dist/orchestrator/demand-signal.js +23 -0
- package/dist/orchestrator/demand-signal.js.map +1 -0
- package/dist/orchestrator/index.d.ts +8 -2
- package/dist/orchestrator/index.d.ts.map +1 -1
- package/dist/orchestrator/index.js +8 -1
- package/dist/orchestrator/index.js.map +1 -1
- package/dist/orchestrator/orchestrator-checkpoint-support.d.ts +43 -0
- package/dist/orchestrator/orchestrator-checkpoint-support.d.ts.map +1 -0
- package/dist/orchestrator/orchestrator-checkpoint-support.js +147 -0
- package/dist/orchestrator/orchestrator-checkpoint-support.js.map +1 -0
- package/dist/orchestrator/orchestrator-dev-tool-support.d.ts +30 -0
- package/dist/orchestrator/orchestrator-dev-tool-support.d.ts.map +1 -0
- package/dist/orchestrator/orchestrator-dev-tool-support.js +125 -0
- package/dist/orchestrator/orchestrator-dev-tool-support.js.map +1 -0
- package/dist/orchestrator/orchestrator-interrupt-support.d.ts +22 -0
- package/dist/orchestrator/orchestrator-interrupt-support.d.ts.map +1 -0
- package/dist/orchestrator/orchestrator-interrupt-support.js +64 -0
- package/dist/orchestrator/orchestrator-interrupt-support.js.map +1 -0
- package/dist/orchestrator/orchestrator-memory-sync-support.d.ts +16 -0
- package/dist/orchestrator/orchestrator-memory-sync-support.d.ts.map +1 -0
- package/dist/orchestrator/orchestrator-memory-sync-support.js +25 -0
- package/dist/orchestrator/orchestrator-memory-sync-support.js.map +1 -0
- package/dist/orchestrator/orchestrator-verification-support.d.ts +17 -0
- package/dist/orchestrator/orchestrator-verification-support.d.ts.map +1 -0
- package/dist/orchestrator/orchestrator-verification-support.js +29 -0
- package/dist/orchestrator/orchestrator-verification-support.js.map +1 -0
- package/dist/orchestrator/orchestrator.d.ts +24 -16
- package/dist/orchestrator/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator/orchestrator.js +106 -235
- package/dist/orchestrator/orchestrator.js.map +1 -1
- package/dist/orchestrator/strategies/index.d.ts +0 -1
- package/dist/orchestrator/strategies/index.d.ts.map +1 -1
- package/dist/orchestrator/strategies/index.js +1 -5
- package/dist/orchestrator/strategies/index.js.map +1 -1
- package/dist/orchestrator/task-registry.d.ts +94 -0
- package/dist/orchestrator/task-registry.d.ts.map +1 -0
- package/dist/orchestrator/task-registry.js +167 -0
- package/dist/orchestrator/task-registry.js.map +1 -0
- package/dist/safety/pii-scanner.d.ts.map +1 -1
- package/dist/safety/pii-scanner.js +7 -8
- package/dist/safety/pii-scanner.js.map +1 -1
- package/dist/safety/rails.d.ts.map +1 -1
- package/dist/safety/rails.js +9 -5
- package/dist/safety/rails.js.map +1 -1
- package/dist/security/dangerous-command-detector.d.ts +5 -0
- package/dist/security/dangerous-command-detector.d.ts.map +1 -0
- package/dist/security/dangerous-command-detector.js +92 -0
- package/dist/security/dangerous-command-detector.js.map +1 -0
- package/dist/security/index.d.ts +1 -0
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +1 -0
- package/dist/security/index.js.map +1 -1
- package/dist/security/prompt-scanner.d.ts.map +1 -1
- package/dist/security/prompt-scanner.js +117 -4
- package/dist/security/prompt-scanner.js.map +1 -1
- package/dist/skill/index.d.ts +4 -0
- package/dist/skill/index.d.ts.map +1 -1
- package/dist/skill/index.js +2 -0
- package/dist/skill/index.js.map +1 -1
- package/dist/skill/skill-capture.d.ts +46 -0
- package/dist/skill/skill-capture.d.ts.map +1 -0
- package/dist/skill/skill-capture.js +150 -0
- package/dist/skill/skill-capture.js.map +1 -0
- package/dist/skill/skill-generator.d.ts +20 -0
- package/dist/skill/skill-generator.d.ts.map +1 -0
- package/dist/skill/skill-generator.js +106 -0
- package/dist/skill/skill-generator.js.map +1 -0
- package/dist/tools/domain/tool-environment.d.ts +16 -0
- package/dist/tools/domain/tool-environment.d.ts.map +1 -0
- package/dist/tools/domain/tool-environment.js +94 -0
- package/dist/tools/domain/tool-environment.js.map +1 -0
- package/dist/tools/domain/tool-registry.d.ts +10 -0
- package/dist/tools/domain/tool-registry.d.ts.map +1 -0
- package/dist/tools/domain/tool-registry.js +23 -0
- package/dist/tools/domain/tool-registry.js.map +1 -0
- package/dist/tools/domain/tool.d.ts +29 -0
- package/dist/tools/domain/tool.d.ts.map +1 -0
- package/dist/tools/domain/tool.js +123 -0
- package/dist/tools/domain/tool.js.map +1 -0
- package/dist/tools/index.d.ts +18 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +13 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/infrastructure/bash-tool.d.ts +20 -0
- package/dist/tools/infrastructure/bash-tool.d.ts.map +1 -0
- package/dist/tools/infrastructure/bash-tool.js +84 -0
- package/dist/tools/infrastructure/bash-tool.js.map +1 -0
- package/dist/tools/infrastructure/edit-tool.d.ts +9 -0
- package/dist/tools/infrastructure/edit-tool.d.ts.map +1 -0
- package/dist/tools/infrastructure/edit-tool.js +80 -0
- package/dist/tools/infrastructure/edit-tool.js.map +1 -0
- package/dist/tools/infrastructure/git-tool.d.ts +20 -0
- package/dist/tools/infrastructure/git-tool.d.ts.map +1 -0
- package/dist/tools/infrastructure/git-tool.js +85 -0
- package/dist/tools/infrastructure/git-tool.js.map +1 -0
- package/dist/tools/infrastructure/glob-tool.d.ts +23 -0
- package/dist/tools/infrastructure/glob-tool.d.ts.map +1 -0
- package/dist/tools/infrastructure/glob-tool.js +88 -0
- package/dist/tools/infrastructure/glob-tool.js.map +1 -0
- package/dist/tools/infrastructure/grep-tool.d.ts +23 -0
- package/dist/tools/infrastructure/grep-tool.d.ts.map +1 -0
- package/dist/tools/infrastructure/grep-tool.js +146 -0
- package/dist/tools/infrastructure/grep-tool.js.map +1 -0
- package/dist/tools/infrastructure/read-tool.d.ts +9 -0
- package/dist/tools/infrastructure/read-tool.d.ts.map +1 -0
- package/dist/tools/infrastructure/read-tool.js +45 -0
- package/dist/tools/infrastructure/read-tool.js.map +1 -0
- package/dist/tools/infrastructure/tool-helpers.d.ts +37 -0
- package/dist/tools/infrastructure/tool-helpers.d.ts.map +1 -0
- package/dist/tools/infrastructure/tool-helpers.js +145 -0
- package/dist/tools/infrastructure/tool-helpers.js.map +1 -0
- package/dist/tools/infrastructure/write-tool.d.ts +9 -0
- package/dist/tools/infrastructure/write-tool.d.ts.map +1 -0
- package/dist/tools/infrastructure/write-tool.js +38 -0
- package/dist/tools/infrastructure/write-tool.js.map +1 -0
- package/dist/tools/mcp/dev-tools-server.d.ts +37 -0
- package/dist/tools/mcp/dev-tools-server.d.ts.map +1 -0
- package/dist/tools/mcp/dev-tools-server.js +94 -0
- package/dist/tools/mcp/dev-tools-server.js.map +1 -0
- package/dist/tools/tool-executor.d.ts +34 -0
- package/dist/tools/tool-executor.d.ts.map +1 -0
- package/dist/tools/tool-executor.js +123 -0
- package/dist/tools/tool-executor.js.map +1 -0
- package/package.json +6 -5
- package/dist/orchestrator/strategies/swarm-strategy.d.ts +0 -36
- package/dist/orchestrator/strategies/swarm-strategy.d.ts.map +0 -1
- package/dist/orchestrator/strategies/swarm-strategy.js +0 -126
- package/dist/orchestrator/strategies/swarm-strategy.js.map +0 -1
|
@@ -4,11 +4,14 @@ import { EventBus } from "../events/event-bus.js";
|
|
|
4
4
|
import { CostTracker } from "../cost/cost-tracker.js";
|
|
5
5
|
import { createTraceContext, startSpan } from "../events/trace.js";
|
|
6
6
|
import { TaskTree, BatchExecutor } from "../tree/index.js";
|
|
7
|
-
import { GateRunner, VerificationLoop } from "../verification/index.js";
|
|
8
7
|
import { createStrategy } from "./strategies/index.js";
|
|
9
|
-
import { createPolicy, ROLE_PRESETS } from "../sandbox/index.js";
|
|
10
8
|
import { ProviderRegistry } from "../agents/provider-registry.js";
|
|
11
|
-
import {
|
|
9
|
+
import { attachFieldUpdater, startFieldPropagator, startFieldInhibitor, startStabilityMonitor } from "../field/field-service.js";
|
|
10
|
+
import { OrchestratorCheckpointSupport } from "./orchestrator-checkpoint-support.js";
|
|
11
|
+
import { OrchestratorInterruptSupport } from "./orchestrator-interrupt-support.js";
|
|
12
|
+
import { OrchestratorDevToolSupport } from "./orchestrator-dev-tool-support.js";
|
|
13
|
+
import { OrchestratorMemorySyncSupport } from "./orchestrator-memory-sync-support.js";
|
|
14
|
+
import { OrchestratorVerificationSupport } from "./orchestrator-verification-support.js";
|
|
12
15
|
const DEFAULT_CONFIG = {
|
|
13
16
|
requireApproval: true,
|
|
14
17
|
maxDepth: 3,
|
|
@@ -23,39 +26,94 @@ const DEFAULT_CONFIG = {
|
|
|
23
26
|
export class Orchestrator {
|
|
24
27
|
_eventBus;
|
|
25
28
|
_phaseMachine;
|
|
26
|
-
_costTracker;
|
|
27
29
|
_config;
|
|
30
|
+
_costTracker;
|
|
28
31
|
_tree;
|
|
29
32
|
_batchExecutor;
|
|
30
33
|
_providerRegistry;
|
|
31
|
-
|
|
34
|
+
_devToolSupport;
|
|
35
|
+
_verificationSupport;
|
|
36
|
+
_memorySyncSupport;
|
|
37
|
+
_checkpointSupport;
|
|
38
|
+
_interruptSupport;
|
|
32
39
|
_sessionId = null;
|
|
33
40
|
_task = null;
|
|
34
|
-
_lastVerificationResult = null;
|
|
35
|
-
_gitSync = null;
|
|
36
|
-
_checkpointStore = null;
|
|
37
|
-
_autoCheckpointUnsubscribe = null;
|
|
38
|
-
_traceContext = null;
|
|
39
|
-
_isRestoring = false;
|
|
40
|
-
_lastRestoredCheckpointId = null;
|
|
41
41
|
_team = null;
|
|
42
|
-
_interruptState = null;
|
|
43
42
|
constructor(config) {
|
|
44
43
|
this._config = { ...DEFAULT_CONFIG, ...config };
|
|
45
44
|
this._eventBus = new EventBus();
|
|
45
|
+
attachFieldUpdater(this._eventBus);
|
|
46
|
+
startFieldPropagator();
|
|
47
|
+
startFieldInhibitor();
|
|
48
|
+
startStabilityMonitor();
|
|
46
49
|
this._costTracker = new CostTracker();
|
|
47
50
|
// PhaseMachine is constructed without a sessionId; it gets set in start()
|
|
48
51
|
this._phaseMachine = new PhaseMachine(this._eventBus, this._config);
|
|
49
52
|
this._providerRegistry = new ProviderRegistry();
|
|
53
|
+
const parallelWorkers = this._config.parallelWorkers;
|
|
50
54
|
const treeConfig = {
|
|
51
55
|
maxDepth: this._config.maxDepth,
|
|
52
|
-
batchSize:
|
|
56
|
+
batchSize: parallelWorkers,
|
|
53
57
|
depthDiscount: 0.8,
|
|
54
58
|
};
|
|
55
59
|
this._tree = new TaskTree({ config: treeConfig, eventBus: this._eventBus });
|
|
56
60
|
this._batchExecutor = new BatchExecutor({
|
|
57
|
-
concurrency:
|
|
61
|
+
concurrency: parallelWorkers,
|
|
62
|
+
eventBus: this._eventBus,
|
|
63
|
+
});
|
|
64
|
+
this._devToolSupport = new OrchestratorDevToolSupport({
|
|
65
|
+
eventBus: this._eventBus,
|
|
66
|
+
getSessionContext: () => ({
|
|
67
|
+
sessionId: this._sessionId ?? "",
|
|
68
|
+
taskId: this._task ?? undefined,
|
|
69
|
+
}),
|
|
70
|
+
});
|
|
71
|
+
this._verificationSupport = new OrchestratorVerificationSupport({
|
|
72
|
+
eventBus: this._eventBus,
|
|
73
|
+
getSessionId: () => this._sessionId ?? "",
|
|
74
|
+
getMaxIterations: () => this._config.maxIterations ?? 3,
|
|
75
|
+
});
|
|
76
|
+
this._memorySyncSupport = new OrchestratorMemorySyncSupport({
|
|
77
|
+
eventBus: this._eventBus,
|
|
78
|
+
});
|
|
79
|
+
this._checkpointSupport = new OrchestratorCheckpointSupport({
|
|
80
|
+
phaseMachine: this._phaseMachine,
|
|
81
|
+
config: this._config,
|
|
82
|
+
tree: this._tree,
|
|
83
|
+
batchExecutor: this._batchExecutor,
|
|
58
84
|
eventBus: this._eventBus,
|
|
85
|
+
getSessionState: () => ({
|
|
86
|
+
sessionId: this._sessionId,
|
|
87
|
+
task: this._task,
|
|
88
|
+
}),
|
|
89
|
+
setSessionState: ({ sessionId, task }) => {
|
|
90
|
+
this._sessionId = sessionId;
|
|
91
|
+
this._task = task;
|
|
92
|
+
},
|
|
93
|
+
getCostSummary: () => this._costTracker.summary,
|
|
94
|
+
resetCostTrackerFromSummary: (summary) => {
|
|
95
|
+
this._costTracker = new CostTracker();
|
|
96
|
+
for (const key of Object.keys(summary.byRoleModel)) {
|
|
97
|
+
const usage = summary.byRoleModel[key];
|
|
98
|
+
if (usage) {
|
|
99
|
+
this._costTracker.record(usage.role, usage.model, {
|
|
100
|
+
inputTokens: usage.inputTokens,
|
|
101
|
+
outputTokens: usage.outputTokens,
|
|
102
|
+
cacheReadTokens: usage.cacheReadTokens,
|
|
103
|
+
cacheWriteTokens: usage.cacheWriteTokens,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
});
|
|
109
|
+
this._interruptSupport = new OrchestratorInterruptSupport({
|
|
110
|
+
eventBus: this._eventBus,
|
|
111
|
+
getSessionId: () => this._sessionId,
|
|
112
|
+
getCurrentPhase: () => this._phaseMachine.currentPhase,
|
|
113
|
+
hasCheckpointStore: () => this._checkpointSupport.checkpointStore !== null,
|
|
114
|
+
checkpoint: (options) => this.checkpoint(options),
|
|
115
|
+
loadCheckpointMetadata: (checkpointId) => this._checkpointSupport.loadCheckpointMetadata(checkpointId),
|
|
116
|
+
resume: (checkpointId) => this.resume(checkpointId),
|
|
59
117
|
});
|
|
60
118
|
}
|
|
61
119
|
/** Expose EventBus for external subscribers (TUI, MCP) */
|
|
@@ -92,28 +150,14 @@ export class Orchestrator {
|
|
|
92
150
|
}
|
|
93
151
|
/** Last verification result (null if no run yet) */
|
|
94
152
|
get verificationResult() {
|
|
95
|
-
return this.
|
|
153
|
+
return this._verificationSupport.verificationResult;
|
|
96
154
|
}
|
|
97
155
|
/**
|
|
98
156
|
* Run the verification loop with the given quality gates.
|
|
99
157
|
* Creates a GateRunner + VerificationLoop, executes, and stores the result.
|
|
100
158
|
*/
|
|
101
159
|
async runVerification(gates, cwd, fixHandler) {
|
|
102
|
-
|
|
103
|
-
const verificationConfig = {
|
|
104
|
-
maxIterations: this._config.maxIterations ?? 3,
|
|
105
|
-
coverageThreshold: 0,
|
|
106
|
-
};
|
|
107
|
-
const loop = new VerificationLoop({
|
|
108
|
-
gateRunner,
|
|
109
|
-
eventBus: this._eventBus,
|
|
110
|
-
config: verificationConfig,
|
|
111
|
-
gates,
|
|
112
|
-
sessionId: this._sessionId ?? "",
|
|
113
|
-
});
|
|
114
|
-
const result = await loop.run(fixHandler);
|
|
115
|
-
this._lastVerificationResult = result;
|
|
116
|
-
return result;
|
|
160
|
+
return this._verificationSupport.runVerification(gates, cwd, fixHandler);
|
|
117
161
|
}
|
|
118
162
|
/**
|
|
119
163
|
* Begin orchestration for a task.
|
|
@@ -124,8 +168,8 @@ export class Orchestrator {
|
|
|
124
168
|
const sessionId = randomUUID();
|
|
125
169
|
this._sessionId = sessionId;
|
|
126
170
|
this._task = task;
|
|
127
|
-
|
|
128
|
-
const { span: sessionSpan } = startSpan(
|
|
171
|
+
const traceContext = createTraceContext(sessionId);
|
|
172
|
+
const { span: sessionSpan } = startSpan(traceContext, "session", "phase", { task });
|
|
129
173
|
this.emitTraceSpan(sessionSpan);
|
|
130
174
|
this._phaseMachine.reset();
|
|
131
175
|
this._phaseMachine.setSessionId(sessionId);
|
|
@@ -170,22 +214,24 @@ export class Orchestrator {
|
|
|
170
214
|
}
|
|
171
215
|
/** Initialize sandbox policies for the given project directory */
|
|
172
216
|
initSandbox(projectPath) {
|
|
173
|
-
|
|
174
|
-
this._sandboxPolicies.set(role, createPolicy(role, projectPath));
|
|
175
|
-
}
|
|
217
|
+
this._devToolSupport.initSandbox(projectPath);
|
|
176
218
|
}
|
|
177
219
|
/** Get sandbox policy for a specific role */
|
|
178
220
|
getSandboxPolicy(role) {
|
|
179
|
-
return this.
|
|
221
|
+
return this._devToolSupport.getSandboxPolicy(role);
|
|
180
222
|
}
|
|
181
223
|
/** Whether sandbox policies have been initialized */
|
|
182
224
|
get sandboxEnabled() {
|
|
183
|
-
return this.
|
|
225
|
+
return this._devToolSupport.sandboxEnabled;
|
|
184
226
|
}
|
|
185
227
|
/** Expose ProviderRegistry for CLI/MCP configuration */
|
|
186
228
|
get providerRegistry() {
|
|
187
229
|
return this._providerRegistry;
|
|
188
230
|
}
|
|
231
|
+
/** Expose native dev tool registry for setup/configuration */
|
|
232
|
+
get devToolRegistry() {
|
|
233
|
+
return this._devToolSupport.devToolRegistry;
|
|
234
|
+
}
|
|
189
235
|
/** Register a provider adapter by name */
|
|
190
236
|
registerProvider(name, adapter) {
|
|
191
237
|
this._providerRegistry.register(name, adapter);
|
|
@@ -198,24 +244,28 @@ export class Orchestrator {
|
|
|
198
244
|
getProviderForRole(role) {
|
|
199
245
|
return this._providerRegistry.getForRole(role);
|
|
200
246
|
}
|
|
247
|
+
/** Register a native developer tool by name */
|
|
248
|
+
registerDevTool(tool) {
|
|
249
|
+
this._devToolSupport.registerDevTool(tool);
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Execute a native developer tool through the shared bridge.
|
|
253
|
+
* If no explicit sandbox is provided and a role is present, use the role sandbox policy.
|
|
254
|
+
*/
|
|
255
|
+
async executeDevTool(request) {
|
|
256
|
+
return this._devToolSupport.executeDevTool(request);
|
|
257
|
+
}
|
|
201
258
|
/** Initialize git-synced memory and run auto-import */
|
|
202
259
|
initMemorySync(projectPath) {
|
|
203
|
-
this.
|
|
204
|
-
projectPath,
|
|
205
|
-
eventBus: this._eventBus,
|
|
206
|
-
});
|
|
207
|
-
this._gitSync.autoImport();
|
|
260
|
+
this._memorySyncSupport.initMemorySync(projectPath);
|
|
208
261
|
}
|
|
209
262
|
/** Get memory sync status (null if not initialized) */
|
|
210
263
|
memorySyncStatus() {
|
|
211
|
-
return this.
|
|
264
|
+
return this._memorySyncSupport.memorySyncStatus();
|
|
212
265
|
}
|
|
213
266
|
/** Flush project memory with developer attribution */
|
|
214
267
|
async flushMemory(store) {
|
|
215
|
-
|
|
216
|
-
throw new Error("Memory sync not initialized. Call initMemorySync() first.");
|
|
217
|
-
}
|
|
218
|
-
await this._gitSync.flush(store);
|
|
268
|
+
await this._memorySyncSupport.flushMemory(store);
|
|
219
269
|
}
|
|
220
270
|
/** Expose TaskTree for TUI/MCP consumers */
|
|
221
271
|
get tree() {
|
|
@@ -282,185 +332,30 @@ export class Orchestrator {
|
|
|
282
332
|
return this._tree.applyAction(taskId, evaluation.action, statement);
|
|
283
333
|
}
|
|
284
334
|
attachCheckpointStore(store) {
|
|
285
|
-
this.
|
|
286
|
-
if (this._autoCheckpointUnsubscribe) {
|
|
287
|
-
this._autoCheckpointUnsubscribe();
|
|
288
|
-
}
|
|
289
|
-
const handler = (_event) => {
|
|
290
|
-
if (this._isRestoring)
|
|
291
|
-
return;
|
|
292
|
-
if (this._sessionId && this._task) {
|
|
293
|
-
this.checkpoint().catch((err) => {
|
|
294
|
-
console.error("Auto-checkpoint failed:", err);
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
};
|
|
298
|
-
this._eventBus.on("phase_changed", handler);
|
|
299
|
-
this._autoCheckpointUnsubscribe = () => {
|
|
300
|
-
this._eventBus.off("phase_changed", handler);
|
|
301
|
-
};
|
|
335
|
+
this._checkpointSupport.attachStore(store);
|
|
302
336
|
}
|
|
303
337
|
async checkpoint(options) {
|
|
304
|
-
|
|
305
|
-
throw new Error("No checkpoint store attached. Call attachCheckpointStore() first.");
|
|
306
|
-
}
|
|
307
|
-
if (!this._sessionId || !this._task) {
|
|
308
|
-
throw new Error("No active session. Call start() first.");
|
|
309
|
-
}
|
|
310
|
-
const checkpointId = randomUUID();
|
|
311
|
-
const checkpoint = {
|
|
312
|
-
id: checkpointId,
|
|
313
|
-
sessionId: this._sessionId,
|
|
314
|
-
parentId: this._lastRestoredCheckpointId,
|
|
315
|
-
phase: this._phaseMachine.currentPhase,
|
|
316
|
-
phaseIndex: this._config.phases.indexOf(this._phaseMachine.currentPhase),
|
|
317
|
-
status: this._phaseMachine.status,
|
|
318
|
-
task: this._task,
|
|
319
|
-
tree: this._tree.toJSON(),
|
|
320
|
-
eventHistory: this._eventBus.history(),
|
|
321
|
-
costSummary: this._costTracker.summary,
|
|
322
|
-
timestamp: new Date(),
|
|
323
|
-
metadata: options?.metadata,
|
|
324
|
-
};
|
|
325
|
-
await this._checkpointStore.save(checkpoint, options);
|
|
326
|
-
return checkpointId;
|
|
338
|
+
return this._checkpointSupport.checkpoint(options);
|
|
327
339
|
}
|
|
328
340
|
async resume(checkpointId) {
|
|
329
|
-
|
|
330
|
-
throw new Error("No checkpoint store attached. Call attachCheckpointStore() first.");
|
|
331
|
-
}
|
|
332
|
-
const checkpoint = await this._checkpointStore.load(checkpointId);
|
|
333
|
-
if (!checkpoint) {
|
|
334
|
-
throw new Error(`Checkpoint not found: ${checkpointId}`);
|
|
335
|
-
}
|
|
336
|
-
this._isRestoring = true;
|
|
337
|
-
try {
|
|
338
|
-
const newSessionId = randomUUID();
|
|
339
|
-
this._sessionId = newSessionId;
|
|
340
|
-
this._task = checkpoint.task;
|
|
341
|
-
this._lastRestoredCheckpointId = checkpointId;
|
|
342
|
-
this._phaseMachine.reset();
|
|
343
|
-
this._phaseMachine.restoreState(checkpoint.phaseIndex, checkpoint.status);
|
|
344
|
-
this._tree.setSessionId(newSessionId);
|
|
345
|
-
this._batchExecutor.setSessionId(newSessionId);
|
|
346
|
-
this._tree.loadFromJSON(checkpoint.tree);
|
|
347
|
-
// M4: reset cost tracker before replaying checkpoint costs to avoid double-counting
|
|
348
|
-
this._costTracker = new CostTracker();
|
|
349
|
-
for (const key of Object.keys(checkpoint.costSummary.byRoleModel)) {
|
|
350
|
-
const usage = checkpoint.costSummary.byRoleModel[key];
|
|
351
|
-
if (usage) {
|
|
352
|
-
this._costTracker.record(usage.role, usage.model, {
|
|
353
|
-
inputTokens: usage.inputTokens,
|
|
354
|
-
outputTokens: usage.outputTokens,
|
|
355
|
-
cacheReadTokens: usage.cacheReadTokens,
|
|
356
|
-
cacheWriteTokens: usage.cacheWriteTokens,
|
|
357
|
-
});
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
const meta = phaseMeta(this._phaseMachine.currentPhase);
|
|
361
|
-
const phaseEvent = {
|
|
362
|
-
type: "phase_changed",
|
|
363
|
-
phase: this._phaseMachine.currentPhase,
|
|
364
|
-
phaseName: meta.name,
|
|
365
|
-
phaseDescription: meta.description,
|
|
366
|
-
timestamp: new Date(),
|
|
367
|
-
sessionId: newSessionId,
|
|
368
|
-
};
|
|
369
|
-
this._eventBus.emit(phaseEvent);
|
|
370
|
-
return newSessionId;
|
|
371
|
-
}
|
|
372
|
-
finally {
|
|
373
|
-
this._isRestoring = false;
|
|
374
|
-
}
|
|
341
|
+
return this._checkpointSupport.resume(checkpointId);
|
|
375
342
|
}
|
|
376
343
|
async fork(checkpointId, options) {
|
|
377
|
-
|
|
378
|
-
const checkpoint = await this._checkpointStore.load(checkpointId);
|
|
379
|
-
if (!checkpoint) {
|
|
380
|
-
throw new Error(`Checkpoint not found: ${checkpointId}`);
|
|
381
|
-
}
|
|
382
|
-
const forkCheckpointId = randomUUID();
|
|
383
|
-
const forkCheckpoint = {
|
|
384
|
-
id: forkCheckpointId,
|
|
385
|
-
sessionId: newSessionId,
|
|
386
|
-
parentId: checkpointId,
|
|
387
|
-
phase: this._phaseMachine.currentPhase,
|
|
388
|
-
phaseIndex: this._config.phases.indexOf(this._phaseMachine.currentPhase),
|
|
389
|
-
status: this._phaseMachine.status,
|
|
390
|
-
task: this._task ?? "",
|
|
391
|
-
tree: this._tree.toJSON(),
|
|
392
|
-
eventHistory: this._eventBus.history(),
|
|
393
|
-
costSummary: this._costTracker.summary,
|
|
394
|
-
timestamp: new Date(),
|
|
395
|
-
metadata: options?.metadata,
|
|
396
|
-
};
|
|
397
|
-
await this._checkpointStore.save(forkCheckpoint, options);
|
|
398
|
-
return newSessionId;
|
|
344
|
+
return this._checkpointSupport.fork(checkpointId, options);
|
|
399
345
|
}
|
|
400
346
|
async replay(checkpointId, overrides) {
|
|
401
|
-
|
|
402
|
-
throw new Error("No checkpoint store attached. Call attachCheckpointStore() first.");
|
|
403
|
-
}
|
|
404
|
-
const checkpoint = await this._checkpointStore.load(checkpointId);
|
|
405
|
-
if (!checkpoint) {
|
|
406
|
-
throw new Error(`Checkpoint not found: ${checkpointId}`);
|
|
407
|
-
}
|
|
408
|
-
// C1: call resume() first so phaseMachine.reset() + restoreState() run before overrides
|
|
409
|
-
const newSessionId = await this.resume(checkpointId);
|
|
410
|
-
// Apply startPhase override after resume() so it is not overwritten
|
|
411
|
-
if (overrides?.startPhase) {
|
|
412
|
-
const phaseIndex = this._config.phases.indexOf(overrides.startPhase);
|
|
413
|
-
if (phaseIndex === -1) {
|
|
414
|
-
throw new Error(`Phase not found: ${overrides.startPhase}`);
|
|
415
|
-
}
|
|
416
|
-
this._phaseMachine.restoreState(phaseIndex, checkpoint.status);
|
|
417
|
-
}
|
|
418
|
-
// M1: only apply task override after resume() (dead code before was overwritten)
|
|
419
|
-
if (overrides?.task) {
|
|
420
|
-
this._task = overrides.task;
|
|
421
|
-
}
|
|
422
|
-
return newSessionId;
|
|
347
|
+
return this._checkpointSupport.replay(checkpointId, overrides);
|
|
423
348
|
}
|
|
424
349
|
/** Current interrupt state (null if not interrupted) */
|
|
425
350
|
get interruptState() {
|
|
426
|
-
return this.
|
|
351
|
+
return this._interruptSupport.state;
|
|
427
352
|
}
|
|
428
353
|
/**
|
|
429
354
|
* Interrupt execution. Creates a checkpoint with interrupt state in metadata.
|
|
430
355
|
* Returns the checkpoint ID that must be used to resume.
|
|
431
356
|
*/
|
|
432
357
|
async interrupt(request) {
|
|
433
|
-
|
|
434
|
-
throw new Error("No checkpoint store attached. Call attachCheckpointStore() first.");
|
|
435
|
-
}
|
|
436
|
-
if (!this._sessionId) {
|
|
437
|
-
throw new Error("No active session. Call start() first.");
|
|
438
|
-
}
|
|
439
|
-
const interruptState = {
|
|
440
|
-
reason: request.reason,
|
|
441
|
-
resumeSchema: request.resumeSchema,
|
|
442
|
-
requestedAt: new Date().toISOString(),
|
|
443
|
-
phase: this._phaseMachine.currentPhase,
|
|
444
|
-
};
|
|
445
|
-
this._interruptState = interruptState;
|
|
446
|
-
// Create checkpoint with interrupt state in metadata
|
|
447
|
-
const checkpointId = await this.checkpoint({
|
|
448
|
-
metadata: {
|
|
449
|
-
...request.metadata,
|
|
450
|
-
interruptState,
|
|
451
|
-
},
|
|
452
|
-
});
|
|
453
|
-
// Emit interrupt event
|
|
454
|
-
const event = {
|
|
455
|
-
type: "interrupt_requested",
|
|
456
|
-
checkpointId,
|
|
457
|
-
reason: request.reason,
|
|
458
|
-
resumeSchema: request.resumeSchema,
|
|
459
|
-
timestamp: new Date(),
|
|
460
|
-
sessionId: this._sessionId,
|
|
461
|
-
};
|
|
462
|
-
this._eventBus.emit(event);
|
|
463
|
-
return checkpointId;
|
|
358
|
+
return this._interruptSupport.interrupt(request);
|
|
464
359
|
}
|
|
465
360
|
/**
|
|
466
361
|
* Resume from an interrupt with a value.
|
|
@@ -468,31 +363,7 @@ export class Orchestrator {
|
|
|
468
363
|
* Returns the new session ID.
|
|
469
364
|
*/
|
|
470
365
|
async resumeInterrupt(command) {
|
|
471
|
-
|
|
472
|
-
throw new Error("No checkpoint store attached. Call attachCheckpointStore() first.");
|
|
473
|
-
}
|
|
474
|
-
const checkpoint = await this._checkpointStore.load(command.checkpointId);
|
|
475
|
-
if (!checkpoint) {
|
|
476
|
-
throw new Error(`Checkpoint not found: ${command.checkpointId}`);
|
|
477
|
-
}
|
|
478
|
-
// Verify this checkpoint has interrupt state
|
|
479
|
-
const interruptState = checkpoint.metadata?.interruptState;
|
|
480
|
-
if (!interruptState) {
|
|
481
|
-
throw new Error("Checkpoint does not contain interrupt state");
|
|
482
|
-
}
|
|
483
|
-
// Resume from checkpoint
|
|
484
|
-
const newSessionId = await this.resume(command.checkpointId);
|
|
485
|
-
this._interruptState = null;
|
|
486
|
-
// Emit resume event
|
|
487
|
-
const event = {
|
|
488
|
-
type: "interrupt_resumed",
|
|
489
|
-
checkpointId: command.checkpointId,
|
|
490
|
-
resumeValue: command.value,
|
|
491
|
-
timestamp: new Date(),
|
|
492
|
-
sessionId: newSessionId,
|
|
493
|
-
};
|
|
494
|
-
this._eventBus.emit(event);
|
|
495
|
-
return newSessionId;
|
|
366
|
+
return this._interruptSupport.resumeInterrupt(command);
|
|
496
367
|
}
|
|
497
368
|
emitTraceSpan(span) {
|
|
498
369
|
if (!this._sessionId)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,5 +24,4 @@ export interface ExecutionStrategy {
|
|
|
24
24
|
export declare function createStrategy(mode: TeamMode): ExecutionStrategy;
|
|
25
25
|
export { SequentialStrategy } from "./sequential-strategy.js";
|
|
26
26
|
export { SupervisorStrategy } from "./supervisor-strategy.js";
|
|
27
|
-
export { SwarmStrategy } from "./swarm-strategy.js";
|
|
28
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/strategies/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/strategies/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvD,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,mEAAmE;AACnE,MAAM,MAAM,eAAe,GAAG,CAC5B,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,WAAW,CAAC,CAAC;AAE1B,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;CAClF;AAED,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,iBAAiB,CAOhE;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
// Execution strategies for team modes: sequential
|
|
1
|
+
// Execution strategies for team modes: sequential and supervisor
|
|
2
2
|
// Strategy pattern -- adding a new mode means adding a new strategy file
|
|
3
3
|
import { SequentialStrategy } from "./sequential-strategy.js";
|
|
4
4
|
import { SupervisorStrategy } from "./supervisor-strategy.js";
|
|
5
|
-
import { SwarmStrategy } from "./swarm-strategy.js";
|
|
6
5
|
/** Strategy factory: resolves team mode to strategy */
|
|
7
6
|
export function createStrategy(mode) {
|
|
8
7
|
switch (mode) {
|
|
@@ -10,11 +9,8 @@ export function createStrategy(mode) {
|
|
|
10
9
|
return new SequentialStrategy();
|
|
11
10
|
case "supervisor":
|
|
12
11
|
return new SupervisorStrategy();
|
|
13
|
-
case "swarm":
|
|
14
|
-
return new SwarmStrategy();
|
|
15
12
|
}
|
|
16
13
|
}
|
|
17
14
|
export { SequentialStrategy } from "./sequential-strategy.js";
|
|
18
15
|
export { SupervisorStrategy } from "./supervisor-strategy.js";
|
|
19
|
-
export { SwarmStrategy } from "./swarm-strategy.js";
|
|
20
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/orchestrator/strategies/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/orchestrator/strategies/index.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,yEAAyE;AASzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAwB9D,uDAAuD;AACvD,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,IAAI,kBAAkB,EAAE,CAAC;QAClC,KAAK,YAAY;YACf,OAAO,IAAI,kBAAkB,EAAE,CAAC;IACpC,CAAC;AACH,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Registry: shared task-state substrate for multi-agent teams.
|
|
3
|
+
*
|
|
4
|
+
* Agents query the registry to find work. Results are published as concise
|
|
5
|
+
* summaries, not full tool call logs (prevents context contamination).
|
|
6
|
+
*
|
|
7
|
+
* Design principles (from research):
|
|
8
|
+
* - Publish only results, not process (Workforce isolation)
|
|
9
|
+
* - Registry is the coordination medium (no direct agent-to-agent messaging)
|
|
10
|
+
* - Tasks carry demand signal for demand-based allocation
|
|
11
|
+
*/
|
|
12
|
+
import type { TaskCategory } from "./demand-allocator.js";
|
|
13
|
+
/** Status of a registered task */
|
|
14
|
+
export type RegisteredTaskStatus = "open" | "claimed" | "completed" | "failed" | "blocked";
|
|
15
|
+
/** A registered task entry */
|
|
16
|
+
export interface RegisteredTask {
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly description: string;
|
|
19
|
+
readonly category: TaskCategory;
|
|
20
|
+
readonly demand: number;
|
|
21
|
+
readonly status: RegisteredTaskStatus;
|
|
22
|
+
readonly assignee?: string;
|
|
23
|
+
readonly dependencies: readonly string[];
|
|
24
|
+
readonly result?: string;
|
|
25
|
+
readonly error?: string;
|
|
26
|
+
readonly createdAt: number;
|
|
27
|
+
readonly updatedAt: number;
|
|
28
|
+
readonly parentId?: string;
|
|
29
|
+
}
|
|
30
|
+
/** Options for registering a new task */
|
|
31
|
+
export interface RegisterTaskOptions {
|
|
32
|
+
readonly id: string;
|
|
33
|
+
readonly description: string;
|
|
34
|
+
readonly category: TaskCategory;
|
|
35
|
+
readonly demand: number;
|
|
36
|
+
readonly dependencies?: readonly string[];
|
|
37
|
+
readonly parentId?: string;
|
|
38
|
+
}
|
|
39
|
+
/** Options for completing a task */
|
|
40
|
+
export interface CompleteTaskOptions {
|
|
41
|
+
readonly result: string;
|
|
42
|
+
}
|
|
43
|
+
/** Options for failing a task */
|
|
44
|
+
export interface FailTaskOptions {
|
|
45
|
+
readonly error: string;
|
|
46
|
+
}
|
|
47
|
+
export declare class TaskRegistry {
|
|
48
|
+
private readonly tasks;
|
|
49
|
+
constructor();
|
|
50
|
+
/**
|
|
51
|
+
* Publish a new task to the channel. Status starts as "open"
|
|
52
|
+
* unless it has unresolved dependencies (then "blocked").
|
|
53
|
+
*/
|
|
54
|
+
register(options: RegisterTaskOptions): RegisteredTask;
|
|
55
|
+
/**
|
|
56
|
+
* Claim a task for an agent. Only "open" tasks can be claimed.
|
|
57
|
+
* Returns the updated task, or null if the task is not claimable.
|
|
58
|
+
*/
|
|
59
|
+
claim(taskId: string, agentId: string): RegisteredTask | null;
|
|
60
|
+
/**
|
|
61
|
+
* Complete a task with a concise result summary.
|
|
62
|
+
* Only "claimed" tasks can be completed.
|
|
63
|
+
* After completion, unblocks dependent tasks whose deps are all resolved.
|
|
64
|
+
*/
|
|
65
|
+
complete(taskId: string, options: CompleteTaskOptions): RegisteredTask | null;
|
|
66
|
+
/**
|
|
67
|
+
* Mark a task as failed with an error description.
|
|
68
|
+
* Only "claimed" tasks can be failed.
|
|
69
|
+
*/
|
|
70
|
+
fail(taskId: string, options: FailTaskOptions): RegisteredTask | null;
|
|
71
|
+
/**
|
|
72
|
+
* Release a claimed task back to "open" (agent gave up or was reassigned).
|
|
73
|
+
* Only "claimed" tasks can be released.
|
|
74
|
+
*/
|
|
75
|
+
release(taskId: string): RegisteredTask | null;
|
|
76
|
+
/** Get a task by ID */
|
|
77
|
+
get(taskId: string): RegisteredTask | undefined;
|
|
78
|
+
/** Get all tasks with a specific status */
|
|
79
|
+
byStatus(status: RegisteredTaskStatus): readonly RegisteredTask[];
|
|
80
|
+
/** Get all open tasks (available for claim) */
|
|
81
|
+
open(): readonly RegisteredTask[];
|
|
82
|
+
/** Get all tasks assigned to a specific agent */
|
|
83
|
+
byAssignee(agentId: string): readonly RegisteredTask[];
|
|
84
|
+
/** Get all tasks in the channel */
|
|
85
|
+
all(): readonly RegisteredTask[];
|
|
86
|
+
/** Get count of tasks by status */
|
|
87
|
+
counts(): Readonly<Record<RegisteredTaskStatus, number>>;
|
|
88
|
+
/**
|
|
89
|
+
* Check blocked tasks and unblock any whose dependencies are all completed.
|
|
90
|
+
* Called internally after task completion, but can also be called externally.
|
|
91
|
+
*/
|
|
92
|
+
unblockDependents(completedTaskId: string): void;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=task-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-registry.d.ts","sourceRoot":"","sources":["../../src/orchestrator/task-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,kCAAkC;AAClC,MAAM,MAAM,oBAAoB,GAC5B,MAAM,GACN,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,CAAC;AAEd,8BAA8B;AAC9B,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,yCAAyC;AACzC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,oCAAoC;AACpC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,iCAAiC;AACjC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;;IAMpD;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,cAAc;IAwBtD;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAc7D;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,cAAc,GAAG,IAAI;IAkB7E;;;OAGG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,cAAc,GAAG,IAAI;IAcrE;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAc9C,uBAAuB;IACvB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI/C,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,cAAc,EAAE;IAIjE,+CAA+C;IAC/C,IAAI,IAAI,SAAS,cAAc,EAAE;IAIjC,iDAAiD;IACjD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,cAAc,EAAE;IAItD,mCAAmC;IACnC,GAAG,IAAI,SAAS,cAAc,EAAE;IAIhC,mCAAmC;IACnC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAcxD;;;OAGG;IACH,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI;CAejD"}
|