@remnic/core 9.3.621 → 9.3.622

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 (88) hide show
  1. package/dist/access-cli.js +16 -16
  2. package/dist/access-http.js +8 -8
  3. package/dist/access-mcp.js +7 -7
  4. package/dist/access-service.js +6 -6
  5. package/dist/briefing.js +4 -4
  6. package/dist/causal-consolidation.js +5 -5
  7. package/dist/{chunk-5BTCT236.js → chunk-2GRRN7SZ.js} +2 -2
  8. package/dist/{chunk-HA5SI4GK.js → chunk-3GM7ZY6H.js} +4 -4
  9. package/dist/{chunk-AZDOWD2L.js → chunk-4G2RQTAE.js} +2 -2
  10. package/dist/{chunk-C6C7XVKG.js → chunk-4MHHUPNH.js} +2 -2
  11. package/dist/{chunk-THTIZJZA.js → chunk-4NS2ELXF.js} +3 -3
  12. package/dist/{chunk-3HPAPHUK.js → chunk-6KYMPV2O.js} +12 -11
  13. package/dist/chunk-6KYMPV2O.js.map +1 -0
  14. package/dist/{chunk-S53OYO3F.js → chunk-7VFZTJ7K.js} +2 -2
  15. package/dist/{chunk-4RR6ROTB.js → chunk-AGNBY3VG.js} +2 -2
  16. package/dist/{chunk-YEEAADCI.js → chunk-AVHPSLQ2.js} +2 -2
  17. package/dist/{chunk-QPD426WT.js → chunk-CCNZM5UM.js} +2 -2
  18. package/dist/{chunk-QVO4YOB7.js → chunk-D2B22JDF.js} +2 -2
  19. package/dist/{chunk-7MLB4NCL.js → chunk-DXBCNDVD.js} +2 -2
  20. package/dist/{chunk-O3U5BPUP.js → chunk-EDP57PFC.js} +9 -9
  21. package/dist/{chunk-F4QTFIB4.js → chunk-EOLCAPOU.js} +5 -5
  22. package/dist/{chunk-APRRL26Q.js → chunk-GA3PMY73.js} +2 -2
  23. package/dist/{chunk-IEUU7O4F.js → chunk-LANHQ7EN.js} +2 -2
  24. package/dist/{chunk-B6SU7YSE.js → chunk-LMZ7XQBB.js} +5 -5
  25. package/dist/{chunk-7XYTQGCC.js → chunk-MAV46GWQ.js} +2 -2
  26. package/dist/{chunk-KILOTVIF.js → chunk-MB5RSUW6.js} +2 -2
  27. package/dist/{chunk-CIOMS6DI.js → chunk-UCGCSZP2.js} +2 -2
  28. package/dist/{chunk-GLPBYIXN.js → chunk-UK727RHF.js} +2 -2
  29. package/dist/{chunk-4EWRLK3C.js → chunk-VNR3K2R3.js} +14 -14
  30. package/dist/{chunk-TIPYPLLQ.js → chunk-XQUIHXNI.js} +3 -3
  31. package/dist/{chunk-PP2JH3GP.js → chunk-YPNGPHNZ.js} +2 -2
  32. package/dist/{chunk-DEPRLVLK.js → chunk-ZNCDQZIS.js} +2 -2
  33. package/dist/{chunk-XQNPGNKK.js → chunk-ZUNNG6PC.js} +2 -2
  34. package/dist/cli.js +19 -19
  35. package/dist/compounding/engine.js +4 -4
  36. package/dist/connectors/codex-materialize-runner.js +4 -4
  37. package/dist/connectors/index.js +4 -4
  38. package/dist/entity-retrieval.js +4 -4
  39. package/dist/index.js +26 -26
  40. package/dist/lcm/engine.js +3 -3
  41. package/dist/lcm/index.js +3 -3
  42. package/dist/lcm/schema.js +2 -2
  43. package/dist/maintenance/memory-governance.js +4 -4
  44. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +4 -4
  45. package/dist/maintenance/rebuild-memory-projection.js +5 -5
  46. package/dist/memory-projection-store.js +2 -2
  47. package/dist/namespaces/migrate.js +5 -5
  48. package/dist/namespaces/storage.js +4 -4
  49. package/dist/operator-toolkit.js +7 -7
  50. package/dist/orchestrator.js +13 -13
  51. package/dist/runtime/better-sqlite.d.ts +2 -1
  52. package/dist/runtime/better-sqlite.js +3 -1
  53. package/dist/semantic-consolidation.js +5 -5
  54. package/dist/semantic-rule-promotion.js +4 -4
  55. package/dist/semantic-rule-verifier.js +4 -4
  56. package/dist/storage.js +3 -3
  57. package/dist/transfer/export-sqlite.js +2 -2
  58. package/dist/transfer/import-sqlite.js +2 -2
  59. package/dist/verified-recall.js +4 -4
  60. package/package.json +1 -1
  61. package/src/runtime/better-sqlite.test.ts +29 -0
  62. package/src/runtime/better-sqlite.ts +30 -8
  63. package/dist/chunk-3HPAPHUK.js.map +0 -1
  64. /package/dist/{chunk-5BTCT236.js.map → chunk-2GRRN7SZ.js.map} +0 -0
  65. /package/dist/{chunk-HA5SI4GK.js.map → chunk-3GM7ZY6H.js.map} +0 -0
  66. /package/dist/{chunk-AZDOWD2L.js.map → chunk-4G2RQTAE.js.map} +0 -0
  67. /package/dist/{chunk-C6C7XVKG.js.map → chunk-4MHHUPNH.js.map} +0 -0
  68. /package/dist/{chunk-THTIZJZA.js.map → chunk-4NS2ELXF.js.map} +0 -0
  69. /package/dist/{chunk-S53OYO3F.js.map → chunk-7VFZTJ7K.js.map} +0 -0
  70. /package/dist/{chunk-4RR6ROTB.js.map → chunk-AGNBY3VG.js.map} +0 -0
  71. /package/dist/{chunk-YEEAADCI.js.map → chunk-AVHPSLQ2.js.map} +0 -0
  72. /package/dist/{chunk-QPD426WT.js.map → chunk-CCNZM5UM.js.map} +0 -0
  73. /package/dist/{chunk-QVO4YOB7.js.map → chunk-D2B22JDF.js.map} +0 -0
  74. /package/dist/{chunk-7MLB4NCL.js.map → chunk-DXBCNDVD.js.map} +0 -0
  75. /package/dist/{chunk-O3U5BPUP.js.map → chunk-EDP57PFC.js.map} +0 -0
  76. /package/dist/{chunk-F4QTFIB4.js.map → chunk-EOLCAPOU.js.map} +0 -0
  77. /package/dist/{chunk-APRRL26Q.js.map → chunk-GA3PMY73.js.map} +0 -0
  78. /package/dist/{chunk-IEUU7O4F.js.map → chunk-LANHQ7EN.js.map} +0 -0
  79. /package/dist/{chunk-B6SU7YSE.js.map → chunk-LMZ7XQBB.js.map} +0 -0
  80. /package/dist/{chunk-7XYTQGCC.js.map → chunk-MAV46GWQ.js.map} +0 -0
  81. /package/dist/{chunk-KILOTVIF.js.map → chunk-MB5RSUW6.js.map} +0 -0
  82. /package/dist/{chunk-CIOMS6DI.js.map → chunk-UCGCSZP2.js.map} +0 -0
  83. /package/dist/{chunk-GLPBYIXN.js.map → chunk-UK727RHF.js.map} +0 -0
  84. /package/dist/{chunk-4EWRLK3C.js.map → chunk-VNR3K2R3.js.map} +0 -0
  85. /package/dist/{chunk-TIPYPLLQ.js.map → chunk-XQUIHXNI.js.map} +0 -0
  86. /package/dist/{chunk-PP2JH3GP.js.map → chunk-YPNGPHNZ.js.map} +0 -0
  87. /package/dist/{chunk-DEPRLVLK.js.map → chunk-ZNCDQZIS.js.map} +0 -0
  88. /package/dist/{chunk-XQNPGNKK.js.map → chunk-ZUNNG6PC.js.map} +0 -0
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  LcmEngine,
3
3
  extractLcmConfig
