@rubytech/create-maxy-code 0.1.592 → 0.1.594
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 +2 -2
- package/payload/platform/package.json +1 -0
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +11 -5
- package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +11 -0
- package/payload/platform/plugins/cloudflare/PLUGIN.md +2 -0
- package/payload/platform/plugins/docs/references/internals.md +5 -3
- package/payload/platform/plugins/docs/references/telegram-guide.md +5 -1
- package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js +15 -2
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +7 -2
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/scheduling-gate.test.js +125 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/scheduling-gate.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.d.ts +28 -0
- 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 +72 -12
- package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.js.map +1 -1
- package/payload/platform/plugins/telegram/PLUGIN.md +12 -5
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/ask-tool.test.js +31 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/ask-tool.test.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-tool.test.js +30 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-tool.test.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/media-fetch-tool.test.js +24 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/media-fetch-tool.test.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/media-send-tool.test.js +31 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/media-send-tool.test.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin-registry.test.d.ts +2 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin-registry.test.d.ts.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin-registry.test.js +55 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin-registry.test.js.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin.test.d.ts +2 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin.test.d.ts.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin.test.js +89 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/public-pin.test.js.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/index.js +13 -42
- package/payload/platform/plugins/telegram/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/public-pin.d.ts +80 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/public-pin.d.ts.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/public-pin.js +96 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/public-pin.js.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/ask.d.ts +5 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/ask.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/ask.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/card.d.ts +5 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/card.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/card.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/media-fetch.d.ts +5 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/media-fetch.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/media-fetch.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/media-send.d.ts +5 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/media-send.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/media-send.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/thread.d.ts +5 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/thread.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/thread.js.map +1 -1
- package/payload/platform/scripts/__tests__/agent-identity-reconcile.test.sh +110 -0
- package/payload/platform/scripts/__tests__/check-orphan-dist.test.sh +87 -0
- package/payload/platform/scripts/check-orphan-dist.mjs +143 -0
- package/payload/platform/scripts/lib/agent-identity-reconcile.sh +122 -0
- package/payload/platform/scripts/lib/provision-account-dir.sh +8 -26
- package/payload/platform/scripts/setup-account.sh +15 -0
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +37 -0
- 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 +178 -13
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/index.js +5 -0
- package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.d.ts +5 -0
- package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.js +42 -1
- package/payload/platform/services/claude-session-manager/dist/public-agent-reachability.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.d.ts +13 -5
- package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.js +23 -9
- package/payload/platform/services/claude-session-manager/dist/rc-public-lockdown.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.d.ts +7 -4
- package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.js +5 -3
- package/payload/platform/services/claude-session-manager/dist/telegram-channel-mcp.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/telegram-channel-store.d.ts +15 -1
- package/payload/platform/services/claude-session-manager/dist/telegram-channel-store.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/telegram-channel-store.js +16 -7
- package/payload/platform/services/claude-session-manager/dist/telegram-channel-store.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/telegram-plugin-mcp.d.ts +28 -0
- package/payload/platform/services/claude-session-manager/dist/telegram-plugin-mcp.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/telegram-plugin-mcp.js +53 -0
- package/payload/platform/services/claude-session-manager/dist/telegram-plugin-mcp.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.d.ts +9 -5
- package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.js +12 -6
- package/payload/platform/services/claude-session-manager/dist/wa-channel-mcp.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.d.ts +7 -3
- package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.js +5 -1
- package/payload/platform/services/claude-session-manager/dist/webchat-channel-mcp.js.map +1 -1
- package/payload/platform/services/telegram-channel/dist/instructions.d.ts +14 -2
- package/payload/platform/services/telegram-channel/dist/instructions.d.ts.map +1 -1
- package/payload/platform/services/telegram-channel/dist/instructions.js +34 -3
- package/payload/platform/services/telegram-channel/dist/instructions.js.map +1 -1
- package/payload/platform/templates/agents/public/IDENTITY.md +3 -3
- package/payload/server/server.js +74 -9
- package/payload/platform/lib/anthropic-key/dist/index.d.ts +0 -22
- package/payload/platform/lib/anthropic-key/dist/index.d.ts.map +0 -1
- package/payload/platform/lib/anthropic-key/dist/index.js +0 -232
- package/payload/platform/lib/anthropic-key/dist/index.js.map +0 -1
- package/payload/platform/lib/graph-search/dist/query-expansion.d.ts +0 -37
- package/payload/platform/lib/graph-search/dist/query-expansion.d.ts.map +0 -1
- package/payload/platform/lib/graph-search/dist/query-expansion.js +0 -101
- package/payload/platform/lib/graph-search/dist/query-expansion.js.map +0 -1
- package/payload/platform/lib/oauth-llm/dist/index.d.ts +0 -116
- package/payload/platform/lib/oauth-llm/dist/index.d.ts.map +0 -1
- package/payload/platform/lib/oauth-llm/dist/index.js +0 -386
- package/payload/platform/lib/oauth-llm/dist/index.js.map +0 -1
- package/payload/platform/lib/screening-patterns/dist/index.d.ts +0 -29
- package/payload/platform/lib/screening-patterns/dist/index.d.ts.map +0 -1
- package/payload/platform/lib/screening-patterns/dist/index.js +0 -48
- package/payload/platform/lib/screening-patterns/dist/index.js.map +0 -1
- package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.d.ts +0 -2
- package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.d.ts.map +0 -1
- package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.js +0 -34
- package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-identity-authenticate.test.js.map +0 -1
- package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.d.ts +0 -39
- package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.d.ts.map +0 -1
- package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.js +0 -249
- package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.js.map +0 -1
- package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.d.ts +0 -6
- package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.d.ts.map +0 -1
- package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.js +0 -32
- package/payload/platform/plugins/admin/mcp/dist/tools/admin-identity-authenticate.js.map +0 -1
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts +0 -283
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts.map +0 -1
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js +0 -1155
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js.map +0 -1
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.d.ts +0 -90
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.d.ts.map +0 -1
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.js +0 -551
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.js.map +0 -1
- package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.d.ts +0 -17
- package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.d.ts.map +0 -1
- package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.js +0 -186
- package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.js.map +0 -1
- package/payload/platform/plugins/email/mcp/dist/lib/screening.d.ts +0 -29
- package/payload/platform/plugins/email/mcp/dist/lib/screening.d.ts.map +0 -1
- package/payload/platform/plugins/email/mcp/dist/lib/screening.js +0 -105
- package/payload/platform/plugins/email/mcp/dist/lib/screening.js.map +0 -1
- package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.d.ts +0 -38
- package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.d.ts.map +0 -1
- package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js +0 -817
- package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js.map +0 -1
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts +0 -30
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts.map +0 -1
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js +0 -215
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js.map +0 -1
- package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.d.ts +0 -19
- package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.d.ts.map +0 -1
- package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.js +0 -151
- package/payload/platform/plugins/email/mcp/dist/tools/email-auto-respond-config.js.map +0 -1
- package/payload/platform/plugins/email/mcp/dist/tools/email-classify.d.ts +0 -6
- package/payload/platform/plugins/email/mcp/dist/tools/email-classify.d.ts.map +0 -1
- package/payload/platform/plugins/email/mcp/dist/tools/email-classify.js +0 -89
- package/payload/platform/plugins/email/mcp/dist/tools/email-classify.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.js +0 -90
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-rewriter-operator-hint.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js +0 -226
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.d.ts +0 -60
- package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.js +0 -169
- package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-rewriter.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts +0 -248
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js +0 -824
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts +0 -63
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js +0 -210
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.d.ts +0 -35
- package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.js +0 -28
- package/payload/platform/plugins/memory/mcp/dist/lib/typed-edge-pass.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.js +0 -68
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights-emit.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.js +0 -88
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write-emit.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.js +0 -58
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-classify-emit.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.js +0 -64
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.js +0 -70
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edit-attachment-emit.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.js +0 -48
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-emit.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.js +0 -74
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-emit.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.js +0 -47
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-extract-emit.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.js +0 -65
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-web-emit.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.js +0 -43
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-reindex-emit.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.js +0 -65
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-rename-attachment-emit.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.js +0 -49
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-restore-emit.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.js +0 -79
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.js +0 -329
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-operator-hint.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.d.ts +0 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.js +0 -81
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts +0 -34
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js +0 -62
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.d.ts +0 -61
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.js +0 -102
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-rank.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.d.ts +0 -35
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.js +0 -73
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-signals-recent.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.d.ts +0 -29
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.js +0 -22
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.js.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.d.ts +0 -30
- package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.d.ts.map +0 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.js +0 -130
- package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.js.map +0 -1
- package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.d.ts +0 -65
- package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.d.ts.map +0 -1
- package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.js +0 -262
- package/payload/platform/plugins/outlook/mcp/dist/auth/pkce-flow.js.map +0 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.d.ts +0 -2
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.d.ts.map +0 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.js +0 -100
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/normalise-start-date.test.js.map +0 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.d.ts +0 -2
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.d.ts.map +0 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.js +0 -22
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.js.map +0 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.d.ts +0 -11
- package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.d.ts.map +0 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.js +0 -19
- package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.js.map +0 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/invoice-tool.test.d.ts +0 -2
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/invoice-tool.test.d.ts.map +0 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/invoice-tool.test.js +0 -196
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/invoice-tool.test.js.map +0 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/invoice.d.ts +0 -70
- package/payload/platform/plugins/telegram/mcp/dist/tools/invoice.d.ts.map +0 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/invoice.js +0 -247
- package/payload/platform/plugins/telegram/mcp/dist/tools/invoice.js.map +0 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/message.d.ts +0 -21
- package/payload/platform/plugins/telegram/mcp/dist/tools/message.d.ts.map +0 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/message.js +0 -40
- package/payload/platform/plugins/telegram/mcp/dist/tools/message.js.map +0 -1
- package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.d.ts +0 -8
- package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.d.ts.map +0 -1
- package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.js +0 -83
- package/payload/platform/plugins/url-get/mcp/dist/lib/summarise.js.map +0 -1
- package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.d.ts +0 -151
- package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.d.ts.map +0 -1
- package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.js +0 -299
- package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.js.map +0 -1
- package/payload/platform/services/claude-session-manager/dist/account-admin-census.d.ts +0 -39
- package/payload/platform/services/claude-session-manager/dist/account-admin-census.d.ts.map +0 -1
- package/payload/platform/services/claude-session-manager/dist/account-admin-census.js +0 -122
- package/payload/platform/services/claude-session-manager/dist/account-admin-census.js.map +0 -1
- package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.d.ts +0 -39
- package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.d.ts.map +0 -1
- package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.js +0 -133
- package/payload/platform/services/claude-session-manager/dist/admin-identity-audit.js.map +0 -1
- package/payload/platform/services/claude-session-manager/dist/input-postcondition.d.ts +0 -22
- package/payload/platform/services/claude-session-manager/dist/input-postcondition.d.ts.map +0 -1
- package/payload/platform/services/claude-session-manager/dist/input-postcondition.js +0 -50
- package/payload/platform/services/claude-session-manager/dist/input-postcondition.js.map +0 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-observer.d.ts +0 -30
- package/payload/platform/services/claude-session-manager/dist/jsonl-observer.d.ts.map +0 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-observer.js +0 -204
- package/payload/platform/services/claude-session-manager/dist/jsonl-observer.js.map +0 -1
- package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.d.ts +0 -80
- package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.d.ts.map +0 -1
- package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.js +0 -306
- package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.js.map +0 -1
- package/payload/platform/services/claude-session-manager/dist/session-store.d.ts +0 -49
- package/payload/platform/services/claude-session-manager/dist/session-store.d.ts.map +0 -1
- package/payload/platform/services/claude-session-manager/dist/session-store.js +0 -52
- package/payload/platform/services/claude-session-manager/dist/session-store.js.map +0 -1
- package/payload/platform/services/claude-session-manager/dist/systemd-spawn.d.ts +0 -83
- package/payload/platform/services/claude-session-manager/dist/systemd-spawn.d.ts.map +0 -1
- package/payload/platform/services/claude-session-manager/dist/systemd-spawn.js +0 -345
- package/payload/platform/services/claude-session-manager/dist/systemd-spawn.js.map +0 -1
- package/payload/platform/services/telegram-channel/dist/turn-follow.d.ts +0 -104
- package/payload/platform/services/telegram-channel/dist/turn-follow.d.ts.map +0 -1
- package/payload/platform/services/telegram-channel/dist/turn-follow.js +0 -408
- package/payload/platform/services/telegram-channel/dist/turn-follow.js.map +0 -1
- package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts +0 -104
- package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts.map +0 -1
- package/payload/platform/services/whatsapp-channel/dist/turn-follow.js +0 -393
- package/payload/platform/services/whatsapp-channel/dist/turn-follow.js.map +0 -1
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
// Onboarding state management — graph-persisted workflow state.
|
|
2
|
-
// Purpose-built for Phase 0; migrates to a Workflow node with Task 13.
|
|
3
|
-
import { existsSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
4
|
-
import { join } from "node:path";
|
|
5
|
-
const STEP_FIELDS = [
|
|
6
|
-
"step1CompletedAt",
|
|
7
|
-
"step2CompletedAt",
|
|
8
|
-
"step3CompletedAt",
|
|
9
|
-
"step4CompletedAt",
|
|
10
|
-
"step5CompletedAt",
|
|
11
|
-
"step6CompletedAt",
|
|
12
|
-
"step7CompletedAt",
|
|
13
|
-
"step8CompletedAt",
|
|
14
|
-
"step9CompletedAt",
|
|
15
|
-
];
|
|
16
|
-
// neo4j-driver v5 returns Integer objects for integer properties, not native
|
|
17
|
-
// JS numbers. This converts them safely (values 0–9 are well within range).
|
|
18
|
-
function toJsNumber(val) {
|
|
19
|
-
if (typeof val === "number")
|
|
20
|
-
return val;
|
|
21
|
-
if (val && typeof val === "object" && "toNumber" in val) {
|
|
22
|
-
return val.toNumber();
|
|
23
|
-
}
|
|
24
|
-
return 0;
|
|
25
|
-
}
|
|
26
|
-
function recordToState(record) {
|
|
27
|
-
return {
|
|
28
|
-
currentStep: toJsNumber(record.get("currentStep")),
|
|
29
|
-
step1CompletedAt: record.get("step1CompletedAt") ?? null,
|
|
30
|
-
step2CompletedAt: record.get("step2CompletedAt") ?? null,
|
|
31
|
-
step3CompletedAt: record.get("step3CompletedAt") ?? null,
|
|
32
|
-
step4CompletedAt: record.get("step4CompletedAt") ?? null,
|
|
33
|
-
step5CompletedAt: record.get("step5CompletedAt") ?? null,
|
|
34
|
-
step6CompletedAt: record.get("step6CompletedAt") ?? null,
|
|
35
|
-
step7CompletedAt: record.get("step7CompletedAt") ?? null,
|
|
36
|
-
step8CompletedAt: record.get("step8CompletedAt") ?? null,
|
|
37
|
-
step9CompletedAt: record.get("step9CompletedAt") ?? null,
|
|
38
|
-
createdAt: record.get("createdAt") ?? new Date().toISOString(),
|
|
39
|
-
updatedAt: record.get("updatedAt") ?? new Date().toISOString(),
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
function readMigrationStep(accountDir) {
|
|
43
|
-
try {
|
|
44
|
-
const raw = readFileSync(join(accountDir, "account.json"), "utf-8");
|
|
45
|
-
const config = JSON.parse(raw);
|
|
46
|
-
if (typeof config.onboardingStep === "number" && config.onboardingStep > 0) {
|
|
47
|
-
return config.onboardingStep;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
catch {
|
|
51
|
-
// File missing, unreadable, or malformed — no migration data
|
|
52
|
-
}
|
|
53
|
-
return 0;
|
|
54
|
-
}
|
|
55
|
-
function removeOnboardingStepFromFile(accountDir) {
|
|
56
|
-
try {
|
|
57
|
-
const configPath = join(accountDir, "account.json");
|
|
58
|
-
const raw = readFileSync(configPath, "utf-8");
|
|
59
|
-
const config = JSON.parse(raw);
|
|
60
|
-
if ("onboardingStep" in config) {
|
|
61
|
-
delete config.onboardingStep;
|
|
62
|
-
writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
catch {
|
|
66
|
-
// Tolerate cleanup failure — graph is the authority now
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Task 562: consume the step-7 completion flag written by setup-tunnel.sh
|
|
71
|
-
* before the service restart. The script runs inside ${BRAND}.service's
|
|
72
|
-
* cgroup and cannot complete the MCP call after dispatching the restart —
|
|
73
|
-
* so it drops a filesystem marker instead. The first read of onboarding
|
|
74
|
-
* state after the restart picks it up, advances the graph via the same
|
|
75
|
-
* CASE-WHEN-NULL cypher as completeOnboardingStep, and deletes the marker.
|
|
76
|
-
*
|
|
77
|
-
* Idempotent at every layer: a missing flag is a no-op; a flag present
|
|
78
|
-
* against an already-completed step is a no-op on the graph (CASE-WHEN-NULL
|
|
79
|
-
* preserves the existing timestamp); a crash between graph write and flag
|
|
80
|
-
* delete re-consumes on the next call with the same no-op outcome.
|
|
81
|
-
*/
|
|
82
|
-
export async function consumeStep7Flag(session, accountId, accountDir) {
|
|
83
|
-
const flagPath = join(accountDir, "onboarding", "step7-complete");
|
|
84
|
-
if (!existsSync(flagPath))
|
|
85
|
-
return false;
|
|
86
|
-
let completedAt = new Date().toISOString();
|
|
87
|
-
try {
|
|
88
|
-
const raw = readFileSync(flagPath, "utf-8").trim();
|
|
89
|
-
if (raw) {
|
|
90
|
-
const parsed = JSON.parse(raw);
|
|
91
|
-
if (typeof parsed.completedAt === "string") {
|
|
92
|
-
completedAt = parsed.completedAt;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
// Malformed flag content still advances state — the flag's presence
|
|
98
|
-
// alone is the authoritative signal; the embedded timestamp is forensic.
|
|
99
|
-
}
|
|
100
|
-
// RETURN count(o) so we can detect the "no OnboardingState node" case
|
|
101
|
-
// where SET is a silent no-op. Without this check, rmSync below would
|
|
102
|
-
// delete the flag against a graph that never applied the write, silently
|
|
103
|
-
// losing the step-7 completion signal forever.
|
|
104
|
-
const result = await session.run(`MATCH (o:OnboardingState {accountId: $accountId})
|
|
105
|
-
SET o.step7CompletedAt = CASE WHEN o.step7CompletedAt IS NULL THEN $completedAt ELSE o.step7CompletedAt END,
|
|
106
|
-
o.currentStep = CASE WHEN 7 > o.currentStep THEN 7 ELSE o.currentStep END,
|
|
107
|
-
o.updatedAt = $completedAt
|
|
108
|
-
RETURN count(o) AS updated`, { accountId, completedAt });
|
|
109
|
-
const updatedRaw = result.records[0]?.get("updated");
|
|
110
|
-
const updated = toJsNumber(updatedRaw);
|
|
111
|
-
if (updated === 0) {
|
|
112
|
-
// No OnboardingState node yet — leave the flag in place so the next
|
|
113
|
-
// reader (after node creation via MERGE in this function's migration
|
|
114
|
-
// branch below) can still consume it.
|
|
115
|
-
console.log(`[onboarding-flag-consumed] accountId=${accountId.slice(0, 8)}… step=7 ` +
|
|
116
|
-
`source=filesystem flagPath=${flagPath} skipped=no-node`);
|
|
117
|
-
return false;
|
|
118
|
-
}
|
|
119
|
-
console.log(`[onboarding-flag-consumed] accountId=${accountId.slice(0, 8)}… step=7 ` +
|
|
120
|
-
`source=filesystem flagPath=${flagPath} completedAt=${completedAt}`);
|
|
121
|
-
try {
|
|
122
|
-
rmSync(flagPath);
|
|
123
|
-
}
|
|
124
|
-
catch (err) {
|
|
125
|
-
console.error(`[onboarding-flag-consumed] warn: failed to delete ${flagPath}: ` +
|
|
126
|
-
`${err instanceof Error ? err.message : String(err)}`);
|
|
127
|
-
}
|
|
128
|
-
return true;
|
|
129
|
-
}
|
|
130
|
-
const READ_STATE_QUERY = `MATCH (o:OnboardingState {accountId: $accountId})
|
|
131
|
-
RETURN o.currentStep AS currentStep,
|
|
132
|
-
o.step1CompletedAt AS step1CompletedAt,
|
|
133
|
-
o.step2CompletedAt AS step2CompletedAt,
|
|
134
|
-
o.step3CompletedAt AS step3CompletedAt,
|
|
135
|
-
o.step4CompletedAt AS step4CompletedAt,
|
|
136
|
-
o.step5CompletedAt AS step5CompletedAt,
|
|
137
|
-
o.step6CompletedAt AS step6CompletedAt,
|
|
138
|
-
o.step7CompletedAt AS step7CompletedAt,
|
|
139
|
-
o.step8CompletedAt AS step8CompletedAt,
|
|
140
|
-
o.step9CompletedAt AS step9CompletedAt,
|
|
141
|
-
o.createdAt AS createdAt,
|
|
142
|
-
o.updatedAt AS updatedAt`;
|
|
143
|
-
export async function getOnboardingState(sessionFactory, accountId, accountDir) {
|
|
144
|
-
const session = sessionFactory();
|
|
145
|
-
try {
|
|
146
|
-
// Check for existing graph node
|
|
147
|
-
const existing = await session.run(READ_STATE_QUERY, { accountId });
|
|
148
|
-
const nodeExisted = existing.records.length > 0;
|
|
149
|
-
if (nodeExisted) {
|
|
150
|
-
// Task 562: consume setup-tunnel.sh step-7 flag against the existing
|
|
151
|
-
// node. loadOnboardingStep (UI side) usually does this first at session
|
|
152
|
-
// start; this call is defensive in case this read precedes it.
|
|
153
|
-
//
|
|
154
|
-
// Always re-read after the consume attempt. If a concurrent caller
|
|
155
|
-
// consumed the flag between our initial read and our consumeStep7Flag
|
|
156
|
-
// call, consumeStep7Flag returns false (flag gone) but the graph still
|
|
157
|
-
// advanced — returning `existing.records[0]` would hand back the stale
|
|
158
|
-
// pre-consumption record. One extra indexed MATCH is negligible and
|
|
159
|
-
// guarantees the caller sees the authoritative state.
|
|
160
|
-
await consumeStep7Flag(session, accountId, accountDir);
|
|
161
|
-
const refreshed = await session.run(READ_STATE_QUERY, { accountId });
|
|
162
|
-
return recordToState(refreshed.records[0]);
|
|
163
|
-
}
|
|
164
|
-
// No graph node — check for migration from account.json
|
|
165
|
-
const migratedStep = readMigrationStep(accountDir);
|
|
166
|
-
const now = new Date().toISOString();
|
|
167
|
-
// Build step completion timestamps for migrated steps.
|
|
168
|
-
// account.json only stored a step counter, not per-step timestamps,
|
|
169
|
-
// so migrated steps all get the current time — the original times
|
|
170
|
-
// were never recorded.
|
|
171
|
-
const stepProps = {};
|
|
172
|
-
for (let i = 0; i < STEP_FIELDS.length; i++) {
|
|
173
|
-
stepProps[STEP_FIELDS[i]] = i < migratedStep ? now : null;
|
|
174
|
-
}
|
|
175
|
-
// Create the node via MERGE (idempotent under concurrent access)
|
|
176
|
-
const result = await session.run(`MERGE (o:OnboardingState {accountId: $accountId})
|
|
177
|
-
ON CREATE SET
|
|
178
|
-
o.currentStep = $currentStep,
|
|
179
|
-
o.step1CompletedAt = $step1CompletedAt,
|
|
180
|
-
o.step2CompletedAt = $step2CompletedAt,
|
|
181
|
-
o.step3CompletedAt = $step3CompletedAt,
|
|
182
|
-
o.step4CompletedAt = $step4CompletedAt,
|
|
183
|
-
o.step5CompletedAt = $step5CompletedAt,
|
|
184
|
-
o.step6CompletedAt = $step6CompletedAt,
|
|
185
|
-
o.step7CompletedAt = $step7CompletedAt,
|
|
186
|
-
o.step8CompletedAt = $step8CompletedAt,
|
|
187
|
-
o.step9CompletedAt = $step9CompletedAt,
|
|
188
|
-
o.createdAt = $now,
|
|
189
|
-
o.updatedAt = $now
|
|
190
|
-
RETURN o.currentStep AS currentStep,
|
|
191
|
-
o.step1CompletedAt AS step1CompletedAt,
|
|
192
|
-
o.step2CompletedAt AS step2CompletedAt,
|
|
193
|
-
o.step3CompletedAt AS step3CompletedAt,
|
|
194
|
-
o.step4CompletedAt AS step4CompletedAt,
|
|
195
|
-
o.step5CompletedAt AS step5CompletedAt,
|
|
196
|
-
o.step6CompletedAt AS step6CompletedAt,
|
|
197
|
-
o.step7CompletedAt AS step7CompletedAt,
|
|
198
|
-
o.step8CompletedAt AS step8CompletedAt,
|
|
199
|
-
o.step9CompletedAt AS step9CompletedAt,
|
|
200
|
-
o.createdAt AS createdAt,
|
|
201
|
-
o.updatedAt AS updatedAt`, { accountId, currentStep: migratedStep, now, ...stepProps });
|
|
202
|
-
// Clean up account.json if migration happened
|
|
203
|
-
if (migratedStep > 0) {
|
|
204
|
-
removeOnboardingStepFromFile(accountDir);
|
|
205
|
-
}
|
|
206
|
-
return recordToState(result.records[0]);
|
|
207
|
-
}
|
|
208
|
-
finally {
|
|
209
|
-
await session.close();
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
export async function completeOnboardingStep(sessionFactory, accountId, step) {
|
|
213
|
-
if (!Number.isInteger(step) || step < 1 || step > 9) {
|
|
214
|
-
throw new Error("Step must be between 1 and 9");
|
|
215
|
-
}
|
|
216
|
-
const session = sessionFactory();
|
|
217
|
-
try {
|
|
218
|
-
const stepField = STEP_FIELDS[step - 1];
|
|
219
|
-
const now = new Date().toISOString();
|
|
220
|
-
// Single query: MATCH + SET. If no node exists, MATCH returns zero
|
|
221
|
-
// records and we detect that from the result — no separate check needed.
|
|
222
|
-
const result = await session.run(`MATCH (o:OnboardingState {accountId: $accountId})
|
|
223
|
-
SET o.${stepField} = CASE WHEN o.${stepField} IS NULL THEN $now ELSE o.${stepField} END,
|
|
224
|
-
o.currentStep = CASE WHEN $step > o.currentStep THEN $step ELSE o.currentStep END,
|
|
225
|
-
o.updatedAt = $now
|
|
226
|
-
RETURN o.currentStep AS currentStep,
|
|
227
|
-
o.step1CompletedAt AS step1CompletedAt,
|
|
228
|
-
o.step2CompletedAt AS step2CompletedAt,
|
|
229
|
-
o.step3CompletedAt AS step3CompletedAt,
|
|
230
|
-
o.step4CompletedAt AS step4CompletedAt,
|
|
231
|
-
o.step5CompletedAt AS step5CompletedAt,
|
|
232
|
-
o.step6CompletedAt AS step6CompletedAt,
|
|
233
|
-
o.step7CompletedAt AS step7CompletedAt,
|
|
234
|
-
o.step8CompletedAt AS step8CompletedAt,
|
|
235
|
-
o.step9CompletedAt AS step9CompletedAt,
|
|
236
|
-
o.createdAt AS createdAt,
|
|
237
|
-
o.updatedAt AS updatedAt`, { accountId, step, now });
|
|
238
|
-
if (result.records.length === 0) {
|
|
239
|
-
throw new Error("No onboarding state found for this account. Call onboarding-get first.");
|
|
240
|
-
}
|
|
241
|
-
console.log(`[onboarding-step-complete] accountId=${accountId.slice(0, 8)}… ` +
|
|
242
|
-
`step=${step} completedAt=${now}`);
|
|
243
|
-
return recordToState(result.records[0]);
|
|
244
|
-
}
|
|
245
|
-
finally {
|
|
246
|
-
await session.close();
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
//# sourceMappingURL=onboarding.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/lib/onboarding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"admin-identity-authenticate.d.ts","sourceRoot":"","sources":["../../src/tools/admin-identity-authenticate.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AASD,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB/F"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
// Task 619 — admin-identity-authenticate tool.
|
|
2
|
-
//
|
|
3
|
-
// The agent-callable PIN-submit surface for native-CC admin sessions. The
|
|
4
|
-
// PreToolUse identity gate validates the PIN, writes per-session auth state, and
|
|
5
|
-
// only then allows this tool to run; the tool itself re-asks the same loopback
|
|
6
|
-
// endpoint solely to fetch and return the authenticated operator's profile to
|
|
7
|
-
// the agent. It never touches users.json or Neo4j directly — the endpoint is the
|
|
8
|
-
// single resolution surface, so `loadUserProfile` is not duplicated here.
|
|
9
|
-
export async function runAuthenticate(pin, deps = {}) {
|
|
10
|
-
const f = deps.fetchImpl ?? fetch;
|
|
11
|
-
const port = deps.uiPort ?? process.env.MAXY_UI_INTERNAL_PORT ?? "";
|
|
12
|
-
const url = `http://127.0.0.1:${port}/api/admin/identity/validate`;
|
|
13
|
-
let data;
|
|
14
|
-
try {
|
|
15
|
-
const r = await f(url, {
|
|
16
|
-
method: "POST",
|
|
17
|
-
headers: { "content-type": "application/json" },
|
|
18
|
-
body: JSON.stringify({ pin }),
|
|
19
|
-
});
|
|
20
|
-
data = (await r.json());
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
return "Identity service unavailable; could not load your profile.";
|
|
24
|
-
}
|
|
25
|
-
if (data.kind !== "match")
|
|
26
|
-
return "Invalid PIN.";
|
|
27
|
-
const name = data.userName ?? "operator";
|
|
28
|
-
const profile = data.aboutOwner?.ok ? (data.aboutOwner.body ?? "") : "";
|
|
29
|
-
console.error(`[admin-identity] op=about-owner-loaded userId=${(data.userId ?? "").slice(0, 8)}`);
|
|
30
|
-
return `Authenticated as ${name}.\n\n${profile}`.trim();
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=admin-identity-authenticate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"admin-identity-authenticate.js","sourceRoot":"","sources":["../../src/tools/admin-identity-authenticate.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,0EAA0E;AAC1E,iFAAiF;AACjF,+EAA+E;AAC/E,8EAA8E;AAC9E,iFAAiF;AACjF,0EAA0E;AAc1E,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,OAAyB,EAAE;IAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAA;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAA;IACnE,MAAM,GAAG,GAAG,oBAAoB,IAAI,8BAA8B,CAAA;IAElE,IAAI,IAAsB,CAAA;IAC1B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;SAC9B,CAAC,CAAA;QACF,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAqB,CAAA;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,4DAA4D,CAAC;IACtE,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,cAAc,CAAC;IAEjD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClG,OAAO,oBAAoB,IAAI,QAAQ,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;AAC1D,CAAC"}
|
|
@@ -1,283 +0,0 @@
|
|
|
1
|
-
interface BrandConfig {
|
|
2
|
-
configDir: string;
|
|
3
|
-
productName: string;
|
|
4
|
-
vncDisplay: number;
|
|
5
|
-
}
|
|
6
|
-
export declare function loadBrand(): BrandConfig;
|
|
7
|
-
/**
|
|
8
|
-
* Test-only: reset the cached brand so a subsequent loadBrand() re-reads
|
|
9
|
-
* the manifest. Production code never calls this.
|
|
10
|
-
*/
|
|
11
|
-
export declare function _resetBrandCache(): void;
|
|
12
|
-
export declare function findBinary(): string | null;
|
|
13
|
-
export declare function isInstalled(): boolean;
|
|
14
|
-
export declare function version(): string | null;
|
|
15
|
-
interface AccountBinding {
|
|
16
|
-
accountId: string;
|
|
17
|
-
boundAt: string;
|
|
18
|
-
}
|
|
19
|
-
export declare function readAccountBinding(): AccountBinding | null;
|
|
20
|
-
/**
|
|
21
|
-
* @internal — production code MUST go through `materializeBinding` so the
|
|
22
|
-
* source-of-truth lifecycle (fresh-login vs migration) is preserved and
|
|
23
|
-
* logged. Exported only so unit tests can pre-seed bindings without
|
|
24
|
-
* re-implementing the file format.
|
|
25
|
-
*/
|
|
26
|
-
export declare function writeAccountBinding(accountId: string): AccountBinding;
|
|
27
|
-
export type RefusalReason = "account-drift" | "unbound-device" | "post-flight-fqdn-mismatch" | "bound-account-does-not-own-hostname" | "hostname-zone-not-routable";
|
|
28
|
-
export interface RefusalDetail {
|
|
29
|
-
reason: RefusalReason;
|
|
30
|
-
message: string;
|
|
31
|
-
/** Structured fields for the [cloudflare:refuse] log line. */
|
|
32
|
-
fields?: {
|
|
33
|
-
requestedHostname?: string;
|
|
34
|
-
requestedDomain?: string;
|
|
35
|
-
boundAccountId?: string | null;
|
|
36
|
-
certAccountId?: string | null;
|
|
37
|
-
actualFqdn?: string;
|
|
38
|
-
tunnelId?: string;
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
export declare function logRefuse(detail: RefusalDetail): void;
|
|
42
|
-
/**
|
|
43
|
-
* The only recovery instruction — every refusal that involves the wrong
|
|
44
|
-
* Cloudflare account points here. Single source of truth so the four
|
|
45
|
-
* surfaces that quote it (tunnel-status, tunnel-add-hostname, personal
|
|
46
|
-
* assistant template, setup-tunnel skill) cannot drift.
|
|
47
|
-
*/
|
|
48
|
-
export declare const DASHBOARD_SWITCH_ACCOUNTS_INSTRUCTION: string;
|
|
49
|
-
export declare function recoveryMessage(): string;
|
|
50
|
-
export declare function resetAuth(): {
|
|
51
|
-
deletedCert: boolean;
|
|
52
|
-
deletedBinding: boolean;
|
|
53
|
-
};
|
|
54
|
-
export declare function hasCert(): boolean;
|
|
55
|
-
interface CertIdentity {
|
|
56
|
-
accountId: string;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Parse the ARGO TUNNEL TOKEN PEM block from cert.pem to extract the
|
|
60
|
-
* AccountTag. Only the account ID is returned — nothing else in cert.pem
|
|
61
|
-
* is used by this codebase. The cert itself stays on disk; `cloudflared`
|
|
62
|
-
* shell-outs read it via `--origincert` for tunnel CRUD and DNS routing.
|
|
63
|
-
*/
|
|
64
|
-
export declare function parseCertPem(): CertIdentity | null;
|
|
65
|
-
/** Wraps a structured RefusalDetail so call sites can branch on `reason`. */
|
|
66
|
-
export declare class CloudflareRefusalError extends Error {
|
|
67
|
-
refusal: RefusalDetail;
|
|
68
|
-
constructor(detail: RefusalDetail);
|
|
69
|
-
}
|
|
70
|
-
export interface AuthValidation {
|
|
71
|
-
hasCert: boolean;
|
|
72
|
-
hasBinding: boolean;
|
|
73
|
-
/** True when both present AND cert.accountId === binding.accountId. */
|
|
74
|
-
bound: boolean;
|
|
75
|
-
certAccountId: string | null;
|
|
76
|
-
boundAccountId: string | null;
|
|
77
|
-
}
|
|
78
|
-
export declare function validateAuth(): AuthValidation;
|
|
79
|
-
/**
|
|
80
|
-
* Establish the device-local account binding from cert.pem. Used by:
|
|
81
|
-
* (1) tunnel-login fresh-success path — first time creds are derived.
|
|
82
|
-
* (2) migration path — when cert.pem exists from a prior install but no
|
|
83
|
-
* binding has yet been written (silent materialization, since the
|
|
84
|
-
* cert was already trust-established by the operator's prior login).
|
|
85
|
-
*/
|
|
86
|
-
export declare function materializeBinding(source: "fresh-login" | "migration"): AccountBinding;
|
|
87
|
-
export declare function createTunnelCli(name: string): {
|
|
88
|
-
tunnelId: string;
|
|
89
|
-
tunnelName: string;
|
|
90
|
-
credentialsPath: string;
|
|
91
|
-
};
|
|
92
|
-
export declare function getTunnelTokenCli(tunnelId: string): string;
|
|
93
|
-
/**
|
|
94
|
-
* Write a local config.yml for cloudflared tunnel run.
|
|
95
|
-
* This is the ONLY tunnel startup configuration — no remote config, no API.
|
|
96
|
-
* hostnames: the actual FQDNs to route (e.g. ["joel.maxy.bot", "shop.maxy.bot"]).
|
|
97
|
-
*/
|
|
98
|
-
export declare function writeLocalConfig(tunnelId: string, credentialsPath: string, hostnames: string[], port: number): string;
|
|
99
|
-
export declare function parseConfiguredHostnames(configYmlPath: string): string[];
|
|
100
|
-
export interface NsPreflightResult {
|
|
101
|
-
zoneParent: string;
|
|
102
|
-
nameservers: string[];
|
|
103
|
-
onCloudflare: boolean;
|
|
104
|
-
error?: string;
|
|
105
|
-
}
|
|
106
|
-
export declare function checkZoneParentOnCloudflare(hostname: string): Promise<NsPreflightResult>;
|
|
107
|
-
export declare function routeDnsCli(tunnelId: string, hostname: string): Promise<{
|
|
108
|
-
created: boolean;
|
|
109
|
-
output: string;
|
|
110
|
-
fqdn: string;
|
|
111
|
-
}>;
|
|
112
|
-
interface LoginState {
|
|
113
|
-
pid: number;
|
|
114
|
-
startedAt: number;
|
|
115
|
-
authUrl: string;
|
|
116
|
-
logPath: string;
|
|
117
|
-
/**
|
|
118
|
-
* Byte offset in `logPath` at the moment this login was spawned. Every
|
|
119
|
-
* subsequent failure-marker parse slices the log from this offset forward
|
|
120
|
-
* so historical markers from prior (reset + respawned) attempts cannot
|
|
121
|
-
* re-trigger the failed state. Without this, `cloudflared-login.log`
|
|
122
|
-
* being append-mode across spawns would cause the handler to loop on
|
|
123
|
-
* old "Failed to fetch resource" lines forever after the first recovery.
|
|
124
|
-
*
|
|
125
|
-
* Defaults to 0 when absent (backward compatibility with pre-541 state
|
|
126
|
-
* files): a zero offset scans the whole file, which is the pre-541
|
|
127
|
-
* behaviour — safe as a one-time fallthrough because the handler's
|
|
128
|
-
* `failed` branch calls `resetAuth()` which clears the login state,
|
|
129
|
-
* guaranteeing the next spawn writes a state file with a real offset.
|
|
130
|
-
*/
|
|
131
|
-
logOffset?: number;
|
|
132
|
-
}
|
|
133
|
-
export interface TunnelLoginResult {
|
|
134
|
-
authUrl: string;
|
|
135
|
-
alreadyRunning?: boolean;
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Login process state from the agent's perspective. Three states plus one
|
|
139
|
-
* non-terminal advisory decoration.
|
|
140
|
-
*
|
|
141
|
-
* in-progress — PID alive. The OAuth-callback loop is still
|
|
142
|
-
* listening, regardless of what the log
|
|
143
|
-
* contains. `browserLaunchFailed: true` when
|
|
144
|
-
* the courtesy-marker is present: cloudflared
|
|
145
|
-
* attempted to open the browser itself and
|
|
146
|
-
* couldn't (headless spawn context, DISPLAY
|
|
147
|
-
* unreachable, etc.), but the sign-in can
|
|
148
|
-
* still complete if the user opens the auth
|
|
149
|
-
* URL in any reachable browser.
|
|
150
|
-
* failed — PID dead AND cert.pem absent. The login
|
|
151
|
-
* process tore down without writing the cert.
|
|
152
|
-
* Caller must restart. `reason` distinguishes
|
|
153
|
-
* *why* the process is gone: `-with-marker`
|
|
154
|
-
* when the courtesy marker was observed during
|
|
155
|
-
* its lifetime, `-without-marker` otherwise.
|
|
156
|
-
* Both variants trigger the same handler
|
|
157
|
-
* response — reason is for log-side
|
|
158
|
-
* observability only.
|
|
159
|
-
* idle — nothing recorded; fresh spawn required.
|
|
160
|
-
*
|
|
161
|
-
* `complete` (cert.pem written) is determined upstream in the tunnel-login
|
|
162
|
-
* handler via `findCert()` / `validateAuth().bound` before this helper is
|
|
163
|
-
* called — so it is not represented here.
|
|
164
|
-
*
|
|
165
|
-
* rewrite: the old `failed` state fired on marker-alone, which
|
|
166
|
-
* looped restart-respawn hermetically because cloudflared re-emits the
|
|
167
|
-
* courtesy marker on every spawn whose browser-launch subcommand fails.
|
|
168
|
-
* Liveness (PID alive) is now the sole discriminant for in-progress; the
|
|
169
|
-
* marker is informational and drives an operator-facing advisory, not a
|
|
170
|
-
* restart.
|
|
171
|
-
*/
|
|
172
|
-
export type LoginStatus = {
|
|
173
|
-
state: "in-progress";
|
|
174
|
-
loginState: LoginState;
|
|
175
|
-
browserLaunchFailed: boolean;
|
|
176
|
-
} | {
|
|
177
|
-
state: "failed";
|
|
178
|
-
loginState: LoginState | null;
|
|
179
|
-
reason: "login-process-exited-without-cert" | "login-process-exited-with-marker";
|
|
180
|
-
} | {
|
|
181
|
-
state: "idle";
|
|
182
|
-
};
|
|
183
|
-
export declare function getLoginStatus(): LoginStatus;
|
|
184
|
-
export declare function tunnelLogin(): Promise<TunnelLoginResult>;
|
|
185
|
-
interface TunnelState {
|
|
186
|
-
tunnelId: string;
|
|
187
|
-
tunnelName: string;
|
|
188
|
-
domain: string;
|
|
189
|
-
configPath: string;
|
|
190
|
-
credentialsPath: string;
|
|
191
|
-
adminHostname: string | null;
|
|
192
|
-
publicHostname: string | null;
|
|
193
|
-
pid: number | null;
|
|
194
|
-
startedAt: number | null;
|
|
195
|
-
connectorToken?: string;
|
|
196
|
-
}
|
|
197
|
-
export declare function getPersistedTunnelId(): string | null;
|
|
198
|
-
export declare function getPersistedDomain(): string | null;
|
|
199
|
-
export declare function getPersistedState(): TunnelState | null;
|
|
200
|
-
export declare function saveTunnelIdentity(params: {
|
|
201
|
-
tunnelId: string;
|
|
202
|
-
tunnelName: string;
|
|
203
|
-
domain: string;
|
|
204
|
-
configPath: string;
|
|
205
|
-
credentialsPath: string;
|
|
206
|
-
adminHostname: string;
|
|
207
|
-
publicHostname: string | null;
|
|
208
|
-
}): void;
|
|
209
|
-
/**
|
|
210
|
-
* Return the actual hostnames from persisted state (or derive from domain
|
|
211
|
-
* for pre-521 state files).
|
|
212
|
-
*/
|
|
213
|
-
export declare function getPersistedHostnames(): string[];
|
|
214
|
-
export type HostnameFailureMode = "ok" | "dns-missing" | "cname-points-elsewhere" | "edge-unreachable" | "tunnel-not-matched";
|
|
215
|
-
/**
|
|
216
|
-
* Exhaustive enum of reasons `tunnel-status` can return `healthy: false`.
|
|
217
|
-
* The agent's recovery sentence is a total function of this enum — every
|
|
218
|
-
* arm must map to exactly one prescribed sentence in the `tunnel-status`
|
|
219
|
-
* handler's `buildTunnelStatusGuidance`. Adding a value here without
|
|
220
|
-
* updating the handler is a compile error (exhaustiveness check).
|
|
221
|
-
*/
|
|
222
|
-
export type TunnelUnhealthyReason = "not-running" | "no-tunnel-configured" | "bound-account-does-not-own-hostname" | "hostname-probes-failed";
|
|
223
|
-
export interface HostnameProbeResult {
|
|
224
|
-
hostname: string;
|
|
225
|
-
resolves: boolean;
|
|
226
|
-
cname: string | null;
|
|
227
|
-
httpStatus: number | null;
|
|
228
|
-
failureMode: HostnameFailureMode;
|
|
229
|
-
}
|
|
230
|
-
export declare function probeHostname(hostname: string, expectedTunnelId: string | null): Promise<HostnameProbeResult>;
|
|
231
|
-
export interface TunnelStatus {
|
|
232
|
-
installed: boolean;
|
|
233
|
-
version: string | null;
|
|
234
|
-
hasCert: boolean;
|
|
235
|
-
hasBinding: boolean;
|
|
236
|
-
/** True when cert and binding agree. */
|
|
237
|
-
bound: boolean;
|
|
238
|
-
certAccountId: string | null;
|
|
239
|
-
boundAccountId: string | null;
|
|
240
|
-
running: boolean;
|
|
241
|
-
pid: number | null;
|
|
242
|
-
tunnelId: string | null;
|
|
243
|
-
domain: string | null;
|
|
244
|
-
/** Hostnames parsed from config.yml (authoritative for ingress). */
|
|
245
|
-
configuredHostnames: string[];
|
|
246
|
-
/** Hostnames from tunnel.state — may diverge from config.yml. */
|
|
247
|
-
persistedHostnames: string[];
|
|
248
|
-
adminHostname: string | null;
|
|
249
|
-
publicHostname: string | null;
|
|
250
|
-
upSince: number | null;
|
|
251
|
-
probes: HostnameProbeResult[];
|
|
252
|
-
/**
|
|
253
|
-
* True iff tunnel is running AND at least one hostname's CNAME points
|
|
254
|
-
* back to this tunnel (proving the signed-in Cloudflare account owns
|
|
255
|
-
* the domain being served). False means the laptop is running a tunnel
|
|
256
|
-
* that nothing on the internet is reaching — almost always "wrong
|
|
257
|
-
* Cloudflare account signed in."
|
|
258
|
-
*/
|
|
259
|
-
boundAccountOwnsHostnames: boolean;
|
|
260
|
-
/**
|
|
261
|
-
* Aggregated health: true only when the tunnel is running, at least one
|
|
262
|
-
* hostname is configured, and every configured hostname probes `ok`.
|
|
263
|
-
*/
|
|
264
|
-
healthy: boolean;
|
|
265
|
-
/**
|
|
266
|
-
* Structured reason for unhealthy status. "no-tunnel-configured" when
|
|
267
|
-
* config.yml or hostnames are absent; "not-running" when cloudflared is
|
|
268
|
-
* not alive; "bound-account-does-not-own-hostname" when the dominant
|
|
269
|
-
* failure mode is wrong-account; "hostname-probes-failed" otherwise.
|
|
270
|
-
*/
|
|
271
|
-
unhealthyReason: TunnelUnhealthyReason | null;
|
|
272
|
-
}
|
|
273
|
-
export declare function getStatus(domain?: string): Promise<TunnelStatus>;
|
|
274
|
-
export declare function startTunnel(params: {
|
|
275
|
-
tunnelId: string;
|
|
276
|
-
tunnelName: string;
|
|
277
|
-
domain: string;
|
|
278
|
-
configPath: string;
|
|
279
|
-
credentialsPath: string;
|
|
280
|
-
}): void;
|
|
281
|
-
export declare function stopTunnel(): void;
|
|
282
|
-
export {};
|
|
283
|
-
//# sourceMappingURL=cloudflared.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflared.d.ts","sourceRoot":"","sources":["../../src/lib/cloudflared.ts"],"names":[],"mappings":"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"}
|