@iowarp/clio-coder 0.3.9 → 0.4.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 +53 -0
- package/NOTICE +33 -0
- package/README.md +7 -2
- package/dist/{acp-7LOELQFP.js → acp-G5WJBNCT.js} +13 -12
- package/dist/{agents-FIBG2SHA.js → agents-FMV2Q5G4.js} +39 -36
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-OI4LIH2I.js → auth-3IDSJEIK.js} +16 -15
- package/dist/{builtins-AD25UL3C.js → builtins-XCZWXSC7.js} +3 -3
- package/dist/{chunk-IFBNV6H6.js → chunk-2ANTL7MR.js} +3 -3
- package/dist/{chunk-56KB5IJP.js → chunk-2OQE55CK.js} +3 -3
- package/dist/{chunk-N3PBVRTZ.js → chunk-32KWKNSF.js} +9 -7
- package/dist/{chunk-VKBMFOYV.js → chunk-36EJLSQQ.js} +23 -27
- package/dist/{chunk-465CC7FK.js → chunk-3BT2XMV4.js} +16 -13
- package/dist/{chunk-NQ6UCCOD.js → chunk-3URVFKWK.js} +7 -7
- package/dist/{chunk-WIE7ZOSW.js → chunk-3XML7CDN.js} +2 -2
- package/dist/chunk-42FMPA75.js +101 -0
- package/dist/{chunk-A2NJGIB3.js → chunk-5LXZXPKX.js} +2 -2
- package/dist/{chunk-HAY4ZE2P.js → chunk-5PSMVOLM.js} +2 -2
- package/dist/{chunk-JEQQR47K.js → chunk-6DB53AJS.js} +168 -9
- package/dist/{chunk-KV2AOLDF.js → chunk-76ONBSIA.js} +5 -25
- package/dist/{chunk-FALJGAWU.js → chunk-7MCTRUCE.js} +2 -2
- package/dist/{chunk-5T7RBWN2.js → chunk-AB44T6BB.js} +5 -5
- package/dist/chunk-B7OBL7PK.js +1405 -0
- package/dist/{chunk-B5CSFE7B.js → chunk-BBVJUZHB.js} +2 -2
- package/dist/{chunk-EQ63NRB7.js → chunk-BBVYXMFO.js} +2 -2
- package/dist/{chunk-O6I4CIEU.js → chunk-BKFJHQCA.js} +6 -6
- package/dist/chunk-BKFM6EJV.js +462 -0
- package/dist/chunk-BMS5RKQY.js +27 -0
- package/dist/{chunk-MV2VUEJC.js → chunk-BPKCPIL7.js} +2 -2
- package/dist/{chunk-TEO2TLVN.js → chunk-BUMFYQFY.js} +964 -1120
- package/dist/{chunk-BNAZZHFG.js → chunk-BYP5D4HI.js} +1 -1
- package/dist/chunk-C2LTL2W6.js +2447 -0
- package/dist/{chunk-EBOC7MT3.js → chunk-CODPRO7Q.js} +8 -8
- package/dist/{chunk-HPCTNZM2.js → chunk-CTJ4RNAA.js} +4 -4
- package/dist/{chunk-ODFEOB4F.js → chunk-CY6FY24N.js} +26 -8
- package/dist/{chunk-MIX5N5AC.js → chunk-DQITNCXG.js} +394 -154
- package/dist/{chunk-S4COXYBG.js → chunk-DYJP44XW.js} +129 -106
- package/dist/{chunk-N5XKWMDW.js → chunk-F4CKPOEQ.js} +6 -6
- package/dist/{chunk-AMKHQW3C.js → chunk-FEFIFZTL.js} +3 -3
- package/dist/{chunk-MV3K5QF2.js → chunk-GCSMB2KY.js} +2 -2
- package/dist/{chunk-7C6RYZGQ.js → chunk-GKF55TAZ.js} +3 -3
- package/dist/{chunk-B5XRQOLB.js → chunk-GR5G2PVF.js} +9 -8
- package/dist/{chunk-XDOQXGFO.js → chunk-GXNLGKAB.js} +64 -8
- package/dist/chunk-HHV2GANA.js +88 -0
- package/dist/{chunk-774ILSRL.js → chunk-HI63TFOG.js} +4 -3
- package/dist/{chunk-R7LNVMCS.js → chunk-HJJTYUHX.js} +64 -72
- package/dist/{chunk-RKRLDWD3.js → chunk-HLW2MRKE.js} +1 -1
- package/dist/{chunk-CA42X6KT.js → chunk-HWHKMHUA.js} +6 -6
- package/dist/chunk-HZHHCK24.js +1631 -0
- package/dist/{chunk-HJB5IUKP.js → chunk-I5VEOC6I.js} +12 -12
- package/dist/chunk-IBEBSCYA.js +564 -0
- package/dist/chunk-IQ7KR472.js +362 -0
- package/dist/{chunk-4H6ULJ3H.js → chunk-J4W7KFM7.js} +921 -990
- package/dist/{chunk-4LJX2PUC.js → chunk-JDG2WCRO.js} +5 -5
- package/dist/{chunk-NZU6YDNV.js → chunk-K5C3NCBD.js} +4 -4
- package/dist/{chunk-CGKSTWHD.js → chunk-K6BSR66V.js} +2 -1
- package/dist/{chunk-NNNWO6F2.js → chunk-KFZI4NIL.js} +93 -3
- package/dist/chunk-KMVISBZR.js +132 -0
- package/dist/{chunk-BVDVID7E.js → chunk-LDQ2ZF2M.js} +2 -2
- package/dist/{chunk-OEDBCISO.js → chunk-LQ3DZAMX.js} +2 -2
- package/dist/{chunk-PZ4I4JE2.js → chunk-LY4S7GJC.js} +124 -116
- package/dist/{chunk-3DUR4WUA.js → chunk-MLKNTWH2.js} +19 -19
- package/dist/chunk-NEKRRTYW.js +56 -0
- package/dist/{chunk-5DQRIYDZ.js → chunk-NHCZP4K7.js} +2 -2
- package/dist/chunk-NHLBIGRH.js +1506 -0
- package/dist/chunk-NQQH3YT7.js +302 -0
- package/dist/chunk-NYS75XW5.js +15 -0
- package/dist/{chunk-TD7UE2L5.js → chunk-O4XIVISU.js} +7 -7
- package/dist/{chunk-WXCJ7VME.js → chunk-O6TL7WWY.js} +6 -6
- package/dist/chunk-OQBA45DZ.js +97 -0
- package/dist/{chunk-LU7P4LHA.js → chunk-P3FOHJT4.js} +2 -2
- package/dist/chunk-PMZCIOCJ.js +25 -0
- package/dist/{chunk-I4HZDVNP.js → chunk-PQEFIJ36.js} +2 -2
- package/dist/{chunk-HKO36JWF.js → chunk-QBJA7R7N.js} +31 -3
- package/dist/chunk-QDC3K2U3.js +262 -0
- package/dist/{chunk-5HFBWUMU.js → chunk-QLFS5GO2.js} +4 -4
- package/dist/{chunk-GAYUJ7LE.js → chunk-QLL7ILRG.js} +41 -32
- package/dist/{chunk-LXPJXFM5.js → chunk-QREDIESB.js} +7 -7
- package/dist/chunk-QSNYB6ZV.js +195 -0
- package/dist/chunk-R346GLFC.js +31 -0
- package/dist/{chunk-VPTUJU4P.js → chunk-SJ5ZKQ4S.js} +2 -2
- package/dist/{chunk-QQ7EKM72.js → chunk-SP2RXXYO.js} +6 -54
- package/dist/chunk-SUCTJL45.js +45 -0
- package/dist/{chunk-5QKCQQ3E.js → chunk-SUW5DORT.js} +2 -2
- package/dist/chunk-T56WDKA5.js +183 -0
- package/dist/chunk-TVHHYFHE.js +255 -0
- package/dist/{chunk-IHKBWSXF.js → chunk-TZ3SGWZZ.js} +2 -2
- package/dist/{chunk-ECUO3KDP.js → chunk-U77AMWDL.js} +47 -7
- package/dist/{chunk-3UUY7R3Z.js → chunk-ULC6OTWO.js} +7 -7
- package/dist/{chunk-AEYBF3TB.js → chunk-UM7N4G5A.js} +2 -2
- package/dist/{chunk-3V5AYSEQ.js → chunk-UXMFQ54G.js} +43 -36
- package/dist/{chunk-YW7UVM5V.js → chunk-V5DHCITQ.js} +34 -1
- package/dist/{chunk-47CMYGET.js → chunk-VAZSBTKF.js} +2 -2
- package/dist/{chunk-3MRC2YSQ.js → chunk-VEO4AP2K.js} +2 -2
- package/dist/{chunk-PNY46YEY.js → chunk-VFA6GDY5.js} +47 -3
- package/dist/chunk-VO67MWHC.js +75 -0
- package/dist/{chunk-XK56QHLX.js → chunk-VPKWYKEY.js} +19 -5
- package/dist/{chunk-AD7Y7STJ.js → chunk-VYMXRQI6.js} +36 -22
- package/dist/{chunk-T3Z6VAAF.js → chunk-W5VSYASO.js} +19 -17
- package/dist/{chunk-5PVQ4SRS.js → chunk-WZR7K7ZX.js} +7 -123
- package/dist/{chunk-DG4M6ZUE.js → chunk-X3YGUTOB.js} +4 -4
- package/dist/chunk-X75E3D2N.js +686 -0
- package/dist/{chunk-P3JGPQFL.js → chunk-YDFRH54B.js} +4 -4
- package/dist/chunk-YJX4SHTD.js +40 -0
- package/dist/{chunk-ZI647VB5.js → chunk-YPI3QQCF.js} +2 -2
- package/dist/{chunk-YSEHGPCT.js → chunk-Z2RR6MAK.js} +3 -3
- package/dist/{chunk-HCBCAYZU.js → chunk-Z4TXYIEG.js} +5 -5
- package/dist/cli/index.js +47 -36
- package/dist/{clio-LT5V7SSZ.js → clio-2JXHBBY5.js} +7 -7
- package/dist/{code-nav-LMW275PA.js → code-nav-3YYRMYNF.js} +6 -6
- package/dist/{compile-cache-CVJMMODC.js → compile-cache-7FPE6PS3.js} +3 -3
- package/dist/{components-ZFA3SAER.js → components-RYZV4JGP.js} +5 -5
- package/dist/{config-RXS5T3JT.js → config-QZPCMYSO.js} +58 -50
- package/dist/{configure-2WYWSCSD.js → configure-TEGEBYCA.js} +21 -19
- package/dist/{context-I3BTOTCS.js → context-AV7OEZ4D.js} +11 -11
- package/dist/{context-MVOORGMF.js → context-E6H5RNMC.js} +49 -41
- package/dist/{context-PALKKQYL.js → context-GSXUE4CT.js} +25 -23
- package/dist/{context-clear-N2WOYZ2K.js → context-clear-SHIBYK6T.js} +48 -40
- package/dist/{context-working-set-MIEVECVZ.js → context-working-set-5ZGKPGZQ.js} +11 -10
- package/dist/{dispatch-runner-VVA4SRRH.js → dispatch-runner-EFMJT4LD.js} +88 -60
- package/dist/{docs-7LQ23DLM.js → docs-23KQS3XK.js} +5 -5
- package/dist/doctor-QOA5FNY5.js +313 -0
- package/dist/{eval-IJ5VEZDJ.js → eval-TFBYQH4H.js} +66 -64
- package/dist/eval-inventory-SXH7PDKX.js +316 -0
- package/dist/{evidence-L5APPXNV.js → evidence-ERGESKGN.js} +198 -44
- package/dist/{evolve-RGNKFJ52.js → evolve-VDXTSYCJ.js} +46 -38
- package/dist/{extensions-7WYWUX5A.js → extensions-7BGBHN57.js} +6 -6
- package/dist/{fleet-6CNVBZZP.js → fleet-2RRVDF2V.js} +189 -101
- package/dist/{fleet-commands-L2SXSYEI.js → fleet-commands-VJ726XIA.js} +10 -10
- package/dist/fleet-decisions-EPAPM3XJ.js +157 -0
- package/dist/{fleet-graph-2J3OOIPO.js → fleet-graph-JF5QOATM.js} +16 -15
- package/dist/fleet-inspect-VLY4S7QM.js +442 -0
- package/dist/{fleet-preflight-CZRJ4JP5.js → fleet-preflight-AIZUEJOY.js} +6 -5
- package/dist/{fleet-validate-C5RI6DP7.js → fleet-validate-AJRPDMDV.js} +20 -18
- package/dist/fleet-verify-JFEL2L3H.js +175 -0
- package/dist/fleet-view-ZCON35AG.js +102 -0
- package/dist/{init-VBN2ACVA.js → init-DN2WWLFE.js} +64 -56
- package/dist/install-XGLBQY5E.js +13 -0
- package/dist/interop-OZBKXAYL.js +114 -0
- package/dist/{library-JHGUMLY2.js → library-YWZG7IMW.js} +19 -18
- package/dist/{memory-K4OQIYWG.js → memory-I4C4HMLW.js} +48 -40
- package/dist/{models-2NCZUWDD.js → models-CEYXJBO6.js} +30 -28
- package/dist/{monitor-MMVTJABD.js → monitor-NZ6GCI3P.js} +53 -47
- package/dist/{orchestrator-ZKBPCHW6.js → orchestrator-GCGQ4N5I.js} +6311 -7145
- package/dist/panes-HMABYVO4.js +58 -0
- package/dist/panes-KY6W3V2E.js +103 -0
- package/dist/{paths-DBXMZMDU.js → paths-II4K7DNR.js} +5 -5
- package/dist/{reset-DD5JGOY3.js → reset-DQ6FGCSH.js} +13 -11
- package/dist/resources-BB3MVJMD.js +111 -0
- package/dist/{run-QEGNX7FL.js → run-H2GQDUER.js} +113 -82
- package/dist/{share-JKD3BQMW.js → share-GTJN6A5O.js} +18 -17
- package/dist/{skills-LMQIKDOZ.js → skills-L55TEW6R.js} +31 -24
- package/dist/{skills-eval-I7X2774U.js → skills-eval-XVXPH2JI.js} +61 -52
- package/dist/skills-inventory-S4MXPJFV.js +126 -0
- package/dist/slash-commands-ZSGASKJC.js +77 -0
- package/dist/{steer-CF5TDANS.js → steer-RZGSCY4R.js} +3 -3
- package/dist/{support-I7LOJLIF.js → support-PKEUNNQL.js} +4 -4
- package/dist/{targets-RUSR6B5Z.js → targets-NCPZ644J.js} +31 -29
- package/dist/{terminal-lease-QYVORFR4.js → terminal-lease-44SV3YCN.js} +4 -4
- package/dist/tools-DAF3DI3C.js +27 -0
- package/dist/{trace-ODOQIVIW.js → trace-FYVW2MQA.js} +149 -7
- package/dist/tui-primitives-2AKXQNZK.js +13 -0
- package/dist/{uninstall-ZJF5H5ZN.js → uninstall-DW2PNOIC.js} +5 -5
- package/dist/{upgrade-XANW3FXB.js → upgrade-3XPP6OQL.js} +26 -24
- package/dist/{usage-4H7ZRXQT.js → usage-3NLHGTU2.js} +57 -49
- package/dist/{verifiers-UZXNBZEB.js → verifiers-SSQONKRT.js} +171 -12
- package/dist/{verify-BVKWTNDL.js → verify-3U6J7FZI.js} +9 -9
- package/dist/{web-fetch-2YHJ3KTG.js → web-fetch-S7RR6GZ7.js} +3 -3
- package/dist/{wiki-generate-MY7WV2QI.js → wiki-generate-CEHYGPGQ.js} +67 -59
- package/dist/with-panes-MKB46MPQ.js +782 -0
- package/dist/worker/entry.js +101 -66
- package/docs/README.md +3 -2
- package/docs/acp.md +24 -3
- package/docs/alcf-provider.md +1 -1
- package/docs/architecture.md +2 -2
- package/docs/artifact-versions.md +4 -1
- package/docs/built-in-agents.md +1 -1
- package/docs/capacity-and-scheduling.md +43 -5
- package/docs/commands-and-modes.md +31 -2
- package/docs/configuration-and-targets.md +40 -10
- package/docs/context-engine.md +1 -1
- package/docs/development-pipeline.md +19 -0
- package/docs/dispatch-typed-intent.md +385 -0
- package/docs/documentation-coverage.md +2 -2
- package/docs/documentation-guide.md +1 -1
- package/docs/environment-variables.md +1 -0
- package/docs/eval-runner.md +1 -1
- package/docs/evals-internal.md +1 -1
- package/docs/evidence-and-memory.md +2 -2
- package/docs/evolution.md +1 -1
- package/docs/exit-codes-and-output.md +1 -1
- package/docs/extensions-and-sharing.md +25 -1
- package/docs/fleet-dispatch.md +22 -1
- package/docs/installation-and-lifecycle.md +15 -2
- package/docs/middleware-and-components.md +1 -1
- package/docs/model-catalog.md +10 -1
- package/docs/observability.md +3 -3
- package/docs/proactive-memory.md +1 -1
- package/docs/prompt-envelope-and-tools.md +1 -1
- package/docs/provider-adapter-cookbook.md +1 -1
- package/docs/safety-model.md +2 -2
- package/docs/scientific-validation.md +3 -3
- package/docs/session-lifecycle.md +1 -1
- package/docs/skills-marketplace.md +1 -1
- package/docs/tool-usage.md +18 -8
- package/docs/trace-store.md +1 -1
- package/docs/troubleshooting.md +1 -1
- package/docs/tui-design.md +1 -1
- package/docs/worker-dispatch-mechanics.md +1 -1
- package/package.json +4 -2
- package/src/cli/acp.ts +6 -2
- package/src/cli/argv.ts +25 -0
- package/src/cli/configure.ts +23 -21
- package/src/cli/doctor-panes.ts +124 -0
- package/src/cli/doctor-toolchain.ts +57 -0
- package/src/cli/doctor.ts +20 -1
- package/src/cli/eval-inventory.ts +436 -0
- package/src/cli/eval.ts +13 -0
- package/src/cli/evidence-detail.ts +88 -0
- package/src/cli/evidence-inventory.ts +183 -0
- package/src/cli/evidence.ts +30 -5
- package/src/cli/fleet-decisions.ts +69 -0
- package/src/cli/fleet-inspect.ts +334 -0
- package/src/cli/fleet-verify.ts +133 -0
- package/src/cli/fleet-view.ts +810 -0
- package/src/cli/fleet.ts +148 -37
- package/src/cli/index.ts +14 -2
- package/src/cli/interop-inspect.ts +128 -0
- package/src/cli/interop.ts +34 -0
- package/src/cli/panes.ts +35 -0
- package/src/cli/reset.ts +5 -2
- package/src/cli/run.ts +58 -0
- package/src/cli/skills-inventory.ts +185 -0
- package/src/cli/skills.ts +16 -13
- package/src/cli/tools.ts +321 -0
- package/src/cli/trace-inspect.ts +252 -0
- package/src/cli/trace.ts +23 -2
- package/src/cli/verifiers-inspect.ts +347 -0
- package/src/cli/verifiers.ts +9 -0
- package/src/core/bus-events.ts +4 -0
- package/src/core/config.ts +49 -0
- package/src/core/defaults.ts +93 -7
- package/src/core/response-schema.ts +44 -4
- package/src/core/theme-token-hex.ts +43 -0
- package/src/core/tool-names.ts +2 -1
- package/src/core/xdg.ts +1 -1
- package/src/domains/agents/fleets/build-review.md +0 -3
- package/src/domains/agents/fleets/build-test.md +0 -3
- package/src/domains/agents/result-contract-filesystem.ts +32 -0
- package/src/domains/agents/result-contract.ts +164 -35
- package/src/domains/config/classify.ts +3 -0
- package/src/domains/dispatch/admission-error.ts +9 -0
- package/src/domains/dispatch/admission.ts +22 -21
- package/src/domains/dispatch/capacity-lease.ts +21 -1
- package/src/domains/dispatch/council-topology.ts +398 -0
- package/src/domains/dispatch/extension.ts +222 -50
- package/src/domains/dispatch/fleet-node-prompt.ts +62 -0
- package/src/domains/dispatch/fleet-plan.ts +7 -2
- package/src/domains/dispatch/fleet-run.ts +64 -1
- package/src/domains/dispatch/gate-decisions.ts +11 -1
- package/src/domains/dispatch/gate-role-prompts.ts +9 -0
- package/src/domains/dispatch/gate-topology.ts +289 -0
- package/src/domains/dispatch/index.ts +19 -0
- package/src/domains/dispatch/intent-compatibility.ts +330 -0
- package/src/domains/dispatch/intent.ts +85 -1
- package/src/domains/dispatch/reservation-store.ts +24 -4
- package/src/domains/dispatch/run-event-journal-bridge.ts +149 -0
- package/src/domains/dispatch/run-event-journal.ts +598 -0
- package/src/domains/dispatch/state.ts +45 -1
- package/src/domains/dispatch/types.ts +13 -0
- package/src/domains/dispatch/validation.ts +33 -8
- package/src/domains/eval/compare/compare.ts +3 -16
- package/src/domains/eval/inventory.ts +113 -0
- package/src/domains/eval/schema/serving.ts +31 -0
- package/src/domains/evidence/store.ts +6 -0
- package/src/domains/memory/index.ts +0 -1
- package/src/domains/memory/task-memory-policy.ts +6 -10
- package/src/domains/memory/task-memory-telemetry.ts +1 -0
- package/src/domains/middleware/memory-intervention.ts +33 -21
- package/src/domains/mux/contract.ts +434 -0
- package/src/domains/mux/detect.ts +158 -0
- package/src/domains/mux/extension.ts +47 -0
- package/src/domains/mux/index.ts +96 -0
- package/src/domains/mux/manifest.ts +6 -0
- package/src/domains/mux/operations.ts +164 -0
- package/src/domains/mux/pane-registry.ts +90 -0
- package/src/domains/mux/protocol.ts +49 -0
- package/src/domains/mux/socket-client.ts +816 -0
- package/src/domains/mux/types.ts +222 -0
- package/src/domains/mux/viewer-command.ts +59 -0
- package/src/domains/mux/yazi/assets/init.lua +2 -0
- package/src/domains/mux/yazi/assets/plugins/git.yazi/LICENSE +21 -0
- package/src/domains/mux/yazi/assets/plugins/git.yazi/README.md +78 -0
- package/src/domains/mux/yazi/assets/plugins/git.yazi/main.lua +255 -0
- package/src/domains/mux/yazi/assets/plugins/git.yazi/types.lua +12 -0
- package/src/domains/mux/yazi/assets/yazi.toml +17 -0
- package/src/domains/mux/yazi/event-stream.ts +180 -0
- package/src/domains/mux/yazi/profile.ts +299 -0
- package/src/domains/mux/yazi/session.ts +228 -0
- package/src/domains/mux/yazi/theme.ts +30 -0
- package/src/domains/observability/cost.ts +21 -0
- package/src/domains/observability/index.ts +2 -0
- package/src/domains/observability/trace-store.ts +42 -0
- package/src/domains/providers/endpoint-capacity.ts +154 -22
- package/src/domains/providers/endpoint-slots-store.ts +189 -0
- package/src/domains/providers/extension.ts +20 -3
- package/src/domains/providers/index.ts +22 -0
- package/src/domains/providers/model-runtime-capabilities.ts +32 -0
- package/src/domains/providers/runtimes/boot-manifest.ts +1 -0
- package/src/domains/providers/runtimes/builtins.ts +2 -0
- package/src/domains/providers/runtimes/protocol/litellm.ts +375 -0
- package/src/domains/providers/support.ts +1 -0
- package/src/domains/providers/target-model-cache.ts +124 -0
- package/src/domains/resources/index.ts +3 -0
- package/src/domains/resources/skills/loader.ts +33 -0
- package/src/domains/safety/action-classifier.ts +6 -0
- package/src/domains/toolchain/archive.ts +175 -0
- package/src/domains/toolchain/contract.ts +28 -0
- package/src/domains/toolchain/extension.ts +47 -0
- package/src/domains/toolchain/index.ts +39 -0
- package/src/domains/toolchain/install.ts +327 -0
- package/src/domains/toolchain/manifest.ts +8 -0
- package/src/domains/toolchain/paths.ts +34 -0
- package/src/domains/toolchain/registry.ts +265 -0
- package/src/domains/toolchain/remove.ts +218 -0
- package/src/domains/toolchain/resolve.ts +182 -0
- package/src/domains/toolchain/types.ts +113 -0
- package/src/domains/toolchain/version.ts +88 -0
- package/src/engine/acp/server.ts +413 -70
- package/src/engine/acp/types.ts +19 -1
- package/src/engine/claude/sdk-module.ts +98 -0
- package/src/engine/claude/sdk-runtime.ts +19 -11
- package/src/engine/tui-primitives.ts +21 -0
- package/src/engine/tui.ts +1 -0
- package/src/engine/worker-runtime.ts +2 -13
- package/src/entry/boot-options.ts +2 -0
- package/src/entry/orchestrator.ts +103 -5
- package/src/entry/panes-activation.ts +31 -0
- package/src/entry/with-panes.ts +20 -0
- package/src/interactive/context-overlay.ts +1 -0
- package/src/interactive/cost-overlay.ts +2 -0
- package/src/interactive/council-grid.ts +1 -3
- package/src/interactive/council.ts +11 -0
- package/src/interactive/dispatch-board.ts +26 -16
- package/src/interactive/interactive-application.ts +153 -6
- package/src/interactive/interactive-input-runtime.ts +7 -0
- package/src/interactive/interactive-slash-runtime.ts +36 -6
- package/src/interactive/memory-overlay.ts +1 -0
- package/src/interactive/modal-marker.ts +170 -0
- package/src/interactive/mux-bridge.ts +214 -0
- package/src/interactive/overlay-frame.ts +58 -2
- package/src/interactive/overlay-general-openers.ts +1 -0
- package/src/interactive/overlay-key-routing.ts +14 -3
- package/src/interactive/overlay-lifecycle.ts +19 -3
- package/src/interactive/overlay-model-selectors.ts +40 -3
- package/src/interactive/overlay-permission-lifecycle.ts +90 -22
- package/src/interactive/overlay-transitions.ts +18 -4
- package/src/interactive/overlays/agents.ts +1 -0
- package/src/interactive/overlays/ask-user.ts +136 -30
- package/src/interactive/overlays/auth-dialog.ts +1 -0
- package/src/interactive/overlays/context-reset.ts +1 -0
- package/src/interactive/overlays/cwd-fallback.ts +1 -0
- package/src/interactive/overlays/decisions.ts +11 -11
- package/src/interactive/overlays/extensions.ts +1 -0
- package/src/interactive/overlays/fleet-run-approval.ts +1 -0
- package/src/interactive/overlays/handoff-review.ts +1 -0
- package/src/interactive/overlays/help-reference.ts +2 -0
- package/src/interactive/overlays/interop.ts +1 -0
- package/src/interactive/overlays/library-install-confirm.ts +1 -0
- package/src/interactive/overlays/library-tabs.ts +28 -0
- package/src/interactive/overlays/list-overlay.ts +10 -1
- package/src/interactive/overlays/message-picker.ts +1 -0
- package/src/interactive/overlays/model-scope.ts +86 -0
- package/src/interactive/overlays/model-selector.ts +1 -0
- package/src/interactive/overlays/prompts.ts +1 -0
- package/src/interactive/overlays/session-selector.ts +1 -0
- package/src/interactive/overlays/settings-sections.ts +30 -0
- package/src/interactive/overlays/settings.ts +579 -44
- package/src/interactive/overlays/side-question.ts +1 -0
- package/src/interactive/overlays/skills-hub.ts +3 -11
- package/src/interactive/overlays/tree-selector.ts +1 -0
- package/src/interactive/pane-policy.ts +46 -0
- package/src/interactive/panes-runtime.ts +292 -0
- package/src/interactive/renderers/compaction-summary.ts +29 -0
- package/src/interactive/renderers/worker-entry.ts +122 -14
- package/src/interactive/slash-commands.ts +251 -15
- package/src/interactive/tasks-overlay.ts +1 -0
- package/src/interactive/theme/tokens.ts +3 -14
- package/src/interactive/turn-context.ts +47 -2
- package/src/interactive/view/artifacts.ts +109 -1
- package/src/interactive/view/view-overlay.ts +1 -0
- package/src/interactive/watch-pane.ts +152 -0
- package/src/interactive/worker-progress.ts +7 -1
- package/src/interactive/worker-receipts.ts +19 -1
- package/src/interactive/worker-stream.ts +5 -0
- package/src/interactive/yazi-bridge.ts +444 -0
- package/src/tools/bootstrap.ts +26 -2
- package/src/tools/builtin-tool-catalog.ts +15 -0
- package/src/tools/compete-worktrees.ts +83 -2
- package/src/tools/core-bootstrap.ts +2 -1
- package/src/tools/dispatch-admission.ts +14 -3
- package/src/tools/dispatch-arguments.ts +20 -20
- package/src/tools/dispatch-run-events.ts +134 -19
- package/src/tools/dispatch-runner.ts +29 -7
- package/src/tools/dispatch-types.ts +15 -3
- package/src/tools/dispatch.ts +1 -1
- package/src/tools/executables.ts +17 -14
- package/src/tools/observation.ts +54 -4
- package/src/tools/panes-surface.ts +38 -0
- package/src/tools/panes.ts +112 -0
- package/src/tools/policy.ts +10 -1
- package/src/tools/presentation.ts +1 -0
- package/dist/chunk-D73KXYPF.js +0 -37
- package/dist/chunk-MLOK6ZOS.js +0 -2888
- package/dist/chunk-YKOFT37S.js +0 -279
- package/dist/doctor-TWBWFK5V.js +0 -165
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
clioDataDir,
|
|
4
|
+
resolveClioDirs
|
|
5
|
+
} from "./chunk-BYP5D4HI.js";
|
|
6
|
+
import {
|
|
7
|
+
init_esm_shims
|
|
8
|
+
} from "./chunk-3R73A4XB.js";
|
|
9
|
+
|
|
10
|
+
// src/domains/toolchain/registry.ts
|
|
11
|
+
init_esm_shims();
|
|
12
|
+
var PINNED_TOOLS = [
|
|
13
|
+
{
|
|
14
|
+
id: "herdr",
|
|
15
|
+
version: "0.8.2",
|
|
16
|
+
summary: "terminal multiplexer with an agent-aware socket API; powers Clio panes",
|
|
17
|
+
homepage: "https://herdr.dev",
|
|
18
|
+
license: "Apache-2.0",
|
|
19
|
+
binaries: ["herdr"],
|
|
20
|
+
primaryBinary: "herdr",
|
|
21
|
+
// Lowered from the pin on evidence, which is the bar this file sets for
|
|
22
|
+
// moving a floor. `herdr api schema --json` was read from 0.7.5
|
|
23
|
+
// (protocol 17) and 0.8.2 (protocol 20): every method the mux domain
|
|
24
|
+
// sends exists in both, and the only two 0.8.2 adds, `workspace.move_block`
|
|
25
|
+
// and `workspace.reordered`, are ones Clio never sends. The two methods
|
|
26
|
+
// that are not universal are already gated at runtime by protocol number
|
|
27
|
+
// in `src/domains/mux/protocol.ts`, whose own floor is 17, so an operator's
|
|
28
|
+
// 0.7.5 takes the documented fallback rather than failing. 0.7.5 is the
|
|
29
|
+
// oldest release actually checked, not the oldest that might work.
|
|
30
|
+
minimumVersion: "0.7.5",
|
|
31
|
+
versionArgs: ["--version"],
|
|
32
|
+
downloads: {
|
|
33
|
+
"linux-x64": {
|
|
34
|
+
url: "https://github.com/herdrdev/herdr/releases/download/v0.8.2/herdr-linux-x86_64",
|
|
35
|
+
sha256: "976150a14d490c94b243ea2e1a7eb2dfb67f12e36b182db90936f6728e6aecf4",
|
|
36
|
+
archive: "raw",
|
|
37
|
+
binaryMembers: { herdr: "" },
|
|
38
|
+
documentMembers: []
|
|
39
|
+
},
|
|
40
|
+
"linux-arm64": {
|
|
41
|
+
url: "https://github.com/herdrdev/herdr/releases/download/v0.8.2/herdr-linux-aarch64",
|
|
42
|
+
sha256: "f55610658e1c2e0d2aaef730b4b2ab885f7f8ba00285ab372bfb14f2e3d5b40d",
|
|
43
|
+
archive: "raw",
|
|
44
|
+
binaryMembers: { herdr: "" },
|
|
45
|
+
documentMembers: []
|
|
46
|
+
},
|
|
47
|
+
"darwin-x64": {
|
|
48
|
+
url: "https://github.com/herdrdev/herdr/releases/download/v0.8.2/herdr-macos-x86_64",
|
|
49
|
+
sha256: "ab50262c8190cd7aa9056d249d255c08c328c3e8716de9cfa29db4f131b8e2c1",
|
|
50
|
+
archive: "raw",
|
|
51
|
+
binaryMembers: { herdr: "" },
|
|
52
|
+
documentMembers: []
|
|
53
|
+
},
|
|
54
|
+
"darwin-arm64": {
|
|
55
|
+
url: "https://github.com/herdrdev/herdr/releases/download/v0.8.2/herdr-macos-aarch64",
|
|
56
|
+
sha256: "a5d4f4d504d8b309c91f811050559300faba31258425f53c50852fc96f6ae574",
|
|
57
|
+
archive: "raw",
|
|
58
|
+
binaryMembers: { herdr: "" },
|
|
59
|
+
documentMembers: []
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
// No `win32-x64` entry, and not for want of an asset. herdr publishes
|
|
63
|
+
// `herdr-windows-x86_64.zip` for this tag and it was downloaded and read:
|
|
64
|
+
// alongside `herdr.exe` it carries a ConPTY runtime, `conpty/conpty.dll`
|
|
65
|
+
// and `conpty/x64/OpenConsole.exe`, that has to sit in a subdirectory
|
|
66
|
+
// beside the executable. The installer places every declared member flat
|
|
67
|
+
// under its basename, so declaring this asset would install a `herdr.exe`
|
|
68
|
+
// with its runtime scattered next to it, which is a broken install that
|
|
69
|
+
// checksums and unpacks cleanly. Windows herdr waits on the installer
|
|
70
|
+
// learning to preserve a member's relative path.
|
|
71
|
+
//
|
|
72
|
+
// The release asset is a bare executable, so the Apache-2.0 text comes
|
|
73
|
+
// from the repository at the pinned tag.
|
|
74
|
+
documents: [
|
|
75
|
+
{
|
|
76
|
+
name: "LICENSE",
|
|
77
|
+
url: "https://raw.githubusercontent.com/herdrdev/herdr/v0.8.2/LICENSE",
|
|
78
|
+
sha256: "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: "yazi",
|
|
84
|
+
version: "26.8.15",
|
|
85
|
+
summary: "terminal file manager; the file-picker pane preset",
|
|
86
|
+
homepage: "https://yazi-rs.github.io",
|
|
87
|
+
license: "MIT",
|
|
88
|
+
binaries: ["yazi", "ya"],
|
|
89
|
+
primaryBinary: "yazi",
|
|
90
|
+
// Stays at the pin, now for a measured reason rather than caution. On
|
|
91
|
+
// 26.1.22 the one command Clio sends, `ya emit-to <receiver> cd <path>`,
|
|
92
|
+
// has the same signature it has at the pin. What was never exercised
|
|
93
|
+
// there is the rest of the surface: the managed profile Clio generates
|
|
94
|
+
// (`yazi.toml`, `keymap.toml`, `init.lua`) and the DDS payload shapes a
|
|
95
|
+
// pick comes back in. A profile schema mismatch degrades quietly into a
|
|
96
|
+
// file manager that opens and does the wrong thing, which is worse than
|
|
97
|
+
// vendoring a second copy. Lower this once a pick round trip has been
|
|
98
|
+
// driven end to end on the older release.
|
|
99
|
+
minimumVersion: "26.8.15",
|
|
100
|
+
versionArgs: ["--version"],
|
|
101
|
+
downloads: {
|
|
102
|
+
"linux-x64": {
|
|
103
|
+
url: "https://github.com/sxyazi/yazi/releases/download/v26.8.15/yazi-x86_64-unknown-linux-gnu.zip",
|
|
104
|
+
sha256: "cc67eb7991550c2f9407cda52d3f5af0937627aa6884e7de99a04fcf059807e0",
|
|
105
|
+
archive: "zip",
|
|
106
|
+
binaryMembers: {
|
|
107
|
+
yazi: "yazi-x86_64-unknown-linux-gnu/yazi",
|
|
108
|
+
ya: "yazi-x86_64-unknown-linux-gnu/ya"
|
|
109
|
+
},
|
|
110
|
+
documentMembers: ["yazi-x86_64-unknown-linux-gnu/LICENSE"]
|
|
111
|
+
},
|
|
112
|
+
"linux-arm64": {
|
|
113
|
+
url: "https://github.com/sxyazi/yazi/releases/download/v26.8.15/yazi-aarch64-unknown-linux-gnu.zip",
|
|
114
|
+
sha256: "f5a85771f06bb0e8c488136ae0aedaec8d341a7cee995549df391d7d852fe8d1",
|
|
115
|
+
archive: "zip",
|
|
116
|
+
binaryMembers: {
|
|
117
|
+
yazi: "yazi-aarch64-unknown-linux-gnu/yazi",
|
|
118
|
+
ya: "yazi-aarch64-unknown-linux-gnu/ya"
|
|
119
|
+
},
|
|
120
|
+
documentMembers: ["yazi-aarch64-unknown-linux-gnu/LICENSE"]
|
|
121
|
+
},
|
|
122
|
+
"darwin-x64": {
|
|
123
|
+
url: "https://github.com/sxyazi/yazi/releases/download/v26.8.15/yazi-x86_64-apple-darwin.zip",
|
|
124
|
+
sha256: "70bb2bcf57d8af862a54e2d12f2fddceefb9aa4ba3783e9a4dcbf2a8e64aacb3",
|
|
125
|
+
archive: "zip",
|
|
126
|
+
binaryMembers: {
|
|
127
|
+
yazi: "yazi-x86_64-apple-darwin/yazi",
|
|
128
|
+
ya: "yazi-x86_64-apple-darwin/ya"
|
|
129
|
+
},
|
|
130
|
+
documentMembers: ["yazi-x86_64-apple-darwin/LICENSE"]
|
|
131
|
+
},
|
|
132
|
+
"darwin-arm64": {
|
|
133
|
+
url: "https://github.com/sxyazi/yazi/releases/download/v26.8.15/yazi-aarch64-apple-darwin.zip",
|
|
134
|
+
sha256: "3f54907ea08abe96506f4b22239340ed8923a6aeaeae78f33d59bce57daca4cd",
|
|
135
|
+
archive: "zip",
|
|
136
|
+
binaryMembers: {
|
|
137
|
+
yazi: "yazi-aarch64-apple-darwin/yazi",
|
|
138
|
+
ya: "yazi-aarch64-apple-darwin/ya"
|
|
139
|
+
},
|
|
140
|
+
documentMembers: ["yazi-aarch64-apple-darwin/LICENSE"]
|
|
141
|
+
},
|
|
142
|
+
// Same shape as the other three: two executables and a LICENSE at
|
|
143
|
+
// known member paths, so the installer needs nothing new to place it.
|
|
144
|
+
"win32-x64": {
|
|
145
|
+
url: "https://github.com/sxyazi/yazi/releases/download/v26.8.15/yazi-x86_64-pc-windows-msvc.zip",
|
|
146
|
+
sha256: "451f6770999fa8f9b08e6c9f94a688c263b6d3007b0944c4407f1ae335eace30",
|
|
147
|
+
archive: "zip",
|
|
148
|
+
binaryMembers: {
|
|
149
|
+
yazi: "yazi-x86_64-pc-windows-msvc/yazi.exe",
|
|
150
|
+
ya: "yazi-x86_64-pc-windows-msvc/ya.exe"
|
|
151
|
+
},
|
|
152
|
+
documentMembers: ["yazi-x86_64-pc-windows-msvc/LICENSE"]
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
documents: []
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
id: "croc",
|
|
159
|
+
version: "11.3.6",
|
|
160
|
+
summary: "relay file transfer between machines; the transfer primitive's first backend",
|
|
161
|
+
homepage: "https://schollz.com/software/croc6",
|
|
162
|
+
license: "MIT",
|
|
163
|
+
binaries: ["croc"],
|
|
164
|
+
primaryBinary: "croc",
|
|
165
|
+
// Croc negotiates its relay protocol by major version, so any 11.x on
|
|
166
|
+
// PATH speaks to a pinned 11.x relay.
|
|
167
|
+
minimumVersion: "11.0.0",
|
|
168
|
+
versionArgs: ["--version"],
|
|
169
|
+
downloads: {
|
|
170
|
+
"linux-x64": {
|
|
171
|
+
url: "https://github.com/schollz/croc/releases/download/v11.3.6/croc_v11.3.6_Linux-64bit.tar.gz",
|
|
172
|
+
sha256: "bd18e01024f5ccc8e101c08c8233d4cffbfda4ff59acad80eaa1fc2963efc0b2",
|
|
173
|
+
archive: "tar.gz",
|
|
174
|
+
binaryMembers: { croc: "croc" },
|
|
175
|
+
documentMembers: ["LICENSE", "THIRD_PARTY_NOTICES.md"]
|
|
176
|
+
},
|
|
177
|
+
"linux-arm64": {
|
|
178
|
+
url: "https://github.com/schollz/croc/releases/download/v11.3.6/croc_v11.3.6_Linux-ARM64.tar.gz",
|
|
179
|
+
sha256: "c26ac67207301ed75ae0ece63796ec8a2a002b1cf64f4e3d3d8e7bcee508b5b3",
|
|
180
|
+
archive: "tar.gz",
|
|
181
|
+
binaryMembers: { croc: "croc" },
|
|
182
|
+
documentMembers: ["LICENSE", "THIRD_PARTY_NOTICES.md"]
|
|
183
|
+
},
|
|
184
|
+
"darwin-x64": {
|
|
185
|
+
url: "https://github.com/schollz/croc/releases/download/v11.3.6/croc_v11.3.6_macOS-64bit.tar.gz",
|
|
186
|
+
sha256: "701817a20f4d2bb4312f3234e6d328e0bdd68d6d1311db3a4ab4daf10906c5b2",
|
|
187
|
+
archive: "tar.gz",
|
|
188
|
+
binaryMembers: { croc: "croc" },
|
|
189
|
+
documentMembers: ["LICENSE", "THIRD_PARTY_NOTICES.md"]
|
|
190
|
+
},
|
|
191
|
+
"darwin-arm64": {
|
|
192
|
+
url: "https://github.com/schollz/croc/releases/download/v11.3.6/croc_v11.3.6_macOS-ARM64.tar.gz",
|
|
193
|
+
sha256: "96c4ef67751b4387e3d44a7a559aafe54094f0089f34a6c71dfb5361bd48d368",
|
|
194
|
+
archive: "tar.gz",
|
|
195
|
+
binaryMembers: { croc: "croc" },
|
|
196
|
+
documentMembers: ["LICENSE", "THIRD_PARTY_NOTICES.md"]
|
|
197
|
+
},
|
|
198
|
+
// A zip rather than a tarball on Windows, and the only entry in the
|
|
199
|
+
// table whose hash is confirmed by upstream's own checksums file
|
|
200
|
+
// rather than only by the download this repository made.
|
|
201
|
+
"win32-x64": {
|
|
202
|
+
url: "https://github.com/schollz/croc/releases/download/v11.3.6/croc_v11.3.6_Windows-64bit.zip",
|
|
203
|
+
sha256: "ed22552d371d55a9e3c3b612b982484fa00adaff8fb32c3f19f36dbf8e248bbf",
|
|
204
|
+
archive: "zip",
|
|
205
|
+
binaryMembers: { croc: "croc.exe" },
|
|
206
|
+
documentMembers: ["LICENSE", "THIRD_PARTY_NOTICES.md"]
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
documents: []
|
|
210
|
+
}
|
|
211
|
+
];
|
|
212
|
+
function currentToolPlatform() {
|
|
213
|
+
const platform = process.platform;
|
|
214
|
+
const arch = process.arch;
|
|
215
|
+
if (platform === "linux") {
|
|
216
|
+
if (arch === "x64") return "linux-x64";
|
|
217
|
+
if (arch === "arm64") return "linux-arm64";
|
|
218
|
+
return null;
|
|
219
|
+
}
|
|
220
|
+
if (platform === "darwin") {
|
|
221
|
+
if (arch === "x64") return "darwin-x64";
|
|
222
|
+
if (arch === "arm64") return "darwin-arm64";
|
|
223
|
+
return null;
|
|
224
|
+
}
|
|
225
|
+
if (platform === "win32" && arch === "x64") return "win32-x64";
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
228
|
+
function findPinnedTool(id) {
|
|
229
|
+
return PINNED_TOOLS.find((entry) => entry.id === id) ?? null;
|
|
230
|
+
}
|
|
231
|
+
function findPinnedToolByBinary(name) {
|
|
232
|
+
const bare = name.endsWith(".exe") ? name.slice(0, -4) : name;
|
|
233
|
+
return PINNED_TOOLS.find((entry) => entry.binaries.includes(bare)) ?? null;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// src/domains/toolchain/paths.ts
|
|
237
|
+
init_esm_shims();
|
|
238
|
+
import { join } from "node:path";
|
|
239
|
+
function toolchainRoot() {
|
|
240
|
+
return join(resolveClioDirs().data, "tools");
|
|
241
|
+
}
|
|
242
|
+
function toolVersionDir(id, version) {
|
|
243
|
+
return join(toolchainRoot(), id, version);
|
|
244
|
+
}
|
|
245
|
+
function vendoredBinaryPath(id, version, binary) {
|
|
246
|
+
return join(toolVersionDir(id, version), process.platform === "win32" ? `${binary}.exe` : binary);
|
|
247
|
+
}
|
|
248
|
+
function ensureToolchainRoot() {
|
|
249
|
+
return join(clioDataDir(), "tools");
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
export {
|
|
253
|
+
PINNED_TOOLS,
|
|
254
|
+
currentToolPlatform,
|
|
255
|
+
findPinnedTool,
|
|
256
|
+
findPinnedToolByBinary,
|
|
257
|
+
toolchainRoot,
|
|
258
|
+
toolVersionDir,
|
|
259
|
+
vendoredBinaryPath,
|
|
260
|
+
ensureToolchainRoot
|
|
261
|
+
};
|
|
262
|
+
//# sourceMappingURL=chunk-QDC3K2U3.js.map
|
|
@@ -19,10 +19,10 @@ import {
|
|
|
19
19
|
import {
|
|
20
20
|
enableClioCompileCache,
|
|
21
21
|
workerCompileCacheEnvironment
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-PQEFIJ36.js";
|
|
23
23
|
import {
|
|
24
24
|
atomicWrite
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-76ONBSIA.js";
|
|
26
26
|
import {
|
|
27
27
|
AI_AGENT_NAME,
|
|
28
28
|
withClioAgentEnvironment
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
} from "./chunk-IWHMRKLL.js";
|
|
34
34
|
import {
|
|
35
35
|
clioStateDir
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-BYP5D4HI.js";
|
|
37
37
|
import {
|
|
38
38
|
init_esm_shims
|
|
39
39
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -933,4 +933,4 @@ export {
|
|
|
933
933
|
routeFactVerdict,
|
|
934
934
|
runFleetNodePreflight
|
|
935
935
|
};
|
|
936
|
-
//# sourceMappingURL=chunk-
|
|
936
|
+
//# sourceMappingURL=chunk-QLFS5GO2.js.map
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
TASK_MEMORY_POLICY_DEFAULT_TIMEOUT_MS,
|
|
8
8
|
runTaskMemoryPolicy,
|
|
9
9
|
taskMemoryBankDelta
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-BKFJHQCA.js";
|
|
11
11
|
import {
|
|
12
12
|
isTerminalRunEnvelope
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-J4W7KFM7.js";
|
|
14
14
|
import {
|
|
15
15
|
taskBoardCounts
|
|
16
16
|
} from "./chunk-2JDWVJND.js";
|
|
@@ -21,23 +21,23 @@ import {
|
|
|
21
21
|
import {
|
|
22
22
|
legacyToolResultDigest,
|
|
23
23
|
sanitizeToolResultDigest
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-CY6FY24N.js";
|
|
25
25
|
import {
|
|
26
26
|
ToolNames
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-K6BSR66V.js";
|
|
28
28
|
import {
|
|
29
29
|
registerForegroundStream
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-DQITNCXG.js";
|
|
31
31
|
import {
|
|
32
32
|
ceilChars
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-UM7N4G5A.js";
|
|
34
|
+
import {
|
|
35
|
+
BusChannels
|
|
36
|
+
} from "./chunk-HLW2MRKE.js";
|
|
34
37
|
import {
|
|
35
38
|
reportCommitAttributionDiagnostic,
|
|
36
39
|
withManagedGitCommitAttributionEnvironment
|
|
37
|
-
} from "./chunk-
|
|
38
|
-
import {
|
|
39
|
-
BusChannels
|
|
40
|
-
} from "./chunk-RKRLDWD3.js";
|
|
40
|
+
} from "./chunk-BBVJUZHB.js";
|
|
41
41
|
import {
|
|
42
42
|
require_dist
|
|
43
43
|
} from "./chunk-APJ265NV.js";
|
|
@@ -1388,8 +1388,9 @@ init_esm_shims();
|
|
|
1388
1388
|
import { createHash as createHash2 } from "node:crypto";
|
|
1389
1389
|
var MEMORY_INTERVENTION_REGISTRATION_ID = "observer.memory-intervention";
|
|
1390
1390
|
var MEMORY_INTERVENTION_DEFAULT_WINDOW_STEPS = 8;
|
|
1391
|
-
var MEMORY_INTERVENTION_DEFAULT_MAX_TOKENS =
|
|
1391
|
+
var MEMORY_INTERVENTION_DEFAULT_MAX_TOKENS = 2e3;
|
|
1392
1392
|
var MEMORY_INTERVENTION_DEFAULT_EVERY_N_TOOLS = 10;
|
|
1393
|
+
var MEMORY_INTERVENTION_TIMEOUT_BACKOFF_THRESHOLD = 2;
|
|
1393
1394
|
var MEMORY_INTERVENTION_ACTIVITY_LIMIT = 20;
|
|
1394
1395
|
var CALL_DESCRIPTION_MAX_CHARS = 180;
|
|
1395
1396
|
var NO_EFFECTS = [];
|
|
@@ -1416,6 +1417,7 @@ function createMemoryInterventionRegistration(deps) {
|
|
|
1416
1417
|
let outstandingStep = Promise.resolve();
|
|
1417
1418
|
let rulesInjectedSincePromptedStep = false;
|
|
1418
1419
|
let annotatedSinceTurnEnd = false;
|
|
1420
|
+
let consecutiveLlmTimeouts = 0;
|
|
1419
1421
|
return {
|
|
1420
1422
|
id: MEMORY_INTERVENTION_REGISTRATION_ID,
|
|
1421
1423
|
description: "maintain bounded task execution memory and selectively remind after repeated failures or compaction",
|
|
@@ -1581,27 +1583,32 @@ function createMemoryInterventionRegistration(deps) {
|
|
|
1581
1583
|
let promptedResult;
|
|
1582
1584
|
let telemetryDecision = null;
|
|
1583
1585
|
try {
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
promptedResult = silent("no_client");
|
|
1587
|
-
} else if (deps.backgroundEndpointBusy?.() === true) {
|
|
1588
|
-
tier = "llm";
|
|
1589
|
-
promptedStepTier = tier;
|
|
1590
|
-
promptedResult = silent("endpoint_busy");
|
|
1591
|
-
telemetryDecision = "dropped";
|
|
1586
|
+
if (consecutiveLlmTimeouts >= MEMORY_INTERVENTION_TIMEOUT_BACKOFF_THRESHOLD) {
|
|
1587
|
+
promptedResult = silent("llm_timeout_backoff");
|
|
1592
1588
|
} else {
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1589
|
+
const client = deps.getModelClient?.() ?? null;
|
|
1590
|
+
if (client === null) {
|
|
1591
|
+
promptedResult = silent("no_client");
|
|
1592
|
+
} else if (deps.backgroundEndpointBusy?.() === true) {
|
|
1593
|
+
tier = "llm";
|
|
1594
|
+
promptedStepTier = tier;
|
|
1595
|
+
promptedResult = silent("endpoint_busy");
|
|
1596
|
+
telemetryDecision = "dropped";
|
|
1597
|
+
} else {
|
|
1598
|
+
tier = "llm";
|
|
1599
|
+
promptedStepTier = tier;
|
|
1600
|
+
promptedResult = await runTaskMemoryPolicy(deps.bank, client, {
|
|
1601
|
+
task: input.task?.trim() || currentTask,
|
|
1602
|
+
trajectory: [...trajectory],
|
|
1603
|
+
deterministicTrigger: input.deterministicTrigger,
|
|
1604
|
+
maxTokens: live.maxTokens,
|
|
1605
|
+
modelMaxTokens: positiveInteger(deps.getModelMaxTokens?.(live.maxTokens), live.maxTokens),
|
|
1606
|
+
...input.suppressIntervention === void 0 ? {} : { suppressIntervention: input.suppressIntervention },
|
|
1607
|
+
previousReminder: lastInjectedMessage,
|
|
1608
|
+
timeoutMs: live.timeoutMs,
|
|
1609
|
+
...deps.onEnvelope === void 0 ? {} : { onEnvelope: deps.onEnvelope }
|
|
1610
|
+
});
|
|
1611
|
+
}
|
|
1605
1612
|
}
|
|
1606
1613
|
} catch (error) {
|
|
1607
1614
|
promptedResult = silent("client_error");
|
|
@@ -1617,6 +1624,8 @@ function createMemoryInterventionRegistration(deps) {
|
|
|
1617
1624
|
error: error instanceof Error ? error.message : "resolving the background model client failed"
|
|
1618
1625
|
});
|
|
1619
1626
|
}
|
|
1627
|
+
if (tier === "llm" && promptedResult.decision === "timeout") consecutiveLlmTimeouts += 1;
|
|
1628
|
+
else if (tier === "llm" && telemetryDecision !== "dropped") consecutiveLlmTimeouts = 0;
|
|
1620
1629
|
lastDecision = promptedResult.decision;
|
|
1621
1630
|
if (promptedResult.usage !== null) {
|
|
1622
1631
|
try {
|
|
@@ -2458,4 +2467,4 @@ export {
|
|
|
2458
2467
|
createWatchdogRegistration,
|
|
2459
2468
|
MiddlewareDomainModule
|
|
2460
2469
|
};
|
|
2461
|
-
//# sourceMappingURL=chunk-
|
|
2470
|
+
//# sourceMappingURL=chunk-QLL7ILRG.js.map
|
|
@@ -5,19 +5,19 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
probeWorkspace
|
|
7
7
|
} from "./chunk-HVDIIIQW.js";
|
|
8
|
-
import {
|
|
9
|
-
protectArtifact
|
|
10
|
-
} from "./chunk-MV3K5QF2.js";
|
|
11
8
|
import {
|
|
12
9
|
isSessionEntry,
|
|
13
10
|
isSessionHeader
|
|
14
11
|
} from "./chunk-RAPCMZL4.js";
|
|
12
|
+
import {
|
|
13
|
+
protectArtifact
|
|
14
|
+
} from "./chunk-GCSMB2KY.js";
|
|
15
15
|
import {
|
|
16
16
|
stripTokenizerSentinels
|
|
17
17
|
} from "./chunk-CFGTUFWB.js";
|
|
18
18
|
import {
|
|
19
19
|
BusChannels
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-HLW2MRKE.js";
|
|
21
21
|
import {
|
|
22
22
|
CURRENT_SESSION_FORMAT_VERSION,
|
|
23
23
|
appendSessionFileEntry,
|
|
@@ -29,11 +29,11 @@ import {
|
|
|
29
29
|
readSessionMeta,
|
|
30
30
|
resumeSession,
|
|
31
31
|
sessionPaths
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-76ONBSIA.js";
|
|
33
33
|
import {
|
|
34
34
|
clioStateDir,
|
|
35
35
|
stateRootRemoved
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-BYP5D4HI.js";
|
|
37
37
|
import {
|
|
38
38
|
init_esm_shims
|
|
39
39
|
} from "./chunk-3R73A4XB.js";
|
|
@@ -1475,4 +1475,4 @@ export {
|
|
|
1475
1475
|
ledgerUsageCalls,
|
|
1476
1476
|
SessionDomainModule
|
|
1477
1477
|
};
|
|
1478
|
-
//# sourceMappingURL=chunk-
|
|
1478
|
+
//# sourceMappingURL=chunk-QREDIESB.js.map
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
PINNED_TOOLS,
|
|
4
|
+
currentToolPlatform,
|
|
5
|
+
findPinnedTool,
|
|
6
|
+
findPinnedToolByBinary,
|
|
7
|
+
toolVersionDir,
|
|
8
|
+
vendoredBinaryPath
|
|
9
|
+
} from "./chunk-QDC3K2U3.js";
|
|
10
|
+
import {
|
|
11
|
+
init_esm_shims
|
|
12
|
+
} from "./chunk-3R73A4XB.js";
|
|
13
|
+
|
|
14
|
+
// src/domains/toolchain/resolve.ts
|
|
15
|
+
init_esm_shims();
|
|
16
|
+
import { statSync } from "node:fs";
|
|
17
|
+
import { delimiter, join } from "node:path";
|
|
18
|
+
|
|
19
|
+
// src/domains/toolchain/version.ts
|
|
20
|
+
init_esm_shims();
|
|
21
|
+
import { spawnSync } from "node:child_process";
|
|
22
|
+
var VERSION_PATTERN = /(\d+)\.(\d+)\.(\d+)/;
|
|
23
|
+
var PROBE_TIMEOUT_MS = 2e3;
|
|
24
|
+
function parseVersion(output) {
|
|
25
|
+
const match = VERSION_PATTERN.exec(output);
|
|
26
|
+
if (!match) return null;
|
|
27
|
+
return `${match[1]}.${match[2]}.${match[3]}`;
|
|
28
|
+
}
|
|
29
|
+
function compareVersions(a, b) {
|
|
30
|
+
const left = numericParts(a);
|
|
31
|
+
const right = numericParts(b);
|
|
32
|
+
for (let i = 0; i < 3; i += 1) {
|
|
33
|
+
const diff = (left[i] ?? 0) - (right[i] ?? 0);
|
|
34
|
+
if (diff !== 0) return diff;
|
|
35
|
+
}
|
|
36
|
+
return 0;
|
|
37
|
+
}
|
|
38
|
+
function satisfiesMinimum(found, minimum) {
|
|
39
|
+
if (found === null) return false;
|
|
40
|
+
return compareVersions(found, minimum) >= 0;
|
|
41
|
+
}
|
|
42
|
+
function probeBinaryVersion(binaryPath, args) {
|
|
43
|
+
const cached = probeCache.get(binaryPath);
|
|
44
|
+
if (cached !== void 0) return cached;
|
|
45
|
+
let version = null;
|
|
46
|
+
try {
|
|
47
|
+
const result = spawnSync(binaryPath, [...args], {
|
|
48
|
+
timeout: PROBE_TIMEOUT_MS,
|
|
49
|
+
encoding: "utf8",
|
|
50
|
+
// A version probe must never inherit a terminal or wait on input: some
|
|
51
|
+
// of these binaries are full-screen programs when given a tty.
|
|
52
|
+
stdio: ["ignore", "pipe", "pipe"]
|
|
53
|
+
});
|
|
54
|
+
if (result.error === void 0) {
|
|
55
|
+
version = parseVersion(`${result.stdout ?? ""}
|
|
56
|
+
${result.stderr ?? ""}`);
|
|
57
|
+
}
|
|
58
|
+
} catch {
|
|
59
|
+
version = null;
|
|
60
|
+
}
|
|
61
|
+
probeCache.set(binaryPath, version);
|
|
62
|
+
return version;
|
|
63
|
+
}
|
|
64
|
+
var probeCache = /* @__PURE__ */ new Map();
|
|
65
|
+
function numericParts(value) {
|
|
66
|
+
const match = VERSION_PATTERN.exec(value);
|
|
67
|
+
if (!match) return [0, 0, 0];
|
|
68
|
+
return [Number(match[1]), Number(match[2]), Number(match[3])];
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// src/domains/toolchain/resolve.ts
|
|
72
|
+
function findExecutableOnPath(name) {
|
|
73
|
+
const pathEnv = process.env.PATH;
|
|
74
|
+
if (!pathEnv) return null;
|
|
75
|
+
const candidates = process.platform === "win32" ? [`${name}.exe`, name] : [name];
|
|
76
|
+
for (const dir of pathEnv.split(delimiter)) {
|
|
77
|
+
if (!dir) continue;
|
|
78
|
+
for (const candidate of candidates) {
|
|
79
|
+
const full = join(dir, candidate);
|
|
80
|
+
const stat = statSync(full, { throwIfNoEntry: false });
|
|
81
|
+
if (stat?.isFile() && (process.platform === "win32" || (stat.mode & 73) !== 0)) return full;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
function resolveToolBinary(name) {
|
|
87
|
+
const entry = findPinnedToolByBinary(name) ?? findPinnedTool(name);
|
|
88
|
+
if (entry === null) {
|
|
89
|
+
const found = findExecutableOnPath(name);
|
|
90
|
+
return {
|
|
91
|
+
source: found === null ? "none" : "path",
|
|
92
|
+
binaryPath: found,
|
|
93
|
+
version: null,
|
|
94
|
+
entry: null,
|
|
95
|
+
pathCandidate: found === null ? null : { path: found, version: null, satisfiesMinimum: true },
|
|
96
|
+
vendoredPath: null
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
const binary = entry.binaries.includes(name) ? name : entry.primaryBinary;
|
|
100
|
+
return resolveEntryBinary(entry, binary);
|
|
101
|
+
}
|
|
102
|
+
function resolveEntryBinary(entry, binary) {
|
|
103
|
+
const pathCandidate = probePathCandidate(entry, binary);
|
|
104
|
+
const vendored = vendoredBinaryPath(entry.id, entry.version, binary);
|
|
105
|
+
const vendoredStat = statSync(vendored, { throwIfNoEntry: false });
|
|
106
|
+
const vendoredPath = vendoredStat?.isFile() ? vendored : null;
|
|
107
|
+
if (pathCandidate?.satisfiesMinimum) {
|
|
108
|
+
return {
|
|
109
|
+
source: "path",
|
|
110
|
+
binaryPath: pathCandidate.path,
|
|
111
|
+
version: pathCandidate.version,
|
|
112
|
+
entry,
|
|
113
|
+
pathCandidate,
|
|
114
|
+
vendoredPath
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
if (vendoredPath !== null) {
|
|
118
|
+
return {
|
|
119
|
+
source: "vendored",
|
|
120
|
+
binaryPath: vendoredPath,
|
|
121
|
+
version: entry.version,
|
|
122
|
+
entry,
|
|
123
|
+
pathCandidate,
|
|
124
|
+
vendoredPath
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
return { source: "none", binaryPath: null, version: null, entry, pathCandidate, vendoredPath: null };
|
|
128
|
+
}
|
|
129
|
+
function toolStatus(entry) {
|
|
130
|
+
const platform = currentToolPlatform();
|
|
131
|
+
const supported = platform !== null && entry.downloads[platform] !== void 0;
|
|
132
|
+
const resolution = resolveEntryBinary(entry, entry.primaryBinary);
|
|
133
|
+
return {
|
|
134
|
+
id: entry.id,
|
|
135
|
+
version: entry.version,
|
|
136
|
+
license: entry.license,
|
|
137
|
+
platform,
|
|
138
|
+
supported,
|
|
139
|
+
installed: resolution.vendoredPath !== null,
|
|
140
|
+
installDir: toolVersionDir(entry.id, entry.version),
|
|
141
|
+
resolution
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
function toolStatuses() {
|
|
145
|
+
return PINNED_TOOLS.map((entry) => toolStatus(entry));
|
|
146
|
+
}
|
|
147
|
+
function installRemedy(id) {
|
|
148
|
+
return `clio-coder tools install ${id}`;
|
|
149
|
+
}
|
|
150
|
+
function describeFloorRejection(status) {
|
|
151
|
+
const candidate = status.resolution.pathCandidate;
|
|
152
|
+
if (candidate === null || candidate.satisfiesMinimum) return null;
|
|
153
|
+
const floor = status.resolution.entry?.minimumVersion ?? status.version;
|
|
154
|
+
const found = candidate.version === null ? "an unreadable version" : candidate.version;
|
|
155
|
+
return `PATH copy ${candidate.path} is ${found}, below the ${floor} floor`;
|
|
156
|
+
}
|
|
157
|
+
function describeResolution(status) {
|
|
158
|
+
const { resolution } = status;
|
|
159
|
+
const rejection = describeFloorRejection(status);
|
|
160
|
+
if (resolution.source === "path") {
|
|
161
|
+
const version = resolution.version ?? "unreadable version";
|
|
162
|
+
return `PATH ${resolution.binaryPath} (${version}, pin ${status.version})`;
|
|
163
|
+
}
|
|
164
|
+
if (resolution.source === "vendored") {
|
|
165
|
+
const rejected = rejection === null ? "" : `; ${rejection}, so Clio runs the vendored copy`;
|
|
166
|
+
return `vendored ${resolution.binaryPath} (${status.version})${rejected}`;
|
|
167
|
+
}
|
|
168
|
+
if (!status.supported) {
|
|
169
|
+
const platform = status.platform ?? `${process.platform}-${process.arch}`;
|
|
170
|
+
const rejected = rejection === null ? "" : `; ${rejection}`;
|
|
171
|
+
return `not installed and no pinned asset for this platform (${platform})${rejected}`;
|
|
172
|
+
}
|
|
173
|
+
if (rejection !== null) {
|
|
174
|
+
return `${rejection}, and nothing is vendored (install with \`${installRemedy(status.id)}\`)`;
|
|
175
|
+
}
|
|
176
|
+
return `not found (install with \`${installRemedy(status.id)}\`)`;
|
|
177
|
+
}
|
|
178
|
+
function probePathCandidate(entry, binary) {
|
|
179
|
+
const found = findExecutableOnPath(binary);
|
|
180
|
+
if (found === null) return null;
|
|
181
|
+
const probeTarget = binary === entry.primaryBinary ? found : findExecutableOnPath(entry.primaryBinary) ?? found;
|
|
182
|
+
const version = probeBinaryVersion(probeTarget, entry.versionArgs);
|
|
183
|
+
return { path: found, version, satisfiesMinimum: satisfiesMinimum(version, entry.minimumVersion) };
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export {
|
|
187
|
+
findExecutableOnPath,
|
|
188
|
+
resolveToolBinary,
|
|
189
|
+
toolStatus,
|
|
190
|
+
toolStatuses,
|
|
191
|
+
installRemedy,
|
|
192
|
+
describeFloorRejection,
|
|
193
|
+
describeResolution
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=chunk-QSNYB6ZV.js.map
|