@remnic/core 9.3.613 → 9.3.615
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-cli.js +59 -58
- package/dist/access-cli.js.map +1 -1
- package/dist/access-http.d.ts +4 -2
- package/dist/access-http.js +23 -23
- package/dist/access-mcp.d.ts +9 -2
- package/dist/access-mcp.js +20 -20
- package/dist/access-schema.d.ts +26 -14
- package/dist/access-schema.js +3 -3
- package/dist/{access-service-D2J9dh_9.d.ts → access-service-CBNEKjzN.d.ts} +71 -6
- package/dist/access-service.d.ts +2 -2
- package/dist/access-service.js +17 -17
- package/dist/active-recall.js +20 -3
- package/dist/active-recall.js.map +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/behavior-learner.js +2 -3
- package/dist/behavior-learner.js.map +1 -1
- package/dist/bootstrap.d.ts +1 -1
- package/dist/briefing.js +3 -3
- package/dist/buffer.d.ts +1 -1
- package/dist/buffer.js +1 -1
- package/dist/calibration.d.ts +5 -2
- package/dist/calibration.js +7 -5
- package/dist/calibration.js.map +1 -1
- package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
- package/dist/causal-consolidation.d.ts +8 -2
- package/dist/causal-consolidation.js +13 -11
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/{chunk-3BP57I6J.js → chunk-2F6NP3NT.js} +2 -1
- package/dist/{chunk-3BP57I6J.js.map → chunk-2F6NP3NT.js.map} +1 -1
- package/dist/{chunk-AU7Q3LSC.js → chunk-2QSZNTDO.js} +4 -4
- package/dist/{chunk-HSVJGWYS.js → chunk-2ROPI5OE.js} +2 -2
- package/dist/{chunk-C4SQJZAF.js → chunk-2SGJY2UY.js} +6 -3
- package/dist/chunk-2SGJY2UY.js.map +1 -0
- package/dist/{chunk-ZDTVJXIP.js → chunk-3MAONBX3.js} +13 -5
- package/dist/chunk-3MAONBX3.js.map +1 -0
- package/dist/{chunk-G3Z3QEF5.js → chunk-3PY7VHV7.js} +2 -2
- package/dist/chunk-3PY7VHV7.js.map +1 -0
- package/dist/{chunk-CF3ZF2YU.js → chunk-3QSU4NFF.js} +3 -3
- package/dist/{chunk-AJA46VX5.js → chunk-3T74IZB3.js} +11 -2
- package/dist/chunk-3T74IZB3.js.map +1 -0
- package/dist/{chunk-KVEVLBKC.js → chunk-4HFJQCJZ.js} +13 -8
- package/dist/chunk-4HFJQCJZ.js.map +1 -0
- package/dist/{chunk-KGK2QKWL.js → chunk-4R4KTDIE.js} +1 -1
- package/dist/chunk-4R4KTDIE.js.map +1 -0
- package/dist/{chunk-OI27U2HT.js → chunk-5BTCT236.js} +2 -2
- package/dist/{chunk-TH67Q46T.js → chunk-5OHHEORR.js} +64 -21
- package/dist/chunk-5OHHEORR.js.map +1 -0
- package/dist/{chunk-CO7ZO4TU.js → chunk-5VDJMYTF.js} +2 -2
- package/dist/{chunk-BFBF3XEF.js → chunk-6BDVBBBY.js} +33 -25
- package/dist/{chunk-BFBF3XEF.js.map → chunk-6BDVBBBY.js.map} +1 -1
- package/dist/{chunk-EAZGEEG2.js → chunk-6L46YAEZ.js} +45 -9
- package/dist/chunk-6L46YAEZ.js.map +1 -0
- package/dist/{chunk-YFS5OEKO.js → chunk-7MLB4NCL.js} +2 -2
- package/dist/{chunk-LZ3VEOU5.js → chunk-AL4RAJL5.js} +22 -5
- package/dist/chunk-AL4RAJL5.js.map +1 -0
- package/dist/{chunk-557IAFPD.js → chunk-APRRL26Q.js} +2 -2
- package/dist/{chunk-QDDHYAKV.js → chunk-AZDOWD2L.js} +2 -2
- package/dist/{chunk-MLT75J5S.js → chunk-B6SU7YSE.js} +3 -3
- package/dist/{chunk-FXKPZ3H6.js → chunk-BPSGLMQ4.js} +2 -2
- package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
- package/dist/{chunk-NOMEVTUD.js → chunk-C6C7XVKG.js} +5 -4
- package/dist/chunk-C6C7XVKG.js.map +1 -0
- package/dist/{chunk-XKIQZXUB.js → chunk-CI7RKSRE.js} +7 -1
- package/dist/chunk-CI7RKSRE.js.map +1 -0
- package/dist/{chunk-IK34DVAC.js → chunk-CIOMS6DI.js} +2 -2
- package/dist/{chunk-2I5JGH3M.js → chunk-CYEPCZN5.js} +2 -2
- package/dist/{chunk-2I5JGH3M.js.map → chunk-CYEPCZN5.js.map} +1 -1
- package/dist/{chunk-JHMFYY7L.js → chunk-DCGT4FPP.js} +13 -5
- package/dist/chunk-DCGT4FPP.js.map +1 -0
- package/dist/{chunk-7DZRO2DC.js → chunk-DEPRLVLK.js} +2 -2
- package/dist/{chunk-CSKLPDN6.js → chunk-DEVUWMME.js} +52 -19
- package/dist/chunk-DEVUWMME.js.map +1 -0
- package/dist/{chunk-DHGSZ3UD.js → chunk-DGNQRNLL.js} +2 -2
- package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
- package/dist/{chunk-HJNQQICM.js → chunk-EXUAP5LH.js} +108 -51
- package/dist/chunk-EXUAP5LH.js.map +1 -0
- package/dist/chunk-FAV25DUZ.js +12 -0
- package/dist/chunk-FAV25DUZ.js.map +1 -0
- package/dist/{chunk-ETUPBUHB.js → chunk-GDASG7NC.js} +2 -2
- package/dist/{chunk-L227SKTB.js → chunk-GDB4J2H3.js} +17 -1
- package/dist/chunk-GDB4J2H3.js.map +1 -0
- package/dist/{chunk-IP73YCZP.js → chunk-GLPBYIXN.js} +4 -2
- package/dist/chunk-GLPBYIXN.js.map +1 -0
- package/dist/{chunk-4HP7HIE3.js → chunk-HP5FMB6L.js} +2 -2
- package/dist/{chunk-EVZFIAPG.js → chunk-IBTZEBUD.js} +23 -10
- package/dist/chunk-IBTZEBUD.js.map +1 -0
- package/dist/{chunk-DOX2CG6Y.js → chunk-IEUU7O4F.js} +2 -2
- package/dist/{chunk-EUML3N6B.js → chunk-IMA6GU4Y.js} +3 -3
- package/dist/chunk-IMA6GU4Y.js.map +1 -0
- package/dist/{chunk-JNANKJLN.js → chunk-JOASJWQR.js} +2 -2
- package/dist/chunk-JOASJWQR.js.map +1 -0
- package/dist/{chunk-WSGF57U2.js → chunk-JQDZQ4TB.js} +2 -2
- package/dist/{chunk-HINSGUA7.js → chunk-KBL3JJR6.js} +9 -13
- package/dist/chunk-KBL3JJR6.js.map +1 -0
- package/dist/{chunk-IOTENEVL.js → chunk-KGLPJROV.js} +57 -50
- package/dist/chunk-KGLPJROV.js.map +1 -0
- package/dist/{chunk-W7L6HXUC.js → chunk-LXOM6IQU.js} +2 -2
- package/dist/{chunk-G6R5UD3Q.js → chunk-MGN7VHWQ.js} +42 -1
- package/dist/{chunk-G6R5UD3Q.js.map → chunk-MGN7VHWQ.js.map} +1 -1
- package/dist/{chunk-DLJ4IR6M.js → chunk-MHQC2WU2.js} +2 -2
- package/dist/chunk-MHQC2WU2.js.map +1 -0
- package/dist/{chunk-5RPTH6AU.js → chunk-NM5NQYJE.js} +20 -19
- package/dist/chunk-NM5NQYJE.js.map +1 -0
- package/dist/{chunk-6JGNHWCI.js → chunk-OBIRVF36.js} +3 -3
- package/dist/{chunk-CHCA44C3.js → chunk-ODPLEWB6.js} +3 -3
- package/dist/chunk-ODPLEWB6.js.map +1 -0
- package/dist/{chunk-HENLZHIT.js → chunk-OIF36KGD.js} +7 -4
- package/dist/chunk-OIF36KGD.js.map +1 -0
- package/dist/{chunk-GUPISBV2.js → chunk-PP2JH3GP.js} +2 -2
- package/dist/{chunk-OXJBNGBK.js → chunk-PSUB67YB.js} +2 -2
- package/dist/{chunk-UWY7GIVS.js → chunk-PYIFUBRK.js} +45 -13
- package/dist/chunk-PYIFUBRK.js.map +1 -0
- package/dist/{chunk-KIB7SDIJ.js → chunk-Q6YIJGXJ.js} +2 -2
- package/dist/{chunk-ZT3EGNLR.js → chunk-QPD426WT.js} +2 -2
- package/dist/{chunk-RLV3PQGH.js → chunk-QVO4YOB7.js} +6 -6
- package/dist/{chunk-GMAG2HS4.js → chunk-RG3LBSGH.js} +46 -9
- package/dist/chunk-RG3LBSGH.js.map +1 -0
- package/dist/{chunk-XSWKORGM.js → chunk-S53OYO3F.js} +3 -1
- package/dist/chunk-S53OYO3F.js.map +1 -0
- package/dist/{chunk-YCN4BVDK.js → chunk-SCPFRKIT.js} +4 -2
- package/dist/chunk-SCPFRKIT.js.map +1 -0
- package/dist/{chunk-NZPF2SYV.js → chunk-T7N6KQGS.js} +138 -5
- package/dist/chunk-T7N6KQGS.js.map +1 -0
- package/dist/{chunk-VJXSUAO7.js → chunk-TNOWU6RP.js} +13 -10
- package/dist/chunk-TNOWU6RP.js.map +1 -0
- package/dist/{chunk-PCI747N2.js → chunk-TZVQQTG4.js} +48 -19
- package/dist/chunk-TZVQQTG4.js.map +1 -0
- package/dist/{chunk-KQAFEZQX.js → chunk-VDX2J7OX.js} +2 -2
- package/dist/{chunk-IK7DCC5H.js → chunk-VMGLYN42.js} +2 -2
- package/dist/{chunk-KM2A35EO.js → chunk-WB3LYXC5.js} +11 -7
- package/dist/chunk-WB3LYXC5.js.map +1 -0
- package/dist/{chunk-PPPZY2EU.js → chunk-WD2W4234.js} +9 -3
- package/dist/chunk-WD2W4234.js.map +1 -0
- package/dist/{chunk-NSKYFGDL.js → chunk-X4QQB7O6.js} +2 -2
- package/dist/{chunk-HPWVAEET.js → chunk-X6IRLNOO.js} +3 -7
- package/dist/chunk-X6IRLNOO.js.map +1 -0
- package/dist/{chunk-46GJIW5M.js → chunk-XAZOWLW4.js} +5 -5
- package/dist/{chunk-46GJIW5M.js.map → chunk-XAZOWLW4.js.map} +1 -1
- package/dist/{chunk-XPSVGJYA.js → chunk-YRMKDTKF.js} +12 -9
- package/dist/chunk-YRMKDTKF.js.map +1 -0
- package/dist/{chunk-6ZZP4EJF.js → chunk-ZJR7VG5L.js} +3 -3
- package/dist/{chunk-6ZZP4EJF.js.map → chunk-ZJR7VG5L.js.map} +1 -1
- package/dist/{chunk-2QANQKSQ.js → chunk-ZK32E74R.js} +156 -45
- package/dist/chunk-ZK32E74R.js.map +1 -0
- package/dist/{cli-OrfKXNU4.d.ts → cli-Cw729yLf.d.ts} +6 -2
- package/dist/cli.d.ts +3 -3
- package/dist/cli.js +61 -60
- package/dist/compounding/engine.js +3 -3
- package/dist/compounding/preference-consolidator.js +39 -11
- package/dist/compounding/preference-consolidator.js.map +1 -1
- package/dist/config.js +1 -1
- package/dist/connectors/codex-materialize-runner.js +3 -3
- package/dist/connectors/index.js +3 -3
- package/dist/consolidation-provenance-check.js +1 -1
- package/dist/contradiction/index.js +4 -4
- package/dist/conversation-index/backend.js +2 -2
- package/dist/conversation-index/indexer.js +1 -1
- package/dist/cross-namespace-budget.js +1 -1
- package/dist/enrichment/index.js +1 -1
- package/dist/entity-retrieval.js +3 -3
- package/dist/evals.js +1 -1
- package/dist/explicit-capture.d.ts +11 -1
- package/dist/explicit-capture.js +1 -1
- package/dist/extraction-judge.js +8 -1
- package/dist/extraction.js +2 -2
- package/dist/fallback-llm.d.ts +23 -6
- package/dist/fallback-llm.js +5 -3
- package/dist/{first-start-migration-GYJWIH36.js → first-start-migration-FF7YFGRP.js} +6 -6
- package/dist/index.d.ts +3 -3
- package/dist/index.js +95 -94
- package/dist/index.js.map +1 -1
- package/dist/lcm/archive.js +2 -2
- package/dist/lcm/engine.js +5 -5
- package/dist/lcm/index.js +7 -7
- package/dist/lcm/summarizer.js +3 -3
- package/dist/maintenance/memory-governance-cron.d.ts +6 -4
- package/dist/maintenance/memory-governance-cron.js +1 -1
- package/dist/maintenance/memory-governance.js +3 -3
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +3 -3
- package/dist/maintenance/rebuild-memory-projection.js +4 -4
- package/dist/mcp-memory-inspector-app.d.ts +2 -2
- package/dist/mcp-memory-inspector-app.js +1 -1
- package/dist/migrate/from-engram.js +1 -1
- package/dist/namespaces/migrate.js +16 -15
- package/dist/namespaces/search.js +12 -11
- package/dist/namespaces/storage.js +3 -3
- package/dist/network/webdav.d.ts +2 -0
- package/dist/network/webdav.js +1 -1
- package/dist/objective-state-writers.js +2 -2
- package/dist/operator-toolkit.d.ts +3 -1
- package/dist/operator-toolkit.js +21 -20
- package/dist/{orchestrator-DTRQG75J.d.ts → orchestrator-CqWOjfgl.d.ts} +46 -3
- package/dist/orchestrator.d.ts +1 -1
- package/dist/orchestrator.js +48 -45
- package/dist/patterns-cli.js +1 -1
- package/dist/qmd-recall-cache.d.ts +2 -0
- package/dist/qmd-recall-cache.js +1 -1
- package/dist/qmd.d.ts +37 -2
- package/dist/qmd.js +4 -1
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-planner-llm.d.ts +57 -0
- package/dist/recall-planner-llm.js +167 -0
- package/dist/recall-planner-llm.js.map +1 -0
- 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/resume-bundles.js +2 -2
- package/dist/retrieval-agents.js +2 -2
- package/dist/routing/store.js +1 -1
- package/dist/schemas.d.ts +22 -22
- package/dist/search/factory.js +11 -10
- package/dist/search/index.js +11 -10
- package/dist/search/lancedb-backend.d.ts +1 -1
- package/dist/search/lancedb-backend.js +3 -2
- package/dist/search/meilisearch-backend.d.ts +1 -1
- package/dist/search/meilisearch-backend.js +3 -2
- package/dist/search/noop-backend.d.ts +1 -1
- package/dist/search/noop-backend.js +1 -1
- package/dist/search/orama-backend.d.ts +1 -1
- package/dist/search/orama-backend.js +3 -2
- package/dist/search/port.d.ts +6 -1
- package/dist/search/port.js +7 -0
- package/dist/search/remote-backend.d.ts +1 -1
- package/dist/search/remote-backend.js +1 -1
- package/dist/semantic-consolidation.js +4 -4
- package/dist/semantic-rule-promotion.js +3 -3
- package/dist/semantic-rule-verifier.js +3 -3
- package/dist/session-observer-state.js +1 -1
- package/dist/storage.js +2 -2
- package/dist/summarizer.js +2 -2
- package/dist/temporal-index.js +1 -1
- package/dist/{tier-stats-SKML2OSF.js → tier-stats-3LYQ3VV5.js} +3 -3
- 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-sqlite.js +1 -1
- package/dist/transfer/types.d.ts +12 -12
- package/dist/types.d.ts +32 -0
- package/dist/types.js +1 -1
- package/dist/utility-learner.js +1 -1
- package/dist/utility-runtime.js +2 -2
- package/dist/verified-recall.js +3 -3
- package/dist/work/board.js +2 -2
- package/dist/work/storage.d.ts +2 -0
- package/dist/work/storage.js +1 -1
- package/package.json +1 -1
- package/src/access-http.ts +24 -10
- package/src/access-mcp.test.ts +160 -0
- package/src/access-mcp.ts +72 -7
- package/src/access-schema.ts +11 -0
- package/src/access-service-coding-write.test.ts +478 -0
- package/src/access-service.ts +237 -32
- package/src/active-recall.test.ts +40 -0
- package/src/active-recall.ts +19 -2
- package/src/behavior-learner.ts +5 -3
- package/src/buffer-session.test.ts +58 -0
- package/src/buffer-surprise-trigger.test.ts +4 -18
- package/src/buffer.ts +39 -11
- package/src/calibration.ts +10 -4
- package/src/causal-consolidation.test.ts +47 -2
- package/src/causal-consolidation.ts +13 -9
- package/src/cli.ts +19 -4
- package/src/compounding/engine.ts +2 -0
- package/src/compounding/preference-consolidator.test.ts +292 -0
- package/src/compounding/preference-consolidator.ts +55 -19
- package/src/config.test.ts +213 -0
- package/src/config.ts +175 -4
- package/src/connectors/codex-materialize-runner.ts +7 -4
- package/src/consolidation-provenance-check.ts +24 -5
- package/src/conversation-index/indexer.test.ts +22 -0
- package/src/conversation-index/indexer.ts +7 -3
- package/src/cross-namespace-budget.test.ts +44 -21
- package/src/cross-namespace-budget.ts +2 -2
- package/src/enrichment/pipeline.ts +11 -16
- package/src/evals.ts +1 -1
- package/src/explicit-capture.ts +19 -2
- package/src/extraction-judge-chain.test.ts +55 -0
- package/src/extraction-judge.ts +7 -9
- package/src/extraction.ts +16 -5
- package/src/fallback-llm.test.ts +600 -1
- package/src/fallback-llm.ts +91 -22
- package/src/maintenance/memory-governance-cron.ts +39 -29
- package/src/mcp-memory-inspector-app.ts +54 -12
- package/src/message-parts/index.ts +6 -0
- package/src/message-parts/message-parts.test.ts +30 -0
- package/src/migrate/from-engram.ts +19 -5
- package/src/namespaces/search.test.ts +15 -2
- package/src/namespaces/search.ts +1 -1
- package/src/network/webdav.ts +61 -21
- package/src/operator-toolkit.ts +6 -2
- package/src/orchestrator.ts +173 -20
- package/src/qmd-client.test.ts +85 -0
- package/src/qmd-recall-cache.test.ts +16 -0
- package/src/qmd-recall-cache.ts +7 -0
- package/src/qmd.test.ts +54 -0
- package/src/qmd.ts +119 -19
- package/src/recall-planner-llm.test.ts +224 -0
- package/src/recall-planner-llm.ts +289 -0
- package/src/routing/store.ts +4 -8
- package/src/search/factory.ts +3 -0
- package/src/search/lancedb-backend.ts +15 -3
- package/src/search/meilisearch-backend.ts +70 -7
- package/src/search/noop-backend.ts +5 -1
- package/src/search/orama-backend.ts +15 -3
- package/src/search/port.ts +15 -0
- package/src/search/remote-backend.ts +5 -1
- package/src/session-observer-state.ts +1 -1
- package/src/summarizer.ts +3 -3
- package/src/temporal-index.test.ts +18 -0
- package/src/temporal-index.ts +45 -0
- package/src/training-export/cli-date-validation.test.ts +36 -0
- package/src/training-export/date-parse.ts +21 -2
- package/src/transfer/export-sqlite.ts +3 -0
- package/src/types.ts +35 -0
- package/src/utility-learner.ts +1 -0
- package/src/work/storage.ts +23 -0
- package/dist/chunk-2QANQKSQ.js.map +0 -1
- package/dist/chunk-5RPTH6AU.js.map +0 -1
- package/dist/chunk-AJA46VX5.js.map +0 -1
- package/dist/chunk-C4SQJZAF.js.map +0 -1
- package/dist/chunk-CHCA44C3.js.map +0 -1
- package/dist/chunk-CSKLPDN6.js.map +0 -1
- package/dist/chunk-DLJ4IR6M.js.map +0 -1
- package/dist/chunk-EAZGEEG2.js.map +0 -1
- package/dist/chunk-EUML3N6B.js.map +0 -1
- package/dist/chunk-EVZFIAPG.js.map +0 -1
- package/dist/chunk-G3Z3QEF5.js.map +0 -1
- package/dist/chunk-GMAG2HS4.js.map +0 -1
- package/dist/chunk-HENLZHIT.js.map +0 -1
- package/dist/chunk-HINSGUA7.js.map +0 -1
- package/dist/chunk-HJNQQICM.js.map +0 -1
- package/dist/chunk-HPWVAEET.js.map +0 -1
- package/dist/chunk-IOTENEVL.js.map +0 -1
- package/dist/chunk-IP73YCZP.js.map +0 -1
- package/dist/chunk-JHMFYY7L.js.map +0 -1
- package/dist/chunk-JNANKJLN.js.map +0 -1
- package/dist/chunk-KGK2QKWL.js.map +0 -1
- package/dist/chunk-KM2A35EO.js.map +0 -1
- package/dist/chunk-KVEVLBKC.js.map +0 -1
- package/dist/chunk-L227SKTB.js.map +0 -1
- package/dist/chunk-LZ3VEOU5.js.map +0 -1
- package/dist/chunk-NOMEVTUD.js.map +0 -1
- package/dist/chunk-NZPF2SYV.js.map +0 -1
- package/dist/chunk-PCI747N2.js.map +0 -1
- package/dist/chunk-PPPZY2EU.js.map +0 -1
- package/dist/chunk-TH67Q46T.js.map +0 -1
- package/dist/chunk-UWY7GIVS.js.map +0 -1
- package/dist/chunk-VJXSUAO7.js.map +0 -1
- package/dist/chunk-XKIQZXUB.js.map +0 -1
- package/dist/chunk-XPSVGJYA.js.map +0 -1
- package/dist/chunk-XSWKORGM.js.map +0 -1
- package/dist/chunk-YCN4BVDK.js.map +0 -1
- package/dist/chunk-ZDTVJXIP.js.map +0 -1
- /package/dist/{capsule-crypto-7FJQINUR.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
- /package/dist/{chunk-AU7Q3LSC.js.map → chunk-2QSZNTDO.js.map} +0 -0
- /package/dist/{chunk-HSVJGWYS.js.map → chunk-2ROPI5OE.js.map} +0 -0
- /package/dist/{chunk-CF3ZF2YU.js.map → chunk-3QSU4NFF.js.map} +0 -0
- /package/dist/{chunk-OI27U2HT.js.map → chunk-5BTCT236.js.map} +0 -0
- /package/dist/{chunk-CO7ZO4TU.js.map → chunk-5VDJMYTF.js.map} +0 -0
- /package/dist/{chunk-YFS5OEKO.js.map → chunk-7MLB4NCL.js.map} +0 -0
- /package/dist/{chunk-557IAFPD.js.map → chunk-APRRL26Q.js.map} +0 -0
- /package/dist/{chunk-QDDHYAKV.js.map → chunk-AZDOWD2L.js.map} +0 -0
- /package/dist/{chunk-MLT75J5S.js.map → chunk-B6SU7YSE.js.map} +0 -0
- /package/dist/{chunk-FXKPZ3H6.js.map → chunk-BPSGLMQ4.js.map} +0 -0
- /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
- /package/dist/{chunk-IK34DVAC.js.map → chunk-CIOMS6DI.js.map} +0 -0
- /package/dist/{chunk-7DZRO2DC.js.map → chunk-DEPRLVLK.js.map} +0 -0
- /package/dist/{chunk-DHGSZ3UD.js.map → chunk-DGNQRNLL.js.map} +0 -0
- /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
- /package/dist/{chunk-ETUPBUHB.js.map → chunk-GDASG7NC.js.map} +0 -0
- /package/dist/{chunk-4HP7HIE3.js.map → chunk-HP5FMB6L.js.map} +0 -0
- /package/dist/{chunk-DOX2CG6Y.js.map → chunk-IEUU7O4F.js.map} +0 -0
- /package/dist/{chunk-WSGF57U2.js.map → chunk-JQDZQ4TB.js.map} +0 -0
- /package/dist/{chunk-W7L6HXUC.js.map → chunk-LXOM6IQU.js.map} +0 -0
- /package/dist/{chunk-6JGNHWCI.js.map → chunk-OBIRVF36.js.map} +0 -0
- /package/dist/{chunk-GUPISBV2.js.map → chunk-PP2JH3GP.js.map} +0 -0
- /package/dist/{chunk-OXJBNGBK.js.map → chunk-PSUB67YB.js.map} +0 -0
- /package/dist/{chunk-KIB7SDIJ.js.map → chunk-Q6YIJGXJ.js.map} +0 -0
- /package/dist/{chunk-ZT3EGNLR.js.map → chunk-QPD426WT.js.map} +0 -0
- /package/dist/{chunk-RLV3PQGH.js.map → chunk-QVO4YOB7.js.map} +0 -0
- /package/dist/{chunk-KQAFEZQX.js.map → chunk-VDX2J7OX.js.map} +0 -0
- /package/dist/{chunk-IK7DCC5H.js.map → chunk-VMGLYN42.js.map} +0 -0
- /package/dist/{chunk-NSKYFGDL.js.map → chunk-X4QQB7O6.js.map} +0 -0
- /package/dist/{first-start-migration-GYJWIH36.js.map → first-start-migration-FF7YFGRP.js.map} +0 -0
- /package/dist/{tier-stats-SKML2OSF.js.map → tier-stats-3LYQ3VV5.js.map} +0 -0
|
@@ -2,21 +2,21 @@ import {
|
|
|
2
2
|
exportWorkBoardMarkdown,
|
|
3
3
|
exportWorkBoardSnapshot,
|
|
4
4
|
importWorkBoardSnapshot
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GDASG7NC.js";
|
|
6
6
|
import {
|
|
7
7
|
WorkStorage
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-GDB4J2H3.js";
|
|
9
9
|
import {
|
|
10
10
|
importCapsule
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-DGNQRNLL.js";
|
|
12
|
+
import {
|
|
13
|
+
toRecallExplainJson
|
|
14
|
+
} from "./chunk-PSUB67YB.js";
|
|
12
15
|
import {
|
|
13
16
|
applyTagFilter,
|
|
14
17
|
normalizeTags,
|
|
15
18
|
parseTagMatch
|
|
16
19
|
} from "./chunk-BT7NVCML.js";
|
|
17
|
-
import {
|
|
18
|
-
toRecallExplainJson
|
|
19
|
-
} from "./chunk-OXJBNGBK.js";
|
|
20
20
|
import {
|
|
21
21
|
decideDisclosureEscalation
|
|
22
22
|
} from "./chunk-H7XKCNR6.js";
|
|
@@ -27,10 +27,12 @@ import {
|
|
|
27
27
|
listMemoryGovernanceRuns,
|
|
28
28
|
readMemoryGovernanceRunArtifact,
|
|
29
29
|
runMemoryGovernance
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-5BTCT236.js";
|
|
31
31
|
import {
|
|
32
32
|
clusterByKey,
|
|
33
|
+
combineNamespaces,
|
|
33
34
|
projectTagProjectId,
|
|
35
|
+
resolveCodingNamespaceOverlay,
|
|
34
36
|
resolveGitContext
|
|
35
37
|
} from "./chunk-EDQVAMQI.js";
|
|
36
38
|
import {
|
|
@@ -44,10 +46,10 @@ import {
|
|
|
44
46
|
} from "./chunk-JGSKJHF7.js";
|
|
45
47
|
import {
|
|
46
48
|
estimateRecallTokens
|
|
47
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-BPSGLMQ4.js";
|
|
48
50
|
import {
|
|
49
51
|
recordObjectiveStateSnapshotsFromObservedMessages
|
|
50
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-JQDZQ4TB.js";
|
|
51
53
|
import {
|
|
52
54
|
objectiveStateStoreOverrideForNamespace
|
|
53
55
|
} from "./chunk-UEY3VB6W.js";
|
|
@@ -71,23 +73,23 @@ import {
|
|
|
71
73
|
persistExplicitCapture,
|
|
72
74
|
queueExplicitCaptureForReview,
|
|
73
75
|
validateExplicitCaptureInput
|
|
74
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-IMA6GU4Y.js";
|
|
75
77
|
import {
|
|
76
78
|
CrossNamespaceBudget
|
|
77
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-ODPLEWB6.js";
|
|
78
80
|
import {
|
|
79
81
|
FileCalendarSource,
|
|
80
82
|
buildBriefing,
|
|
81
83
|
parseBriefingFocus,
|
|
82
84
|
parseBriefingWindow
|
|
83
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-AZDOWD2L.js";
|
|
84
86
|
import {
|
|
85
87
|
parseEntityFile
|
|
86
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-7MLB4NCL.js";
|
|
87
89
|
import {
|
|
88
90
|
DEFAULT_RECALL_DISCLOSURE,
|
|
89
91
|
isRecallDisclosure
|
|
90
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-4R4KTDIE.js";
|
|
91
93
|
import {
|
|
92
94
|
inferMemoryStatus,
|
|
93
95
|
toMemoryPathRel
|
|
@@ -125,7 +127,7 @@ import {
|
|
|
125
127
|
} from "./chunk-VFUEZZBS.js";
|
|
126
128
|
import {
|
|
127
129
|
exportCapsule
|
|
128
|
-
} from "./chunk-
|
|
130
|
+
} from "./chunk-VDX2J7OX.js";
|
|
129
131
|
import {
|
|
130
132
|
OFFLINE_SYNC_SNAPSHOT_FORMAT,
|
|
131
133
|
applyOfflineSyncChangeset,
|
|
@@ -664,6 +666,99 @@ var EngramAccessService = class {
|
|
|
664
666
|
}
|
|
665
667
|
return resolved;
|
|
666
668
|
}
|
|
669
|
+
/**
|
|
670
|
+
* Resolve a coding context from `cwd`/`projectTag` WITHOUT persisting it to
|
|
671
|
+
* any session — the read-only half of `maybeAttachCodingContext`. Returns
|
|
672
|
+
* null when project scoping is off or nothing resolves. `projectTag` takes
|
|
673
|
+
* priority over `cwd` (matching `maybeAttachCodingContext`).
|
|
674
|
+
*/
|
|
675
|
+
async resolveCodingContextFromOptions(options) {
|
|
676
|
+
if (!this.orchestrator.config.codingMode?.projectScope) return null;
|
|
677
|
+
if (typeof options.projectTag === "string" && options.projectTag.trim().length > 0) {
|
|
678
|
+
const projectId = projectTagProjectId(options.projectTag);
|
|
679
|
+
return { projectId, branch: null, rootPath: projectId, defaultBranch: null };
|
|
680
|
+
}
|
|
681
|
+
if (typeof options.cwd === "string" && options.cwd.trim().length > 0) {
|
|
682
|
+
try {
|
|
683
|
+
const gitCtx = await resolveGitContext(options.cwd);
|
|
684
|
+
if (gitCtx) {
|
|
685
|
+
return {
|
|
686
|
+
projectId: gitCtx.projectId,
|
|
687
|
+
branch: gitCtx.branch,
|
|
688
|
+
rootPath: gitCtx.rootPath,
|
|
689
|
+
defaultBranch: gitCtx.defaultBranch
|
|
690
|
+
};
|
|
691
|
+
}
|
|
692
|
+
} catch {
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
return null;
|
|
696
|
+
}
|
|
697
|
+
/**
|
|
698
|
+
* Resolve the write namespace for explicit-write tools (memory_store /
|
|
699
|
+
* suggestion_submit), project-scoping the write the same way recall does so a
|
|
700
|
+
* memory stored with a client-injected `cwd`/`projectTag` is discoverable by
|
|
701
|
+
* project-scoped recall (#1434, rule 42).
|
|
702
|
+
*
|
|
703
|
+
* Precedence:
|
|
704
|
+
* - An explicit `namespace` always wins and is authorized strictly via
|
|
705
|
+
* `resolveWritableNamespace` → `canWriteNamespace`. A coding-overlay
|
|
706
|
+
* namespace string (`<base>-project-*`) is NOT a writable target via the
|
|
707
|
+
* explicit field — project scoping is requested with `cwd`/`projectTag`,
|
|
708
|
+
* never by naming the derived namespace — so there is no way to bypass the
|
|
709
|
+
* policy allow-list by guessing/forging an overlay name (Codex review).
|
|
710
|
+
* - With NO coding overlay, the write stays on `config.defaultNamespace` —
|
|
711
|
+
* exactly the pre-#1434 behavior, so an unqualified write is NOT silently
|
|
712
|
+
* moved to a principal self namespace (Codex review).
|
|
713
|
+
* - WITH a coding overlay, the base is the principal self namespace
|
|
714
|
+
* (`defaultNamespaceForPrincipal`, write-checked) — the SAME base recall,
|
|
715
|
+
* observe, and the orchestrator buffer-flush write path overlay onto
|
|
716
|
+
* (rule 42 / Cursor) — so a project-scoped store lands exactly where
|
|
717
|
+
* project-scoped recall searches. The overlay namespace is always REBUILT
|
|
718
|
+
* from the authenticated principal's base, never accepted as a caller
|
|
719
|
+
* string, so a caller can never reach another principal's subtree.
|
|
720
|
+
*
|
|
721
|
+
* Read-only: this NEVER mutates session coding context, so the idempotency
|
|
722
|
+
* peeks and dryRun preflights that call it stay side-effect free (Codex
|
|
723
|
+
* review). It prefers the per-call `cwd`/`projectTag` (the project explicitly
|
|
724
|
+
* identified for this write), else the session's existing context. The HTTP
|
|
725
|
+
* surface lets the peek and the write each resolve independently; the peek's
|
|
726
|
+
* namespace only gates rate-limiting (memory_store/suggestion_submit run their
|
|
727
|
+
* own idempotency check), so a benign session-context change between the two
|
|
728
|
+
* never fails a write — there is no namespace to "pin".
|
|
729
|
+
*/
|
|
730
|
+
async resolveCodingScopedWriteNamespace(request) {
|
|
731
|
+
const hasExplicitNamespace = typeof request.namespace === "string" && request.namespace.trim().length > 0;
|
|
732
|
+
if (hasExplicitNamespace) {
|
|
733
|
+
return this.resolveWritableNamespace(
|
|
734
|
+
request.namespace,
|
|
735
|
+
request.sessionKey,
|
|
736
|
+
request.authenticatedPrincipal
|
|
737
|
+
);
|
|
738
|
+
}
|
|
739
|
+
const hasSession = typeof request.sessionKey === "string" && request.sessionKey.length > 0;
|
|
740
|
+
const overlay = hasSession && this.orchestrator.config.namespacesEnabled && this.orchestrator.config.codingMode?.projectScope ? resolveCodingNamespaceOverlay(
|
|
741
|
+
this.orchestrator.getCodingContextForSession(request.sessionKey) ?? await this.resolveCodingContextFromOptions(request),
|
|
742
|
+
this.orchestrator.config.codingMode,
|
|
743
|
+
this.orchestrator.config.defaultNamespace
|
|
744
|
+
) : null;
|
|
745
|
+
if (!overlay) {
|
|
746
|
+
return this.resolveWritableNamespace(
|
|
747
|
+
void 0,
|
|
748
|
+
request.sessionKey,
|
|
749
|
+
request.authenticatedPrincipal
|
|
750
|
+
);
|
|
751
|
+
}
|
|
752
|
+
const principal = this.resolveRequestPrincipal(
|
|
753
|
+
request.sessionKey,
|
|
754
|
+
request.authenticatedPrincipal
|
|
755
|
+
);
|
|
756
|
+
const base = defaultNamespaceForPrincipal(principal, this.orchestrator.config);
|
|
757
|
+
if (!canWriteNamespace(principal, base, this.orchestrator.config)) {
|
|
758
|
+
throw new EngramAccessInputError(`namespace is not writable: ${base}`);
|
|
759
|
+
}
|
|
760
|
+
return combineNamespaces(base, overlay.namespace);
|
|
761
|
+
}
|
|
667
762
|
async objectiveStateStoreLocationForNamespace(namespace) {
|
|
668
763
|
if (!this.orchestrator.config.namespacesEnabled) {
|
|
669
764
|
return {
|
|
@@ -858,6 +953,7 @@ var EngramAccessService = class {
|
|
|
858
953
|
}
|
|
859
954
|
const key = options.idempotencyKey?.trim();
|
|
860
955
|
if (!key) {
|
|
956
|
+
if (options.beforeExecute) await options.beforeExecute();
|
|
861
957
|
return options.execute();
|
|
862
958
|
}
|
|
863
959
|
return this.withIdempotencyLock(key, async () => {
|
|
@@ -876,6 +972,7 @@ var EngramAccessService = class {
|
|
|
876
972
|
idempotencyReplay: true
|
|
877
973
|
};
|
|
878
974
|
}
|
|
975
|
+
if (options.beforeExecute) await options.beforeExecute();
|
|
879
976
|
const response = await options.execute();
|
|
880
977
|
await this.idempotency.put(key, requestHash, response);
|
|
881
978
|
return response;
|
|
@@ -1148,6 +1245,24 @@ var EngramAccessService = class {
|
|
|
1148
1245
|
}
|
|
1149
1246
|
}
|
|
1150
1247
|
}
|
|
1248
|
+
/**
|
|
1249
|
+
* Seed the session's coding binding AFTER a committed, project-scoped explicit
|
|
1250
|
+
* write (memory_store / suggestion_submit), mirroring the recall path's
|
|
1251
|
+
* `maybeAttachCodingContext` so a later bare recall/write on the same session
|
|
1252
|
+
* is scoped to the same project. Called only from the post-persist path, so it
|
|
1253
|
+
* never fires on dryRun, replay/conflict, or quota-rejected requests. Skips
|
|
1254
|
+
* when an explicit `namespace` was supplied — that write bypassed the coding
|
|
1255
|
+
* overlay, so binding the session to a project it never wrote to would make
|
|
1256
|
+
* later bare recalls miss (Codex review).
|
|
1257
|
+
*/
|
|
1258
|
+
async attachCodingContextAfterScopedWrite(request) {
|
|
1259
|
+
const hasExplicitNamespace = typeof request.namespace === "string" && request.namespace.trim().length > 0;
|
|
1260
|
+
if (hasExplicitNamespace) return;
|
|
1261
|
+
await this.maybeAttachCodingContext(request.sessionKey, {
|
|
1262
|
+
cwd: request.cwd,
|
|
1263
|
+
projectTag: request.projectTag
|
|
1264
|
+
});
|
|
1265
|
+
}
|
|
1151
1266
|
async recall(request) {
|
|
1152
1267
|
const query = request.query.trim();
|
|
1153
1268
|
if (query.length === 0) {
|
|
@@ -1696,12 +1811,8 @@ var EngramAccessService = class {
|
|
|
1696
1811
|
// shares it, and so separate services in the same process (e.g.
|
|
1697
1812
|
// per-tenant) do not block each other.
|
|
1698
1813
|
xrayQueue = Promise.resolve();
|
|
1699
|
-
async memoryStore(request) {
|
|
1700
|
-
const namespace = this.
|
|
1701
|
-
request.namespace,
|
|
1702
|
-
request.sessionKey,
|
|
1703
|
-
request.authenticatedPrincipal
|
|
1704
|
-
);
|
|
1814
|
+
async memoryStore(request, hooks) {
|
|
1815
|
+
const namespace = await this.resolveCodingScopedWriteNamespace(request);
|
|
1705
1816
|
const schemaVersion = request.schemaVersion ?? ENGRAM_ACCESS_WRITE_SCHEMA_VERSION;
|
|
1706
1817
|
if (schemaVersion !== ENGRAM_ACCESS_WRITE_SCHEMA_VERSION) {
|
|
1707
1818
|
throw new EngramAccessInputError(`unsupported schemaVersion: ${schemaVersion}`);
|
|
@@ -1721,6 +1832,7 @@ var EngramAccessService = class {
|
|
|
1721
1832
|
};
|
|
1722
1833
|
}
|
|
1723
1834
|
const result = await persistExplicitCapture(this.orchestrator, candidate, "memory_store");
|
|
1835
|
+
await this.attachCodingContextAfterScopedWrite(request);
|
|
1724
1836
|
const response = {
|
|
1725
1837
|
schemaVersion: ENGRAM_ACCESS_WRITE_SCHEMA_VERSION,
|
|
1726
1838
|
operation: "memory_store",
|
|
@@ -1753,15 +1865,12 @@ var EngramAccessService = class {
|
|
|
1753
1865
|
sourceReason: request.sourceReason
|
|
1754
1866
|
},
|
|
1755
1867
|
skip: request.dryRun === true,
|
|
1868
|
+
beforeExecute: hooks?.enforceWriteQuota,
|
|
1756
1869
|
execute
|
|
1757
1870
|
});
|
|
1758
1871
|
}
|
|
1759
1872
|
async peekMemoryStoreIdempotency(request) {
|
|
1760
|
-
const namespace = this.
|
|
1761
|
-
request.namespace,
|
|
1762
|
-
request.sessionKey,
|
|
1763
|
-
request.authenticatedPrincipal
|
|
1764
|
-
);
|
|
1873
|
+
const namespace = await this.resolveCodingScopedWriteNamespace(request);
|
|
1765
1874
|
const schemaVersion = request.schemaVersion ?? ENGRAM_ACCESS_WRITE_SCHEMA_VERSION;
|
|
1766
1875
|
if (schemaVersion !== ENGRAM_ACCESS_WRITE_SCHEMA_VERSION) {
|
|
1767
1876
|
throw new EngramAccessInputError(`unsupported schemaVersion: ${schemaVersion}`);
|
|
@@ -1783,12 +1892,8 @@ var EngramAccessService = class {
|
|
|
1783
1892
|
skip: request.dryRun === true
|
|
1784
1893
|
});
|
|
1785
1894
|
}
|
|
1786
|
-
async suggestionSubmit(request) {
|
|
1787
|
-
const namespace = this.
|
|
1788
|
-
request.namespace,
|
|
1789
|
-
request.sessionKey,
|
|
1790
|
-
request.authenticatedPrincipal
|
|
1791
|
-
);
|
|
1895
|
+
async suggestionSubmit(request, hooks) {
|
|
1896
|
+
const namespace = await this.resolveCodingScopedWriteNamespace(request);
|
|
1792
1897
|
const schemaVersion = request.schemaVersion ?? ENGRAM_ACCESS_WRITE_SCHEMA_VERSION;
|
|
1793
1898
|
if (schemaVersion !== ENGRAM_ACCESS_WRITE_SCHEMA_VERSION) {
|
|
1794
1899
|
throw new EngramAccessInputError(`unsupported schemaVersion: ${schemaVersion}`);
|
|
@@ -1813,6 +1918,7 @@ var EngramAccessService = class {
|
|
|
1813
1918
|
"suggestion_submit",
|
|
1814
1919
|
new Error(request.sourceReason?.trim() || "submitted via engram suggestion_submit")
|
|
1815
1920
|
);
|
|
1921
|
+
await this.attachCodingContextAfterScopedWrite(request);
|
|
1816
1922
|
const response = {
|
|
1817
1923
|
schemaVersion: ENGRAM_ACCESS_WRITE_SCHEMA_VERSION,
|
|
1818
1924
|
operation: "suggestion_submit",
|
|
@@ -1845,15 +1951,12 @@ var EngramAccessService = class {
|
|
|
1845
1951
|
sourceReason: request.sourceReason
|
|
1846
1952
|
},
|
|
1847
1953
|
skip: request.dryRun === true,
|
|
1954
|
+
beforeExecute: hooks?.enforceWriteQuota,
|
|
1848
1955
|
execute
|
|
1849
1956
|
});
|
|
1850
1957
|
}
|
|
1851
1958
|
async peekSuggestionSubmitIdempotency(request) {
|
|
1852
|
-
const namespace = this.
|
|
1853
|
-
request.namespace,
|
|
1854
|
-
request.sessionKey,
|
|
1855
|
-
request.authenticatedPrincipal
|
|
1856
|
-
);
|
|
1959
|
+
const namespace = await this.resolveCodingScopedWriteNamespace(request);
|
|
1857
1960
|
const schemaVersion = request.schemaVersion ?? ENGRAM_ACCESS_WRITE_SCHEMA_VERSION;
|
|
1858
1961
|
if (schemaVersion !== ENGRAM_ACCESS_WRITE_SCHEMA_VERSION) {
|
|
1859
1962
|
throw new EngramAccessInputError(`unsupported schemaVersion: ${schemaVersion}`);
|
|
@@ -1877,13 +1980,21 @@ var EngramAccessService = class {
|
|
|
1877
1980
|
}
|
|
1878
1981
|
validateWriteCandidate(request, namespace) {
|
|
1879
1982
|
try {
|
|
1880
|
-
return
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1983
|
+
return {
|
|
1984
|
+
...validateExplicitCaptureInput(
|
|
1985
|
+
{
|
|
1986
|
+
...request,
|
|
1987
|
+
namespace
|
|
1988
|
+
},
|
|
1989
|
+
"legacy_tool"
|
|
1990
|
+
),
|
|
1991
|
+
// The namespace was resolved AND authorized by
|
|
1992
|
+
// resolveCodingScopedWriteNamespace (explicit namespaces via
|
|
1993
|
+
// resolveWritableNamespace; otherwise an auth-checked base + a
|
|
1994
|
+
// session-owned project overlay), so the persist/queue layer must not
|
|
1995
|
+
// re-reject a legitimately-derived dynamic project namespace (#1434).
|
|
1996
|
+
namespacePreResolved: true
|
|
1997
|
+
};
|
|
1887
1998
|
} catch (error) {
|
|
1888
1999
|
const message = error instanceof Error ? error.message : String(error);
|
|
1889
2000
|
throw new EngramAccessInputError(message);
|
|
@@ -4238,4 +4349,4 @@ export {
|
|
|
4238
4349
|
shapeMemorySummary,
|
|
4239
4350
|
EngramAccessService
|
|
4240
4351
|
};
|
|
4241
|
-
//# sourceMappingURL=chunk-
|
|
4352
|
+
//# sourceMappingURL=chunk-ZK32E74R.js.map
|