@remnic/core 9.3.727 → 9.3.728

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 (77) hide show
  1. package/dist/access-boundary.js +6 -6
  2. package/dist/access-cli.js +11 -11
  3. package/dist/access-http.js +10 -10
  4. package/dist/access-mcp.js +9 -9
  5. package/dist/access-operations-batch.js +7 -7
  6. package/dist/access-operations.d.ts +1 -1
  7. package/dist/access-operations.js +8 -8
  8. package/dist/access-schema.d.ts +4 -4
  9. package/dist/access-service.js +5 -5
  10. package/dist/capabilities.d.ts +43 -1
  11. package/dist/capabilities.js +5 -3
  12. package/dist/{chunk-DVRHLN2O.js → chunk-3RCBIOOJ.js} +18 -2
  13. package/dist/{chunk-DVRHLN2O.js.map → chunk-3RCBIOOJ.js.map} +1 -1
  14. package/dist/{chunk-R7IYU5DZ.js → chunk-4ESAR77N.js} +2 -2
  15. package/dist/{chunk-SNKPUJHR.js → chunk-76NHR6ZL.js} +3 -3
  16. package/dist/{chunk-6PY5YJAV.js → chunk-BQCHEV7O.js} +8 -3
  17. package/dist/{chunk-6PY5YJAV.js.map → chunk-BQCHEV7O.js.map} +1 -1
  18. package/dist/{chunk-ZA2S2VLL.js → chunk-C2PG7IEH.js} +5 -2
  19. package/dist/chunk-C2PG7IEH.js.map +1 -0
  20. package/dist/{chunk-MJIHJ7OG.js → chunk-H5BWGCRZ.js} +11 -10
  21. package/dist/chunk-H5BWGCRZ.js.map +1 -0
  22. package/dist/{chunk-N3VNUM4Z.js → chunk-HGNOCPZX.js} +4 -4
  23. package/dist/{chunk-CSRXQ6NB.js → chunk-I5REUWLH.js} +10 -4
  24. package/dist/chunk-I5REUWLH.js.map +1 -0
  25. package/dist/{chunk-NSA5ZRUL.js → chunk-M4AYVEWS.js} +3 -3
  26. package/dist/{chunk-OEEW4KJA.js → chunk-O6YH5F47.js} +3 -3
  27. package/dist/{chunk-XPHVAOBT.js → chunk-QNEUZIAH.js} +45 -36
  28. package/dist/chunk-QNEUZIAH.js.map +1 -0
  29. package/dist/{chunk-27QQC7ZX.js → chunk-UM5AWJNQ.js} +6 -5
  30. package/dist/chunk-UM5AWJNQ.js.map +1 -0
  31. package/dist/{chunk-2KAYTPPT.js → chunk-UTHQPSRC.js} +2 -2
  32. package/dist/{chunk-CTOQEZSN.js → chunk-V4GNSDFH.js} +2 -2
  33. package/dist/{chunk-EHISUJFN.js → chunk-WAS3NV46.js} +6 -3
  34. package/dist/chunk-WAS3NV46.js.map +1 -0
  35. package/dist/{chunk-DKJCRGWM.js → chunk-YGIQORJ3.js} +2 -2
  36. package/dist/cli.js +13 -13
  37. package/dist/embedding-fallback.js +2 -1
  38. package/dist/extraction.js +2 -1
  39. package/dist/{first-start-migration-PG5HBC3K.js → first-start-migration-22LPFHD5.js} +6 -2
  40. package/dist/first-start-migration-22LPFHD5.js.map +1 -0
  41. package/dist/index.js +16 -16
  42. package/dist/namespaces/migrate.js +5 -4
  43. package/dist/namespaces/search.js +4 -3
  44. package/dist/operator-toolkit.js +6 -6
  45. package/dist/orchestrator.js +7 -7
  46. package/dist/schemas.d.ts +22 -22
  47. package/dist/search/embed-helper.js +2 -1
  48. package/dist/search/factory.js +3 -2
  49. package/dist/search/index.js +3 -2
  50. package/dist/transfer/types.d.ts +12 -12
  51. package/package.json +2 -2
  52. package/src/access-service.ts +2 -1
  53. package/src/capabilities.test.ts +155 -0
  54. package/src/capabilities.ts +91 -0
  55. package/src/chat/chat-engine.test.ts +39 -1
  56. package/src/chat/chat-session.ts +25 -2
  57. package/src/cli.ts +3 -2
  58. package/src/embedding-fallback.ts +2 -1
  59. package/src/extraction.ts +7 -3
  60. package/src/maintenance/first-start-migration.ts +3 -1
  61. package/src/orchestrator.ts +38 -26
  62. package/src/search/embed-helper.ts +3 -2
  63. package/dist/chunk-27QQC7ZX.js.map +0 -1
  64. package/dist/chunk-CSRXQ6NB.js.map +0 -1
  65. package/dist/chunk-EHISUJFN.js.map +0 -1
  66. package/dist/chunk-MJIHJ7OG.js.map +0 -1
  67. package/dist/chunk-XPHVAOBT.js.map +0 -1
  68. package/dist/chunk-ZA2S2VLL.js.map +0 -1
  69. package/dist/first-start-migration-PG5HBC3K.js.map +0 -1
  70. /package/dist/{chunk-R7IYU5DZ.js.map → chunk-4ESAR77N.js.map} +0 -0
  71. /package/dist/{chunk-SNKPUJHR.js.map → chunk-76NHR6ZL.js.map} +0 -0
  72. /package/dist/{chunk-N3VNUM4Z.js.map → chunk-HGNOCPZX.js.map} +0 -0
  73. /package/dist/{chunk-NSA5ZRUL.js.map → chunk-M4AYVEWS.js.map} +0 -0
  74. /package/dist/{chunk-OEEW4KJA.js.map → chunk-O6YH5F47.js.map} +0 -0
  75. /package/dist/{chunk-2KAYTPPT.js.map → chunk-UTHQPSRC.js.map} +0 -0
  76. /package/dist/{chunk-CTOQEZSN.js.map → chunk-V4GNSDFH.js.map} +0 -0
  77. /package/dist/{chunk-DKJCRGWM.js.map → chunk-YGIQORJ3.js.map} +0 -0
@@ -7,8 +7,8 @@ import {
7
7
  getOperation,
8
8
  listRegisteredOperations,
9
9
  normalizeOptionalPath
10
- } from "./chunk-R7IYU5DZ.js";
11
- import "./chunk-27QQC7ZX.js";
10
+ } from "./chunk-4ESAR77N.js";
11
+ import "./chunk-UM5AWJNQ.js";
12
12
  import "./chunk-GDASG7NC.js";
13
13
  import "./chunk-GDB4J2H3.js";
14
14
  import "./chunk-ARV3AUOM.js";
@@ -30,13 +30,13 @@ import "./chunk-DRUDC2UX.js";
30
30
  import "./chunk-AQEJKOKI.js";
31
31
  import "./chunk-6HMYUWXR.js";
32
32
  import "./chunk-J6BH2OBA.js";
33
- import "./chunk-CTOQEZSN.js";
34
- import "./chunk-2KAYTPPT.js";
33
+ import "./chunk-V4GNSDFH.js";
34
+ import "./chunk-UTHQPSRC.js";
35
35
  import "./chunk-WRFKZEO6.js";
36
36
  import "./chunk-CYEPCZN5.js";
37
37
  import "./chunk-LQ6JI4VH.js";
38
38
  import "./chunk-SANZHXY2.js";
39
- import "./chunk-EHISUJFN.js";
39
+ import "./chunk-WAS3NV46.js";
40
40
  import "./chunk-5CEJH5ZN.js";
41
41
  import "./chunk-AER6MT24.js";
42
42
  import "./chunk-CINZGPSJ.js";
@@ -56,7 +56,7 @@ import "./chunk-QDW3E4RD.js";
56
56
  import "./chunk-EH5ED3C6.js";
57
57
  import "./chunk-3ONXXHQO.js";
58
58
  import "./chunk-ODPLEWB6.js";
59
- import "./chunk-DVRHLN2O.js";
59
+ import "./chunk-3RCBIOOJ.js";
60
60
  import "./chunk-ZY2MNJR6.js";
61
61
  import "./chunk-SQNED75R.js";
62
62
  import "./chunk-EHQ5HO5T.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Orchestrator
3
- } from "./chunk-XPHVAOBT.js";
3
+ } from "./chunk-QNEUZIAH.js";
4
4
  import "./chunk-4T3BMHKD.js";
5
5
  import "./chunk-MLKWJOAJ.js";
6
6
  import "./chunk-7HYPN2GC.js";
