@remnic/core 9.3.517 → 9.3.519

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.
Files changed (80) hide show
  1. package/dist/access-cli.js +13 -13
  2. package/dist/access-http.js +8 -8
  3. package/dist/access-mcp.js +7 -7
  4. package/dist/access-schema.d.ts +4 -4
  5. package/dist/access-schema.js +2 -2
  6. package/dist/access-service.js +5 -5
  7. package/dist/briefing.js +2 -2
  8. package/dist/causal-consolidation.js +3 -3
  9. package/dist/{chunk-6F6BXB7A.js → chunk-67VP6I47.js} +2 -2
  10. package/dist/{chunk-6XSPNR6L.js → chunk-6HF5VUBQ.js} +2 -2
  11. package/dist/{chunk-V2RCP53Q.js → chunk-6QKWLP4V.js} +2 -2
  12. package/dist/{chunk-XNLXAWHX.js → chunk-7TVK7E3R.js} +2 -2
  13. package/dist/{chunk-23UORJ4S.js → chunk-BE5XAWSA.js} +2 -2
  14. package/dist/{chunk-5UHVGNZD.js → chunk-DGDQZ3JW.js} +2 -2
  15. package/dist/{chunk-2AN2L4NL.js → chunk-DKOIMCGB.js} +2 -2
  16. package/dist/{chunk-5V456VRV.js → chunk-HX5XV3GL.js} +5 -5
  17. package/dist/{chunk-UIPDNLXA.js → chunk-K4LDMTTY.js} +118 -13
  18. package/dist/chunk-K4LDMTTY.js.map +1 -0
  19. package/dist/{chunk-YDMVYYD2.js → chunk-KAUXI453.js} +8 -8
  20. package/dist/{chunk-FCOQXV3T.js → chunk-KCLX6LOV.js} +12 -12
  21. package/dist/{chunk-ZEY4KYRQ.js → chunk-LKCE3NPZ.js} +13 -2
  22. package/dist/chunk-LKCE3NPZ.js.map +1 -0
  23. package/dist/{chunk-CHBI22MI.js → chunk-O2HWL47E.js} +2 -2
  24. package/dist/{chunk-TTGZV5R3.js → chunk-OHZXPJK7.js} +4 -4
  25. package/dist/{chunk-FPGE5NVO.js → chunk-OMHRQTOD.js} +2 -2
  26. package/dist/{chunk-E62SBGQ3.js → chunk-PYGKYEDU.js} +3 -3
  27. package/dist/{chunk-IQ3OI2RR.js → chunk-QK2G4EYH.js} +2 -2
  28. package/dist/{chunk-YNXOKMJP.js → chunk-RB7LF7K7.js} +4 -4
  29. package/dist/{chunk-YHV3KRKS.js → chunk-TKUQG2PE.js} +2 -2
  30. package/dist/{chunk-HC6EKOID.js → chunk-UMZRCQFC.js} +5 -5
  31. package/dist/{chunk-LJBOVCQG.js → chunk-XI5V7WSJ.js} +2 -2
  32. package/dist/{chunk-6BR7L222.js → chunk-ZQLC75BF.js} +2 -2
  33. package/dist/cli.js +17 -17
  34. package/dist/compounding/engine.js +2 -2
  35. package/dist/connectors/codex-materialize-runner.js +2 -2
  36. package/dist/connectors/index.js +2 -2
  37. package/dist/entity-retrieval.js +2 -2
  38. package/dist/index.js +22 -22
  39. package/dist/maintenance/memory-governance.js +2 -2
  40. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +2 -2
  41. package/dist/maintenance/rebuild-memory-projection.js +3 -3
  42. package/dist/namespaces/migrate.js +3 -3
  43. package/dist/namespaces/storage.js +2 -2
  44. package/dist/offline-sync.js +1 -1
  45. package/dist/operator-toolkit.js +5 -5
  46. package/dist/orchestrator.js +9 -9
  47. package/dist/schemas.d.ts +22 -22
  48. package/dist/semantic-consolidation.js +3 -3
  49. package/dist/semantic-rule-promotion.js +2 -2
  50. package/dist/semantic-rule-verifier.js +2 -2
  51. package/dist/storage.d.ts +10 -0
  52. package/dist/storage.js +1 -1
  53. package/dist/transfer/types.d.ts +12 -12
  54. package/dist/verified-recall.js +2 -2
  55. package/package.json +1 -1
  56. package/src/offline-sync.test.ts +84 -0
  57. package/src/offline-sync.ts +17 -1
  58. package/src/storage.ts +156 -12
  59. package/dist/chunk-UIPDNLXA.js.map +0 -1
  60. package/dist/chunk-ZEY4KYRQ.js.map +0 -1
  61. /package/dist/{chunk-6F6BXB7A.js.map → chunk-67VP6I47.js.map} +0 -0
  62. /package/dist/{chunk-6XSPNR6L.js.map → chunk-6HF5VUBQ.js.map} +0 -0
  63. /package/dist/{chunk-V2RCP53Q.js.map → chunk-6QKWLP4V.js.map} +0 -0
  64. /package/dist/{chunk-XNLXAWHX.js.map → chunk-7TVK7E3R.js.map} +0 -0
  65. /package/dist/{chunk-23UORJ4S.js.map → chunk-BE5XAWSA.js.map} +0 -0
  66. /package/dist/{chunk-5UHVGNZD.js.map → chunk-DGDQZ3JW.js.map} +0 -0
  67. /package/dist/{chunk-2AN2L4NL.js.map → chunk-DKOIMCGB.js.map} +0 -0
  68. /package/dist/{chunk-5V456VRV.js.map → chunk-HX5XV3GL.js.map} +0 -0
  69. /package/dist/{chunk-YDMVYYD2.js.map → chunk-KAUXI453.js.map} +0 -0
  70. /package/dist/{chunk-FCOQXV3T.js.map → chunk-KCLX6LOV.js.map} +0 -0
  71. /package/dist/{chunk-CHBI22MI.js.map → chunk-O2HWL47E.js.map} +0 -0
  72. /package/dist/{chunk-TTGZV5R3.js.map → chunk-OHZXPJK7.js.map} +0 -0
  73. /package/dist/{chunk-FPGE5NVO.js.map → chunk-OMHRQTOD.js.map} +0 -0
  74. /package/dist/{chunk-E62SBGQ3.js.map → chunk-PYGKYEDU.js.map} +0 -0
  75. /package/dist/{chunk-IQ3OI2RR.js.map → chunk-QK2G4EYH.js.map} +0 -0
  76. /package/dist/{chunk-YNXOKMJP.js.map → chunk-RB7LF7K7.js.map} +0 -0
  77. /package/dist/{chunk-YHV3KRKS.js.map → chunk-TKUQG2PE.js.map} +0 -0
  78. /package/dist/{chunk-HC6EKOID.js.map → chunk-UMZRCQFC.js.map} +0 -0
  79. /package/dist/{chunk-LJBOVCQG.js.map → chunk-XI5V7WSJ.js.map} +0 -0
  80. /package/dist/{chunk-6BR7L222.js.map → chunk-ZQLC75BF.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Orchestrator
3
- } from "./chunk-YDMVYYD2.js";
3
+ } from "./chunk-KAUXI453.js";
4
4
  import "./chunk-Y2SXZ5KZ.js";
