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.
Files changed (543) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.github/workflows/ci.yml +44 -0
  3. package/.oxlintrc.json +1 -1
  4. package/bun.lock +0 -27
  5. package/bunfig.toml +0 -3
  6. package/dist/package.json +1 -2
  7. package/dist/src/platforms/kakaotalk/client.d.ts +4 -1
  8. package/dist/src/platforms/kakaotalk/client.d.ts.map +1 -1
  9. package/dist/src/platforms/kakaotalk/client.js +21 -7
  10. package/dist/src/platforms/kakaotalk/client.js.map +1 -1
  11. package/dist/src/platforms/kakaotalk/commands/auth.d.ts.map +1 -1
  12. package/dist/src/platforms/kakaotalk/commands/auth.js +24 -55
  13. package/dist/src/platforms/kakaotalk/commands/auth.js.map +1 -1
  14. package/dist/src/platforms/kakaotalk/credential-manager.d.ts.map +1 -1
  15. package/dist/src/platforms/kakaotalk/credential-manager.js +1 -0
  16. package/dist/src/platforms/kakaotalk/credential-manager.js.map +1 -1
  17. package/dist/src/platforms/kakaotalk/index.d.ts +1 -1
  18. package/dist/src/platforms/kakaotalk/index.d.ts.map +1 -1
  19. package/dist/src/platforms/kakaotalk/index.js.map +1 -1
  20. package/dist/src/platforms/kakaotalk/listener.js +2 -2
  21. package/dist/src/platforms/kakaotalk/listener.js.map +1 -1
  22. package/dist/src/platforms/kakaotalk/protocol/config.d.ts +8 -2
  23. package/dist/src/platforms/kakaotalk/protocol/config.d.ts.map +1 -1
  24. package/dist/src/platforms/kakaotalk/protocol/config.js +15 -2
  25. package/dist/src/platforms/kakaotalk/protocol/config.js.map +1 -1
  26. package/dist/src/platforms/kakaotalk/protocol/session.d.ts +3 -1
  27. package/dist/src/platforms/kakaotalk/protocol/session.d.ts.map +1 -1
  28. package/dist/src/platforms/kakaotalk/protocol/session.js +13 -10
  29. package/dist/src/platforms/kakaotalk/protocol/session.js.map +1 -1
  30. package/dist/src/platforms/kakaotalk/types.d.ts +10 -0
  31. package/dist/src/platforms/kakaotalk/types.d.ts.map +1 -1
  32. package/dist/src/platforms/kakaotalk/types.js +1 -0
  33. package/dist/src/platforms/kakaotalk/types.js.map +1 -1
  34. package/dist/src/platforms/line/client.js +2 -2
  35. package/dist/src/platforms/line/client.js.map +1 -1
  36. package/dist/src/tui/adapters/kakaotalk-adapter.d.ts.map +1 -1
  37. package/dist/src/tui/adapters/kakaotalk-adapter.js +5 -2
  38. package/dist/src/tui/adapters/kakaotalk-adapter.js.map +1 -1
  39. package/dist/src/vendor/linejs/LICENSE +21 -0
  40. package/dist/src/vendor/linejs/README.md +89 -0
  41. package/dist/src/vendor/linejs/_dist/base/core/mod.d.ts +125 -0
  42. package/dist/src/vendor/linejs/_dist/base/core/mod.d.ts.map +1 -0
  43. package/dist/src/vendor/linejs/_dist/base/core/typed-event-emitter/index.d.ts +13 -0
  44. package/dist/src/vendor/linejs/_dist/base/core/typed-event-emitter/index.d.ts.map +1 -0
  45. package/dist/src/vendor/linejs/_dist/base/core/utils/continue.d.ts +10 -0
  46. package/dist/src/vendor/linejs/_dist/base/core/utils/continue.d.ts.map +1 -0
  47. package/dist/src/vendor/linejs/_dist/base/core/utils/devices.d.ts +8 -0
  48. package/dist/src/vendor/linejs/_dist/base/core/utils/devices.d.ts.map +1 -0
  49. package/dist/src/vendor/linejs/_dist/base/core/utils/error.d.ts +8 -0
  50. package/dist/src/vendor/linejs/_dist/base/core/utils/error.d.ts.map +1 -0
  51. package/dist/src/vendor/linejs/_dist/base/core/utils/events.d.ts +22 -0
  52. package/dist/src/vendor/linejs/_dist/base/core/utils/events.d.ts.map +1 -0
  53. package/dist/src/vendor/linejs/_dist/base/e2ee/mod.d.ts +64 -0
  54. package/dist/src/vendor/linejs/_dist/base/e2ee/mod.d.ts.map +1 -0
  55. package/dist/src/vendor/linejs/_dist/base/login/mod.d.ts +138 -0
  56. package/dist/src/vendor/linejs/_dist/base/login/mod.d.ts.map +1 -0
  57. package/dist/src/vendor/linejs/_dist/base/mod.d.ts +6 -0
  58. package/dist/src/vendor/linejs/_dist/base/mod.d.ts.map +1 -0
  59. package/dist/src/vendor/linejs/_dist/base/obs/mod.d.ts +100 -0
  60. package/dist/src/vendor/linejs/_dist/base/obs/mod.d.ts.map +1 -0
  61. package/dist/src/vendor/linejs/_dist/base/polling/mod.d.ts +55 -0
  62. package/dist/src/vendor/linejs/_dist/base/polling/mod.d.ts.map +1 -0
  63. package/dist/src/vendor/linejs/_dist/base/push/conn.d.ts +39 -0
  64. package/dist/src/vendor/linejs/_dist/base/push/conn.d.ts.map +1 -0
  65. package/dist/src/vendor/linejs/_dist/base/push/connData.d.ts +19 -0
  66. package/dist/src/vendor/linejs/_dist/base/push/connData.d.ts.map +1 -0
  67. package/dist/src/vendor/linejs/_dist/base/push/connManager.d.ts +43 -0
  68. package/dist/src/vendor/linejs/_dist/base/push/connManager.d.ts.map +1 -0
  69. package/dist/src/vendor/linejs/_dist/base/push/mod.d.ts +2 -0
  70. package/dist/src/vendor/linejs/_dist/base/push/mod.d.ts.map +1 -0
  71. package/dist/src/vendor/linejs/_dist/base/request/mod.d.ts +45 -0
  72. package/dist/src/vendor/linejs/_dist/base/request/mod.d.ts.map +1 -0
  73. package/dist/src/vendor/linejs/_dist/base/service/auth/mod.d.ts +32 -0
  74. package/dist/src/vendor/linejs/_dist/base/service/auth/mod.d.ts.map +1 -0
  75. package/dist/src/vendor/linejs/_dist/base/service/call/mod.d.ts +29 -0
  76. package/dist/src/vendor/linejs/_dist/base/service/call/mod.d.ts.map +1 -0
  77. package/dist/src/vendor/linejs/_dist/base/service/channel/mod.d.ts +28 -0
  78. package/dist/src/vendor/linejs/_dist/base/service/channel/mod.d.ts.map +1 -0
  79. package/dist/src/vendor/linejs/_dist/base/service/liff/mod.d.ts +51 -0
  80. package/dist/src/vendor/linejs/_dist/base/service/liff/mod.d.ts.map +1 -0
  81. package/dist/src/vendor/linejs/_dist/base/service/livetalk/mod.d.ts +38 -0
  82. package/dist/src/vendor/linejs/_dist/base/service/livetalk/mod.d.ts.map +1 -0
  83. package/dist/src/vendor/linejs/_dist/base/service/mod.d.ts +9 -0
  84. package/dist/src/vendor/linejs/_dist/base/service/mod.d.ts.map +1 -0
  85. package/dist/src/vendor/linejs/_dist/base/service/relation/mod.d.ts +30 -0
  86. package/dist/src/vendor/linejs/_dist/base/service/relation/mod.d.ts.map +1 -0
  87. package/dist/src/vendor/linejs/_dist/base/service/square/mod.d.ts +162 -0
  88. package/dist/src/vendor/linejs/_dist/base/service/square/mod.d.ts.map +1 -0
  89. package/dist/src/vendor/linejs/_dist/base/service/talk/mod.d.ts +194 -0
  90. package/dist/src/vendor/linejs/_dist/base/service/talk/mod.d.ts.map +1 -0
  91. package/dist/src/vendor/linejs/_dist/base/service/types.d.ts +9 -0
  92. package/dist/src/vendor/linejs/_dist/base/service/types.d.ts.map +1 -0
  93. package/dist/src/vendor/linejs/_dist/base/storage/base.d.ts +34 -0
  94. package/dist/src/vendor/linejs/_dist/base/storage/base.d.ts.map +1 -0
  95. package/dist/src/vendor/linejs/_dist/base/storage/file.d.ts +20 -0
  96. package/dist/src/vendor/linejs/_dist/base/storage/file.d.ts.map +1 -0
  97. package/dist/src/vendor/linejs/_dist/base/storage/memory.d.ts +19 -0
  98. package/dist/src/vendor/linejs/_dist/base/storage/memory.d.ts.map +1 -0
  99. package/dist/src/vendor/linejs/_dist/base/storage/mod.d.ts +4 -0
  100. package/dist/src/vendor/linejs/_dist/base/storage/mod.d.ts.map +1 -0
  101. package/dist/src/vendor/linejs/_dist/base/thrift/mod.d.ts +14 -0
  102. package/dist/src/vendor/linejs/_dist/base/thrift/mod.d.ts.map +1 -0
  103. package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/declares.d.ts +20 -0
  104. package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/declares.d.ts.map +1 -0
  105. package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/read.d.ts +7 -0
  106. package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/read.d.ts.map +1 -0
  107. package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/struct.d.ts +1109 -0
  108. package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/struct.d.ts.map +1 -0
  109. package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/write.d.ts +3 -0
  110. package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/write.d.ts.map +1 -0
  111. package/dist/src/vendor/linejs/_dist/base/thrift/rename/parser.d.ts +7 -0
  112. package/dist/src/vendor/linejs/_dist/base/thrift/rename/parser.d.ts.map +1 -0
  113. package/dist/src/vendor/linejs/_dist/base/timeline/mod.d.ts +83 -0
  114. package/dist/src/vendor/linejs/_dist/base/timeline/mod.d.ts.map +1 -0
  115. package/dist/src/vendor/linejs/_dist/base/types.d.ts +11 -0
  116. package/dist/src/vendor/linejs/_dist/base/types.d.ts.map +1 -0
  117. package/dist/src/vendor/linejs/_dist/client/client.d.ts +70 -0
  118. package/dist/src/vendor/linejs/_dist/client/client.d.ts.map +1 -0
  119. package/dist/src/vendor/linejs/_dist/client/features/chat/fetcher.d.ts +5 -0
  120. package/dist/src/vendor/linejs/_dist/client/features/chat/fetcher.d.ts.map +1 -0
  121. package/dist/src/vendor/linejs/_dist/client/features/chat/mod.d.ts +58 -0
  122. package/dist/src/vendor/linejs/_dist/client/features/chat/mod.d.ts.map +1 -0
  123. package/dist/src/vendor/linejs/_dist/client/features/message/internal-types.d.ts +5 -0
  124. package/dist/src/vendor/linejs/_dist/client/features/message/internal-types.d.ts.map +1 -0
  125. package/dist/src/vendor/linejs/_dist/client/features/message/mod.d.ts +3 -0
  126. package/dist/src/vendor/linejs/_dist/client/features/message/mod.d.ts.map +1 -0
  127. package/dist/src/vendor/linejs/_dist/client/features/message/square.d.ts +94 -0
  128. package/dist/src/vendor/linejs/_dist/client/features/message/square.d.ts.map +1 -0
  129. package/dist/src/vendor/linejs/_dist/client/features/message/talk.d.ts +87 -0
  130. package/dist/src/vendor/linejs/_dist/client/features/message/talk.d.ts.map +1 -0
  131. package/dist/src/vendor/linejs/_dist/client/features/message/types.d.ts +29 -0
  132. package/dist/src/vendor/linejs/_dist/client/features/message/types.d.ts.map +1 -0
  133. package/dist/src/vendor/linejs/_dist/client/features/square/mod.d.ts +65 -0
  134. package/dist/src/vendor/linejs/_dist/client/features/square/mod.d.ts.map +1 -0
  135. package/dist/src/vendor/linejs/_dist/client/features/user/mod.d.ts +10 -0
  136. package/dist/src/vendor/linejs/_dist/client/features/user/mod.d.ts.map +1 -0
  137. package/dist/src/vendor/linejs/_dist/client/login.d.ts +41 -0
  138. package/dist/src/vendor/linejs/_dist/client/login.d.ts.map +1 -0
  139. package/dist/src/vendor/linejs/_dist/client/mod.d.ts +3 -0
  140. package/dist/src/vendor/linejs/_dist/client/mod.d.ts.map +1 -0
  141. package/dist/src/vendor/linejs/base/core/mod.js +197 -0
  142. package/dist/src/vendor/linejs/base/core/mod.js.map +1 -0
  143. package/dist/src/vendor/linejs/base/core/typed-event-emitter/index.js +43 -0
  144. package/dist/src/vendor/linejs/base/core/typed-event-emitter/index.js.map +1 -0
  145. package/dist/src/vendor/linejs/base/core/utils/continue.js +42 -0
  146. package/dist/src/vendor/linejs/base/core/utils/continue.js.map +1 -0
  147. package/dist/src/vendor/linejs/base/core/utils/devices.js +67 -0
  148. package/dist/src/vendor/linejs/base/core/utils/devices.js.map +1 -0
  149. package/dist/src/vendor/linejs/base/core/utils/error.js +11 -0
  150. package/dist/src/vendor/linejs/base/core/utils/error.js.map +1 -0
  151. package/dist/src/vendor/linejs/base/core/utils/events.js +1 -0
  152. package/dist/src/vendor/linejs/base/core/utils/events.js.map +1 -0
  153. package/dist/src/vendor/linejs/base/e2ee/mod.js +817 -0
  154. package/dist/src/vendor/linejs/base/e2ee/mod.js.map +1 -0
  155. package/dist/src/vendor/linejs/base/login/mod.js +594 -0
  156. package/dist/src/vendor/linejs/base/login/mod.js.map +1 -0
  157. package/dist/src/vendor/linejs/base/login/regex.js +6 -0
  158. package/dist/src/vendor/linejs/base/login/regex.js.map +1 -0
  159. package/dist/src/vendor/linejs/base/login/rsa-verify.js +73 -0
  160. package/dist/src/vendor/linejs/base/login/rsa-verify.js.map +1 -0
  161. package/dist/src/vendor/linejs/base/mod.js +6 -0
  162. package/dist/src/vendor/linejs/base/mod.js.map +1 -0
  163. package/dist/src/vendor/linejs/base/obs/mime.js +138 -0
  164. package/dist/src/vendor/linejs/base/obs/mime.js.map +1 -0
  165. package/dist/src/vendor/linejs/base/obs/mod.js +309 -0
  166. package/dist/src/vendor/linejs/base/obs/mod.js.map +1 -0
  167. package/dist/src/vendor/linejs/base/polling/mod.js +153 -0
  168. package/dist/src/vendor/linejs/base/polling/mod.js.map +1 -0
  169. package/dist/src/vendor/linejs/base/push/conn.js +254 -0
  170. package/dist/src/vendor/linejs/base/push/conn.js.map +1 -0
  171. package/dist/src/vendor/linejs/base/push/connData.js +81 -0
  172. package/dist/src/vendor/linejs/base/push/connData.js.map +1 -0
  173. package/dist/src/vendor/linejs/base/push/connManager.js +422 -0
  174. package/dist/src/vendor/linejs/base/push/connManager.js.map +1 -0
  175. package/dist/src/vendor/linejs/base/push/mod.js +2 -0
  176. package/dist/src/vendor/linejs/base/push/mod.js.map +1 -0
  177. package/dist/src/vendor/linejs/base/request/mod.js +195 -0
  178. package/dist/src/vendor/linejs/base/request/mod.js.map +1 -0
  179. package/dist/src/vendor/linejs/base/service/auth/mod.js +83 -0
  180. package/dist/src/vendor/linejs/base/service/auth/mod.js.map +1 -0
  181. package/dist/src/vendor/linejs/base/service/call/mod.js +63 -0
  182. package/dist/src/vendor/linejs/base/service/call/mod.js.map +1 -0
  183. package/dist/src/vendor/linejs/base/service/channel/mod.js +52 -0
  184. package/dist/src/vendor/linejs/base/service/channel/mod.js.map +1 -0
  185. package/dist/src/vendor/linejs/base/service/liff/mod.js +240 -0
  186. package/dist/src/vendor/linejs/base/service/liff/mod.js.map +1 -0
  187. package/dist/src/vendor/linejs/base/service/livetalk/mod.js +90 -0
  188. package/dist/src/vendor/linejs/base/service/livetalk/mod.js.map +1 -0
  189. package/dist/src/vendor/linejs/base/service/mod.js +9 -0
  190. package/dist/src/vendor/linejs/base/service/mod.js.map +1 -0
  191. package/dist/src/vendor/linejs/base/service/relation/mod.js +86 -0
  192. package/dist/src/vendor/linejs/base/service/relation/mod.js.map +1 -0
  193. package/dist/src/vendor/linejs/base/service/square/mod.js +414 -0
  194. package/dist/src/vendor/linejs/base/service/square/mod.js.map +1 -0
  195. package/dist/src/vendor/linejs/base/service/talk/mod.js +525 -0
  196. package/dist/src/vendor/linejs/base/service/talk/mod.js.map +1 -0
  197. package/dist/src/vendor/linejs/base/service/types.js +1 -0
  198. package/dist/src/vendor/linejs/base/service/types.js.map +1 -0
  199. package/dist/src/vendor/linejs/base/storage/base.js +5 -0
  200. package/dist/src/vendor/linejs/base/storage/base.js.map +1 -0
  201. package/dist/src/vendor/linejs/base/storage/file.js +63 -0
  202. package/dist/src/vendor/linejs/base/storage/file.js.map +1 -0
  203. package/dist/src/vendor/linejs/base/storage/memory.js +46 -0
  204. package/dist/src/vendor/linejs/base/storage/memory.js.map +1 -0
  205. package/dist/src/vendor/linejs/base/storage/mod.js +4 -0
  206. package/dist/src/vendor/linejs/base/storage/mod.js.map +1 -0
  207. package/dist/src/vendor/linejs/base/thrift/README.md +53 -0
  208. package/dist/src/vendor/linejs/base/thrift/mod.js +22 -0
  209. package/dist/src/vendor/linejs/base/thrift/mod.js.map +1 -0
  210. package/dist/src/vendor/linejs/base/thrift/readwrite/declares.js +54 -0
  211. package/dist/src/vendor/linejs/base/thrift/readwrite/declares.js.map +1 -0
  212. package/dist/src/vendor/linejs/base/thrift/readwrite/read.js +115 -0
  213. package/dist/src/vendor/linejs/base/thrift/readwrite/read.js.map +1 -0
  214. package/dist/src/vendor/linejs/base/thrift/readwrite/struct.js +14449 -0
  215. package/dist/src/vendor/linejs/base/thrift/readwrite/struct.js.map +1 -0
  216. package/dist/src/vendor/linejs/base/thrift/readwrite/tmc.js +460 -0
  217. package/dist/src/vendor/linejs/base/thrift/readwrite/tmc.js.map +1 -0
  218. package/dist/src/vendor/linejs/base/thrift/readwrite/write.js +234 -0
  219. package/dist/src/vendor/linejs/base/thrift/readwrite/write.js.map +1 -0
  220. package/dist/src/vendor/linejs/base/thrift/rename/parser.js +121 -0
  221. package/dist/src/vendor/linejs/base/thrift/rename/parser.js.map +1 -0
  222. package/dist/src/vendor/linejs/base/timeline/mod.js +360 -0
  223. package/dist/src/vendor/linejs/base/timeline/mod.js.map +1 -0
  224. package/dist/src/vendor/linejs/base/types.js +8 -0
  225. package/dist/src/vendor/linejs/base/types.js.map +1 -0
  226. package/dist/src/vendor/linejs/client/client.js +185 -0
  227. package/dist/src/vendor/linejs/client/client.js.map +1 -0
  228. package/dist/src/vendor/linejs/client/features/chat/fetcher.js +29 -0
  229. package/dist/src/vendor/linejs/client/features/chat/fetcher.js.map +1 -0
  230. package/dist/src/vendor/linejs/client/features/chat/mod.js +118 -0
  231. package/dist/src/vendor/linejs/client/features/chat/mod.js.map +1 -0
  232. package/dist/src/vendor/linejs/client/features/message/internal-types.js +1 -0
  233. package/dist/src/vendor/linejs/client/features/message/internal-types.js.map +1 -0
  234. package/dist/src/vendor/linejs/client/features/message/mod.js +5 -0
  235. package/dist/src/vendor/linejs/client/features/message/mod.js.map +1 -0
  236. package/dist/src/vendor/linejs/client/features/message/square.js +464 -0
  237. package/dist/src/vendor/linejs/client/features/message/square.js.map +1 -0
  238. package/dist/src/vendor/linejs/client/features/message/talk.js +340 -0
  239. package/dist/src/vendor/linejs/client/features/message/talk.js.map +1 -0
  240. package/dist/src/vendor/linejs/client/features/message/types.js +1 -0
  241. package/dist/src/vendor/linejs/client/features/message/types.js.map +1 -0
  242. package/dist/src/vendor/linejs/client/features/message/utils.js +83 -0
  243. package/dist/src/vendor/linejs/client/features/message/utils.js.map +1 -0
  244. package/dist/src/vendor/linejs/client/features/square/mod.js +173 -0
  245. package/dist/src/vendor/linejs/client/features/square/mod.js.map +1 -0
  246. package/dist/src/vendor/linejs/client/features/user/mod.js +9 -0
  247. package/dist/src/vendor/linejs/client/features/user/mod.js.map +1 -0
  248. package/dist/src/vendor/linejs/client/login.js +36 -0
  249. package/dist/src/vendor/linejs/client/login.js.map +1 -0
  250. package/dist/src/vendor/linejs/client/mod.js +3 -0
  251. package/dist/src/vendor/linejs/client/mod.js.map +1 -0
  252. package/dist/src/vendor/linejs/deno.json +24 -0
  253. package/dist/src/vendor/linejs/package.json +35 -0
  254. package/dist/src/vendor/linejs-types/LICENSE +21 -0
  255. package/dist/src/vendor/linejs-types/README.md +11 -0
  256. package/dist/src/vendor/linejs-types/_dist/line_types.d.ts +11629 -0
  257. package/dist/src/vendor/linejs-types/_dist/line_types.d.ts.map +1 -0
  258. package/dist/src/vendor/linejs-types/_dist/thrift.d.ts +4 -0
  259. package/dist/src/vendor/linejs-types/_dist/thrift.d.ts.map +1 -0
  260. package/dist/src/vendor/linejs-types/deno.json +12 -0
  261. package/dist/src/vendor/linejs-types/line_types.js +2704 -0
  262. package/dist/src/vendor/linejs-types/line_types.js.map +1 -0
  263. package/dist/src/vendor/linejs-types/package.json +20 -0
  264. package/dist/src/vendor/linejs-types/thrift.js +37670 -0
  265. package/dist/src/vendor/linejs-types/thrift.js.map +1 -0
  266. package/dist/src/vendor/loose-types/LICENSE +21 -0
  267. package/dist/src/vendor/loose-types/README.md +30 -0
  268. package/dist/src/vendor/loose-types/_dist/mod.d.ts +23 -0
  269. package/dist/src/vendor/loose-types/_dist/mod.d.ts.map +1 -0
  270. package/dist/src/vendor/loose-types/deno.json +7 -0
  271. package/dist/src/vendor/loose-types/mod.js +7 -0
  272. package/dist/src/vendor/loose-types/mod.js.map +1 -0
  273. package/dist/src/vendor/loose-types/package.json +14 -0
  274. package/dist/src/vendor/runtime-shims.d.ts +13 -0
  275. package/docs/content/docs/cli/kakaotalk.mdx +3 -39
  276. package/e2e/config.ts +1 -1
  277. package/package.json +1 -2
  278. package/scripts/postbuild.ts +5 -1
  279. package/skills/agent-channeltalk/SKILL.md +1 -1
  280. package/skills/agent-channeltalkbot/SKILL.md +1 -1
  281. package/skills/agent-discord/SKILL.md +1 -1
  282. package/skills/agent-discordbot/SKILL.md +1 -1
  283. package/skills/agent-instagram/SKILL.md +1 -1
  284. package/skills/agent-kakaotalk/SKILL.md +11 -63
  285. package/skills/agent-kakaotalk/references/authentication.md +4 -69
  286. package/skills/agent-kakaotalk/references/common-patterns.md +13 -0
  287. package/skills/agent-line/SKILL.md +1 -1
  288. package/skills/agent-slack/SKILL.md +1 -1
  289. package/skills/agent-slackbot/SKILL.md +1 -1
  290. package/skills/agent-teams/SKILL.md +1 -1
  291. package/skills/agent-telegram/SKILL.md +1 -1
  292. package/skills/agent-webex/SKILL.md +1 -1
  293. package/skills/agent-wechatbot/SKILL.md +1 -1
  294. package/skills/agent-whatsapp/SKILL.md +1 -1
  295. package/skills/agent-whatsappbot/SKILL.md +1 -1
  296. package/src/platforms/kakaotalk/client.ts +25 -10
  297. package/src/platforms/kakaotalk/commands/auth.ts +22 -73
  298. package/src/platforms/kakaotalk/credential-manager.ts +1 -0
  299. package/src/platforms/kakaotalk/index.ts +1 -0
  300. package/src/platforms/kakaotalk/listener.test.ts +2 -2
  301. package/src/platforms/kakaotalk/listener.ts +2 -2
  302. package/src/platforms/kakaotalk/protocol/config.ts +26 -2
  303. package/src/platforms/kakaotalk/protocol/session.ts +16 -10
  304. package/src/platforms/kakaotalk/types.ts +4 -0
  305. package/src/platforms/line/client.ts +2 -2
  306. package/src/tui/adapters/kakaotalk-adapter.ts +5 -2
  307. package/src/vendor/linejs/LICENSE +21 -0
  308. package/src/vendor/linejs/README.md +89 -0
  309. package/src/vendor/linejs/_dist/base/core/mod.d.ts +125 -0
  310. package/src/vendor/linejs/_dist/base/core/mod.d.ts.map +1 -0
  311. package/src/vendor/linejs/_dist/base/core/typed-event-emitter/index.d.ts +13 -0
  312. package/src/vendor/linejs/_dist/base/core/typed-event-emitter/index.d.ts.map +1 -0
  313. package/src/vendor/linejs/_dist/base/core/utils/continue.d.ts +10 -0
  314. package/src/vendor/linejs/_dist/base/core/utils/continue.d.ts.map +1 -0
  315. package/src/vendor/linejs/_dist/base/core/utils/devices.d.ts +8 -0
  316. package/src/vendor/linejs/_dist/base/core/utils/devices.d.ts.map +1 -0
  317. package/src/vendor/linejs/_dist/base/core/utils/error.d.ts +8 -0
  318. package/src/vendor/linejs/_dist/base/core/utils/error.d.ts.map +1 -0
  319. package/src/vendor/linejs/_dist/base/core/utils/events.d.ts +22 -0
  320. package/src/vendor/linejs/_dist/base/core/utils/events.d.ts.map +1 -0
  321. package/src/vendor/linejs/_dist/base/e2ee/mod.d.ts +64 -0
  322. package/src/vendor/linejs/_dist/base/e2ee/mod.d.ts.map +1 -0
  323. package/src/vendor/linejs/_dist/base/login/mod.d.ts +138 -0
  324. package/src/vendor/linejs/_dist/base/login/mod.d.ts.map +1 -0
  325. package/src/vendor/linejs/_dist/base/mod.d.ts +6 -0
  326. package/src/vendor/linejs/_dist/base/mod.d.ts.map +1 -0
  327. package/src/vendor/linejs/_dist/base/obs/mod.d.ts +100 -0
  328. package/src/vendor/linejs/_dist/base/obs/mod.d.ts.map +1 -0
  329. package/src/vendor/linejs/_dist/base/polling/mod.d.ts +55 -0
  330. package/src/vendor/linejs/_dist/base/polling/mod.d.ts.map +1 -0
  331. package/src/vendor/linejs/_dist/base/push/conn.d.ts +39 -0
  332. package/src/vendor/linejs/_dist/base/push/conn.d.ts.map +1 -0
  333. package/src/vendor/linejs/_dist/base/push/connData.d.ts +19 -0
  334. package/src/vendor/linejs/_dist/base/push/connData.d.ts.map +1 -0
  335. package/src/vendor/linejs/_dist/base/push/connManager.d.ts +43 -0
  336. package/src/vendor/linejs/_dist/base/push/connManager.d.ts.map +1 -0
  337. package/src/vendor/linejs/_dist/base/push/mod.d.ts +2 -0
  338. package/src/vendor/linejs/_dist/base/push/mod.d.ts.map +1 -0
  339. package/src/vendor/linejs/_dist/base/request/mod.d.ts +45 -0
  340. package/src/vendor/linejs/_dist/base/request/mod.d.ts.map +1 -0
  341. package/src/vendor/linejs/_dist/base/service/auth/mod.d.ts +32 -0
  342. package/src/vendor/linejs/_dist/base/service/auth/mod.d.ts.map +1 -0
  343. package/src/vendor/linejs/_dist/base/service/call/mod.d.ts +29 -0
  344. package/src/vendor/linejs/_dist/base/service/call/mod.d.ts.map +1 -0
  345. package/src/vendor/linejs/_dist/base/service/channel/mod.d.ts +28 -0
  346. package/src/vendor/linejs/_dist/base/service/channel/mod.d.ts.map +1 -0
  347. package/src/vendor/linejs/_dist/base/service/liff/mod.d.ts +51 -0
  348. package/src/vendor/linejs/_dist/base/service/liff/mod.d.ts.map +1 -0
  349. package/src/vendor/linejs/_dist/base/service/livetalk/mod.d.ts +38 -0
  350. package/src/vendor/linejs/_dist/base/service/livetalk/mod.d.ts.map +1 -0
  351. package/src/vendor/linejs/_dist/base/service/mod.d.ts +9 -0
  352. package/src/vendor/linejs/_dist/base/service/mod.d.ts.map +1 -0
  353. package/src/vendor/linejs/_dist/base/service/relation/mod.d.ts +30 -0
  354. package/src/vendor/linejs/_dist/base/service/relation/mod.d.ts.map +1 -0
  355. package/src/vendor/linejs/_dist/base/service/square/mod.d.ts +162 -0
  356. package/src/vendor/linejs/_dist/base/service/square/mod.d.ts.map +1 -0
  357. package/src/vendor/linejs/_dist/base/service/talk/mod.d.ts +194 -0
  358. package/src/vendor/linejs/_dist/base/service/talk/mod.d.ts.map +1 -0
  359. package/src/vendor/linejs/_dist/base/service/types.d.ts +9 -0
  360. package/src/vendor/linejs/_dist/base/service/types.d.ts.map +1 -0
  361. package/src/vendor/linejs/_dist/base/storage/base.d.ts +34 -0
  362. package/src/vendor/linejs/_dist/base/storage/base.d.ts.map +1 -0
  363. package/src/vendor/linejs/_dist/base/storage/file.d.ts +20 -0
  364. package/src/vendor/linejs/_dist/base/storage/file.d.ts.map +1 -0
  365. package/src/vendor/linejs/_dist/base/storage/memory.d.ts +19 -0
  366. package/src/vendor/linejs/_dist/base/storage/memory.d.ts.map +1 -0
  367. package/src/vendor/linejs/_dist/base/storage/mod.d.ts +4 -0
  368. package/src/vendor/linejs/_dist/base/storage/mod.d.ts.map +1 -0
  369. package/src/vendor/linejs/_dist/base/thrift/mod.d.ts +14 -0
  370. package/src/vendor/linejs/_dist/base/thrift/mod.d.ts.map +1 -0
  371. package/src/vendor/linejs/_dist/base/thrift/readwrite/declares.d.ts +20 -0
  372. package/src/vendor/linejs/_dist/base/thrift/readwrite/declares.d.ts.map +1 -0
  373. package/src/vendor/linejs/_dist/base/thrift/readwrite/read.d.ts +7 -0
  374. package/src/vendor/linejs/_dist/base/thrift/readwrite/read.d.ts.map +1 -0
  375. package/src/vendor/linejs/_dist/base/thrift/readwrite/struct.d.ts +1109 -0
  376. package/src/vendor/linejs/_dist/base/thrift/readwrite/struct.d.ts.map +1 -0
  377. package/src/vendor/linejs/_dist/base/thrift/readwrite/write.d.ts +3 -0
  378. package/src/vendor/linejs/_dist/base/thrift/readwrite/write.d.ts.map +1 -0
  379. package/src/vendor/linejs/_dist/base/thrift/rename/parser.d.ts +7 -0
  380. package/src/vendor/linejs/_dist/base/thrift/rename/parser.d.ts.map +1 -0
  381. package/src/vendor/linejs/_dist/base/timeline/mod.d.ts +83 -0
  382. package/src/vendor/linejs/_dist/base/timeline/mod.d.ts.map +1 -0
  383. package/src/vendor/linejs/_dist/base/types.d.ts +11 -0
  384. package/src/vendor/linejs/_dist/base/types.d.ts.map +1 -0
  385. package/src/vendor/linejs/_dist/client/client.d.ts +70 -0
  386. package/src/vendor/linejs/_dist/client/client.d.ts.map +1 -0
  387. package/src/vendor/linejs/_dist/client/features/chat/fetcher.d.ts +5 -0
  388. package/src/vendor/linejs/_dist/client/features/chat/fetcher.d.ts.map +1 -0
  389. package/src/vendor/linejs/_dist/client/features/chat/mod.d.ts +58 -0
  390. package/src/vendor/linejs/_dist/client/features/chat/mod.d.ts.map +1 -0
  391. package/src/vendor/linejs/_dist/client/features/message/internal-types.d.ts +5 -0
  392. package/src/vendor/linejs/_dist/client/features/message/internal-types.d.ts.map +1 -0
  393. package/src/vendor/linejs/_dist/client/features/message/mod.d.ts +3 -0
  394. package/src/vendor/linejs/_dist/client/features/message/mod.d.ts.map +1 -0
  395. package/src/vendor/linejs/_dist/client/features/message/square.d.ts +94 -0
  396. package/src/vendor/linejs/_dist/client/features/message/square.d.ts.map +1 -0
  397. package/src/vendor/linejs/_dist/client/features/message/talk.d.ts +87 -0
  398. package/src/vendor/linejs/_dist/client/features/message/talk.d.ts.map +1 -0
  399. package/src/vendor/linejs/_dist/client/features/message/types.d.ts +29 -0
  400. package/src/vendor/linejs/_dist/client/features/message/types.d.ts.map +1 -0
  401. package/src/vendor/linejs/_dist/client/features/square/mod.d.ts +65 -0
  402. package/src/vendor/linejs/_dist/client/features/square/mod.d.ts.map +1 -0
  403. package/src/vendor/linejs/_dist/client/features/user/mod.d.ts +10 -0
  404. package/src/vendor/linejs/_dist/client/features/user/mod.d.ts.map +1 -0
  405. package/src/vendor/linejs/_dist/client/login.d.ts +41 -0
  406. package/src/vendor/linejs/_dist/client/login.d.ts.map +1 -0
  407. package/src/vendor/linejs/_dist/client/mod.d.ts +3 -0
  408. package/src/vendor/linejs/_dist/client/mod.d.ts.map +1 -0
  409. package/src/vendor/linejs/base/core/mod.js +197 -0
  410. package/src/vendor/linejs/base/core/mod.js.map +1 -0
  411. package/src/vendor/linejs/base/core/typed-event-emitter/index.js +43 -0
  412. package/src/vendor/linejs/base/core/typed-event-emitter/index.js.map +1 -0
  413. package/src/vendor/linejs/base/core/utils/continue.js +42 -0
  414. package/src/vendor/linejs/base/core/utils/continue.js.map +1 -0
  415. package/src/vendor/linejs/base/core/utils/devices.js +67 -0
  416. package/src/vendor/linejs/base/core/utils/devices.js.map +1 -0
  417. package/src/vendor/linejs/base/core/utils/error.js +11 -0
  418. package/src/vendor/linejs/base/core/utils/error.js.map +1 -0
  419. package/src/vendor/linejs/base/core/utils/events.js +1 -0
  420. package/src/vendor/linejs/base/core/utils/events.js.map +1 -0
  421. package/src/vendor/linejs/base/e2ee/mod.js +817 -0
  422. package/src/vendor/linejs/base/e2ee/mod.js.map +1 -0
  423. package/src/vendor/linejs/base/login/mod.js +594 -0
  424. package/src/vendor/linejs/base/login/mod.js.map +1 -0
  425. package/src/vendor/linejs/base/login/regex.js +6 -0
  426. package/src/vendor/linejs/base/login/regex.js.map +1 -0
  427. package/src/vendor/linejs/base/login/rsa-verify.js +73 -0
  428. package/src/vendor/linejs/base/login/rsa-verify.js.map +1 -0
  429. package/src/vendor/linejs/base/mod.js +6 -0
  430. package/src/vendor/linejs/base/mod.js.map +1 -0
  431. package/src/vendor/linejs/base/obs/mime.js +138 -0
  432. package/src/vendor/linejs/base/obs/mime.js.map +1 -0
  433. package/src/vendor/linejs/base/obs/mod.js +309 -0
  434. package/src/vendor/linejs/base/obs/mod.js.map +1 -0
  435. package/src/vendor/linejs/base/polling/mod.js +153 -0
  436. package/src/vendor/linejs/base/polling/mod.js.map +1 -0
  437. package/src/vendor/linejs/base/push/conn.js +254 -0
  438. package/src/vendor/linejs/base/push/conn.js.map +1 -0
  439. package/src/vendor/linejs/base/push/connData.js +81 -0
  440. package/src/vendor/linejs/base/push/connData.js.map +1 -0
  441. package/src/vendor/linejs/base/push/connManager.js +422 -0
  442. package/src/vendor/linejs/base/push/connManager.js.map +1 -0
  443. package/src/vendor/linejs/base/push/mod.js +2 -0
  444. package/src/vendor/linejs/base/push/mod.js.map +1 -0
  445. package/src/vendor/linejs/base/request/mod.js +195 -0
  446. package/src/vendor/linejs/base/request/mod.js.map +1 -0
  447. package/src/vendor/linejs/base/service/auth/mod.js +83 -0
  448. package/src/vendor/linejs/base/service/auth/mod.js.map +1 -0
  449. package/src/vendor/linejs/base/service/call/mod.js +63 -0
  450. package/src/vendor/linejs/base/service/call/mod.js.map +1 -0
  451. package/src/vendor/linejs/base/service/channel/mod.js +52 -0
  452. package/src/vendor/linejs/base/service/channel/mod.js.map +1 -0
  453. package/src/vendor/linejs/base/service/liff/mod.js +240 -0
  454. package/src/vendor/linejs/base/service/liff/mod.js.map +1 -0
  455. package/src/vendor/linejs/base/service/livetalk/mod.js +90 -0
  456. package/src/vendor/linejs/base/service/livetalk/mod.js.map +1 -0
  457. package/src/vendor/linejs/base/service/mod.js +9 -0
  458. package/src/vendor/linejs/base/service/mod.js.map +1 -0
  459. package/src/vendor/linejs/base/service/relation/mod.js +86 -0
  460. package/src/vendor/linejs/base/service/relation/mod.js.map +1 -0
  461. package/src/vendor/linejs/base/service/square/mod.js +414 -0
  462. package/src/vendor/linejs/base/service/square/mod.js.map +1 -0
  463. package/src/vendor/linejs/base/service/talk/mod.js +525 -0
  464. package/src/vendor/linejs/base/service/talk/mod.js.map +1 -0
  465. package/src/vendor/linejs/base/service/types.js +1 -0
  466. package/src/vendor/linejs/base/service/types.js.map +1 -0
  467. package/src/vendor/linejs/base/storage/base.js +5 -0
  468. package/src/vendor/linejs/base/storage/base.js.map +1 -0
  469. package/src/vendor/linejs/base/storage/file.js +63 -0
  470. package/src/vendor/linejs/base/storage/file.js.map +1 -0
  471. package/src/vendor/linejs/base/storage/memory.js +46 -0
  472. package/src/vendor/linejs/base/storage/memory.js.map +1 -0
  473. package/src/vendor/linejs/base/storage/mod.js +4 -0
  474. package/src/vendor/linejs/base/storage/mod.js.map +1 -0
  475. package/src/vendor/linejs/base/thrift/README.md +53 -0
  476. package/src/vendor/linejs/base/thrift/mod.js +22 -0
  477. package/src/vendor/linejs/base/thrift/mod.js.map +1 -0
  478. package/src/vendor/linejs/base/thrift/readwrite/declares.js +54 -0
  479. package/src/vendor/linejs/base/thrift/readwrite/declares.js.map +1 -0
  480. package/src/vendor/linejs/base/thrift/readwrite/read.js +115 -0
  481. package/src/vendor/linejs/base/thrift/readwrite/read.js.map +1 -0
  482. package/src/vendor/linejs/base/thrift/readwrite/struct.js +14449 -0
  483. package/src/vendor/linejs/base/thrift/readwrite/struct.js.map +1 -0
  484. package/src/vendor/linejs/base/thrift/readwrite/tmc.js +460 -0
  485. package/src/vendor/linejs/base/thrift/readwrite/tmc.js.map +1 -0
  486. package/src/vendor/linejs/base/thrift/readwrite/write.js +234 -0
  487. package/src/vendor/linejs/base/thrift/readwrite/write.js.map +1 -0
  488. package/src/vendor/linejs/base/thrift/rename/parser.js +121 -0
  489. package/src/vendor/linejs/base/thrift/rename/parser.js.map +1 -0
  490. package/src/vendor/linejs/base/timeline/mod.js +360 -0
  491. package/src/vendor/linejs/base/timeline/mod.js.map +1 -0
  492. package/src/vendor/linejs/base/types.js +8 -0
  493. package/src/vendor/linejs/base/types.js.map +1 -0
  494. package/src/vendor/linejs/client/client.js +185 -0
  495. package/src/vendor/linejs/client/client.js.map +1 -0
  496. package/src/vendor/linejs/client/features/chat/fetcher.js +29 -0
  497. package/src/vendor/linejs/client/features/chat/fetcher.js.map +1 -0
  498. package/src/vendor/linejs/client/features/chat/mod.js +118 -0
  499. package/src/vendor/linejs/client/features/chat/mod.js.map +1 -0
  500. package/src/vendor/linejs/client/features/message/internal-types.js +1 -0
  501. package/src/vendor/linejs/client/features/message/internal-types.js.map +1 -0
  502. package/src/vendor/linejs/client/features/message/mod.js +5 -0
  503. package/src/vendor/linejs/client/features/message/mod.js.map +1 -0
  504. package/src/vendor/linejs/client/features/message/square.js +464 -0
  505. package/src/vendor/linejs/client/features/message/square.js.map +1 -0
  506. package/src/vendor/linejs/client/features/message/talk.js +340 -0
  507. package/src/vendor/linejs/client/features/message/talk.js.map +1 -0
  508. package/src/vendor/linejs/client/features/message/types.js +1 -0
  509. package/src/vendor/linejs/client/features/message/types.js.map +1 -0
  510. package/src/vendor/linejs/client/features/message/utils.js +83 -0
  511. package/src/vendor/linejs/client/features/message/utils.js.map +1 -0
  512. package/src/vendor/linejs/client/features/square/mod.js +173 -0
  513. package/src/vendor/linejs/client/features/square/mod.js.map +1 -0
  514. package/src/vendor/linejs/client/features/user/mod.js +9 -0
  515. package/src/vendor/linejs/client/features/user/mod.js.map +1 -0
  516. package/src/vendor/linejs/client/login.js +36 -0
  517. package/src/vendor/linejs/client/login.js.map +1 -0
  518. package/src/vendor/linejs/client/mod.js +3 -0
  519. package/src/vendor/linejs/client/mod.js.map +1 -0
  520. package/src/vendor/linejs/deno.json +24 -0
  521. package/src/vendor/linejs/package.json +35 -0
  522. package/src/vendor/linejs-types/LICENSE +21 -0
  523. package/src/vendor/linejs-types/README.md +11 -0
  524. package/src/vendor/linejs-types/_dist/line_types.d.ts +11629 -0
  525. package/src/vendor/linejs-types/_dist/line_types.d.ts.map +1 -0
  526. package/src/vendor/linejs-types/_dist/thrift.d.ts +4 -0
  527. package/src/vendor/linejs-types/_dist/thrift.d.ts.map +1 -0
  528. package/src/vendor/linejs-types/deno.json +12 -0
  529. package/src/vendor/linejs-types/line_types.js +2704 -0
  530. package/src/vendor/linejs-types/line_types.js.map +1 -0
  531. package/src/vendor/linejs-types/package.json +20 -0
  532. package/src/vendor/linejs-types/thrift.js +37670 -0
  533. package/src/vendor/linejs-types/thrift.js.map +1 -0
  534. package/src/vendor/loose-types/LICENSE +21 -0
  535. package/src/vendor/loose-types/README.md +30 -0
  536. package/src/vendor/loose-types/_dist/mod.d.ts +23 -0
  537. package/src/vendor/loose-types/_dist/mod.d.ts.map +1 -0
  538. package/src/vendor/loose-types/deno.json +7 -0
  539. package/src/vendor/loose-types/mod.js +7 -0
  540. package/src/vendor/loose-types/mod.js.map +1 -0
  541. package/src/vendor/loose-types/package.json +14 -0
  542. package/src/vendor/runtime-shims.d.ts +13 -0
  543. package/tsconfig.json +7 -1
