@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
@@ -1,24 +1,73 @@
1
1
  // Spawn a `claude --verbose` PTY child, capture the /remote-control URL,
2
- // register the session in the store, and let the PTY stream flow without
3
- // persisting it. Claude's per-session JSONL transcript at
4
- // ~/.claude/projects/<project>/<claude-session-id>.jsonl is the canonical
5
- // forensic record; duplicating the PTY bytes into a .pty file is redundant
6
- // per the PRD.
2
+ // wait for Claude Code's intrinsic JSONL to appear on disk, and register
3
+ // the session keyed on the intrinsic `claudeSessionId` (the JSONL
4
+ // basename). The PTY stream flows without persisting — Claude's JSONL
5
+ // transcript at ~/.claude/projects/<project>/<id>.jsonl is the canonical
6
+ // forensic record.
7
7
  //
8
- // On failure (spawn ENOENT, generic spawn error, url-capture-timeout) the
9
- // child is killed (if alive) before the error surfaces to the caller. The
10
- // `[claude-session-manager] spawn-failed` line names the reason.
11
- import { randomUUID } from 'node:crypto';
8
+ // the manager mints zero session ids of its own. The intrinsic
9
+ // claude session id (the JSONL basename Claude Code writes on disk) is
10
+ // the one identifier per Claude process for its entire lifetime, observed
11
+ // from disk, never derived from any other signal. Spawn responses
12
+ // block on observation (default 5 s timeout); on timeout the spawn
13
+ // returns 504 and the PTY is killed. The bridge-binding race is closed
14
+ // inside this file: the PTY is registered in `store.addPending` while
15
+ // the URL is captured; the entry promotes into the main store on
16
+ // observation, or is removed on timeout or PTY exit before observe.
17
+ //
18
+ // On failure (spawn ENOENT, generic spawn error, url-capture-timeout,
19
+ // bridge-suffix-unparseable, observe-timeout, pty-exited-before-observe)
20
+ // the child is killed (if alive) before the error surfaces to the caller.
21
+ // The `[claude-session-manager] spawn-failed reason=<…>` log line names
22
+ // the reason.
12
23
  import { mkdirSync } from 'node:fs';
13
24
  import { startUrlCapture } from './url-capture.js';
14
25
  import { bridgeSuffixFromUrl } from './jsonl-path.js';
