@rubytech/create-maxy-code 0.1.33 → 0.1.35

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 (519) hide show
  1. package/dist/__tests__/account-id-env.test.js +1 -1
  2. package/dist/__tests__/apt-resolve.test.js +7 -7
  3. package/dist/__tests__/brew-install.test.js +1 -1
  4. package/dist/__tests__/brew-resolve.test.js +1 -1
  5. package/dist/__tests__/cdp-port-no-silent-fallback.test.js +4 -4
  6. package/dist/__tests__/init-logging.test.js +1 -1
  7. package/dist/__tests__/launchd-plist.test.js +1 -1
  8. package/dist/__tests__/macos-version.test.js +1 -1
  9. package/dist/__tests__/peer-brand-detect.test.js +1 -1
  10. package/dist/__tests__/platform-detect.test.js +2 -2
  11. package/dist/__tests__/port-canonicalisation.test.js +1 -1
  12. package/dist/__tests__/preflight-port-classifier.test.js +6 -6
  13. package/dist/__tests__/samba-provision.test.js +1 -1
  14. package/dist/__tests__/snap-chromium.test.js +1 -1
  15. package/dist/apt-resolve.js +5 -5
  16. package/dist/brew-install.js +1 -1
  17. package/dist/brew-resolve.js +3 -3
  18. package/dist/index.js +146 -122
  19. package/dist/init-logging.js +1 -1
  20. package/dist/launchd-plist.js +1 -1
  21. package/dist/macos-version.js +2 -2
  22. package/dist/peer-brand-detect.js +1 -1
  23. package/dist/pinned-binaries.js +1 -1
  24. package/dist/platform-detect.js +1 -1
  25. package/dist/port-resolution.js +2 -2
  26. package/dist/preflight-port-classifier.js +3 -3
  27. package/dist/samba-provision.js +1 -1
  28. package/dist/snap-chromium.js +3 -3
  29. package/dist/uninstall.js +28 -28
  30. package/package.json +4 -1
  31. package/payload/platform/lib/account-enumeration/dist/__tests__/validate-env.test.js +1 -1
  32. package/payload/platform/lib/account-enumeration/dist/__tests__/validate-env.test.js.map +1 -1
  33. package/payload/platform/lib/account-enumeration/dist/index.d.ts +1 -1
  34. package/payload/platform/lib/account-enumeration/src/__tests__/validate-env.test.ts +1 -1
  35. package/payload/platform/lib/account-enumeration/src/index.ts +1 -1
  36. package/payload/platform/lib/admins-write/dist/index.js +3 -3
  37. package/payload/platform/lib/admins-write/dist/index.js.map +1 -1
  38. package/payload/platform/lib/admins-write/src/index.ts +4 -4
  39. package/payload/platform/lib/entitlement/dist/index.d.ts +1 -1
  40. package/payload/platform/lib/entitlement/dist/index.js +2 -2
  41. package/payload/platform/lib/entitlement/dist/index.js.map +1 -1
  42. package/payload/platform/lib/graph-mcp/dist/__tests__/warnings-envelope.test.js +1 -1
  43. package/payload/platform/lib/graph-mcp/dist/__tests__/warnings-envelope.test.js.map +1 -1
  44. package/payload/platform/lib/graph-mcp/dist/cypher-rewrite-stamp.d.ts +3 -3
  45. package/payload/platform/lib/graph-mcp/dist/cypher-rewrite-stamp.js +3 -3
  46. package/payload/platform/lib/graph-mcp/dist/cypher-shim-read.d.ts +1 -1
  47. package/payload/platform/lib/graph-mcp/dist/cypher-shim-read.js +1 -1
  48. package/payload/platform/lib/graph-mcp/dist/cypher-shim-write.d.ts +1 -1
  49. package/payload/platform/lib/graph-mcp/dist/cypher-shim-write.js +1 -1
  50. package/payload/platform/lib/graph-mcp/dist/cypher-validate.d.ts +1 -1
  51. package/payload/platform/lib/graph-mcp/dist/cypher-validate.js +1 -1
  52. package/payload/platform/lib/graph-mcp/dist/index.d.ts +1 -1
  53. package/payload/platform/lib/graph-mcp/dist/index.js +24 -24
  54. package/payload/platform/lib/graph-mcp/dist/index.js.map +1 -1
  55. package/payload/platform/lib/graph-mcp/dist/schema-cache.d.ts +1 -1
  56. package/payload/platform/lib/graph-mcp/dist/schema-cache.js +2 -2
  57. package/payload/platform/lib/graph-mcp/dist/schema-cypher-parser.d.ts +3 -3
  58. package/payload/platform/lib/graph-mcp/dist/schema-cypher-parser.js +3 -3
  59. package/payload/platform/lib/graph-mcp/src/__tests__/warnings-envelope.test.ts +1 -1
  60. package/payload/platform/lib/graph-mcp/src/cypher-rewrite-stamp.ts +3 -3
  61. package/payload/platform/lib/graph-mcp/src/cypher-shim-read.ts +1 -1
  62. package/payload/platform/lib/graph-mcp/src/cypher-shim-write.ts +1 -1
  63. package/payload/platform/lib/graph-mcp/src/cypher-validate.ts +1 -1
  64. package/payload/platform/lib/graph-mcp/src/index.ts +29 -29
  65. package/payload/platform/lib/graph-mcp/src/schema-cache.ts +2 -2
  66. package/payload/platform/lib/graph-mcp/src/schema-cypher-parser.ts +3 -3
  67. package/payload/platform/lib/graph-search/dist/index.d.ts +12 -12
  68. package/payload/platform/lib/graph-search/dist/index.js +11 -11
  69. package/payload/platform/lib/graph-search/dist/index.js.map +1 -1
  70. package/payload/platform/lib/graph-search/src/__tests__/bm25-label-gate.test.ts +2 -2
  71. package/payload/platform/lib/graph-search/src/__tests__/bm25-strong-bypass-threshold.test.ts +2 -2
  72. package/payload/platform/lib/graph-search/src/__tests__/brochure-threshold.test.ts +3 -3
  73. package/payload/platform/lib/graph-search/src/__tests__/expand-batch.test.ts +2 -2
  74. package/payload/platform/lib/graph-search/src/__tests__/fulltext-coverage.test.ts +6 -6
  75. package/payload/platform/lib/graph-search/src/__tests__/hybrid.test.ts +5 -5
  76. package/payload/platform/lib/graph-search/src/__tests__/vector-threshold.test.ts +2 -2
  77. package/payload/platform/lib/graph-search/src/index.ts +18 -18
  78. package/payload/platform/lib/graph-trash/dist/index.d.ts +3 -3
  79. package/payload/platform/lib/graph-trash/dist/index.js +3 -3
  80. package/payload/platform/lib/graph-trash/src/index.ts +3 -3
  81. package/payload/platform/lib/graph-write/dist/__tests__/action-provenance-gate.test.js +4 -4
  82. package/payload/platform/lib/graph-write/dist/__tests__/action-provenance-gate.test.js.map +1 -1
  83. package/payload/platform/lib/graph-write/dist/audit.d.ts +2 -2
  84. package/payload/platform/lib/graph-write/dist/audit.js +2 -2
  85. package/payload/platform/lib/graph-write/dist/conversation-provenance.js +1 -1
  86. package/payload/platform/lib/graph-write/dist/conversation-provenance.js.map +1 -1
  87. package/payload/platform/lib/graph-write/dist/index.d.ts +5 -5
  88. package/payload/platform/lib/graph-write/dist/index.js +12 -12
  89. package/payload/platform/lib/graph-write/dist/index.js.map +1 -1
  90. package/payload/platform/lib/graph-write/src/__tests__/action-provenance-gate.test.ts +4 -4
  91. package/payload/platform/lib/graph-write/src/audit.ts +2 -2
  92. package/payload/platform/lib/graph-write/src/conversation-provenance.ts +1 -1
  93. package/payload/platform/lib/graph-write/src/index.ts +13 -13
  94. package/payload/platform/lib/mcp-eager/dist/index.d.ts +2 -2
  95. package/payload/platform/lib/mcp-eager/dist/index.js +2 -2
  96. package/payload/platform/lib/mcp-eager/src/index.ts +2 -2
  97. package/payload/platform/lib/mcp-spawn-tee/dist/index.d.ts +2 -2
  98. package/payload/platform/lib/mcp-spawn-tee/dist/index.js +2 -2
  99. package/payload/platform/lib/mcp-spawn-tee/src/index.ts +2 -2
  100. package/payload/platform/lib/mcp-stderr-tee/dist/index.d.ts +1 -1
  101. package/payload/platform/lib/mcp-stderr-tee/dist/index.js +4 -4
  102. package/payload/platform/lib/mcp-stderr-tee/dist/index.js.map +1 -1
  103. package/payload/platform/lib/mcp-stderr-tee/src/index.ts +4 -4
  104. package/payload/platform/lib/oauth-llm/dist/index.d.ts +4 -4
  105. package/payload/platform/lib/oauth-llm/dist/index.js +3 -3
  106. package/payload/platform/lib/oauth-llm/dist/index.js.map +1 -1
  107. package/payload/platform/lib/oauth-llm/src/index.ts +6 -6
  108. package/payload/platform/lib/persistent-components/dist/index.d.ts +1 -1
  109. package/payload/platform/lib/persistent-components/dist/index.js +1 -1
  110. package/payload/platform/lib/persistent-components/src/index.ts +1 -1
  111. package/payload/platform/lib/task-secrets/dist/index.js +1 -1
  112. package/payload/platform/lib/task-secrets/dist/index.js.map +1 -1
  113. package/payload/platform/lib/task-secrets/src/__tests__/redact-secrets.test.ts +1 -1
  114. package/payload/platform/lib/task-secrets/src/index.ts +1 -1
  115. package/payload/platform/neo4j/edge-annotations.json +9 -9
  116. package/payload/platform/neo4j/schema.cypher +32 -33
  117. package/payload/platform/package.json +2 -2
  118. package/payload/platform/plugins/admin/PLUGIN.md +0 -2
  119. package/payload/platform/plugins/admin/hooks/__tests__/archive-ingest-surface-gate.test.sh +4 -4
  120. package/payload/platform/plugins/admin/hooks/__tests__/playwright-file-guard.test.sh +1 -1
  121. package/payload/platform/plugins/admin/hooks/__tests__/pre-tool-use-base64-guard.test.sh +1 -1
  122. package/payload/platform/plugins/admin/hooks/archive-ingest-surface-gate.sh +13 -13
  123. package/payload/platform/plugins/admin/hooks/pre-tool-use.sh +7 -7
  124. package/payload/platform/plugins/admin/mcp/dist/__tests__/plugin-read-skill-resolution.test.js +2 -2
  125. package/payload/platform/plugins/admin/mcp/dist/__tests__/plugin-read-skill-resolution.test.js.map +1 -1
  126. package/payload/platform/plugins/admin/mcp/dist/__tests__/public-hostname.test.js +1 -1
  127. package/payload/platform/plugins/admin/mcp/dist/__tests__/public-hostname.test.js.map +1 -1
  128. package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-load-required-inputs.test.js +2 -2
  129. package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-load-required-inputs.test.js.map +1 -1
  130. package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-load.test.js +1 -1
  131. package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-load.test.js.map +1 -1
  132. package/payload/platform/plugins/admin/mcp/dist/index.js +38 -65
  133. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  134. package/payload/platform/plugins/admin/mcp/dist/lib/neo4j.js +2 -2
  135. package/payload/platform/plugins/admin/mcp/dist/lib/neo4j.js.map +1 -1
  136. package/payload/platform/plugins/admin/mcp/dist/lib/public-hostname.js +2 -2
  137. package/payload/platform/plugins/admin/mcp/dist/lib/public-hostname.js.map +1 -1
  138. package/payload/platform/plugins/admin/mcp/dist/skill-resolution.js +5 -5
  139. package/payload/platform/plugins/admin/mcp/dist/skill-resolution.js.map +1 -1
  140. package/payload/platform/plugins/admin/skills/plugin-management/SKILL.md +1 -1
  141. package/payload/platform/plugins/admin/skills/public-agent-manager/SKILL.md +0 -1
  142. package/payload/platform/plugins/admin/skills/publish-site/SKILL.md +1 -1
  143. package/payload/platform/plugins/admin/skills/unzip-attachment/SKILL.md +2 -2
  144. package/payload/platform/plugins/cloudflare/mcp/dist/index.js +1 -1
  145. package/payload/platform/plugins/cloudflare/mcp/dist/index.js.map +1 -1
  146. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts +1 -1
  147. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js +6 -6
  148. package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js.map +1 -1
  149. package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.d.ts +2 -2
  150. package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.js +2 -2
  151. package/payload/platform/plugins/cloudflare/references/dashboard-guide.md +1 -1
  152. package/payload/platform/plugins/cloudflare/references/manual-setup.md +4 -4
  153. package/payload/platform/plugins/cloudflare/scripts/__tests__/tunnel-ingress.test.ts +1 -1
  154. package/payload/platform/plugins/cloudflare/scripts/_stream-log.sh +8 -8
  155. package/payload/platform/plugins/cloudflare/scripts/list-cf-domains.sh +2 -2
  156. package/payload/platform/plugins/cloudflare/scripts/list-cf-domains.ts +16 -16
  157. package/payload/platform/plugins/cloudflare/scripts/reset-tunnel.sh +1 -1
  158. package/payload/platform/plugins/cloudflare/scripts/setup-tunnel.sh +28 -28
  159. package/payload/platform/plugins/cloudflare/scripts/tunnel-ingress.ts +5 -5
  160. package/payload/platform/plugins/cloudflare/skills/setup-tunnel/SKILL.md +3 -3
  161. package/payload/platform/plugins/contacts/mcp/dist/lib/neo4j.js +2 -2
  162. package/payload/platform/plugins/contacts/mcp/dist/lib/neo4j.js.map +1 -1
  163. package/payload/platform/plugins/contacts/mcp/dist/lib/resolve-person.d.ts +1 -1
  164. package/payload/platform/plugins/contacts/mcp/dist/lib/resolve-person.js +1 -1
  165. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js +2 -2
  166. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js.map +1 -1
  167. package/payload/platform/plugins/contacts/mcp/dist/tools/group-create.js +1 -1
  168. package/payload/platform/plugins/contacts/mcp/dist/tools/group-create.js.map +1 -1
  169. package/payload/platform/plugins/docs/references/deployment.md +30 -1
  170. package/payload/platform/plugins/docs/references/platform.md +1 -1
  171. package/payload/platform/plugins/docs/references/plugins-guide.md +2 -5
  172. package/payload/platform/plugins/docs/references/troubleshooting.md +3 -3
  173. package/payload/platform/plugins/email/mcp/dist/index.js +1 -1
  174. package/payload/platform/plugins/email/mcp/dist/index.js.map +1 -1
  175. package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.js +2 -2
  176. package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.js.map +1 -1
  177. package/payload/platform/plugins/email/mcp/dist/lib/credentials.d.ts +1 -1
  178. package/payload/platform/plugins/email/mcp/dist/lib/credentials.js +1 -1
  179. package/payload/platform/plugins/email/mcp/dist/lib/neo4j.js +2 -2
  180. package/payload/platform/plugins/email/mcp/dist/lib/neo4j.js.map +1 -1
  181. package/payload/platform/plugins/email/mcp/dist/lib/screening.d.ts +1 -1
  182. package/payload/platform/plugins/email/mcp/dist/lib/screening.js +1 -1
  183. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js +6 -6
  184. package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js.map +1 -1
  185. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts +1 -1
  186. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js +2 -2
  187. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js.map +1 -1
  188. package/payload/platform/plugins/email/references/email-reference.md +2 -2
  189. package/payload/platform/plugins/loop/mcp/dist/lib/neo4j.js +3 -3
  190. package/payload/platform/plugins/loop/mcp/dist/lib/neo4j.js.map +1 -1
  191. package/payload/platform/plugins/loop/mcp/src/lib/neo4j.ts +3 -3
  192. package/payload/platform/plugins/memory/bin/conversation-archive-ingest.mjs +24 -24
  193. package/payload/platform/plugins/memory/bin/conversation-archive-ingest.sh +6 -6
  194. package/payload/platform/plugins/memory/mcp/dist/index.js +8 -8
  195. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  196. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js +33 -33
  197. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js.map +1 -1
  198. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js +12 -12
  199. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js.map +1 -1
  200. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.js +3 -3
  201. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.js.map +1 -1
  202. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.js +2 -2
  203. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.js.map +1 -1
  204. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/whatsapp-text.d.ts.map +1 -1
  205. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/whatsapp-text.js +1 -1
  206. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/whatsapp-text.js.map +1 -1
  207. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.d.ts.map +1 -1
  208. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.js +1 -2
  209. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.js.map +1 -1
  210. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/sender-bind.js +2 -2
  211. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/sender-bind.js.map +1 -1
  212. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/to-turn-text.js +1 -1
  213. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/to-turn-text.js.map +1 -1
  214. package/payload/platform/plugins/memory/mcp/dist/lib/document-chunker.d.ts +2 -2
  215. package/payload/platform/plugins/memory/mcp/dist/lib/document-chunker.js +2 -2
  216. package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.js +6 -6
  217. package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.js.map +1 -1
  218. package/payload/platform/plugins/memory/mcp/dist/lib/graph-prune.d.ts +1 -1
  219. package/payload/platform/plugins/memory/mcp/dist/lib/graph-prune.js +1 -1
  220. package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.d.ts +2 -2
  221. package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.js +7 -7
  222. package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.js.map +1 -1
  223. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.d.ts +2 -2
  224. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.js +2 -2
  225. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts +9 -9
  226. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts.map +1 -1
  227. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js +25 -25
  228. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js.map +1 -1
  229. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts +1 -1
  230. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js +5 -5
  231. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js.map +1 -1
  232. package/payload/platform/plugins/memory/mcp/dist/lib/neo4j.js +2 -2
  233. package/payload/platform/plugins/memory/mcp/dist/lib/neo4j.js.map +1 -1
  234. package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.d.ts +4 -4
  235. package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js +3 -3
  236. package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js.map +1 -1
  237. package/payload/platform/plugins/memory/mcp/dist/lib/schema-validator.d.ts +3 -3
  238. package/payload/platform/plugins/memory/mcp/dist/lib/schema-validator.js +5 -5
  239. package/payload/platform/plugins/memory/mcp/dist/lib/schema-validator.js.map +1 -1
  240. package/payload/platform/plugins/memory/mcp/dist/lib/uuid.js +1 -1
  241. package/payload/platform/plugins/memory/mcp/dist/lib/uuid.js.map +1 -1
  242. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.js +5 -5
  243. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.js.map +1 -1
  244. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js +1 -1
  245. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js.map +1 -1
  246. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-source-agnosticism.test.js +2 -2
  247. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-source-agnosticism.test.js.map +1 -1
  248. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-whatsapp-text.test.js +4 -4
  249. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-whatsapp-text.test.js.map +1 -1
  250. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write.test.js +6 -6
  251. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write.test.js.map +1 -1
  252. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest.test.js +7 -7
  253. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest.test.js.map +1 -1
  254. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/profile-update-not-applicable.test.js +2 -2
  255. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/profile-update-not-applicable.test.js.map +1 -1
  256. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/profile-update-personfields-open.test.js +3 -3
  257. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/profile-update-personfields-open.test.js.map +1 -1
  258. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.d.ts +1 -1
  259. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js +3 -3
  260. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js.map +1 -1
  261. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.d.ts +1 -1
  262. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.js +1 -1
  263. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js +2 -2
  264. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js.map +1 -1
  265. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts +1 -1
  266. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js +1 -1
  267. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.d.ts +2 -2
  268. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js +1 -1
  269. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js.map +1 -1
  270. package/payload/platform/plugins/memory/mcp/dist/tools/memory-find-candidates.d.ts +3 -3
  271. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js +2 -2
  272. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js.map +1 -1
  273. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts +9 -9
  274. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts.map +1 -1
  275. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js +10 -11
  276. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -1
  277. package/payload/platform/plugins/memory/mcp/dist/tools/memory-list-attachments.js +1 -1
  278. package/payload/platform/plugins/memory/mcp/dist/tools/memory-list-attachments.js.map +1 -1
  279. package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.js +1 -1
  280. package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.js.map +1 -1
  281. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js +1 -1
  282. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js.map +1 -1
  283. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts +1 -1
  284. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +3 -3
  285. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -1
  286. package/payload/platform/plugins/memory/mcp/dist/tools/profile-read.js +9 -9
  287. package/payload/platform/plugins/memory/mcp/dist/tools/profile-read.js.map +1 -1
  288. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.d.ts +5 -5
  289. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js +9 -9
  290. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js.map +1 -1
  291. package/payload/platform/plugins/memory/mcp/scripts/boot-smoke.sh +1 -1
  292. package/payload/platform/plugins/memory/mcp/scripts/graph/fixture.cypher +1 -1
  293. package/payload/platform/plugins/memory/mcp/vitest.config.ts +2 -2
  294. package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.js +1 -1
  295. package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.js.map +1 -1
  296. package/payload/platform/plugins/outlook/mcp/scripts/verify-doc-impl.sh +1 -1
  297. package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
  298. package/payload/platform/plugins/scheduling/mcp/dist/__tests__/time-resolve-description.test.js +1 -1
  299. package/payload/platform/plugins/scheduling/mcp/dist/__tests__/time-resolve-description.test.js.map +1 -1
  300. package/payload/platform/plugins/scheduling/mcp/dist/index.js +1 -1
  301. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
  302. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/getUserTimezone.test.js +3 -3
  303. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/getUserTimezone.test.js.map +1 -1
  304. package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.d.ts +2 -2
  305. package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.js +5 -5
  306. package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.js.map +1 -1
  307. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts +1 -1
  308. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +6 -6
  309. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
  310. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js +1 -1
  311. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -1
  312. package/payload/platform/plugins/tasks/mcp/dist/index.js +1 -1
  313. package/payload/platform/plugins/tasks/mcp/dist/index.js.map +1 -1
  314. package/payload/platform/plugins/tasks/mcp/dist/lib/neo4j.js +2 -2
  315. package/payload/platform/plugins/tasks/mcp/dist/lib/neo4j.js.map +1 -1
  316. package/payload/platform/plugins/tasks/mcp/dist/tools/project-create.js +2 -2
  317. package/payload/platform/plugins/tasks/mcp/dist/tools/project-create.js.map +1 -1
  318. package/payload/platform/plugins/tasks/mcp/dist/tools/session-name.d.ts +1 -1
  319. package/payload/platform/plugins/tasks/mcp/dist/tools/session-name.d.ts.map +1 -1
  320. package/payload/platform/plugins/tasks/mcp/dist/tools/task-create.d.ts +5 -5
  321. package/payload/platform/plugins/tasks/mcp/dist/tools/task-create.js +3 -3
  322. package/payload/platform/plugins/tasks/mcp/dist/tools/task-create.js.map +1 -1
  323. package/payload/platform/plugins/tasks/mcp/dist/tools/task-update.d.ts +4 -4
  324. package/payload/platform/plugins/tasks/mcp/dist/tools/task-update.js +2 -2
  325. package/payload/platform/plugins/tasks/mcp/dist/tools/task-update.js.map +1 -1
  326. package/payload/platform/plugins/telegram/mcp/dist/tools/message-history.js +2 -2
  327. package/payload/platform/plugins/telegram/mcp/dist/tools/message-history.js.map +1 -1
  328. package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.js +2 -2
  329. package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.js.map +1 -1
  330. package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.js +3 -3
  331. package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.js.map +1 -1
  332. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.d.ts +1 -1
  333. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.js +3 -3
  334. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.js.map +1 -1
  335. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.js +5 -5
  336. package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.js.map +1 -1
  337. package/payload/platform/plugins/whatsapp/mcp/dist/call-api.d.ts +1 -1
  338. package/payload/platform/plugins/whatsapp/mcp/dist/call-api.js +1 -1
  339. package/payload/platform/plugins/workflows/mcp/dist/index.js +1 -1
  340. package/payload/platform/plugins/workflows/mcp/dist/index.js.map +1 -1
  341. package/payload/platform/plugins/workflows/mcp/dist/lib/active-runs.d.ts +1 -1
  342. package/payload/platform/plugins/workflows/mcp/dist/lib/active-runs.js +1 -1
  343. package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.d.ts +1 -1
  344. package/payload/platform/plugins/workflows/mcp/dist/lib/neo4j.js +2 -2
  345. package/payload/platform/plugins/workflows/mcp/dist/lib/neo4j.js.map +1 -1
  346. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-create.js +1 -1
  347. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-create.js.map +1 -1
  348. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.js +4 -4
  349. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.js.map +1 -1
  350. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-update.js +1 -1
  351. package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-update.js.map +1 -1
  352. package/payload/platform/plugins/workflows/mcp/test-workflows.sh +2 -2
  353. package/payload/platform/scripts/__tests__/first-token-creates-stream-log.test.sh +1 -1
  354. package/payload/platform/scripts/__tests__/logs-read-prefix.sh +6 -6
  355. package/payload/platform/scripts/admin-conversation-recover.mjs +5 -5
  356. package/payload/platform/scripts/admin-persist-audit.ts +4 -4
  357. package/payload/platform/scripts/check-no-conversation-id-leaks.mjs +1 -1
  358. package/payload/platform/scripts/check-no-direct-clipboard.mjs +1 -1
  359. package/payload/platform/scripts/check-no-task-id-leaks.mjs +2 -2
  360. package/payload/platform/scripts/check-skill-load-coverage.mjs +1 -1
  361. package/payload/platform/scripts/component-knowledgedoc-backfill.ts +1 -1
  362. package/payload/platform/scripts/dedupe-userprofile-ghosts.sh +2 -2
  363. package/payload/platform/scripts/generate-entitlement-fixture.mjs +1 -1
  364. package/payload/platform/scripts/installer-device-verify.sh +6 -6
  365. package/payload/platform/scripts/lib/resolve-account-dir.sh +6 -6
  366. package/payload/platform/scripts/log-adherence-check.sh +3 -3
  367. package/payload/platform/scripts/logs-read.sh +13 -13
  368. package/payload/platform/scripts/logs-read.test.sh +1 -1
  369. package/payload/platform/scripts/migrate-import.sh +4 -4
  370. package/payload/platform/scripts/redact-install-logs.sh +1 -1
  371. package/payload/platform/scripts/seed-neo4j.sh +26 -32
  372. package/payload/platform/scripts/test-laptop-vnc-boot.sh +3 -3
  373. package/payload/platform/scripts/verify-skill-tool-surface.sh +17 -2
  374. package/payload/platform/scripts/vnc.sh +9 -9
  375. package/payload/platform/services/claude-session-manager/dist/config.d.ts +7 -2
  376. package/payload/platform/services/claude-session-manager/dist/config.d.ts.map +1 -1
  377. package/payload/platform/services/claude-session-manager/dist/config.js +3 -1
  378. package/payload/platform/services/claude-session-manager/dist/config.js.map +1 -1
  379. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +2 -2
  380. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  381. package/payload/platform/services/claude-session-manager/dist/http-server.js +145 -90
  382. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  383. package/payload/platform/services/claude-session-manager/dist/index.js +17 -4
  384. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  385. package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.d.ts +2 -2
  386. package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.d.ts.map +1 -1
  387. package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.js +4 -4
  388. package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.js.map +1 -1
  389. package/payload/platform/services/claude-session-manager/dist/jsonl-observer.d.ts.map +1 -1
  390. package/payload/platform/services/claude-session-manager/dist/jsonl-observer.js +39 -10
  391. package/payload/platform/services/claude-session-manager/dist/jsonl-observer.js.map +1 -1
  392. package/payload/platform/services/claude-session-manager/dist/jsonl-path.js +2 -2
  393. package/payload/platform/services/claude-session-manager/dist/jsonl-path.js.map +1 -1
  394. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +37 -18
  395. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  396. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +176 -49
  397. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  398. package/payload/platform/services/claude-session-manager/dist/public-tool-audit.js +1 -1
  399. package/payload/platform/services/claude-session-manager/dist/public-tool-audit.js.map +1 -1
  400. package/payload/platform/services/claude-session-manager/dist/session-store.d.ts +36 -11
  401. package/payload/platform/services/claude-session-manager/dist/session-store.d.ts.map +1 -1
  402. package/payload/platform/services/claude-session-manager/dist/session-store.js +53 -2
  403. package/payload/platform/services/claude-session-manager/dist/session-store.js.map +1 -1
  404. package/payload/platform/services/claude-session-manager/dist/spawn-rate-limiter.js +2 -2
  405. package/payload/platform/services/claude-session-manager/dist/spawn-rate-limiter.js.map +1 -1
  406. package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts +46 -1
  407. package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts.map +1 -1
  408. package/payload/platform/services/claude-session-manager/dist/system-prompt.js +131 -24
  409. package/payload/platform/services/claude-session-manager/dist/system-prompt.js.map +1 -1
  410. package/payload/platform/services/claude-session-manager/dist/tool-surface.js +1 -1
  411. package/payload/platform/services/claude-session-manager/dist/tool-surface.js.map +1 -1
  412. package/payload/platform/services/claude-session-manager/dist/types.d.ts +8 -1
  413. package/payload/platform/services/claude-session-manager/dist/types.d.ts.map +1 -1
  414. package/payload/platform/services/claude-session-manager/dist/url-capture.js +1 -1
  415. package/payload/platform/services/claude-session-manager/dist/url-capture.js.map +1 -1
  416. package/payload/platform/templates/agents/admin/IDENTITY.md +14 -0
  417. package/payload/platform/templates/agents/admin/SOUL.md +1 -3
  418. package/payload/platform/templates/specialists/agents/personal-assistant.md +1 -3
  419. package/payload/platform/templates/specialists/agents/project-manager.md +1 -1
  420. package/payload/platform/templates/systemd/edge.service.template +3 -3
  421. package/payload/premium-plugins/real-agent/BUNDLE.md +2 -4
  422. package/payload/premium-plugins/real-agent/plugins/.claude-plugin/marketplace.json +0 -5
  423. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js +3 -3
  424. package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js.map +1 -1
  425. package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/lib/neo4j.ts +3 -3
  426. package/payload/server/{chunk-ZGJ6CUU2.js → chunk-3G6JMV7N.js} +1 -1
  427. package/payload/server/{chunk-KVGTWNKQ.js → chunk-NNHHGQJL.js} +314 -5
  428. package/payload/server/{chunk-RZQMYJVY.js → chunk-QC5LHYPH.js} +3 -3
  429. package/payload/server/{cloudflare-task-tracker-4PKOLE4H.js → cloudflare-task-tracker-NEB3X6O2.js} +2 -2
  430. package/payload/server/maxy-edge.js +2 -2
  431. package/payload/server/public/assets/{Checkbox-C6zXApx_.js → Checkbox-8mOR8-gV.js} +1 -1
  432. package/payload/server/public/assets/{admin-Cuu1QdAA.js → admin-CK4V-B9A.js} +24 -24
  433. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-BYXgFii5.js → architectureDiagram-Q4EWVU46-2DgPtOot.js} +1 -1
  434. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-GIQ0eO13.js → blockDiagram-DXYQGD6D-BilycXVZ.js} +1 -1
  435. package/payload/server/public/assets/{brand-DdhkC994.css → brand-1_DraUIv.css} +1 -1
  436. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-BmyWfG-l.js → c4Diagram-AHTNJAMY-CGiIFO5U.js} +1 -1
  437. package/payload/server/public/assets/channel-DYpIZW3Q.js +1 -0
  438. package/payload/server/public/assets/{chunk-336JU56O-DcWl0MQo.js → chunk-336JU56O-DxTg1h50.js} +2 -2
  439. package/payload/server/public/assets/{chunk-426QAEUC-BIW6kq6y.js → chunk-426QAEUC-DkGPjs0P.js} +1 -1
  440. package/payload/server/public/assets/{chunk-4TB4RGXK-CdoHpV4X.js → chunk-4TB4RGXK-D2JaxD6r.js} +1 -1
  441. package/payload/server/public/assets/{chunk-5FUZZQ4R-bn_a4sfU.js → chunk-5FUZZQ4R-Do3pbAGo.js} +1 -1
  442. package/payload/server/public/assets/{chunk-5PVQY5BW-C_Rq8j_M.js → chunk-5PVQY5BW-np5moZSl.js} +1 -1
  443. package/payload/server/public/assets/{chunk-EDXVE4YY-CWQvoVKV.js → chunk-EDXVE4YY-BUFLWwRP.js} +1 -1
  444. package/payload/server/public/assets/{chunk-ENJZ2VHE-DBHn1kSk.js → chunk-ENJZ2VHE-BE7Gt41s.js} +1 -1
  445. package/payload/server/public/assets/{chunk-ICPOFSXX-SW2Qx11O.js → chunk-ICPOFSXX-gOBkROMP.js} +1 -1
  446. package/payload/server/public/assets/{chunk-OYMX7WX6-BvIG7tVW.js → chunk-OYMX7WX6-DR-BkNZa.js} +1 -1
  447. package/payload/server/public/assets/{chunk-U2HBQHQK-BiBUb0cF.js → chunk-U2HBQHQK-qLp-uSVE.js} +1 -1
  448. package/payload/server/public/assets/{chunk-X2U36JSP-Y0MKZCCh.js → chunk-X2U36JSP-DQiKti0J.js} +1 -1
  449. package/payload/server/public/assets/{chunk-YZCP3GAM-DKPh06GH.js → chunk-YZCP3GAM-Cd0JhpTo.js} +1 -1
  450. package/payload/server/public/assets/{chunk-ZZ45TVLE-C2WNo-fK.js → chunk-ZZ45TVLE-8u01H3Hy.js} +1 -1
  451. package/payload/server/public/assets/classDiagram-6PBFFD2Q-nkfy9gg7.js +1 -0
  452. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-B-pMmeCC.js +1 -0
  453. package/payload/server/public/assets/clone-jiTzIER6.js +1 -0
  454. package/payload/server/public/assets/{dagre-CrK8E9ee.js → dagre-BfVsOYOv.js} +1 -1
  455. package/payload/server/public/assets/{dagre-KV5264BT-_o6uXcH8.js → dagre-KV5264BT-BBF_zxbi.js} +1 -1
  456. package/payload/server/public/assets/data-BIOaDoqe.js +1 -0
  457. package/payload/server/public/assets/{device-url-actions-BcHerWqJ.js → device-url-actions-CJBD3ecO.js} +1 -1
  458. package/payload/server/public/assets/{diagram-5BDNPKRD-FFP9DKhc.js → diagram-5BDNPKRD-BFHk2a7t.js} +1 -1
  459. package/payload/server/public/assets/{diagram-G4DWMVQ6-DpwD1jBP.js → diagram-G4DWMVQ6-Be3_qYl2.js} +1 -1
  460. package/payload/server/public/assets/{diagram-MMDJMWI5-C3K5agdK.js → diagram-MMDJMWI5-B3r4XVcu.js} +1 -1
  461. package/payload/server/public/assets/{diagram-TYMM5635-CbeDipbC.js → diagram-TYMM5635-BW5EIT4D.js} +1 -1
  462. package/payload/server/public/assets/{erDiagram-SMLLAGMA-XBIFndNy.js → erDiagram-SMLLAGMA-DTu4_1Kb.js} +1 -1
  463. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-BvEgySyn.js → flowDiagram-DWJPFMVM-CadrjLcA.js} +1 -1
  464. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-D7gIRKJf.js → ganttDiagram-T4ZO3ILL-Cn0npD0L.js} +1 -1
  465. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-vJu_hcri.js → gitGraphDiagram-UUTBAWPF-CK3gG5Qm.js} +1 -1
  466. package/payload/server/public/assets/graph-ClfU7t1k.js +1 -0
  467. package/payload/server/public/assets/graph-labels-CPzF6Gbk.js +1 -0
  468. package/payload/server/public/assets/{graphlib-Dp0mN6JW.js → graphlib-DFIOO59N.js} +1 -1
  469. package/payload/server/public/assets/{infoDiagram-42DDH7IO-g4Dlc5Cr.js → infoDiagram-42DDH7IO-BohUsXnN.js} +1 -1
  470. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-D_45LXOe.js → ishikawaDiagram-UXIWVN3A-tjmA4BU8.js} +1 -1
  471. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-CggbHl6N.js → journeyDiagram-VCZTEJTY-DzBlFESM.js} +1 -1
  472. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-CysAe-Ab.js → kanban-definition-6JOO6SKY-BTw9BxK8.js} +1 -1
  473. package/payload/server/public/assets/{line-BAxq_DSY.js → line-BYPL6wAj.js} +1 -1
  474. package/payload/server/public/assets/{mermaid-parser.core-DbFuvkjL.js → mermaid-parser.core-Dmu4fWCS.js} +1 -1
  475. package/payload/server/public/assets/{mermaid.core-CehvJn5b.js → mermaid.core-Z9vvieC2.js} +3 -3
  476. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-DbPbBJ9h.js → mindmap-definition-QFDTVHPH-BccAnfJ4.js} +1 -1
  477. package/payload/server/public/assets/page-CBTlFm3b.js +1 -0
  478. package/payload/server/public/assets/{page-Co7KCRV8.js → page-CDrsNrDO.js} +1 -1
  479. package/payload/server/public/assets/{pieDiagram-DEJITSTG-cagLL9ng.js → pieDiagram-DEJITSTG-CZwxH1nJ.js} +1 -1
  480. package/payload/server/public/assets/{public-B6TEcDLx.js → public-MKWxjwiF.js} +3 -3
  481. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-Keaa1jDh.js → quadrantDiagram-34T5L4WZ-BWT4DItX.js} +1 -1
  482. package/payload/server/public/assets/{requirementDiagram-MS252O5E-BcYRyn5z.js → requirementDiagram-MS252O5E-CHYkWUEy.js} +1 -1
  483. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6--fKoG9NR.js → sankeyDiagram-XADWPNL6-km7p45Ng.js} +1 -1
  484. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-lKG36-Di.js → sequenceDiagram-FGHM5R23-BT1C0Dw-.js} +1 -1
  485. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-BuVsrlig.js → stateDiagram-FHFEXIEX-hibC19DY.js} +1 -1
  486. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-MuJZxjmU.js +1 -0
  487. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-D6X6uq17.js → timeline-definition-GMOUNBTQ-Cnm86NfE.js} +1 -1
  488. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-BgvcfRVf.js → vennDiagram-DHZGUBPP-ByjQPLzS.js} +1 -1
  489. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-Cpd1xsrt.js → wardleyDiagram-NUSXRM2D-CMVrWw7l.js} +1 -1
  490. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CDF5ZVFv.js → xychartDiagram-5P7HB3ND-Mpc1u3FV.js} +1 -1
  491. package/payload/server/public/data.html +5 -5
  492. package/payload/server/public/graph.html +6 -6
  493. package/payload/server/public/index.html +8 -8
  494. package/payload/server/public/public.html +5 -5
  495. package/payload/server/server.js +288 -412
  496. package/payload/docs/desktop-code-controls.md +0 -63
  497. package/payload/platform/plugins/anthropic/.claude-plugin/plugin.json +0 -8
  498. package/payload/platform/plugins/anthropic/PLUGIN.md +0 -40
  499. package/payload/platform/plugins/anthropic/references/console-api.md +0 -186
  500. package/payload/platform/plugins/anthropic/references/setup-guide.md +0 -36
  501. package/payload/platform/plugins/anthropic/skills/get-api-key/SKILL.md +0 -136
  502. package/payload/platform/plugins/estate-onboarding/.claude-plugin/plugin.json +0 -8
  503. package/payload/platform/plugins/estate-onboarding/PLUGIN.md +0 -30
  504. package/payload/platform/plugins/estate-onboarding/skills/bootstrap/SKILL.md +0 -26
  505. package/payload/platform/plugins/estate-onboarding/skills/bootstrap/references/onboarding-flow.md +0 -63
  506. package/payload/premium-plugins/real-agent/plugins/estate-onboarding/.claude-plugin/plugin.json +0 -8
  507. package/payload/premium-plugins/real-agent/plugins/estate-onboarding/PLUGIN.md +0 -30
  508. package/payload/premium-plugins/real-agent/plugins/estate-onboarding/skills/bootstrap/SKILL.md +0 -26
  509. package/payload/premium-plugins/real-agent/plugins/estate-onboarding/skills/bootstrap/references/onboarding-flow.md +0 -63
  510. package/payload/server/public/assets/channel-C76knBRO.js +0 -1
  511. package/payload/server/public/assets/classDiagram-6PBFFD2Q-Bohexn7P.js +0 -1
  512. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DVsmsAu7.js +0 -1
  513. package/payload/server/public/assets/clone-DUrXF4sO.js +0 -1
  514. package/payload/server/public/assets/data-j1WNhF8t.js +0 -1
  515. package/payload/server/public/assets/graph-C_f_9L_7.js +0 -1
  516. package/payload/server/public/assets/graph-labels-BSQJHlgf.js +0 -1
  517. package/payload/server/public/assets/page-B0BPrSE3.js +0 -1
  518. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DSt88_xL.js +0 -1
  519. /package/payload/server/public/assets/{brand-B-bNrpwc.js → brand-CENN2zdq.js} +0 -0