5
5
  import "./chunk-BFBF3XEF.js";
6
6
  import "./chunk-S53PKKWK.js";
@@ -15,7 +15,7 @@ import "./chunk-4HP7HIE3.js";
15
15
  import "./chunk-7N4KAIGN.js";
16
16
  import "./chunk-TECVW3JP.js";
17
17
  import "./chunk-T2PO5MUF.js";
18
- import "./chunk-IQ3OI2RR.js";
18
+ import "./chunk-QK2G4EYH.js";
19
19
  import "./chunk-DRD2Q7HQ.js";
20
20
  import "./chunk-UHGBNIOS.js";
21
21
  import "./chunk-W7L6HXUC.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-FPGE5NVO.js";
59
+ import "./chunk-OMHRQTOD.js";
60
60
  import "./chunk-6NKAQ74D.js";
61
61
  import "./chunk-OAZ5MFUB.js";
62
62
  import "./chunk-PYPOFEMK.js";
@@ -67,17 +67,17 @@ import "./chunk-Y4FHOFJ2.js";
67
67
  import "./chunk-6URPAY2D.js";
68
68
  import "./chunk-3PG3H5TD.js";
69
69
  import "./chunk-OD4FM2U7.js";
70
- import "./chunk-6XSPNR6L.js";
71
- import "./chunk-6F6BXB7A.js";
70
+ import "./chunk-6HF5VUBQ.js";
71
+ import "./chunk-67VP6I47.js";
72
72
  import "./chunk-JFEKNTX7.js";
73
73
  import "./chunk-JLNBQWZ2.js";
74
74
  import "./chunk-HPWVAEET.js";
75
75
  import "./chunk-2PRQG7PV.js";
76
- import "./chunk-XNLXAWHX.js";
76
+ import "./chunk-7TVK7E3R.js";
77
77
  import "./chunk-3BP57I6J.js";
78
78
  import "./chunk-TERNBNJB.js";
79
79
  import "./chunk-W4RVMTHR.js";
80
- import "./chunk-23UORJ4S.js";
80
+ import "./chunk-BE5XAWSA.js";
81
81
  import "./chunk-XPXEJRUB.js";
82
82
  import "./chunk-A6D7A2FW.js";
83
83
  import "./chunk-FF4KLI5W.js";
@@ -93,7 +93,7 @@ import "./chunk-JNANKJLN.js";
93
93
  import "./chunk-Q4CAQGKQ.js";
94
94
  import "./chunk-ONPLNAPX.js";
