@nocobase/app-plugin-agents 1.0.0-beta.29 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +8 -19
  3. package/dist/client/api/client.d.ts +2 -2
  4. package/dist/client/api/client.d.ts.map +1 -1
  5. package/dist/client/api/client.js +2 -2
  6. package/dist/client/api/client.js.map +1 -1
  7. package/dist/client/api/runners.d.ts +2 -2
  8. package/dist/client/api/runners.d.ts.map +1 -1
  9. package/dist/client/api/runners.js +5 -2
  10. package/dist/client/api/runners.js.map +1 -1
  11. package/dist/client/chat/api.d.ts +1 -1
  12. package/dist/client/chat/api.d.ts.map +1 -1
  13. package/dist/client/chat/api.js +6 -2
  14. package/dist/client/chat/api.js.map +1 -1
  15. package/dist/client/chat/coalesced-invalidation.d.ts +3 -8
  16. package/dist/client/chat/coalesced-invalidation.d.ts.map +1 -1
  17. package/dist/client/chat/coalesced-invalidation.js +16 -21
  18. package/dist/client/chat/coalesced-invalidation.js.map +1 -1
  19. package/dist/client/chat/controller.d.ts +31 -7
  20. package/dist/client/chat/controller.d.ts.map +1 -1
  21. package/dist/client/chat/controller.js +616 -120
  22. package/dist/client/chat/controller.js.map +1 -1
  23. package/dist/client/chat/provider.d.ts.map +1 -1
  24. package/dist/client/chat/provider.js +7 -4
  25. package/dist/client/chat/provider.js.map +1 -1
  26. package/dist/client/chat/submissions.d.ts +2 -0
  27. package/dist/client/chat/submissions.d.ts.map +1 -1
  28. package/dist/client/chat/submissions.js +1 -0
  29. package/dist/client/chat/submissions.js.map +1 -1
  30. package/dist/client/chat/use-chat.d.ts +4 -2
  31. package/dist/client/chat/use-chat.d.ts.map +1 -1
  32. package/dist/client/chat/use-chat.js +84 -55
  33. package/dist/client/chat/use-chat.js.map +1 -1
  34. package/dist/client/components/ag-tag-tones.d.ts +7 -0
  35. package/dist/client/components/ag-tag-tones.d.ts.map +1 -0
  36. package/dist/client/components/ag-tag-tones.js +14 -0
  37. package/dist/client/components/ag-tag-tones.js.map +1 -0
  38. package/dist/client/components/ag-tag.d.ts +2 -1
  39. package/dist/client/components/ag-tag.d.ts.map +1 -1
  40. package/dist/client/components/ag-tag.js +1 -13
  41. package/dist/client/components/ag-tag.js.map +1 -1
  42. package/dist/client/components/quota-status.d.ts +2 -1
  43. package/dist/client/components/quota-status.d.ts.map +1 -1
  44. package/dist/client/components/quota-status.js +2 -2
  45. package/dist/client/components/quota-status.js.map +1 -1
  46. package/dist/client/components/ui/pagination.d.ts +6 -0
  47. package/dist/client/components/ui/pagination.d.ts.map +1 -0
  48. package/dist/client/components/ui/pagination.js +13 -0
  49. package/dist/client/components/ui/pagination.js.map +1 -0
  50. package/dist/client/hooks/use-notify.d.ts.map +1 -1
  51. package/dist/client/hooks/use-notify.js +4 -0
  52. package/dist/client/hooks/use-notify.js.map +1 -1
  53. package/dist/client/hooks/use-realtime-topic.d.ts +1 -1
  54. package/dist/client/hooks/use-realtime-topic.d.ts.map +1 -1
  55. package/dist/client/hooks/use-realtime-topic.js +8 -4
  56. package/dist/client/hooks/use-realtime-topic.js.map +1 -1
  57. package/dist/client/kit.d.ts.map +1 -1
  58. package/dist/client/kit.js +30 -5
  59. package/dist/client/kit.js.map +1 -1
  60. package/dist/client/locales/de-DE.d.ts.map +1 -1
  61. package/dist/client/locales/de-DE.js +26 -10
  62. package/dist/client/locales/de-DE.js.map +1 -1
  63. package/dist/client/locales/en-US.d.ts +11 -0
  64. package/dist/client/locales/en-US.d.ts.map +1 -1
  65. package/dist/client/locales/en-US.js +21 -10
  66. package/dist/client/locales/en-US.js.map +1 -1
  67. package/dist/client/locales/es-ES.d.ts.map +1 -1
  68. package/dist/client/locales/es-ES.js +26 -10
  69. package/dist/client/locales/es-ES.js.map +1 -1
  70. package/dist/client/locales/fr-FR.d.ts.map +1 -1
  71. package/dist/client/locales/fr-FR.js +26 -10
  72. package/dist/client/locales/fr-FR.js.map +1 -1
  73. package/dist/client/locales/id-ID.d.ts.map +1 -1
  74. package/dist/client/locales/id-ID.js +26 -10
  75. package/dist/client/locales/id-ID.js.map +1 -1
  76. package/dist/client/locales/ja-JP.d.ts.map +1 -1
  77. package/dist/client/locales/ja-JP.js +26 -10
  78. package/dist/client/locales/ja-JP.js.map +1 -1
  79. package/dist/client/locales/pt-BR.d.ts.map +1 -1
  80. package/dist/client/locales/pt-BR.js +26 -10
  81. package/dist/client/locales/pt-BR.js.map +1 -1
  82. package/dist/client/locales/runtimes.en-US.d.ts +5 -0
  83. package/dist/client/locales/runtimes.en-US.d.ts.map +1 -1
  84. package/dist/client/locales/runtimes.en-US.js +5 -0
  85. package/dist/client/locales/runtimes.en-US.js.map +1 -1
  86. package/dist/client/locales/runtimes.zh-CN.d.ts.map +1 -1
  87. package/dist/client/locales/runtimes.zh-CN.js +5 -0
  88. package/dist/client/locales/runtimes.zh-CN.js.map +1 -1
  89. package/dist/client/locales/vi-VN.d.ts.map +1 -1
  90. package/dist/client/locales/vi-VN.js +26 -10
  91. package/dist/client/locales/vi-VN.js.map +1 -1
  92. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  93. package/dist/client/locales/zh-CN.js +21 -10
  94. package/dist/client/locales/zh-CN.js.map +1 -1
  95. package/dist/client/locales/zh-TW.d.ts.map +1 -1
  96. package/dist/client/locales/zh-TW.js +26 -10
  97. package/dist/client/locales/zh-TW.js.map +1 -1
  98. package/dist/client/model-suggestion.d.ts +2 -0
  99. package/dist/client/model-suggestion.d.ts.map +1 -1
  100. package/dist/client/model-suggestion.js +27 -2
  101. package/dist/client/model-suggestion.js.map +1 -1
  102. package/dist/client/pages/agents/agent-dialog.d.ts.map +1 -1
  103. package/dist/client/pages/agents/agent-dialog.js +10 -8
  104. package/dist/client/pages/agents/agent-dialog.js.map +1 -1
  105. package/dist/client/pages/agents/available-models-drawer.d.ts.map +1 -1
  106. package/dist/client/pages/agents/available-models-drawer.js +2 -1
  107. package/dist/client/pages/agents/available-models-drawer.js.map +1 -1
  108. package/dist/client/pages/agents/good-at-templates.d.ts +8 -0
  109. package/dist/client/pages/agents/good-at-templates.d.ts.map +1 -0
  110. package/dist/client/pages/agents/good-at-templates.js +29 -0
  111. package/dist/client/pages/agents/good-at-templates.js.map +1 -0
  112. package/dist/client/pages/runtimes/runner-cells.d.ts.map +1 -1
  113. package/dist/client/pages/runtimes/runner-cells.js +3 -1
  114. package/dist/client/pages/runtimes/runner-cells.js.map +1 -1
  115. package/dist/client/pages/runtimes/runner-pagination.d.ts +15 -0
  116. package/dist/client/pages/runtimes/runner-pagination.d.ts.map +1 -0
  117. package/dist/client/pages/runtimes/runner-pagination.js +9 -0
  118. package/dist/client/pages/runtimes/runner-pagination.js.map +1 -0
  119. package/dist/client/pages/runtimes/runner-runs.d.ts +3 -2
  120. package/dist/client/pages/runtimes/runner-runs.d.ts.map +1 -1
  121. package/dist/client/pages/runtimes/runner-runs.js +38 -15
  122. package/dist/client/pages/runtimes/runner-runs.js.map +1 -1
  123. package/dist/client/pages/runtimes/runner-sheet.js +1 -1
  124. package/dist/client/pages/runtimes/runner-sheet.js.map +1 -1
  125. package/dist/client/pages/runtimes/runner-workspaces.d.ts.map +1 -1
  126. package/dist/client/pages/runtimes/runner-workspaces.js +7 -3
  127. package/dist/client/pages/runtimes/runner-workspaces.js.map +1 -1
  128. package/dist/client/runs/refresh-run.d.ts +4 -0
  129. package/dist/client/runs/refresh-run.d.ts.map +1 -0
  130. package/dist/client/runs/refresh-run.js +8 -0
  131. package/dist/client/runs/refresh-run.js.map +1 -0
  132. package/dist/client/runs/run-hooks.d.ts.map +1 -1
  133. package/dist/client/runs/run-hooks.js +2 -1
  134. package/dist/client/runs/run-hooks.js.map +1 -1
  135. package/dist/database/migrations/.manifest.json +8 -0
  136. package/dist/database/migrations/202611010003_ag_runner_run_history_index.d.ts +4 -0
  137. package/dist/database/migrations/202611010003_ag_runner_run_history_index.d.ts.map +1 -0
  138. package/dist/database/migrations/202611010003_ag_runner_run_history_index.js +17 -0
  139. package/dist/database/migrations/202611010003_ag_runner_run_history_index.js.map +1 -0
  140. package/dist/database/migrations/202611070001_ag_conversation_project.d.ts +4 -0
  141. package/dist/database/migrations/202611070001_ag_conversation_project.d.ts.map +1 -0
  142. package/dist/database/migrations/202611070001_ag_conversation_project.js +17 -0
  143. package/dist/database/migrations/202611070001_ag_conversation_project.js.map +1 -0
  144. package/dist/package.json +4 -6
  145. package/dist/server/composition.d.ts +0 -17
  146. package/dist/server/composition.d.ts.map +1 -1
  147. package/dist/server/composition.js +7 -20
  148. package/dist/server/composition.js.map +1 -1
  149. package/dist/server/core/conversations/conversation.service.d.ts.map +1 -1
  150. package/dist/server/core/conversations/conversation.service.js +174 -22
  151. package/dist/server/core/conversations/conversation.service.js.map +1 -1
  152. package/dist/server/core/conversations/conversation.store.d.ts +1 -0
  153. package/dist/server/core/conversations/conversation.store.d.ts.map +1 -1
  154. package/dist/server/core/conversations/conversation.store.js.map +1 -1
  155. package/dist/server/core/conversations/index.d.ts +1 -1
  156. package/dist/server/core/conversations/index.d.ts.map +1 -1
  157. package/dist/server/core/conversations/index.js.map +1 -1
  158. package/dist/server/core/conversations/links.d.ts +3 -0
  159. package/dist/server/core/conversations/links.d.ts.map +1 -1
  160. package/dist/server/core/conversations/links.js +33 -0
  161. package/dist/server/core/conversations/links.js.map +1 -1
  162. package/dist/server/core/conversations/ports.d.ts +14 -0
  163. package/dist/server/core/conversations/ports.d.ts.map +1 -1
  164. package/dist/server/core/runs/claim.d.ts +7 -1
  165. package/dist/server/core/runs/claim.d.ts.map +1 -1
  166. package/dist/server/core/runs/claim.js +69 -17
  167. package/dist/server/core/runs/claim.js.map +1 -1
  168. package/dist/server/core/runs/ports.d.ts +2 -0
  169. package/dist/server/core/runs/ports.d.ts.map +1 -1
  170. package/dist/server/core/runs/ports.js.map +1 -1
  171. package/dist/server/core/runs/run.service.d.ts +6 -1
  172. package/dist/server/core/runs/run.service.d.ts.map +1 -1
  173. package/dist/server/core/runs/run.service.js +29 -1
  174. package/dist/server/core/runs/run.service.js.map +1 -1
  175. package/dist/server/core/runs/run.store.d.ts +1 -1
  176. package/dist/server/core/runs/run.store.d.ts.map +1 -1
  177. package/dist/server/core/runs/run.store.js +1 -1
  178. package/dist/server/core/runs/run.store.js.map +1 -1
  179. package/dist/server/core/runs/runner-view.d.ts +8 -4
  180. package/dist/server/core/runs/runner-view.d.ts.map +1 -1
  181. package/dist/server/core/runs/runner-view.js +89 -32
  182. package/dist/server/core/runs/runner-view.js.map +1 -1
  183. package/dist/server/kernel/events.d.ts +2 -0
  184. package/dist/server/kernel/events.d.ts.map +1 -1
  185. package/dist/server/kernel/events.js.map +1 -1
  186. package/dist/server/locales/de-DE.d.ts.map +1 -1
  187. package/dist/server/locales/de-DE.js +5 -0
  188. package/dist/server/locales/de-DE.js.map +1 -1
  189. package/dist/server/locales/en-US.d.ts +7 -1
  190. package/dist/server/locales/en-US.d.ts.map +1 -1
  191. package/dist/server/locales/en-US.js +5 -0
  192. package/dist/server/locales/en-US.js.map +1 -1
  193. package/dist/server/locales/es-ES.d.ts.map +1 -1
  194. package/dist/server/locales/es-ES.js +5 -0
  195. package/dist/server/locales/es-ES.js.map +1 -1
  196. package/dist/server/locales/fr-FR.d.ts.map +1 -1
  197. package/dist/server/locales/fr-FR.js +5 -0
  198. package/dist/server/locales/fr-FR.js.map +1 -1
  199. package/dist/server/locales/id-ID.d.ts.map +1 -1
  200. package/dist/server/locales/id-ID.js +5 -0
  201. package/dist/server/locales/id-ID.js.map +1 -1
  202. package/dist/server/locales/ja-JP.d.ts.map +1 -1
  203. package/dist/server/locales/ja-JP.js +5 -0
  204. package/dist/server/locales/ja-JP.js.map +1 -1
  205. package/dist/server/locales/pt-BR.d.ts.map +1 -1
  206. package/dist/server/locales/pt-BR.js +5 -0
  207. package/dist/server/locales/pt-BR.js.map +1 -1
  208. package/dist/server/locales/vi-VN.d.ts.map +1 -1
  209. package/dist/server/locales/vi-VN.js +5 -0
  210. package/dist/server/locales/vi-VN.js.map +1 -1
  211. package/dist/server/locales/zh-CN.d.ts +2 -2
  212. package/dist/server/locales/zh-CN.d.ts.map +1 -1
  213. package/dist/server/locales/zh-CN.js +5 -0
  214. package/dist/server/locales/zh-CN.js.map +1 -1
  215. package/dist/server/locales/zh-TW.d.ts.map +1 -1
  216. package/dist/server/locales/zh-TW.js +5 -0
  217. package/dist/server/locales/zh-TW.js.map +1 -1
  218. package/dist/server/online/agent/native/backend.d.ts.map +1 -1
  219. package/dist/server/online/agent/native/backend.js +2 -0
  220. package/dist/server/online/agent/native/backend.js.map +1 -1
  221. package/dist/server/online/agent/native/session.d.ts.map +1 -1
  222. package/dist/server/online/agent/native/session.js +3 -1
  223. package/dist/server/online/agent/native/session.js.map +1 -1
  224. package/dist/server/online/agent/runner/backend.d.ts.map +1 -1
  225. package/dist/server/online/agent/runner/backend.js +21 -9
  226. package/dist/server/online/agent/runner/backend.js.map +1 -1
  227. package/dist/server/online/agent/runner/projection.d.ts +1 -1
  228. package/dist/server/online/agent/runner/projection.d.ts.map +1 -1
  229. package/dist/server/online/agent/runner/projection.js +33 -3
  230. package/dist/server/online/agent/runner/projection.js.map +1 -1
  231. package/dist/server/online/agent/service.d.ts.map +1 -1
  232. package/dist/server/online/agent/service.js +3 -0
  233. package/dist/server/online/agent/service.js.map +1 -1
  234. package/dist/server/online/agent/types.d.ts +3 -0
  235. package/dist/server/online/agent/types.d.ts.map +1 -1
  236. package/dist/server/providers/agents.d.ts +5 -9
  237. package/dist/server/providers/agents.d.ts.map +1 -1
  238. package/dist/server/providers/agents.js +12 -13
  239. package/dist/server/providers/agents.js.map +1 -1
  240. package/dist/server/routes/chat.d.ts.map +1 -1
  241. package/dist/server/routes/chat.js +37 -0
  242. package/dist/server/routes/chat.js.map +1 -1
  243. package/dist/server/routes/runners/admin.d.ts.map +1 -1
  244. package/dist/server/routes/runners/admin.js +16 -7
  245. package/dist/server/routes/runners/admin.js.map +1 -1
  246. package/dist/server/routes/runners/runner.d.ts.map +1 -1
  247. package/dist/server/routes/runners/runner.js +6 -4
  248. package/dist/server/routes/runners/runner.js.map +1 -1
  249. package/dist/server/routes/schemas.d.ts +8 -2
  250. package/dist/server/routes/schemas.d.ts.map +1 -1
  251. package/dist/server/routes/schemas.js +46 -3
  252. package/dist/server/routes/schemas.js.map +1 -1
  253. package/dist/server/tokens.d.ts +1 -2
  254. package/dist/server/tokens.d.ts.map +1 -1
  255. package/dist/server/tokens.js.map +1 -1
  256. package/dist/shared/conversations.d.ts +20 -0
  257. package/dist/shared/conversations.d.ts.map +1 -1
  258. package/dist/shared/conversations.js.map +1 -1
  259. package/dist/shared/runners.d.ts +18 -2
  260. package/dist/shared/runners.d.ts.map +1 -1
  261. package/dist/shared/runners.js +20 -0
  262. package/dist/shared/runners.js.map +1 -1
  263. package/dist/shared/ui-message.d.ts +4 -2
  264. package/dist/shared/ui-message.d.ts.map +1 -1
  265. package/dist/shared/ui-message.js +2 -1
  266. package/dist/shared/ui-message.js.map +1 -1
  267. package/docs/ui-message-clients.md +5 -1
  268. package/docs/ui-messages.md +3 -1
  269. package/docs/vectors-migration.md +91 -0
  270. package/package.json +14 -16
  271. package/skills/nocobase-app-plugin-agents/SKILL.md +1 -1
  272. package/skills/nocobase-app-plugin-agents/references/extension-points.md +0 -1
  273. package/skills/nocobase-app-plugin-agents/references/model-services.md +3 -3
  274. package/skills/nocobase-app-plugin-agents/references/online-agent.md +6 -0
  275. package/skills/nocobase-app-plugin-agents/references/setup-and-config.md +0 -4
  276. package/skills/nocobase-app-plugin-agents/references/verification-and-troubleshooting.md +0 -2
  277. package/dist/server/vectors/index.d.ts +0 -7
  278. package/dist/server/vectors/index.d.ts.map +0 -1
  279. package/dist/server/vectors/index.js +0 -6
  280. package/dist/server/vectors/index.js.map +0 -1
  281. package/dist/server/vectors/naming.d.ts +0 -6
  282. package/dist/server/vectors/naming.d.ts.map +0 -1
  283. package/dist/server/vectors/naming.js +0 -15
  284. package/dist/server/vectors/naming.js.map +0 -1
  285. package/dist/server/vectors/pgvector.d.ts +0 -26
  286. package/dist/server/vectors/pgvector.d.ts.map +0 -1
  287. package/dist/server/vectors/pgvector.js +0 -346
  288. package/dist/server/vectors/pgvector.js.map +0 -1
  289. package/dist/server/vectors/sqlite-vec.d.ts +0 -14
  290. package/dist/server/vectors/sqlite-vec.d.ts.map +0 -1
  291. package/dist/server/vectors/sqlite-vec.js +0 -286
  292. package/dist/server/vectors/sqlite-vec.js.map +0 -1
  293. package/dist/server/vectors/types.d.ts +0 -256
  294. package/dist/server/vectors/types.d.ts.map +0 -1
  295. package/dist/server/vectors/types.js +0 -2
  296. package/dist/server/vectors/types.js.map +0 -1
  297. package/dist/server/vectors/vectors.d.ts +0 -34
  298. package/dist/server/vectors/vectors.d.ts.map +0 -1
  299. package/dist/server/vectors/vectors.js +0 -866
  300. package/dist/server/vectors/vectors.js.map +0 -1
