@straiffi/archon 1.11.5 → 1.11.7
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/README.md +8 -0
- package/dist/client/assets/{ActivityView-Dw7Bl18C.js → ActivityView-gwq90xuC.js} +1 -1
- package/dist/client/assets/{GitHubActionsDialog-9w5XtP5x.js → GitHubActionsDialog-CddU5mmQ.js} +1 -1
- package/dist/client/assets/{VerificationDialog-dOSv05QS.js → VerificationDialog-DZXmgf-Q.js} +1 -1
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-BU-dnVWz.js → architectureDiagram-3BPJPVTR-B7h4gUId.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-D1fhZ9K3.js → blockDiagram-GPEHLZMM-CKcqgkiW.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-C5cs67FJ.js → c4Diagram-AAUBKEIU-b0N8QAOw.js} +1 -1
- package/dist/client/assets/channel-DFqGOc-J.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-BuofkrUv.js → chunk-2J33WTMH-DuMyezuW.js} +1 -1
- package/dist/client/assets/{chunk-3OPIFGDE-BSLbHStu.js → chunk-3OPIFGDE-Dgtz4ReD.js} +1 -1
- package/dist/client/assets/{chunk-5ZQYHXKU-CV_reqn5.js → chunk-5ZQYHXKU-By3w6rbd.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-DuL4OL6p.js → chunk-727SXJPM-BHTPfHY2.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-B7ebIXsD.js → chunk-AQP2D5EJ-W2Rgle6H.js} +1 -1
- package/dist/client/assets/{chunk-CSCIHK7Q-CfvfKS81.js → chunk-CSCIHK7Q-C0zW-M44.js} +1 -1
- package/dist/client/assets/{chunk-KSCS5N6A-B8yAPh8_.js → chunk-KSCS5N6A-NLszOClX.js} +1 -1
- package/dist/client/assets/{chunk-L5ZTLDWV-CLAA9PrV.js → chunk-L5ZTLDWV-Djdu-TFq.js} +1 -1
- package/dist/client/assets/{chunk-LZXEDZCA-BWDUNHyY.js → chunk-LZXEDZCA-BBMjUaM6.js} +2 -2
- package/dist/client/assets/{chunk-ND2GUHAM-DDtkY0aA.js → chunk-ND2GUHAM-BMGxL6oq.js} +1 -1
- package/dist/client/assets/{chunk-NZK2D7GU-Cqw_WclD.js → chunk-NZK2D7GU-BmBtYVzv.js} +1 -1
- package/dist/client/assets/{chunk-O5CBEL6O-yk76d2Ne.js → chunk-O5CBEL6O-fNzTMe1t.js} +1 -1
- package/dist/client/assets/{chunk-WU5MYG2G-C9RL4ic0.js → chunk-WU5MYG2G-DtWDtH9D.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-zJrDS8pp.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Bk6pmr_F.js +1 -0
- package/dist/client/assets/{dagre-BM42HDAG-D1R8Uoz3.js → dagre-BM42HDAG-zpl4bunJ.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-CUwS3hk7.js → diagram-2AECGRRQ-XiIQ6yDZ.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-BQGwWZ5M.js → diagram-5GNKFQAL-EwX79EhM.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-C7ErzACC.js → diagram-KO2AKTUF-pTTl20VK.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-z4blMZQD.js → diagram-LMA3HP47-CAADMP3T.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-DTdMXNXF.js → diagram-OG6HWLK6-DSw-z9AU.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-Dzq40m7g.js → erDiagram-TEJ5UH35-CYVpzKnx.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-DZee4-lQ.js → flowDiagram-I6XJVG4X-YfUgs6Y9.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-BrvahLDI.js → ganttDiagram-6RSMTGT7-CBZcM6fa.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-DFl7NFyp.js → gitGraphDiagram-PVQCEYII-B-cnyCdP.js} +1 -1
- package/dist/client/assets/index-CbYT3N3U.css +2 -0
- package/dist/client/assets/index-DXJSLf4W.js +287 -0
- package/dist/client/assets/{infoDiagram-5YYISTIA-DcbIRnzw.js → infoDiagram-5YYISTIA-hg-hixwz.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CCLSDPWU.js → ishikawaDiagram-YF4QCWOH-CP30YmvW.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-DBybnxZb.js → journeyDiagram-JHISSGLW-MPwOtkOb.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-0vXnDc2p.js → kanban-definition-UN3LZRKU-dzx8hATQ.js} +1 -1
- package/dist/client/assets/{line-CmuG_mnn.js → line-C2wfs9Qd.js} +1 -1
- package/dist/client/assets/{mermaid-parser.core-2bcA4BZv.js → mermaid-parser.core-j3pT6MDr.js} +1 -1
- package/dist/client/assets/{mermaid.core-BtCKaSS-.js → mermaid.core-BwkWqkNy.js} +3 -3
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-BS3GYH1w.js → mindmap-definition-RKZ34NQL-CZ3iES81.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-DnSf3dLi.js → pieDiagram-4H26LBE5-DCY6gx4q.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-CvU26PT6.js → quadrantDiagram-W4KKPZXB-Bs-SuHD0.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-9BKyfU_D.js → requirementDiagram-4Y6WPE33-DaHZPYWb.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-9EYmPhr5.js → sankeyDiagram-5OEKKPKP-CAABGeQw.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BcBk_wZZ.js → sequenceDiagram-3UESZ5HK-BiFFDmHd.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-2m55Kpig.js → stateDiagram-AJRCARHV-DKXUKIex.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DyEfP-lL.js +1 -0
- package/dist/client/assets/{timeline-definition-PNZ67QCA-J3NEOuRz.js → timeline-definition-PNZ67QCA-CNWuUe9M.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-D_3D_Pp4.js → vennDiagram-CIIHVFJN-Melay8l5.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-Wln2PbKU.js → wardleyDiagram-YWT4CUSO-pWa26XVf.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-DfvF03Zn.js → xychartDiagram-2RQKCTM6-BaAwLxVv.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/db.js +71 -4
- package/dist/server/db.js.map +1 -1
- package/dist/server/index.js +29 -5
- package/dist/server/index.js.map +1 -1
- package/dist/server/lib/agent.js +277 -299
- package/dist/server/lib/agent.js.map +1 -1
- package/dist/server/lib/agentOutputLanguage.js +11 -0
- package/dist/server/lib/agentOutputLanguage.js.map +1 -0
- package/dist/server/lib/agentProvider.js.map +1 -1
- package/dist/server/lib/agentRuns.js +68 -4
- package/dist/server/lib/agentRuns.js.map +1 -1
- package/dist/server/lib/appLocale.js +19 -0
- package/dist/server/lib/appLocale.js.map +1 -0
- package/dist/server/lib/buildExecutionEnvironment.js +92 -1
- package/dist/server/lib/buildExecutionEnvironment.js.map +1 -1
- package/dist/server/lib/chatDraftTargets.js +81 -0
- package/dist/server/lib/chatDraftTargets.js.map +1 -0
- package/dist/server/lib/chatOperations.js +26 -3
- package/dist/server/lib/chatOperations.js.map +1 -1
- package/dist/server/lib/chatTargets.js +57 -2
- package/dist/server/lib/chatTargets.js.map +1 -1
- package/dist/server/lib/chats.js +10 -6
- package/dist/server/lib/chats.js.map +1 -1
- package/dist/server/lib/conversationResume.js +56 -3
- package/dist/server/lib/conversationResume.js.map +1 -1
- package/dist/server/lib/dockerSandboxOpencodeSessionOperations.js +81 -25
- package/dist/server/lib/dockerSandboxOpencodeSessionOperations.js.map +1 -1
- package/dist/server/lib/dockerSandboxReleaseProfiles.js +36 -7
- package/dist/server/lib/dockerSandboxReleaseProfiles.js.map +1 -1
- package/dist/server/lib/executionEnvironmentRoutes.js +71 -4
- package/dist/server/lib/executionEnvironmentRoutes.js.map +1 -1
- package/dist/server/lib/executionEnvironmentValidation.js +199 -19
- package/dist/server/lib/executionEnvironmentValidation.js.map +1 -1
- package/dist/server/lib/executionEnvironmentValidationEvidence.js +140 -0
- package/dist/server/lib/executionEnvironmentValidationEvidence.js.map +1 -0
- package/dist/server/lib/executionEnvironmentValidationOperations.js +13 -0
- package/dist/server/lib/executionEnvironmentValidationOperations.js.map +1 -1
- package/dist/server/lib/executionRetry.js.map +1 -1
- package/dist/server/lib/executionRetryContext.js +55 -11
- package/dist/server/lib/executionRetryContext.js.map +1 -1
- package/dist/server/lib/executionTargets.js +5 -2
- package/dist/server/lib/executionTargets.js.map +1 -1
- package/dist/server/lib/hostExecutionEnvironment.js +14 -2
- package/dist/server/lib/hostExecutionEnvironment.js.map +1 -1
- package/dist/server/lib/i18n/index.js +3 -2
- package/dist/server/lib/i18n/index.js.map +1 -1
- package/dist/server/lib/i18n/resources.js +0 -1
- package/dist/server/lib/i18n/resources.js.map +1 -1
- package/dist/server/lib/lightweightPrompt.js +4 -0
- package/dist/server/lib/lightweightPrompt.js.map +1 -1
- package/dist/server/lib/models.js +58 -18
- package/dist/server/lib/models.js.map +1 -1
- package/dist/server/lib/opencodeAgentProvider.js +54 -48
- package/dist/server/lib/opencodeAgentProvider.js.map +1 -1
- package/dist/server/lib/opencodeCli.js +244 -0
- package/dist/server/lib/opencodeCli.js.map +1 -0
- package/dist/server/lib/opencodePromptOutput.js +11 -65
- package/dist/server/lib/opencodePromptOutput.js.map +1 -1
- package/dist/server/lib/opencodeSessionOperations.js +44 -28
- package/dist/server/lib/opencodeSessionOperations.js.map +1 -1
- package/dist/server/lib/opencodeSessionProvenance.js +23 -0
- package/dist/server/lib/opencodeSessionProvenance.js.map +1 -0
- package/dist/server/lib/opencodeStream.js +263 -0
- package/dist/server/lib/opencodeStream.js.map +1 -0
- package/dist/server/lib/opencodeTaskSessions.js +3 -4
- package/dist/server/lib/opencodeTaskSessions.js.map +1 -1
- package/dist/server/lib/opencodeV2SessionOperations.js +453 -0
- package/dist/server/lib/opencodeV2SessionOperations.js.map +1 -0
- package/dist/server/lib/postBuildChecks.js +1 -1
- package/dist/server/lib/postBuildChecks.js.map +1 -1
- package/dist/server/lib/run.js +32 -41
- package/dist/server/lib/run.js.map +1 -1
- package/dist/server/lib/runProcessIdentity.js +10 -2
- package/dist/server/lib/runProcessIdentity.js.map +1 -1
- package/dist/server/lib/runProcesses.js +52 -19
- package/dist/server/lib/runProcesses.js.map +1 -1
- package/dist/server/lib/runServiceStop.js +62 -0
- package/dist/server/lib/runServiceStop.js.map +1 -0
- package/dist/server/lib/runServices.js +63 -4
- package/dist/server/lib/runServices.js.map +1 -1
- package/dist/server/lib/runSessionLifecycle.js +25 -0
- package/dist/server/lib/runSessionLifecycle.js.map +1 -1
- package/dist/server/lib/runtimePaths.js +7 -4
- package/dist/server/lib/runtimePaths.js.map +1 -1
- package/dist/server/lib/serviceRunLogs.js +180 -0
- package/dist/server/lib/serviceRunLogs.js.map +1 -0
- package/dist/server/lib/sessionTargets.js +35 -2
- package/dist/server/lib/sessionTargets.js.map +1 -1
- package/dist/server/lib/specOperations.js +7 -2
- package/dist/server/lib/specOperations.js.map +1 -1
- package/dist/server/lib/specReviewContext.js +3 -2
- package/dist/server/lib/specReviewContext.js.map +1 -1
- package/dist/server/lib/toolUpgrade.js +54 -5
- package/dist/server/lib/toolUpgrade.js.map +1 -1
- package/dist/server/lib/types.js.map +1 -1
- package/dist/server/workers/build.js +47 -9
- package/dist/server/workers/build.js.map +1 -1
- package/dist/server/workers/chat.js +89 -21
- package/dist/server/workers/chat.js.map +1 -1
- package/dist/server/workers/followUp.js +59 -22
- package/dist/server/workers/followUp.js.map +1 -1
- package/dist/server/workers/plan.js +109 -169
- package/dist/server/workers/plan.js.map +1 -1
- package/dist/server/workers/planFollowUp.js +27 -7
- package/dist/server/workers/planFollowUp.js.map +1 -1
- package/dist/server/workers/review.js +43 -10
- package/dist/server/workers/review.js.map +1 -1
- package/dist/server/workers/specReview.js +1 -0
- package/dist/server/workers/specReview.js.map +1 -1
- package/dist/server/workers/specSession.js +42 -5
- package/dist/server/workers/specSession.js.map +1 -1
- package/dist/shared/i18n/locales.js +12 -0
- package/dist/shared/i18n/locales.js.map +1 -0
- package/package.json +1 -1
- package/dist/client/assets/channel-DUX4Nl-Q.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-_vWY0Wm5.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Boom-t3w.js +0 -1
- package/dist/client/assets/index-D8_nS8Kw.js +0 -287
- package/dist/client/assets/index-RM0FaS4q.css +0 -2
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DuYuP5AB.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../server/lib/models.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../server/lib/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAErC,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACnF,OAAO,EAAE,2BAA2B,EAAE,qCAAqC,EAAE,MAAM,kBAAkB,CAAA;AAGrG,MAAM,YAAY,GAAG,MAAM,CAAA;AAC3B,MAAM,4BAA4B,GAAG,CAAC,CAAA;AACtC,MAAM,0BAA0B,GAAG,MAAM,CAAA;AACzC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAwB,CAAA;AAKlD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAyC,CAAA;AAC/E,MAAM,cAAc,GAAG,wBAAwB,CAAA;AAE/C,MAAM,aAAa,GAAsB;IACvC;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,WAAW;QACrB,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,EAAE;QACZ,cAAc,EAAE,SAAS;KAC1B;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,WAAW;QACrB,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,EAAE;QACZ,cAAc,EAAE,SAAS;KAC1B;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,WAAW;QACrB,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,EAAE;QACZ,cAAc,EAAE,OAAO;KACxB;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,WAAW;QACrB,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,EAAE;QACZ,cAAc,EAAE,SAAS;KAC1B;CACF,CAAA;AAED,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AAE1E,MAAM,eAAe,GAAG,CAAC,GAAG,UAA+B,EAAE,EAAE;IAC7D,MAAM,UAAU,GAAG,IAAI,GAAG,EAA2B,CAAA;IAErD,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,KAAc,EAAE,EAAE;IACzC,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SACvB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC;SAC5C,IAAI,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,EAAE;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC/B,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAEzC,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1E,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;IAE7C,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAE,EAAE;IACjD,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACtC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACvD,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,OAAO,aAAa,CAAA;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAE,EAAE;IACvD,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IACvD,OAAO,6BAA6B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;AACzE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAE,EAAE;IACjD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACnE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAE,EAAE;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;AACzD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAE,EAAE;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,OAAO,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;AACzD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAU,EAAE,CAC/D,gBAAgB,CAAC,KAAK,CAAC,IAAI,sBAAsB,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAA;AAE1F,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACvC,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;AACpE,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE;IACrC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACvC,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;AAC9D,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAE,EAAE;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAChD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC5C,OAAO,EAAE,CAAA;YACX,CAAC;YAED,MAAM,EAAE,GAAI,OAA4B,CAAC,EAAE,CAAA;YAC3C,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/D,CAAC,CAAC,CAAC,CAAC,CAAA;IACN,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAE,EAAE;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAA;AAcD,MAAM,wBAAwB,GAAG,CAC/B,QAA+B,EAC/B,eAAe,GAAG,EAAE,EACI,EAAE;IAC1B,MAAM,UAAU,GAAG,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5F,MAAM,UAAU,GAAG,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5E,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC;WAC3C,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;WACjF,gBAAgB,CAAC,eAAe,CAAC,CAAA;IAEtC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACrD,OAAO;QACL,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC;QAChC,QAAQ,EAAE,UAAU,IAAI,UAAU,CAAC,WAAW,CAAC;QAC/C,kBAAkB,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1H,QAAQ;QACR,cAAc,EAAE,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;QACzD,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QACzD,iBAAiB,EAAE,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KAC5D,CAAA;AACH,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAqB,EAAE;IAClE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACtB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACtC,MAAM,MAAM,GAAsB,EAAE,CAAA;IACpC,IAAI,cAAc,GAAG,EAAE,CAAA;IACvB,IAAI,gBAAgB,GAAa,EAAE,CAAA;IAEnC,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,IAAI,CAAC,cAAc,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,cAAc,GAAG,EAAE,CAAA;YACnB,gBAAgB,GAAG,EAAE,CAAA;YACrB,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAY,CAAA;YACjE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,OAAM;YACR,CAAC;YAED,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAA+B,EAAE,cAAc,CAAC,CAAA;YACvF,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;gBAAS,CAAC;YACT,cAAc,GAAG,EAAE,CAAA;YACnB,gBAAgB,GAAG,EAAE,CAAA;QACvB,CAAC;IACH,CAAC,CAAA;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC/B,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;QAEvD,IAAI,iBAAiB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtF,iBAAiB,EAAE,CAAA;YACnB,cAAc,GAAG,iBAAiB,CAAA;YAClC,SAAQ;QACV,CAAC;QAED,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,SAAQ;QACV,CAAC;QAED,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,iBAAiB,EAAE,CAAA;IAEnB,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;IACnF,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,CAAC;YACN,EAAE;YACF,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;YACvB,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;YACxB,kBAAkB,EAAE,KAAK;YACzB,QAAQ,EAAE,EAAE;YACZ,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,IAAI;YACtB,iBAAiB,EAAE,IAAI;SACE,CAAC,CAAA;AAC9B,CAAC,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,CAAC,aAA6C,EAAE,EAAE,CAC9E,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IACjD,MAAM,IAAI,GAAG,aAAa,CAAC,eAAe,CAAC,KAAK,KAAK,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE;QAC3E,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAA;IACF,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QAC5B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAM;QACR,CAAC;QAED,OAAO,GAAG,IAAI,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrB,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,0BAA0B,IAAI,CAAC,CAAC,CAAA;IACtF,CAAC,EAAE,0BAA0B,CAAC,CAAA;IAE9B,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IACjF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IACjF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAM;QACR,CAAC;QAED,OAAO,GAAG,IAAI,CAAA;QACd,YAAY,CAAC,KAAK,CAAC,CAAA;QACnB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,KAAK,CAAC,oCAAoC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YACtF,OAAM;QACR,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAM;QACR,CAAC;QAED,OAAO,GAAG,IAAI,CAAA;QACd,YAAY,CAAC,KAAK,CAAC,CAAA;QACnB,MAAM,CAAC,KAAK,CAAC,CAAA;IACf,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEJ,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;IACnC,MAAM,aAAa,GAAG,qCAAqC,CAAC,2BAA2B,EAAE,CAAC,CAAA;IAC1F,MAAM,OAAO,GAAwB,EAAE,CAAA;IACvC,IAAI,SAAkB,CAAA;IAEtB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,4BAA4B,EAAE,OAAO,EAAE,EAAE,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,aAAa,CAAC,CAAA;YACzD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAA;QACnB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,SAAS,CAAA;IACjB,CAAC;IAED,MAAM,gBAAgB,GAAG,eAAe,CAAC,GAAG,OAAO,CAAC,CAAA;IACpD,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,+BAA+B,GAAG,KAAK,EAAE,YAAsC,EAAE,EAAE;IACvF,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,EAAE,CAAA;IAElD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,OAAO,eAAe,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;AACxD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,IAAY,EAAiC,EAAE;IAC3F,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;IACvD,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,mBAAmB,EAAE,CAAA;QAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;IACxD,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IAC9C,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;QAC3D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;IACvD,CAAC;IAED,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC1D,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,MAAM,iBAAiB,CAAA;IAChC,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,KAAK,IAAI,EAAE;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,+BAA+B,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,CAAA;YAC5E,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;gBACnB,MAAM;gBACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAA;YACF,OAAO,EAAE,MAAM,EAAE,WAAoB,EAAE,MAAM,EAAE,CAAA;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,MAAM,EAAE,aAAsB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAA;QACzE,CAAC;gBAAS,CAAC;YACT,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC;IACH,CAAC,CAAC,EAAE,CAAA;IAEJ,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;IAElD,OAAO,MAAM,gBAAgB,CAAA;AAC/B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IACxD,OAAO,CAAC,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;AACrD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,UAAU,CAAC,KAAK,EAAE,CAAA;IAClB,wBAAwB,EAAE,CAAA;AAC5B,CAAC,CAAA"}
|
|
@@ -2,59 +2,60 @@ import { ExecutionEnvironmentFailure } from './executionEnvironment.js';
|
|
|
2
2
|
import { OpencodeModelResolutionError, parseOpencodeStderrModelResolutionError } from './opencodeErrors.js';
|
|
3
3
|
import { extractOpencodePromptOutput } from './opencodePromptOutput.js';
|
|
4
4
|
import { parseOpencodeError } from './opencodeErrors.js';
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
5
|
+
import { buildOpencodeRunInvocation, getOpencodeCliCompatibility, inspectOpencodeRelease, requireSupportedOpencodeCompatibility, } from './opencodeCli.js';
|
|
6
|
+
const resolveCompatibility = (runtimeIdentity, observedCompatibility) => {
|
|
7
|
+
if (observedCompatibility) {
|
|
8
|
+
if (runtimeIdentity && (observedCompatibility.runtimeIdentity.version !== runtimeIdentity.version
|
|
9
|
+
|| observedCompatibility.runtimeIdentity.major !== runtimeIdentity.major)) {
|
|
10
|
+
throw new Error('OpenCode runtime identity does not match its observed compatibility.');
|
|
11
|
+
}
|
|
12
|
+
return observedCompatibility;
|
|
13
|
+
}
|
|
14
|
+
if (!runtimeIdentity) {
|
|
15
|
+
return requireSupportedOpencodeCompatibility(getOpencodeCliCompatibility());
|
|
16
|
+
}
|
|
17
|
+
const compatibility = requireSupportedOpencodeCompatibility(inspectOpencodeRelease(runtimeIdentity.version));
|
|
18
|
+
if (compatibility.runtimeIdentity.major !== runtimeIdentity.major) {
|
|
19
|
+
throw new Error(`OpenCode runtime identity ${runtimeIdentity.version} has an inconsistent major.`);
|
|
20
|
+
}
|
|
21
|
+
return compatibility;
|
|
22
22
|
};
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
'run',
|
|
27
|
-
...(mode === 'plan' ? ['--agent', 'plan'] : []),
|
|
28
|
-
'--format',
|
|
29
|
-
'json',
|
|
30
|
-
'--thinking',
|
|
31
|
-
...(resumeSessionId ? ['--session', resumeSessionId] : []),
|
|
32
|
-
...(model ? ['--model', model] : []),
|
|
33
|
-
...(variant ? ['--variant', variant] : []),
|
|
34
|
-
...files.flatMap(filePath => ['--file', filePath]),
|
|
35
|
-
...(files.length > 0 ? ['--'] : []),
|
|
23
|
+
const buildInvocation = ({ model, variant, planAgent, prompt, opencodeRuntimeIdentity, opencodeCompatibility }) => {
|
|
24
|
+
const compatibility = resolveCompatibility(opencodeRuntimeIdentity, opencodeCompatibility);
|
|
25
|
+
return buildOpencodeRunInvocation(compatibility, {
|
|
36
26
|
prompt,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const
|
|
44
|
-
const resolvedVariant = resolveOption(variant);
|
|
27
|
+
agent: planAgent ? 'plan' : null,
|
|
28
|
+
model,
|
|
29
|
+
variant,
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
const buildStreamingInvocation = ({ prompt, files = [], model, variant, mode, resumeSessionId, opencodeRuntimeIdentity, opencodeCompatibility, }) => {
|
|
33
|
+
const compatibility = resolveCompatibility(opencodeRuntimeIdentity, opencodeCompatibility);
|
|
45
34
|
return {
|
|
46
|
-
|
|
47
|
-
args: [
|
|
48
|
-
'run', '--agent', 'plan', '--format', 'json', '--thinking',
|
|
49
|
-
...(resolvedModel ? ['--model', resolvedModel] : []),
|
|
50
|
-
...(resolvedVariant ? ['--variant', resolvedVariant] : []),
|
|
51
|
-
...files.flatMap(filePath => ['--file', filePath]),
|
|
52
|
-
...(files.length > 0 ? ['--'] : []),
|
|
35
|
+
...buildOpencodeRunInvocation(compatibility, {
|
|
53
36
|
prompt,
|
|
54
|
-
|
|
55
|
-
|
|
37
|
+
agent: mode === 'plan' ? 'plan' : null,
|
|
38
|
+
thinking: true,
|
|
39
|
+
sessionId: resumeSessionId,
|
|
40
|
+
model,
|
|
41
|
+
variant,
|
|
42
|
+
files,
|
|
43
|
+
}),
|
|
44
|
+
stdin: null,
|
|
45
|
+
sessionId: null,
|
|
56
46
|
};
|
|
57
47
|
};
|
|
48
|
+
export const buildOpencodeSpecReviewInvocation = ({ prompt, files, model, variant, opencodeRuntimeIdentity, opencodeCompatibility, }) => {
|
|
49
|
+
const compatibility = resolveCompatibility(opencodeRuntimeIdentity, opencodeCompatibility);
|
|
50
|
+
return buildOpencodeRunInvocation(compatibility, {
|
|
51
|
+
prompt,
|
|
52
|
+
agent: 'plan',
|
|
53
|
+
thinking: true,
|
|
54
|
+
model,
|
|
55
|
+
variant,
|
|
56
|
+
files,
|
|
57
|
+
});
|
|
58
|
+
};
|
|
58
59
|
export const createOpencodeRecoveryTracker = () => {
|
|
59
60
|
let sawError = false;
|
|
60
61
|
let latestEvent = null;
|
|
@@ -82,7 +83,9 @@ export const createOpencodeRecoveryTracker = () => {
|
|
|
82
83
|
}
|
|
83
84
|
return shouldResetResponse;
|
|
84
85
|
},
|
|
85
|
-
hasRecoveredFinalAnswer: () => sawError
|
|
86
|
+
hasRecoveredFinalAnswer: () => sawError
|
|
87
|
+
&& (latestEvent === 'final_answer' || latestEvent === 'response')
|
|
88
|
+
&& recoveredFinalAnswerFragments.length > 0,
|
|
86
89
|
hasUnrecoveredError: () => latestEvent === 'error',
|
|
87
90
|
getModelResolutionError: () => modelResolutionError,
|
|
88
91
|
getUnrecoveredError: () => latestEvent === 'error' ? latestError : null,
|
|
@@ -96,6 +99,9 @@ export const interpretOpencodeRecoveryEvent = (type, error, text, phase) => {
|
|
|
96
99
|
if (type === 'text' && text && phase === 'final_answer') {
|
|
97
100
|
return { type: 'final_answer', text };
|
|
98
101
|
}
|
|
102
|
+
if (type === 'text' && text && !phase) {
|
|
103
|
+
return { type: 'response', text };
|
|
104
|
+
}
|
|
99
105
|
return null;
|
|
100
106
|
};
|
|
101
107
|
export const isSuccessfulOpencodeExit = (code, stderrModelError, recoveryTracker) => !stderrModelError
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencodeAgentProvider.js","sourceRoot":"","sources":["../../../server/lib/opencodeAgentProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,EAAE,4BAA4B,EAAE,uCAAuC,EAAE,MAAM,qBAAqB,CAAA;AAC3G,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"opencodeAgentProvider.js","sourceRoot":"","sources":["../../../server/lib/opencodeAgentProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { execFileSync, spawnSync } from 'child_process';
|
|
2
|
+
const VERSION_OUTPUT_RE = /^(?:opencode(?:\s+version)?\s+)?v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/i;
|
|
3
|
+
export const OPENCODE_V1_REGRESSION_BASELINE = '1.18.30';
|
|
4
|
+
export const OPENCODE_V2_FIXTURE_BASELINE = '2.0.7';
|
|
5
|
+
export const OPENCODE_RELEASE_POLICIES = [
|
|
6
|
+
{
|
|
7
|
+
major: 1,
|
|
8
|
+
minimum: [1, 18, 30],
|
|
9
|
+
maximumExclusive: [2, 0, 0],
|
|
10
|
+
fixtureBaseline: OPENCODE_V1_REGRESSION_BASELINE,
|
|
11
|
+
sessionBackend: 'sqlite-v1',
|
|
12
|
+
capabilities: {
|
|
13
|
+
jsonOutput: true,
|
|
14
|
+
sessionContinuation: true,
|
|
15
|
+
modelSelection: true,
|
|
16
|
+
modelVariant: 'flag',
|
|
17
|
+
fileAttachments: true,
|
|
18
|
+
agentSelection: true,
|
|
19
|
+
thinkingOutput: true,
|
|
20
|
+
standaloneServer: false,
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
major: 2,
|
|
25
|
+
minimum: [2, 0, 0],
|
|
26
|
+
maximumExclusive: [2, 1, 0],
|
|
27
|
+
fixtureBaseline: OPENCODE_V2_FIXTURE_BASELINE,
|
|
28
|
+
sessionBackend: 'service-v2',
|
|
29
|
+
capabilities: {
|
|
30
|
+
jsonOutput: true,
|
|
31
|
+
sessionContinuation: true,
|
|
32
|
+
modelSelection: true,
|
|
33
|
+
modelVariant: 'model-suffix',
|
|
34
|
+
fileAttachments: true,
|
|
35
|
+
agentSelection: true,
|
|
36
|
+
thinkingOutput: true,
|
|
37
|
+
standaloneServer: true,
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
];
|
|
41
|
+
const parseSemanticVersion = (output) => {
|
|
42
|
+
const normalizedOutput = output.trim();
|
|
43
|
+
const match = VERSION_OUTPUT_RE.exec(normalizedOutput);
|
|
44
|
+
if (!match) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
const major = Number(match[1]);
|
|
48
|
+
const minor = Number(match[2]);
|
|
49
|
+
const patch = Number(match[3]);
|
|
50
|
+
if (![major, minor, patch].every(Number.isSafeInteger)) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
const prerelease = match[4] ?? null;
|
|
54
|
+
if (prerelease?.split('.').some(identifier => /^\d+$/.test(identifier) && identifier.length > 1 && identifier.startsWith('0'))) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
version: `${major}.${minor}.${patch}${prerelease ? `-${prerelease}` : ''}${match[5] ? `+${match[5]}` : ''}`,
|
|
59
|
+
major,
|
|
60
|
+
minor,
|
|
61
|
+
patch,
|
|
62
|
+
prerelease,
|
|
63
|
+
build: match[5] ?? null,
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
const compareVersion = (version, boundary) => {
|
|
67
|
+
const parts = [version.major, version.minor, version.patch];
|
|
68
|
+
for (let index = 0; index < parts.length; index += 1) {
|
|
69
|
+
if (parts[index] !== boundary[index]) {
|
|
70
|
+
return parts[index] < boundary[index] ? -1 : 1;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return 0;
|
|
74
|
+
};
|
|
75
|
+
export const inspectOpencodeRelease = (output) => {
|
|
76
|
+
const parsed = parseSemanticVersion(output);
|
|
77
|
+
if (!parsed) {
|
|
78
|
+
return { status: 'unrecognized', reason: 'malformed-version', output: output.trim() };
|
|
79
|
+
}
|
|
80
|
+
if (parsed.prerelease) {
|
|
81
|
+
return {
|
|
82
|
+
status: 'unsupported',
|
|
83
|
+
reason: 'prerelease',
|
|
84
|
+
runtimeIdentity: { version: parsed.version, major: parsed.major },
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
const policy = OPENCODE_RELEASE_POLICIES.find(candidate => (compareVersion(parsed, candidate.minimum) >= 0
|
|
88
|
+
&& compareVersion(parsed, candidate.maximumExclusive) < 0));
|
|
89
|
+
if (!policy) {
|
|
90
|
+
return {
|
|
91
|
+
status: 'unsupported',
|
|
92
|
+
reason: 'version-out-of-range',
|
|
93
|
+
runtimeIdentity: { version: parsed.version, major: parsed.major },
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
status: 'supported',
|
|
98
|
+
runtimeIdentity: { version: parsed.version, major: policy.major },
|
|
99
|
+
sessionBackend: policy.sessionBackend,
|
|
100
|
+
capabilities: policy.capabilities,
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
export class OpencodeCompatibilityError extends Error {
|
|
104
|
+
compatibility;
|
|
105
|
+
constructor(compatibility) {
|
|
106
|
+
const observed = compatibility.status === 'unrecognized'
|
|
107
|
+
? compatibility.output || 'empty output'
|
|
108
|
+
: compatibility.runtimeIdentity.version;
|
|
109
|
+
super(`OpenCode CLI release is ${compatibility.status}: ${observed}`);
|
|
110
|
+
this.name = 'OpencodeCompatibilityError';
|
|
111
|
+
this.compatibility = compatibility;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
export class OpencodeCapabilityError extends Error {
|
|
115
|
+
capability;
|
|
116
|
+
runtimeIdentity;
|
|
117
|
+
constructor(capability, compatibility) {
|
|
118
|
+
super(`OpenCode ${compatibility.runtimeIdentity.version} does not support the required ${capability} capability`);
|
|
119
|
+
this.name = 'OpencodeCapabilityError';
|
|
120
|
+
this.capability = capability;
|
|
121
|
+
this.runtimeIdentity = compatibility.runtimeIdentity;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
const defaultReleaseProbe = () => execFileSync('opencode', ['--version'], {
|
|
125
|
+
encoding: 'utf8',
|
|
126
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
127
|
+
timeout: 5_000,
|
|
128
|
+
windowsHide: true,
|
|
129
|
+
});
|
|
130
|
+
const defaultCapabilityProbe = () => {
|
|
131
|
+
const result = spawnSync('opencode', ['run', '--help'], {
|
|
132
|
+
encoding: 'utf8',
|
|
133
|
+
timeout: 5_000,
|
|
134
|
+
windowsHide: true,
|
|
135
|
+
});
|
|
136
|
+
if (result.error) {
|
|
137
|
+
throw result.error;
|
|
138
|
+
}
|
|
139
|
+
if (result.status !== 0) {
|
|
140
|
+
throw new Error(result.stderr.trim() || `OpenCode run help exited with code ${String(result.status)}`);
|
|
141
|
+
}
|
|
142
|
+
return `${result.stdout}\n${result.stderr}`;
|
|
143
|
+
};
|
|
144
|
+
export const inspectOpencodeCliFeatureSurface = (compatibility, output) => {
|
|
145
|
+
const hasFlag = (flag) => new RegExp(`(?:^|\\s)${flag.replace('-', '\\-')}(?:[=\\s,]|$)`, 'm').test(output);
|
|
146
|
+
const capabilities = {
|
|
147
|
+
...compatibility.capabilities,
|
|
148
|
+
jsonOutput: hasFlag('--format'),
|
|
149
|
+
sessionContinuation: hasFlag('--session'),
|
|
150
|
+
modelSelection: hasFlag('--model'),
|
|
151
|
+
modelVariant: compatibility.capabilities.modelVariant === 'flag'
|
|
152
|
+
? hasFlag('--variant') ? 'flag' : false
|
|
153
|
+
: hasFlag('--model') ? 'model-suffix' : false,
|
|
154
|
+
fileAttachments: hasFlag('--file'),
|
|
155
|
+
agentSelection: hasFlag('--agent'),
|
|
156
|
+
thinkingOutput: hasFlag('--thinking'),
|
|
157
|
+
};
|
|
158
|
+
return { ...compatibility, capabilities };
|
|
159
|
+
};
|
|
160
|
+
let cachedCompatibility = null;
|
|
161
|
+
export const getOpencodeCliCompatibility = ({ force = false, probe = defaultReleaseProbe, capabilityProbe, } = {}) => {
|
|
162
|
+
if (!force && cachedCompatibility) {
|
|
163
|
+
return cachedCompatibility;
|
|
164
|
+
}
|
|
165
|
+
try {
|
|
166
|
+
const release = inspectOpencodeRelease(probe());
|
|
167
|
+
const resolvedCapabilityProbe = capabilityProbe ?? (probe === defaultReleaseProbe ? defaultCapabilityProbe : null);
|
|
168
|
+
cachedCompatibility = release.status === 'supported' && resolvedCapabilityProbe
|
|
169
|
+
? inspectOpencodeCliFeatureSurface(release, resolvedCapabilityProbe())
|
|
170
|
+
: release;
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
cachedCompatibility = {
|
|
174
|
+
status: 'unrecognized',
|
|
175
|
+
reason: 'inspection-failed',
|
|
176
|
+
output: error instanceof Error ? error.message : String(error),
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
return cachedCompatibility;
|
|
180
|
+
};
|
|
181
|
+
export const invalidateOpencodeCliCapabilityCache = () => {
|
|
182
|
+
cachedCompatibility = null;
|
|
183
|
+
};
|
|
184
|
+
export const requireSupportedOpencodeCompatibility = (compatibility) => {
|
|
185
|
+
if (compatibility.status !== 'supported') {
|
|
186
|
+
throw new OpencodeCompatibilityError(compatibility);
|
|
187
|
+
}
|
|
188
|
+
return compatibility;
|
|
189
|
+
};
|
|
190
|
+
const resolveOption = (value) => (typeof value === 'string' && value.trim() !== '' ? value.trim() : null);
|
|
191
|
+
const requireCapability = (compatibility, capability) => {
|
|
192
|
+
if (!compatibility.capabilities[capability]) {
|
|
193
|
+
throw new OpencodeCapabilityError(capability, compatibility);
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
export const buildOpencodeRunInvocation = (compatibility, { prompt, agent, format = 'json', thinking = false, sessionId, model, variant, files = [], }) => {
|
|
197
|
+
const resolvedAgent = resolveOption(agent);
|
|
198
|
+
const resolvedSessionId = resolveOption(sessionId);
|
|
199
|
+
const resolvedModel = resolveOption(model);
|
|
200
|
+
const resolvedVariant = resolveOption(variant);
|
|
201
|
+
requireCapability(compatibility, 'jsonOutput');
|
|
202
|
+
if (resolvedAgent) {
|
|
203
|
+
requireCapability(compatibility, 'agentSelection');
|
|
204
|
+
}
|
|
205
|
+
if (thinking) {
|
|
206
|
+
requireCapability(compatibility, 'thinkingOutput');
|
|
207
|
+
}
|
|
208
|
+
if (resolvedSessionId) {
|
|
209
|
+
requireCapability(compatibility, 'sessionContinuation');
|
|
210
|
+
}
|
|
211
|
+
if (resolvedModel) {
|
|
212
|
+
requireCapability(compatibility, 'modelSelection');
|
|
213
|
+
}
|
|
214
|
+
if (resolvedVariant && !compatibility.capabilities.modelVariant) {
|
|
215
|
+
throw new OpencodeCapabilityError('modelVariant', compatibility);
|
|
216
|
+
}
|
|
217
|
+
if (resolvedVariant && compatibility.capabilities.modelVariant === 'model-suffix' && !resolvedModel) {
|
|
218
|
+
throw new OpencodeCapabilityError('modelVariantRequiresModel', compatibility);
|
|
219
|
+
}
|
|
220
|
+
if (files.length > 0) {
|
|
221
|
+
requireCapability(compatibility, 'fileAttachments');
|
|
222
|
+
}
|
|
223
|
+
const resolvedModelArgument = resolvedModel && resolvedVariant && compatibility.capabilities.modelVariant === 'model-suffix'
|
|
224
|
+
? `${resolvedModel.replace(/#.*$/, '')}#${resolvedVariant}`
|
|
225
|
+
: resolvedModel;
|
|
226
|
+
return {
|
|
227
|
+
command: 'opencode',
|
|
228
|
+
args: [
|
|
229
|
+
'run',
|
|
230
|
+
...(resolvedAgent ? ['--agent', resolvedAgent] : []),
|
|
231
|
+
'--format',
|
|
232
|
+
format,
|
|
233
|
+
...(thinking ? ['--thinking'] : []),
|
|
234
|
+
...(resolvedSessionId ? ['--session', resolvedSessionId] : []),
|
|
235
|
+
...(resolvedModelArgument ? ['--model', resolvedModelArgument] : []),
|
|
236
|
+
...(resolvedVariant && compatibility.capabilities.modelVariant === 'flag' ? ['--variant', resolvedVariant] : []),
|
|
237
|
+
...files.flatMap(filePath => ['--file', filePath]),
|
|
238
|
+
...(files.length > 0 ? ['--'] : []),
|
|
239
|
+
prompt,
|
|
240
|
+
],
|
|
241
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
242
|
+
};
|
|
243
|
+
};
|
|
244
|
+
//# sourceMappingURL=opencodeCli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencodeCli.js","sourceRoot":"","sources":["../../../server/lib/opencodeCli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,57 +1,7 @@
|
|
|
1
1
|
import { parseOpencodeError } from './opencodeErrors.js';
|
|
2
|
+
import { parseOpencodeStreamLine } from './opencodeStream.js';
|
|
3
|
+
export { extractLeadingOpencodeJsonObjects } from './opencodeStream.js';
|
|
2
4
|
const stripSystemReminderBlocks = (output) => (output.replace(/<system-reminder>[\s\S]*?<\/system-reminder>/g, '').trim());
|
|
3
|
-
export const extractLeadingOpencodeJsonObjects = (value) => {
|
|
4
|
-
const jsonObjects = [];
|
|
5
|
-
let remaining = value.trim();
|
|
6
|
-
while (remaining.startsWith('{')) {
|
|
7
|
-
let depth = 0;
|
|
8
|
-
let inString = false;
|
|
9
|
-
let escaping = false;
|
|
10
|
-
let endIndex = -1;
|
|
11
|
-
for (let index = 0; index < remaining.length; index += 1) {
|
|
12
|
-
const char = remaining[index];
|
|
13
|
-
if (inString) {
|
|
14
|
-
if (escaping) {
|
|
15
|
-
escaping = false;
|
|
16
|
-
}
|
|
17
|
-
else if (char === '\\') {
|
|
18
|
-
escaping = true;
|
|
19
|
-
}
|
|
20
|
-
else if (char === '"') {
|
|
21
|
-
inString = false;
|
|
22
|
-
}
|
|
23
|
-
continue;
|
|
24
|
-
}
|
|
25
|
-
if (char === '"') {
|
|
26
|
-
inString = true;
|
|
27
|
-
}
|
|
28
|
-
else if (char === '{') {
|
|
29
|
-
depth += 1;
|
|
30
|
-
}
|
|
31
|
-
else if (char === '}') {
|
|
32
|
-
depth -= 1;
|
|
33
|
-
if (depth === 0) {
|
|
34
|
-
endIndex = index + 1;
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
if (endIndex < 0) {
|
|
40
|
-
break;
|
|
41
|
-
}
|
|
42
|
-
jsonObjects.push(remaining.slice(0, endIndex));
|
|
43
|
-
remaining = remaining.slice(endIndex).trim();
|
|
44
|
-
}
|
|
45
|
-
return { jsonObjects, remainder: remaining };
|
|
46
|
-
};
|
|
47
|
-
const parseEvent = (jsonObject) => {
|
|
48
|
-
try {
|
|
49
|
-
return JSON.parse(jsonObject);
|
|
50
|
-
}
|
|
51
|
-
catch {
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
5
|
export const extractOpencodePromptOutput = (rawOutput) => {
|
|
56
6
|
const trimmedOutput = rawOutput.trim();
|
|
57
7
|
if (!trimmedOutput) {
|
|
@@ -65,32 +15,28 @@ export const extractOpencodePromptOutput = (rawOutput) => {
|
|
|
65
15
|
let latestError = null;
|
|
66
16
|
let latestRecoveryEvent = null;
|
|
67
17
|
for (const line of trimmedOutput.split('\n')) {
|
|
68
|
-
const
|
|
69
|
-
if (
|
|
18
|
+
const parsedLine = parseOpencodeStreamLine(line);
|
|
19
|
+
if (!parsedLine.structured) {
|
|
70
20
|
continue;
|
|
71
21
|
}
|
|
72
22
|
sawStructuredOutput = true;
|
|
73
|
-
for (const
|
|
74
|
-
const event = parseEvent(jsonObject);
|
|
75
|
-
if (!event) {
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
23
|
+
for (const event of parsedLine.events) {
|
|
78
24
|
if (event.type === 'error') {
|
|
79
25
|
sawError = true;
|
|
80
|
-
latestError = parseOpencodeError(event.error, event.
|
|
26
|
+
latestError = parseOpencodeError(event.error, event.fallbackText ?? undefined);
|
|
81
27
|
latestRecoveryEvent = 'error';
|
|
82
28
|
recoveredParts.length = 0;
|
|
83
29
|
continue;
|
|
84
30
|
}
|
|
85
|
-
if (event.type !== 'text' ||
|
|
31
|
+
if (event.type !== 'text' || !event.text) {
|
|
86
32
|
continue;
|
|
87
33
|
}
|
|
88
|
-
textParts.push(event.
|
|
89
|
-
if (event.
|
|
90
|
-
finalParts.push(event.
|
|
34
|
+
textParts.push(event.text);
|
|
35
|
+
if (!event.metadata.phase || event.metadata.phase === 'final_answer') {
|
|
36
|
+
finalParts.push(event.text);
|
|
91
37
|
latestRecoveryEvent = 'final_answer';
|
|
92
38
|
if (sawError) {
|
|
93
|
-
recoveredParts.push(event.
|
|
39
|
+
recoveredParts.push(event.text);
|
|
94
40
|
}
|
|
95
41
|
}
|
|
96
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencodePromptOutput.js","sourceRoot":"","sources":["../../../server/lib/opencodePromptOutput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"opencodePromptOutput.js","sourceRoot":"","sources":["../../../server/lib/opencodePromptOutput.ts"],"names":[],"mappings":"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"}
|