@nocobase/app-plugin-agents 0.1.0-beta.12 → 0.1.0-beta.14

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 (227) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/README.md +12 -0
  3. package/dist/client/api/client.d.ts +6 -2
  4. package/dist/client/api/client.d.ts.map +1 -1
  5. package/dist/client/api/client.js +6 -0
  6. package/dist/client/api/client.js.map +1 -1
  7. package/dist/client/api/keys.d.ts +3 -0
  8. package/dist/client/api/keys.d.ts.map +1 -1
  9. package/dist/client/api/keys.js +3 -0
  10. package/dist/client/api/keys.js.map +1 -1
  11. package/dist/client/api/runners.d.ts +6 -2
  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/keys.d.ts.map +1 -1
  16. package/dist/client/chat/keys.js +2 -1
  17. package/dist/client/chat/keys.js.map +1 -1
  18. package/dist/client/chat/use-chat.d.ts +3 -3
  19. package/dist/client/chat/use-chat.d.ts.map +1 -1
  20. package/dist/client/chat/use-chat.js +15 -5
  21. package/dist/client/chat/use-chat.js.map +1 -1
  22. package/dist/client/components/quota-status.d.ts +16 -0
  23. package/dist/client/components/quota-status.d.ts.map +1 -0
  24. package/dist/client/components/quota-status.js +39 -0
  25. package/dist/client/components/quota-status.js.map +1 -0
  26. package/dist/client/components/runners-refresh.d.ts.map +1 -1
  27. package/dist/client/components/runners-refresh.js +1 -0
  28. package/dist/client/components/runners-refresh.js.map +1 -1
  29. package/dist/client/hooks/use-quota-expiry.d.ts +7 -0
  30. package/dist/client/hooks/use-quota-expiry.d.ts.map +1 -0
  31. package/dist/client/hooks/use-quota-expiry.js +92 -0
  32. package/dist/client/hooks/use-quota-expiry.js.map +1 -0
  33. package/dist/client/hooks/use-realtime-topic.d.ts +1 -4
  34. package/dist/client/hooks/use-realtime-topic.d.ts.map +1 -1
  35. package/dist/client/hooks/use-realtime-topic.js +7 -11
  36. package/dist/client/hooks/use-realtime-topic.js.map +1 -1
  37. package/dist/client/kit.d.ts +5 -0
  38. package/dist/client/kit.d.ts.map +1 -1
  39. package/dist/client/kit.js +25 -0
  40. package/dist/client/kit.js.map +1 -1
  41. package/dist/client/lib/agents.d.ts +1 -1
  42. package/dist/client/lib/agents.d.ts.map +1 -1
  43. package/dist/client/lib/agents.js +2 -1
  44. package/dist/client/lib/agents.js.map +1 -1
  45. package/dist/client/lib/format.d.ts +3 -1
  46. package/dist/client/lib/format.d.ts.map +1 -1
  47. package/dist/client/lib/format.js +25 -0
  48. package/dist/client/lib/format.js.map +1 -1
  49. package/dist/client/locales/runtimes.en-US.d.ts +73 -0
  50. package/dist/client/locales/runtimes.en-US.d.ts.map +1 -1
  51. package/dist/client/locales/runtimes.en-US.js +74 -1
  52. package/dist/client/locales/runtimes.en-US.js.map +1 -1
  53. package/dist/client/locales/runtimes.zh-CN.d.ts.map +1 -1
  54. package/dist/client/locales/runtimes.zh-CN.js +73 -0
  55. package/dist/client/locales/runtimes.zh-CN.js.map +1 -1
  56. package/dist/client/pages/agents/runner-agents.d.ts.map +1 -1
  57. package/dist/client/pages/agents/runner-agents.js +23 -10
  58. package/dist/client/pages/agents/runner-agents.js.map +1 -1
  59. package/dist/client/pages/runtimes/index.d.ts.map +1 -1
  60. package/dist/client/pages/runtimes/index.js +1 -1
  61. package/dist/client/pages/runtimes/index.js.map +1 -1
  62. package/dist/client/pages/runtimes/quota-targets.d.ts +4 -0
  63. package/dist/client/pages/runtimes/quota-targets.d.ts.map +1 -0
  64. package/dist/client/pages/runtimes/quota-targets.js +18 -0
  65. package/dist/client/pages/runtimes/quota-targets.js.map +1 -0
  66. package/dist/client/pages/runtimes/quota.d.ts +17 -0
  67. package/dist/client/pages/runtimes/quota.d.ts.map +1 -0
  68. package/dist/client/pages/runtimes/quota.js +50 -0
  69. package/dist/client/pages/runtimes/quota.js.map +1 -0
  70. package/dist/client/pages/runtimes/runner-cells.d.ts +9 -2
  71. package/dist/client/pages/runtimes/runner-cells.d.ts.map +1 -1
  72. package/dist/client/pages/runtimes/runner-cells.js +2 -2
  73. package/dist/client/pages/runtimes/runner-cells.js.map +1 -1
  74. package/dist/client/pages/runtimes/runner-overview.d.ts +9 -0
  75. package/dist/client/pages/runtimes/runner-overview.d.ts.map +1 -0
  76. package/dist/client/pages/runtimes/runner-overview.js +109 -0
  77. package/dist/client/pages/runtimes/runner-overview.js.map +1 -0
  78. package/dist/client/pages/runtimes/runner-runs.d.ts +5 -0
  79. package/dist/client/pages/runtimes/runner-runs.d.ts.map +1 -0
  80. package/dist/client/pages/runtimes/runner-runs.js +35 -0
  81. package/dist/client/pages/runtimes/runner-runs.js.map +1 -0
  82. package/dist/client/pages/runtimes/runner-sheet.d.ts +0 -1
  83. package/dist/client/pages/runtimes/runner-sheet.d.ts.map +1 -1
  84. package/dist/client/pages/runtimes/runner-sheet.js +37 -179
  85. package/dist/client/pages/runtimes/runner-sheet.js.map +1 -1
  86. package/dist/client/pages/runtimes/runner-tools.d.ts +17 -0
  87. package/dist/client/pages/runtimes/runner-tools.d.ts.map +1 -0
  88. package/dist/client/pages/runtimes/runner-tools.js +75 -0
  89. package/dist/client/pages/runtimes/runner-tools.js.map +1 -0
  90. package/dist/client/pages/runtimes/runner-workspaces.d.ts +6 -0
  91. package/dist/client/pages/runtimes/runner-workspaces.d.ts.map +1 -0
  92. package/dist/client/pages/runtimes/runner-workspaces.js +37 -0
  93. package/dist/client/pages/runtimes/runner-workspaces.js.map +1 -0
  94. package/dist/client/pages/runtimes/tool-slots-fields.js +1 -1
  95. package/dist/client/pages/runtimes/tool-slots-fields.js.map +1 -1
  96. package/dist/client/pages/runtimes/workspace-diagnostics.d.ts +4 -2
  97. package/dist/client/pages/runtimes/workspace-diagnostics.d.ts.map +1 -1
  98. package/dist/client/pages/runtimes/workspace-diagnostics.js +61 -37
  99. package/dist/client/pages/runtimes/workspace-diagnostics.js.map +1 -1
  100. package/dist/client/runs/subject-runs.d.ts.map +1 -1
  101. package/dist/client/runs/subject-runs.js +13 -5
  102. package/dist/client/runs/subject-runs.js.map +1 -1
  103. package/dist/client/runs/use-run-events.d.ts +1 -1
  104. package/dist/client/runs/use-run-events.d.ts.map +1 -1
  105. package/dist/client/runs/use-run-events.js +5 -2
  106. package/dist/client/runs/use-run-events.js.map +1 -1
  107. package/dist/database/migrations/.manifest.json +4 -0
  108. package/dist/database/migrations/202610170001_ag_runner_quota.d.ts +4 -0
  109. package/dist/database/migrations/202610170001_ag_runner_quota.d.ts.map +1 -0
  110. package/dist/database/migrations/202610170001_ag_runner_quota.js +19 -0
  111. package/dist/database/migrations/202610170001_ag_runner_quota.js.map +1 -0
  112. package/dist/package.json +1 -1
  113. package/dist/server/composition.d.ts.map +1 -1
  114. package/dist/server/composition.js +5 -1
  115. package/dist/server/composition.js.map +1 -1
  116. package/dist/server/core/agents/agent.views.d.ts.map +1 -1
  117. package/dist/server/core/agents/agent.views.js +2 -0
  118. package/dist/server/core/agents/agent.views.js.map +1 -1
  119. package/dist/server/core/conversations/conversation.service.d.ts +1 -1
  120. package/dist/server/core/conversations/conversation.service.d.ts.map +1 -1
  121. package/dist/server/core/conversations/conversation.service.js +29 -4
  122. package/dist/server/core/conversations/conversation.service.js.map +1 -1
  123. package/dist/server/core/runs/access.d.ts +5 -0
  124. package/dist/server/core/runs/access.d.ts.map +1 -0
  125. package/dist/server/core/runs/access.js +10 -0
  126. package/dist/server/core/runs/access.js.map +1 -0
  127. package/dist/server/core/runs/availability.d.ts +5 -1
  128. package/dist/server/core/runs/availability.d.ts.map +1 -1
  129. package/dist/server/core/runs/availability.js +8 -2
  130. package/dist/server/core/runs/availability.js.map +1 -1
  131. package/dist/server/core/runs/claim.d.ts +5 -48
  132. package/dist/server/core/runs/claim.d.ts.map +1 -1
  133. package/dist/server/core/runs/claim.js +17 -17
  134. package/dist/server/core/runs/claim.js.map +1 -1
  135. package/dist/server/core/runs/eligibility.d.ts +11 -1
  136. package/dist/server/core/runs/eligibility.d.ts.map +1 -1
  137. package/dist/server/core/runs/eligibility.js +38 -7
  138. package/dist/server/core/runs/eligibility.js.map +1 -1
  139. package/dist/server/core/runs/execution-view.d.ts +8 -0
  140. package/dist/server/core/runs/execution-view.d.ts.map +1 -1
  141. package/dist/server/core/runs/execution-view.js +9 -0
  142. package/dist/server/core/runs/execution-view.js.map +1 -1
  143. package/dist/server/core/runs/execution.d.ts +1 -1
  144. package/dist/server/core/runs/execution.d.ts.map +1 -1
  145. package/dist/server/core/runs/execution.js +2 -1
  146. package/dist/server/core/runs/execution.js.map +1 -1
  147. package/dist/server/core/runs/index.d.ts +1 -1
  148. package/dist/server/core/runs/index.d.ts.map +1 -1
  149. package/dist/server/core/runs/index.js +1 -1
  150. package/dist/server/core/runs/index.js.map +1 -1
  151. package/dist/server/core/runs/lifecycle.d.ts +9 -0
  152. package/dist/server/core/runs/lifecycle.d.ts.map +1 -1
  153. package/dist/server/core/runs/lifecycle.js +55 -1
  154. package/dist/server/core/runs/lifecycle.js.map +1 -1
  155. package/dist/server/core/runs/run.service.d.ts +4 -0
  156. package/dist/server/core/runs/run.service.d.ts.map +1 -1
  157. package/dist/server/core/runs/run.service.js +27 -0
  158. package/dist/server/core/runs/run.service.js.map +1 -1
  159. package/dist/server/core/runs/runner-view.d.ts +6 -1
  160. package/dist/server/core/runs/runner-view.d.ts.map +1 -1
  161. package/dist/server/core/runs/runner-view.js +46 -5
  162. package/dist/server/core/runs/runner-view.js.map +1 -1
  163. package/dist/server/core/runs/transitions.d.ts +1 -0
  164. package/dist/server/core/runs/transitions.d.ts.map +1 -1
  165. package/dist/server/core/runs/transitions.js +1 -1
  166. package/dist/server/core/runs/transitions.js.map +1 -1
  167. package/dist/server/core/runs/workload.d.ts.map +1 -1
  168. package/dist/server/core/runs/workload.js +4 -3
  169. package/dist/server/core/runs/workload.js.map +1 -1
  170. package/dist/server/core/variables/variable.service.d.ts +7 -0
  171. package/dist/server/core/variables/variable.service.d.ts.map +1 -1
  172. package/dist/server/core/variables/variable.service.js +32 -0
  173. package/dist/server/core/variables/variable.service.js.map +1 -1
  174. package/dist/server/index.d.ts +2 -0
  175. package/dist/server/index.d.ts.map +1 -1
  176. package/dist/server/index.js +2 -0
  177. package/dist/server/index.js.map +1 -1
  178. package/dist/server/kernel/events.d.ts +4 -2
  179. package/dist/server/kernel/events.d.ts.map +1 -1
  180. package/dist/server/kernel/events.js.map +1 -1
  181. package/dist/server/providers/agents.d.ts.map +1 -1
  182. package/dist/server/providers/agents.js +31 -12
  183. package/dist/server/providers/agents.js.map +1 -1
  184. package/dist/server/providers/runners.js +3 -6
  185. package/dist/server/providers/runners.js.map +1 -1
  186. package/dist/server/routes/admin.d.ts.map +1 -1
  187. package/dist/server/routes/admin.js +8 -11
  188. package/dist/server/routes/admin.js.map +1 -1
  189. package/dist/server/routes/runners/admin.d.ts.map +1 -1
  190. package/dist/server/routes/runners/admin.js +178 -30
  191. package/dist/server/routes/runners/admin.js.map +1 -1
  192. package/dist/server/routes/schemas.d.ts +7 -6
  193. package/dist/server/routes/schemas.d.ts.map +1 -1
  194. package/dist/server/routes/schemas.js +165 -4
  195. package/dist/server/routes/schemas.js.map +1 -1
  196. package/dist/server/runners/runner.service.d.ts +15 -1
  197. package/dist/server/runners/runner.service.d.ts.map +1 -1
  198. package/dist/server/runners/runner.service.js +217 -28
  199. package/dist/server/runners/runner.service.js.map +1 -1
  200. package/dist/server/runners/runner.store.d.ts +2 -0
  201. package/dist/server/runners/runner.store.d.ts.map +1 -1
  202. package/dist/server/runners/runner.store.js +16 -0
  203. package/dist/server/runners/runner.store.js.map +1 -1
  204. package/dist/shared/agents.d.ts +3 -0
  205. package/dist/shared/agents.d.ts.map +1 -1
  206. package/dist/shared/agents.js +0 -15
  207. package/dist/shared/agents.js.map +1 -1
  208. package/dist/shared/conversations.d.ts +4 -0
  209. package/dist/shared/conversations.d.ts.map +1 -1
  210. package/dist/shared/conversations.js.map +1 -1
  211. package/dist/shared/model-catalog.d.ts +5 -0
  212. package/dist/shared/model-catalog.d.ts.map +1 -1
  213. package/dist/shared/model-catalog.js +35 -1
  214. package/dist/shared/model-catalog.js.map +1 -1
  215. package/dist/shared/quota.d.ts +15 -0
  216. package/dist/shared/quota.d.ts.map +1 -0
  217. package/dist/shared/quota.js +2 -0
  218. package/dist/shared/quota.js.map +1 -0
  219. package/dist/shared/runners.d.ts +78 -4
  220. package/dist/shared/runners.d.ts.map +1 -1
  221. package/dist/shared/runners.js +126 -8
  222. package/dist/shared/runners.js.map +1 -1
  223. package/dist/shared/runs.d.ts +2 -0
  224. package/dist/shared/runs.d.ts.map +1 -1
  225. package/dist/shared/runs.js.map +1 -1
  226. package/package.json +12 -12
  227. package/skills/nocobase-app-plugin-agents/references/runners.md +6 -0
