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.
Files changed (255) hide show
  1. package/README.md +16 -291
  2. package/dist/client/AIEmployeesContext.d.ts +7 -0
  3. package/dist/client/OrchestratorSettings.d.ts +2 -1
  4. package/dist/client/index.js +1 -1
  5. package/dist/client/plugin.d.ts +1 -0
  6. package/dist/client/skill-hub/components/ExecutionHistory.d.ts +2 -0
  7. package/dist/client/skill-hub/components/ExecutionProgress.d.ts +20 -0
  8. package/dist/client/skill-hub/components/GitSkillImport.d.ts +7 -0
  9. package/dist/client/skill-hub/components/SkillEditor.d.ts +7 -0
  10. package/dist/client/skill-hub/components/SkillManager.d.ts +2 -0
  11. package/dist/client/skill-hub/components/SkillMetrics.d.ts +2 -0
  12. package/dist/client/skill-hub/components/SkillTestPanel.d.ts +7 -0
  13. package/dist/client/skill-hub/index.d.ts +10 -0
  14. package/dist/client/skill-hub/locale.d.ts +3 -0
  15. package/dist/client/skill-hub/tools/InteractionSchemasProvider.d.ts +19 -0
  16. package/dist/client/skill-hub/tools/SkillHubCard.d.ts +3 -0
  17. package/dist/client/skill-hub/utils/jsonFields.d.ts +3 -0
  18. package/dist/externalVersion.js +6 -6
  19. package/dist/node_modules/adm-zip/LICENSE +21 -0
  20. package/dist/node_modules/adm-zip/adm-zip.js +1 -0
  21. package/dist/node_modules/adm-zip/headers/entryHeader.js +377 -0
  22. package/dist/node_modules/adm-zip/headers/index.js +2 -0
  23. package/dist/node_modules/adm-zip/headers/mainHeader.js +130 -0
  24. package/dist/node_modules/adm-zip/methods/deflater.js +33 -0
  25. package/dist/node_modules/adm-zip/methods/index.js +3 -0
  26. package/dist/node_modules/adm-zip/methods/inflater.js +34 -0
  27. package/dist/node_modules/adm-zip/methods/zipcrypto.js +175 -0
  28. package/dist/node_modules/adm-zip/package.json +1 -0
  29. package/dist/node_modules/adm-zip/util/constants.js +142 -0
  30. package/dist/node_modules/adm-zip/util/decoder.js +5 -0
  31. package/dist/node_modules/adm-zip/util/errors.js +63 -0
  32. package/dist/node_modules/adm-zip/util/fattr.js +76 -0
  33. package/dist/node_modules/adm-zip/util/index.js +5 -0
  34. package/dist/node_modules/adm-zip/util/utils.js +339 -0
  35. package/dist/node_modules/adm-zip/zipEntry.js +405 -0
  36. package/dist/node_modules/adm-zip/zipFile.js +446 -0
  37. package/dist/node_modules/simple-git/dist/cjs/index.js +7399 -0
  38. package/dist/node_modules/simple-git/dist/esm/index.js +4745 -0
  39. package/dist/node_modules/simple-git/dist/esm/package.json +3 -0
  40. package/dist/node_modules/simple-git/dist/src/lib/api.d.ts +13 -0
  41. package/dist/node_modules/simple-git/dist/src/lib/args/log-format.d.ts +9 -0
  42. package/dist/node_modules/simple-git/dist/src/lib/errors/git-construct-error.d.ts +15 -0
  43. package/dist/node_modules/simple-git/dist/src/lib/errors/git-error.d.ts +30 -0
  44. package/dist/node_modules/simple-git/dist/src/lib/errors/git-plugin-error.d.ts +7 -0
  45. package/dist/node_modules/simple-git/dist/src/lib/errors/git-response-error.d.ts +32 -0
  46. package/dist/node_modules/simple-git/dist/src/lib/errors/task-configuration-error.d.ts +12 -0
  47. package/dist/node_modules/simple-git/dist/src/lib/git-factory.d.ts +15 -0
  48. package/dist/node_modules/simple-git/dist/src/lib/git-logger.d.ts +21 -0
  49. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-branch-delete.d.ts +5 -0
  50. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-branch.d.ts +2 -0
  51. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-commit.d.ts +2 -0
  52. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-diff-summary.d.ts +3 -0
  53. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-fetch.d.ts +2 -0
  54. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-list-log-summary.d.ts +6 -0
  55. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-merge.d.ts +11 -0
  56. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-move.d.ts +2 -0
  57. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-pull.d.ts +6 -0
  58. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-push.d.ts +4 -0
  59. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-remote-messages.d.ts +5 -0
  60. package/dist/node_modules/simple-git/dist/src/lib/parsers/parse-remote-objects.d.ts +3 -0
  61. package/dist/node_modules/simple-git/dist/src/lib/plugins/abort-plugin.d.ts +3 -0
  62. package/dist/node_modules/simple-git/dist/src/lib/plugins/block-unsafe-operations-plugin.d.ts +3 -0
  63. package/dist/node_modules/simple-git/dist/src/lib/plugins/command-config-prefixing-plugin.d.ts +2 -0
  64. package/dist/node_modules/simple-git/dist/src/lib/plugins/completion-detection.plugin.d.ts +3 -0
  65. package/dist/node_modules/simple-git/dist/src/lib/plugins/custom-binary.plugin.d.ts +3 -0
  66. package/dist/node_modules/simple-git/dist/src/lib/plugins/error-detection.plugin.d.ts +7 -0
  67. package/dist/node_modules/simple-git/dist/src/lib/plugins/index.d.ts +11 -0
  68. package/dist/node_modules/simple-git/dist/src/lib/plugins/plugin-store.d.ts +11 -0
  69. package/dist/node_modules/simple-git/dist/src/lib/plugins/progress-monitor-plugin.d.ts +3 -0
  70. package/dist/node_modules/simple-git/dist/src/lib/plugins/simple-git-plugin.d.ts +48 -0
  71. package/dist/node_modules/simple-git/dist/src/lib/plugins/spawn-options-plugin.d.ts +3 -0
  72. package/dist/node_modules/simple-git/dist/src/lib/plugins/suffix-paths.plugin.d.ts +2 -0
  73. package/dist/node_modules/simple-git/dist/src/lib/plugins/timout-plugin.d.ts +3 -0
  74. package/dist/node_modules/simple-git/dist/src/lib/responses/BranchDeleteSummary.d.ts +12 -0
  75. package/dist/node_modules/simple-git/dist/src/lib/responses/BranchSummary.d.ts +14 -0
  76. package/dist/node_modules/simple-git/dist/src/lib/responses/CheckIgnore.d.ts +4 -0
  77. package/dist/node_modules/simple-git/dist/src/lib/responses/CleanSummary.d.ts +9 -0
  78. package/dist/node_modules/simple-git/dist/src/lib/responses/ConfigList.d.ts +13 -0
  79. package/dist/node_modules/simple-git/dist/src/lib/responses/DiffSummary.d.ts +10 -0
  80. package/dist/node_modules/simple-git/dist/src/lib/responses/FileStatusSummary.d.ts +9 -0
  81. package/dist/node_modules/simple-git/dist/src/lib/responses/GetRemoteSummary.d.ts +11 -0
  82. package/dist/node_modules/simple-git/dist/src/lib/responses/InitSummary.d.ts +9 -0
  83. package/dist/node_modules/simple-git/dist/src/lib/responses/MergeSummary.d.ts +16 -0
  84. package/dist/node_modules/simple-git/dist/src/lib/responses/PullSummary.d.ts +25 -0
  85. package/dist/node_modules/simple-git/dist/src/lib/responses/StatusSummary.d.ts +19 -0
  86. package/dist/node_modules/simple-git/dist/src/lib/responses/TagList.d.ts +7 -0
  87. package/dist/node_modules/simple-git/dist/src/lib/runners/git-executor-chain.d.ts +25 -0
  88. package/dist/node_modules/simple-git/dist/src/lib/runners/git-executor.d.ts +14 -0
  89. package/dist/node_modules/simple-git/dist/src/lib/runners/promise-wrapped.d.ts +2 -0
  90. package/dist/node_modules/simple-git/dist/src/lib/runners/scheduler.d.ts +11 -0
  91. package/dist/node_modules/simple-git/dist/src/lib/runners/tasks-pending-queue.d.ts +23 -0
  92. package/dist/node_modules/simple-git/dist/src/lib/simple-git-api.d.ts +20 -0
  93. package/dist/node_modules/simple-git/dist/src/lib/task-callback.d.ts +2 -0
  94. package/dist/node_modules/simple-git/dist/src/lib/tasks/apply-patch.d.ts +3 -0
  95. package/dist/node_modules/simple-git/dist/src/lib/tasks/branch.d.ts +7 -0
  96. package/dist/node_modules/simple-git/dist/src/lib/tasks/change-working-directory.d.ts +2 -0
  97. package/dist/node_modules/simple-git/dist/src/lib/tasks/check-ignore.d.ts +2 -0
  98. package/dist/node_modules/simple-git/dist/src/lib/tasks/check-is-repo.d.ts +9 -0
  99. package/dist/node_modules/simple-git/dist/src/lib/tasks/checkout.d.ts +2 -0
  100. package/dist/node_modules/simple-git/dist/src/lib/tasks/clean.d.ts +25 -0
  101. package/dist/node_modules/simple-git/dist/src/lib/tasks/clone.d.ts +9 -0
  102. package/dist/node_modules/simple-git/dist/src/lib/tasks/commit.d.ts +4 -0
  103. package/dist/node_modules/simple-git/dist/src/lib/tasks/config.d.ts +8 -0
  104. package/dist/node_modules/simple-git/dist/src/lib/tasks/count-objects.d.ts +12 -0
  105. package/dist/node_modules/simple-git/dist/src/lib/tasks/diff-name-status.d.ts +12 -0
  106. package/dist/node_modules/simple-git/dist/src/lib/tasks/diff.d.ts +5 -0
  107. package/dist/node_modules/simple-git/dist/src/lib/tasks/fetch.d.ts +4 -0
  108. package/dist/node_modules/simple-git/dist/src/lib/tasks/first-commit.d.ts +2 -0
  109. package/dist/node_modules/simple-git/dist/src/lib/tasks/grep.d.ts +12 -0
  110. package/dist/node_modules/simple-git/dist/src/lib/tasks/hash-object.d.ts +5 -0
  111. package/dist/node_modules/simple-git/dist/src/lib/tasks/init.d.ts +3 -0
  112. package/dist/node_modules/simple-git/dist/src/lib/tasks/log.d.ts +32 -0
  113. package/dist/node_modules/simple-git/dist/src/lib/tasks/merge.d.ts +4 -0
  114. package/dist/node_modules/simple-git/dist/src/lib/tasks/move.d.ts +3 -0
  115. package/dist/node_modules/simple-git/dist/src/lib/tasks/pull.d.ts +3 -0
  116. package/dist/node_modules/simple-git/dist/src/lib/tasks/push.d.ts +9 -0
  117. package/dist/node_modules/simple-git/dist/src/lib/tasks/remote.d.ts +8 -0
  118. package/dist/node_modules/simple-git/dist/src/lib/tasks/reset.d.ts +11 -0
  119. package/dist/node_modules/simple-git/dist/src/lib/tasks/show.d.ts +2 -0
  120. package/dist/node_modules/simple-git/dist/src/lib/tasks/stash-list.d.ts +4 -0
  121. package/dist/node_modules/simple-git/dist/src/lib/tasks/status.d.ts +3 -0
  122. package/dist/node_modules/simple-git/dist/src/lib/tasks/sub-module.d.ts +5 -0
  123. package/dist/node_modules/simple-git/dist/src/lib/tasks/tag.d.ts +18 -0
  124. package/dist/node_modules/simple-git/dist/src/lib/tasks/task.d.ts +14 -0
  125. package/dist/node_modules/simple-git/dist/src/lib/tasks/version.d.ts +9 -0
  126. package/dist/node_modules/simple-git/dist/src/lib/types/handlers.d.ts +21 -0
  127. package/dist/node_modules/simple-git/dist/src/lib/types/index.d.ts +136 -0
  128. package/dist/node_modules/simple-git/dist/src/lib/types/tasks.d.ts +19 -0
  129. package/dist/node_modules/simple-git/dist/src/lib/utils/argument-filters.d.ts +14 -0
  130. package/dist/node_modules/simple-git/dist/src/lib/utils/exit-codes.d.ts +10 -0
  131. package/dist/node_modules/simple-git/dist/src/lib/utils/git-output-streams.d.ts +7 -0
  132. package/dist/node_modules/simple-git/dist/src/lib/utils/index.d.ts +8 -0
  133. package/dist/node_modules/simple-git/dist/src/lib/utils/line-parser.d.ts +15 -0
  134. package/dist/node_modules/simple-git/dist/src/lib/utils/simple-git-options.d.ts +2 -0
  135. package/dist/node_modules/simple-git/dist/src/lib/utils/task-options.d.ts +13 -0
  136. package/dist/node_modules/simple-git/dist/src/lib/utils/task-parser.d.ts +5 -0
  137. package/dist/node_modules/simple-git/dist/src/lib/utils/util.d.ts +47 -0
  138. package/dist/node_modules/simple-git/dist/typings/errors.d.ts +5 -0
  139. package/dist/node_modules/simple-git/dist/typings/index.d.ts +14 -0
  140. package/dist/node_modules/simple-git/dist/typings/response.d.ts +556 -0
  141. package/dist/node_modules/simple-git/dist/typings/simple-git.d.ts +1033 -0
  142. package/dist/node_modules/simple-git/dist/typings/types.d.ts +22 -0
  143. package/dist/node_modules/simple-git/node_modules/debug/package.json +64 -0
  144. package/dist/node_modules/simple-git/node_modules/debug/src/browser.js +272 -0
  145. package/dist/node_modules/simple-git/node_modules/debug/src/common.js +292 -0
  146. package/dist/node_modules/simple-git/node_modules/debug/src/index.js +10 -0
  147. package/dist/node_modules/simple-git/node_modules/debug/src/node.js +263 -0
  148. package/dist/node_modules/simple-git/package.json +1 -0
  149. package/dist/node_modules/simple-git/promise.js +17 -0
  150. package/dist/server/collections/agent-execution-spans.d.ts +9 -0
  151. package/dist/server/collections/agent-execution-spans.js +152 -0
  152. package/dist/server/collections/orchestrator-config.d.ts +1 -1
  153. package/dist/server/collections/orchestrator-config.js +6 -0
  154. package/dist/server/collections/orchestrator-logs.d.ts +1 -1
  155. package/dist/server/collections/skill-definitions.d.ts +2 -0
  156. package/dist/server/collections/skill-definitions.js +158 -0
  157. package/dist/server/collections/skill-executions.d.ts +2 -0
  158. package/dist/server/collections/skill-executions.js +123 -0
  159. package/dist/server/collections/skill-worker-configs.d.ts +2 -0
  160. package/dist/server/collections/skill-worker-configs.js +115 -0
  161. package/dist/server/migrations/20260423000000-add-progress-fields.d.ts +4 -0
  162. package/dist/server/migrations/20260423000000-add-progress-fields.js +69 -0
  163. package/dist/server/migrations/20260425000000-add-interaction-schema.d.ts +4 -0
  164. package/dist/server/migrations/20260425000000-add-interaction-schema.js +61 -0
  165. package/dist/server/migrations/20260427000000-change-packages-to-text.d.ts +4 -0
  166. package/dist/server/migrations/20260427000000-change-packages-to-text.js +70 -0
  167. package/dist/server/migrations/20260427000001-change-other-json-to-text.d.ts +4 -0
  168. package/dist/server/migrations/20260427000001-change-other-json-to-text.js +80 -0
  169. package/dist/server/migrations/20260429000000-add-llm-fields.js +8 -0
  170. package/dist/server/migrations/20260429000000-fix-inputargs-json-to-text.d.ts +16 -0
  171. package/dist/server/migrations/20260429000000-fix-inputargs-json-to-text.js +51 -0
  172. package/dist/server/migrations/20260503000000-add-orchestrator-trace-fields.d.ts +7 -0
  173. package/dist/server/migrations/20260503000000-add-orchestrator-trace-fields.js +57 -0
  174. package/dist/server/plugin.d.ts +3 -0
  175. package/dist/server/plugin.js +37 -1
  176. package/dist/server/resources/tracing.js +154 -11
  177. package/dist/server/services/CodeValidator.d.ts +32 -0
  178. package/dist/server/services/CodeValidator.js +206 -0
  179. package/dist/server/services/ExecutionSpanService.d.ts +44 -0
  180. package/dist/server/services/ExecutionSpanService.js +104 -0
  181. package/dist/server/services/FileManager.d.ts +28 -0
  182. package/dist/server/services/FileManager.js +151 -0
  183. package/dist/server/services/SandboxRunner.d.ts +41 -0
  184. package/dist/server/services/SandboxRunner.js +167 -0
  185. package/dist/server/services/SkillManager.d.ts +6 -0
  186. package/dist/server/services/SkillManager.js +640 -0
  187. package/dist/server/services/SkillRepositoryService.d.ts +22 -0
  188. package/dist/server/services/SkillRepositoryService.js +157 -0
  189. package/dist/server/services/WorkerEnvManager.d.ts +26 -0
  190. package/dist/server/services/WorkerEnvManager.js +120 -0
  191. package/dist/server/skill-hub/actions/git-import.d.ts +21 -0
  192. package/dist/server/skill-hub/actions/git-import.js +413 -0
  193. package/dist/server/skill-hub/mcp/McpController.d.ts +15 -0
  194. package/dist/server/skill-hub/mcp/McpController.js +111 -0
  195. package/dist/server/skill-hub/plugin.d.ts +58 -0
  196. package/dist/server/skill-hub/plugin.js +694 -0
  197. package/dist/server/skill-hub/sandbox-config.json +6 -0
  198. package/dist/server/skill-hub/tasks/SkillExecutionTask.d.ts +16 -0
  199. package/dist/server/skill-hub/tasks/SkillExecutionTask.js +389 -0
  200. package/dist/server/skill-hub/utils/json-fields.d.ts +7 -0
  201. package/dist/server/skill-hub/utils/json-fields.js +88 -0
  202. package/dist/server/tools/delegate-task.d.ts +4 -0
  203. package/dist/server/tools/delegate-task.js +606 -104
  204. package/dist/server/tools/skill-execute.d.ts +36 -0
  205. package/dist/server/tools/skill-execute.js +167 -0
  206. package/package.json +3 -1
  207. package/src/client/AIEmployeeSelect.tsx +1 -3
  208. package/src/client/AIEmployeesContext.tsx +28 -13
  209. package/src/client/OrchestratorSettings.tsx +43 -5
  210. package/src/client/RulesTab.tsx +253 -32
  211. package/src/client/TracingTab.tsx +277 -213
  212. package/src/client/index.tsx +1 -1
  213. package/src/client/plugin.tsx +54 -15
  214. package/src/client/skill-hub/components/ExecutionHistory.tsx +201 -0
  215. package/src/client/skill-hub/components/ExecutionProgress.tsx +55 -0
  216. package/src/client/skill-hub/components/GitSkillImport.tsx +555 -0
  217. package/src/client/skill-hub/components/SkillEditor.tsx +456 -0
  218. package/src/client/skill-hub/components/SkillManager.tsx +181 -0
  219. package/src/client/skill-hub/components/SkillMetrics.tsx +124 -0
  220. package/src/client/skill-hub/components/SkillTestPanel.tsx +144 -0
  221. package/src/client/skill-hub/index.tsx +75 -0
  222. package/src/client/skill-hub/locale.ts +16 -0
  223. package/src/client/skill-hub/tools/InteractionSchemasProvider.tsx +59 -0
  224. package/src/client/skill-hub/tools/SkillHubCard.tsx +78 -0
  225. package/src/client/skill-hub/utils/jsonFields.ts +37 -0
  226. package/src/server/collections/agent-execution-spans.ts +129 -0
  227. package/src/server/collections/orchestrator-config.ts +7 -0
  228. package/src/server/collections/skill-definitions.ts +128 -0
  229. package/src/server/collections/skill-executions.ts +94 -0
  230. package/src/server/collections/skill-worker-configs.ts +86 -0
  231. package/src/server/migrations/20260423000000-add-progress-fields.ts +50 -0
  232. package/src/server/migrations/20260425000000-add-interaction-schema.ts +35 -0
  233. package/src/server/migrations/20260427000000-add-tracing-detail-fields.ts +5 -5
  234. package/src/server/migrations/20260427000000-change-packages-to-text.ts +47 -0
  235. package/src/server/migrations/20260427000001-change-other-json-to-text.ts +57 -0
  236. package/src/server/migrations/20260429000000-add-llm-fields.ts +11 -2
  237. package/src/server/migrations/20260429000000-fix-inputargs-json-to-text.ts +38 -0
  238. package/src/server/migrations/20260503000000-add-orchestrator-trace-fields.ts +32 -0
  239. package/src/server/plugin.ts +94 -46
  240. package/src/server/resources/tracing.ts +182 -15
  241. package/src/server/services/CodeValidator.ts +159 -0
  242. package/src/server/services/ExecutionSpanService.ts +106 -0
  243. package/src/server/services/FileManager.ts +144 -0
  244. package/src/server/services/SandboxRunner.ts +205 -0
  245. package/src/server/services/SkillManager.ts +623 -0
  246. package/src/server/services/SkillRepositoryService.ts +142 -0
  247. package/src/server/services/WorkerEnvManager.ts +113 -0
  248. package/src/server/skill-hub/actions/git-import.ts +486 -0
  249. package/src/server/skill-hub/mcp/McpController.ts +86 -0
  250. package/src/server/skill-hub/plugin.ts +771 -0
  251. package/src/server/skill-hub/sandbox-config.json +6 -0
  252. package/src/server/skill-hub/tasks/SkillExecutionTask.ts +443 -0
  253. package/src/server/skill-hub/utils/json-fields.ts +57 -0
  254. package/src/server/tools/delegate-task.ts +803 -127
  255. package/src/server/tools/skill-execute.ts +157 -0