4
- } from "../chunk-QVO4YOB7.js";
4
+ } from "../chunk-D2B22JDF.js";
5
5
  import "../chunk-7N4KAIGN.js";
6
6
  import "../chunk-TPDBFYEG.js";
7
7
  import "../chunk-KCYE2MZM.js";
8
- import "../chunk-7XYTQGCC.js";
8
+ import "../chunk-MAV46GWQ.js";
9
9
  import "../chunk-5VDJMYTF.js";
10
10
  import "../chunk-HP5FMB6L.js";
11
11
  import "../chunk-4RA3C3EV.js";
12
12
  import "../chunk-CI7RKSRE.js";
13
- import "../chunk-3HPAPHUK.js";
13
+ import "../chunk-6KYMPV2O.js";
14
14
  import "../chunk-2ODBA7MQ.js";
15
15
  import "../chunk-PZ5AY32C.js";
16
16
  export {
package/dist/lcm/index.js CHANGED
@@ -2,7 +2,7 @@ import "../chunk-HHLLAQGZ.js";
2
2
  import {
3
3
  LcmEngine,
4
4
  extractLcmConfig
5
- } from "../chunk-QVO4YOB7.js";
5
+ } from "../chunk-D2B22JDF.js";
6
6
  import {
7
7
  LcmDag
8
8
  } from "../chunk-7N4KAIGN.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  ensureLcmStateDir,
15
15
  openLcmDatabase
16
- } from "../chunk-7XYTQGCC.js";
16
+ } from "../chunk-MAV46GWQ.js";
17
17
  import {
18
18
  LcmSummarizer
19
19
  } from "../chunk-5VDJMYTF.js";
@@ -26,7 +26,7 @@ import {
26
26
  } from "../chunk-HP5FMB6L.js";
27
27
  import "../chunk-4RA3C3EV.js";
28
28
  import "../chunk-CI7RKSRE.js";
29
- import "../chunk-3HPAPHUK.js";
29
+ import "../chunk-6KYMPV2O.js";
30
30
  import "../chunk-2ODBA7MQ.js";
31
31
  import "../chunk-PZ5AY32C.js";
32
32
  export {
@@ -2,8 +2,8 @@ import {
2
2
  applyLcmSchema,
3
3
  ensureLcmStateDir,
4
4
  openLcmDatabase
5
- } from "../chunk-7XYTQGCC.js";
6
- import "../chunk-3HPAPHUK.js";
5
+ } from "../chunk-MAV46GWQ.js";
6
+ import "../chunk-6KYMPV2O.js";
7
7
  import "../chunk-2ODBA7MQ.js";
8
8
  import "../chunk-PZ5AY32C.js";
9
9
  export {
@@ -7,15 +7,15 @@ import {
7
7
  readMemoryGovernanceRunArtifact,
8
8
  restoreMemoryGovernanceRun,
9
9
  runMemoryGovernance
10
- } from "../chunk-5BTCT236.js";
11
- import "../chunk-7MLB4NCL.js";
10
+ } from "../chunk-2GRRN7SZ.js";
11
+ import "../chunk-DXBCNDVD.js";
12
12
  import "../chunk-5UZXUTVO.js";