@@ -8,10 +8,10 @@
8
8
  * namespace, whichever `QueryClientProvider` and namespace are above it, so an application's own chat UI needs only
9
9
  * `ChatProvider`.
10
10
  */
11
- import { ApiClientError, useApiClient, useToaster } from '@nocobase/app-client';
11
+ import { ApiClientError, useRealtimeReadiness, useApiClient, useToaster, } from '@nocobase/app-client';
12
12
  import { useTranslation } from '@nocobase/i18n/client';
13
13
  import { CancelledError, keepPreviousData, useInfiniteQuery, useMutation, useQuery, } from '@tanstack/react-query';
14
- import { useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState, useSyncExternalStore, } from 'react';
14
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useSyncExternalStore, } from 'react';
15
15
  import { ACCESS_NAMESPACE } from '../../shared/access.js';
16
16
  import { CONVERSATIONS_TOPIC, } from '../../shared/conversations.js';
17
17
  import { useRealtimeTopic } from '../hooks/use-realtime-topic.js';
@@ -22,7 +22,6 @@ import { agentsQueryClient } from '../query.js';
22
22
  import { useChatController, useChatStream } from './controller.js';
23
23
  import { ChatApi } from './api.js';
24
24
  import { chatKeys } from './keys.js';
25
- import { coalescedInvalidation } from './coalesced-invalidation.js';
26
25
  import { EMPTY_MESSAGES, messagesReducer, } from './message-model.js';
