@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,14 @@
|
|
|
1
|
+
import { upgradeCommand as sharedUpgradeCommand } from "@wirecat/cli-messaging/cli";
|
|
2
|
+
import { MAX_APP } from "../app.js";
|
|
3
|
+
import { installer, latest, PACKAGE, runUpdate } from "../update.js";
|
|
4
|
+
import { environmentOf, outputFor } from "./context.js";
|
|
5
|
+
export const upgradeCommand = () => sharedUpgradeCommand(MAX_APP, PACKAGE, (command) => {
|
|
6
|
+
const environment = environmentOf(command).update ?? {};
|
|
7
|
+
return {
|
|
8
|
+
...outputFor(command),
|
|
9
|
+
installer: () => installer(environment),
|
|
10
|
+
latest: () => latest(environment),
|
|
11
|
+
install: (argv) => runUpdate(argv, environment),
|
|
12
|
+
};
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=upgrade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAEvD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CACjC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;IACjD,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,EAAE,CAAA;IACvD,OAAO;QACL,GAAG,SAAS,CAAC,OAAO,CAAC;QACrB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC;QACvC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;QACjC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC;KAChD,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import type { MessageHit } from "../domain/models.js";
|
|
3
|
+
import type { ServerEvent } from "../server/server.js";
|
|
4
|
+
/**
|
|
5
|
+
* `max watch` — new messages as they arrive, from a running `max serve`, until Ctrl-C.
|
|
6
|
+
*
|
|
7
|
+
* `--jsonl` gives one message per line in the shape `messages list` uses, which is what a script,
|
|
8
|
+
* an n8n node or an agent reads. It never marks anything read: the server only listens.
|
|
9
|
+
*
|
|
10
|
+
* `--events` adds edits, deletions and reactions (`MAX-34`), reads and chat changes (`MAX-67`), and then
|
|
11
|
+
* every line names its event —
|
|
12
|
+
* `{"event": "message", "message": …}` among them — so a reader of the plain stream, whose lines
|
|
13
|
+
* are bare messages, never meets a line of another shape.
|
|
14
|
+
*/
|
|
15
|
+
export declare const watchCommand: () => Command;
|
|
16
|
+
/**
|
|
17
|
+
* What one event prints. Without `events` the stream is exactly what it always was — bare messages,
|
|
18
|
+
* one per line — so a reader of it never meets a line of another shape.
|
|
19
|
+
*/
|
|
20
|
+
export declare const watchLine: (event: Exclude<ServerEvent, {
|
|
21
|
+
event: "status";
|
|
22
|
+
}>, { events, pretty, render }: {
|
|
23
|
+
events: boolean;
|
|
24
|
+
pretty: boolean;
|
|
25
|
+
render: (message: MessageHit) => string;
|
|
26
|
+
}) => string | undefined;
|
|
27
|
+
//# sourceMappingURL=watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAiB,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAKtD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,QAAO,OAmE1B,CAAA;AAEN;;;GAGG;AACH,eAAO,MAAM,SAAS,UACb,OAAO,CAAC,WAAW,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC,8BACpB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,MAAM,CAAA;CAAE,KACxG,MAAM,GAAG,SAOX,CAAA"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { CliError } from "@wirecat/cli-core";
|
|
2
|
+
import { Command } from "commander";
|
|
3
|
+
import { renderMessages } from "../rendering/messages.js";
|
|
4
|
+
import { ensureServer } from "../server/start.js";
|
|
5
|
+
import { subscribe } from "../server/subscribe.js";
|
|
6
|
+
import { forCommand } from "./context.js";
|
|
7
|
+
/**
|
|
8
|
+
* `max watch` — new messages as they arrive, from a running `max serve`, until Ctrl-C.
|
|
9
|
+
*
|
|
10
|
+
* `--jsonl` gives one message per line in the shape `messages list` uses, which is what a script,
|
|
11
|
+
* an n8n node or an agent reads. It never marks anything read: the server only listens.
|
|
12
|
+
*
|
|
13
|
+
* `--events` adds edits, deletions and reactions (`MAX-34`), reads and chat changes (`MAX-67`), and then
|
|
14
|
+
* every line names its event —
|
|
15
|
+
* `{"event": "message", "message": …}` among them — so a reader of the plain stream, whose lines
|
|
16
|
+
* are bare messages, never meets a line of another shape.
|
|
17
|
+
*/
|
|
18
|
+
export const watchCommand = () => new Command("watch")
|
|
19
|
+
.description("print new messages as they arrive, from a running `max serve`")
|
|
20
|
+
.option("--events", "also print edits, deletions, reactions, reads and chat changes; every line then names its event")
|
|
21
|
+
.action(async function (options) {
|
|
22
|
+
const context = forCommand(this);
|
|
23
|
+
const { renderer, settings, format, streams, store, run } = context;
|
|
24
|
+
const stop = new AbortController();
|
|
25
|
+
const end = () => stop.abort();
|
|
26
|
+
process.once("SIGINT", end);
|
|
27
|
+
process.once("SIGTERM", end);
|
|
28
|
+
const render = (message) => renderMessages([message], {
|
|
29
|
+
color: context.color,
|
|
30
|
+
senderColors: settings.senderColors,
|
|
31
|
+
verbosity: settings.detail,
|
|
32
|
+
width: process.stdout.columns ?? 80,
|
|
33
|
+
profile: settings.profile,
|
|
34
|
+
});
|
|
35
|
+
let seen = false;
|
|
36
|
+
await run("watch", async () => {
|
|
37
|
+
try {
|
|
38
|
+
const listen = () => subscribe(store.socketPath(), settings.profile, (event) => {
|
|
39
|
+
if (event.event === "status") {
|
|
40
|
+
// The first "not connected" is a server still logging in; only a later one is a drop.
|
|
41
|
+
renderer.note(event.connected
|
|
42
|
+
? "connected"
|
|
43
|
+
: seen
|
|
44
|
+
? "MAX dropped the connection; the server is reconnecting"
|
|
45
|
+
: "the server is logging in to MAX");
|
|
46
|
+
seen ||= event.connected;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const line = watchLine(event, {
|
|
50
|
+
events: options.events === true,
|
|
51
|
+
pretty: format === "pretty",
|
|
52
|
+
render,
|
|
53
|
+
});
|
|
54
|
+
if (line !== undefined)
|
|
55
|
+
streams.data(line);
|
|
56
|
+
}
|
|
57
|
+
}, stop.signal);
|
|
58
|
+
try {
|
|
59
|
+
await listen();
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
if (!(error instanceof CliError && error.code === "not_found") || !settings.serve)
|
|
63
|
+
throw error;
|
|
64
|
+
renderer.note("no server was running — starting `max serve` in the background");
|
|
65
|
+
if (!(await ensureServer(store))) {
|
|
66
|
+
throw new CliError("not_found", "`max serve` did not start — its log is beside the profile's state");
|
|
67
|
+
}
|
|
68
|
+
await listen();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
process.off("SIGINT", end);
|
|
73
|
+
process.off("SIGTERM", end);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
/**
|
|
78
|
+
* What one event prints. Without `events` the stream is exactly what it always was — bare messages,
|
|
79
|
+
* one per line — so a reader of it never meets a line of another shape.
|
|
80
|
+
*/
|
|
81
|
+
export const watchLine = (event, { events, pretty, render }) => {
|
|
82
|
+
if (event.event === "change") {
|
|
83
|
+
if (!events)
|
|
84
|
+
return undefined;
|
|
85
|
+
return pretty ? describeChange(event.change, render) : JSON.stringify(event.change);
|
|
86
|
+
}
|
|
87
|
+
if (pretty)
|
|
88
|
+
return render(event.message);
|
|
89
|
+
return JSON.stringify(events ? { event: "message", message: event.message } : event.message);
|
|
90
|
+
};
|
|
91
|
+
const describeChange = (change, render) => {
|
|
92
|
+
if (change.event === "edit")
|
|
93
|
+
return `edited:\n${render(change.message)}`;
|
|
94
|
+
if (change.event === "chat")
|
|
95
|
+
return `chat changed: ${change.chat.title ?? change.chat.id}\n`;
|
|
96
|
+
const where = change.chatTitle ?? change.chatId;
|
|
97
|
+
if (change.event === "read") {
|
|
98
|
+
return `read in ${where} by ${change.userId}${change.upToTime ? ` up to ${change.upToTime}` : ""}\n`;
|
|
99
|
+
}
|
|
100
|
+
if (change.event === "delete")
|
|
101
|
+
return `deleted in ${where}: message ${change.messageId}\n`;
|
|
102
|
+
const counts = change.reactions.counts.map(({ reaction, count }) => `${reaction} ${count}`).join(", ");
|
|
103
|
+
return `reactions in ${where} on message ${change.messageId}: ${counts || "none"}\n`;
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
import { type AISettings } from "@wirecat/cli-messaging/cli";
|
|
2
|
+
import { type Level, type Permission } from "@wirecat/cli-messaging/sends";
|
|
3
|
+
import * as v from "valibot";
|
|
4
|
+
/** MCP tools that change the account beyond messages, each group off until named here (`NEED-350`). */
|
|
5
|
+
export declare const MCP_TOOL_GROUPS: readonly ["contacts", "polls", "groups", "profile"];
|
|
6
|
+
export type McpToolGroup = (typeof MCP_TOOL_GROUPS)[number];
|
|
7
|
+
declare const profileSettings: v.StrictObjectSchema<{
|
|
8
|
+
embeddingProvider: v.OptionalSchema<v.PicklistSchema<["local", "openai"], undefined>, undefined>;
|
|
9
|
+
embeddingModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
10
|
+
embeddingBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
11
|
+
embeddingDims: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65536, undefined>]>, undefined>;
|
|
12
|
+
analysisProvider: v.OptionalSchema<v.PicklistSchema<["agent", "openai", "anthropic"], undefined>, undefined>;
|
|
13
|
+
analysisModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
14
|
+
analysisBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
15
|
+
models: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, v.StrictObjectSchema<{
|
|
16
|
+
readonly provider: v.OptionalSchema<v.PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
|
|
17
|
+
readonly model: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
18
|
+
readonly baseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
19
|
+
}, undefined>, undefined>, undefined>;
|
|
20
|
+
limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
21
|
+
timeoutMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
22
|
+
color: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
23
|
+
/** The run log reads these two; nothing records anything until it exists. */
|
|
24
|
+
record: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
25
|
+
keepRunsForDays: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
26
|
+
readOnly: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
27
|
+
allow: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["send", "forward", "reaction", "edit", "pin", "read", "delete", "groups", "contacts", "profile", "folders", "sessions"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
28
|
+
permissions: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, (issue: v.RegexIssue<string>) => string>]>, v.PicklistSchema<readonly ["deny", "readonly", "ask", "allow"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
29
|
+
sendsPerHour: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
30
|
+
requestsPerMinute: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 0, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
31
|
+
senderColors: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
32
|
+
/** `inbox` and `review` mark what they show read, as `--mark-read` does — off unless set (`NEED-566`). */
|
|
33
|
+
catchUpMarksRead: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
34
|
+
searchCatchUp: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
35
|
+
/** Start `max serve` in the background when a command needs MAX and none is running (`MAX-35`). */
|
|
36
|
+
serve: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
37
|
+
/** Only the file turns these on — no `max mcp` flag does (`NEED-350`). */
|
|
38
|
+
mcpTools: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["contacts", "polls", "groups", "profile"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
39
|
+
}, v.ErrorMessage<v.StrictObjectIssue>>;
|
|
40
|
+
export declare const configSchema: v.StrictObjectSchema<{
|
|
41
|
+
defaultProfile: v.OptionalSchema<v.StringSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
42
|
+
/** What every profile gets unless it says otherwise. */
|
|
43
|
+
defaults: v.OptionalSchema<v.StrictObjectSchema<{
|
|
44
|
+
embeddingProvider: v.OptionalSchema<v.PicklistSchema<["local", "openai"], undefined>, undefined>;
|
|
45
|
+
embeddingModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
46
|
+
embeddingBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
47
|
+
embeddingDims: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65536, undefined>]>, undefined>;
|
|
48
|
+
analysisProvider: v.OptionalSchema<v.PicklistSchema<["agent", "openai", "anthropic"], undefined>, undefined>;
|
|
49
|
+
analysisModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
50
|
+
analysisBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
51
|
+
models: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, v.StrictObjectSchema<{
|
|
52
|
+
readonly provider: v.OptionalSchema<v.PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
|
|
53
|
+
readonly model: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
54
|
+
readonly baseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
55
|
+
}, undefined>, undefined>, undefined>;
|
|
56
|
+
limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
57
|
+
timeoutMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
58
|
+
color: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
59
|
+
/** The run log reads these two; nothing records anything until it exists. */
|
|
60
|
+
record: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
61
|
+
keepRunsForDays: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
62
|
+
readOnly: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
63
|
+
allow: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["send", "forward", "reaction", "edit", "pin", "read", "delete", "groups", "contacts", "profile", "folders", "sessions"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
64
|
+
permissions: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, (issue: v.RegexIssue<string>) => string>]>, v.PicklistSchema<readonly ["deny", "readonly", "ask", "allow"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
65
|
+
sendsPerHour: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
66
|
+
requestsPerMinute: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 0, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
67
|
+
senderColors: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
68
|
+
/** `inbox` and `review` mark what they show read, as `--mark-read` does — off unless set (`NEED-566`). */
|
|
69
|
+
catchUpMarksRead: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
70
|
+
searchCatchUp: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
71
|
+
/** Start `max serve` in the background when a command needs MAX and none is running (`MAX-35`). */
|
|
72
|
+
serve: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
73
|
+
/** Only the file turns these on — no `max mcp` flag does (`NEED-350`). */
|
|
74
|
+
mcpTools: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["contacts", "polls", "groups", "profile"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
75
|
+
updateCheck: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
76
|
+
skillHint: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
77
|
+
transcribeModel: v.OptionalSchema<v.PicklistSchema<string[], `has to be one of ${string}`>, undefined>;
|
|
78
|
+
}, v.ErrorMessage<v.StrictObjectIssue>>, undefined>;
|
|
79
|
+
profiles: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StrictObjectSchema<{
|
|
80
|
+
embeddingProvider: v.OptionalSchema<v.PicklistSchema<["local", "openai"], undefined>, undefined>;
|
|
81
|
+
embeddingModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
82
|
+
embeddingBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
83
|
+
embeddingDims: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65536, undefined>]>, undefined>;
|
|
84
|
+
analysisProvider: v.OptionalSchema<v.PicklistSchema<["agent", "openai", "anthropic"], undefined>, undefined>;
|
|
85
|
+
analysisModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
86
|
+
analysisBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
87
|
+
models: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, v.StrictObjectSchema<{
|
|
88
|
+
readonly provider: v.OptionalSchema<v.PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
|
|
89
|
+
readonly model: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
90
|
+
readonly baseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
91
|
+
}, undefined>, undefined>, undefined>;
|
|
92
|
+
limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
93
|
+
timeoutMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
94
|
+
color: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
95
|
+
/** The run log reads these two; nothing records anything until it exists. */
|
|
96
|
+
record: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
97
|
+
keepRunsForDays: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
98
|
+
readOnly: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
99
|
+
allow: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["send", "forward", "reaction", "edit", "pin", "read", "delete", "groups", "contacts", "profile", "folders", "sessions"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
100
|
+
permissions: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, (issue: v.RegexIssue<string>) => string>]>, v.PicklistSchema<readonly ["deny", "readonly", "ask", "allow"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
101
|
+
sendsPerHour: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
102
|
+
requestsPerMinute: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 0, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
103
|
+
senderColors: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
104
|
+
/** `inbox` and `review` mark what they show read, as `--mark-read` does — off unless set (`NEED-566`). */
|
|
105
|
+
catchUpMarksRead: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
106
|
+
searchCatchUp: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
107
|
+
/** Start `max serve` in the background when a command needs MAX and none is running (`MAX-35`). */
|
|
108
|
+
serve: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
109
|
+
/** Only the file turns these on — no `max mcp` flag does (`NEED-350`). */
|
|
110
|
+
mcpTools: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["contacts", "polls", "groups", "profile"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
111
|
+
}, v.ErrorMessage<v.StrictObjectIssue>>, "has to be an object of profiles, by name">, {}>;
|
|
112
|
+
personal: v.OptionalSchema<v.StrictObjectSchema<{
|
|
113
|
+
defaults: v.OptionalSchema<v.StrictObjectSchema<{
|
|
114
|
+
embeddingProvider: v.OptionalSchema<v.PicklistSchema<["local", "openai"], undefined>, undefined>;
|
|
115
|
+
embeddingModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
116
|
+
embeddingBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
117
|
+
embeddingDims: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65536, undefined>]>, undefined>;
|
|
118
|
+
analysisProvider: v.OptionalSchema<v.PicklistSchema<["agent", "openai", "anthropic"], undefined>, undefined>;
|
|
119
|
+
analysisModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
120
|
+
analysisBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
121
|
+
models: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, v.StrictObjectSchema<{
|
|
122
|
+
readonly provider: v.OptionalSchema<v.PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
|
|
123
|
+
readonly model: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
124
|
+
readonly baseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
125
|
+
}, undefined>, undefined>, undefined>;
|
|
126
|
+
limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
127
|
+
timeoutMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
128
|
+
color: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
129
|
+
/** The run log reads these two; nothing records anything until it exists. */
|
|
130
|
+
record: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
131
|
+
keepRunsForDays: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
132
|
+
readOnly: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
133
|
+
allow: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["send", "forward", "reaction", "edit", "pin", "read", "delete", "groups", "contacts", "profile", "folders", "sessions"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
134
|
+
permissions: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, (issue: v.RegexIssue<string>) => string>]>, v.PicklistSchema<readonly ["deny", "readonly", "ask", "allow"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
135
|
+
sendsPerHour: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
136
|
+
requestsPerMinute: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 0, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
137
|
+
senderColors: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
138
|
+
/** `inbox` and `review` mark what they show read, as `--mark-read` does — off unless set (`NEED-566`). */
|
|
139
|
+
catchUpMarksRead: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
140
|
+
searchCatchUp: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
141
|
+
/** Start `max serve` in the background when a command needs MAX and none is running (`MAX-35`). */
|
|
142
|
+
serve: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
143
|
+
/** Only the file turns these on — no `max mcp` flag does (`NEED-350`). */
|
|
144
|
+
mcpTools: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["contacts", "polls", "groups", "profile"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
145
|
+
}, v.ErrorMessage<v.StrictObjectIssue>>, undefined>;
|
|
146
|
+
profiles: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StrictObjectSchema<{
|
|
147
|
+
embeddingProvider: v.OptionalSchema<v.PicklistSchema<["local", "openai"], undefined>, undefined>;
|
|
148
|
+
embeddingModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
149
|
+
embeddingBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
150
|
+
embeddingDims: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65536, undefined>]>, undefined>;
|
|
151
|
+
analysisProvider: v.OptionalSchema<v.PicklistSchema<["agent", "openai", "anthropic"], undefined>, undefined>;
|
|
152
|
+
analysisModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
153
|
+
analysisBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
154
|
+
models: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, v.StrictObjectSchema<{
|
|
155
|
+
readonly provider: v.OptionalSchema<v.PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
|
|
156
|
+
readonly model: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
157
|
+
readonly baseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
158
|
+
}, undefined>, undefined>, undefined>;
|
|
159
|
+
limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
160
|
+
timeoutMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
161
|
+
color: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
162
|
+
/** The run log reads these two; nothing records anything until it exists. */
|
|
163
|
+
record: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
164
|
+
keepRunsForDays: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
165
|
+
readOnly: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
166
|
+
allow: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["send", "forward", "reaction", "edit", "pin", "read", "delete", "groups", "contacts", "profile", "folders", "sessions"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
167
|
+
permissions: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, (issue: v.RegexIssue<string>) => string>]>, v.PicklistSchema<readonly ["deny", "readonly", "ask", "allow"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
168
|
+
sendsPerHour: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
169
|
+
requestsPerMinute: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 0, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
170
|
+
senderColors: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
171
|
+
/** `inbox` and `review` mark what they show read, as `--mark-read` does — off unless set (`NEED-566`). */
|
|
172
|
+
catchUpMarksRead: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
173
|
+
searchCatchUp: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
174
|
+
/** Start `max serve` in the background when a command needs MAX and none is running (`MAX-35`). */
|
|
175
|
+
serve: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
176
|
+
/** Only the file turns these on — no `max mcp` flag does (`NEED-350`). */
|
|
177
|
+
mcpTools: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["contacts", "polls", "groups", "profile"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
178
|
+
}, v.ErrorMessage<v.StrictObjectIssue>>, "has to be an object of profiles, by name">, undefined>;
|
|
179
|
+
}, v.ErrorMessage<v.StrictObjectIssue>>, undefined>;
|
|
180
|
+
bot: v.OptionalSchema<v.StrictObjectSchema<{
|
|
181
|
+
defaults: v.OptionalSchema<v.StrictObjectSchema<{
|
|
182
|
+
embeddingProvider: v.OptionalSchema<v.PicklistSchema<["local", "openai"], undefined>, undefined>;
|
|
183
|
+
embeddingModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
184
|
+
embeddingBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
185
|
+
embeddingDims: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65536, undefined>]>, undefined>;
|
|
186
|
+
analysisProvider: v.OptionalSchema<v.PicklistSchema<["agent", "openai", "anthropic"], undefined>, undefined>;
|
|
187
|
+
analysisModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
188
|
+
analysisBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
189
|
+
models: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, v.StrictObjectSchema<{
|
|
190
|
+
readonly provider: v.OptionalSchema<v.PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
|
|
191
|
+
readonly model: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
192
|
+
readonly baseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
193
|
+
}, undefined>, undefined>, undefined>;
|
|
194
|
+
limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
195
|
+
timeoutMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
196
|
+
color: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
197
|
+
/** The run log reads these two; nothing records anything until it exists. */
|
|
198
|
+
record: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
199
|
+
keepRunsForDays: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
200
|
+
readOnly: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
201
|
+
allow: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["send", "forward", "reaction", "edit", "pin", "read", "delete", "groups", "contacts", "profile", "folders", "sessions"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
202
|
+
permissions: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, (issue: v.RegexIssue<string>) => string>]>, v.PicklistSchema<readonly ["deny", "readonly", "ask", "allow"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
203
|
+
sendsPerHour: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
204
|
+
requestsPerMinute: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 0, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
205
|
+
readOtherBots: v.OptionalSchema<v.UnionSchema<[v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, v.ArraySchema<v.StringSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>], "has to be true, false, or a list of bot profiles">, undefined>;
|
|
206
|
+
}, v.ErrorMessage<v.StrictObjectIssue>>, undefined>;
|
|
207
|
+
profiles: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StrictObjectSchema<{
|
|
208
|
+
embeddingProvider: v.OptionalSchema<v.PicklistSchema<["local", "openai"], undefined>, undefined>;
|
|
209
|
+
embeddingModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
210
|
+
embeddingBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
211
|
+
embeddingDims: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 65536, undefined>]>, undefined>;
|
|
212
|
+
analysisProvider: v.OptionalSchema<v.PicklistSchema<["agent", "openai", "anthropic"], undefined>, undefined>;
|
|
213
|
+
analysisModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
214
|
+
analysisBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
215
|
+
models: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, v.StrictObjectSchema<{
|
|
216
|
+
readonly provider: v.OptionalSchema<v.PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
|
|
217
|
+
readonly model: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
218
|
+
readonly baseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
|
|
219
|
+
}, undefined>, undefined>, undefined>;
|
|
220
|
+
limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
221
|
+
timeoutMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
222
|
+
color: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
223
|
+
/** The run log reads these two; nothing records anything until it exists. */
|
|
224
|
+
record: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
225
|
+
keepRunsForDays: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
226
|
+
readOnly: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
227
|
+
allow: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["send", "forward", "reaction", "edit", "pin", "read", "delete", "groups", "contacts", "profile", "folders", "sessions"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
228
|
+
permissions: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, (issue: v.RegexIssue<string>) => string>]>, v.PicklistSchema<readonly ["deny", "readonly", "ask", "allow"], (issue: v.PicklistIssue) => string>, (issue: v.BaseIssue<unknown>) => string>, undefined>;
|
|
229
|
+
sendsPerHour: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
230
|
+
requestsPerMinute: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 0, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
|
|
231
|
+
readOtherBots: v.OptionalSchema<v.UnionSchema<[v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, v.ArraySchema<v.StringSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>], "has to be true, false, or a list of bot profiles">, undefined>;
|
|
232
|
+
}, v.ErrorMessage<v.StrictObjectIssue>>, "has to be an object of profiles, by name">, undefined>;
|
|
233
|
+
}, v.ErrorMessage<v.StrictObjectIssue>>, undefined>;
|
|
234
|
+
}, v.ErrorMessage<v.StrictObjectIssue>>;
|
|
235
|
+
export type Config = v.InferOutput<typeof configSchema>;
|
|
236
|
+
/** Which side of a profile a command speaks for: `max <p> bot …` is the bot, everything else the account. */
|
|
237
|
+
export type ProfileKind = "personal" | "bot";
|
|
238
|
+
export type ProfileSetting = keyof v.InferOutput<typeof profileSettings>;
|
|
239
|
+
export declare const PROFILE_SETTINGS: ProfileSetting[];
|
|
240
|
+
export declare const PERSONAL_ONLY_SETTINGS: ProfileSetting[];
|
|
241
|
+
export declare const DEFAULTS_ONLY_SETTINGS: readonly ["updateCheck", "skillHint", "transcribeModel"];
|
|
242
|
+
export declare const BOT_ONLY_SETTINGS: readonly ["readOtherBots"];
|
|
243
|
+
export declare const ALL_SETTINGS: string[];
|
|
244
|
+
/** Whatever the command line carried. Everything is optional: absent means "not given here". */
|
|
245
|
+
export interface GlobalFlags {
|
|
246
|
+
permission?: string[];
|
|
247
|
+
profile?: string;
|
|
248
|
+
json?: boolean;
|
|
249
|
+
jsonl?: boolean;
|
|
250
|
+
quiet?: boolean;
|
|
251
|
+
verbose?: number;
|
|
252
|
+
trace?: boolean;
|
|
253
|
+
limit?: number;
|
|
254
|
+
page?: number;
|
|
255
|
+
all?: boolean;
|
|
256
|
+
record?: boolean;
|
|
257
|
+
serve?: boolean;
|
|
258
|
+
/** Raw text from `--timeout`, parsed here so the unit rule lives in one place. */
|
|
259
|
+
timeout?: string;
|
|
260
|
+
}
|
|
261
|
+
export interface Settings extends AISettings {
|
|
262
|
+
profile: string;
|
|
263
|
+
/** Where the profile came from, decided here so nothing has to re-derive the order. */
|
|
264
|
+
json: boolean;
|
|
265
|
+
jsonl: boolean;
|
|
266
|
+
quiet: boolean;
|
|
267
|
+
/** How much of what the model knows a human view shows: `-v`, `-vv`. */
|
|
268
|
+
detail: 0 | 1 | 2;
|
|
269
|
+
trace: boolean;
|
|
270
|
+
/** Unset means "decide from the terminal", which is `resolveOutput`'s job, not this one's. */
|
|
271
|
+
color: boolean | undefined;
|
|
272
|
+
/** A colour per sender in `messages` — a matter of taste, so off until the profile asks. */
|
|
273
|
+
senderColors: boolean;
|
|
274
|
+
/** `inbox` and `review` mark each chat they show read; the other side sees it. Off unless the profile asks. */
|
|
275
|
+
catchUpMarksRead: boolean;
|
|
276
|
+
searchCatchUp?: boolean;
|
|
277
|
+
limit: number;
|
|
278
|
+
/** Which page, 1-based. Per invocation only — a page number in a configuration file is a setting nobody wants twice. */
|
|
279
|
+
page: number;
|
|
280
|
+
/** Every row, no paging. Also per invocation only. */
|
|
281
|
+
all: boolean;
|
|
282
|
+
/** Unset means the transport's own default; the number lives in `protocol/connection.ts`. */
|
|
283
|
+
timeoutMs: number | undefined;
|
|
284
|
+
/**
|
|
285
|
+
* How long the **whole command** may take, or `undefined` for no bound.
|
|
286
|
+
*
|
|
287
|
+
* ⚠ Not the same thing as `timeoutMs`, which is one request's wait. One read is a connect, an
|
|
288
|
+
* INIT, a LOGIN, a name to resolve and then the request itself, so the wall clock is a multiple
|
|
289
|
+
* of `timeoutMs` and never equal to it. An agent given thirty seconds needs to say *thirty
|
|
290
|
+
* seconds*, and this is the only setting that means that.
|
|
291
|
+
*
|
|
292
|
+
* They are spelled differently on purpose — a number of milliseconds in the file, a duration
|
|
293
|
+
* with a unit on the command line — because two settings called "timeout" that mean different
|
|
294
|
+
* things are otherwise a trap.
|
|
295
|
+
*/
|
|
296
|
+
commandTimeoutMs: number | undefined;
|
|
297
|
+
record: boolean;
|
|
298
|
+
/** A failed run is kept even unrecorded, unless recording was turned off by name (`NEED-268`). */
|
|
299
|
+
keepFailedRuns: boolean;
|
|
300
|
+
serve: boolean;
|
|
301
|
+
keepRunsForDays: number;
|
|
302
|
+
readOnly: boolean;
|
|
303
|
+
/** `undefined` is every action, as before `CLI-37`; a list is only those. */
|
|
304
|
+
allow: readonly Permission[] | undefined;
|
|
305
|
+
sendsPerHour: number;
|
|
306
|
+
/** Calls a minute across every process of the profile; 0 is no pace. Unset: MAX's default. */
|
|
307
|
+
requestsPerMinute?: number;
|
|
308
|
+
permissions: Record<string, Level>;
|
|
309
|
+
permissionSources: Record<string, string>;
|
|
310
|
+
mcpTools: readonly McpToolGroup[];
|
|
311
|
+
/** For a bot command: which other bots' copies it may read when asked (`--all-bots`, `--bots`). */
|
|
312
|
+
readOtherBots: boolean | readonly string[];
|
|
313
|
+
/** Whether a person at a terminal hears, once a day, that a newer version exists. */
|
|
314
|
+
updateCheck: boolean;
|
|
315
|
+
/** Whether an agent hears, once a day, that `max skill install` would give it this tool's guide. */
|
|
316
|
+
skillHint: boolean;
|
|
317
|
+
/** Which speech model `max messages transcribe` uses unless `--model` says otherwise. */
|
|
318
|
+
transcribeModel: string;
|
|
319
|
+
/** Named in errors and in `max --help`, so a person can find the file that decided this. */
|
|
320
|
+
configPath: string;
|
|
321
|
+
configFound: boolean;
|
|
322
|
+
kind: ProfileKind;
|
|
323
|
+
/** Profiles the configuration file names, whether or not anyone has logged in to them. */
|
|
324
|
+
configuredProfiles: string[];
|
|
325
|
+
/** Where each value came from — `max config show` prints it. */
|
|
326
|
+
sources: Record<SourcedSetting, Source>;
|
|
327
|
+
}
|
|
328
|
+
/** A value from the configuration file names the key it was read from: `config file: bot.profiles.test`. */
|
|
329
|
+
export type Source = "first word" | "flag" | "MAX_PROFILE" | "MAX_REQUESTS_PER_MINUTE" | "MAX_PROFILE_LOCK" | "MAX_TIMEOUT" | `MAX_${string}` | `config file: ${string}` | "default" | "resolved per purpose" | `config defaults: ${string}`;
|
|
330
|
+
export type SourcedSetting = keyof AISettings | "profile" | "limit" | "timeoutMs" | "commandTimeoutMs" | "color" | "senderColors" | "catchUpMarksRead" | "searchCatchUp" | "record" | "serve" | "keepRunsForDays" | "readOnly" | "allow" | "sendsPerHour" | "requestsPerMinute" | "mcpTools" | "permissions" | "readOtherBots" | "updateCheck" | "skillHint" | "transcribeModel";
|
|
331
|
+
export interface ResolveOptions {
|
|
332
|
+
env?: NodeJS.ProcessEnv;
|
|
333
|
+
/** Personal unless the command is under `max bot`. */
|
|
334
|
+
kind?: ProfileKind;
|
|
335
|
+
/** Tests pass a temporary directory; nothing else should need this. */
|
|
336
|
+
configDir?: string;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* **Flag, then environment, then the configuration file, then the built-in default.** One place,
|
|
340
|
+
* so no command can decide the order differently from another.
|
|
341
|
+
*
|
|
342
|
+
* Profile selection, the command budget and request pace accept environment overrides. Output
|
|
343
|
+
* flags remain per invocation: a variable for `--json` or `--color` would silently change the
|
|
344
|
+
* output of a command that never asked for it.
|
|
345
|
+
*
|
|
346
|
+
* Two things already jump this queue and are documented rather than re-litigated here:
|
|
347
|
+
* `MAX_TOKEN` outranks the keyring (`cli-core`'s `Credentials.read`), and `MAX_CONFIG_DIR`,
|
|
348
|
+
* `MAX_STATE_DIR` or `MAX_CACHE_DIR` move the whole installation — including which keyring entry
|
|
349
|
+
* a profile means (`ARCHITECTURE.md` §14).
|
|
350
|
+
*/
|
|
351
|
+
export declare const resolveSettings: (flags?: GlobalFlags, options?: ResolveOptions) => Settings;
|
|
352
|
+
export declare const configuredProfiles: (options?: ResolveOptions) => string[];
|
|
353
|
+
/** `30s`, `2m`, `500ms` — the one spelling of a duration, whatever it is for. */
|
|
354
|
+
export declare const parseDuration: (value: string, source: string) => number;
|
|
355
|
+
/** `30m`, `2h`, `1d` as milliseconds; anything else is `undefined`. */
|
|
356
|
+
export declare const delayMs: (value: string) => number | undefined;
|
|
357
|
+
/**
|
|
358
|
+
* Rounded down to the minute: MAX drops the seconds and sends at the start of the minute (measured
|
|
359
|
+
* 2026-09-24, `FIND-141`), so the time we print is the time it goes. A time without an offset is
|
|
360
|
+
* local, which is how `Date.parse` reads one with a clock and no zone. The delay has hours and days,
|
|
361
|
+
* unlike `--timeout`: nobody schedules a message 90 seconds ahead.
|
|
362
|
+
*/
|
|
363
|
+
export declare const sendTime: (value: string, now?: number) => number;
|
|
364
|
+
/** Where `config set` writes: one profile, or everyone, optionally narrowed to one kind. */
|
|
365
|
+
export interface SettingScope {
|
|
366
|
+
profile: string | undefined;
|
|
367
|
+
kind?: ProfileKind | undefined;
|
|
368
|
+
}
|
|
369
|
+
export declare const scopePath: ({ profile, kind }: SettingScope) => string;
|
|
370
|
+
/** The `config set` that writes where a value came from, so a refusal can say what to type. */
|
|
371
|
+
export declare const setCommandFor: (from: Source, profile: string, setting: string) => string;
|
|
372
|
+
/**
|
|
373
|
+
* Sets or removes one setting of one profile, or of `defaults`, and writes the file back.
|
|
374
|
+
* `defaultProfile` is the one top-level key, and takes no scope.
|
|
375
|
+
*
|
|
376
|
+
* **The value is checked by the same schema that reads the file**, on the whole result, before
|
|
377
|
+
* anything is written — so `config set` cannot produce a file the next command refuses to load.
|
|
378
|
+
*/
|
|
379
|
+
export declare const changeSetting: (path: string, { profile, kind, setting, value }: SettingScope & {
|
|
380
|
+
setting: string;
|
|
381
|
+
value: string | undefined;
|
|
382
|
+
}) => unknown;
|
|
383
|
+
export declare const hasPermissionConfig: (config: Config) => boolean;
|
|
384
|
+
export {};
|
|
385
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|