@@ -51,7 +51,7 @@ import "./chunk-PD6O7AXF.js";
51
51
  import "./chunk-XHYGJVXL.js";
52
52
  import "./chunk-3NN73CM7.js";
53
53
  import "./chunk-LTHVM4XN.js";
54
- import "./chunk-CSRXQ6NB.js";
54
+ import "./chunk-I5REUWLH.js";
55
55
  import "./chunk-4RA3C3EV.js";
56
56
  import "./chunk-5GSUBCZM.js";
57
57
  import "./chunk-54V4BZWP.js";
@@ -68,7 +68,7 @@ import "./chunk-EO5QWINU.js";
68
68
  import "./chunk-VEWZZM3H.js";
69
69
  import "./chunk-Q6IP2ARR.js";
70
70
  import "./chunk-6HEM6HTQ.js";
71
- import "./chunk-ZA2S2VLL.js";
71
+ import "./chunk-C2PG7IEH.js";
72
72
  import "./chunk-YOLZS7NY.js";
73
73
  import {
74
74
  resolvePluginEntry
@@ -122,8 +122,8 @@ import "./chunk-OO42R444.js";
122
122
  import "./chunk-K6MV3TRQ.js";
123
123
  import "./chunk-OADWQ5CR.js";
124
124
  import "./chunk-7WV3F5DQ.js";
125
- import "./chunk-SNKPUJHR.js";
126
- import "./chunk-OEEW4KJA.js";
125
+ import "./chunk-76NHR6ZL.js";
126
+ import "./chunk-O6YH5F47.js";
127
127
  import "./chunk-ZQNCHPTZ.js";
128
128
  import "./chunk-YF6FMLBT.js";
129
129
  import "./chunk-R6OVFAX6.js";
@@ -133,10 +133,10 @@ import "./chunk-T4WDJPEZ.js";
133
133
  import "./chunk-FVZ2ISIX.js";
134
134
  import {
135
135
  getOperation
136
- } from "./chunk-R7IYU5DZ.js";
136
+ } from "./chunk-4ESAR77N.js";
137
137
  import {
138
138
  EngramAccessService
139
- } from "./chunk-27QQC7ZX.js";
139
+ } from "./chunk-UM5AWJNQ.js";
140
140
  import "./chunk-GDASG7NC.js";
141
141
  import "./chunk-GDB4J2H3.js";
142
142
  import "./chunk-ARV3AUOM.js";
@@ -160,13 +160,13 @@ import "./chunk-6HMYUWXR.js";
160
160
  import {
161
161
  projectTagProjectId
162
162
  } from "./chunk-J6BH2OBA.js";
163
- import "./chunk-CTOQEZSN.js";
164
- import "./chunk-2KAYTPPT.js";
163
+ import "./chunk-V4GNSDFH.js";
164
+ import "./chunk-UTHQPSRC.js";
165
165
  import "./chunk-WRFKZEO6.js";
166
166
  import "./chunk-CYEPCZN5.js";
167
167
  import "./chunk-LQ6JI4VH.js";
168
168
  import "./chunk-SANZHXY2.js";
169
- import "./chunk-EHISUJFN.js";
169
+ import "./chunk-WAS3NV46.js";
170
170
  import "./chunk-5CEJH5ZN.js";
171
171
  import "./chunk-AER6MT24.js";
172
172
  import "./chunk-CINZGPSJ.js";
@@ -186,7 +186,7 @@ import "./chunk-QDW3E4RD.js";
186
186
  import "./chunk-EH5ED3C6.js";
187
187
  import "./chunk-3ONXXHQO.js";
188
188
  import "./chunk-ODPLEWB6.js";
189
- import "./chunk-DVRHLN2O.js";
189
+ import "./chunk-3RCBIOOJ.js";
190
190
  import "./chunk-ZY2MNJR6.js";
191
191
  import "./chunk-SQNED75R.js";
192
192
  import "./chunk-EHQ5HO5T.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  EngramAccessHttpServer
3
- } from "./chunk-N3VNUM4Z.js";
3
+ } from "./chunk-HGNOCPZX.js";
4
4
  import "./chunk-SEDEKFYQ.js";
5
5
  import "./chunk-JBPKEARU.js";
6
6
  import "./chunk-TMSXWOBZ.js";
@@ -9,10 +9,10 @@ import "./chunk-RSUYKGGZ.js";
9
9
  import "./chunk-42NQ7AVG.js";
10
10
  import "./chunk-7RXCMVFQ.js";
11
11
  import "./chunk-7WV3F5DQ.js";
12
- import "./chunk-6PY5YJAV.js";
12
+ import "./chunk-BQCHEV7O.js";
13
13
  import "./chunk-D24OXEPB.js";
14
- import "./chunk-SNKPUJHR.js";
15
- import "./chunk-OEEW4KJA.js";
14
+ import "./chunk-76NHR6ZL.js";
15
+ import "./chunk-O6YH5F47.js";
16
16
  import "./chunk-ZQNCHPTZ.js";
17
17
  import "./chunk-YF6FMLBT.js";
18
18
  import "./chunk-R6OVFAX6.js";
@@ -20,8 +20,8 @@ import "./chunk-PLBIPT6I.js";
20
20
  import "./chunk-35NN3ZFA.js";
21
21
  import "./chunk-T4WDJPEZ.js";
22
22
  import "./chunk-FVZ2ISIX.js";
23
- import "./chunk-R7IYU5DZ.js";
24
- import "./chunk-27QQC7ZX.js";
23
+ import "./chunk-4ESAR77N.js";
24
+ import "./chunk-UM5AWJNQ.js";
25
25
  import "./chunk-GDASG7NC.js";
26
26
  import "./chunk-GDB4J2H3.js";
27
27
  import "./chunk-ARV3AUOM.js";
@@ -43,13 +43,13 @@ import "./chunk-DRUDC2UX.js";
43
43
  import "./chunk-AQEJKOKI.js";
44
44
  import "./chunk-6HMYUWXR.js";
45
45
  import "./chunk-J6BH2OBA.js";
46
- import "./chunk-CTOQEZSN.js";
47
- import "./chunk-2KAYTPPT.js";
46
+ import "./chunk-V4GNSDFH.js";
47
+ import "./chunk-UTHQPSRC.js";
48
48
  import "./chunk-WRFKZEO6.js";
49
49
  import "./chunk-CYEPCZN5.js";
50
50
  import "./chunk-LQ6JI4VH.js";
51
51
  import "./chunk-SANZHXY2.js";
52
- import "./chunk-EHISUJFN.js";
52
+ import "./chunk-WAS3NV46.js";
53
53
  import "./chunk-5CEJH5ZN.js";
54
54
  import "./chunk-AER6MT24.js";
55
55
  import "./chunk-CINZGPSJ.js";
@@ -69,7 +69,7 @@ import "./chunk-QDW3E4RD.js";
69
69
  import "./chunk-EH5ED3C6.js";
70
70
  import "./chunk-3ONXXHQO.js";
71
71
  import "./chunk-ODPLEWB6.js";
72
- import "./chunk-DVRHLN2O.js";
72
+ import "./chunk-3RCBIOOJ.js";
73
73
  import "./chunk-ZY2MNJR6.js";
74
74
  import "./chunk-SQNED75R.js";
75
75
  import "./chunk-EHQ5HO5T.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  EngramMcpServer
3
- } from "./chunk-6PY5YJAV.js";
3
+ } from "./chunk-BQCHEV7O.js";
4
4
  import "./chunk-D24OXEPB.js";
5
- import "./chunk-SNKPUJHR.js";
6
- import "./chunk-OEEW4KJA.js";
5
+ import "./chunk-76NHR6ZL.js";
6
+ import "./chunk-O6YH5F47.js";
7
7
  import "./chunk-ZQNCHPTZ.js";
8
8
  import "./chunk-YF6FMLBT.js";
9
9
  import "./chunk-R6OVFAX6.js";
@@ -11,8 +11,8 @@ import "./chunk-PLBIPT6I.js";
11
11
  import "./chunk-35NN3ZFA.js";
12
12
  import "./chunk-T4WDJPEZ.js";
13
13
  import "./chunk-FVZ2ISIX.js";
14
- import "./chunk-R7IYU5DZ.js";
15
- import "./chunk-27QQC7ZX.js";
14
+ import "./chunk-4ESAR77N.js";
15
+ import "./chunk-UM5AWJNQ.js";
16
16
  import "./chunk-GDASG7NC.js";
17
17
  import "./chunk-GDB4J2H3.js";
18
18
  import "./chunk-ARV3AUOM.js";
@@ -34,13 +34,13 @@ import "./chunk-DRUDC2UX.js";
34
34
  import "./chunk-AQEJKOKI.js";
