@nocobase/app-plugin-agents 0.1.0-beta.11 → 0.1.0-beta.13
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.
- package/CHANGELOG.md +74 -0
- package/README.md +22 -2
- package/dist/client/api/client.d.ts +9 -4
- package/dist/client/api/client.d.ts.map +1 -1
- package/dist/client/api/client.js +9 -0
- package/dist/client/api/client.js.map +1 -1
- package/dist/client/api/keys.d.ts +3 -0
- package/dist/client/api/keys.d.ts.map +1 -1
- package/dist/client/api/keys.js +3 -0
- package/dist/client/api/keys.js.map +1 -1
- package/dist/client/api/runners.d.ts +8 -4
- package/dist/client/api/runners.d.ts.map +1 -1
- package/dist/client/api/runners.js +9 -0
- package/dist/client/api/runners.js.map +1 -1
- package/dist/client/chat/keys.d.ts.map +1 -1
- package/dist/client/chat/keys.js +2 -1
- package/dist/client/chat/keys.js.map +1 -1
- package/dist/client/chat/use-chat.d.ts.map +1 -1
- package/dist/client/chat/use-chat.js +8 -1
- package/dist/client/chat/use-chat.js.map +1 -1
- package/dist/client/components/quota-status.d.ts +16 -0
- package/dist/client/components/quota-status.d.ts.map +1 -0
- package/dist/client/components/quota-status.js +39 -0
- package/dist/client/components/quota-status.js.map +1 -0
- package/dist/client/components/runners-refresh.d.ts.map +1 -1
- package/dist/client/components/runners-refresh.js +1 -0
- package/dist/client/components/runners-refresh.js.map +1 -1
- package/dist/client/components/variables/variable-dialogs.d.ts.map +1 -1
- package/dist/client/components/variables/variable-dialogs.js +7 -7
- package/dist/client/components/variables/variable-dialogs.js.map +1 -1
- package/dist/client/config.d.ts +2 -0
- package/dist/client/config.d.ts.map +1 -1
- package/dist/client/config.js +2 -0
- package/dist/client/config.js.map +1 -1
- package/dist/client/hooks/use-quota-expiry.d.ts +7 -0
- package/dist/client/hooks/use-quota-expiry.d.ts.map +1 -0
- package/dist/client/hooks/use-quota-expiry.js +92 -0
- package/dist/client/hooks/use-quota-expiry.js.map +1 -0
- package/dist/client/kit.d.ts +5 -0
- package/dist/client/kit.d.ts.map +1 -1
- package/dist/client/kit.js +25 -0
- package/dist/client/kit.js.map +1 -1
- package/dist/client/lib/agents.d.ts +1 -1
- package/dist/client/lib/agents.d.ts.map +1 -1
- package/dist/client/lib/agents.js +2 -1
- package/dist/client/lib/agents.js.map +1 -1
- package/dist/client/lib/format.d.ts +3 -1
- package/dist/client/lib/format.d.ts.map +1 -1
- package/dist/client/lib/format.js +25 -0
- package/dist/client/lib/format.js.map +1 -1
- package/dist/client/lib/skill-settings-context.d.ts +9 -0
- package/dist/client/lib/skill-settings-context.d.ts.map +1 -0
- package/dist/client/lib/skill-settings-context.js +4 -0
- package/dist/client/lib/skill-settings-context.js.map +1 -0
- package/dist/client/lib/skill-settings.d.ts +12 -0
- package/dist/client/lib/skill-settings.d.ts.map +1 -0
- package/dist/client/lib/skill-settings.js +37 -0
- package/dist/client/lib/skill-settings.js.map +1 -0
- package/dist/client/locales/en-US.d.ts +1 -0
- package/dist/client/locales/en-US.d.ts.map +1 -1
- package/dist/client/locales/en-US.js +1 -0
- package/dist/client/locales/en-US.js.map +1 -1
- package/dist/client/locales/runtimes.en-US.d.ts +72 -0
- package/dist/client/locales/runtimes.en-US.d.ts.map +1 -1
- package/dist/client/locales/runtimes.en-US.js +73 -1
- package/dist/client/locales/runtimes.en-US.js.map +1 -1
- package/dist/client/locales/runtimes.zh-CN.d.ts.map +1 -1
- package/dist/client/locales/runtimes.zh-CN.js +72 -0
- package/dist/client/locales/runtimes.zh-CN.js.map +1 -1
- package/dist/client/locales/skills.en-US.d.ts +6 -0
- package/dist/client/locales/skills.en-US.d.ts.map +1 -1
- package/dist/client/locales/skills.en-US.js +6 -0
- package/dist/client/locales/skills.en-US.js.map +1 -1
- package/dist/client/locales/skills.zh-CN.d.ts.map +1 -1
- package/dist/client/locales/skills.zh-CN.js +6 -0
- package/dist/client/locales/skills.zh-CN.js.map +1 -1
- package/dist/client/locales/zh-CN.d.ts.map +1 -1
- package/dist/client/locales/zh-CN.js +1 -0
- package/dist/client/locales/zh-CN.js.map +1 -1
- package/dist/client/pages/agents/agent-dialog.d.ts.map +1 -1
- package/dist/client/pages/agents/agent-dialog.js +4 -4
- package/dist/client/pages/agents/agent-dialog.js.map +1 -1
- package/dist/client/pages/agents/runner-agents.d.ts.map +1 -1
- package/dist/client/pages/agents/runner-agents.js +23 -10
- package/dist/client/pages/agents/runner-agents.js.map +1 -1
- package/dist/client/pages/runtimes/connect.js.map +1 -1
- package/dist/client/pages/runtimes/index.d.ts.map +1 -1
- package/dist/client/pages/runtimes/index.js +1 -1
- package/dist/client/pages/runtimes/index.js.map +1 -1
- package/dist/client/pages/runtimes/quota-targets.d.ts +4 -0
- package/dist/client/pages/runtimes/quota-targets.d.ts.map +1 -0
- package/dist/client/pages/runtimes/quota-targets.js +18 -0
- package/dist/client/pages/runtimes/quota-targets.js.map +1 -0
- package/dist/client/pages/runtimes/quota.d.ts +17 -0
- package/dist/client/pages/runtimes/quota.d.ts.map +1 -0
- package/dist/client/pages/runtimes/quota.js +48 -0
- package/dist/client/pages/runtimes/quota.js.map +1 -0
- package/dist/client/pages/runtimes/runner-cells.d.ts +11 -4
- package/dist/client/pages/runtimes/runner-cells.d.ts.map +1 -1
- package/dist/client/pages/runtimes/runner-cells.js +2 -2
- package/dist/client/pages/runtimes/runner-cells.js.map +1 -1
- package/dist/client/pages/runtimes/runner-overview.d.ts +9 -0
- package/dist/client/pages/runtimes/runner-overview.d.ts.map +1 -0
- package/dist/client/pages/runtimes/runner-overview.js +109 -0
- package/dist/client/pages/runtimes/runner-overview.js.map +1 -0
- package/dist/client/pages/runtimes/runner-runs.d.ts +5 -0
- package/dist/client/pages/runtimes/runner-runs.d.ts.map +1 -0
- package/dist/client/pages/runtimes/runner-runs.js +35 -0
- package/dist/client/pages/runtimes/runner-runs.js.map +1 -0
- package/dist/client/pages/runtimes/runner-sheet.d.ts +2 -3
- package/dist/client/pages/runtimes/runner-sheet.d.ts.map +1 -1
- package/dist/client/pages/runtimes/runner-sheet.js +43 -171
- package/dist/client/pages/runtimes/runner-sheet.js.map +1 -1
- package/dist/client/pages/runtimes/runner-tools.d.ts +17 -0
- package/dist/client/pages/runtimes/runner-tools.d.ts.map +1 -0
- package/dist/client/pages/runtimes/runner-tools.js +75 -0
- package/dist/client/pages/runtimes/runner-tools.js.map +1 -0
- package/dist/client/pages/runtimes/runner-workspaces.d.ts +6 -0
- package/dist/client/pages/runtimes/runner-workspaces.d.ts.map +1 -0
- package/dist/client/pages/runtimes/runner-workspaces.js +37 -0
- package/dist/client/pages/runtimes/runner-workspaces.js.map +1 -0
- package/dist/client/pages/runtimes/tool-slots-fields.js +1 -1
- package/dist/client/pages/runtimes/tool-slots-fields.js.map +1 -1
- package/dist/client/pages/runtimes/workspace-diagnostics.d.ts +6 -4
- package/dist/client/pages/runtimes/workspace-diagnostics.d.ts.map +1 -1
- package/dist/client/pages/runtimes/workspace-diagnostics.js +61 -37
- package/dist/client/pages/runtimes/workspace-diagnostics.js.map +1 -1
- package/dist/client/pages/skills/detail/index.d.ts.map +1 -1
- package/dist/client/pages/skills/detail/index.js +11 -12
- package/dist/client/pages/skills/detail/index.js.map +1 -1
- package/dist/database/migrations/.manifest.json +4 -0
- package/dist/database/migrations/202610170001_ag_runner_quota.d.ts +4 -0
- package/dist/database/migrations/202610170001_ag_runner_quota.d.ts.map +1 -0
- package/dist/database/migrations/202610170001_ag_runner_quota.js +19 -0
- package/dist/database/migrations/202610170001_ag_runner_quota.js.map +1 -0
- package/dist/package.json +1 -1
- package/dist/server/cli/surface.d.ts.map +1 -1
- package/dist/server/cli/surface.js +4 -1
- package/dist/server/cli/surface.js.map +1 -1
- package/dist/server/composition.d.ts +2 -0
- package/dist/server/composition.d.ts.map +1 -1
- package/dist/server/composition.js +15 -4
- package/dist/server/composition.js.map +1 -1
- package/dist/server/core/agents/agent.service.d.ts.map +1 -1
- package/dist/server/core/agents/agent.service.js +5 -1
- package/dist/server/core/agents/agent.service.js.map +1 -1
- package/dist/server/core/agents/agent.store.d.ts +2 -0
- package/dist/server/core/agents/agent.store.d.ts.map +1 -1
- package/dist/server/core/agents/agent.store.js +10 -0
- package/dist/server/core/agents/agent.store.js.map +1 -1
- package/dist/server/core/agents/agent.views.d.ts.map +1 -1
- package/dist/server/core/agents/agent.views.js +2 -0
- package/dist/server/core/agents/agent.views.js.map +1 -1
- package/dist/server/core/agents/index.d.ts +1 -1
- package/dist/server/core/agents/index.d.ts.map +1 -1
- package/dist/server/core/agents/index.js +1 -1
- package/dist/server/core/agents/index.js.map +1 -1
- package/dist/server/core/brief/brief.js +2 -2
- package/dist/server/core/brief/brief.js.map +1 -1
- package/dist/server/core/callers/index.d.ts +9 -0
- package/dist/server/core/callers/index.d.ts.map +1 -1
- package/dist/server/core/callers/index.js +15 -0
- package/dist/server/core/callers/index.js.map +1 -1
- package/dist/server/core/conversations/chat-settings.d.ts.map +1 -1
- package/dist/server/core/conversations/chat-settings.js +12 -2
- package/dist/server/core/conversations/chat-settings.js.map +1 -1
- package/dist/server/core/conversations/conversation.service.d.ts +1 -1
- package/dist/server/core/conversations/conversation.service.d.ts.map +1 -1
- package/dist/server/core/conversations/conversation.service.js +32 -4
- package/dist/server/core/conversations/conversation.service.js.map +1 -1
- package/dist/server/core/reports/model-usage.d.ts.map +1 -1
- package/dist/server/core/reports/model-usage.js +42 -44
- package/dist/server/core/reports/model-usage.js.map +1 -1
- package/dist/server/core/reports/prices.d.ts.map +1 -1
- package/dist/server/core/reports/prices.js +29 -5
- package/dist/server/core/reports/prices.js.map +1 -1
- package/dist/server/core/reports/report.service.d.ts +4 -2
- package/dist/server/core/reports/report.service.d.ts.map +1 -1
- package/dist/server/core/reports/report.service.js +147 -68
- package/dist/server/core/reports/report.service.js.map +1 -1
- package/dist/server/core/runs/availability.d.ts +5 -1
- package/dist/server/core/runs/availability.d.ts.map +1 -1
- package/dist/server/core/runs/availability.js +8 -2
- package/dist/server/core/runs/availability.js.map +1 -1
- package/dist/server/core/runs/claim.d.ts +7 -48
- package/dist/server/core/runs/claim.d.ts.map +1 -1
- package/dist/server/core/runs/claim.js +93 -71
- package/dist/server/core/runs/claim.js.map +1 -1
- package/dist/server/core/runs/eligibility.d.ts +11 -1
- package/dist/server/core/runs/eligibility.d.ts.map +1 -1
- package/dist/server/core/runs/eligibility.js +38 -7
- package/dist/server/core/runs/eligibility.js.map +1 -1
- package/dist/server/core/runs/execution-view.d.ts +8 -0
- package/dist/server/core/runs/execution-view.d.ts.map +1 -1
- package/dist/server/core/runs/execution-view.js +9 -0
- package/dist/server/core/runs/execution-view.js.map +1 -1
- package/dist/server/core/runs/execution.d.ts +1 -1
- package/dist/server/core/runs/execution.d.ts.map +1 -1
- package/dist/server/core/runs/execution.js +8 -2
- package/dist/server/core/runs/execution.js.map +1 -1
- package/dist/server/core/runs/index.d.ts +3 -3
- package/dist/server/core/runs/index.d.ts.map +1 -1
- package/dist/server/core/runs/index.js +3 -3
- package/dist/server/core/runs/index.js.map +1 -1
- package/dist/server/core/runs/lifecycle.d.ts +9 -0
- package/dist/server/core/runs/lifecycle.d.ts.map +1 -1
- package/dist/server/core/runs/lifecycle.js +102 -18
- package/dist/server/core/runs/lifecycle.js.map +1 -1
- package/dist/server/core/runs/policy.d.ts +9 -2
- package/dist/server/core/runs/policy.d.ts.map +1 -1
- package/dist/server/core/runs/policy.js +17 -8
- package/dist/server/core/runs/policy.js.map +1 -1
- package/dist/server/core/runs/run.service.d.ts +11 -1
- package/dist/server/core/runs/run.service.d.ts.map +1 -1
- package/dist/server/core/runs/run.service.js +32 -2
- package/dist/server/core/runs/run.service.js.map +1 -1
- package/dist/server/core/runs/run.store.d.ts +5 -0
- package/dist/server/core/runs/run.store.d.ts.map +1 -1
- package/dist/server/core/runs/run.store.js +35 -11
- package/dist/server/core/runs/run.store.js.map +1 -1
- package/dist/server/core/runs/runner-view.d.ts +11 -1
- package/dist/server/core/runs/runner-view.d.ts.map +1 -1
- package/dist/server/core/runs/runner-view.js +51 -6
- package/dist/server/core/runs/runner-view.js.map +1 -1
- package/dist/server/core/runs/sweeper.d.ts.map +1 -1
- package/dist/server/core/runs/sweeper.js +12 -8
- package/dist/server/core/runs/sweeper.js.map +1 -1
- package/dist/server/core/runs/transitions.d.ts +5 -1
- package/dist/server/core/runs/transitions.d.ts.map +1 -1
- package/dist/server/core/runs/transitions.js +31 -11
- package/dist/server/core/runs/transitions.js.map +1 -1
- package/dist/server/core/runs/workload.d.ts +17 -6
- package/dist/server/core/runs/workload.d.ts.map +1 -1
- package/dist/server/core/runs/workload.js +186 -129
- package/dist/server/core/runs/workload.js.map +1 -1
- package/dist/server/core/skills/skill.service.d.ts.map +1 -1
- package/dist/server/core/skills/skill.service.js +44 -8
- package/dist/server/core/skills/skill.service.js.map +1 -1
- package/dist/server/core/transaction-read.d.ts +4 -0
- package/dist/server/core/transaction-read.d.ts.map +1 -0
- package/dist/server/core/transaction-read.js +30 -0
- package/dist/server/core/transaction-read.js.map +1 -0
- package/dist/server/core/variables/index.d.ts +1 -1
- package/dist/server/core/variables/index.d.ts.map +1 -1
- package/dist/server/core/variables/index.js.map +1 -1
- package/dist/server/core/variables/variable.service.d.ts +18 -0
- package/dist/server/core/variables/variable.service.d.ts.map +1 -1
- package/dist/server/core/variables/variable.service.js +95 -20
- package/dist/server/core/variables/variable.service.js.map +1 -1
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/kernel/events.d.ts +4 -2
- package/dist/server/kernel/events.d.ts.map +1 -1
- package/dist/server/kernel/events.js.map +1 -1
- package/dist/server/kernel/scopes.d.ts +6 -0
- package/dist/server/kernel/scopes.d.ts.map +1 -1
- package/dist/server/kernel/scopes.js.map +1 -1
- package/dist/server/online/services.d.ts.map +1 -1
- package/dist/server/online/services.js +101 -24
- package/dist/server/online/services.js.map +1 -1
- package/dist/server/providers/agents.d.ts +9 -1
- package/dist/server/providers/agents.d.ts.map +1 -1
- package/dist/server/providers/agents.js +3 -0
- package/dist/server/providers/agents.js.map +1 -1
- package/dist/server/providers/runners.d.ts +3 -1
- package/dist/server/providers/runners.d.ts.map +1 -1
- package/dist/server/providers/runners.js +12 -3
- package/dist/server/providers/runners.js.map +1 -1
- package/dist/server/routes/admin.d.ts +2 -0
- package/dist/server/routes/admin.d.ts.map +1 -1
- package/dist/server/routes/admin.js +18 -5
- package/dist/server/routes/admin.js.map +1 -1
- package/dist/server/routes/chat.d.ts.map +1 -1
- package/dist/server/routes/chat.js +27 -6
- package/dist/server/routes/chat.js.map +1 -1
- package/dist/server/routes/index.d.ts.map +1 -1
- package/dist/server/routes/index.js +3 -0
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/runners/admin.d.ts.map +1 -1
- package/dist/server/routes/runners/admin.js +219 -25
- package/dist/server/routes/runners/admin.js.map +1 -1
- package/dist/server/routes/runners/install.d.ts.map +1 -1
- package/dist/server/routes/runners/install.js +7 -2
- package/dist/server/routes/runners/install.js.map +1 -1
- package/dist/server/routes/schemas.d.ts +13 -6
- package/dist/server/routes/schemas.d.ts.map +1 -1
- package/dist/server/routes/schemas.js +350 -66
- package/dist/server/routes/schemas.js.map +1 -1
- package/dist/server/runners/runner.service.d.ts +27 -3
- package/dist/server/runners/runner.service.d.ts.map +1 -1
- package/dist/server/runners/runner.service.js +336 -83
- package/dist/server/runners/runner.service.js.map +1 -1
- package/dist/server/runners/runner.store.d.ts +4 -2
- package/dist/server/runners/runner.store.d.ts.map +1 -1
- package/dist/server/runners/runner.store.js +24 -5
- package/dist/server/runners/runner.store.js.map +1 -1
- package/dist/server/runners/slots.d.ts +5 -2
- package/dist/server/runners/slots.d.ts.map +1 -1
- package/dist/server/runners/slots.js +3 -4
- package/dist/server/runners/slots.js.map +1 -1
- package/dist/shared/agents.d.ts +3 -0
- package/dist/shared/agents.d.ts.map +1 -1
- package/dist/shared/agents.js +0 -15
- package/dist/shared/agents.js.map +1 -1
- package/dist/shared/conversations.d.ts +6 -0
- package/dist/shared/conversations.d.ts.map +1 -1
- package/dist/shared/conversations.js.map +1 -1
- package/dist/shared/model-catalog.d.ts +5 -0
- package/dist/shared/model-catalog.d.ts.map +1 -1
- package/dist/shared/model-catalog.js +35 -1
- package/dist/shared/model-catalog.js.map +1 -1
- package/dist/shared/quota.d.ts +15 -0
- package/dist/shared/quota.d.ts.map +1 -0
- package/dist/shared/quota.js +2 -0
- package/dist/shared/quota.js.map +1 -0
- package/dist/shared/runners.d.ts +88 -5
- package/dist/shared/runners.d.ts.map +1 -1
- package/dist/shared/runners.js +126 -8
- package/dist/shared/runners.js.map +1 -1
- package/dist/shared/runs.d.ts +10 -0
- package/dist/shared/runs.d.ts.map +1 -1
- package/dist/shared/runs.js +22 -0
- package/dist/shared/runs.js.map +1 -1
- package/dist/shared/skills.d.ts +3 -1
- package/dist/shared/skills.d.ts.map +1 -1
- package/dist/shared/skills.js.map +1 -1
- package/package.json +14 -14
- package/skills/nocobase-app-plugin-agents/references/runners.md +12 -0
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* report first checks that the runner still holds the run; a runner that lost it (the sweeper took it back, or it
|
|
4
4
|
* ended) is told `LEASE_LOST` and must stop.
|
|
5
5
|
*/
|
|
6
|
+
import { QuotaReportSchema } from '@nocobase/agent-protocol';
|
|
6
7
|
import { isRetryable, MAX_EVENT_CONTENT_BYTES, ProtocolError, TIMINGS, UsageSchema, } from '@nocobase/agent-protocol';
|
|
7
8
|
import { z } from 'zod';
|
|
8
9
|
import { runnersRepo } from '../../runners/runner.store.js';
|
|
@@ -12,7 +13,7 @@ import { asJson, jsonObject, truncateBytes } from '../../kernel/values.js';
|
|
|
12
13
|
import { recordActualModels } from './execution.js';
|
|
13
14
|
import { dropInputs, gatePending } from './input-gate.js';
|
|
14
15
|
import { everHeld } from './run-tokens.js';
|
|
15
|
-
import { eventsRepo, findRunRecord, inputsRepo, isActive, isTerminal, markDelivered, reposRepo, runsRepo, sessionsRepo, toInput, usageRepo, } from './run.store.js';
|
|
16
|
+
import { eventsRepo, findRunRecord, findRunStatus, pendingInputs, inputsRepo, isActive, isTerminal, markDelivered, reposRepo, runsRepo, sessionsRepo, toInput, usageRepo, } from './run.store.js';
|
|
16
17
|
import { finishRun, requeueRun } from './transitions.js';
|
|
17
18
|
const executionReport = z.object({
|
|
18
19
|
effort: z.string().trim().min(1).max(200).nullable(),
|
|
@@ -24,7 +25,9 @@ export function createRunnerReports(deps) {
|
|
|
24
25
|
const redactorOf = (runId) => secrets.redactor(runSecretsKey(runId));
|
|
25
26
|
/** The run, while `runner` holds it; `LEASE_LOST`, `RUN_NOT_ACTIVE` or `RUN_NOT_OWNED` otherwise. */
|
|
26
27
|
async function held(conn, runner, runId) {
|
|
27
|
-
|
|
28
|
+
return checkHeld(conn, runner, runId, await findRunRecord(conn, runId));
|
|
29
|
+
}
|
|
30
|
+
async function checkHeld(conn, runner, runId, run) {
|
|
28
31
|
if (run && run.runnerId === runner.id) {
|
|
29
32
|
if (isActive(run.status))
|
|
30
33
|
return run;
|
|
@@ -36,9 +39,11 @@ export function createRunnerReports(deps) {
|
|
|
36
39
|
throw new ProtocolError('LEASE_LOST', 'This runner no longer holds the run; stop it.', { status: run.status });
|
|
37
40
|
throw new ProtocolError('RUN_NOT_OWNED', 'This runner does not hold the run.');
|
|
38
41
|
}
|
|
39
|
-
async function extendLease(conn, run) {
|
|
42
|
+
async function extendLease(conn, run, starting = false) {
|
|
40
43
|
const now = clock.now();
|
|
41
|
-
const leaseExpiresAt =
|
|
44
|
+
const leaseExpiresAt = run.status === 'dispatched' && !starting
|
|
45
|
+
? later(new Date(run.dispatchedAt), TIMINGS.startTimeoutMs)
|
|
46
|
+
: later(now, TIMINGS.leaseMs);
|
|
42
47
|
await runsRepo(conn).updateMany({
|
|
43
48
|
filter: { id: run.id },
|
|
44
49
|
values: { leaseExpiresAt, updatedAt: now.toISOString() },
|
|
@@ -163,10 +168,12 @@ export function createRunnerReports(deps) {
|
|
|
163
168
|
const cancelRequested = run.cancelRequestedAt !== null;
|
|
164
169
|
if (run.status === 'dispatched' && !cancelRequested) {
|
|
165
170
|
const now = clock.now().toISOString();
|
|
166
|
-
await runsRepo(conn).updateMany({
|
|
171
|
+
const changed = await runsRepo(conn).updateMany({
|
|
167
172
|
filter: (f) => f.and([
|
|
168
173
|
f.string('id').eq(run.id),
|
|
169
174
|
f.string('status').eq('dispatched'),
|
|
175
|
+
f.string('runnerId').eq(runner.id),
|
|
176
|
+
f.number('attempt').eq(Number(run.attempt)),
|
|
170
177
|
]),
|
|
171
178
|
values: {
|
|
172
179
|
status: 'running',
|
|
@@ -178,9 +185,11 @@ export function createRunnerReports(deps) {
|
|
|
178
185
|
updatedAt: now,
|
|
179
186
|
},
|
|
180
187
|
});
|
|
188
|
+
if (changed.updatedCount !== 1)
|
|
189
|
+
throw new ProtocolError('LEASE_LOST', 'The run moved on; stop it.');
|
|
181
190
|
unit.emit({ type: 'run.changed', runId: run.id, status: 'running' });
|
|
182
191
|
}
|
|
183
|
-
const leaseExpiresAt = await extendLease(conn, run);
|
|
192
|
+
const leaseExpiresAt = await extendLease(conn, run, true);
|
|
184
193
|
const current = (await findRunRecord(conn, run.id));
|
|
185
194
|
return {
|
|
186
195
|
status: current.status,
|
|
@@ -202,6 +211,22 @@ export function createRunnerReports(deps) {
|
|
|
202
211
|
]),
|
|
203
212
|
});
|
|
204
213
|
const stored = new Set(existing.map((event) => Number(event.seq)));
|
|
214
|
+
const quotaReports = request.events
|
|
215
|
+
.filter((event) => !stored.has(event.seq))
|
|
216
|
+
.map((event) => QuotaReportSchema.safeParse(event.meta?.quota))
|
|
217
|
+
.filter((parsed) => parsed.success);
|
|
218
|
+
if (run.tool && quotaReports.length) {
|
|
219
|
+
const latest = new Map();
|
|
220
|
+
for (const parsed of quotaReports)
|
|
221
|
+
if (parsed.success)
|
|
222
|
+
for (const window of parsed.data.windows)
|
|
223
|
+
latest.set(JSON.stringify([window.scope, window.target, window.window]), window);
|
|
224
|
+
await deps.onQuota?.(unit, runner.id, run.tool, run.model ?? null, { windows: [...latest.values()] }, {
|
|
225
|
+
runId: run.id,
|
|
226
|
+
agentId: run.agentId,
|
|
227
|
+
subject: { kind: run.subjectKind, id: run.subjectId },
|
|
228
|
+
});
|
|
229
|
+
}
|
|
205
230
|
const now = clock.now().toISOString();
|
|
206
231
|
const redact = redactorOf(run.id);
|
|
207
232
|
let accepted = 0;
|
|
@@ -271,9 +296,10 @@ export function createRunnerReports(deps) {
|
|
|
271
296
|
cancelRequested: run.cancelRequestedAt !== null,
|
|
272
297
|
};
|
|
273
298
|
}),
|
|
274
|
-
status: (runner, runId) =>
|
|
275
|
-
const
|
|
276
|
-
|
|
299
|
+
status: async (runner, runId) => {
|
|
300
|
+
const conn = tx.read();
|
|
301
|
+
const run = await findRunStatus(conn, runId);
|
|
302
|
+
// Terminal polls never deliver residual input.
|
|
277
303
|
if (run && run.runnerId === runner.id && isTerminal(run.status))
|
|
278
304
|
return {
|
|
279
305
|
status: run.status,
|
|
@@ -281,14 +307,35 @@ export function createRunnerReports(deps) {
|
|
|
281
307
|
inputs: [],
|
|
282
308
|
leaseExpiresAt: null,
|
|
283
309
|
};
|
|
284
|
-
const current = await
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
310
|
+
const current = await checkHeld(conn, runner, runId, run);
|
|
311
|
+
const pending = current.pendingInputId === null ? [] : await pendingInputs(conn, runId);
|
|
312
|
+
if (pending.every((input) => input.deliveredAt !== null))
|
|
313
|
+
return {
|
|
314
|
+
status: current.status,
|
|
315
|
+
cancelRequested: current.cancelRequestedAt !== null,
|
|
316
|
+
inputs: pending.map(toInput),
|
|
317
|
+
leaseExpiresAt: current.leaseExpiresAt,
|
|
318
|
+
};
|
|
319
|
+
// Re-read and revalidate inside the existing delivery transaction.
|
|
320
|
+
return tx.run(async ({ conn }) => {
|
|
321
|
+
const run = await findRunRecord(conn, runId);
|
|
322
|
+
// A runner may still ask about a run it held once it ended, to learn how.
|
|
323
|
+
if (run && run.runnerId === runner.id && isTerminal(run.status))
|
|
324
|
+
return {
|
|
325
|
+
status: run.status,
|
|
326
|
+
cancelRequested: run.cancelRequestedAt !== null,
|
|
327
|
+
inputs: [],
|
|
328
|
+
leaseExpiresAt: null,
|
|
329
|
+
};
|
|
330
|
+
const current = await held(conn, runner, runId);
|
|
331
|
+
return {
|
|
332
|
+
status: current.status,
|
|
333
|
+
cancelRequested: current.cancelRequestedAt !== null,
|
|
334
|
+
inputs: await deliver(conn, current),
|
|
335
|
+
leaseExpiresAt: current.leaseExpiresAt,
|
|
336
|
+
};
|
|
337
|
+
});
|
|
338
|
+
},
|
|
292
339
|
complete: (runner, runId, request) => tx.run(async (unit) => {
|
|
293
340
|
const handled = new Set(request.handledInputIds);
|
|
294
341
|
// Revision conflicts are bounded; exhaustion rolls back the transaction.
|
|
@@ -339,8 +386,42 @@ export function createRunnerReports(deps) {
|
|
|
339
386
|
await recordOutcome(unit, run, request.reason === 'runnerUpgrade'
|
|
340
387
|
? { ...request, handledInputIds: [] }
|
|
341
388
|
: request);
|
|
389
|
+
if (request.quota && run.tool && request.reason === 'toolQuota') {
|
|
390
|
+
// A final failure repeats quota observations already accepted through events.
|
|
391
|
+
// Read their existing record so a late fail cannot undo an owner's clear.
|
|
392
|
+
// A new event sequence is still processed by events(), even with identical values.
|
|
393
|
+
const observations = await eventsRepo(unit.conn).findMany({
|
|
394
|
+
filter: (f) => f.and([
|
|
395
|
+
f.string('runId').eq(run.id),
|
|
396
|
+
f.json('meta').path(['quota', 'windows']).isNotEmpty(),
|
|
397
|
+
]),
|
|
398
|
+
select: (s) => s.fields('meta'),
|
|
399
|
+
});
|
|
400
|
+
const identity = (window) => JSON.stringify([
|
|
401
|
+
window.scope,
|
|
402
|
+
window.target,
|
|
403
|
+
window.window,
|
|
404
|
+
window.resetsAt,
|
|
405
|
+
window.usedPercent ?? null,
|
|
406
|
+
window.exhausted,
|
|
407
|
+
]);
|
|
408
|
+
const seen = new Set();
|
|
409
|
+
for (const observation of observations) {
|
|
410
|
+
const parsed = QuotaReportSchema.safeParse(jsonObject(observation.meta).quota);
|
|
411
|
+
if (parsed.success)
|
|
412
|
+
for (const window of parsed.data.windows)
|
|
413
|
+
seen.add(identity(window));
|
|
414
|
+
}
|
|
415
|
+
const windows = request.quota.windows.filter((window) => !seen.has(identity(window)));
|
|
416
|
+
if (windows.length)
|
|
417
|
+
await deps.onQuota?.(unit, runner.id, run.tool, run.model ?? null, { windows }, {
|
|
418
|
+
runId: run.id,
|
|
419
|
+
agentId: run.agentId,
|
|
420
|
+
subject: { kind: run.subjectKind, id: run.subjectId },
|
|
421
|
+
});
|
|
422
|
+
}
|
|
342
423
|
if (request.reason === 'modelUnavailable' && run.tool && run.model)
|
|
343
|
-
await deps.onModelUnavailable?.(unit, runner.id, run.tool, run.model);
|
|
424
|
+
await deps.onModelUnavailable?.(unit, runner.id, run.tool, run.model ?? null);
|
|
344
425
|
await rememberSession(unit, run, request.sessionId, request.reason === 'contextOverflow');
|
|
345
426
|
if (isRetryable(request.reason) && run.cancelRequestedAt === null) {
|
|
346
427
|
const outcome = await requeueRun(unit, deps, run, request.reason, request.detail);
|
|
@@ -354,6 +435,9 @@ export function createRunnerReports(deps) {
|
|
|
354
435
|
};
|
|
355
436
|
}
|
|
356
437
|
const ended = await finishRun(unit, deps, run, {
|
|
438
|
+
...(request.reason === 'toolQuota' && request.quota
|
|
439
|
+
? { quota: request.quota }
|
|
440
|
+
: {}),
|
|
357
441
|
status: run.cancelRequestedAt === null ? 'failed' : 'cancelled',
|
|
358
442
|
reason: run.cancelRequestedAt === null ? request.reason : 'cancelled',
|
|
359
443
|
...(request.detail === undefined ? {} : { detail: request.detail }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../../server/core/runs/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../../server/core/runs/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,8 +24,15 @@ export declare function resolveAgentCli(configured: Partial<AgentCli> | undefine
|
|
|
24
24
|
export { DEFAULT_TOOL_POLICY };
|
|
25
25
|
/** The agent's overrides over the defaults. */
|
|
26
26
|
export declare function toolPolicyFor(overrides: Partial<ToolPolicy> | null): ToolPolicy;
|
|
27
|
-
/**
|
|
28
|
-
export declare
|
|
27
|
+
/** The first back-off of a failed attempt, unless `agents.runs.retryBaseDelayMs` sets another. */
|
|
28
|
+
export declare const DEFAULT_RETRY_BASE_DELAY_MS: number;
|
|
29
|
+
/**
|
|
30
|
+
* How long before attempt `attempt + 1` may start, after attempt `attempt` failed for `reason`: `baseMs`, doubling up
|
|
31
|
+
* to ten minutes.
|
|
32
|
+
*/
|
|
33
|
+
export declare function retryDelayMs(reason: FailureReason, attempt: number, baseMs?: number): number;
|
|
34
|
+
/** `agents.runs.retryBaseDelayMs`, checked: the default when unset. */
|
|
35
|
+
export declare function retryBaseDelayMs(value: unknown): number;
|
|
29
36
|
/** Claims that failed to assemble a run's payload before the run fails `setupFailed`. */
|
|
30
37
|
export declare const MAX_CLAIM_FAILURES: number;
|
|
31
38
|
/** How long a run token lives at most; it is revoked as soon as the run leaves its runner. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/policy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,yEAAyE;AACzE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,EACzC,GAAG,EAAE;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC3B,QAAQ,CAOV;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,+CAA+C;AAC/C,wBAAgB,aAAa,CAC3B,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,GACpC,UAAU,CAEZ;
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/policy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,yEAAyE;AACzE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,EACzC,GAAG,EAAE;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC3B,QAAQ,CAOV;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,+CAA+C;AAC/C,wBAAgB,aAAa,CAC3B,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,GACpC,UAAU,CAEZ;AAKD,kGAAkG;AAClG,eAAO,MAAM,2BAA2B,EAAE,MAAe,CAAC;AAE1D;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAAoC,GAC3C,MAAM,CAGR;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOvD;AAED,yFAAyF;AACzF,eAAO,MAAM,kBAAkB,EAAE,MAAU,CAAC;AAE5C,8FAA8F;AAC9F,eAAO,MAAM,gBAAgB,EAAE,MAA6B,CAAC;AAE7D;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAwB,CAAC;AAE/D,kHAAkH;AAClH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEjE"}
|
|
@@ -20,16 +20,25 @@ export function toolPolicyFor(overrides) {
|
|
|
20
20
|
return { ...DEFAULT_TOOL_POLICY, ...(overrides ?? {}) };
|
|
21
21
|
}
|
|
22
22
|
/** Failures of the runner itself retry at once, elsewhere; the tool's own failures back off. */
|
|
23
|
-
const IMMEDIATE = [
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
const IMMEDIATE = ['runnerOffline', 'leaseExpired'];
|
|
24
|
+
/** The first back-off of a failed attempt, unless `agents.runs.retryBaseDelayMs` sets another. */
|
|
25
|
+
export const DEFAULT_RETRY_BASE_DELAY_MS = 30_000;
|
|
26
|
+
/**
|
|
27
|
+
* How long before attempt `attempt + 1` may start, after attempt `attempt` failed for `reason`: `baseMs`, doubling up
|
|
28
|
+
* to ten minutes.
|
|
29
|
+
*/
|
|
30
|
+
export function retryDelayMs(reason, attempt, baseMs = DEFAULT_RETRY_BASE_DELAY_MS) {
|
|
30
31
|
if (IMMEDIATE.includes(reason))
|
|
31
32
|
return 0;
|
|
32
|
-
return Math.min(10 * 60_000,
|
|
33
|
+
return Math.min(10 * 60_000, baseMs * 2 ** Math.max(0, attempt - 1));
|
|
34
|
+
}
|
|
35
|
+
/** `agents.runs.retryBaseDelayMs`, checked: the default when unset. */
|
|
36
|
+
export function retryBaseDelayMs(value) {
|
|
37
|
+
if (value === undefined)
|
|
38
|
+
return DEFAULT_RETRY_BASE_DELAY_MS;
|
|
39
|
+
if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < 0)
|
|
40
|
+
throw new Error('agents.runs.retryBaseDelayMs must be a non-negative integer.');
|
|
41
|
+
return value;
|
|
33
42
|
}
|
|
34
43
|
/** Claims that failed to assemble a run's payload before the run fails `setupFailed`. */
|
|
35
44
|
export const MAX_CLAIM_FAILURES = 3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../server/core/runs/policy.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAWhE;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAyC,EACzC,GAA4B;IAE5B,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;IACxC,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClD,cAAc,EAAE,UAAU,EAAE,cAAc,IAAI,IAAI,IAAI,WAAW;KAClE,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,+CAA+C;AAC/C,MAAM,UAAU,aAAa,CAC3B,SAAqC;IAErC,OAAO,EAAE,GAAG,mBAAmB,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,gGAAgG;AAChG,MAAM,SAAS,GAA6B
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../server/core/runs/policy.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAWhE;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAyC,EACzC,GAA4B;IAE5B,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;IACxC,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClD,cAAc,EAAE,UAAU,EAAE,cAAc,IAAI,IAAI,IAAI,WAAW;KAClE,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,+CAA+C;AAC/C,MAAM,UAAU,aAAa,CAC3B,SAAqC;IAErC,OAAO,EAAE,GAAG,mBAAmB,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,gGAAgG;AAChG,MAAM,SAAS,GAA6B,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AAE9E,kGAAkG;AAClG,MAAM,CAAC,MAAM,2BAA2B,GAAW,MAAM,CAAC;AAE1D;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAqB,EACrB,OAAe,EACf,SAAiB,2BAA2B;IAE5C,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,2BAA2B,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QACxE,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;IACJ,OAAO,KAAK,CAAC;AACf,CAAC;AAED,yFAAyF;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAW,CAAC,CAAC;AAE5C,8FAA8F;AAC9F,MAAM,CAAC,MAAM,gBAAgB,GAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAW,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;AAE/D,kHAAkH;AAClH,MAAM,UAAU,oBAAoB,CAAC,YAAoB;IACvD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -11,7 +11,7 @@ import { type ActorRef, type RunEventType, type RunInput, type RunInputType, typ
|
|
|
11
11
|
import type { Runner } from '../../../shared/runners.js';
|
|
12
12
|
import type { DatabaseConnection } from '@nocobase/db';
|
|
13
13
|
import type { RunBrief } from '../../../shared/briefs.js';
|
|
14
|
-
import type { Run, RunDetail, RunEventPage, RunExecution, Workload, WorkloadQuery, SubjectAgentWork } from '../../../shared/runs.js';
|
|
14
|
+
import type { Run, RunDetail, RunEventPage, RunExecution, RunWait, Workload, WorkloadQuery, SubjectAgentWork } from '../../../shared/runs.js';
|
|
15
15
|
import type { Clock } from '../../kernel/clock.js';
|
|
16
16
|
import type { People } from '../../kernel/people.js';
|
|
17
17
|
import type { IdSource } from '../../kernel/ids.js';
|
|
@@ -179,6 +179,10 @@ export interface RunService {
|
|
|
179
179
|
readonly source: string;
|
|
180
180
|
} | null>;
|
|
181
181
|
list(filter: RunFilter): Promise<Run[]>;
|
|
182
|
+
inputTriggers(runIds: readonly string[]): Promise<ReadonlyMap<string, readonly {
|
|
183
|
+
type: string;
|
|
184
|
+
payload: unknown;
|
|
185
|
+
}[]>>;
|
|
182
186
|
/** The newest ended run of each agent on each of the subjects (`subjectIds` of `subjectKind`), in no order. */
|
|
183
187
|
lastEnded(subjectKind: string, subjectIds: readonly string[]): Promise<Run[]>;
|
|
184
188
|
/** Active subject/agent pairs within this scope, once each. Callers decide visibility and approval rules. */
|
|
@@ -189,6 +193,12 @@ export interface RunService {
|
|
|
189
193
|
* Whoever calls decides what of it a person may see.
|
|
190
194
|
*/
|
|
191
195
|
workload(query: WorkloadQuery): Promise<Workload>;
|
|
196
|
+
/**
|
|
197
|
+
* Exactly why one queued run waits, as its row in `workload` would say after the claim's read-only diagnosis of its
|
|
198
|
+
* candidate runners; null when the run does not exist or is not queued. Whoever calls decides what of it a person may
|
|
199
|
+
* see.
|
|
200
|
+
*/
|
|
201
|
+
queueWait(runId: string): Promise<RunWait | null>;
|
|
192
202
|
events(runId: string, afterSeq: number, limit: number, types?: readonly RunEventType[]): Promise<RunEventPage>;
|
|
193
203
|
/** The run a run token belongs to; `RUN_TOKEN_INVALID` otherwise. */
|
|
194
204
|
authenticateToken(value: string): Promise<RunTokenIdentity>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.service.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/run.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAGL,KAAK,QAAQ,EAEb,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,SAAS,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"run.service.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/run.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ import { agentNamesOf } from '../agents/agent.store.js';
|
|
|
15
15
|
import { createRunRequestService, insertRunRequest, } from './run-requests.js';
|
|
16
16
|
import { authenticateRunToken } from './run-tokens.js';
|
|
17
17
|
import { ACTIVE, eventsRepo, findRunRecord, inputsOnSince, inputsRepo, isActive, isTerminal, lastSummary, openRunsOn, openRunsOnEach, pendingInputs, reposRepo, runsOfKey, runsRepo, toInput, toInputView, toRepo, toRun, usageRepo, } from './run.store.js';
|
|
18
|
-
import { readWorkload } from './workload.js';
|
|
18
|
+
import { readQueueWait, readWorkload, } from './workload.js';
|
|
19
19
|
import { finishRun } from './transitions.js';
|
|
20
20
|
import { gateInputs, gatePending } from './input-gate.js';
|
|
21
21
|
import { findBrief, requestReset } from './workspace.store.js';
|
|
@@ -1125,6 +1125,33 @@ export function createRunService(deps) {
|
|
|
1125
1125
|
})),
|
|
1126
1126
|
};
|
|
1127
1127
|
},
|
|
1128
|
+
async inputTriggers(runIds) {
|
|
1129
|
+
const result = new Map();
|
|
1130
|
+
if (!runIds.length)
|
|
1131
|
+
return result;
|
|
1132
|
+
const rows = await tx
|
|
1133
|
+
.read()
|
|
1134
|
+
.query.selectFrom('agRunInputs as input')
|
|
1135
|
+
.select(['input.runId', 'input.type', 'input.payload'])
|
|
1136
|
+
.where('input.runId', 'in', [...runIds])
|
|
1137
|
+
.where((eb) => eb('input.id', '=', eb
|
|
1138
|
+
.selectFrom('agRunInputs as first')
|
|
1139
|
+
.select('first.id')
|
|
1140
|
+
.whereRef('first.runId', '=', 'input.runId')
|
|
1141
|
+
.orderBy('first.createdAt', 'asc')
|
|
1142
|
+
.orderBy('first.id', 'asc')
|
|
1143
|
+
.limit(1)))
|
|
1144
|
+
.execute();
|
|
1145
|
+
for (const row of rows) {
|
|
1146
|
+
const inputs = result.get(String(row.runId)) ?? [];
|
|
1147
|
+
inputs.push({
|
|
1148
|
+
type: String(row.type),
|
|
1149
|
+
payload: jsonObject(row.payload),
|
|
1150
|
+
});
|
|
1151
|
+
result.set(String(row.runId), inputs);
|
|
1152
|
+
}
|
|
1153
|
+
return result;
|
|
1154
|
+
},
|
|
1128
1155
|
async list(filter) {
|
|
1129
1156
|
const records = await runsRepo(tx.read()).findMany({
|
|
1130
1157
|
filter: (f) => f.and([
|
|
@@ -1199,7 +1226,10 @@ export function createRunService(deps) {
|
|
|
1199
1226
|
return [...pairs.values()];
|
|
1200
1227
|
},
|
|
1201
1228
|
workload(query) {
|
|
1202
|
-
return readWorkload(tx.read(), clock, deps.runners, query
|
|
1229
|
+
return readWorkload(tx.read(), clock, deps.runners, query);
|
|
1230
|
+
},
|
|
1231
|
+
queueWait(runId) {
|
|
1232
|
+
return readQueueWait(tx.read(), clock, deps.runners, runId, deps.diagnose);
|
|
1203
1233
|
},
|
|
1204
1234
|
async events(runId, afterSeq, limit, types) {
|
|
1205
1235
|
const conn = tx.read();
|