@@ -0,0 +1,36 @@
1
+ export declare function createSkillExecuteTool(plugin: any): {
2
+ scope: string;
3
+ execution: string;
4
+ defaultPermission: string;
5
+ introduction: {
6
+ title: string;
7
+ about: string;
8
+ };
9
+ definition: {
10
+ name: string;
11
+ description: string;
12
+ schema: {
13
+ type: string;
14
+ properties: {
15
+ action: {
16
+ type: string;
17
+ enum: string[];
18
+ description: string;
19
+ };
20
+ skillName: {
21
+ type: string;
22
+ description: string;
23
+ };
24
+ input: {
25
+ type: string;
26
+ description: string;
27
+ };
28
+ };
29
+ required: string[];
30
+ };
31
+ };
32
+ invoke(args: Record<string, any>, options?: any): Promise<{
33
+ status: string;
34
+ content: string;
35
+ }>;
36
+ };
@@ -0,0 +1,167 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __export = (target, all) => {
15
+ for (var name in all)
16
+ __defProp(target, name, { get: all[name], enumerable: true });
17
+ };
18
+ var __copyProps = (to, from, except, desc) => {
19
+ if (from && typeof from === "object" || typeof from === "function") {
20
+ for (let key of __getOwnPropNames(from))
21
+ if (!__hasOwnProp.call(to, key) && key !== except)
22
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
+ }
24
+ return to;
25
+ };
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
+ var skill_execute_exports = {};
28
+ __export(skill_execute_exports, {
29
+ createSkillExecuteTool: () => createSkillExecuteTool
30
+ });
31
+ module.exports = __toCommonJS(skill_execute_exports);
32
+ var import_json_fields = require("../skill-hub/utils/json-fields");
33
+ function createSkillExecuteTool(plugin) {
34
+ return {
35
+ scope: "CUSTOM",
36
+ execution: "backend",
37
+ defaultPermission: "ASK",
38
+ introduction: {
39
+ title: "Skill Hub - Universal Skill Executor",
40
+ about: "A universal gateway to execute predefined specialized skills (data processing, complex calculations, file generation, etc.) inside a secure Python/Node.js sandbox."
41
+ },
42
+ definition: {
43
+ name: "skill_hub_execute",
44
+ description: `A universal gateway to execute various predefined specialized skills (e.g., data transformation, calculations, document/presentation generation) in an isolated sandbox.
45
+ HOW TO USE THIS TOOL:
46
+ 1. If you don't know the exact 'skillName' or its required 'input' schema, first call this tool with { "action": "list" } to discover all available skills.
47
+ 2. For complex workflow skills, call { "action": "describe", "skillName": "<exact_skill_name>" } to load the full instructions before execution.
48
+ 3. To run a skill, call this tool with { "action": "execute", "skillName": "<exact_skill_name>", "input": { <parameters> } }.
49
+ CRITICAL: Do NOT guess or hallucinate the 'input' object. You MUST strictly provide the parameters matching the JSON schema defined for that specific skill.
50
+ The skill's output may contain text results, structured JSON data, or download URLs for generated files.
51
+ IMPORTANT: If the skill returns file download URLs, you MUST format them as clickable Markdown links (e.g., [Download filename.ext](/api/attachments/...)) in your final response to the user.`,
52
+ schema: {
53
+ type: "object",
54
+ properties: {
55
+ action: {
56
+ type: "string",
57
+ enum: ["list", "describe", "execute"],
58
+ description: '"list" to see available skills, "describe" to load full instructions, "execute" to run one'
59
+ },
60
+ skillName: {
61
+ type: "string",
62
+ description: 'Skill name (required for "execute" action)'
63
+ },
64
+ input: {
65
+ type: "object",
66
+ description: "Input parameters matching the skill inputSchema"
67
+ }
68
+ },
69
+ required: ["action"]
70
+ }
71
+ },
72
+ async invoke(args, options) {
73
+ var _a;
74
+ const ctx = options == null ? void 0 : options.context;
75
+ plugin.app.logger.info(`[skill-execute] Tool invoked with action: ${args.action}, skillName: ${args.skillName}`);
76
+ if (args.action === "list") {
77
+ const skills = await plugin.db.getRepository("skillDefinitions").find({
78
+ filter: { enabled: true },
79
+ fields: ["name", "title", "description", "language", "inputSchema", "instructions", "storageType"]
80
+ });
81
+ const skillList = skills.map((s) => ({
82
+ name: s.get("name"),
83
+ title: s.get("title"),
84
+ description: s.get("description"),
85
+ language: s.get("language"),
86
+ inputSchema: (0, import_json_fields.parseJsonText)(s.get("inputSchema"), null),
87
+ hasInstructions: !!s.get("instructions") || s.get("storageType") === "plugin",
88
+ storageType: s.get("storageType")
89
+ }));
90
+ return {
91
+ status: "success",
92
+ content: JSON.stringify({ skills: skillList })
93
+ };
94
+ }
95
+ if (args.action === "describe") {
96
+ if (!args.skillName) {
97
+ return { status: "error", content: "Missing skillName parameter" };
98
+ }
99
+ const skill = await plugin.db.getRepository("skillDefinitions").findOne({
100
+ filter: { name: args.skillName, enabled: true }
101
+ });
102
+ if (!skill) {
103
+ return {
104
+ status: "error",
105
+ content: `Skill "${args.skillName}" not found or disabled`
106
+ };
107
+ }
108
+ const instructions = typeof plugin.getSkillInstructions === "function" ? await plugin.getSkillInstructions(skill) : skill.get("instructions");
109
+ return {
110
+ status: "success",
111
+ content: JSON.stringify({
112
+ name: skill.get("name"),
113
+ title: skill.get("title"),
114
+ description: skill.get("description"),
115
+ language: skill.get("language"),
116
+ inputSchema: (0, import_json_fields.parseJsonText)(skill.get("inputSchema"), null),
117
+ packages: (0, import_json_fields.parseJsonText)(skill.get("packages"), []),
118
+ storageType: skill.get("storageType"),
119
+ storageUrl: skill.get("storageUrl"),
120
+ instructions
121
+ })
122
+ };
123
+ }
124
+ if (args.action === "execute") {
125
+ if (!args.skillName) {
126
+ return { status: "error", content: "Missing skillName parameter" };
127
+ }
128
+ const skill = await plugin.db.getRepository("skillDefinitions").findOne({
129
+ filter: { name: args.skillName, enabled: true }
130
+ });
131
+ if (!skill) {
132
+ return {
133
+ status: "error",
134
+ content: `Skill "${args.skillName}" not found or disabled`
135
+ };
136
+ }
137
+ try {
138
+ const result = await plugin.executeSkill(skill, args.input || {}, ctx);
139
+ return {
140
+ status: result.status === "succeeded" ? "success" : "error",
141
+ content: JSON.stringify({
142
+ message: result.status === "succeeded" ? `Executed successfully. ${((_a = result.files) == null ? void 0 : _a.length) || 0} file(s) generated.` : `Failed: ${result.stderr}`,
143
+ stdout: result.stdout,
144
+ stderr: result.stderr,
145
+ files: result.files,
146
+ execId: result.execId,
147
+ durationMs: result.durationMs
148
+ })
149
+ };
150
+ } catch (error) {
151
+ return {
152
+ status: "error",
153
+ content: `Execution error: ${error instanceof Error ? error.message : String(error)}`
154
+ };
155
+ }
156
+ }
157
+ return {
158
+ status: "error",
159
+ content: `Unknown action "${args.action}". Use "list", "describe", or "execute".`
160
+ };
161
+ }
162
+ };
163
+ }
164
+ // Annotate the CommonJS export names for ESM import in node:
165
+ 0 && (module.exports = {
166
+ createSkillExecuteTool
167
+ });
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "displayName.zh-CN": "代理协调器",
5
5
  "displayName.vi-VN": "Điều phối Agent",
