plugin-agent-orchestrator 1.0.13 → 1.0.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/README.md +16 -291
- package/dist/client/AIEmployeesContext.d.ts +7 -0
- package/dist/client/OrchestratorSettings.d.ts +2 -1
- package/dist/client/index.js +1 -1
- package/dist/client/plugin.d.ts +1 -0
- package/dist/client/skill-hub/components/ExecutionHistory.d.ts +2 -0
- package/dist/client/skill-hub/components/ExecutionProgress.d.ts +20 -0
- package/dist/client/skill-hub/components/GitSkillImport.d.ts +7 -0
- package/dist/client/skill-hub/components/SkillEditor.d.ts +7 -0
- package/dist/client/skill-hub/components/SkillManager.d.ts +2 -0
- package/dist/client/skill-hub/components/SkillMetrics.d.ts +2 -0
- package/dist/client/skill-hub/components/SkillTestPanel.d.ts +7 -0
- package/dist/client/skill-hub/index.d.ts +10 -0
- package/dist/client/skill-hub/locale.d.ts +3 -0
- package/dist/client/skill-hub/tools/InteractionSchemasProvider.d.ts +19 -0
- package/dist/client/skill-hub/tools/SkillHubCard.d.ts +3 -0
- package/dist/client/skill-hub/utils/jsonFields.d.ts +3 -0
- package/dist/externalVersion.js +6 -6
- package/dist/node_modules/adm-zip/LICENSE +21 -0
- package/dist/node_modules/adm-zip/adm-zip.js +1 -0
- package/dist/node_modules/adm-zip/headers/entryHeader.js +377 -0
- package/dist/node_modules/adm-zip/headers/index.js +2 -0
- package/dist/node_modules/adm-zip/headers/mainHeader.js +130 -0
- package/dist/node_modules/adm-zip/methods/deflater.js +33 -0
- package/dist/node_modules/adm-zip/methods/index.js +3 -0
- package/dist/node_modules/adm-zip/methods/inflater.js +34 -0
- package/dist/node_modules/adm-zip/methods/zipcrypto.js +175 -0
- package/dist/node_modules/adm-zip/package.json +1 -0
- package/dist/node_modules/adm-zip/util/constants.js +142 -0
- package/dist/node_modules/adm-zip/util/decoder.js +5 -0
- package/dist/node_modules/adm-zip/util/errors.js +63 -0
- package/dist/node_modules/adm-zip/util/fattr.js +76 -0
- package/dist/node_modules/adm-zip/util/index.js +5 -0
- package/dist/node_modules/adm-zip/util/utils.js +339 -0
- package/dist/node_modules/adm-zip/zipEntry.js +405 -0
- package/dist/node_modules/adm-zip/zipFile.js +446 -0
- package/dist/node_modules/simple-git/dist/cjs/index.js +7399 -0
- package/dist/node_modules/simple-git/dist/esm/index.js +4745 -0
- package/dist/node_modules/simple-git/dist/esm/package.json +3 -0
- package/dist/node_modules/simple-git/dist/src/lib/api.d.ts +13 -0
- package/dist/node_modules/simple-git/dist/src/lib/args/log-format.d.ts +9 -0
- package/dist/node_modules/simple-git/dist/src/lib/errors/git-construct-error.d.ts +15 -0
- package/dist/node_modules/simple-git/dist/src/lib/errors/git-error.d.ts +30 -0
- package/dist/node_modules/simple-git/dist/src/lib/errors/git-plugin-error.d.ts +7 -0
- package/dist/node_modules/simple-git/dist/src/lib/errors/git-response-error.d.ts +32 -0
- package/dist/node_modules/simple-git/dist/src/lib/errors/task-configuration-error.d.ts +12 -0
- package/dist/node_modules/simple-git/dist/src/lib/git-factory.d.ts +15 -0
- package/dist/node_modules/simple-git/dist/src/lib/git-logger.d.ts +21 -0
- package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-branch-delete.d.ts +5 -0
- package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-branch.d.ts +2 -0
- package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-commit.d.ts +2 -0
- package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-diff-summary.d.ts +3 -0
- package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-fetch.d.ts +2 -0
- package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-list-log-summary.d.ts +6 -0
- package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-merge.d.ts +11 -0
- package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-move.d.ts +2 -0
- package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-pull.d.ts +6 -0
- package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-push.d.ts +4 -0
- package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-remote-messages.d.ts +5 -0
- package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-remote-objects.d.ts +3 -0
- package/dist/node_modules/simple-git/dist/src/lib/plugins/abort-plugin.d.ts +3 -0
- package/dist/node_modules/simple-git/dist/src/lib/plugins/block-unsafe-operations-plugin.d.ts +3 -0
- package/dist/node_modules/simple-git/dist/src/lib/plugins/command-config-prefixing-plugin.d.ts +2 -0
- package/dist/node_modules/simple-git/dist/src/lib/plugins/completion-detection.plugin.d.ts +3 -0
- package/dist/node_modules/simple-git/dist/src/lib/plugins/custom-binary.plugin.d.ts +3 -0
- package/dist/node_modules/simple-git/dist/src/lib/plugins/error-detection.plugin.d.ts +7 -0
- package/dist/node_modules/simple-git/dist/src/lib/plugins/index.d.ts +11 -0
- package/dist/node_modules/simple-git/dist/src/lib/plugins/plugin-store.d.ts +11 -0
- package/dist/node_modules/simple-git/dist/src/lib/plugins/progress-monitor-plugin.d.ts +3 -0
- package/dist/node_modules/simple-git/dist/src/lib/plugins/simple-git-plugin.d.ts +48 -0
- package/dist/node_modules/simple-git/dist/src/lib/plugins/spawn-options-plugin.d.ts +3 -0
- package/dist/node_modules/simple-git/dist/src/lib/plugins/suffix-paths.plugin.d.ts +2 -0
- package/dist/node_modules/simple-git/dist/src/lib/plugins/timout-plugin.d.ts +3 -0
- package/dist/node_modules/simple-git/dist/src/lib/responses/BranchDeleteSummary.d.ts +12 -0
- package/dist/node_modules/simple-git/dist/src/lib/responses/BranchSummary.d.ts +14 -0
- package/dist/node_modules/simple-git/dist/src/lib/responses/CheckIgnore.d.ts +4 -0
- package/dist/node_modules/simple-git/dist/src/lib/responses/CleanSummary.d.ts +9 -0
- package/dist/node_modules/simple-git/dist/src/lib/responses/ConfigList.d.ts +13 -0
- package/dist/node_modules/simple-git/dist/src/lib/responses/DiffSummary.d.ts +10 -0
- package/dist/node_modules/simple-git/dist/src/lib/responses/FileStatusSummary.d.ts +9 -0
- package/dist/node_modules/simple-git/dist/src/lib/responses/GetRemoteSummary.d.ts +11 -0
- package/dist/node_modules/simple-git/dist/src/lib/responses/InitSummary.d.ts +9 -0
- package/dist/node_modules/simple-git/dist/src/lib/responses/MergeSummary.d.ts +16 -0
- package/dist/node_modules/simple-git/dist/src/lib/responses/PullSummary.d.ts +25 -0
- package/dist/node_modules/simple-git/dist/src/lib/responses/StatusSummary.d.ts +19 -0
- package/dist/node_modules/simple-git/dist/src/lib/responses/TagList.d.ts +7 -0
- package/dist/node_modules/simple-git/dist/src/lib/runners/git-executor-chain.d.ts +25 -0
- package/dist/node_modules/simple-git/dist/src/lib/runners/git-executor.d.ts +14 -0
- package/dist/node_modules/simple-git/dist/src/lib/runners/promise-wrapped.d.ts +2 -0
- package/dist/node_modules/simple-git/dist/src/lib/runners/scheduler.d.ts +11 -0
- package/dist/node_modules/simple-git/dist/src/lib/runners/tasks-pending-queue.d.ts +23 -0
- package/dist/node_modules/simple-git/dist/src/lib/simple-git-api.d.ts +20 -0
- package/dist/node_modules/simple-git/dist/src/lib/task-callback.d.ts +2 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/apply-patch.d.ts +3 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/branch.d.ts +7 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/change-working-directory.d.ts +2 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/check-ignore.d.ts +2 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/check-is-repo.d.ts +9 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/checkout.d.ts +2 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/clean.d.ts +25 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/clone.d.ts +9 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/commit.d.ts +4 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/config.d.ts +8 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/count-objects.d.ts +12 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/diff-name-status.d.ts +12 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/diff.d.ts +5 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/fetch.d.ts +4 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/first-commit.d.ts +2 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/grep.d.ts +12 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/hash-object.d.ts +5 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/init.d.ts +3 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/log.d.ts +32 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/merge.d.ts +4 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/move.d.ts +3 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/pull.d.ts +3 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/push.d.ts +9 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/remote.d.ts +8 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/reset.d.ts +11 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/show.d.ts +2 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/stash-list.d.ts +4 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/status.d.ts +3 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/sub-module.d.ts +5 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/tag.d.ts +18 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/task.d.ts +14 -0
- package/dist/node_modules/simple-git/dist/src/lib/tasks/version.d.ts +9 -0
- package/dist/node_modules/simple-git/dist/src/lib/types/handlers.d.ts +21 -0
- package/dist/node_modules/simple-git/dist/src/lib/types/index.d.ts +136 -0
- package/dist/node_modules/simple-git/dist/src/lib/types/tasks.d.ts +19 -0
- package/dist/node_modules/simple-git/dist/src/lib/utils/argument-filters.d.ts +14 -0
- package/dist/node_modules/simple-git/dist/src/lib/utils/exit-codes.d.ts +10 -0
- package/dist/node_modules/simple-git/dist/src/lib/utils/git-output-streams.d.ts +7 -0
- package/dist/node_modules/simple-git/dist/src/lib/utils/index.d.ts +8 -0
- package/dist/node_modules/simple-git/dist/src/lib/utils/line-parser.d.ts +15 -0
- package/dist/node_modules/simple-git/dist/src/lib/utils/simple-git-options.d.ts +2 -0
- package/dist/node_modules/simple-git/dist/src/lib/utils/task-options.d.ts +13 -0
- package/dist/node_modules/simple-git/dist/src/lib/utils/task-parser.d.ts +5 -0
- package/dist/node_modules/simple-git/dist/src/lib/utils/util.d.ts +47 -0
- package/dist/node_modules/simple-git/dist/typings/errors.d.ts +5 -0
- package/dist/node_modules/simple-git/dist/typings/index.d.ts +14 -0
- package/dist/node_modules/simple-git/dist/typings/response.d.ts +556 -0
- package/dist/node_modules/simple-git/dist/typings/simple-git.d.ts +1033 -0
- package/dist/node_modules/simple-git/dist/typings/types.d.ts +22 -0
- package/dist/node_modules/simple-git/node_modules/debug/package.json +64 -0
- package/dist/node_modules/simple-git/node_modules/debug/src/browser.js +272 -0
- package/dist/node_modules/simple-git/node_modules/debug/src/common.js +292 -0
- package/dist/node_modules/simple-git/node_modules/debug/src/index.js +10 -0
- package/dist/node_modules/simple-git/node_modules/debug/src/node.js +263 -0
- package/dist/node_modules/simple-git/package.json +1 -0
- package/dist/node_modules/simple-git/promise.js +17 -0
- package/dist/server/collections/agent-execution-spans.d.ts +9 -0
- package/dist/server/collections/agent-execution-spans.js +152 -0
- package/dist/server/collections/orchestrator-config.d.ts +1 -1
- package/dist/server/collections/orchestrator-config.js +6 -0
- package/dist/server/collections/orchestrator-logs.d.ts +1 -1
- package/dist/server/collections/skill-definitions.d.ts +2 -0
- package/dist/server/collections/skill-definitions.js +158 -0
- package/dist/server/collections/skill-executions.d.ts +2 -0
- package/dist/server/collections/skill-executions.js +123 -0
- package/dist/server/collections/skill-worker-configs.d.ts +2 -0
- package/dist/server/collections/skill-worker-configs.js +115 -0
- package/dist/server/migrations/20260423000000-add-progress-fields.d.ts +4 -0
- package/dist/server/migrations/20260423000000-add-progress-fields.js +69 -0
- package/dist/server/migrations/20260425000000-add-interaction-schema.d.ts +4 -0
- package/dist/server/migrations/20260425000000-add-interaction-schema.js +61 -0
- package/dist/server/migrations/20260427000000-change-packages-to-text.d.ts +4 -0
- package/dist/server/migrations/20260427000000-change-packages-to-text.js +70 -0
- package/dist/server/migrations/20260427000001-change-other-json-to-text.d.ts +4 -0
- package/dist/server/migrations/20260427000001-change-other-json-to-text.js +80 -0
- package/dist/server/migrations/20260429000000-add-llm-fields.js +8 -0
- package/dist/server/migrations/20260429000000-fix-inputargs-json-to-text.d.ts +16 -0
- package/dist/server/migrations/20260429000000-fix-inputargs-json-to-text.js +51 -0
- package/dist/server/migrations/20260503000000-add-orchestrator-trace-fields.d.ts +7 -0
- package/dist/server/migrations/20260503000000-add-orchestrator-trace-fields.js +57 -0
- package/dist/server/plugin.d.ts +3 -0
- package/dist/server/plugin.js +37 -1
- package/dist/server/resources/tracing.js +154 -11
- package/dist/server/services/CodeValidator.d.ts +32 -0
- package/dist/server/services/CodeValidator.js +206 -0
- package/dist/server/services/ExecutionSpanService.d.ts +44 -0
- package/dist/server/services/ExecutionSpanService.js +104 -0
- package/dist/server/services/FileManager.d.ts +28 -0
- package/dist/server/services/FileManager.js +151 -0
- package/dist/server/services/SandboxRunner.d.ts +41 -0
- package/dist/server/services/SandboxRunner.js +167 -0
- package/dist/server/services/SkillManager.d.ts +6 -0
- package/dist/server/services/SkillManager.js +640 -0
- package/dist/server/services/SkillRepositoryService.d.ts +22 -0
- package/dist/server/services/SkillRepositoryService.js +157 -0
- package/dist/server/services/WorkerEnvManager.d.ts +26 -0
- package/dist/server/services/WorkerEnvManager.js +120 -0
- package/dist/server/skill-hub/actions/git-import.d.ts +21 -0
- package/dist/server/skill-hub/actions/git-import.js +413 -0
- package/dist/server/skill-hub/mcp/McpController.d.ts +15 -0
- package/dist/server/skill-hub/mcp/McpController.js +111 -0
- package/dist/server/skill-hub/plugin.d.ts +58 -0
- package/dist/server/skill-hub/plugin.js +694 -0
- package/dist/server/skill-hub/sandbox-config.json +6 -0
- package/dist/server/skill-hub/tasks/SkillExecutionTask.d.ts +16 -0
- package/dist/server/skill-hub/tasks/SkillExecutionTask.js +389 -0
- package/dist/server/skill-hub/utils/json-fields.d.ts +7 -0
- package/dist/server/skill-hub/utils/json-fields.js +88 -0
- package/dist/server/tools/delegate-task.d.ts +4 -0
- package/dist/server/tools/delegate-task.js +606 -104
- package/dist/server/tools/skill-execute.d.ts +36 -0
- package/dist/server/tools/skill-execute.js +167 -0
- package/package.json +3 -1
- package/src/client/AIEmployeeSelect.tsx +1 -3
- package/src/client/AIEmployeesContext.tsx +28 -13
- package/src/client/OrchestratorSettings.tsx +43 -5
- package/src/client/RulesTab.tsx +253 -32
- package/src/client/TracingTab.tsx +277 -213
- package/src/client/index.tsx +1 -1
- package/src/client/plugin.tsx +54 -15
- package/src/client/skill-hub/components/ExecutionHistory.tsx +201 -0
- package/src/client/skill-hub/components/ExecutionProgress.tsx +55 -0
- package/src/client/skill-hub/components/GitSkillImport.tsx +555 -0
- package/src/client/skill-hub/components/SkillEditor.tsx +456 -0
- package/src/client/skill-hub/components/SkillManager.tsx +181 -0
- package/src/client/skill-hub/components/SkillMetrics.tsx +124 -0
- package/src/client/skill-hub/components/SkillTestPanel.tsx +144 -0
- package/src/client/skill-hub/index.tsx +75 -0
- package/src/client/skill-hub/locale.ts +16 -0
- package/src/client/skill-hub/tools/InteractionSchemasProvider.tsx +59 -0
- package/src/client/skill-hub/tools/SkillHubCard.tsx +78 -0
- package/src/client/skill-hub/utils/jsonFields.ts +37 -0
- package/src/server/collections/agent-execution-spans.ts +129 -0
- package/src/server/collections/orchestrator-config.ts +7 -0
- package/src/server/collections/skill-definitions.ts +128 -0
- package/src/server/collections/skill-executions.ts +94 -0
- package/src/server/collections/skill-worker-configs.ts +86 -0
- package/src/server/migrations/20260423000000-add-progress-fields.ts +50 -0
- package/src/server/migrations/20260425000000-add-interaction-schema.ts +35 -0
- package/src/server/migrations/20260427000000-add-tracing-detail-fields.ts +5 -5
- package/src/server/migrations/20260427000000-change-packages-to-text.ts +47 -0
- package/src/server/migrations/20260427000001-change-other-json-to-text.ts +57 -0
- package/src/server/migrations/20260429000000-add-llm-fields.ts +11 -2
- package/src/server/migrations/20260429000000-fix-inputargs-json-to-text.ts +38 -0
- package/src/server/migrations/20260503000000-add-orchestrator-trace-fields.ts +32 -0
- package/src/server/plugin.ts +94 -46
- package/src/server/resources/tracing.ts +182 -15
- package/src/server/services/CodeValidator.ts +159 -0
- package/src/server/services/ExecutionSpanService.ts +106 -0
- package/src/server/services/FileManager.ts +144 -0
- package/src/server/services/SandboxRunner.ts +205 -0
- package/src/server/services/SkillManager.ts +623 -0
- package/src/server/services/SkillRepositoryService.ts +142 -0
- package/src/server/services/WorkerEnvManager.ts +113 -0
- package/src/server/skill-hub/actions/git-import.ts +486 -0
- package/src/server/skill-hub/mcp/McpController.ts +86 -0
- package/src/server/skill-hub/plugin.ts +771 -0
- package/src/server/skill-hub/sandbox-config.json +6 -0
- package/src/server/skill-hub/tasks/SkillExecutionTask.ts +443 -0
- package/src/server/skill-hub/utils/json-fields.ts +57 -0
- package/src/server/tools/delegate-task.ts +803 -127
- package/src/server/tools/skill-execute.ts +157 -0
package/dist/client/index.js
CHANGED
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("@nocobase/client"),require("@ant-design/icons"),require("antd")):"function"==typeof define&&define.amd?define("plugin-agent-orchestrator",["react","@nocobase/client","@ant-design/icons","antd"],t):"object"==typeof exports?exports["plugin-agent-orchestrator"]=t(require("react"),require("@nocobase/client"),require("@ant-design/icons"),require("antd")):e["plugin-agent-orchestrator"]=t(e.react,e["@nocobase/client"],e["@ant-design/icons"],e.antd)}(self,function(e,t,r,n){return function(){"use strict";var a={482:function(e){e.exports=r},772:function(e){e.exports=t},721:function(e){e.exports=n},156:function(t){t.exports=e}},l={};function o(e){var t=l[e];if(void 0!==t)return t.exports;var r=l[e]={exports:{}};return a[e](r,r.exports,o),r.exports}o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,{a:t}),t},o.d=function(e,t){for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return!function(){o.r(i),o.d(i,{default:function(){return z}});var e=o(772),t=o(156),r=o.n(t),n=o(721),a=o(482),l=(0,t.createContext)({employees:[],employeeMap:new Map,loading:!1}),u=function(t){var n=t.children,a=(0,e.useRequest)({url:"aiEmployees:list",params:{pageSize:200}}),o=a.data,i=a.loading,u=r().useMemo(function(){var e=((null==o?void 0:o.data)||[]).map(function(e){var t;return{username:e.username,nickname:e.nickname||e.username,about:null==(t=e.about)?void 0:t.substring(0,80)}}),t=new Map,r=!0,n=!1,a=void 0;try{for(var l,u=e[Symbol.iterator]();!(r=(l=u.next()).done);r=!0){var c=l.value;t.set(c.username,c.nickname)}}catch(e){n=!0,a=e}finally{try{r||null==u.return||u.return()}finally{if(n)throw a}}return{employees:e,employeeMap:t,loading:i}},[o,i]);return r().createElement(l.Provider,{value:u},n)},c=function(){return(0,t.useContext)(l)},s=function(e){var t=e.value,a=e.onChange,l=e.exclude,o=e.placeholder,i=c(),u=i.employees,s=i.loading,m=r().useMemo(function(){return u.filter(function(e){return!l||e.username!==l}).map(function(e){return{label:e.nickname,value:e.username,description:e.about}})},[u,l]);return r().createElement(n.Select,{loading:s,options:m,value:t,onChange:a,placeholder:void 0===o?"Select AI Employee...":o,showSearch:!0,filterOption:function(e,t){var r,n;return(null!=(r=null==t?void 0:t.label)?r:"").toString().toLowerCase().includes(e.toLowerCase())||(null!=(n=null==t?void 0:t.value)?n:"").toString().toLowerCase().includes(e.toLowerCase())},optionRender:function(e){return r().createElement("div",null,r().createElement("div",{style:{fontWeight:500}},e.label),e.data.description&&r().createElement("div",{style:{fontSize:12,color:"#888"}},e.data.description))}})};function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function d(e,t,r,n,a,l,o){try{var i=e[l](o),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,a)}function p(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var l=e.apply(t,r);function o(e){d(l,n,a,o,i,"next",e)}function i(e){d(l,n,a,o,i,"throw",e)}o(void 0)})}}function f(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(r=a.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,n=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return m(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){var r,n,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(l){return function(i){var u=[l,i];if(r)throw TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(a=2&u[0]?n.return:u[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,u[1])).done)return a;switch(n=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,n=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],n=0}finally{r=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var h=n.Typography.Text,g=function(){var l,o,i=(0,e.useAPIClient)(),u=f((0,t.useState)(!1),2),m=u[0],d=u[1],g=f((0,t.useState)(null),2),b=g[0],v=g[1],E=f(n.Form.useForm(),1)[0],w=(0,e.useRequest)({url:"orchestratorConfig:list",params:{sort:["-createdAt"]}}),S=w.data,x=w.loading,k=w.refresh,A=(0,e.useRequest)({url:"llmServices:list",params:{filter:{enabled:!0}}}),C=A.data;A.loading;var O=r().useMemo(function(){return(null==C?void 0:C.data)||[]},[C]),T=c().employeeMap,I=r().useMemo(function(){var e=null==S?void 0:S.data;return Array.isArray(e)?e:[]},[S]),M=r().useMemo(function(){var e=new Map,t=!0,r=!1,n=void 0;try{for(var a,l=I[Symbol.iterator]();!(t=(a=l.next()).done);t=!0){var o=a.value,i=o.leaderUsername||"unknown";e.has(i)||e.set(i,[]),e.get(i).push(o)}}catch(e){r=!0,n=e}finally{try{t||null==l.return||l.return()}finally{if(r)throw n}}return Array.from(e.entries()).map(function(e){var t=f(e,2);return{leaderUsername:t[0],items:t[1]}})},[I]),z=function(e){v(e),e?E.setFieldsValue(e):(E.resetFields(),E.setFieldsValue({enabled:!0,maxDepth:1,timeout:12e4})),d(!0)},U=function(){d(!1),v(null)},D=(l=p(function(e){var t,r,a,l,o,u;return y(this,function(c){switch(c.label){case 0:if(e.leaderUsername===e.subAgentUsername)return n.message.error("Leader and Sub-Agent cannot be the same employee."),[2];c.label=1;case 1:if(c.trys.push([1,6,,7]),!b)return[3,3];return[4,i.request({url:"orchestratorConfig:update",method:"put",params:{filterByTk:b.id},data:e})];case 2:return c.sent(),n.message.success("Rule updated"),[3,5];case 3:return[4,i.request({url:"orchestratorConfig:create",method:"post",data:e})];case 4:c.sent(),n.message.success("Rule created"),c.label=5;case 5:return U(),k(),[3,7];case 6:return u=(null==(t=c.sent())||null==(o=t.response)||null==(l=o.data)||null==(a=l.errors)||null==(r=a[0])?void 0:r.message)||t.message,n.message.error("Save failed: ".concat(u)),[3,7];case 7:return[2]}})}),function(e){return l.apply(this,arguments)}),P=(o=p(function(e){var t;return y(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,i.request({url:"orchestratorConfig:destroy",method:"delete",params:{filterByTk:e}})];case 1:return r.sent(),n.message.success("Rule deleted"),k(),[3,3];case 2:return t=r.sent(),n.message.error("Delete failed: ".concat(t.message)),[3,3];case 3:return[2]}})}),function(e){return o.apply(this,arguments)}),L=[{title:"Leader (Orchestrator)",dataIndex:"leaderUsername",key:"leaderUsername",render:function(e){return r().createElement(n.Tag,{color:"blue"},T.get(e)||e)}},{title:"",key:"arrow",width:50,render:function(){return r().createElement(a.SwapRightOutlined,{style:{color:"#999",fontSize:18}})}},{title:"Sub-Agent",dataIndex:"subAgentUsername",key:"subAgentUsername",render:function(e){return r().createElement(n.Tag,{color:"green"},T.get(e)||e)}},{title:"Max Depth",dataIndex:"maxDepth",key:"maxDepth",width:100,render:function(e){return null!=e?e:1}},{title:"Timeout",dataIndex:"timeout",key:"timeout",width:100,render:function(e){return"".concat(((null!=e?e:12e4)/1e3).toFixed(0),"s")}},{title:"LLM Override",key:"llmOverride",width:140,render:function(e,t){if(t.llmService&&t.model){var a=O.find(function(e){return e.name===t.llmService}),l=a?a.title:t.llmService;return r().createElement(n.Space,{direction:"vertical",size:0},r().createElement(h,{style:{fontSize:12}},l),r().createElement(h,{type:"secondary",style:{fontSize:12}},t.model))}return r().createElement(h,{type:"secondary",style:{fontSize:12}},"Inherited")}},{title:"Enabled",dataIndex:"enabled",key:"enabled",width:80,render:function(e,t){var a;return r().createElement(n.Switch,{checked:e,size:"small",onChange:(a=p(function(e){return y(this,function(r){switch(r.label){case 0:return[4,i.request({url:"orchestratorConfig:update",method:"put",params:{filterByTk:t.id},data:{enabled:e}})];case 1:return r.sent(),k(),[2]}})}),function(e){return a.apply(this,arguments)})})}},{title:"Actions",key:"actions",width:160,render:function(e,t){return r().createElement(n.Space,null,r().createElement(n.Button,{type:"link",size:"small",icon:r().createElement(a.EditOutlined,null),onClick:function(){return z(t)}},"Edit"),r().createElement(n.Popconfirm,{title:"Delete this rule?",onConfirm:function(){return P(t.id)}},r().createElement(n.Button,{type:"link",size:"small",danger:!0,icon:r().createElement(a.DeleteOutlined,null)},"Delete")))}}],B=n.Form.useWatch("leaderUsername",E);return r().createElement("div",null,r().createElement(n.Alert,{type:"info",showIcon:!0,style:{marginBottom:16},message:"Orchestration Rules",description:r().createElement(h,{type:"secondary"},"Configure which AI Employees can act as Leaders (Orchestrators) and which ones they can delegate tasks to. Each rule creates a callable tool for the Leader to invoke the Sub-Agent.")}),r().createElement(n.Card,{bordered:!1},r().createElement("div",{style:{marginBottom:16,display:"flex",justifyContent:"flex-end"}},r().createElement(n.Button,{type:"primary",icon:r().createElement(a.PlusOutlined,null),onClick:function(){return z()}},"New Rule")),M.length?r().createElement(n.Collapse,{bordered:!1,defaultActiveKey:M.map(function(e){return e.leaderUsername}),items:M.map(function(e){return{key:e.leaderUsername,label:r().createElement(n.Space,null,r().createElement(n.Tag,{color:"blue"},T.get(e.leaderUsername)||e.leaderUsername),r().createElement(h,{type:"secondary"},e.items.length," sub-agent",e.items.length>1?"s":"")),children:r().createElement(n.Table,{rowKey:"id",loading:x,dataSource:e.items,columns:L,pagination:!1,size:"middle"})}})}):r().createElement(n.Table,{rowKey:"id",loading:x,dataSource:[],columns:L,pagination:!1,size:"middle",locale:{emptyText:r().createElement(n.Empty,{description:"No orchestration rules yet"})}})),r().createElement(n.Drawer,{title:b?"Edit Orchestration Rule":"New Orchestration Rule",width:480,onClose:U,open:m,styles:{body:{paddingBottom:80}},extra:r().createElement(n.Space,null,r().createElement(n.Button,{onClick:U},"Cancel"),r().createElement(n.Button,{onClick:function(){return E.submit()},type:"primary"},"Save"))},r().createElement(n.Form,{form:E,layout:"vertical",onFinish:D},r().createElement(n.Form.Item,{name:"leaderUsername",label:"Leader (Orchestrator)",rules:[{required:!0,message:"Please select a Leader"}],tooltip:"The AI Employee that will be able to delegate tasks to the Sub-Agent"},r().createElement(s,{placeholder:"Select Leader AI Employee..."})),r().createElement(n.Form.Item,{name:"subAgentUsername",label:"Sub-Agent",rules:[{required:!0,message:"Please select a Sub-Agent"}],tooltip:"The AI Employee that will receive delegated tasks"},r().createElement(s,{placeholder:"Select Sub-Agent AI Employee...",exclude:B})),r().createElement(n.Form.Item,{name:"maxDepth",label:"Max Delegation Depth",tooltip:"How many layers of delegation are allowed (1 = leader calls sub-agent, sub-agent cannot delegate further)"},r().createElement(n.InputNumber,{min:1,max:3,style:{width:"100%"}})),r().createElement(n.Form.Item,{name:"timeout",label:"Timeout (ms)",tooltip:"Maximum time in milliseconds for the sub-agent to complete its task"},r().createElement(n.InputNumber,{min:1e4,max:6e5,step:1e4,style:{width:"100%"}})),r().createElement(n.Form.Item,{name:"llmService",label:"Override LLM Service",tooltip:"Optional: Provider name. Leave empty to inherit from Leader."},r().createElement(n.Select,{allowClear:!0,placeholder:"Inherit from Leader",options:O.map(function(e){return{label:e.title||e.name,value:e.name}}),onChange:function(){return E.setFieldValue("model",void 0)}})),r().createElement(n.Form.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.llmService!==t.llmService}},function(){var e,t=E.getFieldValue("llmService"),a=O.find(function(e){return e.name===t}),l=(null==a||null==(e=a.enabledModels)?void 0:e.models)||[];return r().createElement(n.Form.Item,{name:"model",label:"Override Model",tooltip:"Optional: Model name. Leave empty to inherit from Leader.",rules:[{required:!!t,message:"Please select a model"}]},r().createElement(n.Select,{allowClear:!0,placeholder:t?"Select a model":"Inherit from Leader",disabled:!t,options:l.map(function(e){return{label:e.label,value:e.value}})}))}),r().createElement(n.Form.Item,{name:"enabled",label:"Enabled",valuePropName:"checked"},r().createElement(n.Switch,null)))))};function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function v(e,t,r,n,a,l,o){try{var i=e[l](o),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,a)}function E(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(r=a.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,n=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw n}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return b(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return b(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var w=n.Typography.Text,S=n.Typography.Paragraph,x=function(){var l,o,i,u=(0,e.useAPIClient)(),s=E((0,t.useState)(null),2),m=s[0],d=s[1],p=E((0,t.useState)(!1),2),f=p[0],y=p[1],h=(0,e.useRequest)({url:"orchestratorTracing:list",params:{sort:["-createdAt"],pageSize:50}}),g=h.data,b=h.loading,x=h.refresh,k=c().employeeMap,A=r().useMemo(function(){var e=null==g?void 0:g.data;return e&&!Array.isArray(e)&&Array.isArray(e.data)&&(e=e.data),Array.isArray(e)?e:Array.isArray(g)?g:[]},[g]),C=r().useMemo(function(){var e=new Map,t=!0,r=!1,n=void 0;try{for(var a,l=A[Symbol.iterator]();!(t=(a=l.next()).done);t=!0){var o=a.value,i=o.leaderUsername||"unknown";e.has(i)||e.set(i,[]),e.get(i).push(o)}}catch(e){r=!0,n=e}finally{try{t||null==l.return||l.return()}finally{if(r)throw n}}return Array.from(e.entries()).map(function(e){var t=E(e,2);return{leaderUsername:t[0],items:t[1]}})},[A]),O=function(e){return e?e>=1e3?"".concat((e/1e3).toFixed(1),"s"):"".concat(e,"ms"):"-"},T=(l=function(e){var t,r;return function(e,t){var r,n,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(l){return function(i){var u=[l,i];if(r)throw TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(a=2&u[0]?n.return:u[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,u[1])).done)return a;switch(n=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,n=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],n=0}finally{r=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:d(e),y(!0),n.label=1;case 1:return n.trys.push([1,,3,4]),[4,u.request({url:"orchestratorTracing:get",params:{filterByTk:e.id}})];case 2:return d((null==(r=n.sent())||null==(t=r.data)?void 0:t.data)||(null==r?void 0:r.data)||e),[3,4];case 3:return y(!1),[7];case 4:return[2]}})},o=function(){var e=this,t=arguments;return new Promise(function(r,n){var a=l.apply(e,t);function o(e){v(a,r,n,o,i,"next",e)}function i(e){v(a,r,n,o,i,"throw",e)}o(void 0)})},function(e){return o.apply(this,arguments)}),I=[{title:"Time",dataIndex:"createdAt",key:"createdAt",width:170,render:function(e){return e?new Date(e).toLocaleString():"-"}},{title:"Leader",dataIndex:"leaderUsername",key:"leaderUsername",render:function(e){return r().createElement(n.Tag,{color:"blue"},k.get(e)||e)}},{title:"Sub-Agent",dataIndex:"subAgentUsername",key:"subAgentUsername",render:function(e){return r().createElement(n.Tag,{color:"green"},k.get(e)||e)}},{title:"Task",dataIndex:"task",key:"task",render:function(e){return r().createElement(w,{ellipsis:!0,style:{maxWidth:280}},(null==e?void 0:e.substring(0,100))||"-")}},{title:"Status",dataIndex:"status",key:"status",width:90,render:function(e){return r().createElement(n.Tag,{icon:"success"===e?r().createElement(a.CheckCircleOutlined,null):r().createElement(a.CloseCircleOutlined,null),color:"success"===e?"success":"error"},e)}},{title:"Duration",dataIndex:"durationMs",key:"durationMs",width:90,render:O},{title:"Depth",dataIndex:"depth",key:"depth",width:60,render:function(e){return null!=e?e:0}},{title:"",key:"actions",width:80,render:function(e,t){return r().createElement(n.Button,{type:"link",size:"small",icon:r().createElement(a.EyeOutlined,null),onClick:function(){return T(t)}},"Detail")}}];return r().createElement("div",null,r().createElement(n.Alert,{type:"info",showIcon:!0,style:{marginBottom:16},message:"Swarm Tracing",description:r().createElement(w,{type:"secondary"},"View delegation execution logs. Each row represents one sub-agent invocation triggered by a Leader's tool call.")}),r().createElement(n.Card,{bordered:!1},r().createElement("div",{style:{marginBottom:16,display:"flex",justifyContent:"flex-end"}},r().createElement(n.Button,{onClick:x},"Refresh")),C.length?r().createElement(n.Collapse,{bordered:!1,defaultActiveKey:C.map(function(e){return e.leaderUsername}),items:C.map(function(e){return{key:e.leaderUsername,label:r().createElement(n.Space,null,r().createElement(n.Tag,{color:"blue"},k.get(e.leaderUsername)||e.leaderUsername),r().createElement(w,{type:"secondary"},e.items.length," execution",e.items.length>1?"s":"")),children:r().createElement(n.Table,{rowKey:"id",loading:b,dataSource:e.items,columns:I,pagination:{hideOnSinglePage:!0,pageSize:20},size:"middle"})}})}):r().createElement(n.Table,{rowKey:"id",loading:b,dataSource:[],columns:I,pagination:!1,size:"middle",locale:{emptyText:r().createElement(n.Empty,{description:"No delegation executions yet"})}})),r().createElement(n.Drawer,{title:"Delegation Detail",width:760,onClose:function(){return d(null)},open:!!m},m&&r().createElement(n.Spin,{spinning:f},r().createElement(r().Fragment,null,r().createElement(n.Descriptions,{column:1,bordered:!0,size:"small",style:{marginBottom:16}},r().createElement(n.Descriptions.Item,{label:"Status"},r().createElement(n.Tag,{icon:"success"===m.status?r().createElement(a.CheckCircleOutlined,null):r().createElement(a.CloseCircleOutlined,null),color:"success"===m.status?"success":"error"},m.status)),r().createElement(n.Descriptions.Item,{label:"Leader"},r().createElement(n.Tag,{color:"blue"},k.get(m.leaderUsername)||m.leaderUsername)),r().createElement(n.Descriptions.Item,{label:"Sub-Agent"},r().createElement(n.Tag,{color:"green"},k.get(m.subAgentUsername)||m.subAgentUsername)),r().createElement(n.Descriptions.Item,{label:"Tool"},r().createElement(w,{code:!0},m.toolName)),r().createElement(n.Descriptions.Item,{label:"Depth"},null!=(i=m.depth)?i:0),r().createElement(n.Descriptions.Item,{label:"Duration"},O(m.durationMs)),r().createElement(n.Descriptions.Item,{label:"Time"},m.createdAt?new Date(m.createdAt).toLocaleString():"-")),r().createElement(n.Card,{title:"Task",size:"small",style:{marginBottom:16}},r().createElement(S,{style:{whiteSpace:"pre-wrap",margin:0,fontSize:13}},m.task||"No task description")),m.context&&r().createElement(n.Card,{title:"Context",size:"small",style:{marginBottom:16}},r().createElement(S,{style:{whiteSpace:"pre-wrap",margin:0,fontSize:13}},m.context)),r().createElement(n.Card,{title:"Sub-Agent Flow",size:"small",style:{marginBottom:16}},Array.isArray(m.trace)&&m.trace.length?r().createElement(n.Timeline,{items:m.trace.map(function(e,t){return{key:t,color:"error"===e.status?"red":"tool_call"===e.type?"blue":"green",children:r().createElement("div",null,r().createElement(n.Space,{direction:"vertical",size:2,style:{width:"100%"}},r().createElement(w,{strong:!0},e.title||e.type),r().createElement(w,{type:"secondary"},e.at?new Date(e.at).toLocaleString():""),e.toolName&&r().createElement(w,{code:!0},e.toolName),e.content&&r().createElement(S,{style:{whiteSpace:"pre-wrap",margin:0,fontSize:13}},e.content),e.args&&r().createElement(S,{style:{whiteSpace:"pre-wrap",margin:0,fontSize:12}},JSON.stringify(e.args,null,2))))}})}):r().createElement(n.Empty,{description:"No flow trace captured"})),Array.isArray(m.messages)&&m.messages.length>0&&r().createElement(n.Collapse,{style:{marginBottom:16},items:[{key:"messages",label:"Raw messages (".concat(m.messages.length,")"),children:r().createElement(n.Space,{direction:"vertical",style:{width:"100%"}},m.messages.map(function(e){var t;return r().createElement(n.Card,{key:e.index,size:"small",title:"".concat(e.index+1,". ").concat(e.type)},r().createElement(S,{style:{whiteSpace:"pre-wrap",margin:0,fontSize:12}},e.content||JSON.stringify(e.toolCalls||e,null,2)),(null==(t=e.toolCalls)?void 0:t.length)>0&&r().createElement(S,{style:{whiteSpace:"pre-wrap",margin:"8px 0 0",fontSize:12}},JSON.stringify(e.toolCalls,null,2)))}))}]}),r().createElement(n.Card,{title:"Result",size:"small",style:{marginBottom:16,borderColor:"success"===m.status?"#b7eb8f":"#ffa39e"}},r().createElement(S,{style:{whiteSpace:"pre-wrap",margin:0,fontSize:13},ellipsis:{rows:20,expandable:!0}},m.result||m.error||"No result")),m.error&&r().createElement(n.Card,{title:"Error",size:"small",style:{borderColor:"#ffa39e"}},r().createElement(S,{type:"danger",style:{whiteSpace:"pre-wrap",margin:0,fontSize:13}},m.error))))))},k=function(){return r().createElement(u,null,r().createElement("div",{style:{padding:"0 24px 24px"}},r().createElement(n.Tabs,{defaultActiveKey:"rules",items:[{key:"rules",label:r().createElement("span",null,r().createElement(a.ApartmentOutlined,null)," Orchestration Rules"),children:r().createElement(g,null)},{key:"tracing",label:r().createElement("span",null,r().createElement(a.MonitorOutlined,null)," Swarm Tracing"),children:r().createElement(x,null)}]})))};function A(e,t,r,n,a,l,o){try{var i=e[l](o),u=i.value}catch(e){r(e);return}i.done?t(u):Promise.resolve(u).then(n,a)}function C(e,t,r){return(C=M()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var a=new(Function.bind.apply(e,n));return r&&T(a,r.prototype),a}).apply(null,arguments)}function O(e){return(O=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function T(e,t){return(T=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function I(e){var t="function"==typeof Map?new Map:void 0;return(I=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return C(e,arguments,O(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),T(r,e)})(e)}function M(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(M=function(){return!!e})()}var z=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return e=r,t=arguments,e=O(e),function(e,t){var r;if(t&&("object"==((r=t)&&"undefined"!=typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,M()?Reflect.construct(e,t||[],O(this).constructor):e.apply(this,t))}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&T(r,e),t=[{key:"load",value:function(){var e,t=this;return(e=function(){return function(e,t){var r,n,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(l){return function(i){var u=[l,i];if(r)throw TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(a=2&u[0]?n.return:u[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,u[1])).done)return a;switch(n=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,n=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],n=0}finally{r=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(e){return t.app.pluginSettingsManager.add("ai.orchestrator",{title:"Agent Orchestrator",icon:"ApartmentOutlined",Component:k}),[2]})},function(){var t=this,r=arguments;return new Promise(function(n,a){var l=e.apply(t,r);function o(e){A(l,n,a,o,i,"next",e)}function i(e){A(l,n,a,o,i,"throw",e)}o(void 0)})})()}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(r.prototype,t),r}(I(e.Plugin))}(),i}()});
|
|
10
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@nocobase/client"),require("react"),require("@ant-design/icons"),require("antd")):"function"==typeof define&&define.amd?define("plugin-agent-orchestrator",["@nocobase/client","react","@ant-design/icons","antd"],t):"object"==typeof exports?exports["plugin-agent-orchestrator"]=t(require("@nocobase/client"),require("react"),require("@ant-design/icons"),require("antd")):e["plugin-agent-orchestrator"]=t(e["@nocobase/client"],e.react,e["@ant-design/icons"],e.antd)}(self,function(e,t,n,r){return function(){"use strict";var a={482:function(e){e.exports=n},772:function(t){t.exports=e},721:function(e){e.exports=r},156:function(e){e.exports=t}},l={};function o(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={exports:{}};return a[e](n,n.exports,o),n.exports}o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,{a:t}),t},o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return!function(){o.r(i),o.d(i,{default:function(){return eR}});var e=o(772),t=o(156),n=o.n(t),r=o(721),a=o(482),l=(0,t.createContext)({employees:[],employeeMap:new Map,skillsMap:new Map,loading:!1,refresh:function(){}}),u=function(t){var r=t.children,a=(0,e.useRequest)({url:"aiEmployees:list",params:{pageSize:200}}),o=a.data,i=a.loading,u=a.refresh,c=n().useMemo(function(){var e=((null==o?void 0:o.data)||[]).map(function(e){var t,n,r=Array.isArray(null==(t=e.skillSettings)?void 0:t.skills)?e.skillSettings.skills.map(function(e){return"string"==typeof e?e:null==e?void 0:e.name}).filter(function(e){return"string"==typeof e&&e.length>0}):[];return{username:e.username,nickname:e.nickname||e.username,about:null==(n=e.about)?void 0:n.substring(0,80),skills:r}}),t=new Map,n=new Map,r=!0,a=!1,l=void 0;try{for(var c,s=e[Symbol.iterator]();!(r=(c=s.next()).done);r=!0){var m=c.value;t.set(m.username,m.nickname),n.set(m.username,new Set(m.skills))}}catch(e){a=!0,l=e}finally{try{r||null==s.return||s.return()}finally{if(a)throw l}}return{employees:e,employeeMap:t,skillsMap:n,loading:i,refresh:u}},[o,i,u]);return n().createElement(l.Provider,{value:c},r)},c=function(){return(0,t.useContext)(l)},s=function(e){var t=e.value,a=e.onChange,l=e.exclude,o=e.placeholder,i=c(),u=i.employees,s=i.loading,m=n().useMemo(function(){return u.filter(function(e){return!l||e.username!==l}).map(function(e){return{label:e.nickname,value:e.username,description:e.about}})},[u,l]);return n().createElement(r.Select,{loading:s,options:m,value:t,onChange:a,placeholder:void 0===o?"Select AI Employee...":o,showSearch:!0,filterOption:function(e,t){var n,r;return(null!=(n=null==t?void 0:t.label)?n:"").toString().toLowerCase().includes(e.toLowerCase())||(null!=(r=null==t?void 0:t.value)?r:"").toString().toLowerCase().includes(e.toLowerCase())},optionRender:function(e){return n().createElement("div",null,n().createElement("div",{style:{fontWeight:500}},e.label),e.data.description&&n().createElement("div",{style:{fontSize:12,color:"#888"}},e.data.description))}})};function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function d(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function p(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){d(l,r,a,o,i,"next",e)}function i(e){d(l,r,a,o,i,"throw",e)}o(void 0)})}}function f(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||y(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){if(e){if("string"==typeof e)return m(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return m(e,t)}}function h(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(l){return function(i){var u=[l,i];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var g=r.Typography.Text,b=function(e){return(e||"").replace(/[^a-zA-Z0-9_-]/g,"_")},v=function(e,t){return"delegate_".concat(b(e),"_to_").concat(b(t))},S=function(e){return"dispatch_subagents_".concat(b(e))},E=function(){var l,o,i,u,d,b=(0,e.useAPIClient)(),E=f((0,t.useState)(!1),2),w=E[0],k=E[1],x=f((0,t.useState)(null),2),O=x[0],C=x[1],I=f(r.Form.useForm(),1)[0],A=(0,e.useRequest)({url:"orchestratorConfig:list",params:{sort:["-createdAt"]}}),T=A.data,P=A.loading,j=A.refresh,z=(0,e.useRequest)({url:"ai:listAllEnabledModels"}),F=z.data,D=z.loading,M=n().useMemo(function(){var e,t=null!=(e=null==F?void 0:F.data)?e:F;return Array.isArray(t)?t:Array.isArray(null==t?void 0:t.data)?t.data:[]},[F]),U=c(),B=U.employeeMap,R=U.skillsMap,N=U.refresh,L=n().useMemo(function(){var e=null==T?void 0:T.data;return Array.isArray(e)?e:[]},[T]),_=(l=p(function(e,t){var n,a,l,o,i,u,c;return h(this,function(s){switch(s.label){case 0:return s.trys.push([0,6,,7]),[4,b.request({url:"aiEmployees:get",params:{filterByTk:e}})];case 1:if(!(o=null==(l=s.sent())||null==(n=l.data)?void 0:n.data))return r.message.error("Could not load AI employee."),[2];if(!(i=Array.isArray(null==(a=o.skillSettings)?void 0:a.skills)?o.skillSettings.skills:[]).some(function(e){return("string"==typeof e?e:null==e?void 0:e.name)===t}))return[3,3];return r.message.info("Skill already present."),[4,N()];case 2:return s.sent(),[2];case 3:var d,p,f;return u=((function(e){if(Array.isArray(e))return m(e)})(d=i)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(d)||y(d)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([{name:t,autoCall:!1}]),[4,b.request({url:"aiEmployees:update",method:"put",params:{filterByTk:e},data:{skillSettings:(p=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},o.skillSettings||{}),f=f={skills:u},Object.getOwnPropertyDescriptors?Object.defineProperties(p,Object.getOwnPropertyDescriptors(f)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(f)).forEach(function(e){Object.defineProperty(p,e,Object.getOwnPropertyDescriptor(f,e))}),p)}})];case 4:return s.sent(),r.message.success('Added "'.concat(t,'" to ').concat(e,"'s skills.")),[4,N()];case 5:return s.sent(),[3,7];case 6:return c=s.sent(),r.message.error("Auto-assign failed: ".concat((null==c?void 0:c.message)||"unknown error")),[3,7];case 7:return[2]}})}),function(e,t){return l.apply(this,arguments)}),q=(o=p(function(e){return h(this,function(t){switch(t.label){case 0:return[4,_(e.leaderUsername,v(e.leaderUsername,e.subAgentUsername))];case 1:return t.sent(),[2]}})}),function(e){return o.apply(this,arguments)}),J=(i=p(function(e){return h(this,function(t){switch(t.label){case 0:return[4,_(e,S(e))];case 1:return t.sent(),[2]}})}),function(e){return i.apply(this,arguments)}),G=n().useMemo(function(){var e=new Map,t=!0,n=!1,r=void 0;try{for(var a,l=L[Symbol.iterator]();!(t=(a=l.next()).done);t=!0){var o=a.value,i=e.get(o.subAgentUsername)||new Set;i.add(o.leaderUsername),e.set(o.subAgentUsername,i)}}catch(e){n=!0,r=e}finally{try{t||null==l.return||l.return()}finally{if(n)throw r}}return e},[L]),H=n().useMemo(function(){return Array.from(G.entries()).filter(function(e){return f(e,2)[1].size>1}).map(function(e){var t=f(e,2);return{sub:t[0],leaders:Array.from(t[1])}})},[G]),W=n().useMemo(function(){var e=new Map,t=!0,n=!1,r=void 0;try{for(var a,l=L[Symbol.iterator]();!(t=(a=l.next()).done);t=!0){var o=a.value,i=o.leaderUsername||"unknown",u=e.get(i);u||(u=[],e.set(i,u)),u.push(o)}}catch(e){n=!0,r=e}finally{try{t||null==l.return||l.return()}finally{if(n)throw r}}return Array.from(e.entries()).map(function(e){var t=f(e,2);return{leaderUsername:t[0],items:t[1]}})},[L]),$=function(e){C(e),e?I.setFieldsValue(e):(I.resetFields(),I.setFieldsValue({enabled:!0,maxDepth:1,timeout:12e4,recursionLimit:50})),k(!0)},V=function(){k(!1),C(null)},K=(u=p(function(e){var t,n,a,l,o,i;return h(this,function(u){switch(u.label){case 0:if(e.leaderUsername===e.subAgentUsername)return r.message.error("Leader and Sub-Agent cannot be the same employee."),[2];u.label=1;case 1:if(u.trys.push([1,6,,7]),!O)return[3,3];return[4,b.request({url:"orchestratorConfig:update",method:"put",params:{filterByTk:O.id},data:e})];case 2:return u.sent(),r.message.success("Rule updated"),[3,5];case 3:return[4,b.request({url:"orchestratorConfig:create",method:"post",data:e})];case 4:u.sent(),r.message.success("Rule created"),u.label=5;case 5:return V(),j(),[3,7];case 6:return i=(null==(t=u.sent())||null==(o=t.response)||null==(l=o.data)||null==(a=l.errors)||null==(n=a[0])?void 0:n.message)||t.message,r.message.error("Save failed: ".concat(i)),[3,7];case 7:return[2]}})}),function(e){return u.apply(this,arguments)}),Z=(d=p(function(e){var t;return h(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,b.request({url:"orchestratorConfig:destroy",method:"delete",params:{filterByTk:e}})];case 1:return n.sent(),r.message.success("Rule deleted"),j(),[3,3];case 2:return t=n.sent(),r.message.error("Delete failed: ".concat(t.message)),[3,3];case 3:return[2]}})}),function(e){return d.apply(this,arguments)}),Y=[{title:"Leader (Orchestrator)",dataIndex:"leaderUsername",key:"leaderUsername",render:function(e){return n().createElement(r.Tag,{color:"blue"},B.get(e)||e)}},{title:"",key:"arrow",width:50,render:function(){return n().createElement(a.SwapRightOutlined,{style:{color:"#999",fontSize:18}})}},{title:"Sub-Agent",dataIndex:"subAgentUsername",key:"subAgentUsername",render:function(e){return n().createElement(r.Tag,{color:"green"},B.get(e)||e)}},{title:"Max Depth",dataIndex:"maxDepth",key:"maxDepth",width:100,render:function(e){return null!=e?e:1}},{title:"Timeout",dataIndex:"timeout",key:"timeout",width:100,render:function(e){return"".concat(((null!=e?e:12e4)/1e3).toFixed(0),"s")}},{title:"LLM Override",key:"llmOverride",width:140,render:function(e,t){if(t.llmService&&t.model){var a=M.find(function(e){return e.llmService===t.llmService}),l=a?a.llmServiceTitle:t.llmService;return n().createElement(r.Space,{direction:"vertical",size:0},n().createElement(g,{style:{fontSize:12}},l),n().createElement(g,{type:"secondary",style:{fontSize:12}},t.model))}return n().createElement(g,{type:"secondary",style:{fontSize:12}},"Inherited")}},{title:"Enabled",dataIndex:"enabled",key:"enabled",width:80,render:function(e,t){var a;return n().createElement(r.Switch,{checked:e,size:"small",onChange:(a=p(function(e){return h(this,function(n){switch(n.label){case 0:return[4,b.request({url:"orchestratorConfig:update",method:"put",params:{filterByTk:t.id},data:{enabled:e}})];case 1:return n.sent(),j(),[2]}})}),function(e){return a.apply(this,arguments)})})}},{title:"Skill",key:"skill",width:150,render:function(e,t){var l=v(t.leaderUsername,t.subAgentUsername),o=R.get(t.leaderUsername);return o?o.has(l)?n().createElement(r.Tag,{color:"success"},"Assigned"):n().createElement(r.Space,{size:4},n().createElement(r.Tag,{icon:n().createElement(a.WarningOutlined,null),color:"warning"},"Missing"),n().createElement(r.Button,{type:"link",size:"small",icon:n().createElement(a.ThunderboltOutlined,null),onClick:function(){return q(t)}},"Auto-add")):n().createElement(g,{type:"secondary",style:{fontSize:12}},"—")}},{title:"Actions",key:"actions",width:160,render:function(e,t){return n().createElement(r.Space,null,n().createElement(r.Button,{type:"link",size:"small",icon:n().createElement(a.EditOutlined,null),onClick:function(){return $(t)}},"Edit"),n().createElement(r.Popconfirm,{title:"Delete this rule?",onConfirm:function(){return Z(t.id)}},n().createElement(r.Button,{type:"link",size:"small",danger:!0,icon:n().createElement(a.DeleteOutlined,null)},"Delete")))}}],Q=r.Form.useWatch("leaderUsername",I),X=n().useMemo(function(){return L.reduce(function(e,t){var n=R.get(t.leaderUsername);if(!n)return e;var r=v(t.leaderUsername,t.subAgentUsername);return n.has(r)?e:e+1},0)},[L,R]),ee=n().useMemo(function(){return W.map(function(e){var t=R.get(e.leaderUsername);if(!t)return null;var n=S(e.leaderUsername);return t.has(n)?null:{leaderUsername:e.leaderUsername,toolName:n,count:e.items.length}}).filter(Boolean)},[W,R]);return n().createElement("div",null,n().createElement(r.Alert,{type:"info",showIcon:!0,style:{marginBottom:16},message:"Orchestration Rules",description:n().createElement(g,{type:"secondary"},"Configure which AI Employees can act as Leaders (Orchestrators) and which ones they can delegate tasks to. Each rule creates a callable tool for the Leader to invoke the Sub-Agent.")}),X>0&&n().createElement(r.Alert,{type:"warning",showIcon:!0,style:{marginBottom:16},message:"".concat(X," rule").concat(X>1?"s":""," missing required skill assignment"),description:n().createElement(g,{type:"secondary"},"The Leader employee hasn't added the corresponding"," ",n().createElement(g,{code:!0},"delegate_<leader>_to_<sub>")," tool to its skillSettings, so the LLM cannot actually call these sub-agents. Use the ",n().createElement("b",null,"Auto-add")," button in the Skill column to fix.")}),ee.length>0&&n().createElement(r.Alert,{type:"warning",showIcon:!0,style:{marginBottom:16},message:"".concat(ee.length," leader").concat(ee.length>1?"s":""," missing dispatch skill assignment"),description:n().createElement(r.Space,{direction:"vertical",size:6},n().createElement(g,{type:"secondary"},"The fan-out tool lets a Leader dispatch multiple independent sub-tasks in one call. Add it to the Leader's skills to enable the new multi-agent flow."),ee.map(function(e){var t=e.leaderUsername,l=e.toolName,o=e.count;return n().createElement(r.Space,{key:t,size:8,wrap:!0},n().createElement(r.Tag,{color:"blue"},B.get(t)||t),n().createElement(g,{type:"secondary"},o," sub-agent",o>1?"s":""),n().createElement(g,{code:!0},l),n().createElement(r.Button,{type:"link",size:"small",icon:n().createElement(a.ThunderboltOutlined,null),onClick:function(){return J(t)}},"Auto-add"))}))}),H.length>0&&n().createElement(r.Alert,{type:"warning",showIcon:!0,style:{marginBottom:16},message:"Legacy delegate_to_<sub> alias is no longer registered for these sub-agents",description:n().createElement(r.Space,{direction:"vertical",size:2},H.map(function(e){var t=e.sub,a=e.leaders;return n().createElement(g,{key:t,type:"secondary"},n().createElement(r.Tag,{color:"green"},B.get(t)||t),"has multiple leaders (",a.map(function(e){return B.get(e)||e}).join(", "),"). The legacy alias is dropped to avoid ambiguity — leaders must use ",n().createElement(g,{code:!0},"delegate_<leader>_to_<sub>")," ","in their skills.")}))}),n().createElement(r.Card,{bordered:!1},n().createElement("div",{style:{marginBottom:16,display:"flex",justifyContent:"flex-end"}},n().createElement(r.Button,{type:"primary",icon:n().createElement(a.PlusOutlined,null),onClick:function(){return $()}},"New Rule")),W.length?n().createElement(r.Collapse,{bordered:!1,defaultActiveKey:W.map(function(e){return e.leaderUsername}),items:W.map(function(e){return{key:e.leaderUsername,label:n().createElement(r.Space,null,n().createElement(r.Tag,{color:"blue"},B.get(e.leaderUsername)||e.leaderUsername),n().createElement(g,{type:"secondary"},e.items.length," sub-agent",e.items.length>1?"s":""),ee.some(function(t){return t.leaderUsername===e.leaderUsername})&&n().createElement(r.Tag,{color:"warning"},"Dispatch missing")),children:n().createElement(r.Table,{rowKey:"id",loading:P,dataSource:e.items,columns:Y,pagination:!1,size:"middle"})}})}):n().createElement(r.Table,{rowKey:"id",loading:P,dataSource:[],columns:Y,pagination:!1,size:"middle",locale:{emptyText:n().createElement(r.Empty,{description:"No orchestration rules yet"})}})),n().createElement(r.Drawer,{title:O?"Edit Orchestration Rule":"New Orchestration Rule",width:480,onClose:V,open:w,styles:{body:{paddingBottom:80}},extra:n().createElement(r.Space,null,n().createElement(r.Button,{onClick:V},"Cancel"),n().createElement(r.Button,{onClick:function(){return I.submit()},type:"primary"},"Save"))},n().createElement(r.Form,{form:I,layout:"vertical",onFinish:K},n().createElement(r.Form.Item,{name:"leaderUsername",label:"Leader (Orchestrator)",rules:[{required:!0,message:"Please select a Leader"}],tooltip:"The AI Employee that will be able to delegate tasks to the Sub-Agent"},n().createElement(s,{placeholder:"Select Leader AI Employee..."})),n().createElement(r.Form.Item,{name:"subAgentUsername",label:"Sub-Agent",rules:[{required:!0,message:"Please select a Sub-Agent"}],tooltip:"The AI Employee that will receive delegated tasks"},n().createElement(s,{placeholder:"Select Sub-Agent AI Employee...",exclude:Q})),n().createElement(r.Form.Item,{name:"maxDepth",label:"Max Delegation Depth",tooltip:"How many layers of delegation are allowed (1 = leader calls sub-agent, sub-agent cannot delegate further)"},n().createElement(r.InputNumber,{min:1,max:3,style:{width:"100%"}})),n().createElement(r.Form.Item,{name:"timeout",label:"Timeout (ms)",tooltip:"Maximum time in milliseconds for the sub-agent to complete its task"},n().createElement(r.InputNumber,{min:1e4,max:6e5,step:1e4,style:{width:"100%"}})),n().createElement(r.Form.Item,{name:"recursionLimit",label:"Recursion Limit",tooltip:"Max LangGraph reasoning steps per delegation. Higher = more complex multi-step tasks; lower = stricter cap on token usage. Default 50."},n().createElement(r.InputNumber,{min:5,max:200,step:5,style:{width:"100%"}})),n().createElement(r.Form.Item,{name:"llmService",label:"Override LLM Service",tooltip:"Optional: Provider name. Leave empty to inherit from Leader."},n().createElement(r.Select,{allowClear:!0,placeholder:"Inherit from Leader",loading:D,options:M.map(function(e){return{label:e.llmServiceTitle||e.llmService,value:e.llmService}}),onChange:function(){return I.setFieldValue("model",void 0)}})),n().createElement(r.Form.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.llmService!==t.llmService}},function(){var e=I.getFieldValue("llmService"),t=M.find(function(t){return t.llmService===e}),a=Array.isArray(null==t?void 0:t.enabledModels)?t.enabledModels:[];return n().createElement(r.Form.Item,{name:"model",label:"Override Model",tooltip:"Optional: Model name. Leave empty to inherit from Leader.",rules:[{required:!!e,message:"Please select a model"}]},n().createElement(r.Select,{allowClear:!0,placeholder:e?"Select a model":"Inherit from Leader",disabled:!e,options:a.map(function(e){return{label:e.label,value:e.value}})}))}),n().createElement(r.Form.Item,{name:"enabled",label:"Enabled",valuePropName:"checked"},n().createElement(r.Switch,null)))))};function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function k(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var O=r.Typography.Text,C=r.Typography.Paragraph,I=r.DatePicker.RangePicker,A=function(){var l,o,i,u=(0,e.useAPIClient)(),s=x((0,t.useState)(null),2),m=s[0],d=s[1],p=x((0,t.useState)(!1),2),f=p[0],y=p[1],h=x((0,t.useState)(1),2),g=h[0],b=h[1],v=x((0,t.useState)(20),2),S=v[0],E=v[1],w=x((0,t.useState)({}),2),A=w[0],T=w[1],P=c(),j=P.employees,z=P.employeeMap,F=(0,t.useMemo)(function(){var e={};return A.leader&&(e.leaderUsername=A.leader),A.subAgent&&(e.subAgentUsername=A.subAgent),A.status&&(e.status=A.status),A.range&&(A.range[0]||A.range[1])&&(e.createdAt={},A.range[0]&&(e.createdAt.$gte=A.range[0].toDate().toISOString()),A.range[1]&&(e.createdAt.$lte=A.range[1].toDate().toISOString())),{sort:["-createdAt"],page:g,pageSize:S,filter:e}},[g,S,A]),D=(0,e.useRequest)({url:"orchestratorTracing:list",params:F},{refreshDeps:[F]}),M=D.data,U=D.loading,B=D.refresh,R=(0,t.useMemo)(function(){var e=null==M?void 0:M.data;return Array.isArray(e)?e:[]},[M]),N=(0,t.useMemo)(function(){var e,t=null==M||null==(e=M.meta)?void 0:e.count;return"number"==typeof t?t:0},[M]),L=function(e){return e?e>=1e3?"".concat((e/1e3).toFixed(1),"s"):"".concat(e,"ms"):"-"},_=(l=function(e){var t,n;return function(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(l){return function(i){var u=[l,i];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(r){switch(r.label){case 0:d(e),y(!0),r.label=1;case 1:return r.trys.push([1,,3,4]),[4,u.request({url:"orchestratorTracing:get",params:{filterByTk:e.id,source:e.hasUnifiedTrace?"span":"log"}})];case 2:return d((null==(n=r.sent())||null==(t=n.data)?void 0:t.data)||(null==n?void 0:n.data)||e),[3,4];case 3:return y(!1),[7];case 4:return[2]}})},o=function(){var e=this,t=arguments;return new Promise(function(n,r){var a=l.apply(e,t);function o(e){k(a,n,r,o,i,"next",e)}function i(e){k(a,n,r,o,i,"throw",e)}o(void 0)})},function(e){return o.apply(this,arguments)}),q=function(e){T(function(t){return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},t,e)}),b(1)},J=(0,t.useMemo)(function(){return j.map(function(e){return{label:e.nickname||e.username,value:e.username}})},[j]),G=!!(A.leader||A.subAgent||A.status||A.range&&(A.range[0]||A.range[1])),H=[{title:"Time",dataIndex:"createdAt",key:"createdAt",width:170,render:function(e){return e?new Date(e).toLocaleString():"-"}},{title:"Leader",dataIndex:"leaderUsername",key:"leaderUsername",render:function(e){return n().createElement(r.Tag,{color:"blue"},z.get(e)||e)}},{title:"Sub-Agent",dataIndex:"subAgentUsername",key:"subAgentUsername",render:function(e){return n().createElement(r.Tag,{color:"green"},z.get(e)||e)}},{title:"Task",dataIndex:"task",key:"task",render:function(e){return n().createElement(O,{ellipsis:!0,style:{maxWidth:280}},(null==e?void 0:e.substring(0,100))||"-")}},{title:"Status",dataIndex:"status",key:"status",width:90,render:function(e){return n().createElement(r.Tag,{icon:"success"===e?n().createElement(a.CheckCircleOutlined,null):n().createElement(a.CloseCircleOutlined,null),color:"success"===e?"success":"error"},e)}},{title:"Duration",dataIndex:"durationMs",key:"durationMs",width:90,render:L},{title:"Depth",dataIndex:"depth",key:"depth",width:60,render:function(e){return null!=e?e:0}},{title:"",key:"actions",width:80,render:function(e,t){return n().createElement(r.Button,{type:"link",size:"small",icon:n().createElement(a.EyeOutlined,null),onClick:function(){return _(t)}},"Detail")}}];return n().createElement("div",null,n().createElement(r.Alert,{type:"info",showIcon:!0,style:{marginBottom:16},message:"Execution Tracing",description:n().createElement(O,{type:"secondary"},"View orchestration execution logs. Each row represents one sub-agent invocation, with child tool and Skill Hub executions shown in the detail flow.")}),n().createElement(r.Card,{bordered:!1},n().createElement(r.Form,{layout:"inline",style:{marginBottom:16,rowGap:8,flexWrap:"wrap"}},n().createElement(r.Form.Item,{label:"Leader"},n().createElement(r.Select,{allowClear:!0,placeholder:"Any leader",style:{minWidth:180},options:J,value:A.leader,onChange:function(e){return q({leader:e})},showSearch:!0,optionFilterProp:"label"})),n().createElement(r.Form.Item,{label:"Sub-Agent"},n().createElement(r.Select,{allowClear:!0,placeholder:"Any sub-agent",style:{minWidth:180},options:J,value:A.subAgent,onChange:function(e){return q({subAgent:e})},showSearch:!0,optionFilterProp:"label"})),n().createElement(r.Form.Item,{label:"Status"},n().createElement(r.Select,{allowClear:!0,placeholder:"Any status",style:{minWidth:140},options:[{label:"Success",value:"success"},{label:"Error",value:"error"},{label:"Running",value:"running"}],value:A.status,onChange:function(e){return q({status:e})}})),n().createElement(r.Form.Item,{label:"Time"},n().createElement(I,{showTime:!0,value:A.range,onChange:function(e){return q({range:e})}})),n().createElement(r.Form.Item,null,n().createElement(r.Space,null,n().createElement(r.Button,{onClick:function(){T({}),b(1)},disabled:!G},"Reset"),n().createElement(r.Button,{icon:n().createElement(a.ReloadOutlined,null),onClick:B},"Refresh")))),n().createElement(r.Table,{rowKey:"id",loading:U,dataSource:R,columns:H,size:"middle",pagination:{current:g,pageSize:S,total:N,showSizeChanger:!0,pageSizeOptions:[10,20,50,100],showTotal:function(e){return"".concat(e," execution").concat(1===e?"":"s")},onChange:function(e,t){b(e),t&&t!==S&&E(t)}},locale:{emptyText:n().createElement(r.Empty,{description:G?"No executions match the current filters":"No delegation executions yet"})}})),n().createElement(r.Drawer,{title:"Execution Detail",width:820,onClose:function(){return d(null)},open:!!m},m&&n().createElement(r.Spin,{spinning:f},n().createElement(n().Fragment,null,n().createElement(r.Descriptions,{column:1,bordered:!0,size:"small",style:{marginBottom:16}},n().createElement(r.Descriptions.Item,{label:"Status"},n().createElement(r.Tag,{icon:"success"===m.status?n().createElement(a.CheckCircleOutlined,null):n().createElement(a.CloseCircleOutlined,null),color:"success"===m.status?"success":"error"},m.status)),n().createElement(r.Descriptions.Item,{label:"Leader"},n().createElement(r.Tag,{color:"blue"},z.get(m.leaderUsername)||m.leaderUsername)),n().createElement(r.Descriptions.Item,{label:"Sub-Agent"},n().createElement(r.Tag,{color:"green"},z.get(m.subAgentUsername)||m.subAgentUsername)),n().createElement(r.Descriptions.Item,{label:"Tool"},n().createElement(O,{code:!0},m.toolName)),n().createElement(r.Descriptions.Item,{label:"Depth"},null!=(i=m.depth)?i:0),n().createElement(r.Descriptions.Item,{label:"Duration"},L(m.durationMs)),n().createElement(r.Descriptions.Item,{label:"Time"},m.createdAt?new Date(m.createdAt).toLocaleString():"-")),n().createElement(r.Card,{title:"Task",size:"small",style:{marginBottom:16}},n().createElement(C,{style:{whiteSpace:"pre-wrap",margin:0,fontSize:13}},m.task||"No task description")),m.context&&n().createElement(r.Card,{title:"Context",size:"small",style:{marginBottom:16}},n().createElement(C,{style:{whiteSpace:"pre-wrap",margin:0,fontSize:13}},m.context)),n().createElement(r.Card,{title:"Execution Flow",size:"small",style:{marginBottom:16}},Array.isArray(m.trace)&&m.trace.length?n().createElement(r.Timeline,{items:m.trace.map(function(e,t){return{key:t,color:"error"===e.status?"red":"tool_call"===e.type?"blue":"green",children:n().createElement("div",null,n().createElement(r.Space,{direction:"vertical",size:2,style:{width:"100%"}},n().createElement(O,{strong:!0},e.title||e.type),n().createElement(O,{type:"secondary"},e.at?new Date(e.at).toLocaleString():""),e.toolName&&n().createElement(O,{code:!0},e.toolName),e.skillExecutionId&&n().createElement(O,{type:"secondary"},"Skill execution #",e.skillExecutionId),e.content&&n().createElement(C,{style:{whiteSpace:"pre-wrap",margin:0,fontSize:13}},e.content),e.args&&n().createElement(C,{style:{whiteSpace:"pre-wrap",margin:0,fontSize:12}},JSON.stringify(e.args,null,2))))}})}):n().createElement(r.Empty,{description:"No execution flow captured"})),Array.isArray(m.messages)&&m.messages.length>0&&n().createElement(r.Collapse,{style:{marginBottom:16},items:[{key:"messages",label:"Raw messages (".concat(m.messages.length,")"),children:n().createElement(r.Space,{direction:"vertical",style:{width:"100%"}},m.messages.map(function(e){var t;return n().createElement(r.Card,{key:e.index,size:"small",title:"".concat(e.index+1,". ").concat(e.type)},n().createElement(C,{style:{whiteSpace:"pre-wrap",margin:0,fontSize:12}},e.content||JSON.stringify(e.toolCalls||e,null,2)),(null==(t=e.toolCalls)?void 0:t.length)>0&&n().createElement(C,{style:{whiteSpace:"pre-wrap",margin:"8px 0 0",fontSize:12}},JSON.stringify(e.toolCalls,null,2)))}))}]}),n().createElement(r.Card,{title:"Result",size:"small",style:{marginBottom:16,borderColor:"success"===m.status?"#b7eb8f":"#ffa39e"}},n().createElement(C,{style:{whiteSpace:"pre-wrap",margin:0,fontSize:13},ellipsis:{rows:20,expandable:!0}},m.result||m.error||"No result")),m.error&&n().createElement(r.Card,{title:"Error",size:"small",style:{borderColor:"#ffa39e"}},n().createElement(C,{type:"danger",style:{whiteSpace:"pre-wrap",margin:0,fontSize:13}},m.error))))))};function T(){var n=(0,e.useApp)();return(0,t.useCallback)(function(e,t){return n.i18n.t(e,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({ns:["plugin-agent-orchestrator","client"]},t))},[n.i18n])}function P(e,t){if(null==e||""===e)return t;if("string"!=typeof e)return e;var n=e.trim(),r=n.match(/^```(?:json)?\s*([\s\S]*?)\s*```$/i),a=r?r[1].trim():n;try{var l=JSON.parse(a);if("string"==typeof l){var o=l.trim(),i=o.match(/^```(?:json)?\s*([\s\S]*?)\s*```$/i),u=i?i[1].trim():o;try{l=JSON.parse(u)}catch(e){}}return l}catch(e){return t}}function j(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=P(e,void 0),r=void 0===n?null==e||""===e?t:e:n;return null==r?"":"string"==typeof r?r:JSON.stringify(r,null,2)}function z(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=P(e,void 0),r=void 0===n?null==e||""===e?t:e:n;return"```json\n".concat(JSON.stringify(r,null,2),"\n```")}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function D(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function M(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function U(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function B(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return F(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return F(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var R=r.Input.TextArea,N=r.theme.useToken,L=function(l){var o,i,u=l.skill,c=l.onClose,s=(0,e.useAPIClient)(),m=T(),d=N().token,p=B(r.Form.useForm(),1)[0],f=!!u,y=B((0,t.useState)([]),2),h=y[0],g=y[1];(0,t.useEffect)(function(){f||s.request({url:"skillHub:listTemplates"}).then(function(e){var t,n=e.data,r=(null==n||null==(t=n.data)?void 0:t.data)||(null==n?void 0:n.data)||n;r&&r.data&&Array.isArray(r.data)&&(r=r.data),g(Array.isArray(r)?r:[])}).catch(function(){g([])})},[s,f]),(0,t.useEffect)(function(){u?p.setFieldsValue(U(M({},u),{inputSchema:j(u.inputSchema,null),interactionSchema:j(u.interactionSchema,null),packages:j(u.packages,[])})):(p.resetFields(),p.setFieldsValue({storageType:"database",language:"python",timeoutSeconds:60,maxOutputSizeMb:50,enabled:!0,toolScope:"CUSTOM",autoCall:!1,packages:"[]"}))},[u,p]);var b=r.Form.useWatch("storageType",p)||"database";(0,t.useEffect)(function(){if("plugin"===b){var e=p.getFieldValue("pluginSource");if(e){var t=h.find(function(t){return t.name===e});t&&p.setFieldsValue({name:t.name,title:t.title,description:t.description,language:t.language,instructions:t.instructions||"",inputSchema:j(t.inputSchema,null),interactionSchema:j(t.interactionSchema,null),packages:j(t.packages,[]),timeoutSeconds:t.timeoutSeconds||60,maxOutputSizeMb:t.maxOutputSizeMb||50,toolScope:t.toolScope||"CUSTOM",storageUrl:t.storageUrl})}}},[b,h,p]);var v=function(e){var t,n=h.find(function(t){return t.name===e});n&&("plugin"===b?p.setFieldsValue({name:n.name,title:n.title,description:n.description||"",language:n.language||"python",instructions:n.instructions||"",inputSchema:j(n.inputSchema,null),interactionSchema:j(n.interactionSchema,null),packages:j(n.packages,[]),timeoutSeconds:n.timeoutSeconds||60,maxOutputSizeMb:n.maxOutputSizeMb||50,toolScope:n.toolScope||"CUSTOM",storageUrl:n.storageUrl}):p.setFieldsValue({name:n.name,title:n.title,description:n.description||"",instructions:n.instructions||"",language:n.language||"python",codeTemplate:n.codeTemplate||"",inputSchema:j(n.inputSchema,null),interactionSchema:j(n.interactionSchema,null),packages:j(n.packages,[]),timeoutSeconds:n.timeoutSeconds||60,maxOutputSizeMb:n.maxOutputSizeMb||50,toolScope:n.toolScope||"CUSTOM",enabled:null==(t=n.enabled)||t}),r.message.success(m("Template applied")))},S=(o=function(){var e,t,n;return function(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(l){return function(i){var u=[l,i];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(a){switch(a.label){case 0:return a.trys.push([0,6,,7]),[4,p.validateFields()];case 1:e=a.sent();try{e.inputSchema&&JSON.parse(e.inputSchema)}catch(e){return r.message.error(m("Invalid JSON in Input Schema")),[2]}try{e.interactionSchema&&JSON.parse(e.interactionSchema)}catch(e){return r.message.error(m("Invalid JSON in Interaction Schema")),[2]}try{e.packages&&JSON.parse(e.packages)}catch(e){return r.message.error(m("Invalid JSON in Packages")),[2]}if(t=U(M({},e),{inputSchema:e.inputSchema?z(e.inputSchema):null,interactionSchema:e.interactionSchema?z(e.interactionSchema):null,packages:z(e.packages||[],[])}),!f)return[3,3];return[4,s.request({url:"skillDefinitions:update",method:"POST",params:{filterByTk:u.id},data:t})];case 2:return a.sent(),[3,5];case 3:return[4,s.request({url:"skillDefinitions:create",method:"POST",data:t})];case 4:a.sent(),a.label=5;case 5:return r.message.success(m(f?"Skill updated":"Skill created")),c(!0),[3,7];case 6:if(null==(n=a.sent())?void 0:n.errorFields)return[2];return r.message.error(m("Failed to save skill")),[3,7];case 7:return[2]}})},i=function(){var e=this,t=arguments;return new Promise(function(n,r){var a=o.apply(e,t);function l(e){D(a,n,r,l,i,"next",e)}function i(e){D(a,n,r,l,i,"throw",e)}l(void 0)})},function(){return i.apply(this,arguments)});return n().createElement(r.Modal,{open:!0,title:f?m("Edit Skill"):m("New Skill"),onCancel:function(){return c()},width:720,destroyOnClose:!0,footer:null,styles:{body:{padding:0,display:"flex",flexDirection:"column",maxHeight:"calc(100vh - 120px)"}},style:{top:40}},n().createElement(r.Form,{form:p,layout:"vertical",size:"middle",component:"div",style:{display:"flex",flexDirection:"column",maxHeight:"calc(100vh - 120px)"}},n().createElement(r.Form.Item,{name:"storageUrl",hidden:!0},n().createElement(r.Input,null)),n().createElement("div",{style:{flexShrink:0,background:d.colorBgContainer,borderBottom:"1px solid ".concat(d.colorBorderSecondary),padding:"12px 24px",display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:12}},n().createElement(r.Form.Item,{name:"storageType",noStyle:!0},n().createElement(r.Radio.Group,{optionType:"button",buttonStyle:"solid",size:"small"},n().createElement(r.Radio,{value:"database"},m("Database Editor")),n().createElement(r.Radio,{value:"local"},m("ZIP Package")),n().createElement(r.Radio,{value:"plugin",disabled:!Array.isArray(h)||0===h.length},m("Bind to Plugin")))),n().createElement(r.Space,{size:16},n().createElement(r.Space,{size:4},n().createElement("span",{style:{fontSize:12,color:d.colorTextSecondary}},m("Enabled")),n().createElement(r.Form.Item,{name:"enabled",valuePropName:"checked",noStyle:!0},n().createElement(r.Switch,{size:"small"}))),n().createElement(r.Space,{size:4},n().createElement("span",{style:{fontSize:12,color:d.colorTextSecondary}},m("Auto Call")),n().createElement(r.Form.Item,{name:"autoCall",valuePropName:"checked",noStyle:!0},n().createElement(r.Switch,{size:"small"})))),n().createElement(r.Space,null,n().createElement(r.Button,{size:"small",icon:n().createElement(a.CloseOutlined,null),onClick:function(){return c()}},m("Cancel")),n().createElement(r.Button,{type:"primary",size:"small",icon:n().createElement(a.SaveOutlined,null),onClick:S},f?m("Save"):m("Create")))),n().createElement("div",{style:{flex:1,overflowY:"auto",padding:"16px 24px 24px",minHeight:0}},"database"===b&&!f&&Array.isArray(h)&&h.length>0&&n().createElement(r.Form.Item,{label:m("Import Template to Pre-fill code (Optional)"),style:{marginBottom:24}},n().createElement(r.Select,{placeholder:m("Select a template to pre-fill"),onChange:v,allowClear:!0},h.map(function(e){return n().createElement(r.Select.Option,{key:e.name,value:e.name},e.title," (",e.pluginSource||e.name,")")}))),"plugin"===b&&n().createElement(n().Fragment,null,n().createElement(r.Form.Item,{name:"inputSchema",hidden:!0},n().createElement(R,null)),n().createElement(r.Form.Item,{name:"packages",hidden:!0},n().createElement(r.Input,null)),n().createElement(r.Form.Item,{name:"pluginSource",label:m("Select Plugin Skill"),rules:[{required:!0}],style:{marginBottom:24,padding:12,background:"#e6f4ff",borderRadius:8,border:"1px solid #91caff"},extra:n().createElement("div",{style:{fontSize:12,color:"#1677ff",marginTop:8}},m("Binding dynamically delegates execution to the plugin logic. Code, Language, and Schemas are managed externally."))},n().createElement(r.Select,{placeholder:m("Choose an enabled plugin skill to attach"),onChange:v,allowClear:!0},Array.isArray(h)&&h.map(function(e){return n().createElement(r.Select.Option,{key:e.name,value:e.name},e.title," (",e.pluginSource||e.name,")")})))),n().createElement(r.Form.Item,{name:"name",label:m("Name (Internal Identifier)"),rules:[{required:!0}]},n().createElement(r.Input,{placeholder:"generate-word-report",disabled:f||"plugin"===b})),n().createElement(r.Form.Item,{name:"title",label:m("Title"),rules:[{required:!0}]},n().createElement(r.Input,{placeholder:"Generate Word Report",disabled:"plugin"===b})),n().createElement(r.Form.Item,{name:"description",label:m("Description")},n().createElement(R,{rows:2,placeholder:"Description for AI employee to understand this skill",disabled:"plugin"===b})),n().createElement(r.Form.Item,{name:"instructions",label:m("Instructions / Documentation")},n().createElement(R,{rows:6,placeholder:"Detailed instructions or markdown documentation for this skill",disabled:"plugin"===b})),"local"===b&&n().createElement(r.Form.Item,{label:m("Skill Package ZIP"),name:"fileId",valuePropName:"fileId",getValueFromEvent:function(e){var t,n,r,a,l,o,i;return(null==e||null==(r=e.file)||null==(n=r.response)||null==(t=n.data)?void 0:t.id)||(null==e||null==(i=e.fileList)||null==(o=i[0])||null==(l=o.response)||null==(a=l.data)?void 0:a.id)||void 0},rules:[{required:!0}]},n().createElement(r.Upload.Dragger,{name:"file",action:"/api/attachments:create",headers:{Authorization:"Bearer ".concat(s.auth.getToken())},maxCount:1,accept:".zip"},n().createElement("p",{className:"ant-upload-drag-icon"},n().createElement(a.InboxOutlined,null)),n().createElement("p",{className:"ant-upload-text"},m("Click or drag ZIP file to this area to upload")),n().createElement("p",{className:"ant-upload-hint"},m("Upload a skill package zip containing SKILL.md and index.py/.js. Metadata will be extracted automatically.")))),"plugin"!==b&&n().createElement(r.Form.Item,{name:"language",label:m("Language")},n().createElement(r.Select,null,n().createElement(r.Select.Option,{value:"python"},"Python"),n().createElement(r.Select.Option,{value:"node"},"Node.js"))),"database"===b&&n().createElement(r.Form.Item,{name:"codeTemplate",label:m("Code Template"),extra:m("Use {{placeholder}} for input parameters. Use OUTPUT_DIR env var for output directory.")},n().createElement(R,{rows:12,style:{fontFamily:"monospace",fontSize:13},placeholder:'import os\n\noutput_dir = os.environ.get("OUTPUT_DIR", "/output")\n# Your code here'})),"plugin"!==b&&n().createElement(r.Form.Item,{name:"inputSchema",label:m("Input Schema (JSON)"),extra:m("JSON Schema defining input parameters for this skill")},n().createElement(R,{rows:6,style:{fontFamily:"monospace",fontSize:13},placeholder:'{\n "type": "object",\n "properties": {},\n "required": []\n}'})),n().createElement(r.Form.Item,{name:"interactionSchema",label:m("Interaction Schema (optional)"),extra:m("If set, user is prompted to fill / confirm input before execution. Type: form | select | confirm.")},n().createElement(R,{rows:6,style:{fontFamily:"monospace",fontSize:13},placeholder:'{\n "type": "form",\n "prompt": "Confirm parameters",\n "fields": {\n "fileName": { "type": "string", "title": "File name", "required": true }\n }\n}'})),"plugin"!==b&&n().createElement(r.Form.Item,{name:"packages",label:m("Packages (JSON array)")},n().createElement(r.Input,{placeholder:'["python-docx", "openpyxl"]',style:{fontFamily:"monospace"}})),n().createElement("div",{style:{display:"flex",gap:16}},n().createElement(r.Form.Item,{name:"timeoutSeconds",label:m("Timeout (seconds)"),style:{flex:1}},n().createElement(r.InputNumber,{min:5,max:300,style:{width:"100%"}})),n().createElement(r.Form.Item,{name:"maxOutputSizeMb",label:m("Max Output (MB)"),style:{flex:1}},n().createElement(r.InputNumber,{min:1,max:200,style:{width:"100%"}})),n().createElement(r.Form.Item,{name:"toolScope",label:m("Tool Scope"),style:{flex:1}},n().createElement(r.Select,null,n().createElement(r.Select.Option,{value:"CUSTOM"},"CUSTOM"),n().createElement(r.Select.Option,{value:"GENERAL"},"GENERAL"),n().createElement(r.Select.Option,{value:"SPECIFIED"},"SPECIFIED")))))))};function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function q(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function J(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return _(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var G=r.Input.TextArea,H=function(a){var l,o,i,u=a.skill,c=a.onClose,s=(0,e.useAPIClient)(),m=T(),d=P(u.inputSchema,null),p=J((0,t.useState)((null==d?void 0:d.properties)?JSON.stringify(Object.fromEntries(Object.keys(d.properties).map(function(e){return[e,""]})),null,2):"{}"),2),f=p[0],y=p[1],h=J((0,t.useState)(!1),2),g=h[0],b=h[1],v=J((0,t.useState)(null),2),S=v[0],E=v[1],w=J((0,t.useState)(""),2),k=w[0],x=w[1],O=(l=function(){var e,t,n,r,a,l,o,i;return function(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(l){return function(i){var u=[l,i];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(c){switch(c.label){case 0:b(!0),E(null),x("");try{e=JSON.parse(f)}catch(e){return x(m("Invalid JSON input")),b(!1),[2]}c.label=1;case 1:return c.trys.push([1,3,4,5]),[4,s.request({url:"skillHub:test",method:"POST",data:{skillId:u.id,input:e}})];case 2:return E((null==(n=c.sent().data)||null==(t=n.data)?void 0:t.data)||(null==n?void 0:n.data)||n),[3,5];case 3:return x((null==(r=c.sent())||null==(i=r.response)||null==(o=i.data)||null==(l=o.errors)||null==(a=l[0])?void 0:a.message)||r.message||m("Execution failed")),[3,5];case 4:return b(!1),[7];case 5:return[2]}})},o=function(){var e=this,t=arguments;return new Promise(function(n,r){var a=l.apply(e,t);function o(e){q(a,n,r,o,i,"next",e)}function i(e){q(a,n,r,o,i,"throw",e)}o(void 0)})},function(){return o.apply(this,arguments)});return n().createElement(r.Modal,{open:!0,title:"".concat(m("Test Skill"),": ").concat(u.title),onCancel:c,footer:[n().createElement(r.Button,{key:"close",onClick:c},m("Close")),n().createElement(r.Button,{key:"run",type:"primary",onClick:O,loading:g},m("Run"))],width:640,destroyOnClose:!0},n().createElement(r.Space,{direction:"vertical",style:{width:"100%"},size:"middle"},n().createElement("div",null,n().createElement(r.Typography.Text,{strong:!0},m("Input (JSON)")),n().createElement(G,{rows:6,value:f,onChange:function(e){return y(e.target.value)},style:{fontFamily:"monospace",fontSize:13,marginTop:4}})),g&&n().createElement(r.Spin,{tip:m("Running skill on worker...")}),k&&n().createElement(r.Alert,{type:"error",message:k,showIcon:!0}),S&&n().createElement(n().Fragment,null,n().createElement(r.Alert,{type:"succeeded"===S.status?"success":"error",message:"succeeded"===S.status?m("Succeeded"):m("Failed"),description:"Duration: ".concat(S.durationMs||0,"ms"),showIcon:!0}),S.stdout&&n().createElement("div",null,n().createElement(r.Typography.Text,{strong:!0},"stdout:"),n().createElement("pre",{style:{background:"#f5f5f5",padding:8,maxHeight:200,overflow:"auto",fontSize:12}},S.stdout)),S.stderr&&n().createElement("div",null,n().createElement(r.Typography.Text,{strong:!0,type:"danger"},"stderr:"),n().createElement("pre",{style:{background:"#fff2f0",padding:8,maxHeight:200,overflow:"auto",fontSize:12}},S.stderr)),(null==(i=S.files)?void 0:i.length)>0&&n().createElement("div",null,n().createElement(r.Typography.Text,{strong:!0},m("Output Files"),":"),n().createElement("div",{style:{marginTop:8}},n().createElement(e.Upload.ReadPretty,{value:S.files.map(function(e,t){return{id:"test-".concat(e.name,"-").concat(t),title:e.name,filename:e.name,extname:e.name.includes(".")?".".concat(e.name.split(".").pop()):"",url:e.downloadUrl,status:"done"}}),multiple:!0,showFileName:!0}))))))};function W(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function $(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function V(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){$(l,r,a,o,i,"next",e)}function i(e){$(l,r,a,o,i,"throw",e)}o(void 0)})}}function K(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return W(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return W(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Z(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(l){return function(i){var u=[l,i];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var Y=r.Typography.Text,Q=r.theme.useToken,X=function(l){var o,i=l.open,u=l.onClose,c=T(),s=Q().token,m=(0,e.useAPIClient)(),d=K((0,t.useState)(0),2),p=d[0],f=d[1],y=K((0,t.useState)([]),2),h=y[0],g=y[1],b=K((0,t.useState)(!1),2),v=b[0],S=b[1],E=K((0,t.useState)(null),2),w=E[0],k=E[1],x=K((0,t.useState)([]),2),O=x[0],C=x[1],I=K((0,t.useState)(""),2),A=(I[0],I[1]),P=K((0,t.useState)("HEAD"),2),j=P[0],z=P[1],F=K((0,t.useState)([]),2),D=F[0],M=F[1],U=K((0,t.useState)(!1),2),B=U[0],R=U[1],N=K((0,t.useState)(""),2),L=N[0],_=N[1],q=K((0,t.useState)(null),2),J=q[0],G=q[1],H=K((0,t.useState)([]),2),W=H[0],$=H[1],X=K((0,t.useState)(!1),2),ee=X[0],et=X[1],en=K((0,t.useState)([]),2),er=en[0],ea=en[1],el=K((0,t.useState)(!1),2),eo=el[0],ei=el[1],eu=K((0,t.useState)(""),2),ec=eu[0],es=eu[1],em=K((0,t.useState)(null),2),ed=em[0],ep=em[1],ef=K((0,t.useState)(""),2),ey=ef[0],eh=ef[1],eg=K((0,t.useState)(null),2),eb=eg[0],ev=eg[1],eS=K((0,t.useState)(!1),2),eE=eS[0],ew=eS[1],ek=(0,t.useCallback)(V(function(){var e,t;return Z(this,function(n){switch(n.label){case 0:S(!0),n.label=1;case 1:return n.trys.push([1,,3,4]),[4,m.request({url:"gitRepositories:list",params:{pageSize:100}})];case 2:return g(((null==(t=n.sent().data)||null==(e=t.data)?void 0:e.data)||(null==t?void 0:t.data)||[]).filter(function(e){return"connected"===e.status})),[3,4];case 3:return S(!1),[7];case 4:return[2]}})}),[m]);(0,t.useEffect)(function(){i&&(ek(),f(0),k(null),G(null),$([]),ea([]),ep(null),ev(null),ei(!1),_(""),es(""),eh(""))},[i,ek]),(0,t.useEffect)(function(){w&&m.request({url:"gitManager:branches",params:{repositoryId:w}}).then(function(e){var t,n=e.data,r=(null==n||null==(t=n.data)?void 0:t.data)||(null==n?void 0:n.data);C((null==r?void 0:r.all)||[]);var a=(null==r?void 0:r.current)||"main";A(a),z(a)}).catch(function(){return C([])})},[w,m]);var ex=(0,t.useCallback)(V(function(){var e,t;return Z(this,function(n){switch(n.label){case 0:if(!w)return[2];R(!0),n.label=1;case 1:return n.trys.push([1,,3,4]),[4,m.request({url:"gitManager:fileTree",params:{repositoryId:w,ref:j,treePath:L}})];case 2:return M(((null==(t=n.sent().data)||null==(e=t.data)?void 0:e.data)||(null==t?void 0:t.data)||[]).filter(function(e){return"tree"===e.type})),[3,4];case 3:return R(!1),[7];case 4:return[2]}})}),[m,w,j,L]);(0,t.useEffect)(function(){1===p&&w&&ex()},[p,w,j,L,ex]);var eO=(0,t.useCallback)(V(function(){var e,t,n,a,l,o,i,u,s;return Z(this,function(d){switch(d.label){case 0:if(!w||null===J)return[2];et(!0),d.label=1;case 1:return d.trys.push([1,3,4,5]),[4,m.request({url:"skillHub:gitListSkills",params:{repositoryId:w,ref:j,rootFolder:J}})];case 2:return a=(null==(n=d.sent().data)||null==(e=n.data)?void 0:e.data)||(null==n?void 0:n.data)||[],ep((null==n||null==(t=n.data)?void 0:t.config)||(null==n?void 0:n.config)||null),$(a),ea(a.filter(function(e){return!e.existsInDb}).map(function(e){return e.folder})),[3,5];case 3:return l=d.sent(),r.message.error((null==l||null==(s=l.response)||null==(u=s.data)||null==(i=u.errors)||null==(o=i[0])?void 0:o.message)||c("Failed to read skills from git")),ep(null),$([]),[3,5];case 4:return et(!1),[7];case 5:return[2]}})}),[m,w,j,J,c]);(0,t.useEffect)(function(){2===p&&null!==J&&eO()},[p,J,eO]);var eC=(0,t.useMemo)(function(){if(!ey.trim())return W;var e=ey.toLowerCase();return W.filter(function(t){return(t.title||t.name||"").toLowerCase().includes(e)||(t.description||"").toLowerCase().includes(e)})},[W,ey]),eI=(o=V(function(){var e,t,n,a,l,o,i;return Z(this,function(u){switch(u.label){case 0:if(0===er.length)return r.message.warning(c("Please select at least one skill")),[2];ew(!0),u.label=1;case 1:return u.trys.push([1,3,4,5]),[4,m.request({url:"skillHub:gitSyncSkills",method:"POST",params:{repositoryId:w,ref:j,rootFolder:J,prefix:ec},data:{skills:er,overwrite:eo}})];case 2:return ev((null==(t=u.sent().data)||null==(e=t.data)?void 0:e.data)||(null==t?void 0:t.data)||[]),f(3),[3,5];case 3:return n=u.sent(),r.message.error((null==n||null==(i=n.response)||null==(o=i.data)||null==(l=o.errors)||null==(a=l[0])?void 0:a.message)||c("Sync failed")),[3,5];case 4:return ew(!1),[7];case 5:return[2]}})}),function(){return o.apply(this,arguments)}),eA=[{title:c("Skill"),key:"name",render:function(e,t){return n().createElement("div",null,n().createElement(Y,{strong:!0},t.title||t.name),n().createElement("div",null,n().createElement(Y,{type:"secondary",style:{fontSize:12}},t.name)))}},{title:c("Language"),dataIndex:"language",key:"language",width:100,render:function(e){return n().createElement(r.Tag,{color:"python"===e?"blue":"green"},e)}},{title:c("Source"),dataIndex:"storageType",key:"storageType",width:100,render:function(e){return n().createElement(r.Tag,{color:"plugin"===e?"purple":"cyan"},(e||"git").toUpperCase())}},{title:c("Description"),dataIndex:"description",key:"description",ellipsis:!0},{title:c("Status"),key:"status",width:120,render:function(e,t){return t.existsInDb?n().createElement(r.Tag,{color:"orange"},c("Exists")):n().createElement(r.Tag,{color:"green"},c("New"))}}],eT=[{title:c("Skill"),dataIndex:"name",key:"name",render:function(e){var t=ec?ec.trim():"",r=t?"".concat(t).concat(e):e;return n().createElement("div",null,n().createElement(Y,{strong:!0},r),t&&n().createElement("div",null,n().createElement(Y,{type:"secondary",style:{fontSize:11}},c("Original"),": ",e)))}},{title:c("Result"),key:"status",render:function(e,t){return n().createElement(r.Space,null,n().createElement(r.Tag,{color:{created:"green",updated:"blue",skipped:"orange",error:"red"}[t.status]||"default"},t.status),t.reason&&n().createElement(Y,{type:"secondary",style:{fontSize:12}},t.reason))}}];return n().createElement(r.Modal,{open:i,title:n().createElement(r.Space,null,n().createElement(a.BranchesOutlined,null),c("Import Skills from Git")),onCancel:function(){return u()},width:800,footer:3===p?n().createElement(r.Button,{type:"primary",onClick:function(){return u(!0)}},c("Done")):n().createElement(r.Space,null,p>0&&p<3&&n().createElement(r.Button,{onClick:function(){return f(p-1)}},c("Back")),p<2&&n().createElement(r.Button,{type:"primary",disabled:!(0===p?!!w:1===p?null!==J:2===p&&er.length>0),onClick:function(){return f(p+1)}},c("Next")),2===p&&n().createElement(r.Button,{type:"primary",loading:eE,disabled:0===er.length,onClick:eI},n().createElement(a.SyncOutlined,null)," ",c("Sync Selected")," (",er.length,")")),destroyOnClose:!0},n().createElement(r.Steps,{current:p,size:"small",style:{marginBottom:24},items:[{title:c("Repository")},{title:c("Root Folder")},{title:c("Select Skills")},{title:c("Result")}]}),0===p&&n().createElement("div",null,v?n().createElement(r.Spin,null):0===h.length?n().createElement(r.Empty,{description:c("No connected repositories. Please configure one in Git Manager first.")}):n().createElement("div",null,n().createElement(Y,{strong:!0,style:{display:"block",marginBottom:8}},n().createElement(a.DatabaseOutlined,null)," ",c("Select a connected git repository")),n().createElement(r.Select,{style:{width:"100%"},placeholder:c("Select repository"),value:w,onChange:k,options:h.map(function(e){return{label:n().createElement(r.Space,null,e.name,n().createElement(Y,{type:"secondary",style:{fontSize:12}},e.repoUrl)),value:e.id}})}))),1===p&&n().createElement("div",null,n().createElement("div",{style:{marginBottom:12,display:"flex",gap:12,alignItems:"center"}},n().createElement(a.BranchesOutlined,null),n().createElement(r.Select,{size:"small",style:{width:200},value:j,onChange:function(e){z(e),G(null)},options:O.map(function(e){return{label:e,value:e}})})),n().createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:8}},n().createElement(Y,{strong:!0},n().createElement(a.FolderOutlined,null)," ",c("Current Path"),": ",L||"/ (Root)"),n().createElement(r.Button,{type:"primary",onClick:function(){return G(L)}},c("Use Current Folder"))),B?n().createElement(r.Spin,null):n().createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:8}},L&&n().createElement(r.Button,{icon:n().createElement(a.FolderOutlined,null),onClick:function(){var e=L.split("/");e.pop(),_(e.join("/"))}},".."),D.map(function(e){return n().createElement(r.Button,{key:e.path,icon:n().createElement(a.FolderOutlined,null),onClick:function(){return _(e.path)},style:{height:"auto",padding:"8px 16px"}},e.name)}),0===D.length&&!L&&n().createElement(r.Empty,{description:c("No folders found")})),null!==J&&n().createElement(r.Alert,{style:{marginTop:12},type:"success",message:"".concat(c("Selected Root Folder"),": ").concat(J||"/"),showIcon:!0})),2===p&&n().createElement("div",null,(null==ed?void 0:ed.initializedSkillsJson)&&n().createElement(r.Alert,{style:{marginBottom:12},type:"info",showIcon:!0,message:"".concat(c("Initialized skills.json"),": ").concat(ed.path||"skills.json")}),ee?n().createElement(r.Spin,null):0===W.length?n().createElement(r.Empty,{description:c("No skills found")}):n().createElement("div",null,n().createElement("div",{style:{marginBottom:12,display:"flex",justifyContent:"space-between",alignItems:"center",gap:12,flexWrap:"wrap"}},n().createElement(r.Input,{placeholder:c("Search by title or description..."),prefix:n().createElement(a.SearchOutlined,{style:{color:s.colorTextQuaternary}}),value:ey,onChange:function(e){return eh(e.target.value)},allowClear:!0,style:{width:260}}),n().createElement(r.Space,null,n().createElement(r.Input,{size:"small",placeholder:c("Skill Name Prefix"),value:ec,onChange:function(e){return es(e.target.value)},style:{width:150}}),n().createElement(Y,{style:{fontSize:12,marginLeft:8}},c("Overwrite")),n().createElement(r.Switch,{size:"small",checked:eo,onChange:ei}))),n().createElement("div",{style:{marginBottom:8}},n().createElement(Y,{type:"secondary",style:{fontSize:12}},eC.length," / ",W.length," ",c("skills found"),ec&&n().createElement("span",{style:{marginLeft:8}},"\xe2€\xa2 ",c("Prefix"),": ",n().createElement(r.Tag,{style:{margin:0}},ec)," ",n().createElement(Y,{type:"secondary",style:{fontSize:11}},"(",c("applied on sync"),")")))),n().createElement(r.Table,{dataSource:eC,columns:eA,rowKey:"folder",size:"small",pagination:{pageSize:10,size:"small",showSizeChanger:!1,showTotal:function(e,t){return"".concat(t[0],"-").concat(t[1]," / ").concat(e)}},rowSelection:{selectedRowKeys:er,onChange:function(e){return ea(e)}}}))),3===p&&eb&&n().createElement("div",null,n().createElement(r.Result,{status:"success",title:c("Sync Complete"),subTitle:"".concat(eb.filter(function(e){return"created"===e.status}).length," ").concat(c("created"),", ").concat(eb.filter(function(e){return"updated"===e.status}).length," ").concat(c("updated"),", ").concat(eb.filter(function(e){return"skipped"===e.status}).length," ").concat(c("skipped"))}),n().createElement(r.Table,{dataSource:eb,columns:eT,rowKey:"folder",size:"small",pagination:!1})))};function ee(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function et(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function en(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){et(l,r,a,o,i,"next",e)}function i(e){et(l,r,a,o,i,"throw",e)}o(void 0)})}}function er(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ee(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ee(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ea(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(l){return function(i){var u=[l,i];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}r.Input.TextArea;var el=function(){var l,o,i=(0,e.useAPIClient)(),u=T(),c=er((0,t.useState)([]),2),s=c[0],m=c[1],d=er((0,t.useState)(!1),2),p=d[0],f=d[1],y=er((0,t.useState)(!1),2),h=y[0],g=y[1],b=er((0,t.useState)(!1),2),v=b[0],S=b[1],E=er((0,t.useState)(null),2),w=E[0],k=E[1],x=er((0,t.useState)(null),2),O=x[0],C=x[1],I=er((0,t.useState)(!1),2),A=I[0],P=I[1],j=(0,t.useCallback)(en(function(){var e,t,n,a,l;return ea(this,function(o){switch(o.label){case 0:f(!0),o.label=1;case 1:return o.trys.push([1,3,4,5]),[4,i.request({url:"skillDefinitions:list",params:{pageSize:100}})];case 2:return m(Array.isArray(l=null!=(a=null!=(n=null==(t=o.sent().data)||null==(e=t.data)?void 0:e.data)?n:null==t?void 0:t.data)?a:[])?l:[]),[3,5];case 3:return o.sent(),r.message.error(u("Failed to load skills")),[3,5];case 4:return f(!1),[7];case 5:return[2]}})}),[i,u]);(0,t.useEffect)(function(){j()},[j]);var z=function(e){k(e),g(!0)},F=function(e){C(e),S(!0)},D=(l=en(function(e){return ea(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,i.request({url:"skillDefinitions:destroy",method:"POST",params:{filterByTk:e}})];case 1:return t.sent(),r.message.success(u("Deleted")),j(),[3,3];case 2:return t.sent(),r.message.error(u("Failed to delete")),[3,3];case 3:return[2]}})}),function(e){return l.apply(this,arguments)}),M=(o=en(function(e){return ea(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,i.request({url:"skillDefinitions:update",method:"POST",params:{filterByTk:e.id},data:{enabled:!e.enabled}})];case 1:return t.sent(),j(),[3,3];case 2:return t.sent(),r.message.error(u("Failed to update")),[3,3];case 3:return[2]}})}),function(e){return o.apply(this,arguments)});return n().createElement(r.Card,{title:u("Skill Definitions"),extra:n().createElement(r.Space,null,n().createElement(r.Button,{icon:n().createElement(a.BranchesOutlined,null),onClick:function(){return P(!0)}},u("Import from Git")),n().createElement(r.Button,{type:"primary",icon:n().createElement(a.PlusOutlined,null),onClick:function(){k(null),g(!0)}},u("New Skill")))},n().createElement(r.List,{grid:{gutter:16,xs:1,sm:2,md:3,lg:3,xl:4,xxl:4},dataSource:s,loading:p,renderItem:function(e){return n().createElement(r.List.Item,null,n().createElement(r.Card,{size:"small",title:n().createElement(r.Typography.Text,{ellipsis:!0,title:e.title},e.title),extra:n().createElement(r.Tag,{color:"python"===e.language?"blue":"green"},e.language),actions:[n().createElement(r.Tooltip,{title:u("Test")},n().createElement(a.PlayCircleOutlined,{key:"test",onClick:function(){return F(e)}})),n().createElement(r.Tooltip,{title:u("Edit")},n().createElement(a.EditOutlined,{key:"edit",onClick:function(){return z(e)}})),n().createElement(r.Popconfirm,{title:u("Delete?"),onConfirm:function(){return D(e.id)}},n().createElement(r.Tooltip,{title:u("Delete")},n().createElement(a.DeleteOutlined,{key:"delete",style:{color:"red"}})))],style:{boxShadow:"0 2px 8px rgba(0,0,0,0.05)",borderRadius:8}},n().createElement(r.Card.Meta,{title:n().createElement(r.Typography.Text,{type:"secondary",style:{fontSize:13}},e.name),description:n().createElement("div",{style:{height:60,overflow:"hidden",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",fontSize:13}},e.description||u("No description"))}),n().createElement("div",{style:{marginTop:16,display:"flex",justifyContent:"space-between",alignItems:"center"}},n().createElement(r.Space,{size:4},n().createElement(r.Switch,{checked:e.enabled,onChange:function(){return M(e)},size:"small"}),n().createElement("span",{style:{fontSize:12}},e.enabled?u("Enabled"):u("Disabled"))),n().createElement(r.Tag,{color:"purple",style:{margin:0,fontSize:11}},e.storageType?e.storageType.toUpperCase():"DB"))))}}),h&&n().createElement(L,{skill:w,onClose:function(e){g(!1),k(null),e&&j()}}),v&&O&&n().createElement(H,{skill:O,onClose:function(){return S(!1)}}),n().createElement(X,{open:A,onClose:function(e){P(!1),e&&j()}}))};function eo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ei(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function eu(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){ei(l,r,a,o,i,"next",e)}function i(e){ei(l,r,a,o,i,"throw",e)}o(void 0)})}}function ec(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return eo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eo(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function es(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(l){return function(i){var u=[l,i];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var em={pending:"default",running:"processing",succeeded:"success",failed:"error",canceled:"warning",timeout:"error"},ed=function(){var l,o=(0,e.useAPIClient)(),i=T(),u=ec((0,t.useState)([]),2),c=u[0],s=u[1],m=ec((0,t.useState)(!1),2),d=m[0],p=m[1],f=ec((0,t.useState)(1),2),y=f[0],h=f[1],g=ec((0,t.useState)(0),2),b=g[0],v=g[1],S=(0,t.useCallback)(eu(function(){var e,t,n,r,a,l;return es(this,function(i){switch(i.label){case 0:p(!0),i.label=1;case 1:return i.trys.push([1,3,4,5]),[4,o.request({url:"skillExecutions:list",params:{page:y,pageSize:20,sort:["-createdAt"],appends:["skill","triggeredBy"]}})];case 2:return s(Array.isArray(l=null!=(a=null!=(r=null==(n=i.sent().data)||null==(e=n.data)?void 0:e.data)?r:null==n?void 0:n.data)?a:[])?l:[]),v((null==n||null==(t=n.meta)?void 0:t.count)||0),[3,5];case 3:return i.sent(),[3,5];case 4:return p(!1),[7];case 5:return[2]}})}),[o,y]);(0,t.useEffect)(function(){S()},[S]);var E=(l=eu(function(e){var t,n,a,l,u;return es(this,function(c){switch(c.label){case 0:return c.trys.push([0,2,,3]),[4,o.request({url:"skillExecutions:destroy",method:"POST",params:{filterByTk:e}})];case 1:return c.sent(),r.message.success(i("Deleted successfully")),S(),[3,3];case 2:return t=c.sent(),r.message.error((null==t||null==(u=t.response)||null==(l=u.data)||null==(a=l.errors)||null==(n=a[0])?void 0:n.message)||i("Delete failed")),[3,3];case 3:return[2]}})}),function(e){return l.apply(this,arguments)}),w=[{title:"ID",dataIndex:"id",key:"id",width:80},{title:i("Skill"),dataIndex:["skill","title"],key:"skill",width:180},{title:i("Status"),dataIndex:"status",key:"status",width:120,render:function(e){return n().createElement(r.Tag,{color:em[e]||"default"},e)}},{title:i("Duration"),dataIndex:"durationMs",key:"duration",width:100,render:function(e){return e?"".concat((e/1e3).toFixed(1),"s"):"-"}},{title:i("Files"),dataIndex:"outputFiles",key:"files",width:250,render:function(t,r){if(!Array.isArray(t=P(t,[]))||!t.length)return"-";var a=t.map(function(e,t){return{id:"".concat(r.id,"-").concat(e.name,"-").concat(t),title:e.name,filename:e.name,extname:e.name.includes(".")?".".concat(e.name.split(".").pop()):"",url:"/api/skillHub:download?execId=".concat(r.id,"&filename=").concat(encodeURIComponent(e.name)),status:"done"}});return n().createElement(e.Upload.ReadPretty,{value:a,multiple:!0,showFileName:!0})}},{title:i("Triggered By"),dataIndex:["triggeredBy","nickname"],key:"triggeredBy",width:120,render:function(e){return e||"-"}},{title:i("Created At"),dataIndex:"createdAt",key:"createdAt",width:180,render:function(e){return e?new Date(e).toLocaleString():"-"}},{title:i("Output"),key:"output",width:200,render:function(e,t){return n().createElement(r.Space,{direction:"vertical",size:0},t.stdout&&n().createElement(r.Tooltip,{title:t.stdout},n().createElement(r.Typography.Text,{style:{fontSize:12,maxWidth:200},ellipsis:!0},t.stdout)),t.stderr&&n().createElement(r.Tooltip,{title:t.stderr},n().createElement(r.Typography.Text,{type:"danger",style:{fontSize:12,maxWidth:200},ellipsis:!0},t.stderr)))}},{title:i("Actions"),key:"actions",width:80,fixed:"right",render:function(e,t){return n().createElement(r.Space,{size:"middle"},n().createElement(r.Popconfirm,{title:i("Are you sure to delete this execution history and its files?"),onConfirm:function(){return E(t.id)},okText:i("Yes"),cancelText:i("No")},n().createElement(r.Button,{type:"text",danger:!0,icon:n().createElement(a.DeleteOutlined,null),size:"small"})))}}];return n().createElement(r.Card,{title:i("Execution History"),extra:n().createElement(r.Space,null,n().createElement(r.Button,{icon:n().createElement(a.ReloadOutlined,null),onClick:S,loading:d},i("Refresh")))},n().createElement(r.Table,{dataSource:c,columns:w,rowKey:"id",loading:d,size:"middle",pagination:{current:y,pageSize:20,total:b,onChange:h,showTotal:function(e){return"Total: ".concat(e)}},scroll:{x:1200}}))};function ep(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ef(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function ey(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ep(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ep(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}r.Typography.Title,r.Typography.Text;var eh=function(){var l,o=(0,e.useAPIClient)(),i=T(),u=ey((0,t.useState)([]),2),c=u[0],s=u[1],m=ey((0,t.useState)(!1),2),d=m[0],p=m[1],f=(0,t.useCallback)((l=function(){var e,t,n,r,a;return function(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(l){return function(i){var u=[l,i];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(l){switch(l.label){case 0:p(!0),l.label=1;case 1:return l.trys.push([1,3,4,5]),[4,o.request({url:"skillExecutions:list",params:{pageSize:1e3,sort:["-createdAt"],appends:["skill"]}})];case 2:return s(Array.isArray(a=null!=(r=null!=(n=null==(t=l.sent().data)||null==(e=t.data)?void 0:e.data)?n:null==t?void 0:t.data)?r:[])?a:[]),[3,5];case 3:return l.sent(),[3,5];case 4:return p(!1),[7];case 5:return[2]}})},function(){var e=this,t=arguments;return new Promise(function(n,r){var a=l.apply(e,t);function o(e){ef(a,n,r,o,i,"next",e)}function i(e){ef(a,n,r,o,i,"throw",e)}o(void 0)})}),[o]);(0,t.useEffect)(function(){f()},[f]);var y=(0,t.useMemo)(function(){var e=c.length,t=c.filter(function(e){return"succeeded"===e.status}).length,n=c.filter(function(e){return"failed"===e.status}).length,r=c.filter(function(e){return"timeout"===e.status}).length,a=c.filter(function(e){return"canceled"===e.status}).length,l={};return c.forEach(function(e){var t,n,r=(null==(t=e.skill)?void 0:t.title)||(null==(n=e.skill)?void 0:n.name)||"Unknown";l[r]||(l[r]={name:r,total:0,succeeded:0,failed:0,timeout:0,canceled:0,totalDuration:0,durationCount:0}),l[r].total+=1,l[r][e.status]=(l[r][e.status]||0)+1,e.durationMs&&(l[r].totalDuration+=e.durationMs,l[r].durationCount+=1)}),{total:e,succeeded:t,failed:n,timeout:r,canceled:a,skillData:Object.values(l).map(function(e){var t,n;return t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},e),n=n={successRate:e.total>0?e.succeeded/e.total*100:0,avgDuration:e.durationCount>0?(e.totalDuration/e.durationCount/1e3).toFixed(2):0},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t}).sort(function(e,t){return t.total-e.total})}},[c]),h=[{title:i("Skill"),dataIndex:"name",key:"name",width:200},{title:i("Total Runs"),dataIndex:"total",key:"total",width:100},{title:i("Success Rate"),dataIndex:"successRate",key:"successRate",width:150,render:function(e){return n().createElement(r.Progress,{percent:Math.round(e),size:"small",status:100===e?"success":e>50?"active":"exception"})}},{title:i("Success"),dataIndex:"succeeded",key:"succeeded",width:100},{title:i("Failed"),dataIndex:"failed",key:"failed",width:100},{title:i("Timeout"),dataIndex:"timeout",key:"timeout",width:100},{title:i("Avg Duration (s)"),dataIndex:"avgDuration",key:"avgDuration",width:120}];return n().createElement(r.Space,{direction:"vertical",size:"large",style:{width:"100%",padding:"0 16px"}},n().createElement(r.Row,{gutter:16},n().createElement(r.Col,{span:6},n().createElement(r.Card,{size:"small"},n().createElement(r.Statistic,{title:"Total Executions (Recent)",value:y.total,prefix:n().createElement(a.SyncOutlined,null)}))),n().createElement(r.Col,{span:6},n().createElement(r.Card,{size:"small"},n().createElement(r.Statistic,{title:"Succeeded",value:y.succeeded,valueStyle:{color:"#3f8600"},prefix:n().createElement(a.CheckCircleOutlined,null)}))),n().createElement(r.Col,{span:6},n().createElement(r.Card,{size:"small"},n().createElement(r.Statistic,{title:"Failed",value:y.failed,valueStyle:{color:"#cf1322"},prefix:n().createElement(a.CloseCircleOutlined,null)}))),n().createElement(r.Col,{span:6},n().createElement(r.Card,{size:"small"},n().createElement(r.Statistic,{title:"Timeout/Canceled",value:y.timeout+y.canceled,valueStyle:{color:"#faad14"},prefix:n().createElement(a.ClockCircleOutlined,null)})))),n().createElement(r.Card,{title:i("Metrics by Skill (Recent)")},n().createElement(r.Table,{dataSource:y.skillData,columns:h,rowKey:"name",loading:d,pagination:!1,size:"middle"})))};function eg(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var eb=(0,t.createContext)(new Map),ev=function(r){var a,l=r.children,o=(0,e.useAPIClient)(),i=(a=(0,t.useState)(new Map),function(e){if(Array.isArray(e))return e}(a)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(a,2)||function(e,t){if(e){if("string"==typeof e)return eg(e,2);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eg(e,t)}}(a,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=i[0],c=i[1];return(0,t.useEffect)(function(){var e=!1;return o.request({url:"skillDefinitions:list",params:{filter:{enabled:!0},fields:["name","autoCall","interactionSchema"],pageSize:200}}).then(function(t){var n=t.data;if(!e){var r=new Map,a=null!=(u=null==n?void 0:n.data)?u:[],l=!0,o=!1,i=void 0;try{for(var u,s,m=a[Symbol.iterator]();!(l=(s=m.next()).done);l=!0){var d=s.value;if(!d.autoCall){var p=P(d.interactionSchema,null);p&&r.set(d.name.toLowerCase().replace(/[^a-z0-9_]/g,"_").replace(/_+/g,"_").replace(/^_|_$/g,""),p)}}}catch(e){o=!0,i=e}finally{try{l||null==m.return||m.return()}finally{if(o)throw i}}c(r)}}).catch(function(){}),function(){e=!0}},[o]),n().createElement(eb.Provider,{value:u},l)};function eS(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function eE(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function ew(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return eS(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eS(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var ek=function(e){var a,l,o,i,u=e.toolCall,c=e.decisions,s=(0,t.useContext)(eb),m=ew(r.Form.useForm(),1)[0],d=u.name.replace(/^skill_hub_/,""),p=s.get(d),f="init"===u.invokeStatus||"interrupted"===u.invokeStatus;if(!p||!f)return null;var y=(a=function(){var e,t;return function(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(l){return function(i){var u=[l,i];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:return[4,m.validateFields()];case 1:return e=n.sent(),t="select"===p.type?e:function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},u.args,e),[4,c.edit(t)];case 2:return n.sent(),[2]}})},l=function(){var e=this,t=arguments;return new Promise(function(n,r){var l=a.apply(e,t);function o(e){eE(l,n,r,o,i,"next",e)}function i(e){eE(l,n,r,o,i,"throw",e)}o(void 0)})},function(){return l.apply(this,arguments)});return n().createElement(r.Card,{size:"small",style:{marginTop:8}},n().createElement(r.Typography.Paragraph,{style:{marginBottom:12}},p.prompt),"confirm"!==p.type&&n().createElement(r.Form,{form:m,layout:"vertical",initialValues:u.args||{},style:{marginBottom:8}},"select"===p.type&&n().createElement(r.Form.Item,{name:"choice",rules:[{required:!0}]},n().createElement(r.Radio.Group,null,(null!=(o=p.options)?o:[]).map(function(e){return n().createElement(r.Radio,{key:String(e.value),value:e.value},e.label)}))),"form"===p.type&&Object.entries(null!=(i=p.fields)?i:{}).map(function(e){var t=ew(e,2),a=t[0],l=t[1];return n().createElement(r.Form.Item,{key:a,name:a,label:l.title||a,rules:[{required:!!l.required}]},(null==l?void 0:l.enum)?n().createElement(r.Select,{options:l.enum.map(function(e){return{value:e,label:String(e)}})}):(null==l?void 0:l.type)==="number"||(null==l?void 0:l.type)==="integer"?n().createElement(r.InputNumber,{style:{width:"100%"}}):n().createElement(r.Input,null))})),n().createElement(r.Space,null,n().createElement(r.Button,{type:"primary",onClick:"confirm"===p.type?function(){return c.approve()}:y},"Run"),n().createElement(r.Button,{onClick:function(){return c.reject("user_cancel")}},"Cancel")))};function ex(e,t,n){return(ex=eA()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var a=new(Function.bind.apply(e,r));return n&&eC(a,n.prototype),a}).apply(null,arguments)}function eO(e){return(eO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eC(e,t){return(eC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function eI(e){var t="function"==typeof Map?new Map:void 0;return(eI=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return ex(e,arguments,eO(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),eC(n,e)})(e)}function eA(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(eA=function(){return!!e})()}eI(e.Plugin);var eT=function(){return n().createElement(u,null,n().createElement("div",{style:{padding:"0 24px 24px"}},n().createElement(r.Tabs,{defaultActiveKey:"rules",items:[{key:"rules",label:n().createElement("span",null,n().createElement(a.ApartmentOutlined,null)," Orchestration Rules"),children:n().createElement(E,null)},{key:"tracing",label:n().createElement("span",null,n().createElement(a.MonitorOutlined,null)," Execution Tracing"),children:n().createElement(A,null)},{key:"skill-definitions",label:n().createElement("span",null,n().createElement(a.CodeOutlined,null)," Skill Hub Definitions"),children:n().createElement(el,null)},{key:"skill-executions",label:n().createElement("span",null,n().createElement(a.HistoryOutlined,null)," Execution History"),children:n().createElement(ed,null)},{key:"skill-metrics",label:n().createElement("span",null,n().createElement(a.BarChartOutlined,null)," Metrics"),children:n().createElement(eh,null)}]})))};function eP(e,t,n,r,a,l,o){try{var i=e[l](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,a)}function ej(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){eP(l,r,a,o,i,"next",e)}function i(e){eP(l,r,a,o,i,"throw",e)}o(void 0)})}}function ez(e,t,n){return(ez=eU()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var a=new(Function.bind.apply(e,r));return n&&eD(a,n.prototype),a}).apply(null,arguments)}function eF(e){return(eF=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eD(e,t){return(eD=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function eM(e){var t="function"==typeof Map?new Map:void 0;return(eM=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return ez(e,arguments,eF(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),eD(n,e)})(e)}function eU(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(eU=function(){return!!e})()}function eB(e,t){var n,r,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(l){return function(i){var u=[l,i];if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var eR=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(){var e,t;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return e=n,t=arguments,e=eF(e),function(e,t){var n;if(t&&("object"==((n=t)&&"undefined"!=typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,eU()?Reflect.construct(e,t||[],eF(this).constructor):e.apply(this,t))}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&eD(n,e),t=[{key:"load",value:function(){var e=this;return ej(function(){return eB(this,function(t){switch(t.label){case 0:return e.app.use(ev),e.app.pluginSettingsManager.add("ai.orchestrator",{title:"Agent Orchestrator",icon:"ApartmentOutlined",Component:eT}),[4,e.registerSkillUiCards()];case 1:return t.sent(),[2]}})})()}},{key:"registerSkillUiCards",value:function(){var e=this;return ej(function(){var t,n,r,a,l,o,i,u,c,s,m;return eB(this,function(d){switch(d.label){case 0:if(!(n=null==(t=e.app.aiManager)?void 0:t.toolsManager))return[2];d.label=1;case 1:return d.trys.push([1,3,,4]),[4,e.app.apiClient.request({url:"skillDefinitions:list",params:{filter:{enabled:!0},fields:["name","autoCall","interactionSchema"],pageSize:200}})];case 2:l=null!=(a=null==(r=d.sent().data)?void 0:r.data)?a:[],o=!0,i=!1,u=void 0;try{for(c=l[Symbol.iterator]();!(o=(s=c.next()).done);o=!0)!(m=s.value).autoCall&&P(m.interactionSchema,null)&&n.registerTools("skill_hub_".concat(m.name.toLowerCase().replace(/[^a-z0-9_]/g,"_").replace(/_+/g,"_").replace(/^_|_$/g,"")),{ui:{card:ek}})}catch(e){i=!0,u=e}finally{try{o||null==c.return||c.return()}finally{if(i)throw u}}return[3,4];case 3:return d.sent(),[3,4];case 4:return[2]}})})()}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(n.prototype,t),n}(eM(e.Plugin))}(),i}()});
|
package/dist/client/plugin.d.ts
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface ExecutionProgressProps {
|
|
3
|
+
execId: string;
|
|
4
|
+
skillName: string;
|
|
5
|
+
percent: number;
|
|
6
|
+
log: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Progress component rendered inside chat UI when receiving
|
|
10
|
+
* SSE custom event: {action: "skillProgress", body: {...}}
|
|
11
|
+
*
|
|
12
|
+
* Usage in chat message renderer:
|
|
13
|
+
* ```
|
|
14
|
+
* if (event.action === 'skillProgress') {
|
|
15
|
+
* return <ExecutionProgress {...event.body} />;
|
|
16
|
+
* }
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare const ExecutionProgress: React.FC<ExecutionProgressProps>;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Plugin } from '@nocobase/client';
|
|
2
|
+
import { SkillManager } from './components/SkillManager';
|
|
3
|
+
import { ExecutionHistory } from './components/ExecutionHistory';
|
|
4
|
+
import { SkillMetrics } from './components/SkillMetrics';
|
|
5
|
+
export declare class PluginSkillHubClient extends Plugin {
|
|
6
|
+
load(): Promise<void>;
|
|
7
|
+
private registerSkillUiCards;
|
|
8
|
+
}
|
|
9
|
+
export { SkillManager, ExecutionHistory, SkillMetrics };
|
|
10
|
+
export default PluginSkillHubClient;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type InteractionSchema = {
|
|
3
|
+
type: 'form' | 'select' | 'confirm';
|
|
4
|
+
prompt: string;
|
|
5
|
+
options?: {
|
|
6
|
+
label: string;
|
|
7
|
+
value: string | number;
|
|
8
|
+
}[];
|
|
9
|
+
fields?: Record<string, {
|
|
10
|
+
type?: string;
|
|
11
|
+
title?: string;
|
|
12
|
+
required?: boolean;
|
|
13
|
+
enum?: any[];
|
|
14
|
+
}>;
|
|
15
|
+
};
|
|
16
|
+
export declare const useInteractionSchemas: () => Map<string, InteractionSchema>;
|
|
17
|
+
export declare const InteractionSchemasProvider: React.FC<{
|
|
18
|
+
children?: React.ReactNode;
|
|
19
|
+
}>;
|
package/dist/externalVersion.js
CHANGED
|
@@ -9,14 +9,14 @@
|
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
11
|
"react": "18.2.0",
|
|
12
|
-
"@nocobase/client": "2.0.
|
|
12
|
+
"@nocobase/client": "2.0.49",
|
|
13
13
|
"antd": "5.24.2",
|
|
14
14
|
"@ant-design/icons": "5.6.1",
|
|
15
|
-
"@nocobase/server": "2.0.
|
|
16
|
-
"@nocobase/database": "2.0.
|
|
17
|
-
"@nocobase/actions": "2.0.
|
|
15
|
+
"@nocobase/server": "2.0.49",
|
|
16
|
+
"@nocobase/database": "2.0.49",
|
|
17
|
+
"@nocobase/actions": "2.0.49",
|
|
18
18
|
"@langchain/langgraph": "0.2.74",
|
|
19
19
|
"@langchain/core": "0.3.80",
|
|
20
|
-
"@nocobase/plugin-ai": "2.0.
|
|
21
|
-
"@nocobase/ai": "2.0.
|
|
20
|
+
"@nocobase/plugin-ai": "2.0.49",
|
|
21
|
+
"@nocobase/ai": "2.0.49"
|
|
22
22
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2012 Another-D-Mention Software and other contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(){var e={761:function(e,t,n){const r=n(182);const i=n(17);const o=n(57);const s=n(744);const get_Bool=(...e)=>r.findLast(e,(e=>typeof e==="boolean"));const get_Str=(...e)=>r.findLast(e,(e=>typeof e==="string"));const get_Fun=(...e)=>r.findLast(e,(e=>typeof e==="function"));const a={noSort:false,readEntries:false,method:r.Constants.NONE,fs:null};e.exports=function(e,t){let n=null;const f=Object.assign(Object.create(null),a);if(e&&"object"===typeof e){if(!(e instanceof Uint8Array)){Object.assign(f,e);e=f.input?f.input:undefined;if(f.input)delete f.input}if(Buffer.isBuffer(e)){n=e;f.method=r.Constants.BUFFER;e=undefined}}Object.assign(f,t);const c=new r(f);if(typeof f.decoder!=="object"||typeof f.decoder.encode!=="function"||typeof f.decoder.decode!=="function"){f.decoder=r.decoder}if(e&&"string"===typeof e){if(c.fs.existsSync(e)){f.method=r.Constants.FILE;f.filename=e;n=c.fs.readFileSync(e)}else{throw r.Errors.INVALID_FILENAME()}}const l=new s(n,f);const{canonical:u,sanitize:d,zipnamefix:m}=r;function getEntry(e){if(e&&l){var t;if(typeof e==="string")t=l.getEntry(i.posix.normalize(e));if(typeof e==="object"&&typeof e.entryName!=="undefined"&&typeof e.header!=="undefined")t=l.getEntry(e.entryName);if(t){return t}}return null}function fixPath(e){const{join:t,normalize:n,sep:r}=i.posix;return t(i.isAbsolute(e)?"/":".",n(r+e.split("\\").join(r)+r))}function filenameFilter(e){if(e instanceof RegExp){return function(e){return function(t){return e.test(t)}}(e)}else if("function"!==typeof e){return()=>true}return e}const relativePath=(e,t)=>{let n=t.slice(-1);n=n===c.sep?c.sep:"";return i.relative(e,t)+n};return{readFile:function(e,t){var n=getEntry(e);return n&&n.getData(t)||null},childCount:function(e){const t=getEntry(e);if(t){return l.getChildCount(t)}},readFileAsync:function(e,t){var n=getEntry(e);if(n){n.getDataAsync(t)}else{t(null,"getEntry failed for:"+e)}},readAsText:function(e,t){var n=getEntry(e);if(n){var r=n.getData();if(r&&r.length){return r.toString(t||"utf8")}}return""},readAsTextAsync:function(e,t,n){var r=getEntry(e);if(r){r.getDataAsync((function(e,r){if(r){t(e,r);return}if(e&&e.length){t(e.toString(n||"utf8"))}else{t("")}}))}else{t("")}},deleteFile:function(e,t=true){var n=getEntry(e);if(n){l.deleteFile(n.entryName,t)}},deleteEntry:function(e){var t=getEntry(e);if(t){l.deleteEntry(t.entryName)}},addZipComment:function(e){l.comment=e},getZipComment:function(){return l.comment||""},addZipEntryComment:function(e,t){var n=getEntry(e);if(n){n.comment=t}},getZipEntryComment:function(e){var t=getEntry(e);if(t){return t.comment||""}return""},updateFile:function(e,t){var n=getEntry(e);if(n){n.setData(t)}},addLocalFile:function(e,t,n,o){if(c.fs.existsSync(e)){t=t?fixPath(t):"";const r=i.win32.basename(i.win32.normalize(e));t+=n?n:r;const s=c.fs.statSync(e);const a=s.isFile()?c.fs.readFileSync(e):Buffer.alloc(0);if(s.isDirectory())t+=c.sep;this.addFile(t,a,o,s)}else{throw r.Errors.FILE_NOT_FOUND(e)}},addLocalFileAsync:function(e,t){e=typeof e==="object"?e:{localPath:e};const n=i.resolve(e.localPath);const{comment:r}=e;let{zipPath:o,zipName:s}=e;const a=this;c.fs.stat(n,(function(e,f){if(e)return t(e,false);o=o?fixPath(o):"";const l=i.win32.basename(i.win32.normalize(n));o+=s?s:l;if(f.isFile()){c.fs.readFile(n,(function(e,n){if(e)return t(e,false);a.addFile(o,n,r,f);return setImmediate(t,undefined,true)}))}else if(f.isDirectory()){o+=c.sep;a.addFile(o,Buffer.alloc(0),r,f);return setImmediate(t,undefined,true)}}))},addLocalFolder:function(e,t,n){n=filenameFilter(n);t=t?fixPath(t):"";e=i.normalize(e);if(c.fs.existsSync(e)){const r=c.findFiles(e);const o=this;if(r.length){for(const s of r){const r=i.join(t,relativePath(e,s));if(n(r)){o.addLocalFile(s,i.dirname(r))}}}}else{throw r.Errors.FILE_NOT_FOUND(e)}},addLocalFolderAsync:function(e,t,n,o){o=filenameFilter(o);n=n?fixPath(n):"";e=i.normalize(e);var s=this;c.fs.open(e,"r",(function(i){if(i&&i.code==="ENOENT"){t(undefined,r.Errors.FILE_NOT_FOUND(e))}else if(i){t(undefined,i)}else{var a=c.findFiles(e);var f=-1;var next=function(){f+=1;if(f<a.length){var r=a[f];var i=relativePath(e,r).split("\\").join("/");i=i.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"");if(o(i)){c.fs.stat(r,(function(e,o){if(e)t(undefined,e);if(o.isFile()){c.fs.readFile(r,(function(e,r){if(e){t(undefined,e)}else{s.addFile(n+i,r,"",o);next()}}))}else{s.addFile(n+i+"/",Buffer.alloc(0),"",o);next()}}))}else{process.nextTick((()=>{next()}))}}else{t(true,undefined)}};next()}}))},addLocalFolderAsync2:function(e,t){const n=this;e=typeof e==="object"?e:{localPath:e};localPath=i.resolve(fixPath(e.localPath));let{zipPath:o,filter:s,namefix:a}=e;if(s instanceof RegExp){s=function(e){return function(t){return e.test(t)}}(s)}else if("function"!==typeof s){s=function(){return true}}o=o?fixPath(o):"";if(a=="latin1"){a=e=>e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"")}if(typeof a!=="function")a=e=>e;const relPathFix=e=>i.join(o,a(relativePath(localPath,e)));const fileNameFix=e=>i.win32.basename(i.win32.normalize(a(e)));c.fs.open(localPath,"r",(function(e){if(e&&e.code==="ENOENT"){t(undefined,r.Errors.FILE_NOT_FOUND(localPath))}else if(e){t(undefined,e)}else{c.findFilesAsync(localPath,(function(e,r){if(e)return t(e);r=r.filter((e=>s(relPathFix(e))));if(!r.length)t(undefined,false);setImmediate(r.reverse().reduce((function(e,t){return function(r,o){if(r||o===false)return setImmediate(e,r,false);n.addLocalFileAsync({localPath:t,zipPath:i.dirname(relPathFix(t)),zipName:fileNameFix(t)},e)}}),t))}))}}))},addLocalFolderPromise:function(e,t){return new Promise(((n,r)=>{this.addLocalFolderAsync2(Object.assign({localPath:e},t),((e,t)=>{if(e)r(e);if(t)n(this)}))}))},addFile:function(e,t,n,r){e=m(e);let i=getEntry(e);const s=i!=null;if(!s){i=new o(f);i.entryName=e}i.comment=n||"";const a="object"===typeof r&&r instanceof c.fs.Stats;if(a){i.header.time=r.mtime}var u=i.isDirectory?16:0;let d=i.isDirectory?16384:32768;if(a){d|=4095&r.mode}else if("number"===typeof r){d|=4095&r}else{d|=i.isDirectory?493:420}u=(u|d<<16)>>>0;i.attr=u;i.setData(t);if(!s)l.setEntry(i);return i},getEntries:function(e){l.password=e;return l?l.entries:[]},getEntry:function(e){return getEntry(e)},getEntryCount:function(){return l.getEntryCount()},forEach:function(e){return l.forEach(e)},extractEntryTo:function(e,t,n,o,s,a){o=get_Bool(false,o);s=get_Bool(false,s);n=get_Bool(true,n);a=get_Str(s,a);var f=getEntry(e);if(!f){throw r.Errors.NO_ENTRY()}var m=u(f.entryName);var h=d(t,a&&!f.isDirectory?a:n?m:i.basename(m));if(f.isDirectory){var I=l.getEntryChildren(f);I.forEach((function(e){if(e.isDirectory)return;var a=e.getData();if(!a){throw r.Errors.CANT_EXTRACT_FILE()}var f=u(e.entryName);var l=d(t,n?f:i.basename(f));const m=s?e.header.fileAttr:undefined;c.writeFileTo(l,a,o,m)}));return true}var p=f.getData(l.password);if(!p)throw r.Errors.CANT_EXTRACT_FILE();if(c.fs.existsSync(h)&&!o){throw r.Errors.CANT_OVERRIDE()}const y=s?e.header.fileAttr:undefined;c.writeFileTo(h,p,o,y);return true},test:function(e){if(!l){return false}for(var t in l.entries){try{if(t.isDirectory){continue}var n=l.entries[t].getData(e);if(!n){return false}}catch(e){return false}}return true},extractAllTo:function(e,t,n,i){n=get_Bool(false,n);i=get_Str(n,i);t=get_Bool(false,t);if(!l)throw r.Errors.NO_ZIP();l.entries.forEach((function(o){var s=d(e,u(o.entryName));if(o.isDirectory){c.makeDir(s);return}var a=o.getData(i);if(!a){throw r.Errors.CANT_EXTRACT_FILE()}const f=n?o.header.fileAttr:undefined;c.writeFileTo(s,a,t,f);try{c.fs.utimesSync(s,o.header.time,o.header.time)}catch(e){throw r.Errors.CANT_EXTRACT_FILE()}}))},extractAllToAsync:function(e,t,n,o){o=get_Fun(t,n,o);n=get_Bool(false,n);t=get_Bool(false,t);if(!o){return new Promise(((r,i)=>{this.extractAllToAsync(e,t,n,(function(e){if(e){i(e)}else{r(this)}}))}))}if(!l){o(r.Errors.NO_ZIP());return}e=i.resolve(e);const getPath=t=>d(e,i.normalize(u(t.entryName)));const getError=(e,t)=>new Error(e+': "'+t+'"');const s=[];const a=[];l.entries.forEach((e=>{if(e.isDirectory){s.push(e)}else{a.push(e)}}));for(const e of s){const t=getPath(e);const r=n?e.header.fileAttr:undefined;try{c.makeDir(t);if(r)c.fs.chmodSync(t,r);c.fs.utimesSync(t,e.header.time,e.header.time)}catch(e){o(getError("Unable to create folder",t))}}a.reverse().reduce((function(o,s){return function(a){if(a){o(a)}else{const a=i.normalize(u(s.entryName));const f=d(e,a);s.getDataAsync((function(e,i){if(i){o(i)}else if(!e){o(r.Errors.CANT_EXTRACT_FILE())}else{const r=n?s.header.fileAttr:undefined;c.writeFileToAsync(f,e,t,r,(function(e){if(!e){o(getError("Unable to write file",f))}c.fs.utimes(f,s.header.time,s.header.time,(function(e){if(e){o(getError("Unable to set times",f))}else{o()}}))}))}}))}}}),o)()},writeZip:function(e,t){if(arguments.length===1){if(typeof e==="function"){t=e;e=""}}if(!e&&f.filename){e=f.filename}if(!e)return;var n=l.compressToBuffer();if(n){var r=c.writeFileTo(e,n,true);if(typeof t==="function")t(!r?new Error("failed"):null,"")}},writeZipPromise:function(e,t){const{overwrite:n,perm:r}=Object.assign({overwrite:true},t);return new Promise(((t,i)=>{if(!e&&f.filename)e=f.filename;if(!e)i("ADM-ZIP: ZIP File Name Missing");this.toBufferPromise().then((o=>{const ret=e=>e?t(e):i("ADM-ZIP: Wasn't able to write zip file");c.writeFileToAsync(e,o,n,r,ret)}),i)}))},toBufferPromise:function(){return new Promise(((e,t)=>{l.toAsyncBuffer(e,t)}))},toBuffer:function(e,t,n,r){if(typeof e==="function"){l.toAsyncBuffer(e,t,n,r);return null}return l.compressToBuffer()}}}},32:function(e,t,n){var r=n(182),i=r.Constants;e.exports=function(){var e=20,t=10,n=0,o=0,s=0,a=0,f=0,c=0,l=0,u=0,d=0,m=0,h=0,I=0,p=0;e|=r.isWin?2560:768;n|=i.FLG_EFS;const y={extraLen:0};const uint32=e=>Math.max(0,e)>>>0;const uint16=e=>Math.max(0,e)&65535;const uint8=e=>Math.max(0,e)&255;s=r.fromDate2DOS(new Date);return{get made(){return e},set made(t){e=t},get version(){return t},set version(e){t=e},get flags(){return n},set flags(e){n=e},get flags_efs(){return(n&i.FLG_EFS)>0},set flags_efs(e){if(e){n|=i.FLG_EFS}else{n&=~i.FLG_EFS}},get flags_desc(){return(n&i.FLG_DESC)>0},set flags_desc(e){if(e){n|=i.FLG_DESC}else{n&=~i.FLG_DESC}},get method(){return o},set method(e){switch(e){case i.STORED:this.version=10;case i.DEFLATED:default:this.version=20}o=e},get time(){return r.fromDOS2Date(this.timeval)},set time(e){e=new Date(e);this.timeval=r.fromDate2DOS(e)},get timeval(){return s},set timeval(e){s=uint32(e)},get timeHighByte(){return uint8(s>>>8)},get crc(){return a},set crc(e){a=uint32(e)},get compressedSize(){return f},set compressedSize(e){f=uint32(e)},get size(){return c},set size(e){c=uint32(e)},get fileNameLength(){return l},set fileNameLength(e){l=e},get extraLength(){return u},set extraLength(e){u=e},get extraLocalLength(){return y.extraLen},set extraLocalLength(e){y.extraLen=e},get commentLength(){return d},set commentLength(e){d=e},get diskNumStart(){return m},set diskNumStart(e){m=uint32(e)},get inAttr(){return h},set inAttr(e){h=uint32(e)},get attr(){return I},set attr(e){I=uint32(e)},get fileAttr(){return(I||0)>>16&4095},get offset(){return p},set offset(e){p=uint32(e)},get encrypted(){return(n&i.FLG_ENC)===i.FLG_ENC},get centralHeaderSize(){return i.CENHDR+l+u+d},get realDataOffset(){return p+i.LOCHDR+y.fnameLen+y.extraLen},get localHeader(){return y},loadLocalHeaderFromBinary:function(e){var t=e.slice(p,p+i.LOCHDR);if(t.readUInt32LE(0)!==i.LOCSIG){throw r.Errors.INVALID_LOC()}y.version=t.readUInt16LE(i.LOCVER);y.flags=t.readUInt16LE(i.LOCFLG);y.flags_desc=(y.flags&i.FLG_DESC)>0;y.method=t.readUInt16LE(i.LOCHOW);y.time=t.readUInt32LE(i.LOCTIM);y.crc=t.readUInt32LE(i.LOCCRC);y.compressedSize=t.readUInt32LE(i.LOCSIZ);y.size=t.readUInt32LE(i.LOCLEN);y.fnameLen=t.readUInt16LE(i.LOCNAM);y.extraLen=t.readUInt16LE(i.LOCEXT);const n=p+i.LOCHDR+y.fnameLen;const o=n+y.extraLen;return e.slice(n,o)},loadFromBinary:function(y){if(y.length!==i.CENHDR||y.readUInt32LE(0)!==i.CENSIG){throw r.Errors.INVALID_CEN()}e=y.readUInt16LE(i.CENVEM);t=y.readUInt16LE(i.CENVER);n=y.readUInt16LE(i.CENFLG);o=y.readUInt16LE(i.CENHOW);s=y.readUInt32LE(i.CENTIM);a=y.readUInt32LE(i.CENCRC);f=y.readUInt32LE(i.CENSIZ);c=y.readUInt32LE(i.CENLEN);l=y.readUInt16LE(i.CENNAM);u=y.readUInt16LE(i.CENEXT);d=y.readUInt16LE(i.CENCOM);m=y.readUInt16LE(i.CENDSK);h=y.readUInt16LE(i.CENATT);I=y.readUInt32LE(i.CENATX);p=y.readUInt32LE(i.CENOFF)},localHeaderToBinary:function(){var e=Buffer.alloc(i.LOCHDR);e.writeUInt32LE(i.LOCSIG,0);e.writeUInt16LE(t,i.LOCVER);e.writeUInt16LE(n,i.LOCFLG);e.writeUInt16LE(o,i.LOCHOW);e.writeUInt32LE(s,i.LOCTIM);e.writeUInt32LE(a,i.LOCCRC);e.writeUInt32LE(f,i.LOCSIZ);e.writeUInt32LE(c,i.LOCLEN);e.writeUInt16LE(l,i.LOCNAM);e.writeUInt16LE(y.extraLen,i.LOCEXT);return e},centralHeaderToBinary:function(){var r=Buffer.alloc(i.CENHDR+l+u+d);r.writeUInt32LE(i.CENSIG,0);r.writeUInt16LE(e,i.CENVEM);r.writeUInt16LE(t,i.CENVER);r.writeUInt16LE(n,i.CENFLG);r.writeUInt16LE(o,i.CENHOW);r.writeUInt32LE(s,i.CENTIM);r.writeUInt32LE(a,i.CENCRC);r.writeUInt32LE(f,i.CENSIZ);r.writeUInt32LE(c,i.CENLEN);r.writeUInt16LE(l,i.CENNAM);r.writeUInt16LE(u,i.CENEXT);r.writeUInt16LE(d,i.CENCOM);r.writeUInt16LE(m,i.CENDSK);r.writeUInt16LE(h,i.CENATT);r.writeUInt32LE(I,i.CENATX);r.writeUInt32LE(p,i.CENOFF);return r},toJSON:function(){const bytes=function(e){return e+" bytes"};return{made:e,version:t,flags:n,method:r.methodToString(o),time:this.time,crc:"0x"+a.toString(16).toUpperCase(),compressedSize:bytes(f),size:bytes(c),fileNameLength:bytes(l),extraLength:bytes(u),commentLength:bytes(d),diskNumStart:m,inAttr:h,attr:I,offset:p,centralHeaderSize:bytes(i.CENHDR+l+u+d)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}},958:function(e,t,n){t.EntryHeader=n(32);t.MainHeader=n(408)},408:function(e,t,n){var r=n(182),i=r.Constants;e.exports=function(){var e=0,t=0,n=0,o=0,s=0;return{get diskEntries(){return e},set diskEntries(n){e=t=n},get totalEntries(){return t},set totalEntries(n){t=e=n},get size(){return n},set size(e){n=e},get offset(){return o},set offset(e){o=e},get commentLength(){return s},set commentLength(e){s=e},get mainHeaderSize(){return i.ENDHDR+s},loadFromBinary:function(a){if((a.length!==i.ENDHDR||a.readUInt32LE(0)!==i.ENDSIG)&&(a.length<i.ZIP64HDR||a.readUInt32LE(0)!==i.ZIP64SIG)){throw r.Errors.INVALID_END()}if(a.readUInt32LE(0)===i.ENDSIG){e=a.readUInt16LE(i.ENDSUB);t=a.readUInt16LE(i.ENDTOT);n=a.readUInt32LE(i.ENDSIZ);o=a.readUInt32LE(i.ENDOFF);s=a.readUInt16LE(i.ENDCOM)}else{e=r.readBigUInt64LE(a,i.ZIP64SUB);t=r.readBigUInt64LE(a,i.ZIP64TOT);n=r.readBigUInt64LE(a,i.ZIP64SIZE);o=r.readBigUInt64LE(a,i.ZIP64OFF);s=0}},toBinary:function(){var r=Buffer.alloc(i.ENDHDR+s);r.writeUInt32LE(i.ENDSIG,0);r.writeUInt32LE(0,4);r.writeUInt16LE(e,i.ENDSUB);r.writeUInt16LE(t,i.ENDTOT);r.writeUInt32LE(n,i.ENDSIZ);r.writeUInt32LE(o,i.ENDOFF);r.writeUInt16LE(s,i.ENDCOM);r.fill(" ",i.ENDHDR);return r},toJSON:function(){const offset=function(e,t){let n=e.toString(16).toUpperCase();while(n.length<t)n="0"+n;return"0x"+n};return{diskEntries:e,totalEntries:t,size:n+" bytes",offset:offset(o,4),commentLength:s}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}},686:function(e,t,n){e.exports=function(e){var t=n(796);var r={chunkSize:(parseInt(e.length/1024)+1)*1024};return{deflate:function(){return t.deflateRawSync(e,r)},deflateAsync:function(n){var i=t.createDeflateRaw(r),o=[],s=0;i.on("data",(function(e){o.push(e);s+=e.length}));i.on("end",(function(){var e=Buffer.alloc(s),t=0;e.fill(0);for(var r=0;r<o.length;r++){var i=o[r];i.copy(e,t);t+=i.length}n&&n(e)}));i.end(e)}}}},928:function(e,t,n){t.Deflater=n(686);t.Inflater=n(153);t.ZipCrypto=n(228)},153:function(e,t,n){const r=+(process.versions?process.versions.node:"").split(".")[0]||0;e.exports=function(e,t){var i=n(796);const o=r>=15&&t>0?{maxOutputLength:t}:{};return{inflate:function(){return i.inflateRawSync(e,o)},inflateAsync:function(t){var n=i.createInflateRaw(o),r=[],s=0;n.on("data",(function(e){r.push(e);s+=e.length}));n.on("end",(function(){var e=Buffer.alloc(s),n=0;e.fill(0);for(var i=0;i<r.length;i++){var o=r[i];o.copy(e,n);n+=o.length}t&&t(e)}));n.end(e)}}}},228:function(e,t,n){"use strict";const{randomFillSync:r}=n(113);const i=n(255);const o=new Uint32Array(256).map(((e,t)=>{for(let e=0;e<8;e++){if(0!==(t&1)){t=t>>>1^3988292384}else{t>>>=1}}return t>>>0}));const uMul=(e,t)=>Math.imul(e,t)>>>0;const crc32update=(e,t)=>o[(e^t)&255]^e>>>8;const genSalt=()=>{if("function"===typeof r){return r(Buffer.alloc(12))}else{return genSalt.node()}};genSalt.node=()=>{const e=Buffer.alloc(12);const t=e.length;for(let n=0;n<t;n++)e[n]=Math.random()*256&255;return e};const s={genSalt:genSalt};function Initkeys(e){const t=Buffer.isBuffer(e)?e:Buffer.from(e);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let e=0;e<t.length;e++){this.updateKeys(t[e])}}Initkeys.prototype.updateKeys=function(e){const t=this.keys;t[0]=crc32update(t[0],e);t[1]+=t[0]&255;t[1]=uMul(t[1],134775813)+1;t[2]=crc32update(t[2],t[1]>>>24);return e};Initkeys.prototype.next=function(){const e=(this.keys[2]|2)>>>0;return uMul(e,e^1)>>8&255};function make_decrypter(e){const t=new Initkeys(e);return function(e){const n=Buffer.alloc(e.length);let r=0;for(let i of e){n[r++]=t.updateKeys(i^t.next())}return n}}function make_encrypter(e){const t=new Initkeys(e);return function(e,n,r=0){if(!n)n=Buffer.alloc(e.length);for(let i of e){const e=t.next();n[r++]=i^e;t.updateKeys(i)}return n}}function decrypt(e,t,n){if(!e||!Buffer.isBuffer(e)||e.length<12){return Buffer.alloc(0)}const r=make_decrypter(n);const o=r(e.slice(0,12));const s=(t.flags&8)===8?t.timeHighByte:t.crc>>>24;if(o[11]!==s){throw i.WRONG_PASSWORD()}return r(e.slice(12))}function _salter(e){if(Buffer.isBuffer(e)&&e.length>=12){s.genSalt=function(){return e.slice(0,12)}}else if(e==="node"){s.genSalt=genSalt.node}else{s.genSalt=genSalt}}function encrypt(e,t,n,r=false){if(e==null)e=Buffer.alloc(0);if(!Buffer.isBuffer(e))e=Buffer.from(e.toString());const i=make_encrypter(n);const o=s.genSalt();o[11]=t.crc>>>24&255;if(r)o[10]=t.crc>>>16&255;const a=Buffer.alloc(e.length+12);i(o,a);return i(e,a,12)}e.exports={decrypt:decrypt,encrypt:encrypt,_salter:_salter}},522:function(e){e.exports={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24}},396:function(e){e.exports={efs:true,encode:e=>Buffer.from(e,"utf8"),decode:e=>e.toString("utf8")}},255:function(e,t){const n={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function E(e){return function(...t){if(t.length){e=e.replace(/\{(\d)\}/g,((e,n)=>t[n]||""))}return new Error("ADM-ZIP: "+e)}}for(const e of Object.keys(n)){t[e]=E(n[e])}},321:function(e,t,n){const r=n(17);e.exports=function(e,{fs:t}){var n=e||"",i=newAttr(),o=null;function newAttr(){return{directory:false,readonly:false,hidden:false,executable:false,mtime:0,atime:0}}if(n&&t.existsSync(n)){o=t.statSync(n);i.directory=o.isDirectory();i.mtime=o.mtime;i.atime=o.atime;i.executable=(73&o.mode)!==0;i.readonly=(128&o.mode)===0;i.hidden=r.basename(n)[0]==="."}else{console.warn("Invalid path: "+n)}return{get directory(){return i.directory},get readOnly(){return i.readonly},get hidden(){return i.hidden},get mtime(){return i.mtime},get atime(){return i.atime},get executable(){return i.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:n,isDirectory:i.directory,isReadOnly:i.readonly,isHidden:i.hidden,isExecutable:i.executable,mTime:i.mtime,aTime:i.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}},182:function(e,t,n){e.exports=n(291);e.exports.Constants=n(522);e.exports.Errors=n(255);e.exports.FileAttr=n(321);e.exports.decoder=n(396)},291:function(e,t,n){const r=n(147);const i=n(17);const o=n(522);const s=n(255);const a=typeof process==="object"&&"win32"===process.platform;const is_Obj=e=>typeof e==="object"&&e!==null;const f=new Uint32Array(256).map(((e,t)=>{for(let e=0;e<8;e++){if((t&1)!==0){t=3988292384^t>>>1}else{t>>>=1}}return t>>>0}));function Utils(e){this.sep=i.sep;this.fs=r;if(is_Obj(e)){if(is_Obj(e.fs)&&typeof e.fs.statSync==="function"){this.fs=e.fs}}}e.exports=Utils;Utils.prototype.makeDir=function(e){const t=this;function mkdirSync(e){let n=e.split(t.sep)[0];e.split(t.sep).forEach((function(e){if(!e||e.substr(-1,1)===":")return;n+=t.sep+e;var r;try{r=t.fs.statSync(n)}catch(e){if(e.message&&e.message.startsWith("ENOENT")){t.fs.mkdirSync(n)}else{throw e}}if(r&&r.isFile())throw s.FILE_IN_THE_WAY(`"${n}"`)}))}mkdirSync(e)};Utils.prototype.writeFileTo=function(e,t,n,r){const o=this;if(o.fs.existsSync(e)){if(!n)return false;var s=o.fs.statSync(e);if(s.isDirectory()){return false}}var a=i.dirname(e);if(!o.fs.existsSync(a)){o.makeDir(a)}var f;try{f=o.fs.openSync(e,"w",438)}catch(t){o.fs.chmodSync(e,438);f=o.fs.openSync(e,"w",438)}if(f){try{o.fs.writeSync(f,t,0,t.length,0)}finally{o.fs.closeSync(f)}}o.fs.chmodSync(e,r||438);return true};Utils.prototype.writeFileToAsync=function(e,t,n,r,o){if(typeof r==="function"){o=r;r=undefined}const s=this;s.fs.exists(e,(function(a){if(a&&!n)return o(false);s.fs.stat(e,(function(n,f){if(a&&f.isDirectory()){return o(false)}var c=i.dirname(e);s.fs.exists(c,(function(n){if(!n)s.makeDir(c);s.fs.open(e,"w",438,(function(n,i){if(n){s.fs.chmod(e,438,(function(){s.fs.open(e,"w",438,(function(n,i){s.fs.write(i,t,0,t.length,0,(function(){s.fs.close(i,(function(){s.fs.chmod(e,r||438,(function(){o(true)}))}))}))}))}))}else if(i){s.fs.write(i,t,0,t.length,0,(function(){s.fs.close(i,(function(){s.fs.chmod(e,r||438,(function(){o(true)}))}))}))}else{s.fs.chmod(e,r||438,(function(){o(true)}))}}))}))}))}))};Utils.prototype.findFiles=function(e){const t=this;function findSync(e,n,r){if(typeof n==="boolean"){r=n;n=undefined}let o=[];t.fs.readdirSync(e).forEach((function(s){const a=i.join(e,s);const f=t.fs.statSync(a);if(!n||n.test(a)){o.push(i.normalize(a)+(f.isDirectory()?t.sep:""))}if(f.isDirectory()&&r)o=o.concat(findSync(a,n,r))}));return o}return findSync(e,undefined,true)};Utils.prototype.findFilesAsync=function(e,t){const n=this;let r=[];n.fs.readdir(e,(function(o,s){if(o)return t(o);let a=s.length;if(!a)return t(null,r);s.forEach((function(o){o=i.join(e,o);n.fs.stat(o,(function(e,s){if(e)return t(e);if(s){r.push(i.normalize(o)+(s.isDirectory()?n.sep:""));if(s.isDirectory()){n.findFilesAsync(o,(function(e,n){if(e)return t(e);r=r.concat(n);if(!--a)t(null,r)}))}else{if(!--a)t(null,r)}}}))}))}))};Utils.prototype.getAttributes=function(){};Utils.prototype.setAttributes=function(){};Utils.crc32update=function(e,t){return f[(e^t)&255]^e>>>8};Utils.crc32=function(e){if(typeof e==="string"){e=Buffer.from(e,"utf8")}let t=e.length;let n=~0;for(let r=0;r<t;)n=Utils.crc32update(n,e[r++]);return~n>>>0};Utils.methodToString=function(e){switch(e){case o.STORED:return"STORED ("+e+")";case o.DEFLATED:return"DEFLATED ("+e+")";default:return"UNSUPPORTED ("+e+")"}};Utils.canonical=function(e){if(!e)return"";const t=i.posix.normalize("/"+e.split("\\").join("/"));return i.join(".",t)};Utils.zipnamefix=function(e){if(!e)return"";const t=i.posix.normalize("/"+e.split("\\").join("/"));return i.posix.join(".",t)};Utils.findLast=function(e,t){if(!Array.isArray(e))throw new TypeError("arr is not array");const n=e.length>>>0;for(let r=n-1;r>=0;r--){if(t(e[r],r,e)){return e[r]}}return void 0};Utils.sanitize=function(e,t){e=i.resolve(i.normalize(e));var n=t.split("/");for(var r=0,o=n.length;r<o;r++){var s=i.normalize(i.join(e,n.slice(r,o).join(i.sep)));if(s.indexOf(e)===0){return s}}return i.normalize(i.join(e,i.basename(t)))};Utils.toBuffer=function toBuffer(e,t){if(Buffer.isBuffer(e)){return e}else if(e instanceof Uint8Array){return Buffer.from(e)}else{return typeof e==="string"?t(e):Buffer.alloc(0)}};Utils.readBigUInt64LE=function(e,t){const n=e.readUInt32LE(t);const r=e.readUInt32LE(t+4);return r*4294967296+n};Utils.fromDOS2Date=function(e){return new Date((e>>25&127)+1980,Math.max((e>>21&15)-1,0),Math.max(e>>16&31,1),e>>11&31,e>>5&63,(e&31)<<1)};Utils.fromDate2DOS=function(e){let t=0;let n=0;if(e.getFullYear()>1979){t=(e.getFullYear()-1980&127)<<9|e.getMonth()+1<<5|e.getDate();n=e.getHours()<<11|e.getMinutes()<<5|e.getSeconds()>>1}return t<<16|n};Utils.isWin=a;Utils.crcTable=f},57:function(e,t,n){var r=n(182),i=n(958),o=r.Constants,s=n(928);e.exports=function(e,t){var n=new i.EntryHeader,a=Buffer.alloc(0),f=Buffer.alloc(0),c=false,l=null,u=Buffer.alloc(0),d=Buffer.alloc(0),m=true;const h=e;const I=typeof h.decoder==="object"?h.decoder:r.decoder;m=I.hasOwnProperty("efs")?I.efs:false;function getCompressedDataFromZip(){if(!t||!(t instanceof Uint8Array)){return Buffer.alloc(0)}d=n.loadLocalHeaderFromBinary(t);return t.slice(n.realDataOffset,n.realDataOffset+n.compressedSize)}function crc32OK(e){if(!n.flags_desc&&!n.localHeader.flags_desc){if(r.crc32(e)!==n.localHeader.crc){return false}}else{const i={};const s=n.realDataOffset+n.compressedSize;if(t.readUInt32LE(s)==o.LOCSIG||t.readUInt32LE(s)==o.CENSIG){throw r.Errors.DESCRIPTOR_NOT_EXIST()}if(t.readUInt32LE(s)==o.EXTSIG){i.crc=t.readUInt32LE(s+o.EXTCRC);i.compressedSize=t.readUInt32LE(s+o.EXTSIZ);i.size=t.readUInt32LE(s+o.EXTLEN)}else if(t.readUInt16LE(s+12)===19280){i.crc=t.readUInt32LE(s+o.EXTCRC-4);i.compressedSize=t.readUInt32LE(s+o.EXTSIZ-4);i.size=t.readUInt32LE(s+o.EXTLEN-4)}else{throw r.Errors.DESCRIPTOR_UNKNOWN()}if(i.compressedSize!==n.compressedSize||i.size!==n.size||i.crc!==n.crc){throw r.Errors.DESCRIPTOR_FAULTY()}if(r.crc32(e)!==i.crc){return false}}return true}function decompress(e,t,i){if(typeof t==="undefined"&&typeof e==="string"){i=e;e=void 0}if(c){if(e&&t){t(Buffer.alloc(0),r.Errors.DIRECTORY_CONTENT_ERROR())}return Buffer.alloc(0)}var o=getCompressedDataFromZip();if(o.length===0){if(e&&t)t(o);return o}if(n.encrypted){if("string"!==typeof i&&!Buffer.isBuffer(i)){throw r.Errors.INVALID_PASS_PARAM()}o=s.ZipCrypto.decrypt(o,n,i)}var f=Buffer.alloc(n.size);switch(n.method){case r.Constants.STORED:o.copy(f);if(!crc32OK(f)){if(e&&t)t(f,r.Errors.BAD_CRC());throw r.Errors.BAD_CRC()}else{if(e&&t)t(f);return f}case r.Constants.DEFLATED:var l=new s.Inflater(o,n.size);if(!e){const e=l.inflate(f);e.copy(f,0);if(!crc32OK(f)){throw r.Errors.BAD_CRC(`"${I.decode(a)}"`)}return f}else{l.inflateAsync((function(e){e.copy(e,0);if(t){if(!crc32OK(e)){t(e,r.Errors.BAD_CRC())}else{t(e)}}}))}break;default:if(e&&t)t(Buffer.alloc(0),r.Errors.UNKNOWN_METHOD());throw r.Errors.UNKNOWN_METHOD()}}function compress(e,i){if((!l||!l.length)&&Buffer.isBuffer(t)){if(e&&i)i(getCompressedDataFromZip());return getCompressedDataFromZip()}if(l.length&&!c){var o;switch(n.method){case r.Constants.STORED:n.compressedSize=n.size;o=Buffer.alloc(l.length);l.copy(o);if(e&&i)i(o);return o;default:case r.Constants.DEFLATED:var a=new s.Deflater(l);if(!e){var f=a.deflate();n.compressedSize=f.length;return f}else{a.deflateAsync((function(e){o=Buffer.alloc(e.length);n.compressedSize=e.length;e.copy(o);i&&i(o)}))}a=null;break}}else if(e&&i){i(Buffer.alloc(0))}else{return Buffer.alloc(0)}}function readUInt64LE(e,t){return r.readBigUInt64LE(e,t)}function parseExtra(e){try{var t=0;var n,i,s;while(t+4<e.length){n=e.readUInt16LE(t);t+=2;i=e.readUInt16LE(t);t+=2;s=e.slice(t,t+i);t+=i;if(o.ID_ZIP64===n){parseZip64ExtendedInformation(s)}}}catch(e){throw r.Errors.EXTRA_FIELD_PARSE_ERROR()}}function parseZip64ExtendedInformation(e){var t,r,i,s;if(e.length>=o.EF_ZIP64_SCOMP){t=readUInt64LE(e,o.EF_ZIP64_SUNCOMP);if(n.size===o.EF_ZIP64_OR_32){n.size=t}}if(e.length>=o.EF_ZIP64_RHO){r=readUInt64LE(e,o.EF_ZIP64_SCOMP);if(n.compressedSize===o.EF_ZIP64_OR_32){n.compressedSize=r}}if(e.length>=o.EF_ZIP64_DSN){i=readUInt64LE(e,o.EF_ZIP64_RHO);if(n.offset===o.EF_ZIP64_OR_32){n.offset=i}}if(e.length>=o.EF_ZIP64_DSN+4){s=e.readUInt32LE(o.EF_ZIP64_DSN);if(n.diskNumStart===o.EF_ZIP64_OR_16){n.diskNumStart=s}}}return{get entryName(){return I.decode(a)},get rawEntryName(){return a},set entryName(e){a=r.toBuffer(e,I.encode);var t=a[a.length-1];c=t===47||t===92;n.fileNameLength=a.length},get efs(){if(typeof m==="function"){return m(this.entryName)}else{return m}},get extra(){return u},set extra(e){u=e;n.extraLength=e.length;parseExtra(e)},get comment(){return I.decode(f)},set comment(e){f=r.toBuffer(e,I.encode);n.commentLength=f.length;if(f.length>65535)throw r.Errors.COMMENT_TOO_LONG()},get name(){var e=I.decode(a);return c?e.substr(e.length-1).split("/").pop():e.split("/").pop()},get isDirectory(){return c},getCompressedData:function(){return compress(false,null)},getCompressedDataAsync:function(e){compress(true,e)},setData:function(e){l=r.toBuffer(e,r.decoder.encode);if(!c&&l.length){n.size=l.length;n.method=r.Constants.DEFLATED;n.crc=r.crc32(e);n.changed=true}else{n.method=r.Constants.STORED}},getData:function(e){if(n.changed){return l}else{return decompress(false,null,e)}},getDataAsync:function(e,t){if(n.changed){e(l)}else{decompress(true,e,t)}},set attr(e){n.attr=e},get attr(){return n.attr},set header(e){n.loadFromBinary(e)},get header(){return n},packCentralHeader:function(){n.flags_efs=this.efs;n.extraLength=u.length;var e=n.centralHeaderToBinary();var t=r.Constants.CENHDR;a.copy(e,t);t+=a.length;u.copy(e,t);t+=n.extraLength;f.copy(e,t);return e},packLocalHeader:function(){let e=0;n.flags_efs=this.efs;n.extraLocalLength=d.length;const t=n.localHeaderToBinary();const r=Buffer.alloc(t.length+a.length+n.extraLocalLength);t.copy(r,e);e+=t.length;a.copy(r,e);e+=a.length;d.copy(r,e);e+=d.length;return r},toJSON:function(){const bytes=function(e){return"<"+(e&&e.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:n.toJSON(),compressedData:bytes(t),data:bytes(l)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}},744:function(e,t,n){const r=n(57);const i=n(958);const o=n(182);e.exports=function(e,t){var n=[],s={},a=Buffer.alloc(0),f=new i.MainHeader,c=false;var l=null;const u=new Set;const d=t;const{noSort:m,decoder:h}=d;if(e){readMainHeader(d.readEntries)}else{c=true}function makeTemporaryFolders(){const e=new Set;for(const t of Object.keys(s)){const n=t.split("/");n.pop();if(!n.length)continue;for(let t=0;t<n.length;t++){const r=n.slice(0,t+1).join("/")+"/";e.add(r)}}for(const t of e){if(!(t in s)){const e=new r(d);e.entryName=t;e.attr=16;e.temporary=true;n.push(e);s[e.entryName]=e;u.add(e)}}}function readEntries(){c=true;s={};if(f.diskEntries>(e.length-f.offset)/o.Constants.CENHDR){throw o.Errors.DISK_ENTRY_TOO_LARGE()}n=new Array(f.diskEntries);var t=f.offset;for(var i=0;i<n.length;i++){var a=t,l=new r(d,e);l.header=e.slice(a,a+=o.Constants.CENHDR);l.entryName=e.slice(a,a+=l.header.fileNameLength);if(l.header.extraLength){l.extra=e.slice(a,a+=l.header.extraLength)}if(l.header.commentLength)l.comment=e.slice(a,a+l.header.commentLength);t+=l.header.centralHeaderSize;n[i]=l;s[l.entryName]=l}u.clear();makeTemporaryFolders()}function readMainHeader(t){var n=e.length-o.Constants.ENDHDR,r=Math.max(0,n-65535),i=r,s=e.length,c=-1,l=0;const u=typeof d.trailingSpace==="boolean"?d.trailingSpace:false;if(u)r=0;for(n;n>=i;n--){if(e[n]!==80)continue;if(e.readUInt32LE(n)===o.Constants.ENDSIG){c=n;l=n;s=n+o.Constants.ENDHDR;i=n-o.Constants.END64HDR;continue}if(e.readUInt32LE(n)===o.Constants.END64SIG){i=r;continue}if(e.readUInt32LE(n)===o.Constants.ZIP64SIG){c=n;s=n+o.readBigUInt64LE(e,n+o.Constants.ZIP64SIZE)+o.Constants.ZIP64LEAD;break}}if(c==-1)throw o.Errors.INVALID_FORMAT();f.loadFromBinary(e.slice(c,s));if(f.commentLength){a=e.slice(l+o.Constants.ENDHDR)}if(t)readEntries()}function sortEntries(){if(n.length>1&&!m){n.sort(((e,t)=>e.entryName.toLowerCase().localeCompare(t.entryName.toLowerCase())))}}return{get entries(){if(!c){readEntries()}return n.filter((e=>!u.has(e)))},get comment(){return h.decode(a)},set comment(e){a=o.toBuffer(e,h.encode);f.commentLength=a.length},getEntryCount:function(){if(!c){return f.diskEntries}return n.length},forEach:function(e){this.entries.forEach(e)},getEntry:function(e){if(!c){readEntries()}return s[e]||null},setEntry:function(e){if(!c){readEntries()}n.push(e);s[e.entryName]=e;f.totalEntries=n.length},deleteFile:function(e,t=true){if(!c){readEntries()}const n=s[e];const r=this.getEntryChildren(n,t).map((e=>e.entryName));r.forEach(this.deleteEntry)},deleteEntry:function(e){if(!c){readEntries()}const t=s[e];const r=n.indexOf(t);if(r>=0){n.splice(r,1);delete s[e];f.totalEntries=n.length}},getEntryChildren:function(e,t=true){if(!c){readEntries()}if(typeof e==="object"){if(e.isDirectory&&t){const t=[];const r=e.entryName;for(const e of n){if(e.entryName.startsWith(r)){t.push(e)}}return t}else{return[e]}}return[]},getChildCount:function(e){if(e&&e.isDirectory){const t=this.getEntryChildren(e);return t.includes(e)?t.length-1:t.length}return 0},compressToBuffer:function(){if(!c){readEntries()}sortEntries();const t=[];const n=[];let r=0;let i=0;f.size=0;f.offset=0;let s=0;for(const e of this.entries){const o=e.getCompressedData();e.header.offset=i;const a=e.packLocalHeader();const c=a.length+o.length;i+=c;t.push(a);t.push(o);const l=e.packCentralHeader();n.push(l);f.size+=l.length;r+=c+l.length;s++}r+=f.mainHeaderSize;f.offset=i;f.totalEntries=s;i=0;const l=Buffer.alloc(r);for(const e of t){e.copy(l,i);i+=e.length}for(const e of n){e.copy(l,i);i+=e.length}const u=f.toBinary();if(a){a.copy(u,o.Constants.ENDHDR)}u.copy(l,i);e=l;c=false;return l},toAsyncBuffer:function(t,n,r,i){try{if(!c){readEntries()}sortEntries();const n=[];const s=[];let l=0;let u=0;let d=0;f.size=0;f.offset=0;const compress2Buffer=function(m){if(m.length>0){const e=m.shift();const t=e.entryName+e.extra.toString();if(r)r(t);e.getCompressedDataAsync((function(r){if(i)i(t);e.header.offset=u;const o=e.packLocalHeader();const a=o.length+r.length;u+=a;n.push(o);n.push(r);const c=e.packCentralHeader();s.push(c);f.size+=c.length;l+=a+c.length;d++;compress2Buffer(m)}))}else{l+=f.mainHeaderSize;f.offset=u;f.totalEntries=d;u=0;const r=Buffer.alloc(l);n.forEach((function(e){e.copy(r,u);u+=e.length}));s.forEach((function(e){e.copy(r,u);u+=e.length}));const i=f.toBinary();if(a){a.copy(i,o.Constants.ENDHDR)}i.copy(r,u);e=r;c=false;t(r)}};compress2Buffer(Array.from(this.entries))}catch(e){n(e)}}}}},113:function(e){"use strict";e.exports=require("crypto")},147:function(e){"use strict";e.exports=require("fs")},17:function(e){"use strict";e.exports=require("path")},796:function(e){"use strict";e.exports=require("zlib")}};var t={};function __nccwpck_require__(n){var r=t[n];if(r!==undefined){return r.exports}var i=t[n]={exports:{}};var o=true;try{e[n](i,i.exports,__nccwpck_require__);o=false}finally{if(o)delete t[n]}return i.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var n=__nccwpck_require__(761);module.exports=n})();
|