@remnic/core 9.66.12 → 9.68.0

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 (217) hide show
  1. package/dist/access-admin-ops-surface.js +26 -26
  2. package/dist/access-audit.js +2 -2
  3. package/dist/access-authorization-probe.js +27 -27
  4. package/dist/access-boundary.js +26 -26
  5. package/dist/access-cli.js +87 -87
  6. package/dist/access-extraction-force-flush.js +26 -26
  7. package/dist/access-http-query.js +28 -28
  8. package/dist/access-http.js +44 -44
  9. package/dist/access-identity-continuity-surface.js +26 -26
  10. package/dist/access-lcm-surface.js +26 -26
  11. package/dist/access-mcp.js +34 -34
  12. package/dist/access-namespace-preflight.js +26 -26
  13. package/dist/access-observe-write-surface.js +26 -26
  14. package/dist/access-operations-batch.js +28 -28
  15. package/dist/access-operations.js +33 -33
  16. package/dist/access-recall-concurrency.js +26 -26
  17. package/dist/access-recall-response.js +26 -26
  18. package/dist/access-recall-surface.js +26 -26
  19. package/dist/access-schema.js +3 -3
  20. package/dist/access-service.js +26 -26
  21. package/dist/access-surface-catalog.js +28 -28
  22. package/dist/adapters/index.js +7 -7
  23. package/dist/adapters/registry.js +3 -3
  24. package/dist/briefing.js +11 -11
  25. package/dist/{capsule-crypto-GWVG7LGC.js → capsule-crypto-7FJQINUR.js} +2 -2
  26. package/dist/causal-consolidation.js +12 -12
  27. package/dist/{chunk-LEPOP46W.js → chunk-227UFSEQ.js} +4 -4
  28. package/dist/{chunk-FJP6MVRK.js → chunk-25P3LW6U.js} +2 -2
  29. package/dist/{chunk-JKXPFIPC.js → chunk-2MHMHF76.js} +2 -2
  30. package/dist/{chunk-OWHERGF2.js → chunk-2NLLXCJG.js} +2 -2
  31. package/dist/{chunk-QMIKXIAM.js → chunk-327JMA2N.js} +2 -2
  32. package/dist/{chunk-H6VYVOVP.js → chunk-363VZTVH.js} +2 -2
  33. package/dist/{chunk-PKRYQ222.js → chunk-3IRH5MYM.js} +6 -6
  34. package/dist/{chunk-GEHEBLVY.js → chunk-4PEZMGZD.js} +2 -2
  35. package/dist/{chunk-EU5PDHU2.js → chunk-4PMPOZK3.js} +2 -2
  36. package/dist/{chunk-6SRUPUTY.js → chunk-52GQNSLC.js} +5 -5
  37. package/dist/{chunk-SV3MDTJI.js → chunk-5UI7WQA6.js} +2 -2
  38. package/dist/{chunk-JGXMA6HL.js → chunk-6FUMA6AA.js} +2 -2
  39. package/dist/{chunk-TVVEYCNW.js → chunk-7K5Q6COX.js} +4 -4
  40. package/dist/{chunk-WGVAEVT7.js → chunk-7KG5V4VV.js} +2 -2
  41. package/dist/{chunk-A6HVSRGM.js → chunk-A7NMS5II.js} +3 -3
  42. package/dist/{chunk-M3BFW3VX.js → chunk-ABPCF4MW.js} +1 -1
  43. package/dist/{chunk-NNBZS3DY.js → chunk-AG46P24C.js} +4 -4
  44. package/dist/{chunk-I7FVQMAA.js → chunk-BGD3T743.js} +2 -2
  45. package/dist/{chunk-QRHKJT7F.js → chunk-BHH736UQ.js} +4 -4
  46. package/dist/{chunk-4L7OKRGP.js → chunk-BS5BD3DF.js} +2 -2
  47. package/dist/{chunk-BT7AQZQX.js → chunk-BTRY6UH3.js} +2 -2
  48. package/dist/{chunk-BE4Y6GK6.js → chunk-D35XLYQ7.js} +11 -11
  49. package/dist/{chunk-CJTZO5MW.js → chunk-D6Q5EPOV.js} +2 -2
  50. package/dist/{chunk-6KGBI54C.js → chunk-DJ7TZLGU.js} +2 -2
  51. package/dist/{chunk-IDPFBRPJ.js → chunk-ERKFG4RV.js} +38 -38
  52. package/dist/{chunk-K7VTD5AZ.js → chunk-F25CL3IQ.js} +2 -2
  53. package/dist/{chunk-QZPSIQRB.js → chunk-FOT5GP2U.js} +2 -2
  54. package/dist/{chunk-OMA2B7GY.js → chunk-HACVBEAP.js} +2 -2
  55. package/dist/{chunk-IEZ6CGTW.js → chunk-HCM7ZYJD.js} +2 -2
  56. package/dist/{chunk-46XRYYOJ.js → chunk-HDQQRRCZ.js} +3 -3
  57. package/dist/{chunk-QXDICB4J.js → chunk-I6T4SYFW.js} +3 -3
  58. package/dist/{chunk-HQJM3BKH.js → chunk-J2R275FN.js} +2 -2
  59. package/dist/{chunk-STUPJFG7.js → chunk-KAY2C6VX.js} +2 -2
  60. package/dist/{chunk-I3X5NWDU.js → chunk-KJUH3QIQ.js} +2 -2
  61. package/dist/{chunk-BUKK5SWA.js → chunk-KQAFEZQX.js} +2 -2
  62. package/dist/{chunk-KZAN4JXY.js → chunk-KRNFJKMH.js} +2 -2
  63. package/dist/{chunk-SBUQ4KIE.js → chunk-L7MJJAG2.js} +2 -2
  64. package/dist/{chunk-IVKIODHO.js → chunk-MB6GLPRY.js} +4 -4
  65. package/dist/{chunk-NROLO2HY.js → chunk-ND6NL2YR.js} +2 -2
  66. package/dist/{chunk-O2HDDAUM.js → chunk-NFITGYMQ.js} +3 -3
  67. package/dist/{chunk-GRZYF6KK.js → chunk-NYQHD7H4.js} +12 -12
  68. package/dist/{chunk-REJCULWA.js → chunk-P342D5BP.js} +2 -2
  69. package/dist/{chunk-HGRRJDUH.js → chunk-PIBQIYF2.js} +2 -2
  70. package/dist/{chunk-UUGU26P2.js → chunk-QOE3EM5Z.js} +2 -2
  71. package/dist/{chunk-N37X5RU7.js → chunk-RACZB5HT.js} +4 -4
  72. package/dist/{chunk-AU7Q3LSC.js → chunk-RKNJBZ55.js} +7 -7
  73. package/dist/{chunk-F3H7VNM4.js → chunk-USQAH6PN.js} +2 -2
  74. package/dist/{chunk-ZFE7NXB7.js → chunk-VLSUKXCJ.js} +4 -4
  75. package/dist/{chunk-GHSJBVVQ.js → chunk-WFFGUFFN.js} +265 -49
  76. package/dist/chunk-WFFGUFFN.js.map +1 -0
  77. package/dist/{chunk-YWD5UIWY.js → chunk-WQCET3N3.js} +2 -2
  78. package/dist/{chunk-MUYJQ273.js → chunk-WSYACIKD.js} +2 -2
  79. package/dist/{chunk-UVYI6VIX.js → chunk-X7Y7WX73.js} +1 -1
  80. package/dist/{chunk-AWMS3IFB.js → chunk-XPDWNWH6.js} +3 -3
  81. package/dist/{chunk-K5JFIA44.js → chunk-XW3G4BJI.js} +7 -7
  82. package/dist/{chunk-GIC6BASP.js → chunk-XZBXINXZ.js} +4 -4
  83. package/dist/{chunk-KDCPIXIY.js → chunk-YFK64FYK.js} +2 -2
  84. package/dist/{chunk-DDAHG5ZD.js → chunk-YYAWJRGL.js} +2 -2
  85. package/dist/{chunk-IYFL3534.js → chunk-Z2FXSE5P.js} +2 -2
  86. package/dist/{chunk-CR73YTWC.js → chunk-ZDJMCXC7.js} +11 -11
  87. package/dist/{chunk-OQT34EVH.js → chunk-ZVW724ZK.js} +2 -2
  88. package/dist/cli.js +63 -63
  89. package/dist/coding/export-okf-codegraph.js +11 -11
  90. package/dist/compounding/engine.js +11 -11
  91. package/dist/connectors/codex-materialize-runner.js +11 -11
  92. package/dist/connectors/index.js +11 -11
  93. package/dist/convergence-refresh.js +13 -13
  94. package/dist/conversation-index/backend.js +2 -2
  95. package/dist/corpus-watermark.js +13 -13
  96. package/dist/entity-retrieval.js +11 -11
  97. package/dist/external-wiki-access.js +27 -27
  98. package/dist/extraction-span-gate.d.ts +31 -0
  99. package/dist/extraction-span-gate.js +37 -0
  100. package/dist/extraction-span-gate.js.map +1 -0
  101. package/dist/extraction.js +14 -14
  102. package/dist/harmonic-retrieval.js +1 -1
  103. package/dist/index.d.ts +61 -6
  104. package/dist/index.js +106 -100
  105. package/dist/lcm/index.js +3 -3
  106. package/dist/local-llm.js +2 -2
  107. package/dist/location/index.js +13 -13
  108. package/dist/maintenance/memory-governance.js +11 -11
  109. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +11 -11
  110. package/dist/maintenance/rebuild-memory-projection.js +12 -12
  111. package/dist/namespaces/migrate.js +12 -12
  112. package/dist/namespaces/search.js +9 -9
  113. package/dist/namespaces/storage.js +11 -11
  114. package/dist/operator-doctor-corpus.js +14 -14
  115. package/dist/operator-toolkit.js +19 -19
  116. package/dist/orchestration/maintenance.js +19 -19
  117. package/dist/orchestrator.js +87 -87
  118. package/dist/recall-navigate-window.d.ts +26 -0
  119. package/dist/recall-navigate-window.js +32 -0
  120. package/dist/recall-navigate-window.js.map +1 -0
  121. package/dist/search/factory.js +8 -8
  122. package/dist/search/index.js +13 -13
  123. package/dist/search/lancedb-backend.js +2 -2
  124. package/dist/search/meilisearch-backend.js +2 -2
  125. package/dist/search/orama-backend.js +2 -2
  126. package/dist/semantic-consolidation.js +12 -12
  127. package/dist/semantic-rule-promotion.js +11 -11
  128. package/dist/semantic-rule-verifier.js +11 -11
  129. package/dist/source-agent-qualifier.js +11 -11
  130. package/dist/standup/build.js +11 -11
  131. package/dist/storage.js +10 -10
  132. package/dist/summarizer.js +3 -3
  133. package/dist/support-passport/index.js +29 -29
  134. package/dist/transfer/backup.js +2 -2
  135. package/dist/transfer/capsule-export.js +2 -2
  136. package/dist/transfer/capsule-import.js +2 -2
  137. package/dist/transfer/export-okf.js +12 -12
  138. package/dist/verified-recall.js +11 -11
  139. package/dist/who-knows-cli.js +12 -12
  140. package/dist/who-knows.js +11 -11
  141. package/package.json +2 -2
  142. package/src/activity/index.ts +2 -0
  143. package/src/activity/journal-section.ts +1 -1
  144. package/src/activity/journal-strip.test.ts +126 -0
  145. package/src/activity/journal-strip.ts +115 -0
  146. package/src/activity/privacy-delete-plan.test.ts +215 -0
  147. package/src/activity/privacy-delete-plan.ts +116 -0
  148. package/src/activity/timeline/index.ts +1 -0
  149. package/src/activity/timeline/recap-merge-edits.test.ts +181 -0
  150. package/src/activity/timeline/recap-merge-edits.ts +70 -0
  151. package/src/extraction-span-gate.test.ts +202 -0
  152. package/src/extraction-span-gate.ts +58 -0
  153. package/src/recall-navigate-window.test.ts +104 -0
  154. package/src/recall-navigate-window.ts +48 -0
  155. package/src/shared-context/supersession-chain.test.ts +158 -0
  156. package/src/shared-context/supersession-chain.ts +95 -0
  157. package/dist/chunk-GHSJBVVQ.js.map +0 -1
  158. /package/dist/{capsule-crypto-GWVG7LGC.js.map → capsule-crypto-7FJQINUR.js.map} +0 -0
  159. /package/dist/{chunk-LEPOP46W.js.map → chunk-227UFSEQ.js.map} +0 -0
  160. /package/dist/{chunk-FJP6MVRK.js.map → chunk-25P3LW6U.js.map} +0 -0
  161. /package/dist/{chunk-JKXPFIPC.js.map → chunk-2MHMHF76.js.map} +0 -0
  162. /package/dist/{chunk-OWHERGF2.js.map → chunk-2NLLXCJG.js.map} +0 -0
  163. /package/dist/{chunk-QMIKXIAM.js.map → chunk-327JMA2N.js.map} +0 -0
  164. /package/dist/{chunk-H6VYVOVP.js.map → chunk-363VZTVH.js.map} +0 -0
  165. /package/dist/{chunk-PKRYQ222.js.map → chunk-3IRH5MYM.js.map} +0 -0
  166. /package/dist/{chunk-GEHEBLVY.js.map → chunk-4PEZMGZD.js.map} +0 -0
  167. /package/dist/{chunk-EU5PDHU2.js.map → chunk-4PMPOZK3.js.map} +0 -0
  168. /package/dist/{chunk-6SRUPUTY.js.map → chunk-52GQNSLC.js.map} +0 -0
  169. /package/dist/{chunk-SV3MDTJI.js.map → chunk-5UI7WQA6.js.map} +0 -0
  170. /package/dist/{chunk-JGXMA6HL.js.map → chunk-6FUMA6AA.js.map} +0 -0
  171. /package/dist/{chunk-TVVEYCNW.js.map → chunk-7K5Q6COX.js.map} +0 -0
  172. /package/dist/{chunk-WGVAEVT7.js.map → chunk-7KG5V4VV.js.map} +0 -0
  173. /package/dist/{chunk-A6HVSRGM.js.map → chunk-A7NMS5II.js.map} +0 -0
  174. /package/dist/{chunk-M3BFW3VX.js.map → chunk-ABPCF4MW.js.map} +0 -0
  175. /package/dist/{chunk-NNBZS3DY.js.map → chunk-AG46P24C.js.map} +0 -0
  176. /package/dist/{chunk-I7FVQMAA.js.map → chunk-BGD3T743.js.map} +0 -0
  177. /package/dist/{chunk-QRHKJT7F.js.map → chunk-BHH736UQ.js.map} +0 -0
  178. /package/dist/{chunk-4L7OKRGP.js.map → chunk-BS5BD3DF.js.map} +0 -0
  179. /package/dist/{chunk-BT7AQZQX.js.map → chunk-BTRY6UH3.js.map} +0 -0
  180. /package/dist/{chunk-BE4Y6GK6.js.map → chunk-D35XLYQ7.js.map} +0 -0
  181. /package/dist/{chunk-CJTZO5MW.js.map → chunk-D6Q5EPOV.js.map} +0 -0
  182. /package/dist/{chunk-6KGBI54C.js.map → chunk-DJ7TZLGU.js.map} +0 -0
  183. /package/dist/{chunk-IDPFBRPJ.js.map → chunk-ERKFG4RV.js.map} +0 -0
  184. /package/dist/{chunk-K7VTD5AZ.js.map → chunk-F25CL3IQ.js.map} +0 -0
  185. /package/dist/{chunk-QZPSIQRB.js.map → chunk-FOT5GP2U.js.map} +0 -0
  186. /package/dist/{chunk-OMA2B7GY.js.map → chunk-HACVBEAP.js.map} +0 -0
  187. /package/dist/{chunk-IEZ6CGTW.js.map → chunk-HCM7ZYJD.js.map} +0 -0
  188. /package/dist/{chunk-46XRYYOJ.js.map → chunk-HDQQRRCZ.js.map} +0 -0
  189. /package/dist/{chunk-QXDICB4J.js.map → chunk-I6T4SYFW.js.map} +0 -0
  190. /package/dist/{chunk-HQJM3BKH.js.map → chunk-J2R275FN.js.map} +0 -0
  191. /package/dist/{chunk-STUPJFG7.js.map → chunk-KAY2C6VX.js.map} +0 -0
  192. /package/dist/{chunk-I3X5NWDU.js.map → chunk-KJUH3QIQ.js.map} +0 -0
  193. /package/dist/{chunk-BUKK5SWA.js.map → chunk-KQAFEZQX.js.map} +0 -0
  194. /package/dist/{chunk-KZAN4JXY.js.map → chunk-KRNFJKMH.js.map} +0 -0
  195. /package/dist/{chunk-SBUQ4KIE.js.map → chunk-L7MJJAG2.js.map} +0 -0
  196. /package/dist/{chunk-IVKIODHO.js.map → chunk-MB6GLPRY.js.map} +0 -0
  197. /package/dist/{chunk-NROLO2HY.js.map → chunk-ND6NL2YR.js.map} +0 -0
  198. /package/dist/{chunk-O2HDDAUM.js.map → chunk-NFITGYMQ.js.map} +0 -0
  199. /package/dist/{chunk-GRZYF6KK.js.map → chunk-NYQHD7H4.js.map} +0 -0
  200. /package/dist/{chunk-REJCULWA.js.map → chunk-P342D5BP.js.map} +0 -0
  201. /package/dist/{chunk-HGRRJDUH.js.map → chunk-PIBQIYF2.js.map} +0 -0
  202. /package/dist/{chunk-UUGU26P2.js.map → chunk-QOE3EM5Z.js.map} +0 -0
  203. /package/dist/{chunk-N37X5RU7.js.map → chunk-RACZB5HT.js.map} +0 -0
  204. /package/dist/{chunk-AU7Q3LSC.js.map → chunk-RKNJBZ55.js.map} +0 -0
  205. /package/dist/{chunk-F3H7VNM4.js.map → chunk-USQAH6PN.js.map} +0 -0
  206. /package/dist/{chunk-ZFE7NXB7.js.map → chunk-VLSUKXCJ.js.map} +0 -0
  207. /package/dist/{chunk-YWD5UIWY.js.map → chunk-WQCET3N3.js.map} +0 -0
  208. /package/dist/{chunk-MUYJQ273.js.map → chunk-WSYACIKD.js.map} +0 -0
  209. /package/dist/{chunk-UVYI6VIX.js.map → chunk-X7Y7WX73.js.map} +0 -0
  210. /package/dist/{chunk-AWMS3IFB.js.map → chunk-XPDWNWH6.js.map} +0 -0
  211. /package/dist/{chunk-K5JFIA44.js.map → chunk-XW3G4BJI.js.map} +0 -0
  212. /package/dist/{chunk-GIC6BASP.js.map → chunk-XZBXINXZ.js.map} +0 -0
  213. /package/dist/{chunk-KDCPIXIY.js.map → chunk-YFK64FYK.js.map} +0 -0
  214. /package/dist/{chunk-DDAHG5ZD.js.map → chunk-YYAWJRGL.js.map} +0 -0
  215. /package/dist/{chunk-IYFL3534.js.map → chunk-Z2FXSE5P.js.map} +0 -0
  216. /package/dist/{chunk-CR73YTWC.js.map → chunk-ZDJMCXC7.js.map} +0 -0
  217. /package/dist/{chunk-OQT34EVH.js.map → chunk-ZVW724ZK.js.map} +0 -0
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  ActivityStore,
15
15
  MaintenanceScheduler