27
26
  /** How often an open conversation with a run is fetched when no announcement comes. */
28
27
  export const CHAT_POLL_MS = 60_000;
@@ -57,11 +56,6 @@ export function useChatAgents(enabled = true) {
57
56
  retry: notRetriedOnClientErrors,
58
57
  }, agentsQueryClient());
59
58
  useQuotaExpiry(query.data ?? []);
60
- const { refetch } = query;
61
- useEffect(() => {
62
- if (enabled)
63
- void refetch({ cancelRefetch: false });
64
- }, [enabled, refetch]);
65
59
  return query;
66
60
  }
67
61
  /** Public native chat models; revalidated while open, without turning a failed read into an empty catalog. */
@@ -96,35 +90,41 @@ export function useChatModels(enabled = true) {
96
90
  return query;
97
91
  }
98
92
  /** One conversation; polled while its run is open. */
99
- export function useConversation(conversationId) {
100
- const api = useChatApi();
93
+ export function useConversation(conversationId, options = {}) {
101
94
  const controller = useChatController();
95
+ const ready = useRealtimeReadiness([CONVERSATIONS_TOPIC]);
102
96
  return useQuery({
103
97
  queryKey: chatKeys.conversation(conversationId ?? ''),
104
98
  queryFn: async () => {
105
99
  const current = controller.detailRequest(conversationId ?? '');
106
100
  if (!current())
107
101
  throw new CancelledError({ silent: true });
108
- const detail = await api.conversation(conversationId ?? '');
102
+ const detail = await controller.readDetail(conversationId ?? '');
109
103
  if (!current())
110
104
  throw new CancelledError({ silent: true });
111
105
  controller.observeDetail(detail);
112
106
  return detail;
113
107
  },
114
- enabled: conversationId !== null,
108
+ enabled: ready && conversationId !== null,
109
+ ...(options.passive
110
+ ? { refetchOnMount: false, refetchOnWindowFocus: false }
111
+ : {}),
115
112
  placeholderData: noPlaceholder,
116
113
  retry: notRetriedOnClientErrors,
117
- refetchInterval: (query) => query.state.data?.run ||
118
- query.state.data?.execution?.status === 'running'
114
+ refetchInterval: (query) => !options.passive &&
115
+ (query.state.data?.run ||
116
+ query.state.data?.execution?.status === 'running')
119
117
  ? CHAT_POLL_MS
120
118
  : false,
121
119
  }, agentsQueryClient());
122
120
  }
123
121
  /** The viewer's conversations matching `query`, last message first; `fetchNextPage()` loads the next page. */
124
- export function useConversationList(query) {
122
+ export function useConversationList(query, enabled = true) {
125
123
  const api = useChatApi();
124
+ const ready = useRealtimeReadiness([CONVERSATIONS_TOPIC]);
126
125
  return useInfiniteQuery({
127
126
  queryKey: chatKeys.list(query),
127
+ enabled: ready && enabled,
128
128
  queryFn: ({ pageParam }) => api.conversations({
129
129
  ...query,
130
130
  ...(pageParam ? { pageToken: pageParam } : {}),
@@ -140,61 +140,92 @@ export function useConversationList(query) {
140
140
  */
141
141
  export function useChatRealtime(enabled) {
142
142
  const queryClient = agentsQueryClient();
143
- const [stale] = useState(() => coalescedInvalidation(queryClient));
144
- useEffect(() => () => stale.stop(), [stale]);
143
+ const controller = useChatController();
145
144
  useRealtimeTopic(enabled ? RUNNERS_TOPIC : null, () => {
146
- stale.add(chatKeys.agents);
147
- });
145
+ controller.invalidateQuery(chatKeys.agents);
146
+ }, true);
148
147
  useRealtimeTopic(enabled ? CONVERSATIONS_TOPIC : null, (payload) => {
149
148
  if (payload === undefined) {
150
- void queryClient.invalidateQueries({ queryKey: chatKeys.all });
149
+ for (const query of queryClient
150
+ .getQueryCache()
151
+ .findAll({ queryKey: chatKeys.all })) {
152
+ const key = query.queryKey;
153
+ if (key[2] === 'conversation' &&
154
+ key.length === 4 &&
155
+ controller.isWatching(String(key[3])))
156
+ continue;
157
+ controller.invalidateQuery(key, true);
158
+ }
159
+ controller.reconnect();
151
160
  return;
152
161
  }
153
162
  if (!isChatPayload(payload))
154
163
  return;
155
- stale.add(chatKeys.lists);
156
- if (payload.kind === 'conversation.changed')
157
- stale.add(chatKeys.conversation(payload.conversationId));
158
- });
164
+ const receipt = payload.kind === 'conversation.changed' &&
165
+ typeof payload.seenSeq === 'number' &&
166
+ Number.isSafeInteger(payload.seenSeq) &&
167
+ payload.seenSeq >= 0;
168
+ if (receipt)
169
+ controller.observeReceipt(payload.conversationId, payload.seenSeq);
170
+ const watched = controller.isWatching(payload.conversationId);
171
+ const ownsSnapshot = watched &&
172
+ queryClient
173
+ .getQueryCache()
174
+ .find({
175
+ queryKey: chatKeys.conversation(payload.conversationId),
176
+ exact: true,
177
+ })
178
+ ?.isActive();
179
+ if (!receipt &&
180
+ !(watched && payload.kind === 'conversation.messageUpdated') &&
181
+ !(ownsSnapshot && payload.kind === 'conversation.changed'))
182
+ controller.invalidateLists();
183
+ if (controller.isWatching(payload.conversationId)) {
184
+ if (payload.kind === 'conversation.messages')
185
+ void controller
186
+ .messagesChanged(payload.conversationId, payload.lastSeq)
187
+ .catch(() => { });
188
+ else if (payload.kind === 'conversation.messageUpdated')
189
+ controller.messageUpdated(payload.conversationId, payload.messageId, payload.revision);
190
+ else if (payload.kind === 'conversation.historyReplaced')
191
+ controller.historyReplaced(payload);
192
+ }
193
+ if (payload.kind === 'conversation.changed') {
194
+ const key = chatKeys.conversation(payload.conversationId);
195
+ const seenSeq = payload.seenSeq;
196
+ if (typeof seenSeq === 'number' &&
197
+ Number.isSafeInteger(seenSeq) &&
198
+ seenSeq >= 0) {
199
+ const current = queryClient.getQueryData(key);
200
+ if ((current?.seenSeq ?? -1) >= seenSeq)
201
+ return;
202
+ const refresh = () => controller.invalidateQuery(key, true);
203
+ if (!controller.deferReadReceipt(payload.conversationId, seenSeq, refresh))
204
+ refresh();
205
+ }
206
+ else {
207
+ controller.invalidateQuery(key);
208
+ }
209
+ }
210
+ }, true);
159
211
  }
160
212
  /** Canonical pages and the initial stream live in one controller, independent of mounted views. */
161
213
  export function useConversationMessages(conversationId) {
162
214
  const controller = useChatController();
163
- useChatStream(conversationId);
215
+ const ready = useRealtimeReadiness([CONVERSATIONS_TOPIC]);
216
+ useChatStream(ready ? conversationId : null);
164
217
  useSyncExternalStore(controller.subscribe, controller.snapshot, controller.snapshot);
165
218
  const [draft, draftDispatch] = useReducer(messagesReducer, EMPTY_MESSAGES);
166
219
  useEffect(() => {
167
- if (conversationId)
168
- void controller.refresh(conversationId).catch(() => { });
169
- }, [controller, conversationId]);
220
+ if (ready && conversationId)
221
+ void controller.refresh(conversationId, false).catch(() => { });
222
+ }, [controller, conversationId, ready]);
170
223
  const fetchNewer = useCallback(() => {
171
224
  if (conversationId)
172
225
  void controller.refresh(conversationId).catch(() => { });
173
226
  }, [controller, conversationId]);
174
- useRealtimeTopic(conversationId ? CONVERSATIONS_TOPIC : null, (payload) => {
175
- if (!conversationId)
176
- return;
177
- if (payload === undefined) {
178
- void controller
179
- .refresh(conversationId)
180
- .then(() => controller.resume(conversationId))
181
- .catch(() => { });
182
- return;
183
- }
184
- if (!isChatPayload(payload) || payload.conversationId !== conversationId)
185
- return;
186
- if (payload.kind === 'conversation.historyReplaced') {
187
- controller.historyReplaced(payload);
188
- return;
189
- }
190
- if (payload.kind === 'conversation.messageUpdated')
191
- controller.messageUpdated(conversationId, payload.messageId, payload.revision);
192
- else if (payload.kind === 'conversation.messages' &&
193
- payload.lastSeq > controller.history(conversationId).loadedThrough)
194
- fetchNewer();
195
- });
196
227
  // One durable subscription/poll owner regardless of how many surfaces display this conversation.
197
- useEffect(() => (conversationId ? controller.watch(conversationId) : undefined), [controller, conversationId]);
228
+ useEffect(() => ready && conversationId ? controller.watch(conversationId) : undefined, [controller, conversationId, ready]);
198
229
  const loaded = conversationId
199
230
  ? controller.history(conversationId)
200
231
  : { state: draft, loadingOlder: false, error: undefined };
@@ -439,10 +470,8 @@ export function useConversationActions() {
439
470
  onError: failed,
440
471
  }, queryClient);
441
472
  const markRead = useCallback((id) => {
442
- void controller
443
- .command(id, () => api.markRead(id), (detail) => detail)
444
- .catch(() => undefined);
445
- }, [api, controller]);
473
+ void controller.markRead(id).catch(() => undefined);
474
+ }, [controller]);
446
475
  return { rename, archive, stop, remove, markRead };