@@ -229,7 +229,7 @@ async function persistMessage(conversationId, role, content, accountId, tokens,
229
229
  OPTIONAL MATCH (tail:Message)-[:PART_OF]->(c)
230
230
  WHERE NOT (tail)-[:NEXT]->(:Message)
231
231
  AND (tail:UserMessage OR tail:AssistantMessage)
232
- // Task 857 \u2014 sublabel-scope the tail to the agent-path's own sublabels.
232
+ // sublabel-scope the tail to the agent-path's own sublabels.
233
233
  // Without this, a Task-857 :WhatsAppMessage row (no outgoing :NEXT)
234
234
  // would be picked as tail and the agent-path would chain
235
235
  // :WhatsAppMessage\u2192:UserMessage, crossing the live-channel chain.
@@ -277,7 +277,7 @@ async function persistMessage(conversationId, role, content, accountId, tokens,
277
277
  textOffset: comp.textOffset,
278
278
  submitted: false,
279
279
  createdAt: datetime(),
280
- // Task 942 \u2014 store the artefact attachmentId on the :Component
280
+ // store the artefact attachmentId on the:Component
281
281
  // itself when this is a PERSISTENT_COMPONENTS write whose disk
282
282
  // write succeeded. Field is null for non-persistent / mime-skip
283
283
  // / disk-fail components. Lets the audit + backfill scripts
@@ -288,7 +288,7 @@ async function persistMessage(conversationId, role, content, accountId, tokens,
288
288
  attachmentId: comp.artefactAttachmentId
289
289
  })
290
290
  )
