@remnic/core 9.69.61 → 9.69.64

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 (263) hide show
  1. package/dist/access-admin-ops-surface.js +27 -27
  2. package/dist/access-authorization-probe.js +28 -28
  3. package/dist/access-boundary.js +27 -27
  4. package/dist/access-cli.js +68 -68
  5. package/dist/access-extraction-force-flush.js +27 -27
  6. package/dist/access-http-briefing.js +28 -28
  7. package/dist/access-http-query.js +29 -29
  8. package/dist/access-http.js +44 -44
  9. package/dist/access-identity-continuity-surface.js +27 -27
  10. package/dist/access-lcm-surface.js +27 -27
  11. package/dist/access-mcp-output-schemas.d.ts.map +1 -1
  12. package/dist/access-mcp-output-schemas.js +1 -1
  13. package/dist/access-mcp.js +37 -37
  14. package/dist/access-namespace-preflight.js +27 -27
  15. package/dist/access-observe-write-surface.js +27 -27
  16. package/dist/access-operations-batch.js +28 -28
  17. package/dist/access-operations.js +35 -35
  18. package/dist/access-recall-concurrency.js +27 -27
  19. package/dist/access-recall-response.d.ts.map +1 -1
  20. package/dist/access-recall-response.js +27 -27
  21. package/dist/access-recall-surface.js +27 -27
  22. package/dist/access-service.d.ts +4 -0
  23. package/dist/access-service.d.ts.map +1 -1
  24. package/dist/access-service.js +27 -27
  25. package/dist/access-surface-catalog.js +29 -29
  26. package/dist/active-recall.js +9 -9
  27. package/dist/briefing.js +10 -10
  28. package/dist/buffer.js +5 -5
  29. package/dist/causal-consolidation.js +11 -11
  30. package/dist/{chunk-52VL6LCY.js → chunk-2VH2JWYN.js} +2 -2
  31. package/dist/{chunk-WD32KTVI.js → chunk-2ZVSQPAA.js} +32 -16
  32. package/dist/chunk-2ZVSQPAA.js.map +1 -0
  33. package/dist/{chunk-G4WZDQ32.js → chunk-3NG5OOCX.js} +2 -2
  34. package/dist/{chunk-KG2OOAFF.js → chunk-3NTVCMDD.js} +2 -2
  35. package/dist/{chunk-7OC3Q5X4.js → chunk-3S4R2HA5.js} +2 -2
  36. package/dist/{chunk-NORFVW2H.js → chunk-4RWPQZYD.js} +2 -2
  37. package/dist/{chunk-B5GMOOY2.js → chunk-5AABWM72.js} +3 -3
  38. package/dist/{chunk-KRPMISWO.js → chunk-5C765XYU.js} +2 -2
  39. package/dist/{chunk-WLZYGLJ4.js → chunk-5MA7ZLPD.js} +5 -7
  40. package/dist/chunk-5MA7ZLPD.js.map +1 -0
  41. package/dist/{chunk-XOLVM3AT.js → chunk-5WXJE5TV.js} +2 -2
  42. package/dist/{chunk-2C5Z7CWB.js → chunk-6YTL3JYX.js} +2 -2
  43. package/dist/{chunk-F4PEETM4.js → chunk-755VRFBS.js} +2 -2
  44. package/dist/{chunk-HNOKNHFO.js → chunk-7L747CFR.js} +2 -2
  45. package/dist/{chunk-WPGR3RW4.js → chunk-7VO6E5UD.js} +2 -2
  46. package/dist/{chunk-LMLPLIT4.js → chunk-AQ6IBVFQ.js} +2 -2
  47. package/dist/{chunk-XN4CPSCN.js → chunk-B2JE56NB.js} +2 -2
  48. package/dist/{chunk-L4WBADKG.js → chunk-B5EZWPSM.js} +2 -2
  49. package/dist/{chunk-EIU642TN.js → chunk-BE4GMH45.js} +2 -2
  50. package/dist/{chunk-NLE6TSLG.js → chunk-BLVHDY2U.js} +5 -7
  51. package/dist/chunk-BLVHDY2U.js.map +1 -0
  52. package/dist/{chunk-JTTLH646.js → chunk-C2W6JKQQ.js} +2 -2
  53. package/dist/{chunk-FG5QU7A2.js → chunk-CFCAFAJC.js} +2 -2
  54. package/dist/{chunk-ZJ6MEVTX.js → chunk-CZM4MHZF.js} +37 -32
  55. package/dist/chunk-CZM4MHZF.js.map +1 -0
  56. package/dist/{chunk-M4PHCEPU.js → chunk-DDY7LJMP.js} +2 -2
  57. package/dist/{chunk-2L5DIVDU.js → chunk-DT33WNG2.js} +4 -4
  58. package/dist/{chunk-SZAWZPY6.js → chunk-E7SKAUEW.js} +7 -7
  59. package/dist/{chunk-NRVGODSE.js → chunk-EK4MOTHM.js} +6 -6
  60. package/dist/{chunk-QEGKMZNQ.js → chunk-FO5NDQZH.js} +3 -3
  61. package/dist/chunk-G26YNEOC.js +37 -0
  62. package/dist/chunk-G26YNEOC.js.map +1 -0
  63. package/dist/{chunk-GMHWCPLP.js → chunk-GZLSIPYU.js} +2 -2
  64. package/dist/{chunk-ZFUPRODV.js → chunk-HPWJ5B7D.js} +39 -3
  65. package/dist/chunk-HPWJ5B7D.js.map +1 -0
  66. package/dist/{chunk-SEHKTE4F.js → chunk-I4IKTNZP.js} +3 -3
  67. package/dist/{chunk-W65KK3X6.js → chunk-II4TIQCU.js} +2 -2
  68. package/dist/{chunk-FWVDTLRK.js → chunk-IJQEVNEF.js} +1 -1
  69. package/dist/{chunk-KXJ7XYUT.js → chunk-IOUQUXHO.js} +2 -2
  70. package/dist/{chunk-V3JM4XEI.js → chunk-ITLFUILH.js} +2 -2
  71. package/dist/{chunk-ZNFHWNDM.js → chunk-IULYVB5X.js} +5 -5
  72. package/dist/{chunk-Z3YQOV45.js → chunk-JLU7WK22.js} +2 -2
  73. package/dist/{chunk-NRTVZSPO.js → chunk-L4HT5QZ5.js} +2 -2
  74. package/dist/{chunk-5QZHDS4X.js → chunk-LI4IWBLN.js} +2 -2
  75. package/dist/{chunk-LY3SDHMI.js → chunk-LQ4OSM5V.js} +3 -3
  76. package/dist/{chunk-2OUSWDY6.js → chunk-M3TMVHQ2.js} +2 -2
  77. package/dist/{chunk-IDRSTHVR.js → chunk-MB3HMRXM.js} +2 -2
  78. package/dist/{chunk-4P3ZBL5E.js → chunk-MUGLJAZ3.js} +2 -2
  79. package/dist/{chunk-ZOASYXBS.js → chunk-MY2PLXSM.js} +6 -2
  80. package/dist/chunk-MY2PLXSM.js.map +1 -0
  81. package/dist/{chunk-4IFSMCRS.js → chunk-NYN4ZMPL.js} +2 -2
  82. package/dist/{chunk-K7S2IMGJ.js → chunk-O7QF3TCV.js} +322 -25
  83. package/dist/{chunk-K7S2IMGJ.js.map → chunk-O7QF3TCV.js.map} +1 -1
  84. package/dist/{chunk-KV44HTMJ.js → chunk-OBD77TYC.js} +2 -2
  85. package/dist/{chunk-GYNCJSQ7.js → chunk-OCEIHKH5.js} +3 -3
  86. package/dist/{chunk-DC5CTLCZ.js → chunk-PSGRZFBH.js} +10 -10
  87. package/dist/{chunk-FQGY7XB2.js → chunk-S52VKUUW.js} +2 -2
  88. package/dist/{chunk-D7MAYFQP.js → chunk-S7LWX2PQ.js} +2 -2
  89. package/dist/{chunk-TYP7GYRI.js → chunk-SB4ZWVKI.js} +2 -2
  90. package/dist/{chunk-KVO2BTA4.js → chunk-T2YX56QI.js} +2 -2
  91. package/dist/{chunk-G6NQ3L4T.js → chunk-T3FMRLWQ.js} +2 -2
  92. package/dist/{chunk-CDQO5DCD.js → chunk-TO3G56GM.js} +2 -2
  93. package/dist/{chunk-WEQZ5OYK.js → chunk-U6GKPSZH.js} +2 -2
  94. package/dist/{chunk-FM5HN7LL.js → chunk-WQC54W25.js} +9 -17
  95. package/dist/chunk-WQC54W25.js.map +1 -0
  96. package/dist/{chunk-XDH5MO6L.js → chunk-WZ33AIOP.js} +2 -2
  97. package/dist/{chunk-TM7S5UHD.js → chunk-XDIFADVN.js} +2 -2
  98. package/dist/{chunk-SVWYZXIL.js → chunk-XDOXR3U6.js} +2 -2
  99. package/dist/{chunk-VKDWYDFQ.js → chunk-XGLBVYEA.js} +5 -5
  100. package/dist/{chunk-5Y7VCE3A.js → chunk-XJNSOI23.js} +2 -2
  101. package/dist/{chunk-LDP6LBDS.js → chunk-Y3AFTYK4.js} +2 -2
  102. package/dist/{chunk-YL2W6NUG.js → chunk-YGJMMMPN.js} +4 -4
  103. package/dist/{chunk-KIOXEHWF.js → chunk-YIDBKTZJ.js} +2 -2
  104. package/dist/{chunk-F5ZCNJ3V.js → chunk-ZPPWW576.js} +2 -2
  105. package/dist/{chunk-TQAXUYUE.js → chunk-ZSXSMVW6.js} +2 -2
  106. package/dist/{chunk-6RD7MSIO.js → chunk-ZUT4FK5W.js} +2 -2
  107. package/dist/cli.js +54 -54
  108. package/dist/coding/export-okf-codegraph.js +9 -9
  109. package/dist/compounding/engine.js +10 -10
  110. package/dist/config.js +9 -9
  111. package/dist/connectors/codex-materialize-runner.js +10 -10
  112. package/dist/connectors/index.js +10 -10
  113. package/dist/convergence-refresh.js +12 -12
  114. package/dist/corpus-watermark.js +12 -12
  115. package/dist/entity-retrieval.js +10 -10
  116. package/dist/external-wiki-access.js +28 -28
  117. package/dist/extraction.js +16 -16
  118. package/dist/harmonic-retrieval.js +1 -1
  119. package/dist/index.d.ts +1 -1
  120. package/dist/index.d.ts.map +1 -1
  121. package/dist/index.js +70 -68
  122. package/dist/location/index.js +12 -12
  123. package/dist/maintenance/memory-governance.js +10 -10
  124. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +10 -10
  125. package/dist/maintenance/rebuild-memory-projection.js +11 -11
  126. package/dist/memory-browse-operations.js +28 -28
  127. package/dist/memory-browse.js +5 -5
  128. package/dist/model-registry.d.ts.map +1 -1
  129. package/dist/model-registry.js +1 -1
  130. package/dist/namespaces/migrate.js +11 -11
  131. package/dist/namespaces/search.js +8 -8
  132. package/dist/namespaces/storage.js +10 -10
  133. package/dist/operator-doctor-corpus.js +13 -13
  134. package/dist/operator-toolkit.js +18 -18
  135. package/dist/orchestration/maintenance.js +18 -18
  136. package/dist/orchestration/recall-internal.d.ts.map +1 -1
  137. package/dist/orchestrator.js +68 -68
  138. package/dist/profiling.d.ts.map +1 -1
  139. package/dist/profiling.js +1 -1
  140. package/dist/qmd.js +2 -2
  141. package/dist/recall-composition-decision.d.ts +9 -0
  142. package/dist/recall-composition-decision.d.ts.map +1 -1
  143. package/dist/recall-composition-decision.js +2 -1
  144. package/dist/recall-navigation-operations.js +28 -28
  145. package/dist/recall-navigation.js +27 -27
  146. package/dist/recall-state-view-admission.js +5 -5
  147. package/dist/recall-why-service.d.ts.map +1 -1
  148. package/dist/recall-why-service.js +5 -5
  149. package/dist/resume-bundles.js +9 -9
  150. package/dist/search/factory.js +7 -7
  151. package/dist/search/index.js +7 -7
  152. package/dist/search/lancedb-backend.js +2 -2
  153. package/dist/search/meilisearch-backend.js +2 -2
  154. package/dist/search/orama-backend.js +2 -2
  155. package/dist/search/port.d.ts +9 -0
  156. package/dist/search/port.d.ts.map +1 -1
  157. package/dist/search/port.js +7 -1
  158. package/dist/search/remote-backend.js +2 -2
  159. package/dist/security/audit-memory-cli.d.ts.map +1 -1
  160. package/dist/security/audit-memory.d.ts +10 -0
  161. package/dist/security/audit-memory.d.ts.map +1 -1
  162. package/dist/security/injection-screen.d.ts +1 -2
  163. package/dist/security/injection-screen.d.ts.map +1 -1
  164. package/dist/semantic-consolidation.js +11 -11
  165. package/dist/semantic-rule-promotion.js +10 -10
  166. package/dist/semantic-rule-verifier.js +10 -10
  167. package/dist/source-agent-qualifier.js +13 -13
  168. package/dist/standup/build.js +10 -10
  169. package/dist/storage.js +9 -9
  170. package/dist/summarizer.js +2 -2
  171. package/dist/support-passport/index.js +30 -30
  172. package/dist/transfer/export-okf.js +10 -10
  173. package/dist/verified-recall.js +10 -10
  174. package/dist/who-knows-cli.js +11 -11
  175. package/dist/who-knows.js +10 -10
  176. package/package.json +12 -2
  177. package/src/access-mcp-output-schemas.ts +4 -0
  178. package/src/access-recall-response.ts +26 -1
  179. package/src/access-service.ts +1 -0
  180. package/src/index.ts +1 -1
  181. package/src/model-registry.test.ts +22 -1
  182. package/src/model-registry.ts +7 -6
  183. package/src/orchestration/recall-internal.ts +8 -5
  184. package/src/profiling.test.ts +20 -1
  185. package/src/profiling.ts +7 -7
  186. package/src/recall-composition-decision.test.ts +75 -0
  187. package/src/recall-composition-decision.ts +52 -3
  188. package/src/recall-retrieval-failure.test.ts +245 -0
  189. package/src/recall-why-service.ts +8 -24
  190. package/src/search/port.ts +32 -0
  191. package/src/security/audit-memory-cli.test.ts +90 -0
  192. package/src/security/audit-memory-cli.ts +7 -0
  193. package/src/security/audit-memory.ts +14 -0
  194. package/src/security/injection-screen.test.ts +245 -0
  195. package/src/security/injection-screen.ts +341 -11
  196. package/dist/chunk-FM5HN7LL.js.map +0 -1
  197. package/dist/chunk-NLE6TSLG.js.map +0 -1
  198. package/dist/chunk-U2VDCFXW.js +0 -19
  199. package/dist/chunk-U2VDCFXW.js.map +0 -1
  200. package/dist/chunk-WD32KTVI.js.map +0 -1
  201. package/dist/chunk-WLZYGLJ4.js.map +0 -1
  202. package/dist/chunk-ZFUPRODV.js.map +0 -1
  203. package/dist/chunk-ZJ6MEVTX.js.map +0 -1
  204. package/dist/chunk-ZOASYXBS.js.map +0 -1
  205. /package/dist/{chunk-52VL6LCY.js.map → chunk-2VH2JWYN.js.map} +0 -0
  206. /package/dist/{chunk-G4WZDQ32.js.map → chunk-3NG5OOCX.js.map} +0 -0
  207. /package/dist/{chunk-KG2OOAFF.js.map → chunk-3NTVCMDD.js.map} +0 -0
  208. /package/dist/{chunk-7OC3Q5X4.js.map → chunk-3S4R2HA5.js.map} +0 -0
  209. /package/dist/{chunk-NORFVW2H.js.map → chunk-4RWPQZYD.js.map} +0 -0
  210. /package/dist/{chunk-B5GMOOY2.js.map → chunk-5AABWM72.js.map} +0 -0
  211. /package/dist/{chunk-KRPMISWO.js.map → chunk-5C765XYU.js.map} +0 -0
  212. /package/dist/{chunk-XOLVM3AT.js.map → chunk-5WXJE5TV.js.map} +0 -0
  213. /package/dist/{chunk-2C5Z7CWB.js.map → chunk-6YTL3JYX.js.map} +0 -0
  214. /package/dist/{chunk-F4PEETM4.js.map → chunk-755VRFBS.js.map} +0 -0
  215. /package/dist/{chunk-HNOKNHFO.js.map → chunk-7L747CFR.js.map} +0 -0
  216. /package/dist/{chunk-WPGR3RW4.js.map → chunk-7VO6E5UD.js.map} +0 -0
  217. /package/dist/{chunk-LMLPLIT4.js.map → chunk-AQ6IBVFQ.js.map} +0 -0
  218. /package/dist/{chunk-XN4CPSCN.js.map → chunk-B2JE56NB.js.map} +0 -0
  219. /package/dist/{chunk-L4WBADKG.js.map → chunk-B5EZWPSM.js.map} +0 -0
  220. /package/dist/{chunk-EIU642TN.js.map → chunk-BE4GMH45.js.map} +0 -0
  221. /package/dist/{chunk-JTTLH646.js.map → chunk-C2W6JKQQ.js.map} +0 -0
  222. /package/dist/{chunk-FG5QU7A2.js.map → chunk-CFCAFAJC.js.map} +0 -0
  223. /package/dist/{chunk-M4PHCEPU.js.map → chunk-DDY7LJMP.js.map} +0 -0
  224. /package/dist/{chunk-2L5DIVDU.js.map → chunk-DT33WNG2.js.map} +0 -0
  225. /package/dist/{chunk-SZAWZPY6.js.map → chunk-E7SKAUEW.js.map} +0 -0
  226. /package/dist/{chunk-NRVGODSE.js.map → chunk-EK4MOTHM.js.map} +0 -0
  227. /package/dist/{chunk-QEGKMZNQ.js.map → chunk-FO5NDQZH.js.map} +0 -0
  228. /package/dist/{chunk-GMHWCPLP.js.map → chunk-GZLSIPYU.js.map} +0 -0
  229. /package/dist/{chunk-SEHKTE4F.js.map → chunk-I4IKTNZP.js.map} +0 -0
  230. /package/dist/{chunk-W65KK3X6.js.map → chunk-II4TIQCU.js.map} +0 -0
  231. /package/dist/{chunk-FWVDTLRK.js.map → chunk-IJQEVNEF.js.map} +0 -0
  232. /package/dist/{chunk-KXJ7XYUT.js.map → chunk-IOUQUXHO.js.map} +0 -0
  233. /package/dist/{chunk-V3JM4XEI.js.map → chunk-ITLFUILH.js.map} +0 -0
  234. /package/dist/{chunk-ZNFHWNDM.js.map → chunk-IULYVB5X.js.map} +0 -0
  235. /package/dist/{chunk-Z3YQOV45.js.map → chunk-JLU7WK22.js.map} +0 -0
  236. /package/dist/{chunk-NRTVZSPO.js.map → chunk-L4HT5QZ5.js.map} +0 -0
  237. /package/dist/{chunk-5QZHDS4X.js.map → chunk-LI4IWBLN.js.map} +0 -0
  238. /package/dist/{chunk-LY3SDHMI.js.map → chunk-LQ4OSM5V.js.map} +0 -0
  239. /package/dist/{chunk-2OUSWDY6.js.map → chunk-M3TMVHQ2.js.map} +0 -0
  240. /package/dist/{chunk-IDRSTHVR.js.map → chunk-MB3HMRXM.js.map} +0 -0
  241. /package/dist/{chunk-4P3ZBL5E.js.map → chunk-MUGLJAZ3.js.map} +0 -0
  242. /package/dist/{chunk-4IFSMCRS.js.map → chunk-NYN4ZMPL.js.map} +0 -0
  243. /package/dist/{chunk-KV44HTMJ.js.map → chunk-OBD77TYC.js.map} +0 -0
  244. /package/dist/{chunk-GYNCJSQ7.js.map → chunk-OCEIHKH5.js.map} +0 -0
  245. /package/dist/{chunk-DC5CTLCZ.js.map → chunk-PSGRZFBH.js.map} +0 -0
  246. /package/dist/{chunk-FQGY7XB2.js.map → chunk-S52VKUUW.js.map} +0 -0
  247. /package/dist/{chunk-D7MAYFQP.js.map → chunk-S7LWX2PQ.js.map} +0 -0
  248. /package/dist/{chunk-TYP7GYRI.js.map → chunk-SB4ZWVKI.js.map} +0 -0
  249. /package/dist/{chunk-KVO2BTA4.js.map → chunk-T2YX56QI.js.map} +0 -0
  250. /package/dist/{chunk-G6NQ3L4T.js.map → chunk-T3FMRLWQ.js.map} +0 -0
  251. /package/dist/{chunk-CDQO5DCD.js.map → chunk-TO3G56GM.js.map} +0 -0
  252. /package/dist/{chunk-WEQZ5OYK.js.map → chunk-U6GKPSZH.js.map} +0 -0
  253. /package/dist/{chunk-XDH5MO6L.js.map → chunk-WZ33AIOP.js.map} +0 -0
  254. /package/dist/{chunk-TM7S5UHD.js.map → chunk-XDIFADVN.js.map} +0 -0
  255. /package/dist/{chunk-SVWYZXIL.js.map → chunk-XDOXR3U6.js.map} +0 -0
  256. /package/dist/{chunk-VKDWYDFQ.js.map → chunk-XGLBVYEA.js.map} +0 -0
  257. /package/dist/{chunk-5Y7VCE3A.js.map → chunk-XJNSOI23.js.map} +0 -0
  258. /package/dist/{chunk-LDP6LBDS.js.map → chunk-Y3AFTYK4.js.map} +0 -0
  259. /package/dist/{chunk-YL2W6NUG.js.map → chunk-YGJMMMPN.js.map} +0 -0
  260. /package/dist/{chunk-KIOXEHWF.js.map → chunk-YIDBKTZJ.js.map} +0 -0
  261. /package/dist/{chunk-F5ZCNJ3V.js.map → chunk-ZPPWW576.js.map} +0 -0
  262. /package/dist/{chunk-TQAXUYUE.js.map → chunk-ZSXSMVW6.js.map} +0 -0
  263. /package/dist/{chunk-6RD7MSIO.js.map → chunk-ZUT4FK5W.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/access-mcp-output-schemas.ts"],"sourcesContent":["/**\n * Output-schema registry for MCP tools — extracted from access-mcp.ts to\n * keep that file under the 3000-LOC structural ratchet.\n *\n * Contains the per-suffix JSON-Schema declarations (derived from\n * production TS return contracts) and the application helper that\n * assigns schemas to tool objects.\n */\n\nconst T_STRING = { type: \"string\" } as const;\nconst T_NUMBER = { type: \"number\" } as const;\nconst T_BOOLEAN = { type: \"boolean\" } as const;\nconst T_ARRAY = { type: \"array\" } as const;\nconst T_OBJECT = { type: \"object\" } as const;\nconst T_NULLABLE_OBJECT = { type: [\"object\", \"null\"] } as const;\nconst T_NULLABLE_STRING = { type: [\"string\", \"null\"] } as const;\n\n/** Build a JSON Schema object type with the given properties. */\nfunction objectSchema(\n properties: Record<string, Readonly<Record<string, unknown>>>,\n required?: readonly string[]\n): Record<string, unknown> {\n return {\n type: \"object\",\n properties,\n ...(required && required.length > 0 ? { required } : {}),\n additionalProperties: true,\n };\n}\n\n/** RecallNavigationResult-shaped schema — shared by memory_expand/memory_traverse. */\nfunction navigationResultSchema(): Record<string, unknown> {\n return objectSchema(\n {\n ok: T_BOOLEAN,\n action: T_STRING,\n memoryId: T_STRING,\n namespace: T_STRING,\n items: T_ARRAY,\n truncated: T_BOOLEAN,\n budget: objectSchema({ chars: T_NUMBER, used: T_NUMBER }),\n disclosureSpend: objectSchema({\n chunk: objectSchema({ count: T_NUMBER, estimatedTokens: T_NUMBER }),\n section: objectSchema({ count: T_NUMBER, estimatedTokens: T_NUMBER }),\n raw: objectSchema({ count: T_NUMBER, estimatedTokens: T_NUMBER }),\n unspecified: objectSchema({ count: T_NUMBER, estimatedTokens: T_NUMBER }),\n }),\n error: T_NULLABLE_STRING,\n message: T_NULLABLE_STRING,\n rendered: T_STRING,\n },\n [\"ok\", \"action\", \"rendered\"]\n );\n}\n\n/** MemoryStoreBrowseResult-shaped schema — shared by memory_ls/tree/find. */\nfunction browseResultSchema(): Record<string, unknown> {\n return objectSchema(\n {\n ok: T_BOOLEAN,\n verb: T_STRING,\n namespace: T_STRING,\n path: T_STRING,\n total: T_NUMBER,\n entries: T_ARRAY,\n truncated: T_BOOLEAN,\n rendered: T_STRING,\n error: T_NULLABLE_STRING,\n message: T_NULLABLE_STRING,\n },\n [\"ok\", \"verb\", \"rendered\"],\n );\n}\n\n/**\n * Per-suffix outputSchema registry. Tools not present here fall back to\n * `{ type: \"object\", additionalProperties: true }` in the constructor pass.\n * The `chatgpt_memory_inspector` tool ships its own precise schema and is\n * intentionally absent — the apply pass skips tools that already have one.\n */\nconst TOOL_OUTPUT_SCHEMAS: Readonly<Record<string, Record<string, unknown>>> = {\n recall: objectSchema({\n query: T_STRING,\n namespace: T_STRING,\n context: T_STRING,\n contextComposition: objectSchema({\n context: T_STRING,\n footer: T_STRING,\n degradation: objectSchema({\n state: T_STRING,\n reason: T_STRING,\n detail: T_STRING,\n budget: objectSchema({\n contextBudget: T_NUMBER,\n fullChars: T_NUMBER,\n deliveredChars: T_NUMBER,\n }),\n }),\n }),\n count: T_NUMBER,\n memoryIds: T_ARRAY,\n results: T_ARRAY,\n fallbackUsed: T_BOOLEAN,\n sourcesUsed: T_ARRAY,\n retrievalFailure: objectSchema({\n reason: T_STRING,\n detail: T_STRING,\n }),\n }),\n recall_explain: objectSchema({\n found: T_BOOLEAN,\n snapshot: T_OBJECT,\n intent: T_NULLABLE_OBJECT,\n graph: T_NULLABLE_OBJECT,\n }),\n recall_tier_explain: objectSchema({ snapshotFound: T_BOOLEAN, tierExplain: T_NULLABLE_OBJECT }),\n recall_xray: objectSchema({ snapshotFound: T_BOOLEAN, snapshot: T_OBJECT }),\n recall_why: objectSchema({ reportFound: T_BOOLEAN, report: T_OBJECT, summary: T_STRING }),\n who_knows: objectSchema({ topic: T_STRING, results: T_ARRAY }),\n promotion_candidates: objectSchema({ namespace: T_STRING, targetNamespace: T_STRING, candidates: T_ARRAY }),\n set_coding_context: objectSchema({ ok: T_BOOLEAN }),\n wearables_status: objectSchema({\n enabled: T_BOOLEAN,\n timezone: T_STRING,\n sources: T_ARRAY,\n connectorsInstalled: T_ARRAY,\n }),\n wearables_sync: objectSchema({ summaries: T_ARRAY }, [\"summaries\"]),\n transcript_day: objectSchema({ transcripts: T_ARRAY }, [\"transcripts\"]),\n transcript_search: objectSchema({ results: T_ARRAY }, [\"results\"]),\n transcript_memories: objectSchema({ memories: T_ARRAY }, [\"memories\"]),\n location_status: objectSchema({ enabled: T_BOOLEAN, timezone: T_STRING, sources: T_ARRAY, recentDays: T_ARRAY }),\n location_check: objectSchema({ results: T_ARRAY }, [\"results\"]),\n location_sync: objectSchema({ days: T_ARRAY }, [\"days\"]),\n location_backfill: objectSchema({ days: T_ARRAY }, [\"days\"]),\n location_day: objectSchema({ date: T_STRING, found: T_BOOLEAN, sources: T_ARRAY, observationCount: T_NUMBER }),\n meetings_list: objectSchema({ enabled: T_BOOLEAN, days: T_ARRAY }),\n meetings_get: objectSchema({ enabled: T_BOOLEAN, found: T_BOOLEAN, id: T_STRING, record: T_NULLABLE_STRING }),\n meetings_build: objectSchema({\n date: T_STRING,\n enabled: T_BOOLEAN,\n meetings: T_ARRAY,\n built: T_NUMBER,\n skipped: T_NUMBER,\n removed: T_ARRAY,\n }),\n deep_recall: objectSchema(\n { ok: T_BOOLEAN, error: T_NULLABLE_STRING, entries: T_ARRAY, trace: T_ARRAY, rendered: T_STRING },\n [\"entries\", \"trace\"]\n ),\n // RecallNavigationResult union (recall-navigation.ts): success carries\n // items/budget/disclosureSpend; error carries error/message. ok/action/\n // rendered are the fields every variant returns.\n memory_expand: navigationResultSchema(),\n memory_traverse: navigationResultSchema(),\n // MemoryStoreBrowseResult union (memory-browse.ts): success carries\n // entries/total/truncated; typed refusals carry error/message. ok/verb/\n // rendered are the fields every variant returns.\n memory_ls: browseResultSchema(),\n memory_tree: browseResultSchema(),\n memory_find: browseResultSchema(),\n standup: objectSchema({\n date: T_STRING,\n yesterday: T_STRING,\n today: T_STRING,\n highlights: T_ARRAY,\n priorities: T_ARRAY,\n blockers: T_ARRAY,\n activityGrid: T_STRING,\n markdown: T_STRING,\n }),\n action_confidence: objectSchema({\n schemaVersion: T_NUMBER,\n decision: T_STRING,\n confidence: T_NUMBER,\n risk: T_STRING,\n contextReadiness: T_STRING,\n intendedAction: T_STRING,\n attentionPolicy: T_STRING,\n principle: T_STRING,\n reasons: T_ARRAY,\n blockers: T_ARRAY,\n factors: T_ARRAY,\n retrievedMemoryCount: T_NUMBER,\n scopeMismatchCount: T_NUMBER,\n safeToAct: T_BOOLEAN,\n }),\n day_summary: objectSchema({\n summary: T_STRING,\n bullets: T_ARRAY,\n next_actions: T_ARRAY,\n risks_or_open_loops: T_ARRAY,\n }),\n capsule_export: objectSchema({\n archivePath: T_STRING,\n manifestPath: T_STRING,\n encryptedArchivePath: T_NULLABLE_STRING,\n manifest: T_OBJECT,\n }),\n capsule_import: objectSchema({ imported: T_ARRAY, skipped: T_ARRAY, manifest: T_OBJECT }),\n capsule_list: objectSchema({ namespace: T_STRING, capsulesDir: T_STRING, capsules: T_ARRAY }),\n entity_synthesis_run: objectSchema({\n namespace: T_STRING,\n requested: T_NUMBER,\n processed: T_NUMBER,\n remaining: T_NUMBER,\n }),\n memory_governance_run: objectSchema({\n namespace: T_STRING,\n runId: T_STRING,\n traceId: T_STRING,\n mode: T_STRING,\n reviewQueueCount: T_NUMBER,\n proposedActionCount: T_NUMBER,\n appliedActionCount: T_NUMBER,\n summaryPath: T_STRING,\n reportPath: T_STRING,\n }),\n procedure_mining_run: objectSchema({ namespace: T_STRING, clustersProcessed: T_NUMBER, proceduresWritten: T_NUMBER }),\n pattern_reinforcement_run: objectSchema({\n namespace: T_STRING,\n ran: T_BOOLEAN,\n clustersFound: T_NUMBER,\n canonicalsUpdated: T_NUMBER,\n duplicatesSuperseded: T_NUMBER,\n }),\n procedural_stats: objectSchema({ namespace: T_STRING, counts: T_OBJECT, recent: T_OBJECT }),\n procedure_library_maintenance: objectSchema({\n enabled: T_BOOLEAN,\n namespace: T_STRING,\n report: T_OBJECT,\n }),\n memory_get: objectSchema({ found: T_BOOLEAN, namespace: T_STRING, memory: T_NULLABLE_OBJECT }),\n memory_timeline: objectSchema({ found: T_BOOLEAN, namespace: T_STRING, count: T_NUMBER, timeline: T_ARRAY }),\n memory_store: objectSchema({\n schemaVersion: T_NUMBER,\n operation: T_STRING,\n namespace: T_STRING,\n dryRun: T_BOOLEAN,\n accepted: T_BOOLEAN,\n queued: T_BOOLEAN,\n status: T_STRING,\n memoryId: T_STRING,\n }),\n suggestion_submit: objectSchema({\n schemaVersion: T_NUMBER,\n operation: T_STRING,\n namespace: T_STRING,\n dryRun: T_BOOLEAN,\n accepted: T_BOOLEAN,\n queued: T_BOOLEAN,\n status: T_STRING,\n memoryId: T_STRING,\n }),\n entity_get: objectSchema({ found: T_BOOLEAN, namespace: T_STRING, entity: T_NULLABLE_OBJECT }),\n review_queue_list: objectSchema({ found: T_BOOLEAN, runId: T_STRING, reviewQueue: T_ARRAY }),\n observe: objectSchema({\n accepted: T_NUMBER,\n sessionKey: T_STRING,\n namespace: T_STRING,\n effectiveNamespace: T_STRING,\n lcmArchived: T_BOOLEAN,\n extractionQueued: T_BOOLEAN,\n transcriptPersisted: T_BOOLEAN,\n }),\n lcm_search: objectSchema({\n query: T_STRING,\n namespace: T_STRING,\n results: T_ARRAY,\n count: T_NUMBER,\n lcmEnabled: T_BOOLEAN,\n }),\n lcm_compaction_flush: objectSchema({\n enabled: T_BOOLEAN,\n flushed: T_BOOLEAN,\n sessionKey: T_STRING,\n namespace: T_STRING,\n }),\n extraction_force_flush: objectSchema({\n flushed: T_BOOLEAN,\n sessionKey: T_STRING,\n namespace: T_STRING,\n effectiveNamespace: T_STRING,\n }),\n lcm_compaction_record: objectSchema({\n enabled: T_BOOLEAN,\n recorded: T_BOOLEAN,\n sessionKey: T_STRING,\n namespace: T_STRING,\n }),\n continuity_audit_generate: objectSchema({ enabled: T_BOOLEAN, period: T_STRING, reportPath: T_STRING }),\n continuity_incident_open: objectSchema({ created: T_BOOLEAN, incident: T_NULLABLE_OBJECT }),\n continuity_incident_close: objectSchema({ closed: T_BOOLEAN, incident: T_NULLABLE_OBJECT }),\n continuity_incident_list: objectSchema({ incidents: T_ARRAY }),\n continuity_loop_add_or_update: objectSchema({ saved: T_BOOLEAN, loop: T_NULLABLE_OBJECT }),\n continuity_loop_review: objectSchema({ reviewed: T_BOOLEAN, loop: T_NULLABLE_OBJECT }),\n identity_anchor_get: objectSchema({ found: T_BOOLEAN, anchor: T_NULLABLE_STRING }),\n identity_anchor_update: objectSchema({ updated: T_BOOLEAN, sections: T_ARRAY }),\n memory_identity: objectSchema({ found: T_BOOLEAN, identity: T_NULLABLE_STRING, message: T_STRING }),\n work_task: objectSchema({\n action: T_STRING,\n task: T_NULLABLE_OBJECT,\n tasks: T_ARRAY,\n count: T_NUMBER,\n deleted: T_BOOLEAN,\n }),\n work_project: objectSchema({\n action: T_STRING,\n project: T_NULLABLE_OBJECT,\n projects: T_ARRAY,\n count: T_NUMBER,\n deleted: T_BOOLEAN,\n }),\n work_board: objectSchema({ action: T_STRING, markdown: T_STRING, snapshot: T_OBJECT, result: T_OBJECT }),\n shared_context_write_output: objectSchema({ written: T_BOOLEAN, path: T_STRING }),\n shared_feedback_record: objectSchema({ recorded: T_BOOLEAN }),\n shared_priorities_append: objectSchema({ appended: T_BOOLEAN }),\n shared_context_cross_signals_run: objectSchema({\n crossSignalsMarkdownPath: T_STRING,\n crossSignalsPath: T_STRING,\n sourceCount: T_NUMBER,\n feedbackCount: T_NUMBER,\n overlapCount: T_NUMBER,\n }),\n shared_context_curate_daily: objectSchema({\n roundtablePath: T_STRING,\n crossSignalsMarkdownPath: T_STRING,\n crossSignalsPath: T_STRING,\n overlapCount: T_NUMBER,\n }),\n compounding_weekly_synthesize: objectSchema({\n weekId: T_STRING,\n reportPath: T_STRING,\n reportJsonPath: T_STRING,\n rubricsPath: T_STRING,\n rubricsIndexPath: T_STRING,\n mistakesCount: T_NUMBER,\n promotionCandidateCount: T_NUMBER,\n }),\n compounding_promote_candidate: objectSchema({\n enabled: T_BOOLEAN,\n dryRun: T_BOOLEAN,\n weekId: T_STRING,\n promoted: T_ARRAY,\n skipped: T_ARRAY,\n tombstoneBlocked: T_ARRAY,\n }),\n compression_guidelines_optimize: objectSchema({\n enabled: T_BOOLEAN,\n dryRun: T_BOOLEAN,\n eventCount: T_NUMBER,\n nextGuidelineVersion: T_NUMBER,\n changedRules: T_NUMBER,\n semanticRefinementApplied: T_BOOLEAN,\n persisted: T_BOOLEAN,\n }),\n compression_guidelines_activate: objectSchema({\n enabled: T_BOOLEAN,\n activated: T_BOOLEAN,\n guidelineVersion: { type: [\"number\", \"null\"] } as const,\n }),\n memory_search: objectSchema({ query: T_STRING, results: T_ARRAY, count: T_NUMBER }),\n external_wiki_search: objectSchema(\n {\n query: T_STRING,\n hits: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n wikiId: T_STRING,\n title: T_STRING,\n path: T_STRING,\n snippet: T_STRING,\n score: T_NUMBER,\n rank: T_NUMBER,\n citations: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n path: T_STRING,\n lineStart: T_NUMBER,\n lineEnd: T_NUMBER,\n note: T_STRING,\n },\n required: [\"path\", \"lineStart\", \"lineEnd\", \"note\"],\n additionalProperties: false,\n },\n },\n indexBlurb: T_STRING,\n },\n required: [\"wikiId\", \"title\", \"path\", \"snippet\", \"score\", \"rank\", \"citations\"],\n additionalProperties: false,\n },\n },\n count: T_NUMBER,\n degradedWikiIds: T_ARRAY,\n },\n [\"query\", \"hits\", \"count\", \"degradedWikiIds\"]\n ),\n memory_profile: objectSchema({ profile: T_STRING }),\n memory_entities_list: objectSchema({ entities: T_ARRAY, count: T_NUMBER }),\n memory_questions: objectSchema({ questions: T_ARRAY, count: T_NUMBER }),\n memory_last_recall: objectSchema({\n sessionKey: T_STRING,\n recordedAt: T_STRING,\n queryHash: T_STRING,\n queryLen: T_NUMBER,\n memoryIds: T_ARRAY,\n namespace: T_STRING,\n recallNamespaces: T_ARRAY,\n plannerMode: T_STRING,\n requestedMode: T_STRING,\n source: T_STRING,\n fallbackUsed: T_BOOLEAN,\n sourcesUsed: T_ARRAY,\n latencyMs: T_NUMBER,\n includedMemories: T_ARRAY,\n message: T_NULLABLE_STRING,\n }),\n memory_intent_debug: objectSchema({\n recordedAt: T_STRING,\n promptHash: T_STRING,\n promptLength: T_NUMBER,\n retrievalQueryHash: T_STRING,\n retrievalQueryLength: T_NUMBER,\n plannerEnabled: T_BOOLEAN,\n plannedMode: T_STRING,\n effectiveMode: T_STRING,\n recallResultLimit: T_NUMBER,\n queryIntent: T_OBJECT,\n graphExpandedIntentDetected: T_BOOLEAN,\n graphDecision: T_OBJECT,\n message: T_NULLABLE_STRING,\n }),\n memory_qmd_debug: objectSchema({\n recordedAt: T_STRING,\n queryHash: T_STRING,\n queryLength: T_NUMBER,\n collection: T_STRING,\n namespaces: T_ARRAY,\n fetchLimit: T_NUMBER,\n primaryResultCount: T_NUMBER,\n hybridResultCount: T_NUMBER,\n queryAwareSeedCount: T_NUMBER,\n resultCount: T_NUMBER,\n intentHint: T_STRING,\n explainEnabled: T_BOOLEAN,\n hybridTopUpUsed: T_BOOLEAN,\n hybridTopUpSkippedReason: T_STRING,\n results: T_ARRAY,\n message: T_NULLABLE_STRING,\n }),\n memory_graph_explain: objectSchema({ explanation: T_STRING }),\n graph_snapshot: objectSchema({ nodes: T_ARRAY, edges: T_ARRAY }),\n memory_feedback: objectSchema({ recorded: T_BOOLEAN, enabled: T_BOOLEAN }),\n memory_promote: objectSchema({ promoted: T_BOOLEAN, memoryId: T_STRING }),\n memory_outcome: objectSchema({\n ok: T_BOOLEAN,\n memoryId: T_STRING,\n mw_success: T_NUMBER,\n mw_fail: T_NUMBER,\n reason: T_STRING,\n message: T_STRING,\n }),\n memory_action_apply: objectSchema({ recorded: T_BOOLEAN, event: T_OBJECT }),\n context_checkpoint: objectSchema({ saved: T_BOOLEAN }),\n briefing: objectSchema({\n markdown: T_STRING,\n json: T_OBJECT,\n window: T_OBJECT,\n format: T_STRING,\n namespace: T_STRING,\n }),\n review_list: objectSchema({ pairs: T_ARRAY, total: T_NUMBER, durationMs: T_NUMBER }),\n review_resolve: objectSchema({ pairId: T_STRING, verb: T_STRING, affectedIds: T_ARRAY, message: T_STRING }),\n contradiction_scan_run: objectSchema({\n scanned: T_NUMBER,\n candidates: T_NUMBER,\n judged: T_NUMBER,\n queued: T_NUMBER,\n cooledDown: T_NUMBER,\n elapsedMs: T_NUMBER,\n }),\n preference_drift_scan: objectSchema({\n schemaVersion: T_NUMBER,\n generatedAt: T_STRING,\n mode: T_STRING,\n namespace: T_STRING,\n scanned: T_NUMBER,\n eligible: T_NUMBER,\n findings: T_ARRAY,\n counts: T_OBJECT,\n appliedCount: T_NUMBER,\n reviewItemsOpened: T_NUMBER,\n elapsedMs: T_NUMBER,\n skippedReason: T_STRING,\n }),\n memory_summarize_hourly: objectSchema({\n ok: T_BOOLEAN,\n message: T_STRING,\n sessionsConsidered: T_NUMBER,\n sessionsWithEntries: T_NUMBER,\n summariesWritten: T_NUMBER,\n staleStore: T_BOOLEAN,\n newestEntryTimestamp: T_NULLABLE_STRING,\n scanFailed: T_BOOLEAN,\n warning: T_STRING,\n }),\n conversation_index_update: objectSchema({\n enabled: T_BOOLEAN,\n sessions: T_NUMBER,\n chunks: T_NUMBER,\n skipped: T_NUMBER,\n embeddedRuns: T_NUMBER,\n }),\n profiling_report: objectSchema({\n enabled: T_BOOLEAN,\n format: T_STRING,\n traces: T_ARRAY,\n stats: T_OBJECT,\n bottleneck: T_NULLABLE_STRING,\n }),\n graph_edge_decay_run: objectSchema({ ranAt: T_STRING, disabled: T_BOOLEAN, reason: T_STRING, results: T_ARRAY }),\n live_connectors_run: objectSchema({\n ranAt: T_STRING,\n force: T_BOOLEAN,\n totalDocsImported: T_NUMBER,\n ranCount: T_NUMBER,\n skippedCount: T_NUMBER,\n errorCount: T_NUMBER,\n results: T_ARRAY,\n }),\n peer_list: objectSchema({ peers: T_ARRAY }),\n peer_get: objectSchema({ found: T_BOOLEAN, peer: T_NULLABLE_OBJECT }),\n peer_set: objectSchema({ ok: T_BOOLEAN, created: T_BOOLEAN, peer: T_OBJECT }),\n peer_delete: objectSchema({ ok: T_BOOLEAN, deleted: T_BOOLEAN }),\n peer_profile_get: objectSchema({\n found: T_BOOLEAN,\n profile: {\n type: \"object\",\n properties: {\n peerId: T_STRING,\n updatedAt: T_STRING,\n fields: { type: \"object\", additionalProperties: T_STRING },\n provenance: {\n type: \"object\",\n additionalProperties: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n observedAt: T_STRING,\n signal: T_STRING,\n sourceSessionId: T_STRING,\n note: T_STRING,\n },\n required: [\"observedAt\", \"signal\"],\n additionalProperties: true,\n },\n },\n },\n },\n required: [\"peerId\", \"updatedAt\", \"fields\", \"provenance\"],\n additionalProperties: true,\n },\n }),\n peer_forget: objectSchema({ ok: T_BOOLEAN, purged: T_BOOLEAN }),\n console_state: objectSchema({\n capturedAt: T_STRING,\n bufferState: T_OBJECT,\n extractionQueue: T_OBJECT,\n dedupRecent: T_ARRAY,\n maintenanceLedgerTail: T_ARRAY,\n qmdProbe: T_OBJECT,\n daemon: T_OBJECT,\n errors: T_ARRAY,\n }),\n dreams_status: objectSchema({ phases: T_OBJECT, windowStart: T_STRING, windowEnd: T_STRING }),\n dreams_run: objectSchema({ phase: T_STRING, durationMs: T_NUMBER, itemsProcessed: T_NUMBER }),\n coding_decision: objectSchema({\n subcommand: T_STRING,\n records: T_ARRAY,\n count: T_NUMBER,\n found: T_BOOLEAN,\n memoryId: T_STRING,\n status: T_STRING,\n supersededMemoryId: T_STRING,\n replacementMemoryId: T_STRING,\n }),\n coding_architecture: objectSchema({\n subcommand: T_STRING,\n found: T_BOOLEAN,\n refreshed: T_BOOLEAN,\n memoryId: T_STRING,\n }),\n coding_delta: objectSchema({\n subcommand: T_STRING,\n ok: T_BOOLEAN,\n kind: T_STRING,\n delta: T_OBJECT,\n nextState: T_OBJECT,\n }),\n memory_correct_plan: objectSchema({\n planId: T_STRING,\n namespace: T_STRING,\n diff: T_STRING,\n actions: T_ARRAY,\n confidence: T_NUMBER,\n }),\n memory_correct_apply: objectSchema({\n planId: T_STRING,\n status: T_STRING,\n results: T_ARRAY,\n auditMemoryId: T_STRING,\n appliedAt: T_STRING,\n }),\n memory_chat: objectSchema({\n reply: T_STRING,\n chatSessionId: T_STRING,\n pendingPlan: {\n type: \"object\",\n properties: { planId: T_STRING, preview: T_STRING },\n required: [\"planId\", \"preview\"],\n additionalProperties: true,\n },\n skippedTools: { type: \"array\", items: T_STRING },\n }),\n codegraph_index: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_list_projects: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_delete_project: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_index_status: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_search_graph: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_trace_path: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_detect_changes: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_query_graph: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_get_schema: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_get_snippet: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_get_architecture: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_search_code: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_manage_adr: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n codegraph_ingest_traces: objectSchema({ ok: T_BOOLEAN, result: T_OBJECT }),\n};\n\n/**\n * Apply outputSchema from the registry to every tool that lacks one.\n * Suffix resolution strips the canonical or legacy prefix so both\n * `remnic_*` and `engram.*` aliases inherit the same schema.\n * Tools that already have an explicit outputSchema are skipped.\n */\nexport function applyToolOutputSchemas<T extends { name: string; outputSchema?: unknown }>(\n tools: ReadonlyArray<T>,\n canonicalPrefix: string,\n legacyPrefix: string\n): T[] {\n return tools.map((tool) => {\n if (tool.outputSchema) return tool;\n const name = tool.name as string;\n const suffix = name.startsWith(canonicalPrefix)\n ? name.slice(canonicalPrefix.length)\n : name.startsWith(legacyPrefix)\n ? name.slice(legacyPrefix.length)\n : name;\n return { ...tool, outputSchema: TOOL_OUTPUT_SCHEMAS[suffix] ?? { type: \"object\", additionalProperties: true } };\n });\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getOperation
3
- } from "./chunk-WD32KTVI.js";
3
+ } from "./chunk-2ZVSQPAA.js";
4
4
  import {
5
5
  EngramAccessInputError
6
6
  } from "./chunk-3MUKQQ7A.js";
