@junctionpanel/server 0.1.91 → 0.1.93
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/server/client/daemon-client.d.ts +3 -0
- package/dist/server/client/daemon-client.d.ts.map +1 -1
- package/dist/server/client/daemon-client.js +55 -0
- package/dist/server/client/daemon-client.js.map +1 -1
- package/dist/server/server/agent/agent-manager.d.ts +1 -0
- package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
- package/dist/server/server/agent/agent-manager.js +1 -0
- package/dist/server/server/agent/agent-manager.js.map +1 -1
- package/dist/server/server/agent/agent-projections.d.ts.map +1 -1
- package/dist/server/server/agent/agent-projections.js +1 -0
- package/dist/server/server/agent/agent-projections.js.map +1 -1
- package/dist/server/server/agent/agent-sdk-types.d.ts +3 -0
- package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
- package/dist/server/server/agent/agent-sdk-types.js.map +1 -1
- package/dist/server/server/agent/agent-storage.d.ts.map +1 -1
- package/dist/server/server/agent/agent-storage.js +49 -7
- package/dist/server/server/agent/agent-storage.js.map +1 -1
- package/dist/server/server/agent/harness/context.d.ts.map +1 -1
- package/dist/server/server/agent/harness/context.js +6 -6
- package/dist/server/server/agent/harness/context.js.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.js +1 -0
- package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.js +22 -0
- package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
- package/dist/server/server/agent/providers/gemini-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/gemini-agent.js +1 -0
- package/dist/server/server/agent/providers/gemini-agent.js.map +1 -1
- package/dist/server/server/agent/providers/opencode-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/opencode-agent.js +1 -0
- package/dist/server/server/agent/providers/opencode-agent.js.map +1 -1
- package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts.map +1 -1
- package/dist/server/server/session.d.ts +3 -0
- package/dist/server/server/session.d.ts.map +1 -1
- package/dist/server/server/session.js +284 -17
- package/dist/server/server/session.js.map +1 -1
- package/dist/server/shared/messages.d.ts +2267 -26
- package/dist/server/shared/messages.d.ts.map +1 -1
- package/dist/server/shared/messages.js +45 -0
- package/dist/server/shared/messages.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-call-detail-primitives.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/tool-call-detail-primitives.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tool-call-detail-primitives.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/tool-call-detail-primitives.ts"],"names":[],"mappings":"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"}
|
|
@@ -352,6 +352,9 @@ export declare class Session {
|
|
|
352
352
|
private handleRestoreAgentCheckpoint;
|
|
353
353
|
private handleFetchAgentTimelineRequest;
|
|
354
354
|
private handleSendAgentMessageRequest;
|
|
355
|
+
private drainMessageQueue;
|
|
356
|
+
private handleCancelQueuedAgentMessageRequest;
|
|
357
|
+
private handleSteerQueuedAgentMessageRequest;
|
|
355
358
|
private handleWaitForFinish;
|
|
356
359
|
/**
|
|
357
360
|
* Emit a message to the client
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/server/session.ts"],"names":[],"mappings":"AAQA,OAAO,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/server/session.ts"],"names":[],"mappings":"AAQA,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EA0B5B,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,eAAe,EAAyB,MAAM,iCAAiC,CAAA;AAE7F,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAA;AAQhC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAE9E,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAA;AAE/D,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAkDvD,OAAO,EAAE,YAAY,EAA0B,MAAM,0BAA0B,CAAA;AAQ/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,KAAK,EACV,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,uBAAuB,CAAA;AAkD9B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAse5B,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,CAAC,GAAG,EAAE,sBAAsB,KAAK,IAAI,CAAA;IAChD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;IACjD,2BAA2B,CAAC,EAAE,CAAC,KAAK,EAAE;QACpC,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,OAAO,CAAC,sBAAsB,EAAE;YAAE,IAAI,EAAE,8BAA8B,CAAA;SAAE,CAAC,CAAC,SAAS,CAAC,CAAA;KAC9F,KAAK,IAAI,CAAA;IACV,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAA;IAC5D,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;IACnB,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,YAAY,CAAA;IAC1B,YAAY,EAAE,YAAY,CAAA;IAC1B,uBAAuB,EAAE,wBAAwB,CAAA;IACjD,eAAe,EAAE,eAAe,GAAG,IAAI,CAAA;IACvC,4BAA4B,CAAC,EAAE,+BAA+B,CAAA;IAC9D,iBAAiB,CAAC,EAAE,wBAAwB,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,4BAA4B,CAAA;AAE5D,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B,CAAA;AAED,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAoEnE;;;;GAIG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0C;IAC1E,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAEpC;IACR,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmD;IACrF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAa;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IAGrC,OAAO,CAAC,eAAe,CAAiB;IAGxC,OAAO,CAAC,cAAc,CAAwE;IAC9F,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0C;IAC3E,OAAO,CAAC,sBAAsB,CAA4B;IAC1D,OAAO,CAAC,wBAAwB,CAA6C;IAC7E,OAAO,CAAC,cAAc,CAOP;IACf,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAS;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoC;IACtE,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAoB;IAClE,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAG1C;IACH,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAgD;IACvF,OAAO,CAAC,2BAA2B,CAA4B;IAC/D,OAAO,CAAC,qBAAqB,CAAqC;IAClE,OAAO,CAAC,yBAAyB,CAAqC;IACtE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAU7B;IACH,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA4B;IACvE,OAAO,CAAC,oBAAoB,CAAI;IAChC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA2C;IACrF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6C;IACjF,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAoC;IAChF,OAAO,CAAC,0BAA0B,CAA+C;IACjF,OAAO,CAAC,qCAAqC,CAAsB;IACnE,OAAO,CAAC,kCAAkC,CAAQ;IAClD,OAAO,CAAC,+BAA+B,CAA8B;IACrE,OAAO,CAAC,iCAAiC,CAA6B;IACtE,OAAO,CAAC,gCAAgC,CAAQ;IAChD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA6C;gBAE9E,OAAO,EAAE,cAAc;IAiEnC;;OAEG;IACI,iBAAiB,IAAI;QAC1B,UAAU,EAAE,KAAK,GAAG,QAAQ,CAAA;QAC5B,oBAAoB,EAAE,MAAM,CAAA;QAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;QAC7B,cAAc,EAAE,IAAI,CAAA;QACpB,UAAU,EAAE,OAAO,CAAA;QACnB,sBAAsB,EAAE,IAAI,CAAA;KAC7B,GAAG,IAAI;IAIR;;OAEG;IACU,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;;OAGG;YACW,uBAAuB;IAuCrC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,oCAAoC;YA+C9B,uBAAuB;IA4CrC;;OAEG;YACW,kBAAkB;IAoBhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;YAoFhB,iBAAiB;IA8B/B,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,mBAAmB;YA2Ib,iBAAiB;YAuFjB,oCAAoC;IAsDlD,OAAO,CAAC,kBAAkB;IA4D1B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,6BAA6B;IA8BrC,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,qBAAqB;YA6Bf,qBAAqB;IAenC,OAAO,CAAC,+CAA+C;IAiBvD,OAAO,CAAC,mCAAmC;IAsC3C,OAAO,CAAC,+BAA+B;IAOvC,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,6BAA6B;YAkBvB,iCAAiC;IA8B/C,OAAO,CAAC,kCAAkC;YAgB5B,wCAAwC;YAQxC,kBAAkB;YAiClB,8BAA8B;IA8C5C;;OAEG;IACU,aAAa,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiX9D,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAcrD,OAAO,CAAC,yBAAyB;YAoDnB,0BAA0B;IAQxC,OAAO,CAAC,oBAAoB;YAqCd,2BAA2B;IAuBzC,OAAO,CAAC,6BAA6B;IAiCrC,OAAO,CAAC,mBAAmB;YAWb,wBAAwB;YAgDxB,yBAAyB;YA4FzB,2BAA2B;YAyH3B,0BAA0B;YAqE1B,aAAa;YAKb,wBAAwB;IA2FtC;;OAEG;YACW,sBAAsB;IAqCpC;;OAEG;YACW,wBAAwB;YAuQxB,wBAAwB;YA2DxB,yBAAyB;YAmEzB,wBAAwB;YAUxB,uBAAuB;YAmMvB,+BAA+B;YAmC/B,mCAAmC;IA6BjD,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,gBAAgB;YAkBV,4BAA4B;YA0C5B,sCAAsC;YA4BtC,6BAA6B;YAmC7B,kCAAkC;YA8BlC,yCAAyC;YAoCzC,8BAA8B;YA0C9B,0CAA0C;IA+CxD,OAAO,CAAC,mBAAmB;YA8Eb,yBAAyB;IAyDvC,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,gBAAgB;YASV,wCAAwC;YAiCxC,gCAAgC;YA0BhC,qBAAqB;YA0ErB,uBAAuB;IAiFrC;;OAEG;YACW,yBAAyB;YA2CzB,6BAA6B;YA8C7B,0BAA0B;YA2C1B,6BAA6B;IA8C3C;;OAEG;YACW,yBAAyB;IAWvC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;YACW,yBAAyB;IA0EvC;;OAEG;YACW,6BAA6B;IA+B3C,OAAO,CAAC,0BAA0B;IAgElC,OAAO,CAAC,+BAA+B;IAwBvC,OAAO,CAAC,8BAA8B;IA4CtC,OAAO,CAAC,oBAAoB;YAUd,2BAA2B;YAwC3B,mCAAmC;YA6CnC,2BAA2B;YA6B3B,2BAA2B;YAkG3B,8BAA8B;YAkC9B,uBAAuB;YA2BvB,iCAAiC;YA6DjC,qCAAqC;YAsDrC,qBAAqB;YA6BrB,oBAAoB;IA6BlC,OAAO,CAAC,6BAA6B;IAIrC,OAAO,CAAC,+BAA+B;IAmBvC,OAAO,CAAC,yCAAyC;IAOjD,OAAO,CAAC,mCAAmC;IAS3C,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,iCAAiC;IAyBzC,OAAO,CAAC,8BAA8B;IAsBtC,OAAO,CAAC,+BAA+B;IAoBvC,OAAO,CAAC,sCAAsC;IAU9C,OAAO,CAAC,oCAAoC;IAO5C,OAAO,CAAC,iCAAiC;IAqBzC,OAAO,CAAC,oCAAoC;IA6B5C,OAAO,CAAC,0BAA0B;YAUpB,8BAA8B;YAmD9B,4BAA4B;YAwF5B,gCAAgC;YA8EhC,qCAAqC;IAoEnD,OAAO,CAAC,uCAAuC;IAM/C,OAAO,CAAC,oCAAoC;IAiB5C,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,4BAA4B;IAepC,OAAO,CAAC,8BAA8B;YAkBxB,qBAAqB;YAarB,wBAAwB;IAiBtC,OAAO,CAAC,+BAA+B;IAWvC,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,qBAAqB;IAgH7B,OAAO,CAAC,iCAAiC;IAczC,OAAO,CAAC,sBAAsB;YAkBhB,2BAA2B;IAyCzC,OAAO,CAAC,gCAAgC;IAcxC,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,2BAA2B;IAanC,OAAO,CAAC,sCAAsC;YAWhC,yBAAyB;YAoFzB,6BAA6B;YA+E7B,kCAAkC;IAqGhD,OAAO,CAAC,oCAAoC;IAI5C,OAAO,CAAC,iCAAiC;IAUzC,OAAO,CAAC,6BAA6B;IAiBrC,OAAO,CAAC,0BAA0B;YAIpB,+BAA+B;IAK7C,OAAO,CAAC,4CAA4C;YAUtC,mBAAmB;YA0BnB,oBAAoB;YA4BpB,2BAA2B;YAoD3B,0BAA0B;YAyF1B,kCAAkC;YAgDlC,yBAAyB;YAgCzB,6BAA6B;YA4D7B,6BAA6B;YAoC7B,6BAA6B;YAsC7B,kCAAkC;YAsClC,4BAA4B;YAwC5B,iCAAiC;YA2CjC,6CAA6C;YA2D7C,qBAAqB;YAQrB,uBAAuB;YAiLvB,oCAAoC;IAmFlD;;OAEG;YACW,yBAAyB;IAgFvC;;OAEG;YACW,kCAAkC;IAiGhD;;OAEG;YACW,wBAAwB;IA6BtC;;OAEG;YACW,8BAA8B;IA6E5C;;OAEG;YACW,iBAAiB;YA4CjB,sBAAsB;YAqDtB,mBAAmB;IAyBjC,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,gCAAgC;IAgBxC,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,uBAAuB;IAyE/B,OAAO,CAAC,sBAAsB;YAkBhB,sBAAsB;YA8EtB,WAAW;YAKX,iBAAiB;IA4D/B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gCAAgC;IA6BxC,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,gCAAgC;IAMxC,OAAO,CAAC,gCAAgC;IAIxC,OAAO,CAAC,iDAAiD;IAsBzD,OAAO,CAAC,gCAAgC;IAIxC,OAAO,CAAC,4BAA4B;IAiBpC,OAAO,CAAC,+BAA+B;YAYzB,0CAA0C;YAwB1C,8BAA8B;YA2F9B,iCAAiC;YAqFjC,+BAA+B;IAmC7C,OAAO,CAAC,8BAA8B;IA+BtC,OAAO,CAAC,uBAAuB;YAqBjB,gBAAgB;YA4ChB,0BAA0B;YA+C1B,4BAA4B;YAyD5B,+BAA+B;YA8L/B,6BAA6B;IAuG3C,OAAO,CAAC,iBAAiB;YAyBX,qCAAqC;YAmErC,oCAAoC;YA6FpC,mBAAmB;IAgJjC;;OAEG;IACH,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,UAAU;IAWlB;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4DrC,OAAO,CAAC,8BAA8B;IAWtC,OAAO,CAAC,oBAAoB;IA0B5B,OAAO,CAAC,4BAA4B;IAapC,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,+BAA+B;IAKvC,OAAO,CAAC,iCAAiC;YAI3B,mCAAmC;YA2BnC,0BAA0B;YAuC1B,2BAA2B;YAwC3B,8BAA8B;IA6D5C,OAAO,CAAC,gCAAgC;IAQxC,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,mBAAmB;YAeb,sBAAsB;YAiCtB,yBAAyB;YAwBzB,iCAAiC;IAsH/C,OAAO,CAAC,gCAAgC;IAIxC,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,uBAAuB;IAmB/B,OAAO,CAAC,gCAAgC;IAqCxC,OAAO,CAAC,gCAAgC;IAuBxC,OAAO,CAAC,iCAAiC;IAYzC,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,wBAAwB;CAgBjC"}
|
|
@@ -5,7 +5,7 @@ import { promisify } from 'util';
|
|
|
5
5
|
import { resolve, sep, basename, dirname, parse as parsePath } from 'path';
|
|
6
6
|
import { homedir, hostname } from 'node:os';
|
|
7
7
|
import { z } from 'zod';
|
|
8
|
-
import { serializeAgentStreamEvent, } from './messages.js';
|
|
8
|
+
import { serializeAgentStreamEvent, AgentSnapshotPayloadSchema, } from './messages.js';
|
|
9
9
|
import { BinaryMuxChannel, TerminalBinaryFlags, TerminalBinaryMessageType, } from '../shared/binary-mux.js';
|
|
10
10
|
import { buildConfigOverrides, buildSessionConfig, extractTimestamps, extractTimelineSnapshot, } from './persistence-hooks.js';
|
|
11
11
|
import { experimental_createMCPClient } from 'ai';
|
|
@@ -51,6 +51,7 @@ const DEFAULT_STORED_TIMELINE_FETCH_LIMIT = 200;
|
|
|
51
51
|
const pendingAgentInitializations = new Map();
|
|
52
52
|
const implicitAgentInitializationFailures = new Map();
|
|
53
53
|
const pendingAgentMessageExecutions = new Map();
|
|
54
|
+
const softQueuedMessages = new Map();
|
|
54
55
|
const CREATE_AGENT_REPLAY_WINDOW_MS = 15 * 60000;
|
|
55
56
|
const IMPLICIT_AGENT_LOAD_FAILURE_COOLDOWN_MS = 60000;
|
|
56
57
|
const pendingCreateAgentRequests = new Map();
|
|
@@ -524,6 +525,7 @@ export class Session {
|
|
|
524
525
|
this.agentManager.recordUserMessage(input.agentId, input.text, {
|
|
525
526
|
messageId: input.messageId,
|
|
526
527
|
emitState: false,
|
|
528
|
+
...(input.deliveryState ? { deliveryState: input.deliveryState } : {}),
|
|
527
529
|
images: input.images?.map((image) => ({
|
|
528
530
|
data: image.preview?.data ?? image.data,
|
|
529
531
|
mimeType: image.preview?.mimeType ?? image.mimeType,
|
|
@@ -577,6 +579,9 @@ export class Session {
|
|
|
577
579
|
if (event.agent.provider === 'codex') {
|
|
578
580
|
this.scheduleProviderChildThreadRefresh();
|
|
579
581
|
}
|
|
582
|
+
if (event.agent.lifecycle === 'idle') {
|
|
583
|
+
this.drainMessageQueue(event.agent.id);
|
|
584
|
+
}
|
|
580
585
|
return;
|
|
581
586
|
}
|
|
582
587
|
if (this.shouldRefreshProviderChildThreadsForStreamEvent(event.event)) {
|
|
@@ -642,6 +647,11 @@ export class Session {
|
|
|
642
647
|
const title = storedRecord?.title ?? null;
|
|
643
648
|
const payload = toAgentPayload(agent, { title });
|
|
644
649
|
payload.archivedAt = storedRecord?.archivedAt ?? null;
|
|
650
|
+
payload.messageQueue = (softQueuedMessages.get(agent.id) ?? []).map((m) => ({
|
|
651
|
+
id: m.id,
|
|
652
|
+
text: m.text,
|
|
653
|
+
queuedAt: m.queuedAt,
|
|
654
|
+
}));
|
|
645
655
|
payload.archivedWorktree = storedRecord?.archivedWorktree
|
|
646
656
|
? {
|
|
647
657
|
repoRoot: storedRecord.archivedWorktree.repoRoot,
|
|
@@ -662,7 +672,12 @@ export class Session {
|
|
|
662
672
|
return payload;
|
|
663
673
|
}
|
|
664
674
|
buildStoredAgentPayload(record) {
|
|
665
|
-
|
|
675
|
+
const payload = toStoredAgentPayload(record);
|
|
676
|
+
const parsed = AgentSnapshotPayloadSchema.safeParse(payload);
|
|
677
|
+
if (!parsed.success) {
|
|
678
|
+
throw new Error(`Invalid stored agent payload for ${record.id}: ${parsed.error.message}`);
|
|
679
|
+
}
|
|
680
|
+
return parsed.data;
|
|
666
681
|
}
|
|
667
682
|
fetchStoredTimeline(record, options) {
|
|
668
683
|
const rows = (record.timelineRows ?? []).map((row) => ({ ...row }));
|
|
@@ -1158,11 +1173,11 @@ export class Session {
|
|
|
1158
1173
|
}
|
|
1159
1174
|
}
|
|
1160
1175
|
async forwardStoredAgentRecordUpdate(record) {
|
|
1176
|
+
const subscription = this.agentUpdatesSubscription;
|
|
1161
1177
|
try {
|
|
1162
1178
|
if (record.provider === 'codex') {
|
|
1163
1179
|
this.scheduleProviderChildThreadRefresh();
|
|
1164
1180
|
}
|
|
1165
|
-
const subscription = this.agentUpdatesSubscription;
|
|
1166
1181
|
if (!subscription || record.internal) {
|
|
1167
1182
|
return;
|
|
1168
1183
|
}
|
|
@@ -1187,7 +1202,13 @@ export class Session {
|
|
|
1187
1202
|
});
|
|
1188
1203
|
}
|
|
1189
1204
|
catch (error) {
|
|
1190
|
-
this.sessionLogger.error({ err: error, agentId: record.id }, 'Failed to emit stored agent update');
|
|
1205
|
+
this.sessionLogger.error({ err: error, agentId: record.id, cwd: record.cwd }, 'Failed to emit stored agent update');
|
|
1206
|
+
if (subscription && !record.internal) {
|
|
1207
|
+
this.bufferOrEmitAgentUpdate(subscription, {
|
|
1208
|
+
kind: 'remove',
|
|
1209
|
+
agentId: record.id,
|
|
1210
|
+
});
|
|
1211
|
+
}
|
|
1191
1212
|
}
|
|
1192
1213
|
}
|
|
1193
1214
|
/**
|
|
@@ -1235,6 +1256,12 @@ export class Session {
|
|
|
1235
1256
|
case 'send_agent_message_request':
|
|
1236
1257
|
await this.handleSendAgentMessageRequest(msg);
|
|
1237
1258
|
break;
|
|
1259
|
+
case 'cancel_queued_agent_message_request':
|
|
1260
|
+
await this.handleCancelQueuedAgentMessageRequest(msg);
|
|
1261
|
+
break;
|
|
1262
|
+
case 'steer_queued_agent_message_request':
|
|
1263
|
+
await this.handleSteerQueuedAgentMessageRequest(msg);
|
|
1264
|
+
break;
|
|
1238
1265
|
case 'wait_for_finish_request':
|
|
1239
1266
|
await this.handleWaitForFinish(msg.agentId, msg.requestId, msg.timeoutMs);
|
|
1240
1267
|
break;
|
|
@@ -5800,7 +5827,19 @@ export class Session {
|
|
|
5800
5827
|
const liveIds = new Set(agentSnapshots.map((a) => a.id));
|
|
5801
5828
|
const persistedAgents = registryRecords
|
|
5802
5829
|
.filter((record) => !liveIds.has(record.id) && !record.internal)
|
|
5803
|
-
.
|
|
5830
|
+
.flatMap((record) => {
|
|
5831
|
+
try {
|
|
5832
|
+
return [this.buildStoredAgentPayload(record)];
|
|
5833
|
+
}
|
|
5834
|
+
catch (error) {
|
|
5835
|
+
this.sessionLogger.error({
|
|
5836
|
+
err: error,
|
|
5837
|
+
agentId: record.id,
|
|
5838
|
+
cwd: record.cwd,
|
|
5839
|
+
}, 'Skipping invalid stored agent payload while listing agents');
|
|
5840
|
+
return [];
|
|
5841
|
+
}
|
|
5842
|
+
});
|
|
5804
5843
|
let agents = [...liveAgents, ...persistedAgents];
|
|
5805
5844
|
// Filter by labels if filter provided
|
|
5806
5845
|
if (filter?.labels) {
|
|
@@ -5863,7 +5902,17 @@ export class Session {
|
|
|
5863
5902
|
if (!record || record.internal) {
|
|
5864
5903
|
return null;
|
|
5865
5904
|
}
|
|
5866
|
-
|
|
5905
|
+
try {
|
|
5906
|
+
return this.buildStoredAgentPayload(record);
|
|
5907
|
+
}
|
|
5908
|
+
catch (error) {
|
|
5909
|
+
this.sessionLogger.error({
|
|
5910
|
+
err: error,
|
|
5911
|
+
agentId: record.id,
|
|
5912
|
+
cwd: record.cwd,
|
|
5913
|
+
}, 'Skipping invalid stored agent payload while fetching agent by id');
|
|
5914
|
+
return null;
|
|
5915
|
+
}
|
|
5867
5916
|
}
|
|
5868
5917
|
normalizeFetchAgentsSort(sort) {
|
|
5869
5918
|
const fallback = [{ key: 'updated_at', direction: 'desc' }];
|
|
@@ -6756,6 +6805,40 @@ export class Session {
|
|
|
6756
6805
|
});
|
|
6757
6806
|
return;
|
|
6758
6807
|
}
|
|
6808
|
+
// If deliveryMode is 'queue' and the agent is currently running, enqueue the message
|
|
6809
|
+
if (msg.deliveryMode === 'queue') {
|
|
6810
|
+
const currentAgent = this.agentManager.getAgent(agentId);
|
|
6811
|
+
if (currentAgent && currentAgent.lifecycle === 'running') {
|
|
6812
|
+
const queue = softQueuedMessages.get(agentId) ?? [];
|
|
6813
|
+
const queuedEntry = {
|
|
6814
|
+
id: msg.messageId ?? uuidv4(),
|
|
6815
|
+
text: msg.text,
|
|
6816
|
+
queuedAt: new Date().toISOString(),
|
|
6817
|
+
...(msg.images
|
|
6818
|
+
? {
|
|
6819
|
+
images: msg.images.map((img) => ({
|
|
6820
|
+
data: img.data,
|
|
6821
|
+
mimeType: img.mimeType,
|
|
6822
|
+
})),
|
|
6823
|
+
}
|
|
6824
|
+
: {}),
|
|
6825
|
+
};
|
|
6826
|
+
queue.push(queuedEntry);
|
|
6827
|
+
softQueuedMessages.set(agentId, queue);
|
|
6828
|
+
void this.forwardAgentUpdate(currentAgent);
|
|
6829
|
+
this.emit({
|
|
6830
|
+
type: 'send_agent_message_response',
|
|
6831
|
+
payload: {
|
|
6832
|
+
requestId: msg.requestId,
|
|
6833
|
+
agentId,
|
|
6834
|
+
accepted: true,
|
|
6835
|
+
error: null,
|
|
6836
|
+
queuePosition: queue.length,
|
|
6837
|
+
},
|
|
6838
|
+
});
|
|
6839
|
+
return;
|
|
6840
|
+
}
|
|
6841
|
+
}
|
|
6759
6842
|
await this.enqueueAcceptedAgentMessageExecution({
|
|
6760
6843
|
agentId,
|
|
6761
6844
|
text: msg.text,
|
|
@@ -6787,6 +6870,166 @@ export class Session {
|
|
|
6787
6870
|
});
|
|
6788
6871
|
}
|
|
6789
6872
|
}
|
|
6873
|
+
drainMessageQueue(agentId) {
|
|
6874
|
+
if (pendingAgentMessageExecutions.has(agentId)) {
|
|
6875
|
+
return;
|
|
6876
|
+
}
|
|
6877
|
+
const queue = softQueuedMessages.get(agentId);
|
|
6878
|
+
if (!queue || queue.length === 0) {
|
|
6879
|
+
return;
|
|
6880
|
+
}
|
|
6881
|
+
const item = queue.shift();
|
|
6882
|
+
if (queue.length === 0) {
|
|
6883
|
+
softQueuedMessages.delete(agentId);
|
|
6884
|
+
}
|
|
6885
|
+
void this.enqueueAcceptedAgentMessageExecution({
|
|
6886
|
+
agentId,
|
|
6887
|
+
text: item.text,
|
|
6888
|
+
messageId: item.id,
|
|
6889
|
+
deliveryState: 'queued',
|
|
6890
|
+
...(item.images ? { images: item.images } : {}),
|
|
6891
|
+
});
|
|
6892
|
+
const agent = this.agentManager.getAgent(agentId);
|
|
6893
|
+
if (agent) {
|
|
6894
|
+
void this.forwardAgentUpdate(agent);
|
|
6895
|
+
}
|
|
6896
|
+
}
|
|
6897
|
+
async handleCancelQueuedAgentMessageRequest(msg) {
|
|
6898
|
+
const resolved = await this.resolveAgentIdentifier(msg.agentId);
|
|
6899
|
+
if (!resolved.ok) {
|
|
6900
|
+
this.emit({
|
|
6901
|
+
type: 'cancel_queued_agent_message_response',
|
|
6902
|
+
payload: {
|
|
6903
|
+
requestId: msg.requestId,
|
|
6904
|
+
agentId: msg.agentId,
|
|
6905
|
+
cancelled: false,
|
|
6906
|
+
error: resolved.error,
|
|
6907
|
+
},
|
|
6908
|
+
});
|
|
6909
|
+
return;
|
|
6910
|
+
}
|
|
6911
|
+
const agentId = resolved.agentId;
|
|
6912
|
+
const queue = softQueuedMessages.get(agentId);
|
|
6913
|
+
if (!queue) {
|
|
6914
|
+
this.emit({
|
|
6915
|
+
type: 'cancel_queued_agent_message_response',
|
|
6916
|
+
payload: {
|
|
6917
|
+
requestId: msg.requestId,
|
|
6918
|
+
agentId,
|
|
6919
|
+
cancelled: false,
|
|
6920
|
+
error: 'No queued messages for agent',
|
|
6921
|
+
},
|
|
6922
|
+
});
|
|
6923
|
+
return;
|
|
6924
|
+
}
|
|
6925
|
+
const index = queue.findIndex((item) => item.id === msg.messageId);
|
|
6926
|
+
if (index === -1) {
|
|
6927
|
+
this.emit({
|
|
6928
|
+
type: 'cancel_queued_agent_message_response',
|
|
6929
|
+
payload: {
|
|
6930
|
+
requestId: msg.requestId,
|
|
6931
|
+
agentId,
|
|
6932
|
+
cancelled: false,
|
|
6933
|
+
error: 'Message not found in queue',
|
|
6934
|
+
},
|
|
6935
|
+
});
|
|
6936
|
+
return;
|
|
6937
|
+
}
|
|
6938
|
+
queue.splice(index, 1);
|
|
6939
|
+
if (queue.length === 0) {
|
|
6940
|
+
softQueuedMessages.delete(agentId);
|
|
6941
|
+
}
|
|
6942
|
+
const agent = this.agentManager.getAgent(agentId);
|
|
6943
|
+
if (agent) {
|
|
6944
|
+
void this.forwardAgentUpdate(agent);
|
|
6945
|
+
}
|
|
6946
|
+
this.emit({
|
|
6947
|
+
type: 'cancel_queued_agent_message_response',
|
|
6948
|
+
payload: {
|
|
6949
|
+
requestId: msg.requestId,
|
|
6950
|
+
agentId,
|
|
6951
|
+
cancelled: true,
|
|
6952
|
+
error: null,
|
|
6953
|
+
},
|
|
6954
|
+
});
|
|
6955
|
+
}
|
|
6956
|
+
async handleSteerQueuedAgentMessageRequest(msg) {
|
|
6957
|
+
const resolved = await this.resolveAgentIdentifier(msg.agentId);
|
|
6958
|
+
if (!resolved.ok) {
|
|
6959
|
+
this.emit({
|
|
6960
|
+
type: 'steer_queued_agent_message_response',
|
|
6961
|
+
payload: {
|
|
6962
|
+
requestId: msg.requestId,
|
|
6963
|
+
agentId: msg.agentId,
|
|
6964
|
+
steered: false,
|
|
6965
|
+
error: resolved.error,
|
|
6966
|
+
},
|
|
6967
|
+
});
|
|
6968
|
+
return;
|
|
6969
|
+
}
|
|
6970
|
+
const agentId = resolved.agentId;
|
|
6971
|
+
try {
|
|
6972
|
+
await this.ensureAgentLoaded(agentId);
|
|
6973
|
+
const agent = this.agentManager.getAgent(agentId);
|
|
6974
|
+
if (!agent || agent.lifecycle === 'closed' || agent.session == null) {
|
|
6975
|
+
throw new Error(`Agent not found: ${agentId}`);
|
|
6976
|
+
}
|
|
6977
|
+
if (!agent.capabilities.supportsTurnSteering || typeof agent.session.steer !== 'function') {
|
|
6978
|
+
throw new Error(`Agent ${agentId} does not support steering`);
|
|
6979
|
+
}
|
|
6980
|
+
if (agent.lifecycle !== 'running') {
|
|
6981
|
+
throw new Error(`Agent ${agentId} is not currently running`);
|
|
6982
|
+
}
|
|
6983
|
+
const queue = softQueuedMessages.get(agentId);
|
|
6984
|
+
if (!queue) {
|
|
6985
|
+
throw new Error('No queued messages for agent');
|
|
6986
|
+
}
|
|
6987
|
+
const index = queue.findIndex((item) => item.id === msg.messageId);
|
|
6988
|
+
if (index === -1) {
|
|
6989
|
+
throw new Error('Message not found in queue');
|
|
6990
|
+
}
|
|
6991
|
+
const queuedMessage = queue[index];
|
|
6992
|
+
await agent.session.steer(this.buildAgentPrompt(queuedMessage.text, queuedMessage.images?.map((image) => ({
|
|
6993
|
+
data: image.data,
|
|
6994
|
+
mimeType: image.mimeType,
|
|
6995
|
+
}))));
|
|
6996
|
+
queue.splice(index, 1);
|
|
6997
|
+
if (queue.length === 0) {
|
|
6998
|
+
softQueuedMessages.delete(agentId);
|
|
6999
|
+
}
|
|
7000
|
+
this.agentManager.recordUserMessage(agentId, queuedMessage.text, {
|
|
7001
|
+
messageId: queuedMessage.id,
|
|
7002
|
+
emitState: false,
|
|
7003
|
+
deliveryState: 'steered',
|
|
7004
|
+
images: queuedMessage.images?.map((image) => ({
|
|
7005
|
+
data: image.data,
|
|
7006
|
+
mimeType: image.mimeType,
|
|
7007
|
+
})),
|
|
7008
|
+
});
|
|
7009
|
+
await this.forwardAgentUpdate(agent);
|
|
7010
|
+
this.emit({
|
|
7011
|
+
type: 'steer_queued_agent_message_response',
|
|
7012
|
+
payload: {
|
|
7013
|
+
requestId: msg.requestId,
|
|
7014
|
+
agentId,
|
|
7015
|
+
steered: true,
|
|
7016
|
+
error: null,
|
|
7017
|
+
},
|
|
7018
|
+
});
|
|
7019
|
+
}
|
|
7020
|
+
catch (error) {
|
|
7021
|
+
const message = error instanceof Error ? error.message : typeof error === 'string' ? error : 'Unknown error';
|
|
7022
|
+
this.emit({
|
|
7023
|
+
type: 'steer_queued_agent_message_response',
|
|
7024
|
+
payload: {
|
|
7025
|
+
requestId: msg.requestId,
|
|
7026
|
+
agentId,
|
|
7027
|
+
steered: false,
|
|
7028
|
+
error: message,
|
|
7029
|
+
},
|
|
7030
|
+
});
|
|
7031
|
+
}
|
|
7032
|
+
}
|
|
6790
7033
|
async handleWaitForFinish(agentIdOrIdentifier, requestId, timeoutMs) {
|
|
6791
7034
|
const resolved = await this.resolveAgentIdentifier(agentIdOrIdentifier);
|
|
6792
7035
|
if (!resolved.ok) {
|
|
@@ -6819,17 +7062,41 @@ export class Session {
|
|
|
6819
7062
|
});
|
|
6820
7063
|
return;
|
|
6821
7064
|
}
|
|
6822
|
-
|
|
6823
|
-
|
|
6824
|
-
|
|
6825
|
-
|
|
6826
|
-
|
|
6827
|
-
|
|
6828
|
-
|
|
6829
|
-
|
|
6830
|
-
|
|
6831
|
-
|
|
6832
|
-
|
|
7065
|
+
try {
|
|
7066
|
+
const final = this.buildStoredAgentPayload(record);
|
|
7067
|
+
const hasPendingPermission = final.pendingPermissions.length > 0;
|
|
7068
|
+
const status = hasPendingPermission
|
|
7069
|
+
? 'permission'
|
|
7070
|
+
: record.lastStatus === 'error'
|
|
7071
|
+
? 'error'
|
|
7072
|
+
: 'idle';
|
|
7073
|
+
this.emit({
|
|
7074
|
+
type: 'wait_for_finish_response',
|
|
7075
|
+
payload: { requestId, status, final, error: null, lastMessage: null },
|
|
7076
|
+
});
|
|
7077
|
+
}
|
|
7078
|
+
catch (error) {
|
|
7079
|
+
const message = error instanceof Error
|
|
7080
|
+
? error.message
|
|
7081
|
+
: typeof error === 'string'
|
|
7082
|
+
? error
|
|
7083
|
+
: 'Unknown error';
|
|
7084
|
+
this.sessionLogger.error({
|
|
7085
|
+
err: error,
|
|
7086
|
+
agentId: record.id,
|
|
7087
|
+
cwd: record.cwd,
|
|
7088
|
+
}, 'Skipping invalid stored agent payload while waiting for finish');
|
|
7089
|
+
this.emit({
|
|
7090
|
+
type: 'wait_for_finish_response',
|
|
7091
|
+
payload: {
|
|
7092
|
+
requestId,
|
|
7093
|
+
status: 'error',
|
|
7094
|
+
final: null,
|
|
7095
|
+
error: message,
|
|
7096
|
+
lastMessage: null,
|
|
7097
|
+
},
|
|
7098
|
+
});
|
|
7099
|
+
}
|
|
6833
7100
|
return;
|
|
6834
7101
|
}
|
|
6835
7102
|
const abortController = new AbortController();
|