13
13
  import "../chunk-4H5ZJHEN.js";
14
14
  import "../chunk-4R4KTDIE.js";
15
15
  import "../chunk-RULE4VG5.js";
16
16
  import "../chunk-SCU65EZI.js";
17
- import "../chunk-KILOTVIF.js";
18
- import "../chunk-3HPAPHUK.js";
17
+ import "../chunk-MB5RSUW6.js";
18
+ import "../chunk-6KYMPV2O.js";
19
19
  import "../chunk-CPPS65WS.js";
20
20
  import "../chunk-DM2T26WE.js";
21
21
  import "../chunk-QSVPYQPG.js";
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  backupExistingLedger,
3
3
  rebuildMemoryLifecycleLedger
4
- } from "../chunk-APRRL26Q.js";
4
+ } from "../chunk-GA3PMY73.js";
5
5
  import "../chunk-KJTKLXTH.js";
6
6
  import "../chunk-SFQ6QNL7.js";
7
- import "../chunk-7MLB4NCL.js";
7
+ import "../chunk-DXBCNDVD.js";
8
8
  import "../chunk-5UZXUTVO.js";
9
9
  import "../chunk-4H5ZJHEN.js";
10
10
  import "../chunk-4R4KTDIE.js";
11
11
  import "../chunk-RULE4VG5.js";
12
12
  import "../chunk-SCU65EZI.js";
13
- import "../chunk-KILOTVIF.js";
14
- import "../chunk-3HPAPHUK.js";
13
+ import "../chunk-MB5RSUW6.js";
14
+ import "../chunk-6KYMPV2O.js";
15
15
  import "../chunk-CPPS65WS.js";
16
16
  import "../chunk-DM2T26WE.js";
17
17
  import "../chunk-QSVPYQPG.js";
@@ -3,19 +3,19 @@ import {
3
3
  rebuildMemoryProjection,
4
4
  repairMemoryProjection,
5
5
  verifyMemoryProjection
6
- } from "../chunk-B6SU7YSE.js";
6
+ } from "../chunk-LMZ7XQBB.js";
7
7
  import "../chunk-KJTKLXTH.js";
8
8
  import "../chunk-SFQ6QNL7.js";
9
9
  import "../chunk-BEUDU7Y4.js";
10
- import "../chunk-5BTCT236.js";
11
- import "../chunk-7MLB4NCL.js";
10
+ import "../chunk-2GRRN7SZ.js";
11
+ import "../chunk-DXBCNDVD.js";
12
12
  import "../chunk-5UZXUTVO.js";
13
13
  import "../chunk-4H5ZJHEN.js";
14
14
  import "../chunk-4R4KTDIE.js";
15
15
  import "../chunk-RULE4VG5.js";
16
16
  import "../chunk-SCU65EZI.js";
17
- import "../chunk-KILOTVIF.js";
18
- import "../chunk-3HPAPHUK.js";
17
+ import "../chunk-MB5RSUW6.js";
18
+ import "../chunk-6KYMPV2O.js";
19
19
  import "../chunk-CPPS65WS.js";
20
20
  import "../chunk-DM2T26WE.js";
21
21
  import "../chunk-QSVPYQPG.js";
@@ -12,8 +12,8 @@ import {
12
12
  readProjectedMemoryState,
13
13
  readProjectedMemoryTimeline,
14
14
  readProjectedNativeKnowledgeChunks
15
- } from "./chunk-KILOTVIF.js";
16
- import "./chunk-3HPAPHUK.js";
15
+ } from "./chunk-MB5RSUW6.js";
16
+ import "./chunk-6KYMPV2O.js";
17
17
  import "./chunk-PZ5AY32C.js";
18
18
  export {
19
19
  MEMORY_PROJECTION_SCHEMA_VERSION,
@@ -2,7 +2,7 @@ import {
2
2
  listNamespaces,
3
3
  runNamespaceMigration,
4
4
  verifyNamespaces
5
- } from "../chunk-YEEAADCI.js";
5
+ } from "../chunk-AVHPSLQ2.js";
6
6
  import "../chunk-ZJR7VG5L.js";
7
7
  import "../chunk-YRMKDTKF.js";
8
8
  import "../chunk-JOASJWQR.js";
@@ -13,7 +13,7 @@ import "../chunk-CYEPCZN5.js";
13
13
  import "../chunk-DCGT4FPP.js";
14
14
  import "../chunk-Q4CAQGKQ.js";
15
15
  import "../chunk-CINZGPSJ.js";
16
- import "../chunk-XQNPGNKK.js";
16
+ import "../chunk-ZUNNG6PC.js";
17
17
  import "../chunk-ZFXCQPNO.js";
18
18
  import "../chunk-Q6YIJGXJ.js";
19
19
  import "../chunk-ORFGK3XI.js";
@@ -24,14 +24,14 @@ import "../chunk-FAV25DUZ.js";
24
24
  import "../chunk-3ONXXHQO.js";
25
25
  import "../chunk-PVGDJXVK.js";
26
26
  import "../chunk-NNVTUXEB.js";
27
- import "../chunk-7MLB4NCL.js";
27
+ import "../chunk-DXBCNDVD.js";
28
28
  import "../chunk-5UZXUTVO.js";
29
29
  import "../chunk-4H5ZJHEN.js";
30
30
  import "../chunk-4R4KTDIE.js";
31
31
  import "../chunk-RULE4VG5.js";
32
32
  import "../chunk-SCU65EZI.js";
33
- import "../chunk-KILOTVIF.js";
34
- import "../chunk-3HPAPHUK.js";
33
+ import "../chunk-MB5RSUW6.js";
34
+ import "../chunk-6KYMPV2O.js";
35
35
  import "../chunk-CPPS65WS.js";