@@ -21,4 +21,4 @@ async function respondBriefingHttp(options) {
21
21
  export {
22
22
  respondBriefingHttp
23
23
  };
24
- //# sourceMappingURL=chunk-4IFSMCRS.js.map
24
+ //# sourceMappingURL=chunk-NYN4ZMPL.js.map
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  exportOkfBundle,
12
12
  parseIncludeStatus
13
- } from "./chunk-XDH5MO6L.js";
13
+ } from "./chunk-WZ33AIOP.js";
14
14
  import {
15
15
  exportSqlite
16
16
  } from "./chunk-BV2TIZ4F.js";
@@ -64,7 +64,7 @@ import {
64
64
  } from "./chunk-IIFFC3RL.js";
65
65
  import {
66
66
  rebuildMemoryLifecycleLedger
67
- } from "./chunk-W65KK3X6.js";
67
+ } from "./chunk-II4TIQCU.js";
68
68
  import {
69
69
  lintOkfDir
70
70
  } from "./chunk-UJX4I26O.js";
@@ -87,16 +87,16 @@ import {
87
87
  } from "./chunk-EBA5DA77.js";
88
88
  import {
89
89
  searchVerifiedEpisodes
90
- } from "./chunk-NRTVZSPO.js";
90
+ } from "./chunk-L4HT5QZ5.js";
91
91
  import {
92
92
  ThreadingManager
93
93
  } from "./chunk-OJP3N7UK.js";