95
95
  import "./chunk-CINZGPSJ.js";
96
- import "./chunk-CHBI22MI.js";
96
+ import "./chunk-O2HWL47E.js";
97
97
  import "./chunk-ZFXCQPNO.js";
98
98
  import "./chunk-KIB7SDIJ.js";
99
99
  import "./chunk-ORFGK3XI.js";
@@ -138,7 +138,7 @@ import "./chunk-PVGDJXVK.js";
138
138
  import "./chunk-OADWQ5CR.js";
139
139
  import {
140
140
  EngramAccessService
141
- } from "./chunk-5V456VRV.js";
141
+ } from "./chunk-HX5XV3GL.js";
142
142
  import "./chunk-ETUPBUHB.js";
143
143
  import "./chunk-L227SKTB.js";
144
144
  import "./chunk-DHGSZ3UD.js";
@@ -152,7 +152,7 @@ import "./chunk-7Q3RCKAQ.js";
152
152
  import "./chunk-WSGF57U2.js";
153
153
  import "./chunk-XKIQZXUB.js";
154
154
  import "./chunk-UEY3VB6W.js";
155
- import "./chunk-2AN2L4NL.js";
155
+ import "./chunk-DKOIMCGB.js";
156
156
  import "./chunk-EIR5VLIH.js";
157
157
  import "./chunk-JKV57BTN.js";
158
158
  import "./chunk-EI6V5UXY.js";
@@ -164,8 +164,8 @@ import "./chunk-CHCA44C3.js";
164
164
  import "./chunk-4JRRISLU.js";
165
165
  import "./chunk-2LSZVONP.js";
166
166
  import "./chunk-DEUNUKTD.js";
167
- import "./chunk-YHV3KRKS.js";
168
- import "./chunk-UIPDNLXA.js";
167
+ import "./chunk-TKUQG2PE.js";
168
+ import "./chunk-K4LDMTTY.js";
169
169
  import "./chunk-5UZXUTVO.js";
170
170
  import "./chunk-4H5ZJHEN.js";
171
171
  import "./chunk-M5T4Q2ZU.js";
@@ -207,7 +207,7 @@ import "./chunk-X7Y7WX73.js";
207
207
  import "./chunk-BJMBJZ2Y.js";
208
208
  import "./chunk-UKJAGEXH.js";
209
209
  import "./chunk-FP2373TW.js";
210
- import "./chunk-ZEY4KYRQ.js";
210
+ import "./chunk-LKCE3NPZ.js";
211
211
  import "./chunk-UI3NYK34.js";
212
212
  import "./chunk-GCGJW34D.js";
213
213
  import "./chunk-KJMYHC7K.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  EngramAccessHttpServer
3
- } from "./chunk-HC6EKOID.js";
3
+ } from "./chunk-UMZRCQFC.js";
4
4
  import "./chunk-SEDEKFYQ.js";
5
5
  import "./chunk-JBPKEARU.js";
6
6
  import "./chunk-TMSXWOBZ.js";
@@ -8,10 +8,10 @@ import "./chunk-J64TK33U.js";
8
8
  import "./chunk-RSUYKGGZ.js";
9
9
  import "./chunk-42NQ7AVG.js";
10
10
  import "./chunk-7RXCMVFQ.js";
11
- import "./chunk-TTGZV5R3.js";
11
+ import "./chunk-OHZXPJK7.js";
12
12
  import "./chunk-EAZGEEG2.js";
13
13
  import "./chunk-D24OXEPB.js";
14
- import "./chunk-5V456VRV.js";
14
+ import "./chunk-HX5XV3GL.js";
15
15
  import "./chunk-ETUPBUHB.js";
16
16
  import "./chunk-L227SKTB.js";
17
17
  import "./chunk-DHGSZ3UD.js";
@@ -25,7 +25,7 @@ import "./chunk-7Q3RCKAQ.js";
25
25
  import "./chunk-WSGF57U2.js";
26
26
  import "./chunk-XKIQZXUB.js";
27
27
  import "./chunk-UEY3VB6W.js";
28
- import "./chunk-2AN2L4NL.js";
28
+ import "./chunk-DKOIMCGB.js";
29
29
  import "./chunk-EIR5VLIH.js";
30
30
  import "./chunk-JKV57BTN.js";
31
31
  import "./chunk-EI6V5UXY.js";
@@ -37,8 +37,8 @@ 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-YHV3KRKS.js";
41
- import "./chunk-UIPDNLXA.js";
40
+ import "./chunk-TKUQG2PE.js";
41
+ import "./chunk-K4LDMTTY.js";
42
42
  import "./chunk-5UZXUTVO.js";
43
43
  import "./chunk-4H5ZJHEN.js";
44
44
  import "./chunk-M5T4Q2ZU.js";
@@ -68,7 +68,7 @@ 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-5UHVGNZD.js";
71
+ import "./chunk-DGDQZ3JW.js";
72
72
  import "./chunk-IPLYGWQF.js";