36
36
  import "../chunk-DM2T26WE.js";
37
37
  import "../chunk-QSVPYQPG.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  NamespaceStorageRouter
3
- } from "../chunk-XQNPGNKK.js";
3
+ } from "../chunk-ZUNNG6PC.js";
4
4
  import "../chunk-ZFXCQPNO.js";
5
- import "../chunk-7MLB4NCL.js";
5
+ import "../chunk-DXBCNDVD.js";
6
6
  import "../chunk-5UZXUTVO.js";
7
7
  import "../chunk-4H5ZJHEN.js";
8
8
  import "../chunk-4R4KTDIE.js";
9
9
  import "../chunk-RULE4VG5.js";
10
10
  import "../chunk-SCU65EZI.js";
11
- import "../chunk-KILOTVIF.js";
12
- import "../chunk-3HPAPHUK.js";
11
+ import "../chunk-MB5RSUW6.js";
12
+ import "../chunk-6KYMPV2O.js";
13
13
  import "../chunk-CPPS65WS.js";
14
14
  import "../chunk-DM2T26WE.js";
15
15
  import "../chunk-QSVPYQPG.js";
@@ -11,8 +11,8 @@ import {
11
11
  summarizeMemoryWorthLegacyCounters,
12
12
  summarizeObservationThroughput,
13
13
  summarizeTierDistribution
14
- } from "./chunk-HA5SI4GK.js";
15
- import "./chunk-YEEAADCI.js";
14
+ } from "./chunk-3GM7ZY6H.js";
15
+ import "./chunk-AVHPSLQ2.js";
16
16
  import "./chunk-AL4RAJL5.js";
17
17
  import "./chunk-YBPYIAA5.js";
18
18
  import "./chunk-ZJR7VG5L.js";
@@ -25,7 +25,7 @@ import "./chunk-CYEPCZN5.js";
25
25
  import "./chunk-DCGT4FPP.js";
26
26
  import "./chunk-Q4CAQGKQ.js";
27
27
  import "./chunk-CINZGPSJ.js";
28
- import "./chunk-XQNPGNKK.js";
28
+ import "./chunk-ZUNNG6PC.js";
29
29
  import "./chunk-ZFXCQPNO.js";
30
30
  import "./chunk-Q6YIJGXJ.js";
31
31
  import "./chunk-ORFGK3XI.js";
@@ -43,19 +43,19 @@ import "./chunk-5GOMXHLC.js";
43
43
  import "./chunk-PHK3HARR.js";
44
44
  import "./chunk-Z5LAYHGJ.js";
45
45
  import "./chunk-PVGDJXVK.js";
46
- import "./chunk-5BTCT236.js";
46
+ import "./chunk-2GRRN7SZ.js";
47
47
  import "./chunk-NNVTUXEB.js";
48
48
  import "./chunk-XL7FK7PJ.js";
49
49
  import "./chunk-2LSZVONP.js";
50
50
  import "./chunk-DEUNUKTD.js";
51
- import "./chunk-7MLB4NCL.js";
51
+ import "./chunk-DXBCNDVD.js";
52
52
  import "./chunk-5UZXUTVO.js";
53
53
  import "./chunk-4H5ZJHEN.js";
54
54
  import "./chunk-4R4KTDIE.js";
55
55
  import "./chunk-RULE4VG5.js";
56
56
  import "./chunk-SCU65EZI.js";
57
- import "./chunk-KILOTVIF.js";
58
- import "./chunk-3HPAPHUK.js";
57
+ import "./chunk-MB5RSUW6.js";
58
+ import "./chunk-6KYMPV2O.js";
59
59
  import "./chunk-CPPS65WS.js";
60
60
  import "./chunk-DM2T26WE.js";
61
61
  import "./chunk-QSVPYQPG.js";
@@ -27,22 +27,22 @@ import {
27
27
  sanitizeSessionKeyForFilename,
28
28
  shouldFilterLifecycleRecallCandidate,
29
29
  summarizeGraphShadowComparison
30
- } from "./chunk-O3U5BPUP.js";
30
+ } from "./chunk-EDP57PFC.js";
31
31
  import "./chunk-5RIRL3XL.js";
32
32
  import "./chunk-4HFJQCJZ.js";
33
33
  import "./chunk-6BDVBBBY.js";
34
34
  import "./chunk-HHLLAQGZ.js";
35
- import "./chunk-QVO4YOB7.js";
35
+ import "./chunk-D2B22JDF.js";
36
36
  import "./chunk-7N4KAIGN.js";
37
37
  import "./chunk-TPDBFYEG.js";
38
38
  import "./chunk-KCYE2MZM.js";
39
- import "./chunk-7XYTQGCC.js";
39
+ import "./chunk-MAV46GWQ.js";
40
40
  import "./chunk-5VDJMYTF.js";
41
41
  import "./chunk-UWK5OXUJ.js";
42
42
  import "./chunk-TECVW3JP.js";
43
43
  import "./chunk-T2PO5MUF.js";
44
44
  import "./chunk-HP5FMB6L.js";
45
- import "./chunk-GLPBYIXN.js";
45
+ import "./chunk-UK727RHF.js";
46
46
  import "./chunk-DRD2Q7HQ.js";
47
47
  import "./chunk-LXOM6IQU.js";
48
48
  import "./chunk-S75M5ZRK.js";
@@ -83,7 +83,7 @@ import "./chunk-54V4BZWP.js";
83
83
  import "./chunk-XZ4WBBB5.js";
84
84
  import "./chunk-77NAFXUD.js";
85
85
  import "./chunk-DB5A3NHS.js";
86
- import "./chunk-IEUU7O4F.js";
86
+ import "./chunk-LANHQ7EN.js";
87
87
  import "./chunk-6NKAQ74D.js";
