@rubytech/create-maxy-code 0.1.411 → 0.1.414

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 (162) hide show
  1. package/dist/__tests__/installer-cwd-pin-and-auth-verify.test.js +82 -0
  2. package/dist/index.js +44 -5
  3. package/package.json +1 -1
  4. package/payload/platform/lib/account-scope/dist/index.d.ts +27 -0
  5. package/payload/platform/lib/account-scope/dist/index.d.ts.map +1 -0
  6. package/payload/platform/lib/account-scope/dist/index.js +33 -0
  7. package/payload/platform/lib/account-scope/dist/index.js.map +1 -0
  8. package/payload/platform/lib/account-scope/src/index.ts +43 -0
  9. package/payload/platform/lib/account-scope/tsconfig.json +5 -0
  10. package/payload/platform/package.json +2 -2
  11. package/payload/platform/plugins/.claude-plugin/marketplace.json +5 -0
  12. package/payload/platform/plugins/admin/hooks/lib/maxy-mcp-plugins.txt +1 -0
  13. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +37 -1
  14. package/payload/platform/plugins/business-assistant/skills/e-sign/SKILL.md +2 -0
  15. package/payload/platform/plugins/docs/references/cross-account-authority.md +25 -0
  16. package/payload/platform/plugins/docs/references/memory-guide.md +6 -0
  17. package/payload/platform/plugins/filesystem/.claude-plugin/plugin.json +21 -0
  18. package/payload/platform/plugins/filesystem/PLUGIN.md +63 -0
  19. package/payload/platform/plugins/filesystem/lib/mcp-spawn-tee/index.js +193 -0
  20. package/payload/platform/plugins/filesystem/lib/mcp-spawn-tee/package.json +3 -0
  21. package/payload/platform/plugins/filesystem/mcp/dist/index.d.ts +2 -0
  22. package/payload/platform/plugins/filesystem/mcp/dist/index.d.ts.map +1 -0
  23. package/payload/platform/plugins/filesystem/mcp/dist/index.js +91 -0
  24. package/payload/platform/plugins/filesystem/mcp/dist/index.js.map +1 -0
  25. package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/scope.test.d.ts +2 -0
  26. package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/scope.test.d.ts.map +1 -0
  27. package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/scope.test.js +89 -0
  28. package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/scope.test.js.map +1 -0
  29. package/payload/platform/plugins/filesystem/mcp/dist/lib/result.d.ts +12 -0
  30. package/payload/platform/plugins/filesystem/mcp/dist/lib/result.d.ts.map +1 -0
  31. package/payload/platform/plugins/filesystem/mcp/dist/lib/result.js +6 -0
  32. package/payload/platform/plugins/filesystem/mcp/dist/lib/result.js.map +1 -0
  33. package/payload/platform/plugins/filesystem/mcp/dist/lib/scope.d.ts +45 -0
  34. package/payload/platform/plugins/filesystem/mcp/dist/lib/scope.d.ts.map +1 -0
  35. package/payload/platform/plugins/filesystem/mcp/dist/lib/scope.js +86 -0
  36. package/payload/platform/plugins/filesystem/mcp/dist/lib/scope.js.map +1 -0
  37. package/payload/platform/plugins/filesystem/mcp/dist/lib/walk.d.ts +11 -0
  38. package/payload/platform/plugins/filesystem/mcp/dist/lib/walk.d.ts.map +1 -0
  39. package/payload/platform/plugins/filesystem/mcp/dist/lib/walk.js +64 -0
  40. package/payload/platform/plugins/filesystem/mcp/dist/lib/walk.js.map +1 -0
  41. package/payload/platform/plugins/filesystem/mcp/dist/tools/__tests__/handlers.test.d.ts +2 -0
  42. package/payload/platform/plugins/filesystem/mcp/dist/tools/__tests__/handlers.test.d.ts.map +1 -0
  43. package/payload/platform/plugins/filesystem/mcp/dist/tools/__tests__/handlers.test.js +94 -0
  44. package/payload/platform/plugins/filesystem/mcp/dist/tools/__tests__/handlers.test.js.map +1 -0
  45. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-edit.d.ts +8 -0
  46. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-edit.d.ts.map +1 -0
  47. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-edit.js +40 -0
  48. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-edit.js.map +1 -0
  49. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-glob.d.ts +6 -0
  50. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-glob.d.ts.map +1 -0
  51. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-glob.js +13 -0
  52. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-glob.js.map +1 -0
  53. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-grep.d.ts +7 -0
  54. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-grep.d.ts.map +1 -0
  55. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-grep.js +71 -0
  56. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-grep.js.map +1 -0
  57. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-list.d.ts +6 -0
  58. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-list.d.ts.map +1 -0
  59. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-list.js +26 -0
  60. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-list.js.map +1 -0
  61. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-read.d.ts +6 -0
  62. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-read.d.ts.map +1 -0
  63. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-read.js +28 -0
  64. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-read.js.map +1 -0
  65. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-write.d.ts +7 -0
  66. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-write.d.ts.map +1 -0
  67. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-write.js +25 -0
  68. package/payload/platform/plugins/filesystem/mcp/dist/tools/file-write.js.map +1 -0
  69. package/payload/platform/plugins/filesystem/mcp/package.json +21 -0
  70. package/payload/platform/plugins/filesystem/mcp/vitest.config.ts +8 -0
  71. package/payload/platform/plugins/memory/PLUGIN.md +8 -0
  72. package/payload/platform/plugins/memory/mcp/dist/index-testable.d.ts +34 -0
  73. package/payload/platform/plugins/memory/mcp/dist/index-testable.d.ts.map +1 -0
  74. package/payload/platform/plugins/memory/mcp/dist/index-testable.js +60 -0
  75. package/payload/platform/plugins/memory/mcp/dist/index-testable.js.map +1 -0
  76. package/payload/platform/plugins/memory/mcp/dist/index.js +327 -146
  77. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  78. package/payload/platform/plugins/memory/mcp/dist/lib/resolve-owner-userid.d.ts +15 -0
  79. package/payload/platform/plugins/memory/mcp/dist/lib/resolve-owner-userid.d.ts.map +1 -0
  80. package/payload/platform/plugins/memory/mcp/dist/lib/resolve-owner-userid.js +29 -0
  81. package/payload/platform/plugins/memory/mcp/dist/lib/resolve-owner-userid.js.map +1 -0
  82. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/cross-account.test.d.ts +2 -0
  83. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/cross-account.test.d.ts.map +1 -0
  84. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/cross-account.test.js +74 -0
  85. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/cross-account.test.js.map +1 -0
  86. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/resolve-owner-userid.test.d.ts +2 -0
  87. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/resolve-owner-userid.test.d.ts.map +1 -0
  88. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/resolve-owner-userid.test.js +40 -0
  89. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/resolve-owner-userid.test.js.map +1 -0
  90. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/resolve-tool-account.test.d.ts +2 -0
  91. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/resolve-tool-account.test.d.ts.map +1 -0
  92. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/resolve-tool-account.test.js +54 -0
  93. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/resolve-tool-account.test.js.map +1 -0
  94. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.d.ts +11 -0
  95. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.d.ts.map +1 -1
  96. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js +13 -1
  97. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js.map +1 -1
  98. package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +2 -0
  99. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  100. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +7 -0
  101. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  102. package/payload/platform/services/claude-session-manager/dist/claude-host-creds.d.ts.map +1 -1
  103. package/payload/platform/services/claude-session-manager/dist/claude-host-creds.js +6 -1
  104. package/payload/platform/services/claude-session-manager/dist/claude-host-creds.js.map +1 -1
  105. package/payload/platform/services/claude-session-manager/dist/claude-keychain-write.d.ts +7 -1
  106. package/payload/platform/services/claude-session-manager/dist/claude-keychain-write.d.ts.map +1 -1
  107. package/payload/platform/services/claude-session-manager/dist/claude-keychain-write.js +7 -2
  108. package/payload/platform/services/claude-session-manager/dist/claude-keychain-write.js.map +1 -1
  109. package/payload/platform/services/claude-session-manager/dist/config.d.ts +37 -0
  110. package/payload/platform/services/claude-session-manager/dist/config.d.ts.map +1 -1
  111. package/payload/platform/services/claude-session-manager/dist/config.js +34 -1
  112. package/payload/platform/services/claude-session-manager/dist/config.js.map +1 -1
  113. package/payload/platform/services/claude-session-manager/dist/cross-account-census.d.ts +34 -0
  114. package/payload/platform/services/claude-session-manager/dist/cross-account-census.d.ts.map +1 -0
  115. package/payload/platform/services/claude-session-manager/dist/cross-account-census.js +98 -0
  116. package/payload/platform/services/claude-session-manager/dist/cross-account-census.js.map +1 -0
  117. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  118. package/payload/platform/services/claude-session-manager/dist/http-server.js +10 -0
  119. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  120. package/payload/platform/services/claude-session-manager/dist/index.js +17 -0
  121. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  122. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  123. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +25 -0
  124. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  125. package/payload/platform/services/claude-session-manager/dist/session-sidecar.d.ts +7 -0
  126. package/payload/platform/services/claude-session-manager/dist/session-sidecar.d.ts.map +1 -1
  127. package/payload/platform/services/claude-session-manager/dist/session-sidecar.js +8 -0
  128. package/payload/platform/services/claude-session-manager/dist/session-sidecar.js.map +1 -1
  129. package/payload/server/{chunk-ZYS5V5QG.js → chunk-3Z5WE53X.js} +4 -0
  130. package/payload/server/maxy-edge.js +1 -1
  131. package/payload/server/public/assets/{AdminLoginScreens-BRQgI2lW.js → AdminLoginScreens-CYPTMmTk.js} +1 -1
  132. package/payload/server/public/assets/{AdminShell-By9n5icG.js → AdminShell-CZH_EZIy.js} +1 -1
  133. package/payload/server/public/assets/{Checkbox-DjEWgYu1.js → Checkbox-B0pbYJDQ.js} +1 -1
  134. package/payload/server/public/assets/{Transcript-BejWvOaO.js → Transcript-CYaAPBFX.js} +1 -1
  135. package/payload/server/public/assets/{admin-BFEMryQm.js → admin-BKDMSRto.js} +1 -1
  136. package/payload/server/public/assets/{browser-CMJMEUz6.js → browser-CxeMDDZA.js} +1 -1
  137. package/payload/server/public/assets/{calendar-C6ZGlHEP.js → calendar-DiIiTY9-.js} +1 -1
  138. package/payload/server/public/assets/chat-C56Oqvt1.js +1 -0
  139. package/payload/server/public/assets/chevron-left-Da-iZGi_.js +1 -0
  140. package/payload/server/public/assets/data-ZUdT44Ba.js +1 -0
  141. package/payload/server/public/assets/{graph-DIrXtPLv.js → graph-DC3dwnMZ.js} +1 -1
  142. package/payload/server/public/assets/{graph-labels-BtPf1Jom.js → graph-labels-Csnovm_c.js} +1 -1
  143. package/payload/server/public/assets/{maximize-2-DeJ4K8kL.js → maximize-2-WRUJsg5n.js} +1 -1
  144. package/payload/server/public/assets/{operator-B8QhqzLI.js → operator-BpzeHTAw.js} +1 -1
  145. package/payload/server/public/assets/{page-iFOy0dFx.js → page-8jJOxx6y.js} +1 -1
  146. package/payload/server/public/assets/{page-Df6KYkf4.js → page-IQDLdebG.js} +1 -1
  147. package/payload/server/public/assets/{public-BrUIRQZd.js → public-Dqg7jwjq.js} +1 -1
  148. package/payload/server/public/assets/{rotate-ccw-CYfntpwu.js → rotate-ccw-BayMWwfc.js} +1 -1
  149. package/payload/server/public/assets/{useSubAccountSwitcher-Cvnc_fwQ.css → useSubAccountSwitcher-CRZfyJXR.css} +1 -1
  150. package/payload/server/public/browser.html +4 -4
  151. package/payload/server/public/calendar.html +5 -5
  152. package/payload/server/public/chat.html +9 -9
  153. package/payload/server/public/data.html +8 -8
  154. package/payload/server/public/graph.html +9 -9
  155. package/payload/server/public/index.html +11 -11
  156. package/payload/server/public/operator.html +11 -11
  157. package/payload/server/public/public.html +9 -9
  158. package/payload/server/server.js +72 -15
  159. package/payload/server/public/assets/chat-B7s62Nnp.js +0 -1
  160. package/payload/server/public/assets/chevron-left-Dfjcaiyr.js +0 -1
  161. package/payload/server/public/assets/data-741ZbBwR.js +0 -1
  162. /package/payload/server/public/assets/{useSubAccountSwitcher-BK_KfOLC.js → useSubAccountSwitcher-C9aLg8yI.js} +0 -0