@@ -0,0 +1,75 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Fragment, useState } from 'react';
3
+ import { useTranslation } from '@nocobase/i18n/client';
4
+ import { useMutation, useQueryClient } from '@tanstack/react-query';
5
+ import { AGENT_TOOLS } from '@nocobase/agent-protocol';
6
+ import { listedTools, toolEnabled, toolState, } from '../../../shared/runners.js';
7
+ import { quotaTargetLabel } from '../../../shared/model-catalog.js';
8
+ import { agentsKeys } from '../../api/keys.js';
9
+ import { useAgentsApi } from '../../hooks/use-agents-api.js';
10
+ import { useNotify } from '../../hooks/use-notify.js';
11
+ import { useMediaQuery } from '../../hooks/use-media-query.js';
12
+ import { Switch } from '../../components/ui/switch.js';
13
+ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '../../components/ui/table.js';
14
+ import { ToolStateTag } from './runner-cells.js';
15
+ import { ToolLimitInput } from './tool-slots-fields.js';
16
+ import { quotaTargets } from './quota-targets.js';
17
+ import { QuotaCell, QuotaClearConfirmation } from './quota.js';
18
+ /** One form state, rendered as full-width rows on desktop and one card per tool on phones. */
19
+ export function ToolTable({ runner, tools, switched, limits, invalid, editable, onSwitch, onLimits, now, }) {
20
+ const { t } = useTranslation();
21
+ const api = useAgentsApi();
22
+ const query = useQueryClient();
23
+ const notify = useNotify();
24
+ const phone = useMediaQuery('(max-width: 639px)');
25
+ const [selected, setSelected] = useState(null);
26
+ const clear = useMutation({
27
+ mutationFn: (target) => api.clearQuota(runner.id, target),
28
+ onSuccess: () => {
29
+ setSelected(null);
30
+ void query.invalidateQueries({ queryKey: agentsKeys.runners });
31
+ void query.invalidateQueries({ queryKey: agentsKeys.agents });
32
+ },
33
+ onError: (error) => notify.error(error),
34
+ });
35
+ const enabledTools = AGENT_TOOLS.filter((tool) => listedTools(runner).includes(tool)
36
+ ? switched.has(tool)
37
+ : toolEnabled(runner, tool));
38
+ const nameOf = (tool, target) => target
39
+ ? quotaTargetLabel(tool, tool === 'opencode' || tool === 'pi' ? 'provider' : 'model', target)
40
+ : t(`tools.${tool}`);
41
+ const confirming = (tool, target) => selected?.tool === tool && selected.model === target;
42
+ const confirm = () => {
43
+ if (selected)
44
+ clear.mutate({
45
+ tool: selected.tool,
46
+ scope: selected.scope ?? 'model',
47
+ target: selected.model,
48
+ window: selected.window ?? 'account',
49
+ });
50
+ };
51
+ const confirmation = (tool, target) => (_jsx(QuotaClearConfirmation, { name: nameOf(tool, target), pending: clear.isPending, onClear: confirm, onCancel: () => setSelected(null) }));
52
+ const quota = (tool, target = '') => (_jsx(QuotaCell, { runner: runner, tool: tool, target: target, now: now, onClear: setSelected }));
53
+ const limit = (tool) => (_jsx(ToolLimitInput, { id: `ag-runner-tool-slots-${tool}`, tool: tool, draft: limits, invalid: invalid, disabled: !editable, onChange: onLimits }));
54
+ const toggle = (tool) => (_jsx(Switch, { checked: enabledTools.includes(tool), disabled: !editable, "aria-label": t('runtimes.tool.enableLabel', {
55
+ tool: t(`tools.${tool}`),
56
+ name: runner.name,
57
+ }), onCheckedChange: (value) => onSwitch(tool, value) }));
58
+ const state = (tool) => (_jsx(ToolStateTag, { state: toolState({ enabledTools, tools: runner.tools }, tool) }));
59
+ if (!tools.length)
60
+ return (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('runtimes.noTools') }));
61
+ if (phone)
62
+ return (_jsx("div", { className: 'space-y-3', children: tools.map((tool) => (_jsxs("div", { "data-testid": `runner-tool-${tool}`, "data-enabled": enabledTools.includes(tool), className: 'min-w-0 overflow-hidden rounded-lg border', children: [_jsxs("div", { className: 'flex items-center gap-2 p-3', children: [_jsx("span", { className: 'min-w-0 font-medium', children: t(`tools.${tool}`) }), state(tool), _jsx("span", { className: 'ml-auto flex items-center', children: toggle(tool) })] }), _jsx("div", { className: confirming(tool, '')
63
+ ? 'border-t bg-destructive/5 p-3'
64
+ : 'border-t p-3', children: confirming(tool, '') ? confirmation(tool, '') : quota(tool) }), quotaTargets(runner, tool).map((target) => (_jsxs("div", { className: `border-t p-3 ${confirming(tool, target) ? 'bg-destructive/5' : 'bg-muted/30'}`, children: [_jsx("div", { className: 'mb-1 text-xs font-medium text-muted-foreground', children: nameOf(tool, target) }), confirming(tool, target)
65
+ ? confirmation(tool, target)
66
+ : quota(tool, target)] }, target))), _jsxs("div", { className: 'flex items-center justify-between gap-3 border-t px-3 py-2 text-xs', children: [_jsxs("label", { className: 'flex min-w-0 items-center gap-2', htmlFor: `ag-runner-tool-slots-${tool}`, children: [_jsx("span", { className: 'shrink-0 text-muted-foreground', children: t('runtimes.toolTable.limit') }), limit(tool)] }), _jsxs("span", { className: 'shrink-0 text-muted-foreground', children: [t('runtimes.toolTable.active'), ' ', _jsx("span", { className: 'text-foreground', children: runner.activeByTool?.[tool] ?? 0 })] })] })] }, tool))) }));
67
+ return (_jsx("div", { className: 'w-full rounded-lg border', children: _jsxs(Table, { className: 'table-fixed', children: [_jsxs("colgroup", { children: [_jsx("col", { className: 'w-32' }), _jsx("col", { className: 'w-12' }), _jsx("col", { className: 'w-24' }), _jsx("col", {}), _jsx("col", { className: 'w-28' }), _jsx("col", { className: 'w-20' })] }), _jsx(TableHeader, { children: _jsxs(TableRow, { children: [['tool', 'enabled', 'state'].map((key) => (_jsx(TableHead, { children: t(`runtimes.toolTable.${key}`) }, key))), _jsx(TableHead, { children: t('runtimes.quota.title') }), _jsx(TableHead, { children: t('runtimes.toolTable.limit') }), _jsx(TableHead, { className: 'text-right', children: t('runtimes.toolTable.active') })] }) }), _jsx(TableBody, { children: tools.map((tool) => (_jsxs(Fragment, { children: [_jsxs(TableRow, { "data-testid": `runner-tool-${tool}`, "data-enabled": enabledTools.includes(tool), className: confirming(tool, '') ? '[&>td]:bg-destructive/5' : undefined, children: [_jsxs(TableCell, { className: 'whitespace-normal', children: [_jsx("span", { className: enabledTools.includes(tool)
68
+ ? 'font-medium'
69
+ : 'font-medium text-muted-foreground', children: t(`tools.${tool}`) }), runner.tools.find((item) => item.kind === tool)?.version ? (_jsx("span", { title: runner.tools.find((item) => item.kind === tool)?.path, className: 'block text-xs text-muted-foreground', children: runner.tools.find((item) => item.kind === tool)?.version })) : null] }), _jsx(TableCell, { children: _jsx("div", { className: 'flex items-center', children: toggle(tool) }) }), _jsx(TableCell, { children: _jsx("div", { className: 'flex items-center', children: state(tool) }) }), confirming(tool, '') ? (_jsx(TableCell, { colSpan: 3, children: confirmation(tool, '') })) : (_jsxs(_Fragment, { children: [_jsx(TableCell, { children: _jsx("div", { className: 'flex items-center', children: quota(tool) }) }), _jsx(TableCell, { children: _jsx("div", { className: 'flex items-center', children: limit(tool) }) }), _jsx(TableCell, { className: 'text-right tabular-nums', children: _jsx("div", { className: 'flex items-center justify-end', children: runner.activeByTool?.[tool] ?? 0 }) })] }))] }), quotaTargets(runner, tool).map((target) => (_jsxs(TableRow, { className: confirming(tool, target)
70
+ ? '[&>td]:bg-destructive/5'
71
+ : 'bg-muted/30', children: [_jsx(TableCell, { colSpan: 3, className: 'pl-6 text-xs text-muted-foreground', children: _jsx("div", { className: 'flex items-center', children: nameOf(tool, target) }) }), _jsx(TableCell, { colSpan: 3, children: _jsx("div", { className: 'flex items-center', children: confirming(tool, target)
72
+ ? confirmation(tool, target)
73
+ : quota(tool, target) }) })] }, target)))] }, tool))) })] }) }));
74
+ }
75
+ //# sourceMappingURL=runner-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-tools.js","sourceRoot":"","sources":["../../../../client/pages/runtimes/runner-tools.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type ReactElement } from 'react';
2
+ import type { RunnerSummary } from '../../../shared/runners.js';
3
+ export declare function RunnerWorkspaces({ runner, }: {
4
+ readonly runner: RunnerSummary;
5
+ }): ReactElement;
6
+ //# sourceMappingURL=runner-workspaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-workspaces.d.ts","sourceRoot":"","sources":["../../../../client/pages/runtimes/runner-workspaces.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAGpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAQhE,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,GACP,EAAE;IACD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC,GAAG,YAAY,CAsFf"}
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { useTranslation } from '@nocobase/i18n/client';
4
+ import { useQuery } from '@tanstack/react-query';
5
+ import { agentsKeys } from '../../api/keys.js';
6
+ import { useAgentsApi } from '../../hooks/use-agents-api.js';
7
+ import { AgLoadError } from '../../components/ag-states.js';
8
+ import { Button } from '../../components/ui/button.js';
9
+ import { Spinner } from '../../components/ui/spinner.js';
10
+ import { WorkspaceDiagnostics } from './workspace-diagnostics.js';
11
+ export function RunnerWorkspaces({ runner, }) {
12
+ const { t } = useTranslation();
13
+ const api = useAgentsApi();
14
+ const [status, setStatus] = useState('all');
15
+ const [page, setPage] = useState(1);
16
+ const result = useQuery({
17
+ queryKey: [...agentsKeys.runners, 'workspaces', runner.id, status, page],
18
+ queryFn: () => api.runnerWorkspaces(runner.id, status, page),
19
+ });
20
+ const totals = result.data?.meta.usage ?? runner.workspaceUsage;
21
+ const filters = (_jsx("div", { className: 'flex flex-wrap gap-2', role: 'group', "aria-label": t('runtimes.quota.workspaces'), children: ['all', 'active', 'retained', 'ended'].map((value) => (_jsxs(Button, { type: 'button', size: 'sm', variant: status === value ? 'default' : 'outline', "aria-pressed": status === value, onClick: () => {
22
+ setStatus(value);
23
+ setPage(1);
24
+ }, children: [t(`runtimes.quota.filter.${value}`), ' ', _jsx("span", { "aria-hidden": true, className: 'text-xs', children: totals?.counts?.[value] ?? '—' })] }, value))) }));
25
+ return (_jsxs("div", { className: 'min-w-0 space-y-3', children: [_jsx(WorkspaceDiagnostics, { runner: {
26
+ ...runner,
27
+ workspaceUsage: totals
28
+ ? {
29
+ ...totals,
30
+ workspaces: result.data ? [...result.data.data] : [],
31
+ }
32
+ : null,
33
+ }, filters: filters, rowsPending: result.isPending }), result.isPending ? (_jsx(Spinner, {})) : result.isError ? (_jsx(AgLoadError, { title: t('runtimes.loadFailed'), error: result.error, onRetry: () => void result.refetch() })) : null, _jsxs("div", { className: 'flex gap-2', children: [_jsx(Button, { type: 'button', size: 'sm', variant: 'outline', disabled: page === 1 || result.isPending, onClick: () => setPage(page - 1), children: t('runtimes.quota.previous') }), _jsx(Button, { type: 'button', size: 'sm', variant: 'outline', disabled: !result.data ||
34
+ page * result.data.meta.pageSize >= result.data.meta.total ||
35
+ result.isPending, onClick: () => setPage(page + 1), children: t('runtimes.quota.next') })] })] }));
36
+ }
37
+ //# sourceMappingURL=runner-workspaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-workspaces.js","sourceRoot":"","sources":["../../../../client/pages/runtimes/runner-workspaces.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { toolsOverTotal } from '../../lib/tool-slots.js';
6
6
  /** One tool's limit: a short number field, empty for no limit of its own. */
