@nocobase/app-plugin-agents 0.1.0-beta.9 → 1.0.0-beta.16

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 (914) hide show
  1. package/CHANGELOG.md +315 -0
  2. package/README.md +94 -51
  3. package/dist/client/api/client.d.ts +25 -19
  4. package/dist/client/api/client.d.ts.map +1 -1
  5. package/dist/client/api/client.js +23 -24
  6. package/dist/client/api/client.js.map +1 -1
  7. package/dist/client/api/keys.d.ts +4 -1
  8. package/dist/client/api/keys.d.ts.map +1 -1
  9. package/dist/client/api/keys.js +4 -1
  10. package/dist/client/api/keys.js.map +1 -1
  11. package/dist/client/api/runners.d.ts +8 -4
  12. package/dist/client/api/runners.d.ts.map +1 -1
  13. package/dist/client/api/runners.js +9 -0
  14. package/dist/client/api/runners.js.map +1 -1
  15. package/dist/client/chat/ai-form.d.ts +13 -0
  16. package/dist/client/chat/ai-form.d.ts.map +1 -0
  17. package/dist/client/chat/ai-form.js +57 -0
  18. package/dist/client/chat/ai-form.js.map +1 -0
  19. package/dist/client/chat/api.d.ts +16 -14
  20. package/dist/client/chat/api.d.ts.map +1 -1
  21. package/dist/client/chat/api.js +85 -18
  22. package/dist/client/chat/api.js.map +1 -1
  23. package/dist/client/chat/client-id.d.ts +3 -0
  24. package/dist/client/chat/client-id.d.ts.map +1 -0
  25. package/dist/client/chat/client-id.js +17 -0
  26. package/dist/client/chat/client-id.js.map +1 -0
  27. package/dist/client/chat/consultation-identity.d.ts +7 -0
  28. package/dist/client/chat/consultation-identity.d.ts.map +1 -0
  29. package/dist/client/chat/consultation-identity.js +39 -0
  30. package/dist/client/chat/consultation-identity.js.map +1 -0
  31. package/dist/client/chat/context-model.d.ts +21 -3
  32. package/dist/client/chat/context-model.d.ts.map +1 -1
  33. package/dist/client/chat/context-model.js +33 -4
  34. package/dist/client/chat/context-model.js.map +1 -1
  35. package/dist/client/chat/controller.d.ts +83 -0
  36. package/dist/client/chat/controller.d.ts.map +1 -0
  37. package/dist/client/chat/controller.js +767 -0
  38. package/dist/client/chat/controller.js.map +1 -0
  39. package/dist/client/chat/extensions.d.ts +8 -3
  40. package/dist/client/chat/extensions.d.ts.map +1 -1
  41. package/dist/client/chat/extensions.js.map +1 -1
  42. package/dist/client/chat/feedback.d.ts +18 -0
  43. package/dist/client/chat/feedback.d.ts.map +1 -0
  44. package/dist/client/chat/feedback.js +38 -0
  45. package/dist/client/chat/feedback.js.map +1 -0
  46. package/dist/client/chat/form-registry.d.ts +95 -0
  47. package/dist/client/chat/form-registry.d.ts.map +1 -0
  48. package/dist/client/chat/form-registry.js +384 -0
  49. package/dist/client/chat/form-registry.js.map +1 -0
  50. package/dist/client/chat/keys.d.ts +1 -0
  51. package/dist/client/chat/keys.d.ts.map +1 -1
  52. package/dist/client/chat/keys.js +3 -1
  53. package/dist/client/chat/keys.js.map +1 -1
  54. package/dist/client/chat/message-model.d.ts +38 -44
  55. package/dist/client/chat/message-model.d.ts.map +1 -1
  56. package/dist/client/chat/message-model.js +138 -56
  57. package/dist/client/chat/message-model.js.map +1 -1
  58. package/dist/client/chat/provider.d.ts +12 -2
  59. package/dist/client/chat/provider.d.ts.map +1 -1
  60. package/dist/client/chat/provider.js +130 -4
  61. package/dist/client/chat/provider.js.map +1 -1
  62. package/dist/client/chat/submissions.d.ts +67 -0
  63. package/dist/client/chat/submissions.d.ts.map +1 -0
  64. package/dist/client/chat/submissions.js +241 -0
  65. package/dist/client/chat/submissions.js.map +1 -0
  66. package/dist/client/chat/tool-renderer.d.ts +39 -0
  67. package/dist/client/chat/tool-renderer.d.ts.map +1 -0
  68. package/dist/client/chat/tool-renderer.js +27 -0
  69. package/dist/client/chat/tool-renderer.js.map +1 -0
  70. package/dist/client/chat/use-chat-scroll.d.ts +4 -0
  71. package/dist/client/chat/use-chat-scroll.d.ts.map +1 -0
  72. package/dist/client/chat/use-chat-scroll.js +73 -0
  73. package/dist/client/chat/use-chat-scroll.js.map +1 -0
  74. package/dist/client/chat/use-chat.d.ts +13 -24
  75. package/dist/client/chat/use-chat.d.ts.map +1 -1
  76. package/dist/client/chat/use-chat.js +250 -235
  77. package/dist/client/chat/use-chat.js.map +1 -1
  78. package/dist/client/chat.d.ts +20 -8
  79. package/dist/client/chat.d.ts.map +1 -1
  80. package/dist/client/chat.js +16 -4
  81. package/dist/client/chat.js.map +1 -1
  82. package/dist/client/components/agent-picker.d.ts +6 -23
  83. package/dist/client/components/agent-picker.d.ts.map +1 -1
  84. package/dist/client/components/agent-picker.js +20 -39
  85. package/dist/client/components/agent-picker.js.map +1 -1
  86. package/dist/client/components/quota-status.d.ts +16 -0
  87. package/dist/client/components/quota-status.d.ts.map +1 -0
  88. package/dist/client/components/quota-status.js +39 -0
  89. package/dist/client/components/quota-status.js.map +1 -0
  90. package/dist/client/components/runners-refresh.d.ts.map +1 -1
  91. package/dist/client/components/runners-refresh.js +1 -0
  92. package/dist/client/components/runners-refresh.js.map +1 -1
  93. package/dist/client/components/variables/variable-dialogs.d.ts.map +1 -1
  94. package/dist/client/components/variables/variable-dialogs.js +7 -7
  95. package/dist/client/components/variables/variable-dialogs.js.map +1 -1
  96. package/dist/client/config.d.ts +2 -0
  97. package/dist/client/config.d.ts.map +1 -1
  98. package/dist/client/config.js +2 -0
  99. package/dist/client/config.js.map +1 -1
  100. package/dist/client/hooks/use-agent-picker-labels.d.ts.map +1 -1
  101. package/dist/client/hooks/use-agent-picker-labels.js +4 -12
  102. package/dist/client/hooks/use-agent-picker-labels.js.map +1 -1
  103. package/dist/client/hooks/use-quota-expiry.d.ts +7 -0
  104. package/dist/client/hooks/use-quota-expiry.d.ts.map +1 -0
  105. package/dist/client/hooks/use-quota-expiry.js +92 -0
  106. package/dist/client/hooks/use-quota-expiry.js.map +1 -0
  107. package/dist/client/hooks/use-realtime-topic.d.ts +1 -4
  108. package/dist/client/hooks/use-realtime-topic.d.ts.map +1 -1
  109. package/dist/client/hooks/use-realtime-topic.js +7 -11
  110. package/dist/client/hooks/use-realtime-topic.js.map +1 -1
  111. package/dist/client/kit.d.ts +14 -12
  112. package/dist/client/kit.d.ts.map +1 -1
  113. package/dist/client/kit.js +37 -14
  114. package/dist/client/kit.js.map +1 -1
  115. package/dist/client/lib/agents.d.ts +5 -18
  116. package/dist/client/lib/agents.d.ts.map +1 -1
  117. package/dist/client/lib/agents.js +18 -55
  118. package/dist/client/lib/agents.js.map +1 -1
  119. package/dist/client/lib/format.d.ts +3 -1
  120. package/dist/client/lib/format.d.ts.map +1 -1
  121. package/dist/client/lib/format.js +25 -0
  122. package/dist/client/lib/format.js.map +1 -1
  123. package/dist/client/lib/skill-settings-context.d.ts +9 -0
  124. package/dist/client/lib/skill-settings-context.d.ts.map +1 -0
  125. package/dist/client/lib/skill-settings-context.js +4 -0
  126. package/dist/client/lib/skill-settings-context.js.map +1 -0
  127. package/dist/client/lib/skill-settings.d.ts +12 -0
  128. package/dist/client/lib/skill-settings.d.ts.map +1 -0
  129. package/dist/client/lib/skill-settings.js +37 -0
  130. package/dist/client/lib/skill-settings.js.map +1 -0
  131. package/dist/client/locales/chat.en-US.d.ts +8 -27
  132. package/dist/client/locales/chat.en-US.d.ts.map +1 -1
  133. package/dist/client/locales/chat.en-US.js +12 -30
  134. package/dist/client/locales/chat.en-US.js.map +1 -1
  135. package/dist/client/locales/chat.zh-CN.d.ts.map +1 -1
  136. package/dist/client/locales/chat.zh-CN.js +9 -27
  137. package/dist/client/locales/chat.zh-CN.js.map +1 -1
  138. package/dist/client/locales/de-DE.d.ts +5 -0
  139. package/dist/client/locales/de-DE.d.ts.map +1 -0
  140. package/dist/client/locales/de-DE.js +1219 -0
  141. package/dist/client/locales/de-DE.js.map +1 -0
  142. package/dist/client/locales/en-US.d.ts +95 -217
  143. package/dist/client/locales/en-US.d.ts.map +1 -1
  144. package/dist/client/locales/en-US.js +100 -218
  145. package/dist/client/locales/en-US.js.map +1 -1
  146. package/dist/client/locales/es-ES.d.ts +5 -0
  147. package/dist/client/locales/es-ES.d.ts.map +1 -0
  148. package/dist/client/locales/es-ES.js +1228 -0
  149. package/dist/client/locales/es-ES.js.map +1 -0
  150. package/dist/client/locales/fr-FR.d.ts +5 -0
  151. package/dist/client/locales/fr-FR.d.ts.map +1 -0
  152. package/dist/client/locales/fr-FR.js +1229 -0
  153. package/dist/client/locales/fr-FR.js.map +1 -0
  154. package/dist/client/locales/id-ID.d.ts +5 -0
  155. package/dist/client/locales/id-ID.d.ts.map +1 -0
  156. package/dist/client/locales/id-ID.js +1219 -0
  157. package/dist/client/locales/id-ID.js.map +1 -0
  158. package/dist/client/locales/index.d.ts.map +1 -1
  159. package/dist/client/locales/index.js +8 -0
  160. package/dist/client/locales/index.js.map +1 -1
  161. package/dist/client/locales/ja-JP.d.ts +5 -0
  162. package/dist/client/locales/ja-JP.d.ts.map +1 -0
  163. package/dist/client/locales/ja-JP.js +1219 -0
  164. package/dist/client/locales/ja-JP.js.map +1 -0
  165. package/dist/client/locales/pt-BR.d.ts +5 -0
  166. package/dist/client/locales/pt-BR.d.ts.map +1 -0
  167. package/dist/client/locales/pt-BR.js +1229 -0
  168. package/dist/client/locales/pt-BR.js.map +1 -0
  169. package/dist/client/locales/runWait.en-US.d.ts +7 -0
  170. package/dist/client/locales/runWait.en-US.d.ts.map +1 -1
  171. package/dist/client/locales/runWait.en-US.js +10 -3
  172. package/dist/client/locales/runWait.en-US.js.map +1 -1
  173. package/dist/client/locales/runWait.zh-CN.d.ts +1 -1
  174. package/dist/client/locales/runWait.zh-CN.d.ts.map +1 -1
  175. package/dist/client/locales/runWait.zh-CN.js +11 -4
  176. package/dist/client/locales/runWait.zh-CN.js.map +1 -1
  177. package/dist/client/locales/runtimes.en-US.d.ts +83 -0
  178. package/dist/client/locales/runtimes.en-US.d.ts.map +1 -1
  179. package/dist/client/locales/runtimes.en-US.js +84 -1
  180. package/dist/client/locales/runtimes.en-US.js.map +1 -1
  181. package/dist/client/locales/runtimes.zh-CN.d.ts.map +1 -1
  182. package/dist/client/locales/runtimes.zh-CN.js +83 -0
  183. package/dist/client/locales/runtimes.zh-CN.js.map +1 -1
  184. package/dist/client/locales/skills.en-US.d.ts +7 -0
  185. package/dist/client/locales/skills.en-US.d.ts.map +1 -1
  186. package/dist/client/locales/skills.en-US.js +8 -1
  187. package/dist/client/locales/skills.en-US.js.map +1 -1
  188. package/dist/client/locales/skills.zh-CN.d.ts.map +1 -1
  189. package/dist/client/locales/skills.zh-CN.js +8 -1
  190. package/dist/client/locales/skills.zh-CN.js.map +1 -1
  191. package/dist/client/locales/vi-VN.d.ts +5 -0
  192. package/dist/client/locales/vi-VN.d.ts.map +1 -0
  193. package/dist/client/locales/vi-VN.js +1219 -0
  194. package/dist/client/locales/vi-VN.js.map +1 -0
  195. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  196. package/dist/client/locales/zh-CN.js +102 -220
  197. package/dist/client/locales/zh-CN.js.map +1 -1
  198. package/dist/client/locales/zh-TW.d.ts +5 -0
  199. package/dist/client/locales/zh-TW.d.ts.map +1 -0
  200. package/dist/client/locales/zh-TW.js +1219 -0
  201. package/dist/client/locales/zh-TW.js.map +1 -0
  202. package/dist/client/model-suggestion.d.ts +6 -0
  203. package/dist/client/model-suggestion.d.ts.map +1 -0
  204. package/dist/client/model-suggestion.js +25 -0
  205. package/dist/client/model-suggestion.js.map +1 -0
  206. package/dist/client/online/services.d.ts.map +1 -1
  207. package/dist/client/online/services.js +5 -6
  208. package/dist/client/online/services.js.map +1 -1
  209. package/dist/client/pages/agents/agent-dialog.d.ts +9 -0
  210. package/dist/client/pages/agents/agent-dialog.d.ts.map +1 -0
  211. package/dist/client/pages/agents/agent-dialog.js +99 -0
  212. package/dist/client/pages/agents/agent-dialog.js.map +1 -0
  213. package/dist/client/pages/agents/agent-state.d.ts +11 -0
  214. package/dist/client/pages/agents/agent-state.d.ts.map +1 -0
  215. package/dist/client/pages/agents/agent-state.js +28 -0
  216. package/dist/client/pages/agents/agent-state.js.map +1 -0
  217. package/dist/client/pages/agents/index.d.ts +1 -1
  218. package/dist/client/pages/agents/index.d.ts.map +1 -1
  219. package/dist/client/pages/agents/index.js +7 -101
  220. package/dist/client/pages/agents/index.js.map +1 -1
  221. package/dist/client/pages/agents/runner-agents.d.ts +3 -0
  222. package/dist/client/pages/agents/runner-agents.d.ts.map +1 -0
  223. package/dist/client/pages/agents/runner-agents.js +185 -0
  224. package/dist/client/pages/agents/runner-agents.js.map +1 -0
  225. package/dist/client/pages/runtimes/connect.js.map +1 -1
  226. package/dist/client/pages/runtimes/index.d.ts.map +1 -1
  227. package/dist/client/pages/runtimes/index.js +1 -1
  228. package/dist/client/pages/runtimes/index.js.map +1 -1
  229. package/dist/client/pages/runtimes/quota-targets.d.ts +4 -0
  230. package/dist/client/pages/runtimes/quota-targets.d.ts.map +1 -0
  231. package/dist/client/pages/runtimes/quota-targets.js +18 -0
  232. package/dist/client/pages/runtimes/quota-targets.js.map +1 -0
  233. package/dist/client/pages/runtimes/quota.d.ts +17 -0
  234. package/dist/client/pages/runtimes/quota.d.ts.map +1 -0
  235. package/dist/client/pages/runtimes/quota.js +50 -0
  236. package/dist/client/pages/runtimes/quota.js.map +1 -0
  237. package/dist/client/pages/runtimes/runner-cells.d.ts +11 -4
  238. package/dist/client/pages/runtimes/runner-cells.d.ts.map +1 -1
  239. package/dist/client/pages/runtimes/runner-cells.js +6 -3
  240. package/dist/client/pages/runtimes/runner-cells.js.map +1 -1
  241. package/dist/client/pages/runtimes/runner-overview.d.ts +9 -0
  242. package/dist/client/pages/runtimes/runner-overview.d.ts.map +1 -0
  243. package/dist/client/pages/runtimes/runner-overview.js +109 -0
  244. package/dist/client/pages/runtimes/runner-overview.js.map +1 -0
  245. package/dist/client/pages/runtimes/runner-runs.d.ts +5 -0
  246. package/dist/client/pages/runtimes/runner-runs.d.ts.map +1 -0
  247. package/dist/client/pages/runtimes/runner-runs.js +35 -0
  248. package/dist/client/pages/runtimes/runner-runs.js.map +1 -0
  249. package/dist/client/pages/runtimes/runner-sheet.d.ts +2 -3
  250. package/dist/client/pages/runtimes/runner-sheet.d.ts.map +1 -1
  251. package/dist/client/pages/runtimes/runner-sheet.js +43 -171
  252. package/dist/client/pages/runtimes/runner-sheet.js.map +1 -1
  253. package/dist/client/pages/runtimes/runner-tools.d.ts +17 -0
  254. package/dist/client/pages/runtimes/runner-tools.d.ts.map +1 -0
  255. package/dist/client/pages/runtimes/runner-tools.js +75 -0
  256. package/dist/client/pages/runtimes/runner-tools.js.map +1 -0
  257. package/dist/client/pages/runtimes/runner-workspaces.d.ts +6 -0
  258. package/dist/client/pages/runtimes/runner-workspaces.d.ts.map +1 -0
  259. package/dist/client/pages/runtimes/runner-workspaces.js +37 -0
  260. package/dist/client/pages/runtimes/runner-workspaces.js.map +1 -0
  261. package/dist/client/pages/runtimes/tool-slots-fields.js +1 -1
  262. package/dist/client/pages/runtimes/tool-slots-fields.js.map +1 -1
  263. package/dist/client/pages/runtimes/workspace-diagnostics.d.ts +6 -4
  264. package/dist/client/pages/runtimes/workspace-diagnostics.d.ts.map +1 -1
  265. package/dist/client/pages/runtimes/workspace-diagnostics.js +67 -33
  266. package/dist/client/pages/runtimes/workspace-diagnostics.js.map +1 -1
  267. package/dist/client/pages/skills/detail/index.d.ts.map +1 -1
  268. package/dist/client/pages/skills/detail/index.js +11 -15
  269. package/dist/client/pages/skills/detail/index.js.map +1 -1
  270. package/dist/client/pages/skills/index.d.ts.map +1 -1
  271. package/dist/client/pages/skills/index.js +2 -2
  272. package/dist/client/pages/skills/index.js.map +1 -1
  273. package/dist/client/pages/usage/date-range-picker.d.ts.map +1 -1
  274. package/dist/client/pages/usage/date-range-picker.js +14 -2
  275. package/dist/client/pages/usage/date-range-picker.js.map +1 -1
  276. package/dist/client/pages/usage/index.js +2 -2
  277. package/dist/client/pages/usage/index.js.map +1 -1
  278. package/dist/client/profile/default-agent.d.ts.map +1 -1
  279. package/dist/client/profile/default-agent.js +2 -4
  280. package/dist/client/profile/default-agent.js.map +1 -1
  281. package/dist/client/routes.d.ts +1 -1
  282. package/dist/client/routes.d.ts.map +1 -1
  283. package/dist/client/routes.js +1 -13
  284. package/dist/client/routes.js.map +1 -1
  285. package/dist/client/runs/format-wait.d.ts.map +1 -1
  286. package/dist/client/runs/format-wait.js +15 -1
  287. package/dist/client/runs/format-wait.js.map +1 -1
  288. package/dist/client/runs/subject-runs.d.ts +5 -0
  289. package/dist/client/runs/subject-runs.d.ts.map +1 -1
  290. package/dist/client/runs/subject-runs.js +24 -9
  291. package/dist/client/runs/subject-runs.js.map +1 -1
  292. package/dist/client/runs/use-run-events.d.ts +1 -1
  293. package/dist/client/runs/use-run-events.d.ts.map +1 -1
  294. package/dist/client/runs/use-run-events.js +5 -2
  295. package/dist/client/runs/use-run-events.js.map +1 -1
  296. package/dist/client/runs.d.ts +1 -1
  297. package/dist/client/runs.d.ts.map +1 -1
  298. package/dist/client/runs.js +1 -1
  299. package/dist/client/runs.js.map +1 -1
  300. package/dist/database/migrations/.manifest.json +38 -2
  301. package/dist/database/migrations/202610020003_ag_create_runs.d.ts.map +1 -1
  302. package/dist/database/migrations/202610020003_ag_create_runs.js +0 -1
  303. package/dist/database/migrations/202610020003_ag_create_runs.js.map +1 -1
  304. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.d.ts +4 -0
  305. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.d.ts.map +1 -0
  306. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.js +50 -0
  307. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.js.map +1 -0
  308. package/dist/database/migrations/202610170001_ag_runner_quota.d.ts +4 -0
  309. package/dist/database/migrations/202610170001_ag_runner_quota.d.ts.map +1 -0
  310. package/dist/database/migrations/202610170001_ag_runner_quota.js +19 -0
  311. package/dist/database/migrations/202610170001_ag_runner_quota.js.map +1 -0
  312. package/dist/database/migrations/202610240020_ag_runner_agents.d.ts +4 -0
  313. package/dist/database/migrations/202610240020_ag_runner_agents.d.ts.map +1 -0
  314. package/dist/database/migrations/202610240020_ag_runner_agents.js +115 -0
  315. package/dist/database/migrations/202610240020_ag_runner_agents.js.map +1 -0
  316. package/dist/database/migrations/202610240040_ag_discovery_preferences.d.ts +4 -0
  317. package/dist/database/migrations/202610240040_ag_discovery_preferences.d.ts.map +1 -0
  318. package/dist/database/migrations/202610240040_ag_discovery_preferences.js +18 -0
  319. package/dist/database/migrations/202610240040_ag_discovery_preferences.js.map +1 -0
  320. package/dist/database/migrations/202610250001_ag_comment_runner_consent.d.ts +4 -0
  321. package/dist/database/migrations/202610250001_ag_comment_runner_consent.d.ts.map +1 -0
  322. package/dist/database/migrations/202610250001_ag_comment_runner_consent.js +41 -0
  323. package/dist/database/migrations/202610250001_ag_comment_runner_consent.js.map +1 -0
  324. package/dist/database/migrations/202610260001_ag_drop_directory_index.d.ts +4 -0
  325. package/dist/database/migrations/202610260001_ag_drop_directory_index.d.ts.map +1 -0
  326. package/dist/database/migrations/202610260001_ag_drop_directory_index.js +24 -0
  327. package/dist/database/migrations/202610260001_ag_drop_directory_index.js.map +1 -0
  328. package/dist/database/migrations/202610260001_ag_run_revision.d.ts +4 -0
  329. package/dist/database/migrations/202610260001_ag_run_revision.d.ts.map +1 -0
  330. package/dist/database/migrations/202610260001_ag_run_revision.js +19 -0
  331. package/dist/database/migrations/202610260001_ag_run_revision.js.map +1 -0
  332. package/dist/database/migrations/202610270001_ag_online_agent.d.ts +4 -0
  333. package/dist/database/migrations/202610270001_ag_online_agent.d.ts.map +1 -0
  334. package/dist/database/migrations/202610270001_ag_online_agent.js +43 -0
  335. package/dist/database/migrations/202610270001_ag_online_agent.js.map +1 -0
  336. package/dist/database/migrations/202610270002_ag_chat_list_visibility.d.ts +4 -0
  337. package/dist/database/migrations/202610270002_ag_chat_list_visibility.d.ts.map +1 -0
  338. package/dist/database/migrations/202610270002_ag_chat_list_visibility.js +17 -0
  339. package/dist/database/migrations/202610270002_ag_chat_list_visibility.js.map +1 -0
  340. package/dist/package.json +34 -12
  341. package/dist/server/cli/run-credential.js +1 -1
  342. package/dist/server/cli/surface.d.ts.map +1 -1
  343. package/dist/server/cli/surface.js +4 -1
  344. package/dist/server/cli/surface.js.map +1 -1
  345. package/dist/server/composition.d.ts +36 -35
  346. package/dist/server/composition.d.ts.map +1 -1
  347. package/dist/server/composition.js +99 -66
  348. package/dist/server/composition.js.map +1 -1
  349. package/dist/server/core/agents/agent.service.d.ts +51 -43
  350. package/dist/server/core/agents/agent.service.d.ts.map +1 -1
  351. package/dist/server/core/agents/agent.service.js +347 -321
  352. package/dist/server/core/agents/agent.service.js.map +1 -1
  353. package/dist/server/core/agents/agent.store.d.ts +26 -12
  354. package/dist/server/core/agents/agent.store.d.ts.map +1 -1
  355. package/dist/server/core/agents/agent.store.js +74 -66
  356. package/dist/server/core/agents/agent.store.js.map +1 -1
  357. package/dist/server/core/agents/agent.views.d.ts +29 -0
  358. package/dist/server/core/agents/agent.views.d.ts.map +1 -0
  359. package/dist/server/core/agents/agent.views.js +88 -0
  360. package/dist/server/core/agents/agent.views.js.map +1 -0
  361. package/dist/server/core/agents/discovery.d.ts +12 -0
  362. package/dist/server/core/agents/discovery.d.ts.map +1 -0
  363. package/dist/server/core/agents/discovery.js +39 -0
  364. package/dist/server/core/agents/discovery.js.map +1 -0
  365. package/dist/server/core/agents/index.d.ts +3 -2
  366. package/dist/server/core/agents/index.d.ts.map +1 -1
  367. package/dist/server/core/agents/index.js +3 -2
  368. package/dist/server/core/agents/index.js.map +1 -1
  369. package/dist/server/core/brief/brief.js +3 -3
  370. package/dist/server/core/brief/brief.js.map +1 -1
  371. package/dist/server/core/callers/index.d.ts +10 -1
  372. package/dist/server/core/callers/index.d.ts.map +1 -1
  373. package/dist/server/core/callers/index.js +15 -0
  374. package/dist/server/core/callers/index.js.map +1 -1
  375. package/dist/server/core/conversations/attachments.d.ts.map +1 -1
  376. package/dist/server/core/conversations/attachments.js +6 -1
  377. package/dist/server/core/conversations/attachments.js.map +1 -1
  378. package/dist/server/core/conversations/availability.d.ts +6 -11
  379. package/dist/server/core/conversations/availability.d.ts.map +1 -1
  380. package/dist/server/core/conversations/availability.js +11 -15
  381. package/dist/server/core/conversations/availability.js.map +1 -1
  382. package/dist/server/core/conversations/chat-settings.d.ts +2 -2
  383. package/dist/server/core/conversations/chat-settings.d.ts.map +1 -1
  384. package/dist/server/core/conversations/chat-settings.js +17 -22
  385. package/dist/server/core/conversations/chat-settings.js.map +1 -1
  386. package/dist/server/core/conversations/conversation.service.d.ts +13 -8
  387. package/dist/server/core/conversations/conversation.service.d.ts.map +1 -1
  388. package/dist/server/core/conversations/conversation.service.js +397 -383
  389. package/dist/server/core/conversations/conversation.service.js.map +1 -1
  390. package/dist/server/core/conversations/conversation.store.d.ts +3 -0
  391. package/dist/server/core/conversations/conversation.store.d.ts.map +1 -1
  392. package/dist/server/core/conversations/conversation.store.js +2 -1
  393. package/dist/server/core/conversations/conversation.store.js.map +1 -1
  394. package/dist/server/core/conversations/page-context.d.ts +8 -2
  395. package/dist/server/core/conversations/page-context.d.ts.map +1 -1
  396. package/dist/server/core/conversations/page-context.js +61 -2
  397. package/dist/server/core/conversations/page-context.js.map +1 -1
  398. package/dist/server/core/conversations/ports.d.ts +18 -20
  399. package/dist/server/core/conversations/ports.d.ts.map +1 -1
  400. package/dist/server/core/reports/model-usage.d.ts.map +1 -1
  401. package/dist/server/core/reports/model-usage.js +42 -44
  402. package/dist/server/core/reports/model-usage.js.map +1 -1
  403. package/dist/server/core/reports/prices.d.ts.map +1 -1
  404. package/dist/server/core/reports/prices.js +29 -5
  405. package/dist/server/core/reports/prices.js.map +1 -1
  406. package/dist/server/core/reports/report.service.d.ts +4 -2
  407. package/dist/server/core/reports/report.service.d.ts.map +1 -1
  408. package/dist/server/core/reports/report.service.js +148 -66
  409. package/dist/server/core/reports/report.service.js.map +1 -1
  410. package/dist/server/core/runs/access.d.ts +5 -0
  411. package/dist/server/core/runs/access.d.ts.map +1 -0
  412. package/dist/server/core/runs/access.js +10 -0
  413. package/dist/server/core/runs/access.js.map +1 -0
  414. package/dist/server/core/runs/availability.d.ts +18 -6
  415. package/dist/server/core/runs/availability.d.ts.map +1 -1
  416. package/dist/server/core/runs/availability.js +40 -34
  417. package/dist/server/core/runs/availability.js.map +1 -1
  418. package/dist/server/core/runs/claim.d.ts +30 -106
  419. package/dist/server/core/runs/claim.d.ts.map +1 -1
  420. package/dist/server/core/runs/claim.js +630 -323
  421. package/dist/server/core/runs/claim.js.map +1 -1
  422. package/dist/server/core/runs/comment-consent.d.ts +24 -0
  423. package/dist/server/core/runs/comment-consent.d.ts.map +1 -0
  424. package/dist/server/core/runs/comment-consent.js +116 -0
  425. package/dist/server/core/runs/comment-consent.js.map +1 -0
  426. package/dist/server/core/runs/eligibility.d.ts +13 -1
  427. package/dist/server/core/runs/eligibility.d.ts.map +1 -1
  428. package/dist/server/core/runs/eligibility.js +41 -10
  429. package/dist/server/core/runs/eligibility.js.map +1 -1
  430. package/dist/server/core/runs/execution-view.d.ts +8 -0
  431. package/dist/server/core/runs/execution-view.d.ts.map +1 -1
  432. package/dist/server/core/runs/execution-view.js +9 -0
  433. package/dist/server/core/runs/execution-view.js.map +1 -1
  434. package/dist/server/core/runs/execution.d.ts +1 -1
  435. package/dist/server/core/runs/execution.d.ts.map +1 -1
  436. package/dist/server/core/runs/execution.js +8 -2
  437. package/dist/server/core/runs/execution.js.map +1 -1
  438. package/dist/server/core/runs/identity.d.ts +9 -0
  439. package/dist/server/core/runs/identity.d.ts.map +1 -0
  440. package/dist/server/core/runs/identity.js +75 -0
  441. package/dist/server/core/runs/identity.js.map +1 -0
  442. package/dist/server/core/runs/index.d.ts +6 -6
  443. package/dist/server/core/runs/index.d.ts.map +1 -1
  444. package/dist/server/core/runs/index.js +6 -6
  445. package/dist/server/core/runs/index.js.map +1 -1
  446. package/dist/server/core/runs/input-gate.d.ts +1 -1
  447. package/dist/server/core/runs/input-gate.d.ts.map +1 -1
  448. package/dist/server/core/runs/input-gate.js +4 -2
  449. package/dist/server/core/runs/input-gate.js.map +1 -1
  450. package/dist/server/core/runs/lifecycle.d.ts +16 -18
  451. package/dist/server/core/runs/lifecycle.d.ts.map +1 -1
  452. package/dist/server/core/runs/lifecycle.js +150 -62
  453. package/dist/server/core/runs/lifecycle.js.map +1 -1
  454. package/dist/server/core/runs/policy.d.ts +9 -2
  455. package/dist/server/core/runs/policy.d.ts.map +1 -1
  456. package/dist/server/core/runs/policy.js +17 -8
  457. package/dist/server/core/runs/policy.js.map +1 -1
  458. package/dist/server/core/runs/ports.d.ts +41 -31
  459. package/dist/server/core/runs/ports.d.ts.map +1 -1
  460. package/dist/server/core/runs/ports.js +2 -13
  461. package/dist/server/core/runs/ports.js.map +1 -1
  462. package/dist/server/core/runs/preview.d.ts.map +1 -1
  463. package/dist/server/core/runs/preview.js +1 -3
  464. package/dist/server/core/runs/preview.js.map +1 -1
  465. package/dist/server/core/runs/run-data-purge.d.ts +15 -0
  466. package/dist/server/core/runs/run-data-purge.d.ts.map +1 -0
  467. package/dist/server/core/runs/run-data-purge.js +82 -0
  468. package/dist/server/core/runs/run-data-purge.js.map +1 -0
  469. package/dist/server/core/runs/run-requests.d.ts +25 -0
  470. package/dist/server/core/runs/run-requests.d.ts.map +1 -1
  471. package/dist/server/core/runs/run-requests.js +131 -64
  472. package/dist/server/core/runs/run-requests.js.map +1 -1
  473. package/dist/server/core/runs/run.service.d.ts +31 -2
  474. package/dist/server/core/runs/run.service.d.ts.map +1 -1
  475. package/dist/server/core/runs/run.service.js +638 -74
  476. package/dist/server/core/runs/run.service.js.map +1 -1
  477. package/dist/server/core/runs/run.store.d.ts +11 -0
  478. package/dist/server/core/runs/run.store.d.ts.map +1 -1
  479. package/dist/server/core/runs/run.store.js +39 -11
  480. package/dist/server/core/runs/run.store.js.map +1 -1
  481. package/dist/server/core/runs/runner-view.d.ts +12 -2
  482. package/dist/server/core/runs/runner-view.d.ts.map +1 -1
  483. package/dist/server/core/runs/runner-view.js +55 -13
  484. package/dist/server/core/runs/runner-view.js.map +1 -1
  485. package/dist/server/core/runs/selection.d.ts +13 -0
  486. package/dist/server/core/runs/selection.d.ts.map +1 -0
  487. package/dist/server/core/runs/selection.js +21 -0
  488. package/dist/server/core/runs/selection.js.map +1 -0
  489. package/dist/server/core/runs/sweeper.d.ts +1 -0
  490. package/dist/server/core/runs/sweeper.d.ts.map +1 -1
  491. package/dist/server/core/runs/sweeper.js +66 -17
  492. package/dist/server/core/runs/sweeper.js.map +1 -1
  493. package/dist/server/core/runs/transitions.d.ts +6 -2
  494. package/dist/server/core/runs/transitions.d.ts.map +1 -1
  495. package/dist/server/core/runs/transitions.js +73 -19
  496. package/dist/server/core/runs/transitions.js.map +1 -1
  497. package/dist/server/core/runs/workload.d.ts +17 -5
  498. package/dist/server/core/runs/workload.d.ts.map +1 -1
  499. package/dist/server/core/runs/workload.js +203 -68
  500. package/dist/server/core/runs/workload.js.map +1 -1
  501. package/dist/server/core/skills/skill.service.d.ts +6 -2
  502. package/dist/server/core/skills/skill.service.d.ts.map +1 -1
  503. package/dist/server/core/skills/skill.service.js +87 -66
  504. package/dist/server/core/skills/skill.service.js.map +1 -1
  505. package/dist/server/core/skills/skill.store.d.ts +14 -0
  506. package/dist/server/core/skills/skill.store.d.ts.map +1 -1
  507. package/dist/server/core/skills/skill.store.js +30 -0
  508. package/dist/server/core/skills/skill.store.js.map +1 -1
  509. package/dist/server/core/transaction-read.d.ts +4 -0
  510. package/dist/server/core/transaction-read.d.ts.map +1 -0
  511. package/dist/server/core/transaction-read.js +30 -0
  512. package/dist/server/core/transaction-read.js.map +1 -0
  513. package/dist/server/core/variables/index.d.ts +1 -1
  514. package/dist/server/core/variables/index.d.ts.map +1 -1
  515. package/dist/server/core/variables/index.js.map +1 -1
  516. package/dist/server/core/variables/variable.service.d.ts +18 -0
  517. package/dist/server/core/variables/variable.service.d.ts.map +1 -1
  518. package/dist/server/core/variables/variable.service.js +95 -20
  519. package/dist/server/core/variables/variable.service.js.map +1 -1
  520. package/dist/server/index.d.ts +4 -0
  521. package/dist/server/index.d.ts.map +1 -1
  522. package/dist/server/index.js +3 -0
  523. package/dist/server/index.js.map +1 -1
  524. package/dist/server/jobs/job.service.d.ts +1 -1
  525. package/dist/server/jobs/job.service.d.ts.map +1 -1
  526. package/dist/server/jobs/job.service.js +8 -2
  527. package/dist/server/jobs/job.service.js.map +1 -1
  528. package/dist/server/kernel/events.d.ts +7 -3
  529. package/dist/server/kernel/events.d.ts.map +1 -1
  530. package/dist/server/kernel/events.js.map +1 -1
  531. package/dist/server/kernel/scopes.d.ts +6 -0
  532. package/dist/server/kernel/scopes.d.ts.map +1 -1
  533. package/dist/server/kernel/scopes.js +3 -1
  534. package/dist/server/kernel/scopes.js.map +1 -1
  535. package/dist/server/locales/de-DE.d.ts +5 -0
  536. package/dist/server/locales/de-DE.d.ts.map +1 -0
  537. package/dist/server/locales/de-DE.js +54 -0
  538. package/dist/server/locales/de-DE.js.map +1 -0
  539. package/dist/server/locales/es-ES.d.ts +5 -0
  540. package/dist/server/locales/es-ES.d.ts.map +1 -0
  541. package/dist/server/locales/es-ES.js +54 -0
  542. package/dist/server/locales/es-ES.js.map +1 -0
  543. package/dist/server/locales/fr-FR.d.ts +5 -0
  544. package/dist/server/locales/fr-FR.d.ts.map +1 -0
  545. package/dist/server/locales/fr-FR.js +54 -0
  546. package/dist/server/locales/fr-FR.js.map +1 -0
  547. package/dist/server/locales/id-ID.d.ts +5 -0
  548. package/dist/server/locales/id-ID.d.ts.map +1 -0
  549. package/dist/server/locales/id-ID.js +54 -0
  550. package/dist/server/locales/id-ID.js.map +1 -0
  551. package/dist/server/locales/index.d.ts.map +1 -1
  552. package/dist/server/locales/index.js +8 -0
  553. package/dist/server/locales/index.js.map +1 -1
  554. package/dist/server/locales/ja-JP.d.ts +5 -0
  555. package/dist/server/locales/ja-JP.d.ts.map +1 -0
  556. package/dist/server/locales/ja-JP.js +54 -0
  557. package/dist/server/locales/ja-JP.js.map +1 -0
  558. package/dist/server/locales/pt-BR.d.ts +5 -0
  559. package/dist/server/locales/pt-BR.d.ts.map +1 -0
  560. package/dist/server/locales/pt-BR.js +54 -0
  561. package/dist/server/locales/pt-BR.js.map +1 -0
  562. package/dist/server/locales/vi-VN.d.ts +5 -0
  563. package/dist/server/locales/vi-VN.d.ts.map +1 -0
  564. package/dist/server/locales/vi-VN.js +54 -0
  565. package/dist/server/locales/vi-VN.js.map +1 -0
  566. package/dist/server/locales/zh-TW.d.ts +5 -0
  567. package/dist/server/locales/zh-TW.d.ts.map +1 -0
  568. package/dist/server/locales/zh-TW.js +54 -0
  569. package/dist/server/locales/zh-TW.js.map +1 -0
  570. package/dist/server/online/agent/configuration.d.ts +26 -0
  571. package/dist/server/online/agent/configuration.d.ts.map +1 -0
  572. package/dist/server/online/agent/configuration.js +261 -0
  573. package/dist/server/online/agent/configuration.js.map +1 -0
  574. package/dist/server/online/agent/contracts.d.ts +87 -0
  575. package/dist/server/online/agent/contracts.d.ts.map +1 -0
  576. package/dist/server/online/agent/contracts.js +2 -0
  577. package/dist/server/online/agent/contracts.js.map +1 -0
  578. package/dist/server/online/agent/errors.d.ts +11 -0
  579. package/dist/server/online/agent/errors.d.ts.map +1 -0
  580. package/dist/server/online/agent/errors.js +21 -0
  581. package/dist/server/online/agent/errors.js.map +1 -0
  582. package/dist/server/online/agent/index.d.ts +11 -0
  583. package/dist/server/online/agent/index.d.ts.map +1 -0
  584. package/dist/server/online/agent/index.js +9 -0
  585. package/dist/server/online/agent/index.js.map +1 -0
  586. package/dist/server/online/agent/messages/json.d.ts +5 -0
  587. package/dist/server/online/agent/messages/json.d.ts.map +1 -0
  588. package/dist/server/online/agent/messages/json.js +88 -0
  589. package/dist/server/online/agent/messages/json.js.map +1 -0
  590. package/dist/server/online/agent/messages/projection.d.ts +20 -0
  591. package/dist/server/online/agent/messages/projection.d.ts.map +1 -0
  592. package/dist/server/online/agent/messages/projection.js +495 -0
  593. package/dist/server/online/agent/messages/projection.js.map +1 -0
  594. package/dist/server/online/agent/messages/validation.d.ts +7 -0
  595. package/dist/server/online/agent/messages/validation.d.ts.map +1 -0
  596. package/dist/server/online/agent/messages/validation.js +159 -0
  597. package/dist/server/online/agent/messages/validation.js.map +1 -0
  598. package/dist/server/online/agent/native/backend.d.ts +60 -0
  599. package/dist/server/online/agent/native/backend.d.ts.map +1 -0
  600. package/dist/server/online/agent/native/backend.js +411 -0
  601. package/dist/server/online/agent/native/backend.js.map +1 -0
  602. package/dist/server/online/agent/native/execution.d.ts +41 -0
  603. package/dist/server/online/agent/native/execution.d.ts.map +1 -0
  604. package/dist/server/online/agent/native/execution.js +430 -0
  605. package/dist/server/online/agent/native/execution.js.map +1 -0
  606. package/dist/server/online/agent/native/session.d.ts +40 -0
  607. package/dist/server/online/agent/native/session.d.ts.map +1 -0
  608. package/dist/server/online/agent/native/session.js +104 -0
  609. package/dist/server/online/agent/native/session.js.map +1 -0
  610. package/dist/server/online/agent/native/types.d.ts +32 -0
  611. package/dist/server/online/agent/native/types.d.ts.map +1 -0
  612. package/dist/server/online/agent/native/types.js +2 -0
  613. package/dist/server/online/agent/native/types.js.map +1 -0
  614. package/dist/server/online/agent/persistence/manager.d.ts +16 -0
  615. package/dist/server/online/agent/persistence/manager.d.ts.map +1 -0
  616. package/dist/server/online/agent/persistence/manager.js +209 -0
  617. package/dist/server/online/agent/persistence/manager.js.map +1 -0
  618. package/dist/server/online/agent/persistence/state.d.ts +11 -0
  619. package/dist/server/online/agent/persistence/state.d.ts.map +1 -0
  620. package/dist/server/online/agent/persistence/state.js +45 -0
  621. package/dist/server/online/agent/persistence/state.js.map +1 -0
  622. package/dist/server/online/agent/persistence/store.d.ts +58 -0
  623. package/dist/server/online/agent/persistence/store.d.ts.map +1 -0
  624. package/dist/server/online/agent/persistence/store.js +634 -0
  625. package/dist/server/online/agent/persistence/store.js.map +1 -0
  626. package/dist/server/online/agent/persistence/types.d.ts +44 -0
  627. package/dist/server/online/agent/persistence/types.d.ts.map +1 -0
  628. package/dist/server/online/agent/persistence/types.js +2 -0
  629. package/dist/server/online/agent/persistence/types.js.map +1 -0
  630. package/dist/server/online/agent/runner/backend.d.ts +57 -0
  631. package/dist/server/online/agent/runner/backend.d.ts.map +1 -0
  632. package/dist/server/online/agent/runner/backend.js +501 -0
  633. package/dist/server/online/agent/runner/backend.js.map +1 -0
  634. package/dist/server/online/agent/runner/projection.d.ts +10 -0
  635. package/dist/server/online/agent/runner/projection.d.ts.map +1 -0
  636. package/dist/server/online/agent/runner/projection.js +171 -0
  637. package/dist/server/online/agent/runner/projection.js.map +1 -0
  638. package/dist/server/online/agent/runner/types.d.ts +44 -0
  639. package/dist/server/online/agent/runner/types.d.ts.map +1 -0
  640. package/dist/server/online/agent/runner/types.js +2 -0
  641. package/dist/server/online/agent/runner/types.js.map +1 -0
  642. package/dist/server/online/agent/service.d.ts +47 -0
  643. package/dist/server/online/agent/service.d.ts.map +1 -0
  644. package/dist/server/online/agent/service.js +111 -0
  645. package/dist/server/online/agent/service.js.map +1 -0
  646. package/dist/server/online/agent/transport/streams.d.ts +54 -0
  647. package/dist/server/online/agent/transport/streams.d.ts.map +1 -0
  648. package/dist/server/online/agent/transport/streams.js +440 -0
  649. package/dist/server/online/agent/transport/streams.js.map +1 -0
  650. package/dist/server/online/agent/types.d.ts +155 -0
  651. package/dist/server/online/agent/types.d.ts.map +1 -0
  652. package/dist/server/online/agent/types.js +2 -0
  653. package/dist/server/online/agent/types.js.map +1 -0
  654. package/dist/server/online/index.d.ts +0 -5
  655. package/dist/server/online/index.d.ts.map +1 -1
  656. package/dist/server/online/index.js +0 -5
  657. package/dist/server/online/index.js.map +1 -1
  658. package/dist/server/online/providers.d.ts.map +1 -1
  659. package/dist/server/online/providers.js +26 -2
  660. package/dist/server/online/providers.js.map +1 -1
  661. package/dist/server/online/routes.d.ts.map +1 -1
  662. package/dist/server/online/routes.js +6 -35
  663. package/dist/server/online/routes.js.map +1 -1
  664. package/dist/server/online/services.d.ts.map +1 -1
  665. package/dist/server/online/services.js +101 -24
  666. package/dist/server/online/services.js.map +1 -1
  667. package/dist/server/providers/agents.d.ts +18 -25
  668. package/dist/server/providers/agents.d.ts.map +1 -1
  669. package/dist/server/providers/agents.js +72 -101
  670. package/dist/server/providers/agents.js.map +1 -1
  671. package/dist/server/providers/authorization.d.ts +1 -1
  672. package/dist/server/providers/authorization.d.ts.map +1 -1
  673. package/dist/server/providers/authorization.js +3 -2
  674. package/dist/server/providers/authorization.js.map +1 -1
  675. package/dist/server/providers/runners.d.ts +3 -1
  676. package/dist/server/providers/runners.d.ts.map +1 -1
  677. package/dist/server/providers/runners.js +38 -9
  678. package/dist/server/providers/runners.js.map +1 -1
  679. package/dist/server/routes/admin.d.ts +4 -0
  680. package/dist/server/routes/admin.d.ts.map +1 -1
  681. package/dist/server/routes/admin.js +131 -209
  682. package/dist/server/routes/admin.js.map +1 -1
  683. package/dist/server/routes/chat.d.ts.map +1 -1
  684. package/dist/server/routes/chat.js +313 -164
  685. package/dist/server/routes/chat.js.map +1 -1
  686. package/dist/server/routes/index.d.ts.map +1 -1
  687. package/dist/server/routes/index.js +8 -0
  688. package/dist/server/routes/index.js.map +1 -1
  689. package/dist/server/routes/roster.d.ts.map +1 -1
  690. package/dist/server/routes/roster.js +6 -22
  691. package/dist/server/routes/roster.js.map +1 -1
  692. package/dist/server/routes/run-requests.js +3 -3
  693. package/dist/server/routes/run-requests.js.map +1 -1
  694. package/dist/server/routes/runners/admin.d.ts.map +1 -1
  695. package/dist/server/routes/runners/admin.js +219 -25
  696. package/dist/server/routes/runners/admin.js.map +1 -1
  697. package/dist/server/routes/runners/install.d.ts.map +1 -1
  698. package/dist/server/routes/runners/install.js +7 -2
  699. package/dist/server/routes/runners/install.js.map +1 -1
  700. package/dist/server/routes/runners/runner.d.ts.map +1 -1
  701. package/dist/server/routes/runners/runner.js +2 -0
  702. package/dist/server/routes/runners/runner.js.map +1 -1
  703. package/dist/server/routes/schemas.d.ts +18 -10
  704. package/dist/server/routes/schemas.d.ts.map +1 -1
  705. package/dist/server/routes/schemas.js +497 -153
  706. package/dist/server/routes/schemas.js.map +1 -1
  707. package/dist/server/runners/runner.service.d.ts +47 -4
  708. package/dist/server/runners/runner.service.d.ts.map +1 -1
  709. package/dist/server/runners/runner.service.js +423 -79
  710. package/dist/server/runners/runner.service.js.map +1 -1
  711. package/dist/server/runners/runner.store.d.ts +8 -3
  712. package/dist/server/runners/runner.store.d.ts.map +1 -1
  713. package/dist/server/runners/runner.store.js +63 -6
  714. package/dist/server/runners/runner.store.js.map +1 -1
  715. package/dist/server/runners/slots.d.ts +5 -2
  716. package/dist/server/runners/slots.d.ts.map +1 -1
  717. package/dist/server/runners/slots.js +3 -4
  718. package/dist/server/runners/slots.js.map +1 -1
  719. package/dist/server/runners/workspaces.d.ts.map +1 -1
  720. package/dist/server/runners/workspaces.js +18 -2
  721. package/dist/server/runners/workspaces.js.map +1 -1
  722. package/dist/server/testing.d.ts +0 -2
  723. package/dist/server/testing.d.ts.map +1 -1
  724. package/dist/server/testing.js +1 -4
  725. package/dist/server/testing.js.map +1 -1
  726. package/dist/server/tokens.d.ts +8 -7
  727. package/dist/server/tokens.d.ts.map +1 -1
  728. package/dist/server/tokens.js +4 -2
  729. package/dist/server/tokens.js.map +1 -1
  730. package/dist/shared/access.d.ts +3 -7
  731. package/dist/shared/access.d.ts.map +1 -1
  732. package/dist/shared/access.js +3 -7
  733. package/dist/shared/access.js.map +1 -1
  734. package/dist/shared/agents.d.ts +131 -169
  735. package/dist/shared/agents.d.ts.map +1 -1
  736. package/dist/shared/agents.js +36 -102
  737. package/dist/shared/agents.js.map +1 -1
  738. package/dist/shared/conversations.d.ts +93 -170
  739. package/dist/shared/conversations.d.ts.map +1 -1
  740. package/dist/shared/conversations.js +8 -30
  741. package/dist/shared/conversations.js.map +1 -1
  742. package/dist/shared/locales/access.en-US.js +3 -3
  743. package/dist/shared/locales/access.zh-CN.js +4 -4
  744. package/dist/shared/model-catalog.d.ts +53 -0
  745. package/dist/shared/model-catalog.d.ts.map +1 -0
  746. package/dist/shared/model-catalog.js +182 -0
  747. package/dist/shared/model-catalog.js.map +1 -0
  748. package/dist/shared/online-agent.d.ts +3 -0
  749. package/dist/shared/online-agent.d.ts.map +1 -0
  750. package/dist/shared/online-agent.js +3 -0
  751. package/dist/shared/online-agent.js.map +1 -0
  752. package/dist/shared/page-ui-context.d.ts +26 -0
  753. package/dist/shared/page-ui-context.d.ts.map +1 -0
  754. package/dist/shared/page-ui-context.js +129 -0
  755. package/dist/shared/page-ui-context.js.map +1 -0
  756. package/dist/shared/quota.d.ts +15 -0
  757. package/dist/shared/quota.d.ts.map +1 -0
  758. package/dist/shared/quota.js +2 -0
  759. package/dist/shared/quota.js.map +1 -0
  760. package/dist/shared/runners.d.ts +132 -14
  761. package/dist/shared/runners.d.ts.map +1 -1
  762. package/dist/shared/runners.js +171 -11
  763. package/dist/shared/runners.js.map +1 -1
  764. package/dist/shared/runs.d.ts +57 -1
  765. package/dist/shared/runs.d.ts.map +1 -1
  766. package/dist/shared/runs.js +28 -0
  767. package/dist/shared/runs.js.map +1 -1
  768. package/dist/shared/skills.d.ts +11 -5
  769. package/dist/shared/skills.d.ts.map +1 -1
  770. package/dist/shared/skills.js +7 -2
  771. package/dist/shared/skills.js.map +1 -1
  772. package/dist/shared/ui-message.d.ts +80 -0
  773. package/dist/shared/ui-message.d.ts.map +1 -0
  774. package/dist/shared/ui-message.js +153 -0
  775. package/dist/shared/ui-message.js.map +1 -0
  776. package/dist/shared/variables.js +1 -1
  777. package/dist/shared/variables.js.map +1 -1
  778. package/docs/ai-forms.md +346 -0
  779. package/docs/execution-history.md +19 -0
  780. package/docs/mysql-installation-upgrade.md +7 -0
  781. package/docs/runner-agents.md +27 -0
  782. package/docs/ui-message-clients.md +80 -0
  783. package/docs/ui-messages.md +209 -0
  784. package/docs/workspace-cleanup.md +13 -0
  785. package/package.json +40 -26
  786. package/skills/nocobase-app-plugin-agents/SKILL.md +16 -13
  787. package/skills/nocobase-app-plugin-agents/references/agents.md +30 -0
  788. package/skills/nocobase-app-plugin-agents/references/extension-points.md +21 -21
  789. package/skills/nocobase-app-plugin-agents/references/model-services.md +17 -0
  790. package/skills/nocobase-app-plugin-agents/references/online-agent.md +216 -0
  791. package/skills/nocobase-app-plugin-agents/references/runners.md +12 -0
  792. package/skills/nocobase-app-plugin-agents/references/setup-and-config.md +6 -7
  793. package/skills/nocobase-app-plugin-agents/references/variables-skills-usage.md +6 -4
  794. package/skills/nocobase-app-plugin-agents/references/verification-and-troubleshooting.md +29 -32
  795. package/dist/client/chat/settings-section.d.ts +0 -5
  796. package/dist/client/chat/settings-section.d.ts.map +0 -1
  797. package/dist/client/chat/settings-section.js +0 -86
  798. package/dist/client/chat/settings-section.js.map +0 -1
  799. package/dist/client/components/agent-fields.d.ts +0 -45
  800. package/dist/client/components/agent-fields.d.ts.map +0 -1
  801. package/dist/client/components/agent-fields.js +0 -83
  802. package/dist/client/components/agent-fields.js.map +0 -1
  803. package/dist/client/components/agent-type.d.ts +0 -32
  804. package/dist/client/components/agent-type.d.ts.map +0 -1
  805. package/dist/client/components/agent-type.js +0 -80
  806. package/dist/client/components/agent-type.js.map +0 -1
  807. package/dist/client/components/model-entries.d.ts +0 -44
  808. package/dist/client/components/model-entries.d.ts.map +0 -1
  809. package/dist/client/components/model-entries.js +0 -104
  810. package/dist/client/components/model-entries.js.map +0 -1
  811. package/dist/client/hooks/use-agent-save.d.ts +0 -9
  812. package/dist/client/hooks/use-agent-save.d.ts.map +0 -1
  813. package/dist/client/hooks/use-agent-save.js +0 -40
  814. package/dist/client/hooks/use-agent-save.js.map +0 -1
  815. package/dist/client/hooks/use-model-catalog.d.ts +0 -9
  816. package/dist/client/hooks/use-model-catalog.d.ts.map +0 -1
  817. package/dist/client/hooks/use-model-catalog.js +0 -27
  818. package/dist/client/hooks/use-model-catalog.js.map +0 -1
  819. package/dist/client/lib/model-suggestions.d.ts +0 -28
  820. package/dist/client/lib/model-suggestions.d.ts.map +0 -1
  821. package/dist/client/lib/model-suggestions.js +0 -44
  822. package/dist/client/lib/model-suggestions.js.map +0 -1
  823. package/dist/client/lib/tool-policy.d.ts +0 -3
  824. package/dist/client/lib/tool-policy.d.ts.map +0 -1
  825. package/dist/client/lib/tool-policy.js +0 -5
  826. package/dist/client/lib/tool-policy.js.map +0 -1
  827. package/dist/client/online/default-model.d.ts +0 -5
  828. package/dist/client/online/default-model.d.ts.map +0 -1
  829. package/dist/client/online/default-model.js +0 -65
  830. package/dist/client/online/default-model.js.map +0 -1
  831. package/dist/client/pages/agents/agent-model.d.ts +0 -69
  832. package/dist/client/pages/agents/agent-model.d.ts.map +0 -1
  833. package/dist/client/pages/agents/agent-model.js +0 -153
  834. package/dist/client/pages/agents/agent-model.js.map +0 -1
  835. package/dist/client/pages/agents/detail/brief-preview.d.ts +0 -7
  836. package/dist/client/pages/agents/detail/brief-preview.d.ts.map +0 -1
  837. package/dist/client/pages/agents/detail/brief-preview.js +0 -43
  838. package/dist/client/pages/agents/detail/brief-preview.js.map +0 -1
  839. package/dist/client/pages/agents/detail/history.d.ts +0 -11
  840. package/dist/client/pages/agents/detail/history.d.ts.map +0 -1
  841. package/dist/client/pages/agents/detail/history.js +0 -149
  842. package/dist/client/pages/agents/detail/history.js.map +0 -1
  843. package/dist/client/pages/agents/detail/index.d.ts +0 -3
  844. package/dist/client/pages/agents/detail/index.d.ts.map +0 -1
  845. package/dist/client/pages/agents/detail/index.js +0 -241
  846. package/dist/client/pages/agents/detail/index.js.map +0 -1
  847. package/dist/client/pages/agents/detail/sections.d.ts +0 -21
  848. package/dist/client/pages/agents/detail/sections.d.ts.map +0 -1
  849. package/dist/client/pages/agents/detail/sections.js +0 -280
  850. package/dist/client/pages/agents/detail/sections.js.map +0 -1
  851. package/dist/client/pages/agents/detail/tab-draft.d.ts +0 -43
  852. package/dist/client/pages/agents/detail/tab-draft.d.ts.map +0 -1
  853. package/dist/client/pages/agents/detail/tab-draft.js +0 -115
  854. package/dist/client/pages/agents/detail/tab-draft.js.map +0 -1
  855. package/dist/client/pages/agents/detail/unsaved-bar.d.ts +0 -13
  856. package/dist/client/pages/agents/detail/unsaved-bar.d.ts.map +0 -1
  857. package/dist/client/pages/agents/detail/unsaved-bar.js +0 -21
  858. package/dist/client/pages/agents/detail/unsaved-bar.js.map +0 -1
  859. package/dist/client/pages/agents/new.d.ts +0 -3
  860. package/dist/client/pages/agents/new.d.ts.map +0 -1
  861. package/dist/client/pages/agents/new.js +0 -149
  862. package/dist/client/pages/agents/new.js.map +0 -1
  863. package/dist/client/pages/agents/preset-picker.d.ts +0 -8
  864. package/dist/client/pages/agents/preset-picker.d.ts.map +0 -1
  865. package/dist/client/pages/agents/preset-picker.js +0 -41
  866. package/dist/client/pages/agents/preset-picker.js.map +0 -1
  867. package/dist/server/core/consultations/consultation.service.d.ts +0 -59
  868. package/dist/server/core/consultations/consultation.service.d.ts.map +0 -1
  869. package/dist/server/core/consultations/consultation.service.js +0 -198
  870. package/dist/server/core/consultations/consultation.service.js.map +0 -1
  871. package/dist/server/core/consultations/index.d.ts +0 -3
  872. package/dist/server/core/consultations/index.d.ts.map +0 -1
  873. package/dist/server/core/consultations/index.js +0 -3
  874. package/dist/server/core/consultations/index.js.map +0 -1
  875. package/dist/server/core/consultations/prompt.d.ts +0 -41
  876. package/dist/server/core/consultations/prompt.d.ts.map +0 -1
  877. package/dist/server/core/consultations/prompt.js +0 -64
  878. package/dist/server/core/consultations/prompt.js.map +0 -1
  879. package/dist/server/core/presets/index.d.ts +0 -19
  880. package/dist/server/core/presets/index.d.ts.map +0 -1
  881. package/dist/server/core/presets/index.js +0 -28
  882. package/dist/server/core/presets/index.js.map +0 -1
  883. package/dist/server/online/cli-command.d.ts +0 -20
  884. package/dist/server/online/cli-command.d.ts.map +0 -1
  885. package/dist/server/online/cli-command.js +0 -345
  886. package/dist/server/online/cli-command.js.map +0 -1
  887. package/dist/server/online/consult-tool.d.ts +0 -54
  888. package/dist/server/online/consult-tool.d.ts.map +0 -1
  889. package/dist/server/online/consult-tool.js +0 -177
  890. package/dist/server/online/consult-tool.js.map +0 -1
  891. package/dist/server/online/executor.d.ts +0 -83
  892. package/dist/server/online/executor.d.ts.map +0 -1
  893. package/dist/server/online/executor.js +0 -714
  894. package/dist/server/online/executor.js.map +0 -1
  895. package/dist/server/online/sandbox.d.ts +0 -32
  896. package/dist/server/online/sandbox.d.ts.map +0 -1
  897. package/dist/server/online/sandbox.js +0 -246
  898. package/dist/server/online/sandbox.js.map +0 -1
  899. package/dist/server/online/scripted.d.ts +0 -12
  900. package/dist/server/online/scripted.d.ts.map +0 -1
  901. package/dist/server/online/scripted.js +0 -176
  902. package/dist/server/online/scripted.js.map +0 -1
  903. package/dist/server/online/tools.d.ts +0 -17
  904. package/dist/server/online/tools.d.ts.map +0 -1
  905. package/dist/server/online/tools.js +0 -31
  906. package/dist/server/online/tools.js.map +0 -1
  907. package/dist/server/vendor/THIRD_PARTY_LICENSES.txt +0 -782
  908. package/dist/server/vendor/just-bash.d.ts +0 -83
  909. package/dist/server/vendor/just-bash.js +0 -2102
  910. package/dist/shared/presets.d.ts +0 -30
  911. package/dist/shared/presets.d.ts.map +0 -1
  912. package/dist/shared/presets.js +0 -2
  913. package/dist/shared/presets.js.map +0 -1
  914. package/skills/nocobase-app-plugin-agents/references/online-agents.md +0 -31
