@synergenius/flow-weaver-pack-weaver 0.9.62 → 0.9.78
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/ai-chat-provider.d.ts +12 -0
- package/dist/ai-chat-provider.d.ts.map +1 -1
- package/dist/ai-chat-provider.js +173 -19
- package/dist/ai-chat-provider.js.map +1 -1
- package/dist/bot/agent-loop.d.ts +20 -0
- package/dist/bot/agent-loop.d.ts.map +1 -0
- package/dist/bot/agent-loop.js +331 -0
- package/dist/bot/agent-loop.js.map +1 -0
- package/dist/bot/ai-router.d.ts +19 -0
- package/dist/bot/ai-router.d.ts.map +1 -0
- package/dist/bot/ai-router.js +104 -0
- package/dist/bot/ai-router.js.map +1 -0
- package/dist/bot/bot-registry.js +2 -2
- package/dist/bot/bot-registry.js.map +1 -1
- package/dist/bot/conversation-store.d.ts +1 -0
- package/dist/bot/conversation-store.d.ts.map +1 -1
- package/dist/bot/conversation-store.js.map +1 -1
- package/dist/bot/improve-loop.js.map +1 -1
- package/dist/bot/instance-manager.d.ts +31 -0
- package/dist/bot/instance-manager.d.ts.map +1 -0
- package/dist/bot/instance-manager.js +115 -0
- package/dist/bot/instance-manager.js.map +1 -0
- package/dist/bot/orchestrator.d.ts +36 -0
- package/dist/bot/orchestrator.d.ts.map +1 -0
- package/dist/bot/orchestrator.js +176 -0
- package/dist/bot/orchestrator.js.map +1 -0
- package/dist/bot/profile-store.d.ts +36 -0
- package/dist/bot/profile-store.d.ts.map +1 -0
- package/dist/bot/profile-store.js +208 -0
- package/dist/bot/profile-store.js.map +1 -0
- package/dist/bot/profile-types.d.ts +126 -0
- package/dist/bot/profile-types.d.ts.map +1 -0
- package/dist/bot/profile-types.js +7 -0
- package/dist/bot/profile-types.js.map +1 -0
- package/dist/bot/session-state.d.ts +25 -0
- package/dist/bot/session-state.d.ts.map +1 -0
- package/dist/bot/session-state.js +110 -0
- package/dist/bot/session-state.js.map +1 -0
- package/dist/bot/swarm-controller.d.ts +37 -21
- package/dist/bot/swarm-controller.d.ts.map +1 -1
- package/dist/bot/swarm-controller.js +344 -163
- package/dist/bot/swarm-controller.js.map +1 -1
- package/dist/bot/task-prompt-builder.d.ts +2 -1
- package/dist/bot/task-prompt-builder.d.ts.map +1 -1
- package/dist/bot/task-prompt-builder.js +33 -10
- package/dist/bot/task-prompt-builder.js.map +1 -1
- package/dist/bot/task-queue.d.ts +46 -0
- package/dist/bot/task-queue.d.ts.map +1 -0
- package/dist/bot/task-queue.js +237 -0
- package/dist/bot/task-queue.js.map +1 -0
- package/dist/bot/task-store.d.ts +1 -6
- package/dist/bot/task-store.d.ts.map +1 -1
- package/dist/bot/task-store.js +27 -78
- package/dist/bot/task-store.js.map +1 -1
- package/dist/bot/task-types.d.ts +8 -4
- package/dist/bot/task-types.d.ts.map +1 -1
- package/dist/cli-handlers.d.ts.map +1 -1
- package/dist/cli-handlers.js +2 -3
- package/dist/cli-handlers.js.map +1 -1
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +749 -0
- package/dist/cli.js.map +1 -0
- package/dist/docs/docs/weaver-bot-usage.md +35 -18
- package/dist/docs/docs/weaver-config.md +20 -0
- package/dist/docs/docs/weaver-task-queue.md +31 -19
- package/dist/docs/weaver-config.md +15 -9
- package/dist/mcp-tools.d.ts +17 -0
- package/dist/mcp-tools.d.ts.map +1 -1
- package/dist/mcp-tools.js +98 -232
- package/dist/mcp-tools.js.map +1 -1
- package/dist/node-types/orchestrator-dispatch.d.ts +17 -0
- package/dist/node-types/orchestrator-dispatch.d.ts.map +1 -0
- package/dist/node-types/orchestrator-dispatch.js +63 -0
- package/dist/node-types/orchestrator-dispatch.js.map +1 -0
- package/dist/node-types/orchestrator-load-state.d.ts +16 -0
- package/dist/node-types/orchestrator-load-state.d.ts.map +1 -0
- package/dist/node-types/orchestrator-load-state.js +60 -0
- package/dist/node-types/orchestrator-load-state.js.map +1 -0
- package/dist/node-types/orchestrator-route.d.ts +16 -0
- package/dist/node-types/orchestrator-route.d.ts.map +1 -0
- package/dist/node-types/orchestrator-route.js +28 -0
- package/dist/node-types/orchestrator-route.js.map +1 -0
- package/dist/node-types/receive-task.d.ts +2 -3
- package/dist/node-types/receive-task.d.ts.map +1 -1
- package/dist/node-types/receive-task.js +3 -28
- package/dist/node-types/receive-task.js.map +1 -1
- package/dist/templates/weaver-template.d.ts +11 -0
- package/dist/templates/weaver-template.d.ts.map +1 -0
- package/dist/templates/weaver-template.js +53 -0
- package/dist/templates/weaver-template.js.map +1 -0
- package/dist/ui/bot-constants.d.ts +14 -0
- package/dist/ui/bot-constants.d.ts.map +1 -0
- package/dist/ui/bot-constants.js +189 -0
- package/dist/ui/bot-constants.js.map +1 -0
- package/dist/ui/bot-panel.js +51 -90
- package/dist/ui/bot-slot-card.js +87 -122
- package/dist/ui/budget-bar.js +5 -3
- package/dist/ui/chat-task-result.js +4 -7
- package/dist/ui/decision-log.js +136 -0
- package/dist/ui/profile-card.js +158 -0
- package/dist/ui/profile-editor.js +597 -0
- package/dist/ui/swarm-controls.js +36 -27
- package/dist/ui/swarm-dashboard.js +2034 -736
- package/dist/ui/task-create-form.js +39 -116
- package/dist/ui/task-detail-view.js +490 -239
- package/dist/ui/task-pool-list.js +69 -94
- package/dist/workflows/orchestrator.d.ts +21 -0
- package/dist/workflows/orchestrator.d.ts.map +1 -0
- package/dist/workflows/orchestrator.js +281 -0
- package/dist/workflows/orchestrator.js.map +1 -0
- package/dist/workflows/weaver-bot-session.d.ts +65 -0
- package/dist/workflows/weaver-bot-session.d.ts.map +1 -0
- package/dist/workflows/weaver-bot-session.js +68 -0
- package/dist/workflows/weaver-bot-session.js.map +1 -0
- package/dist/workflows/weaver.d.ts +24 -0
- package/dist/workflows/weaver.d.ts.map +1 -0
- package/dist/workflows/weaver.js +28 -0
- package/dist/workflows/weaver.js.map +1 -0
- package/flowweaver.manifest.json +253 -66
- package/package.json +1 -1
- package/src/ai-chat-provider.ts +184 -18
- package/src/bot/ai-router.ts +132 -0
- package/src/bot/bot-registry.ts +2 -2
- package/src/bot/conversation-store.ts +2 -1
- package/src/bot/improve-loop.ts +6 -6
- package/src/bot/instance-manager.ts +128 -0
- package/src/bot/orchestrator.ts +244 -0
- package/src/bot/profile-store.ts +225 -0
- package/src/bot/profile-types.ts +141 -0
- package/src/bot/swarm-controller.ts +385 -186
- package/src/bot/task-prompt-builder.ts +37 -6
- package/src/bot/task-store.ts +28 -89
- package/src/bot/task-types.ts +10 -4
- package/src/cli-handlers.ts +2 -3
- package/src/docs/weaver-bot-usage.md +35 -18
- package/src/docs/weaver-config.md +20 -0
- package/src/docs/weaver-task-queue.md +31 -19
- package/src/mcp-tools.ts +129 -320
- package/src/node-types/orchestrator-dispatch.ts +71 -0
- package/src/node-types/orchestrator-load-state.ts +66 -0
- package/src/node-types/orchestrator-route.ts +33 -0
- package/src/node-types/receive-task.ts +3 -26
- package/src/ui/bot-constants.ts +192 -0
- package/src/ui/bot-panel.tsx +55 -79
- package/src/ui/bot-slot-card.tsx +69 -117
- package/src/ui/budget-bar.tsx +5 -3
- package/src/ui/chat-task-result.tsx +6 -9
- package/src/ui/decision-log.tsx +148 -0
- package/src/ui/profile-card.tsx +157 -0
- package/src/ui/profile-editor.tsx +384 -0
- package/src/ui/swarm-controls.tsx +35 -31
- package/src/ui/swarm-dashboard.tsx +409 -80
- package/src/ui/task-create-form.tsx +29 -119
- package/src/ui/task-detail-view.tsx +461 -215
- package/src/ui/task-pool-list.tsx +74 -95
- package/src/workflows/orchestrator.ts +302 -0
- package/dist/docs/weaver-bot-usage.md +0 -34
- package/dist/docs/weaver-genesis.md +0 -32
- package/dist/docs/weaver-task-queue.md +0 -34
- package/src/bot/error-guide.ts +0 -4
- package/src/bot/retry-utils.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-loop.js","sourceRoot":"","sources":["../../src/bot/improve-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"improve-loop.js","sourceRoot":"","sources":["../../src/bot/improve-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InstanceManager — manages in-memory bot instances (workers) per profile.
|
|
3
|
+
* Instances represent running workers that don't survive process restart.
|
|
4
|
+
*/
|
|
5
|
+
import type { BotProfile, BotInstance } from './profile-types.js';
|
|
6
|
+
export declare class InstanceManager {
|
|
7
|
+
private instances;
|
|
8
|
+
/** Spawn a new instance for the given profile. Throws if maxInstances reached. */
|
|
9
|
+
spawn(profile: BotProfile): BotInstance;
|
|
10
|
+
/** Get instance by ID (returns a copy), or null if not found. */
|
|
11
|
+
get(instanceId: string): BotInstance | null;
|
|
12
|
+
/** Return copies of all instances. */
|
|
13
|
+
listAll(): BotInstance[];
|
|
14
|
+
/** Return copies of instances belonging to a specific profile. */
|
|
15
|
+
listByProfile(profileId: string): BotInstance[];
|
|
16
|
+
/** Return idle instances for a given profile. */
|
|
17
|
+
findIdle(profileId: string): BotInstance[];
|
|
18
|
+
/** Mark an instance as executing a specific task/run. */
|
|
19
|
+
markExecuting(instanceId: string, taskId: string, runId: string): void;
|
|
20
|
+
/** Mark an instance as idle after task completion/failure. */
|
|
21
|
+
markIdle(instanceId: string, success: boolean): void;
|
|
22
|
+
/** Record token/cost usage for an instance. */
|
|
23
|
+
recordUsage(instanceId: string, tokens: number, cost: number): void;
|
|
24
|
+
/** Stop and remove an instance. Returns true if it existed. */
|
|
25
|
+
stop(instanceId: string): boolean;
|
|
26
|
+
/** Stop and remove all instances. */
|
|
27
|
+
stopAll(): void;
|
|
28
|
+
/** Scale instances for a profile to the target count. Clamps to [0, maxInstances]. */
|
|
29
|
+
scaleTo(profile: BotProfile, target: number): void;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=instance-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance-manager.d.ts","sourceRoot":"","sources":["../../src/bot/instance-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAElE,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAkC;IAEnD,kFAAkF;IAClF,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW;IA2BvC,iEAAiE;IACjE,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAK3C,sCAAsC;IACtC,OAAO,IAAI,WAAW,EAAE;IAIxB,kEAAkE;IAClE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE;IAM/C,iDAAiD;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE;IAM1C,yDAAyD;IACzD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAStE,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAcpD,+CAA+C;IAC/C,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAOnE,+DAA+D;IAC/D,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIjC,qCAAqC;IACrC,OAAO,IAAI,IAAI;IAIf,sFAAsF;IACtF,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAoBnD"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InstanceManager — manages in-memory bot instances (workers) per profile.
|
|
3
|
+
* Instances represent running workers that don't survive process restart.
|
|
4
|
+
*/
|
|
5
|
+
export class InstanceManager {
|
|
6
|
+
instances = new Map();
|
|
7
|
+
/** Spawn a new instance for the given profile. Throws if maxInstances reached. */
|
|
8
|
+
spawn(profile) {
|
|
9
|
+
const existing = this.listByProfile(profile.id);
|
|
10
|
+
if (existing.length >= profile.maxInstances) {
|
|
11
|
+
throw new Error(`Cannot spawn: profile "${profile.id}" already at max instances (${profile.maxInstances})`);
|
|
12
|
+
}
|
|
13
|
+
const usedIndices = new Set(existing.map((i) => i.index));
|
|
14
|
+
let index = 0;
|
|
15
|
+
while (usedIndices.has(index))
|
|
16
|
+
index++;
|
|
17
|
+
const instance = {
|
|
18
|
+
instanceId: `${profile.id}-${index}`,
|
|
19
|
+
profileId: profile.id,
|
|
20
|
+
index,
|
|
21
|
+
status: 'idle',
|
|
22
|
+
tokensUsed: 0,
|
|
23
|
+
cost: 0,
|
|
24
|
+
tasksCompleted: 0,
|
|
25
|
+
tasksFailed: 0,
|
|
26
|
+
};
|
|
27
|
+
this.instances.set(instance.instanceId, instance);
|
|
28
|
+
return { ...instance };
|
|
29
|
+
}
|
|
30
|
+
/** Get instance by ID (returns a copy), or null if not found. */
|
|
31
|
+
get(instanceId) {
|
|
32
|
+
const inst = this.instances.get(instanceId);
|
|
33
|
+
return inst ? { ...inst } : null;
|
|
34
|
+
}
|
|
35
|
+
/** Return copies of all instances. */
|
|
36
|
+
listAll() {
|
|
37
|
+
return [...this.instances.values()].map((i) => ({ ...i }));
|
|
38
|
+
}
|
|
39
|
+
/** Return copies of instances belonging to a specific profile. */
|
|
40
|
+
listByProfile(profileId) {
|
|
41
|
+
return [...this.instances.values()]
|
|
42
|
+
.filter((i) => i.profileId === profileId)
|
|
43
|
+
.map((i) => ({ ...i }));
|
|
44
|
+
}
|
|
45
|
+
/** Return idle instances for a given profile. */
|
|
46
|
+
findIdle(profileId) {
|
|
47
|
+
return [...this.instances.values()]
|
|
48
|
+
.filter((i) => i.profileId === profileId && i.status === 'idle')
|
|
49
|
+
.map((i) => ({ ...i }));
|
|
50
|
+
}
|
|
51
|
+
/** Mark an instance as executing a specific task/run. */
|
|
52
|
+
markExecuting(instanceId, taskId, runId) {
|
|
53
|
+
const inst = this.instances.get(instanceId);
|
|
54
|
+
if (!inst)
|
|
55
|
+
throw new Error(`Instance not found: ${instanceId}`);
|
|
56
|
+
inst.status = 'executing';
|
|
57
|
+
inst.currentTaskId = taskId;
|
|
58
|
+
inst.currentRunId = runId;
|
|
59
|
+
inst.startedAt = new Date().toISOString();
|
|
60
|
+
}
|
|
61
|
+
/** Mark an instance as idle after task completion/failure. */
|
|
62
|
+
markIdle(instanceId, success) {
|
|
63
|
+
const inst = this.instances.get(instanceId);
|
|
64
|
+
if (!inst)
|
|
65
|
+
throw new Error(`Instance not found: ${instanceId}`);
|
|
66
|
+
inst.status = 'idle';
|
|
67
|
+
inst.currentTaskId = undefined;
|
|
68
|
+
inst.currentRunId = undefined;
|
|
69
|
+
inst.startedAt = undefined;
|
|
70
|
+
if (success) {
|
|
71
|
+
inst.tasksCompleted++;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
inst.tasksFailed++;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/** Record token/cost usage for an instance. */
|
|
78
|
+
recordUsage(instanceId, tokens, cost) {
|
|
79
|
+
const inst = this.instances.get(instanceId);
|
|
80
|
+
if (!inst)
|
|
81
|
+
throw new Error(`Instance not found: ${instanceId}`);
|
|
82
|
+
inst.tokensUsed += tokens;
|
|
83
|
+
inst.cost += cost;
|
|
84
|
+
}
|
|
85
|
+
/** Stop and remove an instance. Returns true if it existed. */
|
|
86
|
+
stop(instanceId) {
|
|
87
|
+
return this.instances.delete(instanceId);
|
|
88
|
+
}
|
|
89
|
+
/** Stop and remove all instances. */
|
|
90
|
+
stopAll() {
|
|
91
|
+
this.instances.clear();
|
|
92
|
+
}
|
|
93
|
+
/** Scale instances for a profile to the target count. Clamps to [0, maxInstances]. */
|
|
94
|
+
scaleTo(profile, target) {
|
|
95
|
+
const clamped = Math.max(0, Math.min(target, profile.maxInstances));
|
|
96
|
+
const current = this.listByProfile(profile.id);
|
|
97
|
+
if (current.length < clamped) {
|
|
98
|
+
// Spawn more
|
|
99
|
+
const toSpawn = clamped - current.length;
|
|
100
|
+
for (let i = 0; i < toSpawn; i++) {
|
|
101
|
+
this.spawn(profile);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else if (current.length > clamped) {
|
|
105
|
+
// Stop idle instances first
|
|
106
|
+
const idle = current.filter((i) => i.status === 'idle');
|
|
107
|
+
const toStop = current.length - clamped;
|
|
108
|
+
const stopped = idle.slice(0, toStop);
|
|
109
|
+
for (const inst of stopped) {
|
|
110
|
+
this.stop(inst.instanceId);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=instance-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance-manager.js","sourceRoot":"","sources":["../../src/bot/instance-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Orchestrator — the routing brain that decides which tasks go to which bot instances.
|
|
3
|
+
*
|
|
4
|
+
* Pure routing logic: no side-effects beyond decision logging.
|
|
5
|
+
* Fast-path cascade: exact-match → single-eligible → ai-routed → round-robin.
|
|
6
|
+
*/
|
|
7
|
+
import type { BotProfile, OrchestratorDecision, OrchestratorInput, OrchestratorOutput } from './profile-types.js';
|
|
8
|
+
export interface AIRouterResult {
|
|
9
|
+
profileId: string;
|
|
10
|
+
reason: string;
|
|
11
|
+
confidence: number;
|
|
12
|
+
}
|
|
13
|
+
export interface AIRouter {
|
|
14
|
+
route(task: OrchestratorInput['pendingTasks'][0], candidates: BotProfile[]): Promise<AIRouterResult>;
|
|
15
|
+
}
|
|
16
|
+
export interface OrchestratorOptions {
|
|
17
|
+
aiRouter?: AIRouter;
|
|
18
|
+
}
|
|
19
|
+
export declare class Orchestrator {
|
|
20
|
+
private _decisionLog;
|
|
21
|
+
private _nextDecisionId;
|
|
22
|
+
private _aiRouter?;
|
|
23
|
+
constructor(options?: OrchestratorOptions);
|
|
24
|
+
route(input: OrchestratorInput): Promise<OrchestratorOutput>;
|
|
25
|
+
getDecisionLog(limit?: number): OrchestratorDecision[];
|
|
26
|
+
clearDecisionLog(): void;
|
|
27
|
+
/** Find profiles eligible for a task. */
|
|
28
|
+
private _findEligible;
|
|
29
|
+
/** Select the best instance for a task from eligible profiles. */
|
|
30
|
+
private _selectInstance;
|
|
31
|
+
/** Determine which routing method was used. */
|
|
32
|
+
private _routingMethod;
|
|
33
|
+
/** Record a decision in the log. */
|
|
34
|
+
private _recordDecision;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/bot/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAEV,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAU5B,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,IAAI,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACtG;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,SAAS,CAAC,CAAW;gBAEjB,OAAO,CAAC,EAAE,mBAAmB;IAQnC,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgElE,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAKtD,gBAAgB,IAAI,IAAI;IASxB,yCAAyC;IACzC,OAAO,CAAC,aAAa;IAQrB,kEAAkE;YACpD,eAAe;IA4E7B,+CAA+C;IAC/C,OAAO,CAAC,cAAc;IAStB,oCAAoC;IACpC,OAAO,CAAC,eAAe;CAkBxB"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Orchestrator — the routing brain that decides which tasks go to which bot instances.
|
|
3
|
+
*
|
|
4
|
+
* Pure routing logic: no side-effects beyond decision logging.
|
|
5
|
+
* Fast-path cascade: exact-match → single-eligible → ai-routed → round-robin.
|
|
6
|
+
*/
|
|
7
|
+
export class Orchestrator {
|
|
8
|
+
_decisionLog = [];
|
|
9
|
+
_nextDecisionId = 1;
|
|
10
|
+
_aiRouter;
|
|
11
|
+
constructor(options) {
|
|
12
|
+
this._aiRouter = options?.aiRouter;
|
|
13
|
+
}
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// Public API
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
async route(input) {
|
|
18
|
+
const assignments = [];
|
|
19
|
+
const scaleActions = [];
|
|
20
|
+
const skippedTasks = [];
|
|
21
|
+
// Track instances claimed during this routing cycle to avoid double-assignment.
|
|
22
|
+
const claimedInstanceIds = new Set();
|
|
23
|
+
// Sort tasks by priority DESC (higher number = higher priority).
|
|
24
|
+
const sorted = [...input.pendingTasks].sort((a, b) => b.priority - a.priority);
|
|
25
|
+
for (const task of sorted) {
|
|
26
|
+
// Budget guard
|
|
27
|
+
if (input.budgetRemaining.tokens <= 0 || input.budgetRemaining.cost <= 0) {
|
|
28
|
+
skippedTasks.push({ taskId: task.id, reason: 'budget-exhausted' });
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
const eligible = this._findEligible(task, input.profiles);
|
|
32
|
+
if (eligible.length === 0) {
|
|
33
|
+
skippedTasks.push({ taskId: task.id, reason: 'no-eligible-profile' });
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
const result = await this._selectInstance(task, eligible, input.instances, claimedInstanceIds);
|
|
37
|
+
if (result) {
|
|
38
|
+
claimedInstanceIds.add(result.instanceId);
|
|
39
|
+
assignments.push({
|
|
40
|
+
taskId: task.id,
|
|
41
|
+
profileId: result.profileId,
|
|
42
|
+
instanceId: result.instanceId,
|
|
43
|
+
reason: result.reason,
|
|
44
|
+
method: result.method,
|
|
45
|
+
confidence: result.confidence,
|
|
46
|
+
});
|
|
47
|
+
this._recordDecision(task, result, eligible);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
// No idle instance available — request scale-up if possible.
|
|
51
|
+
const scaleProfile = eligible[0];
|
|
52
|
+
const currentCount = input.instances.filter((i) => i.profileId === scaleProfile.id).length;
|
|
53
|
+
if (currentCount < scaleProfile.maxInstances) {
|
|
54
|
+
// Only add one scale-up action per profile.
|
|
55
|
+
if (!scaleActions.some((sa) => sa.profileId === scaleProfile.id)) {
|
|
56
|
+
scaleActions.push({
|
|
57
|
+
profileId: scaleProfile.id,
|
|
58
|
+
action: 'scale-up',
|
|
59
|
+
targetInstances: currentCount + 1,
|
|
60
|
+
reason: `idle instances exhausted for profile ${scaleProfile.id}`,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
skippedTasks.push({ taskId: task.id, reason: 'no-idle-instance' });
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return { assignments, scaleActions, skippedTasks };
|
|
68
|
+
}
|
|
69
|
+
getDecisionLog(limit) {
|
|
70
|
+
if (limit === undefined)
|
|
71
|
+
return [...this._decisionLog];
|
|
72
|
+
return this._decisionLog.slice(-limit);
|
|
73
|
+
}
|
|
74
|
+
clearDecisionLog() {
|
|
75
|
+
this._decisionLog = [];
|
|
76
|
+
this._nextDecisionId = 1;
|
|
77
|
+
}
|
|
78
|
+
// ---------------------------------------------------------------------------
|
|
79
|
+
// Internal
|
|
80
|
+
// ---------------------------------------------------------------------------
|
|
81
|
+
/** Find profiles eligible for a task. */
|
|
82
|
+
_findEligible(task, profiles) {
|
|
83
|
+
if (task.assignedProfile) {
|
|
84
|
+
const match = profiles.filter(p => p.id === task.assignedProfile);
|
|
85
|
+
if (match.length > 0)
|
|
86
|
+
return match;
|
|
87
|
+
}
|
|
88
|
+
return profiles;
|
|
89
|
+
}
|
|
90
|
+
/** Select the best instance for a task from eligible profiles. */
|
|
91
|
+
async _selectInstance(task, eligible, instances, claimed) {
|
|
92
|
+
// Determine routing method
|
|
93
|
+
let method = this._routingMethod(task, eligible);
|
|
94
|
+
if (eligible.length === 1) {
|
|
95
|
+
const profile = eligible[0];
|
|
96
|
+
const idle = instances.find((i) => i.profileId === profile.id && i.status === 'idle' && !claimed.has(i.instanceId));
|
|
97
|
+
if (!idle)
|
|
98
|
+
return null;
|
|
99
|
+
return {
|
|
100
|
+
profileId: profile.id,
|
|
101
|
+
instanceId: idle.instanceId,
|
|
102
|
+
method,
|
|
103
|
+
reason: `${method}: ${profile.id}`,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
// AI routing: when multiple eligible profiles and AI router is provided
|
|
107
|
+
if (this._aiRouter && eligible.length > 1) {
|
|
108
|
+
try {
|
|
109
|
+
const aiResult = await this._aiRouter.route(task, eligible);
|
|
110
|
+
const aiProfile = eligible.find((p) => p.id === aiResult.profileId);
|
|
111
|
+
if (aiProfile) {
|
|
112
|
+
const idle = instances.find((i) => i.profileId === aiProfile.id && i.status === 'idle' && !claimed.has(i.instanceId));
|
|
113
|
+
if (idle) {
|
|
114
|
+
return {
|
|
115
|
+
profileId: aiProfile.id,
|
|
116
|
+
instanceId: idle.instanceId,
|
|
117
|
+
method: 'ai-routed',
|
|
118
|
+
reason: `ai-routed: ${aiProfile.id} — ${aiResult.reason}`,
|
|
119
|
+
confidence: aiResult.confidence,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
// AI chose a profile but no idle instance — fall through to round-robin
|
|
123
|
+
}
|
|
124
|
+
// AI returned unknown profile — fall through to round-robin
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
// AI call failed — fall through to round-robin
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// Round-robin: pick profile with most idle instances
|
|
131
|
+
method = 'round-robin';
|
|
132
|
+
let bestProfile = null;
|
|
133
|
+
let bestIdleCount = -1;
|
|
134
|
+
let bestInstance = null;
|
|
135
|
+
for (const profile of eligible) {
|
|
136
|
+
const idleInstances = instances.filter((i) => i.profileId === profile.id && i.status === 'idle' && !claimed.has(i.instanceId));
|
|
137
|
+
if (idleInstances.length > bestIdleCount) {
|
|
138
|
+
bestIdleCount = idleInstances.length;
|
|
139
|
+
bestProfile = profile;
|
|
140
|
+
bestInstance = idleInstances[0] ?? null;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (!bestProfile || !bestInstance)
|
|
144
|
+
return null;
|
|
145
|
+
return {
|
|
146
|
+
profileId: bestProfile.id,
|
|
147
|
+
instanceId: bestInstance.instanceId,
|
|
148
|
+
method,
|
|
149
|
+
reason: `${method}: ${bestProfile.id}`,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/** Determine which routing method was used. */
|
|
153
|
+
_routingMethod(task, eligible) {
|
|
154
|
+
if (task.assignedProfile)
|
|
155
|
+
return 'exact-match';
|
|
156
|
+
if (eligible.length === 1)
|
|
157
|
+
return 'single-eligible';
|
|
158
|
+
return 'round-robin';
|
|
159
|
+
}
|
|
160
|
+
/** Record a decision in the log. */
|
|
161
|
+
_recordDecision(task, result, eligible) {
|
|
162
|
+
this._decisionLog.push({
|
|
163
|
+
id: this._nextDecisionId++,
|
|
164
|
+
timestamp: Date.now(),
|
|
165
|
+
taskId: task.id,
|
|
166
|
+
taskTitle: task.title,
|
|
167
|
+
assignedProfileId: result.profileId,
|
|
168
|
+
assignedInstanceId: result.instanceId,
|
|
169
|
+
reason: result.reason,
|
|
170
|
+
method: result.method,
|
|
171
|
+
candidateProfiles: eligible.map((p) => p.id),
|
|
172
|
+
confidence: result.confidence,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=orchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/bot/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { BotProfile, CreateProfileInput } from './profile-types.js';
|
|
2
|
+
export declare class ProfileStore {
|
|
3
|
+
private readonly projectDir;
|
|
4
|
+
private readonly filePath;
|
|
5
|
+
private profiles;
|
|
6
|
+
constructor(projectDir: string);
|
|
7
|
+
/**
|
|
8
|
+
* Create a new profile. Note: `botId` is NOT validated against BotRegistry
|
|
9
|
+
* here to avoid a circular dependency. Validation happens at dispatch time
|
|
10
|
+
* in SwarmController when building the profileBotMap.
|
|
11
|
+
*/
|
|
12
|
+
create(input: CreateProfileInput): BotProfile;
|
|
13
|
+
list(): BotProfile[];
|
|
14
|
+
get(id: string): BotProfile | null;
|
|
15
|
+
update(id: string, patch: Partial<Omit<BotProfile, 'id' | 'createdAt'>>): BotProfile;
|
|
16
|
+
delete(id: string): boolean;
|
|
17
|
+
findByCapabilities(required: string[]): BotProfile[];
|
|
18
|
+
/**
|
|
19
|
+
* Create enterprise-ready default profiles for registered bots.
|
|
20
|
+
* Only creates profiles if none exist for a given botId.
|
|
21
|
+
*
|
|
22
|
+
* For weaver-bot: Developer, Reviewer, Ops
|
|
23
|
+
* For genesis: Evolution
|
|
24
|
+
* For unknown bots: one generic profile
|
|
25
|
+
*/
|
|
26
|
+
ensureDefaultProfiles(bots: Array<{
|
|
27
|
+
id: string;
|
|
28
|
+
name: string;
|
|
29
|
+
icon?: string;
|
|
30
|
+
color?: string;
|
|
31
|
+
}>): void;
|
|
32
|
+
private _loadFromDisk;
|
|
33
|
+
private _save;
|
|
34
|
+
private _slugify;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=profile-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-store.d.ts","sourceRoot":"","sources":["../../src/bot/profile-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAc,MAAM,oBAAoB,CAAC;AAiErF,qBAAa,YAAY;IAIX,OAAO,CAAC,QAAQ,CAAC,UAAU;IAHvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAe;gBAEF,UAAU,EAAE,MAAM;IAW/C;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,UAAU;IAmC7C,IAAI,IAAI,UAAU,EAAE;IAIpB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAIlC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,UAAU;IAcpF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAY3B,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE;IAUpD;;;;;;;OAOG;IACH,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IA0BrG,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,QAAQ;CAMjB"}
|