447
476
  }
448
477
  //# 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,EACL,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,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,8BAA8B;QACvC,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,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,EAC7B,UAAiC,EAAE;IAEnC,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC1D,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,UAAU,CAAC,UAAU,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;YACjE,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,KAAK,IAAI,cAAc,KAAK,IAAI;QACzC,GAAG,CAAC,OAAO,CAAC,OAAO;YACjB,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE;YACxD,CAAC,CAAC,EAAE,CAAC;QACP,eAAe,EAAE,aAAa;QAC9B,KAAK,EAAE,wBAAwB;QAC/B,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CACzB,CAAC,OAAO,CAAC,OAAO;YAChB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG;gBACpB,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,SAAS,CAAC;YAClD,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,KAAK;KACZ,EACD,iBAAiB,EAAE,CACpB,CAAC;AACJ,CAAC;AAQD,8GAA8G;AAC9G,MAAM,UAAU,mBAAmB,CACjC,KAA4B,EAC5B,OAAO,GAAG,IAAI;IAEd,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC1D,OAAO,gBAAgB,CACrB;QACE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,OAAO,EAAE,KAAK,IAAI,OAAO;QACzB,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,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,gBAAgB,CACd,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAC9B,GAAG,EAAE;QACH,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC,EACD,IAAI,CACL,CAAC;IACF,gBAAgB,CACd,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,EACpC,CAAC,OAAO,EAAE,EAAE;QACV,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,KAAK,MAAM,KAAK,IAAI,WAAW;iBAC5B,aAAa,EAAE;iBACf,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAC3B,IACE,GAAG,CAAC,CAAC,CAAC,KAAK,cAAc;oBACzB,GAAG,CAAC,MAAM,KAAK,CAAC;oBAChB,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAErC,SAAS;gBACX,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACxC,CAAC;YACD,UAAU,CAAC,SAAS,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAAE,OAAO;QACpC,MAAM,OAAO,GACX,OAAO,CAAC,IAAI,KAAK,sBAAsB;YACvC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;YACnC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;QACvB,IAAI,OAAO;YACT,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC9D,MAAM,YAAY,GAChB,OAAO;YACP,WAAW;iBACR,aAAa,EAAE;iBACf,IAAI,CAAC;gBACJ,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC;gBACvD,KAAK,EAAE,IAAI;aACZ,CAAC;gBACF,EAAE,QAAQ,EAAE,CAAC;QACjB,IACE,CAAC,OAAO;YACR,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,6BAA6B,CAAC;YAC5D,CAAC,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,CAAC;YAE1D,UAAU,CAAC,eAAe,EAAE,CAAC;QAC/B,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAClD,IAAI,OAAO,CAAC,IAAI,KAAK,uBAAuB;gBAC1C,KAAK,UAAU;qBACZ,eAAe,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC;qBACxD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;iBAChB,IAAI,OAAO,CAAC,IAAI,KAAK,6BAA6B;gBACrD,UAAU,CAAC,cAAc,CACvB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,QAAQ,CACjB,CAAC;iBACC,IAAI,OAAO,CAAC,IAAI,KAAK,8BAA8B;gBACtD,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,IACE,OAAO,OAAO,KAAK,QAAQ;gBAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;gBAC7B,OAAO,IAAI,CAAC,EACZ,CAAC;gBACD,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAqB,GAAG,CAAC,CAAC;gBAClE,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO;oBAAE,OAAO;gBAChD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC5D,IACE,CAAC,UAAU,CAAC,gBAAgB,CAC1B,OAAO,CAAC,cAAc,EACtB,OAAO,EACP,OAAO,CACR;oBAED,OAAO,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC,EACD,IAAI,CACL,CAAC;AACJ,CAAC;AAWD,mGAAmG;AACnG,MAAM,UAAU,uBAAuB,CACrC,cAA6B;IAE7B,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC1D,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7C,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,KAAK,IAAI,cAAc;YACzB,KAAK,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,cAAc;YAAE,KAAK,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC9E,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IACjC,iGAAiG;IACjG,SAAS,CACP,GAAG,EAAE,CACH,KAAK,IAAI,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EACxE,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,CACpC,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;AAED,MAAM,UAAU,gBAAgB,CAAC,cAA6B;IAQ5D,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,oBAAoB,CAClB,UAAU,CAAC,SAAS,EACpB,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,QAAQ,CACpB,CAAC;IACF,OAAO;QACL,SAAS,EAAE,OAAO,CAChB,cAAc,IAAI,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CACzD;QACD,MAAM,EAAE,CAAC,OAAO,EAAmD,EAAE;YACnE,IAAI,CAAC,cAAc;gBACjB,OAAO,OAAO,CAAC,OAAO,CAAC;oBACrB,OAAO,EAAE,UAAmB;oBAC5B,KAAK,EAAE,IAAI,KAAK,CAAC,6BAA6B,CAAC;iBAChD,CAAC,CAAC;YACL,OAAO,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;KACF,CAAC;AACJ,CAAC;AAUD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,cAAc,EACd,OAAO,EACP,MAAM,EACN,aAAa,EACb,SAAS,EACT,cAAc,GAAG,CAAC,EAClB,QAAQ,EACR,SAAS,GAYV;IACC,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,YAAY,MAAM,IAAI,cAAc,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;IACpF,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;wBACE,aAAa;wBACb,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;qBAC9D;oBACH,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,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;AAmBD,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,MAAM,GAAG,WAAW,CACxB;QACE,UAAU,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtD,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE;YACzB,WAAW,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACnE,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,EAAE,MAAM;KAChB,EACD,WAAW,CACZ,CAAC;IAEF,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,EAAU,EAAE,EAAE;QACb,KAAK,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACrD,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type Tone = 'grey' | 'blue' | 'violet' | 'amber' | 'green' | 'slate' | 'red';