@@ -10,20 +10,21 @@
10
10
  */
11
11
  import { ApiClientError, useApiClient, useToaster } from '@nocobase/app-client';
12
12
  import { useTranslation } from '@nocobase/i18n/client';
13
- import { keepPreviousData, useInfiniteQuery, useMutation, useQuery, } from '@tanstack/react-query';
14
- import { useCallback, useEffect, useMemo, useReducer, useRef, useState, } from 'react';
13
+ import { CancelledError, keepPreviousData, useInfiniteQuery, useMutation, useQuery, } from '@tanstack/react-query';
14
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useSyncExternalStore, } from 'react';
15
15
  import { ACCESS_NAMESPACE } from '../../shared/access.js';
16
- import { CONVERSATIONS_TOPIC, MESSAGE_PAGE_DEFAULT, } from '../../shared/conversations.js';
16
+ import { CONVERSATIONS_TOPIC, } from '../../shared/conversations.js';
17
17
  import { useRealtimeTopic } from '../hooks/use-realtime-topic.js';
18
+ import { useQuotaExpiry } from '../hooks/use-quota-expiry.js';
19
+ import { RUNNERS_TOPIC } from '../../shared/realtime.js';
18
20
  import { errorText } from '../hooks/use-notify.js';
19
21
  import { agentsQueryClient } from '../query.js';
