agent-messenger 2.5.0 → 2.6.1
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 +44 -0
- package/.oxlintrc.json +1 -1
- package/bun.lock +0 -27
- package/bunfig.toml +0 -3
- package/dist/package.json +1 -2
- 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 +21 -7
- 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/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 +3 -1
- package/dist/src/platforms/kakaotalk/protocol/session.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/protocol/session.js +13 -10
- package/dist/src/platforms/kakaotalk/protocol/session.js.map +1 -1
- package/dist/src/platforms/kakaotalk/types.d.ts +10 -0
- package/dist/src/platforms/kakaotalk/types.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/types.js +1 -0
- package/dist/src/platforms/kakaotalk/types.js.map +1 -1
- package/dist/src/platforms/line/client.js +2 -2
- package/dist/src/platforms/line/client.js.map +1 -1
- 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/vendor/linejs/LICENSE +21 -0
- package/dist/src/vendor/linejs/README.md +89 -0
- package/dist/src/vendor/linejs/_dist/base/core/mod.d.ts +125 -0
- package/dist/src/vendor/linejs/_dist/base/core/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/core/typed-event-emitter/index.d.ts +13 -0
- package/dist/src/vendor/linejs/_dist/base/core/typed-event-emitter/index.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/continue.d.ts +10 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/continue.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/devices.d.ts +8 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/devices.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/error.d.ts +8 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/error.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/events.d.ts +22 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/events.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/e2ee/mod.d.ts +64 -0
- package/dist/src/vendor/linejs/_dist/base/e2ee/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/login/mod.d.ts +138 -0
- package/dist/src/vendor/linejs/_dist/base/login/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/mod.d.ts +6 -0
- package/dist/src/vendor/linejs/_dist/base/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/obs/mod.d.ts +100 -0
- package/dist/src/vendor/linejs/_dist/base/obs/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/polling/mod.d.ts +55 -0
- package/dist/src/vendor/linejs/_dist/base/polling/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/push/conn.d.ts +39 -0
- package/dist/src/vendor/linejs/_dist/base/push/conn.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/push/connData.d.ts +19 -0
- package/dist/src/vendor/linejs/_dist/base/push/connData.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/push/connManager.d.ts +43 -0
- package/dist/src/vendor/linejs/_dist/base/push/connManager.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/push/mod.d.ts +2 -0
- package/dist/src/vendor/linejs/_dist/base/push/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/request/mod.d.ts +45 -0
- package/dist/src/vendor/linejs/_dist/base/request/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/auth/mod.d.ts +32 -0
- package/dist/src/vendor/linejs/_dist/base/service/auth/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/call/mod.d.ts +29 -0
- package/dist/src/vendor/linejs/_dist/base/service/call/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/channel/mod.d.ts +28 -0
- package/dist/src/vendor/linejs/_dist/base/service/channel/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/liff/mod.d.ts +51 -0
- package/dist/src/vendor/linejs/_dist/base/service/liff/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/livetalk/mod.d.ts +38 -0
- package/dist/src/vendor/linejs/_dist/base/service/livetalk/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/mod.d.ts +9 -0
- package/dist/src/vendor/linejs/_dist/base/service/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/relation/mod.d.ts +30 -0
- package/dist/src/vendor/linejs/_dist/base/service/relation/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/square/mod.d.ts +162 -0
- package/dist/src/vendor/linejs/_dist/base/service/square/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/talk/mod.d.ts +194 -0
- package/dist/src/vendor/linejs/_dist/base/service/talk/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/types.d.ts +9 -0
- package/dist/src/vendor/linejs/_dist/base/service/types.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/storage/base.d.ts +34 -0
- package/dist/src/vendor/linejs/_dist/base/storage/base.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/storage/file.d.ts +20 -0
- package/dist/src/vendor/linejs/_dist/base/storage/file.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/storage/memory.d.ts +19 -0
- package/dist/src/vendor/linejs/_dist/base/storage/memory.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/storage/mod.d.ts +4 -0
- package/dist/src/vendor/linejs/_dist/base/storage/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/mod.d.ts +14 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/declares.d.ts +20 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/declares.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/read.d.ts +7 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/read.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/struct.d.ts +1109 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/struct.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/write.d.ts +3 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/write.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/rename/parser.d.ts +7 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/rename/parser.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/timeline/mod.d.ts +83 -0
- package/dist/src/vendor/linejs/_dist/base/timeline/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/types.d.ts +11 -0
- package/dist/src/vendor/linejs/_dist/base/types.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/client.d.ts +70 -0
- package/dist/src/vendor/linejs/_dist/client/client.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/chat/fetcher.d.ts +5 -0
- package/dist/src/vendor/linejs/_dist/client/features/chat/fetcher.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/chat/mod.d.ts +58 -0
- package/dist/src/vendor/linejs/_dist/client/features/chat/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/internal-types.d.ts +5 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/internal-types.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/mod.d.ts +3 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/square.d.ts +94 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/square.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/talk.d.ts +87 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/talk.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/types.d.ts +29 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/types.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/square/mod.d.ts +65 -0
- package/dist/src/vendor/linejs/_dist/client/features/square/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/user/mod.d.ts +10 -0
- package/dist/src/vendor/linejs/_dist/client/features/user/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/login.d.ts +41 -0
- package/dist/src/vendor/linejs/_dist/client/login.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/mod.d.ts +3 -0
- package/dist/src/vendor/linejs/_dist/client/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/base/core/mod.js +197 -0
- package/dist/src/vendor/linejs/base/core/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/core/typed-event-emitter/index.js +43 -0
- package/dist/src/vendor/linejs/base/core/typed-event-emitter/index.js.map +1 -0
- package/dist/src/vendor/linejs/base/core/utils/continue.js +42 -0
- package/dist/src/vendor/linejs/base/core/utils/continue.js.map +1 -0
- package/dist/src/vendor/linejs/base/core/utils/devices.js +67 -0
- package/dist/src/vendor/linejs/base/core/utils/devices.js.map +1 -0
- package/dist/src/vendor/linejs/base/core/utils/error.js +11 -0
- package/dist/src/vendor/linejs/base/core/utils/error.js.map +1 -0
- package/dist/src/vendor/linejs/base/core/utils/events.js +1 -0
- package/dist/src/vendor/linejs/base/core/utils/events.js.map +1 -0
- package/dist/src/vendor/linejs/base/e2ee/mod.js +817 -0
- package/dist/src/vendor/linejs/base/e2ee/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/login/mod.js +594 -0
- package/dist/src/vendor/linejs/base/login/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/login/regex.js +6 -0
- package/dist/src/vendor/linejs/base/login/regex.js.map +1 -0
- package/dist/src/vendor/linejs/base/login/rsa-verify.js +73 -0
- package/dist/src/vendor/linejs/base/login/rsa-verify.js.map +1 -0
- package/dist/src/vendor/linejs/base/mod.js +6 -0
- package/dist/src/vendor/linejs/base/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/obs/mime.js +138 -0
- package/dist/src/vendor/linejs/base/obs/mime.js.map +1 -0
- package/dist/src/vendor/linejs/base/obs/mod.js +309 -0
- package/dist/src/vendor/linejs/base/obs/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/polling/mod.js +153 -0
- package/dist/src/vendor/linejs/base/polling/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/push/conn.js +254 -0
- package/dist/src/vendor/linejs/base/push/conn.js.map +1 -0
- package/dist/src/vendor/linejs/base/push/connData.js +81 -0
- package/dist/src/vendor/linejs/base/push/connData.js.map +1 -0
- package/dist/src/vendor/linejs/base/push/connManager.js +422 -0
- package/dist/src/vendor/linejs/base/push/connManager.js.map +1 -0
- package/dist/src/vendor/linejs/base/push/mod.js +2 -0
- package/dist/src/vendor/linejs/base/push/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/request/mod.js +195 -0
- package/dist/src/vendor/linejs/base/request/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/auth/mod.js +83 -0
- package/dist/src/vendor/linejs/base/service/auth/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/call/mod.js +63 -0
- package/dist/src/vendor/linejs/base/service/call/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/channel/mod.js +52 -0
- package/dist/src/vendor/linejs/base/service/channel/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/liff/mod.js +240 -0
- package/dist/src/vendor/linejs/base/service/liff/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/livetalk/mod.js +90 -0
- package/dist/src/vendor/linejs/base/service/livetalk/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/mod.js +9 -0
- package/dist/src/vendor/linejs/base/service/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/relation/mod.js +86 -0
- package/dist/src/vendor/linejs/base/service/relation/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/square/mod.js +414 -0
- package/dist/src/vendor/linejs/base/service/square/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/talk/mod.js +525 -0
- package/dist/src/vendor/linejs/base/service/talk/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/types.js +1 -0
- package/dist/src/vendor/linejs/base/service/types.js.map +1 -0
- package/dist/src/vendor/linejs/base/storage/base.js +5 -0
- package/dist/src/vendor/linejs/base/storage/base.js.map +1 -0
- package/dist/src/vendor/linejs/base/storage/file.js +63 -0
- package/dist/src/vendor/linejs/base/storage/file.js.map +1 -0
- package/dist/src/vendor/linejs/base/storage/memory.js +46 -0
- package/dist/src/vendor/linejs/base/storage/memory.js.map +1 -0
- package/dist/src/vendor/linejs/base/storage/mod.js +4 -0
- package/dist/src/vendor/linejs/base/storage/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/thrift/README.md +53 -0
- package/dist/src/vendor/linejs/base/thrift/mod.js +22 -0
- package/dist/src/vendor/linejs/base/thrift/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/declares.js +54 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/declares.js.map +1 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/read.js +115 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/read.js.map +1 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/struct.js +14449 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/struct.js.map +1 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/tmc.js +460 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/tmc.js.map +1 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/write.js +234 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/write.js.map +1 -0
- package/dist/src/vendor/linejs/base/thrift/rename/parser.js +121 -0
- package/dist/src/vendor/linejs/base/thrift/rename/parser.js.map +1 -0
- package/dist/src/vendor/linejs/base/timeline/mod.js +360 -0
- package/dist/src/vendor/linejs/base/timeline/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/types.js +8 -0
- package/dist/src/vendor/linejs/base/types.js.map +1 -0
- package/dist/src/vendor/linejs/client/client.js +185 -0
- package/dist/src/vendor/linejs/client/client.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/chat/fetcher.js +29 -0
- package/dist/src/vendor/linejs/client/features/chat/fetcher.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/chat/mod.js +118 -0
- package/dist/src/vendor/linejs/client/features/chat/mod.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/message/internal-types.js +1 -0
- package/dist/src/vendor/linejs/client/features/message/internal-types.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/message/mod.js +5 -0
- package/dist/src/vendor/linejs/client/features/message/mod.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/message/square.js +464 -0
- package/dist/src/vendor/linejs/client/features/message/square.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/message/talk.js +340 -0
- package/dist/src/vendor/linejs/client/features/message/talk.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/message/types.js +1 -0
- package/dist/src/vendor/linejs/client/features/message/types.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/message/utils.js +83 -0
- package/dist/src/vendor/linejs/client/features/message/utils.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/square/mod.js +173 -0
- package/dist/src/vendor/linejs/client/features/square/mod.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/user/mod.js +9 -0
- package/dist/src/vendor/linejs/client/features/user/mod.js.map +1 -0
- package/dist/src/vendor/linejs/client/login.js +36 -0
- package/dist/src/vendor/linejs/client/login.js.map +1 -0
- package/dist/src/vendor/linejs/client/mod.js +3 -0
- package/dist/src/vendor/linejs/client/mod.js.map +1 -0
- package/dist/src/vendor/linejs/deno.json +24 -0
- package/dist/src/vendor/linejs/package.json +35 -0
- package/dist/src/vendor/linejs-types/LICENSE +21 -0
- package/dist/src/vendor/linejs-types/README.md +11 -0
- package/dist/src/vendor/linejs-types/_dist/line_types.d.ts +11629 -0
- package/dist/src/vendor/linejs-types/_dist/line_types.d.ts.map +1 -0
- package/dist/src/vendor/linejs-types/_dist/thrift.d.ts +4 -0
- package/dist/src/vendor/linejs-types/_dist/thrift.d.ts.map +1 -0
- package/dist/src/vendor/linejs-types/deno.json +12 -0
- package/dist/src/vendor/linejs-types/line_types.js +2704 -0
- package/dist/src/vendor/linejs-types/line_types.js.map +1 -0
- package/dist/src/vendor/linejs-types/package.json +20 -0
- package/dist/src/vendor/linejs-types/thrift.js +37670 -0
- package/dist/src/vendor/linejs-types/thrift.js.map +1 -0
- package/dist/src/vendor/loose-types/LICENSE +21 -0
- package/dist/src/vendor/loose-types/README.md +30 -0
- package/dist/src/vendor/loose-types/_dist/mod.d.ts +23 -0
- package/dist/src/vendor/loose-types/_dist/mod.d.ts.map +1 -0
- package/dist/src/vendor/loose-types/deno.json +7 -0
- package/dist/src/vendor/loose-types/mod.js +7 -0
- package/dist/src/vendor/loose-types/mod.js.map +1 -0
- package/dist/src/vendor/loose-types/package.json +14 -0
- package/dist/src/vendor/runtime-shims.d.ts +13 -0
- package/docs/content/docs/cli/kakaotalk.mdx +3 -39
- package/e2e/config.ts +1 -1
- package/package.json +1 -2
- package/scripts/postbuild.ts +5 -1
- package/skills/agent-channeltalk/SKILL.md +1 -1
- package/skills/agent-channeltalkbot/SKILL.md +1 -1
- package/skills/agent-discord/SKILL.md +1 -1
- package/skills/agent-discordbot/SKILL.md +1 -1
- package/skills/agent-instagram/SKILL.md +1 -1
- package/skills/agent-kakaotalk/SKILL.md +11 -63
- package/skills/agent-kakaotalk/references/authentication.md +4 -69
- package/skills/agent-kakaotalk/references/common-patterns.md +13 -0
- package/skills/agent-line/SKILL.md +1 -1
- package/skills/agent-slack/SKILL.md +1 -1
- package/skills/agent-slackbot/SKILL.md +1 -1
- package/skills/agent-teams/SKILL.md +1 -1
- package/skills/agent-telegram/SKILL.md +1 -1
- package/skills/agent-webex/SKILL.md +1 -1
- package/skills/agent-wechatbot/SKILL.md +1 -1
- package/skills/agent-whatsapp/SKILL.md +1 -1
- package/skills/agent-whatsappbot/SKILL.md +1 -1
- package/src/platforms/kakaotalk/client.ts +25 -10
- package/src/platforms/kakaotalk/commands/auth.ts +22 -73
- 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 +16 -10
- package/src/platforms/kakaotalk/types.ts +4 -0
- package/src/platforms/line/client.ts +2 -2
- package/src/tui/adapters/kakaotalk-adapter.ts +5 -2
- package/src/vendor/linejs/LICENSE +21 -0
- package/src/vendor/linejs/README.md +89 -0
- package/src/vendor/linejs/_dist/base/core/mod.d.ts +125 -0
- package/src/vendor/linejs/_dist/base/core/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/core/typed-event-emitter/index.d.ts +13 -0
- package/src/vendor/linejs/_dist/base/core/typed-event-emitter/index.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/core/utils/continue.d.ts +10 -0
- package/src/vendor/linejs/_dist/base/core/utils/continue.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/core/utils/devices.d.ts +8 -0
- package/src/vendor/linejs/_dist/base/core/utils/devices.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/core/utils/error.d.ts +8 -0
- package/src/vendor/linejs/_dist/base/core/utils/error.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/core/utils/events.d.ts +22 -0
- package/src/vendor/linejs/_dist/base/core/utils/events.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/e2ee/mod.d.ts +64 -0
- package/src/vendor/linejs/_dist/base/e2ee/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/login/mod.d.ts +138 -0
- package/src/vendor/linejs/_dist/base/login/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/mod.d.ts +6 -0
- package/src/vendor/linejs/_dist/base/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/obs/mod.d.ts +100 -0
- package/src/vendor/linejs/_dist/base/obs/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/polling/mod.d.ts +55 -0
- package/src/vendor/linejs/_dist/base/polling/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/push/conn.d.ts +39 -0
- package/src/vendor/linejs/_dist/base/push/conn.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/push/connData.d.ts +19 -0
- package/src/vendor/linejs/_dist/base/push/connData.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/push/connManager.d.ts +43 -0
- package/src/vendor/linejs/_dist/base/push/connManager.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/push/mod.d.ts +2 -0
- package/src/vendor/linejs/_dist/base/push/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/request/mod.d.ts +45 -0
- package/src/vendor/linejs/_dist/base/request/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/auth/mod.d.ts +32 -0
- package/src/vendor/linejs/_dist/base/service/auth/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/call/mod.d.ts +29 -0
- package/src/vendor/linejs/_dist/base/service/call/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/channel/mod.d.ts +28 -0
- package/src/vendor/linejs/_dist/base/service/channel/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/liff/mod.d.ts +51 -0
- package/src/vendor/linejs/_dist/base/service/liff/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/livetalk/mod.d.ts +38 -0
- package/src/vendor/linejs/_dist/base/service/livetalk/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/mod.d.ts +9 -0
- package/src/vendor/linejs/_dist/base/service/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/relation/mod.d.ts +30 -0
- package/src/vendor/linejs/_dist/base/service/relation/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/square/mod.d.ts +162 -0
- package/src/vendor/linejs/_dist/base/service/square/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/talk/mod.d.ts +194 -0
- package/src/vendor/linejs/_dist/base/service/talk/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/types.d.ts +9 -0
- package/src/vendor/linejs/_dist/base/service/types.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/storage/base.d.ts +34 -0
- package/src/vendor/linejs/_dist/base/storage/base.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/storage/file.d.ts +20 -0
- package/src/vendor/linejs/_dist/base/storage/file.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/storage/memory.d.ts +19 -0
- package/src/vendor/linejs/_dist/base/storage/memory.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/storage/mod.d.ts +4 -0
- package/src/vendor/linejs/_dist/base/storage/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/thrift/mod.d.ts +14 -0
- package/src/vendor/linejs/_dist/base/thrift/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/declares.d.ts +20 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/declares.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/read.d.ts +7 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/read.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/struct.d.ts +1109 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/struct.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/write.d.ts +3 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/write.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/thrift/rename/parser.d.ts +7 -0
- package/src/vendor/linejs/_dist/base/thrift/rename/parser.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/timeline/mod.d.ts +83 -0
- package/src/vendor/linejs/_dist/base/timeline/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/types.d.ts +11 -0
- package/src/vendor/linejs/_dist/base/types.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/client.d.ts +70 -0
- package/src/vendor/linejs/_dist/client/client.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/chat/fetcher.d.ts +5 -0
- package/src/vendor/linejs/_dist/client/features/chat/fetcher.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/chat/mod.d.ts +58 -0
- package/src/vendor/linejs/_dist/client/features/chat/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/message/internal-types.d.ts +5 -0
- package/src/vendor/linejs/_dist/client/features/message/internal-types.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/message/mod.d.ts +3 -0
- package/src/vendor/linejs/_dist/client/features/message/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/message/square.d.ts +94 -0
- package/src/vendor/linejs/_dist/client/features/message/square.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/message/talk.d.ts +87 -0
- package/src/vendor/linejs/_dist/client/features/message/talk.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/message/types.d.ts +29 -0
- package/src/vendor/linejs/_dist/client/features/message/types.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/square/mod.d.ts +65 -0
- package/src/vendor/linejs/_dist/client/features/square/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/user/mod.d.ts +10 -0
- package/src/vendor/linejs/_dist/client/features/user/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/login.d.ts +41 -0
- package/src/vendor/linejs/_dist/client/login.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/mod.d.ts +3 -0
- package/src/vendor/linejs/_dist/client/mod.d.ts.map +1 -0
- package/src/vendor/linejs/base/core/mod.js +197 -0
- package/src/vendor/linejs/base/core/mod.js.map +1 -0
- package/src/vendor/linejs/base/core/typed-event-emitter/index.js +43 -0
- package/src/vendor/linejs/base/core/typed-event-emitter/index.js.map +1 -0
- package/src/vendor/linejs/base/core/utils/continue.js +42 -0
- package/src/vendor/linejs/base/core/utils/continue.js.map +1 -0
- package/src/vendor/linejs/base/core/utils/devices.js +67 -0
- package/src/vendor/linejs/base/core/utils/devices.js.map +1 -0
- package/src/vendor/linejs/base/core/utils/error.js +11 -0
- package/src/vendor/linejs/base/core/utils/error.js.map +1 -0
- package/src/vendor/linejs/base/core/utils/events.js +1 -0
- package/src/vendor/linejs/base/core/utils/events.js.map +1 -0
- package/src/vendor/linejs/base/e2ee/mod.js +817 -0
- package/src/vendor/linejs/base/e2ee/mod.js.map +1 -0
- package/src/vendor/linejs/base/login/mod.js +594 -0
- package/src/vendor/linejs/base/login/mod.js.map +1 -0
- package/src/vendor/linejs/base/login/regex.js +6 -0
- package/src/vendor/linejs/base/login/regex.js.map +1 -0
- package/src/vendor/linejs/base/login/rsa-verify.js +73 -0
- package/src/vendor/linejs/base/login/rsa-verify.js.map +1 -0
- package/src/vendor/linejs/base/mod.js +6 -0
- package/src/vendor/linejs/base/mod.js.map +1 -0
- package/src/vendor/linejs/base/obs/mime.js +138 -0
- package/src/vendor/linejs/base/obs/mime.js.map +1 -0
- package/src/vendor/linejs/base/obs/mod.js +309 -0
- package/src/vendor/linejs/base/obs/mod.js.map +1 -0
- package/src/vendor/linejs/base/polling/mod.js +153 -0
- package/src/vendor/linejs/base/polling/mod.js.map +1 -0
- package/src/vendor/linejs/base/push/conn.js +254 -0
- package/src/vendor/linejs/base/push/conn.js.map +1 -0
- package/src/vendor/linejs/base/push/connData.js +81 -0
- package/src/vendor/linejs/base/push/connData.js.map +1 -0
- package/src/vendor/linejs/base/push/connManager.js +422 -0
- package/src/vendor/linejs/base/push/connManager.js.map +1 -0
- package/src/vendor/linejs/base/push/mod.js +2 -0
- package/src/vendor/linejs/base/push/mod.js.map +1 -0
- package/src/vendor/linejs/base/request/mod.js +195 -0
- package/src/vendor/linejs/base/request/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/auth/mod.js +83 -0
- package/src/vendor/linejs/base/service/auth/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/call/mod.js +63 -0
- package/src/vendor/linejs/base/service/call/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/channel/mod.js +52 -0
- package/src/vendor/linejs/base/service/channel/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/liff/mod.js +240 -0
- package/src/vendor/linejs/base/service/liff/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/livetalk/mod.js +90 -0
- package/src/vendor/linejs/base/service/livetalk/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/mod.js +9 -0
- package/src/vendor/linejs/base/service/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/relation/mod.js +86 -0
- package/src/vendor/linejs/base/service/relation/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/square/mod.js +414 -0
- package/src/vendor/linejs/base/service/square/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/talk/mod.js +525 -0
- package/src/vendor/linejs/base/service/talk/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/types.js +1 -0
- package/src/vendor/linejs/base/service/types.js.map +1 -0
- package/src/vendor/linejs/base/storage/base.js +5 -0
- package/src/vendor/linejs/base/storage/base.js.map +1 -0
- package/src/vendor/linejs/base/storage/file.js +63 -0
- package/src/vendor/linejs/base/storage/file.js.map +1 -0
- package/src/vendor/linejs/base/storage/memory.js +46 -0
- package/src/vendor/linejs/base/storage/memory.js.map +1 -0
- package/src/vendor/linejs/base/storage/mod.js +4 -0
- package/src/vendor/linejs/base/storage/mod.js.map +1 -0
- package/src/vendor/linejs/base/thrift/README.md +53 -0
- package/src/vendor/linejs/base/thrift/mod.js +22 -0
- package/src/vendor/linejs/base/thrift/mod.js.map +1 -0
- package/src/vendor/linejs/base/thrift/readwrite/declares.js +54 -0
- package/src/vendor/linejs/base/thrift/readwrite/declares.js.map +1 -0
- package/src/vendor/linejs/base/thrift/readwrite/read.js +115 -0
- package/src/vendor/linejs/base/thrift/readwrite/read.js.map +1 -0
- package/src/vendor/linejs/base/thrift/readwrite/struct.js +14449 -0
- package/src/vendor/linejs/base/thrift/readwrite/struct.js.map +1 -0
- package/src/vendor/linejs/base/thrift/readwrite/tmc.js +460 -0
- package/src/vendor/linejs/base/thrift/readwrite/tmc.js.map +1 -0
- package/src/vendor/linejs/base/thrift/readwrite/write.js +234 -0
- package/src/vendor/linejs/base/thrift/readwrite/write.js.map +1 -0
- package/src/vendor/linejs/base/thrift/rename/parser.js +121 -0
- package/src/vendor/linejs/base/thrift/rename/parser.js.map +1 -0
- package/src/vendor/linejs/base/timeline/mod.js +360 -0
- package/src/vendor/linejs/base/timeline/mod.js.map +1 -0
- package/src/vendor/linejs/base/types.js +8 -0
- package/src/vendor/linejs/base/types.js.map +1 -0
- package/src/vendor/linejs/client/client.js +185 -0
- package/src/vendor/linejs/client/client.js.map +1 -0
- package/src/vendor/linejs/client/features/chat/fetcher.js +29 -0
- package/src/vendor/linejs/client/features/chat/fetcher.js.map +1 -0
- package/src/vendor/linejs/client/features/chat/mod.js +118 -0
- package/src/vendor/linejs/client/features/chat/mod.js.map +1 -0
- package/src/vendor/linejs/client/features/message/internal-types.js +1 -0
- package/src/vendor/linejs/client/features/message/internal-types.js.map +1 -0
- package/src/vendor/linejs/client/features/message/mod.js +5 -0
- package/src/vendor/linejs/client/features/message/mod.js.map +1 -0
- package/src/vendor/linejs/client/features/message/square.js +464 -0
- package/src/vendor/linejs/client/features/message/square.js.map +1 -0
- package/src/vendor/linejs/client/features/message/talk.js +340 -0
- package/src/vendor/linejs/client/features/message/talk.js.map +1 -0
- package/src/vendor/linejs/client/features/message/types.js +1 -0
- package/src/vendor/linejs/client/features/message/types.js.map +1 -0
- package/src/vendor/linejs/client/features/message/utils.js +83 -0
- package/src/vendor/linejs/client/features/message/utils.js.map +1 -0
- package/src/vendor/linejs/client/features/square/mod.js +173 -0
- package/src/vendor/linejs/client/features/square/mod.js.map +1 -0
- package/src/vendor/linejs/client/features/user/mod.js +9 -0
- package/src/vendor/linejs/client/features/user/mod.js.map +1 -0
- package/src/vendor/linejs/client/login.js +36 -0
- package/src/vendor/linejs/client/login.js.map +1 -0
- package/src/vendor/linejs/client/mod.js +3 -0
- package/src/vendor/linejs/client/mod.js.map +1 -0
- package/src/vendor/linejs/deno.json +24 -0
- package/src/vendor/linejs/package.json +35 -0
- package/src/vendor/linejs-types/LICENSE +21 -0
- package/src/vendor/linejs-types/README.md +11 -0
- package/src/vendor/linejs-types/_dist/line_types.d.ts +11629 -0
- package/src/vendor/linejs-types/_dist/line_types.d.ts.map +1 -0
- package/src/vendor/linejs-types/_dist/thrift.d.ts +4 -0
- package/src/vendor/linejs-types/_dist/thrift.d.ts.map +1 -0
- package/src/vendor/linejs-types/deno.json +12 -0
- package/src/vendor/linejs-types/line_types.js +2704 -0
- package/src/vendor/linejs-types/line_types.js.map +1 -0
- package/src/vendor/linejs-types/package.json +20 -0
- package/src/vendor/linejs-types/thrift.js +37670 -0
- package/src/vendor/linejs-types/thrift.js.map +1 -0
- package/src/vendor/loose-types/LICENSE +21 -0
- package/src/vendor/loose-types/README.md +30 -0
- package/src/vendor/loose-types/_dist/mod.d.ts +23 -0
- package/src/vendor/loose-types/_dist/mod.d.ts.map +1 -0
- package/src/vendor/loose-types/deno.json +7 -0
- package/src/vendor/loose-types/mod.js +7 -0
- package/src/vendor/loose-types/mod.js.map +1 -0
- package/src/vendor/loose-types/package.json +14 -0
- package/src/vendor/runtime-shims.d.ts +13 -0
- package/tsconfig.json +7 -1
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
import { Conn } from "./conn.js";
|
|
2
|
+
import { TCompactProtocol } from "thrift";
|
|
3
|
+
import { TMoreCompactProtocol } from "../thrift/readwrite/tmc.js";
|
|
4
|
+
// GOMI:
|
|
5
|
+
import { SquareService_fetchMyEvents_args as gen_SquareService_fetchMyEvents_args, sync_args as gen_sync_args } from "../thrift/readwrite/struct.js";
|
|
6
|
+
import { Buffer } from "node:buffer";
|
|
7
|
+
function gen_m(ss = [
|
|
8
|
+
1,
|
|
9
|
+
3,
|
|
10
|
+
5,
|
|
11
|
+
6,
|
|
12
|
+
8,
|
|
13
|
+
9,
|
|
14
|
+
10
|
|
15
|
+
]) {
|
|
16
|
+
let i = 0;
|
|
17
|
+
for (const s of ss)i |= 1 << s - 1;
|
|
18
|
+
return i;
|
|
19
|
+
}
|
|
20
|
+
export class ConnManager {
|
|
21
|
+
client;
|
|
22
|
+
conns = [];
|
|
23
|
+
currPingId = 0;
|
|
24
|
+
subscriptionIds = {};
|
|
25
|
+
signOnRequests = {};
|
|
26
|
+
onPingCallback;
|
|
27
|
+
onSignReqResp = {};
|
|
28
|
+
onSignOnResponse;
|
|
29
|
+
onPushResponse;
|
|
30
|
+
_eventSynced = false;
|
|
31
|
+
_pingInterval = 30;
|
|
32
|
+
authToken = null;
|
|
33
|
+
subscriptionId = 0;
|
|
34
|
+
opStream;
|
|
35
|
+
sqStream;
|
|
36
|
+
constructor(base){
|
|
37
|
+
this.client = base;
|
|
38
|
+
this.onPingCallback = this._OnPingCallback.bind(this);
|
|
39
|
+
this.onSignOnResponse = this._OnSignOnResponse.bind(this);
|
|
40
|
+
this.onPushResponse = this._OnPushResponse.bind(this);
|
|
41
|
+
this.opStream = this.createAsyncReadableStream();
|
|
42
|
+
this.sqStream = this.createAsyncReadableStream();
|
|
43
|
+
}
|
|
44
|
+
log(text, data) {
|
|
45
|
+
this.client.log("[LEGY/PUSH] " + text, data ?? "");
|
|
46
|
+
}
|
|
47
|
+
createAsyncReadableStream() {
|
|
48
|
+
let controller = null;
|
|
49
|
+
const chunks = [];
|
|
50
|
+
const stream = new ReadableStream({
|
|
51
|
+
start (c) {
|
|
52
|
+
controller = c;
|
|
53
|
+
},
|
|
54
|
+
pull (c) {
|
|
55
|
+
if (chunks.length) {
|
|
56
|
+
c.enqueue(chunks.shift());
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
cancel () {
|
|
60
|
+
controller = null;
|
|
61
|
+
writer.renew();
|
|
62
|
+
}
|
|
63
|
+
}, {
|
|
64
|
+
highWaterMark: 200,
|
|
65
|
+
size () {
|
|
66
|
+
return 1;
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
const writer = {
|
|
70
|
+
stream,
|
|
71
|
+
enqueue (chunk) {
|
|
72
|
+
const data = chunk;
|
|
73
|
+
if (controller && (controller.desiredSize ?? 0) > 0) {
|
|
74
|
+
controller.enqueue(data);
|
|
75
|
+
} else {
|
|
76
|
+
chunks.push(data);
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
close () {
|
|
80
|
+
controller?.close();
|
|
81
|
+
controller = null;
|
|
82
|
+
this.renew();
|
|
83
|
+
},
|
|
84
|
+
error (err) {
|
|
85
|
+
controller?.error(err);
|
|
86
|
+
controller = null;
|
|
87
|
+
this.renew();
|
|
88
|
+
},
|
|
89
|
+
renew () {
|
|
90
|
+
this.stream = new ReadableStream({
|
|
91
|
+
start (c) {
|
|
92
|
+
controller = c;
|
|
93
|
+
},
|
|
94
|
+
pull (c) {
|
|
95
|
+
if (chunks.length) {
|
|
96
|
+
c.enqueue(chunks.shift());
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
cancel () {
|
|
100
|
+
controller = null;
|
|
101
|
+
}
|
|
102
|
+
}, {
|
|
103
|
+
highWaterMark: 200,
|
|
104
|
+
size () {
|
|
105
|
+
return 1;
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
return writer;
|
|
111
|
+
}
|
|
112
|
+
async initializeConn(state = 1, initServices = [
|
|
113
|
+
3,
|
|
114
|
+
6,
|
|
115
|
+
8,
|
|
116
|
+
9,
|
|
117
|
+
10
|
|
118
|
+
]) {
|
|
119
|
+
const _conn = new Conn(this);
|
|
120
|
+
this.signOnRequests = {};
|
|
121
|
+
if (state === 1) {
|
|
122
|
+
this.conns[0] = _conn;
|
|
123
|
+
this.authToken = this.client.authToken;
|
|
124
|
+
}
|
|
125
|
+
const tosendHeaders = this.client.request.getHeader();
|
|
126
|
+
tosendHeaders["content-type"] = "application/octet-stream";
|
|
127
|
+
tosendHeaders["accept"] = "application/octet-stream";
|
|
128
|
+
const m = gen_m(initServices);
|
|
129
|
+
this.log(`Using \`m=${m}\` on \`/PUSH\``);
|
|
130
|
+
const host = this.client.request.endpoint;
|
|
131
|
+
const port = 443;
|
|
132
|
+
await _conn.new(host, port, `/PUSH/1/subs?m=${m}`, tosendHeaders);
|
|
133
|
+
return _conn;
|
|
134
|
+
}
|
|
135
|
+
buildRequest(service, data) {
|
|
136
|
+
const len = data.length;
|
|
137
|
+
const out = new Uint8Array(2 + 1 + len);
|
|
138
|
+
out[0] = len >> 8 & 0xff;
|
|
139
|
+
out[1] = len & 0xff;
|
|
140
|
+
out[2] = service & 0xff;
|
|
141
|
+
out.set(data, 3);
|
|
142
|
+
return out;
|
|
143
|
+
}
|
|
144
|
+
async buildAndSendSignOnRequest(conn, serviceType, kwargs = {}) {
|
|
145
|
+
this.log("buildAndSendSignOnRequest", {
|
|
146
|
+
serviceType,
|
|
147
|
+
kwargs
|
|
148
|
+
});
|
|
149
|
+
const cl = this.client;
|
|
150
|
+
const id = Object.keys(this.signOnRequests).length + 1;
|
|
151
|
+
const idBuf = new Uint8Array(2);
|
|
152
|
+
idBuf[0] = id >> 8 & 0xff;
|
|
153
|
+
idBuf[1] = id & 0xff;
|
|
154
|
+
let methodName;
|
|
155
|
+
// build payload body depending on serviceType
|
|
156
|
+
let req = new Uint8Array(0);
|
|
157
|
+
if (serviceType === 3) {
|
|
158
|
+
// fetchMyEvents - delegate to client generator
|
|
159
|
+
// @ts-ignore: will fix
|
|
160
|
+
req = cl.thrift.writeThrift(gen_SquareService_fetchMyEvents_args(kwargs), "fetchMyEvents", TCompactProtocol);
|
|
161
|
+
methodName = "fetchMyEvents";
|
|
162
|
+
} else if ([
|
|
163
|
+
5,
|
|
164
|
+
8
|
|
165
|
+
].includes(serviceType)) {
|
|
166
|
+
// @ts-ignore: will fix
|
|
167
|
+
req = cl.thrift.writeThrift(gen_sync_args(kwargs), "sync", TCompactProtocol);
|
|
168
|
+
methodName = "sync";
|
|
169
|
+
}
|
|
170
|
+
const header = new Uint8Array(2 + 1 + 1 + 2 + req.length);
|
|
171
|
+
header.set(idBuf, 0);
|
|
172
|
+
header[2] = serviceType & 0xff;
|
|
173
|
+
header[3] = 0;
|
|
174
|
+
header[4] = req.length >> 8 & 0xff;
|
|
175
|
+
header[5] = req.length & 0xff;
|
|
176
|
+
header.set(req, 6);
|
|
177
|
+
this.signOnRequests[id] = [
|
|
178
|
+
serviceType,
|
|
179
|
+
methodName,
|
|
180
|
+
null
|
|
181
|
+
];
|
|
182
|
+
this.log(`[H2][PUSH] send sign-on-request. requestId:${id}, service:${serviceType}`);
|
|
183
|
+
await conn.writeRequest(2, header);
|
|
184
|
+
return {
|
|
185
|
+
payload: header,
|
|
186
|
+
id
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
async _OnSignOnResponse(reqId, isFin, data) {
|
|
190
|
+
// data = data.slice(5);
|
|
191
|
+
const cl = this.client;
|
|
192
|
+
if (!(reqId in this.signOnRequests)) {
|
|
193
|
+
this.log(`[PUSH] unknown sign-on-response requestId:${reqId}`);
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
const entry = this.signOnRequests[reqId];
|
|
197
|
+
const serviceType = entry[0];
|
|
198
|
+
const methodName = entry[1];
|
|
199
|
+
this.log(`receives sign-on-response frame. requestId:${reqId}, service:${serviceType}, isFin:${isFin}, payload:${data.length}`);
|
|
200
|
+
try {
|
|
201
|
+
// service 3: Square.fetchMyEvents
|
|
202
|
+
if (serviceType === 3) {
|
|
203
|
+
const resp = cl.thrift.rename_data(cl.thrift.readThrift(data, TCompactProtocol), true).data;
|
|
204
|
+
// validate resp similarly to Python
|
|
205
|
+
if (resp.e) {
|
|
206
|
+
this.log(`can't use PUSH for OpenChat:${resp.e.errorCode}`, resp.e);
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
// use client's helpers to pick values (mirror Python checkAndGetValue)
|
|
210
|
+
const { subscription: { subscriptionId }, events, syncToken } = resp.success;
|
|
211
|
+
this.client.log("SquareService_fetchMyEvents_result", {
|
|
212
|
+
res: resp.success
|
|
213
|
+
});
|
|
214
|
+
if (!Array.isArray(events)) {
|
|
215
|
+
throw new Error(`events should be list: ${events}`);
|
|
216
|
+
}
|
|
217
|
+
if (typeof syncToken !== "string") {
|
|
218
|
+
throw new Error(`syncToken should be str: ${syncToken}`);
|
|
219
|
+
}
|
|
220
|
+
this.log(`response fetchMyEvent(${subscriptionId}) events:${events.length}, syncToken:${syncToken}`);
|
|
221
|
+
if (typeof subscriptionId !== "number") {
|
|
222
|
+
throw new Error(`subscriptionId should be int: ${subscriptionId}`);
|
|
223
|
+
}
|
|
224
|
+
if (subscriptionId != null) {
|
|
225
|
+
this.subscriptionIds[subscriptionId] = Date.now() / 1000;
|
|
226
|
+
}
|
|
227
|
+
for (const ev of events){
|
|
228
|
+
this.sqStream.enqueue(ev);
|
|
229
|
+
}
|
|
230
|
+
this.client.poll.sync.square = syncToken;
|
|
231
|
+
this.client.emit("update:syncdata", this.client.poll.sync);
|
|
232
|
+
this.subscriptionId = subscriptionId;
|
|
233
|
+
if (!this._eventSynced) {
|
|
234
|
+
this.log(`myEvents start(${subscriptionId}) : syncToken:${syncToken}`);
|
|
235
|
+
this._eventSynced = true;
|
|
236
|
+
}
|
|
237
|
+
return;
|
|
238
|
+
} else if ([
|
|
239
|
+
5,
|
|
240
|
+
8
|
|
241
|
+
].includes(serviceType)) {
|
|
242
|
+
// Talk: may be sync or fetchOps
|
|
243
|
+
const _conn = this.conns[0];
|
|
244
|
+
// try to parse TMoreCompact-like response first if available
|
|
245
|
+
let parsed = null;
|
|
246
|
+
let detectedMethod = methodName;
|
|
247
|
+
try {
|
|
248
|
+
const proto = new TMoreCompactProtocol(Buffer.from(data));
|
|
249
|
+
parsed = {
|
|
250
|
+
data: proto.res,
|
|
251
|
+
_info: {
|
|
252
|
+
fname: detectedMethod
|
|
253
|
+
}
|
|
254
|
+
};
|
|
255
|
+
cl.thrift.rename_data(parsed);
|
|
256
|
+
if (parsed.data.e) {
|
|
257
|
+
this.log("sync error:", parsed.data.e);
|
|
258
|
+
}
|
|
259
|
+
} catch (e) {
|
|
260
|
+
// ignore and let outer handler manage
|
|
261
|
+
this.log(`[PUSH] parse error: ${e}`);
|
|
262
|
+
try {
|
|
263
|
+
parsed = cl.thrift.readThrift(data, TCompactProtocol);
|
|
264
|
+
} catch (_) {
|
|
265
|
+
return false;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
if (!detectedMethod && parsed) {
|
|
269
|
+
detectedMethod = parsed._info.fname;
|
|
270
|
+
}
|
|
271
|
+
if (detectedMethod === "sync" && parsed) {
|
|
272
|
+
// handle sync response flow
|
|
273
|
+
const res = parsed.data;
|
|
274
|
+
const response = res.success;
|
|
275
|
+
this.client.log("sync_result", {
|
|
276
|
+
res
|
|
277
|
+
});
|
|
278
|
+
if (response.fullSyncResponse && response.fullSyncResponse.nextRevision) {
|
|
279
|
+
this.client.poll.sync.talk.revision = response.fullSyncResponse.nextRevision;
|
|
280
|
+
}
|
|
281
|
+
if (response.operationResponse && response.operationResponse.globalEvents && response.operationResponse.globalEvents.lastRevision) {
|
|
282
|
+
this.client.poll.sync.talk.globalRev = response.operationResponse.globalEvents.lastRevision;
|
|
283
|
+
}
|
|
284
|
+
if (response.operationResponse && response.operationResponse.individualEvents && response.operationResponse.individualEvents.lastRevision) {
|
|
285
|
+
this.client.poll.sync.talk.individualRev = response.operationResponse.individualEvents.lastRevision;
|
|
286
|
+
}
|
|
287
|
+
if (response.operationResponse && response.operationResponse.operations) {
|
|
288
|
+
for (const event of response.operationResponse.operations){
|
|
289
|
+
this.client.poll.sync.talk.revision = event.revision;
|
|
290
|
+
this.opStream.enqueue(event);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
this.client.emit("update:syncdata", this.client.poll.sync);
|
|
294
|
+
const ex_val = {
|
|
295
|
+
request: {
|
|
296
|
+
lastRevision: this.client.poll.sync.talk.revision,
|
|
297
|
+
count: 100,
|
|
298
|
+
lastGlobalRevision: this.client.poll.sync.talk.globalRev,
|
|
299
|
+
lastIndividualRevision: this.client.poll.sync.talk.individualRev
|
|
300
|
+
}
|
|
301
|
+
};
|
|
302
|
+
this.log(`request talk fetcher:`, ex_val);
|
|
303
|
+
await this.buildAndSendSignOnRequest(_conn, serviceType, ex_val);
|
|
304
|
+
return;
|
|
305
|
+
} else {
|
|
306
|
+
this.log("unknown:", parsed);
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
} else {
|
|
310
|
+
throw new Error(`[PUSH] receives invalid sign-on-response frame. requestId:${reqId}, service:${serviceType}`);
|
|
311
|
+
}
|
|
312
|
+
} catch (_e) {
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
async _OnPushResponse(pushFrame) {
|
|
317
|
+
this.log("_OnPushResponse", pushFrame);
|
|
318
|
+
if (pushFrame.serviceType === 3 && pushFrame.pushPayload) {
|
|
319
|
+
this.subscriptionId = this.client.thrift.readThriftStruct(pushFrame.pushPayload, TCompactProtocol)[1];
|
|
320
|
+
const res = await this.client.square.fetchMyEvents({
|
|
321
|
+
subscriptionId: this.subscriptionId,
|
|
322
|
+
syncToken: this.client.poll.sync.square,
|
|
323
|
+
limit: 100
|
|
324
|
+
});
|
|
325
|
+
const { events, syncToken, subscription } = res;
|
|
326
|
+
for (const ev of events){
|
|
327
|
+
this.sqStream.enqueue(ev);
|
|
328
|
+
}
|
|
329
|
+
this.client.poll.sync.square = syncToken;
|
|
330
|
+
this.client.emit("update:syncdata", this.client.poll.sync);
|
|
331
|
+
this.subscriptionId = Number(subscription.subscriptionId);
|
|
332
|
+
this.log("SQ_fetchMyEvents", {
|
|
333
|
+
syncToken,
|
|
334
|
+
subscriptionId: this.subscriptionId
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
_OnPingCallback(pingId) {
|
|
339
|
+
this.currPingId = pingId;
|
|
340
|
+
const t1 = Date.now() / 1000;
|
|
341
|
+
const refreshIds = [];
|
|
342
|
+
for (const k of Object.keys(this.subscriptionIds)){
|
|
343
|
+
const id = Number(k);
|
|
344
|
+
const t2 = this.subscriptionIds[id];
|
|
345
|
+
if (t1 - t2 >= 3000) {
|
|
346
|
+
this.subscriptionIds[id] = Date.now() / 1000;
|
|
347
|
+
refreshIds.push(id);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
if (refreshIds.length) {
|
|
351
|
+
this.log(`?refresh square subscriptionId: ${refreshIds}`);
|
|
352
|
+
}
|
|
353
|
+
if (pingId % 3 === 0) {
|
|
354
|
+
this.client.talk.noop().then(()=>{
|
|
355
|
+
const oldToken = this.authToken;
|
|
356
|
+
const newToken = this.client.authToken;
|
|
357
|
+
if (oldToken !== newToken && newToken) {
|
|
358
|
+
this.log("renew push conn for new authToken...");
|
|
359
|
+
this.authToken = newToken;
|
|
360
|
+
this.conns[0].close();
|
|
361
|
+
}
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
async InitAndRead(initServices = [
|
|
366
|
+
3,
|
|
367
|
+
5
|
|
368
|
+
]) {
|
|
369
|
+
if (!this.conns || this.conns.length === 0) {
|
|
370
|
+
throw new Error("No valid connections found.");
|
|
371
|
+
}
|
|
372
|
+
const _conn = this.conns[0];
|
|
373
|
+
const FLAG = 0;
|
|
374
|
+
const statusPayload = new Uint8Array([
|
|
375
|
+
0,
|
|
376
|
+
FLAG,
|
|
377
|
+
this._pingInterval
|
|
378
|
+
]);
|
|
379
|
+
await _conn.writeRequest(0, statusPayload);
|
|
380
|
+
this.log(`send status frame. flag:${FLAG}, pi:${this._pingInterval}`);
|
|
381
|
+
for (const service of initServices){
|
|
382
|
+
this.log(`Init service: ${service}`);
|
|
383
|
+
if (service === 3) {
|
|
384
|
+
const subscriptionId = Math.floor(Date.now());
|
|
385
|
+
const syncToken = this.client.poll.sync.square;
|
|
386
|
+
const ex_val = {
|
|
387
|
+
request: {
|
|
388
|
+
subscriptionId,
|
|
389
|
+
syncToken,
|
|
390
|
+
limit: 100
|
|
391
|
+
}
|
|
392
|
+
};
|
|
393
|
+
this.log(`request fetchMyEvent(${subscriptionId}), syncToken:${syncToken}`);
|
|
394
|
+
// clear tracked subscriptions
|
|
395
|
+
this.subscriptionIds = {};
|
|
396
|
+
await this.buildAndSendSignOnRequest(_conn, service, ex_val);
|
|
397
|
+
} else if ([
|
|
398
|
+
5,
|
|
399
|
+
8
|
|
400
|
+
].includes(service)) {
|
|
401
|
+
const ex_val = {
|
|
402
|
+
request: {
|
|
403
|
+
lastRevision: this.client.poll.sync.talk.revision,
|
|
404
|
+
count: 100,
|
|
405
|
+
lastGlobalRevision: this.client.poll.sync.talk.globalRev,
|
|
406
|
+
lastIndividualRevision: this.client.poll.sync.talk.individualRev
|
|
407
|
+
}
|
|
408
|
+
};
|
|
409
|
+
this.log(`request talk fetcher: ${JSON.stringify(ex_val)}`);
|
|
410
|
+
await this.buildAndSendSignOnRequest(_conn, service, ex_val);
|
|
411
|
+
} else {
|
|
412
|
+
// await this.buildAndSendSignOnRequest(_conn, service, {});
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
this.log("CONN start read push.");
|
|
416
|
+
const readResult = await _conn.read();
|
|
417
|
+
this.log(`CONN died on PingId=${this.currPingId}`, readResult);
|
|
418
|
+
const idx = this.conns.indexOf(_conn);
|
|
419
|
+
if (idx >= 0) this.conns.splice(idx, 1);
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
//# sourceMappingURL=connManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connManager.js","sources":["./connManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.js","sources":["./mod.ts"],"names":[],"mappings":"AAAA,SAAS,WAAW,2BAA2B"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { Protocols } from "../thrift/mod.js";
|
|
2
|
+
import { InternalError } from "../core/mod.js";
|
|
3
|
+
const square = [
|
|
4
|
+
"/SQ1",
|
|
5
|
+
"/SQLV1"
|
|
6
|
+
];
|
|
7
|
+
/**
|
|
8
|
+
* Request Client
|
|
9
|
+
*/ /**
|
|
10
|
+
* @class RequestClient
|
|
11
|
+
* @description A client for making requests to the LINE API.
|
|
12
|
+
*
|
|
13
|
+
* @property {BaseClient} client - The base client instance.
|
|
14
|
+
* @property {string} endpoint - The endpoint for the API requests.
|
|
15
|
+
* @property {string} userAgent - The user agent string for the requests.
|
|
16
|
+
* @property {string} systemType - The system type string for the requests.
|
|
17
|
+
* @property {Record<string, string | undefined>} EXCEPTION_TYPES - A static record of exception types based on request paths.
|
|
18
|
+
*
|
|
19
|
+
* @constructor
|
|
20
|
+
* @param {BaseClient} client - The base client instance.
|
|
21
|
+
*/ export class RequestClient {
|
|
22
|
+
client;
|
|
23
|
+
endpoint;
|
|
24
|
+
userAgent;
|
|
25
|
+
/**
|
|
26
|
+
* x-line-application
|
|
27
|
+
*/ systemType;
|
|
28
|
+
static EXCEPTION_TYPES = {
|
|
29
|
+
"/S3": "TalkException",
|
|
30
|
+
"/S4": "TalkException",
|
|
31
|
+
"/SYNC4": "TalkException",
|
|
32
|
+
"/SYNC3": "TalkException",
|
|
33
|
+
"/CH3": "ChannelException",
|
|
34
|
+
"/CH4": "ChannelException",
|
|
35
|
+
"/SQ1": "SquareException",
|
|
36
|
+
"/LIFF1": "LiffException",
|
|
37
|
+
"/api/v3p/rs": "TalkException",
|
|
38
|
+
"/api/v3/TalkService.do": "TalkException"
|
|
39
|
+
};
|
|
40
|
+
constructor(client){
|
|
41
|
+
const deviceDetails = client.deviceDetails;
|
|
42
|
+
this.endpoint = client.endpoint ?? "legy.line-apps.com";
|
|
43
|
+
this.systemType = `${deviceDetails.device}\t${deviceDetails.appVersion}\t${deviceDetails.systemName}\t${deviceDetails.systemVersion}`;
|
|
44
|
+
this.userAgent = `Line/${deviceDetails.appVersion}`;
|
|
45
|
+
this.client = client;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @description Request to LINE API.
|
|
49
|
+
*
|
|
50
|
+
* @param value - The thrift value(argument) to request.
|
|
51
|
+
* @param methodName - The method name of the request.
|
|
52
|
+
* @param protocolType - The protocol type of the request.
|
|
53
|
+
* @param parse - Whether to parse the response.
|
|
54
|
+
* @param path - The path of the request.
|
|
55
|
+
* @param headers - The headers of the request.
|
|
56
|
+
* @param timeout - The timeout milliseconds of the request.
|
|
57
|
+
* @returns The response.
|
|
58
|
+
*/ async request(value, methodName, protocolType = 3, parse = true, path = "/S3", headers = {}, timeout = this.client.config.timeout) {
|
|
59
|
+
const res = await this.requestCore(path, value, methodName, protocolType, headers, undefined, parse, undefined, timeout);
|
|
60
|
+
return res.data.success;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* @description Request to LINE API by raw.
|
|
64
|
+
*
|
|
65
|
+
* @param {string} [path] - The path of the request.
|
|
66
|
+
* @param {NestedArray} [value] - The value to request.
|
|
67
|
+
* @param {string} [methodName] - The method name of the request.
|
|
68
|
+
* @param {ProtocolKey} [protocolType] - The protocol type of the request.
|
|
69
|
+
* @param {object} [appendHeaders={}] - The headers to append to the request.
|
|
70
|
+
* @param {string} [overrideMethod="POST"] - The method of the request.
|
|
71
|
+
* @param {boolean | string} [parse=true] - Whether to parse the response.
|
|
72
|
+
* @param {boolean} [isReRequest=false] - Is Re-Request.
|
|
73
|
+
* @param {number} [timeout=this.timeOutMs] - The timeout milliseconds of the request.
|
|
74
|
+
* @returns {Promise<ParsedThrift>} The response.
|
|
75
|
+
* @throws {InternalError} If the request fails or timeout.
|
|
76
|
+
*/ async requestCore(path, value, methodName, protocolType, appendHeaders = {}, overrideMethod = "POST", parse = true, isReRequest = false, timeout = this.client.config.timeout) {
|
|
77
|
+
const protocol = Protocols[protocolType];
|
|
78
|
+
const headers = {
|
|
79
|
+
...this.getHeader(overrideMethod),
|
|
80
|
+
...appendHeaders
|
|
81
|
+
};
|
|
82
|
+
this.client.log("writeThrift", {
|
|
83
|
+
value,
|
|
84
|
+
methodName,
|
|
85
|
+
protocolType
|
|
86
|
+
});
|
|
87
|
+
const Trequest = this.client.thrift.writeThrift(value, methodName, protocol);
|
|
88
|
+
this.client.log("request", {
|
|
89
|
+
methodName,
|
|
90
|
+
path: `https://${this.endpoint}${path}`,
|
|
91
|
+
method: overrideMethod,
|
|
92
|
+
headers,
|
|
93
|
+
timeout,
|
|
94
|
+
body: Trequest
|
|
95
|
+
});
|
|
96
|
+
const response = await this.client.fetch(`https://${this.endpoint}${path}`, {
|
|
97
|
+
method: overrideMethod,
|
|
98
|
+
headers,
|
|
99
|
+
signal: AbortSignal.timeout(timeout),
|
|
100
|
+
// @ts-expect-error: will fix cuz typescript version change
|
|
101
|
+
body: Trequest
|
|
102
|
+
});
|
|
103
|
+
const nextToken = response.headers.get("x-line-next-access");
|
|
104
|
+
if (nextToken) {
|
|
105
|
+
this.client.emit("update:authtoken", nextToken);
|
|
106
|
+
}
|
|
107
|
+
const body = await response.arrayBuffer();
|
|
108
|
+
const parsedBody = new Uint8Array(body);
|
|
109
|
+
this.client.log("response", {
|
|
110
|
+
...response,
|
|
111
|
+
parsedBody,
|
|
112
|
+
methodName
|
|
113
|
+
});
|
|
114
|
+
let res;
|
|
115
|
+
let hasError = false;
|
|
116
|
+
try {
|
|
117
|
+
res = this.client.thrift.readThrift(parsedBody, protocol);
|
|
118
|
+
} catch {
|
|
119
|
+
throw new Error(`Request internal failed: Invalid response buffer <${[
|
|
120
|
+
...parsedBody
|
|
121
|
+
].map((e)=>e.toString(16)).join(" ")}>`);
|
|
122
|
+
}
|
|
123
|
+
if (!res.data[0] && Object.keys(res.data).length) {
|
|
124
|
+
hasError = true;
|
|
125
|
+
}
|
|
126
|
+
if (parse === true) {
|
|
127
|
+
this.client.thrift.rename_data(res, square.includes(path));
|
|
128
|
+
} else if (typeof parse === "string") {
|
|
129
|
+
res.data.success = this.client.thrift.rename_thrift(parse, res.data[0]);
|
|
130
|
+
delete res.data[0];
|
|
131
|
+
if (res.data[1]) {
|
|
132
|
+
const structName = RequestClient.EXCEPTION_TYPES[path] || "TalkException";
|
|
133
|
+
if (structName) {
|
|
134
|
+
res.data.e = this.client.thrift.rename_thrift(structName, res.data[1]);
|
|
135
|
+
} else {
|
|
136
|
+
res.data.e = res.data[1];
|
|
137
|
+
}
|
|
138
|
+
delete res.data[1];
|
|
139
|
+
}
|
|
140
|
+
} else {
|
|
141
|
+
res.data.success = res.data[0];
|
|
142
|
+
delete res.data[0];
|
|
143
|
+
if (res.data[1]) {
|
|
144
|
+
const structName = RequestClient.EXCEPTION_TYPES[path] || "TalkException";
|
|
145
|
+
if (structName) {
|
|
146
|
+
res.data.e = this.client.thrift.rename_thrift(structName, res.data[1]);
|
|
147
|
+
} else {
|
|
148
|
+
res.data.e = res.data[1];
|
|
149
|
+
}
|
|
150
|
+
delete res.data[1];
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
this.client.log("readThrift", {
|
|
154
|
+
res
|
|
155
|
+
});
|
|
156
|
+
const isRefresh = Boolean(res.data.e && res.data.e.code === "MUST_REFRESH_V3_TOKEN" && await this.client.storage.get("refreshToken"));
|
|
157
|
+
if (res.data.e && !isRefresh) {
|
|
158
|
+
throw new InternalError("RequestError", `Request internal failed, ${methodName}(${path}) -> ` + JSON.stringify(res.data.e), res.data.e);
|
|
159
|
+
}
|
|
160
|
+
if (hasError && !isRefresh) {
|
|
161
|
+
if (res.data.e.code === "NOT_AUTHORIZED_DEVICE") {
|
|
162
|
+
delete this.client.authToken;
|
|
163
|
+
this.client.emit("end", this.client.profile);
|
|
164
|
+
}
|
|
165
|
+
throw new InternalError("RequestError", `Request internal failed, ${methodName}(${path}) -> ` + JSON.stringify(res.data), res.data);
|
|
166
|
+
}
|
|
167
|
+
if (isRefresh && !isReRequest) {
|
|
168
|
+
await this.client.auth.tryRefreshToken();
|
|
169
|
+
return this.requestCore(path, value, methodName, protocolType, appendHeaders, overrideMethod, parse, true);
|
|
170
|
+
}
|
|
171
|
+
return res;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Get HTTP headers for a request.
|
|
175
|
+
* @param {string} [overrideMethod="POST"] The HTTP method to use in the `x-lhm` header.
|
|
176
|
+
* @returns {Record<string, string>} An object with the headers as key-value pairs.
|
|
177
|
+
*/ getHeader(overrideMethod = "POST") {
|
|
178
|
+
const header = {
|
|
179
|
+
Host: this.endpoint,
|
|
180
|
+
accept: "application/x-thrift",
|
|
181
|
+
"user-agent": this.userAgent,
|
|
182
|
+
"x-line-application": this.systemType,
|
|
183
|
+
"content-type": "application/x-thrift",
|
|
184
|
+
"x-lal": "ja_JP",
|
|
185
|
+
"x-lpv": "1",
|
|
186
|
+
"x-lhm": overrideMethod,
|
|
187
|
+
"accept-encoding": "gzip"
|
|
188
|
+
};
|
|
189
|
+
if (this.client.authToken) {
|
|
190
|
+
header["x-line-access"] = this.client.authToken;
|
|
191
|
+
}
|
|
192
|
+
return header;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=mod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.js","sources":["./mod.ts"],"names":[],"mappings":"AAAA,SAIC,SAAS,2BACgB;AAC1B,SAA0B,aAAa,yBAAyB;AAEhE,MAAM,SAAS;EAAC;EAAQ;CAAS;AAEjC;;CAEC,GACD;;;;;;;;;;;;CAYC,GACD,OAAO,MAAM;EACH,OAAmB;EAC5B,SAAiB;EACjB,UAAkB;EAClB;;EAEC,GACD,WAAmB;EACnB,OAAgB,kBAAsD;IACrE,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,eAAe;IACf,0BAA0B;EAC3B,EAAE;EAEF,YAAY,MAAkB,CAAE;IAC/B,MAAM,gBAAgB,OAAO,aAAa;IAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,QAAQ,IAAI;IACnC,IAAI,CAAC,UAAU,GACd,GAAG,cAAc,MAAM,CAAC,EAAE,EAAE,cAAc,UAAU,CAAC,EAAE,EAAE,cAAc,UAAU,CAAC,EAAE,EAAE,cAAc,aAAa,EAAE;IACpH,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,cAAc,UAAU,EAAE;IACnD,IAAI,CAAC,MAAM,GAAG;EACf;EAEA;;;;;;;;;;;EAWC,GACD,MAAa,QACZ,KAAkB,EAClB,UAAkB,EAClB,eAA4B,CAAC,EAC7B,QAA0B,IAAI,EAC9B,OAAe,KAAK,EACpB,UAA8C,CAAC,CAAC,EAChD,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EACvB;IACb,MAAM,MAAM,MAAM,IAAI,CAAC,WAAW,CACjC,MACA,OACA,YACA,cACA,SACA,WACA,OACA,WACA;IAED,OAAO,IAAI,IAAI,CAAC,OAAO;EACxB;EAEA;;;;;;;;;;;;;;EAcC,GACD,MAAc,YACb,IAAY,EACZ,KAAkB,EAClB,UAAkB,EAClB,YAAyB,EACzB,gBAAwB,CAAC,CAAC,EAC1B,iBAAyB,MAAM,EAC/B,QAA0B,IAAI,EAC9B,cAAuB,KAAK,EAC5B,UAAkB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EACpB;IACxB,MAAM,WAAW,SAAS,CAAC,aAAa;IAExC,MAAM,UAAU;MACf,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe;MACjC,GAAG,aAAa;IACjB;IAEA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe;MAC9B;MACA;MACA;IACD;IAEA,MAAM,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAC9C,OACA,YACA;IAGD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW;MAC1B;MACA,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,MAAM;MACvC,QAAQ;MACR;MACA;MACA,MAAM;IACP;IAEA,MAAM,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACvC,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,EACjC;MACC,QAAQ;MACR;MACA,QAAQ,YAAY,OAAO,CAAC;MAC5B,2DAA2D;MAC3D,MAAM;IACP;IAED,MAAM,YAAY,SAAS,OAAO,CAAC,GAAG,CAAC;IACvC,IAAI,WAAW;MACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB;IACtC;IACA,MAAM,OAAO,MAAM,SAAS,WAAW;IACvC,MAAM,aAAa,IAAI,WAAW;IAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY;MAC3B,GAAG,QAAQ;MACX;MACA;IACD;IACA,IAAI;IACJ,IAAI,WAAW;IACf,IAAI;MACH,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY;IACjD,EAAE,OAAM;MACP,MAAM,IAAI,MACT,CAAC,kDAAkD,EAClD;WAAI;OAAW,CAAC,GAAG,CAAC,CAAC,IAAM,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC,KAChD,CAAC,CAAC;IAEL;IACA,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,OAAO,IAAI,CAAC,IAAI,IAAI,EAAE,MAAM,EAAE;MACjD,WAAW;IACZ;IACA,IAAI,UAAU,MAAM;MACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,OAAO,QAAQ,CAAC;IACrD,OAAO,IAAI,OAAO,UAAU,UAAU;MACrC,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAClD,OACA,IAAI,IAAI,CAAC,EAAE;MAEZ,OAAO,IAAI,IAAI,CAAC,EAAE;MAClB,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE;QAChB,MAAM,aAAa,cAAc,eAAe,CAAC,KAAK,IACrD;QACD,IAAI,YAAY;UACf,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAC5C,YACA,IAAI,IAAI,CAAC,EAAE;QAEb,OAAO;UACN,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;QACzB;QACA,OAAO,IAAI,IAAI,CAAC,EAAE;MACnB;IACD,OAAO;MACN,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,EAAE;MAC9B,OAAO,IAAI,IAAI,CAAC,EAAE;MAClB,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE;QAChB,MAAM,aAAa,cAAc,eAAe,CAAC,KAAK,IACrD;QACD,IAAI,YAAY;UACf,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAC5C,YACA,IAAI,IAAI,CAAC,EAAE;QAEb,OAAO;UACN,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;QACzB;QACA,OAAO,IAAI,IAAI,CAAC,EAAE;MACnB;IACD;IAEA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc;MAC7B;IACD;IAEA,MAAM,YAAY,QACjB,IAAI,IAAI,CAAC,CAAC,IACT,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,2BACpB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;IAGhC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;MAC7B,MAAM,IAAI,cACT,gBACA,CAAC,yBAAyB,EAAE,WAAW,CAAC,EAAE,KAAK,KAAK,CAAC,GACpD,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,GAC1B,IAAI,IAAI,CAAC,CAAC;IAEZ;IACA,IAAI,YAAY,CAAC,WAAW;MAC3B,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO;MAC5C;MACA,MAAM,IAAI,cACT,gBACA,CAAC,yBAAyB,EAAE,WAAW,CAAC,EAAE,KAAK,KAAK,CAAC,GACpD,KAAK,SAAS,CAAC,IAAI,IAAI,GACxB,IAAI,IAAI;IAEV;IAEA,IAAI,aAAa,CAAC,aAAa;MAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe;MACtC,OAAO,IAAI,CAAC,WAAW,CACtB,MACA,OACA,YACA,cACA,eACA,gBACA,OACA;IAEF;IACA,OAAO;EACR;EAEA;;;;EAIC,GACD,AAAO,UACN,iBAAyB,MAAM,EACN;IACzB,MAAM,SAAS;MACd,MAAM,IAAI,CAAC,QAAQ;MACnB,QAAQ;MACR,cAAc,IAAI,CAAC,SAAS;MAC5B,sBAAsB,IAAI,CAAC,UAAU;MACrC,gBAAgB;MAChB,SAAS;MACT,SAAS;MACT,SAAS;MACT,mBAAmB;IACpB;IAEA,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;MAC1B,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;IAChD;IAEA,OAAO;EACR;AACD"}
|