@@ -5,11 +5,11 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Browser — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/browser-CMJMEUz6.js"></script>
8
+ <script type="module" crossorigin src="/assets/browser-CxeMDDZA.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-BK_KfOLC.js">
11
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-By9n5icG.js">
12
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-Cvnc_fwQ.css">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-C9aLg8yI.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-CZH_EZIy.js">
12
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-CRZfyJXR.css">
13
13
  <link rel="stylesheet" href="/brand-defaults.css">
14
14
  </head>
15
15
  <body>
@@ -5,12 +5,12 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Calendar — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/calendar-C6ZGlHEP.js"></script>
8
+ <script type="module" crossorigin src="/assets/calendar-DiIiTY9-.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-BK_KfOLC.js">
11
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-By9n5icG.js">
12
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-Dfjcaiyr.js">
13
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-Cvnc_fwQ.css">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-C9aLg8yI.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-CZH_EZIy.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-Da-iZGi_.js">
13
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-CRZfyJXR.css">
14
14
  <link rel="stylesheet" href="/brand-defaults.css">
15
15
  </head>
16
16
  <body>
@@ -5,18 +5,18 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Chat — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/chat-B7s62Nnp.js"></script>
8
+ <script type="module" crossorigin src="/assets/chat-C56Oqvt1.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-BK_KfOLC.js">
11
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-By9n5icG.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-C9aLg8yI.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-CZH_EZIy.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/admin-types-hioowVct.js">
13
13
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-CvXuAEud.js">
14
- <link rel="modulepreload" crossorigin href="/assets/maximize-2-DeJ4K8kL.js">
15
- <link rel="modulepreload" crossorigin href="/assets/Transcript-BejWvOaO.js">
16
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-Dfjcaiyr.js">
17
- <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-CYfntpwu.js">
18
- <link rel="modulepreload" crossorigin href="/assets/page-iFOy0dFx.js">
19
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-Cvnc_fwQ.css">
14
+ <link rel="modulepreload" crossorigin href="/assets/maximize-2-WRUJsg5n.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/Transcript-CYaAPBFX.js">
16
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-Da-iZGi_.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-BayMWwfc.js">
18
+ <link rel="modulepreload" crossorigin href="/assets/page-8jJOxx6y.js">
19
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-CRZfyJXR.css">
20
20
  <link rel="stylesheet" href="/brand-defaults.css">