291
- // Task 942 \u2014 for PERSISTENT_COMPONENTS whose disk write succeeded
291
+ // for PERSISTENT_COMPONENTS whose disk write succeeded
292
292
  // (artefactAttachmentId is non-null), MERGE the sibling
293
293
  // :KnowledgeDocument projection AND a :HAS_KNOWLEDGE_DOCUMENT edge
294
294
  // from the parent :Message in the same Cypher tx. ON CREATE stamps
@@ -346,13 +346,13 @@ async function persistMessage(conversationId, role, content, accountId, tokens,
346
346
  data: comp.data,
347
347
  ordinal: neo4j.int(comp.ordinal),
348
348
  textOffset: neo4j.int(comp.textOffset),
349
- // Task 942 — null for non-persistent / mime-skip / disk-fail
349
+ // null for non-persistent / mime-skip / disk-fail
350
350
  // components; the FOREACH stamps this directly onto the
351
351
  // :Component row so audit + backfill read attachmentId without
352
352
  // re-deriving from componentId.
353
353
  artefactAttachmentId: comp.artefactAttachmentId ?? null
354
354
  })),
355
- // Task 942 — :KnowledgeDocument MERGE list. One row per
355
+ //:KnowledgeDocument MERGE list. One row per
356
356
  // PERSISTENT_COMPONENTS component whose disk write succeeded;
