@athenaintel/react 0.19.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (987) hide show
  1. package/README.md +171 -11
  2. package/dist/assets/AssetPanel.cjs +277 -0
  3. package/dist/assets/AssetPanel.cjs.map +1 -0
  4. package/dist/assets/AssetPanel.js +277 -0
  5. package/dist/assets/AssetPanel.js.map +1 -0
  6. package/dist/assets/AthenaAssetEmbed.cjs +151 -0
  7. package/dist/assets/AthenaAssetEmbed.cjs.map +1 -0
  8. package/dist/assets/AthenaAssetEmbed.js +151 -0
  9. package/dist/assets/AthenaAssetEmbed.js.map +1 -0
  10. package/dist/assets/AthenaLayout.cjs +69 -0
  11. package/dist/assets/AthenaLayout.cjs.map +1 -0
  12. package/dist/assets/AthenaLayout.js +69 -0
  13. package/dist/assets/AthenaLayout.js.map +1 -0
  14. package/dist/assets/asset-embed-messages.cjs +39 -0
  15. package/dist/assets/asset-embed-messages.cjs.map +1 -0
  16. package/dist/assets/asset-embed-messages.js +39 -0
  17. package/dist/assets/asset-embed-messages.js.map +1 -0
  18. package/dist/assets/asset-panel-store.cjs +124 -0
  19. package/dist/assets/asset-panel-store.cjs.map +1 -0
  20. package/dist/assets/asset-panel-store.js +124 -0
  21. package/dist/assets/asset-panel-store.js.map +1 -0
  22. package/dist/assets/asset-panel-url.cjs +40 -0
  23. package/dist/assets/asset-panel-url.cjs.map +1 -0
  24. package/dist/assets/asset-panel-url.js +40 -0
  25. package/dist/assets/asset-panel-url.js.map +1 -0
  26. package/dist/assets/use-asset-embed.cjs +370 -0
  27. package/dist/assets/use-asset-embed.cjs.map +1 -0
  28. package/dist/assets/use-asset-embed.js +370 -0
  29. package/dist/assets/use-asset-embed.js.map +1 -0
  30. package/dist/{AthenaAuthContext-B3AwLA5Z.cjs → auth/AthenaAuthContext.cjs} +5 -4
  31. package/dist/auth/AthenaAuthContext.cjs.map +1 -0
  32. package/dist/{AthenaAuthContext-DQsdayH2.js → auth/AthenaAuthContext.js} +3 -3
  33. package/dist/auth/AthenaAuthContext.js.map +1 -0
  34. package/dist/auth/AthenaAuthProvider.cjs +141 -0
  35. package/dist/auth/AthenaAuthProvider.cjs.map +1 -0
  36. package/dist/auth/AthenaAuthProvider.js +141 -0
  37. package/dist/auth/AthenaAuthProvider.js.map +1 -0
  38. package/dist/{auth.cjs → auth/AthenaSSOProvider.cjs} +14 -151
  39. package/dist/auth/AthenaSSOProvider.cjs.map +1 -0
  40. package/dist/{auth.js → auth/AthenaSSOProvider.js} +4 -142
  41. package/dist/auth/AthenaSSOProvider.js.map +1 -0
  42. package/dist/auth/index.cjs +10 -0
  43. package/dist/auth/index.cjs.map +1 -0
  44. package/dist/auth/index.js +10 -0
  45. package/dist/auth/index.js.map +1 -0
  46. package/dist/chat/AthenaChat.cjs +753 -0
  47. package/dist/chat/AthenaChat.cjs.map +1 -0
  48. package/dist/chat/AthenaChat.d.ts +3 -2
  49. package/dist/chat/AthenaChat.js +753 -0
  50. package/dist/chat/AthenaChat.js.map +1 -0
  51. package/dist/chat/AthenaChatErrorBoundary.cjs +53 -0
  52. package/dist/chat/AthenaChatErrorBoundary.cjs.map +1 -0
  53. package/dist/chat/AthenaChatErrorBoundary.js +53 -0
  54. package/dist/chat/AthenaChatErrorBoundary.js.map +1 -0
  55. package/dist/chat/StatewireApprovalCard.cjs +189 -0
  56. package/dist/chat/StatewireApprovalCard.cjs.map +1 -0
  57. package/dist/chat/StatewireApprovalCard.d.ts +14 -0
  58. package/dist/chat/StatewireApprovalCard.js +189 -0
  59. package/dist/chat/StatewireApprovalCard.js.map +1 -0
  60. package/dist/chat/StatewireClientToolBridge.cjs +51 -0
  61. package/dist/chat/StatewireClientToolBridge.cjs.map +1 -0
  62. package/dist/chat/StatewireClientToolBridge.js +51 -0
  63. package/dist/chat/StatewireClientToolBridge.js.map +1 -0
  64. package/dist/chat/StatewireQueuedMessages.cjs +433 -0
  65. package/dist/chat/StatewireQueuedMessages.cjs.map +1 -0
  66. package/dist/chat/StatewireQueuedMessages.d.ts +3 -4
  67. package/dist/chat/StatewireQueuedMessages.js +433 -0
  68. package/dist/chat/StatewireQueuedMessages.js.map +1 -0
  69. package/dist/chat/athena-citation-links.cjs +342 -0
  70. package/dist/chat/athena-citation-links.cjs.map +1 -0
  71. package/dist/chat/athena-citation-links.js +342 -0
  72. package/dist/chat/athena-citation-links.js.map +1 -0
  73. package/dist/chat/run-activity.cjs +28 -0
  74. package/dist/chat/run-activity.cjs.map +1 -0
  75. package/dist/chat/run-activity.js +28 -0
  76. package/dist/chat/run-activity.js.map +1 -0
  77. package/dist/chat/statewire-banners.cjs +83 -0
  78. package/dist/chat/statewire-banners.cjs.map +1 -0
  79. package/dist/chat/statewire-banners.js +83 -0
  80. package/dist/chat/statewire-banners.js.map +1 -0
  81. package/dist/chat/statewire-client-tools.cjs +74 -0
  82. package/dist/chat/statewire-client-tools.cjs.map +1 -0
  83. package/dist/chat/statewire-client-tools.js +74 -0
  84. package/dist/chat/statewire-client-tools.js.map +1 -0
  85. package/dist/chat/super-grouping/CollapsibleGroup.cjs +158 -0
  86. package/dist/chat/super-grouping/CollapsibleGroup.cjs.map +1 -0
  87. package/dist/chat/super-grouping/CollapsibleGroup.js +158 -0
  88. package/dist/chat/super-grouping/CollapsibleGroup.js.map +1 -0
  89. package/dist/chat/super-grouping/SuperGroupingCard.cjs +243 -0
  90. package/dist/chat/super-grouping/SuperGroupingCard.cjs.map +1 -0
  91. package/dist/chat/super-grouping/SuperGroupingCard.d.ts +14 -7
  92. package/dist/chat/super-grouping/SuperGroupingCard.js +243 -0
  93. package/dist/chat/super-grouping/SuperGroupingCard.js.map +1 -0
  94. package/dist/chat/super-grouping/ToolTimeline.cjs +131 -0
  95. package/dist/chat/super-grouping/ToolTimeline.cjs.map +1 -0
  96. package/dist/chat/super-grouping/ToolTimeline.d.ts +16 -0
  97. package/dist/chat/super-grouping/ToolTimeline.js +131 -0
  98. package/dist/chat/super-grouping/ToolTimeline.js.map +1 -0
  99. package/dist/chat/super-grouping/activity-timeline.cjs +157 -0
  100. package/dist/chat/super-grouping/activity-timeline.cjs.map +1 -0
  101. package/dist/chat/super-grouping/activity-timeline.d.ts +6 -3
  102. package/dist/chat/super-grouping/activity-timeline.js +157 -0
  103. package/dist/chat/super-grouping/activity-timeline.js.map +1 -0
  104. package/dist/chat/super-grouping/grouping-function.cjs +55 -0
  105. package/dist/chat/super-grouping/grouping-function.cjs.map +1 -0
  106. package/dist/chat/super-grouping/grouping-function.js +55 -0
  107. package/dist/chat/super-grouping/grouping-function.js.map +1 -0
  108. package/dist/chat/super-grouping/index.cjs +26 -0
  109. package/dist/chat/super-grouping/index.cjs.map +1 -0
  110. package/dist/chat/super-grouping/index.js +26 -0
  111. package/dist/chat/super-grouping/index.js.map +1 -0
  112. package/dist/chat/super-grouping/timeline-step.cjs +65 -0
  113. package/dist/chat/super-grouping/timeline-step.cjs.map +1 -0
  114. package/dist/chat/super-grouping/timeline-step.d.ts +17 -0
  115. package/dist/chat/super-grouping/timeline-step.js +65 -0
  116. package/dist/chat/super-grouping/timeline-step.js.map +1 -0
  117. package/dist/chat/super-grouping/toolkit-map.cjs +96 -0
  118. package/dist/chat/super-grouping/toolkit-map.cjs.map +1 -0
  119. package/dist/chat/super-grouping/toolkit-map.js +96 -0
  120. package/dist/chat/super-grouping/toolkit-map.js.map +1 -0
  121. package/dist/chat/tiptap-text.cjs +101 -0
  122. package/dist/chat/tiptap-text.cjs.map +1 -0
  123. package/dist/chat/tiptap-text.js +101 -0
  124. package/dist/chat/tiptap-text.js.map +1 -0
  125. package/dist/chat/tooltip-icon-button.cjs +32 -0
  126. package/dist/chat/tooltip-icon-button.cjs.map +1 -0
  127. package/dist/chat/tooltip-icon-button.js +32 -0
  128. package/dist/chat/tooltip-icon-button.js.map +1 -0
  129. package/dist/chat/use-athena-run-live.cjs +24 -0
  130. package/dist/chat/use-athena-run-live.cjs.map +1 -0
  131. package/dist/chat/use-athena-run-live.d.ts +10 -0
  132. package/dist/chat/use-athena-run-live.js +24 -0
  133. package/dist/chat/use-athena-run-live.js.map +1 -0
  134. package/dist/chat/use-statewire-approval-request.cjs +51 -0
  135. package/dist/chat/use-statewire-approval-request.cjs.map +1 -0
  136. package/dist/chat/use-statewire-approval-request.d.ts +12 -2
  137. package/dist/chat/use-statewire-approval-request.js +51 -0
  138. package/dist/chat/use-statewire-approval-request.js.map +1 -0
  139. package/dist/chat-ui/auth/sign-in-card.cjs +128 -0
  140. package/dist/chat-ui/auth/sign-in-card.cjs.map +1 -0
  141. package/dist/chat-ui/auth/sign-in-card.js +128 -0
  142. package/dist/chat-ui/auth/sign-in-card.js.map +1 -0
  143. package/dist/chat-ui/composer/composer-action.cjs +11 -0
  144. package/dist/chat-ui/composer/composer-action.cjs.map +1 -0
  145. package/dist/chat-ui/composer/composer-action.d.ts +5 -8
  146. package/dist/chat-ui/composer/composer-action.js +11 -0
  147. package/dist/chat-ui/composer/composer-action.js.map +1 -0
  148. package/dist/chat-ui/composer/pending-attachment-uploads.cjs +25 -0
  149. package/dist/chat-ui/composer/pending-attachment-uploads.cjs.map +1 -0
  150. package/dist/chat-ui/composer/pending-attachment-uploads.js +25 -0
  151. package/dist/chat-ui/composer/pending-attachment-uploads.js.map +1 -0
  152. package/dist/chat-ui/composer/tiptap-composer.cjs +549 -0
  153. package/dist/chat-ui/composer/tiptap-composer.cjs.map +1 -0
  154. package/dist/chat-ui/composer/tiptap-composer.d.ts +44 -7
  155. package/dist/chat-ui/composer/tiptap-composer.js +549 -0
  156. package/dist/chat-ui/composer/tiptap-composer.js.map +1 -0
  157. package/dist/chat-ui/header/chat-header.cjs +33 -0
  158. package/dist/chat-ui/header/chat-header.cjs.map +1 -0
  159. package/dist/chat-ui/header/chat-header.js +33 -0
  160. package/dist/chat-ui/header/chat-header.js.map +1 -0
  161. package/dist/chat-ui/header/conversation-history-panel.cjs +369 -0
  162. package/dist/chat-ui/header/conversation-history-panel.cjs.map +1 -0
  163. package/dist/chat-ui/header/conversation-history-panel.js +369 -0
  164. package/dist/chat-ui/header/conversation-history-panel.js.map +1 -0
  165. package/dist/chat-ui/index.cjs +140 -0
  166. package/dist/chat-ui/index.cjs.map +1 -0
  167. package/dist/chat-ui/index.d.ts +4 -3
  168. package/dist/chat-ui/index.js +140 -0
  169. package/dist/chat-ui/index.js.map +1 -0
  170. package/dist/chat-ui/lib/asset-urls.cjs +18 -0
  171. package/dist/chat-ui/lib/asset-urls.cjs.map +1 -0
  172. package/dist/chat-ui/lib/asset-urls.js +18 -0
  173. package/dist/chat-ui/lib/asset-urls.js.map +1 -0
  174. package/dist/chat-ui/mentions/mention-chip.cjs +253 -0
  175. package/dist/chat-ui/mentions/mention-chip.cjs.map +1 -0
  176. package/dist/chat-ui/mentions/mention-chip.d.ts +11 -0
  177. package/dist/chat-ui/mentions/mention-chip.js +253 -0
  178. package/dist/chat-ui/mentions/mention-chip.js.map +1 -0
  179. package/dist/chat-ui/mentions/mention-extension.cjs +196 -0
  180. package/dist/chat-ui/mentions/mention-extension.cjs.map +1 -0
  181. package/dist/chat-ui/mentions/mention-extension.d.ts +26 -2
  182. package/dist/chat-ui/mentions/mention-extension.js +196 -0
  183. package/dist/chat-ui/mentions/mention-extension.js.map +1 -0
  184. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs +35 -0
  185. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.cjs.map +1 -0
  186. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js +35 -0
  187. package/dist/chat-ui/mentions/suggestions/components/get-scope-name.js.map +1 -0
  188. package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs +95 -0
  189. package/dist/chat-ui/mentions/suggestions/components/mention-icon.cjs.map +1 -0
  190. package/dist/chat-ui/mentions/suggestions/components/mention-icon.d.ts +5 -0
  191. package/dist/chat-ui/mentions/suggestions/components/mention-icon.js +95 -0
  192. package/dist/chat-ui/mentions/suggestions/components/mention-icon.js.map +1 -0
  193. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs +116 -0
  194. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.cjs.map +1 -0
  195. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js +116 -0
  196. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-list.js.map +1 -0
  197. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs +31 -0
  198. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.cjs.map +1 -0
  199. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js +31 -0
  200. package/dist/chat-ui/mentions/suggestions/components/mention-suggestion-popup.js.map +1 -0
  201. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.cjs +27 -0
  202. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.cjs.map +1 -0
  203. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.js +27 -0
  204. package/dist/chat-ui/mentions/suggestions/components/menu-breadcrumbs.js.map +1 -0
  205. package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs +65 -0
  206. package/dist/chat-ui/mentions/suggestions/components/menu-item.cjs.map +1 -0
  207. package/dist/chat-ui/mentions/suggestions/components/menu-item.d.ts +2 -2
  208. package/dist/chat-ui/mentions/suggestions/components/menu-item.js +65 -0
  209. package/dist/chat-ui/mentions/suggestions/components/menu-item.js.map +1 -0
  210. package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs +63 -0
  211. package/dist/chat-ui/mentions/suggestions/components/menu-list.cjs.map +1 -0
  212. package/dist/chat-ui/mentions/suggestions/components/menu-list.d.ts +2 -2
  213. package/dist/chat-ui/mentions/suggestions/components/menu-list.js +63 -0
  214. package/dist/chat-ui/mentions/suggestions/components/menu-list.js.map +1 -0
  215. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.cjs +11 -0
  216. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.cjs.map +1 -0
  217. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.js +11 -0
  218. package/dist/chat-ui/mentions/suggestions/components/menu-skeleton.js.map +1 -0
  219. package/dist/chat-ui/mentions/suggestions/components/menu-summary.cjs +33 -0
  220. package/dist/chat-ui/mentions/suggestions/components/menu-summary.cjs.map +1 -0
  221. package/dist/chat-ui/mentions/suggestions/components/menu-summary.js +33 -0
  222. package/dist/chat-ui/mentions/suggestions/components/menu-summary.js.map +1 -0
  223. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs +58 -0
  224. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.cjs.map +1 -0
  225. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.js +58 -0
  226. package/dist/chat-ui/mentions/suggestions/components/use-keyboard-navigation.js.map +1 -0
  227. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs +81 -0
  228. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.cjs.map +1 -0
  229. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.js +81 -0
  230. package/dist/chat-ui/mentions/suggestions/components/use-menu-navigation.js.map +1 -0
  231. package/dist/chat-ui/mentions/suggestions/components/utils.cjs +18 -0
  232. package/dist/chat-ui/mentions/suggestions/components/utils.cjs.map +1 -0
  233. package/dist/chat-ui/mentions/suggestions/components/utils.js +18 -0
  234. package/dist/chat-ui/mentions/suggestions/components/utils.js.map +1 -0
  235. package/dist/chat-ui/mentions/suggestions/data/api-client.cjs +124 -0
  236. package/dist/chat-ui/mentions/suggestions/data/api-client.cjs.map +1 -0
  237. package/dist/chat-ui/mentions/suggestions/data/api-client.d.ts +13 -2
  238. package/dist/chat-ui/mentions/suggestions/data/api-client.js +124 -0
  239. package/dist/chat-ui/mentions/suggestions/data/api-client.js.map +1 -0
  240. package/dist/chat-ui/mentions/suggestions/data/item-cache.cjs +37 -0
  241. package/dist/chat-ui/mentions/suggestions/data/item-cache.cjs.map +1 -0
  242. package/dist/chat-ui/mentions/suggestions/data/item-cache.js +37 -0
  243. package/dist/chat-ui/mentions/suggestions/data/item-cache.js.map +1 -0
  244. package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs +134 -0
  245. package/dist/chat-ui/mentions/suggestions/data/orchestrator.cjs.map +1 -0
  246. package/dist/chat-ui/mentions/suggestions/data/orchestrator.js +134 -0
  247. package/dist/chat-ui/mentions/suggestions/data/orchestrator.js.map +1 -0
  248. package/dist/chat-ui/mentions/suggestions/data/scope-registry.cjs +91 -0
  249. package/dist/chat-ui/mentions/suggestions/data/scope-registry.cjs.map +1 -0
  250. package/dist/chat-ui/mentions/suggestions/data/scope-registry.js +91 -0
  251. package/dist/chat-ui/mentions/suggestions/data/scope-registry.js.map +1 -0
  252. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs +137 -0
  253. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.cjs.map +1 -0
  254. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js +137 -0
  255. package/dist/chat-ui/mentions/suggestions/data/sources/asset-type-icons.js.map +1 -0
  256. package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs +375 -0
  257. package/dist/chat-ui/mentions/suggestions/data/sources/index.cjs.map +1 -0
  258. package/dist/chat-ui/mentions/suggestions/data/sources/index.d.ts +16 -1
  259. package/dist/chat-ui/mentions/suggestions/data/sources/index.js +375 -0
  260. package/dist/chat-ui/mentions/suggestions/data/sources/index.js.map +1 -0
  261. package/dist/chat-ui/mentions/suggestions/data/types.cjs +9 -0
  262. package/dist/chat-ui/mentions/suggestions/data/types.cjs.map +1 -0
  263. package/dist/chat-ui/mentions/suggestions/data/types.d.ts +14 -0
  264. package/dist/chat-ui/mentions/suggestions/data/types.js +9 -0
  265. package/dist/chat-ui/mentions/suggestions/data/types.js.map +1 -0
  266. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs +173 -0
  267. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.cjs.map +1 -0
  268. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.d.ts +14 -4
  269. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js +173 -0
  270. package/dist/chat-ui/mentions/suggestions/data/use-mention-suggestions.js.map +1 -0
  271. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs +45 -0
  272. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.cjs.map +1 -0
  273. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js +45 -0
  274. package/dist/chat-ui/mentions/suggestions/data/use-menu-items.js.map +1 -0
  275. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.cjs +43 -0
  276. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.cjs.map +1 -0
  277. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.js +43 -0
  278. package/dist/chat-ui/mentions/suggestions/data/utils/filter-items.js.map +1 -0
  279. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.cjs +14 -0
  280. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.cjs.map +1 -0
  281. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.js +14 -0
  282. package/dist/chat-ui/mentions/suggestions/data/utils/match-query.js.map +1 -0
  283. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.cjs +48 -0
  284. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.cjs.map +1 -0
  285. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.js +48 -0
  286. package/dist/chat-ui/mentions/suggestions/data/utils/score-match.js.map +1 -0
  287. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs +71 -0
  288. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.cjs.map +1 -0
  289. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js +71 -0
  290. package/dist/chat-ui/mentions/suggestions/mention-suggestions.extension.js.map +1 -0
  291. package/dist/chat-ui/messages/continue-pill.cjs +54 -0
  292. package/dist/chat-ui/messages/continue-pill.cjs.map +1 -0
  293. package/dist/chat-ui/messages/continue-pill.js +54 -0
  294. package/dist/chat-ui/messages/continue-pill.js.map +1 -0
  295. package/dist/chat-ui/messages/message-actions-config.cjs +12 -0
  296. package/dist/chat-ui/messages/message-actions-config.cjs.map +1 -0
  297. package/dist/chat-ui/messages/message-actions-config.js +12 -0
  298. package/dist/chat-ui/messages/message-actions-config.js.map +1 -0
  299. package/dist/chat-ui/messages/message-components.cjs +320 -0
  300. package/dist/chat-ui/messages/message-components.cjs.map +1 -0
  301. package/dist/chat-ui/messages/message-components.d.ts +1 -1
  302. package/dist/chat-ui/messages/message-components.js +320 -0
  303. package/dist/chat-ui/messages/message-components.js.map +1 -0
  304. package/dist/chat-ui/messages/running-indicator.cjs +49 -0
  305. package/dist/chat-ui/messages/running-indicator.cjs.map +1 -0
  306. package/dist/chat-ui/messages/running-indicator.js +49 -0
  307. package/dist/chat-ui/messages/running-indicator.js.map +1 -0
  308. package/dist/chat-ui/messages/runtime-message.cjs +66 -0
  309. package/dist/chat-ui/messages/runtime-message.cjs.map +1 -0
  310. package/dist/chat-ui/messages/runtime-message.js +66 -0
  311. package/dist/chat-ui/messages/runtime-message.js.map +1 -0
  312. package/dist/{statewire-continue-run-nE9VCKUh.cjs → chat-ui/messages/statewire-continue-run.cjs} +61 -23
  313. package/dist/chat-ui/messages/statewire-continue-run.cjs.map +1 -0
  314. package/dist/chat-ui/messages/statewire-continue-run.d.ts +19 -5
  315. package/dist/{statewire-continue-run-D34gS7_1.js → chat-ui/messages/statewire-continue-run.js} +51 -14
  316. package/dist/chat-ui/messages/statewire-continue-run.js.map +1 -0
  317. package/dist/chat-ui/messages/user-edit-composer.cjs +62 -0
  318. package/dist/chat-ui/messages/user-edit-composer.cjs.map +1 -0
  319. package/dist/chat-ui/messages/user-edit-composer.js +62 -0
  320. package/dist/chat-ui/messages/user-edit-composer.js.map +1 -0
  321. package/dist/chat-ui/messages/voice-delegation-card.cjs +51 -0
  322. package/dist/chat-ui/messages/voice-delegation-card.cjs.map +1 -0
  323. package/dist/chat-ui/messages/voice-delegation-card.d.ts +26 -0
  324. package/dist/chat-ui/messages/voice-delegation-card.js +51 -0
  325. package/dist/chat-ui/messages/voice-delegation-card.js.map +1 -0
  326. package/dist/chat-ui/rich-text/chat-message-body.cjs +76 -0
  327. package/dist/chat-ui/rich-text/chat-message-body.cjs.map +1 -0
  328. package/dist/chat-ui/rich-text/chat-message-body.d.ts +5 -0
  329. package/dist/chat-ui/rich-text/chat-message-body.js +76 -0
  330. package/dist/chat-ui/rich-text/chat-message-body.js.map +1 -0
  331. package/dist/chat-ui/rich-text/chat-node-views.cjs +51 -0
  332. package/dist/chat-ui/rich-text/chat-node-views.cjs.map +1 -0
  333. package/dist/chat-ui/rich-text/chat-node-views.d.ts +13 -0
  334. package/dist/chat-ui/rich-text/chat-node-views.js +51 -0
  335. package/dist/chat-ui/rich-text/chat-node-views.js.map +1 -0
  336. package/dist/chat-ui/rich-text/chat-text-schema.cjs +70 -0
  337. package/dist/chat-ui/rich-text/chat-text-schema.cjs.map +1 -0
  338. package/dist/chat-ui/rich-text/chat-text-schema.d.ts +7 -0
  339. package/dist/chat-ui/rich-text/chat-text-schema.js +70 -0
  340. package/dist/chat-ui/rich-text/chat-text-schema.js.map +1 -0
  341. package/dist/chat-ui/rich-text/dom-output-spec.cjs +83 -0
  342. package/dist/chat-ui/rich-text/dom-output-spec.cjs.map +1 -0
  343. package/dist/chat-ui/rich-text/dom-output-spec.d.ts +11 -0
  344. package/dist/chat-ui/rich-text/dom-output-spec.js +83 -0
  345. package/dist/chat-ui/rich-text/dom-output-spec.js.map +1 -0
  346. package/dist/chat-ui/statewire.cjs +40 -0
  347. package/dist/chat-ui/statewire.cjs.map +1 -0
  348. package/dist/chat-ui/statewire.js +40 -0
  349. package/dist/chat-ui/statewire.js.map +1 -0
  350. package/dist/chat-ui/thread/chat-composer-dock.cjs +37 -0
  351. package/dist/chat-ui/thread/chat-composer-dock.cjs.map +1 -0
  352. package/dist/chat-ui/thread/chat-composer-dock.js +37 -0
  353. package/dist/chat-ui/thread/chat-composer-dock.js.map +1 -0
  354. package/dist/chat-ui/thread/chat-thread-shell.cjs +102 -0
  355. package/dist/chat-ui/thread/chat-thread-shell.cjs.map +1 -0
  356. package/dist/chat-ui/thread/chat-thread-shell.js +102 -0
  357. package/dist/chat-ui/thread/chat-thread-shell.js.map +1 -0
  358. package/dist/chat-ui/thread/composer-send-or-stop.cjs +75 -0
  359. package/dist/chat-ui/thread/composer-send-or-stop.cjs.map +1 -0
  360. package/dist/chat-ui/thread/composer-send-or-stop.d.ts +0 -6
  361. package/dist/chat-ui/thread/composer-send-or-stop.js +75 -0
  362. package/dist/chat-ui/thread/composer-send-or-stop.js.map +1 -0
  363. package/dist/chat-ui/thread/statewire-history-edge.cjs +135 -0
  364. package/dist/chat-ui/thread/statewire-history-edge.cjs.map +1 -0
  365. package/dist/chat-ui/thread/statewire-history-edge.js +135 -0
  366. package/dist/chat-ui/thread/statewire-history-edge.js.map +1 -0
  367. package/dist/{collab.cjs → collab/client.cjs} +6 -166
  368. package/dist/collab/client.cjs.map +1 -0
  369. package/dist/{collab.js → collab/client.js} +5 -164
  370. package/dist/collab/client.js.map +1 -0
  371. package/dist/collab/close-policy.cjs +14 -0
  372. package/dist/collab/close-policy.cjs.map +1 -0
  373. package/dist/collab/close-policy.js +14 -0
  374. package/dist/collab/close-policy.js.map +1 -0
  375. package/dist/collab/index.cjs +17 -0
  376. package/dist/collab/index.cjs.map +1 -0
  377. package/dist/collab/index.js +17 -0
  378. package/dist/collab/index.js.map +1 -0
  379. package/dist/collab/mint.cjs +59 -0
  380. package/dist/collab/mint.cjs.map +1 -0
  381. package/dist/collab/mint.js +59 -0
  382. package/dist/collab/mint.js.map +1 -0
  383. package/dist/collab/react.cjs +58 -0
  384. package/dist/collab/react.cjs.map +1 -0
  385. package/dist/collab/react.js +58 -0
  386. package/dist/collab/react.js.map +1 -0
  387. package/dist/collab/shape.cjs +45 -0
  388. package/dist/collab/shape.cjs.map +1 -0
  389. package/dist/collab/shape.js +45 -0
  390. package/dist/collab/shape.js.map +1 -0
  391. package/dist/composer/AttachmentContext.cjs +40 -0
  392. package/dist/composer/AttachmentContext.cjs.map +1 -0
  393. package/dist/composer/AttachmentContext.js +40 -0
  394. package/dist/composer/AttachmentContext.js.map +1 -0
  395. package/dist/composer/ComposerAttachmentPreview.cjs +39 -0
  396. package/dist/composer/ComposerAttachmentPreview.cjs.map +1 -0
  397. package/dist/composer/ComposerAttachmentPreview.js +39 -0
  398. package/dist/composer/ComposerAttachmentPreview.js.map +1 -0
  399. package/dist/composer/ComposerDropZone.cjs +61 -0
  400. package/dist/composer/ComposerDropZone.cjs.map +1 -0
  401. package/dist/composer/ComposerDropZone.d.ts +1 -1
  402. package/dist/composer/ComposerDropZone.js +61 -0
  403. package/dist/composer/ComposerDropZone.js.map +1 -0
  404. package/dist/composer/ComposerQuotePreview.cjs +42 -0
  405. package/dist/composer/ComposerQuotePreview.cjs.map +1 -0
  406. package/dist/composer/ComposerQuotePreview.js +42 -0
  407. package/dist/composer/ComposerQuotePreview.js.map +1 -0
  408. package/dist/composer/FileUploadButton.cjs +65 -0
  409. package/dist/composer/FileUploadButton.cjs.map +1 -0
  410. package/dist/composer/FileUploadButton.d.ts +1 -1
  411. package/dist/composer/FileUploadButton.js +65 -0
  412. package/dist/composer/FileUploadButton.js.map +1 -0
  413. package/dist/composer/QuoteContext.cjs +68 -0
  414. package/dist/composer/QuoteContext.cjs.map +1 -0
  415. package/dist/composer/QuoteContext.js +68 -0
  416. package/dist/composer/QuoteContext.js.map +1 -0
  417. package/dist/composer/build-composed-message.cjs +25 -0
  418. package/dist/composer/build-composed-message.cjs.map +1 -0
  419. package/dist/composer/build-composed-message.js +25 -0
  420. package/dist/composer/build-composed-message.js.map +1 -0
  421. package/dist/composer/clipboard.cjs +62 -0
  422. package/dist/composer/clipboard.cjs.map +1 -0
  423. package/dist/composer/clipboard.d.ts +27 -3
  424. package/dist/composer/clipboard.js +62 -0
  425. package/dist/composer/clipboard.js.map +1 -0
  426. package/dist/composer/useAppendToComposer.cjs +21 -0
  427. package/dist/composer/useAppendToComposer.cjs.map +1 -0
  428. package/dist/composer/useAppendToComposer.js +21 -0
  429. package/dist/composer/useAppendToComposer.js.map +1 -0
  430. package/dist/composer/useAttachFiles.cjs +40 -0
  431. package/dist/composer/useAttachFiles.cjs.map +1 -0
  432. package/dist/composer/useAttachFiles.d.ts +24 -0
  433. package/dist/composer/useAttachFiles.js +40 -0
  434. package/dist/composer/useAttachFiles.js.map +1 -0
  435. package/dist/composer/useComposerAttachment.cjs +25 -0
  436. package/dist/composer/useComposerAttachment.cjs.map +1 -0
  437. package/dist/composer/useComposerAttachment.js +25 -0
  438. package/dist/composer/useComposerAttachment.js.map +1 -0
  439. package/dist/composer/useFileUpload.cjs +123 -0
  440. package/dist/composer/useFileUpload.cjs.map +1 -0
  441. package/dist/composer/useFileUpload.js +123 -0
  442. package/dist/composer/useFileUpload.js.map +1 -0
  443. package/dist/composer/useSendMessage.cjs +22 -0
  444. package/dist/composer/useSendMessage.cjs.map +1 -0
  445. package/dist/composer/useSendMessage.js +22 -0
  446. package/dist/composer/useSendMessage.js.map +1 -0
  447. package/dist/diagnostics/athena-diagnostics.cjs +329 -0
  448. package/dist/diagnostics/athena-diagnostics.cjs.map +1 -0
  449. package/dist/diagnostics/athena-diagnostics.js +329 -0
  450. package/dist/diagnostics/athena-diagnostics.js.map +1 -0
  451. package/dist/diagnostics/errors.cjs +89 -0
  452. package/dist/diagnostics/errors.cjs.map +1 -0
  453. package/dist/diagnostics/errors.js +89 -0
  454. package/dist/diagnostics/errors.js.map +1 -0
  455. package/dist/diagnostics/useAthenaDiagnostics.cjs +16 -0
  456. package/dist/diagnostics/useAthenaDiagnostics.cjs.map +1 -0
  457. package/dist/diagnostics/useAthenaDiagnostics.js +16 -0
  458. package/dist/diagnostics/useAthenaDiagnostics.js.map +1 -0
  459. package/dist/index.cjs +275 -27882
  460. package/dist/index.cjs.map +1 -1
  461. package/dist/index.d.ts +6 -4
  462. package/dist/index.js +162 -27759
  463. package/dist/index.js.map +1 -1
  464. package/dist/lib/athena-urls.cjs +194 -0
  465. package/dist/lib/athena-urls.cjs.map +1 -0
  466. package/dist/lib/athena-urls.d.ts +20 -5
  467. package/dist/lib/athena-urls.js +194 -0
  468. package/dist/lib/athena-urls.js.map +1 -0
  469. package/dist/lib/posthog/before-send.cjs +58 -0
  470. package/dist/lib/posthog/before-send.cjs.map +1 -0
  471. package/dist/lib/posthog/before-send.js +58 -0
  472. package/dist/lib/posthog/before-send.js.map +1 -0
  473. package/dist/lib/posthog/capture-gate.cjs +322 -0
  474. package/dist/lib/posthog/capture-gate.cjs.map +1 -0
  475. package/dist/lib/posthog/capture-gate.js +322 -0
  476. package/dist/lib/posthog/capture-gate.js.map +1 -0
  477. package/dist/lib/posthog/wrap-posthog-client.cjs +163 -0
  478. package/dist/lib/posthog/wrap-posthog-client.cjs.map +1 -0
  479. package/dist/lib/posthog/wrap-posthog-client.js +163 -0
  480. package/dist/lib/posthog/wrap-posthog-client.js.map +1 -0
  481. package/dist/lib/utils.cjs +12 -0
  482. package/dist/lib/utils.cjs.map +1 -0
  483. package/dist/lib/utils.js +9 -0
  484. package/dist/lib/utils.js.map +1 -0
  485. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs +77 -0
  486. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.cjs.map +1 -0
  487. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js +77 -0
  488. package/dist/node_modules/@assistant-ui/react-langchain/dist/converter.js.map +1 -0
  489. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs +181 -0
  490. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.cjs.map +1 -0
  491. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js +181 -0
  492. package/dist/node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js.map +1 -0
  493. package/dist/node_modules/qrcode-generator/dist/qrcode.cjs +32 -0
  494. package/dist/node_modules/qrcode-generator/dist/qrcode.cjs.map +1 -0
  495. package/dist/node_modules/qrcode-generator/dist/qrcode.js +31 -0
  496. package/dist/node_modules/qrcode-generator/dist/qrcode.js.map +1 -0
  497. package/dist/node_modules/zod/v4/classic/errors.cjs +44 -0
  498. package/dist/node_modules/zod/v4/classic/errors.cjs.map +1 -0
  499. package/dist/node_modules/zod/v4/classic/errors.js +44 -0
  500. package/dist/node_modules/zod/v4/classic/errors.js.map +1 -0
  501. package/dist/node_modules/zod/v4/classic/iso.cjs +43 -0
  502. package/dist/node_modules/zod/v4/classic/iso.cjs.map +1 -0
  503. package/dist/node_modules/zod/v4/classic/iso.js +43 -0
  504. package/dist/node_modules/zod/v4/classic/iso.js.map +1 -0
  505. package/dist/node_modules/zod/v4/classic/parse.cjs +29 -0
  506. package/dist/node_modules/zod/v4/classic/parse.cjs.map +1 -0
  507. package/dist/node_modules/zod/v4/classic/parse.js +29 -0
  508. package/dist/node_modules/zod/v4/classic/parse.js.map +1 -0
  509. package/dist/node_modules/zod/v4/classic/schemas.cjs +871 -0
  510. package/dist/node_modules/zod/v4/classic/schemas.cjs.map +1 -0
  511. package/dist/node_modules/zod/v4/classic/schemas.js +871 -0
  512. package/dist/node_modules/zod/v4/classic/schemas.js.map +1 -0
  513. package/dist/node_modules/zod/v4/core/api.cjs +570 -0
  514. package/dist/node_modules/zod/v4/core/api.cjs.map +1 -0
  515. package/dist/node_modules/zod/v4/core/api.js +570 -0
  516. package/dist/node_modules/zod/v4/core/api.js.map +1 -0
  517. package/dist/node_modules/zod/v4/core/checks.cjs +411 -0
  518. package/dist/node_modules/zod/v4/core/checks.cjs.map +1 -0
  519. package/dist/node_modules/zod/v4/core/checks.js +411 -0
  520. package/dist/node_modules/zod/v4/core/checks.js.map +1 -0
  521. package/dist/node_modules/zod/v4/core/core.cjs +77 -0
  522. package/dist/node_modules/zod/v4/core/core.cjs.map +1 -0
  523. package/dist/node_modules/zod/v4/core/core.js +77 -0
  524. package/dist/node_modules/zod/v4/core/core.js.map +1 -0
  525. package/dist/node_modules/zod/v4/core/doc.cjs +38 -0
  526. package/dist/node_modules/zod/v4/core/doc.cjs.map +1 -0
  527. package/dist/node_modules/zod/v4/core/doc.js +38 -0
  528. package/dist/node_modules/zod/v4/core/doc.js.map +1 -0
  529. package/dist/node_modules/zod/v4/core/errors.cjs +76 -0
  530. package/dist/node_modules/zod/v4/core/errors.cjs.map +1 -0
  531. package/dist/node_modules/zod/v4/core/errors.js +76 -0
  532. package/dist/node_modules/zod/v4/core/errors.js.map +1 -0
  533. package/dist/node_modules/zod/v4/core/json-schema-processors.cjs +312 -0
  534. package/dist/node_modules/zod/v4/core/json-schema-processors.cjs.map +1 -0
  535. package/dist/node_modules/zod/v4/core/json-schema-processors.js +312 -0
  536. package/dist/node_modules/zod/v4/core/json-schema-processors.js.map +1 -0
  537. package/dist/node_modules/zod/v4/core/parse.cjs +96 -0
  538. package/dist/node_modules/zod/v4/core/parse.cjs.map +1 -0
  539. package/dist/node_modules/zod/v4/core/parse.js +96 -0
  540. package/dist/node_modules/zod/v4/core/parse.js.map +1 -0
  541. package/dist/node_modules/zod/v4/core/regexes.cjs +86 -0
  542. package/dist/node_modules/zod/v4/core/regexes.cjs.map +1 -0
  543. package/dist/node_modules/zod/v4/core/regexes.js +86 -0
  544. package/dist/node_modules/zod/v4/core/regexes.js.map +1 -0
  545. package/dist/node_modules/zod/v4/core/registries.cjs +52 -0
  546. package/dist/node_modules/zod/v4/core/registries.cjs.map +1 -0
  547. package/dist/node_modules/zod/v4/core/registries.js +52 -0
  548. package/dist/node_modules/zod/v4/core/registries.js.map +1 -0
  549. package/dist/node_modules/zod/v4/core/schemas.cjs +1412 -0
  550. package/dist/node_modules/zod/v4/core/schemas.cjs.map +1 -0
  551. package/dist/node_modules/zod/v4/core/schemas.js +1413 -0
  552. package/dist/node_modules/zod/v4/core/schemas.js.map +1 -0
  553. package/dist/node_modules/zod/v4/core/to-json-schema.cjs +370 -0
  554. package/dist/node_modules/zod/v4/core/to-json-schema.cjs.map +1 -0
  555. package/dist/node_modules/zod/v4/core/to-json-schema.js +370 -0
  556. package/dist/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
  557. package/dist/node_modules/zod/v4/core/util.cjs +444 -0
  558. package/dist/node_modules/zod/v4/core/util.cjs.map +1 -0
  559. package/dist/node_modules/zod/v4/core/util.js +444 -0
  560. package/dist/node_modules/zod/v4/core/util.js.map +1 -0
  561. package/dist/node_modules/zod/v4/core/versions.cjs +9 -0
  562. package/dist/node_modules/zod/v4/core/versions.cjs.map +1 -0
  563. package/dist/node_modules/zod/v4/core/versions.js +9 -0
  564. package/dist/node_modules/zod/v4/core/versions.js.map +1 -0
  565. package/dist/packages/agent-runtime/src/asset-attachment.cjs +19 -0
  566. package/dist/packages/agent-runtime/src/asset-attachment.cjs.map +1 -0
  567. package/dist/packages/agent-runtime/src/asset-attachment.js +19 -0
  568. package/dist/packages/agent-runtime/src/asset-attachment.js.map +1 -0
  569. package/dist/packages/agent-runtime/src/auth-denial.cjs +28 -0
  570. package/dist/packages/agent-runtime/src/auth-denial.cjs.map +1 -0
  571. package/dist/packages/agent-runtime/src/auth-denial.js +28 -0
  572. package/dist/packages/agent-runtime/src/auth-denial.js.map +1 -0
  573. package/dist/packages/agent-runtime/src/client-tool-bridge.cjs +276 -0
  574. package/dist/packages/agent-runtime/src/client-tool-bridge.cjs.map +1 -0
  575. package/dist/packages/agent-runtime/src/client-tool-bridge.js +276 -0
  576. package/dist/packages/agent-runtime/src/client-tool-bridge.js.map +1 -0
  577. package/dist/packages/agent-runtime/src/client-tools.cjs +137 -0
  578. package/dist/packages/agent-runtime/src/client-tools.cjs.map +1 -0
  579. package/dist/packages/agent-runtime/src/client-tools.js +137 -0
  580. package/dist/packages/agent-runtime/src/client-tools.js.map +1 -0
  581. package/dist/packages/agent-runtime/src/conversation-index.cjs +80 -0
  582. package/dist/packages/agent-runtime/src/conversation-index.cjs.map +1 -0
  583. package/dist/packages/agent-runtime/src/conversation-index.js +80 -0
  584. package/dist/packages/agent-runtime/src/conversation-index.js.map +1 -0
  585. package/dist/packages/agent-runtime/src/conversation-list.cjs +90 -0
  586. package/dist/packages/agent-runtime/src/conversation-list.cjs.map +1 -0
  587. package/dist/packages/agent-runtime/src/conversation-list.js +90 -0
  588. package/dist/packages/agent-runtime/src/conversation-list.js.map +1 -0
  589. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs +55 -0
  590. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.cjs.map +1 -0
  591. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js +55 -0
  592. package/dist/packages/agent-runtime/src/deep-agent-transport-recipe.js.map +1 -0
  593. package/dist/packages/agent-runtime/src/edit-command.cjs +89 -0
  594. package/dist/packages/agent-runtime/src/edit-command.cjs.map +1 -0
  595. package/dist/packages/agent-runtime/src/edit-command.js +89 -0
  596. package/dist/packages/agent-runtime/src/edit-command.js.map +1 -0
  597. package/dist/packages/agent-runtime/src/errors.cjs +95 -0
  598. package/dist/packages/agent-runtime/src/errors.cjs.map +1 -0
  599. package/dist/packages/agent-runtime/src/errors.js +95 -0
  600. package/dist/packages/agent-runtime/src/errors.js.map +1 -0
  601. package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs +238 -0
  602. package/dist/packages/agent-runtime/src/generated/runconfig-contract.cjs.map +1 -0
  603. package/dist/packages/agent-runtime/src/generated/runconfig-contract.js +238 -0
  604. package/dist/packages/agent-runtime/src/generated/runconfig-contract.js.map +1 -0
  605. package/dist/packages/agent-runtime/src/interrupts.cjs +141 -0
  606. package/dist/packages/agent-runtime/src/interrupts.cjs.map +1 -0
  607. package/dist/packages/agent-runtime/src/interrupts.js +141 -0
  608. package/dist/packages/agent-runtime/src/interrupts.js.map +1 -0
  609. package/dist/packages/agent-runtime/src/message-author.cjs +31 -0
  610. package/dist/packages/agent-runtime/src/message-author.cjs.map +1 -0
  611. package/dist/packages/agent-runtime/src/message-author.js +31 -0
  612. package/dist/packages/agent-runtime/src/message-author.js.map +1 -0
  613. package/dist/packages/agent-runtime/src/message-window.cjs +85 -0
  614. package/dist/packages/agent-runtime/src/message-window.cjs.map +1 -0
  615. package/dist/packages/agent-runtime/src/message-window.js +85 -0
  616. package/dist/packages/agent-runtime/src/message-window.js.map +1 -0
  617. package/dist/packages/agent-runtime/src/messages.cjs +463 -0
  618. package/dist/packages/agent-runtime/src/messages.cjs.map +1 -0
  619. package/dist/packages/agent-runtime/src/messages.js +463 -0
  620. package/dist/packages/agent-runtime/src/messages.js.map +1 -0
  621. package/dist/packages/agent-runtime/src/model-context.cjs +13 -0
  622. package/dist/packages/agent-runtime/src/model-context.cjs.map +1 -0
  623. package/dist/packages/agent-runtime/src/model-context.js +13 -0
  624. package/dist/packages/agent-runtime/src/model-context.js.map +1 -0
  625. package/dist/packages/agent-runtime/src/optimistic-content.cjs +17 -0
  626. package/dist/packages/agent-runtime/src/optimistic-content.cjs.map +1 -0
  627. package/dist/packages/agent-runtime/src/optimistic-content.js +17 -0
  628. package/dist/packages/agent-runtime/src/optimistic-content.js.map +1 -0
  629. package/dist/packages/agent-runtime/src/protocol.cjs +31 -0
  630. package/dist/packages/agent-runtime/src/protocol.cjs.map +1 -0
  631. package/dist/packages/agent-runtime/src/protocol.js +31 -0
  632. package/dist/packages/agent-runtime/src/protocol.js.map +1 -0
  633. package/dist/packages/agent-runtime/src/queue.cjs +67 -0
  634. package/dist/packages/agent-runtime/src/queue.cjs.map +1 -0
  635. package/dist/packages/agent-runtime/src/queue.js +67 -0
  636. package/dist/packages/agent-runtime/src/queue.js.map +1 -0
  637. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs +329 -0
  638. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.cjs.map +1 -0
  639. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js +329 -0
  640. package/dist/packages/agent-runtime/src/quota-safe-local-storage-session.js.map +1 -0
  641. package/dist/packages/agent-runtime/src/runtime-messages.cjs +187 -0
  642. package/dist/packages/agent-runtime/src/runtime-messages.cjs.map +1 -0
  643. package/dist/packages/agent-runtime/src/runtime-messages.js +187 -0
  644. package/dist/packages/agent-runtime/src/runtime-messages.js.map +1 -0
  645. package/dist/packages/agent-runtime/src/screen-point.cjs +68 -0
  646. package/dist/packages/agent-runtime/src/screen-point.cjs.map +1 -0
  647. package/dist/packages/agent-runtime/src/screen-point.js +68 -0
  648. package/dist/packages/agent-runtime/src/screen-point.js.map +1 -0
  649. package/dist/packages/agent-runtime/src/send-recovery.cjs +128 -0
  650. package/dist/packages/agent-runtime/src/send-recovery.cjs.map +1 -0
  651. package/dist/packages/agent-runtime/src/send-recovery.js +128 -0
  652. package/dist/packages/agent-runtime/src/send-recovery.js.map +1 -0
  653. package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs +249 -0
  654. package/dist/packages/agent-runtime/src/statewire-attach-observer.cjs.map +1 -0
  655. package/dist/packages/agent-runtime/src/statewire-attach-observer.js +249 -0
  656. package/dist/packages/agent-runtime/src/statewire-attach-observer.js.map +1 -0
  657. package/dist/packages/agent-runtime/src/statewire-state.cjs +16 -0
  658. package/dist/packages/agent-runtime/src/statewire-state.cjs.map +1 -0
  659. package/dist/packages/agent-runtime/src/statewire-state.js +16 -0
  660. package/dist/packages/agent-runtime/src/statewire-state.js.map +1 -0
  661. package/dist/packages/agent-runtime/src/statewire-suspended.cjs +41 -0
  662. package/dist/packages/agent-runtime/src/statewire-suspended.cjs.map +1 -0
  663. package/dist/packages/agent-runtime/src/statewire-suspended.js +41 -0
  664. package/dist/packages/agent-runtime/src/statewire-suspended.js.map +1 -0
  665. package/dist/packages/agent-runtime/src/statewire-transport.cjs +11 -0
  666. package/dist/packages/agent-runtime/src/statewire-transport.cjs.map +1 -0
  667. package/dist/packages/agent-runtime/src/statewire-transport.js +11 -0
  668. package/dist/packages/agent-runtime/src/statewire-transport.js.map +1 -0
  669. package/dist/packages/agent-runtime/src/streaming-markdown.cjs +214 -0
  670. package/dist/packages/agent-runtime/src/streaming-markdown.cjs.map +1 -0
  671. package/dist/packages/agent-runtime/src/streaming-markdown.js +214 -0
  672. package/dist/packages/agent-runtime/src/streaming-markdown.js.map +1 -0
  673. package/dist/packages/agent-runtime/src/thread-extras.cjs +38 -0
  674. package/dist/packages/agent-runtime/src/thread-extras.cjs.map +1 -0
  675. package/dist/packages/agent-runtime/src/thread-extras.js +38 -0
  676. package/dist/packages/agent-runtime/src/thread-extras.js.map +1 -0
  677. package/dist/packages/agent-runtime/src/thread-handoff.cjs +85 -0
  678. package/dist/packages/agent-runtime/src/thread-handoff.cjs.map +1 -0
  679. package/dist/packages/agent-runtime/src/thread-handoff.js +85 -0
  680. package/dist/packages/agent-runtime/src/thread-handoff.js.map +1 -0
  681. package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs +90 -0
  682. package/dist/packages/agent-runtime/src/thread-snapshot-cache.cjs.map +1 -0
  683. package/dist/packages/agent-runtime/src/thread-snapshot-cache.js +90 -0
  684. package/dist/packages/agent-runtime/src/thread-snapshot-cache.js.map +1 -0
  685. package/dist/packages/agent-runtime/src/thread-status.cjs +49 -0
  686. package/dist/packages/agent-runtime/src/thread-status.cjs.map +1 -0
  687. package/dist/packages/agent-runtime/src/thread-status.js +49 -0
  688. package/dist/packages/agent-runtime/src/thread-status.js.map +1 -0
  689. package/dist/packages/agent-runtime/src/tool-metadata.cjs +1794 -0
  690. package/dist/packages/agent-runtime/src/tool-metadata.cjs.map +1 -0
  691. package/dist/packages/agent-runtime/src/tool-metadata.js +1794 -0
  692. package/dist/packages/agent-runtime/src/tool-metadata.js.map +1 -0
  693. package/dist/packages/agent-runtime/src/tool-outputs.cjs +46 -0
  694. package/dist/packages/agent-runtime/src/tool-outputs.cjs.map +1 -0
  695. package/dist/packages/agent-runtime/src/tool-outputs.js +46 -0
  696. package/dist/packages/agent-runtime/src/tool-outputs.js.map +1 -0
  697. package/dist/packages/agent-runtime/src/tool-result.cjs +151 -0
  698. package/dist/packages/agent-runtime/src/tool-result.cjs.map +1 -0
  699. package/dist/packages/agent-runtime/src/tool-result.js +151 -0
  700. package/dist/packages/agent-runtime/src/tool-result.js.map +1 -0
  701. package/dist/packages/agent-runtime/src/use-conversation-list.cjs +139 -0
  702. package/dist/packages/agent-runtime/src/use-conversation-list.cjs.map +1 -0
  703. package/dist/packages/agent-runtime/src/use-conversation-list.js +139 -0
  704. package/dist/packages/agent-runtime/src/use-conversation-list.js.map +1 -0
  705. package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs +14 -0
  706. package/dist/packages/agent-runtime/src/use-deep-agent-config.cjs.map +1 -0
  707. package/dist/packages/agent-runtime/src/use-deep-agent-config.js +14 -0
  708. package/dist/packages/agent-runtime/src/use-deep-agent-config.js.map +1 -0
  709. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs +44 -0
  710. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.cjs.map +1 -0
  711. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js +44 -0
  712. package/dist/packages/agent-runtime/src/use-deep-agent-edit-submit.js.map +1 -0
  713. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs +148 -0
  714. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.cjs.map +1 -0
  715. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js +148 -0
  716. package/dist/packages/agent-runtime/src/use-deep-agent-runtime.js.map +1 -0
  717. package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs +407 -0
  718. package/dist/packages/agent-runtime/src/use-deep-agent-thread.cjs.map +1 -0
  719. package/dist/packages/agent-runtime/src/use-deep-agent-thread.js +407 -0
  720. package/dist/packages/agent-runtime/src/use-deep-agent-thread.js.map +1 -0
  721. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs +133 -0
  722. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.cjs.map +1 -0
  723. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js +133 -0
  724. package/dist/packages/agent-runtime/src/use-deep-agent-window-sync.js.map +1 -0
  725. package/dist/packages/agent-runtime/src/voice-presentation.cjs +37 -0
  726. package/dist/packages/agent-runtime/src/voice-presentation.cjs.map +1 -0
  727. package/dist/packages/agent-runtime/src/voice-presentation.js +37 -0
  728. package/dist/packages/agent-runtime/src/voice-presentation.js.map +1 -0
  729. package/dist/packages/react/package.json.cjs +9 -0
  730. package/dist/packages/react/package.json.cjs.map +1 -0
  731. package/dist/packages/react/package.json.js +9 -0
  732. package/dist/packages/react/package.json.js.map +1 -0
  733. package/dist/{AthenaContext-B1QMhIP-.cjs → provider/AthenaContext.cjs} +5 -4
  734. package/dist/provider/AthenaContext.cjs.map +1 -0
  735. package/dist/{AthenaContext-MOslgOmE.js → provider/AthenaContext.js} +3 -3
  736. package/dist/provider/AthenaContext.js.map +1 -0
  737. package/dist/provider/AthenaProvider.cjs +404 -0
  738. package/dist/provider/AthenaProvider.cjs.map +1 -0
  739. package/dist/provider/AthenaProvider.js +404 -0
  740. package/dist/provider/AthenaProvider.js.map +1 -0
  741. package/dist/provider/PostHogProvider.cjs +81 -0
  742. package/dist/provider/PostHogProvider.cjs.map +1 -0
  743. package/dist/provider/PostHogProvider.js +59 -0
  744. package/dist/provider/PostHogProvider.js.map +1 -0
  745. package/dist/provider/config.d.ts +8 -7
  746. package/dist/provider/statewire-lifecycle-context.cjs +10 -0
  747. package/dist/provider/statewire-lifecycle-context.cjs.map +1 -0
  748. package/dist/provider/statewire-lifecycle-context.js +10 -0
  749. package/dist/provider/statewire-lifecycle-context.js.map +1 -0
  750. package/dist/provider/statewire-window-context.cjs +10 -0
  751. package/dist/provider/statewire-window-context.cjs.map +1 -0
  752. package/dist/provider/statewire-window-context.js +10 -0
  753. package/dist/provider/statewire-window-context.js.map +1 -0
  754. package/dist/runtime/auth.cjs +309 -0
  755. package/dist/runtime/auth.cjs.map +1 -0
  756. package/dist/runtime/auth.d.ts +19 -18
  757. package/dist/runtime/auth.js +309 -0
  758. package/dist/runtime/auth.js.map +1 -0
  759. package/dist/runtime/statewire-auth-headers.cjs +18 -0
  760. package/dist/runtime/statewire-auth-headers.cjs.map +1 -0
  761. package/dist/runtime/statewire-auth-headers.js +18 -0
  762. package/dist/runtime/statewire-auth-headers.js.map +1 -0
  763. package/dist/runtime/statewire-lifecycle.cjs +68 -0
  764. package/dist/runtime/statewire-lifecycle.cjs.map +1 -0
  765. package/dist/runtime/statewire-lifecycle.js +68 -0
  766. package/dist/runtime/statewire-lifecycle.js.map +1 -0
  767. package/dist/runtime/statewire-run-config.cjs +68 -0
  768. package/dist/runtime/statewire-run-config.cjs.map +1 -0
  769. package/dist/runtime/statewire-run-config.js +68 -0
  770. package/dist/runtime/statewire-run-config.js.map +1 -0
  771. package/dist/runtime/statewire-session-key.cjs +11 -0
  772. package/dist/runtime/statewire-session-key.cjs.map +1 -0
  773. package/dist/runtime/statewire-session-key.js +11 -0
  774. package/dist/runtime/statewire-session-key.js.map +1 -0
  775. package/dist/runtime/useAthenaStatewireRuntime.cjs +180 -0
  776. package/dist/runtime/useAthenaStatewireRuntime.cjs.map +1 -0
  777. package/dist/runtime/useAthenaStatewireRuntime.js +181 -0
  778. package/dist/runtime/useAthenaStatewireRuntime.js.map +1 -0
  779. package/dist/styles.css +1 -1
  780. package/dist/theme/index.cjs +182 -0
  781. package/dist/theme/index.cjs.map +1 -0
  782. package/dist/theme/index.js +182 -0
  783. package/dist/theme/index.js.map +1 -0
  784. package/dist/threads/ThreadList.cjs +55 -0
  785. package/dist/threads/ThreadList.cjs.map +1 -0
  786. package/dist/threads/ThreadList.js +55 -0
  787. package/dist/threads/ThreadList.js.map +1 -0
  788. package/dist/threads/api.cjs +208 -0
  789. package/dist/threads/api.cjs.map +1 -0
  790. package/dist/threads/api.js +208 -0
  791. package/dist/threads/api.js.map +1 -0
  792. package/dist/threads/conversation-list-fetcher.cjs +74 -0
  793. package/dist/threads/conversation-list-fetcher.cjs.map +1 -0
  794. package/dist/threads/conversation-list-fetcher.js +74 -0
  795. package/dist/threads/conversation-list-fetcher.js.map +1 -0
  796. package/dist/threads/mint-thread-id.cjs +7 -0
  797. package/dist/threads/mint-thread-id.cjs.map +1 -0
  798. package/dist/threads/mint-thread-id.js +7 -0
  799. package/dist/threads/mint-thread-id.js.map +1 -0
  800. package/dist/threads/statewire-thread-list.cjs +232 -0
  801. package/dist/threads/statewire-thread-list.cjs.map +1 -0
  802. package/dist/threads/statewire-thread-list.js +232 -0
  803. package/dist/threads/statewire-thread-list.js.map +1 -0
  804. package/dist/threads/thread-id-context.cjs +22 -0
  805. package/dist/threads/thread-id-context.cjs.map +1 -0
  806. package/dist/threads/thread-id-context.d.ts +9 -0
  807. package/dist/threads/thread-id-context.js +22 -0
  808. package/dist/threads/thread-id-context.js.map +1 -0
  809. package/dist/threads/title.cjs +95 -0
  810. package/dist/threads/title.cjs.map +1 -0
  811. package/dist/threads/title.js +95 -0
  812. package/dist/threads/title.js.map +1 -0
  813. package/dist/threads/use-rest-conversation-history.cjs +80 -0
  814. package/dist/threads/use-rest-conversation-history.cjs.map +1 -0
  815. package/dist/threads/use-rest-conversation-history.js +80 -0
  816. package/dist/threads/use-rest-conversation-history.js.map +1 -0
  817. package/dist/threads/use-statewire-conversation-history.cjs +244 -0
  818. package/dist/threads/use-statewire-conversation-history.cjs.map +1 -0
  819. package/dist/threads/use-statewire-conversation-history.d.ts +1 -0
  820. package/dist/threads/use-statewire-conversation-history.js +244 -0
  821. package/dist/threads/use-statewire-conversation-history.js.map +1 -0
  822. package/dist/threads/useAthenaThreadManager.cjs +24 -0
  823. package/dist/threads/useAthenaThreadManager.cjs.map +1 -0
  824. package/dist/threads/useAthenaThreadManager.js +24 -0
  825. package/dist/threads/useAthenaThreadManager.js.map +1 -0
  826. package/dist/toolkits/index.cjs +279 -0
  827. package/dist/toolkits/index.cjs.map +1 -0
  828. package/dist/toolkits/index.js +279 -0
  829. package/dist/toolkits/index.js.map +1 -0
  830. package/dist/tools/NestedPtcMessages.cjs +46 -0
  831. package/dist/tools/NestedPtcMessages.cjs.map +1 -0
  832. package/dist/tools/NestedPtcMessages.js +46 -0
  833. package/dist/tools/NestedPtcMessages.js.map +1 -0
  834. package/dist/tools/append-document-tool-ui.cjs +145 -0
  835. package/dist/tools/append-document-tool-ui.cjs.map +1 -0
  836. package/dist/tools/append-document-tool-ui.js +145 -0
  837. package/dist/tools/append-document-tool-ui.js.map +1 -0
  838. package/dist/tools/asset-utils.cjs +16 -0
  839. package/dist/tools/asset-utils.cjs.map +1 -0
  840. package/dist/tools/asset-utils.js +16 -0
  841. package/dist/tools/asset-utils.js.map +1 -0
  842. package/dist/tools/auto-open-tools.cjs +121 -0
  843. package/dist/tools/auto-open-tools.cjs.map +1 -0
  844. package/dist/tools/auto-open-tools.js +121 -0
  845. package/dist/tools/auto-open-tools.js.map +1 -0
  846. package/dist/tools/file-tool-uis.cjs +108 -0
  847. package/dist/tools/file-tool-uis.cjs.map +1 -0
  848. package/dist/tools/file-tool-uis.js +108 -0
  849. package/dist/tools/file-tool-uis.js.map +1 -0
  850. package/dist/tools/index.cjs +57 -0
  851. package/dist/tools/index.cjs.map +1 -0
  852. package/dist/tools/index.d.ts +1 -0
  853. package/dist/tools/index.js +57 -0
  854. package/dist/tools/index.js.map +1 -0
  855. package/dist/tools/misc-tool-uis.cjs +55 -0
  856. package/dist/tools/misc-tool-uis.cjs.map +1 -0
  857. package/dist/{misc-tool-uis-gAiQw0Yl.js → tools/misc-tool-uis.js} +18 -7
  858. package/dist/tools/misc-tool-uis.js.map +1 -0
  859. package/dist/tools/primitives.cjs +167 -0
  860. package/dist/tools/primitives.cjs.map +1 -0
  861. package/dist/tools/primitives.js +167 -0
  862. package/dist/tools/primitives.js.map +1 -0
  863. package/dist/tools/read-asset-tool-ui.cjs +284 -0
  864. package/dist/tools/read-asset-tool-ui.cjs.map +1 -0
  865. package/dist/tools/read-asset-tool-ui.js +284 -0
  866. package/dist/tools/read-asset-tool-ui.js.map +1 -0
  867. package/dist/tools/todo-plan-store.cjs +88 -0
  868. package/dist/tools/todo-plan-store.cjs.map +1 -0
  869. package/dist/tools/todo-plan-store.js +88 -0
  870. package/dist/tools/todo-plan-store.js.map +1 -0
  871. package/dist/tools/tool-fallback.cjs +668 -0
  872. package/dist/tools/tool-fallback.cjs.map +1 -0
  873. package/dist/tools/tool-fallback.js +668 -0
  874. package/dist/tools/tool-fallback.js.map +1 -0
  875. package/dist/tools/tool-icons.cjs +61 -0
  876. package/dist/tools/tool-icons.cjs.map +1 -0
  877. package/dist/tools/tool-icons.js +61 -0
  878. package/dist/tools/tool-icons.js.map +1 -0
  879. package/dist/tools/tool-uis.cjs +3049 -0
  880. package/dist/tools/tool-uis.cjs.map +1 -0
  881. package/dist/tools/tool-uis.js +3049 -0
  882. package/dist/tools/tool-uis.js.map +1 -0
  883. package/dist/tools/voice-update-tool-ui.cjs +90 -0
  884. package/dist/tools/voice-update-tool-ui.cjs.map +1 -0
  885. package/dist/tools/voice-update-tool-ui.d.ts +27 -0
  886. package/dist/tools/voice-update-tool-ui.js +90 -0
  887. package/dist/tools/voice-update-tool-ui.js.map +1 -0
  888. package/dist/tools/write-todos-tool-ui.cjs +270 -0
  889. package/dist/tools/write-todos-tool-ui.cjs.map +1 -0
  890. package/dist/tools/write-todos-tool-ui.js +270 -0
  891. package/dist/tools/write-todos-tool-ui.js.map +1 -0
  892. package/dist/ui/button.cjs +57 -0
  893. package/dist/ui/button.cjs.map +1 -0
  894. package/dist/ui/button.js +57 -0
  895. package/dist/ui/button.js.map +1 -0
  896. package/dist/ui/collapsible.cjs +17 -0
  897. package/dist/ui/collapsible.cjs.map +1 -0
  898. package/dist/ui/collapsible.js +17 -0
  899. package/dist/ui/collapsible.js.map +1 -0
  900. package/dist/ui/tooltip.cjs +48 -0
  901. package/dist/ui/tooltip.cjs.map +1 -0
  902. package/dist/ui/tooltip.js +48 -0
  903. package/dist/ui/tooltip.js.map +1 -0
  904. package/dist/version.cjs +6 -0
  905. package/dist/version.cjs.map +1 -0
  906. package/dist/version.js +6 -0
  907. package/dist/version.js.map +1 -0
  908. package/dist/voice/index.cjs +6 -0
  909. package/dist/voice/index.cjs.map +1 -0
  910. package/dist/voice/index.d.ts +2 -0
  911. package/dist/voice/index.js +6 -0
  912. package/dist/voice/index.js.map +1 -0
  913. package/dist/voice/use-athena-voice-session.cjs +315 -0
  914. package/dist/voice/use-athena-voice-session.cjs.map +1 -0
  915. package/dist/voice/use-athena-voice-session.d.ts +145 -0
  916. package/dist/voice/use-athena-voice-session.js +315 -0
  917. package/dist/voice/use-athena-voice-session.js.map +1 -0
  918. package/package.json +32 -20
  919. package/dist/AthenaAuthContext-B3AwLA5Z.cjs.map +0 -1
  920. package/dist/AthenaAuthContext-DQsdayH2.js.map +0 -1
  921. package/dist/AthenaContext-B1QMhIP-.cjs.map +0 -1
  922. package/dist/AthenaContext-MOslgOmE.js.map +0 -1
  923. package/dist/SuperGroupingCard-BsWbHyV_.js +0 -795
  924. package/dist/SuperGroupingCard-BsWbHyV_.js.map +0 -1
  925. package/dist/SuperGroupingCard-CRRFUgjN.cjs +0 -794
  926. package/dist/SuperGroupingCard-CRRFUgjN.cjs.map +0 -1
  927. package/dist/auth.cjs.map +0 -1
  928. package/dist/auth.js.map +0 -1
  929. package/dist/chat/ComposerEditorContext.d.ts +0 -36
  930. package/dist/chat/tiptap-composer.d.ts +0 -7
  931. package/dist/chat-ui-statewire.cjs +0 -25
  932. package/dist/chat-ui-statewire.cjs.map +0 -1
  933. package/dist/chat-ui-statewire.js +0 -25
  934. package/dist/chat-ui-statewire.js.map +0 -1
  935. package/dist/chat-ui.cjs +0 -2484
  936. package/dist/chat-ui.cjs.map +0 -1
  937. package/dist/chat-ui.js +0 -2486
  938. package/dist/chat-ui.js.map +0 -1
  939. package/dist/collab.cjs.map +0 -1
  940. package/dist/collab.js.map +0 -1
  941. package/dist/mentions/composer-keybinds.d.ts +0 -5
  942. package/dist/mentions/mention-extension.d.ts +0 -6
  943. package/dist/mentions/mention-icons.d.ts +0 -4
  944. package/dist/mentions/mention-node-view.d.ts +0 -2
  945. package/dist/mentions/mention-suggestion-list.d.ts +0 -14
  946. package/dist/mentions/mention-suggestion-popup.d.ts +0 -15
  947. package/dist/mentions/mention-suggestions-extension.d.ts +0 -11
  948. package/dist/mentions/mention-types.d.ts +0 -21
  949. package/dist/mentions/mention-utils.d.ts +0 -23
  950. package/dist/mentions/use-mention-suggestions.d.ts +0 -29
  951. package/dist/misc-tool-uis-B2e0Okkn.cjs +0 -43
  952. package/dist/misc-tool-uis-B2e0Okkn.cjs.map +0 -1
  953. package/dist/misc-tool-uis-gAiQw0Yl.js.map +0 -1
  954. package/dist/statewire-continue-run-D34gS7_1.js.map +0 -1
  955. package/dist/statewire-continue-run-nE9VCKUh.cjs.map +0 -1
  956. package/dist/statewire-history-edge-C8uyTEjX.cjs +0 -1711
  957. package/dist/statewire-history-edge-C8uyTEjX.cjs.map +0 -1
  958. package/dist/statewire-history-edge-CPohUKMt.js +0 -1712
  959. package/dist/statewire-history-edge-CPohUKMt.js.map +0 -1
  960. package/dist/super-grouping.cjs +0 -22
  961. package/dist/super-grouping.cjs.map +0 -1
  962. package/dist/super-grouping.js +0 -22
  963. package/dist/super-grouping.js.map +0 -1
  964. package/dist/tool-fallback-DkQ3DLkn.js +0 -4281
  965. package/dist/tool-fallback-DkQ3DLkn.js.map +0 -1
  966. package/dist/tool-fallback-kfhpJQZa.cjs +0 -4297
  967. package/dist/tool-fallback-kfhpJQZa.cjs.map +0 -1
  968. package/dist/tools.cjs +0 -41
  969. package/dist/tools.cjs.map +0 -1
  970. package/dist/tools.js +0 -41
  971. package/dist/tools.js.map +0 -1
  972. package/dist/trash-2-B5OaNAL7.cjs +0 -5096
  973. package/dist/trash-2-B5OaNAL7.cjs.map +0 -1
  974. package/dist/trash-2-CCwSURL-.js +0 -5081
  975. package/dist/trash-2-CCwSURL-.js.map +0 -1
  976. package/dist/use-rest-conversation-history-Cm8qMRxp.cjs +0 -32397
  977. package/dist/use-rest-conversation-history-Cm8qMRxp.cjs.map +0 -1
  978. package/dist/use-rest-conversation-history-veDZS-oL.js +0 -32361
  979. package/dist/use-rest-conversation-history-veDZS-oL.js.map +0 -1
  980. package/dist/wrench-BEf72cyP.cjs +0 -417
  981. package/dist/wrench-BEf72cyP.cjs.map +0 -1
  982. package/dist/wrench-CbrOlVYm.js +0 -418
  983. package/dist/wrench-CbrOlVYm.js.map +0 -1
  984. package/dist/x-Dfd2NzK0.cjs +0 -42
  985. package/dist/x-Dfd2NzK0.cjs.map +0 -1
  986. package/dist/x-_DntAa_a.js +0 -43
  987. package/dist/x-_DntAa_a.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converter.js","sources":["../../../../../../../node_modules/@assistant-ui/react-langchain/dist/converter.js"],"sourcesContent":["import { parseDataUrl, resolveFilePartSource } from \"@assistant-ui/core/internal\";\n//#region src/converter.ts\nconst convertLangChainContentBlock = (part) => {\n\tswitch (part.type) {\n\t\tcase \"text\":\n\t\tcase \"text_delta\": return {\n\t\t\ttype: \"text\",\n\t\t\ttext: part.text\n\t\t};\n\t\tcase \"image_url\": {\n\t\t\tconst image = typeof part.image_url === \"string\" ? part.image_url : part.image_url?.url;\n\t\t\tif (!image) return null;\n\t\t\treturn {\n\t\t\t\ttype: \"image\",\n\t\t\t\timage\n\t\t\t};\n\t\t}\n\t\tcase \"file\": return {\n\t\t\ttype: \"file\",\n\t\t\tfilename: part.metadata?.filename ?? \"file\",\n\t\t\tdata: part.source_type === \"url\" ? part.url : part.source_type === \"id\" ? part.id : part.data,\n\t\t\tmimeType: part.mime_type ?? \"application/octet-stream\",\n\t\t\t...(part.source_type === \"url\" || part.source_type === \"id\") && { sourceType: part.source_type }\n\t\t};\n\t\tcase \"audio\": {\n\t\t\tconst mimeType = part.mime_type ?? \"application/octet-stream\";\n\t\t\tconst subtype = mimeType.startsWith(\"audio/\") ? mimeType.slice(6) : void 0;\n\t\t\treturn {\n\t\t\t\ttype: \"file\",\n\t\t\t\tfilename: subtype ? `audio.${subtype}` : \"audio\",\n\t\t\t\tdata: part.data,\n\t\t\t\tmimeType\n\t\t\t};\n\t\t}\n\t\tcase \"thinking\": return {\n\t\t\ttype: \"reasoning\",\n\t\t\ttext: part.thinking\n\t\t};\n\t\tcase \"reasoning\": return {\n\t\t\ttype: \"reasoning\",\n\t\t\ttext: part.summary && part.summary.length > 0 ? part.summary.map((s) => s?.text ?? \"\").join(\"\\n\\n\\n\") : part.reasoning ?? \"\"\n\t\t};\n\t\tcase \"tool_use\":\n\t\tcase \"input_json_delta\": return null;\n\t\tdefault: return;\n\t}\n};\nconst hasVisibleText = (text) => typeof text === \"string\" && text.trim() !== \"\";\n/**\n* Audio output arrives outside the content array: providers leave `content`\n* empty and put the spoken text in `additional_kwargs.audio.transcript`. The\n* audio bytes stay behind because no provider reports their media type, and a\n* streamed response carries raw PCM rather than a playable file.\n*/\nconst withAudioTranscript = (parts, additionalKwargs) => {\n\tconst transcript = (additionalKwargs?.audio)?.transcript;\n\tif (typeof transcript !== \"string\" || !hasVisibleText(transcript)) return parts;\n\tif (parts.some((part) => part.type === \"text\" && hasVisibleText(part.text))) return parts;\n\treturn [...parts.filter((part) => part.type !== \"text\"), {\n\t\ttype: \"text\",\n\t\ttext: transcript\n\t}];\n};\nconst getCustomMetadata = (additionalKwargs) => additionalKwargs?.metadata ?? {};\nconst uiMessageToDataPart = (ui) => ({\n\ttype: \"data\",\n\tname: ui.name,\n\tdata: ui.props\n});\n/**\n* Audio media types that reach a provider's audio input through the LangChain\n* `audio` block. langchain-core derives OpenAI's `input_audio.format` by\n* splitting `mime_type` on `/`, and that format is a wav-or-mp3 enum, so\n* `audio/mpeg` passes the converter and is rejected at the provider.\n*/\nconst audioBlockMimeTypes = /* @__PURE__ */ new Map([\n\t[\"audio/mp3\", \"audio/mp3\"],\n\t[\"audio/mpeg\", \"audio/mp3\"],\n\t[\"audio/wav\", \"audio/wav\"],\n\t[\"audio/wave\", \"audio/wav\"],\n\t[\"audio/x-wav\", \"audio/wav\"]\n]);\nconst getMessageContent = (msg) => {\n\tconst allContent = [...msg.content, ...msg.attachments?.flatMap((a) => a.content) ?? []];\n\tconst hasNonText = allContent.some((part) => part.type === \"file\" || part.type === \"image\" || part.type === \"audio\");\n\tconst hasText = allContent.some((part) => part.type === \"text\");\n\tif (hasNonText && !hasText) allContent.unshift({\n\t\ttype: \"text\",\n\t\ttext: \" \"\n\t});\n\tconst content = allContent.flatMap((part) => {\n\t\tconst type = part.type;\n\t\tswitch (type) {\n\t\t\tcase \"text\": return {\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: part.text\n\t\t\t};\n\t\t\tcase \"image\": return {\n\t\t\t\ttype: \"image_url\",\n\t\t\t\timage_url: { url: part.image }\n\t\t\t};\n\t\t\tcase \"file\": {\n\t\t\t\tconst metadata = { filename: part.filename ?? \"file\" };\n\t\t\t\tif (part.sourceType === \"id\") return {\n\t\t\t\t\ttype: \"file\",\n\t\t\t\t\tid: part.data,\n\t\t\t\t\tmime_type: part.mimeType,\n\t\t\t\t\tfilename: metadata.filename,\n\t\t\t\t\tmetadata,\n\t\t\t\t\tsource_type: \"id\"\n\t\t\t\t};\n\t\t\t\tconst source = resolveFilePartSource(part);\n\t\t\t\tif (source.kind === \"url\") return {\n\t\t\t\t\ttype: \"file\",\n\t\t\t\t\turl: source.url,\n\t\t\t\t\tmime_type: part.mimeType,\n\t\t\t\t\tfilename: metadata.filename,\n\t\t\t\t\tmetadata,\n\t\t\t\t\tsource_type: \"url\"\n\t\t\t\t};\n\t\t\t\tconst audioMimeType = audioBlockMimeTypes.get(source.mimeType.toLowerCase());\n\t\t\t\tif (audioMimeType) return {\n\t\t\t\t\ttype: \"audio\",\n\t\t\t\t\tdata: source.data,\n\t\t\t\t\tmime_type: audioMimeType,\n\t\t\t\t\tsource_type: \"base64\"\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"file\",\n\t\t\t\t\tdata: source.data,\n\t\t\t\t\tmime_type: source.mimeType,\n\t\t\t\t\tfilename: metadata.filename,\n\t\t\t\t\tmetadata,\n\t\t\t\t\tsource_type: \"base64\"\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase \"audio\": return {\n\t\t\t\ttype: \"audio\",\n\t\t\t\tdata: parseDataUrl(part.audio.data)?.data ?? part.audio.data,\n\t\t\t\tmime_type: `audio/${part.audio.format}`,\n\t\t\t\tsource_type: \"base64\"\n\t\t\t};\n\t\t\tcase \"data\": return [];\n\t\t\tcase \"tool-call\": throw new Error(\"Tool call appends are not supported.\");\n\t\t\tdefault: throw new Error(`Unsupported append message part type: ${type}`);\n\t\t}\n\t});\n\tif (content.length === 1 && content[0]?.type === \"text\") return content[0].text ?? \"\";\n\treturn content;\n};\nconst reasoningTextLength = (part) => {\n\tif (part.summary && part.summary.length > 0) return part.summary.map((s) => s?.text ?? \"\").join(\"\\n\\n\\n\").length;\n\treturn part.reasoning?.length ?? 0;\n};\nconst createLangChainStreamingTimingAccessors = (getType) => {\n\tconst findAiMessage = (messages, messageId) => messages.find((message) => getType(message) === \"ai\" && message.id === messageId);\n\tconst getTextLength = (messages, messageId) => {\n\t\tconst message = findAiMessage(messages, messageId);\n\t\tif (!message) return 0;\n\t\tconst content = message.content;\n\t\tif (typeof content === \"string\") return content.length;\n\t\tif (!Array.isArray(content)) return 0;\n\t\tlet len = 0;\n\t\tfor (const part of content) switch (part.type) {\n\t\t\tcase \"text\":\n\t\t\tcase \"text_delta\":\n\t\t\t\tif (typeof part.text === \"string\") len += part.text.length;\n\t\t\t\tbreak;\n\t\t\tcase \"thinking\":\n\t\t\t\tif (typeof part.thinking === \"string\") len += part.thinking.length;\n\t\t\t\tbreak;\n\t\t\tcase \"reasoning\": len += reasoningTextLength(part);\n\t\t}\n\t\treturn len;\n\t};\n\tconst getToolCallCount = (messages, messageId) => findAiMessage(messages, messageId)?.tool_calls?.length ?? 0;\n\tconst getAssistantMessageId = (messages) => {\n\t\tfor (let i = messages.length - 1; i >= 0; i--) {\n\t\t\tconst message = messages[i];\n\t\t\tif (message && getType(message) === \"ai\" && message.id) return message.id;\n\t\t}\n\t};\n\treturn {\n\t\tgetAssistantMessageId,\n\t\tgetTextLength,\n\t\tgetToolCallCount\n\t};\n};\n/**\n* Resolve the assistant message a `UIMessage` belongs to: the parent id comes\n* from `metadata.message_id` (Python SDK) or `metadata.id` (JS SDK).\n*/\nconst getUIMessageParentId = (ui) => ui.metadata?.message_id ?? ui.metadata?.id;\n/**\n* Group the graph's accumulated `UIMessage`s by the assistant message they\n* belong to. Non-array state and entries without a parent link are dropped.\n*/\nconst groupUIMessagesByParent = (value) => {\n\tconst map = /* @__PURE__ */ new Map();\n\tif (!Array.isArray(value)) return map;\n\tfor (const ui of value) {\n\t\tconst parentId = getUIMessageParentId(ui);\n\t\tif (!parentId) continue;\n\t\tconst existing = map.get(parentId);\n\t\tif (existing) existing.push(ui);\n\t\telse map.set(parentId, [ui]);\n\t}\n\treturn map;\n};\n//#endregion\nexport { convertLangChainContentBlock, createLangChainStreamingTimingAccessors, getCustomMetadata, getMessageContent, getUIMessageParentId, groupUIMessagesByParent, uiMessageToDataPart, withAudioTranscript };\n\n//# sourceMappingURL=converter.js.map"],"names":[],"mappings":";AAEK,MAAC,+BAA+B,CAAC,SAAS;;AAC9C,UAAQ,KAAK,MAAI;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AAAc,aAAO;AAAA,QACzB,MAAM;AAAA,QACN,MAAM,KAAK;AAAA,MACd;AAAA,IACE,KAAK,aAAa;AACjB,YAAM,QAAQ,OAAO,KAAK,cAAc,WAAW,KAAK,aAAY,UAAK,cAAL,mBAAgB;AACpF,UAAI,CAAC,MAAO,QAAO;AACnB,aAAO;AAAA,QACN,MAAM;AAAA,QACN;AAAA,MACJ;AAAA,IACE;AAAA,IACA,KAAK;AAAQ,aAAO;AAAA,QACnB,MAAM;AAAA,QACN,YAAU,UAAK,aAAL,mBAAe,aAAY;AAAA,QACrC,MAAM,KAAK,gBAAgB,QAAQ,KAAK,MAAM,KAAK,gBAAgB,OAAO,KAAK,KAAK,KAAK;AAAA,QACzF,UAAU,KAAK,aAAa;AAAA,QAC5B,IAAI,KAAK,gBAAgB,SAAS,KAAK,gBAAgB,SAAS,EAAE,YAAY,KAAK,YAAW;AAAA,MACjG;AAAA,IACE,KAAK,SAAS;AACb,YAAM,WAAW,KAAK,aAAa;AACnC,YAAM,UAAU,SAAS,WAAW,QAAQ,IAAI,SAAS,MAAM,CAAC,IAAI;AACpE,aAAO;AAAA,QACN,MAAM;AAAA,QACN,UAAU,UAAU,SAAS,OAAO,KAAK;AAAA,QACzC,MAAM,KAAK;AAAA,QACX;AAAA,MACJ;AAAA,IACE;AAAA,IACA,KAAK;AAAY,aAAO;AAAA,QACvB,MAAM;AAAA,QACN,MAAM,KAAK;AAAA,MACd;AAAA,IACE,KAAK;AAAa,aAAO;AAAA,QACxB,MAAM;AAAA,QACN,MAAM,KAAK,WAAW,KAAK,QAAQ,SAAS,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAM,uBAAG,SAAQ,EAAE,EAAE,KAAK,QAAQ,IAAI,KAAK,aAAa;AAAA,MAC7H;AAAA,IACE,KAAK;AAAA,IACL,KAAK;AAAoB,aAAO;AAAA,IAChC;AAAS;AAAA,EACX;AACA;AACA,MAAM,iBAAiB,CAAC,SAAS,OAAO,SAAS,YAAY,KAAK,KAAI,MAAO;AAOxE,MAAC,sBAAsB,CAAC,OAAO,qBAAqB;;AACxD,QAAM,cAAc,0DAAkB,UAAlB,mBAA0B;AAC9C,MAAI,OAAO,eAAe,YAAY,CAAC,eAAe,UAAU,EAAG,QAAO;AAC1E,MAAI,MAAM,KAAK,CAAC,SAAS,KAAK,SAAS,UAAU,eAAe,KAAK,IAAI,CAAC,EAAG,QAAO;AACpF,SAAO,CAAC,GAAG,MAAM,OAAO,CAAC,SAAS,KAAK,SAAS,MAAM,GAAG;AAAA,IACxD,MAAM;AAAA,IACN,MAAM;AAAA,EACR,CAAE;AACF;AACK,MAAC,oBAAoB,CAAC,sBAAqB,qDAAkB,aAAY,CAAA;AACzE,MAAC,sBAAsB,CAAC,QAAQ;AAAA,EACpC,MAAM;AAAA,EACN,MAAM,GAAG;AAAA,EACT,MAAM,GAAG;AACV;","x_google_ignoreList":[0]}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const utils = require("assistant-stream/utils");