21
21
  </head>
22
22
  <body>
@@ -5,16 +5,16 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Data — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/data-741ZbBwR.js"></script>
8
+ <script type="module" crossorigin src="/assets/data-ZUdT44Ba.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-BK_KfOLC.js">
11
- <link rel="modulepreload" crossorigin href="/assets/graph-labels-BtPf1Jom.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-C9aLg8yI.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/graph-labels-Csnovm_c.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-CvXuAEud.js">
13
- <link rel="modulepreload" crossorigin href="/assets/maximize-2-DeJ4K8kL.js">
14
- <link rel="modulepreload" crossorigin href="/assets/Transcript-BejWvOaO.js">
15
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-Dfjcaiyr.js">
16
- <link rel="modulepreload" crossorigin href="/assets/page-Df6KYkf4.js">
17
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-Cvnc_fwQ.css">
13
+ <link rel="modulepreload" crossorigin href="/assets/maximize-2-WRUJsg5n.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/Transcript-CYaAPBFX.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-Da-iZGi_.js">
16
+ <link rel="modulepreload" crossorigin href="/assets/page-IQDLdebG.js">
17
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-CRZfyJXR.css">
18
18
  <link rel="stylesheet" href="/brand-defaults.css">
19
19
  </head>
20
20
  <body>