16
- } from "./chunk-6SRUPUTY.js";
16
+ } from "./chunk-52GQNSLC.js";
17
17
  import {
18
18
  runPeerProfileReasoner
19
19
  } from "./chunk-I74SUMNI.js";
@@ -23,19 +23,19 @@ import {
23
23
  import {
24
24
  LcmEngine
25
25
  } from "./chunk-X2NFFBTO.js";
26
- import {
27
- chunkTranscriptEntries
28
- } from "./chunk-TECVW3JP.js";
29
26
  import {
30
27
  cleanupConversationChunks
31
28
  } from "./chunk-C5JF6EZ7.js";
32
29
  import {
33
30
  CompoundingEngine,
34
31
  defaultTierMigrationCycleBudget
35
- } from "./chunk-MUYJQ273.js";
32
+ } from "./chunk-WSYACIKD.js";
36
33
  import {
37
34
  SharedContextManager
38
35
  } from "./chunk-VI637ILW.js";
36
+ import {
37
+ chunkTranscriptEntries
38
+ } from "./chunk-TECVW3JP.js";
39
39
  import {
40
40
  cleanArchivedUserMessage
41
41
  } from "./chunk-47DU4SGJ.js";
@@ -47,6 +47,9 @@ import {
47
47
  import {
48
48
  extractTopics
49
49
  } from "./chunk-KVDUKH5E.js";
50
+ import {
51
+ buildTemporalTimelineRecallSection
52
+ } from "./chunk-2NKY7OC6.js";
50
53
  import {
51
54
  CODEX_THREAD_KEY_PREFIX
52
55
  } from "./chunk-4EX5WZ4M.js";
@@ -59,19 +62,21 @@ import {
59
62
  import {
60
63
  TmtBuilder
61
64
  } from "./chunk-ECZU5BJH.js";
65
+ import {
66
+ HourlySummarizer
67
+ } from "./chunk-HCM7ZYJD.js";
62
68
  import {
63
69
  buildTargetedFactRecallSection,
64
70
  shouldRecallTargetedFactEvidence
65
71
  } from "./chunk-T67LUYCR.js";
66
- import {
67
- buildTemporalTimelineRecallSection
68
- } from "./chunk-2NKY7OC6.js";
69
- import {
70
- HourlySummarizer
71
- } from "./chunk-IEZ6CGTW.js";
72
72
  import {
73
73
  SessionObserverState
74
74
  } from "./chunk-ODZKV2F7.js";
75
+ import {
76
+ RerankCache,
77
+ reorderByRankedKeys,
78
+ rerankLocalOrNoop
79
+ } from "./chunk-LUDXM7MD.js";
75
80
  import {
76
81
  buildResponseGuidanceRecallSection,
77
82
  shouldRecallResponseGuidance
@@ -106,11 +111,6 @@ import {
106
111
  import {
107
112
  RelevanceStore
108
113
  } from "./chunk-KATEWTQJ.js";
109
- import {
110
- RerankCache,
111
- reorderByRankedKeys,
112
- rerankLocalOrNoop
113
- } from "./chunk-LUDXM7MD.js";
114
114
  import {
115
115
  applyRecallStateViews
116
116
  } from "./chunk-FYDW33ZB.js";
@@ -141,6 +141,9 @@ import {
141
141
  import {
142
142
  runLiveConnectorsOnce
143
143
  } from "./chunk-HTIIXNJQ.js";
144
+ import {
145
+ classifyMemoryKind
146
+ } from "./chunk-YAZNBMNF.js";
144
147
  import {
145
148
  scoreEvidencePathDetail
146
149
  } from "./chunk-XXSOVESA.js";
@@ -151,16 +154,13 @@ import {
151
154
  normalizedHarmonicEntityIdentity,
152
155
  persistHarmonicRecords
153
156
  } from "./chunk-MEW53VQJ.js";
154
- import {
155
- classifyMemoryKind
156
- } from "./chunk-YAZNBMNF.js";
157
157
  import {
158
158
  buildFocusedListRecallSection,
159
159
  shouldRecallFocusedListEvidence
160
160
  } from "./chunk-OH7QLI6W.js";
161
161
  import {
162
162
  ExtractionEngine
163
- } from "./chunk-OMA2B7GY.js";
163
+ } from "./chunk-HACVBEAP.js";
164
164
  import {
165
165
  parseMemoryActionEligibilityContext
166
166
  } from "./chunk-AJTG3CP7.js";
@@ -194,7 +194,7 @@ import {
194
194
  buildEntityRecallSection,
195
195
  entityRecentTranscriptLookbackHours,
196
196
  readRecentEntityTranscriptEntries
197
- } from "./chunk-SV3MDTJI.js";
197
+ } from "./chunk-5UI7WQA6.js";
198
198
  import {
199
199
  planEpisodeWindowsWithFallback
200
200
  } from "./chunk-T3GIETKV.js";
@@ -209,31 +209,31 @@ import {
209
209
  } from "./chunk-DFEODULB.js";
210
210
  import {
211
211
  refreshConvergedNamespaces
212
- } from "./chunk-FJP6MVRK.js";
212
+ } from "./chunk-25P3LW6U.js";
213
213
  import {
214
214
  builtInConnectorPackageSpecifier,
215
215
  ensureBuiltInWearableConnectors,
216
216
  getWearableConnector,
217
217
  listWearableConnectors,
218
218
  screenCandidateFact
219
- } from "./chunk-IDPFBRPJ.js";
220
- import {
221
- RoutingRulesStore
222
- } from "./chunk-TBUEE7XF.js";
219
+ } from "./chunk-ERKFG4RV.js";
223
220
  import {
224
221
  normalizeReplaySessionKey
225
222
  } from "./chunk-AJVLDJU6.js";
223
+ import {
224
+ RoutingRulesStore
225
+ } from "./chunk-TBUEE7XF.js";
226
226
  import {
227
227
  compareVerifiedEpisodeResults,
228
228
  searchVerifiedEpisodes
229
- } from "./chunk-QZPSIQRB.js";
229
+ } from "./chunk-FOT5GP2U.js";
230
230
  import {
231
231
  ThreadingManager
232
232
  } from "./chunk-OJP3N7UK.js";
