@remnic/core 9.69.97 → 9.69.99
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-admin-ops-surface.js +10 -10
- package/dist/access-authorization-probe.js +11 -11
- package/dist/access-boundary.js +10 -10
- package/dist/access-cli.js +29 -29
- package/dist/access-extraction-force-flush.js +10 -10
- package/dist/access-http-briefing.js +11 -11
- package/dist/access-http-query.js +10 -10
- package/dist/access-http.js +23 -23
- package/dist/access-identity-continuity-surface.js +10 -10
- package/dist/access-lcm-surface.js +10 -10
- package/dist/access-mcp.js +17 -17
- package/dist/access-namespace-preflight.js +10 -10
- package/dist/access-observe-write-category.js +7 -7
- package/dist/access-observe-write-surface.js +10 -10
- package/dist/access-offline-manifest.js +6 -6
- package/dist/access-operations-batch.js +11 -11
- package/dist/access-operations.js +16 -16
- package/dist/access-recall-concurrency.js +10 -10
- package/dist/access-recall-response.js +10 -10
- package/dist/access-recall-surface.js +10 -10
- package/dist/access-schema.js +6 -6
- package/dist/access-service.js +10 -10
- package/dist/access-surface-catalog.js +12 -12
- package/dist/active-recall.js +6 -6
- package/dist/{chunk-ETUZFFPU.js → chunk-3E6DGSGZ.js} +1 -1
- package/dist/chunk-3E6DGSGZ.js.map +1 -0
- package/dist/{chunk-UG5V3Z3R.js → chunk-3MK4OYYH.js} +3 -3
- package/dist/{chunk-MSAI3Q7D.js → chunk-3QH4NT72.js} +2 -2
- package/dist/{chunk-CTEUPJMV.js → chunk-42YP6FMP.js} +7 -7
- package/dist/{chunk-C6HPNPNK.js → chunk-53X6CL3A.js} +4 -4
- package/dist/{chunk-U36GYZ2P.js → chunk-55NZVUNI.js} +2 -2
- package/dist/{chunk-OEBUAC3O.js → chunk-76GQBIVX.js} +2 -2
- package/dist/{chunk-4NSLQ7EU.js → chunk-ANPRNTPT.js} +3 -3
- package/dist/{chunk-4NSLQ7EU.js.map → chunk-ANPRNTPT.js.map} +1 -1
- package/dist/{chunk-5S7SNRSJ.js → chunk-BCQU44UV.js} +2 -2
- package/dist/{chunk-ZQTYWSO3.js → chunk-GLJNGCCM.js} +2 -2
- package/dist/{chunk-SMLKHXPF.js → chunk-HGG63H3A.js} +2 -2
- package/dist/{chunk-P62DSJUK.js → chunk-IAKC3KEJ.js} +4 -4
- package/dist/{chunk-3BTHXB7Z.js → chunk-JWG43U5K.js} +2 -2
- package/dist/{chunk-IVEHY2VT.js → chunk-KJKTDMAD.js} +5 -5
- package/dist/chunk-KJKTDMAD.js.map +1 -0
- package/dist/{chunk-AXGJMDBS.js → chunk-KO4X4WRJ.js} +2 -2
- package/dist/{chunk-HJ3CBZIG.js → chunk-N4JZ7J2I.js} +7 -7
- package/dist/{chunk-VOZNBQNL.js → chunk-NHFWYPXN.js} +2 -2
- package/dist/{chunk-GXETU7AE.js → chunk-NI5MWLM3.js} +7 -7
- package/dist/{chunk-MZAH3CBT.js → chunk-NWBYJ4VH.js} +2 -2
- package/dist/{chunk-6BG364RN.js → chunk-ORVH5S7R.js} +2 -2
- package/dist/{chunk-ANGZWYL2.js → chunk-PGJYLYPK.js} +3 -3
- package/dist/{chunk-A3K2KKSG.js → chunk-PYYQCHJC.js} +2 -2
- package/dist/{chunk-WHIGRW7T.js → chunk-RA3OID2N.js} +2 -2
- package/dist/{chunk-RMV2JYOT.js → chunk-SZIJJGA2.js} +11 -11
- package/dist/{chunk-PH2V7EXZ.js → chunk-TK7G5ABN.js} +2 -2
- package/dist/{chunk-KYOZ5E6V.js → chunk-UEU5IURP.js} +2 -2
- package/dist/{chunk-NSKXRTVZ.js → chunk-UGEFYQWU.js} +2 -2
- package/dist/{chunk-AF5PW35O.js → chunk-XK6GP7QO.js} +2 -2
- package/dist/{chunk-YHZWVDP7.js → chunk-YB5GVH36.js} +2 -2
- package/dist/cli.js +27 -27
- package/dist/config.js +6 -6
- package/dist/deep-recall-http-glue.js +7 -7
- package/dist/external-wiki-access.js +11 -11
- package/dist/index.js +29 -29
- package/dist/memory-browse-operations.js +11 -11
- package/dist/offline-sync-changeset-generations.js +3 -3
- package/dist/offline-sync-embedding-generation.js +2 -2
- package/dist/offline-sync-exclude-globs.d.ts +1 -0
- package/dist/offline-sync-exclude-globs.d.ts.map +1 -1
- package/dist/offline-sync-exclude-globs.js +1 -1
- package/dist/offline-sync-snapshot-stream.js +6 -6
- package/dist/offline-sync-upload-staging.d.ts +2 -2
- package/dist/offline-sync-upload-staging.d.ts.map +1 -1
- package/dist/offline-sync-upload-staging.js +1 -1
- package/dist/offline-sync.d.ts.map +1 -1
- package/dist/offline-sync.js +5 -5
- package/dist/operator-toolkit.js +7 -7
- package/dist/orchestrator.js +29 -29
- package/dist/recall-navigation-operations.js +11 -11
- package/dist/recall-navigation.js +10 -10
- package/dist/resume-bundles.js +7 -7
- package/dist/support-passport/index.js +13 -13
- package/package.json +2 -2
- package/src/offline-sync-exclude-globs.ts +3 -2
- package/src/offline-sync-upload-staging.test.ts +324 -0
- package/src/offline-sync-upload-staging.ts +2 -1
- package/src/offline-sync.test.ts +12 -0
- package/src/offline-sync.ts +1 -6
- package/dist/chunk-ETUZFFPU.js.map +0 -1
- package/dist/chunk-IVEHY2VT.js.map +0 -1
- /package/dist/{chunk-UG5V3Z3R.js.map → chunk-3MK4OYYH.js.map} +0 -0
- /package/dist/{chunk-MSAI3Q7D.js.map → chunk-3QH4NT72.js.map} +0 -0
- /package/dist/{chunk-CTEUPJMV.js.map → chunk-42YP6FMP.js.map} +0 -0
- /package/dist/{chunk-C6HPNPNK.js.map → chunk-53X6CL3A.js.map} +0 -0
- /package/dist/{chunk-U36GYZ2P.js.map → chunk-55NZVUNI.js.map} +0 -0
- /package/dist/{chunk-OEBUAC3O.js.map → chunk-76GQBIVX.js.map} +0 -0
- /package/dist/{chunk-5S7SNRSJ.js.map → chunk-BCQU44UV.js.map} +0 -0
- /package/dist/{chunk-ZQTYWSO3.js.map → chunk-GLJNGCCM.js.map} +0 -0
- /package/dist/{chunk-SMLKHXPF.js.map → chunk-HGG63H3A.js.map} +0 -0
- /package/dist/{chunk-P62DSJUK.js.map → chunk-IAKC3KEJ.js.map} +0 -0
- /package/dist/{chunk-3BTHXB7Z.js.map → chunk-JWG43U5K.js.map} +0 -0
- /package/dist/{chunk-AXGJMDBS.js.map → chunk-KO4X4WRJ.js.map} +0 -0
- /package/dist/{chunk-HJ3CBZIG.js.map → chunk-N4JZ7J2I.js.map} +0 -0
- /package/dist/{chunk-VOZNBQNL.js.map → chunk-NHFWYPXN.js.map} +0 -0
- /package/dist/{chunk-GXETU7AE.js.map → chunk-NI5MWLM3.js.map} +0 -0
- /package/dist/{chunk-MZAH3CBT.js.map → chunk-NWBYJ4VH.js.map} +0 -0
- /package/dist/{chunk-6BG364RN.js.map → chunk-ORVH5S7R.js.map} +0 -0
- /package/dist/{chunk-ANGZWYL2.js.map → chunk-PGJYLYPK.js.map} +0 -0
- /package/dist/{chunk-A3K2KKSG.js.map → chunk-PYYQCHJC.js.map} +0 -0
- /package/dist/{chunk-WHIGRW7T.js.map → chunk-RA3OID2N.js.map} +0 -0
- /package/dist/{chunk-RMV2JYOT.js.map → chunk-SZIJJGA2.js.map} +0 -0
- /package/dist/{chunk-PH2V7EXZ.js.map → chunk-TK7G5ABN.js.map} +0 -0
- /package/dist/{chunk-KYOZ5E6V.js.map → chunk-UEU5IURP.js.map} +0 -0
- /package/dist/{chunk-NSKXRTVZ.js.map → chunk-UGEFYQWU.js.map} +0 -0
- /package/dist/{chunk-AF5PW35O.js.map → chunk-XK6GP7QO.js.map} +0 -0
- /package/dist/{chunk-YHZWVDP7.js.map → chunk-YB5GVH36.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
assembleRecallResponse
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NI5MWLM3.js";
|
|
4
4
|
import "./chunk-W4F3C7N7.js";
|
|
5
5
|
import "./chunk-MPC7TYTZ.js";
|
|
6
6
|
import "./chunk-ZHXSOMYH.js";
|
|
@@ -32,7 +32,7 @@ import "./chunk-32HO62I4.js";
|
|
|
32
32
|
import "./chunk-SOBJ6NEY.js";
|
|
33
33
|
import "./chunk-QPWUG2S3.js";
|
|
34
34
|
import "./chunk-R36IBI2M.js";
|
|
35
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-53X6CL3A.js";
|
|
36
36
|
import "./chunk-E6UNM67F.js";
|
|
37
37
|
import "./chunk-6WHJ2EAB.js";
|
|
38
38
|
import "./chunk-AQEJKOKI.js";
|
|
@@ -171,13 +171,13 @@ import "./chunk-Z7L72ZHL.js";
|
|
|
171
171
|
import "./chunk-4O4TKIXQ.js";
|
|
172
172
|
import "./chunk-RMMA44HE.js";
|
|
173
173
|
import "./chunk-SYOIVK7K.js";
|
|
174
|
-
import "./chunk-
|
|
174
|
+
import "./chunk-TK7G5ABN.js";
|
|
175
175
|
import "./chunk-MY7B3HYC.js";
|
|
176
176
|
import "./chunk-353C5UNV.js";
|
|
177
177
|
import "./chunk-5AYUHSAU.js";
|
|
178
178
|
import "./chunk-BT7NVCML.js";
|
|
179
179
|
import "./chunk-PO7NXNGC.js";
|
|
180
|
-
import "./chunk-
|
|
180
|
+
import "./chunk-JWG43U5K.js";
|
|
181
181
|
import "./chunk-KQAFEZQX.js";
|
|
182
182
|
import "./chunk-WEHSQBFR.js";
|
|
183
183
|
import "./chunk-X7Y7WX73.js";
|
|
@@ -188,7 +188,7 @@ import "./chunk-SOAU2OE2.js";
|
|
|
188
188
|
import "./chunk-BJMBJZ2Y.js";
|
|
189
189
|
import "./chunk-UKJAGEXH.js";
|
|
190
190
|
import "./chunk-FP2373TW.js";
|
|
191
|
-
import "./chunk-
|
|
191
|
+
import "./chunk-XK6GP7QO.js";
|
|
192
192
|
import "./chunk-N7QV3CMX.js";
|
|
193
193
|
import "./chunk-PAAJWQH5.js";
|
|
194
194
|
import "./chunk-2JRB3Z5N.js";
|
|
@@ -206,13 +206,13 @@ import "./chunk-C7HJ3NEI.js";
|
|
|
206
206
|
import "./chunk-N4PYB235.js";
|
|
207
207
|
import "./chunk-AW4QUFQF.js";
|
|
208
208
|
import "./chunk-5FVVY2EB.js";
|
|
209
|
-
import "./chunk-
|
|
209
|
+
import "./chunk-KJKTDMAD.js";
|
|
210
210
|
import "./chunk-UI3NYK34.js";
|
|
211
|
-
import "./chunk-
|
|
212
|
-
import "./chunk-
|
|
213
|
-
import "./chunk-
|
|
211
|
+
import "./chunk-3E6DGSGZ.js";
|
|
212
|
+
import "./chunk-3QH4NT72.js";
|
|
213
|
+
import "./chunk-KO4X4WRJ.js";
|
|
214
214
|
import "./chunk-TYT4TEQV.js";
|
|
215
|
-
import "./chunk-
|
|
215
|
+
import "./chunk-ANPRNTPT.js";
|
|
216
216
|
import "./chunk-EFHNFTWB.js";
|
|
217
217
|
import "./chunk-GCGJW34D.js";
|
|
218
218
|
import "./chunk-75PT4N7Q.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AccessRecallSurface
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NI5MWLM3.js";
|
|
4
4
|
import "./chunk-W4F3C7N7.js";
|
|
5
5
|
import "./chunk-MPC7TYTZ.js";
|
|
6
6
|
import "./chunk-ZHXSOMYH.js";
|
|
@@ -32,7 +32,7 @@ import "./chunk-32HO62I4.js";
|
|
|
32
32
|
import "./chunk-SOBJ6NEY.js";
|
|
33
33
|
import "./chunk-QPWUG2S3.js";
|
|
34
34
|
import "./chunk-R36IBI2M.js";
|
|
35
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-53X6CL3A.js";
|
|
36
36
|
import "./chunk-E6UNM67F.js";
|
|
37
37
|
import "./chunk-6WHJ2EAB.js";
|
|
38
38
|
import "./chunk-AQEJKOKI.js";
|
|
@@ -171,13 +171,13 @@ import "./chunk-Z7L72ZHL.js";
|
|
|
171
171
|
import "./chunk-4O4TKIXQ.js";
|
|
172
172
|
import "./chunk-RMMA44HE.js";
|
|
173
173
|
import "./chunk-SYOIVK7K.js";
|
|
174
|
-
import "./chunk-
|
|
174
|
+
import "./chunk-TK7G5ABN.js";
|
|
175
175
|
import "./chunk-MY7B3HYC.js";
|
|
176
176
|
import "./chunk-353C5UNV.js";
|
|
177
177
|
import "./chunk-5AYUHSAU.js";
|
|
178
178
|
import "./chunk-BT7NVCML.js";
|
|
179
179
|
import "./chunk-PO7NXNGC.js";
|
|
180
|
-
import "./chunk-
|
|
180
|
+
import "./chunk-JWG43U5K.js";
|
|
181
181
|
import "./chunk-KQAFEZQX.js";
|
|
182
182
|
import "./chunk-WEHSQBFR.js";
|
|
183
183
|
import "./chunk-X7Y7WX73.js";
|
|
@@ -188,7 +188,7 @@ import "./chunk-SOAU2OE2.js";
|
|
|
188
188
|
import "./chunk-BJMBJZ2Y.js";
|
|
189
189
|
import "./chunk-UKJAGEXH.js";
|
|
190
190
|
import "./chunk-FP2373TW.js";
|
|
191
|
-
import "./chunk-
|
|
191
|
+
import "./chunk-XK6GP7QO.js";
|
|
192
192
|
import "./chunk-N7QV3CMX.js";
|
|
193
193
|
import "./chunk-PAAJWQH5.js";
|
|
194
194
|
import "./chunk-2JRB3Z5N.js";
|
|
@@ -206,13 +206,13 @@ import "./chunk-C7HJ3NEI.js";
|
|
|
206
206
|
import "./chunk-N4PYB235.js";
|
|
207
207
|
import "./chunk-AW4QUFQF.js";
|
|
208
208
|
import "./chunk-5FVVY2EB.js";
|
|
209
|
-
import "./chunk-
|
|
209
|
+
import "./chunk-KJKTDMAD.js";
|
|
210
210
|
import "./chunk-UI3NYK34.js";
|
|
211
|
-
import "./chunk-
|
|
212
|
-
import "./chunk-
|
|
213
|
-
import "./chunk-
|
|
211
|
+
import "./chunk-3E6DGSGZ.js";
|
|
212
|
+
import "./chunk-3QH4NT72.js";
|
|
213
|
+
import "./chunk-KO4X4WRJ.js";
|
|
214
214
|
import "./chunk-TYT4TEQV.js";
|
|
215
|
-
import "./chunk-
|
|
215
|
+
import "./chunk-ANPRNTPT.js";
|
|
216
216
|
import "./chunk-EFHNFTWB.js";
|
|
217
217
|
import "./chunk-GCGJW34D.js";
|
|
218
218
|
import "./chunk-75PT4N7Q.js";
|
package/dist/access-schema.js
CHANGED
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
trustZoneDemoSeedRequestSchema,
|
|
33
33
|
trustZonePromoteRequestSchema,
|
|
34
34
|
validateRequest
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-JWG43U5K.js";
|
|
36
36
|
import "./chunk-KQAFEZQX.js";
|
|
37
37
|
import "./chunk-WEHSQBFR.js";
|
|
38
38
|
import "./chunk-X7Y7WX73.js";
|
|
@@ -43,13 +43,13 @@ import "./chunk-SOAU2OE2.js";
|
|
|
43
43
|
import "./chunk-BJMBJZ2Y.js";
|
|
44
44
|
import "./chunk-UKJAGEXH.js";
|
|
45
45
|
import "./chunk-FP2373TW.js";
|
|
46
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-KJKTDMAD.js";
|
|
47
47
|
import "./chunk-UI3NYK34.js";
|
|
48
|
-
import "./chunk-
|
|
49
|
-
import "./chunk-
|
|
50
|
-
import "./chunk-
|
|
48
|
+
import "./chunk-3E6DGSGZ.js";
|
|
49
|
+
import "./chunk-3QH4NT72.js";
|
|
50
|
+
import "./chunk-KO4X4WRJ.js";
|
|
51
51
|
import "./chunk-TYT4TEQV.js";
|
|
52
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-ANPRNTPT.js";
|
|
53
53
|
import "./chunk-EFHNFTWB.js";
|
|
54
54
|
import "./chunk-GCGJW34D.js";
|
|
55
55
|
import "./chunk-75PT4N7Q.js";
|
package/dist/access-service.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
buildProjectedGovernanceProposedActions,
|
|
5
5
|
hasGroupedGovernanceActions,
|
|
6
6
|
shapeMemorySummary
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-NI5MWLM3.js";
|
|
8
8
|
import "./chunk-W4F3C7N7.js";
|
|
9
9
|
import "./chunk-MPC7TYTZ.js";
|
|
10
10
|
import "./chunk-ZHXSOMYH.js";
|
|
@@ -36,7 +36,7 @@ import "./chunk-32HO62I4.js";
|
|
|
36
36
|
import "./chunk-SOBJ6NEY.js";
|
|
37
37
|
import "./chunk-QPWUG2S3.js";
|
|
38
38
|
import "./chunk-R36IBI2M.js";
|
|
39
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-53X6CL3A.js";
|
|
40
40
|
import "./chunk-E6UNM67F.js";
|
|
41
41
|
import "./chunk-6WHJ2EAB.js";
|
|
42
42
|
import "./chunk-AQEJKOKI.js";
|
|
@@ -175,13 +175,13 @@ import "./chunk-Z7L72ZHL.js";
|
|
|
175
175
|
import "./chunk-4O4TKIXQ.js";
|
|
176
176
|
import "./chunk-RMMA44HE.js";
|
|
177
177
|
import "./chunk-SYOIVK7K.js";
|
|
178
|
-
import "./chunk-
|
|
178
|
+
import "./chunk-TK7G5ABN.js";
|
|
179
179
|
import "./chunk-MY7B3HYC.js";
|
|
180
180
|
import "./chunk-353C5UNV.js";
|
|
181
181
|
import "./chunk-5AYUHSAU.js";
|
|
182
182
|
import "./chunk-BT7NVCML.js";
|
|
183
183
|
import "./chunk-PO7NXNGC.js";
|
|
184
|
-
import "./chunk-
|
|
184
|
+
import "./chunk-JWG43U5K.js";
|
|
185
185
|
import "./chunk-KQAFEZQX.js";
|
|
186
186
|
import "./chunk-WEHSQBFR.js";
|
|
187
187
|
import "./chunk-X7Y7WX73.js";
|
|
@@ -192,7 +192,7 @@ import "./chunk-SOAU2OE2.js";
|
|
|
192
192
|
import "./chunk-BJMBJZ2Y.js";
|
|
193
193
|
import "./chunk-UKJAGEXH.js";
|
|
194
194
|
import "./chunk-FP2373TW.js";
|
|
195
|
-
import "./chunk-
|
|
195
|
+
import "./chunk-XK6GP7QO.js";
|
|
196
196
|
import "./chunk-N7QV3CMX.js";
|
|
197
197
|
import "./chunk-PAAJWQH5.js";
|
|
198
198
|
import "./chunk-2JRB3Z5N.js";
|
|
@@ -210,13 +210,13 @@ import "./chunk-C7HJ3NEI.js";
|
|
|
210
210
|
import "./chunk-N4PYB235.js";
|
|
211
211
|
import "./chunk-AW4QUFQF.js";
|
|
212
212
|
import "./chunk-5FVVY2EB.js";
|
|
213
|
-
import "./chunk-
|
|
213
|
+
import "./chunk-KJKTDMAD.js";
|
|
214
214
|
import "./chunk-UI3NYK34.js";
|
|
215
|
-
import "./chunk-
|
|
216
|
-
import "./chunk-
|
|
217
|
-
import "./chunk-
|
|
215
|
+
import "./chunk-3E6DGSGZ.js";
|
|
216
|
+
import "./chunk-3QH4NT72.js";
|
|
217
|
+
import "./chunk-KO4X4WRJ.js";
|
|
218
218
|
import "./chunk-TYT4TEQV.js";
|
|
219
|
-
import "./chunk-
|
|
219
|
+
import "./chunk-ANPRNTPT.js";
|
|
220
220
|
import "./chunk-EFHNFTWB.js";
|
|
221
221
|
import "./chunk-GCGJW34D.js";
|
|
222
222
|
import "./chunk-75PT4N7Q.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SUPPORT_PASSPORT_OWNER_HTTP_ROUTES
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GLJNGCCM.js";
|
|
4
4
|
import {
|
|
5
5
|
SUPPORT_PASSPORT_PUBLIC_HTTP_ROUTES
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-NHFWYPXN.js";
|
|
7
|
+
import "./chunk-NI5MWLM3.js";
|
|
8
8
|
import "./chunk-W4F3C7N7.js";
|
|
9
9
|
import "./chunk-MPC7TYTZ.js";
|
|
10
10
|
import "./chunk-ZHXSOMYH.js";
|
|
@@ -36,7 +36,7 @@ import "./chunk-32HO62I4.js";
|
|
|
36
36
|
import "./chunk-SOBJ6NEY.js";
|
|
37
37
|
import "./chunk-QPWUG2S3.js";
|
|
38
38
|
import "./chunk-R36IBI2M.js";
|
|
39
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-53X6CL3A.js";
|
|
40
40
|
import "./chunk-E6UNM67F.js";
|
|
41
41
|
import "./chunk-6WHJ2EAB.js";
|
|
42
42
|
import "./chunk-AQEJKOKI.js";
|
|
@@ -175,13 +175,13 @@ import "./chunk-Z7L72ZHL.js";
|
|
|
175
175
|
import "./chunk-4O4TKIXQ.js";
|
|
176
176
|
import "./chunk-RMMA44HE.js";
|
|
177
177
|
import "./chunk-SYOIVK7K.js";
|
|
178
|
-
import "./chunk-
|
|
178
|
+
import "./chunk-TK7G5ABN.js";
|
|
179
179
|
import "./chunk-MY7B3HYC.js";
|
|
180
180
|
import "./chunk-353C5UNV.js";
|
|
181
181
|
import "./chunk-5AYUHSAU.js";
|
|
182
182
|
import "./chunk-BT7NVCML.js";
|
|
183
183
|
import "./chunk-PO7NXNGC.js";
|
|
184
|
-
import "./chunk-
|
|
184
|
+
import "./chunk-JWG43U5K.js";
|
|
185
185
|
import "./chunk-KQAFEZQX.js";
|
|
186
186
|
import "./chunk-WEHSQBFR.js";
|
|
187
187
|
import "./chunk-X7Y7WX73.js";
|
|
@@ -192,7 +192,7 @@ import "./chunk-SOAU2OE2.js";
|
|
|
192
192
|
import "./chunk-BJMBJZ2Y.js";
|
|
193
193
|
import "./chunk-UKJAGEXH.js";
|
|
194
194
|
import "./chunk-FP2373TW.js";
|
|
195
|
-
import "./chunk-
|
|
195
|
+
import "./chunk-XK6GP7QO.js";
|
|
196
196
|
import "./chunk-N7QV3CMX.js";
|
|
197
197
|
import "./chunk-PAAJWQH5.js";
|
|
198
198
|
import "./chunk-2JRB3Z5N.js";
|
|
@@ -210,13 +210,13 @@ import "./chunk-C7HJ3NEI.js";
|
|
|
210
210
|
import "./chunk-N4PYB235.js";
|
|
211
211
|
import "./chunk-AW4QUFQF.js";
|
|
212
212
|
import "./chunk-5FVVY2EB.js";
|
|
213
|
-
import "./chunk-
|
|
213
|
+
import "./chunk-KJKTDMAD.js";
|
|
214
214
|
import "./chunk-UI3NYK34.js";
|
|
215
|
-
import "./chunk-
|
|
216
|
-
import "./chunk-
|
|
217
|
-
import "./chunk-
|
|
215
|
+
import "./chunk-3E6DGSGZ.js";
|
|
216
|
+
import "./chunk-3QH4NT72.js";
|
|
217
|
+
import "./chunk-KO4X4WRJ.js";
|
|
218
218
|
import "./chunk-TYT4TEQV.js";
|
|
219
|
-
import "./chunk-
|
|
219
|
+
import "./chunk-ANPRNTPT.js";
|
|
220
220
|
import "./chunk-EFHNFTWB.js";
|
|
221
221
|
import "./chunk-GCGJW34D.js";
|
|
222
222
|
import "./chunk-75PT4N7Q.js";
|
package/dist/active-recall.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEFAULT_REASONING_MODEL
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-55NZVUNI.js";
|
|
4
4
|
import "./chunk-ZKOPY4WW.js";
|
|
5
5
|
import "./chunk-62OKGIJA.js";
|
|
6
6
|
import "./chunk-EUL3S3LE.js";
|
|
@@ -126,13 +126,13 @@ import "./chunk-C7HJ3NEI.js";
|
|
|
126
126
|
import "./chunk-N4PYB235.js";
|
|
127
127
|
import "./chunk-AW4QUFQF.js";
|
|
128
128
|
import "./chunk-5FVVY2EB.js";
|
|
129
|
-
import "./chunk-
|
|
129
|
+
import "./chunk-KJKTDMAD.js";
|
|
130
130
|
import "./chunk-UI3NYK34.js";
|
|
131
|
-
import "./chunk-
|
|
132
|
-
import "./chunk-
|
|
133
|
-
import "./chunk-
|
|
131
|
+
import "./chunk-3E6DGSGZ.js";
|
|
132
|
+
import "./chunk-3QH4NT72.js";
|
|
133
|
+
import "./chunk-KO4X4WRJ.js";
|
|
134
134
|
import "./chunk-TYT4TEQV.js";
|
|
135
|
-
import "./chunk-
|
|
135
|
+
import "./chunk-ANPRNTPT.js";
|
|
136
136
|
import "./chunk-EFHNFTWB.js";
|
|
137
137
|
import "./chunk-GCGJW34D.js";
|
|
138
138
|
import "./chunk-75PT4N7Q.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/offline-sync-upload-staging.ts"],"sourcesContent":["// Offline-sync upload staging: chunked upload spool under\n// `.offline-sync/uploads/` (issue #2033). Extracted from offline-sync.ts so\n// the god-file line-count ratchet does not grow; behavior is unchanged.\nimport { createHash, randomUUID } from \"node:crypto\";\nimport { lstat, mkdir, open, readFile, readdir, rename, rm, stat, unlink, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { SYNC_INTERNAL_DIR, setSafeFileMtime } from \"./offline-sync-file-io.js\";\nimport type { OfflineSyncFileTarget } from \"./offline-sync-file-io.js\";\nimport type {\n OfflineSyncFileStagingWriteTarget,\n OfflineSyncFileWriteChunksTarget,\n OfflineSyncFileWriteTarget,\n} from \"./offline-sync.js\";\nimport { type SafeArchiveRoot, resolveSafeArchiveTarget } from \"./transfer/fs-utils.js\";\n\nconst OFFLINE_SYNC_UPLOAD_STAGING_MAX_AGE_MS = 24 * 60 * 60 * 1000;\n\nexport function hashText(value: string): string {\n return createHash(\"sha256\").update(value).digest(\"hex\");\n}\n\n/** A staged upload spool returned by writeOfflineUploadChunk; consumed by digest/cleanup/finalize. */\nexport interface OfflineUploadStaging {\n kind: \"single\" | \"chunks\";\n relPath: string;\n filePath: string;\n}\n\nfunction offlineUploadRelPath(options: {\n sourceId: string;\n relPath: string;\n sha256: string;\n bytes: number;\n}): string {\n const key = hashText([options.sourceId, options.relPath, options.sha256, String(options.bytes)].join(\"\\0\"));\n return `${SYNC_INTERNAL_DIR}/uploads/${key}.part`;\n}\n\nasync function offlineUploadPath(\n root: SafeArchiveRoot,\n options: {\n sourceId: string;\n relPath: string;\n sha256: string;\n bytes: number;\n }\n): Promise<OfflineUploadStaging> {\n const relPath = offlineUploadRelPath(options);\n return {\n kind: \"single\",\n relPath,\n filePath: await resolveSafeArchiveTarget(root, relPath),\n };\n}\n\nasync function offlineUploadChunkPath(\n root: SafeArchiveRoot,\n options: {\n sourceId: string;\n relPath: string;\n sha256: string;\n bytes: number;\n offset: number;\n }\n): Promise<OfflineUploadStaging> {\n const uploadRelPath = offlineUploadRelPath(options);\n const relPath = `${uploadRelPath}/${String(options.offset).padStart(20, \"0\")}.part`;\n return {\n kind: \"chunks\",\n relPath,\n filePath: await resolveSafeArchiveTarget(root, relPath),\n };\n}\n\nexport async function writeOfflineUploadChunk(options: {\n root: SafeArchiveRoot;\n sourceId: string;\n relPath: string;\n sha256: string;\n bytes: number;\n offset: number;\n content: Buffer;\n readFile?: (target: OfflineSyncFileTarget) => Promise<Buffer>;\n writeFile?: (target: OfflineSyncFileWriteTarget) => Promise<void>;\n writeStagingFile?: (target: OfflineSyncFileStagingWriteTarget) => Promise<void>;\n}): Promise<OfflineUploadStaging> {\n if ((options.writeFile || options.writeStagingFile) && !options.readFile) {\n throw new Error(\"offline sync upload chunk storage hooks require readFile\");\n }\n const uploadRoot = {\n ...(await offlineUploadPath(options.root, options)),\n kind: \"chunks\" as const,\n };\n if (options.offset === 0) {\n await rm(uploadRoot.filePath, { recursive: true, force: true }).catch(() => {});\n } else {\n const existing = await stat(uploadRoot.filePath).catch((error: unknown) => {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") return null;\n throw error;\n });\n if (!existing || !existing.isDirectory()) {\n throw new Error(`offline sync upload is missing initial chunk for ${options.relPath}`);\n }\n }\n const chunk = await offlineUploadChunkPath(options.root, { ...options, offset: options.offset });\n\n const writeStagingFile = options.writeStagingFile ?? options.writeFile;\n if (writeStagingFile) {\n // Storage-backed services provide these hooks so secure-store deployments\n // keep staged partial uploads encrypted at rest without mutating indexes.\n await writeOfflineUploadContent({\n root: options.root,\n relPath: chunk.relPath,\n filePath: chunk.filePath,\n content: options.content,\n writeFile: writeStagingFile,\n });\n return uploadRoot;\n }\n\n await mkdir(path.dirname(chunk.filePath), { recursive: true });\n const existingChunk = await lstat(chunk.filePath).catch((error: unknown) => {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") return null;\n throw error;\n });\n if (existingChunk?.isSymbolicLink()) {\n throw new Error(`offline sync upload chunk is a symlink: ${chunk.relPath}`);\n }\n await writeFile(chunk.filePath, options.content, { mode: 0o600 });\n return uploadRoot;\n}\n\nexport async function pruneOfflineUploadStaging(root: SafeArchiveRoot): Promise<void> {\n const uploadsRelPath = `${SYNC_INTERNAL_DIR}/uploads`;\n const uploadsPath = await resolveSafeArchiveTarget(root, uploadsRelPath);\n const entries = await readdir(uploadsPath, { withFileTypes: true }).catch((error: unknown) => {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") return [];\n throw error;\n });\n const now = Date.now();\n await Promise.all(\n entries.map(async (entry) => {\n if (!/^[a-f0-9]{64}\\.part$/i.test(entry.name)) return;\n const relPath = `${uploadsRelPath}/${entry.name}`;\n const filePath = await resolveSafeArchiveTarget(root, relPath);\n const info = await lstat(filePath).catch((error: unknown) => {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") return null;\n throw error;\n });\n if (!info) return;\n if (now - info.mtimeMs <= OFFLINE_SYNC_UPLOAD_STAGING_MAX_AGE_MS) return;\n await rm(filePath, { recursive: true, force: true });\n })\n );\n}\n\nasync function* readOfflineUploadStagingChunks(options: {\n root: SafeArchiveRoot;\n upload: OfflineUploadStaging;\n readFile?: (target: OfflineSyncFileTarget) => Promise<Buffer>;\n}): AsyncGenerator<Buffer> {\n if (options.upload.kind === \"single\") {\n yield await readOfflineUploadContent({\n root: options.root,\n relPath: options.upload.relPath,\n filePath: options.upload.filePath,\n readFile: options.readFile,\n });\n return;\n }\n\n const entries = await readdir(options.upload.filePath);\n const chunkNames = entries.filter((entry) => /^\\d{20}\\.part$/.test(entry)).sort();\n if (chunkNames.length === 0) {\n throw new Error(`offline sync upload is missing chunks for ${options.upload.relPath}`);\n }\n let expectedOffset = 0;\n for (const chunkName of chunkNames) {\n const offset = Number(chunkName.slice(0, 20));\n if (!Number.isSafeInteger(offset) || offset !== expectedOffset) {\n throw new Error(\n `offline sync upload offset mismatch for ${options.upload.relPath}: expected ${expectedOffset}, got ${offset}`\n );\n }\n const relPath = `${options.upload.relPath}/${chunkName}`;\n const filePath = await resolveSafeArchiveTarget(options.root, relPath);\n const content = await readOfflineUploadContent({\n root: options.root,\n relPath,\n filePath,\n readFile: options.readFile,\n });\n expectedOffset += content.length;\n yield content;\n }\n}\n\nexport async function digestOfflineUploadStagingContent(options: {\n root: SafeArchiveRoot;\n upload: OfflineUploadStaging;\n readFile?: (target: OfflineSyncFileTarget) => Promise<Buffer>;\n}): Promise<{ sha256: string; bytes: number }> {\n const hash = createHash(\"sha256\");\n let bytes = 0;\n for await (const chunk of readOfflineUploadStagingChunks(options)) {\n hash.update(chunk);\n bytes += chunk.length;\n }\n return { sha256: hash.digest(\"hex\"), bytes };\n}\n\nexport async function writeSafeFileFromUpload(\n root: SafeArchiveRoot,\n relPath: string,\n upload: OfflineUploadStaging,\n readFile?: (target: OfflineSyncFileTarget) => Promise<Buffer>,\n writeFileChunks?: (target: OfflineSyncFileWriteChunksTarget) => Promise<void>,\n mtimeMs?: number\n): Promise<void> {\n const target = await resolveSafeArchiveTarget(root, relPath);\n const chunks = readOfflineUploadStagingChunks({ root, upload, readFile });\n if (writeFileChunks) {\n await writeFileChunks({ root: root.abs, path: relPath, filePath: target, chunks });\n await setSafeFileMtime(root, relPath, mtimeMs);\n return;\n }\n\n await mkdir(path.dirname(target), { recursive: true });\n const tmp = path.join(path.dirname(target), `.remnic-sync.${process.pid}.${randomUUID()}.tmp`);\n const handle = await open(tmp, \"w\", 0o600);\n try {\n for await (const chunk of chunks) {\n if (chunk.length > 0) await handle.write(chunk);\n }\n await handle.close();\n const targetStat = await lstat(target).catch((error: unknown) => {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") return null;\n throw error;\n });\n if (targetStat?.isSymbolicLink()) {\n throw new Error(`offline sync target is a symlink: ${relPath}`);\n }\n await rename(tmp, target);\n await setSafeFileMtime(root, relPath, mtimeMs);\n } catch (error) {\n await handle.close().catch(() => {});\n await unlink(tmp).catch(() => {});\n throw error;\n }\n}\n\nexport async function cleanupOfflineUpload(upload: OfflineUploadStaging): Promise<void> {\n if (upload.kind === \"chunks\") {\n await rm(upload.filePath, { recursive: true, force: true });\n return;\n }\n await unlink(upload.filePath).catch((error: unknown) => {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") return;\n throw error;\n });\n}\n\nasync function readOfflineUploadContent(options: {\n root: SafeArchiveRoot;\n relPath: string;\n filePath: string;\n readFile?: (target: OfflineSyncFileTarget) => Promise<Buffer>;\n}): Promise<Buffer> {\n if (options.readFile) {\n return options.readFile({\n root: options.root.abs,\n path: options.relPath,\n filePath: options.filePath,\n });\n }\n return readFile(options.filePath);\n}\n\nasync function writeOfflineUploadContent(options: {\n root: SafeArchiveRoot;\n relPath: string;\n filePath: string;\n content: Buffer;\n writeFile: (target: OfflineSyncFileWriteTarget) => Promise<void>;\n}): Promise<void> {\n await options.writeFile({\n root: options.root.abs,\n path: options.relPath,\n filePath: options.filePath,\n content: options.content,\n });\n}\n"],"mappings":"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","names":["readFile"]}
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
defineOperation,
|
|
22
22
|
parseNamespacePreflightWriteOp,
|
|
23
23
|
resolveAuthorizedNamespaceWritablePreflight
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-NI5MWLM3.js";
|
|
25
25
|
import {
|
|
26
26
|
parseSharedWriteOutputControls
|
|
27
27
|
} from "./chunk-IFBSZGW3.js";
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
recallRequestSchema,
|
|
37
37
|
retainedCategoryAlias,
|
|
38
38
|
suggestionSubmitRequestSchema
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-JWG43U5K.js";
|
|
40
40
|
import {
|
|
41
41
|
enforceNamespaceAllowList,
|
|
42
42
|
tokenCapabilityStore
|
|
@@ -603,4 +603,4 @@ defineOperation({ name: "graph_events", description: "SSE graph events.", schema
|
|
|
603
603
|
defineOperation({ name: "chat_message", description: "Chat message.", schema: strictSchema({ message: S.str, chatSessionId: S.str }), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
|
|
604
604
|
defineOperation({ name: "chat_events", description: "SSE chat events.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { stream: "sse" } }) });
|
|
605
605
|
defineOperation({ name: "adapters_status", description: "Adapter registry metadata (issue #1850 round 5). Marker op: the HTTP transport builds the response from its own adapterRegistry, but the op still must be registered so it appears in listRegisteredOperations and enforceTokenOp can gate it for scoped tokens.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
|
|
606
|
-
//# sourceMappingURL=chunk-
|
|
606
|
+
//# sourceMappingURL=chunk-3MK4OYYH.js.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
embeddingGenerationMembership,
|
|
6
6
|
embeddingShardDirOf,
|
|
7
7
|
isEmbeddingGenerationDirPath
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-KO4X4WRJ.js";
|
|
9
9
|
import {
|
|
10
10
|
EMBEDDING_SHARD_FILE_PATTERN
|
|
11
11
|
} from "./chunk-TYT4TEQV.js";
|
|
@@ -369,4 +369,4 @@ export {
|
|
|
369
369
|
applyChangesetEmbeddingGenerations,
|
|
370
370
|
buildChangesetGenerationManifest
|
|
371
371
|
};
|
|
372
|
-
//# sourceMappingURL=chunk-
|
|
372
|
+
//# sourceMappingURL=chunk-3QH4NT72.js.map
|
|
@@ -228,7 +228,7 @@ import {
|
|
|
228
228
|
runTimelinePublishCli,
|
|
229
229
|
screenCandidateFact,
|
|
230
230
|
summarizeVaultPublish
|
|
231
|
-
} from "./chunk-
|
|
231
|
+
} from "./chunk-N4JZ7J2I.js";
|
|
232
232
|
import {
|
|
233
233
|
RoutingRulesStore
|
|
234
234
|
} from "./chunk-TBUEE7XF.js";
|
|
@@ -258,7 +258,7 @@ import {
|
|
|
258
258
|
import {
|
|
259
259
|
runNamespaceMaintenanceFanout,
|
|
260
260
|
summarizeNamespaceMaintenanceHealth
|
|
261
|
-
} from "./chunk-
|
|
261
|
+
} from "./chunk-76GQBIVX.js";
|
|
262
262
|
import {
|
|
263
263
|
planNamespaceMaintenance
|
|
264
264
|
} from "./chunk-WTZQM74L.js";
|
|
@@ -329,7 +329,7 @@ import {
|
|
|
329
329
|
embeddingsFromCosineHits,
|
|
330
330
|
normalizeConnectorScope,
|
|
331
331
|
runSeedGraduationPass
|
|
332
|
-
} from "./chunk-
|
|
332
|
+
} from "./chunk-55NZVUNI.js";
|
|
333
333
|
import {
|
|
334
334
|
compileCorrectionRule,
|
|
335
335
|
correctionsFilePath,
|
|
@@ -367,7 +367,7 @@ import {
|
|
|
367
367
|
} from "./chunk-QW27DOHG.js";
|
|
368
368
|
import {
|
|
369
369
|
MeetingsInputError
|
|
370
|
-
} from "./chunk-
|
|
370
|
+
} from "./chunk-SZIJJGA2.js";
|
|
371
371
|
import {
|
|
372
372
|
WearablesInputError,
|
|
373
373
|
describeErrorForOperator
|
|
@@ -394,7 +394,7 @@ import {
|
|
|
394
394
|
detectPassiveCorrections,
|
|
395
395
|
renderSessionExperiencePreview,
|
|
396
396
|
scoreSessionExperienceForPrompt
|
|
397
|
-
} from "./chunk-
|
|
397
|
+
} from "./chunk-NI5MWLM3.js";
|
|
398
398
|
import {
|
|
399
399
|
importCapsule
|
|
400
400
|
} from "./chunk-ZHXSOMYH.js";
|
|
@@ -754,7 +754,7 @@ import {
|
|
|
754
754
|
} from "./chunk-N4PYB235.js";
|
|
755
755
|
import {
|
|
756
756
|
storageBackedIndexStoreIo
|
|
757
|
-
} from "./chunk-
|
|
757
|
+
} from "./chunk-KO4X4WRJ.js";
|
|
758
758
|
import {
|
|
759
759
|
assertIsDirectoryNotSymlink,
|
|
760
760
|
assertRealpathInsideRoot
|
|
@@ -31096,4 +31096,4 @@ export {
|
|
|
31096
31096
|
qmdStartupCollectionChecksWithTimeout,
|
|
31097
31097
|
Orchestrator
|
|
31098
31098
|
};
|
|
31099
|
-
//# sourceMappingURL=chunk-
|
|
31099
|
+
//# sourceMappingURL=chunk-42YP6FMP.js.map
|
|
@@ -2,14 +2,14 @@ import {
|
|
|
2
2
|
OFFLINE_SYNC_SNAPSHOT_FORMAT,
|
|
3
3
|
filterOfflineSyncDeletionRevisions,
|
|
4
4
|
iterateOfflineSyncSnapshotFileRecords
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-KJKTDMAD.js";
|
|
6
6
|
import {
|
|
7
7
|
computeOmittedEmbeddingGenerationPaths,
|
|
8
8
|
embeddingGenerationMembership
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-KO4X4WRJ.js";
|
|
10
10
|
import {
|
|
11
11
|
matchesOfflineSyncDefaultExclude
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ANPRNTPT.js";
|
|
13
13
|
|
|
14
14
|
// src/offline-sync-snapshot-stream.ts
|
|
15
15
|
import { createHash } from "crypto";
|
|
@@ -61,4 +61,4 @@ async function buildEmbeddingAwareSnapshotStream(options) {
|
|
|
61
61
|
export {
|
|
62
62
|
buildEmbeddingAwareSnapshotStream
|
|
63
63
|
};
|
|
64
|
-
//# sourceMappingURL=chunk-
|
|
64
|
+
//# sourceMappingURL=chunk-53X6CL3A.js.map
|
|
@@ -141,7 +141,7 @@ import {
|
|
|
141
141
|
} from "./chunk-7RJUVTVF.js";
|
|
142
142
|
import {
|
|
143
143
|
parseOfflineSyncExcludes
|
|
144
|
-
} from "./chunk-
|
|
144
|
+
} from "./chunk-ANPRNTPT.js";
|
|
145
145
|
import {
|
|
146
146
|
excludeSupportPassportPrivateMemories
|
|
147
147
|
} from "./chunk-PWPIERBM.js";
|
|
@@ -5515,4 +5515,4 @@ export {
|
|
|
5515
5515
|
VALID_MEMORY_CATEGORIES,
|
|
5516
5516
|
parseConfig
|
|
5517
5517
|
};
|
|
5518
|
-
//# sourceMappingURL=chunk-
|
|
5518
|
+
//# sourceMappingURL=chunk-55NZVUNI.js.map
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
} from "./chunk-YBPYIAA5.js";
|
|
39
39
|
import {
|
|
40
40
|
parseConfig
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-55NZVUNI.js";
|
|
42
42
|
import {
|
|
43
43
|
readAggregateExtractionWatermark
|
|
44
44
|
} from "./chunk-R36IBI2M.js";
|
|
@@ -1683,4 +1683,4 @@ export {
|
|
|
1683
1683
|
runBenchmarkRecall,
|
|
1684
1684
|
runOperatorRepair
|
|
1685
1685
|
};
|
|
1686
|
-
//# sourceMappingURL=chunk-
|
|
1686
|
+
//# sourceMappingURL=chunk-76GQBIVX.js.map
|
|
@@ -74,11 +74,11 @@ function globToRegExp(glob) {
|
|
|
74
74
|
if (ch === "*") {
|
|
75
75
|
if (glob[i + 1] === "*") {
|
|
76
76
|
if (glob[i + 2] === "/") {
|
|
77
|
-
source += "(
|
|
77
|
+
source += "(?:[\\s\\S]*/)?";
|
|
78
78
|
i += 2;
|
|
79
79
|
continue;
|
|
80
80
|
}
|
|
81
|
-
source += "
|
|
81
|
+
source += "[\\s\\S]*";
|
|
82
82
|
i += 1;
|
|
83
83
|
continue;
|
|
84
84
|
}
|
|
@@ -134,4 +134,4 @@ export {
|
|
|
134
134
|
compileOfflineSyncExcludeGlobs,
|
|
135
135
|
parseOfflineSyncExcludes
|
|
136
136
|
};
|
|
137
|
-
//# sourceMappingURL=chunk-
|
|
137
|
+
//# sourceMappingURL=chunk-ANPRNTPT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/offline-sync-exclude-globs.ts"],"sourcesContent":["// Issue #1786: node-local runtime state that each node rebuilds from synced\n// records. Pushing these wastes bandwidth, corrupts the remote's live state\n// dir, and trips the large-file push retry loop on a live SQLite database.\n// Extracted from offline-sync.ts (issue #1995) so the god-file line-count\n// ratchet does not grow when the list gains entries; behavior is unchanged.\n/**\n * Directory-name prefix for the transient plaintext staging dir the CLI offline\n * decrypt path (`offline-storage-io.ts`) creates under the memory root when it\n * must materialize a decrypted secure-store file before hashing/pushing (#2033\n * P1). Shared here so the hard-exclude glob below and the CLI's `mkdtemp` prefix\n * can never drift apart: a crash-orphaned staging dir must NEVER be enumerated\n * into an offline snapshot, or decrypted secure-store plaintext would leak into\n * the remote push.\n */\nexport const OFFLINE_DECRYPT_STAGING_DIR_PREFIX = \".remnic-offline-decrypt-\";\n\nexport const DEFAULT_OFFLINE_SYNC_EXCLUDE_GLOBS: readonly string[] = [\n // Leading `**/` matches zero or more segments, so each pattern covers both\n // the root `state/` dir AND per-namespace `namespaces/<ns>/state/` dirs\n // (Cursor review on PR #1793: multi-namespace deployments previously kept\n // pushing their namespaced live sqlite files).\n \"**/state/*.sqlite\",\n \"**/state/*.sqlite-*\",\n \"**/state/index_tags.json\",\n \"**/state/entity-mention-index.json\",\n \"**/state/memory-governance/runs/**\",\n // Rotated recall-impression archives (issue #1910). The active\n // recall_impressions.jsonl stays remote-authoritative; only the .1..N\n // archives and the .lock are node-local and never pushed/hashed.\n \"**/state/recall_impressions.jsonl.*\",\n // Durable recall-impression pending spill directory (issue #2033). Node-local:\n // an impression spills a per-event file here when its rotation lock cannot be\n // acquired, and the next lock holder folds them back into the synced active\n // recall_impressions.jsonl. The `.*` glob above matches the directory name but\n // not its children, so exclude the contents explicitly.\n \"**/state/recall_impressions.jsonl.pending.d/**\",\n // Durable lifecycle-append pending spill directory (issue #2033). Node-local:\n // an append spills a per-event file here when it cannot get the ledger lock,\n // and the next lock holder folds them back into the synced\n // memory-lifecycle-ledger.jsonl. Pushing them would duplicate rows remotely.\n // The offline-sync snapshot entrypoints drain this queue first (access-service\n // `drainPendingLifecycleForSync` -> `StorageManager.drainPendingMemoryLifecycleEventsForSync`),\n // aborting the snapshot when durable rows cannot be folded, so excluding the\n // dir never silently drops append-only lifecycle history (promotions/imports).\n \"**/state/memory-lifecycle-ledger.jsonl.pending.d/**\",\n // The active lifecycle ledger lock is node-local and must never be\n // transferred to another node during an offline snapshot.\n \"**/state/memory-lifecycle-ledger.jsonl.lock\",\n // Transient plaintext decrypt staging (issue #2033 P1). The CLI offline\n // decrypt path materializes a decrypted secure-store file under an owner-only\n // `<OFFLINE_DECRYPT_STAGING_DIR_PREFIX>*` dir before hashing/pushing, removing\n // it in a `finally`. A hard crash between create and cleanup would otherwise\n // let a later snapshot walk `<prefix>*/content` and push decrypted secure-store\n // plaintext to the remote. Exclude the dir and its contents unconditionally so\n // a crash-orphan can never be enumerated into a snapshot; the leading `**/`\n // matches the root-level dir (zero segments) and any nested placement.\n \"**/.remnic-offline-decrypt-*/**\",\n // Embedding-index transaction leftovers (issue #3146, PR #3148). The\n // identity-replacement backup (`embeddings.pre-replace.tmp`) can hold a\n // full obsolete generation and `embeddings.staging.tmp-*` holds a\n // partially staged one; both are node-local recovery state that must\n // never be enumerated into a snapshot. The demoted legacy recovery file\n // (`embeddings.json.pre-migration.tmp-*`) is likewise node-local.\n \"**/state/embeddings.pre-replace.tmp/**\",\n \"**/state/embeddings.staging.tmp-*/**\",\n \"**/state/embeddings.json.pre-migration.tmp-*\",\n \"**/namespaces/*/state/embeddings.pre-replace.tmp/**\",\n \"**/namespaces/*/state/embeddings.staging.tmp-*/**\",\n \"**/namespaces/*/state/embeddings.json.pre-migration.tmp-*\",\n];\n\n\nconst DEFAULT_OFFLINE_SYNC_EXCLUDE_REGEXPS: readonly RegExp[] =\n DEFAULT_OFFLINE_SYNC_EXCLUDE_GLOBS.map((glob) => globToRegExp(glob));\n\n/**\n * Precompiled-once default-exclude check for the snapshot enumeration hot\n * path (Kilo review, PR #1793). Moved here from offline-sync.ts with the\n * glob list so the two can never drift (issue #1995).\n */\nexport function matchesOfflineSyncDefaultExclude(relPosix: string): boolean {\n for (const regexp of DEFAULT_OFFLINE_SYNC_EXCLUDE_REGEXPS) {\n if (regexp.test(relPosix)) return true;\n }\n return false;\n}\n\nexport function globToRegExp(glob: string): RegExp {\n if (typeof glob !== \"string\" || glob.length === 0) {\n throw new Error(\"offlineSyncExcludes entry must be a non-empty string\");\n }\n if (glob.includes(\"\\0\")) {\n throw new Error(\"offlineSyncExcludes entry must not contain NUL bytes\");\n }\n let source = \"\";\n for (let i = 0; i < glob.length; i += 1) {\n const ch = glob[i];\n if (ch === \"*\") {\n if (glob[i + 1] === \"*\") {\n // `**` is cross-segment wherever it appears:\n // leading `**/` -> zero or more whole segments\n // `/**` at end -> everything under the directory\n // `a/**/b` -> any depth between segments\n // (Cursor review on PR #1793: trailing `scratch/**` must match\n // nested `scratch/a/b.md`, matching the offline-mode guide.)\n if (glob[i + 2] === \"/\") {\n source += \"(
|
|
1
|
+
{"version":3,"sources":["../src/offline-sync-exclude-globs.ts"],"sourcesContent":["// Issue #1786: node-local runtime state that each node rebuilds from synced\n// records. Pushing these wastes bandwidth, corrupts the remote's live state\n// dir, and trips the large-file push retry loop on a live SQLite database.\n// Extracted from offline-sync.ts (issue #1995) so the god-file line-count\n// ratchet does not grow when the list gains entries; behavior is unchanged.\n/**\n * Directory-name prefix for the transient plaintext staging dir the CLI offline\n * decrypt path (`offline-storage-io.ts`) creates under the memory root when it\n * must materialize a decrypted secure-store file before hashing/pushing (#2033\n * P1). Shared here so the hard-exclude glob below and the CLI's `mkdtemp` prefix\n * can never drift apart: a crash-orphaned staging dir must NEVER be enumerated\n * into an offline snapshot, or decrypted secure-store plaintext would leak into\n * the remote push.\n */\nexport const OFFLINE_DECRYPT_STAGING_DIR_PREFIX = \".remnic-offline-decrypt-\";\n\nexport const DEFAULT_OFFLINE_SYNC_EXCLUDE_GLOBS: readonly string[] = [\n // Leading `**/` matches zero or more segments, so each pattern covers both\n // the root `state/` dir AND per-namespace `namespaces/<ns>/state/` dirs\n // (Cursor review on PR #1793: multi-namespace deployments previously kept\n // pushing their namespaced live sqlite files).\n \"**/state/*.sqlite\",\n \"**/state/*.sqlite-*\",\n \"**/state/index_tags.json\",\n \"**/state/entity-mention-index.json\",\n \"**/state/memory-governance/runs/**\",\n // Rotated recall-impression archives (issue #1910). The active\n // recall_impressions.jsonl stays remote-authoritative; only the .1..N\n // archives and the .lock are node-local and never pushed/hashed.\n \"**/state/recall_impressions.jsonl.*\",\n // Durable recall-impression pending spill directory (issue #2033). Node-local:\n // an impression spills a per-event file here when its rotation lock cannot be\n // acquired, and the next lock holder folds them back into the synced active\n // recall_impressions.jsonl. The `.*` glob above matches the directory name but\n // not its children, so exclude the contents explicitly.\n \"**/state/recall_impressions.jsonl.pending.d/**\",\n // Durable lifecycle-append pending spill directory (issue #2033). Node-local:\n // an append spills a per-event file here when it cannot get the ledger lock,\n // and the next lock holder folds them back into the synced\n // memory-lifecycle-ledger.jsonl. Pushing them would duplicate rows remotely.\n // The offline-sync snapshot entrypoints drain this queue first (access-service\n // `drainPendingLifecycleForSync` -> `StorageManager.drainPendingMemoryLifecycleEventsForSync`),\n // aborting the snapshot when durable rows cannot be folded, so excluding the\n // dir never silently drops append-only lifecycle history (promotions/imports).\n \"**/state/memory-lifecycle-ledger.jsonl.pending.d/**\",\n // The active lifecycle ledger lock is node-local and must never be\n // transferred to another node during an offline snapshot.\n \"**/state/memory-lifecycle-ledger.jsonl.lock\",\n // Transient plaintext decrypt staging (issue #2033 P1). The CLI offline\n // decrypt path materializes a decrypted secure-store file under an owner-only\n // `<OFFLINE_DECRYPT_STAGING_DIR_PREFIX>*` dir before hashing/pushing, removing\n // it in a `finally`. A hard crash between create and cleanup would otherwise\n // let a later snapshot walk `<prefix>*/content` and push decrypted secure-store\n // plaintext to the remote. Exclude the dir and its contents unconditionally so\n // a crash-orphan can never be enumerated into a snapshot; the leading `**/`\n // matches the root-level dir (zero segments) and any nested placement.\n \"**/.remnic-offline-decrypt-*/**\",\n // Embedding-index transaction leftovers (issue #3146, PR #3148). The\n // identity-replacement backup (`embeddings.pre-replace.tmp`) can hold a\n // full obsolete generation and `embeddings.staging.tmp-*` holds a\n // partially staged one; both are node-local recovery state that must\n // never be enumerated into a snapshot. The demoted legacy recovery file\n // (`embeddings.json.pre-migration.tmp-*`) is likewise node-local.\n \"**/state/embeddings.pre-replace.tmp/**\",\n \"**/state/embeddings.staging.tmp-*/**\",\n \"**/state/embeddings.json.pre-migration.tmp-*\",\n \"**/namespaces/*/state/embeddings.pre-replace.tmp/**\",\n \"**/namespaces/*/state/embeddings.staging.tmp-*/**\",\n \"**/namespaces/*/state/embeddings.json.pre-migration.tmp-*\",\n];\n\n\nconst DEFAULT_OFFLINE_SYNC_EXCLUDE_REGEXPS: readonly RegExp[] =\n DEFAULT_OFFLINE_SYNC_EXCLUDE_GLOBS.map((glob) => globToRegExp(glob));\n\n/**\n * Precompiled-once default-exclude check for the snapshot enumeration hot\n * path (Kilo review, PR #1793). Moved here from offline-sync.ts with the\n * glob list so the two can never drift (issue #1995).\n */\nexport function matchesOfflineSyncDefaultExclude(relPosix: string): boolean {\n for (const regexp of DEFAULT_OFFLINE_SYNC_EXCLUDE_REGEXPS) {\n if (regexp.test(relPosix)) return true;\n }\n return false;\n}\n\nexport function globToRegExp(glob: string): RegExp {\n if (typeof glob !== \"string\" || glob.length === 0) {\n throw new Error(\"offlineSyncExcludes entry must be a non-empty string\");\n }\n if (glob.includes(\"\\0\")) {\n throw new Error(\"offlineSyncExcludes entry must not contain NUL bytes\");\n }\n let source = \"\";\n for (let i = 0; i < glob.length; i += 1) {\n const ch = glob[i];\n if (ch === \"*\") {\n if (glob[i + 1] === \"*\") {\n // `**` is cross-segment wherever it appears:\n // leading `**/` -> zero or more whole segments\n // `/**` at end -> everything under the directory\n // `a/**/b` -> any depth between segments\n // (Cursor review on PR #1793: trailing `scratch/**` must match\n // nested `scratch/a/b.md`, matching the offline-mode guide.)\n if (glob[i + 2] === \"/\") {\n source += \"(?:[\\\\s\\\\S]*/)?\";\n i += 2;\n continue;\n }\n source += \"[\\\\s\\\\S]*\";\n i += 1;\n continue;\n }\n source += \"[^/]*\";\n continue;\n }\n if (ch === \"?\") {\n source += \"[^/]\";\n continue;\n }\n if (ch === \"/\") {\n source += \"/\";\n continue;\n }\n source += ch.replace(/[\\\\^$.+()|{}\\[\\]]/g, \"\\\\$&\");\n }\n return new RegExp(`^${source}$`);\n}\n\n/** Match relative POSIX paths: `*` stays within a segment; `**` crosses separators and matches every path alone. */\nexport function compileOfflineSyncExcludeGlobs(\n globs: readonly unknown[],\n): RegExp[] {\n const out: RegExp[] = [];\n for (const entry of globs) {\n if (typeof entry !== \"string\" || entry.length === 0) {\n throw new Error(\"offlineSyncExcludes must contain only non-empty strings\");\n }\n out.push(globToRegExp(entry));\n }\n return out;\n}\n\n/**\n * Validate the operator-supplied offline-sync exclude list (#1786).\n * Rejects loudly instead of silently defaulting (CLAUDE.md rule 39):\n * a misspelled key value must fail config parse, not be ignored.\n * Lives next to the glob compiler so config.ts only carries the call.\n */\nexport function parseOfflineSyncExcludes(raw: unknown): string[] {\n if (raw === undefined || raw === null) return [];\n if (!Array.isArray(raw)) {\n throw new Error(\n `offlineSyncExcludes must be an array of non-empty glob strings; got ${typeof raw}`,\n );\n }\n for (const entry of raw) {\n if (typeof entry !== \"string\" || entry.trim().length === 0) {\n throw new Error(\n \"offlineSyncExcludes must contain only non-empty glob strings\",\n );\n }\n }\n const globs = raw.map((entry) => (entry as string).trim());\n // Compile-check every glob now so a bad pattern fails at parse time\n // rather than mid-sync. compileOfflineSyncExcludeGlobs throws with a\n // per-entry message.\n compileOfflineSyncExcludeGlobs(globs);\n return globs;\n}\n"],"mappings":";AAcO,IAAM,qCAAqC;AAE3C,IAAM,qCAAwD;AAAA;AAAA;AAAA;AAAA;AAAA,EAKnE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA;AAAA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGA,IAAM,uCACJ,mCAAmC,IAAI,CAAC,SAAS,aAAa,IAAI,CAAC;AAO9D,SAAS,iCAAiC,UAA2B;AAC1E,aAAW,UAAU,sCAAsC;AACzD,QAAI,OAAO,KAAK,QAAQ,EAAG,QAAO;AAAA,EACpC;AACA,SAAO;AACT;AAEO,SAAS,aAAa,MAAsB;AACjD,MAAI,OAAO,SAAS,YAAY,KAAK,WAAW,GAAG;AACjD,UAAM,IAAI,MAAM,sDAAsD;AAAA,EACxE;AACA,MAAI,KAAK,SAAS,IAAI,GAAG;AACvB,UAAM,IAAI,MAAM,sDAAsD;AAAA,EACxE;AACA,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK,GAAG;AACvC,UAAM,KAAK,KAAK,CAAC;AACjB,QAAI,OAAO,KAAK;AACd,UAAI,KAAK,IAAI,CAAC,MAAM,KAAK;AAOvB,YAAI,KAAK,IAAI,CAAC,MAAM,KAAK;AACvB,oBAAU;AACV,eAAK;AACL;AAAA,QACF;AACA,kBAAU;AACV,aAAK;AACL;AAAA,MACF;AACA,gBAAU;AACV;AAAA,IACF;AACA,QAAI,OAAO,KAAK;AACd,gBAAU;AACV;AAAA,IACF;AACA,QAAI,OAAO,KAAK;AACd,gBAAU;AACV;AAAA,IACF;AACA,cAAU,GAAG,QAAQ,sBAAsB,MAAM;AAAA,EACnD;AACA,SAAO,IAAI,OAAO,IAAI,MAAM,GAAG;AACjC;AAGO,SAAS,+BACd,OACU;AACV,QAAM,MAAgB,CAAC;AACvB,aAAW,SAAS,OAAO;AACzB,QAAI,OAAO,UAAU,YAAY,MAAM,WAAW,GAAG;AACnD,YAAM,IAAI,MAAM,yDAAyD;AAAA,IAC3E;AACA,QAAI,KAAK,aAAa,KAAK,CAAC;AAAA,EAC9B;AACA,SAAO;AACT;AAQO,SAAS,yBAAyB,KAAwB;AAC/D,MAAI,QAAQ,UAAa,QAAQ,KAAM,QAAO,CAAC;AAC/C,MAAI,CAAC,MAAM,QAAQ,GAAG,GAAG;AACvB,UAAM,IAAI;AAAA,MACR,uEAAuE,OAAO,GAAG;AAAA,IACnF;AAAA,EACF;AACA,aAAW,SAAS,KAAK;AACvB,QAAI,OAAO,UAAU,YAAY,MAAM,KAAK,EAAE,WAAW,GAAG;AAC1D,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,QAAM,QAAQ,IAAI,IAAI,CAAC,UAAW,MAAiB,KAAK,CAAC;AAIzD,iCAA+B,KAAK;AACpC,SAAO;AACT;","names":[]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-7T4TOGMS.js";
|
|
4
4
|
import {
|
|
5
5
|
defineOperation
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-NI5MWLM3.js";
|
|
7
7
|
|
|
8
8
|
// src/external-wiki-access.ts
|
|
9
9
|
import { z } from "zod";
|
|
@@ -26,4 +26,4 @@ var externalWikiSearchOperation = defineOperation({
|
|
|
26
26
|
export {
|
|
27
27
|
externalWikiSearchOperation
|
|
28
28
|
};
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-BCQU44UV.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
SupportPassportError,
|
|
3
3
|
SupportPassportOwnerCreateGrantRequestSchema,
|
|
4
4
|
getOperation
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-NI5MWLM3.js";
|
|
6
6
|
|
|
7
7
|
// src/support-passport/access-http.ts
|
|
8
8
|
var OWNER_ROOT = "/engram/v1/support-passport";
|
|
@@ -137,4 +137,4 @@ export {
|
|
|
137
137
|
SUPPORT_PASSPORT_OWNER_HTTP_ROUTES,
|
|
138
138
|
handleSupportPassportOwnerHttp
|
|
139
139
|
};
|
|
140
|
-
//# sourceMappingURL=chunk-
|
|
140
|
+
//# sourceMappingURL=chunk-GLJNGCCM.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SupportPassportCreateGrantRequestSchema,
|
|
3
3
|
defineOperation
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-NI5MWLM3.js";
|
|
5
5
|
import {
|
|
6
6
|
SupportPassportCardCategorySchema,
|
|
7
7
|
SupportPassportMemoryIdSchema,
|
|
@@ -220,4 +220,4 @@ var supportPassportGrantAskOperation = defineOperation({
|
|
|
220
220
|
result: await ctx.service.supportPassportAskGrant(grantId, secret, question, ctx.abortSignal)
|
|
221
221
|
})
|
|
222
222
|
});
|
|
223
|
-
//# sourceMappingURL=chunk-
|
|
223
|
+
//# sourceMappingURL=chunk-HGG63H3A.js.map
|