@remnic/core 9.69.39 → 9.69.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/access-admin-ops-surface.d.ts +16 -14
- package/dist/access-admin-ops-surface.js +75 -74
- package/dist/access-audit.js +2 -2
- package/dist/access-authorization-probe.d.ts +16 -14
- package/dist/access-authorization-probe.js +76 -75
- package/dist/access-boundary.d.ts +16 -14
- package/dist/access-boundary.js +75 -74
- package/dist/access-cli.js +173 -170
- package/dist/access-cli.js.map +1 -1
- package/dist/access-coding-context-resolution.d.ts +1 -1
- package/dist/access-extraction-force-flush.d.ts +16 -14
- package/dist/access-extraction-force-flush.js +75 -74
- package/dist/access-health-types.d.ts +1 -1
- package/dist/access-http-briefing.d.ts +16 -14
- package/dist/access-http-briefing.js +76 -75
- package/dist/access-http-lcm-compaction.d.ts +16 -14
- package/dist/access-http-lifecycle-flush.d.ts +16 -14
- package/dist/access-http-offline-stream.d.ts +16 -14
- package/dist/access-http-query.d.ts +2 -2
- package/dist/access-http-query.js +77 -76
- package/dist/access-http.d.ts +17 -15
- package/dist/access-http.js +95 -92
- package/dist/access-identity-continuity-surface.d.ts +13 -12
- package/dist/access-identity-continuity-surface.js +75 -74
- package/dist/access-lcm-surface.d.ts +16 -14
- package/dist/access-lcm-surface.js +75 -74
- package/dist/access-mcp-shared-context-tools.d.ts +156 -0
- package/dist/access-mcp-shared-context-tools.js +8 -0
- package/dist/access-mcp.d.ts +16 -14
- package/dist/access-mcp.js +86 -83
- package/dist/access-memory-search-fanout.d.ts +2 -2
- package/dist/{access-namespace-preflight-DY4z6L5X.d.ts → access-namespace-preflight-DWsMc9Dh.d.ts} +1 -1
- package/dist/access-namespace-preflight.d.ts +3 -3
- package/dist/access-namespace-preflight.js +75 -74
- package/dist/access-observe-transcript.d.ts +13 -12
- package/dist/access-observe-write-category.d.ts +1 -1
- package/dist/access-observe-write-category.js +4 -4
- package/dist/access-observe-write-surface.d.ts +16 -14
- package/dist/access-observe-write-surface.js +75 -74
- package/dist/access-offline-manifest.d.ts +37 -13
- package/dist/access-offline-manifest.js +15 -11
- package/dist/access-operations-batch.js +79 -77
- package/dist/access-operations.d.ts +16 -14
- package/dist/access-operations.js +84 -82
- package/dist/access-recall-concurrency.d.ts +16 -14
- package/dist/access-recall-concurrency.js +75 -74
- package/dist/access-recall-response.d.ts +16 -14
- package/dist/access-recall-response.js +75 -74
- package/dist/access-recall-surface.d.ts +16 -14
- package/dist/access-recall-surface.js +75 -74
- package/dist/access-schema.d.ts +5 -3
- package/dist/access-schema.js +3 -3
- package/dist/{access-service-MY4bsr_Q.d.ts → access-service-Cisy5YDq.d.ts} +14 -9
- package/dist/access-service-helpers.d.ts +16 -14
- package/dist/access-service.d.ts +16 -14
- package/dist/access-service.js +75 -74
- package/dist/access-surface-catalog.d.ts +16 -14
- package/dist/access-surface-catalog.js +77 -76
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/access-wearables-meetings-surface.d.ts +6 -5
- package/dist/action-confidence.d.ts +1 -1
- package/dist/active-memory-bridge.d.ts +1 -1
- package/dist/active-memory-bridge.js +3 -3
- package/dist/active-recall.d.ts +1 -1
- package/dist/active-recall.js +10 -9
- package/dist/active-recall.js.map +1 -1
- package/dist/activity/digest.d.ts +1 -1
- package/dist/ambient-provenance.d.ts +1 -1
- package/dist/artifact-search.d.ts +1 -1
- package/dist/{auto-sync-RP4C6ZPF.js → auto-sync-7PGUFY7U.js} +7 -7
- package/dist/background-generation-config.d.ts +1 -1
- package/dist/background-generation-config.js +3 -1
- package/dist/background-generation.d.ts +1 -1
- package/dist/behavior-learner.d.ts +1 -1
- package/dist/behavior-signals.d.ts +1 -1
- package/dist/bootstrap.d.ts +13 -12
- package/dist/briefing-window.d.ts +2 -2
- package/dist/briefing.d.ts +2 -2
- package/dist/briefing.js +23 -23
- package/dist/buffer-surprise-report.d.ts +1 -1
- package/dist/buffer-turn-helpers.d.ts +1 -1
- package/dist/buffer.d.ts +2 -2
- package/dist/buffer.js +7 -7
- package/dist/bulk-import/index.d.ts +3 -3
- package/dist/calibration.d.ts +3 -2
- package/dist/calibration.js +2 -2
- package/dist/capabilities.d.ts +1 -1
- package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
- package/dist/{capsule-merge-IPG4IOFP.js → capsule-merge-3MNURAQ3.js} +2 -2
- package/dist/{catalog-CW87xGx8.d.ts → catalog-wcX1QhtQ.d.ts} +1 -1
- package/dist/causal-behavior.d.ts +1 -1
- package/dist/causal-consolidation.d.ts +1 -1
- package/dist/causal-consolidation.js +29 -28
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-trajectory-graph.d.ts +1 -1
- package/dist/{chunk-YFTNZMGR.js → chunk-27NO2KVB.js} +31 -8
- package/dist/chunk-27NO2KVB.js.map +1 -0
- package/dist/{chunk-M6RORUO5.js → chunk-2EYZ32LH.js} +24 -2
- package/dist/{chunk-M6RORUO5.js.map → chunk-2EYZ32LH.js.map} +1 -1
- package/dist/{chunk-XH3HGI2N.js → chunk-2HQPE2NM.js} +2 -2
- package/dist/{chunk-3EKVN2OP.js → chunk-2ZG2LLZT.js} +2 -2
- package/dist/{chunk-6EHM2AV7.js → chunk-3BLHPQHT.js} +5 -5
- package/dist/{chunk-YKREX63Z.js → chunk-3D75XIYO.js} +5 -3
- package/dist/chunk-3D75XIYO.js.map +1 -0
- package/dist/{chunk-J272ODKJ.js → chunk-42DJ235G.js} +2 -2
- package/dist/{chunk-F4EHXVP7.js → chunk-46RII65S.js} +2 -2
- package/dist/{chunk-YUW66UAH.js → chunk-4AX5OYKC.js} +2 -2
- package/dist/{chunk-AECJY3GJ.js → chunk-4IGOLIWM.js} +2 -2
- package/dist/{chunk-2ZTDRNCS.js → chunk-54QPOE45.js} +2 -2
- package/dist/{chunk-O4M4BDIJ.js → chunk-563X6JJX.js} +2 -2
- package/dist/{chunk-IL6ODG6M.js → chunk-5EQT62HH.js} +2 -2
- package/dist/{chunk-JKKII6GX.js → chunk-6MQMYXSQ.js} +2 -2
- package/dist/{chunk-TVVEYCNW.js → chunk-7K5Q6COX.js} +4 -4
- package/dist/{chunk-BV4ZKIZH.js → chunk-7ZLC4DTZ.js} +5 -4
- package/dist/{chunk-WBM2MVBK.js → chunk-A4OIJYCV.js} +2 -2
- package/dist/{chunk-RLJHJQUY.js → chunk-AFJHNHAM.js} +8 -8
- package/dist/{chunk-6YAIN5XJ.js → chunk-AIVRD66I.js} +44 -6
- package/dist/chunk-AIVRD66I.js.map +1 -0
- package/dist/{chunk-OEDW4ER7.js → chunk-AJBWVDRV.js} +2 -1
- package/dist/chunk-AJBWVDRV.js.map +1 -0
- package/dist/{chunk-4RZLTZVM.js → chunk-AKABVXFS.js} +2 -2
- package/dist/{chunk-M6HBPLBA.js → chunk-AUSRUOMQ.js} +2 -2
- package/dist/{chunk-QHT7MOUF.js → chunk-BTPCP535.js} +25 -14
- package/dist/chunk-BTPCP535.js.map +1 -0
- package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
- package/dist/{chunk-Q7CLGFA7.js → chunk-C3G6MW4W.js} +3 -3
- package/dist/{chunk-O76F5QPP.js → chunk-D6PY63OM.js} +2 -2
- package/dist/{chunk-BD7JTBYP.js → chunk-D7MAYFQP.js} +2 -2
- package/dist/{chunk-LMLGBG6H.js → chunk-DBB5JPSL.js} +2 -2
- package/dist/{chunk-TSP5WH72.js → chunk-DIXZQTGY.js} +2 -2
- package/dist/{chunk-P4ZAEYKG.js → chunk-DM5CU5J7.js} +7 -4
- package/dist/chunk-DM5CU5J7.js.map +1 -0
- package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
- package/dist/{chunk-UHRZ324M.js → chunk-E3I3NDUP.js} +4 -4
- package/dist/{chunk-AENM6GKU.js → chunk-E4LMQTST.js} +2 -2
- package/dist/{chunk-YDVAM7S4.js → chunk-EH3HNCAM.js} +13 -8
- package/dist/chunk-EH3HNCAM.js.map +1 -0
- package/dist/{chunk-MUTVRKKY.js → chunk-EMSYMYXO.js} +14 -14
- package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
- package/dist/{chunk-FXHOZGSE.js → chunk-F5H6YG5P.js} +2 -2
- package/dist/{chunk-TRLOFIQC.js → chunk-FGFC2EFR.js} +14 -13
- package/dist/chunk-FGFC2EFR.js.map +1 -0
- package/dist/{chunk-TNSCIPBQ.js → chunk-G6NQ3L4T.js} +2 -2
- package/dist/{chunk-ZMWSYUUL.js → chunk-GCBIXUPT.js} +2 -2
- package/dist/{chunk-EYKIDK33.js → chunk-GMH5QPUU.js} +22 -22
- package/dist/chunk-GMH5QPUU.js.map +1 -0
- package/dist/{chunk-4BCHFSC7.js → chunk-GWNSKQDA.js} +3 -3
- package/dist/{chunk-JDX2OA4R.js → chunk-HNHIHXSD.js} +2 -2
- package/dist/{chunk-GG5FHZJJ.js → chunk-I33QYUAF.js} +6 -6
- package/dist/{chunk-LPYYY4AP.js → chunk-I46BYY7U.js} +653 -328
- package/dist/chunk-I46BYY7U.js.map +1 -0
- package/dist/{chunk-CZTPU65V.js → chunk-ICN37XHG.js} +74 -27
- package/dist/chunk-ICN37XHG.js.map +1 -0
- package/dist/chunk-IFBSZGW3.js +42 -0
- package/dist/chunk-IFBSZGW3.js.map +1 -0
- package/dist/{chunk-AAZEKXUP.js → chunk-IYIPXAIJ.js} +2 -2
- package/dist/{chunk-ACY4ZPF7.js → chunk-J2MGTGKC.js} +10 -5
- package/dist/chunk-J2MGTGKC.js.map +1 -0
- package/dist/chunk-JATHBCAV.js +94 -0
- package/dist/chunk-JATHBCAV.js.map +1 -0
- package/dist/{chunk-5U7K4W6K.js → chunk-JDOBQPJY.js} +3 -3
- package/dist/{chunk-TG3FAM2S.js → chunk-JL4TQYM5.js} +48 -1
- package/dist/{chunk-TG3FAM2S.js.map → chunk-JL4TQYM5.js.map} +1 -1
- package/dist/{chunk-UZZ7SQT3.js → chunk-JMWUPUE6.js} +2 -2
- package/dist/{chunk-ENBPQEVU.js → chunk-JSD7Q7LD.js} +2 -2
- package/dist/{chunk-QTQ6XKGT.js → chunk-K5D2XVNN.js} +4 -4
- package/dist/chunk-K5D2XVNN.js.map +1 -0
- package/dist/{chunk-3CBI2ZSA.js → chunk-KG2OOAFF.js} +20 -12
- package/dist/chunk-KG2OOAFF.js.map +1 -0
- package/dist/{chunk-Q432REND.js → chunk-KJLLPG26.js} +2 -2
- package/dist/{chunk-JTQR6L2N.js → chunk-KLUC2GSG.js} +6 -6
- package/dist/{chunk-OB3XMWX5.js → chunk-KVO2BTA4.js} +2 -2
- package/dist/{chunk-PCOVEDPK.js → chunk-KZJM7R4F.js} +3 -3
- package/dist/{chunk-X4TD4O2F.js → chunk-LE2KZ72G.js} +3 -3
- package/dist/{chunk-HIP6DKJJ.js → chunk-LQVXSRAJ.js} +2 -2
- package/dist/{chunk-A7GQBJP5.js → chunk-LVFI5LG7.js} +7 -7
- package/dist/{chunk-FWWWUPOE.js → chunk-MCMS4VUK.js} +25 -15
- package/dist/chunk-MCMS4VUK.js.map +1 -0
- package/dist/{chunk-5SPCMAUC.js → chunk-N6XTC56E.js} +13 -81
- package/dist/chunk-N6XTC56E.js.map +1 -0
- package/dist/{chunk-VBSNUH4J.js → chunk-ND7MAIJC.js} +2 -2
- package/dist/{chunk-TNZNSMVJ.js → chunk-NYWCFC3K.js} +301 -348
- package/dist/chunk-NYWCFC3K.js.map +1 -0
- package/dist/{chunk-54NX5EG4.js → chunk-P66QH6R6.js} +2 -2
- package/dist/{chunk-62D2PAAM.js → chunk-PAAJWQH5.js} +4 -4
- package/dist/{chunk-TA4C3XB7.js → chunk-PFKIOYJH.js} +2 -2
- package/dist/{chunk-WIWLX65T.js → chunk-PGGPRF6J.js} +2 -2
- package/dist/{chunk-V6EGNVUT.js → chunk-PIWFNPQT.js} +4 -4
- package/dist/{chunk-BLDBT6HZ.js → chunk-PJRKLB4Z.js} +18 -2
- package/dist/chunk-PJRKLB4Z.js.map +1 -0
- package/dist/{chunk-4JVQRFZD.js → chunk-PLJ2MQFT.js} +11 -11
- package/dist/{chunk-4RX5O34R.js → chunk-PQ42DJNG.js} +2 -2
- package/dist/{chunk-37CAEC7E.js → chunk-PWPIERBM.js} +4 -4
- package/dist/{chunk-ZEGL7YCC.js → chunk-Q62GA5U2.js} +2 -2
- package/dist/{chunk-CC37E3QM.js → chunk-QKCXRS5A.js} +16 -1
- package/dist/chunk-QKCXRS5A.js.map +1 -0
- package/dist/{chunk-WKDFJXW5.js → chunk-QM2SPLKQ.js} +1 -1
- package/dist/chunk-QM2SPLKQ.js.map +1 -0
- package/dist/{chunk-GAS7KYC7.js → chunk-RQQO3ORQ.js} +2 -2
- package/dist/{chunk-UZEHHXYC.js → chunk-S4MJTIPG.js} +85 -81
- package/dist/chunk-S4MJTIPG.js.map +1 -0
- package/dist/chunk-SK7D34OL.js +68 -0
- package/dist/chunk-SK7D34OL.js.map +1 -0
- package/dist/{chunk-LQNRVPTV.js → chunk-TRTLWUDD.js} +164 -130
- package/dist/chunk-TRTLWUDD.js.map +1 -0
- package/dist/{chunk-JXN77SGO.js → chunk-U2VDCFXW.js} +1 -1
- package/dist/chunk-U2VDCFXW.js.map +1 -0
- package/dist/{chunk-CWTCMZGE.js → chunk-UHSOPTNB.js} +132 -6
- package/dist/chunk-UHSOPTNB.js.map +1 -0
- package/dist/{chunk-3NPNBVFR.js → chunk-UZGHKD3T.js} +2 -2
- package/dist/{chunk-IQEJIOEU.js → chunk-V2EXYQEQ.js} +20 -12
- package/dist/chunk-V2EXYQEQ.js.map +1 -0
- package/dist/{chunk-OPBFP4TF.js → chunk-V2TOGJPM.js} +46 -13
- package/dist/chunk-V2TOGJPM.js.map +1 -0
- package/dist/{chunk-VJIE4D2I.js → chunk-V62YYBBY.js} +4 -4
- package/dist/{chunk-KQAFEZQX.js → chunk-VDX2J7OX.js} +2 -2
- package/dist/{chunk-6H2G7RFT.js → chunk-VNQRRUNS.js} +11 -10
- package/dist/chunk-VNQRRUNS.js.map +1 -0
- package/dist/{chunk-6AGWBKQU.js → chunk-VSN2DMQK.js} +2 -2
- package/dist/{chunk-ZHXSOMYH.js → chunk-VVX5PZFS.js} +2 -2
- package/dist/{chunk-GI4ZBWPQ.js → chunk-W7UV2ZCA.js} +3 -3
- package/dist/{chunk-GMIQV6DD.js → chunk-WBQ4ONQJ.js} +2 -2
- package/dist/{chunk-FNHLI2RE.js → chunk-WFMQN7JE.js} +3 -3
- package/dist/{chunk-MVAQ2WM3.js → chunk-WGZHSQDV.js} +9 -5
- package/dist/chunk-WGZHSQDV.js.map +1 -0
- package/dist/{chunk-IYKZJVL5.js → chunk-WN2OXGGH.js} +1 -1
- package/dist/chunk-WN2OXGGH.js.map +1 -0
- package/dist/{chunk-ZBW7A667.js → chunk-WPGA4RYI.js} +2 -2
- package/dist/{chunk-YQNNHLCG.js → chunk-WPGR3RW4.js} +2 -2
- package/dist/{chunk-SV4Z2S67.js → chunk-WUUGE7QC.js} +54 -21
- package/dist/chunk-WUUGE7QC.js.map +1 -0
- package/dist/{chunk-NXGSONWM.js → chunk-WZIO3TW6.js} +2 -2
- package/dist/{chunk-ZZUVBZL2.js → chunk-X2QPKLPL.js} +2 -2
- package/dist/{chunk-5HYUUFMQ.js → chunk-XCPNH2MG.js} +259 -10
- package/dist/chunk-XCPNH2MG.js.map +1 -0
- package/dist/{chunk-VSL63CFJ.js → chunk-XRS65T4O.js} +9 -9
- package/dist/{chunk-5N4MZLEH.js → chunk-YFXAWGMR.js} +2 -2
- package/dist/{chunk-KQW3YGEN.js → chunk-YR5QT4SR.js} +32 -9
- package/dist/chunk-YR5QT4SR.js.map +1 -0
- package/dist/{chunk-CARRTDKC.js → chunk-Z22M4JCY.js} +4 -3
- package/dist/chunk-Z22M4JCY.js.map +1 -0
- package/dist/{chunk-D545Z7UH.js → chunk-Z535ADTC.js} +3 -3
- package/dist/{chunk-B36GUU6T.js → chunk-Z7NBT6AK.js} +38 -5
- package/dist/chunk-Z7NBT6AK.js.map +1 -0
- package/dist/{chunk-5YCNDC3C.js → chunk-ZX6NNFSY.js} +3 -3
- package/dist/{chunk-3N3PBBEH.js → chunk-ZYSOT6HD.js} +2 -2
- package/dist/{chunk-MCRVQ5YQ.js → chunk-ZZEIL3MI.js} +2 -2
- package/dist/{cli-DGq0MNpO.d.ts → cli-CUlMlS2N.d.ts} +5 -5
- package/dist/cli.d.ts +18 -16
- package/dist/cli.js +129 -126
- package/dist/coding/export-okf-codegraph.d.ts +1 -1
- package/dist/coding/export-okf-codegraph.js +22 -22
- package/dist/coding/pre-action-gate.d.ts +1 -1
- package/dist/compounding/engine.d.ts +2 -2
- package/dist/compounding/engine.js +25 -25
- package/dist/compounding/preference-consolidator.d.ts +1 -1
- package/dist/compression-optimizer.d.ts +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js +10 -9
- package/dist/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +25 -25
- package/dist/connectors/codex-materialize.d.ts +1 -1
- package/dist/connectors/codex-materialize.js +2 -2
- package/dist/connectors/index.d.ts +1 -1
- package/dist/connectors/index.js +25 -25
- package/dist/consolidation-provenance-check.d.ts +2 -2
- package/dist/consolidation-undo.d.ts +2 -2
- package/dist/contradiction/index.d.ts +6 -5
- package/dist/contradiction/index.js +4 -4
- package/dist/{contradiction-scan-BSGKZHYJ.js → contradiction-scan-GVD4JJ7B.js} +4 -4
- package/dist/converge-config.d.ts +1 -1
- package/dist/convergence-refresh.d.ts +2 -2
- package/dist/convergence-refresh.js +26 -26
- package/dist/conversation-index/backend.d.ts +1 -1
- package/dist/conversation-index/chunker.d.ts +1 -1
- package/dist/conversation-index/faiss-adapter.d.ts +1 -1
- package/dist/conversation-index/indexer.d.ts +1 -1
- package/dist/conversation-index/search.d.ts +1 -1
- package/dist/corpus-watermark.d.ts +1 -1
- package/dist/corpus-watermark.js +25 -25
- package/dist/cross-lingual-recall.d.ts +1 -1
- package/dist/dashboard-runtime.js +2 -2
- package/dist/day-summary.d.ts +1 -1
- package/dist/deep-recall-config.d.ts +12 -1
- package/dist/deep-recall-config.js +5 -3
- package/dist/deep-recall-http-glue.d.ts +19 -15
- package/dist/deep-recall-http-glue.js +7 -4
- package/dist/deep-recall-mcp-tools.d.ts +16 -14
- package/dist/deep-recall-policy-llm.d.ts +14 -3
- package/dist/deep-recall-policy-llm.js +3 -3
- package/dist/deep-recall-seeds.d.ts +4 -1
- package/dist/deep-recall-seeds.js +1 -1
- package/dist/deep-recall.d.ts +12 -1
- package/dist/deep-recall.js +3 -2
- package/dist/delinearize.d.ts +1 -1
- package/dist/dependency-propagation-config.d.ts +1 -1
- package/dist/{dependency-propagation-delivery-Cq1ekOwV.d.ts → dependency-propagation-delivery-BDDjImQn.d.ts} +1 -1
- package/dist/direct-answer-wiring.d.ts +1 -1
- package/dist/direct-answer.d.ts +1 -1
- package/dist/embedding-fallback.d.ts +1 -1
- package/dist/enrichment/index.d.ts +1 -1
- package/dist/entity-origin-fields.d.ts +1 -1
- package/dist/entity-retrieval.d.ts +2 -2
- package/dist/entity-retrieval.js +24 -24
- package/dist/entity-schema.d.ts +1 -1
- package/dist/episodic-context.d.ts +1 -1
- package/dist/eval-trajectory-contracts.d.ts +1 -1
- package/dist/eval-trajectory-store.d.ts +1 -1
- package/dist/eval-trajectory.d.ts +1 -1
- package/dist/explicit-capture.d.ts +13 -12
- package/dist/explicit-capture.js +3 -3
- package/dist/external-wiki-access.d.ts +16 -14
- package/dist/external-wiki-access.js +76 -75
- package/dist/external-wiki-collection-registration.d.ts +1 -1
- package/dist/external-wiki-collection.d.ts +1 -1
- package/dist/external-wiki-mcp-tools.d.ts +16 -14
- package/dist/extraction-error-classification.d.ts +14 -3
- package/dist/extraction-error-classification.js +5 -3
- package/dist/extraction-faithfulness.d.ts +4 -3
- package/dist/extraction-faithfulness.js +3 -3
- package/dist/extraction-judge-telemetry.d.ts +4 -3
- package/dist/extraction-judge-training.d.ts +4 -3
- package/dist/extraction-judge.d.ts +4 -3
- package/dist/extraction-judge.js +3 -3
- package/dist/extraction-liveness.d.ts +1 -1
- package/dist/extraction-normalization.d.ts +1 -1
- package/dist/extraction-prompt.d.ts +1 -1
- package/dist/extraction-source-grounding-rules.d.ts +1 -1
- package/dist/extraction-source-grounding.d.ts +1 -1
- package/dist/extraction-span-config.d.ts +1 -1
- package/dist/extraction-span-materialize.d.ts +1 -1
- package/dist/extraction.d.ts +4 -4
- package/dist/extraction.js +40 -38
- package/dist/fallback-llm-codex-subscription.d.ts +65 -10
- package/dist/fallback-llm-codex-subscription.js +19 -1
- package/dist/fallback-llm.d.ts +25 -28
- package/dist/fallback-llm.js +4 -3
- package/dist/{first-start-migration-ZWMV5CX4.js → first-start-migration-L3UFX5CU.js} +4 -4
- package/dist/{generic-recall-paths-BcySh_f9.d.ts → generic-recall-paths-CpDzNO_I.d.ts} +1 -1
- package/dist/graph-append-error.d.ts +1 -1
- package/dist/graph-dashboard-diff.d.ts +1 -1
- package/dist/graph-dashboard-key.d.ts +1 -1
- package/dist/graph-dashboard-parser.d.ts +1 -1
- package/dist/graph-edge-reinforcement.d.ts +1 -1
- package/dist/graph-jsonl.d.ts +1 -1
- package/dist/graph-path-reconstruction.d.ts +1 -1
- package/dist/graph-path-scoring.d.ts +1 -1
- package/dist/graph-snapshot.d.ts +1 -1
- package/dist/graph.d.ts +1 -1
- package/dist/harmonic-retrieval.js +3 -3
- package/dist/importance.d.ts +1 -1
- package/dist/importers/index.d.ts +1 -1
- package/dist/importers/test-utils.d.ts +1 -1
- package/dist/in-flight-reads.d.ts +1 -1
- package/dist/{index-DWOb4wz9.d.ts → index-CtmmCJoo.d.ts} +3 -3
- package/dist/index.d.ts +80 -40
- package/dist/index.js +316 -296
- package/dist/intent.d.ts +1 -1
- package/dist/lcm/engine.d.ts +1 -1
- package/dist/lcm/engine.js +3 -3
- package/dist/lcm/index.d.ts +1 -1
- package/dist/lcm/index.js +11 -11
- package/dist/lcm/tools.d.ts +1 -1
- package/dist/lifecycle.d.ts +1 -1
- package/dist/live-connectors-runner.d.ts +1 -1
- package/dist/local-llm-DpXIvm6F.d.ts +247 -0
- package/dist/local-llm-config.d.ts +4 -1
- package/dist/local-llm-config.js +4 -2
- package/dist/local-llm-helpers.d.ts +18 -69
- package/dist/local-llm-helpers.js +1 -1
- package/dist/local-llm.d.ts +3 -170
- package/dist/local-llm.js +2 -2
- package/dist/local-model-endpoint.d.ts +1 -1
- package/dist/location/index.d.ts +3 -3
- package/dist/location/index.js +25 -25
- package/dist/maintenance/memory-governance.d.ts +1 -1
- package/dist/maintenance/memory-governance.js +24 -24
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +23 -23
- package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-projection.js +25 -25
- package/dist/{maintenance-CW9wCzMP.d.ts → maintenance-CNgoLsoM.d.ts} +13 -6
- package/dist/mcp-memory-inspector-app.d.ts +16 -14
- package/dist/memory-action-policy.d.ts +1 -1
- package/dist/memory-cache.d.ts +1 -1
- package/dist/memory-controller.d.ts +1 -1
- package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
- package/dist/memory-projection-store.d.ts +1 -1
- package/dist/memory-provenance.d.ts +1 -1
- package/dist/memory-snapshot.d.ts +1 -1
- package/dist/memory-subject-cli.d.ts +16 -14
- package/dist/memory-subject.d.ts +16 -14
- package/dist/memory-worth-outcomes.d.ts +2 -2
- package/dist/models-json.d.ts +1 -1
- package/dist/namespaces/migrate.d.ts +3 -3
- package/dist/namespaces/migrate.js +24 -24
- package/dist/namespaces/principal.d.ts +1 -1
- package/dist/namespaces/search.d.ts +12 -1
- package/dist/namespaces/search.js +9 -9
- package/dist/namespaces/storage.d.ts +3 -3
- package/dist/namespaces/storage.js +23 -23
- package/dist/native-knowledge.d.ts +1 -1
- package/dist/offline-sync-impression-drain.d.ts +1 -1
- package/dist/operator-doctor-corpus.d.ts +1 -1
- package/dist/operator-doctor-corpus.js +26 -26
- package/dist/operator-doctor-replica.d.ts +1 -1
- package/dist/operator-toolkit.d.ts +3 -3
- package/dist/operator-toolkit.js +45 -44
- package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
- package/dist/orchestration/maintenance.d.ts +4 -4
- package/dist/orchestration/maintenance.js +36 -36
- package/dist/{orchestrator-ComHLm49.d.ts → orchestrator-DT7ybIFz.d.ts} +32 -11
- package/dist/orchestrator.d.ts +13 -12
- package/dist/orchestrator.js +176 -171
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/{pipeline-CiYcqqhl.d.ts → pipeline-CgBEmHcz.d.ts} +1 -1
- package/dist/policy-runtime.d.ts +1 -1
- package/dist/proactive-contention.d.ts +2 -2
- package/dist/provenance.d.ts +1 -1
- package/dist/{public-http-CuK4_Cb1.d.ts → public-http-C8P8fyiO.d.ts} +1 -1
- package/dist/{qmd-qXD4vatU.d.ts → qmd-BkY8KpCh.d.ts} +2 -2
- package/dist/qmd-preflight.d.ts +2 -2
- package/dist/qmd-recall-cache.d.ts +1 -1
- package/dist/qmd.d.ts +2 -2
- package/dist/qmd.js +2 -2
- package/dist/recall-concurrency-config.d.ts +1 -1
- package/dist/recall-disclosure-escalation.d.ts +1 -1
- package/dist/recall-explain-renderer.d.ts +1 -1
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-memory-map.d.ts +1 -1
- package/dist/recall-navigate-access.d.ts +1 -1
- package/dist/recall-navigate-access.js +2 -2
- package/dist/recall-navigate-disclosure.d.ts +1 -1
- package/dist/recall-navigate-disclosure.js +1 -1
- package/dist/recall-navigate.d.ts +1 -1
- package/dist/recall-navigate.js +2 -2
- package/dist/recall-planner-llm.d.ts +3 -2
- package/dist/recall-planner-llm.js +4 -3
- package/dist/recall-planner-llm.js.map +1 -1
- package/dist/recall-state-view-admission.d.ts +13 -3
- package/dist/recall-state-view-admission.js +9 -9
- package/dist/recall-state-view-anchors.d.ts +1 -1
- package/dist/recall-state-view-anchors.js +2 -2
- package/dist/recall-state-view-inject.js +2 -2
- package/dist/recall-state-view-render.js +2 -2
- package/dist/recall-state-view-widen.js +2 -2
- package/dist/recall-state-view-wire.js +3 -3
- package/dist/recall-state-view.d.ts +10 -1
- package/dist/recall-state-view.js +5 -3
- package/dist/recall-state.d.ts +1 -1
- package/dist/recall-tag-filter.d.ts +1 -1
- package/dist/recall-timings.d.ts +1 -1
- package/dist/recall-xray-cli.d.ts +1 -1
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.d.ts +1 -1
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.d.ts +1 -1
- package/dist/recall-xray.js +2 -2
- package/dist/reconcile/cursor.d.ts +1 -1
- package/dist/reconcile/cursor.js +2 -2
- package/dist/reconcile/manifest.d.ts +1 -1
- package/dist/reconcile/manifest.js +4 -4
- package/dist/reconcile/plan.d.ts +1 -1
- package/dist/reconcile/plan.js +2 -2
- package/dist/replay/normalizers/chatgpt.d.ts +1 -1
- package/dist/replay/normalizers/claude.d.ts +1 -1
- package/dist/replay/normalizers/openclaw.d.ts +1 -1
- package/dist/replay/normalizers/shared.d.ts +1 -1
- package/dist/replay/runner.d.ts +1 -1
- package/dist/replay/types.d.ts +1 -1
- package/dist/replica-divergence.d.ts +1 -1
- package/dist/replica-peers-config.d.ts +1 -1
- package/dist/{resolution-4GG3QZRJ.js → resolution-LXFQQ4AE.js} +5 -5
- package/dist/resolution-LXFQQ4AE.js.map +1 -0
- package/dist/resolve-auth-token.d.ts +1 -1
- package/dist/resume-bundles.js +12 -11
- package/dist/retrieval-agents.d.ts +2 -2
- package/dist/retrieval-tiers.d.ts +1 -1
- package/dist/routing/engine.d.ts +1 -1
- package/dist/routing/store.d.ts +1 -1
- package/dist/salvage-envelope.d.ts +1 -1
- package/dist/{scope-profiles-BT9rqC3w.d.ts → scope-profiles-BBPjZ9jb.d.ts} +1 -1
- package/dist/search/embed-helper.d.ts +1 -1
- package/dist/search/factory.d.ts +1 -1
- package/dist/search/factory.js +8 -8
- package/dist/search/index.d.ts +1 -1
- package/dist/search/index.js +12 -12
- package/dist/search/lancedb-backend.d.ts +1 -1
- package/dist/search/lancedb-backend.js +2 -2
- package/dist/search/meilisearch-backend.d.ts +1 -1
- package/dist/search/meilisearch-backend.js +2 -2
- package/dist/search/noop-backend.d.ts +1 -1
- package/dist/search/orama-backend.d.ts +1 -1
- package/dist/search/orama-backend.js +2 -2
- package/dist/search/port.d.ts +2 -2
- package/dist/search/port.js +1 -1
- package/dist/search/remote-backend.d.ts +1 -1
- package/dist/search/remote-backend.js +2 -2
- package/dist/{semantic-consolidation-CmZi7thY.d.ts → semantic-consolidation-BPFFVO84.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +26 -26
- package/dist/semantic-rule-promotion.js +23 -23
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +23 -23
- package/dist/{service-CLkA7AQB.d.ts → service-jKcr6Jvr.d.ts} +2 -2
- package/dist/session-observer-bands.d.ts +1 -1
- package/dist/session-observer-state.d.ts +1 -1
- package/dist/shared-context/manager.d.ts +1 -1
- package/dist/shared-context/manager.js +2 -2
- package/dist/shared-context/write-output-controls.d.ts +34 -0
- package/dist/shared-context/write-output-controls.js +10 -0
- package/dist/shared-context/write-output-controls.js.map +1 -0
- package/dist/signal.d.ts +1 -1
- package/dist/source-agent-qualifier.d.ts +1 -1
- package/dist/source-agent-qualifier.js +31 -31
- package/dist/source-attribution.d.ts +23 -1
- package/dist/source-attribution.js +13 -3
- package/dist/standup/build.js +23 -23
- package/dist/{storage-wvX01lht.d.ts → storage-C-0Ah5OY.d.ts} +2 -1
- package/dist/storage.d.ts +2 -2
- package/dist/storage.js +22 -22
- package/dist/subject-config.d.ts +1 -1
- package/dist/summarizer.d.ts +1 -1
- package/dist/summarizer.js +6 -6
- package/dist/summary-snapshot.d.ts +1 -1
- package/dist/support-passport/index.d.ts +18 -17
- package/dist/support-passport/index.js +78 -77
- package/dist/task-llm-config.d.ts +16 -0
- package/dist/task-llm-config.js +12 -0
- package/dist/task-llm-config.js.map +1 -0
- package/dist/temporal-supersession.d.ts +2 -2
- package/dist/temporal-timeline-recall.d.ts +1 -1
- package/dist/temporal-validity.d.ts +1 -1
- package/dist/threading.d.ts +1 -1
- package/dist/tier-migration.d.ts +2 -2
- package/dist/tier-routing.d.ts +1 -1
- package/dist/tier-routing.js +3 -3
- package/dist/{tier-stats-LUSUUNU6.js → tier-stats-VK5PCO2L.js} +4 -4
- package/dist/topics.d.ts +1 -1
- package/dist/transcript.d.ts +1 -1
- package/dist/transfer/backup.js +2 -2
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/capsule-import.js +3 -3
- package/dist/transfer/export-okf.d.ts +1 -1
- package/dist/transfer/export-okf.js +23 -23
- package/dist/trust-score-stage.d.ts +1 -1
- package/dist/trust-score.d.ts +1 -1
- package/dist/{types-Cyr32ABj.d.ts → types-cK5LydjL.d.ts} +6 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +1 -1
- package/dist/verified-recall.js +23 -23
- package/dist/who-knows-cli.d.ts +16 -14
- package/dist/who-knows-cli.js +24 -24
- package/dist/who-knows.d.ts +16 -14
- package/dist/who-knows.js +23 -23
- package/dist/write-envelope.d.ts +1 -1
- package/package.json +12 -2
- package/src/access-category-alias.test.ts +93 -0
- package/src/access-http.ts +1 -1
- package/src/access-mcp-shared-context-tools.ts +103 -0
- package/src/access-mcp.ts +4 -74
- package/src/access-offline-manifest.ts +52 -2
- package/src/access-operations-batch.ts +45 -2
- package/src/access-schema.ts +9 -4
- package/src/access-service.ts +14 -7
- package/src/activity/config.test.ts +61 -0
- package/src/activity/config.ts +40 -1
- package/src/activity/timeline/analysis-provider.ts +8 -2
- package/src/activity/timeline/analysis-run.test.ts +82 -0
- package/src/activity/timeline/publish-cli.test.ts +30 -0
- package/src/activity/timeline/publish-cli.ts +7 -0
- package/src/activity/timeline/query.ts +8 -1
- package/src/activity/timeline/regenerate.test.ts +130 -2
- package/src/activity/timeline/regenerate.ts +14 -6
- package/src/activity/vault-frontmatter.test.ts +99 -1
- package/src/activity/vault-frontmatter.ts +131 -0
- package/src/activity/vault-publish.ts +6 -0
- package/src/activity/vault-publisher.test.ts +172 -0
- package/src/activity/vault-publisher.ts +69 -15
- package/src/activity/vault-region.test.ts +7 -2
- package/src/activity/vault-region.ts +7 -3
- package/src/background-generation-config.ts +32 -6
- package/src/background-generation.test.ts +10 -1
- package/src/cli/deep-recall-commands.ts +22 -10
- package/src/cli/timeline-publish-commands.ts +9 -0
- package/src/config.test.ts +170 -43
- package/src/config.ts +22 -5
- package/src/dedup/merge.test.ts +283 -0
- package/src/deep-recall-boundary.test.ts +66 -0
- package/src/deep-recall-cli.test.ts +82 -0
- package/src/deep-recall-config.test.ts +56 -0
- package/src/deep-recall-config.ts +32 -0
- package/src/deep-recall-http-glue.ts +10 -10
- package/src/deep-recall-policy-llm.test.ts +242 -0
- package/src/deep-recall-policy-llm.ts +37 -7
- package/src/deep-recall-seeds.test.ts +53 -0
- package/src/deep-recall-seeds.ts +7 -1
- package/src/deep-recall-surface.test.ts +93 -0
- package/src/deep-recall.test.ts +121 -0
- package/src/deep-recall.ts +88 -28
- package/src/extraction-error-classification.ts +36 -1
- package/src/extraction-timeout.test.ts +110 -1
- package/src/extraction.test.ts +19 -1
- package/src/extraction.ts +23 -21
- package/src/fallback-llm-codex-subscription.ts +220 -12
- package/src/fallback-llm-parse-failure.test.ts +156 -0
- package/src/fallback-llm.test.ts +178 -0
- package/src/fallback-llm.ts +200 -198
- package/src/index.ts +1 -0
- package/src/local-llm-config.ts +11 -10
- package/src/local-llm-headers-timeout.test.ts +30 -0
- package/src/local-llm-helpers.ts +28 -0
- package/src/local-llm.ts +8 -19
- package/src/meetings/config.test.ts +58 -0
- package/src/namespaces/search.test.ts +51 -1
- package/src/namespaces/search.ts +48 -3
- package/src/orchestration/extraction-persist-promotion.test.ts +228 -2
- package/src/orchestration/extraction-persist-promotion.ts +17 -14
- package/src/orchestration/extraction-persist.ts +1 -1
- package/src/orchestration/orchestrator-helpers.test.ts +104 -0
- package/src/orchestration/orchestrator-init.ts +366 -106
- package/src/orchestration/recall-entry.ts +15 -1
- package/src/orchestration/recall-internal.ts +6 -11
- package/src/orchestration/recall-section-coordinator.ts +65 -28
- package/src/orchestration/recall-state-view-pipeline.test.ts +8 -2
- package/src/orchestration/semantic-merge-commit-effects.ts +45 -16
- package/src/orchestration/semantic-merge-persist.ts +23 -36
- package/src/orchestration/semantic-merge-promotion-payload.ts +62 -6
- package/src/orchestration/startup-collection-checks.ts +85 -0
- package/src/orchestrator-flush.test.ts +7 -0
- package/src/orchestrator-init.test.ts +1539 -0
- package/src/orchestrator.ts +7 -0
- package/src/providers/codex-subscription.test.ts +127 -0
- package/src/providers/codex-subscription.ts +1 -1
- package/src/qmd.ts +21 -10
- package/src/recall-state-view-admission.ts +11 -1
- package/src/recall-state-view-budget.test.ts +424 -0
- package/src/recall-state-view-cron-intent.test.ts +268 -0
- package/src/recall-state-view-widen.test.ts +14 -5
- package/src/recall-state-view-widen.ts +8 -1
- package/src/recall-state-view.ts +35 -18
- package/src/reconcile-identity-cache.test.ts +82 -1
- package/src/search/port.ts +1 -1
- package/src/shared-context/envelope-io.ts +25 -0
- package/src/shared-context/envelope-wiring.test.ts +4 -2
- package/src/shared-context/manager.ts +1 -0
- package/src/shared-context/write-output-controls.test.ts +192 -0
- package/src/shared-context/write-output-controls.ts +72 -0
- package/src/source-attribution.test.ts +39 -0
- package/src/source-attribution.ts +72 -0
- package/src/storage/cas-revision-store.test.ts +4 -0
- package/src/storage/cas-revision-store.ts +104 -12
- package/src/storage-frontmatter-cas.test.ts +19 -17
- package/src/summarizer.ts +5 -1
- package/src/task-llm-config.test.ts +124 -0
- package/src/task-llm-config.ts +88 -0
- package/src/testing/subjects/startup-discovery-lifecycle.test.ts +273 -0
- package/src/types.ts +6 -0
- package/dist/chunk-3CBI2ZSA.js.map +0 -1
- package/dist/chunk-5HYUUFMQ.js.map +0 -1
- package/dist/chunk-5SPCMAUC.js.map +0 -1
- package/dist/chunk-6H2G7RFT.js.map +0 -1
- package/dist/chunk-6YAIN5XJ.js.map +0 -1
- package/dist/chunk-ACY4ZPF7.js.map +0 -1
- package/dist/chunk-B36GUU6T.js.map +0 -1
- package/dist/chunk-BLDBT6HZ.js.map +0 -1
- package/dist/chunk-CARRTDKC.js.map +0 -1
- package/dist/chunk-CC37E3QM.js.map +0 -1
- package/dist/chunk-CWTCMZGE.js.map +0 -1
- package/dist/chunk-CZTPU65V.js.map +0 -1
- package/dist/chunk-EYKIDK33.js.map +0 -1
- package/dist/chunk-FWWWUPOE.js.map +0 -1
- package/dist/chunk-IQEJIOEU.js.map +0 -1
- package/dist/chunk-IYKZJVL5.js.map +0 -1
- package/dist/chunk-JXN77SGO.js.map +0 -1
- package/dist/chunk-KQW3YGEN.js.map +0 -1
- package/dist/chunk-LPYYY4AP.js.map +0 -1
- package/dist/chunk-LQNRVPTV.js.map +0 -1
- package/dist/chunk-MVAQ2WM3.js.map +0 -1
- package/dist/chunk-OEDW4ER7.js.map +0 -1
- package/dist/chunk-OPBFP4TF.js.map +0 -1
- package/dist/chunk-P4ZAEYKG.js.map +0 -1
- package/dist/chunk-QHT7MOUF.js.map +0 -1
- package/dist/chunk-QTQ6XKGT.js.map +0 -1
- package/dist/chunk-SV4Z2S67.js.map +0 -1
- package/dist/chunk-TNZNSMVJ.js.map +0 -1
- package/dist/chunk-TRLOFIQC.js.map +0 -1
- package/dist/chunk-UZEHHXYC.js.map +0 -1
- package/dist/chunk-WKDFJXW5.js.map +0 -1
- package/dist/chunk-YDVAM7S4.js.map +0 -1
- package/dist/chunk-YFTNZMGR.js.map +0 -1
- package/dist/chunk-YKREX63Z.js.map +0 -1
- /package/dist/{capsule-crypto-7FJQINUR.js.map → access-mcp-shared-context-tools.js.map} +0 -0
- /package/dist/{auto-sync-RP4C6ZPF.js.map → auto-sync-7PGUFY7U.js.map} +0 -0
- /package/dist/{contradiction-scan-BSGKZHYJ.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
- /package/dist/{capsule-merge-IPG4IOFP.js.map → capsule-merge-3MNURAQ3.js.map} +0 -0
- /package/dist/{chunk-XH3HGI2N.js.map → chunk-2HQPE2NM.js.map} +0 -0
- /package/dist/{chunk-3EKVN2OP.js.map → chunk-2ZG2LLZT.js.map} +0 -0
- /package/dist/{chunk-6EHM2AV7.js.map → chunk-3BLHPQHT.js.map} +0 -0
- /package/dist/{chunk-J272ODKJ.js.map → chunk-42DJ235G.js.map} +0 -0
- /package/dist/{chunk-F4EHXVP7.js.map → chunk-46RII65S.js.map} +0 -0
- /package/dist/{chunk-YUW66UAH.js.map → chunk-4AX5OYKC.js.map} +0 -0
- /package/dist/{chunk-AECJY3GJ.js.map → chunk-4IGOLIWM.js.map} +0 -0
- /package/dist/{chunk-2ZTDRNCS.js.map → chunk-54QPOE45.js.map} +0 -0
- /package/dist/{chunk-O4M4BDIJ.js.map → chunk-563X6JJX.js.map} +0 -0
- /package/dist/{chunk-IL6ODG6M.js.map → chunk-5EQT62HH.js.map} +0 -0
- /package/dist/{chunk-JKKII6GX.js.map → chunk-6MQMYXSQ.js.map} +0 -0
- /package/dist/{chunk-TVVEYCNW.js.map → chunk-7K5Q6COX.js.map} +0 -0
- /package/dist/{chunk-BV4ZKIZH.js.map → chunk-7ZLC4DTZ.js.map} +0 -0
- /package/dist/{chunk-WBM2MVBK.js.map → chunk-A4OIJYCV.js.map} +0 -0
- /package/dist/{chunk-RLJHJQUY.js.map → chunk-AFJHNHAM.js.map} +0 -0
- /package/dist/{chunk-4RZLTZVM.js.map → chunk-AKABVXFS.js.map} +0 -0
- /package/dist/{chunk-M6HBPLBA.js.map → chunk-AUSRUOMQ.js.map} +0 -0
- /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
- /package/dist/{chunk-Q7CLGFA7.js.map → chunk-C3G6MW4W.js.map} +0 -0
- /package/dist/{chunk-O76F5QPP.js.map → chunk-D6PY63OM.js.map} +0 -0
- /package/dist/{chunk-BD7JTBYP.js.map → chunk-D7MAYFQP.js.map} +0 -0
- /package/dist/{chunk-LMLGBG6H.js.map → chunk-DBB5JPSL.js.map} +0 -0
- /package/dist/{chunk-TSP5WH72.js.map → chunk-DIXZQTGY.js.map} +0 -0
- /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
- /package/dist/{chunk-UHRZ324M.js.map → chunk-E3I3NDUP.js.map} +0 -0
- /package/dist/{chunk-AENM6GKU.js.map → chunk-E4LMQTST.js.map} +0 -0
- /package/dist/{chunk-MUTVRKKY.js.map → chunk-EMSYMYXO.js.map} +0 -0
- /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
- /package/dist/{chunk-FXHOZGSE.js.map → chunk-F5H6YG5P.js.map} +0 -0
- /package/dist/{chunk-TNSCIPBQ.js.map → chunk-G6NQ3L4T.js.map} +0 -0
- /package/dist/{chunk-ZMWSYUUL.js.map → chunk-GCBIXUPT.js.map} +0 -0
- /package/dist/{chunk-4BCHFSC7.js.map → chunk-GWNSKQDA.js.map} +0 -0
- /package/dist/{chunk-JDX2OA4R.js.map → chunk-HNHIHXSD.js.map} +0 -0
- /package/dist/{chunk-GG5FHZJJ.js.map → chunk-I33QYUAF.js.map} +0 -0
- /package/dist/{chunk-AAZEKXUP.js.map → chunk-IYIPXAIJ.js.map} +0 -0
- /package/dist/{chunk-5U7K4W6K.js.map → chunk-JDOBQPJY.js.map} +0 -0
- /package/dist/{chunk-UZZ7SQT3.js.map → chunk-JMWUPUE6.js.map} +0 -0
- /package/dist/{chunk-ENBPQEVU.js.map → chunk-JSD7Q7LD.js.map} +0 -0
- /package/dist/{chunk-Q432REND.js.map → chunk-KJLLPG26.js.map} +0 -0
- /package/dist/{chunk-JTQR6L2N.js.map → chunk-KLUC2GSG.js.map} +0 -0
- /package/dist/{chunk-OB3XMWX5.js.map → chunk-KVO2BTA4.js.map} +0 -0
- /package/dist/{chunk-PCOVEDPK.js.map → chunk-KZJM7R4F.js.map} +0 -0
- /package/dist/{chunk-X4TD4O2F.js.map → chunk-LE2KZ72G.js.map} +0 -0
- /package/dist/{chunk-HIP6DKJJ.js.map → chunk-LQVXSRAJ.js.map} +0 -0
- /package/dist/{chunk-A7GQBJP5.js.map → chunk-LVFI5LG7.js.map} +0 -0
- /package/dist/{chunk-VBSNUH4J.js.map → chunk-ND7MAIJC.js.map} +0 -0
- /package/dist/{chunk-54NX5EG4.js.map → chunk-P66QH6R6.js.map} +0 -0
- /package/dist/{chunk-62D2PAAM.js.map → chunk-PAAJWQH5.js.map} +0 -0
- /package/dist/{chunk-TA4C3XB7.js.map → chunk-PFKIOYJH.js.map} +0 -0
- /package/dist/{chunk-WIWLX65T.js.map → chunk-PGGPRF6J.js.map} +0 -0
- /package/dist/{chunk-V6EGNVUT.js.map → chunk-PIWFNPQT.js.map} +0 -0
- /package/dist/{chunk-4JVQRFZD.js.map → chunk-PLJ2MQFT.js.map} +0 -0
- /package/dist/{chunk-4RX5O34R.js.map → chunk-PQ42DJNG.js.map} +0 -0
- /package/dist/{chunk-37CAEC7E.js.map → chunk-PWPIERBM.js.map} +0 -0
- /package/dist/{chunk-ZEGL7YCC.js.map → chunk-Q62GA5U2.js.map} +0 -0
- /package/dist/{chunk-GAS7KYC7.js.map → chunk-RQQO3ORQ.js.map} +0 -0
- /package/dist/{chunk-3NPNBVFR.js.map → chunk-UZGHKD3T.js.map} +0 -0
- /package/dist/{chunk-VJIE4D2I.js.map → chunk-V62YYBBY.js.map} +0 -0
- /package/dist/{chunk-KQAFEZQX.js.map → chunk-VDX2J7OX.js.map} +0 -0
- /package/dist/{chunk-6AGWBKQU.js.map → chunk-VSN2DMQK.js.map} +0 -0
- /package/dist/{chunk-ZHXSOMYH.js.map → chunk-VVX5PZFS.js.map} +0 -0
- /package/dist/{chunk-GI4ZBWPQ.js.map → chunk-W7UV2ZCA.js.map} +0 -0
- /package/dist/{chunk-GMIQV6DD.js.map → chunk-WBQ4ONQJ.js.map} +0 -0
- /package/dist/{chunk-FNHLI2RE.js.map → chunk-WFMQN7JE.js.map} +0 -0
- /package/dist/{chunk-ZBW7A667.js.map → chunk-WPGA4RYI.js.map} +0 -0
- /package/dist/{chunk-YQNNHLCG.js.map → chunk-WPGR3RW4.js.map} +0 -0
- /package/dist/{chunk-NXGSONWM.js.map → chunk-WZIO3TW6.js.map} +0 -0
- /package/dist/{chunk-ZZUVBZL2.js.map → chunk-X2QPKLPL.js.map} +0 -0
- /package/dist/{chunk-VSL63CFJ.js.map → chunk-XRS65T4O.js.map} +0 -0
- /package/dist/{chunk-5N4MZLEH.js.map → chunk-YFXAWGMR.js.map} +0 -0
- /package/dist/{chunk-D545Z7UH.js.map → chunk-Z535ADTC.js.map} +0 -0
- /package/dist/{chunk-5YCNDC3C.js.map → chunk-ZX6NNFSY.js.map} +0 -0
- /package/dist/{chunk-3N3PBBEH.js.map → chunk-ZYSOT6HD.js.map} +0 -0
- /package/dist/{chunk-MCRVQ5YQ.js.map → chunk-ZZEIL3MI.js.map} +0 -0
- /package/dist/{resolution-4GG3QZRJ.js.map → contradiction-scan-GVD4JJ7B.js.map} +0 -0
- /package/dist/{first-start-migration-ZWMV5CX4.js.map → first-start-migration-L3UFX5CU.js.map} +0 -0
- /package/dist/{tier-stats-LUSUUNU6.js.map → tier-stats-VK5PCO2L.js.map} +0 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import {
|
|
2
|
+
coerceBool,
|
|
3
|
+
coerceNumber
|
|
4
|
+
} from "./chunk-PQVCH2AE.js";
|
|
5
|
+
import {
|
|
6
|
+
log
|
|
7
|
+
} from "./chunk-3WCASNQZ.js";
|
|
8
|
+
|
|
9
|
+
// src/task-llm-config.ts
|
|
10
|
+
var DEFAULT_TIMEOUT_MS = 18e4;
|
|
11
|
+
var MIN_TIMEOUT_MS = 1;
|
|
12
|
+
var MAX_TIMEOUT_MS = 864e5;
|
|
13
|
+
var warnedLegacy = /* @__PURE__ */ new Set();
|
|
14
|
+
function resetTaskLlmLegacyWarningsForTest() {
|
|
15
|
+
warnedLegacy.clear();
|
|
16
|
+
}
|
|
17
|
+
function warnLegacyOnce(legacyKey, currentKey, extra) {
|
|
18
|
+
if (warnedLegacy.has(legacyKey)) return;
|
|
19
|
+
warnedLegacy.add(legacyKey);
|
|
20
|
+
log.warn(
|
|
21
|
+
`config: ${legacyKey} is a legacy alias for ${currentKey}; set ${currentKey} instead. ${legacyKey} still works when ${currentKey} is absent. ${extra}`
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
function parseBoundedIntegerMs(value, fallback) {
|
|
25
|
+
const coerced = coerceNumber(value);
|
|
26
|
+
if (coerced === void 0) return fallback;
|
|
27
|
+
return Math.min(MAX_TIMEOUT_MS, Math.max(MIN_TIMEOUT_MS, Math.floor(coerced)));
|
|
28
|
+
}
|
|
29
|
+
function hasOwnKey(raw, key) {
|
|
30
|
+
return Object.hasOwn(raw, key);
|
|
31
|
+
}
|
|
32
|
+
function parseTaskLlmConfig(cfg) {
|
|
33
|
+
const localTimeoutMs = hasOwnKey(cfg, "localLlmTimeoutMs") ? parseBoundedIntegerMs(cfg.localLlmTimeoutMs, DEFAULT_TIMEOUT_MS) : DEFAULT_TIMEOUT_MS;
|
|
34
|
+
let timeoutMs;
|
|
35
|
+
if (hasOwnKey(cfg, "taskLlmTimeoutMs")) {
|
|
36
|
+
timeoutMs = parseBoundedIntegerMs(cfg.taskLlmTimeoutMs, DEFAULT_TIMEOUT_MS);
|
|
37
|
+
} else if (hasOwnKey(cfg, "localLlmTimeoutMs")) {
|
|
38
|
+
warnLegacyOnce(
|
|
39
|
+
"localLlmTimeoutMs",
|
|
40
|
+
"taskLlmTimeoutMs",
|
|
41
|
+
"localLlmTimeoutMs remains the local-endpoint timeout; without taskLlmTimeoutMs it also sizes the gateway/task chain."
|
|
42
|
+
);
|
|
43
|
+
timeoutMs = localTimeoutMs;
|
|
44
|
+
} else {
|
|
45
|
+
timeoutMs = DEFAULT_TIMEOUT_MS;
|
|
46
|
+
}
|
|
47
|
+
let fallback;
|
|
48
|
+
if (hasOwnKey(cfg, "taskLlmFallback")) {
|
|
49
|
+
const coerced = coerceBool(cfg.taskLlmFallback, "taskLlmFallback");
|
|
50
|
+
fallback = coerced !== void 0 ? coerced : true;
|
|
51
|
+
} else if (hasOwnKey(cfg, "localLlmFallback")) {
|
|
52
|
+
warnLegacyOnce(
|
|
53
|
+
"localLlmFallback",
|
|
54
|
+
"taskLlmFallback",
|
|
55
|
+
"taskLlmFallback is the current name for using the gateway/task chain when the local path fails."
|
|
56
|
+
);
|
|
57
|
+
fallback = cfg.localLlmFallback !== false;
|
|
58
|
+
} else {
|
|
59
|
+
fallback = true;
|
|
60
|
+
}
|
|
61
|
+
return { timeoutMs, localTimeoutMs, fallback };
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export {
|
|
65
|
+
resetTaskLlmLegacyWarningsForTest,
|
|
66
|
+
parseTaskLlmConfig
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=chunk-SK7D34OL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/task-llm-config.ts"],"sourcesContent":["/**\n * Honest names for the gateway/task LLM chain (issue #2967).\n *\n * `FallbackLlmClient` is the primary configured path in gateway mode, not a\n * secondary recovery path. `taskLlmTimeoutMs` / `taskLlmFallback` are the\n * current keys. `localLlmTimeoutMs` / `localLlmFallback` remain documented\n * legacy aliases, read only when the corresponding new key is absent.\n */\nimport { coerceBool, coerceNumber } from \"./connectors/coerce.js\";\nimport { log } from \"./logger.js\";\n\nconst DEFAULT_TIMEOUT_MS = 180_000;\nconst MIN_TIMEOUT_MS = 1;\nconst MAX_TIMEOUT_MS = 86_400_000;\n\nconst warnedLegacy = new Set<string>();\n\nexport function resetTaskLlmLegacyWarningsForTest(): void {\n warnedLegacy.clear();\n}\n\nfunction warnLegacyOnce(legacyKey: string, currentKey: string, extra: string): void {\n if (warnedLegacy.has(legacyKey)) return;\n warnedLegacy.add(legacyKey);\n log.warn(\n `config: ${legacyKey} is a legacy alias for ${currentKey}; set ${currentKey} instead. ${legacyKey} still works when ${currentKey} is absent. ${extra}`,\n );\n}\n\nfunction parseBoundedIntegerMs(value: unknown, fallback: number): number {\n const coerced = coerceNumber(value);\n if (coerced === undefined) return fallback;\n return Math.min(MAX_TIMEOUT_MS, Math.max(MIN_TIMEOUT_MS, Math.floor(coerced)));\n}\n\nfunction hasOwnKey(raw: Record<string, unknown>, key: string): boolean {\n return Object.hasOwn(raw, key);\n}\n\nexport interface ParsedTaskLlmConfig {\n timeoutMs: number;\n localTimeoutMs: number;\n fallback: boolean;\n}\n\n/**\n * Resolve task-LLM timeout and local→task fallback.\n *\n * New key wins when present (including present-with-`undefined`, which takes\n * the default rather than falling through to the legacy key). Legacy keys are\n * read only when the new key is absent, and warn once per process.\n */\nexport function parseTaskLlmConfig(cfg: Record<string, unknown>): ParsedTaskLlmConfig {\n const localTimeoutMs = hasOwnKey(cfg, \"localLlmTimeoutMs\")\n ? parseBoundedIntegerMs(cfg.localLlmTimeoutMs, DEFAULT_TIMEOUT_MS)\n : DEFAULT_TIMEOUT_MS;\n\n let timeoutMs: number;\n if (hasOwnKey(cfg, \"taskLlmTimeoutMs\")) {\n timeoutMs = parseBoundedIntegerMs(cfg.taskLlmTimeoutMs, DEFAULT_TIMEOUT_MS);\n } else if (hasOwnKey(cfg, \"localLlmTimeoutMs\")) {\n warnLegacyOnce(\n \"localLlmTimeoutMs\",\n \"taskLlmTimeoutMs\",\n \"localLlmTimeoutMs remains the local-endpoint timeout; without taskLlmTimeoutMs it also sizes the gateway/task chain.\",\n );\n timeoutMs = localTimeoutMs;\n } else {\n timeoutMs = DEFAULT_TIMEOUT_MS;\n }\n\n let fallback: boolean;\n if (hasOwnKey(cfg, \"taskLlmFallback\")) {\n const coerced = coerceBool(cfg.taskLlmFallback, \"taskLlmFallback\");\n fallback = coerced !== undefined ? coerced : true;\n } else if (hasOwnKey(cfg, \"localLlmFallback\")) {\n warnLegacyOnce(\n \"localLlmFallback\",\n \"taskLlmFallback\",\n \"taskLlmFallback is the current name for using the gateway/task chain when the local path fails.\",\n );\n fallback = cfg.localLlmFallback !== false;\n } else {\n fallback = true;\n }\n\n return { timeoutMs, localTimeoutMs, fallback };\n}\n"],"mappings":";;;;;;;;;AAWA,IAAM,qBAAqB;AAC3B,IAAM,iBAAiB;AACvB,IAAM,iBAAiB;AAEvB,IAAM,eAAe,oBAAI,IAAY;AAE9B,SAAS,oCAA0C;AACxD,eAAa,MAAM;AACrB;AAEA,SAAS,eAAe,WAAmB,YAAoB,OAAqB;AAClF,MAAI,aAAa,IAAI,SAAS,EAAG;AACjC,eAAa,IAAI,SAAS;AAC1B,MAAI;AAAA,IACF,WAAW,SAAS,0BAA0B,UAAU,SAAS,UAAU,aAAa,SAAS,qBAAqB,UAAU,eAAe,KAAK;AAAA,EACtJ;AACF;AAEA,SAAS,sBAAsB,OAAgB,UAA0B;AACvE,QAAM,UAAU,aAAa,KAAK;AAClC,MAAI,YAAY,OAAW,QAAO;AAClC,SAAO,KAAK,IAAI,gBAAgB,KAAK,IAAI,gBAAgB,KAAK,MAAM,OAAO,CAAC,CAAC;AAC/E;AAEA,SAAS,UAAU,KAA8B,KAAsB;AACrE,SAAO,OAAO,OAAO,KAAK,GAAG;AAC/B;AAeO,SAAS,mBAAmB,KAAmD;AACpF,QAAM,iBAAiB,UAAU,KAAK,mBAAmB,IACrD,sBAAsB,IAAI,mBAAmB,kBAAkB,IAC/D;AAEJ,MAAI;AACJ,MAAI,UAAU,KAAK,kBAAkB,GAAG;AACtC,gBAAY,sBAAsB,IAAI,kBAAkB,kBAAkB;AAAA,EAC5E,WAAW,UAAU,KAAK,mBAAmB,GAAG;AAC9C;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,gBAAY;AAAA,EACd,OAAO;AACL,gBAAY;AAAA,EACd;AAEA,MAAI;AACJ,MAAI,UAAU,KAAK,iBAAiB,GAAG;AACrC,UAAM,UAAU,WAAW,IAAI,iBAAiB,iBAAiB;AACjE,eAAW,YAAY,SAAY,UAAU;AAAA,EAC/C,WAAW,UAAU,KAAK,kBAAkB,GAAG;AAC7C;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,eAAW,IAAI,qBAAqB;AAAA,EACtC,OAAO;AACL,eAAW;AAAA,EACb;AAEA,SAAO,EAAE,WAAW,gBAAgB,SAAS;AAC/C;","names":[]}
|
|
@@ -13,52 +13,33 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
CODEX_SUBSCRIPTION_PROVIDER_ID,
|
|
15
15
|
abortReason,
|
|
16
|
+
classifyThrownProviderError,
|
|
17
|
+
codexDeadlineHeadroomMs,
|
|
16
18
|
codexSubscriptionBuiltinProviderConfig,
|
|
17
|
-
|
|
19
|
+
defaultOpenClawWorkspaceDir,
|
|
20
|
+
extractResponsesOutputText,
|
|
18
21
|
isTerminalCodexSubscriptionError,
|
|
22
|
+
isTimeoutError,
|
|
23
|
+
isUnsupportedJsonSchemaError,
|
|
24
|
+
normalizeRuntimePath,
|
|
19
25
|
raceFallbackLlmDeadline,
|
|
26
|
+
readGatewayWorkspaceDir,
|
|
20
27
|
tryCodexSubscriptionProvider,
|
|
21
28
|
withCodexRuntimeShutdown
|
|
22
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-UHSOPTNB.js";
|
|
23
30
|
import {
|
|
24
31
|
extractJsonCandidates
|
|
25
32
|
} from "./chunk-RGMVMVMF.js";
|
|
26
|
-
import {
|
|
27
|
-
expandTildePath
|
|
28
|
-
} from "./chunk-6KH5NLQS.js";
|
|
29
|
-
import {
|
|
30
|
-
resolveHomeDir
|
|
31
|
-
} from "./chunk-P2QRMMVQ.js";
|
|
32
33
|
import {
|
|
33
34
|
log
|
|
34
35
|
} from "./chunk-3WCASNQZ.js";
|
|
35
36
|
|
|
36
37
|
// src/fallback-llm.ts
|
|
37
|
-
import path from "path";
|
|
38
38
|
function gatewayTaskChainOptions(config) {
|
|
39
39
|
if (config.modelSource !== "gateway") return {};
|
|
40
40
|
if (config.taskModelChain) return { modelChain: config.taskModelChain };
|
|
41
41
|
return config.gatewayAgentId ? { agentId: config.gatewayAgentId } : {};
|
|
42
42
|
}
|
|
43
|
-
function fallbackLlmRuntimeContextFromConfig(config, overrides = {}) {
|
|
44
|
-
return {
|
|
45
|
-
workspaceDir: config.workspaceDir,
|
|
46
|
-
resolveApiKeyForProvider: config.providerApiKeyResolver,
|
|
47
|
-
getRuntimeAuthForModel: config.runtimeAuthForModelResolver,
|
|
48
|
-
codexSubscriptionRunner: getCodexSubscriptionRunnerForOwner(config),
|
|
49
|
-
...overrides
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
function isUnsupportedJsonSchemaError(error) {
|
|
53
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
54
|
-
if (!/\b(?:400|404|422)\b/.test(message)) {
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
if (/(?:response[_ ]?format|json[_ ]?schema|structured[_ ]?output)/i.test(message)) {
|
|
58
|
-
return true;
|
|
59
|
-
}
|
|
60
|
-
return /\bunsupported\b[\s\S]{0,40}\b(?:schema|format)\b/i.test(message);
|
|
61
|
-
}
|
|
62
43
|
var PROVIDER_ALIASES = {
|
|
63
44
|
"openai-codex": ["codex"],
|
|
64
45
|
codex: ["openai-codex"],
|
|
@@ -109,6 +90,14 @@ var FallbackLlmClient = class {
|
|
|
109
90
|
* When agentId is provided, uses that agent persona's model chain instead of defaults.
|
|
110
91
|
*/
|
|
111
92
|
async chatCompletion(messages, options = {}) {
|
|
93
|
+
const outcome = await this.completeChat(messages, options);
|
|
94
|
+
return outcome.ok ? outcome.response : null;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Same transport walk as chatCompletion, but tagged so structured parse can
|
|
98
|
+
* tell timeout / empty / HTTP error apart instead of collapsing them to null.
|
|
99
|
+
*/
|
|
100
|
+
async completeChat(messages, options = {}) {
|
|
112
101
|
const models = this.getModelChain(
|
|
113
102
|
options.agentId,
|
|
114
103
|
options.model,
|
|
@@ -116,23 +105,41 @@ var FallbackLlmClient = class {
|
|
|
116
105
|
options.includeDefaultModelFallback
|
|
117
106
|
);
|
|
118
107
|
if (models.length === 0) {
|
|
119
|
-
log.warn("
|
|
120
|
-
return
|
|
108
|
+
log.warn("task LLM: no models configured in gateway");
|
|
109
|
+
return { ok: false, failure: { failureReason: "no_models", errorClass: "no_models" } };
|
|
121
110
|
}
|
|
122
111
|
options = withCodexRuntimeShutdown(options, this.runtimeContext.codexSubscriptionRunner);
|
|
112
|
+
let lastFailure = {
|
|
113
|
+
failureReason: "http_error",
|
|
114
|
+
errorClass: "network"
|
|
115
|
+
};
|
|
116
|
+
const recordFailure = (failure, attemptedModel) => {
|
|
117
|
+
lastFailure = attemptedModel ? { ...failure, attemptedModel } : failure;
|
|
118
|
+
};
|
|
119
|
+
const throwIfCallerAborted = (signal) => {
|
|
120
|
+
if (!signal?.aborted) return;
|
|
121
|
+
const reason = abortReason(signal);
|
|
122
|
+
if (isTimeoutError(reason) && !options.signal?.aborted) {
|
|
123
|
+
recordFailure({ failureReason: "timeout", errorClass: "timeout" });
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
throw reason;
|
|
127
|
+
};
|
|
123
128
|
const runChain = async (initialOptions) => {
|
|
124
129
|
let runOptions = initialOptions;
|
|
125
130
|
let lastRejectedResponse = null;
|
|
131
|
+
let lastError;
|
|
126
132
|
let terminalError;
|
|
127
133
|
for (let i = 0; i < models.length; i++) {
|
|
128
134
|
if (runOptions.signal?.aborted) {
|
|
129
|
-
|
|
135
|
+
throwIfCallerAborted(runOptions.signal);
|
|
136
|
+
if (lastFailure.failureReason === "timeout") return null;
|
|
130
137
|
}
|
|
131
138
|
const model = models[i];
|
|
132
139
|
const isFallback = i > 0;
|
|
133
140
|
try {
|
|
134
141
|
const result = await this.tryModel(model, messages, runOptions);
|
|
135
|
-
if (result) {
|
|
142
|
+
if (result?.content) {
|
|
136
143
|
const response = {
|
|
137
144
|
content: result.content,
|
|
138
145
|
modelUsed: model.modelString,
|
|
@@ -140,23 +147,26 @@ var FallbackLlmClient = class {
|
|
|
140
147
|
};
|
|
141
148
|
if (runOptions.acceptResponse && !runOptions.acceptResponse(response)) {
|
|
142
149
|
lastRejectedResponse = response;
|
|
143
|
-
log.debug(`
|
|
150
|
+
log.debug(`task LLM: ${model.modelString} returned rejected output, trying next...`);
|
|
144
151
|
continue;
|
|
145
152
|
}
|
|
146
153
|
if (isFallback) {
|
|
147
|
-
log.debug(`
|
|
154
|
+
log.debug(`task LLM: succeeded using ${model.modelString} (fallback ${i})`);
|
|
148
155
|
}
|
|
149
156
|
return response;
|
|
150
157
|
}
|
|
158
|
+
recordFailure({ failureReason: "empty", errorClass: "empty" }, model.modelString);
|
|
151
159
|
} catch (err) {
|
|
152
160
|
if (isTerminalCodexSubscriptionError(err) && runOptions.signal?.aborted) {
|
|
153
161
|
throw err;
|
|
154
162
|
}
|
|
155
163
|
if (runOptions.signal?.aborted) {
|
|
156
|
-
|
|
164
|
+
throwIfCallerAborted(runOptions.signal);
|
|
165
|
+
if (lastFailure.failureReason === "timeout") return null;
|
|
157
166
|
}
|
|
167
|
+
lastError = err;
|
|
158
168
|
if ((runOptions.jsonSchema || runOptions.responsesJsonSchema) && isUnsupportedJsonSchemaError(err)) {
|
|
159
|
-
log.debug(`
|
|
169
|
+
log.debug(`task LLM: ${model.modelString} rejected native JSON schema; retrying without it`);
|
|
160
170
|
runOptions = {
|
|
161
171
|
...runOptions,
|
|
162
172
|
jsonSchema: void 0,
|
|
@@ -164,7 +174,7 @@ var FallbackLlmClient = class {
|
|
|
164
174
|
};
|
|
165
175
|
try {
|
|
166
176
|
const result = await this.tryModel(model, messages, runOptions);
|
|
167
|
-
if (result) {
|
|
177
|
+
if (result?.content) {
|
|
168
178
|
const response = {
|
|
169
179
|
content: result.content,
|
|
170
180
|
modelUsed: model.modelString,
|
|
@@ -174,17 +184,24 @@ var FallbackLlmClient = class {
|
|
|
174
184
|
return response;
|
|
175
185
|
}
|
|
176
186
|
lastRejectedResponse = response;
|
|
177
|
-
log.debug(`
|
|
187
|
+
log.debug(`task LLM: ${model.modelString} unstructured retry output rejected by acceptResponse, trying next model...`);
|
|
178
188
|
continue;
|
|
179
189
|
}
|
|
190
|
+
recordFailure({ failureReason: "empty", errorClass: "empty" }, model.modelString);
|
|
180
191
|
} catch (retryError) {
|
|
181
192
|
if (isTerminalCodexSubscriptionError(retryError) && runOptions.signal?.aborted) {
|
|
182
193
|
throw retryError;
|
|
183
194
|
}
|
|
184
|
-
if (runOptions.signal?.aborted)
|
|
195
|
+
if (runOptions.signal?.aborted) {
|
|
196
|
+
throwIfCallerAborted(runOptions.signal);
|
|
197
|
+
if (lastFailure.failureReason === "timeout") return null;
|
|
198
|
+
}
|
|
199
|
+
lastError = retryError;
|
|
200
|
+
const retryClassified = classifyThrownProviderError(retryError);
|
|
201
|
+
recordFailure(retryClassified, model.modelString);
|
|
185
202
|
const retryErrorMsg = runOptions.redactProviderErrors ? "provider error details redacted" : retryError instanceof Error ? retryError.message : String(retryError);
|
|
186
203
|
log.debug(
|
|
187
|
-
`
|
|
204
|
+
`task LLM: ${model.modelString} unstructured retry failed (${retryErrorMsg})`
|
|
188
205
|
);
|
|
189
206
|
if (isTerminalCodexSubscriptionError(retryError)) {
|
|
190
207
|
terminalError = retryError;
|
|
@@ -192,54 +209,70 @@ var FallbackLlmClient = class {
|
|
|
192
209
|
}
|
|
193
210
|
continue;
|
|
194
211
|
}
|
|
212
|
+
const classified = classifyThrownProviderError(err);
|
|
213
|
+
recordFailure(classified, model.modelString);
|
|
195
214
|
const errorMsg = runOptions.redactProviderErrors ? "provider error details redacted" : err instanceof Error ? err.message : String(err);
|
|
196
|
-
log.debug(`
|
|
215
|
+
log.debug(`task LLM: ${model.modelString} failed (${errorMsg}), trying next...`);
|
|
197
216
|
if (isTerminalCodexSubscriptionError(err)) {
|
|
198
217
|
terminalError = err;
|
|
199
218
|
}
|
|
200
219
|
}
|
|
201
220
|
}
|
|
202
|
-
log.warn(`
|
|
221
|
+
log.warn(`task LLM: all ${models.length} models in chain failed`);
|
|
222
|
+
if (options.failureDiag && lastError !== void 0 && !lastRejectedResponse) {
|
|
223
|
+
options.failureDiag.lastError = lastError;
|
|
224
|
+
}
|
|
203
225
|
if (terminalError !== void 0) {
|
|
204
226
|
throw terminalError;
|
|
205
227
|
}
|
|
206
228
|
return lastRejectedResponse;
|
|
207
229
|
};
|
|
230
|
+
const toOutcome = (response) => {
|
|
231
|
+
if (response) return { ok: true, response };
|
|
232
|
+
return { ok: false, failure: lastFailure };
|
|
233
|
+
};
|
|
208
234
|
if (typeof options.timeoutMs === "number") {
|
|
209
235
|
if (options.timeoutMs <= 0) {
|
|
210
|
-
log.warn("
|
|
211
|
-
return
|
|
236
|
+
log.warn("task LLM: timed out before request started");
|
|
237
|
+
return { ok: false, failure: { failureReason: "timeout", errorClass: "timeout" } };
|
|
212
238
|
}
|
|
213
239
|
const controller = new AbortController();
|
|
214
240
|
const onCallerAbort = () => {
|
|
215
241
|
controller.abort(abortReason(options.signal));
|
|
216
242
|
};
|
|
217
243
|
options.signal?.addEventListener("abort", onCallerAbort, { once: true });
|
|
218
|
-
if (options.signal?.aborted)
|
|
219
|
-
onCallerAbort();
|
|
220
|
-
}
|
|
244
|
+
if (options.signal?.aborted) onCallerAbort();
|
|
221
245
|
const timedOptions = { ...options, signal: controller.signal };
|
|
222
246
|
const chain = runChain(timedOptions);
|
|
223
|
-
const guarded = chain.
|
|
224
|
-
(
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
return null;
|
|
228
|
-
}
|
|
229
|
-
);
|
|
247
|
+
const guarded = chain.catch((err) => {
|
|
248
|
+
if (isTerminalCodexSubscriptionError(err)) throw err;
|
|
249
|
+
return null;
|
|
250
|
+
});
|
|
230
251
|
try {
|
|
231
|
-
const
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
252
|
+
const timeoutError = Object.assign(
|
|
253
|
+
new Error(`task LLM timed out after ${options.timeoutMs}ms`),
|
|
254
|
+
{ name: "TimeoutError" }
|
|
255
|
+
);
|
|
256
|
+
const outcome = await raceFallbackLlmDeadline(
|
|
257
|
+
guarded,
|
|
258
|
+
options.timeoutMs,
|
|
259
|
+
() => {
|
|
260
|
+
log.warn(`task LLM: timed out after ${options.timeoutMs}ms`);
|
|
261
|
+
recordFailure({ failureReason: "timeout", errorClass: "timeout" });
|
|
262
|
+
controller.abort(timeoutError);
|
|
263
|
+
if (options.failureDiag) options.failureDiag.lastError = timeoutError;
|
|
264
|
+
},
|
|
265
|
+
models.some((m) => m.providerConfig.api === "codex-cli") ? codexDeadlineHeadroomMs(options.timeoutMs) : 0
|
|
266
|
+
);
|
|
267
|
+
if (outcome.timedOut) {
|
|
268
|
+
return { ok: false, failure: { failureReason: "timeout", errorClass: "timeout" } };
|
|
269
|
+
}
|
|
270
|
+
return toOutcome(outcome.value);
|
|
238
271
|
} finally {
|
|
239
272
|
options.signal?.removeEventListener("abort", onCallerAbort);
|
|
240
273
|
}
|
|
241
274
|
}
|
|
242
|
-
return await runChain(options);
|
|
275
|
+
return toOutcome(await runChain(options));
|
|
243
276
|
}
|
|
244
277
|
/**
|
|
245
278
|
* Make a request with structured output (Zod schema).
|
|
@@ -254,36 +287,69 @@ var FallbackLlmClient = class {
|
|
|
254
287
|
* so callers can emit accurate trace events.
|
|
255
288
|
*/
|
|
256
289
|
async parseWithSchemaDetailed(messages, schema, options = {}) {
|
|
257
|
-
let
|
|
290
|
+
let outcome;
|
|
258
291
|
try {
|
|
259
|
-
|
|
292
|
+
outcome = await this.completeChat(messages, options);
|
|
260
293
|
} catch (err) {
|
|
261
294
|
if (options.signal?.aborted || isTerminalCodexSubscriptionError(err)) throw err;
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
295
|
+
if (isTimeoutError(err)) {
|
|
296
|
+
return { result: null, failureReason: "timeout", errorClass: "timeout" };
|
|
297
|
+
}
|
|
298
|
+
log.warn("task LLM: chatCompletion threw during structured parse:", err);
|
|
299
|
+
return { result: null, ...classifyThrownProviderError(err) };
|
|
300
|
+
}
|
|
301
|
+
if (!outcome.ok) {
|
|
302
|
+
return { result: null, ...outcome.failure };
|
|
303
|
+
}
|
|
304
|
+
const response = outcome.response;
|
|
305
|
+
if (!response.content) {
|
|
306
|
+
return {
|
|
307
|
+
result: null,
|
|
308
|
+
failureReason: "empty",
|
|
309
|
+
attemptedModel: response.modelUsed,
|
|
310
|
+
errorClass: "empty"
|
|
311
|
+
};
|
|
273
312
|
}
|
|
274
313
|
try {
|
|
275
314
|
const candidates = extractJsonCandidates(response.content);
|
|
315
|
+
let sawJson = false;
|
|
316
|
+
let sawSchemaReject = false;
|
|
276
317
|
for (const c of candidates) {
|
|
318
|
+
let parsed;
|
|
319
|
+
try {
|
|
320
|
+
parsed = JSON.parse(c);
|
|
321
|
+
sawJson = true;
|
|
322
|
+
} catch {
|
|
323
|
+
continue;
|
|
324
|
+
}
|
|
277
325
|
try {
|
|
278
|
-
const parsed = JSON.parse(c);
|
|
279
326
|
return { result: schema.parse(parsed), modelUsed: response.modelUsed };
|
|
280
327
|
} catch {
|
|
328
|
+
sawSchemaReject = true;
|
|
281
329
|
}
|
|
282
330
|
}
|
|
283
|
-
|
|
331
|
+
if (sawSchemaReject) {
|
|
332
|
+
return {
|
|
333
|
+
result: null,
|
|
334
|
+
failureReason: "schema_rejection",
|
|
335
|
+
attemptedModel: response.modelUsed,
|
|
336
|
+
errorClass: "schema_rejection"
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
return {
|
|
340
|
+
result: null,
|
|
341
|
+
failureReason: "empty",
|
|
342
|
+
attemptedModel: response.modelUsed,
|
|
343
|
+
errorClass: "empty"
|
|
344
|
+
};
|
|
284
345
|
} catch (err) {
|
|
285
|
-
log.warn("
|
|
286
|
-
return {
|
|
346
|
+
log.warn("task LLM: failed to parse structured output:", err);
|
|
347
|
+
return {
|
|
348
|
+
result: null,
|
|
349
|
+
failureReason: "empty",
|
|
350
|
+
attemptedModel: response.modelUsed,
|
|
351
|
+
errorClass: "empty"
|
|
352
|
+
};
|
|
287
353
|
}
|
|
288
354
|
}
|
|
289
355
|
/**
|
|
@@ -301,9 +367,9 @@ var FallbackLlmClient = class {
|
|
|
301
367
|
let modelConfig;
|
|
302
368
|
if (modelChainOverride?.primary) {
|
|
303
369
|
modelConfig = modelChainOverride;
|
|
304
|
-
log.debug("
|
|
370
|
+
log.debug("task LLM: using explicit model chain override");
|
|
305
371
|
} else if (modelChainOverride) {
|
|
306
|
-
log.warn("
|
|
372
|
+
log.warn("task LLM: ignoring explicit model chain override without primary model");
|
|
307
373
|
}
|
|
308
374
|
if (!modelConfig && agentId) {
|
|
309
375
|
const persona = this.gatewayConfig?.agents?.list?.find(
|
|
@@ -311,10 +377,10 @@ var FallbackLlmClient = class {
|
|
|
311
377
|
);
|
|
312
378
|
if (persona?.model) {
|
|
313
379
|
modelConfig = persona.model;
|
|
314
|
-
log.debug(`
|
|
380
|
+
log.debug(`task LLM: using agent persona "${agentId}" model chain`);
|
|
315
381
|
} else {
|
|
316
382
|
log.warn(
|
|
317
|
-
`
|
|
383
|
+
`task LLM: agent persona "${agentId}" not found or has no model config, falling back to defaults`
|
|
318
384
|
);
|
|
319
385
|
}
|
|
320
386
|
}
|
|
@@ -357,7 +423,7 @@ var FallbackLlmClient = class {
|
|
|
357
423
|
chain.push(defaultRef);
|
|
358
424
|
modelStrings.push(trimmed);
|
|
359
425
|
log.debug(
|
|
360
|
-
`
|
|
426
|
+
`task LLM: appended gateway default model "${trimmed}" as implicit last resort`
|
|
361
427
|
);
|
|
362
428
|
}
|
|
363
429
|
}
|
|
@@ -370,7 +436,7 @@ var FallbackLlmClient = class {
|
|
|
370
436
|
parseModelString(modelString, providers) {
|
|
371
437
|
const parts = modelString.split("/");
|
|
372
438
|
if (parts.length < 2) {
|
|
373
|
-
log.warn(`
|
|
439
|
+
log.warn(`task LLM: invalid model format: ${modelString}`);
|
|
374
440
|
return null;
|
|
375
441
|
}
|
|
376
442
|
const requestedProviderId = parts[0];
|
|
@@ -379,7 +445,7 @@ var FallbackLlmClient = class {
|
|
|
379
445
|
const providerConfig = resolvedProvider?.config;
|
|
380
446
|
if (!providerConfig) {
|
|
381
447
|
log.warn(
|
|
382
|
-
`
|
|
448
|
+
`task LLM: provider not found: ${requestedProviderId} (tried: ${this.providerResolutionCandidates(requestedProviderId).join(", ")})`
|
|
383
449
|
);
|
|
384
450
|
return null;
|
|
385
451
|
}
|
|
@@ -398,7 +464,7 @@ var FallbackLlmClient = class {
|
|
|
398
464
|
const config = providers[candidate];
|
|
399
465
|
if (config) {
|
|
400
466
|
if (candidate !== providerId) {
|
|
401
|
-
log.debug(`
|
|
467
|
+
log.debug(`task LLM: provider "${providerId}" resolved via alias "${candidate}"`);
|
|
402
468
|
}
|
|
403
469
|
return { providerId: candidate, config };
|
|
404
470
|
}
|
|
@@ -407,17 +473,17 @@ var FallbackLlmClient = class {
|
|
|
407
473
|
const config = this.resolveFromModelsJson(candidate);
|
|
408
474
|
if (config) {
|
|
409
475
|
if (candidate !== providerId) {
|
|
410
|
-
log.debug(`
|
|
476
|
+
log.debug(`task LLM: provider "${providerId}" resolved via models.json alias "${candidate}"`);
|
|
411
477
|
}
|
|
412
478
|
return { providerId: candidate, config };
|
|
413
479
|
}
|
|
414
480
|
const builtInConfig = BUILT_IN_PROVIDER_FALLBACKS[candidate];
|
|
415
481
|
if (builtInConfig) {
|
|
416
482
|
if (candidate === providerId) {
|
|
417
|
-
log.debug(`
|
|
483
|
+
log.debug(`task LLM: provider "${providerId}" resolved from built-in defaults`);
|
|
418
484
|
return { providerId, config: builtInConfig };
|
|
419
485
|
}
|
|
420
|
-
log.debug(`
|
|
486
|
+
log.debug(`task LLM: provider "${providerId}" resolved via built-in alias "${candidate}"`);
|
|
421
487
|
return { providerId: candidate, config: builtInConfig };
|
|
422
488
|
}
|
|
423
489
|
}
|
|
@@ -437,7 +503,7 @@ var FallbackLlmClient = class {
|
|
|
437
503
|
const allProviders = loadModelsJsonProviders();
|
|
438
504
|
const config = allProviders[providerId];
|
|
439
505
|
if (config) {
|
|
440
|
-
log.debug(`
|
|
506
|
+
log.debug(`task LLM: resolved provider "${providerId}" from models.json (api: ${config.api ?? "default"})`);
|
|
441
507
|
return config;
|
|
442
508
|
}
|
|
443
509
|
return null;
|
|
@@ -518,13 +584,13 @@ var FallbackLlmClient = class {
|
|
|
518
584
|
});
|
|
519
585
|
if (result?.apiKey || result?.baseUrl) {
|
|
520
586
|
log.debug(
|
|
521
|
-
`
|
|
587
|
+
`task LLM: resolved runtime auth for "${model.modelString}" (source: ${result.source ?? "unknown"}, mode: ${result.mode ?? "unknown"})`
|
|
522
588
|
);
|
|
523
589
|
return { apiKey: result.apiKey, baseUrl: result.baseUrl };
|
|
524
590
|
}
|
|
525
591
|
} catch (err) {
|
|
526
592
|
log.debug(
|
|
527
|
-
`
|
|
593
|
+
`task LLM: gateway runtime auth failed for "${model.modelString}": ${err instanceof Error ? err.message : String(err)}`
|
|
528
594
|
);
|
|
529
595
|
}
|
|
530
596
|
return null;
|
|
@@ -587,7 +653,7 @@ var FallbackLlmClient = class {
|
|
|
587
653
|
});
|
|
588
654
|
if (!response.ok) {
|
|
589
655
|
const error = await response.text();
|
|
590
|
-
throw new Error(`OpenAI API error: ${response.status} ${error}`);
|
|
656
|
+
throw Object.assign(new Error(`OpenAI API error: ${response.status} ${error}`), { status: response.status });
|
|
591
657
|
}
|
|
592
658
|
const data = await response.json();
|
|
593
659
|
const content = data.choices?.[0]?.message?.content;
|
|
@@ -635,7 +701,7 @@ var FallbackLlmClient = class {
|
|
|
635
701
|
});
|
|
636
702
|
if (!response.ok) {
|
|
637
703
|
const error = await response.text();
|
|
638
|
-
throw new Error(`Ollama API error: ${response.status} ${error}`);
|
|
704
|
+
throw Object.assign(new Error(`Ollama API error: ${response.status} ${error}`), { status: response.status });
|
|
639
705
|
}
|
|
640
706
|
const data = await response.json();
|
|
641
707
|
const content = data.message?.content ?? data.response;
|
|
@@ -704,7 +770,7 @@ var FallbackLlmClient = class {
|
|
|
704
770
|
});
|
|
705
771
|
if (!response.ok) {
|
|
706
772
|
const error = await response.text();
|
|
707
|
-
throw new Error(`OpenAI Responses API error: ${response.status} ${error}`);
|
|
773
|
+
throw Object.assign(new Error(`OpenAI Responses API error: ${response.status} ${error}`), { status: response.status });
|
|
708
774
|
}
|
|
709
775
|
const data = await response.json();
|
|
710
776
|
const outputText = extractResponsesOutputText(data);
|
|
@@ -757,7 +823,7 @@ var FallbackLlmClient = class {
|
|
|
757
823
|
});
|
|
758
824
|
if (!response.ok) {
|
|
759
825
|
const error = await response.text();
|
|
760
|
-
throw new Error(`Anthropic API error: ${response.status} ${error}`);
|
|
826
|
+
throw Object.assign(new Error(`Anthropic API error: ${response.status} ${error}`), { status: response.status });
|
|
761
827
|
}
|
|
762
828
|
const data = await response.json();
|
|
763
829
|
const content = data.content?.[0]?.text;
|
|
@@ -774,41 +840,9 @@ var FallbackLlmClient = class {
|
|
|
774
840
|
};
|
|
775
841
|
}
|
|
776
842
|
};
|
|
777
|
-
function normalizeRuntimePath(value) {
|
|
778
|
-
if (typeof value !== "string") return void 0;
|
|
779
|
-
const trimmed = value.trim();
|
|
780
|
-
return trimmed.length > 0 ? expandTildePath(trimmed) : void 0;
|
|
781
|
-
}
|
|
782
|
-
function readGatewayWorkspaceDir(gatewayConfig) {
|
|
783
|
-
if (!gatewayConfig || typeof gatewayConfig !== "object") return void 0;
|
|
784
|
-
const raw = gatewayConfig;
|
|
785
|
-
return normalizeRuntimePath(raw.workspaceDir) ?? normalizeRuntimePath(raw.workspacePath) ?? normalizeRuntimePath(raw.workspace);
|
|
786
|
-
}
|
|
787
|
-
function defaultOpenClawWorkspaceDir() {
|
|
788
|
-
return path.join(resolveHomeDir(), ".openclaw", "workspace");
|
|
789
|
-
}
|
|
790
|
-
function extractResponsesOutputText(data) {
|
|
791
|
-
if (typeof data.output_text === "string" && data.output_text.trim().length > 0) {
|
|
792
|
-
return data.output_text;
|
|
793
|
-
}
|
|
794
|
-
const chunks = [];
|
|
795
|
-
for (const item of data.output ?? []) {
|
|
796
|
-
if (typeof item.text === "string" && item.text.trim().length > 0) {
|
|
797
|
-
chunks.push(item.text);
|
|
798
|
-
}
|
|
799
|
-
for (const part of item.content ?? []) {
|
|
800
|
-
if ((part.type === "output_text" || part.type === "text") && typeof part.text === "string" && part.text.trim().length > 0) {
|
|
801
|
-
chunks.push(part.text);
|
|
802
|
-
}
|
|
803
|
-
}
|
|
804
|
-
}
|
|
805
|
-
const joined = chunks.join("\n").trim();
|
|
806
|
-
return joined.length > 0 ? joined : null;
|
|
807
|
-
}
|
|
808
843
|
|
|
809
844
|
export {
|
|
810
845
|
gatewayTaskChainOptions,
|
|
811
|
-
fallbackLlmRuntimeContextFromConfig,
|
|
812
846
|
FallbackLlmClient
|
|
813
847
|
};
|
|
814
|
-
//# sourceMappingURL=chunk-
|
|
848
|
+
//# sourceMappingURL=chunk-TRTLWUDD.js.map
|