73
73
  import "./chunk-J4EB7DNW.js";
74
74
  import "./chunk-WEHSQBFR.js";
@@ -76,7 +76,7 @@ import "./chunk-X7Y7WX73.js";
76
76
  import "./chunk-BJMBJZ2Y.js";
77
77
  import "./chunk-UKJAGEXH.js";
78
78
  import "./chunk-FP2373TW.js";
79
- import "./chunk-ZEY4KYRQ.js";
79
+ import "./chunk-LKCE3NPZ.js";
80
80
  import "./chunk-UI3NYK34.js";
81
81
  import "./chunk-GCGJW34D.js";
82
82
  import "./chunk-KJMYHC7K.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  EngramMcpServer
3
- } from "./chunk-TTGZV5R3.js";
3
+ } from "./chunk-OHZXPJK7.js";
4
4
  import "./chunk-EAZGEEG2.js";
5
5
  import "./chunk-D24OXEPB.js";
6
- import "./chunk-5V456VRV.js";
6
+ import "./chunk-HX5XV3GL.js";
7
7
  import "./chunk-ETUPBUHB.js";
8
8
  import "./chunk-L227SKTB.js";
9
9
  import "./chunk-DHGSZ3UD.js";
@@ -17,7 +17,7 @@ import "./chunk-7Q3RCKAQ.js";
17
17
  import "./chunk-WSGF57U2.js";
18
18
  import "./chunk-XKIQZXUB.js";
19
19
  import "./chunk-UEY3VB6W.js";
20
- import "./chunk-2AN2L4NL.js";
20
+ import "./chunk-DKOIMCGB.js";
21
21
  import "./chunk-EIR5VLIH.js";
22
22
  import "./chunk-JKV57BTN.js";
23
23
  import "./chunk-EI6V5UXY.js";
@@ -29,8 +29,8 @@ 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-YHV3KRKS.js";
33
- import "./chunk-UIPDNLXA.js";
32
+ import "./chunk-TKUQG2PE.js";
33
+ import "./chunk-K4LDMTTY.js";
34
34
  import "./chunk-5UZXUTVO.js";
35
35
  import "./chunk-4H5ZJHEN.js";
36
36
  import "./chunk-M5T4Q2ZU.js";
@@ -60,7 +60,7 @@ 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-5UHVGNZD.js";
63
+ import "./chunk-DGDQZ3JW.js";
64
64
  import "./chunk-IPLYGWQF.js";
65
65
  import "./chunk-J4EB7DNW.js";
66
66
  import "./chunk-WEHSQBFR.js";
@@ -68,7 +68,7 @@ import "./chunk-X7Y7WX73.js";
68
68
  import "./chunk-BJMBJZ2Y.js";
69
69
  import "./chunk-UKJAGEXH.js";
70
70
  import "./chunk-FP2373TW.js";
71
- import "./chunk-ZEY4KYRQ.js";
71
+ import "./chunk-LKCE3NPZ.js";
72
72
  import "./chunk-UI3NYK34.js";
73
73
  import "./chunk-GCGJW34D.js";
74
74
  import "./chunk-KJMYHC7K.js";
@@ -604,13 +604,13 @@ declare const offlineSyncSnapshotRequestSchema: z.ZodObject<{
604
604
  }, "strip", z.ZodTypeAny, {
605
605
  path: string;
606
606
  sha256: string;
607
- bytes: number;
608
607
  mtimeMs: number;
608
+ bytes: number;
609
609
  }, {
610
610
  path: string;
611
611
  sha256: string;
612
- bytes: number;
613
612
  mtimeMs: number;
613
+ bytes: number;
614
614
  }>, "many">>;