@@ -0,0 +1,73 @@
1
+ import { Key } from "node-bignumber";
2
+ export function getRSACrypto(message, json) {
3
+ const rsa = new Key();
4
+ rsa.setPublic(json.nvalue, json.evalue);
5
+ const credentials = rsa.encrypt(message).toString("hex");
6
+ const keyname = json.keynm;
7
+ return {
8
+ keyname,
9
+ credentials,
10
+ message
11
+ };
12
+ } /*
13
+ import crypto from "node:crypto";
14
+ import { Buffer } from "node:buffer";
15
+ import type { RSAKey } from "@evex/linejs-types";
16
+
17
+ function encodeLength(len: number) {
18
+ // short form
19
+ if (len < 0x80) return Buffer.from([len]);
20
+ // long form
21
+ const octets = [];
22
+ while (len > 0) {
23
+ octets.unshift(len & 0xff);
24
+ len >>= 8;
25
+ }
26
+ return Buffer.from([0x80 | octets.length, ...octets]);
27
+ }
28
+
29
+ function encodeInteger(buf: Buffer) {
30
+ // ensure positive integer (add 0x00 if high bit set)
31
+ if (buf[0] & 0x80) buf = Buffer.concat([Buffer.from([0x00]), buf]);
32
+ return Buffer.concat([Buffer.from([0x02]), encodeLength(buf.length), buf]);
33
+ }
34
+
35
+ function toBufferFromHexOrDec(input: string) {
36
+ // if odd length, pad with leading zero
37
+ const hex = input.length % 2 ? "0" + input : input;
38
+ return Buffer.from(hex, "hex");
39
+ }
40
+
41
+ function rsaPublicKeyPem(modulusHexOrDec: string, exponentHexOrDec: string) {
42
+ const nBuf = toBufferFromHexOrDec(modulusHexOrDec);
43
+ const eBuf = toBufferFromHexOrDec(exponentHexOrDec);
44
+ const seq = Buffer.concat([encodeInteger(nBuf), encodeInteger(eBuf)]);
45
+ const der = Buffer.concat([
46
+ Buffer.from([0x30]),
47
+ encodeLength(seq.length),
48
+ seq,
49
+ ]);
50
+ const b64 = der.toString("base64");
51
+ const pem = ["-----BEGIN RSA PUBLIC KEY-----"];
52
+ for (let i = 0; i < b64.length; i += 64) pem.push(b64.slice(i, i + 64));
53
+ pem.push("-----END RSA PUBLIC KEY-----", "");
54
+ return pem.join("\n");
55
+ }
56
+
57
+ export function getRSACrypto(message: string, json: RSAKey) {
58
+ // json.nvalue and json.evalue are expected to be hex or decimal strings
59
+ const pem = rsaPublicKeyPem(json.nvalue, json.evalue);
60
+ const encrypted = crypto.publicEncrypt(
61
+ {
62
+ key: pem,
63
+ padding: crypto.constants.RSA_PKCS1_PADDING,
64
+ },
65
+ Buffer.from(message, "utf8"),
66
+ );
67
+ const credentials = encrypted.toString("hex");
68
+ const keyname = json.keynm;
69
+ return { keyname, credentials, message };
70
+ }
71
+
72
+ */
73
+ //# sourceMappingURL=rsa-verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rsa-verify.js","sources":["./rsa-verify.ts"],"names":[],"mappings":"AAAA,SAAS,GAAG,yBAAoC;AAGhD,OAAO,SAAS,aAAa,OAAe,EAAE,IAAY;EACzD,MAAM,MAAM,IAAI;EAChB,IAAI,SAAS,CAAC,KAAK,MAAM,EAAE,KAAK,MAAM;EACtC,MAAM,cAAc,IAAI,OAAO,CAAC,SAAS,QAAQ,CAAC;EAClD,MAAM,UAAU,KAAK,KAAK;EAC1B,OAAO;IAAE;IAAS;IAAa;EAAQ;AACxC,EAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * LINE Client
3
+ * @module
4
+ */ export * from "./core/mod.js";
5
+ export * from "./types.js";
6
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sources":["./mod.ts"],"names":[],"mappings":"AAAA;;;CAGC,GAED,8BAA8B;AAC9B,2BAA2B"}
@@ -0,0 +1,138 @@
1
+ export const MimeType = {
2
+ "audio/x-mpeg": "mpega",
3
+ "application/postscript": "ps",
4
+ "audio/x-aiff": "aiff",
5
+ "application/x-aim": "aim",
6
+ "image/x-jg": "art",
7
+ "video/x-ms-asf": "asx",
8
+ "audio/basic": "ulw",
9
+ "video/x-msvideo": "avi",
10
+ "video/x-rad-screenplay": "avx",
11
+ "application/x-bcpio": "bcpio",
12
+ "application/octet-stream": "exe",
13
+ "image/bmp": "dib",
14
+ "text/html": "html",
15
+ "application/x-cdf": "cdf",
16
+ "application/pkix-cert": "cer",
17
+ "application/java": "class",
18
+ "application/x-cpio": "cpio",
19
+ "application/x-csh": "csh",
20
+ "text/css": "css",
21
+ "application/msword": "doc",
22
+ "application/xml-dtd": "dtd",
23
+ "video/x-dv": "dv",
24
+ "application/x-dvi": "dvi",
25
+ "application/vnd.ms-fontobject": "eot",
26
+ "text/x-setext": "etx",
27
+ "image/gif": "gif",
28
+ "application/x-gtar": "gtar",
29
+ "application/x-gzip": "gz",
30
+ "application/x-hdf": "hdf",
31
+ "application/mac-binhex40": "hqx",
32
+ "text/x-component": "htc",
33
+ "image/ief": "ief",
34
+ "text/vnd.sun.j2me.app-descriptor": "jad",
35
+ "application/java-archive": "jar",
36
+ "text/x-java-source": "java",
37
+ "application/x-java-jnlp-file": "jnlp",
38
+ "image/jpeg": "jpg",
39
+ "application/javascript": "js",
40
+ "text/plain": "txt",
41
+ "application/json": "json",
42
+ "audio/midi": "midi",
43
+ "application/x-latex": "latex",
44
+ "audio/x-mpegurl": "m3u",
45
+ "image/x-macpaint": "pnt",
46
+ "text/troff": "tr",
47
+ "application/mathml+xml": "mathml",
48
+ "application/x-mif": "mif",
49
+ "video/quicktime": "qt",
50
+ "video/x-sgi-movie": "movie",
51
+ "audio/mpeg": "mpa",
52
+ "video/mp4": "mp4",
53
+ "video/mpeg": "mpg",
54
+ "video/mpeg2": "mpv2",
55
+ "application/x-wais-source": "src",
56
+ "application/x-netcdf": "nc",
57
+ "application/oda": "oda",
58
+ "application/vnd.oasis.opendocument.database": "odb",
59
+ "application/vnd.oasis.opendocument.chart": "odc",
60
+ "application/vnd.oasis.opendocument.formula": "odf",
61
+ "application/vnd.oasis.opendocument.graphics": "odg",
62
+ "application/vnd.oasis.opendocument.image": "odi",
63
+ "application/vnd.oasis.opendocument.text-master": "odm",
64
+ "application/vnd.oasis.opendocument.presentation": "odp",
65
+ "application/vnd.oasis.opendocument.spreadsheet": "ods",
66
+ "application/vnd.oasis.opendocument.text": "odt",
67
+ "application/vnd.oasis.opendocument.graphics-template": "otg",
68
+ "application/vnd.oasis.opendocument.text-web": "oth",
69
+ "application/vnd.oasis.opendocument.presentation-template": "otp",
70
+ "application/vnd.oasis.opendocument.spreadsheet-template": "ots",
71
+ "application/vnd.oasis.opendocument.text-template": "ott",
72
+ "application/ogg": "ogx",
73
+ "video/ogg": "ogv",
74
+ "audio/ogg": "spx",
75
+ "application/x-font-opentype": "otf",
76
+ "audio/flac": "flac",
77
+ "application/annodex": "anx",
78
+ "audio/annodex": "axa",
79
+ "video/annodex": "axv",
80
+ "application/xspf+xml": "xspf",
81
+ "image/x-portable-bitmap": "pbm",
82
+ "image/pict": "pict",
83
+ "application/pdf": "pdf",
84
+ "image/x-portable-graymap": "pgm",
85
+ "audio/x-scpls": "pls",
86
+ "image/png": "png",
87
+ "image/x-portable-anymap": "pnm",
88
+ "image/x-portable-pixmap": "ppm",
89
+ "application/vnd.ms-powerpoint": "pps",
90
+ "image/vnd.adobe.photoshop": "psd",
91
+ "image/x-quicktime": "qtif",
92
+ "image/x-cmu-raster": "ras",
93
+ "application/rdf+xml": "rdf",
94
+ "image/x-rgb": "rgb",
95
+ "application/vnd.rn-realmedia": "rm",
96
+ "application/rtf": "rtf",
97
+ "text/richtext": "rtx",
98
+ "application/font-sfnt": "sfnt",
99
+ "application/x-sh": "sh",
100
+ "application/x-shar": "shar",
101
+ "application/x-stuffit": "sit",
102
+ "application/x-sv4cpio": "sv4cpio",
103
+ "application/x-sv4crc": "sv4crc",
104
+ "image/svg+xml": "svgz",
105
+ "application/x-shockwave-flash": "swf",
106
+ "application/x-tar": "tar",
107
+ "application/x-tcl": "tcl",
108
+ "application/x-tex": "tex",
109
+ "application/x-texinfo": "texinfo",
110
+ "image/tiff": "tiff",
111
+ "text/tab-separated-values": "tsv",
112
+ "application/x-font-ttf": "ttf",
113
+ "application/x-ustar": "ustar",
114
+ "application/voicexml+xml": "vxml",
115
+ "image/x-xbitmap": "xbm",
116
+ "application/xhtml+xml": "xhtml",
117
+ "application/vnd.ms-excel": "xls",
118
+ "application/xml": "xsl",
119
+ "image/x-xpixmap": "xpm",
120
+ "application/xslt+xml": "xslt",
121
+ "application/vnd.mozilla.xul+xml": "xul",
122
+ "image/x-xwindowdump": "xwd",
123
+ "application/vnd.visio": "vsd",
124
+ "audio/x-wav": "wav",
125
+ "image/vnd.wap.wbmp": "wbmp",
126
+ "text/vnd.wap.wml": "wml",
127
+ "application/vnd.wap.wmlc": "wmlc",
128
+ "text/vnd.wap.wmlsc": "wmls",
129
+ "application/vnd.wap.wmlscriptc": "wmlscriptc",
130
+ "video/x-ms-wmv": "wmv",
131
+ "application/font-woff": "woff",
132
+ "application/font-woff2": "woff2",
133
+ "model/vrml": "wrl",
134
+ "application/wspolicy+xml": "wspolicy",
135
+ "application/x-compress": "z",
136
+ "application/zip": "zip"
137
+ };
138
+ //# sourceMappingURL=mime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mime.js","sources":["./mime.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,WAAmC;EAC/C,gBAAgB;EAChB,0BAA0B;EAC1B,gBAAgB;EAChB,qBAAqB;EACrB,cAAc;EACd,kBAAkB;EAClB,eAAe;EACf,mBAAmB;EACnB,0BAA0B;EAC1B,uBAAuB;EACvB,4BAA4B;EAC5B,aAAa;EACb,aAAa;EACb,qBAAqB;EACrB,yBAAyB;EACzB,oBAAoB;EACpB,sBAAsB;EACtB,qBAAqB;EACrB,YAAY;EACZ,sBAAsB;EACtB,uBAAuB;EACvB,cAAc;EACd,qBAAqB;EACrB,iCAAiC;EACjC,iBAAiB;EACjB,aAAa;EACb,sBAAsB;EACtB,sBAAsB;EACtB,qBAAqB;EACrB,4BAA4B;EAC5B,oBAAoB;EACpB,aAAa;EACb,oCAAoC;EACpC,4BAA4B;EAC5B,sBAAsB;EACtB,gCAAgC;EAChC,cAAc;EACd,0BAA0B;EAC1B,cAAc;EACd,oBAAoB;EACpB,cAAc;EACd,uBAAuB;EACvB,mBAAmB;EACnB,oBAAoB;EACpB,cAAc;EACd,0BAA0B;EAC1B,qBAAqB;EACrB,mBAAmB;EACnB,qBAAqB;EACrB,cAAc;EACd,aAAa;EACb,cAAc;EACd,eAAe;EACf,6BAA6B;EAC7B,wBAAwB;EACxB,mBAAmB;EACnB,+CAA+C;EAC/C,4CAA4C;EAC5C,8CAA8C;EAC9C,+CAA+C;EAC/C,4CAA4C;EAC5C,kDAAkD;EAClD,mDAAmD;EACnD,kDAAkD;EAClD,2CAA2C;EAC3C,wDAAwD;EACxD,+CAA+C;EAC/C,4DAA4D;EAC5D,2DAA2D;EAC3D,oDAAoD;EACpD,mBAAmB;EACnB,aAAa;EACb,aAAa;EACb,+BAA+B;EAC/B,cAAc;EACd,uBAAuB;EACvB,iBAAiB;EACjB,iBAAiB;EACjB,wBAAwB;EACxB,2BAA2B;EAC3B,cAAc;EACd,mBAAmB;EACnB,4BAA4B;EAC5B,iBAAiB;EACjB,aAAa;EACb,2BAA2B;EAC3B,2BAA2B;EAC3B,iCAAiC;EACjC,6BAA6B;EAC7B,qBAAqB;EACrB,sBAAsB;EACtB,uBAAuB;EACvB,eAAe;EACf,gCAAgC;EAChC,mBAAmB;EACnB,iBAAiB;EACjB,yBAAyB;EACzB,oBAAoB;EACpB,sBAAsB;EACtB,yBAAyB;EACzB,yBAAyB;EACzB,wBAAwB;EACxB,iBAAiB;EACjB,iCAAiC;EACjC,qBAAqB;EACrB,qBAAqB;EACrB,qBAAqB;EACrB,yBAAyB;EACzB,cAAc;EACd,6BAA6B;EAC7B,0BAA0B;EAC1B,uBAAuB;EACvB,4BAA4B;EAC5B,mBAAmB;EACnB,yBAAyB;EACzB,4BAA4B;EAC5B,mBAAmB;EACnB,mBAAmB;EACnB,wBAAwB;EACxB,mCAAmC;EACnC,uBAAuB;EACvB,yBAAyB;EACzB,eAAe;EACf,sBAAsB;EACtB,oBAAoB;EACpB,4BAA4B;EAC5B,sBAAsB;EACtB,kCAAkC;EAClC,kBAAkB;EAClB,yBAAyB;EACzB,0BAA0B;EAC1B,cAAc;EACd,4BAA4B;EAC5B,0BAA0B;EAC1B,mBAAmB;AACpB,EAAE"}
@@ -0,0 +1,309 @@
1
+ import { Buffer } from "node:buffer";
2
+ import { InternalError } from "../core/mod.js";
3
+ import { MimeType } from "./mime.js";
4
+ import crypto from "node:crypto";
5
+ import { writeStruct } from "../thrift/readwrite/write.js";
6
+ // @ts-types="thrift-types"
7
+ import * as thrift from "thrift";
8
+ export class LineObs {
9
+ client;
10
+ prefix = "https://obs.line-apps.com/";
11
+ constructor(client){
12
+ this.client = client;
13
+ }
14
+ /**
15
+ * Gets a message image URI by appending the given message ID to the prefixSticker
16
+ * @param {string} [messageId] - The message ID to use in the URLSticker
17
+ * @param {boolean} [isPreview=false] - Whether to append '/preview' to the URL.
18
+ * @return {string} The getted message image
19
+ */ getMessageDataUrl(messageId, isPreview = false, square = false) {
20
+ return `${this.prefix}r/${square ? "g2" : "talk"}/m/${messageId}${isPreview ? "/preview" : ""}`;
21
+ }
22
+ /**
23
+ * Gets a message image URI by appending the given message ID to the prefixSticker
24
+ * @param {string} [messageId] - The message ID to use in the URLSticker
25
+ * @return {string} The getted message image
26
+ */ getMessageMetadataUrl(messageId, square = false) {
27
+ return `${this.prefix}r/${square ? "g2" : "talk"}/m/${messageId}/object_info.obs`;
28
+ }
29
+ /**
30
+ * @description Gets the message's data from LINE Obs.
31
+ */ async downloadMessageData(options) {
32
+ if (!this.client.authToken) {
33
+ throw new InternalError("Not setup yet", "Please call 'login()' first");
34
+ }
35
+ const { messageId, isPreview, isSquare } = {
36
+ isPreview: false,
37
+ isSquare: false,
38
+ ...options
39
+ };
40
+ const blob = await (await this.client.fetch(this.getMessageDataUrl(messageId, isPreview, isSquare), {
41
+ headers: {
42
+ accept: "application/json, text/plain, */*",
43
+ "x-line-application": this.client.request.systemType,
44
+ "x-Line-access": this.client.authToken
45
+ }
46
+ })).blob();
47
+ const fileInfo = await this.getMessageObsMetadata({
48
+ messageId,
49
+ isSquare
50
+ });
51
+ return new File([
52
+ blob
53
+ ], fileInfo.name, {
54
+ type: blob.type
55
+ });
56
+ }
57
+ /**
58
+ * @description Gets the message's data from LINE Obs.
59
+ */ async getMessageObsMetadata(options) {
60
+ if (!this.client.authToken) {
61
+ throw new InternalError("Not setup yet", "Please call 'login()' first");
62
+ }
63
+ const { messageId, isSquare } = {
64
+ isSquare: false,
65
+ ...options
66
+ };
67
+ const r = await this.client.fetch(this.getMessageMetadataUrl(messageId, isSquare), {
68
+ headers: {
69
+ accept: "application/json, text/plain, */*",
70
+ "x-line-application": this.client.request.systemType,
71
+ "x-Line-access": this.client.authToken
72
+ }
73
+ });
74
+ return r.json();
75
+ }
76
+ /**
77
+ * @description Upload obs message to talk.
78
+ */ async uploadObjTalk(to, type, data, oid, filename) {
79
+ if (!this.client.authToken) {
80
+ throw new InternalError("Not setup yet", "Please call 'login()' first");
81
+ }
82
+ const ext = MimeType[data.type];
83
+ const reqseqValue = await this.client.getReqseq("talk");
84
+ const param = {
85
+ ver: "2.0",
86
+ name: filename || "linejs." + ext,
87
+ type,
88
+ ...oid ? {
89
+ oid: oid
90
+ } : {
91
+ oid: "reqseq",
92
+ tomid: to,
93
+ reqseq: reqseqValue.toString()
94
+ }
95
+ };
96
+ if (type === "image") {
97
+ param.cat = "original";
98
+ } else if (type === "gif") {
99
+ param.cat = "original";
100
+ param.type = "image";
101
+ } else if (type === "audio" || type === "video") {
102
+ param.duration = "1919"; // 810
103
+ }
104
+ const toType = to[0] === "m" || to[0] === "t" ? "g2" : "talk";
105
+ return await this.uploadObjectForService({
106
+ data,
107
+ oType: type,
108
+ obsPath: `${toType}/m/${oid ?? "reqseq"}`,
109
+ filename: param.name,
110
+ params: param
111
+ });
112
+ }
113
+ async uploadObjectForService(options) {
114
+ this.client.log("Obs.uploadObjectForService", options);
115
+ let { data, oType, obsPath, params, filename, addHeaders } = {
116
+ oType: "image",
117
+ obsPath: "myhome/h",
118
+ ...options
119
+ };
120
+ const obsPathFinal = `/r/${obsPath}`;
121
+ oType = oType.toLowerCase();
122
+ filename = filename || crypto.randomUUID();
123
+ const baseParams = {
124
+ type: oType,
125
+ ver: "2.0",
126
+ name: filename
127
+ };
128
+ params = {
129
+ ...baseParams,
130
+ ...params || {}
131
+ };
132
+ if (!data || data.size === 0) {
133
+ throw new InternalError("ObsError", "No data to send.");
134
+ }
135
+ let headers = this.client.request.getHeader("POST");
136
+ headers["content-type"] = "application/octet-stream";
137
+ headers["X-Obs-Params"] = Buffer.from(JSON.stringify(params)).toString("base64");
138
+ if (addHeaders) {
139
+ headers = {
140
+ ...headers,
141
+ ...addHeaders
142
+ };
143
+ }
144
+ const response = await this.client.fetch(this.prefix + obsPathFinal, {
145
+ method: "POST",
146
+ headers,
147
+ body: data
148
+ });
149
+ const objId = response.headers.get("x-obs-oid") ?? "";
150
+ const objHash = response.headers.get("x-obs-hash") ?? "";
151
+ this.client.log("Obs.uploadObjectForServiceResponse", {
152
+ objId,
153
+ objHash,
154
+ headers: response.headers.toString()
155
+ });
156
+ return {
157
+ objId,
158
+ objHash,
159
+ headers: response.headers
160
+ };
161
+ }
162
+ async downloadObjectForService(options) {
163
+ let { obsPath, oid, addHeaders } = {
164
+ addHeaders: {},
165
+ ...options
166
+ };
167
+ if (obsPath.includes("{oid}")) {
168
+ obsPath = obsPath.replace("{oid}", oid);
169
+ } else {
170
+ obsPath += "/" + oid;
171
+ }
172
+ let headers = this.client.request.getHeader("GET");
173
+ headers = {
174
+ ...headers,
175
+ ...addHeaders
176
+ };
177
+ const obsPathFinal = "r/" + obsPath;
178
+ const response = await this.client.fetch(this.prefix + obsPathFinal, {
179
+ method: "GET",
180
+ headers
181
+ });
182
+ return response.blob();
183
+ }
184
+ async uploadMediaByE2EE(options) {
185
+ const { data, oType, to, filename } = options;
186
+ const typeSet = {
187
+ "image": [
188
+ "emi",
189
+ 1
190
+ ],
191
+ "video": [
192
+ "emv",
193
+ 2
194
+ ],
195
+ "audio": [
196
+ "ema",
197
+ 3
198
+ ],
199
+ "file": [
200
+ "emf",
201
+ 14
202
+ ],
203
+ "gif": [
204
+ "emi",
205
+ 1
206
+ ]
207
+ };
208
+ const ext = filename && filename.split(".").at(-1) || MimeType[data.type];
209
+ const serviceName = "talk";
210
+ const [obsNamespace, contentType] = typeSet[oType];
211
+ const params = {
212
+ "type": "file"
213
+ };
214
+ if (oType === "gif") {
215
+ params["cat"] = "original";
216
+ }
217
+ if (!(to[0] === "u" || to[0] === "c")) {
218
+ throw new InternalError("ObsError", "Invalid mid");
219
+ }
220
+ const { keyMaterial, encryptedData } = await this.client.e2ee.encryptByKeyMaterial(Buffer.from(await data.arrayBuffer()));
221
+ const tempId = "reqid-" + crypto.randomUUID();
222
+ // @ts-expect-error: will fix cuz typescript version change
223
+ const edata = new Blob([
224
+ encryptedData
225
+ ]);
226
+ const { objId } = await this.uploadObjectForService({
227
+ data: edata,
228
+ oType: "file",
229
+ obsPath: `${serviceName}/${obsNamespace}/${tempId}`,
230
+ params
231
+ });
232
+ if (oType === "image" || oType === "gif" || oType === "video") {
233
+ const { objId: objId2, headers } = await this.uploadObjectForService({
234
+ data: edata,
235
+ oType: "file",
236
+ obsPath: `${serviceName}/${obsNamespace}/${objId}__ud-preview`,
237
+ params
238
+ });
239
+ if (objId !== objId2) {
240
+ throw new InternalError("ObsError", "objId not match: " + JSON.stringify(Object.fromEntries(headers)), {
241
+ headers: Object.fromEntries(headers)
242
+ });
243
+ }
244
+ }
245
+ const chunks = await this.client.e2ee.encryptE2EEMessage(to, {
246
+ keyMaterial,
247
+ fileName: filename || "line." + ext
248
+ }, contentType);
249
+ return await this.client.talk.sendMessage({
250
+ to,
251
+ chunks,
252
+ contentType: contentType,
253
+ contentMetadata: {
254
+ SID: obsNamespace,
255
+ OID: objId,
256
+ FILE_SIZE: edata.size.toString(),
257
+ e2eeVersion: "2",
258
+ ...oType === "image" || oType === "gif" || oType === "video" ? {
259
+ MEDIA_CONTENT_INFO: JSON.stringify({
260
+ category: "original",
261
+ fileSize: edata.size,
262
+ extension: ext,
263
+ animated: oType == "gif"
264
+ })
265
+ } : {}
266
+ }
267
+ });
268
+ }
269
+ async downloadMediaByE2EE(message) {
270
+ if (!(message.to[0] === "u" || message.to[0] === "c")) {
271
+ throw new InternalError("ObsError", "Invalid mid");
272
+ }
273
+ const { id, contentMetadata, chunks } = message;
274
+ if (!chunks || !chunks.length) {
275
+ return null;
276
+ }
277
+ const { keyMaterial, fileName } = await this.client.e2ee.decryptE2EEDataMessage(message);
278
+ const talkMeta = Buffer.from(JSON.stringify({
279
+ message: Buffer.from(writeStruct([
280
+ [
281
+ 11,
282
+ 4,
283
+ id
284
+ ],
285
+ [
286
+ 15,
287
+ 27,
288
+ [
289
+ 12,
290
+ []
291
+ ]
292
+ ]
293
+ ], thrift.TBinaryProtocol)).toString("base64")
294
+ })).toString("base64");
295
+ const data = await this.downloadObjectForService({
296
+ oid: contentMetadata.OID,
297
+ obsPath: "talk/" + contentMetadata.SID,
298
+ addHeaders: {
299
+ "X-Talk-Meta": talkMeta
300
+ }
301
+ });
302
+ const fileData = new File([
303
+ // @ts-expect-error: will fix cuz typescript version change
304
+ await this.client.e2ee.decryptByKeyMaterial(Buffer.from(await data.arrayBuffer()), keyMaterial)
305
+ ], fileName);
306
+ return fileData;
307
+ }
308
+ }
309
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sources":["./mod.ts"],"names":[],"mappings":"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"}