@@ -5,16 +5,16 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Graph — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/graph-DIrXtPLv.js"></script>
8
+ <script type="module" crossorigin src="/assets/graph-DC3dwnMZ.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-BK_KfOLC.js">
11
- <link rel="modulepreload" crossorigin href="/assets/graph-labels-BtPf1Jom.js">
12
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-By9n5icG.js">
13
- <link rel="modulepreload" crossorigin href="/assets/Checkbox-DjEWgYu1.js">
14
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-Dfjcaiyr.js">
15
- <link rel="modulepreload" crossorigin href="/assets/maximize-2-DeJ4K8kL.js">
16
- <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-CYfntpwu.js">
17
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-Cvnc_fwQ.css">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-C9aLg8yI.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/graph-labels-Csnovm_c.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-CZH_EZIy.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/Checkbox-B0pbYJDQ.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-Da-iZGi_.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/maximize-2-WRUJsg5n.js">
16
+ <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-BayMWwfc.js">
17
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-CRZfyJXR.css">
18
18
  <link rel="stylesheet" href="/brand-defaults.css">
19
19
  </head>
20
20
  <body>
@@ -5,20 +5,20 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/admin-BFEMryQm.js"></script>
8
+ <script type="module" crossorigin src="/assets/admin-BKDMSRto.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-BK_KfOLC.js">
11
- <link rel="modulepreload" crossorigin href="/assets/graph-labels-BtPf1Jom.js">
12
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-By9n5icG.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-C9aLg8yI.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/graph-labels-Csnovm_c.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-CZH_EZIy.js">
13
13
  <link rel="modulepreload" crossorigin href="/assets/admin-types-hioowVct.js">