615
615
  }, "strip", z.ZodTypeAny, {
616
616
  namespace?: string | undefined;
@@ -618,8 +618,8 @@ declare const offlineSyncSnapshotRequestSchema: z.ZodObject<{
618
618
  baseFiles?: {
619
619
  path: string;
620
620
  sha256: string;
621
- bytes: number;
622
621
  mtimeMs: number;
622
+ bytes: number;
623
623
  }[] | undefined;
624
624
  baseCapturedAt?: string | undefined;
625
625
  includeContent?: boolean | undefined;
@@ -629,8 +629,8 @@ declare const offlineSyncSnapshotRequestSchema: z.ZodObject<{
629
629
  baseFiles?: {
630
630
  path: string;
631
631
  sha256: string;
632
- bytes: number;
633
632
  mtimeMs: number;
633
+ bytes: number;
634
634
  }[] | undefined;
635
635
  baseCapturedAt?: string | undefined;
636
636
  includeContent?: boolean | undefined;
@@ -25,7 +25,7 @@ import {
25
25
  trustZoneDemoSeedRequestSchema,
26
26
  trustZonePromoteRequestSchema,
27
27
  validateRequest
28
- } from "./chunk-5UHVGNZD.js";
28
+ } from "./chunk-DGDQZ3JW.js";
29
29
  import "./chunk-IPLYGWQF.js";
30
30
  import "./chunk-J4EB7DNW.js";
31
31
  import "./chunk-WEHSQBFR.js";
@@ -33,7 +33,7 @@ import "./chunk-X7Y7WX73.js";
33
33
  import "./chunk-BJMBJZ2Y.js";
34
34
  import "./chunk-UKJAGEXH.js";
35
35
  import "./chunk-FP2373TW.js";
36
- import "./chunk-ZEY4KYRQ.js";
36
+ import "./chunk-LKCE3NPZ.js";
37
37
  import "./chunk-UI3NYK34.js";
38
38
  import "./chunk-GCGJW34D.js";
39
39
  import "./chunk-KJMYHC7K.js";
@@ -3,7 +3,7 @@ import {
3
3
  EngramAccessInputError,
4
4
  EngramAccessService,
5
5
  shapeMemorySummary
6
- } from "./chunk-5V456VRV.js";
6
+ } from "./chunk-HX5XV3GL.js";
7
7
  import "./chunk-ETUPBUHB.js";
8
8
  import "./chunk-L227SKTB.js";
9
9
  import "./chunk-DHGSZ3UD.js";
@@ -17,7 +17,7 @@ import "./chunk-7Q3RCKAQ.js";
17
17
  import "./chunk-WSGF57U2.js";
18
18
  import "./chunk-XKIQZXUB.js";
19
19
  import "./chunk-UEY3VB6W.js";
20
- import "./chunk-2AN2L4NL.js";
20
+ import "./chunk-DKOIMCGB.js";
21
21
  import "./chunk-EIR5VLIH.js";
22
22
  import "./chunk-JKV57BTN.js";
23
23
  import "./chunk-EI6V5UXY.js";
@@ -29,8 +29,8 @@ 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-YHV3KRKS.js";
33
- import "./chunk-UIPDNLXA.js";
32
+ import "./chunk-TKUQG2PE.js";
33
+ import "./chunk-K4LDMTTY.js";
34
34
  import "./chunk-5UZXUTVO.js";
35
35
  import "./chunk-4H5ZJHEN.js";
36
36
  import "./chunk-M5T4Q2ZU.js";
@@ -67,7 +67,7 @@ import "./chunk-X7Y7WX73.js";
67
67
  import "./chunk-BJMBJZ2Y.js";
68
68
  import "./chunk-UKJAGEXH.js";
69
69
  import "./chunk-FP2373TW.js";
70
- import "./chunk-ZEY4KYRQ.js";
70
+ import "./chunk-LKCE3NPZ.js";
71
71
  import "./chunk-UI3NYK34.js";
72
72
  import "./chunk-GCGJW34D.js";
73
73
  import "./chunk-KJMYHC7K.js";
package/dist/briefing.js CHANGED
@@ -16,8 +16,8 @@ import {
16
16
  renderBriefingMarkdown,
17
17
  resolveBriefingSaveDir,
18
18
  validateBriefingFormat
19
- } from "./chunk-YHV3KRKS.js";
20
- import "./chunk-UIPDNLXA.js";
19
+ } from "./chunk-TKUQG2PE.js";
20
+ import "./chunk-K4LDMTTY.js";
21
21
  import "./chunk-5UZXUTVO.js";
22
22
  import "./chunk-4H5ZJHEN.js";
23
23
  import "./chunk-M5T4Q2ZU.js";
@@ -4,10 +4,10 @@ import {
4
4
  } from "./chunk-YQMZ7IH2.js";
5
5
  import {
6
6
  buildExtensionsBlockForConsolidation
7
- } from "./chunk-6XSPNR6L.js";
7
+ } from "./chunk-6HF5VUBQ.js";
8
8
  import {
9
9
  runPostConsolidationMaterialize
10
- } from "./chunk-6F6BXB7A.js";
10
+ } from "./chunk-67VP6I47.js";
11
11
  import "./chunk-JFEKNTX7.js";
12
12
  import "./chunk-JLNBQWZ2.js";
13
13
  import "./chunk-3UXOZBHV.js";
@@ -21,7 +21,7 @@ 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-UIPDNLXA.js";
24
+ import "./chunk-K4LDMTTY.js";
25
25
  import "./chunk-5UZXUTVO.js";
26
26
  import "./chunk-4H5ZJHEN.js";
27
27
  import "./chunk-M5T4Q2ZU.js";
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-3UXOZBHV.js";
8
8
  import {
9
9
  StorageManager
10
- } from "./chunk-UIPDNLXA.js";
10
+ } from "./chunk-K4LDMTTY.js";
11
11
  import {
12
12
  isSafeRouteNamespace
13
13
  } from "./chunk-U3PN77QT.js";
@@ -117,4 +117,4 @@ export {
117
117
  runCodexMaterialize,
118
118
  runPostConsolidationMaterialize
119
119
  };
