@remnic/core 1.1.2 → 1.1.3
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/abort-error.js +1 -0
- package/dist/abstraction-nodes.js +1 -0
- package/dist/access-audit.js +1 -0
- package/dist/access-cli.js +70 -45
- package/dist/access-cli.js.map +1 -1
- package/dist/access-http.d.ts +50 -5
- package/dist/access-http.js +37 -15
- package/dist/access-idempotency.js +1 -0
- package/dist/access-mcp.d.ts +10 -5
- package/dist/access-mcp.js +36 -13
- package/dist/access-schema.d.ts +133 -13
- package/dist/access-schema.js +20 -1
- package/dist/access-service-_AEUMVyX.d.ts +1981 -0
- package/dist/access-service.d.ts +11 -6
- package/dist/access-service.js +38 -14
- package/dist/active-memory-bridge.js +1 -0
- package/dist/active-recall.js +1 -0
- package/dist/active-recall.js.map +1 -1
- package/dist/behavior-learner.js +1 -0
- package/dist/behavior-learner.js.map +1 -1
- package/dist/behavior-signals.js +1 -0
- package/dist/bootstrap.d.ts +6 -4
- package/dist/bootstrap.js +1 -0
- package/dist/boxes.js +1 -0
- package/dist/briefing.d.ts +9 -5
- package/dist/briefing.js +9 -6
- package/dist/buffer-surprise-report.js +1 -0
- package/dist/buffer-surprise.js +1 -0
- package/dist/buffer.d.ts +1 -1
- package/dist/buffer.js +1 -0
- package/dist/calibration.d.ts +8 -1
- package/dist/calibration.js +10 -2
- package/dist/calibration.js.map +1 -1
- package/dist/capsule-cli.d.ts +137 -0
- package/dist/capsule-cli.js +34 -0
- package/dist/capsule-crypto-5CYAGVC5.js +18 -0
- package/dist/capsule-export-NZQPOTQ4.js +17 -0
- package/dist/capsule-export-NZQPOTQ4.js.map +1 -0
- package/dist/capsule-import-SDCUXLEV.js +16 -0
- package/dist/capsule-import-SDCUXLEV.js.map +1 -0
- package/dist/capsule-merge-DI7PNQ2H.js +189 -0
- package/dist/capsule-merge-DI7PNQ2H.js.map +1 -0
- package/dist/causal-behavior.js +1 -0
- package/dist/causal-behavior.js.map +1 -1
- package/dist/causal-chain.js +1 -0
- package/dist/causal-consolidation.js +11 -8
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-retrieval.js +2 -1
- package/dist/causal-retrieval.js.map +1 -1
- package/dist/causal-trajectory-graph.js +4 -1
- package/dist/causal-trajectory-graph.js.map +1 -1
- package/dist/causal-trajectory.js +2 -1
- package/dist/chunk-2LSZVONP.js +67 -0
- package/dist/chunk-2LSZVONP.js.map +1 -0
- package/dist/chunk-32KD5IHZ.js +245 -0
- package/dist/chunk-32KD5IHZ.js.map +1 -0
- package/dist/{chunk-VDX363PS.js → chunk-34F3PLWZ.js} +10 -3
- package/dist/chunk-34F3PLWZ.js.map +1 -0
- package/dist/chunk-3KIS4VGT.js +228 -0
- package/dist/chunk-3KIS4VGT.js.map +1 -0
- package/dist/chunk-3LCWFNVS.js +350 -0
- package/dist/chunk-3LCWFNVS.js.map +1 -0
- package/dist/chunk-43EKP2UK.js +26 -0
- package/dist/chunk-43EKP2UK.js.map +1 -0
- package/dist/chunk-457A4P3L.js +119 -0
- package/dist/chunk-457A4P3L.js.map +1 -0
- package/dist/{chunk-TMYO7B5P.js → chunk-47WOM4YW.js} +2 -2
- package/dist/{chunk-OC5OXUQ4.js → chunk-4PLGJRBV.js} +653 -17
- package/dist/chunk-4PLGJRBV.js.map +1 -0
- package/dist/{chunk-PVICZTKG.js → chunk-55FXRRSJ.js} +5 -5
- package/dist/{chunk-PVICZTKG.js.map → chunk-55FXRRSJ.js.map} +1 -1
- package/dist/{chunk-ULYOGL6R.js → chunk-5HRY2WRF.js} +7 -3
- package/dist/chunk-5HRY2WRF.js.map +1 -0
- package/dist/chunk-6TBWYBJ3.js +236 -0
- package/dist/chunk-6TBWYBJ3.js.map +1 -0
- package/dist/chunk-74EMIVE4.js +329 -0
- package/dist/chunk-74EMIVE4.js.map +1 -0
- package/dist/chunk-74WWN7ZW.js +82 -0
- package/dist/chunk-74WWN7ZW.js.map +1 -0
- package/dist/{chunk-6YJHX2DL.js → chunk-7GCMLT7J.js} +242 -22
- package/dist/chunk-7GCMLT7J.js.map +1 -0
- package/dist/chunk-A6XUJE5D.js +126 -0
- package/dist/chunk-A6XUJE5D.js.map +1 -0
- package/dist/chunk-AJA46VX5.js +393 -0
- package/dist/chunk-AJA46VX5.js.map +1 -0
- package/dist/{chunk-UWB5LMWY.js → chunk-AKUCB2OG.js} +525 -24
- package/dist/chunk-AKUCB2OG.js.map +1 -0
- package/dist/chunk-ASIQZXYO.js +277 -0
- package/dist/chunk-ASIQZXYO.js.map +1 -0
- package/dist/{chunk-DG6YMRDC.js → chunk-B2TL6GA2.js} +2 -2
- package/dist/chunk-BJMBJZ2Y.js +290 -0
- package/dist/chunk-BJMBJZ2Y.js.map +1 -0
- package/dist/chunk-BT7NVCML.js +79 -0
- package/dist/chunk-BT7NVCML.js.map +1 -0
- package/dist/chunk-CK5NTM2S.js +454 -0
- package/dist/chunk-CK5NTM2S.js.map +1 -0
- package/dist/{chunk-AYXIPSZO.js → chunk-CRU27Q4J.js} +2 -2
- package/dist/{chunk-F5VP6YCB.js → chunk-DCE6SQLA.js} +572 -155
- package/dist/chunk-DCE6SQLA.js.map +1 -0
- package/dist/{chunk-CUPFXL3J.js → chunk-DHRQHX36.js} +4 -4
- package/dist/chunk-DHRQHX36.js.map +1 -0
- package/dist/{chunk-STGWEHYR.js → chunk-DR7MCMPS.js} +981 -61
- package/dist/chunk-DR7MCMPS.js.map +1 -0
- package/dist/chunk-FP2373TW.js +149 -0
- package/dist/chunk-FP2373TW.js.map +1 -0
- package/dist/{chunk-RBBWYEFJ.js → chunk-G2WADRQ3.js} +1 -1
- package/dist/chunk-G7D6GZ5J.js +48 -0
- package/dist/chunk-G7D6GZ5J.js.map +1 -0
- package/dist/chunk-H7XKCNR6.js +60 -0
- package/dist/chunk-H7XKCNR6.js.map +1 -0
- package/dist/{chunk-3YGHKTBF.js → chunk-IM3JSE73.js} +953 -322
- package/dist/chunk-IM3JSE73.js.map +1 -0
- package/dist/chunk-IXEJRKCZ.js +18 -0
- package/dist/chunk-IXEJRKCZ.js.map +1 -0
- package/dist/chunk-IYY4MCPG.js +275 -0
- package/dist/chunk-IYY4MCPG.js.map +1 -0
- package/dist/{chunk-BECYBZLX.js → chunk-JWSENLQI.js} +502 -22
- package/dist/chunk-JWSENLQI.js.map +1 -0
- package/dist/chunk-KNKUID7G.js +183 -0
- package/dist/chunk-KNKUID7G.js.map +1 -0
- package/dist/chunk-L2IO2QPY.js +2036 -0
- package/dist/chunk-L2IO2QPY.js.map +1 -0
- package/dist/{chunk-SPI27QT6.js → chunk-L5IIGA5V.js} +9 -4
- package/dist/chunk-L5IIGA5V.js.map +1 -0
- package/dist/{chunk-XXVWLXSG.js → chunk-LVYGDT5V.js} +56 -82
- package/dist/chunk-LVYGDT5V.js.map +1 -0
- package/dist/{chunk-ZAIM4TUE.js → chunk-LW2NMHDW.js} +46 -1
- package/dist/chunk-LW2NMHDW.js.map +1 -0
- package/dist/{chunk-3OGMS3PE.js → chunk-LZRYQK6L.js} +3 -2
- package/dist/chunk-LZRYQK6L.js.map +1 -0
- package/dist/chunk-MDYG7VI7.js +48 -0
- package/dist/chunk-MDYG7VI7.js.map +1 -0
- package/dist/chunk-MXC3AP5I.js +74 -0
- package/dist/chunk-MXC3AP5I.js.map +1 -0
- package/dist/{chunk-DIXB44VE.js → chunk-N7X62G74.js} +25 -10
- package/dist/chunk-N7X62G74.js.map +1 -0
- package/dist/chunk-NN3TS5BM.js +147 -0
- package/dist/chunk-NN3TS5BM.js.map +1 -0
- package/dist/chunk-OA3L7BFR.js +183 -0
- package/dist/chunk-OA3L7BFR.js.map +1 -0
- package/dist/chunk-OZHRDTDX.js +240 -0
- package/dist/chunk-OZHRDTDX.js.map +1 -0
- package/dist/chunk-PCUKNJAZ.js +165 -0
- package/dist/chunk-PCUKNJAZ.js.map +1 -0
- package/dist/{chunk-6PFRXT4K.js → chunk-PFV5C235.js} +11 -6
- package/dist/chunk-PFV5C235.js.map +1 -0
- package/dist/chunk-PZ5AY32C.js +10 -0
- package/dist/chunk-PZ5AY32C.js.map +1 -0
- package/dist/{chunk-Y7R2XJ5Q.js → chunk-Q7FJ5ZHM.js} +6 -2
- package/dist/chunk-Q7FJ5ZHM.js.map +1 -0
- package/dist/{chunk-NBVAS5MT.js → chunk-R2L7SUX2.js} +6 -6
- package/dist/{chunk-WCLICCGB.js → chunk-RILIVK4O.js} +91 -4
- package/dist/chunk-RILIVK4O.js.map +1 -0
- package/dist/{chunk-C2EFFULQ.js → chunk-RK2Y4XOM.js} +163 -20
- package/dist/chunk-RK2Y4XOM.js.map +1 -0
- package/dist/{chunk-TP4FZJIZ.js → chunk-RULE4VG5.js} +5 -1
- package/dist/chunk-RULE4VG5.js.map +1 -0
- package/dist/{chunk-PVPWZSSI.js → chunk-SMA4IMHV.js} +19 -3
- package/dist/chunk-SMA4IMHV.js.map +1 -0
- package/dist/{chunk-L7IXWRYE.js → chunk-SS253RXF.js} +22 -13
- package/dist/chunk-SS253RXF.js.map +1 -0
- package/dist/chunk-TUFG6VXY.js +875 -0
- package/dist/chunk-TUFG6VXY.js.map +1 -0
- package/dist/chunk-TYEOAFH3.js +251 -0
- package/dist/chunk-TYEOAFH3.js.map +1 -0
- package/dist/chunk-UKJAGEXH.js +260 -0
- package/dist/chunk-UKJAGEXH.js.map +1 -0
- package/dist/{chunk-KVBLZUKV.js → chunk-USFPPRAF.js} +93 -3
- package/dist/chunk-USFPPRAF.js.map +1 -0
- package/dist/{chunk-GA5P7RST.js → chunk-VTJVUHRK.js} +22 -36
- package/dist/chunk-VTJVUHRK.js.map +1 -0
- package/dist/chunk-WIICJPET.js +45 -0
- package/dist/chunk-WIICJPET.js.map +1 -0
- package/dist/{chunk-VBVG2M5G.js → chunk-WPGJYVUH.js} +6 -2
- package/dist/chunk-WPGJYVUH.js.map +1 -0
- package/dist/{chunk-4HQS2HPX.js → chunk-WSZIHQBK.js} +29 -9
- package/dist/{chunk-4HQS2HPX.js.map → chunk-WSZIHQBK.js.map} +1 -1
- package/dist/{chunk-NZLQTHS5.js → chunk-WW3QQF4H.js} +4 -1
- package/dist/chunk-WW3QQF4H.js.map +1 -0
- package/dist/{chunk-FVA6TGI3.js → chunk-Y3WQ4ZWK.js} +42 -2
- package/dist/chunk-Y3WQ4ZWK.js.map +1 -0
- package/dist/chunk-YNJHCGDT.js +309 -0
- package/dist/chunk-YNJHCGDT.js.map +1 -0
- package/dist/{chunk-LOIMBRDE.js → chunk-ZGXSCMQN.js} +1993 -411
- package/dist/chunk-ZGXSCMQN.js.map +1 -0
- package/dist/{chunk-W6SL7OFG.js → chunk-ZTSE2ZJ6.js} +12 -2
- package/dist/{chunk-W6SL7OFG.js.map → chunk-ZTSE2ZJ6.js.map} +1 -1
- package/dist/chunking.js +1 -0
- package/dist/cipher-GVE2GQ5H.js +28 -0
- package/dist/cipher-GVE2GQ5H.js.map +1 -0
- package/dist/citations.js +1 -0
- package/dist/{cli-BkeRaYfk.d.ts → cli-x2APT9a6.d.ts} +26 -7
- package/dist/cli.d.ts +11 -6
- package/dist/cli.js +67 -33
- package/dist/codex-thread-key.js +1 -0
- package/dist/commitment-ledger.js +1 -0
- package/dist/compression-optimizer.js +1 -0
- package/dist/config.d.ts +2 -1
- package/dist/config.js +4 -1
- package/dist/connectors-cli-DFGtY2DB.d.ts +257 -0
- package/dist/connectors-cli.d.ts +2 -0
- package/dist/connectors-cli.js +22 -0
- package/dist/connectors-cli.js.map +1 -0
- package/dist/consolidation-operator.d.ts +65 -5
- package/dist/consolidation-operator.js +6 -1
- package/dist/consolidation-provenance-check.d.ts +1 -1
- package/dist/consolidation-provenance-check.js +3 -2
- package/dist/consolidation-undo.d.ts +1 -1
- package/dist/consolidation-undo.js +1 -0
- package/dist/consolidation-undo.js.map +1 -1
- package/dist/{contradiction-review-WIUBAR52.js → contradiction-review-5LTTVDQV.js} +2 -1
- package/dist/contradiction-review-5LTTVDQV.js.map +1 -0
- package/dist/{contradiction-scan-E3GJTI4F.js → contradiction-scan-3Z6YW7YA.js} +2 -1
- package/dist/{contradiction-scan-E3GJTI4F.js.map → contradiction-scan-3Z6YW7YA.js.map} +1 -1
- package/dist/cross-namespace-budget.js +1 -0
- package/dist/cue-anchors.js +1 -0
- package/dist/dashboard-runtime.js +1 -0
- package/dist/day-summary.js +1 -0
- package/dist/delinearize.js +1 -0
- package/dist/direct-answer-wiring.js +1 -0
- package/dist/direct-answer.js +1 -0
- package/dist/dreams-ledger-LR2NBAZE.js +286 -0
- package/dist/dreams-ledger-LR2NBAZE.js.map +1 -0
- package/dist/embedding-fallback.js +1 -0
- package/dist/{engine-72LSIWQP.js → engine-ICC2DSQF.js} +10 -7
- package/dist/engine-ICC2DSQF.js.map +1 -0
- package/dist/entity-retrieval.d.ts +1 -1
- package/dist/entity-retrieval.js +9 -6
- package/dist/entity-schema.js +1 -0
- package/dist/evals.js +1 -0
- package/dist/evidence-pack.d.ts +16 -0
- package/dist/evidence-pack.js +8 -0
- package/dist/evidence-pack.js.map +1 -0
- package/dist/explicit-capture.d.ts +6 -4
- package/dist/explicit-capture.js +1 -0
- package/dist/extraction-judge-telemetry.js +1 -0
- package/dist/extraction-judge-training.js +1 -0
- package/dist/extraction-judge.js +1 -0
- package/dist/extraction.js +7 -6
- package/dist/fallback-llm.js +3 -2
- package/dist/first-start-migration-4MHQEOSD.js +263 -0
- package/dist/first-start-migration-4MHQEOSD.js.map +1 -0
- package/dist/forget-PLR6J5DN.js +69 -0
- package/dist/forget-PLR6J5DN.js.map +1 -0
- package/dist/framework-CyHYDcri.d.ts +153 -0
- package/dist/fs-utils-IRVUFB6G.js +30 -0
- package/dist/fs-utils-IRVUFB6G.js.map +1 -0
- package/dist/graph-dashboard-diff.js +1 -0
- package/dist/graph-dashboard-key.js +1 -0
- package/dist/graph-dashboard-parser.js +1 -0
- package/dist/graph-edge-decay-PWB63GRE.js +207 -0
- package/dist/graph-edge-decay-PWB63GRE.js.map +1 -0
- package/dist/graph-edge-reinforcement.d.ts +81 -0
- package/dist/graph-edge-reinforcement.js +24 -0
- package/dist/graph-edge-reinforcement.js.map +1 -0
- package/dist/graph-events.d.ts +87 -0
- package/dist/graph-events.js +14 -0
- package/dist/graph-events.js.map +1 -0
- package/dist/graph-recall.js +1 -0
- package/dist/graph-retrieval.js +1 -0
- package/dist/graph-snapshot.d.ts +112 -0
- package/dist/graph-snapshot.js +19 -0
- package/dist/graph-snapshot.js.map +1 -0
- package/dist/graph.d.ts +105 -7
- package/dist/graph.js +20 -3
- package/dist/harmonic-retrieval.js +1 -0
- package/dist/himem.js +1 -0
- package/dist/hygiene.js +1 -0
- package/dist/identity-continuity.js +1 -0
- package/dist/importance.js +1 -0
- package/dist/index.d.ts +562 -13
- package/dist/index.js +329 -67
- package/dist/index.js.map +1 -1
- package/dist/intent.js +1 -0
- package/dist/json-extract.js +1 -0
- package/dist/json-store.js +1 -0
- package/dist/kdf-7S6RWKLZ.js +26 -0
- package/dist/kdf-7S6RWKLZ.js.map +1 -0
- package/dist/legacy-hook-compat.js +1 -0
- package/dist/legacy-hook-compat.js.map +1 -1
- package/dist/lifecycle.js +1 -0
- package/dist/live-connectors-runner.d.ts +48 -0
- package/dist/live-connectors-runner.js +17 -0
- package/dist/live-connectors-runner.js.map +1 -0
- package/dist/local-llm.js +1 -0
- package/dist/logger.js +1 -0
- package/dist/memory-action-policy.js +1 -0
- package/dist/memory-cache.d.ts +2 -1
- package/dist/memory-cache.js +4 -1
- package/dist/memory-governance-KG52RITE.js +37 -0
- package/dist/memory-governance-KG52RITE.js.map +1 -0
- package/dist/memory-lifecycle-ledger-utils.d.ts +2 -1
- package/dist/memory-lifecycle-ledger-utils.js +4 -1
- package/dist/memory-projection-format.js +1 -0
- package/dist/{memory-projection-store-DeSXPh1j.d.ts → memory-projection-store-D3vBHS4J.d.ts} +1 -0
- package/dist/memory-projection-store.d.ts +1 -1
- package/dist/memory-projection-store.js +1 -0
- package/dist/memory-worth-bench.js +1 -0
- package/dist/memory-worth-bench.js.map +1 -1
- package/dist/memory-worth-filter.js +1 -0
- package/dist/memory-worth-outcomes.d.ts +1 -1
- package/dist/memory-worth-outcomes.js +1 -0
- package/dist/memory-worth.js +1 -0
- package/dist/metadata-FC3XPDRQ.js +21 -0
- package/dist/metadata-FC3XPDRQ.js.map +1 -0
- package/dist/migrate-from-identity-anchor-TTEDEJGX.js +8 -0
- package/dist/migrate-from-identity-anchor-TTEDEJGX.js.map +1 -0
- package/dist/model-registry.js +1 -0
- package/dist/models-json.js +1 -0
- package/dist/native-knowledge.js +1 -0
- package/dist/negative.js +1 -0
- package/dist/objective-state-writers.js +1 -0
- package/dist/objective-state-writers.js.map +1 -1
- package/dist/objective-state.js +1 -0
- package/dist/openai-chat-compat.js +1 -0
- package/dist/operator-toolkit.d.ts +46 -2
- package/dist/operator-toolkit.js +28 -16
- package/dist/opik-exporter.js +1 -0
- package/dist/opik-exporter.js.map +1 -1
- package/dist/{orchestrator-CmJ-NTdJ.d.ts → orchestrator-ChkesB8U.d.ts} +177 -13
- package/dist/orchestrator.d.ts +6 -4
- package/dist/orchestrator.js +55 -39
- package/dist/page-versioning.js +1 -0
- package/dist/path-RMTY5Y5A.js +9 -0
- package/dist/path-RMTY5Y5A.js.map +1 -0
- package/dist/patterns-cli.d.ts +160 -0
- package/dist/patterns-cli.js +29 -0
- package/dist/patterns-cli.js.map +1 -0
- package/dist/peers-6OSQ3NK6.js +44 -0
- package/dist/peers-6OSQ3NK6.js.map +1 -0
- package/dist/plugin-id.js +1 -0
- package/dist/policy-runtime.js +1 -0
- package/dist/{port-BADbLZU5.d.ts → port-hqGnoStS.d.ts} +6 -0
- package/dist/profiling.js +1 -0
- package/dist/purge-6ATBGT77.js +205 -0
- package/dist/purge-6ATBGT77.js.map +1 -0
- package/dist/qmd-recall-cache.d.ts +1 -1
- package/dist/qmd-recall-cache.js +1 -0
- package/dist/qmd.d.ts +2 -1
- package/dist/qmd.js +4 -3
- package/dist/reasoning-trace-recall.js +1 -0
- package/dist/reasoning-trace-types.js +1 -0
- package/dist/recall-audit-anomaly.js +1 -0
- package/dist/recall-audit.js +1 -0
- package/dist/recall-disclosure-escalation.d.ts +84 -0
- package/dist/recall-disclosure-escalation.js +14 -0
- package/dist/recall-disclosure-escalation.js.map +1 -0
- package/dist/recall-explain-renderer.js +4 -1
- package/dist/recall-mmr.js +1 -0
- package/dist/recall-qos.js +1 -0
- package/dist/recall-query-policy.js +1 -0
- package/dist/recall-state.d.ts +7 -0
- package/dist/recall-state.js +2 -1
- package/dist/recall-tag-filter.d.ts +56 -0
- package/dist/recall-tag-filter.js +14 -0
- package/dist/recall-tag-filter.js.map +1 -0
- package/dist/recall-tokenization.js +1 -0
- package/dist/recall-xray-cli.d.ts +9 -2
- package/dist/recall-xray-cli.js +9 -4
- package/dist/recall-xray-renderer.js +4 -1
- package/dist/recall-xray.d.ts +116 -2
- package/dist/recall-xray.js +9 -3
- package/dist/reconstruct.js +1 -0
- package/dist/release-changelog.js +2 -0
- package/dist/release-changelog.js.map +1 -1
- package/dist/relevance.js +1 -0
- package/dist/rerank.js +1 -0
- package/dist/{resolution-QBTDHTG7.js → resolution-YGIBORXI.js} +2 -1
- package/dist/{resolution-QBTDHTG7.js.map → resolution-YGIBORXI.js.map} +1 -1
- package/dist/resolve-auth-token.d.ts +51 -0
- package/dist/resolve-auth-token.js +12 -0
- package/dist/resolve-auth-token.js.map +1 -0
- package/dist/resolve-provider-secret.d.ts +9 -1
- package/dist/resolve-provider-secret.js +4 -1
- package/dist/resume-bundles.js +4 -3
- package/dist/retrieval-agents.d.ts +1 -1
- package/dist/retrieval-agents.js +1 -0
- package/dist/retrieval-tiers.js +1 -0
- package/dist/retrieval.js +1 -0
- package/dist/sanitize.js +1 -0
- package/dist/schemas.d.ts +37 -24
- package/dist/schemas.js +2 -1
- package/dist/sdk-compat.js +1 -0
- package/dist/sdk-compat.js.map +1 -1
- package/dist/secure-store-4R2GSO7S.js +156 -0
- package/dist/secure-store-4R2GSO7S.js.map +1 -0
- package/dist/semantic-chunking.js +1 -0
- package/dist/{semantic-consolidation-CxJU6MJk.d.ts → semantic-consolidation-ByBXb-sf.d.ts} +3 -3
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +11 -6
- package/dist/semantic-rule-promotion.d.ts +1 -1
- package/dist/semantic-rule-promotion.js +9 -6
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +9 -6
- package/dist/session-integrity.js +1 -0
- package/dist/session-observer-bands.js +1 -0
- package/dist/session-observer-state.js +1 -0
- package/dist/session-toggles.js +2 -0
- package/dist/session-toggles.js.map +1 -1
- package/dist/signal.js +1 -0
- package/dist/skills-registry.js +2 -0
- package/dist/skills-registry.js.map +1 -1
- package/dist/source-attribution.js +1 -0
- package/dist/state-NCHQ4TRG.js +8 -0
- package/dist/state-NCHQ4TRG.js.map +1 -0
- package/dist/state-store-3EH7HYIN.js +16 -0
- package/dist/state-store-3EH7HYIN.js.map +1 -0
- package/dist/storage.d.ts +76 -2
- package/dist/storage.js +8 -5
- package/dist/store-contract.js +1 -0
- package/dist/summarizer.js +5 -4
- package/dist/summary-snapshot.js +1 -0
- package/dist/temporal-index.js +1 -0
- package/dist/temporal-supersession.d.ts +1 -1
- package/dist/temporal-supersession.js +2 -1
- package/dist/temporal-validity.d.ts +52 -0
- package/dist/temporal-validity.js +14 -0
- package/dist/temporal-validity.js.map +1 -0
- package/dist/threading.js +1 -0
- package/dist/tier-migration.d.ts +2 -2
- package/dist/tier-migration.js +1 -0
- package/dist/tier-routing.js +1 -0
- package/dist/tier-stats-62ZVDFKS.js +152 -0
- package/dist/tier-stats-62ZVDFKS.js.map +1 -0
- package/dist/tmt.js +1 -0
- package/dist/tokens.js +1 -0
- package/dist/topics.js +1 -0
- package/dist/trace-C5ETWBEF.js +290 -0
- package/dist/trace-C5ETWBEF.js.map +1 -0
- package/dist/transcript.js +1 -0
- package/dist/trust-zones.js +1 -0
- package/dist/tui-RI7P6PBS.js +13 -0
- package/dist/tui-RI7P6PBS.js.map +1 -0
- package/dist/types-V3FJ26TF.js +30 -0
- package/dist/types-V3FJ26TF.js.map +1 -0
- package/dist/types.d.ts +634 -9
- package/dist/types.js +10 -3
- package/dist/utility-learner.js +1 -0
- package/dist/utility-runtime.js +1 -0
- package/dist/utility-telemetry.js +1 -0
- package/dist/verified-recall.js +9 -6
- package/dist/version-utils.js +1 -0
- package/dist/whitespace.js +1 -0
- package/dist/work-product-ledger.js +1 -0
- package/package.json +2 -1
- package/dist/access-service-Br8ZydTK.d.ts +0 -827
- package/dist/chunk-3OGMS3PE.js.map +0 -1
- package/dist/chunk-3YGHKTBF.js.map +0 -1
- package/dist/chunk-6PFRXT4K.js.map +0 -1
- package/dist/chunk-6YJHX2DL.js.map +0 -1
- package/dist/chunk-BECYBZLX.js.map +0 -1
- package/dist/chunk-C2EFFULQ.js.map +0 -1
- package/dist/chunk-CUPFXL3J.js.map +0 -1
- package/dist/chunk-DIXB44VE.js.map +0 -1
- package/dist/chunk-F5VP6YCB.js.map +0 -1
- package/dist/chunk-FVA6TGI3.js.map +0 -1
- package/dist/chunk-GA5P7RST.js.map +0 -1
- package/dist/chunk-KVBLZUKV.js.map +0 -1
- package/dist/chunk-L7IXWRYE.js.map +0 -1
- package/dist/chunk-LOIMBRDE.js.map +0 -1
- package/dist/chunk-LTCGGW2D.js +0 -14
- package/dist/chunk-LTCGGW2D.js.map +0 -1
- package/dist/chunk-NZLQTHS5.js.map +0 -1
- package/dist/chunk-OC5OXUQ4.js.map +0 -1
- package/dist/chunk-PVPWZSSI.js.map +0 -1
- package/dist/chunk-SPI27QT6.js.map +0 -1
- package/dist/chunk-STGWEHYR.js.map +0 -1
- package/dist/chunk-TP4FZJIZ.js.map +0 -1
- package/dist/chunk-ULYOGL6R.js.map +0 -1
- package/dist/chunk-UWB5LMWY.js.map +0 -1
- package/dist/chunk-VBVG2M5G.js.map +0 -1
- package/dist/chunk-VDX363PS.js.map +0 -1
- package/dist/chunk-WCLICCGB.js.map +0 -1
- package/dist/chunk-X6GF3FX2.js +0 -26
- package/dist/chunk-X6GF3FX2.js.map +0 -1
- package/dist/chunk-XXVWLXSG.js.map +0 -1
- package/dist/chunk-Y7R2XJ5Q.js.map +0 -1
- package/dist/chunk-ZAIM4TUE.js.map +0 -1
- /package/dist/{contradiction-review-WIUBAR52.js.map → capsule-cli.js.map} +0 -0
- /package/dist/{engine-72LSIWQP.js.map → capsule-crypto-5CYAGVC5.js.map} +0 -0
- /package/dist/{chunk-TMYO7B5P.js.map → chunk-47WOM4YW.js.map} +0 -0
- /package/dist/{chunk-DG6YMRDC.js.map → chunk-B2TL6GA2.js.map} +0 -0
- /package/dist/{chunk-AYXIPSZO.js.map → chunk-CRU27Q4J.js.map} +0 -0
- /package/dist/{chunk-RBBWYEFJ.js.map → chunk-G2WADRQ3.js.map} +0 -0
- /package/dist/{chunk-NBVAS5MT.js.map → chunk-R2L7SUX2.js.map} +0 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MIN_PASSPHRASE_LENGTH,
|
|
3
|
+
createPassphraseReader,
|
|
4
|
+
renderDisableReport,
|
|
5
|
+
renderInitReport,
|
|
6
|
+
renderLockReport,
|
|
7
|
+
renderMigrateReport,
|
|
8
|
+
renderStatusReport,
|
|
9
|
+
renderUnlockReport,
|
|
10
|
+
runSecureStoreDisable,
|
|
11
|
+
runSecureStoreInit,
|
|
12
|
+
runSecureStoreLock,
|
|
13
|
+
runSecureStoreMigrate,
|
|
14
|
+
runSecureStoreStatus,
|
|
15
|
+
runSecureStoreUnlock
|
|
16
|
+
} from "./chunk-CK5NTM2S.js";
|
|
17
|
+
import {
|
|
18
|
+
FILE_FORMAT_FLAGS,
|
|
19
|
+
FILE_FORMAT_VERSION,
|
|
20
|
+
MAGIC_BYTES,
|
|
21
|
+
MAGIC_HEADER_SIZE,
|
|
22
|
+
SecureStoreDecryptError,
|
|
23
|
+
SecureStoreLockedError,
|
|
24
|
+
decryptFileBody,
|
|
25
|
+
decryptMemoryDirToPlaintext,
|
|
26
|
+
encryptFileBody,
|
|
27
|
+
filePathAad,
|
|
28
|
+
isEncryptedFile,
|
|
29
|
+
migrateMemoryDirToEncrypted,
|
|
30
|
+
readMaybeEncryptedFile,
|
|
31
|
+
writeMaybeEncryptedFile
|
|
32
|
+
} from "./chunk-YNJHCGDT.js";
|
|
33
|
+
import {
|
|
34
|
+
HEADER_FILENAME,
|
|
35
|
+
HEADER_FORMAT,
|
|
36
|
+
HEADER_FORMAT_VERSION,
|
|
37
|
+
SECURE_STORE_DIR_NAME,
|
|
38
|
+
buildHeader,
|
|
39
|
+
buildHeaderFromPassphrase,
|
|
40
|
+
deriveKeyFromHeader,
|
|
41
|
+
headerPath,
|
|
42
|
+
keyring_exports,
|
|
43
|
+
parseHeader,
|
|
44
|
+
readHeader,
|
|
45
|
+
secureStoreDir,
|
|
46
|
+
serializeHeader,
|
|
47
|
+
validateHeader,
|
|
48
|
+
verifyKey,
|
|
49
|
+
writeHeader
|
|
50
|
+
} from "./chunk-BJMBJZ2Y.js";
|
|
51
|
+
import {
|
|
52
|
+
METADATA_FORMAT,
|
|
53
|
+
METADATA_FORMAT_VERSION,
|
|
54
|
+
buildMetadata,
|
|
55
|
+
decodeMetadataSalt,
|
|
56
|
+
parseMetadata,
|
|
57
|
+
serializeMetadata,
|
|
58
|
+
validateMetadata
|
|
59
|
+
} from "./chunk-UKJAGEXH.js";
|
|
60
|
+
import {
|
|
61
|
+
DEFAULT_ARGON2ID_PARAMS,
|
|
62
|
+
DEFAULT_SCRYPT_PARAMS,
|
|
63
|
+
KDF_KEY_LENGTH,
|
|
64
|
+
KDF_SALT_LENGTH,
|
|
65
|
+
constantTimeEqual,
|
|
66
|
+
deriveKey,
|
|
67
|
+
deriveKeyScrypt,
|
|
68
|
+
validateScryptParams
|
|
69
|
+
} from "./chunk-FP2373TW.js";
|
|
70
|
+
import {
|
|
71
|
+
AES_KEY_LENGTH,
|
|
72
|
+
AUTH_TAG_LENGTH,
|
|
73
|
+
ENVELOPE_HEADER_SIZE,
|
|
74
|
+
ENVELOPE_LAYOUT,
|
|
75
|
+
ENVELOPE_SALT_LENGTH,
|
|
76
|
+
ENVELOPE_VERSION,
|
|
77
|
+
IV_LENGTH,
|
|
78
|
+
generateSalt,
|
|
79
|
+
open,
|
|
80
|
+
parseEnvelope,
|
|
81
|
+
seal
|
|
82
|
+
} from "./chunk-A6XUJE5D.js";
|
|
83
|
+
import "./chunk-PZ5AY32C.js";
|
|
84
|
+
export {
|
|
85
|
+
AES_KEY_LENGTH,
|
|
86
|
+
AUTH_TAG_LENGTH,
|
|
87
|
+
DEFAULT_ARGON2ID_PARAMS,
|
|
88
|
+
DEFAULT_SCRYPT_PARAMS,
|
|
89
|
+
ENVELOPE_HEADER_SIZE,
|
|
90
|
+
ENVELOPE_LAYOUT,
|
|
91
|
+
ENVELOPE_SALT_LENGTH,
|
|
92
|
+
ENVELOPE_VERSION,
|
|
93
|
+
FILE_FORMAT_FLAGS,
|
|
94
|
+
FILE_FORMAT_VERSION,
|
|
95
|
+
HEADER_FILENAME,
|
|
96
|
+
HEADER_FORMAT,
|
|
97
|
+
HEADER_FORMAT_VERSION,
|
|
98
|
+
IV_LENGTH,
|
|
99
|
+
KDF_KEY_LENGTH,
|
|
100
|
+
KDF_SALT_LENGTH,
|
|
101
|
+
MAGIC_BYTES,
|
|
102
|
+
MAGIC_HEADER_SIZE,
|
|
103
|
+
METADATA_FORMAT,
|
|
104
|
+
METADATA_FORMAT_VERSION,
|
|
105
|
+
MIN_PASSPHRASE_LENGTH,
|
|
106
|
+
SECURE_STORE_DIR_NAME,
|
|
107
|
+
SecureStoreDecryptError,
|
|
108
|
+
SecureStoreLockedError,
|
|
109
|
+
buildHeader,
|
|
110
|
+
buildHeaderFromPassphrase,
|
|
111
|
+
buildMetadata,
|
|
112
|
+
constantTimeEqual,
|
|
113
|
+
createPassphraseReader,
|
|
114
|
+
decodeMetadataSalt,
|
|
115
|
+
decryptFileBody,
|
|
116
|
+
decryptMemoryDirToPlaintext,
|
|
117
|
+
deriveKey,
|
|
118
|
+
deriveKeyFromHeader,
|
|
119
|
+
deriveKeyScrypt,
|
|
120
|
+
encryptFileBody,
|
|
121
|
+
filePathAad,
|
|
122
|
+
generateSalt,
|
|
123
|
+
headerPath,
|
|
124
|
+
isEncryptedFile,
|
|
125
|
+
keyring_exports as keyring,
|
|
126
|
+
migrateMemoryDirToEncrypted,
|
|
127
|
+
open,
|
|
128
|
+
parseEnvelope,
|
|
129
|
+
parseHeader,
|
|
130
|
+
parseMetadata,
|
|
131
|
+
readHeader,
|
|
132
|
+
readMaybeEncryptedFile,
|
|
133
|
+
renderDisableReport,
|
|
134
|
+
renderInitReport,
|
|
135
|
+
renderLockReport,
|
|
136
|
+
renderMigrateReport,
|
|
137
|
+
renderStatusReport,
|
|
138
|
+
renderUnlockReport,
|
|
139
|
+
runSecureStoreDisable,
|
|
140
|
+
runSecureStoreInit,
|
|
141
|
+
runSecureStoreLock,
|
|
142
|
+
runSecureStoreMigrate,
|
|
143
|
+
runSecureStoreStatus,
|
|
144
|
+
runSecureStoreUnlock,
|
|
145
|
+
seal,
|
|
146
|
+
secureStoreDir,
|
|
147
|
+
serializeHeader,
|
|
148
|
+
serializeMetadata,
|
|
149
|
+
validateHeader,
|
|
150
|
+
validateMetadata,
|
|
151
|
+
validateScryptParams,
|
|
152
|
+
verifyKey,
|
|
153
|
+
writeHeader,
|
|
154
|
+
writeMaybeEncryptedFile
|
|
155
|
+
};
|
|
156
|
+
//# sourceMappingURL=secure-store-4R2GSO7S.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PluginConfig, MemoryFile } from './types.js';
|
|
2
2
|
import { R as RolloutSummaryInput, M as MaterializeResult } from './codex-materialize-CQlLTzke.js';
|
|
3
3
|
import { LoggerBackend } from './logger.js';
|
|
4
|
-
import {
|
|
4
|
+
import { SemanticConsolidationLlmOperator } from './consolidation-operator.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* memory-extension-host/types.ts — Types for third-party memory extension discovery.
|
|
@@ -104,7 +104,7 @@ declare function parseConsolidationResponse(response: string): string;
|
|
|
104
104
|
* returns). Callers persist this as the body of the new memory.
|
|
105
105
|
*/
|
|
106
106
|
interface OperatorAwareConsolidationResult {
|
|
107
|
-
operator:
|
|
107
|
+
operator: SemanticConsolidationLlmOperator;
|
|
108
108
|
output: string;
|
|
109
109
|
}
|
|
110
110
|
/**
|
|
@@ -126,7 +126,7 @@ interface OperatorAwareConsolidationResult {
|
|
|
126
126
|
* logical source actually encodes several distinct facts — at which
|
|
127
127
|
* point the orchestrator would need to write multiple outputs.
|
|
128
128
|
*/
|
|
129
|
-
declare function chooseConsolidationOperator(cluster: ConsolidationCluster):
|
|
129
|
+
declare function chooseConsolidationOperator(cluster: ConsolidationCluster): SemanticConsolidationLlmOperator;
|
|
130
130
|
/**
|
|
131
131
|
* Build the operator-aware LLM prompt. The LLM is asked to return a
|
|
132
132
|
* JSON object `{ "operator": <split|merge|update>, "output": <content> }`.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import './types.js';
|
|
2
2
|
import './codex-materialize-CQlLTzke.js';
|
|
3
|
-
export { C as ConsolidationCluster, O as OperatorAwareConsolidationResult, S as SemanticConsolidationResult, a as buildConsolidationPrompt, b as buildExtensionsBlockForConsolidation, c as buildOperatorAwareConsolidationPrompt, e as chooseConsolidationOperator, f as findSimilarClusters, m as materializeAfterSemanticConsolidation, p as parseConsolidationResponse, g as parseOperatorAwareConsolidationResponse, r as resolveExtensionsRoot } from './semantic-consolidation-
|
|
4
|
-
export { CONSOLIDATION_OPERATORS, ConsolidationOperator, isConsolidationOperator, isValidDerivedFromEntry } from './consolidation-operator.js';
|
|
3
|
+
export { C as ConsolidationCluster, O as OperatorAwareConsolidationResult, S as SemanticConsolidationResult, a as buildConsolidationPrompt, b as buildExtensionsBlockForConsolidation, c as buildOperatorAwareConsolidationPrompt, e as chooseConsolidationOperator, f as findSimilarClusters, m as materializeAfterSemanticConsolidation, p as parseConsolidationResponse, g as parseOperatorAwareConsolidationResponse, r as resolveExtensionsRoot } from './semantic-consolidation-ByBXb-sf.js';
|
|
4
|
+
export { CONSOLIDATION_OPERATORS, ConsolidationOperator, SemanticConsolidationLlmOperator, isConsolidationOperator, isSemanticConsolidationLlmOperator, isValidDerivedFromEntry } from './consolidation-operator.js';
|
|
5
5
|
import './logger.js';
|
|
@@ -7,16 +7,17 @@ import {
|
|
|
7
7
|
materializeAfterSemanticConsolidation,
|
|
8
8
|
parseConsolidationResponse,
|
|
9
9
|
parseOperatorAwareConsolidationResponse
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-55FXRRSJ.js";
|
|
11
11
|
import {
|
|
12
12
|
resolveExtensionsRoot
|
|
13
13
|
} from "./chunk-EJI5XIBB.js";
|
|
14
14
|
import "./chunk-DT5TVLJE.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-DCE6SQLA.js";
|
|
16
|
+
import "./chunk-YNJHCGDT.js";
|
|
17
17
|
import "./chunk-4KAN3GZ3.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-43EKP2UK.js";
|
|
19
|
+
import "./chunk-PFV5C235.js";
|
|
20
|
+
import "./chunk-RULE4VG5.js";
|
|
20
21
|
import "./chunk-SCU65EZI.js";
|
|
21
22
|
import "./chunk-BOUYNNYD.js";
|
|
22
23
|
import "./chunk-DM2T26WE.js";
|
|
@@ -26,11 +27,14 @@ import "./chunk-4DJQYKMN.js";
|
|
|
26
27
|
import {
|
|
27
28
|
CONSOLIDATION_OPERATORS,
|
|
28
29
|
isConsolidationOperator,
|
|
30
|
+
isSemanticConsolidationLlmOperator,
|
|
29
31
|
isValidDerivedFromEntry
|
|
30
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-G7D6GZ5J.js";
|
|
31
33
|
import "./chunk-FAAFWE4G.js";
|
|
32
34
|
import "./chunk-MARWOCVP.js";
|
|
33
35
|
import "./chunk-2ODBA7MQ.js";
|
|
36
|
+
import "./chunk-A6XUJE5D.js";
|
|
37
|
+
import "./chunk-PZ5AY32C.js";
|
|
34
38
|
export {
|
|
35
39
|
CONSOLIDATION_OPERATORS,
|
|
36
40
|
buildConsolidationPrompt,
|
|
@@ -39,6 +43,7 @@ export {
|
|
|
39
43
|
chooseConsolidationOperator,
|
|
40
44
|
findSimilarClusters,
|
|
41
45
|
isConsolidationOperator,
|
|
46
|
+
isSemanticConsolidationLlmOperator,
|
|
42
47
|
isValidDerivedFromEntry,
|
|
43
48
|
materializeAfterSemanticConsolidation,
|
|
44
49
|
parseConsolidationResponse,
|
|
@@ -9,7 +9,7 @@ interface SemanticRulePromotionCandidate {
|
|
|
9
9
|
}
|
|
10
10
|
interface SemanticRulePromotionSkip {
|
|
11
11
|
sourceMemoryId: string;
|
|
12
|
-
reason: "disabled" | "source-memory-missing" | "source-memory-not-episode" | "no-explicit-rule" | "duplicate-rule";
|
|
12
|
+
reason: "disabled" | "source-memory-missing" | "source-memory-forgotten" | "source-memory-not-episode" | "no-explicit-rule" | "duplicate-rule";
|
|
13
13
|
existingRuleId?: string;
|
|
14
14
|
}
|
|
15
15
|
interface SemanticRulePromotionReport {
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
2
|
promoteSemanticRuleFromMemory
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-34F3PLWZ.js";
|
|
4
|
+
import "./chunk-DCE6SQLA.js";
|
|
5
|
+
import "./chunk-YNJHCGDT.js";
|
|
6
6
|
import "./chunk-4KAN3GZ3.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-43EKP2UK.js";
|
|
8
|
+
import "./chunk-PFV5C235.js";
|
|
9
|
+
import "./chunk-RULE4VG5.js";
|
|
9
10
|
import "./chunk-SCU65EZI.js";
|
|
10
11
|
import "./chunk-BOUYNNYD.js";
|
|
11
12
|
import "./chunk-DM2T26WE.js";
|
|
12
13
|
import "./chunk-QSVPYQPG.js";
|
|
13
14
|
import "./chunk-M62O4P4T.js";
|
|
14
15
|
import "./chunk-4DJQYKMN.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-G7D6GZ5J.js";
|
|
16
17
|
import "./chunk-FAAFWE4G.js";
|
|
17
18
|
import "./chunk-2ODBA7MQ.js";
|
|
19
|
+
import "./chunk-A6XUJE5D.js";
|
|
20
|
+
import "./chunk-PZ5AY32C.js";
|
|
18
21
|
export {
|
|
19
22
|
promoteSemanticRuleFromMemory
|
|
20
23
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MemoryFile } from './types.js';
|
|
2
2
|
|
|
3
|
-
type SemanticRuleVerificationStatus = "verified" | "source-memory-missing" | "source-memory-archived" | "source-memory-not-episode";
|
|
3
|
+
type SemanticRuleVerificationStatus = "verified" | "source-memory-missing" | "source-memory-archived" | "source-memory-forgotten" | "source-memory-not-episode";
|
|
4
4
|
interface VerifiedSemanticRuleResult {
|
|
5
5
|
rule: MemoryFile;
|
|
6
6
|
score: number;
|
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
import {
|
|
2
2
|
searchVerifiedSemanticRules
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-L5IIGA5V.js";
|
|
4
4
|
import "./chunk-DT5TVLJE.js";
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-DCE6SQLA.js";
|
|
6
|
+
import "./chunk-YNJHCGDT.js";
|
|
7
7
|
import "./chunk-4KAN3GZ3.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-43EKP2UK.js";
|
|
9
|
+
import "./chunk-PFV5C235.js";
|
|
10
|
+
import "./chunk-RULE4VG5.js";
|
|
10
11
|
import "./chunk-SCU65EZI.js";
|
|
11
12
|
import "./chunk-BOUYNNYD.js";
|
|
12
13
|
import "./chunk-DM2T26WE.js";
|
|
13
14
|
import "./chunk-QSVPYQPG.js";
|
|
14
15
|
import "./chunk-M62O4P4T.js";
|
|
15
16
|
import "./chunk-4DJQYKMN.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-G7D6GZ5J.js";
|
|
17
18
|
import "./chunk-FAAFWE4G.js";
|
|
18
19
|
import "./chunk-2ODBA7MQ.js";
|
|
20
|
+
import "./chunk-A6XUJE5D.js";
|
|
21
|
+
import "./chunk-PZ5AY32C.js";
|
|
19
22
|
export {
|
|
20
23
|
searchVerifiedSemanticRules
|
|
21
24
|
};
|
package/dist/session-toggles.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/session-toggles.ts"],"sourcesContent":["import { mkdir, readFile, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\n\nexport interface SessionToggleStore {\n isDisabled(sessionKey: string, agentId: string): Promise<boolean>;\n resolve(sessionKey: string, agentId: string): Promise<{\n disabled: boolean;\n source: \"primary\" | \"secondary\" | \"none\";\n updatedAt?: string;\n }>;\n setDisabled(sessionKey: string, agentId: string, disabled: boolean): Promise<void>;\n clear(sessionKey: string, agentId: string): Promise<void>;\n list(): Promise<Array<{ sessionKey: string; agentId: string; disabled: boolean; updatedAt: string }>>;\n}\n\ninterface ToggleEntry {\n disabled: boolean;\n updatedAt: string;\n}\n\ninterface ToggleFile {\n version: 1;\n entries: Record<string, ToggleEntry>;\n}\n\ninterface FileToggleStoreOptions {\n secondaryReadOnlyPath?: string;\n}\n\nfunction encodeToggleKey(sessionKey: string, agentId: string): string {\n return `${encodeURIComponent(sessionKey)}::${encodeURIComponent(agentId)}`;\n}\n\nfunction decodeToggleKey(key: string): { sessionKey: string; agentId: string } | null {\n const [encodedSessionKey, encodedAgentId] = key.split(\"::\");\n if (!encodedSessionKey || !encodedAgentId) return null;\n return {\n sessionKey: decodeURIComponent(encodedSessionKey),\n agentId: decodeURIComponent(encodedAgentId),\n };\n}\n\nasync function safeReadToggleFile(filePath: string): Promise<ToggleFile> {\n try {\n const raw = await readFile(filePath, \"utf8\");\n const parsed = JSON.parse(raw) as Partial<ToggleFile>;\n if (!parsed || typeof parsed !== \"object\" || typeof parsed.entries !== \"object\") {\n return { version: 1, entries: {} };\n }\n return {\n version: 1,\n entries: Object.fromEntries(\n Object.entries(parsed.entries).filter(\n ([, value]) =>\n value &&\n typeof value === \"object\" &&\n typeof value.disabled === \"boolean\" &&\n typeof value.updatedAt === \"string\",\n ),\n ) as Record<string, ToggleEntry>,\n };\n } catch {\n return { version: 1, entries: {} };\n }\n}\n\nexport function createFileToggleStore(\n filePath: string,\n options: FileToggleStoreOptions = {},\n): SessionToggleStore {\n let writeChain = Promise.resolve();\n\n async function queueWrite(operation: () => Promise<void>): Promise<void> {\n const run = writeChain.catch(() => undefined).then(operation);\n writeChain = run.catch(() => undefined);\n await run;\n }\n\n async function writeToggleFile(next: ToggleFile): Promise<void> {\n await mkdir(path.dirname(filePath), { recursive: true });\n await writeFile(filePath, JSON.stringify(next, null, 2), \"utf8\");\n }\n\n async function readPrimary(): Promise<ToggleFile> {\n return safeReadToggleFile(filePath);\n }\n\n async function readSecondary(): Promise<ToggleFile> {\n if (!options.secondaryReadOnlyPath) return { version: 1, entries: {} };\n return safeReadToggleFile(options.secondaryReadOnlyPath);\n }\n\n return {\n async isDisabled(sessionKey: string, agentId: string): Promise<boolean> {\n const resolved = await this.resolve(sessionKey, agentId);\n return resolved.disabled;\n },\n\n async resolve(sessionKey: string, agentId: string) {\n const key = encodeToggleKey(sessionKey, agentId);\n const primary = await readPrimary();\n if (primary.entries[key]) {\n return {\n disabled: primary.entries[key].disabled,\n source: \"primary\" as const,\n updatedAt: primary.entries[key].updatedAt,\n };\n }\n const secondary = await readSecondary();\n if (secondary.entries[key]) {\n return {\n disabled: secondary.entries[key].disabled,\n source: \"secondary\" as const,\n updatedAt: secondary.entries[key].updatedAt,\n };\n }\n return { disabled: false, source: \"none\" as const };\n },\n\n async setDisabled(sessionKey: string, agentId: string, disabled: boolean): Promise<void> {\n const key = encodeToggleKey(sessionKey, agentId);\n await queueWrite(async () => {\n const current = await readPrimary();\n current.entries[key] = {\n disabled,\n updatedAt: new Date().toISOString(),\n };\n await writeToggleFile(current);\n });\n },\n\n async clear(sessionKey: string, agentId: string): Promise<void> {\n const key = encodeToggleKey(sessionKey, agentId);\n await queueWrite(async () => {\n const current = await readPrimary();\n delete current.entries[key];\n await writeToggleFile(current);\n });\n },\n\n async list() {\n const current = await readPrimary();\n return Object.entries(current.entries)\n .map(([key, value]) => {\n const decoded = decodeToggleKey(key);\n if (!decoded) return null;\n return {\n sessionKey: decoded.sessionKey,\n agentId: decoded.agentId,\n disabled: value.disabled,\n updatedAt: value.updatedAt,\n };\n })\n .filter((value): value is { sessionKey: string; agentId: string; disabled: boolean; updatedAt: string } =>\n value !== null\n );\n },\n };\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/session-toggles.ts"],"sourcesContent":["import { mkdir, readFile, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\n\nexport interface SessionToggleStore {\n isDisabled(sessionKey: string, agentId: string): Promise<boolean>;\n resolve(sessionKey: string, agentId: string): Promise<{\n disabled: boolean;\n source: \"primary\" | \"secondary\" | \"none\";\n updatedAt?: string;\n }>;\n setDisabled(sessionKey: string, agentId: string, disabled: boolean): Promise<void>;\n clear(sessionKey: string, agentId: string): Promise<void>;\n list(): Promise<Array<{ sessionKey: string; agentId: string; disabled: boolean; updatedAt: string }>>;\n}\n\ninterface ToggleEntry {\n disabled: boolean;\n updatedAt: string;\n}\n\ninterface ToggleFile {\n version: 1;\n entries: Record<string, ToggleEntry>;\n}\n\ninterface FileToggleStoreOptions {\n secondaryReadOnlyPath?: string;\n}\n\nfunction encodeToggleKey(sessionKey: string, agentId: string): string {\n return `${encodeURIComponent(sessionKey)}::${encodeURIComponent(agentId)}`;\n}\n\nfunction decodeToggleKey(key: string): { sessionKey: string; agentId: string } | null {\n const [encodedSessionKey, encodedAgentId] = key.split(\"::\");\n if (!encodedSessionKey || !encodedAgentId) return null;\n return {\n sessionKey: decodeURIComponent(encodedSessionKey),\n agentId: decodeURIComponent(encodedAgentId),\n };\n}\n\nasync function safeReadToggleFile(filePath: string): Promise<ToggleFile> {\n try {\n const raw = await readFile(filePath, \"utf8\");\n const parsed = JSON.parse(raw) as Partial<ToggleFile>;\n if (!parsed || typeof parsed !== \"object\" || typeof parsed.entries !== \"object\") {\n return { version: 1, entries: {} };\n }\n return {\n version: 1,\n entries: Object.fromEntries(\n Object.entries(parsed.entries).filter(\n ([, value]) =>\n value &&\n typeof value === \"object\" &&\n typeof value.disabled === \"boolean\" &&\n typeof value.updatedAt === \"string\",\n ),\n ) as Record<string, ToggleEntry>,\n };\n } catch {\n return { version: 1, entries: {} };\n }\n}\n\nexport function createFileToggleStore(\n filePath: string,\n options: FileToggleStoreOptions = {},\n): SessionToggleStore {\n let writeChain = Promise.resolve();\n\n async function queueWrite(operation: () => Promise<void>): Promise<void> {\n const run = writeChain.catch(() => undefined).then(operation);\n writeChain = run.catch(() => undefined);\n await run;\n }\n\n async function writeToggleFile(next: ToggleFile): Promise<void> {\n await mkdir(path.dirname(filePath), { recursive: true });\n await writeFile(filePath, JSON.stringify(next, null, 2), \"utf8\");\n }\n\n async function readPrimary(): Promise<ToggleFile> {\n return safeReadToggleFile(filePath);\n }\n\n async function readSecondary(): Promise<ToggleFile> {\n if (!options.secondaryReadOnlyPath) return { version: 1, entries: {} };\n return safeReadToggleFile(options.secondaryReadOnlyPath);\n }\n\n return {\n async isDisabled(sessionKey: string, agentId: string): Promise<boolean> {\n const resolved = await this.resolve(sessionKey, agentId);\n return resolved.disabled;\n },\n\n async resolve(sessionKey: string, agentId: string) {\n const key = encodeToggleKey(sessionKey, agentId);\n const primary = await readPrimary();\n if (primary.entries[key]) {\n return {\n disabled: primary.entries[key].disabled,\n source: \"primary\" as const,\n updatedAt: primary.entries[key].updatedAt,\n };\n }\n const secondary = await readSecondary();\n if (secondary.entries[key]) {\n return {\n disabled: secondary.entries[key].disabled,\n source: \"secondary\" as const,\n updatedAt: secondary.entries[key].updatedAt,\n };\n }\n return { disabled: false, source: \"none\" as const };\n },\n\n async setDisabled(sessionKey: string, agentId: string, disabled: boolean): Promise<void> {\n const key = encodeToggleKey(sessionKey, agentId);\n await queueWrite(async () => {\n const current = await readPrimary();\n current.entries[key] = {\n disabled,\n updatedAt: new Date().toISOString(),\n };\n await writeToggleFile(current);\n });\n },\n\n async clear(sessionKey: string, agentId: string): Promise<void> {\n const key = encodeToggleKey(sessionKey, agentId);\n await queueWrite(async () => {\n const current = await readPrimary();\n delete current.entries[key];\n await writeToggleFile(current);\n });\n },\n\n async list() {\n const current = await readPrimary();\n return Object.entries(current.entries)\n .map(([key, value]) => {\n const decoded = decodeToggleKey(key);\n if (!decoded) return null;\n return {\n sessionKey: decoded.sessionKey,\n agentId: decoded.agentId,\n disabled: value.disabled,\n updatedAt: value.updatedAt,\n };\n })\n .filter((value): value is { sessionKey: string; agentId: string; disabled: boolean; updatedAt: string } =>\n value !== null\n );\n },\n };\n}\n"],"mappings":"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","names":[]}
|
package/dist/signal.js
CHANGED
package/dist/skills-registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/skills-registry.ts"],"sourcesContent":["/**\n * skills-registry.ts\n *\n * Built-in Remnic procedural memory skills — the canonical SKILL.md sources\n * shipped with the monorepo. Consumers (e.g. the Codex materializer in #378)\n * read this registry to discover which skills to materialize into\n * `~/.codex/memories/skills/<slug>/SKILL.md`.\n *\n * This module is intentionally free of Codex/Claude Code host coupling —\n * it only exposes the static metadata each host needs.\n */\n\nimport { fileURLToPath } from \"node:url\";\nimport { dirname, resolve } from \"node:path\";\n\n/**\n * A single procedural-memory skill source that Remnic ships.\n *\n * - `slug` is the canonical folder name under `skills/` and the file on disk\n * must live at `<pluginRoot>/skills/<slug>/SKILL.md`.\n * - `staticPath`, when set, points at a pre-authored SKILL.md on disk.\n * - `generator`, when set, produces a SKILL.md body at materialization time.\n * Exactly one of `staticPath` or `generator` should be provided.\n * - `disableModelInvocation` mirrors the `disable-model-invocation` frontmatter\n * key and indicates a skill that writes or mutates state and therefore\n * should not be auto-invoked by a model without explicit opt-in.\n */\nexport interface RemnicSkillSource {\n slug: string;\n staticPath?: string;\n generator?: () => Promise<string>;\n disableModelInvocation: boolean;\n}\n\n/**\n * Validate a Remnic skill slug. Rules:\n *\n * - lowercase letters, digits, and `-` only\n * - must start with a letter or digit\n * - 1–64 characters\n *\n * This is the same shape the Codex skills directory expects.\n */\nexport function isValidSkillSlug(slug: string): boolean {\n // Must start with alphanumeric; each dash must be followed by alphanumeric\n // (no trailing dashes, no consecutive dashes); 1–64 characters total.\n return /^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,63}$/.test(slug);\n}\n\n// ---------------------------------------------------------------------------\n// Built-in skill paths — resolved relative to this source file.\n// ---------------------------------------------------------------------------\n//\n// This file lives at `packages/remnic-core/src/skills-registry.ts`.\n// After tsup build it lives at `packages/remnic-core/dist/skills-registry.js`.\n// In both cases, the shipped skill sources live four levels up at\n// `packages/plugin-codex/skills/<slug>/SKILL.md`.\n//\n// We compute the absolute path from the current module so that callers in any\n// cwd can resolve the files.\n\nconst HERE = dirname(fileURLToPath(import.meta.url));\nconst PLUGIN_CODEX_SKILLS_DIR = resolve(HERE, \"..\", \"..\", \"plugin-codex\", \"skills\");\n\nfunction codexSkillPath(slug: string): string {\n return resolve(PLUGIN_CODEX_SKILLS_DIR, slug, \"SKILL.md\");\n}\n\n/**\n * The canonical list of Remnic procedural memory skills shipped with the\n * monorepo. The Codex materializer (#378) copies these into\n * `~/.codex/memories/skills/<slug>/SKILL.md`.\n */\nexport const BUILTIN_SKILLS: RemnicSkillSource[] = [\n {\n slug: \"remnic-memory-workflow\",\n staticPath: codexSkillPath(\"remnic-memory-workflow\"),\n disableModelInvocation: true,\n },\n {\n slug: \"remnic-recall\",\n staticPath: codexSkillPath(\"remnic-recall\"),\n disableModelInvocation: false,\n },\n {\n slug: \"remnic-remember\",\n staticPath: codexSkillPath(\"remnic-remember\"),\n disableModelInvocation: true,\n },\n {\n slug: \"remnic-search\",\n staticPath: codexSkillPath(\"remnic-search\"),\n disableModelInvocation: false,\n },\n {\n slug: \"remnic-entities\",\n staticPath: codexSkillPath(\"remnic-entities\"),\n disableModelInvocation: false,\n },\n {\n slug: \"remnic-status\",\n staticPath: codexSkillPath(\"remnic-status\"),\n disableModelInvocation: false,\n },\n];\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/skills-registry.ts"],"sourcesContent":["/**\n * skills-registry.ts\n *\n * Built-in Remnic procedural memory skills — the canonical SKILL.md sources\n * shipped with the monorepo. Consumers (e.g. the Codex materializer in #378)\n * read this registry to discover which skills to materialize into\n * `~/.codex/memories/skills/<slug>/SKILL.md`.\n *\n * This module is intentionally free of Codex/Claude Code host coupling —\n * it only exposes the static metadata each host needs.\n */\n\nimport { fileURLToPath } from \"node:url\";\nimport { dirname, resolve } from \"node:path\";\n\n/**\n * A single procedural-memory skill source that Remnic ships.\n *\n * - `slug` is the canonical folder name under `skills/` and the file on disk\n * must live at `<pluginRoot>/skills/<slug>/SKILL.md`.\n * - `staticPath`, when set, points at a pre-authored SKILL.md on disk.\n * - `generator`, when set, produces a SKILL.md body at materialization time.\n * Exactly one of `staticPath` or `generator` should be provided.\n * - `disableModelInvocation` mirrors the `disable-model-invocation` frontmatter\n * key and indicates a skill that writes or mutates state and therefore\n * should not be auto-invoked by a model without explicit opt-in.\n */\nexport interface RemnicSkillSource {\n slug: string;\n staticPath?: string;\n generator?: () => Promise<string>;\n disableModelInvocation: boolean;\n}\n\n/**\n * Validate a Remnic skill slug. Rules:\n *\n * - lowercase letters, digits, and `-` only\n * - must start with a letter or digit\n * - 1–64 characters\n *\n * This is the same shape the Codex skills directory expects.\n */\nexport function isValidSkillSlug(slug: string): boolean {\n // Must start with alphanumeric; each dash must be followed by alphanumeric\n // (no trailing dashes, no consecutive dashes); 1–64 characters total.\n return /^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,63}$/.test(slug);\n}\n\n// ---------------------------------------------------------------------------\n// Built-in skill paths — resolved relative to this source file.\n// ---------------------------------------------------------------------------\n//\n// This file lives at `packages/remnic-core/src/skills-registry.ts`.\n// After tsup build it lives at `packages/remnic-core/dist/skills-registry.js`.\n// In both cases, the shipped skill sources live four levels up at\n// `packages/plugin-codex/skills/<slug>/SKILL.md`.\n//\n// We compute the absolute path from the current module so that callers in any\n// cwd can resolve the files.\n\nconst HERE = dirname(fileURLToPath(import.meta.url));\nconst PLUGIN_CODEX_SKILLS_DIR = resolve(HERE, \"..\", \"..\", \"plugin-codex\", \"skills\");\n\nfunction codexSkillPath(slug: string): string {\n return resolve(PLUGIN_CODEX_SKILLS_DIR, slug, \"SKILL.md\");\n}\n\n/**\n * The canonical list of Remnic procedural memory skills shipped with the\n * monorepo. The Codex materializer (#378) copies these into\n * `~/.codex/memories/skills/<slug>/SKILL.md`.\n */\nexport const BUILTIN_SKILLS: RemnicSkillSource[] = [\n {\n slug: \"remnic-memory-workflow\",\n staticPath: codexSkillPath(\"remnic-memory-workflow\"),\n disableModelInvocation: true,\n },\n {\n slug: \"remnic-recall\",\n staticPath: codexSkillPath(\"remnic-recall\"),\n disableModelInvocation: false,\n },\n {\n slug: \"remnic-remember\",\n staticPath: codexSkillPath(\"remnic-remember\"),\n disableModelInvocation: true,\n },\n {\n slug: \"remnic-search\",\n staticPath: codexSkillPath(\"remnic-search\"),\n disableModelInvocation: false,\n },\n {\n slug: \"remnic-entities\",\n staticPath: codexSkillPath(\"remnic-entities\"),\n disableModelInvocation: false,\n },\n {\n slug: \"remnic-status\",\n staticPath: codexSkillPath(\"remnic-status\"),\n disableModelInvocation: false,\n },\n];\n"],"mappings":";;;AAYA,SAAS,qBAAqB;AAC9B,SAAS,SAAS,eAAe;AA8B1B,SAAS,iBAAiB,MAAuB;AAGtD,SAAO,6CAA6C,KAAK,IAAI;AAC/D;AAcA,IAAM,OAAO,QAAQ,cAAc,YAAY,GAAG,CAAC;AACnD,IAAM,0BAA0B,QAAQ,MAAM,MAAM,MAAM,gBAAgB,QAAQ;AAElF,SAAS,eAAe,MAAsB;AAC5C,SAAO,QAAQ,yBAAyB,MAAM,UAAU;AAC1D;AAOO,IAAM,iBAAsC;AAAA,EACjD;AAAA,IACE,MAAM;AAAA,IACN,YAAY,eAAe,wBAAwB;AAAA,IACnD,wBAAwB;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,YAAY,eAAe,eAAe;AAAA,IAC1C,wBAAwB;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,YAAY,eAAe,iBAAiB;AAAA,IAC5C,wBAAwB;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,YAAY,eAAe,eAAe;AAAA,IAC1C,wBAAwB;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,YAAY,eAAe,iBAAiB;AAAA,IAC5C,wBAAwB;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,YAAY,eAAe,eAAe;AAAA,IAC1C,wBAAwB;AAAA,EAC1B;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
_connectorStatePathForTest,
|
|
3
|
+
listConnectorStates,
|
|
4
|
+
readConnectorState,
|
|
5
|
+
writeConnectorState
|
|
6
|
+
} from "./chunk-6TBWYBJ3.js";
|
|
7
|
+
import "./chunk-IXEJRKCZ.js";
|
|
8
|
+
import "./chunk-MARWOCVP.js";
|
|
9
|
+
import "./chunk-PZ5AY32C.js";
|
|
10
|
+
export {
|
|
11
|
+
_connectorStatePathForTest,
|
|
12
|
+
listConnectorStates,
|
|
13
|
+
readConnectorState,
|
|
14
|
+
writeConnectorState
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=state-store-3EH7HYIN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/storage.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VersioningConfig } from './page-versioning.js';
|
|
2
2
|
import { ConsolidationOperator } from './consolidation-operator.js';
|
|
3
3
|
import { PluginConfig, MemoryCategory, ImportanceScore, MemoryLink, MemoryFrontmatter, MemoryStatus, MemoryFile, EntityStructuredSection, BufferState, MetaState, MemoryActionEvent, MemoryLifecycleEvent, BufferSurpriseEvent, BehaviorSignalEvent, CompressionGuidelineOptimizerState, ContinuityIncidentOpenInput, ContinuityIncidentRecord, ContinuityIncidentCloseInput, ContinuityImprovementLoop, ContinuityLoopUpsertInput, ContinuityLoopReviewInput, FileHygieneConfig, EntityRelationship, EntityActivityEntry, EntityFile, AccessTrackingEntry, MemoryProjectionCurrentState, MemorySummary, TopicScore } from './types.js';
|
|
4
|
-
import { P as ProjectedMemoryBrowseOptions, a as ProjectedMemoryBrowsePage, b as readProjectedGovernanceRecord } from './memory-projection-store-
|
|
4
|
+
import { P as ProjectedMemoryBrowseOptions, a as ProjectedMemoryBrowsePage, b as readProjectedGovernanceRecord } from './memory-projection-store-D3vBHS4J.js';
|
|
5
5
|
import 'better-sqlite3';
|
|
6
6
|
|
|
7
7
|
interface ReextractJobRequest {
|
|
@@ -36,7 +36,10 @@ declare class ContentHashIndex {
|
|
|
36
36
|
private hashes;
|
|
37
37
|
private dirty;
|
|
38
38
|
private readonly filePath;
|
|
39
|
-
|
|
39
|
+
private readonly secureStoreKeyProvider;
|
|
40
|
+
private readonly secureStoreWriteKeyProvider;
|
|
41
|
+
private readonly memoryDir;
|
|
42
|
+
constructor(stateDir: string, secureStoreKeyProvider?: () => Buffer | null, secureStoreWriteKeyProvider?: () => Buffer | null, memoryDir?: string);
|
|
40
43
|
/** Load existing hashes from disk. Safe to call multiple times. */
|
|
41
44
|
load(): Promise<void>;
|
|
42
45
|
/** Check if content already exists in the index. */
|
|
@@ -112,6 +115,8 @@ declare class StorageManager {
|
|
|
112
115
|
private static readonly ARTIFACT_INDEX_CACHE_TTL_MS;
|
|
113
116
|
private static readonly artifactWriteVersionByDir;
|
|
114
117
|
private static readonly memoryStatusVersionByDir;
|
|
118
|
+
private static readonly secureStoreEntityCacheKeyIds;
|
|
119
|
+
private static nextSecureStoreEntityCacheKeyId;
|
|
115
120
|
private static readonly coldWriteVersionByDir;
|
|
116
121
|
private static readonly allMemoriesInFlight;
|
|
117
122
|
private static readonly COLD_SCAN_CACHE_TTL_MS;
|
|
@@ -122,12 +127,68 @@ declare class StorageManager {
|
|
|
122
127
|
private factHashIndexLoadPromise;
|
|
123
128
|
private factHashIndexAuthoritative;
|
|
124
129
|
private factHashIndexAuthoritativePromise;
|
|
130
|
+
private readonly secureAppendChains;
|
|
125
131
|
/** Optional: set by the orchestrator after construction to enable template-aware citation stripping during legacy hash rebuild. */
|
|
126
132
|
citationTemplate: string;
|
|
127
133
|
/** Page-versioning configuration. Set by the orchestrator after construction. */
|
|
128
134
|
private _versioningConfig;
|
|
129
135
|
/** Set the page-versioning configuration. When `enabled` is false (default), all versioning calls are no-ops. */
|
|
130
136
|
setVersioningConfig(config: VersioningConfig): void;
|
|
137
|
+
/**
|
|
138
|
+
* At-rest encryption key (issue #690 PR 3/4).
|
|
139
|
+
*
|
|
140
|
+
* When non-null, every memory file read is decrypted and every write
|
|
141
|
+
* is encrypted using the secure-fs layer. When null, the storage
|
|
142
|
+
* layer operates in plain-text mode (legacy/unencrypted store).
|
|
143
|
+
*
|
|
144
|
+
* Set by the orchestrator after init/unlock; cleared on lock.
|
|
145
|
+
* The key buffer is NEVER logged or serialized.
|
|
146
|
+
*/
|
|
147
|
+
private _secureStoreKey;
|
|
148
|
+
/**
|
|
149
|
+
* When true (and `_secureStoreKey` is non-null), new writes are
|
|
150
|
+
* encrypted. Set to false to pause encryption of new writes while
|
|
151
|
+
* still decrypting existing files.
|
|
152
|
+
*/
|
|
153
|
+
private _secureStoreEncryptOnWrite;
|
|
154
|
+
/**
|
|
155
|
+
* When true, the secure-store is configured as required — writes
|
|
156
|
+
* MUST be encrypted and a locked store MUST reject writes rather
|
|
157
|
+
* than silently falling back to plaintext. Set by the orchestrator
|
|
158
|
+
* from `config.secureStoreEnabled`.
|
|
159
|
+
*/
|
|
160
|
+
private _secureStoreRequired;
|
|
161
|
+
/**
|
|
162
|
+
* Set or clear the at-rest encryption key.
|
|
163
|
+
*
|
|
164
|
+
* Pass a 32-byte Buffer to enable encryption; pass null to clear
|
|
165
|
+
* (lock) the store. The caller is responsible for key lifecycle —
|
|
166
|
+
* this method does not zero the buffer on replacement; the keyring
|
|
167
|
+
* module (`keyring.ts`) owns zeroization.
|
|
168
|
+
*/
|
|
169
|
+
setSecureStoreKey(key: Buffer | null, encryptOnWrite?: boolean): void;
|
|
170
|
+
private getEntityCacheSecureStoreKey;
|
|
171
|
+
/**
|
|
172
|
+
* Mark the secure-store as required for this storage instance.
|
|
173
|
+
* When required and locked, writes throw SecureStoreLockedError
|
|
174
|
+
* rather than silently writing plaintext.
|
|
175
|
+
*/
|
|
176
|
+
setSecureStoreRequired(required: boolean): void;
|
|
177
|
+
/** Return true iff the secure-store key is currently set (store is unlocked). */
|
|
178
|
+
isSecureStoreUnlocked(): boolean;
|
|
179
|
+
/**
|
|
180
|
+
* Resolve the effective write key.
|
|
181
|
+
*
|
|
182
|
+
* - If `_secureStoreEncryptOnWrite` is false: returns null (plain write).
|
|
183
|
+
* - If `_secureStoreEncryptOnWrite` is true AND key is set: returns key.
|
|
184
|
+
* - If `_secureStoreEncryptOnWrite` is true AND key is null AND
|
|
185
|
+
* `_secureStoreRequired` is true: throws SecureStoreLockedError so the
|
|
186
|
+
* write fails loudly rather than silently writing plaintext (P1 finding
|
|
187
|
+
* from Cursor review of PR #767).
|
|
188
|
+
* - If `_secureStoreEncryptOnWrite` is true AND key is null AND
|
|
189
|
+
* `_secureStoreRequired` is false: returns null (unencrypted store).
|
|
190
|
+
*/
|
|
191
|
+
private resolveWriteKey;
|
|
131
192
|
/**
|
|
132
193
|
* Snapshot the current content of a page before overwriting.
|
|
133
194
|
* No-op when versioning is disabled or the file does not yet exist.
|
|
@@ -164,6 +225,11 @@ declare class StorageManager {
|
|
|
164
225
|
private get proceduresDir();
|
|
165
226
|
private get reasoningTracesDir();
|
|
166
227
|
private get entitiesDir();
|
|
228
|
+
private readStorageSecureFile;
|
|
229
|
+
private writeStorageSecureFile;
|
|
230
|
+
createContentHashIndex(): ContentHashIndex;
|
|
231
|
+
private appendStorageSecureFile;
|
|
232
|
+
private appendStorageSecureFileUnlocked;
|
|
167
233
|
private get stateDir();
|
|
168
234
|
private get entitySynthesisQueuePath();
|
|
169
235
|
private get factHashIndexReadyPath();
|
|
@@ -247,6 +313,8 @@ declare class StorageManager {
|
|
|
247
313
|
derivedVia?: ConsolidationOperator;
|
|
248
314
|
}): Promise<string>;
|
|
249
315
|
hasFactContentHash(content: string): Promise<boolean>;
|
|
316
|
+
private factContentHashForRemoval;
|
|
317
|
+
removeFactContentHashesForMemories(memories: MemoryFile[]): Promise<void>;
|
|
250
318
|
isFactContentHashAuthoritative(): Promise<boolean>;
|
|
251
319
|
writeArtifact(quote: string, options?: {
|
|
252
320
|
actor?: string;
|
|
@@ -287,6 +355,8 @@ declare class StorageManager {
|
|
|
287
355
|
/** Public cache invalidation for callers that need authoritative disk reads
|
|
288
356
|
* (e.g. projection verify/rebuild). */
|
|
289
357
|
invalidateAllMemoriesCacheForDir(): void;
|
|
358
|
+
/** Invalidate only the cache layers affected by direct tier file deletes. */
|
|
359
|
+
invalidateMemoryCachesForTiers(tiers: Iterable<"hot" | "cold" | "archive">): void;
|
|
290
360
|
/** Clear ALL static caches. Use in tests that write files directly
|
|
291
361
|
* (bypassing StorageManager.writeMemory) to avoid stale reads. */
|
|
292
362
|
static clearAllStaticCaches(): void;
|
|
@@ -477,6 +547,10 @@ declare class StorageManager {
|
|
|
477
547
|
readReextractJobs(limit?: number): Promise<ReextractJobRequest[]>;
|
|
478
548
|
readBehaviorSignals(limit?: number): Promise<BehaviorSignalEvent[]>;
|
|
479
549
|
readMemoryActionEvents(limit?: number): Promise<MemoryActionEvent[]>;
|
|
550
|
+
readMemoryActionEventRows(limit?: number): Promise<Array<{
|
|
551
|
+
line: number;
|
|
552
|
+
event: MemoryActionEvent;
|
|
553
|
+
}>>;
|
|
480
554
|
readAllMemoryLifecycleEvents(): Promise<MemoryLifecycleEvent[]>;
|
|
481
555
|
readMemoryLifecycleEvents(limit?: number): Promise<MemoryLifecycleEvent[]>;
|
|
482
556
|
writeCompressionGuidelines(content: string): Promise<void>;
|