@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
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { entryTools } from '../../../shared/agents.js';
|
|
2
|
-
import { runsTool, toolLimit } from '../../../shared/runners.js';
|
|
2
|
+
import { runsEntry, runsTool, toolLimit, } from '../../../shared/runners.js';
|
|
3
3
|
import { RUN_ACTIVITY_TEXT_MAX, } from '../../../shared/runs.js';
|
|
4
4
|
import { covers } from '../../kernel/values.js';
|
|
5
|
+
import { variableRefs } from '../variables/index.js';
|
|
5
6
|
import { listAgents } from '../agents/index.js';
|
|
6
7
|
import { ACTIVE, eventsRepo, inputsRepo, runsRepo, toRun, } from './run.store.js';
|
|
7
8
|
const DEFAULT_LIMIT = 200;
|
|
@@ -24,6 +25,7 @@ const wait = (reason, extra = {}) => ({
|
|
|
24
25
|
tool: null,
|
|
25
26
|
missing: [],
|
|
26
27
|
detail: null,
|
|
28
|
+
variables: [],
|
|
27
29
|
...extra,
|
|
28
30
|
});
|
|
29
31
|
/**
|
|
@@ -32,54 +34,88 @@ const wait = (reason, extra = {}) => ({
|
|
|
32
34
|
*/
|
|
33
35
|
export function explainWait(run, context) {
|
|
34
36
|
const { agent } = context;
|
|
35
|
-
if (!agent || agent.
|
|
37
|
+
if (!agent || agent.status !== 'enabled')
|
|
36
38
|
return wait('agentArchived');
|
|
37
39
|
const availableAt = time(run.availableAt);
|
|
38
|
-
if (availableAt !== null && availableAt > context.now.getTime())
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return wait('next');
|
|
40
|
+
if (availableAt !== null && availableAt > context.now.getTime()) {
|
|
41
|
+
const until = iso(run.availableAt);
|
|
42
|
+
return wait('delayed', { until, params: until ? { until } : {} });
|
|
43
|
+
}
|
|
43
44
|
const tools = entryTools(agent);
|
|
44
45
|
const tool = tools[0] ?? null;
|
|
46
|
+
const model = agent.modelEntries[0]?.model ?? null;
|
|
45
47
|
let fitting = context.runners;
|
|
46
48
|
if (fitting.length === 0)
|
|
47
49
|
return wait('noRunnerOnline');
|
|
48
|
-
|
|
49
|
-
fitting = fitting.filter((runner) => agent.runnerIds.includes(runner.id));
|
|
50
|
-
if (fitting.length === 0)
|
|
51
|
-
return wait('runnersOffline');
|
|
52
|
-
}
|
|
53
|
-
fitting = fitting.filter((runner) => tools.some((each) => runsTool(runner, each)));
|
|
50
|
+
fitting = fitting.filter((runner) => agent.modelEntries.some((entry) => runsEntry(runner, entry)));
|
|
54
51
|
if (fitting.length === 0)
|
|
55
|
-
return wait('toolUnavailable', {
|
|
52
|
+
return wait('toolUnavailable', {
|
|
53
|
+
tool,
|
|
54
|
+
params: {
|
|
55
|
+
...(tool ? { tool } : {}),
|
|
56
|
+
...(model ? { model } : {}),
|
|
57
|
+
},
|
|
58
|
+
});
|
|
56
59
|
fitting = fitting.filter((runner) => runner.trust === 'team' || runner.ownerUserId === run.actorUserId);
|
|
57
60
|
if (fitting.length === 0)
|
|
58
61
|
return wait('noSharedRunner');
|
|
59
62
|
const withFeatures = fitting.filter((runner) => covers(runner.features, run.requires));
|
|
60
63
|
if (withFeatures.length === 0) {
|
|
61
64
|
const offered = new Set(fitting.flatMap((runner) => runner.features));
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
});
|
|
65
|
+
const missing = run.requires.filter((feature) => !offered.has(feature));
|
|
66
|
+
return wait('missingFeatures', { missing, params: { features: missing } });
|
|
65
67
|
}
|
|
68
|
+
// Variables for team runners only, as the last claim by a personal runner found them (`claim.ts`).
|
|
69
|
+
const teamOnly = variableRefs(run.teamOnlyVariables);
|
|
70
|
+
const trusted = teamOnly.length > 0
|
|
71
|
+
? withFeatures.filter((runner) => runner.trust === 'team')
|
|
72
|
+
: withFeatures;
|
|
73
|
+
if (trusted.length === 0)
|
|
74
|
+
return wait('secretsNotAllowed', {
|
|
75
|
+
variables: teamOnly,
|
|
76
|
+
params: { variables: [...new Set(teamOnly.map((each) => each.name))] },
|
|
77
|
+
});
|
|
66
78
|
if (context.sameWorkActive)
|
|
67
79
|
return wait('sameWorkActive');
|
|
68
80
|
if (context.agentActive >= agent.maxConcurrentRuns)
|
|
69
|
-
return wait('concurrencyFull'
|
|
70
|
-
|
|
81
|
+
return wait('concurrencyFull', {
|
|
82
|
+
params: { active: context.agentActive, limit: agent.maxConcurrentRuns },
|
|
83
|
+
});
|
|
84
|
+
if (trusted.every((runner) => runner.draining))
|
|
85
|
+
return wait(trusted.some((runner) => runner.draining === 'updatePending')
|
|
86
|
+
? 'updatePending'
|
|
87
|
+
: 'pruning');
|
|
88
|
+
const free = trusted.filter((runner) => !runner.draining &&
|
|
89
|
+
(runner.globalFree ?? 1) > 0 &&
|
|
90
|
+
(context.runnerUsed.get(runner.id) ?? 0) < runner.slots);
|
|
71
91
|
if (free.length === 0)
|
|
72
|
-
return wait('runnersBusy');
|
|
92
|
+
return wait('runnersBusy', { params: { runners: trusted.length } });
|
|
73
93
|
// A tool has room on a runner below its limit here and while the runner last said it could take more of it.
|
|
74
94
|
const hasRoom = (runner, each) => (context.runnerToolUsed?.get(runner.id)?.[each] ?? 0) <
|
|
75
95
|
toolLimit(runner, each) && (runner.toolLoad?.[each]?.free ?? 1) > 0;
|
|
76
|
-
if (free.every((runner) => !
|
|
96
|
+
if (free.every((runner) => !agent.modelEntries.some((entry) => runsEntry(runner, entry) && hasRoom(runner, entry.tool)))) {
|
|
97
|
+
const full = tools.find((each) => free.some((runner) => runsTool(runner, each))) ??
|
|
98
|
+
null;
|
|
99
|
+
// The runner that runs it with the fewest of its slots taken: the one closest to room.
|
|
100
|
+
const closest = full
|
|
101
|
+
? free
|
|
102
|
+
.filter((runner) => runsTool(runner, full))
|
|
103
|
+
.map((runner) => ({
|
|
104
|
+
used: context.runnerToolUsed?.get(runner.id)?.[full] ?? 0,
|
|
105
|
+
limit: toolLimit(runner, full),
|
|
106
|
+
}))
|
|
107
|
+
.sort((a, b) => a.used - a.limit - (b.used - b.limit))[0]
|
|
108
|
+
: undefined;
|
|
77
109
|
return wait('toolSlotsFull', {
|
|
78
|
-
tool:
|
|
79
|
-
|
|
110
|
+
tool: full,
|
|
111
|
+
params: full ? { tool: full, ...(closest ? closest : {}) } : {},
|
|
80
112
|
});
|
|
113
|
+
}
|
|
81
114
|
if (Number(run.claimFailures) > 0)
|
|
82
|
-
return wait('setupRetrying', {
|
|
115
|
+
return wait('setupRetrying', {
|
|
116
|
+
detail: run.failureDetail,
|
|
117
|
+
params: run.failureDetail ? { detail: run.failureDetail } : {},
|
|
118
|
+
});
|
|
83
119
|
return wait('next');
|
|
84
120
|
}
|
|
85
121
|
const keyOf = (run) => JSON.stringify([
|
|
@@ -116,7 +152,7 @@ function cut(text) {
|
|
|
116
152
|
? `${line.slice(0, RUN_ACTIVITY_TEXT_MAX - 1)}…`
|
|
117
153
|
: line;
|
|
118
154
|
}
|
|
119
|
-
export async function readWorkload(conn, clock, runnerSource, query) {
|
|
155
|
+
export async function readWorkload(conn, clock, runnerSource, query, diagnose) {
|
|
120
156
|
const now = clock.now();
|
|
121
157
|
const limit = Math.min(Math.max(query.limit ?? DEFAULT_LIMIT, 1), MAX_LIMIT);
|
|
122
158
|
const open = await runsRepo(conn).findMany({
|
|
@@ -139,7 +175,7 @@ export async function readWorkload(conn, clock, runnerSource, query) {
|
|
|
139
175
|
const runners = await runnerSource.all(conn);
|
|
140
176
|
const online = runners.filter((runner) => runner.status === 'online');
|
|
141
177
|
const jobs = await runnerSource.jobsByRunner(conn);
|
|
142
|
-
const agents = await listAgents(conn
|
|
178
|
+
const agents = await listAgents(conn);
|
|
143
179
|
const agentById = new Map(agents.map((agent) => [agent.id, agent]));
|
|
144
180
|
const runnerUsed = new Map();
|
|
145
181
|
const runnerToolUsed = new Map();
|
|
@@ -210,31 +246,108 @@ export async function readWorkload(conn, clock, runnerSource, query) {
|
|
|
210
246
|
});
|
|
211
247
|
}
|
|
212
248
|
const runnerName = new Map(runners.map((runner) => [runner.id, runner.name]));
|
|
213
|
-
const runs = mine.map((record) => {
|
|
249
|
+
const runs = await Promise.all(mine.map(async (record) => {
|
|
214
250
|
const run = toRun(record);
|
|
215
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);
|
|
216
297
|
return {
|
|
217
298
|
...run,
|
|
218
299
|
trigger: triggers.get(run.id) ?? null,
|
|
219
|
-
runnerName: run.runnerId
|
|
300
|
+
runnerName: run.runnerId
|
|
301
|
+
? (runnerName.get(run.runnerId) ?? null)
|
|
302
|
+
: null,
|
|
220
303
|
lastActivity: activity.get(run.id) ?? null,
|
|
221
304
|
wait: isQueued
|
|
222
305
|
? {
|
|
223
|
-
...
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
306
|
+
...previous,
|
|
307
|
+
...(entry && !detailed
|
|
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
|
+
: {}),
|
|
232
345
|
position: position.get(run.id) ?? null,
|
|
233
346
|
agentPosition: agentPosition.get(run.id) ?? 1,
|
|
234
347
|
}
|
|
235
348
|
: null,
|
|
236
349
|
};
|
|
237
|
-
});
|
|
350
|
+
}));
|
|
238
351
|
// Held runs first, the longest-running first; then queued ones in claim order.
|
|
239
352
|
const order = new Map(queued.map((run, index) => [run.id, index]));
|
|
240
353
|
runs.sort((a, b) => {
|
|
@@ -250,19 +363,15 @@ export async function readWorkload(conn, clock, runnerSource, query) {
|
|
|
250
363
|
const loads = [];
|
|
251
364
|
const agentsWithRuns = new Set(mine.map((run) => run.agentId));
|
|
252
365
|
for (const agent of agents) {
|
|
253
|
-
if (agent.
|
|
366
|
+
if (agent.status !== 'enabled' && !agentsWithRuns.has(agent.id))
|
|
254
367
|
continue;
|
|
255
368
|
loads.push({
|
|
256
369
|
agentId: agent.id,
|
|
257
370
|
active: agentActive.get(agent.id) ?? 0,
|
|
258
371
|
queued: agentQueued.get(agent.id) ?? 0,
|
|
259
372
|
maxConcurrentRuns: agent.maxConcurrentRuns,
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
(agent.type === 'online' ||
|
|
263
|
-
online.some((runner) => entryTools(agent).some((tool) => runsTool(runner, tool)) &&
|
|
264
|
-
(agent.runnerIds.length === 0 ||
|
|
265
|
-
agent.runnerIds.includes(runner.id)))),
|
|
373
|
+
online: agent.status === 'enabled' &&
|
|
374
|
+
online.some((runner) => agent.modelEntries.some((entry) => runsEntry(runner, entry))),
|
|
266
375
|
});
|
|
267
376
|
}
|
|
268
377
|
return {
|
|
@@ -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":"AAYA,OAAO,EAAE,UAAU,EAAc,MAAM,2BAA2B,CAAC;AACnE,OAAO,EACL,SAAS,EACT,QAAQ,EACR,SAAS,GAEV,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,qBAAqB,GAOtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,MAAM,EACN,UAAU,EACV,UAAU,EACV,QAAQ,EACR,KAAK,GAEN,MAAM,gBAAgB,CAAC;AAExB,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,SAAS,GAAG,IAAI,CAAC;AACvB,2DAA2D;AAC3D,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,yDAAyD;AACzD,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAEvE,MAAM,IAAI,GAAG,CAAC,KAA2B,EAAiB,EAAE,CAC1D,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;AAEpD,MAAM,GAAG,GAAG,CAAC,KAA2B,EAAiB,EAAE,CACzD,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAExD,uEAAuE;AACvE,MAAM,UAAU,UAAU,CACxB,CAAmD,EACnD,CAAmD;IAEnD,OAAO,CACL,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QACvC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CACzB,CAAC;AACJ,CAAC;AA6BD,MAAM,IAAI,GAAG,CACX,MAAyB,EACzB,QAAyE,EAAE,EAC9B,EAAE,CAAC,CAAC;IACjD,MAAM;IACN,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,EAAE;IACb,GAAG,KAAK;CACT,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,GAAc,EACd,OAAoB;IAEpB,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;IACnD,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAC7D,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QACtB,OAAO,IAAI,CAAC,iBAAiB,EAAE;YAC7B,IAAI;YACJ,MAAM,EAAE;gBACN,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5B;SACF,CAAC,CAAC;IACL,OAAO,GAAG,OAAO,CAAC,MAAM,CACtB,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,GAAG,CAAC,WAAW,CACpE,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAC7C,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CACtC,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,mGAAmG;IACnG,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACrD,MAAM,OAAO,GACX,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjB,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC;QAC1D,CAAC,CAAC,YAAY,CAAC;IACnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QACtB,OAAO,IAAI,CAAC,mBAAmB,EAAE;YAC/B,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;SACvE,CAAC,CAAC;IACL,IAAI,OAAO,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,iBAAiB;QAChD,OAAO,IAAI,CAAC,iBAAiB,EAAE;YAC7B,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,iBAAiB,EAAE;SACxE,CAAC,CAAC;IACL,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5C,OAAO,IAAI,CACT,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,eAAe,CAAC;YAC3D,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CACzB,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,MAAM,CAAC,QAAQ;QAChB,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC;QAC5B,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAC1D,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtE,4GAA4G;IAC5G,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,IAAe,EAAW,EAAE,CAC3D,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACxE,IACE,IAAI,CAAC,KAAK,CACR,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CACtB,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CACnE,CACJ,EACD,CAAC;QACD,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC;QACP,uFAAuF;QACvF,MAAM,OAAO,GAAG,IAAI;YAClB,CAAC,CAAC,IAAI;iBACD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;iBAC1C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAChB,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzD,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;aAC/B,CAAC,CAAC;iBACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,IAAI,CAAC,eAAe,EAAE;YAC3B,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;SAChE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC;QAC/B,OAAO,IAAI,CAAC,eAAe,EAAE;YAC3B,MAAM,EAAE,GAAG,CAAC,aAAa;YACzB,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE;SAC/D,CAAC,CAAC;IACL,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,KAAK,GAAG,CACZ,GAA6E,EACrE,EAAE,CACV,IAAI,CAAC,SAAS,CAAC;IACb,GAAG,CAAC,OAAO;IACX,GAAG,CAAC,WAAW;IACf,GAAG,CAAC,SAAS;IACb,GAAG,CAAC,WAAW;CAChB,CAAC,CAAC;AAEL,SAAS,SAAS,CAAC,OAAgB;IACjC,MAAM,KAAK,GACT,OAAO,OAAO,KAAK,QAAQ;QACzB,CAAC,CAAC,CAAC,GAAG,EAAE;YACJ,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,OAAO,CAAC;IACd,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,OAAO,GAAI,KAAiC,CAAC,OAAO,CAAC;QAC3D,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE;YAAE,OAAO,OAAO,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,GAAG,CAAC,IAAmB;IAC9B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,IAAI,CAAC,MAAM,GAAG,qBAAqB;QACxC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,GAAG,CAAC,CAAC,GAAG;QAChD,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAwB,EACxB,KAAY,EACZ,YAA6B,EAC7B,KAAoB,EACpB,QAAwD;IAExD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;QACzC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,GAAG,CAAC;YACJ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;YAC7C,CAAC,CAAC,EAAE,CACF,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CACrE;SACF,CAAC;QACJ,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACvE,KAAK,EAAE,KAAK,GAAG,CAAC;KACjB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAElC,MAAM,MAAM,GAAG,CACb,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;QAC5B,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC5B,KAAK,EAAE,UAAU;KAClB,CAAC,CACH,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;QACzC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,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;KAC3E,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,EAA8C,CAAC;IAC7E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAwB,CAAC;YAC1C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI;QAClC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAEpE,+FAA+F;IAC/F,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE;YACpC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACtD,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,4CAA4C;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;YAC7C,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9D,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;SAC1E,CAAC,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,SAAS;YACxC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,OAAO;gBAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAS;QAC3C,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC3C,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,GAAG,CAAC;gBACJ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;aAC9D,CAAC;YACJ,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;SACzC,CAAC,CAAC;QACH,IAAI,KAAK;YACP,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE;gBACnB,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE;gBAC7B,IAAI,EAAE,KAAK,CAAC,IAA2B;gBACvC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;aACzC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAkB,MAAM,OAAO,CAAC,GAAG,CAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;QAC5C,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,UAAU,GACd,QAAQ,IAAI,cAAc,EAAE,MAAM,KAAK,SAAS,IAAI,QAAQ;YAC1D,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,QAAQ,GAAG,WAAW,CAC1B,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EACrC;YACE,GAAG;YACH,KAAK,EAAE,cAAc,IAAI,IAAI;YAC7B,OAAO,EAAE,MAAM;YACf,UAAU;YACV,cAAc;YACd,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YAC9C,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC5C,CACF,CAAC;QACF,sGAAsG;QACtG,MAAM,QAAQ,GAAG;YACf,mBAAmB;YACnB,SAAS;YACT,eAAe;YACf,eAAe;SAChB,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,KAAK,GACT,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC;YAC7D,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,KAAK,GAAgD;YACzD,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,eAAe;YAC9B,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,gBAAgB;YACzB,YAAY,EAAE,cAAc;YAC5B,UAAU,EAAE,YAAY;YACxB,eAAe,EAAE,iBAAiB;YAClC,cAAc,EAAE,gBAAgB;YAChC,OAAO,EAAE,SAAS;YAClB,eAAe,EAAE,iBAAiB;YAClC,gBAAgB,EAAE,kBAAkB;YACpC,cAAc,EAAE,gBAAgB;YAChC,OAAO,EAAE,SAAS;SACnB,CAAC;QACF,MAAM,KAAK,GACT,KAAK,EAAE,OAAO,CAAC,MAAM,CACnB,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,MAAM,KAAK,SAAS;YAC3B,MAAM,CAAC,MAAM,KAAK,OAAO;YACzB,MAAM,CAAC,MAAM,KAAK,MAAM,CAC3B,IAAI,EAAE,CAAC;QACV,MAAM,QAAQ,GACZ,KAAK,EAAE,MAAM,KAAK,MAAM;YACxB,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YAChE,KAAK,CAAC,KAAK,CACT,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;gBACjD,MAAM,CAAC,YAAY,KAAK,CAAC,CAC5B,CAAC;QACJ,OAAO;YACL,GAAG,GAAG;YACN,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI;YACrC,UAAU,EAAE,GAAG,CAAC,QAAQ;gBACtB,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;gBACxC,CAAC,CAAC,IAAI;YACR,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI;YAC1C,IAAI,EAAE,QAAQ;gBACZ,CAAC,CAAC;oBACE,GAAG,QAAQ;oBACX,GAAG,CAAC,KAAK,IAAI,CAAC,QAAQ;wBACpB,CAAC,CAAC;4BACE,MAAM,EACJ,KAAK,CAAC,MAAM,KAAK,OAAO;gCACxB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;gCAC9B,CAAC,CAAC,eAAe;gCACjB,CAAC,CAAC,QAAQ;oCACR,CAAC,CAAC,eAAe;oCACjB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;4BAC3B,MAAM,EAAE;gCACN,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;qCAC7B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;qCAC3C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gCACjC,IAAI,EAAE,KAAK,CAAC,IAAI;gCAChB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,iBAAiB;oCACpC,CAAC,CAAC;wCACE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;wCACzC,KAAK,EAAE,cAAe,CAAC,iBAAiB;qCACzC;oCACH,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM;wCACvB,CAAC,CAAC;4CACE,IAAI,EAAE,KAAK,CAAC,MAAM,CAChB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACZ,CAAC;gDACD,CAAC,QAAQ;oDACP,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;oDACxB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EACzB,CAAC,CACF;4CACD,KAAK,EAAE,KAAK,CAAC,MAAM,CACjB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACZ,CAAC;gDACD,CAAC,QAAQ;oDACP,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;oDACzB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAC1B,CAAC,CACF;4CACD,OAAO,EAAE,KAAK,CAAC,MAAM;4CACrB,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACjC,MAAM,CAAC,MAAM,CAAC,iBAAiB,IAAI,GAAG,CAAC,CACxC;4CACD,MAAM,EAAE,KAAK;iDACV,GAAG,CACF,CAAC,MAAM,EAAE,EAAE,CACT,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CACnH;iDACA,IAAI,CAAC,IAAI,CAAC;yCACd;wCACH,CAAC,CAAC,EAAE,CAAC;6BACV;yBACF;wBACH,CAAC,CAAC,EAAE,CAAC;oBACP,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI;oBACtC,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;iBAC9C;gBACH,CAAC,CAAC,IAAI;SACT,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IACF,+EAA+E;IAC/E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;QACtC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;QACtC,IAAI,OAAO,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,OAAO;YACT,OAAO,CACL,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC;gBAC5C,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAC7C,CAAC;QACJ,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS;QAC1E,KAAK,CAAC,IAAI,CAAC;YACT,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;YACtC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;YACtC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,MAAM,EACJ,KAAK,CAAC,MAAM,KAAK,SAAS;gBAC1B,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACrB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAC7D;SACJ,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI;QACJ,SAAS;QACT,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;iBAClE,MAAM;YACT,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5D,IAAI,EAAE,MAAM,CAAC,MAAM,CACjB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CACd,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAC9D,CAAC,CACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -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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"}
|
|
@@ -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
|
*
|
|
@@ -16,12 +16,11 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { RUNNER_ROUTES, routePath, } from '@nocobase/agent-protocol';
|
|
18
18
|
import { z } from 'zod';
|
|
19
|
-
import { SKILL_CONTENT_MAX_BYTES, SKILL_FILE_MAX_BYTES, SKILL_MAX_BYTES, SKILL_MAX_FILES, SKILL_UPLOAD_MAX_BYTES, formatBytes, isSkillScript, parseSkillMarkdown, skillFilePathProblem, } from '../../../shared/skills.js';
|
|
19
|
+
import { GLOBAL_SKILL_TARGET, SKILL_CONTENT_MAX_BYTES, SKILL_FILE_MAX_BYTES, SKILL_MAX_BYTES, SKILL_MAX_FILES, SKILL_UPLOAD_MAX_BYTES, formatBytes, isSkillScript, parseSkillMarkdown, skillFilePathProblem, } from '../../../shared/skills.js';
|
|
20
20
|
import { invalid, notFound, precondition, ProtocolError, } from '../../kernel/errors.js';
|
|
21
|
-
import { findAgent } from '../agents/agent.store.js';
|
|
22
21
|
import { SizedCache } from './blobs.js';
|
|
23
22
|
import { bundleFiles, deliveredMarkdown, toBundle, versionHash, } from './bundle.js';
|
|
24
|
-
import { attachedSkillIds, attachmentsRepo, replaceAttachments, skillsRepo, versionsRepo, } from './skill.store.js';
|
|
23
|
+
import { attachedSkillIds, attachmentsRepo, replaceAttachments, runSkillRows, skillsRepo, versionsRepo, } from './skill.store.js';
|
|
25
24
|
import { readZip, writeZip, ZipError } from './zip.js';
|
|
26
25
|
const HASH = /^[0-9a-f]{64}$/u;
|
|
27
26
|
const FileSchema = z
|
|
@@ -200,16 +199,7 @@ export function createSkillService(deps) {
|
|
|
200
199
|
throw notFound('Skill version');
|
|
201
200
|
return record;
|
|
202
201
|
};
|
|
203
|
-
const
|
|
204
|
-
const rows = await attachmentsRepo(conn).findMany({
|
|
205
|
-
filter: { scope: 'agent' },
|
|
206
|
-
});
|
|
207
|
-
const counts = new Map();
|
|
208
|
-
for (const row of rows)
|
|
209
|
-
counts.set(row.skillId, (counts.get(row.skillId) ?? 0) + 1);
|
|
210
|
-
return counts;
|
|
211
|
-
};
|
|
212
|
-
const summary = (skill, current, agents) => {
|
|
202
|
+
const summary = (skill, current) => {
|
|
213
203
|
const manifest = manifestOf(current?.manifest);
|
|
214
204
|
const scripts = manifest
|
|
215
205
|
.filter((entry) => isSkillScript(entry))
|
|
@@ -229,7 +219,6 @@ export function createSkillService(deps) {
|
|
|
229
219
|
size: current ? sizeOf(current.content, manifest) : 0,
|
|
230
220
|
scriptCount: scripts.length,
|
|
231
221
|
scripts,
|
|
232
|
-
agentCount: agents,
|
|
233
222
|
createdById: skill.createdById,
|
|
234
223
|
createdAt: skill.createdAt,
|
|
235
224
|
updatedAt: skill.updatedAt,
|
|
@@ -239,7 +228,7 @@ export function createSkillService(deps) {
|
|
|
239
228
|
const skill = await requireSkill(conn, id);
|
|
240
229
|
const current = await versionOf(conn, id, Number(skill.currentVersion));
|
|
241
230
|
const rows = await attachmentsRepo(conn).findMany({
|
|
242
|
-
filter:
|
|
231
|
+
filter: (f) => f.and([f.string('skillId').eq(id), f.string('scope').ne('agent')]),
|
|
243
232
|
sort: (sort) => [
|
|
244
233
|
sort.field('scope').asc(),
|
|
245
234
|
sort.field('createdAt').asc(),
|
|
@@ -247,17 +236,10 @@ export function createSkillService(deps) {
|
|
|
247
236
|
});
|
|
248
237
|
const attachments = [];
|
|
249
238
|
for (const row of rows) {
|
|
250
|
-
|
|
251
|
-
if (row.scope === 'agent' && !agent)
|
|
252
|
-
continue;
|
|
253
|
-
attachments.push({
|
|
254
|
-
scope: row.scope,
|
|
255
|
-
scopeId: row.scopeId,
|
|
256
|
-
name: agent?.name ?? null,
|
|
257
|
-
});
|
|
239
|
+
attachments.push({ scope: row.scope, scopeId: row.scopeId, name: null });
|
|
258
240
|
}
|
|
259
241
|
return {
|
|
260
|
-
...summary(skill, current
|
|
242
|
+
...summary(skill, current),
|
|
261
243
|
content: deliveredMarkdown(skill.slug, current.description, current.content),
|
|
262
244
|
files: await entriesOf(manifestOf(current.manifest)),
|
|
263
245
|
attachments,
|
|
@@ -317,7 +299,7 @@ export function createSkillService(deps) {
|
|
|
317
299
|
},
|
|
318
300
|
]);
|
|
319
301
|
}
|
|
320
|
-
const
|
|
302
|
+
const validateIds = async (conn, skillIds) => {
|
|
321
303
|
const unique = [...new Set(skillIds)];
|
|
322
304
|
if (unique.length > 0) {
|
|
323
305
|
const found = await skillsRepo(conn).findMany({
|
|
@@ -328,6 +310,11 @@ export function createSkillService(deps) {
|
|
|
328
310
|
skillIds: unique.filter((id) => !found.some((s) => s.id === id)),
|
|
329
311
|
});
|
|
330
312
|
}
|
|
313
|
+
return unique;
|
|
314
|
+
};
|
|
315
|
+
const attachIn = async (conn, target, skillIds) => {
|
|
316
|
+
checkSkillTarget(target);
|
|
317
|
+
const unique = await validateIds(conn, skillIds);
|
|
331
318
|
return replaceAttachments(conn, target.scope, target.scopeId, unique, () => ids.next(), clock.now().toISOString());
|
|
332
319
|
};
|
|
333
320
|
const createWith = async (userId, input, note = null) => {
|
|
@@ -372,13 +359,12 @@ export function createSkillService(deps) {
|
|
|
372
359
|
const skills = await skillsRepo(conn).findMany({
|
|
373
360
|
sort: (sort) => [sort.field('name').asc(), sort.field('id').asc()],
|
|
374
361
|
});
|
|
375
|
-
const counts = await agentCounts(conn);
|
|
376
362
|
const result = [];
|
|
377
363
|
for (const skill of skills) {
|
|
378
364
|
const current = await versionsRepo(conn).findOne({
|
|
379
365
|
filter: { skillId: skill.id, version: skill.currentVersion },
|
|
380
366
|
});
|
|
381
|
-
result.push(summary(skill, current
|
|
367
|
+
result.push(summary(skill, current));
|
|
382
368
|
}
|
|
383
369
|
return result;
|
|
384
370
|
},
|
|
@@ -447,40 +433,16 @@ export function createSkillService(deps) {
|
|
|
447
433
|
}, userId, clock.now().toISOString());
|
|
448
434
|
return detail(conn, id);
|
|
449
435
|
}),
|
|
450
|
-
|
|
436
|
+
validateIds,
|
|
437
|
+
async attached(target) {
|
|
438
|
+
checkSkillTarget(target);
|
|
439
|
+
return attachedSkillIds(tx.read(), target.scope, target.scopeId);
|
|
440
|
+
},
|
|
451
441
|
attach: (target, skillIds, conn) => conn
|
|
452
442
|
? attachIn(conn, target, skillIds)
|
|
453
443
|
: tx.run(({ conn: inner }) => attachIn(inner, target, skillIds)),
|
|
454
444
|
async forRun(conn, targets, runId) {
|
|
455
|
-
|
|
456
|
-
const seenSlugs = new Set();
|
|
457
|
-
const skills = [];
|
|
458
|
-
for (const target of targets) {
|
|
459
|
-
for (const skillId of await attachedSkillIds(conn, target.scope, target.scopeId)) {
|
|
460
|
-
if (seenIds.has(skillId))
|
|
461
|
-
continue;
|
|
462
|
-
seenIds.add(skillId);
|
|
463
|
-
const skill = await skillsRepo(conn).findOne({
|
|
464
|
-
filter: { id: skillId },
|
|
465
|
-
});
|
|
466
|
-
if (!skill || seenSlugs.has(skill.slug))
|
|
467
|
-
continue;
|
|
468
|
-
seenSlugs.add(skill.slug);
|
|
469
|
-
const current = await versionOf(conn, skill.id, Number(skill.currentVersion));
|
|
470
|
-
skills.push({
|
|
471
|
-
slug: skill.slug,
|
|
472
|
-
name: skill.name,
|
|
473
|
-
version: String(skill.currentVersion),
|
|
474
|
-
hash: current.contentHash,
|
|
475
|
-
description: skill.description,
|
|
476
|
-
bundleUrl: routePath(RUNNER_ROUTES.skill, {
|
|
477
|
-
runId,
|
|
478
|
-
slug: skill.slug,
|
|
479
|
-
}),
|
|
480
|
-
});
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
return skills;
|
|
445
|
+
return mergeRunSkills(await runSkillRows(conn, targets.filter((target) => target.scope !== 'agent')), runId);
|
|
484
446
|
},
|
|
485
447
|
async bundle(conn, slug) {
|
|
486
448
|
const skill = await skillsRepo(conn).findOne({ filter: { slug } });
|
|
@@ -622,4 +584,27 @@ export function createSkillService(deps) {
|
|
|
622
584
|
}, graceMs),
|
|
623
585
|
};
|
|
624
586
|
}
|
|
587
|
+
function checkSkillTarget(target) {
|
|
588
|
+
if (target.scope === 'agent' ||
|
|
589
|
+
(target.scope === GLOBAL_SKILL_TARGET.scope &&
|
|
590
|
+
target.scopeId !== GLOBAL_SKILL_TARGET.scopeId))
|
|
591
|
+
throw notFound('Scope');
|
|
592
|
+
}
|
|
593
|
+
/** Rows are ordered by target priority; replacement preserves deterministic slug order. */
|
|
594
|
+
export function mergeRunSkills(rows, runId) {
|
|
595
|
+
const skills = new Map();
|
|
596
|
+
for (const row of rows) {
|
|
597
|
+
if (row.hash === null)
|
|
598
|
+
throw notFound('Skill version');
|
|
599
|
+
skills.set(row.slug, {
|
|
600
|
+
slug: row.slug,
|
|
601
|
+
name: row.name,
|
|
602
|
+
version: String(row.version),
|
|
603
|
+
hash: row.hash,
|
|
604
|
+
description: row.description,
|
|
605
|
+
bundleUrl: routePath(RUNNER_ROUTES.skill, { runId, slug: row.slug }),
|
|
606
|
+
});
|
|
607
|
+
}
|
|
608
|
+
return [...skills.values()];
|
|
609
|
+
}
|
|
625
610
|
//# sourceMappingURL=skill.service.js.map
|