88
88
  import "./chunk-OAZ5MFUB.js";
89
89
  import "./chunk-PYPOFEMK.js";
@@ -94,17 +94,17 @@ import "./chunk-6HEM6HTQ.js";
94
94
  import "./chunk-XCAZF7KQ.js";
95
95
  import "./chunk-3PG3H5TD.js";
96
96
  import "./chunk-OD4FM2U7.js";
97
- import "./chunk-DEPRLVLK.js";
98
- import "./chunk-C6C7XVKG.js";
97
+ import "./chunk-ZNCDQZIS.js";
98
+ import "./chunk-4MHHUPNH.js";
99
99
  import "./chunk-JFEKNTX7.js";
100
100
  import "./chunk-JLNBQWZ2.js";
101
101
  import "./chunk-2PRQG7PV.js";
102
102
  import "./chunk-X6IRLNOO.js";
103
103
  import "./chunk-2F6NP3NT.js";
104
104
  import "./chunk-TERNBNJB.js";
105
- import "./chunk-QPD426WT.js";
105
+ import "./chunk-CCNZM5UM.js";
106
106
  import "./chunk-W4RVMTHR.js";
107
- import "./chunk-PP2JH3GP.js";
107
+ import "./chunk-YPNGPHNZ.js";
108
108
  import "./chunk-ZRWB5D4H.js";
109
109
  import "./chunk-A6D7A2FW.js";
110
110
  import "./chunk-FF4KLI5W.js";
@@ -119,7 +119,7 @@ import "./chunk-CYEPCZN5.js";
119
119
  import "./chunk-DCGT4FPP.js";
120
120
  import "./chunk-Q4CAQGKQ.js";
121
121
  import "./chunk-CINZGPSJ.js";
122
- import "./chunk-XQNPGNKK.js";
122
+ import "./chunk-ZUNNG6PC.js";
123
123
  import "./chunk-ZFXCQPNO.js";
124
124
  import "./chunk-Q6YIJGXJ.js";
125
125
  import "./chunk-ORFGK3XI.js";
@@ -171,14 +171,14 @@ import "./chunk-IMA6GU4Y.js";
171
171
  import "./chunk-XL7FK7PJ.js";
172
172
  import "./chunk-2LSZVONP.js";
173
173
  import "./chunk-DEUNUKTD.js";
174
- import "./chunk-7MLB4NCL.js";
174
+ import "./chunk-DXBCNDVD.js";
175
175
  import "./chunk-5UZXUTVO.js";
176
176
  import "./chunk-4H5ZJHEN.js";
177
177
  import "./chunk-4R4KTDIE.js";
178
178
  import "./chunk-RULE4VG5.js";
179
179
  import "./chunk-SCU65EZI.js";
180
- import "./chunk-KILOTVIF.js";
181
- import "./chunk-3HPAPHUK.js";
180
+ import "./chunk-MB5RSUW6.js";
181
+ import "./chunk-6KYMPV2O.js";
182
182
  import "./chunk-CPPS65WS.js";
183
183
  import "./chunk-DM2T26WE.js";
184
184
  import "./chunk-QSVPYQPG.js";
@@ -4,5 +4,6 @@ type BetterSqlite3Database = BetterSqlite3.Database;
4
4
  type BetterSqlite3Ctor = typeof BetterSqlite3;
5
5
  declare function openBetterSqlite3(file: string, options?: ConstructorParameters<BetterSqlite3Ctor>[1]): BetterSqlite3Database;
6
6
  declare function isLikelyBetterSqlite3NativeBindingError(error: unknown): boolean;
7
+ declare function displayErrorDetail(error: unknown): string;
7
8
 
8
- export { type BetterSqlite3Database, isLikelyBetterSqlite3NativeBindingError, openBetterSqlite3 };
9
+ export { type BetterSqlite3Database, displayErrorDetail, isLikelyBetterSqlite3NativeBindingError, openBetterSqlite3 };
@@ -1,9 +1,11 @@
1
1
  import {
2
+ displayErrorDetail,
2
3
  isLikelyBetterSqlite3NativeBindingError,
3
4
  openBetterSqlite3
4
- } from "../chunk-3HPAPHUK.js";
5
+ } from "../chunk-6KYMPV2O.js";
5
6
  import "../chunk-PZ5AY32C.js";
6
7
  export {
8
+ displayErrorDetail,
7
9
  isLikelyBetterSqlite3NativeBindingError,
8
10
  openBetterSqlite3
9
11
  };
@@ -7,21 +7,21 @@ import {
7
7
  materializeAfterSemanticConsolidation,
8
8
  parseConsolidationResponse,
9
9
  parseOperatorAwareConsolidationResponse
10
- } from "./chunk-DEPRLVLK.js";
11
- import "./chunk-C6C7XVKG.js";
10
+ } from "./chunk-ZNCDQZIS.js";
11
+ import "./chunk-4MHHUPNH.js";
12
12
  import "./chunk-JFEKNTX7.js";
13
13
  import {
14
14
  resolveExtensionsRoot
15
15
  } from "./chunk-JLNBQWZ2.js";
16
16
  import "./chunk-3UXOZBHV.js";
17
- import "./chunk-7MLB4NCL.js";
17
+ import "./chunk-DXBCNDVD.js";
18
18
  import "./chunk-5UZXUTVO.js";
19
19
  import "./chunk-4H5ZJHEN.js";
20
20
  import "./chunk-4R4KTDIE.js";
21
21
  import "./chunk-RULE4VG5.js";
22
22
  import "./chunk-SCU65EZI.js";