233
233
  import {
234
234
  compareVerifiedSemanticRuleResults,
235
235
  searchVerifiedSemanticRules
236
- } from "./chunk-YWD5UIWY.js";
236
+ } from "./chunk-WQCET3N3.js";
237
237
  import {
238
238
  searchWorkProductLedgerEntries
239
239
  } from "./chunk-NRLELHAY.js";
@@ -246,17 +246,17 @@ import {
246
246
  import {
247
247
  runNamespaceMaintenanceFanout,
248
248
  summarizeNamespaceMaintenanceHealth
249
- } from "./chunk-K5JFIA44.js";
249
+ } from "./chunk-XW3G4BJI.js";
250
250
  import {
251
251
  planNamespaceMaintenance
252
- } from "./chunk-46XRYYOJ.js";
252
+ } from "./chunk-HDQQRRCZ.js";
253
253
  import {
254
254
  isAboveImportanceThreshold,
255
255
  scoreImportance
256
256
  } from "./chunk-UOBPK2OS.js";
257
257
  import {
258
258
  searchHarmonicRetrieval
259
- } from "./chunk-M3BFW3VX.js";
259
+ } from "./chunk-ABPCF4MW.js";
260
260
  import {
261
261
  EXTRACTION_JUDGE_VERDICT_CATEGORY,
262
262
  recordJudgeVerdict
@@ -284,7 +284,7 @@ import {
284
284
  materializeAfterSemanticConsolidation,
285
285
  parseConsolidationResponse,
286
286
  parseOperatorAwareConsolidationResponse
287
- } from "./chunk-OQT34EVH.js";
287
+ } from "./chunk-ZVW724ZK.js";
288
288
  import {
289
289
  semanticChunkContent
290
290
  } from "./chunk-2GBFKHBZ.js";