35
35
  import "./chunk-6HMYUWXR.js";
36
36
  import "./chunk-J6BH2OBA.js";
37
- import "./chunk-CTOQEZSN.js";
38
- import "./chunk-2KAYTPPT.js";
37
+ import "./chunk-V4GNSDFH.js";
38
+ import "./chunk-UTHQPSRC.js";
39
39
  import "./chunk-WRFKZEO6.js";
40
40
  import "./chunk-CYEPCZN5.js";
41
41
  import "./chunk-LQ6JI4VH.js";
42
42
  import "./chunk-SANZHXY2.js";
43
- import "./chunk-EHISUJFN.js";
43
+ import "./chunk-WAS3NV46.js";
44
44
  import "./chunk-5CEJH5ZN.js";
45
45
  import "./chunk-AER6MT24.js";
46
46
  import "./chunk-CINZGPSJ.js";
@@ -60,7 +60,7 @@ import "./chunk-QDW3E4RD.js";
60
60
  import "./chunk-EH5ED3C6.js";
61
61
  import "./chunk-3ONXXHQO.js";
62
62
  import "./chunk-ODPLEWB6.js";
63
- import "./chunk-DVRHLN2O.js";
63
+ import "./chunk-3RCBIOOJ.js";
64
64
  import "./chunk-ZY2MNJR6.js";
65
65
  import "./chunk-SQNED75R.js";
66
66
  import "./chunk-EHQ5HO5T.js";
@@ -1,12 +1,12 @@
1
- import "./chunk-OEEW4KJA.js";
1
+ import "./chunk-O6YH5F47.js";
2
2
  import "./chunk-ZQNCHPTZ.js";
3
3
  import "./chunk-YF6FMLBT.js";
4
4
  import "./chunk-R6OVFAX6.js";
5
5
  import "./chunk-PLBIPT6I.js";
6
6
  import "./chunk-35NN3ZFA.js";
7
7
  import "./chunk-T4WDJPEZ.js";
8
- import "./chunk-R7IYU5DZ.js";
9
- import "./chunk-27QQC7ZX.js";
8
+ import "./chunk-4ESAR77N.js";
9
+ import "./chunk-UM5AWJNQ.js";
10
10
  import "./chunk-GDASG7NC.js";
11
11
  import "./chunk-GDB4J2H3.js";
12
12
  import "./chunk-ARV3AUOM.js";
@@ -28,13 +28,13 @@ import "./chunk-DRUDC2UX.js";
28
28
  import "./chunk-AQEJKOKI.js";
29
29
  import "./chunk-6HMYUWXR.js";
30
30
  import "./chunk-J6BH2OBA.js";
31
- import "./chunk-CTOQEZSN.js";
32
- import "./chunk-2KAYTPPT.js";
31
+ import "./chunk-V4GNSDFH.js";
32
+ import "./chunk-UTHQPSRC.js";
33
33
  import "./chunk-WRFKZEO6.js";
34
34
  import "./chunk-CYEPCZN5.js";
35
35
  import "./chunk-LQ6JI4VH.js";
36
36
  import "./chunk-SANZHXY2.js";
37
- import "./chunk-EHISUJFN.js";
37
+ import "./chunk-WAS3NV46.js";
38
38
  import "./chunk-5CEJH5ZN.js";
39
39
  import "./chunk-AER6MT24.js";
40
40
  import "./chunk-CINZGPSJ.js";
@@ -54,7 +54,7 @@ import "./chunk-QDW3E4RD.js";
54
54
  import "./chunk-EH5ED3C6.js";
55
55
  import "./chunk-3ONXXHQO.js";
56
56
  import "./chunk-ODPLEWB6.js";
57
- import "./chunk-DVRHLN2O.js";
57
+ import "./chunk-3RCBIOOJ.js";
58
58
  import "./chunk-ZY2MNJR6.js";
59
59
  import "./chunk-SQNED75R.js";
60
60
  import "./chunk-EHQ5HO5T.js";
@@ -114,8 +114,8 @@ declare const memoryStoreOperation: BoundOperation<{
114
114
  schemaVersion?: number | undefined;
115
115
  sessionKey?: string | undefined;
116
116
  tags?: string[] | undefined;
117
- cwd?: string | undefined;
118
117
  dryRun?: boolean | undefined;
118
+ cwd?: string | undefined;
119
119
  namespace?: string | undefined;
120
120
  category?: "fact" | "preference" | "correction" | "entity" | "decision" | "relationship" | "principle" | "commitment" | "moment" | "skill" | "rule" | "procedure" | "reasoning_trace" | undefined;
121
121
  confidence?: number | undefined;
@@ -22,8 +22,8 @@ import {
22
22
  memoryGetOperation,
23
23
  memorySearchOperation,
24
24
  memoryStoreOperation
25
- } from "./chunk-SNKPUJHR.js";
26
- import "./chunk-OEEW4KJA.js";
25
+ } from "./chunk-76NHR6ZL.js";
26
+ import "./chunk-O6YH5F47.js";
27
27
  import "./chunk-ZQNCHPTZ.js";
28
28
  import "./chunk-YF6FMLBT.js";
29
29
  import "./chunk-R6OVFAX6.js";
@@ -31,8 +31,8 @@ import "./chunk-PLBIPT6I.js";
31
31
  import "./chunk-35NN3ZFA.js";
32
32
  import "./chunk-T4WDJPEZ.js";
33
33
  import "./chunk-FVZ2ISIX.js";
34
- import "./chunk-R7IYU5DZ.js";
35
- import "./chunk-27QQC7ZX.js";
34
+ import "./chunk-4ESAR77N.js";
35
+ import "./chunk-UM5AWJNQ.js";
36
36
  import "./chunk-GDASG7NC.js";
37
37
  import "./chunk-GDB4J2H3.js";
38
38
  import "./chunk-ARV3AUOM.js";
@@ -54,13 +54,13 @@ import "./chunk-DRUDC2UX.js";
54
54
  import "./chunk-AQEJKOKI.js";
55
55
  import "./chunk-6HMYUWXR.js";
56
56
  import "./chunk-J6BH2OBA.js";
57
- import "./chunk-CTOQEZSN.js";
58
- import "./chunk-2KAYTPPT.js";
57
+ import "./chunk-V4GNSDFH.js";
58
+ import "./chunk-UTHQPSRC.js";
59
59
  import "./chunk-WRFKZEO6.js";
60
60
  import "./chunk-CYEPCZN5.js";
61
61
  import "./chunk-LQ6JI4VH.js";
62
62
  import "./chunk-SANZHXY2.js";
63
- import "./chunk-EHISUJFN.js";
63
+ import "./chunk-WAS3NV46.js";
64
64
  import "./chunk-5CEJH5ZN.js";
65
65
  import "./chunk-AER6MT24.js";
66
66
  import "./chunk-CINZGPSJ.js";
@@ -80,7 +80,7 @@ import "./chunk-QDW3E4RD.js";
80
80
  import "./chunk-EH5ED3C6.js";
81
81
  import "./chunk-3ONXXHQO.js";
82
82
  import "./chunk-ODPLEWB6.js";
83
- import "./chunk-DVRHLN2O.js";
83
+ import "./chunk-3RCBIOOJ.js";
84
84
  import "./chunk-ZY2MNJR6.js";
85
85
  import "./chunk-SQNED75R.js";
86
86
  import "./chunk-EHQ5HO5T.js";
