agent-messenger 2.4.0 → 2.6.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/ci.yml +35 -0
- package/.github/workflows/release.yml +0 -12
- package/README.md +3 -3
- package/bun.lock +10 -2
- package/dist/package.json +3 -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 +4 -1
- package/dist/src/platforms/kakaotalk/client.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/client.js +193 -27
- package/dist/src/platforms/kakaotalk/client.js.map +1 -1
- package/dist/src/platforms/kakaotalk/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/commands/auth.js +24 -55
- package/dist/src/platforms/kakaotalk/commands/auth.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/credential-manager.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/credential-manager.js +1 -0
- package/dist/src/platforms/kakaotalk/credential-manager.js.map +1 -1
- package/dist/src/platforms/kakaotalk/index.d.ts +1 -1
- package/dist/src/platforms/kakaotalk/index.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/index.js.map +1 -1
- package/dist/src/platforms/kakaotalk/listener.js +2 -2
- package/dist/src/platforms/kakaotalk/listener.js.map +1 -1
- package/dist/src/platforms/kakaotalk/protocol/config.d.ts +8 -2
- package/dist/src/platforms/kakaotalk/protocol/config.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/protocol/config.js +15 -2
- package/dist/src/platforms/kakaotalk/protocol/config.js.map +1 -1
- package/dist/src/platforms/kakaotalk/protocol/session.d.ts +6 -2
- package/dist/src/platforms/kakaotalk/protocol/session.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/protocol/session.js +37 -15
- 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 +22 -0
- package/dist/src/platforms/kakaotalk/types.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/types.js +7 -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/kakaotalk-adapter.d.ts.map +1 -1
- package/dist/src/tui/adapters/kakaotalk-adapter.js +5 -2
- package/dist/src/tui/adapters/kakaotalk-adapter.js.map +1 -1
- 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 +27 -39
- 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/e2e/config.ts +1 -1
- package/package.json +3 -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 +24 -70
- package/skills/agent-kakaotalk/references/authentication.md +4 -69
- package/skills/agent-kakaotalk/references/common-patterns.md +14 -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 +228 -33
- package/src/platforms/kakaotalk/commands/auth.ts +22 -73
- 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/credential-manager.ts +1 -0
- package/src/platforms/kakaotalk/index.ts +1 -0
- package/src/platforms/kakaotalk/listener.test.ts +2 -2
- package/src/platforms/kakaotalk/listener.ts +2 -2
- package/src/platforms/kakaotalk/protocol/config.ts +26 -2
- package/src/platforms/kakaotalk/protocol/session.ts +42 -16
- package/src/platforms/kakaotalk/protocol/types.ts +9 -0
- package/src/platforms/kakaotalk/types.ts +16 -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/kakaotalk-adapter.ts +5 -2
- 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
|
@@ -9,14 +9,17 @@ description: Complete reference for the agent-whatsapp CLI.
|
|
|
9
9
|
|
|
10
10
|
WhatsApp integration uses [Baileys](https://github.com/WhiskeySockets/Baileys), a reverse-engineered WhatsApp Web API:
|
|
11
11
|
|
|
12
|
-
- Links as a **companion device** via pairing code, so your phone stays connected.
|
|
12
|
+
- Links as a **companion device** via QR code or pairing code, so your phone stays connected.
|
|
13
13
|
- Each command opens a WebSocket connection on demand and disconnects when done. No persistent background process.
|
|
14
14
|
- Multiple WhatsApp accounts can be linked simultaneously.
|
|
15
15
|
|
|
16
16
|
## Quick Start
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
-
# Link as companion device
|
|
19
|
+
# Link as companion device via QR code (scan with your phone)
|
|
20
|
+
agent-whatsapp auth login --qr
|
|
21
|
+
|
|
22
|
+
# Or link via pairing code (enter the code on your phone)
|
|
20
23
|
agent-whatsapp auth login --phone +1234567890
|
|
21
24
|
|
|
22
25
|
# List chats
|
|
@@ -28,16 +31,23 @@ agent-whatsapp message send +1234567890 "Hello from agent-whatsapp"
|
|
|
28
31
|
|
|
29
32
|
## Authentication
|
|
30
33
|
|
|
31
|
-
|
|
34
|
+
The CLI supports two authentication methods. Both register as a companion (linked) device, so your phone session is never affected.
|
|
32
35
|
|
|
33
|
-
|
|
36
|
+
### QR Code Login
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
agent-whatsapp auth login --qr
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
A QR code is displayed in the terminal and opened in the browser. Scan it with WhatsApp on your phone: Settings > Linked Devices > Link a Device.
|
|
43
|
+
|
|
44
|
+
### Pairing Code Login
|
|
34
45
|
|
|
35
46
|
```bash
|
|
36
|
-
# Start login (displays a pairing code)
|
|
37
47
|
agent-whatsapp auth login --phone +1234567890
|
|
38
48
|
```
|
|
39
49
|
|
|
40
|
-
|
|
50
|
+
A numeric pairing code is displayed. Enter it on your phone: WhatsApp > Settings > Linked Devices > Link with phone number.
|
|
41
51
|
|
|
42
52
|
### Account Management
|
|
43
53
|
|
|
@@ -59,6 +69,17 @@ agent-whatsapp auth logout --account <id>
|
|
|
59
69
|
|
|
60
70
|
## Commands
|
|
61
71
|
|
|
72
|
+
### Whoami Command
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Show current authenticated user
|
|
76
|
+
agent-whatsapp whoami
|
|
77
|
+
agent-whatsapp whoami --pretty
|
|
78
|
+
agent-whatsapp whoami --account <account-id>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Output includes the authenticated user's identity information.
|
|
82
|
+
|
|
62
83
|
### Chat Commands
|
|
63
84
|
|
|
64
85
|
```bash
|
|
@@ -135,6 +156,14 @@ npx -y --package agent-messenger agent-whatsapp chat list --pretty
|
|
|
135
156
|
|
|
136
157
|
**NEVER run `npx agent-whatsapp`** without `--package agent-messenger`. It will fail or install a wrong package.
|
|
137
158
|
|
|
159
|
+
### QR code not scanning
|
|
160
|
+
|
|
161
|
+
1. Make sure WhatsApp is open on your phone
|
|
162
|
+
2. Go to Settings > Linked Devices > Link a Device
|
|
163
|
+
3. Point your phone camera at the QR code in the terminal or browser
|
|
164
|
+
4. If the QR code expires, run `auth login --qr` again for a fresh code
|
|
165
|
+
5. If QR scanning fails, try pairing code: `auth login --phone <number>`
|
|
166
|
+
|
|
138
167
|
### Pairing code not working
|
|
139
168
|
|
|
140
169
|
1. Make sure WhatsApp is open on your phone
|
|
@@ -152,7 +181,7 @@ WhatsApp may disconnect linked devices that are inactive for extended periods. I
|
|
|
152
181
|
agent-whatsapp auth status
|
|
153
182
|
|
|
154
183
|
# Re-link if needed
|
|
155
|
-
agent-whatsapp auth login --
|
|
184
|
+
agent-whatsapp auth login --qr
|
|
156
185
|
```
|
|
157
186
|
|
|
158
187
|
## AI Agent Integration
|
|
@@ -74,6 +74,15 @@ agent-whatsappbot auth remove <account-id>
|
|
|
74
74
|
|
|
75
75
|
## Commands
|
|
76
76
|
|
|
77
|
+
### Whoami Command
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
# Show current authenticated bot
|
|
81
|
+
agent-whatsappbot whoami
|
|
82
|
+
agent-whatsappbot whoami --pretty
|
|
83
|
+
agent-whatsappbot whoami --account <account-id>
|
|
84
|
+
```
|
|
85
|
+
|
|
77
86
|
### Message Commands
|
|
78
87
|
|
|
79
88
|
```bash
|
package/e2e/config.ts
CHANGED
|
@@ -344,7 +344,7 @@ export async function validateKakaoTalkEnvironment(): Promise<boolean> {
|
|
|
344
344
|
|
|
345
345
|
const result = await runCLI('kakaotalk', ['auth', 'status'])
|
|
346
346
|
if (result.exitCode !== 0) {
|
|
347
|
-
throw new Error('KakaoTalk authentication failed. Run: agent-kakaotalk auth login
|
|
347
|
+
throw new Error('KakaoTalk authentication failed. Run: agent-kakaotalk auth login')
|
|
348
348
|
}
|
|
349
349
|
|
|
350
350
|
return true
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-messenger",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"description": "Multi-platform messaging CLI for AI agents (Slack, Discord, Teams, Webex, Telegram, WhatsApp, LINE, Instagram, KakaoTalk, Channel Talk)",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -138,6 +138,8 @@
|
|
|
138
138
|
},
|
|
139
139
|
"dependencies": {
|
|
140
140
|
"@evex/linejs": "https://npm.jsr.io/~/11/@jsr/evex__linejs/2.3.7.tgz",
|
|
141
|
+
"@jsr/evex__linejs-types": "https://npm.jsr.io/~/11/@jsr/evex__linejs-types/2.3.7.tgz",
|
|
142
|
+
"@jsr/evex__loose-types": "https://npm.jsr.io/~/11/@jsr/evex__loose-types/1.0.1.tgz",
|
|
141
143
|
"@hapi/boom": "^10.0.1",
|
|
142
144
|
"@slack/web-api": "^6.9.0",
|
|
143
145
|
"@whiskeysockets/baileys": "^7.0.0-rc.9",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-channeltalk
|
|
3
3
|
description: Interact with Channel Talk using extracted desktop app or browser credentials - read chats, send messages, search messages, manage groups
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.6.0
|
|
5
5
|
allowed-tools: Bash(agent-channeltalk:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -186,6 +186,17 @@ agent-channeltalk auth use <workspace-id>
|
|
|
186
186
|
agent-channeltalk auth remove <workspace-id>
|
|
187
187
|
```
|
|
188
188
|
|
|
189
|
+
### Whoami Command
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
# Show current authenticated user
|
|
193
|
+
agent-channeltalk whoami
|
|
194
|
+
agent-channeltalk whoami --pretty
|
|
195
|
+
agent-channeltalk whoami --workspace <workspace-id>
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Output includes the authenticated user's identity information.
|
|
199
|
+
|
|
189
200
|
### Message Commands
|
|
190
201
|
|
|
191
202
|
```bash
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-channeltalkbot
|
|
3
3
|
description: Interact with Channel Talk workspaces using API credentials - send messages, read chats, manage groups and bots
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.6.0
|
|
5
5
|
allowed-tools: Bash(agent-channeltalkbot:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -184,6 +184,15 @@ agent-channeltalkbot auth remove <workspace-id>
|
|
|
184
184
|
agent-channeltalkbot auth bot <name>
|
|
185
185
|
```
|
|
186
186
|
|
|
187
|
+
### Whoami Command
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
# Show current authenticated bot
|
|
191
|
+
agent-channeltalkbot whoami
|
|
192
|
+
agent-channeltalkbot whoami --pretty
|
|
193
|
+
agent-channeltalkbot whoami --workspace <workspace-id>
|
|
194
|
+
```
|
|
195
|
+
|
|
187
196
|
### Message Commands
|
|
188
197
|
|
|
189
198
|
```bash
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-discord
|
|
3
3
|
description: Interact with Discord servers - send messages, read channels, manage reactions
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.6.0
|
|
5
5
|
allowed-tools: Bash(agent-discord:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -145,6 +145,16 @@ agent-discord auth status
|
|
|
145
145
|
agent-discord auth logout
|
|
146
146
|
```
|
|
147
147
|
|
|
148
|
+
### Whoami Command
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
# Show current authenticated user
|
|
152
|
+
agent-discord whoami
|
|
153
|
+
agent-discord whoami --pretty
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Output includes the authenticated user's identity information.
|
|
157
|
+
|
|
148
158
|
### Message Commands
|
|
149
159
|
|
|
150
160
|
```bash
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-discordbot
|
|
3
3
|
description: Interact with Discord servers using bot tokens - send messages, read channels, manage reactions
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.6.0
|
|
5
5
|
allowed-tools: Bash(agent-discordbot:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -158,6 +158,15 @@ agent-discordbot auth use <bot-id>
|
|
|
158
158
|
agent-discordbot auth remove <bot-id>
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
+
### Whoami Command
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# Show current authenticated bot
|
|
165
|
+
agent-discordbot whoami
|
|
166
|
+
agent-discordbot whoami --pretty
|
|
167
|
+
agent-discordbot whoami --bot <bot-id>
|
|
168
|
+
```
|
|
169
|
+
|
|
161
170
|
### Server Commands
|
|
162
171
|
|
|
163
172
|
```bash
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-instagram
|
|
3
3
|
description: Interact with Instagram DMs - send messages, read conversations, manage accounts
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.6.0
|
|
5
5
|
allowed-tools: Bash(agent-instagram:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -242,6 +242,17 @@ agent-instagram auth logout
|
|
|
242
242
|
agent-instagram auth logout --account <id>
|
|
243
243
|
```
|
|
244
244
|
|
|
245
|
+
### Whoami Command
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
# Show current authenticated user
|
|
249
|
+
agent-instagram whoami
|
|
250
|
+
agent-instagram whoami --pretty
|
|
251
|
+
agent-instagram whoami --account <account-id>
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Output includes the authenticated user's identity information.
|
|
255
|
+
|
|
245
256
|
### Chat Commands
|
|
246
257
|
|
|
247
258
|
```bash
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-kakaotalk
|
|
3
3
|
description: Interact with KakaoTalk - send messages, read chats, manage conversations
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.6.0
|
|
5
5
|
allowed-tools: Bash(agent-kakaotalk:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -16,7 +16,7 @@ metadata:
|
|
|
16
16
|
|
|
17
17
|
# Agent KakaoTalk
|
|
18
18
|
|
|
19
|
-
A TypeScript CLI tool that enables AI agents and humans to interact with KakaoTalk through a simple command interface. Features
|
|
19
|
+
A TypeScript CLI tool that enables AI agents and humans to interact with KakaoTalk through a simple command interface. Features sub-device login that keeps your desktop app running.
|
|
20
20
|
|
|
21
21
|
## Key Concepts
|
|
22
22
|
|
|
@@ -32,12 +32,9 @@ Before diving in, a few things about KakaoTalk's architecture:
|
|
|
32
32
|
## Quick Start
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
|
-
# Login (
|
|
35
|
+
# Login (registers as sub-device, desktop app stays running)
|
|
36
36
|
agent-kakaotalk auth login
|
|
37
37
|
|
|
38
|
-
# Or extract credentials from desktop app (kicks desktop session)
|
|
39
|
-
agent-kakaotalk auth extract
|
|
40
|
-
|
|
41
38
|
# List chat rooms
|
|
42
39
|
agent-kakaotalk chat list
|
|
43
40
|
|
|
@@ -47,16 +44,12 @@ agent-kakaotalk message send <chat-id> "Hello from AI agent!"
|
|
|
47
44
|
# List messages in a chat
|
|
48
45
|
agent-kakaotalk message list <chat-id>
|
|
49
46
|
|
|
50
|
-
# Show your
|
|
51
|
-
agent-kakaotalk
|
|
47
|
+
# Show your identity
|
|
48
|
+
agent-kakaotalk whoami
|
|
52
49
|
```
|
|
53
50
|
|
|
54
51
|
## Authentication
|
|
55
52
|
|
|
56
|
-
KakaoTalk offers two authentication methods:
|
|
57
|
-
|
|
58
|
-
### Method 1: Login (Recommended)
|
|
59
|
-
|
|
60
53
|
Registers the CLI as a sub-device (tablet slot by default). Your desktop app keeps running.
|
|
61
54
|
|
|
62
55
|
```bash
|
|
@@ -77,18 +70,7 @@ agent-kakaotalk auth login --email user@example.com --password mypass
|
|
|
77
70
|
3. The CLI polls until you confirm on your phone
|
|
78
71
|
4. Login completes automatically after confirmation
|
|
79
72
|
|
|
80
|
-
**IMPORTANT**: NEVER guide the user to open a web browser, use DevTools, or manually copy tokens. Always use `agent-kakaotalk auth login
|
|
81
|
-
|
|
82
|
-
### Method 2: Extract from Desktop App
|
|
83
|
-
|
|
84
|
-
Extracts OAuth tokens directly from the KakaoTalk desktop app's cache. This **kicks the desktop session** because it reuses the desktop's credentials.
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
agent-kakaotalk auth extract
|
|
88
|
-
agent-kakaotalk auth extract --debug
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
On macOS, reads from `~/Library/Containers/com.kakao.KakaoTalkMac/Data/Library/Caches/Cache.db`. On Windows, reads from the registry and `%LocalAppData%\Kakao\login_list.dat`.
|
|
73
|
+
**IMPORTANT**: NEVER guide the user to open a web browser, use DevTools, or manually copy tokens. Always use `agent-kakaotalk auth login`.
|
|
92
74
|
|
|
93
75
|
### Agent Behavior (MANDATORY)
|
|
94
76
|
|
|
@@ -102,21 +84,13 @@ agent-kakaotalk auth status
|
|
|
102
84
|
|
|
103
85
|
If authenticated → retry the original command.
|
|
104
86
|
|
|
105
|
-
**Step 2:
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
agent-kakaotalk auth extract
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
If extraction succeeds → retry the original command. Extraction is silent and requires no user input.
|
|
112
|
-
|
|
113
|
-
**Step 3: If extraction fails, use login flow**
|
|
87
|
+
**Step 2: Login (registers as sub-device — desktop app stays running)**
|
|
114
88
|
|
|
115
89
|
```bash
|
|
116
90
|
agent-kakaotalk auth login
|
|
117
91
|
```
|
|
118
92
|
|
|
119
|
-
The CLI
|
|
93
|
+
The CLI auto-extracts the email (and password if available) from the desktop app. On fresh installs, the CLI may prompt for the KakaoTalk password once (one-time device registration). After registration, the password is never needed again.
|
|
120
94
|
|
|
121
95
|
Possible responses:
|
|
122
96
|
|
|
@@ -134,7 +108,7 @@ agent-kakaotalk auth login --password-file /tmp/.kakao-pw
|
|
|
134
108
|
|
|
135
109
|
The `--password-file` flag reads the password from the file and **deletes the file immediately after reading**. The password never appears in chat, shell history, or process list.
|
|
136
110
|
|
|
137
|
-
**Step
|
|
111
|
+
**Step 3: Retry the original command**
|
|
138
112
|
After successful auth, immediately execute whatever the user originally asked for.
|
|
139
113
|
|
|
140
114
|
### Device Slots
|
|
@@ -157,7 +131,7 @@ agent-kakaotalk auth login --device-type tablet --force
|
|
|
157
131
|
|
|
158
132
|
## Multi-Account
|
|
159
133
|
|
|
160
|
-
KakaoTalk supports multiple accounts. Each login
|
|
134
|
+
KakaoTalk supports multiple accounts. Each login stores credentials separately, keyed by user ID.
|
|
161
135
|
|
|
162
136
|
### Listing Accounts
|
|
163
137
|
|
|
@@ -262,11 +236,6 @@ agent-kakaotalk auth login --email <email> --password <password>
|
|
|
262
236
|
agent-kakaotalk auth login --device-type pc --force
|
|
263
237
|
agent-kakaotalk auth login --debug
|
|
264
238
|
|
|
265
|
-
# Extract credentials from KakaoTalk desktop app
|
|
266
|
-
agent-kakaotalk auth extract
|
|
267
|
-
agent-kakaotalk auth extract --debug
|
|
268
|
-
agent-kakaotalk auth extract --unsafely-show-secrets
|
|
269
|
-
|
|
270
239
|
# Check auth status
|
|
271
240
|
agent-kakaotalk auth status
|
|
272
241
|
|
|
@@ -288,13 +257,13 @@ agent-kakaotalk auth status --account <account-id>
|
|
|
288
257
|
agent-kakaotalk auth logout --account <account-id>
|
|
289
258
|
```
|
|
290
259
|
|
|
291
|
-
###
|
|
260
|
+
### Whoami Command
|
|
292
261
|
|
|
293
262
|
```bash
|
|
294
|
-
# Show
|
|
295
|
-
agent-kakaotalk
|
|
296
|
-
agent-kakaotalk
|
|
297
|
-
agent-kakaotalk
|
|
263
|
+
# Show current authenticated user
|
|
264
|
+
agent-kakaotalk whoami
|
|
265
|
+
agent-kakaotalk whoami --pretty
|
|
266
|
+
agent-kakaotalk whoami --account <account-id>
|
|
298
267
|
```
|
|
299
268
|
|
|
300
269
|
Output includes:
|
|
@@ -304,6 +273,12 @@ Output includes:
|
|
|
304
273
|
- `original_profile_image_url` — original profile image URL
|
|
305
274
|
- `status_message` — your status message
|
|
306
275
|
- `account_display_id` — your KakaoTalk ID (may be null if not set)
|
|
276
|
+
- `background_image_url` — background image URL
|
|
277
|
+
- `original_background_image_url` — original background image URL
|
|
278
|
+
- `fullname` — real name (may be null)
|
|
279
|
+
- `account_email` — account email (may be null)
|
|
280
|
+
- `pstn_number` — phone number (may be null)
|
|
281
|
+
- `email_verified` — whether email is verified (may be null)
|
|
307
282
|
|
|
308
283
|
### Chat Commands
|
|
309
284
|
|
|
@@ -428,7 +403,7 @@ All commands return consistent error format:
|
|
|
428
403
|
|
|
429
404
|
Common errors:
|
|
430
405
|
|
|
431
|
-
- `No KakaoTalk credentials found` — not authenticated. Run `auth login
|
|
406
|
+
- `No KakaoTalk credentials found` — not authenticated. Run `auth login`.
|
|
432
407
|
- `bad_credentials` — wrong email or password. Cached credentials from the desktop app may be stale. Ask the user to provide credentials manually with `--email` and `--password`.
|
|
433
408
|
- `login_failed` — device slot conflict or unknown login error. Run with `--debug` for the full server response.
|
|
434
409
|
- `passcode_request_failed` — failed to request device verification code.
|
|
@@ -513,7 +488,7 @@ See the [KakaoTalk SDK documentation](https://agent-messenger.dev/docs/sdk/kakao
|
|
|
513
488
|
|
|
514
489
|
## Limitations
|
|
515
490
|
|
|
516
|
-
- macOS and Windows only (desktop app
|
|
491
|
+
- macOS and Windows only (desktop app needed for auto-extracting email/password during login)
|
|
517
492
|
- No Linux support (KakaoTalk desktop not available on Linux)
|
|
518
493
|
- No file upload or download
|
|
519
494
|
- No channel/chat room creation or management
|
|
@@ -549,17 +524,9 @@ pnpm dlx --package agent-messenger agent-kakaotalk chat list --pretty
|
|
|
549
524
|
|
|
550
525
|
**NEVER run `npx agent-kakaotalk`, `bunx agent-kakaotalk`, or `pnpm dlx agent-kakaotalk`** without `--package agent-messenger`. It will fail or install a wrong package since `agent-kakaotalk` is not the npm package name.
|
|
551
526
|
|
|
552
|
-
### No credentials found
|
|
553
|
-
|
|
554
|
-
If `auth extract` fails:
|
|
555
|
-
|
|
556
|
-
1. Make sure the KakaoTalk desktop app is installed and you're logged in
|
|
557
|
-
2. Run `agent-kakaotalk auth extract --debug` for detailed diagnostics
|
|
558
|
-
3. If extraction still fails, use `agent-kakaotalk auth login` instead (recommended)
|
|
559
|
-
|
|
560
527
|
### Password prompt on fresh install
|
|
561
528
|
|
|
562
|
-
On fresh installs, the
|
|
529
|
+
On fresh installs, the desktop app (macOS or Windows) may hash or omit the password from its cache, so the CLI cannot extract it automatically. The CLI will prompt for the password once to register the device — via a native dialog on macOS (AppKit) and Windows (PowerShell WinForms), or via a TTY prompt if a terminal is available. After registration, the password is never needed again.
|
|
563
530
|
|
|
564
531
|
When the CLI returns `{"next_action": "run_interactive", ...}`, use a tmux session to let the user type their password securely. See "Handling `run_interactive`" above for the exact steps.
|
|
565
532
|
|
|
@@ -591,19 +558,6 @@ If the passcode expires before you confirm on your phone:
|
|
|
591
558
|
2. Confirm the code on your phone within the time limit
|
|
592
559
|
3. The CLI automatically completes login after confirmation
|
|
593
560
|
|
|
594
|
-
### Cache.db not found (macOS)
|
|
595
|
-
|
|
596
|
-
The CLI looks for KakaoTalk's cache at:
|
|
597
|
-
|
|
598
|
-
```
|
|
599
|
-
~/Library/Containers/com.kakao.KakaoTalkMac/Data/Library/Caches/Cache.db
|
|
600
|
-
```
|
|
601
|
-
|
|
602
|
-
If this file doesn't exist:
|
|
603
|
-
1. Install KakaoTalk from the Mac App Store
|
|
604
|
-
2. Log in and send at least one message (to populate the cache)
|
|
605
|
-
3. Run `agent-kakaotalk auth extract` again
|
|
606
|
-
|
|
607
561
|
## References
|
|
608
562
|
|
|
609
563
|
- [Authentication Guide](references/authentication.md)
|
|
@@ -2,12 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
agent-kakaotalk
|
|
5
|
+
agent-kakaotalk authenticates by registering the CLI as a sub-device (tablet or PC slot) using KakaoTalk's Android sub-device API. Your desktop app and phone keep running.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
2. **Extract** — reads OAuth tokens from the KakaoTalk desktop app's local cache. This reuses the desktop's credentials, which kicks the desktop session.
|
|
9
|
-
|
|
10
|
-
## Method 1: Login Flow
|
|
7
|
+
## Login Flow
|
|
11
8
|
|
|
12
9
|
### How It Works
|
|
13
10
|
|
|
@@ -107,65 +104,6 @@ Each device is identified by a UUID. The CLI generates one on first login and re
|
|
|
107
104
|
|
|
108
105
|
The UUID is stored in the credentials file alongside the OAuth token.
|
|
109
106
|
|
|
110
|
-
## Method 2: Extract from Desktop App
|
|
111
|
-
|
|
112
|
-
### How It Works
|
|
113
|
-
|
|
114
|
-
The KakaoTalk desktop app (macOS) caches HTTP requests in a SQLite database (`Cache.db`). These cached requests contain:
|
|
115
|
-
|
|
116
|
-
- `Authorization` header with the OAuth token
|
|
117
|
-
- Login form body with email, password, and device UUID
|
|
118
|
-
- Refresh token from token renewal requests
|
|
119
|
-
|
|
120
|
-
The CLI reads this cache and stores the extracted credentials.
|
|
121
|
-
|
|
122
|
-
### macOS
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
agent-kakaotalk auth extract
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
Cache location:
|
|
129
|
-
```
|
|
130
|
-
~/Library/Containers/com.kakao.KakaoTalkMac/Data/Library/Caches/Cache.db
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
The CLI:
|
|
134
|
-
1. Copies `Cache.db` (and WAL/SHM journals) to a temp directory
|
|
135
|
-
2. Queries for requests to `talk-pilsner.kakao.com` (messaging API)
|
|
136
|
-
3. Parses binary plist blobs for the OAuth token
|
|
137
|
-
4. Extracts device UUID and refresh token from `login.json` / `renew_token.json` cached requests
|
|
138
|
-
5. Stores extracted credentials
|
|
139
|
-
|
|
140
|
-
### Windows
|
|
141
|
-
|
|
142
|
-
```bash
|
|
143
|
-
agent-kakaotalk auth extract
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
The CLI reads from:
|
|
147
|
-
- Registry: `HKCU\Software\Kakao\KakaoTalk\DeviceInfo` (device UUID)
|
|
148
|
-
- File: `%LocalAppData%\Kakao\login_list.dat` (login credentials)
|
|
149
|
-
|
|
150
|
-
### Troubleshooting Extraction
|
|
151
|
-
|
|
152
|
-
Use `--debug` for detailed logs:
|
|
153
|
-
|
|
154
|
-
```bash
|
|
155
|
-
agent-kakaotalk auth extract --debug
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
This shows:
|
|
159
|
-
- Which cache path was found
|
|
160
|
-
- How many cached requests were discovered
|
|
161
|
-
- Which tokens were successfully extracted
|
|
162
|
-
|
|
163
|
-
Use `--unsafely-show-secrets` to see full token values (debug mode only):
|
|
164
|
-
|
|
165
|
-
```bash
|
|
166
|
-
agent-kakaotalk auth extract --unsafely-show-secrets
|
|
167
|
-
```
|
|
168
|
-
|
|
169
107
|
## Credential Storage
|
|
170
108
|
|
|
171
109
|
### Location
|
|
@@ -237,13 +175,13 @@ Output when not authenticated:
|
|
|
237
175
|
|
|
238
176
|
```json
|
|
239
177
|
{
|
|
240
|
-
"error": "No account configured. Run \"auth login\"
|
|
178
|
+
"error": "No account configured. Run \"auth login\" first."
|
|
241
179
|
}
|
|
242
180
|
```
|
|
243
181
|
|
|
244
182
|
## Multi-Account
|
|
245
183
|
|
|
246
|
-
KakaoTalk supports multiple accounts. Each login
|
|
184
|
+
KakaoTalk supports multiple accounts. Each login stores credentials separately, keyed by user ID.
|
|
247
185
|
|
|
248
186
|
### Listing Accounts
|
|
249
187
|
|
|
@@ -316,9 +254,6 @@ If commands start failing with auth errors:
|
|
|
316
254
|
# Try login again (reuses saved device UUID to skip passcode)
|
|
317
255
|
agent-kakaotalk auth login
|
|
318
256
|
|
|
319
|
-
# Or re-extract from desktop app
|
|
320
|
-
agent-kakaotalk auth extract
|
|
321
|
-
|
|
322
257
|
# Verify it worked
|
|
323
258
|
agent-kakaotalk auth status
|
|
324
259
|
```
|
|
@@ -144,7 +144,7 @@ NEW_MESSAGES=$(agent-kakaotalk message list "$CHAT_ID" --from "$LAST_SEEN")
|
|
|
144
144
|
|
|
145
145
|
**When to use**: Reading long chat histories, catching up on new messages since last check.
|
|
146
146
|
|
|
147
|
-
**Pagination details**: The
|
|
147
|
+
**Pagination details**: The CLI now prefers KakaoTalk's `MCHATLOGS` flow for history reads, fetching message batches from the requested `--from` point and returning the last N messages after deduplication and ascending sort. If that path cannot provide results, it falls back to `CHATONROOM` + `SYNCMSG` for compatibility. As a safety net, both paths are capped at 50 internal pages. A warning is printed to stderr only when that cap is actually hit and the returned history may be incomplete.
|
|
148
148
|
|
|
149
149
|
## Pattern 6: Multi-Chat Broadcast
|
|
150
150
|
|
|
@@ -391,6 +391,19 @@ try {
|
|
|
391
391
|
}
|
|
392
392
|
```
|
|
393
393
|
|
|
394
|
+
When passing credentials manually, include `deviceType` to control which session slot the LOCO connection uses:
|
|
395
|
+
|
|
396
|
+
```typescript
|
|
397
|
+
const client = await new KakaoTalkClient().login({
|
|
398
|
+
oauthToken: 'token',
|
|
399
|
+
userId: '1234567890',
|
|
400
|
+
deviceUuid: 'uuid',
|
|
401
|
+
deviceType: 'tablet', // 'tablet' (default, safe) or 'pc' (kicks desktop app)
|
|
402
|
+
})
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
The `deviceType` determines the LOCO protocol identity: `'tablet'` sends `os: 'android'` (tablet sub-device slot), while `'pc'` sends `os: 'mac'` on macOS or `os: 'win'` on Windows (PC slot, conflicts with the desktop app). When using auto-login (`.login()` with no arguments), `deviceType` is read from stored credentials automatically.
|
|
406
|
+
|
|
394
407
|
### Auto-Reconnect
|
|
395
408
|
|
|
396
409
|
`getChats`, `getMessages`, and `sendMessage` automatically reconnect once when the LOCO session dies (e.g. the KakaoTalk desktop app reclaims the session or the network drops). The reconnect is transparent — callers don't need to handle session-drop errors.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-line
|
|
3
3
|
description: Interact with LINE - send messages, read chats, manage conversations
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.6.0
|
|
5
5
|
allowed-tools: Bash(agent-line:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -237,12 +237,12 @@ agent-line auth logout <account-id>
|
|
|
237
237
|
agent-line auth logout --pretty
|
|
238
238
|
```
|
|
239
239
|
|
|
240
|
-
###
|
|
240
|
+
### Whoami Command
|
|
241
241
|
|
|
242
242
|
```bash
|
|
243
|
-
# Show
|
|
244
|
-
agent-line
|
|
245
|
-
agent-line
|
|
243
|
+
# Show current authenticated user
|
|
244
|
+
agent-line whoami
|
|
245
|
+
agent-line whoami --pretty
|
|
246
246
|
```
|
|
247
247
|
|
|
248
248
|
Output includes:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-slack
|
|
3
3
|
description: Interact with Slack workspaces - send messages, read channels, manage reactions
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.6.0
|
|
5
5
|
allowed-tools: Bash(agent-slack:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|
|
@@ -149,6 +149,16 @@ agent-slack auth logout
|
|
|
149
149
|
agent-slack auth logout <workspace-id>
|
|
150
150
|
```
|
|
151
151
|
|
|
152
|
+
### Whoami Command
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# Show current authenticated user
|
|
156
|
+
agent-slack whoami
|
|
157
|
+
agent-slack whoami --pretty
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Output includes the authenticated user's identity information.
|
|
161
|
+
|
|
152
162
|
### Message Commands
|
|
153
163
|
|
|
154
164
|
```bash
|