14
- <link rel="modulepreload" crossorigin href="/assets/Checkbox-DjEWgYu1.js">
15
- <link rel="modulepreload" crossorigin href="/assets/AdminLoginScreens-BRQgI2lW.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/Checkbox-B0pbYJDQ.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/AdminLoginScreens-CYPTMmTk.js">
16
16
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-CvXuAEud.js">
17
- <link rel="modulepreload" crossorigin href="/assets/maximize-2-DeJ4K8kL.js">
18
- <link rel="modulepreload" crossorigin href="/assets/Transcript-BejWvOaO.js">
19
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-Dfjcaiyr.js">
20
- <link rel="modulepreload" crossorigin href="/assets/page-Df6KYkf4.js">
21
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-Cvnc_fwQ.css">
17
+ <link rel="modulepreload" crossorigin href="/assets/maximize-2-WRUJsg5n.js">
18
+ <link rel="modulepreload" crossorigin href="/assets/Transcript-CYaAPBFX.js">
19
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-Da-iZGi_.js">
20
+ <link rel="modulepreload" crossorigin href="/assets/page-IQDLdebG.js">
21
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-CRZfyJXR.css">
22
22
  <link rel="stylesheet" crossorigin href="/assets/AdminLoginScreens-CWMpccrR.css">
23
23
  <link rel="stylesheet" href="/brand-defaults.css">
24
24
  </head>
@@ -5,20 +5,20 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Operator — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/operator-B8QhqzLI.js"></script>
8
+ <script type="module" crossorigin src="/assets/operator-BpzeHTAw.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-BK_KfOLC.js">
11
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-By9n5icG.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-C9aLg8yI.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-CZH_EZIy.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/admin-types-hioowVct.js">
13
- <link rel="modulepreload" crossorigin href="/assets/Checkbox-DjEWgYu1.js">
14
- <link rel="modulepreload" crossorigin href="/assets/AdminLoginScreens-BRQgI2lW.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/Checkbox-B0pbYJDQ.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/AdminLoginScreens-CYPTMmTk.js">
15
15
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-CvXuAEud.js">
16
- <link rel="modulepreload" crossorigin href="/assets/maximize-2-DeJ4K8kL.js">
17
- <link rel="modulepreload" crossorigin href="/assets/Transcript-BejWvOaO.js">
18
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-Dfjcaiyr.js">
19
- <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-CYfntpwu.js">
20
- <link rel="modulepreload" crossorigin href="/assets/page-iFOy0dFx.js">
21
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-Cvnc_fwQ.css">
16
+ <link rel="modulepreload" crossorigin href="/assets/maximize-2-WRUJsg5n.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/Transcript-CYaAPBFX.js">
18
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-Da-iZGi_.js">
19
+ <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-BayMWwfc.js">
20
+ <link rel="modulepreload" crossorigin href="/assets/page-8jJOxx6y.js">
21
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-CRZfyJXR.css">
22
22
  <link rel="stylesheet" crossorigin href="/assets/AdminLoginScreens-CWMpccrR.css">
23
23
  <link rel="stylesheet" href="/brand-defaults.css">
24
24
  </head>
