@rubytech/create-maxy-code 0.1.581 → 0.1.583
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/lib/routine-templates/dist/index.d.ts +1 -1
- package/payload/platform/lib/routine-templates/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/routine-templates/dist/index.js +5 -1
- package/payload/platform/lib/routine-templates/dist/index.js.map +1 -1
- package/payload/platform/lib/routine-templates/src/index.ts +4 -0
- package/payload/platform/lib/telegram-managed-bot/dist/index.d.ts +269 -0
- package/payload/platform/lib/telegram-managed-bot/dist/index.d.ts.map +1 -0
- package/payload/platform/lib/telegram-managed-bot/dist/index.js +351 -0
- package/payload/platform/lib/telegram-managed-bot/dist/index.js.map +1 -0
- package/payload/platform/lib/telegram-managed-bot/src/__tests__/managed-bot.test.ts +251 -0
- package/payload/platform/lib/telegram-managed-bot/src/index.ts +529 -0
- package/payload/platform/lib/telegram-managed-bot/tsconfig.json +9 -0
- package/payload/platform/lib/telegram-managed-bot/vitest.config.ts +9 -0
- package/payload/platform/lib/telegram-reach/dist/index.d.ts +80 -0
- package/payload/platform/lib/telegram-reach/dist/index.d.ts.map +1 -0
- package/payload/platform/lib/telegram-reach/dist/index.js +211 -0
- package/payload/platform/lib/telegram-reach/dist/index.js.map +1 -0
- package/payload/platform/lib/telegram-reach/src/__tests__/telegram-reach.test.ts +216 -0
- package/payload/platform/lib/telegram-reach/src/index.ts +262 -0
- package/payload/platform/lib/telegram-reach/tsconfig.json +9 -0
- package/payload/platform/lib/telegram-reach/vitest.config.ts +9 -0
- package/payload/platform/package.json +2 -2
- package/payload/platform/plugins/admin/PLUGIN.md +1 -1
- package/payload/platform/plugins/admin/hooks/__tests__/fs-schema-guard.test.sh +9 -0
- package/payload/platform/plugins/admin/hooks/__tests__/preference-consult-directive.test.sh +26 -0
- package/payload/platform/plugins/admin/hooks/fs-schema-guard.sh +20 -3
- package/payload/platform/plugins/admin/hooks/preference-consult-directive.sh +50 -5
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +181 -9
- package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +17 -0
- package/payload/platform/plugins/contacts/mcp/dist/__tests__/telegram-user-id.test.d.ts +2 -0
- package/payload/platform/plugins/contacts/mcp/dist/__tests__/telegram-user-id.test.d.ts.map +1 -0
- package/payload/platform/plugins/contacts/mcp/dist/__tests__/telegram-user-id.test.js +100 -0
- package/payload/platform/plugins/contacts/mcp/dist/__tests__/telegram-user-id.test.js.map +1 -0
- package/payload/platform/plugins/contacts/mcp/dist/index.js +11 -5
- package/payload/platform/plugins/contacts/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.d.ts +5 -0
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.d.ts.map +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js +21 -4
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js.map +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.d.ts +5 -0
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.d.ts.map +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.js +29 -1
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-lookup.js.map +1 -1
- package/payload/platform/plugins/contacts/mcp/vitest.config.ts +14 -0
- package/payload/platform/plugins/docs/references/admin-ui.md +20 -4
- package/payload/platform/plugins/docs/references/calendar-booking.md +2 -0
- package/payload/platform/plugins/docs/references/channel-wake-and-prompt.md +15 -0
- package/payload/platform/plugins/docs/references/telegram-guide.md +143 -4
- package/payload/platform/plugins/filesystem/PLUGIN.md +2 -2
- package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/account-schema.test.d.ts +2 -0
- package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/account-schema.test.d.ts.map +1 -0
- package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/account-schema.test.js +108 -0
- package/payload/platform/plugins/filesystem/mcp/dist/lib/__tests__/account-schema.test.js.map +1 -0
- package/payload/platform/plugins/filesystem/mcp/dist/lib/account-schema.d.ts +17 -0
- package/payload/platform/plugins/filesystem/mcp/dist/lib/account-schema.d.ts.map +1 -0
- package/payload/platform/plugins/filesystem/mcp/dist/lib/account-schema.js +162 -0
- package/payload/platform/plugins/filesystem/mcp/dist/lib/account-schema.js.map +1 -0
- package/payload/platform/plugins/filesystem/mcp/dist/tools/__tests__/schema-fence.test.d.ts +2 -0
- package/payload/platform/plugins/filesystem/mcp/dist/tools/__tests__/schema-fence.test.d.ts.map +1 -0
- package/payload/platform/plugins/filesystem/mcp/dist/tools/__tests__/schema-fence.test.js +116 -0
- package/payload/platform/plugins/filesystem/mcp/dist/tools/__tests__/schema-fence.test.js.map +1 -0
- package/payload/platform/plugins/filesystem/mcp/dist/tools/file-edit.d.ts.map +1 -1
- package/payload/platform/plugins/filesystem/mcp/dist/tools/file-edit.js +9 -0
- package/payload/platform/plugins/filesystem/mcp/dist/tools/file-edit.js.map +1 -1
- package/payload/platform/plugins/filesystem/mcp/dist/tools/file-write.d.ts.map +1 -1
- package/payload/platform/plugins/filesystem/mcp/dist/tools/file-write.js +10 -0
- package/payload/platform/plugins/filesystem/mcp/dist/tools/file-write.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-origin-gate.test.js +64 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-origin-gate.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.d.ts +5 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.js +28 -6
- package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.js.map +1 -1
- package/payload/platform/plugins/memory/references/schema-knowledge-work.md +1 -1
- package/payload/platform/plugins/scheduling/PLUGIN.md +19 -3
- package/payload/platform/plugins/scheduling/mcp/dist/index.js +7 -2
- package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate-audits.test.js +53 -6
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate-audits.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate.test.js +38 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/meeting-uid-stamp.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/meeting-uid-stamp.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/meeting-uid-stamp.test.js +102 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/meeting-uid-stamp.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/schedule-audit.test.js +43 -9
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/schedule-audit.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.d.ts +50 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.js +47 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/gate.d.ts +5 -3
- package/payload/platform/plugins/scheduling/mcp/dist/lib/gate.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/gate.js +18 -3
- package/payload/platform/plugins/scheduling/mcp/dist/lib/gate.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-audit.d.ts +40 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-audit.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-audit.js +132 -41
- package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-audit.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +14 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js +61 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-gate-write.test.js +258 -8
- 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__/schedule-trash-filter.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-trash-filter.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-trash-filter.test.js +67 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-trash-filter.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/scheduling-gate.test.js +206 -3
- 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-cancel.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js +8 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.d.ts +29 -21
- 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 +94 -14
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.js +6 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.js +7 -2
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.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 +46 -3
- 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 +30 -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 +69 -6
- package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.js.map +1 -1
- package/payload/platform/plugins/telegram/PLUGIN.md +49 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/api-census.test.js +3 -3
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/api-guard.test.js +28 -2
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/api-guard.test.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/ask-business-connection.test.d.ts +2 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/ask-business-connection.test.d.ts.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/ask-business-connection.test.js +140 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/ask-business-connection.test.js.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/ask-tool.test.js +93 -5
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/ask-tool.test.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/bot-provision-tool.test.d.ts +2 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/bot-provision-tool.test.d.ts.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/bot-provision-tool.test.js +326 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/bot-provision-tool.test.js.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-business.test.d.ts +2 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-business.test.d.ts.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-business.test.js +173 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-business.test.js.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-tool.test.js +79 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-tool.test.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/chat-send-policy.test.d.ts +2 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/chat-send-policy.test.d.ts.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/chat-send-policy.test.js +34 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/chat-send-policy.test.js.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/reach-tool.test.d.ts +2 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/reach-tool.test.d.ts.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/reach-tool.test.js +93 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/reach-tool.test.js.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/thread-tool.test.js +15 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/thread-tool.test.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/webhook-register.test.js +245 -0
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/webhook-register.test.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/webhook-verdict.test.js +10 -1
- package/payload/platform/plugins/telegram/mcp/dist/__tests__/webhook-verdict.test.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/index.js +26 -4
- package/payload/platform/plugins/telegram/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-token.d.ts +19 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-token.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-token.js +41 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-token.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-write.d.ts +15 -20
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-write.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-write.js +27 -32
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-write.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/agent-active.d.ts +13 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/agent-active.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/agent-active.js +22 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/agent-active.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/api-census.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/api-census.js +6 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/api-census.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/api-guard.d.ts +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/api-guard.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/api-guard.js +22 -2
- package/payload/platform/plugins/telegram/mcp/dist/lib/api-guard.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/business-connection-store.d.ts +38 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/business-connection-store.d.ts.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/business-connection-store.js +56 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/business-connection-store.js.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/business-window-store.d.ts +55 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/business-window-store.d.ts.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/business-window-store.js +116 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/business-window-store.js.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/chat-send-policy.d.ts +54 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/chat-send-policy.d.ts.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/chat-send-policy.js +90 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/chat-send-policy.js.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/telegram.d.ts +2 -28
- package/payload/platform/plugins/telegram/mcp/dist/lib/telegram.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/telegram.js +8 -53
- package/payload/platform/plugins/telegram/mcp/dist/lib/telegram.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/api.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/api.js +19 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/api.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/ask.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/ask.js +79 -10
- package/payload/platform/plugins/telegram/mcp/dist/tools/ask.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/bot-provision.d.ts +64 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/bot-provision.d.ts.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/bot-provision.js +217 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/bot-provision.js.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/card.d.ts +7 -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 +56 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/card.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/invoice.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/invoice.js +15 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/invoice.js.map +1 -1
- 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 +12 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/media-send.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/reach.d.ts +22 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/reach.d.ts.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/reach.js +67 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/reach.js.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/schemas.d.ts +21 -2
- package/payload/platform/plugins/telegram/mcp/dist/tools/schemas.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/schemas.js +47 -2
- package/payload/platform/plugins/telegram/mcp/dist/tools/schemas.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/thread.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/thread.js +12 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/thread.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/webhook-register.d.ts +4 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/webhook-register.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/webhook-register.js +73 -6
- package/payload/platform/plugins/telegram/mcp/dist/tools/webhook-register.js.map +1 -1
- package/payload/platform/plugins/telegram/skills/build/SKILL.md +217 -11
- package/payload/platform/plugins/telegram/skills/configure/SKILL.md +87 -6
- package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +12 -0
- package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.d.ts +36 -5
- package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.js +103 -10
- package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.js.map +1 -1
- 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 +42 -4
- 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.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +19 -5
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts +9 -0
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.js +5 -1
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.js.map +1 -1
- package/payload/platform/services/telegram-channel/dist/instructions.d.ts.map +1 -1
- package/payload/platform/services/telegram-channel/dist/instructions.js +13 -0
- package/payload/platform/services/telegram-channel/dist/instructions.js.map +1 -1
- package/payload/platform/services/telegram-channel/dist/notification.d.ts +40 -0
- package/payload/platform/services/telegram-channel/dist/notification.d.ts.map +1 -1
- package/payload/platform/services/telegram-channel/dist/notification.js +41 -4
- package/payload/platform/services/telegram-channel/dist/notification.js.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/notification.d.ts +52 -0
- package/payload/platform/services/whatsapp-channel/dist/notification.d.ts.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/notification.js +64 -1
- package/payload/platform/services/whatsapp-channel/dist/notification.js.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/server.d.ts.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/server.js +14 -2
- package/payload/platform/services/whatsapp-channel/dist/server.js.map +1 -1
- package/payload/platform/templates/account-schema/SCHEMA.md +17 -10
- package/payload/platform/templates/agents/admin/IDENTITY.md +5 -0
- package/payload/platform/templates/specialists/agents/data-manager.md +2 -2
- package/payload/platform/templates/specialists/agents/personal-assistant.md +1 -1
- package/payload/server/{chunk-BFRB2U75.js → chunk-CV6AEMKH.js} +1 -0
- package/payload/server/{manager-CTVTF4YB.js → manager-FQSQSSJ3.js} +1 -1
- package/payload/server/public/activity.html +6 -6
- package/payload/server/public/agents.html +5 -5
- package/payload/server/public/assets/{AdminLoginScreens-B1lu4-_F.js → AdminLoginScreens-BLsDYWVi.js} +1 -1
- package/payload/server/public/assets/AdminLoginScreens-BLsDYWVi.js.br +0 -0
- package/payload/server/public/assets/AdminLoginScreens-BLsDYWVi.js.gz +0 -0
- package/payload/server/public/assets/{AdminShell-BMslfZxN.js → AdminShell-BZS8jzFA.js} +1 -1
- package/payload/server/public/assets/AdminShell-BZS8jzFA.js.br +0 -0
- package/payload/server/public/assets/AdminShell-BZS8jzFA.js.gz +0 -0
- package/payload/server/public/assets/{activity-kQ3w70LJ.js → activity-DOjvoLdd.js} +1 -1
- package/payload/server/public/assets/activity-DOjvoLdd.js.br +0 -0
- package/payload/server/public/assets/activity-DOjvoLdd.js.gz +0 -0
- package/payload/server/public/assets/{admin-CkASgYA7.js → admin-JrSNg29g.js} +1 -1
- package/payload/server/public/assets/admin-JrSNg29g.js.br +0 -0
- package/payload/server/public/assets/admin-JrSNg29g.js.gz +0 -0
- package/payload/server/public/assets/{agents-Cn_bZgnD.js → agents--9WMJVLC.js} +1 -1
- package/payload/server/public/assets/agents--9WMJVLC.js.br +0 -0
- package/payload/server/public/assets/agents--9WMJVLC.js.gz +0 -0
- package/payload/server/public/assets/{browser-BE-GDk5-.js → browser-DiiMmTrM.js} +1 -1
- package/payload/server/public/assets/browser-DiiMmTrM.js.br +0 -0
- package/payload/server/public/assets/browser-DiiMmTrM.js.gz +0 -0
- package/payload/server/public/assets/{calendar-Di7BEHHN.js → calendar-CazmCzgO.js} +1 -1
- package/payload/server/public/assets/calendar-CazmCzgO.js.br +0 -0
- package/payload/server/public/assets/calendar-CazmCzgO.js.gz +0 -0
- package/payload/server/public/assets/chat-CB0TcyXX.js +1 -0
- package/payload/server/public/assets/chat-CB0TcyXX.js.br +0 -0
- package/payload/server/public/assets/chat-CB0TcyXX.js.gz +0 -0
- package/payload/server/public/assets/chevron-left-0tVo23Dh.js +1 -0
- package/payload/server/public/assets/chevron-left-0tVo23Dh.js.br +0 -0
- package/payload/server/public/assets/clock-D2cZ0sge.js +1 -0
- package/payload/server/public/assets/clock-D2cZ0sge.js.br +0 -0
- package/payload/server/public/assets/clock-D2cZ0sge.js.gz +0 -0
- package/payload/server/public/assets/{copy-nkxspu2J.js → copy-C87QIN_o.js} +1 -1
- package/payload/server/public/assets/copy-C87QIN_o.js.br +0 -0
- package/payload/server/public/assets/copy-C87QIN_o.js.gz +0 -0
- package/payload/server/public/assets/data-CK7AMxPt.js +1 -0
- package/payload/server/public/assets/data-CK7AMxPt.js.br +0 -0
- package/payload/server/public/assets/data-CK7AMxPt.js.gz +0 -0
- package/payload/server/public/assets/{field-2rIXxGMt.js → field-C3kQgGWE.js} +1 -1
- package/payload/server/public/assets/field-C3kQgGWE.js.br +0 -0
- package/payload/server/public/assets/field-C3kQgGWE.js.gz +0 -0
- package/payload/server/public/assets/{file-text-CdSqrscg.js → file-text-rWowl9RN.js} +1 -1
- package/payload/server/public/assets/file-text-rWowl9RN.js.br +0 -0
- package/payload/server/public/assets/file-text-rWowl9RN.js.gz +0 -0
- package/payload/server/public/assets/{graph-BfBHHXaC.js → graph-CVJKz1Uo.js} +1 -1
- package/payload/server/public/assets/graph-CVJKz1Uo.js.br +0 -0
- package/payload/server/public/assets/graph-CVJKz1Uo.js.gz +0 -0
- package/payload/server/public/assets/{graph-labels-CHW2aBke.js → graph-labels-kneGnsHB.js} +1 -1
- package/payload/server/public/assets/graph-labels-kneGnsHB.js.br +0 -0
- package/payload/server/public/assets/graph-labels-kneGnsHB.js.gz +0 -0
- package/payload/server/public/assets/{jsx-runtime-D43jgaWP.css → jsx-runtime-rMaiYjNu.css} +1 -1
- package/payload/server/public/assets/jsx-runtime-rMaiYjNu.css.br +0 -0
- package/payload/server/public/assets/{jsx-runtime-D43jgaWP.css.gz → jsx-runtime-rMaiYjNu.css.gz} +0 -0
- package/payload/server/public/assets/{operator-DRn9LITC.js → operator-BGvB4hu4.js} +1 -1
- package/payload/server/public/assets/operator-BGvB4hu4.js.br +0 -0
- package/payload/server/public/assets/operator-BGvB4hu4.js.gz +0 -0
- package/payload/server/public/assets/{page-D_9mPS6W.js → page-DBQLOasI.js} +1 -1
- package/payload/server/public/assets/page-DBQLOasI.js.br +0 -0
- package/payload/server/public/assets/page-DBQLOasI.js.gz +0 -0
- package/payload/server/public/assets/{page-BwqQsoU8.js → page-DyVAu7tm.js} +1 -1
- package/payload/server/public/assets/page-DyVAu7tm.js.br +0 -0
- package/payload/server/public/assets/page-DyVAu7tm.js.gz +0 -0
- package/payload/server/public/assets/play-DgP7vl0r.js +1 -0
- package/payload/server/public/assets/play-DgP7vl0r.js.br +0 -0
- package/payload/server/public/assets/play-DgP7vl0r.js.gz +0 -0
- package/payload/server/public/assets/{public-CrjZYpdW.js → public-BvUQR3hd.js} +1 -1
- package/payload/server/public/assets/public-BvUQR3hd.js.br +0 -0
- package/payload/server/public/assets/public-BvUQR3hd.js.gz +0 -0
- package/payload/server/public/assets/{rotate-ccw-J9f-GWjm.js → rotate-ccw-Dnn7gbPh.js} +1 -1
- package/payload/server/public/assets/rotate-ccw-Dnn7gbPh.js.br +0 -0
- package/payload/server/public/assets/rotate-ccw-Dnn7gbPh.js.gz +0 -0
- package/payload/server/public/assets/{routines-C1AB-3FR.js → routines-N8NmxPOZ.js} +1 -1
- package/payload/server/public/assets/routines-N8NmxPOZ.js.br +0 -0
- package/payload/server/public/assets/routines-N8NmxPOZ.js.gz +0 -0
- package/payload/server/public/assets/{skills-C4EfNKEx.js → skills-B2CRgO-U.js} +1 -1
- package/payload/server/public/assets/skills-B2CRgO-U.js.br +0 -0
- package/payload/server/public/assets/skills-B2CRgO-U.js.gz +0 -0
- package/payload/server/public/assets/{tasks-DszD3aZl.js → tasks-8QLGtlSj.js} +1 -1
- package/payload/server/public/assets/tasks-8QLGtlSj.js.br +0 -0
- package/payload/server/public/assets/tasks-8QLGtlSj.js.gz +0 -0
- package/payload/server/public/assets/{triangle-alert-B5WAyAkC.js → triangle-alert-el772yUQ.js} +1 -1
- package/payload/server/public/assets/triangle-alert-el772yUQ.js.br +0 -0
- package/payload/server/public/assets/triangle-alert-el772yUQ.js.gz +0 -0
- package/payload/server/public/assets/{useCopyFeedback-B2nuNNJw.js → useCopyFeedback-DfNAu8hQ.js} +1 -1
- package/payload/server/public/assets/useCopyFeedback-DfNAu8hQ.js.br +0 -0
- package/payload/server/public/assets/useCopyFeedback-DfNAu8hQ.js.gz +0 -0
- package/payload/server/public/assets/{useMediaQuery-DUPJPHQt.js → useMediaQuery-B469O83-.js} +1 -1
- package/payload/server/public/assets/useMediaQuery-B469O83-.js.br +0 -0
- package/payload/server/public/assets/useMediaQuery-B469O83-.js.gz +0 -0
- package/payload/server/public/assets/useVoiceRecorder-Bb-51cJv.js +2 -0
- package/payload/server/public/assets/useVoiceRecorder-Bb-51cJv.js.br +0 -0
- package/payload/server/public/assets/useVoiceRecorder-Bb-51cJv.js.gz +0 -0
- package/payload/server/public/assets/{wrench-DZJZm17j.js → wrench-Ck4phkdB.js} +1 -1
- package/payload/server/public/assets/wrench-Ck4phkdB.js.br +0 -0
- package/payload/server/public/assets/wrench-Ck4phkdB.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/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 +3777 -1258
- package/payload/server/public/assets/AdminLoginScreens-B1lu4-_F.js.br +0 -0
- package/payload/server/public/assets/AdminLoginScreens-B1lu4-_F.js.gz +0 -0
- package/payload/server/public/assets/AdminShell-BMslfZxN.js.br +0 -0
- package/payload/server/public/assets/AdminShell-BMslfZxN.js.gz +0 -0
- package/payload/server/public/assets/activity-kQ3w70LJ.js.br +0 -0
- package/payload/server/public/assets/activity-kQ3w70LJ.js.gz +0 -0
- package/payload/server/public/assets/admin-CkASgYA7.js.br +0 -0
- package/payload/server/public/assets/admin-CkASgYA7.js.gz +0 -0
- package/payload/server/public/assets/agents-Cn_bZgnD.js.br +0 -0
- package/payload/server/public/assets/agents-Cn_bZgnD.js.gz +0 -0
- package/payload/server/public/assets/browser-BE-GDk5-.js.br +0 -0
- package/payload/server/public/assets/browser-BE-GDk5-.js.gz +0 -0
- package/payload/server/public/assets/calendar-Di7BEHHN.js.br +0 -0
- package/payload/server/public/assets/calendar-Di7BEHHN.js.gz +0 -0
- package/payload/server/public/assets/chat-CKyMT5Ai.js +0 -1
- package/payload/server/public/assets/chat-CKyMT5Ai.js.br +0 -1
- package/payload/server/public/assets/chat-CKyMT5Ai.js.gz +0 -0
- package/payload/server/public/assets/chevron-left-Id9VAZAz.js +0 -1
- package/payload/server/public/assets/chevron-left-Id9VAZAz.js.br +0 -0
- package/payload/server/public/assets/clock-DKpWWJbJ.js +0 -1
- package/payload/server/public/assets/clock-DKpWWJbJ.js.br +0 -0
- package/payload/server/public/assets/copy-nkxspu2J.js.br +0 -0
- package/payload/server/public/assets/copy-nkxspu2J.js.gz +0 -0
- package/payload/server/public/assets/data-1c33cAHp.js +0 -1
- package/payload/server/public/assets/data-1c33cAHp.js.br +0 -2
- package/payload/server/public/assets/data-1c33cAHp.js.gz +0 -0
- package/payload/server/public/assets/field-2rIXxGMt.js.br +0 -0
- package/payload/server/public/assets/field-2rIXxGMt.js.gz +0 -0
- package/payload/server/public/assets/file-text-CdSqrscg.js.br +0 -0
- package/payload/server/public/assets/file-text-CdSqrscg.js.gz +0 -0
- package/payload/server/public/assets/graph-BfBHHXaC.js.br +0 -0
- package/payload/server/public/assets/graph-BfBHHXaC.js.gz +0 -0
- package/payload/server/public/assets/graph-labels-CHW2aBke.js.br +0 -0
- package/payload/server/public/assets/graph-labels-CHW2aBke.js.gz +0 -0
- package/payload/server/public/assets/jsx-runtime-D43jgaWP.css.br +0 -0
- package/payload/server/public/assets/operator-DRn9LITC.js.br +0 -0
- package/payload/server/public/assets/operator-DRn9LITC.js.gz +0 -0
- package/payload/server/public/assets/page-BwqQsoU8.js.br +0 -0
- package/payload/server/public/assets/page-BwqQsoU8.js.gz +0 -0
- package/payload/server/public/assets/page-D_9mPS6W.js.br +0 -0
- package/payload/server/public/assets/page-D_9mPS6W.js.gz +0 -0
- package/payload/server/public/assets/play-7LTxCuLX.js +0 -1
- package/payload/server/public/assets/play-7LTxCuLX.js.br +0 -0
- package/payload/server/public/assets/play-7LTxCuLX.js.gz +0 -0
- package/payload/server/public/assets/public-CrjZYpdW.js.br +0 -0
- package/payload/server/public/assets/public-CrjZYpdW.js.gz +0 -0
- package/payload/server/public/assets/rotate-ccw-J9f-GWjm.js.br +0 -0
- package/payload/server/public/assets/rotate-ccw-J9f-GWjm.js.gz +0 -0
- package/payload/server/public/assets/routines-C1AB-3FR.js.br +0 -0
- package/payload/server/public/assets/routines-C1AB-3FR.js.gz +0 -0
- package/payload/server/public/assets/skills-C4EfNKEx.js.br +0 -0
- package/payload/server/public/assets/skills-C4EfNKEx.js.gz +0 -0
- package/payload/server/public/assets/tasks-DszD3aZl.js.br +0 -0
- package/payload/server/public/assets/tasks-DszD3aZl.js.gz +0 -0
- package/payload/server/public/assets/triangle-alert-B5WAyAkC.js.br +0 -4
- package/payload/server/public/assets/triangle-alert-B5WAyAkC.js.gz +0 -0
- package/payload/server/public/assets/useCopyFeedback-B2nuNNJw.js.br +0 -0
- package/payload/server/public/assets/useCopyFeedback-B2nuNNJw.js.gz +0 -0
- package/payload/server/public/assets/useMediaQuery-DUPJPHQt.js.br +0 -0
- package/payload/server/public/assets/useMediaQuery-DUPJPHQt.js.gz +0 -0
- package/payload/server/public/assets/useVoiceRecorder-CCK60d2i.js +0 -2
- package/payload/server/public/assets/useVoiceRecorder-CCK60d2i.js.br +0 -0
- package/payload/server/public/assets/useVoiceRecorder-CCK60d2i.js.gz +0 -0
- package/payload/server/public/assets/wrench-DZJZm17j.js.br +0 -0
- package/payload/server/public/assets/wrench-DZJZm17j.js.gz +0 -0
- /package/payload/server/public/assets/{jsx-runtime-Cjug_Cyb.js → jsx-runtime-BmNepPEn.js} +0 -0
- /package/payload/server/public/assets/{jsx-runtime-Cjug_Cyb.js.br → jsx-runtime-BmNepPEn.js.br} +0 -0
- /package/payload/server/public/assets/{jsx-runtime-Cjug_Cyb.js.gz → jsx-runtime-BmNepPEn.js.gz} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/tools/ask.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/tools/ask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export type BotProvisionAction = "offer" | "rotate" | "access" | "list";
|
|
2
|
+
/** Action to Bot API method, for the actions that call one. `offer` sends a
|
|
3
|
+
* message and `list` reads local config, so neither appears.
|
|
4
|
+
*
|
|
5
|
+
* Exported so the census's owned-method map and this tool cannot disagree about
|
|
6
|
+
* which methods the tool covers. The two token-returning methods are ALSO in
|
|
7
|
+
* `api-guard`'s refusals: this map governs the census bucket, the refusal
|
|
8
|
+
* governs whether `telegram-api` can relay the call at all. */
|
|
9
|
+
export declare const PROVISION_METHOD: Readonly<{
|
|
10
|
+
readonly token: "getManagedBotToken";
|
|
11
|
+
readonly rotate: "replaceManagedBotToken";
|
|
12
|
+
readonly accessRead: "getManagedBotAccessSettings";
|
|
13
|
+
readonly accessWrite: "setManagedBotAccessSettings";
|
|
14
|
+
}>;
|
|
15
|
+
export interface BotProvisionParams {
|
|
16
|
+
/** The MANAGING bot: the one that offers the button and owns the created bots.
|
|
17
|
+
* Must be a `role:'admin'` entry on this account. */
|
|
18
|
+
botId: string;
|
|
19
|
+
action: BotProvisionAction;
|
|
20
|
+
/** `offer` only — the private chat the button is sent to. */
|
|
21
|
+
chatId?: number;
|
|
22
|
+
buttonText?: string;
|
|
23
|
+
suggestedName?: string;
|
|
24
|
+
suggestedUsername?: string;
|
|
25
|
+
/** `rotate` and `access` — the managed bot being acted on. */
|
|
26
|
+
managedBotId?: string;
|
|
27
|
+
/** `access` — omit to READ the current settings, pass to write them. */
|
|
28
|
+
isAccessRestricted?: boolean;
|
|
29
|
+
addedUserIds?: number[];
|
|
30
|
+
}
|
|
31
|
+
export interface BotProvisionDeps {
|
|
32
|
+
platformRoot: string;
|
|
33
|
+
accountId: string | undefined;
|
|
34
|
+
log: (line: string) => void;
|
|
35
|
+
fetchImpl?: typeof fetch;
|
|
36
|
+
/** Injected so a test can pin the generated request id, which is otherwise
|
|
37
|
+
* random and would make the offer line unassertable. */
|
|
38
|
+
requestIdGen?: () => number;
|
|
39
|
+
/** Injected so a test does not write a secret into the real home directory. */
|
|
40
|
+
secretPathFor?: (botId: string) => string;
|
|
41
|
+
}
|
|
42
|
+
export interface BotProvisionResult {
|
|
43
|
+
text: string;
|
|
44
|
+
isError: boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* `telegram-bot-provision` — create and manage bots without visiting BotFather.
|
|
48
|
+
*
|
|
49
|
+
* NOTHING here returns a token. `offer` returns the request id, `rotate` returns
|
|
50
|
+
* the bot id whose token changed, `access` returns the restriction state, and
|
|
51
|
+
* `list` returns ids and roles. The tokens themselves go from Telegram straight
|
|
52
|
+
* into account.json and are never rendered, logged or returned, because a tool
|
|
53
|
+
* result is transcript and a transcript is not where a live bot token belongs.
|
|
54
|
+
* `api-guard` refuses the same two methods on the `telegram-api` passthrough for
|
|
55
|
+
* exactly that reason; this tool would otherwise be a lock with the key beside it.
|
|
56
|
+
*
|
|
57
|
+
* Every action names a `botId` and every action requires that entry to be
|
|
58
|
+
* `role:'admin'`. The MCP child receives only ACCOUNT_ID, LOG_DIR and
|
|
59
|
+
* PLATFORM_ROOT, so it cannot see which entry spawned it; but the offer is sent
|
|
60
|
+
* AS the named bot and the managed bots belong to it, so the named bot's own role
|
|
61
|
+
* is the authority that actually matters.
|
|
62
|
+
*/
|
|
63
|
+
export declare function telegramBotProvision(params: BotProvisionParams, deps: BotProvisionDeps): Promise<BotProvisionResult>;
|
|
64
|
+
//# sourceMappingURL=bot-provision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bot-provision.d.ts","sourceRoot":"","sources":["../../src/tools/bot-provision.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExE;;;;;;gEAMgE;AAChE,eAAO,MAAM,gBAAgB;;;;;EAAsB,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC;0DACsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,kBAAkB,CAAC;IAC3B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;6DACyD;IACzD,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAoP7B"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { randomInt } from "node:crypto";
|
|
2
|
+
import { callBotApi } from "../lib/bot-api.js";
|
|
3
|
+
import { listRegisteredBots, resolveBotToken } from "../lib/account-token.js";
|
|
4
|
+
import { persistTelegramBot, resolveAccountDir } from "../lib/account-write.js";
|
|
5
|
+
import { resolveSecretFilePath } from "../lib/secret-path.js";
|
|
6
|
+
import { getWebhookInfo } from "../lib/telegram.js";
|
|
7
|
+
import { MANAGED_BOT_METHODS, MANAGED_BOT_REQUEST_ID_MAX, MAX_ADDED_USER_IDS, botCanManageBots, buildManagedBotRequestKeyboard, getManagedBotAccessSettings, readTelegramBotEntry, replaceManagedBotToken, setManagedBotAccessSettings, setTelegramWebhook, TELEGRAM_ALLOWED_UPDATES, } from "../../../../../lib/telegram-managed-bot/dist/index.js";
|
|
8
|
+
const TAG = "[telegram-provision]";
|
|
9
|
+
/** Action to Bot API method, for the actions that call one. `offer` sends a
|
|
10
|
+
* message and `list` reads local config, so neither appears.
|
|
11
|
+
*
|
|
12
|
+
* Exported so the census's owned-method map and this tool cannot disagree about
|
|
13
|
+
* which methods the tool covers. The two token-returning methods are ALSO in
|
|
14
|
+
* `api-guard`'s refusals: this map governs the census bucket, the refusal
|
|
15
|
+
* governs whether `telegram-api` can relay the call at all. */
|
|
16
|
+
export const PROVISION_METHOD = MANAGED_BOT_METHODS;
|
|
17
|
+
const fail = (text) => ({ text, isError: true });
|
|
18
|
+
/**
|
|
19
|
+
* `telegram-bot-provision` — create and manage bots without visiting BotFather.
|
|
20
|
+
*
|
|
21
|
+
* NOTHING here returns a token. `offer` returns the request id, `rotate` returns
|
|
22
|
+
* the bot id whose token changed, `access` returns the restriction state, and
|
|
23
|
+
* `list` returns ids and roles. The tokens themselves go from Telegram straight
|
|
24
|
+
* into account.json and are never rendered, logged or returned, because a tool
|
|
25
|
+
* result is transcript and a transcript is not where a live bot token belongs.
|
|
26
|
+
* `api-guard` refuses the same two methods on the `telegram-api` passthrough for
|
|
27
|
+
* exactly that reason; this tool would otherwise be a lock with the key beside it.
|
|
28
|
+
*
|
|
29
|
+
* Every action names a `botId` and every action requires that entry to be
|
|
30
|
+
* `role:'admin'`. The MCP child receives only ACCOUNT_ID, LOG_DIR and
|
|
31
|
+
* PLATFORM_ROOT, so it cannot see which entry spawned it; but the offer is sent
|
|
32
|
+
* AS the named bot and the managed bots belong to it, so the named bot's own role
|
|
33
|
+
* is the authority that actually matters.
|
|
34
|
+
*/
|
|
35
|
+
export async function telegramBotProvision(params, deps) {
|
|
36
|
+
const { platformRoot, accountId, log } = deps;
|
|
37
|
+
const fetchImpl = deps.fetchImpl ?? fetch;
|
|
38
|
+
const secretPathFor = deps.secretPathFor ?? resolveSecretFilePath;
|
|
39
|
+
// Telegram: "Signed 32-bit identifier of the request." Generated here rather
|
|
40
|
+
// than taken from the caller: it must be unique per message and a model
|
|
41
|
+
// choosing "1" every time would make two offers indistinguishable in the log.
|
|
42
|
+
const requestIdGen = deps.requestIdGen ?? (() => randomInt(1, MANAGED_BOT_REQUEST_ID_MAX));
|
|
43
|
+
if (!platformRoot || !accountId) {
|
|
44
|
+
log(`${TAG} op=refused reason=no-account-env`);
|
|
45
|
+
return fail(`PLATFORM_ROOT/ACCOUNT_ID not in MCP env — cannot reach this account's bots.`);
|
|
46
|
+
}
|
|
47
|
+
const registered = listRegisteredBots(platformRoot, accountId);
|
|
48
|
+
if (params.action === "list") {
|
|
49
|
+
// Never a token. `managed` is provenance: a bot this install created through
|
|
50
|
+
// the button, as opposed to one whose BotFather token an operator pasted.
|
|
51
|
+
const rows = registered.map((b) => `${b.id} role=${b.role}${b.agent ? ` agent=${b.agent}` : ""}`);
|
|
52
|
+
log(`${TAG} op=provision-list bots=${registered.length}`);
|
|
53
|
+
return {
|
|
54
|
+
isError: false,
|
|
55
|
+
text: rows.length === 0
|
|
56
|
+
? `No Telegram bots are registered on this account.`
|
|
57
|
+
: `Bots on this account:\n${rows.join("\n")}`,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
const entry = registered.find((b) => b.id === params.botId);
|
|
61
|
+
if (!entry) {
|
|
62
|
+
log(`${TAG} op=refused reason=unknown-bot botId=${params.botId}`);
|
|
63
|
+
return fail(`No bot ${params.botId} is registered on this account. Registered: ${registered.map((b) => b.id).join(", ") || "none"}`);
|
|
64
|
+
}
|
|
65
|
+
// The authorisation gate, before any Telegram call. A public bot answering for
|
|
66
|
+
// someone else's agent must not be able to mint bots on this account or read
|
|
67
|
+
// the access settings of one.
|
|
68
|
+
if (entry.role !== "admin") {
|
|
69
|
+
log(`${TAG} op=refused reason=public-entry-no-provision botId=${params.botId} role=${entry.role}`);
|
|
70
|
+
return fail(`Bot ${params.botId} is a ${entry.role} bot. Provisioning is an admin-entry action: only a bot registered with role admin can create or manage other bots.`);
|
|
71
|
+
}
|
|
72
|
+
const token = resolveBotToken(platformRoot, accountId, params.botId);
|
|
73
|
+
if (!token) {
|
|
74
|
+
log(`${TAG} op=refused reason=no-token botId=${params.botId}`);
|
|
75
|
+
return fail(`Bot ${params.botId} has no token in account.json.`);
|
|
76
|
+
}
|
|
77
|
+
switch (params.action) {
|
|
78
|
+
case "offer": {
|
|
79
|
+
if (params.chatId === undefined) {
|
|
80
|
+
return fail(`offer needs \`chatId\`: the private chat the button is sent to. Telegram makes this button "Available in private chats only".`);
|
|
81
|
+
}
|
|
82
|
+
// Pre-flight. The switch lives in the @BotFather Mini App and no API call
|
|
83
|
+
// turns it on, so without this the send succeeds and the button simply does
|
|
84
|
+
// nothing when tapped, with nothing anywhere explaining why.
|
|
85
|
+
const me = await botCanManageBots(token, fetchImpl);
|
|
86
|
+
if (!me.ok)
|
|
87
|
+
return fail(`Could not read the bot's own profile: ${me.error}`);
|
|
88
|
+
if (!me.canManageBots) {
|
|
89
|
+
log(`${TAG} op=refused reason=management-not-enabled botId=${params.botId}`);
|
|
90
|
+
return fail(`@${me.username} cannot manage other bots yet, so the button would do nothing. ` +
|
|
91
|
+
`Open @BotFather, go to its Mini App, select this bot and enable management of other bots. ` +
|
|
92
|
+
`This is a one-time step per managing bot; every bot created afterwards needs no BotFather visit.`);
|
|
93
|
+
}
|
|
94
|
+
const requestId = requestIdGen();
|
|
95
|
+
const keyboard = buildManagedBotRequestKeyboard({
|
|
96
|
+
text: params.buttonText ?? "Create a bot",
|
|
97
|
+
requestId,
|
|
98
|
+
...(params.suggestedName !== undefined ? { suggestedName: params.suggestedName } : {}),
|
|
99
|
+
...(params.suggestedUsername !== undefined
|
|
100
|
+
? { suggestedUsername: params.suggestedUsername }
|
|
101
|
+
: {}),
|
|
102
|
+
});
|
|
103
|
+
const res = await callBotApi(token, "sendMessage", {
|
|
104
|
+
chat_id: params.chatId,
|
|
105
|
+
text: `Tap the button to create a bot. Telegram will ask you to name it, then hand it straight to this install: ` +
|
|
106
|
+
`no BotFather, no token to copy. It will be registered and restricted to you until an agent is bound to it.`,
|
|
107
|
+
reply_markup: JSON.stringify(keyboard),
|
|
108
|
+
}, { fetchImpl });
|
|
109
|
+
log(`${TAG} op=provision-offer botId=${params.botId} chatId=${params.chatId} requestId=${requestId} ` +
|
|
110
|
+
`suggestedUsername=${params.suggestedUsername ?? "none"}`);
|
|
111
|
+
if (!res.ok)
|
|
112
|
+
return fail(`Could not send the button: ${res.description ?? "sendMessage failed"}`);
|
|
113
|
+
return {
|
|
114
|
+
isError: false,
|
|
115
|
+
text: `Sent the create-a-bot button to chat ${params.chatId} (request ${requestId}).\n` +
|
|
116
|
+
`When it is tapped, this install receives the new bot, stores its token, restricts it to its owner and registers its webhook. ` +
|
|
117
|
+
`Telegram does not echo the request id back, so the arrival is matched on the new bot's id.`,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
case "rotate": {
|
|
121
|
+
if (!params.managedBotId) {
|
|
122
|
+
return fail(`rotate needs \`managedBotId\`: the bot whose token is being replaced.`);
|
|
123
|
+
}
|
|
124
|
+
const managed = registered.find((b) => b.id === params.managedBotId);
|
|
125
|
+
if (!managed) {
|
|
126
|
+
return fail(`Bot ${params.managedBotId} is not registered on this account, so there is nothing here to rotate.`);
|
|
127
|
+
}
|
|
128
|
+
const oldToken = resolveBotToken(platformRoot, accountId, params.managedBotId);
|
|
129
|
+
if (!oldToken)
|
|
130
|
+
return fail(`Bot ${params.managedBotId} has no token in account.json.`);
|
|
131
|
+
// The WHOLE stored entry, not the `{ id, role, agent }` registry row.
|
|
132
|
+
// Spreading the row would drop adminUsers, dmPolicy, allowFrom and managed,
|
|
133
|
+
// so replacing a token would quietly un-admit every admin on the bot.
|
|
134
|
+
const dir = resolveAccountDir(platformRoot, accountId);
|
|
135
|
+
const stored = dir.ok ? readTelegramBotEntry(dir.dir, params.managedBotId) : null;
|
|
136
|
+
if (!stored) {
|
|
137
|
+
return fail(`Could not read bot ${params.managedBotId} from account.json, so nothing was rotated.`);
|
|
138
|
+
}
|
|
139
|
+
// Read the registered URL BEFORE revoking, so the re-registration needs no
|
|
140
|
+
// operator input and cannot land the bot on a different path than it was on.
|
|
141
|
+
let url = "";
|
|
142
|
+
try {
|
|
143
|
+
url = (await getWebhookInfo(oldToken, fetchImpl)).url;
|
|
144
|
+
}
|
|
145
|
+
catch (e) {
|
|
146
|
+
return fail(`Could not read the current webhook before rotating: ${e instanceof Error ? e.message : String(e)}. ` +
|
|
147
|
+
`Nothing was revoked.`);
|
|
148
|
+
}
|
|
149
|
+
if (!url) {
|
|
150
|
+
return fail(`Bot ${params.managedBotId} has no webhook registered, so there is no URL to restore it to after a rotation. ` +
|
|
151
|
+
`Register it with telegram-webhook-register first.`);
|
|
152
|
+
}
|
|
153
|
+
const rotated = await replaceManagedBotToken(token, Number(params.managedBotId), fetchImpl);
|
|
154
|
+
log(`${TAG} op=provision-token botId=${params.botId} newBotId=${params.managedBotId} ` +
|
|
155
|
+
`fetched=${rotated.ok ? "yes" : "no"} reason=${rotated.ok ? "ok" : "api-error"}`);
|
|
156
|
+
if (!rotated.ok)
|
|
157
|
+
return fail(`Telegram refused the rotation: ${rotated.error}`);
|
|
158
|
+
// The bot's user id survives a rotation, so the entry keeps its id, its role
|
|
159
|
+
// and its policy: this replaces a credential, it does not re-bind a bot.
|
|
160
|
+
const persisted = persistTelegramBot(platformRoot, accountId, {
|
|
161
|
+
...stored,
|
|
162
|
+
token: rotated.token,
|
|
163
|
+
});
|
|
164
|
+
log(`${TAG} op=provision-persist botId=${params.botId} newBotId=${params.managedBotId} ` +
|
|
165
|
+
`written=${persisted.ok ? "yes" : "no"} restricted=unchanged`);
|
|
166
|
+
if (!persisted.ok) {
|
|
167
|
+
return fail(`The token was rotated but could not be saved (${persisted.error}). The old token is dead and the new one is only reachable by rotating again.`);
|
|
168
|
+
}
|
|
169
|
+
const reg = await setTelegramWebhook(rotated.token, url, secretPathFor(params.managedBotId), fetchImpl);
|
|
170
|
+
log(`${TAG} op=provision-register botId=${params.botId} newBotId=${params.managedBotId} ` +
|
|
171
|
+
`webhook=${reg.ok ? "ok" : "failed"} allowedCount=${TELEGRAM_ALLOWED_UPDATES.length}`);
|
|
172
|
+
return reg.ok
|
|
173
|
+
? {
|
|
174
|
+
isError: false,
|
|
175
|
+
text: `Rotated bot ${params.managedBotId}. The new token is saved and its webhook is re-registered at ${url}.`,
|
|
176
|
+
}
|
|
177
|
+
: fail(`The new token is saved but the webhook did not re-register: ${reg.error}. The bot receives nothing until it does.`);
|
|
178
|
+
}
|
|
179
|
+
case "access": {
|
|
180
|
+
if (!params.managedBotId) {
|
|
181
|
+
return fail(`access needs \`managedBotId\`: the bot whose access settings are read or set.`);
|
|
182
|
+
}
|
|
183
|
+
const target = Number(params.managedBotId);
|
|
184
|
+
if (params.isAccessRestricted === undefined) {
|
|
185
|
+
const got = await getManagedBotAccessSettings(token, target, fetchImpl);
|
|
186
|
+
if (!got.ok)
|
|
187
|
+
return fail(`Could not read the access settings: ${got.error}`);
|
|
188
|
+
log(`${TAG} op=provision-access botId=${params.botId} newBotId=${params.managedBotId} ` +
|
|
189
|
+
`mode=read restricted=${got.isAccessRestricted ? "yes" : "no"} added=${got.addedUserIds.length}`);
|
|
190
|
+
return {
|
|
191
|
+
isError: false,
|
|
192
|
+
text: got.isAccessRestricted
|
|
193
|
+
? `Bot ${params.managedBotId} is restricted. Besides its owner, ${got.addedUserIds.length === 0
|
|
194
|
+
? "nobody"
|
|
195
|
+
: `these users can reach it: ${got.addedUserIds.join(", ")}`}.`
|
|
196
|
+
: `Bot ${params.managedBotId} is OPEN: anyone who finds it can message it.`,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
if (params.addedUserIds && params.addedUserIds.length > MAX_ADDED_USER_IDS) {
|
|
200
|
+
return fail(`Telegram allows at most ${MAX_ADDED_USER_IDS} added users; ${params.addedUserIds.length} were given.`);
|
|
201
|
+
}
|
|
202
|
+
const set = await setManagedBotAccessSettings(token, target, params.isAccessRestricted, params.addedUserIds, fetchImpl);
|
|
203
|
+
log(`${TAG} op=provision-access botId=${params.botId} newBotId=${params.managedBotId} ` +
|
|
204
|
+
`mode=write restricted=${params.isAccessRestricted ? "yes" : "no"} ` +
|
|
205
|
+
`added=${params.addedUserIds?.length ?? 0} result=${set.ok ? "ok" : "failed"}`);
|
|
206
|
+
if (!set.ok)
|
|
207
|
+
return fail(`Telegram refused the change: ${set.error}`);
|
|
208
|
+
return {
|
|
209
|
+
isError: false,
|
|
210
|
+
text: params.isAccessRestricted
|
|
211
|
+
? `Bot ${params.managedBotId} is now restricted to its owner${params.addedUserIds?.length ? ` and ${params.addedUserIds.length} named user(s)` : ""}.`
|
|
212
|
+
: `Bot ${params.managedBotId} is now OPEN: anyone who finds it can message it.`,
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=bot-provision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bot-provision.js","sourceRoot":"","sources":["../../src/tools/bot-provision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,8BAA8B,EAC9B,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,uDAAuD,CAAC;AAE/D,MAAM,GAAG,GAAG,sBAAsB,CAAC;AAInC;;;;;;gEAMgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAoCpD,MAAM,IAAI,GAAG,CAAC,IAAY,EAAsB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAE7E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAA0B,EAC1B,IAAsB;IAEtB,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;IAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,qBAAqB,CAAC;IAClE,6EAA6E;IAC7E,wEAAwE;IACxE,8EAA8E;IAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAE3F,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,GAAG,CAAC,GAAG,GAAG,mCAAmC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,6EAA6E,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAE/D,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,6EAA6E;QAC7E,0EAA0E;QAC1E,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACrE,CAAC;QACF,GAAG,CAAC,GAAG,GAAG,2BAA2B,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE,KAAK;YACd,IAAI,EACF,IAAI,CAAC,MAAM,KAAK,CAAC;gBACf,CAAC,CAAC,kDAAkD;gBACpD,CAAC,CAAC,0BAA0B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAClD,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,GAAG,CAAC,GAAG,GAAG,wCAAwC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CACT,UAAU,MAAM,CAAC,KAAK,+CACpB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAC5C,EAAE,CACH,CAAC;IACJ,CAAC;IACD,+EAA+E;IAC/E,6EAA6E;IAC7E,8BAA8B;IAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,GAAG,sDAAsD,MAAM,CAAC,KAAK,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACnG,OAAO,IAAI,CACT,OAAO,MAAM,CAAC,KAAK,SAAS,KAAK,CAAC,IAAI,qHAAqH,CAC5J,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACrE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,GAAG,CAAC,GAAG,GAAG,qCAAqC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,OAAO,MAAM,CAAC,KAAK,gCAAgC,CAAC,CAAC;IACnE,CAAC;IAED,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO,IAAI,CACT,+HAA+H,CAChI,CAAC;YACJ,CAAC;YACD,0EAA0E;YAC1E,4EAA4E;YAC5E,6DAA6D;YAC7D,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC,yCAAyC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;gBACtB,GAAG,CAAC,GAAG,GAAG,mDAAmD,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7E,OAAO,IAAI,CACT,IAAI,EAAE,CAAC,QAAQ,iEAAiE;oBAC9E,4FAA4F;oBAC5F,kGAAkG,CACrG,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,8BAA8B,CAAC;gBAC9C,IAAI,EAAE,MAAM,CAAC,UAAU,IAAI,cAAc;gBACzC,SAAS;gBACT,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,GAAG,CAAC,MAAM,CAAC,iBAAiB,KAAK,SAAS;oBACxC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE;oBACjD,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,UAAU,CAC1B,KAAK,EACL,aAAa,EACb;gBACE,OAAO,EAAE,MAAM,CAAC,MAAM;gBACtB,IAAI,EACF,2GAA2G;oBAC3G,4GAA4G;gBAC9G,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;aACvC,EACD,EAAE,SAAS,EAAE,CACd,CAAC;YACF,GAAG,CACD,GAAG,GAAG,6BAA6B,MAAM,CAAC,KAAK,WAAW,MAAM,CAAC,MAAM,cAAc,SAAS,GAAG;gBAC/F,qBAAqB,MAAM,CAAC,iBAAiB,IAAI,MAAM,EAAE,CAC5D,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC,8BAA8B,GAAG,CAAC,WAAW,IAAI,oBAAoB,EAAE,CAAC,CAAC;YAClG,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,IAAI,EACF,wCAAwC,MAAM,CAAC,MAAM,aAAa,SAAS,MAAM;oBACjF,+HAA+H;oBAC/H,4FAA4F;aAC/F,CAAC;QACJ,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,uEAAuE,CAAC,CAAC;YACvF,CAAC;YACD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,YAAY,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,CACT,OAAO,MAAM,CAAC,YAAY,yEAAyE,CACpG,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAC/E,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC,OAAO,MAAM,CAAC,YAAY,gCAAgC,CAAC,CAAC;YACvF,sEAAsE;YACtE,4EAA4E;YAC5E,sEAAsE;YACtE,MAAM,GAAG,GAAG,iBAAiB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC,sBAAsB,MAAM,CAAC,YAAY,6CAA6C,CAAC,CAAC;YACtG,CAAC;YAED,2EAA2E;YAC3E,6EAA6E;YAC7E,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,GAAG,GAAG,CAAC,MAAM,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;YACxD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,IAAI,CACT,uDAAuD,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;oBACnG,sBAAsB,CACzB,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,IAAI,CACT,OAAO,MAAM,CAAC,YAAY,oFAAoF;oBAC5G,mDAAmD,CACtD,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;YAC5F,GAAG,CACD,GAAG,GAAG,6BAA6B,MAAM,CAAC,KAAK,aAAa,MAAM,CAAC,YAAY,GAAG;gBAChF,WAAW,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,WAAW,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CACnF,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC,kCAAkC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YAEhF,6EAA6E;YAC7E,yEAAyE;YACzE,MAAM,SAAS,GAAG,kBAAkB,CAAC,YAAY,EAAE,SAAS,EAAE;gBAC5D,GAAG,MAAM;gBACT,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAC;YACH,GAAG,CACD,GAAG,GAAG,+BAA+B,MAAM,CAAC,KAAK,aAAa,MAAM,CAAC,YAAY,GAAG;gBAClF,WAAW,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,uBAAuB,CAChE,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gBAClB,OAAO,IAAI,CACT,iDAAiD,SAAS,CAAC,KAAK,+EAA+E,CAChJ,CAAC;YACJ,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAClC,OAAO,CAAC,KAAK,EACb,GAAG,EACH,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,EAClC,SAAS,CACV,CAAC;YACF,GAAG,CACD,GAAG,GAAG,gCAAgC,MAAM,CAAC,KAAK,aAAa,MAAM,CAAC,YAAY,GAAG;gBACnF,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,iBAAiB,wBAAwB,CAAC,MAAM,EAAE,CACxF,CAAC;YACF,OAAO,GAAG,CAAC,EAAE;gBACX,CAAC,CAAC;oBACE,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,eAAe,MAAM,CAAC,YAAY,gEAAgE,GAAG,GAAG;iBAC/G;gBACH,CAAC,CAAC,IAAI,CACF,+DAA+D,GAAG,CAAC,KAAK,2CAA2C,CACpH,CAAC;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,+EAA+E,CAAC,CAAC;YAC/F,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3C,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,GAAG,GAAG,MAAM,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBACxE,IAAI,CAAC,GAAG,CAAC,EAAE;oBAAE,OAAO,IAAI,CAAC,uCAAuC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7E,GAAG,CACD,GAAG,GAAG,8BAA8B,MAAM,CAAC,KAAK,aAAa,MAAM,CAAC,YAAY,GAAG;oBACjF,wBAAwB,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,CACnG,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,GAAG,CAAC,kBAAkB;wBAC1B,CAAC,CAAC,OAAO,MAAM,CAAC,YAAY,sCACxB,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;4BAC3B,CAAC,CAAC,QAAQ;4BACV,CAAC,CAAC,6BAA6B,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAC9D,GAAG;wBACL,CAAC,CAAC,OAAO,MAAM,CAAC,YAAY,+CAA+C;iBAC9E,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;gBAC3E,OAAO,IAAI,CACT,2BAA2B,kBAAkB,iBAAiB,MAAM,CAAC,YAAY,CAAC,MAAM,cAAc,CACvG,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,2BAA2B,CAC3C,KAAK,EACL,MAAM,EACN,MAAM,CAAC,kBAAkB,EACzB,MAAM,CAAC,YAAY,EACnB,SAAS,CACV,CAAC;YACF,GAAG,CACD,GAAG,GAAG,8BAA8B,MAAM,CAAC,KAAK,aAAa,MAAM,CAAC,YAAY,GAAG;gBACjF,yBAAyB,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG;gBACpE,SAAS,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CACjF,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC,gCAAgC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YACtE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,MAAM,CAAC,kBAAkB;oBAC7B,CAAC,CAAC,OAAO,MAAM,CAAC,YAAY,kCACxB,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,YAAY,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC,EACrF,GAAG;oBACL,CAAC,CAAC,OAAO,MAAM,CAAC,YAAY,mDAAmD;aAClF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -9,6 +9,13 @@ export interface CardParams {
|
|
|
9
9
|
disablePreview?: boolean;
|
|
10
10
|
callbackQueryId?: string;
|
|
11
11
|
alert?: boolean;
|
|
12
|
+
/** Task 2615 — send AS a connected business account rather than as the bot.
|
|
13
|
+
*
|
|
14
|
+
* Rarely passed. When this account holds a stored connection and `chatId` is
|
|
15
|
+
* a business chat, it is filled in from the store below, for the reason Task
|
|
16
|
+
* 2611 gave `telegram-ask`: the identifier exists only inside a connection
|
|
17
|
+
* Telegram announces once, so the model has no way to supply one. */
|
|
18
|
+
businessConnectionId?: string;
|
|
12
19
|
}
|
|
13
20
|
export interface CardDeps {
|
|
14
21
|
platformRoot: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/tools/card.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/tools/card.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAczF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;IAC/C,OAAO,CAAC,EAAE,yBAAyB,EAAE,EAAE,CAAC;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;0EAKsE;IACtE,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;CACnD;AAQD;;;;;gCAKgC;AAChC,wBAAsB,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAsMrF"}
|
|
@@ -2,6 +2,9 @@ import { callBotApi } from "../lib/bot-api.js";
|
|
|
2
2
|
import { listRegisteredBots, resolveBotToken } from "../lib/account-token.js";
|
|
3
3
|
import { buildInlineKeyboard } from "../lib/telegram.js";
|
|
4
4
|
import { cardKey, readCardId, writeCardId } from "../lib/card-store.js";
|
|
5
|
+
import { gateChatSend } from "../lib/chat-send-policy.js";
|
|
6
|
+
import { readBusinessConnection } from "../lib/business-connection-store.js";
|
|
7
|
+
import { businessChannelKey, newestInboundTelegramDate, businessWindowVerdict, businessWindowRefusal, } from "../lib/business-window-store.js";
|
|
5
8
|
const TAG = "[telegram-tools]";
|
|
6
9
|
const TOOL = "telegram-card";
|
|
7
10
|
/** Telegram's answer when the new text and markup match the old. It is a no-op,
|
|
@@ -42,14 +45,67 @@ export async function telegramCard(p, deps) {
|
|
|
42
45
|
: "No Telegram bot is registered on this account. Run the telegram:configure skill first.",
|
|
43
46
|
};
|
|
44
47
|
}
|
|
48
|
+
// Task 2617 — before the body is built and before the card store is read, so a
|
|
49
|
+
// refused send touches nothing. A channel post reaches every subscriber and
|
|
50
|
+
// cannot be unsent.
|
|
51
|
+
const gate = gateChatSend({
|
|
52
|
+
platformRoot: deps.platformRoot,
|
|
53
|
+
accountId: deps.accountId,
|
|
54
|
+
botId: p.botId,
|
|
55
|
+
chatId: p.chatId,
|
|
56
|
+
log,
|
|
57
|
+
});
|
|
58
|
+
if (!gate.allowed)
|
|
59
|
+
return { ok: false, isError: true, outcome: "none", text: gate.text };
|
|
45
60
|
const markup = p.buttons ? buildInlineKeyboard(p.buttons) : undefined;
|
|
46
61
|
const stored = p.key
|
|
47
62
|
? readCardId(deps.platformRoot, deps.accountId, cardKey(p.botId, p.chatId, p.key))
|
|
48
63
|
: null;
|
|
64
|
+
// Task 2615 — a card into a connected business account's chat.
|
|
65
|
+
//
|
|
66
|
+
// Resolved from the store when the caller named no id, the same shape
|
|
67
|
+
// `telegram-ask` uses for a checklist: the identifier exists only inside a
|
|
68
|
+
// connection Telegram announces once, so naming a missing parameter would tell
|
|
69
|
+
// the model to supply something it cannot obtain. The store lookup is keyed on
|
|
70
|
+
// the business channel key, so a card to an ordinary chat finds nothing and
|
|
71
|
+
// this whole block is inert — every pre-2615 card body stays byte-identical.
|
|
72
|
+
const bizKey = businessChannelKey(p.botId, p.chatId);
|
|
73
|
+
const newestInbound = newestInboundTelegramDate(deps.platformRoot, deps.accountId, bizKey);
|
|
74
|
+
let connectionId = p.businessConnectionId;
|
|
75
|
+
if (!connectionId && newestInbound !== null) {
|
|
76
|
+
const rec = readBusinessConnection(deps.platformRoot, deps.accountId, p.botId);
|
|
77
|
+
if (rec) {
|
|
78
|
+
connectionId = rec.id;
|
|
79
|
+
// The line names the SOURCE and never the identifier: it is a capability
|
|
80
|
+
// handle, and the platform side truncates it for the same reason.
|
|
81
|
+
log(`${TAG} op=business-connection-resolved callId=${callId} tool=${TOOL} ` +
|
|
82
|
+
`botId=${p.botId} chatId=${p.chatId} source=store`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (connectionId) {
|
|
86
|
+
// Decided BEFORE the network call. Telegram emits nothing when a window
|
|
87
|
+
// closes, so a refusal after the fetch would be indistinguishable from a
|
|
88
|
+
// send that merely failed.
|
|
89
|
+
const verdict = businessWindowVerdict({ newestInboundDate: newestInbound, nowMs: Date.now() });
|
|
90
|
+
log(`${TAG} op=business-window callId=${callId} tool=${TOOL} botId=${p.botId} ` +
|
|
91
|
+
`chatId=${p.chatId} ageS=${verdict.ageS ?? "none"} allowed=${verdict.allowed ? "yes" : "no"}`);
|
|
92
|
+
if (!verdict.allowed) {
|
|
93
|
+
return {
|
|
94
|
+
ok: false,
|
|
95
|
+
isError: true,
|
|
96
|
+
outcome: "none",
|
|
97
|
+
text: businessWindowRefusal(p.chatId, verdict.ageS),
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
49
101
|
const common = {
|
|
50
102
|
chat_id: p.chatId,
|
|
51
103
|
text: p.text,
|
|
52
104
|
parse_mode: p.parseMode ?? "HTML",
|
|
105
|
+
// Built from `common`, so the id rides `editMessageText` as well as
|
|
106
|
+
// `sendMessage`: editing a business card is as much a business send as the
|
|
107
|
+
// first post was.
|
|
108
|
+
...(connectionId ? { business_connection_id: connectionId } : {}),
|
|
53
109
|
...(markup ? { reply_markup: markup } : {}),
|
|
54
110
|
...(p.disablePreview ? { link_preview_options: { is_disabled: true } } : {}),
|
|
55
111
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/tools/card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAyB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAkC,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/tools/card.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoice.d.ts","sourceRoot":"","sources":["../../src/tools/invoice.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"invoice.d.ts","sourceRoot":"","sources":["../../src/tools/invoice.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,MAAM,GACN,gBAAgB,GAChB,mBAAmB,GACnB,SAAS,GACT,cAAc,GACd,QAAQ,GACR,kBAAkB,CAAC;AAEvB;;kDAEkD;AAClD,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CASjE,CAAC;AAEH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB;gEAC4D;IAC5D,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CACnC;AAwID;;;;;;;2CAO2C;AAC3C,wBAAsB,eAAe,CACnC,CAAC,EAAE,aAAa,EAChB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,aAAa,CAAC,CAkGxB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { callBotApi } from "../lib/bot-api.js";
|
|
2
2
|
import { listRegisteredBots, resolveBotToken } from "../lib/account-token.js";
|
|
3
|
+
import { gateChatSend } from "../lib/chat-send-policy.js";
|
|
3
4
|
const TAG = "[telegram-tools]";
|
|
4
5
|
const TOOL = "telegram-invoice";
|
|
5
6
|
/** Action to Bot API method. Verified against the live parameter tables on
|
|
@@ -190,6 +191,20 @@ export async function telegramInvoice(p, deps) {
|
|
|
190
191
|
: "No Telegram bot is registered on this account. Run the telegram:configure skill first.",
|
|
191
192
|
};
|
|
192
193
|
}
|
|
194
|
+
// Task 2617 — guarded on PRESENCE, because `action: 'link'` mints a payable URL
|
|
195
|
+
// and posts to no chat at all. Gating an absent chat id would refuse an action
|
|
196
|
+
// that reaches nobody.
|
|
197
|
+
if (p.chatId !== undefined) {
|
|
198
|
+
const gate = gateChatSend({
|
|
199
|
+
platformRoot: deps.platformRoot,
|
|
200
|
+
accountId: deps.accountId,
|
|
201
|
+
botId: p.botId,
|
|
202
|
+
chatId: p.chatId,
|
|
203
|
+
log,
|
|
204
|
+
});
|
|
205
|
+
if (!gate.allowed)
|
|
206
|
+
return { ok: false, isError: true, outcome: "none", text: gate.text };
|
|
207
|
+
}
|
|
193
208
|
const method = INVOICE_METHOD[p.action];
|
|
194
209
|
log(`${TAG} op=call tool=${TOOL} method=${method} callId=${callId} botId=${p.botId}`);
|
|
195
210
|
let envelope;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoice.js","sourceRoot":"","sources":["../../src/tools/invoice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAyB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"invoice.js","sourceRoot":"","sources":["../../src/tools/invoice.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-send.d.ts","sourceRoot":"","sources":["../../src/tools/media-send.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"media-send.d.ts","sourceRoot":"","sources":["../../src/tools/media-send.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { callBotApi } from "../lib/bot-api.js";
|
|
2
2
|
import { listRegisteredBots, resolveBotToken } from "../lib/account-token.js";
|
|
3
3
|
import { buildInlineKeyboard } from "../lib/telegram.js";
|
|
4
|
+
import { gateChatSend } from "../lib/chat-send-policy.js";
|
|
4
5
|
const TAG = "[telegram-tools]";
|
|
5
6
|
const TOOL = "telegram-media-send";
|
|
6
7
|
/** Kind to Bot API method. Verified against the live parameter tables on
|
|
@@ -248,6 +249,17 @@ export async function telegramMediaSend(p, deps) {
|
|
|
248
249
|
: "No Telegram bot is registered on this account. Run the telegram:configure skill first.",
|
|
249
250
|
};
|
|
250
251
|
}
|
|
252
|
+
// Task 2617 — before the request is built, so a refused send reads no local
|
|
253
|
+
// file and touches nothing.
|
|
254
|
+
const gate = gateChatSend({
|
|
255
|
+
platformRoot: deps.platformRoot,
|
|
256
|
+
accountId: deps.accountId,
|
|
257
|
+
botId: p.botId,
|
|
258
|
+
chatId: p.chatId,
|
|
259
|
+
log,
|
|
260
|
+
});
|
|
261
|
+
if (!gate.allowed)
|
|
262
|
+
return { ok: false, isError: true, route: "none", text: gate.text };
|
|
251
263
|
const method = MEDIA_SEND_METHOD[p.kind];
|
|
252
264
|
const request = buildRequest(p);
|
|
253
265
|
log(`${TAG} op=call tool=${TOOL} method=${method} callId=${callId} botId=${p.botId} route=${request.route}`);
|