@wirecat/max-cli 0.0.0-stage → 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 +530 -2
- 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 +125 -4
- package/skills/max-cli/SKILL.md +518 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
export declare const DEFAULT_PROFILE = "default";
|
|
3
|
+
/** How the command line names this profile: the first word, or nothing at all for the default. */
|
|
4
|
+
export declare const asFirstWord: (profile: string) => string;
|
|
5
|
+
export declare const usableProfileName: (profile: string) => string;
|
|
6
|
+
/**
|
|
7
|
+
* Every word that means a command at the top level.
|
|
8
|
+
*
|
|
9
|
+
* Taken off the built program rather than written out, because a list written out goes stale the
|
|
10
|
+
* day a command is added — and `help` is in it without being in `program.commands`: commander
|
|
11
|
+
* answers `max help chats` from an implicit command that is not in that array.
|
|
12
|
+
*/
|
|
13
|
+
export declare const commandWords: (program: Command) => Set<string>;
|
|
14
|
+
/**
|
|
15
|
+
* **The first word is the profile unless it names a command.** `max personal chats list`, and
|
|
16
|
+
* `max chats list` on the default profile, with no flag in either.
|
|
17
|
+
*
|
|
18
|
+
* An option is never a profile, so `max --json chats list` still works.
|
|
19
|
+
*/
|
|
20
|
+
export declare const liftProfile: (argv: string[], words: Set<string>) => {
|
|
21
|
+
profile?: string;
|
|
22
|
+
rest: string[];
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Refused at creation, which is the only moment it can still be explained.
|
|
26
|
+
*
|
|
27
|
+
* A profile named after a command breaks silently and in the other direction: `max chats` would
|
|
28
|
+
* have to mean the command, so the profile called `chats` could never be selected at all.
|
|
29
|
+
*/
|
|
30
|
+
export declare const refuseCommandName: (profile: string, words: Set<string>) => void;
|
|
31
|
+
/** The root of the command tree, from anywhere inside it. */
|
|
32
|
+
export declare const rootOf: (command: Command) => Command;
|
|
33
|
+
//# sourceMappingURL=profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,eAAO,MAAM,eAAe,YAAY,CAAA;AAExC,kGAAkG;AAClG,eAAO,MAAM,WAAW,YAAa,MAAM,KAAG,MAA4D,CAAA;AAW1G,eAAO,MAAM,iBAAiB,YAAa,MAAM,KAAG,MASnD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,YAAa,OAAO,KAAG,GAAG,CAAC,MAAM,CAC2C,CAAA;AAErG;;;;;GAKG;AACH,eAAO,MAAM,WAAW,SAAU,MAAM,EAAE,SAAS,GAAG,CAAC,MAAM,CAAC,KAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAIlG,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,YAAa,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,KAAG,IASvE,CAAA;AAED,6DAA6D;AAC7D,eAAO,MAAM,MAAM,YAAa,OAAO,KAAG,OAIzC,CAAA"}
|
package/dist/profile.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { CliError } from "@wirecat/cli-core";
|
|
2
|
+
export const DEFAULT_PROFILE = "default";
|
|
3
|
+
/** How the command line names this profile: the first word, or nothing at all for the default. */
|
|
4
|
+
export const asFirstWord = (profile) => (profile === DEFAULT_PROFILE ? "" : `${profile} `);
|
|
5
|
+
/**
|
|
6
|
+
* A profile name becomes a file name — `<state>/profiles/<name>.json` (`session/store.ts:103`) —
|
|
7
|
+
* and the keyring account is the same string.
|
|
8
|
+
*
|
|
9
|
+
* The first word on the command line is now the profile, so a mistyped path arrives here as a
|
|
10
|
+
* name, and `a/../b` would write that file somewhere nobody would think to look.
|
|
11
|
+
*/
|
|
12
|
+
const PLAIN_NAME = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
|
|
13
|
+
export const usableProfileName = (profile) => {
|
|
14
|
+
if (!PLAIN_NAME.test(profile)) {
|
|
15
|
+
throw new CliError("validation_error", `"${profile}" cannot be a profile name — letters, digits, dot, dash and underscore only, ` +
|
|
16
|
+
"starting with a letter or a digit");
|
|
17
|
+
}
|
|
18
|
+
return profile;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Every word that means a command at the top level.
|
|
22
|
+
*
|
|
23
|
+
* Taken off the built program rather than written out, because a list written out goes stale the
|
|
24
|
+
* day a command is added — and `help` is in it without being in `program.commands`: commander
|
|
25
|
+
* answers `max help chats` from an implicit command that is not in that array.
|
|
26
|
+
*/
|
|
27
|
+
export const commandWords = (program) => new Set(["help", ...program.commands.flatMap((command) => [command.name(), ...command.aliases()])]);
|
|
28
|
+
/**
|
|
29
|
+
* **The first word is the profile unless it names a command.** `max personal chats list`, and
|
|
30
|
+
* `max chats list` on the default profile, with no flag in either.
|
|
31
|
+
*
|
|
32
|
+
* An option is never a profile, so `max --json chats list` still works.
|
|
33
|
+
*/
|
|
34
|
+
export const liftProfile = (argv, words) => {
|
|
35
|
+
const [first, ...rest] = argv;
|
|
36
|
+
if (first === undefined || first.startsWith("-") || words.has(first))
|
|
37
|
+
return { rest: argv };
|
|
38
|
+
return { profile: first, rest };
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Refused at creation, which is the only moment it can still be explained.
|
|
42
|
+
*
|
|
43
|
+
* A profile named after a command breaks silently and in the other direction: `max chats` would
|
|
44
|
+
* have to mean the command, so the profile called `chats` could never be selected at all.
|
|
45
|
+
*/
|
|
46
|
+
export const refuseCommandName = (profile, words) => {
|
|
47
|
+
if (words.has(profile)) {
|
|
48
|
+
throw new CliError("validation_error", `"${profile}" is a command, so \`max ${profile} …\` would always mean the command and never ` +
|
|
49
|
+
"this profile. Pick a name that is not one of: " +
|
|
50
|
+
[...words].sort().join(", "));
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
/** The root of the command tree, from anywhere inside it. */
|
|
54
|
+
export const rootOf = (command) => {
|
|
55
|
+
let root = command;
|
|
56
|
+
while (root.parent)
|
|
57
|
+
root = root.parent;
|
|
58
|
+
return root;
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG5C,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAA;AAExC,kGAAkG;AAClG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,CAAC,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAA;AAE1G;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,8BAA8B,CAAA;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAU,EAAE;IAC3D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,IAAI,OAAO,+EAA+E;YACxF,mCAAmC,CACtC,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAe,EAAE,CAC5D,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AAErG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAc,EAAE,KAAkB,EAAwC,EAAE;IACtG,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;IAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAC3F,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AACjC,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,KAAkB,EAAQ,EAAE;IAC7E,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,IAAI,OAAO,4BAA4B,OAAO,+CAA+C;YAC3F,gDAAgD;YAChD,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/B,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAW,EAAE;IAClD,IAAI,IAAI,GAAG,OAAO,CAAA;IAClB,OAAO,IAAI,CAAC,MAAM;QAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAA;IACtC,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type ProgramOptions } from "@wirecat/cli-messaging/cli";
|
|
2
|
+
import type { Command } from "commander";
|
|
3
|
+
import { type Environment } from "./commands/context.js";
|
|
4
|
+
export type { ProgramOptions };
|
|
5
|
+
export interface RunOptions extends Environment {
|
|
6
|
+
answer?: (question: string) => string | null | Promise<string | null>;
|
|
7
|
+
}
|
|
8
|
+
export declare const createProgram: (options?: ProgramOptions) => Command;
|
|
9
|
+
export declare const run: (argv: string[], options?: RunOptions) => Promise<number>;
|
|
10
|
+
//# sourceMappingURL=program.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAGA,OAAO,EAQL,KAAK,cAAc,EAapB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWxC,OAAO,EAAE,KAAK,WAAW,EAAW,MAAM,uBAAuB,CAAA;AAyBjE,YAAY,EAAE,cAAc,EAAE,CAAA;AAE9B,MAAM,WAAW,UAAW,SAAQ,WAAW;IAC7C,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CACtE;AAqGD,eAAO,MAAM,aAAa,aAAa,cAAc,KAAQ,OAAqD,CAAA;AAElH,eAAO,MAAM,GAAG,SAAgB,MAAM,EAAE,YAAW,UAAU,KAAQ,OAAO,CAAC,MAAM,CAgBlF,CAAA"}
|
package/dist/program.js
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { appendFileSync } from "node:fs";
|
|
2
|
+
import { CliError, processStreams } from "@wirecat/cli-core";
|
|
3
|
+
import { metaOf } from "@wirecat/cli-core/commands";
|
|
4
|
+
import { attachmentsCommand, conversationsCommand, createProgram as createSharedProgram, floodCommand, inboxCommand, metadataCommand, pollsCommand, provide as provideShared, reactionsCommand, repliesCommand, reviewCommand, run as runShared, searchCommand, searchesCommand, storeCommand as sharedStoreCommand, statsCommand, tagsCommand, tasksCommand, } from "@wirecat/cli-messaging/cli";
|
|
5
|
+
import { levelFor } from "@wirecat/cli-messaging/sends";
|
|
6
|
+
import { MAX_APP } from "./app.js";
|
|
7
|
+
import { accountCommand } from "./commands/account.js";
|
|
8
|
+
import { botCommand } from "./commands/bot.js";
|
|
9
|
+
import { botRecordingOf } from "./commands/bot-context.js";
|
|
10
|
+
import { callsCommand } from "./commands/calls.js";
|
|
11
|
+
import { chatsCommand } from "./commands/chats.js";
|
|
12
|
+
import { commandsCommand } from "./commands/commands.js";
|
|
13
|
+
import { completeCommand } from "./commands/complete.js";
|
|
14
|
+
import { configCommand } from "./commands/config.js";
|
|
15
|
+
import { contactsCommand } from "./commands/contacts.js";
|
|
16
|
+
import { provide } from "./commands/context.js";
|
|
17
|
+
import { doctorCommand } from "./commands/doctor.js";
|
|
18
|
+
import { mcpCommand } from "./commands/mcp.js";
|
|
19
|
+
import { messagesCommand } from "./commands/messages.js";
|
|
20
|
+
import { modelsCommand } from "./commands/models.js";
|
|
21
|
+
import { recipientsCommand } from "./commands/recipients.js";
|
|
22
|
+
import { runsCommand } from "./commands/runs.js";
|
|
23
|
+
import { sendsCommand } from "./commands/sends.js";
|
|
24
|
+
import { serveCommand } from "./commands/serve.js";
|
|
25
|
+
import { serverCommand } from "./commands/server.js";
|
|
26
|
+
import { sessionCommand } from "./commands/session.js";
|
|
27
|
+
import { setupCommand } from "./commands/setup.js";
|
|
28
|
+
import { skillCommand } from "./commands/skill.js";
|
|
29
|
+
import { stickersCommand } from "./commands/stickers.js";
|
|
30
|
+
import { upgradeCommand } from "./commands/upgrade.js";
|
|
31
|
+
import { watchCommand } from "./commands/watch.js";
|
|
32
|
+
import { resolveSettings } from "./config.js";
|
|
33
|
+
import { migrateInboxPoint } from "./inbox-point.js";
|
|
34
|
+
import { maxMessenger } from "./messenger.js";
|
|
35
|
+
import { assertReadable, commandPermission, permissionScope } from "./permissions.js";
|
|
36
|
+
import { rootOf } from "./profile.js";
|
|
37
|
+
import { modelsDirectory } from "./transcribe/install.js";
|
|
38
|
+
import { updateNotice } from "./update.js";
|
|
39
|
+
const definition = (options = {}) => ({
|
|
40
|
+
app: {
|
|
41
|
+
...MAX_APP,
|
|
42
|
+
description: "MAX Messenger from the terminal: bots through the official Bot API (`max bot …`), and your personal account",
|
|
43
|
+
},
|
|
44
|
+
configuration: { resolveSettings },
|
|
45
|
+
commands: () => [
|
|
46
|
+
sessionCommand(),
|
|
47
|
+
setupCommand(),
|
|
48
|
+
accountCommand(),
|
|
49
|
+
callsCommand(),
|
|
50
|
+
stickersCommand(),
|
|
51
|
+
chatsCommand(),
|
|
52
|
+
contactsCommand(),
|
|
53
|
+
messagesCommand(),
|
|
54
|
+
sharedStoreCommand(maxMessenger),
|
|
55
|
+
statsCommand(maxMessenger),
|
|
56
|
+
tasksCommand(maxMessenger),
|
|
57
|
+
conversationsCommand(maxMessenger),
|
|
58
|
+
attachmentsCommand(maxMessenger),
|
|
59
|
+
tagsCommand(maxMessenger),
|
|
60
|
+
metadataCommand(maxMessenger),
|
|
61
|
+
searchCommand(maxMessenger),
|
|
62
|
+
searchesCommand(maxMessenger),
|
|
63
|
+
floodCommand(maxMessenger),
|
|
64
|
+
modelsCommand(),
|
|
65
|
+
pollsCommand(maxMessenger),
|
|
66
|
+
reactionsCommand(maxMessenger),
|
|
67
|
+
recipientsCommand(),
|
|
68
|
+
sendsCommand(),
|
|
69
|
+
inboxCommand(maxMessenger).hook("preAction", (command) => migrateInboxPoint(command)),
|
|
70
|
+
reviewCommand(maxMessenger),
|
|
71
|
+
repliesCommand(maxMessenger),
|
|
72
|
+
serveCommand(),
|
|
73
|
+
serverCommand(),
|
|
74
|
+
watchCommand(),
|
|
75
|
+
configCommand(),
|
|
76
|
+
doctorCommand(),
|
|
77
|
+
runsCommand(),
|
|
78
|
+
skillCommand(),
|
|
79
|
+
commandsCommand(),
|
|
80
|
+
upgradeCommand(),
|
|
81
|
+
completeCommand(),
|
|
82
|
+
mcpCommand(),
|
|
83
|
+
botCommand(),
|
|
84
|
+
],
|
|
85
|
+
configure: (program) => {
|
|
86
|
+
program.addHelpText("after", "\nGetting started after installation:\n" +
|
|
87
|
+
" max setup Guided personal-account login; allow about 5 minutes\n" +
|
|
88
|
+
" max setup --agent codex Connect the skill for your agent\n" +
|
|
89
|
+
" max setup --help Login methods, Windows advice and examples\n" +
|
|
90
|
+
"\nAgents: read `max skill show` before login; `max commands --json` lists commands.\n" +
|
|
91
|
+
"Choose a chat and how much history to fetch after setup.\n" +
|
|
92
|
+
"Bots: `max <profile> bot auth set` connects a bot separately.\n");
|
|
93
|
+
program
|
|
94
|
+
.option("--serve", "start `max serve` in the background if it is not running (the default)")
|
|
95
|
+
.option("--no-serve", "do not start it; log in on this command's own connection unless one is running");
|
|
96
|
+
const descriptions = {
|
|
97
|
+
"--trace": "one line per request on stderr: ids and timings, never message content",
|
|
98
|
+
"--record": "keep this run under `max runs` — ids and timings, never message content",
|
|
99
|
+
"--quiet": "diagnostics off",
|
|
100
|
+
};
|
|
101
|
+
for (const option of program.options) {
|
|
102
|
+
const description = descriptions[option.long ?? ""];
|
|
103
|
+
if (description)
|
|
104
|
+
option.description = description;
|
|
105
|
+
}
|
|
106
|
+
program.hook("preAction", (_root, action) => {
|
|
107
|
+
const key = commandPermission(action);
|
|
108
|
+
if (key) {
|
|
109
|
+
const settings = resolveSettings(rootOf(action).opts(), { kind: key.startsWith("bot.") ? "bot" : "personal" });
|
|
110
|
+
assertReadable(settings, key);
|
|
111
|
+
if (metaOf(action).mutates && metaOf(action).local && levelFor(settings.permissions, key).level === "readonly")
|
|
112
|
+
throw new CliError("permission_error", `profile ${settings.profile} does not let ${key} write`, {
|
|
113
|
+
permission: key,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
const argvLog = process.env.MAX_TEST_ARGV_LOG;
|
|
118
|
+
if (argvLog)
|
|
119
|
+
program.hook("preAction", (_root, action) => logParsed(argvLog, action));
|
|
120
|
+
},
|
|
121
|
+
prepare: (program, environment) => {
|
|
122
|
+
provide(program, {
|
|
123
|
+
...options,
|
|
124
|
+
streams: environment.streams ?? processStreams,
|
|
125
|
+
signal: environment.signal,
|
|
126
|
+
commandSignal: environment.commandSignal,
|
|
127
|
+
trackCloseable: environment.trackCloseable,
|
|
128
|
+
answer: environment.answer,
|
|
129
|
+
env: environment.env,
|
|
130
|
+
});
|
|
131
|
+
provideShared(program, environment);
|
|
132
|
+
},
|
|
133
|
+
onFailure: (error, program) => botRecordingOf(program)?.fail(error),
|
|
134
|
+
});
|
|
135
|
+
export const createProgram = (options = {}) => createSharedProgram(definition(), options);
|
|
136
|
+
export const run = async (argv, options = {}) => {
|
|
137
|
+
const { recognizer, ...environment } = options;
|
|
138
|
+
const notice = updateNotice(argv, { tty: options.tty, environment: options.update });
|
|
139
|
+
const code = await permissionScope(() => runShared(argv, definition(options), {
|
|
140
|
+
...environment,
|
|
141
|
+
...(recognizer ? { recognizer: (model) => recognizer(model, modelsDirectory()) } : {}),
|
|
142
|
+
}));
|
|
143
|
+
const argvLog = process.env.MAX_TEST_ARGV_LOG;
|
|
144
|
+
if (argvLog && code === 0 && argv.some((word) => word === "--version" || word === "-V")) {
|
|
145
|
+
appendFileSync(argvLog, `${JSON.stringify({ command: "", options: ["--version"] })}\n`);
|
|
146
|
+
}
|
|
147
|
+
const line = await notice;
|
|
148
|
+
if (line && code === 0)
|
|
149
|
+
(options.streams ?? processStreams).diagnostic(line);
|
|
150
|
+
return code;
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Under vitest only (`src/testing/sandbox.ts`): which command ran and which options were typed, for
|
|
154
|
+
* `pnpm test:matrix`. Words and option names — never an argument's value.
|
|
155
|
+
*/
|
|
156
|
+
const logParsed = (file, action) => {
|
|
157
|
+
const words = [];
|
|
158
|
+
const options = [];
|
|
159
|
+
for (let at = action; at; at = at.parent) {
|
|
160
|
+
if (at.parent)
|
|
161
|
+
words.unshift(at.name());
|
|
162
|
+
for (const option of at.options) {
|
|
163
|
+
const key = option.attributeName();
|
|
164
|
+
if (at.getOptionValueSource(key) !== "cli" || !option.long)
|
|
165
|
+
continue;
|
|
166
|
+
if (option.negate === (at.getOptionValue(key) === false))
|
|
167
|
+
options.push(option.long);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
appendFileSync(file, `${JSON.stringify({ command: words.join(" "), options })}\n`);
|
|
171
|
+
};
|
|
172
|
+
//# sourceMappingURL=program.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { WebSocket } from "ws";
|
|
2
|
+
import { type InboundFrame, type Payload } from "./frame.js";
|
|
3
|
+
/** Where web.max.ru connects, read off its live socket on 2026-09-25. */
|
|
4
|
+
export declare const MAX_WEBSOCKET_URL = "wss://api.oneme.ru/websocket";
|
|
5
|
+
/** MAX's web client sends this; we send what it sends rather than announcing ourselves (§34). */
|
|
6
|
+
export declare const WEB_ORIGIN = "https://web.max.ru";
|
|
7
|
+
/**
|
|
8
|
+
* What one frame cost, reported as it happens.
|
|
9
|
+
*
|
|
10
|
+
* The transport is the only layer that knows the `seq` it allocated and how many bytes actually
|
|
11
|
+
* went over the socket, and it is the only one that can time the wait. It reports those and
|
|
12
|
+
* nothing else — **who is asking, and why, stays above it** (`ARCHITECTURE.md` §2).
|
|
13
|
+
*/
|
|
14
|
+
export interface WireEvent {
|
|
15
|
+
phase: "sent" | "received";
|
|
16
|
+
seq: number;
|
|
17
|
+
opcode: number;
|
|
18
|
+
bytes: number;
|
|
19
|
+
}
|
|
20
|
+
export interface ConnectionOptions {
|
|
21
|
+
url?: string;
|
|
22
|
+
origin?: string;
|
|
23
|
+
/** Per request, not per connection. */
|
|
24
|
+
timeoutMs?: number;
|
|
25
|
+
/** Events MAX pushes on its own — messages arriving, presence. Ignored unless a caller cares. */
|
|
26
|
+
onEvent?: (frame: InboundFrame) => void;
|
|
27
|
+
/**
|
|
28
|
+
* **A connection that stays open**, as `max serve`'s does: it answers MAX's ping and acknowledges
|
|
29
|
+
* a new message the way web.max.ru does (bundle read 2026-09-24), and drops a push it has already
|
|
30
|
+
* seen. Off for a one-shot command, which is gone before either matters.
|
|
31
|
+
*/
|
|
32
|
+
live?: boolean;
|
|
33
|
+
/** MAX closed the socket. Not called for our own `close()`. The connection is dead after it. */
|
|
34
|
+
onClose?: (error: Error) => void;
|
|
35
|
+
/** A push that could not be handled was dropped; the connection carries on. */
|
|
36
|
+
onError?: (error: Error) => void;
|
|
37
|
+
/** Injected in tests; defaults to the real `ws` client. */
|
|
38
|
+
createSocket?: (url: string, origin: string) => WebSocket;
|
|
39
|
+
}
|
|
40
|
+
export declare class ProtocolError extends Error {
|
|
41
|
+
readonly opcode: number;
|
|
42
|
+
readonly payload: Payload | null;
|
|
43
|
+
constructor(message: string, opcode: number, payload: Payload | null);
|
|
44
|
+
}
|
|
45
|
+
/** What a client needs of a connection — so one that goes through `max serve` can stand in. */
|
|
46
|
+
export type Wire = Pick<Connection, "open" | "invoke" | "close">;
|
|
47
|
+
/**
|
|
48
|
+
* One WebSocket, one command's worth of work, then closed.
|
|
49
|
+
*
|
|
50
|
+
* **Everything that could keep the process alive is owned here**: the socket, the per-request
|
|
51
|
+
* timers and the listeners. `close()` clears all three, and a command that opens a connection
|
|
52
|
+
* closes it in a `finally` — a CLI that prints its result and then hangs is a defect, not a rough
|
|
53
|
+
* edge (REQUIREMENTS §18).
|
|
54
|
+
*/
|
|
55
|
+
export declare class Connection {
|
|
56
|
+
#private;
|
|
57
|
+
constructor(options?: ConnectionOptions);
|
|
58
|
+
open(): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Sends one request and waits for the response carrying the same `seq`.
|
|
61
|
+
*
|
|
62
|
+
* MAX interleaves pushed events with responses on one socket, so the `seq` is the only thing
|
|
63
|
+
* tying an answer to its question — a reader that takes the next frame as its answer will
|
|
64
|
+
* eventually read somebody's incoming message instead.
|
|
65
|
+
*
|
|
66
|
+
* `watch` is told what left and what came back, for the caller that is keeping a diagnostic. It
|
|
67
|
+
* is called synchronously on the way out, so a request that never gets an answer is still on
|
|
68
|
+
* record — which is the run somebody actually wants to read.
|
|
69
|
+
*/
|
|
70
|
+
invoke(opcode: number, payload?: Payload, watch?: (event: WireEvent) => void): Promise<Payload>;
|
|
71
|
+
/**
|
|
72
|
+
* Closes the socket and **settles anything still waiting**, rather than dropping it.
|
|
73
|
+
*
|
|
74
|
+
* ⚠ It used to clear the pending map without rejecting, which left the caller of an in-flight
|
|
75
|
+
* `invoke` awaiting a promise nothing could ever settle: the timers were cleared and the socket
|
|
76
|
+
* listeners removed in the same breath, so neither the timeout nor the close event was left to
|
|
77
|
+
* fire. Invisible in normal use, because `close()` runs in a `finally` once the body is done —
|
|
78
|
+
* and a hang the moment anything closes the connection while a request is out, which is exactly
|
|
79
|
+
* what a whole-command deadline does. Found by a test, not by a user.
|
|
80
|
+
*/
|
|
81
|
+
close(): Promise<void>;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/protocol/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAC9B,OAAO,EAML,KAAK,YAAY,EACjB,KAAK,OAAO,EAEb,MAAM,YAAY,CAAA;AAEnB,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,iCAAiC,CAAA;AAC/D,iGAAiG;AACjG,eAAO,MAAM,UAAU,uBAAuB,CAAA;AAE9C;;;;;;GAMG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,GAAG,UAAU,CAAA;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iGAAiG;IACjG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,gGAAgG;IAChG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,2DAA2D;IAC3D,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS,CAAA;CAC1D;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAEhC,YAAY,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAKnE;CACF;AAOD,+FAA+F;AAC/F,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAA;AAEhE;;;;;;;GAOG;AACH,qBAAa,UAAU;;IAuBrB,YAAY,OAAO,GAAE,iBAAsB,EAiB1C;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAgC1B;IAaD;;;;;;;;;;OAUG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,OAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAiCxG;IAED;;;;;;;;;OASG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAoB3B;CAoGF"}
|