aimux-cli 0.1.12 → 0.1.13
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.
|
@@ -17,7 +17,7 @@ export declare class OrchestrationDispatcher {
|
|
|
17
17
|
private readonly getSession;
|
|
18
18
|
private readonly getSessionAvailability;
|
|
19
19
|
private pendingEvents;
|
|
20
|
-
constructor(getSession: (id: string) => DispatchSession | undefined, getSessionAvailability
|
|
20
|
+
constructor(getSession: (id: string) => DispatchSession | undefined, getSessionAvailability: (id: string) => SessionAvailability);
|
|
21
21
|
tick(localSessionIds: string[]): void;
|
|
22
22
|
drainEvents(): OrchestrationDeliveryEvent[];
|
|
23
23
|
}
|
|
@@ -6,7 +6,7 @@ export class OrchestrationDispatcher {
|
|
|
6
6
|
getSession;
|
|
7
7
|
getSessionAvailability;
|
|
8
8
|
pendingEvents = [];
|
|
9
|
-
constructor(getSession, getSessionAvailability
|
|
9
|
+
constructor(getSession, getSessionAvailability) {
|
|
10
10
|
this.getSession = getSession;
|
|
11
11
|
this.getSessionAvailability = getSessionAvailability;
|
|
12
12
|
}
|
|
@@ -25,9 +25,7 @@ export class OrchestrationDispatcher {
|
|
|
25
25
|
if (!session || session.exited)
|
|
26
26
|
continue;
|
|
27
27
|
const availability = this.getSessionAvailability(recipient);
|
|
28
|
-
const canDeliver = availability === "available" ||
|
|
29
|
-
availability === "needs_input" ||
|
|
30
|
-
(availability === undefined && (session.status === "idle" || session.status === "waiting"));
|
|
28
|
+
const canDeliver = availability === "available" || availability === "needs_input";
|
|
31
29
|
if (!canDeliver)
|
|
32
30
|
continue;
|
|
33
31
|
const prompt = `Aimux: new ${message.kind} for you.\n\n` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestration-dispatcher.js","sourceRoot":"","sources":["../src/orchestration-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAC;AAkBjG,SAAS,cAAc,CAAC,IAAiB;IACvC,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,QAAQ,CAAC;AAClH,CAAC;AAED,MAAM,OAAO,uBAAuB;IAIf;IACA;IAJX,aAAa,GAAiC,EAAE,CAAC;IAEzD,YACmB,UAAuD,EACvD,
|
|
1
|
+
{"version":3,"file":"orchestration-dispatcher.js","sourceRoot":"","sources":["../src/orchestration-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAC;AAkBjG,SAAS,cAAc,CAAC,IAAiB;IACvC,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,QAAQ,CAAC;AAClH,CAAC;AAED,MAAM,OAAO,uBAAuB;IAIf;IACA;IAJX,aAAa,GAAiC,EAAE,CAAC;IAEzD,YACmB,UAAuD,EACvD,sBAA2D;QAD3D,eAAU,GAAV,UAAU,CAA6C;QACvD,2BAAsB,GAAtB,sBAAsB,CAAqC;IAC3E,CAAC;IAEJ,IAAI,CAAC,eAAyB;QAC5B,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACnE,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;oBACnC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;wBAAE,SAAS;oBAC9D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;wBAAE,SAAS;oBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBAC3C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM;wBAAE,SAAS;oBACzC,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;oBAC5D,MAAM,UAAU,GAAG,YAAY,KAAK,WAAW,IAAI,YAAY,KAAK,aAAa,CAAC;oBAClF,IAAI,CAAC,UAAU;wBAAE,SAAS;oBAC1B,MAAM,MAAM,GACV,cAAc,OAAO,CAAC,IAAI,eAAe;wBACzC,WAAW,MAAM,CAAC,EAAE,IAAI;wBACxB,YAAY,OAAO,CAAC,EAAE,IAAI;wBAC1B,SAAS,OAAO,CAAC,IAAI,MAAM;wBAC3B,QAAQ;wBACR,uBAAuB,MAAM,CAAC,EAAE,MAAM;wBACtC,oFAAoF,CAAC;oBACvF,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;oBAC7B,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;oBACvD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;wBACtB,IAAI,EAAE,mBAAmB;wBACzB,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,SAAS,EAAE,OAAO,CAAC,EAAE;wBACrB,SAAS,EAAE,SAAS;wBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;qBACnB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -24,7 +24,7 @@ export declare class TaskDispatcher {
|
|
|
24
24
|
private sessionTasks;
|
|
25
25
|
/** Recent events for flash notifications, drained by caller */
|
|
26
26
|
private pendingEvents;
|
|
27
|
-
constructor(getSession: (id: string) => DispatchSession | undefined, getSessionTool: (id: string) => string | undefined, getSessionRole
|
|
27
|
+
constructor(getSession: (id: string) => DispatchSession | undefined, getSessionTool: (id: string) => string | undefined, getSessionRole: (id: string) => string | undefined, getSessionAvailability: (id: string) => SessionAvailability);
|
|
28
28
|
/**
|
|
29
29
|
* Main dispatch loop, called every ~2s from the dashboard/status refresh loop.
|
|
30
30
|
*/
|
|
@@ -34,6 +34,7 @@ export declare class TaskDispatcher {
|
|
|
34
34
|
* Priority: assignedTo (specific session) > assignee (role) > tool > any idle.
|
|
35
35
|
*/
|
|
36
36
|
private findIdleSession;
|
|
37
|
+
private canReceiveInjectedPrompt;
|
|
37
38
|
private inject;
|
|
38
39
|
/**
|
|
39
40
|
* Notify the assigning session that a task has completed.
|
package/dist/task-dispatcher.js
CHANGED
|
@@ -16,8 +16,8 @@ export class TaskDispatcher {
|
|
|
16
16
|
constructor(getSession, getSessionTool, getSessionRole, getSessionAvailability) {
|
|
17
17
|
this.getSession = getSession;
|
|
18
18
|
this.getSessionTool = getSessionTool;
|
|
19
|
-
this.getSessionRole = getSessionRole
|
|
20
|
-
this.getSessionAvailability = getSessionAvailability
|
|
19
|
+
this.getSessionRole = getSessionRole;
|
|
20
|
+
this.getSessionAvailability = getSessionAvailability;
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* Main dispatch loop, called every ~2s from the dashboard/status refresh loop.
|
|
@@ -54,7 +54,7 @@ export class TaskDispatcher {
|
|
|
54
54
|
if ((task.status !== "done" && task.status !== "failed") || task.notifiedAt)
|
|
55
55
|
continue;
|
|
56
56
|
const assignerSession = this.getSession(task.assignedBy);
|
|
57
|
-
if (assignerSession &&
|
|
57
|
+
if (assignerSession && this.canReceiveInjectedPrompt(assignerSession)) {
|
|
58
58
|
this.workflow.notifyAssigner(assignerSession, task);
|
|
59
59
|
this.pendingEvents.push({
|
|
60
60
|
type: task.status === "done" ? "completed" : "failed",
|
|
@@ -98,10 +98,7 @@ export class TaskDispatcher {
|
|
|
98
98
|
if (hasActiveTask(id))
|
|
99
99
|
return undefined; // already working a task
|
|
100
100
|
const session = this.getSession(id);
|
|
101
|
-
|
|
102
|
-
if (session &&
|
|
103
|
-
!session.exited &&
|
|
104
|
-
(availability === "available" || (availability === undefined && session.status === "idle"))) {
|
|
101
|
+
if (session && this.canReceiveInjectedPrompt(session)) {
|
|
105
102
|
return session;
|
|
106
103
|
}
|
|
107
104
|
return undefined;
|
|
@@ -142,6 +139,11 @@ export class TaskDispatcher {
|
|
|
142
139
|
}
|
|
143
140
|
return undefined;
|
|
144
141
|
}
|
|
142
|
+
canReceiveInjectedPrompt(session) {
|
|
143
|
+
if (session.exited)
|
|
144
|
+
return false;
|
|
145
|
+
return this.getSessionAvailability(session.id) === "available";
|
|
146
|
+
}
|
|
145
147
|
inject(session, task) {
|
|
146
148
|
this.pendingEvents.push(this.workflow.injectIntoSession(session, task));
|
|
147
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-dispatcher.js","sourceRoot":"","sources":["../src/task-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAiBlD,MAAM,OAAO,cAAc;IACjB,UAAU,CAA8C;IACxD,cAAc,CAAqC;IACnD,cAAc,CAAqC;IACnD,sBAAsB,
|
|
1
|
+
{"version":3,"file":"task-dispatcher.js","sourceRoot":"","sources":["../src/task-dispatcher.ts"],"names":[],"mappings":"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"}
|