@@ -330,7 +330,7 @@ import {
330
330
  } from "./chunk-QW27DOHG.js";
331
331
  import {
332
332
  MeetingsInputError
333
- } from "./chunk-CR73YTWC.js";
333
+ } from "./chunk-ZDJMCXC7.js";
334
334
  import {
335
335
  WearablesInputError,
336
336
  describeErrorForOperator
@@ -344,7 +344,7 @@ import {
344
344
  } from "./chunk-CEN6DW6X.js";
345
345
  import {
346
346
  NamespaceCatalog
347
- } from "./chunk-REJCULWA.js";
347
+ } from "./chunk-P342D5BP.js";
348
348
  import {
349
349
  RecallResultFormatter,
350
350
  SessionContextCoordinator,
@@ -356,10 +356,10 @@ import {
356
356
  isTopLevelArchivePath,
357
357
  journalPath,
358
358
  writeJournalFile
359
- } from "./chunk-GRZYF6KK.js";
359
+ } from "./chunk-NYQHD7H4.js";
360
360
  import {
361
361
  importCapsule
362
- } from "./chunk-HQJM3BKH.js";
362
+ } from "./chunk-J2R275FN.js";
363
363
  import {
364
364
  isCodingGraphInstalled
365
365
  } from "./chunk-VQ7B2Q6M.js";
