@rubytech/create-sitedesk-code 0.1.532 → 0.1.534

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 (236) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +12 -7
  3. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +15 -0
  4. package/payload/platform/plugins/docs/references/admin-ui.md +2 -0
  5. package/payload/platform/plugins/docs/references/calendar-booking.md +9 -6
  6. package/payload/platform/plugins/email/mcp/dist/__tests__/signature.test.js +40 -1
  7. package/payload/platform/plugins/email/mcp/dist/__tests__/signature.test.js.map +1 -1
  8. package/payload/platform/plugins/email/mcp/dist/lib/compose.d.ts.map +1 -1
  9. package/payload/platform/plugins/email/mcp/dist/lib/compose.js +4 -1
  10. package/payload/platform/plugins/email/mcp/dist/lib/compose.js.map +1 -1
  11. package/payload/platform/plugins/email/mcp/dist/lib/signature.d.ts +27 -0
  12. package/payload/platform/plugins/email/mcp/dist/lib/signature.d.ts.map +1 -1
  13. package/payload/platform/plugins/email/mcp/dist/lib/signature.js +62 -2
  14. package/payload/platform/plugins/email/mcp/dist/lib/signature.js.map +1 -1
  15. package/payload/platform/plugins/memory/skills/preference-audit/SKILL.md +11 -1
  16. package/payload/platform/plugins/whatsapp/PLUGIN.md +12 -2
  17. package/payload/platform/plugins/whatsapp/mcp/dist/index.js +73 -6
  18. package/payload/platform/plugins/whatsapp/mcp/dist/index.js.map +1 -1
  19. package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +9 -1
  20. package/payload/platform/plugins/whatsapp/skills/manage-whatsapp-config/SKILL.md +27 -1
  21. package/payload/platform/scripts/__tests__/vnc-cdp-liveness.test.sh +14 -12
  22. package/payload/platform/scripts/vnc.sh +24 -19
  23. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  24. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +1 -0
  25. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  26. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  27. package/payload/platform/services/claude-session-manager/dist/http-server.js +35 -1
  28. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  29. package/payload/platform/services/claude-session-manager/dist/index.js +13 -4
  30. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  31. package/payload/platform/services/claude-session-manager/dist/preference-reconciliation-audit.d.ts +1 -1
  32. package/payload/platform/services/claude-session-manager/dist/preference-reconciliation-audit.d.ts.map +1 -1
  33. package/payload/platform/services/claude-session-manager/dist/preference-reconciliation-audit.js +46 -3
  34. package/payload/platform/services/claude-session-manager/dist/preference-reconciliation-audit.js.map +1 -1
  35. package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts +9 -0
  36. package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts.map +1 -1
  37. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js +7 -0
  38. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js.map +1 -1
  39. package/payload/platform/services/claude-session-manager/dist/specialist-roster.d.ts +12 -0
  40. package/payload/platform/services/claude-session-manager/dist/specialist-roster.d.ts.map +1 -0
  41. package/payload/platform/services/claude-session-manager/dist/specialist-roster.js +75 -0
  42. package/payload/platform/services/claude-session-manager/dist/specialist-roster.js.map +1 -0
  43. package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts +5 -0
  44. package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts.map +1 -1
  45. package/payload/platform/services/claude-session-manager/dist/system-prompt.js +10 -2
  46. package/payload/platform/services/claude-session-manager/dist/system-prompt.js.map +1 -1
  47. package/payload/server/{chunk-UH6GCQO4.js → chunk-4QCYFTAI.js} +276 -19
  48. package/payload/server/{manager-H34562SN.js → manager-ZNHQQCED.js} +1 -1
  49. package/payload/server/public/activity.html +5 -5
  50. package/payload/server/public/agents.html +4 -4
  51. package/payload/server/public/assets/AdminLoginScreens-BGVleg5q.js +1 -0
  52. package/payload/server/public/assets/AdminLoginScreens-BGVleg5q.js.br +0 -0
  53. package/payload/server/public/assets/AdminLoginScreens-BGVleg5q.js.gz +0 -0
  54. package/payload/server/public/assets/AdminShell-CMZZr5Oz.js +2 -0
  55. package/payload/server/public/assets/AdminShell-CMZZr5Oz.js.br +0 -0
  56. package/payload/server/public/assets/AdminShell-CMZZr5Oz.js.gz +0 -0
  57. package/payload/server/public/assets/CdpScreencastSurface-S7UeohE2.js +1 -0
  58. package/payload/server/public/assets/CdpScreencastSurface-S7UeohE2.js.br +0 -0
  59. package/payload/server/public/assets/CdpScreencastSurface-S7UeohE2.js.gz +0 -0
  60. package/payload/server/public/assets/{activity-ClI-RgJu.js → activity-Di0Rg9lb.js} +1 -1
  61. package/payload/server/public/assets/activity-Di0Rg9lb.js.br +0 -0
  62. package/payload/server/public/assets/activity-Di0Rg9lb.js.gz +0 -0
  63. package/payload/server/public/assets/admin-B89fhBS0.js +1 -0
  64. package/payload/server/public/assets/admin-B89fhBS0.js.br +0 -0
  65. package/payload/server/public/assets/admin-B89fhBS0.js.gz +0 -0
  66. package/payload/server/public/assets/{agents-BO8YBj8d.js → agents-CZTshBkV.js} +1 -1
  67. package/payload/server/public/assets/agents-CZTshBkV.js.br +0 -0
  68. package/payload/server/public/assets/agents-CZTshBkV.js.gz +0 -0
  69. package/payload/server/public/assets/{browser-Bj8oTG5R.js → browser-CIbMHtt-.js} +1 -1
  70. package/payload/server/public/assets/browser-CIbMHtt-.js.br +0 -0
  71. package/payload/server/public/assets/browser-CIbMHtt-.js.gz +0 -0
  72. package/payload/server/public/assets/calendar-BkZcebIa.js +1 -0
  73. package/payload/server/public/assets/calendar-BkZcebIa.js.br +0 -0
  74. package/payload/server/public/assets/calendar-BkZcebIa.js.gz +0 -0
  75. package/payload/server/public/assets/chat-C6EOth0E.js +1 -0
  76. package/payload/server/public/assets/chat-C6EOth0E.js.br +1 -0
  77. package/payload/server/public/assets/chat-C6EOth0E.js.gz +0 -0
  78. package/payload/server/public/assets/chevron-left-DiJkQOqd.js +1 -0
  79. package/payload/server/public/assets/chevron-right-DOO-559P.js +1 -0
  80. package/payload/server/public/assets/chevron-right-DOO-559P.js.br +0 -0
  81. package/payload/server/public/assets/clock-D-z9DPIi.js +1 -0
  82. package/payload/server/public/assets/clock-D-z9DPIi.js.br +0 -0
  83. package/payload/server/public/assets/clock-D-z9DPIi.js.gz +0 -0
  84. package/payload/server/public/assets/data-2fHKgEQR.js +1 -0
  85. package/payload/server/public/assets/data-2fHKgEQR.js.br +0 -0
  86. package/payload/server/public/assets/data-2fHKgEQR.js.gz +0 -0
  87. package/payload/server/public/assets/{file-download-Di_s0_4w.js → file-download-CKfAhT9F.js} +1 -1
  88. package/payload/server/public/assets/file-download-CKfAhT9F.js.br +0 -0
  89. package/payload/server/public/assets/file-download-CKfAhT9F.js.gz +0 -0
  90. package/payload/server/public/assets/{file-text-CP1KIrJV.js → file-text-BdMnzZ8u.js} +1 -1
  91. package/payload/server/public/assets/file-text-BdMnzZ8u.js.br +0 -0
  92. package/payload/server/public/assets/file-text-BdMnzZ8u.js.gz +0 -0
  93. package/payload/server/public/assets/{graph-BCMscnCV.js → graph-DzB4KiCO.js} +2 -2
  94. package/payload/server/public/assets/graph-DzB4KiCO.js.br +0 -0
  95. package/payload/server/public/assets/graph-DzB4KiCO.js.gz +0 -0
  96. package/payload/server/public/assets/{graph-labels-CgP17xHK.js → graph-labels-CMlGzab-.js} +1 -1
  97. package/payload/server/public/assets/graph-labels-CMlGzab-.js.br +0 -0
  98. package/payload/server/public/assets/graph-labels-CMlGzab-.js.gz +0 -0
  99. package/payload/server/public/assets/{maximize-2-DkQzDv-g.js → maximize-2-Cw95Fq0m.js} +1 -1
  100. package/payload/server/public/assets/maximize-2-Cw95Fq0m.js.br +0 -0
  101. package/payload/server/public/assets/maximize-2-Cw95Fq0m.js.gz +0 -0
  102. package/payload/server/public/assets/operator-YhRt7hhB.js +1 -0
  103. package/payload/server/public/assets/operator-YhRt7hhB.js.br +0 -0
  104. package/payload/server/public/assets/operator-YhRt7hhB.js.gz +0 -0
  105. package/payload/server/public/assets/page-DRipsKnx.js +32 -0
  106. package/payload/server/public/assets/page-DRipsKnx.js.br +0 -0
  107. package/payload/server/public/assets/page-DRipsKnx.js.gz +0 -0
  108. package/payload/server/public/assets/page-iEvYrvW4.js +1 -0
  109. package/payload/server/public/assets/page-iEvYrvW4.js.br +0 -0
  110. package/payload/server/public/assets/page-iEvYrvW4.js.gz +0 -0
  111. package/payload/server/public/assets/public-wBScNSFk.js +1 -0
  112. package/payload/server/public/assets/public-wBScNSFk.js.br +0 -0
  113. package/payload/server/public/assets/public-wBScNSFk.js.gz +0 -0
  114. package/payload/server/public/assets/{rotate-ccw-DPw0vXC0.js → rotate-ccw-BjIYVGss.js} +1 -1
  115. package/payload/server/public/assets/rotate-ccw-BjIYVGss.js.br +0 -0
  116. package/payload/server/public/assets/rotate-ccw-BjIYVGss.js.gz +0 -0
  117. package/payload/server/public/assets/{routines-CwiiYpfK.js → routines-DP0XOp9h.js} +1 -1
  118. package/payload/server/public/assets/routines-DP0XOp9h.js.br +0 -0
  119. package/payload/server/public/assets/routines-DP0XOp9h.js.gz +0 -0
  120. package/payload/server/public/assets/{skills-0FOjKUM-.js → skills-B6e7L3GG.js} +1 -1
  121. package/payload/server/public/assets/skills-B6e7L3GG.js.br +0 -0
  122. package/payload/server/public/assets/skills-B6e7L3GG.js.gz +0 -0
  123. package/payload/server/public/assets/tasks-CRoG5MpL.js +3 -0
  124. package/payload/server/public/assets/tasks-CRoG5MpL.js.br +0 -0
  125. package/payload/server/public/assets/tasks-CRoG5MpL.js.gz +0 -0
  126. package/payload/server/public/assets/{time-entry-format-B6fX_19a.js → time-entry-format-C9clyq98.js} +1 -1
  127. package/payload/server/public/assets/time-entry-format-C9clyq98.js.br +0 -0
  128. package/payload/server/public/assets/time-entry-format-C9clyq98.js.gz +0 -0
  129. package/payload/server/public/assets/{triangle-alert-vAaSDhVq.js → triangle-alert-CZlka7Nl.js} +1 -1
  130. package/payload/server/public/assets/triangle-alert-CZlka7Nl.js.br +0 -0
  131. package/payload/server/public/assets/triangle-alert-CZlka7Nl.js.gz +0 -0
  132. package/payload/server/public/assets/{useCopyFeedback-BvIRgs7W.js → useCopyFeedback-DoQhfr0S.js} +1 -1
  133. package/payload/server/public/assets/useCopyFeedback-DoQhfr0S.js.br +0 -0
  134. package/payload/server/public/assets/useCopyFeedback-DoQhfr0S.js.gz +0 -0
  135. package/payload/server/public/assets/{useSubAccountSwitcher-DM5Y9eio.css → useSubAccountSwitcher-BDQ8Wsdt.css} +1 -1
  136. package/payload/server/public/assets/useSubAccountSwitcher-BDQ8Wsdt.css.br +0 -0
  137. package/payload/server/public/assets/{useSubAccountSwitcher-DM5Y9eio.css.gz → useSubAccountSwitcher-BDQ8Wsdt.css.gz} +0 -0
  138. package/payload/server/public/assets/{useSubAccountSwitcher-BEwQMRMo.js → useSubAccountSwitcher-DOo5uRtZ.js} +2 -2
  139. package/payload/server/public/assets/useSubAccountSwitcher-DOo5uRtZ.js.br +0 -0
  140. package/payload/server/public/assets/{useSubAccountSwitcher-BEwQMRMo.js.gz → useSubAccountSwitcher-DOo5uRtZ.js.gz} +0 -0
  141. package/payload/server/public/assets/useVoiceRecorder-Cei46RSJ.js +2 -0
  142. package/payload/server/public/assets/useVoiceRecorder-Cei46RSJ.js.br +0 -0
  143. package/payload/server/public/assets/useVoiceRecorder-Cei46RSJ.js.gz +0 -0
  144. package/payload/server/public/assets/{wrench-BNBtwT2p.js → wrench-DCIBZT1Z.js} +1 -1
  145. package/payload/server/public/assets/wrench-DCIBZT1Z.js.br +2 -0
  146. package/payload/server/public/assets/wrench-DCIBZT1Z.js.gz +0 -0
  147. package/payload/server/public/browser.html +5 -5
  148. package/payload/server/public/calendar.html +7 -7
  149. package/payload/server/public/chat.html +13 -13
  150. package/payload/server/public/data.html +12 -12
  151. package/payload/server/public/graph.html +9 -9
  152. package/payload/server/public/index.html +16 -16
  153. package/payload/server/public/operator.html +15 -15
  154. package/payload/server/public/public.html +13 -13
  155. package/payload/server/public/routines.html +7 -7
  156. package/payload/server/public/skills.html +5 -5
  157. package/payload/server/public/tasks.html +6 -6
  158. package/payload/server/server.js +1612 -883
  159. package/payload/server/public/assets/AdminLoginScreens-7Czw3MAC.js +0 -1
  160. package/payload/server/public/assets/AdminLoginScreens-7Czw3MAC.js.br +0 -0
  161. package/payload/server/public/assets/AdminLoginScreens-7Czw3MAC.js.gz +0 -0
  162. package/payload/server/public/assets/AdminShell-D5GApZ_n.js +0 -2
  163. package/payload/server/public/assets/AdminShell-D5GApZ_n.js.br +0 -0
  164. package/payload/server/public/assets/AdminShell-D5GApZ_n.js.gz +0 -0
  165. package/payload/server/public/assets/CdpScreencastSurface-BbekDUFw.js +0 -1
  166. package/payload/server/public/assets/CdpScreencastSurface-BbekDUFw.js.br +0 -0
  167. package/payload/server/public/assets/CdpScreencastSurface-BbekDUFw.js.gz +0 -0
  168. package/payload/server/public/assets/activity-ClI-RgJu.js.br +0 -0
  169. package/payload/server/public/assets/activity-ClI-RgJu.js.gz +0 -0
  170. package/payload/server/public/assets/admin-svtCmBPk.js +0 -1
  171. package/payload/server/public/assets/admin-svtCmBPk.js.br +0 -0
  172. package/payload/server/public/assets/admin-svtCmBPk.js.gz +0 -0
  173. package/payload/server/public/assets/agents-BO8YBj8d.js.br +0 -0
  174. package/payload/server/public/assets/agents-BO8YBj8d.js.gz +0 -0
  175. package/payload/server/public/assets/browser-Bj8oTG5R.js.br +0 -0
  176. package/payload/server/public/assets/browser-Bj8oTG5R.js.gz +0 -0
  177. package/payload/server/public/assets/calendar-CrkSY8U7.js +0 -1
  178. package/payload/server/public/assets/calendar-CrkSY8U7.js.br +0 -0
  179. package/payload/server/public/assets/calendar-CrkSY8U7.js.gz +0 -0
  180. package/payload/server/public/assets/chat-Bvxoni2e.js +0 -1
  181. package/payload/server/public/assets/chat-Bvxoni2e.js.br +0 -0
  182. package/payload/server/public/assets/chat-Bvxoni2e.js.gz +0 -0
  183. package/payload/server/public/assets/chevron-left-CdUzxzeB.js +0 -1
  184. package/payload/server/public/assets/chevron-left-CdUzxzeB.js.br +0 -0
  185. package/payload/server/public/assets/chevron-right-CKGwd-M0.js +0 -1
  186. package/payload/server/public/assets/chevron-right-CKGwd-M0.js.br +0 -0
  187. package/payload/server/public/assets/clock-Cf8Oe9qi.js +0 -1
  188. package/payload/server/public/assets/clock-Cf8Oe9qi.js.br +0 -0
  189. package/payload/server/public/assets/clock-Cf8Oe9qi.js.gz +0 -0
  190. package/payload/server/public/assets/data-DF0Pstdp.js +0 -1
  191. package/payload/server/public/assets/data-DF0Pstdp.js.br +0 -1
  192. package/payload/server/public/assets/data-DF0Pstdp.js.gz +0 -0
  193. package/payload/server/public/assets/file-download-Di_s0_4w.js.br +0 -0
  194. package/payload/server/public/assets/file-download-Di_s0_4w.js.gz +0 -0
  195. package/payload/server/public/assets/file-text-CP1KIrJV.js.br +0 -1
  196. package/payload/server/public/assets/file-text-CP1KIrJV.js.gz +0 -0
  197. package/payload/server/public/assets/graph-BCMscnCV.js.br +0 -0
  198. package/payload/server/public/assets/graph-BCMscnCV.js.gz +0 -0
  199. package/payload/server/public/assets/graph-labels-CgP17xHK.js.br +0 -0
  200. package/payload/server/public/assets/graph-labels-CgP17xHK.js.gz +0 -0
  201. package/payload/server/public/assets/maximize-2-DkQzDv-g.js.br +0 -0
  202. package/payload/server/public/assets/maximize-2-DkQzDv-g.js.gz +0 -0
  203. package/payload/server/public/assets/operator-CLbCar9e.js +0 -1
  204. package/payload/server/public/assets/operator-CLbCar9e.js.br +0 -0
  205. package/payload/server/public/assets/operator-CLbCar9e.js.gz +0 -0
  206. package/payload/server/public/assets/page-CNJl3tWT.js +0 -1
  207. package/payload/server/public/assets/page-CNJl3tWT.js.br +0 -0
  208. package/payload/server/public/assets/page-CNJl3tWT.js.gz +0 -0
  209. package/payload/server/public/assets/page-CPVUAwb8.js +0 -32
  210. package/payload/server/public/assets/page-CPVUAwb8.js.br +0 -0
  211. package/payload/server/public/assets/page-CPVUAwb8.js.gz +0 -0
  212. package/payload/server/public/assets/public-DQea3Ybz.js +0 -1
  213. package/payload/server/public/assets/public-DQea3Ybz.js.br +0 -0
  214. package/payload/server/public/assets/public-DQea3Ybz.js.gz +0 -0
  215. package/payload/server/public/assets/rotate-ccw-DPw0vXC0.js.br +0 -0
  216. package/payload/server/public/assets/rotate-ccw-DPw0vXC0.js.gz +0 -0
  217. package/payload/server/public/assets/routines-CwiiYpfK.js.br +0 -0
  218. package/payload/server/public/assets/routines-CwiiYpfK.js.gz +0 -0
  219. package/payload/server/public/assets/skills-0FOjKUM-.js.br +0 -0
  220. package/payload/server/public/assets/skills-0FOjKUM-.js.gz +0 -0
  221. package/payload/server/public/assets/tasks-BUVsPEGm.js +0 -3
  222. package/payload/server/public/assets/tasks-BUVsPEGm.js.br +0 -0
  223. package/payload/server/public/assets/tasks-BUVsPEGm.js.gz +0 -0
  224. package/payload/server/public/assets/time-entry-format-B6fX_19a.js.br +0 -0
  225. package/payload/server/public/assets/time-entry-format-B6fX_19a.js.gz +0 -0
  226. package/payload/server/public/assets/triangle-alert-vAaSDhVq.js.br +0 -0
  227. package/payload/server/public/assets/triangle-alert-vAaSDhVq.js.gz +0 -0
  228. package/payload/server/public/assets/useCopyFeedback-BvIRgs7W.js.br +0 -0
  229. package/payload/server/public/assets/useCopyFeedback-BvIRgs7W.js.gz +0 -0
  230. package/payload/server/public/assets/useSubAccountSwitcher-BEwQMRMo.js.br +0 -0
  231. package/payload/server/public/assets/useSubAccountSwitcher-DM5Y9eio.css.br +0 -0
  232. package/payload/server/public/assets/useVoiceRecorder-CiDOh8PG.js +0 -2
  233. package/payload/server/public/assets/useVoiceRecorder-CiDOh8PG.js.br +0 -0
  234. package/payload/server/public/assets/useVoiceRecorder-CiDOh8PG.js.gz +0 -0
  235. package/payload/server/public/assets/wrench-BNBtwT2p.js.br +0 -0
  236. package/payload/server/public/assets/wrench-BNBtwT2p.js.gz +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialist-roster.js","sourceRoot":"","sources":["../src/specialist-roster.ts"],"names":[],"mappings":"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"}