@@ -5,18 +5,18 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/public-BrUIRQZd.js"></script>
8
+ <script type="module" crossorigin src="/assets/public-Dqg7jwjq.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-CAM3fms7.js">
10
- <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-BK_KfOLC.js">
11
- <link rel="modulepreload" crossorigin href="/assets/AdminShell-By9n5icG.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/useSubAccountSwitcher-C9aLg8yI.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/AdminShell-CZH_EZIy.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/admin-types-hioowVct.js">
13
13
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-CvXuAEud.js">
14
- <link rel="modulepreload" crossorigin href="/assets/maximize-2-DeJ4K8kL.js">
15
- <link rel="modulepreload" crossorigin href="/assets/Transcript-BejWvOaO.js">
16
- <link rel="modulepreload" crossorigin href="/assets/chevron-left-Dfjcaiyr.js">
17
- <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-CYfntpwu.js">
18
- <link rel="modulepreload" crossorigin href="/assets/page-iFOy0dFx.js">
19
- <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-Cvnc_fwQ.css">
14
+ <link rel="modulepreload" crossorigin href="/assets/maximize-2-WRUJsg5n.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/Transcript-CYaAPBFX.js">
16
+ <link rel="modulepreload" crossorigin href="/assets/chevron-left-Da-iZGi_.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-BayMWwfc.js">
18
+ <link rel="modulepreload" crossorigin href="/assets/page-8jJOxx6y.js">
19
+ <link rel="stylesheet" crossorigin href="/assets/useSubAccountSwitcher-CRZfyJXR.css">
20
20
  <link rel="stylesheet" href="/brand-defaults.css">
21
21
  </head>
22
22
  <body class="public-surface">
@@ -66,6 +66,7 @@ import {
66
66
  isPasswordValid,
67
67
  isPublicPathAllowed,
68
68
  isRemoteAuthConfigured,
69
+ isValidAccountId,
69
70
  linkConversationTranscript,
70
71
  listAdminSessions,
71
72
  listValidAccounts,
@@ -109,7 +110,7 @@ import {
109
110
  vncLog,
110
111
  walkPremiumBundles,
111
112
  writeAdminUserAndPerson
112
- } from "./chunk-ZYS5V5QG.js";
113
+ } from "./chunk-3Z5WE53X.js";
113
114
  import {
114
115
  __commonJS,
115
116
  __toESM
@@ -2635,6 +2636,13 @@ function managedAccountFor(accountManagers, phone) {
2635
2636
  }
2636
2637
  return null;
2637
2638
  }
2639
+ function managerPhonesForAccount(accountManagers, subAccountId) {
2640
+ const phones = [];
2641
+ for (const [managerPhone, boundSub] of Object.entries(accountManagers)) {
2642
+ if (boundSub && boundSub === subAccountId) phones.push(managerPhone);
2643
+ }
2644
+ return phones;
2645
+ }
2638
2646
 
2639
2647
  // app/lib/whatsapp/inbound/access-control.ts
2640
2648
  function resolveAccountConfig(config, accountConfig) {
@@ -4803,7 +4811,7 @@ async function handleInboundMessage(conn, msg) {
4803
4811
  config: whatsAppConfig,
4804
4812
  accountConfig: whatsAppConfig.accounts?.[conn.accountId],
4805
4813
  accountId: conn.accountId,
4806
- isValidAccount: (id) => listValidAccounts().some((a) => a.accountId === id),
4814
+ isValidAccount: (id) => isValidAccountId(id),
4807
4815
  resolvePersonByPhone
4808
4816
  });
4809
4817
  }
@@ -8521,13 +8529,38 @@ app4.get("/conversations", requireAdminSession, async (c) => {
8521
8529
  operatorName: r.senderId ? nameBySender.get(r.senderId) ?? null : null
8522
8530
  }));
8523
8531
  const storeRows = account ? buildStoreConversationRows(account.accountId, readConversationSummaries(account.accountId)) : [];
