@remnic/core 9.69.86 → 9.69.88
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.js +74 -67
- package/dist/access-authorization-probe.js +75 -68
- package/dist/access-boundary.js +74 -67
- package/dist/access-citation-namespace.js +2 -2
- package/dist/access-cli.js +158 -151
- package/dist/access-cli.js.map +1 -1
- package/dist/access-extraction-force-flush.d.ts.map +1 -1
- package/dist/access-extraction-force-flush.js +74 -67
- package/dist/access-http-briefing.js +75 -68
- package/dist/access-http-offline-stream.d.ts.map +1 -1
- package/dist/access-http-offline-stream.js +1 -1
- package/dist/access-http-query.js +76 -69
- package/dist/access-http.js +100 -93
- package/dist/access-identity-continuity-surface.js +74 -67
- package/dist/access-lcm-surface.js +74 -67
- package/dist/access-mcp-output-schemas.d.ts.map +1 -1
- package/dist/access-mcp-output-schemas.js +1 -1
- package/dist/access-mcp.d.ts.map +1 -1
- package/dist/access-mcp.js +89 -82
- package/dist/access-namespace-preflight.js +74 -67
- package/dist/access-observe-write-category.js +19 -13
- package/dist/access-observe-write-surface.js +74 -67
- package/dist/access-offline-manifest.js +15 -10
- package/dist/access-operations-batch.js +78 -71
- package/dist/access-operations.js +85 -78
- package/dist/access-recall-concurrency.js +74 -67
- package/dist/access-recall-diagnostics.js +4 -4
- package/dist/access-recall-response.js +74 -67
- package/dist/access-recall-surface.js +74 -67
- package/dist/access-schema.js +15 -7
- package/dist/access-service-helpers.d.ts +1 -0
- package/dist/access-service-helpers.d.ts.map +1 -1
- package/dist/access-service-helpers.js +1 -1
- package/dist/access-service.d.ts.map +1 -1
- package/dist/access-service.js +74 -67
- package/dist/access-surface-catalog.js +76 -69
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/active-recall.js +34 -28
- package/dist/active-recall.js.map +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/{auto-sync-WEUDMXUW.js → auto-sync-U5N3CB5Y.js} +10 -10
- package/dist/background-generation.js +2 -2
- package/dist/briefing.js +18 -18
- package/dist/buffer.js +9 -8
- package/dist/calibration.js +2 -2
- package/dist/{capsule-crypto-GWVG7LGC.js → capsule-crypto-YO5QJ6L3.js} +2 -2
- package/dist/{capsule-merge-3MNURAQ3.js → capsule-merge-ZCXUPLNJ.js} +2 -2
- package/dist/causal-behavior.js +2 -2
- package/dist/causal-chain.js +2 -2
- package/dist/causal-consolidation.js +21 -21
- package/dist/causal-retrieval.js +2 -2
- package/dist/causal-trajectory-graph.js +3 -3
- package/dist/causal-trajectory.js +1 -1
- package/dist/{chunk-JE334SIA.js → chunk-22DYJLFN.js} +2 -2
- package/dist/{chunk-DGAWEJVI.js → chunk-2DLWLNO4.js} +3 -3
- package/dist/{chunk-J3IWHCMF.js → chunk-2DT7PIDZ.js} +3 -3
- package/dist/{chunk-NKFLHW7J.js → chunk-2NAD4YCI.js} +2 -2
- package/dist/{chunk-SV72F4DS.js → chunk-2WLMWP2T.js} +2 -2
- package/dist/{chunk-IVH7INFM.js → chunk-3O5BB45T.js} +7 -7
- package/dist/{chunk-RDEUG2M2.js → chunk-3SGTV7RD.js} +6 -6
- package/dist/{chunk-QOPB6KE3.js → chunk-3TB2XQ3C.js} +2 -2
- package/dist/{chunk-C7JAUNFC.js → chunk-4KN2JLQV.js} +2 -2
- package/dist/{chunk-TIQZNDZ5.js → chunk-4MP7XR5J.js} +2 -2
- package/dist/chunk-4NSLQ7EU.js +137 -0
- package/dist/chunk-4NSLQ7EU.js.map +1 -0
- package/dist/{chunk-7DE2NOON.js → chunk-4O4XCBOS.js} +3 -3
- package/dist/{chunk-SLEAJ67D.js → chunk-4OQET73E.js} +4 -4
- package/dist/{chunk-Q3THVX75.js → chunk-4RL3JOB3.js} +2 -2
- package/dist/{chunk-GDYU6VF4.js → chunk-5AYUHSAU.js} +2 -2
- package/dist/{chunk-B47OHVFT.js → chunk-5E6RYRYW.js} +7 -7
- package/dist/{chunk-2U3R3DDH.js → chunk-5FAGCOZD.js} +9 -9
- package/dist/{chunk-CRKWSSS4.js → chunk-5MNUBT7T.js} +2 -2
- package/dist/{chunk-CK5KOVHW.js → chunk-5R627MYY.js} +3 -2
- package/dist/{chunk-CK5KOVHW.js.map → chunk-5R627MYY.js.map} +1 -1
- package/dist/chunk-5X4MXNEU.js +64 -0
- package/dist/chunk-5X4MXNEU.js.map +1 -0
- package/dist/{chunk-52II7PB6.js → chunk-645WOU5I.js} +4 -4
- package/dist/{chunk-7G6WUOLB.js → chunk-66DKTOBY.js} +2 -2
- package/dist/{chunk-AZ2X5LNA.js → chunk-6LYAEM54.js} +2 -2
- package/dist/{chunk-DUJYRVUD.js → chunk-6O2VUWV6.js} +3 -3
- package/dist/{chunk-IMAP236M.js → chunk-6UQFJULG.js} +2 -2
- package/dist/chunk-75PT4N7Q.js +75 -0
- package/dist/chunk-75PT4N7Q.js.map +1 -0
- package/dist/{chunk-2I6VHX6Q.js → chunk-76M5OK7V.js} +2 -2
- package/dist/{chunk-OEBLZZKK.js → chunk-7XG7KMIW.js} +2 -2
- package/dist/{chunk-FYAU4S6E.js → chunk-A4VSOUCB.js} +3 -3
- package/dist/{chunk-GEX5NI36.js → chunk-AE5U5NMS.js} +2 -2
- package/dist/{chunk-UNJOB4DY.js → chunk-AEHVZY3X.js} +2 -2
- package/dist/{chunk-ML2MVAEZ.js → chunk-AEU4EQGV.js} +1 -1
- package/dist/{chunk-3SG4FGDV.js → chunk-AWD36R4D.js} +5 -2
- package/dist/chunk-AWD36R4D.js.map +1 -0
- package/dist/{chunk-JVY556FW.js → chunk-AWG3TIAY.js} +2 -2
- package/dist/{chunk-JX6USXZR.js → chunk-AXC4WSF3.js} +4 -4
- package/dist/{chunk-BOUFVFV2.js → chunk-AZSGSRIM.js} +2 -2
- package/dist/{chunk-VZBW6CDG.js → chunk-B3O3IRZN.js} +1 -1
- package/dist/{chunk-4V44AA7O.js → chunk-BGI4NUAO.js} +2 -2
- package/dist/{chunk-BNPLDVM6.js → chunk-BJVO4H5C.js} +2 -2
- package/dist/{chunk-S42HZILI.js → chunk-BLVR4WYU.js} +3 -3
- package/dist/{chunk-JXMECXMF.js → chunk-BOZJD5PK.js} +2 -2
- package/dist/{chunk-6DTJBTHL.js → chunk-BUQKSQXL.js} +15 -3
- package/dist/chunk-BUQKSQXL.js.map +1 -0
- package/dist/{chunk-OWHERGF2.js → chunk-BXLOS5AJ.js} +2 -2
- package/dist/{chunk-EVBI7S4J.js → chunk-C6U57KG4.js} +4 -4
- package/dist/{chunk-RB776UH3.js → chunk-C7V3KPKJ.js} +235 -93
- package/dist/chunk-C7V3KPKJ.js.map +1 -0
- package/dist/{chunk-T4BE5KJM.js → chunk-C7ZDKWPS.js} +4 -4
- package/dist/{chunk-HKFJ3PF3.js → chunk-CRXRZA3G.js} +2 -2
- package/dist/{chunk-NMBX4D7P.js → chunk-CZJA2EQE.js} +2 -2
- package/dist/{chunk-BJX3VQWZ.js → chunk-D5BSQR63.js} +2 -2
- package/dist/{chunk-MFZACYZ6.js → chunk-DGS34QSY.js} +2 -2
- package/dist/{chunk-UVYI6VIX.js → chunk-DQEMWVMT.js} +1 -1
- package/dist/{chunk-DQISIT63.js → chunk-DZ42MDZE.js} +3 -3
- package/dist/{chunk-5ELENZTA.js → chunk-EDIH6X2P.js} +2 -2
- package/dist/{chunk-3BTFBQLO.js → chunk-EFHNFTWB.js} +49 -3
- package/dist/chunk-EFHNFTWB.js.map +1 -0
- package/dist/{chunk-C3QXITIP.js → chunk-EQUD7FP4.js} +2 -2
- package/dist/chunk-ETUZFFPU.js +218 -0
- package/dist/chunk-ETUZFFPU.js.map +1 -0
- package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
- package/dist/{chunk-IA3X2Y4K.js → chunk-FJLQXMTU.js} +3 -3
- package/dist/{chunk-TY446V34.js → chunk-FKD656D2.js} +2 -2
- package/dist/{chunk-CLXTDOKV.js → chunk-FUNBJQYR.js} +2 -2
- package/dist/{chunk-CLSYE5OZ.js → chunk-G2STTRYB.js} +2 -2
- package/dist/{chunk-SQDKX4RW.js → chunk-GWM6T5EQ.js} +2 -2
- package/dist/{chunk-AXDOF4VI.js → chunk-GZDTVYK2.js} +2 -2
- package/dist/{chunk-55FCXCXJ.js → chunk-H56VY4BY.js} +7 -7
- package/dist/{chunk-OM5BIPBR.js → chunk-H5BJWPUI.js} +4 -4
- package/dist/{chunk-7QK5TUTW.js → chunk-HLB7GKGG.js} +2 -2
- package/dist/{chunk-CHDGJJV6.js → chunk-HWLIMQE2.js} +2 -2
- package/dist/{chunk-QB75LKQQ.js → chunk-IOSZHHJC.js} +34 -15
- package/dist/chunk-IOSZHHJC.js.map +1 -0
- package/dist/{chunk-NAFPHFDM.js → chunk-JNLEJE4A.js} +2 -2
- package/dist/{chunk-7UUKRS3J.js → chunk-JVPWRNHA.js} +3 -3
- package/dist/{chunk-6ET2VII7.js → chunk-JYG2334B.js} +2 -2
- package/dist/chunk-K6T33R4Q.js +535 -0
- package/dist/chunk-K6T33R4Q.js.map +1 -0
- package/dist/{chunk-2QG4SLZI.js → chunk-KF7PQ7G2.js} +2 -2
- package/dist/{chunk-WIKO4SCR.js → chunk-LHRQBMJN.js} +2 -2
- package/dist/{chunk-IFCKHPY4.js → chunk-LO4UKPKX.js} +2 -2
- package/dist/{chunk-TEV2JGU5.js → chunk-LU7E2MXE.js} +19 -19
- package/dist/{chunk-RJLV4BKR.js → chunk-LV5H6FTN.js} +2 -2
- package/dist/{chunk-IBGEHKQ6.js → chunk-LW3HKRL7.js} +3 -3
- package/dist/{chunk-3XQYM4RE.js → chunk-M6C7SOR6.js} +2 -2
- package/dist/{chunk-JN72EPOE.js → chunk-MAAL6OZV.js} +7 -7
- package/dist/chunk-MAAL6OZV.js.map +1 -0
- package/dist/{chunk-MY2PLXSM.js → chunk-MCTM4YPL.js} +2 -1
- package/dist/{chunk-MY2PLXSM.js.map → chunk-MCTM4YPL.js.map} +1 -1
- package/dist/{chunk-T4QGUXCV.js → chunk-MXCAJKMA.js} +9 -9
- package/dist/{chunk-BMYZTZ5D.js → chunk-MY7B3HYC.js} +2 -2
- package/dist/{chunk-NB3LRY4T.js → chunk-N4PYB235.js} +2 -2
- package/dist/{chunk-S3YM4SZQ.js → chunk-N7QV3CMX.js} +2 -2
- package/dist/{chunk-3GN2PEOT.js → chunk-NYKIUQL6.js} +2 -2
- package/dist/{chunk-WQZZDN5M.js → chunk-OCFXVDBZ.js} +322 -376
- package/dist/chunk-OCFXVDBZ.js.map +1 -0
- package/dist/{chunk-L2LBMKSI.js → chunk-OK52IY3W.js} +10 -10
- package/dist/{chunk-WB2I2EQK.js → chunk-P2ODTYOF.js} +2 -2
- package/dist/{chunk-RIEX7NOZ.js → chunk-PEBHPCX2.js} +2 -2
- package/dist/{chunk-VYCOJKSX.js → chunk-PO7NXNGC.js} +2 -2
- package/dist/{chunk-G6SVZWPB.js → chunk-PZX3AQLF.js} +44 -1
- package/dist/chunk-PZX3AQLF.js.map +1 -0
- package/dist/{chunk-XAITGGX5.js → chunk-Q4AUIFUA.js} +4 -4
- package/dist/{chunk-EU3N5MK3.js → chunk-QAW55ZHJ.js} +4 -4
- package/dist/{chunk-SVZWVZ7E.js → chunk-QB57WIS6.js} +101 -93
- package/dist/chunk-QB57WIS6.js.map +1 -0
- package/dist/{chunk-I4G4UWQA.js → chunk-QI2E6ISQ.js} +1 -1
- package/dist/{chunk-CK5U7JGH.js → chunk-QI7K7BZ5.js} +2 -2
- package/dist/{chunk-VTPASHTO.js → chunk-R3X2T2LP.js} +3 -3
- package/dist/{chunk-I53NAHZ4.js → chunk-RBITPCMK.js} +10 -9
- package/dist/chunk-RBITPCMK.js.map +1 -0
- package/dist/{chunk-EJPF6XDQ.js → chunk-RDJ6C7NZ.js} +3 -3
- package/dist/{chunk-C2WWQ4OR.js → chunk-RMMA44HE.js} +1 -1
- package/dist/chunk-RMMA44HE.js.map +1 -0
- package/dist/{chunk-QC56VZXC.js → chunk-S2GE2K36.js} +85 -82
- package/dist/{chunk-QC56VZXC.js.map → chunk-S2GE2K36.js.map} +1 -1
- package/dist/{chunk-2UPTRDGM.js → chunk-SCXURCVT.js} +3 -3
- package/dist/{chunk-S55WTPFJ.js → chunk-STEOT4DI.js} +20 -20
- package/dist/chunk-STEOT4DI.js.map +1 -0
- package/dist/{chunk-N3MNDVJO.js → chunk-SWBC3UER.js} +2 -2
- package/dist/{chunk-ZTHGFTMW.js → chunk-TKC5LZ43.js} +2 -2
- package/dist/chunk-TYT4TEQV.js +45 -0
- package/dist/chunk-TYT4TEQV.js.map +1 -0
- package/dist/{chunk-YRLHEEQT.js → chunk-U6VC6RP3.js} +2 -2
- package/dist/chunk-UCPGOUDZ.js +726 -0
- package/dist/chunk-UCPGOUDZ.js.map +1 -0
- package/dist/{chunk-MOQPEFLN.js → chunk-UP75KL3L.js} +2 -2
- package/dist/{chunk-D5F7TKMH.js → chunk-V4JZCTMK.js} +2 -2
- package/dist/{chunk-NAYBHNGN.js → chunk-VALKBYBN.js} +2 -2
- package/dist/{chunk-BUKK5SWA.js → chunk-VDX2J7OX.js} +2 -2
- package/dist/{chunk-H36X4NRH.js → chunk-VVX5PZFS.js} +2 -2
- package/dist/{chunk-RCQKAOOB.js → chunk-W3XXFPRI.js} +52 -52
- package/dist/{chunk-W75BBBSY.js → chunk-WKY7N3L7.js} +11 -11
- package/dist/{chunk-GZAGLCQH.js → chunk-X5SHE2O3.js} +3 -3
- package/dist/{chunk-OAOBL6OY.js → chunk-XOV7NRY5.js} +5 -5
- package/dist/{chunk-FZVROZKC.js → chunk-XVZA6VXC.js} +4 -4
- package/dist/{chunk-RGMVMVMF.js → chunk-YBA52OKG.js} +2 -1
- package/dist/chunk-YBA52OKG.js.map +1 -0
- package/dist/{chunk-IP5VLSLO.js → chunk-YJ7MW627.js} +2 -2
- package/dist/{chunk-HS75MCQF.js → chunk-YRULQW5J.js} +2 -2
- package/dist/{chunk-DINRT75P.js → chunk-YSBL7VPO.js} +2 -2
- package/dist/{chunk-QWUJWBZ5.js → chunk-Z3O53WZR.js} +2 -2
- package/dist/{chunk-KERNN6BC.js → chunk-Z5LP6ILP.js} +2 -2
- package/dist/{chunk-5FNZ3G6X.js → chunk-Z6EZCN6Z.js} +5 -5
- package/dist/chunk-ZJP66Q4I.js +48 -0
- package/dist/chunk-ZJP66Q4I.js.map +1 -0
- package/dist/{chunk-JS3S2HVG.js → chunk-ZZZ4I455.js} +2 -2
- package/dist/cli.js +122 -115
- package/dist/coding/export-okf-codegraph.js +19 -19
- package/dist/coding/pre-action-gate.js +2 -2
- package/dist/compounding/engine.js +19 -19
- package/dist/config.js +34 -28
- package/dist/connectors/codex-materialize-runner.js +18 -18
- package/dist/connectors/index.js +18 -18
- package/dist/console/state.d.ts +30 -0
- package/dist/console/state.d.ts.map +1 -1
- package/dist/contradiction/index.js +7 -7
- package/dist/{contradiction-scan-5EJYRKD3.js → contradiction-scan-TAGMOUQ2.js} +3 -3
- package/dist/convergence-refresh.js +20 -20
- package/dist/corpus-watermark.js +20 -20
- package/dist/correction/correction-access-wiring.d.ts.map +1 -1
- package/dist/dashboard-runtime.js +2 -2
- package/dist/deep-recall-http-glue.js +15 -8
- package/dist/deep-recall-policy-llm.js +3 -3
- package/dist/deep-recall.js +2 -2
- package/dist/embedding-fallback.d.ts +41 -31
- package/dist/embedding-fallback.d.ts.map +1 -1
- package/dist/embedding-fallback.js +9 -1
- package/dist/embedding-generation-lock.d.ts +49 -0
- package/dist/embedding-generation-lock.d.ts.map +1 -0
- package/dist/embedding-generation-lock.js +19 -0
- package/dist/embedding-index-storage.d.ts +276 -0
- package/dist/embedding-index-storage.d.ts.map +1 -0
- package/dist/embedding-index-storage.js +28 -0
- package/dist/entity-retrieval.js +19 -19
- package/dist/event-order-recall.js +3 -3
- package/dist/explicit-capture.js +6 -6
- package/dist/external-wiki-access.js +75 -68
- package/dist/extraction-faithfulness.js +3 -3
- package/dist/extraction-judge.js +3 -3
- package/dist/extraction-liveness.d.ts +9 -0
- package/dist/extraction-liveness.d.ts.map +1 -1
- package/dist/extraction-liveness.js +2 -1
- package/dist/extraction-llm-health.d.ts +32 -0
- package/dist/extraction-llm-health.d.ts.map +1 -0
- package/dist/extraction-llm-health.js +17 -0
- package/dist/extraction-span-config.js +3 -2
- package/dist/extraction-span-materialize.js +2 -2
- package/dist/extraction.js +29 -28
- package/dist/fallback-llm.js +2 -2
- package/dist/{first-start-migration-GAT7G733.js → first-start-migration-7OATHJKB.js} +4 -4
- package/dist/{graph-edge-decay-PVKDKLQK.js → graph-edge-decay-MKIRZ762.js} +6 -6
- package/dist/graph-jsonl.js +4 -4
- package/dist/graph-snapshot.js +4 -4
- package/dist/graph.js +5 -5
- package/dist/harmonic-retrieval.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +237 -206
- package/dist/json-extract.d.ts.map +1 -1
- package/dist/json-extract.js +1 -1
- package/dist/lcm/engine.js +2 -2
- package/dist/lcm/index.js +5 -5
- package/dist/local-llm.d.ts.map +1 -1
- package/dist/local-llm.js +2 -2
- package/dist/location/index.js +21 -21
- package/dist/maintenance/memory-governance.js +18 -18
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +18 -18
- package/dist/maintenance/rebuild-memory-projection.js +19 -19
- package/dist/memory-browse-operations.js +75 -68
- package/dist/memory-browse.js +3 -3
- package/dist/memory-subject.js +3 -3
- package/dist/namespaces/migrate.js +19 -19
- package/dist/namespaces/search.js +4 -4
- package/dist/namespaces/storage.js +18 -18
- package/dist/offline-sync-embedding-generation.d.ts +207 -0
- package/dist/offline-sync-embedding-generation.d.ts.map +1 -0
- package/dist/offline-sync-embedding-generation.js +42 -0
- package/dist/offline-sync-embedding-generation.js.map +1 -0
- package/dist/offline-sync-exclude-globs.d.ts +15 -0
- package/dist/offline-sync-exclude-globs.d.ts.map +1 -1
- package/dist/offline-sync-exclude-globs.js +11 -3
- package/dist/offline-sync-file-io.d.ts +7 -0
- package/dist/offline-sync-file-io.d.ts.map +1 -1
- package/dist/offline-sync-file-io.js +14 -2
- package/dist/offline-sync-impression-drain.js +3 -3
- package/dist/offline-sync-runtime-state.d.ts +5 -0
- package/dist/offline-sync-runtime-state.d.ts.map +1 -0
- package/dist/offline-sync-runtime-state.js +14 -0
- package/dist/offline-sync-runtime-state.js.map +1 -0
- package/dist/offline-sync-snapshot-stream.d.ts +26 -0
- package/dist/offline-sync-snapshot-stream.d.ts.map +1 -0
- package/dist/offline-sync-snapshot-stream.js +28 -0
- package/dist/offline-sync-snapshot-stream.js.map +1 -0
- package/dist/offline-sync-upload-staging.d.ts +34 -0
- package/dist/offline-sync-upload-staging.d.ts.map +1 -0
- package/dist/offline-sync-upload-staging.js +26 -0
- package/dist/offline-sync-upload-staging.js.map +1 -0
- package/dist/offline-sync.d.ts +46 -27
- package/dist/offline-sync.d.ts.map +1 -1
- package/dist/offline-sync.js +21 -8
- package/dist/operator-doctor-corpus.js +21 -21
- package/dist/operator-toolkit.js +46 -40
- package/dist/orchestration/extraction-run.d.ts.map +1 -1
- package/dist/orchestration/maintenance.js +30 -30
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +159 -152
- package/dist/recall-navigation-operations.js +75 -68
- package/dist/recall-navigation.js +74 -67
- package/dist/recall-planner-llm.js +2 -2
- package/dist/recall-state-view-admission.js +3 -3
- package/dist/recall-why-service.js +6 -6
- package/dist/recall-why.js +3 -3
- package/dist/reconcile/manifest.js +4 -4
- package/dist/{resolution-UYJU5JUA.js → resolution-K4A3VPKZ.js} +8 -8
- package/dist/resolution-K4A3VPKZ.js.map +1 -0
- package/dist/resume-bundles.js +35 -29
- package/dist/salvage-envelope.js +5 -5
- package/dist/search/factory.js +3 -3
- package/dist/search/index.js +7 -7
- package/dist/secure-store/index.js +2 -2
- package/dist/secure-store/secure-fs.d.ts +14 -1
- package/dist/secure-store/secure-fs.d.ts.map +1 -1
- package/dist/semantic-consolidation.js +19 -19
- package/dist/semantic-rule-promotion.js +18 -18
- package/dist/semantic-rule-verifier.js +18 -18
- package/dist/source-agent-qualifier.js +23 -22
- package/dist/standup/build.js +18 -18
- package/dist/{state-ITXJKXRE.js → state-JB47KHYV.js} +2 -2
- package/dist/state-JB47KHYV.js.map +1 -0
- package/dist/storage.d.ts +9 -3
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +17 -17
- package/dist/subject-config.js +4 -4
- package/dist/summarizer.js +6 -6
- package/dist/support-passport/index.js +77 -70
- package/dist/{trace-ZFVRH4GO.js → trace-LXXCMZJA.js} +3 -3
- 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.js +19 -19
- package/dist/{tui-55UJMJX7.js → tui-2Z5WOV7L.js} +3 -3
- package/dist/tui-2Z5WOV7L.js.map +1 -0
- package/dist/verified-recall.js +18 -18
- package/dist/who-knows-cli.js +19 -19
- package/dist/who-knows.js +18 -18
- package/dist/write-envelope.js +4 -4
- package/package.json +2 -2
- package/src/access-extraction-force-flush.ts +15 -7
- package/src/access-http-offline-stream.ts +3 -0
- package/src/access-mcp-output-schemas.ts +1 -0
- package/src/access-mcp.ts +90 -28
- package/src/access-service-health.test.ts +41 -5
- package/src/access-service-helpers.ts +1 -0
- package/src/access-service-observe-lcm-parity.test.ts +56 -24
- package/src/access-service.ts +7 -18
- package/src/console/state.test.ts +56 -0
- package/src/console/state.ts +83 -0
- package/src/correction/correction-access-wiring.ts +36 -8
- package/src/correction/correction-classify-parse.test.ts +178 -0
- package/src/embedding-fallback.ts +325 -141
- package/src/embedding-generation-lock.ts +141 -0
- package/src/embedding-index-storage.test.ts +245 -0
- package/src/embedding-index-storage.ts +1068 -0
- package/src/extraction-liveness.ts +13 -1
- package/src/extraction-llm-health.test.ts +103 -0
- package/src/extraction-llm-health.ts +71 -0
- package/src/index.ts +3 -3
- package/src/json-extract.ts +6 -0
- package/src/local-llm-thinking.test.ts +12 -0
- package/src/local-llm.ts +1 -0
- package/src/offline-sync-embedding-generation.test.ts +2173 -0
- package/src/offline-sync-embedding-generation.ts +885 -0
- package/src/offline-sync-exclude-globs.ts +112 -0
- package/src/offline-sync-file-io.ts +48 -0
- package/src/offline-sync-runtime-state.ts +48 -0
- package/src/offline-sync-snapshot-stream.ts +99 -0
- package/src/offline-sync-upload-staging.ts +291 -0
- package/src/offline-sync.test.ts +164 -1
- package/src/offline-sync.ts +458 -453
- package/src/orchestration/extraction-run.test.ts +55 -1
- package/src/orchestration/extraction-run.ts +13 -0
- package/src/orchestrator.ts +2 -1
- package/src/secure-store/secure-fs.ts +26 -6
- package/src/storage.ts +11 -6
- package/dist/chunk-3BTFBQLO.js.map +0 -1
- package/dist/chunk-3SG4FGDV.js.map +0 -1
- package/dist/chunk-6DTJBTHL.js.map +0 -1
- package/dist/chunk-AREGMX2J.js +0 -50
- package/dist/chunk-AREGMX2J.js.map +0 -1
- package/dist/chunk-C2WWQ4OR.js.map +0 -1
- package/dist/chunk-G6SVZWPB.js.map +0 -1
- package/dist/chunk-I53NAHZ4.js.map +0 -1
- package/dist/chunk-JN72EPOE.js.map +0 -1
- package/dist/chunk-QB75LKQQ.js.map +0 -1
- package/dist/chunk-RB776UH3.js.map +0 -1
- package/dist/chunk-RGMVMVMF.js.map +0 -1
- package/dist/chunk-S55WTPFJ.js.map +0 -1
- package/dist/chunk-SVZWVZ7E.js.map +0 -1
- package/dist/chunk-WQZZDN5M.js.map +0 -1
- /package/dist/{auto-sync-WEUDMXUW.js.map → auto-sync-U5N3CB5Y.js.map} +0 -0
- /package/dist/{capsule-crypto-GWVG7LGC.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
- /package/dist/{capsule-merge-3MNURAQ3.js.map → capsule-merge-ZCXUPLNJ.js.map} +0 -0
- /package/dist/{chunk-JE334SIA.js.map → chunk-22DYJLFN.js.map} +0 -0
- /package/dist/{chunk-DGAWEJVI.js.map → chunk-2DLWLNO4.js.map} +0 -0
- /package/dist/{chunk-J3IWHCMF.js.map → chunk-2DT7PIDZ.js.map} +0 -0
- /package/dist/{chunk-NKFLHW7J.js.map → chunk-2NAD4YCI.js.map} +0 -0
- /package/dist/{chunk-SV72F4DS.js.map → chunk-2WLMWP2T.js.map} +0 -0
- /package/dist/{chunk-IVH7INFM.js.map → chunk-3O5BB45T.js.map} +0 -0
- /package/dist/{chunk-RDEUG2M2.js.map → chunk-3SGTV7RD.js.map} +0 -0
- /package/dist/{chunk-QOPB6KE3.js.map → chunk-3TB2XQ3C.js.map} +0 -0
- /package/dist/{chunk-C7JAUNFC.js.map → chunk-4KN2JLQV.js.map} +0 -0
- /package/dist/{chunk-TIQZNDZ5.js.map → chunk-4MP7XR5J.js.map} +0 -0
- /package/dist/{chunk-7DE2NOON.js.map → chunk-4O4XCBOS.js.map} +0 -0
- /package/dist/{chunk-SLEAJ67D.js.map → chunk-4OQET73E.js.map} +0 -0
- /package/dist/{chunk-Q3THVX75.js.map → chunk-4RL3JOB3.js.map} +0 -0
- /package/dist/{chunk-GDYU6VF4.js.map → chunk-5AYUHSAU.js.map} +0 -0
- /package/dist/{chunk-B47OHVFT.js.map → chunk-5E6RYRYW.js.map} +0 -0
- /package/dist/{chunk-2U3R3DDH.js.map → chunk-5FAGCOZD.js.map} +0 -0
- /package/dist/{chunk-CRKWSSS4.js.map → chunk-5MNUBT7T.js.map} +0 -0
- /package/dist/{chunk-52II7PB6.js.map → chunk-645WOU5I.js.map} +0 -0
- /package/dist/{chunk-7G6WUOLB.js.map → chunk-66DKTOBY.js.map} +0 -0
- /package/dist/{chunk-AZ2X5LNA.js.map → chunk-6LYAEM54.js.map} +0 -0
- /package/dist/{chunk-DUJYRVUD.js.map → chunk-6O2VUWV6.js.map} +0 -0
- /package/dist/{chunk-IMAP236M.js.map → chunk-6UQFJULG.js.map} +0 -0
- /package/dist/{chunk-2I6VHX6Q.js.map → chunk-76M5OK7V.js.map} +0 -0
- /package/dist/{chunk-OEBLZZKK.js.map → chunk-7XG7KMIW.js.map} +0 -0
- /package/dist/{chunk-FYAU4S6E.js.map → chunk-A4VSOUCB.js.map} +0 -0
- /package/dist/{chunk-GEX5NI36.js.map → chunk-AE5U5NMS.js.map} +0 -0
- /package/dist/{chunk-UNJOB4DY.js.map → chunk-AEHVZY3X.js.map} +0 -0
- /package/dist/{chunk-ML2MVAEZ.js.map → chunk-AEU4EQGV.js.map} +0 -0
- /package/dist/{chunk-JVY556FW.js.map → chunk-AWG3TIAY.js.map} +0 -0
- /package/dist/{chunk-JX6USXZR.js.map → chunk-AXC4WSF3.js.map} +0 -0
- /package/dist/{chunk-BOUFVFV2.js.map → chunk-AZSGSRIM.js.map} +0 -0
- /package/dist/{chunk-VZBW6CDG.js.map → chunk-B3O3IRZN.js.map} +0 -0
- /package/dist/{chunk-4V44AA7O.js.map → chunk-BGI4NUAO.js.map} +0 -0
- /package/dist/{chunk-BNPLDVM6.js.map → chunk-BJVO4H5C.js.map} +0 -0
- /package/dist/{chunk-S42HZILI.js.map → chunk-BLVR4WYU.js.map} +0 -0
- /package/dist/{chunk-JXMECXMF.js.map → chunk-BOZJD5PK.js.map} +0 -0
- /package/dist/{chunk-OWHERGF2.js.map → chunk-BXLOS5AJ.js.map} +0 -0
- /package/dist/{chunk-EVBI7S4J.js.map → chunk-C6U57KG4.js.map} +0 -0
- /package/dist/{chunk-T4BE5KJM.js.map → chunk-C7ZDKWPS.js.map} +0 -0
- /package/dist/{chunk-HKFJ3PF3.js.map → chunk-CRXRZA3G.js.map} +0 -0
- /package/dist/{chunk-NMBX4D7P.js.map → chunk-CZJA2EQE.js.map} +0 -0
- /package/dist/{chunk-BJX3VQWZ.js.map → chunk-D5BSQR63.js.map} +0 -0
- /package/dist/{chunk-MFZACYZ6.js.map → chunk-DGS34QSY.js.map} +0 -0
- /package/dist/{chunk-UVYI6VIX.js.map → chunk-DQEMWVMT.js.map} +0 -0
- /package/dist/{chunk-DQISIT63.js.map → chunk-DZ42MDZE.js.map} +0 -0
- /package/dist/{chunk-5ELENZTA.js.map → chunk-EDIH6X2P.js.map} +0 -0
- /package/dist/{chunk-C3QXITIP.js.map → chunk-EQUD7FP4.js.map} +0 -0
- /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
- /package/dist/{chunk-IA3X2Y4K.js.map → chunk-FJLQXMTU.js.map} +0 -0
- /package/dist/{chunk-TY446V34.js.map → chunk-FKD656D2.js.map} +0 -0
- /package/dist/{chunk-CLXTDOKV.js.map → chunk-FUNBJQYR.js.map} +0 -0
- /package/dist/{chunk-CLSYE5OZ.js.map → chunk-G2STTRYB.js.map} +0 -0
- /package/dist/{chunk-SQDKX4RW.js.map → chunk-GWM6T5EQ.js.map} +0 -0
- /package/dist/{chunk-AXDOF4VI.js.map → chunk-GZDTVYK2.js.map} +0 -0
- /package/dist/{chunk-55FCXCXJ.js.map → chunk-H56VY4BY.js.map} +0 -0
- /package/dist/{chunk-OM5BIPBR.js.map → chunk-H5BJWPUI.js.map} +0 -0
- /package/dist/{chunk-7QK5TUTW.js.map → chunk-HLB7GKGG.js.map} +0 -0
- /package/dist/{chunk-CHDGJJV6.js.map → chunk-HWLIMQE2.js.map} +0 -0
- /package/dist/{chunk-NAFPHFDM.js.map → chunk-JNLEJE4A.js.map} +0 -0
- /package/dist/{chunk-7UUKRS3J.js.map → chunk-JVPWRNHA.js.map} +0 -0
- /package/dist/{chunk-6ET2VII7.js.map → chunk-JYG2334B.js.map} +0 -0
- /package/dist/{chunk-2QG4SLZI.js.map → chunk-KF7PQ7G2.js.map} +0 -0
- /package/dist/{chunk-WIKO4SCR.js.map → chunk-LHRQBMJN.js.map} +0 -0
- /package/dist/{chunk-IFCKHPY4.js.map → chunk-LO4UKPKX.js.map} +0 -0
- /package/dist/{chunk-TEV2JGU5.js.map → chunk-LU7E2MXE.js.map} +0 -0
- /package/dist/{chunk-RJLV4BKR.js.map → chunk-LV5H6FTN.js.map} +0 -0
- /package/dist/{chunk-IBGEHKQ6.js.map → chunk-LW3HKRL7.js.map} +0 -0
- /package/dist/{chunk-3XQYM4RE.js.map → chunk-M6C7SOR6.js.map} +0 -0
- /package/dist/{chunk-T4QGUXCV.js.map → chunk-MXCAJKMA.js.map} +0 -0
- /package/dist/{chunk-BMYZTZ5D.js.map → chunk-MY7B3HYC.js.map} +0 -0
- /package/dist/{chunk-NB3LRY4T.js.map → chunk-N4PYB235.js.map} +0 -0
- /package/dist/{chunk-S3YM4SZQ.js.map → chunk-N7QV3CMX.js.map} +0 -0
- /package/dist/{chunk-3GN2PEOT.js.map → chunk-NYKIUQL6.js.map} +0 -0
- /package/dist/{chunk-L2LBMKSI.js.map → chunk-OK52IY3W.js.map} +0 -0
- /package/dist/{chunk-WB2I2EQK.js.map → chunk-P2ODTYOF.js.map} +0 -0
- /package/dist/{chunk-RIEX7NOZ.js.map → chunk-PEBHPCX2.js.map} +0 -0
- /package/dist/{chunk-VYCOJKSX.js.map → chunk-PO7NXNGC.js.map} +0 -0
- /package/dist/{chunk-XAITGGX5.js.map → chunk-Q4AUIFUA.js.map} +0 -0
- /package/dist/{chunk-EU3N5MK3.js.map → chunk-QAW55ZHJ.js.map} +0 -0
- /package/dist/{chunk-I4G4UWQA.js.map → chunk-QI2E6ISQ.js.map} +0 -0
- /package/dist/{chunk-CK5U7JGH.js.map → chunk-QI7K7BZ5.js.map} +0 -0
- /package/dist/{chunk-VTPASHTO.js.map → chunk-R3X2T2LP.js.map} +0 -0
- /package/dist/{chunk-EJPF6XDQ.js.map → chunk-RDJ6C7NZ.js.map} +0 -0
- /package/dist/{chunk-2UPTRDGM.js.map → chunk-SCXURCVT.js.map} +0 -0
- /package/dist/{chunk-N3MNDVJO.js.map → chunk-SWBC3UER.js.map} +0 -0
- /package/dist/{chunk-ZTHGFTMW.js.map → chunk-TKC5LZ43.js.map} +0 -0
- /package/dist/{chunk-YRLHEEQT.js.map → chunk-U6VC6RP3.js.map} +0 -0
- /package/dist/{chunk-MOQPEFLN.js.map → chunk-UP75KL3L.js.map} +0 -0
- /package/dist/{chunk-D5F7TKMH.js.map → chunk-V4JZCTMK.js.map} +0 -0
- /package/dist/{chunk-NAYBHNGN.js.map → chunk-VALKBYBN.js.map} +0 -0
- /package/dist/{chunk-BUKK5SWA.js.map → chunk-VDX2J7OX.js.map} +0 -0
- /package/dist/{chunk-H36X4NRH.js.map → chunk-VVX5PZFS.js.map} +0 -0
- /package/dist/{chunk-RCQKAOOB.js.map → chunk-W3XXFPRI.js.map} +0 -0
- /package/dist/{chunk-W75BBBSY.js.map → chunk-WKY7N3L7.js.map} +0 -0
- /package/dist/{chunk-GZAGLCQH.js.map → chunk-X5SHE2O3.js.map} +0 -0
- /package/dist/{chunk-OAOBL6OY.js.map → chunk-XOV7NRY5.js.map} +0 -0
- /package/dist/{chunk-FZVROZKC.js.map → chunk-XVZA6VXC.js.map} +0 -0
- /package/dist/{chunk-IP5VLSLO.js.map → chunk-YJ7MW627.js.map} +0 -0
- /package/dist/{chunk-HS75MCQF.js.map → chunk-YRULQW5J.js.map} +0 -0
- /package/dist/{chunk-DINRT75P.js.map → chunk-YSBL7VPO.js.map} +0 -0
- /package/dist/{chunk-QWUJWBZ5.js.map → chunk-Z3O53WZR.js.map} +0 -0
- /package/dist/{chunk-KERNN6BC.js.map → chunk-Z5LP6ILP.js.map} +0 -0
- /package/dist/{chunk-5FNZ3G6X.js.map → chunk-Z6EZCN6Z.js.map} +0 -0
- /package/dist/{chunk-JS3S2HVG.js.map → chunk-ZZZ4I455.js.map} +0 -0
- /package/dist/{contradiction-scan-5EJYRKD3.js.map → contradiction-scan-TAGMOUQ2.js.map} +0 -0
- /package/dist/{graph-edge-decay-PVKDKLQK.js.map → embedding-generation-lock.js.map} +0 -0
- /package/dist/{resolution-UYJU5JUA.js.map → embedding-index-storage.js.map} +0 -0
- /package/dist/{state-ITXJKXRE.js.map → extraction-llm-health.js.map} +0 -0
- /package/dist/{first-start-migration-GAT7G733.js.map → first-start-migration-7OATHJKB.js.map} +0 -0
- /package/dist/{tui-55UJMJX7.js.map → graph-edge-decay-MKIRZ762.js.map} +0 -0
- /package/dist/{trace-ZFVRH4GO.js.map → trace-LXXCMZJA.js.map} +0 -0
package/dist/who-knows-cli.js
CHANGED
|
@@ -4,38 +4,38 @@ import {
|
|
|
4
4
|
renderWhoKnows,
|
|
5
5
|
renderWhoKnowsJson,
|
|
6
6
|
renderWhoKnowsText
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-PEBHPCX2.js";
|
|
8
|
+
import "./chunk-6UQFJULG.js";
|
|
9
|
+
import "./chunk-STEOT4DI.js";
|
|
10
10
|
import "./chunk-UHVXE24Y.js";
|
|
11
11
|
import "./chunk-46WM6JX2.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-S7LWX2PQ.js";
|
|
12
|
+
import "./chunk-V4JZCTMK.js";
|
|
13
|
+
import "./chunk-LV5H6FTN.js";
|
|
14
|
+
import "./chunk-4OQET73E.js";
|
|
16
15
|
import "./chunk-T2YX56QI.js";
|
|
17
16
|
import "./chunk-CYEPCZN5.js";
|
|
18
17
|
import "./chunk-T3FMRLWQ.js";
|
|
19
18
|
import "./chunk-7VO6E5UD.js";
|
|
20
|
-
import "./chunk-4O6WRBGE.js";
|
|
21
19
|
import "./chunk-Z4TXB4K7.js";
|
|
20
|
+
import "./chunk-S7LWX2PQ.js";
|
|
21
|
+
import "./chunk-4O6WRBGE.js";
|
|
22
22
|
import "./chunk-GUMZC2BO.js";
|
|
23
23
|
import "./chunk-TFA6HPOA.js";
|
|
24
24
|
import "./chunk-F4TWWUMP.js";
|
|
25
25
|
import "./chunk-72A4L5JJ.js";
|
|
26
26
|
import "./chunk-A7Q43EUZ.js";
|
|
27
27
|
import "./chunk-S2V7RUCL.js";
|
|
28
|
-
import "./chunk-S2HLHAZ4.js";
|
|
29
28
|
import "./chunk-MRPOZBJC.js";
|
|
29
|
+
import "./chunk-S2HLHAZ4.js";
|
|
30
30
|
import "./chunk-DM2T26WE.js";
|
|
31
31
|
import "./chunk-LDXUBPMO.js";
|
|
32
32
|
import "./chunk-FF6N7BXC.js";
|
|
33
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-2DT7PIDZ.js";
|
|
34
34
|
import "./chunk-AAD2ZS6P.js";
|
|
35
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-6O2VUWV6.js";
|
|
36
|
+
import "./chunk-ZIKENA2C.js";
|
|
36
37
|
import "./chunk-3ONXXHQO.js";
|
|
37
38
|
import "./chunk-YXZG5TVN.js";
|
|
38
|
-
import "./chunk-ZIKENA2C.js";
|
|
39
39
|
import "./chunk-345MEMRU.js";
|
|
40
40
|
import "./chunk-SCU65EZI.js";
|
|
41
41
|
import "./chunk-5GINB5LC.js";
|
|
@@ -54,7 +54,7 @@ import "./chunk-IUM3VSHI.js";
|
|
|
54
54
|
import "./chunk-23G5P7TA.js";
|
|
55
55
|
import "./chunk-C64XATK7.js";
|
|
56
56
|
import "./chunk-42JKGUFJ.js";
|
|
57
|
-
import "./chunk-
|
|
57
|
+
import "./chunk-TKC5LZ43.js";
|
|
58
58
|
import "./chunk-I55KAVET.js";
|
|
59
59
|
import "./chunk-L2EXJQJP.js";
|
|
60
60
|
import "./chunk-45GF7Y3V.js";
|
|
@@ -66,25 +66,25 @@ import "./chunk-PJKTFXE2.js";
|
|
|
66
66
|
import "./chunk-W5BIQOAJ.js";
|
|
67
67
|
import "./chunk-Z7L72ZHL.js";
|
|
68
68
|
import "./chunk-4O4TKIXQ.js";
|
|
69
|
-
import "./chunk-
|
|
69
|
+
import "./chunk-5AYUHSAU.js";
|
|
70
70
|
import "./chunk-BT7NVCML.js";
|
|
71
|
-
import "./chunk-
|
|
71
|
+
import "./chunk-PO7NXNGC.js";
|
|
72
72
|
import "./chunk-BJMBJZ2Y.js";
|
|
73
73
|
import "./chunk-UKJAGEXH.js";
|
|
74
74
|
import "./chunk-FP2373TW.js";
|
|
75
75
|
import "./chunk-L272A5QW.js";
|
|
76
|
-
import "./chunk-
|
|
76
|
+
import "./chunk-22DYJLFN.js";
|
|
77
77
|
import "./chunk-ZA53AZND.js";
|
|
78
78
|
import "./chunk-7RJUVTVF.js";
|
|
79
79
|
import "./chunk-AL3UYZ5N.js";
|
|
80
80
|
import "./chunk-RL6NEVXT.js";
|
|
81
81
|
import "./chunk-C7HJ3NEI.js";
|
|
82
|
-
import "./chunk-
|
|
82
|
+
import "./chunk-N4PYB235.js";
|
|
83
83
|
import "./chunk-AW4QUFQF.js";
|
|
84
84
|
import "./chunk-5FVVY2EB.js";
|
|
85
85
|
import "./chunk-FFAZ2XFU.js";
|
|
86
86
|
import "./chunk-PWF4JXKD.js";
|
|
87
|
-
import "./chunk-
|
|
87
|
+
import "./chunk-YBA52OKG.js";
|
|
88
88
|
import "./chunk-PWPIERBM.js";
|
|
89
89
|
import "./chunk-JDSVLVCG.js";
|
|
90
90
|
import "./chunk-5GKPFL3S.js";
|
|
@@ -98,7 +98,7 @@ import "./chunk-P2QRMMVQ.js";
|
|
|
98
98
|
import "./chunk-3MUKQQ7A.js";
|
|
99
99
|
import "./chunk-BTTPKDIL.js";
|
|
100
100
|
import "./chunk-FF4KLI5W.js";
|
|
101
|
-
import "./chunk-
|
|
101
|
+
import "./chunk-MAAL6OZV.js";
|
|
102
102
|
import "./chunk-A6XUJE5D.js";
|
|
103
103
|
import "./chunk-VS2IYZRU.js";
|
|
104
104
|
import "./chunk-KNA3BXXL.js";
|
package/dist/who-knows.js
CHANGED
|
@@ -9,37 +9,37 @@ import {
|
|
|
9
9
|
loadWhoKnowsEntities,
|
|
10
10
|
tokenizeTopic,
|
|
11
11
|
validateWhoKnowsInput
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-6UQFJULG.js";
|
|
13
|
+
import "./chunk-STEOT4DI.js";
|
|
14
14
|
import "./chunk-UHVXE24Y.js";
|
|
15
15
|
import "./chunk-46WM6JX2.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-S7LWX2PQ.js";
|
|
16
|
+
import "./chunk-V4JZCTMK.js";
|
|
17
|
+
import "./chunk-LV5H6FTN.js";
|
|
18
|
+
import "./chunk-4OQET73E.js";
|
|
20
19
|
import "./chunk-T2YX56QI.js";
|
|
21
20
|
import "./chunk-CYEPCZN5.js";
|
|
22
21
|
import "./chunk-T3FMRLWQ.js";
|
|
23
22
|
import "./chunk-7VO6E5UD.js";
|
|
24
|
-
import "./chunk-4O6WRBGE.js";
|
|
25
23
|
import "./chunk-Z4TXB4K7.js";
|
|
24
|
+
import "./chunk-S7LWX2PQ.js";
|
|
25
|
+
import "./chunk-4O6WRBGE.js";
|
|
26
26
|
import "./chunk-GUMZC2BO.js";
|
|
27
27
|
import "./chunk-TFA6HPOA.js";
|
|
28
28
|
import "./chunk-F4TWWUMP.js";
|
|
29
29
|
import "./chunk-72A4L5JJ.js";
|
|
30
30
|
import "./chunk-A7Q43EUZ.js";
|
|
31
31
|
import "./chunk-S2V7RUCL.js";
|
|
32
|
-
import "./chunk-S2HLHAZ4.js";
|
|
33
32
|
import "./chunk-MRPOZBJC.js";
|
|
33
|
+
import "./chunk-S2HLHAZ4.js";
|
|
34
34
|
import "./chunk-DM2T26WE.js";
|
|
35
35
|
import "./chunk-LDXUBPMO.js";
|
|
36
36
|
import "./chunk-FF6N7BXC.js";
|
|
37
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-2DT7PIDZ.js";
|
|
38
38
|
import "./chunk-AAD2ZS6P.js";
|
|
39
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-6O2VUWV6.js";
|
|
40
|
+
import "./chunk-ZIKENA2C.js";
|
|
40
41
|
import "./chunk-3ONXXHQO.js";
|
|
41
42
|
import "./chunk-YXZG5TVN.js";
|
|
42
|
-
import "./chunk-ZIKENA2C.js";
|
|
43
43
|
import "./chunk-345MEMRU.js";
|
|
44
44
|
import "./chunk-SCU65EZI.js";
|
|
45
45
|
import "./chunk-5GINB5LC.js";
|
|
@@ -58,7 +58,7 @@ import "./chunk-IUM3VSHI.js";
|
|
|
58
58
|
import "./chunk-23G5P7TA.js";
|
|
59
59
|
import "./chunk-C64XATK7.js";
|
|
60
60
|
import "./chunk-42JKGUFJ.js";
|
|
61
|
-
import "./chunk-
|
|
61
|
+
import "./chunk-TKC5LZ43.js";
|
|
62
62
|
import "./chunk-I55KAVET.js";
|
|
63
63
|
import "./chunk-L2EXJQJP.js";
|
|
64
64
|
import "./chunk-45GF7Y3V.js";
|
|
@@ -70,25 +70,25 @@ import "./chunk-PJKTFXE2.js";
|
|
|
70
70
|
import "./chunk-W5BIQOAJ.js";
|
|
71
71
|
import "./chunk-Z7L72ZHL.js";
|
|
72
72
|
import "./chunk-4O4TKIXQ.js";
|
|
73
|
-
import "./chunk-
|
|
73
|
+
import "./chunk-5AYUHSAU.js";
|
|
74
74
|
import "./chunk-BT7NVCML.js";
|
|
75
|
-
import "./chunk-
|
|
75
|
+
import "./chunk-PO7NXNGC.js";
|
|
76
76
|
import "./chunk-BJMBJZ2Y.js";
|
|
77
77
|
import "./chunk-UKJAGEXH.js";
|
|
78
78
|
import "./chunk-FP2373TW.js";
|
|
79
79
|
import "./chunk-L272A5QW.js";
|
|
80
|
-
import "./chunk-
|
|
80
|
+
import "./chunk-22DYJLFN.js";
|
|
81
81
|
import "./chunk-ZA53AZND.js";
|
|
82
82
|
import "./chunk-7RJUVTVF.js";
|
|
83
83
|
import "./chunk-AL3UYZ5N.js";
|
|
84
84
|
import "./chunk-RL6NEVXT.js";
|
|
85
85
|
import "./chunk-C7HJ3NEI.js";
|
|
86
|
-
import "./chunk-
|
|
86
|
+
import "./chunk-N4PYB235.js";
|
|
87
87
|
import "./chunk-AW4QUFQF.js";
|
|
88
88
|
import "./chunk-5FVVY2EB.js";
|
|
89
89
|
import "./chunk-FFAZ2XFU.js";
|
|
90
90
|
import "./chunk-PWF4JXKD.js";
|
|
91
|
-
import "./chunk-
|
|
91
|
+
import "./chunk-YBA52OKG.js";
|
|
92
92
|
import "./chunk-PWPIERBM.js";
|
|
93
93
|
import "./chunk-JDSVLVCG.js";
|
|
94
94
|
import "./chunk-5GKPFL3S.js";
|
|
@@ -102,7 +102,7 @@ import "./chunk-P2QRMMVQ.js";
|
|
|
102
102
|
import "./chunk-3MUKQQ7A.js";
|
|
103
103
|
import "./chunk-BTTPKDIL.js";
|
|
104
104
|
import "./chunk-FF4KLI5W.js";
|
|
105
|
-
import "./chunk-
|
|
105
|
+
import "./chunk-MAAL6OZV.js";
|
|
106
106
|
import "./chunk-A6XUJE5D.js";
|
|
107
107
|
import "./chunk-VS2IYZRU.js";
|
|
108
108
|
import "./chunk-KNA3BXXL.js";
|
package/dist/write-envelope.js
CHANGED
|
@@ -12,17 +12,17 @@ import {
|
|
|
12
12
|
isMemoryCategory,
|
|
13
13
|
isSealedMemoryEnvelope,
|
|
14
14
|
sealedWriteToLegacyArgs
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-5AYUHSAU.js";
|
|
16
16
|
import "./chunk-BT7NVCML.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-PO7NXNGC.js";
|
|
18
|
+
import "./chunk-N4PYB235.js";
|
|
19
19
|
import "./chunk-5FVVY2EB.js";
|
|
20
20
|
import "./chunk-FFAZ2XFU.js";
|
|
21
21
|
import "./chunk-JDSVLVCG.js";
|
|
22
22
|
import "./chunk-5GKPFL3S.js";
|
|
23
23
|
import "./chunk-JAKIDQB2.js";
|
|
24
24
|
import "./chunk-P7FMDTKL.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-MAAL6OZV.js";
|
|
26
26
|
import "./chunk-A6XUJE5D.js";
|
|
27
27
|
import "./chunk-VS2IYZRU.js";
|
|
28
28
|
import "./chunk-KNA3BXXL.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remnic/core",
|
|
3
|
-
"version": "9.69.
|
|
3
|
+
"version": "9.69.88",
|
|
4
4
|
"description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -3317,7 +3317,7 @@
|
|
|
3317
3317
|
"core"
|
|
3318
3318
|
],
|
|
3319
3319
|
"peerDependencies": {
|
|
3320
|
-
"@remnic/coding-graph": "^9.69.
|
|
3320
|
+
"@remnic/coding-graph": "^9.69.88"
|
|
3321
3321
|
},
|
|
3322
3322
|
"peerDependenciesMeta": {
|
|
3323
3323
|
"@remnic/coding-graph": {
|
|
@@ -34,6 +34,14 @@ export async function extractionForceFlush(
|
|
|
34
34
|
if (request.deadlineMs !== undefined && (!Number.isFinite(request.deadlineMs) || request.deadlineMs < 0)) {
|
|
35
35
|
throw new EngramAccessInputError("deadlineMs must be a finite non-negative number");
|
|
36
36
|
}
|
|
37
|
+
// `deadlineMs` is a BUDGET from now, not an absolute epoch (issue #3140):
|
|
38
|
+
// callers passing a natural relative value (e.g. 30000) were instantly
|
|
39
|
+
// rejected with `replay extraction deadline exceeded (scope_resolution)`
|
|
40
|
+
// because the raw duration was compared against Date.now(). Convert once
|
|
41
|
+
// here; every phase below and the orchestrator flush keep absolute deadlines.
|
|
42
|
+
const deadlineAt = typeof request.deadlineMs === "number"
|
|
43
|
+
? (request.deadlineMs > 1e11 ? request.deadlineMs : Date.now() + request.deadlineMs)
|
|
44
|
+
: undefined;
|
|
37
45
|
|
|
38
46
|
const authenticatedPrincipal = request.authenticatedPrincipal?.trim();
|
|
39
47
|
throwIfAborted(request.abortSignal, "extraction force-flush aborted");
|
|
@@ -87,7 +95,7 @@ export async function extractionForceFlush(
|
|
|
87
95
|
() => deps.resolveMemoryScopePlan(request),
|
|
88
96
|
{
|
|
89
97
|
abortSignal: request.abortSignal,
|
|
90
|
-
extractionDeadlineMs:
|
|
98
|
+
extractionDeadlineMs: deadlineAt,
|
|
91
99
|
reason: "access_force_flush",
|
|
92
100
|
deadlineStage: "scope_resolution",
|
|
93
101
|
onDeadline: cancelBeforeScopeResolution,
|
|
@@ -107,7 +115,7 @@ export async function extractionForceFlush(
|
|
|
107
115
|
};
|
|
108
116
|
if (request.abortSignal?.aborted) cancelScopedPendingObserveExtractions();
|
|
109
117
|
throwIfAborted(request.abortSignal, "extraction force-flush aborted");
|
|
110
|
-
if (
|
|
118
|
+
if (deadlineAt !== undefined && deadlineAt <= Date.now()) {
|
|
111
119
|
cancelScopedPendingObserveExtractions();
|
|
112
120
|
throw new EngramAccessInputError("extraction force-flush deadline exceeded before buffer drain");
|
|
113
121
|
}
|
|
@@ -119,7 +127,7 @@ export async function extractionForceFlush(
|
|
|
119
127
|
reason: "access_force_flush",
|
|
120
128
|
abortSignal: request.abortSignal,
|
|
121
129
|
failOnExtractionFailure: true,
|
|
122
|
-
extractionDeadlineMs:
|
|
130
|
+
extractionDeadlineMs: deadlineAt,
|
|
123
131
|
writeNamespaceOverride: scope.writeNamespace,
|
|
124
132
|
principalOverride:
|
|
125
133
|
typeof scope.principal === "string" && scope.principal.length > 0 ? scope.principal : undefined,
|
|
@@ -128,7 +136,7 @@ export async function extractionForceFlush(
|
|
|
128
136
|
}),
|
|
129
137
|
{
|
|
130
138
|
abortSignal: request.abortSignal,
|
|
131
|
-
extractionDeadlineMs:
|
|
139
|
+
extractionDeadlineMs: deadlineAt,
|
|
132
140
|
reason: "access_force_flush",
|
|
133
141
|
deadlineStage: "buffer_drain",
|
|
134
142
|
onDeadline: cancelScopedPendingObserveExtractions,
|
|
@@ -154,7 +162,7 @@ export async function extractionForceFlush(
|
|
|
154
162
|
),
|
|
155
163
|
{
|
|
156
164
|
abortSignal: request.abortSignal,
|
|
157
|
-
extractionDeadlineMs:
|
|
165
|
+
extractionDeadlineMs: deadlineAt,
|
|
158
166
|
reason: "access_force_flush",
|
|
159
167
|
deadlineStage: "pending_observe_extraction",
|
|
160
168
|
onDeadline: () => {
|
|
@@ -172,11 +180,11 @@ export async function extractionForceFlush(
|
|
|
172
180
|
() =>
|
|
173
181
|
buffer.clearRetainedTurnsForSession(request.sessionKey, namespacesEnabled ? scope.principal : undefined, {
|
|
174
182
|
abortSignal: request.abortSignal,
|
|
175
|
-
deadlineMs:
|
|
183
|
+
deadlineMs: deadlineAt,
|
|
176
184
|
}),
|
|
177
185
|
{
|
|
178
186
|
abortSignal: request.abortSignal,
|
|
179
|
-
extractionDeadlineMs:
|
|
187
|
+
extractionDeadlineMs: deadlineAt,
|
|
180
188
|
reason: "access_force_flush",
|
|
181
189
|
deadlineStage: "retained_turn_cleanup",
|
|
182
190
|
}
|
|
@@ -63,6 +63,9 @@ export async function respondOfflineSnapshotStream(
|
|
|
63
63
|
sourceId: snapshot.sourceId,
|
|
64
64
|
includeTranscripts: snapshot.includeTranscripts,
|
|
65
65
|
deletions: snapshot.deletions,
|
|
66
|
+
...(snapshot.omittedEmbeddingGenerationDirs
|
|
67
|
+
? { omittedEmbeddingGenerationDirs: snapshot.omittedEmbeddingGenerationDirs }
|
|
68
|
+
: {}),
|
|
66
69
|
}, snapshot.files, requestId);
|
|
67
70
|
}
|
|
68
71
|
|
|
@@ -575,6 +575,7 @@ const TOOL_OUTPUT_SCHEMAS: Readonly<Record<string, Record<string, unknown>>> = {
|
|
|
575
575
|
maintenanceLedgerTail: T_ARRAY,
|
|
576
576
|
qmdProbe: T_OBJECT,
|
|
577
577
|
daemon: T_OBJECT,
|
|
578
|
+
embeddingIndex: T_OBJECT,
|
|
578
579
|
errors: T_ARRAY,
|
|
579
580
|
}),
|
|
580
581
|
dreams_status: objectSchema({ phases: T_OBJECT, windowStart: T_STRING, windowEnd: T_STRING }),
|
package/src/access-mcp.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { sharedContextMcpTools } from "./access-mcp-shared-context-tools.js";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import {
|
|
4
|
-
MCP_ADMIN_OPS_MIGRATED_OPERATIONS,
|
|
4
|
+
MCP_ADMIN_OPS_MIGRATED_OPERATIONS,
|
|
5
|
+
MCP_ADMIN_OPS_TOOLS,
|
|
5
6
|
MCP_GIT_CONTEXT_SCHEMA_PROPS_IGNORED,
|
|
6
7
|
} from "./access-mcp-admin-tools.js";
|
|
7
8
|
import { readFile } from "node:fs/promises";
|
|
@@ -10,7 +11,12 @@ import type { Readable, Writable } from "node:stream";
|
|
|
10
11
|
// (memory_get / memory_search / memory_store) as a side effect; callTool
|
|
11
12
|
// dispatches migrated tools through the registry (issue #1525).
|
|
12
13
|
import { type OperationName, getOperation } from "./access-boundary.js";
|
|
13
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
assertOperationAllowed,
|
|
16
|
+
capabilityAllowsOp,
|
|
17
|
+
enforceNamespaceAllowList,
|
|
18
|
+
tokenCapabilityStore,
|
|
19
|
+
} from "./access-token-capabilities.js";
|
|
14
20
|
import {
|
|
15
21
|
type ActionConfidenceRequest,
|
|
16
22
|
type CapsuleExportRequest,
|
|
@@ -53,9 +59,14 @@ import {
|
|
|
53
59
|
withToolAliases,
|
|
54
60
|
} from "./access-mcp-tool-names.js";
|
|
55
61
|
import { MCP_READ_ONLY_TOOL_SUFFIXES } from "./mcp-read-only-tools.js";
|
|
56
|
-
import { MEETINGS_MCP_TOOLS } from "./meetings/mcp-tools.js";
|
|
62
|
+
import { MEETINGS_MCP_TOOLS } from "./meetings/mcp-tools.js";
|
|
63
|
+
import { DEEP_RECALL_MCP_TOOLS } from "./deep-recall-mcp-tools.js";
|
|
64
|
+
import { RECALL_NAVIGATION_MCP_TOOLS } from "./recall-navigation-mcp-tools.js";
|
|
65
|
+
import { MEMORY_BROWSE_MCP_TOOLS } from "./memory-browse-mcp-tools.js";
|
|
57
66
|
import { WEARABLES_MCP_TOOLS } from "./wearables/mcp-tools.js";
|
|
58
|
-
import { WHO_KNOWS_MCP_TOOLS } from "./who-knows.js";
|
|
67
|
+
import { WHO_KNOWS_MCP_TOOLS } from "./who-knows.js";
|
|
68
|
+
import { LOCATION_MCP_TOOLS } from "./location/mcp-tools.js";
|
|
69
|
+
import { STANDUP_MCP_TOOLS } from "./standup/mcp-tools.js";
|
|
59
70
|
import { RECALL_WHY_MCP_TOOLS } from "./access-recall-diagnostics.js";
|
|
60
71
|
import { PROMOTION_CANDIDATES_MCP_TOOLS } from "./memory-subject.js";
|
|
61
72
|
import { EXTERNAL_WIKI_MCP_TOOLS } from "./external-wiki-mcp-tools.js";
|
|
@@ -170,13 +181,26 @@ export const MCP_MIGRATED_OPERATIONS: Readonly<Record<string, OperationName>> =
|
|
|
170
181
|
// Fully migrated through the strict-schema boundary (#1668).
|
|
171
182
|
"engram.recall": "recall",
|
|
172
183
|
"engram.recall_explain": "recall_explain",
|
|
173
|
-
"engram.set_coding_context": "set_coding_context",
|
|
174
|
-
"engram.
|
|
175
|
-
"engram.
|
|
176
|
-
"engram.
|
|
177
|
-
"engram.
|
|
178
|
-
"engram.
|
|
179
|
-
"engram.
|
|
184
|
+
"engram.set_coding_context": "set_coding_context",
|
|
185
|
+
"engram.recall_tier_explain": "recall_tier_explain",
|
|
186
|
+
"engram.recall_xray": "recall_xray",
|
|
187
|
+
"engram.recall_why": "recall_why",
|
|
188
|
+
"engram.who_knows": "who_knows",
|
|
189
|
+
"engram.promotion_candidates": "promotion_candidates",
|
|
190
|
+
"engram.wearables_status": "wearables_status",
|
|
191
|
+
"engram.wearables_sync": "wearables_sync",
|
|
192
|
+
"engram.location_status": "location_status",
|
|
193
|
+
"engram.location_check": "location_check",
|
|
194
|
+
"engram.location_sync": "location_sync",
|
|
195
|
+
"engram.location_backfill": "location_backfill",
|
|
196
|
+
"engram.location_day": "location_day",
|
|
197
|
+
"engram.transcript_day": "transcript_day",
|
|
198
|
+
"engram.transcript_search": "transcript_search",
|
|
199
|
+
"engram.transcript_memories": "transcript_memories",
|
|
200
|
+
"engram.meetings_list": "meetings_list",
|
|
201
|
+
"engram.meetings_get": "meetings_get",
|
|
202
|
+
"engram.meetings_build": "meetings_build",
|
|
203
|
+
"engram.standup": "standup",
|
|
180
204
|
"engram.action_confidence": "action_confidence",
|
|
181
205
|
"engram.chatgpt_memory_inspector": "chatgpt_memory_inspector",
|
|
182
206
|
"engram.day_summary": "day_summary",
|
|
@@ -187,7 +211,8 @@ export const MCP_MIGRATED_OPERATIONS: Readonly<Record<string, OperationName>> =
|
|
|
187
211
|
"engram.entity_synthesis_run": "entity_synthesis_run",
|
|
188
212
|
"engram.procedure_mining_run": "procedure_mining_run",
|
|
189
213
|
"engram.pattern_reinforcement_run": "pattern_reinforcement_run",
|
|
190
|
-
"engram.procedural_stats": "procedural_stats",
|
|
214
|
+
"engram.procedural_stats": "procedural_stats",
|
|
215
|
+
"engram.procedure_library_maintenance": "procedure_library_maintenance",
|
|
191
216
|
"engram.memory_timeline": "memory_timeline",
|
|
192
217
|
"engram.suggestion_submit": "suggestion_submit",
|
|
193
218
|
"engram.entity_get": "entity_get",
|
|
@@ -249,7 +274,14 @@ export const MCP_MIGRATED_OPERATIONS: Readonly<Record<string, OperationName>> =
|
|
|
249
274
|
"engram.console_state": "console_state",
|
|
250
275
|
"engram.dreams_status": "dreams_status",
|
|
251
276
|
"engram.dreams_run": "dreams_run",
|
|
252
|
-
...SUPPORT_PASSPORT_MCP_MIGRATED_OPERATIONS,
|
|
277
|
+
...SUPPORT_PASSPORT_MCP_MIGRATED_OPERATIONS,
|
|
278
|
+
...MCP_ADMIN_OPS_MIGRATED_OPERATIONS,
|
|
279
|
+
"engram.deep_recall": "deep_recall",
|
|
280
|
+
"engram.memory_expand": "memory_expand",
|
|
281
|
+
"engram.memory_traverse": "memory_traverse",
|
|
282
|
+
"engram.memory_ls": "memory_ls",
|
|
283
|
+
"engram.memory_tree": "memory_tree",
|
|
284
|
+
"engram.memory_find": "memory_find",
|
|
253
285
|
"engram.memory_chat": "chat_message",
|
|
254
286
|
};
|
|
255
287
|
|
|
@@ -570,7 +602,8 @@ export class EngramMcpServer {
|
|
|
570
602
|
},
|
|
571
603
|
stateView: {
|
|
572
604
|
type: "boolean",
|
|
573
|
-
description:
|
|
605
|
+
description:
|
|
606
|
+
"Opt in to state-aware recall views (issue #1952); ORs with the recallStateViews config flag.",
|
|
574
607
|
},
|
|
575
608
|
},
|
|
576
609
|
required: ["query"],
|
|
@@ -690,7 +723,15 @@ export class EngramMcpServer {
|
|
|
690
723
|
additionalProperties: false,
|
|
691
724
|
},
|
|
692
725
|
},
|
|
693
|
-
...WEARABLES_MCP_TOOLS,
|
|
726
|
+
...WEARABLES_MCP_TOOLS,
|
|
727
|
+
...MEETINGS_MCP_TOOLS,
|
|
728
|
+
...WHO_KNOWS_MCP_TOOLS,
|
|
729
|
+
...PROMOTION_CANDIDATES_MCP_TOOLS,
|
|
730
|
+
...LOCATION_MCP_TOOLS,
|
|
731
|
+
...STANDUP_MCP_TOOLS,
|
|
732
|
+
...DEEP_RECALL_MCP_TOOLS,
|
|
733
|
+
...(service.recallNavigationEnabled !== false ? RECALL_NAVIGATION_MCP_TOOLS : []),
|
|
734
|
+
...MEMORY_BROWSE_MCP_TOOLS,
|
|
694
735
|
...RECALL_WHY_MCP_TOOLS,
|
|
695
736
|
...(service.supportPassportEnabled ? SUPPORT_PASSPORT_MCP_TOOLS : []),
|
|
696
737
|
{
|
|
@@ -1089,7 +1130,11 @@ export class EngramMcpServer {
|
|
|
1089
1130
|
namespace: { type: "string" },
|
|
1090
1131
|
cwd: { type: "string", description: "Working directory for auto git-context resolution." },
|
|
1091
1132
|
projectTag: { type: "string", description: "Project tag for non-git project scoping." },
|
|
1092
|
-
deadlineMs: {
|
|
1133
|
+
deadlineMs: {
|
|
1134
|
+
type: "number",
|
|
1135
|
+
minimum: 0,
|
|
1136
|
+
description: "Budget in milliseconds from now; the flush aborts when it elapses.",
|
|
1137
|
+
},
|
|
1093
1138
|
},
|
|
1094
1139
|
required: ["sessionKey"],
|
|
1095
1140
|
additionalProperties: false,
|
|
@@ -1375,7 +1420,12 @@ export class EngramMcpServer {
|
|
|
1375
1420
|
description:
|
|
1376
1421
|
"QMD collection. With namespaces enabled, omitted, base, and 'global' searches stay scoped to readable namespaces; namespace-derived collections require matching namespace access.",
|
|
1377
1422
|
},
|
|
1378
|
-
mode: {
|
|
1423
|
+
mode: {
|
|
1424
|
+
type: "string",
|
|
1425
|
+
enum: ["search", "hybrid", "bm25", "vector"],
|
|
1426
|
+
description:
|
|
1427
|
+
"Ranking mode; omitted uses the backend default. Not supported with 'collection' on a flat corpus.",
|
|
1428
|
+
},
|
|
1379
1429
|
},
|
|
1380
1430
|
required: ["query"],
|
|
1381
1431
|
additionalProperties: false,
|
|
@@ -1587,9 +1637,16 @@ export class EngramMcpServer {
|
|
|
1587
1637
|
type: "object",
|
|
1588
1638
|
properties: {
|
|
1589
1639
|
since: { type: "string", description: "Lookback window (e.g. 'yesterday', '3d', '1w', '24h')." },
|
|
1590
|
-
focus: {
|
|
1640
|
+
focus: {
|
|
1641
|
+
type: "string",
|
|
1642
|
+
description:
|
|
1643
|
+
"Optional focus filter (e.g. 'person:Jane Doe', 'project:remnic-core', 'topic:retrieval').",
|
|
1644
|
+
},
|
|
1591
1645
|
namespace: { type: "string" },
|
|
1592
|
-
includeLocation: {
|
|
1646
|
+
includeLocation: {
|
|
1647
|
+
type: "boolean",
|
|
1648
|
+
description: "Opt-in: append matched location place names (location gates apply).",
|
|
1649
|
+
},
|
|
1593
1650
|
format: { type: "string", enum: ["markdown", "json"] },
|
|
1594
1651
|
maxFollowups: {
|
|
1595
1652
|
type: "number",
|
|
@@ -2256,9 +2313,10 @@ export class EngramMcpServer {
|
|
|
2256
2313
|
// token's ops allow-list via the same map callTool uses. Unrestricted
|
|
2257
2314
|
// tokens (ops axis absent) see everything; unmapped tool ⇒ "" ⇒ hidden.
|
|
2258
2315
|
const caps = tokenCapabilityStore.getStore();
|
|
2259
|
-
const tools =
|
|
2260
|
-
|
|
2261
|
-
|
|
2316
|
+
const tools =
|
|
2317
|
+
caps?.ops === undefined
|
|
2318
|
+
? this.tools
|
|
2319
|
+
: this.tools.filter((t) => capabilityAllowsOp(caps, MCP_MIGRATED_OPERATIONS[toLegacyToolName(t.name)] ?? ""));
|
|
2262
2320
|
return { jsonrpc: "2.0", id, result: { tools } };
|
|
2263
2321
|
}
|
|
2264
2322
|
if (method === "resources/list") {
|
|
@@ -2370,7 +2428,7 @@ export class EngramMcpServer {
|
|
|
2370
2428
|
options?.enforceWriteQuota,
|
|
2371
2429
|
options?.recordWriteCommit,
|
|
2372
2430
|
options?.sourceConnector,
|
|
2373
|
-
options?.abortSignal
|
|
2431
|
+
options?.abortSignal
|
|
2374
2432
|
);
|
|
2375
2433
|
if (isReadOnlyToolName(name)) {
|
|
2376
2434
|
throwMcpAbort(options?.abortSignal, "MCP request aborted before response");
|
|
@@ -2588,7 +2646,7 @@ export class EngramMcpServer {
|
|
|
2588
2646
|
enforceWriteQuota?: () => void | Promise<void>,
|
|
2589
2647
|
recordWriteCommit?: () => void,
|
|
2590
2648
|
sourceConnector?: string,
|
|
2591
|
-
abortSignal?: AbortSignal
|
|
2649
|
+
abortSignal?: AbortSignal
|
|
2592
2650
|
): Promise<unknown> {
|
|
2593
2651
|
const migrated = MCP_MIGRATED_OPERATIONS[toLegacyToolName(name)];
|
|
2594
2652
|
if (!migrated) {
|
|
@@ -2604,8 +2662,7 @@ export class EngramMcpServer {
|
|
|
2604
2662
|
const visible = this.tools
|
|
2605
2663
|
.filter(
|
|
2606
2664
|
(t) =>
|
|
2607
|
-
caps?.ops === undefined
|
|
2608
|
-
|| capabilityAllowsOp(caps, MCP_MIGRATED_OPERATIONS[toLegacyToolName(t.name)] ?? ""),
|
|
2665
|
+
caps?.ops === undefined || capabilityAllowsOp(caps, MCP_MIGRATED_OPERATIONS[toLegacyToolName(t.name)] ?? "")
|
|
2609
2666
|
)
|
|
2610
2667
|
.map((t) => t.name);
|
|
2611
2668
|
throw new Error(unknownToolError(name, visible));
|
|
@@ -2641,7 +2698,7 @@ export class EngramMcpServer {
|
|
|
2641
2698
|
enforceNamespaceAllowList(
|
|
2642
2699
|
tokenCapabilityStore.getStore(),
|
|
2643
2700
|
scope?.namespace,
|
|
2644
|
-
this.service.configRef?.defaultNamespace
|
|
2701
|
+
this.service.configRef?.defaultNamespace
|
|
2645
2702
|
);
|
|
2646
2703
|
}
|
|
2647
2704
|
const chatResult = await processChatMessage({
|
|
@@ -2689,7 +2746,12 @@ export class EngramMcpServer {
|
|
|
2689
2746
|
service: this.service,
|
|
2690
2747
|
authenticatedPrincipal: effectivePrincipal,
|
|
2691
2748
|
...(enforceWriteQuota || recordWriteCommit
|
|
2692
|
-
? {
|
|
2749
|
+
? {
|
|
2750
|
+
hooks: {
|
|
2751
|
+
...(enforceWriteQuota ? { enforceWriteQuota } : {}),
|
|
2752
|
+
...(recordWriteCommit ? { recordWriteCommit } : {}),
|
|
2753
|
+
},
|
|
2754
|
+
}
|
|
2693
2755
|
: {}),
|
|
2694
2756
|
...(sourceConnector ? { sourceConnector } : {}),
|
|
2695
2757
|
...(abortSignal ? { abortSignal } : {}),
|
|
@@ -511,11 +511,11 @@ test("health surfaces extraction liveness as degraded when the buffer is non-emp
|
|
|
511
511
|
assert.equal(health.extraction.oldestBufferedTurnAgeMs, 10_000);
|
|
512
512
|
assert.ok(
|
|
513
513
|
health.extraction.degradedReason !== null && health.extraction.degradedReason.length > 0,
|
|
514
|
-
"degraded reason is populated"
|
|
514
|
+
"degraded reason is populated"
|
|
515
515
|
);
|
|
516
516
|
const scopedHealth = await tokenCapabilityStore.run(
|
|
517
517
|
{ version: TOKEN_CAPABILITIES_VERSION, namespaces: ["default"] },
|
|
518
|
-
() => service.health()
|
|
518
|
+
() => service.health()
|
|
519
519
|
);
|
|
520
520
|
assert.equal(scopedHealth.extraction.lastExtractionAt, null);
|
|
521
521
|
assert.equal(scopedHealth.extraction.degraded, true);
|
|
@@ -562,7 +562,7 @@ test("health reports extraction liveness ok when the buffer is empty (nothing to
|
|
|
562
562
|
assert.equal(health.extraction.lastExtractionAt, oldTs);
|
|
563
563
|
const scopedHealth = await tokenCapabilityStore.run(
|
|
564
564
|
{ version: TOKEN_CAPABILITIES_VERSION, namespaces: ["default"] },
|
|
565
|
-
() => service.health()
|
|
565
|
+
() => service.health()
|
|
566
566
|
);
|
|
567
567
|
assert.equal(scopedHealth.extraction.degraded, health.extraction.degraded);
|
|
568
568
|
assert.equal(scopedHealth.extraction.lastExtractionAt, null);
|
|
@@ -685,7 +685,7 @@ test("health reports extraction liveness degraded when the buffer read fails (§
|
|
|
685
685
|
assert.match(health.extraction.degradedReason ?? "", /buffer file corrupt/);
|
|
686
686
|
const scopedHealth = await tokenCapabilityStore.run(
|
|
687
687
|
{ version: TOKEN_CAPABILITIES_VERSION, namespaces: ["default"] },
|
|
688
|
-
() => service.health()
|
|
688
|
+
() => service.health()
|
|
689
689
|
);
|
|
690
690
|
assert.equal(scopedHealth.extraction.lastExtractionAt, null);
|
|
691
691
|
assert.match(scopedHealth.extraction.degradedReason ?? "", /extraction buffer unreadable/);
|
|
@@ -722,7 +722,7 @@ test("health reports extraction liveness degraded when the watermark (meta) read
|
|
|
722
722
|
assert.match(health.extraction.degradedReason ?? "", /meta\.json unreadable/);
|
|
723
723
|
const scopedHealth = await tokenCapabilityStore.run(
|
|
724
724
|
{ version: TOKEN_CAPABILITIES_VERSION, namespaces: ["default"] },
|
|
725
|
-
() => service.health()
|
|
725
|
+
() => service.health()
|
|
726
726
|
);
|
|
727
727
|
assert.equal(scopedHealth.extraction.lastExtractionAt, null);
|
|
728
728
|
assert.match(scopedHealth.extraction.degradedReason ?? "", /extraction watermark unreadable/);
|
|
@@ -731,3 +731,39 @@ test("health reports extraction liveness degraded when the watermark (meta) read
|
|
|
731
731
|
await rm(memoryDir, { recursive: true, force: true });
|
|
732
732
|
}
|
|
733
733
|
});
|
|
734
|
+
|
|
735
|
+
test("health surfaces extraction-LLM availability and last failure reason (#3140)", async () => {
|
|
736
|
+
const {
|
|
737
|
+
getExtractionLlmHealth,
|
|
738
|
+
recordExtractionLlmFailure,
|
|
739
|
+
recordExtractionLlmSuccess,
|
|
740
|
+
resetExtractionLlmHealthForTests,
|
|
741
|
+
} = await import("./extraction-llm-health.js");
|
|
742
|
+
const memoryDir = await mkdtemp(path.join(os.tmpdir(), "remnic-health-llm-"));
|
|
743
|
+
const makeService = () =>
|
|
744
|
+
new EngramAccessService({
|
|
745
|
+
config: parseConfig({ memoryDir }),
|
|
746
|
+
qmd: makeQmd({}),
|
|
747
|
+
async getStorage() {
|
|
748
|
+
return { dir: memoryDir };
|
|
749
|
+
},
|
|
750
|
+
} as unknown as Orchestrator);
|
|
751
|
+
try {
|
|
752
|
+
resetExtractionLlmHealthForTests();
|
|
753
|
+
recordExtractionLlmFailure("no_models", Date.now());
|
|
754
|
+
const unhealthy = await makeService().health();
|
|
755
|
+
assert.equal(unhealthy.extraction.llmReachable, false);
|
|
756
|
+
assert.equal(unhealthy.extraction.lastFailureReason, "no_models");
|
|
757
|
+
assert.equal(unhealthy.extraction.lastFailureAt, getExtractionLlmHealth().lastFailureAt);
|
|
758
|
+
|
|
759
|
+
// A recovered extractor reads reachable with no stale reason.
|
|
760
|
+
recordExtractionLlmSuccess();
|
|
761
|
+
const healthy = await makeService().health();
|
|
762
|
+
assert.equal(healthy.extraction.llmReachable, true);
|
|
763
|
+
assert.equal(healthy.extraction.lastFailureReason, null);
|
|
764
|
+
assert.equal(healthy.extraction.lastFailureAt, null);
|
|
765
|
+
} finally {
|
|
766
|
+
resetExtractionLlmHealthForTests();
|
|
767
|
+
await rm(memoryDir, { recursive: true, force: true });
|
|
768
|
+
}
|
|
769
|
+
});
|
|
@@ -20,6 +20,7 @@ export interface EngramAccessExtractionForceFlushRequest extends CodingScopedWri
|
|
|
20
20
|
sessionKey: string;
|
|
21
21
|
namespace?: string;
|
|
22
22
|
authenticatedPrincipal?: string;
|
|
23
|
+
/** Budget in milliseconds FROM NOW (not an absolute epoch); converted at the force-flush entry (#3140). */
|
|
23
24
|
deadlineMs?: number;
|
|
24
25
|
abortSignal?: AbortSignal;
|
|
25
26
|
/** Internal HTTP hook invoked at the durable commit boundary. */
|