@nocobase/app-plugin-agents 0.1.0-beta.9 → 1.0.0-beta.15
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 +293 -0
- package/README.md +94 -51
- package/dist/client/api/client.d.ts +25 -19
- package/dist/client/api/client.d.ts.map +1 -1
- package/dist/client/api/client.js +23 -24
- package/dist/client/api/client.js.map +1 -1
- package/dist/client/api/keys.d.ts +4 -1
- package/dist/client/api/keys.d.ts.map +1 -1
- package/dist/client/api/keys.js +4 -1
- package/dist/client/api/keys.js.map +1 -1
- package/dist/client/api/runners.d.ts +8 -4
- package/dist/client/api/runners.d.ts.map +1 -1
- package/dist/client/api/runners.js +9 -0
- package/dist/client/api/runners.js.map +1 -1
- package/dist/client/chat/ai-form.d.ts +13 -0
- package/dist/client/chat/ai-form.d.ts.map +1 -0
- package/dist/client/chat/ai-form.js +57 -0
- package/dist/client/chat/ai-form.js.map +1 -0
- package/dist/client/chat/api.d.ts +16 -14
- package/dist/client/chat/api.d.ts.map +1 -1
- package/dist/client/chat/api.js +85 -18
- package/dist/client/chat/api.js.map +1 -1
- package/dist/client/chat/client-id.d.ts +3 -0
- package/dist/client/chat/client-id.d.ts.map +1 -0
- package/dist/client/chat/client-id.js +17 -0
- package/dist/client/chat/client-id.js.map +1 -0
- 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/context-model.d.ts +21 -3
- package/dist/client/chat/context-model.d.ts.map +1 -1
- package/dist/client/chat/context-model.js +33 -4
- package/dist/client/chat/context-model.js.map +1 -1
- package/dist/client/chat/controller.d.ts +83 -0
- package/dist/client/chat/controller.d.ts.map +1 -0
- package/dist/client/chat/controller.js +767 -0
- package/dist/client/chat/controller.js.map +1 -0
- package/dist/client/chat/extensions.d.ts +8 -3
- package/dist/client/chat/extensions.d.ts.map +1 -1
- package/dist/client/chat/extensions.js.map +1 -1
- package/dist/client/chat/feedback.d.ts +18 -0
- package/dist/client/chat/feedback.d.ts.map +1 -0
- package/dist/client/chat/feedback.js +38 -0
- package/dist/client/chat/feedback.js.map +1 -0
- package/dist/client/chat/form-registry.d.ts +95 -0
- package/dist/client/chat/form-registry.d.ts.map +1 -0
- package/dist/client/chat/form-registry.js +384 -0
- package/dist/client/chat/form-registry.js.map +1 -0
- package/dist/client/chat/keys.d.ts +1 -0
- package/dist/client/chat/keys.d.ts.map +1 -1
- package/dist/client/chat/keys.js +3 -1
- package/dist/client/chat/keys.js.map +1 -1
- package/dist/client/chat/message-model.d.ts +38 -44
- package/dist/client/chat/message-model.d.ts.map +1 -1
- package/dist/client/chat/message-model.js +138 -56
- package/dist/client/chat/message-model.js.map +1 -1
- package/dist/client/chat/provider.d.ts +12 -2
- package/dist/client/chat/provider.d.ts.map +1 -1
- package/dist/client/chat/provider.js +130 -4
- package/dist/client/chat/provider.js.map +1 -1
- package/dist/client/chat/submissions.d.ts +67 -0
- package/dist/client/chat/submissions.d.ts.map +1 -0
- package/dist/client/chat/submissions.js +241 -0
- package/dist/client/chat/submissions.js.map +1 -0
- package/dist/client/chat/tool-renderer.d.ts +39 -0
- package/dist/client/chat/tool-renderer.d.ts.map +1 -0
- package/dist/client/chat/tool-renderer.js +27 -0
- package/dist/client/chat/tool-renderer.js.map +1 -0
- package/dist/client/chat/use-chat-scroll.d.ts +4 -0
- package/dist/client/chat/use-chat-scroll.d.ts.map +1 -0
- package/dist/client/chat/use-chat-scroll.js +73 -0
- package/dist/client/chat/use-chat-scroll.js.map +1 -0
- package/dist/client/chat/use-chat.d.ts +13 -24
- package/dist/client/chat/use-chat.d.ts.map +1 -1
- package/dist/client/chat/use-chat.js +250 -235
- package/dist/client/chat/use-chat.js.map +1 -1
- package/dist/client/chat.d.ts +20 -8
- package/dist/client/chat.d.ts.map +1 -1
- package/dist/client/chat.js +16 -4
- 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 +20 -39
- package/dist/client/components/agent-picker.js.map +1 -1
- package/dist/client/components/quota-status.d.ts +16 -0
- package/dist/client/components/quota-status.d.ts.map +1 -0
- package/dist/client/components/quota-status.js +39 -0
- package/dist/client/components/quota-status.js.map +1 -0
- package/dist/client/components/runners-refresh.d.ts.map +1 -1
- package/dist/client/components/runners-refresh.js +1 -0
- package/dist/client/components/runners-refresh.js.map +1 -1
- package/dist/client/components/variables/variable-dialogs.d.ts.map +1 -1
- package/dist/client/components/variables/variable-dialogs.js +7 -7
- package/dist/client/components/variables/variable-dialogs.js.map +1 -1
- package/dist/client/config.d.ts +2 -0
- package/dist/client/config.d.ts.map +1 -1
- package/dist/client/config.js +2 -0
- package/dist/client/config.js.map +1 -1
- package/dist/client/hooks/use-agent-picker-labels.d.ts.map +1 -1
- package/dist/client/hooks/use-agent-picker-labels.js +4 -12
- package/dist/client/hooks/use-agent-picker-labels.js.map +1 -1
- package/dist/client/hooks/use-quota-expiry.d.ts +7 -0
- package/dist/client/hooks/use-quota-expiry.d.ts.map +1 -0
- package/dist/client/hooks/use-quota-expiry.js +92 -0
- package/dist/client/hooks/use-quota-expiry.js.map +1 -0
- package/dist/client/hooks/use-realtime-topic.d.ts +1 -4
- package/dist/client/hooks/use-realtime-topic.d.ts.map +1 -1
- package/dist/client/hooks/use-realtime-topic.js +7 -11
- package/dist/client/hooks/use-realtime-topic.js.map +1 -1
- package/dist/client/kit.d.ts +14 -12
- package/dist/client/kit.d.ts.map +1 -1
- package/dist/client/kit.js +37 -14
- package/dist/client/kit.js.map +1 -1
- package/dist/client/lib/agents.d.ts +5 -18
- package/dist/client/lib/agents.d.ts.map +1 -1
- package/dist/client/lib/agents.js +18 -55
- package/dist/client/lib/agents.js.map +1 -1
- package/dist/client/lib/format.d.ts +3 -1
- package/dist/client/lib/format.d.ts.map +1 -1
- package/dist/client/lib/format.js +25 -0
- package/dist/client/lib/format.js.map +1 -1
- package/dist/client/lib/skill-settings-context.d.ts +9 -0
- package/dist/client/lib/skill-settings-context.d.ts.map +1 -0
- package/dist/client/lib/skill-settings-context.js +4 -0
- package/dist/client/lib/skill-settings-context.js.map +1 -0
- package/dist/client/lib/skill-settings.d.ts +12 -0
- package/dist/client/lib/skill-settings.d.ts.map +1 -0
- package/dist/client/lib/skill-settings.js +37 -0
- package/dist/client/lib/skill-settings.js.map +1 -0
- package/dist/client/locales/chat.en-US.d.ts +8 -27
- package/dist/client/locales/chat.en-US.d.ts.map +1 -1
- package/dist/client/locales/chat.en-US.js +12 -30
- 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 +9 -27
- package/dist/client/locales/chat.zh-CN.js.map +1 -1
- package/dist/client/locales/en-US.d.ts +87 -217
- package/dist/client/locales/en-US.d.ts.map +1 -1
- package/dist/client/locales/en-US.js +92 -218
- package/dist/client/locales/en-US.js.map +1 -1
- package/dist/client/locales/runWait.en-US.d.ts +7 -0
- package/dist/client/locales/runWait.en-US.d.ts.map +1 -1
- package/dist/client/locales/runWait.en-US.js +10 -3
- package/dist/client/locales/runWait.en-US.js.map +1 -1
- package/dist/client/locales/runWait.zh-CN.d.ts +1 -1
- package/dist/client/locales/runWait.zh-CN.d.ts.map +1 -1
- package/dist/client/locales/runWait.zh-CN.js +11 -4
- package/dist/client/locales/runWait.zh-CN.js.map +1 -1
- package/dist/client/locales/runtimes.en-US.d.ts +83 -0
- package/dist/client/locales/runtimes.en-US.d.ts.map +1 -1
- package/dist/client/locales/runtimes.en-US.js +84 -1
- package/dist/client/locales/runtimes.en-US.js.map +1 -1
- package/dist/client/locales/runtimes.zh-CN.d.ts.map +1 -1
- package/dist/client/locales/runtimes.zh-CN.js +83 -0
- package/dist/client/locales/runtimes.zh-CN.js.map +1 -1
- package/dist/client/locales/skills.en-US.d.ts +7 -0
- package/dist/client/locales/skills.en-US.d.ts.map +1 -1
- package/dist/client/locales/skills.en-US.js +8 -1
- package/dist/client/locales/skills.en-US.js.map +1 -1
- package/dist/client/locales/skills.zh-CN.d.ts.map +1 -1
- package/dist/client/locales/skills.zh-CN.js +8 -1
- package/dist/client/locales/skills.zh-CN.js.map +1 -1
- package/dist/client/locales/zh-CN.d.ts.map +1 -1
- package/dist/client/locales/zh-CN.js +94 -220
- 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 +7 -101
- 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 +185 -0
- package/dist/client/pages/agents/runner-agents.js.map +1 -0
- package/dist/client/pages/runtimes/connect.js.map +1 -1
- package/dist/client/pages/runtimes/index.d.ts.map +1 -1
- package/dist/client/pages/runtimes/index.js +1 -1
- package/dist/client/pages/runtimes/index.js.map +1 -1
- package/dist/client/pages/runtimes/quota-targets.d.ts +4 -0
- package/dist/client/pages/runtimes/quota-targets.d.ts.map +1 -0
- package/dist/client/pages/runtimes/quota-targets.js +18 -0
- package/dist/client/pages/runtimes/quota-targets.js.map +1 -0
- package/dist/client/pages/runtimes/quota.d.ts +17 -0
- package/dist/client/pages/runtimes/quota.d.ts.map +1 -0
- package/dist/client/pages/runtimes/quota.js +50 -0
- package/dist/client/pages/runtimes/quota.js.map +1 -0
- package/dist/client/pages/runtimes/runner-cells.d.ts +11 -4
- package/dist/client/pages/runtimes/runner-cells.d.ts.map +1 -1
- package/dist/client/pages/runtimes/runner-cells.js +6 -3
- package/dist/client/pages/runtimes/runner-cells.js.map +1 -1
- package/dist/client/pages/runtimes/runner-overview.d.ts +9 -0
- package/dist/client/pages/runtimes/runner-overview.d.ts.map +1 -0
- package/dist/client/pages/runtimes/runner-overview.js +109 -0
- package/dist/client/pages/runtimes/runner-overview.js.map +1 -0
- package/dist/client/pages/runtimes/runner-runs.d.ts +5 -0
- package/dist/client/pages/runtimes/runner-runs.d.ts.map +1 -0
- package/dist/client/pages/runtimes/runner-runs.js +35 -0
- package/dist/client/pages/runtimes/runner-runs.js.map +1 -0
- package/dist/client/pages/runtimes/runner-sheet.d.ts +2 -3
- package/dist/client/pages/runtimes/runner-sheet.d.ts.map +1 -1
- package/dist/client/pages/runtimes/runner-sheet.js +43 -171
- package/dist/client/pages/runtimes/runner-sheet.js.map +1 -1
- package/dist/client/pages/runtimes/runner-tools.d.ts +17 -0
- package/dist/client/pages/runtimes/runner-tools.d.ts.map +1 -0
- package/dist/client/pages/runtimes/runner-tools.js +75 -0
- package/dist/client/pages/runtimes/runner-tools.js.map +1 -0
- package/dist/client/pages/runtimes/runner-workspaces.d.ts +6 -0
- package/dist/client/pages/runtimes/runner-workspaces.d.ts.map +1 -0
- package/dist/client/pages/runtimes/runner-workspaces.js +37 -0
- package/dist/client/pages/runtimes/runner-workspaces.js.map +1 -0
- package/dist/client/pages/runtimes/tool-slots-fields.js +1 -1
- package/dist/client/pages/runtimes/tool-slots-fields.js.map +1 -1
- package/dist/client/pages/runtimes/workspace-diagnostics.d.ts +6 -4
- package/dist/client/pages/runtimes/workspace-diagnostics.d.ts.map +1 -1
- package/dist/client/pages/runtimes/workspace-diagnostics.js +67 -33
- package/dist/client/pages/runtimes/workspace-diagnostics.js.map +1 -1
- package/dist/client/pages/skills/detail/index.d.ts.map +1 -1
- package/dist/client/pages/skills/detail/index.js +11 -15
- package/dist/client/pages/skills/detail/index.js.map +1 -1
- package/dist/client/pages/skills/index.d.ts.map +1 -1
- package/dist/client/pages/skills/index.js +2 -2
- package/dist/client/pages/skills/index.js.map +1 -1
- package/dist/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.map +1 -1
- package/dist/client/runs/format-wait.js +15 -1
- package/dist/client/runs/format-wait.js.map +1 -1
- 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 +24 -9
- package/dist/client/runs/subject-runs.js.map +1 -1
- package/dist/client/runs/use-run-events.d.ts +1 -1
- package/dist/client/runs/use-run-events.d.ts.map +1 -1
- package/dist/client/runs/use-run-events.js +5 -2
- package/dist/client/runs/use-run-events.js.map +1 -1
- package/dist/client/runs.d.ts +1 -1
- package/dist/client/runs.d.ts.map +1 -1
- package/dist/client/runs.js +1 -1
- package/dist/client/runs.js.map +1 -1
- package/dist/database/migrations/.manifest.json +38 -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/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/202610170001_ag_runner_quota.d.ts +4 -0
- package/dist/database/migrations/202610170001_ag_runner_quota.d.ts.map +1 -0
- package/dist/database/migrations/202610170001_ag_runner_quota.js +19 -0
- package/dist/database/migrations/202610170001_ag_runner_quota.js.map +1 -0
- package/dist/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/database/migrations/202610270001_ag_online_agent.d.ts +4 -0
- package/dist/database/migrations/202610270001_ag_online_agent.d.ts.map +1 -0
- package/dist/database/migrations/202610270001_ag_online_agent.js +43 -0
- package/dist/database/migrations/202610270001_ag_online_agent.js.map +1 -0
- package/dist/database/migrations/202610270002_ag_chat_list_visibility.d.ts +4 -0
- package/dist/database/migrations/202610270002_ag_chat_list_visibility.d.ts.map +1 -0
- package/dist/database/migrations/202610270002_ag_chat_list_visibility.js +17 -0
- package/dist/database/migrations/202610270002_ag_chat_list_visibility.js.map +1 -0
- package/dist/package.json +34 -12
- package/dist/server/cli/run-credential.js +1 -1
- package/dist/server/cli/surface.d.ts.map +1 -1
- package/dist/server/cli/surface.js +4 -1
- package/dist/server/cli/surface.js.map +1 -1
- package/dist/server/composition.d.ts +36 -35
- package/dist/server/composition.d.ts.map +1 -1
- package/dist/server/composition.js +99 -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 +347 -321
- package/dist/server/core/agents/agent.service.js.map +1 -1
- package/dist/server/core/agents/agent.store.d.ts +26 -12
- package/dist/server/core/agents/agent.store.d.ts.map +1 -1
- package/dist/server/core/agents/agent.store.js +74 -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 +88 -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 +3 -2
- package/dist/server/core/agents/index.d.ts.map +1 -1
- package/dist/server/core/agents/index.js +3 -2
- package/dist/server/core/agents/index.js.map +1 -1
- package/dist/server/core/brief/brief.js +3 -3
- package/dist/server/core/brief/brief.js.map +1 -1
- package/dist/server/core/callers/index.d.ts +10 -1
- package/dist/server/core/callers/index.d.ts.map +1 -1
- package/dist/server/core/callers/index.js +15 -0
- package/dist/server/core/callers/index.js.map +1 -1
- package/dist/server/core/conversations/attachments.d.ts.map +1 -1
- package/dist/server/core/conversations/attachments.js +6 -1
- package/dist/server/core/conversations/attachments.js.map +1 -1
- package/dist/server/core/conversations/availability.d.ts +6 -11
- package/dist/server/core/conversations/availability.d.ts.map +1 -1
- package/dist/server/core/conversations/availability.js +11 -15
- package/dist/server/core/conversations/availability.js.map +1 -1
- package/dist/server/core/conversations/chat-settings.d.ts +2 -2
- package/dist/server/core/conversations/chat-settings.d.ts.map +1 -1
- package/dist/server/core/conversations/chat-settings.js +17 -22
- package/dist/server/core/conversations/chat-settings.js.map +1 -1
- package/dist/server/core/conversations/conversation.service.d.ts +13 -8
- package/dist/server/core/conversations/conversation.service.d.ts.map +1 -1
- package/dist/server/core/conversations/conversation.service.js +397 -383
- package/dist/server/core/conversations/conversation.service.js.map +1 -1
- package/dist/server/core/conversations/conversation.store.d.ts +3 -0
- package/dist/server/core/conversations/conversation.store.d.ts.map +1 -1
- package/dist/server/core/conversations/conversation.store.js +2 -1
- package/dist/server/core/conversations/conversation.store.js.map +1 -1
- package/dist/server/core/conversations/page-context.d.ts +8 -2
- package/dist/server/core/conversations/page-context.d.ts.map +1 -1
- package/dist/server/core/conversations/page-context.js +61 -2
- package/dist/server/core/conversations/page-context.js.map +1 -1
- package/dist/server/core/conversations/ports.d.ts +18 -20
- package/dist/server/core/conversations/ports.d.ts.map +1 -1
- package/dist/server/core/reports/model-usage.d.ts.map +1 -1
- package/dist/server/core/reports/model-usage.js +42 -44
- package/dist/server/core/reports/model-usage.js.map +1 -1
- package/dist/server/core/reports/prices.d.ts.map +1 -1
- package/dist/server/core/reports/prices.js +29 -5
- package/dist/server/core/reports/prices.js.map +1 -1
- package/dist/server/core/reports/report.service.d.ts +4 -2
- package/dist/server/core/reports/report.service.d.ts.map +1 -1
- package/dist/server/core/reports/report.service.js +148 -66
- package/dist/server/core/reports/report.service.js.map +1 -1
- package/dist/server/core/runs/access.d.ts +5 -0
- package/dist/server/core/runs/access.d.ts.map +1 -0
- package/dist/server/core/runs/access.js +10 -0
- package/dist/server/core/runs/access.js.map +1 -0
- package/dist/server/core/runs/availability.d.ts +18 -6
- package/dist/server/core/runs/availability.d.ts.map +1 -1
- package/dist/server/core/runs/availability.js +40 -34
- package/dist/server/core/runs/availability.js.map +1 -1
- package/dist/server/core/runs/claim.d.ts +30 -106
- package/dist/server/core/runs/claim.d.ts.map +1 -1
- package/dist/server/core/runs/claim.js +630 -323
- 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 +13 -1
- package/dist/server/core/runs/eligibility.d.ts.map +1 -1
- package/dist/server/core/runs/eligibility.js +41 -10
- package/dist/server/core/runs/eligibility.js.map +1 -1
- package/dist/server/core/runs/execution-view.d.ts +8 -0
- package/dist/server/core/runs/execution-view.d.ts.map +1 -1
- package/dist/server/core/runs/execution-view.js +9 -0
- package/dist/server/core/runs/execution-view.js.map +1 -1
- package/dist/server/core/runs/execution.d.ts +1 -1
- package/dist/server/core/runs/execution.d.ts.map +1 -1
- package/dist/server/core/runs/execution.js +8 -2
- package/dist/server/core/runs/execution.js.map +1 -1
- package/dist/server/core/runs/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 +6 -6
- package/dist/server/core/runs/index.d.ts.map +1 -1
- package/dist/server/core/runs/index.js +6 -6
- package/dist/server/core/runs/index.js.map +1 -1
- package/dist/server/core/runs/input-gate.d.ts +1 -1
- package/dist/server/core/runs/input-gate.d.ts.map +1 -1
- package/dist/server/core/runs/input-gate.js +4 -2
- package/dist/server/core/runs/input-gate.js.map +1 -1
- package/dist/server/core/runs/lifecycle.d.ts +16 -18
- package/dist/server/core/runs/lifecycle.d.ts.map +1 -1
- package/dist/server/core/runs/lifecycle.js +146 -60
- package/dist/server/core/runs/lifecycle.js.map +1 -1
- package/dist/server/core/runs/policy.d.ts +9 -2
- package/dist/server/core/runs/policy.d.ts.map +1 -1
- package/dist/server/core/runs/policy.js +17 -8
- package/dist/server/core/runs/policy.js.map +1 -1
- package/dist/server/core/runs/ports.d.ts +41 -31
- 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 +1 -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 +25 -0
- package/dist/server/core/runs/run-requests.d.ts.map +1 -1
- package/dist/server/core/runs/run-requests.js +131 -64
- package/dist/server/core/runs/run-requests.js.map +1 -1
- package/dist/server/core/runs/run.service.d.ts +31 -2
- package/dist/server/core/runs/run.service.d.ts.map +1 -1
- package/dist/server/core/runs/run.service.js +638 -74
- package/dist/server/core/runs/run.service.js.map +1 -1
- package/dist/server/core/runs/run.store.d.ts +11 -0
- package/dist/server/core/runs/run.store.d.ts.map +1 -1
- package/dist/server/core/runs/run.store.js +39 -11
- package/dist/server/core/runs/run.store.js.map +1 -1
- package/dist/server/core/runs/runner-view.d.ts +12 -2
- package/dist/server/core/runs/runner-view.d.ts.map +1 -1
- package/dist/server/core/runs/runner-view.js +55 -13
- 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 +66 -17
- package/dist/server/core/runs/sweeper.js.map +1 -1
- package/dist/server/core/runs/transitions.d.ts +6 -2
- package/dist/server/core/runs/transitions.d.ts.map +1 -1
- package/dist/server/core/runs/transitions.js +73 -19
- package/dist/server/core/runs/transitions.js.map +1 -1
- package/dist/server/core/runs/workload.d.ts +17 -5
- package/dist/server/core/runs/workload.d.ts.map +1 -1
- package/dist/server/core/runs/workload.js +203 -68
- package/dist/server/core/runs/workload.js.map +1 -1
- package/dist/server/core/skills/skill.service.d.ts +6 -2
- package/dist/server/core/skills/skill.service.d.ts.map +1 -1
- package/dist/server/core/skills/skill.service.js +87 -66
- package/dist/server/core/skills/skill.service.js.map +1 -1
- package/dist/server/core/skills/skill.store.d.ts +14 -0
- package/dist/server/core/skills/skill.store.d.ts.map +1 -1
- package/dist/server/core/skills/skill.store.js +30 -0
- package/dist/server/core/skills/skill.store.js.map +1 -1
- package/dist/server/core/transaction-read.d.ts +4 -0
- package/dist/server/core/transaction-read.d.ts.map +1 -0
- package/dist/server/core/transaction-read.js +30 -0
- package/dist/server/core/transaction-read.js.map +1 -0
- package/dist/server/core/variables/index.d.ts +1 -1
- package/dist/server/core/variables/index.d.ts.map +1 -1
- package/dist/server/core/variables/index.js.map +1 -1
- package/dist/server/core/variables/variable.service.d.ts +18 -0
- package/dist/server/core/variables/variable.service.d.ts.map +1 -1
- package/dist/server/core/variables/variable.service.js +95 -20
- package/dist/server/core/variables/variable.service.js.map +1 -1
- package/dist/server/index.d.ts +4 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +3 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/jobs/job.service.d.ts +1 -1
- package/dist/server/jobs/job.service.d.ts.map +1 -1
- package/dist/server/jobs/job.service.js +8 -2
- package/dist/server/jobs/job.service.js.map +1 -1
- package/dist/server/kernel/events.d.ts +7 -3
- package/dist/server/kernel/events.d.ts.map +1 -1
- package/dist/server/kernel/events.js.map +1 -1
- package/dist/server/kernel/scopes.d.ts +6 -0
- package/dist/server/kernel/scopes.d.ts.map +1 -1
- package/dist/server/kernel/scopes.js +3 -1
- package/dist/server/kernel/scopes.js.map +1 -1
- package/dist/server/online/agent/configuration.d.ts +26 -0
- package/dist/server/online/agent/configuration.d.ts.map +1 -0
- package/dist/server/online/agent/configuration.js +261 -0
- package/dist/server/online/agent/configuration.js.map +1 -0
- package/dist/server/online/agent/contracts.d.ts +87 -0
- package/dist/server/online/agent/contracts.d.ts.map +1 -0
- package/dist/server/online/agent/contracts.js +2 -0
- package/dist/server/online/agent/contracts.js.map +1 -0
- package/dist/server/online/agent/errors.d.ts +11 -0
- package/dist/server/online/agent/errors.d.ts.map +1 -0
- package/dist/server/online/agent/errors.js +21 -0
- package/dist/server/online/agent/errors.js.map +1 -0
- package/dist/server/online/agent/index.d.ts +11 -0
- package/dist/server/online/agent/index.d.ts.map +1 -0
- package/dist/server/online/agent/index.js +9 -0
- package/dist/server/online/agent/index.js.map +1 -0
- package/dist/server/online/agent/messages/json.d.ts +5 -0
- package/dist/server/online/agent/messages/json.d.ts.map +1 -0
- package/dist/server/online/agent/messages/json.js +88 -0
- package/dist/server/online/agent/messages/json.js.map +1 -0
- package/dist/server/online/agent/messages/projection.d.ts +20 -0
- package/dist/server/online/agent/messages/projection.d.ts.map +1 -0
- package/dist/server/online/agent/messages/projection.js +495 -0
- package/dist/server/online/agent/messages/projection.js.map +1 -0
- package/dist/server/online/agent/messages/validation.d.ts +7 -0
- package/dist/server/online/agent/messages/validation.d.ts.map +1 -0
- package/dist/server/online/agent/messages/validation.js +159 -0
- package/dist/server/online/agent/messages/validation.js.map +1 -0
- package/dist/server/online/agent/native/backend.d.ts +60 -0
- package/dist/server/online/agent/native/backend.d.ts.map +1 -0
- package/dist/server/online/agent/native/backend.js +411 -0
- package/dist/server/online/agent/native/backend.js.map +1 -0
- package/dist/server/online/agent/native/execution.d.ts +41 -0
- package/dist/server/online/agent/native/execution.d.ts.map +1 -0
- package/dist/server/online/agent/native/execution.js +430 -0
- package/dist/server/online/agent/native/execution.js.map +1 -0
- package/dist/server/online/agent/native/session.d.ts +40 -0
- package/dist/server/online/agent/native/session.d.ts.map +1 -0
- package/dist/server/online/agent/native/session.js +104 -0
- package/dist/server/online/agent/native/session.js.map +1 -0
- package/dist/server/online/agent/native/types.d.ts +32 -0
- package/dist/server/online/agent/native/types.d.ts.map +1 -0
- package/dist/server/online/agent/native/types.js +2 -0
- package/dist/server/online/agent/native/types.js.map +1 -0
- package/dist/server/online/agent/persistence/manager.d.ts +16 -0
- package/dist/server/online/agent/persistence/manager.d.ts.map +1 -0
- package/dist/server/online/agent/persistence/manager.js +209 -0
- package/dist/server/online/agent/persistence/manager.js.map +1 -0
- package/dist/server/online/agent/persistence/state.d.ts +11 -0
- package/dist/server/online/agent/persistence/state.d.ts.map +1 -0
- package/dist/server/online/agent/persistence/state.js +45 -0
- package/dist/server/online/agent/persistence/state.js.map +1 -0
- package/dist/server/online/agent/persistence/store.d.ts +58 -0
- package/dist/server/online/agent/persistence/store.d.ts.map +1 -0
- package/dist/server/online/agent/persistence/store.js +634 -0
- package/dist/server/online/agent/persistence/store.js.map +1 -0
- package/dist/server/online/agent/persistence/types.d.ts +44 -0
- package/dist/server/online/agent/persistence/types.d.ts.map +1 -0
- package/dist/server/online/agent/persistence/types.js +2 -0
- package/dist/server/online/agent/persistence/types.js.map +1 -0
- package/dist/server/online/agent/runner/backend.d.ts +57 -0
- package/dist/server/online/agent/runner/backend.d.ts.map +1 -0
- package/dist/server/online/agent/runner/backend.js +501 -0
- package/dist/server/online/agent/runner/backend.js.map +1 -0
- package/dist/server/online/agent/runner/projection.d.ts +10 -0
- package/dist/server/online/agent/runner/projection.d.ts.map +1 -0
- package/dist/server/online/agent/runner/projection.js +171 -0
- package/dist/server/online/agent/runner/projection.js.map +1 -0
- package/dist/server/online/agent/runner/types.d.ts +44 -0
- package/dist/server/online/agent/runner/types.d.ts.map +1 -0
- package/dist/server/online/agent/runner/types.js +2 -0
- package/dist/server/online/agent/runner/types.js.map +1 -0
- package/dist/server/online/agent/service.d.ts +47 -0
- package/dist/server/online/agent/service.d.ts.map +1 -0
- package/dist/server/online/agent/service.js +111 -0
- package/dist/server/online/agent/service.js.map +1 -0
- package/dist/server/online/agent/transport/streams.d.ts +54 -0
- package/dist/server/online/agent/transport/streams.d.ts.map +1 -0
- package/dist/server/online/agent/transport/streams.js +440 -0
- package/dist/server/online/agent/transport/streams.js.map +1 -0
- package/dist/server/online/agent/types.d.ts +155 -0
- package/dist/server/online/agent/types.d.ts.map +1 -0
- package/dist/server/online/agent/types.js +2 -0
- package/dist/server/online/agent/types.js.map +1 -0
- 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/providers.d.ts.map +1 -1
- package/dist/server/online/providers.js +26 -2
- package/dist/server/online/providers.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/online/services.d.ts.map +1 -1
- package/dist/server/online/services.js +101 -24
- package/dist/server/online/services.js.map +1 -1
- package/dist/server/providers/agents.d.ts +18 -25
- package/dist/server/providers/agents.d.ts.map +1 -1
- package/dist/server/providers/agents.js +72 -101
- package/dist/server/providers/agents.js.map +1 -1
- package/dist/server/providers/runners.d.ts +3 -1
- package/dist/server/providers/runners.d.ts.map +1 -1
- package/dist/server/providers/runners.js +38 -9
- package/dist/server/providers/runners.js.map +1 -1
- package/dist/server/routes/admin.d.ts +4 -0
- package/dist/server/routes/admin.d.ts.map +1 -1
- package/dist/server/routes/admin.js +131 -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 +313 -164
- 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 +8 -0
- 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 -22
- package/dist/server/routes/roster.js.map +1 -1
- package/dist/server/routes/run-requests.js +3 -3
- package/dist/server/routes/run-requests.js.map +1 -1
- package/dist/server/routes/runners/admin.d.ts.map +1 -1
- package/dist/server/routes/runners/admin.js +219 -25
- package/dist/server/routes/runners/admin.js.map +1 -1
- package/dist/server/routes/runners/install.d.ts.map +1 -1
- package/dist/server/routes/runners/install.js +7 -2
- package/dist/server/routes/runners/install.js.map +1 -1
- package/dist/server/routes/runners/runner.d.ts.map +1 -1
- package/dist/server/routes/runners/runner.js +2 -0
- package/dist/server/routes/runners/runner.js.map +1 -1
- package/dist/server/routes/schemas.d.ts +18 -10
- package/dist/server/routes/schemas.d.ts.map +1 -1
- package/dist/server/routes/schemas.js +497 -153
- package/dist/server/routes/schemas.js.map +1 -1
- package/dist/server/runners/runner.service.d.ts +47 -4
- package/dist/server/runners/runner.service.d.ts.map +1 -1
- package/dist/server/runners/runner.service.js +423 -79
- package/dist/server/runners/runner.service.js.map +1 -1
- package/dist/server/runners/runner.store.d.ts +8 -3
- package/dist/server/runners/runner.store.d.ts.map +1 -1
- package/dist/server/runners/runner.store.js +63 -6
- package/dist/server/runners/runner.store.js.map +1 -1
- package/dist/server/runners/slots.d.ts +5 -2
- package/dist/server/runners/slots.d.ts.map +1 -1
- package/dist/server/runners/slots.js +3 -4
- package/dist/server/runners/slots.js.map +1 -1
- package/dist/server/runners/workspaces.d.ts.map +1 -1
- package/dist/server/runners/workspaces.js +18 -2
- package/dist/server/runners/workspaces.js.map +1 -1
- 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 +8 -7
- package/dist/server/tokens.d.ts.map +1 -1
- package/dist/server/tokens.js +4 -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 +131 -169
- package/dist/shared/agents.d.ts.map +1 -1
- package/dist/shared/agents.js +36 -102
- package/dist/shared/agents.js.map +1 -1
- package/dist/shared/conversations.d.ts +93 -170
- package/dist/shared/conversations.d.ts.map +1 -1
- package/dist/shared/conversations.js +8 -30
- package/dist/shared/conversations.js.map +1 -1
- package/dist/shared/model-catalog.d.ts +53 -0
- package/dist/shared/model-catalog.d.ts.map +1 -0
- package/dist/shared/model-catalog.js +182 -0
- package/dist/shared/model-catalog.js.map +1 -0
- package/dist/shared/online-agent.d.ts +3 -0
- package/dist/shared/online-agent.d.ts.map +1 -0
- package/dist/shared/online-agent.js +3 -0
- package/dist/shared/online-agent.js.map +1 -0
- package/dist/shared/page-ui-context.d.ts +26 -0
- package/dist/shared/page-ui-context.d.ts.map +1 -0
- package/dist/shared/page-ui-context.js +129 -0
- package/dist/shared/page-ui-context.js.map +1 -0
- package/dist/shared/quota.d.ts +15 -0
- package/dist/shared/quota.d.ts.map +1 -0
- package/dist/shared/quota.js +2 -0
- package/dist/shared/quota.js.map +1 -0
- package/dist/shared/runners.d.ts +132 -14
- package/dist/shared/runners.d.ts.map +1 -1
- package/dist/shared/runners.js +171 -11
- package/dist/shared/runners.js.map +1 -1
- package/dist/shared/runs.d.ts +57 -1
- package/dist/shared/runs.d.ts.map +1 -1
- package/dist/shared/runs.js +28 -0
- package/dist/shared/runs.js.map +1 -1
- package/dist/shared/skills.d.ts +11 -5
- package/dist/shared/skills.d.ts.map +1 -1
- package/dist/shared/skills.js +7 -2
- package/dist/shared/skills.js.map +1 -1
- package/dist/shared/ui-message.d.ts +80 -0
- package/dist/shared/ui-message.d.ts.map +1 -0
- package/dist/shared/ui-message.js +153 -0
- package/dist/shared/ui-message.js.map +1 -0
- package/dist/shared/variables.js +1 -1
- package/dist/shared/variables.js.map +1 -1
- package/docs/ai-forms.md +346 -0
- package/docs/execution-history.md +19 -0
- package/docs/mysql-installation-upgrade.md +7 -0
- package/docs/runner-agents.md +27 -0
- package/docs/ui-message-clients.md +80 -0
- package/docs/ui-messages.md +209 -0
- package/docs/workspace-cleanup.md +13 -0
- package/package.json +41 -27
- package/skills/nocobase-app-plugin-agents/SKILL.md +16 -13
- package/skills/nocobase-app-plugin-agents/references/agents.md +30 -0
- package/skills/nocobase-app-plugin-agents/references/extension-points.md +21 -21
- package/skills/nocobase-app-plugin-agents/references/model-services.md +17 -0
- package/skills/nocobase-app-plugin-agents/references/online-agent.md +216 -0
- package/skills/nocobase-app-plugin-agents/references/runners.md +12 -0
- package/skills/nocobase-app-plugin-agents/references/setup-and-config.md +6 -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 +29 -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 -86
- 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 -44
- package/dist/client/components/model-entries.d.ts.map +0 -1
- package/dist/client/components/model-entries.js +0 -104
- 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/model-suggestions.d.ts +0 -28
- package/dist/client/lib/model-suggestions.d.ts.map +0 -1
- package/dist/client/lib/model-suggestions.js +0 -44
- package/dist/client/lib/model-suggestions.js.map +0 -1
- package/dist/client/lib/tool-policy.d.ts +0 -3
- package/dist/client/lib/tool-policy.d.ts.map +0 -1
- package/dist/client/lib/tool-policy.js +0 -5
- 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 -69
- package/dist/client/pages/agents/agent-model.d.ts.map +0 -1
- package/dist/client/pages/agents/agent-model.js +0 -153
- 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 -21
- package/dist/client/pages/agents/detail/sections.d.ts.map +0 -1
- package/dist/client/pages/agents/detail/sections.js +0 -280
- 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 -198
- 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,3 +1,4 @@
|
|
|
1
|
+
import { involvesRun as involves, mayAccessRun } from '../core/runs/access.js';
|
|
1
2
|
/**
|
|
2
3
|
* The people-facing API, mounted at `/api/agents`: agents and their brief preview, variables, the skill library, runs,
|
|
3
4
|
* usage and prices; runners and registration tokens are in `runners/admin.ts`. Every route is behind the guard the
|
|
@@ -29,20 +30,18 @@
|
|
|
29
30
|
import { apiErrorResponse, apiErrorResponses, apiValidator, cliRoute, dataResponse, describeRoute, emptyResponse, listResponse, } from '@nocobase/app-server/router';
|
|
30
31
|
import { bodyLimit } from 'hono/body-limit';
|
|
31
32
|
import { z } from 'zod';
|
|
32
|
-
import { policyAllowsAgent } from '@nocobase/agent-protocol';
|
|
33
33
|
import { reaches, } from '../../shared/access.js';
|
|
34
|
-
import { offersEntry } from '../../shared/models.js';
|
|
35
34
|
import { SKILL_UPLOAD_MAX_BYTES } from '../../shared/skills.js';
|
|
36
35
|
import { CONVERSATION_SUBJECT } from '../../shared/conversations.js';
|
|
37
|
-
import {
|
|
36
|
+
import { AgentPatchSchema, agentViews } from '../core/agents/index.js';
|
|
38
37
|
import { ModelPricesSchema } from '../core/reports/index.js';
|
|
39
|
-
import {
|
|
38
|
+
import { runMachineViewerFor, runForViewer, } from '../core/runs/index.js';
|
|
40
39
|
import { SkillIdsSchema, SkillImportSchema, SkillInputSchema, SkillSaveSchema, } from '../core/skills/index.js';
|
|
41
40
|
import { forbidden, invalid, notFound } from '../kernel/errors.js';
|
|
42
41
|
import { decodePageToken, domainRouter, encodePageToken, } from '../kernel/http.js';
|
|
43
42
|
import { WORKDIR_TITLE } from '../kernel/scopes.js';
|
|
44
43
|
import { tags } from './openapi.js';
|
|
45
|
-
import { AgentActionOptionSchema, AgentChangeSchema, AgentHistoryQuery,
|
|
44
|
+
import { AgentActionOptionSchema, AgentChangeSchema, AgentHistoryQuery, AgentParams, AgentNameSchema, AgentSchema, AgentViewSchema, BriefPreviewSchema, ModelUsageReportSchema, PageTokenMetaSchema, PricesSchema, RunBriefSchema, RunDetailSchema, RunEventItemSchema, RunSchema, SeqPageMetaSchema, SkillArchiveQuery, SkillAttachmentsSchema, SkillDetailSchema, SkillFileQuery, SkillUploadSchema, SkillSchema, SkillVersionDetailSchema, SkillVersionSchema, SkillViewSchema, UsageReportSchema, UserRefSchema, VariableAuditSchema, VariableSchema, VariableValueSchema, VocabularySchema, AuditListQuery, ModelUsageQuery, PreviewBriefQuery, RunEventsQuery, RunListQuery, RunParams, ScopeParams, SkillParams, SkillRestoreInput, SkillVersionParams, UsageQuerySchema, VariableParams, VariableValueInput, WorkspaceParams, } from './schemas.js';
|
|
46
45
|
/** A multipart body of one file, as `file`. */
|
|
47
46
|
const skillUploadBody = {
|
|
48
47
|
required: true,
|
|
@@ -90,9 +89,6 @@ async function mayEdit(who, relatedTo) {
|
|
|
90
89
|
return true;
|
|
91
90
|
return reaches(await who.scope('agents.agents/edit'), relatedTo);
|
|
92
91
|
}
|
|
93
|
-
function involves(run, userId) {
|
|
94
|
-
return run.actorUserId === userId || run.ownerUserId === userId;
|
|
95
|
-
}
|
|
96
92
|
const RunPosition = z.object({ createdAt: z.string(), id: z.string() });
|
|
97
93
|
const AuditPosition = z.object({ at: z.string(), id: z.string() });
|
|
98
94
|
const ChangePosition = z.object({
|
|
@@ -115,13 +111,11 @@ export function createAdminRoutes(services, guard, scoped = guard) {
|
|
|
115
111
|
const visibleRun = async (context, action) => {
|
|
116
112
|
const who = caller(context);
|
|
117
113
|
const run = await services.runs.get(context.req.param('runId') ?? '');
|
|
118
|
-
if (
|
|
114
|
+
if (await mayAccessRun(run, who.userId, isPrivate(run), () => who.can('agents.agents', action)))
|
|
119
115
|
return run;
|
|
120
116
|
// A private subject's runs (a conversation) belong to the people they involve, whatever the caller manages.
|
|
121
117
|
if (isPrivate(run))
|
|
122
118
|
throw notFound('Run');
|
|
123
|
-
if (await who.can('agents.agents', action))
|
|
124
|
-
return run;
|
|
125
119
|
if (action === 'manage' && (await who.can('agents.agents', 'read')))
|
|
126
120
|
throw forbidden('This needs agents.agents manage permission.');
|
|
127
121
|
throw notFound('Run');
|
|
@@ -129,42 +123,6 @@ export function createAdminRoutes(services, guard, scoped = guard) {
|
|
|
129
123
|
const isPrivate = (run) => services.subjects.get(run.subject.kind)?.private === true;
|
|
130
124
|
const nameOf = async (userId) => (await services.people.names(services.tx.read(), [userId])).get(userId) ??
|
|
131
125
|
userId;
|
|
132
|
-
/** The agents with what the list shows about their runs and runners, and whether the caller may change each. */
|
|
133
|
-
const summarize = async (who, agents) => {
|
|
134
|
-
const conn = services.tx.read();
|
|
135
|
-
const online = await services.runners.online(conn);
|
|
136
|
-
const owners = await services.people.names(conn, agents.map((agent) => agent.ownerUserId));
|
|
137
|
-
const catalog = await services.online.gateway.catalog();
|
|
138
|
-
const result = [];
|
|
139
|
-
for (const agent of agents)
|
|
140
|
-
result.push({
|
|
141
|
-
...agent,
|
|
142
|
-
ownerName: owners.get(agent.ownerUserId) ?? null,
|
|
143
|
-
activeRuns: await countActive(conn, 'agentId', agent.id),
|
|
144
|
-
// An online agent runs here: "online" while the service of its first entry offers its model.
|
|
145
|
-
onlineRunners: agent.type === 'online'
|
|
146
|
-
? Number(offersEntry(catalog, onlineEntryOf(agent, undefined, catalog.defaultModel ?? null)))
|
|
147
|
-
: online.filter((runner) => hasTool(runner, agent) &&
|
|
148
|
-
policyAllowsAgent(runner.policy, agent) &&
|
|
149
|
-
(agent.runnerIds.length === 0 ||
|
|
150
|
-
agent.runnerIds.includes(runner.id))).length,
|
|
151
|
-
canEdit: await mayEdit(who, agent.ownerUserId),
|
|
152
|
-
owned: agent.ownerUserId === who.userId,
|
|
153
|
-
canCopy: services.agents.mayInvoke(agent, who.userId),
|
|
154
|
-
});
|
|
155
|
-
return result;
|
|
156
|
-
};
|
|
157
|
-
/** Only a caller who may change the agent of the path goes on: 404 when they may not read it, 403 when not change it. */
|
|
158
|
-
const editableAgent = async (context, next) => {
|
|
159
|
-
const who = caller(context);
|
|
160
|
-
const agent = await services.agents.get(context.req.param('agentId') ?? '');
|
|
161
|
-
if (!(await mayEdit(who, agent.ownerUserId))) {
|
|
162
|
-
if (!(await who.can('agents.agents', 'read')))
|
|
163
|
-
throw notFound('Agent');
|
|
164
|
-
throw forbidden('Only its owner (with the related level of agents.agents edit) or a manager of agents may change this agent.');
|
|
165
|
-
}
|
|
166
|
-
await next();
|
|
167
|
-
};
|
|
168
126
|
/** Only a caller who may edit the skill of the path goes on: 404 when they may not read it, 403 when not edit it. */
|
|
169
127
|
const editableSkill = async (context, next) => {
|
|
170
128
|
const who = caller(context);
|
|
@@ -186,12 +144,20 @@ export function createAdminRoutes(services, guard, scoped = guard) {
|
|
|
186
144
|
const allowed = services.scopes
|
|
187
145
|
.keys()
|
|
188
146
|
.filter((key) => withAgent || key !== 'agent');
|
|
147
|
+
const who = caller(context);
|
|
148
|
+
if (!withAgent && scope === 'global') {
|
|
149
|
+
if (scopeId !== 'default')
|
|
150
|
+
throw notFound('Scope');
|
|
151
|
+
const manage = await who.can('agents.agents', 'manage');
|
|
152
|
+
if (!manage && !(await who.can('agents.agents', 'read')))
|
|
153
|
+
throw notFound('Scope');
|
|
154
|
+
return { scope, scopeId, manage };
|
|
155
|
+
}
|
|
189
156
|
if (!allowed.includes(scope) || !scopeId)
|
|
190
157
|
throw notFound('Scope');
|
|
191
|
-
const who = caller(context);
|
|
192
158
|
if (scope === 'agent') {
|
|
193
|
-
|
|
194
|
-
const manage = await
|
|
159
|
+
await services.agents.get(scopeId);
|
|
160
|
+
const manage = await who.can('agents.agents', 'manage');
|
|
195
161
|
if (!manage && !(await who.can('agents.agents', 'read')))
|
|
196
162
|
throw notFound('Agent');
|
|
197
163
|
return { scope: 'agent', scopeId, manage };
|
|
@@ -280,6 +246,64 @@ export function createAdminRoutes(services, guard, scoped = guard) {
|
|
|
280
246
|
const data = await services.people.list(services.tx.read());
|
|
281
247
|
return context.json({ data, meta: { total: data.length } });
|
|
282
248
|
});
|
|
249
|
+
router.put('/discoveryPreferences', scoped, can('agents.agents', 'manage'), describeRoute({
|
|
250
|
+
tags,
|
|
251
|
+
summary: 'Ignore or restore discovery groups',
|
|
252
|
+
operationId: 'agentsSetDiscoveryPreferences',
|
|
253
|
+
...cliRoute({ command: 'agent discovery set', bodyFile: 'input' }),
|
|
254
|
+
description: 'Shared administrator preferences. Only pending groups can be changed. Batches are atomic and checked against each group revision. Reports do not reset preferences.',
|
|
255
|
+
responses: {
|
|
256
|
+
200: listResponse(z.object({
|
|
257
|
+
key: z.string(),
|
|
258
|
+
ignored: z.boolean(),
|
|
259
|
+
revision: z.number().int(),
|
|
260
|
+
})),
|
|
261
|
+
400: apiErrorResponse(400, 'The group contains a non-pending agent.'),
|
|
262
|
+
409: apiErrorResponse(409, 'The discovery group changed.'),
|
|
263
|
+
...apiErrorResponses,
|
|
264
|
+
},
|
|
265
|
+
}), apiValidator('json', z.strictObject({
|
|
266
|
+
groups: z
|
|
267
|
+
.array(z.strictObject({
|
|
268
|
+
key: z
|
|
269
|
+
.string()
|
|
270
|
+
.min(1)
|
|
271
|
+
.max(256)
|
|
272
|
+
.meta({ description: 'The discoveryKey from the agent list.' }),
|
|
273
|
+
expectedRevision: z.number().int().min(0).meta({
|
|
274
|
+
description: 'The discoveryRevision from the agent list.',
|
|
275
|
+
}),
|
|
276
|
+
}))
|
|
277
|
+
.min(1)
|
|
278
|
+
.max(256)
|
|
279
|
+
.refine((groups) => new Set(groups.map((group) => group.key)).size === groups.length, 'Groups must be unique.')
|
|
280
|
+
.meta({
|
|
281
|
+
description: 'Unique pending discovery groups to update atomically.',
|
|
282
|
+
}),
|
|
283
|
+
ignored: z.boolean().meta({
|
|
284
|
+
description: 'True to ignore pending discoveries; false to restore them without enabling.',
|
|
285
|
+
}),
|
|
286
|
+
})), async (context) => {
|
|
287
|
+
const { groups, ignored } = context.req.valid('json');
|
|
288
|
+
const data = await services.agents.setIgnored(groups, ignored);
|
|
289
|
+
return context.json({ data, meta: { total: data.length } });
|
|
290
|
+
});
|
|
291
|
+
// Every agent's name, removed ones and the application's own included, for the runs that name them.
|
|
292
|
+
router.get('/agentNames', guard, describeRoute({
|
|
293
|
+
tags,
|
|
294
|
+
summary: 'List the names of agents',
|
|
295
|
+
operationId: 'agentsListAgentNames',
|
|
296
|
+
// UI-only: the names runs show.
|
|
297
|
+
...cliRoute(false),
|
|
298
|
+
description: 'Every agent there has been, removed ones and the application’s own included, by id and name: what the runs that name them show.',
|
|
299
|
+
responses: {
|
|
300
|
+
200: listResponse(AgentNameSchema),
|
|
301
|
+
...apiErrorResponses,
|
|
302
|
+
},
|
|
303
|
+
}), async (context) => {
|
|
304
|
+
const data = await services.agents.directory(services.tx.read());
|
|
305
|
+
return context.json({ data, meta: { total: data.length } });
|
|
306
|
+
});
|
|
283
307
|
// Variables of an agent, a working directory, or a scope the application registers.
|
|
284
308
|
const scopedRouter = router;
|
|
285
309
|
const variableParam = apiValidator('param', VariableParams);
|
|
@@ -469,8 +493,20 @@ export function createAdminRoutes(services, guard, scoped = guard) {
|
|
|
469
493
|
/** The skill with whether the caller may edit it. */
|
|
470
494
|
const viewOf = async (context, id) => {
|
|
471
495
|
const skill = await services.skills.get(id);
|
|
496
|
+
const names = new Map();
|
|
497
|
+
for (const scope of new Set(skill.attachments.map((item) => item.scope))) {
|
|
498
|
+
const kind = services.scopes.get(scope);
|
|
499
|
+
if (kind?.describe)
|
|
500
|
+
names.set(scope, await kind.describe(skill.attachments
|
|
501
|
+
.filter((item) => item.scope === scope)
|
|
502
|
+
.map((item) => item.scopeId), caller(context).userId, caller(context).keyScope));
|
|
503
|
+
}
|
|
472
504
|
return {
|
|
473
505
|
...skill,
|
|
506
|
+
attachments: skill.attachments.map((item) => ({
|
|
507
|
+
...item,
|
|
508
|
+
...names.get(item.scope)?.get(item.scopeId),
|
|
509
|
+
})),
|
|
474
510
|
canEdit: await mayEdit(caller(context), skill.createdById),
|
|
475
511
|
};
|
|
476
512
|
};
|
|
@@ -483,7 +519,7 @@ export function createAdminRoutes(services, guard, scoped = guard) {
|
|
|
483
519
|
operationId: 'agentsListSkills',
|
|
484
520
|
...cliRoute({
|
|
485
521
|
command: 'skill list',
|
|
486
|
-
columns: ['id', 'name', 'version', '
|
|
522
|
+
columns: ['id', 'name', 'version', 'updatedAt'],
|
|
487
523
|
}),
|
|
488
524
|
description: 'The skill library. Needs `agents.agents` read.',
|
|
489
525
|
responses: { 200: listResponse(SkillSchema), ...apiErrorResponses },
|
|
@@ -815,15 +851,15 @@ export function createAdminRoutes(services, guard, scoped = guard) {
|
|
|
815
851
|
flags: {
|
|
816
852
|
scopeKind: {
|
|
817
853
|
name: 'kind',
|
|
818
|
-
description: 'The scope kind: `
|
|
854
|
+
description: 'The scope kind: `global`, `workdir`, or one the application registers.',
|
|
819
855
|
},
|
|
820
856
|
scopeId: {
|
|
821
857
|
name: 'scope',
|
|
822
|
-
description: 'The scope:
|
|
858
|
+
description: 'The scope: `default` for global, a working directory id, or the id the application gives.',
|
|
823
859
|
},
|
|
824
860
|
},
|
|
825
861
|
}),
|
|
826
|
-
description:
|
|
862
|
+
description: 'The skills every run gets: global default, then application scopes, then working directories; later scopes override the same slug. Global reads require agents.agents read or manage.',
|
|
827
863
|
responses: {
|
|
828
864
|
200: dataResponse(SkillAttachmentsSchema),
|
|
829
865
|
404: noScope,
|
|
@@ -843,19 +879,21 @@ export function createAdminRoutes(services, guard, scoped = guard) {
|
|
|
843
879
|
flags: {
|
|
844
880
|
scopeKind: {
|
|
845
881
|
name: 'kind',
|
|
846
|
-
description: 'The scope kind: `
|
|
882
|
+
description: 'The scope kind: `global`, `workdir`, or one the application registers.',
|
|
847
883
|
},
|
|
848
884
|
scopeId: {
|
|
849
885
|
name: 'scope',
|
|
850
|
-
description: 'The scope:
|
|
886
|
+
description: 'The scope: `default` for global, a working directory id, or the id the application gives.',
|
|
851
887
|
},
|
|
852
888
|
skillIds: { name: 'skills' },
|
|
853
889
|
},
|
|
854
890
|
examples: [
|
|
891
|
+
'skill attachment set global default --skills <skill>,<skill>',
|
|
892
|
+
'skill attachment set global default --file empty-skills.json',
|
|
855
893
|
'skill attachment set workdir <workdir> --skills <skill>,<skill>',
|
|
856
894
|
],
|
|
857
895
|
}),
|
|
858
|
-
description: 'Makes `skillIds` the skills attached to the scope.
|
|
896
|
+
description: 'Makes `skillIds` the skills attached to the scope. Global accepts only default and requires agents.agents manage; other scopes need the right to change that scope. An empty skillIds array clears attachments. Agent attachments are refused.',
|
|
859
897
|
responses: {
|
|
860
898
|
200: dataResponse(SkillAttachmentsSchema),
|
|
861
899
|
400: apiErrorResponse(400, 'A skill id is unknown (`INVALID_ARGUMENT`).'),
|
|
@@ -877,10 +915,11 @@ export function createAdminRoutes(services, guard, scoped = guard) {
|
|
|
877
915
|
const see = manage ||
|
|
878
916
|
(await who.can('agents.runners', 'read')) ||
|
|
879
917
|
(await who.can('agents.agents', 'read'));
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
918
|
+
return runMachineViewerFor(services.agents, {
|
|
919
|
+
userId: who.userId,
|
|
920
|
+
manage,
|
|
921
|
+
read: see,
|
|
922
|
+
});
|
|
884
923
|
};
|
|
885
924
|
/** Only a caller who may see the run of the path (or, with `manage`, act on it) goes on. */
|
|
886
925
|
const runAccess = (action) => async (context, next) => {
|
|
@@ -1181,65 +1220,28 @@ export function createAdminRoutes(services, guard, scoped = guard) {
|
|
|
1181
1220
|
// Agents, last: `/:agentId` would otherwise shadow the fixed segments above.
|
|
1182
1221
|
const agentParam = apiValidator('param', AgentParams);
|
|
1183
1222
|
const noAgent = notFoundAs('The agent');
|
|
1184
|
-
|
|
1185
|
-
router.get('/', scoped, can('agents.agents', 'read'), describeRoute({
|
|
1223
|
+
router.get('/', guard, describeRoute({
|
|
1186
1224
|
tags,
|
|
1187
1225
|
summary: 'List agents',
|
|
1188
1226
|
operationId: 'agentsListAgents',
|
|
1189
1227
|
...cliRoute({
|
|
1190
1228
|
command: 'agent list-all',
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
'id',
|
|
1194
|
-
'name',
|
|
1195
|
-
'type',
|
|
1196
|
-
'ownerName',
|
|
1197
|
-
'activeRuns',
|
|
1198
|
-
'archivedAt',
|
|
1199
|
-
],
|
|
1200
|
-
examples: ['agent list-all --archived'],
|
|
1229
|
+
columns: ['id', 'name', 'status', 'unusable', 'busy', 'description'],
|
|
1230
|
+
examples: ['agent list-all', 'agent list-all --json'],
|
|
1201
1231
|
}),
|
|
1202
|
-
description: '
|
|
1232
|
+
description: 'Every agent discovered from runners: one for each coding tool and model they report, with whether it is enabled, what it is good at, where it can run now (team and personal runners, the caller’s own among them), why it cannot take the caller’s work, and whether the caller may change it. Anyone signed in may read them; only a manager of agents (`agents.agents` manage) changes them.',
|
|
1203
1233
|
responses: {
|
|
1204
|
-
200: listResponse(
|
|
1234
|
+
200: listResponse(AgentViewSchema),
|
|
1205
1235
|
...apiErrorResponses,
|
|
1206
1236
|
},
|
|
1207
|
-
}),
|
|
1208
|
-
const
|
|
1209
|
-
|
|
1210
|
-
|
|
1237
|
+
}), async (context) => {
|
|
1238
|
+
const who = caller(context);
|
|
1239
|
+
const data = await services.views(services.tx.read(), who.userId, {
|
|
1240
|
+
canEdit: await who.can('agents.agents', 'manage'),
|
|
1241
|
+
});
|
|
1211
1242
|
return context.json({ data, meta: { total: data.length } });
|
|
1212
1243
|
});
|
|
1213
|
-
router.
|
|
1214
|
-
tags,
|
|
1215
|
-
summary: 'Create an agent',
|
|
1216
|
-
operationId: 'agentsCreateAgent',
|
|
1217
|
-
...cliRoute({
|
|
1218
|
-
command: 'agent create',
|
|
1219
|
-
bodyFile: 'file',
|
|
1220
|
-
flags: {
|
|
1221
|
-
instructions: { contentFile: true },
|
|
1222
|
-
modelEntries: { name: 'models' },
|
|
1223
|
-
ownerUserId: { name: 'owner' },
|
|
1224
|
-
runnerIds: { name: 'runtimes' },
|
|
1225
|
-
skillIds: { name: 'skills' },
|
|
1226
|
-
userIds: { name: 'users' },
|
|
1227
|
-
},
|
|
1228
|
-
examples: [
|
|
1229
|
-
'agent create --name Coder --models \'[{"tool":"claude"},{"tool":"codex","model":"gpt-5"}]\'',
|
|
1230
|
-
'agent create --name PM --type online --models \'[{"modelService":"openai","model":"gpt-5"}]\'',
|
|
1231
|
-
'agent create --file agent.json',
|
|
1232
|
-
],
|
|
1233
|
-
}),
|
|
1234
|
-
description: '`modelEntries` lists the tools and models it works with, in order (the first is its default): `{ tool, model? }` for a runner agent, `{ modelService, model }` for an online one. Needs `agents.agents` manage.',
|
|
1235
|
-
responses: {
|
|
1236
|
-
201: dataResponse(AgentSchema, 'Created.'),
|
|
1237
|
-
...apiErrorResponses,
|
|
1238
|
-
},
|
|
1239
|
-
}), apiValidator('json', AgentInputSchema), async (context) => context.json({
|
|
1240
|
-
data: await services.agents.create(caller(context).userId, context.req.valid('json')),
|
|
1241
|
-
}, 201));
|
|
1242
|
-
router.get('/:agentId', scoped, can('agents.agents', 'read'), describeRoute({
|
|
1244
|
+
router.get('/:agentId', guard, describeRoute({
|
|
1243
1245
|
tags,
|
|
1244
1246
|
summary: 'Get an agent',
|
|
1245
1247
|
operationId: 'agentsGetAgent',
|
|
@@ -1248,17 +1250,22 @@ export function createAdminRoutes(services, guard, scoped = guard) {
|
|
|
1248
1250
|
args: ['agentId'],
|
|
1249
1251
|
flags: { agentId: { name: 'agent' } },
|
|
1250
1252
|
}),
|
|
1251
|
-
description: '
|
|
1253
|
+
description: 'An agent as the Agent page shows it. An application’s own agent, such as a project manager, is answered too.',
|
|
1252
1254
|
responses: {
|
|
1253
|
-
200: dataResponse(
|
|
1255
|
+
200: dataResponse(AgentViewSchema),
|
|
1254
1256
|
404: noAgent,
|
|
1255
1257
|
...apiErrorResponses,
|
|
1256
1258
|
},
|
|
1257
1259
|
}), agentParam, async (context) => {
|
|
1258
|
-
const
|
|
1259
|
-
|
|
1260
|
-
])
|
|
1261
|
-
|
|
1260
|
+
const who = caller(context);
|
|
1261
|
+
const agent = await services.agents.get(context.req.valid('param').agentId);
|
|
1262
|
+
const [data] = await agentViews(services.tx.read(), [agent], {
|
|
1263
|
+
availability: services.availability,
|
|
1264
|
+
userId: who.userId,
|
|
1265
|
+
canEdit: await who.can('agents.agents', 'manage'),
|
|
1266
|
+
now: services.clock.now(),
|
|
1267
|
+
});
|
|
1268
|
+
return context.json({ data });
|
|
1262
1269
|
});
|
|
1263
1270
|
router.get('/:agentId/history', guard, can('agents.agents', 'read'), describeRoute({
|
|
1264
1271
|
tags,
|
|
@@ -1304,117 +1311,32 @@ export function createAdminRoutes(services, guard, scoped = guard) {
|
|
|
1304
1311
|
: {},
|
|
1305
1312
|
});
|
|
1306
1313
|
});
|
|
1307
|
-
router.patch('/:agentId', scoped,
|
|
1314
|
+
router.patch('/:agentId', scoped, can('agents.agents', 'manage'), describeRoute({
|
|
1308
1315
|
tags,
|
|
1309
1316
|
summary: 'Update an agent',
|
|
1310
1317
|
operationId: 'agentsUpdateAgent',
|
|
1311
1318
|
...cliRoute({
|
|
1312
1319
|
command: 'agent update',
|
|
1313
1320
|
args: ['agentId'],
|
|
1314
|
-
bodyFile: 'file',
|
|
1315
1321
|
flags: {
|
|
1316
1322
|
agentId: { name: 'agent' },
|
|
1317
|
-
|
|
1318
|
-
modelEntries: { name: 'models' },
|
|
1319
|
-
ownerUserId: { name: 'owner' },
|
|
1320
|
-
runnerIds: { name: 'runtimes' },
|
|
1321
|
-
skillIds: { name: 'skills' },
|
|
1322
|
-
userIds: { name: 'users' },
|
|
1323
|
-
expectedRevision: { name: 'revision' },
|
|
1323
|
+
description: { name: 'good-at', contentFile: true },
|
|
1324
1324
|
},
|
|
1325
1325
|
examples: [
|
|
1326
|
-
'agent update <agent> --
|
|
1327
|
-
'agent update <agent> --
|
|
1326
|
+
'agent update <agent> --good-at "Code review" --enabled --expected-revision 2',
|
|
1327
|
+
'agent update <agent> --no-enabled --expected-revision 3',
|
|
1328
1328
|
],
|
|
1329
1329
|
}),
|
|
1330
|
-
description:
|
|
1331
|
-
responses: {
|
|
1332
|
-
200: dataResponse(AgentSchema),
|
|
1333
|
-
404: noAgent,
|
|
1334
|
-
409: revisionConflict('agent'),
|
|
1335
|
-
...apiErrorResponses,
|
|
1336
|
-
},
|
|
1337
|
-
}), agentParam, apiValidator('json', AgentPatchSchema), async (context) => {
|
|
1338
|
-
const who = caller(context);
|
|
1339
|
-
const agent = await services.agents.get(context.req.valid('param').agentId);
|
|
1340
|
-
const patch = context.req.valid('json');
|
|
1341
|
-
if (!(await who.can('agents.agents', 'manage'))) {
|
|
1342
|
-
// Someone editing as the owner gives the agent only what they may grant themselves.
|
|
1343
|
-
if (patch.ownerUserId !== undefined &&
|
|
1344
|
-
patch.ownerUserId !== agent.ownerUserId)
|
|
1345
|
-
throw forbidden('Only a manager of agents may give an agent to another owner.');
|
|
1346
|
-
if (patch.actions !== undefined) {
|
|
1347
|
-
const held = await services.gate.allowed({
|
|
1348
|
-
kind: 'user',
|
|
1349
|
-
userId: who.userId,
|
|
1350
|
-
displayName: who.userId,
|
|
1351
|
-
});
|
|
1352
|
-
const beyond = patch.actions.filter((action) => !agent.actions.includes(action) && !held.has(action));
|
|
1353
|
-
if (beyond.length > 0)
|
|
1354
|
-
throw forbidden(`You may not give the agent business actions you do not hold yourself: ${beyond.join(', ')}.`);
|
|
1355
|
-
}
|
|
1356
|
-
}
|
|
1357
|
-
return context.json({
|
|
1358
|
-
data: await services.agents.update(agent.id, who.userId, patch),
|
|
1359
|
-
});
|
|
1360
|
-
});
|
|
1361
|
-
router.delete('/:agentId', scoped, editableAgent, describeRoute({
|
|
1362
|
-
tags,
|
|
1363
|
-
summary: 'Delete an agent',
|
|
1364
|
-
operationId: 'agentsDeleteAgent',
|
|
1365
|
-
...cliRoute({
|
|
1366
|
-
command: 'agent delete',
|
|
1367
|
-
args: ['agentId'],
|
|
1368
|
-
flags: { agentId: { name: 'agent' } },
|
|
1369
|
-
confirm: 'Delete this archived agent with its variables and history?',
|
|
1370
|
-
}),
|
|
1371
|
-
description: `Deletes an archived agent with no open runs, with its variables, skill attachments and history; its past runs stay. ${editAccess}`,
|
|
1372
|
-
responses: {
|
|
1373
|
-
204: emptyResponse(),
|
|
1374
|
-
400: apiErrorResponse(400, 'The agent is not archived, or has open runs (`AGENT_NOT_ARCHIVED`, `AGENT_HAS_ACTIVE_RUNS`).'),
|
|
1375
|
-
404: noAgent,
|
|
1376
|
-
...apiErrorResponses,
|
|
1377
|
-
},
|
|
1378
|
-
}), agentParam, async (context) => {
|
|
1379
|
-
await services.agents.remove(context.req.valid('param').agentId, caller(context).userId);
|
|
1380
|
-
return context.body(null, 204);
|
|
1381
|
-
});
|
|
1382
|
-
router.post('/:agentId/archive', scoped, editableAgent, describeRoute({
|
|
1383
|
-
tags,
|
|
1384
|
-
summary: 'Archive an agent',
|
|
1385
|
-
operationId: 'agentsArchiveAgent',
|
|
1386
|
-
...cliRoute({
|
|
1387
|
-
command: 'agent archive',
|
|
1388
|
-
args: ['agentId'],
|
|
1389
|
-
flags: { agentId: { name: 'agent' } },
|
|
1390
|
-
confirm: 'Archive this agent? Its queued runs are withdrawn.',
|
|
1391
|
-
}),
|
|
1392
|
-
description: `An archived agent is not run: its queued runs are withdrawn. ${editAccess}`,
|
|
1393
|
-
responses: {
|
|
1394
|
-
200: dataResponse(AgentSchema),
|
|
1395
|
-
404: noAgent,
|
|
1396
|
-
...apiErrorResponses,
|
|
1397
|
-
},
|
|
1398
|
-
}), agentParam, async (context) => context.json({
|
|
1399
|
-
data: await services.agents.archive(context.req.valid('param').agentId, caller(context).userId),
|
|
1400
|
-
}));
|
|
1401
|
-
router.post('/:agentId/restore', scoped, editableAgent, describeRoute({
|
|
1402
|
-
tags,
|
|
1403
|
-
summary: 'Restore an archived agent',
|
|
1404
|
-
operationId: 'agentsRestoreAgent',
|
|
1405
|
-
...cliRoute({
|
|
1406
|
-
command: 'agent restore',
|
|
1407
|
-
args: ['agentId'],
|
|
1408
|
-
flags: { agentId: { name: 'agent' } },
|
|
1409
|
-
}),
|
|
1410
|
-
description: editAccess,
|
|
1330
|
+
description: "Writes what an agent discovered from runners is good at, its default reasoning effort, and enables or disables it, against the revision the edit was made from. An agent is enabled only with a description. Disabling withdraws its queued runs. An application's own agent is changed through the application. Needs `agents.agents` manage.",
|
|
1411
1331
|
responses: {
|
|
1412
1332
|
200: dataResponse(AgentSchema),
|
|
1333
|
+
400: apiErrorResponse(400, 'Enabling without a description (`GOOD_AT_REQUIRED`), an effort its tool does not take (`EFFORT_UNSUPPORTED`), or an application’s own agent (`AGENT_MANAGED`).'),
|
|
1413
1334
|
404: noAgent,
|
|
1335
|
+
409: apiErrorResponse(409, 'Someone changed the agent since the revision named (`REVISION_CONFLICT`, `metadata.revision`).'),
|
|
1414
1336
|
...apiErrorResponses,
|
|
1415
1337
|
},
|
|
1416
|
-
}), agentParam, async (context) => context.json({
|
|
1417
|
-
data: await services.agents.
|
|
1338
|
+
}), agentParam, apiValidator('json', AgentPatchSchema), async (context) => context.json({
|
|
1339
|
+
data: await services.agents.update(context.req.valid('param').agentId, caller(context).userId, context.req.valid('json')),
|
|
1418
1340
|
}));
|
|
1419
1341
|
router.get('/:agentId/previewBrief', guard, can('agents.agents', 'read'), describeRoute({
|
|
1420
1342
|
tags,
|