@remnic/core 9.3.562 → 9.3.564
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/access-cli.js +40 -39
- package/dist/access-cli.js.map +1 -1
- package/dist/access-http.js +16 -16
- package/dist/access-mcp.js +13 -13
- package/dist/access-schema.js +3 -3
- package/dist/access-service.js +11 -11
- package/dist/active-recall.js +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/briefing.js +4 -4
- package/dist/causal-consolidation.js +5 -5
- package/dist/{chunk-I2K6KCVC.js → chunk-2FHLI4U6.js} +49 -49
- package/dist/chunk-3ONXXHQO.js +57 -0
- package/dist/chunk-3ONXXHQO.js.map +1 -0
- package/dist/{chunk-5GX5MUQ2.js → chunk-574MU2Y3.js} +3 -3
- package/dist/{chunk-65OLPXBU.js → chunk-5WB4C7KM.js} +6 -6
- package/dist/chunk-6PTSXBPE.js +483 -0
- package/dist/chunk-6PTSXBPE.js.map +1 -0
- package/dist/{chunk-Z56KAZQL.js → chunk-74VA26CT.js} +2 -2
- package/dist/{chunk-CC2ESOOG.js → chunk-7X7TBJRX.js} +2 -2
- package/dist/{chunk-O4M4WH6V.js → chunk-ARY5OOLG.js} +2 -2
- package/dist/{chunk-JBPKEARU.js → chunk-AU7Q3LSC.js} +4 -4
- package/dist/{chunk-PM3QHTFT.js → chunk-CF3ZF2YU.js} +3 -3
- package/dist/{chunk-SI3QCHWF.js → chunk-DARLGSFX.js} +5 -5
- package/dist/chunk-EWLQPEO6.js +308 -0
- package/dist/chunk-EWLQPEO6.js.map +1 -0
- package/dist/{chunk-FVCZINOF.js → chunk-FHBEL473.js} +2 -2
- package/dist/{chunk-7Q3RCKAQ.js → chunk-FXKPZ3H6.js} +2 -2
- package/dist/{chunk-5WLYNZPC.js → chunk-GBXGCFRH.js} +2 -2
- package/dist/{chunk-ILJXM3FV.js → chunk-HQO5EBUC.js} +10 -10
- package/dist/{chunk-FK556DDH.js → chunk-I4UNL747.js} +4 -4
- package/dist/{chunk-RLPIT4YI.js → chunk-IOTTZLFF.js} +38 -38
- package/dist/{chunk-TVZ6LKKS.js → chunk-IRFF6LSF.js} +8 -8
- package/dist/{chunk-M5T4Q2ZU.js → chunk-KGK2QKWL.js} +1 -1
- package/dist/chunk-KGK2QKWL.js.map +1 -0
- package/dist/{chunk-IPLYGWQF.js → chunk-KQAFEZQX.js} +5 -5
- package/dist/chunk-M46RYSMW.js +597 -0
- package/dist/chunk-M46RYSMW.js.map +1 -0
- package/dist/{chunk-KXULCVOC.js → chunk-M6I5Z4SR.js} +4 -2
- package/dist/chunk-M6I5Z4SR.js.map +1 -0
- package/dist/{chunk-JFN6K74Q.js → chunk-MQEIWDYW.js} +2 -2
- package/dist/{chunk-7H6CFEBJ.js → chunk-NZPF2SYV.js} +8 -1
- package/dist/{chunk-7H6CFEBJ.js.map → chunk-NZPF2SYV.js.map} +1 -1
- package/dist/{chunk-SML26KED.js → chunk-OB6353F7.js} +16 -12
- package/dist/chunk-OB6353F7.js.map +1 -0
- package/dist/{chunk-SOTR74FK.js → chunk-OPYFD6PD.js} +2 -2
- package/dist/{chunk-3C5RPJAX.js → chunk-OXJBNGBK.js} +2 -2
- package/dist/{chunk-BD5LHQWD.js → chunk-PPPZY2EU.js} +2 -2
- package/dist/{chunk-25BY3HHZ.js → chunk-SUTSSOYU.js} +2 -2
- package/dist/{chunk-KS7WO6EQ.js → chunk-VFB2G5YL.js} +20 -20
- package/dist/{chunk-BUUYY2H2.js → chunk-WP5OWVLZ.js} +4 -4
- package/dist/{chunk-6URPAY2D.js → chunk-XCAZF7KQ.js} +207 -53
- package/dist/chunk-XCAZF7KQ.js.map +1 -0
- package/dist/{chunk-S53PAX2V.js → chunk-XM7BYXT7.js} +2 -2
- package/dist/{chunk-FADZBOR4.js → chunk-XRWTAEZM.js} +2 -2
- package/dist/{chunk-E5OECWZ5.js → chunk-XT7XVA53.js} +2 -2
- package/dist/{chunk-R3PS27B4.js → chunk-Z4R6RI2N.js} +2 -2
- package/dist/cli.js +44 -43
- package/dist/compounding/engine.js +4 -4
- package/dist/config.js +1 -1
- package/dist/connectors/codex-materialize-runner.js +4 -4
- package/dist/connectors/index.js +4 -4
- package/dist/embedding-fallback.d.ts +12 -1
- package/dist/embedding-fallback.js +4 -1
- package/dist/entity-retrieval.js +4 -4
- package/dist/host-embedding-provider.d.ts +21 -0
- package/dist/host-embedding-provider.js +14 -0
- package/dist/host-embedding-provider.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +71 -63
- package/dist/index.js.map +1 -1
- package/dist/lcm/index.js +3 -3
- package/dist/maintenance/memory-governance.js +4 -4
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +4 -4
- package/dist/maintenance/rebuild-memory-projection.js +5 -5
- package/dist/namespaces/migrate.js +14 -13
- package/dist/namespaces/search.js +9 -8
- package/dist/namespaces/storage.js +4 -4
- package/dist/operator-toolkit.js +17 -16
- package/dist/orchestrator.js +32 -31
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.js +2 -2
- package/dist/resume-bundles.js +2 -2
- package/dist/search/embed-helper.d.ts +48 -4
- package/dist/search/embed-helper.js +2 -1
- package/dist/search/factory.js +8 -7
- package/dist/search/index.d.ts +1 -0
- package/dist/search/index.js +12 -11
- package/dist/search/lancedb-backend.d.ts +11 -0
- package/dist/search/lancedb-backend.js +2 -2
- package/dist/search/meilisearch-backend.js +2 -2
- package/dist/search/orama-backend.d.ts +16 -0
- package/dist/search/orama-backend.js +2 -2
- package/dist/semantic-consolidation.js +5 -5
- package/dist/semantic-rule-promotion.js +4 -4
- package/dist/semantic-rule-verifier.js +4 -4
- package/dist/storage.js +3 -3
- package/dist/transfer/autodetect.js +1 -1
- package/dist/transfer/backup.js +1 -1
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/types.d.ts +6 -6
- package/dist/types.d.ts +17 -0
- package/dist/types.js +1 -1
- package/dist/verified-recall.js +4 -4
- package/package.json +11 -1
- package/src/config.ts +18 -0
- package/src/embedding-fallback.ts +293 -61
- package/src/host-embedding-provider.ts +84 -0
- package/src/index.ts +7 -0
- package/src/namespaces/search.ts +9 -1
- package/src/qmd.test.ts +28 -0
- package/src/search/embed-helper.ts +319 -51
- package/src/search/factory.ts +6 -2
- package/src/search/lancedb-backend.ts +297 -41
- package/src/search/orama-backend.ts +418 -47
- package/src/types.ts +17 -0
- package/dist/chunk-6URPAY2D.js.map +0 -1
- package/dist/chunk-FUC4LZMD.js +0 -301
- package/dist/chunk-FUC4LZMD.js.map +0 -1
- package/dist/chunk-KXULCVOC.js.map +0 -1
- package/dist/chunk-M5T4Q2ZU.js.map +0 -1
- package/dist/chunk-ONPLNAPX.js +0 -133
- package/dist/chunk-ONPLNAPX.js.map +0 -1
- package/dist/chunk-QVJ4NWL2.js +0 -335
- package/dist/chunk-QVJ4NWL2.js.map +0 -1
- package/dist/chunk-SML26KED.js.map +0 -1
- /package/dist/{chunk-I2K6KCVC.js.map → chunk-2FHLI4U6.js.map} +0 -0
- /package/dist/{chunk-5GX5MUQ2.js.map → chunk-574MU2Y3.js.map} +0 -0
- /package/dist/{chunk-65OLPXBU.js.map → chunk-5WB4C7KM.js.map} +0 -0
- /package/dist/{chunk-Z56KAZQL.js.map → chunk-74VA26CT.js.map} +0 -0
- /package/dist/{chunk-CC2ESOOG.js.map → chunk-7X7TBJRX.js.map} +0 -0
- /package/dist/{chunk-O4M4WH6V.js.map → chunk-ARY5OOLG.js.map} +0 -0
- /package/dist/{chunk-JBPKEARU.js.map → chunk-AU7Q3LSC.js.map} +0 -0
- /package/dist/{chunk-PM3QHTFT.js.map → chunk-CF3ZF2YU.js.map} +0 -0
- /package/dist/{chunk-SI3QCHWF.js.map → chunk-DARLGSFX.js.map} +0 -0
- /package/dist/{chunk-FVCZINOF.js.map → chunk-FHBEL473.js.map} +0 -0
- /package/dist/{chunk-7Q3RCKAQ.js.map → chunk-FXKPZ3H6.js.map} +0 -0
- /package/dist/{chunk-5WLYNZPC.js.map → chunk-GBXGCFRH.js.map} +0 -0
- /package/dist/{chunk-ILJXM3FV.js.map → chunk-HQO5EBUC.js.map} +0 -0
- /package/dist/{chunk-FK556DDH.js.map → chunk-I4UNL747.js.map} +0 -0
- /package/dist/{chunk-RLPIT4YI.js.map → chunk-IOTTZLFF.js.map} +0 -0
- /package/dist/{chunk-TVZ6LKKS.js.map → chunk-IRFF6LSF.js.map} +0 -0
- /package/dist/{chunk-IPLYGWQF.js.map → chunk-KQAFEZQX.js.map} +0 -0
- /package/dist/{chunk-JFN6K74Q.js.map → chunk-MQEIWDYW.js.map} +0 -0
- /package/dist/{chunk-SOTR74FK.js.map → chunk-OPYFD6PD.js.map} +0 -0
- /package/dist/{chunk-3C5RPJAX.js.map → chunk-OXJBNGBK.js.map} +0 -0
- /package/dist/{chunk-BD5LHQWD.js.map → chunk-PPPZY2EU.js.map} +0 -0
- /package/dist/{chunk-25BY3HHZ.js.map → chunk-SUTSSOYU.js.map} +0 -0
- /package/dist/{chunk-KS7WO6EQ.js.map → chunk-VFB2G5YL.js.map} +0 -0
- /package/dist/{chunk-BUUYY2H2.js.map → chunk-WP5OWVLZ.js.map} +0 -0
- /package/dist/{chunk-S53PAX2V.js.map → chunk-XM7BYXT7.js.map} +0 -0
- /package/dist/{chunk-FADZBOR4.js.map → chunk-XRWTAEZM.js.map} +0 -0
- /package/dist/{chunk-E5OECWZ5.js.map → chunk-XT7XVA53.js.map} +0 -0
- /package/dist/{chunk-R3PS27B4.js.map → chunk-Z4R6RI2N.js.map} +0 -0
package/dist/access-cli.js
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Orchestrator
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-IOTTZLFF.js";
|
|
4
4
|
import "./chunk-5RIRL3XL.js";
|
|
5
|
-
import "./chunk-BFBF3XEF.js";
|
|
6
5
|
import "./chunk-KVEVLBKC.js";
|
|
6
|
+
import "./chunk-BFBF3XEF.js";
|
|
7
7
|
import "./chunk-HHLLAQGZ.js";
|
|
8
|
-
import "./chunk-UWK5OXUJ.js";
|
|
9
8
|
import "./chunk-RLV3PQGH.js";
|
|
10
9
|
import "./chunk-TPDBFYEG.js";
|
|
11
10
|
import "./chunk-KCYE2MZM.js";
|
|
12
11
|
import "./chunk-7XYTQGCC.js";
|
|
13
12
|
import "./chunk-CO7ZO4TU.js";
|
|
13
|
+
import "./chunk-UWK5OXUJ.js";
|
|
14
|
+
import "./chunk-T2PO5MUF.js";
|
|
14
15
|
import "./chunk-4HP7HIE3.js";
|
|
15
16
|
import "./chunk-7N4KAIGN.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-T2PO5MUF.js";
|
|
18
|
-
import "./chunk-25BY3HHZ.js";
|
|
17
|
+
import "./chunk-SUTSSOYU.js";
|
|
19
18
|
import "./chunk-DRD2Q7HQ.js";
|
|
20
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-TECVW3JP.js";
|
|
21
20
|
import "./chunk-W7L6HXUC.js";
|
|
21
|
+
import "./chunk-ECZU5BJH.js";
|
|
22
|
+
import "./chunk-UHGBNIOS.js";
|
|
23
|
+
import "./chunk-VWT3F4IV.js";
|
|
22
24
|
import "./chunk-K5O2QY6T.js";
|
|
23
25
|
import "./chunk-MDYG7VI7.js";
|
|
24
26
|
import "./chunk-Z5AAYHUC.js";
|
|
25
27
|
import "./chunk-S75M5ZRK.js";
|
|
26
|
-
import "./chunk-ECZU5BJH.js";
|
|
27
28
|
import "./chunk-46GJIW5M.js";
|
|
28
29
|
import "./chunk-XJNBEDFE.js";
|
|
29
|
-
import "./chunk-VWT3F4IV.js";
|
|
30
30
|
import "./chunk-DLJ4IR6M.js";
|
|
31
|
+
import "./chunk-OZKZ2TRP.js";
|
|
31
32
|
import "./chunk-USYGGIJZ.js";
|
|
32
33
|
import "./chunk-V3RXWQIE.js";
|
|
33
34
|
import "./chunk-5IZL4DCV.js";
|
|
34
35
|
import "./chunk-X7XN6YU4.js";
|
|
35
36
|
import "./chunk-452WDNFO.js";
|
|
36
37
|
import "./chunk-TDKQGLJW.js";
|
|
37
|
-
import "./chunk-OZKZ2TRP.js";
|
|
38
38
|
import "./chunk-YDBIWGNI.js";
|
|
39
39
|
import "./chunk-7DHTMOND.js";
|
|
40
40
|
import "./chunk-2IT7WFYE.js";
|
|
@@ -56,7 +56,7 @@ import "./chunk-54V4BZWP.js";
|
|
|
56
56
|
import "./chunk-XZ4WBBB5.js";
|
|
57
57
|
import "./chunk-77NAFXUD.js";
|
|
58
58
|
import "./chunk-DB5A3NHS.js";
|
|
59
|
-
import "./chunk-
|
|
59
|
+
import "./chunk-FHBEL473.js";
|
|
60
60
|
import "./chunk-6NKAQ74D.js";
|
|
61
61
|
import "./chunk-OAZ5MFUB.js";
|
|
62
62
|
import "./chunk-PYPOFEMK.js";
|
|
@@ -64,36 +64,35 @@ import "./chunk-WLEB7WCG.js";
|
|
|
64
64
|
import "./chunk-VEWZZM3H.js";
|
|
65
65
|
import "./chunk-5NXIJZFX.js";
|
|
66
66
|
import "./chunk-Y4FHOFJ2.js";
|
|
67
|
-
import "./chunk-
|
|
67
|
+
import "./chunk-XCAZF7KQ.js";
|
|
68
68
|
import "./chunk-3PG3H5TD.js";
|
|
69
69
|
import "./chunk-OD4FM2U7.js";
|
|
70
|
-
import "./chunk-
|
|
71
|
-
import "./chunk-
|
|
70
|
+
import "./chunk-XM7BYXT7.js";
|
|
71
|
+
import "./chunk-7X7TBJRX.js";
|
|
72
72
|
import "./chunk-JFEKNTX7.js";
|
|
73
73
|
import "./chunk-JLNBQWZ2.js";
|
|
74
|
-
import "./chunk-HPWVAEET.js";
|
|
75
74
|
import "./chunk-2PRQG7PV.js";
|
|
76
|
-
import "./chunk-
|
|
75
|
+
import "./chunk-HPWVAEET.js";
|
|
76
|
+
import "./chunk-GBXGCFRH.js";
|
|
77
77
|
import "./chunk-3BP57I6J.js";
|
|
78
78
|
import "./chunk-TERNBNJB.js";
|
|
79
79
|
import "./chunk-W4RVMTHR.js";
|
|
80
|
-
import "./chunk-
|
|
80
|
+
import "./chunk-XRWTAEZM.js";
|
|
81
81
|
import "./chunk-XPXEJRUB.js";
|
|
82
82
|
import "./chunk-A6D7A2FW.js";
|
|
83
83
|
import "./chunk-FF4KLI5W.js";
|
|
84
84
|
import "./chunk-SFQ6QNL7.js";
|
|
85
|
-
import "./chunk-
|
|
86
|
-
import "./chunk-
|
|
87
|
-
import "./chunk-SML26KED.js";
|
|
88
|
-
import "./chunk-FUC4LZMD.js";
|
|
89
|
-
import "./chunk-FK556DDH.js";
|
|
90
|
-
import "./chunk-2I5JGH3M.js";
|
|
91
|
-
import "./chunk-QVJ4NWL2.js";
|
|
85
|
+
import "./chunk-M6I5Z4SR.js";
|
|
86
|
+
import "./chunk-OB6353F7.js";
|
|
92
87
|
import "./chunk-JNANKJLN.js";
|
|
93
|
-
import "./chunk-
|
|
94
|
-
import "./chunk-
|
|
88
|
+
import "./chunk-EWLQPEO6.js";
|
|
89
|
+
import "./chunk-6PTSXBPE.js";
|
|
90
|
+
import "./chunk-I4UNL747.js";
|
|
91
|
+
import "./chunk-2I5JGH3M.js";
|
|
92
|
+
import "./chunk-M46RYSMW.js";
|
|
95
93
|
import "./chunk-CINZGPSJ.js";
|
|
96
|
-
import "./chunk-
|
|
94
|
+
import "./chunk-Q4CAQGKQ.js";
|
|
95
|
+
import "./chunk-OPYFD6PD.js";
|
|
97
96
|
import "./chunk-ZFXCQPNO.js";
|
|
98
97
|
import "./chunk-KIB7SDIJ.js";
|
|
99
98
|
import "./chunk-ORFGK3XI.js";
|
|
@@ -104,6 +103,7 @@ import "./chunk-PCI747N2.js";
|
|
|
104
103
|
import {
|
|
105
104
|
resolvePluginEntry
|
|
106
105
|
} from "./chunk-CMTINOFS.js";
|
|
106
|
+
import "./chunk-A2Z6UCWT.js";
|
|
107
107
|
import "./chunk-TQNRI55H.js";
|
|
108
108
|
import "./chunk-6GUG4YNM.js";
|
|
109
109
|
import "./chunk-JXS5PDQ7.js";
|
|
@@ -112,6 +112,7 @@ import "./chunk-BEUDU7Y4.js";
|
|
|
112
112
|
import "./chunk-G3Z3QEF5.js";
|
|
113
113
|
import "./chunk-AJU4PJGY.js";
|
|
114
114
|
import "./chunk-FZZ2QTJI.js";
|
|
115
|
+
import "./chunk-3ONXXHQO.js";
|
|
115
116
|
import "./chunk-LMDRGRJ2.js";
|
|
116
117
|
import "./chunk-OKTXM5H4.js";
|
|
117
118
|
import "./chunk-3UXOZBHV.js";
|
|
@@ -126,7 +127,7 @@ import "./chunk-UZB5KHKX.js";
|
|
|
126
127
|
import "./chunk-RK6F44Y6.js";
|
|
127
128
|
import {
|
|
128
129
|
parseConfig
|
|
129
|
-
} from "./chunk-
|
|
130
|
+
} from "./chunk-NZPF2SYV.js";
|
|
130
131
|
import "./chunk-PHK3HARR.js";
|
|
131
132
|
import "./chunk-Z5LAYHGJ.js";
|
|
132
133
|
import "./chunk-6HZ6AO2P.js";
|
|
@@ -138,21 +139,21 @@ import "./chunk-PVGDJXVK.js";
|
|
|
138
139
|
import "./chunk-OADWQ5CR.js";
|
|
139
140
|
import {
|
|
140
141
|
EngramAccessService
|
|
141
|
-
} from "./chunk-
|
|
142
|
+
} from "./chunk-VFB2G5YL.js";
|
|
142
143
|
import "./chunk-ETUPBUHB.js";
|
|
143
144
|
import "./chunk-L227SKTB.js";
|
|
144
145
|
import "./chunk-DHGSZ3UD.js";
|
|
145
146
|
import "./chunk-BT7NVCML.js";
|
|
146
|
-
import "./chunk-
|
|
147
|
-
import "./chunk-3C5RPJAX.js";
|
|
147
|
+
import "./chunk-OXJBNGBK.js";
|
|
148
148
|
import "./chunk-SOBJ6NEY.js";
|
|
149
|
+
import "./chunk-H7XKCNR6.js";
|
|
150
|
+
import "./chunk-XT7XVA53.js";
|
|
149
151
|
import "./chunk-EDQVAMQI.js";
|
|
150
152
|
import "./chunk-472U7RDF.js";
|
|
151
|
-
import "./chunk-
|
|
153
|
+
import "./chunk-FXKPZ3H6.js";
|
|
152
154
|
import "./chunk-WSGF57U2.js";
|
|
153
155
|
import "./chunk-XKIQZXUB.js";
|
|
154
156
|
import "./chunk-UEY3VB6W.js";
|
|
155
|
-
import "./chunk-E5OECWZ5.js";
|
|
156
157
|
import "./chunk-EIR5VLIH.js";
|
|
157
158
|
import "./chunk-JKV57BTN.js";
|
|
158
159
|
import "./chunk-EI6V5UXY.js";
|
|
@@ -164,16 +165,16 @@ import "./chunk-CHCA44C3.js";
|
|
|
164
165
|
import "./chunk-4JRRISLU.js";
|
|
165
166
|
import "./chunk-2LSZVONP.js";
|
|
166
167
|
import "./chunk-DEUNUKTD.js";
|
|
167
|
-
import "./chunk-
|
|
168
|
-
import "./chunk-
|
|
168
|
+
import "./chunk-MQEIWDYW.js";
|
|
169
|
+
import "./chunk-IRFF6LSF.js";
|
|
169
170
|
import "./chunk-5UZXUTVO.js";
|
|
170
171
|
import "./chunk-4H5ZJHEN.js";
|
|
171
|
-
import "./chunk-
|
|
172
|
+
import "./chunk-KGK2QKWL.js";
|
|
173
|
+
import "./chunk-RULE4VG5.js";
|
|
172
174
|
import "./chunk-SCU65EZI.js";
|
|
173
175
|
import "./chunk-KILOTVIF.js";
|
|
174
176
|
import "./chunk-3HPAPHUK.js";
|
|
175
177
|
import "./chunk-CPPS65WS.js";
|
|
176
|
-
import "./chunk-RULE4VG5.js";
|
|
177
178
|
import "./chunk-DM2T26WE.js";
|
|
178
179
|
import "./chunk-QSVPYQPG.js";
|
|
179
180
|
import "./chunk-FVQJYWH7.js";
|
|
@@ -200,10 +201,10 @@ import "./chunk-TVVEYCNW.js";
|
|
|
200
201
|
import "./chunk-RFYAYKTD.js";
|
|
201
202
|
import "./chunk-LBLXEFWK.js";
|
|
202
203
|
import "./chunk-VFUEZZBS.js";
|
|
203
|
-
import "./chunk-
|
|
204
|
-
import "./chunk-J4EB7DNW.js";
|
|
204
|
+
import "./chunk-KQAFEZQX.js";
|
|
205
205
|
import "./chunk-WEHSQBFR.js";
|
|
206
206
|
import "./chunk-X7Y7WX73.js";
|
|
207
|
+
import "./chunk-J4EB7DNW.js";
|
|
207
208
|
import "./chunk-BJMBJZ2Y.js";
|
|
208
209
|
import "./chunk-UKJAGEXH.js";
|
|
209
210
|
import "./chunk-FP2373TW.js";
|
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 { resolvePluginEntry } from \"./plugin-entry-resolver.js\";\nimport { expandTildePath } from \"./utils/path.js\";\n\nconst OPENCLAW_REMNIC_PLUGIN_IDS = [\"openclaw-remnic\", \"openclaw-engram\"] as const;\n\ntype CommandName = \"browse\" | \"store\";\n\ntype ParsedArgs = {\n command: CommandName;\n options: Record<string, string[]>;\n flags: Set<string>;\n};\n\ntype CommandSpec = {\n valueOptions: ReadonlySet<string>;\n flagOptions: ReadonlySet<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 the plugin-entry resolver 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\nfunction getOpenClawPluginEntries(raw: Record<string, unknown>): Record<string, unknown> | undefined {\n const plugins =\n raw[\"plugins\"] && typeof raw[\"plugins\"] === \"object\" && !Array.isArray(raw[\"plugins\"])\n ? (raw[\"plugins\"] as Record<string, unknown>)\n : undefined;\n const entries =\n plugins && plugins[\"entries\"] && typeof plugins[\"entries\"] === \"object\" && !Array.isArray(plugins[\"entries\"])\n ? (plugins[\"entries\"] as Record<string, unknown>)\n : undefined;\n return entries;\n}\n\nfunction getOpenClawMemorySlotId(raw: Record<string, unknown>): string | undefined {\n const plugins =\n raw[\"plugins\"] && typeof raw[\"plugins\"] === \"object\" && !Array.isArray(raw[\"plugins\"])\n ? (raw[\"plugins\"] as Record<string, unknown>)\n : undefined;\n const slots =\n plugins && plugins[\"slots\"] && typeof plugins[\"slots\"] === \"object\" && !Array.isArray(plugins[\"slots\"])\n ? (plugins[\"slots\"] as Record<string, unknown>)\n : undefined;\n const slotId = slots?.[\"memory\"];\n return typeof slotId === \"string\" ? slotId : undefined;\n}\n\nfunction resolveOpenClawRemnicPluginEntry(raw: unknown, preferredId?: string): Record<string, unknown> | undefined {\n return resolvePluginEntry(raw, {\n candidateIds: OPENCLAW_REMNIC_PLUGIN_IDS,\n preferredId,\n getEntries: getOpenClawPluginEntries,\n getSlotId: getOpenClawMemorySlotId,\n });\n}\n\nfunction hasAllowedOpenClawRemnicPluginId(value: string): boolean {\n return (OPENCLAW_REMNIC_PLUGIN_IDS as readonly string[]).includes(value);\n}\n\ntype UsageErrorKind =\n | \"unsupported-command\"\n | \"unexpected-positional\"\n | \"unknown-option\"\n | \"invalid-option\"\n | \"option-does-not-take-value\"\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 readonly acceptedValues?: readonly 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 \"unknown-option\":\n return `unknown option: --${error.optionName ?? \"unknown\"}`;\n case \"invalid-option\": {\n const accepted = error.acceptedValues?.length ? `. Accepted: ${error.acceptedValues.join(\", \")}.` : \"\";\n return `invalid value for --${error.optionName ?? \"unknown\"}${accepted}`;\n }\n case \"option-does-not-take-value\":\n return `option does not accept a value: --${error.optionName ?? \"unknown\"}`;\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 \" --principal <principal>\",\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\nconst COMMAND_SPECS: Record<CommandName, CommandSpec> = {\n browse: {\n valueOptions: new Set([\n \"namespace\",\n \"principal\",\n \"query\",\n \"category\",\n \"status\",\n \"sort\",\n \"limit\",\n \"offset\",\n ]),\n flagOptions: new Set(),\n },\n store: {\n valueOptions: new Set([\n \"namespace\",\n \"session-key\",\n \"principal\",\n \"content\",\n \"content-file\",\n \"category\",\n \"confidence\",\n \"tag\",\n \"entity-ref\",\n \"ttl\",\n \"source-reason\",\n \"idempotency-key\",\n ]),\n flagOptions: new Set([\"dry-run\"]),\n },\n};\n\nconst BROWSE_SORT_VALUES = Object.freeze([\n \"updated_desc\",\n \"updated_asc\",\n \"created_desc\",\n \"created_asc\",\n] as const);\n\ntype BrowseSort = (typeof BROWSE_SORT_VALUES)[number];\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 const spec = COMMAND_SPECS[commandRaw];\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 rawKey = token.slice(2);\n if (!rawKey) {\n throw new UsageError(\"unknown-option\", rawKey);\n }\n const equalsIndex = rawKey.indexOf(\"=\");\n const key = equalsIndex === -1 ? rawKey : rawKey.slice(0, equalsIndex);\n const inlineValue = equalsIndex === -1 ? undefined : rawKey.slice(equalsIndex + 1);\n\n if (!spec.valueOptions.has(key) && !spec.flagOptions.has(key)) {\n throw new UsageError(\"unknown-option\", key);\n }\n\n if (spec.flagOptions.has(key)) {\n if (inlineValue !== undefined) {\n throw new UsageError(\"option-does-not-take-value\", key);\n }\n const next = rest[i + 1];\n if (next && !next.startsWith(\"--\")) {\n throw new UsageError(\"option-does-not-take-value\", key);\n }\n flags.add(key);\n continue;\n }\n\n if (inlineValue !== undefined) {\n if (inlineValue.length === 0) {\n throw new UsageError(\"missing-option\", key);\n }\n if (!options[key]) {\n options[key] = [];\n }\n options[key].push(inlineValue);\n continue;\n }\n\n const next = rest[i + 1];\n if (next === undefined || next.length === 0 || next.startsWith(\"--\")) {\n throw new UsageError(\"missing-option\", key);\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(\n args: ParsedArgs,\n name: string,\n options: { min?: number } = {},\n): number | undefined {\n const raw = getLastOption(args, name);\n if (!raw) return undefined;\n const trimmed = raw.trim();\n if (!/^[+-]?\\d+$/.test(trimmed)) {\n throw new UsageError(\"invalid-integer\", name);\n }\n const value = Number(trimmed);\n if (!Number.isSafeInteger(value)) {\n throw new UsageError(\"invalid-integer\", name);\n }\n if (options.min !== undefined && value < options.min) {\n throw new UsageError(\"invalid-option\", name, [`integer >= ${options.min}`]);\n }\n return value;\n}\n\nfunction parseBrowseSortOption(args: ParsedArgs, name: string): BrowseSort | undefined {\n const raw = getLastOption(args, name);\n if (!raw) return undefined;\n if ((BROWSE_SORT_VALUES as readonly string[]).includes(raw)) {\n return raw as BrowseSort;\n }\n throw new UsageError(\"invalid-option\", name, BROWSE_SORT_VALUES);\n}\n\nfunction parseFloatOption(\n args: ParsedArgs,\n name: string,\n options: { min?: number; max?: number } = {},\n): number | undefined {\n const raw = getLastOption(args, name);\n if (!raw) return undefined;\n const trimmed = raw.trim();\n if (!/^[+-]?(?:(?:\\d+\\.?\\d*)|(?:\\.\\d+))(?:e[+-]?\\d+)?$/i.test(trimmed)) {\n throw new UsageError(\"invalid-number\", name);\n }\n const value = Number(trimmed);\n if (!Number.isFinite(value)) {\n throw new UsageError(\"invalid-number\", name);\n }\n if (options.min !== undefined && value < options.min) {\n throw new UsageError(\"invalid-number\", name);\n }\n if (options.max !== undefined && value > options.max) {\n throw new UsageError(\"invalid-number\", name);\n }\n return value;\n}\n\nfunction loadPluginConfig(preferredId?: string): Record<string, unknown> {\n const configPath =\n expandOptionalPath(readEnvVar(\"OPENCLAW_CONFIG_PATH\")) ||\n expandOptionalPath(readEnvVar(\"OPENCLAW_ENGRAM_CONFIG_PATH\")) ||\n path.join(resolveHomeDir(), \".openclaw\", \"openclaw.json\");\n const raw = JSON.parse(fs.readFileSync(configPath, \"utf8\"));\n const slotId =\n raw && typeof raw === \"object\" && !Array.isArray(raw)\n ? getOpenClawMemorySlotId(raw as Record<string, unknown>)\n : undefined;\n if (typeof slotId === \"string\" && !hasAllowedOpenClawRemnicPluginId(slotId)) {\n throw new Error(\n `OpenClaw memory slot points to non-Remnic plugin \"${slotId}\"; refusing to use default Remnic access config.`,\n );\n }\n // Delegate slot → preferredId → canonical → legacy resolution to the\n // generic 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 = resolveOpenClawRemnicPluginEntry(raw, preferredId);\n if (!entry) {\n throw new Error(\n \"OpenClaw config does not contain an allowed Remnic plugin entry; refusing to use default Remnic access config.\",\n );\n }\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 browseArgs = {\n namespace: getLastOption(args, \"namespace\"),\n principal: getLastOption(args, \"principal\"),\n query: getLastOption(args, \"query\"),\n category: getLastOption(args, \"category\"),\n status: getLastOption(args, \"status\"),\n sort: parseBrowseSortOption(args, \"sort\"),\n limit: parseIntegerOption(args, \"limit\", { min: 1 }),\n offset: parseIntegerOption(args, \"offset\", { min: 0 }),\n };\n const { config, service } = buildRuntime(preferredId);\n const request = {\n namespace: browseArgs.namespace,\n authenticatedPrincipal: browseArgs.principal ?? config.agentAccessHttp.principal,\n query: browseArgs.query,\n category: browseArgs.category,\n status: browseArgs.status,\n sort: browseArgs.sort,\n limit: browseArgs.limit,\n offset: browseArgs.offset,\n };\n const result = await service.memoryBrowse(request);\n console.log(JSON.stringify(result, null, 2));\n}\n\nasync function runStore(args: ParsedArgs, preferredId?: string): Promise<void> {\n const contentFile = getLastOption(args, \"content-file\");\n const inlineContent = getLastOption(args, \"content\");\n const content = contentFile\n ? fs.readFileSync(expandTildePath(contentFile), \"utf8\")\n : inlineContent;\n if (!content || content.trim().length === 0) {\n throw new UsageError(\"missing-content\");\n }\n const storeArgs = {\n namespace: getLastOption(args, \"namespace\"),\n sessionKey: getLastOption(args, \"session-key\"),\n content,\n category: requireOption(args, \"category\"),\n confidence: parseFloatOption(args, \"confidence\", { min: 0, max: 1 }),\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\n const { config, service } = buildRuntime(preferredId);\n const result = await service.memoryStore({\n namespace: storeArgs.namespace,\n sessionKey: storeArgs.sessionKey,\n authenticatedPrincipal: getLastOption(args, \"principal\") ?? config.agentAccessHttp.principal,\n content: storeArgs.content,\n category: storeArgs.category,\n confidence: storeArgs.confidence,\n tags: storeArgs.tags,\n entityRef: storeArgs.entityRef,\n ttl: storeArgs.ttl,\n sourceReason: storeArgs.sourceReason,\n idempotencyKey: storeArgs.idempotencyKey,\n dryRun: storeArgs.dryRun,\n });\n console.log(JSON.stringify(result, null, 2));\n}\n\nfunction expandOptionalPath(value: string | undefined): string | undefined {\n return value === undefined ? undefined : expandTildePath(value);\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 sanitizeAccessCliErrorMessage(message: string): string {\n return message.replace(\n /\\b(openaiApiKey|localLlmApiKey)\\b(\\s*[:=]\\s*)(?:\"[^\"]*\"|'[^']*'|[^\\s,}\\]]+)/gi,\n (_match, name: string, separator: string) => `${name}${separator}[redacted]`,\n );\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: runtime error\");\n process.exit(1);\n }\n}\n"],"mappings":"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","names":["next"]}
|
|
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 { resolvePluginEntry } from \"./plugin-entry-resolver.js\";\nimport { expandTildePath } from \"./utils/path.js\";\n\nconst OPENCLAW_REMNIC_PLUGIN_IDS = [\"openclaw-remnic\", \"openclaw-engram\"] as const;\n\ntype CommandName = \"browse\" | \"store\";\n\ntype ParsedArgs = {\n command: CommandName;\n options: Record<string, string[]>;\n flags: Set<string>;\n};\n\ntype CommandSpec = {\n valueOptions: ReadonlySet<string>;\n flagOptions: ReadonlySet<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 the plugin-entry resolver 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\nfunction getOpenClawPluginEntries(raw: Record<string, unknown>): Record<string, unknown> | undefined {\n const plugins =\n raw[\"plugins\"] && typeof raw[\"plugins\"] === \"object\" && !Array.isArray(raw[\"plugins\"])\n ? (raw[\"plugins\"] as Record<string, unknown>)\n : undefined;\n const entries =\n plugins && plugins[\"entries\"] && typeof plugins[\"entries\"] === \"object\" && !Array.isArray(plugins[\"entries\"])\n ? (plugins[\"entries\"] as Record<string, unknown>)\n : undefined;\n return entries;\n}\n\nfunction getOpenClawMemorySlotId(raw: Record<string, unknown>): string | undefined {\n const plugins =\n raw[\"plugins\"] && typeof raw[\"plugins\"] === \"object\" && !Array.isArray(raw[\"plugins\"])\n ? (raw[\"plugins\"] as Record<string, unknown>)\n : undefined;\n const slots =\n plugins && plugins[\"slots\"] && typeof plugins[\"slots\"] === \"object\" && !Array.isArray(plugins[\"slots\"])\n ? (plugins[\"slots\"] as Record<string, unknown>)\n : undefined;\n const slotId = slots?.[\"memory\"];\n return typeof slotId === \"string\" ? slotId : undefined;\n}\n\nfunction resolveOpenClawRemnicPluginEntry(raw: unknown, preferredId?: string): Record<string, unknown> | undefined {\n return resolvePluginEntry(raw, {\n candidateIds: OPENCLAW_REMNIC_PLUGIN_IDS,\n preferredId,\n getEntries: getOpenClawPluginEntries,\n getSlotId: getOpenClawMemorySlotId,\n });\n}\n\nfunction hasAllowedOpenClawRemnicPluginId(value: string): boolean {\n return (OPENCLAW_REMNIC_PLUGIN_IDS as readonly string[]).includes(value);\n}\n\ntype UsageErrorKind =\n | \"unsupported-command\"\n | \"unexpected-positional\"\n | \"unknown-option\"\n | \"invalid-option\"\n | \"option-does-not-take-value\"\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 readonly acceptedValues?: readonly 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 \"unknown-option\":\n return `unknown option: --${error.optionName ?? \"unknown\"}`;\n case \"invalid-option\": {\n const accepted = error.acceptedValues?.length ? `. Accepted: ${error.acceptedValues.join(\", \")}.` : \"\";\n return `invalid value for --${error.optionName ?? \"unknown\"}${accepted}`;\n }\n case \"option-does-not-take-value\":\n return `option does not accept a value: --${error.optionName ?? \"unknown\"}`;\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 \" --principal <principal>\",\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\nconst COMMAND_SPECS: Record<CommandName, CommandSpec> = {\n browse: {\n valueOptions: new Set([\n \"namespace\",\n \"principal\",\n \"query\",\n \"category\",\n \"status\",\n \"sort\",\n \"limit\",\n \"offset\",\n ]),\n flagOptions: new Set(),\n },\n store: {\n valueOptions: new Set([\n \"namespace\",\n \"session-key\",\n \"principal\",\n \"content\",\n \"content-file\",\n \"category\",\n \"confidence\",\n \"tag\",\n \"entity-ref\",\n \"ttl\",\n \"source-reason\",\n \"idempotency-key\",\n ]),\n flagOptions: new Set([\"dry-run\"]),\n },\n};\n\nconst BROWSE_SORT_VALUES = Object.freeze([\n \"updated_desc\",\n \"updated_asc\",\n \"created_desc\",\n \"created_asc\",\n] as const);\n\ntype BrowseSort = (typeof BROWSE_SORT_VALUES)[number];\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 const spec = COMMAND_SPECS[commandRaw];\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 rawKey = token.slice(2);\n if (!rawKey) {\n throw new UsageError(\"unknown-option\", rawKey);\n }\n const equalsIndex = rawKey.indexOf(\"=\");\n const key = equalsIndex === -1 ? rawKey : rawKey.slice(0, equalsIndex);\n const inlineValue = equalsIndex === -1 ? undefined : rawKey.slice(equalsIndex + 1);\n\n if (!spec.valueOptions.has(key) && !spec.flagOptions.has(key)) {\n throw new UsageError(\"unknown-option\", key);\n }\n\n if (spec.flagOptions.has(key)) {\n if (inlineValue !== undefined) {\n throw new UsageError(\"option-does-not-take-value\", key);\n }\n const next = rest[i + 1];\n if (next && !next.startsWith(\"--\")) {\n throw new UsageError(\"option-does-not-take-value\", key);\n }\n flags.add(key);\n continue;\n }\n\n if (inlineValue !== undefined) {\n if (inlineValue.length === 0) {\n throw new UsageError(\"missing-option\", key);\n }\n if (!options[key]) {\n options[key] = [];\n }\n options[key].push(inlineValue);\n continue;\n }\n\n const next = rest[i + 1];\n if (next === undefined || next.length === 0 || next.startsWith(\"--\")) {\n throw new UsageError(\"missing-option\", key);\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(\n args: ParsedArgs,\n name: string,\n options: { min?: number } = {},\n): number | undefined {\n const raw = getLastOption(args, name);\n if (!raw) return undefined;\n const trimmed = raw.trim();\n if (!/^[+-]?\\d+$/.test(trimmed)) {\n throw new UsageError(\"invalid-integer\", name);\n }\n const value = Number(trimmed);\n if (!Number.isSafeInteger(value)) {\n throw new UsageError(\"invalid-integer\", name);\n }\n if (options.min !== undefined && value < options.min) {\n throw new UsageError(\"invalid-option\", name, [`integer >= ${options.min}`]);\n }\n return value;\n}\n\nfunction parseBrowseSortOption(args: ParsedArgs, name: string): BrowseSort | undefined {\n const raw = getLastOption(args, name);\n if (!raw) return undefined;\n if ((BROWSE_SORT_VALUES as readonly string[]).includes(raw)) {\n return raw as BrowseSort;\n }\n throw new UsageError(\"invalid-option\", name, BROWSE_SORT_VALUES);\n}\n\nfunction parseFloatOption(\n args: ParsedArgs,\n name: string,\n options: { min?: number; max?: number } = {},\n): number | undefined {\n const raw = getLastOption(args, name);\n if (!raw) return undefined;\n const trimmed = raw.trim();\n if (!/^[+-]?(?:(?:\\d+\\.?\\d*)|(?:\\.\\d+))(?:e[+-]?\\d+)?$/i.test(trimmed)) {\n throw new UsageError(\"invalid-number\", name);\n }\n const value = Number(trimmed);\n if (!Number.isFinite(value)) {\n throw new UsageError(\"invalid-number\", name);\n }\n if (options.min !== undefined && value < options.min) {\n throw new UsageError(\"invalid-number\", name);\n }\n if (options.max !== undefined && value > options.max) {\n throw new UsageError(\"invalid-number\", name);\n }\n return value;\n}\n\nfunction loadPluginConfig(preferredId?: string): Record<string, unknown> {\n const configPath =\n expandOptionalPath(readEnvVar(\"OPENCLAW_CONFIG_PATH\")) ||\n expandOptionalPath(readEnvVar(\"OPENCLAW_ENGRAM_CONFIG_PATH\")) ||\n path.join(resolveHomeDir(), \".openclaw\", \"openclaw.json\");\n const raw = JSON.parse(fs.readFileSync(configPath, \"utf8\"));\n const slotId =\n raw && typeof raw === \"object\" && !Array.isArray(raw)\n ? getOpenClawMemorySlotId(raw as Record<string, unknown>)\n : undefined;\n if (typeof slotId === \"string\" && !hasAllowedOpenClawRemnicPluginId(slotId)) {\n throw new Error(\n `OpenClaw memory slot points to non-Remnic plugin \"${slotId}\"; refusing to use default Remnic access config.`,\n );\n }\n // Delegate slot → preferredId → canonical → legacy resolution to the\n // generic 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 = resolveOpenClawRemnicPluginEntry(raw, preferredId);\n if (!entry) {\n throw new Error(\n \"OpenClaw config does not contain an allowed Remnic plugin entry; refusing to use default Remnic access config.\",\n );\n }\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 browseArgs = {\n namespace: getLastOption(args, \"namespace\"),\n principal: getLastOption(args, \"principal\"),\n query: getLastOption(args, \"query\"),\n category: getLastOption(args, \"category\"),\n status: getLastOption(args, \"status\"),\n sort: parseBrowseSortOption(args, \"sort\"),\n limit: parseIntegerOption(args, \"limit\", { min: 1 }),\n offset: parseIntegerOption(args, \"offset\", { min: 0 }),\n };\n const { config, service } = buildRuntime(preferredId);\n const request = {\n namespace: browseArgs.namespace,\n authenticatedPrincipal: browseArgs.principal ?? config.agentAccessHttp.principal,\n query: browseArgs.query,\n category: browseArgs.category,\n status: browseArgs.status,\n sort: browseArgs.sort,\n limit: browseArgs.limit,\n offset: browseArgs.offset,\n };\n const result = await service.memoryBrowse(request);\n console.log(JSON.stringify(result, null, 2));\n}\n\nasync function runStore(args: ParsedArgs, preferredId?: string): Promise<void> {\n const contentFile = getLastOption(args, \"content-file\");\n const inlineContent = getLastOption(args, \"content\");\n const content = contentFile\n ? fs.readFileSync(expandTildePath(contentFile), \"utf8\")\n : inlineContent;\n if (!content || content.trim().length === 0) {\n throw new UsageError(\"missing-content\");\n }\n const storeArgs = {\n namespace: getLastOption(args, \"namespace\"),\n sessionKey: getLastOption(args, \"session-key\"),\n content,\n category: requireOption(args, \"category\"),\n confidence: parseFloatOption(args, \"confidence\", { min: 0, max: 1 }),\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\n const { config, service } = buildRuntime(preferredId);\n const result = await service.memoryStore({\n namespace: storeArgs.namespace,\n sessionKey: storeArgs.sessionKey,\n authenticatedPrincipal: getLastOption(args, \"principal\") ?? config.agentAccessHttp.principal,\n content: storeArgs.content,\n category: storeArgs.category,\n confidence: storeArgs.confidence,\n tags: storeArgs.tags,\n entityRef: storeArgs.entityRef,\n ttl: storeArgs.ttl,\n sourceReason: storeArgs.sourceReason,\n idempotencyKey: storeArgs.idempotencyKey,\n dryRun: storeArgs.dryRun,\n });\n console.log(JSON.stringify(result, null, 2));\n}\n\nfunction expandOptionalPath(value: string | undefined): string | undefined {\n return value === undefined ? undefined : expandTildePath(value);\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 sanitizeAccessCliErrorMessage(message: string): string {\n return message.replace(\n /\\b(openaiApiKey|localLlmApiKey)\\b(\\s*[:=]\\s*)(?:\"[^\"]*\"|'[^']*'|[^\\s,}\\]]+)/gi,\n (_match, name: string, separator: string) => `${name}${separator}[redacted]`,\n );\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: runtime error\");\n process.exit(1);\n }\n}\n"],"mappings":"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","names":["next"]}
|
package/dist/access-http.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EngramAccessHttpServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5WB4C7KM.js";
|
|
4
4
|
import "./chunk-SEDEKFYQ.js";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-AU7Q3LSC.js";
|
|
6
|
+
import "./chunk-42NQ7AVG.js";
|
|
6
7
|
import "./chunk-TMSXWOBZ.js";
|
|
7
8
|
import "./chunk-J64TK33U.js";
|
|
8
9
|
import "./chunk-RSUYKGGZ.js";
|
|
9
|
-
import "./chunk-42NQ7AVG.js";
|
|
10
10
|
import "./chunk-7RXCMVFQ.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-WP5OWVLZ.js";
|
|
12
12
|
import "./chunk-EAZGEEG2.js";
|
|
13
13
|
import "./chunk-D24OXEPB.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-VFB2G5YL.js";
|
|
15
15
|
import "./chunk-ETUPBUHB.js";
|
|
16
16
|
import "./chunk-L227SKTB.js";
|
|
17
17
|
import "./chunk-DHGSZ3UD.js";
|
|
18
18
|
import "./chunk-BT7NVCML.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-3C5RPJAX.js";
|
|
19
|
+
import "./chunk-OXJBNGBK.js";
|
|
21
20
|
import "./chunk-SOBJ6NEY.js";
|
|
21
|
+
import "./chunk-H7XKCNR6.js";
|
|
22
|
+
import "./chunk-XT7XVA53.js";
|
|
22
23
|
import "./chunk-EDQVAMQI.js";
|
|
23
24
|
import "./chunk-472U7RDF.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-FXKPZ3H6.js";
|
|
25
26
|
import "./chunk-WSGF57U2.js";
|
|
26
27
|
import "./chunk-XKIQZXUB.js";
|
|
27
28
|
import "./chunk-UEY3VB6W.js";
|
|
28
|
-
import "./chunk-E5OECWZ5.js";
|
|
29
29
|
import "./chunk-EIR5VLIH.js";
|
|
30
30
|
import "./chunk-JKV57BTN.js";
|
|
31
31
|
import "./chunk-EI6V5UXY.js";
|
|
@@ -37,16 +37,16 @@ import "./chunk-CHCA44C3.js";
|
|
|
37
37
|
import "./chunk-4JRRISLU.js";
|
|
38
38
|
import "./chunk-2LSZVONP.js";
|
|
39
39
|
import "./chunk-DEUNUKTD.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-MQEIWDYW.js";
|
|
41
|
+
import "./chunk-IRFF6LSF.js";
|
|
42
42
|
import "./chunk-5UZXUTVO.js";
|
|
43
43
|
import "./chunk-4H5ZJHEN.js";
|
|
44
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-KGK2QKWL.js";
|
|
45
|
+
import "./chunk-RULE4VG5.js";
|
|
45
46
|
import "./chunk-SCU65EZI.js";
|
|
46
47
|
import "./chunk-KILOTVIF.js";
|
|
47
48
|
import "./chunk-3HPAPHUK.js";
|
|
48
49
|
import "./chunk-CPPS65WS.js";
|
|
49
|
-
import "./chunk-RULE4VG5.js";
|
|
50
50
|
import "./chunk-DM2T26WE.js";
|
|
51
51
|
import "./chunk-QSVPYQPG.js";
|
|
52
52
|
import "./chunk-FVQJYWH7.js";
|
|
@@ -68,11 +68,11 @@ import "./chunk-TVVEYCNW.js";
|
|
|
68
68
|
import "./chunk-RFYAYKTD.js";
|
|
69
69
|
import "./chunk-LBLXEFWK.js";
|
|
70
70
|
import "./chunk-VFUEZZBS.js";
|
|
71
|
-
import "./chunk-
|
|
72
|
-
import "./chunk-
|
|
73
|
-
import "./chunk-J4EB7DNW.js";
|
|
71
|
+
import "./chunk-PPPZY2EU.js";
|
|
72
|
+
import "./chunk-KQAFEZQX.js";
|
|
74
73
|
import "./chunk-WEHSQBFR.js";
|
|
75
74
|
import "./chunk-X7Y7WX73.js";
|
|
75
|
+
import "./chunk-J4EB7DNW.js";
|
|
76
76
|
import "./chunk-BJMBJZ2Y.js";
|
|
77
77
|
import "./chunk-UKJAGEXH.js";
|
|
78
78
|
import "./chunk-FP2373TW.js";
|
package/dist/access-mcp.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EngramMcpServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WP5OWVLZ.js";
|
|
4
4
|
import "./chunk-EAZGEEG2.js";
|
|
5
5
|
import "./chunk-D24OXEPB.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-VFB2G5YL.js";
|
|
7
7
|
import "./chunk-ETUPBUHB.js";
|
|
8
8
|
import "./chunk-L227SKTB.js";
|
|
9
9
|
import "./chunk-DHGSZ3UD.js";
|
|
10
10
|
import "./chunk-BT7NVCML.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-3C5RPJAX.js";
|
|
11
|
+
import "./chunk-OXJBNGBK.js";
|
|
13
12
|
import "./chunk-SOBJ6NEY.js";
|
|
13
|
+
import "./chunk-H7XKCNR6.js";
|
|
14
|
+
import "./chunk-XT7XVA53.js";
|
|
14
15
|
import "./chunk-EDQVAMQI.js";
|
|
15
16
|
import "./chunk-472U7RDF.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-FXKPZ3H6.js";
|
|
17
18
|
import "./chunk-WSGF57U2.js";
|
|
18
19
|
import "./chunk-XKIQZXUB.js";
|
|
19
20
|
import "./chunk-UEY3VB6W.js";
|
|
20
|
-
import "./chunk-E5OECWZ5.js";
|
|
21
21
|
import "./chunk-EIR5VLIH.js";
|
|
22
22
|
import "./chunk-JKV57BTN.js";
|
|
23
23
|
import "./chunk-EI6V5UXY.js";
|
|
@@ -29,16 +29,16 @@ import "./chunk-CHCA44C3.js";
|
|
|
29
29
|
import "./chunk-4JRRISLU.js";
|
|
30
30
|
import "./chunk-2LSZVONP.js";
|
|
31
31
|
import "./chunk-DEUNUKTD.js";
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-MQEIWDYW.js";
|
|
33
|
+
import "./chunk-IRFF6LSF.js";
|
|
34
34
|
import "./chunk-5UZXUTVO.js";
|
|
35
35
|
import "./chunk-4H5ZJHEN.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-KGK2QKWL.js";
|
|
37
|
+
import "./chunk-RULE4VG5.js";
|
|
37
38
|
import "./chunk-SCU65EZI.js";
|
|
38
39
|
import "./chunk-KILOTVIF.js";
|
|
39
40
|
import "./chunk-3HPAPHUK.js";
|
|
40
41
|
import "./chunk-CPPS65WS.js";
|
|
41
|
-
import "./chunk-RULE4VG5.js";
|
|
42
42
|
import "./chunk-DM2T26WE.js";
|
|
43
43
|
import "./chunk-QSVPYQPG.js";
|
|
44
44
|
import "./chunk-FVQJYWH7.js";
|
|
@@ -60,11 +60,11 @@ import "./chunk-TVVEYCNW.js";
|
|
|
60
60
|
import "./chunk-RFYAYKTD.js";
|
|
61
61
|
import "./chunk-LBLXEFWK.js";
|
|
62
62
|
import "./chunk-VFUEZZBS.js";
|
|
63
|
-
import "./chunk-
|
|
64
|
-
import "./chunk-
|
|
65
|
-
import "./chunk-J4EB7DNW.js";
|
|
63
|
+
import "./chunk-PPPZY2EU.js";
|
|
64
|
+
import "./chunk-KQAFEZQX.js";
|
|
66
65
|
import "./chunk-WEHSQBFR.js";
|
|
67
66
|
import "./chunk-X7Y7WX73.js";
|
|
67
|
+
import "./chunk-J4EB7DNW.js";
|
|
68
68
|
import "./chunk-BJMBJZ2Y.js";
|
|
69
69
|
import "./chunk-UKJAGEXH.js";
|
|
70
70
|
import "./chunk-FP2373TW.js";
|
package/dist/access-schema.js
CHANGED
|
@@ -25,11 +25,11 @@ import {
|
|
|
25
25
|
trustZoneDemoSeedRequestSchema,
|
|
26
26
|
trustZonePromoteRequestSchema,
|
|
27
27
|
validateRequest
|
|
28
|
-
} from "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-J4EB7DNW.js";
|
|
28
|
+
} from "./chunk-PPPZY2EU.js";
|
|
29
|
+
import "./chunk-KQAFEZQX.js";
|
|
31
30
|
import "./chunk-WEHSQBFR.js";
|
|
32
31
|
import "./chunk-X7Y7WX73.js";
|
|
32
|
+
import "./chunk-J4EB7DNW.js";
|
|
33
33
|
import "./chunk-BJMBJZ2Y.js";
|
|
34
34
|
import "./chunk-UKJAGEXH.js";
|
|
35
35
|
import "./chunk-FP2373TW.js";
|
package/dist/access-service.js
CHANGED
|
@@ -3,21 +3,21 @@ import {
|
|
|
3
3
|
EngramAccessInputError,
|
|
4
4
|
EngramAccessService,
|
|
5
5
|
shapeMemorySummary
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VFB2G5YL.js";
|
|
7
7
|
import "./chunk-ETUPBUHB.js";
|
|
8
8
|
import "./chunk-L227SKTB.js";
|
|
9
9
|
import "./chunk-DHGSZ3UD.js";
|
|
10
10
|
import "./chunk-BT7NVCML.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-3C5RPJAX.js";
|
|
11
|
+
import "./chunk-OXJBNGBK.js";
|
|
13
12
|
import "./chunk-SOBJ6NEY.js";
|
|
13
|
+
import "./chunk-H7XKCNR6.js";
|
|
14
|
+
import "./chunk-XT7XVA53.js";
|
|
14
15
|
import "./chunk-EDQVAMQI.js";
|
|
15
16
|
import "./chunk-472U7RDF.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-FXKPZ3H6.js";
|
|
17
18
|
import "./chunk-WSGF57U2.js";
|
|
18
19
|
import "./chunk-XKIQZXUB.js";
|
|
19
20
|
import "./chunk-UEY3VB6W.js";
|
|
20
|
-
import "./chunk-E5OECWZ5.js";
|
|
21
21
|
import "./chunk-EIR5VLIH.js";
|
|
22
22
|
import "./chunk-JKV57BTN.js";
|
|
23
23
|
import "./chunk-EI6V5UXY.js";
|
|
@@ -29,16 +29,16 @@ import "./chunk-CHCA44C3.js";
|
|
|
29
29
|
import "./chunk-4JRRISLU.js";
|
|
30
30
|
import "./chunk-2LSZVONP.js";
|
|
31
31
|
import "./chunk-DEUNUKTD.js";
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-MQEIWDYW.js";
|
|
33
|
+
import "./chunk-IRFF6LSF.js";
|
|
34
34
|
import "./chunk-5UZXUTVO.js";
|
|
35
35
|
import "./chunk-4H5ZJHEN.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-KGK2QKWL.js";
|
|
37
|
+
import "./chunk-RULE4VG5.js";
|
|
37
38
|
import "./chunk-SCU65EZI.js";
|
|
38
39
|
import "./chunk-KILOTVIF.js";
|
|
39
40
|
import "./chunk-3HPAPHUK.js";
|
|
40
41
|
import "./chunk-CPPS65WS.js";
|
|
41
|
-
import "./chunk-RULE4VG5.js";
|
|
42
42
|
import "./chunk-DM2T26WE.js";
|
|
43
43
|
import "./chunk-QSVPYQPG.js";
|
|
44
44
|
import "./chunk-FVQJYWH7.js";
|
|
@@ -60,10 +60,10 @@ import "./chunk-TVVEYCNW.js";
|
|
|
60
60
|
import "./chunk-RFYAYKTD.js";
|
|
61
61
|
import "./chunk-LBLXEFWK.js";
|
|
62
62
|
import "./chunk-VFUEZZBS.js";
|
|
63
|
-
import "./chunk-
|
|
64
|
-
import "./chunk-J4EB7DNW.js";
|
|
63
|
+
import "./chunk-KQAFEZQX.js";
|
|
65
64
|
import "./chunk-WEHSQBFR.js";
|
|
66
65
|
import "./chunk-X7Y7WX73.js";
|
|
66
|
+
import "./chunk-J4EB7DNW.js";
|
|
67
67
|
import "./chunk-BJMBJZ2Y.js";
|
|
68
68
|
import "./chunk-UKJAGEXH.js";
|
|
69
69
|
import "./chunk-FP2373TW.js";
|
package/dist/active-recall.js
CHANGED
package/dist/adapters/index.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import "../chunk-SEDEKFYQ.js";
|
|
2
2
|
import {
|
|
3
3
|
AdapterRegistry
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-AU7Q3LSC.js";
|
|
5
|
+
import {
|
|
6
|
+
HermesAdapter
|
|
7
|
+
} from "../chunk-42NQ7AVG.js";
|
|
5
8
|
import {
|
|
6
9
|
ReplitAdapter
|
|
7
10
|
} from "../chunk-TMSXWOBZ.js";
|
|
@@ -11,9 +14,6 @@ import {
|
|
|
11
14
|
import {
|
|
12
15
|
CodexAdapter
|
|
13
16
|
} from "../chunk-RSUYKGGZ.js";
|
|
14
|
-
import {
|
|
15
|
-
HermesAdapter
|
|
16
|
-
} from "../chunk-42NQ7AVG.js";
|
|
17
17
|
import "../chunk-7RXCMVFQ.js";
|
|
18
18
|
import "../chunk-PZ5AY32C.js";
|
|
19
19
|
export {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AdapterRegistry
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-AU7Q3LSC.js";
|
|
4
|
+
import "../chunk-42NQ7AVG.js";
|
|
4
5
|
import "../chunk-TMSXWOBZ.js";
|
|
5
6
|
import "../chunk-J64TK33U.js";
|
|
6
7
|
import "../chunk-RSUYKGGZ.js";
|
|
7
|
-
import "../chunk-42NQ7AVG.js";
|
|
8
8
|
import "../chunk-7RXCMVFQ.js";
|
|
9
9
|
import "../chunk-PZ5AY32C.js";
|
|
10
10
|
export {
|
package/dist/briefing.js
CHANGED
|
@@ -16,16 +16,16 @@ import {
|
|
|
16
16
|
renderBriefingMarkdown,
|
|
17
17
|
resolveBriefingSaveDir,
|
|
18
18
|
validateBriefingFormat
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-MQEIWDYW.js";
|
|
20
|
+
import "./chunk-IRFF6LSF.js";
|
|
21
21
|
import "./chunk-5UZXUTVO.js";
|
|
22
22
|
import "./chunk-4H5ZJHEN.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-KGK2QKWL.js";
|
|
24
|
+
import "./chunk-RULE4VG5.js";
|
|
24
25
|
import "./chunk-SCU65EZI.js";
|
|
25
26
|
import "./chunk-KILOTVIF.js";
|
|
26
27
|
import "./chunk-3HPAPHUK.js";
|
|
27
28
|
import "./chunk-CPPS65WS.js";
|
|
28
|
-
import "./chunk-RULE4VG5.js";
|
|
29
29
|
import "./chunk-DM2T26WE.js";
|
|
30
30
|
import "./chunk-QSVPYQPG.js";
|
|
31
31
|
import "./chunk-FVQJYWH7.js";
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
} from "./chunk-YQMZ7IH2.js";
|
|
5
5
|
import {
|
|
6
6
|
buildExtensionsBlockForConsolidation
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-XM7BYXT7.js";
|
|
8
8
|
import {
|
|
9
9
|
runPostConsolidationMaterialize
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-7X7TBJRX.js";
|
|
11
11
|
import "./chunk-JFEKNTX7.js";
|
|
12
12
|
import "./chunk-JLNBQWZ2.js";
|
|
13
13
|
import "./chunk-3UXOZBHV.js";
|
|
@@ -21,15 +21,15 @@ import "./chunk-L2EXJQJP.js";
|
|
|
21
21
|
import "./chunk-UZB5KHKX.js";
|
|
22
22
|
import "./chunk-RK6F44Y6.js";
|
|
23
23
|
import "./chunk-HQ6NIBL6.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-IRFF6LSF.js";
|
|
25
25
|
import "./chunk-5UZXUTVO.js";
|
|
26
26
|
import "./chunk-4H5ZJHEN.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-KGK2QKWL.js";
|
|
28
|
+
import "./chunk-RULE4VG5.js";
|
|
28
29
|
import "./chunk-SCU65EZI.js";
|
|
29
30
|
import "./chunk-KILOTVIF.js";
|
|
30
31
|
import "./chunk-3HPAPHUK.js";
|
|
31
32
|
import "./chunk-CPPS65WS.js";
|
|
32
|
-
import "./chunk-RULE4VG5.js";
|
|
33
33
|
import "./chunk-DM2T26WE.js";
|
|
34
34
|
import "./chunk-QSVPYQPG.js";
|
|
35
35
|
import "./chunk-FVQJYWH7.js";
|