15
- import { composeAppendSystemPrompt } from './system-prompt.js';
26
+ // CSI (Cursor / Style) escape sequence: ESC `[` <args> <final-letter>.
27
+ // Stripped from the PTY tail so failure logs are readable instead of an
28
+ // alphabet soup of `\x1b[1C`, `\x1b[38;5;246m`, etc.
29
+ const PTY_TAIL_CSI = /\x1b\[[0-9;?]*[A-Za-z]/g;
30
+ // 4 KiB rolling buffer is enough to show the welcome banner, the
31
+ // `/remote-control is active …` line, and any prompt or error message
32
+ // claude prints in the seconds between spawn and JSONL observation.
33
+ const PTY_TAIL_BYTES = 4 * 1024;
34
+ // Capped slice emitted into log lines (server.log) so a single failure
35
+ // line never balloons past ~2 KiB. The full tail still goes onto the wire
36
+ // (SpawnResult.stderrTail) so the UI can surface it.
37
+ const PTY_TAIL_LOG_BYTES = 1024;
38
+ /** Attach a bounded ring buffer to the PTY's stdout so every spawn-failure
39
+ * exit path has the raw text claude printed instead of an empty stderr-tail.
40
+ * Returns a `getTail()` accessor and an idempotent `dispose()` that
41
+ * detaches the data listener (the captured bytes remain readable). */
42
+ function attachPtyTail(pty) {
43
+ let buf = '';
44
+ let sub = pty.onData((data) => {
45
+ buf += data.replace(PTY_TAIL_CSI, '');
46
+ if (buf.length > PTY_TAIL_BYTES)
47
+ buf = buf.slice(buf.length - PTY_TAIL_BYTES);
48
+ });
49
+ return {
50
+ getTail: () => buf,
51
+ dispose: () => {
52
+ if (sub) {
53
+ sub.dispose();
54
+ sub = null;
55
+ }
56
+ },
57
+ };
58
+ }
59
+ /** Shape the rolling buffer into the field rendered in failure log lines:
60
+ * cap at `PTY_TAIL_LOG_BYTES`, JSON-escape control chars, surround in quotes. */
61
+ function formatTailForLog(tail) {
62
+ const trimmed = tail.length > PTY_TAIL_LOG_BYTES ? tail.slice(-PTY_TAIL_LOG_BYTES) : tail;
63
+ return JSON.stringify(trimmed);
64
+ }
65
+ import { composeAppendSystemPrompt, } from './system-prompt.js';
16
66
  export const PERMISSION_MODES = ['default', 'acceptEdits', 'plan', 'auto'];
17
67
  export async function spawnClaudeSession(deps, args) {
18
- const sessionId = randomUUID();
19
68
  const startedAt = new Date().toISOString();
20
69
  const start = Date.now();
21
- const composed = composeAppendSystemPrompt(deps.host, { accountDir: deps.accountDir, role: args.role });
70
+ const composed = composeAppendSystemPrompt(deps.host, { accountDir: deps.accountDir, role: args.role }, { aboutOwner: args.aboutOwner, dormantPlugins: args.dormantPlugins });
22
71
  if (!composed.ok) {
23
72
  if (composed.reason === 'host-unresolved') {
24
73
  const stderrTail = deps.host.lanIPv4Diagnostic ?? 'append-system-prompt unresolved';
@@ -35,6 +84,12 @@ export async function spawnClaudeSession(deps, args) {
35
84
  return { ok: false, reason: 'identity-unresolved', stderrTail: composed.detail };
36
85
  }
37
86
  const appendSystemPrompt = composed.block;
87
+ // log the compose result on the success path too — without this line
88
+ // the operator only sees the [pty-spawn] log AFTER observation success,
89
+ // so spawn-failed sessions had no recorded byte-count breakdown of the
90
+ // system prompt that was actually injected. Same fields as the existing
91
+ // [pty-spawn] log line so an operator can grep either entry point.
92
+ deps.logger(`compose-system-prompt-ok role=${args.role} accountDir=${deps.accountDir} appendSystemPromptBytes=${Buffer.byteLength(appendSystemPrompt, 'utf8')} identityBytes=${composed.identityBytes} soulBytes=${composed.soulBytes} aboutOwnerBytes=${composed.aboutOwnerBytes} dormantPluginsBytes=${composed.dormantPluginsBytes}`);
38
93
  const argv = [
39
94
  '--verbose',
40
95
  '--remote-control',
@@ -49,7 +104,7 @@ export async function spawnClaudeSession(deps, args) {
49
104
  argv.push('--channels', ch);
50
105
  }
51
106
  }
52
- // Task 005 — per-role tool-allowlist argv. The set is precomputed at boot
107
+ // per-role tool-allowlist argv. The set is precomputed at boot
53
108
  // and never inferred per call; this loop just renders it. Sorted output
54
109
  // gives byte-stable argv for snapshot tests and grep-friendly log lines.
55
110
  const allowedSet = args.role === 'public' ? deps.toolSurface.public : deps.toolSurface.admin;
@@ -68,7 +123,7 @@ export async function spawnClaudeSession(deps, args) {
68
123
  if (args.permissionMode && args.permissionMode !== 'default') {
69
124
  argv.push('--permission-mode', args.permissionMode);
70
125
  }
71
- // Task 051 — public-chat attachment passthrough. Pre-create the per-session
126
+ // public-chat attachment passthrough. Pre-create the per-session
72
127
  // upload dir (so --add-dir does not fail on a missing path), then grant
73
128
  // claude scoped Read access to it. The Read allow-rule mirrors the dir, so
74
129
  // a `Read("/etc/passwd")` call from the PTY is refused by claude's
@@ -78,6 +133,14 @@ export async function spawnClaudeSession(deps, args) {
78
133
  argv.push('--add-dir', args.attachmentDir);
79
134
  argv.push('--allowed-tools', `Read(${args.attachmentDir}/**)`);
80
135
  }
136
+ // log every PTY spawn invocation with the argv shape so an
137
+ // operator who sees a `spawn-failed reason=pty-spawn-failed` or a
138
+ // missing url-capture line can verify which binary was invoked, how
139
+ // many flags it received, and how big the --append-system-prompt
140
+ // value was. The argv array itself is too large to log (the 150 +
141
+ // --allowed-tools entries balloon the line); shape-only is enough.
142
+ deps.logger(`pty-spawn-start claudeBin=${deps.claudeBin} argv-count=${argv.length} append-system-prompt-bytes=${Buffer.byteLength(appendSystemPrompt, 'utf8')} permission-mode=${args.permissionMode ?? 'default'} resume=${args.resumeClaudeSessionId ? 'yes' : 'no'}`);
143
+ const ptySpawnStart = Date.now();
81
144
  let pty;
82
145
  try {
83
146
  pty = deps.spawnPty(deps.claudeBin, argv, {
@@ -89,63 +152,127 @@ export async function spawnClaudeSession(deps, args) {
89
152
  const e = err;
90
153
  const reason = e.code === 'ENOENT' ? 'which-claude-not-found' : 'pty-spawn-failed';
91
154
  const stderrTail = e.message?.slice(-200) ?? '';
92
- deps.logger(`spawn-failed reason=${reason} stderr-tail=${JSON.stringify(stderrTail)}`);
155
+ deps.logger(`spawn-failed reason=${reason} stderr-tail=${JSON.stringify(stderrTail)} pty-spawn-ms=${Date.now() - ptySpawnStart}`);
93
156
  return { ok: false, reason, stderrTail };
94
157
  }
158
+ deps.logger(`pty-spawned pid=${pty.pid} ms=${Date.now() - ptySpawnStart}`);
159
+ // PTY stdout ring buffer: attach BEFORE url-capture so the tail covers
160
+ // the welcome banner and any bytes claude prints before the URL line.
161
+ // Survives the url-capture data-listener disposal because the tail's
162
+ // listener is a separate subscription. Detached on PTY exit.
163
+ const tail = attachPtyTail(pty);
95
164
  return await new Promise((resolve) => {
96
165
  startUrlCapture({
97
166
  pty,
98
167
  timeoutMs: deps.urlCaptureTimeoutMs,
99
168
  logger: deps.logger,
100
169
  onUrl: (url) => {
101
- // Task 065 — never predict the JSONL path. Store the session with
102
- // null observation fields; the observer mutates them once Claude
103
- // Code's file appears on disk and the head bytes match this
104
- // spawn's bridge suffix.
105
- const session = {
106
- sessionId,
170
+ const bridgeSuffix = bridgeSuffixFromUrl(url);
171
+ // log the parsed bridge suffix on the success path so an operator
172
+ // can see the exact substring the observer will look for in the
173
+ // JSONL head bytes; the failing 16:26 spawn on the Pi had no such
174
+ // line until a manager restart erased the trail.
175
+ deps.logger(`bridge-suffix-extracted suffix=${bridgeSuffix ?? 'null'} url=${url}`);
176
+ if (!bridgeSuffix) {
177
+ // Without a bridge suffix the observer cannot bind, the session
178
+ // cannot be promoted, and the PTY would hang as an orphan.
179
+ // Loud-fail.
180
+ pty.kill('SIGKILL');
181
+ const stderrTail = tail.getTail();
182
+ deps.logger(`spawn-failed reason=bridge-suffix-unparseable url=${url} stderr-tail=${formatTailForLog(stderrTail)}`);
183
+ resolve({ ok: false, reason: 'bridge-suffix-unparseable', stderrTail });
184
+ return;
185
+ }
186
+ const pending = {
187
+ bridgeSuffix,
107
188
  pid: pty.pid,
108
189
  url,
109
190
  startedAt,
110
191
  senderId: args.senderId,
111
192
  role: args.role,
112
193
  channel: args.channel,
113
- jsonlPath: null,
114
- claudeSessionId: null,
115
194
  pty,
116
195
  exited: false,
117
196
  };
118
- deps.store.add(session);
119
- const bridgeSuffix = bridgeSuffixFromUrl(url);
120
- let observation = null;
121
- if (bridgeSuffix) {
122
- observation = deps.observer.observe({ bridgeSuffix });
123
- observation.promise.then((observed) => {
124
- if (!observed)
125
- return;
126
- session.jsonlPath = observed.jsonlPath;
127
- session.claudeSessionId = observed.claudeSessionId;
128
- deps.logger(`jsonl-observed pid=${pty.pid} sessionId=${observed.claudeSessionId} path=${observed.jsonlPath}`);
129
- deps.onJsonlObserved?.(session);
130
- });
131
- }
132
- else {
133
- deps.logger(`jsonl-observe-skipped pid=${pty.pid} reason=bridge-suffix-unparseable url=${url}`);
134
- }
135
- pty.onExit(() => {
136
- session.exited = true;
137
- if (observation)
197
+ deps.store.addPending(pending);
198
+ const observation = deps.observer.observe({ bridgeSuffix });
199
+ let timer = null;
200
+ let settled = false;
201
+ const settle = (outcome) => {
202
+ if (settled)
203
+ return;
204
+ settled = true;
205
+ if (timer)
206
+ clearTimeout(timer);
207
+ resolve(outcome);
208
+ };
209
+ // PTY exit in the gap between URL capture and observation: drop
210
+ // the pending entry, cancel the observation, surface a hard
211
+ // error to the caller (no orphan). The kill log carries the real
212
+ // exit-code and signal from the PTY layer (it used to be a
213
+ // hardcoded `exit-code=0` which masked SIGKILL-from-our-own-timer
214
+ // as a clean exit).
215
+ pty.onExit((e) => {
216
+ pending.exited = true;
217
+ const stderrTail = tail.getTail();
218
+ tail.dispose();
219
+ if (!settled) {
220
+ deps.store.removePending(bridgeSuffix);
138
221
  observation.cancel();
139
- deps.logger(`kill pid=${pty.pid} reason=process-exited exit-code=0`);
222
+ deps.logger(`spawn-failed reason=pty-exited-before-observe bridgeSuffix=${bridgeSuffix} exit-code=${e.exitCode} signal=${e.signal ?? 'none'} stderr-tail=${formatTailForLog(stderrTail)}`);
223
+ settle({ ok: false, reason: 'pty-exited-before-observe', stderrTail });
224
+ }
225
+ deps.logger(`kill pid=${pty.pid} reason=process-exited exit-code=${e.exitCode} signal=${e.signal ?? 'none'} stderr-tail=${formatTailForLog(stderrTail)}`);
226
+ });
227
+ // observe-loud-fail timer. Default 5 s; tests use
228
+ // shorter values via `observeTimeoutMs`.
229
+ timer = setTimeout(() => {
230
+ if (settled)
231
+ return;
232
+ deps.store.removePending(bridgeSuffix);
233
+ observation.cancel();
234
+ pty.kill('SIGKILL');
235
+ const stderrTail = tail.getTail();
236
+ deps.logger(`spawn-await-observe-timeout bridgeSuffix=${bridgeSuffix} timeoutMs=${deps.observeTimeoutMs} stderr-tail=${formatTailForLog(stderrTail)}`);
237
+ settle({ ok: false, reason: 'observe-timeout', stderrTail });
238
+ }, deps.observeTimeoutMs);
239
+ observation.promise.then((observed) => {
240
+ if (settled)
241
+ return;
242
+ if (!observed) {
243
+ // Observer returned null (cancelled). The spawn waits for the
244
+ // timer or pty-exit to settle; no action needed here.
245
+ return;
246
+ }
247
+ const session = deps.store.promotePending(bridgeSuffix, observed.claudeSessionId, observed.jsonlPath);
248
+ if (!session) {
249
+ // Pending was removed by pty-exit or timer just before this
250
+ // microtask landed. Whichever branch fired has already settled.
251
+ return;
252
+ }
253
+ // After promotion, attach the session's exit hook to the main-
254
+ // store entry so subsequent pty exits flip its `exited` flag and
255
+ // detach the audit watcher via the http-server onExit path.
256
+ pty.onExit(() => {
257
+ session.exited = true;
258
+ });
259
+ const waitMs = Date.now() - start;
260
+ deps.logger(`jsonl-observed pid=${pty.pid} sessionId=${observed.claudeSessionId} path=${observed.jsonlPath}`);
261
+ deps.logger(`spawn pid=${pty.pid} sessionUrl=${url} senderId=${args.senderId} role=${args.role} channel=${args.channel} permissionMode=${args.permissionMode ?? 'default'} latency-ms=${waitMs}`);
262
+ // single `[pty-spawn]` line that names
263
+ // the intrinsic session id along with the per-spawn
264
+ // identity/soul/account/role fields.
265
+ deps.logger(`[pty-spawn] sessionId=${observed.claudeSessionId} appendSystemPromptBytes=${Buffer.byteLength(appendSystemPrompt, 'utf8')} identityBytes=${composed.identityBytes} soulBytes=${composed.soulBytes} aboutOwnerBytes=${composed.aboutOwnerBytes} dormantPluginsBytes=${composed.dormantPluginsBytes} accountDir=${deps.accountDir} role=${args.role} hostname=${deps.host.hostname} lanIPv4=${deps.host.lanIPv4} adminUrl=${deps.host.adminUrl} tunnelUrl=${deps.host.tunnelUrl ?? 'none'}`);
266
+ deps.logger(`spawn-await-observe bridgeSuffix=${bridgeSuffix} ms=${waitMs}`);
267
+ deps.onJsonlObserved?.(session);
268
+ settle({ ok: true, session });
140
269
  });
141
- deps.logger(`spawn pid=${pty.pid} sessionUrl=${url} senderId=${args.senderId} role=${args.role} channel=${args.channel} permissionMode=${args.permissionMode ?? 'default'} latency-ms=${Date.now() - start}`);
142
- deps.logger(`[pty-spawn] sessionId=${sessionId} appendSystemPromptBytes=${Buffer.byteLength(appendSystemPrompt, 'utf8')} identityBytes=${composed.identityBytes} soulBytes=${composed.soulBytes} accountDir=${deps.accountDir} role=${args.role} hostname=${deps.host.hostname} lanIPv4=${deps.host.lanIPv4} adminUrl=${deps.host.adminUrl} tunnelUrl=${deps.host.tunnelUrl ?? 'none'}`);
143
- resolve({ ok: true, session });
144
270
  },
145
271
  onTimeout: () => {
146
272
  pty.kill('SIGKILL');
147
- deps.logger(`spawn-failed reason=url-capture-timeout stderr-tail=""`);
148
- resolve({ ok: false, reason: 'url-capture-timeout', stderrTail: '' });
273
+ const stderrTail = tail.getTail();
274
+ deps.logger(`spawn-failed reason=url-capture-timeout stderr-tail=${formatTailForLog(stderrTail)}`);
275
+ resolve({ ok: false, reason: 'url-capture-timeout', stderrTail });
149
276
  },
150
277
  });
151
278
  });
@@ -1 +1 @@
1
- {"version":3,"file":"pty-spawner.js","sourceRoot":"","sources":["../src/pty-spawner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pty-spawner.js","sourceRoot":"","sources":["../src/pty-spawner.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- // Task 013 — per-call audit of `role=public` tool invocations.
1
+ // per-call audit of `role=public` tool invocations.
2
2
  //
3
3
  // Tails each public session's claude-owned JSONL transcript as it's written.
4
4
  // For every assistant `tool_use` content block the manager stashes
@@ -1 +1 @@
1
- {"version":3,"file":"public-tool-audit.js","sourceRoot":"","sources":["../src/public-tool-audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-tool-audit.js","sourceRoot":"","sources":["../src/public-tool-audit.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,57 @@
1
1
  import type { PtyHandle, Role, Channel } from './types.js';
2
2
  export interface StoredSession {
3
- sessionId: string;
3
+ /** Intrinsic claude session id — the JSONL basename Claude Code wrote.
4
+ * Equals the value of `claudeSessionId` everywhere else in the manager.
5
+ * Set at promotion time; never null on a session that exists in the
6
+ * main store. */
7
+ claudeSessionId: string;
4
8
  pid: number;
5
9
  url: string;
6
10
  startedAt: string;
7
11
  senderId: string;
8
12
  role: Role;
9
13
  channel: Channel;
10
- /** Path to the JSONL Claude Code wrote, observed from disk (see
11
- * jsonl-observer.ts). Null until the observer matches the JSONL to
12
- * this session's bridge suffix. Task 065 — replaces the predicted
13
- * path that produced phantom /list rows. */
14
- jsonlPath: string | null;
15
- /** Intrinsic claude session id (the JSONL basename, without `.jsonl`),
16
- * observed via jsonl-observer. Distinct from the URL bridge suffix.
17
- * Used by /list dedup against the on-disk enumerator. Null until the
18
- * observer fires. Task 065. */
19
- claudeSessionId: string | null;
14
+ /** Path of the JSONL Claude Code wrote, observed from disk by the
15
+ * jsonl-observer. Non-null on a promoted session. */
16
+ jsonlPath: string;
20
17
  pty: PtyHandle;
21
18
  exited: boolean;
22
19
  }
20
+ /** Transient state held during the spawn-time bridge-binding race (Task
21
+ * 069). The PTY is alive, the URL is captured, but Claude Code has not
22
+ * yet written its first JSONL line. The entry is keyed by the URL bridge
23
+ * suffix (the only stable id we have until observation fires). */
24
+ export interface PendingSession {
25
+ bridgeSuffix: string;
26
+ pid: number;
27
+ url: string;
28
+ startedAt: string;
29
+ senderId: string;
30
+ role: Role;
31
+ channel: Channel;
32
+ pty: PtyHandle;
33
+ /** True once the PTY has exited. Used by the spawner to short-circuit
34
+ * the observation race when the process dies first. */
35
+ exited: boolean;
36
+ }
23
37
  export declare class SessionStore {
24
38
  private readonly sessions;
39
+ private readonly pendingByBridge;
25
40
  add(s: StoredSession): void;
26
41
  get(id: string): StoredSession | undefined;
27
42
  remove(id: string): StoredSession | undefined;
28
43
  listBySender(senderId: string): StoredSession[];
29
44
  all(): StoredSession[];
30
45
  size(): number;
46
+ addPending(p: PendingSession): void;
47
+ getPending(bridgeSuffix: string): PendingSession | undefined;
48
+ removePending(bridgeSuffix: string): PendingSession | undefined;
49
+ /** Move a pending entry into the main store under its newly-observed
50
+ * `claudeSessionId`. Idempotent: a second call for the same bridge
51
+ * suffix is a no-op once the pending entry has been removed.
52
+ * Returns the promoted StoredSession, or null when no pending entry
53
+ * exists for this bridge suffix (already promoted, cancelled, or
54
+ * the PTY exited before observation fired). */
55
+ promotePending(bridgeSuffix: string, claudeSessionId: string, jsonlPath: string): StoredSession | null;
31
56
  }
32
57
  //# sourceMappingURL=session-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE1D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB;;;iDAG6C;IAC7C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB;;;oCAGgC;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,GAAG,EAAE,SAAS,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAE5D,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAI3B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI1C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAM7C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE;IAQ/C,GAAG,IAAI,aAAa,EAAE;IAItB,IAAI,IAAI,MAAM;CAGf"}
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE1D,MAAM,WAAW,aAAa;IAC5B;;;sBAGkB;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB;0DACsD;IACtD,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,SAAS,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;CAChB;AAED;;;mEAGmE;AACnE,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,SAAS,CAAA;IACd;4DACwD;IACxD,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoC;IAEpE,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAI3B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI1C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAM7C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE;IAQ/C,GAAG,IAAI,aAAa,EAAE;IAItB,IAAI,IAAI,MAAM;IAMd,UAAU,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI;IAInC,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI5D,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAM/D;;;;;oDAKgD;IAChD,cAAc,CACZ,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,GAChB,aAAa,GAAG,IAAI;CAmBxB"}
@@ -1,8 +1,20 @@
1
- // In-memory session store. Keyed by sessionId, indexed by senderId for list.
1
+ // In-memory session store. keyed on Claude Code's intrinsic
2
+ // `claudeSessionId` (the JSONL basename), not on a manager-minted id. The
3
+ // manager mints zero ids of its own; the intrinsic id is the one
4
+ // identifier per Claude process, stable from observation onward across
5
+ // alive→ended and across manager restarts.
6
+ //
7
+ // During the spawn-time gap between PTY creation and Claude Code writing
8
+ // its first JSONL line, the intrinsic id is not yet known. The store
9
+ // holds a small `pendingByBridge` map keyed on the URL bridge suffix for
10
+ // that window only. The pending entry is promoted into the main store
11
+ // the instant `jsonl-observer` matches the JSONL on disk; on observation
12
+ // failure or PTY exit before observation, the pending entry is removed.
2
13
  export class SessionStore {
3
14
  sessions = new Map();
15
+ pendingByBridge = new Map();
4
16
  add(s) {
5
- this.sessions.set(s.sessionId, s);
17
+ this.sessions.set(s.claudeSessionId, s);
6
18
  }
7
19
  get(id) {
8
20
  return this.sessions.get(id);
@@ -27,5 +39,44 @@ export class SessionStore {
27
39
  size() {
28
40
  return this.sessions.size;
29
41
  }
42
+ // --- pending lifecycle ----------------------------------
43
+ addPending(p) {
44
+ this.pendingByBridge.set(p.bridgeSuffix, p);
45
+ }
46
+ getPending(bridgeSuffix) {
47
+ return this.pendingByBridge.get(bridgeSuffix);
48
+ }
49
+ removePending(bridgeSuffix) {
50
+ const p = this.pendingByBridge.get(bridgeSuffix);
51
+ if (p)
52
+ this.pendingByBridge.delete(bridgeSuffix);
53
+ return p;
54
+ }
55
+ /** Move a pending entry into the main store under its newly-observed
56
+ * `claudeSessionId`. Idempotent: a second call for the same bridge
57
+ * suffix is a no-op once the pending entry has been removed.
58
+ * Returns the promoted StoredSession, or null when no pending entry
59
+ * exists for this bridge suffix (already promoted, cancelled, or
60
+ * the PTY exited before observation fired). */
61
+ promotePending(bridgeSuffix, claudeSessionId, jsonlPath) {
62
+ const p = this.pendingByBridge.get(bridgeSuffix);
63
+ if (!p)
64
+ return null;
65
+ this.pendingByBridge.delete(bridgeSuffix);
66
+ const s = {
67
+ claudeSessionId,
68
+ pid: p.pid,
69
+ url: p.url,
70
+ startedAt: p.startedAt,
71
+ senderId: p.senderId,
72
+ role: p.role,
73
+ channel: p.channel,
74
+ jsonlPath,
75
+ pty: p.pty,
76
+ exited: p.exited,
77
+ };
78
+ this.sessions.set(claudeSessionId, s);
79
+ return s;
80
+ }
30
81
  }
31
82
  //# sourceMappingURL=session-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"AAAA,6EAA6E;AA0B7E,MAAM,OAAO,YAAY;IACN,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAA;IAE5D,GAAG,CAAC,CAAgB;QAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACnC,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,EAAU;QACf,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC/B,IAAI,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC/B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,MAAM,GAAG,GAAoB,EAAE,CAAA;QAC/B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1C,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,GAAG;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IACpC,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAA;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,0EAA0E;AAC1E,iEAAiE;AACjE,uEAAuE;AACvE,2CAA2C;AAC3C,EAAE;AACF,yEAAyE;AACzE,qEAAqE;AACrE,yEAAyE;AACzE,sEAAsE;AACtE,yEAAyE;AACzE,wEAAwE;AAyCxE,MAAM,OAAO,YAAY;IACN,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAA;IAC3C,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAA;IAEpE,GAAG,CAAC,CAAgB;QAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;IACzC,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,EAAU;QACf,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC/B,IAAI,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC/B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,MAAM,GAAG,GAAoB,EAAE,CAAA;QAC/B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1C,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,GAAG;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IACpC,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAA;IAC3B,CAAC;IAED,2DAA2D;IAE3D,UAAU,CAAC,CAAiB;QAC1B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,UAAU,CAAC,YAAoB;QAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAC/C,CAAC;IAED,aAAa,CAAC,YAAoB;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAChD,IAAI,CAAC;YAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAChD,OAAO,CAAC,CAAA;IACV,CAAC;IAED;;;;;oDAKgD;IAChD,cAAc,CACZ,YAAoB,EACpB,eAAuB,EACvB,SAAiB;QAEjB,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAChD,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QACnB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QACzC,MAAM,CAAC,GAAkB;YACvB,eAAe;YACf,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,SAAS;YACT,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAA;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;QACrC,OAAO,CAAC,CAAA;IACV,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- // Task 013 — in-memory leaky-bucket throttle for `POST /spawn role=public`.
1
+ // in-memory leaky-bucket throttle for `POST /spawn role=public`.
2
2
  //
3
3
  // Two buckets fire on each admit attempt: one keyed `(senderId, channel)` to
4
4
  // stop a single sender from flooding one channel, and one keyed `senderId`
@@ -63,7 +63,7 @@ export function createSpawnRateLimiter(limits) {
63
63
  }
64
64
  export const DEFAULT_PUBLIC_SPAWN_LIMITS = {
65
65
  // Conservative defaults: 10 spawns / minute per channel; 30 / minute global.
66
- // Operators override via brand.json or env. Task 013 verification fires the
66
+ // Operators override via brand.json or env. verification fires the
67
67
  // per-channel cap (11 calls, same senderId+channel).
68
68
  perChannel: {
69
69
  browser: { cap: 10, windowMs: 60_000 },
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-rate-limiter.js","sourceRoot":"","sources":["../src/spawn-rate-limiter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn-rate-limiter.js","sourceRoot":"","sources":["../src/spawn-rate-limiter.ts"],"names":[],"mappings":"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"}
@@ -8,16 +8,61 @@ export interface IdentitySources {
8
8
  accountDir: string;
9
9
  role: 'admin' | 'public';
10
10
  }
11
+ /** Per-spawn owner-profile body resolved by the caller before /spawn fires.
12
+ *
13
+ * ok:true — `body` is the `formatProfileSummary` output (verbatim).
14
+ * ok:false — `reason` is a short token the agent surfaces to the operator,
15
+ * e.g. `neo4j-unreachable`, `adminuser-missing`, `unknown-user`.
16
+ * The composer emits `<about-owner>coverage-unresolved: <reason></about-owner>`
17
+ * so the absent signal is visible end-to-end rather than silently
18
+ * swallowed.
19
+ *
20
+ * When the field is omitted entirely (undefined), the sentinel is suppressed.
21
+ * This is the contract for callers that have no owner concept (role=public
22
+ * visitor flows that do not query a profile). */
23
+ export type OwnerProfileBlock = {
24
+ ok: true;
25
+ body: string;
26
+ } | {
27
+ ok: false;
28
+ reason: string;
29
+ };
30
+ export interface DormantPlugin {
31
+ /** Plugin directory name under platform/plugins/ — the same key used in
32
+ * account.json's `enabledPlugins` array. */
33
+ name: string;
34
+ /** One-line description from PLUGIN.md frontmatter. Verbatim, no trimming
35
+ * beyond what the caller did. */
36
+ description: string;
37
+ }
38
+ export interface ComposeExtras {
39
+ aboutOwner?: OwnerProfileBlock;
40
+ dormantPlugins?: readonly DormantPlugin[];
41
+ }
11
42
  export type AppendBlockResult = {
12
43
  ok: true;
13
44
  block: string;
14
45
  identityBytes: number;
15
46
  soulBytes: number;
47
+ aboutOwnerBytes: number;
48
+ dormantPluginsBytes: number;
16
49
  } | {
17
50
  ok: false;
18
51
  reason: 'host-unresolved' | 'identity-unresolved';
19
52
  detail: string;
20
53
  };
21
54
  export declare const ATTACHMENT_CEILING_BYTES = 31457280;
22
- export declare function composeAppendSystemPrompt(host: HostContext, sources: IdentitySources): AppendBlockResult;
55
+ export declare function composeAppendSystemPrompt(host: HostContext, sources: IdentitySources, extras?: ComposeExtras): AppendBlockResult;
56
+ /** Boot-time self-test: render the block with synthetic inputs that exercise
57
+ * every optional sentinel, and assert the expected tags appear. Returns
58
+ * ok:true on success, ok:false with the first missing tag on drift. The
59
+ * caller logs `[startup-self-test] system-prompt-sentinels=ok` or LOUD-FAILs
60
+ * so future refactors that drop a sentinel surface at manager start, not at
61
+ * runtime against a real spawn. */
62
+ export declare function runSystemPromptSelfTest(): {
63
+ ok: true;
64
+ } | {
65
+ ok: false;
66
+ missing: string;
67
+ };
23
68
  //# sourceMappingURL=system-prompt.d.ts.map