agent-messenger 2.4.0 → 2.5.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/.github/workflows/release.yml +0 -12
- package/README.md +3 -3
- package/dist/package.json +1 -1
- package/dist/src/platforms/channeltalk/cli.d.ts.map +1 -1
- package/dist/src/platforms/channeltalk/cli.js +2 -1
- package/dist/src/platforms/channeltalk/cli.js.map +1 -1
- package/dist/src/platforms/channeltalk/commands/index.d.ts +1 -0
- package/dist/src/platforms/channeltalk/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/channeltalk/commands/index.js +1 -0
- package/dist/src/platforms/channeltalk/commands/index.js.map +1 -1
- package/dist/src/platforms/channeltalk/commands/whoami.d.ts +22 -0
- package/dist/src/platforms/channeltalk/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/channeltalk/commands/whoami.js +40 -0
- package/dist/src/platforms/channeltalk/commands/whoami.js.map +1 -0
- package/dist/src/platforms/channeltalkbot/cli.d.ts.map +1 -1
- package/dist/src/platforms/channeltalkbot/cli.js +2 -1
- package/dist/src/platforms/channeltalkbot/cli.js.map +1 -1
- package/dist/src/platforms/channeltalkbot/commands/index.d.ts +1 -0
- package/dist/src/platforms/channeltalkbot/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/channeltalkbot/commands/index.js +1 -0
- package/dist/src/platforms/channeltalkbot/commands/index.js.map +1 -1
- package/dist/src/platforms/channeltalkbot/commands/whoami.d.ts +13 -0
- package/dist/src/platforms/channeltalkbot/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/channeltalkbot/commands/whoami.js +31 -0
- package/dist/src/platforms/channeltalkbot/commands/whoami.js.map +1 -0
- package/dist/src/platforms/discord/cli.d.ts.map +1 -1
- package/dist/src/platforms/discord/cli.js +2 -1
- package/dist/src/platforms/discord/cli.js.map +1 -1
- package/dist/src/platforms/discord/commands/index.d.ts +1 -0
- package/dist/src/platforms/discord/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/discord/commands/index.js +1 -0
- package/dist/src/platforms/discord/commands/index.js.map +1 -1
- package/dist/src/platforms/discord/commands/whoami.d.ts +6 -0
- package/dist/src/platforms/discord/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/discord/commands/whoami.js +33 -0
- package/dist/src/platforms/discord/commands/whoami.js.map +1 -0
- package/dist/src/platforms/discordbot/cli.d.ts.map +1 -1
- package/dist/src/platforms/discordbot/cli.js +2 -1
- package/dist/src/platforms/discordbot/cli.js.map +1 -1
- package/dist/src/platforms/discordbot/commands/index.d.ts +1 -0
- package/dist/src/platforms/discordbot/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/discordbot/commands/index.js +1 -0
- package/dist/src/platforms/discordbot/commands/index.js.map +1 -1
- package/dist/src/platforms/discordbot/commands/whoami.d.ts +14 -0
- package/dist/src/platforms/discordbot/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/commands/whoami.js +32 -0
- package/dist/src/platforms/discordbot/commands/whoami.js.map +1 -0
- package/dist/src/platforms/instagram/cli.d.ts.map +1 -1
- package/dist/src/platforms/instagram/cli.js +2 -1
- package/dist/src/platforms/instagram/cli.js.map +1 -1
- package/dist/src/platforms/instagram/client.d.ts +6 -0
- package/dist/src/platforms/instagram/client.d.ts.map +1 -1
- package/dist/src/platforms/instagram/client.js +12 -0
- package/dist/src/platforms/instagram/client.js.map +1 -1
- package/dist/src/platforms/instagram/commands/index.d.ts +1 -0
- package/dist/src/platforms/instagram/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/instagram/commands/index.js +1 -0
- package/dist/src/platforms/instagram/commands/index.js.map +1 -1
- package/dist/src/platforms/instagram/commands/whoami.d.ts +7 -0
- package/dist/src/platforms/instagram/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/instagram/commands/whoami.js +19 -0
- package/dist/src/platforms/instagram/commands/whoami.js.map +1 -0
- package/dist/src/platforms/kakaotalk/cli.js +2 -2
- package/dist/src/platforms/kakaotalk/cli.js.map +1 -1
- package/dist/src/platforms/kakaotalk/client.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/client.js +173 -21
- package/dist/src/platforms/kakaotalk/client.js.map +1 -1
- package/dist/src/platforms/kakaotalk/commands/index.d.ts +1 -1
- package/dist/src/platforms/kakaotalk/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/commands/index.js +1 -1
- package/dist/src/platforms/kakaotalk/commands/index.js.map +1 -1
- package/dist/src/platforms/kakaotalk/commands/whoami.d.ts +3 -0
- package/dist/src/platforms/kakaotalk/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/kakaotalk/commands/{profile.js → whoami.js} +5 -5
- package/dist/src/platforms/kakaotalk/commands/whoami.js.map +1 -0
- package/dist/src/platforms/kakaotalk/protocol/session.d.ts +4 -2
- package/dist/src/platforms/kakaotalk/protocol/session.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/protocol/session.js +25 -6
- package/dist/src/platforms/kakaotalk/protocol/session.js.map +1 -1
- package/dist/src/platforms/kakaotalk/protocol/types.d.ts +17 -0
- package/dist/src/platforms/kakaotalk/protocol/types.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/protocol/types.js.map +1 -1
- package/dist/src/platforms/kakaotalk/types.d.ts +12 -0
- package/dist/src/platforms/kakaotalk/types.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/types.js +6 -0
- package/dist/src/platforms/kakaotalk/types.js.map +1 -1
- package/dist/src/platforms/line/cli.js +2 -2
- package/dist/src/platforms/line/cli.js.map +1 -1
- package/dist/src/platforms/line/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/line/commands/auth.js +9 -59
- package/dist/src/platforms/line/commands/auth.js.map +1 -1
- package/dist/src/platforms/line/commands/index.d.ts +1 -1
- package/dist/src/platforms/line/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/line/commands/index.js +1 -1
- package/dist/src/platforms/line/commands/index.js.map +1 -1
- package/dist/src/platforms/line/commands/whoami.d.ts +3 -0
- package/dist/src/platforms/line/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/line/commands/{profile.js → whoami.js} +5 -5
- package/dist/src/platforms/line/commands/whoami.js.map +1 -0
- package/dist/src/platforms/slack/cli.d.ts.map +1 -1
- package/dist/src/platforms/slack/cli.js +2 -1
- package/dist/src/platforms/slack/cli.js.map +1 -1
- package/dist/src/platforms/slack/commands/index.d.ts +1 -0
- package/dist/src/platforms/slack/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/slack/commands/index.js +1 -0
- package/dist/src/platforms/slack/commands/index.js.map +1 -1
- package/dist/src/platforms/slack/commands/whoami.d.ts +6 -0
- package/dist/src/platforms/slack/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/slack/commands/whoami.js +39 -0
- package/dist/src/platforms/slack/commands/whoami.js.map +1 -0
- package/dist/src/platforms/slackbot/cli.d.ts.map +1 -1
- package/dist/src/platforms/slackbot/cli.js +2 -1
- package/dist/src/platforms/slackbot/cli.js.map +1 -1
- package/dist/src/platforms/slackbot/commands/index.d.ts +1 -0
- package/dist/src/platforms/slackbot/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/slackbot/commands/index.js +1 -0
- package/dist/src/platforms/slackbot/commands/index.js.map +1 -1
- package/dist/src/platforms/slackbot/commands/whoami.d.ts +14 -0
- package/dist/src/platforms/slackbot/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/slackbot/commands/whoami.js +32 -0
- package/dist/src/platforms/slackbot/commands/whoami.js.map +1 -0
- package/dist/src/platforms/teams/cli.d.ts.map +1 -1
- package/dist/src/platforms/teams/cli.js +2 -1
- package/dist/src/platforms/teams/cli.js.map +1 -1
- package/dist/src/platforms/teams/commands/index.d.ts +1 -0
- package/dist/src/platforms/teams/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/teams/commands/index.js +1 -0
- package/dist/src/platforms/teams/commands/index.js.map +1 -1
- package/dist/src/platforms/teams/commands/whoami.d.ts +6 -0
- package/dist/src/platforms/teams/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/teams/commands/whoami.js +30 -0
- package/dist/src/platforms/teams/commands/whoami.js.map +1 -0
- package/dist/src/platforms/telegram/cli.d.ts.map +1 -1
- package/dist/src/platforms/telegram/cli.js +2 -1
- package/dist/src/platforms/telegram/cli.js.map +1 -1
- package/dist/src/platforms/telegram/commands/index.d.ts +1 -0
- package/dist/src/platforms/telegram/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/telegram/commands/index.js +1 -0
- package/dist/src/platforms/telegram/commands/index.js.map +1 -1
- package/dist/src/platforms/telegram/commands/whoami.d.ts +7 -0
- package/dist/src/platforms/telegram/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/telegram/commands/whoami.js +27 -0
- package/dist/src/platforms/telegram/commands/whoami.js.map +1 -0
- package/dist/src/platforms/webex/cli.d.ts.map +1 -1
- package/dist/src/platforms/webex/cli.js +2 -1
- package/dist/src/platforms/webex/cli.js.map +1 -1
- package/dist/src/platforms/webex/commands/index.d.ts +1 -0
- package/dist/src/platforms/webex/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/webex/commands/index.js +1 -0
- package/dist/src/platforms/webex/commands/index.js.map +1 -1
- package/dist/src/platforms/webex/commands/message.js +1 -1
- package/dist/src/platforms/webex/commands/message.js.map +1 -1
- package/dist/src/platforms/webex/commands/whoami.d.ts +6 -0
- package/dist/src/platforms/webex/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/webex/commands/whoami.js +30 -0
- package/dist/src/platforms/webex/commands/whoami.js.map +1 -0
- package/dist/src/platforms/wechatbot/cli.d.ts.map +1 -1
- package/dist/src/platforms/wechatbot/cli.js +2 -1
- package/dist/src/platforms/wechatbot/cli.js.map +1 -1
- package/dist/src/platforms/wechatbot/commands/index.d.ts +1 -0
- package/dist/src/platforms/wechatbot/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/wechatbot/commands/index.js +1 -0
- package/dist/src/platforms/wechatbot/commands/index.js.map +1 -1
- package/dist/src/platforms/wechatbot/commands/whoami.d.ts +12 -0
- package/dist/src/platforms/wechatbot/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/wechatbot/commands/whoami.js +33 -0
- package/dist/src/platforms/wechatbot/commands/whoami.js.map +1 -0
- package/dist/src/platforms/whatsapp/cli.d.ts.map +1 -1
- package/dist/src/platforms/whatsapp/cli.js +2 -1
- package/dist/src/platforms/whatsapp/cli.js.map +1 -1
- package/dist/src/platforms/whatsapp/client.d.ts +8 -0
- package/dist/src/platforms/whatsapp/client.d.ts.map +1 -1
- package/dist/src/platforms/whatsapp/client.js +116 -8
- package/dist/src/platforms/whatsapp/client.js.map +1 -1
- package/dist/src/platforms/whatsapp/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/whatsapp/commands/auth.js +115 -45
- package/dist/src/platforms/whatsapp/commands/auth.js.map +1 -1
- package/dist/src/platforms/whatsapp/commands/index.d.ts +1 -0
- package/dist/src/platforms/whatsapp/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/whatsapp/commands/index.js +1 -0
- package/dist/src/platforms/whatsapp/commands/index.js.map +1 -1
- package/dist/src/platforms/whatsapp/commands/shared.js +2 -2
- package/dist/src/platforms/whatsapp/commands/shared.js.map +1 -1
- package/dist/src/platforms/whatsapp/commands/whoami.d.ts +7 -0
- package/dist/src/platforms/whatsapp/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/whatsapp/commands/whoami.js +19 -0
- package/dist/src/platforms/whatsapp/commands/whoami.js.map +1 -0
- package/dist/src/platforms/whatsapp/ensure-auth.js +2 -2
- package/dist/src/platforms/whatsapp/ensure-auth.js.map +1 -1
- package/dist/src/platforms/whatsappbot/cli.d.ts.map +1 -1
- package/dist/src/platforms/whatsappbot/cli.js +2 -1
- package/dist/src/platforms/whatsappbot/cli.js.map +1 -1
- package/dist/src/platforms/whatsappbot/commands/index.d.ts +1 -0
- package/dist/src/platforms/whatsappbot/commands/index.d.ts.map +1 -1
- package/dist/src/platforms/whatsappbot/commands/index.js +1 -0
- package/dist/src/platforms/whatsappbot/commands/index.js.map +1 -1
- package/dist/src/platforms/whatsappbot/commands/whoami.d.ts +17 -0
- package/dist/src/platforms/whatsappbot/commands/whoami.d.ts.map +1 -0
- package/dist/src/platforms/whatsappbot/commands/whoami.js +39 -0
- package/dist/src/platforms/whatsappbot/commands/whoami.js.map +1 -0
- package/dist/src/shared/utils/qr.d.ts +15 -0
- package/dist/src/shared/utils/qr.d.ts.map +1 -0
- package/dist/src/shared/utils/qr.js +74 -0
- package/dist/src/shared/utils/qr.js.map +1 -0
- package/dist/src/tui/adapters/whatsapp-adapter.d.ts.map +1 -1
- package/dist/src/tui/adapters/whatsapp-adapter.js +20 -15
- package/dist/src/tui/adapters/whatsapp-adapter.js.map +1 -1
- package/docs/content/docs/cli/channeltalk.mdx +11 -0
- package/docs/content/docs/cli/channeltalkbot.mdx +9 -0
- package/docs/content/docs/cli/discord.mdx +10 -0
- package/docs/content/docs/cli/discordbot.mdx +9 -0
- package/docs/content/docs/cli/instagram.mdx +11 -0
- package/docs/content/docs/cli/kakaotalk.mdx +24 -0
- package/docs/content/docs/cli/line.mdx +4 -4
- package/docs/content/docs/cli/slack.mdx +10 -0
- package/docs/content/docs/cli/slackbot.mdx +9 -0
- package/docs/content/docs/cli/teams.mdx +10 -0
- package/docs/content/docs/cli/telegram.mdx +11 -0
- package/docs/content/docs/cli/webex.mdx +10 -0
- package/docs/content/docs/cli/wechatbot.mdx +9 -0
- package/docs/content/docs/cli/whatsapp.mdx +36 -7
- package/docs/content/docs/cli/whatsappbot.mdx +9 -0
- package/package.json +1 -1
- package/skills/agent-channeltalk/SKILL.md +12 -1
- package/skills/agent-channeltalkbot/SKILL.md +10 -1
- package/skills/agent-discord/SKILL.md +11 -1
- package/skills/agent-discordbot/SKILL.md +10 -1
- package/skills/agent-instagram/SKILL.md +12 -1
- package/skills/agent-kakaotalk/SKILL.md +14 -8
- package/skills/agent-kakaotalk/references/common-patterns.md +1 -1
- package/skills/agent-line/SKILL.md +5 -5
- package/skills/agent-slack/SKILL.md +11 -1
- package/skills/agent-slackbot/SKILL.md +10 -1
- package/skills/agent-teams/SKILL.md +11 -1
- package/skills/agent-telegram/SKILL.md +6 -1
- package/skills/agent-webex/SKILL.md +11 -1
- package/skills/agent-wechatbot/SKILL.md +10 -1
- package/skills/agent-whatsapp/SKILL.md +52 -15
- package/skills/agent-whatsapp/references/authentication.md +36 -6
- package/skills/agent-whatsappbot/SKILL.md +10 -1
- package/src/platforms/channeltalk/cli.ts +2 -0
- package/src/platforms/channeltalk/commands/index.ts +1 -0
- package/src/platforms/channeltalk/commands/whoami.test.ts +64 -0
- package/src/platforms/channeltalk/commands/whoami.ts +62 -0
- package/src/platforms/channeltalkbot/cli.ts +2 -0
- package/src/platforms/channeltalkbot/commands/index.ts +1 -0
- package/src/platforms/channeltalkbot/commands/whoami.test.ts +104 -0
- package/src/platforms/channeltalkbot/commands/whoami.ts +42 -0
- package/src/platforms/discord/cli.ts +2 -0
- package/src/platforms/discord/commands/index.ts +1 -0
- package/src/platforms/discord/commands/whoami.test.ts +91 -0
- package/src/platforms/discord/commands/whoami.ts +36 -0
- package/src/platforms/discordbot/cli.ts +2 -0
- package/src/platforms/discordbot/commands/index.ts +1 -0
- package/src/platforms/discordbot/commands/whoami.test.ts +96 -0
- package/src/platforms/discordbot/commands/whoami.ts +44 -0
- package/src/platforms/instagram/cli.ts +2 -1
- package/src/platforms/instagram/client.ts +13 -0
- package/src/platforms/instagram/commands/chat.test.ts +1 -5
- package/src/platforms/instagram/commands/index.ts +1 -0
- package/src/platforms/instagram/commands/message.test.ts +1 -5
- package/src/platforms/instagram/commands/whoami.test.ts +60 -0
- package/src/platforms/instagram/commands/whoami.ts +21 -0
- package/src/platforms/kakaotalk/cli.ts +2 -2
- package/src/platforms/kakaotalk/client.test.ts +25 -14
- package/src/platforms/kakaotalk/client.ts +204 -24
- package/src/platforms/kakaotalk/commands/index.ts +1 -1
- package/src/platforms/kakaotalk/commands/{profile.test.ts → whoami.test.ts} +37 -5
- package/src/platforms/kakaotalk/commands/{profile.ts → whoami.ts} +4 -4
- package/src/platforms/kakaotalk/protocol/session.ts +27 -7
- package/src/platforms/kakaotalk/protocol/types.ts +9 -0
- package/src/platforms/kakaotalk/types.ts +12 -0
- package/src/platforms/line/cli.ts +2 -2
- package/src/platforms/line/commands/auth.ts +37 -70
- package/src/platforms/line/commands/index.ts +1 -1
- package/src/platforms/line/commands/{profile.test.ts → whoami.test.ts} +11 -11
- package/src/platforms/line/commands/{profile.ts → whoami.ts} +4 -4
- package/src/platforms/slack/cli.ts +2 -0
- package/src/platforms/slack/commands/index.ts +1 -0
- package/src/platforms/slack/commands/whoami.test.ts +126 -0
- package/src/platforms/slack/commands/whoami.ts +40 -0
- package/src/platforms/slackbot/cli.ts +2 -1
- package/src/platforms/slackbot/commands/index.ts +1 -0
- package/src/platforms/slackbot/commands/whoami.test.ts +102 -0
- package/src/platforms/slackbot/commands/whoami.ts +44 -0
- package/src/platforms/teams/cli.ts +2 -0
- package/src/platforms/teams/commands/index.ts +1 -0
- package/src/platforms/teams/commands/whoami.test.ts +83 -0
- package/src/platforms/teams/commands/whoami.ts +33 -0
- package/src/platforms/telegram/cli.ts +2 -1
- package/src/platforms/telegram/commands/index.ts +1 -0
- package/src/platforms/telegram/commands/whoami.test.ts +75 -0
- package/src/platforms/telegram/commands/whoami.ts +29 -0
- package/src/platforms/webex/cli.ts +2 -1
- package/src/platforms/webex/commands/auth.test.ts +58 -46
- package/src/platforms/webex/commands/index.ts +1 -0
- package/src/platforms/webex/commands/member.test.ts +1 -5
- package/src/platforms/webex/commands/message.test.ts +1 -5
- package/src/platforms/webex/commands/message.ts +1 -1
- package/src/platforms/webex/commands/snapshot.test.ts +1 -5
- package/src/platforms/webex/commands/space.test.ts +1 -5
- package/src/platforms/webex/commands/whoami.test.ts +113 -0
- package/src/platforms/webex/commands/whoami.ts +31 -0
- package/src/platforms/webex/credential-manager.test.ts +0 -1
- package/src/platforms/wechatbot/cli.ts +2 -1
- package/src/platforms/wechatbot/commands/index.ts +1 -0
- package/src/platforms/wechatbot/commands/whoami.test.ts +109 -0
- package/src/platforms/wechatbot/commands/whoami.ts +43 -0
- package/src/platforms/whatsapp/cli.ts +2 -1
- package/src/platforms/whatsapp/client.ts +156 -24
- package/src/platforms/whatsapp/commands/auth.ts +176 -70
- package/src/platforms/whatsapp/commands/index.ts +1 -0
- package/src/platforms/whatsapp/commands/shared.ts +2 -2
- package/src/platforms/whatsapp/commands/whoami.test.ts +59 -0
- package/src/platforms/whatsapp/commands/whoami.ts +21 -0
- package/src/platforms/whatsapp/ensure-auth.ts +2 -2
- package/src/platforms/whatsappbot/cli.ts +2 -1
- package/src/platforms/whatsappbot/commands/index.ts +1 -0
- package/src/platforms/whatsappbot/commands/whoami.test.ts +100 -0
- package/src/platforms/whatsappbot/commands/whoami.ts +57 -0
- package/src/shared/utils/qr.ts +92 -0
- package/src/tui/adapters/whatsapp-adapter.ts +19 -16
- package/dist/src/platforms/kakaotalk/commands/profile.d.ts +0 -3
- package/dist/src/platforms/kakaotalk/commands/profile.d.ts.map +0 -1
- package/dist/src/platforms/kakaotalk/commands/profile.js.map +0 -1
- package/dist/src/platforms/line/commands/profile.d.ts +0 -3
- package/dist/src/platforms/line/commands/profile.d.ts.map +0 -1
- package/dist/src/platforms/line/commands/profile.js.map +0 -1
|
@@ -7,7 +7,7 @@ export async function ensureWhatsAppAuth() {
|
|
|
7
7
|
const account = await manager.getAccount();
|
|
8
8
|
if (!account) {
|
|
9
9
|
console.log(formatOutput({
|
|
10
|
-
error: 'Not authenticated. Run "agent-whatsapp auth login --phone <phone-number>" first.',
|
|
10
|
+
error: 'Not authenticated. Run "agent-whatsapp auth login --qr" or "agent-whatsapp auth login --phone <phone-number>" first.',
|
|
11
11
|
}));
|
|
12
12
|
process.exit(1);
|
|
13
13
|
}
|
|
@@ -15,7 +15,7 @@ export async function ensureWhatsAppAuth() {
|
|
|
15
15
|
const credsPath = join(paths.auth_dir, 'creds.json');
|
|
16
16
|
if (!existsSync(credsPath)) {
|
|
17
17
|
console.log(formatOutput({
|
|
18
|
-
error: 'Auth credentials missing. Run "agent-whatsapp auth login --phone <phone-number>" to re-authenticate.',
|
|
18
|
+
error: 'Auth credentials missing. Run "agent-whatsapp auth login --qr" or "agent-whatsapp auth login --phone <phone-number>" to re-authenticate.',
|
|
19
19
|
}));
|
|
20
20
|
process.exit(1);
|
|
21
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-auth.js","sourceRoot":"","sources":["../../../../src/platforms/whatsapp/ensure-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAEhE,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,OAAO,GAAG,IAAI,yBAAyB,EAAE,CAAA;IAC/C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YACvB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ensure-auth.js","sourceRoot":"","sources":["../../../../src/platforms/whatsapp/ensure-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAEhE,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,OAAO,GAAG,IAAI,yBAAyB,EAAE,CAAA;IAC/C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YACvB,KAAK,EAAE,sHAAsH;SAC9H,CAAC,CAAC,CAAA;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACzD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAEpD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YACvB,KAAK,EAAE,0IAA0I;SAClJ,CAAC,CAAC,CAAA;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../src/platforms/whatsappbot/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC,QAAA,MAAM,OAAO,SAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../src/platforms/whatsappbot/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC,QAAA,MAAM,OAAO,SAAgB,CAAA;AAgB7B,eAAe,OAAO,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
import { Command } from 'commander';
|
|
3
3
|
import pkg from '../../../package.json' with { type: 'json' };
|
|
4
|
-
import { authCommand, messageCommand, templateCommand } from './commands/index.js';
|
|
4
|
+
import { authCommand, messageCommand, templateCommand, whoamiCommand } from './commands/index.js';
|
|
5
5
|
const program = new Command();
|
|
6
6
|
program
|
|
7
7
|
.name('agent-whatsappbot')
|
|
@@ -10,6 +10,7 @@ program
|
|
|
10
10
|
.option('--pretty', 'Pretty-print JSON output')
|
|
11
11
|
.option('--account <id>', 'Account ID to use');
|
|
12
12
|
program.addCommand(authCommand);
|
|
13
|
+
program.addCommand(whoamiCommand);
|
|
13
14
|
program.addCommand(messageCommand);
|
|
14
15
|
program.addCommand(templateCommand);
|
|
15
16
|
program.parseAsync(process.argv);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../src/platforms/whatsappbot/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,GAAG,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../src/platforms/whatsappbot/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,GAAG,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAE9F,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,mBAAmB,CAAC;KACzB,WAAW,CAAC,sDAAsD,CAAC;KACnE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;KACpB,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;KAC9C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAA;AAEhD,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AAC/B,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;AACjC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;AAClC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;AAEnC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAEhC,eAAe,OAAO,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/whatsappbot/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/whatsappbot/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/platforms/whatsappbot/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/platforms/whatsappbot/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { WhatsAppBotCredentialManager } from '../credential-manager.js';
|
|
3
|
+
interface WhoamiOptions {
|
|
4
|
+
account?: string;
|
|
5
|
+
pretty?: boolean;
|
|
6
|
+
_credManager?: WhatsAppBotCredentialManager;
|
|
7
|
+
}
|
|
8
|
+
interface WhoamiResult {
|
|
9
|
+
phone_number_id?: string | null;
|
|
10
|
+
account_name?: string | null;
|
|
11
|
+
verified_name?: string;
|
|
12
|
+
error?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function whoamiAction(options: WhoamiOptions): Promise<WhoamiResult>;
|
|
15
|
+
export declare const whoamiCommand: Command;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=whoami.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/whatsappbot/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AAEpE,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,YAAY,CAAC,EAAE,4BAA4B,CAAA;CAC5C;AAED,UAAU,YAAY;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAuBhF;AAOD,eAAO,MAAM,aAAa,SAMtB,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { formatOutput } from '../../../shared/utils/output.js';
|
|
3
|
+
import { WhatsAppBotClient } from '../client.js';
|
|
4
|
+
import { WhatsAppBotCredentialManager } from '../credential-manager.js';
|
|
5
|
+
export async function whoamiAction(options) {
|
|
6
|
+
try {
|
|
7
|
+
const credManager = options._credManager ?? new WhatsAppBotCredentialManager();
|
|
8
|
+
const creds = await credManager.getCredentials(options.account);
|
|
9
|
+
if (!creds) {
|
|
10
|
+
return { error: 'No credentials. Run "auth set <phone-number-id> <access-token>" first.' };
|
|
11
|
+
}
|
|
12
|
+
const client = await new WhatsAppBotClient().login({
|
|
13
|
+
phoneNumberId: creds.phone_number_id,
|
|
14
|
+
accessToken: creds.access_token,
|
|
15
|
+
});
|
|
16
|
+
const verified = await client.verifyToken();
|
|
17
|
+
return {
|
|
18
|
+
phone_number_id: creds.phone_number_id,
|
|
19
|
+
account_name: creds.account_name ?? null,
|
|
20
|
+
verified_name: verified.verified_name,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
return { error: error.message };
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function cliOutput(result, pretty) {
|
|
28
|
+
console.log(formatOutput(result, pretty));
|
|
29
|
+
if (result.error)
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
export const whoamiCommand = new Command('whoami')
|
|
33
|
+
.description('Show current authenticated bot')
|
|
34
|
+
.option('--account <id>', 'Account ID to use')
|
|
35
|
+
.option('--pretty', 'Pretty print JSON output')
|
|
36
|
+
.action(async (opts) => {
|
|
37
|
+
cliOutput(await whoamiAction(opts), opts.pretty);
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=whoami.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../../../../src/platforms/whatsappbot/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AAepE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAsB;IACvD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,4BAA4B,EAAE,CAAA;QAC9E,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,wEAAwE,EAAE,CAAA;QAC5F,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,iBAAiB,EAAE,CAAC,KAAK,CAAC;YACjD,aAAa,EAAE,KAAK,CAAC,eAAe;YACpC,WAAW,EAAE,KAAK,CAAC,YAAY;SAChC,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;QAE3C,OAAO;YACL,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;YACxC,aAAa,EAAE,QAAQ,CAAC,aAAa;SACtC,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAA;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,MAAoB,EAAE,MAAgB;IACvD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACzC,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;KAC7C,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;KAC9C,MAAM,CAAC,KAAK,EAAE,IAAmB,EAAE,EAAE;IACpC,SAAS,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;AAClD,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface QRDisplayOptions {
|
|
2
|
+
platform: string;
|
|
3
|
+
brandColor: string;
|
|
4
|
+
scanInstruction: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function createQRHtmlFile(url: string, options: QRDisplayOptions): Promise<string | null>;
|
|
7
|
+
export declare function openInBrowser(filePath: string): void;
|
|
8
|
+
export declare function renderTerminalQR(data: string): Promise<string>;
|
|
9
|
+
export declare function displayQR(data: string, options: QRDisplayOptions & {
|
|
10
|
+
interactive: boolean;
|
|
11
|
+
openBrowser?: boolean;
|
|
12
|
+
formatOutput: (obj: Record<string, unknown>, pretty?: boolean) => string;
|
|
13
|
+
pretty?: boolean;
|
|
14
|
+
}): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=qr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qr.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/qr.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBrG;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAUpD;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEpE;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,gBAAgB,GAAG;IAC1B,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,MAAM,CAAA;IACxE,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,GACA,OAAO,CAAC,IAAI,CAAC,CA4Bf"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
2
|
+
import { writeFileSync, unlinkSync } from 'node:fs';
|
|
3
|
+
import { tmpdir } from 'node:os';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
import QRCode from 'qrcode';
|
|
6
|
+
import { info } from './stderr.js';
|
|
7
|
+
export async function createQRHtmlFile(url, options) {
|
|
8
|
+
try {
|
|
9
|
+
const svgString = await QRCode.toString(url, { type: 'svg', margin: 2 });
|
|
10
|
+
const html = `<!DOCTYPE html>
|
|
11
|
+
<html><head><meta charset="utf-8"><title>${options.platform} QR Login</title>
|
|
12
|
+
<style>body{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;margin:0;font-family:-apple-system,system-ui,sans-serif;background:${options.brandColor}}
|
|
13
|
+
.card{background:#fff;border-radius:16px;padding:40px;text-align:center;box-shadow:0 4px 24px rgba(0,0,0,.15)}
|
|
14
|
+
h1{margin:0 0 8px;font-size:22px;color:#111}p{margin:0 0 24px;color:#666;font-size:14px}
|
|
15
|
+
svg{width:280px;height:280px}</style></head>
|
|
16
|
+
<body><div class="card"><h1>${options.platform} Login</h1><p>${options.scanInstruction}</p>${svgString}</div></body></html>`;
|
|
17
|
+
const htmlPath = join(tmpdir(), `${options.platform.toLowerCase()}-qr-${Date.now()}.html`);
|
|
18
|
+
writeFileSync(htmlPath, html);
|
|
19
|
+
setTimeout(() => {
|
|
20
|
+
try {
|
|
21
|
+
unlinkSync(htmlPath);
|
|
22
|
+
}
|
|
23
|
+
catch { }
|
|
24
|
+
}, 300_000).unref();
|
|
25
|
+
return htmlPath;
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export function openInBrowser(filePath) {
|
|
32
|
+
try {
|
|
33
|
+
if (process.platform === 'darwin') {
|
|
34
|
+
execSync(`open "${filePath}"`, { stdio: 'ignore' });
|
|
35
|
+
}
|
|
36
|
+
else if (process.platform === 'win32') {
|
|
37
|
+
execSync(`start "" "${filePath}"`, { stdio: 'ignore' });
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
execSync(`xdg-open "${filePath}"`, { stdio: 'ignore' });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch { }
|
|
44
|
+
}
|
|
45
|
+
export async function renderTerminalQR(data) {
|
|
46
|
+
return QRCode.toString(data, { type: 'terminal', small: true });
|
|
47
|
+
}
|
|
48
|
+
export async function displayQR(data, options) {
|
|
49
|
+
const shouldOpenBrowser = options.openBrowser ?? options.interactive;
|
|
50
|
+
const htmlPath = await createQRHtmlFile(data, options);
|
|
51
|
+
if (htmlPath && shouldOpenBrowser)
|
|
52
|
+
openInBrowser(htmlPath);
|
|
53
|
+
if (options.interactive) {
|
|
54
|
+
try {
|
|
55
|
+
const qrAscii = await renderTerminalQR(data);
|
|
56
|
+
info(`\n${options.scanInstruction}:\n`);
|
|
57
|
+
info(qrAscii);
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
info(`\nOpen the QR code in the browser window, or scan this URL:\n${data}\n`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
console.log(options.formatOutput({
|
|
65
|
+
next_action: 'scan_qr',
|
|
66
|
+
qr_url: data,
|
|
67
|
+
qr_html_path: htmlPath,
|
|
68
|
+
message: htmlPath
|
|
69
|
+
? `QR code opened in browser. ${options.scanInstruction}`
|
|
70
|
+
: `QR code generated. Open qr_url to scan.`,
|
|
71
|
+
}, options.pretty));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=qr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qr.js","sourceRoot":"","sources":["../../../../src/shared/utils/qr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whatsapp-adapter.d.ts","sourceRoot":"","sources":["../../../../src/tui/adapters/whatsapp-adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"whatsapp-adapter.d.ts","sourceRoot":"","sources":["../../../../src/tui/adapters/whatsapp-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE3G,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,IAAI,cAAa;IAE1B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,cAAc,CAAyB;IAEzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IASxC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAYrE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAQrC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvD,mBAAmB,IAAI,SAAS,GAAG,IAAI;IAIvC,WAAW,IAAI,QAAQ;IAOjB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8C7C,OAAO,CAAC,YAAY;CAMrB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { WhatsAppClient } from '../../platforms/whatsapp/client.js';
|
|
2
2
|
import { WhatsAppCredentialManager } from '../../platforms/whatsapp/credential-manager.js';
|
|
3
|
+
import { renderTerminalQR } from '../../shared/utils/qr.js';
|
|
3
4
|
export class WhatsAppAdapter {
|
|
4
5
|
name = 'WhatsApp';
|
|
5
6
|
client = null;
|
|
@@ -66,32 +67,37 @@ export class WhatsAppAdapter {
|
|
|
66
67
|
}
|
|
67
68
|
getAuthHint() {
|
|
68
69
|
return {
|
|
69
|
-
command: 'agent-whatsapp auth login',
|
|
70
|
-
description: 'Run the command below and
|
|
70
|
+
command: 'agent-whatsapp auth login --qr',
|
|
71
|
+
description: 'Run the command below and scan the QR code with WhatsApp on your phone.',
|
|
71
72
|
};
|
|
72
73
|
}
|
|
73
74
|
async authenticate(io) {
|
|
74
|
-
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
const accountId = createAccountId(phone);
|
|
75
|
+
io.print('Generating QR code...');
|
|
76
|
+
const accountId = 'qr-default';
|
|
77
|
+
const existingPaths = this.credManager.getAccountPaths(accountId);
|
|
78
|
+
const { rm } = await import('node:fs/promises');
|
|
79
|
+
await rm(existingPaths.auth_dir, { recursive: true, force: true });
|
|
80
80
|
const paths = await this.credManager.ensureAccountPaths(accountId);
|
|
81
81
|
const client = await new WhatsAppClient().login({ authDir: paths.auth_dir });
|
|
82
82
|
let waitForAuth;
|
|
83
83
|
try {
|
|
84
|
-
const result = await client.
|
|
84
|
+
const result = await client.connectForQR(async (qr) => {
|
|
85
|
+
io.print('Scan this QR code with WhatsApp on your phone:');
|
|
86
|
+
try {
|
|
87
|
+
const rendered = await renderTerminalQR(qr);
|
|
88
|
+
io.print(rendered);
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
io.print(qr);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
85
94
|
waitForAuth = result.waitForAuth;
|
|
86
|
-
const formatted = result.code.length === 8 ? `${result.code.slice(0, 4)}-${result.code.slice(4)}` : result.code;
|
|
87
|
-
io.print(`Pairing code: ${formatted}`);
|
|
88
|
-
io.print('Enter this code in WhatsApp > Linked Devices > Link with phone number');
|
|
89
95
|
}
|
|
90
96
|
catch (err) {
|
|
91
97
|
await client.close();
|
|
92
98
|
throw err;
|
|
93
99
|
}
|
|
94
|
-
io.print('Waiting for
|
|
100
|
+
io.print('Waiting for QR code scan...');
|
|
95
101
|
try {
|
|
96
102
|
await waitForAuth();
|
|
97
103
|
}
|
|
@@ -102,13 +108,12 @@ export class WhatsAppAdapter {
|
|
|
102
108
|
const now = new Date().toISOString();
|
|
103
109
|
await this.credManager.setAccount({
|
|
104
110
|
account_id: accountId,
|
|
105
|
-
phone_number: phone,
|
|
106
111
|
created_at: now,
|
|
107
112
|
updated_at: now,
|
|
108
113
|
});
|
|
109
114
|
await this.credManager.setCurrent(accountId);
|
|
110
115
|
this.client = client;
|
|
111
|
-
this.currentAccount = { id: accountId, name:
|
|
116
|
+
this.currentAccount = { id: accountId, name: accountId };
|
|
112
117
|
}
|
|
113
118
|
ensureClient() {
|
|
114
119
|
if (!this.client) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whatsapp-adapter.js","sourceRoot":"","sources":["../../../../src/tui/adapters/whatsapp-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAA;
|
|
1
|
+
{"version":3,"file":"whatsapp-adapter.js","sourceRoot":"","sources":["../../../../src/tui/adapters/whatsapp-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,6 +97,17 @@ agent-channeltalk auth remove <workspace-id>
|
|
|
97
97
|
|
|
98
98
|
## Commands
|
|
99
99
|
|
|
100
|
+
### Whoami Command
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Show current authenticated user
|
|
104
|
+
agent-channeltalk whoami
|
|
105
|
+
agent-channeltalk whoami --pretty
|
|
106
|
+
agent-channeltalk whoami --workspace <workspace-id>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Output includes the authenticated user's identity information.
|
|
110
|
+
|
|
100
111
|
### Message Commands
|
|
101
112
|
|
|
102
113
|
```bash
|
|
@@ -108,6 +108,15 @@ agent-channeltalkbot auth bot <name>
|
|
|
108
108
|
|
|
109
109
|
## Commands
|
|
110
110
|
|
|
111
|
+
### Whoami Command
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# Show current authenticated bot
|
|
115
|
+
agent-channeltalkbot whoami
|
|
116
|
+
agent-channeltalkbot whoami --pretty
|
|
117
|
+
agent-channeltalkbot whoami --workspace <workspace-id>
|
|
118
|
+
```
|
|
119
|
+
|
|
111
120
|
### Message Commands
|
|
112
121
|
|
|
113
122
|
```bash
|
|
@@ -69,6 +69,16 @@ agent-discord server info <server-id>
|
|
|
69
69
|
|
|
70
70
|
## Commands
|
|
71
71
|
|
|
72
|
+
### Whoami Command
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Show current authenticated user
|
|
76
|
+
agent-discord whoami
|
|
77
|
+
agent-discord whoami --pretty
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Output includes the authenticated user's identity information.
|
|
81
|
+
|
|
72
82
|
### Message Commands
|
|
73
83
|
|
|
74
84
|
```bash
|
|
@@ -124,6 +124,15 @@ export E2E_DISCORDBOT_SERVER_NAME="My Server"
|
|
|
124
124
|
|
|
125
125
|
## Commands
|
|
126
126
|
|
|
127
|
+
### Whoami Command
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
# Show current authenticated bot
|
|
131
|
+
agent-discordbot whoami
|
|
132
|
+
agent-discordbot whoami --pretty
|
|
133
|
+
agent-discordbot whoami --bot <bot-id>
|
|
134
|
+
```
|
|
135
|
+
|
|
127
136
|
### Server Commands
|
|
128
137
|
|
|
129
138
|
```bash
|
|
@@ -113,6 +113,17 @@ agent-instagram auth logout --account <id>
|
|
|
113
113
|
|
|
114
114
|
## Commands
|
|
115
115
|
|
|
116
|
+
### Whoami Command
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# Show current authenticated user
|
|
120
|
+
agent-instagram whoami
|
|
121
|
+
agent-instagram whoami --pretty
|
|
122
|
+
agent-instagram whoami --account <account-id>
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Output includes the authenticated user's identity information.
|
|
126
|
+
|
|
116
127
|
### Chat Commands
|
|
117
128
|
|
|
118
129
|
```bash
|
|
@@ -192,6 +192,30 @@ agent-kakaotalk message list 9876543210 -n 200
|
|
|
192
192
|
agent-kakaotalk message list 9876543210 --from 123456789
|
|
193
193
|
```
|
|
194
194
|
|
|
195
|
+
### Whoami Command
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
# Show current authenticated user
|
|
199
|
+
agent-kakaotalk whoami
|
|
200
|
+
agent-kakaotalk whoami --pretty
|
|
201
|
+
agent-kakaotalk whoami --account <account-id>
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
Output includes:
|
|
205
|
+
|
|
206
|
+
- `user_id` — your KakaoTalk user ID
|
|
207
|
+
- `nickname` — your display name
|
|
208
|
+
- `profile_image_url` — profile image thumbnail URL
|
|
209
|
+
- `original_profile_image_url` — original profile image URL
|
|
210
|
+
- `status_message` — your status message
|
|
211
|
+
- `account_display_id` — your KakaoTalk ID (may be null if not set)
|
|
212
|
+
- `background_image_url` — background image URL
|
|
213
|
+
- `original_background_image_url` — original background image URL
|
|
214
|
+
- `fullname` — real name (may be null)
|
|
215
|
+
- `account_email` — account email (may be null)
|
|
216
|
+
- `pstn_number` — phone number (may be null)
|
|
217
|
+
- `email_verified` — whether email is verified (may be null)
|
|
218
|
+
|
|
195
219
|
## Global Options
|
|
196
220
|
|
|
197
221
|
| Option | Description |
|
|
@@ -126,12 +126,12 @@ agent-line auth logout <account-id>
|
|
|
126
126
|
|
|
127
127
|
## Commands
|
|
128
128
|
|
|
129
|
-
###
|
|
129
|
+
### Whoami Command
|
|
130
130
|
|
|
131
131
|
```bash
|
|
132
|
-
#
|
|
133
|
-
agent-line
|
|
134
|
-
agent-line
|
|
132
|
+
# Show current authenticated user
|
|
133
|
+
agent-line whoami
|
|
134
|
+
agent-line whoami --pretty
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
Output includes:
|
|
@@ -65,6 +65,16 @@ agent-slack auth logout <workspace-id>
|
|
|
65
65
|
|
|
66
66
|
## Commands
|
|
67
67
|
|
|
68
|
+
### Whoami Command
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Show current authenticated user
|
|
72
|
+
agent-slack whoami
|
|
73
|
+
agent-slack whoami --pretty
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Output includes the authenticated user's identity information.
|
|
77
|
+
|
|
68
78
|
### Message Commands
|
|
69
79
|
|
|
70
80
|
```bash
|
|
@@ -131,6 +131,15 @@ export E2E_SLACKBOT_WORKSPACE_NAME="My Workspace"
|
|
|
131
131
|
|
|
132
132
|
## Commands
|
|
133
133
|
|
|
134
|
+
### Whoami Command
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Show current authenticated bot
|
|
138
|
+
agent-slackbot whoami
|
|
139
|
+
agent-slackbot whoami --pretty
|
|
140
|
+
agent-slackbot whoami --bot <bot-id>
|
|
141
|
+
```
|
|
142
|
+
|
|
134
143
|
### Message Commands
|
|
135
144
|
|
|
136
145
|
```bash
|
|
@@ -118,6 +118,16 @@ agent-teams team remove <team-id>
|
|
|
118
118
|
|
|
119
119
|
## Commands
|
|
120
120
|
|
|
121
|
+
### Whoami Command
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Show current authenticated user
|
|
125
|
+
agent-teams whoami
|
|
126
|
+
agent-teams whoami --pretty
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Output includes the authenticated user's identity information.
|
|
130
|
+
|
|
121
131
|
### Message Commands
|
|
122
132
|
|
|
123
133
|
```bash
|
|
@@ -70,6 +70,17 @@ agent-telegram auth remove <account-id>
|
|
|
70
70
|
|
|
71
71
|
## Commands
|
|
72
72
|
|
|
73
|
+
### Whoami Command
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Show current authenticated user
|
|
77
|
+
agent-telegram whoami
|
|
78
|
+
agent-telegram whoami --pretty
|
|
79
|
+
agent-telegram whoami --account <account-id>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Output includes the authenticated user's identity information.
|
|
83
|
+
|
|
73
84
|
### Chat Commands
|
|
74
85
|
|
|
75
86
|
```bash
|
|
@@ -110,6 +110,16 @@ Both must be set together. When set, `auth login` (without `--token`) uses these
|
|
|
110
110
|
|
|
111
111
|
## Commands
|
|
112
112
|
|
|
113
|
+
### Whoami Command
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Show current authenticated user
|
|
117
|
+
agent-webex whoami
|
|
118
|
+
agent-webex whoami --pretty
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Output includes the authenticated user's identity information.
|
|
122
|
+
|
|
113
123
|
### Space Commands
|
|
114
124
|
|
|
115
125
|
Webex organizes conversations into "spaces" (group spaces and direct messages).
|
|
@@ -75,6 +75,15 @@ agent-wechatbot auth remove <account-id>
|
|
|
75
75
|
|
|
76
76
|
## Commands
|
|
77
77
|
|
|
78
|
+
### Whoami Command
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# Show current authenticated bot
|
|
82
|
+
agent-wechatbot whoami
|
|
83
|
+
agent-wechatbot whoami --pretty
|
|
84
|
+
agent-wechatbot whoami --account <account-id>
|
|
85
|
+
```
|
|
86
|
+
|
|
78
87
|
### Message Commands
|
|
79
88
|
|
|
80
89
|
```bash
|