23
- import "./chunk-KILOTVIF.js";
24
- import "./chunk-3HPAPHUK.js";
23
+ import "./chunk-MB5RSUW6.js";
24
+ import "./chunk-6KYMPV2O.js";
25
25
  import "./chunk-CPPS65WS.js";
26
26
  import "./chunk-DM2T26WE.js";
27
27
  import "./chunk-QSVPYQPG.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  promoteSemanticRuleFromMemory,
3
3
  setSemanticRulePromotionTestHooks
4
- } from "./chunk-CIOMS6DI.js";
5
- import "./chunk-7MLB4NCL.js";
4
+ } from "./chunk-UCGCSZP2.js";
5
+ import "./chunk-DXBCNDVD.js";
6
6
  import "./chunk-5UZXUTVO.js";
7
7
  import "./chunk-4H5ZJHEN.js";
8
8
  import "./chunk-4R4KTDIE.js";
9
9
  import "./chunk-RULE4VG5.js";
10
10
  import "./chunk-SCU65EZI.js";
11
- import "./chunk-KILOTVIF.js";
12
- import "./chunk-3HPAPHUK.js";
11
+ import "./chunk-MB5RSUW6.js";
12
+ import "./chunk-6KYMPV2O.js";
13
13
  import "./chunk-CPPS65WS.js";
14
14
  import "./chunk-DM2T26WE.js";
15
15
  import "./chunk-QSVPYQPG.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  searchVerifiedSemanticRules
3
- } from "./chunk-PP2JH3GP.js";
4
- import "./chunk-7MLB4NCL.js";
3
+ } from "./chunk-YPNGPHNZ.js";
4
+ import "./chunk-DXBCNDVD.js";
5
5
  import "./chunk-5UZXUTVO.js";
6
6
  import "./chunk-4H5ZJHEN.js";
7
7
  import "./chunk-4R4KTDIE.js";
8
8
  import "./chunk-RULE4VG5.js";
9
9
  import "./chunk-SCU65EZI.js";
10
- import "./chunk-KILOTVIF.js";
11
- import "./chunk-3HPAPHUK.js";
10
+ import "./chunk-MB5RSUW6.js";
11
+ import "./chunk-6KYMPV2O.js";
12
12
  import "./chunk-CPPS65WS.js";
13
13
  import "./chunk-DM2T26WE.js";
14
14
  import "./chunk-QSVPYQPG.js";
package/dist/storage.js CHANGED
@@ -8,14 +8,14 @@ import {
8
8
  normalizeEntityName,
9
9
  parseEntityFile,
10
10
  serializeEntityFile
11
- } from "./chunk-7MLB4NCL.js";
11
+ } from "./chunk-DXBCNDVD.js";
12
12
  import "./chunk-5UZXUTVO.js";
13
13
  import "./chunk-4H5ZJHEN.js";
14
14
  import "./chunk-4R4KTDIE.js";
15
15
  import "./chunk-RULE4VG5.js";
16
16
  import "./chunk-SCU65EZI.js";
17
- import "./chunk-KILOTVIF.js";
18
- import "./chunk-3HPAPHUK.js";
17
+ import "./chunk-MB5RSUW6.js";
18
+ import "./chunk-6KYMPV2O.js";
19
19
  import "./chunk-CPPS65WS.js";
20
20
  import "./chunk-DM2T26WE.js";
21
21
  import "./chunk-QSVPYQPG.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  exportSqlite
3
- } from "../chunk-S53OYO3F.js";
3
+ } from "../chunk-7VFZTJ7K.js";
4
4
  import "../chunk-Z734BLO3.js";
5
- import "../chunk-3HPAPHUK.js";
5
+ import "../chunk-6KYMPV2O.js";
6
6
  import "../chunk-UI3NYK34.js";
7
7
  import "../chunk-GCGJW34D.js";
8
8
  import "../chunk-PZ5AY32C.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  importSqlite
3
- } from "../chunk-4RR6ROTB.js";
3
+ } from "../chunk-AGNBY3VG.js";
4
4
  import "../chunk-Z734BLO3.js";
5
5
  import "../chunk-G4IAEX6D.js";
6
- import "../chunk-3HPAPHUK.js";
6
+ import "../chunk-6KYMPV2O.js";
7
7
  import "../chunk-GCGJW34D.js";
8
8
  import "../chunk-PZ5AY32C.js";
9
9
  export {
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  searchVerifiedEpisodes
3
- } from "./chunk-QPD426WT.js";
3
+ } from "./chunk-CCNZM5UM.js";
4
4
  import "./chunk-HQ6NIBL6.js";
5
- import "./chunk-7MLB4NCL.js";
5
+ import "./chunk-DXBCNDVD.js";
6
6
  import "./chunk-5UZXUTVO.js";
7
7
  import "./chunk-4H5ZJHEN.js";
8
8
  import "./chunk-4R4KTDIE.js";
9
9
  import "./chunk-RULE4VG5.js";
10
10
  import "./chunk-SCU65EZI.js";
11
- import "./chunk-KILOTVIF.js";
12
- import "./chunk-3HPAPHUK.js";
11
+ import "./chunk-MB5RSUW6.js";
12
+ import "./chunk-6KYMPV2O.js";
13
13
  import "./chunk-CPPS65WS.js";
14
14
  import "./chunk-DM2T26WE.js";
15
15
  import "./chunk-QSVPYQPG.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "9.3.621",
3
+ "version": "9.3.622",
4
4
  "description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,7 @@
1
1
  import assert from "node:assert/strict";
2
2
  import test from "node:test";
3
3
  import {
4
+ displayErrorDetail,
4
5
  isLikelyBetterSqlite3NativeBindingError,
5
6
  openBetterSqlite3,
6
7
  } from "./better-sqlite.js";