@@ -378,8 +378,8 @@ declare const memoryStoreRequestSchema: z.ZodObject<{
378
378
  schemaVersion?: number | undefined;
379
379
  sessionKey?: string | undefined;
380
380
  tags?: string[] | undefined;
381
- cwd?: string | undefined;
382
381
  dryRun?: boolean | undefined;
382
+ cwd?: string | undefined;
383
383
  namespace?: string | undefined;
384
384
  category?: "fact" | "preference" | "correction" | "entity" | "decision" | "relationship" | "principle" | "commitment" | "moment" | "skill" | "rule" | "procedure" | "reasoning_trace" | undefined;
385
385
  confidence?: number | undefined;
@@ -393,8 +393,8 @@ declare const memoryStoreRequestSchema: z.ZodObject<{
393
393
  schemaVersion?: number | undefined;
394
394
  sessionKey?: string | undefined;
395
395
  tags?: string[] | undefined;
396
- cwd?: string | undefined;
397
396
  dryRun?: boolean | undefined;
397
+ cwd?: string | undefined;
398
398
  namespace?: string | undefined;
399
399
  category?: "fact" | "preference" | "correction" | "entity" | "decision" | "relationship" | "principle" | "commitment" | "moment" | "skill" | "rule" | "procedure" | "reasoning_trace" | undefined;
400
400
  confidence?: number | undefined;
@@ -424,8 +424,8 @@ declare const suggestionSubmitRequestSchema: z.ZodObject<{
424
424
  schemaVersion?: number | undefined;
425
425
  sessionKey?: string | undefined;
426
426
  tags?: string[] | undefined;
427
- cwd?: string | undefined;
428
427
  dryRun?: boolean | undefined;
428
+ cwd?: string | undefined;
429
429
  namespace?: string | undefined;
430
430
  category?: "fact" | "preference" | "correction" | "entity" | "decision" | "relationship" | "principle" | "commitment" | "moment" | "skill" | "rule" | "procedure" | "reasoning_trace" | undefined;
431
431
  confidence?: number | undefined;
@@ -439,8 +439,8 @@ declare const suggestionSubmitRequestSchema: z.ZodObject<{
439
439
  schemaVersion?: number | undefined;
440
440
  sessionKey?: string | undefined;
441
441
  tags?: string[] | undefined;
442
- cwd?: string | undefined;
443
442
  dryRun?: boolean | undefined;
443
+ cwd?: string | undefined;
444
444
  namespace?: string | undefined;
445
445
  category?: "fact" | "preference" | "correction" | "entity" | "decision" | "relationship" | "principle" | "commitment" | "moment" | "skill" | "rule" | "procedure" | "reasoning_trace" | undefined;
446
446
  confidence?: number | undefined;
@@ -3,7 +3,7 @@ import {
3
3
  EngramAccessInputError,
4
4
  EngramAccessService,
5
5
  shapeMemorySummary
6
- } from "./chunk-27QQC7ZX.js";
6
+ } from "./chunk-UM5AWJNQ.js";
7
7
  import "./chunk-GDASG7NC.js";
8
8
  import "./chunk-GDB4J2H3.js";
9
9
  import "./chunk-ARV3AUOM.js";
@@ -25,13 +25,13 @@ import "./chunk-DRUDC2UX.js";
25
25
  import "./chunk-AQEJKOKI.js";
26
26
  import "./chunk-6HMYUWXR.js";
27
27
  import "./chunk-J6BH2OBA.js";
28
- import "./chunk-CTOQEZSN.js";
29
- import "./chunk-2KAYTPPT.js";
28
+ import "./chunk-V4GNSDFH.js";
29
+ import "./chunk-UTHQPSRC.js";
30
30
  import "./chunk-WRFKZEO6.js";
31
31
  import "./chunk-CYEPCZN5.js";
32
32
  import "./chunk-LQ6JI4VH.js";
33
33
  import "./chunk-SANZHXY2.js";
34
- import "./chunk-EHISUJFN.js";
34
+ import "./chunk-WAS3NV46.js";
35
35
  import "./chunk-5CEJH5ZN.js";
36
36
  import "./chunk-AER6MT24.js";
37
37
  import "./chunk-CINZGPSJ.js";
@@ -51,7 +51,7 @@ import "./chunk-QDW3E4RD.js";
51
51
  import "./chunk-EH5ED3C6.js";
52
52
  import "./chunk-3ONXXHQO.js";
53
53
  import "./chunk-ODPLEWB6.js";
54
- import "./chunk-DVRHLN2O.js";
54
+ import "./chunk-3RCBIOOJ.js";
55
55
  import "./chunk-ZY2MNJR6.js";
56
56
  import "./chunk-SQNED75R.js";
57
57
  import "./chunk-EHQ5HO5T.js";
@@ -125,5 +125,47 @@ interface AccessSetupCapabilitySet {
125
125
  */
126
126
  type AccessSetupConfigProjection = Pick<PluginConfig, "recallCrossNamespaceBudgetEnabled" | "recallAuditAnomalyDetectionEnabled">;
127
127
  declare function resolveAccessSetupCapabilities(config: AccessSetupConfigProjection): AccessSetupCapabilitySet;
128
+ /**
129
+ * Frozen projection of memory-lifecycle feature gates (issue #1523 batch 3).
130
+ *
131
+ * Resolved once per write / recall-filter / maintenance operation and threaded
132
+ * down. Composition lives ONLY in {@link resolveMemoryLifecycleCapabilities}.
133
+ */
134
+ interface MemoryLifecycleCapabilitySet {
135
+ /** `temporalSupersessionEnabled` — supersede stale structured facts on write, filter on recall. */
136
+ readonly temporalSupersession: boolean;
137
+ /** `temporalMemoryTreeEnabled` — temporal-memory-tree build + recall tier. */
138
+ readonly temporalMemoryTree: boolean;
139
+ /** `lifecyclePolicyEnabled` — lifecycle promotion / decay metadata pass. */
140
+ readonly lifecyclePolicy: boolean;
141
+ /** `lifecycleFilterStaleEnabled` — filter stale-lifecycle memories from recall. */
142
+ readonly lifecycleFilterStale: boolean;
143
+ /** `lifecycleMetricsEnabled` — emit lifecycle-pass metrics. */
144
+ readonly lifecycleMetrics: boolean;
145
+ /** `extractionScopeClassificationEnabled` — LLM classifies each fact's scope. */
146
+ readonly extractionScopeClassification: boolean;
147
+ /** `extractionJudgeEnabled` — LLM-as-judge fact-worthiness gate. */
148
+ readonly extractionJudge: boolean;
149
+ /** `extractionDedupeEnabled` — dedupe against recent extractions. */
150
+ readonly extractionDedupe: boolean;
151
+ /** `extractionTelemetryPrefilterEnabled` — skip mechanical-telemetry transcripts. */
152
+ readonly extractionTelemetryPrefilter: boolean;
153
+ /** `extractionJudgeTelemetryEnabled` — collect judge verdict telemetry. */
154
+ readonly extractionJudgeTelemetry: boolean;
155
+ /** `embeddingFallbackEnabled` — semantic-dedup / archive-search embedding fallback. */
156
+ readonly embeddingFallback: boolean;
157
+ }
158
+ /**
159
+ * Config projection consumed by {@link resolveMemoryLifecycleCapabilities}.
160
+ */
161
+ type MemoryLifecycleConfigProjection = Pick<PluginConfig, "temporalSupersessionEnabled" | "temporalMemoryTreeEnabled" | "lifecyclePolicyEnabled" | "lifecycleFilterStaleEnabled" | "lifecycleMetricsEnabled" | "extractionScopeClassificationEnabled" | "extractionJudgeEnabled" | "extractionDedupeEnabled" | "extractionTelemetryPrefilterEnabled" | "extractionJudgeTelemetryEnabled" | "embeddingFallbackEnabled">;
162
+ /**
163
+ * Resolve the {@link MemoryLifecycleCapabilitySet} from parsed config.
164
+ *
165
+ * Call this ONCE per write / recall-filter / maintenance operation entry and
166
+ * thread the result down — exactly the pattern {@link resolveCapabilities}
167
+ * established for recall.
168
+ */
169
+ declare function resolveMemoryLifecycleCapabilities(config: MemoryLifecycleConfigProjection): MemoryLifecycleCapabilitySet;
128
170
 
129
- export { type AccessSetupCapabilitySet, type AccessSetupConfigProjection, type CapabilitySet, type GraphConstructionCapabilitySet, type GraphConstructionConfigProjection, resolveAccessSetupCapabilities, resolveCapabilities, resolveGraphConstructionCapabilities };
171
+ export { type AccessSetupCapabilitySet, type AccessSetupConfigProjection, type CapabilitySet, type GraphConstructionCapabilitySet, type GraphConstructionConfigProjection, type MemoryLifecycleCapabilitySet, type MemoryLifecycleConfigProjection, resolveAccessSetupCapabilities, resolveCapabilities, resolveGraphConstructionCapabilities, resolveMemoryLifecycleCapabilities };
@@ -1,12 +1,14 @@
1
1
  import {
2
2
  resolveAccessSetupCapabilities,
3
3
  resolveCapabilities,
4
- resolveGraphConstructionCapabilities
5
- } from "./chunk-DVRHLN2O.js";
4
+ resolveGraphConstructionCapabilities,
5
+ resolveMemoryLifecycleCapabilities
6
+ } from "./chunk-3RCBIOOJ.js";
6
7
  import "./chunk-PZ5AY32C.js";
7
8
  export {
8
9
  resolveAccessSetupCapabilities,
9
10
  resolveCapabilities,
10
- resolveGraphConstructionCapabilities
11
+ resolveGraphConstructionCapabilities,
12
+ resolveMemoryLifecycleCapabilities
11
13
  };
12
14
  //# sourceMappingURL=capabilities.js.map
@@ -41,10 +41,26 @@ function resolveAccessSetupCapabilities(config) {
41
41
  recallAuditAnomalyDetection: config.recallAuditAnomalyDetectionEnabled === true
42
42
  });
43
43
  }
44
+ function resolveMemoryLifecycleCapabilities(config) {
45
+ return Object.freeze({
46
+ temporalSupersession: config.temporalSupersessionEnabled,
47
+ temporalMemoryTree: config.temporalMemoryTreeEnabled,
48
+ lifecyclePolicy: config.lifecyclePolicyEnabled,
49
+ lifecycleFilterStale: config.lifecycleFilterStaleEnabled,
50
+ lifecycleMetrics: config.lifecycleMetricsEnabled,
51
+ extractionScopeClassification: config.extractionScopeClassificationEnabled,
52
+ extractionJudge: config.extractionJudgeEnabled,
53
+ extractionDedupe: config.extractionDedupeEnabled,
54
+ extractionTelemetryPrefilter: config.extractionTelemetryPrefilterEnabled,
55
+ extractionJudgeTelemetry: config.extractionJudgeTelemetryEnabled,
56
+ embeddingFallback: config.embeddingFallbackEnabled
57
+ });
58
+ }
44
59
 
45
60
  export {
46
61
  resolveCapabilities,
47
62
  resolveGraphConstructionCapabilities,
48
- resolveAccessSetupCapabilities
63
+ resolveAccessSetupCapabilities,
64
+ resolveMemoryLifecycleCapabilities
49
65
  };
50
- //# sourceMappingURL=chunk-DVRHLN2O.js.map
66
+ //# sourceMappingURL=chunk-3RCBIOOJ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/capabilities.ts"],"sourcesContent":["/**\n * CapabilitySet — recall-operation feature gates resolved once, then threaded.\n *\n * Issue #1523 (Phase 1 of epic #1520). Root cause this addresses: 161+\n * scattered `config.<flag>Enabled` reads mean each gate is re-derived at every\n * call site, and reviews keep finding parallel code paths where one branch\n * checks a gate the other forgot (CLAUDE.md rule 39 — the \"gate divergence\"\n * defect class). The fix is to resolve a frozen capability projection ONCE at\n * the top of the recall operation and pass it down explicitly.\n *\n * Scope of THIS module (first migration PR): only the recall-operation-scoped\n * flags below. Flags that are also read in graph construction, writes, CLI, or\n * the summarizer are deliberately deferred to a follow-up so we never leave a\n * single flag half-migrated (some sites on `caps.`, some on `config.`).\n *\n * Field naming: each field is the config flag name with the trailing `Enabled`\n * removed (`recallMmrEnabled` → `recallMmr`).\n *\n * This is plumbing, not a feature — there is deliberately NO `enabled` gate for\n * the CapabilitySet itself (rule 30 governs behavior changes; resolving and\n * threading a capability projection must stay behavior-preserving).\n */\n\nimport type { PluginConfig } from \"./types.js\";\n\n/**\n * Frozen projection of recall-operation feature gates.\n *\n * Every field is `readonly boolean`. The composition that maps a config flag to\n * a capability (including default-when-undefined semantics for optional flags)\n * lives ONLY in {@link resolveCapabilities} — call sites must read the\n * capability, never re-derive it from raw config.\n */\nexport interface CapabilitySet {\n /** `rerankCacheEnabled` — cache reranker scores across recall passes. */\n readonly rerankCache: boolean;\n /** `recallDirectAnswerEnabled` — observation-mode direct-answer tier. */\n readonly recallDirectAnswer: boolean;\n /** `recallMemoryWorthFilterEnabled` — Memory-Worth score reweighting. */\n readonly recallMemoryWorthFilter: boolean;\n /** `trustScoreEnabled` — unified TrustScore recall stage (issue #1577). */\n readonly recallTrustScore: boolean;\n /** `recallMmrEnabled` — maximal-marginal-relevance diversification. */\n readonly recallMmr: boolean;\n /** `recallReasoningTraceBoostEnabled` — boost reasoning-trace memories. */\n readonly recallReasoningTraceBoost: boolean;\n /** `recallPlannerLlmEnabled` — LLM-backed recall-mode planner. */\n readonly recallPlannerLlm: boolean;\n /** `recallPlannerEnabled` — recall-mode planner (heuristic + optional LLM). */\n readonly recallPlanner: boolean;\n /** `recallConfidenceGateEnabled` — Synapse-style confidence gate. */\n readonly recallConfidenceGate: boolean;\n /** `graphRecallEnabled` — graph-mode recall tier (gates planner graph mode). */\n readonly graphRecall: boolean;\n /** `graphAssistInFullModeEnabled` — graph-assist overlay in full mode. */\n readonly graphAssistInFullMode: boolean;\n /** `graphExpandedIntentEnabled` — promote broad-intent asks to graph mode. */\n readonly graphExpandedIntent: boolean;\n // --- Issue #1566 Cluster C: mixed-operation flags (recall + summarizer/CLI/writes) ---\n /** `rerankEnabled` — optional LLM reranking of recall candidates. */\n readonly rerank: boolean;\n /** `harmonicRetrievalEnabled` — abstraction-node harmonic retrieval tier. */\n readonly harmonicRetrieval: boolean;\n /** `parallelRetrievalEnabled` — three-agent parallel retrieval (DirectFact + Contextual + Temporal). */\n readonly parallelRetrieval: boolean;\n}\n\n/**\n * Resolve the recall-operation {@link CapabilitySet} from parsed config.\n *\n * Call this ONCE per recall operation (at the `recall()` / `recallInternal`\n * entry) and thread the result down. Composition lives here and only here.\n *\n * Session toggles are intentionally not a parameter yet: `session-toggles.ts`\n * is agent-scoped (per session/agent enable-disable of the whole plugin), not\n * flag-scoped — none of the flags projected here have a per-session override,\n * so there is nothing for a toggle argument to compose at this layer.\n */\nexport function resolveCapabilities(config: PluginConfig): CapabilitySet {\n return Object.freeze({\n rerankCache: config.rerankCacheEnabled,\n recallDirectAnswer: config.recallDirectAnswerEnabled,\n recallMemoryWorthFilter: config.recallMemoryWorthFilterEnabled,\n // Issue #1577: TrustScore subsumes the Memory Worth multiplier when on;\n // the orchestrator runs exactly one of the two (mutual exclusion, rule 39).\n recallTrustScore: config.trustScoreEnabled === true,\n recallMmr: config.recallMmrEnabled,\n recallReasoningTraceBoost: config.recallReasoningTraceBoostEnabled,\n recallPlannerLlm: config.recallPlannerLlmEnabled,\n recallPlanner: config.recallPlannerEnabled,\n recallConfidenceGate: config.recallConfidenceGateEnabled,\n graphRecall: config.graphRecallEnabled,\n // Optional flags: preserve the exact default-when-undefined semantics the\n // migrated call sites used (`!== false` = default-on, `=== true` = default-off).\n graphAssistInFullMode: config.graphAssistInFullModeEnabled !== false,\n graphExpandedIntent: config.graphExpandedIntentEnabled === true,\n // Issue #1566 Cluster C: mixed-operation flags resolved once per recall op.\n rerank: config.rerankEnabled,\n harmonicRetrieval: config.harmonicRetrievalEnabled,\n parallelRetrieval: config.parallelRetrievalEnabled,\n });\n}\n\n// ---------------------------------------------------------------------------\n// Graph-construction capability set (issue #1566 Cluster A).\n//\n// The recall CapabilitySet above covers flags whose EVERY read site lives on\n// the recall call chain. The five flags below are read on graph-construction,\n// write/extraction, AND recall paths — so they cannot join the recall set\n// without leaving some sites on `caps.` and others on `config.` (the exact\n// divergence #1523 forbade). They get their own projection, resolved at graph\n// build/write entry (and alongside `caps` when recall reads them).\n// ---------------------------------------------------------------------------\n\n/**\n * Frozen projection of graph-construction feature gates.\n *\n * Every field is `readonly boolean`. Composition (including default-when-\n * undefined semantics for the optional `graphWriteSessionAdjacencyEnabled`)\n * lives ONLY in {@link resolveGraphConstructionCapabilities}.\n */\nexport interface GraphConstructionCapabilitySet {\n /** `entityGraphEnabled` — maintain entity co-reference graph edges. */\n readonly entityGraph: boolean;\n /** `timeGraphEnabled` — maintain thread-adjacency graph edges. */\n readonly timeGraph: boolean;\n /** `causalGraphEnabled` — maintain causal-language graph edges. */\n readonly causalGraph: boolean;\n /** `multiGraphMemoryEnabled` — master switch for multi-graph writes/traversal. */\n readonly multiGraphMemory: boolean;\n /** `graphWriteSessionAdjacencyEnabled` — session-adjacency fallback for time edges (default-on). */\n readonly graphWriteSessionAdjacency: boolean;\n}\n\n/**\n * Resolve the {@link GraphConstructionCapabilitySet} from parsed config.\n *\n * Call this ONCE at graph build/write entry (extraction, recall graph\n * expansion, graph-health/repair) and thread the result down — exactly the\n * pattern {@link resolveCapabilities} established for recall.\n */\nexport type GraphConstructionConfigProjection = Pick<\n PluginConfig,\n | \"entityGraphEnabled\"\n | \"timeGraphEnabled\"\n | \"causalGraphEnabled\"\n | \"multiGraphMemoryEnabled\"\n | \"graphWriteSessionAdjacencyEnabled\"\n>;\n\nexport function resolveGraphConstructionCapabilities(\n config: GraphConstructionConfigProjection,\n): GraphConstructionCapabilitySet {\n return Object.freeze({\n entityGraph: config.entityGraphEnabled,\n timeGraph: config.timeGraphEnabled,\n causalGraph: config.causalGraphEnabled,\n multiGraphMemory: config.multiGraphMemoryEnabled,\n // Optional flag: preserve the exact default-when-undefined semantics the\n // migrated call site used (`!== false` = default-on).\n graphWriteSessionAdjacency: config.graphWriteSessionAdjacencyEnabled !== false,\n });\n}\n\n// ---------------------------------------------------------------------------\n// Access-setup capability set (issue #1566 Cluster B).\n//\n// These two flags gate cross-namespace recall budgeting and anomaly-detection\n// auditing. Resolved once at access-service handler entry (and the operator\n// doctor check) rather than re-derived from raw config at each site.\n// ---------------------------------------------------------------------------\n\n/**\n * Frozen projection of access-setup feature gates (issue #1566 Cluster B).\n *\n * Every field is `readonly boolean`. Composition (including the default-off\n * semantics for the optional `recallAuditAnomalyDetectionEnabled`) lives ONLY\n * in {@link resolveAccessSetupCapabilities}.\n */\nexport interface AccessSetupCapabilitySet {\n /** `recallCrossNamespaceBudgetEnabled` — rolling cross-namespace recall budget. */\n readonly recallCrossNamespaceBudget: boolean;\n /** `recallAuditAnomalyDetectionEnabled` — access-audit anomaly detection (default-off). */\n readonly recallAuditAnomalyDetection: boolean;\n}\n\n/**\n * Resolve the {@link AccessSetupCapabilitySet} from parsed config.\n *\n * Call this ONCE at access-service handler entry and thread the result down.\n */\nexport type AccessSetupConfigProjection = Pick<\n PluginConfig,\n \"recallCrossNamespaceBudgetEnabled\" | \"recallAuditAnomalyDetectionEnabled\"\n>;\n\nexport function resolveAccessSetupCapabilities(\n config: AccessSetupConfigProjection,\n): AccessSetupCapabilitySet {\n return Object.freeze({\n recallCrossNamespaceBudget: config.recallCrossNamespaceBudgetEnabled,\n // Optional/default-off flag: preserve `=== true` semantics.\n recallAuditAnomalyDetection: config.recallAuditAnomalyDetectionEnabled === true,\n });\n}\n"],"mappings":";AA8EO,SAAS,oBAAoB,QAAqC;AACvE,SAAO,OAAO,OAAO;AAAA,IACnB,aAAa,OAAO;AAAA,IACpB,oBAAoB,OAAO;AAAA,IAC3B,yBAAyB,OAAO;AAAA;AAAA;AAAA,IAGhC,kBAAkB,OAAO,sBAAsB;AAAA,IAC/C,WAAW,OAAO;AAAA,IAClB,2BAA2B,OAAO;AAAA,IAClC,kBAAkB,OAAO;AAAA,IACzB,eAAe,OAAO;AAAA,IACtB,sBAAsB,OAAO;AAAA,IAC7B,aAAa,OAAO;AAAA;AAAA;AAAA,IAGpB,uBAAuB,OAAO,iCAAiC;AAAA,IAC/D,qBAAqB,OAAO,+BAA+B;AAAA;AAAA,IAE3D,QAAQ,OAAO;AAAA,IACf,mBAAmB,OAAO;AAAA,IAC1B,mBAAmB,OAAO;AAAA,EAC5B,CAAC;AACH;AAiDO,SAAS,qCACd,QACgC;AAChC,SAAO,OAAO,OAAO;AAAA,IACnB,aAAa,OAAO;AAAA,IACpB,WAAW,OAAO;AAAA,IAClB,aAAa,OAAO;AAAA,IACpB,kBAAkB,OAAO;AAAA;AAAA;AAAA,IAGzB,4BAA4B,OAAO,sCAAsC;AAAA,EAC3E,CAAC;AACH;AAkCO,SAAS,+BACd,QAC0B;AAC1B,SAAO,OAAO,OAAO;AAAA,IACnB,4BAA4B,OAAO;AAAA;AAAA,IAEnC,6BAA6B,OAAO,uCAAuC;AAAA,EAC7E,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../src/capabilities.ts"],"sourcesContent":["/**\n * CapabilitySet — recall-operation feature gates resolved once, then threaded.\n *\n * Issue #1523 (Phase 1 of epic #1520). Root cause this addresses: 161+\n * scattered `config.<flag>Enabled` reads mean each gate is re-derived at every\n * call site, and reviews keep finding parallel code paths where one branch\n * checks a gate the other forgot (CLAUDE.md rule 39 — the \"gate divergence\"\n * defect class). The fix is to resolve a frozen capability projection ONCE at\n * the top of the recall operation and pass it down explicitly.\n *\n * Scope of THIS module (first migration PR): only the recall-operation-scoped\n * flags below. Flags that are also read in graph construction, writes, CLI, or\n * the summarizer are deliberately deferred to a follow-up so we never leave a\n * single flag half-migrated (some sites on `caps.`, some on `config.`).\n *\n * Field naming: each field is the config flag name with the trailing `Enabled`\n * removed (`recallMmrEnabled` → `recallMmr`).\n *\n * This is plumbing, not a feature — there is deliberately NO `enabled` gate for\n * the CapabilitySet itself (rule 30 governs behavior changes; resolving and\n * threading a capability projection must stay behavior-preserving).\n */\n\nimport type { PluginConfig } from \"./types.js\";\n\n/**\n * Frozen projection of recall-operation feature gates.\n *\n * Every field is `readonly boolean`. The composition that maps a config flag to\n * a capability (including default-when-undefined semantics for optional flags)\n * lives ONLY in {@link resolveCapabilities} — call sites must read the\n * capability, never re-derive it from raw config.\n */\nexport interface CapabilitySet {\n /** `rerankCacheEnabled` — cache reranker scores across recall passes. */\n readonly rerankCache: boolean;\n /** `recallDirectAnswerEnabled` — observation-mode direct-answer tier. */\n readonly recallDirectAnswer: boolean;\n /** `recallMemoryWorthFilterEnabled` — Memory-Worth score reweighting. */\n readonly recallMemoryWorthFilter: boolean;\n /** `trustScoreEnabled` — unified TrustScore recall stage (issue #1577). */\n readonly recallTrustScore: boolean;\n /** `recallMmrEnabled` — maximal-marginal-relevance diversification. */\n readonly recallMmr: boolean;\n /** `recallReasoningTraceBoostEnabled` — boost reasoning-trace memories. */\n readonly recallReasoningTraceBoost: boolean;\n /** `recallPlannerLlmEnabled` — LLM-backed recall-mode planner. */\n readonly recallPlannerLlm: boolean;\n /** `recallPlannerEnabled` — recall-mode planner (heuristic + optional LLM). */\n readonly recallPlanner: boolean;\n /** `recallConfidenceGateEnabled` — Synapse-style confidence gate. */\n readonly recallConfidenceGate: boolean;\n /** `graphRecallEnabled` — graph-mode recall tier (gates planner graph mode). */\n readonly graphRecall: boolean;\n /** `graphAssistInFullModeEnabled` — graph-assist overlay in full mode. */\n readonly graphAssistInFullMode: boolean;\n /** `graphExpandedIntentEnabled` — promote broad-intent asks to graph mode. */\n readonly graphExpandedIntent: boolean;\n // --- Issue #1566 Cluster C: mixed-operation flags (recall + summarizer/CLI/writes) ---\n /** `rerankEnabled` — optional LLM reranking of recall candidates. */\n readonly rerank: boolean;\n /** `harmonicRetrievalEnabled` — abstraction-node harmonic retrieval tier. */\n readonly harmonicRetrieval: boolean;\n /** `parallelRetrievalEnabled` — three-agent parallel retrieval (DirectFact + Contextual + Temporal). */\n readonly parallelRetrieval: boolean;\n}\n\n/**\n * Resolve the recall-operation {@link CapabilitySet} from parsed config.\n *\n * Call this ONCE per recall operation (at the `recall()` / `recallInternal`\n * entry) and thread the result down. Composition lives here and only here.\n *\n * Session toggles are intentionally not a parameter yet: `session-toggles.ts`\n * is agent-scoped (per session/agent enable-disable of the whole plugin), not\n * flag-scoped — none of the flags projected here have a per-session override,\n * so there is nothing for a toggle argument to compose at this layer.\n */\nexport function resolveCapabilities(config: PluginConfig): CapabilitySet {\n return Object.freeze({\n rerankCache: config.rerankCacheEnabled,\n recallDirectAnswer: config.recallDirectAnswerEnabled,\n recallMemoryWorthFilter: config.recallMemoryWorthFilterEnabled,\n // Issue #1577: TrustScore subsumes the Memory Worth multiplier when on;\n // the orchestrator runs exactly one of the two (mutual exclusion, rule 39).\n recallTrustScore: config.trustScoreEnabled === true,\n recallMmr: config.recallMmrEnabled,\n recallReasoningTraceBoost: config.recallReasoningTraceBoostEnabled,\n recallPlannerLlm: config.recallPlannerLlmEnabled,\n recallPlanner: config.recallPlannerEnabled,\n recallConfidenceGate: config.recallConfidenceGateEnabled,\n graphRecall: config.graphRecallEnabled,\n // Optional flags: preserve the exact default-when-undefined semantics the\n // migrated call sites used (`!== false` = default-on, `=== true` = default-off).\n graphAssistInFullMode: config.graphAssistInFullModeEnabled !== false,\n graphExpandedIntent: config.graphExpandedIntentEnabled === true,\n // Issue #1566 Cluster C: mixed-operation flags resolved once per recall op.\n rerank: config.rerankEnabled,\n harmonicRetrieval: config.harmonicRetrievalEnabled,\n parallelRetrieval: config.parallelRetrievalEnabled,\n });\n}\n\n// ---------------------------------------------------------------------------\n// Graph-construction capability set (issue #1566 Cluster A).\n//\n// The recall CapabilitySet above covers flags whose EVERY read site lives on\n// the recall call chain. The five flags below are read on graph-construction,\n// write/extraction, AND recall paths — so they cannot join the recall set\n// without leaving some sites on `caps.` and others on `config.` (the exact\n// divergence #1523 forbade). They get their own projection, resolved at graph\n// build/write entry (and alongside `caps` when recall reads them).\n// ---------------------------------------------------------------------------\n\n/**\n * Frozen projection of graph-construction feature gates.\n *\n * Every field is `readonly boolean`. Composition (including default-when-\n * undefined semantics for the optional `graphWriteSessionAdjacencyEnabled`)\n * lives ONLY in {@link resolveGraphConstructionCapabilities}.\n */\nexport interface GraphConstructionCapabilitySet {\n /** `entityGraphEnabled` — maintain entity co-reference graph edges. */\n readonly entityGraph: boolean;\n /** `timeGraphEnabled` — maintain thread-adjacency graph edges. */\n readonly timeGraph: boolean;\n /** `causalGraphEnabled` — maintain causal-language graph edges. */\n readonly causalGraph: boolean;\n /** `multiGraphMemoryEnabled` — master switch for multi-graph writes/traversal. */\n readonly multiGraphMemory: boolean;\n /** `graphWriteSessionAdjacencyEnabled` — session-adjacency fallback for time edges (default-on). */\n readonly graphWriteSessionAdjacency: boolean;\n}\n\n/**\n * Resolve the {@link GraphConstructionCapabilitySet} from parsed config.\n *\n * Call this ONCE at graph build/write entry (extraction, recall graph\n * expansion, graph-health/repair) and thread the result down — exactly the\n * pattern {@link resolveCapabilities} established for recall.\n */\nexport type GraphConstructionConfigProjection = Pick<\n PluginConfig,\n | \"entityGraphEnabled\"\n | \"timeGraphEnabled\"\n | \"causalGraphEnabled\"\n | \"multiGraphMemoryEnabled\"\n | \"graphWriteSessionAdjacencyEnabled\"\n>;\n\nexport function resolveGraphConstructionCapabilities(\n config: GraphConstructionConfigProjection,\n): GraphConstructionCapabilitySet {\n return Object.freeze({\n entityGraph: config.entityGraphEnabled,\n timeGraph: config.timeGraphEnabled,\n causalGraph: config.causalGraphEnabled,\n multiGraphMemory: config.multiGraphMemoryEnabled,\n // Optional flag: preserve the exact default-when-undefined semantics the\n // migrated call site used (`!== false` = default-on).\n graphWriteSessionAdjacency: config.graphWriteSessionAdjacencyEnabled !== false,\n });\n}\n\n// ---------------------------------------------------------------------------\n// Access-setup capability set (issue #1566 Cluster B).\n//\n// These two flags gate cross-namespace recall budgeting and anomaly-detection\n// auditing. Resolved once at access-service handler entry (and the operator\n// doctor check) rather than re-derived from raw config at each site.\n// ---------------------------------------------------------------------------\n\n/**\n * Frozen projection of access-setup feature gates (issue #1566 Cluster B).\n *\n * Every field is `readonly boolean`. Composition (including the default-off\n * semantics for the optional `recallAuditAnomalyDetectionEnabled`) lives ONLY\n * in {@link resolveAccessSetupCapabilities}.\n */\nexport interface AccessSetupCapabilitySet {\n /** `recallCrossNamespaceBudgetEnabled` — rolling cross-namespace recall budget. */\n readonly recallCrossNamespaceBudget: boolean;\n /** `recallAuditAnomalyDetectionEnabled` — access-audit anomaly detection (default-off). */\n readonly recallAuditAnomalyDetection: boolean;\n}\n\n/**\n * Resolve the {@link AccessSetupCapabilitySet} from parsed config.\n *\n * Call this ONCE at access-service handler entry and thread the result down.\n */\nexport type AccessSetupConfigProjection = Pick<\n PluginConfig,\n \"recallCrossNamespaceBudgetEnabled\" | \"recallAuditAnomalyDetectionEnabled\"\n>;\n\nexport function resolveAccessSetupCapabilities(\n config: AccessSetupConfigProjection,\n): AccessSetupCapabilitySet {\n return Object.freeze({\n recallCrossNamespaceBudget: config.recallCrossNamespaceBudgetEnabled,\n // Optional/default-off flag: preserve `=== true` semantics.\n recallAuditAnomalyDetection: config.recallAuditAnomalyDetectionEnabled === true,\n });\n}\n\n// ---------------------------------------------------------------------------\n// Memory-lifecycle capability set (issue #1523 batch 3).\n//\n// The flags below gate memory WRITE/EXTRACTION (extraction judge, scope\n// classification, dedupe, telemetry prefilter), temporal supersession of\n// stored facts, and the lifecycle policy pass (promotion / decay / stale\n// filtering). They are read on the persistExtraction write path, the recall\n// candidate-filter path, and the maintenance / lifecycle-pass path — so, like\n// the graph-construction set above, they get their own projection resolved\n// ONCE at each operation entry that reads them (never re-derived from raw\n// config mid-operation — the gate-divergence defect class #1523 targets).\n//\n// Every field projects from an already-resolved PluginConfig boolean (defaults\n// are applied at the config-parse boundary, rule 36), so the resolver is a\n// pure projection — no `!== false` / `=== true` re-coercion here.\n// ---------------------------------------------------------------------------\n\n/**\n * Frozen projection of memory-lifecycle feature gates (issue #1523 batch 3).\n *\n * Resolved once per write / recall-filter / maintenance operation and threaded\n * down. Composition lives ONLY in {@link resolveMemoryLifecycleCapabilities}.\n */\nexport interface MemoryLifecycleCapabilitySet {\n /** `temporalSupersessionEnabled` — supersede stale structured facts on write, filter on recall. */\n readonly temporalSupersession: boolean;\n /** `temporalMemoryTreeEnabled` — temporal-memory-tree build + recall tier. */\n readonly temporalMemoryTree: boolean;\n /** `lifecyclePolicyEnabled` — lifecycle promotion / decay metadata pass. */\n readonly lifecyclePolicy: boolean;\n /** `lifecycleFilterStaleEnabled` — filter stale-lifecycle memories from recall. */\n readonly lifecycleFilterStale: boolean;\n /** `lifecycleMetricsEnabled` — emit lifecycle-pass metrics. */\n readonly lifecycleMetrics: boolean;\n /** `extractionScopeClassificationEnabled` — LLM classifies each fact's scope. */\n readonly extractionScopeClassification: boolean;\n /** `extractionJudgeEnabled` — LLM-as-judge fact-worthiness gate. */\n readonly extractionJudge: boolean;\n /** `extractionDedupeEnabled` — dedupe against recent extractions. */\n readonly extractionDedupe: boolean;\n /** `extractionTelemetryPrefilterEnabled` — skip mechanical-telemetry transcripts. */\n readonly extractionTelemetryPrefilter: boolean;\n /** `extractionJudgeTelemetryEnabled` — collect judge verdict telemetry. */\n readonly extractionJudgeTelemetry: boolean;\n /** `embeddingFallbackEnabled` — semantic-dedup / archive-search embedding fallback. */\n readonly embeddingFallback: boolean;\n}\n\n/**\n * Config projection consumed by {@link resolveMemoryLifecycleCapabilities}.\n */\nexport type MemoryLifecycleConfigProjection = Pick<\n PluginConfig,\n | \"temporalSupersessionEnabled\"\n | \"temporalMemoryTreeEnabled\"\n | \"lifecyclePolicyEnabled\"\n | \"lifecycleFilterStaleEnabled\"\n | \"lifecycleMetricsEnabled\"\n | \"extractionScopeClassificationEnabled\"\n | \"extractionJudgeEnabled\"\n | \"extractionDedupeEnabled\"\n | \"extractionTelemetryPrefilterEnabled\"\n | \"extractionJudgeTelemetryEnabled\"\n | \"embeddingFallbackEnabled\"\n>;\n\n/**\n * Resolve the {@link MemoryLifecycleCapabilitySet} from parsed config.\n *\n * Call this ONCE per write / recall-filter / maintenance operation entry and\n * thread the result down — exactly the pattern {@link resolveCapabilities}\n * established for recall.\n */\nexport function resolveMemoryLifecycleCapabilities(\n config: MemoryLifecycleConfigProjection,\n): MemoryLifecycleCapabilitySet {\n return Object.freeze({\n temporalSupersession: config.temporalSupersessionEnabled,\n temporalMemoryTree: config.temporalMemoryTreeEnabled,\n lifecyclePolicy: config.lifecyclePolicyEnabled,\n lifecycleFilterStale: config.lifecycleFilterStaleEnabled,\n lifecycleMetrics: config.lifecycleMetricsEnabled,\n extractionScopeClassification: config.extractionScopeClassificationEnabled,\n extractionJudge: config.extractionJudgeEnabled,\n extractionDedupe: config.extractionDedupeEnabled,\n extractionTelemetryPrefilter: config.extractionTelemetryPrefilterEnabled,\n extractionJudgeTelemetry: config.extractionJudgeTelemetryEnabled,\n embeddingFallback: config.embeddingFallbackEnabled,\n });\n}\n"],"mappings":";AA8EO,SAAS,oBAAoB,QAAqC;AACvE,SAAO,OAAO,OAAO;AAAA,IACnB,aAAa,OAAO;AAAA,IACpB,oBAAoB,OAAO;AAAA,IAC3B,yBAAyB,OAAO;AAAA;AAAA;AAAA,IAGhC,kBAAkB,OAAO,sBAAsB;AAAA,IAC/C,WAAW,OAAO;AAAA,IAClB,2BAA2B,OAAO;AAAA,IAClC,kBAAkB,OAAO;AAAA,IACzB,eAAe,OAAO;AAAA,IACtB,sBAAsB,OAAO;AAAA,IAC7B,aAAa,OAAO;AAAA;AAAA;AAAA,IAGpB,uBAAuB,OAAO,iCAAiC;AAAA,IAC/D,qBAAqB,OAAO,+BAA+B;AAAA;AAAA,IAE3D,QAAQ,OAAO;AAAA,IACf,mBAAmB,OAAO;AAAA,IAC1B,mBAAmB,OAAO;AAAA,EAC5B,CAAC;AACH;AAiDO,SAAS,qCACd,QACgC;AAChC,SAAO,OAAO,OAAO;AAAA,IACnB,aAAa,OAAO;AAAA,IACpB,WAAW,OAAO;AAAA,IAClB,aAAa,OAAO;AAAA,IACpB,kBAAkB,OAAO;AAAA;AAAA;AAAA,IAGzB,4BAA4B,OAAO,sCAAsC;AAAA,EAC3E,CAAC;AACH;AAkCO,SAAS,+BACd,QAC0B;AAC1B,SAAO,OAAO,OAAO;AAAA,IACnB,4BAA4B,OAAO;AAAA;AAAA,IAEnC,6BAA6B,OAAO,uCAAuC;AAAA,EAC7E,CAAC;AACH;AA2EO,SAAS,mCACd,QAC8B;AAC9B,SAAO,OAAO,OAAO;AAAA,IACnB,sBAAsB,OAAO;AAAA,IAC7B,oBAAoB,OAAO;AAAA,IAC3B,iBAAiB,OAAO;AAAA,IACxB,sBAAsB,OAAO;AAAA,IAC7B,kBAAkB,OAAO;AAAA,IACzB,+BAA+B,OAAO;AAAA,IACtC,iBAAiB,OAAO;AAAA,IACxB,kBAAkB,OAAO;AAAA,IACzB,8BAA8B,OAAO;AAAA,IACrC,0BAA0B,OAAO;AAAA,IACjC,mBAAmB,OAAO;AAAA,EAC5B,CAAC;AACH;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  EngramAccessInputError
3
- } from "./chunk-27QQC7ZX.js";
3
+ } from "./chunk-UM5AWJNQ.js";
4
4
  import {
5
5
  expandTildePath
6
6
  } from "./chunk-EYIEWJNI.js";