4
+ const internal = require("@assistant-ui/core/internal");
5
+ const converter = require("../../react-langchain/dist/converter.cjs");
6
+ const getToolArgsCacheKey = (messageId, kind, toolCallId) => `${messageId ?? "unknown"}:${kind}:${toolCallId}`;
7
+ const resolveToolCallArgs = ({ chunk, matchingToolCallChunk, messageId, toolArgsKeyOrderCache, toolCallId }) => {
8
+ const cacheKey = getToolArgsCacheKey(messageId, "tool", toolCallId);
9
+ const streamedArgsText = (matchingToolCallChunk == null ? void 0 : matchingToolCallChunk.args) ?? (matchingToolCallChunk == null ? void 0 : matchingToolCallChunk.args_json);
10
+ const isStreamingArglessChunk = matchingToolCallChunk !== void 0 && streamedArgsText === void 0 && Object.keys(chunk.args).length === 0;
11
+ const providedArgsText = chunk.partial_json ?? streamedArgsText ?? (isStreamingArglessChunk ? "" : void 0);
12
+ const argsText = providedArgsText ?? internal.stableStringifyToolArgs(toolArgsKeyOrderCache, cacheKey, chunk.args);
13
+ const parsedPartialArgs = argsText ? utils.parsePartialJsonObject(argsText) : null;
14
+ const args = argsText ? parsedPartialArgs ?? {} : chunk.args;
15
+ internal.trackToolArgsKeyOrder(toolArgsKeyOrderCache, cacheKey, parsedPartialArgs ?? chunk.args);
16
+ if (providedArgsText == null) toolArgsKeyOrderCache == null ? void 0 : toolArgsKeyOrderCache.delete(cacheKey);
17
+ return {
18
+ args,
19
+ argsText
20
+ };
21
+ };
22
+ const warnedMessagePartTypes = /* @__PURE__ */ new Set();
23
+ const warnForUnknownMessagePartType = (type) => {
24
+ var _a;
25
+ if (typeof process === "undefined" || ((_a = process == null ? void 0 : process.env) == null ? void 0 : _a.NODE_ENV) !== "development") return;
26
+ if (warnedMessagePartTypes.has(type)) return;
27
+ warnedMessagePartTypes.add(type);
28
+ console.warn(`Unknown message part type: ${type}`);
29
+ };
30
+ const warnedMessageTypes = /* @__PURE__ */ new Set();
31
+ const warnForUnknownMessageType = (type) => {
32
+ var _a;
33
+ if (typeof process === "undefined" || ((_a = process == null ? void 0 : process.env) == null ? void 0 : _a.NODE_ENV) !== "development") return;
34
+ if (warnedMessageTypes.has(type)) return;
35
+ warnedMessageTypes.add(type);
36
+ console.warn(`Unknown message type: ${type}`);
37
+ };
38
+ const contentToParts = (content, metadata, messageId) => {
39
+ if (content == null) return [];
40
+ if (typeof content === "string") return [{
41
+ type: "text",
42
+ text: content
43
+ }];
44
+ return content.map((part) => {
45
+ if (part.type === "computer_call") {
46
+ const args = part.action;
47
+ return {
48
+ type: "tool-call",
49
+ toolCallId: part.call_id,
50
+ toolName: "computer_call",
51
+ args,
52
+ argsText: internal.stableStringifyToolArgs(metadata.toolArgsKeyOrderCache, getToolArgsCacheKey(messageId, "computer", part.call_id), args)
53
+ };
54
+ }
55
+ const converted = converter.convertLangChainContentBlock(part);
56
+ if (converted === void 0) {
57
+ warnForUnknownMessagePartType(part.type);
58
+ return null;
59
+ }
60
+ return converted;
61
+ }).filter((a) => a !== null);
62
+ };
63
+ const normalizePayload = (value) => {
64
+ var _a;
65
+ return ((_a = internal.parseDataUrl(value)) == null ? void 0 : _a.data) ?? value;
66
+ };
67
+ const attachmentPartKey = (part) => {
68
+ if (part.type === "image" && typeof part.image === "string") return `image:${normalizePayload(part.image)}`;
69
+ if (part.type === "file" && typeof part.data === "string") return `file:${normalizePayload(part.data)}`;
70
+ if (part.type === "audio" && part.audio) return `file:${normalizePayload(part.audio.data)}`;
71
+ return null;
72
+ };
73
+ const dropAttachmentDuplicates = (parts, attachments) => {
74
+ const counts = /* @__PURE__ */ new Map();
75
+ for (const part of attachments.flatMap((a) => a.content)) {
76
+ const key = attachmentPartKey(part);
77
+ if (key) counts.set(key, (counts.get(key) ?? 0) + 1);
78
+ }
79
+ if (counts.size === 0) return parts;
80
+ const dropped = /* @__PURE__ */ new Set();
81
+ for (let i = parts.length - 1; i >= 0; i--) {
82
+ const key = attachmentPartKey(parts[i]);
83
+ if (!key) continue;
84
+ const remaining = counts.get(key);
85
+ if (!remaining) continue;
86
+ counts.set(key, remaining - 1);
87
+ dropped.add(i);
88
+ }
89
+ if (dropped.size === 0) return parts;
90
+ return parts.filter((_, i) => !dropped.has(i));
91
+ };
92
+ const convertLangChainMessages = (message, metadata = {}) => {
93
+ var _a, _b, _c, _d, _e, _f, _g;
94
+ const type = message.type;
95
+ switch (type) {
96
+ case "system":
97
+ return {
98
+ role: "system",
99
+ id: message.id,
100
+ content: [{
101
+ type: "text",
102
+ text: message.content
103
+ }],
104
+ metadata: { custom: converter.getCustomMetadata(message.additional_kwargs) }
105
+ };
106
+ case "human": {
107
+ const attachments = message.id ? (_a = metadata.attachmentsByMessageId) == null ? void 0 : _a.get(message.id) : void 0;
108
+ const parts = contentToParts(message.content, metadata, message.id);
109
+ return {
110
+ role: "user",
111
+ id: message.id,
112
+ content: (attachments == null ? void 0 : attachments.length) ? dropAttachmentDuplicates(parts, attachments) : parts,
113
+ metadata: { custom: converter.getCustomMetadata(message.additional_kwargs) },
114
+ ...(attachments == null ? void 0 : attachments.length) ? { attachments } : {}
115
+ };
116
+ }
117
+ case "ai": {
118
+ const toolCallParts = ((_b = message.tool_calls) == null ? void 0 : _b.map((chunk, idx) => {
119
+ var _a2;
120
+ const fallbackIndex = chunk.index ?? idx;
121
+ const toolCallId = chunk.id ? chunk.id : `lc-toolcall-${message.id ?? "unknown"}-${fallbackIndex}`;
122
+ const matchingToolCallChunk = (_a2 = message.tool_call_chunks) == null ? void 0 : _a2.find((c) => chunk.id ? c.id === chunk.id : c.index === fallbackIndex);
123
+ const { args, argsText } = resolveToolCallArgs({
124
+ chunk,
125
+ matchingToolCallChunk,
126
+ messageId: message.id,
127
+ toolArgsKeyOrderCache: metadata.toolArgsKeyOrderCache,
128
+ toolCallId
129
+ });
130
+ return {
131
+ type: "tool-call",
132
+ toolCallId,
133
+ toolName: chunk.name,
134
+ args,
135
+ argsText
136
+ };
137
+ })) ?? [];
138
+ const normalizedContent = typeof message.content === "string" ? [{
139
+ type: "text",
140
+ text: message.content
141
+ }] : message.content ?? [];
142
+ const allContent = [
143
+ (_c = message.additional_kwargs) == null ? void 0 : _c.reasoning,
144
+ ...normalizedContent,
145
+ ...((_d = message.additional_kwargs) == null ? void 0 : _d.tool_outputs) ?? []
146
+ ].filter((c) => c !== void 0);
147
+ const uiDataParts = (message.id ? (_f = (_e = metadata.uiMessagesByParent) == null ? void 0 : _e.get(message.id)) == null ? void 0 : _f.map(converter.uiMessageToDataPart) : void 0) ?? [];
148
+ const timing = message.id ? (_g = metadata.messageTiming) == null ? void 0 : _g[message.id] : void 0;
149
+ return {
150
+ role: "assistant",
151
+ id: message.id,
152
+ content: [
153
+ ...converter.withAudioTranscript(contentToParts(allContent, metadata, message.id), message.additional_kwargs),
154
+ ...toolCallParts,
155
+ ...uiDataParts
156
+ ],
157
+ metadata: {
158
+ custom: converter.getCustomMetadata(message.additional_kwargs),
159
+ ...timing && { timing }
160
+ },
161
+ ...message.status && { status: message.status }
162
+ };
163
+ }
164
+ case "remove":
165
+ return [];
166
+ case "tool":
167
+ return {
168
+ role: "tool",
169
+ toolName: message.name,
170
+ toolCallId: message.tool_call_id,
171
+ result: message.content,
172
+ artifact: message.artifact,
173
+ isError: message.status === "error"
174
+ };
175
+ default:
176
+ warnForUnknownMessageType(type);
177
+ return [];
178
+ }
179
+ };
180
+ exports.convertLangChainMessages = convertLangChainMessages;
181
+ //# sourceMappingURL=convertLangChainMessages.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertLangChainMessages.cjs","sources":["../../../../../../../node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js"],"sourcesContent":["\"use client\";\nimport { parsePartialJsonObject } from \"assistant-stream/utils\";\nimport { parseDataUrl, stableStringifyToolArgs, trackToolArgsKeyOrder } from \"@assistant-ui/core/internal\";\nimport { convertLangChainContentBlock, getCustomMetadata, getMessageContent, uiMessageToDataPart, withAudioTranscript } from \"@assistant-ui/react-langchain/converter\";\n//#region src/convertLangChainMessages.ts\nconst getToolArgsCacheKey = (messageId, kind, toolCallId) => `${messageId ?? \"unknown\"}:${kind}:${toolCallId}`;\nconst resolveToolCallArgs = ({ chunk, matchingToolCallChunk, messageId, toolArgsKeyOrderCache, toolCallId }) => {\n\tconst cacheKey = getToolArgsCacheKey(messageId, \"tool\", toolCallId);\n\tconst streamedArgsText = matchingToolCallChunk?.args ?? matchingToolCallChunk?.args_json;\n\tconst isStreamingArglessChunk = matchingToolCallChunk !== void 0 && streamedArgsText === void 0 && Object.keys(chunk.args).length === 0;\n\tconst providedArgsText = chunk.partial_json ?? streamedArgsText ?? (isStreamingArglessChunk ? \"\" : void 0);\n\tconst argsText = providedArgsText ?? stableStringifyToolArgs(toolArgsKeyOrderCache, cacheKey, chunk.args);\n\tconst parsedPartialArgs = argsText ? parsePartialJsonObject(argsText) : null;\n\tconst args = argsText ? parsedPartialArgs ?? {} : chunk.args;\n\ttrackToolArgsKeyOrder(toolArgsKeyOrderCache, cacheKey, parsedPartialArgs ?? chunk.args);\n\tif (providedArgsText == null) toolArgsKeyOrderCache?.delete(cacheKey);\n\treturn {\n\t\targs,\n\t\targsText\n\t};\n};\nconst warnedMessagePartTypes = /* @__PURE__ */ new Set();\nconst warnForUnknownMessagePartType = (type) => {\n\tif (typeof process === \"undefined\" || process?.env?.NODE_ENV !== \"development\") return;\n\tif (warnedMessagePartTypes.has(type)) return;\n\twarnedMessagePartTypes.add(type);\n\tconsole.warn(`Unknown message part type: ${type}`);\n};\nconst warnedMessageTypes = /* @__PURE__ */ new Set();\nconst warnForUnknownMessageType = (type) => {\n\tif (typeof process === \"undefined\" || process?.env?.NODE_ENV !== \"development\") return;\n\tif (warnedMessageTypes.has(type)) return;\n\twarnedMessageTypes.add(type);\n\tconsole.warn(`Unknown message type: ${type}`);\n};\nconst contentToParts = (content, metadata, messageId) => {\n\tif (content == null) return [];\n\tif (typeof content === \"string\") return [{\n\t\ttype: \"text\",\n\t\ttext: content\n\t}];\n\treturn content.map((part) => {\n\t\tif (part.type === \"computer_call\") {\n\t\t\tconst args = part.action;\n\t\t\treturn {\n\t\t\t\ttype: \"tool-call\",\n\t\t\t\ttoolCallId: part.call_id,\n\t\t\t\ttoolName: \"computer_call\",\n\t\t\t\targs,\n\t\t\t\targsText: stableStringifyToolArgs(metadata.toolArgsKeyOrderCache, getToolArgsCacheKey(messageId, \"computer\", part.call_id), args)\n\t\t\t};\n\t\t}\n\t\tconst converted = convertLangChainContentBlock(part);\n\t\tif (converted === void 0) {\n\t\t\twarnForUnknownMessagePartType(part.type);\n\t\t\treturn null;\n\t\t}\n\t\treturn converted;\n\t}).filter((a) => a !== null);\n};\nconst normalizePayload = (value) => parseDataUrl(value)?.data ?? value;\nconst attachmentPartKey = (part) => {\n\tif (part.type === \"image\" && typeof part.image === \"string\") return `image:${normalizePayload(part.image)}`;\n\tif (part.type === \"file\" && typeof part.data === \"string\") return `file:${normalizePayload(part.data)}`;\n\tif (part.type === \"audio\" && part.audio) return `file:${normalizePayload(part.audio.data)}`;\n\treturn null;\n};\n/**\n* getMessageContent flattens attachment content into the wire message while\n* the runtime reattaches the original attachments for chip rendering, so in\n* the sender's session each attachment payload arrives back twice. Drops the\n* flattened copies, at most one content part per attachment part, consuming\n* from the trailing end because getMessageContent appends the flattened\n* copies after the user's direct content; on reload the staging map is empty\n* and content parts pass through untouched.\n*/\nconst dropAttachmentDuplicates = (parts, attachments) => {\n\tconst counts = /* @__PURE__ */ new Map();\n\tfor (const part of attachments.flatMap((a) => a.content)) {\n\t\tconst key = attachmentPartKey(part);\n\t\tif (key) counts.set(key, (counts.get(key) ?? 0) + 1);\n\t}\n\tif (counts.size === 0) return parts;\n\tconst dropped = /* @__PURE__ */ new Set();\n\tfor (let i = parts.length - 1; i >= 0; i--) {\n\t\tconst key = attachmentPartKey(parts[i]);\n\t\tif (!key) continue;\n\t\tconst remaining = counts.get(key);\n\t\tif (!remaining) continue;\n\t\tcounts.set(key, remaining - 1);\n\t\tdropped.add(i);\n\t}\n\tif (dropped.size === 0) return parts;\n\treturn parts.filter((_, i) => !dropped.has(i));\n};\nconst convertLangChainMessages = (message, metadata = {}) => {\n\tconst type = message.type;\n\tswitch (type) {\n\t\tcase \"system\": return {\n\t\t\trole: \"system\",\n\t\t\tid: message.id,\n\t\t\tcontent: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: message.content\n\t\t\t}],\n\t\t\tmetadata: { custom: getCustomMetadata(message.additional_kwargs) }\n\t\t};\n\t\tcase \"human\": {\n\t\t\tconst attachments = message.id ? metadata.attachmentsByMessageId?.get(message.id) : void 0;\n\t\t\tconst parts = contentToParts(message.content, metadata, message.id);\n\t\t\treturn {\n\t\t\t\trole: \"user\",\n\t\t\t\tid: message.id,\n\t\t\t\tcontent: attachments?.length ? dropAttachmentDuplicates(parts, attachments) : parts,\n\t\t\t\tmetadata: { custom: getCustomMetadata(message.additional_kwargs) },\n\t\t\t\t...attachments?.length ? { attachments } : {}\n\t\t\t};\n\t\t}\n\t\tcase \"ai\": {\n\t\t\tconst toolCallParts = message.tool_calls?.map((chunk, idx) => {\n\t\t\t\tconst fallbackIndex = chunk.index ?? idx;\n\t\t\t\tconst toolCallId = chunk.id ? chunk.id : `lc-toolcall-${message.id ?? \"unknown\"}-${fallbackIndex}`;\n\t\t\t\tconst matchingToolCallChunk = message.tool_call_chunks?.find((c) => chunk.id ? c.id === chunk.id : c.index === fallbackIndex);\n\t\t\t\tconst { args, argsText } = resolveToolCallArgs({\n\t\t\t\t\tchunk,\n\t\t\t\t\tmatchingToolCallChunk,\n\t\t\t\t\tmessageId: message.id,\n\t\t\t\t\ttoolArgsKeyOrderCache: metadata.toolArgsKeyOrderCache,\n\t\t\t\t\ttoolCallId\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"tool-call\",\n\t\t\t\t\ttoolCallId,\n\t\t\t\t\ttoolName: chunk.name,\n\t\t\t\t\targs,\n\t\t\t\t\targsText\n\t\t\t\t};\n\t\t\t}) ?? [];\n\t\t\tconst normalizedContent = typeof message.content === \"string\" ? [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: message.content\n\t\t\t}] : message.content ?? [];\n\t\t\tconst allContent = [\n\t\t\t\tmessage.additional_kwargs?.reasoning,\n\t\t\t\t...normalizedContent,\n\t\t\t\t...message.additional_kwargs?.tool_outputs ?? []\n\t\t\t].filter((c) => c !== void 0);\n\t\t\tconst uiDataParts = (message.id ? metadata.uiMessagesByParent?.get(message.id)?.map(uiMessageToDataPart) : void 0) ?? [];\n\t\t\tconst timing = message.id ? metadata.messageTiming?.[message.id] : void 0;\n\t\t\treturn {\n\t\t\t\trole: \"assistant\",\n\t\t\t\tid: message.id,\n\t\t\t\tcontent: [\n\t\t\t\t\t...withAudioTranscript(contentToParts(allContent, metadata, message.id), message.additional_kwargs),\n\t\t\t\t\t...toolCallParts,\n\t\t\t\t\t...uiDataParts\n\t\t\t\t],\n\t\t\t\tmetadata: {\n\t\t\t\t\tcustom: getCustomMetadata(message.additional_kwargs),\n\t\t\t\t\t...timing && { timing }\n\t\t\t\t},\n\t\t\t\t...message.status && { status: message.status }\n\t\t\t};\n\t\t}\n\t\tcase \"remove\": return [];\n\t\tcase \"tool\": return {\n\t\t\trole: \"tool\",\n\t\t\ttoolName: message.name,\n\t\t\ttoolCallId: message.tool_call_id,\n\t\t\tresult: message.content,\n\t\t\tartifact: message.artifact,\n\t\t\tisError: message.status === \"error\"\n\t\t};\n\t\tdefault:\n\t\t\twarnForUnknownMessageType(type);\n\t\t\treturn [];\n\t}\n};\n//#endregion\nexport { convertLangChainMessages, getMessageContent };\n\n//# sourceMappingURL=convertLangChainMessages.js.map"],"names":["stableStringifyToolArgs","parsePartialJsonObject","trackToolArgsKeyOrder","convertLangChainContentBlock","parseDataUrl","getCustomMetadata","_a","uiMessageToDataPart","withAudioTranscript"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,181 @@
1
+ import { parsePartialJsonObject } from "assistant-stream/utils";
2
+ import { stableStringifyToolArgs, trackToolArgsKeyOrder, parseDataUrl } from "@assistant-ui/core/internal";
3
+ import { uiMessageToDataPart, getCustomMetadata, withAudioTranscript, convertLangChainContentBlock } from "../../react-langchain/dist/converter.js";
4
+ const getToolArgsCacheKey = (messageId, kind, toolCallId) => `${messageId ?? "unknown"}:${kind}:${toolCallId}`;
5
+ const resolveToolCallArgs = ({ chunk, matchingToolCallChunk, messageId, toolArgsKeyOrderCache, toolCallId }) => {
6
+ const cacheKey = getToolArgsCacheKey(messageId, "tool", toolCallId);
7
+ const streamedArgsText = (matchingToolCallChunk == null ? void 0 : matchingToolCallChunk.args) ?? (matchingToolCallChunk == null ? void 0 : matchingToolCallChunk.args_json);
8
+ const isStreamingArglessChunk = matchingToolCallChunk !== void 0 && streamedArgsText === void 0 && Object.keys(chunk.args).length === 0;
9
+ const providedArgsText = chunk.partial_json ?? streamedArgsText ?? (isStreamingArglessChunk ? "" : void 0);
10
+ const argsText = providedArgsText ?? stableStringifyToolArgs(toolArgsKeyOrderCache, cacheKey, chunk.args);
11
+ const parsedPartialArgs = argsText ? parsePartialJsonObject(argsText) : null;
12
+ const args = argsText ? parsedPartialArgs ?? {} : chunk.args;
13
+ trackToolArgsKeyOrder(toolArgsKeyOrderCache, cacheKey, parsedPartialArgs ?? chunk.args);
14
+ if (providedArgsText == null) toolArgsKeyOrderCache == null ? void 0 : toolArgsKeyOrderCache.delete(cacheKey);
15
+ return {
16
+ args,
17
+ argsText
18
+ };
19
+ };
20
+ const warnedMessagePartTypes = /* @__PURE__ */ new Set();
21
+ const warnForUnknownMessagePartType = (type) => {
22
+ var _a;
23
+ if (typeof process === "undefined" || ((_a = process == null ? void 0 : process.env) == null ? void 0 : _a.NODE_ENV) !== "development") return;
24
+ if (warnedMessagePartTypes.has(type)) return;
25
+ warnedMessagePartTypes.add(type);
26
+ console.warn(`Unknown message part type: ${type}`);
27
+ };
28
+ const warnedMessageTypes = /* @__PURE__ */ new Set();
29
+ const warnForUnknownMessageType = (type) => {
30
+ var _a;
31
+ if (typeof process === "undefined" || ((_a = process == null ? void 0 : process.env) == null ? void 0 : _a.NODE_ENV) !== "development") return;
32
+ if (warnedMessageTypes.has(type)) return;
33
+ warnedMessageTypes.add(type);
34
+ console.warn(`Unknown message type: ${type}`);
35
+ };
36
+ const contentToParts = (content, metadata, messageId) => {
37
+ if (content == null) return [];
38
+ if (typeof content === "string") return [{
39
+ type: "text",
40
+ text: content
41
+ }];
42
+ return content.map((part) => {
43
+ if (part.type === "computer_call") {
44
+ const args = part.action;
45
+ return {
46
+ type: "tool-call",
47
+ toolCallId: part.call_id,
48
+ toolName: "computer_call",
49
+ args,
50
+ argsText: stableStringifyToolArgs(metadata.toolArgsKeyOrderCache, getToolArgsCacheKey(messageId, "computer", part.call_id), args)
51
+ };
52
+ }
53
+ const converted = convertLangChainContentBlock(part);
54
+ if (converted === void 0) {
55
+ warnForUnknownMessagePartType(part.type);
56
+ return null;
57
+ }
58
+ return converted;
59
+ }).filter((a) => a !== null);
60
+ };
61
+ const normalizePayload = (value) => {
62
+ var _a;
63
+ return ((_a = parseDataUrl(value)) == null ? void 0 : _a.data) ?? value;
64
+ };
65
+ const attachmentPartKey = (part) => {
66
+ if (part.type === "image" && typeof part.image === "string") return `image:${normalizePayload(part.image)}`;
67
+ if (part.type === "file" && typeof part.data === "string") return `file:${normalizePayload(part.data)}`;
68
+ if (part.type === "audio" && part.audio) return `file:${normalizePayload(part.audio.data)}`;
69
+ return null;
70
+ };
71
+ const dropAttachmentDuplicates = (parts, attachments) => {
72
+ const counts = /* @__PURE__ */ new Map();
73
+ for (const part of attachments.flatMap((a) => a.content)) {
74
+ const key = attachmentPartKey(part);
75
+ if (key) counts.set(key, (counts.get(key) ?? 0) + 1);
76
+ }
77
+ if (counts.size === 0) return parts;
78
+ const dropped = /* @__PURE__ */ new Set();
79
+ for (let i = parts.length - 1; i >= 0; i--) {
80
+ const key = attachmentPartKey(parts[i]);
81
+ if (!key) continue;
82
+ const remaining = counts.get(key);
83
+ if (!remaining) continue;
84
+ counts.set(key, remaining - 1);
85
+ dropped.add(i);
86
+ }
87
+ if (dropped.size === 0) return parts;
88
+ return parts.filter((_, i) => !dropped.has(i));
89
+ };
90
+ const convertLangChainMessages = (message, metadata = {}) => {
91
+ var _a, _b, _c, _d, _e, _f, _g;
92
+ const type = message.type;
93
+ switch (type) {
94
+ case "system":
95
+ return {
96
+ role: "system",
97
+ id: message.id,
98
+ content: [{
99
+ type: "text",
100
+ text: message.content
101
+ }],
102
+ metadata: { custom: getCustomMetadata(message.additional_kwargs) }
103
+ };
104
+ case "human": {
105
+ const attachments = message.id ? (_a = metadata.attachmentsByMessageId) == null ? void 0 : _a.get(message.id) : void 0;
106
+ const parts = contentToParts(message.content, metadata, message.id);
107
+ return {
108
+ role: "user",
109
+ id: message.id,
110
+ content: (attachments == null ? void 0 : attachments.length) ? dropAttachmentDuplicates(parts, attachments) : parts,
111
+ metadata: { custom: getCustomMetadata(message.additional_kwargs) },
112
+ ...(attachments == null ? void 0 : attachments.length) ? { attachments } : {}
113
+ };
114
+ }
115
+ case "ai": {
116
+ const toolCallParts = ((_b = message.tool_calls) == null ? void 0 : _b.map((chunk, idx) => {
117
+ var _a2;
118
+ const fallbackIndex = chunk.index ?? idx;
119
+ const toolCallId = chunk.id ? chunk.id : `lc-toolcall-${message.id ?? "unknown"}-${fallbackIndex}`;
120
+ const matchingToolCallChunk = (_a2 = message.tool_call_chunks) == null ? void 0 : _a2.find((c) => chunk.id ? c.id === chunk.id : c.index === fallbackIndex);
121
+ const { args, argsText } = resolveToolCallArgs({
122
+ chunk,
123
+ matchingToolCallChunk,
124
+ messageId: message.id,
125
+ toolArgsKeyOrderCache: metadata.toolArgsKeyOrderCache,
126
+ toolCallId
127
+ });
128
+ return {
129
+ type: "tool-call",
130
+ toolCallId,
131
+ toolName: chunk.name,
132
+ args,
133
+ argsText
134
+ };
135
+ })) ?? [];
136
+ const normalizedContent = typeof message.content === "string" ? [{
137
+ type: "text",
138
+ text: message.content
139
+ }] : message.content ?? [];
140
+ const allContent = [
141
+ (_c = message.additional_kwargs) == null ? void 0 : _c.reasoning,
142
+ ...normalizedContent,
143
+ ...((_d = message.additional_kwargs) == null ? void 0 : _d.tool_outputs) ?? []
144
+ ].filter((c) => c !== void 0);
145
+ const uiDataParts = (message.id ? (_f = (_e = metadata.uiMessagesByParent) == null ? void 0 : _e.get(message.id)) == null ? void 0 : _f.map(uiMessageToDataPart) : void 0) ?? [];
146
+ const timing = message.id ? (_g = metadata.messageTiming) == null ? void 0 : _g[message.id] : void 0;
147
+ return {
148
+ role: "assistant",
149
+ id: message.id,
150
+ content: [
151
+ ...withAudioTranscript(contentToParts(allContent, metadata, message.id), message.additional_kwargs),
152
+ ...toolCallParts,
153
+ ...uiDataParts
154
+ ],
155
+ metadata: {
156
+ custom: getCustomMetadata(message.additional_kwargs),
157
+ ...timing && { timing }
158
+ },
159
+ ...message.status && { status: message.status }
160
+ };
161
+ }
162
+ case "remove":
163
+ return [];
164
+ case "tool":
165
+ return {
166
+ role: "tool",
167
+ toolName: message.name,
168
+ toolCallId: message.tool_call_id,
169
+ result: message.content,
170
+ artifact: message.artifact,
171
+ isError: message.status === "error"
172
+ };
173
+ default:
174
+ warnForUnknownMessageType(type);
175
+ return [];
176
+ }
177
+ };
178
+ export {
179
+ convertLangChainMessages
180
+ };
181
+ //# sourceMappingURL=convertLangChainMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertLangChainMessages.js","sources":["../../../../../../../node_modules/@assistant-ui/react-langgraph/dist/convertLangChainMessages.js"],"sourcesContent":["\"use client\";\nimport { parsePartialJsonObject } from \"assistant-stream/utils\";\nimport { parseDataUrl, stableStringifyToolArgs, trackToolArgsKeyOrder } from \"@assistant-ui/core/internal\";\nimport { convertLangChainContentBlock, getCustomMetadata, getMessageContent, uiMessageToDataPart, withAudioTranscript } from \"@assistant-ui/react-langchain/converter\";\n//#region src/convertLangChainMessages.ts\nconst getToolArgsCacheKey = (messageId, kind, toolCallId) => `${messageId ?? \"unknown\"}:${kind}:${toolCallId}`;\nconst resolveToolCallArgs = ({ chunk, matchingToolCallChunk, messageId, toolArgsKeyOrderCache, toolCallId }) => {\n\tconst cacheKey = getToolArgsCacheKey(messageId, \"tool\", toolCallId);\n\tconst streamedArgsText = matchingToolCallChunk?.args ?? matchingToolCallChunk?.args_json;\n\tconst isStreamingArglessChunk = matchingToolCallChunk !== void 0 && streamedArgsText === void 0 && Object.keys(chunk.args).length === 0;\n\tconst providedArgsText = chunk.partial_json ?? streamedArgsText ?? (isStreamingArglessChunk ? \"\" : void 0);\n\tconst argsText = providedArgsText ?? stableStringifyToolArgs(toolArgsKeyOrderCache, cacheKey, chunk.args);\n\tconst parsedPartialArgs = argsText ? parsePartialJsonObject(argsText) : null;\n\tconst args = argsText ? parsedPartialArgs ?? {} : chunk.args;\n\ttrackToolArgsKeyOrder(toolArgsKeyOrderCache, cacheKey, parsedPartialArgs ?? chunk.args);\n\tif (providedArgsText == null) toolArgsKeyOrderCache?.delete(cacheKey);\n\treturn {\n\t\targs,\n\t\targsText\n\t};\n};\nconst warnedMessagePartTypes = /* @__PURE__ */ new Set();\nconst warnForUnknownMessagePartType = (type) => {\n\tif (typeof process === \"undefined\" || process?.env?.NODE_ENV !== \"development\") return;\n\tif (warnedMessagePartTypes.has(type)) return;\n\twarnedMessagePartTypes.add(type);\n\tconsole.warn(`Unknown message part type: ${type}`);\n};\nconst warnedMessageTypes = /* @__PURE__ */ new Set();\nconst warnForUnknownMessageType = (type) => {\n\tif (typeof process === \"undefined\" || process?.env?.NODE_ENV !== \"development\") return;\n\tif (warnedMessageTypes.has(type)) return;\n\twarnedMessageTypes.add(type);\n\tconsole.warn(`Unknown message type: ${type}`);\n};\nconst contentToParts = (content, metadata, messageId) => {\n\tif (content == null) return [];\n\tif (typeof content === \"string\") return [{\n\t\ttype: \"text\",\n\t\ttext: content\n\t}];\n\treturn content.map((part) => {\n\t\tif (part.type === \"computer_call\") {\n\t\t\tconst args = part.action;\n\t\t\treturn {\n\t\t\t\ttype: \"tool-call\",\n\t\t\t\ttoolCallId: part.call_id,\n\t\t\t\ttoolName: \"computer_call\",\n\t\t\t\targs,\n\t\t\t\targsText: stableStringifyToolArgs(metadata.toolArgsKeyOrderCache, getToolArgsCacheKey(messageId, \"computer\", part.call_id), args)\n\t\t\t};\n\t\t}\n\t\tconst converted = convertLangChainContentBlock(part);\n\t\tif (converted === void 0) {\n\t\t\twarnForUnknownMessagePartType(part.type);\n\t\t\treturn null;\n\t\t}\n\t\treturn converted;\n\t}).filter((a) => a !== null);\n};\nconst normalizePayload = (value) => parseDataUrl(value)?.data ?? value;\nconst attachmentPartKey = (part) => {\n\tif (part.type === \"image\" && typeof part.image === \"string\") return `image:${normalizePayload(part.image)}`;\n\tif (part.type === \"file\" && typeof part.data === \"string\") return `file:${normalizePayload(part.data)}`;\n\tif (part.type === \"audio\" && part.audio) return `file:${normalizePayload(part.audio.data)}`;\n\treturn null;\n};\n/**\n* getMessageContent flattens attachment content into the wire message while\n* the runtime reattaches the original attachments for chip rendering, so in\n* the sender's session each attachment payload arrives back twice. Drops the\n* flattened copies, at most one content part per attachment part, consuming\n* from the trailing end because getMessageContent appends the flattened\n* copies after the user's direct content; on reload the staging map is empty\n* and content parts pass through untouched.\n*/\nconst dropAttachmentDuplicates = (parts, attachments) => {\n\tconst counts = /* @__PURE__ */ new Map();\n\tfor (const part of attachments.flatMap((a) => a.content)) {\n\t\tconst key = attachmentPartKey(part);\n\t\tif (key) counts.set(key, (counts.get(key) ?? 0) + 1);\n\t}\n\tif (counts.size === 0) return parts;\n\tconst dropped = /* @__PURE__ */ new Set();\n\tfor (let i = parts.length - 1; i >= 0; i--) {\n\t\tconst key = attachmentPartKey(parts[i]);\n\t\tif (!key) continue;\n\t\tconst remaining = counts.get(key);\n\t\tif (!remaining) continue;\n\t\tcounts.set(key, remaining - 1);\n\t\tdropped.add(i);\n\t}\n\tif (dropped.size === 0) return parts;\n\treturn parts.filter((_, i) => !dropped.has(i));\n};\nconst convertLangChainMessages = (message, metadata = {}) => {\n\tconst type = message.type;\n\tswitch (type) {\n\t\tcase \"system\": return {\n\t\t\trole: \"system\",\n\t\t\tid: message.id,\n\t\t\tcontent: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: message.content\n\t\t\t}],\n\t\t\tmetadata: { custom: getCustomMetadata(message.additional_kwargs) }\n\t\t};\n\t\tcase \"human\": {\n\t\t\tconst attachments = message.id ? metadata.attachmentsByMessageId?.get(message.id) : void 0;\n\t\t\tconst parts = contentToParts(message.content, metadata, message.id);\n\t\t\treturn {\n\t\t\t\trole: \"user\",\n\t\t\t\tid: message.id,\n\t\t\t\tcontent: attachments?.length ? dropAttachmentDuplicates(parts, attachments) : parts,\n\t\t\t\tmetadata: { custom: getCustomMetadata(message.additional_kwargs) },\n\t\t\t\t...attachments?.length ? { attachments } : {}\n\t\t\t};\n\t\t}\n\t\tcase \"ai\": {\n\t\t\tconst toolCallParts = message.tool_calls?.map((chunk, idx) => {\n\t\t\t\tconst fallbackIndex = chunk.index ?? idx;\n\t\t\t\tconst toolCallId = chunk.id ? chunk.id : `lc-toolcall-${message.id ?? \"unknown\"}-${fallbackIndex}`;\n\t\t\t\tconst matchingToolCallChunk = message.tool_call_chunks?.find((c) => chunk.id ? c.id === chunk.id : c.index === fallbackIndex);\n\t\t\t\tconst { args, argsText } = resolveToolCallArgs({\n\t\t\t\t\tchunk,\n\t\t\t\t\tmatchingToolCallChunk,\n\t\t\t\t\tmessageId: message.id,\n\t\t\t\t\ttoolArgsKeyOrderCache: metadata.toolArgsKeyOrderCache,\n\t\t\t\t\ttoolCallId\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"tool-call\",\n\t\t\t\t\ttoolCallId,\n\t\t\t\t\ttoolName: chunk.name,\n\t\t\t\t\targs,\n\t\t\t\t\targsText\n\t\t\t\t};\n\t\t\t}) ?? [];\n\t\t\tconst normalizedContent = typeof message.content === \"string\" ? [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: message.content\n\t\t\t}] : message.content ?? [];\n\t\t\tconst allContent = [\n\t\t\t\tmessage.additional_kwargs?.reasoning,\n\t\t\t\t...normalizedContent,\n\t\t\t\t...message.additional_kwargs?.tool_outputs ?? []\n\t\t\t].filter((c) => c !== void 0);\n\t\t\tconst uiDataParts = (message.id ? metadata.uiMessagesByParent?.get(message.id)?.map(uiMessageToDataPart) : void 0) ?? [];\n\t\t\tconst timing = message.id ? metadata.messageTiming?.[message.id] : void 0;\n\t\t\treturn {\n\t\t\t\trole: \"assistant\",\n\t\t\t\tid: message.id,\n\t\t\t\tcontent: [\n\t\t\t\t\t...withAudioTranscript(contentToParts(allContent, metadata, message.id), message.additional_kwargs),\n\t\t\t\t\t...toolCallParts,\n\t\t\t\t\t...uiDataParts\n\t\t\t\t],\n\t\t\t\tmetadata: {\n\t\t\t\t\tcustom: getCustomMetadata(message.additional_kwargs),\n\t\t\t\t\t...timing && { timing }\n\t\t\t\t},\n\t\t\t\t...message.status && { status: message.status }\n\t\t\t};\n\t\t}\n\t\tcase \"remove\": return [];\n\t\tcase \"tool\": return {\n\t\t\trole: \"tool\",\n\t\t\ttoolName: message.name,\n\t\t\ttoolCallId: message.tool_call_id,\n\t\t\tresult: message.content,\n\t\t\tartifact: message.artifact,\n\t\t\tisError: message.status === \"error\"\n\t\t};\n\t\tdefault:\n\t\t\twarnForUnknownMessageType(type);\n\t\t\treturn [];\n\t}\n};\n//#endregion\nexport { convertLangChainMessages, getMessageContent };\n\n//# sourceMappingURL=convertLangChainMessages.js.map"],"names":["_a"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ (function() {
3
+ const EXP_TABLE = new Array(256);
4
+ const LOG_TABLE = new Array(256);
5
+ for (let i = 0; i < 8; i += 1) {
6
+ EXP_TABLE[i] = 1 << i;
7
+ }
8
+ for (let i = 8; i < 256; i += 1) {
9
+ EXP_TABLE[i] = EXP_TABLE[i - 4] ^ EXP_TABLE[i - 5] ^ EXP_TABLE[i - 6] ^ EXP_TABLE[i - 8];
10
+ }
11
+ for (let i = 0; i < 255; i += 1) {
12
+ LOG_TABLE[EXP_TABLE[i]] = i;
13
+ }
14
+ const _this = {};
15
+ _this.glog = function(n) {
16
+ if (n < 1) {
17
+ throw "glog(" + n + ")";
18
+ }
19
+ return LOG_TABLE[n];
20
+ };
21
+ _this.gexp = function(n) {
22
+ while (n < 0) {
23
+ n += 255;
24
+ }
25
+ while (n >= 256) {
26
+ n -= 255;
27
+ }
28
+ return EXP_TABLE[n];
29
+ };
30
+ return _this;
31
+ })();
32
+ //# sourceMappingURL=qrcode.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qrcode.cjs","sources":["../../../../../../node_modules/qrcode-generator/dist/qrcode.mjs"],"sourcesContent":["//---------------------------------------------------------------------\n//\n// QR Code Generator for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word 'QR Code' is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n\n//---------------------------------------------------------------------\n// qrcode\n//---------------------------------------------------------------------\n\n/**\n * qrcode\n * @param typeNumber 1 to 40\n * @param errorCorrectionLevel 'L','M','Q','H'\n */\nexport const qrcode = function(typeNumber, errorCorrectionLevel) {\n\n const PAD0 = 0xEC;\n const PAD1 = 0x11;\n\n let _typeNumber = typeNumber;\n const _errorCorrectionLevel = QRErrorCorrectionLevel[errorCorrectionLevel];\n let _modules = null;\n let _moduleCount = 0;\n let _dataCache = null;\n const _dataList = [];\n\n const _this = {};\n\n const makeImpl = function(test, maskPattern) {\n\n _moduleCount = _typeNumber * 4 + 17;\n _modules = function(moduleCount) {\n const modules = new Array(moduleCount);\n for (let row = 0; row < moduleCount; row += 1) {\n modules[row] = new Array(moduleCount);\n for (let col = 0; col < moduleCount; col += 1) {\n modules[row][col] = null;\n }\n }\n return modules;\n }(_moduleCount);\n\n setupPositionProbePattern(0, 0);\n setupPositionProbePattern(_moduleCount - 7, 0);\n setupPositionProbePattern(0, _moduleCount - 7);\n setupPositionAdjustPattern();\n setupTimingPattern();\n setupTypeInfo(test, maskPattern);\n\n if (_typeNumber >= 7) {\n setupTypeNumber(test);\n }\n\n if (_dataCache == null) {\n _dataCache = createData(_typeNumber, _errorCorrectionLevel, _dataList);\n }\n\n mapData(_dataCache, maskPattern);\n };\n\n const setupPositionProbePattern = function(row, col) {\n\n for (let r = -1; r <= 7; r += 1) {\n\n if (row + r <= -1 || _moduleCount <= row + r) continue;\n\n for (let c = -1; c <= 7; c += 1) {\n\n if (col + c <= -1 || _moduleCount <= col + c) continue;\n\n if ( (0 <= r && r <= 6 && (c == 0 || c == 6) )\n || (0 <= c && c <= 6 && (r == 0 || r == 6) )\n || (2 <= r && r <= 4 && 2 <= c && c <= 4) ) {\n _modules[row + r][col + c] = true;\n } else {\n _modules[row + r][col + c] = false;\n }\n }\n }\n };\n\n const getBestMaskPattern = function() {\n\n let minLostPoint = 0;\n let pattern = 0;\n\n for (let i = 0; i < 8; i += 1) {\n\n makeImpl(true, i);\n\n const lostPoint = QRUtil.getLostPoint(_this);\n\n if (i == 0 || minLostPoint > lostPoint) {\n minLostPoint = lostPoint;\n pattern = i;\n }\n }\n\n return pattern;\n };\n\n const setupTimingPattern = function() {\n\n for (let r = 8; r < _moduleCount - 8; r += 1) {\n if (_modules[r][6] != null) {\n continue;\n }\n _modules[r][6] = (r % 2 == 0);\n }\n\n for (let c = 8; c < _moduleCount - 8; c += 1) {\n if (_modules[6][c] != null) {\n continue;\n }\n _modules[6][c] = (c % 2 == 0);\n }\n };\n\n const setupPositionAdjustPattern = function() {\n\n const pos = QRUtil.getPatternPosition(_typeNumber);\n\n for (let i = 0; i < pos.length; i += 1) {\n\n for (let j = 0; j < pos.length; j += 1) {\n\n const row = pos[i];\n const col = pos[j];\n\n if (_modules[row][col] != null) {\n continue;\n }\n\n for (let r = -2; r <= 2; r += 1) {\n\n for (let c = -2; c <= 2; c += 1) {\n\n if (r == -2 || r == 2 || c == -2 || c == 2\n || (r == 0 && c == 0) ) {\n _modules[row + r][col + c] = true;\n } else {\n _modules[row + r][col + c] = false;\n }\n }\n }\n }\n }\n };\n\n const setupTypeNumber = function(test) {\n\n const bits = QRUtil.getBCHTypeNumber(_typeNumber);\n\n for (let i = 0; i < 18; i += 1) {\n const mod = (!test && ( (bits >> i) & 1) == 1);\n _modules[Math.floor(i / 3)][i % 3 + _moduleCount - 8 - 3] = mod;\n }\n\n for (let i = 0; i < 18; i += 1) {\n const mod = (!test && ( (bits >> i) & 1) == 1);\n _modules[i % 3 + _moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n }\n };\n\n const setupTypeInfo = function(test, maskPattern) {\n\n const data = (_errorCorrectionLevel << 3) | maskPattern;\n const bits = QRUtil.getBCHTypeInfo(data);\n\n // vertical\n for (let i = 0; i < 15; i += 1) {\n\n const mod = (!test && ( (bits >> i) & 1) == 1);\n\n if (i < 6) {\n _modules[i][8] = mod;\n } else if (i < 8) {\n _modules[i + 1][8] = mod;\n } else {\n _modules[_moduleCount - 15 + i][8] = mod;\n }\n }\n\n // horizontal\n for (let i = 0; i < 15; i += 1) {\n\n const mod = (!test && ( (bits >> i) & 1) == 1);\n\n if (i < 8) {\n _modules[8][_moduleCount - i - 1] = mod;\n } else if (i < 9) {\n _modules[8][15 - i - 1 + 1] = mod;\n } else {\n _modules[8][15 - i - 1] = mod;\n }\n }\n\n // fixed module\n _modules[_moduleCount - 8][8] = (!test);\n };\n\n const mapData = function(data, maskPattern) {\n\n let inc = -1;\n let row = _moduleCount - 1;\n let bitIndex = 7;\n let byteIndex = 0;\n const maskFunc = QRUtil.getMaskFunction(maskPattern);\n\n for (let col = _moduleCount - 1; col > 0; col -= 2) {\n\n if (col == 6) col -= 1;\n\n while (true) {\n\n for (let c = 0; c < 2; c += 1) {\n\n if (_modules[row][col - c] == null) {\n\n let dark = false;\n\n if (byteIndex < data.length) {\n dark = ( ( (data[byteIndex] >>> bitIndex) & 1) == 1);\n }\n\n const mask = maskFunc(row, col - c);\n\n if (mask) {\n dark = !dark;\n }\n\n _modules[row][col - c] = dark;\n bitIndex -= 1;\n\n if (bitIndex == -1) {\n byteIndex += 1;\n bitIndex = 7;\n }\n }\n }\n\n row += inc;\n\n if (row < 0 || _moduleCount <= row) {\n row -= inc;\n inc = -inc;\n break;\n }\n }\n }\n };\n\n const createBytes = function(buffer, rsBlocks) {\n\n let offset = 0;\n\n let maxDcCount = 0;\n let maxEcCount = 0;\n\n const dcdata = new Array(rsBlocks.length);\n const ecdata = new Array(rsBlocks.length);\n\n for (let r = 0; r < rsBlocks.length; r += 1) {\n\n const dcCount = rsBlocks[r].dataCount;\n const ecCount = rsBlocks[r].totalCount - dcCount;\n\n maxDcCount = Math.max(maxDcCount, dcCount);\n maxEcCount = Math.max(maxEcCount, ecCount);\n\n dcdata[r] = new Array(dcCount);\n\n for (let i = 0; i < dcdata[r].length; i += 1) {\n dcdata[r][i] = 0xff & buffer.getBuffer()[i + offset];\n }\n offset += dcCount;\n\n const rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount);\n const rawPoly = qrPolynomial(dcdata[r], rsPoly.getLength() - 1);\n\n const modPoly = rawPoly.mod(rsPoly);\n ecdata[r] = new Array(rsPoly.getLength() - 1);\n for (let i = 0; i < ecdata[r].length; i += 1) {\n const modIndex = i + modPoly.getLength() - ecdata[r].length;\n ecdata[r][i] = (modIndex >= 0)? modPoly.getAt(modIndex) : 0;\n }\n }\n\n let totalCodeCount = 0;\n for (let i = 0; i < rsBlocks.length; i += 1) {\n totalCodeCount += rsBlocks[i].totalCount;\n }\n\n const data = new Array(totalCodeCount);\n let index = 0;\n\n for (let i = 0; i < maxDcCount; i += 1) {\n for (let r = 0; r < rsBlocks.length; r += 1) {\n if (i < dcdata[r].length) {\n data[index] = dcdata[r][i];\n index += 1;\n }\n }\n }\n\n for (let i = 0; i < maxEcCount; i += 1) {\n for (let r = 0; r < rsBlocks.length; r += 1) {\n if (i < ecdata[r].length) {\n data[index] = ecdata[r][i];\n index += 1;\n }\n }\n }\n\n return data;\n };\n\n const createData = function(typeNumber, errorCorrectionLevel, dataList) {\n\n const rsBlocks = QRRSBlock.getRSBlocks(typeNumber, errorCorrectionLevel);\n\n const buffer = qrBitBuffer();\n\n for (let i = 0; i < dataList.length; i += 1) {\n const data = dataList[i];\n buffer.put(data.getMode(), 4);\n buffer.put(data.getLength(), QRUtil.getLengthInBits(data.getMode(), typeNumber) );\n data.write(buffer);\n }\n\n // calc num max data.\n let totalDataCount = 0;\n for (let i = 0; i < rsBlocks.length; i += 1) {\n totalDataCount += rsBlocks[i].dataCount;\n }\n\n if (buffer.getLengthInBits() > totalDataCount * 8) {\n throw 'code length overflow. ('\n + buffer.getLengthInBits()\n + '>'\n + totalDataCount * 8\n + ')';\n }\n\n // end code\n if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n buffer.put(0, 4);\n }\n\n // padding\n while (buffer.getLengthInBits() % 8 != 0) {\n buffer.putBit(false);\n }\n\n // padding\n while (true) {\n\n if (buffer.getLengthInBits() >= totalDataCount * 8) {\n break;\n }\n buffer.put(PAD0, 8);\n\n if (buffer.getLengthInBits() >= totalDataCount * 8) {\n break;\n }\n buffer.put(PAD1, 8);\n }\n\n return createBytes(buffer, rsBlocks);\n };\n\n _this.addData = function(data, mode) {\n\n mode = mode || 'Byte';\n\n let newData = null;\n\n switch(mode) {\n case 'Numeric' :\n newData = qrNumber(data);\n break;\n case 'Alphanumeric' :\n newData = qrAlphaNum(data);\n break;\n case 'Byte' :\n newData = qr8BitByte(data);\n break;\n case 'Kanji' :\n newData = qrKanji(data);\n break;\n default :\n throw 'mode:' + mode;\n }\n\n _dataList.push(newData);\n _dataCache = null;\n };\n\n _this.isDark = function(row, col) {\n if (row < 0 || _moduleCount <= row || col < 0 || _moduleCount <= col) {\n throw row + ',' + col;\n }\n return _modules[row][col];\n };\n\n _this.getModuleCount = function() {\n return _moduleCount;\n };\n\n _this.make = function() {\n if (_typeNumber < 1) {\n let typeNumber = 1;\n\n for (; typeNumber < 40; typeNumber++) {\n const rsBlocks = QRRSBlock.getRSBlocks(typeNumber, _errorCorrectionLevel);\n const buffer = qrBitBuffer();\n\n for (let i = 0; i < _dataList.length; i++) {\n const data = _dataList[i];\n buffer.put(data.getMode(), 4);\n buffer.put(data.getLength(), QRUtil.getLengthInBits(data.getMode(), typeNumber) );\n data.write(buffer);\n }\n\n let totalDataCount = 0;\n for (let i = 0; i < rsBlocks.length; i++) {\n totalDataCount += rsBlocks[i].dataCount;\n }\n\n if (buffer.getLengthInBits() <= totalDataCount * 8) {\n break;\n }\n }\n\n _typeNumber = typeNumber;\n }\n\n makeImpl(false, getBestMaskPattern() );\n };\n\n _this.createTableTag = function(cellSize, margin) {\n\n cellSize = cellSize || 2;\n margin = (typeof margin == 'undefined')? cellSize * 4 : margin;\n\n let qrHtml = '';\n\n qrHtml += '<table style=\"';\n qrHtml += ' border-width: 0px; border-style: none;';\n qrHtml += ' border-collapse: collapse;';\n qrHtml += ' padding: 0px; margin: ' + margin + 'px;';\n qrHtml += '\">';\n qrHtml += '<tbody>';\n\n for (let r = 0; r < _this.getModuleCount(); r += 1) {\n\n qrHtml += '<tr>';\n\n for (let c = 0; c < _this.getModuleCount(); c += 1) {\n qrHtml += '<td style=\"';\n qrHtml += ' border-width: 0px; border-style: none;';\n qrHtml += ' border-collapse: collapse;';\n qrHtml += ' padding: 0px; margin: 0px;';\n qrHtml += ' width: ' + cellSize + 'px;';\n qrHtml += ' height: ' + cellSize + 'px;';\n qrHtml += ' background-color: ';\n qrHtml += _this.isDark(r, c)? '#000000' : '#ffffff';\n qrHtml += ';';\n qrHtml += '\"/>';\n }\n\n qrHtml += '</tr>';\n }\n\n qrHtml += '</tbody>';\n qrHtml += '</table>';\n\n return qrHtml;\n };\n\n _this.createSvgTag = function(cellSize, margin, alt, title) {\n\n let opts = {};\n if (typeof arguments[0] == 'object') {\n // Called by options.\n opts = arguments[0];\n // overwrite cellSize and margin.\n cellSize = opts.cellSize;\n margin = opts.margin;\n alt = opts.alt;\n title = opts.title;\n }\n\n cellSize = cellSize || 2;\n margin = (typeof margin == 'undefined')? cellSize * 4 : margin;\n\n // Compose alt property surrogate\n alt = (typeof alt === 'string') ? {text: alt} : alt || {};\n alt.text = alt.text || null;\n alt.id = (alt.text) ? alt.id || 'qrcode-description' : null;\n\n // Compose title property surrogate\n title = (typeof title === 'string') ? {text: title} : title || {};\n title.text = title.text || null;\n title.id = (title.text) ? title.id || 'qrcode-title' : null;\n\n const size = _this.getModuleCount() * cellSize + margin * 2;\n let c, mc, r, mr, qrSvg='', rect;\n\n rect = 'l' + cellSize + ',0 0,' + cellSize +\n ' -' + cellSize + ',0 0,-' + cellSize + 'z ';\n\n qrSvg += '<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"';\n qrSvg += !opts.scalable ? ' width=\"' + size + 'px\" height=\"' + size + 'px\"' : '';\n qrSvg += ' viewBox=\"0 0 ' + size + ' ' + size + '\" ';\n qrSvg += ' preserveAspectRatio=\"xMinYMin meet\"';\n qrSvg += (title.text || alt.text) ? ' role=\"img\" aria-labelledby=\"' +\n escapeXml([title.id, alt.id].join(' ').trim() ) + '\"' : '';\n qrSvg += '>';\n qrSvg += (title.text) ? '<title id=\"' + escapeXml(title.id) + '\">' +\n escapeXml(title.text) + '</title>' : '';\n qrSvg += (alt.text) ? '<description id=\"' + escapeXml(alt.id) + '\">' +\n escapeXml(alt.text) + '</description>' : '';\n qrSvg += '<rect width=\"100%\" height=\"100%\" fill=\"white\" cx=\"0\" cy=\"0\"/>';\n qrSvg += '<path d=\"';\n\n for (r = 0; r < _this.getModuleCount(); r += 1) {\n mr = r * cellSize + margin;\n for (c = 0; c < _this.getModuleCount(); c += 1) {\n if (_this.isDark(r, c) ) {\n mc = c*cellSize+margin;\n qrSvg += 'M' + mc + ',' + mr + rect;\n }\n }\n }\n\n qrSvg += '\" stroke=\"transparent\" fill=\"black\"/>';\n qrSvg += '</svg>';\n\n return qrSvg;\n };\n\n _this.createDataURL = function(cellSize, margin) {\n\n cellSize = cellSize || 2;\n margin = (typeof margin == 'undefined')? cellSize * 4 : margin;\n\n const size = _this.getModuleCount() * cellSize + margin * 2;\n const min = margin;\n const max = size - margin;\n\n return createDataURL(size, size, function(x, y) {\n if (min <= x && x < max && min <= y && y < max) {\n const c = Math.floor( (x - min) / cellSize);\n const r = Math.floor( (y - min) / cellSize);\n return _this.isDark(r, c)? 0 : 1;\n } else {\n return 1;\n }\n } );\n };\n\n _this.createImgTag = function(cellSize, margin, alt) {\n\n cellSize = cellSize || 2;\n margin = (typeof margin == 'undefined')? cellSize * 4 : margin;\n\n const size = _this.getModuleCount() * cellSize + margin * 2;\n\n let img = '';\n img += '<img';\n img += '\\u0020src=\"';\n img += _this.createDataURL(cellSize, margin);\n img += '\"';\n img += '\\u0020width=\"';\n img += size;\n img += '\"';\n img += '\\u0020height=\"';\n img += size;\n img += '\"';\n if (alt) {\n img += '\\u0020alt=\"';\n img += escapeXml(alt);\n img += '\"';\n }\n img += '/>';\n\n return img;\n };\n\n const escapeXml = function(s) {\n let escaped = '';\n for (let i = 0; i < s.length; i += 1) {\n const c = s.charAt(i);\n switch(c) {\n case '<': escaped += '&lt;'; break;\n case '>': escaped += '&gt;'; break;\n case '&': escaped += '&amp;'; break;\n case '\"': escaped += '&quot;'; break;\n default : escaped += c; break;\n }\n }\n return escaped;\n };\n\n const _createHalfASCII = function(margin) {\n const cellSize = 1;\n margin = (typeof margin == 'undefined')? cellSize * 2 : margin;\n\n const size = _this.getModuleCount() * cellSize + margin * 2;\n const min = margin;\n const max = size - margin;\n\n let y, x, r1, r2, p;\n\n const blocks = {\n '██': '█',\n '█ ': '▀',\n ' █': '▄',\n ' ': ' '\n };\n\n const blocksLastLineNoMargin = {\n '██': '▀',\n '█ ': '▀',\n ' █': ' ',\n ' ': ' '\n };\n\n let ascii = '';\n for (y = 0; y < size; y += 2) {\n r1 = Math.floor((y - min) / cellSize);\n r2 = Math.floor((y + 1 - min) / cellSize);\n for (x = 0; x < size; x += 1) {\n p = '█';\n\n if (min <= x && x < max && min <= y && y < max && _this.isDark(r1, Math.floor((x - min) / cellSize))) {\n p = ' ';\n }\n\n if (min <= x && x < max && min <= y+1 && y+1 < max && _this.isDark(r2, Math.floor((x - min) / cellSize))) {\n p += ' ';\n }\n else {\n p += '█';\n }\n\n // Output 2 characters per pixel, to create full square. 1 character per pixels gives only half width of square.\n ascii += (margin < 1 && y+1 >= max) ? blocksLastLineNoMargin[p] : blocks[p];\n }\n\n ascii += '\\n';\n }\n\n if (size % 2 && margin > 0) {\n return ascii.substring(0, ascii.length - size - 1) + Array(size+1).join('▀');\n }\n\n return ascii.substring(0, ascii.length-1);\n };\n\n _this.createASCII = function(cellSize, margin) {\n cellSize = cellSize || 1;\n\n if (cellSize < 2) {\n return _createHalfASCII(margin);\n }\n\n cellSize -= 1;\n margin = (typeof margin == 'undefined')? cellSize * 2 : margin;\n\n const size = _this.getModuleCount() * cellSize + margin * 2;\n const min = margin;\n const max = size - margin;\n\n let y, x, r, p;\n\n const white = Array(cellSize+1).join('██');\n const black = Array(cellSize+1).join(' ');\n\n let ascii = '';\n let line = '';\n for (y = 0; y < size; y += 1) {\n r = Math.floor( (y - min) / cellSize);\n line = '';\n for (x = 0; x < size; x += 1) {\n p = 1;\n\n if (min <= x && x < max && min <= y && y < max && _this.isDark(r, Math.floor((x - min) / cellSize))) {\n p = 0;\n }\n\n // Output 2 characters per pixel, to create full square. 1 character per pixels gives only half width of square.\n line += p ? white : black;\n }\n\n for (r = 0; r < cellSize; r += 1) {\n ascii += line + '\\n';\n }\n }\n\n return ascii.substring(0, ascii.length-1);\n };\n\n _this.renderTo2dContext = function(context, cellSize) {\n cellSize = cellSize || 2;\n const length = _this.getModuleCount();\n for (let row = 0; row < length; row++) {\n for (let col = 0; col < length; col++) {\n context.fillStyle = _this.isDark(row, col) ? 'black' : 'white';\n context.fillRect(col * cellSize, row * cellSize, cellSize, cellSize);\n }\n }\n }\n\n return _this;\n};\n\n//---------------------------------------------------------------------\n// qrcode.stringToBytes\n//---------------------------------------------------------------------\n\nqrcode.stringToBytes = function(s) {\n const bytes = [];\n for (let i = 0; i < s.length; i += 1) {\n const c = s.charCodeAt(i);\n bytes.push(c & 0xff);\n }\n return bytes;\n};\n\n//---------------------------------------------------------------------\n// qrcode.createStringToBytes\n//---------------------------------------------------------------------\n\n/**\n * @param unicodeData base64 string of byte array.\n * [16bit Unicode],[16bit Bytes], ...\n * @param numChars\n */\nqrcode.createStringToBytes = function(unicodeData, numChars) {\n\n // create conversion map.\n\n const unicodeMap = function() {\n\n const bin = base64DecodeInputStream(unicodeData);\n const read = function() {\n const b = bin.read();\n if (b == -1) throw 'eof';\n return b;\n };\n\n let count = 0;\n const unicodeMap = {};\n while (true) {\n const b0 = bin.read();\n if (b0 == -1) break;\n const b1 = read();\n const b2 = read();\n const b3 = read();\n const k = String.fromCharCode( (b0 << 8) | b1);\n const v = (b2 << 8) | b3;\n unicodeMap[k] = v;\n count += 1;\n }\n if (count != numChars) {\n throw count + ' != ' + numChars;\n }\n\n return unicodeMap;\n }();\n\n const unknownChar = '?'.charCodeAt(0);\n\n return function(s) {\n const bytes = [];\n for (let i = 0; i < s.length; i += 1) {\n const c = s.charCodeAt(i);\n if (c < 128) {\n bytes.push(c);\n } else {\n const b = unicodeMap[s.charAt(i)];\n if (typeof b == 'number') {\n if ( (b & 0xff) == b) {\n // 1byte\n bytes.push(b);\n } else {\n // 2bytes\n bytes.push(b >>> 8);\n bytes.push(b & 0xff);\n }\n } else {\n bytes.push(unknownChar);\n }\n }\n }\n return bytes;\n };\n};\n\n//---------------------------------------------------------------------\n// QRMode\n//---------------------------------------------------------------------\n\nconst QRMode = {\n MODE_NUMBER : 1 << 0,\n MODE_ALPHA_NUM : 1 << 1,\n MODE_8BIT_BYTE : 1 << 2,\n MODE_KANJI : 1 << 3\n};\n\n//---------------------------------------------------------------------\n// QRErrorCorrectionLevel\n//---------------------------------------------------------------------\n\nconst QRErrorCorrectionLevel = {\n L : 1,\n M : 0,\n Q : 3,\n H : 2\n};\n\n//---------------------------------------------------------------------\n// QRMaskPattern\n//---------------------------------------------------------------------\n\nconst QRMaskPattern = {\n PATTERN000 : 0,\n PATTERN001 : 1,\n PATTERN010 : 2,\n PATTERN011 : 3,\n PATTERN100 : 4,\n PATTERN101 : 5,\n PATTERN110 : 6,\n PATTERN111 : 7\n};\n\n//---------------------------------------------------------------------\n// QRUtil\n//---------------------------------------------------------------------\n\nconst QRUtil = function() {\n\n const PATTERN_POSITION_TABLE = [\n [],\n [6, 18],\n [6, 22],\n [6, 26],\n [6, 30],\n [6, 34],\n [6, 22, 38],\n [6, 24, 42],\n [6, 26, 46],\n [6, 28, 50],\n [6, 30, 54],\n [6, 32, 58],\n [6, 34, 62],\n [6, 26, 46, 66],\n [6, 26, 48, 70],\n [6, 26, 50, 74],\n [6, 30, 54, 78],\n [6, 30, 56, 82],\n [6, 30, 58, 86],\n [6, 34, 62, 90],\n [6, 28, 50, 72, 94],\n [6, 26, 50, 74, 98],\n [6, 30, 54, 78, 102],\n [6, 28, 54, 80, 106],\n [6, 32, 58, 84, 110],\n [6, 30, 58, 86, 114],\n [6, 34, 62, 90, 118],\n [6, 26, 50, 74, 98, 122],\n [6, 30, 54, 78, 102, 126],\n [6, 26, 52, 78, 104, 130],\n [6, 30, 56, 82, 108, 134],\n [6, 34, 60, 86, 112, 138],\n [6, 30, 58, 86, 114, 142],\n [6, 34, 62, 90, 118, 146],\n [6, 30, 54, 78, 102, 126, 150],\n [6, 24, 50, 76, 102, 128, 154],\n [6, 28, 54, 80, 106, 132, 158],\n [6, 32, 58, 84, 110, 136, 162],\n [6, 26, 54, 82, 110, 138, 166],\n [6, 30, 58, 86, 114, 142, 170]\n ];\n const G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0);\n const G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0);\n const G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1);\n\n const _this = {};\n\n const getBCHDigit = function(data) {\n let digit = 0;\n while (data != 0) {\n digit += 1;\n data >>>= 1;\n }\n return digit;\n };\n\n _this.getBCHTypeInfo = function(data) {\n let d = data << 10;\n while (getBCHDigit(d) - getBCHDigit(G15) >= 0) {\n d ^= (G15 << (getBCHDigit(d) - getBCHDigit(G15) ) );\n }\n return ( (data << 10) | d) ^ G15_MASK;\n };\n\n _this.getBCHTypeNumber = function(data) {\n let d = data << 12;\n while (getBCHDigit(d) - getBCHDigit(G18) >= 0) {\n d ^= (G18 << (getBCHDigit(d) - getBCHDigit(G18) ) );\n }\n return (data << 12) | d;\n };\n\n _this.getPatternPosition = function(typeNumber) {\n return PATTERN_POSITION_TABLE[typeNumber - 1];\n };\n\n _this.getMaskFunction = function(maskPattern) {\n\n switch (maskPattern) {\n\n case QRMaskPattern.PATTERN000 :\n return function(i, j) { return (i + j) % 2 == 0; };\n case QRMaskPattern.PATTERN001 :\n return function(i, j) { return i % 2 == 0; };\n case QRMaskPattern.PATTERN010 :\n return function(i, j) { return j % 3 == 0; };\n case QRMaskPattern.PATTERN011 :\n return function(i, j) { return (i + j) % 3 == 0; };\n case QRMaskPattern.PATTERN100 :\n return function(i, j) { return (Math.floor(i / 2) + Math.floor(j / 3) ) % 2 == 0; };\n case QRMaskPattern.PATTERN101 :\n return function(i, j) { return (i * j) % 2 + (i * j) % 3 == 0; };\n case QRMaskPattern.PATTERN110 :\n return function(i, j) { return ( (i * j) % 2 + (i * j) % 3) % 2 == 0; };\n case QRMaskPattern.PATTERN111 :\n return function(i, j) { return ( (i * j) % 3 + (i + j) % 2) % 2 == 0; };\n\n default :\n throw 'bad maskPattern:' + maskPattern;\n }\n };\n\n _this.getErrorCorrectPolynomial = function(errorCorrectLength) {\n let a = qrPolynomial([1], 0);\n for (let i = 0; i < errorCorrectLength; i += 1) {\n a = a.multiply(qrPolynomial([1, QRMath.gexp(i)], 0) );\n }\n return a;\n };\n\n _this.getLengthInBits = function(mode, type) {\n\n if (1 <= type && type < 10) {\n\n // 1 - 9\n\n switch(mode) {\n case QRMode.MODE_NUMBER : return 10;\n case QRMode.MODE_ALPHA_NUM : return 9;\n case QRMode.MODE_8BIT_BYTE : return 8;\n case QRMode.MODE_KANJI : return 8;\n default :\n throw 'mode:' + mode;\n }\n\n } else if (type < 27) {\n\n // 10 - 26\n\n switch(mode) {\n case QRMode.MODE_NUMBER : return 12;\n case QRMode.MODE_ALPHA_NUM : return 11;\n case QRMode.MODE_8BIT_BYTE : return 16;\n case QRMode.MODE_KANJI : return 10;\n default :\n throw 'mode:' + mode;\n }\n\n } else if (type < 41) {\n\n // 27 - 40\n\n switch(mode) {\n case QRMode.MODE_NUMBER : return 14;\n case QRMode.MODE_ALPHA_NUM : return 13;\n case QRMode.MODE_8BIT_BYTE : return 16;\n case QRMode.MODE_KANJI : return 12;\n default :\n throw 'mode:' + mode;\n }\n\n } else {\n throw 'type:' + type;\n }\n };\n\n _this.getLostPoint = function(qrcode) {\n\n const moduleCount = qrcode.getModuleCount();\n\n let lostPoint = 0;\n\n // LEVEL1\n\n for (let row = 0; row < moduleCount; row += 1) {\n for (let col = 0; col < moduleCount; col += 1) {\n\n let sameCount = 0;\n const dark = qrcode.isDark(row, col);\n\n for (let r = -1; r <= 1; r += 1) {\n\n if (row + r < 0 || moduleCount <= row + r) {\n continue;\n }\n\n for (let c = -1; c <= 1; c += 1) {\n\n if (col + c < 0 || moduleCount <= col + c) {\n continue;\n }\n\n if (r == 0 && c == 0) {\n continue;\n }\n\n if (dark == qrcode.isDark(row + r, col + c) ) {\n sameCount += 1;\n }\n }\n }\n\n if (sameCount > 5) {\n lostPoint += (3 + sameCount - 5);\n }\n }\n };\n\n // LEVEL2\n\n for (let row = 0; row < moduleCount - 1; row += 1) {\n for (let col = 0; col < moduleCount - 1; col += 1) {\n let count = 0;\n if (qrcode.isDark(row, col) ) count += 1;\n if (qrcode.isDark(row + 1, col) ) count += 1;\n if (qrcode.isDark(row, col + 1) ) count += 1;\n if (qrcode.isDark(row + 1, col + 1) ) count += 1;\n if (count == 0 || count == 4) {\n lostPoint += 3;\n }\n }\n }\n\n // LEVEL3\n\n for (let row = 0; row < moduleCount; row += 1) {\n for (let col = 0; col < moduleCount - 6; col += 1) {\n if (qrcode.isDark(row, col)\n && !qrcode.isDark(row, col + 1)\n && qrcode.isDark(row, col + 2)\n && qrcode.isDark(row, col + 3)\n && qrcode.isDark(row, col + 4)\n && !qrcode.isDark(row, col + 5)\n && qrcode.isDark(row, col + 6) ) {\n lostPoint += 40;\n }\n }\n }\n\n for (let col = 0; col < moduleCount; col += 1) {\n for (let row = 0; row < moduleCount - 6; row += 1) {\n if (qrcode.isDark(row, col)\n && !qrcode.isDark(row + 1, col)\n && qrcode.isDark(row + 2, col)\n && qrcode.isDark(row + 3, col)\n && qrcode.isDark(row + 4, col)\n && !qrcode.isDark(row + 5, col)\n && qrcode.isDark(row + 6, col) ) {\n lostPoint += 40;\n }\n }\n }\n\n // LEVEL4\n\n let darkCount = 0;\n\n for (let col = 0; col < moduleCount; col += 1) {\n for (let row = 0; row < moduleCount; row += 1) {\n if (qrcode.isDark(row, col) ) {\n darkCount += 1;\n }\n }\n }\n\n const ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n lostPoint += ratio * 10;\n\n return lostPoint;\n };\n\n return _this;\n}();\n\n//---------------------------------------------------------------------\n// QRMath\n//---------------------------------------------------------------------\n\nconst QRMath = function() {\n\n const EXP_TABLE = new Array(256);\n const LOG_TABLE = new Array(256);\n\n // initialize tables\n for (let i = 0; i < 8; i += 1) {\n EXP_TABLE[i] = 1 << i;\n }\n for (let i = 8; i < 256; i += 1) {\n EXP_TABLE[i] = EXP_TABLE[i - 4]\n ^ EXP_TABLE[i - 5]\n ^ EXP_TABLE[i - 6]\n ^ EXP_TABLE[i - 8];\n }\n for (let i = 0; i < 255; i += 1) {\n LOG_TABLE[EXP_TABLE[i] ] = i;\n }\n\n const _this = {};\n\n _this.glog = function(n) {\n\n if (n < 1) {\n throw 'glog(' + n + ')';\n }\n\n return LOG_TABLE[n];\n };\n\n _this.gexp = function(n) {\n\n while (n < 0) {\n n += 255;\n }\n\n while (n >= 256) {\n n -= 255;\n }\n\n return EXP_TABLE[n];\n };\n\n return _this;\n}();\n\n//---------------------------------------------------------------------\n// qrPolynomial\n//---------------------------------------------------------------------\n\nconst qrPolynomial = function(num, shift) {\n\n if (typeof num.length == 'undefined') {\n throw num.length + '/' + shift;\n }\n\n const _num = function() {\n let offset = 0;\n while (offset < num.length && num[offset] == 0) {\n offset += 1;\n }\n const _num = new Array(num.length - offset + shift);\n for (let i = 0; i < num.length - offset; i += 1) {\n _num[i] = num[i + offset];\n }\n return _num;\n }();\n\n const _this = {};\n\n _this.getAt = function(index) {\n return _num[index];\n };\n\n _this.getLength = function() {\n return _num.length;\n };\n\n _this.multiply = function(e) {\n\n const num = new Array(_this.getLength() + e.getLength() - 1);\n\n for (let i = 0; i < _this.getLength(); i += 1) {\n for (let j = 0; j < e.getLength(); j += 1) {\n num[i + j] ^= QRMath.gexp(QRMath.glog(_this.getAt(i) ) + QRMath.glog(e.getAt(j) ) );\n }\n }\n\n return qrPolynomial(num, 0);\n };\n\n _this.mod = function(e) {\n\n if (_this.getLength() - e.getLength() < 0) {\n return _this;\n }\n\n const ratio = QRMath.glog(_this.getAt(0) ) - QRMath.glog(e.getAt(0) );\n\n const num = new Array(_this.getLength() );\n for (let i = 0; i < _this.getLength(); i += 1) {\n num[i] = _this.getAt(i);\n }\n\n for (let i = 0; i < e.getLength(); i += 1) {\n num[i] ^= QRMath.gexp(QRMath.glog(e.getAt(i) ) + ratio);\n }\n\n // recursive call\n return qrPolynomial(num, 0).mod(e);\n };\n\n return _this;\n};\n\n//---------------------------------------------------------------------\n// QRRSBlock\n//---------------------------------------------------------------------\n\nconst QRRSBlock = function() {\n\n const RS_BLOCK_TABLE = [\n\n // L\n // M\n // Q\n // H\n\n // 1\n [1, 26, 19],\n [1, 26, 16],\n [1, 26, 13],\n [1, 26, 9],\n\n // 2\n [1, 44, 34],\n [1, 44, 28],\n [1, 44, 22],\n [1, 44, 16],\n\n // 3\n [1, 70, 55],\n [1, 70, 44],\n [2, 35, 17],\n [2, 35, 13],\n\n // 4\n [1, 100, 80],\n [2, 50, 32],\n [2, 50, 24],\n [4, 25, 9],\n\n // 5\n [1, 134, 108],\n [2, 67, 43],\n [2, 33, 15, 2, 34, 16],\n [2, 33, 11, 2, 34, 12],\n\n // 6\n [2, 86, 68],\n [4, 43, 27],\n [4, 43, 19],\n [4, 43, 15],\n\n // 7\n [2, 98, 78],\n [4, 49, 31],\n [2, 32, 14, 4, 33, 15],\n [4, 39, 13, 1, 40, 14],\n\n // 8\n [2, 121, 97],\n [2, 60, 38, 2, 61, 39],\n [4, 40, 18, 2, 41, 19],\n [4, 40, 14, 2, 41, 15],\n\n // 9\n [2, 146, 116],\n [3, 58, 36, 2, 59, 37],\n [4, 36, 16, 4, 37, 17],\n [4, 36, 12, 4, 37, 13],\n\n // 10\n [2, 86, 68, 2, 87, 69],\n [4, 69, 43, 1, 70, 44],\n [6, 43, 19, 2, 44, 20],\n [6, 43, 15, 2, 44, 16],\n\n // 11\n [4, 101, 81],\n [1, 80, 50, 4, 81, 51],\n [4, 50, 22, 4, 51, 23],\n [3, 36, 12, 8, 37, 13],\n\n // 12\n [2, 116, 92, 2, 117, 93],\n [6, 58, 36, 2, 59, 37],\n [4, 46, 20, 6, 47, 21],\n [7, 42, 14, 4, 43, 15],\n\n // 13\n [4, 133, 107],\n [8, 59, 37, 1, 60, 38],\n [8, 44, 20, 4, 45, 21],\n [12, 33, 11, 4, 34, 12],\n\n // 14\n [3, 145, 115, 1, 146, 116],\n [4, 64, 40, 5, 65, 41],\n [11, 36, 16, 5, 37, 17],\n [11, 36, 12, 5, 37, 13],\n\n // 15\n [5, 109, 87, 1, 110, 88],\n [5, 65, 41, 5, 66, 42],\n [5, 54, 24, 7, 55, 25],\n [11, 36, 12, 7, 37, 13],\n\n // 16\n [5, 122, 98, 1, 123, 99],\n [7, 73, 45, 3, 74, 46],\n [15, 43, 19, 2, 44, 20],\n [3, 45, 15, 13, 46, 16],\n\n // 17\n [1, 135, 107, 5, 136, 108],\n [10, 74, 46, 1, 75, 47],\n [1, 50, 22, 15, 51, 23],\n [2, 42, 14, 17, 43, 15],\n\n // 18\n [5, 150, 120, 1, 151, 121],\n [9, 69, 43, 4, 70, 44],\n [17, 50, 22, 1, 51, 23],\n [2, 42, 14, 19, 43, 15],\n\n // 19\n [3, 141, 113, 4, 142, 114],\n [3, 70, 44, 11, 71, 45],\n [17, 47, 21, 4, 48, 22],\n [9, 39, 13, 16, 40, 14],\n\n // 20\n [3, 135, 107, 5, 136, 108],\n [3, 67, 41, 13, 68, 42],\n [15, 54, 24, 5, 55, 25],\n [15, 43, 15, 10, 44, 16],\n\n // 21\n [4, 144, 116, 4, 145, 117],\n [17, 68, 42],\n [17, 50, 22, 6, 51, 23],\n [19, 46, 16, 6, 47, 17],\n\n // 22\n [2, 139, 111, 7, 140, 112],\n [17, 74, 46],\n [7, 54, 24, 16, 55, 25],\n [34, 37, 13],\n\n // 23\n [4, 151, 121, 5, 152, 122],\n [4, 75, 47, 14, 76, 48],\n [11, 54, 24, 14, 55, 25],\n [16, 45, 15, 14, 46, 16],\n\n // 24\n [6, 147, 117, 4, 148, 118],\n [6, 73, 45, 14, 74, 46],\n [11, 54, 24, 16, 55, 25],\n [30, 46, 16, 2, 47, 17],\n\n // 25\n [8, 132, 106, 4, 133, 107],\n [8, 75, 47, 13, 76, 48],\n [7, 54, 24, 22, 55, 25],\n [22, 45, 15, 13, 46, 16],\n\n // 26\n [10, 142, 114, 2, 143, 115],\n [19, 74, 46, 4, 75, 47],\n [28, 50, 22, 6, 51, 23],\n [33, 46, 16, 4, 47, 17],\n\n // 27\n [8, 152, 122, 4, 153, 123],\n [22, 73, 45, 3, 74, 46],\n [8, 53, 23, 26, 54, 24],\n [12, 45, 15, 28, 46, 16],\n\n // 28\n [3, 147, 117, 10, 148, 118],\n [3, 73, 45, 23, 74, 46],\n [4, 54, 24, 31, 55, 25],\n [11, 45, 15, 31, 46, 16],\n\n // 29\n [7, 146, 116, 7, 147, 117],\n [21, 73, 45, 7, 74, 46],\n [1, 53, 23, 37, 54, 24],\n [19, 45, 15, 26, 46, 16],\n\n // 30\n [5, 145, 115, 10, 146, 116],\n [19, 75, 47, 10, 76, 48],\n [15, 54, 24, 25, 55, 25],\n [23, 45, 15, 25, 46, 16],\n\n // 31\n [13, 145, 115, 3, 146, 116],\n [2, 74, 46, 29, 75, 47],\n [42, 54, 24, 1, 55, 25],\n [23, 45, 15, 28, 46, 16],\n\n // 32\n [17, 145, 115],\n [10, 74, 46, 23, 75, 47],\n [10, 54, 24, 35, 55, 25],\n [19, 45, 15, 35, 46, 16],\n\n // 33\n [17, 145, 115, 1, 146, 116],\n [14, 74, 46, 21, 75, 47],\n [29, 54, 24, 19, 55, 25],\n [11, 45, 15, 46, 46, 16],\n\n // 34\n [13, 145, 115, 6, 146, 116],\n [14, 74, 46, 23, 75, 47],\n [44, 54, 24, 7, 55, 25],\n [59, 46, 16, 1, 47, 17],\n\n // 35\n [12, 151, 121, 7, 152, 122],\n [12, 75, 47, 26, 76, 48],\n [39, 54, 24, 14, 55, 25],\n [22, 45, 15, 41, 46, 16],\n\n // 36\n [6, 151, 121, 14, 152, 122],\n [6, 75, 47, 34, 76, 48],\n [46, 54, 24, 10, 55, 25],\n [2, 45, 15, 64, 46, 16],\n\n // 37\n [17, 152, 122, 4, 153, 123],\n [29, 74, 46, 14, 75, 47],\n [49, 54, 24, 10, 55, 25],\n [24, 45, 15, 46, 46, 16],\n\n // 38\n [4, 152, 122, 18, 153, 123],\n [13, 74, 46, 32, 75, 47],\n [48, 54, 24, 14, 55, 25],\n [42, 45, 15, 32, 46, 16],\n\n // 39\n [20, 147, 117, 4, 148, 118],\n [40, 75, 47, 7, 76, 48],\n [43, 54, 24, 22, 55, 25],\n [10, 45, 15, 67, 46, 16],\n\n // 40\n [19, 148, 118, 6, 149, 119],\n [18, 75, 47, 31, 76, 48],\n [34, 54, 24, 34, 55, 25],\n [20, 45, 15, 61, 46, 16]\n ];\n\n const qrRSBlock = function(totalCount, dataCount) {\n const _this = {};\n _this.totalCount = totalCount;\n _this.dataCount = dataCount;\n return _this;\n };\n\n const _this = {};\n\n const getRsBlockTable = function(typeNumber, errorCorrectionLevel) {\n\n switch(errorCorrectionLevel) {\n case QRErrorCorrectionLevel.L :\n return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n case QRErrorCorrectionLevel.M :\n return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n case QRErrorCorrectionLevel.Q :\n return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n case QRErrorCorrectionLevel.H :\n return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n default :\n return undefined;\n }\n };\n\n _this.getRSBlocks = function(typeNumber, errorCorrectionLevel) {\n\n const rsBlock = getRsBlockTable(typeNumber, errorCorrectionLevel);\n\n if (typeof rsBlock == 'undefined') {\n throw 'bad rs block @ typeNumber:' + typeNumber +\n '/errorCorrectionLevel:' + errorCorrectionLevel;\n }\n\n const length = rsBlock.length / 3;\n\n const list = [];\n\n for (let i = 0; i < length; i += 1) {\n\n const count = rsBlock[i * 3 + 0];\n const totalCount = rsBlock[i * 3 + 1];\n const dataCount = rsBlock[i * 3 + 2];\n\n for (let j = 0; j < count; j += 1) {\n list.push(qrRSBlock(totalCount, dataCount) );\n }\n }\n\n return list;\n };\n\n return _this;\n}();\n\n//---------------------------------------------------------------------\n// qrBitBuffer\n//---------------------------------------------------------------------\n\nconst qrBitBuffer = function() {\n\n const _buffer = [];\n let _length = 0;\n\n const _this = {};\n\n _this.getBuffer = function() {\n return _buffer;\n };\n\n _this.getAt = function(index) {\n const bufIndex = Math.floor(index / 8);\n return ( (_buffer[bufIndex] >>> (7 - index % 8) ) & 1) == 1;\n };\n\n _this.put = function(num, length) {\n for (let i = 0; i < length; i += 1) {\n _this.putBit( ( (num >>> (length - i - 1) ) & 1) == 1);\n }\n };\n\n _this.getLengthInBits = function() {\n return _length;\n };\n\n _this.putBit = function(bit) {\n\n const bufIndex = Math.floor(_length / 8);\n if (_buffer.length <= bufIndex) {\n _buffer.push(0);\n }\n\n if (bit) {\n _buffer[bufIndex] |= (0x80 >>> (_length % 8) );\n }\n\n _length += 1;\n };\n\n return _this;\n};\n\n//---------------------------------------------------------------------\n// qrNumber\n//---------------------------------------------------------------------\n\nconst qrNumber = function(data) {\n\n const _mode = QRMode.MODE_NUMBER;\n const _data = data;\n\n const _this = {};\n\n _this.getMode = function() {\n return _mode;\n };\n\n _this.getLength = function(buffer) {\n return _data.length;\n };\n\n _this.write = function(buffer) {\n\n const data = _data;\n\n let i = 0;\n\n while (i + 2 < data.length) {\n buffer.put(strToNum(data.substring(i, i + 3) ), 10);\n i += 3;\n }\n\n if (i < data.length) {\n if (data.length - i == 1) {\n buffer.put(strToNum(data.substring(i, i + 1) ), 4);\n } else if (data.length - i == 2) {\n buffer.put(strToNum(data.substring(i, i + 2) ), 7);\n }\n }\n };\n\n const strToNum = function(s) {\n let num = 0;\n for (let i = 0; i < s.length; i += 1) {\n num = num * 10 + chatToNum(s.charAt(i) );\n }\n return num;\n };\n\n const chatToNum = function(c) {\n if ('0' <= c && c <= '9') {\n return c.charCodeAt(0) - '0'.charCodeAt(0);\n }\n throw 'illegal char :' + c;\n };\n\n return _this;\n};\n\n//---------------------------------------------------------------------\n// qrAlphaNum\n//---------------------------------------------------------------------\n\nconst qrAlphaNum = function(data) {\n\n const _mode = QRMode.MODE_ALPHA_NUM;\n const _data = data;\n\n const _this = {};\n\n _this.getMode = function() {\n return _mode;\n };\n\n _this.getLength = function(buffer) {\n return _data.length;\n };\n\n _this.write = function(buffer) {\n\n const s = _data;\n\n let i = 0;\n\n while (i + 1 < s.length) {\n buffer.put(\n getCode(s.charAt(i) ) * 45 +\n getCode(s.charAt(i + 1) ), 11);\n i += 2;\n }\n\n if (i < s.length) {\n buffer.put(getCode(s.charAt(i) ), 6);\n }\n };\n\n const getCode = function(c) {\n\n if ('0' <= c && c <= '9') {\n return c.charCodeAt(0) - '0'.charCodeAt(0);\n } else if ('A' <= c && c <= 'Z') {\n return c.charCodeAt(0) - 'A'.charCodeAt(0) + 10;\n } else {\n switch (c) {\n case '\\u0020' : return 36;\n case '$' : return 37;\n case '%' : return 38;\n case '*' : return 39;\n case '+' : return 40;\n case '-' : return 41;\n case '.' : return 42;\n case '/' : return 43;\n case ':' : return 44;\n default :\n throw 'illegal char :' + c;\n }\n }\n };\n\n return _this;\n};\n\n//---------------------------------------------------------------------\n// qr8BitByte\n//---------------------------------------------------------------------\n\nconst qr8BitByte = function(data) {\n\n const _mode = QRMode.MODE_8BIT_BYTE;\n const _data = data;\n const _bytes = qrcode.stringToBytes(data);\n\n const _this = {};\n\n _this.getMode = function() {\n return _mode;\n };\n\n _this.getLength = function(buffer) {\n return _bytes.length;\n };\n\n _this.write = function(buffer) {\n for (let i = 0; i < _bytes.length; i += 1) {\n buffer.put(_bytes[i], 8);\n }\n };\n\n return _this;\n};\n\n//---------------------------------------------------------------------\n// qrKanji\n//---------------------------------------------------------------------\n\nconst qrKanji = function(data) {\n\n const _mode = QRMode.MODE_KANJI;\n const _data = data;\n\n const stringToBytes = qrcode.stringToBytes;\n !function(c, code) {\n // self test for sjis support.\n const test = stringToBytes(c);\n if (test.length != 2 || ( (test[0] << 8) | test[1]) != code) {\n throw 'sjis not supported.';\n }\n }('\\u53cb', 0x9746);\n\n const _bytes = stringToBytes(data);\n\n const _this = {};\n\n _this.getMode = function() {\n return _mode;\n };\n\n _this.getLength = function(buffer) {\n return ~~(_bytes.length / 2);\n };\n\n _this.write = function(buffer) {\n\n const data = _bytes;\n\n let i = 0;\n\n while (i + 1 < data.length) {\n\n let c = ( (0xff & data[i]) << 8) | (0xff & data[i + 1]);\n\n if (0x8140 <= c && c <= 0x9FFC) {\n c -= 0x8140;\n } else if (0xE040 <= c && c <= 0xEBBF) {\n c -= 0xC140;\n } else {\n throw 'illegal char at ' + (i + 1) + '/' + c;\n }\n\n c = ( (c >>> 8) & 0xff) * 0xC0 + (c & 0xff);\n\n buffer.put(c, 13);\n\n i += 2;\n }\n\n if (i < data.length) {\n throw 'illegal char at ' + (i + 1);\n }\n };\n\n return _this;\n};\n\n//=====================================================================\n// GIF Support etc.\n//\n\n//---------------------------------------------------------------------\n// byteArrayOutputStream\n//---------------------------------------------------------------------\n\nconst byteArrayOutputStream = function() {\n\n const _bytes = [];\n\n const _this = {};\n\n _this.writeByte = function(b) {\n _bytes.push(b & 0xff);\n };\n\n _this.writeShort = function(i) {\n _this.writeByte(i);\n _this.writeByte(i >>> 8);\n };\n\n _this.writeBytes = function(b, off, len) {\n off = off || 0;\n len = len || b.length;\n for (let i = 0; i < len; i += 1) {\n _this.writeByte(b[i + off]);\n }\n };\n\n _this.writeString = function(s) {\n for (let i = 0; i < s.length; i += 1) {\n _this.writeByte(s.charCodeAt(i) );\n }\n };\n\n _this.toByteArray = function() {\n return _bytes;\n };\n\n _this.toString = function() {\n let s = '';\n s += '[';\n for (let i = 0; i < _bytes.length; i += 1) {\n if (i > 0) {\n s += ',';\n }\n s += _bytes[i];\n }\n s += ']';\n return s;\n };\n\n return _this;\n};\n\n//---------------------------------------------------------------------\n// base64EncodeOutputStream\n//---------------------------------------------------------------------\n\nconst base64EncodeOutputStream = function() {\n\n let _buffer = 0;\n let _buflen = 0;\n let _length = 0;\n let _base64 = '';\n\n const _this = {};\n\n const writeEncoded = function(b) {\n _base64 += String.fromCharCode(encode(b & 0x3f) );\n };\n\n const encode = function(n) {\n if (n < 0) {\n throw 'n:' + n;\n } else if (n < 26) {\n return 0x41 + n;\n } else if (n < 52) {\n return 0x61 + (n - 26);\n } else if (n < 62) {\n return 0x30 + (n - 52);\n } else if (n == 62) {\n return 0x2b;\n } else if (n == 63) {\n return 0x2f;\n } else {\n throw 'n:' + n;\n }\n };\n\n _this.writeByte = function(n) {\n\n _buffer = (_buffer << 8) | (n & 0xff);\n _buflen += 8;\n _length += 1;\n\n while (_buflen >= 6) {\n writeEncoded(_buffer >>> (_buflen - 6) );\n _buflen -= 6;\n }\n };\n\n _this.flush = function() {\n\n if (_buflen > 0) {\n writeEncoded(_buffer << (6 - _buflen) );\n _buffer = 0;\n _buflen = 0;\n }\n\n if (_length % 3 != 0) {\n // padding\n const padlen = 3 - _length % 3;\n for (let i = 0; i < padlen; i += 1) {\n _base64 += '=';\n }\n }\n };\n\n _this.toString = function() {\n return _base64;\n };\n\n return _this;\n};\n\n//---------------------------------------------------------------------\n// base64DecodeInputStream\n//---------------------------------------------------------------------\n\nconst base64DecodeInputStream = function(str) {\n\n const _str = str;\n let _pos = 0;\n let _buffer = 0;\n let _buflen = 0;\n\n const _this = {};\n\n _this.read = function() {\n\n while (_buflen < 8) {\n\n if (_pos >= _str.length) {\n if (_buflen == 0) {\n return -1;\n }\n throw 'unexpected end of file./' + _buflen;\n }\n\n const c = _str.charAt(_pos);\n _pos += 1;\n\n if (c == '=') {\n _buflen = 0;\n return -1;\n } else if (c.match(/^\\s$/) ) {\n // ignore if whitespace.\n continue;\n }\n\n _buffer = (_buffer << 6) | decode(c.charCodeAt(0) );\n _buflen += 6;\n }\n\n const n = (_buffer >>> (_buflen - 8) ) & 0xff;\n _buflen -= 8;\n return n;\n };\n\n const decode = function(c) {\n if (0x41 <= c && c <= 0x5a) {\n return c - 0x41;\n } else if (0x61 <= c && c <= 0x7a) {\n return c - 0x61 + 26;\n } else if (0x30 <= c && c <= 0x39) {\n return c - 0x30 + 52;\n } else if (c == 0x2b) {\n return 62;\n } else if (c == 0x2f) {\n return 63;\n } else {\n throw 'c:' + c;\n }\n };\n\n return _this;\n};\n\n//---------------------------------------------------------------------\n// gifImage (B/W)\n//---------------------------------------------------------------------\n\nconst gifImage = function(width, height) {\n\n const _width = width;\n const _height = height;\n const _data = new Array(width * height);\n\n const _this = {};\n\n _this.setPixel = function(x, y, pixel) {\n _data[y * _width + x] = pixel;\n };\n\n _this.write = function(out) {\n\n //---------------------------------\n // GIF Signature\n\n out.writeString('GIF87a');\n\n //---------------------------------\n // Screen Descriptor\n\n out.writeShort(_width);\n out.writeShort(_height);\n\n out.writeByte(0x80); // 2bit\n out.writeByte(0);\n out.writeByte(0);\n\n //---------------------------------\n // Global Color Map\n\n // black\n out.writeByte(0x00);\n out.writeByte(0x00);\n out.writeByte(0x00);\n\n // white\n out.writeByte(0xff);\n out.writeByte(0xff);\n out.writeByte(0xff);\n\n //---------------------------------\n // Image Descriptor\n\n out.writeString(',');\n out.writeShort(0);\n out.writeShort(0);\n out.writeShort(_width);\n out.writeShort(_height);\n out.writeByte(0);\n\n //---------------------------------\n // Local Color Map\n\n //---------------------------------\n // Raster Data\n\n const lzwMinCodeSize = 2;\n const raster = getLZWRaster(lzwMinCodeSize);\n\n out.writeByte(lzwMinCodeSize);\n\n let offset = 0;\n\n while (raster.length - offset > 255) {\n out.writeByte(255);\n out.writeBytes(raster, offset, 255);\n offset += 255;\n }\n\n out.writeByte(raster.length - offset);\n out.writeBytes(raster, offset, raster.length - offset);\n out.writeByte(0x00);\n\n //---------------------------------\n // GIF Terminator\n out.writeString(';');\n };\n\n const bitOutputStream = function(out) {\n\n const _out = out;\n let _bitLength = 0;\n let _bitBuffer = 0;\n\n const _this = {};\n\n _this.write = function(data, length) {\n\n if ( (data >>> length) != 0) {\n throw 'length over';\n }\n\n while (_bitLength + length >= 8) {\n _out.writeByte(0xff & ( (data << _bitLength) | _bitBuffer) );\n length -= (8 - _bitLength);\n data >>>= (8 - _bitLength);\n _bitBuffer = 0;\n _bitLength = 0;\n }\n\n _bitBuffer = (data << _bitLength) | _bitBuffer;\n _bitLength = _bitLength + length;\n };\n\n _this.flush = function() {\n if (_bitLength > 0) {\n _out.writeByte(_bitBuffer);\n }\n };\n\n return _this;\n };\n\n const getLZWRaster = function(lzwMinCodeSize) {\n\n const clearCode = 1 << lzwMinCodeSize;\n const endCode = (1 << lzwMinCodeSize) + 1;\n let bitLength = lzwMinCodeSize + 1;\n\n // Setup LZWTable\n const table = lzwTable();\n\n for (let i = 0; i < clearCode; i += 1) {\n table.add(String.fromCharCode(i) );\n }\n table.add(String.fromCharCode(clearCode) );\n table.add(String.fromCharCode(endCode) );\n\n const byteOut = byteArrayOutputStream();\n const bitOut = bitOutputStream(byteOut);\n\n // clear code\n bitOut.write(clearCode, bitLength);\n\n let dataIndex = 0;\n\n let s = String.fromCharCode(_data[dataIndex]);\n dataIndex += 1;\n\n while (dataIndex < _data.length) {\n\n const c = String.fromCharCode(_data[dataIndex]);\n dataIndex += 1;\n\n if (table.contains(s + c) ) {\n\n s = s + c;\n\n } else {\n\n bitOut.write(table.indexOf(s), bitLength);\n\n if (table.size() < 0xfff) {\n\n if (table.size() == (1 << bitLength) ) {\n bitLength += 1;\n }\n\n table.add(s + c);\n }\n\n s = c;\n }\n }\n\n bitOut.write(table.indexOf(s), bitLength);\n\n // end code\n bitOut.write(endCode, bitLength);\n\n bitOut.flush();\n\n return byteOut.toByteArray();\n };\n\n const lzwTable = function() {\n\n const _map = {};\n let _size = 0;\n\n const _this = {};\n\n _this.add = function(key) {\n if (_this.contains(key) ) {\n throw 'dup key:' + key;\n }\n _map[key] = _size;\n _size += 1;\n };\n\n _this.size = function() {\n return _size;\n };\n\n _this.indexOf = function(key) {\n return _map[key];\n };\n\n _this.contains = function(key) {\n return typeof _map[key] != 'undefined';\n };\n\n return _this;\n };\n\n return _this;\n};\n\nconst createDataURL = function(width, height, getPixel) {\n const gif = gifImage(width, height);\n for (let y = 0; y < height; y += 1) {\n for (let x = 0; x < width; x += 1) {\n gif.setPixel(x, y, getPixel(x, y) );\n }\n }\n\n const b = byteArrayOutputStream();\n gif.write(b);\n\n const base64 = base64EncodeOutputStream();\n const bytes = b.toByteArray();\n for (let i = 0; i < bytes.length; i += 1) {\n base64.writeByte(bytes[i]);\n }\n base64.flush();\n\n return 'data:image/gif;base64,' + base64;\n};\n\nexport default qrcode;\n\nexport const stringToBytes = qrcode.stringToBytes;\n"],"names":[],"mappings":";CAqmCe,WAAW;AAExB,QAAM,YAAY,IAAI,MAAM,GAAG;AAC/B,QAAM,YAAY,IAAI,MAAM,GAAG;AAG/B,WAAS,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG;AAC7B,cAAU,CAAC,IAAI,KAAK;AAAA,EACtB;AACA,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AAC/B,cAAU,CAAC,IAAI,UAAU,IAAI,CAAC,IAC1B,UAAU,IAAI,CAAC,IACf,UAAU,IAAI,CAAC,IACf,UAAU,IAAI,CAAC;AAAA,EACrB;AACA,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AAC/B,cAAU,UAAU,CAAC,CAAC,IAAK;AAAA,EAC7B;AAEA,QAAM,QAAQ,CAAA;AAEd,QAAM,OAAO,SAAS,GAAG;AAEvB,QAAI,IAAI,GAAG;AACT,YAAM,UAAU,IAAI;AAAA,IACtB;AAEA,WAAO,UAAU,CAAC;AAAA,EACpB;AAEA,QAAM,OAAO,SAAS,GAAG;AAEvB,WAAO,IAAI,GAAG;AACZ,WAAK;AAAA,IACP;AAEA,WAAO,KAAK,KAAK;AACf,WAAK;AAAA,IACP;AAEA,WAAO,UAAU,CAAC;AAAA,EACpB;AAEA,SAAO;AACT,GAAC;","x_google_ignoreList":[0]}