@@ -21,6 +22,34 @@ test("isLikelyBetterSqlite3NativeBindingError recognizes missing and mismatched
21
22
  assert.equal(isLikelyBetterSqlite3NativeBindingError(new Error("SQLITE_BUSY: database is locked")), false);
22
23
  });
23
24
 
25
+ test("displayErrorDetail surfaces only error class + code, never the raw message (CodeQL js/stack-trace-exposure)", () => {
26
+ // MODULE_NOT_FOUND messages embed an absolute "Require stack:" path block.
27
+ const moduleNotFound = Object.assign(
28
+ new Error("Cannot find module 'better-sqlite3'\nRequire stack:\n- /home/app/node_modules/x/index.js"),
29
+ { code: "MODULE_NOT_FOUND" },
30
+ );
31
+ const d1 = displayErrorDetail(moduleNotFound);
32
+ assert.equal(d1, "Error (MODULE_NOT_FOUND)");
33
+ assert.ok(!d1.includes("/home/app") && !d1.includes("Require stack"));
34
+
35
+ // Native loader failures can embed an absolute path (even with spaces) in the
36
+ // message; we never surface it.
37
+ const dlopen = Object.assign(
38
+ new Error("/Users/Jane Doe/app/node_modules/better-sqlite3/build/Release/better_sqlite3.node: file too short"),
39
+ { code: "ERR_DLOPEN_FAILED" },
40
+ );
41
+ const d2 = displayErrorDetail(dlopen);
42
+ assert.equal(d2, "Error (ERR_DLOPEN_FAILED)");
43
+ assert.ok(!d2.includes("/Users/Jane Doe") && !d2.includes(".node"));
44
+
45
+ // No code → class name only. error.stack is never read.
46
+ const noCode = new Error("boom");
47
+ noCode.stack = "boom\n at /home/app/secret.js:1:1";
48
+ assert.equal(displayErrorDetail(noCode), "Error");
49
+
50
+ assert.equal(displayErrorDetail("not an error"), "");
51
+ });
52
+
24
53
  test("openBetterSqlite3 can open an in-memory database after install verification", () => {
25
54
  const db = openBetterSqlite3(":memory:");
26
55
  try {
@@ -41,8 +41,19 @@ function requireBetterSqlite3Ctor(require: RuntimeRequire): BetterSqlite3Ctor {
41
41
  return ctor;
42
42
  }
43
43
 
44
+ // Raw, unredacted message — used ONLY for internal classification (detecting a
45
+ // native-binding mismatch). Never returned to a user-facing surface, because it
46
+ // can contain absolute paths. Native-binding markers (better_sqlite3.node,
47
+ // NODE_MODULE_VERSION, "was compiled against a different Node.js version") live
48
+ // in error.message, so message text is sufficient and we never read .stack.
49
+ function rawErrorMessage(error: unknown): string {
50
+ return error instanceof Error ? error.message : String(error ?? "");
51
+ }
52
+
44
53
  export function isLikelyBetterSqlite3NativeBindingError(error: unknown): boolean {
45
- const detail = errorDetail(error);
54
+ // Classify on the RAW message so redaction can't strip detection markers
55
+ // (e.g. the path containing "better_sqlite3.node").
56
+ const detail = rawErrorMessage(error);
46
57
  return (
47
58
  detail.includes("Could not locate the bindings file") ||
48
59
  detail.includes("better_sqlite3.node") ||
@@ -53,7 +64,7 @@ export function isLikelyBetterSqlite3NativeBindingError(error: unknown): boolean
53
64
  }
54
65
 
55
66
  function unavailableError(error: unknown): Error {
56
- const detail = errorDetail(error);
67
+ const detail = displayErrorDetail(error);
57
68
  const nativeBindingHint = isLikelyBetterSqlite3NativeBindingError(error)
58
69
  ? " This usually means the better-sqlite3 native binding was not compiled for this Node.js/platform combination. " +
59
70
  "Run `node scripts/ensure-better-sqlite3.mjs` from the Remnic install directory, or run " +
@@ -67,10 +78,21 @@ function unavailableError(error: unknown): Error {
67
78
  );
68
79
  }
69
80
 
70
- function errorDetail(error: unknown): string {
71
- if (error instanceof Error) {
72
- const stack = error.stack && error.stack !== error.message ? `\n${error.stack}` : "";
73
- return `${error.message}${stack}`;
74
- }
75
- return String(error ?? "");
81
+ // Sanitized, user-facing error detail. This string becomes the message of the
82
+ // Error thrown by unavailableError(), which propagates to user-facing surfaces
83
+ // (HTTP error bodies, MCP tool errors — access-http.ts / access-mcp.ts return
84
+ // err.message). We must not leak server internals (CodeQL js/stack-trace-exposure):
85
+ // - error.stack is never read.
86
+ // We deliberately surface only the error's class name and Node error code —
87
+ // never the raw message. Node module-load failures embed absolute server paths
88
+ // directly in error.message (the "Require stack:" block, and unquoted native
89
+ // loader paths that may even contain spaces), which no regex can redact
90
+ // reliably. The error code (MODULE_NOT_FOUND, ERR_DLOPEN_FAILED, …) is a stable,
91
+ // path-free identifier that, together with the native-binding hint, is enough
92
+ // for a user to act on. The full original error stays on the `cause` chain and
93
+ // is logged with its stack elsewhere.
94
+ export function displayErrorDetail(error: unknown): string {
95
+ if (!(error instanceof Error)) return "";
96
+ const code = (error as NodeJS.ErrnoException).code;
97
+ return typeof code === "string" && code.length > 0 ? `${error.name} (${code})` : error.name;
76
98
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/runtime/better-sqlite.ts"],"sourcesContent":["import { createRequire } from \"node:module\";\nimport type BetterSqlite3 from \"better-sqlite3\";\n\nexport type BetterSqlite3Database = BetterSqlite3.Database;\ntype BetterSqlite3Ctor = typeof BetterSqlite3;\ntype RuntimeRequire = ReturnType<typeof createRequire>;\n\nlet cachedCtor: BetterSqlite3Ctor | null = null;\n\nfunction loadBetterSqlite3(): BetterSqlite3Ctor {\n if (cachedCtor) return cachedCtor;\n\n const require = createRequire(import.meta.url);\n\n try {\n cachedCtor = requireBetterSqlite3Ctor(require);\n return cachedCtor;\n } catch (error) {\n throw unavailableError(error);\n }\n}\n\nexport function openBetterSqlite3(\n file: string,\n options?: ConstructorParameters<BetterSqlite3Ctor>[1],\n): BetterSqlite3Database {\n const Database = loadBetterSqlite3();\n return new Database(file, options);\n}\n\nfunction requireBetterSqlite3Ctor(require: RuntimeRequire): BetterSqlite3Ctor {\n const loaded = require(\"better-sqlite3\") as\n | BetterSqlite3Ctor\n | { default?: BetterSqlite3Ctor };\n const ctor = typeof loaded === \"function\" ? loaded : loaded.default;\n\n if (typeof ctor !== \"function\") {\n throw new Error(\"module did not export a constructor\");\n }\n\n return ctor;\n}\n\nexport function isLikelyBetterSqlite3NativeBindingError(error: unknown): boolean {\n const detail = errorDetail(error);\n return (\n detail.includes(\"Could not locate the bindings file\") ||\n detail.includes(\"better_sqlite3.node\") ||\n (detail.includes(\"node-v\") && detail.includes(\"better-sqlite3\")) ||\n (detail.includes(\"NODE_MODULE_VERSION\") && detail.includes(\"better-sqlite3\")) ||\n detail.includes(\"was compiled against a different Node.js version\")\n );\n}\n\nfunction unavailableError(error: unknown): Error {\n const detail = errorDetail(error);\n const nativeBindingHint = isLikelyBetterSqlite3NativeBindingError(error)\n ? \" This usually means the better-sqlite3 native binding was not compiled for this Node.js/platform combination. \" +\n \"Run `node scripts/ensure-better-sqlite3.mjs` from the Remnic install directory, or run \" +\n \"`npx node-gyp rebuild --directory=node_modules/better-sqlite3` if the verification script is unavailable.\"\n : \"\";\n return new Error(\n \"better-sqlite3 is unavailable. Remnic attempted to load the native SQLite binding and could not.\" +\n nativeBindingHint +\n (detail ? ` Original error: ${detail}` : \"\"),\n { cause: error instanceof Error ? error : undefined },\n );\n}\n\nfunction errorDetail(error: unknown): string {\n if (error instanceof Error) {\n const stack = error.stack && error.stack !== error.message ? `\\n${error.stack}` : \"\";\n return `${error.message}${stack}`;\n }\n return String(error ?? \"\");\n}\n"],"mappings":";AAAA,SAAS,qBAAqB;AAO9B,IAAI,aAAuC;AAE3C,SAAS,oBAAuC;AAC9C,MAAI,WAAY,QAAO;AAEvB,QAAMA,WAAU,cAAc,YAAY,GAAG;AAE7C,MAAI;AACF,iBAAa,yBAAyBA,QAAO;AAC7C,WAAO;AAAA,EACT,SAAS,OAAO;AACd,UAAM,iBAAiB,KAAK;AAAA,EAC9B;AACF;AAEO,SAAS,kBACd,MACA,SACuB;AACvB,QAAM,WAAW,kBAAkB;AACnC,SAAO,IAAI,SAAS,MAAM,OAAO;AACnC;AAEA,SAAS,yBAAyBA,UAA4C;AAC5E,QAAM,SAASA,SAAQ,gBAAgB;AAGvC,QAAM,OAAO,OAAO,WAAW,aAAa,SAAS,OAAO;AAE5D,MAAI,OAAO,SAAS,YAAY;AAC9B,UAAM,IAAI,MAAM,qCAAqC;AAAA,EACvD;AAEA,SAAO;AACT;AAEO,SAAS,wCAAwC,OAAyB;AAC/E,QAAM,SAAS,YAAY,KAAK;AAChC,SACE,OAAO,SAAS,oCAAoC,KACpD,OAAO,SAAS,qBAAqB,KACpC,OAAO,SAAS,QAAQ,KAAK,OAAO,SAAS,gBAAgB,KAC7D,OAAO,SAAS,qBAAqB,KAAK,OAAO,SAAS,gBAAgB,KAC3E,OAAO,SAAS,kDAAkD;AAEtE;AAEA,SAAS,iBAAiB,OAAuB;AAC/C,QAAM,SAAS,YAAY,KAAK;AAChC,QAAM,oBAAoB,wCAAwC,KAAK,IACnE,mTAGA;AACJ,SAAO,IAAI;AAAA,IACT,qGACE,qBACC,SAAS,oBAAoB,MAAM,KAAK;AAAA,IAC3C,EAAE,OAAO,iBAAiB,QAAQ,QAAQ,OAAU;AAAA,EACtD;AACF;AAEA,SAAS,YAAY,OAAwB;AAC3C,MAAI,iBAAiB,OAAO;AAC1B,UAAM,QAAQ,MAAM,SAAS,MAAM,UAAU,MAAM,UAAU;AAAA,EAAK,MAAM,KAAK,KAAK;AAClF,WAAO,GAAG,MAAM,OAAO,GAAG,KAAK;AAAA,EACjC;AACA,SAAO,OAAO,SAAS,EAAE;AAC3B;","names":["require"]}