@skaile/workspaces 5.18.1 → 6.0.0
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/CHANGELOG.md +88 -0
- package/README.md +8 -8
- package/dist/app-sdk/index.js +1 -1
- package/dist/{asset-feeds-MKB5JUML.js → asset-feeds-PXUWCXVI.js} +21 -21
- package/dist/{asset-feeds-MKB5JUML.js.map → asset-feeds-PXUWCXVI.js.map} +1 -1
- package/dist/asset-manager/catalog-deployer.js +10 -10
- package/dist/asset-manager/index.js +17 -17
- package/dist/asset-manager/installer.js +13 -13
- package/dist/asset-manager/renderers.js +12 -12
- package/dist/asset-manager/src/index.d.ts +113 -24
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/asset-manager/src/install-agent.d.ts +2 -2
- package/dist/asset-manager/src/install-agent.d.ts.map +1 -1
- package/dist/asset-manager/src/install-instances.d.ts +8 -8
- package/dist/asset-manager/src/install-instances.d.ts.map +1 -1
- package/dist/asset-manager/src/installer.d.ts +3 -3
- package/dist/asset-manager/src/installer.d.ts.map +1 -1
- package/dist/asset-manager/src/mcp-config.d.ts +39 -13
- package/dist/asset-manager/src/mcp-config.d.ts.map +1 -1
- package/dist/asset-manager/src/renderers.d.ts +12 -12
- package/dist/asset-manager/src/renderers.d.ts.map +1 -1
- package/dist/bridge/codex-app-server.js +2 -2
- package/dist/bridge/harnesses/claude-sdk.d.ts +2 -0
- package/dist/bridge/{drivers → harnesses}/claude-sdk.js +75 -73
- package/dist/bridge/harnesses/claude-sdk.js.map +1 -0
- package/dist/bridge/{drivers/gemini.d.ts → harnesses/codex.d.ts} +1 -1
- package/dist/bridge/{drivers → harnesses}/codex.js +52 -52
- package/dist/bridge/harnesses/codex.js.map +1 -0
- package/dist/bridge/{drivers/claude-sdk.d.ts → harnesses/continue.d.ts} +1 -1
- package/dist/bridge/{drivers → harnesses}/continue.js +29 -29
- package/dist/bridge/harnesses/continue.js.map +1 -0
- package/dist/bridge/{drivers → harnesses}/echo.d.ts +1 -1
- package/dist/bridge/{drivers → harnesses}/echo.js +27 -27
- package/dist/bridge/harnesses/echo.js.map +1 -0
- package/dist/bridge/{drivers/continue.d.ts → harnesses/gemini.d.ts} +1 -1
- package/dist/bridge/harnesses/gemini.js +18 -0
- package/dist/bridge/{drivers → harnesses}/goose.d.ts +1 -1
- package/dist/bridge/{drivers → harnesses}/goose.js +29 -29
- package/dist/bridge/harnesses/goose.js.map +1 -0
- package/dist/bridge/{drivers → harnesses}/omp.d.ts +1 -1
- package/dist/bridge/{drivers → harnesses}/omp.js +43 -485
- package/dist/bridge/harnesses/omp.js.map +1 -0
- package/dist/bridge/{drivers → harnesses}/opencode.d.ts +1 -1
- package/dist/bridge/{drivers → harnesses}/opencode.js +30 -30
- package/dist/bridge/harnesses/opencode.js.map +1 -0
- package/dist/bridge/{drivers → harnesses}/qwen.d.ts +1 -1
- package/dist/bridge/{drivers → harnesses}/qwen.js +20 -20
- package/dist/bridge/harnesses/qwen.js.map +1 -0
- package/dist/bridge/index.js +24 -22
- package/dist/bridge/src/agent-exec.d.ts +2 -2
- package/dist/bridge/src/agent-transcript.d.ts +1 -1
- package/dist/bridge/src/agent-transcript.d.ts.map +1 -1
- package/dist/bridge/src/approval-card.d.ts +3 -3
- package/dist/bridge/src/capability-dispatch.d.ts +5 -5
- package/dist/bridge/src/cloud.d.ts +4 -4
- package/dist/bridge/src/codex/config-toml.d.ts +3 -3
- package/dist/bridge/src/codex/friendly-error.d.ts +1 -1
- package/dist/bridge/src/codex/friendly-error.d.ts.map +1 -1
- package/dist/bridge/src/codex/{managed-driver.d.ts → managed-harness.d.ts} +5 -5
- package/dist/bridge/src/codex/managed-harness.d.ts.map +1 -0
- package/dist/bridge/src/codex/native-approvals.d.ts +1 -1
- package/dist/bridge/src/codex/native-approvals.d.ts.map +1 -1
- package/dist/bridge/src/error-classifier.d.ts +7 -7
- package/dist/bridge/src/{driver-capabilities.d.ts → harness-capabilities.d.ts} +18 -18
- package/dist/bridge/src/harness-capabilities.d.ts.map +1 -0
- package/dist/bridge/src/harness-model-check.d.ts +25 -0
- package/dist/bridge/src/harness-model-check.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/_subprocess-cli.d.ts +8 -8
- package/dist/bridge/src/harnesses/_subprocess-cli.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/claude-context-usage.d.ts +5 -5
- package/dist/bridge/src/harnesses/claude-context-usage.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/claude-sdk.d.ts +27 -27
- package/dist/bridge/src/harnesses/claude-sdk.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/claude-self-turns.d.ts +5 -5
- package/dist/bridge/src/harnesses/claude-self-turns.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/claude-tool-allowlist.d.ts +4 -4
- package/dist/bridge/src/harnesses/claude-tool-allowlist.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/codex.d.ts +14 -14
- package/dist/bridge/src/harnesses/codex.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/continue.d.ts +12 -12
- package/dist/bridge/src/harnesses/continue.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/echo.d.ts +16 -16
- package/dist/bridge/src/harnesses/echo.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/flow-script.d.ts +9 -9
- package/dist/bridge/src/harnesses/flow-script.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/gemini.d.ts +15 -15
- package/dist/bridge/src/harnesses/gemini.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/goose.d.ts +10 -10
- package/dist/bridge/src/harnesses/goose.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/omp-models-yml.d.ts +23 -12
- package/dist/bridge/src/harnesses/omp-models-yml.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/omp.d.ts +23 -23
- package/dist/bridge/src/harnesses/omp.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/opencode.d.ts +11 -11
- package/dist/bridge/src/harnesses/opencode.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/qwen.d.ts +12 -12
- package/dist/bridge/src/harnesses/qwen.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/recovery-policy.d.ts +4 -4
- package/dist/bridge/src/harnesses/recovery-policy.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/resume-probe.d.ts +3 -3
- package/dist/bridge/src/harnesses/resume-probe.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/sanitize-assistant-text.d.ts +1 -1
- package/dist/bridge/src/harnesses/sanitize-assistant-text.d.ts.map +1 -0
- package/dist/bridge/src/{drivers → harnesses}/scrub-transcript.d.ts +1 -1
- package/dist/bridge/src/harnesses/scrub-transcript.d.ts.map +1 -0
- package/dist/bridge/src/index.d.ts +4 -4
- package/dist/bridge/src/index.d.ts.map +1 -1
- package/dist/bridge/src/logger.d.ts +4 -4
- package/dist/bridge/src/models.d.ts +1 -1
- package/dist/bridge/src/normalizer.d.ts +2 -2
- package/dist/bridge/src/provider-materialize/continue-config-yaml.d.ts +5 -5
- package/dist/bridge/src/provider-materialize/continue-config-yaml.d.ts.map +1 -1
- package/dist/bridge/src/provider-materialize/credential-env.d.ts +3 -3
- package/dist/bridge/src/provider-materialize/{env-drivers.d.ts → env-harnesses.d.ts} +19 -19
- package/dist/bridge/src/provider-materialize/env-harnesses.d.ts.map +1 -0
- package/dist/bridge/src/provider-materialize/goose-custom-providers.d.ts +5 -5
- package/dist/bridge/src/provider-materialize/goose-custom-providers.d.ts.map +1 -1
- package/dist/bridge/src/provider-materialize/opencode-config.d.ts +7 -7
- package/dist/bridge/src/provider-materialize/opencode-config.d.ts.map +1 -1
- package/dist/bridge/src/provider-materialize/session-config-home.d.ts +5 -5
- package/dist/bridge/src/provider-materialize/session-config-home.d.ts.map +1 -1
- package/dist/bridge/src/provider-registry-derive.d.ts +4 -4
- package/dist/bridge/src/provider-registry-derive.d.ts.map +1 -1
- package/dist/bridge/src/reconfigure-ledger.d.ts +8 -8
- package/dist/bridge/src/reconfigure-ledger.d.ts.map +1 -1
- package/dist/bridge/src/registry.d.ts +34 -41
- package/dist/bridge/src/registry.d.ts.map +1 -1
- package/dist/bridge/src/runner-private-env.d.ts +2 -2
- package/dist/bridge/src/runtime.d.ts +11 -11
- package/dist/bridge/src/runtime.d.ts.map +1 -1
- package/dist/bridge/src/types.d.ts +158 -158
- package/dist/bridge/src/types.d.ts.map +1 -1
- package/dist/{chunk-CKBCX3HQ.js → chunk-2UUKCROR.js} +4 -4
- package/dist/{chunk-CKBCX3HQ.js.map → chunk-2UUKCROR.js.map} +1 -1
- package/dist/{chunk-7ANRSTNR.js → chunk-3IXIEHUB.js} +36 -17
- package/dist/chunk-3IXIEHUB.js.map +1 -0
- package/dist/{chunk-YZ3N7IUU.js → chunk-3JKGY2YC.js} +91 -55
- package/dist/chunk-3JKGY2YC.js.map +1 -0
- package/dist/{chunk-X5YPJV4N.js → chunk-3MWQKQUB.js} +2 -2
- package/dist/{chunk-X5YPJV4N.js.map → chunk-3MWQKQUB.js.map} +1 -1
- package/dist/{chunk-EPBKISS5.js → chunk-3TG2NV2F.js} +2 -2
- package/dist/chunk-3TG2NV2F.js.map +1 -0
- package/dist/{chunk-L2AMXONH.js → chunk-3X7VTCPG.js} +2 -2
- package/dist/chunk-3X7VTCPG.js.map +1 -0
- package/dist/{chunk-3KMREAR2.js → chunk-4DWBSTYA.js} +24 -24
- package/dist/chunk-4DWBSTYA.js.map +1 -0
- package/dist/{chunk-YARXR3CN.js → chunk-4XWLB7JB.js} +52 -46
- package/dist/chunk-4XWLB7JB.js.map +1 -0
- package/dist/{chunk-5TBFN46Z.js → chunk-5KRMNUL4.js} +4 -4
- package/dist/chunk-5KRMNUL4.js.map +1 -0
- package/dist/{chunk-YIF2IJUA.js → chunk-6GWSDPBP.js} +3 -3
- package/dist/{chunk-YIF2IJUA.js.map → chunk-6GWSDPBP.js.map} +1 -1
- package/dist/{chunk-BBWSGVVE.js → chunk-7CV3HFWJ.js} +5 -5
- package/dist/chunk-7CV3HFWJ.js.map +1 -0
- package/dist/{chunk-YROR332M.js → chunk-7DN6JKP2.js} +2 -2
- package/dist/chunk-7DN6JKP2.js.map +1 -0
- package/dist/{chunk-IZCR27MU.js → chunk-7EKQDY2T.js} +3 -3
- package/dist/chunk-7EKQDY2T.js.map +1 -0
- package/dist/{chunk-VOBXINUZ.js → chunk-7TPYPVAH.js} +4 -4
- package/dist/{chunk-VOBXINUZ.js.map → chunk-7TPYPVAH.js.map} +1 -1
- package/dist/{chunk-U2FI547Z.js → chunk-7XSAW5OC.js} +3 -3
- package/dist/{chunk-U2FI547Z.js.map → chunk-7XSAW5OC.js.map} +1 -1
- package/dist/{chunk-ICSCSM5D.js → chunk-ADPM6AYF.js} +3 -3
- package/dist/{chunk-ICSCSM5D.js.map → chunk-ADPM6AYF.js.map} +1 -1
- package/dist/{chunk-LW7ZI6EQ.js → chunk-AF432MS3.js} +3 -3
- package/dist/chunk-AF432MS3.js.map +1 -0
- package/dist/{chunk-WJLYL6RY.js → chunk-ARWKK325.js} +5 -5
- package/dist/{chunk-WJLYL6RY.js.map → chunk-ARWKK325.js.map} +1 -1
- package/dist/{chunk-AJ7EGIFR.js → chunk-BIRW3HOG.js} +3 -3
- package/dist/chunk-BIRW3HOG.js.map +1 -0
- package/dist/{chunk-X3AUS4RW.js → chunk-DHYSUJ3H.js} +4 -4
- package/dist/{chunk-X3AUS4RW.js.map → chunk-DHYSUJ3H.js.map} +1 -1
- package/dist/{chunk-SRNCN4X2.js → chunk-DUMTLYSO.js} +10 -10
- package/dist/chunk-DUMTLYSO.js.map +1 -0
- package/dist/{chunk-GOK4QRJR.js → chunk-E3GPGTW3.js} +8 -8
- package/dist/chunk-E3GPGTW3.js.map +1 -0
- package/dist/{chunk-CKNIYIV2.js → chunk-E572OHGY.js} +5 -5
- package/dist/chunk-E572OHGY.js.map +1 -0
- package/dist/{chunk-KY4UXX7M.js → chunk-F2GOZMRA.js} +63 -64
- package/dist/chunk-F2GOZMRA.js.map +1 -0
- package/dist/{chunk-6E6PKKAD.js → chunk-G5SUWZEU.js} +18 -8
- package/dist/chunk-G5SUWZEU.js.map +1 -0
- package/dist/{chunk-7FHZB2QU.js → chunk-GEQSUC6U.js} +12 -12
- package/dist/chunk-GEQSUC6U.js.map +1 -0
- package/dist/{chunk-AIBAOXDU.js → chunk-GN4VVSAA.js} +18 -18
- package/dist/chunk-GN4VVSAA.js.map +1 -0
- package/dist/{chunk-XTO436PV.js → chunk-HK7HMEPT.js} +13 -13
- package/dist/chunk-HK7HMEPT.js.map +1 -0
- package/dist/{chunk-Y56YIT6J.js → chunk-JCPD4QRM.js} +4 -4
- package/dist/chunk-JCPD4QRM.js.map +1 -0
- package/dist/{chunk-GBYNC5V3.js → chunk-JDR6ILCW.js} +4 -4
- package/dist/chunk-JDR6ILCW.js.map +1 -0
- package/dist/{chunk-K4O6L3WH.js → chunk-KNY356I3.js} +3 -3
- package/dist/{chunk-K4O6L3WH.js.map → chunk-KNY356I3.js.map} +1 -1
- package/dist/{chunk-4ZTPYIBE.js → chunk-KW37WNXY.js} +12 -12
- package/dist/chunk-KW37WNXY.js.map +1 -0
- package/dist/{chunk-BO426QWN.js → chunk-KX2PT5Q4.js} +8 -8
- package/dist/chunk-KX2PT5Q4.js.map +1 -0
- package/dist/{chunk-T2TQAH2X.js → chunk-L4YKW5AY.js} +105 -38
- package/dist/chunk-L4YKW5AY.js.map +1 -0
- package/dist/{chunk-WJCQFNF6.js → chunk-LN6QB7XI.js} +3 -3
- package/dist/{chunk-WJCQFNF6.js.map → chunk-LN6QB7XI.js.map} +1 -1
- package/dist/{chunk-MJHSLODD.js → chunk-LSI2IVFT.js} +2 -2
- package/dist/chunk-LSI2IVFT.js.map +1 -0
- package/dist/{chunk-2ABUJYVI.js → chunk-MCUJTNY5.js} +3 -3
- package/dist/{chunk-2ABUJYVI.js.map → chunk-MCUJTNY5.js.map} +1 -1
- package/dist/{chunk-A2ULN3KX.js → chunk-MWXYN6NY.js} +2 -2
- package/dist/{chunk-A2ULN3KX.js.map → chunk-MWXYN6NY.js.map} +1 -1
- package/dist/{chunk-EAZECHPM.js → chunk-NBAGV6L2.js} +5 -5
- package/dist/chunk-NBAGV6L2.js.map +1 -0
- package/dist/{chunk-U7V5SIFW.js → chunk-NMI2TWMH.js} +46 -18
- package/dist/chunk-NMI2TWMH.js.map +1 -0
- package/dist/{chunk-VM3PH7BB.js → chunk-OAHVKSQJ.js} +604 -178
- package/dist/chunk-OAHVKSQJ.js.map +1 -0
- package/dist/{chunk-2NOLF7B2.js → chunk-OHNKYHRR.js} +53 -17
- package/dist/chunk-OHNKYHRR.js.map +1 -0
- package/dist/{chunk-KC6HGWXN.js → chunk-OTIB4D2K.js} +3 -3
- package/dist/{chunk-KC6HGWXN.js.map → chunk-OTIB4D2K.js.map} +1 -1
- package/dist/{chunk-WMF2C5U7.js → chunk-OULSJRXV.js} +17 -17
- package/dist/chunk-OULSJRXV.js.map +1 -0
- package/dist/{chunk-HPVMTX6M.js → chunk-QOM5Z62G.js} +47 -12
- package/dist/chunk-QOM5Z62G.js.map +1 -0
- package/dist/{chunk-ZBMC6IAE.js → chunk-SNEE6UGY.js} +33 -32
- package/dist/chunk-SNEE6UGY.js.map +1 -0
- package/dist/{chunk-RD6N2D7I.js → chunk-SRODW6M2.js} +4 -4
- package/dist/{chunk-RD6N2D7I.js.map → chunk-SRODW6M2.js.map} +1 -1
- package/dist/{chunk-D6UBEYQH.js → chunk-SZXGRHQQ.js} +6 -6
- package/dist/chunk-SZXGRHQQ.js.map +1 -0
- package/dist/{chunk-X6GUNN7X.js → chunk-T2BDID2J.js} +39 -39
- package/dist/chunk-T2BDID2J.js.map +1 -0
- package/dist/{chunk-RP3FZ2T6.js → chunk-TKHJXPSB.js} +110 -37
- package/dist/chunk-TKHJXPSB.js.map +1 -0
- package/dist/{chunk-CD7SVH6W.js → chunk-U56GGCC2.js} +4 -4
- package/dist/{chunk-CD7SVH6W.js.map → chunk-U56GGCC2.js.map} +1 -1
- package/dist/{chunk-VKPBUPH7.js → chunk-UL22SDGR.js} +36 -11
- package/dist/chunk-UL22SDGR.js.map +1 -0
- package/dist/{chunk-CKICWXMU.js → chunk-UQ33Y4DM.js} +139 -10
- package/dist/chunk-UQ33Y4DM.js.map +1 -0
- package/dist/{chunk-34C2EKWJ.js → chunk-UVVVR4XO.js} +38 -38
- package/dist/chunk-UVVVR4XO.js.map +1 -0
- package/dist/{chunk-KSBDLCZI.js → chunk-VBI7HGHB.js} +11 -11
- package/dist/{chunk-KSBDLCZI.js.map → chunk-VBI7HGHB.js.map} +1 -1
- package/dist/{chunk-PBSN4RTV.js → chunk-VJRTDKXS.js} +590 -450
- package/dist/chunk-VJRTDKXS.js.map +1 -0
- package/dist/{chunk-IG5LZ3WU.js → chunk-VTETQCR6.js} +10 -10
- package/dist/chunk-VTETQCR6.js.map +1 -0
- package/dist/{chunk-EFLKSMCO.js → chunk-VUJXZDCY.js} +5 -5
- package/dist/{chunk-EFLKSMCO.js.map → chunk-VUJXZDCY.js.map} +1 -1
- package/dist/{chunk-V3D4HQMS.js → chunk-VXEYX73S.js} +4 -4
- package/dist/{chunk-V3D4HQMS.js.map → chunk-VXEYX73S.js.map} +1 -1
- package/dist/{chunk-M3WPBTGJ.js → chunk-WD3L5QSU.js} +2 -2
- package/dist/{chunk-M3WPBTGJ.js.map → chunk-WD3L5QSU.js.map} +1 -1
- package/dist/chunk-WDAIWDLK.js +505 -0
- package/dist/chunk-WDAIWDLK.js.map +1 -0
- package/dist/{chunk-IW6F6R2W.js → chunk-WEH33JSG.js} +105 -35
- package/dist/chunk-WEH33JSG.js.map +1 -0
- package/dist/{chunk-OYIENLJI.js → chunk-WYHQUCHR.js} +15 -15
- package/dist/{chunk-OYIENLJI.js.map → chunk-WYHQUCHR.js.map} +1 -1
- package/dist/{chunk-R6O6YWU7.js → chunk-WYZXSJBK.js} +3 -3
- package/dist/{chunk-R6O6YWU7.js.map → chunk-WYZXSJBK.js.map} +1 -1
- package/dist/{chunk-B4X2N7JQ.js → chunk-XFIEVEU7.js} +14 -14
- package/dist/chunk-XFIEVEU7.js.map +1 -0
- package/dist/{chunk-Q6E6FM7P.js → chunk-XKNXPLKR.js} +6 -6
- package/dist/{chunk-Q6E6FM7P.js.map → chunk-XKNXPLKR.js.map} +1 -1
- package/dist/chunk-Y2TO2U7W.js +285 -0
- package/dist/chunk-Y2TO2U7W.js.map +1 -0
- package/dist/{chunk-JYWW32JI.js → chunk-YGRZNFRO.js} +18 -6
- package/dist/chunk-YGRZNFRO.js.map +1 -0
- package/dist/{chunk-5BEFNLOR.js → chunk-Z7ZEZZB6.js} +8 -8
- package/dist/chunk-Z7ZEZZB6.js.map +1 -0
- package/dist/{chunk-PHRNUTSG.js → chunk-ZFUZ5AKM.js} +4 -4
- package/dist/{chunk-PHRNUTSG.js.map → chunk-ZFUZ5AKM.js.map} +1 -1
- package/dist/claude-code-VJGYBXQR.js +10 -0
- package/dist/claude-code-VJGYBXQR.js.map +1 -0
- package/dist/cli/index.js +930 -685
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/agent-checks.d.ts +5 -0
- package/dist/cli/src/agent-checks.d.ts.map +1 -1
- package/dist/cli/src/agent-pins.d.ts +18 -0
- package/dist/cli/src/agent-pins.d.ts.map +1 -0
- package/dist/cli/src/commands/catalog.d.ts +9 -3
- package/dist/cli/src/commands/catalog.d.ts.map +1 -1
- package/dist/cli/src/commands/complete-resolvers.d.ts.map +1 -1
- package/dist/cli/src/commands/config.d.ts +2 -2
- package/dist/cli/src/commands/config.d.ts.map +1 -1
- package/dist/cli/src/commands/diff.d.ts.map +1 -1
- package/dist/cli/src/commands/flow.d.ts +8 -8
- package/dist/cli/src/commands/flow.d.ts.map +1 -1
- package/dist/cli/src/commands/integration.d.ts +1 -1
- package/dist/cli/src/commands/integration.d.ts.map +1 -1
- package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/library-index.d.ts +17 -5
- package/dist/cli/src/commands/library-index.d.ts.map +1 -1
- package/dist/cli/src/commands/library-publish.d.ts +3 -0
- package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
- package/dist/cli/src/commands/migrate-assets.d.ts +2 -0
- package/dist/cli/src/commands/migrate-assets.d.ts.map +1 -1
- package/dist/cli/src/commands/migrate-files.d.ts +14 -0
- package/dist/cli/src/commands/migrate-files.d.ts.map +1 -1
- package/dist/cli/src/commands/migrate-harness.d.ts +49 -0
- package/dist/cli/src/commands/migrate-harness.d.ts.map +1 -0
- package/dist/cli/src/commands/migrate.d.ts +4 -2
- package/dist/cli/src/commands/migrate.d.ts.map +1 -1
- package/dist/cli/src/commands/outdated.d.ts.map +1 -1
- package/dist/cli/src/commands/plugin/claude-code.d.ts +6 -0
- package/dist/cli/src/commands/plugin/claude-code.d.ts.map +1 -1
- package/dist/cli/src/commands/plugin/codex.d.ts +19 -4
- package/dist/cli/src/commands/plugin/codex.d.ts.map +1 -1
- package/dist/cli/src/commands/plugin/types.d.ts +1 -6
- package/dist/cli/src/commands/plugin/types.d.ts.map +1 -1
- package/dist/cli/src/commands/plugin-registry-cmd.d.ts +1 -1
- package/dist/cli/src/commands/preset-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/preset-export.d.ts +1 -1
- package/dist/cli/src/commands/project.d.ts +7 -4
- package/dist/cli/src/commands/project.d.ts.map +1 -1
- package/dist/cli/src/commands/providers.d.ts +13 -0
- package/dist/cli/src/commands/providers.d.ts.map +1 -1
- package/dist/cli/src/commands/run.d.ts +2 -2
- package/dist/cli/src/commands/run.d.ts.map +1 -1
- package/dist/cli/src/commands/serve-preflight.d.ts +30 -7
- package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -1
- package/dist/cli/src/commands/serve.d.ts +1 -1
- package/dist/cli/src/commands/serve.d.ts.map +1 -1
- package/dist/cli/src/commands/update.d.ts.map +1 -1
- package/dist/cli/src/commands/validate.d.ts.map +1 -1
- package/dist/cli/src/flow-discovery.d.ts +69 -53
- package/dist/cli/src/flow-discovery.d.ts.map +1 -1
- package/dist/cli/src/harness-error.d.ts +47 -0
- package/dist/cli/src/harness-error.d.ts.map +1 -0
- package/dist/cli/src/helpers.d.ts +5 -5
- package/dist/cli/src/helpers.d.ts.map +1 -1
- package/dist/cli/src/plugin-store/index.d.ts +8 -4
- package/dist/cli/src/plugin-store/index.d.ts.map +1 -1
- package/dist/cli/src/setup.d.ts +3 -3
- package/dist/cli/src/setup.d.ts.map +1 -1
- package/dist/cli/src/skill-checks.d.ts +32 -1
- package/dist/cli/src/skill-checks.d.ts.map +1 -1
- package/dist/connectors/config.js +4 -4
- package/dist/connectors/index.js +29 -27
- package/dist/connectors/src/connector-prompt.d.ts +5 -5
- package/dist/connectors/src/connector-registry.d.ts +1 -1
- package/dist/connectors-CXZLXAFZ.js +48 -0
- package/dist/{connectors-YNQ3WJGM.js.map → connectors-CXZLXAFZ.js.map} +1 -1
- package/dist/connectors-shared/index.js +2 -2
- package/dist/core/discovery.js +1 -1
- package/dist/core/framework.js +1 -1
- package/dist/{bridge/drivers/codex.d.ts → core/harness-targets.d.ts} +1 -1
- package/dist/core/harness-targets.js +4 -0
- package/dist/core/harness-targets.js.map +1 -0
- package/dist/core/index.js +10 -10
- package/dist/core/provider-registry-credentials.js +2 -2
- package/dist/core/provider-registry.js +1 -1
- package/dist/core/publish-manifest.js +1 -1
- package/dist/core/runtime-assets.js +4 -4
- package/dist/core/src/asset-roots.d.ts +16 -2
- package/dist/core/src/asset-roots.d.ts.map +1 -1
- package/dist/core/src/bind.d.ts +33 -14
- package/dist/core/src/bind.d.ts.map +1 -1
- package/dist/core/src/discovery.d.ts +1 -1
- package/dist/core/src/framework.d.ts +21 -21
- package/dist/core/src/framework.d.ts.map +1 -1
- package/dist/core/src/{driver-sdk.d.ts → harness-sdk.d.ts} +9 -9
- package/dist/core/src/harness-sdk.d.ts.map +1 -0
- package/dist/core/src/harness-targets.d.ts +71 -0
- package/dist/core/src/harness-targets.d.ts.map +1 -0
- package/dist/core/src/index.d.ts +11 -11
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/lock.d.ts +8 -0
- package/dist/core/src/lock.d.ts.map +1 -1
- package/dist/core/src/provider-registry.d.ts +2 -2
- package/dist/core/src/publish-manifest.d.ts +45 -10
- package/dist/core/src/publish-manifest.d.ts.map +1 -1
- package/dist/core/src/settings.d.ts +17 -16
- package/dist/core/src/settings.d.ts.map +1 -1
- package/dist/core/src/store.d.ts +12 -12
- package/dist/core/src/store.d.ts.map +1 -1
- package/dist/core/src/workspace-config.d.ts +49 -22
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/src/workspace-yaml-editor.d.ts +1 -1
- package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
- package/dist/core/store.js +2 -2
- package/dist/core/workspace-config.js +3 -3
- package/dist/deploy/index.js +11 -11
- package/dist/discovery/index.js +3 -3
- package/dist/discovery/src/discover-manifest.d.ts +1 -1
- package/dist/discovery/src/discover-manifest.d.ts.map +1 -1
- package/dist/discovery/src/discover.d.ts.map +1 -1
- package/dist/discovery/src/tree-entries.d.ts.map +1 -1
- package/dist/{ensure-sources-UJWEZSR3.js → ensure-sources-UPTHZKGF.js} +20 -20
- package/dist/{ensure-sources-UJWEZSR3.js.map → ensure-sources-UPTHZKGF.js.map} +1 -1
- package/dist/factory-assets/connectors/box.js +29 -27
- package/dist/factory-assets/connectors/deploy.js +29 -27
- package/dist/factory-assets/connectors/devserver.js +29 -27
- package/dist/factory-assets/connectors/flow/CONNECTOR.md +5 -5
- package/dist/factory-assets/connectors/flow/adapter.d.ts +3 -3
- package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/adapter.js +29 -27
- package/dist/factory-assets/connectors/flow/engine/loader.d.ts +1 -1
- package/dist/factory-assets/connectors/flow/engine/locate.d.ts +8 -5
- package/dist/factory-assets/connectors/flow/engine/locate.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/engine/types.d.ts +1 -1
- package/dist/factory-assets/connectors/flow/engine.js +11 -11
- package/dist/factory-assets/connectors/flow/inline-sub-flow-host.d.ts +2 -2
- package/dist/factory-assets/connectors/flow/inline-sub-flow-host.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/orchestrator-turn.d.ts +4 -4
- package/dist/factory-assets/connectors/flow/orchestrator-turn.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/prompt-fragments.d.ts +1 -1
- package/dist/factory-assets/connectors/flow/prompt-fragments.js +1 -1
- package/dist/factory-assets/connectors/flow/run-flow.d.ts +12 -12
- package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/run-flow.js +30 -28
- package/dist/factory-assets/connectors/flow/sub-flow-runner.d.ts +1 -1
- package/dist/factory-assets/connectors/flow/sub-flow-runner.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/subprompt-runner.d.ts +22 -22
- package/dist/factory-assets/connectors/flow/subprompt-runner.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow.js +29 -27
- package/dist/factory-assets/connectors/git.js +29 -27
- package/dist/factory-assets/connectors/gmail.js +29 -27
- package/dist/factory-assets/connectors/googledrive.js +29 -27
- package/dist/factory-assets/connectors/local.js +29 -27
- package/dist/factory-assets/connectors/mattermost.js +29 -27
- package/dist/factory-assets/connectors/memory.js +29 -27
- package/dist/factory-assets/connectors/minio.js +29 -27
- package/dist/factory-assets/connectors/postgres.js +29 -27
- package/dist/factory-assets/connectors/s3.js +29 -27
- package/dist/factory-assets/connectors/sharepoint.js +29 -27
- package/dist/factory-assets/connectors/sqlite.js +29 -27
- package/dist/factory-assets/connectors/static-server.js +29 -27
- package/dist/factory-assets/connectors/tunnel.js +29 -27
- package/dist/factory-assets/connectors/webdav.js +29 -27
- package/dist/factory-assets/connectors/xstate/adapter.d.ts +1 -1
- package/dist/factory-assets/connectors/xstate/adapter.d.ts.map +1 -1
- package/dist/factory-assets/connectors/xstate-store.js +29 -27
- package/dist/factory-assets/connectors/xstate.js +29 -27
- package/dist/factory-assets/skills/skaile-manage-workspace/SKILL.md +1 -1
- package/dist/flows-TJQIMGUX.js +26 -0
- package/dist/{flows-BHY73K3O.js.map → flows-TJQIMGUX.js.map} +1 -1
- package/dist/{helpers-3CG7ZVX4.js → helpers-DE53KG3E.js} +20 -20
- package/dist/{helpers-3CG7ZVX4.js.map → helpers-DE53KG3E.js.map} +1 -1
- package/dist/library/index.js +14 -14
- package/dist/library/install.js +2 -2
- package/dist/library/src/index.d.ts +1 -1
- package/dist/library/src/index.d.ts.map +1 -1
- package/dist/library/src/manifest-writer.d.ts +13 -0
- package/dist/library/src/manifest-writer.d.ts.map +1 -1
- package/dist/{library-publish-NWWVYJUK.js → library-publish-KKQ2ULLX.js} +140 -63
- package/dist/library-publish-KKQ2ULLX.js.map +1 -0
- package/dist/model-endpoint/index.js +14 -14
- package/dist/model-endpoint/src/resolve.d.ts +1 -1
- package/dist/open-library-RJGJIW5H.js +42 -0
- package/dist/{open-library-7ZG2FFAX.js.map → open-library-RJGJIW5H.js.map} +1 -1
- package/dist/open-registry-3QS3J7KO.js +32 -0
- package/dist/{open-registry-RBELV5YH.js.map → open-registry-3QS3J7KO.js.map} +1 -1
- package/dist/paths-QAV4C3KX.js +22 -0
- package/dist/{paths-BFM6K2QO.js.map → paths-QAV4C3KX.js.map} +1 -1
- package/dist/plugin-registry/index.js +1 -1
- package/dist/plugin-registry/src/context.d.ts +3 -3
- package/dist/plugin-registry/src/context.d.ts.map +1 -1
- package/dist/plugin-registry/src/deploy-handle.d.ts +1 -1
- package/dist/plugin-registry/src/index.d.ts +2 -2
- package/dist/plugin-registry/src/index.d.ts.map +1 -1
- package/dist/plugin-registry/src/internal.d.ts.map +1 -1
- package/dist/plugin-registry/src/registry.d.ts +3 -3
- package/dist/plugin-registry/src/registry.d.ts.map +1 -1
- package/dist/plugin-registry/src/targets.d.ts +9 -9
- package/dist/plugin-registry/src/targets.d.ts.map +1 -1
- package/dist/plugin-store-MSH6GK6T.js +23 -0
- package/dist/{plugin-store-QOQDM24E.js.map → plugin-store-MSH6GK6T.js.map} +1 -1
- package/dist/plugins/src/asset-kind-provider.d.ts +1 -1
- package/dist/project-HZW2MZPA.js +84 -0
- package/dist/{project-YQM3I25D.js.map → project-HZW2MZPA.js.map} +1 -1
- package/dist/resolver/index.js +10 -10
- package/dist/runner/index.js +45 -44
- package/dist/runner/src/agent.d.ts +3 -3
- package/dist/runner/src/agent.d.ts.map +1 -1
- package/dist/runner/src/agents/in-process-host.d.ts +1 -1
- package/dist/runner/src/agents/instances.d.ts +1 -1
- package/dist/runner/src/agents/instances.d.ts.map +1 -1
- package/dist/runner/src/agents/run-controller.d.ts +7 -7
- package/dist/runner/src/agents/run-controller.d.ts.map +1 -1
- package/dist/runner/src/agents/standalone-surface.d.ts +2 -2
- package/dist/runner/src/agents/standalone-surface.d.ts.map +1 -1
- package/dist/runner/src/ai-provider-switch.d.ts +7 -7
- package/dist/runner/src/assistant-home.d.ts +1 -1
- package/dist/runner/src/capability-registry.d.ts +2 -2
- package/dist/runner/src/coalesced-restart.d.ts +2 -2
- package/dist/runner/src/compaction/context-window.d.ts +8 -8
- package/dist/runner/src/compaction/context-window.d.ts.map +1 -1
- package/dist/runner/src/compaction/orchestrator.d.ts +24 -24
- package/dist/runner/src/compaction/orchestrator.d.ts.map +1 -1
- package/dist/runner/src/compaction-gate.d.ts +30 -30
- package/dist/runner/src/compaction-gate.d.ts.map +1 -1
- package/dist/runner/src/composition/compile.d.ts +11 -0
- package/dist/runner/src/composition/compile.d.ts.map +1 -1
- package/dist/runner/src/composition/dry-run.d.ts +2 -2
- package/dist/runner/src/composition/dry-run.d.ts.map +1 -1
- package/dist/runner/src/composition/index.d.ts +1 -1
- package/dist/runner/src/composition/index.d.ts.map +1 -1
- package/dist/runner/src/composition/resolve-instance.d.ts +2 -2
- package/dist/runner/src/composition/resolve.d.ts +1 -1
- package/dist/runner/src/config.d.ts +3 -3
- package/dist/runner/src/config.d.ts.map +1 -1
- package/dist/runner/src/context-usage/collector.d.ts +15 -15
- package/dist/runner/src/context-usage/collector.d.ts.map +1 -1
- package/dist/runner/src/context-usage/compose.d.ts +6 -6
- package/dist/runner/src/context-usage/compose.d.ts.map +1 -1
- package/dist/runner/src/context-usage/estimator.d.ts +1 -1
- package/dist/runner/src/context-usage/index.d.ts +1 -1
- package/dist/runner/src/context-usage/index.d.ts.map +1 -1
- package/dist/runner/src/context-usage/transcript-tracker.d.ts +2 -2
- package/dist/runner/src/context-usage/transcript-tracker.d.ts.map +1 -1
- package/dist/runner/src/credential-notice.d.ts +3 -3
- package/dist/runner/src/credential-notice.d.ts.map +1 -1
- package/dist/runner/src/credential-rotated.d.ts +1 -1
- package/dist/runner/src/final-text.d.ts +1 -1
- package/dist/runner/src/{driver-swap-gate.d.ts → harness-swap-gate.d.ts} +21 -21
- package/dist/runner/src/harness-swap-gate.d.ts.map +1 -0
- package/dist/runner/src/late-mcp-rebuild.d.ts +6 -6
- package/dist/runner/src/late-mcp-rebuild.d.ts.map +1 -1
- package/dist/runner/src/lifecycle-handler.d.ts +1 -1
- package/dist/runner/src/lifecycle-handler.d.ts.map +1 -1
- package/dist/runner/src/manifest.d.ts +1 -1
- package/dist/runner/src/mcp-runtime-handlers.d.ts +6 -6
- package/dist/runner/src/mcp-runtime-handlers.d.ts.map +1 -1
- package/dist/runner/src/model-endpoint-discovery.d.ts +1 -1
- package/dist/runner/src/pending-turns.d.ts +3 -3
- package/dist/runner/src/platform-blocks.d.ts +5 -5
- package/dist/runner/src/platform-blocks.d.ts.map +1 -1
- package/dist/runner/src/prompt-turn-queue.d.ts +1 -1
- package/dist/runner/src/provider-quota-forwarder.d.ts +1 -1
- package/dist/runner/src/provider-quota-forwarder.d.ts.map +1 -1
- package/dist/runner/src/reconfigure-handler.d.ts +14 -14
- package/dist/runner/src/reconfigure-handler.d.ts.map +1 -1
- package/dist/runner/src/resource-handler.d.ts +1 -1
- package/dist/runner/src/resources.d.ts +5 -5
- package/dist/runner/src/resources.d.ts.map +1 -1
- package/dist/runner/src/runner-capabilities.d.ts +7 -7
- package/dist/runner/src/runtime-session-emit.d.ts +5 -5
- package/dist/runner/src/runtime-session-emit.d.ts.map +1 -1
- package/dist/runner/src/s3-presign-client.d.ts +1 -1
- package/dist/runner/src/serve-credentials.d.ts +7 -7
- package/dist/runner/src/serve-credentials.d.ts.map +1 -1
- package/dist/runner/src/serve.d.ts +32 -32
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/runner/src/session-builder.d.ts +41 -41
- package/dist/runner/src/session-builder.d.ts.map +1 -1
- package/dist/runner/src/session-capability-wiring.d.ts +9 -9
- package/dist/runner/src/session-capability-wiring.d.ts.map +1 -1
- package/dist/runner/src/session-stimulus.d.ts +1 -1
- package/dist/runner/src/session.d.ts +5 -5
- package/dist/runner/src/session.d.ts.map +1 -1
- package/dist/runner/src/skill-staging.d.ts +16 -16
- package/dist/runner/src/skill-staging.d.ts.map +1 -1
- package/dist/runner/src/turn-end-contract.d.ts +55 -0
- package/dist/runner/src/turn-end-contract.d.ts.map +1 -0
- package/dist/runner/src/turn-scheduler.d.ts +27 -22
- package/dist/runner/src/turn-scheduler.d.ts.map +1 -1
- package/dist/runner/src/turn-status-replay.d.ts +1 -1
- package/dist/runner/src/usage-limit-turn-hold.d.ts +1 -1
- package/dist/sdk/asset-manager.js +17 -17
- package/dist/sdk/bridge.js +24 -22
- package/dist/sdk/core.js +10 -10
- package/dist/sdk/flow.js +11 -11
- package/dist/sdk/index.js +49 -48
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/resolver.js +10 -10
- package/dist/sdk/runner.js +45 -44
- package/dist/sdk/session.js +2 -2
- package/dist/sdk/src/agent-session.d.ts +1 -1
- package/dist/sdk/src/local-runtime.d.ts +1 -1
- package/dist/sdk/src/local-runtime.d.ts.map +1 -1
- package/dist/sdk/src/types.d.ts +1 -1
- package/dist/sdk/src/types.d.ts.map +1 -1
- package/dist/sdk/store.js +2 -2
- package/dist/sdk/transport/ws/server.js +11 -11
- package/dist/sdk/transport/ws.js +11 -11
- package/dist/sdk/transport.js +11 -11
- package/dist/sdk/types.js +1 -1
- package/dist/serve-preflight-L4POEHNQ.js +108 -0
- package/dist/serve-preflight-L4POEHNQ.js.map +1 -0
- package/dist/session/index.js +2 -2
- package/dist/session/src/dispatcher.d.ts +2 -2
- package/dist/sessions-2Q7SSYPT.js +5 -0
- package/dist/{sessions-DICDEONJ.js.map → sessions-2Q7SSYPT.js.map} +1 -1
- package/dist/{setup-AAHVAXRA.js → setup-AGYB4PKR.js} +50 -48
- package/dist/setup-AGYB4PKR.js.map +1 -0
- package/dist/skills-2LMQ2IAD.js +26 -0
- package/dist/{skills-RSZVUIYZ.js.map → skills-2LMQ2IAD.js.map} +1 -1
- package/dist/source-GBMYD3RO.js +85 -0
- package/dist/{source-KWMCMEMB.js.map → source-GBMYD3RO.js.map} +1 -1
- package/dist/{source-manifest-publish-EDYKM4YZ.js → source-manifest-publish-FK22TVQT.js} +57 -56
- package/dist/source-manifest-publish-FK22TVQT.js.map +1 -0
- package/dist/store/index.js +2 -2
- package/dist/store/src/store.d.ts +3 -3
- package/dist/store/src/store.d.ts.map +1 -1
- package/dist/transport/index.js +11 -11
- package/dist/transport/src/ws/server.d.ts +1 -1
- package/dist/transport/src/ws/server.d.ts.map +1 -1
- package/dist/transport/ws/server.js +11 -11
- package/dist/transport/ws.js +11 -11
- package/dist/tui/index.js +65 -64
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/src/repl-session.d.ts +5 -5
- package/dist/tui/src/repl.d.ts +5 -5
- package/dist/tui/src/repl.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/manifests.js +1 -1
- package/dist/types/src/agent-lifecycle.d.ts +1 -1
- package/dist/types/src/agent-lifecycle.d.ts.map +1 -1
- package/dist/types/src/ask-slots.d.ts +1 -1
- package/dist/types/src/capabilities.d.ts +1 -1
- package/dist/types/src/context-usage.d.ts +22 -22
- package/dist/types/src/context-usage.d.ts.map +1 -1
- package/dist/types/src/events.d.ts +49 -49
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/lifecycle.d.ts +6 -6
- package/dist/types/src/lifecycle.d.ts.map +1 -1
- package/dist/types/src/logging.d.ts +1 -1
- package/dist/types/src/manifests/agent.d.ts +3 -3
- package/dist/types/src/manifests/scaffold-body.d.ts +6 -3
- package/dist/types/src/manifests/scaffold-body.d.ts.map +1 -1
- package/dist/types/src/protocol.d.ts +4 -4
- package/dist/types/src/runtime.d.ts +38 -38
- package/dist/types/src/runtime.d.ts.map +1 -1
- package/dist/types/src/version.d.ts +22 -11
- package/dist/types/src/version.d.ts.map +1 -1
- package/dist/validator-DRHMJ457.js +5 -0
- package/dist/{validator-FA2PFW6N.js.map → validator-DRHMJ457.js.map} +1 -1
- package/dist/workspace-plugin/adapters/mcp.js +36 -34
- package/dist/workspace-plugin/adapters/omp.js +26 -26
- package/dist/workspace-plugin/adapters/omp.js.map +1 -1
- package/dist/workspace-plugin/index.js +3 -3
- package/dist/workspace-plugin/src/plugin.d.ts +5 -5
- package/dist/workspace-plugin/src/plugin.d.ts.map +1 -1
- package/dist/workspace-plugin/src/tools/flows.d.ts +1 -1
- package/dist/workspace-plugin/src/tools/validator.d.ts +6 -6
- package/dist/workspace-plugin/src/tools/validator.d.ts.map +1 -1
- package/dist/workspace-plugin/src/types.d.ts +2 -2
- package/dist/workspace-plugin/src/types.d.ts.map +1 -1
- package/package.json +59 -59
- package/dist/bridge/drivers/claude-sdk.js.map +0 -1
- package/dist/bridge/drivers/codex.js.map +0 -1
- package/dist/bridge/drivers/continue.js.map +0 -1
- package/dist/bridge/drivers/echo.js.map +0 -1
- package/dist/bridge/drivers/gemini.js +0 -18
- package/dist/bridge/drivers/goose.js.map +0 -1
- package/dist/bridge/drivers/omp.js.map +0 -1
- package/dist/bridge/drivers/opencode.js.map +0 -1
- package/dist/bridge/drivers/qwen.js.map +0 -1
- package/dist/bridge/src/codex/managed-driver.d.ts.map +0 -1
- package/dist/bridge/src/driver-capabilities.d.ts.map +0 -1
- package/dist/bridge/src/driver-model-check.d.ts +0 -21
- package/dist/bridge/src/driver-model-check.d.ts.map +0 -1
- package/dist/bridge/src/drivers/_subprocess-cli.d.ts.map +0 -1
- package/dist/bridge/src/drivers/claude-context-usage.d.ts.map +0 -1
- package/dist/bridge/src/drivers/claude-sdk.d.ts.map +0 -1
- package/dist/bridge/src/drivers/claude-self-turns.d.ts.map +0 -1
- package/dist/bridge/src/drivers/claude-tool-allowlist.d.ts.map +0 -1
- package/dist/bridge/src/drivers/codex.d.ts.map +0 -1
- package/dist/bridge/src/drivers/continue.d.ts.map +0 -1
- package/dist/bridge/src/drivers/echo.d.ts.map +0 -1
- package/dist/bridge/src/drivers/flow-script.d.ts.map +0 -1
- package/dist/bridge/src/drivers/gemini.d.ts.map +0 -1
- package/dist/bridge/src/drivers/goose.d.ts.map +0 -1
- package/dist/bridge/src/drivers/omp-models-yml.d.ts.map +0 -1
- package/dist/bridge/src/drivers/omp.d.ts.map +0 -1
- package/dist/bridge/src/drivers/opencode.d.ts.map +0 -1
- package/dist/bridge/src/drivers/qwen.d.ts.map +0 -1
- package/dist/bridge/src/drivers/recovery-policy.d.ts.map +0 -1
- package/dist/bridge/src/drivers/resume-probe.d.ts.map +0 -1
- package/dist/bridge/src/drivers/sanitize-assistant-text.d.ts.map +0 -1
- package/dist/bridge/src/drivers/scrub-transcript.d.ts.map +0 -1
- package/dist/bridge/src/provider-materialize/env-drivers.d.ts.map +0 -1
- package/dist/chunk-2NOLF7B2.js.map +0 -1
- package/dist/chunk-34C2EKWJ.js.map +0 -1
- package/dist/chunk-3KMREAR2.js.map +0 -1
- package/dist/chunk-4ZTPYIBE.js.map +0 -1
- package/dist/chunk-5BEFNLOR.js.map +0 -1
- package/dist/chunk-5TBFN46Z.js.map +0 -1
- package/dist/chunk-6E6PKKAD.js.map +0 -1
- package/dist/chunk-7ANRSTNR.js.map +0 -1
- package/dist/chunk-7FHZB2QU.js.map +0 -1
- package/dist/chunk-AIBAOXDU.js.map +0 -1
- package/dist/chunk-AJ7EGIFR.js.map +0 -1
- package/dist/chunk-B4X2N7JQ.js.map +0 -1
- package/dist/chunk-BBWSGVVE.js.map +0 -1
- package/dist/chunk-BO426QWN.js.map +0 -1
- package/dist/chunk-CKICWXMU.js.map +0 -1
- package/dist/chunk-CKNIYIV2.js.map +0 -1
- package/dist/chunk-D6UBEYQH.js.map +0 -1
- package/dist/chunk-EAZECHPM.js.map +0 -1
- package/dist/chunk-EPBKISS5.js.map +0 -1
- package/dist/chunk-GBYNC5V3.js.map +0 -1
- package/dist/chunk-GOK4QRJR.js.map +0 -1
- package/dist/chunk-HPVMTX6M.js.map +0 -1
- package/dist/chunk-IG5LZ3WU.js.map +0 -1
- package/dist/chunk-IW6F6R2W.js.map +0 -1
- package/dist/chunk-IZCR27MU.js.map +0 -1
- package/dist/chunk-JYWW32JI.js.map +0 -1
- package/dist/chunk-KY4UXX7M.js.map +0 -1
- package/dist/chunk-L2AMXONH.js.map +0 -1
- package/dist/chunk-LW7ZI6EQ.js.map +0 -1
- package/dist/chunk-MJHSLODD.js.map +0 -1
- package/dist/chunk-PBSN4RTV.js.map +0 -1
- package/dist/chunk-RP3FZ2T6.js.map +0 -1
- package/dist/chunk-SRNCN4X2.js.map +0 -1
- package/dist/chunk-T2TQAH2X.js.map +0 -1
- package/dist/chunk-U7V5SIFW.js.map +0 -1
- package/dist/chunk-VKPBUPH7.js.map +0 -1
- package/dist/chunk-VM3PH7BB.js.map +0 -1
- package/dist/chunk-WMF2C5U7.js.map +0 -1
- package/dist/chunk-X6GUNN7X.js.map +0 -1
- package/dist/chunk-XTO436PV.js.map +0 -1
- package/dist/chunk-Y56YIT6J.js.map +0 -1
- package/dist/chunk-YARXR3CN.js.map +0 -1
- package/dist/chunk-YROR332M.js.map +0 -1
- package/dist/chunk-YZ3N7IUU.js.map +0 -1
- package/dist/chunk-ZBMC6IAE.js.map +0 -1
- package/dist/cli/src/driver-error.d.ts +0 -21
- package/dist/cli/src/driver-error.d.ts.map +0 -1
- package/dist/connectors-YNQ3WJGM.js +0 -46
- package/dist/core/driver-targets.d.ts +0 -2
- package/dist/core/driver-targets.js +0 -4
- package/dist/core/driver-targets.js.map +0 -1
- package/dist/core/src/driver-sdk.d.ts.map +0 -1
- package/dist/core/src/driver-targets.d.ts +0 -71
- package/dist/core/src/driver-targets.d.ts.map +0 -1
- package/dist/flows-BHY73K3O.js +0 -26
- package/dist/library-publish-NWWVYJUK.js.map +0 -1
- package/dist/open-library-7ZG2FFAX.js +0 -42
- package/dist/open-registry-RBELV5YH.js +0 -32
- package/dist/paths-BFM6K2QO.js +0 -22
- package/dist/plugin-store-QOQDM24E.js +0 -23
- package/dist/project-YQM3I25D.js +0 -83
- package/dist/runner/src/driver-swap-gate.d.ts.map +0 -1
- package/dist/serve-preflight-5QMY7DBC.js +0 -60
- package/dist/serve-preflight-5QMY7DBC.js.map +0 -1
- package/dist/sessions-DICDEONJ.js +0 -5
- package/dist/setup-AAHVAXRA.js.map +0 -1
- package/dist/skills-RSZVUIYZ.js +0 -26
- package/dist/source-KWMCMEMB.js +0 -84
- package/dist/source-manifest-publish-EDYKM4YZ.js.map +0 -1
- package/dist/validator-FA2PFW6N.js +0 -5
- /package/dist/bridge/{drivers → harnesses}/gemini.js.map +0 -0
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { EventEmitter } from "node:events";
|
|
2
2
|
import type { Span, TelemetryProvider, Trace } from "@skaile/workspaces/telemetry";
|
|
3
|
-
import type { AgentPromptInput, Capability, CredentialMint, CodexCredentialDelivery, ContextUsageDetail,
|
|
3
|
+
import type { AgentPromptInput, Capability, CredentialMint, CodexCredentialDelivery, ContextUsageDetail, HarnessContextReport, HarnessInfo, ErrorRetryReason, CodexSubscriptionRefreshInput, CodexSubscriptionRefreshResult, FlowExecution, ModelTokenUsage, RenderInvokedEvent, TokenUsage } from "@skaile/workspaces/types";
|
|
4
4
|
import type { CodexServerRequestHandlers } from "./codex-app-server.js";
|
|
5
5
|
export type { AgentPromptInput } from "@skaile/workspaces/types";
|
|
6
6
|
import type { MergedAIProviderRegistry } from "@skaile/workspaces/core/provider-registry";
|
|
7
7
|
import type { ModelEntry } from "./models.js";
|
|
8
8
|
/**
|
|
9
|
-
* Test-only hook injected by the runner so a no-LLM
|
|
9
|
+
* Test-only hook injected by the runner so a no-LLM harness (the echo harness's
|
|
10
10
|
* scripted-flow mode) can read flow state and drive flow-adapter mutations
|
|
11
11
|
* without an SDK/MCP round-trip. The runner wires this in `createActiveFlow`
|
|
12
12
|
* from the active FlowAdapter + handle.
|
|
13
13
|
*
|
|
14
|
-
* This is an internal runner↔
|
|
15
|
-
* protocol or flow contract. Production
|
|
14
|
+
* This is an internal runner↔harness interface — NOT part of any wire
|
|
15
|
+
* protocol or flow contract. Production harnesses ignore it.
|
|
16
16
|
*
|
|
17
|
-
* @see packages/bridge/
|
|
17
|
+
* @see packages/bridge/harnesses/echo — scripted-flow mode
|
|
18
18
|
* @since 3.6.0
|
|
19
19
|
*/
|
|
20
|
-
export interface
|
|
20
|
+
export interface FlowTestHarnessHook {
|
|
21
21
|
/** Current flow execution snapshot, or `null` when no flow is active. */
|
|
22
22
|
getState(): FlowExecution | null;
|
|
23
23
|
/**
|
|
@@ -36,7 +36,7 @@ export interface FlowTestDriverHook {
|
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* Minimal LLM tool descriptor used by the capability dispatch path. Mirrors
|
|
39
|
-
* the runner's `LLMTool` shape so
|
|
39
|
+
* the runner's `LLMTool` shape so harnesses can consume registry output without
|
|
40
40
|
* importing `@skaile/workspaces/runner` (which would create a circular dep).
|
|
41
41
|
*
|
|
42
42
|
* @category Capabilities
|
|
@@ -75,12 +75,12 @@ export type BridgeRenderEmit = (event: RenderInvokedEvent) => void;
|
|
|
75
75
|
*/
|
|
76
76
|
export type BridgeTextEmit = (text: string) => void;
|
|
77
77
|
/**
|
|
78
|
-
* Bundle of capability dispatch hooks. Registered into the
|
|
79
|
-
* `AgentConfig.capabilities`; the
|
|
78
|
+
* Bundle of capability dispatch hooks. Registered into the harness via
|
|
79
|
+
* `AgentConfig.capabilities`; the harness routes registered LLM tool calls
|
|
80
80
|
* back into `invoke()` instead of using its native dispatch path.
|
|
81
81
|
*
|
|
82
82
|
* The runner constructs this from a `CapabilityRegistry` instance and threads
|
|
83
|
-
* it through `createAgentSession()`.
|
|
83
|
+
* it through `createAgentSession()`. Harnesses that don't yet implement
|
|
84
84
|
* capability dispatch ignore the field — legacy v1 paths stay intact.
|
|
85
85
|
*
|
|
86
86
|
* @category Capabilities
|
|
@@ -97,7 +97,7 @@ export interface BridgeCapabilityHooks {
|
|
|
97
97
|
* registry.
|
|
98
98
|
*
|
|
99
99
|
* `callId` is the per-dispatch id minted by `dispatchCapability`. It MUST be
|
|
100
|
-
* unique per process (never a
|
|
100
|
+
* unique per process (never a harness/provider tool-call id, which only the
|
|
101
101
|
* model backend keeps unique): it is the `render_invoked.callId`, the
|
|
102
102
|
* registry's log correlation id, the handler's `ctx.callId` and — for client
|
|
103
103
|
* capabilities — the `capability_invoked.callId` keying the runner's pending
|
|
@@ -116,18 +116,18 @@ export interface BridgeCapabilityHooks {
|
|
|
116
116
|
sessionId: string;
|
|
117
117
|
}
|
|
118
118
|
/**
|
|
119
|
-
* Static metadata for a registered agent
|
|
119
|
+
* Static metadata for a registered agent harness (the coding-agent product it drives).
|
|
120
120
|
*
|
|
121
121
|
* Declared once in `@skaile/workspaces/types` — it is protocol surface (the
|
|
122
122
|
* platform reads `surfaces` to decide which AI provider registry entries a
|
|
123
|
-
*
|
|
123
|
+
* harness can serve) and was previously duplicated here field-for-field.
|
|
124
124
|
*
|
|
125
|
-
* Returned by {@link
|
|
126
|
-
* instance via `
|
|
125
|
+
* Returned by {@link listHarnesses} and exposed on every {@link AgentHarness}
|
|
126
|
+
* instance via `harnessInfo`.
|
|
127
127
|
*
|
|
128
|
-
* @docLink packages/bridge/concepts#
|
|
128
|
+
* @docLink packages/bridge/concepts#harness-info
|
|
129
129
|
*/
|
|
130
|
-
export type {
|
|
130
|
+
export type { HarnessInfo };
|
|
131
131
|
/** Closed, passive managed-MCP observations. Counts saturate at 512. */
|
|
132
132
|
export interface CodexNativeMcpDiagnostics {
|
|
133
133
|
startupBeforeTurn: "unknown" | "starting" | "ready" | "failed" | "cancelled";
|
|
@@ -189,12 +189,12 @@ export interface CodexManagedRuntimeOptions {
|
|
|
189
189
|
interactionTimeoutMs?: number;
|
|
190
190
|
}
|
|
191
191
|
/**
|
|
192
|
-
* Codex-specific tuning options passed through `
|
|
192
|
+
* Codex-specific tuning options passed through `HarnessOptions.codex`.
|
|
193
193
|
*
|
|
194
|
-
* @remarks These are forwarded verbatim to the Codex
|
|
195
|
-
* @docLink packages/bridge/concepts#codex-
|
|
194
|
+
* @remarks These are forwarded verbatim to the Codex harness and have no effect on other harnesses.
|
|
195
|
+
* @docLink packages/bridge/concepts#codex-harness-options
|
|
196
196
|
*/
|
|
197
|
-
export interface
|
|
197
|
+
export interface CodexHarnessOptions {
|
|
198
198
|
/** Omission retains the standalone SDK path; managed mode always requires App Server inputs. */
|
|
199
199
|
authSource?: "local" | "managed";
|
|
200
200
|
managedRuntime?: CodexManagedRuntimeOptions;
|
|
@@ -210,16 +210,16 @@ export interface CodexDriverOptions {
|
|
|
210
210
|
additionalDirectories?: string[];
|
|
211
211
|
}
|
|
212
212
|
/**
|
|
213
|
-
* omp-specific options passed through `
|
|
213
|
+
* omp-specific options passed through `HarnessOptions.omp`.
|
|
214
214
|
*
|
|
215
215
|
* They govern the session-private agent directory the omp adapter renders the
|
|
216
216
|
* provider registry into (`omp-models-yml.ts`); every one of them has a
|
|
217
217
|
* working default, so a caller that sets none still gets a correct session.
|
|
218
218
|
*
|
|
219
|
-
* @remarks Forwarded verbatim to the omp
|
|
219
|
+
* @remarks Forwarded verbatim to the omp harness; no effect on other harnesses.
|
|
220
220
|
* @see PROVIDER-CONFIG-PLAN.md §2.3
|
|
221
221
|
*/
|
|
222
|
-
export interface
|
|
222
|
+
export interface OmpHarnessOptions {
|
|
223
223
|
/**
|
|
224
224
|
* Explicit session-private agent directory for `PI_CODING_AGENT_DIR`.
|
|
225
225
|
* Defaults to `<cwd>/.omp/agent-home/<sessionId>`.
|
|
@@ -227,7 +227,7 @@ export interface OmpDriverOptions {
|
|
|
227
227
|
agentHome?: string;
|
|
228
228
|
/**
|
|
229
229
|
* Inherit the developer's own omp state (auth store, blobs, extensions) by
|
|
230
|
-
* symlinking {@link
|
|
230
|
+
* symlinking {@link OmpHarnessOptions.userAgentDir} into the session
|
|
231
231
|
* directory. Defaults to *on when that directory exists*, which is exactly
|
|
232
232
|
* the standalone case: a platform container has none, so its session starts
|
|
233
233
|
* empty. Set `false` to force an empty session directory regardless.
|
|
@@ -237,21 +237,21 @@ export interface OmpDriverOptions {
|
|
|
237
237
|
userAgentDir?: string;
|
|
238
238
|
}
|
|
239
239
|
/**
|
|
240
|
-
*
|
|
240
|
+
* Harness-specific configuration bag.
|
|
241
241
|
*
|
|
242
|
-
* Fields are keyed by
|
|
243
|
-
* through the common {@link AgentConfig} without breaking other
|
|
242
|
+
* Fields are keyed by harness ID so that callers can pass harness-specific options
|
|
243
|
+
* through the common {@link AgentConfig} without breaking other harnesses.
|
|
244
244
|
*
|
|
245
|
-
* @docLink packages/bridge/concepts#
|
|
245
|
+
* @docLink packages/bridge/concepts#harness-options
|
|
246
246
|
*/
|
|
247
|
-
export interface
|
|
248
|
-
/** Codex-specific options. Ignored by all other
|
|
249
|
-
codex?:
|
|
250
|
-
/** omp-specific options. Ignored by all other
|
|
251
|
-
omp?:
|
|
247
|
+
export interface HarnessOptions {
|
|
248
|
+
/** Codex-specific options. Ignored by all other harnesses. */
|
|
249
|
+
codex?: CodexHarnessOptions;
|
|
250
|
+
/** omp-specific options. Ignored by all other harnesses. */
|
|
251
|
+
omp?: OmpHarnessOptions;
|
|
252
252
|
}
|
|
253
253
|
/**
|
|
254
|
-
* What the
|
|
254
|
+
* What the harness tells the host about a turn blocked by an upstream usage
|
|
255
255
|
* limit. Everything but `configId` is best-effort: the SDK reports the limit
|
|
256
256
|
* window only on its structured telemetry, not on the error result text.
|
|
257
257
|
*
|
|
@@ -271,7 +271,7 @@ export interface LimitBlockedContext {
|
|
|
271
271
|
}
|
|
272
272
|
/**
|
|
273
273
|
* The host's verdict on a limit-blocked turn. `switched: true` is a promise
|
|
274
|
-
* that a different seat's credential is already on disk — the
|
|
274
|
+
* that a different seat's credential is already on disk — the harness acts on it
|
|
275
275
|
* by respawning the CLI and replaying the prompt, so returning it without
|
|
276
276
|
* having rewritten the credential file would just replay onto the dead seat.
|
|
277
277
|
*
|
|
@@ -288,7 +288,7 @@ export interface LimitFailoverResult {
|
|
|
288
288
|
* Why no switch happened: `same-config`, `standalone`,
|
|
289
289
|
* `platform-omitted-config-id` (the mint succeeded but named no seat, so a
|
|
290
290
|
* re-resolution is indistinguishable from none), or a `CredentialMint`
|
|
291
|
-
* failure code. Diagnostic only — the
|
|
291
|
+
* failure code. Diagnostic only — the harness branches on `switched`.
|
|
292
292
|
*/
|
|
293
293
|
reason?: string;
|
|
294
294
|
}
|
|
@@ -311,15 +311,15 @@ export interface ProviderResponseObservation {
|
|
|
311
311
|
/** Epoch seconds at which the limit window resets, when reported. */
|
|
312
312
|
resetsAt?: number;
|
|
313
313
|
/**
|
|
314
|
-
* What the 429 was, when the
|
|
314
|
+
* What the 429 was, when the harness recognised something narrower than a
|
|
315
315
|
* usage limit. `long-context-entitlement`: the account may not use a long
|
|
316
316
|
* (1M) context window; the seat is not out of quota. Diagnostic only — the
|
|
317
|
-
*
|
|
317
|
+
* harness still treats the rejection as before.
|
|
318
318
|
*/
|
|
319
319
|
cause?: ProviderResponseCause;
|
|
320
320
|
}
|
|
321
321
|
/**
|
|
322
|
-
* Why a 429 {@link ProviderResponseObservation} was rejected, when the
|
|
322
|
+
* Why a 429 {@link ProviderResponseObservation} was rejected, when the harness
|
|
323
323
|
* recognised it. Consumers must tolerate values they do not know.
|
|
324
324
|
*
|
|
325
325
|
* @category Configuration
|
|
@@ -358,14 +358,14 @@ export type AgentEffort = (typeof AGENT_EFFORT_LEVELS)[number];
|
|
|
358
358
|
/**
|
|
359
359
|
* Narrow a free-form effort (the wire `agentConfig.effort`, a `skaile.yaml`
|
|
360
360
|
* default) to an {@link AgentEffort}; anything else gives `undefined`, so an
|
|
361
|
-
* unknown value never reaches a
|
|
361
|
+
* unknown value never reaches a harness.
|
|
362
362
|
*/
|
|
363
363
|
export declare function toAgentEffort(value: unknown): AgentEffort | undefined;
|
|
364
364
|
/**
|
|
365
|
-
* Configuration passed to a
|
|
365
|
+
* Configuration passed to a harness when it is created via {@link createHarness}.
|
|
366
366
|
*
|
|
367
|
-
* All fields are shared across
|
|
368
|
-
* per field. Fields that are silently ignored by a
|
|
367
|
+
* All fields are shared across harnesses; harness-specific behaviour is documented
|
|
368
|
+
* per field. Fields that are silently ignored by a harness are marked accordingly.
|
|
369
369
|
*
|
|
370
370
|
* @docLink packages/bridge/concepts#agent-config
|
|
371
371
|
*/
|
|
@@ -376,22 +376,22 @@ export interface AgentConfig {
|
|
|
376
376
|
* LLM model identifier (e.g. `"claude-sonnet-4-5"`, `"gpt-4o"`).
|
|
377
377
|
*
|
|
378
378
|
* The unscoped fallback: {@link AgentConfig.modelRef} is what a session
|
|
379
|
-
* normally carries, and this is what a
|
|
379
|
+
* normally carries, and this is what a harness falls back to when no
|
|
380
380
|
* registry entry resolved one.
|
|
381
381
|
*/
|
|
382
382
|
model?: string;
|
|
383
383
|
/**
|
|
384
|
-
* The AI provider registry for this session — every endpoint the
|
|
384
|
+
* The AI provider registry for this session — every endpoint the harness may
|
|
385
385
|
* address, already merged across the catalog / user / workspace / runtime /
|
|
386
386
|
* control-plane layers and in registry order.
|
|
387
387
|
*
|
|
388
|
-
* This is the *only* provider surface a
|
|
388
|
+
* This is the *only* provider surface a harness reads. Entries reference
|
|
389
389
|
* their credential (`credential.ref`) and never carry the secret itself;
|
|
390
390
|
* the value reaches the child under `SKAILE_AIP_<ID>_KEY`
|
|
391
391
|
* (`provider-materialize/credential-env.ts`), which the session boundary
|
|
392
392
|
* puts in {@link AgentConfig.env}.
|
|
393
393
|
*
|
|
394
|
-
* Absent (or empty) means no endpoint was configured at all — the
|
|
394
|
+
* Absent (or empty) means no endpoint was configured at all — the harness
|
|
395
395
|
* then falls back to whatever native auth it can discover on its own (a
|
|
396
396
|
* `claude` OAuth login, `codex login`, an ambient vendor key).
|
|
397
397
|
*/
|
|
@@ -400,7 +400,7 @@ export interface AgentConfig {
|
|
|
400
400
|
* Model selector resolved against {@link AgentConfig.registry}:
|
|
401
401
|
* `"<providerId>/<modelId>"`, a bare `"<modelId>"` (first registry entry
|
|
402
402
|
* that maps it wins), or `"@role"`. Absent when no model was configured at
|
|
403
|
-
* all — the
|
|
403
|
+
* all — the harness then applies its own default, exactly as it does for an
|
|
404
404
|
* absent `model`.
|
|
405
405
|
*/
|
|
406
406
|
modelRef?: string;
|
|
@@ -408,7 +408,7 @@ export interface AgentConfig {
|
|
|
408
408
|
* The `skaile.yaml` `roles` table — role name → model selector
|
|
409
409
|
* (`{default: "anthropic/opus", smol: "groq/llama-3.1-8b"}`, §9.8). It is
|
|
410
410
|
* what `"@role"` in {@link AgentConfig.modelRef} expands through, and what
|
|
411
|
-
* a
|
|
411
|
+
* a harness that supports per-role models materializes natively: omp renders
|
|
412
412
|
* it as `modelRoles` in its session-private `config.yml`, so `@smol` inside
|
|
413
413
|
* the session reaches a different provider than `@default`.
|
|
414
414
|
*
|
|
@@ -420,12 +420,12 @@ export interface AgentConfig {
|
|
|
420
420
|
* Additional environment variables merged into the child process
|
|
421
421
|
* environment. The session boundary delivers resolved registry credentials
|
|
422
422
|
* here as `SKAILE_AIP_<ID>_KEY` entries; anything else the caller sets is
|
|
423
|
-
* merged over the
|
|
423
|
+
* merged over the harness's own allowlist, never instead of it.
|
|
424
424
|
*/
|
|
425
425
|
env?: Record<string, string>;
|
|
426
|
-
/** Inline system prompt — written to .omp/system.md and passed via --append-system-prompt (omp
|
|
426
|
+
/** Inline system prompt — written to .omp/system.md and passed via --append-system-prompt (omp harness) */
|
|
427
427
|
systemPrompt?: string;
|
|
428
|
-
/** Path to project .omp/ directory (PI_CODING_AGENT_DIR for omp
|
|
428
|
+
/** Path to project .omp/ directory (PI_CODING_AGENT_DIR for omp harness) */
|
|
429
429
|
agentDir?: string;
|
|
430
430
|
/** SSH key path — injected as GIT_SSH_COMMAND */
|
|
431
431
|
sshKeyPath?: string;
|
|
@@ -445,11 +445,11 @@ export interface AgentConfig {
|
|
|
445
445
|
* `Deny`) answered through `answerQuestion`. With {@link AgentConfig.unattended} the call is
|
|
446
446
|
* refused instead.
|
|
447
447
|
* - codex (standalone SDK path): `interactive` sets `approvalPolicy: "on-request"` instead of
|
|
448
|
-
* `never`, unless `
|
|
448
|
+
* `never`, unless `harnessOptions.codex.approvalPolicy` is set. The standalone SDK path has no
|
|
449
449
|
* way to show an approval card, so codex refuses a command that needs to leave its sandbox
|
|
450
450
|
* instead of asking; nothing is ever approved. A managed codex session keeps the host's own
|
|
451
451
|
* policy.
|
|
452
|
-
* - omp, echo and the subprocess CLI
|
|
452
|
+
* - omp, echo and the subprocess CLI harnesses (gemini, qwen, opencode, goose, continue): ignored.
|
|
453
453
|
*/
|
|
454
454
|
permissionMode?: "auto" | "interactive";
|
|
455
455
|
/**
|
|
@@ -462,7 +462,7 @@ export interface AgentConfig {
|
|
|
462
462
|
* claude-sdk: passed as `agent` option to query() → reads .claude/agents/<name>.md natively.
|
|
463
463
|
* omp: ignored (omp uses agentDir/PI_CODING_AGENT_DIR instead). */
|
|
464
464
|
agentName?: string;
|
|
465
|
-
/** In-process SDK MCP servers for custom tool injection (Claude SDK only, ignored by other
|
|
465
|
+
/** In-process SDK MCP servers for custom tool injection (Claude SDK only, ignored by other harnesses) */
|
|
466
466
|
mcpServers?: Record<string, unknown>;
|
|
467
467
|
/** Tool restrictions from agent.yaml — applied to the main agent session */
|
|
468
468
|
tools?: {
|
|
@@ -473,12 +473,12 @@ export interface AgentConfig {
|
|
|
473
473
|
};
|
|
474
474
|
/** Thinking mode for Claude models: adaptive (Claude decides), enabled (always think), disabled (no thinking). */
|
|
475
475
|
thinking?: "adaptive" | "enabled" | "disabled";
|
|
476
|
-
/** Reasoning effort level; each
|
|
476
|
+
/** Reasoning effort level; each harness maps it to its own scale (see {@link AgentEffort}). */
|
|
477
477
|
effort?: AgentEffort;
|
|
478
|
-
/**
|
|
479
|
-
|
|
478
|
+
/** Harness-specific configuration bag. */
|
|
479
|
+
harnessOptions?: HarnessOptions;
|
|
480
480
|
/**
|
|
481
|
-
* Protocol v2 capability dispatch hooks. When present, the
|
|
481
|
+
* Protocol v2 capability dispatch hooks. When present, the harness uses the
|
|
482
482
|
* registry as the source of LLM tool definitions and routes invocations
|
|
483
483
|
* through `capabilities.invoke()`. Absent → legacy v1 path (existing
|
|
484
484
|
* mcpServers / native dispatch).
|
|
@@ -488,9 +488,9 @@ export interface AgentConfig {
|
|
|
488
488
|
capabilities?: BridgeCapabilityHooks;
|
|
489
489
|
/**
|
|
490
490
|
* The platform's `AIProviderConfig.id` for the AI credential currently
|
|
491
|
-
* provisioned into this
|
|
491
|
+
* provisioned into this harness. The runner reads this off `AgentConfig`
|
|
492
492
|
* during 401 mediation and passes it as `configId` in
|
|
493
|
-
* `request_access_token { kind: 'ai-credentials' }`. The
|
|
493
|
+
* `request_access_token { kind: 'ai-credentials' }`. The harness itself
|
|
494
494
|
* does not consume this field — only the runner uses it.
|
|
495
495
|
*
|
|
496
496
|
* Set by the platform agent-gateway in `ConfigureCommandV2` for mediated
|
|
@@ -505,27 +505,27 @@ export interface AgentConfig {
|
|
|
505
505
|
*/
|
|
506
506
|
aiProviderConfigId?: string;
|
|
507
507
|
/**
|
|
508
|
-
* Optional callback invoked by the
|
|
508
|
+
* Optional callback invoked by the harness when the underlying agent
|
|
509
509
|
* surfaces an `authentication_error`. In Protocol v3 the runner mediates
|
|
510
510
|
* the refresh via the `host.refresh_credential` capability and returns a
|
|
511
|
-
* typed {@link CredentialMint}. The
|
|
511
|
+
* typed {@link CredentialMint}. The harness inspects the discriminator:
|
|
512
512
|
*
|
|
513
513
|
* - `mint.ok === true`: a fresh credential is now provisioned. The
|
|
514
|
-
*
|
|
514
|
+
* harness re-attempts the in-flight prompt once.
|
|
515
515
|
* - `mint.ok === false`: refresh failed (`code` carries a stable reason
|
|
516
516
|
* such as `revoked`, `not-configured`, `provider-error`,
|
|
517
|
-
* `backend-error`). The
|
|
517
|
+
* `backend-error`). The harness surfaces the original `AuthError` to
|
|
518
518
|
* the caller.
|
|
519
519
|
*
|
|
520
|
-
* `args.configId` carries the platform `AIProviderConfig.id` the
|
|
520
|
+
* `args.configId` carries the platform `AIProviderConfig.id` the harness
|
|
521
521
|
* was provisioned with (mirrors {@link AgentConfig.aiProviderConfigId}).
|
|
522
522
|
* The runner uses it to scope the refresh to the correct AI credential.
|
|
523
523
|
*
|
|
524
|
-
* When omitted, the
|
|
524
|
+
* When omitted, the harness throws `AuthError` immediately as before
|
|
525
525
|
* (standalone CLI / forge mode — there is no platform mediator to ask).
|
|
526
526
|
*
|
|
527
|
-
* Centralising auth-retry inside the
|
|
528
|
-
* `
|
|
527
|
+
* Centralising auth-retry inside the harness means every consumer of
|
|
528
|
+
* `harness.prompt(...)` (serve handler, compaction orchestrator, flow
|
|
529
529
|
* orchestrator, …) gets self-healing for free — there is no per-call-site
|
|
530
530
|
* wrapping.
|
|
531
531
|
*
|
|
@@ -538,7 +538,7 @@ export interface AgentConfig {
|
|
|
538
538
|
configId: string;
|
|
539
539
|
}) => Promise<CredentialMint>;
|
|
540
540
|
/**
|
|
541
|
-
* Optional callback invoked by the
|
|
541
|
+
* Optional callback invoked by the harness when a turn is blocked by an
|
|
542
542
|
* upstream **usage limit** rather than a bad credential — the subscription
|
|
543
543
|
* five-hour / seven-day ceiling, or any `rate_limit` the classifier
|
|
544
544
|
* recognises. Called at most once per logical turn, and only after the
|
|
@@ -547,11 +547,11 @@ export interface AgentConfig {
|
|
|
547
547
|
* The runner implements it by asking the platform to re-resolve the seat:
|
|
548
548
|
*
|
|
549
549
|
* - `switched: true` — the session was repointed at a DIFFERENT AI
|
|
550
|
-
* provider config and `.credentials.json` was rewritten. The
|
|
550
|
+
* provider config and `.credentials.json` was rewritten. The harness
|
|
551
551
|
* drops its query (forcing a fresh CLI spawn, which is what clears a
|
|
552
552
|
* resident CLI's cached "blocked until <reset>" state — a hot file
|
|
553
553
|
* rewrite alone does not) and replays the prompt once.
|
|
554
|
-
* - `switched: false` — no alternative seat was available. The
|
|
554
|
+
* - `switched: false` — no alternative seat was available. The harness
|
|
555
555
|
* surfaces the original limit error unchanged.
|
|
556
556
|
*
|
|
557
557
|
* Left unset by standalone runners (CLI / forge / Claude plugin): there is
|
|
@@ -566,14 +566,14 @@ export interface AgentConfig {
|
|
|
566
566
|
*/
|
|
567
567
|
onLimitBlocked?: (ctx: LimitBlockedContext) => Promise<LimitFailoverResult>;
|
|
568
568
|
/**
|
|
569
|
-
* Optional fire-and-forget hook invoked when the
|
|
569
|
+
* Optional fire-and-forget hook invoked when the harness observes a 401 or a
|
|
570
570
|
* 429 / subscription-limit rejection from the AI provider. The runner
|
|
571
571
|
* forwards it to the platform as a `provider_response_seen` event so the
|
|
572
572
|
* owning `AIProviderConfig`'s live health counters can be bumped — the cron
|
|
573
573
|
* health probe only samples auth, never capacity
|
|
574
574
|
* (skaile-ai/workspaces#368, skaile-ai/platform#3539).
|
|
575
575
|
*
|
|
576
|
-
* Never awaited and never retried; the
|
|
576
|
+
* Never awaited and never retried; the harness swallows a throwing
|
|
577
577
|
* implementation so telemetry can never fail a turn.
|
|
578
578
|
*
|
|
579
579
|
* @since 3.9.0
|
|
@@ -586,7 +586,7 @@ export interface AgentConfig {
|
|
|
586
586
|
* the platform has for a seat whose token cannot read the OAuth usage
|
|
587
587
|
* endpoint (a `claude setup-token` seat).
|
|
588
588
|
*
|
|
589
|
-
* Never awaited and never retried; the
|
|
589
|
+
* Never awaited and never retried; the harness swallows a throwing
|
|
590
590
|
* implementation so telemetry can never fail a turn. Unlike
|
|
591
591
|
* {@link onProviderResponse} it fires on every event, so dedupe at the host.
|
|
592
592
|
*
|
|
@@ -594,14 +594,14 @@ export interface AgentConfig {
|
|
|
594
594
|
*/
|
|
595
595
|
onProviderQuota?: (observation: ProviderQuotaObservation) => void;
|
|
596
596
|
/**
|
|
597
|
-
* Test-only flow
|
|
597
|
+
* Test-only flow harness hook. When present, the echo harness's scripted-flow
|
|
598
598
|
* mode uses it to advance flow nodes deterministically (no LLM). The runner
|
|
599
|
-
* injects it in `createActiveFlow`; every other
|
|
599
|
+
* injects it in `createActiveFlow`; every other harness ignores it.
|
|
600
600
|
*
|
|
601
|
-
* @see
|
|
601
|
+
* @see FlowTestHarnessHook
|
|
602
602
|
* @since 3.6.0
|
|
603
603
|
*/
|
|
604
|
-
|
|
604
|
+
flowTestHarness?: FlowTestHarnessHook;
|
|
605
605
|
}
|
|
606
606
|
/**
|
|
607
607
|
* A single message in an agent conversation.
|
|
@@ -632,7 +632,7 @@ export interface AgentMessage {
|
|
|
632
632
|
/**
|
|
633
633
|
* A typed block within an {@link AgentMessage}'s content array.
|
|
634
634
|
*
|
|
635
|
-
* Mirrors the Anthropic content block schema but is
|
|
635
|
+
* Mirrors the Anthropic content block schema but is harness-agnostic.
|
|
636
636
|
*
|
|
637
637
|
* @docLink packages/bridge/concepts#content-block
|
|
638
638
|
*/
|
|
@@ -707,12 +707,12 @@ export interface SlashCommandInfo {
|
|
|
707
707
|
argumentHint?: string;
|
|
708
708
|
}
|
|
709
709
|
/**
|
|
710
|
-
* Discriminated union of all events emitted by a
|
|
710
|
+
* Discriminated union of all events emitted by a harness on the `'agent-event'` channel.
|
|
711
711
|
*
|
|
712
712
|
* @remarks
|
|
713
|
-
* Consumers listen via `
|
|
714
|
-
* The `[k: string]: any` index signature on most variants allows
|
|
715
|
-
*
|
|
713
|
+
* Consumers listen via `harness.on('agent-event', (event: AgentEvent) => ...)`.
|
|
714
|
+
* The `[k: string]: any` index signature on most variants allows harnesses to attach
|
|
715
|
+
* harness-specific fields (e.g. `_textDelta`) without breaking the union.
|
|
716
716
|
*
|
|
717
717
|
* @docLink packages/bridge/concepts#agent-event
|
|
718
718
|
*/
|
|
@@ -731,7 +731,7 @@ export type AgentEvent = {
|
|
|
731
731
|
}
|
|
732
732
|
/**
|
|
733
733
|
* Takes back `text`, the unfinished tail of streamed `_textDelta`s, before the
|
|
734
|
-
*
|
|
734
|
+
* harness replays an abandoned attempt. Always a suffix of what was streamed
|
|
735
735
|
* since the last completed assistant message; see `TextRetractEvent` in the types package.
|
|
736
736
|
*/
|
|
737
737
|
| {
|
|
@@ -752,7 +752,7 @@ export type AgentEvent = {
|
|
|
752
752
|
taskId: string;
|
|
753
753
|
[k: string]: any;
|
|
754
754
|
}
|
|
755
|
-
/** A turn the
|
|
755
|
+
/** A turn the harness was not prompted for began; see `SelfTurnStartedEvent`. */
|
|
756
756
|
| {
|
|
757
757
|
type: "self_turn_started";
|
|
758
758
|
taskIds: string[];
|
|
@@ -762,7 +762,7 @@ export type AgentEvent = {
|
|
|
762
762
|
subtype: string;
|
|
763
763
|
summary?: string;
|
|
764
764
|
costUsd?: number;
|
|
765
|
-
/** Per-turn token usage when the
|
|
765
|
+
/** Per-turn token usage when the harness tracks it. Added in 3.1.0. */
|
|
766
766
|
tokens?: TokenUsage;
|
|
767
767
|
/** Per-turn usage keyed by model, subagent calls included. Added in 3.11.0. */
|
|
768
768
|
modelUsage?: Record<string, ModelTokenUsage>;
|
|
@@ -777,7 +777,7 @@ export type AgentEvent = {
|
|
|
777
777
|
error: string;
|
|
778
778
|
detail?: AgentError;
|
|
779
779
|
fatal?: boolean;
|
|
780
|
-
/** Set (with `fatal: false`) when the
|
|
780
|
+
/** Set (with `fatal: false`) when the harness replays the prompt in place; see `ErrorEvent.retrying`. */
|
|
781
781
|
retrying?: boolean;
|
|
782
782
|
retryReason?: ErrorRetryReason;
|
|
783
783
|
/** Usage of a failed provider turn, when reported. */
|
|
@@ -806,7 +806,7 @@ export type AgentEvent = {
|
|
|
806
806
|
commands: SlashCommandInfo[];
|
|
807
807
|
} | {
|
|
808
808
|
type: "session_info";
|
|
809
|
-
|
|
809
|
+
harnessSessionId: string;
|
|
810
810
|
sessionFile?: string;
|
|
811
811
|
} | {
|
|
812
812
|
type: "ui_render";
|
|
@@ -826,7 +826,7 @@ export type AgentEvent = {
|
|
|
826
826
|
/** The settings a live reconfigure may change. */
|
|
827
827
|
export type ReconfigurePatch = Partial<Pick<AgentConfig, "model" | "thinking" | "effort">>;
|
|
828
828
|
/**
|
|
829
|
-
* What a
|
|
829
|
+
* What a harness now holds for the fields of an accepted reconfigure. `modelRef`
|
|
830
830
|
* is the registry selector the model was scoped to; it is absent when the
|
|
831
831
|
* session has none. A host remembers exactly this, never the raw patch.
|
|
832
832
|
*/
|
|
@@ -837,14 +837,14 @@ export interface ReconfigureApplied {
|
|
|
837
837
|
effort?: AgentConfig["effort"];
|
|
838
838
|
}
|
|
839
839
|
/**
|
|
840
|
-
* Result of `
|
|
841
|
-
* next turn (live switch, query recycle or respawn); a
|
|
840
|
+
* Result of `AgentHarness.reconfigure()`. `ok: true` means effective from the
|
|
841
|
+
* next turn (live switch, query recycle or respawn); a harness that cannot
|
|
842
842
|
* promise that answers `ok: false` instead.
|
|
843
843
|
*
|
|
844
|
-
* - `not_supported`: the
|
|
844
|
+
* - `not_supported`: the harness cannot change settings live.
|
|
845
845
|
* - `model_not_on_provider`: the session's AI provider entry does not list the
|
|
846
846
|
* model (`providerId` names the entry).
|
|
847
|
-
* - `rejected`: the running process refused the change; the
|
|
847
|
+
* - `rejected`: the running process refused the change; the harness config is
|
|
848
848
|
* unchanged.
|
|
849
849
|
*
|
|
850
850
|
* @category Bridge
|
|
@@ -859,50 +859,50 @@ export type ReconfigureOutcome = {
|
|
|
859
859
|
providerId?: string;
|
|
860
860
|
};
|
|
861
861
|
/**
|
|
862
|
-
* A reconfigure the
|
|
863
|
-
* at the next turn boundary. The
|
|
862
|
+
* A reconfigure the harness answered `ok` (it landed mid-turn) and then refused
|
|
863
|
+
* at the next turn boundary. The harness already rolled its config back;
|
|
864
864
|
* `requested` is what was asked, `restored` what it holds again. Emitted as the
|
|
865
|
-
*
|
|
865
|
+
* harness event `'reconfigure-rollback'`.
|
|
866
866
|
*/
|
|
867
867
|
export interface ReconfigureRollback {
|
|
868
868
|
message: string;
|
|
869
869
|
requested: ReconfigureApplied;
|
|
870
870
|
restored: ReconfigureApplied;
|
|
871
871
|
}
|
|
872
|
-
/** Rejection message of a
|
|
872
|
+
/** Rejection message of a harness asked to run a turn under a tool allowlist it cannot enforce. */
|
|
873
873
|
export declare const TOOL_ALLOWLIST_UNSUPPORTED = "This agent harness cannot enforce a tool allowlist";
|
|
874
874
|
/**
|
|
875
|
-
* Abstract base class for agent
|
|
875
|
+
* Abstract base class for agent harnesses.
|
|
876
876
|
*
|
|
877
877
|
* Wraps an LLM coding agent behind a single `prompt()` interface.
|
|
878
|
-
* All
|
|
878
|
+
* All harnesses emit `'agent-event'` with {@link AgentEvent} payloads.
|
|
879
879
|
*
|
|
880
880
|
* @remarks
|
|
881
881
|
* Subclasses must implement `start`, `prompt`, `abort`, `kill`, and `isRunning`.
|
|
882
882
|
* Implementations should never emit an event name other than `'agent-event'` as
|
|
883
883
|
* the public streaming channel — internal events (`'ready'`, `'exit'`, etc.) are
|
|
884
|
-
*
|
|
885
|
-
* {@link ReconfigureRollback}): a live reconfigure the
|
|
886
|
-
* then refused at the turn boundary, already rolled back in the
|
|
884
|
+
* harness-private. The one other public event is `'reconfigure-rollback'` (a
|
|
885
|
+
* {@link ReconfigureRollback}): a live reconfigure the harness had accepted and
|
|
886
|
+
* then refused at the turn boundary, already rolled back in the harness.
|
|
887
887
|
*
|
|
888
888
|
* @example
|
|
889
889
|
* ```ts
|
|
890
|
-
* const
|
|
891
|
-
*
|
|
892
|
-
* await
|
|
893
|
-
* await
|
|
894
|
-
*
|
|
890
|
+
* const harness = createHarness('omp', config);
|
|
891
|
+
* harness.on('agent-event', (event) => console.log(event.type));
|
|
892
|
+
* await harness.start();
|
|
893
|
+
* await harness.prompt('Refactor the auth module');
|
|
894
|
+
* harness.kill();
|
|
895
895
|
* ```
|
|
896
896
|
*
|
|
897
|
-
* @docLink packages/bridge/concepts#agent-
|
|
897
|
+
* @docLink packages/bridge/concepts#agent-harness
|
|
898
898
|
*/
|
|
899
|
-
export declare abstract class
|
|
900
|
-
/** Static metadata describing this
|
|
901
|
-
abstract readonly
|
|
899
|
+
export declare abstract class AgentHarness extends EventEmitter {
|
|
900
|
+
/** Static metadata describing this harness's capabilities. */
|
|
901
|
+
abstract readonly harnessInfo: HarnessInfo;
|
|
902
902
|
/**
|
|
903
|
-
* Initialises the
|
|
903
|
+
* Initialises the harness — spawns the child process (omp) or loads
|
|
904
904
|
* the SDK module (claude-sdk). Resolves when the harness is ready to accept
|
|
905
|
-
* prompts. Idempotent: calling `start()` on an already-running
|
|
905
|
+
* prompts. Idempotent: calling `start()` on an already-running harness is a no-op.
|
|
906
906
|
*
|
|
907
907
|
* @throws {Error} When the harness binary is missing or the SDK cannot be loaded.
|
|
908
908
|
*/
|
|
@@ -912,64 +912,64 @@ export declare abstract class AgentDriver extends EventEmitter {
|
|
|
912
912
|
* (i.e. after the `agent_end` event has been emitted).
|
|
913
913
|
*
|
|
914
914
|
* @param message - Plain-text user prompt to send to the agent.
|
|
915
|
-
* @throws {Error} When the
|
|
915
|
+
* @throws {Error} When the harness is not running or the underlying coding agent reports a fatal error.
|
|
916
916
|
*/
|
|
917
917
|
abstract prompt(message: string): Promise<void>;
|
|
918
918
|
/**
|
|
919
|
-
* Preserve text-only callers;
|
|
920
|
-
* A `toolAllowlist` is refused here: only a
|
|
919
|
+
* Preserve text-only callers; harnesses must explicitly support attachments.
|
|
920
|
+
* A `toolAllowlist` is refused here: only a harness that overrides
|
|
921
921
|
* {@link enforcesToolAllowlist} may run a restricted turn.
|
|
922
922
|
*/
|
|
923
923
|
promptInput(input: AgentPromptInput): Promise<void>;
|
|
924
924
|
/**
|
|
925
925
|
* Whether {@link promptInput} enforces `AgentPromptInput.toolAllowlist` for
|
|
926
|
-
* the whole turn, subagents included. A
|
|
926
|
+
* the whole turn, subagents included. A harness that answers `false` must
|
|
927
927
|
* reject an input carrying one; the runner refuses such a prompt before it
|
|
928
|
-
* reaches the
|
|
928
|
+
* reaches the harness.
|
|
929
929
|
*/
|
|
930
930
|
get enforcesToolAllowlist(): boolean;
|
|
931
931
|
/**
|
|
932
|
-
* The names in `allowlist` this
|
|
932
|
+
* The names in `allowlist` this harness does not recognize as a tool it could
|
|
933
933
|
* offer. The runner refuses a prompt whose allowlist names any, rather than
|
|
934
|
-
* guess. A
|
|
934
|
+
* guess. A harness that does not enforce allowlists recognizes none.
|
|
935
935
|
*/
|
|
936
936
|
unknownAllowlistedTools(allowlist: readonly string[]): string[];
|
|
937
937
|
/** Managed replies never fall back to a new prompt after a request has settled. */
|
|
938
938
|
get acceptsReplyAsPrompt(): boolean;
|
|
939
939
|
/**
|
|
940
940
|
* Sends an in-band abort signal to the agent, requesting it to stop the current
|
|
941
|
-
* turn without terminating the process. The
|
|
941
|
+
* turn without terminating the process. The harness remains usable after `abort()`.
|
|
942
942
|
*
|
|
943
|
-
* @remarks Only meaningful when `
|
|
944
|
-
* For other
|
|
943
|
+
* @remarks Only meaningful when `harnessInfo.supportsInBandAbort` is `true`.
|
|
944
|
+
* For other harnesses, prefer `kill()` followed by creating a new harness instance.
|
|
945
945
|
*/
|
|
946
946
|
abstract abort(): Promise<void>;
|
|
947
947
|
/**
|
|
948
|
-
* Terminates the agent harness immediately (SIGTERM for subprocess
|
|
949
|
-
* `close()` for in-process
|
|
948
|
+
* Terminates the agent harness immediately (SIGTERM for subprocess harnesses,
|
|
949
|
+
* `close()` for in-process harnesses). The harness instance must not be reused
|
|
950
950
|
* after `kill()`.
|
|
951
951
|
*/
|
|
952
952
|
abstract kill(): void;
|
|
953
|
-
/** Stop the
|
|
953
|
+
/** Stop the harness and await owned process/state cleanup when the harness supports it. */
|
|
954
954
|
dispose(): Promise<void>;
|
|
955
955
|
/** `true` when the harness is alive and able to accept new prompts. */
|
|
956
956
|
abstract get isRunning(): boolean;
|
|
957
957
|
/** Optional provider-native session/thread identifier for resume support. */
|
|
958
958
|
get runtimeSessionId(): string | undefined;
|
|
959
|
-
/** Slash commands discovered from the agent runtime. Override in
|
|
959
|
+
/** Slash commands discovered from the agent runtime. Override in harnesses that support introspection. */
|
|
960
960
|
getSlashCommands(): SlashCommandInfo[];
|
|
961
961
|
/**
|
|
962
|
-
* `true` while the
|
|
962
|
+
* `true` while the harness is paused on an interactive question and waiting
|
|
963
963
|
* for the user's answer rather than a new prompt. The runner routes a
|
|
964
964
|
* `reply` command to {@link answerQuestion} instead of {@link prompt} when
|
|
965
|
-
* this returns `true`.
|
|
965
|
+
* this returns `true`. Harnesses without interactive-question support return
|
|
966
966
|
* `false` (the default), so a `reply` falls back to `prompt`.
|
|
967
967
|
*/
|
|
968
968
|
hasPendingQuestion(): boolean;
|
|
969
969
|
/**
|
|
970
|
-
* Deliver the user's answer to the question the
|
|
970
|
+
* Deliver the user's answer to the question the harness is currently paused
|
|
971
971
|
* on. This resumes the in-flight turn — it does NOT start a new one. When a
|
|
972
|
-
* single tool call asks several questions, the
|
|
972
|
+
* single tool call asks several questions, the harness resolves the underlying
|
|
973
973
|
* call only once every sub-question has an answer.
|
|
974
974
|
*
|
|
975
975
|
* @param answer - The user's reply text (an option label, free text, or for
|
|
@@ -983,26 +983,26 @@ export declare abstract class AgentDriver extends EventEmitter {
|
|
|
983
983
|
*/
|
|
984
984
|
answerQuestion(answer: string, question?: string, requestId?: string): boolean;
|
|
985
985
|
/**
|
|
986
|
-
* Apply this
|
|
986
|
+
* Apply this harness's rule for a new prompt that meets a pending question,
|
|
987
987
|
* ahead of the prompt itself. The runner queues a prompt behind the turn in
|
|
988
988
|
* flight, so a turn paused on a question would otherwise hold that prompt
|
|
989
|
-
* until the user answered.
|
|
989
|
+
* until the user answered. Harnesses whose `prompt()` cancels the question
|
|
990
990
|
* (claude-sdk, omp) do the same here; the default keeps the question.
|
|
991
991
|
*/
|
|
992
992
|
supersedePendingQuestion(): void;
|
|
993
993
|
/**
|
|
994
|
-
* Live-update
|
|
994
|
+
* Live-update harness configuration. `ok: true` means effective from the next
|
|
995
995
|
* turn: the next turn runs on the new settings, by live switch, query recycle
|
|
996
996
|
* or respawn, and the host needs no restart. A turn in progress finishes on
|
|
997
997
|
* the old settings. Only model/thinking/effort are reconfigurable mid-session.
|
|
998
998
|
*
|
|
999
|
-
*
|
|
999
|
+
* Harnesses that can honour that promise build a `ReconfigureLedger` and
|
|
1000
1000
|
* delegate to it; it owns the model scope rule, ordering, drift and rollback.
|
|
1001
1001
|
* The base implementation answers `not_supported`.
|
|
1002
1002
|
*/
|
|
1003
1003
|
reconfigure(patch: ReconfigurePatch): Promise<ReconfigureOutcome>;
|
|
1004
1004
|
/**
|
|
1005
|
-
* Returns the model identifier currently configured on this
|
|
1005
|
+
* Returns the model identifier currently configured on this harness.
|
|
1006
1006
|
* Subclasses that store config locally should override this.
|
|
1007
1007
|
*/
|
|
1008
1008
|
getModel(): string | undefined;
|
|
@@ -1010,16 +1010,16 @@ export declare abstract class AgentDriver extends EventEmitter {
|
|
|
1010
1010
|
* `Date.now()` of the harness's most recent sign of life, counting messages
|
|
1011
1011
|
* that emit no `agent-event` (thinking deltas, rate-limit telemetry, API
|
|
1012
1012
|
* retries). A stall check reads it alongside the events it sees. `null` when
|
|
1013
|
-
* the
|
|
1013
|
+
* the harness does not track it.
|
|
1014
1014
|
*/
|
|
1015
1015
|
lastActivityAt(): number | null;
|
|
1016
1016
|
/**
|
|
1017
1017
|
* Returns the token usage from the most recent completed turn.
|
|
1018
|
-
* Returns `null` if usage data is unavailable (e.g.
|
|
1018
|
+
* Returns `null` if usage data is unavailable (e.g. harness doesn't track it).
|
|
1019
1019
|
*
|
|
1020
1020
|
* Widened in 3.1.0 to return the full `TokenUsage` shape (input / output /
|
|
1021
1021
|
* cache-read / cache-creation / reasoning). All fields are optional so
|
|
1022
|
-
*
|
|
1022
|
+
* harnesses can populate just what their provider reports. Existing callers
|
|
1023
1023
|
* that read only `inputTokens` / `outputTokens` keep working — those fields
|
|
1024
1024
|
* are still present and carry the same semantics as before.
|
|
1025
1025
|
*/
|
|
@@ -1034,11 +1034,11 @@ export declare abstract class AgentDriver extends EventEmitter {
|
|
|
1034
1034
|
* (compaction thresholds) must prefer this; callers billing a turn
|
|
1035
1035
|
* (usage ledgers, the `finished` event) must keep using `getTokenUsage()`.
|
|
1036
1036
|
*
|
|
1037
|
-
* Returns `null` both when the
|
|
1037
|
+
* Returns `null` both when the harness cannot report a per-call figure at all
|
|
1038
1038
|
* and when it can but has no reading yet. Falling back to `getTokenUsage()`
|
|
1039
|
-
* is safe in either case only because a
|
|
1039
|
+
* is safe in either case only because a harness clears the two in lockstep: no
|
|
1040
1040
|
* reading means no API call landed, so there is no cumulative usage to
|
|
1041
|
-
* overstate. A
|
|
1041
|
+
* overstate. A harness implementing this must preserve that invariant.
|
|
1042
1042
|
*/
|
|
1043
1043
|
getContextTokens(): number | null;
|
|
1044
1044
|
/**
|
|
@@ -1047,8 +1047,8 @@ export declare abstract class AgentDriver extends EventEmitter {
|
|
|
1047
1047
|
*/
|
|
1048
1048
|
getContextWindow(): number | null;
|
|
1049
1049
|
/**
|
|
1050
|
-
* What the
|
|
1051
|
-
* neutral {@link
|
|
1050
|
+
* What the harness can measure natively about its context window, in the
|
|
1051
|
+
* neutral {@link HarnessContextReport} shape, or `null` when it measures
|
|
1052
1052
|
* nothing beyond {@link getContextTokens} / {@link getContextWindow}.
|
|
1053
1053
|
*
|
|
1054
1054
|
* `detail: "full"` (the default) may be expensive — claude-sdk issues
|
|
@@ -1060,17 +1060,17 @@ export declare abstract class AgentDriver extends EventEmitter {
|
|
|
1060
1060
|
*/
|
|
1061
1061
|
getContextUsageReport(_opts?: {
|
|
1062
1062
|
detail?: ContextUsageDetail;
|
|
1063
|
-
}): Promise<
|
|
1063
|
+
}): Promise<HarnessContextReport | null>;
|
|
1064
1064
|
/**
|
|
1065
|
-
* Returns the list of models available to this
|
|
1066
|
-
*
|
|
1065
|
+
* Returns the list of models available to this harness without starting a session.
|
|
1066
|
+
* Harnesses that can enumerate their own models override this method.
|
|
1067
1067
|
* Returns an empty array by default.
|
|
1068
1068
|
*/
|
|
1069
1069
|
listModels(): Promise<ModelEntry[]>;
|
|
1070
1070
|
/**
|
|
1071
1071
|
* Closes the current conversation session and prepares for a fresh start.
|
|
1072
1072
|
* The next `prompt()` call will begin a new session without prior history.
|
|
1073
|
-
* The
|
|
1073
|
+
* The harness remains usable after `resetSession()`.
|
|
1074
1074
|
*/
|
|
1075
1075
|
abstract resetSession(): Promise<void>;
|
|
1076
1076
|
protected _telemetry?: TelemetryProvider;
|
|
@@ -1078,8 +1078,8 @@ export declare abstract class AgentDriver extends EventEmitter {
|
|
|
1078
1078
|
protected _activeTurnSpan?: Span;
|
|
1079
1079
|
private _turnStartTime?;
|
|
1080
1080
|
/**
|
|
1081
|
-
* Attach a telemetry provider and active trace to this
|
|
1082
|
-
* Called by the runner after creating the
|
|
1081
|
+
* Attach a telemetry provider and active trace to this harness.
|
|
1082
|
+
* Called by the runner after creating the harness but before start().
|
|
1083
1083
|
*/
|
|
1084
1084
|
setTelemetry(provider: TelemetryProvider, trace: Trace): void;
|
|
1085
1085
|
/**
|
|
@@ -1091,7 +1091,7 @@ export declare abstract class AgentDriver extends EventEmitter {
|
|
|
1091
1091
|
/**
|
|
1092
1092
|
* End the current turn span with generation data.
|
|
1093
1093
|
* Called by the runner after agent_end. Model and provider are passed
|
|
1094
|
-
* explicitly — the
|
|
1094
|
+
* explicitly — the harness base class does not access config directly.
|
|
1095
1095
|
*/
|
|
1096
1096
|
endTurnSpan(result?: {
|
|
1097
1097
|
model?: string;
|
|
@@ -1103,11 +1103,11 @@ export declare abstract class AgentDriver extends EventEmitter {
|
|
|
1103
1103
|
}): void;
|
|
1104
1104
|
}
|
|
1105
1105
|
/**
|
|
1106
|
-
* Factory function signature registered in the
|
|
1106
|
+
* Factory function signature registered in the harness registry.
|
|
1107
1107
|
*
|
|
1108
|
-
* @param config - Configuration for the new
|
|
1109
|
-
* @returns A freshly constructed (not yet started) {@link
|
|
1110
|
-
* @docLink packages/bridge/concepts#
|
|
1108
|
+
* @param config - Configuration for the new harness instance.
|
|
1109
|
+
* @returns A freshly constructed (not yet started) {@link AgentHarness}.
|
|
1110
|
+
* @docLink packages/bridge/concepts#harness-factory
|
|
1111
1111
|
*/
|
|
1112
|
-
export type
|
|
1112
|
+
export type HarnessFactory = (config: AgentConfig) => AgentHarness;
|
|
1113
1113
|
//# sourceMappingURL=types.d.ts.map
|