7
7
  export function ToolLimitInput({ id, tool, draft, invalid, disabled = false, onChange, }) {
8
8
  const { t } = useTranslation();
9
- return (_jsx(Input, { id: id, inputMode: 'numeric', className: 'h-8 w-20', placeholder: t('runtimes.toolSlots.none'), "aria-label": t('runtimes.toolSlots.inputLabel', {
9
+ return (_jsx(Input, { id: id, inputMode: 'numeric', className: 'h-8 w-24 max-w-full', placeholder: t('runtimes.toolSlots.none'), "aria-label": t('runtimes.toolSlots.inputLabel', {
10
10
  tool: t(`tools.${tool}`),
11
11
  }), value: draft[tool] ?? '', disabled: disabled, "aria-invalid": invalid ? true : undefined, onChange: (event) => onChange({ ...draft, [tool]: event.target.value }) }));
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-slots-fields.js","sourceRoot":"","sources":["../../../../client/pages/runtimes/tool-slots-fields.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-slots-fields.js","sourceRoot":"","sources":["../../../../client/pages/runtimes/tool-slots-fields.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
- import type { ReactElement } from 'react';
1
+ import type { ReactElement, ReactNode } from 'react';
2
2
  import { type RunnerSummary, type RunnerListItem } from '../../../shared/runners.js';
3
3
  export declare function WorkspaceDiskTag({ runner, }: {
4
4
  readonly runner: RunnerListItem;
5
5
  }): ReactElement | null;
6
- export declare function WorkspaceDiagnostics({ runner, }: {
6
+ export declare function WorkspaceDiagnostics({ runner, filters, rowsPending, }: {
7
7
  readonly runner: RunnerSummary;
8
+ readonly filters?: ReactNode;
9
+ readonly rowsPending?: boolean;
8
10
  }): ReactElement;
9
11
  //# sourceMappingURL=workspace-diagnostics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-diagnostics.d.ts","sourceRoot":"","sources":["../../../../client/pages/runtimes/workspace-diagnostics.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,4BAA4B,CAAC;AAiCpC,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,GACP,EAAE;IACD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;CACjC,GAAG,YAAY,GAAG,IAAI,CAQtB;AAMD,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,GACP,EAAE;IACD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC,GAAG,YAAY,CA0If"}
1
+ {"version":3,"file":"workspace-diagnostics.d.ts","sourceRoot":"","sources":["../../../../client/pages/runtimes/workspace-diagnostics.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,4BAA4B,CAAC;AAoCpC,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,GACP,EAAE;IACD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;CACjC,GAAG,YAAY,GAAG,IAAI,CAQtB;AAQD,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,OAAO,EACP,WAAmB,GACpB,EAAE;IACD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC,GAAG,YAAY,CA4Lf"}
@@ -1,11 +1,12 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { compactDateTime } from '../../lib/format.js';
2
3
  import { useTranslation } from '@nocobase/i18n/client';
3
4
  import { WORKSPACE_REPORT_INTERVAL_MS } from '@nocobase/agent-protocol';
4
- import { runnerLowOnDisk, } from '../../../shared/runners.js';
5
+ import { runnerLowOnDisk, workspaceCategory, } from '../../../shared/runners.js';
5
6
  import { AgSection } from '../../components/ag-section.js';
6
7
  import { AgTag } from '../../components/ag-tag.js';
7
8
  import { Alert, AlertDescription, AlertTitle, } from '../../components/ui/alert.js';
8
- import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from '../../components/ui/collapsible.js';
9
+ import { Table, TableHeader, TableHead, TableBody, TableRow, TableCell, } from '../../components/ui/table.js';
9
10
  import { useFormatters } from '../../lib/format.js';
10
11
  function workspaceDiskState(runner, now = Date.now()) {
11
12
  const usage = runner.workspaceUsage;
@@ -26,43 +27,66 @@ export function WorkspaceDiskTag({ runner, }) {
26
27
  return low ? (_jsx(AgTag, { tone: 'amber', children: t(stale ? 'runtimes.workspaces.previousLow' : 'runtimes.workspaces.low') })) : null;
27
28
  }
28
29
  function bytes(value) {
29
- return `${(value / 1024 ** 3).toFixed(2)} GiB`;
30
+ const power = value >= 1024 ** 3 ? 3 : value >= 1024 ** 2 ? 2 : value >= 1024 ? 1 : 0;
31
+ return `${(value / 1024 ** power).toFixed(2)} ${['B', 'KiB', 'MiB', 'GiB'][power]}`;
30
32
  }
31
- export function WorkspaceDiagnostics({ runner, }) {
32
- const { t } = useTranslation();
33
+ export function WorkspaceDiagnostics({ runner, filters, rowsPending = false, }) {
34
+ const { t, i18n } = useTranslation();
33
35
  const format = useFormatters();
34
36
  const usage = runner.workspaceUsage;
35
37
  const { low, stale } = workspaceDiskState(runner);
36
- const summary = (_jsx("div", { className: 'flex flex-col gap-1 text-sm [overflow-wrap:anywhere]', children: !usage ? (_jsx("p", { children: t('runtimes.workspaces.notReported') })) : (_jsxs(_Fragment, { children: [!usage.disk ? (_jsx("p", { children: t('runtimes.workspaces.diskUnknown') })) : (_jsxs(_Fragment, { children: [_jsx("p", { children: t('runtimes.workspaces.free', {
37
- value: bytes(usage.disk.freeBytes),
38
- }) }), _jsx("p", { children: usage.disk.minFreeBytes === null
39
- ? t('runtimes.workspaces.thresholdOff')
40
- : t('runtimes.workspaces.threshold', {
41
- value: bytes(usage.disk.minFreeBytes),
42
- }) })] })), _jsx("p", { children: t('runtimes.workspaces.reportedAt', {
43
- time: format.dateTime(usage.diskMeasuredAt ?? usage.measuredAt),
44
- }) }), low && !stale ? _jsx("p", { children: t('runtimes.workspaces.paused') }) : null, stale ? _jsx("p", { children: t('runtimes.workspaces.stale') }) : null] })) }));
45
- return (_jsxs(_Fragment, { children: [low ? (_jsxs(Alert, { children: [_jsx(AlertTitle, { children: t('runtimes.workspaces.low') }), _jsx(AlertDescription, { children: summary })] })) : (summary), runner.canSeeMachine === true ? (_jsx(AgSection, { id: 'workspace-diagnostics', title: t('runtimes.workspaces.title'), children: !usage || !usage.measuredAt ? (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('runtimes.workspaces.notReported') })) : usage.workspaces.length === 0 ? (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('runtimes.workspaces.empty') })) : (usage.workspaces.map((workspace) => (_jsxs(Collapsible, { className: 'min-w-0 rounded-lg border p-2', children: [_jsxs(CollapsibleTrigger, { className: 'w-full text-left text-sm whitespace-normal [overflow-wrap:anywhere] focus-visible:outline-2', children: [workspace.subjectKey?.split('.readonly-')[0] ??
46
- workspace.subjectId ??
47
- workspace.workDir.split('/').pop(), ' ', "\u00B7", ' ', t(workspace.settled === true
48
- ? 'runtimes.workspaces.ended'
49
- : workspace.settled === false
50
- ? 'runtimes.workspaces.active'
51
- : 'runtimes.workspaces.unknown')] }), _jsxs(CollapsibleContent, { className: 'space-y-2 pt-2 text-sm text-muted-foreground [overflow-wrap:anywhere]', children: [_jsx("p", { children: workspace.workDir }), _jsx("p", { children: t(workspace.workDir.includes('.readonly-')
52
- ? 'runtimes.workspaces.readOnly'
53
- : 'runtimes.workspaces.working') }), workspace.sizeBytes === undefined ? null : (_jsx("p", { children: t('runtimes.workspaces.size', {
54
- value: bytes(workspace.sizeBytes),
55
- }) })), _jsx("p", { children: t(workspace.workDir.includes('.readonly-')
56
- ? 'runtimes.workspaces.notApplicable'
57
- : workspace.unpushed
58
- ? 'runtimes.workspaces.unpushed'
59
- : 'runtimes.workspaces.pushed') }), _jsx("p", { children: workspace.decision
60
- ? t(`runtimes.workspaces.decision.${workspace.decision.reason}`)
61
- : t('runtimes.workspaces.oldRunner') }), _jsx("p", { children: workspace.cleanup
62
- ? t(`runtimes.workspaces.cleanup.${workspace.cleanup.reason}`)
63
- : t('runtimes.workspaces.noCleanup') }), workspace.cleanup?.reason === 'allowed' &&
64
- workspace.cleanup.discardsUntracked ? (_jsx("p", { children: t('runtimes.workspaces.discardsUntracked') })) : null, _jsx("p", { children: t('runtimes.workspaces.reportedAt', {
65
- time: format.dateTime(usage.measuredAt),
66
- }) })] })] }, workspace.workDir)))) })) : null] }));
38
+ const summary = (_jsxs("div", { className: `grid min-w-0 gap-2 text-sm sm:grid-cols-2 [overflow-wrap:anywhere] ${low ? '' : 'rounded-lg border p-3'}`, children: [usage?.totalBytes !== undefined ? (_jsx("p", { children: t('runtimes.quota.workspaceSize', {
39
+ value: `${usage.sizeUnknownCount ? '≥ ' : ''}${bytes(usage.totalBytes)}`,
40
+ }) })) : null, !usage ? (_jsx("p", { children: t('runtimes.workspaces.notReported') })) : (_jsxs(_Fragment, { children: [!usage.disk ? (_jsx("p", { children: t('runtimes.workspaces.diskUnknown') })) : (_jsxs(_Fragment, { children: [_jsx("p", { children: t('runtimes.workspaces.free', {
41
+ value: bytes(usage.disk.freeBytes),
42
+ }) }), _jsx("p", { children: usage.disk.minFreeBytes === null
43
+ ? t('runtimes.workspaces.thresholdOff')
44
+ : t('runtimes.workspaces.threshold', {
45
+ value: bytes(usage.disk.minFreeBytes),
46
+ }) }), _jsxs("div", { className: 'relative h-1.5 rounded-full bg-muted sm:col-span-2', "aria-hidden": 'true', children: [_jsx("div", { className: 'h-full bg-primary', style: {
47
+ width: `${Math.max(0, Math.min(100, (1 - usage.disk.freeBytes / Math.max(1, usage.disk.totalBytes)) * 100))}%`,
48
+ } }), usage.disk.minFreeBytes !== null ? (_jsx("span", { "data-testid": 'minimum-free-marker', className: 'absolute -top-1 h-3.5 w-0.5 bg-amber-600', style: {
49
+ left: `${Math.max(0, Math.min(100, (1 - usage.disk.minFreeBytes / Math.max(1, usage.disk.totalBytes)) * 100))}%`,
50
+ } })) : null] })] })), _jsx("p", { className: 'text-xs text-muted-foreground sm:col-span-2', children: t('runtimes.workspaces.reportedAt', {
51
+ time: usage.diskMeasuredAt || usage.measuredAt
52
+ ? compactDateTime((usage.diskMeasuredAt ?? usage.measuredAt), i18n.language)
53
+ : '—',
54
+ }) }), low && !stale ? _jsx("p", { children: t('runtimes.workspaces.paused') }) : null, stale ? _jsx("p", { children: t('runtimes.workspaces.stale') }) : null] }))] }));
55
+ return (_jsxs(_Fragment, { children: [low ? (_jsxs(Alert, { className: 'border-amber-500/30 bg-amber-500/10 text-amber-800 dark:text-amber-200', children: [_jsx(AlertTitle, { children: t('runtimes.workspaces.low') }), _jsx(AlertDescription, { children: summary })] })) : (summary), filters, runner.canSeeMachine === true && !rowsPending ? (_jsx(AgSection, { className: 'max-w-none min-w-0', id: 'workspace-diagnostics', title: t('runtimes.workspaces.title'), children: !usage || !usage.measuredAt ? (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('runtimes.workspaces.notReported') })) : usage.workspaces.length === 0 ? (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('runtimes.workspaces.empty') })) : (_jsxs(Table, { className: 'table-fixed min-w-[740px] sm:min-w-0', children: [_jsxs("colgroup", { children: [_jsx("col", { className: 'w-[24%]' }), _jsx("col", { className: 'w-[12%]' }), _jsx("col", { className: 'w-[12%]' }), _jsx("col", { className: 'w-[14%]' }), _jsx("col", { className: 'w-[24%]' }), _jsx("col", { className: 'w-[14%]' })] }), _jsx(TableHeader, { children: _jsx(TableRow, { children: [
56
+ 'directory',
57
+ 'type',
58
+ 'size',
59
+ 'push',
60
+ 'status',
61
+ 'lastUsed',
62
+ ].map((key) => (_jsx(TableHead, { children: t(`runtimes.quota.columns.${key}`) }, key))) }) }), _jsx(TableBody, { children: usage.workspaces.map((workspace) => (_jsxs(TableRow, { children: [_jsxs(TableCell, { className: 'min-w-0 overflow-hidden', children: [_jsx("div", { className: 'truncate', children: workspace.subjectKey ??
63
+ workspace.subjectId ??
64
+ workspace.workDir.split('/').pop() }), _jsx("div", { title: workspace.workDir, className: 'truncate font-mono text-xs text-muted-foreground', children: workspace.workDir })] }), _jsx(TableCell, { children: t(workspace.workDir.includes('.readonly-')
65
+ ? 'runtimes.quota.readOnly'
66
+ : 'runtimes.quota.working') }), _jsx(TableCell, { children: workspace.sizeBytes === undefined
67
+ ? '—'
68
+ : bytes(workspace.sizeBytes) }), _jsx(TableCell, { children: _jsx(AgTag, { title: workspace.unpushed
69
+ ? t('runtimes.workspaces.unpushed')
70
+ : undefined, tone: workspace.unpushed ? 'amber' : 'green', children: t(workspace.unpushed
71
+ ? 'runtimes.quota.unpushed'
72
+ : 'runtimes.quota.clean') }) }), _jsx(TableCell, { className: 'min-w-0 overflow-hidden', children: _jsx(WorkspaceStatus, { workspace: workspace }) }), _jsx(TableCell, { className: 'whitespace-nowrap text-xs text-muted-foreground', title: format.dateTime(workspace.lastUsedAt), children: format.relative(workspace.lastUsedAt) })] }, workspace.workDir))) })] })) })) : null] }));
73
+ }
74
+ function WorkspaceStatus({ workspace, }) {
75
+ const { t } = useTranslation();
76
+ const category = workspaceCategory(workspace);
77
+ const reason = workspace.cleanup?.reason ??
78
+ workspace.decision?.reason ??
79
+ (workspace.unpushed ? 'unpushed' : 'unknown');
80
+ const key = category === 'active'
81
+ ? 'active'
82
+ : category === 'ended'
83
+ ? workspace.cleanup?.reason === 'allowed'
84
+ ? 'ended'
85
+ : 'checks'
86
+ : reason;
87
+ const text = t(`runtimes.quota.workspaceStatus.${key}`, {
88
+ defaultValue: t('runtimes.quota.workspaceStatus.unknown'),
89
+ });
90
+ return (_jsx("span", { className: `block truncate text-xs ${category === 'active' ? 'text-blue-700 dark:text-blue-300' : category === 'ended' ? 'text-green-700 dark:text-green-300' : 'text-amber-700 dark:text-amber-300'}`, title: text, children: text }));
67
91
  }
68
92
  //# sourceMappingURL=workspace-diagnostics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-diagnostics.js","sourceRoot":"","sources":["../../../../client/pages/runtimes/workspace-diagnostics.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-diagnostics.js","sourceRoot":"","sources":["../../../../client/pages/runtimes/workspace-diagnostics.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"subject-runs.d.ts","sourceRoot":"","sources":["../../../client/runs/subject-runs.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAsChD,8CAA8C;AAC9C,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAI1D;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,OAAO,GACtB,SAAS,UAAU,EAAE,CAYvB;AAED,qHAAqH;AACrH,wBAAgB,kBAAkB,CAAC,OAAO,UAAO,GAAG;IAClD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACrD,CAmBA;AAED,wBAAgB,aAAa,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAElE"}
1
+ {"version":3,"file":"subject-runs.d.ts","sourceRoot":"","sources":["../../../client/runs/subject-runs.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAgDhD,8CAA8C;AAC9C,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAI1D;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,OAAO,GACtB,SAAS,UAAU,EAAE,CAYvB;AAED,qHAAqH;AACrH,wBAAgB,kBAAkB,CAAC,OAAO,UAAO,GAAG;IAClD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACrD,CAmBA;AAED,wBAAgB,aAAa,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAElE"}
@@ -3,8 +3,9 @@
3
3
  * open and when the page says it learned of new work (`refreshSignal`), so the panel, the live badge and the activity
4
4
  * rows agree.
5
5
  */
6
+ import { createRealtimeRefresh, refreshRealtimeQueries, } from '@nocobase/app-client';
6
7
  import { useQuery } from '@tanstack/react-query';
7
- import { useEffect, useMemo } from 'react';
8
+ import { useEffect, useMemo, useRef } from 'react';
8
9
  import { agentsKeys } from '../api/keys.js';
9
10
  import { useAgentsApi } from '../hooks/use-agents-api.js';
10
11
  import { useAgentText } from '../hooks/use-vocabulary.js';
@@ -19,11 +20,18 @@ function subjectRunsOptions(api, subjectKind, subjectId) {
19
20
  };
20
21
  }
21
22
  function useRefresh(client, subjectKind, subjectId, refreshSignal) {
23
+ const scheduledRef = useRef(undefined);
22
24
  useEffect(() => {
23
- if (refreshSignal === undefined)
24
- return;
25
- // Reuse an in-flight request: repeated discovery signals must not discard slow responses forever.
26
- void client.invalidateQueries({ queryKey: agentsKeys.runs(subjectKind, subjectId) }, { cancelRefetch: false });
25
+ const refresh = createRealtimeRefresh((signal) => refreshRealtimeQueries(client, { queryKey: agentsKeys.runs(subjectKind, subjectId) }, signal));
26
+ scheduledRef.current = refresh;
27
+ return () => {
28
+ refresh.close();
29
+ scheduledRef.current = undefined;
30
+ };
31
+ }, [client, subjectKind, subjectId]);
32
+ useEffect(() => {
33
+ if (refreshSignal !== undefined)
34
+ scheduledRef.current?.request();
27
35
  }, [refreshSignal, client, subjectKind, subjectId]);
28
36
  }
29
37
  const NONE = [];
@@ -1 +1 @@
1
- {"version":3,"file":"subject-runs.js","sourceRoot":"","sources":["../../../client/runs/subject-runs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subject-runs.js","sourceRoot":"","sources":["../../../client/runs/subject-runs.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export interface RunEventsState {
8
8
  /** How many events one request asks for; a full page means there may be more. */
9
9
  export declare const EVENT_PAGE = 500;
10
10
  /** How often an open run's transcript is fetched when no realtime announcement comes (other instances, lost signals). */
11
- export declare const EVENT_POLL_MS = 5000;
11
+ export declare const EVENT_POLL_MS = 60000;
12
12
  /** Merges a batch into the list by `seq`; a repeated delivery is ignored. */
13
13
  export declare function mergeRunEvents(current: readonly RunEvent[], batch: readonly RunEvent[]): readonly RunEvent[];
14
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"use-run-events.d.ts","sourceRoot":"","sources":["../../../client/runs/use-run-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,iFAAiF;AACjF,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B,yHAAyH;AACzH,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC,6EAA6E;AAC7E,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,QAAQ,EAAE,EAC5B,KAAK,EAAE,SAAS,QAAQ,EAAE,GACzB,SAAS,QAAQ,EAAE,CAKrB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,cAAc,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAA;CAAE,CAyDrD"}
1
+ {"version":3,"file":"use-run-events.d.ts","sourceRoot":"","sources":["../../../client/runs/use-run-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,iFAAiF;AACjF,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B,yHAAyH;AACzH,eAAO,MAAM,aAAa,QAAS,CAAC;AAEpC,6EAA6E;AAC7E,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,QAAQ,EAAE,EAC5B,KAAK,EAAE,SAAS,QAAQ,EAAE,GACzB,SAAS,QAAQ,EAAE,CAKrB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,cAAc,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAA;CAAE,CA2DrD"}
@@ -2,7 +2,7 @@ import { useCallback, useEffect, useRef, useState } from 'react';
2
2
  /** How many events one request asks for; a full page means there may be more. */
3
3
  export const EVENT_PAGE = 500;
4
4
  /** How often an open run's transcript is fetched when no realtime announcement comes (other instances, lost signals). */
5
- export const EVENT_POLL_MS = 5000;
5
+ export const EVENT_POLL_MS = 60_000;
6
6
  /** Merges a batch into the list by `seq`; a repeated delivery is ignored. */
7
7
  export function mergeRunEvents(current, batch) {
8
8
  if (batch.length === 0)
@@ -72,7 +72,10 @@ export function useRunEvents(api, runId, polling) {
72
72
  useEffect(() => {
73
73
  if (!polling)
74
74
  return undefined;
75
- const timer = window.setInterval(fetchMore, EVENT_POLL_MS);
75
+ const timer = window.setInterval(() => {
76
+ if (!document.hidden)
77
+ fetchMore();
78
+ }, EVENT_POLL_MS);
76
79
  return () => window.clearInterval(timer);
77
80
  }, [polling, fetchMore]);
78
81
  return { ...state, fetchMore };
@@ -1 +1 @@
1
- {"version":3,"file":"use-run-events.js","sourceRoot":"","sources":["../../../client/runs/use-run-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-run-events.js","sourceRoot":"","sources":["../../../client/runs/use-run-events.ts"],"names":[],"mappings":"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"}
@@ -93,6 +93,10 @@
93
93
  "sourceChecksum": "4b143053f57ed00f41ecc79695cc61cd2d00bc09489f3c8ba55fef0c2d9b9120",
94
94
  "artifactChecksum": "d5fa2f71d5fc06a11c7fa00caf9b4f4e39a394b4284c7b2f3459287b39d408d9"
95
95
  },
96
+ "202610170001_ag_runner_quota.js": {
97
+ "sourceChecksum": "c3cb634cb2e9d1d053f12b66ba04562f0a781d697a31c7ed47dbee63c5c3aea0",
98
+ "artifactChecksum": "e200ae5b1e35538da82d873eb239de5f76ed439f65ba1a9bc003cb8ef689cb0a"
99
+ },
96
100
  "202610240020_ag_runner_agents.js": {
97
101
  "sourceChecksum": "28dbea3fadb104d3559e33027d66f02d3daf6e7046ca68c02fe723bc020d2536",
98
102
  "artifactChecksum": "af42e5a76682b9aaea295c5879309c98c106906aea3431b4324a9877a0528ede"
@@ -0,0 +1,4 @@
1
+ import { type MigrationDefinition } from '@nocobase/db';
2
+ declare const migration: MigrationDefinition;
3
+ export default migration;
4
+ //# sourceMappingURL=202610170001_ag_runner_quota.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"202610170001_ag_runner_quota.d.ts","sourceRoot":"","sources":["../../../database/migrations/202610170001_ag_runner_quota.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACzE,QAAA,MAAM,SAAS,EAAE,mBAcf,CAAC;AACH,eAAe,SAAS,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { defineMigration } from '@nocobase/db';
2
+ const migration = defineMigration({
3
+ name: '202610170001_ag_runner_quota',
4
+ async up({ builder }) {
5
+ await builder.alterCollection('agRunners', (collection) => {
6
+ collection.json('quotaUsage').nullable();
7
+ collection.integer('quotaRevision').notNull().defaultTo(0);
8
+ });
9
+ },
10
+ async down({ builder }) {
11
+ await builder.alterCollection('agRunners', (collection) => {
12
+ collection.dropField('quotaUsage');
13
+ collection.dropField('quotaRevision');
14
+ });
15
+ },
16
+ });
17
+ export default migration;
18
+ //# sourceMappingURL=202610170001_ag_runner_quota.js.map
19
+ // @nocobase/task-manifest v1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"202610170001_ag_runner_quota.js","sourceRoot":"","sources":["../../../database/migrations/202610170001_ag_runner_quota.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA4B,MAAM,cAAc,CAAC;AACzE,MAAM,SAAS,GAAwB,eAAe,CAAC;IACrD,IAAI,EAAE,8BAA8B;IACpC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE;QAClB,MAAM,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE;YACxD,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;QACpB,MAAM,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE;YACxD,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACnC,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AACH,eAAe,SAAS,CAAC"}
package/dist/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@nocobase/app-plugin-agents",
3
3
  "displayName": "Agents",
4
4
  "description": "Agents for NocoBase applications: agents, the model services online agents call, their runs and conversations, and the runners people connect to run them (registration, the long-poll claim, slots, the sweeper, build jobs, and the runner and CLI tarballs the application serves).",
5
- "version": "0.1.0-beta.12",
5
+ "version": "0.1.0-beta.14",
6
6
  "type": "module",
7
7
  "prettier": "@nocobase/dev-config/prettier",
8
8
  "engines": {
@@ -1 +1 @@
1
- {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../server/composition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../server/composition.ts"],"names":[],"mappings":"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"}