@@ -128,6 +128,11 @@ export type AppendBlockResult = {
128
128
  reason: 'host-unresolved' | 'identity-unresolved' | 'soul-empty' | 'knowledge-missing' | 'knowledge-empty';
129
129
  detail: string;
130
130
  };
131
+ export declare const SPECIALIST_DOMAINS_ROUTING_CLAUSE = "Specialist subagents own these domains. Match user intent to a tool below and delegate to the specialist. Fall back to memory-search only when no tool here matches. ToolSearch is a last-resort escape hatch for tools not listed in any domain \u2014 not a routing mechanism; prefer admitting ignorance over discovering.";
132
+ export declare function renderSpecialistDomains(domains: readonly SpecialistDomain[] | undefined): {
133
+ body: string | null;
134
+ bytes: number;
135
+ };
131
136
  export declare function composeAppendSystemPrompt(host: HostContext, sources: IdentitySources, extras?: ComposeExtras): AppendBlockResult;
132
137
  /** Task 1214 — the admin voice contract slice: the `## How you sound` heading
133
138
  * through end of file (the complement of `stripVoiceSection`). Returns null
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAwEA,eAAO,MAAM,iBAAiB,QAKnB,CAAA;AAQX,eAAO,MAAM,gBAAgB,QAKlB,CAAA;AAEX,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED;;;;wDAIwD;AACxD,MAAM,MAAM,eAAe,GACvB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACrC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAC3D;uEACuE;GACrE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAE3C;;;;;;;;;;;;;;kDAckD;AAClD,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEjC,MAAM,WAAW,aAAa;IAC5B;iDAC6C;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ;sCACkC;IAClC,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ;;;kCAG8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ;4CACwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAA;IACZ,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAClC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAA;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B;+BAC2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAA;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,cAAc,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;IACzC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAA;IACvC,iBAAiB,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC/C;;;;2DAIuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;gFAE4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;4DAGwD;IACxD,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACnC;AAED,MAAM,MAAM,iBAAiB,GACzB;IACE,EAAE,EAAE,IAAI,CAAA;IACR,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,sBAAsB,EAAE,MAAM,CAAA;IAC9B,gBAAgB,EAAE,MAAM,CAAA;IACxB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,mBAAmB,EAAE,MAAM,CAAA;CAC5B,GACD;IACE,EAAE,EAAE,KAAK,CAAA;IAMT,MAAM,EAAE,iBAAiB,GAAG,qBAAqB,GAAG,YAAY,GAAG,mBAAmB,GAAG,iBAAiB,CAAA;IAC1G,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AA8LL,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,eAAe,EACxB,MAAM,GAAE,aAAkB,GACzB,iBAAiB,CA2EnB;AA4DD;;;;;;gEAMgE;AAChE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKlE;AAED,MAAM,MAAM,0BAA0B,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEzE,wBAAgB,8BAA8B,CAC5C,eAAe,EAAE,MAAM,GACtB;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,0BAA0B,EAAE,CAAA;CAAE,CAsCxE;AAED;;;;;;;uEAOuE;AACvE,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,MAAM,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,CA8BvG;AAED;;;;;oCAKoC;AACpC,wBAAgB,uBAAuB,IAAI;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA2EvF"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"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"}
@@ -149,10 +149,18 @@ function renderPluginManifest(plugins) {
149
149
  const inner = parts.join('\n').replace(/\n+$/, '');
150
150
  return { body: inner, bytes: Buffer.byteLength(inner, 'utf8') };
151
151
  }
152
- function renderSpecialistDomains(domains) {
152
+ // Task 2237 — cross-process lockstep with `ui/app/lib/specialist-domains-clause.ts`.
153
+ // The manager cannot import from `ui/app`, so the string is duplicated here and a
154
+ // test reads the UI source to keep the duplicate honest. Emitted inside the
155
+ // renderer rather than at either call site, so `/public-spawn` and `/rc-spawn`
156
+ // cannot drift on whether the roster carries an instruction to delegate. Until
157
+ // now the clause was an unimported constant and no composer emitted it at all,
158
+ // so every roster shipped as a bare list with nothing telling the agent to use it.
159
+ export const SPECIALIST_DOMAINS_ROUTING_CLAUSE = "Specialist subagents own these domains. Match user intent to a tool below and delegate to the specialist. Fall back to memory-search only when no tool here matches. ToolSearch is a last-resort escape hatch for tools not listed in any domain — not a routing mechanism; prefer admitting ignorance over discovering.";
160
+ export function renderSpecialistDomains(domains) {
153
161
  if (!domains || domains.length === 0)
154
162
  return { body: null, bytes: 0 };
155
- const parts = [];
163
+ const parts = [SPECIALIST_DOMAINS_ROUTING_CLAUSE, ''];
156
164
  for (const d of domains) {
157
165
  parts.push(`## ${d.name}`);
158
166
  parts.push(d.description);
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,24 @@ var WhatsAppConfigSchema = z.object({
51
51
  z.object({ managesAccount: z.string(), mode: z.enum(["active", "passive"]).optional() })
52
52
  ])
53
53
  ).optional().describe("Account-manager bindings: E.164 phone \u2192 sub-account. The value is a bare sub-account UUID (mode 'active', the default: a full admin session) or { managesAccount, mode } where mode 'passive' selects a constrained requirement-intake spawn (only work-create, no reply). A bare string and an object without mode both resolve to 'active'. Managed via add-account-manager / remove-account-manager. A phone here must not also be in adminPhones. Read only from the account whose account.json the manager loads its config from (the house); add-account-manager is refused on any other account, and a map left there is inert and purged at boot."),
54
+ registeredParties: z.record(
55
+ z.string(),
56
+ // Task 2234 — deliberately NO regex on `party` here, even though the
57
+ // write path enforces one. `parseWhatsAppConfigTolerant` recovers only
58
+ // from unrecognized_keys; any other issue fails the WHOLE parse, and the
59
+ // manager then loads `whatsAppConfig = {}` (manager.ts). That empties
60
+ // adminPhones and accountManagers and defaults dmPolicy to "disabled",
61
+ // so a single hand-edited label would take down routing for the entire
62
+ // install. A content constraint here converts one bad row into a
63
+ // total outage.
64
+ //
65
+ // The bound is enforced where it fails closed for that row alone:
66
+ // `setRegisteredParty` refuses the write, `registeredPartyFor` refuses to
67
+ // match a malformed row (so it can never reach a log line or the spawn
68
+ // env), and the /rc-spawn body guard re-checks. `.strict()` stays — an
69
+ // unknown key inside the entry IS recoverable by the tolerant parser.
70
+ z.object({ account: z.string(), party: z.string() }).strict()
71
+ ).optional().describe("Registered non-operator counterparties: E.164 phone \u2192 { account, party }. The sender is admitted to the PUBLIC agent on that account's own number, carrying the label; they are never granted admin, which is what separates this from accountManagers. Reached on the house number they take the normal DM policy instead. 'party' is an operator-chosen label (e.g. 'driver'), lowercase letters, digits and hyphens, 1-64 characters; the platform carries it and never interprets it. Managed via add-registered-party / remove-registered-party. A phone here must not also be in adminPhones or accountManagers. Read only from the account whose account.json the manager loads its config from (the house); add-registered-party is refused on any other account, and a map left there is inert and purged at boot."),
54
72
  allowFrom: z.array(z.string()).optional().describe("Phone numbers allowed to message the public agent when DM policy is 'allowlist'. Add '*' for open access. Does not affect admin routing \u2014 use adminPhones for that."),
55
73
  sendReadReceipts: z.boolean().optional().default(true).describe("Whether to send read receipts (blue ticks) when messages are received. Disabling may feel less responsive but preserves privacy."),
56
74
  mediaMaxMb: z.number().int().positive().optional().default(50).describe("Maximum file size in MB for media the agent will download and process."),
@@ -240,8 +258,7 @@ function discardAuthDirSync(authDir) {
240
258
  return false;
241
259
  }
242
260
  }
243
- function listCredentialAccountIds(configDir2) {
244
- const credsRoot = path.join(os.homedir(), configDir2, "credentials", "whatsapp");
261
+ function listCredentialAccountIdsAtRoot(credsRoot) {
245
262
  try {
246
263
  const entries = fsSync.readdirSync(credsRoot, { withFileTypes: true });
247
264
  return entries.filter((e) => e.isDirectory() && hasCredsSync(path.join(credsRoot, e.name))).map((e) => e.name);
@@ -249,6 +266,11 @@ function listCredentialAccountIds(configDir2) {
249
266
  return [];
250
267
  }
251
268
  }
269
+ function listCredentialAccountIds(configDir2) {
270
+ return listCredentialAccountIdsAtRoot(
271
+ path.join(os.homedir(), configDir2, "credentials", "whatsapp")
272
+ );
273
+ }
252
274
  function listCredentialSelfPhones(credsRoot) {
253
275
  try {
254
276
  return fsSync.readdirSync(credsRoot, { withFileTypes: true }).filter((e) => e.isDirectory() && hasCredsSync(path.join(credsRoot, e.name))).map((e) => ({ accountId: e.name, selfPhone: readSelfId(path.join(credsRoot, e.name)).e164 }));
@@ -402,6 +424,7 @@ function appendNotifyEligible(entry2) {
402
424
  allowed: entry2.allowed,
403
425
  reason: entry2.reason,
404
426
  passive: entry2.passive,
427
+ party: entry2.party,
405
428
  persistAccount: entry2.persistAccount,
406
429
  ts: (/* @__PURE__ */ new Date()).toISOString()
