@superblocksteam/vite-plugin-file-sync 2.0.130-next.1 → 2.0.130-next.3
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-service/agent/prompts/build-base-system-prompt.js +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js +30 -0
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +11 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +144 -29
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
- package/dist/ai-service/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +6 -1
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
- package/dist/ai-service/app-skills/helpers.js +17 -18
- package/dist/ai-service/app-skills/helpers.js.map +1 -1
- package/dist/ai-service/chat/chat-push-metrics.d.ts +12 -0
- package/dist/ai-service/chat/chat-push-metrics.d.ts.map +1 -0
- package/dist/ai-service/chat/chat-push-metrics.js +68 -0
- package/dist/ai-service/chat/chat-push-metrics.js.map +1 -0
- package/dist/ai-service/chat/chat-session-store.d.ts +61 -5
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +214 -8
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/chat/transcript-budget.d.ts +108 -0
- package/dist/ai-service/chat/transcript-budget.d.ts.map +1 -0
- package/dist/ai-service/chat/transcript-budget.js +175 -0
- package/dist/ai-service/chat/transcript-budget.js.map +1 -0
- package/dist/ai-service/chat/transcript-metrics.d.ts +16 -0
- package/dist/ai-service/chat/transcript-metrics.d.ts.map +1 -0
- package/dist/ai-service/chat/transcript-metrics.js +128 -0
- package/dist/ai-service/chat/transcript-metrics.js.map +1 -0
- package/dist/ai-service/context-download.d.ts.map +1 -1
- package/dist/ai-service/context-download.js +48 -1
- package/dist/ai-service/context-download.js.map +1 -1
- package/dist/ai-service/context-upload.d.ts.map +1 -1
- package/dist/ai-service/context-upload.js +10 -0
- package/dist/ai-service/context-upload.js.map +1 -1
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +4 -0
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/llm/clark-stream-telemetry-sink.d.ts +4 -0
- package/dist/ai-service/llm/clark-stream-telemetry-sink.d.ts.map +1 -0
- package/dist/ai-service/llm/clark-stream-telemetry-sink.js +105 -0
- package/dist/ai-service/llm/clark-stream-telemetry-sink.js.map +1 -0
- package/dist/ai-service/llm/client.d.ts.map +1 -1
- package/dist/ai-service/llm/client.js +63 -39
- package/dist/ai-service/llm/client.js.map +1 -1
- package/dist/ai-service/llm/context-v2/compaction/client-side.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/compaction/client-side.js +10 -1
- package/dist/ai-service/llm/context-v2/compaction/client-side.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context.d.ts +14 -0
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +94 -3
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/llm/context-v2/storage/event-types.d.ts +10 -1
- package/dist/ai-service/llm/context-v2/storage/event-types.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/storage/event-types.js +7 -1
- package/dist/ai-service/llm/context-v2/storage/event-types.js.map +1 -1
- package/dist/ai-service/llm/stream/config.d.ts +30 -0
- package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/config.js +34 -17
- package/dist/ai-service/llm/stream/config.js.map +1 -1
- package/dist/ai-service/llm/stream/errors.d.ts +10 -1
- package/dist/ai-service/llm/stream/errors.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/errors.js +3 -1
- package/dist/ai-service/llm/stream/errors.js.map +1 -1
- package/dist/ai-service/llm/stream/idle-monitor.d.ts +34 -4
- package/dist/ai-service/llm/stream/idle-monitor.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/idle-monitor.js +90 -6
- package/dist/ai-service/llm/stream/idle-monitor.js.map +1 -1
- package/dist/ai-service/llm/stream/index.d.ts +1 -1
- package/dist/ai-service/llm/stream/index.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/index.js.map +1 -1
- package/dist/ai-service/llm/stream/managed-stream.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/managed-stream.js +11 -0
- package/dist/ai-service/llm/stream/managed-stream.js.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.d.ts +19 -0
- package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +387 -33
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.d.ts +18 -2
- package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.js +76 -3
- package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
- package/dist/ai-service/llm/stream/session.d.ts +6 -0
- package/dist/ai-service/llm/stream/session.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/session.js +28 -0
- package/dist/ai-service/llm/stream/session.js.map +1 -1
- package/dist/ai-service/llm/stream/types.d.ts +1 -0
- package/dist/ai-service/llm/stream/types.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/wait-state-tracker.d.ts +54 -0
- package/dist/ai-service/llm/stream/wait-state-tracker.d.ts.map +1 -0
- package/dist/ai-service/llm/stream/wait-state-tracker.js +105 -0
- package/dist/ai-service/llm/stream/wait-state-tracker.js.map +1 -0
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +13 -7
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +55 -43
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/flush-pending-chat-pushes.d.ts +11 -0
- package/dist/ai-service/state-machine/handlers/flush-pending-chat-pushes.d.ts.map +1 -0
- package/dist/ai-service/state-machine/handlers/flush-pending-chat-pushes.js +11 -0
- package/dist/ai-service/state-machine/handlers/flush-pending-chat-pushes.js.map +1 -0
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +10 -0
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/background-chat-record-metrics.d.ts +8 -0
- package/dist/ai-service/state-machine/helpers/background-chat-record-metrics.d.ts.map +1 -0
- package/dist/ai-service/state-machine/helpers/background-chat-record-metrics.js +52 -0
- package/dist/ai-service/state-machine/helpers/background-chat-record-metrics.js.map +1 -0
- package/dist/ai-service/state-machine/helpers/background-chat-record.d.ts +33 -0
- package/dist/ai-service/state-machine/helpers/background-chat-record.d.ts.map +1 -0
- package/dist/ai-service/state-machine/helpers/background-chat-record.js +61 -0
- package/dist/ai-service/state-machine/helpers/background-chat-record.js.map +1 -0
- package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
- package/dist/ai-service/state-machine/mocks.js +1 -0
- package/dist/ai-service/state-machine/mocks.js.map +1 -1
- package/dist/ai-service/tasks/peer-push.d.ts +7 -4
- package/dist/ai-service/tasks/peer-push.d.ts.map +1 -1
- package/dist/ai-service/tasks/peer-push.js +7 -4
- package/dist/ai-service/tasks/peer-push.js.map +1 -1
- package/dist/migration-templates/app-fullstack/package.json +1 -1
- package/dist/socket-manager.d.ts +2 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +17 -6
- package/dist/socket-manager.js.map +1 -1
- package/dist/util/logger.d.ts +1 -0
- package/dist/util/logger.d.ts.map +1 -1
- package/dist/util/logger.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/orchestrator.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,GAGb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAO/C,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAkB7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,kBAAkB;IACZ,QAAQ,CAAqB;IAC7B,MAAM,CAAe;IACrB,SAAS,CAAmB;IAC5B,MAAM,CAAS;IACf,cAAc,CAAU;IACxB,aAAa,CAAU;IACvB,MAAM,CAA4B;IAEnD,YAAY,OAAkC;QAC5C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,OAA6C;QAE7C,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC;YAChC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe;YACf,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QAEH,MAAM,uBAAuB,GAAG,IAAI,eAAe,EAAE,CAAC;QAEtD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBACjD,uBAAuB,CAAC,KAAK,EAAE,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,gBAAgB,GAAyC;YAC7D,GAAG,OAAO;YACV,WAAW,EAAE,uBAAuB,CAAC,MAAM;SAC5C,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mCAAmC,OAAO,CAAC,EAAE,kBAAkB,eAAe,CAAC,IAAI,UAAU,eAAe,CAAC,KAAK,EAAE,CACrH,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE;YAClD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QAEH,uBAAuB,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC5D,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,gEAAgE;QAChE,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;YAClC,OAAO;YACP,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa;YAC9C,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB;YAC1D,uBAAuB,EAAE,CAAC,OAAO,EAAE,EAAE;gBACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uFAAuF,EACvF;oBACE,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC/B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;oBAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO;oBACP,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB;iBAC3D,CACF,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,sEAAsE;gBACtE,uEAAuE;gBACvE,uEAAuE;gBACvE,MAAM,UAAU,GACd,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB;oBAC3D,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,aAAa,CAAC;gBACpB,MAAM,OAAO,GAAG,wDAAwD,CAAC;gBACzE,wEAAwE;gBACxE,mEAAmE;gBACnE,uEAAuE;gBACvE,kEAAkE;gBAClE,wEAAwE;gBACxE,uEAAuE;gBACvE,uCAAuC;gBACvC,MAAM,UAAU,GAAkB;oBAChC,KAAK,EAAE,cAAc;oBACrB,UAAU,EAAE,OAAO,CAAC,EAAE;oBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC/B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;oBAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,WAAW,EAAE,UAAU;oBACvB,OAAO,EAAE,KAAK,CAAC,UAAU;oBACzB,SAAS,EAAE,KAAK,CAAC,aAAa;oBAC9B,UAAU,EAAE,OAAO,CAAC,YAAY,EAAE;oBAClC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;iBAC5C,CAAC;gBACF,wEAAwE;gBACxE,wDAAwD;gBACxD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC3B,UAAU,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;gBACtD,CAAC;gBACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC1B,UAAU,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;gBACpD,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAC5C,gBAAgB,EAChB,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,iDAAiD;QACjD,WAAW,CAAC,KAAK,EAAE,CAAC;QAEpB,uGAAuG;QACvG,0DAA0D;QAC1D,MAAM,aAAa,GAAG,mBAAmB,CACvC,MAAM,CAAC,UAAU,EACjB,OAAO,EACP,WAAW,CACZ,CAAC;QACF,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAC5C,aAAa,EACb,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,EAC9D,gBAAgB,EAChB,OAAO,EACP,WAAW,EACX,uBAAuB,CACxB,CAAC;QAEF,OAAO;YACL,GAAG,MAAM;YACT,UAAU,EAAE,mBAAmB;YAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;SACH,CAAC;IAC/B,CAAC;IAED;;;;;;;;OAQG;IACK,aAAa,CACnB,aAAyD,EACzD,YAE+C,EAC/C,OAA6C,EAC7C,OAAsB,EACtB,WAAwB,EACxB,eAAgC;QAEhC,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,aAAa,GAAG,aAAa,CAAC;QAElC,KAAK,SAAS,CAAC,CAAC,mBAAmB;YAGjC,OAAO,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;wBACxC,yCAAyC;wBACzC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BAC3B,MAAM,KAAK,CAAC,KAAK,CAAC;wBACpB,CAAC;wBACD,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,OAAO;gBACT,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,WAAW,GAAG,MAAM,WAAW,CACnC,KAAK,EACL,OAAO,EACP,OAAO,EACP,WAAW,CACZ,CAAC;oBAEF,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;wBAC7B,sEAAsE;wBACtE,4FAA4F;wBAC5F,eAAe,CAAC,KAAK,EAAE,CAAC;wBACxB,MAAM,WAAW,CAAC,KAAK,CAAC;oBAC1B,CAAC;oBAED,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAwB;YACzD,KAAK,CAAC,IAAI,CAAC,UAAU;gBACnB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;oBAC3C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,UAAU,CAAC,KAAK,EAAE,CAAC;oBACrB,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,KAAK,CAAC,MAAM;gBACV,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC;SACF,CAAC,CAAC;QACH,OAAO,QAAsD,CAAC;IAChE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,mBAAmB,CAC/B,KAAc,EACd,OAA6C,EAC7C,OAAsB,EACtB,WAAwB;QAKxB,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAC3C,KAAK,EACL,OAAO,EACP,OAAO,CAAC,WAAW,CACpB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,uCAAuC,QAAQ,CAAC,MAAM,EAAE,EACxD,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;YAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAEjC,OAAO;gBACL,WAAW,EAAE,KAAK;gBAClB,KAAK,EAAE,IAAI,CAAC,cAAc,CACxB,KAAK,EACL,QAAQ,CAAC,MAAM,IAAI,SAAS,EAC5B,OAAO,CACR;aACF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CACvB,OAAO,EACP,KAAK,EACL,OAAO,CAAC,OAAO,EACf,QAAQ,CAAC,OAAO,EAChB,OAAO,CACR,CAAC;QAEF,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;YACrC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC;YAExC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sCAAsC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,EAC3I,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;YAEF,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CACvB,UAAU,EACV,WAAW,EACX,QAAQ,CAAC,WAAW,EACpB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAC7B,OAAO,CACR,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,8BAA8B,QAAQ,CAAC,OAAO,eAAe,OAAO,CAAC,OAAO,GAAG,EAC/E,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;QAEF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAExD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAC/C,OAAO,EACP,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,OAA6C,EAC7C,OAAsB,EACtB,WAAwB;QAExB,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAC3C,KAAK,EACL,OAAO,EACP,OAAO,CAAC,WAAW,CACpB,CAAC;gBAEF,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;oBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sDAAsD,QAAQ,CAAC,MAAM,EAAE,EACvE;wBACE,KAAK,EAAE;4BACL,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;4BACrD,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC/D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;yBACxD;qBACF,CACF,CAAC;oBAEF,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;oBAE3D,MAAM,IAAI,CAAC,cAAc,CACvB,KAAK,EACL,QAAQ,CAAC,MAAM,IAAI,SAAS,EAC5B,OAAO,CACR,CAAC;gBACJ,CAAC;gBAED,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CACvB,OAAO,EACP,KAAK,EACL,OAAO,CAAC,OAAO,EACf,QAAQ,CAAC,OAAO,EAChB,OAAO,CACR,CAAC;gBAEF,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;oBACzB,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;oBACrC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC;oBAExC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sCAAsC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,EAC3I,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;oBAEF,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CACvB,UAAU,EACV,WAAW,EACX,QAAQ,CAAC,WAAW,EACpB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAC7B,OAAO,CACR,CAAC;gBACJ,CAAC;gBAED,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAEtC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mCAAmC,QAAQ,CAAC,OAAO,eAAe,OAAO,CAAC,OAAO,GAAG,CACrF,CAAC;gBAEF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED,sDAAsD;IAC9C,cAAc,CACpB,KAAc,EACd,MAAc,EACd,OAAsB;QAEtB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,IAAI,YAAY,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,MAAM,KAAK,cAAc,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YACvD,OAAO,IAAI,qBAAqB,CAC9B,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,YAAY,EAAE,EACtB,KAAK,CACN,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,gBAAgB,CAAC;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;YAC/B,OAAO,EACL,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,uBAAuB,CAAC;gBAC5C,CAAC,CAAC,uBAAuB;YAC7B,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,KAAK;YAClB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAA6C,EAC7C,OAAsB;QAEtB,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,YAAY,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CACxC,OAAO,EACP,OAAO,CAAC,QAAQ,EAChB,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0BAA0B,OAAO,CAAC,OAAO,kBAAkB,OAAO,CAAC,QAAQ,CAAC,IAAI,UAAU,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CACnH,CAAC;QAEF,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC9B,GAAG,eAAe;YAClB,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC1B,MAAM,YAAY,GAAG,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;gBACjE,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CACvB,YAAY,EACZ;oBACE,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,WAAW,EAAE,YAAY,CAAC,WAAW;iBACtC,EACD,OAAO,CACR,CAAC;gBACF,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC3B,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CACvB,aAAa,EACb,IAEI,EACJ,OAAO,CACR,CAAC;gBACF,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YACD,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;gBAC9B,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;gBACjE,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CACvB,eAAe,EACf,WAEI,EACJ,OAAO,CACR,CAAC;gBACF,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CACnB,OAA6C,EAC7C,QAAsB,EACtB,OAAsB;QAEtB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO;YAC9C,CAAC,CAAC;gBACE,GAAG,OAAO;gBACV,eAAe,EAAE;oBACf,GAAG,OAAO,CAAC,eAAe;oBAC1B,OAAO,EAAE;wBACP,GAAG,CAAE,OAAO,CAAC,eAAe,EAAE,OAG5B,IAAI,EAAE,CAAC;wBACT,aAAa,EAAE,QAAQ,CAAC,IAAI;wBAC5B,SAAS,EAAE,QAAQ,CAAC,KAAK;qBAC1B;iBACF;aACF;YACH,CAAC,CAAC,OAAO,CAAC;QAEZ,wEAAwE;QACxE,iEAAiE;QACjE,sEAAsE;QACtE,mEAAmE;QACnE,qEAAqE;QACrE,mEAAmE;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAE3E,OAAO;YACL,GAAG,eAAe;YAClB,OAAO,EAAE;gBACP,GAAG,OAAO,CAAC,OAAO;gBAClB,GAAG,eAAe,CAAC,OAAO;aAC3B;YACD,eAAe,EAAE;gBACf,GAAG,eAAe,CAAC,eAAe;gBAClC,OAAO,EAAE;oBACP,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;oBACvC,eAAe,EAAE,OAAO,CAAC,OAAO,KAAK,OAAO;iBAC7C;aACF;SACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,sBAAsB,CAC5B,OAA6C,EAC7C,QAAsB;QAEtB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,KAAK,GAAG,4BAA4B,CAAC,QAAQ,CAAC,KAAK,EAAE;YACzD,eAAe,EAAE,cAAc,CAAC,OAAO;YACvC,oBAAoB,EAAE,cAAc,CAAC,YAAY;YACjD,mBAAmB,EAAE,cAAc,CAAC,WAAW;SAChD,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;QAC/C,MAAM,iBAAiB,GACpB,QAAQ,CAAC,SAAiD,IAAI,EAAE,CAAC;QACpE,MAAM,eAAe,GAClB,QAAQ,CAAC,OAA+C,IAAI,EAAE,CAAC;QAClE,MAAM,qBAAqB,GACxB,eAAe,CAAC,4BAEH,IAAI,EAAE,CAAC;QAEvB,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,aAAa,EAAE,GAAG,iBAAiB,CAAC;QACzE,MAAM,EACJ,QAAQ,EAAE,EAAE,EACZ,aAAa,EAAE,EAAE,EACjB,cAAc,EAAE,EAAE,EAClB,aAAa,EAAE,EAAE,EACjB,GAAG,iBAAiB,EACrB,GAAG,qBAAqB,CAAC;QAE1B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS;YAC/B,CAAC,CAAC,EAAE,GAAG,aAAa,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE;YAC1C,CAAC,CAAC,aAAa,CAAC;QAElB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;YAC3B,CAAC,CAAC;gBACE,GAAG,eAAe;gBAClB,4BAA4B,EAAE;oBAC5B,GAAG,iBAAiB;oBACpB,GAAG,KAAK,CAAC,OAAO,CAAC,4BAA4B;iBAC9C;aACF;YACH,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC;gBACzC,CAAC,CAAC;oBACE,GAAG,eAAe;oBAClB,4BAA4B,EAAE,iBAAiB;iBAChD;gBACH,CAAC,CAAC,EAAE,GAAG,eAAe,EAAE,4BAA4B,EAAE,EAAE,EAAE,CAAC;QAE/D,OAAO;YACL,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;YACjD,eAAe,EAAE;gBACf,GAAG,QAAQ;gBACX,SAAS,EAAE,SAAuB;gBAClC,OAAO,EAAE,OAAqB;aAC/B;SACF,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,KAAc;QACtC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YAC1D,MAAM,SAAS,GAAI,KAA0B,CAAC,IAAI,CAAC;YACnD,IAAI,SAAS,KAAK,WAAW;gBAAE,OAAO,WAAW,CAAC;QACpD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,EAAU,EAAE,WAAyB;QACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;gBACzB,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAE1C,WAAW,EAAE,gBAAgB,CAC3B,OAAO,EACP,GAAG,EAAE;gBACH,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,OAAO,EAAE,CAAC;YACZ,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { StreamConfig, ProviderType, CoreModelType } from "./config.js";
|
|
2
2
|
import type { StreamSession } from "./session.js";
|
|
3
3
|
import type { ProviderInfo } from "./types.js";
|
|
4
|
+
import type { WaitState } from "./wait-state-tracker.js";
|
|
4
5
|
export interface FallbackAttempt {
|
|
5
6
|
provider: ProviderType;
|
|
6
7
|
model: CoreModelType;
|
|
@@ -9,7 +10,14 @@ export interface RetryDecision {
|
|
|
9
10
|
shouldRetry: boolean;
|
|
10
11
|
delayMs: number;
|
|
11
12
|
newProvider?: ProviderInfo;
|
|
12
|
-
|
|
13
|
+
/**
|
|
14
|
+
* True when this fallback was taken via the stall fast-fallback path (a stall
|
|
15
|
+
* left the provider immediately instead of spending its remaining per-provider
|
|
16
|
+
* attempts). Surfaced so the orchestrator can tag the switch in structured
|
|
17
|
+
* logs, making the fast-fallback path queryable in production.
|
|
18
|
+
*/
|
|
19
|
+
fastFallback?: boolean;
|
|
20
|
+
reason?: "non-retryable" | "max-attempts" | "max-time" | "aborted" | "auth_error" | "not_found" | "rate_limit" | "api_error" | "local-wait";
|
|
13
21
|
}
|
|
14
22
|
/**
|
|
15
23
|
* Engine for making retry and fallback decisions.
|
|
@@ -40,7 +48,7 @@ export declare class RetryEngine {
|
|
|
40
48
|
private fallbackIndex;
|
|
41
49
|
constructor(config: StreamConfig);
|
|
42
50
|
private getMaxAttemptsForProvider;
|
|
43
|
-
getRetryDecision(error: unknown, session: StreamSession, abortSignal?: AbortSignal): RetryDecision;
|
|
51
|
+
getRetryDecision(error: unknown, session: StreamSession, abortSignal?: AbortSignal, currentWaitState?: WaitState): RetryDecision;
|
|
44
52
|
getInitialProvider(): ProviderInfo;
|
|
45
53
|
resetFallback(): void;
|
|
46
54
|
isRetryable(error: unknown): boolean;
|
|
@@ -50,6 +58,14 @@ export declare class RetryEngine {
|
|
|
50
58
|
private isRetryErrorLike;
|
|
51
59
|
private calculateDelay;
|
|
52
60
|
private advanceFallback;
|
|
61
|
+
/**
|
|
62
|
+
* Peek the next fallback-chain entry without advancing. Returns undefined when
|
|
63
|
+
* fallback is disabled or the chain is exhausted. Used to decide whether a
|
|
64
|
+
* stall should leave the current provider (next entry is a different
|
|
65
|
+
* provider) before consuming the chain. See APPS-4775.
|
|
66
|
+
*/
|
|
67
|
+
private peekNextProvider;
|
|
68
|
+
private isStallTimeout;
|
|
53
69
|
/**
|
|
54
70
|
* Build the fallback chain based on initial provider/model and strategy.
|
|
55
71
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-engine.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/retry-engine.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"retry-engine.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/retry-engine.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EACH,eAAe,GACf,cAAc,GACd,UAAU,GACV,SAAS,GACT,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,YAAY,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,aAAa,CAAK;gBAEd,MAAM,EAAE,YAAY;IAKhC,OAAO,CAAC,yBAAyB;IAkBjC,gBAAgB,CACd,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,aAAa,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,gBAAgB,CAAC,EAAE,SAAS,GAC3B,aAAa;IA+HhB,kBAAkB,IAAI,YAAY;IAWlC,aAAa,IAAI,IAAI;IAIrB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAepC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAcvB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,cAAc;IAItB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,kBAAkB;CAyF3B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { APICallError } from "ai";
|
|
2
2
|
import { hasRetryableProperty } from "../error.js";
|
|
3
|
+
import { StallTimeoutError } from "./errors.js";
|
|
3
4
|
/**
|
|
4
5
|
* Engine for making retry and fallback decisions.
|
|
5
6
|
*
|
|
@@ -45,7 +46,7 @@ export class RetryEngine {
|
|
|
45
46
|
}
|
|
46
47
|
return attemptsForProvider[provider.model] ?? 2;
|
|
47
48
|
}
|
|
48
|
-
getRetryDecision(error, session, abortSignal) {
|
|
49
|
+
getRetryDecision(error, session, abortSignal, currentWaitState) {
|
|
49
50
|
if (abortSignal?.aborted) {
|
|
50
51
|
return { shouldRetry: false, delayMs: 0, reason: "aborted" };
|
|
51
52
|
}
|
|
@@ -75,6 +76,57 @@ export class RetryEngine {
|
|
|
75
76
|
if (session.attempt >= maxAttempts) {
|
|
76
77
|
return { shouldRetry: false, delayMs: 0, reason: "max-attempts" };
|
|
77
78
|
}
|
|
79
|
+
// A stall means the current provider/model path went silent. Retrying the
|
|
80
|
+
// SAME provider just burns another idle budget re-stalling — the dominant
|
|
81
|
+
// Snowflake-Cortex first-chunk signature. So when the next fallback entry is
|
|
82
|
+
// a DIFFERENT provider, leave the stalling one immediately on the first
|
|
83
|
+
// stall (same model, different provider) instead of spending the
|
|
84
|
+
// per-provider attempt budget re-running the silent path. Still bounded by
|
|
85
|
+
// the maxAttempts cap above, and only triggers when an actually-different
|
|
86
|
+
// provider is available, so model-first chains keep their existing
|
|
87
|
+
// semantics. This fires for BOTH stall budget kinds — "first-chunk" (the
|
|
88
|
+
// dominant Snowflake-Cortex signature: never sent content) and "inter-chunk"
|
|
89
|
+
// (content flowed then stopped) — because either way the provider path is
|
|
90
|
+
// stuck and the same recovery applies.
|
|
91
|
+
if (this.isStallTimeout(error)) {
|
|
92
|
+
// A stall that surfaces while we're blocked on local work — a running
|
|
93
|
+
// tool or a gap between steps — must NOT switch provider or model. A
|
|
94
|
+
// different provider can't make a local tool finish faster, so switching
|
|
95
|
+
// just wastes attempts on a problem that isn't the provider's. Retry the
|
|
96
|
+
// same provider instead. The idle monitor normally suppresses these
|
|
97
|
+
// before they get here; this catches the rare one that slips through. The
|
|
98
|
+
// maxAttempts cap checked above still applies, so it can't loop forever.
|
|
99
|
+
// See APPS-4605.
|
|
100
|
+
if (currentWaitState?.state === "tool" ||
|
|
101
|
+
currentWaitState?.state === "step-boundary") {
|
|
102
|
+
// Flat delay, not exponential backoff: this is a narrow race recovery,
|
|
103
|
+
// not provider overload. The problem is a local tool still running, so
|
|
104
|
+
// waiting longer before re-reading the same provider buys nothing — it
|
|
105
|
+
// just adds dead stream downtime. See APPS-4605.
|
|
106
|
+
return {
|
|
107
|
+
shouldRetry: true,
|
|
108
|
+
delayMs: this.config.retry.initialDelayMs,
|
|
109
|
+
reason: "local-wait",
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
const next = this.peekNextProvider();
|
|
113
|
+
if (next && next.name !== session.provider.name) {
|
|
114
|
+
const newProvider = this.advanceFallback(error);
|
|
115
|
+
if (newProvider) {
|
|
116
|
+
session.resetProviderAttempts();
|
|
117
|
+
// Delay uses the global attempt count (not the per-provider counter
|
|
118
|
+
// reset above) so backoff pressure grows monotonically across the
|
|
119
|
+
// session even when providers are skipped early.
|
|
120
|
+
const delayMs = this.calculateDelay(session.attempt);
|
|
121
|
+
return {
|
|
122
|
+
shouldRetry: true,
|
|
123
|
+
delayMs,
|
|
124
|
+
newProvider,
|
|
125
|
+
fastFallback: true,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
78
130
|
// Exhausted attempts for the current provider? Advance the fallback chain.
|
|
79
131
|
// This is checked BEFORE the max-time guard on purpose (APPS-4641): a fresh,
|
|
80
132
|
// untried provider is exactly the recovery we want, so an available fallback
|
|
@@ -94,9 +146,11 @@ export class RetryEngine {
|
|
|
94
146
|
// No fallback to advance to — only a same-provider retry remains. Enforce
|
|
95
147
|
// the content-based budget here so we don't burn another stall on a stuck
|
|
96
148
|
// provider. Measured from the last CONTENT chunk, not keep-alives, so
|
|
97
|
-
// server-side heartbeats can't extend the budget (APPS-4641).
|
|
149
|
+
// server-side heartbeats can't extend the budget (APPS-4641). The budget is
|
|
150
|
+
// resolved against the CURRENT model so a downgraded model is bounded by its
|
|
151
|
+
// own max-time, not the initial model's (APPS-4775).
|
|
98
152
|
const timeSinceContent = session.getTimeSinceLastContent();
|
|
99
|
-
const { maxTotalTimeMs } = this.config.retry;
|
|
153
|
+
const { maxTotalTimeMs } = this.config.retry.budgetForModel(session.provider.model);
|
|
100
154
|
if (timeSinceContent >= maxTotalTimeMs) {
|
|
101
155
|
return { shouldRetry: false, delayMs: 0, reason: "max-time" };
|
|
102
156
|
}
|
|
@@ -155,6 +209,25 @@ export class RetryEngine {
|
|
|
155
209
|
const next = this.fallbackChain[this.fallbackIndex];
|
|
156
210
|
return { name: next.provider, model: next.model };
|
|
157
211
|
}
|
|
212
|
+
/**
|
|
213
|
+
* Peek the next fallback-chain entry without advancing. Returns undefined when
|
|
214
|
+
* fallback is disabled or the chain is exhausted. Used to decide whether a
|
|
215
|
+
* stall should leave the current provider (next entry is a different
|
|
216
|
+
* provider) before consuming the chain. See APPS-4775.
|
|
217
|
+
*/
|
|
218
|
+
peekNextProvider() {
|
|
219
|
+
if (!this.config.fallback.enabled || this.fallbackChain.length === 0) {
|
|
220
|
+
return undefined;
|
|
221
|
+
}
|
|
222
|
+
if (this.fallbackIndex >= this.fallbackChain.length - 1) {
|
|
223
|
+
return undefined;
|
|
224
|
+
}
|
|
225
|
+
const next = this.fallbackChain[this.fallbackIndex + 1];
|
|
226
|
+
return { name: next.provider, model: next.model };
|
|
227
|
+
}
|
|
228
|
+
isStallTimeout(error) {
|
|
229
|
+
return error instanceof StallTimeoutError;
|
|
230
|
+
}
|
|
158
231
|
/**
|
|
159
232
|
* Build the fallback chain based on initial provider/model and strategy.
|
|
160
233
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-engine.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/retry-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"retry-engine.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/retry-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,8 @@ export declare class StreamSession {
|
|
|
50
50
|
outcome: SessionOutcome;
|
|
51
51
|
private lastActivityTime;
|
|
52
52
|
private lastContentTime;
|
|
53
|
+
private lastPullTime;
|
|
54
|
+
private awaitingUpstream;
|
|
53
55
|
constructor(options: StreamSessionOptions);
|
|
54
56
|
/**
|
|
55
57
|
* Finalize the session with an outcome.
|
|
@@ -71,6 +73,10 @@ export declare class StreamSession {
|
|
|
71
73
|
getTimeSinceLastActivity(): number;
|
|
72
74
|
getTimeSinceLastContent(): number;
|
|
73
75
|
resetActivityTimer(): void;
|
|
76
|
+
recordPull(): void;
|
|
77
|
+
getTimeSinceLastPull(): number | undefined;
|
|
78
|
+
setAwaitingUpstream(awaiting: boolean): void;
|
|
79
|
+
isAwaitingUpstream(): boolean;
|
|
74
80
|
recordContentProgress(): void;
|
|
75
81
|
}
|
|
76
82
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,eAAe,EAAE,YAAY,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MACZ,IAAI,CACF,YAAY,EAEV,cAAc,GACd,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,YAAY,GACZ,cAAc,GACd,gBAAgB,CACnB,GACD,SAAS,CAAC;CACf;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,MACrB,IAAI,CACF,YAAY,EAEV,cAAc,GACd,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,YAAY,GACZ,cAAc,GACd,gBAAgB,CACnB,GACD,SAAS,CAAC;IAEd,OAAO,SAAK;IACZ,eAAe,SAAK;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,aAAa,CAOpB;IACF,KAAK,EAAE,OAAO,CAAQ;IACtB,OAAO,EAAE,cAAc,CAAa;IAKpC,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,eAAe,CAAS;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,eAAe,EAAE,YAAY,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MACZ,IAAI,CACF,YAAY,EAEV,cAAc,GACd,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,YAAY,GACZ,cAAc,GACd,gBAAgB,CACnB,GACD,SAAS,CAAC;CACf;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,MACrB,IAAI,CACF,YAAY,EAEV,cAAc,GACd,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,YAAY,GACZ,cAAc,GACd,gBAAgB,CACnB,GACD,SAAS,CAAC;IAEd,OAAO,SAAK;IACZ,eAAe,SAAK;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,aAAa,CAOpB;IACF,KAAK,EAAE,OAAO,CAAQ;IACtB,OAAO,EAAE,cAAc,CAAa;IAKpC,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,eAAe,CAAS;IAGhC,OAAO,CAAC,YAAY,CAAqB;IAOzC,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,oBAAoB;IAezC;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAsB5E,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQlC,aAAa,IAAI,IAAI;IAKrB,qBAAqB,IAAI,IAAI;IAI7B,WAAW,IAAI,IAAI;IASnB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC,SAAS,IAAI,OAAO;IAIpB,YAAY,IAAI,MAAM;IAQtB,wBAAwB,IAAI,MAAM;IAOlC,uBAAuB,IAAI,MAAM;IAIjC,kBAAkB,IAAI,IAAI;IAI1B,UAAU,IAAI,IAAI;IAIlB,oBAAoB,IAAI,MAAM,GAAG,SAAS;IAS1C,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI5C,kBAAkB,IAAI,OAAO;IAQ7B,qBAAqB,IAAI,IAAI;CAI9B"}
|
|
@@ -27,11 +27,22 @@ export class StreamSession {
|
|
|
27
27
|
lastActivityTime;
|
|
28
28
|
// tracks when we last received a content chunk (NOT reset by keep-alives or retries).
|
|
29
29
|
lastContentTime;
|
|
30
|
+
// tracks when the downstream consumer last pulled from the managed stream.
|
|
31
|
+
// Emitted as ms_since_last_pull on stall logs for triage (APPS-4729).
|
|
32
|
+
lastPullTime;
|
|
33
|
+
// true while the managed stream is suspended in `await iterator.next()`,
|
|
34
|
+
// false once control returns to the downstream consumer. Discriminates a
|
|
35
|
+
// "network dark" stall (timer fires while we're blocked on upstream) from a
|
|
36
|
+
// "consumer blocked" stall (timer fires while the consumer holds the stream
|
|
37
|
+
// and isn't pulling, e.g. awaiting a downstream RPC). A boolean, not a timing
|
|
38
|
+
// comparison, so it doesn't degrade near the idle-budget boundary (APPS-4729).
|
|
39
|
+
awaitingUpstream = false;
|
|
30
40
|
constructor(options) {
|
|
31
41
|
this.id = crypto.randomUUID();
|
|
32
42
|
this.startTime = Date.now();
|
|
33
43
|
this.lastActivityTime = this.startTime;
|
|
34
44
|
this.lastContentTime = this.startTime;
|
|
45
|
+
this.lastPullTime = undefined;
|
|
35
46
|
this.config = options.config;
|
|
36
47
|
this.provider = options.initialProvider;
|
|
37
48
|
this.organizationId = options.organizationId;
|
|
@@ -115,6 +126,23 @@ export class StreamSession {
|
|
|
115
126
|
resetActivityTimer() {
|
|
116
127
|
this.lastActivityTime = Date.now();
|
|
117
128
|
}
|
|
129
|
+
recordPull() {
|
|
130
|
+
this.lastPullTime = Date.now();
|
|
131
|
+
}
|
|
132
|
+
getTimeSinceLastPull() {
|
|
133
|
+
return this.lastPullTime === undefined
|
|
134
|
+
? undefined
|
|
135
|
+
: Date.now() - this.lastPullTime;
|
|
136
|
+
}
|
|
137
|
+
// Should only be called by createManagedStream's pull loop, symmetrically
|
|
138
|
+
// around its `await raceWithStallDetection(iterator.next(), ...)`. Setting it
|
|
139
|
+
// from anywhere else corrupts stall_reason classification for a live stream.
|
|
140
|
+
setAwaitingUpstream(awaiting) {
|
|
141
|
+
this.awaitingUpstream = awaiting;
|
|
142
|
+
}
|
|
143
|
+
isAwaitingUpstream() {
|
|
144
|
+
return this.awaitingUpstream;
|
|
145
|
+
}
|
|
118
146
|
// Advances both the liveness clock and the retry-budget content clock without
|
|
119
147
|
// touching content metrics (chunkCount / timeToFirstTokenMs). For upstream
|
|
120
148
|
// chunks that are real model output — proof of progress — but are filtered
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/session.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA+ChD,MAAM,OAAO,aAAa;IACf,EAAE,CAAS;IACX,SAAS,CAAS;IAClB,MAAM,CAAiB;IACvB,MAAM,CAAe;IACrB,cAAc,CAAU;IACxB,aAAa,CAAU;IACvB,MAAM,CAA4B;IAClC,aAAa,CAYR;IAEd,OAAO,GAAG,CAAC,CAAC;IACZ,eAAe,GAAG,CAAC,CAAC;IACpB,QAAQ,CAAe;IACvB,OAAO,GAAkB;QACvB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,CAAC;QACb,iBAAiB,EAAE,CAAC;QACpB,UAAU,EAAE,CAAC;QACb,kBAAkB,EAAE,SAAS;KAC9B,CAAC;IACF,KAAK,GAAY,IAAI,CAAC;IACtB,OAAO,GAAmB,SAAS,CAAC;IAEpC,6EAA6E;IAC7E,4EAA4E;IAC5E,iFAAiF;IACzE,gBAAgB,CAAS;IACjC,sFAAsF;IAC9E,eAAe,CAAS;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AAO1E,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { StreamSession } from "./session.js";
|
|
2
|
+
/**
|
|
3
|
+
* What the agent is waiting on right now, worked out from the stream events.
|
|
4
|
+
*
|
|
5
|
+
* - `provider`: waiting on the AI model to send the next bytes, with no tool
|
|
6
|
+
* running. This is plain model silence.
|
|
7
|
+
* - `tool`: the model asked to run a tool and we're still running it locally;
|
|
8
|
+
* the result hasn't come back yet. A hang here is our slow tool, not the
|
|
9
|
+
* model going silent.
|
|
10
|
+
* - `step-boundary`: one step finished and the next hasn't started yet, so
|
|
11
|
+
* we're in the gap between steps.
|
|
12
|
+
*/
|
|
13
|
+
export type WaitState = {
|
|
14
|
+
state: "provider";
|
|
15
|
+
} | {
|
|
16
|
+
state: "step-boundary";
|
|
17
|
+
} | {
|
|
18
|
+
state: "tool";
|
|
19
|
+
toolName: string;
|
|
20
|
+
toolCallId: string;
|
|
21
|
+
pendingToolCount: number;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Watches a stream's events so that, when the stall timer fires, we can say
|
|
25
|
+
* what the agent was actually stuck on.
|
|
26
|
+
*
|
|
27
|
+
* The stall timer only knows that nothing arrived for too long; it can't tell
|
|
28
|
+
* the model going silent apart from a slow local tool or a gap between steps.
|
|
29
|
+
* This tracker listens to the same events the timer resets on (tool calls and
|
|
30
|
+
* results in the stream, plus step start/finish) and reports the current wait
|
|
31
|
+
* state plus how many keep-alive pings arrived during the silence.
|
|
32
|
+
*
|
|
33
|
+
* Logs no customer data: it only reads the event type, the tool name, and the
|
|
34
|
+
* tool call id.
|
|
35
|
+
*/
|
|
36
|
+
export declare class WaitStateTracker {
|
|
37
|
+
private readonly pendingTools;
|
|
38
|
+
private betweenSteps;
|
|
39
|
+
private rawResetCount;
|
|
40
|
+
constructor(session: StreamSession);
|
|
41
|
+
getWaitState(): WaitState;
|
|
42
|
+
/**
|
|
43
|
+
* How many keep-alive pings arrived during the current stretch of silence
|
|
44
|
+
* (since the last real progress: content, a tool event, a step start, or a
|
|
45
|
+
* retry). Reset on each of those, so a stall reports only the pings from the
|
|
46
|
+
* silence that caused it, not every ping in the whole run.
|
|
47
|
+
*/
|
|
48
|
+
getRawResetCount(): number;
|
|
49
|
+
private handleChunk;
|
|
50
|
+
private handleStepStart;
|
|
51
|
+
private handleStepFinish;
|
|
52
|
+
private handleRetry;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=wait-state-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-state-tracker.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/wait-state-tracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,GACrB;IAAE,KAAK,EAAE,eAAe,CAAA;CAAE,GAC1B;IACE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAuBN;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAK;gBAEd,OAAO,EAAE,aAAa;IAOlC,YAAY,IAAI,SAAS;IAqBzB;;;;;OAKG;IACH,gBAAgB,IAAI,MAAM;IAI1B,OAAO,CAAC,WAAW,CA0BjB;IAEF,OAAO,CAAC,eAAe,CAGrB;IAEF,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,WAAW,CAMjB;CACH"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
function asToolCall(chunk) {
|
|
2
|
+
// Checking the type narrows it to a tool-call, so toolCallId/toolName are
|
|
3
|
+
// already typed strings here — no cast needed.
|
|
4
|
+
if (chunk.type !== "tool-call") {
|
|
5
|
+
return undefined;
|
|
6
|
+
}
|
|
7
|
+
return { toolCallId: chunk.toolCallId, toolName: chunk.toolName };
|
|
8
|
+
}
|
|
9
|
+
function asToolResultId(chunk) {
|
|
10
|
+
if (chunk.type !== "tool-result") {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
return chunk.toolCallId;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Watches a stream's events so that, when the stall timer fires, we can say
|
|
17
|
+
* what the agent was actually stuck on.
|
|
18
|
+
*
|
|
19
|
+
* The stall timer only knows that nothing arrived for too long; it can't tell
|
|
20
|
+
* the model going silent apart from a slow local tool or a gap between steps.
|
|
21
|
+
* This tracker listens to the same events the timer resets on (tool calls and
|
|
22
|
+
* results in the stream, plus step start/finish) and reports the current wait
|
|
23
|
+
* state plus how many keep-alive pings arrived during the silence.
|
|
24
|
+
*
|
|
25
|
+
* Logs no customer data: it only reads the event type, the tool name, and the
|
|
26
|
+
* tool call id.
|
|
27
|
+
*/
|
|
28
|
+
export class WaitStateTracker {
|
|
29
|
+
pendingTools = new Map();
|
|
30
|
+
betweenSteps = false;
|
|
31
|
+
rawResetCount = 0;
|
|
32
|
+
constructor(session) {
|
|
33
|
+
session.events.on("chunk", this.handleChunk);
|
|
34
|
+
session.events.on("step:start", this.handleStepStart);
|
|
35
|
+
session.events.on("step:finish", this.handleStepFinish);
|
|
36
|
+
session.events.on("retry", this.handleRetry);
|
|
37
|
+
}
|
|
38
|
+
getWaitState() {
|
|
39
|
+
if (this.pendingTools.size > 0) {
|
|
40
|
+
// Usually only one tool runs at a time, so the last one started is the
|
|
41
|
+
// one running now. A Map keeps insertion order, so the last entry is it.
|
|
42
|
+
let latest;
|
|
43
|
+
for (const tool of this.pendingTools.values()) {
|
|
44
|
+
latest = tool;
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
state: "tool",
|
|
48
|
+
toolName: latest.toolName,
|
|
49
|
+
toolCallId: latest.toolCallId,
|
|
50
|
+
pendingToolCount: this.pendingTools.size,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
if (this.betweenSteps) {
|
|
54
|
+
return { state: "step-boundary" };
|
|
55
|
+
}
|
|
56
|
+
return { state: "provider" };
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* How many keep-alive pings arrived during the current stretch of silence
|
|
60
|
+
* (since the last real progress: content, a tool event, a step start, or a
|
|
61
|
+
* retry). Reset on each of those, so a stall reports only the pings from the
|
|
62
|
+
* silence that caused it, not every ping in the whole run.
|
|
63
|
+
*/
|
|
64
|
+
getRawResetCount() {
|
|
65
|
+
return this.rawResetCount;
|
|
66
|
+
}
|
|
67
|
+
handleChunk = (chunk) => {
|
|
68
|
+
if (chunk.type === "raw") {
|
|
69
|
+
this.rawResetCount += 1;
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
// Anything that isn't a keep-alive is real progress, so a new stretch of
|
|
73
|
+
// silence starts and the ping count restarts. Without this, pings from an
|
|
74
|
+
// earlier silence would inflate the count at a later, unrelated stall.
|
|
75
|
+
this.rawResetCount = 0;
|
|
76
|
+
const toolCall = asToolCall(chunk);
|
|
77
|
+
if (toolCall) {
|
|
78
|
+
this.pendingTools.set(toolCall.toolCallId, toolCall);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const toolResultId = asToolResultId(chunk);
|
|
82
|
+
if (toolResultId) {
|
|
83
|
+
this.pendingTools.delete(toolResultId);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
// Real model output means it's producing again, so we're no longer sitting
|
|
87
|
+
// in the gap between steps.
|
|
88
|
+
this.betweenSteps = false;
|
|
89
|
+
};
|
|
90
|
+
handleStepStart = () => {
|
|
91
|
+
this.rawResetCount = 0;
|
|
92
|
+
this.betweenSteps = false;
|
|
93
|
+
};
|
|
94
|
+
handleStepFinish = () => {
|
|
95
|
+
this.betweenSteps = true;
|
|
96
|
+
};
|
|
97
|
+
handleRetry = () => {
|
|
98
|
+
// A retry starts over from scratch: drop any tool the failed attempt had
|
|
99
|
+
// running, reset the ping count, and go back to waiting on the model.
|
|
100
|
+
this.rawResetCount = 0;
|
|
101
|
+
this.pendingTools.clear();
|
|
102
|
+
this.betweenSteps = false;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=wait-state-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-state-tracker.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/wait-state-tracker.ts"],"names":[],"mappings":"AA6BA,SAAS,UAAU,CAAC,KAAkB;IACpC,0EAA0E;IAC1E,+CAA+C;IAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,cAAc,CAAC,KAAkB;IACxC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,UAAU,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,gBAAgB;IACV,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IACvD,YAAY,GAAG,KAAK,CAAC;IACrB,aAAa,GAAG,CAAC,CAAC;IAE1B,YAAY,OAAsB;QAChC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACtD,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxD,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC/B,uEAAuE;YACvE,yEAAyE;YACzE,IAAI,MAA+B,CAAC;YACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,MAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,MAAO,CAAC,UAAU;gBAC9B,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;aACzC,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEO,WAAW,GAAG,CAAC,KAAkB,EAAQ,EAAE;QACjD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QAEvB,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,2EAA2E;QAC3E,4BAA4B;QAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC,CAAC;IAEM,eAAe,GAAG,GAAS,EAAE;QACnC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC,CAAC;IAEM,gBAAgB,GAAG,GAAS,EAAE;QACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC;IAEM,WAAW,GAAG,GAAS,EAAE;QAC/B,yEAAyE;QACzE,sEAAsE;QACtE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC,CAAC;CACH"}
|