@nocobase/app-plugin-agents 0.1.0-beta.10 → 0.1.0-beta.12
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 +95 -0
- package/README.md +33 -3
- package/dist/client/api/client.d.ts +3 -2
- package/dist/client/api/client.d.ts.map +1 -1
- package/dist/client/api/client.js +3 -0
- package/dist/client/api/client.js.map +1 -1
- package/dist/client/api/runners.d.ts +2 -2
- package/dist/client/api/runners.d.ts.map +1 -1
- package/dist/client/api/runners.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/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 +2 -0
- package/dist/client/locales/en-US.d.ts.map +1 -1
- package/dist/client/locales/en-US.js +2 -0
- package/dist/client/locales/en-US.js.map +1 -1
- package/dist/client/locales/runtimes.en-US.d.ts +0 -1
- package/dist/client/locales/runtimes.en-US.d.ts.map +1 -1
- package/dist/client/locales/runtimes.en-US.js +0 -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 +0 -1
- package/dist/client/locales/runtimes.zh-CN.js.map +1 -1
- package/dist/client/locales/skills.en-US.d.ts +7 -0
- package/dist/client/locales/skills.en-US.d.ts.map +1 -1
- package/dist/client/locales/skills.en-US.js +8 -1
- 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 +8 -1
- 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 +2 -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/runtimes/connect.js.map +1 -1
- package/dist/client/pages/runtimes/index.js.map +1 -1
- package/dist/client/pages/runtimes/runner-cells.d.ts +3 -3
- package/dist/client/pages/runtimes/runner-cells.d.ts.map +1 -1
- package/dist/client/pages/runtimes/runner-sheet.d.ts +2 -2
- package/dist/client/pages/runtimes/runner-sheet.d.ts.map +1 -1
- package/dist/client/pages/runtimes/runner-sheet.js +15 -1
- package/dist/client/pages/runtimes/runner-sheet.js.map +1 -1
- package/dist/client/pages/runtimes/workspace-diagnostics.d.ts +2 -2
- package/dist/client/pages/runtimes/workspace-diagnostics.d.ts.map +1 -1
- package/dist/client/pages/runtimes/workspace-diagnostics.js +3 -5
- 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 -15
- package/dist/client/pages/skills/detail/index.js.map +1 -1
- package/dist/client/pages/skills/index.d.ts.map +1 -1
- package/dist/client/pages/skills/index.js +2 -2
- package/dist/client/pages/skills/index.js.map +1 -1
- package/dist/database/migrations/.manifest.json +14 -2
- package/dist/database/migrations/202610020003_ag_create_runs.d.ts.map +1 -1
- package/dist/database/migrations/202610020003_ag_create_runs.js +0 -1
- package/dist/database/migrations/202610020003_ag_create_runs.js.map +1 -1
- package/dist/database/migrations/202610250001_ag_comment_runner_consent.d.ts +4 -0
- package/dist/database/migrations/202610250001_ag_comment_runner_consent.d.ts.map +1 -0
- package/dist/database/migrations/202610250001_ag_comment_runner_consent.js +41 -0
- package/dist/database/migrations/202610250001_ag_comment_runner_consent.js.map +1 -0
- package/dist/database/migrations/202610260001_ag_drop_directory_index.d.ts +4 -0
- package/dist/database/migrations/202610260001_ag_drop_directory_index.d.ts.map +1 -0
- package/dist/database/migrations/202610260001_ag_drop_directory_index.js +24 -0
- package/dist/database/migrations/202610260001_ag_drop_directory_index.js.map +1 -0
- package/dist/database/migrations/202610260001_ag_run_revision.d.ts +4 -0
- package/dist/database/migrations/202610260001_ag_run_revision.d.ts.map +1 -0
- package/dist/database/migrations/202610260001_ag_run_revision.js +19 -0
- package/dist/database/migrations/202610260001_ag_run_revision.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 +4 -0
- package/dist/server/composition.d.ts.map +1 -1
- package/dist/server/composition.js +23 -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 +3 -1
- package/dist/server/core/agents/agent.store.d.ts.map +1 -1
- package/dist/server/core/agents/agent.store.js +13 -6
- package/dist/server/core/agents/agent.store.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 +3 -3
- 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.map +1 -1
- package/dist/server/core/conversations/conversation.service.js +3 -0
- 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/claim.d.ts +17 -3
- package/dist/server/core/runs/claim.d.ts.map +1 -1
- package/dist/server/core/runs/claim.js +325 -70
- package/dist/server/core/runs/claim.js.map +1 -1
- package/dist/server/core/runs/comment-consent.d.ts +24 -0
- package/dist/server/core/runs/comment-consent.d.ts.map +1 -0
- package/dist/server/core/runs/comment-consent.js +116 -0
- package/dist/server/core/runs/comment-consent.js.map +1 -0
- 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 +7 -2
- package/dist/server/core/runs/execution.js.map +1 -1
- package/dist/server/core/runs/identity.d.ts +3 -0
- package/dist/server/core/runs/identity.d.ts.map +1 -1
- package/dist/server/core/runs/identity.js +38 -12
- package/dist/server/core/runs/identity.js.map +1 -1
- package/dist/server/core/runs/index.d.ts +2 -2
- package/dist/server/core/runs/index.d.ts.map +1 -1
- package/dist/server/core/runs/index.js +2 -2
- package/dist/server/core/runs/index.js.map +1 -1
- package/dist/server/core/runs/input-gate.d.ts.map +1 -1
- package/dist/server/core/runs/input-gate.js +4 -0
- package/dist/server/core/runs/input-gate.js.map +1 -1
- package/dist/server/core/runs/lifecycle.d.ts.map +1 -1
- package/dist/server/core/runs/lifecycle.js +71 -35
- 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/ports.d.ts +8 -1
- package/dist/server/core/runs/ports.d.ts.map +1 -1
- package/dist/server/core/runs/ports.js.map +1 -1
- package/dist/server/core/runs/run-data-purge.d.ts +15 -0
- package/dist/server/core/runs/run-data-purge.d.ts.map +1 -0
- package/dist/server/core/runs/run-data-purge.js +82 -0
- package/dist/server/core/runs/run-data-purge.js.map +1 -0
- package/dist/server/core/runs/run-requests.d.ts +25 -0
- package/dist/server/core/runs/run-requests.d.ts.map +1 -1
- package/dist/server/core/runs/run-requests.js +131 -63
- package/dist/server/core/runs/run-requests.js.map +1 -1
- package/dist/server/core/runs/run.service.d.ts +19 -1
- package/dist/server/core/runs/run.service.d.ts.map +1 -1
- package/dist/server/core/runs/run.service.js +523 -35
- package/dist/server/core/runs/run.service.js.map +1 -1
- package/dist/server/core/runs/run.store.d.ts +10 -0
- package/dist/server/core/runs/run.store.d.ts.map +1 -1
- package/dist/server/core/runs/run.store.js +38 -11
- package/dist/server/core/runs/run.store.js.map +1 -1
- package/dist/server/core/runs/runner-view.d.ts +5 -0
- package/dist/server/core/runs/runner-view.d.ts.map +1 -1
- package/dist/server/core/runs/runner-view.js +5 -1
- package/dist/server/core/runs/runner-view.js.map +1 -1
- package/dist/server/core/runs/sweeper.d.ts +1 -0
- package/dist/server/core/runs/sweeper.d.ts.map +1 -1
- package/dist/server/core/runs/sweeper.js +13 -8
- package/dist/server/core/runs/sweeper.js.map +1 -1
- package/dist/server/core/runs/transitions.d.ts +5 -2
- package/dist/server/core/runs/transitions.d.ts.map +1 -1
- package/dist/server/core/runs/transitions.js +42 -14
- 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 +182 -126
- package/dist/server/core/runs/workload.js.map +1 -1
- package/dist/server/core/skills/skill.service.d.ts +6 -2
- package/dist/server/core/skills/skill.service.d.ts.map +1 -1
- package/dist/server/core/skills/skill.service.js +87 -66
- package/dist/server/core/skills/skill.service.js.map +1 -1
- package/dist/server/core/skills/skill.store.d.ts +14 -0
- package/dist/server/core/skills/skill.store.d.ts.map +1 -1
- package/dist/server/core/skills/skill.store.js +30 -0
- package/dist/server/core/skills/skill.store.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 +11 -0
- package/dist/server/core/variables/variable.service.d.ts.map +1 -1
- package/dist/server/core/variables/variable.service.js +63 -20
- package/dist/server/core/variables/variable.service.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 +3 -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 +12 -0
- package/dist/server/providers/agents.d.ts.map +1 -1
- package/dist/server/providers/agents.js +6 -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 +35 -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 +30 -8
- 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/run-requests.js +3 -3
- package/dist/server/routes/run-requests.js.map +1 -1
- package/dist/server/routes/runners/admin.d.ts.map +1 -1
- package/dist/server/routes/runners/admin.js +55 -9
- 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/runners/runner.d.ts.map +1 -1
- package/dist/server/routes/runners/runner.js +2 -0
- package/dist/server/routes/runners/runner.js.map +1 -1
- package/dist/server/routes/schemas.d.ts +7 -1
- package/dist/server/routes/schemas.d.ts.map +1 -1
- package/dist/server/routes/schemas.js +201 -66
- package/dist/server/routes/schemas.js.map +1 -1
- package/dist/server/runners/runner.service.d.ts +22 -2
- package/dist/server/runners/runner.service.d.ts.map +1 -1
- package/dist/server/runners/runner.service.js +138 -56
- package/dist/server/runners/runner.service.js.map +1 -1
- package/dist/server/runners/runner.store.d.ts +2 -2
- package/dist/server/runners/runner.store.d.ts.map +1 -1
- package/dist/server/runners/runner.store.js +8 -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/server/tokens.d.ts +1 -0
- package/dist/server/tokens.d.ts.map +1 -1
- package/dist/server/tokens.js +1 -0
- package/dist/server/tokens.js.map +1 -1
- package/dist/shared/agents.d.ts +0 -2
- package/dist/shared/agents.d.ts.map +1 -1
- package/dist/shared/agents.js.map +1 -1
- package/dist/shared/conversations.d.ts +2 -0
- package/dist/shared/conversations.d.ts.map +1 -1
- package/dist/shared/conversations.js.map +1 -1
- package/dist/shared/runners.d.ts +11 -2
- package/dist/shared/runners.d.ts.map +1 -1
- package/dist/shared/runners.js.map +1 -1
- package/dist/shared/runs.d.ts +18 -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 +11 -5
- package/dist/shared/skills.d.ts.map +1 -1
- package/dist/shared/skills.js +7 -2
- package/dist/shared/skills.js.map +1 -1
- package/dist/shared/variables.js +1 -1
- package/dist/shared/variables.js.map +1 -1
- package/package.json +15 -15
- package/skills/nocobase-app-plugin-agents/references/extension-points.md +19 -19
- package/skills/nocobase-app-plugin-agents/references/runners.md +6 -0
- package/skills/nocobase-app-plugin-agents/references/variables-skills-usage.md +3 -1
|
@@ -152,19 +152,9 @@ function cut(text) {
|
|
|
152
152
|
? `${line.slice(0, RUN_ACTIVITY_TEXT_MAX - 1)}…`
|
|
153
153
|
: line;
|
|
154
154
|
}
|
|
155
|
-
|
|
155
|
+
/** The queue as the claim sees it, in a fixed number of reads. */
|
|
156
|
+
async function readQueueState(conn, clock, runnerSource) {
|
|
156
157
|
const now = clock.now();
|
|
157
|
-
const limit = Math.min(Math.max(query.limit ?? DEFAULT_LIMIT, 1), MAX_LIMIT);
|
|
158
|
-
const open = await runsRepo(conn).findMany({
|
|
159
|
-
filter: (f) => f.and([
|
|
160
|
-
f.string('subjectKind').eq(query.subjectKind),
|
|
161
|
-
f.or(['queued', ...ACTIVE].map((status) => f.string('status').eq(status))),
|
|
162
|
-
]),
|
|
163
|
-
sort: (sort) => [sort.field('createdAt').asc(), sort.field('id').asc()],
|
|
164
|
-
limit: limit + 1,
|
|
165
|
-
});
|
|
166
|
-
const truncated = open.length > limit;
|
|
167
|
-
const mine = open.slice(0, limit);
|
|
168
158
|
const queued = (await runsRepo(conn).findMany({
|
|
169
159
|
filter: { status: 'queued' },
|
|
170
160
|
limit: QUEUE_SCAN,
|
|
@@ -209,6 +199,155 @@ export async function readWorkload(conn, clock, runnerSource, query, diagnose) {
|
|
|
209
199
|
agentQueued.set(run.agentId, count);
|
|
210
200
|
agentPosition.set(run.id, count);
|
|
211
201
|
}
|
|
202
|
+
return {
|
|
203
|
+
now,
|
|
204
|
+
queued,
|
|
205
|
+
runners,
|
|
206
|
+
online,
|
|
207
|
+
agents,
|
|
208
|
+
agentById,
|
|
209
|
+
runnerUsed,
|
|
210
|
+
runnerToolUsed,
|
|
211
|
+
agentActive,
|
|
212
|
+
busyKeys,
|
|
213
|
+
position,
|
|
214
|
+
agentPosition,
|
|
215
|
+
agentQueued,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
/** Why a queued run waits by the claim's rules alone, without reading anything more (`explainWait`). */
|
|
219
|
+
function quickWait(record, requires, state) {
|
|
220
|
+
return explainWait({ ...record, requires }, {
|
|
221
|
+
now: state.now,
|
|
222
|
+
agent: state.agentById.get(record.agentId) ?? null,
|
|
223
|
+
runners: state.online,
|
|
224
|
+
runnerUsed: state.runnerUsed,
|
|
225
|
+
runnerToolUsed: state.runnerToolUsed,
|
|
226
|
+
agentActive: state.agentActive.get(record.agentId) ?? 0,
|
|
227
|
+
sameWorkActive: state.busyKeys.has(keyOf(record)),
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
const DIAGNOSTIC_CODES = {
|
|
231
|
+
ready: 'next',
|
|
232
|
+
busy: 'runnersBusy',
|
|
233
|
+
updatePending: 'updatePending',
|
|
234
|
+
pruning: 'pruning',
|
|
235
|
+
offline: 'noRunnerOnline',
|
|
236
|
+
incompatible: 'incompatible',
|
|
237
|
+
restricted: 'restricted',
|
|
238
|
+
concurrencyFull: 'concurrencyFull',
|
|
239
|
+
sameWorkActive: 'sameWorkActive',
|
|
240
|
+
delayed: 'delayed',
|
|
241
|
+
toolUnavailable: 'toolUnavailable',
|
|
242
|
+
toolNotInstalled: 'toolNotInstalled',
|
|
243
|
+
noSharedRunner: 'noSharedRunner',
|
|
244
|
+
unknown: 'unknown',
|
|
245
|
+
};
|
|
246
|
+
/** The quick explanation refined by the claim's own read-only diagnosis of the run's candidates. */
|
|
247
|
+
function refineWait(record, previous, diagnostic, state) {
|
|
248
|
+
// Keep the established identity and protected-variable explanation, including its precise parameters.
|
|
249
|
+
const detailed = [
|
|
250
|
+
'secretsNotAllowed',
|
|
251
|
+
'delayed',
|
|
252
|
+
'agentArchived',
|
|
253
|
+
'setupRetrying',
|
|
254
|
+
].includes(previous.reason);
|
|
255
|
+
const entry = diagnostic?.entries.find((entry) => entry.reason === 'ready') ??
|
|
256
|
+
diagnostic?.entries[0];
|
|
257
|
+
if (!entry || detailed)
|
|
258
|
+
return previous;
|
|
259
|
+
const agent = state.agentById.get(record.agentId);
|
|
260
|
+
const active = state.agentActive.get(record.agentId) ?? 0;
|
|
261
|
+
const loads = entry.runners.filter((runner) => runner.reason === undefined ||
|
|
262
|
+
runner.reason === 'ready' ||
|
|
263
|
+
runner.reason === 'busy');
|
|
264
|
+
const toolFull = entry.reason === 'busy' &&
|
|
265
|
+
loads.some((runner) => (runner.used ?? 0) < (runner.limit ?? 0)) &&
|
|
266
|
+
loads.every((runner) => (runner.toolUsed ?? 0) >= (runner.toolLimit ?? 0) ||
|
|
267
|
+
runner.reportedFree === 0);
|
|
268
|
+
return {
|
|
269
|
+
...previous,
|
|
270
|
+
reason: entry.reason === 'ready' && Number(record.claimFailures) > 0
|
|
271
|
+
? 'setupRetrying'
|
|
272
|
+
: toolFull
|
|
273
|
+
? 'toolSlotsFull'
|
|
274
|
+
: DIAGNOSTIC_CODES[entry.reason],
|
|
275
|
+
params: {
|
|
276
|
+
blockers: (entry.blockers ?? [])
|
|
277
|
+
.filter((reason) => reason !== entry.reason)
|
|
278
|
+
.map((reason) => DIAGNOSTIC_CODES[reason]),
|
|
279
|
+
tool: entry.tool,
|
|
280
|
+
...(entry.reason === 'concurrencyFull'
|
|
281
|
+
? { active, limit: agent.maxConcurrentRuns }
|
|
282
|
+
: entry.reason === 'busy'
|
|
283
|
+
? {
|
|
284
|
+
used: loads.reduce((n, runner) => n + (toolFull ? (runner.toolUsed ?? 0) : (runner.used ?? 0)), 0),
|
|
285
|
+
limit: loads.reduce((n, runner) => n +
|
|
286
|
+
(toolFull ? (runner.toolLimit ?? 0) : (runner.limit ?? 0)), 0),
|
|
287
|
+
runners: loads.length,
|
|
288
|
+
reportedFree: loads.map((runner) => String(runner.reportedTotalFree ?? '—')),
|
|
289
|
+
detail: loads
|
|
290
|
+
.map((runner) => `${entry.tool} ${runner.toolUsed}/${runner.toolLimit}${runner.reportedTotalFree === 0 ? '; global free 0' : ''}`)
|
|
291
|
+
.join('; '),
|
|
292
|
+
}
|
|
293
|
+
: {}),
|
|
294
|
+
},
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
/** The newest activity of each of `runIds` in two reads: the newest sequence of each, then those events. */
|
|
298
|
+
async function newestActivities(conn, runIds) {
|
|
299
|
+
const activity = new Map();
|
|
300
|
+
if (runIds.length === 0)
|
|
301
|
+
return activity;
|
|
302
|
+
const newest = await eventsRepo(conn).groupBy({
|
|
303
|
+
by: ['runId'],
|
|
304
|
+
aggregate: (aggregate) => ({ seq: aggregate.max('seq') }),
|
|
305
|
+
filter: (f) => f.and([
|
|
306
|
+
f.or(runIds.map((id) => f.string('runId').eq(id))),
|
|
307
|
+
f.or(ACTIVITY_TYPES.map((type) => f.string('type').eq(type))),
|
|
308
|
+
]),
|
|
309
|
+
});
|
|
310
|
+
const pairs = newest.flatMap((group) => group.seq === null || group.seq === undefined
|
|
311
|
+
? []
|
|
312
|
+
: [{ runId: String(group.runId), seq: Number(group.seq) }]);
|
|
313
|
+
if (pairs.length === 0)
|
|
314
|
+
return activity;
|
|
315
|
+
const events = await eventsRepo(conn).findMany({
|
|
316
|
+
filter: (f) => f.and([
|
|
317
|
+
f.or(pairs.map((pair) => f.and([
|
|
318
|
+
f.string('runId').eq(pair.runId),
|
|
319
|
+
f.number('seq').eq(pair.seq),
|
|
320
|
+
]))),
|
|
321
|
+
f.or(ACTIVITY_TYPES.map((type) => f.string('type').eq(type))),
|
|
322
|
+
]),
|
|
323
|
+
});
|
|
324
|
+
for (const event of events)
|
|
325
|
+
activity.set(event.runId, {
|
|
326
|
+
at: iso(event.at) ?? event.at,
|
|
327
|
+
type: event.type,
|
|
328
|
+
tool: event.tool,
|
|
329
|
+
text: cut(event.content ?? event.output),
|
|
330
|
+
});
|
|
331
|
+
return activity;
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* The open runs on one kind of subject, in a fixed number of reads whatever their number. A queued run says why it
|
|
335
|
+
* waits by the claim's rules alone (`explainWait`); `readQueueWait` gives one run's exact reason.
|
|
336
|
+
*/
|
|
337
|
+
export async function readWorkload(conn, clock, runnerSource, query) {
|
|
338
|
+
const limit = Math.min(Math.max(query.limit ?? DEFAULT_LIMIT, 1), MAX_LIMIT);
|
|
339
|
+
const open = await runsRepo(conn).findMany({
|
|
340
|
+
filter: (f) => f.and([
|
|
341
|
+
f.string('subjectKind').eq(query.subjectKind),
|
|
342
|
+
f.or(['queued', ...ACTIVE].map((status) => f.string('status').eq(status))),
|
|
343
|
+
]),
|
|
344
|
+
sort: (sort) => [sort.field('createdAt').asc(), sort.field('id').asc()],
|
|
345
|
+
limit: limit + 1,
|
|
346
|
+
});
|
|
347
|
+
const truncated = open.length > limit;
|
|
348
|
+
const mine = open.slice(0, limit);
|
|
349
|
+
const state = await readQueueState(conn, clock, runnerSource);
|
|
350
|
+
const { queued, runners, online, agents, runnerUsed, agentActive } = state;
|
|
212
351
|
// The newest input's trigger, per open run.
|
|
213
352
|
const ids = mine.map((run) => run.id);
|
|
214
353
|
const triggers = new Map();
|
|
@@ -225,129 +364,25 @@ export async function readWorkload(conn, clock, runnerSource, query, diagnose) {
|
|
|
225
364
|
triggers.set(input.runId, trigger);
|
|
226
365
|
}
|
|
227
366
|
}
|
|
228
|
-
// The newest activity of each held run
|
|
229
|
-
const activity =
|
|
230
|
-
for (const run of mine) {
|
|
231
|
-
if (!ACTIVE.includes(run.status))
|
|
232
|
-
continue;
|
|
233
|
-
const event = await eventsRepo(conn).findOne({
|
|
234
|
-
filter: (f) => f.and([
|
|
235
|
-
f.string('runId').eq(run.id),
|
|
236
|
-
f.or(ACTIVITY_TYPES.map((type) => f.string('type').eq(type))),
|
|
237
|
-
]),
|
|
238
|
-
sort: (sort) => sort.field('seq').desc(),
|
|
239
|
-
});
|
|
240
|
-
if (event)
|
|
241
|
-
activity.set(run.id, {
|
|
242
|
-
at: iso(event.at) ?? event.at,
|
|
243
|
-
type: event.type,
|
|
244
|
-
tool: event.tool,
|
|
245
|
-
text: cut(event.content ?? event.output),
|
|
246
|
-
});
|
|
247
|
-
}
|
|
367
|
+
// The newest activity of each held run.
|
|
368
|
+
const activity = await newestActivities(conn, mine.filter((run) => ACTIVE.includes(run.status)).map((run) => run.id));
|
|
248
369
|
const runnerName = new Map(runners.map((runner) => [runner.id, runner.name]));
|
|
249
|
-
const runs =
|
|
370
|
+
const runs = mine.map((record) => {
|
|
250
371
|
const run = toRun(record);
|
|
251
|
-
const isQueued = record.status === 'queued';
|
|
252
|
-
const candidateAgent = agentById.get(run.agentId);
|
|
253
|
-
const diagnostic = isQueued && candidateAgent?.status === 'enabled' && diagnose
|
|
254
|
-
? await diagnose(conn, run, candidateAgent)
|
|
255
|
-
: null;
|
|
256
|
-
const previous = explainWait({ ...record, requires: run.requires }, {
|
|
257
|
-
now,
|
|
258
|
-
agent: candidateAgent ?? null,
|
|
259
|
-
runners: online,
|
|
260
|
-
runnerUsed,
|
|
261
|
-
runnerToolUsed,
|
|
262
|
-
agentActive: agentActive.get(run.agentId) ?? 0,
|
|
263
|
-
sameWorkActive: busyKeys.has(keyOf(record)),
|
|
264
|
-
});
|
|
265
|
-
// Keep the established identity and protected-variable explanation, including its precise parameters.
|
|
266
|
-
const detailed = [
|
|
267
|
-
'secretsNotAllowed',
|
|
268
|
-
'delayed',
|
|
269
|
-
'agentArchived',
|
|
270
|
-
'setupRetrying',
|
|
271
|
-
].includes(previous.reason);
|
|
272
|
-
const entry = diagnostic?.entries.find((entry) => entry.reason === 'ready') ??
|
|
273
|
-
diagnostic?.entries[0];
|
|
274
|
-
const codes = {
|
|
275
|
-
ready: 'next',
|
|
276
|
-
busy: 'runnersBusy',
|
|
277
|
-
updatePending: 'updatePending',
|
|
278
|
-
pruning: 'pruning',
|
|
279
|
-
offline: 'noRunnerOnline',
|
|
280
|
-
incompatible: 'incompatible',
|
|
281
|
-
restricted: 'restricted',
|
|
282
|
-
concurrencyFull: 'concurrencyFull',
|
|
283
|
-
sameWorkActive: 'sameWorkActive',
|
|
284
|
-
delayed: 'delayed',
|
|
285
|
-
toolUnavailable: 'toolUnavailable',
|
|
286
|
-
toolNotInstalled: 'toolNotInstalled',
|
|
287
|
-
noSharedRunner: 'noSharedRunner',
|
|
288
|
-
unknown: 'unknown',
|
|
289
|
-
};
|
|
290
|
-
const loads = entry?.runners.filter((runner) => runner.reason === undefined ||
|
|
291
|
-
runner.reason === 'ready' ||
|
|
292
|
-
runner.reason === 'busy') ?? [];
|
|
293
|
-
const toolFull = entry?.reason === 'busy' &&
|
|
294
|
-
loads.some((runner) => (runner.used ?? 0) < (runner.limit ?? 0)) &&
|
|
295
|
-
loads.every((runner) => (runner.toolUsed ?? 0) >= (runner.toolLimit ?? 0) ||
|
|
296
|
-
runner.reportedFree === 0);
|
|
297
372
|
return {
|
|
298
373
|
...run,
|
|
299
374
|
trigger: triggers.get(run.id) ?? null,
|
|
300
|
-
runnerName: run.runnerId
|
|
301
|
-
? (runnerName.get(run.runnerId) ?? null)
|
|
302
|
-
: null,
|
|
375
|
+
runnerName: run.runnerId ? (runnerName.get(run.runnerId) ?? null) : null,
|
|
303
376
|
lastActivity: activity.get(run.id) ?? null,
|
|
304
|
-
wait:
|
|
377
|
+
wait: record.status === 'queued'
|
|
305
378
|
? {
|
|
306
|
-
...
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
reason: entry.reason === 'ready' &&
|
|
310
|
-
Number(record.claimFailures) > 0
|
|
311
|
-
? 'setupRetrying'
|
|
312
|
-
: toolFull
|
|
313
|
-
? 'toolSlotsFull'
|
|
314
|
-
: codes[entry.reason],
|
|
315
|
-
params: {
|
|
316
|
-
blockers: (entry.blockers ?? [])
|
|
317
|
-
.filter((reason) => reason !== entry.reason)
|
|
318
|
-
.map((reason) => codes[reason]),
|
|
319
|
-
tool: entry.tool,
|
|
320
|
-
...(entry.reason === 'concurrencyFull'
|
|
321
|
-
? {
|
|
322
|
-
active: agentActive.get(run.agentId) ?? 0,
|
|
323
|
-
limit: candidateAgent.maxConcurrentRuns,
|
|
324
|
-
}
|
|
325
|
-
: entry.reason === 'busy'
|
|
326
|
-
? {
|
|
327
|
-
used: loads.reduce((n, runner) => n +
|
|
328
|
-
(toolFull
|
|
329
|
-
? (runner.toolUsed ?? 0)
|
|
330
|
-
: (runner.used ?? 0)), 0),
|
|
331
|
-
limit: loads.reduce((n, runner) => n +
|
|
332
|
-
(toolFull
|
|
333
|
-
? (runner.toolLimit ?? 0)
|
|
334
|
-
: (runner.limit ?? 0)), 0),
|
|
335
|
-
runners: loads.length,
|
|
336
|
-
reportedFree: loads.map((runner) => String(runner.reportedTotalFree ?? '—')),
|
|
337
|
-
detail: loads
|
|
338
|
-
.map((runner) => `${entry.tool} ${runner.toolUsed}/${runner.toolLimit}${runner.reportedTotalFree === 0 ? '; global free 0' : ''}`)
|
|
339
|
-
.join('; '),
|
|
340
|
-
}
|
|
341
|
-
: {}),
|
|
342
|
-
},
|
|
343
|
-
}
|
|
344
|
-
: {}),
|
|
345
|
-
position: position.get(run.id) ?? null,
|
|
346
|
-
agentPosition: agentPosition.get(run.id) ?? 1,
|
|
379
|
+
...quickWait(record, run.requires, state),
|
|
380
|
+
position: state.position.get(run.id) ?? null,
|
|
381
|
+
agentPosition: state.agentPosition.get(run.id) ?? 1,
|
|
347
382
|
}
|
|
348
383
|
: null,
|
|
349
384
|
};
|
|
350
|
-
})
|
|
385
|
+
});
|
|
351
386
|
// Held runs first, the longest-running first; then queued ones in claim order.
|
|
352
387
|
const order = new Map(queued.map((run, index) => [run.id, index]));
|
|
353
388
|
runs.sort((a, b) => {
|
|
@@ -368,7 +403,7 @@ export async function readWorkload(conn, clock, runnerSource, query, diagnose) {
|
|
|
368
403
|
loads.push({
|
|
369
404
|
agentId: agent.id,
|
|
370
405
|
active: agentActive.get(agent.id) ?? 0,
|
|
371
|
-
queued: agentQueued.get(agent.id) ?? 0,
|
|
406
|
+
queued: state.agentQueued.get(agent.id) ?? 0,
|
|
372
407
|
maxConcurrentRuns: agent.maxConcurrentRuns,
|
|
373
408
|
online: agent.status === 'enabled' &&
|
|
374
409
|
online.some((runner) => agent.modelEntries.some((entry) => runsEntry(runner, entry))),
|
|
@@ -387,4 +422,25 @@ export async function readWorkload(conn, clock, runnerSource, query, diagnose) {
|
|
|
387
422
|
},
|
|
388
423
|
};
|
|
389
424
|
}
|
|
425
|
+
/**
|
|
426
|
+
* Exactly why one queued run waits: the claim's rules refined by its read-only diagnosis of the run's candidate
|
|
427
|
+
* runners (`ClaimService.diagnose`). Null when the run does not exist or is not queued.
|
|
428
|
+
*/
|
|
429
|
+
export async function readQueueWait(conn, clock, runnerSource, runId, diagnose) {
|
|
430
|
+
const record = await runsRepo(conn).findOne({ filter: { id: runId } });
|
|
431
|
+
if (!record || record.status !== 'queued')
|
|
432
|
+
return null;
|
|
433
|
+
const state = await readQueueState(conn, clock, runnerSource);
|
|
434
|
+
const run = toRun(record);
|
|
435
|
+
const agent = state.agentById.get(run.agentId);
|
|
436
|
+
const previous = quickWait(record, run.requires, state);
|
|
437
|
+
const diagnostic = agent?.status === 'enabled' && diagnose
|
|
438
|
+
? await diagnose(conn, run, agent)
|
|
439
|
+
: null;
|
|
440
|
+
return {
|
|
441
|
+
...refineWait(record, previous, diagnostic, state),
|
|
442
|
+
position: state.position.get(run.id) ?? null,
|
|
443
|
+
agentPosition: state.agentPosition.get(run.id) ?? 1,
|
|
444
|
+
};
|
|
445
|
+
}
|
|
390
446
|
//# sourceMappingURL=workload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workload.js","sourceRoot":"","sources":["../../../../server/core/runs/workload.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workload.js","sourceRoot":"","sources":["../../../../server/core/runs/workload.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The skill library: skills in the open Agent Skills format, every save a new version, the latest one always the one
|
|
3
|
-
* runs get. An older version can be compared and restored (as a new version). Skills are
|
|
3
|
+
* runs get. An older version can be compared and restored (as a new version). Skills are team defaults, and
|
|
4
4
|
* defaults to a working directory or a scope the application registers. Who may change skills is the route's concern;
|
|
5
5
|
* the service checks only the values.
|
|
6
6
|
*
|
|
@@ -23,6 +23,7 @@ import type { IdSource } from '../../kernel/ids.js';
|
|
|
23
23
|
import type { People } from '../../kernel/people.js';
|
|
24
24
|
import type { TxRunner } from '../../kernel/tx.js';
|
|
25
25
|
import { type SkillBlobs } from './blobs.js';
|
|
26
|
+
import { type RunSkillRow } from './skill.store.js';
|
|
26
27
|
export declare const SkillInputSchema: z.ZodType<SkillInput>;
|
|
27
28
|
export declare const SkillSaveSchema: z.ZodType<SkillSave>;
|
|
28
29
|
export declare const SkillImportSchema: z.ZodType<SkillImport>;
|
|
@@ -48,12 +49,13 @@ export interface SkillService {
|
|
|
48
49
|
version(id: string, version: number): Promise<SkillVersionDetail>;
|
|
49
50
|
/** `version` becomes current again, as a new version, when the skill is still at `expectedRevision`. */
|
|
50
51
|
restore(id: string, version: number, userId: string | null, expectedRevision: number): Promise<SkillDetail>;
|
|
52
|
+
validateIds(conn: DatabaseConnection, skillIds: readonly string[]): Promise<string[]>;
|
|
51
53
|
attached(target: SkillTarget): Promise<string[]>;
|
|
52
54
|
/** Makes `skillIds` the skills attached to the target; unknown ids are refused. */
|
|
53
55
|
attach(target: SkillTarget, skillIds: readonly string[], conn?: DatabaseConnection): Promise<string[]>;
|
|
54
56
|
/**
|
|
55
57
|
* For a claim: the latest version of every skill attached to `targets`, each once. Where two skills share a slug,
|
|
56
|
-
* the
|
|
58
|
+
* the later target wins.
|
|
57
59
|
*/
|
|
58
60
|
forRun(conn: DatabaseConnection, targets: readonly SkillTarget[], runId: string): Promise<RunSkill[]>;
|
|
59
61
|
/** One of a run's skills, as the runner fetches it: assembled from its blobs, cached by its version's hash. */
|
|
@@ -102,4 +104,6 @@ export interface SkillServiceDeps {
|
|
|
102
104
|
readonly blobs: SkillBlobs;
|
|
103
105
|
}
|
|
104
106
|
export declare function createSkillService(deps: SkillServiceDeps): SkillService;
|
|
107
|
+
/** Rows are ordered by target priority; replacement preserves deterministic slug order. */
|
|
108
|
+
export declare function mergeRunSkills(rows: readonly RunSkillRow[], runId: string): RunSkill[];
|
|
105
109
|
//# sourceMappingURL=skill.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.service.d.ts","sourceRoot":"","sources":["../../../../server/core/skills/skill.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,WAAW,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,
|
|
1
|
+
{"version":3,"file":"skill.service.d.ts","sourceRoot":"","sources":["../../../../server/core/skills/skill.service.ts"],"names":[],"mappings":"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"}
|