@remnic/core 1.0.3 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abort-error.d.ts +32 -0
- package/dist/abort-error.js +11 -0
- package/dist/access-audit.d.ts +56 -0
- package/dist/access-audit.js +9 -0
- package/dist/access-audit.js.map +1 -0
- package/dist/access-cli.js +72 -54
- package/dist/access-cli.js.map +1 -1
- package/dist/access-http.d.ts +16 -8
- package/dist/access-http.js +25 -17
- package/dist/access-mcp.d.ts +16 -8
- package/dist/access-mcp.js +28 -6
- package/dist/access-schema.d.ts +130 -39
- package/dist/access-schema.js +5 -1
- package/dist/access-service-Br8ZydTK.d.ts +827 -0
- package/dist/access-service.d.ts +20 -660
- package/dist/access-service.js +22 -14
- package/dist/bootstrap.d.ts +6 -3
- package/dist/briefing.d.ts +1 -0
- package/dist/briefing.js +6 -5
- package/dist/buffer-surprise-report.d.ts +70 -0
- package/dist/buffer-surprise-report.js +7 -0
- package/dist/buffer-surprise-report.js.map +1 -0
- package/dist/buffer-surprise.d.ts +98 -0
- package/dist/buffer-surprise.js +11 -0
- package/dist/buffer-surprise.js.map +1 -0
- package/dist/buffer.d.ts +100 -2
- package/dist/buffer.js +1 -1
- package/dist/calibration.js +5 -5
- package/dist/causal-behavior.js +4 -4
- package/dist/causal-chain.js +2 -2
- package/dist/causal-consolidation.js +17 -16
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-retrieval.js +4 -4
- package/dist/causal-trajectory.js +1 -1
- package/dist/{chunk-QNJMBKFK.js → chunk-2LGMW3DJ.js} +3 -2
- package/dist/chunk-2LGMW3DJ.js.map +1 -0
- package/dist/{chunk-QDYXG4CS.js → chunk-3FPTCC3Z.js} +4 -3
- package/dist/chunk-3FPTCC3Z.js.map +1 -0
- package/dist/chunk-3GPTTA4J.js +57 -0
- package/dist/chunk-3GPTTA4J.js.map +1 -0
- package/dist/{chunk-QKAH5B6E.js → chunk-3GXCSUXR.js} +94 -6
- package/dist/chunk-3GXCSUXR.js.map +1 -0
- package/dist/{chunk-POBPGDWI.js → chunk-3OGMS3PE.js} +2 -2
- package/dist/chunk-54V4BZWP.js +139 -0
- package/dist/chunk-54V4BZWP.js.map +1 -0
- package/dist/chunk-5JRF2PZA.js +67 -0
- package/dist/chunk-5JRF2PZA.js.map +1 -0
- package/dist/chunk-64NJRYU2.js +332 -0
- package/dist/chunk-64NJRYU2.js.map +1 -0
- package/dist/chunk-6AUUAZEX.js +150 -0
- package/dist/chunk-6AUUAZEX.js.map +1 -0
- package/dist/{chunk-HITJFT7E.js → chunk-7I7FKFZH.js} +28 -21
- package/dist/chunk-7I7FKFZH.js.map +1 -0
- package/dist/chunk-AJU4PJGY.js +126 -0
- package/dist/chunk-AJU4PJGY.js.map +1 -0
- package/dist/chunk-ASAITVLA.js +64 -0
- package/dist/chunk-ASAITVLA.js.map +1 -0
- package/dist/{chunk-X4WESCKA.js → chunk-B5WXLVDY.js} +187 -6
- package/dist/chunk-B5WXLVDY.js.map +1 -0
- package/dist/{chunk-RCICHSHL.js → chunk-BGJGXLZ7.js} +111 -2
- package/dist/{chunk-RCICHSHL.js.map → chunk-BGJGXLZ7.js.map} +1 -1
- package/dist/{chunk-OJFGVJS6.js → chunk-BK2EFTE2.js} +319 -18
- package/dist/chunk-BK2EFTE2.js.map +1 -0
- package/dist/chunk-C4SQJZAF.js +486 -0
- package/dist/chunk-C4SQJZAF.js.map +1 -0
- package/dist/{chunk-GJQPH5G3.js → chunk-CUPFXL3J.js} +2 -2
- package/dist/chunk-DF3RVK3X.js +119 -0
- package/dist/chunk-DF3RVK3X.js.map +1 -0
- package/dist/{chunk-PMB3WGDL.js → chunk-DFTTJYSO.js} +167 -7
- package/dist/chunk-DFTTJYSO.js.map +1 -0
- package/dist/chunk-DGVM5SFL.js +69 -0
- package/dist/chunk-DGVM5SFL.js.map +1 -0
- package/dist/chunk-EIR5VLIH.js +90 -0
- package/dist/chunk-EIR5VLIH.js.map +1 -0
- package/dist/{chunk-PAORGQRI.js → chunk-EPQJM2GC.js} +37 -23
- package/dist/chunk-EPQJM2GC.js.map +1 -0
- package/dist/{chunk-POMSFKTB.js → chunk-F5VP6YCB.js} +368 -10
- package/dist/chunk-F5VP6YCB.js.map +1 -0
- package/dist/{chunk-6ZH4TU6I.js → chunk-FAAFWE4G.js} +2 -1
- package/dist/chunk-FAAFWE4G.js.map +1 -0
- package/dist/{chunk-74JR4N5J.js → chunk-FVA6TGI3.js} +2 -2
- package/dist/chunk-GDFS42HT.js +206 -0
- package/dist/chunk-GDFS42HT.js.map +1 -0
- package/dist/{chunk-BKQJBXXX.js → chunk-GGD5W7TB.js} +2 -2
- package/dist/chunk-GGD5W7TB.js.map +1 -0
- package/dist/{chunk-V7XCAHIB.js → chunk-GKFXUTJ2.js} +508 -26
- package/dist/chunk-GKFXUTJ2.js.map +1 -0
- package/dist/{chunk-NSB3WSYS.js → chunk-HK3FGIEW.js} +278 -3
- package/dist/chunk-HK3FGIEW.js.map +1 -0
- package/dist/{chunk-AAI7JARD.js → chunk-HMDCOMYU.js} +8 -11
- package/dist/chunk-HMDCOMYU.js.map +1 -0
- package/dist/chunk-IISBCCWR.js +52 -0
- package/dist/chunk-IISBCCWR.js.map +1 -0
- package/dist/{chunk-YFYL2SIJ.js → chunk-INXV5JBT.js} +290 -46
- package/dist/chunk-INXV5JBT.js.map +1 -0
- package/dist/chunk-JBMSGZEQ.js +441 -0
- package/dist/chunk-JBMSGZEQ.js.map +1 -0
- package/dist/{chunk-UPMD5XND.js → chunk-JL2PU6AI.js} +16 -5
- package/dist/chunk-JL2PU6AI.js.map +1 -0
- package/dist/{chunk-J4IYOZZ5.js → chunk-JXS5PDQ7.js} +3 -1
- package/dist/chunk-JXS5PDQ7.js.map +1 -0
- package/dist/{chunk-AYPYCLR7.js → chunk-KUB6JU6H.js} +4 -4
- package/dist/chunk-KVBLZUKV.js +173 -0
- package/dist/chunk-KVBLZUKV.js.map +1 -0
- package/dist/chunk-LBLXEFWK.js +51 -0
- package/dist/chunk-LBLXEFWK.js.map +1 -0
- package/dist/{chunk-U2IQTSBY.js → chunk-LTCGGW2D.js} +1 -1
- package/dist/chunk-LTCGGW2D.js.map +1 -0
- package/dist/{chunk-UEYA6UC7.js → chunk-NZLQTHS5.js} +25 -2
- package/dist/chunk-NZLQTHS5.js.map +1 -0
- package/dist/chunk-PVGDJXVK.js +21 -0
- package/dist/chunk-PVGDJXVK.js.map +1 -0
- package/dist/chunk-PVPWZSSI.js +37 -0
- package/dist/chunk-PVPWZSSI.js.map +1 -0
- package/dist/{chunk-4NRAJUDS.js → chunk-RBBWYEFJ.js} +1 -1
- package/dist/chunk-RFYAYKTD.js +146 -0
- package/dist/chunk-RFYAYKTD.js.map +1 -0
- package/dist/{chunk-JROGC36Y.js → chunk-RGLL5SPU.js} +2 -2
- package/dist/{chunk-2VFW5K5U.js → chunk-S3EEFKNY.js} +103 -65
- package/dist/chunk-S3EEFKNY.js.map +1 -0
- package/dist/chunk-SOBJ6NEY.js +18 -0
- package/dist/chunk-SOBJ6NEY.js.map +1 -0
- package/dist/{chunk-MYQWXITD.js → chunk-SPI27QT6.js} +2 -2
- package/dist/chunk-TVVEYCNW.js +65 -0
- package/dist/chunk-TVVEYCNW.js.map +1 -0
- package/dist/chunk-ULYOGL6R.js +322 -0
- package/dist/chunk-ULYOGL6R.js.map +1 -0
- package/dist/{chunk-S4LX5EBI.js → chunk-VBVG2M5G.js} +64 -10
- package/dist/chunk-VBVG2M5G.js.map +1 -0
- package/dist/{chunk-KWP7T3DP.js → chunk-VDX363PS.js} +2 -2
- package/dist/{chunk-XMGSSBFX.js → chunk-VYM3VWOF.js} +1560 -244
- package/dist/chunk-VYM3VWOF.js.map +1 -0
- package/dist/{chunk-MTLYEMJB.js → chunk-WCLICCGB.js} +18 -3
- package/dist/chunk-WCLICCGB.js.map +1 -0
- package/dist/{chunk-ECKDIK5F.js → chunk-WVVA7F5A.js} +2 -2
- package/dist/chunk-X6GF3FX2.js +26 -0
- package/dist/chunk-X6GF3FX2.js.map +1 -0
- package/dist/{chunk-3QFQGRHO.js → chunk-XMHBH5H6.js} +4 -4
- package/dist/{chunk-KEG4GNGI.js → chunk-XZ2TIKGC.js} +38 -8
- package/dist/chunk-XZ2TIKGC.js.map +1 -0
- package/dist/chunk-Y4FHOFJ2.js +140 -0
- package/dist/chunk-Y4FHOFJ2.js.map +1 -0
- package/dist/chunk-YNB73F22.js +137 -0
- package/dist/chunk-YNB73F22.js.map +1 -0
- package/dist/{chunk-7PA4OZEU.js → chunk-YNQKWQT4.js} +55 -30
- package/dist/chunk-YNQKWQT4.js.map +1 -0
- package/dist/chunk-ZAIM4TUE.js +488 -0
- package/dist/chunk-ZAIM4TUE.js.map +1 -0
- package/dist/{chunk-BTY5RRRF.js → chunk-ZEM3OK2K.js} +5 -5
- package/dist/chunk-ZZTOURJI.js +91 -0
- package/dist/chunk-ZZTOURJI.js.map +1 -0
- package/dist/{cli-DwIBnp2g.d.ts → cli-BkeRaYfk.d.ts} +2 -2
- package/dist/cli.d.ts +13 -5
- package/dist/cli.js +45 -33
- package/dist/config.js +1 -1
- package/dist/consolidation-operator.d.ts +41 -0
- package/dist/consolidation-operator.js +11 -0
- package/dist/consolidation-operator.js.map +1 -0
- package/dist/consolidation-provenance-check.d.ts +68 -0
- package/dist/consolidation-provenance-check.js +9 -0
- package/dist/consolidation-provenance-check.js.map +1 -0
- package/dist/consolidation-undo.d.ts +123 -0
- package/dist/consolidation-undo.js +426 -0
- package/dist/consolidation-undo.js.map +1 -0
- package/dist/contradiction-review-WIUBAR52.js +21 -0
- package/dist/contradiction-review-WIUBAR52.js.map +1 -0
- package/dist/contradiction-scan-E3GJTI4F.js +412 -0
- package/dist/contradiction-scan-E3GJTI4F.js.map +1 -0
- package/dist/cross-namespace-budget.d.ts +133 -0
- package/dist/cross-namespace-budget.js +9 -0
- package/dist/cross-namespace-budget.js.map +1 -0
- package/dist/direct-answer-wiring.d.ts +77 -0
- package/dist/direct-answer-wiring.js +10 -0
- package/dist/direct-answer-wiring.js.map +1 -0
- package/dist/direct-answer.d.ts +106 -0
- package/dist/direct-answer.js +10 -0
- package/dist/direct-answer.js.map +1 -0
- package/dist/{engine-X7X3AAG3.js → engine-F3GOXGE5.js} +7 -6
- package/dist/engine-F3GOXGE5.js.map +1 -0
- package/dist/entity-retrieval.d.ts +1 -0
- package/dist/entity-retrieval.js +6 -5
- package/dist/explicit-capture.d.ts +6 -3
- package/dist/explicit-capture.js +2 -2
- package/dist/extraction-judge-telemetry.d.ts +113 -0
- package/dist/extraction-judge-telemetry.js +14 -0
- package/dist/extraction-judge-telemetry.js.map +1 -0
- package/dist/extraction-judge-training.d.ts +85 -0
- package/dist/extraction-judge-training.js +16 -0
- package/dist/extraction-judge-training.js.map +1 -0
- package/dist/extraction-judge.d.ts +124 -2
- package/dist/extraction-judge.js +11 -1
- package/dist/extraction.js +7 -6
- package/dist/fallback-llm.d.ts +11 -2
- package/dist/fallback-llm.js +2 -2
- package/dist/graph-recall.d.ts +100 -0
- package/dist/graph-recall.js +8 -0
- package/dist/graph-recall.js.map +1 -0
- package/dist/graph-retrieval.d.ts +271 -0
- package/dist/graph-retrieval.js +21 -0
- package/dist/graph-retrieval.js.map +1 -0
- package/dist/harmonic-retrieval.js +2 -1
- package/dist/importance.js +1 -1
- package/dist/index.d.ts +589 -138
- package/dist/index.js +531 -403
- package/dist/index.js.map +1 -1
- package/dist/intent.js +1 -1
- package/dist/local-llm.d.ts +10 -3
- package/dist/local-llm.js +1 -1
- package/dist/memory-worth-bench.d.ts +51 -0
- package/dist/memory-worth-bench.js +131 -0
- package/dist/memory-worth-bench.js.map +1 -0
- package/dist/memory-worth-filter.d.ts +128 -0
- package/dist/memory-worth-filter.js +10 -0
- package/dist/memory-worth-filter.js.map +1 -0
- package/dist/memory-worth-outcomes.d.ts +118 -0
- package/dist/memory-worth-outcomes.js +9 -0
- package/dist/memory-worth-outcomes.js.map +1 -0
- package/dist/memory-worth.d.ts +102 -0
- package/dist/memory-worth.js +7 -0
- package/dist/memory-worth.js.map +1 -0
- package/dist/operator-toolkit.d.ts +40 -1
- package/dist/operator-toolkit.js +24 -14
- package/dist/{orchestrator-B9kwlCep.d.ts → orchestrator-CmJ-NTdJ.d.ts} +254 -10
- package/dist/orchestrator.d.ts +6 -3
- package/dist/orchestrator.js +59 -48
- package/dist/page-versioning.d.ts +12 -1
- package/dist/page-versioning.js +5 -3
- package/dist/{port-C1GZFv8h.d.ts → port-BADbLZU5.d.ts} +2 -2
- package/dist/qmd-recall-cache.d.ts +1 -1
- package/dist/qmd.d.ts +5 -3
- package/dist/qmd.js +2 -1
- package/dist/reasoning-trace-recall.d.ts +90 -0
- package/dist/reasoning-trace-recall.js +13 -0
- package/dist/reasoning-trace-recall.js.map +1 -0
- package/dist/reasoning-trace-types.d.ts +54 -0
- package/dist/reasoning-trace-types.js +17 -0
- package/dist/reasoning-trace-types.js.map +1 -0
- package/dist/recall-audit-anomaly.d.ts +112 -0
- package/dist/recall-audit-anomaly.js +11 -0
- package/dist/recall-audit-anomaly.js.map +1 -0
- package/dist/recall-audit.js +5 -44
- package/dist/recall-audit.js.map +1 -1
- package/dist/recall-explain-renderer.d.ts +49 -0
- package/dist/recall-explain-renderer.js +18 -0
- package/dist/recall-explain-renderer.js.map +1 -0
- package/dist/recall-state.d.ts +39 -1
- package/dist/recall-state.js +1 -1
- package/dist/recall-xray-cli.d.ts +40 -0
- package/dist/recall-xray-cli.js +11 -0
- package/dist/recall-xray-cli.js.map +1 -0
- package/dist/recall-xray-renderer.d.ts +44 -0
- package/dist/recall-xray-renderer.js +18 -0
- package/dist/recall-xray-renderer.js.map +1 -0
- package/dist/recall-xray.d.ts +179 -0
- package/dist/recall-xray.js +13 -0
- package/dist/recall-xray.js.map +1 -0
- package/dist/resolution-QBTDHTG7.js +100 -0
- package/dist/resolution-QBTDHTG7.js.map +1 -0
- package/dist/resolve-provider-secret.d.ts +24 -1
- package/dist/resolve-provider-secret.js +3 -1
- package/dist/resume-bundles.js +6 -6
- package/dist/retrieval-agents.d.ts +1 -1
- package/dist/retrieval-tiers.d.ts +17 -0
- package/dist/retrieval-tiers.js +9 -0
- package/dist/retrieval-tiers.js.map +1 -0
- package/dist/schemas.d.ts +301 -45
- package/dist/schemas.js +1 -1
- package/dist/{semantic-consolidation-DrvSYRdB.d.ts → semantic-consolidation-CxJU6MJk.d.ts} +62 -1
- package/dist/semantic-consolidation.d.ts +2 -1
- package/dist/semantic-consolidation.js +20 -6
- package/dist/semantic-rule-promotion.js +6 -5
- package/dist/semantic-rule-verifier.js +6 -5
- package/dist/storage.d.ts +82 -1
- package/dist/storage.js +5 -4
- package/dist/summarizer.js +4 -4
- package/dist/temporal-supersession.d.ts +1 -0
- package/dist/tier-migration.d.ts +2 -1
- package/dist/types-DJhqDJUV.d.ts +50 -0
- package/dist/types.d.ts +309 -3
- package/dist/types.js +1 -1
- package/dist/verified-recall.js +6 -5
- package/package.json +1 -1
- package/dist/chunk-2VFW5K5U.js.map +0 -1
- package/dist/chunk-6ZH4TU6I.js.map +0 -1
- package/dist/chunk-7PA4OZEU.js.map +0 -1
- package/dist/chunk-AAI7JARD.js.map +0 -1
- package/dist/chunk-BKQJBXXX.js.map +0 -1
- package/dist/chunk-HITJFT7E.js.map +0 -1
- package/dist/chunk-J4IYOZZ5.js.map +0 -1
- package/dist/chunk-KEG4GNGI.js.map +0 -1
- package/dist/chunk-LAYN4LDC.js +0 -267
- package/dist/chunk-LAYN4LDC.js.map +0 -1
- package/dist/chunk-MTLYEMJB.js.map +0 -1
- package/dist/chunk-NSB3WSYS.js.map +0 -1
- package/dist/chunk-OJFGVJS6.js.map +0 -1
- package/dist/chunk-PAORGQRI.js.map +0 -1
- package/dist/chunk-PMB3WGDL.js.map +0 -1
- package/dist/chunk-POMSFKTB.js.map +0 -1
- package/dist/chunk-QDYXG4CS.js.map +0 -1
- package/dist/chunk-QKAH5B6E.js.map +0 -1
- package/dist/chunk-QNJMBKFK.js.map +0 -1
- package/dist/chunk-S4LX5EBI.js.map +0 -1
- package/dist/chunk-U2IQTSBY.js.map +0 -1
- package/dist/chunk-UEYA6UC7.js.map +0 -1
- package/dist/chunk-UPMD5XND.js.map +0 -1
- package/dist/chunk-UVJFDP7P.js +0 -202
- package/dist/chunk-UVJFDP7P.js.map +0 -1
- package/dist/chunk-V7XCAHIB.js.map +0 -1
- package/dist/chunk-X4WESCKA.js.map +0 -1
- package/dist/chunk-XMGSSBFX.js.map +0 -1
- package/dist/chunk-YFYL2SIJ.js.map +0 -1
- /package/dist/{engine-X7X3AAG3.js.map → abort-error.js.map} +0 -0
- /package/dist/{chunk-POBPGDWI.js.map → chunk-3OGMS3PE.js.map} +0 -0
- /package/dist/{chunk-GJQPH5G3.js.map → chunk-CUPFXL3J.js.map} +0 -0
- /package/dist/{chunk-74JR4N5J.js.map → chunk-FVA6TGI3.js.map} +0 -0
- /package/dist/{chunk-AYPYCLR7.js.map → chunk-KUB6JU6H.js.map} +0 -0
- /package/dist/{chunk-4NRAJUDS.js.map → chunk-RBBWYEFJ.js.map} +0 -0
- /package/dist/{chunk-JROGC36Y.js.map → chunk-RGLL5SPU.js.map} +0 -0
- /package/dist/{chunk-MYQWXITD.js.map → chunk-SPI27QT6.js.map} +0 -0
- /package/dist/{chunk-KWP7T3DP.js.map → chunk-VDX363PS.js.map} +0 -0
- /package/dist/{chunk-ECKDIK5F.js.map → chunk-WVVA7F5A.js.map} +0 -0
- /package/dist/{chunk-3QFQGRHO.js.map → chunk-XMHBH5H6.js.map} +0 -0
- /package/dist/{chunk-BTY5RRRF.js.map → chunk-ZEM3OK2K.js.map} +0 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared abort-error helpers.
|
|
3
|
+
*
|
|
4
|
+
* Consolidates the `throwIfAborted` / `abortError` / `isAbortError`
|
|
5
|
+
* patterns that were independently implemented across
|
|
6
|
+
* `direct-answer-wiring.ts`, `harmonic-retrieval.ts`, and `qmd.ts`
|
|
7
|
+
* (plus a private pair in `orchestrator.ts`). A single helper
|
|
8
|
+
* means future changes to the abort-error convention are applied
|
|
9
|
+
* consistently across the codebase.
|
|
10
|
+
*
|
|
11
|
+
* The convention (matching Web / Node): throw a standard `Error`
|
|
12
|
+
* with `name === "AbortError"`. Callers dispatch on name rather
|
|
13
|
+
* than a specific class so error propagation across async
|
|
14
|
+
* boundaries continues to classify correctly.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Build an Error whose `name` is `"AbortError"`. Uses
|
|
18
|
+
* `Object.defineProperty` so the name is non-enumerable and
|
|
19
|
+
* mirrors the shape of `DOMException("AbortError")` where that
|
|
20
|
+
* is available.
|
|
21
|
+
*/
|
|
22
|
+
declare function abortError(message: string): Error;
|
|
23
|
+
/** Return true iff `err` is an Error whose `name` is `"AbortError"`. */
|
|
24
|
+
declare function isAbortError(err: unknown): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Throw an AbortError when the given signal has fired. No-op
|
|
27
|
+
* when the signal is absent or not yet aborted. The default
|
|
28
|
+
* message matches the prior in-module implementations.
|
|
29
|
+
*/
|
|
30
|
+
declare function throwIfAborted(signal?: AbortSignal, message?: string): void;
|
|
31
|
+
|
|
32
|
+
export { abortError, isAbortError, throwIfAborted };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { RecallAuditEntry } from './recall-audit.js';
|
|
2
|
+
import { AnomalyDetectorConfig, AnomalyDetectorResult } from './recall-audit-anomaly.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Access-layer audit adapter (issue #565 PR 5/5).
|
|
6
|
+
*
|
|
7
|
+
* Wraps `appendRecallAuditEntry` + `detectRecallAnomalies` into a single
|
|
8
|
+
* entry point that MCP (`access-mcp.ts`) and HTTP (`access-http.ts`)
|
|
9
|
+
* surfaces can call once per recall. Closes the gap called out in the
|
|
10
|
+
* memory-extraction threat model §5: recall-audit previously only ran
|
|
11
|
+
* on the Openclaw hook, so MCP/HTTP callers bypassed the trail entirely.
|
|
12
|
+
*
|
|
13
|
+
* The adapter is a per-instance class so the tail-of-trail buffer
|
|
14
|
+
* (used by the anomaly detector) is scoped per-service, not global.
|
|
15
|
+
*
|
|
16
|
+
* No I/O unless `audit.enabled` is true; no detector invocation unless
|
|
17
|
+
* `detection.enabled` is true. Either flag may be enabled independently.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
interface AccessAuditConfig {
|
|
21
|
+
audit: {
|
|
22
|
+
enabled: boolean;
|
|
23
|
+
/** Root directory the audit adapter writes JSONL shards into. */
|
|
24
|
+
rootDir: string;
|
|
25
|
+
};
|
|
26
|
+
detection: AnomalyDetectorConfig;
|
|
27
|
+
/**
|
|
28
|
+
* How many entries the adapter retains in memory for the detector.
|
|
29
|
+
* Defaults to 256 — enough to cover the threat model's default 5-minute
|
|
30
|
+
* window at high recall rates without unbounded growth.
|
|
31
|
+
*/
|
|
32
|
+
trailBufferSize?: number;
|
|
33
|
+
}
|
|
34
|
+
interface AccessAuditResult {
|
|
35
|
+
/** Path of the JSONL shard the entry was appended to (only when audit enabled). */
|
|
36
|
+
appendedAt?: string;
|
|
37
|
+
/** Result of the anomaly detector (only when detection enabled). */
|
|
38
|
+
anomalies?: AnomalyDetectorResult;
|
|
39
|
+
}
|
|
40
|
+
declare class AccessAuditAdapter {
|
|
41
|
+
private readonly config;
|
|
42
|
+
private readonly trails;
|
|
43
|
+
private readonly trailBufferSize;
|
|
44
|
+
constructor(config: AccessAuditConfig);
|
|
45
|
+
/**
|
|
46
|
+
* Record an audit entry and (when enabled) run the anomaly detector
|
|
47
|
+
* over the principal's tail of entries. The principal key is used
|
|
48
|
+
* purely for tail-buffer bucketing — it need not match the production
|
|
49
|
+
* namespace resolver; sessionKey is the safe default.
|
|
50
|
+
*/
|
|
51
|
+
record(principalKey: string, entry: RecallAuditEntry, now?: number): Promise<AccessAuditResult>;
|
|
52
|
+
/** Clear all in-memory tail state. Intended for tests / before_reset. */
|
|
53
|
+
reset(): void;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export { AccessAuditAdapter, type AccessAuditConfig, type AccessAuditResult };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/access-cli.js
CHANGED
|
@@ -1,85 +1,95 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Orchestrator
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-VYM3VWOF.js";
|
|
4
|
+
import "./chunk-RGLL5SPU.js";
|
|
5
|
+
import "./chunk-UHGBNIOS.js";
|
|
5
6
|
import "./chunk-FSFEQI74.js";
|
|
6
7
|
import "./chunk-W6SL7OFG.js";
|
|
7
8
|
import "./chunk-Z5AAYHUC.js";
|
|
8
9
|
import "./chunk-S75M5ZRK.js";
|
|
9
10
|
import "./chunk-TPB3I2AC.js";
|
|
10
|
-
import "./chunk-UHGBNIOS.js";
|
|
11
|
-
import "./chunk-BTY5RRRF.js";
|
|
12
|
-
import "./chunk-ETOW6ACV.js";
|
|
13
|
-
import "./chunk-KVE7R4CG.js";
|
|
14
11
|
import "./chunk-JR4ZC3G4.js";
|
|
12
|
+
import "./chunk-ZEM3OK2K.js";
|
|
13
|
+
import "./chunk-ETOW6ACV.js";
|
|
14
|
+
import "./chunk-5NPGSAVB.js";
|
|
15
15
|
import "./chunk-C7VW7C3F.js";
|
|
16
16
|
import "./chunk-K4FLSOR5.js";
|
|
17
17
|
import "./chunk-V3RXWQIE.js";
|
|
18
18
|
import "./chunk-5IZL4DCV.js";
|
|
19
|
+
import "./chunk-VBVG2M5G.js";
|
|
20
|
+
import "./chunk-KVBLZUKV.js";
|
|
21
|
+
import "./chunk-X7XN6YU4.js";
|
|
22
|
+
import "./chunk-ZZTOURJI.js";
|
|
19
23
|
import "./chunk-YDBIWGNI.js";
|
|
20
24
|
import "./chunk-7DHTMOND.js";
|
|
21
|
-
import "./chunk-S4LX5EBI.js";
|
|
22
|
-
import "./chunk-X7XN6YU4.js";
|
|
23
|
-
import "./chunk-5NPGSAVB.js";
|
|
24
25
|
import "./chunk-YCN4BVDK.js";
|
|
25
26
|
import "./chunk-D654IBA6.js";
|
|
26
27
|
import "./chunk-H63EDPFJ.js";
|
|
27
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-3GPTTA4J.js";
|
|
29
|
+
import "./chunk-IISBCCWR.js";
|
|
30
|
+
import "./chunk-GGD5W7TB.js";
|
|
28
31
|
import "./chunk-YAZNBMNF.js";
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-AJU4PJGY.js";
|
|
33
|
+
import "./chunk-DF3RVK3X.js";
|
|
34
|
+
import "./chunk-C4SQJZAF.js";
|
|
35
|
+
import "./chunk-S3EEFKNY.js";
|
|
36
|
+
import "./chunk-NZLQTHS5.js";
|
|
37
|
+
import "./chunk-54V4BZWP.js";
|
|
34
38
|
import "./chunk-NBNN5GOB.js";
|
|
35
|
-
import "./chunk-UPMD5XND.js";
|
|
36
39
|
import "./chunk-FEMOX5AD.js";
|
|
40
|
+
import "./chunk-JL2PU6AI.js";
|
|
37
41
|
import "./chunk-VEWZZM3H.js";
|
|
38
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-6AUUAZEX.js";
|
|
43
|
+
import "./chunk-Y4FHOFJ2.js";
|
|
44
|
+
import "./chunk-ALXMCZEU.js";
|
|
45
|
+
import "./chunk-FVA6TGI3.js";
|
|
46
|
+
import "./chunk-GZCUW5IC.js";
|
|
47
|
+
import "./chunk-EPQJM2GC.js";
|
|
39
48
|
import "./chunk-PYXS46O7.js";
|
|
40
49
|
import "./chunk-3QKK7QOS.js";
|
|
41
|
-
import "./chunk-
|
|
50
|
+
import "./chunk-CUPFXL3J.js";
|
|
42
51
|
import "./chunk-JRNQ3RNA.js";
|
|
43
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-SPI27QT6.js";
|
|
44
53
|
import "./chunk-CULXMQJH.js";
|
|
45
54
|
import "./chunk-E6K4NIEU.js";
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import "./chunk-LOBRX7VD.js";
|
|
48
|
-
import "./chunk-HITJFT7E.js";
|
|
55
|
+
import "./chunk-7I7FKFZH.js";
|
|
49
56
|
import "./chunk-YRMVARQP.js";
|
|
57
|
+
import "./chunk-YNQKWQT4.js";
|
|
50
58
|
import {
|
|
51
59
|
resolveRemnicPluginEntry
|
|
52
60
|
} from "./chunk-U66YHYC7.js";
|
|
53
|
-
import "./chunk-
|
|
54
|
-
import "./chunk-
|
|
55
|
-
import "./chunk-
|
|
61
|
+
import "./chunk-EABGC2TL.js";
|
|
62
|
+
import "./chunk-LOBRX7VD.js";
|
|
63
|
+
import "./chunk-HMDCOMYU.js";
|
|
64
|
+
import "./chunk-JXS5PDQ7.js";
|
|
65
|
+
import "./chunk-LK6SGL53.js";
|
|
56
66
|
import "./chunk-7SEAZFFB.js";
|
|
57
67
|
import "./chunk-K6WK37A6.js";
|
|
58
|
-
import "./chunk-LK6SGL53.js";
|
|
59
|
-
import "./chunk-3PG3H5TD.js";
|
|
60
|
-
import "./chunk-FYIYMQ5N.js";
|
|
61
|
-
import "./chunk-2NMMFZ5T.js";
|
|
62
68
|
import {
|
|
63
69
|
parseConfig
|
|
64
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-BK2EFTE2.js";
|
|
65
71
|
import "./chunk-Z5LAYHGJ.js";
|
|
66
72
|
import "./chunk-C6QPK5GG.js";
|
|
67
|
-
import "./chunk-GZCUW5IC.js";
|
|
68
|
-
import "./chunk-RCICHSHL.js";
|
|
69
|
-
import "./chunk-EJI5XIBB.js";
|
|
70
73
|
import "./chunk-C2EFFULQ.js";
|
|
74
|
+
import "./chunk-3PG3H5TD.js";
|
|
75
|
+
import "./chunk-FYIYMQ5N.js";
|
|
76
|
+
import "./chunk-2NMMFZ5T.js";
|
|
77
|
+
import "./chunk-KVE7R4CG.js";
|
|
71
78
|
import "./chunk-4WMCPJWX.js";
|
|
79
|
+
import "./chunk-JBMSGZEQ.js";
|
|
80
|
+
import "./chunk-BGJGXLZ7.js";
|
|
81
|
+
import "./chunk-EJI5XIBB.js";
|
|
82
|
+
import "./chunk-3GXCSUXR.js";
|
|
83
|
+
import "./chunk-XZ2TIKGC.js";
|
|
84
|
+
import "./chunk-ODWDQNRE.js";
|
|
85
|
+
import "./chunk-Y27UJK6V.js";
|
|
86
|
+
import "./chunk-UZB5KHKX.js";
|
|
72
87
|
import "./chunk-6HZ6AO2P.js";
|
|
73
88
|
import "./chunk-JWPLJLDU.js";
|
|
74
89
|
import "./chunk-N53K2EXC.js";
|
|
75
|
-
import "./chunk-URB2WSKZ.js";
|
|
76
|
-
import "./chunk-UVJFDP7P.js";
|
|
77
90
|
import "./chunk-XYIK4LF6.js";
|
|
78
|
-
import "./chunk-
|
|
79
|
-
import "./chunk-
|
|
80
|
-
import "./chunk-ODWDQNRE.js";
|
|
81
|
-
import "./chunk-Y27UJK6V.js";
|
|
82
|
-
import "./chunk-UZB5KHKX.js";
|
|
91
|
+
import "./chunk-URB2WSKZ.js";
|
|
92
|
+
import "./chunk-PVGDJXVK.js";
|
|
83
93
|
import "./chunk-NGAVDO7E.js";
|
|
84
94
|
import {
|
|
85
95
|
readEnvVar,
|
|
@@ -87,34 +97,42 @@ import {
|
|
|
87
97
|
} from "./chunk-MARWOCVP.js";
|
|
88
98
|
import {
|
|
89
99
|
EngramAccessService
|
|
90
|
-
} from "./chunk-
|
|
100
|
+
} from "./chunk-GKFXUTJ2.js";
|
|
101
|
+
import "./chunk-ZAIM4TUE.js";
|
|
102
|
+
import "./chunk-SOBJ6NEY.js";
|
|
103
|
+
import "./chunk-3OGMS3PE.js";
|
|
91
104
|
import "./chunk-EQINRHYR.js";
|
|
92
|
-
import "./chunk-
|
|
93
|
-
import "./chunk-QDYXG4CS.js";
|
|
94
|
-
import "./chunk-QNJMBKFK.js";
|
|
105
|
+
import "./chunk-EIR5VLIH.js";
|
|
95
106
|
import "./chunk-EEQLFRUM.js";
|
|
96
107
|
import "./chunk-QDW3E4RD.js";
|
|
97
|
-
import "./chunk-
|
|
108
|
+
import "./chunk-3FPTCC3Z.js";
|
|
109
|
+
import "./chunk-2LGMW3DJ.js";
|
|
110
|
+
import "./chunk-GDFS42HT.js";
|
|
111
|
+
import "./chunk-RBBWYEFJ.js";
|
|
98
112
|
import "./chunk-DT5TVLJE.js";
|
|
113
|
+
import "./chunk-N5AKDXAI.js";
|
|
99
114
|
import "./chunk-TBBDFYXW.js";
|
|
100
|
-
import "./chunk-
|
|
101
|
-
import "./chunk-
|
|
102
|
-
import "./chunk-
|
|
103
|
-
import "./chunk-ECKDIK5F.js";
|
|
104
|
-
import "./chunk-POMSFKTB.js";
|
|
105
|
-
import "./chunk-U2IQTSBY.js";
|
|
115
|
+
import "./chunk-WVVA7F5A.js";
|
|
116
|
+
import "./chunk-F5VP6YCB.js";
|
|
117
|
+
import "./chunk-LTCGGW2D.js";
|
|
106
118
|
import "./chunk-4KAN3GZ3.js";
|
|
107
|
-
import "./chunk-6ZH4TU6I.js";
|
|
108
119
|
import "./chunk-6PFRXT4K.js";
|
|
109
120
|
import "./chunk-TP4FZJIZ.js";
|
|
110
121
|
import "./chunk-SCU65EZI.js";
|
|
111
122
|
import "./chunk-BOUYNNYD.js";
|
|
112
|
-
import "./chunk-QSVPYQPG.js";
|
|
113
123
|
import "./chunk-DM2T26WE.js";
|
|
124
|
+
import "./chunk-QSVPYQPG.js";
|
|
114
125
|
import "./chunk-M62O4P4T.js";
|
|
115
126
|
import "./chunk-4DJQYKMN.js";
|
|
127
|
+
import "./chunk-X6GF3FX2.js";
|
|
128
|
+
import "./chunk-FAAFWE4G.js";
|
|
116
129
|
import "./chunk-2ODBA7MQ.js";
|
|
117
|
-
import "./chunk-
|
|
130
|
+
import "./chunk-DGXUHMOV.js";
|
|
131
|
+
import "./chunk-LPSF4OQH.js";
|
|
132
|
+
import "./chunk-TVVEYCNW.js";
|
|
133
|
+
import "./chunk-RFYAYKTD.js";
|
|
134
|
+
import "./chunk-LBLXEFWK.js";
|
|
135
|
+
import "./chunk-XKECPATV.js";
|
|
118
136
|
|
|
119
137
|
// src/access-cli.ts
|
|
120
138
|
import fs from "fs";
|
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\";\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":[]}
|
|
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
|
@@ -1,31 +1,39 @@
|
|
|
1
1
|
import { IncomingMessage } from 'node:http';
|
|
2
|
-
import { EngramAccessService } from './access-service.js';
|
|
3
|
-
import './types.js';
|
|
4
|
-
import './explicit-capture.js';
|
|
5
|
-
import './orchestrator-B9kwlCep.js';
|
|
6
|
-
import './buffer.js';
|
|
2
|
+
import { E as EngramAccessService } from './access-service-Br8ZydTK.js';
|
|
7
3
|
import './storage.js';
|
|
8
4
|
import './page-versioning.js';
|
|
5
|
+
import './consolidation-operator.js';
|
|
6
|
+
import './types.js';
|
|
9
7
|
import './memory-projection-store-DeSXPh1j.js';
|
|
10
8
|
import 'better-sqlite3';
|
|
11
|
-
import './
|
|
9
|
+
import './recall-xray.js';
|
|
10
|
+
import './recall-explain-renderer.js';
|
|
11
|
+
import './recall-state.js';
|
|
12
|
+
import './recall-audit-anomaly.js';
|
|
13
|
+
import './recall-audit.js';
|
|
14
|
+
import './explicit-capture.js';
|
|
15
|
+
import './orchestrator-CmJ-NTdJ.js';
|
|
16
|
+
import './buffer.js';
|
|
17
|
+
import './port-BADbLZU5.js';
|
|
12
18
|
import './transcript.js';
|
|
13
19
|
import './session-integrity.js';
|
|
14
20
|
import './summarizer.js';
|
|
15
21
|
import './model-registry.js';
|
|
16
22
|
import './local-llm.js';
|
|
23
|
+
import './fallback-llm.js';
|
|
17
24
|
import './relevance.js';
|
|
18
25
|
import './negative.js';
|
|
19
|
-
import './recall-state.js';
|
|
20
26
|
import './session-observer-state.js';
|
|
21
27
|
import './embedding-fallback.js';
|
|
22
|
-
import './semantic-consolidation-
|
|
28
|
+
import './semantic-consolidation-CxJU6MJk.js';
|
|
23
29
|
import './codex-materialize-CQlLTzke.js';
|
|
24
30
|
import './logger.js';
|
|
25
31
|
import 'zod';
|
|
26
32
|
import './policy-runtime.js';
|
|
27
33
|
import './profiling.js';
|
|
34
|
+
import './cross-namespace-budget.js';
|
|
28
35
|
import './trust-zones.js';
|
|
36
|
+
import './memory-worth-outcomes.js';
|
|
29
37
|
|
|
30
38
|
/**
|
|
31
39
|
* Adapter interface for external system identity resolution.
|
package/dist/access-http.js
CHANGED
|
@@ -1,38 +1,46 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EngramAccessHttpServer
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-DFTTJYSO.js";
|
|
4
|
+
import "./chunk-HK3FGIEW.js";
|
|
5
5
|
import "./chunk-IQT3XTKW.js";
|
|
6
6
|
import "./chunk-MARWOCVP.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-GKFXUTJ2.js";
|
|
8
|
+
import "./chunk-ZAIM4TUE.js";
|
|
9
|
+
import "./chunk-SOBJ6NEY.js";
|
|
10
|
+
import "./chunk-3OGMS3PE.js";
|
|
9
11
|
import "./chunk-EQINRHYR.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-QDYXG4CS.js";
|
|
12
|
-
import "./chunk-QNJMBKFK.js";
|
|
12
|
+
import "./chunk-EIR5VLIH.js";
|
|
13
13
|
import "./chunk-EEQLFRUM.js";
|
|
14
14
|
import "./chunk-QDW3E4RD.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-3FPTCC3Z.js";
|
|
16
|
+
import "./chunk-2LGMW3DJ.js";
|
|
17
|
+
import "./chunk-GDFS42HT.js";
|
|
18
|
+
import "./chunk-RBBWYEFJ.js";
|
|
16
19
|
import "./chunk-DT5TVLJE.js";
|
|
20
|
+
import "./chunk-N5AKDXAI.js";
|
|
17
21
|
import "./chunk-TBBDFYXW.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-ECKDIK5F.js";
|
|
22
|
-
import "./chunk-POMSFKTB.js";
|
|
23
|
-
import "./chunk-U2IQTSBY.js";
|
|
22
|
+
import "./chunk-WVVA7F5A.js";
|
|
23
|
+
import "./chunk-F5VP6YCB.js";
|
|
24
|
+
import "./chunk-LTCGGW2D.js";
|
|
24
25
|
import "./chunk-4KAN3GZ3.js";
|
|
25
|
-
import "./chunk-6ZH4TU6I.js";
|
|
26
26
|
import "./chunk-6PFRXT4K.js";
|
|
27
27
|
import "./chunk-TP4FZJIZ.js";
|
|
28
28
|
import "./chunk-SCU65EZI.js";
|
|
29
29
|
import "./chunk-BOUYNNYD.js";
|
|
30
|
-
import "./chunk-QSVPYQPG.js";
|
|
31
30
|
import "./chunk-DM2T26WE.js";
|
|
31
|
+
import "./chunk-QSVPYQPG.js";
|
|
32
32
|
import "./chunk-M62O4P4T.js";
|
|
33
33
|
import "./chunk-4DJQYKMN.js";
|
|
34
|
+
import "./chunk-X6GF3FX2.js";
|
|
35
|
+
import "./chunk-FAAFWE4G.js";
|
|
34
36
|
import "./chunk-2ODBA7MQ.js";
|
|
35
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-DGXUHMOV.js";
|
|
38
|
+
import "./chunk-LPSF4OQH.js";
|
|
39
|
+
import "./chunk-TVVEYCNW.js";
|
|
40
|
+
import "./chunk-RFYAYKTD.js";
|
|
41
|
+
import "./chunk-LBLXEFWK.js";
|
|
42
|
+
import "./chunk-XKECPATV.js";
|
|
43
|
+
import "./chunk-WCLICCGB.js";
|
|
36
44
|
export {
|
|
37
45
|
EngramAccessHttpServer
|
|
38
46
|
};
|
package/dist/access-mcp.d.ts
CHANGED
|
@@ -1,31 +1,39 @@
|
|
|
1
1
|
import { Readable, Writable } from 'node:stream';
|
|
2
|
-
import { EngramAccessService } from './access-service.js';
|
|
3
|
-
import './types.js';
|
|
4
|
-
import './explicit-capture.js';
|
|
5
|
-
import './orchestrator-B9kwlCep.js';
|
|
6
|
-
import './buffer.js';
|
|
2
|
+
import { E as EngramAccessService } from './access-service-Br8ZydTK.js';
|
|
7
3
|
import './storage.js';
|
|
8
4
|
import './page-versioning.js';
|
|
5
|
+
import './consolidation-operator.js';
|
|
6
|
+
import './types.js';
|
|
9
7
|
import './memory-projection-store-DeSXPh1j.js';
|
|
10
8
|
import 'better-sqlite3';
|
|
11
|
-
import './
|
|
9
|
+
import './recall-xray.js';
|
|
10
|
+
import './recall-explain-renderer.js';
|
|
11
|
+
import './recall-state.js';
|
|
12
|
+
import './recall-audit-anomaly.js';
|
|
13
|
+
import './recall-audit.js';
|
|
14
|
+
import './explicit-capture.js';
|
|
15
|
+
import './orchestrator-CmJ-NTdJ.js';
|
|
16
|
+
import './buffer.js';
|
|
17
|
+
import './port-BADbLZU5.js';
|
|
12
18
|
import './transcript.js';
|
|
13
19
|
import './session-integrity.js';
|
|
14
20
|
import './summarizer.js';
|
|
15
21
|
import './model-registry.js';
|
|
16
22
|
import './local-llm.js';
|
|
23
|
+
import './fallback-llm.js';
|
|
17
24
|
import './relevance.js';
|
|
18
25
|
import './negative.js';
|
|
19
|
-
import './recall-state.js';
|
|
20
26
|
import './session-observer-state.js';
|
|
21
27
|
import './embedding-fallback.js';
|
|
22
|
-
import './semantic-consolidation-
|
|
28
|
+
import './semantic-consolidation-CxJU6MJk.js';
|
|
23
29
|
import './codex-materialize-CQlLTzke.js';
|
|
24
30
|
import './logger.js';
|
|
25
31
|
import 'zod';
|
|
26
32
|
import './policy-runtime.js';
|
|
27
33
|
import './profiling.js';
|
|
34
|
+
import './cross-namespace-budget.js';
|
|
28
35
|
import './trust-zones.js';
|
|
36
|
+
import './memory-worth-outcomes.js';
|
|
29
37
|
|
|
30
38
|
type JsonRpcId = string | number | null;
|
|
31
39
|
type JsonRpcRequest = {
|
package/dist/access-mcp.js
CHANGED
|
@@ -1,22 +1,44 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EngramMcpServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-HK3FGIEW.js";
|
|
4
4
|
import "./chunk-IQT3XTKW.js";
|
|
5
5
|
import "./chunk-MARWOCVP.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-GKFXUTJ2.js";
|
|
7
|
+
import "./chunk-ZAIM4TUE.js";
|
|
8
|
+
import "./chunk-SOBJ6NEY.js";
|
|
9
|
+
import "./chunk-3OGMS3PE.js";
|
|
10
|
+
import "./chunk-EQINRHYR.js";
|
|
11
|
+
import "./chunk-EIR5VLIH.js";
|
|
12
|
+
import "./chunk-EEQLFRUM.js";
|
|
13
|
+
import "./chunk-QDW3E4RD.js";
|
|
14
|
+
import "./chunk-3FPTCC3Z.js";
|
|
15
|
+
import "./chunk-2LGMW3DJ.js";
|
|
16
|
+
import "./chunk-GDFS42HT.js";
|
|
17
|
+
import "./chunk-RBBWYEFJ.js";
|
|
18
|
+
import "./chunk-DT5TVLJE.js";
|
|
19
|
+
import "./chunk-N5AKDXAI.js";
|
|
20
|
+
import "./chunk-TBBDFYXW.js";
|
|
21
|
+
import "./chunk-WVVA7F5A.js";
|
|
22
|
+
import "./chunk-F5VP6YCB.js";
|
|
23
|
+
import "./chunk-LTCGGW2D.js";
|
|
9
24
|
import "./chunk-4KAN3GZ3.js";
|
|
10
|
-
import "./chunk-6ZH4TU6I.js";
|
|
11
25
|
import "./chunk-6PFRXT4K.js";
|
|
12
26
|
import "./chunk-TP4FZJIZ.js";
|
|
13
27
|
import "./chunk-SCU65EZI.js";
|
|
14
28
|
import "./chunk-BOUYNNYD.js";
|
|
15
|
-
import "./chunk-QSVPYQPG.js";
|
|
16
29
|
import "./chunk-DM2T26WE.js";
|
|
30
|
+
import "./chunk-QSVPYQPG.js";
|
|
17
31
|
import "./chunk-M62O4P4T.js";
|
|
18
32
|
import "./chunk-4DJQYKMN.js";
|
|
33
|
+
import "./chunk-X6GF3FX2.js";
|
|
34
|
+
import "./chunk-FAAFWE4G.js";
|
|
19
35
|
import "./chunk-2ODBA7MQ.js";
|
|
36
|
+
import "./chunk-DGXUHMOV.js";
|
|
37
|
+
import "./chunk-LPSF4OQH.js";
|
|
38
|
+
import "./chunk-TVVEYCNW.js";
|
|
39
|
+
import "./chunk-RFYAYKTD.js";
|
|
40
|
+
import "./chunk-LBLXEFWK.js";
|
|
41
|
+
import "./chunk-XKECPATV.js";
|
|
20
42
|
export {
|
|
21
43
|
EngramMcpServer
|
|
22
44
|
};
|