94
94
  import {
95
95
  promoteSemanticRuleFromMemory
96
- } from "./chunk-5Y7VCE3A.js";
96
+ } from "./chunk-XJNSOI23.js";
97
97
  import {
98
98
  searchVerifiedSemanticRules
99
- } from "./chunk-KXJ7XYUT.js";
99
+ } from "./chunk-IOUQUXHO.js";
100
100
  import {
101
101
  buildResumeBundleFromState,
102
102
  getResumeBundleStatus,
@@ -134,7 +134,7 @@ import {
134
134
  runOperatorInventory,
135
135
  runOperatorRepair,
136
136
  runOperatorSetup
137
- } from "./chunk-SZAWZPY6.js";
137
+ } from "./chunk-E7SKAUEW.js";
138
138
  import {
139
139
  analyzeSessionIntegrity,
140
140
  applySessionRepair,
@@ -173,7 +173,7 @@ import {
173
173
  rebuildMemoryProjection,
174
174
  repairMemoryProjection,
175
175
  verifyMemoryProjection
176
- } from "./chunk-SEHKTE4F.js";
176
+ } from "./chunk-I4IKTNZP.js";
177
177
  import {
178
178
  GraphDashboardServer
179
179
  } from "./chunk-YNDLCWXS.js";
@@ -210,7 +210,7 @@ import {
210
210
  import {
211
211
  EngramAccessHttpServer,
212
212
  MeetingsInputError
213
- } from "./chunk-DC5CTLCZ.js";
213
+ } from "./chunk-PSGRZFBH.js";
214
214
  import {
215
215
  WearablesInputError
216
216
  } from "./chunk-V7IZKJI3.js";