357
357
  // text-only / mime-skip / disk-fail components are absent so
358
358
  // the FOREACH no-ops on them. attachmentId here matches the
@@ -860,6 +860,10 @@ async function renameConversation(conversationId, label) {
860
860
  await session.close();
861
861
  }
862
862
  }
863
+ var DECAY_THRESHOLD_DAYS = 14;
864
+ var DECAY_RATE_PER_DAY = 0.05;
865
+ var INJECTION_THRESHOLD = 0.4;
866
+ var MAX_SUMMARY_PREFERENCES = 30;
863
867
  async function getUserTimezone(accountId, userId) {
864
868
  const session = getSession();
865
869
  try {
@@ -968,6 +972,14 @@ async function writeAdminUserAndPerson(params) {
968
972
  await session.close();
969
973
  }
970
974
  }
975
+ var PROFILE_CATEGORIES = [
976
+ "communication",
977
+ "scheduling",
978
+ "decision",
979
+ "workflow",
980
+ "content",
981
+ "interaction"
982
+ ];
971
983
  var PROFILE_FIELD_TEMPLATES = {
972
984
  communication: [
973
985
  "preferredChannel",
@@ -1014,6 +1026,302 @@ var TOTAL_PROFILE_FIELDS = Object.values(PROFILE_FIELD_TEMPLATES).reduce(
1014
1026
  (n, fs) => n + fs.length,
1015
1027
  0
1016
1028
  );
1029
+ function computeAbsentFields(preferences, extraTemplates = {}) {
1030
+ const covered = /* @__PURE__ */ new Set();
1031
+ for (const pref of preferences) {
1032
+ const isCovered = pref.notApplicable === true || pref.confidence >= INJECTION_THRESHOLD;
1033
+ if (isCovered) covered.add(`${pref.category}.${pref.key}`);
1034
+ }
1035
+ const absent = [];
1036
+ for (const [category, fields] of Object.entries(PROFILE_FIELD_TEMPLATES)) {
1037
+ for (const field of fields) {
1038
+ const dotted = `${category}.${field}`;
1039
+ if (!covered.has(dotted)) absent.push(dotted);
1040
+ }
1041
+ }
1042
+ for (const [category, fields] of Object.entries(extraTemplates)) {
1043
+ if (category in PROFILE_FIELD_TEMPLATES) continue;
1044
+ for (const field of fields) {
1045
+ const dotted = `${category}.${field}`;
1046
+ if (!covered.has(dotted)) absent.push(dotted);
1047
+ }
1048
+ }
1049
+ return absent;
1050
+ }
1051
+ function parsePluginProfileKeys(manifest) {
1052
+ const fm = manifest.match(/^---\n([\s\S]*?)\n---/);
1053
+ if (!fm) return [];
1054
+ const out = [];
1055
+ let inBlock = false;
1056
+ for (const line of fm[1].split("\n")) {
1057
+ if (/^profileKeys:/.test(line)) {
1058
+ inBlock = true;
1059
+ continue;
1060
+ }
1061
+ if (inBlock) {
1062
+ const m = line.match(/^\s+-\s+(.+?)\s*$/);
1063
+ if (m) out.push(m[1]);
1064
+ else break;
1065
+ }
1066
+ }
1067
+ return out;
1068
+ }
1069
+ function loadEnabledPluginProfileKeys(accountId) {
1070
+ const accountFile = resolve(PLATFORM_ROOT, "..", "data/accounts", accountId, "account.json");
1071
+ if (!existsSync(accountFile)) return {};
1072
+ let enabled;
1073
+ try {
1074
+ const raw = readFileSync(accountFile, "utf-8");
1075
+ const parsed = JSON.parse(raw);
1076
+ enabled = Array.isArray(parsed.enabledPlugins) ? parsed.enabledPlugins.filter((p) => typeof p === "string") : [];
1077
+ } catch (err) {
1078
+ console.error(
1079
+ `[profile-keys] account.json read failed for ${accountId.slice(0, 8)}\u2026: ${err instanceof Error ? err.message : String(err)}`
1080
+ );
1081
+ return {};
1082
+ }
1083
+ const merged = {};
1084
+ for (const pluginName of enabled) {
1085
+ const manifestPath = resolve(PLATFORM_ROOT, "plugins", pluginName, "PLUGIN.md");
1086
+ if (!existsSync(manifestPath)) continue;
1087
+ let manifest;
1088
+ try {
1089
+ manifest = readFileSync(manifestPath, "utf-8");
1090
+ } catch {
1091
+ continue;
1092
+ }
1093
+ for (const dotted of parsePluginProfileKeys(manifest)) {
1094
+ const dot = dotted.indexOf(".");
1095
+ if (dot <= 0 || dot === dotted.length - 1) {
1096
+ console.error(`[profile-keys] malformed dotted key in ${pluginName}: ${dotted}`);
1097
+ continue;
1098
+ }
1099
+ const category = dotted.slice(0, dot);
1100
+ const key = dotted.slice(dot + 1);
1101
+ if (!merged[category]) merged[category] = /* @__PURE__ */ new Set();
1102
+ merged[category].add(key);
1103
+ }
1104
+ }
1105
+ const out = {};
1106
+ for (const [cat, set] of Object.entries(merged)) out[cat] = [...set];
1107
+ return out;
1108
+ }
1109
+ var sparseStateLogged = /* @__PURE__ */ new Set();
1110
+ async function loadUserProfile(accountId, userId, conversationId) {
1111
+ console.error(
1112
+ `[profile] loadUserProfile entry accountId=${accountId.slice(0, 8)}\u2026 userId=${userId} conversationId=${conversationId ? `${conversationId.slice(0, 8)}\u2026` : "<none>"}`
1113
+ );
1114
+ const session = getSession();
1115
+ try {
1116
+ const serverTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
1117
+ const mergeResult = await session.run(
1118
+ `MATCH (au:AdminUser {userId: $userId})
1119
+ MERGE (au)-[:HAS_PROFILE]->(up:UserProfile {accountId: $accountId, userId: $userId})
1120
+ ON CREATE SET
1121
+ up.createdAt = $now,
1122
+ up.updatedAt = $now,
1123
+ up.profileVersion = 0,
1124
+ up.scope = 'admin',
1125
+ up.timezone = $serverTimezone
1126
+ ON MATCH SET
1127
+ up.timezone = CASE WHEN up.timezone IS NULL OR trim(up.timezone) = '' THEN $serverTimezone ELSE up.timezone END
1128
+ RETURN up.createdAt = $now AS isNew`,
1129
+ { accountId, userId, now: (/* @__PURE__ */ new Date()).toISOString(), serverTimezone }
1130
+ );
1131
+ if (mergeResult.records.length === 0) {
1132
+ console.error(`[profile] loadUserProfile: AdminUser not found for userId=${userId} accountId=${accountId.slice(0, 8)}\u2026 \u2014 profile not created, invariant violated`);
1133
+ return null;
1134
+ }
1135
+ const isNew = mergeResult.records[0].get("isNew");
1136
+ if (isNew) {
1137
+ console.error(`[profile] created new profile: userId=${userId} accountId=${accountId.slice(0, 8)}\u2026 timezone=${serverTimezone}`);
1138
+ }
1139
+ const nowMs = Date.now();
1140
+ const thresholdMs = DECAY_THRESHOLD_DAYS * 24 * 60 * 60 * 1e3;
1141
+ const staleResult = await session.run(
1142
+ `MATCH (up:UserProfile {accountId: $accountId, userId: $userId})-[:HAS_PREFERENCE]->(pref:Preference)
1143
+ WHERE pref.observedAt IS NOT NULL
1144
+ RETURN pref.preferenceId AS preferenceId,
1145
+ pref.observedAt AS observedAt,
1146
+ pref.confidence AS confidence`,
1147
+ { accountId, userId }
1148
+ );
1149
+ let decayCount = 0;
1150
+ for (const record of staleResult.records) {
1151
+ const observedAt = record.get("observedAt");
1152
+ const confidence = record.get("confidence");
1153
+ const observedMs = new Date(observedAt).getTime();
1154
+ const ageMs = nowMs - observedMs;
1155
+ if (ageMs > thresholdMs && confidence > 0) {
1156
+ const daysPastThreshold = (ageMs - thresholdMs) / (24 * 60 * 60 * 1e3);
1157
+ const decayedConfidence = Math.max(0, confidence - DECAY_RATE_PER_DAY * daysPastThreshold);
1158
+ if (decayedConfidence !== confidence) {
1159
+ await session.run(
1160
+ `MATCH (pref:Preference {preferenceId: $preferenceId, accountId: $accountId})
1161
+ SET pref.confidence = $confidence`,
1162
+ {
1163
+ preferenceId: record.get("preferenceId"),
1164
+ accountId,
1165
+ confidence: decayedConfidence
1166
+ }
1167
+ );
1168
+ decayCount++;
1169
+ }
1170
+ }
1171
+ }
1172
+ const result = await session.run(
1173
+ `MATCH (up:UserProfile {accountId: $accountId, userId: $userId})
1174
+ OPTIONAL MATCH (au:AdminUser {userId: $userId})-[:OWNS]->(p:Person {accountId: $accountId})
1175
+ OPTIONAL MATCH (up)-[:HAS_PREFERENCE]->(pref:Preference)
1176
+ WHERE pref.confidence >= $threshold OR pref.notApplicable = true
1177
+ WITH up, p, pref
1178
+ ORDER BY pref.confidence DESC
1179
+ WITH up, p, collect(pref) AS allPrefs
1180
+ WITH up, p, allPrefs[0..$limit] AS prefs
1181
+ RETURN up, p AS person, prefs`,
1182
+ { accountId, userId, threshold: INJECTION_THRESHOLD, limit: MAX_SUMMARY_PREFERENCES }
1183
+ );
1184
+ if (result.records.length === 0 || !result.records[0].get("up")) {
1185
+ return null;
1186
+ }
1187
+ const upNode = result.records[0].get("up");
1188
+ const profileProps = { ...upNode.properties };
1189
+ const personNode = result.records[0].get("person");
1190
+ if (personNode?.properties) {
1191
+ if (personNode.properties.givenName !== void 0) profileProps.givenName = personNode.properties.givenName;
1192
+ if (personNode.properties.familyName !== void 0) profileProps.familyName = personNode.properties.familyName;
1193
+ if (personNode.properties.email !== void 0) profileProps.email = personNode.properties.email;
1194
+ if (personNode.properties.telephone !== void 0) profileProps.telephone = personNode.properties.telephone;
1195
+ }
1196
+ const prefNodes = result.records[0].get("prefs");
1197
+ const preferences = prefNodes.map((p) => ({
1198
+ preferenceId: p.properties.preferenceId,
1199
+ category: p.properties.category,
1200
+ key: p.properties.key,
1201
+ value: p.properties.value,
1202
+ confidence: p.properties.confidence,
1203
+ source: p.properties.source,
1204
+ observedAt: p.properties.observedAt,
1205
+ notApplicable: p.properties.notApplicable === true
1206
+ }));
1207
+ const extraTemplates = loadEnabledPluginProfileKeys(accountId);
1208
+ const extraFieldCount = Object.values(extraTemplates).reduce((n, fs) => n + fs.length, 0);
1209
+ const summary = formatProfileSummary(profileProps, preferences, extraTemplates);
1210
+ const absentFields = computeAbsentFields(preferences, extraTemplates);
1211
+ const totalFields = TOTAL_PROFILE_FIELDS + extraFieldCount;
1212
+ const fieldCoverageCount = totalFields - absentFields.length;
1213
+ const presentCategories = new Set(
1214
+ preferences.filter((p) => p.notApplicable === true || p.confidence >= INJECTION_THRESHOLD).map((p) => p.category)
1215
+ );
1216
+ const absentCategories = PROFILE_CATEGORIES.filter((c) => !presentCategories.has(c));
1217
+ const categoryCoverage = PROFILE_CATEGORIES.length - absentCategories.length;
1218
+ console.error(
1219
+ `[profile] loaded for userId=${userId} accountId=${accountId.slice(0, 8)}\u2026 preferences=${preferences.length} fieldCoverage=${fieldCoverageCount}/${totalFields} categoryCoverage=${categoryCoverage}/${PROFILE_CATEGORIES.length} (decay: ${decayCount} updated)`
1220
+ );
1221
+ const identityKeys = [
1222
+ { prop: "email", token: "email" },
1223
+ // Schema-canonical name. `phone` is the synonym (rejected at tool
1224
+ // surface); the log uses `telephone` to keep grep aligned with
1225
+ // schema-base.md doctrine the brief enforces.
1226
+ { prop: "telephone", token: "telephone" },
1227
+ { prop: "givenName", token: "givenName" },
1228
+ { prop: "familyName", token: "familyName" },
1229
+ { prop: "role", token: "role" }
1230
+ ];
1231
+ const absentIdentity = identityKeys.filter((k) => {
1232
+ const v = profileProps[k.prop];
1233
+ return typeof v !== "string" || v.trim().length === 0;
1234
+ });
1235
+ const sparseFired = absentCategories.length > 0 || absentFields.length > 0 || absentIdentity.length > 0;
1236
+ if (conversationId && sparseFired) {
1237
+ const dedupeKey = `${accountId}:${userId}:${conversationId}`;
1238
+ if (!sparseStateLogged.has(dedupeKey)) {
1239
+ sparseStateLogged.add(dedupeKey);
1240
+ const FIELDS_LOG_CAP = 10;
1241
+ const absentFieldsTruncated = absentFields.length <= FIELDS_LOG_CAP ? absentFields.join(",") : `${absentFields.slice(0, FIELDS_LOG_CAP).join(",")}+${absentFields.length - FIELDS_LOG_CAP} more`;
1242
+ console.error(
1243
+ `[profile] sparse-state injected accountId=${accountId.slice(0, 8)}\u2026 userId=${userId} conversationId=${conversationId.slice(0, 8)}\u2026 absentCategories=${absentCategories.join(",")} absentFields=${absentFieldsTruncated || "none"} absentIdentity=${absentIdentity.map((k) => k.token).join(",") || "none"}`
1244
+ );
1245
+ }
1246
+ }
1247
+ return summary;
1248
+ } catch (err) {
1249
+ console.error(`[profile] loadUserProfile failed: ${err instanceof Error ? err.message : String(err)}`);
1250
+ return null;
1251
+ } finally {
1252
+ await session.close();
1253
+ }
1254
+ }
1255
+ function formatProfileSummary(profile, preferences, extraTemplates = {}) {
1256
+ const givenName = typeof profile.givenName === "string" ? profile.givenName.trim() : "";
1257
+ const familyName = typeof profile.familyName === "string" ? profile.familyName.trim() : "";
1258
+ const joined = familyName ? `${givenName} ${familyName}` : givenName;
1259
+ const name = joined || "Owner";
1260
+ const role = profile.role ? ` (${profile.role})` : "";
1261
+ const tz = profile.timezone ? ` \u2014 ${profile.timezone}` : "";
1262
+ const locale = profile.locale ? `, ${profile.locale}` : "";
1263
+ const expertise = profile.expertise ? `
1264
+ Expertise: ${typeof profile.expertise === "string" ? profile.expertise : JSON.stringify(profile.expertise)}` : "";
1265
+ const lines = [`## About the Owner
1266
+ `];
1267
+ lines.push(`${name}${role}${tz}${locale}${expertise}
1268
+ `);
1269
+ const categories = {};
1270
+ for (const pref of preferences) {
1271
+ if (pref.notApplicable === true) continue;
1272
+ if (!categories[pref.category]) categories[pref.category] = [];
1273
+ categories[pref.category].push(pref);
1274
+ }
1275
+ const categoryLabels = {
1276
+ communication: "Communication",
1277
+ scheduling: "Scheduling",
1278
+ decision: "Decisions",
1279
+ workflow: "Workflow",
1280
+ content: "Content",
1281
+ interaction: "Interaction patterns"
1282
+ };
1283
+ const workCategories = ["communication", "scheduling", "decision", "workflow", "content"];
1284
+ const workPrefs = workCategories.filter((c) => categories[c]);
1285
+ if (workPrefs.length > 0) {
1286
+ lines.push(`### How they work`);
1287
+ for (const cat of workPrefs) {
1288
+ const label = categoryLabels[cat] || cat;
1289
+ const items = categories[cat].map((p) => p.value).join("; ");
1290
+ lines.push(`- ${label}: ${items}`);
1291
+ }
1292
+ lines.push("");
1293
+ }
1294
+ if (categories.interaction) {
1295
+ lines.push(`### Interaction patterns`);
1296
+ for (const pref of categories.interaction) {
1297
+ lines.push(`- ${pref.value}`);
1298
+ }
1299
+ lines.push("");
1300
+ }
1301
+ const identityFields = [
1302
+ { key: "email", label: "email" },
1303
+ { key: "telephone", label: "phone" },
1304
+ { key: "givenName", label: "first name" },
1305
+ { key: "familyName", label: "last name" },
1306
+ { key: "role", label: "role" }
1307
+ ];
1308
+ const absentIdentity = identityFields.filter((f) => {
1309
+ const v = profile[f.key];
1310
+ return typeof v !== "string" || v.trim().length === 0;
1311
+ });
1312
+ if (absentIdentity.length > 0) {
1313
+ lines.push(`### Identity coverage`);
1314
+ lines.push(`Missing: ${absentIdentity.map((f) => f.label).join(", ")}`);
1315
+ lines.push("");
1316
+ }
1317
+ const absentFields = computeAbsentFields(preferences, extraTemplates);
1318
+ if (absentFields.length > 0) {
1319
+ lines.push(`### Coverage`);
1320
+ lines.push(`Missing: ${absentFields.join(", ")}`);
1321
+ lines.push("");
1322
+ }
1323
+ return lines.join("\n");
1324
+ }
1017
1325
  var RECENT_FAILURES_TAIL_BYTES = 10 * 1024;
1018
1326
  var AGENT_FILE_ROLES = [
1019
1327
  { filename: "IDENTITY.md", role: "identity" },
@@ -1205,6 +1513,7 @@ export {
1205
1513
  getUserTimezone,
1206
1514
  loadAdminUserName,
1207
1515
  writeAdminUserAndPerson,
1516
+ loadUserProfile,
1208
1517
  projectAgent,
1209
1518
  deleteAgentProjection
1210
1519
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getSession
3
- } from "./chunk-KVGTWNKQ.js";
3
+ } from "./chunk-NNHHGQJL.js";
4
4
  import {
5
5
  __commonJS,
6
6
  __toESM
@@ -219,7 +219,7 @@ var require_dist = __commonJS({
219
219
  const actionToolField = reviewDigestActionTool ? "review-digest-compose" : "n/a";
220
220
  process.stderr.write(`[graph-write] reject reason=removed-feature labels=${labelCsv} actionTool=${actionToolField} agent=${agentLabel}
221
221
  `);
222
- throw new Error("Write doctrine violated: review-detector feature removed (Task 884) \u2014 `:ReviewAlert` and `:Event {actionTool:'review-digest-compose'}` writes are not allowed.");
222
+ throw new Error("Write doctrine violated: review-detector feature removed \u2014 `:ReviewAlert` and `:Event {actionTool:'review-digest-compose'}` writes are not allowed.");
223
223
  }
224
224
  if (!relationships || relationships.length < 1) {
225
225
  process.stderr.write(`[graph-write] reject reason=zero-relationships labels=${labelCsv} agent=${agentLabel}
@@ -468,7 +468,7 @@ async function completeCloudflareTask(params) {
468
468
  const now = (/* @__PURE__ */ new Date()).toISOString();
469
469
  if (status === "failed" && (!errorMessage || errorMessage.trim().length === 0)) {
470
470
  throw new Error(
471
- "cloudflare-task-tracker: errorMessage is required when status='failed' (Task 885 process-provenance contract)."
471
+ "cloudflare-task-tracker: errorMessage is required when status='failed' (process-provenance contract)."
472
472
  );
473
473
  }
474
474
  const session = getSession();
@@ -7,8 +7,8 @@ import {
7
7
  readTunnelState,
8
8
  recoverRunningCloudflareTasks,
9
9
  resolveUnitGoneVerdict
10
- } from "./chunk-RZQMYJVY.js";
11
- import "./chunk-KVGTWNKQ.js";
10
+ } from "./chunk-QC5LHYPH.js";
11
+ import "./chunk-NNHHGQJL.js";
12
12
  import "./chunk-JSBRDJBE.js";
13
13
  export {
14
14
  CLOUDFLARE_TASK_DIAGNOSTICS,
@@ -18,8 +18,8 @@ import {
18
18
  streamActionEvents,
19
19
  vncLog,
20
20
  websockifyLog
21
- } from "./chunk-ZGJ6CUU2.js";
22
- import "./chunk-KVGTWNKQ.js";
21
+ } from "./chunk-3G6JMV7N.js";
22
+ import "./chunk-NNHHGQJL.js";
23
23
  import "./chunk-JSBRDJBE.js";
24
24
 
25
25
  // server/edge.ts
@@ -1 +1 @@
1
- import{a as e}from"./brand-B-bNrpwc.js";var t=e();function n({checked:e,onChange:n,label:r,disabled:i}){return(0,t.jsxs)(`label`,{className:`maxy-checkbox${i?` maxy-checkbox--disabled`:``}`,children:[(0,t.jsx)(`input`,{type:`checkbox`,checked:e,onChange:e=>n(e.target.checked),disabled:i}),(0,t.jsx)(`span`,{className:`maxy-checkbox__box`,children:`✱`}),r&&(0,t.jsx)(`span`,{className:`maxy-checkbox__label`,children:r})]})}export{n as t};
1
+ import{a as e}from"./brand-CENN2zdq.js";var t=e();function n({checked:e,onChange:n,label:r,disabled:i}){return(0,t.jsxs)(`label`,{className:`maxy-checkbox${i?` maxy-checkbox--disabled`:``}`,children:[(0,t.jsx)(`input`,{type:`checkbox`,checked:e,onChange:e=>n(e.target.checked),disabled:i}),(0,t.jsx)(`span`,{className:`maxy-checkbox__box`,children:`✱`}),r&&(0,t.jsx)(`span`,{className:`maxy-checkbox__label`,children:r})]})}export{n as t};