8524
- const adminScope = storeRows.filter((r) => r.scope === "admin").length;
8525
- const publicScope = storeRows.length - adminScope;
8532
+ let houseId = null;
8533
+ if (multiAccount) {
8534
+ try {
8535
+ houseId = resolveHouseOrSoleAccountId(ACCOUNTS_DIR);
8536
+ } catch {
8537
+ houseId = null;
8538
+ }
8539
+ }
8540
+ let managerPhonesBound = 0;
8541
+ let managedRows = [];
8542
+ if (multiAccount && account && houseId && account.accountId !== houseId) {
8543
+ const houseAccount = validAccounts.find((a) => a.accountId === houseId);
8544
+ if (houseAccount) {
8545
+ const managerPhones = managerPhonesForAccount(readAccountManagers(houseAccount.accountDir), account.accountId);
8546
+ managerPhonesBound = managerPhones.length;
8547
+ if (managerPhones.length > 0) {
8548
+ managedRows = buildStoreConversationRows(houseId, readConversationSummaries(houseId)).filter(
8549
+ (r) => r.senderId != null && managerPhones.some((mp) => phonesMatch(mp, r.senderId))
8550
+ );
8551
+ }
8552
+ }
8553
+ }
8554
+ const allStoreRows = [...storeRows, ...managedRows].sort(
8555
+ (a, b) => (b.lastMessageAt ?? "").localeCompare(a.lastMessageAt ?? "")
8556
+ );
8557
+ const adminScope = allStoreRows.filter((r) => r.scope === "admin").length;
8558
+ const publicScope = allStoreRows.length - adminScope;
8526
8559
  const sessionRowCount = sessionConversations.length;
8527
8560
  console.log(
8528
- `[wa-reader] op=list pinnedAccount=${scopeAccountId?.slice(0, 8) ?? "null"} resolvedAccount=${account?.accountId.slice(0, 8) ?? "null"} multiAccount=${multiAccount} conversations=${sessionRowCount + storeRows.length} sessionRows=${sessionRowCount} storeRows=${storeRows.length} adminScope=${adminScope} publicScope=${publicScope} sessionRowsExcludedUntagged=${sessionRowsExcludedUntagged}`
8561
+ `[wa-reader] op=list pinnedAccount=${scopeAccountId?.slice(0, 8) ?? "null"} resolvedAccount=${account?.accountId.slice(0, 8) ?? "null"} multiAccount=${multiAccount} conversations=${sessionRowCount + allStoreRows.length} sessionRows=${sessionRowCount} storeRows=${allStoreRows.length} adminScope=${adminScope} publicScope=${publicScope} sessionRowsExcludedUntagged=${sessionRowsExcludedUntagged} houseResolved=${houseId ? houseId.slice(0, 8) : "null"} managerPhonesBound=${managerPhonesBound} managedStoreRows=${managedRows.length}`
8529
8562
  );
8530
- return c.json({ conversations: [...sessionConversations, ...storeRows] });
8563
+ return c.json({ conversations: [...sessionConversations, ...allStoreRows] });
8531
8564
  });