22
+ import { useChatController, useChatStream } from './controller.js';
20
23
  import { ChatApi } from './api.js';
21
24
  import { chatKeys } from './keys.js';
22
- import { EMPTY_MESSAGES, fetchCursor, lastLoadedSeq, streamingSeq, messagesReducer, newClientId, } from './message-model.js';
25
+ import { EMPTY_MESSAGES, messagesReducer, } from './message-model.js';
23
26
  /** How often an open conversation with a run is fetched when no announcement comes. */
24
- export const CHAT_POLL_MS = 5000;
25
- /** How often while an online agent's reply is being written, so it grows even without announcements. */
26
- export const CHAT_STREAM_POLL_MS = 1000;
27
+ export const CHAT_POLL_MS = 60_000;
27
28
  export function useChatApi() {
28
29
  const api = useApiClient();
29
30
  return useMemo(() => new ChatApi(api), [api]);
@@ -39,28 +40,82 @@ export function isChatPayload(payload) {
39
40
  if (!payload || typeof payload !== 'object')
40
41
  return false;
41
42
  const kind = payload.kind;
42
- return kind === 'conversation.messages' || kind === 'conversation.changed';
43
+ return (kind === 'conversation.messages' ||
44
+ kind === 'conversation.changed' ||
45
+ kind === 'conversation.messageUpdated');
43
46
  }
44
47
  /** The agents the viewer may chat with, with whether each can answer now. */
45
48
  export function useChatAgents(enabled = true) {
46
49
  const api = useChatApi();
47
- return useQuery({
50
+ const query = useQuery({
48
51
  queryKey: chatKeys.agents,
49
52
  queryFn: () => api.agents(),
50
53
  enabled,
51
54
  staleTime: 15_000,
55
+ retry: notRetriedOnClientErrors,
52
56
  }, agentsQueryClient());
57
+ useQuotaExpiry(query.data ?? []);
58
+ const { refetch } = query;
59
+ useEffect(() => {
60
+ if (enabled)
61
+ void refetch({ cancelRefetch: false });
62
+ }, [enabled, refetch]);
63
+ return query;
64
+ }
65
+ /** Public native chat models; revalidated while open, without turning a failed read into an empty catalog. */
66
+ export function useChatModels(enabled = true) {
67
+ const api = useChatApi();
68
+ const client = agentsQueryClient();
69
+ const query = useQuery({
70
+ queryKey: chatKeys.models,
71
+ queryFn: ({ signal }) => api.models(signal),
72
+ enabled,
73
+ staleTime: 15_000,
74
+ retry: false,
75
+ refetchOnWindowFocus: 'always',
76
+ }, client);
77
+ const { refetch } = query;
78
+ useEffect(() => {
79
+ if (!enabled) {
80
+ // Closing the last consumer abandons stale revalidation; active consumers keep their request.
81
+ void client.cancelQueries({
82
+ queryKey: chatKeys.models,
83
+ exact: true,
84
+ type: 'inactive',
85
+ });
86
+ return;
87
+ }
88
+ // Multiple mounted consumers share any in-flight open/focus refresh instead of restarting it.
89
+ void refetch({ cancelRefetch: false });
90
+ const refresh = () => void refetch({ cancelRefetch: false });
91
+ window.addEventListener('focus', refresh);
92
+ return () => window.removeEventListener('focus', refresh);
93
+ }, [client, enabled, refetch]);
94
+ return query;
53
95
  }
54
96
  /** One conversation; polled while its run is open. */
55
97
  export function useConversation(conversationId) {
56
98
  const api = useChatApi();
99
+ const controller = useChatController();
57
100
  return useQuery({
58
101
  queryKey: chatKeys.conversation(conversationId ?? ''),
59
- queryFn: () => api.conversation(conversationId ?? ''),
102
+ queryFn: async () => {
103
+ const current = controller.detailRequest(conversationId ?? '');
104
+ if (!current())
105
+ throw new CancelledError({ silent: true });
106
+ const detail = await api.conversation(conversationId ?? '');
107
+ if (!current())
108
+ throw new CancelledError({ silent: true });
109
+ controller.observeDetail(detail);
110
+ return detail;
111
+ },
60
112
  enabled: conversationId !== null,
61
113
  placeholderData: noPlaceholder,
62
114
  retry: notRetriedOnClientErrors,
63
- refetchInterval: (query) => query.state.data?.run ? CHAT_POLL_MS : false,
115
+ refetchInterval: (query) => query.state.data?.run ||
116
+ query.state.data?.execution?.status === 'running'
117
+ ? CHAT_POLL_MS
118
+ : false,
64
119
  }, agentsQueryClient());
65
120
  }
66
121
  /** The viewer's conversations matching `query`, last message first; `fetchNextPage()` loads the next page. */
@@ -83,6 +138,9 @@ export function useConversationList(query) {
83
138
  */
84
139
  export function useChatRealtime(enabled) {
85
140
  const queryClient = agentsQueryClient();
141
+ useRealtimeTopic(enabled ? RUNNERS_TOPIC : null, () => {
142
+ void queryClient.invalidateQueries({ queryKey: chatKeys.agents });
143
+ });
86
144
  useRealtimeTopic(enabled ? CONVERSATIONS_TOPIC : null, (payload) => {
87
145
  if (payload === undefined) {
88
146
  void queryClient.invalidateQueries({ queryKey: chatKeys.all });
@@ -97,207 +155,186 @@ export function useChatRealtime(enabled) {
97
155
  });
98
156
  });
99
157
  }
100
- /**
101
- * A conversation's messages: the newest page first, older pages on demand, newer ones when the topic announces them
102
- * (or the poll finds them while `polling`). A null conversation is a new one: only optimistic messages, kept when
103
- * its first message creates it (`conversationId` going from null to an id).
104
- */
105
- export function useConversationMessages(conversationId, polling) {
106
- const api = useChatApi();
107
- const [state, dispatch] = useReducer(messagesReducer, EMPTY_MESSAGES);
108
- const [loadingOlder, setLoadingOlder] = useState(false);
109
- const [error, setError] = useState(undefined);
110
- const stateRef = useRef(state);
158
+ /** Canonical pages and the initial stream live in one controller, independent of mounted views. */
159
+ export function useConversationMessages(conversationId) {
160
+ const controller = useChatController();
161
+ useChatStream(conversationId);
162
+ useSyncExternalStore(controller.subscribe, controller.snapshot, controller.snapshot);
163
+ const [draft, draftDispatch] = useReducer(messagesReducer, EMPTY_MESSAGES);
111
164
  useEffect(() => {
112
- stateRef.current = state;
113
- });
114
- const idRef = useRef(conversationId);
115
- const loaderRef = useRef({
116
- inflight: false,
117
- again: false,
118
- loadingOlder: false,
119
- });
165
+ if (conversationId)
166
+ void controller.loadHistory(conversationId);
167
+ }, [controller, conversationId]);
120
168
  const fetchNewer = useCallback(() => {
121
- const id = idRef.current;
122
- if (!id)
123
- return;
124
- const loader = loaderRef.current;
125
- if (loader.inflight) {
126
- loader.again = true;
127
- return;
128
- }
129
- loader.inflight = true;
130
- const run = async () => {
131
- try {
132
- let full = false;
133
- do {
134
- loader.again = false;
135
- const after = fetchCursor(stateRef.current);
136
- const page = await api.messages(id, stateRef.current.loaded ? { after } : {});
137
- if (idRef.current !== id)
138
- return;
139
- // From before a reply still being written, a full page may hold nothing new: do not ask again.
140
- full =
141
- stateRef.current.loaded &&
142
- after === lastLoadedSeq(stateRef.current) &&
143
- page.items.length >= MESSAGE_PAGE_DEFAULT;
144
- dispatch({ type: 'page', page });
145
- stateRef.current = messagesReducer(stateRef.current, {
146
- type: 'page',
147
- page,
148
- });
149
- setError(undefined);
150
- } while (loader.again || full);
151
- }
152
- catch (failure) {
153
- if (idRef.current === id)
154
- setError(failure);
155
- }
156
- finally {
157
- loader.inflight = false;
158
- }
159
- };
160
- void run();
161
- }, [api]);
162
- // A new id: start over, unless it is the conversation a new one's first message just created.
163
- const previousRef = useRef(conversationId);
164
- useEffect(() => {
165
- const previous = previousRef.current;
166
- previousRef.current = conversationId;
167
- idRef.current = conversationId;
168
- if (previous !== conversationId && previous !== null) {
169
- loaderRef.current = {
170
- inflight: false,
171
- again: false,
172
- loadingOlder: false,
173
- };
174
- stateRef.current = EMPTY_MESSAGES;
175
- dispatch({ type: 'reset' });
176
- setError(undefined);
177
- }
178
169
  if (conversationId)
179
- fetchNewer();
180
- }, [conversationId, fetchNewer]);
170
+ void controller.loadHistory(conversationId, false, true);
171
+ }, [controller, conversationId]);
181
172
  useRealtimeTopic(conversationId ? CONVERSATIONS_TOPIC : null, (payload) => {
173
+ if (!conversationId)
174
+ return;
182
175
  if (payload === undefined) {
183
- fetchNewer();
176
+ void controller
177
+ .refresh(conversationId)
178
+ .then(() => controller.resume(conversationId))
179
+ .catch(() => { });
184
180
  return;
185
181
  }
186
- if (isChatPayload(payload) &&
187
- payload.kind === 'conversation.messages' &&
188
- payload.conversationId === idRef.current &&
189
- (payload.lastSeq > lastLoadedSeq(stateRef.current) ||
190
- streamingSeq(stateRef.current) !== null))
182
+ if (!isChatPayload(payload) || payload.conversationId !== conversationId)
183
+ return;
184
+ if (payload.kind === 'conversation.messageUpdated')
185
+ controller.messageUpdated(conversationId, payload.messageId, payload.revision);
186
+ else if (payload.kind === 'conversation.messages' &&
187
+ payload.lastSeq > controller.history(conversationId).loadedThrough)
191
188
  fetchNewer();
192
189
  });
193
- const streaming = streamingSeq(state) !== null;
194
- useEffect(() => {
195
- if (!(polling || streaming) || !conversationId)
196
- return undefined;
197
- const timer = window.setInterval(fetchNewer, streaming ? CHAT_STREAM_POLL_MS : CHAT_POLL_MS);
198
- return () => window.clearInterval(timer);
199
- }, [polling, streaming, conversationId, fetchNewer]);
200
- const loadOlder = useCallback(() => {
201
- const id = idRef.current;
202
- const loader = loaderRef.current;
203
- const pageToken = stateRef.current.olderToken;
204
- if (!id || !pageToken || loader.loadingOlder)
205
- return;
206
- loader.loadingOlder = true;
207
- setLoadingOlder(true);
208
- void api
209
- .messages(id, { pageToken })
210
- .then((page) => {
211
- if (idRef.current === id)
212
- dispatch({ type: 'page', page, older: true });
213
- })
214
- .catch((failure) => setError(failure))
215
- .finally(() => {
216
- loader.loadingOlder = false;
217
- setLoadingOlder(false);
218
- });
219
- }, [api]);
190
+ // One durable subscription/poll owner regardless of how many surfaces display this conversation.
191
+ useEffect(() => (conversationId ? controller.watch(conversationId) : undefined), [controller, conversationId]);
192
+ const loaded = conversationId
193
+ ? controller.history(conversationId)
194
+ : { state: draft, loadingOlder: false, error: undefined };
195
+ const records = controller.submissions
196
+ .snapshot()
197
+ .filter((record) => record.conversationId === conversationId &&
198
+ !record.message &&
199
+ !['rejected', 'confirmed'].includes(record.status));
200
+ const pending = conversationId
201
+ ? records.map((record) => ({
202
+ clientId: record.clientId,
203
+ content: record.content,
204
+ context: record.context,
205
+ attachments: record.attachments,
206
+ createdAt: record.createdAt,
207
+ status: record.status === 'notSubmitted'
208
+ ? 'failed'
209
+ : record.status === 'unknown' || record.status === 'creationUnknown'
210
+ ? 'unknown'
211
+ : 'sending',
212
+ }))
213
+ : loaded.state.pending;
220
214
  return {
221
- ...state,
222
- loadingOlder,
223
- error,
224
- loadOlder,
215
+ ...loaded.state,
216
+ pending,
217
+ // The SDK owns optimistic user messages; recovery controls replace their presentation until admission is reconciled.
218
+ items: loaded.state.items.filter((message) => !records.some((record) => message.id === record.clientId &&
219
+ message.metadata?.seq === undefined)),
220
+ loadingOlder: loaded.loadingOlder,
221
+ error: loaded.error,
225
222
  fetchNewer,
226
- dispatch,
223
+ loadOlder: () => {
224
+ if (conversationId)
225
+ void controller.loadHistory(conversationId, true);
226
+ },
227
+ dispatch: (action) => {
228
+ if (action.type === 'discard')
229
+ controller.submissions.editRejected(action.clientId);
230
+ if (conversationId)
231
+ controller.dispatch(conversationId, action);
232
+ else
233
+ draftDispatch(action);
234
+ },
227
235
  };
228
236
  }
229
237
  /**
230
- * Sends a message, showing it at once and replacing it with the server's copy (matched by `clientId`). A new
231
- * conversation (`conversationId` null) is created first, with `agentId`, `source` and, for an online agent, `model`.
238
+ * Returns synchronous client acceptance (not server confirmation), showing it at once and replacing it with the server's copy (matched by `clientId`). A new
239
+ * conversation (`conversationId` null) is created first, with `agentId` and `source`.
232
240
  */
233
- export function useSendMessage({ conversationId, agentId, source, model = null, dispatch, onCreated, }) {
234
- const api = useChatApi();
235
- const queryClient = agentsQueryClient();
236
- const toaster = useToaster();
237
- const { t } = useTranslation(ACCESS_NAMESPACE);
238
- const createdRef = useRef(null);
239
- return useCallback(async (input) => {
240
- const clientId = input.clientId ?? newClientId();
241
- if (input.clientId)
242
- dispatch({ type: 'discard', clientId });
241
+ export function useSendMessage({ conversationId, agentId, source, selectedModel, dispatch, onCreated, }) {
242
+ const controller = useChatController();
243
+ const editorKey = `registry:${source}:${conversationId ?? 'new'}`;
244
+ const editorRef = useRef(editorKey);
245
+ const observersRef = useRef(new Set());
246
+ useLayoutEffect(() => {
247
+ editorRef.current = editorKey;
248
+ const observers = observersRef.current;
249
+ return () => {
250
+ for (const cleanup of observers)
251
+ cleanup();
252
+ observers.clear();
253
+ };
254
+ }, [controller, editorKey]);
255
+ return useCallback((input) => {
256
+ if (input.clientId) {
257
+ if (!controller.submissions.editRejected(input.clientId))
258
+ return false;
259
+ dispatch({ type: 'discard', clientId: input.clientId });
260
+ }
261
+ const submission = { clientId: undefined };
262
+ const active = controller.lifetime();
263
+ const visible = () => active() &&
264
+ editorRef.current === editorKey &&
265
+ observersRef.current.has(cleanup);
266
+ const cleanup = () => {
267
+ off();
268
+ stop();
269
+ observersRef.current.delete(cleanup);
270
+ };
271
+ const off = controller.submissions.onUpdated((detail, record, created) => {
272
+ if (record.clientId !== submission.clientId || !visible())
273
+ return;
274
+ if (created)
275
+ onCreated(detail);
276
+ });
277
+ const stop = controller.submissions.subscribe(() => {
278
+ const record = controller.submissions
279
+ .snapshot()
280
+ .find((record) => record.clientId === submission.clientId);
281
+ if (!record || !visible())
282
+ return;
283
+ if (record.status === 'confirmed') {
284
+ if (record.message)
285
+ dispatch({ type: 'confirmed', message: record.message });
286
+ cleanup();
287
+ }
288
+ else if (['unknown', 'creationUnknown', 'notSubmitted', 'rejected'].includes(record.status)) {
289
+ dispatch({
290
+ type: record.status === 'notSubmitted' ? 'failed' : 'unknown',
291
+ clientId: record.clientId,
292
+ });
293
+ cleanup();
294
+ }
295
+ });
296
+ observersRef.current.add(cleanup);
297
+ const submitted = controller.submissions.submit({
298
+ content: input.content,
299
+ context: input.context,
300
+ attachments: input.attachments ?? [],
301
+ conversationId,
302
+ editorKey,
303
+ create: {
304
+ ...(agentId ? { agentId } : {}),
305
+ source,
306
+ ...(!conversationId && agentId === 'online' && selectedModel
307
+ ? { selectedModel }
308
+ : {}),
309
+ },
310
+ });
311
+ if (!submitted) {
312
+ cleanup();
313
+ return false;
314
+ }
315
+ const record = controller.submissions.snapshot().at(-1);
316
+ submission.clientId = record.clientId;
243
317
  dispatch({
244
318
  type: 'sending',
245
319
  message: {
246
- clientId,
247
- content: input.content,
248
- context: input.context,
249
- ...(input.attachments?.length
250
- ? { attachments: input.attachments }
251
- : {}),
252
- createdAt: new Date().toISOString(),
320
+ clientId: record.clientId,
321
+ content: record.content,
322
+ context: record.context,
323
+ attachments: record.attachments,
324
+ createdAt: record.createdAt,
253
325
  status: 'sending',
254
326
  },
255
327
  });
256
- try {
257
- let id = conversationId ?? createdRef.current;
258
- if (!id) {
259
- const created = await api.createConversation({
260
- ...(agentId ? { agentId } : {}),
261
- source,
262
- ...(model ? { model } : {}),
263
- });
264
- id = created.id;
265
- createdRef.current = id;
266
- queryClient.setQueryData(chatKeys.conversation(id), created);
267
- onCreated(created);
268
- }
269
- const result = await api.sendMessage(id, {
270
- content: input.content,
271
- clientId,
272
- ...(input.context ? { context: input.context } : {}),
273
- ...(input.attachments?.length
274
- ? { attachmentIds: input.attachments.map((file) => file.id) }
275
- : {}),
276
- });
277
- dispatch({ type: 'confirmed', message: result.message });
278
- queryClient.setQueryData(chatKeys.conversation(id), result.conversation);
279
- void queryClient.invalidateQueries({ queryKey: chatKeys.lists });
280
- return result;
281
- }
282
- catch (error) {
283
- dispatch({ type: 'failed', clientId });
284
- toaster.show({
285
- type: 'error',
286
- title: errorText(t, error, t('chat.sendFailed')),
287
- });
288
- return null;
289
- }
328
+ return true;
290
329
  }, [
291
- api,
330
+ controller,
292
331
  conversationId,
293
332
  agentId,
294
333
  source,
295
- model,
334
+ selectedModel,
335
+ editorKey,
296
336
  dispatch,
297
337
  onCreated,
298
- queryClient,
299
- toaster,
300
- t,
301
338
  ]);
302
339
  }
303
340
  export function useChatAttachments() {
@@ -314,26 +351,32 @@ export function useConversationActions() {
314
351
  const queryClient = agentsQueryClient();
315
352
  const toaster = useToaster();
316
353
  const { t } = useTranslation(ACCESS_NAMESPACE);
317
- const remember = useCallback((detail) => {
318
- queryClient.setQueryData(chatKeys.conversation(detail.id), detail);
319
- void queryClient.invalidateQueries({ queryKey: chatKeys.lists });
320
- }, [queryClient]);
321
- const failed = (error) => void toaster.show({
322
- type: 'error',
323
- title: errorText(t, error, t('common.requestFailed')),
324
- });
354
+ const controller = useChatController();
355
+ const scope = () => ({ active: controller.lifetime() });
356
+ const failed = (error, _input, lifetime) => {
357
+ if (!lifetime?.active())
358
+ return;
359
+ void toaster.show({
360
+ type: 'error',
361
+ title: errorText(t, error, t('common.requestFailed')),
362
+ });
363
+ };
325
364
  const rename = useMutation({
326
- mutationFn: (input) => api.updateConversation(input.id, { title: input.title }),
327
- onSuccess: (detail) => {
328
- remember(detail);
365
+ mutationFn: (input) => controller.command(input.id, () => api.updateConversation(input.id, { title: input.title }), (detail) => detail),
366
+ onMutate: scope,
367
+ onSuccess: (_detail, _input, lifetime) => {
368
+ if (!lifetime.active())
369
+ return;
329
370
  toaster.show({ type: 'success', title: t('chat.renamed') });
330
371
  },
331
372
  onError: failed,
332
373
  }, queryClient);
333
374
  const archive = useMutation({
334
- mutationFn: (input) => api.updateConversation(input.id, { archived: input.archived }),
335
- onSuccess: (detail, input) => {
336
- remember(detail);
375
+ mutationFn: (input) => controller.command(input.id, () => api.updateConversation(input.id, { archived: input.archived }), (detail) => detail),
376
+ onMutate: scope,
377
+ onSuccess: (detail, input, lifetime) => {
378
+ if (!lifetime.active())
379
+ return;
337
380
  if (!input.archived) {
338
381
  toaster.show({ type: 'success', title: t('chat.unarchived') });
339
382
  return;
@@ -346,6 +389,8 @@ export function useConversationActions() {
346
389
  action: {
347
390
  label: t('chat.undo'),
348
391
  onClick: () => {
392
+ if (!lifetime.active())
393
+ return;
349
394
  toaster.close(toastId);
350
395
  archive.mutate({ id: input.id, archived: false });
351
396
  },
@@ -354,46 +399,16 @@ export function useConversationActions() {
354
399
  },
355
400
  onError: failed,
356
401
  }, queryClient);
357
- const chooseModel = useMutation({
358
- mutationFn: (input) => api.updateConversation(input.id, { model: input.model }),
359
- onSuccess: remember,
360
- onError: failed,
361
- }, queryClient);
362
402
  const stop = useMutation({
363
- mutationFn: (id) => api.stop(id),
364
- onSuccess: remember,
365
- onError: failed,
366
- }, queryClient);
367
- const fallback = useMutation({
368
- mutationFn: (id) => api.fallback(id),
369
- onSuccess: (detail) => {
370
- remember(detail);
371
- toaster.show({
372
- type: 'success',
373
- title: t('chat.offline.fallbackDone'),
374
- description: t('chat.offline.newSession'),
375
- });
376
- },
377
- onError: failed,
378
- }, queryClient);
379
- const restore = useMutation({
380
- mutationFn: (id) => api.restore(id),
381
- onSuccess: (detail) => {
382
- remember(detail);
383
- toaster.show({
384
- type: 'success',
385
- title: t('chat.offline.restoreDone'),
386
- description: t('chat.offline.newSession'),
387
- });
388
- },
403
+ mutationFn: (id) => controller.stop(id),
404
+ onMutate: scope,
389
405
  onError: failed,
390
406
  }, queryClient);
391
407
  const markRead = useCallback((id) => {
392
- void api
393
- .markRead(id)
394
- .then((detail) => remember(detail))
408
+ void controller
409
+ .command(id, () => api.markRead(id), (detail) => detail)
395
410
  .catch(() => undefined);
396
- }, [api, remember]);
397
- return { rename, archive, chooseModel, stop, fallback, restore, markRead };
411
+ }, [api, controller]);
412
+ return { rename, archive, stop, markRead };
398
413
  }
399
414
  //# sourceMappingURL=use-chat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-chat.js","sourceRoot":"","sources":["../../../client/chat/use-chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-chat.js","sourceRoot":"","sources":["../../../client/chat/use-chat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,QAAQ,GAKT,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,WAAW,EACX,SAAS,EACT,eAAe,EACf,OAAO,EACP,UAAU,EACV,MAAM,EACN,oBAAoB,GAErB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACL,mBAAmB,GASpB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,cAAc,EACd,eAAe,GAGhB,MAAM,oBAAoB,CAAC;AAE5B,uFAAuF;AACvF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AAEnC,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,+GAA+G;AAC/G,SAAS,aAAa;IACpB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa,EAAE,KAAY;IAC3D,OAAO,CAAC,CAAC,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAAgB;IAEhB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,IAAI,GAAI,OAA8B,CAAC,IAAI,CAAC;IAClD,OAAO,CACL,IAAI,KAAK,uBAAuB;QAChC,IAAI,KAAK,sBAAsB;QAC/B,IAAI,KAAK,6BAA6B,CACvC,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAAC,OAAO,GAAG,IAAI;IAC1C,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,QAAQ,CACpB;QACE,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE;QAC3B,OAAO;QACP,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,wBAAwB;KAChC,EACD,iBAAiB,EAAE,CACpB,CAAC;IACF,cAAc,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO;YAAE,KAAK,OAAO,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8GAA8G;AAC9G,MAAM,UAAU,aAAa,CAAC,OAAO,GAAG,IAAI;IAC1C,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,CACpB;QACE,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3C,OAAO;QACP,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,KAAK;QACZ,oBAAoB,EAAE,QAAQ;KAC/B,EACD,MAAM,CACP,CAAC;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,8FAA8F;YAC9F,KAAK,MAAM,CAAC,aAAa,CAAC;gBACxB,QAAQ,EAAE,QAAQ,CAAC,MAAM;gBACzB,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,UAAU;aACjB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,8FAA8F;QAC9F,KAAK,OAAO,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,eAAe,CAC7B,cAA6B;IAE7B,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,OAAO,QAAQ,CACb;QACE,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,cAAc,IAAI,EAAE,CAAC;QACrD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO,EAAE;gBAAE,MAAM,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,EAAE;gBAAE,MAAM,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,EAAE,cAAc,KAAK,IAAI;QAChC,eAAe,EAAE,aAAa;QAC9B,KAAK,EAAE,wBAAwB;QAC/B,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CACzB,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG;YACrB,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,SAAS;YAC/C,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,KAAK;KACZ,EACD,iBAAiB,EAAE,CACpB,CAAC;AACJ,CAAC;AAQD,8GAA8G;AAC9G,MAAM,UAAU,mBAAmB,CACjC,KAA4B;IAE5B,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,OAAO,gBAAgB,CACrB;QACE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CACzB,GAAG,CAAC,aAAa,CAAC;YAChB,GAAG,KAAK;YACR,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/C,CAAC;QACJ,gBAAgB,EAAE,IAAqB;QACvC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS;QACxD,eAAe,EAAE,gBAAgB;KAClC,EACD,iBAAiB,EAAE,CACpB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IACxC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE;QACpD,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IACH,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;QACjE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAAE,OAAO;QACpC,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB;YACzC,KAAK,WAAW,CAAC,iBAAiB,CAAC;gBACjC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC;aACxD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC;AAWD,mGAAmG;AACnG,MAAM,UAAU,uBAAuB,CACrC,cAA6B;IAE7B,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,aAAa,CAAC,cAAc,CAAC,CAAC;IAC9B,oBAAoB,CAClB,UAAU,CAAC,SAAS,EACpB,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,QAAQ,CACpB,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,UAAU,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAC3E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,cAAc;YAAE,KAAK,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAClE,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,cAAc;YAChB,KAAK,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IACjC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;QACxE,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,KAAK,UAAU;iBACZ,OAAO,CAAC,cAAc,CAAC;iBACvB,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;iBAC7C,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,cAAc,KAAK,cAAc;YACtE,OAAO;QACT,IAAI,OAAO,CAAC,IAAI,KAAK,6BAA6B;YAChD,UAAU,CAAC,cAAc,CACvB,cAAc,EACd,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,QAAQ,CACjB,CAAC;aACC,IACH,OAAO,CAAC,IAAI,KAAK,uBAAuB;YACxC,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,aAAa;YAElE,UAAU,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,iGAAiG;IACjG,SAAS,CACP,GAAG,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EACrE,CAAC,UAAU,EAAE,cAAc,CAAC,CAC7B,CAAC;IACF,MAAM,MAAM,GAAG,cAAc;QAC3B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC;QACpC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC5D,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW;SACnC,QAAQ,EAAE;SACV,MAAM,CACL,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,cAAc,KAAK,cAAc;QACxC,CAAC,MAAM,CAAC,OAAO;QACf,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CACrD,CAAC;IACJ,MAAM,OAAO,GAAG,cAAc;QAC5B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EACJ,MAAM,CAAC,MAAM,KAAK,cAAc;gBAC9B,CAAC,CAAE,QAAkB;gBACrB,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,iBAAiB;oBAClE,CAAC,CAAE,SAAmB;oBACtB,CAAC,CAAE,SAAmB;SAC7B,CAAC,CAAC;QACL,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;IACzB,OAAO;QACL,GAAG,MAAM,CAAC,KAAK;QACf,OAAO;QACP,qHAAqH;QACrH,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAC9B,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,OAAO,CAAC,IAAI,CACX,CAAC,MAAM,EAAE,EAAE,CACT,OAAO,CAAC,EAAE,KAAK,MAAM,CAAC,QAAQ;YAC9B,OAAO,CAAC,QAAQ,EAAE,GAAG,KAAK,SAAS,CACtC,CACJ;QACD,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU;QACV,SAAS,EAAE,GAAG,EAAE;YACd,IAAI,cAAc;gBAAE,KAAK,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACxE,CAAC;QACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACnB,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;gBAC3B,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,cAAc;gBAAE,UAAU,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;;gBAC3D,aAAa,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC;AAWD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,cAAc,EACd,OAAO,EACP,MAAM,EACN,aAAa,EACb,QAAQ,EACR,SAAS,GASV;IACC,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,YAAY,MAAM,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,GAAG,EAAc,CAAC,CAAC;IACnD,eAAe,CAAC,GAAG,EAAE;QACnB,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;QAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;QACvC,OAAO,GAAG,EAAE;YACV,KAAK,MAAM,OAAO,IAAI,SAAS;gBAAE,OAAO,EAAE,CAAC;YAC3C,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5B,OAAO,WAAW,CAChB,CAAC,KAAgB,EAAE,EAAE;QACnB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAC;YACvE,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,UAAU,GAAG,EAAE,QAAQ,EAAE,SAA+B,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,MAAM,EAAE;YACR,SAAS,CAAC,OAAO,KAAK,SAAS;YAC/B,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC;QACF,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,SAAS,CAC1C,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;YAC1B,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE;gBAAE,OAAO;YAClE,IAAI,OAAO;gBAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CACF,CAAC;QACF,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE;YACjD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW;iBAClC,QAAQ,EAAE;iBACV,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE;gBAAE,OAAO;YAClC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,IAAI,MAAM,CAAC,OAAO;oBAChB,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3D,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,IACL,CAAC,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,QAAQ,CACjE,MAAM,CAAC,MAAM,CACd,EACD,CAAC;gBACD,QAAQ,CAAC;oBACP,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;oBAC7D,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC1B,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC;YAC9C,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;YACpC,cAAc;YACd,SAAS;YACT,MAAM,EAAE;gBACN,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,MAAM;gBACN,GAAG,CAAC,CAAC,cAAc,IAAI,OAAO,KAAK,QAAQ,IAAI,aAAa;oBAC1D,CAAC,CAAC,EAAE,aAAa,EAAE;oBACnB,CAAC,CAAC,EAAE,CAAC;aACR;SACF,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;QACzD,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACtC,QAAQ,CAAC;YACP,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE,SAAS;aAClB;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC,EACD;QACE,UAAU;QACV,cAAc;QACd,OAAO;QACP,MAAM;QACN,aAAa;QACb,SAAS;QACT,QAAQ;QACR,SAAS;KACV,CACF,CAAC;AACJ,CAAC;AASD,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC5D,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE;YACtB,GAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC;KACF,CAAC,EACF,CAAC,GAAG,CAAC,CACN,CAAC;AACJ,CAAC;AAiBD,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAE/C,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IAEvC,MAAM,KAAK,GAAG,GAAU,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,CACb,KAAc,EACd,MAAe,EACf,QAA2B,EACrB,EAAE;QACR,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;YAAE,OAAO;QAChC,KAAK,OAAO,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC;SACtD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CACxB;QACE,UAAU,EAAE,CAAC,KAAsD,EAAE,EAAE,CACrE,UAAU,CAAC,OAAO,CAChB,KAAK,CAAC,EAAE,EACR,GAAG,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAC9D,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CACnB;QACH,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAAE,OAAO;YAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,EAAE,MAAM;KAChB,EACD,WAAW,CACZ,CAAC;IAEF,MAAM,OAAO,GAAG,WAAW,CACzB;QACE,UAAU,EAAE,CAAC,KAGZ,EAAE,EAAE,CACH,UAAU,CAAC,OAAO,CAChB,KAAK,CAAC,EAAE,EACR,GAAG,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,EACpE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CACnB;QACH,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAAE,OAAO;YAC/B,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;gBAC3B,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,CAAC,CAAC,oBAAoB,EAAE;oBAC7B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,eAAe,CAAC;iBAC1C,CAAC;gBACF,MAAM,EAAE;oBACN,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC;oBACrB,OAAO,EAAE,GAAG,EAAE;wBACZ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;4BAAE,OAAO;wBAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACvB,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;oBACpD,CAAC;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,MAAM;KAChB,EACD,WAAW,CACZ,CAAC;IAEF,MAAM,IAAI,GAAG,WAAW,CACtB;QACE,UAAU,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,MAAM;KAChB,EACD,WAAW,CACZ,CAAC;IAEF,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,EAAU,EAAE,EAAE;QACb,KAAK,UAAU;aACZ,OAAO,CACN,EAAE,EACF,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EACtB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CACnB;aACA,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC,EACD,CAAC,GAAG,EAAE,UAAU,CAAC,CAClB,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC7C,CAAC"}