@nocobase/app-plugin-agents 0.1.0-beta.1 → 0.1.0-beta.11
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 +398 -0
- package/README.md +129 -67
- package/dist/client/api/client.d.ts +25 -17
- package/dist/client/api/client.d.ts.map +1 -1
- package/dist/client/api/client.js +29 -27
- package/dist/client/api/client.js.map +1 -1
- package/dist/client/api/keys.d.ts +1 -1
- package/dist/client/api/keys.d.ts.map +1 -1
- package/dist/client/api/keys.js +1 -1
- package/dist/client/api/keys.js.map +1 -1
- package/dist/client/chat/api.d.ts +2 -7
- package/dist/client/chat/api.d.ts.map +1 -1
- package/dist/client/chat/api.js +0 -7
- package/dist/client/chat/api.js.map +1 -1
- package/dist/client/chat/consultation-identity.d.ts +7 -0
- package/dist/client/chat/consultation-identity.d.ts.map +1 -0
- package/dist/client/chat/consultation-identity.js +39 -0
- package/dist/client/chat/consultation-identity.js.map +1 -0
- package/dist/client/chat/message-model.d.ts +4 -2
- package/dist/client/chat/message-model.d.ts.map +1 -1
- package/dist/client/chat/message-model.js +28 -3
- package/dist/client/chat/message-model.js.map +1 -1
- package/dist/client/chat/use-chat.d.ts +2 -10
- package/dist/client/chat/use-chat.d.ts.map +1 -1
- package/dist/client/chat/use-chat.js +3 -10
- package/dist/client/chat/use-chat.js.map +1 -1
- package/dist/client/chat.d.ts +4 -1
- package/dist/client/chat.d.ts.map +1 -1
- package/dist/client/chat.js +3 -0
- package/dist/client/chat.js.map +1 -1
- package/dist/client/components/agent-picker.d.ts +6 -23
- package/dist/client/components/agent-picker.d.ts.map +1 -1
- package/dist/client/components/agent-picker.js +19 -39
- package/dist/client/components/agent-picker.js.map +1 -1
- package/dist/client/components/variables/variable-dialogs.d.ts +6 -1
- package/dist/client/components/variables/variable-dialogs.d.ts.map +1 -1
- package/dist/client/components/variables/variable-dialogs.js +27 -11
- package/dist/client/components/variables/variable-dialogs.js.map +1 -1
- package/dist/client/components/variables/variables-panel.d.ts.map +1 -1
- package/dist/client/components/variables/variables-panel.js +9 -2
- package/dist/client/components/variables/variables-panel.js.map +1 -1
- package/dist/client/hooks/use-agent-picker-labels.d.ts.map +1 -1
- package/dist/client/hooks/use-agent-picker-labels.js +3 -12
- package/dist/client/hooks/use-agent-picker-labels.js.map +1 -1
- package/dist/client/kit.d.ts +9 -12
- package/dist/client/kit.d.ts.map +1 -1
- package/dist/client/kit.js +12 -14
- package/dist/client/kit.js.map +1 -1
- package/dist/client/lib/agents.d.ts +5 -13
- package/dist/client/lib/agents.d.ts.map +1 -1
- package/dist/client/lib/agents.js +17 -32
- package/dist/client/lib/agents.js.map +1 -1
- package/dist/client/lib/install.js +1 -1
- package/dist/client/locales/chat.en-US.d.ts +9 -22
- package/dist/client/locales/chat.en-US.d.ts.map +1 -1
- package/dist/client/locales/chat.en-US.js +13 -25
- package/dist/client/locales/chat.en-US.js.map +1 -1
- package/dist/client/locales/chat.zh-CN.d.ts.map +1 -1
- package/dist/client/locales/chat.zh-CN.js +10 -22
- package/dist/client/locales/chat.zh-CN.js.map +1 -1
- package/dist/client/locales/en-US.d.ts +101 -219
- package/dist/client/locales/en-US.d.ts.map +1 -1
- package/dist/client/locales/en-US.js +106 -219
- package/dist/client/locales/en-US.js.map +1 -1
- package/dist/client/locales/runWait.en-US.d.ts +38 -0
- package/dist/client/locales/runWait.en-US.d.ts.map +1 -0
- package/dist/client/locales/runWait.en-US.js +37 -0
- package/dist/client/locales/runWait.en-US.js.map +1 -0
- package/dist/client/locales/runWait.zh-CN.d.ts +5 -0
- package/dist/client/locales/runWait.zh-CN.d.ts.map +1 -0
- package/dist/client/locales/runWait.zh-CN.js +32 -0
- package/dist/client/locales/runWait.zh-CN.js.map +1 -0
- package/dist/client/locales/runtimes.en-US.d.ts +54 -0
- package/dist/client/locales/runtimes.en-US.d.ts.map +1 -1
- package/dist/client/locales/runtimes.en-US.js +57 -3
- 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 +57 -3
- package/dist/client/locales/runtimes.zh-CN.js.map +1 -1
- package/dist/client/locales/skills.en-US.d.ts +1 -0
- package/dist/client/locales/skills.en-US.d.ts.map +1 -1
- package/dist/client/locales/skills.en-US.js +2 -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 +2 -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 +108 -221
- package/dist/client/locales/zh-CN.js.map +1 -1
- package/dist/client/online/services.d.ts.map +1 -1
- package/dist/client/online/services.js +5 -6
- package/dist/client/online/services.js.map +1 -1
- package/dist/client/pages/agents/agent-dialog.d.ts +9 -0
- package/dist/client/pages/agents/agent-dialog.d.ts.map +1 -0
- package/dist/client/pages/agents/agent-dialog.js +106 -0
- package/dist/client/pages/agents/agent-dialog.js.map +1 -0
- package/dist/client/pages/agents/agent-state.d.ts +11 -0
- package/dist/client/pages/agents/agent-state.d.ts.map +1 -0
- package/dist/client/pages/agents/agent-state.js +28 -0
- package/dist/client/pages/agents/agent-state.js.map +1 -0
- package/dist/client/pages/agents/index.d.ts +1 -1
- package/dist/client/pages/agents/index.d.ts.map +1 -1
- package/dist/client/pages/agents/index.js +6 -100
- package/dist/client/pages/agents/index.js.map +1 -1
- package/dist/client/pages/agents/runner-agents.d.ts +3 -0
- package/dist/client/pages/agents/runner-agents.d.ts.map +1 -0
- package/dist/client/pages/agents/runner-agents.js +172 -0
- package/dist/client/pages/agents/runner-agents.js.map +1 -0
- package/dist/client/pages/runtimes/connect.js +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 +3 -2
- package/dist/client/pages/runtimes/index.js.map +1 -1
- package/dist/client/pages/runtimes/runner-cells.d.ts +1 -1
- package/dist/client/pages/runtimes/runner-cells.d.ts.map +1 -1
- package/dist/client/pages/runtimes/runner-cells.js +4 -1
- package/dist/client/pages/runtimes/runner-cells.js.map +1 -1
- package/dist/client/pages/runtimes/runner-sheet.d.ts.map +1 -1
- package/dist/client/pages/runtimes/runner-sheet.js +12 -3
- package/dist/client/pages/runtimes/runner-sheet.js.map +1 -1
- package/dist/client/pages/runtimes/workspace-diagnostics.d.ts +9 -0
- package/dist/client/pages/runtimes/workspace-diagnostics.d.ts.map +1 -0
- package/dist/client/pages/runtimes/workspace-diagnostics.js +68 -0
- package/dist/client/pages/runtimes/workspace-diagnostics.js.map +1 -0
- package/dist/client/pages/skills/detail/index.d.ts.map +1 -1
- package/dist/client/pages/skills/detail/index.js +7 -10
- 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/client/pages/usage/index.js +2 -2
- package/dist/client/pages/usage/index.js.map +1 -1
- package/dist/client/profile/default-agent.d.ts.map +1 -1
- package/dist/client/profile/default-agent.js +2 -4
- package/dist/client/profile/default-agent.js.map +1 -1
- package/dist/client/routes.d.ts +1 -1
- package/dist/client/routes.d.ts.map +1 -1
- package/dist/client/routes.js +1 -13
- package/dist/client/routes.js.map +1 -1
- package/dist/client/runs/format-wait.d.ts +21 -0
- package/dist/client/runs/format-wait.d.ts.map +1 -0
- package/dist/client/runs/format-wait.js +90 -0
- package/dist/client/runs/format-wait.js.map +1 -0
- package/dist/client/runs/subject-runs.d.ts +5 -0
- package/dist/client/runs/subject-runs.d.ts.map +1 -1
- package/dist/client/runs/subject-runs.js +13 -7
- package/dist/client/runs/subject-runs.js.map +1 -1
- package/dist/client/runs.d.ts +3 -1
- package/dist/client/runs.d.ts.map +1 -1
- package/dist/client/runs.js +3 -1
- package/dist/client/runs.js.map +1 -1
- package/dist/database/migrations/.manifest.json +62 -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/202610090001_ag_add_team_runner_variables.d.ts +9 -0
- package/dist/database/migrations/202610090001_ag_add_team_runner_variables.d.ts.map +1 -0
- package/dist/database/migrations/202610090001_ag_add_team_runner_variables.js +28 -0
- package/dist/database/migrations/202610090001_ag_add_team_runner_variables.js.map +1 -0
- package/dist/database/migrations/202610090002_ag_create_run_requests.d.ts +10 -0
- package/dist/database/migrations/202610090002_ag_create_run_requests.d.ts.map +1 -0
- package/dist/database/migrations/202610090002_ag_create_run_requests.js +105 -0
- package/dist/database/migrations/202610090002_ag_create_run_requests.js.map +1 -0
- package/dist/database/migrations/202610090003_ag_add_execution_history.d.ts +4 -0
- package/dist/database/migrations/202610090003_ag_add_execution_history.d.ts.map +1 -0
- package/dist/database/migrations/202610090003_ag_add_execution_history.js +17 -0
- package/dist/database/migrations/202610090003_ag_add_execution_history.js.map +1 -0
- package/dist/database/migrations/202610090004_ag_add_runner_workspace_usage.d.ts +9 -0
- package/dist/database/migrations/202610090004_ag_add_runner_workspace_usage.d.ts.map +1 -0
- package/dist/database/migrations/202610090004_ag_add_runner_workspace_usage.js +22 -0
- package/dist/database/migrations/202610090004_ag_add_runner_workspace_usage.js.map +1 -0
- package/dist/database/migrations/202610090005_ag_add_runner_variables.d.ts +10 -0
- package/dist/database/migrations/202610090005_ag_add_runner_variables.d.ts.map +1 -0
- package/dist/database/migrations/202610090005_ag_add_runner_variables.js +36 -0
- package/dist/database/migrations/202610090005_ag_add_runner_variables.js.map +1 -0
- package/dist/database/migrations/202610100001_ag_index_run_event_types.d.ts +4 -0
- package/dist/database/migrations/202610100001_ag_index_run_event_types.d.ts.map +1 -0
- package/dist/database/migrations/202610100001_ag_index_run_event_types.js +17 -0
- package/dist/database/migrations/202610100001_ag_index_run_event_types.js.map +1 -0
- package/dist/database/migrations/202610100002_ag_add_run_git_credentials.d.ts +9 -0
- package/dist/database/migrations/202610100002_ag_add_run_git_credentials.d.ts.map +1 -0
- package/dist/database/migrations/202610100002_ag_add_run_git_credentials.js +30 -0
- package/dist/database/migrations/202610100002_ag_add_run_git_credentials.js.map +1 -0
- package/dist/database/migrations/202610110001_ag_add_fresh_sessions.d.ts +4 -0
- package/dist/database/migrations/202610110001_ag_add_fresh_sessions.d.ts.map +1 -0
- package/dist/database/migrations/202610110001_ag_add_fresh_sessions.js +23 -0
- package/dist/database/migrations/202610110001_ag_add_fresh_sessions.js.map +1 -0
- package/dist/database/migrations/202610120001_ag_index_run_retries.d.ts +4 -0
- package/dist/database/migrations/202610120001_ag_index_run_retries.d.ts.map +1 -0
- package/dist/database/migrations/202610120001_ag_index_run_retries.js +17 -0
- package/dist/database/migrations/202610120001_ag_index_run_retries.js.map +1 -0
- package/dist/database/migrations/202610120002_ag_add_queue_entered_at.d.ts +4 -0
- package/dist/database/migrations/202610120002_ag_add_queue_entered_at.d.ts.map +1 -0
- package/dist/database/migrations/202610120002_ag_add_queue_entered_at.js +50 -0
- package/dist/database/migrations/202610120002_ag_add_queue_entered_at.js.map +1 -0
- package/dist/database/migrations/202610240020_ag_runner_agents.d.ts +4 -0
- package/dist/database/migrations/202610240020_ag_runner_agents.d.ts.map +1 -0
- package/dist/database/migrations/202610240020_ag_runner_agents.js +115 -0
- package/dist/database/migrations/202610240020_ag_runner_agents.js.map +1 -0
- package/dist/database/migrations/202610240040_ag_discovery_preferences.d.ts +4 -0
- package/dist/database/migrations/202610240040_ag_discovery_preferences.d.ts.map +1 -0
- package/dist/database/migrations/202610240040_ag_discovery_preferences.js +18 -0
- package/dist/database/migrations/202610240040_ag_discovery_preferences.js.map +1 -0
- 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 +8 -10
- package/dist/server/cli/run-credential.js +1 -1
- package/dist/server/composition.d.ts +41 -37
- package/dist/server/composition.d.ts.map +1 -1
- package/dist/server/composition.js +66 -66
- package/dist/server/composition.js.map +1 -1
- package/dist/server/core/agents/agent.service.d.ts +51 -43
- package/dist/server/core/agents/agent.service.d.ts.map +1 -1
- package/dist/server/core/agents/agent.service.js +342 -317
- package/dist/server/core/agents/agent.service.js.map +1 -1
- package/dist/server/core/agents/agent.store.d.ts +24 -12
- package/dist/server/core/agents/agent.store.d.ts.map +1 -1
- package/dist/server/core/agents/agent.store.js +64 -66
- package/dist/server/core/agents/agent.store.js.map +1 -1
- package/dist/server/core/agents/agent.views.d.ts +29 -0
- package/dist/server/core/agents/agent.views.d.ts.map +1 -0
- package/dist/server/core/agents/agent.views.js +86 -0
- package/dist/server/core/agents/agent.views.js.map +1 -0
- package/dist/server/core/agents/discovery.d.ts +12 -0
- package/dist/server/core/agents/discovery.d.ts.map +1 -0
- package/dist/server/core/agents/discovery.js +39 -0
- package/dist/server/core/agents/discovery.js.map +1 -0
- package/dist/server/core/agents/index.d.ts +2 -1
- package/dist/server/core/agents/index.d.ts.map +1 -1
- package/dist/server/core/agents/index.js +2 -1
- package/dist/server/core/agents/index.js.map +1 -1
- package/dist/server/core/brief/brief.js +1 -1
- package/dist/server/core/brief/brief.js.map +1 -1
- package/dist/server/core/callers/index.d.ts +1 -1
- package/dist/server/core/conversations/availability.d.ts +11 -10
- package/dist/server/core/conversations/availability.d.ts.map +1 -1
- package/dist/server/core/conversations/availability.js +14 -32
- package/dist/server/core/conversations/availability.js.map +1 -1
- package/dist/server/core/conversations/chat-settings.d.ts.map +1 -1
- package/dist/server/core/conversations/chat-settings.js +5 -3
- package/dist/server/core/conversations/chat-settings.js.map +1 -1
- package/dist/server/core/conversations/conversation.service.d.ts +3 -5
- package/dist/server/core/conversations/conversation.service.d.ts.map +1 -1
- package/dist/server/core/conversations/conversation.service.js +161 -221
- package/dist/server/core/conversations/conversation.service.js.map +1 -1
- package/dist/server/core/conversations/ports.d.ts +3 -17
- package/dist/server/core/conversations/ports.d.ts.map +1 -1
- package/dist/server/core/reports/report.service.d.ts.map +1 -1
- package/dist/server/core/reports/report.service.js +5 -2
- package/dist/server/core/reports/report.service.js.map +1 -1
- package/dist/server/core/runs/availability.d.ts +18 -7
- package/dist/server/core/runs/availability.d.ts.map +1 -1
- package/dist/server/core/runs/availability.js +35 -24
- package/dist/server/core/runs/availability.js.map +1 -1
- package/dist/server/core/runs/claim.d.ts +47 -67
- package/dist/server/core/runs/claim.d.ts.map +1 -1
- package/dist/server/core/runs/claim.js +805 -313
- 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/eligibility.d.ts +51 -0
- package/dist/server/core/runs/eligibility.d.ts.map +1 -0
- package/dist/server/core/runs/eligibility.js +44 -0
- package/dist/server/core/runs/eligibility.js.map +1 -0
- package/dist/server/core/runs/execution-view.d.ts +10 -0
- package/dist/server/core/runs/execution-view.d.ts.map +1 -0
- package/dist/server/core/runs/execution-view.js +25 -0
- package/dist/server/core/runs/execution-view.js.map +1 -0
- package/dist/server/core/runs/execution.d.ts +13 -0
- package/dist/server/core/runs/execution.d.ts.map +1 -0
- package/dist/server/core/runs/execution.js +85 -0
- package/dist/server/core/runs/execution.js.map +1 -0
- package/dist/server/core/runs/extensions.d.ts +59 -4
- package/dist/server/core/runs/extensions.d.ts.map +1 -1
- package/dist/server/core/runs/extensions.js +45 -9
- package/dist/server/core/runs/extensions.js.map +1 -1
- package/dist/server/core/runs/git-credentials.d.ts +43 -0
- package/dist/server/core/runs/git-credentials.d.ts.map +1 -0
- package/dist/server/core/runs/git-credentials.js +129 -0
- package/dist/server/core/runs/git-credentials.js.map +1 -0
- package/dist/server/core/runs/identity.d.ts +9 -0
- package/dist/server/core/runs/identity.d.ts.map +1 -0
- package/dist/server/core/runs/identity.js +75 -0
- package/dist/server/core/runs/identity.js.map +1 -0
- package/dist/server/core/runs/index.d.ts +9 -5
- package/dist/server/core/runs/index.d.ts.map +1 -1
- package/dist/server/core/runs/index.js +9 -5
- package/dist/server/core/runs/index.js.map +1 -1
- package/dist/server/core/runs/input-gate.d.ts +34 -0
- package/dist/server/core/runs/input-gate.d.ts.map +1 -0
- package/dist/server/core/runs/input-gate.js +58 -0
- package/dist/server/core/runs/input-gate.js.map +1 -0
- package/dist/server/core/runs/lifecycle.d.ts +9 -19
- package/dist/server/core/runs/lifecycle.d.ts.map +1 -1
- package/dist/server/core/runs/lifecycle.js +98 -50
- package/dist/server/core/runs/lifecycle.js.map +1 -1
- package/dist/server/core/runs/policy.d.ts +8 -0
- package/dist/server/core/runs/policy.d.ts.map +1 -1
- package/dist/server/core/runs/policy.js +10 -0
- package/dist/server/core/runs/policy.js.map +1 -1
- package/dist/server/core/runs/ports.d.ts +91 -28
- package/dist/server/core/runs/ports.d.ts.map +1 -1
- package/dist/server/core/runs/ports.js +2 -13
- package/dist/server/core/runs/ports.js.map +1 -1
- package/dist/server/core/runs/preview.d.ts.map +1 -1
- package/dist/server/core/runs/preview.js +3 -3
- package/dist/server/core/runs/preview.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 +245 -0
- package/dist/server/core/runs/run-requests.d.ts.map +1 -0
- package/dist/server/core/runs/run-requests.js +543 -0
- package/dist/server/core/runs/run-requests.js.map +1 -0
- package/dist/server/core/runs/run.service.d.ts +96 -11
- package/dist/server/core/runs/run.service.d.ts.map +1 -1
- package/dist/server/core/runs/run.service.js +921 -96
- package/dist/server/core/runs/run.service.js.map +1 -1
- package/dist/server/core/runs/run.store.d.ts +25 -3
- package/dist/server/core/runs/run.store.d.ts.map +1 -1
- package/dist/server/core/runs/run.store.js +52 -2
- package/dist/server/core/runs/run.store.js.map +1 -1
- package/dist/server/core/runs/runner-view.d.ts +6 -4
- package/dist/server/core/runs/runner-view.d.ts.map +1 -1
- package/dist/server/core/runs/runner-view.js +13 -11
- package/dist/server/core/runs/runner-view.js.map +1 -1
- package/dist/server/core/runs/selection.d.ts +13 -0
- package/dist/server/core/runs/selection.d.ts.map +1 -0
- package/dist/server/core/runs/selection.js +21 -0
- package/dist/server/core/runs/selection.js.map +1 -0
- 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 +55 -10
- package/dist/server/core/runs/sweeper.js.map +1 -1
- package/dist/server/core/runs/transitions.d.ts +2 -2
- package/dist/server/core/runs/transitions.d.ts.map +1 -1
- package/dist/server/core/runs/transitions.js +80 -8
- package/dist/server/core/runs/transitions.js.map +1 -1
- package/dist/server/core/runs/workload.d.ts +3 -3
- package/dist/server/core/runs/workload.d.ts.map +1 -1
- package/dist/server/core/runs/workload.js +154 -45
- 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 +43 -58
- 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/variables/index.d.ts +1 -1
- package/dist/server/core/variables/index.d.ts.map +1 -1
- package/dist/server/core/variables/index.js +1 -1
- package/dist/server/core/variables/index.js.map +1 -1
- package/dist/server/core/variables/variable.service.d.ts +38 -6
- package/dist/server/core/variables/variable.service.d.ts.map +1 -1
- package/dist/server/core/variables/variable.service.js +201 -30
- package/dist/server/core/variables/variable.service.js.map +1 -1
- package/dist/server/distribution/dist.service.d.ts +27 -5
- package/dist/server/distribution/dist.service.d.ts.map +1 -1
- package/dist/server/distribution/dist.service.js +41 -5
- package/dist/server/distribution/dist.service.js.map +1 -1
- package/dist/server/distribution/download-tokens.d.ts +1 -1
- package/dist/server/distribution/download-tokens.d.ts.map +1 -1
- package/dist/server/distribution/download-tokens.js +7 -4
- package/dist/server/distribution/download-tokens.js.map +1 -1
- package/dist/server/distribution/index.d.ts +11 -3
- package/dist/server/distribution/index.d.ts.map +1 -1
- package/dist/server/distribution/index.js +31 -8
- package/dist/server/distribution/index.js.map +1 -1
- package/dist/server/jobs/index.d.ts +1 -1
- package/dist/server/jobs/index.d.ts.map +1 -1
- package/dist/server/jobs/index.js +1 -1
- package/dist/server/jobs/index.js.map +1 -1
- package/dist/server/jobs/job.service.d.ts +3 -1
- package/dist/server/jobs/job.service.d.ts.map +1 -1
- package/dist/server/jobs/job.service.js +11 -3
- package/dist/server/jobs/job.service.js.map +1 -1
- package/dist/server/jobs/spec.d.ts +4 -0
- package/dist/server/jobs/spec.d.ts.map +1 -1
- package/dist/server/jobs/spec.js +6 -0
- package/dist/server/jobs/spec.js.map +1 -1
- package/dist/server/kernel/errors.d.ts +1 -1
- package/dist/server/kernel/errors.d.ts.map +1 -1
- package/dist/server/kernel/errors.js +1 -0
- package/dist/server/kernel/errors.js.map +1 -1
- package/dist/server/kernel/events.d.ts +34 -9
- package/dist/server/kernel/events.d.ts.map +1 -1
- package/dist/server/kernel/events.js.map +1 -1
- package/dist/server/kernel/redaction.d.ts +2 -0
- package/dist/server/kernel/redaction.d.ts.map +1 -1
- package/dist/server/kernel/redaction.js +17 -0
- package/dist/server/kernel/redaction.js.map +1 -1
- 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/index.d.ts +0 -5
- package/dist/server/online/index.d.ts.map +1 -1
- package/dist/server/online/index.js +0 -5
- package/dist/server/online/index.js.map +1 -1
- package/dist/server/online/routes.d.ts.map +1 -1
- package/dist/server/online/routes.js +6 -35
- package/dist/server/online/routes.js.map +1 -1
- package/dist/server/providers/agents.d.ts +8 -25
- package/dist/server/providers/agents.d.ts.map +1 -1
- package/dist/server/providers/agents.js +11 -75
- package/dist/server/providers/agents.js.map +1 -1
- package/dist/server/providers/runners.d.ts.map +1 -1
- package/dist/server/providers/runners.js +23 -0
- package/dist/server/providers/runners.js.map +1 -1
- package/dist/server/routes/admin.d.ts.map +1 -1
- package/dist/server/routes/admin.js +158 -209
- 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 +12 -70
- 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 +11 -1
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/roster.d.ts.map +1 -1
- package/dist/server/routes/roster.js +6 -21
- package/dist/server/routes/roster.js.map +1 -1
- package/dist/server/routes/run-requests.d.ts +6 -0
- package/dist/server/routes/run-requests.d.ts.map +1 -0
- package/dist/server/routes/run-requests.js +216 -0
- package/dist/server/routes/run-requests.js.map +1 -0
- package/dist/server/routes/runners/admin.d.ts +9 -1
- package/dist/server/routes/runners/admin.d.ts.map +1 -1
- package/dist/server/routes/runners/admin.js +62 -24
- package/dist/server/routes/runners/admin.js.map +1 -1
- package/dist/server/routes/runners/dist.d.ts +5 -1
- package/dist/server/routes/runners/dist.d.ts.map +1 -1
- package/dist/server/routes/runners/dist.js +36 -9
- package/dist/server/routes/runners/dist.js.map +1 -1
- package/dist/server/routes/runners/install.d.ts.map +1 -1
- package/dist/server/routes/runners/install.js +98 -15
- 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 +27 -7
- package/dist/server/routes/runners/runner.js.map +1 -1
- package/dist/server/routes/runners/runs.d.ts +1 -1
- package/dist/server/routes/runners/runs.d.ts.map +1 -1
- package/dist/server/routes/runners/runs.js +23 -3
- package/dist/server/routes/runners/runs.js.map +1 -1
- package/dist/server/routes/schemas.d.ts +37 -8
- package/dist/server/routes/schemas.d.ts.map +1 -1
- package/dist/server/routes/schemas.js +381 -84
- package/dist/server/routes/schemas.js.map +1 -1
- package/dist/server/runners/index.d.ts +1 -0
- package/dist/server/runners/index.d.ts.map +1 -1
- package/dist/server/runners/index.js +1 -0
- package/dist/server/runners/index.js.map +1 -1
- package/dist/server/runners/runner.service.d.ts +32 -8
- package/dist/server/runners/runner.service.d.ts.map +1 -1
- package/dist/server/runners/runner.service.js +130 -14
- package/dist/server/runners/runner.service.js.map +1 -1
- package/dist/server/runners/runner.store.d.ts +10 -1
- package/dist/server/runners/runner.store.d.ts.map +1 -1
- package/dist/server/runners/runner.store.js +117 -4
- package/dist/server/runners/runner.store.js.map +1 -1
- package/dist/server/runners/sweeper.d.ts +5 -0
- package/dist/server/runners/sweeper.d.ts.map +1 -1
- package/dist/server/runners/sweeper.js +4 -2
- package/dist/server/runners/sweeper.js.map +1 -1
- package/dist/server/runners/workspaces.d.ts +33 -0
- package/dist/server/runners/workspaces.d.ts.map +1 -0
- package/dist/server/runners/workspaces.js +248 -0
- package/dist/server/runners/workspaces.js.map +1 -0
- package/dist/server/testing.d.ts +0 -2
- package/dist/server/testing.d.ts.map +1 -1
- package/dist/server/testing.js +1 -4
- package/dist/server/testing.js.map +1 -1
- package/dist/server/tokens.d.ts +13 -9
- package/dist/server/tokens.d.ts.map +1 -1
- package/dist/server/tokens.js +7 -2
- package/dist/server/tokens.js.map +1 -1
- package/dist/shared/access.d.ts +2 -6
- package/dist/shared/access.d.ts.map +1 -1
- package/dist/shared/access.js +2 -6
- package/dist/shared/access.js.map +1 -1
- package/dist/shared/agents.d.ts +128 -167
- package/dist/shared/agents.d.ts.map +1 -1
- package/dist/shared/agents.js +46 -97
- package/dist/shared/agents.js.map +1 -1
- package/dist/shared/conversations.d.ts +43 -89
- package/dist/shared/conversations.d.ts.map +1 -1
- package/dist/shared/conversations.js +5 -24
- package/dist/shared/conversations.js.map +1 -1
- package/dist/shared/model-catalog.d.ts +48 -0
- package/dist/shared/model-catalog.d.ts.map +1 -0
- package/dist/shared/model-catalog.js +148 -0
- package/dist/shared/model-catalog.js.map +1 -0
- package/dist/shared/models.js +1 -1
- package/dist/shared/models.js.map +1 -1
- package/dist/shared/runners.d.ts +107 -17
- package/dist/shared/runners.d.ts.map +1 -1
- package/dist/shared/runners.js +49 -7
- package/dist/shared/runners.js.map +1 -1
- package/dist/shared/runs.d.ts +213 -1
- package/dist/shared/runs.d.ts.map +1 -1
- package/dist/shared/runs.js +24 -0
- package/dist/shared/runs.js.map +1 -1
- package/dist/shared/skills.d.ts +8 -4
- 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.d.ts +22 -0
- package/dist/shared/variables.d.ts.map +1 -1
- package/dist/shared/variables.js +10 -2
- package/dist/shared/variables.js.map +1 -1
- package/package.json +24 -26
- package/skills/nocobase-app-plugin-agents/SKILL.md +8 -7
- package/skills/nocobase-app-plugin-agents/references/agents.md +30 -0
- package/skills/nocobase-app-plugin-agents/references/distribution.md +21 -4
- package/skills/nocobase-app-plugin-agents/references/extension-points.md +30 -20
- package/skills/nocobase-app-plugin-agents/references/model-services.md +17 -0
- package/skills/nocobase-app-plugin-agents/references/runners.md +15 -1
- package/skills/nocobase-app-plugin-agents/references/setup-and-config.md +4 -7
- package/skills/nocobase-app-plugin-agents/references/variables-skills-usage.md +6 -4
- package/skills/nocobase-app-plugin-agents/references/verification-and-troubleshooting.md +33 -32
- package/dist/client/chat/settings-section.d.ts +0 -5
- package/dist/client/chat/settings-section.d.ts.map +0 -1
- package/dist/client/chat/settings-section.js +0 -76
- package/dist/client/chat/settings-section.js.map +0 -1
- package/dist/client/components/agent-fields.d.ts +0 -45
- package/dist/client/components/agent-fields.d.ts.map +0 -1
- package/dist/client/components/agent-fields.js +0 -83
- package/dist/client/components/agent-fields.js.map +0 -1
- package/dist/client/components/agent-type.d.ts +0 -32
- package/dist/client/components/agent-type.d.ts.map +0 -1
- package/dist/client/components/agent-type.js +0 -80
- package/dist/client/components/agent-type.js.map +0 -1
- package/dist/client/components/model-entries.d.ts +0 -35
- package/dist/client/components/model-entries.d.ts.map +0 -1
- package/dist/client/components/model-entries.js +0 -82
- package/dist/client/components/model-entries.js.map +0 -1
- package/dist/client/hooks/use-agent-save.d.ts +0 -9
- package/dist/client/hooks/use-agent-save.d.ts.map +0 -1
- package/dist/client/hooks/use-agent-save.js +0 -40
- package/dist/client/hooks/use-agent-save.js.map +0 -1
- package/dist/client/hooks/use-model-catalog.d.ts +0 -9
- package/dist/client/hooks/use-model-catalog.d.ts.map +0 -1
- package/dist/client/hooks/use-model-catalog.js +0 -27
- package/dist/client/hooks/use-model-catalog.js.map +0 -1
- package/dist/client/lib/tool-policy.d.ts +0 -5
- package/dist/client/lib/tool-policy.d.ts.map +0 -1
- package/dist/client/lib/tool-policy.js +0 -10
- package/dist/client/lib/tool-policy.js.map +0 -1
- package/dist/client/online/default-model.d.ts +0 -5
- package/dist/client/online/default-model.d.ts.map +0 -1
- package/dist/client/online/default-model.js +0 -65
- package/dist/client/online/default-model.js.map +0 -1
- package/dist/client/pages/agents/agent-model.d.ts +0 -73
- package/dist/client/pages/agents/agent-model.d.ts.map +0 -1
- package/dist/client/pages/agents/agent-model.js +0 -172
- package/dist/client/pages/agents/agent-model.js.map +0 -1
- package/dist/client/pages/agents/detail/brief-preview.d.ts +0 -7
- package/dist/client/pages/agents/detail/brief-preview.d.ts.map +0 -1
- package/dist/client/pages/agents/detail/brief-preview.js +0 -43
- package/dist/client/pages/agents/detail/brief-preview.js.map +0 -1
- package/dist/client/pages/agents/detail/history.d.ts +0 -11
- package/dist/client/pages/agents/detail/history.d.ts.map +0 -1
- package/dist/client/pages/agents/detail/history.js +0 -149
- package/dist/client/pages/agents/detail/history.js.map +0 -1
- package/dist/client/pages/agents/detail/index.d.ts +0 -3
- package/dist/client/pages/agents/detail/index.d.ts.map +0 -1
- package/dist/client/pages/agents/detail/index.js +0 -241
- package/dist/client/pages/agents/detail/index.js.map +0 -1
- package/dist/client/pages/agents/detail/sections.d.ts +0 -22
- package/dist/client/pages/agents/detail/sections.d.ts.map +0 -1
- package/dist/client/pages/agents/detail/sections.js +0 -311
- package/dist/client/pages/agents/detail/sections.js.map +0 -1
- package/dist/client/pages/agents/detail/tab-draft.d.ts +0 -43
- package/dist/client/pages/agents/detail/tab-draft.d.ts.map +0 -1
- package/dist/client/pages/agents/detail/tab-draft.js +0 -115
- package/dist/client/pages/agents/detail/tab-draft.js.map +0 -1
- package/dist/client/pages/agents/detail/unsaved-bar.d.ts +0 -13
- package/dist/client/pages/agents/detail/unsaved-bar.d.ts.map +0 -1
- package/dist/client/pages/agents/detail/unsaved-bar.js +0 -21
- package/dist/client/pages/agents/detail/unsaved-bar.js.map +0 -1
- package/dist/client/pages/agents/new.d.ts +0 -3
- package/dist/client/pages/agents/new.d.ts.map +0 -1
- package/dist/client/pages/agents/new.js +0 -149
- package/dist/client/pages/agents/new.js.map +0 -1
- package/dist/client/pages/agents/preset-picker.d.ts +0 -8
- package/dist/client/pages/agents/preset-picker.d.ts.map +0 -1
- package/dist/client/pages/agents/preset-picker.js +0 -41
- package/dist/client/pages/agents/preset-picker.js.map +0 -1
- package/dist/server/core/consultations/consultation.service.d.ts +0 -59
- package/dist/server/core/consultations/consultation.service.d.ts.map +0 -1
- package/dist/server/core/consultations/consultation.service.js +0 -195
- package/dist/server/core/consultations/consultation.service.js.map +0 -1
- package/dist/server/core/consultations/index.d.ts +0 -3
- package/dist/server/core/consultations/index.d.ts.map +0 -1
- package/dist/server/core/consultations/index.js +0 -3
- package/dist/server/core/consultations/index.js.map +0 -1
- package/dist/server/core/consultations/prompt.d.ts +0 -41
- package/dist/server/core/consultations/prompt.d.ts.map +0 -1
- package/dist/server/core/consultations/prompt.js +0 -64
- package/dist/server/core/consultations/prompt.js.map +0 -1
- package/dist/server/core/presets/index.d.ts +0 -19
- package/dist/server/core/presets/index.d.ts.map +0 -1
- package/dist/server/core/presets/index.js +0 -28
- package/dist/server/core/presets/index.js.map +0 -1
- package/dist/server/online/cli-command.d.ts +0 -20
- package/dist/server/online/cli-command.d.ts.map +0 -1
- package/dist/server/online/cli-command.js +0 -345
- package/dist/server/online/cli-command.js.map +0 -1
- package/dist/server/online/consult-tool.d.ts +0 -54
- package/dist/server/online/consult-tool.d.ts.map +0 -1
- package/dist/server/online/consult-tool.js +0 -177
- package/dist/server/online/consult-tool.js.map +0 -1
- package/dist/server/online/executor.d.ts +0 -83
- package/dist/server/online/executor.d.ts.map +0 -1
- package/dist/server/online/executor.js +0 -714
- package/dist/server/online/executor.js.map +0 -1
- package/dist/server/online/sandbox.d.ts +0 -32
- package/dist/server/online/sandbox.d.ts.map +0 -1
- package/dist/server/online/sandbox.js +0 -246
- package/dist/server/online/sandbox.js.map +0 -1
- package/dist/server/online/scripted.d.ts +0 -12
- package/dist/server/online/scripted.d.ts.map +0 -1
- package/dist/server/online/scripted.js +0 -176
- package/dist/server/online/scripted.js.map +0 -1
- package/dist/server/online/tools.d.ts +0 -17
- package/dist/server/online/tools.d.ts.map +0 -1
- package/dist/server/online/tools.js +0 -31
- package/dist/server/online/tools.js.map +0 -1
- package/dist/server/vendor/THIRD_PARTY_LICENSES.txt +0 -782
- package/dist/server/vendor/just-bash.d.ts +0 -83
- package/dist/server/vendor/just-bash.js +0 -2102
- package/dist/shared/presets.d.ts +0 -30
- package/dist/shared/presets.d.ts.map +0 -1
- package/dist/shared/presets.js +0 -2
- package/dist/shared/presets.js.map +0 -1
- package/skills/nocobase-app-plugin-agents/references/online-agents.md +0 -31
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/selection.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAEnD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CACN,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,CACN,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,GAAG,KACL,OAAO,CAAC,oBAAoB,CAAC,GACjC,MAAM,IAAI,CAAC;IACd,MAAM,CACJ,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,GAAG,GACP,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;CACzC;AAED,wBAAgB,4BAA4B,IAAI,sBAAsB,CAkBrE;AAED,wBAAgB,UAAU,CACxB,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,gBAAgB,GAAG,WAAW,GAAG,aAAa,CAAC,GAC7D,MAAM,CAKR"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export function createModelSelectionPolicies() {
|
|
2
|
+
const policies = new Map();
|
|
3
|
+
return {
|
|
4
|
+
register(agentId, policy) {
|
|
5
|
+
if (policies.has(agentId))
|
|
6
|
+
throw new Error(`Model selection already registered: ${agentId}`);
|
|
7
|
+
policies.set(agentId, policy);
|
|
8
|
+
return () => {
|
|
9
|
+
if (policies.get(agentId) === policy)
|
|
10
|
+
policies.delete(agentId);
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
async forRun(conn, run) {
|
|
14
|
+
return (await policies.get(run.agentId)?.(conn, run)) ?? null;
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export function queueStart(run) {
|
|
19
|
+
return Math.max(new Date(run.queueEnteredAt ?? run.createdAt).getTime(), run.availableAt ? new Date(run.availableAt).getTime() : 0);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../../../../server/core/runs/selection.ts"],"names":[],"mappings":"AAsBA,MAAM,UAAU,4BAA4B;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAGrB,CAAC;IACJ,OAAO;QACL,QAAQ,CAAC,OAAO,EAAE,MAAM;YACtB,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAC;YACpE,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO,GAAG,EAAE;gBACV,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,MAAM;oBAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjE,CAAC,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG;YACpB,OAAO,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QAChE,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,GAA8D;IAE9D,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EACvD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAC1D,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sweeper.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/sweeper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sweeper.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/sweeper.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAIvD,OAAO,EAML,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE9E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,oCAAoC;IACpC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;CACjD;AAID;;;GAGG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,OAAO,CAAC,EACxC,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAwMxD"}
|
|
@@ -4,14 +4,12 @@
|
|
|
4
4
|
* is safe to run on several instances at once: every move it makes is a guarded
|
|
5
5
|
* update, so a run another instance (or its runner) moved first is left alone.
|
|
6
6
|
*
|
|
7
|
-
* - The runs an offline runner holds go back to the queue (`runnerOffline`); so do the runs of a revoked runner.
|
|
8
|
-
* online run held by an application instance has no runner to be offline: when the instance stops renewing its
|
|
9
|
-
* lease, the lease rule below takes it back.
|
|
7
|
+
* - The runs an offline runner holds go back to the queue (`runnerOffline`); so do the runs of a revoked runner.
|
|
10
8
|
* - A dispatched run not started within `startTimeoutMs` goes back to the queue (`startTimeout`).
|
|
11
9
|
* - A held run whose lease lapsed goes back to the queue (`leaseExpired`).
|
|
12
10
|
* - A running run with no event for twice its idle timeout fails (`idleTimeout`).
|
|
13
11
|
* - A cancellation not acknowledged within `cancelGraceMs` is recorded as done.
|
|
14
|
-
* - Queued runs of an
|
|
12
|
+
* - Queued runs of an agent that is not enabled are cancelled.
|
|
15
13
|
* - A queued run that waited longer than its subject allows (`SubjectBinding.queuedExpiryMs`), counted from its last
|
|
16
14
|
* change (queued, sent back to the queue, merged into) or from when its delay passed, fails (`queuedExpired`).
|
|
17
15
|
*
|
|
@@ -23,10 +21,9 @@
|
|
|
23
21
|
import { TIMINGS, UsageSchema, } from '@nocobase/agent-protocol';
|
|
24
22
|
import { z } from 'zod';
|
|
25
23
|
import { jsonObject } from '../../kernel/values.js';
|
|
26
|
-
import { findAgent } from '../agents/index.js';
|
|
27
|
-
import { isServerHolder } from './claim.js';
|
|
24
|
+
import { lockAgentForClaim, findAgent } from '../agents/index.js';
|
|
28
25
|
import { toolPolicyFor } from './policy.js';
|
|
29
|
-
import { ACTIVE, eventsRepo, findRunRecord, runsRepo, usageRepo, } from './run.store.js';
|
|
26
|
+
import { ACTIVE, eventsRepo, findRunRecord, runsRepo, usageRepo, toRun, } from './run.store.js';
|
|
30
27
|
import { finishRun, requeueRun } from './transitions.js';
|
|
31
28
|
const ReportedUsage = z.array(UsageSchema);
|
|
32
29
|
/**
|
|
@@ -81,6 +78,7 @@ export function createSweeper(deps) {
|
|
|
81
78
|
const { tx, clock } = deps;
|
|
82
79
|
return {
|
|
83
80
|
async sweep() {
|
|
81
|
+
await deps.reconcileCommentQueue?.();
|
|
84
82
|
const now = clock.now();
|
|
85
83
|
const counts = { requeued: 0, failed: 0, cancelled: 0 };
|
|
86
84
|
const take = async (run, reason) => {
|
|
@@ -116,8 +114,7 @@ export function createSweeper(deps) {
|
|
|
116
114
|
const held = await runsRepo(conn).findMany({
|
|
117
115
|
filter: (f) => f.or(ACTIVE.map((status) => f.string('status').eq(status))),
|
|
118
116
|
});
|
|
119
|
-
|
|
120
|
-
const absent = new Set(await deps.runners.absent(conn, [...new Set(held.map((run) => run.runnerId ?? ''))].filter((id) => id !== '' && !isServerHolder(id))));
|
|
117
|
+
const absent = new Set(await deps.runners.absent(conn, [...new Set(held.map((run) => run.runnerId ?? ''))].filter((id) => id !== '')));
|
|
121
118
|
const policies = new Map();
|
|
122
119
|
const idleTimeoutOf = async (agentId) => {
|
|
123
120
|
if (!policies.has(agentId)) {
|
|
@@ -160,7 +157,11 @@ export function createSweeper(deps) {
|
|
|
160
157
|
f.string('status').eq('queued'),
|
|
161
158
|
f
|
|
162
159
|
.relation('agent')
|
|
163
|
-
.some((agent) => agent.
|
|
160
|
+
.some((agent) => agent.or([
|
|
161
|
+
agent.string('status').ne('enabled'),
|
|
162
|
+
agent.date('archivedAt').notEmpty(),
|
|
163
|
+
agent.date('deletedAt').notEmpty(),
|
|
164
|
+
])),
|
|
164
165
|
]),
|
|
165
166
|
});
|
|
166
167
|
for (const run of queued)
|
|
@@ -170,6 +171,50 @@ export function createSweeper(deps) {
|
|
|
170
171
|
detail: 'The agent was archived.',
|
|
171
172
|
});
|
|
172
173
|
for (const binding of deps.subjects.list()) {
|
|
174
|
+
if (binding.queuedTimeout) {
|
|
175
|
+
let cursor = null;
|
|
176
|
+
while (true) {
|
|
177
|
+
let scan = conn.query
|
|
178
|
+
.selectFrom('agRuns')
|
|
179
|
+
.select('id')
|
|
180
|
+
.where('status', '=', 'queued')
|
|
181
|
+
.where('subjectKind', '=', binding.kind);
|
|
182
|
+
if (cursor !== null)
|
|
183
|
+
scan = scan.where('id', '>', cursor);
|
|
184
|
+
const ids = await scan.orderBy('id').limit(200).execute();
|
|
185
|
+
const batch = ids.length
|
|
186
|
+
? await runsRepo(conn).findMany({
|
|
187
|
+
filter: (f) => f.or(ids.map((row) => f.string('id').eq(String(row.id)))),
|
|
188
|
+
sort: (s) => s.field('id').asc(),
|
|
189
|
+
})
|
|
190
|
+
: [];
|
|
191
|
+
if (!batch.length)
|
|
192
|
+
break;
|
|
193
|
+
for (const candidate of batch)
|
|
194
|
+
await tx.run(async (unit) => {
|
|
195
|
+
await lockAgentForClaim(unit.conn, candidate.agentId, clock.now().toISOString());
|
|
196
|
+
const current = await findRunRecord(unit.conn, candidate.id);
|
|
197
|
+
if (!current ||
|
|
198
|
+
current.status !== 'queued' ||
|
|
199
|
+
current.runnerId !== null ||
|
|
200
|
+
Number(current.attempt) !== Number(candidate.attempt) ||
|
|
201
|
+
time(current.queueEnteredAt ?? null) !==
|
|
202
|
+
time(candidate.queueEnteredAt ?? null) ||
|
|
203
|
+
time(current.availableAt) !== time(candidate.availableAt))
|
|
204
|
+
return;
|
|
205
|
+
const outcome = await binding.queuedTimeout(unit.conn, toRun(current), clock.now());
|
|
206
|
+
if (!outcome)
|
|
207
|
+
return;
|
|
208
|
+
const ended = await finishRun(unit, deps, current, {
|
|
209
|
+
status: 'cancelled',
|
|
210
|
+
...outcome,
|
|
211
|
+
});
|
|
212
|
+
if (ended)
|
|
213
|
+
counts.cancelled += 1;
|
|
214
|
+
});
|
|
215
|
+
cursor = batch.at(-1).id;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
173
218
|
const expiry = binding.queuedExpiryMs ?? 0;
|
|
174
219
|
if (!(expiry > 0))
|
|
175
220
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sweeper.js","sourceRoot":"","sources":["../../../../server/core/runs/sweeper.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sweeper.js","sourceRoot":"","sources":["../../../../server/core/runs/sweeper.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ export interface TransitionDeps {
|
|
|
14
14
|
}
|
|
15
15
|
export interface FinishOutcome {
|
|
16
16
|
readonly status: 'completed' | 'failed' | 'cancelled';
|
|
17
|
-
readonly reason?: FailureReason;
|
|
17
|
+
readonly reason?: FailureReason | null;
|
|
18
18
|
readonly detail?: string;
|
|
19
19
|
readonly summary?: string;
|
|
20
20
|
readonly sessionId?: string;
|
|
@@ -26,7 +26,7 @@ export declare function revokeTokens(tx: Tx, runId: string, now: string): Promis
|
|
|
26
26
|
* Ends `run` if it is still in `run.status` (and, when held, still held by the same runner). Returns the ended run,
|
|
27
27
|
* or null when someone else moved it first.
|
|
28
28
|
*/
|
|
29
|
-
export declare function finishRun(tx: Tx, deps: TransitionDeps, run: RunRecord, outcome: FinishOutcome): Promise<RunRecord | null>;
|
|
29
|
+
export declare function finishRun(tx: Tx, deps: TransitionDeps, run: RunRecord, outcome: FinishOutcome, versioned?: boolean, afterGuard?: () => Promise<void>): Promise<RunRecord | null>;
|
|
30
30
|
export interface RequeueOutcome {
|
|
31
31
|
readonly status: RunStatus;
|
|
32
32
|
/** When the next attempt may start; absent when the run ended instead. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/transitions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/transitions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAOlD,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,2CAA2C;AAC3C,wBAAsB,YAAY,CAChC,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,aAAa,EACtB,SAAS,UAAQ,EACjB,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC/B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAgE3B;AA0CD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,cAAc,CAAC,CA+DzB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { later } from '../../kernel/clock.js';
|
|
2
|
-
import { retryDelayMs } from './policy.js';
|
|
3
|
-
import {
|
|
2
|
+
import { retryDelayMs, WORKSPACE_WAIT_LIMIT_MS, workspaceBusyDelayMs, } from './policy.js';
|
|
3
|
+
import { endExecution } from './execution.js';
|
|
4
|
+
import { ACTIVE, findRunRecord, runsRepo, tokensRepo, toExecutions, toRun, } from './run.store.js';
|
|
4
5
|
/** Revokes every live token of the run. */
|
|
5
6
|
export async function revokeTokens(tx, runId, now) {
|
|
6
7
|
await tokensRepo(tx.conn).updateMany({
|
|
@@ -12,7 +13,7 @@ export async function revokeTokens(tx, runId, now) {
|
|
|
12
13
|
* Ends `run` if it is still in `run.status` (and, when held, still held by the same runner). Returns the ended run,
|
|
13
14
|
* or null when someone else moved it first.
|
|
14
15
|
*/
|
|
15
|
-
export async function finishRun(tx, deps, run, outcome) {
|
|
16
|
+
export async function finishRun(tx, deps, run, outcome, versioned = false, afterGuard) {
|
|
16
17
|
const now = deps.clock.now().toISOString();
|
|
17
18
|
const values = {
|
|
18
19
|
status: outcome.status,
|
|
@@ -21,9 +22,15 @@ export async function finishRun(tx, deps, run, outcome) {
|
|
|
21
22
|
availableAt: null,
|
|
22
23
|
updatedAt: now,
|
|
23
24
|
};
|
|
24
|
-
if (outcome.
|
|
25
|
+
if (outcome.status === 'completed') {
|
|
26
|
+
values.failureReason = null;
|
|
27
|
+
values.failureDetail = null;
|
|
28
|
+
}
|
|
29
|
+
else if (outcome.reason !== undefined) {
|
|
25
30
|
values.failureReason = outcome.reason;
|
|
26
|
-
|
|
31
|
+
values.failureDetail = outcome.detail?.slice(0, 10_000) ?? null;
|
|
32
|
+
}
|
|
33
|
+
else if (outcome.detail !== undefined)
|
|
27
34
|
values.failureDetail = outcome.detail.slice(0, 10_000);
|
|
28
35
|
if (outcome.summary !== undefined)
|
|
29
36
|
values.summary = outcome.summary;
|
|
@@ -35,6 +42,28 @@ export async function finishRun(tx, deps, run, outcome) {
|
|
|
35
42
|
filter: (f) => f.and([
|
|
36
43
|
f.string('id').eq(run.id),
|
|
37
44
|
f.string('status').eq(run.status),
|
|
45
|
+
...(versioned ? [f.number('revision').eq(run.revision)] : []),
|
|
46
|
+
...(run.status === 'queued'
|
|
47
|
+
? [
|
|
48
|
+
f.number('attempt').eq(Number(run.attempt)),
|
|
49
|
+
run.queueEnteredAt
|
|
50
|
+
? f.and([
|
|
51
|
+
f
|
|
52
|
+
.date('queueEnteredAt')
|
|
53
|
+
.notBefore(new Date(run.queueEnteredAt)),
|
|
54
|
+
f
|
|
55
|
+
.date('queueEnteredAt')
|
|
56
|
+
.notAfter(new Date(run.queueEnteredAt)),
|
|
57
|
+
])
|
|
58
|
+
: f.date('queueEnteredAt').empty(),
|
|
59
|
+
run.availableAt
|
|
60
|
+
? f.and([
|
|
61
|
+
f.date('availableAt').notBefore(new Date(run.availableAt)),
|
|
62
|
+
f.date('availableAt').notAfter(new Date(run.availableAt)),
|
|
63
|
+
])
|
|
64
|
+
: f.date('availableAt').empty(),
|
|
65
|
+
]
|
|
66
|
+
: []),
|
|
38
67
|
run.runnerId === null
|
|
39
68
|
? f.string('runnerId').eq(null)
|
|
40
69
|
: f.string('runnerId').eq(run.runnerId),
|
|
@@ -43,6 +72,8 @@ export async function finishRun(tx, deps, run, outcome) {
|
|
|
43
72
|
});
|
|
44
73
|
if (result.updatedCount !== 1)
|
|
45
74
|
return null;
|
|
75
|
+
await afterGuard?.();
|
|
76
|
+
await endExecution(tx.conn, run, now, outcome.reason ?? null);
|
|
46
77
|
await revokeTokens(tx, run.id, now);
|
|
47
78
|
const ended = (await findRunRecord(tx.conn, run.id));
|
|
48
79
|
tx.emit({ type: 'run.changed', runId: run.id, status: ended.status });
|
|
@@ -51,12 +82,46 @@ export async function finishRun(tx, deps, run, outcome) {
|
|
|
51
82
|
?.sink?.onRunFinished?.(tx, toRun(ended));
|
|
52
83
|
return ended;
|
|
53
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Workspace waits and runner upgrade interruptions do not consume maxAttempts. Include the open current attempt
|
|
87
|
+
* when reporting workspace contention; only consecutive workspace waits set the contention limit.
|
|
88
|
+
*/
|
|
89
|
+
function workspaceWaits(run, reporting) {
|
|
90
|
+
const executions = toExecutions(run.executionHistory);
|
|
91
|
+
const current = executions.find((item) => item.attempt === Number(run.attempt) && item.finishedAt === null);
|
|
92
|
+
const ended = executions.filter((item) => item !== current);
|
|
93
|
+
let total = ended.filter((item) => item.failureReason === 'workspaceBusy' ||
|
|
94
|
+
item.failureReason === 'runnerUpgrade').length;
|
|
95
|
+
let trailing = 0;
|
|
96
|
+
let since = null;
|
|
97
|
+
if (reporting) {
|
|
98
|
+
total += 1;
|
|
99
|
+
trailing = 1;
|
|
100
|
+
since = current?.dispatchedAt ?? run.dispatchedAt ?? null;
|
|
101
|
+
for (let i = ended.length - 1; i >= 0; i -= 1) {
|
|
102
|
+
const item = ended[i];
|
|
103
|
+
if (item.failureReason !== 'workspaceBusy')
|
|
104
|
+
break;
|
|
105
|
+
trailing += 1;
|
|
106
|
+
since = item.dispatchedAt;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return { total, trailing, since };
|
|
110
|
+
}
|
|
54
111
|
/**
|
|
55
112
|
* Takes a held run back from its runner after a retryable failure: it goes back to the queue while attempts remain,
|
|
56
113
|
* and fails with `reason` otherwise.
|
|
57
114
|
*/
|
|
58
115
|
export async function requeueRun(tx, deps, run, reason, detail) {
|
|
59
|
-
|
|
116
|
+
const now = deps.clock.now();
|
|
117
|
+
const waits = workspaceWaits(run, reason === 'workspaceBusy');
|
|
118
|
+
const exhausted = reason === 'runnerUpgrade'
|
|
119
|
+
? false
|
|
120
|
+
: reason === 'workspaceBusy'
|
|
121
|
+
? waits.since !== null &&
|
|
122
|
+
now.getTime() - Date.parse(waits.since) >= WORKSPACE_WAIT_LIMIT_MS
|
|
123
|
+
: Number(run.attempt) - waits.total >= Number(run.maxAttempts);
|
|
124
|
+
if (exhausted) {
|
|
60
125
|
const ended = await finishRun(tx, deps, run, {
|
|
61
126
|
status: 'failed',
|
|
62
127
|
reason,
|
|
@@ -64,9 +129,12 @@ export async function requeueRun(tx, deps, run, reason, detail) {
|
|
|
64
129
|
});
|
|
65
130
|
return { status: ended?.status ?? run.status, run: ended };
|
|
66
131
|
}
|
|
67
|
-
const now = deps.clock.now();
|
|
68
132
|
const nowText = now.toISOString();
|
|
69
|
-
const delay =
|
|
133
|
+
const delay = reason === 'runnerUpgrade'
|
|
134
|
+
? 0
|
|
135
|
+
: reason === 'workspaceBusy'
|
|
136
|
+
? workspaceBusyDelayMs(waits.trailing)
|
|
137
|
+
: retryDelayMs(reason, Number(run.attempt) - waits.total);
|
|
70
138
|
const availableAt = delay > 0 ? later(now, delay) : null;
|
|
71
139
|
const result = await runsRepo(tx.conn).updateMany({
|
|
72
140
|
filter: (f) => f.and([
|
|
@@ -78,6 +146,9 @@ export async function requeueRun(tx, deps, run, reason, detail) {
|
|
|
78
146
|
]),
|
|
79
147
|
values: {
|
|
80
148
|
status: 'queued',
|
|
149
|
+
queueEnteredAt: nowText,
|
|
150
|
+
teamOnlyVariables: null,
|
|
151
|
+
gitCredentialUrls: null,
|
|
81
152
|
runnerId: null,
|
|
82
153
|
attempt: Number(run.attempt) + 1,
|
|
83
154
|
availableAt,
|
|
@@ -93,6 +164,7 @@ export async function requeueRun(tx, deps, run, reason, detail) {
|
|
|
93
164
|
});
|
|
94
165
|
if (result.updatedCount !== 1)
|
|
95
166
|
return { status: run.status, run: null };
|
|
167
|
+
await endExecution(tx.conn, run, nowText, reason);
|
|
96
168
|
await revokeTokens(tx, run.id, nowText);
|
|
97
169
|
tx.emit({ type: 'run.changed', runId: run.id, status: 'queued' });
|
|
98
170
|
tx.emit({ type: 'run.requeued', runId: run.id, availableAt });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitions.js","sourceRoot":"","sources":["../../../../server/core/runs/transitions.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAc,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"transitions.js","sourceRoot":"","sources":["../../../../server/core/runs/transitions.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAc,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,MAAM,EACN,aAAa,EACb,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,KAAK,GAEN,MAAM,gBAAgB,CAAC;AAgBxB,2CAA2C;AAC3C,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,EAAM,EACN,KAAa,EACb,GAAW;IAEX,MAAM,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;QACnC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;KAC3B,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,EAAM,EACN,IAAoB,EACpB,GAAc,EACd,OAAsB,EACtB,SAAS,GAAG,KAAK,EACjB,UAAgC;IAEhC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,MAAM,GAA4B;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,GAAG;QACf,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,GAAG;KACf,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;IAC9B,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACtC,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC;IAClE,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QACrC,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACpE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAC1E,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;QACrC,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;QAChD,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,GAAG,CAAC;YACJ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;YACjC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ;gBACzB,CAAC,CAAC;oBACE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC3C,GAAG,CAAC,cAAc;wBAChB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;4BACJ,CAAC;iCACE,IAAI,CAAC,gBAAgB,CAAC;iCACtB,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;4BAC1C,CAAC;iCACE,IAAI,CAAC,gBAAgB,CAAC;iCACtB,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;yBAC1C,CAAC;wBACJ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE;oBACpC,GAAG,CAAC,WAAW;wBACb,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;4BACJ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;4BAC1D,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;yBAC1D,CAAC;wBACJ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE;iBAClC;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,QAAQ,KAAK,IAAI;gBACnB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC/B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;SAC1C,CAAC;QACJ,MAAM;KACP,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,UAAU,EAAE,EAAE,CAAC;IACrB,MAAM,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;IAC9D,MAAM,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,CAAC,MAAM,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAE,CAAC;IACtD,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,MAAM,IAAI,CAAC,QAAQ;SAChB,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;QACvB,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC;AACf,CAAC;AAWD;;;GAGG;AACH,SAAS,cAAc,CAAC,GAAc,EAAE,SAAkB;IACxD,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAC3E,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC5D,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CACtB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,aAAa,KAAK,eAAe;QACtC,IAAI,CAAC,aAAa,KAAK,eAAe,CACzC,CAAC,MAAM,CAAC;IACT,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,CAAC;QACX,QAAQ,GAAG,CAAC,CAAC;QACb,KAAK,GAAG,OAAO,EAAE,YAAY,IAAI,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,aAAa,KAAK,eAAe;gBAAE,MAAM;YAClD,QAAQ,IAAI,CAAC,CAAC;YACd,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AASD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,EAAM,EACN,IAAoB,EACpB,GAAc,EACd,MAAqB,EACrB,MAAe;IAEf,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,MAAM,KAAK,eAAe,CAAC,CAAC;IAC9D,MAAM,SAAS,GACb,MAAM,KAAK,eAAe;QACxB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,MAAM,KAAK,eAAe;YAC1B,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;gBACpB,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,uBAAuB;YACpE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACrE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;YAC3C,MAAM,EAAE,QAAQ;YAChB,MAAM;YACN,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAC7D,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,KAAK,GACT,MAAM,KAAK,eAAe;QACxB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,MAAM,KAAK,eAAe;YAC1B,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC;YACtC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;QAChD,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,GAAG,CAAC;YACJ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3D,GAAG,CAAC,QAAQ,KAAK,IAAI;gBACnB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC/B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;SAC1C,CAAC;QACJ,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,cAAc,EAAE,OAAO;YACvB,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,IAAI;YACvB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;YAChC,WAAW;YACX,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,MAAM;YACrB,aAAa,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;YACpE,SAAS,EAAE,OAAO;SACnB;KACF,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACxE,MAAM,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACxC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9D,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,WAAW,IAAI,OAAO;QAC/B,GAAG,EAAE,CAAC,MAAM,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI;KACpD,CAAC;AACJ,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* runner and the newest thing each reported, and the runs queued, with their place in the claim order and what holds
|
|
4
4
|
* each, worked out by the claim's own rules (`claim.ts`) without claiming anything.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* Common reads are batched: the open runs of the kind, every queued run (for the claim order), every held run
|
|
7
7
|
* (for the agents' and runners' counts and the busy subjects), the runners, the active jobs, the agents, the open
|
|
8
8
|
* runs' inputs, and the newest event of each held run of the kind (at most one per runner slot).
|
|
9
9
|
*/
|
|
@@ -31,7 +31,7 @@ export interface WaitContext {
|
|
|
31
31
|
/** Whether a run of the same (agent, subject, thread) is held now. */
|
|
32
32
|
readonly sameWorkActive: boolean;
|
|
33
33
|
}
|
|
34
|
-
type WaitFacts = Pick<RunRecord, 'actorUserId' | 'availableAt' | 'claimFailures' | 'failureDetail'> & {
|
|
34
|
+
type WaitFacts = Pick<RunRecord, 'actorUserId' | 'availableAt' | 'claimFailures' | 'failureDetail'> & Partial<Pick<RunRecord, 'teamOnlyVariables'>> & {
|
|
35
35
|
readonly requires: readonly RunnerFeature[];
|
|
36
36
|
};
|
|
37
37
|
/**
|
|
@@ -44,6 +44,6 @@ export interface WorkloadRunners {
|
|
|
44
44
|
all(conn: DatabaseConnection): Promise<Runner[]>;
|
|
45
45
|
jobsByRunner(conn: DatabaseConnection): Promise<ReadonlyMap<string, number>>;
|
|
46
46
|
}
|
|
47
|
-
export declare function readWorkload(conn: DatabaseConnection, clock: Clock, runnerSource: WorkloadRunners, query: WorkloadQuery): Promise<Workload>;
|
|
47
|
+
export declare function readWorkload(conn: DatabaseConnection, clock: Clock, runnerSource: WorkloadRunners, query: WorkloadQuery, diagnose?: import('./claim.js').ClaimService['diagnose']): Promise<Workload>;
|
|
48
48
|
export {};
|
|
49
49
|
//# sourceMappingURL=workload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workload.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/workload.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"workload.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/workload.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAIL,KAAK,MAAM,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,aAAa,EAEnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAInD,OAAO,EAML,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAexB,uEAAuE;AACvE,wBAAgB,UAAU,CACxB,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC,EACnD,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC,GAClD,MAAM,CAMR;AAED,4EAA4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,sBAAsB;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,yDAAyD;IACzD,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,wGAAwG;IACxG,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CACnC,MAAM,EACN,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAC7C,CAAC;IACF,gCAAgC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED,KAAK,SAAS,GAAG,IAAI,CACnB,SAAS,EACT,aAAa,GAAG,aAAa,GAAG,eAAe,GAAG,eAAe,CAClE,GACC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,GAAG;IAC9C,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CAC7C,CAAC;AAeJ;;;GAGG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,WAAW,GACnB,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,eAAe,CAAC,CAuG7C;AAuCD,yGAAyG;AACzG,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,YAAY,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9E;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,eAAe,EAC7B,KAAK,EAAE,aAAa,EACpB,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,GACvD,OAAO,CAAC,QAAQ,CAAC,CAyRnB"}
|