2
+ /**
3
+ * The tag colours, the same family as the application's tags so a run state reads alike on every page. Written as
4
+ * arbitrary values, since a plugin cannot add theme tokens; every class is spelled in full for the Tailwind build.
5
+ */
6
+ export declare const TONE_CLASS: Readonly<Record<Tone, string>>;
7
+ //# sourceMappingURL=ag-tag-tones.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ag-tag-tones.d.ts","sourceRoot":"","sources":["../../../client/components/ag-tag-tones.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GACd,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAYrD,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The tag colours, the same family as the application's tags so a run state reads alike on every page. Written as
3
+ * arbitrary values, since a plugin cannot add theme tokens; every class is spelled in full for the Tailwind build.
4
+ */
5
+ export const TONE_CLASS = {
6
+ grey: 'bg-[oklch(0.955_0.004_264)] text-[oklch(0.46_0.015_264)] dark:bg-[oklch(0.72_0.01_264/0.14)] dark:text-[oklch(0.8_0.01_264)]',
7
+ blue: 'bg-[oklch(0.95_0.035_245)] text-[oklch(0.5_0.15_250)] dark:bg-[oklch(0.65_0.13_250/0.2)] dark:text-[oklch(0.8_0.1_250)]',
8
+ violet: 'bg-[oklch(0.95_0.035_295)] text-[oklch(0.5_0.17_295)] dark:bg-[oklch(0.65_0.14_295/0.2)] dark:text-[oklch(0.8_0.11_295)]',
9
+ amber: 'bg-[oklch(0.96_0.05_85)] text-[oklch(0.52_0.12_65)] dark:bg-[oklch(0.75_0.13_75/0.18)] dark:text-[oklch(0.84_0.12_80)]',
10
+ green: 'bg-[oklch(0.955_0.04_155)] text-[oklch(0.5_0.12_155)] dark:bg-[oklch(0.65_0.12_155/0.2)] dark:text-[oklch(0.8_0.12_155)]',
11
+ slate: 'bg-[oklch(0.935_0.008_264)] text-[oklch(0.42_0.02_264)] dark:bg-[oklch(0.6_0.02_264/0.2)] dark:text-[oklch(0.72_0.015_264)]',
12
+ red: 'bg-[oklch(0.955_0.03_25)] text-[oklch(0.52_0.18_27)] dark:bg-[oklch(0.62_0.18_25/0.2)] dark:text-[oklch(0.78_0.13_25)]',
13
+ };
14
+ //# sourceMappingURL=ag-tag-tones.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ag-tag-tones.js","sourceRoot":"","sources":["../../../client/components/ag-tag-tones.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAmC;IACxD,IAAI,EAAE,8HAA8H;IACpI,IAAI,EAAE,yHAAyH;IAC/H,MAAM,EACJ,0HAA0H;IAC5H,KAAK,EACH,wHAAwH;IAC1H,KAAK,EACH,0HAA0H;IAC5H,KAAK,EACH,6HAA6H;IAC/H,GAAG,EAAE,wHAAwH;CAC9H,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { ComponentProps, ReactElement, ReactNode } from 'react';
2
- export type Tone = 'grey' | 'blue' | 'violet' | 'amber' | 'green' | 'slate' | 'red';
2
+ import { type Tone } from './ag-tag-tones.js';
3
+ export type { Tone } from './ag-tag-tones.js';
3
4
  /** A rounded pill in a light tint of its hue; a status adds a leading dot. */