407
430
  };
@@ -1358,6 +1381,95 @@ function mediaFallbackBody(extracted) {
1358
1381
  return extracted.mediaType ? `[${extracted.mediaType}]` : "";
1359
1382
  }
1360
1383
 
1384
+ // app/lib/whatsapp/inbound/live-location-census.ts
1385
+ import {
1386
+ extractMessageContent as extractMessageContent2,
1387
+ normalizeMessageContent as normalizeMessageContent2
1388
+ } from "@whiskeysockets/baileys";
1389
+ var WIRE_TAG2 = "[whatsapp:wire]";
1390
+ function formatLiveLocationPayloadLine(msg) {
1391
+ const content = msg.message ? normalizeMessageContent2(msg.message) : null;
1392
+ const inner = content ? extractMessageContent2(content) : null;
1393
+ const live = inner?.liveLocationMessage;
1394
+ if (!live) return null;
1395
+ const num = (v) => v === null || v === void 0 ? "none" : String(v);
1396
+ const captionBytes = live.caption ? Buffer.byteLength(live.caption, "utf8") : 0;
1397
+ const thumbBytes = live.jpegThumbnail ? live.jpegThumbnail.length : 0;
1398
+ return `${WIRE_TAG2} op=live-location-payload msgKeyId=${msg.key?.id ?? "none"} seq=${num(live.sequenceNumber)} timeOffsetS=${num(live.timeOffset)} accuracyM=${num(live.accuracyInMeters)} speedMps=${num(live.speedInMps)} headingDeg=${num(live.degreesClockwiseFromMagneticNorth)} captionBytes=${captionBytes} thumbBytes=${thumbBytes} envDurationS=${num(msg.duration)} envFinal=${msg.finalLiveLocation ? "yes" : "no"}`;
1399
+ }
1400
+ function liveLocationTargetJid(msg) {
1401
+ if (msg.key?.fromMe) return null;
1402
+ const remoteJid = msg.key?.remoteJid;
1403
+ if (!remoteJid) return null;
1404
+ return remoteJid.endsWith("@g.us") ? msg.key?.participant ?? remoteJid : remoteJid;
1405
+ }
1406
+ function formatMessageUpdateLine(u) {
1407
+ const names = u.update ? Object.keys(u.update) : [];
1408
+ return `${WIRE_TAG2} op=message-update msgKeyId=${u.key?.id ?? "none"} fields=${names.length ? names.join(",") : "none"}`;
1409
+ }
1410
+
1411
+ // app/lib/whatsapp/live-location.ts
1412
+ var WIRE_TAG3 = "[whatsapp:wire]";
1413
+ var REARM_MS = 3e4;
1414
+ var SILENCE_MS = 9e4;
1415
+ var subscriptions = /* @__PURE__ */ new Map();
1416
+ var keyOf = (account, jid) => `${account}:${jid}`;
1417
+ function sendEnrolment(sock, account, jid) {
1418
+ const node = {
1419
+ tag: "iq",
1420
+ attrs: { xmlns: "location", type: "get", to: "s.whatsapp.net", target: jid },
1421
+ content: [{ tag: "subscribe", attrs: { participants: "true" } }]
1422
+ };
1423
+ Promise.resolve(sock.query(node)).catch((err) => {
1424
+ console.error(
1425
+ `${WIRE_TAG3} op=live-location-subscribe account=${account} jid=${jid} outcome=fail reason=${(err instanceof Error ? err.message : String(err)).slice(0, 120)}`
1426
+ );
1427
+ });
1428
+ }
1429
+ function subscribeLiveLocation(sock, account, jid) {
1430
+ const key = keyOf(account, jid);
1431
+ const existing = subscriptions.get(key);
1432
+ if (existing) {
1433
+ existing.lastSeenAt = Date.now();
1434
+ return;
1435
+ }
1436
+ const timer = setInterval(() => {
1437
+ const sub = subscriptions.get(key);
1438
+ if (!sub) return;
1439
+ if (Date.now() - sub.lastSeenAt >= SILENCE_MS) {
1440
+ console.error(
1441
+ `${WIRE_TAG3} op=live-location-subscribe account=${account} jid=${jid} outcome=stopped reason=silence`
1442
+ );
1443
+ stopLiveLocation(account, jid);
1444
+ return;
1445
+ }
1446
+ sendEnrolment(sock, account, jid);
1447
+ }, REARM_MS);
1448
+ subscriptions.set(key, { timer, lastSeenAt: Date.now(), account });
1449
+ console.error(
1450
+ `${WIRE_TAG3} op=live-location-subscribe account=${account} jid=${jid} outcome=armed rearmMs=${REARM_MS}`
1451
+ );
1452
+ sendEnrolment(sock, account, jid);
1453
+ }
1454
+ function noteMessageFrom(account, jid) {
1455
+ const sub = subscriptions.get(keyOf(account, jid));
1456
+ if (sub) sub.lastSeenAt = Date.now();
1457
+ }
1458
+ function stopLiveLocation(account, jid) {
1459
+ const key = keyOf(account, jid);
1460
+ const sub = subscriptions.get(key);
1461
+ if (!sub) return;
1462
+ clearInterval(sub.timer);
1463
+ subscriptions.delete(key);
1464
+ }
1465
+ function stopLiveLocationForAccount(account) {
1466
+ for (const [key, sub] of [...subscriptions]) {
1467
+ if (sub.account !== account) continue;
1468
+ clearInterval(sub.timer);
1469
+ subscriptions.delete(key);
1470
+ }
1471
+ }
1472
+
1361
1473
  // app/lib/whatsapp/inbound/reaction.ts