6
6
  "description": "Hierarchical Multi-Agent orchestration for NocoBase AI Employees. Enables Leader agents to delegate tasks to Sub-Agent employees without modifying core plugin-ai.",
7
- "version": "1.0.13",
7
+ "version": "1.0.15",
8
8
  "license": "Apache-2.0",
9
9
  "main": "dist/server/index.js",
10
10
  "keywords": [
@@ -31,6 +31,8 @@
31
31
  "dependencies": {
32
32
  "@langchain/core": "^0.3.0",
33
33
  "@langchain/langgraph": "^0.2.0",
34
+ "adm-zip": "^0.5.10",
35
+ "simple-git": "^3.22.0",
34
36
  "zod": "^3.23.0"
35
37
  },
36
38
  "peerDependencies": {
@@ -39,9 +39,7 @@ export const AIEmployeeSelect: React.FC<{
39
39
  optionRender={(option) => (
40
40
  <div>
41
41
  <div style={{ fontWeight: 500 }}>{option.label}</div>
42
- {option.data.description && (
43
- <div style={{ fontSize: 12, color: '#888' }}>{option.data.description}</div>
44
- )}
42
+ {option.data.description && <div style={{ fontSize: 12, color: '#888' }}>{option.data.description}</div>}
45
43
  </div>
46
44
  )}
47
45
  />
@@ -5,51 +5,66 @@ interface AIEmployeeInfo {
5
5
  username: string;
6
6
  nickname: string;
7
7
  about?: string;
8
+ skills: string[];
8
9
  }
9
10
 
10
11
  interface AIEmployeesContextType {
11
12
  employees: AIEmployeeInfo[];
12
13
  employeeMap: Map<string, string>;
14
+ skillsMap: Map<string, Set<string>>;
13
15
  loading: boolean;
16
+ refresh: () => void;
14
17
  }
15
18
 
16
19
  const AIEmployeesContext = createContext<AIEmployeesContextType>({
17
20
  employees: [],
18
21
  employeeMap: new Map(),
22
+ skillsMap: new Map(),
19
23
  loading: false,
24
+ refresh: () => {},
20
25
  });
21
26
 
22
27
  /**
23
28
  * P3 FIX: Shared context provider that fetches aiEmployees once
24
29
  * and shares the data across RulesTab, TracingTab, and AIEmployeeSelect.
30
+ *
31
+ * Also exposes each employee's configured skills so RulesTab can warn when
32
+ * a delegation rule exists but the leader hasn't added the corresponding
33
+ * delegate_<leader>_to_<sub> tool to its skillSettings.
25
34
  */
26
35
  export const AIEmployeesProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
27
- const { data, loading } = useRequest({
36
+ const { data, loading, refresh } = useRequest({
28
37
  url: 'aiEmployees:list',
29
38
  params: { pageSize: 200 },
30
39
  });
31
40
 
32
41
  const value = React.useMemo(() => {
33
42
  const rawEmployees = (data as any)?.data || [];
34
- const employees: AIEmployeeInfo[] = rawEmployees.map((emp: any) => ({
35
- username: emp.username,
36
- nickname: emp.nickname || emp.username,
37
- about: emp.about?.substring(0, 80),
38
- }));
43
+ const employees: AIEmployeeInfo[] = rawEmployees.map((emp: any) => {
44
+ const skills = Array.isArray(emp.skillSettings?.skills)
45
+ ? emp.skillSettings.skills
46
+ .map((s: any) => (typeof s === 'string' ? s : s?.name))
47
+ .filter((name: any): name is string => typeof name === 'string' && name.length > 0)
48
+ : [];
49
+ return {
50
+ username: emp.username,
51
+ nickname: emp.nickname || emp.username,
52
+ about: emp.about?.substring(0, 80),
53
+ skills,
54
+ };
55
+ });
39
56
 
40
57
  const employeeMap = new Map<string, string>();
58
+ const skillsMap = new Map<string, Set<string>>();
41
59
  for (const emp of employees) {
42
60
  employeeMap.set(emp.username, emp.nickname);
61
+ skillsMap.set(emp.username, new Set(emp.skills));
43
62
  }
44
63
 
45
- return { employees, employeeMap, loading };
46
- }, [data, loading]);
64
+ return { employees, employeeMap, skillsMap, loading, refresh };
65
+ }, [data, loading, refresh]);
47
66
 
48
- return (
49
- <AIEmployeesContext.Provider value={value}>
50
- {children}
51
- </AIEmployeesContext.Provider>
52
- );
67
+ return <AIEmployeesContext.Provider value={value}>{children}</AIEmployeesContext.Provider>;
53
68
  };
54
69
 
55
70
  /**
@@ -1,30 +1,68 @@
1
1
  import React from 'react';
2
2
  import { Tabs } from 'antd';
3
- import { ApartmentOutlined, MonitorOutlined } from '@ant-design/icons';
3
+ import { ApartmentOutlined, BarChartOutlined, CodeOutlined, HistoryOutlined, MonitorOutlined } from '@ant-design/icons';
4
4
  import { RulesTab } from './RulesTab';
5
5
  import { TracingTab } from './TracingTab';
6
6
  import { AIEmployeesProvider } from './AIEmployeesContext';
7
+ import { SkillManager, ExecutionHistory, SkillMetrics } from './skill-hub';
7
8
 
8
- export const OrchestratorSettings: React.FC = () => {
9
+ const OrchestratorSettings: React.FC = () => {
9
10
  return (
10
11
  <AIEmployeesProvider>
11
12
  <div style={{ padding: '0 24px 24px' }}>
12
- <Tabs
13
+ <Tabs
13
14
  defaultActiveKey="rules"
14
15
  items={[
15
16
  {
16
17
  key: 'rules',
17
- label: <span><ApartmentOutlined /> Orchestration Rules</span>,
18
+ label: (
19
+ <span>
20
+ <ApartmentOutlined /> Orchestration Rules
21
+ </span>
22
+ ),
18
23
  children: <RulesTab />,
19
24
  },
20
25
  {
21
26
  key: 'tracing',
22
- label: <span><MonitorOutlined /> Swarm Tracing</span>,
27
+ label: (
28
+ <span>
29
+ <MonitorOutlined /> Execution Tracing
30
+ </span>
31
+ ),
23
32
  children: <TracingTab />,
24
33
  },
34
+ {
35
+ key: 'skill-definitions',
36
+ label: (
37
+ <span>
38
+ <CodeOutlined /> Skill Hub Definitions
39
+ </span>
40
+ ),
41
+ children: <SkillManager />,
42
+ },
43
+ {
44
+ key: 'skill-executions',
45
+ label: (
46
+ <span>
47
+ <HistoryOutlined /> Execution History
48
+ </span>
49
+ ),
50
+ children: <ExecutionHistory />,
51
+ },
52
+ {
53
+ key: 'skill-metrics',
54
+ label: (
55
+ <span>
56
+ <BarChartOutlined /> Metrics
57
+ </span>
58
+ ),
59
+ children: <SkillMetrics />,
60
+ },
25
61
  ]}
26
62
  />
27
63
  </div>
28
64
  </AIEmployeesProvider>
29
65
  );
30
66
  };
67
+
68
+ export { OrchestratorSettings };