4
5
  export declare function AgTag({ tone, dot, children, className, ...props }: Omit<ComponentProps<'span'>, 'children'> & {
5
6
  readonly tone: Tone;
@@ -1 +1 @@
1
- {"version":3,"file":"ag-tag.d.ts","sourceRoot":"","sources":["../../../client/components/ag-tag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIrE,MAAM,MAAM,IAAI,GACd,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAoBnE,8EAA8E;AAC9E,wBAAgB,KAAK,CAAC,EACpB,IAAI,EACJ,GAAW,EACX,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IAC5C,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC9B,GAAG,YAAY,CAoBf"}
1
+ {"version":3,"file":"ag-tag.d.ts","sourceRoot":"","sources":["../../../client/components/ag-tag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIrE,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE1D,YAAY,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,8EAA8E;AAC9E,wBAAgB,KAAK,CAAC,EACpB,IAAI,EACJ,GAAW,EACX,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IAC5C,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC9B,GAAG,YAAY,CAoBf"}
@@ -1,18 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cn } from 'cn';
3
- /**
4
- * The tag colours, the same family as the application's tags so a run state reads alike on every page. Written as
5
- * arbitrary values, since a plugin cannot add theme tokens; every class is spelled in full for the Tailwind build.
6
- */
7
- const TONE_CLASS = {
8
- grey: 'bg-[oklch(0.955_0.004_264)] text-[oklch(0.46_0.015_264)] dark:bg-[oklch(0.72_0.01_264/0.14)] dark:text-[oklch(0.8_0.01_264)]',
9
- blue: 'bg-[oklch(0.95_0.035_245)] text-[oklch(0.5_0.15_250)] dark:bg-[oklch(0.65_0.13_250/0.2)] dark:text-[oklch(0.8_0.1_250)]',
10
- violet: 'bg-[oklch(0.95_0.035_295)] text-[oklch(0.5_0.17_295)] dark:bg-[oklch(0.65_0.14_295/0.2)] dark:text-[oklch(0.8_0.11_295)]',
11
- amber: 'bg-[oklch(0.96_0.05_85)] text-[oklch(0.52_0.12_65)] dark:bg-[oklch(0.75_0.13_75/0.18)] dark:text-[oklch(0.84_0.12_80)]',
12
- green: 'bg-[oklch(0.955_0.04_155)] text-[oklch(0.5_0.12_155)] dark:bg-[oklch(0.65_0.12_155/0.2)] dark:text-[oklch(0.8_0.12_155)]',
13
- slate: 'bg-[oklch(0.935_0.008_264)] text-[oklch(0.42_0.02_264)] dark:bg-[oklch(0.6_0.02_264/0.2)] dark:text-[oklch(0.72_0.015_264)]',
14
- red: 'bg-[oklch(0.955_0.03_25)] text-[oklch(0.52_0.18_27)] dark:bg-[oklch(0.62_0.18_25/0.2)] dark:text-[oklch(0.78_0.13_25)]',
15
- };
3
+ import { TONE_CLASS } from './ag-tag-tones.js';
16
4
  /** A rounded pill in a light tint of its hue; a status adds a leading dot. */
17
5
  export function AgTag({ tone, dot = false, children, className, ...props }) {
18
6
  return (_jsxs("span", { "data-tone": tone, className: cn('inline-flex w-fit shrink-0 items-center gap-1 rounded-full px-2 py-0 text-xs leading-4 font-medium whitespace-nowrap [&_svg]:size-3 [&_svg]:shrink-0', TONE_CLASS[tone], className), ...props, children: [dot ? (_jsx("span", { "aria-hidden": 'true', className: 'size-1.5 shrink-0 rounded-full bg-current' })) : null, children] }));
@@ -1 +1 @@
1
- {"version":3,"file":"ag-tag.js","sourceRoot":"","sources":["../../../client/components/ag-tag.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,IAAI,CAAC;AAKxB;;;GAGG;AACH,MAAM,UAAU,GAAmC;IACjD,IAAI,EAAE,8HAA8H;IACpI,IAAI,EAAE,yHAAyH;IAC/H,MAAM,EACJ,0HAA0H;IAC5H,KAAK,EACH,wHAAwH;IAC1H,KAAK,EACH,0HAA0H;IAC5H,KAAK,EACH,6HAA6H;IAC/H,GAAG,EAAE,wHAAwH;CAC9H,CAAC;AAEF,8EAA8E;AAC9E,MAAM,UAAU,KAAK,CAAC,EACpB,IAAI,EACJ,GAAG,GAAG,KAAK,EACX,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EAKT;IACC,OAAO,CACL,6BACa,IAAI,EACf,SAAS,EAAE,EAAE,CACX,sJAAsJ,EACtJ,UAAU,CAAC,IAAI,CAAC,EAChB,SAAS,CACV,KACG,KAAK,aAER,GAAG,CAAC,CAAC,CAAC,CACL,8BACc,MAAM,EAClB,SAAS,EAAC,2CAA2C,GACrD,CACH,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,IACJ,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ag-tag.js","sourceRoot":"","sources":["../../../client/components/ag-tag.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,IAAI,CAAC;AAExB,OAAO,EAAE,UAAU,EAAa,MAAM,mBAAmB,CAAC;AAI1D,8EAA8E;AAC9E,MAAM,UAAU,KAAK,CAAC,EACpB,IAAI,EACJ,GAAG,GAAG,KAAK,EACX,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EAKT;IACC,OAAO,CACL,6BACa,IAAI,EACf,SAAS,EAAE,EAAE,CACX,sJAAsJ,EACtJ,UAAU,CAAC,IAAI,CAAC,EAChB,SAAS,CACV,KACG,KAAK,aAER,GAAG,CAAC,CAAC,CAAC,CACL,8BACc,MAAM,EAClB,SAAS,EAAC,2CAA2C,GACrD,CACH,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,IACJ,CACR,CAAC;AACJ,CAAC"}
@@ -1,11 +1,12 @@
1
1
  /** One semantic color and compact reset label across every quota surface. */
2
2
  import type { ReactElement } from 'react';
3
3
  import type { QuotaLocation } from '../../shared/quota.js';
4
- export declare function QuotaLabel({ resetsAt, near, reset, usage, }: {
4
+ export declare function QuotaLabel({ resetsAt, near, reset, usage, warning, }: {
5
5
  readonly resetsAt?: string | null;
6
6
  readonly near?: boolean;
7
7
  readonly reset?: boolean;
8
8
  readonly usage?: boolean;
9
+ readonly warning?: boolean;
9
10
  }): ReactElement;
10
11
  export declare function AgentQuotaHint({ quota, online, names, }: {
11
12
  readonly quota?: readonly QuotaLocation[];
@@ -1 +1 @@
1
- {"version":3,"file":"quota-status.d.ts","sourceRoot":"","sources":["../../../client/components/quota-status.tsx"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAU3D,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,IAAY,EACZ,KAAa,EACb,KAAa,GACd,EAAE;IACD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,YAAY,CAyBf;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAU,EACV,MAAM,EACN,KAAU,GACX,EAAE;IACD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,GAAG,YAAY,GAAG,IAAI,CA6BtB;AAED,wBAAgB,cAAc,IAAI,YAAY,CAU7C"}
1
+ {"version":3,"file":"quota-status.d.ts","sourceRoot":"","sources":["../../../client/components/quota-status.tsx"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAU3D,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,IAAY,EACZ,KAAa,EACb,KAAa,EACb,OAAe,GAChB,EAAE;IACD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,YAAY,CAyBf;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAU,EACV,MAAM,EACN,KAAU,GACX,EAAE;IACD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,GAAG,YAAY,GAAG,IAAI,CA6BtB;AAED,wBAAgB,cAAc,IAAI,YAAY,CAU7C"}
@@ -5,10 +5,10 @@ import { compactDateTime } from '../lib/format.js';
5
5
  import { Badge } from './ui/badge.js';
6
6
  const FOCUSED_AMBER_QUOTA_TEXT = '[[data-slot=select-item]:focus_&]:text-amber-700 dark:[[data-slot=select-item]:focus_&]:text-amber-300 [[data-slot=dropdown-menu-item]:focus_&]:text-amber-700 dark:[[data-slot=dropdown-menu-item]:focus_&]:text-amber-300';
7
7
  const FOCUSED_EXHAUSTED_QUOTA_TEXT = '[[data-slot=select-item]:focus_&]:text-destructive [[data-slot=dropdown-menu-item]:focus_&]:text-destructive';
8
- export function QuotaLabel({ resetsAt, near = false, reset = false, usage = false, }) {
8
+ export function QuotaLabel({ resetsAt, near = false, reset = false, usage = false, warning = false, }) {
9
9
  const { t, i18n } = useTranslation(ACCESS_NAMESPACE);
10
10
  const time = resetsAt ? compactDateTime(resetsAt, i18n.language) : '';
11
- return (_jsxs(Badge, { variant: 'secondary', "data-quota-hint": true, className: near
11
+ return (_jsxs(Badge, { variant: 'secondary', "data-quota-hint": true, className: near || warning
12
12
  ? `bg-amber-500/10 text-amber-700 dark:text-amber-300 ${FOCUSED_AMBER_QUOTA_TEXT}`
13
13
  : `bg-destructive/10 text-destructive ${FOCUSED_EXHAUSTED_QUOTA_TEXT}`, children: [t(near
14
14
  ? 'runtimes.quota.near'
@@ -1 +1 @@
1
- {"version":3,"file":"quota-status.js","sourceRoot":"","sources":["../../../client/components/quota-status.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-status.js","sourceRoot":"","sources":["../../../client/components/quota-status.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ declare function Pagination({ className, ...props }: React.ComponentProps<'nav'>): React.ReactElement;
3
+ declare function PaginationContent({ className, ...props }: React.ComponentProps<'ul'>): React.ReactElement;
4
+ declare function PaginationItem({ ...props }: React.ComponentProps<'li'>): React.ReactElement;
5
+ export { Pagination, PaginationContent, PaginationItem };
6
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../../client/components/ui/pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,CASlD;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,CAQjD;AAED,iBAAS,cAAc,CAAC,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,CAEjD;AAED,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from 'cn';
3
+ function Pagination({ className, ...props }) {
4
+ return (_jsx("nav", { role: 'navigation', "data-slot": 'pagination', className: cn('mx-auto flex w-full justify-center', className), ...props }));
5
+ }
6
+ function PaginationContent({ className, ...props }) {
7
+ return (_jsx("ul", { "data-slot": 'pagination-content', className: cn('flex items-center gap-0.5', className), ...props }));
8
+ }
9
+ function PaginationItem({ ...props }) {
10
+ return _jsx("li", { "data-slot": 'pagination-item', ...props });
11
+ }
12
+ export { Pagination, PaginationContent, PaginationItem };
13
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../../client/components/ui/pagination.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,IAAI,CAAC;AAExB,SAAS,UAAU,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACoB;IAC5B,OAAO,CACL,cACE,IAAI,EAAC,YAAY,eACP,YAAY,EACtB,SAAS,EAAE,EAAE,CAAC,oCAAoC,EAAE,SAAS,CAAC,KAC1D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACmB;IAC3B,OAAO,CACL,0BACY,oBAAoB,EAC9B,SAAS,EAAE,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,KACjD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,GAAG,KAAK,EACmB;IAC3B,OAAO,0BAAc,iBAAiB,KAAK,KAAK,GAAI,CAAC;AACvD,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-notify.d.ts","sourceRoot":"","sources":["../../../client/hooks/use-notify.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,8GAA8G;IAC9G,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChD;AAED,+FAA+F;AAC/F,wBAAgB,SAAS,IAAI,MAAM,CAclC;AAED,wBAAgB,SAAS,CACvB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,EAC7D,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,CAQR"}
1
+ {"version":3,"file":"use-notify.d.ts","sourceRoot":"","sources":["../../../client/hooks/use-notify.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,8GAA8G;IAC9G,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChD;AAED,+FAA+F;AAC/F,wBAAgB,SAAS,IAAI,MAAM,CAclC;AAED,wBAAgB,SAAS,CACvB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,EAC7D,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,CAcR"}
@@ -18,6 +18,10 @@ export function errorText(t, error, fallback) {
18
18
  return fallback;
19
19
  if (error.status === 403)
20
20
  return t('common.forbidden');
21
+ if (error.reason === 'CONFLICT' &&
22
+ error.payload?.error
23
+ ?.metadata?.reason === 'boundRunnerIncompatible')
24
+ return t('errors.boundRunnerIncompatible');
21
25
  if (error.reason)
22
26
  return t(`errors.${error.reason}`, {
23
27
  defaultValue: error.message || fallback,
@@ -1 +1 @@
1
- {"version":3,"file":"use-notify.js","sourceRoot":"","sources":["../../../client/hooks/use-notify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAQhC,+FAA+F;AAC/F,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACjE,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CACzB,KAAK,OAAO,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,sBAAsB,CAAC,CAAC;SAClE,CAAC;KACL,CAAC,EACF,CAAC,OAAO,EAAE,CAAC,CAAC,CACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,CAA6D,EAC7D,KAAc,EACd,QAAgB;IAEhB,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM;QACd,OAAO,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,EAAE,EAAE;YACjC,YAAY,EAAE,KAAK,CAAC,OAAO,IAAI,QAAQ;SACxC,CAAC,CAAC;IACL,OAAO,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"use-notify.js","sourceRoot":"","sources":["../../../client/hooks/use-notify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAQhC,+FAA+F;AAC/F,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACjE,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CACzB,KAAK,OAAO,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,sBAAsB,CAAC,CAAC;SAClE,CAAC;KACL,CAAC,EACF,CAAC,OAAO,EAAE,CAAC,CAAC,CACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,CAA6D,EAC7D,KAAc,EACd,QAAgB;IAEhB,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACvD,IACE,KAAK,CAAC,MAAM,KAAK,UAAU;QAC1B,KAAK,CAAC,OAA2D,EAAE,KAAK;YACvE,EAAE,QAAQ,EAAE,MAAM,KAAK,yBAAyB;QAElD,OAAO,CAAC,CAAC,gCAAgC,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM;QACd,OAAO,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,EAAE,EAAE;YACjC,YAAY,EAAE,KAAK,CAAC,OAAO,IAAI,QAAQ;SACxC,CAAC,CAAC;IACL,OAAO,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC;AACnC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  /** Keeps the plugin's payload callback API and refreshes after acknowledged subscriptions. */
2
- export declare function useRealtimeTopic(topic: string | null, listener: (payload: unknown) => void): void;
2
+ export declare function useRealtimeTopic(topic: string | null, listener: (payload: unknown) => void, initialReadAfterReady?: boolean): boolean;
3
3
  //# sourceMappingURL=use-realtime-topic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-realtime-topic.d.ts","sourceRoot":"","sources":["../../../client/hooks/use-realtime-topic.ts"],"names":[],"mappings":"AAGA,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GACnC,IAAI,CAcN"}
1
+ {"version":3,"file":"use-realtime-topic.d.ts","sourceRoot":"","sources":["../../../client/hooks/use-realtime-topic.ts"],"names":[],"mappings":"AAOA,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EACpC,qBAAqB,UAAQ,GAC5B,OAAO,CAqBT"}
@@ -1,20 +1,24 @@
1
- import { realtimeClientToken, useService } from '@nocobase/app-client';
1
+ import { realtimeClientToken, useRealtimeReadiness, useService, } from '@nocobase/app-client';
2
2
  import { useEffect, useRef } from 'react';
3
3
  /** Keeps the plugin's payload callback API and refreshes after acknowledged subscriptions. */
4
- export function useRealtimeTopic(topic, listener) {
4
+ export function useRealtimeTopic(topic, listener, initialReadAfterReady = false) {
5
5
  const realtime = useService(realtimeClientToken);
6
6
  const listenerRef = useRef(listener);
7
7
  useEffect(() => {
8
8
  listenerRef.current = listener;
9
9
  });
10
+ const ready = useRealtimeReadiness(initialReadAfterReady && topic ? [topic] : [], initialReadAfterReady ? () => listenerRef.current(undefined) : undefined);
10
11
  useEffect(() => {
11
12
  if (!topic)
12
13
  return;
13
14
  const subscription = realtime.watch(topic, {
14
15
  onEvent: ({ payload }) => listenerRef.current(payload),
15
- onReady: () => listenerRef.current(undefined),
16
+ ...(initialReadAfterReady
17
+ ? {}
18
+ : { onReady: () => listenerRef.current(undefined) }),
16
19
  });
17
20
  return () => subscription.close();
18
- }, [realtime, topic]);
21
+ }, [realtime, topic, initialReadAfterReady]);
22
+ return ready;
19
23
  }
20
24
  //# sourceMappingURL=use-realtime-topic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-realtime-topic.js","sourceRoot":"","sources":["../../../client/hooks/use-realtime-topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C,8FAA8F;AAC9F,MAAM,UAAU,gBAAgB,CAC9B,KAAoB,EACpB,QAAoC;IAEpC,MAAM,QAAQ,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IACjC,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE;YACzC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;YACtD,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;SAC9C,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"use-realtime-topic.js","sourceRoot":"","sources":["../../../client/hooks/use-realtime-topic.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C,8FAA8F;AAC9F,MAAM,UAAU,gBAAgB,CAC9B,KAAoB,EACpB,QAAoC,EACpC,qBAAqB,GAAG,KAAK;IAE7B,MAAM,QAAQ,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IACjC,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,oBAAoB,CAChC,qBAAqB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAC7C,qBAAqB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CACzE,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE;YACzC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;YACtD,GAAG,CAAC,qBAAqB;gBACvB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;SACvD,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"kit.d.ts","sourceRoot":"","sources":["../../client/kit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kit.d.ts","sourceRoot":"","sources":["../../client/kit.ts"],"names":[],"mappings":"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"}