1362
1474
  function toMillis(v) {
1363
1475
  if (v == null) return null;
@@ -1631,6 +1743,17 @@ function managerPhonesForAccount(accountManagers, subAccountId) {
1631
1743
  return phones;
1632
1744
  }
1633
1745
 
1746
+ // app/lib/whatsapp/registered-party.ts
1747
+ var PARTY_LABEL_PATTERN = /^[a-z0-9-]{1,64}$/;
1748
+ function registeredPartyFor(registeredParties, phone) {
1749
+ for (const [partyPhone, entry2] of Object.entries(registeredParties)) {
1750
+ if (!entry2 || !entry2.account || typeof entry2.party !== "string") continue;
1751
+ if (!PARTY_LABEL_PATTERN.test(entry2.party)) continue;
1752
+ if (phonesMatch(partyPhone, phone)) return { account: entry2.account, party: entry2.party };
1753
+ }
1754
+ return null;
1755
+ }
1756
+
1634
1757
  // app/lib/whatsapp/inbound/access-control.ts
1635
1758
  function resolveAccountConfig(config, accountConfig) {
1636
1759
  return {
@@ -1640,7 +1763,16 @@ function resolveAccountConfig(config, accountConfig) {
1640
1763
  selfChatMode: accountConfig?.selfChatMode ?? false,
1641
1764
  // Account-manager bindings are a house-level routing table only — never a
1642
1765
  // per-account override, so this reads the top-level map unconditionally.
1643
- accountManagers: config.accountManagers ?? {}
1766
+ accountManagers: config.accountManagers ?? {},
1767
+ // Task 2234 — a house-level routing table exactly as accountManagers is, so
1768
+ // it reads the top level unconditionally and reports no source: there is no
1769
+ // inheritance to describe.
1770
+ registeredParties: config.registeredParties ?? {},
1771
+ sources: {
1772
+ dmPolicy: accountConfig?.dmPolicy !== void 0 ? "account" : "house",
1773
+ adminPhones: accountConfig?.adminPhones !== void 0 ? "account" : "house",
1774
+ allowFrom: accountConfig?.allowFrom !== void 0 ? "account" : "house"
1775
+ }
1644
1776
  };
1645
1777
  }
1646
1778
  function isAdminPhone(phone, adminPhones) {
@@ -1671,28 +1803,80 @@ function checkDmAccess(params) {
1671
1803
  return managerAdmit(managed);
1672
1804
  }
1673
1805
  if (isAdminPhone(senderPhone, cfg.adminPhones)) {
1674
- return { allowed: true, reason: "admin-binding", agentType: "admin", effectiveAccountId: accountId };
1806
+ return {
1807
+ allowed: true,
1808
+ reason: "admin-binding",
1809
+ agentType: "admin",
1810
+ effectiveAccountId: accountId,
1811
+ policyField: "adminPhones",
1812
+ policySource: cfg.sources.adminPhones
1813
+ };
1675
1814
  }
1676
1815
  if (managed && houseAccountId !== void 0 && accountId === houseAccountId) {
1677
1816
  return managerAdmit(managed);
1678
1817
  }
1818
+ const party = registeredPartyFor(cfg.registeredParties, senderPhone);
1819
+ if (party && accountId !== void 0 && party.account === accountId) {
1820
+ if (params.isValidAccount && !params.isValidAccount(party.account)) {
1821
+ return { allowed: false, reason: "registered-party-unresolved", agentType: "public" };
1822
+ }
1823
+ return {
1824
+ allowed: true,
1825
+ reason: "registered-party",
1826
+ agentType: "public",
1827
+ effectiveAccountId: accountId,
1828
+ party: party.party
1829
+ };
1830
+ }
1679
1831
  switch (cfg.dmPolicy) {
1680
1832
  case "open":
1681
- return { allowed: true, reason: "dm-policy-open", agentType: "public", effectiveAccountId: accountId };
1833
+ return {
1834
+ allowed: true,
1835
+ reason: "dm-policy-open",
1836
+ agentType: "public",
1837
+ effectiveAccountId: accountId,
1838
+ policyField: "dmPolicy",
1839
+ policySource: cfg.sources.dmPolicy
1840
+ };
1682
1841
  case "allowlist": {
1683
1842
  const inList = cfg.allowFrom.some((entry2) => {
1684
1843
  if (entry2 === "*") return true;
1685
1844
  return phonesMatch(entry2, senderPhone);
1686
1845
  });
1687
1846
  if (inList) {
1688
- return { allowed: true, reason: "allowlist-match", agentType: "public", effectiveAccountId: accountId };
1847
+ return {
1848
+ allowed: true,
1849
+ reason: "allowlist-match",
1850
+ agentType: "public",
1851
+ effectiveAccountId: accountId,
1852
+ policyField: "allowFrom",
1853
+ policySource: cfg.sources.allowFrom
1854
+ };
1689
1855
  }
1690
- return { allowed: false, reason: "not-in-allowlist", agentType: "public" };
1856
+ return {
1857
+ allowed: false,
1858
+ reason: "not-in-allowlist",
1859
+ agentType: "public",
1860
+ policyField: "allowFrom",
1861
+ policySource: cfg.sources.allowFrom
1862
+ };
1691
1863
  }
1692
1864
  case "disabled":
1693
- return { allowed: false, reason: "dm-policy-disabled", agentType: "public" };
1865
+ return {
1866
+ allowed: false,
1867
+ reason: "dm-policy-disabled",
1868
+ agentType: "public",
1869
+ policyField: "dmPolicy",
1870
+ policySource: cfg.sources.dmPolicy
1871
+ };
1694
1872
  default:
1695
- return { allowed: false, reason: "unknown-dm-policy", agentType: "public" };
1873
+ return {
1874
+ allowed: false,
1875
+ reason: "unknown-dm-policy",
1876
+ agentType: "public",
1877
+ policyField: "dmPolicy",
1878
+ policySource: cfg.sources.dmPolicy
1879
+ };
1696
1880
  }
1697
1881
  }
1698
1882
  async function resolveDmAccess(params) {
@@ -1702,7 +1886,22 @@ async function resolveDmAccess(params) {
1702
1886
  if (!e164 || !params.accountId) return base;
1703
1887
  try {
1704
1888
  const personId = await params.resolvePersonByPhone(params.accountId, e164);
1705
- return { ...base, personId };
1889
+ if (personId) return { ...base, personId };
1890
+ if (base.reason !== "registered-party" || !params.ensurePartyPerson) return { ...base, personId };
1891
+ let created = null;
1892
+ try {
1893
+ created = await params.ensurePartyPerson(params.accountId, e164);
1894
+ } catch (err) {
1895
+ console.error(
1896
+ `[whatsapp:route] op=registered-party-person-unresolved senderId=${e164} account=${params.accountId} party=${base.party ?? ""} err=${err instanceof Error ? err.message : String(err)}`
1897
+ );
1898
+ return { ...base, personId: null };
1899
+ }
1900
+ if (created) return { ...base, personId: created };
1901
+ console.error(
1902
+ `[whatsapp:route] op=registered-party-person-unresolved senderId=${e164} account=${params.accountId} party=${base.party ?? ""}`
1903
+ );
1904
+ return { ...base, personId: null };
1706
1905
  } catch (err) {
1707
1906
  console.error(
1708
1907
  `[whatsapp:route] op=person-resolve-error senderId=${e164} err=${err instanceof Error ? err.message : String(err)}`
@@ -1713,6 +1912,16 @@ async function resolveDmAccess(params) {
1713
1912
  function checkGroupAccess(_params) {
1714
1913
  return { allowed: false, reason: "group-observe-only", agentType: "public" };
1715
1914
  }
1915
+ function buildPolicyInheritance(params) {
1916
+ const rows = params.accountKeys.map((accountId) => {
1917
+ const { sources } = resolveAccountConfig(params.config, params.config.accounts?.[accountId]);
1918
+ return { accountId, dmPolicy: sources.dmPolicy, adminPhones: sources.adminPhones, allowFrom: sources.allowFrom };
1919
+ });
1920
+ const inheritedCount = rows.filter(
1921
+ (r) => r.dmPolicy === "house" || r.adminPhones === "house" || r.allowFrom === "house"
1922
+ ).length;
1923
+ return { rows, inheritedCount };
1924
+ }
1716
1925
 
1717
1926
  // app/lib/whatsapp/inbound/dispatch-mode.ts
1718
1927
  function shouldDispatchInbound(config, accountId) {
@@ -1973,13 +2182,17 @@ async function findGrantByContact(contactValue, agentSlug, accountId) {
1973
2182
  }
1974
2183
  }
1975
2184
  async function resolvePersonByPhone(accountId, phone) {
2185
+ const bare = normalizeE164(phone);
2186
+ if (!bare) return null;
2187
+ const plus = `+${bare}`;
1976
2188
  const session = getSession2();
1977
2189
  try {
1978
2190
  const result = await session.run(
1979
- `MATCH (p:Person {accountId: $accountId, phone: $phone})
2191
+ `MATCH (p:Person {accountId: $accountId})
2192
+ WHERE p.phone IN [$bare, $plus] OR p.telephone IN [$bare, $plus]
1980
2193
  RETURN elementId(p) AS personId
1981
2194
  LIMIT 1`,
1982
- { accountId, phone }
2195
+ { accountId, bare, plus }
1983
2196
  );
1984
2197
  if (result.records.length === 0) return null;
1985
2198
  return result.records[0].get("personId");
@@ -2231,7 +2444,7 @@ async function sendTextMessage(sock, to, text, opts) {
2231
2444
  const messageId = result?.key?.id;
2232
2445
  if (messageId) {
2233
2446
  trackAgentSentMessage(messageId);
2234
- console.error(`${TAG9} sent text to=${jid} id=${messageId}`);
2447
+ console.error(`${TAG9} sent text to=${jid} id=${messageId} account=${opts?.accountId ?? "unknown"}`);
2235
2448
  }
2236
2449
  if (opts?.accountId) {
2237
2450
  recordActivity({ accountId: opts.accountId, direction: "outbound", jid, messageType: "text" });
@@ -2315,7 +2528,7 @@ async function sendMediaMessage(sock, to, media, opts) {
2315
2528
  const messageId = result?.key?.id;
2316
2529
  if (messageId) {
2317
2530
  trackAgentSentMessage(messageId);
2318
- console.error(`${TAG9} sent ${media.type} to=${jid} id=${messageId}`);
2531
+ console.error(`${TAG9} sent ${media.type} to=${jid} id=${messageId} account=${opts?.accountId ?? "unknown"}`);
2319
2532
  }
2320
2533
  if (opts?.accountId) {
2321
2534
  recordActivity({ accountId: opts.accountId, direction: "outbound", jid, messageType: media.type });
@@ -2869,7 +3082,7 @@ import { join as join6 } from "path";
2869
3082
  import {
2870
3083
  downloadMediaMessage,
2871
3084
  downloadContentFromMessage,
2872
- normalizeMessageContent as normalizeMessageContent2
3085
+ normalizeMessageContent as normalizeMessageContent3
2873
3086
  } from "@whiskeysockets/baileys";
2874
3087
 
2875
3088
  // app/lib/attachments.ts
@@ -3409,7 +3622,7 @@ async function streamToBuffer(stream) {
3409
3622
  async function downloadInboundMediaBuffer(msg, sock, opts) {
3410
3623
  const rawMessage = msg.message;
3411
3624
  if (!rawMessage) return void 0;
3412
- const content = normalizeMessageContent2(rawMessage);
3625
+ const content = normalizeMessageContent3(rawMessage);
3413
3626
  if (!content) return void 0;
3414
3627
  const inner = content;
3415
3628
  const mimetype = inner.imageMessage?.mimetype ?? inner.videoMessage?.mimetype ?? inner.audioMessage?.mimetype ?? inner.documentMessage?.mimetype ?? inner.stickerMessage?.mimetype ?? void 0;
@@ -4453,6 +4666,7 @@ function watchForDisconnect(conn) {
4453
4666
  if (!conn.sock) return;
4454
4667
  conn.sock.ev.on("connection.update", (update) => {
4455
4668
  if (update.connection === "close") {
4669
+ stopLiveLocationForAccount(conn.accountId);
4456
4670
  if (connections.get(conn.accountId) !== conn) return;
4457
4671
  console.error(`${TAG17} socket disconnected for account=${conn.accountId}`);
4458
4672
  conn.connected = false;
@@ -4601,6 +4815,13 @@ function monitorInbound(conn) {
4601
4815
  let receiptDeferredToWorker = false;
4602
4816
  let dmAccess = null;
4603
4817
  const extracted = extractMessage(msg);
4818
+ const liveLocationLine = formatLiveLocationPayloadLine(msg);
4819
+ if (liveLocationLine) console.error(liveLocationLine);
4820
+ const liveTargetJid = liveLocationTargetJid(msg);
4821
+ if (liveTargetJid) {
4822
+ noteMessageFrom(conn.accountId, liveTargetJid);
4823
+ if (liveLocationLine) subscribeLiveLocation(sock, conn.accountId, liveTargetJid);
4824
+ }
4604
4825
  const mediaServable = !!(extracted.mediaType && extracted.mimetype);
4605
4826
  if (!extracted.text && !mediaServable && msg.key.id) {
4606
4827
  markDeclined({
@@ -4655,12 +4876,13 @@ function monitorInbound(conn) {
4655
4876
  allowed: dmAccess?.allowed === true,
4656
4877
  reason: dmAccess?.reason ?? "group",
4657
4878
  passive: dmAccess?.passive === true,
4879
+ party: dmAccess?.party,
4658
4880
  persistAccount: persistAccountId
4659
4881
  });
4660
4882
  }
4661
4883
  if (notifyDecision.emit && msg.key.id) {
4662
4884
  console.error(
4663
- `[wa-notify] op=eligible msgId=${msg.key.id} account=${persistAccountId} senderType=${notifyDecision.senderType} reason=${dmAccess?.reason ?? "none"} passive=${dmAccess?.passive === true}`
4885
+ `[wa-notify] op=eligible msgId=${msg.key.id} account=${persistAccountId} senderType=${notifyDecision.senderType} reason=${dmAccess?.reason ?? "none"} passive=${dmAccess?.passive === true}` + (dmAccess?.party ? ` party=${dmAccess.party}` : "")
4664
4886
  );
4665
4887
  if (onNotify) {
4666
4888
  try {
@@ -4927,6 +5149,9 @@ function monitorInbound(conn) {
4927
5149
  }
4928
5150
  }
4929
5151
  });
5152
+ sock.ev.on("messages.update", (updates) => {
5153
+ for (const u of updates ?? []) console.error(formatMessageUpdateLine(u));
5154
+ });
4930
5155
  console.error(`[whatsapp-reaction] op=subscribed account=${conn.platformAccountId}`);
4931
5156
  sock.ev.on("messages.reaction", async (reactions) => {
4932
5157
  for (const entry2 of reactions) {
@@ -5059,12 +5284,34 @@ async function handleInboundMessage(conn, msg) {
5059
5284
  // Task 2227 — the account of the number messaged decides the arm.
5060
5285
  houseAccountId: conn.houseAccountId,
5061
5286
  isValidAccount: (id) => isValidAccountId(id),
5062
- resolvePersonByPhone
5287
+ resolvePersonByPhone,
5288
+ // Task 2234 — the resolve-or-create for a registered party, and ONLY for a
5289
+ // registered party (the gate gates the call on the reason). A public admit
5290
+ // with no :Person is dropped `public-unresolved`, so without this an
5291
+ // operator-registered counterparty vanishes on their first message. Same
5292
+ // MERGE the passive path uses (server/index.ts), so a party and a passive
5293
+ // manager anchor their :Person identically.
5294
+ ensurePartyPerson: (accountId, phone) => ensureManagerPerson(accountId, phone)
5063
5295
  });
5064
5296
  }
5065
5297
  console.error(
5066
- `${TAG17} inbound account=${conn.accountId} from=${senderPhone} group=${isGroup} access=${accessResult.allowed ? "allowed" : "blocked"}(${accessResult.reason}) agent=${accessResult.agentType} effectiveAccount=${accessResult.effectiveAccountId ?? ""} destAccount=${conn.platformAccountId}` + (extracted.mediaType ? ` media=${extracted.mediaType}` : "") + (extracted.quotedMessage ? ` replyTo=${extracted.quotedMessage.id}` : "")
5298
+ `${TAG17} inbound account=${conn.accountId} from=${senderPhone} group=${isGroup} access=${accessResult.allowed ? "allowed" : "blocked"}(${accessResult.reason}) agent=${accessResult.agentType} effectiveAccount=${accessResult.effectiveAccountId ?? ""} destAccount=${conn.platformAccountId}` + // Task 2234 the sender class is not derivable from `agent=public` alone:
5299
+ // a registered party and an open-policy stranger both read `public`. The
5300
+ // label is the only thing on this line that separates them.
5301
+ (accessResult.party ? ` party=${accessResult.party}` : "") + // Task 2235 — an inherited policy behaves exactly like a set one until the
5302
+ // house changes, so the verdict has to say which it was. Emitted only for the
5303
+ // arms a policy field actually decided; the self-phone and account-manager
5304
+ // arms consult none, and stamping them would assert something untrue.
5305
+ (accessResult.policySource ? ` policySource=${accessResult.policySource} policyField=${accessResult.policyField}` : "") + (extracted.mediaType ? ` media=${extracted.mediaType}` : "") + (extracted.quotedMessage ? ` replyTo=${extracted.quotedMessage.id}` : "")
5067
5306
  );
5307
+ if (!isGroup && accessResult.reason !== "registered-party") {
5308
+ const shadowedParty = registeredPartyFor(whatsAppConfig.registeredParties ?? {}, senderPhone);
5309
+ if (shadowedParty && shadowedParty.account === conn.platformAccountId) {
5310
+ console.error(
5311
+ `${TAG17} op=registered-party-shadowed phone=${senderPhone} account=${shadowedParty.account} party=${shadowedParty.party} shadowedBy=${accessResult.reason}`
5312
+ );
5313
+ }
5314
+ }
5068
5315
  if (!accessResult.allowed && accessResult.reason === "account-manager-unresolved") {
5069
5316
  console.error(
5070
5317
  `[whatsapp-native] op=account-manager-reject senderId=${senderPhone} reason=unresolved-effective-account`
@@ -5148,6 +5395,9 @@ async function handleInboundMessage(conn, msg) {
5148
5395
  accountId: conn.accountId,
5149
5396
  agentType: accessResult.agentType,
5150
5397
  passive: accessResult.passive === true,
5398
+ // Task 2234 — the gate's registered-party label, undefined for every other
5399
+ // sender. Rides to the gateway and on to the spawn env.
5400
+ party: accessResult.party,
5151
5401
  personId: accessResult.personId ?? null,
5152
5402
  senderPhone,
5153
5403
  text: extracted.text,
@@ -5202,6 +5452,7 @@ export {
5202
5452
  readConversationSummaries,
5203
5453
  readAllConversations,
5204
5454
  enumerateValidAccountIds,
5455
+ isProvisionedAccount,
5205
5456
  resolveHouseOrSoleAccountId,
5206
5457
  getAccountsDirFromEnv,
5207
5458
  validateAccountIdEnv,
@@ -5226,6 +5477,7 @@ export {
5226
5477
  getAuthAgeMs,
5227
5478
  clearAuth,
5228
5479
  discardAuthDirSync,
5480
+ listCredentialAccountIdsAtRoot,
5229
5481
  listCredentialSelfPhones,
5230
5482
  startVersionDriftCensus,
5231
5483
  drainCredsSaveQueue,
@@ -5248,7 +5500,11 @@ export {
5248
5500
  readLidMap,
5249
5501
  managedAccountFor,
5250
5502
  managerPhonesForAccount,
5503
+ PARTY_LABEL_PATTERN,
5504
+ registeredPartyFor,
5505
+ resolveAccountConfig,
5251
5506
  isAdminPhone,
5507
+ buildPolicyInheritance,
5252
5508
  shouldDispatchInbound,
5253
5509
  formatSenderPhone,
5254
5510
  checkAccessRateLimit,
@@ -5280,6 +5536,7 @@ export {
5280
5536
  writeChatMetadataMerged,
5281
5537
  groupEntriesFromUpdates,
5282
5538
  resolvePlatformAccountId,
5539
+ resolveHouseAccountId,
5283
5540
  warnNonUuidAccount,
5284
5541
  isHouseManagedService,
5285
5542
  isCustomerTurnSuppressed,
@@ -30,7 +30,7 @@ import {
30
30
  startConnection,
31
31
  stopConnection,
32
32
  storeMessage
33
- } from "./chunk-UH6GCQO4.js";
33
+ } from "./chunk-4QCYFTAI.js";
34
34
  import "./chunk-BP7LH7MC.js";
35
35
  import "./chunk-PFF6I7KP.js";
36
36
  export {