@rubytech/create-realagent-code 0.1.572 → 0.1.573
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.
- package/package.json +1 -1
- package/payload/platform/config/brand.json +2 -1
- package/payload/platform/lib/routine-templates/dist/index.d.ts +2 -2
- package/payload/platform/lib/routine-templates/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/routine-templates/dist/index.js +9 -1
- package/payload/platform/lib/routine-templates/dist/index.js.map +1 -1
- package/payload/platform/lib/routine-templates/src/index.ts +14 -2
- package/payload/platform/plugins/admin/mcp/dist/index.js +4 -1
- package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +39 -48
- package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +10 -0
- package/payload/platform/plugins/docs/references/channel-wake-and-prompt.md +15 -47
- package/payload/platform/plugins/docs/references/telegram-guide.md +23 -0
- package/payload/platform/plugins/email/PLUGIN.md +1 -1
- package/payload/platform/plugins/email/mcp/dist/__tests__/email-draft-send.test.js +36 -5
- package/payload/platform/plugins/email/mcp/dist/__tests__/email-draft-send.test.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/__tests__/imap-drafts.test.js +10 -5
- package/payload/platform/plugins/email/mcp/dist/__tests__/imap-drafts.test.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts +12 -6
- package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/imap.js +18 -8
- package/payload/platform/plugins/email/mcp/dist/lib/imap.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/tools/email-draft-send.d.ts.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/tools/email-draft-send.js +41 -10
- package/payload/platform/plugins/email/mcp/dist/tools/email-draft-send.js.map +1 -1
- package/payload/platform/plugins/email/references/email-reference.md +12 -0
- package/payload/platform/plugins/scheduling/PLUGIN.md +4 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-gate-write.test.js +78 -5
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-gate-write.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/scheduling-gate.test.js +133 -2
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/scheduling-gate.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.d.ts +11 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js +30 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js +8 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.js +37 -6
- package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.js.map +1 -1
- package/payload/platform/scripts/check-no-esm-require.mjs +4 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +2 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +32 -5
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +12 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +13 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
- package/payload/platform/services/telegram-channel/dist/jsonl.d.ts +8 -0
- package/payload/platform/services/telegram-channel/dist/jsonl.d.ts.map +1 -0
- package/payload/platform/services/telegram-channel/dist/jsonl.js +42 -0
- package/payload/platform/services/telegram-channel/dist/jsonl.js.map +1 -0
- package/payload/platform/services/telegram-channel/dist/notification.d.ts +0 -31
- package/payload/platform/services/telegram-channel/dist/notification.d.ts.map +1 -1
- package/payload/platform/services/telegram-channel/dist/notification.js +4 -33
- package/payload/platform/services/telegram-channel/dist/notification.js.map +1 -1
- package/payload/platform/services/telegram-channel/dist/server.d.ts +0 -5
- package/payload/platform/services/telegram-channel/dist/server.d.ts.map +1 -1
- package/payload/platform/services/telegram-channel/dist/server.js +7 -101
- package/payload/platform/services/telegram-channel/dist/server.js.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/notification.d.ts +0 -66
- package/payload/platform/services/whatsapp-channel/dist/notification.d.ts.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/notification.js +2 -64
- package/payload/platform/services/whatsapp-channel/dist/notification.js.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/server.d.ts +0 -12
- package/payload/platform/services/whatsapp-channel/dist/server.d.ts.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/server.js +15 -268
- package/payload/platform/services/whatsapp-channel/dist/server.js.map +1 -1
- package/payload/server/public/activity.html +6 -6
- package/payload/server/public/agents.html +5 -5
- package/payload/server/public/assets/{AdminLoginScreens-CMdj1W5p.js → AdminLoginScreens-Dp6k1XgD.js} +1 -1
- package/payload/server/public/assets/AdminLoginScreens-Dp6k1XgD.js.br +0 -0
- package/payload/server/public/assets/AdminLoginScreens-Dp6k1XgD.js.gz +0 -0
- package/payload/server/public/assets/{AdminShell-CZcaW3BQ.js → AdminShell-D-wB90c3.js} +1 -1
- package/payload/server/public/assets/AdminShell-D-wB90c3.js.br +0 -0
- package/payload/server/public/assets/AdminShell-D-wB90c3.js.gz +0 -0
- package/payload/server/public/assets/{activity-CAhibgb-.js → activity-BJxhblz-.js} +1 -1
- package/payload/server/public/assets/activity-BJxhblz-.js.br +0 -0
- package/payload/server/public/assets/activity-BJxhblz-.js.gz +0 -0
- package/payload/server/public/assets/{admin-xEXv3w9e.js → admin-DzEi8shs.js} +1 -1
- package/payload/server/public/assets/admin-DzEi8shs.js.br +0 -0
- package/payload/server/public/assets/admin-DzEi8shs.js.gz +0 -0
- package/payload/server/public/assets/{agents-CiAmzTaT.js → agents-DTL8kjfD.js} +1 -1
- package/payload/server/public/assets/agents-DTL8kjfD.js.br +0 -0
- package/payload/server/public/assets/agents-DTL8kjfD.js.gz +0 -0
- package/payload/server/public/assets/{browser-D36BiYhS.js → browser-UZp75zhx.js} +1 -1
- package/payload/server/public/assets/browser-UZp75zhx.js.br +0 -0
- package/payload/server/public/assets/browser-UZp75zhx.js.gz +0 -0
- package/payload/server/public/assets/{calendar-CJAM-iXn.js → calendar-Dfo0O2K_.js} +1 -1
- package/payload/server/public/assets/calendar-Dfo0O2K_.js.br +0 -0
- package/payload/server/public/assets/calendar-Dfo0O2K_.js.gz +0 -0
- package/payload/server/public/assets/chat-ByJAvEWZ.js +1 -0
- package/payload/server/public/assets/chat-ByJAvEWZ.js.br +0 -0
- package/payload/server/public/assets/chat-ByJAvEWZ.js.gz +0 -0
- package/payload/server/public/assets/chevron-left-iG7sYNm7.js +1 -0
- package/payload/server/public/assets/chevron-left-iG7sYNm7.js.br +0 -0
- package/payload/server/public/assets/clock-xSs0UF10.js +1 -0
- package/payload/server/public/assets/clock-xSs0UF10.js.br +0 -0
- package/payload/server/public/assets/clock-xSs0UF10.js.gz +0 -0
- package/payload/server/public/assets/{copy-axBe92iY.js → copy-CGI2jioK.js} +1 -1
- package/payload/server/public/assets/copy-CGI2jioK.js.br +0 -0
- package/payload/server/public/assets/copy-CGI2jioK.js.gz +0 -0
- package/payload/server/public/assets/data-dvwK4BcP.js +1 -0
- package/payload/server/public/assets/data-dvwK4BcP.js.br +0 -0
- package/payload/server/public/assets/data-dvwK4BcP.js.gz +0 -0
- package/payload/server/public/assets/{dispatch-D_i2ko7K.js → dispatch-Dx9-ty1K.js} +1 -1
- package/payload/server/public/assets/dispatch-Dx9-ty1K.js.br +0 -0
- package/payload/server/public/assets/dispatch-Dx9-ty1K.js.gz +0 -0
- package/payload/server/public/assets/{field-DFgkqq1P.js → field-D-P6CsWA.js} +1 -1
- package/payload/server/public/assets/field-D-P6CsWA.js.br +0 -0
- package/payload/server/public/assets/field-D-P6CsWA.js.gz +0 -0
- package/payload/server/public/assets/{file-text-CEFoq0Je.js → file-text-RWintp9q.js} +1 -1
- package/payload/server/public/assets/file-text-RWintp9q.js.br +0 -0
- package/payload/server/public/assets/file-text-RWintp9q.js.gz +0 -0
- package/payload/server/public/assets/{graph-BrpbilNr.js → graph-CpBlfYrJ.js} +1 -1
- package/payload/server/public/assets/graph-CpBlfYrJ.js.br +0 -0
- package/payload/server/public/assets/graph-CpBlfYrJ.js.gz +0 -0
- package/payload/server/public/assets/{graph-labels-BtmcWzo7.js → graph-labels-BOMyPppX.js} +1 -1
- package/payload/server/public/assets/graph-labels-BOMyPppX.js.br +0 -0
- package/payload/server/public/assets/graph-labels-BOMyPppX.js.gz +0 -0
- package/payload/server/public/assets/jsx-runtime-DxsQ5Y-z.css +1 -0
- package/payload/server/public/assets/jsx-runtime-DxsQ5Y-z.css.br +0 -0
- package/payload/server/public/assets/jsx-runtime-DxsQ5Y-z.css.gz +0 -0
- package/payload/server/public/assets/{operator-Dl7dJt1G.js → operator-DFgW6GiH.js} +1 -1
- package/payload/server/public/assets/operator-DFgW6GiH.js.br +0 -0
- package/payload/server/public/assets/operator-DFgW6GiH.js.gz +0 -0
- package/payload/server/public/assets/{page-nx31Ij0T.js → page-BRShHSH0.js} +1 -1
- package/payload/server/public/assets/page-BRShHSH0.js.br +0 -0
- package/payload/server/public/assets/page-BRShHSH0.js.gz +0 -0
- package/payload/server/public/assets/{page-zC66xzNT.js → page-BbBCu9iP.js} +5 -5
- package/payload/server/public/assets/page-BbBCu9iP.js.br +0 -0
- package/payload/server/public/assets/page-BbBCu9iP.js.gz +0 -0
- package/payload/server/public/assets/play-BJxUaf6-.js +1 -0
- package/payload/server/public/assets/play-BJxUaf6-.js.br +0 -0
- package/payload/server/public/assets/play-BJxUaf6-.js.gz +0 -0
- package/payload/server/public/assets/{public-DEKnH5Q0.js → public-DkObqkzL.js} +1 -1
- package/payload/server/public/assets/public-DkObqkzL.js.br +0 -0
- package/payload/server/public/assets/public-DkObqkzL.js.gz +0 -0
- package/payload/server/public/assets/{rotate-ccw-CBex8gon.js → rotate-ccw-DgMO69nh.js} +1 -1
- package/payload/server/public/assets/rotate-ccw-DgMO69nh.js.br +0 -0
- package/payload/server/public/assets/rotate-ccw-DgMO69nh.js.gz +0 -0
- package/payload/server/public/assets/routines-D9kvg_Xu.js +2 -0
- package/payload/server/public/assets/routines-D9kvg_Xu.js.br +0 -0
- package/payload/server/public/assets/routines-D9kvg_Xu.js.gz +0 -0
- package/payload/server/public/assets/{skills-BmxjPOmq.js → skills-l5I9HZ3D.js} +1 -1
- package/payload/server/public/assets/skills-l5I9HZ3D.js.br +0 -0
- package/payload/server/public/assets/skills-l5I9HZ3D.js.gz +0 -0
- package/payload/server/public/assets/{tasks-BTFYO9vT.js → tasks-C2qJMv6i.js} +1 -1
- package/payload/server/public/assets/tasks-C2qJMv6i.js.br +0 -0
- package/payload/server/public/assets/tasks-C2qJMv6i.js.gz +0 -0
- package/payload/server/public/assets/{triangle-alert-px1YRJJ7.js → triangle-alert-BnC67uSs.js} +1 -1
- package/payload/server/public/assets/triangle-alert-BnC67uSs.js.br +0 -0
- package/payload/server/public/assets/triangle-alert-BnC67uSs.js.gz +0 -0
- package/payload/server/public/assets/{useCopyFeedback-nMXwRcDX.js → useCopyFeedback-1RmgkTFh.js} +1 -1
- package/payload/server/public/assets/useCopyFeedback-1RmgkTFh.js.br +0 -0
- package/payload/server/public/assets/useCopyFeedback-1RmgkTFh.js.gz +0 -0
- package/payload/server/public/assets/{useMediaQuery-DjbOTk2X.js → useMediaQuery-BQslddHQ.js} +1 -1
- package/payload/server/public/assets/useMediaQuery-BQslddHQ.js.br +0 -0
- package/payload/server/public/assets/useMediaQuery-BQslddHQ.js.gz +0 -0
- package/payload/server/public/assets/{useVoiceRecorder-Cx7AOmib.js → useVoiceRecorder-BeZNQEC4.js} +1 -1
- package/payload/server/public/assets/useVoiceRecorder-BeZNQEC4.js.br +0 -0
- package/payload/server/public/assets/useVoiceRecorder-BeZNQEC4.js.gz +0 -0
- package/payload/server/public/assets/{wrench-Cexvlx6J.js → wrench-D4ufQG6C.js} +1 -1
- package/payload/server/public/assets/wrench-D4ufQG6C.js.br +0 -0
- package/payload/server/public/assets/wrench-D4ufQG6C.js.gz +0 -0
- package/payload/server/public/browser.html +5 -5
- package/payload/server/public/calendar.html +8 -8
- package/payload/server/public/chat.html +14 -14
- package/payload/server/public/data.html +12 -12
- package/payload/server/public/dispatch.html +5 -5
- package/payload/server/public/field.html +3 -3
- package/payload/server/public/graph.html +10 -10
- package/payload/server/public/index.html +14 -14
- package/payload/server/public/operator.html +16 -16
- package/payload/server/public/public.html +14 -14
- package/payload/server/public/routines.html +8 -8
- package/payload/server/public/skills.html +6 -6
- package/payload/server/public/tasks.html +7 -7
- package/payload/server/server.js +739 -449
- package/payload/server/public/assets/AdminLoginScreens-CMdj1W5p.js.br +0 -0
- package/payload/server/public/assets/AdminLoginScreens-CMdj1W5p.js.gz +0 -0
- package/payload/server/public/assets/AdminShell-CZcaW3BQ.js.br +0 -0
- package/payload/server/public/assets/AdminShell-CZcaW3BQ.js.gz +0 -0
- package/payload/server/public/assets/activity-CAhibgb-.js.br +0 -0
- package/payload/server/public/assets/activity-CAhibgb-.js.gz +0 -0
- package/payload/server/public/assets/admin-xEXv3w9e.js.br +0 -0
- package/payload/server/public/assets/admin-xEXv3w9e.js.gz +0 -0
- package/payload/server/public/assets/agents-CiAmzTaT.js.br +0 -0
- package/payload/server/public/assets/agents-CiAmzTaT.js.gz +0 -0
- package/payload/server/public/assets/browser-D36BiYhS.js.br +0 -0
- package/payload/server/public/assets/browser-D36BiYhS.js.gz +0 -0
- package/payload/server/public/assets/calendar-CJAM-iXn.js.br +0 -0
- package/payload/server/public/assets/calendar-CJAM-iXn.js.gz +0 -0
- package/payload/server/public/assets/chat-DhZSvtZK.js +0 -1
- package/payload/server/public/assets/chat-DhZSvtZK.js.br +0 -0
- package/payload/server/public/assets/chat-DhZSvtZK.js.gz +0 -0
- package/payload/server/public/assets/chevron-left-CXEcNlc3.js +0 -1
- package/payload/server/public/assets/chevron-left-CXEcNlc3.js.br +0 -0
- package/payload/server/public/assets/clock-DdxIJwTr.js +0 -1
- package/payload/server/public/assets/clock-DdxIJwTr.js.br +0 -0
- package/payload/server/public/assets/clock-DdxIJwTr.js.gz +0 -0
- package/payload/server/public/assets/copy-axBe92iY.js.br +0 -0
- package/payload/server/public/assets/copy-axBe92iY.js.gz +0 -0
- package/payload/server/public/assets/data-DUvkI-zq.js +0 -1
- package/payload/server/public/assets/data-DUvkI-zq.js.br +0 -0
- package/payload/server/public/assets/data-DUvkI-zq.js.gz +0 -0
- package/payload/server/public/assets/dispatch-D_i2ko7K.js.br +0 -0
- package/payload/server/public/assets/dispatch-D_i2ko7K.js.gz +0 -0
- package/payload/server/public/assets/field-DFgkqq1P.js.br +0 -0
- package/payload/server/public/assets/field-DFgkqq1P.js.gz +0 -0
- package/payload/server/public/assets/file-text-CEFoq0Je.js.br +0 -0
- package/payload/server/public/assets/file-text-CEFoq0Je.js.gz +0 -0
- package/payload/server/public/assets/graph-BrpbilNr.js.br +0 -0
- package/payload/server/public/assets/graph-BrpbilNr.js.gz +0 -0
- package/payload/server/public/assets/graph-labels-BtmcWzo7.js.br +0 -0
- package/payload/server/public/assets/graph-labels-BtmcWzo7.js.gz +0 -0
- package/payload/server/public/assets/jsx-runtime-XuYKjgVb.css +0 -1
- package/payload/server/public/assets/jsx-runtime-XuYKjgVb.css.br +0 -0
- package/payload/server/public/assets/jsx-runtime-XuYKjgVb.css.gz +0 -0
- package/payload/server/public/assets/operator-Dl7dJt1G.js.br +0 -3
- package/payload/server/public/assets/operator-Dl7dJt1G.js.gz +0 -0
- package/payload/server/public/assets/page-nx31Ij0T.js.br +0 -0
- package/payload/server/public/assets/page-nx31Ij0T.js.gz +0 -0
- package/payload/server/public/assets/page-zC66xzNT.js.br +0 -0
- package/payload/server/public/assets/page-zC66xzNT.js.gz +0 -0
- package/payload/server/public/assets/play-MbU8O2iC.js +0 -1
- package/payload/server/public/assets/play-MbU8O2iC.js.br +0 -0
- package/payload/server/public/assets/play-MbU8O2iC.js.gz +0 -0
- package/payload/server/public/assets/public-DEKnH5Q0.js.br +0 -0
- package/payload/server/public/assets/public-DEKnH5Q0.js.gz +0 -0
- package/payload/server/public/assets/rotate-ccw-CBex8gon.js.br +0 -0
- package/payload/server/public/assets/rotate-ccw-CBex8gon.js.gz +0 -0
- package/payload/server/public/assets/routines-BqCmbvFJ.js +0 -2
- package/payload/server/public/assets/routines-BqCmbvFJ.js.br +0 -0
- package/payload/server/public/assets/routines-BqCmbvFJ.js.gz +0 -0
- package/payload/server/public/assets/skills-BmxjPOmq.js.br +0 -0
- package/payload/server/public/assets/skills-BmxjPOmq.js.gz +0 -0
- package/payload/server/public/assets/tasks-BTFYO9vT.js.br +0 -0
- package/payload/server/public/assets/tasks-BTFYO9vT.js.gz +0 -0
- package/payload/server/public/assets/triangle-alert-px1YRJJ7.js.br +0 -0
- package/payload/server/public/assets/triangle-alert-px1YRJJ7.js.gz +0 -0
- package/payload/server/public/assets/useCopyFeedback-nMXwRcDX.js.br +0 -0
- package/payload/server/public/assets/useCopyFeedback-nMXwRcDX.js.gz +0 -0
- package/payload/server/public/assets/useMediaQuery-DjbOTk2X.js.br +0 -0
- package/payload/server/public/assets/useMediaQuery-DjbOTk2X.js.gz +0 -0
- package/payload/server/public/assets/useVoiceRecorder-Cx7AOmib.js.br +0 -0
- package/payload/server/public/assets/useVoiceRecorder-Cx7AOmib.js.gz +0 -0
- package/payload/server/public/assets/wrench-Cexvlx6J.js.br +0 -0
- package/payload/server/public/assets/wrench-Cexvlx6J.js.gz +0 -0
- /package/payload/server/public/assets/{jsx-runtime-C5Hcfj84.js → jsx-runtime-5lmxFBIw.js} +0 -0
- /package/payload/server/public/assets/{jsx-runtime-C5Hcfj84.js.br → jsx-runtime-5lmxFBIw.js.br} +0 -0
- /package/payload/server/public/assets/{jsx-runtime-C5Hcfj84.js.gz → jsx-runtime-5lmxFBIw.js.gz} +0 -0
|
@@ -14,11 +14,10 @@ import { pathToFileURL } from 'node:url';
|
|
|
14
14
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
15
15
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
16
16
|
import { ListToolsRequestSchema, CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
17
|
-
import { acceptsSender, composeAdminContent, wrapSourceTag, buildSendPartyPostBody, buildReceivedPostBody, buildTurnObservedPostBody,
|
|
17
|
+
import { acceptsSender, composeAdminContent, wrapSourceTag, buildSendPartyPostBody, buildReceivedPostBody, buildTurnObservedPostBody, buildReplyError, redactInternalLeaks, postWithRetry } from './notification.js';
|
|
18
18
|
import { resolveChannelRole } from './instructions.js';
|
|
19
19
|
import { findJsonlForSessionId, watchForGrowth } from './jsonl-watch.js';
|
|
20
|
-
import {
|
|
21
|
-
import { parseTargets, channelDoors, whatsappSendPartyEndpoint, whatsappTurnEndEndpoint, webchatTurnEndEndpoint, doorInboundPayload } from './targets.js';
|
|
20
|
+
import { parseTargets, channelDoors, whatsappSendPartyEndpoint, doorInboundPayload } from './targets.js';
|
|
22
21
|
export { parseTargets };
|
|
23
22
|
function requireEnv(name) {
|
|
24
23
|
const v = process.env[name];
|
|
@@ -62,11 +61,6 @@ const RECEIPT_ACK_DELAY_MS = 2000;
|
|
|
62
61
|
// drop happens inside the harness during the cold-resume window; by the time a
|
|
63
62
|
// 10 s watch times out that window has passed and a resend is processed.
|
|
64
63
|
const NOTIFICATION_RETRY_TIMEOUT_MS = 10_000;
|
|
65
|
-
/** Task 2451 — how often each follower's hold state is reported. A held segment
|
|
66
|
-
* that never resolves emits nothing of its own, so this census is the only
|
|
67
|
-
* surface that shows it. Exported so tests assert the value without waiting it
|
|
68
|
-
* out. */
|
|
69
|
-
export const CENSUS_INTERVAL_MS = 60_000;
|
|
70
64
|
// Task 1864 — audience-scoping provenance clause, prepended to both server-level
|
|
71
65
|
// instruction constants. The harness injects this server's instructions into the
|
|
72
66
|
// parent PTY and every in-process Agent-tool subagent it dispatches, so the bare
|
|
@@ -248,32 +242,12 @@ async function postReady() {
|
|
|
248
242
|
export async function subscribeInbound(opts) {
|
|
249
243
|
const watchGrower = opts?.watchGrew ?? watchForGrowth;
|
|
250
244
|
const notificationTimeoutMs = opts?.notificationTimeoutMs ?? NOTIFICATION_RETRY_TIMEOUT_MS;
|
|
251
|
-
const followTurns = opts?.followTurnEnds ?? followTurnEnds;
|
|
252
245
|
const sessionId = process.env.WA_CHANNEL_SESSION_ID;
|
|
253
246
|
const findJsonlFn = opts?.findJsonl ?? ((s) => findJsonlForSessionId(s));
|
|
254
247
|
let jsonlPath = sessionId ? findJsonlFn(sessionId) : null;
|
|
255
|
-
// Task
|
|
256
|
-
//
|
|
257
|
-
//
|
|
258
|
-
// turn (pendingTurns === 0) delivers nothing.
|
|
259
|
-
// Task 2111 — an inbound queued mid-turn is usually answered by the RUNNING
|
|
260
|
-
// turn, not the next one: the harness injects it as a `queued_command` row
|
|
261
|
-
// into the turn already in flight. Each end_turn is therefore attributed by
|
|
262
|
-
// what its own segment shows it answered, not by position in a sequence.
|
|
263
|
-
let pendingTurns = 0;
|
|
264
|
-
let followerStarted = false;
|
|
265
|
-
// Task 1539 — the interactive intent of each outstanding inbound, and since
|
|
266
|
-
// Task 2288 its source itself rather than a boolean: the gateway gates its
|
|
267
|
-
// force-send forward on the source, so a relay-woken turn stops
|
|
268
|
-
// double-delivering on top of the relay's own reply closure. `interactive` is
|
|
269
|
-
// still `source !== 'schedule'` — a real person is waiting, so the turn's
|
|
270
|
-
// end-turn answer is delivered as a fallback; a scheduled inject stays silent.
|
|
271
|
-
// Task 2111 — this is NOT in lockstep with turn count. The harness answers
|
|
272
|
-
// every inbound queued while it was busy in ONE turn, so N inbounds produce
|
|
273
|
-
// fewer than N turns. Each turn-end therefore consumes
|
|
274
|
-
// `outcome.consumedInbounds` entries, counted from the turn's own JSONL
|
|
275
|
-
// segment, rather than one per turn.
|
|
276
|
-
const pendingSources = [];
|
|
248
|
+
// Task 2521 — the pending-inbound credit ledger is gone with the follower it
|
|
249
|
+
// gated. It existed to decide WHETHER a turn's answer was delivered; delivery
|
|
250
|
+
// is now ungated at the emitter, so there is nothing left for it to decide.
|
|
277
251
|
const url = `${GATEWAY_URL}/wa-channel/inbound?senderId=${encodeURIComponent(SENDER_ID)}&accountId=${encodeURIComponent(ACCOUNT_ID)}`;
|
|
278
252
|
for (;;) {
|
|
279
253
|
try {
|
|
@@ -429,114 +403,11 @@ export async function subscribeInbound(opts) {
|
|
|
429
403
|
catch (err) {
|
|
430
404
|
console.error(`[whatsapp-channel] op=turn-observed-failed senderId=${SENDER_ID} waMessageId=${payload.waMessageId} err=${err instanceof Error ? err.message : String(err)}`);
|
|
431
405
|
}
|
|
432
|
-
// Task
|
|
433
|
-
//
|
|
434
|
-
//
|
|
435
|
-
//
|
|
436
|
-
//
|
|
437
|
-
// usually answered by the running turn and counted in ITS segment
|
|
438
|
-
// (Task 2111). Re-resolve the path lazily
|
|
439
|
-
// when it was absent at startup (brand-new session whose JSONL appears
|
|
440
|
-
// on the first turn). The follower is detached so the SSE read loop
|
|
441
|
-
// keeps receiving.
|
|
442
|
-
if (!jsonlPath && sessionId)
|
|
443
|
-
jsonlPath = findJsonlFn(sessionId);
|
|
444
|
-
if (jsonlPath) {
|
|
445
|
-
pendingTurns++;
|
|
446
|
-
pendingSources.push(payload.source ?? 'user');
|
|
447
|
-
if (!followerStarted) {
|
|
448
|
-
followerStarted = true;
|
|
449
|
-
const followPath = jsonlPath;
|
|
450
|
-
const followStart = turnStartOffset;
|
|
451
|
-
// Task 2451 — a held segment that never resolves emits no event of
|
|
452
|
-
// its own. This census is the only surface that shows it, and the
|
|
453
|
-
// only place credit drift is visible between turns.
|
|
454
|
-
const followerState = { held: false, heldMessageId: '', heldSinceMs: -1, lastMessageId: '' };
|
|
455
|
-
const census = setInterval(() => {
|
|
456
|
-
const heldAgeMs = followerState.held && followerState.heldSinceMs >= 0 ? Date.now() - followerState.heldSinceMs : -1;
|
|
457
|
-
console.error(`[whatsapp-turn-census] op=census sessionId=${sessionId ?? ''} pending=${pendingTurns} held=${followerState.held ? 1 : 0} heldMessageId=${followerState.heldMessageId} heldAgeMs=${heldAgeMs} lastMessageId=${followerState.lastMessageId}`);
|
|
458
|
-
}, CENSUS_INTERVAL_MS);
|
|
459
|
-
census.unref?.();
|
|
460
|
-
void followTurns(followPath, followStart, (outcome) => {
|
|
461
|
-
// Task 2451 — an answer discarded here was rendered in the
|
|
462
|
-
// reader and never reached the chat. finalBytes>0 is a parity
|
|
463
|
-
// breach; this line is the only place it is countable.
|
|
464
|
-
if (pendingTurns <= 0) {
|
|
465
|
-
console.error(`[whatsapp-channel] op=turn-drop sessionId=${sessionId ?? ''} messageId=${outcome.messageId} finalBytes=${Buffer.byteLength(outcome.finalText.trim(), 'utf8')} reason=no-credit`);
|
|
466
|
-
return;
|
|
467
|
-
}
|
|
468
|
-
// Task 2111 — a turn that answered no channel inbound decides
|
|
469
|
-
// nothing and consumes nothing. `followTurnEnds` segments on ANY
|
|
470
|
-
// assistant end_turn, so subagent turns, operator turns driven
|
|
471
|
-
// from claude.ai, and resumed turns all arrive here: measured on
|
|
472
|
-
// session e59ed04e, 26 of 100 segments hold zero channel rows.
|
|
473
|
-
// Consuming one entry each would take 111 against 85 pushes and
|
|
474
|
-
// steal a waiting person's entry.
|
|
475
|
-
if (outcome.consumedInbounds <= 0) {
|
|
476
|
-
// Task 2451 — a turn that answered no channel inbound is not
|
|
477
|
-
// delivered by design, but it is still an outcome discarded
|
|
478
|
-
// in silence. Counted so the exclusion is measurable.
|
|
479
|
-
console.error(`[whatsapp-channel] op=turn-drop sessionId=${sessionId ?? ''} messageId=${outcome.messageId} finalBytes=${Buffer.byteLength(outcome.finalText.trim(), 'utf8')} reason=no-consumed-inbound`);
|
|
480
|
-
return;
|
|
481
|
-
}
|
|
482
|
-
// Task 2072 — the FIFO state this decision is made against, read
|
|
483
|
-
// before the decrement and before the splice, so a stale entry is
|
|
484
|
-
// readable from the gateway log without reproducing the drop.
|
|
485
|
-
const pendingTurnsBefore = pendingTurns;
|
|
486
|
-
const queueDepth = pendingSources.length;
|
|
487
|
-
// Task 1539 — restore the interactive delivery fallback (removed
|
|
488
|
-
// in 1464). For a turn a real person is waiting on, the trimmed
|
|
489
|
-
// end-turn assistant text is the answer; ship it (outbound-guarded)
|
|
490
|
-
// so the gateway force-sends it when the agent did not route the
|
|
491
|
-
// answer through the reply tool. A scheduled inject ships an empty
|
|
492
|
-
// finalText and stays silent.
|
|
493
|
-
// Task 2111 — consume exactly the inbounds this turn answered, no
|
|
494
|
-
// more and no fewer, so the queue stays in bijection with the
|
|
495
|
-
// pushes. The reduction below makes a turn that answered a person
|
|
496
|
-
// alongside a scheduled inject interactive: a person is waiting,
|
|
497
|
-
// which is the guarantee 1539 exists to hold.
|
|
498
|
-
const consumed = pendingSources.splice(0, outcome.consumedInbounds);
|
|
499
|
-
pendingTurns -= consumed.length;
|
|
500
|
-
// Task 2288 — one value for a turn that can have consumed a mix
|
|
501
|
-
// of sources; `interactive` derives from it and is exactly the
|
|
502
|
-
// value `consumed.some(Boolean)` produced over the old boolean
|
|
503
|
-
// FIFO.
|
|
504
|
-
const source = reduceTurnSource(consumed);
|
|
505
|
-
const interactive = source !== 'schedule';
|
|
506
|
-
// Task 2072 — measured alongside the shipped text, so the two can
|
|
507
|
-
// be compared on one line when a redaction shortens the answer.
|
|
508
|
-
const finalBytes = Buffer.byteLength(outcome.finalText.trim(), 'utf8');
|
|
509
|
-
// Task 2078 — the answer ships whatever woke the turn. Withholding a
|
|
510
|
-
// scheduled turn's text was only ever safe because the reply tool was
|
|
511
|
-
// its send path; that tool is gone, so this gate would have ended
|
|
512
|
-
// scheduled outbound entirely (three quarters of measured turns).
|
|
513
|
-
// A scheduled turn with nothing to report ends with NO TEXT, which the
|
|
514
|
-
// gateway records as op=turn-answer-absent. `interactive` is still
|
|
515
|
-
// measured and still travels: it is a census field, not a gate.
|
|
516
|
-
const finalText = guardOutbound(outcome.finalText.trim());
|
|
517
|
-
void fetch(`${GATEWAY_URL}/wa-channel/turn-end`, {
|
|
518
|
-
method: 'POST',
|
|
519
|
-
headers: { 'content-type': 'application/json' },
|
|
520
|
-
body: JSON.stringify(
|
|
521
|
-
// Task 2458 — the module ROLE travels with the decision, so
|
|
522
|
-
// the gateway sends a public turn back down this
|
|
523
|
-
// (account, sender) instead of resolving an admin identity
|
|
524
|
-
// that a visitor never has.
|
|
525
|
-
buildTurnEndPostBody(SENDER_ID, ROLE, ACCOUNT_ID, sessionId ?? '', outcome.replied, interactive, finalText, finalBytes, queueDepth, pendingTurnsBefore, consumed.length, source, outcome.context)),
|
|
526
|
-
}).catch(() => { });
|
|
527
|
-
}, { state: followerState }).finally(() => {
|
|
528
|
-
clearInterval(census);
|
|
529
|
-
// The follower only settles on a stat failure (file unreadable —
|
|
530
|
-
// the session is ending). Any outstanding pendingTurns are no
|
|
531
|
-
// longer followable, so clear them: a replacement follower
|
|
532
|
-
// started by a later inbound begins clean rather than carrying a
|
|
533
|
-
// phantom count that would over-deliver onto future turns.
|
|
534
|
-
pendingTurns = 0;
|
|
535
|
-
followerStarted = false;
|
|
536
|
-
pendingSources.length = 0;
|
|
537
|
-
});
|
|
538
|
-
}
|
|
539
|
-
}
|
|
406
|
+
// Task 2521 — the turn-end follower that used to start here is gone.
|
|
407
|
+
// Three sibling copies of it each decided independently what an answer
|
|
408
|
+
// was and when a turn ended, and two of them lost session 8e5bc4e8's
|
|
409
|
+
// reply. One emitter in the ui-server now reads this JSONL and delivers
|
|
410
|
+
// every answer to every bound door, so this server only carries inbound.
|
|
540
411
|
}
|
|
541
412
|
}
|
|
542
413
|
console.error('[whatsapp-channel] inbound stream closed by gateway; reconnecting');
|
|
@@ -556,130 +427,12 @@ export async function subscribeInbound(opts) {
|
|
|
556
427
|
// JSONL, one follower) to detect the turn-undelivered anomaly; the fan-out reply
|
|
557
428
|
// remains the delivery path.
|
|
558
429
|
export async function subscribeMultiInbound(targets, opts) {
|
|
559
|
-
|
|
560
|
-
await Promise.all(channelDoors(targets).map((door) => runDoorStream(door, startTurnFollow, opts)));
|
|
561
|
-
}
|
|
562
|
-
// Task 981 — the unified turn-undelivered detector. In multi-target mode the
|
|
563
|
-
// agent's reply tool is mcp__channel__reply, which fans to every bound door; a
|
|
564
|
-
// turn that ends with substantive assistant text but called no reply tool
|
|
565
|
-
// strands its answer on the webchat door (whose reader renders reply-tool text
|
|
566
|
-
// only). This returns a hook each door stream calls per inbound: it counts the
|
|
567
|
-
// inbound and, on the first one, starts a single session-long follower. Each
|
|
568
|
-
// reported end_turn posts the webchat gateway's turn-end decision, which logs
|
|
569
|
-
// op=turn-undelivered on replied===false && finalBytes>0 and never re-delivers.
|
|
570
|
-
// Gated on a bound webchat door: a whatsapp-only set strands nothing on a
|
|
571
|
-
// reply-only reader, and the WhatsApp door's own turn-end handling (reply-tool-
|
|
572
|
-
// only since Task 1464) is out of scope here. State is shared across the door
|
|
573
|
-
// streams, never per door.
|
|
574
|
-
function makeMultiTurnFollow(targets, followTurns) {
|
|
575
|
-
const webchat = webchatTurnEndEndpoint(targets);
|
|
576
|
-
// Task 1544 — the WhatsApp door's turn-end endpoint. When both doors are bound
|
|
577
|
-
// (the dual-bound session this follower runs for), each reported end_turn also
|
|
578
|
-
// force-sends the interactive answer to the WhatsApp door, closing the same
|
|
579
|
-
// strand the single-target server closes since Task 1539. Null when no WhatsApp
|
|
580
|
-
// door is bound, so the fan-out below skips it.
|
|
581
|
-
const whatsapp = whatsappTurnEndEndpoint(targets);
|
|
582
|
-
const sessionId = process.env.CHANNEL_SESSION_ID ?? '';
|
|
583
|
-
let pendingTurns = 0;
|
|
584
|
-
let followerStarted = false;
|
|
585
|
-
// Task 1539 — the interactive intent of each outstanding inbound, so a
|
|
586
|
-
// scheduled multi-target dispatch does not promote its end-turn text on the
|
|
587
|
-
// webchat reader. Task 2111 — NOT in lockstep with turn count; each turn-end
|
|
588
|
-
// consumes `outcome.consumedInbounds` entries. Task 2288 — the entries are the
|
|
589
|
-
// sources themselves, so the WhatsApp door's turn-end body can carry one. See
|
|
590
|
-
// the single-target twin in subscribeInbound for the full reasoning.
|
|
591
|
-
const pendingSources = [];
|
|
592
|
-
return (jsonlPath, turnStartOffset, source) => {
|
|
593
|
-
if (!webchat || !jsonlPath)
|
|
594
|
-
return;
|
|
595
|
-
pendingTurns++;
|
|
596
|
-
pendingSources.push(source);
|
|
597
|
-
if (followerStarted)
|
|
598
|
-
return;
|
|
599
|
-
followerStarted = true;
|
|
600
|
-
// Task 2451 — see the single-target twin. One state object per follower.
|
|
601
|
-
const followerState = { held: false, heldMessageId: '', heldSinceMs: -1, lastMessageId: '' };
|
|
602
|
-
const census = setInterval(() => {
|
|
603
|
-
const heldAgeMs = followerState.held && followerState.heldSinceMs >= 0 ? Date.now() - followerState.heldSinceMs : -1;
|
|
604
|
-
console.error(`[whatsapp-turn-census] op=census sessionId=${sessionId} pending=${pendingTurns} held=${followerState.held ? 1 : 0} heldMessageId=${followerState.heldMessageId} heldAgeMs=${heldAgeMs} lastMessageId=${followerState.lastMessageId}`);
|
|
605
|
-
}, CENSUS_INTERVAL_MS);
|
|
606
|
-
census.unref?.();
|
|
607
|
-
void followTurns(jsonlPath, turnStartOffset, (outcome) => {
|
|
608
|
-
// Task 2451 — see the single-target twin: a discarded answer is logged,
|
|
609
|
-
// never dropped on a bare return.
|
|
610
|
-
if (pendingTurns <= 0) {
|
|
611
|
-
console.error(`[whatsapp-channel] op=turn-drop sessionId=${sessionId} messageId=${outcome.messageId} finalBytes=${Buffer.byteLength(outcome.finalText.trim(), 'utf8')} reason=no-credit`);
|
|
612
|
-
return;
|
|
613
|
-
}
|
|
614
|
-
// Task 2111 — a turn that answered no channel inbound decides nothing and
|
|
615
|
-
// consumes nothing; see the single-target twin for the measurement.
|
|
616
|
-
if (outcome.consumedInbounds <= 0) {
|
|
617
|
-
console.error(`[whatsapp-channel] op=turn-drop sessionId=${sessionId} messageId=${outcome.messageId} finalBytes=${Buffer.byteLength(outcome.finalText.trim(), 'utf8')} reason=no-consumed-inbound`);
|
|
618
|
-
return;
|
|
619
|
-
}
|
|
620
|
-
// Task 2072 — the FIFO state this decision is made against, read before the
|
|
621
|
-
// decrement and before the splice.
|
|
622
|
-
const pendingTurnsBefore = pendingTurns;
|
|
623
|
-
const queueDepth = pendingSources.length;
|
|
624
|
-
// Reader-side delivery on webchat (Task 1539): the answer text never leaves
|
|
625
|
-
// this server; only interactive + the trimmed end-turn byte length travel,
|
|
626
|
-
// so the gateway can classify delivered=fallback|reply|none for the lifeline.
|
|
627
|
-
// Task 2111 — consume exactly the inbounds this turn answered; see the
|
|
628
|
-
// single-target twin in subscribeInbound for the full reasoning.
|
|
629
|
-
const consumed = pendingSources.splice(0, outcome.consumedInbounds);
|
|
630
|
-
pendingTurns -= consumed.length;
|
|
631
|
-
// Task 2288 — see the single-target twin. The webchat body below is
|
|
632
|
-
// deliberately unchanged; only the WhatsApp door force-sends.
|
|
633
|
-
const turnSource = reduceTurnSource(consumed);
|
|
634
|
-
const interactiveTurn = turnSource !== 'schedule';
|
|
635
|
-
// Measured before the interactive gate below, so the WhatsApp door reports
|
|
636
|
-
// the size of an answer it withholds (Task 2072). Shared with the webchat
|
|
637
|
-
// POST, whose body is unchanged.
|
|
638
|
-
const finalBytes = Buffer.byteLength(outcome.finalText.trim(), 'utf8');
|
|
639
|
-
// Task 2075 — `role` is mandatory on /webchat-channel/turn-end: the gateway
|
|
640
|
-
// scopes `replied` to public and raises op=turn-answer-absent for admin, so a
|
|
641
|
-
// role-less body is a 400. This fetch checks no response status, so omitting
|
|
642
|
-
// it loses the turn-end signal silently. This door is always the admin one
|
|
643
|
-
// (targets.ts:253-257 stamps &role=admin on the matching inbound URL).
|
|
644
|
-
void fetch(webchat.url, {
|
|
645
|
-
method: 'POST',
|
|
646
|
-
headers: { 'content-type': 'application/json' },
|
|
647
|
-
// Task 2364 — the counts travel on this door too; a multi-target turn
|
|
648
|
-
// would otherwise report -1 on webchat while WhatsApp reports the real
|
|
649
|
-
// figures for the same turn.
|
|
650
|
-
body: JSON.stringify({ key: webchat.key, sessionId, role: 'admin', replied: outcome.replied, interactive: interactiveTurn, finalBytes, ...outcome.context }),
|
|
651
|
-
}).catch(() => { });
|
|
652
|
-
// Task 1544 — WhatsApp-door force-send fallback, mirroring the single-target
|
|
653
|
-
// path (Task 1539): the trimmed, outbound-guarded end-turn text is the
|
|
654
|
-
// answer for a person waiting; a scheduled inject ships '' and stays silent.
|
|
655
|
-
// The gateway's /wa-channel/turn-end classifies delivered=fallback|reply|none.
|
|
656
|
-
if (whatsapp) {
|
|
657
|
-
// Task 2078 — see the single-target twin above: the answer ships whatever
|
|
658
|
-
// woke the turn, and silence is empty text.
|
|
659
|
-
const finalText = guardOutbound(outcome.finalText.trim());
|
|
660
|
-
void fetch(whatsapp.url, {
|
|
661
|
-
method: 'POST',
|
|
662
|
-
headers: { 'content-type': 'application/json' },
|
|
663
|
-
body: JSON.stringify(
|
|
664
|
-
// Task 2458 — ROLE is 'admin' on this path by construction: the
|
|
665
|
-
// multi-target spawn is reached only when a session binds two or
|
|
666
|
-
// more of the admin doors, which is why the webchat POST above has
|
|
667
|
-
// always hard-coded the same value.
|
|
668
|
-
buildTurnEndPostBody(whatsapp.senderId, ROLE, whatsapp.accountId, sessionId, outcome.replied, interactiveTurn, finalText, finalBytes, queueDepth, pendingTurnsBefore, consumed.length, turnSource, outcome.context)),
|
|
669
|
-
}).catch(() => { });
|
|
670
|
-
}
|
|
671
|
-
}, { state: followerState }).finally(() => {
|
|
672
|
-
clearInterval(census);
|
|
673
|
-
// The follower settles only on a stat failure (file unreadable — the
|
|
674
|
-
// session is ending). Clear any outstanding count so a replacement
|
|
675
|
-
// follower started by a later inbound begins clean.
|
|
676
|
-
pendingTurns = 0;
|
|
677
|
-
followerStarted = false;
|
|
678
|
-
pendingSources.length = 0;
|
|
679
|
-
});
|
|
680
|
-
};
|
|
430
|
+
await Promise.all(channelDoors(targets).map((door) => runDoorStream(door, opts)));
|
|
681
431
|
}
|
|
682
|
-
|
|
432
|
+
// Task 2521 — makeMultiTurnFollow is gone with its single-target twin. The
|
|
433
|
+
// ui-server emitter reads the one JSONL and delivers every answer to every
|
|
434
|
+
// bound door, so a dual-bound session needs no follower here either.
|
|
435
|
+
async function runDoorStream(door, opts) {
|
|
683
436
|
const sessionId = process.env.CHANNEL_SESSION_ID ?? '';
|
|
684
437
|
const watchGrower = opts?.watchGrew ?? watchForGrowth;
|
|
685
438
|
const notificationTimeoutMs = opts?.notificationTimeoutMs ?? NOTIFICATION_RETRY_TIMEOUT_MS;
|
|
@@ -820,12 +573,6 @@ async function runDoorStream(door, startTurnFollow, opts) {
|
|
|
820
573
|
}
|
|
821
574
|
}
|
|
822
575
|
}
|
|
823
|
-
// Task 981 — count this inbound and ensure the session-long follower is
|
|
824
|
-
// running (it posts the webchat turn-end decision; gated and shared in
|
|
825
|
-
// makeMultiTurnFollow). The offset was captured before this inbound's
|
|
826
|
-
// emit, so a follower started here catches this turn's lines.
|
|
827
|
-
if (jsonlPath)
|
|
828
|
-
startTurnFollow(jsonlPath, turnStartOffset, inboundMsg.source ?? 'user');
|
|
829
576
|
}
|
|
830
577
|
}
|
|
831
578
|
console.error(`[channel-inbound] op=stream-closed channel=${door.channel}; reconnecting`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,13 @@
|
|
|
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-
|
|
8
|
+
<script type="module" crossorigin src="/assets/activity-BJxhblz-.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/chunk-DlZTsV_O.js">
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-
|
|
11
|
-
<link rel="modulepreload" crossorigin href="/assets/useMediaQuery-
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/AdminShell-
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/assets/triangle-alert-
|
|
14
|
-
<link rel="stylesheet" crossorigin href="/assets/jsx-runtime-
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-5lmxFBIw.js">
|
|
11
|
+
<link rel="modulepreload" crossorigin href="/assets/useMediaQuery-BQslddHQ.js">
|
|
12
|
+
<link rel="modulepreload" crossorigin href="/assets/AdminShell-D-wB90c3.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="/assets/triangle-alert-BnC67uSs.js">
|
|
14
|
+
<link rel="stylesheet" crossorigin href="/assets/jsx-runtime-DxsQ5Y-z.css">
|
|
15
15
|
<link rel="stylesheet" crossorigin href="/assets/useMediaQuery-DXAuc8G-.css">
|
|
16
16
|
<link rel="stylesheet" href="/brand-defaults.css">
|
|
17
17
|
</head>
|
|
@@ -5,12 +5,12 @@
|
|
|
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-
|
|
8
|
+
<script type="module" crossorigin src="/assets/agents-DTL8kjfD.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/chunk-DlZTsV_O.js">
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-
|
|
11
|
-
<link rel="modulepreload" crossorigin href="/assets/useMediaQuery-
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/AdminShell-
|
|
13
|
-
<link rel="stylesheet" crossorigin href="/assets/jsx-runtime-
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-5lmxFBIw.js">
|
|
11
|
+
<link rel="modulepreload" crossorigin href="/assets/useMediaQuery-BQslddHQ.js">
|
|
12
|
+
<link rel="modulepreload" crossorigin href="/assets/AdminShell-D-wB90c3.js">
|
|
13
|
+
<link rel="stylesheet" crossorigin href="/assets/jsx-runtime-DxsQ5Y-z.css">
|
|
14
14
|
<link rel="stylesheet" crossorigin href="/assets/useMediaQuery-DXAuc8G-.css">
|
|
15
15
|
<link rel="stylesheet" href="/brand-defaults.css">
|
|
16
16
|
</head>
|
package/payload/server/public/assets/{AdminLoginScreens-CMdj1W5p.js → AdminLoginScreens-Dp6k1XgD.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-DlZTsV_O.js";import{i as t,t as n}from"./jsx-runtime-C5Hcfj84.js";import{O as r,Q as i,et as a,rt as o}from"./useMediaQuery-DjbOTk2X.js";import{A as s}from"./useVoiceRecorder-Cx7AOmib.js";import{A as c,O as l,k as u,p as d}from"./AdminShell-CZcaW3BQ.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-DlZTsV_O.js";import{i as t,t as n}from"./jsx-runtime-5lmxFBIw.js";import{O as r,Q as i,et as a,rt as o}from"./useMediaQuery-BQslddHQ.js";import{A as s}from"./useVoiceRecorder-BeZNQEC4.js";import{A as c,O as l,k as u,p as d}from"./AdminShell-D-wB90c3.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};
|
|
Binary file
|
|
Binary file
|