@nocobase/app-plugin-agents 0.1.0-beta.1 → 0.1.0-beta.10
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 +355 -0
- package/README.md +107 -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 +100 -219
- package/dist/client/locales/en-US.d.ts.map +1 -1
- package/dist/client/locales/en-US.js +105 -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 +55 -0
- package/dist/client/locales/runtimes.en-US.d.ts.map +1 -1
- package/dist/client/locales/runtimes.en-US.js +58 -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 +58 -3
- package/dist/client/locales/runtimes.zh-CN.js.map +1 -1
- package/dist/client/locales/zh-CN.d.ts.map +1 -1
- package/dist/client/locales/zh-CN.js +107 -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 +70 -0
- package/dist/client/pages/runtimes/workspace-diagnostics.js.map +1 -0
- 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 +48 -0
- 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/package.json +8 -10
- package/dist/server/cli/run-credential.js +1 -1
- package/dist/server/composition.d.ts +39 -37
- package/dist/server/composition.d.ts.map +1 -1
- package/dist/server/composition.js +53 -65
- 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 +65 -64
- 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 +33 -65
- package/dist/server/core/runs/claim.d.ts.map +1 -1
- package/dist/server/core/runs/claim.js +566 -307
- package/dist/server/core/runs/claim.js.map +1 -1
- 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 +6 -0
- package/dist/server/core/runs/identity.d.ts.map +1 -0
- package/dist/server/core/runs/identity.js +49 -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 +54 -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 +76 -34
- 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 +84 -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-requests.d.ts +220 -0
- package/dist/server/core/runs/run-requests.d.ts.map +1 -0
- package/dist/server/core/runs/run-requests.js +475 -0
- package/dist/server/core/runs/run-requests.js.map +1 -0
- package/dist/server/core/runs/run.service.d.ts +84 -11
- package/dist/server/core/runs/run.service.d.ts.map +1 -1
- package/dist/server/core/runs/run.service.js +433 -93
- package/dist/server/core/runs/run.service.js.map +1 -1
- package/dist/server/core/runs/run.store.d.ts +20 -3
- package/dist/server/core/runs/run.store.d.ts.map +1 -1
- package/dist/server/core/runs/run.store.js +49 -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.map +1 -1
- package/dist/server/core/runs/sweeper.js +54 -10
- package/dist/server/core/runs/sweeper.js.map +1 -1
- package/dist/server/core/runs/transitions.d.ts +1 -1
- package/dist/server/core/runs/transitions.d.ts.map +1 -1
- package/dist/server/core/runs/transitions.js +69 -5
- 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/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/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 +4 -25
- package/dist/server/providers/agents.d.ts.map +1 -1
- package/dist/server/providers/agents.js +8 -75
- package/dist/server/providers/agents.js.map +1 -1
- package/dist/server/routes/admin.d.ts.map +1 -1
- package/dist/server/routes/admin.js +140 -201
- 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 +25 -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 +367 -82
- 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 +22 -8
- package/dist/server/runners/runner.service.d.ts.map +1 -1
- package/dist/server/runners/runner.service.js +112 -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 +12 -9
- package/dist/server/tokens.d.ts.map +1 -1
- package/dist/server/tokens.js +6 -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 -165
- 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 +203 -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/variables.d.ts +22 -0
- package/dist/shared/variables.d.ts.map +1 -1
- package/dist/shared/variables.js +9 -1
- 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 +4 -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,83 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Fields the new-agent dialog and the agent page share: the coding tool (with how many runners offer it now), an
|
|
4
|
-
* entry's reasoning effort, and the business actions the application lets an agent be given.
|
|
5
|
-
*/
|
|
6
|
-
import { AGENT_TOOLS } from '@nocobase/agent-protocol';
|
|
7
|
-
import { useTranslation } from '@nocobase/i18n/client';
|
|
8
|
-
import { useText } from '../hooks/use-vocabulary.js';
|
|
9
|
-
import { useAgentActions } from '../lib/action-catalog.js';
|
|
10
|
-
import { onlineFor } from '../lib/agents.js';
|
|
11
|
-
import { cn } from 'cn';
|
|
12
|
-
import { Checkbox } from './ui/checkbox.js';
|
|
13
|
-
import { Field, FieldContent, FieldDescription, FieldLabel, } from './ui/field.js';
|
|
14
|
-
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from './ui/select.js';
|
|
15
|
-
import { Skeleton } from './ui/skeleton.js';
|
|
16
|
-
import { Tooltip, TooltipContent, TooltipTrigger } from './ui/tooltip.js';
|
|
17
|
-
/** How many runtimes can run a tool now, as a dot and a count, with the full sentence in a tooltip. */
|
|
18
|
-
function OnlineCount({ count }) {
|
|
19
|
-
const { t } = useTranslation();
|
|
20
|
-
const label = t('agentForm.toolOnline', { count });
|
|
21
|
-
return (_jsxs(Tooltip, { children: [_jsxs(TooltipTrigger, { render: _jsx("span", { "aria-label": label, className: 'ml-auto inline-flex items-center gap-1 text-xs text-muted-foreground tabular-nums' }), children: [_jsx("span", { "aria-hidden": true, className: cn('size-1.5 rounded-full', count > 0 ? 'bg-primary' : 'bg-muted-foreground/40') }), count] }), _jsx(TooltipContent, { children: label })] }));
|
|
22
|
-
}
|
|
23
|
-
export function ToolSelect({ id, value, runners, disabled, ariaLabel, onChange, }) {
|
|
24
|
-
const { t } = useTranslation();
|
|
25
|
-
const items = AGENT_TOOLS.map((tool) => ({
|
|
26
|
-
value: tool,
|
|
27
|
-
label: t(`tools.${tool}`),
|
|
28
|
-
}));
|
|
29
|
-
return (_jsxs(Select, { items: items, value: value, disabled: disabled, onValueChange: (next) => {
|
|
30
|
-
const tool = AGENT_TOOLS.find((candidate) => candidate === next);
|
|
31
|
-
if (tool)
|
|
32
|
-
onChange(tool);
|
|
33
|
-
}, children: [_jsx(SelectTrigger, { id: id, "aria-label": ariaLabel, className: 'w-full', children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { className: 'w-auto max-w-[min(var(--container-sm),var(--available-width))] min-w-(--anchor-width) [&_[data-slot=select-item]>:first-child]:whitespace-normal', children: AGENT_TOOLS.map((tool) => (_jsx(SelectItem, { value: tool, children: _jsxs("span", { className: 'flex min-w-0 flex-1 items-center gap-2', children: [_jsx("span", { children: t(`tools.${tool}`) }), runners ? (_jsx(OnlineCount, { count: onlineFor(runners, tool) })) : null] }) }, tool))) })] }));
|
|
34
|
-
}
|
|
35
|
-
/** An entry's reasoning effort, among those its tool or service takes (`effortsFor`). */
|
|
36
|
-
export function EffortSelect({ id, efforts, value, disabled, ariaLabel, onChange, }) {
|
|
37
|
-
const { t } = useTranslation();
|
|
38
|
-
const items = [
|
|
39
|
-
{ value: 'default', label: t('agentForm.reasoningDefault') },
|
|
40
|
-
...efforts.map((effort) => ({
|
|
41
|
-
value: effort,
|
|
42
|
-
label: t(`agentForm.efforts.${effort}`, { defaultValue: effort }),
|
|
43
|
-
})),
|
|
44
|
-
// An effort saved before stays listed so it shows.
|
|
45
|
-
...(value && !efforts.includes(value) ? [{ value, label: value }] : []),
|
|
46
|
-
];
|
|
47
|
-
return (_jsxs(Select, { items: items, value: value || 'default', disabled: disabled, onValueChange: (next) => onChange(!next || next === 'default' ? '' : next), children: [_jsx(SelectTrigger, { id: id, "aria-label": ariaLabel, className: 'w-full', children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { className: 'w-auto max-w-[min(var(--container-sm),var(--available-width))] min-w-(--anchor-width) [&_[data-slot=select-item]>:first-child]:whitespace-normal', children: items.map((item) => (_jsx(SelectItem, { value: item.value, children: item.label }, item.value))) })] }));
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* The business actions as checkboxes, grouped as the application groups them, with its titles. Actions meant for
|
|
51
|
-
* another type of agent (`AgentActionOption.types`) are left out. `detailed` (the agent page) adds each action's
|
|
52
|
-
* description, and lists the actions that are never granted to an agent greyed out with the reason, so people see the
|
|
53
|
-
* boundary; elsewhere those are left out.
|
|
54
|
-
*/
|
|
55
|
-
export function ActionCheckboxes({ idPrefix, value, type, disabled, detailed, onChange, }) {
|
|
56
|
-
const { t } = useTranslation();
|
|
57
|
-
const text = useText();
|
|
58
|
-
const all = useAgentActions(value);
|
|
59
|
-
const actions = all?.filter((action) => (!type || !action.types || action.types.includes(type)) &&
|
|
60
|
-
(detailed || action.grantable !== false));
|
|
61
|
-
if (!actions)
|
|
62
|
-
return _jsx(Skeleton, { className: 'h-16 w-full' });
|
|
63
|
-
const groups = new Map();
|
|
64
|
-
for (const action of actions)
|
|
65
|
-
groups.set(action.group, [...(groups.get(action.group) ?? []), action]);
|
|
66
|
-
if (![...actions].some((action) => action.grantable !== false))
|
|
67
|
-
return (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('capabilities.none') }));
|
|
68
|
-
return (_jsx("div", { className: detailed
|
|
69
|
-
? 'grid gap-x-6 gap-y-5 sm:grid-cols-2'
|
|
70
|
-
: 'grid gap-3 sm:grid-cols-2', children: [...groups].map(([group, options]) => (_jsxs("div", { role: 'group', "aria-label": text(options[0]?.groupTitle, group), className: detailed ? 'space-y-3' : 'space-y-2', children: [_jsx("p", { className: 'text-xs font-medium text-muted-foreground', children: text(options[0]?.groupTitle, group) }), options.map((option) => {
|
|
71
|
-
const grantable = option.grantable !== false;
|
|
72
|
-
const id = `${idPrefix}-${option.key}`;
|
|
73
|
-
const label = text(option.title, option.key);
|
|
74
|
-
return (_jsxs(Field, { orientation: 'horizontal', "data-disabled": grantable ? undefined : true, "data-testid": detailed ? `capability-${option.key}` : undefined, children: [_jsx(Checkbox, { id: id, checked: grantable && value.includes(option.key), disabled: disabled || !grantable, onCheckedChange: (checked) => onChange(checked
|
|
75
|
-
? [...value, option.key]
|
|
76
|
-
: value.filter((item) => item !== option.key)) }), detailed ? (_jsxs(FieldContent, { children: [_jsx(FieldLabel, { htmlFor: id, className: 'font-normal', children: label }), grantable ? (option.description ? (_jsx(FieldDescription, { children: text(option.description, '') })) : null) : (_jsx(FieldDescription, { children: option.reason
|
|
77
|
-
? t('capabilities.notGrantableBecause', {
|
|
78
|
-
reason: text(option.reason, ''),
|
|
79
|
-
})
|
|
80
|
-
: t('capabilities.notGrantable') }))] })) : (_jsx(FieldLabel, { htmlFor: id, className: 'font-normal', children: label }))] }, option.key));
|
|
81
|
-
})] }, group))) }));
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=agent-fields.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-fields.js","sourceRoot":"","sources":["../../../client/components/agent-fields.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { ReactElement } from 'react';
|
|
2
|
-
import { type AgentType } from '../../shared/agents.js';
|
|
3
|
-
import type { ModelCatalog } from '../../shared/models.js';
|
|
4
|
-
/** A small Online / Runner tag. */
|
|
5
|
-
export declare function AgentTypeTag({ type, }: {
|
|
6
|
-
readonly type: AgentType;
|
|
7
|
-
}): ReactElement;
|
|
8
|
-
/** The new-agent dialog's first question: an online agent or a runner agent. */
|
|
9
|
-
export declare function AgentTypePicker({ value, onChange, }: {
|
|
10
|
-
readonly value: AgentType;
|
|
11
|
-
readonly onChange: (type: AgentType) => void;
|
|
12
|
-
}): ReactElement;
|
|
13
|
-
/**
|
|
14
|
-
* What an online agent that lists no model answers with: the system default chat model, with a link to change it on
|
|
15
|
-
* the Models page; or, while no service offers a chat model, that it needs one, with a link to set one up.
|
|
16
|
-
*/
|
|
17
|
-
export declare function DefaultModelNote(): ReactElement | null;
|
|
18
|
-
/** What online agents need and is missing: no model service offers a model yet. */
|
|
19
|
-
export declare function NoModels(): ReactElement;
|
|
20
|
-
/**
|
|
21
|
-
* The model service and model selects of a row of the tools-and-models list, labelled for assistive technology only
|
|
22
|
-
* (the list's header names the columns); a model no longer offered stays listed so it shows.
|
|
23
|
-
*/
|
|
24
|
-
export declare function ModelFields({ idPrefix, catalog, modelService, model, disabled, onChange, }: {
|
|
25
|
-
readonly idPrefix: string;
|
|
26
|
-
readonly catalog: ModelCatalog | undefined;
|
|
27
|
-
readonly modelService: string;
|
|
28
|
-
readonly model: string;
|
|
29
|
-
readonly disabled?: boolean;
|
|
30
|
-
readonly onChange: (modelService: string, model: string) => void;
|
|
31
|
-
}): ReactElement;
|
|
32
|
-
//# sourceMappingURL=agent-type.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-type.d.ts","sourceRoot":"","sources":["../../../client/components/agent-type.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAsB3D,mCAAmC;AACnC,wBAAgB,YAAY,CAAC,EAC3B,IAAI,GACL,EAAE;IACD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,GAAG,YAAY,CAQf;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CAC9C,GAAG,YAAY,CA4Bf;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,GAAG,IAAI,CAiBtD;AAED,mFAAmF;AACnF,wBAAgB,QAAQ,IAAI,YAAY,CAGvC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE,GAAG,YAAY,CA0Ef"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* What the agent pages show of an agent's type: the Online / Runner tag, the type choice of the new-agent dialog, the
|
|
4
|
-
* model service and model selects of an online agent's entry, whose options come from the server's model catalog
|
|
5
|
-
* (`GET agents/admin/models`), and what an online agent that lists no model answers with: the system default chat
|
|
6
|
-
* model (`GET agents/defaultModels`), with the way to the Models page to change it.
|
|
7
|
-
*/
|
|
8
|
-
import { useTranslation } from '@nocobase/i18n/client';
|
|
9
|
-
import { MessageSquareIcon, WrenchIcon } from 'lucide-react';
|
|
10
|
-
import { Link } from 'react-router';
|
|
11
|
-
import { AGENT_TYPES } from '../../shared/agents.js';
|
|
12
|
-
import { useDefaultModels, useDefaultModelText, } from '../hooks/use-model-catalog.js';
|
|
13
|
-
import { AgTag } from './ag-tag.js';
|
|
14
|
-
import { Field, FieldContent, FieldDescription, FieldLabel, FieldTitle, } from './ui/field.js';
|
|
15
|
-
import { RadioGroup, RadioGroupItem } from './ui/radio-group.js';
|
|
16
|
-
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from './ui/select.js';
|
|
17
|
-
/** A small Online / Runner tag. */
|
|
18
|
-
export function AgentTypeTag({ type, }) {
|
|
19
|
-
const { t } = useTranslation();
|
|
20
|
-
return (_jsxs(AgTag, { tone: type === 'online' ? 'violet' : 'blue', children: [type === 'online' ? _jsx(MessageSquareIcon, {}) : _jsx(WrenchIcon, {}), t(`agentTypes.${type}`)] }));
|
|
21
|
-
}
|
|
22
|
-
/** The new-agent dialog's first question: an online agent or a runner agent. */
|
|
23
|
-
export function AgentTypePicker({ value, onChange, }) {
|
|
24
|
-
const { t } = useTranslation();
|
|
25
|
-
return (_jsx(RadioGroup, { "aria-label": t('agentTypes.label'), value: value, className: 'grid-cols-1 sm:grid-cols-2', onValueChange: (next) => {
|
|
26
|
-
const type = AGENT_TYPES.find((candidate) => candidate === next);
|
|
27
|
-
if (type)
|
|
28
|
-
onChange(type);
|
|
29
|
-
}, children: ['online', 'runner'].map((type) => (_jsx(FieldLabel, { htmlFor: `ag-agent-type-${type}`, children: _jsxs(Field, { orientation: 'horizontal', children: [_jsxs(FieldContent, { children: [_jsxs(FieldTitle, { children: [type === 'online' ? _jsx(MessageSquareIcon, {}) : _jsx(WrenchIcon, {}), t(`agentTypes.${type}`)] }), _jsx(FieldDescription, { children: t(`agentTypes.${type}Hint`) })] }), _jsx(RadioGroupItem, { value: type, id: `ag-agent-type-${type}` })] }) }, type))) }));
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* What an online agent that lists no model answers with: the system default chat model, with a link to change it on
|
|
33
|
-
* the Models page; or, while no service offers a chat model, that it needs one, with a link to set one up.
|
|
34
|
-
*/
|
|
35
|
-
export function DefaultModelNote() {
|
|
36
|
-
const { t } = useTranslation();
|
|
37
|
-
const defaults = useDefaultModels();
|
|
38
|
-
const model = useDefaultModelText();
|
|
39
|
-
if (!defaults.data)
|
|
40
|
-
return null;
|
|
41
|
-
return (_jsxs(FieldDescription, { "data-testid": 'ag-default-model-note', children: [_jsx("span", { children: model
|
|
42
|
-
? t('agents.usesDefaultModel', { model })
|
|
43
|
-
: t('agentForm.noModels') }), ' ', _jsx(Link, { to: '/models', className: 'underline underline-offset-4', children: model ? t('agents.changeDefaultModel') : t('agents.setUpModels') })] }));
|
|
44
|
-
}
|
|
45
|
-
/** What online agents need and is missing: no model service offers a model yet. */
|
|
46
|
-
export function NoModels() {
|
|
47
|
-
const { t } = useTranslation();
|
|
48
|
-
return _jsx(FieldDescription, { children: t('agentForm.noModels') });
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* The model service and model selects of a row of the tools-and-models list, labelled for assistive technology only
|
|
52
|
-
* (the list's header names the columns); a model no longer offered stays listed so it shows.
|
|
53
|
-
*/
|
|
54
|
-
export function ModelFields({ idPrefix, catalog, modelService, model, disabled, onChange, }) {
|
|
55
|
-
const { t } = useTranslation();
|
|
56
|
-
const services = catalog?.services ?? [];
|
|
57
|
-
const serviceItems = [
|
|
58
|
-
...services.map((service) => ({
|
|
59
|
-
value: service.name,
|
|
60
|
-
label: service.title,
|
|
61
|
-
})),
|
|
62
|
-
...(modelService &&
|
|
63
|
-
!services.some((service) => service.name === modelService)
|
|
64
|
-
? [{ value: modelService, label: modelService }]
|
|
65
|
-
: []),
|
|
66
|
-
];
|
|
67
|
-
const offered = services.find((service) => service.name === modelService)?.models ?? [];
|
|
68
|
-
const modelItems = [
|
|
69
|
-
...offered.map((option) => ({ value: option.value, label: option.label })),
|
|
70
|
-
...(model && !offered.some((option) => option.value === model)
|
|
71
|
-
? [{ value: model, label: model }]
|
|
72
|
-
: []),
|
|
73
|
-
];
|
|
74
|
-
return (_jsxs(_Fragment, { children: [_jsxs(Select, { items: serviceItems, value: modelService || null, disabled: disabled, onValueChange: (next) => {
|
|
75
|
-
const first = services.find((service) => service.name === next)?.models[0]
|
|
76
|
-
?.value ?? '';
|
|
77
|
-
onChange(next ?? '', first);
|
|
78
|
-
}, children: [_jsx(SelectTrigger, { id: `${idPrefix}-service`, "aria-label": t('agentForm.modelService'), className: 'w-full', children: _jsx(SelectValue, { placeholder: t('agentForm.chooseService') }) }), _jsx(SelectContent, { className: 'w-auto max-w-[min(var(--container-sm),var(--available-width))] min-w-(--anchor-width) [&_[data-slot=select-item]>:first-child]:whitespace-normal', children: serviceItems.map((item) => (_jsx(SelectItem, { value: item.value, children: item.label }, item.value))) })] }), _jsxs(Select, { items: modelItems, value: model || null, disabled: disabled || !modelService, onValueChange: (next) => onChange(modelService, next ?? ''), children: [_jsx(SelectTrigger, { id: `${idPrefix}-model`, "aria-label": t('agentForm.model'), className: 'w-full', children: _jsx(SelectValue, { placeholder: t('agentForm.chooseModel') }) }), _jsx(SelectContent, { className: 'w-auto max-w-[min(var(--container-sm),var(--available-width))] min-w-(--anchor-width) [&_[data-slot=select-item]>:first-child]:whitespace-normal', children: modelItems.map((item) => (_jsx(SelectItem, { value: item.value, children: item.label }, item.value))) })] })] }));
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=agent-type.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-type.js","sourceRoot":"","sources":["../../../client/components/agent-type.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { type AgentTool } from '@nocobase/agent-protocol';
|
|
2
|
-
import type { ReactElement, ReactNode } from 'react';
|
|
3
|
-
import { type AgentType } from '../../shared/agents.js';
|
|
4
|
-
import type { ModelCatalog } from '../../shared/models.js';
|
|
5
|
-
import type { RunnerSummary } from '../../shared/runners.js';
|
|
6
|
-
import { type EntryDraft } from '../pages/agents/agent-model.js';
|
|
7
|
-
/** A model typed freely, with the tool's common models suggested as the person types. */
|
|
8
|
-
export declare function ModelInput({ id, tool, value, disabled, placeholder, ariaLabel, onChange, }: {
|
|
9
|
-
readonly id: string;
|
|
10
|
-
readonly tool: AgentTool;
|
|
11
|
-
readonly value: string;
|
|
12
|
-
readonly disabled?: boolean;
|
|
13
|
-
readonly placeholder?: string;
|
|
14
|
-
/** For a field with no visible label. */
|
|
15
|
-
readonly ariaLabel?: string;
|
|
16
|
-
readonly onChange: (model: string) => void;
|
|
17
|
-
}): ReactElement;
|
|
18
|
-
export declare function ModelEntriesEditor({ idPrefix, type, value, runners, catalog, disabled, onChange, onTest, testing, empty, }: {
|
|
19
|
-
readonly idPrefix: string;
|
|
20
|
-
readonly type: AgentType;
|
|
21
|
-
readonly value: readonly EntryDraft[];
|
|
22
|
-
/** For the count of runners each tool can run on now. */
|
|
23
|
-
readonly runners?: readonly RunnerSummary[] | undefined;
|
|
24
|
-
/** The services and models online rows choose from. */
|
|
25
|
-
readonly catalog?: ModelCatalog | undefined;
|
|
26
|
-
readonly disabled?: boolean;
|
|
27
|
-
readonly onChange: (entries: EntryDraft[]) => void;
|
|
28
|
-
/** Online rows: asks the model of a row for a short answer. */
|
|
29
|
-
readonly onTest?: (entry: EntryDraft) => void;
|
|
30
|
-
/** The key of the row being tested. */
|
|
31
|
-
readonly testing?: string | null;
|
|
32
|
-
/** What an online list without rows says: which model answers instead (`DefaultModelNote`). */
|
|
33
|
-
readonly empty?: ReactNode;
|
|
34
|
-
}): ReactElement;
|
|
35
|
-
//# sourceMappingURL=model-entries.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-entries.d.ts","sourceRoot":"","sources":["../../../client/components/model-entries.tsx"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,0BAA0B,CAAC;AASlC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,gCAAgC,CAAC;AAQxC,yFAAyF;AACzF,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,yCAAyC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,GAAG,YAAY,CA8Cf;AA2DD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,CAAC;IACxD,uDAAuD;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IACnD,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,uCAAuC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,+FAA+F;IAC/F,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAC5B,GAAG,YAAY,CA8Lf"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* An agent's tools and models, in order, as a compact list: one header row names the columns, and each row is one entry
|
|
4
|
-
* with its reasoning effort. A runner agent's rows pair a coding tool with a model (free text, suggested from what the
|
|
5
|
-
* tool is commonly run with; empty for the tool's default), an online agent's rows a model service with one of its
|
|
6
|
-
* models. The efforts offered are the row's tool's or the online ones. The first row is the default. Rows are added,
|
|
7
|
-
* removed and moved up or down; an online agent may remove its last row and wait for a model, a runner agent may not.
|
|
8
|
-
*/
|
|
9
|
-
import { Autocomplete } from '@base-ui/react';
|
|
10
|
-
import { TOOL_MODEL_SUGGESTIONS, } from '@nocobase/agent-protocol';
|
|
11
|
-
import { useTranslation } from '@nocobase/i18n/client';
|
|
12
|
-
import { ArrowDownIcon, ArrowUpIcon, FlaskConicalIcon, PlusIcon, Trash2Icon, } from 'lucide-react';
|
|
13
|
-
import { effortsFor, MAX_MODEL_ENTRIES, } from '../../shared/agents.js';
|
|
14
|
-
import { cn } from 'cn';
|
|
15
|
-
import { moveEntry, newEntryDraft, } from '../pages/agents/agent-model.js';
|
|
16
|
-
import { EffortSelect, ToolSelect } from './agent-fields.js';
|
|
17
|
-
import { ModelFields } from './agent-type.js';
|
|
18
|
-
import { Badge } from './ui/badge.js';
|
|
19
|
-
import { Button } from './ui/button.js';
|
|
20
|
-
import { InputGroup, InputGroupInput } from './ui/input-group.js';
|
|
21
|
-
import { Tooltip, TooltipContent, TooltipTrigger } from './ui/tooltip.js';
|
|
22
|
-
/** A model typed freely, with the tool's common models suggested as the person types. */
|
|
23
|
-
export function ModelInput({ id, tool, value, disabled, placeholder, ariaLabel, onChange, }) {
|
|
24
|
-
const { t } = useTranslation();
|
|
25
|
-
return (_jsxs(Autocomplete.Root, { items: TOOL_MODEL_SUGGESTIONS[tool], value: value, openOnInputClick: true, disabled: disabled, onValueChange: (next) => onChange(next), children: [_jsx(InputGroup, { className: 'w-full', children: _jsx(Autocomplete.Input, { id: id, render: _jsx(InputGroupInput, { disabled: disabled }), placeholder: placeholder, "aria-label": ariaLabel, title: t('modelEntries.suggestions') }) }), _jsx(Autocomplete.Portal, { children: _jsx(Autocomplete.Positioner, { side: 'bottom', sideOffset: 6, align: 'start', className: 'isolate z-50', children: _jsx(Autocomplete.Popup, { "data-slot": 'combobox-content', className: 'max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) origin-(--transform-origin) overflow-hidden rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95', children: _jsx(Autocomplete.List, { className: 'max-h-72 scroll-py-1 overflow-y-auto overscroll-contain p-1 data-empty:p-0', children: (item) => (_jsx(Autocomplete.Item, { value: item, className: 'relative flex w-full cursor-default items-center gap-2 rounded-md px-1.5 py-1 font-mono text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground', children: item }, item)) }) }) }) })] }));
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Columns: index and default badge, tool or service, model, effort, the row's buttons. The header and every row are
|
|
29
|
-
* subgrids of one grid, so a column is as wide in each; the selects keep room for their placeholders.
|
|
30
|
-
*/
|
|
31
|
-
const COLUMNS = 'grid grid-cols-[auto_minmax(10rem,1fr)_minmax(10rem,1.5fr)_minmax(8rem,1fr)_auto] items-center gap-x-2 gap-y-1.5';
|
|
32
|
-
const ROW = 'col-span-full grid grid-cols-subgrid items-center';
|
|
33
|
-
/** The effort a row keeps when its tool changes: its own while the new tool takes it, else the default. */
|
|
34
|
-
function effortFor(tool, effort) {
|
|
35
|
-
return effortsFor({ tool }).includes(effort) ? effort : '';
|
|
36
|
-
}
|
|
37
|
-
/** A new online row starts on the first service and model offered, when there is one. */
|
|
38
|
-
function firstOffered(catalog) {
|
|
39
|
-
const service = catalog?.services[0];
|
|
40
|
-
const model = service?.models[0]?.value;
|
|
41
|
-
return service && model ? { modelService: service.name, model } : {};
|
|
42
|
-
}
|
|
43
|
-
/** Removes a row; the last row of a runner agent stays, with a tooltip saying why. */
|
|
44
|
-
function RemoveButton({ required, disabled, onClick, }) {
|
|
45
|
-
const { t } = useTranslation();
|
|
46
|
-
const button = (_jsx(Button, { type: 'button', variant: 'ghost', size: 'icon-sm', "aria-label": t('modelEntries.remove'), title: required ? undefined : t('modelEntries.remove'), disabled: disabled || required, onClick: onClick, children: _jsx(Trash2Icon, {}) }));
|
|
47
|
-
if (!required)
|
|
48
|
-
return button;
|
|
49
|
-
return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { render: _jsx("span", { tabIndex: 0, className: 'inline-flex' }), children: button }), _jsx(TooltipContent, { children: t('modelEntries.runnerNeedsOne') })] }));
|
|
50
|
-
}
|
|
51
|
-
export function ModelEntriesEditor({ idPrefix, type, value, runners, catalog, disabled, onChange, onTest, testing, empty, }) {
|
|
52
|
-
const { t } = useTranslation();
|
|
53
|
-
const replace = (index, patch) => onChange(value.map((entry, at) => (at === index ? { ...entry, ...patch } : entry)));
|
|
54
|
-
const add = () => onChange([
|
|
55
|
-
...value,
|
|
56
|
-
newEntryDraft(type === 'online'
|
|
57
|
-
? firstOffered(catalog)
|
|
58
|
-
: value.length > 0
|
|
59
|
-
? { tool: value[value.length - 1].tool }
|
|
60
|
-
: {}),
|
|
61
|
-
]);
|
|
62
|
-
return (_jsxs("div", { className: 'flex flex-col gap-2', children: [value.length > 0 ? (_jsx("div", { className: 'overflow-x-auto', children: _jsxs("div", { className: COLUMNS, children: [_jsxs("div", { "aria-hidden": true, className: cn(ROW, 'text-xs font-medium text-muted-foreground'), children: [_jsx("span", {}), _jsx("span", { children: type === 'online'
|
|
63
|
-
? t('agentForm.modelService')
|
|
64
|
-
: t('agentForm.tool') }), _jsx("span", { children: t('agentForm.model') }), _jsx("span", { children: t('agentForm.reasoningEffort') }), _jsx("span", {})] }), _jsx("ol", { className: cn(ROW, 'gap-y-1.5'), "aria-label": t('modelEntries.title'), children: value.map((entry, index) => {
|
|
65
|
-
const rowId = `${idPrefix}-${index}`;
|
|
66
|
-
return (_jsxs("li", { "data-testid": 'ag-model-entry', "aria-label": t('modelEntries.row', { index: index + 1 }), className: ROW, children: [_jsxs("div", { className: 'flex items-center gap-1.5', children: [_jsx("span", { className: 'w-4 text-right text-sm text-muted-foreground tabular-nums', children: index + 1 }), index === 0 ? (_jsx(Badge, { variant: 'secondary', children: t('modelEntries.default') })) : null] }), type === 'online' ? (_jsx(ModelFields, { idPrefix: rowId, catalog: catalog, modelService: entry.modelService, model: entry.model, disabled: disabled, onChange: (modelService, model) => replace(index, { modelService, model }) })) : (_jsxs(_Fragment, { children: [_jsx(ToolSelect, { id: `${rowId}-tool`, value: entry.tool, runners: runners, disabled: disabled, ariaLabel: t('agentForm.tool'), onChange: (tool) => replace(index, {
|
|
67
|
-
tool,
|
|
68
|
-
effort: effortFor(tool, entry.effort),
|
|
69
|
-
}) }), _jsx(ModelInput, { id: `${rowId}-model`, tool: entry.tool, value: entry.model, disabled: disabled, placeholder: t('agents.defaultModel'), ariaLabel: t('agentForm.model'), onChange: (model) => replace(index, { model }) })] })), _jsx(EffortSelect, { id: `${rowId}-effort`, efforts: effortsFor(type === 'online'
|
|
70
|
-
? { modelService: entry.modelService }
|
|
71
|
-
: { tool: entry.tool }), value: entry.effort, disabled: disabled, ariaLabel: t('agentForm.reasoningEffort'), onChange: (effort) => replace(index, { effort }) }), _jsxs("div", { className: 'flex items-center', children: [type === 'online' && onTest ? (_jsx(Button, { type: 'button', variant: 'ghost', size: 'icon-sm', "aria-label": t('modelSection.test'), title: t('modelSection.test'), disabled: !entry.modelService ||
|
|
72
|
-
!entry.model ||
|
|
73
|
-
testing === entry.key, onClick: () => onTest(entry), children: _jsx(FlaskConicalIcon, {}) })) : null, _jsx(Button, { type: 'button', variant: 'ghost', size: 'icon-sm', "aria-label": t('modelEntries.moveUp'), title: t('modelEntries.moveUp'), disabled: disabled || index === 0, onClick: () => onChange(moveEntry(value, index, index - 1)), children: _jsx(ArrowUpIcon, {}) }), _jsx(Button, { type: 'button', variant: 'ghost', size: 'icon-sm', "aria-label": t('modelEntries.moveDown'), title: t('modelEntries.moveDown'), disabled: disabled || index === value.length - 1, onClick: () => onChange(moveEntry(value, index, index + 1)), children: _jsx(ArrowDownIcon, {}) }), _jsx(RemoveButton
|
|
74
|
-
// A runner agent needs an entry to run; an online one may wait for a model.
|
|
75
|
-
, {
|
|
76
|
-
// A runner agent needs an entry to run; an online one may wait for a model.
|
|
77
|
-
required: type === 'runner' && value.length === 1, disabled: disabled, onClick: () => onChange(value.filter((_, at) => at !== index)) })] })] }, entry.key));
|
|
78
|
-
}) })] }) })) : type === 'online' ? (empty) : (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('modelEntries.required') })), _jsx("div", { children: _jsxs(Button, { type: 'button', variant: 'ghost', size: 'sm', disabled: disabled || value.length >= MAX_MODEL_ENTRIES, onClick: add, children: [_jsx(PlusIcon, { "data-icon": 'inline-start' }), type === 'online' && value.length === 0
|
|
79
|
-
? t('modelEntries.choose')
|
|
80
|
-
: t('modelEntries.add')] }) })] }));
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=model-entries.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-entries.js","sourceRoot":"","sources":["../../../client/components/model-entries.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { type UseMutationResult } from '@tanstack/react-query';
|
|
2
|
-
import type { Agent, AgentInput } from '../../shared/agents.js';
|
|
3
|
-
/**
|
|
4
|
-
* Saves part of an agent (a tab of its page) against the revision the page shows, and refreshes it and the list. When
|
|
5
|
-
* someone else saved the agent meanwhile, nothing is saved and `onConflict` hears the revision the page held; without
|
|
6
|
-
* it, the refusal is a toast.
|
|
7
|
-
*/
|
|
8
|
-
export declare function useAgentSave(agent: Pick<Agent, 'id' | 'revision'>, onConflict?: (revision: number) => void): UseMutationResult<Agent, unknown, Partial<AgentInput>>;
|
|
9
|
-
//# sourceMappingURL=use-agent-save.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-agent-save.d.ts","sourceRoot":"","sources":["../../../client/hooks/use-agent-save.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAMhE;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,UAAU,CAAC,EACrC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACtC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CA2BxD"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { useMutation, useQueryClient, } from '@tanstack/react-query';
|
|
2
|
-
import { useTranslation } from '@nocobase/i18n/client';
|
|
3
|
-
import { agentsKeys } from '../api/keys.js';
|
|
4
|
-
import { isRevisionConflict } from '../lib/revision.js';
|
|
5
|
-
import { useAgentsApi } from './use-agents-api.js';
|
|
6
|
-
import { useNotify } from './use-notify.js';
|
|
7
|
-
/**
|
|
8
|
-
* Saves part of an agent (a tab of its page) against the revision the page shows, and refreshes it and the list. When
|
|
9
|
-
* someone else saved the agent meanwhile, nothing is saved and `onConflict` hears the revision the page held; without
|
|
10
|
-
* it, the refusal is a toast.
|
|
11
|
-
*/
|
|
12
|
-
export function useAgentSave(agent, onConflict) {
|
|
13
|
-
const api = useAgentsApi();
|
|
14
|
-
const notify = useNotify();
|
|
15
|
-
const { t } = useTranslation();
|
|
16
|
-
const queryClient = useQueryClient();
|
|
17
|
-
return useMutation({
|
|
18
|
-
mutationFn: (patch) => api.updateAgent(agent.id, {
|
|
19
|
-
...patch,
|
|
20
|
-
expectedRevision: agent.revision,
|
|
21
|
-
}),
|
|
22
|
-
onSuccess: (saved) => notify.success(t('agentDetail.saved', { name: saved.name })),
|
|
23
|
-
onError: (error) => {
|
|
24
|
-
if (isRevisionConflict(error) && onConflict)
|
|
25
|
-
onConflict(agent.revision);
|
|
26
|
-
else
|
|
27
|
-
notify.error(error);
|
|
28
|
-
},
|
|
29
|
-
onSettled: () => {
|
|
30
|
-
void queryClient.invalidateQueries({ queryKey: agentsKeys.agents });
|
|
31
|
-
void queryClient.invalidateQueries({
|
|
32
|
-
queryKey: agentsKeys.agent(agent.id),
|
|
33
|
-
});
|
|
34
|
-
void queryClient.invalidateQueries({
|
|
35
|
-
queryKey: agentsKeys.agentHistory(agent.id),
|
|
36
|
-
});
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=use-agent-save.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-agent-save.js","sourceRoot":"","sources":["../../../client/hooks/use-agent-save.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,cAAc,GAEf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAqC,EACrC,UAAuC;IAEvC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,OAAO,WAAW,CAAC;QACjB,UAAU,EAAE,CAAC,KAA0B,EAAE,EAAE,CACzC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE;YACxB,GAAG,KAAK;YACR,gBAAgB,EAAE,KAAK,CAAC,QAAQ;SACjC,CAAC;QACJ,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CACnB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,UAAU;gBAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;;gBACnE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YACpE,KAAK,WAAW,CAAC,iBAAiB,CAAC;gBACjC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;aACrC,CAAC,CAAC;YACH,KAAK,WAAW,CAAC,iBAAiB,CAAC;gBACjC,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { type UseQueryResult } from '@tanstack/react-query';
|
|
2
|
-
import type { DefaultModels, ModelCatalog } from '../../shared/models.js';
|
|
3
|
-
/** The model services and models online agents may use (`GET agents/admin/models`). */
|
|
4
|
-
export declare function useModelCatalog(): UseQueryResult<ModelCatalog>;
|
|
5
|
-
/** The system default chat model online agents with no models of their own use (`GET agents/defaultModels`). */
|
|
6
|
-
export declare function useDefaultModels(): UseQueryResult<DefaultModels>;
|
|
7
|
-
/** The system default chat model as the agent pages name it, "service · model"; null while there is none or loading. */
|
|
8
|
-
export declare function useDefaultModelText(): string | null;
|
|
9
|
-
//# sourceMappingURL=use-model-catalog.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-model-catalog.d.ts","sourceRoot":"","sources":["../../../client/hooks/use-model-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI1E,uFAAuF;AACvF,wBAAgB,eAAe,IAAI,cAAc,CAAC,YAAY,CAAC,CAO9D;AAED,gHAAgH;AAChH,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,aAAa,CAAC,CAOhE;AAED,wHAAwH;AACxH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAGnD"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { useQuery } from '@tanstack/react-query';
|
|
2
|
-
import { agentsKeys } from '../api/keys.js';
|
|
3
|
-
import { useAgentsApi } from './use-agents-api.js';
|
|
4
|
-
/** The model services and models online agents may use (`GET agents/admin/models`). */
|
|
5
|
-
export function useModelCatalog() {
|
|
6
|
-
const api = useAgentsApi();
|
|
7
|
-
return useQuery({
|
|
8
|
-
queryKey: agentsKeys.models,
|
|
9
|
-
queryFn: () => api.models(),
|
|
10
|
-
staleTime: 30_000,
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
/** The system default chat model online agents with no models of their own use (`GET agents/defaultModels`). */
|
|
14
|
-
export function useDefaultModels() {
|
|
15
|
-
const api = useAgentsApi();
|
|
16
|
-
return useQuery({
|
|
17
|
-
queryKey: agentsKeys.defaultModels,
|
|
18
|
-
queryFn: () => api.defaultModels(),
|
|
19
|
-
staleTime: 30_000,
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
/** The system default chat model as the agent pages name it, "service · model"; null while there is none or loading. */
|
|
23
|
-
export function useDefaultModelText() {
|
|
24
|
-
const chosen = useDefaultModels().data?.effectiveChat;
|
|
25
|
-
return chosen ? `${chosen.serviceTitle} · ${chosen.modelLabel}` : null;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=use-model-catalog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-model-catalog.js","sourceRoot":"","sources":["../../../client/hooks/use-model-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,uBAAuB,CAAC;AAGtE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,uFAAuF;AACvF,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,UAAU,CAAC,MAAM;QAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE;QAC3B,SAAS,EAAE,MAAM;KAClB,CAAC,CAAC;AACL,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,UAAU,CAAC,aAAa;QAClC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE;QAClC,SAAS,EAAE,MAAM;KAClB,CAAC,CAAC;AACL,CAAC;AAED,wHAAwH;AACxH,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC;IACtD,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-policy.d.ts","sourceRoot":"","sources":["../../../client/lib/tool-policy.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EACjB,CAAC;AAEtC,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EACjB,CAAC;AAErC,kBAAkB;AAClB,eAAO,MAAM,uBAAuB,EAAE,MACH,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The tool policy an agent starts from, as the server applies it (`DEFAULT_TOOL_POLICY` in `shared/agents.ts`), shown
|
|
3
|
-
* in the agent's advanced settings so people see what they override.
|
|
4
|
-
*/
|
|
5
|
-
import { DEFAULT_TOOL_POLICY } from '../../shared/agents.js';
|
|
6
|
-
export const DEFAULT_ALLOWED_COMMANDS = DEFAULT_TOOL_POLICY.allowedCommands;
|
|
7
|
-
export const DEFAULT_DENIED_PATTERNS = DEFAULT_TOOL_POLICY.deniedPatterns;
|
|
8
|
-
/** 30 minutes. */
|
|
9
|
-
export const DEFAULT_IDLE_TIMEOUT_MS = DEFAULT_TOOL_POLICY.idleTimeoutMs;
|
|
10
|
-
//# sourceMappingURL=tool-policy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-policy.js","sourceRoot":"","sources":["../../../client/lib/tool-policy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,CAAC,MAAM,wBAAwB,GACnC,mBAAmB,CAAC,eAAe,CAAC;AAEtC,MAAM,CAAC,MAAM,uBAAuB,GAClC,mBAAmB,CAAC,cAAc,CAAC;AAErC,kBAAkB;AAClB,MAAM,CAAC,MAAM,uBAAuB,GAClC,mBAAmB,CAAC,aAAa,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-model.d.ts","sourceRoot":"","sources":["../../../client/online/default-model.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AA8C1C,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,GACV,EAAE;IACD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B,GAAG,YAAY,CAyFf"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* The system default chat model, at the top of the Models page: the chat model online agents with no models of their
|
|
4
|
-
* own answer with, chosen among the chat models the enabled services offer. With none set, the first one offered is
|
|
5
|
-
* used (and the first one turned on becomes it). Who only reads services sees it, unchangeable.
|
|
6
|
-
*/
|
|
7
|
-
import { useTranslation } from '@nocobase/i18n/client';
|
|
8
|
-
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
|
9
|
-
import { agentsKeys } from '../api/keys.js';
|
|
10
|
-
import { Field, FieldContent, FieldDescription, FieldGroup, FieldLabel, } from '../components/ui/field.js';
|
|
11
|
-
import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue, } from '../components/ui/select.js';
|
|
12
|
-
import { Skeleton } from '../components/ui/skeleton.js';
|
|
13
|
-
import { useAgentsApi } from '../hooks/use-agents-api.js';
|
|
14
|
-
import { useDefaultModels, useModelCatalog, } from '../hooks/use-model-catalog.js';
|
|
15
|
-
import { useNotify } from '../hooks/use-notify.js';
|
|
16
|
-
const SEPARATOR = '\u0000';
|
|
17
|
-
/** A chat model as the select holds it. */
|
|
18
|
-
const refValue = (ref) => `${ref.modelService}${SEPARATOR}${ref.model}`;
|
|
19
|
-
/** The chat models of the catalog as the select lists them, labelled "service · model". */
|
|
20
|
-
function defaultModelItems(catalog) {
|
|
21
|
-
return catalog.services.flatMap((service) => service.models.map((model) => ({
|
|
22
|
-
value: refValue({ modelService: service.name, model: model.value }),
|
|
23
|
-
label: `${service.title} · ${model.label}`,
|
|
24
|
-
})));
|
|
25
|
-
}
|
|
26
|
-
export function DefaultModelSection({ canManage, }) {
|
|
27
|
-
const { t } = useTranslation();
|
|
28
|
-
const api = useAgentsApi();
|
|
29
|
-
const notify = useNotify();
|
|
30
|
-
const queryClient = useQueryClient();
|
|
31
|
-
const catalog = useModelCatalog();
|
|
32
|
-
const defaults = useDefaultModels();
|
|
33
|
-
const save = useMutation({
|
|
34
|
-
mutationFn: (ref) => api.setDefaultChatModel(ref),
|
|
35
|
-
onSuccess: async (saved) => {
|
|
36
|
-
queryClient.setQueryData(agentsKeys.defaultModels, saved);
|
|
37
|
-
await queryClient.invalidateQueries({ queryKey: agentsKeys.all });
|
|
38
|
-
const chosen = saved.effectiveChat;
|
|
39
|
-
notify.success(t('defaultModel.saved', {
|
|
40
|
-
model: chosen ? `${chosen.serviceTitle} · ${chosen.modelLabel}` : '',
|
|
41
|
-
}));
|
|
42
|
-
},
|
|
43
|
-
onError: (error) => notify.error(error),
|
|
44
|
-
});
|
|
45
|
-
const items = catalog.data ? defaultModelItems(catalog.data) : [];
|
|
46
|
-
const effective = defaults.data?.effectiveChat ?? null;
|
|
47
|
-
const id = 'ag-default-chat-model';
|
|
48
|
-
let control;
|
|
49
|
-
if (!catalog.data || !defaults.data)
|
|
50
|
-
control = _jsx(Skeleton, { className: 'h-8 w-full sm:w-80' });
|
|
51
|
-
else if (items.length === 0 || !effective)
|
|
52
|
-
control = (_jsx("p", { className: 'text-sm text-muted-foreground sm:max-w-80', children: t('defaultModel.none') }));
|
|
53
|
-
else
|
|
54
|
-
control = (_jsxs(Select, { items: items, value: refValue(effective), disabled: !canManage || save.isPending, onValueChange: (value) => {
|
|
55
|
-
if (!value)
|
|
56
|
-
return;
|
|
57
|
-
const [modelService = '', model = ''] = value.split(SEPARATOR);
|
|
58
|
-
save.mutate({ modelService, model });
|
|
59
|
-
}, children: [_jsx(SelectTrigger, { id: id, className: 'w-full min-w-0 sm:w-80', children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { className: 'w-auto max-w-[min(var(--container-sm),var(--available-width))] min-w-(--anchor-width) [&_[data-slot=select-item]>:first-child]:whitespace-normal', children: catalog.data.services.map((service) => (_jsxs(SelectGroup, { children: [_jsx(SelectLabel, { children: service.title }), service.models.map((model) => (_jsx(SelectItem, { value: refValue({
|
|
60
|
-
modelService: service.name,
|
|
61
|
-
model: model.value,
|
|
62
|
-
}), children: model.label }, model.value)))] }, service.name))) })] }));
|
|
63
|
-
return (_jsx("section", { className: 'rounded-lg border p-4', "aria-labelledby": `${id}-title`, "data-testid": 'ag-default-model', children: _jsx(FieldGroup, { children: _jsxs(Field, { orientation: 'responsive', children: [_jsxs(FieldContent, { children: [_jsx(FieldLabel, { id: `${id}-title`, htmlFor: id, children: t('defaultModel.title') }), _jsx(FieldDescription, { children: t('defaultModel.description') })] }), control] }) }) }));
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=default-model.js.map
|