120
- //# sourceMappingURL=chunk-6F6BXB7A.js.map
120
+ //# sourceMappingURL=chunk-67VP6I47.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runPostConsolidationMaterialize
3
- } from "./chunk-6F6BXB7A.js";
3
+ } from "./chunk-67VP6I47.js";
4
4
  import {
5
5
  discoverMemoryExtensions,
6
6
  renderExtensionsBlock,
@@ -217,4 +217,4 @@ export {
217
217
  buildExtensionsBlockForConsolidation,
218
218
  materializeAfterSemanticConsolidation
219
219
  };
220
- //# sourceMappingURL=chunk-6XSPNR6L.js.map
220
+ //# sourceMappingURL=chunk-6HF5VUBQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-UIPDNLXA.js";
3
+ } from "./chunk-K4LDMTTY.js";
4
4
 
5
5
  // src/semantic-rule-promotion.ts
6
6
  function normalizeRuleWhitespace(value) {
@@ -132,4 +132,4 @@ async function promoteSemanticRuleFromMemory(options) {
132
132
  export {
133
133
  promoteSemanticRuleFromMemory
134
134
  };
135
- //# sourceMappingURL=chunk-V2RCP53Q.js.map
135
+ //# sourceMappingURL=chunk-6QKWLP4V.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-HQ6NIBL6.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-UIPDNLXA.js";
6
+ } from "./chunk-K4LDMTTY.js";
7
7
  import {
8
8
  getCachedEpisodeMap,
9
9
  setCachedEpisodeMap
@@ -105,4 +105,4 @@ async function searchVerifiedEpisodes(options) {
105
105
  export {
106
106
  searchVerifiedEpisodes
107
107
  };
108
- //# sourceMappingURL=chunk-XNLXAWHX.js.map
108
+ //# sourceMappingURL=chunk-7TVK7E3R.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-UIPDNLXA.js";
3
+ } from "./chunk-K4LDMTTY.js";
4
4
  import {
5
5
  getCachedRuleMemories,
6
6
  setCachedRuleMemories
@@ -115,4 +115,4 @@ async function searchVerifiedSemanticRules(options) {
115
115
  export {
116
116
  searchVerifiedSemanticRules
117
117
  };
118
- //# sourceMappingURL=chunk-23UORJ4S.js.map
118
+ //# sourceMappingURL=chunk-BE5XAWSA.js.map
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  OFFLINE_SYNC_FILE_CONTENT_MAX_CHUNK_BYTES,
9
9
  OFFLINE_SYNC_MAX_MTIME_MS
10
- } from "./chunk-ZEY4KYRQ.js";
10
+ } from "./chunk-LKCE3NPZ.js";
11
11
  import {
12
12
  validateArchiveRelativePath
13
13
  } from "./chunk-GCGJW34D.js";
@@ -417,4 +417,4 @@ export {
417
417
  actionConfidenceRequestSchema,
418
418
  validateRequest
419
419
  };
420
- //# sourceMappingURL=chunk-5UHVGNZD.js.map
420
+ //# sourceMappingURL=chunk-DGDQZ3JW.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-UIPDNLXA.js";
3
+ } from "./chunk-K4LDMTTY.js";
4
4
  import {
5
5
  decideLifecycleTransition
6
6
  } from "./chunk-TBBDFYXW.js";
@@ -729,4 +729,4 @@ export {
729
729
  listMemoryGovernanceRuns,
730
730
  readMemoryGovernanceRunArtifact
731
731
  };
732
- //# sourceMappingURL=chunk-2AN2L4NL.js.map
732
+ //# sourceMappingURL=chunk-DKOIMCGB.js.map
@@ -50,7 +50,7 @@ import {
50
50
  listMemoryGovernanceRuns,
51
51
  readMemoryGovernanceRunArtifact,
52
52
  runMemoryGovernance
53
- } from "./chunk-2AN2L4NL.js";
53
+ } from "./chunk-DKOIMCGB.js";
54
54
  import {
55
55
  recordMemoryOutcome
56
56
  } from "./chunk-EIR5VLIH.js";
@@ -80,10 +80,10 @@ import {
80
80
  buildBriefing,
81
81
  parseBriefingFocus,
82
82
  parseBriefingWindow
83
- } from "./chunk-YHV3KRKS.js";
83
+ } from "./chunk-TKUQG2PE.js";
84
84
  import {
85
85
  parseEntityFile
86
- } from "./chunk-UIPDNLXA.js";
86
+ } from "./chunk-K4LDMTTY.js";
87
87
  import {
88
88
  DEFAULT_RECALL_DISCLOSURE,
89
89
  isRecallDisclosure
@@ -135,7 +135,7 @@ import {
135
135
  buildOfflineSyncSnapshotFromBase,
136
136
  iterateOfflineSyncSnapshotFileRecords,
137
137
  readOfflineSyncFileContentChunk
138
- } from "./chunk-ZEY4KYRQ.js";
138
+ } from "./chunk-LKCE3NPZ.js";
139
139
  import {
140
140
  evaluateActionConfidence
141
141
  } from "./chunk-AH2JUU6X.js";