@@ -220,10 +220,10 @@ import {
220
220
  loadChatSession,
221
221
  processChatMessage,
222
222
  sessionBelongsToPrincipal
223
- } from "./chunk-2L5DIVDU.js";
223
+ } from "./chunk-DT33WNG2.js";
224
224
  import {
225
225
  EngramAccessService
226
- } from "./chunk-WD32KTVI.js";
226
+ } from "./chunk-2ZVSQPAA.js";
227
227
  import {
228
228
  WorkStorage
229
229
  } from "./chunk-MPC7TYTZ.js";
@@ -243,27 +243,27 @@ import {
243
243
  } from "./chunk-VEBYLZQQ.js";
244
244
  import {
245
245
  readAggregateExtractionWatermark
246
- } from "./chunk-KRPMISWO.js";
246
+ } from "./chunk-5C765XYU.js";
247
247
  import {
248
248
  getObjectiveStateStoreStatus
249
249
  } from "./chunk-HM7RHKS4.js";
250
250
  import {
251
251
  journalPath
252
- } from "./chunk-TYP7GYRI.js";
252
+ } from "./chunk-SB4ZWVKI.js";
253
253
  import {
254
254
  searchHarmonicRetrieval
255
- } from "./chunk-FWVDTLRK.js";
255
+ } from "./chunk-IJQEVNEF.js";
256
256
  import {
257
257
  listMemoryGovernanceRuns,
258
258
  readMemoryGovernanceRunArtifact,
259
259
  restoreMemoryGovernanceRun,
260
260
  runMemoryGovernance
261
- } from "./chunk-LMLPLIT4.js";
261
+ } from "./chunk-AQ6IBVFQ.js";
262
262
  import {
263
263
  listNamespaces,
264
264
  runNamespaceMigration,
265
265
  verifyNamespaces
266
- } from "./chunk-QEGKMZNQ.js";
266
+ } from "./chunk-FO5NDQZH.js";
267
267
  import {
268
268
  getCueAnchorStoreStatus
269
269
  } from "./chunk-BMWN7B3Y.js";
