@wirecat/max-cli 0.0.0 → 0.42.0
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/LICENSE +21 -0
- package/README.md +531 -0
- package/dist/adapter/max-adapter.d.ts +17 -0
- package/dist/adapter/max-adapter.d.ts.map +1 -0
- package/dist/adapter/max-adapter.js +364 -0
- package/dist/adapter/max-adapter.js.map +1 -0
- package/dist/app.d.ts +3 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +9 -0
- package/dist/app.js.map +1 -0
- package/dist/bin/max.d.ts +3 -0
- package/dist/bin/max.d.ts.map +1 -0
- package/dist/bin/max.js +20 -0
- package/dist/bin/max.js.map +1 -0
- package/dist/bot/adapter.d.ts +25 -0
- package/dist/bot/adapter.d.ts.map +1 -0
- package/dist/bot/adapter.js +404 -0
- package/dist/bot/adapter.js.map +1 -0
- package/dist/bot/auth.d.ts +13 -0
- package/dist/bot/auth.d.ts.map +1 -0
- package/dist/bot/auth.js +9 -0
- package/dist/bot/auth.js.map +1 -0
- package/dist/bot/client.d.ts +26 -0
- package/dist/bot/client.d.ts.map +1 -0
- package/dist/bot/client.js +105 -0
- package/dist/bot/client.js.map +1 -0
- package/dist/bot/generated/manifest.d.ts +3 -0
- package/dist/bot/generated/manifest.d.ts.map +1 -0
- package/dist/bot/generated/manifest.js +1232 -0
- package/dist/bot/generated/manifest.js.map +1 -0
- package/dist/bot/generated/schemas.d.ts +271 -0
- package/dist/bot/generated/schemas.d.ts.map +1 -0
- package/dist/bot/generated/schemas.js +869 -0
- package/dist/bot/generated/schemas.js.map +1 -0
- package/dist/bot/generated/types.d.ts +1088 -0
- package/dist/bot/generated/types.d.ts.map +1 -0
- package/dist/bot/generated/types.js +5 -0
- package/dist/bot/generated/types.js.map +1 -0
- package/dist/bot/input.d.ts +6 -0
- package/dist/bot/input.d.ts.map +1 -0
- package/dist/bot/input.js +6 -0
- package/dist/bot/input.js.map +1 -0
- package/dist/bot/joins.d.ts +26 -0
- package/dist/bot/joins.d.ts.map +1 -0
- package/dist/bot/joins.js +56 -0
- package/dist/bot/joins.js.map +1 -0
- package/dist/bot/keep.d.ts +25 -0
- package/dist/bot/keep.d.ts.map +1 -0
- package/dist/bot/keep.js +98 -0
- package/dist/bot/keep.js.map +1 -0
- package/dist/bot/map.d.ts +14 -0
- package/dist/bot/map.d.ts.map +1 -0
- package/dist/bot/map.js +101 -0
- package/dist/bot/map.js.map +1 -0
- package/dist/bot/mcp-tools.d.ts +4 -0
- package/dist/bot/mcp-tools.d.ts.map +1 -0
- package/dist/bot/mcp-tools.js +78 -0
- package/dist/bot/mcp-tools.js.map +1 -0
- package/dist/bot/permissions.d.ts +14 -0
- package/dist/bot/permissions.d.ts.map +1 -0
- package/dist/bot/permissions.js +88 -0
- package/dist/bot/permissions.js.map +1 -0
- package/dist/bot/registry.d.ts +11 -0
- package/dist/bot/registry.d.ts.map +1 -0
- package/dist/bot/registry.js +13 -0
- package/dist/bot/registry.js.map +1 -0
- package/dist/bot/russian-trusted-root.d.ts +8 -0
- package/dist/bot/russian-trusted-root.d.ts.map +1 -0
- package/dist/bot/russian-trusted-root.js +41 -0
- package/dist/bot/russian-trusted-root.js.map +1 -0
- package/dist/bot/transport.d.ts +46 -0
- package/dist/bot/transport.d.ts.map +1 -0
- package/dist/bot/transport.js +252 -0
- package/dist/bot/transport.js.map +1 -0
- package/dist/bot/uploads.d.ts +42 -0
- package/dist/bot/uploads.d.ts.map +1 -0
- package/dist/bot/uploads.js +145 -0
- package/dist/bot/uploads.js.map +1 -0
- package/dist/client.d.ts +650 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +2836 -0
- package/dist/client.js.map +1 -0
- package/dist/commands/account.d.ts +3 -0
- package/dist/commands/account.d.ts.map +1 -0
- package/dist/commands/account.js +4 -0
- package/dist/commands/account.js.map +1 -0
- package/dist/commands/bot-comments.d.ts +3 -0
- package/dist/commands/bot-comments.d.ts.map +1 -0
- package/dist/commands/bot-comments.js +74 -0
- package/dist/commands/bot-comments.js.map +1 -0
- package/dist/commands/bot-context.d.ts +38 -0
- package/dist/commands/bot-context.d.ts.map +1 -0
- package/dist/commands/bot-context.js +121 -0
- package/dist/commands/bot-context.js.map +1 -0
- package/dist/commands/bot-members.d.ts +14 -0
- package/dist/commands/bot-members.d.ts.map +1 -0
- package/dist/commands/bot-members.js +64 -0
- package/dist/commands/bot-members.js.map +1 -0
- package/dist/commands/bot-messenger.d.ts +10 -0
- package/dist/commands/bot-messenger.d.ts.map +1 -0
- package/dist/commands/bot-messenger.js +101 -0
- package/dist/commands/bot-messenger.js.map +1 -0
- package/dist/commands/bot-reads.d.ts +4 -0
- package/dist/commands/bot-reads.d.ts.map +1 -0
- package/dist/commands/bot-reads.js +13 -0
- package/dist/commands/bot-reads.js.map +1 -0
- package/dist/commands/bot-sends.d.ts +13 -0
- package/dist/commands/bot-sends.d.ts.map +1 -0
- package/dist/commands/bot-sends.js +103 -0
- package/dist/commands/bot-sends.js.map +1 -0
- package/dist/commands/bot-setup.d.ts +3 -0
- package/dist/commands/bot-setup.d.ts.map +1 -0
- package/dist/commands/bot-setup.js +20 -0
- package/dist/commands/bot-setup.js.map +1 -0
- package/dist/commands/bot.d.ts +3 -0
- package/dist/commands/bot.d.ts.map +1 -0
- package/dist/commands/bot.js +60 -0
- package/dist/commands/bot.js.map +1 -0
- package/dist/commands/calls.d.ts +3 -0
- package/dist/commands/calls.d.ts.map +1 -0
- package/dist/commands/calls.js +4 -0
- package/dist/commands/calls.js.map +1 -0
- package/dist/commands/chats.d.ts +3 -0
- package/dist/commands/chats.d.ts.map +1 -0
- package/dist/commands/chats.js +46 -0
- package/dist/commands/chats.js.map +1 -0
- package/dist/commands/commands.d.ts +2 -0
- package/dist/commands/commands.d.ts.map +1 -0
- package/dist/commands/commands.js +4 -0
- package/dist/commands/commands.js.map +1 -0
- package/dist/commands/complete.d.ts +2 -0
- package/dist/commands/complete.d.ts.map +1 -0
- package/dist/commands/complete.js +34 -0
- package/dist/commands/complete.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +170 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/contacts.d.ts +10 -0
- package/dist/commands/contacts.d.ts.map +1 -0
- package/dist/commands/contacts.js +80 -0
- package/dist/commands/contacts.js.map +1 -0
- package/dist/commands/context.d.ts +126 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +137 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/doctor.d.ts +24 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +308 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/mcp.d.ts +36 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +214 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/messages.d.ts +3 -0
- package/dist/commands/messages.d.ts.map +1 -0
- package/dist/commands/messages.js +105 -0
- package/dist/commands/messages.js.map +1 -0
- package/dist/commands/models.d.ts +3 -0
- package/dist/commands/models.d.ts.map +1 -0
- package/dist/commands/models.js +4 -0
- package/dist/commands/models.js.map +1 -0
- package/dist/commands/paging.d.ts +59 -0
- package/dist/commands/paging.d.ts.map +1 -0
- package/dist/commands/paging.js +77 -0
- package/dist/commands/paging.js.map +1 -0
- package/dist/commands/recipients.d.ts +9 -0
- package/dist/commands/recipients.d.ts.map +1 -0
- package/dist/commands/recipients.js +74 -0
- package/dist/commands/recipients.js.map +1 -0
- package/dist/commands/runs.d.ts +2 -0
- package/dist/commands/runs.d.ts.map +1 -0
- package/dist/commands/runs.js +4 -0
- package/dist/commands/runs.js.map +1 -0
- package/dist/commands/sends.d.ts +3 -0
- package/dist/commands/sends.d.ts.map +1 -0
- package/dist/commands/sends.js +4 -0
- package/dist/commands/sends.js.map +1 -0
- package/dist/commands/serve-members.d.ts +14 -0
- package/dist/commands/serve-members.d.ts.map +1 -0
- package/dist/commands/serve-members.js +54 -0
- package/dist/commands/serve-members.js.map +1 -0
- package/dist/commands/serve-stems.d.ts +9 -0
- package/dist/commands/serve-stems.d.ts.map +1 -0
- package/dist/commands/serve-stems.js +26 -0
- package/dist/commands/serve-stems.js.map +1 -0
- package/dist/commands/serve.d.ts +10 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/commands/serve.js +79 -0
- package/dist/commands/serve.js.map +1 -0
- package/dist/commands/server.d.ts +16 -0
- package/dist/commands/server.d.ts.map +1 -0
- package/dist/commands/server.js +51 -0
- package/dist/commands/server.js.map +1 -0
- package/dist/commands/session.d.ts +15 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +169 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/setup.d.ts +3 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +168 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/skill.d.ts +3 -0
- package/dist/commands/skill.d.ts.map +1 -0
- package/dist/commands/skill.js +7 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/commands/stickers.d.ts +3 -0
- package/dist/commands/stickers.d.ts.map +1 -0
- package/dist/commands/stickers.js +4 -0
- package/dist/commands/stickers.js.map +1 -0
- package/dist/commands/upgrade.d.ts +2 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +14 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/watch.d.ts +27 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +105 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/config.d.ts +385 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +372 -0
- package/dist/config.js.map +1 -0
- package/dist/deadline.d.ts +2 -0
- package/dist/deadline.d.ts.map +1 -0
- package/dist/deadline.js +2 -0
- package/dist/deadline.js.map +1 -0
- package/dist/diagnose.d.ts +143 -0
- package/dist/diagnose.d.ts.map +1 -0
- package/dist/diagnose.js +183 -0
- package/dist/diagnose.js.map +1 -0
- package/dist/domain/map.d.ts +65 -0
- package/dist/domain/map.d.ts.map +1 -0
- package/dist/domain/map.js +431 -0
- package/dist/domain/map.js.map +1 -0
- package/dist/domain/models.d.ts +238 -0
- package/dist/domain/models.d.ts.map +1 -0
- package/dist/domain/models.js +17 -0
- package/dist/domain/models.js.map +1 -0
- package/dist/download.d.ts +38 -0
- package/dist/download.d.ts.map +1 -0
- package/dist/download.js +199 -0
- package/dist/download.js.map +1 -0
- package/dist/format-markdown.d.ts +13 -0
- package/dist/format-markdown.d.ts.map +1 -0
- package/dist/format-markdown.js +241 -0
- package/dist/format-markdown.js.map +1 -0
- package/dist/generated/client.generated.d.ts +95 -0
- package/dist/generated/client.generated.d.ts.map +1 -0
- package/dist/generated/client.generated.js +91 -0
- package/dist/generated/client.generated.js.map +1 -0
- package/dist/generated/opcodes.generated.d.ts +76 -0
- package/dist/generated/opcodes.generated.d.ts.map +1 -0
- package/dist/generated/opcodes.generated.js +76 -0
- package/dist/generated/opcodes.generated.js.map +1 -0
- package/dist/generated/operations.generated.d.ts +502 -0
- package/dist/generated/operations.generated.d.ts.map +1 -0
- package/dist/generated/operations.generated.js +72 -0
- package/dist/generated/operations.generated.js.map +1 -0
- package/dist/inbox-point.d.ts +3 -0
- package/dist/inbox-point.d.ts.map +1 -0
- package/dist/inbox-point.js +17 -0
- package/dist/inbox-point.js.map +1 -0
- package/dist/install/postinstall.d.ts +8 -0
- package/dist/install/postinstall.d.ts.map +1 -0
- package/dist/install/postinstall.js +62 -0
- package/dist/install/postinstall.js.map +1 -0
- package/dist/install.d.ts +43 -0
- package/dist/install.d.ts.map +1 -0
- package/dist/install.js +142 -0
- package/dist/install.js.map +1 -0
- package/dist/markdown.d.ts +13 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/markdown.js +6 -0
- package/dist/markdown.js.map +1 -0
- package/dist/mcp/instructions.d.ts +13 -0
- package/dist/mcp/instructions.d.ts.map +1 -0
- package/dist/mcp/instructions.js +16 -0
- package/dist/mcp/instructions.js.map +1 -0
- package/dist/mcp/legacy-check.d.ts +12 -0
- package/dist/mcp/legacy-check.d.ts.map +1 -0
- package/dist/mcp/legacy-check.js +44 -0
- package/dist/mcp/legacy-check.js.map +1 -0
- package/dist/mcp/photo.d.ts +9 -0
- package/dist/mcp/photo.d.ts.map +1 -0
- package/dist/mcp/photo.js +38 -0
- package/dist/mcp/photo.js.map +1 -0
- package/dist/mcp/prompts.d.ts +7 -0
- package/dist/mcp/prompts.d.ts.map +1 -0
- package/dist/mcp/prompts.js +100 -0
- package/dist/mcp/prompts.js.map +1 -0
- package/dist/mcp/resources.d.ts +15 -0
- package/dist/mcp/resources.d.ts.map +1 -0
- package/dist/mcp/resources.js +56 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/server.d.ts +31 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +116 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/session.d.ts +30 -0
- package/dist/mcp/session.d.ts.map +1 -0
- package/dist/mcp/session.js +109 -0
- package/dist/mcp/session.js.map +1 -0
- package/dist/mcp/shared.d.ts +14 -0
- package/dist/mcp/shared.d.ts.map +1 -0
- package/dist/mcp/shared.js +46 -0
- package/dist/mcp/shared.js.map +1 -0
- package/dist/mcp/tools.d.ts +30 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +248 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/messenger.d.ts +15 -0
- package/dist/messenger.d.ts.map +1 -0
- package/dist/messenger.js +149 -0
- package/dist/messenger.js.map +1 -0
- package/dist/moderation/check.d.ts +103 -0
- package/dist/moderation/check.d.ts.map +1 -0
- package/dist/moderation/check.js +273 -0
- package/dist/moderation/check.js.map +1 -0
- package/dist/moderation/points.d.ts +8 -0
- package/dist/moderation/points.d.ts.map +1 -0
- package/dist/moderation/points.js +21 -0
- package/dist/moderation/points.js.map +1 -0
- package/dist/moderation/rules.d.ts +7 -0
- package/dist/moderation/rules.d.ts.map +1 -0
- package/dist/moderation/rules.js +24 -0
- package/dist/moderation/rules.js.map +1 -0
- package/dist/online.d.ts +23 -0
- package/dist/online.d.ts.map +1 -0
- package/dist/online.js +87 -0
- package/dist/online.js.map +1 -0
- package/dist/output.d.ts +2 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +2 -0
- package/dist/output.js.map +1 -0
- package/dist/permissions.d.ts +20 -0
- package/dist/permissions.d.ts.map +1 -0
- package/dist/permissions.js +76 -0
- package/dist/permissions.js.map +1 -0
- package/dist/profile.d.ts +33 -0
- package/dist/profile.d.ts.map +1 -0
- package/dist/profile.js +60 -0
- package/dist/profile.js.map +1 -0
- package/dist/program.d.ts +10 -0
- package/dist/program.d.ts.map +1 -0
- package/dist/program.js +172 -0
- package/dist/program.js.map +1 -0
- package/dist/protocol/connection.d.ts +83 -0
- package/dist/protocol/connection.d.ts.map +1 -0
- package/dist/protocol/connection.js +301 -0
- package/dist/protocol/connection.js.map +1 -0
- package/dist/protocol/frame.d.ts +55 -0
- package/dist/protocol/frame.d.ts.map +1 -0
- package/dist/protocol/frame.js +149 -0
- package/dist/protocol/frame.js.map +1 -0
- package/dist/protocol/lz4.d.ts +15 -0
- package/dist/protocol/lz4.d.ts.map +1 -0
- package/dist/protocol/lz4.js +157 -0
- package/dist/protocol/lz4.js.map +1 -0
- package/dist/record.d.ts +41 -0
- package/dist/record.d.ts.map +1 -0
- package/dist/record.js +104 -0
- package/dist/record.js.map +1 -0
- package/dist/rendering/messages.d.ts +24 -0
- package/dist/rendering/messages.d.ts.map +1 -0
- package/dist/rendering/messages.js +172 -0
- package/dist/rendering/messages.js.map +1 -0
- package/dist/report.d.ts +43 -0
- package/dist/report.d.ts.map +1 -0
- package/dist/report.js +104 -0
- package/dist/report.js.map +1 -0
- package/dist/resolve.d.ts +6 -0
- package/dist/resolve.d.ts.map +1 -0
- package/dist/resolve.js +5 -0
- package/dist/resolve.js.map +1 -0
- package/dist/sends.d.ts +17 -0
- package/dist/sends.d.ts.map +1 -0
- package/dist/sends.js +97 -0
- package/dist/sends.js.map +1 -0
- package/dist/server/lines.d.ts +23 -0
- package/dist/server/lines.d.ts.map +1 -0
- package/dist/server/lines.js +56 -0
- package/dist/server/lines.js.map +1 -0
- package/dist/server/replies.d.ts +31 -0
- package/dist/server/replies.d.ts.map +1 -0
- package/dist/server/replies.js +95 -0
- package/dist/server/replies.js.map +1 -0
- package/dist/server/server-connection.d.ts +55 -0
- package/dist/server/server-connection.d.ts.map +1 -0
- package/dist/server/server-connection.js +245 -0
- package/dist/server/server-connection.js.map +1 -0
- package/dist/server/server.d.ts +88 -0
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/server.js +634 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/start.d.ts +37 -0
- package/dist/server/start.d.ts.map +1 -0
- package/dist/server/start.js +102 -0
- package/dist/server/start.js.map +1 -0
- package/dist/server/subscribe.d.ts +9 -0
- package/dist/server/subscribe.d.ts.map +1 -0
- package/dist/server/subscribe.js +26 -0
- package/dist/server/subscribe.js.map +1 -0
- package/dist/session/adopt.d.ts +22 -0
- package/dist/session/adopt.d.ts.map +1 -0
- package/dist/session/adopt.js +34 -0
- package/dist/session/adopt.js.map +1 -0
- package/dist/session/browser.d.ts +55 -0
- package/dist/session/browser.d.ts.map +1 -0
- package/dist/session/browser.js +321 -0
- package/dist/session/browser.js.map +1 -0
- package/dist/session/handshake.d.ts +57 -0
- package/dist/session/handshake.d.ts.map +1 -0
- package/dist/session/handshake.js +40 -0
- package/dist/session/handshake.js.map +1 -0
- package/dist/session/login.d.ts +20 -0
- package/dist/session/login.d.ts.map +1 -0
- package/dist/session/login.js +66 -0
- package/dist/session/login.js.map +1 -0
- package/dist/session/prompt.d.ts +2 -0
- package/dist/session/prompt.d.ts.map +1 -0
- package/dist/session/prompt.js +2 -0
- package/dist/session/prompt.js.map +1 -0
- package/dist/session/qr-terminal.d.ts +9 -0
- package/dist/session/qr-terminal.d.ts.map +1 -0
- package/dist/session/qr-terminal.js +34 -0
- package/dist/session/qr-terminal.js.map +1 -0
- package/dist/session/store.d.ts +76 -0
- package/dist/session/store.d.ts.map +1 -0
- package/dist/session/store.js +134 -0
- package/dist/session/store.js.map +1 -0
- package/dist/skill.d.ts +7 -0
- package/dist/skill.d.ts.map +1 -0
- package/dist/skill.js +8 -0
- package/dist/skill.js.map +1 -0
- package/dist/spec/check.d.ts +16 -0
- package/dist/spec/check.d.ts.map +1 -0
- package/dist/spec/check.js +44 -0
- package/dist/spec/check.js.map +1 -0
- package/dist/spec/define.d.ts +108 -0
- package/dist/spec/define.d.ts.map +1 -0
- package/dist/spec/define.js +47 -0
- package/dist/spec/define.js.map +1 -0
- package/dist/spec/guards.d.ts +16 -0
- package/dist/spec/guards.d.ts.map +1 -0
- package/dist/spec/guards.js +30 -0
- package/dist/spec/guards.js.map +1 -0
- package/dist/spec/identity.d.ts +57 -0
- package/dist/spec/identity.d.ts.map +1 -0
- package/dist/spec/identity.js +53 -0
- package/dist/spec/identity.js.map +1 -0
- package/dist/spec/index.d.ts +15 -0
- package/dist/spec/index.d.ts.map +1 -0
- package/dist/spec/index.js +84 -0
- package/dist/spec/index.js.map +1 -0
- package/dist/spec/operations/account.d.ts +39 -0
- package/dist/spec/operations/account.d.ts.map +1 -0
- package/dist/spec/operations/account.js +103 -0
- package/dist/spec/operations/account.js.map +1 -0
- package/dist/spec/operations/assets.d.ts +17 -0
- package/dist/spec/operations/assets.d.ts.map +1 -0
- package/dist/spec/operations/assets.js +43 -0
- package/dist/spec/operations/assets.js.map +1 -0
- package/dist/spec/operations/attachments.d.ts +15 -0
- package/dist/spec/operations/attachments.d.ts.map +1 -0
- package/dist/spec/operations/attachments.js +40 -0
- package/dist/spec/operations/attachments.js.map +1 -0
- package/dist/spec/operations/banners.d.ts +7 -0
- package/dist/spec/operations/banners.d.ts.map +1 -0
- package/dist/spec/operations/banners.js +16 -0
- package/dist/spec/operations/banners.js.map +1 -0
- package/dist/spec/operations/calls.d.ts +8 -0
- package/dist/spec/operations/calls.d.ts.map +1 -0
- package/dist/spec/operations/calls.js +25 -0
- package/dist/spec/operations/calls.js.map +1 -0
- package/dist/spec/operations/chats.d.ts +115 -0
- package/dist/spec/operations/chats.d.ts.map +1 -0
- package/dist/spec/operations/chats.js +331 -0
- package/dist/spec/operations/chats.js.map +1 -0
- package/dist/spec/operations/contacts.d.ts +39 -0
- package/dist/spec/operations/contacts.d.ts.map +1 -0
- package/dist/spec/operations/contacts.js +135 -0
- package/dist/spec/operations/contacts.js.map +1 -0
- package/dist/spec/operations/folders.d.ts +31 -0
- package/dist/spec/operations/folders.d.ts.map +1 -0
- package/dist/spec/operations/folders.js +94 -0
- package/dist/spec/operations/folders.js.map +1 -0
- package/dist/spec/operations/login.d.ts +64 -0
- package/dist/spec/operations/login.d.ts.map +1 -0
- package/dist/spec/operations/login.js +105 -0
- package/dist/spec/operations/login.js.map +1 -0
- package/dist/spec/operations/messages.d.ts +142 -0
- package/dist/spec/operations/messages.d.ts.map +1 -0
- package/dist/spec/operations/messages.js +347 -0
- package/dist/spec/operations/messages.js.map +1 -0
- package/dist/spec/operations/session.d.ts +120 -0
- package/dist/spec/operations/session.d.ts.map +1 -0
- package/dist/spec/operations/session.js +202 -0
- package/dist/spec/operations/session.js.map +1 -0
- package/dist/spec/operations/uploads.d.ts +31 -0
- package/dist/spec/operations/uploads.d.ts.map +1 -0
- package/dist/spec/operations/uploads.js +59 -0
- package/dist/spec/operations/uploads.js.map +1 -0
- package/dist/spec/scalars.d.ts +17 -0
- package/dist/spec/scalars.d.ts.map +1 -0
- package/dist/spec/scalars.js +33 -0
- package/dist/spec/scalars.js.map +1 -0
- package/dist/transcribe/index.d.ts +70 -0
- package/dist/transcribe/index.d.ts.map +1 -0
- package/dist/transcribe/index.js +127 -0
- package/dist/transcribe/index.js.map +1 -0
- package/dist/transcribe/install.d.ts +2 -0
- package/dist/transcribe/install.d.ts.map +1 -0
- package/dist/transcribe/install.js +2 -0
- package/dist/transcribe/install.js.map +1 -0
- package/dist/transcribe/models.d.ts +5 -0
- package/dist/transcribe/models.d.ts.map +1 -0
- package/dist/transcribe/models.js +6 -0
- package/dist/transcribe/models.js.map +1 -0
- package/dist/transcribe/speech.d.ts +25 -0
- package/dist/transcribe/speech.d.ts.map +1 -0
- package/dist/transcribe/speech.js +107 -0
- package/dist/transcribe/speech.js.map +1 -0
- package/dist/update.d.ts +31 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +69 -0
- package/dist/update.js.map +1 -0
- package/dist/upload.d.ts +15 -0
- package/dist/upload.d.ts.map +1 -0
- package/dist/upload.js +97 -0
- package/dist/upload.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/dist/voice.d.ts +9 -0
- package/dist/voice.d.ts.map +1 -0
- package/dist/voice.js +36 -0
- package/dist/voice.js.map +1 -0
- package/dist/wire-events.d.ts +23 -0
- package/dist/wire-events.d.ts.map +1 -0
- package/dist/wire-events.js +47 -0
- package/dist/wire-events.js.map +1 -0
- package/install/postinstall.mjs +3 -0
- package/install/windows.ps1 +160 -0
- package/package.json +119 -2
- package/skills/max-cli/SKILL.md +518 -0
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { CliError } from "@wirecat/cli-core";
|
|
2
|
+
import { AI_SETTING_KEYS, personalMcpCommand, personalMcpToolKey, personalMcpTools, registerPersonalMcpSurface, rememberAccount, stored, } from "@wirecat/cli-messaging/cli";
|
|
3
|
+
import { levelFor } from "@wirecat/cli-messaging/sends";
|
|
4
|
+
import { openStore } from "@wirecat/cli-messaging/store";
|
|
5
|
+
import * as v from "valibot";
|
|
6
|
+
import { maxAdapter } from "../adapter/max-adapter.js";
|
|
7
|
+
import { MAX_APP } from "../app.js";
|
|
8
|
+
import { resolveSettings } from "../config.js";
|
|
9
|
+
import { maxMessenger } from "../messenger.js";
|
|
10
|
+
import { migrateModerationPoints } from "../moderation/points.js";
|
|
11
|
+
import { assertReadable, withPermissionApproval } from "../permissions.js";
|
|
12
|
+
import { maxRecord } from "../record.js";
|
|
13
|
+
import { transcribe } from "../transcribe/index.js";
|
|
14
|
+
import { modelsDirectory } from "../transcribe/install.js";
|
|
15
|
+
import { DEFAULT_MODEL, speechModel } from "../transcribe/models.js";
|
|
16
|
+
import { legacyCheckTool } from "./legacy-check.js";
|
|
17
|
+
import { photoForMcp } from "./photo.js";
|
|
18
|
+
import { withShared } from "./shared.js";
|
|
19
|
+
const PASS = { check: () => { }, record: () => { } };
|
|
20
|
+
const READ = { readOnlyHint: true, destructiveHint: false, openWorldHint: true };
|
|
21
|
+
export const registerTools = (server, session, { store, defaultLimit, history, profile, permission, transcribeModel = DEFAULT_MODEL, warn = () => { }, reach, embedders, }) => {
|
|
22
|
+
const settings = () => resolveSettings({ profile, permission });
|
|
23
|
+
const adapters = new WeakMap();
|
|
24
|
+
const definitions = personalMcpTools(maxMessenger);
|
|
25
|
+
for (const name of Object.keys(definitions))
|
|
26
|
+
if (name.startsWith("topics_"))
|
|
27
|
+
delete definitions[name];
|
|
28
|
+
const rules = definitions.chats_rules_show;
|
|
29
|
+
if (rules)
|
|
30
|
+
definitions.chats_rules = { ...rules, key: "chats.rules.show" };
|
|
31
|
+
const keyOf = (name, definition) => name === "status" ? null : (personalMcpToolKey(name, definition) ?? "messages");
|
|
32
|
+
const writable = (name, definition) => {
|
|
33
|
+
const key = keyOf(name, definition);
|
|
34
|
+
if (key === null)
|
|
35
|
+
return null;
|
|
36
|
+
const own = settings();
|
|
37
|
+
assertReadable(own, key);
|
|
38
|
+
if (definition.annotations.readOnlyHint !== true && levelFor(own.permissions, key).level === "readonly")
|
|
39
|
+
throw new CliError("permission_error", `profile ${profile} does not let ${key} write`, { permission: key });
|
|
40
|
+
return key;
|
|
41
|
+
};
|
|
42
|
+
const inScope = (name, definition, work) => {
|
|
43
|
+
const key = writable(name, definition);
|
|
44
|
+
if (key === null)
|
|
45
|
+
return work();
|
|
46
|
+
if (key === "chats.moderate")
|
|
47
|
+
migrateModerationPoints(store);
|
|
48
|
+
return withPermissionApproval(key, () => key === "chats.moderate"
|
|
49
|
+
? withPermissionApproval("messages.delete", () => withPermissionApproval("chats.members.remove", work))
|
|
50
|
+
: work());
|
|
51
|
+
};
|
|
52
|
+
const remember = () => {
|
|
53
|
+
const account = store.readState().viewerId;
|
|
54
|
+
if (!account)
|
|
55
|
+
return;
|
|
56
|
+
try {
|
|
57
|
+
rememberAccount(MAX_APP, profile, account, process.env);
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
// A secondary local binding must not replace a successful send or prevent store cleanup.
|
|
61
|
+
warn("could not remember the account for local archive tools");
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
const adapterFor = (client) => {
|
|
65
|
+
const adapter = maxAdapter(client, store, reach, warn);
|
|
66
|
+
adapters.set(adapter, client);
|
|
67
|
+
return adapter;
|
|
68
|
+
};
|
|
69
|
+
const offered = Object.fromEntries(Object.entries(definitions).filter(([name, definition]) => {
|
|
70
|
+
const key = keyOf(name, definition);
|
|
71
|
+
const level = key === null ? "allow" : levelFor(settings().permissions, key).level;
|
|
72
|
+
return level !== "deny" && (definition.annotations.readOnlyHint === true || level !== "readonly");
|
|
73
|
+
}));
|
|
74
|
+
const direct = offered.messages_transcribe;
|
|
75
|
+
const picture = offered.messages_photo;
|
|
76
|
+
if (picture)
|
|
77
|
+
offered.messages_photo = {
|
|
78
|
+
...picture,
|
|
79
|
+
online: (adapter, args) => {
|
|
80
|
+
const client = adapters.get(adapter);
|
|
81
|
+
if (!client)
|
|
82
|
+
throw new Error("MAX photo preview requires its held adapter");
|
|
83
|
+
return photoForMcp(client, {
|
|
84
|
+
chat: String(args.chat),
|
|
85
|
+
message: String(args.message),
|
|
86
|
+
...(typeof args.index === "number" ? { index: args.index } : {}),
|
|
87
|
+
}, reach);
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
if (direct)
|
|
91
|
+
offered.messages_transcribe = {
|
|
92
|
+
...direct,
|
|
93
|
+
description: "A MAX voice message as text on this machine. Reuses a retained transcript from the same model; never downloads a model. Returns { messageId, text, model, cached? }.",
|
|
94
|
+
online: async (adapter, args, defaults) => {
|
|
95
|
+
const client = adapters.get(adapter);
|
|
96
|
+
if (!client)
|
|
97
|
+
throw new Error("MAX transcription requires its held adapter");
|
|
98
|
+
const message = String(args.message);
|
|
99
|
+
if (!/^\d+$/.test(message))
|
|
100
|
+
throw new CliError("validation_error", "MAX message IDs must be decimal strings");
|
|
101
|
+
const chatId = await client.chats.resolve(String(args.chat));
|
|
102
|
+
const model = speechModel(typeof args.model === "string" ? args.model : transcribeModel);
|
|
103
|
+
const record = maxRecord({ account: () => store.readState().viewerId });
|
|
104
|
+
try {
|
|
105
|
+
const kept = await record.transcript(chatId, message);
|
|
106
|
+
if (kept?.source === model.id)
|
|
107
|
+
return { messageId: message, text: kept.text, model: model.id, cached: true };
|
|
108
|
+
return await transcribe(client, chatId, message, {
|
|
109
|
+
model,
|
|
110
|
+
directory: modelsDirectory(),
|
|
111
|
+
record,
|
|
112
|
+
...(defaults.release ? { release: defaults.release } : {}),
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
finally {
|
|
116
|
+
await record.close();
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
for (const [name, definition] of Object.entries(offered)) {
|
|
121
|
+
if (!definition._meta)
|
|
122
|
+
continue;
|
|
123
|
+
const metadata = { ...definition._meta };
|
|
124
|
+
delete metadata["anthropic/requiresUserInteraction"];
|
|
125
|
+
offered[name] = { ...definition, _meta: metadata };
|
|
126
|
+
}
|
|
127
|
+
const moderation = definitions.chats_moderate;
|
|
128
|
+
const level = levelFor(settings().permissions, "chats.moderate").level;
|
|
129
|
+
if (moderation && ["allow", "ask"].includes(level))
|
|
130
|
+
offered.chats_check = legacyCheckTool(session, {
|
|
131
|
+
store,
|
|
132
|
+
profile,
|
|
133
|
+
allowDangerous: false,
|
|
134
|
+
yes: true,
|
|
135
|
+
confirmSend: false,
|
|
136
|
+
scope: (work) => inScope("chats_moderate", moderation, work),
|
|
137
|
+
});
|
|
138
|
+
offered.status = {
|
|
139
|
+
title: "This server's profile and login",
|
|
140
|
+
description: "The profile, known account and offered writes. Reads local state only; never connects or prints a token.",
|
|
141
|
+
key: null,
|
|
142
|
+
input: v.strictObject({}),
|
|
143
|
+
annotations: { ...READ, idempotentHint: true },
|
|
144
|
+
local: async () => {
|
|
145
|
+
const account = store.readState().viewerId ?? null;
|
|
146
|
+
let token;
|
|
147
|
+
try {
|
|
148
|
+
token = store.tokenSource() ?? "none";
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
token = "unreachable";
|
|
152
|
+
}
|
|
153
|
+
return {
|
|
154
|
+
profile,
|
|
155
|
+
account,
|
|
156
|
+
viewerId: account,
|
|
157
|
+
kind: store.isBot() ? "personal + bot" : "personal",
|
|
158
|
+
token,
|
|
159
|
+
loggedInHere: store.hasLoggedIn(),
|
|
160
|
+
hasToken: store.readToken() !== undefined,
|
|
161
|
+
hasLoggedIn: account !== null,
|
|
162
|
+
writes: [
|
|
163
|
+
...Object.entries(offered)
|
|
164
|
+
.filter(([, one]) => one.annotations.readOnlyHint !== true)
|
|
165
|
+
.map(([name]) => personalMcpCommand(name)),
|
|
166
|
+
],
|
|
167
|
+
permissions: settings().permissions,
|
|
168
|
+
};
|
|
169
|
+
},
|
|
170
|
+
};
|
|
171
|
+
const currentSettings = settings();
|
|
172
|
+
const ai = Object.fromEntries(AI_SETTING_KEYS.map((key) => [key, currentSettings[key]]));
|
|
173
|
+
registerPersonalMcpSurface(server, offered, {
|
|
174
|
+
command: "max",
|
|
175
|
+
messenger: maxMessenger,
|
|
176
|
+
defaults: {
|
|
177
|
+
limit: defaultLimit,
|
|
178
|
+
history: history ?? settings().keepFailedRuns,
|
|
179
|
+
guard: PASS,
|
|
180
|
+
settings: {
|
|
181
|
+
...ai,
|
|
182
|
+
profile,
|
|
183
|
+
searchCatchUp: currentSettings.searchCatchUp,
|
|
184
|
+
configured: ai,
|
|
185
|
+
shared: { ...ai, speechModel: transcribeModel },
|
|
186
|
+
get permissions() {
|
|
187
|
+
return settings().permissions;
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
env: process.env,
|
|
191
|
+
...(embedders ? { embedders } : {}),
|
|
192
|
+
},
|
|
193
|
+
around: inScope,
|
|
194
|
+
session: {
|
|
195
|
+
use: (name, work) => session.use(name, async (client, release) => {
|
|
196
|
+
let opened;
|
|
197
|
+
const account = {
|
|
198
|
+
provider: "max",
|
|
199
|
+
get account() {
|
|
200
|
+
const id = store.readState().viewerId;
|
|
201
|
+
if (!id)
|
|
202
|
+
throw new CliError("authentication_error", `no MAX account known for profile ${profile}`);
|
|
203
|
+
return id;
|
|
204
|
+
},
|
|
205
|
+
};
|
|
206
|
+
const adapter = stored(adapterFor(client), {
|
|
207
|
+
account,
|
|
208
|
+
store: () => (opened ??= openStore()),
|
|
209
|
+
warn,
|
|
210
|
+
events: () => { },
|
|
211
|
+
});
|
|
212
|
+
adapters.set(adapter, client);
|
|
213
|
+
try {
|
|
214
|
+
return await work(adapter, release);
|
|
215
|
+
}
|
|
216
|
+
finally {
|
|
217
|
+
remember();
|
|
218
|
+
if (opened)
|
|
219
|
+
await opened.then((store) => store.close(), () => { });
|
|
220
|
+
}
|
|
221
|
+
}),
|
|
222
|
+
},
|
|
223
|
+
withStore: (work, { name }) => session.local(name, async () => {
|
|
224
|
+
const account = store.readState().viewerId;
|
|
225
|
+
if (!account)
|
|
226
|
+
throw new CliError("authentication_error", `no MAX account known for profile ${profile}`);
|
|
227
|
+
const opened = await openStore();
|
|
228
|
+
try {
|
|
229
|
+
return await work(opened, { provider: "max", account });
|
|
230
|
+
}
|
|
231
|
+
finally {
|
|
232
|
+
await opened.close();
|
|
233
|
+
}
|
|
234
|
+
}),
|
|
235
|
+
withServices: (work, { name }) => session.use(name, (client, release) => withShared(client, { store, profile, warn }, async (services) => {
|
|
236
|
+
remember();
|
|
237
|
+
return work(services, async (read) => {
|
|
238
|
+
try {
|
|
239
|
+
return await read(adapterFor(client));
|
|
240
|
+
}
|
|
241
|
+
finally {
|
|
242
|
+
await release();
|
|
243
|
+
}
|
|
244
|
+
});
|
|
245
|
+
}, name === "mcp messages link" ? { reads: "store" } : { login: true })),
|
|
246
|
+
});
|
|
247
|
+
};
|
|
248
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Messenger } from "@wirecat/cli-messaging/cli";
|
|
2
|
+
import type { SendGuard } from "@wirecat/cli-messaging/sends";
|
|
3
|
+
import type { Command } from "commander";
|
|
4
|
+
/**
|
|
5
|
+
* Over `max serve` the server reserves and journals each write it forwards, with the outcome it saw;
|
|
6
|
+
* the command checks too, and records only what it refused itself (`NEED-269`).
|
|
7
|
+
*/
|
|
8
|
+
export declare const overServer: (guard: SendGuard, server: () => {
|
|
9
|
+
readonly journals: boolean;
|
|
10
|
+
} | undefined) => SendGuard;
|
|
11
|
+
/** One subcommand of a shared command group, to sit among max's own. */
|
|
12
|
+
export declare const sharedSubcommand: (group: Command, name: string) => Command;
|
|
13
|
+
/** What cli-messaging's shared commands and services need from max, for the personal account. */
|
|
14
|
+
export declare const maxMessenger: Messenger;
|
|
15
|
+
//# sourceMappingURL=messenger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messenger.d.ts","sourceRoot":"","sources":["../src/messenger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,SAAS,EAA4B,MAAM,4BAA4B,CAAA;AAElG,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAE3E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAgBxC;;;GAGG;AACH,eAAO,MAAM,UAAU,UAAW,SAAS,UAAU,MAAM;IAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,KAAG,SAUvG,CAAA;AAED,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,UAAW,OAAO,QAAQ,MAAM,KAAG,OAI/D,CAAA;AAED,iGAAiG;AACjG,eAAO,MAAM,YAAY,EAAE,SA0H1B,CAAA"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { AI_SETTING_KEYS } from "@wirecat/cli-messaging/cli";
|
|
2
|
+
import { moderationService } from "@wirecat/cli-messaging/services";
|
|
3
|
+
import { maxAdapter } from "./adapter/max-adapter.js";
|
|
4
|
+
import { MAX_APP } from "./app.js";
|
|
5
|
+
import { environmentOf, forCommand } from "./commands/context.js";
|
|
6
|
+
import { resolveSettings } from "./config.js";
|
|
7
|
+
import { migrateModerationPoints } from "./moderation/points.js";
|
|
8
|
+
import { askerFor, assertReadable, commandPermission, permissionKeyOf } from "./permissions.js";
|
|
9
|
+
import { rootOf } from "./profile.js";
|
|
10
|
+
import { maxRecord } from "./record.js";
|
|
11
|
+
import { guardFor } from "./sends.js";
|
|
12
|
+
import { SPEECH_MODELS } from "./transcribe/models.js";
|
|
13
|
+
/** The client each command connected, so its guard can tell whether `max serve` journals for it. */
|
|
14
|
+
const clients = new WeakMap();
|
|
15
|
+
/**
|
|
16
|
+
* Over `max serve` the server reserves and journals each write it forwards, with the outcome it saw;
|
|
17
|
+
* the command checks too, and records only what it refused itself (`NEED-269`).
|
|
18
|
+
*/
|
|
19
|
+
export const overServer = (guard, server) => {
|
|
20
|
+
const ask = guard.ask;
|
|
21
|
+
return {
|
|
22
|
+
...(ask ? { ask: (request) => ask.call(guard, request) } : {}),
|
|
23
|
+
check: (request) => guard.check(request, server() ? { reserve: false } : {}),
|
|
24
|
+
record: (entry) => {
|
|
25
|
+
const through = server();
|
|
26
|
+
if (!through || entry.outcome === "refused" || !through.journals)
|
|
27
|
+
guard.record(entry);
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
/** One subcommand of a shared command group, to sit among max's own. */
|
|
32
|
+
export const sharedSubcommand = (group, name) => {
|
|
33
|
+
const found = group.commands.find((one) => one.name() === name);
|
|
34
|
+
if (!found)
|
|
35
|
+
throw new Error(`cli-messaging's ${group.name()} has no ${name}`);
|
|
36
|
+
return found;
|
|
37
|
+
};
|
|
38
|
+
/** What cli-messaging's shared commands and services need from max, for the personal account. */
|
|
39
|
+
export const maxMessenger = {
|
|
40
|
+
inviteLinkList: false,
|
|
41
|
+
inviteLinkRevoke: false,
|
|
42
|
+
folderJoin: false,
|
|
43
|
+
groupPhoto: true,
|
|
44
|
+
chatMedia: true,
|
|
45
|
+
privacy: true,
|
|
46
|
+
chatMute: true,
|
|
47
|
+
chatDeletion: true,
|
|
48
|
+
personalBots: true,
|
|
49
|
+
stickers: true,
|
|
50
|
+
app: MAX_APP,
|
|
51
|
+
provider: "max",
|
|
52
|
+
counterFields: ["views", "reactions"],
|
|
53
|
+
name: "MAX",
|
|
54
|
+
chatArgument: "a chat: its id, or part of its title",
|
|
55
|
+
partnerOf: (chat) => chat.kind === "dialog" && typeof chat.providerMetadata?.partnerId === "string"
|
|
56
|
+
? chat.providerMetadata.partnerId
|
|
57
|
+
: undefined,
|
|
58
|
+
speechModels: SPEECH_MODELS,
|
|
59
|
+
// As web.max.ru pages a chat scrolled up: 30 back from the oldest shown (`RES-9`), a person's 5–10 s
|
|
60
|
+
// apart (`NEED-216` A). MAX's ids pass 2^53, so held stretches are kept by send time.
|
|
61
|
+
fetching: { page: 30, pause: "5s", jitter: true, maxPages: 40, orderBy: "time", beforeInclusive: true },
|
|
62
|
+
// A tab makes a handful of requests at a time, then one every few seconds; MAX's limits are unpublished.
|
|
63
|
+
pace: { perMinute: 20, burst: 10 },
|
|
64
|
+
permissionKey: permissionKeyOf,
|
|
65
|
+
tracksMembers: true,
|
|
66
|
+
// Opcode 73 answers in one chat only (measured 2026-10-07).
|
|
67
|
+
serverSearch: "chat",
|
|
68
|
+
guard: (command, { profile }, warn) => {
|
|
69
|
+
const client = () => clients.get(rootOf(command));
|
|
70
|
+
const guard = overServer(guardFor(resolveSettings({ profile }), warn, askerFor(command.optsWithGlobals(), environmentOf(command)), commandPermission(command) ?? undefined), () => client()?.server);
|
|
71
|
+
return {
|
|
72
|
+
...guard,
|
|
73
|
+
record: (entry) => {
|
|
74
|
+
const applied = client()?.takeApplied(entry.operationId) === true;
|
|
75
|
+
// MAX can acknowledge the closure before the token save or follow-up session read fails.
|
|
76
|
+
if (applied && (entry.outcome === "failed" || entry.outcome === "outcome_unknown")) {
|
|
77
|
+
const { errorCode: _errorCode, ...done } = entry;
|
|
78
|
+
guard.record({ ...done, outcome: "sent" });
|
|
79
|
+
}
|
|
80
|
+
else
|
|
81
|
+
guard.record(entry);
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
},
|
|
85
|
+
resolveSettings: (flags, options = {}) => {
|
|
86
|
+
const { profile, offline, ...rest } = flags;
|
|
87
|
+
const own = resolveSettings({ ...rest, ...(profile === undefined ? {} : { profile }) }, {
|
|
88
|
+
...(options.env === undefined ? {} : { env: options.env }),
|
|
89
|
+
...(options.configDir === undefined ? {} : { configDir: options.configDir }),
|
|
90
|
+
});
|
|
91
|
+
return {
|
|
92
|
+
...own,
|
|
93
|
+
offline: offline === true,
|
|
94
|
+
configured: Object.fromEntries(AI_SETTING_KEYS.map((key) => [key, own[key]])),
|
|
95
|
+
// The shared hearing reads its model as `speechModel`; max's setting is `transcribeModel`.
|
|
96
|
+
shared: {
|
|
97
|
+
...Object.fromEntries(AI_SETTING_KEYS.map((key) => [key, own[key]])),
|
|
98
|
+
speechModel: own.transcribeModel,
|
|
99
|
+
},
|
|
100
|
+
permissions: own.permissions,
|
|
101
|
+
permissionSources: own.permissionSources,
|
|
102
|
+
};
|
|
103
|
+
},
|
|
104
|
+
services: (_base, deps) => ({
|
|
105
|
+
moderation: moderationService({
|
|
106
|
+
...deps,
|
|
107
|
+
connection: async () => {
|
|
108
|
+
const adapter = await deps.connection();
|
|
109
|
+
return new Proxy(adapter, {
|
|
110
|
+
get: (target, key, receiver) => key === "resolve" ? (reference) => target.chat(reference) : Reflect.get(target, key, receiver),
|
|
111
|
+
});
|
|
112
|
+
},
|
|
113
|
+
}),
|
|
114
|
+
}),
|
|
115
|
+
connect: async (command, context, { events } = {}) => {
|
|
116
|
+
const { createClient, store, reach, settings } = forCommand(command);
|
|
117
|
+
if (command.name() === "moderate")
|
|
118
|
+
migrateModerationPoints(store, context.env);
|
|
119
|
+
const record = maxRecord({ account: () => store.readState().viewerId, env: context.env });
|
|
120
|
+
try {
|
|
121
|
+
const client = createClient({
|
|
122
|
+
sends: "caller",
|
|
123
|
+
reads: (key) => assertReadable(settings, commandPermission(command) ?? key),
|
|
124
|
+
record,
|
|
125
|
+
...(events ? { events } : {}),
|
|
126
|
+
});
|
|
127
|
+
clients.set(rootOf(command), client);
|
|
128
|
+
const adapter = maxAdapter(client, store, reach, (message) => context.renderer.note(message), {
|
|
129
|
+
reactions: command.name() !== "moderate",
|
|
130
|
+
});
|
|
131
|
+
return {
|
|
132
|
+
...adapter,
|
|
133
|
+
close: async () => {
|
|
134
|
+
try {
|
|
135
|
+
await adapter.close();
|
|
136
|
+
}
|
|
137
|
+
finally {
|
|
138
|
+
await record.close();
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
await record.close();
|
|
145
|
+
throw error;
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=messenger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messenger.js","sourceRoot":"","sources":["../src/messenger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { MaxClient } from "../client.js";
|
|
2
|
+
import type { GroupMember, Id, Message } from "../domain/models.js";
|
|
3
|
+
import { moderationPoints } from "./points.js";
|
|
4
|
+
import { type GroupRules } from "./rules.js";
|
|
5
|
+
export type Action = "report" | "delete" | "remove";
|
|
6
|
+
export type Outcome = "reported" | "done" | "planned" | "forbidden" | "declined" | "refused" | "failed" | "skipped";
|
|
7
|
+
export interface Finding {
|
|
8
|
+
/** A message, or somebody who joined. */
|
|
9
|
+
kind: "message" | "member";
|
|
10
|
+
rule: "blocked" | "invites" | "links" | "forwards" | "flood" | "newAccount";
|
|
11
|
+
personId: Id;
|
|
12
|
+
personName: string | null;
|
|
13
|
+
messageId?: Id;
|
|
14
|
+
action: Action;
|
|
15
|
+
}
|
|
16
|
+
export interface CheckRow extends Finding {
|
|
17
|
+
outcome: Outcome;
|
|
18
|
+
reason?: string;
|
|
19
|
+
/** What the owner types to do it by hand, on a row that was not done. */
|
|
20
|
+
command?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface CheckInput {
|
|
23
|
+
rules: GroupRules;
|
|
24
|
+
messages: Message[];
|
|
25
|
+
joined: GroupMember[];
|
|
26
|
+
/** The owner's admins; the owner's own messages are known by `outgoing`. */
|
|
27
|
+
answerers: ReadonlySet<Id>;
|
|
28
|
+
now: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* What the rules say about what is new. Pure: nothing here talks to MAX. One finding per message —
|
|
32
|
+
* the rule with the strongest action — and one removal per person, whatever else they did.
|
|
33
|
+
*/
|
|
34
|
+
export declare const judge: ({ rules, messages, joined, answerers, now }: CheckInput) => Finding[];
|
|
35
|
+
export interface ActOptions {
|
|
36
|
+
chatId: Id;
|
|
37
|
+
rules: GroupRules;
|
|
38
|
+
/** `--allow-dangerous` on this run: what `flag` asks for. */
|
|
39
|
+
allowDangerous: boolean;
|
|
40
|
+
dryRun: boolean;
|
|
41
|
+
maxActions: number;
|
|
42
|
+
/** Asks the owner about one action; `undefined` when nobody is there to ask. */
|
|
43
|
+
confirm?: (finding: Finding) => Promise<boolean>;
|
|
44
|
+
}
|
|
45
|
+
/** The two things a check may do, whoever does them: the personal account, or a bot. */
|
|
46
|
+
export interface Moderator {
|
|
47
|
+
deleteMessage(chatId: Id, messageId: Id): Promise<void>;
|
|
48
|
+
removePerson(chatId: Id, personId: Id): Promise<void>;
|
|
49
|
+
}
|
|
50
|
+
/** The personal account: deleting is for everyone, removing leaves messages and cannot ban. */
|
|
51
|
+
export declare const personal: (client: MaxClient) => Moderator;
|
|
52
|
+
/**
|
|
53
|
+
* Does what the findings ask, as far as consent, the per-run limit and the guard let it. Stops
|
|
54
|
+
* acting at the first hourly-limit refusal: the rest is `skipped`, never tried.
|
|
55
|
+
*/
|
|
56
|
+
export declare const act: (moderator: Moderator, findings: Finding[], options: ActOptions) => Promise<CheckRow[]>;
|
|
57
|
+
/** One action in words, for a prompt or a confirmation form. */
|
|
58
|
+
export declare const describe: (finding: Finding) => string;
|
|
59
|
+
/** Whether acting on it waits for the owner's yes. */
|
|
60
|
+
export declare const needsConfirm: (rules: GroupRules, finding: Finding) => boolean;
|
|
61
|
+
export interface Gathered extends Omit<CheckInput, "rules" | "now"> {
|
|
62
|
+
/** The newest message read, ISO 8601: where the next check starts. */
|
|
63
|
+
until: string | null;
|
|
64
|
+
/** More history than one check reads. */
|
|
65
|
+
more: boolean;
|
|
66
|
+
notes: string[];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* What is new in the group since `since`: its messages, who joined (from the service messages —
|
|
70
|
+
* `add` measured, `joinByLink` assumed to name the joiner or be sent by them), who asks to join,
|
|
71
|
+
* and who the admins are.
|
|
72
|
+
*/
|
|
73
|
+
export declare const gather: (client: MaxClient, chatId: Id, since: number) => Promise<Gathered>;
|
|
74
|
+
export declare const MAX_ACTIONS = 10;
|
|
75
|
+
/** Where each chat's next check starts, ISO 8601. */
|
|
76
|
+
export interface SavedPoints {
|
|
77
|
+
read(chatId: Id): string | undefined;
|
|
78
|
+
write(chatId: Id, at: string): void;
|
|
79
|
+
}
|
|
80
|
+
export declare const sessionPoints: typeof moderationPoints;
|
|
81
|
+
export interface Prepared {
|
|
82
|
+
chatId: Id;
|
|
83
|
+
title: string | null;
|
|
84
|
+
rules: GroupRules;
|
|
85
|
+
found: Gathered;
|
|
86
|
+
findings: Finding[];
|
|
87
|
+
/** `--since` was given: the saved point is not read, and not moved. */
|
|
88
|
+
explicit: boolean;
|
|
89
|
+
notes: string[];
|
|
90
|
+
}
|
|
91
|
+
/** Reads and judges; changes nothing. `since` overrides the group's saved point. */
|
|
92
|
+
export declare const prepare: (client: MaxClient, { points, profile, chat, since }: {
|
|
93
|
+
points: SavedPoints;
|
|
94
|
+
profile: string;
|
|
95
|
+
chat: string;
|
|
96
|
+
since?: number;
|
|
97
|
+
}) => Promise<Prepared>;
|
|
98
|
+
/** Acts on what `prepare` found, moves the group's saved point, and says what is left. */
|
|
99
|
+
export declare const finish: (moderator: Moderator, points: SavedPoints, prepared: Prepared, options: Omit<ActOptions, "chatId" | "rules">) => Promise<{
|
|
100
|
+
rows: CheckRow[];
|
|
101
|
+
notes: string[];
|
|
102
|
+
}>;
|
|
103
|
+
//# sourceMappingURL=check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/moderation/check.ts"],"names":[],"mappings":"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"}
|