@@ -4211,4 +4211,4 @@ export {
4211
4211
  shapeMemorySummary,
4212
4212
  EngramAccessService
4213
4213
  };
4214
- //# sourceMappingURL=chunk-5V456VRV.js.map
4214
+ //# sourceMappingURL=chunk-HX5XV3GL.js.map
@@ -1707,6 +1707,10 @@ var StorageManager = class _StorageManager {
1707
1707
  factHashIndexAuthoritative = null;
1708
1708
  factHashIndexAuthoritativePromise = null;
1709
1709
  secureAppendChains = /* @__PURE__ */ new Map();
1710
+ offlineSyncDigestCache = null;
1711
+ offlineSyncDigestCacheLoadPromise = null;
1712
+ offlineSyncDigestCacheWriteChain = Promise.resolve();
1713
+ offlineSyncDigestCacheWriteTimer = null;
1710
1714
  /** Optional: set by the orchestrator after construction to enable template-aware citation stripping during legacy hash rebuild. */
1711
1715
  citationTemplate = DEFAULT_CITATION_FORMAT;
1712
1716
  /** Page-versioning configuration. Set by the orchestrator after construction. */
@@ -1942,24 +1946,122 @@ var StorageManager = class _StorageManager {
1942
1946
  }
1943
1947
  async digestOfflineSyncFile(filePath) {
1944
1948
  const target = this.assertManagedStoragePath(filePath, "storage.digestOfflineSyncFile");
1945
- if (await this.offlineSyncFileIsEncrypted(target)) {
1946
- const content = await readMaybeEncryptedFileBuffer(target, this._secureStoreKey, this.baseDir);
1949
+ const st = await stat(target);
1950
+ const relPath = path.relative(this.baseDir, target).split(path.sep).join("/");
1951
+ const cache = await this.loadOfflineSyncDigestCache();
1952
+ const cached = cache.get(relPath);
1953
+ if (cached && cached.statBytes === st.size && cached.mtimeMs === st.mtimeMs && cached.ctimeMs === st.ctimeMs && !cached.encrypted) {
1947
1954
  return {
1955
+ sha256: cached.sha256,
1956
+ bytes: cached.bytes
1957
+ };
1958
+ }
1959
+ const encrypted = await this.offlineSyncFileIsEncrypted(target);
1960
+ let digest;
1961
+ if (encrypted) {
1962
+ const content = await readMaybeEncryptedFileBuffer(target, this._secureStoreKey, this.baseDir);
1963
+ digest = {
1948
1964
  sha256: createHash("sha256").update(content).digest("hex"),
1949
1965
  bytes: content.byteLength
1950
1966
  };
1967
+ } else {
1968
+ const hash = createHash("sha256");
1969
+ let bytes = 0;
1970
+ for await (const rawChunk of createReadStream(target)) {
1971
+ const chunk = Buffer.isBuffer(rawChunk) ? rawChunk : Buffer.from(rawChunk);
1972
+ hash.update(chunk);
1973
+ bytes += chunk.length;
1974
+ }
1975
+ digest = {
1976
+ sha256: hash.digest("hex"),
1977
+ bytes
1978
+ };
1951
1979
  }
1952
- const hash = createHash("sha256");
1953
- let bytes = 0;
1954
- for await (const rawChunk of createReadStream(target)) {
1955
- const chunk = Buffer.isBuffer(rawChunk) ? rawChunk : Buffer.from(rawChunk);
1956
- hash.update(chunk);
1957
- bytes += chunk.length;
1980
+ if (!encrypted) {
1981
+ this.rememberOfflineSyncDigest(relPath, st, digest);
1958
1982
  }
1959
- return {
1960
- sha256: hash.digest("hex"),
1961
- bytes
1962
- };
1983
+ return digest;
1984
+ }
1985
+ async loadOfflineSyncDigestCache() {
1986
+ if (this.offlineSyncDigestCache) return this.offlineSyncDigestCache;
1987
+ if (!this.offlineSyncDigestCacheLoadPromise) {
1988
+ this.offlineSyncDigestCacheLoadPromise = this.readOfflineSyncDigestCache();
1989
+ }
1990
+ this.offlineSyncDigestCache = await this.offlineSyncDigestCacheLoadPromise;
1991
+ return this.offlineSyncDigestCache;
1992
+ }
1993
+ async readOfflineSyncDigestCache() {
1994
+ const cache = /* @__PURE__ */ new Map();
1995
+ try {
1996
+ const raw = await readFile(this.offlineSyncDigestCachePath, "utf-8");
1997
+ const parsed = JSON.parse(raw);
1998
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) return cache;
1999
+ const entries = parsed.entries;
2000
+ if (!Array.isArray(entries)) return cache;
2001
+ for (const entry of entries) {
2002
+ if (!entry || typeof entry !== "object" || Array.isArray(entry)) continue;
2003
+ const record = entry;
2004
+ const cachePath = typeof record.path === "string" ? record.path : "";
2005
+ const statBytes = typeof record.statBytes === "number" ? record.statBytes : NaN;
2006
+ const mtimeMs = typeof record.mtimeMs === "number" ? record.mtimeMs : NaN;
2007
+ const ctimeMs = typeof record.ctimeMs === "number" ? record.ctimeMs : NaN;
2008
+ const bytes = typeof record.bytes === "number" ? record.bytes : NaN;
2009
+ const sha256 = typeof record.sha256 === "string" ? record.sha256 : "";
2010
+ const encrypted = record.encrypted === true;
2011
+ if (cachePath.length === 0 || cachePath === ".." || cachePath.startsWith("../") || path.isAbsolute(cachePath) || !Number.isFinite(statBytes) || !Number.isFinite(mtimeMs) || !Number.isFinite(ctimeMs) || !Number.isFinite(bytes) || !/^[a-f0-9]{64}$/i.test(sha256)) {
2012
+ continue;
2013
+ }
2014
+ cache.set(cachePath, { statBytes, mtimeMs, ctimeMs, encrypted, sha256, bytes });
2015
+ }
2016
+ } catch (err) {
2017
+ if (!isErrnoCode(err, "ENOENT")) {
2018
+ log.warn(
2019
+ `storage.offlineSyncDigestCache: ignoring unreadable cache: ${err instanceof Error ? err.message : String(err)}`
2020
+ );
2021
+ }
2022
+ }
2023
+ return cache;
2024
+ }
2025
+ rememberOfflineSyncDigest(relPath, st, digest) {
2026
+ const cache = this.offlineSyncDigestCache;
2027
+ if (!cache) return;
2028
+ cache.set(relPath, {
2029
+ statBytes: st.size,
2030
+ mtimeMs: st.mtimeMs,
2031
+ ctimeMs: st.ctimeMs,
2032
+ encrypted: false,
2033
+ sha256: digest.sha256,
2034
+ bytes: digest.bytes
2035
+ });
2036
+ this.scheduleOfflineSyncDigestCacheWrite();
2037
+ }
2038
+ scheduleOfflineSyncDigestCacheWrite() {
2039
+ if (this.offlineSyncDigestCacheWriteTimer) {
2040
+ clearTimeout(this.offlineSyncDigestCacheWriteTimer);
2041
+ }
2042
+ this.offlineSyncDigestCacheWriteTimer = setTimeout(() => {
2043
+ this.offlineSyncDigestCacheWriteTimer = null;
2044
+ this.queueOfflineSyncDigestCacheWrite();
2045
+ }, 1e3);
2046
+ this.offlineSyncDigestCacheWriteTimer.unref?.();
2047
+ }
2048
+ queueOfflineSyncDigestCacheWrite() {
2049
+ this.offlineSyncDigestCacheWriteChain = this.offlineSyncDigestCacheWriteChain.catch(() => void 0).then(async () => {
2050
+ const cache = this.offlineSyncDigestCache;
2051
+ if (!cache) return;
2052
+ const entries = [...cache.entries()].sort(([a], [b]) => a.localeCompare(b)).map(([entryPath, entry]) => ({ path: entryPath, ...entry }));
2053
+ await mkdir(path.dirname(this.offlineSyncDigestCachePath), { recursive: true });
2054
+ await writeFile(
2055
+ this.offlineSyncDigestCachePath,
2056
+ `${JSON.stringify({ version: 1, entries })}
2057
+ `,
2058
+ "utf-8"
2059
+ );
2060
+ }).catch((err) => {
2061
+ log.warn(
2062
+ `storage.offlineSyncDigestCache: failed to write cache: ${err instanceof Error ? err.message : String(err)}`
2063
+ );
2064
+ });
1963
2065
  }
1964
2066
  async offlineSyncFileIsEncrypted(filePath) {
1965
2067
  const handle = await open(filePath, "r");
@@ -2058,6 +2160,9 @@ var StorageManager = class _StorageManager {
2058
2160
  get stateDir() {
2059
2161
  return path.join(this.baseDir, "state");
2060
2162
  }
2163
+ get offlineSyncDigestCachePath() {
2164
+ return path.join(this.baseDir, ".offline-sync", "digest-cache.v1.json");
2165
+ }
2061
2166
  get entitySynthesisQueuePath() {
2062
2167
  return path.join(this.stateDir, "entity-synthesis-queue.json");
2063
2168
  }
@@ -5221,4 +5326,4 @@ export {
5221
5326
  serializeEntityFile,
5222
5327
  StorageManager
5223
5328
  };
5224
- //# sourceMappingURL=chunk-UIPDNLXA.js.map
5329
+ //# sourceMappingURL=chunk-K4LDMTTY.js.map