@remnic/core 1.0.2 → 1.0.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/LICENSE +21 -0
- package/README.md +1 -0
- package/dist/access-cli.d.ts +13 -3
- package/dist/access-cli.js +90 -75
- package/dist/access-cli.js.map +1 -1
- package/dist/access-http.d.ts +10 -3
- package/dist/access-http.js +25 -18
- package/dist/access-mcp.d.ts +30 -3
- package/dist/access-mcp.js +16 -1
- package/dist/access-schema.d.ts +12 -12
- package/dist/access-schema.js +1 -1
- package/dist/access-service.d.ts +65 -4
- package/dist/access-service.js +21 -15
- package/dist/active-memory-bridge.d.ts +66 -0
- package/dist/active-memory-bridge.js +11 -0
- package/dist/active-recall.d.ts +96 -0
- package/dist/active-recall.js +308 -0
- package/dist/active-recall.js.map +1 -0
- package/dist/behavior-learner.js +1 -1
- package/dist/bootstrap.d.ts +6 -3
- package/dist/bootstrap.js +2 -2
- package/dist/boxes.js +2 -2
- package/dist/briefing.d.ts +169 -0
- package/dist/briefing.js +52 -0
- package/dist/briefing.js.map +1 -0
- package/dist/buffer.d.ts +19 -5
- package/dist/buffer.js +2 -2
- package/dist/calibration.js +6 -6
- package/dist/causal-behavior.js +5 -5
- package/dist/causal-chain.js +3 -3
- package/dist/causal-consolidation.d.ts +22 -2
- package/dist/causal-consolidation.js +36 -9
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-retrieval.js +6 -6
- package/dist/causal-trajectory-graph.js +1 -1
- package/dist/causal-trajectory.d.ts +14 -1
- package/dist/causal-trajectory.js +5 -1
- package/dist/{chunk-KWBU5S5U.js → chunk-2ODBA7MQ.js} +9 -3
- package/dist/chunk-2ODBA7MQ.js.map +1 -0
- package/dist/{chunk-6UJQNRIO.js → chunk-2VFW5K5U.js} +93 -36
- package/dist/chunk-2VFW5K5U.js.map +1 -0
- package/dist/chunk-3PG3H5TD.js +7 -0
- package/dist/chunk-3PG3H5TD.js.map +1 -0
- package/dist/{chunk-NTTLPF7F.js → chunk-3QFQGRHO.js} +5 -5
- package/dist/chunk-4DJQYKMN.js +187 -0
- package/dist/chunk-4DJQYKMN.js.map +1 -0
- package/dist/chunk-4KAN3GZ3.js +225 -0
- package/dist/chunk-4KAN3GZ3.js.map +1 -0
- package/dist/{chunk-ORZMT74A.js → chunk-4NRAJUDS.js} +11 -1
- package/dist/chunk-4NRAJUDS.js.map +1 -0
- package/dist/{chunk-B7LOFDVE.js → chunk-4WMCPJWX.js} +8 -3
- package/dist/chunk-4WMCPJWX.js.map +1 -0
- package/dist/{chunk-G3AG3KZN.js → chunk-5IZL4DCV.js} +2 -2
- package/dist/{chunk-BRK4ODMI.js → chunk-5NPGSAVB.js} +2 -2
- package/dist/chunk-6MKAMLQL.js +16 -0
- package/dist/chunk-6MKAMLQL.js.map +1 -0
- package/dist/{chunk-ESSMF2FR.js → chunk-6PFRXT4K.js} +15 -6
- package/dist/chunk-6PFRXT4K.js.map +1 -0
- package/dist/chunk-6ZH4TU6I.js +245 -0
- package/dist/chunk-6ZH4TU6I.js.map +1 -0
- package/dist/{chunk-V4YC4LUK.js → chunk-74JR4N5J.js} +175 -63
- package/dist/chunk-74JR4N5J.js.map +1 -0
- package/dist/{chunk-L5RPWGFK.js → chunk-7DHTMOND.js} +2 -2
- package/dist/{chunk-TVVVQQAK.js → chunk-7PA4OZEU.js} +53 -11
- package/dist/chunk-7PA4OZEU.js.map +1 -0
- package/dist/{chunk-Q6FETXJA.js → chunk-7SEAZFFB.js} +2 -2
- package/dist/chunk-ALXMCZEU.js +332 -0
- package/dist/chunk-ALXMCZEU.js.map +1 -0
- package/dist/{chunk-QANCTXQF.js → chunk-AYPYCLR7.js} +3 -3
- package/dist/{chunk-WWIQTB2Y.js → chunk-BKQJBXXX.js} +9 -2
- package/dist/chunk-BKQJBXXX.js.map +1 -0
- package/dist/{chunk-LP47L3ZX.js → chunk-BTY5RRRF.js} +7 -7
- package/dist/{chunk-SCHEKPYH.js → chunk-C2EFFULQ.js} +1 -1
- package/dist/{chunk-GJR6D6KC.js → chunk-D654IBA6.js} +2 -2
- package/dist/{chunk-UV2FO7J4.js → chunk-E6K4NIEU.js} +2 -2
- package/dist/{chunk-T4WRIV2C.js → chunk-EABGC2TL.js} +2 -2
- package/dist/chunk-ECKDIK5F.js +813 -0
- package/dist/chunk-ECKDIK5F.js.map +1 -0
- package/dist/chunk-EJI5XIBB.js +232 -0
- package/dist/chunk-EJI5XIBB.js.map +1 -0
- package/dist/{chunk-ONRU4L2N.js → chunk-FEMOX5AD.js} +2 -2
- package/dist/{chunk-IFFFR3MR.js → chunk-FSFEQI74.js} +3 -3
- package/dist/chunk-G4SK7DSQ.js +121 -0
- package/dist/chunk-G4SK7DSQ.js.map +1 -0
- package/dist/{chunk-UIYZ5T3I.js → chunk-GJQPH5G3.js} +8 -8
- package/dist/{chunk-2PO5ZRKV.js → chunk-GZCUW5IC.js} +16 -3
- package/dist/chunk-GZCUW5IC.js.map +1 -0
- package/dist/{chunk-IZME7KW2.js → chunk-HITJFT7E.js} +24 -10
- package/dist/{chunk-IZME7KW2.js.map → chunk-HITJFT7E.js.map} +1 -1
- package/dist/chunk-IQT3XTKW.js +121 -0
- package/dist/chunk-IQT3XTKW.js.map +1 -0
- package/dist/{chunk-BDFZXRSO.js → chunk-J4IYOZZ5.js} +15 -2
- package/dist/chunk-J4IYOZZ5.js.map +1 -0
- package/dist/{chunk-ZKYI7UVO.js → chunk-JR4ZC3G4.js} +2 -2
- package/dist/{chunk-UCYSTFZR.js → chunk-JRNQ3RNA.js} +2 -2
- package/dist/{chunk-UYSKNO6E.js → chunk-JROGC36Y.js} +15 -4
- package/dist/chunk-JROGC36Y.js.map +1 -0
- package/dist/{chunk-GPGBSNKM.js → chunk-K4FLSOR5.js} +2 -2
- package/dist/{chunk-M5ZBBBJI.js → chunk-KEG4GNGI.js} +2 -2
- package/dist/chunk-KVE7R4CG.js +320 -0
- package/dist/chunk-KVE7R4CG.js.map +1 -0
- package/dist/{chunk-L7WO3MZ4.js → chunk-KWP7T3DP.js} +2 -2
- package/dist/chunk-LAYN4LDC.js +267 -0
- package/dist/chunk-LAYN4LDC.js.map +1 -0
- package/dist/{chunk-PGK3VUHN.js → chunk-MTLYEMJB.js} +3 -2
- package/dist/chunk-MTLYEMJB.js.map +1 -0
- package/dist/{chunk-J47FNDR7.js → chunk-MYQWXITD.js} +7 -7
- package/dist/{chunk-YNI4S5WT.js → chunk-N53K2EXC.js} +2 -2
- package/dist/{chunk-763GUIOU.js → chunk-NBNN5GOB.js} +2 -2
- package/dist/{chunk-CXWFUJR2.js → chunk-NSB3WSYS.js} +125 -6
- package/dist/chunk-NSB3WSYS.js.map +1 -0
- package/dist/{chunk-KL4CP4SB.js → chunk-O5ETUNBT.js} +17 -5
- package/dist/chunk-O5ETUNBT.js.map +1 -0
- package/dist/{chunk-OOSWAUYB.js → chunk-ODWDQNRE.js} +2 -2
- package/dist/{chunk-ISY75RLM.js → chunk-OJFGVJS6.js} +288 -7
- package/dist/chunk-OJFGVJS6.js.map +1 -0
- package/dist/{chunk-HLBYLYRD.js → chunk-PAORGQRI.js} +70 -13
- package/dist/chunk-PAORGQRI.js.map +1 -0
- package/dist/{chunk-ZJLY4QSU.js → chunk-PMB3WGDL.js} +69 -6
- package/dist/chunk-PMB3WGDL.js.map +1 -0
- package/dist/{chunk-J3BT33K7.js → chunk-POBPGDWI.js} +5 -5
- package/dist/{chunk-QWUUMMIK.js → chunk-POMSFKTB.js} +1351 -76
- package/dist/chunk-POMSFKTB.js.map +1 -0
- package/dist/{chunk-OTAVQCSF.js → chunk-PYXS46O7.js} +2 -2
- package/dist/chunk-QDW3E4RD.js +108 -0
- package/dist/chunk-QDW3E4RD.js.map +1 -0
- package/dist/{chunk-YNCQ7E4M.js → chunk-QDYXG4CS.js} +4 -3
- package/dist/chunk-QDYXG4CS.js.map +1 -0
- package/dist/{chunk-XUHI52HK.js → chunk-QKAH5B6E.js} +4 -4
- package/dist/{chunk-HLXVTBF3.js → chunk-QNJMBKFK.js} +3 -2
- package/dist/chunk-QNJMBKFK.js.map +1 -0
- package/dist/chunk-RCICHSHL.js +789 -0
- package/dist/chunk-RCICHSHL.js.map +1 -0
- package/dist/{chunk-HG2NKWR2.js → chunk-S4LX5EBI.js} +2 -2
- package/dist/{chunk-4A24LIM2.js → chunk-S75M5ZRK.js} +2 -2
- package/dist/{chunk-QCCCQT3O.js → chunk-TBBDFYXW.js} +2 -2
- package/dist/chunk-TBBDFYXW.js.map +1 -0
- package/dist/{chunk-U4PV25RD.js → chunk-U2IQTSBY.js} +1 -1
- package/dist/chunk-U2IQTSBY.js.map +1 -0
- package/dist/chunk-U66YHYC7.js +31 -0
- package/dist/chunk-U66YHYC7.js.map +1 -0
- package/dist/{chunk-MWGVGUIS.js → chunk-UEYA6UC7.js} +36 -4
- package/dist/chunk-UEYA6UC7.js.map +1 -0
- package/dist/{chunk-MDDAA2AO.js → chunk-UPMD5XND.js} +2 -2
- package/dist/{chunk-M5KEYE5E.js → chunk-URB2WSKZ.js} +2 -2
- package/dist/chunk-UVJFDP7P.js +202 -0
- package/dist/chunk-UVJFDP7P.js.map +1 -0
- package/dist/{chunk-QY2BHY5O.js → chunk-V7XCAHIB.js} +265 -25
- package/dist/chunk-V7XCAHIB.js.map +1 -0
- package/dist/chunk-W6SL7OFG.js +180 -0
- package/dist/chunk-W6SL7OFG.js.map +1 -0
- package/dist/{chunk-QDOSNLB4.js → chunk-X4WESCKA.js} +17 -15
- package/dist/chunk-X4WESCKA.js.map +1 -0
- package/dist/{chunk-OTFNI3OO.js → chunk-XMGSSBFX.js} +1738 -383
- package/dist/chunk-XMGSSBFX.js.map +1 -0
- package/dist/chunk-YDBIWGNI.js +298 -0
- package/dist/chunk-YDBIWGNI.js.map +1 -0
- package/dist/chunk-YFYL2SIJ.js +7857 -0
- package/dist/chunk-YFYL2SIJ.js.map +1 -0
- package/dist/chunking.js +1 -1
- package/dist/citations.d.ts +67 -0
- package/dist/citations.js +13 -0
- package/dist/citations.js.map +1 -0
- package/dist/cli-DwIBnp2g.d.ts +1240 -0
- package/dist/cli.d.ts +31 -1147
- package/dist/cli.js +149 -7092
- package/dist/cli.js.map +1 -1
- package/dist/codex-materialize-CQlLTzke.d.ts +139 -0
- package/dist/codex-thread-key.d.ts +3 -0
- package/dist/codex-thread-key.js +7 -0
- package/dist/codex-thread-key.js.map +1 -0
- package/dist/config.js +3 -2
- package/dist/connectors/codex/instructions.md +160 -0
- package/dist/connectors/codex/resources/namespace-cheatsheet.md +48 -0
- package/dist/day-summary.d.ts +7 -2
- package/dist/day-summary.js +5 -2
- package/dist/embedding-fallback.d.ts +96 -2
- package/dist/embedding-fallback.js +6 -4
- package/dist/{engine-2A6J4XEX.js → engine-X7X3AAG3.js} +10 -7
- package/dist/engine-X7X3AAG3.js.map +1 -0
- package/dist/entity-retrieval.d.ts +3 -2
- package/dist/entity-retrieval.js +10 -7
- package/dist/entity-schema.d.ts +11 -0
- package/dist/entity-schema.js +19 -0
- package/dist/entity-schema.js.map +1 -0
- package/dist/explicit-capture.d.ts +6 -3
- package/dist/explicit-capture.js +2 -2
- package/dist/extraction-judge.d.ts +66 -0
- package/dist/extraction-judge.js +18 -0
- package/dist/extraction-judge.js.map +1 -0
- package/dist/extraction.d.ts +1 -0
- package/dist/extraction.js +12 -10
- package/dist/fallback-llm.js +4 -4
- package/dist/graph.js +1 -1
- package/dist/importance.d.ts +11 -1
- package/dist/importance.js +3 -1
- package/dist/index.d.ts +1140 -8
- package/dist/index.js +3350 -333
- package/dist/index.js.map +1 -1
- package/dist/intent.d.ts +2 -1
- package/dist/intent.js +3 -1
- package/dist/lifecycle.js +1 -1
- package/dist/local-llm.js +2 -2
- package/dist/logger.d.ts +1 -1
- package/dist/logger.js +1 -1
- package/dist/memory-cache.d.ts +2 -2
- package/dist/memory-cache.js +1 -1
- package/dist/{memory-projection-store-NxMkbocT.d.ts → memory-projection-store-DeSXPh1j.d.ts} +1 -1
- package/dist/memory-projection-store.d.ts +1 -1
- package/dist/model-registry.js +2 -2
- package/dist/models-json.js +2 -2
- package/dist/native-knowledge.js +2 -2
- package/dist/negative.js +2 -2
- package/dist/operator-toolkit.js +20 -16
- package/dist/{orchestrator-zTa-Qo-1.d.ts → orchestrator-B9kwlCep.d.ts} +252 -7
- package/dist/orchestrator.d.ts +6 -3
- package/dist/orchestrator.js +70 -58
- package/dist/page-versioning.d.ts +77 -0
- package/dist/page-versioning.js +15 -0
- package/dist/page-versioning.js.map +1 -0
- package/dist/plugin-id.d.ts +37 -0
- package/dist/plugin-id.js +11 -0
- package/dist/plugin-id.js.map +1 -0
- package/dist/policy-runtime.js +2 -2
- package/dist/profiling.js +2 -2
- package/dist/qmd.d.ts +5 -2
- package/dist/qmd.js +3 -3
- package/dist/recall-audit.d.ts +20 -0
- package/dist/recall-audit.js +50 -0
- package/dist/recall-audit.js.map +1 -0
- package/dist/recall-mmr.d.ts +152 -0
- package/dist/recall-mmr.js +17 -0
- package/dist/recall-mmr.js.map +1 -0
- package/dist/recall-qos.js +2 -2
- package/dist/recall-state.js +2 -2
- package/dist/relevance.js +2 -2
- package/dist/resolve-provider-secret.js +2 -2
- package/dist/resume-bundles.js +5 -4
- package/dist/retrieval-agents.js +2 -2
- package/dist/retrieval.js +2 -2
- package/dist/schemas.d.ts +398 -40
- package/dist/schemas.js +3 -1
- package/dist/sdk-compat.d.ts +2 -0
- package/dist/sdk-compat.js +6 -3
- package/dist/sdk-compat.js.map +1 -1
- package/dist/semantic-chunking.d.ts +87 -0
- package/dist/semantic-chunking.js +20 -0
- package/dist/semantic-chunking.js.map +1 -0
- package/dist/semantic-consolidation-DrvSYRdB.d.ts +119 -0
- package/dist/semantic-consolidation.d.ts +4 -42
- package/dist/semantic-consolidation.js +23 -2
- package/dist/semantic-rule-promotion.js +9 -6
- package/dist/semantic-rule-verifier.js +10 -7
- package/dist/session-observer-state.js +2 -2
- package/dist/session-toggles.d.ts +22 -0
- package/dist/session-toggles.js +116 -0
- package/dist/session-toggles.js.map +1 -0
- package/dist/skills-registry.d.ts +47 -0
- package/dist/skills-registry.js +48 -0
- package/dist/skills-registry.js.map +1 -0
- package/dist/source-attribution.d.ts +169 -0
- package/dist/source-attribution.js +27 -0
- package/dist/source-attribution.js.map +1 -0
- package/dist/storage.d.ts +171 -10
- package/dist/storage.js +16 -5
- package/dist/summarizer.js +7 -7
- package/dist/temporal-supersession.d.ts +127 -0
- package/dist/temporal-supersession.js +20 -0
- package/dist/temporal-supersession.js.map +1 -0
- package/dist/threading.js +2 -2
- package/dist/tier-migration.d.ts +2 -1
- package/dist/tier-routing.js +2 -2
- package/dist/tokens.d.ts +21 -1
- package/dist/tokens.js +5 -1
- package/dist/transcript.js +2 -2
- package/dist/types.d.ts +497 -3
- package/dist/types.js +1 -1
- package/dist/utility-learner.js +2 -2
- package/dist/utility-runtime.js +3 -3
- package/dist/verified-recall.js +11 -8
- package/dist/whitespace.d.ts +4 -0
- package/dist/whitespace.js +9 -0
- package/dist/whitespace.js.map +1 -0
- package/package.json +14 -8
- package/dist/chunk-2CJCWDMR.js +0 -87
- package/dist/chunk-2CJCWDMR.js.map +0 -1
- package/dist/chunk-2PO5ZRKV.js.map +0 -1
- package/dist/chunk-6UJQNRIO.js.map +0 -1
- package/dist/chunk-B7LOFDVE.js.map +0 -1
- package/dist/chunk-BDFZXRSO.js.map +0 -1
- package/dist/chunk-CXWFUJR2.js.map +0 -1
- package/dist/chunk-DORBM6OB.js +0 -81
- package/dist/chunk-DORBM6OB.js.map +0 -1
- package/dist/chunk-ESSMF2FR.js.map +0 -1
- package/dist/chunk-HLBYLYRD.js.map +0 -1
- package/dist/chunk-HLXVTBF3.js.map +0 -1
- package/dist/chunk-ISY75RLM.js.map +0 -1
- package/dist/chunk-KL4CP4SB.js.map +0 -1
- package/dist/chunk-KWBU5S5U.js.map +0 -1
- package/dist/chunk-MWGVGUIS.js.map +0 -1
- package/dist/chunk-ORZMT74A.js.map +0 -1
- package/dist/chunk-OTFNI3OO.js.map +0 -1
- package/dist/chunk-PGK3VUHN.js.map +0 -1
- package/dist/chunk-QCCCQT3O.js.map +0 -1
- package/dist/chunk-QDOSNLB4.js.map +0 -1
- package/dist/chunk-QPKFPHOO.js +0 -178
- package/dist/chunk-QPKFPHOO.js.map +0 -1
- package/dist/chunk-QWUUMMIK.js.map +0 -1
- package/dist/chunk-QY2BHY5O.js.map +0 -1
- package/dist/chunk-TVVVQQAK.js.map +0 -1
- package/dist/chunk-U4PV25RD.js.map +0 -1
- package/dist/chunk-UYSKNO6E.js.map +0 -1
- package/dist/chunk-V4YC4LUK.js.map +0 -1
- package/dist/chunk-WWIQTB2Y.js.map +0 -1
- package/dist/chunk-YNCQ7E4M.js.map +0 -1
- package/dist/chunk-ZJLY4QSU.js.map +0 -1
- /package/dist/{engine-2A6J4XEX.js.map → active-memory-bridge.js.map} +0 -0
- /package/dist/{chunk-NTTLPF7F.js.map → chunk-3QFQGRHO.js.map} +0 -0
- /package/dist/{chunk-G3AG3KZN.js.map → chunk-5IZL4DCV.js.map} +0 -0
- /package/dist/{chunk-BRK4ODMI.js.map → chunk-5NPGSAVB.js.map} +0 -0
- /package/dist/{chunk-L5RPWGFK.js.map → chunk-7DHTMOND.js.map} +0 -0
- /package/dist/{chunk-Q6FETXJA.js.map → chunk-7SEAZFFB.js.map} +0 -0
- /package/dist/{chunk-QANCTXQF.js.map → chunk-AYPYCLR7.js.map} +0 -0
- /package/dist/{chunk-LP47L3ZX.js.map → chunk-BTY5RRRF.js.map} +0 -0
- /package/dist/{chunk-SCHEKPYH.js.map → chunk-C2EFFULQ.js.map} +0 -0
- /package/dist/{chunk-GJR6D6KC.js.map → chunk-D654IBA6.js.map} +0 -0
- /package/dist/{chunk-UV2FO7J4.js.map → chunk-E6K4NIEU.js.map} +0 -0
- /package/dist/{chunk-T4WRIV2C.js.map → chunk-EABGC2TL.js.map} +0 -0
- /package/dist/{chunk-ONRU4L2N.js.map → chunk-FEMOX5AD.js.map} +0 -0
- /package/dist/{chunk-IFFFR3MR.js.map → chunk-FSFEQI74.js.map} +0 -0
- /package/dist/{chunk-UIYZ5T3I.js.map → chunk-GJQPH5G3.js.map} +0 -0
- /package/dist/{chunk-ZKYI7UVO.js.map → chunk-JR4ZC3G4.js.map} +0 -0
- /package/dist/{chunk-UCYSTFZR.js.map → chunk-JRNQ3RNA.js.map} +0 -0
- /package/dist/{chunk-GPGBSNKM.js.map → chunk-K4FLSOR5.js.map} +0 -0
- /package/dist/{chunk-M5ZBBBJI.js.map → chunk-KEG4GNGI.js.map} +0 -0
- /package/dist/{chunk-L7WO3MZ4.js.map → chunk-KWP7T3DP.js.map} +0 -0
- /package/dist/{chunk-J47FNDR7.js.map → chunk-MYQWXITD.js.map} +0 -0
- /package/dist/{chunk-YNI4S5WT.js.map → chunk-N53K2EXC.js.map} +0 -0
- /package/dist/{chunk-763GUIOU.js.map → chunk-NBNN5GOB.js.map} +0 -0
- /package/dist/{chunk-OOSWAUYB.js.map → chunk-ODWDQNRE.js.map} +0 -0
- /package/dist/{chunk-J3BT33K7.js.map → chunk-POBPGDWI.js.map} +0 -0
- /package/dist/{chunk-OTAVQCSF.js.map → chunk-PYXS46O7.js.map} +0 -0
- /package/dist/{chunk-XUHI52HK.js.map → chunk-QKAH5B6E.js.map} +0 -0
- /package/dist/{chunk-HG2NKWR2.js.map → chunk-S4LX5EBI.js.map} +0 -0
- /package/dist/{chunk-4A24LIM2.js.map → chunk-S75M5ZRK.js.map} +0 -0
- /package/dist/{chunk-MDDAA2AO.js.map → chunk-UPMD5XND.js.map} +0 -0
- /package/dist/{chunk-M5KEYE5E.js.map → chunk-URB2WSKZ.js.map} +0 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Joshua Warren
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -21,6 +21,7 @@ Remnic Core is the engine that powers persistent memory across AI agent sessions
|
|
|
21
21
|
- **Trust zones** -- namespace isolation and access control for multi-agent setups
|
|
22
22
|
- **Entity tracking** -- people, projects, tools, and their relationships
|
|
23
23
|
- **Consolidation** -- periodic merging, deduplication, and summarization
|
|
24
|
+
- **Temporal supersession** -- when a new fact writes a conflicting value for the same `entityRef + structuredAttribute` key, the older fact is marked `status: "superseded"` and excluded from recall by default. Opt in to audit/history via `temporalSupersessionIncludeInRecall: true`. Controlled by `temporalSupersessionEnabled` (default `true`). See issue #375.
|
|
24
25
|
|
|
25
26
|
## Usage
|
|
26
27
|
|
package/dist/access-cli.d.ts
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
type AccessCliOptions = {
|
|
2
|
+
/**
|
|
3
|
+
* The calling plugin's own id (e.g. `"openclaw-engram"` when invoked by the
|
|
4
|
+
* shim binary). Forwarded to {@link resolveRemnicPluginEntry} so shim CLI
|
|
5
|
+
* users target their own `plugins.entries["openclaw-engram"]` block instead
|
|
6
|
+
* of accidentally resolving to the canonical `"openclaw-remnic"` entry when
|
|
7
|
+
* `plugins.slots.memory` is unset (#403).
|
|
8
|
+
*/
|
|
9
|
+
preferredId?: string;
|
|
10
|
+
};
|
|
11
|
+
declare function main(argv?: string[], options?: AccessCliOptions): Promise<void>;
|
|
2
12
|
declare function printUsage(): void;
|
|
3
|
-
declare function runCli(argv?: string[]): Promise<void>;
|
|
13
|
+
declare function runCli(argv?: string[], options?: AccessCliOptions): Promise<void>;
|
|
4
14
|
|
|
5
|
-
export { main, printUsage, runCli };
|
|
15
|
+
export { type AccessCliOptions, main, printUsage, runCli };
|
package/dist/access-cli.js
CHANGED
|
@@ -1,76 +1,85 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Orchestrator
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-XMGSSBFX.js";
|
|
4
|
+
import "./chunk-JROGC36Y.js";
|
|
5
|
+
import "./chunk-FSFEQI74.js";
|
|
6
|
+
import "./chunk-W6SL7OFG.js";
|
|
6
7
|
import "./chunk-Z5AAYHUC.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-S75M5ZRK.js";
|
|
8
9
|
import "./chunk-TPB3I2AC.js";
|
|
9
10
|
import "./chunk-UHGBNIOS.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-LP47L3ZX.js";
|
|
11
|
+
import "./chunk-BTY5RRRF.js";
|
|
12
12
|
import "./chunk-ETOW6ACV.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-KVE7R4CG.js";
|
|
14
|
+
import "./chunk-JR4ZC3G4.js";
|
|
15
|
+
import "./chunk-C7VW7C3F.js";
|
|
16
|
+
import "./chunk-K4FLSOR5.js";
|
|
14
17
|
import "./chunk-V3RXWQIE.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-5IZL4DCV.js";
|
|
19
|
+
import "./chunk-YDBIWGNI.js";
|
|
20
|
+
import "./chunk-7DHTMOND.js";
|
|
21
|
+
import "./chunk-S4LX5EBI.js";
|
|
18
22
|
import "./chunk-X7XN6YU4.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-C7VW7C3F.js";
|
|
23
|
+
import "./chunk-5NPGSAVB.js";
|
|
21
24
|
import "./chunk-YCN4BVDK.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-GJR6D6KC.js";
|
|
25
|
+
import "./chunk-D654IBA6.js";
|
|
24
26
|
import "./chunk-H63EDPFJ.js";
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-6UJQNRIO.js";
|
|
27
|
-
import "./chunk-MWGVGUIS.js";
|
|
28
|
-
import "./chunk-763GUIOU.js";
|
|
29
|
-
import "./chunk-ONRU4L2N.js";
|
|
30
|
-
import "./chunk-MDDAA2AO.js";
|
|
27
|
+
import "./chunk-BKQJBXXX.js";
|
|
31
28
|
import "./chunk-YAZNBMNF.js";
|
|
32
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-ALXMCZEU.js";
|
|
30
|
+
import "./chunk-74JR4N5J.js";
|
|
31
|
+
import "./chunk-LAYN4LDC.js";
|
|
32
|
+
import "./chunk-2VFW5K5U.js";
|
|
33
|
+
import "./chunk-UEYA6UC7.js";
|
|
34
|
+
import "./chunk-NBNN5GOB.js";
|
|
35
|
+
import "./chunk-UPMD5XND.js";
|
|
36
|
+
import "./chunk-FEMOX5AD.js";
|
|
33
37
|
import "./chunk-VEWZZM3H.js";
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-HLBYLYRD.js";
|
|
37
|
-
import "./chunk-OTAVQCSF.js";
|
|
38
|
+
import "./chunk-PAORGQRI.js";
|
|
39
|
+
import "./chunk-PYXS46O7.js";
|
|
38
40
|
import "./chunk-3QKK7QOS.js";
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-GJQPH5G3.js";
|
|
42
|
+
import "./chunk-JRNQ3RNA.js";
|
|
43
|
+
import "./chunk-MYQWXITD.js";
|
|
42
44
|
import "./chunk-CULXMQJH.js";
|
|
43
|
-
import "./chunk-
|
|
44
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-E6K4NIEU.js";
|
|
46
|
+
import "./chunk-EABGC2TL.js";
|
|
45
47
|
import "./chunk-LOBRX7VD.js";
|
|
46
|
-
import "./chunk-
|
|
48
|
+
import "./chunk-HITJFT7E.js";
|
|
47
49
|
import "./chunk-YRMVARQP.js";
|
|
48
|
-
import
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
import {
|
|
51
|
+
resolveRemnicPluginEntry
|
|
52
|
+
} from "./chunk-U66YHYC7.js";
|
|
53
|
+
import "./chunk-7PA4OZEU.js";
|
|
54
|
+
import "./chunk-J4IYOZZ5.js";
|
|
51
55
|
import "./chunk-AAI7JARD.js";
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-Q6FETXJA.js";
|
|
56
|
+
import "./chunk-7SEAZFFB.js";
|
|
54
57
|
import "./chunk-K6WK37A6.js";
|
|
55
|
-
import "./chunk-
|
|
56
|
-
import "./chunk-
|
|
57
|
-
import "./chunk-B7LOFDVE.js";
|
|
58
|
+
import "./chunk-LK6SGL53.js";
|
|
59
|
+
import "./chunk-3PG3H5TD.js";
|
|
58
60
|
import "./chunk-FYIYMQ5N.js";
|
|
59
61
|
import "./chunk-2NMMFZ5T.js";
|
|
60
62
|
import {
|
|
61
63
|
parseConfig
|
|
62
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-OJFGVJS6.js";
|
|
63
65
|
import "./chunk-Z5LAYHGJ.js";
|
|
66
|
+
import "./chunk-C6QPK5GG.js";
|
|
67
|
+
import "./chunk-GZCUW5IC.js";
|
|
68
|
+
import "./chunk-RCICHSHL.js";
|
|
69
|
+
import "./chunk-EJI5XIBB.js";
|
|
70
|
+
import "./chunk-C2EFFULQ.js";
|
|
71
|
+
import "./chunk-4WMCPJWX.js";
|
|
72
|
+
import "./chunk-6HZ6AO2P.js";
|
|
64
73
|
import "./chunk-JWPLJLDU.js";
|
|
65
|
-
import "./chunk-
|
|
66
|
-
import "./chunk-
|
|
74
|
+
import "./chunk-N53K2EXC.js";
|
|
75
|
+
import "./chunk-URB2WSKZ.js";
|
|
76
|
+
import "./chunk-UVJFDP7P.js";
|
|
67
77
|
import "./chunk-XYIK4LF6.js";
|
|
68
|
-
import "./chunk-
|
|
69
|
-
import "./chunk-
|
|
70
|
-
import "./chunk-
|
|
78
|
+
import "./chunk-QKAH5B6E.js";
|
|
79
|
+
import "./chunk-KEG4GNGI.js";
|
|
80
|
+
import "./chunk-ODWDQNRE.js";
|
|
71
81
|
import "./chunk-Y27UJK6V.js";
|
|
72
82
|
import "./chunk-UZB5KHKX.js";
|
|
73
|
-
import "./chunk-M5KEYE5E.js";
|
|
74
83
|
import "./chunk-NGAVDO7E.js";
|
|
75
84
|
import {
|
|
76
85
|
readEnvVar,
|
|
@@ -78,29 +87,34 @@ import {
|
|
|
78
87
|
} from "./chunk-MARWOCVP.js";
|
|
79
88
|
import {
|
|
80
89
|
EngramAccessService
|
|
81
|
-
} from "./chunk-
|
|
82
|
-
import "./chunk-N5AKDXAI.js";
|
|
90
|
+
} from "./chunk-V7XCAHIB.js";
|
|
83
91
|
import "./chunk-EQINRHYR.js";
|
|
84
|
-
import "./chunk-
|
|
92
|
+
import "./chunk-POBPGDWI.js";
|
|
93
|
+
import "./chunk-QDYXG4CS.js";
|
|
94
|
+
import "./chunk-QNJMBKFK.js";
|
|
85
95
|
import "./chunk-EEQLFRUM.js";
|
|
86
|
-
import "./chunk-
|
|
87
|
-
import "./chunk-
|
|
88
|
-
import "./chunk-
|
|
96
|
+
import "./chunk-QDW3E4RD.js";
|
|
97
|
+
import "./chunk-4NRAJUDS.js";
|
|
98
|
+
import "./chunk-DT5TVLJE.js";
|
|
99
|
+
import "./chunk-TBBDFYXW.js";
|
|
100
|
+
import "./chunk-DGXUHMOV.js";
|
|
101
|
+
import "./chunk-LPSF4OQH.js";
|
|
102
|
+
import "./chunk-XKECPATV.js";
|
|
103
|
+
import "./chunk-ECKDIK5F.js";
|
|
104
|
+
import "./chunk-POMSFKTB.js";
|
|
105
|
+
import "./chunk-U2IQTSBY.js";
|
|
106
|
+
import "./chunk-4KAN3GZ3.js";
|
|
107
|
+
import "./chunk-6ZH4TU6I.js";
|
|
108
|
+
import "./chunk-6PFRXT4K.js";
|
|
89
109
|
import "./chunk-TP4FZJIZ.js";
|
|
90
110
|
import "./chunk-SCU65EZI.js";
|
|
91
111
|
import "./chunk-BOUYNNYD.js";
|
|
92
|
-
import "./chunk-DM2T26WE.js";
|
|
93
112
|
import "./chunk-QSVPYQPG.js";
|
|
94
|
-
import "./chunk-
|
|
95
|
-
import "./chunk-HLXVTBF3.js";
|
|
113
|
+
import "./chunk-DM2T26WE.js";
|
|
96
114
|
import "./chunk-M62O4P4T.js";
|
|
97
|
-
import "./chunk-
|
|
98
|
-
import "./chunk-
|
|
99
|
-
import "./chunk-
|
|
100
|
-
import "./chunk-LPSF4OQH.js";
|
|
101
|
-
import "./chunk-XKECPATV.js";
|
|
102
|
-
import "./chunk-6HZ6AO2P.js";
|
|
103
|
-
import "./chunk-QCCCQT3O.js";
|
|
115
|
+
import "./chunk-4DJQYKMN.js";
|
|
116
|
+
import "./chunk-2ODBA7MQ.js";
|
|
117
|
+
import "./chunk-N5AKDXAI.js";
|
|
104
118
|
|
|
105
119
|
// src/access-cli.ts
|
|
106
120
|
import fs from "fs";
|
|
@@ -227,20 +241,21 @@ function parseFloatOption(args, name) {
|
|
|
227
241
|
}
|
|
228
242
|
return value;
|
|
229
243
|
}
|
|
230
|
-
function loadPluginConfig() {
|
|
244
|
+
function loadPluginConfig(preferredId) {
|
|
231
245
|
const configPath = readEnvVar("OPENCLAW_ENGRAM_CONFIG_PATH") || readEnvVar("OPENCLAW_CONFIG_PATH") || path.join(resolveHomeDir(), ".openclaw", "openclaw.json");
|
|
232
246
|
const raw = JSON.parse(fs.readFileSync(configPath, "utf8"));
|
|
233
|
-
|
|
247
|
+
const entry = resolveRemnicPluginEntry(raw, preferredId);
|
|
248
|
+
return entry?.["config"] ?? {};
|
|
234
249
|
}
|
|
235
|
-
function buildRuntime() {
|
|
236
|
-
const config = parseConfig(loadPluginConfig());
|
|
250
|
+
function buildRuntime(preferredId) {
|
|
251
|
+
const config = parseConfig(loadPluginConfig(preferredId));
|
|
237
252
|
return {
|
|
238
253
|
config,
|
|
239
254
|
service: new EngramAccessService(new Orchestrator(config))
|
|
240
255
|
};
|
|
241
256
|
}
|
|
242
|
-
async function runBrowse(args) {
|
|
243
|
-
const { service } = buildRuntime();
|
|
257
|
+
async function runBrowse(args, preferredId) {
|
|
258
|
+
const { service } = buildRuntime(preferredId);
|
|
244
259
|
const result = await service.memoryBrowse({
|
|
245
260
|
namespace: getLastOption(args, "namespace"),
|
|
246
261
|
query: getLastOption(args, "query"),
|
|
@@ -252,8 +267,8 @@ async function runBrowse(args) {
|
|
|
252
267
|
});
|
|
253
268
|
console.log(JSON.stringify(result, null, 2));
|
|
254
269
|
}
|
|
255
|
-
async function runStore(args) {
|
|
256
|
-
const { config, service } = buildRuntime();
|
|
270
|
+
async function runStore(args, preferredId) {
|
|
271
|
+
const { config, service } = buildRuntime(preferredId);
|
|
257
272
|
const contentFile = getLastOption(args, "content-file");
|
|
258
273
|
const inlineContent = getLastOption(args, "content");
|
|
259
274
|
const content = contentFile ? fs.readFileSync(contentFile, "utf8") : inlineContent;
|
|
@@ -276,20 +291,20 @@ async function runStore(args) {
|
|
|
276
291
|
});
|
|
277
292
|
console.log(JSON.stringify(result, null, 2));
|
|
278
293
|
}
|
|
279
|
-
async function main(argv = process.argv.slice(2)) {
|
|
294
|
+
async function main(argv = process.argv.slice(2), options = {}) {
|
|
280
295
|
const args = parseArgs(argv);
|
|
281
296
|
if (args.command === "browse") {
|
|
282
|
-
await runBrowse(args);
|
|
297
|
+
await runBrowse(args, options.preferredId);
|
|
283
298
|
return;
|
|
284
299
|
}
|
|
285
|
-
await runStore(args);
|
|
300
|
+
await runStore(args, options.preferredId);
|
|
286
301
|
}
|
|
287
302
|
function printUsage() {
|
|
288
303
|
writeCliOutput(usage());
|
|
289
304
|
}
|
|
290
|
-
async function runCli(argv = process.argv.slice(2)) {
|
|
305
|
+
async function runCli(argv = process.argv.slice(2), options = {}) {
|
|
291
306
|
try {
|
|
292
|
-
await main(argv);
|
|
307
|
+
await main(argv, options);
|
|
293
308
|
} catch (error) {
|
|
294
309
|
if (error instanceof UsageError) {
|
|
295
310
|
writeCliOutput(formatUsageError(error));
|
package/dist/access-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/access-cli.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { parseConfig } from \"./config.js\";\nimport type { PluginConfig } from \"./types.js\";\nimport { Orchestrator } from \"./orchestrator.js\";\nimport { EngramAccessService } from \"./access-service.js\";\nimport { readEnvVar, resolveHomeDir } from \"./runtime/env.js\";\n\ntype CommandName = \"browse\" | \"store\";\n\ntype ParsedArgs = {\n command: CommandName;\n options: Record<string, string[]>;\n flags: Set<string>;\n};\n\ntype Runtime = {\n config: PluginConfig;\n service: EngramAccessService;\n};\n\ntype UsageErrorKind =\n | \"unsupported-command\"\n | \"unexpected-positional\"\n | \"missing-option\"\n | \"missing-content\"\n | \"invalid-integer\"\n | \"invalid-number\";\n\nclass UsageError extends Error {\n constructor(\n readonly kind: UsageErrorKind,\n readonly optionName?: string,\n ) {\n super(\"invalid access-cli arguments\");\n }\n}\n\nfunction formatUsageError(error: UsageError): string {\n switch (error.kind) {\n case \"unsupported-command\":\n return \"unsupported command\";\n case \"unexpected-positional\":\n return \"unexpected positional argument\";\n case \"missing-option\":\n return `missing required option: --${error.optionName ?? \"unknown\"}`;\n case \"missing-content\":\n return \"missing required option: --content or --content-file\";\n case \"invalid-integer\":\n return `invalid integer for --${error.optionName ?? \"unknown\"}`;\n case \"invalid-number\":\n return `invalid number for --${error.optionName ?? \"unknown\"}`;\n }\n}\n\nfunction writeCliOutput(text: string = \"\"): void {\n process.stdout.write(`${text}\\n`);\n}\n\nfunction usage(): string {\n return [\n \"Usage:\",\n \" engram-access browse [options]\",\n \" engram-access store [options]\",\n \"\",\n \"Browse options:\",\n \" --namespace <name>\",\n \" --query <text>\",\n \" --category <name>\",\n \" --status <name>\",\n \" --sort <updated_desc|updated_asc|created_desc|created_asc>\",\n \" --limit <n>\",\n \" --offset <n>\",\n \"\",\n \"Store options:\",\n \" --namespace <name>\",\n \" --session-key <key>\",\n \" --principal <principal>\",\n \" --content <text> | --content-file <path>\",\n \" --category <name>\",\n \" --confidence <0-1>\",\n \" --tag <tag> (repeatable)\",\n \" --entity-ref <ref>\",\n \" --ttl <duration>\",\n \" --source-reason <text>\",\n \" --idempotency-key <key>\",\n \" --dry-run\",\n ].join(\"\\n\");\n}\n\nfunction parseArgs(argv: string[]): ParsedArgs {\n const [commandRaw, ...rest] = argv;\n if (commandRaw !== \"browse\" && commandRaw !== \"store\") {\n throw new UsageError(\"unsupported-command\");\n }\n\n const options: Record<string, string[]> = {};\n const flags = new Set<string>();\n\n for (let i = 0; i < rest.length; i += 1) {\n const token = rest[i];\n if (!token.startsWith(\"--\")) {\n throw new UsageError(\"unexpected-positional\");\n }\n const key = token.slice(2);\n const next = rest[i + 1];\n if (!next || next.startsWith(\"--\")) {\n flags.add(key);\n continue;\n }\n if (!options[key]) {\n options[key] = [];\n }\n options[key].push(next);\n i += 1;\n }\n\n return {\n command: commandRaw,\n options,\n flags,\n };\n}\n\nfunction getLastOption(args: ParsedArgs, name: string): string | undefined {\n const values = args.options[name];\n if (!values || values.length === 0) return undefined;\n return values[values.length - 1];\n}\n\nfunction getAllOptions(args: ParsedArgs, name: string): string[] {\n return args.options[name] ?? [];\n}\n\nfunction requireOption(args: ParsedArgs, name: string): string {\n const value = getLastOption(args, name);\n if (!value || value.trim().length === 0) {\n throw new UsageError(\"missing-option\", name);\n }\n return value;\n}\n\nfunction parseIntegerOption(args: ParsedArgs, name: string): number | undefined {\n const raw = getLastOption(args, name);\n if (!raw) return undefined;\n const value = parseInt(raw, 10);\n if (!Number.isFinite(value)) {\n throw new UsageError(\"invalid-integer\", name);\n }\n return value;\n}\n\nfunction parseFloatOption(args: ParsedArgs, name: string): number | undefined {\n const raw = getLastOption(args, name);\n if (!raw) return undefined;\n const value = Number.parseFloat(raw);\n if (!Number.isFinite(value)) {\n throw new UsageError(\"invalid-number\", name);\n }\n return value;\n}\n\nfunction loadPluginConfig(): Record<string, unknown> {\n const configPath =\n readEnvVar(\"OPENCLAW_ENGRAM_CONFIG_PATH\") ||\n readEnvVar(\"OPENCLAW_CONFIG_PATH\") ||\n path.join(resolveHomeDir(), \".openclaw\", \"openclaw.json\");\n const raw = JSON.parse(fs.readFileSync(configPath, \"utf8\"));\n return raw?.plugins?.entries?.[\"openclaw-engram\"]?.config ?? {};\n}\n\nfunction buildRuntime(): Runtime {\n const config = parseConfig(loadPluginConfig());\n return {\n config,\n service: new EngramAccessService(new Orchestrator(config)),\n };\n}\n\nasync function runBrowse(args: ParsedArgs): Promise<void> {\n const { service } = buildRuntime();\n const result = await service.memoryBrowse({\n namespace: getLastOption(args, \"namespace\"),\n query: getLastOption(args, \"query\"),\n category: getLastOption(args, \"category\"),\n status: getLastOption(args, \"status\"),\n sort: getLastOption(args, \"sort\") as \"updated_desc\" | \"updated_asc\" | \"created_desc\" | \"created_asc\" | undefined,\n limit: parseIntegerOption(args, \"limit\"),\n offset: parseIntegerOption(args, \"offset\"),\n });\n console.log(JSON.stringify(result, null, 2));\n}\n\nasync function runStore(args: ParsedArgs): Promise<void> {\n const { config, service } = buildRuntime();\n const contentFile = getLastOption(args, \"content-file\");\n const inlineContent = getLastOption(args, \"content\");\n const content = contentFile ? fs.readFileSync(contentFile, \"utf8\") : inlineContent;\n if (!content || content.trim().length === 0) {\n throw new UsageError(\"missing-content\");\n }\n\n const result = await service.memoryStore({\n namespace: getLastOption(args, \"namespace\"),\n sessionKey: getLastOption(args, \"session-key\"),\n authenticatedPrincipal: getLastOption(args, \"principal\") ?? config.agentAccessHttp.principal,\n content,\n category: requireOption(args, \"category\"),\n confidence: parseFloatOption(args, \"confidence\"),\n tags: getAllOptions(args, \"tag\"),\n entityRef: getLastOption(args, \"entity-ref\"),\n ttl: getLastOption(args, \"ttl\"),\n sourceReason: getLastOption(args, \"source-reason\"),\n idempotencyKey: getLastOption(args, \"idempotency-key\"),\n dryRun: args.flags.has(\"dry-run\"),\n });\n console.log(JSON.stringify(result, null, 2));\n}\n\nexport async function main(argv: string[] = process.argv.slice(2)): Promise<void> {\n const args = parseArgs(argv);\n if (args.command === \"browse\") {\n await runBrowse(args);\n return;\n }\n await runStore(args);\n}\n\nexport function printUsage(): void {\n writeCliOutput(usage());\n}\n\nexport async function runCli(argv: string[] = process.argv.slice(2)): Promise<void> {\n try {\n await main(argv);\n } catch (error) {\n if (error instanceof UsageError) {\n writeCliOutput(formatUsageError(error));\n writeCliOutput();\n printUsage();\n process.exit(1);\n }\n\n console.error(\"access-cli failed\");\n process.exit(1);\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/access-cli.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { parseConfig } from \"./config.js\";\nimport type { PluginConfig } from \"./types.js\";\nimport { Orchestrator } from \"./orchestrator.js\";\nimport { EngramAccessService } from \"./access-service.js\";\nimport { readEnvVar, resolveHomeDir } from \"./runtime/env.js\";\nimport { resolveRemnicPluginEntry } from \"./plugin-id.js\";\n\ntype CommandName = \"browse\" | \"store\";\n\ntype ParsedArgs = {\n command: CommandName;\n options: Record<string, string[]>;\n flags: Set<string>;\n};\n\ntype Runtime = {\n config: PluginConfig;\n service: EngramAccessService;\n};\n\nexport type AccessCliOptions = {\n /**\n * The calling plugin's own id (e.g. `\"openclaw-engram\"` when invoked by the\n * shim binary). Forwarded to {@link resolveRemnicPluginEntry} so shim CLI\n * users target their own `plugins.entries[\"openclaw-engram\"]` block instead\n * of accidentally resolving to the canonical `\"openclaw-remnic\"` entry when\n * `plugins.slots.memory` is unset (#403).\n */\n preferredId?: string;\n};\n\ntype UsageErrorKind =\n | \"unsupported-command\"\n | \"unexpected-positional\"\n | \"missing-option\"\n | \"missing-content\"\n | \"invalid-integer\"\n | \"invalid-number\";\n\nclass UsageError extends Error {\n constructor(\n readonly kind: UsageErrorKind,\n readonly optionName?: string,\n ) {\n super(\"invalid access-cli arguments\");\n }\n}\n\nfunction formatUsageError(error: UsageError): string {\n switch (error.kind) {\n case \"unsupported-command\":\n return \"unsupported command\";\n case \"unexpected-positional\":\n return \"unexpected positional argument\";\n case \"missing-option\":\n return `missing required option: --${error.optionName ?? \"unknown\"}`;\n case \"missing-content\":\n return \"missing required option: --content or --content-file\";\n case \"invalid-integer\":\n return `invalid integer for --${error.optionName ?? \"unknown\"}`;\n case \"invalid-number\":\n return `invalid number for --${error.optionName ?? \"unknown\"}`;\n }\n}\n\nfunction writeCliOutput(text: string = \"\"): void {\n process.stdout.write(`${text}\\n`);\n}\n\nfunction usage(): string {\n return [\n \"Usage:\",\n \" engram-access browse [options]\",\n \" engram-access store [options]\",\n \"\",\n \"Browse options:\",\n \" --namespace <name>\",\n \" --query <text>\",\n \" --category <name>\",\n \" --status <name>\",\n \" --sort <updated_desc|updated_asc|created_desc|created_asc>\",\n \" --limit <n>\",\n \" --offset <n>\",\n \"\",\n \"Store options:\",\n \" --namespace <name>\",\n \" --session-key <key>\",\n \" --principal <principal>\",\n \" --content <text> | --content-file <path>\",\n \" --category <name>\",\n \" --confidence <0-1>\",\n \" --tag <tag> (repeatable)\",\n \" --entity-ref <ref>\",\n \" --ttl <duration>\",\n \" --source-reason <text>\",\n \" --idempotency-key <key>\",\n \" --dry-run\",\n ].join(\"\\n\");\n}\n\nfunction parseArgs(argv: string[]): ParsedArgs {\n const [commandRaw, ...rest] = argv;\n if (commandRaw !== \"browse\" && commandRaw !== \"store\") {\n throw new UsageError(\"unsupported-command\");\n }\n\n const options: Record<string, string[]> = {};\n const flags = new Set<string>();\n\n for (let i = 0; i < rest.length; i += 1) {\n const token = rest[i];\n if (!token.startsWith(\"--\")) {\n throw new UsageError(\"unexpected-positional\");\n }\n const key = token.slice(2);\n const next = rest[i + 1];\n if (!next || next.startsWith(\"--\")) {\n flags.add(key);\n continue;\n }\n if (!options[key]) {\n options[key] = [];\n }\n options[key].push(next);\n i += 1;\n }\n\n return {\n command: commandRaw,\n options,\n flags,\n };\n}\n\nfunction getLastOption(args: ParsedArgs, name: string): string | undefined {\n const values = args.options[name];\n if (!values || values.length === 0) return undefined;\n return values[values.length - 1];\n}\n\nfunction getAllOptions(args: ParsedArgs, name: string): string[] {\n return args.options[name] ?? [];\n}\n\nfunction requireOption(args: ParsedArgs, name: string): string {\n const value = getLastOption(args, name);\n if (!value || value.trim().length === 0) {\n throw new UsageError(\"missing-option\", name);\n }\n return value;\n}\n\nfunction parseIntegerOption(args: ParsedArgs, name: string): number | undefined {\n const raw = getLastOption(args, name);\n if (!raw) return undefined;\n const value = parseInt(raw, 10);\n if (!Number.isFinite(value)) {\n throw new UsageError(\"invalid-integer\", name);\n }\n return value;\n}\n\nfunction parseFloatOption(args: ParsedArgs, name: string): number | undefined {\n const raw = getLastOption(args, name);\n if (!raw) return undefined;\n const value = Number.parseFloat(raw);\n if (!Number.isFinite(value)) {\n throw new UsageError(\"invalid-number\", name);\n }\n return value;\n}\n\nfunction loadPluginConfig(preferredId?: string): Record<string, unknown> {\n const configPath =\n readEnvVar(\"OPENCLAW_ENGRAM_CONFIG_PATH\") ||\n readEnvVar(\"OPENCLAW_CONFIG_PATH\") ||\n path.join(resolveHomeDir(), \".openclaw\", \"openclaw.json\");\n const raw = JSON.parse(fs.readFileSync(configPath, \"utf8\"));\n // Delegate slot → preferredId → PLUGIN_ID → LEGACY_PLUGIN_ID resolution to\n // the shared helper so all config loaders stay in sync (#403). Shim CLI\n // callers pass `preferredId: \"openclaw-engram\"` so legacy shim installs\n // target their own config block instead of falling through to the canonical\n // \"openclaw-remnic\" entry.\n const entry = resolveRemnicPluginEntry(raw, preferredId);\n return (entry?.[\"config\"] as Record<string, unknown> | undefined) ?? {};\n}\n\nfunction buildRuntime(preferredId?: string): Runtime {\n const config = parseConfig(loadPluginConfig(preferredId));\n return {\n config,\n service: new EngramAccessService(new Orchestrator(config)),\n };\n}\n\nasync function runBrowse(args: ParsedArgs, preferredId?: string): Promise<void> {\n const { service } = buildRuntime(preferredId);\n const result = await service.memoryBrowse({\n namespace: getLastOption(args, \"namespace\"),\n query: getLastOption(args, \"query\"),\n category: getLastOption(args, \"category\"),\n status: getLastOption(args, \"status\"),\n sort: getLastOption(args, \"sort\") as \"updated_desc\" | \"updated_asc\" | \"created_desc\" | \"created_asc\" | undefined,\n limit: parseIntegerOption(args, \"limit\"),\n offset: parseIntegerOption(args, \"offset\"),\n });\n console.log(JSON.stringify(result, null, 2));\n}\n\nasync function runStore(args: ParsedArgs, preferredId?: string): Promise<void> {\n const { config, service } = buildRuntime(preferredId);\n const contentFile = getLastOption(args, \"content-file\");\n const inlineContent = getLastOption(args, \"content\");\n const content = contentFile ? fs.readFileSync(contentFile, \"utf8\") : inlineContent;\n if (!content || content.trim().length === 0) {\n throw new UsageError(\"missing-content\");\n }\n\n const result = await service.memoryStore({\n namespace: getLastOption(args, \"namespace\"),\n sessionKey: getLastOption(args, \"session-key\"),\n authenticatedPrincipal: getLastOption(args, \"principal\") ?? config.agentAccessHttp.principal,\n content,\n category: requireOption(args, \"category\"),\n confidence: parseFloatOption(args, \"confidence\"),\n tags: getAllOptions(args, \"tag\"),\n entityRef: getLastOption(args, \"entity-ref\"),\n ttl: getLastOption(args, \"ttl\"),\n sourceReason: getLastOption(args, \"source-reason\"),\n idempotencyKey: getLastOption(args, \"idempotency-key\"),\n dryRun: args.flags.has(\"dry-run\"),\n });\n console.log(JSON.stringify(result, null, 2));\n}\n\nexport async function main(\n argv: string[] = process.argv.slice(2),\n options: AccessCliOptions = {},\n): Promise<void> {\n const args = parseArgs(argv);\n if (args.command === \"browse\") {\n await runBrowse(args, options.preferredId);\n return;\n }\n await runStore(args, options.preferredId);\n}\n\nexport function printUsage(): void {\n writeCliOutput(usage());\n}\n\nexport async function runCli(\n argv: string[] = process.argv.slice(2),\n options: AccessCliOptions = {},\n): Promise<void> {\n try {\n await main(argv, options);\n } catch (error) {\n if (error instanceof UsageError) {\n writeCliOutput(formatUsageError(error));\n writeCliOutput();\n printUsage();\n process.exit(1);\n }\n\n console.error(\"access-cli failed\");\n process.exit(1);\n }\n}\n"],"mappings":"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","names":[]}
|
package/dist/access-http.d.ts
CHANGED
|
@@ -2,10 +2,11 @@ import { IncomingMessage } from 'node:http';
|
|
|
2
2
|
import { EngramAccessService } from './access-service.js';
|
|
3
3
|
import './types.js';
|
|
4
4
|
import './explicit-capture.js';
|
|
5
|
-
import './orchestrator-
|
|
5
|
+
import './orchestrator-B9kwlCep.js';
|
|
6
6
|
import './buffer.js';
|
|
7
7
|
import './storage.js';
|
|
8
|
-
import './
|
|
8
|
+
import './page-versioning.js';
|
|
9
|
+
import './memory-projection-store-DeSXPh1j.js';
|
|
9
10
|
import 'better-sqlite3';
|
|
10
11
|
import './port-C1GZFv8h.js';
|
|
11
12
|
import './transcript.js';
|
|
@@ -18,7 +19,9 @@ import './negative.js';
|
|
|
18
19
|
import './recall-state.js';
|
|
19
20
|
import './session-observer-state.js';
|
|
20
21
|
import './embedding-fallback.js';
|
|
21
|
-
import './semantic-consolidation.js';
|
|
22
|
+
import './semantic-consolidation-DrvSYRdB.js';
|
|
23
|
+
import './codex-materialize-CQlLTzke.js';
|
|
24
|
+
import './logger.js';
|
|
22
25
|
import 'zod';
|
|
23
26
|
import './policy-runtime.js';
|
|
24
27
|
import './profiling.js';
|
|
@@ -96,6 +99,10 @@ interface EngramAccessHttpServerOptions {
|
|
|
96
99
|
enableAdapters?: boolean;
|
|
97
100
|
/** Custom adapter registry (defaults to built-in adapters) */
|
|
98
101
|
adapterRegistry?: AdapterRegistry;
|
|
102
|
+
/** Enable oai-mem-citation blocks in recall responses (issue #379). */
|
|
103
|
+
citationsEnabled?: boolean;
|
|
104
|
+
/** Auto-enable citations for Codex adapter connections (issue #379). */
|
|
105
|
+
citationsAutoDetect?: boolean;
|
|
99
106
|
}
|
|
100
107
|
interface EngramAccessHttpServerStatus {
|
|
101
108
|
running: boolean;
|
package/dist/access-http.js
CHANGED
|
@@ -1,31 +1,38 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EngramAccessHttpServer
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-PMB3WGDL.js";
|
|
4
|
+
import "./chunk-NSB3WSYS.js";
|
|
5
|
+
import "./chunk-IQT3XTKW.js";
|
|
5
6
|
import "./chunk-MARWOCVP.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-N5AKDXAI.js";
|
|
7
|
+
import "./chunk-MTLYEMJB.js";
|
|
8
|
+
import "./chunk-V7XCAHIB.js";
|
|
9
9
|
import "./chunk-EQINRHYR.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-POBPGDWI.js";
|
|
11
|
+
import "./chunk-QDYXG4CS.js";
|
|
12
|
+
import "./chunk-QNJMBKFK.js";
|
|
11
13
|
import "./chunk-EEQLFRUM.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-QDW3E4RD.js";
|
|
15
|
+
import "./chunk-4NRAJUDS.js";
|
|
16
|
+
import "./chunk-DT5TVLJE.js";
|
|
17
|
+
import "./chunk-TBBDFYXW.js";
|
|
18
|
+
import "./chunk-DGXUHMOV.js";
|
|
19
|
+
import "./chunk-LPSF4OQH.js";
|
|
20
|
+
import "./chunk-XKECPATV.js";
|
|
21
|
+
import "./chunk-ECKDIK5F.js";
|
|
22
|
+
import "./chunk-POMSFKTB.js";
|
|
23
|
+
import "./chunk-U2IQTSBY.js";
|
|
24
|
+
import "./chunk-4KAN3GZ3.js";
|
|
25
|
+
import "./chunk-6ZH4TU6I.js";
|
|
26
|
+
import "./chunk-6PFRXT4K.js";
|
|
15
27
|
import "./chunk-TP4FZJIZ.js";
|
|
16
28
|
import "./chunk-SCU65EZI.js";
|
|
17
29
|
import "./chunk-BOUYNNYD.js";
|
|
18
|
-
import "./chunk-DM2T26WE.js";
|
|
19
30
|
import "./chunk-QSVPYQPG.js";
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-HLXVTBF3.js";
|
|
31
|
+
import "./chunk-DM2T26WE.js";
|
|
22
32
|
import "./chunk-M62O4P4T.js";
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-LPSF4OQH.js";
|
|
27
|
-
import "./chunk-XKECPATV.js";
|
|
28
|
-
import "./chunk-QCCCQT3O.js";
|
|
33
|
+
import "./chunk-4DJQYKMN.js";
|
|
34
|
+
import "./chunk-2ODBA7MQ.js";
|
|
35
|
+
import "./chunk-N5AKDXAI.js";
|
|
29
36
|
export {
|
|
30
37
|
EngramAccessHttpServer
|
|
31
38
|
};
|
package/dist/access-mcp.d.ts
CHANGED
|
@@ -2,10 +2,11 @@ import { Readable, Writable } from 'node:stream';
|
|
|
2
2
|
import { EngramAccessService } from './access-service.js';
|
|
3
3
|
import './types.js';
|
|
4
4
|
import './explicit-capture.js';
|
|
5
|
-
import './orchestrator-
|
|
5
|
+
import './orchestrator-B9kwlCep.js';
|
|
6
6
|
import './buffer.js';
|
|
7
7
|
import './storage.js';
|
|
8
|
-
import './
|
|
8
|
+
import './page-versioning.js';
|
|
9
|
+
import './memory-projection-store-DeSXPh1j.js';
|
|
9
10
|
import 'better-sqlite3';
|
|
10
11
|
import './port-C1GZFv8h.js';
|
|
11
12
|
import './transcript.js';
|
|
@@ -18,7 +19,9 @@ import './negative.js';
|
|
|
18
19
|
import './recall-state.js';
|
|
19
20
|
import './session-observer-state.js';
|
|
20
21
|
import './embedding-fallback.js';
|
|
21
|
-
import './semantic-consolidation.js';
|
|
22
|
+
import './semantic-consolidation-DrvSYRdB.js';
|
|
23
|
+
import './codex-materialize-CQlLTzke.js';
|
|
24
|
+
import './logger.js';
|
|
22
25
|
import 'zod';
|
|
23
26
|
import './policy-runtime.js';
|
|
24
27
|
import './profiling.js';
|
|
@@ -51,8 +54,14 @@ declare class EngramMcpServer {
|
|
|
51
54
|
* initialize with the same JSON-RPC id concurrently.
|
|
52
55
|
*/
|
|
53
56
|
private initSessionIds;
|
|
57
|
+
/** Whether oai-mem-citation guidance is explicitly enabled via config. */
|
|
58
|
+
private readonly citationsEnabled;
|
|
59
|
+
/** Whether to auto-enable citations for Codex adapter connections. */
|
|
60
|
+
private readonly citationsAutoDetect;
|
|
54
61
|
constructor(service: EngramAccessService, options?: {
|
|
55
62
|
principal?: string;
|
|
63
|
+
citationsEnabled?: boolean;
|
|
64
|
+
citationsAutoDetect?: boolean;
|
|
56
65
|
});
|
|
57
66
|
/** Get clientInfo for a specific MCP session. Returns undefined for non-MCP requests. */
|
|
58
67
|
getClientInfo(sessionId?: string): {
|
|
@@ -70,6 +79,24 @@ declare class EngramMcpServer {
|
|
|
70
79
|
private scheduleFlush;
|
|
71
80
|
private flushBuffer;
|
|
72
81
|
private writeMessage;
|
|
82
|
+
/**
|
|
83
|
+
* Determine whether oai-mem-citation guidance should be appended to recall.
|
|
84
|
+
* Returns true when explicitly enabled via config OR when auto-detect is
|
|
85
|
+
* active and the current MCP session belongs to a Codex adapter client.
|
|
86
|
+
*
|
|
87
|
+
* When no sessionId is provided (e.g., stdio transport where there are no
|
|
88
|
+
* HTTP headers carrying mcp-session-id), fall back to checking if there is
|
|
89
|
+
* exactly one known session whose clientInfo matches the Codex pattern.
|
|
90
|
+
* This covers the common stdio case where a single client connection exists.
|
|
91
|
+
*/
|
|
92
|
+
private shouldEmitCitations;
|
|
93
|
+
/** Check whether a clientInfo record identifies a Codex adapter client. */
|
|
94
|
+
private isCodexClient;
|
|
95
|
+
/**
|
|
96
|
+
* Build citation metadata for each recall result that has a path.
|
|
97
|
+
* Line range defaults to 1-1 when not determinable from the summary.
|
|
98
|
+
*/
|
|
99
|
+
private buildRecallCitations;
|
|
73
100
|
private callTool;
|
|
74
101
|
}
|
|
75
102
|
|
package/dist/access-mcp.js
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EngramMcpServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NSB3WSYS.js";
|
|
4
|
+
import "./chunk-IQT3XTKW.js";
|
|
4
5
|
import "./chunk-MARWOCVP.js";
|
|
6
|
+
import "./chunk-ECKDIK5F.js";
|
|
7
|
+
import "./chunk-POMSFKTB.js";
|
|
8
|
+
import "./chunk-U2IQTSBY.js";
|
|
9
|
+
import "./chunk-4KAN3GZ3.js";
|
|
10
|
+
import "./chunk-6ZH4TU6I.js";
|
|
11
|
+
import "./chunk-6PFRXT4K.js";
|
|
12
|
+
import "./chunk-TP4FZJIZ.js";
|
|
13
|
+
import "./chunk-SCU65EZI.js";
|
|
14
|
+
import "./chunk-BOUYNNYD.js";
|
|
15
|
+
import "./chunk-QSVPYQPG.js";
|
|
16
|
+
import "./chunk-DM2T26WE.js";
|
|
17
|
+
import "./chunk-M62O4P4T.js";
|
|
18
|
+
import "./chunk-4DJQYKMN.js";
|
|
19
|
+
import "./chunk-2ODBA7MQ.js";
|
|
5
20
|
export {
|
|
6
21
|
EngramMcpServer
|
|
7
22
|
};
|
package/dist/access-schema.d.ts
CHANGED
|
@@ -78,7 +78,7 @@ declare const memoryStoreRequestSchema: z.ZodObject<{
|
|
|
78
78
|
dryRun: z.ZodOptional<z.ZodBoolean>;
|
|
79
79
|
sessionKey: z.ZodOptional<z.ZodString>;
|
|
80
80
|
content: z.ZodString;
|
|
81
|
-
category: z.ZodOptional<z.ZodEnum<["fact", "preference", "correction", "entity", "decision", "relationship", "principle", "commitment", "moment", "skill", "rule"]>>;
|
|
81
|
+
category: z.ZodOptional<z.ZodEnum<["fact", "preference", "correction", "entity", "decision", "relationship", "principle", "commitment", "moment", "skill", "rule", "procedure"]>>;
|
|
82
82
|
confidence: z.ZodOptional<z.ZodNumber>;
|
|
83
83
|
namespace: z.ZodOptional<z.ZodString>;
|
|
84
84
|
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -88,27 +88,27 @@ declare const memoryStoreRequestSchema: z.ZodObject<{
|
|
|
88
88
|
}, "strip", z.ZodTypeAny, {
|
|
89
89
|
content: string;
|
|
90
90
|
namespace?: string | undefined;
|
|
91
|
-
category?: "fact" | "preference" | "correction" | "entity" | "decision" | "relationship" | "principle" | "commitment" | "moment" | "skill" | "rule" | undefined;
|
|
91
|
+
category?: "fact" | "preference" | "correction" | "entity" | "decision" | "relationship" | "principle" | "commitment" | "moment" | "skill" | "rule" | "procedure" | undefined;
|
|
92
92
|
confidence?: number | undefined;
|
|
93
|
+
ttl?: string | undefined;
|
|
93
94
|
tags?: string[] | undefined;
|
|
94
95
|
entityRef?: string | undefined;
|
|
95
96
|
schemaVersion?: number | undefined;
|
|
96
97
|
sessionKey?: string | undefined;
|
|
97
98
|
dryRun?: boolean | undefined;
|
|
98
|
-
ttl?: string | undefined;
|
|
99
99
|
sourceReason?: string | undefined;
|
|
100
100
|
idempotencyKey?: string | undefined;
|
|
101
101
|
}, {
|
|
102
102
|
content: string;
|
|
103
103
|
namespace?: string | undefined;
|
|
104
|
-
category?: "fact" | "preference" | "correction" | "entity" | "decision" | "relationship" | "principle" | "commitment" | "moment" | "skill" | "rule" | undefined;
|
|
104
|
+
category?: "fact" | "preference" | "correction" | "entity" | "decision" | "relationship" | "principle" | "commitment" | "moment" | "skill" | "rule" | "procedure" | undefined;
|
|
105
105
|
confidence?: number | undefined;
|
|
106
|
+
ttl?: string | undefined;
|
|
106
107
|
tags?: string[] | undefined;
|
|
107
108
|
entityRef?: string | undefined;
|
|
108
109
|
schemaVersion?: number | undefined;
|
|
109
110
|
sessionKey?: string | undefined;
|
|
110
111
|
dryRun?: boolean | undefined;
|
|
111
|
-
ttl?: string | undefined;
|
|
112
112
|
sourceReason?: string | undefined;
|
|
113
113
|
idempotencyKey?: string | undefined;
|
|
114
114
|
}>;
|
|
@@ -118,7 +118,7 @@ declare const suggestionSubmitRequestSchema: z.ZodObject<{
|
|
|
118
118
|
dryRun: z.ZodOptional<z.ZodBoolean>;
|
|
119
119
|
sessionKey: z.ZodOptional<z.ZodString>;
|
|
120
120
|
content: z.ZodString;
|
|
121
|
-
category: z.ZodOptional<z.ZodEnum<["fact", "preference", "correction", "entity", "decision", "relationship", "principle", "commitment", "moment", "skill", "rule"]>>;
|
|
121
|
+
category: z.ZodOptional<z.ZodEnum<["fact", "preference", "correction", "entity", "decision", "relationship", "principle", "commitment", "moment", "skill", "rule", "procedure"]>>;
|
|
122
122
|
confidence: z.ZodOptional<z.ZodNumber>;
|
|
123
123
|
namespace: z.ZodOptional<z.ZodString>;
|
|
124
124
|
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -128,27 +128,27 @@ declare const suggestionSubmitRequestSchema: z.ZodObject<{
|
|
|
128
128
|
}, "strip", z.ZodTypeAny, {
|
|
129
129
|
content: string;
|
|
130
130
|
namespace?: string | undefined;
|
|
131
|
-
category?: "fact" | "preference" | "correction" | "entity" | "decision" | "relationship" | "principle" | "commitment" | "moment" | "skill" | "rule" | undefined;
|
|
131
|
+
category?: "fact" | "preference" | "correction" | "entity" | "decision" | "relationship" | "principle" | "commitment" | "moment" | "skill" | "rule" | "procedure" | undefined;
|
|
132
132
|
confidence?: number | undefined;
|
|
133
|
+
ttl?: string | undefined;
|
|
133
134
|
tags?: string[] | undefined;
|
|
134
135
|
entityRef?: string | undefined;
|
|
135
136
|
schemaVersion?: number | undefined;
|
|
136
137
|
sessionKey?: string | undefined;
|
|
137
138
|
dryRun?: boolean | undefined;
|
|
138
|
-
ttl?: string | undefined;
|
|
139
139
|
sourceReason?: string | undefined;
|
|
140
140
|
idempotencyKey?: string | undefined;
|
|
141
141
|
}, {
|
|
142
142
|
content: string;
|
|
143
143
|
namespace?: string | undefined;
|
|
144
|
-
category?: "fact" | "preference" | "correction" | "entity" | "decision" | "relationship" | "principle" | "commitment" | "moment" | "skill" | "rule" | undefined;
|
|
144
|
+
category?: "fact" | "preference" | "correction" | "entity" | "decision" | "relationship" | "principle" | "commitment" | "moment" | "skill" | "rule" | "procedure" | undefined;
|
|
145
145
|
confidence?: number | undefined;
|
|
146
|
+
ttl?: string | undefined;
|
|
146
147
|
tags?: string[] | undefined;
|
|
147
148
|
entityRef?: string | undefined;
|
|
148
149
|
schemaVersion?: number | undefined;
|
|
149
150
|
sessionKey?: string | undefined;
|
|
150
151
|
dryRun?: boolean | undefined;
|
|
151
|
-
ttl?: string | undefined;
|
|
152
152
|
sourceReason?: string | undefined;
|
|
153
153
|
idempotencyKey?: string | undefined;
|
|
154
154
|
}>;
|
|
@@ -217,13 +217,13 @@ declare const lcmSearchRequestSchema: z.ZodObject<{
|
|
|
217
217
|
}, "strip", z.ZodTypeAny, {
|
|
218
218
|
query: string;
|
|
219
219
|
namespace?: string | undefined;
|
|
220
|
-
sessionKey?: string | undefined;
|
|
221
220
|
limit?: number | undefined;
|
|
221
|
+
sessionKey?: string | undefined;
|
|
222
222
|
}, {
|
|
223
223
|
query: string;
|
|
224
224
|
namespace?: string | undefined;
|
|
225
|
-
sessionKey?: string | undefined;
|
|
226
225
|
limit?: number | undefined;
|
|
226
|
+
sessionKey?: string | undefined;
|
|
227
227
|
}>;
|
|
228
228
|
declare const daySummaryRequestSchema: z.ZodObject<{
|
|
229
229
|
memories: z.ZodOptional<z.ZodString>;
|