@remnic/core 10.0.38 → 10.0.40
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 +73 -73
- package/dist/access-audit.js +2 -2
- package/dist/access-authorization-probe.js +74 -74
- package/dist/access-boundary.js +73 -73
- package/dist/access-citation-namespace.js +2 -2
- package/dist/access-cli.js +162 -161
- package/dist/access-cli.js.map +1 -1
- package/dist/access-extraction-force-flush.js +73 -73
- package/dist/access-http-briefing.js +74 -74
- package/dist/access-http-query.js +75 -75
- package/dist/access-http.js +98 -98
- package/dist/access-identity-continuity-surface.js +73 -73
- package/dist/access-lcm-surface.js +73 -73
- package/dist/access-mcp.js +87 -87
- package/dist/access-namespace-preflight.js +73 -73
- package/dist/access-observe-write-category.js +15 -15
- package/dist/access-observe-write-surface.js +73 -73
- package/dist/access-offline-manifest.js +12 -12
- package/dist/access-operations-batch.js +77 -77
- package/dist/access-operations.js +84 -84
- package/dist/access-recall-concurrency.js +73 -73
- package/dist/access-recall-diagnostics.js +2 -2
- package/dist/access-recall-response.js +73 -73
- package/dist/access-recall-surface.js +73 -73
- package/dist/access-schema.js +10 -10
- package/dist/access-service.d.ts +2 -2
- package/dist/access-service.d.ts.map +1 -1
- package/dist/access-service.js +73 -73
- package/dist/access-surface-catalog.js +75 -75
- package/dist/active-recall.js +29 -29
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/{auto-sync-432USQDH.js → auto-sync-BNCBMU6H.js} +7 -7
- package/dist/briefing.js +19 -19
- package/dist/buffer-types.d.ts +59 -0
- package/dist/buffer-types.d.ts.map +1 -0
- package/dist/buffer-types.js +1 -0
- package/dist/buffer.d.ts +14 -22
- package/dist/buffer.d.ts.map +1 -1
- package/dist/buffer.js +11 -11
- package/dist/calibration.js +2 -2
- package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-GWVG7LGC.js} +2 -2
- package/dist/causal-behavior.js +2 -2
- package/dist/causal-chain.js +2 -2
- package/dist/causal-consolidation.js +22 -22
- package/dist/causal-retrieval.js +2 -2
- package/dist/causal-trajectory-graph.js +2 -2
- package/dist/causal-trajectory.js +1 -1
- package/dist/{chunk-MKE5DP3S.js → chunk-23ZMQONL.js} +2 -2
- package/dist/{chunk-3K5IEJTK.js → chunk-2AV2U2SZ.js} +3 -3
- package/dist/{chunk-HJ3UTGIW.js → chunk-2JNBPOZ2.js} +3 -3
- package/dist/{chunk-5ANUG4JZ.js → chunk-2T6KEOUL.js} +2 -2
- package/dist/{chunk-EEOYF3IB.js → chunk-3RJDYZJE.js} +2 -2
- package/dist/{chunk-P5CUEB2Q.js → chunk-4QLKVZH6.js} +8 -8
- package/dist/{chunk-XTBEXZFN.js → chunk-5SF7JOJB.js} +4 -4
- package/dist/{chunk-53BLBDV6.js → chunk-5TRU6QQC.js} +2 -2
- package/dist/{chunk-DKHX2FHI.js → chunk-64WHWIPL.js} +2 -2
- package/dist/{chunk-TVIGN3XZ.js → chunk-6FRFVIKC.js} +10 -10
- package/dist/{chunk-JIA435P3.js → chunk-6ITNEPJO.js} +2 -2
- package/dist/{chunk-WEK3OUGO.js → chunk-6X3J4NLZ.js} +10 -5
- package/dist/chunk-6X3J4NLZ.js.map +1 -0
- package/dist/{chunk-FGEY2AGV.js → chunk-7BCYAJKP.js} +2 -2
- package/dist/{chunk-PSQ2P2T3.js → chunk-7XZ7TOLQ.js} +3 -3
- package/dist/{chunk-6JEEY42N.js → chunk-AER3HD3B.js} +2 -2
- package/dist/{chunk-POGPI5GR.js → chunk-AY6LO7GD.js} +2 -2
- package/dist/{chunk-HXFIILGF.js → chunk-BFPF5N3H.js} +4 -4
- package/dist/{chunk-WCBLPKG3.js → chunk-BIYVUPC6.js} +172 -143
- package/dist/chunk-BIYVUPC6.js.map +1 -0
- package/dist/{chunk-KQAFEZQX.js → chunk-BUKK5SWA.js} +2 -2
- package/dist/{chunk-LHBOFROT.js → chunk-CHNZPOWX.js} +4 -3
- package/dist/{chunk-LHBOFROT.js.map → chunk-CHNZPOWX.js.map} +1 -1
- package/dist/{chunk-6F5BGIAF.js → chunk-CNAL35D5.js} +3 -3
- package/dist/{chunk-YC2C67F7.js → chunk-CRXGQRNA.js} +3 -3
- package/dist/{chunk-WRDFYSUC.js → chunk-CZVNOTLR.js} +2 -2
- package/dist/{chunk-VPO53QMG.js → chunk-D6DOLQYK.js} +2 -2
- package/dist/{chunk-RGKXF4W3.js → chunk-E5IEI2MR.js} +2 -2
- package/dist/{chunk-Z2T5BPOZ.js → chunk-EIYJK7OD.js} +2 -2
- package/dist/{chunk-FRAL3EU4.js → chunk-EKPRLTAE.js} +2 -2
- package/dist/{chunk-MCPSMWUC.js → chunk-EPEDMEHO.js} +10 -10
- package/dist/{chunk-MCPSMWUC.js.map → chunk-EPEDMEHO.js.map} +1 -1
- package/dist/{chunk-TYGLV6ZG.js → chunk-EYGOM6AI.js} +2 -2
- package/dist/{chunk-TYGLV6ZG.js.map → chunk-EYGOM6AI.js.map} +1 -1
- package/dist/{chunk-I75BWXRZ.js → chunk-F2RDRE7M.js} +2 -2
- package/dist/{chunk-2AKIVSHP.js → chunk-FAKRTS3Y.js} +2 -2
- package/dist/{chunk-MZWHIAOL.js → chunk-FC3ZFEXF.js} +2 -2
- package/dist/{chunk-3PLAL2KP.js → chunk-FJ264QBP.js} +17 -9
- package/dist/chunk-FJ264QBP.js.map +1 -0
- package/dist/{chunk-7VFNGQ4V.js → chunk-FLDXEJFX.js} +2 -2
- package/dist/{chunk-TYLNWE4D.js → chunk-FNEYSTB6.js} +2 -2
- package/dist/{chunk-XHX67LX6.js → chunk-FPHU6KVI.js} +2 -2
- package/dist/{chunk-JH4FCVWJ.js → chunk-G6OFEGUR.js} +2 -2
- package/dist/{chunk-WCIDCJOQ.js → chunk-GAUS4XGN.js} +3 -3
- package/dist/{chunk-SZPPCEYT.js → chunk-GDOI4U4D.js} +2 -2
- package/dist/{chunk-63YPKHAU.js → chunk-GLB6VV3J.js} +2 -2
- package/dist/{chunk-3XVBGGF3.js → chunk-GRN4BVPM.js} +2 -2
- package/dist/{chunk-ZAP7BKTZ.js → chunk-GZMHBRIR.js} +6 -6
- package/dist/{chunk-645WOU5I.js → chunk-H7BZBSP6.js} +4 -4
- package/dist/{chunk-TXP7Q7T5.js → chunk-HN35OH2C.js} +2 -2
- package/dist/{chunk-SWZOAQUM.js → chunk-HSNV4CSW.js} +57 -57
- package/dist/{chunk-GFYFKXWZ.js → chunk-HUDPXTXW.js} +2 -2
- package/dist/{chunk-C2KOW2UQ.js → chunk-I7CWAJHX.js} +2 -2
- package/dist/{chunk-L2JQSG5M.js → chunk-I7TR2OCU.js} +2 -2
- package/dist/{chunk-5DCS4C4S.js → chunk-ICTJOOWZ.js} +4 -4
- package/dist/{chunk-NH6GZEQN.js → chunk-IF6EG22P.js} +10 -10
- package/dist/chunk-IF6EG22P.js.map +1 -0
- package/dist/{chunk-STM4T335.js → chunk-IJH6METJ.js} +2 -2
- package/dist/{chunk-6SYS5YX3.js → chunk-IJJWM2ZA.js} +2 -2
- package/dist/{chunk-3AODCBKX.js → chunk-IWDFHVPJ.js} +6 -6
- package/dist/{chunk-XHVO3CGX.js → chunk-JGS55BAS.js} +53 -2
- package/dist/chunk-JGS55BAS.js.map +1 -0
- package/dist/{chunk-L7PGPH4E.js → chunk-JJSMSS45.js} +2 -2
- package/dist/{chunk-74AY3S7U.js → chunk-JNLYHJG7.js} +4 -4
- package/dist/{chunk-OLH4XCLU.js → chunk-JXQTECMU.js} +2 -2
- package/dist/{chunk-6QOL4G76.js → chunk-KQXRVELF.js} +2 -2
- package/dist/{chunk-PJRKLB4Z.js → chunk-L5PM7B3I.js} +16 -2
- package/dist/{chunk-PJRKLB4Z.js.map → chunk-L5PM7B3I.js.map} +1 -1
- package/dist/{chunk-VGRM43X6.js → chunk-LB6HIXQC.js} +2 -2
- package/dist/{chunk-N7DVBHU3.js → chunk-LR7RW4T6.js} +3 -3
- package/dist/{chunk-AYBAC2N4.js → chunk-LWIU5BMA.js} +3 -3
- package/dist/{chunk-FZVZYU5C.js → chunk-LXN737FX.js} +2 -2
- package/dist/{chunk-7ZRRJ6RG.js → chunk-MGYZENUY.js} +2 -2
- package/dist/{chunk-YQ6SLFNZ.js → chunk-MPJDQC4G.js} +3 -3
- package/dist/{chunk-7HXZOWTR.js → chunk-N3PUGD7E.js} +2 -2
- package/dist/{chunk-EGNONTVT.js → chunk-NBEM5QEH.js} +6 -6
- package/dist/{chunk-QO5KDQGG.js → chunk-NFJWB27H.js} +20 -18
- package/dist/chunk-NFJWB27H.js.map +1 -0
- package/dist/{chunk-JF3MEIHO.js → chunk-O67H7OXJ.js} +4 -4
- package/dist/{chunk-OLHN4ZNT.js → chunk-ONIVKGNC.js} +3 -3
- package/dist/{chunk-2NLLXCJG.js → chunk-OWHERGF2.js} +2 -2
- package/dist/{chunk-I73ZSORJ.js → chunk-OXSTKCYK.js} +4 -4
- package/dist/{chunk-UFM3PJDT.js → chunk-PARM6OYL.js} +1 -1
- package/dist/chunk-PARM6OYL.js.map +1 -0
- package/dist/{chunk-VSSQIBVU.js → chunk-PJXSBXEC.js} +2 -2
- package/dist/{chunk-4B37KNMP.js → chunk-PW63SXFM.js} +2 -2
- package/dist/{chunk-TPKB7T6Z.js → chunk-Q6UZREJK.js} +2 -2
- package/dist/{chunk-X247CYL6.js → chunk-Q77SLBWT.js} +4 -4
- package/dist/{chunk-TAEJ2MRR.js → chunk-QFD7OANX.js} +62 -62
- package/dist/chunk-QFD7OANX.js.map +1 -0
- package/dist/{chunk-5K23NQRI.js → chunk-QGNZ5QPV.js} +2 -2
- package/dist/{chunk-UJDTXWMT.js → chunk-QIMGULGN.js} +2 -2
- package/dist/{chunk-E24RUQEN.js → chunk-QNIYL5SK.js} +2 -2
- package/dist/{chunk-KOY25HUB.js → chunk-QYAXMXOB.js} +2 -2
- package/dist/{chunk-J7G656MY.js → chunk-R42VUN5V.js} +4 -4
- package/dist/{chunk-LOMSBYNS.js → chunk-RPHCSMTQ.js} +309 -106
- package/dist/chunk-RPHCSMTQ.js.map +1 -0
- package/dist/{chunk-AYXRK264.js → chunk-RROFIAYI.js} +9 -9
- package/dist/{chunk-YYGZ4EIY.js → chunk-RUAIO5UA.js} +2 -2
- package/dist/{chunk-E5PVMB3I.js → chunk-SDXBR5QO.js} +2 -2
- package/dist/{chunk-OKKBOTRA.js → chunk-SLVR3U4E.js} +2 -2
- package/dist/{chunk-CUWOSRCS.js → chunk-SUKPM6DV.js} +2 -2
- package/dist/{chunk-TDCR6PQL.js → chunk-TWRPWJJT.js} +2 -2
- package/dist/{chunk-6DTIYAAN.js → chunk-UGV256H3.js} +2 -2
- package/dist/{chunk-DG4H56SK.js → chunk-UIK3U36O.js} +2 -2
- package/dist/{chunk-KOAVX2IT.js → chunk-UKIIAEJF.js} +2 -2
- package/dist/{chunk-XLEP7SS3.js → chunk-UMSH4I3E.js} +2 -2
- package/dist/{chunk-X7Y7WX73.js → chunk-UVYI6VIX.js} +1 -1
- package/dist/chunk-VA3GNAWQ.js +58 -0
- package/dist/chunk-VA3GNAWQ.js.map +1 -0
- package/dist/{chunk-4P4VLPGB.js → chunk-VECRSYQG.js} +1 -1
- package/dist/{chunk-GGI6FLO6.js → chunk-VHBGJAYC.js} +2 -2
- package/dist/{chunk-NMKETOAX.js → chunk-VSHWPOUB.js} +2 -2
- package/dist/{chunk-VC3X7XP3.js → chunk-VTZSIG6O.js} +2 -2
- package/dist/{chunk-UBN5AOLT.js → chunk-W5EO4USJ.js} +2 -2
- package/dist/{chunk-Y7427SL7.js → chunk-WCGJK4NQ.js} +4 -4
- package/dist/{chunk-4IZ6AC2U.js → chunk-WJMAWDAU.js} +2 -2
- package/dist/{chunk-JH2ALMPR.js → chunk-WR5POHQ3.js} +2 -2
- package/dist/{chunk-EHIKY2IA.js → chunk-WU5WTCH5.js} +2 -2
- package/dist/{chunk-QKXPOLQD.js → chunk-WUBGMV3G.js} +6 -6
- package/dist/{chunk-FKTMWDN2.js → chunk-WUL6LDJ4.js} +2 -2
- package/dist/{chunk-5UPOKIFP.js → chunk-XBHUMPIQ.js} +12 -12
- package/dist/{chunk-Y5ZHZKZD.js → chunk-XJ77IOAD.js} +2 -2
- package/dist/{chunk-U7HJBODU.js → chunk-XKTHJHSQ.js} +5 -5
- package/dist/{chunk-FQFMLOAC.js → chunk-XLUMO5H2.js} +20 -20
- package/dist/chunk-XLUMO5H2.js.map +1 -0
- package/dist/{chunk-JFI3ATK4.js → chunk-XMYWYJM2.js} +2 -2
- package/dist/{chunk-64S6X4IU.js → chunk-XTN54NML.js} +4 -4
- package/dist/{chunk-CVMAOPAH.js → chunk-XXBCUIYQ.js} +10 -10
- package/dist/{chunk-QOUKZ2N3.js → chunk-XXW3P3RX.js} +2 -2
- package/dist/{chunk-RWRHGE75.js → chunk-Y473XFTD.js} +2 -2
- package/dist/{chunk-VGFNTY3Y.js → chunk-YFXRLRKP.js} +2 -2
- package/dist/{chunk-DAOMWGO2.js → chunk-ZX5N5D6M.js} +4 -4
- package/dist/cli.js +121 -121
- package/dist/coding/export-okf-codegraph.js +20 -20
- package/dist/coding/pre-action-gate.js +2 -2
- package/dist/compounding/engine.js +21 -21
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +29 -29
- package/dist/connectors/codex-materialize-runner.js +19 -19
- package/dist/connectors/index.js +19 -19
- package/dist/contradiction/index.js +5 -5
- package/dist/convergence-refresh.js +21 -21
- package/dist/corpus-watermark.js +21 -21
- package/dist/deep-recall-http-glue.js +11 -11
- package/dist/deep-recall.js +2 -2
- package/dist/entity-retrieval.js +20 -20
- package/dist/event-order-recall.js +2 -2
- package/dist/explicit-capture.js +6 -6
- package/dist/external-wiki-access.js +74 -74
- package/dist/extraction-error-classification.d.ts +15 -0
- package/dist/extraction-error-classification.d.ts.map +1 -1
- package/dist/extraction-error-classification.js +7 -3
- package/dist/extraction-window-drain.d.ts +48 -0
- package/dist/extraction-window-drain.d.ts.map +1 -0
- package/dist/extraction-window-drain.js +14 -0
- package/dist/extraction.js +28 -28
- package/dist/{graph-edge-decay-2BZTY2IM.js → graph-edge-decay-3HVLMT6U.js} +5 -5
- package/dist/graph-edge-decay-3HVLMT6U.js.map +1 -0
- package/dist/graph-jsonl.js +3 -3
- package/dist/graph-snapshot.js +3 -3
- package/dist/graph.js +4 -4
- package/dist/harmonic-retrieval.js +20 -20
- package/dist/harmonic-source-lookup.js +2 -2
- package/dist/index.js +209 -208
- package/dist/lcm/engine.js +2 -2
- package/dist/lcm/index.js +7 -7
- package/dist/local-llm.js +2 -2
- package/dist/location/index.js +22 -22
- package/dist/maintenance/memory-governance.js +19 -19
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +19 -19
- package/dist/maintenance/rebuild-memory-projection-runner.js +21 -21
- package/dist/maintenance/rebuild-memory-projection.js +20 -20
- package/dist/memory-browse-operations.js +74 -74
- package/dist/memory-browse.js +6 -6
- package/dist/memory-subject.js +3 -3
- package/dist/namespaces/migrate.js +20 -20
- package/dist/namespaces/search.d.ts +1 -0
- package/dist/namespaces/search.d.ts.map +1 -1
- package/dist/namespaces/search.js +11 -9
- package/dist/namespaces/storage.js +19 -19
- package/dist/offline-sync-changeset-generations.js +3 -3
- package/dist/offline-sync-embedding-generation.js +2 -2
- package/dist/offline-sync-file-io.js +2 -2
- package/dist/offline-sync-impression-drain.js +3 -3
- package/dist/offline-sync-snapshot-stream.js +8 -8
- package/dist/offline-sync-upload-staging.js +3 -3
- package/dist/offline-sync.js +9 -9
- package/dist/operator-doctor-corpus.js +22 -22
- package/dist/operator-toolkit.js +40 -40
- package/dist/orchestration/extraction-drain.d.ts +90 -0
- package/dist/orchestration/extraction-drain.d.ts.map +1 -0
- package/dist/orchestration/extraction-run-helpers.d.ts +3 -0
- package/dist/orchestration/extraction-run-helpers.d.ts.map +1 -1
- package/dist/orchestration/extraction-run.d.ts +4 -1
- package/dist/orchestration/extraction-run.d.ts.map +1 -1
- package/dist/orchestration/maintenance.js +33 -33
- package/dist/orchestration/qmd-result-resolver.d.ts +5 -0
- package/dist/orchestration/qmd-result-resolver.d.ts.map +1 -1
- package/dist/orchestration/recall-search-pipeline.d.ts.map +1 -1
- package/dist/orchestration/turn-ingestion.d.ts +3 -0
- package/dist/orchestration/turn-ingestion.d.ts.map +1 -1
- package/dist/orchestrator.d.ts +8 -0
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +162 -161
- package/dist/qmd.js +5 -5
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-navigate-access.js +2 -2
- package/dist/recall-navigate-disclosure.js +2 -2
- package/dist/recall-navigate.js +2 -2
- package/dist/recall-navigation-operations.js +74 -74
- package/dist/recall-navigation.js +73 -73
- package/dist/recall-state-view-admission.js +6 -6
- package/dist/recall-why-service.js +6 -6
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.js +2 -2
- package/dist/reconcile/manifest.js +3 -3
- package/dist/{resolution-4ZEQPXUZ.js → resolution-NNYG37YB.js} +6 -6
- package/dist/resolution-NNYG37YB.js.map +1 -0
- package/dist/resume-bundles.js +30 -30
- package/dist/retrieval-agents.js +2 -2
- package/dist/salvage-envelope.js +5 -5
- package/dist/search/factory.js +6 -6
- package/dist/search/index.js +10 -10
- package/dist/secure-store/index.js +2 -2
- package/dist/semantic-consolidation.js +20 -20
- package/dist/semantic-rule-promotion.js +19 -19
- package/dist/semantic-rule-verifier.js +19 -19
- package/dist/source-agent-qualifier.js +23 -23
- package/dist/standup/build.js +19 -19
- package/dist/storage/dropped-extraction-chunk.d.ts +8 -0
- package/dist/storage/dropped-extraction-chunk.d.ts.map +1 -0
- package/dist/storage.d.ts +1 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +18 -18
- package/dist/subject-config.js +4 -4
- package/dist/summarizer.js +3 -3
- package/dist/support-passport/index.js +76 -76
- package/dist/transfer/backup.js +2 -2
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/capsule-import.js +2 -2
- package/dist/transfer/export-okf.js +20 -20
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/verified-recall.js +19 -19
- package/dist/who-knows-cli.js +20 -20
- package/dist/who-knows.js +19 -19
- package/dist/write-envelope.js +4 -4
- package/package.json +2 -2
- package/src/access-entity-principal.test.ts +190 -0
- package/src/access-http.ts +2 -2
- package/src/access-operations-batch.ts +2 -2
- package/src/access-service.ts +7 -6
- package/src/buffer-drop-extraction-chunk.test.ts +196 -0
- package/src/buffer-types.ts +65 -0
- package/src/buffer.ts +60 -62
- package/src/chat/chat-executor.ts +1 -1
- package/src/config.ts +8 -0
- package/src/extraction-error-classification.ts +23 -0
- package/src/extraction-local-failure-class.test.ts +55 -0
- package/src/extraction-window-drain.test.ts +123 -0
- package/src/extraction-window-drain.ts +110 -0
- package/src/extraction.ts +9 -9
- package/src/namespaces/search.ts +1 -1
- package/src/orchestration/extraction-drain.ts +261 -0
- package/src/orchestration/extraction-run-helpers.ts +8 -0
- package/src/orchestration/extraction-run.test.ts +83 -2
- package/src/orchestration/extraction-run.ts +5 -4
- package/src/orchestration/qmd-result-resolver.ts +26 -1
- package/src/orchestration/recall-search-pipeline.ts +11 -12
- package/src/orchestration/turn-ingestion.ts +9 -5
- package/src/orchestrator.ts +21 -0
- package/src/secure-store/secure-fs.ts +3 -1
- package/src/storage/dropped-extraction-chunk.ts +27 -0
- package/src/storage-dropped-chunk-filenames.test.ts +30 -0
- package/src/storage.ts +6 -7
- package/src/types.ts +7 -0
- package/dist/chunk-3PLAL2KP.js.map +0 -1
- package/dist/chunk-FQFMLOAC.js.map +0 -1
- package/dist/chunk-LOMSBYNS.js.map +0 -1
- package/dist/chunk-NH6GZEQN.js.map +0 -1
- package/dist/chunk-QO5KDQGG.js.map +0 -1
- package/dist/chunk-TAEJ2MRR.js.map +0 -1
- package/dist/chunk-UFM3PJDT.js.map +0 -1
- package/dist/chunk-WCBLPKG3.js.map +0 -1
- package/dist/chunk-WEK3OUGO.js.map +0 -1
- package/dist/chunk-XHVO3CGX.js.map +0 -1
- /package/dist/{auto-sync-432USQDH.js.map → auto-sync-BNCBMU6H.js.map} +0 -0
- /package/dist/{capsule-crypto-7FJQINUR.js.map → buffer-types.js.map} +0 -0
- /package/dist/{graph-edge-decay-2BZTY2IM.js.map → capsule-crypto-GWVG7LGC.js.map} +0 -0
- /package/dist/{chunk-MKE5DP3S.js.map → chunk-23ZMQONL.js.map} +0 -0
- /package/dist/{chunk-3K5IEJTK.js.map → chunk-2AV2U2SZ.js.map} +0 -0
- /package/dist/{chunk-HJ3UTGIW.js.map → chunk-2JNBPOZ2.js.map} +0 -0
- /package/dist/{chunk-5ANUG4JZ.js.map → chunk-2T6KEOUL.js.map} +0 -0
- /package/dist/{chunk-EEOYF3IB.js.map → chunk-3RJDYZJE.js.map} +0 -0
- /package/dist/{chunk-P5CUEB2Q.js.map → chunk-4QLKVZH6.js.map} +0 -0
- /package/dist/{chunk-XTBEXZFN.js.map → chunk-5SF7JOJB.js.map} +0 -0
- /package/dist/{chunk-53BLBDV6.js.map → chunk-5TRU6QQC.js.map} +0 -0
- /package/dist/{chunk-DKHX2FHI.js.map → chunk-64WHWIPL.js.map} +0 -0
- /package/dist/{chunk-TVIGN3XZ.js.map → chunk-6FRFVIKC.js.map} +0 -0
- /package/dist/{chunk-JIA435P3.js.map → chunk-6ITNEPJO.js.map} +0 -0
- /package/dist/{chunk-FGEY2AGV.js.map → chunk-7BCYAJKP.js.map} +0 -0
- /package/dist/{chunk-PSQ2P2T3.js.map → chunk-7XZ7TOLQ.js.map} +0 -0
- /package/dist/{chunk-6JEEY42N.js.map → chunk-AER3HD3B.js.map} +0 -0
- /package/dist/{chunk-POGPI5GR.js.map → chunk-AY6LO7GD.js.map} +0 -0
- /package/dist/{chunk-HXFIILGF.js.map → chunk-BFPF5N3H.js.map} +0 -0
- /package/dist/{chunk-KQAFEZQX.js.map → chunk-BUKK5SWA.js.map} +0 -0
- /package/dist/{chunk-6F5BGIAF.js.map → chunk-CNAL35D5.js.map} +0 -0
- /package/dist/{chunk-YC2C67F7.js.map → chunk-CRXGQRNA.js.map} +0 -0
- /package/dist/{chunk-WRDFYSUC.js.map → chunk-CZVNOTLR.js.map} +0 -0
- /package/dist/{chunk-VPO53QMG.js.map → chunk-D6DOLQYK.js.map} +0 -0
- /package/dist/{chunk-RGKXF4W3.js.map → chunk-E5IEI2MR.js.map} +0 -0
- /package/dist/{chunk-Z2T5BPOZ.js.map → chunk-EIYJK7OD.js.map} +0 -0
- /package/dist/{chunk-FRAL3EU4.js.map → chunk-EKPRLTAE.js.map} +0 -0
- /package/dist/{chunk-I75BWXRZ.js.map → chunk-F2RDRE7M.js.map} +0 -0
- /package/dist/{chunk-2AKIVSHP.js.map → chunk-FAKRTS3Y.js.map} +0 -0
- /package/dist/{chunk-MZWHIAOL.js.map → chunk-FC3ZFEXF.js.map} +0 -0
- /package/dist/{chunk-7VFNGQ4V.js.map → chunk-FLDXEJFX.js.map} +0 -0
- /package/dist/{chunk-TYLNWE4D.js.map → chunk-FNEYSTB6.js.map} +0 -0
- /package/dist/{chunk-XHX67LX6.js.map → chunk-FPHU6KVI.js.map} +0 -0
- /package/dist/{chunk-JH4FCVWJ.js.map → chunk-G6OFEGUR.js.map} +0 -0
- /package/dist/{chunk-WCIDCJOQ.js.map → chunk-GAUS4XGN.js.map} +0 -0
- /package/dist/{chunk-SZPPCEYT.js.map → chunk-GDOI4U4D.js.map} +0 -0
- /package/dist/{chunk-63YPKHAU.js.map → chunk-GLB6VV3J.js.map} +0 -0
- /package/dist/{chunk-3XVBGGF3.js.map → chunk-GRN4BVPM.js.map} +0 -0
- /package/dist/{chunk-ZAP7BKTZ.js.map → chunk-GZMHBRIR.js.map} +0 -0
- /package/dist/{chunk-645WOU5I.js.map → chunk-H7BZBSP6.js.map} +0 -0
- /package/dist/{chunk-TXP7Q7T5.js.map → chunk-HN35OH2C.js.map} +0 -0
- /package/dist/{chunk-SWZOAQUM.js.map → chunk-HSNV4CSW.js.map} +0 -0
- /package/dist/{chunk-GFYFKXWZ.js.map → chunk-HUDPXTXW.js.map} +0 -0
- /package/dist/{chunk-C2KOW2UQ.js.map → chunk-I7CWAJHX.js.map} +0 -0
- /package/dist/{chunk-L2JQSG5M.js.map → chunk-I7TR2OCU.js.map} +0 -0
- /package/dist/{chunk-5DCS4C4S.js.map → chunk-ICTJOOWZ.js.map} +0 -0
- /package/dist/{chunk-STM4T335.js.map → chunk-IJH6METJ.js.map} +0 -0
- /package/dist/{chunk-6SYS5YX3.js.map → chunk-IJJWM2ZA.js.map} +0 -0
- /package/dist/{chunk-3AODCBKX.js.map → chunk-IWDFHVPJ.js.map} +0 -0
- /package/dist/{chunk-L7PGPH4E.js.map → chunk-JJSMSS45.js.map} +0 -0
- /package/dist/{chunk-74AY3S7U.js.map → chunk-JNLYHJG7.js.map} +0 -0
- /package/dist/{chunk-OLH4XCLU.js.map → chunk-JXQTECMU.js.map} +0 -0
- /package/dist/{chunk-6QOL4G76.js.map → chunk-KQXRVELF.js.map} +0 -0
- /package/dist/{chunk-VGRM43X6.js.map → chunk-LB6HIXQC.js.map} +0 -0
- /package/dist/{chunk-N7DVBHU3.js.map → chunk-LR7RW4T6.js.map} +0 -0
- /package/dist/{chunk-AYBAC2N4.js.map → chunk-LWIU5BMA.js.map} +0 -0
- /package/dist/{chunk-FZVZYU5C.js.map → chunk-LXN737FX.js.map} +0 -0
- /package/dist/{chunk-7ZRRJ6RG.js.map → chunk-MGYZENUY.js.map} +0 -0
- /package/dist/{chunk-YQ6SLFNZ.js.map → chunk-MPJDQC4G.js.map} +0 -0
- /package/dist/{chunk-7HXZOWTR.js.map → chunk-N3PUGD7E.js.map} +0 -0
- /package/dist/{chunk-EGNONTVT.js.map → chunk-NBEM5QEH.js.map} +0 -0
- /package/dist/{chunk-JF3MEIHO.js.map → chunk-O67H7OXJ.js.map} +0 -0
- /package/dist/{chunk-OLHN4ZNT.js.map → chunk-ONIVKGNC.js.map} +0 -0
- /package/dist/{chunk-2NLLXCJG.js.map → chunk-OWHERGF2.js.map} +0 -0
- /package/dist/{chunk-I73ZSORJ.js.map → chunk-OXSTKCYK.js.map} +0 -0
- /package/dist/{chunk-VSSQIBVU.js.map → chunk-PJXSBXEC.js.map} +0 -0
- /package/dist/{chunk-4B37KNMP.js.map → chunk-PW63SXFM.js.map} +0 -0
- /package/dist/{chunk-TPKB7T6Z.js.map → chunk-Q6UZREJK.js.map} +0 -0
- /package/dist/{chunk-X247CYL6.js.map → chunk-Q77SLBWT.js.map} +0 -0
- /package/dist/{chunk-5K23NQRI.js.map → chunk-QGNZ5QPV.js.map} +0 -0
- /package/dist/{chunk-UJDTXWMT.js.map → chunk-QIMGULGN.js.map} +0 -0
- /package/dist/{chunk-E24RUQEN.js.map → chunk-QNIYL5SK.js.map} +0 -0
- /package/dist/{chunk-KOY25HUB.js.map → chunk-QYAXMXOB.js.map} +0 -0
- /package/dist/{chunk-J7G656MY.js.map → chunk-R42VUN5V.js.map} +0 -0
- /package/dist/{chunk-AYXRK264.js.map → chunk-RROFIAYI.js.map} +0 -0
- /package/dist/{chunk-YYGZ4EIY.js.map → chunk-RUAIO5UA.js.map} +0 -0
- /package/dist/{chunk-E5PVMB3I.js.map → chunk-SDXBR5QO.js.map} +0 -0
- /package/dist/{chunk-OKKBOTRA.js.map → chunk-SLVR3U4E.js.map} +0 -0
- /package/dist/{chunk-CUWOSRCS.js.map → chunk-SUKPM6DV.js.map} +0 -0
- /package/dist/{chunk-TDCR6PQL.js.map → chunk-TWRPWJJT.js.map} +0 -0
- /package/dist/{chunk-6DTIYAAN.js.map → chunk-UGV256H3.js.map} +0 -0
- /package/dist/{chunk-DG4H56SK.js.map → chunk-UIK3U36O.js.map} +0 -0
- /package/dist/{chunk-KOAVX2IT.js.map → chunk-UKIIAEJF.js.map} +0 -0
- /package/dist/{chunk-XLEP7SS3.js.map → chunk-UMSH4I3E.js.map} +0 -0
- /package/dist/{chunk-X7Y7WX73.js.map → chunk-UVYI6VIX.js.map} +0 -0
- /package/dist/{chunk-4P4VLPGB.js.map → chunk-VECRSYQG.js.map} +0 -0
- /package/dist/{chunk-GGI6FLO6.js.map → chunk-VHBGJAYC.js.map} +0 -0
- /package/dist/{chunk-NMKETOAX.js.map → chunk-VSHWPOUB.js.map} +0 -0
- /package/dist/{chunk-VC3X7XP3.js.map → chunk-VTZSIG6O.js.map} +0 -0
- /package/dist/{chunk-UBN5AOLT.js.map → chunk-W5EO4USJ.js.map} +0 -0
- /package/dist/{chunk-Y7427SL7.js.map → chunk-WCGJK4NQ.js.map} +0 -0
- /package/dist/{chunk-4IZ6AC2U.js.map → chunk-WJMAWDAU.js.map} +0 -0
- /package/dist/{chunk-JH2ALMPR.js.map → chunk-WR5POHQ3.js.map} +0 -0
- /package/dist/{chunk-EHIKY2IA.js.map → chunk-WU5WTCH5.js.map} +0 -0
- /package/dist/{chunk-QKXPOLQD.js.map → chunk-WUBGMV3G.js.map} +0 -0
- /package/dist/{chunk-FKTMWDN2.js.map → chunk-WUL6LDJ4.js.map} +0 -0
- /package/dist/{chunk-5UPOKIFP.js.map → chunk-XBHUMPIQ.js.map} +0 -0
- /package/dist/{chunk-Y5ZHZKZD.js.map → chunk-XJ77IOAD.js.map} +0 -0
- /package/dist/{chunk-U7HJBODU.js.map → chunk-XKTHJHSQ.js.map} +0 -0
- /package/dist/{chunk-JFI3ATK4.js.map → chunk-XMYWYJM2.js.map} +0 -0
- /package/dist/{chunk-64S6X4IU.js.map → chunk-XTN54NML.js.map} +0 -0
- /package/dist/{chunk-CVMAOPAH.js.map → chunk-XXBCUIYQ.js.map} +0 -0
- /package/dist/{chunk-QOUKZ2N3.js.map → chunk-XXW3P3RX.js.map} +0 -0
- /package/dist/{chunk-RWRHGE75.js.map → chunk-Y473XFTD.js.map} +0 -0
- /package/dist/{chunk-VGFNTY3Y.js.map → chunk-YFXRLRKP.js.map} +0 -0
- /package/dist/{chunk-DAOMWGO2.js.map → chunk-ZX5N5D6M.js.map} +0 -0
- /package/dist/{resolution-4ZEQPXUZ.js.map → extraction-window-drain.js.map} +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { mkdir } from "node:fs/promises";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import type { BufferTurn } from "../types.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Persist a copy of extraction-buffer turns that are being DROPPED after repeated extraction failures (trigger-drain drop
|
|
8
|
+
* path), so a destructive drop never loses content silently. Written under `<stateDir>/dropped/` through the store's secure
|
|
9
|
+
* writer, so encrypted stores keep it encrypted (secure-fs encrypts the whole `state/dropped/` prefix). Returns the path.
|
|
10
|
+
*/
|
|
11
|
+
export async function saveDroppedExtractionChunk(
|
|
12
|
+
stateDir: string,
|
|
13
|
+
writeSecureFile: (filePath: string, content: string) => Promise<void>,
|
|
14
|
+
bufferKey: string,
|
|
15
|
+
reason: string,
|
|
16
|
+
turns: readonly BufferTurn[],
|
|
17
|
+
): Promise<string> {
|
|
18
|
+
const droppedDir = path.join(stateDir, "dropped");
|
|
19
|
+
await mkdir(droppedDir, { recursive: true });
|
|
20
|
+
const safeKey = bufferKey.replace(/[^a-zA-Z0-9._-]/g, "-").slice(0, 80) || "default";
|
|
21
|
+
// The random suffix keeps copies written in the same millisecond (or for keys that truncate to the same name) from
|
|
22
|
+
// overwriting each other.
|
|
23
|
+
const filePath = path.join(droppedDir, `${Date.now()}-${randomUUID().slice(0, 8)}-${safeKey}.json`);
|
|
24
|
+
const payload = { bufferKey, reason, droppedAt: new Date().toISOString(), turns };
|
|
25
|
+
await writeSecureFile(filePath, JSON.stringify(payload, null, 2));
|
|
26
|
+
return filePath;
|
|
27
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import { mkdtemp, readdir, rm } from "node:fs/promises";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import test from "node:test";
|
|
6
|
+
import { StorageManager } from "./storage.js";
|
|
7
|
+
import type { BufferTurn } from "./types.js";
|
|
8
|
+
|
|
9
|
+
function makeTurn(content: string): BufferTurn {
|
|
10
|
+
return { role: "user", content, timestamp: "2026-10-29T00:00:00.000Z", sessionKey: "s1" };
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
test("dropped-chunk recovery files never overwrite each other, even within one millisecond", async () => {
|
|
14
|
+
const dir = await mkdtemp(path.join(os.tmpdir(), "remnic-dropped-chunks-"));
|
|
15
|
+
const realNow = Date.now;
|
|
16
|
+
try {
|
|
17
|
+
Date.now = () => 1_793_000_000_000;
|
|
18
|
+
const storage = new StorageManager(dir);
|
|
19
|
+
await storage.ensureDirectories();
|
|
20
|
+
const first = await storage.saveDroppedExtractionChunk("same-key", "first", [makeTurn("one")]);
|
|
21
|
+
const second = await storage.saveDroppedExtractionChunk("same-key", "second", [makeTurn("two")]);
|
|
22
|
+
|
|
23
|
+
assert.notEqual(first, second);
|
|
24
|
+
const files = await readdir(path.dirname(first));
|
|
25
|
+
assert.equal(files.length, 2, "both safety copies exist");
|
|
26
|
+
} finally {
|
|
27
|
+
Date.now = realNow;
|
|
28
|
+
await rm(dir, { recursive: true, force: true });
|
|
29
|
+
}
|
|
30
|
+
});
|
package/src/storage.ts
CHANGED
|
@@ -144,6 +144,7 @@ import {
|
|
|
144
144
|
import { supersessionKeysForFact } from "./temporal-supersession.js";
|
|
145
145
|
import { BufferSessionFiles } from "./storage/buffer-session-files.js";
|
|
146
146
|
import { runSupersessionSideEffects, type SupersessionAuditOptions } from "./storage/supersession-side-effects.js";
|
|
147
|
+
import { saveDroppedExtractionChunk as saveDroppedChunk } from "./storage/dropped-extraction-chunk.js";
|
|
147
148
|
import type {
|
|
148
149
|
AccessTrackingEntry,
|
|
149
150
|
BufferEntryState,
|
|
@@ -4799,7 +4800,6 @@ export class StorageManager extends TombstoneBlockedCaptureIndexHost {
|
|
|
4799
4800
|
return results.filter((filePath): filePath is string => filePath !== null);
|
|
4800
4801
|
}
|
|
4801
4802
|
|
|
4802
|
-
|
|
4803
4803
|
private orderWindowPaths(filePaths: string[]): string[] {
|
|
4804
4804
|
const correctionPaths: string[] = [];
|
|
4805
4805
|
const factPaths: string[] = [];
|
|
@@ -5520,6 +5520,9 @@ export class StorageManager extends TombstoneBlockedCaptureIndexHost {
|
|
|
5520
5520
|
async saveBuffer(state: BufferState): Promise<void> { await this.bufferSessionFiles().reconcile(state); }
|
|
5521
5521
|
async saveBufferSession(key: string, entry: BufferEntryState): Promise<void> { await this.bufferSessionFiles().save(key, entry); }
|
|
5522
5522
|
async deleteBufferSession(key: string): Promise<void> { await this.bufferSessionFiles().remove(key); }
|
|
5523
|
+
saveDroppedExtractionChunk(bufferKey: string, reason: string, turns: readonly import("./types.js").BufferTurn[]): Promise<string> { // storage/dropped-extraction-chunk.ts
|
|
5524
|
+
return saveDroppedChunk(this.stateDir, (file, content) => this.writeStorageSecureFile(file, content), bufferKey, reason, turns);
|
|
5525
|
+
}
|
|
5523
5526
|
|
|
5524
5527
|
async loadMeta(): Promise<MetaState> {
|
|
5525
5528
|
const metaPath = path.join(this.stateDir, "meta.json");
|
|
@@ -5564,8 +5567,7 @@ export class StorageManager extends TombstoneBlockedCaptureIndexHost {
|
|
|
5564
5567
|
|
|
5565
5568
|
async saveMeta(state: MetaState): Promise<void> {
|
|
5566
5569
|
await this.ensureDirectories();
|
|
5567
|
-
|
|
5568
|
-
await this.writeStorageSecureFile(metaPath, JSON.stringify(state, null, 2));
|
|
5570
|
+
await this.writeStorageSecureFile(path.join(this.stateDir, "meta.json"), JSON.stringify(state, null, 2));
|
|
5569
5571
|
}
|
|
5570
5572
|
|
|
5571
5573
|
async appendMemoryActionEvents(events: MemoryActionEvent[]): Promise<number> {
|
|
@@ -7208,10 +7210,7 @@ export class StorageManager extends TombstoneBlockedCaptureIndexHost {
|
|
|
7208
7210
|
async saveTopics(topics: TopicScore[]): Promise<void> {
|
|
7209
7211
|
const metaPath = path.join(this.stateDir, "topics.json");
|
|
7210
7212
|
await mkdir(this.stateDir, { recursive: true });
|
|
7211
|
-
await this.writeStorageSecureFile(
|
|
7212
|
-
metaPath,
|
|
7213
|
-
JSON.stringify({ topics, updatedAt: new Date().toISOString() }, null, 2)
|
|
7214
|
-
);
|
|
7213
|
+
await this.writeStorageSecureFile(metaPath, JSON.stringify({ topics, updatedAt: new Date().toISOString() }, null, 2));
|
|
7215
7214
|
log.debug(`saved ${topics.length} topic scores`);
|
|
7216
7215
|
}
|
|
7217
7216
|
|
package/src/types.ts
CHANGED
|
@@ -1697,6 +1697,13 @@ export interface PluginConfig
|
|
|
1697
1697
|
extractionBreakerCooldownMs: number;
|
|
1698
1698
|
/** Breaker open cooldown (ms) for auth/config failures (longer — provider is misconfigured). */
|
|
1699
1699
|
extractionBreakerAuthCooldownMs: number;
|
|
1700
|
+
/**
|
|
1701
|
+
* Consecutive failed extraction attempts after which the failing
|
|
1702
|
+
* trigger-drain chunk is dropped (with a side-file copy under
|
|
1703
|
+
* `state/dropped/`) so a session whose window never extracts cannot stall
|
|
1704
|
+
* the buffer forever. Default: `5`.
|
|
1705
|
+
*/
|
|
1706
|
+
extractionChunkDropAfterFailures: number;
|
|
1700
1707
|
// Local LLM fast tier (v9.1) — smaller model for quick ops
|
|
1701
1708
|
localLlmFastEnabled: boolean;
|
|
1702
1709
|
localLlmFastModel: string;
|