8532
8565
  function readFrom(path2, from) {
8533
8566
  const end = statSync5(path2).size;
@@ -10520,6 +10553,7 @@ import { dirname as dirname8, join as join23 } from "path";
10520
10553
 
10521
10554
  // app/lib/claude-keychain.ts
10522
10555
  import { execFileSync as execFileSync2 } from "child_process";
10556
+ import { userInfo } from "os";
10523
10557
  var CREDS_SERVICE_PREFIX = "Claude Code-credentials";
10524
10558
  function parseKeychainMdats(dumpOutput) {
10525
10559
  const out = {};
@@ -10559,11 +10593,12 @@ function bridgeKeychainToFile(deps) {
10559
10593
  deps.log(`[onboarding] op=login-writeback result=${reason} changed=${changedCount}`);
10560
10594
  return { wrote: false, reason, bytes: 0, service: null };
10561
10595
  }
10562
- const blob = deps.readBlob(service);
10563
- if (blob === null) {
10596
+ const read = deps.readBlob(service);
10597
+ if (read === null) {
10564
10598
  deps.log(`[onboarding] op=login-writeback result=read-failed service=${JSON.stringify(service)}`);
10565
10599
  return { wrote: false, reason: "read-failed", bytes: 0, service };
10566
10600
  }
10601
+ const { blob, account } = read;
10567
10602
  let parsed;
10568
10603
  try {
10569
10604
  parsed = JSON.parse(blob);
@@ -10581,7 +10616,7 @@ function bridgeKeychainToFile(deps) {
10581
10616
  deps.log(`[onboarding] op=login-writeback result=write-failed service=${JSON.stringify(service)} err=${err instanceof Error ? err.message : String(err)}`);
10582
10617
  return { wrote: false, reason: "write-failed", bytes: 0, service };
10583
10618
  }
10584
- deps.log(`[onboarding] op=login-writeback src=keychain dst=host-creds-file bytes=${blob.length}`);
10619
+ deps.log(`[onboarding] op=login-writeback src=keychain dst=host-creds-file bytes=${blob.length} account=${JSON.stringify(account)}`);
10585
10620
  return { wrote: true, reason: "ok", bytes: blob.length, service };
10586
10621
  }
10587
10622
  function persistKeychainService(result, persist, log) {
@@ -10607,18 +10642,40 @@ function decodeKeychainBlob(raw) {
10607
10642
  }
10608
10643
  return raw;
10609
10644
  }
10610
- function readHostCredsBlob(service) {
10645
+ function hostUsername() {
10611
10646
  try {
10612
- const raw = execFileSync2("security", ["find-generic-password", "-w", "-s", service], {
10613
- encoding: "utf-8",
10614
- timeout: 1e4
10615
- }).trim();
10647
+ return userInfo().username;
10648
+ } catch {
10649
+ return "";
10650
+ }
10651
+ }
10652
+ function credentialReadAttempts(service, username) {
10653
+ const attempts = [];
10654
+ if (username.length > 0) {
10655
+ attempts.push(["find-generic-password", "-w", "-s", service, "-a", username]);
10656
+ }
10657
+ attempts.push(["find-generic-password", "-w", "-s", service]);
10658
+ return attempts;
10659
+ }
10660
+ function readOnce(args) {
10661
+ try {
10662
+ const raw = execFileSync2("security", args, { encoding: "utf-8", timeout: 1e4 }).trim();
10616
10663
  if (raw.length === 0) return null;
10617
10664
  return decodeKeychainBlob(raw);
10618
10665
  } catch {
10619
10666
  return null;
10620
10667
  }
10621
10668
  }
10669
+ function readHostCredsBlob(service) {
10670
+ const username = hostUsername();
10671
+ for (const args of credentialReadAttempts(service, username)) {
10672
+ const blob = readOnce(args);
10673
+ if (blob === null) continue;
10674
+ const aIdx = args.indexOf("-a");
10675
+ return { blob, account: aIdx >= 0 ? args[aIdx + 1] : "service-only" };
10676
+ }
10677
+ return null;
10678
+ }
10622
10679
 
10623
10680
  // ../lib/admins-write/src/index.ts
10624
10681
  import { existsSync as existsSync14, readFileSync as readFileSync23, writeFileSync as writeFileSync9, renameSync as renameSync6, mkdirSync as mkdirSync5, readdirSync as readdirSync13, statSync as statSync8, appendFileSync as appendFileSync2 } from "fs";
@@ -23626,7 +23683,7 @@ var scheduleInjectRoutes = createScheduleInjectRoutes({
23626
23683
  effectiveAccountFor: (accountId, accountDir, destination) => {
23627
23684
  const managedSub = managedAccountFor(readAccountManagers(accountDir), destination);
23628
23685
  if (managedSub === null) return accountId;
23629
- if (!listValidAccounts().some((a) => a.accountId === managedSub)) return null;
23686
+ if (!isValidAccountId(managedSub)) return null;
23630
23687
  return managedSub;
23631
23688
  }
23632
23689
  });
@@ -1 +0,0 @@
1
- import{F as e,M as t}from"./useSubAccountSwitcher-BK_KfOLC.js";import"./admin-types-hioowVct.js";import"./AdminShell-By9n5icG.js";import{n}from"./page-iFOy0dFx.js";import"./Transcript-BejWvOaO.js";var r=e(),i=t();(0,r.createRoot)(document.getElementById(`root`)).render((0,i.jsx)(n,{}));
@@ -1 +0,0 @@
1
- import{D as e}from"./useSubAccountSwitcher-BK_KfOLC.js";var t=e(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]);export{t};
@@ -1 +0,0 @@
1
- import{F as e,M as t}from"./useSubAccountSwitcher-BK_KfOLC.js";import{t as n}from"./page-Df6KYkf4.js";import"./Transcript-BejWvOaO.js";import"./graph-labels-BtPf1Jom.js";var r=e(),i=t();(0,r.createRoot)(document.getElementById(`root`)).render((0,i.jsx)(n,{}));