@rubytech/create-maxy-code 0.1.577 → 0.1.578

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 (188) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/lib/routine-templates/dist/index.d.ts +4 -4
  3. package/payload/platform/lib/routine-templates/dist/index.js +4 -4
  4. package/payload/platform/lib/routine-templates/src/index.ts +4 -4
  5. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +3 -1
  6. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +9 -0
  7. package/payload/platform/plugins/docs/references/platform.md +2 -0
  8. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +0 -2
  9. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
  10. package/payload/server/public/activity.html +4 -4
  11. package/payload/server/public/agents.html +3 -3
  12. package/payload/server/public/assets/{AdminLoginScreens-BLGZEaKU.js → AdminLoginScreens-CAZ3DSwA.js} +1 -1
  13. package/payload/server/public/assets/AdminLoginScreens-CAZ3DSwA.js.br +0 -0
  14. package/payload/server/public/assets/AdminLoginScreens-CAZ3DSwA.js.gz +0 -0
  15. package/payload/server/public/assets/{AdminShell-C_M7YE5Z.js → AdminShell-BLs5v0qF.js} +1 -1
  16. package/payload/server/public/assets/AdminShell-BLs5v0qF.js.br +0 -0
  17. package/payload/server/public/assets/AdminShell-BLs5v0qF.js.gz +0 -0
  18. package/payload/server/public/assets/{activity-BL6qbB9a.js → activity-BwPck2yT.js} +1 -1
  19. package/payload/server/public/assets/activity-BwPck2yT.js.br +0 -0
  20. package/payload/server/public/assets/activity-BwPck2yT.js.gz +0 -0
  21. package/payload/server/public/assets/{admin-jnJ3P2u4.js → admin-DjtOoabA.js} +1 -1
  22. package/payload/server/public/assets/admin-DjtOoabA.js.br +0 -0
  23. package/payload/server/public/assets/admin-DjtOoabA.js.gz +0 -0
  24. package/payload/server/public/assets/{agents-BzhfKZDN.js → agents-IQYaRvoh.js} +1 -1
  25. package/payload/server/public/assets/agents-IQYaRvoh.js.br +0 -0
  26. package/payload/server/public/assets/agents-IQYaRvoh.js.gz +0 -0
  27. package/payload/server/public/assets/{browser-C-6io2B9.js → browser-CPG8w8rQ.js} +1 -1
  28. package/payload/server/public/assets/browser-CPG8w8rQ.js.br +0 -0
  29. package/payload/server/public/assets/browser-CPG8w8rQ.js.gz +0 -0
  30. package/payload/server/public/assets/{calendar-Dt3gS88s.js → calendar-CRwrgNdq.js} +1 -1
  31. package/payload/server/public/assets/calendar-CRwrgNdq.js.br +0 -0
  32. package/payload/server/public/assets/calendar-CRwrgNdq.js.gz +0 -0
  33. package/payload/server/public/assets/chat-B7yZ4KLl.js +1 -0
  34. package/payload/server/public/assets/chat-B7yZ4KLl.js.br +3 -0
  35. package/payload/server/public/assets/chat-B7yZ4KLl.js.gz +0 -0
  36. package/payload/server/public/assets/chevron-left-BzKUQqLy.js +1 -0
  37. package/payload/server/public/assets/chevron-left-BzKUQqLy.js.br +0 -0
  38. package/payload/server/public/assets/clock-BafWFNGo.js +1 -0
  39. package/payload/server/public/assets/clock-BafWFNGo.js.br +0 -0
  40. package/payload/server/public/assets/{copy-TkPJgllS.js → copy-JyiMTV0k.js} +1 -1
  41. package/payload/server/public/assets/copy-JyiMTV0k.js.br +0 -0
  42. package/payload/server/public/assets/copy-JyiMTV0k.js.gz +0 -0
  43. package/payload/server/public/assets/data-DHtGCVrl.js +1 -0
  44. package/payload/server/public/assets/data-DHtGCVrl.js.br +0 -0
  45. package/payload/server/public/assets/data-DHtGCVrl.js.gz +0 -0
  46. package/payload/server/public/assets/{file-text-DyAL2DCh.js → file-text-cnHv9ZS6.js} +1 -1
  47. package/payload/server/public/assets/file-text-cnHv9ZS6.js.br +0 -0
  48. package/payload/server/public/assets/file-text-cnHv9ZS6.js.gz +0 -0
  49. package/payload/server/public/assets/{graph-PiNIcCfX.js → graph-lFwEUDSH.js} +1 -1
  50. package/payload/server/public/assets/graph-lFwEUDSH.js.br +0 -0
  51. package/payload/server/public/assets/graph-lFwEUDSH.js.gz +0 -0
  52. package/payload/server/public/assets/{graph-labels-8jKFrLHn.js → graph-labels-C6qUA0vO.js} +1 -1
  53. package/payload/server/public/assets/graph-labels-C6qUA0vO.js.br +0 -0
  54. package/payload/server/public/assets/graph-labels-C6qUA0vO.js.gz +0 -0
  55. package/payload/server/public/assets/{operator-DKGKGzrb.js → operator-BdoEy5mh.js} +1 -1
  56. package/payload/server/public/assets/operator-BdoEy5mh.js.br +0 -0
  57. package/payload/server/public/assets/operator-BdoEy5mh.js.gz +0 -0
  58. package/payload/server/public/assets/{page-DXz_K10G.js → page-DMrnnXNA.js} +1 -1
  59. package/payload/server/public/assets/page-DMrnnXNA.js.br +0 -0
  60. package/payload/server/public/assets/page-DMrnnXNA.js.gz +0 -0
  61. package/payload/server/public/assets/{page-BU5vlY9Y.js → page-DeMikGYL.js} +1 -1
  62. package/payload/server/public/assets/page-DeMikGYL.js.br +0 -0
  63. package/payload/server/public/assets/page-DeMikGYL.js.gz +0 -0
  64. package/payload/server/public/assets/play-D6OAQVJ_.js +1 -0
  65. package/payload/server/public/assets/play-D6OAQVJ_.js.br +0 -0
  66. package/payload/server/public/assets/play-D6OAQVJ_.js.gz +0 -0
  67. package/payload/server/public/assets/{public-BmA3-jLj.js → public-B-X1Cxfw.js} +1 -1
  68. package/payload/server/public/assets/public-B-X1Cxfw.js.br +0 -0
  69. package/payload/server/public/assets/public-B-X1Cxfw.js.gz +0 -0
  70. package/payload/server/public/assets/{rotate-ccw-fCH0LSMq.js → rotate-ccw-DVFvQAHG.js} +1 -1
  71. package/payload/server/public/assets/rotate-ccw-DVFvQAHG.js.br +0 -0
  72. package/payload/server/public/assets/rotate-ccw-DVFvQAHG.js.gz +0 -0
  73. package/payload/server/public/assets/{routines-BeFrmkls.js → routines-CgkkGJaS.js} +1 -1
  74. package/payload/server/public/assets/routines-CgkkGJaS.js.br +0 -0
  75. package/payload/server/public/assets/routines-CgkkGJaS.js.gz +0 -0
  76. package/payload/server/public/assets/{skills-mjls5HBa.js → skills-CW7gVcaG.js} +1 -1
  77. package/payload/server/public/assets/skills-CW7gVcaG.js.br +0 -0
  78. package/payload/server/public/assets/skills-CW7gVcaG.js.gz +0 -0
  79. package/payload/server/public/assets/{tasks-p6puHHD0.js → tasks-Ddjp0Rwh.js} +1 -1
  80. package/payload/server/public/assets/tasks-Ddjp0Rwh.js.br +0 -0
  81. package/payload/server/public/assets/tasks-Ddjp0Rwh.js.gz +0 -0
  82. package/payload/server/public/assets/{triangle-alert-CrZ1ewbd.js → triangle-alert-DUrUutX4.js} +1 -1
  83. package/payload/server/public/assets/triangle-alert-DUrUutX4.js.br +0 -0
  84. package/payload/server/public/assets/triangle-alert-DUrUutX4.js.gz +0 -0
  85. package/payload/server/public/assets/{useCopyFeedback-zOQNrIwd.js → useCopyFeedback-ClVINDrQ.js} +1 -1
  86. package/payload/server/public/assets/useCopyFeedback-ClVINDrQ.js.br +0 -0
  87. package/payload/server/public/assets/useCopyFeedback-ClVINDrQ.js.gz +0 -0
  88. package/payload/server/public/assets/{useMediaQuery-BmG090FR.js → useMediaQuery-BUFkZYRs.js} +1 -1
  89. package/payload/server/public/assets/useMediaQuery-BUFkZYRs.js.br +0 -0
  90. package/payload/server/public/assets/{useMediaQuery-BmG090FR.js.gz → useMediaQuery-BUFkZYRs.js.gz} +0 -0
  91. package/payload/server/public/assets/{useVoiceRecorder-9pf6FFJ-.js → useVoiceRecorder-DnyqQFet.js} +1 -1
  92. package/payload/server/public/assets/useVoiceRecorder-DnyqQFet.js.br +0 -0
  93. package/payload/server/public/assets/useVoiceRecorder-DnyqQFet.js.gz +0 -0
  94. package/payload/server/public/assets/{wrench-k4GYG5rc.js → wrench-BW28s_d0.js} +1 -1
  95. package/payload/server/public/assets/wrench-BW28s_d0.js.br +0 -0
  96. package/payload/server/public/assets/wrench-BW28s_d0.js.gz +0 -0
  97. package/payload/server/public/browser.html +3 -3
  98. package/payload/server/public/calendar.html +6 -6
  99. package/payload/server/public/chat.html +12 -12
  100. package/payload/server/public/data.html +10 -10
  101. package/payload/server/public/graph.html +8 -8
  102. package/payload/server/public/index.html +12 -12
  103. package/payload/server/public/operator.html +13 -13
  104. package/payload/server/public/public.html +12 -12
  105. package/payload/server/public/routines.html +6 -6
  106. package/payload/server/public/skills.html +4 -4
  107. package/payload/server/public/tasks.html +5 -5
  108. package/payload/server/server.js +520 -272
  109. package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.d.ts +0 -6
  110. package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.d.ts.map +0 -1
  111. package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.js +0 -102
  112. package/payload/platform/plugins/dispatch/mcp/dist/scripts/converge-visit-instants.js.map +0 -1
  113. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/converge-routine-description.test.d.ts +0 -2
  114. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/converge-routine-description.test.d.ts.map +0 -1
  115. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/converge-routine-description.test.js +0 -87
  116. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/converge-routine-description.test.js.map +0 -1
  117. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/converge-startdate-utc.test.d.ts +0 -2
  118. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/converge-startdate-utc.test.d.ts.map +0 -1
  119. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/converge-startdate-utc.test.js +0 -79
  120. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/converge-startdate-utc.test.js.map +0 -1
  121. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-routine-description.d.ts +0 -35
  122. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-routine-description.d.ts.map +0 -1
  123. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-routine-description.js +0 -56
  124. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-routine-description.js.map +0 -1
  125. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-startdate-utc.d.ts +0 -24
  126. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-startdate-utc.d.ts.map +0 -1
  127. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-startdate-utc.js +0 -87
  128. package/payload/platform/plugins/scheduling/mcp/dist/scripts/converge-startdate-utc.js.map +0 -1
  129. package/payload/server/public/assets/AdminLoginScreens-BLGZEaKU.js.br +0 -0
  130. package/payload/server/public/assets/AdminLoginScreens-BLGZEaKU.js.gz +0 -0
  131. package/payload/server/public/assets/AdminShell-C_M7YE5Z.js.br +0 -0
  132. package/payload/server/public/assets/AdminShell-C_M7YE5Z.js.gz +0 -0
  133. package/payload/server/public/assets/activity-BL6qbB9a.js.br +0 -0
  134. package/payload/server/public/assets/activity-BL6qbB9a.js.gz +0 -0
  135. package/payload/server/public/assets/admin-jnJ3P2u4.js.br +0 -0
  136. package/payload/server/public/assets/admin-jnJ3P2u4.js.gz +0 -0
  137. package/payload/server/public/assets/agents-BzhfKZDN.js.br +0 -0
  138. package/payload/server/public/assets/agents-BzhfKZDN.js.gz +0 -0
  139. package/payload/server/public/assets/browser-C-6io2B9.js.br +0 -0
  140. package/payload/server/public/assets/browser-C-6io2B9.js.gz +0 -0
  141. package/payload/server/public/assets/calendar-Dt3gS88s.js.br +0 -0
  142. package/payload/server/public/assets/calendar-Dt3gS88s.js.gz +0 -0
  143. package/payload/server/public/assets/chat-IUOvVkL-.js +0 -1
  144. package/payload/server/public/assets/chat-IUOvVkL-.js.br +0 -1
  145. package/payload/server/public/assets/chat-IUOvVkL-.js.gz +0 -0
  146. package/payload/server/public/assets/chevron-left-DSzR9zR7.js +0 -1
  147. package/payload/server/public/assets/chevron-left-DSzR9zR7.js.br +0 -0
  148. package/payload/server/public/assets/clock-C5xE5p2I.js +0 -1
  149. package/payload/server/public/assets/clock-C5xE5p2I.js.br +0 -0
  150. package/payload/server/public/assets/copy-TkPJgllS.js.br +0 -0
  151. package/payload/server/public/assets/copy-TkPJgllS.js.gz +0 -0
  152. package/payload/server/public/assets/data-Bhv0Pvfl.js +0 -1
  153. package/payload/server/public/assets/data-Bhv0Pvfl.js.br +0 -0
  154. package/payload/server/public/assets/data-Bhv0Pvfl.js.gz +0 -0
  155. package/payload/server/public/assets/file-text-DyAL2DCh.js.br +0 -0
  156. package/payload/server/public/assets/file-text-DyAL2DCh.js.gz +0 -0
  157. package/payload/server/public/assets/graph-PiNIcCfX.js.br +0 -0
  158. package/payload/server/public/assets/graph-PiNIcCfX.js.gz +0 -0
  159. package/payload/server/public/assets/graph-labels-8jKFrLHn.js.br +0 -0
  160. package/payload/server/public/assets/graph-labels-8jKFrLHn.js.gz +0 -0
  161. package/payload/server/public/assets/operator-DKGKGzrb.js.br +0 -0
  162. package/payload/server/public/assets/operator-DKGKGzrb.js.gz +0 -0
  163. package/payload/server/public/assets/page-BU5vlY9Y.js.br +0 -0
  164. package/payload/server/public/assets/page-BU5vlY9Y.js.gz +0 -0
  165. package/payload/server/public/assets/page-DXz_K10G.js.br +0 -0
  166. package/payload/server/public/assets/page-DXz_K10G.js.gz +0 -0
  167. package/payload/server/public/assets/play-CmSyYrB6.js +0 -1
  168. package/payload/server/public/assets/play-CmSyYrB6.js.br +0 -0
  169. package/payload/server/public/assets/play-CmSyYrB6.js.gz +0 -0
  170. package/payload/server/public/assets/public-BmA3-jLj.js.br +0 -0
  171. package/payload/server/public/assets/public-BmA3-jLj.js.gz +0 -0
  172. package/payload/server/public/assets/rotate-ccw-fCH0LSMq.js.br +0 -0
  173. package/payload/server/public/assets/rotate-ccw-fCH0LSMq.js.gz +0 -0
  174. package/payload/server/public/assets/routines-BeFrmkls.js.br +0 -0
  175. package/payload/server/public/assets/routines-BeFrmkls.js.gz +0 -0
  176. package/payload/server/public/assets/skills-mjls5HBa.js.br +0 -0
  177. package/payload/server/public/assets/skills-mjls5HBa.js.gz +0 -0
  178. package/payload/server/public/assets/tasks-p6puHHD0.js.br +0 -0
  179. package/payload/server/public/assets/tasks-p6puHHD0.js.gz +0 -0
  180. package/payload/server/public/assets/triangle-alert-CrZ1ewbd.js.br +0 -0
  181. package/payload/server/public/assets/triangle-alert-CrZ1ewbd.js.gz +0 -0
  182. package/payload/server/public/assets/useCopyFeedback-zOQNrIwd.js.br +0 -0
  183. package/payload/server/public/assets/useCopyFeedback-zOQNrIwd.js.gz +0 -0
  184. package/payload/server/public/assets/useMediaQuery-BmG090FR.js.br +0 -0
  185. package/payload/server/public/assets/useVoiceRecorder-9pf6FFJ-.js.br +0 -0
  186. package/payload/server/public/assets/useVoiceRecorder-9pf6FFJ-.js.gz +0 -0
  187. package/payload/server/public/assets/wrench-k4GYG5rc.js.br +0 -0
  188. package/payload/server/public/assets/wrench-k4GYG5rc.js.gz +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/create-maxy-code",