@@ -392,7 +392,7 @@ import {
392
392
  } from "./chunk-NLE6TSLG.js";
393
393
  import {
394
394
  LocalLlmClient
395
- } from "./chunk-IVKIODHO.js";
395
+ } from "./chunk-MB6GLPRY.js";
396
396
  import {
397
397
  contentMatchesRedactionRules,
398
398
  loadRedactionRules
@@ -410,13 +410,13 @@ import {
410
410
  } from "./chunk-7ZNJN5WZ.js";
411
411
  import {
412
412
  NamespaceStorageRouter
413
- } from "./chunk-DDAHG5ZD.js";
413
+ } from "./chunk-YYAWJRGL.js";
414
414
  import {
415
415
  GraphIndex
416
416
  } from "./chunk-YMOPYG3K.js";
417
417
  import {
418
418
  buildChainFollowupGenerator
419
- } from "./chunk-KDCPIXIY.js";
419
+ } from "./chunk-YFK64FYK.js";
420
420
  import {
421
421
  QmdResultResolver,
422
422
  StorageManager,
@@ -435,7 +435,7 @@ import {
435
435
  reconstructFusionInputs,
436
436
  selfDeps,
437
437
  serializeFusionDay
438
- } from "./chunk-UUGU26P2.js";
438
+ } from "./chunk-QOE3EM5Z.js";
439
439
  import {
440
440
  bodyIsEscaped,
441
441
  decodeTranscriptBody,
@@ -452,12 +452,12 @@ import {
452
452
  import {
453
453
  NamespaceSearchRouter,
454
454
  namespaceCollectionName
455
- } from "./chunk-JGXMA6HL.js";
455
+ } from "./chunk-6FUMA6AA.js";
456
456
  import {
457
457
  createConversationIndexRuntime,
458
458
  createSearchBackend,
459
459
  isSearchBackendEnabled
460
- } from "./chunk-BE4Y6GK6.js";
460
+ } from "./chunk-D35XLYQ7.js";
461
461
  import {
462
462
  NoopSearchBackend
463
463
  } from "./chunk-CYEPCZN5.js";