@@ -303,7 +303,7 @@ import {
303
303
  } from "./chunk-LMMQKZK3.js";
304
304
  import {
305
305
  meetingIdDate
306
- } from "./chunk-5QZHDS4X.js";
306
+ } from "./chunk-LI4IWBLN.js";
307
307
  import {
308
308
  isValidTranscriptDate
309
309
  } from "./chunk-UHVXE24Y.js";
@@ -3075,10 +3075,282 @@ var RESPONSE_CONTROL_PATTERNS = [
3075
3075
  /\breplace[ \t]{1,8}(?:normal|default|your|the|its|all)?[ \t]{0,8}(?:behaviou?r|responses?|answers?|repl(?:y|ies)|output)\b/i,
3076
3076
  /\b(?:literal|exact|verbatim)[ \t]{1,8}(?:response|answer|reply|marker|string|output|phrase|token)\b/i
3077
3077
  ];
3078
- function findResponseControlDirective(content) {
3079
- for (const pattern of RESPONSE_CONTROL_PATTERNS) {
3080
- const finding = findingFor("response-control-directive", content, pattern);
3081
- if (finding) return finding;
3078
+ var RESPONSE_CONTROL_CORROBORATORS = [
3079
+ /\bCANARY\b/i,
3080
+ /https?:\/\//i,
3081
+ /\b[0-9a-f]{8,}\b/i,
3082
+ /\b[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\b/,
3083
+ // Naming the emission as a phrase/marker/token is a payload cue: ordinary
3084
+ // prose names a field ("the request id"), not "the phrase".
3085
+ /\b(?:the|this|that|following)[ \t]{1,8}(?:phrase|marker|token|string|sequence|literal|codeword|passphrase)\b/i,
3086
+ // Verbatim control over the wording, not the content.
3087
+ /\b(?:literal(?:ly)?|verbatim|word[- ]for[- ]word|exactly[ \t]{1,8}(?:this|that|as)|character[- ]for[- ]character)\b/i,
3088
+ /\bno[ \t]{1,8}(?:explanation|commentary|preamble|deviation|other[ \t]{1,8}text)\b/i,
3089
+ /\b(?:only|nothing[ \t]{1,8}else|and[ \t]{1,8}nothing)\b[^\n]{0,30}\b(?:answers?|responses?|repl(?:y|ies)|output|say|said)\b/i,
3090
+ // Persistence across turns: an ordinary fact does not legislate later turns.
3091
+ /\b(?:remember|persist|store[ \t]{1,8}this|retain[ \t]{1,8}this)\b/i,
3092
+ /\bany[ \t]{1,8}(?:later|future|subsequent)\b/i,
3093
+ /\b(?:future|later|subsequent|following|upcoming)[ \t]{1,8}(?:answers?|responses?|repl(?:y|ies)|output|turns?|messages?|conversations?|sessions?)\b/i,
3094
+ /\b(?:across|between)[ \t]{1,8}(?:conversations|sessions|chats)\b/i,
3095
+ /\b(?:from[ \t]{1,8}now[ \t]{1,8}on|going[ \t]{1,8}forward|in[ \t]{1,8}(?:all|every)[ \t]{1,8}(?:future|later)[ \t]{1,8}(?:turns?|answers?|responses?))\b/i,
3096
+ /\b(?:whenever|every[ \t]{1,8}time|each[ \t]{1,8}time|any[ \t]{1,8}time)\b[^\n]{0,60}\b(?:asked|discussed|mentioned|queried|retrieved|recalled)\b/i,
3097
+ // The subject is the agent, not a system under discussion.
3098
+ /\byour[ \t]{1,8}(?:answers?|responses?|repl(?:y|ies)|output|behaviou?r|memory)\b/i,
3099
+ /\b(?:assistant|agent|model)(?:'s)?[ \t]{1,8}(?:answers?|responses?|repl(?:y|ies)|output|behaviou?r)\b/i,
3100
+ // A hidden activation phrase is itself the second signal.
3101
+ /\b(?:activation|trigger)[ \t]{1,8}(?:phrase|key|word|code)\b/i,
3102
+ /\b(?:approved|required|correct|canonical)[ \t]{1,8}(?:response|answer|reply)\b/i
3103
+ ];
3104
+ var ORDINARY_CAPS_TOKENS = /* @__PURE__ */ new Set([
3105
+ "API",
3106
+ "HTTP",
3107
+ "HTTPS",
3108
+ "JSON",
3109
+ "XML",
3110
+ "HTML",
3111
+ "CSS",
3112
+ "CSV",
3113
+ "TSV",
3114
+ "YAML",
3115
+ "TOML",
3116
+ "SQL",
3117
+ "URL",
3118
+ "URI",
3119
+ "UUID",
3120
+ "ID",
3121
+ "IDS",
3122
+ "UTC",
3123
+ "ISO",
3124
+ "PDF",
3125
+ "PNG",
3126
+ "JPEG",
3127
+ "SVG",
3128
+ "TLS",
3129
+ "SSL",
3130
+ "SSH",
3131
+ "DNS",
3132
+ "TCP",
3133
+ "UDP",
3134
+ "IP",
3135
+ "CDN",
3136
+ "CORS",
3137
+ "CSRF",
3138
+ "JWT",
3139
+ "OAUTH",
3140
+ "REST",
3141
+ "GRPC",
3142
+ "RPC",
3143
+ "SDK",
3144
+ "CLI",
3145
+ "GUI",
3146
+ "OK",
3147
+ "YES",
3148
+ "NO",
3149
+ "TODO",
3150
+ "FAQ",
3151
+ "PR",
3152
+ "CI",
3153
+ "CD",
3154
+ "QA",
3155
+ "UX",
3156
+ "UI",
3157
+ "MIT",
3158
+ "GPL",
3159
+ "EU",
3160
+ "US",
3161
+ "AM",
3162
+ "PM",
3163
+ "FYI",
3164
+ "ETA",
3165
+ // Crypto, encoding, and spec vocabulary (trailing digits are stripped
3166
+ // before this lookup, so SHA256/SHA-256/UTF8/ISO8601/RFC3339 all reduce).
3167
+ "SHA",
3168
+ "MD",
3169
+ "HMAC",
3170
+ "AES",
3171
+ "RSA",
3172
+ "ECDSA",
3173
+ "PBKDF",
3174
+ "BCRYPT",
3175
+ "SCRYPT",
3176
+ "ARGON",
3177
+ "UTF",
3178
+ "ASCII",
3179
+ "BASE",
3180
+ "HEX",
3181
+ "CRC",
3182
+ "GZIP",
3183
+ "ZSTD",
3184
+ "RFC",
3185
+ "ANSI",
3186
+ "IEEE",
3187
+ "SMTP",
3188
+ "IMAP",
3189
+ "LDAP",
3190
+ "SAML",
3191
+ "OIDC",
3192
+ "SSO",
3193
+ "MFA",
3194
+ "TOTP",
3195
+ "ACL",
3196
+ "RBAC",
3197
+ "AWS",
3198
+ "GCP",
3199
+ "GPU",
3200
+ "CPU",
3201
+ "RAM",
3202
+ "SSD",
3203
+ "OS",
3204
+ "VM",
3205
+ "K8S",
3206
+ "NPM",
3207
+ "SEMVER",
3208
+ "GET",
3209
+ "POST",
3210
+ "PUT",
3211
+ "PATCH",
3212
+ "DELETE",
3213
+ "HEAD",
3214
+ "OPTIONS",
3215
+ "TRACE"
3216
+ ]);
3217
+ var ORDINARY_CAPITALIZED_WORDS = /* @__PURE__ */ new Set([
3218
+ "Dear",
3219
+ "Hello",
3220
+ "Hi",
3221
+ "Greetings",
3222
+ "Please",
3223
+ "Thanks",
3224
+ "Thank",
3225
+ "Regards",
3226
+ "Sincerely",
3227
+ "Yes",
3228
+ "No",
3229
+ "True",
3230
+ "False",
3231
+ "Null",
3232
+ "None",
3233
+ "Error",
3234
+ "Warning",
3235
+ "Note",
3236
+ "Summary",
3237
+ "Subject",
3238
+ "Re",
3239
+ "Fwd",
3240
+ "Attention",
3241
+ "Notice",
3242
+ "Draft",
3243
+ "Monday",
3244
+ "Tuesday",
3245
+ "Wednesday",
3246
+ "Thursday",
3247
+ "Friday",
3248
+ "Saturday",
3249
+ "Sunday",
3250
+ "January",
3251
+ "February",
3252
+ "March",
3253
+ "April",
3254
+ "May",
3255
+ "June",
3256
+ "July",
3257
+ "August",
3258
+ "September",
3259
+ "October",
3260
+ "November",
3261
+ "December"
3262
+ ]);
3263
+ var EMISSION_VERB_PRESENT = /\b(?:begin|start|end|include|contain|say|state|output|return|emit|produce|reply|respond|answer|replace|becomes?|is|are|be)\b[ \t]/i;
3264
+ var OPAQUE_EMISSION_TARGET = /\b(?:begin|start|end|include|contain|say|state|output|return|emit|produce|reply|respond|answer|replace|becomes?|is|are|be)\b[ \t]{1,8}(?:(?:with|by|exactly)[ \t]{1,8})?(?:normal[ \t]{1,8}behaviou?r[ \t]{1,8}with[ \t]{1,8})?/gi;
3265
+ var EMISSION_SLOT_VALUE = /(?:"([^"\n]{2,40})"|'([^'\n]{2,40})'|([A-Za-z][A-Za-z0-9_-]{1,39})\b)/y;
3266
+ var MAX_WHITESPACE_RUN_SCAN = 64;
3267
+ function lowercaseFollowsWhitespace(content, from) {
3268
+ const limit = Math.min(content.length, from + MAX_WHITESPACE_RUN_SCAN);
3269
+ let index = from;
3270
+ while (index < limit) {
3271
+ const code = content.charCodeAt(index);
3272
+ const whitespace = code === 32 || code >= 9 && code <= 13;
3273
+ if (!whitespace) return code >= 97 && code <= 122;
3274
+ index += 1;
3275
+ }
3276
+ return false;
3277
+ }
3278
+ function splitSentencesOutsideQuotes(content) {
3279
+ const sentences = [];
3280
+ const TOKEN = /["'.!?\n]/g;
3281
+ let start = 0;
3282
+ let quote;
3283
+ let match;
3284
+ while ((match = TOKEN.exec(content)) !== null) {
3285
+ const char = match[0];
3286
+ const index = match.index;
3287
+ if (quote !== void 0) {
3288
+ if (char === quote) quote = void 0;
3289
+ continue;
3290
+ }
3291
+ if (char === '"' || char === "'" && !/[A-Za-z0-9]/.test(content[index - 1] ?? " ")) {
3292
+ quote = char;
3293
+ continue;
3294
+ }
3295
+ const next = content[index + 1];
3296
+ const insideToken = char !== "\n" && next !== void 0 && !/\s/.test(next);
3297
+ const terminalUrlPunctuation = (char === "?" || char === "!") && lowercaseFollowsWhitespace(content, index + 1) && /:\/\/[^\s]*$/.test(content.slice(Math.max(0, index - 300), index));
3298
+ const newlineContinues = char === "\n" && /[:\-][ \t]*$/.test(content.slice(Math.max(0, index - 4), index));
3299
+ const endsUnit = !insideToken && !terminalUrlPunctuation && !newlineContinues && (char === "." || char === "!" || char === "?" || char === "\n");
3300
+ if (endsUnit) {
3301
+ if (index > start) sentences.push(content.slice(start, index));
3302
+ start = index + 1;
3303
+ }
3304
+ }
3305
+ if (start < content.length) sentences.push(content.slice(start));
3306
+ return sentences;
3307
+ }
3308
+ function reduceToken(token) {
3309
+ return token.replace(/[0-9]+$/, "");
3310
+ }
3311
+ function isOrdinaryToken(token) {
3312
+ const segments = token.split(/[-_]+/).filter((segment) => segment.length > 0);
3313
+ if (segments.length === 0) return true;
3314
+ if (segments.length > 1 && segments.every((segment) => /^[A-Z][a-z]+$/.test(segment))) return true;
3315
+ return segments.every((segment) => {
3316
+ if (/^[0-9]+$/.test(segment)) return true;
3317
+ const reduced = reduceToken(segment);
3318
+ if (ORDINARY_CAPS_TOKENS.has(segment) || ORDINARY_CAPS_TOKENS.has(reduced)) return true;
3319
+ return ORDINARY_CAPITALIZED_WORDS.has(segment);
3320
+ });
3321
+ }
3322
+ function hasOpaqueEmissionTarget(sentence) {
3323
+ OPAQUE_EMISSION_TARGET.lastIndex = 0;
3324
+ for (let verb = OPAQUE_EMISSION_TARGET.exec(sentence); verb !== null; verb = OPAQUE_EMISSION_TARGET.exec(sentence)) {
3325
+ EMISSION_SLOT_VALUE.lastIndex = verb.index + verb[0].length;
3326
+ const match = EMISSION_SLOT_VALUE.exec(sentence);
3327
+ if (!match) continue;
3328
+ const quoted = match[1] ?? match[2];
3329
+ if (quoted !== void 0) {
3330
+ const inner = quoted.trim();
3331
+ if (!/\s/.test(inner) && isOrdinaryToken(inner)) continue;
3332
+ return true;
3333
+ }
3334
+ const token = match[3];
3335
+ if (token === void 0) continue;
3336
+ if (/^[a-z]/.test(token)) continue;
3337
+ if (!isOrdinaryToken(token)) return true;
3338
+ }
3339
+ return false;
3340
+ }
3341
+ function findResponseControlDirective(content, profile = "default") {
3342
+ const directive = RESPONSE_CONTROL_PATTERNS.map(
3343
+ (pattern) => findingFor("response-control-directive", content, pattern)
3344
+ ).find((finding) => finding !== void 0);
3345
+ if (!directive) return void 0;
3346
+ if (profile === "hardened") return directive;
3347
+ const anyCorroborator = RESPONSE_CONTROL_CORROBORATORS.some((pattern) => pattern.test(content));
3348
+ const anyEmissionVerb = !anyCorroborator ? EMISSION_VERB_PRESENT.test(content) : true;
3349
+ if (!anyCorroborator && !anyEmissionVerb) return void 0;
3350
+ for (const sentence of splitSentencesOutsideQuotes(content)) {
3351
+ if (!RESPONSE_CONTROL_PATTERNS.some((pattern) => pattern.test(sentence))) continue;
3352
+ if (anyCorroborator && RESPONSE_CONTROL_CORROBORATORS.some((pattern) => pattern.test(sentence))) return directive;
3353
+ if (hasOpaqueEmissionTarget(sentence)) return directive;
3082
3354
  }
3083
3355
  return void 0;
3084
3356
  }
@@ -3100,7 +3372,16 @@ function findAuthorityEscalation(content) {
3100
3372
  AUTHORITY_MANDATORY_DIRECTIVE_PATTERN
3101
3373
  );
3102
3374
  }
3103
- function screenCandidateFact(content, profile = "default") {
3375
+ var INVISIBLE_FORMATTING = /[\u00ad\u200b-\u200f\u2060\u2028\u2029\ufeff]/g;
3376
+ var NON_ASCII_SPACE_LIKE = /[\f\v\u0085\u1680\u00a0\u2000-\u200a\u202f\u205f\u3000]/g;
3377
+ var ASCII_SPACE_RUN = /[ \t]{2,}/g;
3378
+ function normalizeForScreening(content) {
3379
+ const spaced = content.replace(NON_ASCII_SPACE_LIKE, " ").replace(INVISIBLE_FORMATTING, " ").replace(ASCII_SPACE_RUN, " ");
3380
+ const deleted = content.replace(INVISIBLE_FORMATTING, "").replace(NON_ASCII_SPACE_LIKE, " ").replace(ASCII_SPACE_RUN, " ");
3381
+ return spaced === deleted ? [spaced] : [spaced, deleted];
3382
+ }
3383
+ function screenCandidateFact(rawContent, profile = "default") {
3384
+ const variants = normalizeForScreening(rawContent);
3104
3385
  const findings = [];
3105
3386
  const rules = [
3106
3387
  ["imperative-to-agent", findImperativeToAgent],
@@ -3113,8 +3394,13 @@ function screenCandidateFact(content, profile = "default") {
3113
3394
  ["tool-routing-directive", findToolRoutingDirective]
3114
3395
  ];
3115
3396
  for (const [rule, find] of rules) {
3116
- const finding = find(content);
3117
- if (finding) findings.push({ rule, excerpt: finding.excerpt });
3397
+ for (const content of variants) {
3398
+ const finding = find(content, profile);
3399
+ if (finding) {
3400
+ findings.push({ rule, excerpt: finding.excerpt });
3401
+ break;
3402
+ }
3403
+ }
3118
3404
  }
3119
3405
  const score = findings.reduce((sum, finding) => sum + ruleWeight(finding.rule, profile), 0);
3120
3406
  return { score, findings, quarantine: score >= INJECTION_SCREEN_THRESHOLD };
@@ -3231,6 +3517,10 @@ function writeBurstStats(groups) {
3231
3517
  anomalousGroups
3232
3518
  };
3233
3519
  }
3520
+ function auditScreenProfile(config) {
3521
+ const capabilities = resolveSecurityCapabilities(config);
3522
+ return capabilities.injectionScreen ? capabilities.injectionScreenProfile : "default";
3523
+ }
3234
3524
  async function auditMemoryStore(options) {
3235
3525
  const since = parseSince(options.since);
3236
3526
  const storage = options.storage;
@@ -3347,7 +3637,13 @@ function registerSecurityCommands(cmd, orchestrator) {
3347
3637
  memoryDir: orchestrator.config.memoryDir,
3348
3638
  storage: orchestrator.storage,
3349
3639
  since: typeof options.since === "string" && options.since.trim().length > 0 ? options.since.trim() : void 0,
3350
- quarantine: options.quarantine === true
3640
+ quarantine: options.quarantine === true,
3641
+ // Screen with the profile live ingestion uses, or a memory this
3642
+ // deployment would quarantine on write stays active once stored
3643
+ // (#3078). A deployment with the screen DISABLED keeps the previous
3644
+ // `default` weighting: the sweep must not be stricter than the
3645
+ // write path the operator configured.
3646
+ profile: auditScreenProfile(orchestrator.config)
3351
3647
  });
3352
3648
  if (options.json === true) {
3353
3649
  console.log(JSON.stringify(report, null, 2));
@@ -9709,6 +10005,7 @@ export {
9709
10005
  exportSkillBundles,
9710
10006
  readSkillBundlesFromDir,
9711
10007
  persistImportedSkills,
10008
+ auditScreenProfile,
9712
10009
  auditMemoryStore,
9713
10010
  formatAuditMemoryReport,
9714
10011
  registerWearableConnector,
@@ -9834,4 +10131,4 @@ export {
9834
10131
  listMemoryMarkdownFilePaths,
9835
10132
  registerCli
9836
10133
  };
9837
- //# sourceMappingURL=chunk-K7S2IMGJ.js.map
10134
+ //# sourceMappingURL=chunk-O7QF3TCV.js.map