3
- "version": "0.1.577",
3
+ "version": "0.1.578",
4
4
  "description": "Install Maxy — AI for Productive People",
5
5
  "bin": {
6
6
  "create-maxy-code": "./dist/index.js"
@@ -133,10 +133,10 @@ export declare function resolveOwnerTimezone(session: SeedSessionLike, accountId
133
133
  * description-less permanently because `skip-operator-edited` takes neither
134
134
  * branch. Both halves of that argument are gone. The routines PATCH now accepts
135
135
  * `description` and stamps `operatorEdited`, so an unconditional write would
136
- * destroy the operator's own caption on the next version bump; and the
137
- * scheduling plugin's one-shot `converge-routine-description` has already given
138
- * every pre-existing row a description, so no row is left holding only a
139
- * title.
136
+ * destroy the operator's own caption on the next version bump; and every
137
+ * pre-existing row already carries a description, so no row is left holding
138
+ * only a title. (A one-shot gave them one; it was retired on 2026-08-08 along
139
+ * with the rest of the install-time migrations.)
140
140
  *
141
141
  * The gate (Task 2379) is written by a `SET` after the MERGE rather than inside
142
142
  * either branch, because both branches need `e.eventId` and only one of them
@@ -108,10 +108,10 @@ async function resolveOwnerTimezone(session, accountId) {
108
108
  * description-less permanently because `skip-operator-edited` takes neither
109
109
  * branch. Both halves of that argument are gone. The routines PATCH now accepts
110
110
  * `description` and stamps `operatorEdited`, so an unconditional write would
111
- * destroy the operator's own caption on the next version bump; and the
112
- * scheduling plugin's one-shot `converge-routine-description` has already given
113
- * every pre-existing row a description, so no row is left holding only a
114
- * title.
111
+ * destroy the operator's own caption on the next version bump; and every
112
+ * pre-existing row already carries a description, so no row is left holding
113
+ * only a title. (A one-shot gave them one; it was retired on 2026-08-08 along
114
+ * with the rest of the install-time migrations.)
115
115
  *
116
116
  * The gate (Task 2379) is written by a `SET` after the MERGE rather than inside
117
117
  * either branch, because both branches need `e.eventId` and only one of them
@@ -175,10 +175,10 @@ export async function resolveOwnerTimezone(
175
175
  * description-less permanently because `skip-operator-edited` takes neither
176
176
  * branch. Both halves of that argument are gone. The routines PATCH now accepts
177
177
  * `description` and stamps `operatorEdited`, so an unconditional write would
178
- * destroy the operator's own caption on the next version bump; and the
179
- * scheduling plugin's one-shot `converge-routine-description` has already given
180
- * every pre-existing row a description, so no row is left holding only a
181
- * title.
178
+ * destroy the operator's own caption on the next version bump; and every
179
+ * pre-existing row already carries a description, so no row is left holding
180
+ * only a title. (A one-shot gave them one; it was retired on 2026-08-08 along
181
+ * with the rest of the install-time migrations.)
182
182
  *
183
183
  * The gate (Task 2379) is written by a `SET` after the MERGE rather than inside
184
184
  * either branch, because both branches need `e.eventId` and only one of them
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: platform-architecture
3
3
  description: Use when grounding any documented-surface claim about what Maxy ships — plugins, skills, specialists, install/deploy flows, internals. This is the install catalogue, not evidence of what is enabled on the current account. For install state on this account, call `capabilities-here`; for documented surface, cite the `Source:` URL inline.
4
- content-hash: sha256:986f31a5e7a43c78ee8048c088c79c112c01acf1956544e40bd5adf0dad6f76b
4
+ content-hash: sha256:144720aea5fff04c9b3134697602966503cd9d5bea39fb2caaeb2065b0a9f70a
5
5
  brand: maxy-code
6
6
  product-name: Maxy
7
7
  ---
@@ -282,6 +282,8 @@ The sweep is the catch-net for `master-fd=close-failed` and any future regressio
282
282
 
283
283
  `openFdCount()` reads `/proc/self/fd` directly on Linux and returns `-1` on darwin (the dev-Mac path). The fd-leak audit on the laptop: `~/maxy-code/platform/scripts/logs-read.sh --tail server 400 | grep -E '\[fd-audit\]|op=archive-release'`. Full per-spawn lifeline: `grep -E '\[rc-spawn\]|\[pty-tracker\]'` filtered by `unitToken`.
284
284
 
285
+ **Reader frame-strip census.** `~/maxy-code/platform/scripts/logs-read.sh --tail server 200 | grep -E '\[chat-reader\]|op=channel-unified'` pairs the per-account envelope-strip counts against the multi-door spawn count, which is the pairing the check needs: `op=frame-unstripped rows=0` is only a pass alongside `op=frame-census nested>0`, because a zero on its own cannot tell a healthy account from a census that stopped measuring. `op=frame-census accounts=0` says the pass measured nothing. `server.log` rotates on size, so `zgrep` the `.gz` siblings before concluding a window is absent. Mechanism, success and failure conditions in [`.docs/admin-webchat-native-channel.md`](../../../.docs/admin-webchat-native-channel.md).
286
+
285
287
  **WhatsApp inbound `/input` post-condition + sink-timestamp invariant.** An accepted `/input` returns `200` the moment the PTY write lands, but a `200` is not proof a turn submitted. The manager fires a bounded post-condition poll and logs `op=input-submitted … ackMs=…` (PTY went `busy` or a new JSONL user entry appeared) or `op=input-no-turn … ptyStatus=… lastJsonlEntryAgeMs=…` when the window elapses — so an accepted-but-unsubmitted input is visible in ≈8s, not only at the 300s turn-timeout. On timeout the bridge attributes the cause from the JSONL tail: `op=turn-timeout cause=no-turn` (no completed turn) vs `cause=relay-missed` (an assistant `end_turn` landed but the follower never relayed it); a per-sender `op=inbound-outcome relay-ok=N timeout-no-turn=N timeout-relay-missed=N` tally makes the failure rate one grep. **Sink-timestamp invariant:** every `server.log` line is stamped with a leading ISO timestamp at the stdout/stderr sink of the process that emits it — two sinks, one per process (UI: `server-init.cjs`; manager: `src/install-log-sink.ts`) — because both systemd units append to one `server.log` and `append:` bypasses journald. Never hand-inline a timestamp in a log call. Full lifeline, failure signatures, and diagnostic greps in [`.docs/whatsapp-inbound-lifeline.md`](../../../.docs/whatsapp-inbound-lifeline.md).
286
288
 
287
289
  **PTY lifecycle contract.** A PTY reaches its end via one of two branches: **operator-request** (operator clicks End or the auto-archive Stop hook calls `killSession`) or **natural-exit** (the claude child exits on its own — operator typed `/quit`, SIGINT in the PTY, crash, network drop on `--remote-control`). Both branches honour a single invariant: the pty master file descriptor is released by an explicit `pty.destroy()` and the in-process tracker entry is removed before the next `/list` or `/events` tick. The tracker is a module-scoped `Map<sessionId, PtyTracker>` in `pty-spawner.ts` — the metadata-rich `SessionStore` is gone; the tracker holds only what the file system cannot (PtyHandle + pid + bridge ids + runtime flags). Without the explicit destroy, the master fd lingers in node-pty's internal socket until V8 GC finalises the IPty object — non-deterministic and accumulates under load until the kernel pty cap (Linux 3072, macOS 511) refuses new spawns. Without the explicit row removal, the manager shutdown loop SIGTERMs PIDs that already logged `process-exited`, masking the leak only because the manager restarts every few hours. When both branches fire on the same exit (operator clicks End and node-pty's `onExit` fans out the SIGTERM to both listeners), a per-row `fdReleased` flag short-circuits the second branch so `pty.destroy()` runs exactly once on the live socket — without the flag, the second call throws "socket already destroyed" and the operator-request line would falsely log `master-fd=close-failed`. If the first branch's destroy throws and is rescued, the flag stays unset and the second branch retries (defense in depth). Every `kill … pid=<n>` log line carries a `master-fd=closed` suffix (or `master-fd=close-failed err=<msg>` on the rescued throw branch — a graceful degradation so a corner-case socket-state failure cannot turn a logically-successful exit into a 500); the operator-request line additionally identifies `reason=operator-request`, the natural-exit line identifies `reason=process-exited`. Both branches are verified by the `stop-session-fd-release` and `endpoint-stop-delete` integration tests (operator-request live and already-exited cycles + natural-exit cycle + throw-then-retry coordination, Linux kernel-level ptmx fd accounting on each).
@@ -9,6 +9,15 @@ Invoked by the admin agent directly.
9
9
 
10
10
  This is the platform's release timeline, newest first. Each entry shows the date it shipped and the version it shipped in, so you can tell the operator how current their install is. To compare, read the installed version from `capabilities-here` and match it against the versions below. Keep answers high level and in plain English; this is a summary, not a full commit log.
11
11
 
12
+ ## 2026-08-08 (0.1.578)
13
+
14
+ - Telegram conversations now appear on the dashboard. The composer shipped two releases ago had nothing to show, because the rows behind it were never written.
15
+ - Telegram shows a typing indicator while the assistant is working, so a pause reads as thinking rather than silence.
16
+ - A message no longer arrives wrapped in its own delivery envelope. The clean view was printing the whole composed frame instead of what was written.
17
+ - Two phones on separate accounts no longer share one reader. Two conversations were being served by a single reader while the health check called that healthy.
18
+ - The check that counts answered Telegram turns can now actually register one. It could never record an answer on a turn from you, so its count was always short.
19
+ - The three conversion scripts left behind by the previous release are gone from the install. They were still being built and shipped with nothing able to run them.
20
+
12
21
  ## 2026-08-08 (0.1.577)
13
22
 
14
23
  - Telegram messages keep arriving after a quiet spell. The reader that carries them was attached only when a conversation started, so it died once the conversation went quiet and nothing said so or restarted it. This is the same fault fixed for WhatsApp in the previous release; a standing check now covers Telegram too.
@@ -155,6 +155,8 @@ The sweep is the catch-net for `master-fd=close-failed` and any future regressio
155
155
 
156
156
  `openFdCount()` reads `/proc/self/fd` directly on Linux and returns `-1` on darwin (the dev-Mac path). The fd-leak audit on the laptop: `~/maxy-code/platform/scripts/logs-read.sh --tail server 400 | grep -E '\[fd-audit\]|op=archive-release'`. Full per-spawn lifeline: `grep -E '\[rc-spawn\]|\[pty-tracker\]'` filtered by `unitToken`.
157
157
 
158
+ **Reader frame-strip census.** `~/maxy-code/platform/scripts/logs-read.sh --tail server 200 | grep -E '\[chat-reader\]|op=channel-unified'` pairs the per-account envelope-strip counts against the multi-door spawn count, which is the pairing the check needs: `op=frame-unstripped rows=0` is only a pass alongside `op=frame-census nested>0`, because a zero on its own cannot tell a healthy account from a census that stopped measuring. `op=frame-census accounts=0` says the pass measured nothing. `server.log` rotates on size, so `zgrep` the `.gz` siblings before concluding a window is absent. Mechanism, success and failure conditions in [`.docs/admin-webchat-native-channel.md`](../../../.docs/admin-webchat-native-channel.md).
159
+
158
160
  **WhatsApp inbound `/input` post-condition + sink-timestamp invariant.** An accepted `/input` returns `200` the moment the PTY write lands, but a `200` is not proof a turn submitted. The manager fires a bounded post-condition poll and logs `op=input-submitted … ackMs=…` (PTY went `busy` or a new JSONL user entry appeared) or `op=input-no-turn … ptyStatus=… lastJsonlEntryAgeMs=…` when the window elapses — so an accepted-but-unsubmitted input is visible in ≈8s, not only at the 300s turn-timeout. On timeout the bridge attributes the cause from the JSONL tail: `op=turn-timeout cause=no-turn` (no completed turn) vs `cause=relay-missed` (an assistant `end_turn` landed but the follower never relayed it); a per-sender `op=inbound-outcome relay-ok=N timeout-no-turn=N timeout-relay-missed=N` tally makes the failure rate one grep. **Sink-timestamp invariant:** every `server.log` line is stamped with a leading ISO timestamp at the stdout/stderr sink of the process that emits it — two sinks, one per process (UI: `server-init.cjs`; manager: `src/install-log-sink.ts`) — because both systemd units append to one `server.log` and `append:` bypasses journald. Never hand-inline a timestamp in a log call. Full lifeline, failure signatures, and diagnostic greps in [`.docs/whatsapp-inbound-lifeline.md`](../../../.docs/whatsapp-inbound-lifeline.md).
159
161
 
160
162
  **PTY lifecycle contract.** A PTY reaches its end via one of two branches: **operator-request** (operator clicks End or the auto-archive Stop hook calls `killSession`) or **natural-exit** (the claude child exits on its own — operator typed `/quit`, SIGINT in the PTY, crash, network drop on `--remote-control`). Both branches honour a single invariant: the pty master file descriptor is released by an explicit `pty.destroy()` and the in-process tracker entry is removed before the next `/list` or `/events` tick. The tracker is a module-scoped `Map<sessionId, PtyTracker>` in `pty-spawner.ts` — the metadata-rich `SessionStore` is gone; the tracker holds only what the file system cannot (PtyHandle + pid + bridge ids + runtime flags). Without the explicit destroy, the master fd lingers in node-pty's internal socket until V8 GC finalises the IPty object — non-deterministic and accumulates under load until the kernel pty cap (Linux 3072, macOS 511) refuses new spawns. Without the explicit row removal, the manager shutdown loop SIGTERMs PIDs that already logged `process-exited`, masking the leak only because the manager restarts every few hours. When both branches fire on the same exit (operator clicks End and node-pty's `onExit` fans out the SIGTERM to both listeners), a per-row `fdReleased` flag short-circuits the second branch so `pty.destroy()` runs exactly once on the live socket — without the flag, the second call throws "socket already destroyed" and the operator-request line would falsely log `master-fd=close-failed`. If the first branch's destroy throws and is rescued, the flag stays unset and the second branch retries (defense in depth). Every `kill … pid=<n>` log line carries a `master-fd=closed` suffix (or `master-fd=close-failed err=<msg>` on the rescued throw branch — a graceful degradation so a corner-case socket-state failure cannot turn a logically-successful exit into a 500); the operator-request line additionally identifies `reason=operator-request`, the natural-exit line identifies `reason=process-exited`. Both branches are verified by the `stop-session-fd-release` and `endpoint-stop-delete` integration tests (operator-request live and already-exited cycles + natural-exit cycle + throw-then-retry coordination, Linux kernel-level ptmx fd accounting on each).
@@ -49,8 +49,6 @@ import { shouldRunSentSweep, SENT_SWEEP_INTERVAL_MS, } from "../lib/sent-sweep-t
49
49
  import { shouldRunDraftReconcile, DRAFT_RECONCILE_INTERVAL_MS, } from "../lib/draft-reconcile-throttle.js";
50
50
  import { openRoutineRun, closeRoutineRun, logRunDispatch } from "../lib/routine-run.js";
51
51
  import { appendNotesCapped } from "../lib/notes-cap.js";
52
- // Task 2213 — shared with converge-startdate-utc.ts, which cannot import this
53
- // module (it calls main() at import time).
54
52
  import { connectNeo4j, listLocalAccountIds } from "../lib/dispatcher-env.js";
55
53
  // ---------------------------------------------------------------------------
56
54
  // Brand-aware config directory — reads configDir from brand.json stamped at install time.
@@ -1 +1 @@
1
- {"version":3,"file":"check-due-events.js","sourceRoot":"","sources":["../../src/scripts/check-due-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-due-events.js","sourceRoot":"","sources":["../../src/scripts/check-due-events.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,12 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Activity — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/activity-BL6qbB9a.js"></script>
8
+ <script type="module" crossorigin src="/assets/activity-BwPck2yT.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-BycB0eMI.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-YcUntiud.js">
11
- <link rel="modulepreload" crossorigin href="/assets/useMediaQuery-BmG090FR.js">
12
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-C_M7YE5Z.js">
13
- <link rel="modulepreload" crossorigin href="/assets/triangle-alert-CrZ1ewbd.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/useMediaQuery-BUFkZYRs.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-BLs5v0qF.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/triangle-alert-DUrUutX4.js">
14
14
  <link rel="stylesheet" crossorigin href="/assets/jsx-runtime-ChVh0xOm.css">
15
15
  <link rel="stylesheet" crossorigin href="/assets/useMediaQuery-DXAuc8G-.css">
16
16
  <link rel="stylesheet" href="/brand-defaults.css">
@@ -5,11 +5,11 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Agents — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/agents-BzhfKZDN.js"></script>
8
+ <script type="module" crossorigin src="/assets/agents-IQYaRvoh.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-BycB0eMI.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-YcUntiud.js">
11
- <link rel="modulepreload" crossorigin href="/assets/useMediaQuery-BmG090FR.js">
12
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-C_M7YE5Z.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/useMediaQuery-BUFkZYRs.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-BLs5v0qF.js">
13
13
  <link rel="stylesheet" crossorigin href="/assets/jsx-runtime-ChVh0xOm.css">
14
14
  <link rel="stylesheet" crossorigin href="/assets/useMediaQuery-DXAuc8G-.css">
15
15
  <link rel="stylesheet" href="/brand-defaults.css">
@@ -1 +1 @@
1
- import{o as e}from"./chunk-BycB0eMI.js";import{i as t,t as n}from"./jsx-runtime-YcUntiud.js";import{O as r,Q as i,et as a,rt as o}from"./useMediaQuery-BmG090FR.js";import{A as s}from"./useVoiceRecorder-9pf6FFJ-.js";import{A as c,O as l,k as u,p as d}from"./AdminShell-C_M7YE5Z.js";var f=e(t(),1);function p(e=`admin`){let[t,n]=(0,f.useState)(`loading`),[r,i]=(0,f.useState)(``),[a,l]=(0,f.useState)(``),[u,d]=(0,f.useState)(``),[p,m]=(0,f.useState)(!1),[h,g]=(0,f.useState)(!1),[_,v]=(0,f.useState)(!1),[y,b]=(0,f.useState)(!1),[x,S]=(0,f.useState)(!1),[C,w]=(0,f.useState)(null),[T,E]=(0,f.useState)(null),[D,O]=(0,f.useState)(void 0),[k,A]=(0,f.useState)(null),[j,M]=(0,f.useState)(void 0),[N,P]=(0,f.useState)(null),[F,I]=(0,f.useState)(null),[L,R]=(0,f.useState)(void 0),z=(0,f.useRef)(void 0),[B,V]=(0,f.useState)(!1),[H,U]=(0,f.useState)(!0);(0,f.useEffect)(()=>{typeof window>`u`||fetch(`/api/remote-auth/status`).then(e=>e.ok?e.json():null).then(e=>{e?.configured&&V(!0)}).catch(()=>{})},[]);let W=(0,f.useRef)(null),G=(0,f.useRef)(null);(0,f.useEffect)(()=>{async function e(){let e=null;try{e=sessionStorage.getItem(`maxy-admin-session-key`)}catch{}if(!e)return!1;try{let t=await fetch(`/api/admin/session?session_key=${encodeURIComponent(e)}`);if(t.status===401){try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}return!1}if(!t.ok)return!1;let r=await t.json();w(r.session_key),I(r.sessionId??null),O(r.businessName),A(r.role??null),M(r.userName===void 0?null:r.userName),P(r.avatar??null);let i=s(r.thinkingView);return z.current=i,R(i),n(`chat`),!0}catch(e){return console.error(`[admin] session restore failed:`,e),!1}}async function t(r=2){try{let i=await fetch(`/api/health`);if(!i.ok){if(r>0)return await new Promise(e=>setTimeout(e,1500)),t(r-1);console.error(`[admin] health check returned ${i.status} after retries`),n(`set-pin`);return}let a=await i.json();if(!a.pin_configured){n(`set-pin`);return}U(!!a.claude_authenticated);let o=!1;try{o=new URLSearchParams(window.location.search).get(`connect`)===`claude`}catch{}if(o){try{let e=new URL(window.location.href);e.searchParams.delete(`connect`),window.history.replaceState(null,``,e.pathname+e.search+e.hash)}catch{}if(!a.claude_authenticated){n(`connect-claude`);return}}if(await e())return;n(`enter-pin`)}catch(e){if(r>0)return await new Promise(e=>setTimeout(e,1500)),t(r-1);console.error(`[admin] health check failed:`,e),n(`set-pin`)}}t()},[]),(0,f.useEffect)(()=>{t===`chat`&&C&&fetch(`/api/admin/claude-info?session_key=${encodeURIComponent(C)}`).then(e=>{if(e.ok)return e.json()}).then(e=>{e&&E(e)}).catch(()=>{})},[t,C]);let K=(0,f.useRef)(null);(0,f.useEffect)(()=>{if(t!==`chat`)return;let e=setInterval(async()=>{try{let e=await fetch(`/api/health`);if(e.ok){let t=await e.json();U(t.auth_status!==`dead`&&t.auth_status!==`missing`)}}catch{}if(C)try{let e=await fetch(`/api/admin/session?session_key=${encodeURIComponent(C)}`);if(e.status!==401)return;let t=(await e.clone().json().catch(()=>null))?.code??`unknown-401`;if(t===`remote-auth-required`){o(`heartbeat`,`/api/admin/session`);return}console.warn(`[admin-auth] outcome=heartbeat-detected-expiry code=${t}`),K.current?.()}catch{}},300*1e3);return()=>clearInterval(e)},[t,C]),(0,f.useEffect)(()=>{t===`connect-claude`&&fetch(`/api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.claude_authenticated&&(U(!0),n(`enter-pin`))}).catch(()=>{})},[t]);async function q(e,t){g(!0);try{let r=await fetch(`/api/admin/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:e,...t?{accountId:t}:{}})});if(!r.ok){let e=await r.json().catch(()=>({}));if(r.status===401&&e?.code===`remote-auth-required`){o(`enter-pin`,`/api/admin/session`);return}d(e.error||`Invalid PIN`);return}let a=await r.json();w(a.session_key),I(a.sessionId??null),O(a.businessName),A(a.role??null),M(a.userName===void 0?null:a.userName),P(a.avatar??null);let c=s(a.thinkingView);z.current=c,R(c);try{sessionStorage.setItem(`maxy-admin-session-key`,a.session_key)}catch{}i(``),n(`chat`)}catch(e){console.error(`[admin] connection error:`,e),d(`Could not connect.`)}finally{g(!1)}}let J=(0,f.useCallback)(async e=>{if(e.preventDefault(),h)return;d(``);let t=a.trim();if(!t){d(`Please enter your name.`);return}if(r.length<4){d(`PIN must be at least 4 characters.`);return}let s=r;g(!0);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:s,name:t})});if(!e.ok){let t=await e.json().catch(()=>({}));if(e.status===401&&t?.code===`remote-auth-required`){o(`set-pin`,`/api/onboarding/set-pin`);return}if(e.status===409){try{let e=await fetch(`/api/health`);if(e.ok){let r=await e.json();r.pin_configured&&r.claude_authenticated?n(`enter-pin`):r.pin_configured?n(`connect-claude`):d(t.error||`Failed to set PIN.`)}else n(`enter-pin`)}catch{n(`enter-pin`)}return}d(t.error||`Failed to set PIN.`);return}let r=await fetch(`/api/health`);if((r.ok?await r.json():null)?.claude_authenticated){await q(s);return}i(``),n(`connect-claude`)}catch(e){console.error(`[admin] connection error:`,e),d(`Could not connect.`)}finally{g(!1)}},[r,h,a]),Y=(0,f.useCallback)(async e=>{e.preventDefault(),d(``),await q(r)},[r]),X=(0,f.useCallback)(async()=>{S(!0);try{if(!await c())return console.warn(`[admin-ui] claude-disconnect not verified — credentials may persist; staying put`),!1;U(!1),w(null),A(null),M(void 0),P(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}return n(`connect-claude`),!0}finally{S(!1)}},[]),Z=(0,f.useCallback)(()=>{w(null),A(null),M(void 0),P(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}i(``),d(``),n(`enter-pin`)},[]);return(0,f.useEffect)(()=>{K.current=Z},[Z]),{appState:t,setAppState:n,pin:r,setPin:i,operatorName:a,setOperatorName:l,pinError:u,setPinError:d,showPin:p,setShowPin:m,pinLoading:h,authPolling:_,setAuthPolling:v,authLoading:y,setAuthLoading:b,disconnecting:x,cacheKey:C,setCacheKey:w,claudeInfo:T,setClaudeInfo:E,businessName:D,role:k,userName:j,userAvatar:N,sessionId:F,setSessionId:I,expandAll:L,setExpandAll:R,expandAllDefaultRef:z,remoteAuthEnabled:B,claudeConnected:H,pinInputRef:W,setPinFormRef:G,handleSetPin:J,handleLogin:Y,handleDisconnect:X,handleLogout:Z}}var m=n();function h({inputRef:e,value:t,onChange:n,onComplete:r,showPin:i,autoFocus:a}){let o=(0,f.useRef)([]);function s(e,r){r.key===`Backspace`?(r.preventDefault(),t[e]?n(t.slice(0,e)+t.slice(e+1)):e>0&&(n(t.slice(0,e-1)+t.slice(e)),o.current[e-1]?.focus())):r.key===`ArrowLeft`&&e>0?o.current[e-1]?.focus():r.key===`ArrowRight`&&e<5?o.current[e+1]?.focus():r.key===`Enter`&&(r.preventDefault(),r.currentTarget.form?.requestSubmit())}function c(e,i){let a=i.nativeEvent.data;if(!a||!/^\d$/.test(a))return;let s=t.split(``);for(s[e]=a;s.length<e;)s.push(``);let c=s.join(``).replace(/\D/g,``).slice(0,6);n(c),c.length===6?r?.(c):e<5&&o.current[e+1]?.focus()}function l(e){e.preventDefault();let t=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,6);t&&(n(t),t.length===6?r?.(t):o.current[t.length]?.focus())}return(0,m.jsx)(`div`,{className:`pin-field`,children:Array.from({length:6}).map((n,r)=>(0,m.jsx)(`input`,{ref:t=>{o.current[r]=t,r===0&&e&&(e.current=t)},type:`text`,inputMode:`numeric`,className:`pin-box${t[r]?` pin-box-filled`:``}`,value:t[r]?i?t[r]:`•`:``,onKeyDown:e=>s(r,e),onInput:e=>c(r,e),onPaste:l,onFocus:e=>e.target.select(),autoFocus:a&&r===0,autoComplete:`off`,maxLength:1,"aria-label":`PIN digit ${r+1}`},r))})}function g(e){let{pin:t,setPin:n,showPin:r,setShowPin:o,pinLoading:s,pinError:c,pinInputRef:d,setPinFormRef:f,onSubmit:p,operatorName:g,setOperatorName:_}=e;return(0,m.jsx)(`div`,{className:`connect-page`,children:(0,m.jsxs)(`div`,{className:`connect-content`,children:[(0,m.jsx)(`img`,{src:a,alt:i.productName,className:`connect-logo connect-logo--maxy`}),!i.logoContainsName&&(0,m.jsxs)(`h1`,{className:`connect-title`,children:[`Welcome to `,i.productName]}),(0,m.jsxs)(`p`,{className:`connect-subtitle`,children:[`Tell `,i.productName,` who you are, then choose a PIN.`]}),(0,m.jsxs)(`form`,{ref:f,onSubmit:p,className:`connect-pin-form`,children:[(0,m.jsxs)(`div`,{className:`pin-input-row`,children:[(0,m.jsx)(`input`,{type:`text`,className:`connect-name-input`,placeholder:`Your full name`,value:g,onChange:e=>_(e.target.value),autoComplete:`name`,autoFocus:!0,required:!0,"aria-label":`Your full name`}),(0,m.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,m.jsxs)(`div`,{className:`pin-input-row`,children:[(0,m.jsx)(h,{inputRef:d,value:t,onChange:n,onComplete:()=>{},showPin:r}),(0,m.jsx)(l,{variant:`send`,type:`submit`,disabled:!t||!g.trim(),loading:s,"aria-label":`Set PIN`,children:(0,m.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,m.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,m.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,m.jsx)(u,{checked:r,onChange:()=>o(e=>!e),label:`Show PIN`})]}),c&&(0,m.jsx)(`p`,{className:`admin-pin-error`,children:c})]})})}function _(e){let{pin:t,setPin:n,showPin:r,setShowPin:o,pinLoading:s,pinError:c,pinInputRef:d,onSubmit:f,remoteAuthEnabled:p,onSignOutRemote:g}=e;return(0,m.jsxs)(`div`,{className:`connect-page`,children:[p&&g&&(0,m.jsx)(`button`,{type:`button`,className:`connect-signout`,onClick:g,children:`Sign out`}),(0,m.jsxs)(`div`,{className:`connect-content`,children:[(0,m.jsx)(`img`,{src:a,alt:i.productName,className:`connect-logo connect-logo--maxy`}),!i.logoContainsName&&(0,m.jsx)(`h1`,{className:`connect-title`,children:i.productName}),(0,m.jsxs)(`form`,{onSubmit:f,className:`connect-pin-form`,children:[(0,m.jsxs)(`div`,{className:`pin-input-row`,children:[(0,m.jsx)(h,{inputRef:d,value:t,onChange:n,onComplete:()=>{},showPin:r,autoFocus:!0}),(0,m.jsx)(l,{variant:`send`,type:`submit`,disabled:!t,loading:s,children:(0,m.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,m.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,m.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,m.jsx)(`div`,{className:`pin-options`,children:(0,m.jsx)(u,{checked:r,onChange:()=>o(e=>!e),label:`Show PIN`})})]}),c&&(0,m.jsx)(`p`,{className:`admin-pin-error`,children:c})]})]})}function v(e){let{authPolling:t,setAuthPolling:n,authLoading:r,setAuthLoading:o,pinError:s,setPinError:c,setAppState:u}=e,[p,h]=(0,f.useState)(!1),[g,_]=(0,f.useState)(!1),[v,y]=(0,f.useState)(``),[b,x]=(0,f.useState)(``),[S,C]=(0,f.useState)(``),[w,T]=(0,f.useState)(null),[E,D]=(0,f.useState)(null),[O,k]=(0,f.useState)(!1);(0,f.useEffect)(()=>{try{D(sessionStorage.getItem(`maxy-admin-session-key`))}catch{}k(!0)},[]);async function A(){C(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`paste-code`,code:b})})).json();e.accepted?(C(`Code submitted. Finishing sign-in…`),x(``)):C(e.error||`Could not submit code.`)}catch(e){console.error(`[admin] paste-code error:`,e),C(`Could not submit code.`)}}async function j(){_(!0),c(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`launch-browser`})})).json();e.launched?h(!0):e.error&&c(e.error)}catch(e){console.error(`[admin] browser launch error:`,e),c(`Could not launch browser.`)}_(!1)}async function M(){o(!0),c(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`})).json();if(e.started){n(!0),h(!0),o(!1),y(e.transport||``);for(let e=0;e<120;e++){await new Promise(e=>setTimeout(e,2e3));let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`wait`})})).json();if(typeof e.authTargetId==`string`&&T(e.authTargetId),e.authenticated){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),u(`enter-pin`);return}}c(`Timed out waiting for sign-in. Try again.`),n(!1)}else e.error&&c(e.error)}catch(e){console.error(`[admin] auth flow error:`,e),c(`Could not start auth flow.`)}o(!1)}async function N(){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),n(!1),c(``)}return t||p?(0,m.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100dvh`,overflow:`auto`},children:[(0,m.jsxs)(`header`,{className:`chat-header`,style:{paddingBottom:`12px`,flexShrink:0,position:`relative`,maxWidth:`680px`,width:`100%`,margin:`0 auto`,padding:`24px 20px 12px`},children:[t?(0,m.jsx)(`button`,{onClick:N,style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Cancel`,children:`✕`}):(0,m.jsx)(`button`,{onClick:()=>h(!1),style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Close browser`,children:`✕`}),(0,m.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`chat-logo`}),(0,m.jsx)(`h1`,{className:`chat-tagline`,children:`Connect Claude`}),(0,m.jsx)(`p`,{className:`chat-intro`,children:t?`Sign in and authorize in the browser below.`:`Open your email or prepare your accounts, then sign in.`}),!t&&(0,m.jsx)(`div`,{style:{marginTop:`12px`},children:(0,m.jsx)(l,{variant:`primary`,onClick:M,disabled:r,children:r?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`})}),t&&v===`native`&&(0,m.jsxs)(`div`,{style:{marginTop:`14px`,maxWidth:`420px`,margin:`14px auto 0`,display:`flex`,flexDirection:`column`,gap:`8px`},children:[(0,m.jsx)(`label`,{style:{fontSize:`12px`,color:`#999`,lineHeight:1.4},children:`If the browser didn't finish sign-in, paste the code or full redirect URL from Claude's page:`}),(0,m.jsxs)(`div`,{style:{display:`flex`,gap:`8px`},children:[(0,m.jsx)(`input`,{type:`text`,value:b,onChange:e=>x(e.target.value),placeholder:`Paste code or redirect URL`,style:{flex:1,padding:`8px 10px`,fontSize:`13px`,border:`1px solid #ccc`,borderRadius:`6px`}}),(0,m.jsx)(l,{variant:`primary`,onClick:A,disabled:!b.trim(),children:`Submit`})]}),S&&(0,m.jsx)(`p`,{style:{fontSize:`12px`,color:`#999`,margin:0},children:S})]})]}),(0,m.jsx)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0,gap:`10px`,padding:`0 0 16px`},children:O&&(0,m.jsx)(d,{preferTargetId:w,cacheKey:E,chrome:!1})}),s&&(0,m.jsx)(`p`,{className:`admin-pin-error`,style:{textAlign:`center`,padding:`0 20px 16px`},children:s})]}):(0,m.jsx)(`div`,{className:`connect-page`,children:(0,m.jsxs)(`div`,{className:`connect-content`,children:[(0,m.jsxs)(`div`,{className:`connect-logos`,children:[(0,m.jsx)(`div`,{className:`connect-logo-wrap`,children:(0,m.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`connect-logo`})}),(0,m.jsx)(`svg`,{className:`connect-arrow`,viewBox:`0 0 48 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,m.jsx)(`path`,{d:`M0 12h44m0 0l-8-8m8 8l-8 8`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,m.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,m.jsx)(`img`,{src:a,alt:i.productName,className:`connect-logo connect-logo--maxy`}),!i.logoContainsName&&(0,m.jsx)(`span`,{className:`connect-logo-label`,children:i.productName})]})]}),(0,m.jsxs)(`h1`,{className:`connect-title`,children:[`Connect Claude to power `,i.productName]}),(0,m.jsx)(`p`,{className:`connect-subtitle`,children:`Sign in with your Anthropic account to get started.`}),(0,m.jsx)(l,{variant:`primary`,onClick:M,disabled:r,children:r?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`}),(0,m.jsx)(`p`,{style:{marginTop:`6px`,fontSize:`11px`,color:`#999`,maxWidth:`300px`,textAlign:`center`,lineHeight:`1.4`},children:`First time? You may need to sign into your email and Anthropic account in the browser before connecting.`}),(0,m.jsx)(`button`,{onClick:j,disabled:g,style:{marginTop:`12px`,background:`none`,border:`none`,color:`var(--color-primary, #666)`,fontSize:`13px`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:g?`Launching…`:`Open browser first`}),s&&(0,m.jsx)(`p`,{className:`admin-pin-error`,children:s})]})})}function y({auth:e}){return e.appState===`loading`?(0,m.jsx)(r,{surface:`gate`}):e.appState===`set-pin`?(0,m.jsx)(g,{pin:e.pin,setPin:e.setPin,showPin:e.showPin,setShowPin:e.setShowPin,pinLoading:e.pinLoading,pinError:e.pinError,pinInputRef:e.pinInputRef,setPinFormRef:e.setPinFormRef,onSubmit:e.handleSetPin,operatorName:e.operatorName,setOperatorName:e.setOperatorName}):e.appState===`connect-claude`?(0,m.jsx)(v,{authPolling:e.authPolling,setAuthPolling:e.setAuthPolling,authLoading:e.authLoading,setAuthLoading:e.setAuthLoading,pinError:e.pinError,setPinError:e.setPinError,setAppState:e.setAppState}):e.appState===`enter-pin`?(0,m.jsx)(_,{pin:e.pin,setPin:e.setPin,showPin:e.showPin,setShowPin:e.setShowPin,pinLoading:e.pinLoading,pinError:e.pinError,pinInputRef:e.pinInputRef,onSubmit:e.handleLogin,remoteAuthEnabled:e.remoteAuthEnabled,onSignOutRemote:()=>{window.location.href=`/__remote-auth/logout`}}):null}export{p as n,y as t};
1
+ import{o as e}from"./chunk-BycB0eMI.js";import{i as t,t as n}from"./jsx-runtime-YcUntiud.js";import{O as r,Q as i,et as a,rt as o}from"./useMediaQuery-BUFkZYRs.js";import{A as s}from"./useVoiceRecorder-DnyqQFet.js";import{A as c,O as l,k as u,p as d}from"./AdminShell-BLs5v0qF.js";var f=e(t(),1);function p(e=`admin`){let[t,n]=(0,f.useState)(`loading`),[r,i]=(0,f.useState)(``),[a,l]=(0,f.useState)(``),[u,d]=(0,f.useState)(``),[p,m]=(0,f.useState)(!1),[h,g]=(0,f.useState)(!1),[_,v]=(0,f.useState)(!1),[y,b]=(0,f.useState)(!1),[x,S]=(0,f.useState)(!1),[C,w]=(0,f.useState)(null),[T,E]=(0,f.useState)(null),[D,O]=(0,f.useState)(void 0),[k,A]=(0,f.useState)(null),[j,M]=(0,f.useState)(void 0),[N,P]=(0,f.useState)(null),[F,I]=(0,f.useState)(null),[L,R]=(0,f.useState)(void 0),z=(0,f.useRef)(void 0),[B,V]=(0,f.useState)(!1),[H,U]=(0,f.useState)(!0);(0,f.useEffect)(()=>{typeof window>`u`||fetch(`/api/remote-auth/status`).then(e=>e.ok?e.json():null).then(e=>{e?.configured&&V(!0)}).catch(()=>{})},[]);let W=(0,f.useRef)(null),G=(0,f.useRef)(null);(0,f.useEffect)(()=>{async function e(){let e=null;try{e=sessionStorage.getItem(`maxy-admin-session-key`)}catch{}if(!e)return!1;try{let t=await fetch(`/api/admin/session?session_key=${encodeURIComponent(e)}`);if(t.status===401){try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}return!1}if(!t.ok)return!1;let r=await t.json();w(r.session_key),I(r.sessionId??null),O(r.businessName),A(r.role??null),M(r.userName===void 0?null:r.userName),P(r.avatar??null);let i=s(r.thinkingView);return z.current=i,R(i),n(`chat`),!0}catch(e){return console.error(`[admin] session restore failed:`,e),!1}}async function t(r=2){try{let i=await fetch(`/api/health`);if(!i.ok){if(r>0)return await new Promise(e=>setTimeout(e,1500)),t(r-1);console.error(`[admin] health check returned ${i.status} after retries`),n(`set-pin`);return}let a=await i.json();if(!a.pin_configured){n(`set-pin`);return}U(!!a.claude_authenticated);let o=!1;try{o=new URLSearchParams(window.location.search).get(`connect`)===`claude`}catch{}if(o){try{let e=new URL(window.location.href);e.searchParams.delete(`connect`),window.history.replaceState(null,``,e.pathname+e.search+e.hash)}catch{}if(!a.claude_authenticated){n(`connect-claude`);return}}if(await e())return;n(`enter-pin`)}catch(e){if(r>0)return await new Promise(e=>setTimeout(e,1500)),t(r-1);console.error(`[admin] health check failed:`,e),n(`set-pin`)}}t()},[]),(0,f.useEffect)(()=>{t===`chat`&&C&&fetch(`/api/admin/claude-info?session_key=${encodeURIComponent(C)}`).then(e=>{if(e.ok)return e.json()}).then(e=>{e&&E(e)}).catch(()=>{})},[t,C]);let K=(0,f.useRef)(null);(0,f.useEffect)(()=>{if(t!==`chat`)return;let e=setInterval(async()=>{try{let e=await fetch(`/api/health`);if(e.ok){let t=await e.json();U(t.auth_status!==`dead`&&t.auth_status!==`missing`)}}catch{}if(C)try{let e=await fetch(`/api/admin/session?session_key=${encodeURIComponent(C)}`);if(e.status!==401)return;let t=(await e.clone().json().catch(()=>null))?.code??`unknown-401`;if(t===`remote-auth-required`){o(`heartbeat`,`/api/admin/session`);return}console.warn(`[admin-auth] outcome=heartbeat-detected-expiry code=${t}`),K.current?.()}catch{}},300*1e3);return()=>clearInterval(e)},[t,C]),(0,f.useEffect)(()=>{t===`connect-claude`&&fetch(`/api/health`).then(e=>e.ok?e.json():null).then(e=>{e?.claude_authenticated&&(U(!0),n(`enter-pin`))}).catch(()=>{})},[t]);async function q(e,t){g(!0);try{let r=await fetch(`/api/admin/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:e,...t?{accountId:t}:{}})});if(!r.ok){let e=await r.json().catch(()=>({}));if(r.status===401&&e?.code===`remote-auth-required`){o(`enter-pin`,`/api/admin/session`);return}d(e.error||`Invalid PIN`);return}let a=await r.json();w(a.session_key),I(a.sessionId??null),O(a.businessName),A(a.role??null),M(a.userName===void 0?null:a.userName),P(a.avatar??null);let c=s(a.thinkingView);z.current=c,R(c);try{sessionStorage.setItem(`maxy-admin-session-key`,a.session_key)}catch{}i(``),n(`chat`)}catch(e){console.error(`[admin] connection error:`,e),d(`Could not connect.`)}finally{g(!1)}}let J=(0,f.useCallback)(async e=>{if(e.preventDefault(),h)return;d(``);let t=a.trim();if(!t){d(`Please enter your name.`);return}if(r.length<4){d(`PIN must be at least 4 characters.`);return}let s=r;g(!0);try{let e=await fetch(`/api/onboarding/set-pin`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pin:s,name:t})});if(!e.ok){let t=await e.json().catch(()=>({}));if(e.status===401&&t?.code===`remote-auth-required`){o(`set-pin`,`/api/onboarding/set-pin`);return}if(e.status===409){try{let e=await fetch(`/api/health`);if(e.ok){let r=await e.json();r.pin_configured&&r.claude_authenticated?n(`enter-pin`):r.pin_configured?n(`connect-claude`):d(t.error||`Failed to set PIN.`)}else n(`enter-pin`)}catch{n(`enter-pin`)}return}d(t.error||`Failed to set PIN.`);return}let r=await fetch(`/api/health`);if((r.ok?await r.json():null)?.claude_authenticated){await q(s);return}i(``),n(`connect-claude`)}catch(e){console.error(`[admin] connection error:`,e),d(`Could not connect.`)}finally{g(!1)}},[r,h,a]),Y=(0,f.useCallback)(async e=>{e.preventDefault(),d(``),await q(r)},[r]),X=(0,f.useCallback)(async()=>{S(!0);try{if(!await c())return console.warn(`[admin-ui] claude-disconnect not verified — credentials may persist; staying put`),!1;U(!1),w(null),A(null),M(void 0),P(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}return n(`connect-claude`),!0}finally{S(!1)}},[]),Z=(0,f.useCallback)(()=>{w(null),A(null),M(void 0),P(null);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}i(``),d(``),n(`enter-pin`)},[]);return(0,f.useEffect)(()=>{K.current=Z},[Z]),{appState:t,setAppState:n,pin:r,setPin:i,operatorName:a,setOperatorName:l,pinError:u,setPinError:d,showPin:p,setShowPin:m,pinLoading:h,authPolling:_,setAuthPolling:v,authLoading:y,setAuthLoading:b,disconnecting:x,cacheKey:C,setCacheKey:w,claudeInfo:T,setClaudeInfo:E,businessName:D,role:k,userName:j,userAvatar:N,sessionId:F,setSessionId:I,expandAll:L,setExpandAll:R,expandAllDefaultRef:z,remoteAuthEnabled:B,claudeConnected:H,pinInputRef:W,setPinFormRef:G,handleSetPin:J,handleLogin:Y,handleDisconnect:X,handleLogout:Z}}var m=n();function h({inputRef:e,value:t,onChange:n,onComplete:r,showPin:i,autoFocus:a}){let o=(0,f.useRef)([]);function s(e,r){r.key===`Backspace`?(r.preventDefault(),t[e]?n(t.slice(0,e)+t.slice(e+1)):e>0&&(n(t.slice(0,e-1)+t.slice(e)),o.current[e-1]?.focus())):r.key===`ArrowLeft`&&e>0?o.current[e-1]?.focus():r.key===`ArrowRight`&&e<5?o.current[e+1]?.focus():r.key===`Enter`&&(r.preventDefault(),r.currentTarget.form?.requestSubmit())}function c(e,i){let a=i.nativeEvent.data;if(!a||!/^\d$/.test(a))return;let s=t.split(``);for(s[e]=a;s.length<e;)s.push(``);let c=s.join(``).replace(/\D/g,``).slice(0,6);n(c),c.length===6?r?.(c):e<5&&o.current[e+1]?.focus()}function l(e){e.preventDefault();let t=e.clipboardData.getData(`text`).replace(/\D/g,``).slice(0,6);t&&(n(t),t.length===6?r?.(t):o.current[t.length]?.focus())}return(0,m.jsx)(`div`,{className:`pin-field`,children:Array.from({length:6}).map((n,r)=>(0,m.jsx)(`input`,{ref:t=>{o.current[r]=t,r===0&&e&&(e.current=t)},type:`text`,inputMode:`numeric`,className:`pin-box${t[r]?` pin-box-filled`:``}`,value:t[r]?i?t[r]:`•`:``,onKeyDown:e=>s(r,e),onInput:e=>c(r,e),onPaste:l,onFocus:e=>e.target.select(),autoFocus:a&&r===0,autoComplete:`off`,maxLength:1,"aria-label":`PIN digit ${r+1}`},r))})}function g(e){let{pin:t,setPin:n,showPin:r,setShowPin:o,pinLoading:s,pinError:c,pinInputRef:d,setPinFormRef:f,onSubmit:p,operatorName:g,setOperatorName:_}=e;return(0,m.jsx)(`div`,{className:`connect-page`,children:(0,m.jsxs)(`div`,{className:`connect-content`,children:[(0,m.jsx)(`img`,{src:a,alt:i.productName,className:`connect-logo connect-logo--maxy`}),!i.logoContainsName&&(0,m.jsxs)(`h1`,{className:`connect-title`,children:[`Welcome to `,i.productName]}),(0,m.jsxs)(`p`,{className:`connect-subtitle`,children:[`Tell `,i.productName,` who you are, then choose a PIN.`]}),(0,m.jsxs)(`form`,{ref:f,onSubmit:p,className:`connect-pin-form`,children:[(0,m.jsxs)(`div`,{className:`pin-input-row`,children:[(0,m.jsx)(`input`,{type:`text`,className:`connect-name-input`,placeholder:`Your full name`,value:g,onChange:e=>_(e.target.value),autoComplete:`name`,autoFocus:!0,required:!0,"aria-label":`Your full name`}),(0,m.jsx)(`div`,{style:{width:38,flexShrink:0},"aria-hidden":`true`})]}),(0,m.jsxs)(`div`,{className:`pin-input-row`,children:[(0,m.jsx)(h,{inputRef:d,value:t,onChange:n,onComplete:()=>{},showPin:r}),(0,m.jsx)(l,{variant:`send`,type:`submit`,disabled:!t||!g.trim(),loading:s,"aria-label":`Set PIN`,children:(0,m.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,m.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,m.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,m.jsx)(u,{checked:r,onChange:()=>o(e=>!e),label:`Show PIN`})]}),c&&(0,m.jsx)(`p`,{className:`admin-pin-error`,children:c})]})})}function _(e){let{pin:t,setPin:n,showPin:r,setShowPin:o,pinLoading:s,pinError:c,pinInputRef:d,onSubmit:f,remoteAuthEnabled:p,onSignOutRemote:g}=e;return(0,m.jsxs)(`div`,{className:`connect-page`,children:[p&&g&&(0,m.jsx)(`button`,{type:`button`,className:`connect-signout`,onClick:g,children:`Sign out`}),(0,m.jsxs)(`div`,{className:`connect-content`,children:[(0,m.jsx)(`img`,{src:a,alt:i.productName,className:`connect-logo connect-logo--maxy`}),!i.logoContainsName&&(0,m.jsx)(`h1`,{className:`connect-title`,children:i.productName}),(0,m.jsxs)(`form`,{onSubmit:f,className:`connect-pin-form`,children:[(0,m.jsxs)(`div`,{className:`pin-input-row`,children:[(0,m.jsx)(h,{inputRef:d,value:t,onChange:n,onComplete:()=>{},showPin:r,autoFocus:!0}),(0,m.jsx)(l,{variant:`send`,type:`submit`,disabled:!t,loading:s,children:(0,m.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,m.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,m.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,m.jsx)(`div`,{className:`pin-options`,children:(0,m.jsx)(u,{checked:r,onChange:()=>o(e=>!e),label:`Show PIN`})})]}),c&&(0,m.jsx)(`p`,{className:`admin-pin-error`,children:c})]})]})}function v(e){let{authPolling:t,setAuthPolling:n,authLoading:r,setAuthLoading:o,pinError:s,setPinError:c,setAppState:u}=e,[p,h]=(0,f.useState)(!1),[g,_]=(0,f.useState)(!1),[v,y]=(0,f.useState)(``),[b,x]=(0,f.useState)(``),[S,C]=(0,f.useState)(``),[w,T]=(0,f.useState)(null),[E,D]=(0,f.useState)(null),[O,k]=(0,f.useState)(!1);(0,f.useEffect)(()=>{try{D(sessionStorage.getItem(`maxy-admin-session-key`))}catch{}k(!0)},[]);async function A(){C(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`paste-code`,code:b})})).json();e.accepted?(C(`Code submitted. Finishing sign-in…`),x(``)):C(e.error||`Could not submit code.`)}catch(e){console.error(`[admin] paste-code error:`,e),C(`Could not submit code.`)}}async function j(){_(!0),c(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`launch-browser`})})).json();e.launched?h(!0):e.error&&c(e.error)}catch(e){console.error(`[admin] browser launch error:`,e),c(`Could not launch browser.`)}_(!1)}async function M(){o(!0),c(``);try{let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`})).json();if(e.started){n(!0),h(!0),o(!1),y(e.transport||``);for(let e=0;e<120;e++){await new Promise(e=>setTimeout(e,2e3));let e=await(await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`wait`})})).json();if(typeof e.authTargetId==`string`&&T(e.authTargetId),e.authenticated){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),u(`enter-pin`);return}}c(`Timed out waiting for sign-in. Try again.`),n(!1)}else e.error&&c(e.error)}catch(e){console.error(`[admin] auth flow error:`,e),c(`Could not start auth flow.`)}o(!1)}async function N(){await fetch(`/api/onboarding/claude-auth`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`stop`})}),n(!1),c(``)}return t||p?(0,m.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100dvh`,overflow:`auto`},children:[(0,m.jsxs)(`header`,{className:`chat-header`,style:{paddingBottom:`12px`,flexShrink:0,position:`relative`,maxWidth:`680px`,width:`100%`,margin:`0 auto`,padding:`24px 20px 12px`},children:[t?(0,m.jsx)(`button`,{onClick:N,style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Cancel`,children:`✕`}):(0,m.jsx)(`button`,{onClick:()=>h(!1),style:{position:`absolute`,top:`12px`,right:`12px`,background:`none`,border:`none`,color:`#999`,fontSize:`13px`,cursor:`pointer`,padding:`4px 8px`},"aria-label":`Close browser`,children:`✕`}),(0,m.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`chat-logo`}),(0,m.jsx)(`h1`,{className:`chat-tagline`,children:`Connect Claude`}),(0,m.jsx)(`p`,{className:`chat-intro`,children:t?`Sign in and authorize in the browser below.`:`Open your email or prepare your accounts, then sign in.`}),!t&&(0,m.jsx)(`div`,{style:{marginTop:`12px`},children:(0,m.jsx)(l,{variant:`primary`,onClick:M,disabled:r,children:r?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`})}),t&&v===`native`&&(0,m.jsxs)(`div`,{style:{marginTop:`14px`,maxWidth:`420px`,margin:`14px auto 0`,display:`flex`,flexDirection:`column`,gap:`8px`},children:[(0,m.jsx)(`label`,{style:{fontSize:`12px`,color:`#999`,lineHeight:1.4},children:`If the browser didn't finish sign-in, paste the code or full redirect URL from Claude's page:`}),(0,m.jsxs)(`div`,{style:{display:`flex`,gap:`8px`},children:[(0,m.jsx)(`input`,{type:`text`,value:b,onChange:e=>x(e.target.value),placeholder:`Paste code or redirect URL`,style:{flex:1,padding:`8px 10px`,fontSize:`13px`,border:`1px solid #ccc`,borderRadius:`6px`}}),(0,m.jsx)(l,{variant:`primary`,onClick:A,disabled:!b.trim(),children:`Submit`})]}),S&&(0,m.jsx)(`p`,{style:{fontSize:`12px`,color:`#999`,margin:0},children:S})]})]}),(0,m.jsx)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,minHeight:0,gap:`10px`,padding:`0 0 16px`},children:O&&(0,m.jsx)(d,{preferTargetId:w,cacheKey:E,chrome:!1})}),s&&(0,m.jsx)(`p`,{className:`admin-pin-error`,style:{textAlign:`center`,padding:`0 20px 16px`},children:s})]}):(0,m.jsx)(`div`,{className:`connect-page`,children:(0,m.jsxs)(`div`,{className:`connect-content`,children:[(0,m.jsxs)(`div`,{className:`connect-logos`,children:[(0,m.jsx)(`div`,{className:`connect-logo-wrap`,children:(0,m.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`connect-logo`})}),(0,m.jsx)(`svg`,{className:`connect-arrow`,viewBox:`0 0 48 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,m.jsx)(`path`,{d:`M0 12h44m0 0l-8-8m8 8l-8 8`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,m.jsxs)(`div`,{className:`connect-logo-wrap`,children:[(0,m.jsx)(`img`,{src:a,alt:i.productName,className:`connect-logo connect-logo--maxy`}),!i.logoContainsName&&(0,m.jsx)(`span`,{className:`connect-logo-label`,children:i.productName})]})]}),(0,m.jsxs)(`h1`,{className:`connect-title`,children:[`Connect Claude to power `,i.productName]}),(0,m.jsx)(`p`,{className:`connect-subtitle`,children:`Sign in with your Anthropic account to get started.`}),(0,m.jsx)(l,{variant:`primary`,onClick:M,disabled:r,children:r?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`span`,{className:`spin`,style:{display:`inline-block`},children:`✱`}),` Connecting…`]}):`Sign in to Claude`}),(0,m.jsx)(`p`,{style:{marginTop:`6px`,fontSize:`11px`,color:`#999`,maxWidth:`300px`,textAlign:`center`,lineHeight:`1.4`},children:`First time? You may need to sign into your email and Anthropic account in the browser before connecting.`}),(0,m.jsx)(`button`,{onClick:j,disabled:g,style:{marginTop:`12px`,background:`none`,border:`none`,color:`var(--color-primary, #666)`,fontSize:`13px`,cursor:`pointer`,textDecoration:`underline`,textUnderlineOffset:`3px`},children:g?`Launching…`:`Open browser first`}),s&&(0,m.jsx)(`p`,{className:`admin-pin-error`,children:s})]})})}function y({auth:e}){return e.appState===`loading`?(0,m.jsx)(r,{surface:`gate`}):e.appState===`set-pin`?(0,m.jsx)(g,{pin:e.pin,setPin:e.setPin,showPin:e.showPin,setShowPin:e.setShowPin,pinLoading:e.pinLoading,pinError:e.pinError,pinInputRef:e.pinInputRef,setPinFormRef:e.setPinFormRef,onSubmit:e.handleSetPin,operatorName:e.operatorName,setOperatorName:e.setOperatorName}):e.appState===`connect-claude`?(0,m.jsx)(v,{authPolling:e.authPolling,setAuthPolling:e.setAuthPolling,authLoading:e.authLoading,setAuthLoading:e.setAuthLoading,pinError:e.pinError,setPinError:e.setPinError,setAppState:e.setAppState}):e.appState===`enter-pin`?(0,m.jsx)(_,{pin:e.pin,setPin:e.setPin,showPin:e.showPin,setShowPin:e.setShowPin,pinLoading:e.pinLoading,pinError:e.pinError,pinInputRef:e.pinInputRef,onSubmit:e.handleLogin,remoteAuthEnabled:e.remoteAuthEnabled,onSignOutRemote:()=>{window.location.href=`/__remote-auth/logout`}}):null}export{p as n,y as t};