@zmzai/agent-framework 0.4.1 → 0.5.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/adapters/subprocess-sandbox.d.ts.map +1 -1
- package/dist/adapters/subprocess-sandbox.js +77 -6
- package/dist/adapters/subprocess-sandbox.js.map +1 -1
- package/dist/adapters/terminal-backend.d.ts +14 -0
- package/dist/adapters/terminal-backend.d.ts.map +1 -1
- package/dist/adapters/terminal-backend.js +48 -9
- package/dist/adapters/terminal-backend.js.map +1 -1
- package/dist/core/events/bus.d.ts.map +1 -1
- package/dist/core/events/bus.js +17 -8
- package/dist/core/events/bus.js.map +1 -1
- package/dist/core/events/sqlite-event-log.d.ts.map +1 -1
- package/dist/core/events/sqlite-event-log.js +24 -11
- package/dist/core/events/sqlite-event-log.js.map +1 -1
- package/dist/core/mcp/client.js +13 -3
- package/dist/core/mcp/client.js.map +1 -1
- package/dist/core/runtime/attachments.d.ts +14 -0
- package/dist/core/runtime/attachments.d.ts.map +1 -0
- package/dist/core/runtime/attachments.js +29 -0
- package/dist/core/runtime/attachments.js.map +1 -0
- package/dist/core/runtime/lease-recovery.d.ts.map +1 -1
- package/dist/core/runtime/lease-recovery.js +18 -3
- package/dist/core/runtime/lease-recovery.js.map +1 -1
- package/dist/core/runtime/pi-bridge.d.ts +2 -1
- package/dist/core/runtime/pi-bridge.d.ts.map +1 -1
- package/dist/core/runtime/pi-bridge.js +7 -1
- package/dist/core/runtime/pi-bridge.js.map +1 -1
- package/dist/core/runtime/runner.d.ts +9 -1
- package/dist/core/runtime/runner.d.ts.map +1 -1
- package/dist/core/runtime/runner.js +141 -24
- package/dist/core/runtime/runner.js.map +1 -1
- package/dist/core/session/message-search.d.ts +21 -0
- package/dist/core/session/message-search.d.ts.map +1 -0
- package/dist/core/session/message-search.js +33 -0
- package/dist/core/session/message-search.js.map +1 -0
- package/dist/core/session/sqlite-store.d.ts.map +1 -1
- package/dist/core/session/sqlite-store.js +359 -54
- package/dist/core/session/sqlite-store.js.map +1 -1
- package/dist/core/session/store.d.ts +57 -0
- package/dist/core/session/store.d.ts.map +1 -1
- package/dist/core/session/types.d.ts +11 -0
- package/dist/core/session/types.d.ts.map +1 -1
- package/dist/core/session/workflow.d.ts +35 -0
- package/dist/core/session/workflow.d.ts.map +1 -0
- package/dist/core/session/workflow.js +12 -0
- package/dist/core/session/workflow.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/server/create-server.d.ts +3 -0
- package/dist/server/create-server.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../../src/core/runtime/attachments.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAC7E,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QACpJ,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,8DAA8D,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC/K,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC5K,MAAM,MAAM,GAAG,QAAQ,IAAI,CAAC,SAAS,UAAU,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QACtG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,iBAAiB,CAAC,KAAiC;IACjE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,+CAA+C,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACzP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lease-recovery.d.ts","sourceRoot":"","sources":["../../../src/core/runtime/lease-recovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;;;;mDAOmD;AAEnD,eAAO,MAAM,cAAc,QAAS,CAAC;AACrC,eAAO,MAAM,eAAe,QAAiB,CAAC;AAE9C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kEAAkE;IAClE,iBAAiB,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IACtD,8EAA8E;IAC9E,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1D,CAAC;AAIF;;;;;;;4BAO4B;AAC5B,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"lease-recovery.d.ts","sourceRoot":"","sources":["../../../src/core/runtime/lease-recovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;;;;mDAOmD;AAEnD,eAAO,MAAM,cAAc,QAAS,CAAC;AACrC,eAAO,MAAM,eAAe,QAAiB,CAAC;AAE9C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kEAAkE;IAClE,iBAAiB,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IACtD,8EAA8E;IAC9E,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1D,CAAC;AAIF;;;;;;;4BAO4B;AAC5B,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgE5H;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC;IAAC,aAAa,CAAC,EAAE,YAAY,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB3I;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC;IAAC,aAAa,CAAC,EAAE,YAAY,CAAA;CAAE,GAAG,IAAI,CAS1H;AAED,OAAO,EAAE,eAAe,IAAI,iBAAiB,EAAE,CAAC"}
|
|
@@ -19,9 +19,20 @@ const globalRecovery = globalThis;
|
|
|
19
19
|
* both in the store and as appended events. Idempotent: a second pass finds
|
|
20
20
|
* no pending leftovers. */
|
|
21
21
|
export async function finalizeInterruptedRun(input) {
|
|
22
|
-
const events =
|
|
22
|
+
const events = [];
|
|
23
|
+
let cursor = 0;
|
|
24
|
+
while (true) {
|
|
25
|
+
const page = await input.log.read(input.sessionId, cursor, 1_000);
|
|
26
|
+
events.push(...page);
|
|
27
|
+
if (page.length < 1_000)
|
|
28
|
+
break;
|
|
29
|
+
cursor = page[page.length - 1].seq;
|
|
30
|
+
}
|
|
23
31
|
const append = async (event) => {
|
|
24
|
-
const
|
|
32
|
+
const payload = { sessionId: input.sessionId, ...event };
|
|
33
|
+
const persisted = input.store.persistEvent
|
|
34
|
+
? await input.store.persistEvent(payload)
|
|
35
|
+
: await input.log.append(payload);
|
|
25
36
|
if (persisted)
|
|
26
37
|
notifyEventLogListeners(persisted);
|
|
27
38
|
};
|
|
@@ -59,7 +70,8 @@ export async function finalizeInterruptedRun(input) {
|
|
|
59
70
|
time: { start: started, end: new Date().toISOString() },
|
|
60
71
|
},
|
|
61
72
|
};
|
|
62
|
-
|
|
73
|
+
if (!input.store.persistEvent)
|
|
74
|
+
await input.store.updatePart(terminal);
|
|
63
75
|
await append({ type: "message.part.updated", data: { part: terminal } });
|
|
64
76
|
}
|
|
65
77
|
// 3. Todos stuck in flight: mark pending/in_progress items cancelled. Todos
|
|
@@ -79,6 +91,9 @@ export async function reclaimExpiredLeases(input) {
|
|
|
79
91
|
const reclaimed = await input.store.clearLeaseIfExpired(session.sessionId);
|
|
80
92
|
if (!reclaimed)
|
|
81
93
|
continue; // another scanner won the race
|
|
94
|
+
const workflow = input.finalizeStore?.workflow;
|
|
95
|
+
if (workflow)
|
|
96
|
+
await workflow.recoverInterrupted(session.sessionId).catch(() => undefined);
|
|
82
97
|
const events = [
|
|
83
98
|
{ type: "session.error", data: { name: "LeaseExpired", message: "运行因服务重启中断,可在同一会话继续。" } },
|
|
84
99
|
{ type: "session.status", data: { status: "idle" } },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lease-recovery.js","sourceRoot":"","sources":["../../../src/core/runtime/lease-recovery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAK3D;;;;;;;mDAOmD;AAEnD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAS9C,MAAM,cAAc,GAAG,UAAiG,CAAC;AAEzH;;;;;;;4BAO4B;AAC5B,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAAgE;IAC3G,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"lease-recovery.js","sourceRoot":"","sources":["../../../src/core/runtime/lease-recovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ export declare class PartProjector {
|
|
|
35
35
|
* originating message id). */
|
|
36
36
|
get currentAssistantMessageId(): string | null;
|
|
37
37
|
constructor(identity: BridgeIdentity);
|
|
38
|
+
restoreUserMessage(id: string): void;
|
|
38
39
|
private emitPart;
|
|
39
40
|
private patchPart;
|
|
40
41
|
private flushText;
|
|
@@ -43,7 +44,7 @@ export declare class PartProjector {
|
|
|
43
44
|
onUserPrompt(emit: Emit, text: string, images?: readonly {
|
|
44
45
|
url: string;
|
|
45
46
|
mediaType: string;
|
|
46
|
-
}[], skill?: SelectedSkill, references?: readonly string[]): MessageInfo;
|
|
47
|
+
}[], skill?: SelectedSkill, references?: readonly string[], attachments?: readonly import("./attachments.js").InputAttachment[]): MessageInfo;
|
|
47
48
|
onAssistantStart(emit: Emit): void;
|
|
48
49
|
onTextDelta(emit: Emit, contentIndex: number, delta: string): void;
|
|
49
50
|
onThinkingDelta(emit: Emit, contentIndex: number, delta: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi-bridge.d.ts","sourceRoot":"","sources":["../../../src/core/runtime/pi-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAQ,aAAa,EAAa,MAAM,qBAAqB,CAAC;AAEjG;;yEAEyE;AAEzE,MAAM,MAAM,cAAc,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEnF,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;AAY5C;;oEAEoE;AACpE,wBAAgB,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAQ1H;AAED,qBAAa,aAAa;IAoBZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAnBrC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgC;IACnE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAK;IACxB;;8EAE0E;IAC1E,OAAO,CAAC,mBAAmB,CAAuB;IAElD;mCAC+B;IAC/B,IAAI,yBAAyB,IAAI,MAAM,GAAG,IAAI,CAE7C;gBAE4B,QAAQ,EAAE,cAAc;IAErD,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,aAAa;IAarB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW;
|
|
1
|
+
{"version":3,"file":"pi-bridge.d.ts","sourceRoot":"","sources":["../../../src/core/runtime/pi-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAQ,aAAa,EAAa,MAAM,qBAAqB,CAAC;AAEjG;;yEAEyE;AAEzE,MAAM,MAAM,cAAc,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEnF,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;AAY5C;;oEAEoE;AACpE,wBAAgB,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAQ1H;AAED,qBAAa,aAAa;IAoBZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAnBrC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgC;IACnE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAK;IACxB;;8EAE0E;IAC1E,OAAO,CAAC,mBAAmB,CAAuB;IAElD;mCAC+B;IAC/B,IAAI,yBAAyB,IAAI,MAAM,GAAG,IAAI,CAE7C;gBAE4B,QAAQ,EAAE,cAAc;IAErD,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAEpC,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,aAAa;IAarB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,SAAS,OAAO,kBAAkB,EAAE,eAAe,EAAE,GAAG,WAAW;IA+CvO,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAqBlC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAWlE,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAWtE,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAe3G,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAU7E,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAuB3F,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;CA6BxD"}
|
|
@@ -33,6 +33,7 @@ export class PartProjector {
|
|
|
33
33
|
constructor(identity) {
|
|
34
34
|
this.identity = identity;
|
|
35
35
|
}
|
|
36
|
+
restoreUserMessage(id) { this.userMessageId = id; }
|
|
36
37
|
emitPart(emit, part) {
|
|
37
38
|
this.parts.set(part.id, part);
|
|
38
39
|
emit({ type: "message.part.updated", data: { part } });
|
|
@@ -68,7 +69,7 @@ export class PartProjector {
|
|
|
68
69
|
return part;
|
|
69
70
|
}
|
|
70
71
|
// ---- PI event handlers (called by handleAgentEvent) ----
|
|
71
|
-
onUserPrompt(emit, text, images, skill, references) {
|
|
72
|
+
onUserPrompt(emit, text, images, skill, references, attachments) {
|
|
72
73
|
const message = {
|
|
73
74
|
id: newMessageId(),
|
|
74
75
|
sessionId: this.identity.sessionId,
|
|
@@ -107,6 +108,11 @@ export class PartProjector {
|
|
|
107
108
|
emit({ type: "message.part.updated", data: { part } });
|
|
108
109
|
}
|
|
109
110
|
}
|
|
111
|
+
for (const file of attachments ?? []) {
|
|
112
|
+
const part = { id: newPartId(), sessionId: this.identity.sessionId, messageId: message.id, type: "file", filename: file.name, mime: file.mediaType, url: file.data };
|
|
113
|
+
this.parts.set(part.id, part);
|
|
114
|
+
emit({ type: "message.part.updated", data: { part } });
|
|
115
|
+
}
|
|
110
116
|
return message;
|
|
111
117
|
}
|
|
112
118
|
onAssistantStart(emit) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi-bridge.js","sourceRoot":"","sources":["../../../src/core/runtime/pi-bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pi-bridge.js","sourceRoot":"","sources":["../../../src/core/runtime/pi-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ import type { ToolContext, WorkspaceFiles } from "../tools/context.js";
|
|
|
11
11
|
import type { AnyToolDef } from "../tools/def.js";
|
|
12
12
|
import { type LifecycleHook } from "./lifecycle.js";
|
|
13
13
|
import type { SandboxExecutor } from "../../adapters/index.js";
|
|
14
|
+
import type { PromptReceipt } from "../session/workflow.js";
|
|
14
15
|
/** SessionRunner (spec §8.1): owns one session's full lifecycle — prompt →
|
|
15
16
|
* PI agent loop → persisted parts + framework events → terminal settlement
|
|
16
17
|
* → queued prompt continuation. Permission checks happen only in
|
|
@@ -20,6 +21,8 @@ import type { SandboxExecutor } from "../../adapters/index.js";
|
|
|
20
21
|
* workspace files, event log, lease) are injected. */
|
|
21
22
|
export type { ThinkingEffort } from "../session/types.js";
|
|
22
23
|
export type PromptInput = {
|
|
24
|
+
requestId?: string;
|
|
25
|
+
attachments?: readonly import("./attachments.js").InputAttachment[];
|
|
23
26
|
text: string;
|
|
24
27
|
agent?: string;
|
|
25
28
|
model?: ModelRef;
|
|
@@ -96,6 +99,9 @@ export declare class SessionRunner {
|
|
|
96
99
|
#private;
|
|
97
100
|
private readonly deps;
|
|
98
101
|
constructor(deps: RunnerDeps);
|
|
102
|
+
private draining;
|
|
103
|
+
private stopRequested;
|
|
104
|
+
private drain;
|
|
99
105
|
/** 供 runLoop 取归一化钩子数组(lazy:constructor 后仍可由 deps 引用共享)。 */
|
|
100
106
|
private get hooks();
|
|
101
107
|
/** fallbackSessionId 由 runLoop 闭包传入(而非实例字段):runner 是进程级
|
|
@@ -107,7 +113,7 @@ export declare class SessionRunner {
|
|
|
107
113
|
private clearLease;
|
|
108
114
|
prompt(sessionId: string, input: PromptInput): Promise<{
|
|
109
115
|
queued: boolean;
|
|
110
|
-
}
|
|
116
|
+
} & Partial<PromptReceipt>>;
|
|
111
117
|
replyPermission(sessionId: string, requestId: string, reply: Reply, feedback?: string): Promise<boolean>;
|
|
112
118
|
/** Revokes matching session-scoped rules immediately for a live run and
|
|
113
119
|
* removes their persisted continuation access. */
|
|
@@ -170,6 +176,8 @@ export declare function createFrameworkSession(input: {
|
|
|
170
176
|
title?: string;
|
|
171
177
|
permission?: Ruleset;
|
|
172
178
|
writePaths?: string[];
|
|
179
|
+
creationRequestId?: string;
|
|
180
|
+
creationPayloadHash?: string;
|
|
173
181
|
}): Promise<SessionInfo>;
|
|
174
182
|
export declare function isSessionActive(sessionId: string): boolean;
|
|
175
183
|
/** 会话当前 run 是否挂起等待人工授权(HITL 待确认)。宿主会话列表用它把
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/core/runtime/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/core/runtime/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Agent } from "@earendil-works/pi-agent-core";
|
|
2
|
+
import { validateAttachments, attachmentContent } from "./attachments.js";
|
|
2
3
|
import { leaseDurationMs } from "../../adapters/index.js";
|
|
3
4
|
import { notifyEventLogListeners } from "../events/bus.js";
|
|
4
5
|
import { PermissionEngine, RejectedError } from "../permission/engine.js";
|
|
@@ -12,6 +13,7 @@ import { isExternalToolDef } from "../tools/def.js";
|
|
|
12
13
|
import { fireRunStart, firstToolBlock, fireAfterToolCall, fireRunEnd } from "./lifecycle.js";
|
|
13
14
|
import { extractRunTranscript, RETRY_PLACEHOLDER_TEXT } from "./run-transcript.js";
|
|
14
15
|
import { noopSandboxExecutor } from "../../adapters/index.js";
|
|
16
|
+
import { randomUUID } from "node:crypto";
|
|
15
17
|
/** 事件的 sessionId 提取:能自带的自带(message/part/session),其余
|
|
16
18
|
* (message.part.delta 等)用发起 run 的会话 id 兜底。 */
|
|
17
19
|
function sessionIdOf(event, fallbackSessionId) {
|
|
@@ -89,6 +91,49 @@ export class SessionRunner {
|
|
|
89
91
|
constructor(deps) {
|
|
90
92
|
this.deps = deps;
|
|
91
93
|
}
|
|
94
|
+
draining = new Map();
|
|
95
|
+
stopRequested = new Set();
|
|
96
|
+
drain(sessionId) {
|
|
97
|
+
if (this.draining.has(sessionId))
|
|
98
|
+
return;
|
|
99
|
+
const work = (async () => {
|
|
100
|
+
while (true) {
|
|
101
|
+
const job = await this.deps.store.workflow.claimPrompt(sessionId, `node:${process.pid}`);
|
|
102
|
+
if (!job)
|
|
103
|
+
return;
|
|
104
|
+
let outcome = "recovery_required";
|
|
105
|
+
try {
|
|
106
|
+
if (this.stopRequested.has(sessionId)) {
|
|
107
|
+
outcome = "cancelled";
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
const session = await this.deps.store.getSession(sessionId);
|
|
111
|
+
if (!session) {
|
|
112
|
+
outcome = "failed";
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
outcome = await this.runLoop(session, job.input, job.receipt.userMessageId);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
// Setup or settlement may have failed after a tool ran. Do not replay.
|
|
121
|
+
}
|
|
122
|
+
await this.deps.store.workflow.finishPrompt(sessionId, job.receipt.runId, job.revision, outcome);
|
|
123
|
+
if (outcome !== "completed")
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
})();
|
|
127
|
+
this.draining.set(sessionId, work);
|
|
128
|
+
void work.catch(() => undefined).finally(async () => {
|
|
129
|
+
this.draining.delete(sessionId);
|
|
130
|
+
if (this.stopRequested.has(sessionId))
|
|
131
|
+
return;
|
|
132
|
+
const queued = await this.deps.store.workflow.workflowRuns(sessionId).catch(() => []);
|
|
133
|
+
if (queued.some(run => run.status === "queued") && !queued.some(run => run.status === "running" || run.status === "recovery_required"))
|
|
134
|
+
this.drain(sessionId);
|
|
135
|
+
});
|
|
136
|
+
}
|
|
92
137
|
#hooks = [];
|
|
93
138
|
/** 供 runLoop 取归一化钩子数组(lazy:constructor 后仍可由 deps 引用共享)。 */
|
|
94
139
|
get hooks() {
|
|
@@ -100,6 +145,12 @@ export class SessionRunner {
|
|
|
100
145
|
* 单例,两个会话并发时实例字段会互相覆盖,导致 message.part.delta 等
|
|
101
146
|
* 无自带 sessionId 的事件落到错误的会话事件流里(串台)。 */
|
|
102
147
|
async persist(event, fallbackSessionId) {
|
|
148
|
+
const sessionId = sessionIdOf(event, fallbackSessionId);
|
|
149
|
+
if (this.deps.store.persistEvent) {
|
|
150
|
+
const persisted = await this.deps.store.persistEvent({ sessionId, ...event });
|
|
151
|
+
notifyEventLogListeners(persisted);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
103
154
|
if (event.type === "message.updated") {
|
|
104
155
|
const message = event.data.message;
|
|
105
156
|
const exists = await this.deps.store.getMessages(message.sessionId).then((entries) => entries.some((entry) => entry.info.id === message.id));
|
|
@@ -114,11 +165,13 @@ export class SessionRunner {
|
|
|
114
165
|
else if (event.type === "session.updated") {
|
|
115
166
|
await this.deps.store.updateSession(event.data.session.id, event.data.session);
|
|
116
167
|
}
|
|
117
|
-
const persisted = await this.deps.eventLog.append({ sessionId
|
|
168
|
+
const persisted = await this.deps.eventLog.append({ sessionId, ...event });
|
|
118
169
|
notifyEventLogListeners(persisted);
|
|
119
170
|
}
|
|
120
171
|
async publish(event, sessionId) {
|
|
121
|
-
const persisted =
|
|
172
|
+
const persisted = this.deps.store.persistEvent
|
|
173
|
+
? await this.deps.store.persistEvent({ sessionId, ...event })
|
|
174
|
+
: await this.deps.eventLog.append({ sessionId, ...event });
|
|
122
175
|
notifyEventLogListeners(persisted);
|
|
123
176
|
}
|
|
124
177
|
async stampLease(sessionId) {
|
|
@@ -132,11 +185,37 @@ export class SessionRunner {
|
|
|
132
185
|
await this.deps.leaseStore.clear(sessionId).catch(() => undefined);
|
|
133
186
|
}
|
|
134
187
|
async prompt(sessionId, input) {
|
|
188
|
+
input = { ...input, attachments: validateAttachments(input.attachments) };
|
|
135
189
|
const session = await this.deps.store.getSession(sessionId);
|
|
136
190
|
if (!session)
|
|
137
191
|
throw new Error("SESSION_NOT_FOUND");
|
|
192
|
+
if (this.deps.store.workflow) {
|
|
193
|
+
input = { ...input, requestId: input.requestId ?? randomUUID(), model: input.model ?? session.model };
|
|
194
|
+
const projector = new PartProjector({ sessionId, agent: input.agent ?? session.agent, model: input.model });
|
|
195
|
+
const parts = [];
|
|
196
|
+
const message = projector.onUserPrompt(event => {
|
|
197
|
+
if (event.type === "message.part.updated")
|
|
198
|
+
parts.push(event.data.part);
|
|
199
|
+
}, input.text, input.images, input.skill, input.references, input.attachments);
|
|
200
|
+
const accepted = await this.deps.store.workflow.acceptPrompt(sessionId, input, { message, parts });
|
|
201
|
+
for (const event of accepted.events)
|
|
202
|
+
notifyEventLogListeners(event);
|
|
203
|
+
if (accepted.events.length)
|
|
204
|
+
this.drain(sessionId);
|
|
205
|
+
return accepted.receipt;
|
|
206
|
+
}
|
|
138
207
|
if (activeRuns.has(sessionId)) {
|
|
139
|
-
await this.deps.store.enqueuePrompt(sessionId, {
|
|
208
|
+
await this.deps.store.enqueuePrompt(sessionId, {
|
|
209
|
+
text: input.text,
|
|
210
|
+
attachments: input.attachments,
|
|
211
|
+
images: input.images,
|
|
212
|
+
model: input.model,
|
|
213
|
+
...(input.agent ? { agent: input.agent } : {}),
|
|
214
|
+
...(input.effort ? { effort: input.effort } : {}),
|
|
215
|
+
...(input.skill ? { skill: input.skill } : {}),
|
|
216
|
+
...(input.references?.length ? { references: [...input.references] } : {}),
|
|
217
|
+
enqueuedAt: new Date().toISOString(),
|
|
218
|
+
});
|
|
140
219
|
return { queued: true };
|
|
141
220
|
}
|
|
142
221
|
void this.runLoop(session, input);
|
|
@@ -163,16 +242,19 @@ export class SessionRunner {
|
|
|
163
242
|
return removedFromEngine || removedFromStore;
|
|
164
243
|
}
|
|
165
244
|
async abort(sessionId) {
|
|
166
|
-
|
|
245
|
+
this.stopRequested.add(sessionId);
|
|
167
246
|
await this.deps.store.clearQueuedPrompts(sessionId);
|
|
168
|
-
|
|
169
|
-
return;
|
|
247
|
+
const active = activeRuns.get(sessionId);
|
|
170
248
|
// PI's abort signal does not cancel a PermissionEngine.ask() promise.
|
|
171
249
|
// Rejecting pending approvals first releases beforeToolCall so the run can
|
|
172
250
|
// publish its terminal state and a continuation cannot overlap it.
|
|
173
|
-
active
|
|
174
|
-
|
|
175
|
-
|
|
251
|
+
if (active) {
|
|
252
|
+
active.engine.dispose("任务已停止,未处理的授权请求已取消");
|
|
253
|
+
active.abort();
|
|
254
|
+
await active.done;
|
|
255
|
+
}
|
|
256
|
+
await this.draining.get(sessionId);
|
|
257
|
+
this.stopRequested.delete(sessionId);
|
|
176
258
|
}
|
|
177
259
|
/** 手动触发一次上下文压缩(UI「压缩当前会话」):无条件对当前历史跑一次
|
|
178
260
|
* 摘要折叠,摘要通过 buildCompaction 的 onCompacted 落为 compaction part
|
|
@@ -187,7 +269,11 @@ export class SessionRunner {
|
|
|
187
269
|
const transform = await this.buildCompaction(session, (event) => this.publish(event, session.id), true);
|
|
188
270
|
if (!transform)
|
|
189
271
|
return { ok: false, reason: "compaction-disabled" };
|
|
190
|
-
const
|
|
272
|
+
const workflowRuns = this.deps.store.workflow ? await this.deps.store.workflow.workflowRuns(sessionId) : [];
|
|
273
|
+
const excludedUserIds = this.deps.store.workflow
|
|
274
|
+
? new Set(workflowRuns.filter((run) => run.status !== "completed" && run.status !== "failed").map((run) => run.receipt.userMessageId))
|
|
275
|
+
: undefined;
|
|
276
|
+
const messages = await this.rebuildMessages(sessionId, excludedUserIds);
|
|
191
277
|
if (messages.length <= 1)
|
|
192
278
|
return { ok: false, reason: "nothing-to-compact" };
|
|
193
279
|
await transform(messages);
|
|
@@ -269,7 +355,7 @@ export class SessionRunner {
|
|
|
269
355
|
return null;
|
|
270
356
|
}
|
|
271
357
|
}
|
|
272
|
-
async runLoop(session, input) {
|
|
358
|
+
async runLoop(session, input, acceptedUserId) {
|
|
273
359
|
const registry = await this.registryFor(session);
|
|
274
360
|
const resolved = await this.resolvedAgentFor(session);
|
|
275
361
|
const agentName = resolved ? resolved.agent.name : input.agent ?? session.agent;
|
|
@@ -310,6 +396,8 @@ export class SessionRunner {
|
|
|
310
396
|
await this.persist(event, session.id);
|
|
311
397
|
});
|
|
312
398
|
const projector = new PartProjector({ sessionId: session.id, agent: agentInfo?.name ?? "default", model });
|
|
399
|
+
if (acceptedUserId)
|
|
400
|
+
projector.restoreUserMessage(acceptedUserId);
|
|
313
401
|
let mandatorySkillContext = "";
|
|
314
402
|
if (input.skill) {
|
|
315
403
|
if (!this.deps.resolveMandatorySkill)
|
|
@@ -327,8 +415,7 @@ export class SessionRunner {
|
|
|
327
415
|
const rawWorkspace = this.deps.workspaceFor(session);
|
|
328
416
|
const workspace = session.writePaths?.length ? confineWorkspaceFiles(rawWorkspace, session.writePaths) : rawWorkspace;
|
|
329
417
|
const emitAsync = async (event) => {
|
|
330
|
-
|
|
331
|
-
notifyEventLogListeners(persisted);
|
|
418
|
+
await this.publish(event, session.id);
|
|
332
419
|
};
|
|
333
420
|
const toolContext = (this.deps.buildToolContext ?? defaultToolContext)({ session, engine, workspace, sandbox, emit: emitAsync });
|
|
334
421
|
// Subagent spawning is only available to primary (non-child) sessions, and
|
|
@@ -341,7 +428,11 @@ export class SessionRunner {
|
|
|
341
428
|
const compactionTransform = await this.buildCompaction(session, emit);
|
|
342
429
|
// 记忆召回(spec §记忆):单点注入 runLoop,天然覆盖正常 prompt/排队出
|
|
343
430
|
// 队/automation/子代理触发四条路径。只进内存不落 store;抛错静默降级。
|
|
344
|
-
const
|
|
431
|
+
const workflowRuns = this.deps.store.workflow ? await this.deps.store.workflow.workflowRuns(session.id) : [];
|
|
432
|
+
const excludedUserIds = this.deps.store.workflow
|
|
433
|
+
? new Set(workflowRuns.filter((run) => run.status !== "completed" && run.status !== "failed").map((run) => run.receipt.userMessageId))
|
|
434
|
+
: undefined;
|
|
435
|
+
const history = await this.rebuildMessages(session.id, excludedUserIds);
|
|
345
436
|
if (this.deps.memoryContextFor) {
|
|
346
437
|
try {
|
|
347
438
|
const section = await this.deps.memoryContextFor(session, input.text);
|
|
@@ -378,6 +469,8 @@ export class SessionRunner {
|
|
|
378
469
|
let resolveDone;
|
|
379
470
|
const done = new Promise((resolve) => { resolveDone = resolve; });
|
|
380
471
|
activeRuns.set(session.id, { agent, engine, settled, abort, done });
|
|
472
|
+
if (this.stopRequested.has(session.id))
|
|
473
|
+
abort();
|
|
381
474
|
await this.stampLease(session.id);
|
|
382
475
|
const loopGuard = new LoopGuard();
|
|
383
476
|
agent.beforeToolCall = async ({ toolCall, args }) => {
|
|
@@ -556,15 +649,18 @@ export class SessionRunner {
|
|
|
556
649
|
data: { toolCalls: summaryToolCalls, lastTool: summaryLastTool, elapsedMs },
|
|
557
650
|
}, session.id).catch(() => undefined);
|
|
558
651
|
}, CHECKPOINT_INTERVAL_MS);
|
|
559
|
-
await Promise.all(fireRunStart(this.hooks, { sessionId: session.id, agent: session.agent, text: input.text }));
|
|
560
|
-
await this.publish({ type: "session.status", data: { status: "running" } }, session.id);
|
|
561
652
|
try {
|
|
562
|
-
|
|
653
|
+
await Promise.all(fireRunStart(this.hooks, { sessionId: session.id, agent: session.agent, text: input.text }));
|
|
654
|
+
await this.publish({ type: "session.status", data: { status: "running" } }, session.id);
|
|
655
|
+
if (abortController.signal.aborted)
|
|
656
|
+
throw new Error("Run cancelled during setup");
|
|
657
|
+
if (!acceptedUserId)
|
|
658
|
+
projector.onUserPrompt(emit, input.text, input.images, input.skill, input.references, input.attachments);
|
|
563
659
|
const piImages = input.images?.map((img) => {
|
|
564
660
|
const match = img.url.match(/^data:([^;]+);base64,(.+)$/);
|
|
565
661
|
return match ? { type: "image", data: match[2], mimeType: match[1] } : null;
|
|
566
662
|
}).filter((img) => img !== null);
|
|
567
|
-
await agent.prompt(input.text,
|
|
663
|
+
await agent.prompt({ role: "user", content: [{ type: "text", text: input.text }, ...attachmentContent(input.attachments ?? []), ...(piImages ?? [])], timestamp: Date.now() });
|
|
568
664
|
await settled();
|
|
569
665
|
let failed = agent.state.errorMessage;
|
|
570
666
|
if (unknownSideEffect) {
|
|
@@ -615,13 +711,17 @@ export class SessionRunner {
|
|
|
615
711
|
: aborted
|
|
616
712
|
? { type: "session.status", data: { status: "idle" } }
|
|
617
713
|
: { type: "session.error", data: { name: "AgentRuntimeError", message: error instanceof Error ? error.message : "Agent 运行失败" } }, session.id);
|
|
714
|
+
if (!aborted && !unknownSideEffect)
|
|
715
|
+
await this.publish({ type: "session.status", data: { status: "idle" } }, session.id);
|
|
618
716
|
}
|
|
619
717
|
finally {
|
|
620
718
|
clearInterval(streamWatchdog);
|
|
621
719
|
clearInterval(checkpointTimer);
|
|
622
720
|
activeRuns.delete(session.id);
|
|
623
721
|
engine.dispose();
|
|
624
|
-
|
|
722
|
+
// Workflow settlement clears its lease atomically with the terminal run state.
|
|
723
|
+
if (!acceptedUserId)
|
|
724
|
+
await this.clearLease(session.id);
|
|
625
725
|
const newMessages = extractRunTranscript(agent.state.messages, baseline);
|
|
626
726
|
// 任务终态小结(N5):终态 status 已发布后补一条 session.summary,
|
|
627
727
|
// 让「任务完成」有明确收尾(AI 一句总结 + 结构化统计)。await 保证
|
|
@@ -637,15 +737,26 @@ export class SessionRunner {
|
|
|
637
737
|
void Promise.all(fireRunEnd(this.hooks, { sessionId: session.id, agent: session.agent, ok: !runErrored, aborted: abortController.signal.aborted, workspaceId: session.workspaceId, newMessages }));
|
|
638
738
|
resolveDone();
|
|
639
739
|
}
|
|
640
|
-
|
|
641
|
-
|
|
740
|
+
const outcome = unknownSideEffect ? "recovery_required" : abortController.signal.aborted ? "cancelled" : runErrored ? "failed" : "completed";
|
|
741
|
+
if (acceptedUserId || unknownSideEffect)
|
|
742
|
+
return outcome;
|
|
642
743
|
// FIFO queued prompts (spec §13.3): settle fully, then take the next one.
|
|
643
744
|
const next = await this.deps.store.dequeuePrompt(session.id);
|
|
644
745
|
if (next) {
|
|
645
746
|
const latest = await this.deps.store.getSession(session.id);
|
|
646
747
|
if (latest)
|
|
647
|
-
await this.runLoop(latest, {
|
|
748
|
+
await this.runLoop(latest, {
|
|
749
|
+
text: next.text,
|
|
750
|
+
attachments: next.attachments,
|
|
751
|
+
images: next.images,
|
|
752
|
+
model: next.model,
|
|
753
|
+
...(next.agent ? { agent: next.agent } : {}),
|
|
754
|
+
...(next.effort ? { effort: next.effort } : {}),
|
|
755
|
+
...(next.skill ? { skill: next.skill } : {}),
|
|
756
|
+
...(next.references?.length ? { references: [...next.references] } : {}),
|
|
757
|
+
});
|
|
648
758
|
}
|
|
759
|
+
return outcome;
|
|
649
760
|
}
|
|
650
761
|
/** Spawns a subagent child session (spec §6.4): depth-capped, permission
|
|
651
762
|
* stamped from parent session + subagent preset, runs a nested PI loop to
|
|
@@ -817,16 +928,20 @@ export class SessionRunner {
|
|
|
817
928
|
}
|
|
818
929
|
return depth;
|
|
819
930
|
}
|
|
820
|
-
async rebuildMessages(sessionId) {
|
|
931
|
+
async rebuildMessages(sessionId, excludedUserIds) {
|
|
821
932
|
const entries = await this.deps.store.getMessages(sessionId);
|
|
822
933
|
const messages = [];
|
|
823
934
|
for (const { info, parts } of entries) {
|
|
824
935
|
if (info.role === "user") {
|
|
936
|
+
if (excludedUserIds?.has(info.id))
|
|
937
|
+
continue;
|
|
825
938
|
const text = parts
|
|
826
939
|
.filter((part) => part.type === "text")
|
|
827
940
|
.map((part) => part.text)
|
|
828
941
|
.join("\n");
|
|
829
|
-
|
|
942
|
+
const files = parts.filter((p) => p.type === "file" && p.url.startsWith("data:"));
|
|
943
|
+
const attachments = files.map((p) => ({ name: p.filename, mediaType: p.mime, data: p.url, size: Buffer.from(p.url.slice(p.url.indexOf(",") + 1), "base64").length }));
|
|
944
|
+
messages.push({ role: "user", content: [{ type: "text", text }, ...attachmentContent(attachments)], timestamp: Date.parse(info.time.created) || Date.now() });
|
|
830
945
|
}
|
|
831
946
|
else {
|
|
832
947
|
const text = parts
|
|
@@ -865,6 +980,8 @@ export async function createFrameworkSession(input) {
|
|
|
865
980
|
permission: input.permission ?? [],
|
|
866
981
|
...(input.writePaths?.length ? { writePaths: input.writePaths } : {}),
|
|
867
982
|
queuedPrompts: [],
|
|
983
|
+
...(input.creationRequestId ? { creationRequestId: input.creationRequestId } : {}),
|
|
984
|
+
...(input.creationPayloadHash ? { creationPayloadHash: input.creationPayloadHash } : {}),
|
|
868
985
|
time: { created: new Date().toISOString(), updated: new Date().toISOString() },
|
|
869
986
|
};
|
|
870
987
|
await input.store.createSession(session);
|