agent-messenger 2.38.0 → 2.39.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/.claude-plugin/plugin.json +1 -1
- package/dist/package.json +1 -1
- package/dist/src/platforms/discordbot/client-message.d.ts +15 -0
- package/dist/src/platforms/discordbot/client-message.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/client-message.js +70 -0
- package/dist/src/platforms/discordbot/client-message.js.map +1 -0
- package/dist/src/platforms/discordbot/client-threads.d.ts +10 -0
- package/dist/src/platforms/discordbot/client-threads.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/client-threads.js +31 -0
- package/dist/src/platforms/discordbot/client-threads.js.map +1 -0
- package/dist/src/platforms/discordbot/client.d.ts +14 -2
- package/dist/src/platforms/discordbot/client.d.ts.map +1 -1
- package/dist/src/platforms/discordbot/client.js +21 -28
- package/dist/src/platforms/discordbot/client.js.map +1 -1
- package/dist/src/platforms/discordbot/commands/file.d.ts +14 -10
- package/dist/src/platforms/discordbot/commands/file.d.ts.map +1 -1
- package/dist/src/platforms/discordbot/commands/file.js +58 -24
- package/dist/src/platforms/discordbot/commands/file.js.map +1 -1
- package/dist/src/platforms/discordbot/commands/message.d.ts +3 -9
- package/dist/src/platforms/discordbot/commands/message.d.ts.map +1 -1
- package/dist/src/platforms/discordbot/commands/message.js +9 -51
- package/dist/src/platforms/discordbot/commands/message.js.map +1 -1
- package/dist/src/platforms/discordbot/commands/reaction.d.ts +9 -0
- package/dist/src/platforms/discordbot/commands/reaction.d.ts.map +1 -1
- package/dist/src/platforms/discordbot/commands/reaction.js +39 -0
- package/dist/src/platforms/discordbot/commands/reaction.js.map +1 -1
- package/dist/src/platforms/discordbot/commands/shared.d.ts +36 -0
- package/dist/src/platforms/discordbot/commands/shared.d.ts.map +1 -1
- package/dist/src/platforms/discordbot/commands/shared.js +36 -0
- package/dist/src/platforms/discordbot/commands/shared.js.map +1 -1
- package/dist/src/platforms/discordbot/commands/thread.d.ts +14 -0
- package/dist/src/platforms/discordbot/commands/thread.d.ts.map +1 -1
- package/dist/src/platforms/discordbot/commands/thread.js +40 -0
- package/dist/src/platforms/discordbot/commands/thread.js.map +1 -1
- package/dist/src/platforms/discordbot/index.d.ts +1 -1
- package/dist/src/platforms/discordbot/index.d.ts.map +1 -1
- package/dist/src/platforms/discordbot/index.js.map +1 -1
- package/dist/src/platforms/discordbot/types.d.ts +68 -17
- package/dist/src/platforms/discordbot/types.d.ts.map +1 -1
- package/dist/src/platforms/discordbot/types.js +20 -16
- package/dist/src/platforms/discordbot/types.js.map +1 -1
- package/dist/src/platforms/kakaotalk/client.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/client.js +4 -32
- package/dist/src/platforms/kakaotalk/client.js.map +1 -1
- package/dist/src/platforms/kakaotalk/sync-state-store.d.ts +11 -0
- package/dist/src/platforms/kakaotalk/sync-state-store.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/sync-state-store.js +89 -0
- package/dist/src/platforms/kakaotalk/sync-state-store.js.map +1 -0
- package/dist/src/platforms/slack/cli.d.ts.map +1 -1
- package/dist/src/platforms/slack/cli.js +5 -0
- package/dist/src/platforms/slack/cli.js.map +1 -1
- package/dist/src/platforms/slack/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/slack/commands/auth.js +9 -3
- package/dist/src/platforms/slack/commands/auth.js.map +1 -1
- package/dist/src/platforms/slack/credential-manager.d.ts +2 -0
- package/dist/src/platforms/slack/credential-manager.d.ts.map +1 -1
- package/dist/src/platforms/slack/credential-manager.js +17 -3
- package/dist/src/platforms/slack/credential-manager.js.map +1 -1
- package/docs/content/docs/cli/discordbot.mdx +60 -27
- package/docs/content/docs/cli/slack.mdx +8 -1
- package/docs/content/docs/sdk/discordbot.mdx +101 -3
- package/e2e/README.md +3 -1
- package/e2e/config.ts +1 -1
- package/e2e/discordbot.e2e.test.ts +206 -11
- package/package.json +1 -1
- package/skills/agent-channeltalk/SKILL.md +1 -1
- package/skills/agent-channeltalkbot/SKILL.md +1 -1
- package/skills/agent-discord/SKILL.md +1 -1
- package/skills/agent-discordbot/SKILL.md +57 -11
- package/skills/agent-discordbot/references/authentication.md +13 -11
- package/skills/agent-discordbot/references/common-patterns.md +36 -8
- package/skills/agent-imessage/SKILL.md +1 -1
- package/skills/agent-instagram/SKILL.md +1 -1
- package/skills/agent-kakaotalk/SKILL.md +1 -1
- package/skills/agent-line/SKILL.md +1 -1
- package/skills/agent-slack/SKILL.md +9 -2
- package/skills/agent-slack/references/authentication.md +12 -0
- package/skills/agent-slack/references/common-patterns.md +18 -0
- package/skills/agent-slackbot/SKILL.md +1 -1
- package/skills/agent-teams/SKILL.md +1 -1
- package/skills/agent-telegram/SKILL.md +1 -1
- package/skills/agent-telegrambot/SKILL.md +1 -1
- package/skills/agent-webex/SKILL.md +1 -1
- package/skills/agent-webexbot/SKILL.md +1 -1
- package/skills/agent-wechatbot/SKILL.md +1 -1
- package/skills/agent-whatsapp/SKILL.md +1 -1
- package/skills/agent-whatsappbot/SKILL.md +1 -1
- package/src/platforms/discordbot/client-message.ts +91 -0
- package/src/platforms/discordbot/client-threads.test.ts +177 -0
- package/src/platforms/discordbot/client-threads.ts +69 -0
- package/src/platforms/discordbot/client.test.ts +277 -1
- package/src/platforms/discordbot/client.ts +60 -40
- package/src/platforms/discordbot/commands/file.test.ts +242 -90
- package/src/platforms/discordbot/commands/file.ts +78 -36
- package/src/platforms/discordbot/commands/message.test.ts +183 -26
- package/src/platforms/discordbot/commands/message.ts +13 -61
- package/src/platforms/discordbot/commands/reaction.test.ts +73 -1
- package/src/platforms/discordbot/commands/reaction.ts +46 -0
- package/src/platforms/discordbot/commands/shared.test.ts +98 -0
- package/src/platforms/discordbot/commands/shared.ts +67 -0
- package/src/platforms/discordbot/commands/thread.test.ts +58 -1
- package/src/platforms/discordbot/commands/thread.ts +58 -0
- package/src/platforms/discordbot/index.ts +3 -0
- package/src/platforms/discordbot/types.test.ts +46 -0
- package/src/platforms/discordbot/types.ts +44 -19
- package/src/platforms/kakaotalk/client-listener-integration.test.ts +21 -3
- package/src/platforms/kakaotalk/client.test.ts +42 -4
- package/src/platforms/kakaotalk/client.ts +4 -39
- package/src/platforms/kakaotalk/sync-state-store.test.ts +197 -0
- package/src/platforms/kakaotalk/sync-state-store.ts +99 -0
- package/src/platforms/slack/cli.test.ts +111 -1
- package/src/platforms/slack/cli.ts +5 -0
- package/src/platforms/slack/commands/auth.ts +14 -3
- package/src/platforms/slack/credential-manager.ts +21 -3
- package/src/platforms/slack/credential-manager.workspace-select.test.ts +70 -0
|
@@ -4,7 +4,7 @@ import { handleError } from '../../../shared/utils/error-handler.js';
|
|
|
4
4
|
import { formatOutput } from '../../../shared/utils/output.js';
|
|
5
5
|
import { debug } from '../../../shared/utils/stderr.js';
|
|
6
6
|
import { SlackClient, SlackError } from '../client.js';
|
|
7
|
-
import { CredentialManager } from '../credential-manager.js';
|
|
7
|
+
import { CredentialManager, getSelectedWorkspaceId } from '../credential-manager.js';
|
|
8
8
|
import { refreshCookie, refreshKnownWorkspaceDomains, tryWebTokenRefresh } from '../ensure-auth.js';
|
|
9
9
|
import { loginWithQr } from '../qr-http-login.js';
|
|
10
10
|
import { TokenExtractor } from '../token-extractor.js';
|
|
@@ -157,7 +157,7 @@ async function logoutAction(workspace, options) {
|
|
|
157
157
|
try {
|
|
158
158
|
const credManager = new CredentialManager();
|
|
159
159
|
const config = await credManager.load();
|
|
160
|
-
let targetWorkspace = workspace;
|
|
160
|
+
let targetWorkspace = workspace ?? getSelectedWorkspaceId() ?? undefined;
|
|
161
161
|
if (!targetWorkspace) {
|
|
162
162
|
if (!config.current_workspace) {
|
|
163
163
|
console.log(formatOutput({ error: 'No current workspace set. Specify a workspace ID.' }, options.pretty));
|
|
@@ -184,7 +184,13 @@ async function statusAction(options) {
|
|
|
184
184
|
const credManager = new CredentialManager();
|
|
185
185
|
const ws = await credManager.getWorkspace();
|
|
186
186
|
if (!ws) {
|
|
187
|
-
|
|
187
|
+
const selectedWorkspace = getSelectedWorkspaceId();
|
|
188
|
+
console.log(formatOutput(selectedWorkspace
|
|
189
|
+
? {
|
|
190
|
+
error: `Workspace not found: ${selectedWorkspace}`,
|
|
191
|
+
hint: 'Run "workspace list" to see available workspaces.',
|
|
192
|
+
}
|
|
193
|
+
: { error: 'No current workspace set. Run "auth extract" first.' }, options.pretty));
|
|
188
194
|
process.exit(1);
|
|
189
195
|
}
|
|
190
196
|
let authInfo = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../src/platforms/slack/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAE7C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEhG,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAA2B,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAE5E,MAAM,UAAU,qBAAqB,CAAC,EAAsB,EAAE,WAAqB;IACjF,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAA;IAC/E,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IACjF,OAAO,GAAG,EAAE,CAAC,YAAY,WAAW,YAAY,YAAY,aAAa,EAAE,CAAA;AAC7E,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAK5B;IACC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAA;QACtB,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACrF,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;QAEvG,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACf,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAA;YACrD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACf,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAA;YACvE,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAA;YAC3E,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;YACnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACf,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;YAC9B,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAA;YAC7E,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAA;YACzE,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAA;YACtF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACf,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAA;YACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,CAAC,4BAA4B,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAC9D,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAA;QAE5C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,CAAC,iBAAiB,UAAU,CAAC,MAAM,eAAe,CAAC,CAAA;YACxD,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC5B,KAAK,CAAC,aAAa,qBAAqB,CAAC,EAAE,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAA;YAC9E,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CACT,YAAY,CACV;gBACE,KAAK,EAAE,2BAA2B,EAAE;gBACpC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iCAAiC;aACpE,EACD,OAAO,CAAC,MAAM,CACf,CACF,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAE,CAAA;QAC3C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAA;QACvC,MAAM,gBAAgB,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAA;QAExD,MAAM,eAAe,GAAG,EAAE,CAAA;QAC1B,MAAM,cAAc,GAAa,EAAE,CAAA;QACnC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAA;QACzC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAgC,CAAA;QAC5D,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,KAAK,CAAC,mCAAmC,EAAE,CAAC,YAAY,KAAK,CAAC,CAAA;YAChE,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;gBACpF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;gBACxC,IAAI,CAAC,QAAQ,CAAC,OAAO;oBAAE,MAAM,IAAI,UAAU,CAAC,iCAAiC,EAAE,cAAc,CAAC,CAAA;gBAC9F,EAAE,CAAC,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAA;gBAClC,EAAE,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,cAAc,CAAA;gBACtD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC1C,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,CAAA;oBACpC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBACxB,MAAM,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;gBACpC,CAAC;gBAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,KAAK,CAAC,oBAAoB,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;gBAC/D,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;gBACjE,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC3B,CAAC;gBACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,KAAK,CAAC,sBAAuB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;gBACzD,CAAC;gBAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAA;oBAChD,MAAM,MAAM,GAAG,MAAM;wBACnB,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,KAAK,MAAM,aAAa;wBAC5C,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,6BAA6B,CAAA;oBACnD,KAAK,CAAC,4CAA4C,MAAM,KAAK,CAAC,CAAA;gBAChE,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,EAAE,EAAE,gBAAgB,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,CAAA;gBACnG,IAAI,SAAS,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9D,EAAE,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;oBAC1B,EAAE,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAA;oBACxC,EAAE,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAA;oBAC5C,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,CAAA;oBACpC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBACxB,MAAM,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;oBAElC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;wBAClB,KAAK,CAAC,oCAAoC,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC,CAAA;oBACjG,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACzB,KAAK,CAAC,8BAA8B,CAAC,CAAA;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAChF,MAAM,UAAU,GAAG,MAAM,4BAA4B,CAAC,MAAM,EAAE,gBAAgB,EAAE;gBAC9E,eAAe;gBACf,YAAY;aACb,CAAC,CAAA;YACF,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;gBAChC,MAAM,EAAE,GAAuB;oBAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM;iBACP,CAAA;gBACD,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACxB,MAAM,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;gBAClC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,KAAK,CAAC,+CAA+C,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC,CAAA;gBACtG,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAA;YAC9D,OAAO,CAAC,GAAG,CACT,YAAY,CACV;gBACE,KAAK,EAAE,YAAY;gBACnB,eAAe,EAAE,UAAU,CAAC,MAAM;gBAClC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oCAAoC;aACvE,EACD,OAAO,CAAC,MAAM,CACf,CACF,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,WAAW,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;QACxE,CAAC;QAED,MAAM,MAAM,GAAG;YACb,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC;YAClF,OAAO,EAAE,MAAM,CAAC,iBAAiB,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY;SACrE,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAc,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,SAA6B,EAAE,OAA6B;IACtF,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAE,CAAA;QAC3C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAA;QAEvC,IAAI,eAAe,GAAG,SAAS,CAAA;QAE/B,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,mDAAmD,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;gBACzG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAA;QAC5C,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CACT,YAAY,CACV;gBACE,KAAK,EAAE,wBAAwB,eAAe,EAAE;gBAChD,IAAI,EAAE,mDAAmD;aAC1D,EACD,OAAO,CAAC,MAAM,CACf,CACF,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;QAElD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IACxF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAc,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAA6B;IACvD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAE,CAAA;QAC3C,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,CAAA;QAE3C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,qDAAqD,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;YAC3G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,QAAQ,GAA8E,IAAI,CAAA;QAC9F,IAAI,KAAK,GAAG,KAAK,CAAA;QAEjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;YACpF,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;YAClC,KAAK,GAAG,IAAI,CAAA;QACd,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,MAAM,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;YACrD,KAAK,GAAG,QAAQ,KAAK,IAAI,CAAA;QAC3B,CAAC;QAED,MAAM,MAAM,GAAG;YACb,YAAY,EAAE,EAAE,CAAC,YAAY;YAC7B,cAAc,EAAE,EAAE,CAAC,cAAc;YACjC,IAAI,EAAE,QAAQ,EAAE,IAAI;YACpB,IAAI,EAAE,QAAQ,EAAE,IAAI;YACpB,KAAK;SACN,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAc,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAA4B,EAAE,OAA8C;IAClG,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC,CAAA;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CACT,YAAY,CACV;gBACE,KAAK,EAAE,+FAA+F;gBACtG,IAAI,EAAE,iGAAiG;aACxG,EACD,OAAO,CAAC,MAAM,CACf,CACF,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACrF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAE/D,MAAM,MAAM,GAAG,MAAM,IAAI,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAC9F,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;QAExC,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAE,CAAA;QAC3C,MAAM,SAAS,GAAuB;YACpC,YAAY,EAAE,QAAQ,CAAC,OAAO;YAC9B,cAAc,EAAE,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS;YAClD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAA;QACD,MAAM,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAEzC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC9B,MAAM,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAC/D,CAAC;QAED,OAAO,CAAC,GAAG,CACT,YAAY,CACV;YACE,SAAS,EAAE,GAAG,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,cAAc,EAAE;YAClE,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,iBAAiB;SACtD,EACD,OAAO,CAAC,MAAM,CACf,CACF,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAc,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IAChB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACjC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,IAAI,IAAI,KAAK,CAAA;QACf,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,cAAwB;IAChE,IAAI,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC9C,OAAO,4JAA4J,CAAA;IACrK,CAAC;IACD,IAAI,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5C,OAAO,8IAA8I,CAAA;IACvJ,CAAC;IACD,OAAO,uHAAuH,CAAA;AAChI,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO,8GAA8G,CAAA;AACvH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,yBAAyB,CAAC;KACtC,UAAU,CACT,IAAI,OAAO,CAAC,SAAS,CAAC;KACnB,WAAW,CAAC,uEAAuE,CAAC;KACpF,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;KAC9C,MAAM,CAAC,SAAS,EAAE,uCAAuC,CAAC;KAC1D,MAAM,CACL,0BAA0B,EAC1B,iGAAiG,EACjG,2BAA2B,EAC3B,EAAE,CACH;KACA,MAAM,CAAC,yBAAyB,EAAE,mDAAmD,CAAC;KACtF,MAAM,CAAC,CAAC,OAAmE,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAC3G;KACA,UAAU,CACT,IAAI,OAAO,CAAC,IAAI,CAAC;KACd,WAAW,CAAC,2EAA2E,CAAC;KACxF,QAAQ,CAAC,SAAS,EAAE,2EAA2E,CAAC;KAChG,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;KAC9C,MAAM,CAAC,SAAS,EAAE,uCAAuC,CAAC;KAC1D,MAAM,CAAC,QAAQ,CAAC,CACpB;KACA,UAAU,CACT,IAAI,OAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,uBAAuB,CAAC;KACpC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;KACvC,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;KAC9C,MAAM,CAAC,YAAY,CAAC,CACxB;KACA,UAAU,CACT,IAAI,OAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;KAC9C,MAAM,CAAC,YAAY,CAAC,CACxB,CAAA"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../src/platforms/slack/commands/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { Config, WorkspaceCredentials } from './types.js';
|
|
2
|
+
export declare function setSelectedWorkspaceId(id: string | null): void;
|
|
3
|
+
export declare function getSelectedWorkspaceId(): string | null;
|
|
2
4
|
export declare class SlackCredentialManager {
|
|
3
5
|
private configDir;
|
|
4
6
|
private credentialsPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-manager.d.ts","sourceRoot":"","sources":["../../../../src/platforms/slack/credential-manager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"credential-manager.d.ts","sourceRoot":"","sources":["../../../../src/platforms/slack/credential-manager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAQ3D,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAE9D;AAED,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAEtD;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,eAAe,CAAQ;IAE/B,YAAY,SAAS,CAAC,EAAE,MAAM,EAG7B;IAEK,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAU5B;IAEK,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxC;IAEK,YAAY,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAkCpE;IAEK,YAAY,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7D;IAEK,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS/C;IAEK,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAInD;CACF;AAED,OAAO,EAAE,sBAAsB,IAAI,iBAAiB,EAAE,CAAA"}
|
|
@@ -2,6 +2,17 @@ import { existsSync } from 'node:fs';
|
|
|
2
2
|
import { chmod, mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { getConfigDir } from '../../shared/utils/config-dir.js';
|
|
5
|
+
// Process-wide workspace selection set from the CLI `--workspace <id>` global flag (see
|
|
6
|
+
// the preAction hook in cli.ts). When present it makes commands target that workspace for
|
|
7
|
+
// this single CLI invocation WITHOUT mutating the persisted current_workspace, so the
|
|
8
|
+
// default (no-flag) path and any long-lived watcher keep resolving to current_workspace.
|
|
9
|
+
let selectedWorkspaceId = null;
|
|
10
|
+
export function setSelectedWorkspaceId(id) {
|
|
11
|
+
selectedWorkspaceId = id;
|
|
12
|
+
}
|
|
13
|
+
export function getSelectedWorkspaceId() {
|
|
14
|
+
return selectedWorkspaceId;
|
|
15
|
+
}
|
|
5
16
|
export class SlackCredentialManager {
|
|
6
17
|
configDir;
|
|
7
18
|
credentialsPath;
|
|
@@ -25,6 +36,9 @@ export class SlackCredentialManager {
|
|
|
25
36
|
await chmod(this.credentialsPath, 0o600);
|
|
26
37
|
}
|
|
27
38
|
async getWorkspace(id) {
|
|
39
|
+
// An explicit id wins; otherwise fall back to the process-wide `--workspace` selection.
|
|
40
|
+
// When neither is set, behaviour is unchanged (resolves to current_workspace below).
|
|
41
|
+
const resolvedId = id ?? selectedWorkspaceId ?? undefined;
|
|
28
42
|
// Check env vars first (take precedence over file-based credentials)
|
|
29
43
|
// Only use env credentials if no specific id requested, or id matches env workspace
|
|
30
44
|
const envToken = process.env.E2E_SLACK_TOKEN;
|
|
@@ -32,7 +46,7 @@ export class SlackCredentialManager {
|
|
|
32
46
|
const envWorkspaceId = process.env.E2E_SLACK_WORKSPACE_ID;
|
|
33
47
|
const envWorkspaceName = process.env.E2E_SLACK_WORKSPACE_NAME;
|
|
34
48
|
if (envToken && envCookie && envWorkspaceId && envWorkspaceName) {
|
|
35
|
-
if (!
|
|
49
|
+
if (!resolvedId || resolvedId === envWorkspaceId) {
|
|
36
50
|
return {
|
|
37
51
|
token: envToken,
|
|
38
52
|
cookie: envCookie,
|
|
@@ -42,8 +56,8 @@ export class SlackCredentialManager {
|
|
|
42
56
|
}
|
|
43
57
|
}
|
|
44
58
|
const config = await this.load();
|
|
45
|
-
if (
|
|
46
|
-
return config.workspaces[
|
|
59
|
+
if (resolvedId) {
|
|
60
|
+
return config.workspaces[resolvedId] ?? null;
|
|
47
61
|
}
|
|
48
62
|
if (!config.current_workspace) {
|
|
49
63
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-manager.js","sourceRoot":"","sources":["../../../../src/platforms/slack/credential-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAG5D,MAAM,OAAO,sBAAsB;IACzB,SAAS,CAAQ;IACjB,eAAe,CAAQ;IAE/B,YAAY,SAAkB;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,YAAY,EAAE,CAAA;QAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAA;IACvE,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACtC,OAAO;gBACL,iBAAiB,EAAE,IAAI;gBACvB,UAAU,EAAE,EAAE;aACf,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAW,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc;QACvB,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAEhD,MAAM,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACtE,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAW;QAC5B,qEAAqE;QACrE,oFAAoF;QACpF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAA;QAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAA;QAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAA;QACzD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAA;QAE7D,IAAI,QAAQ,IAAI,SAAS,IAAI,cAAc,IAAI,gBAAgB,EAAE,CAAC;YAChE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"credential-manager.js","sourceRoot":"","sources":["../../../../src/platforms/slack/credential-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,7 +63,7 @@ Without this, the bot won't receive message content in large servers.
|
|
|
63
63
|
agent-discordbot auth set <token>
|
|
64
64
|
|
|
65
65
|
# Set with a custom bot identifier for multi-bot setups
|
|
66
|
-
agent-discordbot auth set <token> --bot deploy
|
|
66
|
+
agent-discordbot auth set <token> --bot deploy
|
|
67
67
|
|
|
68
68
|
# Check bot auth status
|
|
69
69
|
agent-discordbot auth status
|
|
@@ -87,8 +87,8 @@ Store multiple bot tokens and switch between them:
|
|
|
87
87
|
|
|
88
88
|
```bash
|
|
89
89
|
# Add multiple bots
|
|
90
|
-
agent-discordbot auth set deploy-bot-token --bot deploy
|
|
91
|
-
agent-discordbot auth set alert-bot-token --bot alert
|
|
90
|
+
agent-discordbot auth set deploy-bot-token --bot deploy
|
|
91
|
+
agent-discordbot auth set alert-bot-token --bot alert
|
|
92
92
|
|
|
93
93
|
# List all stored bots
|
|
94
94
|
agent-discordbot auth list
|
|
@@ -105,14 +105,15 @@ agent-discordbot auth remove deploy
|
|
|
105
105
|
|
|
106
106
|
### Permissions Reference
|
|
107
107
|
|
|
108
|
-
| Permission
|
|
109
|
-
|
|
|
110
|
-
| Send Messages
|
|
111
|
-
|
|
|
112
|
-
|
|
|
113
|
-
|
|
|
114
|
-
|
|
|
115
|
-
|
|
|
108
|
+
| Permission | Used For |
|
|
109
|
+
| ------------------------ | ---------------------------------------------------------------------------- |
|
|
110
|
+
| Send Messages | Sending messages to channels |
|
|
111
|
+
| Send Messages in Threads | Posting into threads with `--thread` (`message send`, `file upload`) |
|
|
112
|
+
| Read Message History | Reading past messages, replying with `--reply`, and `thread list --archived` |
|
|
113
|
+
| View Channels | Listing and accessing channels |
|
|
114
|
+
| Add Reactions | Adding and removing emoji reactions |
|
|
115
|
+
| Attach Files | Uploading files to channels and threads |
|
|
116
|
+
| Manage Threads | Creating and archiving threads |
|
|
116
117
|
|
|
117
118
|
### Environment Variables (CI/CD)
|
|
118
119
|
|
|
@@ -159,8 +160,12 @@ agent-discordbot message send general "Hello world"
|
|
|
159
160
|
# Reply to a message
|
|
160
161
|
agent-discordbot message send general "On it!" --reply 9876543210987654321
|
|
161
162
|
|
|
162
|
-
# Send a message into a thread
|
|
163
|
-
|
|
163
|
+
# Send a message into a thread. --thread takes a thread ID or an active
|
|
164
|
+
# thread name in that channel. The message lands in the thread, so the
|
|
165
|
+
# response's channel_id is the thread ID, not the parent channel.
|
|
166
|
+
agent-discordbot thread list general # find the thread ID
|
|
167
|
+
agent-discordbot message send general "Hello" --thread 9876543210987654321
|
|
168
|
+
agent-discordbot message send general "Hello" --thread "Release notes"
|
|
164
169
|
|
|
165
170
|
# List messages
|
|
166
171
|
agent-discordbot message list <channel>
|
|
@@ -196,7 +201,6 @@ agent-discordbot channel info general
|
|
|
196
201
|
```bash
|
|
197
202
|
# List server members
|
|
198
203
|
agent-discordbot user list
|
|
199
|
-
agent-discordbot user list --limit 50
|
|
200
204
|
|
|
201
205
|
# Get user info
|
|
202
206
|
agent-discordbot user info <user-id>
|
|
@@ -211,19 +215,39 @@ agent-discordbot reaction add general 9876543210987654321 thumbsup
|
|
|
211
215
|
|
|
212
216
|
# Remove reaction
|
|
213
217
|
agent-discordbot reaction remove <channel> <message-id> <emoji>
|
|
218
|
+
|
|
219
|
+
# List reactions on a message (emoji, count, and whether the bot reacted)
|
|
220
|
+
agent-discordbot reaction list <channel> <message-id>
|
|
214
221
|
```
|
|
215
222
|
|
|
216
223
|
### File Commands
|
|
217
224
|
|
|
218
225
|
```bash
|
|
219
|
-
# Upload
|
|
220
|
-
agent-discordbot file upload <channel> <file-path>
|
|
226
|
+
# Upload one or more files (max 10) to a channel
|
|
227
|
+
agent-discordbot file upload <channel> <file-path...> [--text <text>] [--thread <id|name>] [--reply <message-id>] [--filename <name>]
|
|
221
228
|
agent-discordbot file upload general ./report.pdf
|
|
229
|
+
agent-discordbot file upload general ./report.pdf ./chart.png --text "Weekly numbers"
|
|
230
|
+
|
|
231
|
+
# Upload into a thread (same --thread rules as message send)
|
|
232
|
+
agent-discordbot file upload general ./log.txt --thread "Release notes"
|
|
233
|
+
|
|
234
|
+
# Upload as a reply to a message
|
|
235
|
+
agent-discordbot file upload general ./fix.patch --reply 9876543210987654321
|
|
222
236
|
|
|
223
|
-
#
|
|
237
|
+
# Override the filename (single file only)
|
|
238
|
+
agent-discordbot file upload general ./tmp/abc123.txt --filename notes.txt
|
|
239
|
+
|
|
240
|
+
# List files in channel (attachments of the latest 100 messages, one request)
|
|
224
241
|
agent-discordbot file list <channel>
|
|
242
|
+
|
|
243
|
+
# Get a single file by attachment ID (searches back through the latest 1,000 messages)
|
|
244
|
+
agent-discordbot file info <channel> <file-id>
|
|
225
245
|
```
|
|
226
246
|
|
|
247
|
+
`file list` reads a single page of channel history, so it stays fast on busy channels. `file info` pages further back with `before` cursors and stops at the first matching attachment; a file older than the latest 1,000 messages reports `File not found`.
|
|
248
|
+
|
|
249
|
+
The upload response includes `message_id`, `channel_id` (the thread ID when `--thread` is used), and a `files` array with each attachment's `id`, `filename`, `size`, and `url`. Discord enforces the per-file size limit; oversized uploads come back as an error instead of being rejected locally.
|
|
250
|
+
|
|
227
251
|
### Thread Commands
|
|
228
252
|
|
|
229
253
|
```bash
|
|
@@ -231,6 +255,13 @@ agent-discordbot file list <channel>
|
|
|
231
255
|
agent-discordbot thread create <channel> <name>
|
|
232
256
|
agent-discordbot thread create general "Discussion" --auto-archive-duration 1440
|
|
233
257
|
|
|
258
|
+
# List active threads in the server, or only those under one channel
|
|
259
|
+
agent-discordbot thread list
|
|
260
|
+
agent-discordbot thread list <channel>
|
|
261
|
+
|
|
262
|
+
# List archived threads (a channel is required; returns up to 100 with has_more)
|
|
263
|
+
agent-discordbot thread list <channel> --archived
|
|
264
|
+
|
|
234
265
|
# Archive a thread
|
|
235
266
|
agent-discordbot thread archive <thread-id>
|
|
236
267
|
```
|
|
@@ -269,16 +300,18 @@ With `--full`, returns comprehensive JSON with:
|
|
|
269
300
|
|
|
270
301
|
## Key Differences from agent-discord
|
|
271
302
|
|
|
272
|
-
| Feature | agent-discord | agent-discordbot
|
|
273
|
-
| --------------------------- | ------------------------------- |
|
|
274
|
-
| Token type | User token | Bot token
|
|
275
|
-
| Token source | Auto-extracted from desktop app | Manual from Developer Portal
|
|
276
|
-
| Message search | Yes | No
|
|
277
|
-
| DM commands | Yes | No
|
|
278
|
-
| Mention/Friend/Note/Profile | Yes | No
|
|
279
|
-
| Thread management | Yes | Yes
|
|
280
|
-
|
|
|
281
|
-
|
|
|
303
|
+
| Feature | agent-discord | agent-discordbot |
|
|
304
|
+
| --------------------------- | ------------------------------- | ------------------------------------------ |
|
|
305
|
+
| Token type | User token | Bot token |
|
|
306
|
+
| Token source | Auto-extracted from desktop app | Manual from Developer Portal |
|
|
307
|
+
| Message search | Yes | No |
|
|
308
|
+
| DM commands | Yes | No |
|
|
309
|
+
| Mention/Friend/Note/Profile | Yes | No |
|
|
310
|
+
| Thread management | Yes | Yes (create, list, archive) |
|
|
311
|
+
| File upload | Yes | Yes (multi-file, into threads, as replies) |
|
|
312
|
+
| Reactions | Yes | Yes (add, remove, list) |
|
|
313
|
+
| Multi-bot support | N/A | Yes (`--bot` flag) |
|
|
314
|
+
| CI/CD friendly | Requires desktop app | Yes |
|
|
282
315
|
|
|
283
316
|
## Global Options
|
|
284
317
|
|
|
@@ -85,11 +85,18 @@ agent-slack workspace remove <workspace-id>
|
|
|
85
85
|
# Check auth status
|
|
86
86
|
agent-slack auth status
|
|
87
87
|
|
|
88
|
-
# Logout from a workspace (defaults to current)
|
|
88
|
+
# Logout from a workspace (defaults to the --workspace selection, then current)
|
|
89
89
|
agent-slack auth logout
|
|
90
90
|
agent-slack auth logout <workspace-id>
|
|
91
|
+
|
|
92
|
+
# Run one command against another workspace without switching
|
|
93
|
+
agent-slack --workspace <workspace-id> channel list
|
|
94
|
+
agent-slack --workspace <workspace-id> auth status
|
|
95
|
+
agent-slack --workspace <workspace-id> auth logout
|
|
91
96
|
```
|
|
92
97
|
|
|
98
|
+
The global `--workspace <id>` flag goes before the command and applies to every command that uses a stored workspace, including `auth status` and `auth logout`. It targets that workspace for this one invocation only and does not change the current workspace. If the id is not stored, `auth status` fails with `Workspace not found: <id>`. `auth extract` and `auth qr` discover workspaces instead of targeting one, so the flag does not affect them; they set the current workspace only when none is set yet.
|
|
99
|
+
|
|
93
100
|
## Commands
|
|
94
101
|
|
|
95
102
|
### Whoami Command
|
|
@@ -76,9 +76,10 @@ const sameId = await client.resolveChannel(guildId, '1234567890123456789')
|
|
|
76
76
|
// Send a message to a channel
|
|
77
77
|
const msg = await client.sendMessage(channelId, 'Hello world')
|
|
78
78
|
|
|
79
|
-
// Send a message
|
|
79
|
+
// Send a message into a thread. The request is posted to the thread itself,
|
|
80
|
+
// so the returned channel_id is the thread ID, not channelId.
|
|
80
81
|
const reply = await client.sendMessage(channelId, 'Reply', { thread_id: threadId })
|
|
81
|
-
// → DiscordMessage { id, channel_id, author, content, timestamp }
|
|
82
|
+
// → DiscordMessage { id, channel_id: threadId, author, content, timestamp, attachments? }
|
|
82
83
|
|
|
83
84
|
// Reply to a specific message
|
|
84
85
|
const replyToMsg = await client.sendMessage(channelId, 'On it!', { reply_to: messageId })
|
|
@@ -101,6 +102,30 @@ const edited = await client.editMessage(channelId, messageId, 'Updated content')
|
|
|
101
102
|
await client.deleteMessage(channelId, messageId)
|
|
102
103
|
```
|
|
103
104
|
|
|
105
|
+
#### createMessage
|
|
106
|
+
|
|
107
|
+
`createMessage` is the single entry point behind `sendMessage` and `uploadFile`. It takes text, files, a reply target, and a thread in one call and returns the created `DiscordMessage`, including its `attachments`.
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
const created = await client.createMessage(channelId, {
|
|
111
|
+
content: 'Build artifacts attached',
|
|
112
|
+
files: [{ path: '/tmp/report.pdf' }, { path: '/tmp/log.txt', filename: 'build-log.txt' }],
|
|
113
|
+
reply_to: messageId,
|
|
114
|
+
thread_id: threadId,
|
|
115
|
+
})
|
|
116
|
+
// → DiscordMessage { id, channel_id: threadId, content, attachments: DiscordFile[], ... }
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
How the request is built:
|
|
120
|
+
|
|
121
|
+
- With no `files`, the message is sent as a plain JSON body (`content`, `message_reference`).
|
|
122
|
+
- With `files`, the client sends `multipart/form-data`: a `payload_json` part carrying `content`, `message_reference`, and an `attachments` list, plus one `files[n]` part per file. Files are read from disk with `node:fs/promises`.
|
|
123
|
+
- `thread_id` changes the target path to `/channels/{thread_id}/messages`. Discord's Create Message body has no thread field, so this is the only way a message lands in a thread. Posting to an archived thread by ID unarchives it unless the thread is locked.
|
|
124
|
+
- `reply_to` becomes `message_reference: { message_id }`.
|
|
125
|
+
- `filename` overrides the name Discord shows for that file. It's taken as a basename, so it can't contain `/` or `\`, and it can't be empty, `.`, or `..`.
|
|
126
|
+
|
|
127
|
+
Validation happens before any request goes out. An empty `content` with no files throws `empty_message`, more than 10 files throws `too_many_files`, and a bad `filename` throws `invalid_filename`. Discord enforces the per-file size limit server-side; when an upload exceeds it, the client surfaces Discord error `40005` (or HTTP 413) with a message that explains the cause.
|
|
128
|
+
|
|
104
129
|
### Reactions
|
|
105
130
|
|
|
106
131
|
```typescript
|
|
@@ -131,11 +156,34 @@ const user = await client.getUser(userId)
|
|
|
131
156
|
const file = await client.uploadFile(channelId, '/path/to/report.pdf')
|
|
132
157
|
// → DiscordFile { id, filename, size, url, content_type?, height?, width? }
|
|
133
158
|
|
|
134
|
-
//
|
|
159
|
+
// Optional third parameter: caption, display name, reply target, thread
|
|
160
|
+
const inThread = await client.uploadFile(channelId, '/path/to/report.pdf', {
|
|
161
|
+
content: 'Weekly report',
|
|
162
|
+
filename: 'report-2026-09.pdf',
|
|
163
|
+
reply_to: messageId,
|
|
164
|
+
thread_id: threadId,
|
|
165
|
+
})
|
|
166
|
+
// → DiscordFile (the first attachment of the created message)
|
|
167
|
+
|
|
168
|
+
// Several files in one message: use createMessage and read the attachments back
|
|
169
|
+
const batch = await client.createMessage(channelId, {
|
|
170
|
+
content: 'Screenshots',
|
|
171
|
+
files: [{ path: '/tmp/a.png' }, { path: '/tmp/b.png' }, { path: '/tmp/c.png' }],
|
|
172
|
+
})
|
|
173
|
+
// → batch.attachments: DiscordFile[] (up to 10 per message)
|
|
174
|
+
|
|
175
|
+
// List file attachments from recent messages in a channel (one page, latest 100 messages)
|
|
135
176
|
const files = await client.listFiles(channelId)
|
|
136
177
|
// → DiscordFile[]
|
|
178
|
+
|
|
179
|
+
// Look up one attachment by ID; pages back with before cursors and stops at the first match
|
|
180
|
+
const found = await client.findFile(channelId, fileId)
|
|
181
|
+
// → DiscordFile | undefined
|
|
137
182
|
```
|
|
138
183
|
|
|
184
|
+
`listFiles` always makes exactly one request. `findFile` scans up to 10 pages (the latest 1,000 messages) and
|
|
185
|
+
returns `undefined` when the attachment is not in that range.
|
|
186
|
+
|
|
139
187
|
### Threads
|
|
140
188
|
|
|
141
189
|
```typescript
|
|
@@ -151,8 +199,25 @@ const configured = await client.createThread(channelId, 'Design Review', {
|
|
|
151
199
|
await client.archiveThread(threadId)
|
|
152
200
|
await client.archiveThread(threadId, false) // unarchive
|
|
153
201
|
// → DiscordChannel
|
|
202
|
+
|
|
203
|
+
// List active threads in a server, optionally narrowed to one parent channel
|
|
204
|
+
const active = await client.listThreads(guildId)
|
|
205
|
+
const inChannel = await client.listThreads(guildId, { parentId: channelId })
|
|
206
|
+
// → DiscordThreadListResult { threads: DiscordChannel[] }
|
|
207
|
+
|
|
208
|
+
// List archived public threads of a channel (one page of up to 100)
|
|
209
|
+
const archived = await client.listThreads(guildId, { parentId: channelId, archived: true })
|
|
210
|
+
// → DiscordThreadListResult { threads, has_more? }
|
|
211
|
+
|
|
212
|
+
// Resolve a thread name (or ID) to a thread ID
|
|
213
|
+
const resolvedId = await client.resolveThread(guildId, channelId, 'bug-report-login')
|
|
214
|
+
const sameThreadId = await client.resolveThread(guildId, channelId, '1234567890123456789')
|
|
154
215
|
```
|
|
155
216
|
|
|
217
|
+
`listThreads` with `archived: true` needs `parentId`; without it the call throws `parent_required`. Active threads come from a single guild-wide request and are filtered by `parent_id` on the client.
|
|
218
|
+
|
|
219
|
+
`resolveThread` returns a numeric ID as-is without any lookup. A name (with or without a leading `#`) is matched against the active threads of that parent channel in one request. Two or more matches throw `thread_ambiguous` with the candidate IDs in the message; no match throws `thread_not_found`. Archived threads aren't searched by name. Find them with `listThreads(..., { archived: true })` and target them by ID.
|
|
220
|
+
|
|
156
221
|
## Real-Time Events
|
|
157
222
|
|
|
158
223
|
`DiscordBotListener` connects to Discord's [Gateway WebSocket](https://discord.com/developers/docs/topics/gateway) for instant event streaming — messages, reactions, slash command interactions, member changes, and more. No webhook server required.
|
|
@@ -285,11 +350,13 @@ await manager.setCurrentServer('1234567890123456789', 'My Server')
|
|
|
285
350
|
|
|
286
351
|
```typescript
|
|
287
352
|
import type {
|
|
353
|
+
DiscordAttachmentInput,
|
|
288
354
|
DiscordBotConfig,
|
|
289
355
|
DiscordBotCredentials,
|
|
290
356
|
DiscordBotEntry,
|
|
291
357
|
DiscordBotListenerEventMap,
|
|
292
358
|
DiscordChannel,
|
|
359
|
+
DiscordCreateMessageOptions,
|
|
293
360
|
DiscordFile,
|
|
294
361
|
DiscordGatewayChannelEvent,
|
|
295
362
|
DiscordGatewayEvent,
|
|
@@ -306,10 +373,34 @@ import type {
|
|
|
306
373
|
DiscordGuild,
|
|
307
374
|
DiscordMessage,
|
|
308
375
|
DiscordReaction,
|
|
376
|
+
DiscordThreadListResult,
|
|
309
377
|
DiscordUser,
|
|
310
378
|
} from 'agent-messenger/discordbot'
|
|
311
379
|
```
|
|
312
380
|
|
|
381
|
+
Shapes used by `createMessage` and the thread helpers:
|
|
382
|
+
|
|
383
|
+
```typescript
|
|
384
|
+
interface DiscordAttachmentInput {
|
|
385
|
+
path: string // local file path
|
|
386
|
+
filename?: string // display name override (basename only)
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
interface DiscordCreateMessageOptions {
|
|
390
|
+
content?: string
|
|
391
|
+
files?: DiscordAttachmentInput[] // at most 10
|
|
392
|
+
reply_to?: string // message ID to reply to
|
|
393
|
+
thread_id?: string // post into this thread instead of the channel
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
interface DiscordThreadListResult {
|
|
397
|
+
threads: DiscordChannel[]
|
|
398
|
+
has_more?: boolean // only set for archived listings
|
|
399
|
+
}
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
`DiscordMessage` also carries optional `attachments` (`DiscordFile[]`), `reactions` (`DiscordReaction[]`), and `thread` (`DiscordChannel`, the thread started from that message). `DiscordReaction.me` reports whether the bot itself reacted. `DiscordMessageSchema` and `DiscordReactionSchema` validate these fields too.
|
|
403
|
+
|
|
313
404
|
### Zod Schemas
|
|
314
405
|
|
|
315
406
|
Runtime-validated schemas for parsing API responses:
|
|
@@ -375,7 +466,14 @@ Error codes thrown by the client:
|
|
|
375
466
|
- `rate_limited` — Discord 429 response; the client retries automatically with `Retry-After`, then surfaces this if retries are exhausted
|
|
376
467
|
- `network_error` — Fetch failed (DNS, connection refused, timeout)
|
|
377
468
|
- `channel_not_found` — `resolveChannel()` could not find the named channel in the current guild
|
|
469
|
+
- `empty_message` — `createMessage()` called with no content and no files
|
|
470
|
+
- `too_many_files` — `createMessage()` called with more than 10 files
|
|
471
|
+
- `invalid_filename` — A `filename` override was empty, `.`, `..`, or contained a path separator
|
|
472
|
+
- `parent_required` — `listThreads()` called with `archived: true` but no `parentId`
|
|
473
|
+
- `thread_ambiguous` — `resolveThread()` matched more than one active thread with that name; the message lists the IDs
|
|
474
|
+
- `thread_not_found` — `resolveThread()` found no active thread with that name in the parent channel
|
|
378
475
|
- `no_attachments` — File upload returned 200 but the response had no attachments
|
|
476
|
+
- `40005` / `http_413` — Discord rejected an upload as too large for the server's limit; the message says so explicitly
|
|
379
477
|
- `http_<status>` — Discord returned an unexpected status (e.g., `http_500`) without a structured `code` in the error body
|
|
380
478
|
- Discord API error codes (numeric, as strings) — When Discord's response body includes a `code` field (e.g., `"50001"` for "Missing Access"), it is propagated as-is. See the [Discord JSON Error Codes reference](https://discord.com/developers/docs/topics/opcodes-and-status-codes#json-json-error-codes).
|
|
381
479
|
|
package/e2e/README.md
CHANGED
|
@@ -231,7 +231,9 @@ When triggering manually, you can select which platform to test:
|
|
|
231
231
|
| `message` | send, list, get, edit, delete, thread, replies |
|
|
232
232
|
| `channel` | list, info |
|
|
233
233
|
| `user` | list, info |
|
|
234
|
-
| `
|
|
234
|
+
| `file` | upload, list, info |
|
|
235
|
+
| `thread` | create, list, archive |
|
|
236
|
+
| `reaction` | add, list, remove |
|
|
235
237
|
| `server` | list, current |
|
|
236
238
|
|
|
237
239
|
### Webex Tests
|
package/e2e/config.ts
CHANGED
|
@@ -80,7 +80,7 @@ export async function validateDiscordEnvironment() {
|
|
|
80
80
|
export const DISCORDBOT_TEST_SERVER_ID = process.env.E2E_DISCORDBOT_SERVER_ID || '1467039439770357844'
|
|
81
81
|
export const DISCORDBOT_TEST_SERVER_NAME = process.env.E2E_DISCORDBOT_SERVER_NAME || 'Agent Messenger'
|
|
82
82
|
export const DISCORDBOT_TEST_CHANNEL_ID = process.env.E2E_DISCORDBOT_CHANNEL_ID || '1467062262996144162'
|
|
83
|
-
export const DISCORDBOT_TEST_CHANNEL = 'e2e-test'
|
|
83
|
+
export const DISCORDBOT_TEST_CHANNEL = process.env.E2E_DISCORDBOT_CHANNEL_NAME || 'e2e-test'
|
|
84
84
|
|
|
85
85
|
export async function validateDiscordBotEnvironment() {
|
|
86
86
|
const { runCLI, parseJSON } = await import('./helpers')
|