@@ -27363,6 +27363,45 @@ function classifyAnalysisFailure(kind) {
27363
27363
  };
27364
27364
  }
27365
27365
 
27366
+ // src/activity/timeline/recap-merge-edits.ts
27367
+ function dedupeByFirst(list) {
27368
+ const seen = /* @__PURE__ */ new Set();
27369
+ const out = [];
27370
+ for (const section of list) {
27371
+ if (seen.has(section.key)) continue;
27372
+ seen.add(section.key);
27373
+ out.push(section);
27374
+ }
27375
+ return out;
27376
+ }
27377
+ function mergeRecapUserEdits(input) {
27378
+ const generated = dedupeByFirst(input.generated);
27379
+ const edited = dedupeByFirst(input.edited ?? []);
27380
+ const editedByKey = new Map(edited.map((s) => [s.key, s]));
27381
+ const sections = [];
27382
+ const preserved = [];
27383
+ const regenerated = [];
27384
+ for (const gen of generated) {
27385
+ const edit = editedByKey.get(gen.key);
27386
+ if (!input.reset && edit !== void 0 && edit.body.trim() !== "") {
27387
+ sections.push({ key: gen.key, body: edit.body });
27388
+ preserved.push(gen.key);
27389
+ } else {
27390
+ sections.push({ key: gen.key, body: gen.body });
27391
+ regenerated.push(gen.key);
27392
+ }
27393
+ }
27394
+ if (!input.reset) {
27395
+ const generatedKeys = new Set(generated.map((s) => s.key));
27396
+ const editedOnly = edited.filter((s) => !generatedKeys.has(s.key)).filter((s) => s.body.trim() !== "").sort((a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0);
27397
+ for (const edit of editedOnly) {
27398
+ sections.push({ key: edit.key, body: edit.body });
27399
+ preserved.push(edit.key);
27400
+ }
27401
+ }
27402
+ return { sections, preserved, regenerated };
27403
+ }
27404
+
27366
27405
  // src/activity/journal-vault-read.ts
27367
27406
  var REMNIC_OPEN = "<!-- remnic:";
27368
27407
  function readVaultJournal(input) {
@@ -27530,6 +27569,113 @@ function trimNewlines(text) {
27530
27569
  return text.slice(start, end);
27531
27570
  }
27532
27571
 
27572
+ // src/activity/journal-section.ts
27573
+ function parseAtxHeading2(line) {
27574
+ let level = 0;
27575
+ while (level < line.length && level < 6 && line[level] === "#") level++;
27576
+ if (level === 0) return null;
27577
+ const after = line[level];
27578
+ if (after !== " " && after !== " ") return null;
27579
+ let start = level + 1;
27580
+ let end = line.length;
27581
+ while (start < end && (line[start] === " " || line[start] === " ")) start++;
27582
+ while (end > start && (line[end - 1] === " " || line[end - 1] === " ")) end--;
27583
+ let hashEnd = end;
27584
+ while (hashEnd > start && line[hashEnd - 1] === "#") hashEnd--;
27585
+ if (hashEnd < end && hashEnd > start && (line[hashEnd - 1] === " " || line[hashEnd - 1] === " ")) {
27586
+ end = hashEnd;
27587
+ while (end > start && (line[end - 1] === " " || line[end - 1] === " ")) end--;
27588
+ }
27589
+ return { level, text: line.slice(start, end) };
27590
+ }
27591
+
27592
+ // src/activity/journal-strip.ts
27593
+ var MARKER_OPEN = "<!-- remnic:";
27594
+ var MARKER_CLOSE = "-->";
27595
+ var START_SUFFIX = ":start";
27596
+ var END_SUFFIX = ":end";
27597
+ function stripRemnicOwnedRegions2(sectionText, ownedHeadings) {
27598
+ return stripOwnedHeadings(stripMarkerRegions(sectionText), ownedHeadings);
27599
+ }
27600
+ function stripMarkerRegions(text) {
27601
+ const lines = text.split("\n");
27602
+ const keep = lines.map(() => true);
27603
+ let openName = null;
27604
+ for (let i = 0; i < lines.length; i++) {
27605
+ const marker = parseRegionMarker(lines[i]);
27606
+ if (openName !== null) {
27607
+ keep[i] = false;
27608
+ if (marker && marker.kind === "end" && marker.name === openName) openName = null;
27609
+ continue;
27610
+ }
27611
+ if (marker) {
27612
+ keep[i] = false;
27613
+ if (marker.kind === "start") openName = marker.name;
27614
+ }
27615
+ }
27616
+ return emitKeptLines(lines, keep);
27617
+ }
27618
+ function stripOwnedHeadings(text, ownedHeadings) {
27619
+ const wanted = ownedHeadingSet(ownedHeadings);
27620
+ if (wanted.size === 0 || text.length === 0) return text;
27621
+ const lines = text.split("\n");
27622
+ const keep = lines.map(() => true);
27623
+ for (let i = 0; i < lines.length; i++) {
27624
+ if (!keep[i]) continue;
27625
+ const heading = parseAtxHeading2(lines[i]);
27626
+ if (!heading || !wanted.has(heading.text)) continue;
27627
+ keep[i] = false;
27628
+ for (let j = i + 1; j < lines.length; j++) {
27629
+ const next = parseAtxHeading2(lines[j]);
27630
+ if (next && next.level <= heading.level) break;
27631
+ keep[j] = false;
27632
+ }
27633
+ }
27634
+ return emitKeptLines(lines, keep);
27635
+ }
27636
+ function emitKeptLines(lines, keep) {
27637
+ const out = [];
27638
+ let dropped = false;
27639
+ for (let i = 0; i < lines.length; i++) {
27640
+ if (!keep[i]) {
27641
+ dropped = true;
27642
+ continue;
27643
+ }
27644
+ const line = lines[i];
27645
+ const previous = out.length > 0 ? out[out.length - 1] : null;
27646
+ if (dropped && previous !== null && previous.trim().length === 0 && line.trim().length === 0) {
27647
+ dropped = false;
27648
+ continue;
27649
+ }
27650
+ out.push(line);
27651
+ dropped = false;
27652
+ }
27653
+ return out.join("\n");
27654
+ }
27655
+ function parseRegionMarker(line) {
27656
+ const trimmed = line.trim();
27657
+ if (!trimmed.startsWith(MARKER_OPEN) || !trimmed.endsWith(MARKER_CLOSE)) return null;
27658
+ const inner = trimmed.slice(MARKER_OPEN.length, trimmed.length - MARKER_CLOSE.length).trim();
27659
+ if (inner.endsWith(START_SUFFIX)) {
27660
+ const name = inner.slice(0, -START_SUFFIX.length);
27661
+ return name.length > 0 ? { kind: "start", name } : null;
27662
+ }
27663
+ if (inner.endsWith(END_SUFFIX)) {
27664
+ const name = inner.slice(0, -END_SUFFIX.length);
27665
+ return name.length > 0 ? { kind: "end", name } : null;
27666
+ }
27667
+ return null;
27668
+ }
27669
+ function ownedHeadingSet(ownedHeadings) {
27670
+ const wanted = /* @__PURE__ */ new Set();
27671
+ for (const entry of ownedHeadings) {
27672
+ if (typeof entry !== "string") continue;
27673
+ const trimmed = entry.trim();
27674
+ if (trimmed.length > 0) wanted.add(trimmed);
27675
+ }
27676
+ return wanted;
27677
+ }
27678
+
27533
27679
  // src/activity/memory-gen.ts
27534
27680
  var ACTIVITY_ALLOWED_CATEGORIES = {
27535
27681
  decision: true,
@@ -27834,6 +27980,73 @@ function observationsForExport(observations, policy) {
27834
27980
  return observations;
27835
27981
  }
27836
27982
 
27983
+ // src/activity/privacy-delete-plan.ts
27984
+ var ACTIVITY_DELETE_SCOPES = [
27985
+ "observations",
27986
+ "cards",
27987
+ "journal",
27988
+ "weekly",
27989
+ "providerCache"
27990
+ ];
27991
+ var KNOWN_SCOPES = ACTIVITY_DELETE_SCOPES;
27992
+ var OWNED_ROOTS = ["activity", "wearables", "meetings"];
27993
+ function isRefusablePath(relPath) {
27994
+ if (typeof relPath !== "string") return true;
27995
+ if (relPath.trim() === "") return true;
27996
+ if (relPath !== relPath.trim()) return true;
27997
+ if (relPath.startsWith("/")) return true;
27998
+ const segments = relPath.split("/");
27999
+ if (segments.includes("..")) return true;
28000
+ const [root = "", ...rest] = segments;
28001
+ return rest.length === 0 || !OWNED_ROOTS.includes(root) || rest.some((segment) => segment.length === 0);
28002
+ }
28003
+ function sortedUnique(paths) {
28004
+ return [...new Set(paths)].sort();
28005
+ }
28006
+ function planActivityDeletion(input) {
28007
+ const { candidates, scopes, retentionDays, nowMs } = input;
28008
+ for (const scope of scopes) {
28009
+ if (!KNOWN_SCOPES.includes(scope)) {
28010
+ throw new RangeError(`unknown activity delete scope: ${scope}`);
28011
+ }
28012
+ }
28013
+ if (!Number.isInteger(retentionDays) || retentionDays < 0) {
28014
+ throw new RangeError("retentionDays must be a non-negative integer");
28015
+ }
28016
+ if (!Number.isFinite(nowMs)) {
28017
+ throw new RangeError("nowMs must be a finite number");
28018
+ }
28019
+ const selectedScopes = new Set(scopes);
28020
+ const deletePaths = [];
28021
+ const refused = [];
28022
+ let keptCount = 0;
28023
+ for (const candidate of candidates) {
28024
+ if (!KNOWN_SCOPES.includes(candidate.scope)) {
28025
+ refused.push(String(candidate.relPath));
28026
+ continue;
28027
+ }
28028
+ if (!selectedScopes.has(candidate.scope)) continue;
28029
+ if (isRefusablePath(candidate.relPath)) {
28030
+ refused.push(String(candidate.relPath));
28031
+ continue;
28032
+ }
28033
+ if (typeof candidate.capturedAtMs !== "number" || !Number.isFinite(candidate.capturedAtMs)) {
28034
+ refused.push(candidate.relPath);
28035
+ continue;
28036
+ }
28037
+ if (shouldRetain(candidate.capturedAtMs, nowMs, retentionDays, true)) {
28038
+ keptCount += 1;
28039
+ continue;
28040
+ }
28041
+ deletePaths.push(candidate.relPath);
28042
+ }
28043
+ return {
28044
+ deletePaths: sortedUnique(deletePaths),
28045
+ keptCount,
28046
+ refused: sortedUnique(refused)
28047
+ };
28048
+ }
28049
+
27837
28050
  // src/activity/privacy-status.ts
27838
28051
  var ACTIVITY_ANALYSIS_STATUSES = ["ok", "failed", "skipped", "never"];
27839
28052
  var STATUS_ALLOW_LIST = ACTIVITY_ANALYSIS_STATUSES.join(", ");
@@ -27948,7 +28161,7 @@ function applyHeadingRegion(fileText, name, content) {
27948
28161
  const wanted = name.trim();
27949
28162
  const hits = [];
27950
28163
  for (const row of fileLines(fileText)) {
27951
- const heading = parseAtxHeading2(row.line);
28164
+ const heading = parseAtxHeading3(row.line);
27952
28165
  if (heading && heading.text === wanted) {
27953
28166
  hits.push({ line: row.number, level: heading.level, next: row.next });
27954
28167
  }
@@ -27961,7 +28174,7 @@ function applyHeadingRegion(fileText, name, content) {
27961
28174
  let sectionEnd = fileText.length;
27962
28175
  for (const row of fileLines(fileText)) {
27963
28176
  if (row.start < hit.next) continue;
27964
- const heading = parseAtxHeading2(row.line);
28177
+ const heading = parseAtxHeading3(row.line);
27965
28178
  if (heading && heading.level <= hit.level) {
27966
28179
  sectionEnd = row.start;
27967
28180
  break;
@@ -27995,7 +28208,7 @@ function fileLines(fileText) {
27995
28208
  }
27996
28209
  return rows;
27997
28210
  }
27998
- function parseAtxHeading2(line) {
28211
+ function parseAtxHeading3(line) {
27999
28212
  let level = 0;
28000
28213
  while (level < line.length && level < 6 && line[level] === "#") level++;
28001
28214
  if (level === 0) return null;
@@ -28076,7 +28289,7 @@ function insertMarkersUnderHeading(fileText, opts) {
28076
28289
  const rows = fileLines2(fileText);
28077
28290
  const hits = [];
28078
28291
  for (const row of rows) {
28079
- const heading = parseAtxHeading3(row.line);
28292
+ const heading = parseAtxHeading4(row.line);
28080
28293
  if (heading && heading.text === opts.heading) {
28081
28294
  hits.push({ row, level: heading.level });
28082
28295
  }
@@ -28111,7 +28324,7 @@ function fileLines2(fileText) {
28111
28324
  }
28112
28325
  return rows;
28113
28326
  }
28114
- function parseAtxHeading3(line) {
28327
+ function parseAtxHeading4(line) {
28115
28328
  let level = 0;
28116
28329
  while (level < line.length && level < 6 && line[level] === "#") level++;
28117
28330
  if (level === 0 || line[level] !== " ") return null;
@@ -29296,14 +29509,17 @@ export {
29296
29509
  ANALYSIS_FAILURE_KINDS,
29297
29510
  isAnalysisFailureKind,
29298
29511
  classifyAnalysisFailure,
29512
+ mergeRecapUserEdits,
29299
29513
  readVaultJournal,
29300
- stripRemnicOwnedRegions,
29514
+ stripRemnicOwnedRegions2 as stripRemnicOwnedRegions,
29301
29515
  isEligibleActivityFact,
29302
29516
  generateActivityMemories,
29303
29517
  MS_PER_DAY2 as MS_PER_DAY,
29304
29518
  parseActivityPrivacy,
29305
29519
  shouldRetain,
29306
29520
  observationsForExport,
29521
+ ACTIVITY_DELETE_SCOPES,
29522
+ planActivityDeletion,
29307
29523
  ACTIVITY_ANALYSIS_STATUSES,
29308
29524
  buildActivityHealth,
29309
29525
  filterPrivacyWindow,
@@ -29349,4 +29565,4 @@ export {
29349
29565
  blendGraphExpandedRecallScore,
29350
29566
  Orchestrator
29351
29567
  };
29352
- //# sourceMappingURL=chunk-GHSJBVVQ.js.map
29568
+ //# sourceMappingURL=chunk-WFFGUFFN.js.map