@@ -130,4 +130,4 @@ export {
130
130
  listRegisteredOperations,
131
131
  __resetRegistryForTest
132
132
  };
133
- //# sourceMappingURL=chunk-R7IYU5DZ.js.map
133
+ //# sourceMappingURL=chunk-4ESAR77N.js.map
@@ -3,13 +3,13 @@ import {
3
3
  } from "./chunk-FVZ2ISIX.js";
4
4
  import {
5
5
  defineOperation
6
- } from "./chunk-R7IYU5DZ.js";
6
+ } from "./chunk-4ESAR77N.js";
7
7
  import {
8
8
  DECISION_SUBCOMMANDS,
9
9
  DELTA_SUBCOMMANDS,
10
10
  EngramAccessInputError,
11
11
  isCodegraphToolName
12
- } from "./chunk-27QQC7ZX.js";
12
+ } from "./chunk-UM5AWJNQ.js";
13
13
  import {
14
14
  CorrectionContractError
15
15
  } from "./chunk-AQLOP5F4.js";
@@ -465,4 +465,4 @@ export {
465
465
  codegraphIngestTracesOperation,
466
466
  REGISTERED_OPERATIONS
467
467
  };
468
- //# sourceMappingURL=chunk-SNKPUJHR.js.map
468
+ //# sourceMappingURL=chunk-76NHR6ZL.js.map
@@ -12,10 +12,10 @@ import {
12
12
  } from "./chunk-FVZ2ISIX.js";
13
13
  import {
14
14
  getOperation
15
- } from "./chunk-R7IYU5DZ.js";
15
+ } from "./chunk-4ESAR77N.js";
16
16
  import {
17
17
  EngramAccessInputError
18
- } from "./chunk-27QQC7ZX.js";
18
+ } from "./chunk-UM5AWJNQ.js";
19
19
  import {
20
20
  readEnvVar
21
21
  } from "./chunk-JUC24CTX.js";
@@ -903,6 +903,11 @@ async function loadChatSession(memoryDir, chatSessionId) {
903
903
  } catch {
904
904
  }
905
905
  }
906
+ for (const e of transcript) {
907
+ if (typeof e.seq === "number" && e.seq + 1 > lastTranscriptSeq) {
908
+ lastTranscriptSeq = e.seq + 1;
909
+ }
910
+ }
906
911
  return {
907
912
  id: chatSessionId,
908
913
  principal,
@@ -3614,4 +3619,4 @@ export {
3614
3619
  processChatMessage,
3615
3620
  EngramMcpServer
3616
3621
  };
3617
- //# sourceMappingURL=chunk-6PY5YJAV.js.map
3622
+ //# sourceMappingURL=chunk-BQCHEV7O.js.map