@hongmaple0820/scale-engine 0.7.1 → 0.8.0

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 (209) hide show
  1. package/README.md +31 -5
  2. package/dist/adapters/ClaudeCodeAdapter.js +5 -3
  3. package/dist/adapters/ClaudeCodeAdapter.js.map +1 -1
  4. package/dist/adapters/CodexAdapter.js +5 -3
  5. package/dist/adapters/CodexAdapter.js.map +1 -1
  6. package/dist/adapters/CursorAdapter.js +5 -3
  7. package/dist/adapters/CursorAdapter.js.map +1 -1
  8. package/dist/adapters/GeminiAdapter.js +5 -3
  9. package/dist/adapters/GeminiAdapter.js.map +1 -1
  10. package/dist/adapters/HermesAdapter.js +5 -3
  11. package/dist/adapters/HermesAdapter.js.map +1 -1
  12. package/dist/adapters/OpenClawAdapter.js +5 -3
  13. package/dist/adapters/OpenClawAdapter.js.map +1 -1
  14. package/dist/adapters/OpenCodeAdapter.js +5 -3
  15. package/dist/adapters/OpenCodeAdapter.js.map +1 -1
  16. package/dist/adapters/QCoderAdapter.js +5 -3
  17. package/dist/adapters/QCoderAdapter.js.map +1 -1
  18. package/dist/adapters/TraeAdapter.js +5 -3
  19. package/dist/adapters/TraeAdapter.js.map +1 -1
  20. package/dist/adapters/VSCAdapter.js +5 -3
  21. package/dist/adapters/VSCAdapter.js.map +1 -1
  22. package/dist/adapters/WorkBuddyAdapter.js +5 -3
  23. package/dist/adapters/WorkBuddyAdapter.js.map +1 -1
  24. package/dist/agents/AgentChannel.d.ts +43 -0
  25. package/dist/agents/AgentChannel.js +136 -0
  26. package/dist/agents/AgentChannel.js.map +1 -0
  27. package/dist/agents/AgentCoordinator.d.ts +29 -0
  28. package/dist/agents/AgentCoordinator.js +136 -0
  29. package/dist/agents/AgentCoordinator.js.map +1 -0
  30. package/dist/agents/AgentDispatcher.d.ts +24 -0
  31. package/dist/agents/AgentDispatcher.js +112 -0
  32. package/dist/agents/AgentDispatcher.js.map +1 -0
  33. package/dist/agents/AgentManager.d.ts +14 -0
  34. package/dist/agents/AgentManager.js +85 -0
  35. package/dist/agents/AgentManager.js.map +1 -0
  36. package/dist/agents/AgentPool.d.ts +59 -0
  37. package/dist/agents/AgentPool.js +192 -0
  38. package/dist/agents/AgentPool.js.map +1 -0
  39. package/dist/agents/AgentRegistry.d.ts +20 -0
  40. package/dist/agents/AgentRegistry.js +36 -0
  41. package/dist/agents/AgentRegistry.js.map +1 -0
  42. package/dist/agents/AgentSourceLoader.d.ts +73 -0
  43. package/dist/agents/AgentSourceLoader.js +101 -0
  44. package/dist/agents/AgentSourceLoader.js.map +1 -0
  45. package/dist/agents/IAgent.d.ts +53 -0
  46. package/dist/agents/IAgent.js +4 -0
  47. package/dist/agents/IAgent.js.map +1 -0
  48. package/dist/agents/definitions/debugger.d.ts +2 -0
  49. package/dist/agents/definitions/debugger.js +6 -0
  50. package/dist/agents/definitions/debugger.js.map +1 -0
  51. package/dist/agents/definitions/doc-writer.d.ts +2 -0
  52. package/dist/agents/definitions/doc-writer.js +6 -0
  53. package/dist/agents/definitions/doc-writer.js.map +1 -0
  54. package/dist/agents/definitions/implementer.d.ts +2 -0
  55. package/dist/agents/definitions/implementer.js +6 -0
  56. package/dist/agents/definitions/implementer.js.map +1 -0
  57. package/dist/agents/definitions/planner.d.ts +2 -0
  58. package/dist/agents/definitions/planner.js +6 -0
  59. package/dist/agents/definitions/planner.js.map +1 -0
  60. package/dist/agents/definitions/researcher.d.ts +2 -0
  61. package/dist/agents/definitions/researcher.js +6 -0
  62. package/dist/agents/definitions/researcher.js.map +1 -0
  63. package/dist/agents/definitions/reviewer.d.ts +2 -0
  64. package/dist/agents/definitions/reviewer.js +6 -0
  65. package/dist/agents/definitions/reviewer.js.map +1 -0
  66. package/dist/agents/definitions/security.d.ts +2 -0
  67. package/dist/agents/definitions/security.js +6 -0
  68. package/dist/agents/definitions/security.js.map +1 -0
  69. package/dist/agents/definitions/tester.d.ts +2 -0
  70. package/dist/agents/definitions/tester.js +6 -0
  71. package/dist/agents/definitions/tester.js.map +1 -0
  72. package/dist/agents/index.d.ts +23 -0
  73. package/dist/agents/index.js +44 -0
  74. package/dist/agents/index.js.map +1 -0
  75. package/dist/agents/profiles.d.ts +26 -0
  76. package/dist/agents/profiles.js +197 -0
  77. package/dist/agents/profiles.js.map +1 -0
  78. package/dist/agents/types.d.ts +262 -0
  79. package/dist/agents/types.js +4 -0
  80. package/dist/agents/types.js.map +1 -0
  81. package/dist/api/cli.js +121 -3
  82. package/dist/api/cli.js.map +1 -1
  83. package/dist/api/doctor.js +0 -2
  84. package/dist/api/doctor.js.map +1 -1
  85. package/dist/api/mcp.js +0 -5
  86. package/dist/api/mcp.js.map +1 -1
  87. package/dist/artifact/fsm.js +3 -5
  88. package/dist/artifact/fsm.js.map +1 -1
  89. package/dist/artifact/sqliteStore.js +1 -14
  90. package/dist/artifact/sqliteStore.js.map +1 -1
  91. package/dist/artifact/store.js +2 -4
  92. package/dist/artifact/store.js.map +1 -1
  93. package/dist/artifact/types.d.ts +94 -1
  94. package/dist/artifact/types.js +0 -3
  95. package/dist/artifact/types.js.map +1 -1
  96. package/dist/context/AntiPatternRegistry.d.ts +38 -0
  97. package/dist/context/AntiPatternRegistry.js +203 -0
  98. package/dist/context/AntiPatternRegistry.js.map +1 -0
  99. package/dist/context/CavemanCompressor.d.ts +20 -0
  100. package/dist/context/CavemanCompressor.js +14 -0
  101. package/dist/context/CavemanCompressor.js.map +1 -0
  102. package/dist/context/ContextBuilder.js +132 -4
  103. package/dist/context/ContextBuilder.js.map +1 -1
  104. package/dist/context/SessionStartSequence.d.ts +54 -0
  105. package/dist/context/SessionStartSequence.js +153 -0
  106. package/dist/context/SessionStartSequence.js.map +1 -0
  107. package/dist/core/container.js +4 -2
  108. package/dist/core/container.js.map +1 -1
  109. package/dist/core/eventBus.js +5 -6
  110. package/dist/core/eventBus.js.map +1 -1
  111. package/dist/dashboard/DashboardServer.d.ts +17 -0
  112. package/dist/dashboard/DashboardServer.js +53 -7
  113. package/dist/dashboard/DashboardServer.js.map +1 -1
  114. package/dist/dashboard/index.d.ts +2 -0
  115. package/dist/dashboard/index.js +2 -0
  116. package/dist/dashboard/index.js.map +1 -0
  117. package/dist/dashboard/server.d.ts +52 -0
  118. package/dist/dashboard/server.js +83 -0
  119. package/dist/dashboard/server.js.map +1 -0
  120. package/dist/evolution/AutoDefectCreator.js +2 -4
  121. package/dist/evolution/AutoDefectCreator.js.map +1 -1
  122. package/dist/evolution/BehaviorTracker.js +3 -5
  123. package/dist/evolution/BehaviorTracker.js.map +1 -1
  124. package/dist/evolution/EvolutionEngine.js +3 -14
  125. package/dist/evolution/EvolutionEngine.js.map +1 -1
  126. package/dist/evolution/EvolutionEvaluator.js +1 -4
  127. package/dist/evolution/EvolutionEvaluator.js.map +1 -1
  128. package/dist/evolution/LessonValidator.js +0 -4
  129. package/dist/evolution/LessonValidator.js.map +1 -1
  130. package/dist/evolution/PatternExtractor.d.ts +40 -0
  131. package/dist/evolution/PatternExtractor.js +83 -0
  132. package/dist/evolution/PatternExtractor.js.map +1 -0
  133. package/dist/evolution/SkillCreator.d.ts +75 -0
  134. package/dist/evolution/SkillCreator.js +219 -0
  135. package/dist/evolution/SkillCreator.js.map +1 -0
  136. package/dist/fsm/FSMAgentBridge.js +11 -13
  137. package/dist/fsm/FSMAgentBridge.js.map +1 -1
  138. package/dist/guardrails/DetectorEnhanced.js +32 -30
  139. package/dist/guardrails/DetectorEnhanced.js.map +1 -1
  140. package/dist/guardrails/GateEvaluator.d.ts +18 -0
  141. package/dist/guardrails/GateEvaluator.js +129 -0
  142. package/dist/guardrails/GateEvaluator.js.map +1 -0
  143. package/dist/guardrails/Gateway.js +6 -7
  144. package/dist/guardrails/Gateway.js.map +1 -1
  145. package/dist/guardrails/ReviewEnforcer.d.ts +52 -0
  146. package/dist/guardrails/ReviewEnforcer.js +117 -0
  147. package/dist/guardrails/ReviewEnforcer.js.map +1 -0
  148. package/dist/guardrails/advancedDetectors.js +33 -31
  149. package/dist/guardrails/advancedDetectors.js.map +1 -1
  150. package/dist/guardrails/detectors.js +76 -16
  151. package/dist/guardrails/detectors.js.map +1 -1
  152. package/dist/hooks/HookDeployer.js +2 -3
  153. package/dist/hooks/HookDeployer.js.map +1 -1
  154. package/dist/hooks/HookGeneratorEnhanced.js +2 -3
  155. package/dist/hooks/HookGeneratorEnhanced.js.map +1 -1
  156. package/dist/index.d.ts +20 -2
  157. package/dist/index.js +19 -2
  158. package/dist/index.js.map +1 -1
  159. package/dist/knowledge/KnowledgeBase.d.ts +26 -0
  160. package/dist/knowledge/KnowledgeBase.js +109 -8
  161. package/dist/knowledge/KnowledgeBase.js.map +1 -1
  162. package/dist/knowledge/SQLiteKnowledgeBase.js +1 -3
  163. package/dist/knowledge/SQLiteKnowledgeBase.js.map +1 -1
  164. package/dist/knowledge/UbiquitousLanguageManager.d.ts +49 -0
  165. package/dist/knowledge/UbiquitousLanguageManager.js +133 -0
  166. package/dist/knowledge/UbiquitousLanguageManager.js.map +1 -0
  167. package/dist/routing/ModelRouter.js +0 -2
  168. package/dist/routing/ModelRouter.js.map +1 -1
  169. package/dist/skills/ExternalSkills.d.ts +3 -0
  170. package/dist/skills/ExternalSkills.js +20 -0
  171. package/dist/skills/ExternalSkills.js.map +1 -0
  172. package/dist/skills/GrillingSessionSkill.d.ts +65 -0
  173. package/dist/skills/GrillingSessionSkill.js +113 -0
  174. package/dist/skills/GrillingSessionSkill.js.map +1 -0
  175. package/dist/skills/GrillingTemplates.d.ts +7 -0
  176. package/dist/skills/GrillingTemplates.js +38 -0
  177. package/dist/skills/GrillingTemplates.js.map +1 -0
  178. package/dist/skills/SkillDiscovery.d.ts +45 -20
  179. package/dist/skills/SkillDiscovery.js +201 -117
  180. package/dist/skills/SkillDiscovery.js.map +1 -1
  181. package/dist/skills/SkillExecutor.js +1 -3
  182. package/dist/skills/SkillExecutor.js.map +1 -1
  183. package/dist/skills/SkillInstaller.d.ts +40 -0
  184. package/dist/skills/SkillInstaller.js +112 -0
  185. package/dist/skills/SkillInstaller.js.map +1 -0
  186. package/dist/skills/SkillRegistry.js +1 -2
  187. package/dist/skills/SkillRegistry.js.map +1 -1
  188. package/dist/skills/TriggerEngine.js +3 -5
  189. package/dist/skills/TriggerEngine.js.map +1 -1
  190. package/dist/skills/index.d.ts +3 -0
  191. package/dist/skills/index.js +3 -0
  192. package/dist/skills/index.js.map +1 -1
  193. package/dist/tasks/IssueTriageFSM.d.ts +26 -0
  194. package/dist/tasks/IssueTriageFSM.js +107 -0
  195. package/dist/tasks/IssueTriageFSM.js.map +1 -0
  196. package/dist/tasks/TaskEngine.js +1 -5
  197. package/dist/tasks/TaskEngine.js.map +1 -1
  198. package/dist/workflows/DAGBuilder.d.ts +52 -0
  199. package/dist/workflows/DAGBuilder.js +169 -0
  200. package/dist/workflows/DAGBuilder.js.map +1 -0
  201. package/dist/workflows/WorkflowExecutor.js +2 -4
  202. package/dist/workflows/WorkflowExecutor.js.map +1 -1
  203. package/dist/workflows/WorkflowOrchestrator.d.ts +48 -0
  204. package/dist/workflows/WorkflowOrchestrator.js +181 -0
  205. package/dist/workflows/WorkflowOrchestrator.js.map +1 -0
  206. package/dist/workflows/index.d.ts +2 -4
  207. package/dist/workflows/index.js +4 -4
  208. package/dist/workflows/index.js.map +1 -1
  209. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tester.js","sourceRoot":"","sources":["../../../src/agents/definitions/tester.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,YAAY,GAAoB;IAC3C,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe;IAC1D,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACzG,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC5G,CAAA"}
@@ -0,0 +1,23 @@
1
+ export type { IAgentManager, IAgent, AgentDefinition, AgentTaskContext, AgentResult, AgentCapability, } from './IAgent.js';
2
+ export { AGENT_MANAGER_TOKEN } from './IAgent.js';
3
+ export { AgentManager, initializeAgentManager } from './AgentManager.js';
4
+ export { PLANNER_AGENT } from './definitions/planner.js';
5
+ export { RESEARCHER_AGENT } from './definitions/researcher.js';
6
+ export { IMPLEMENTER_AGENT } from './definitions/implementer.js';
7
+ export { REVIEWER_AGENT } from './definitions/reviewer.js';
8
+ export { TESTER_AGENT } from './definitions/tester.js';
9
+ export { SECURITY_AGENT } from './definitions/security.js';
10
+ export { DEBUGGER_AGENT } from './definitions/debugger.js';
11
+ export { DOC_WRITER_AGENT } from './definitions/doc-writer.js';
12
+ import type { AgentDefinition } from './IAgent.js';
13
+ export declare const ALL_AGENTS: AgentDefinition[];
14
+ import type { AgentManager } from './AgentManager.js';
15
+ export declare function registerAllAgents(manager: AgentManager): void;
16
+ export * from './types.js';
17
+ export * from './profiles.js';
18
+ export { AgentRegistry, DEFAULT_REGISTRY, type IAgentRegistry } from './AgentRegistry.js';
19
+ export { AgentPool, type IAgentPool } from './AgentPool.js';
20
+ export { AgentDispatcher, type IAgentDispatcher } from './AgentDispatcher.js';
21
+ export { AgentChannel, type IAgentChannel } from './AgentChannel.js';
22
+ export { AgentCoordinator, type IAgentCoordinator } from './AgentCoordinator.js';
23
+ export { AgentSourceLoader, type IAgentSourceLoader, type YAMLAgentDefinition, defaultAgentSourceLoader, loadAgentsFromDirectory, loadAgentFromFile, exportProfileToYAML } from './AgentSourceLoader.js';
@@ -0,0 +1,44 @@
1
+ // SCALE Engine — Agent System
2
+ // 旧 Agent 系统 + 新 Multi-Agent 协作系统共存
3
+ export { AGENT_MANAGER_TOKEN } from './IAgent.js';
4
+ export { AgentManager, initializeAgentManager } from './AgentManager.js';
5
+ export { PLANNER_AGENT } from './definitions/planner.js';
6
+ export { RESEARCHER_AGENT } from './definitions/researcher.js';
7
+ export { IMPLEMENTER_AGENT } from './definitions/implementer.js';
8
+ export { REVIEWER_AGENT } from './definitions/reviewer.js';
9
+ export { TESTER_AGENT } from './definitions/tester.js';
10
+ export { SECURITY_AGENT } from './definitions/security.js';
11
+ export { DEBUGGER_AGENT } from './definitions/debugger.js';
12
+ export { DOC_WRITER_AGENT } from './definitions/doc-writer.js';
13
+ import { PLANNER_AGENT } from './definitions/planner.js';
14
+ import { RESEARCHER_AGENT } from './definitions/researcher.js';
15
+ import { IMPLEMENTER_AGENT } from './definitions/implementer.js';
16
+ import { REVIEWER_AGENT } from './definitions/reviewer.js';
17
+ import { TESTER_AGENT } from './definitions/tester.js';
18
+ import { SECURITY_AGENT } from './definitions/security.js';
19
+ import { DEBUGGER_AGENT } from './definitions/debugger.js';
20
+ import { DOC_WRITER_AGENT } from './definitions/doc-writer.js';
21
+ export const ALL_AGENTS = [
22
+ PLANNER_AGENT,
23
+ RESEARCHER_AGENT,
24
+ IMPLEMENTER_AGENT,
25
+ REVIEWER_AGENT,
26
+ TESTER_AGENT,
27
+ SECURITY_AGENT,
28
+ DEBUGGER_AGENT,
29
+ DOC_WRITER_AGENT,
30
+ ];
31
+ export function registerAllAgents(manager) {
32
+ for (const def of ALL_AGENTS)
33
+ manager.register(def);
34
+ }
35
+ // ===== 新 Multi-Agent 协作系统(团队协作)=====
36
+ export * from './types.js';
37
+ export * from './profiles.js';
38
+ export { AgentRegistry, DEFAULT_REGISTRY } from './AgentRegistry.js';
39
+ export { AgentPool } from './AgentPool.js';
40
+ export { AgentDispatcher } from './AgentDispatcher.js';
41
+ export { AgentChannel } from './AgentChannel.js';
42
+ export { AgentCoordinator } from './AgentCoordinator.js';
43
+ export { AgentSourceLoader, defaultAgentSourceLoader, loadAgentsFromDirectory, loadAgentFromFile, exportProfileToYAML } from './AgentSourceLoader.js';
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,oCAAoC;AAYpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAExE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAI9D,MAAM,CAAC,MAAM,UAAU,GAAsB;IAC3C,aAAa;IACb,gBAAgB;IAChB,iBAAiB;IACjB,cAAc;IACd,YAAY;IACZ,cAAc;IACd,cAAc;IACd,gBAAgB;CACjB,CAAA;AAID,MAAM,UAAU,iBAAiB,CAAC,OAAqB;IACrD,KAAK,MAAM,GAAG,IAAI,UAAU;QAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACrD,CAAC;AAED,sCAAsC;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAuB,MAAM,oBAAoB,CAAA;AACzF,OAAO,EAAE,SAAS,EAAmB,MAAM,gBAAgB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAyB,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAA0B,MAAM,uBAAuB,CAAA;AAChF,OAAO,EAAE,iBAAiB,EAAqD,wBAAwB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA"}
@@ -0,0 +1,26 @@
1
+ import type { AgentProfile } from './types.js';
2
+ export declare const PROFESSIONAL_AGENTS: AgentProfile[];
3
+ export declare class AgentProfileRegistry {
4
+ private profiles;
5
+ constructor();
6
+ /** 获取 Profile */
7
+ get(id: string): AgentProfile | undefined;
8
+ /** 获取所有 Profiles */
9
+ listAll(): AgentProfile[];
10
+ /** 按 Domain 筛选 */
11
+ findByDomain(domain: string): AgentProfile[];
12
+ /** 按能力标签筛选 */
13
+ findByCapability(capability: string): AgentProfile[];
14
+ /** 注册自定义 Profile */
15
+ register(profile: AgentProfile): void;
16
+ }
17
+ /** 默认 Registry 实例 */
18
+ export declare const defaultProfileRegistry: AgentProfileRegistry;
19
+ /** 获取单个 Profile */
20
+ export declare function getProfile(id: string): AgentProfile | undefined;
21
+ /** 按 Domain 获取 Profiles */
22
+ export declare function getProfilesByDomain(domain: string): AgentProfile[];
23
+ /** 按 Role 获取 Profiles */
24
+ export declare function getProfilesByRole(role: string): AgentProfile[];
25
+ /** 列出所有 Profile IDs */
26
+ export declare function listProfiles(): string[];
@@ -0,0 +1,197 @@
1
+ // SCALE Engine — Predefined Agent Profiles (v0.8.0)
2
+ // 12 个专业 Agent Profile 定义
3
+ // ============================================================================
4
+ // 12 个预定义 Professional Agent Profiles
5
+ // ============================================================================
6
+ export const PROFESSIONAL_AGENTS = [
7
+ {
8
+ id: 'frontend-agent',
9
+ name: 'Frontend Developer',
10
+ domain: 'frontend',
11
+ inheritsRole: 'Implementer',
12
+ capabilities: ['react', 'vue', 'css', 'animation', 'accessibility', 'typescript'],
13
+ preferredModel: 'balanced',
14
+ outputFormat: { fileTypes: ['.tsx', '.css', '.html'], style: 'component-based' },
15
+ collaboration: { reportsTo: 'backend-agent', sharesWith: ['ui-design-agent', 'test-agent'] },
16
+ description: 'UI/UX implementation, React/Vue components, CSS styling'
17
+ },
18
+ {
19
+ id: 'backend-agent',
20
+ name: 'Backend Developer',
21
+ domain: 'backend',
22
+ inheritsRole: 'Implementer',
23
+ capabilities: ['api', 'database', 'auth', 'performance', 'caching', 'sql'],
24
+ preferredModel: 'balanced',
25
+ outputFormat: { fileTypes: ['.ts', '.sql', '.json'], style: 'layered-architecture' },
26
+ collaboration: { reportsTo: 'frontend-agent', sharesWith: ['test-agent', 'ops-agent'] },
27
+ description: 'API design, database operations, authentication, performance optimization'
28
+ },
29
+ {
30
+ id: 'test-agent',
31
+ name: 'Test Engineer',
32
+ domain: 'testing',
33
+ inheritsRole: 'Verifier',
34
+ capabilities: ['tdd', 'e2e', 'mocking', 'coverage', 'playwright', 'vitest'],
35
+ preferredModel: 'fast',
36
+ outputFormat: { fileTypes: ['.test.ts', '.spec.ts'], style: 'aaa-pattern' },
37
+ collaboration: { sharesWith: ['frontend-agent', 'backend-agent'] },
38
+ description: 'TDD workflow, E2E testing, test coverage, mocking strategies'
39
+ },
40
+ {
41
+ id: 'ui-design-agent',
42
+ name: 'UI/UX Designer',
43
+ domain: 'ui-design',
44
+ inheritsRole: 'SpecWriter',
45
+ capabilities: ['visual-design', 'accessibility', 'ux', 'responsive', 'animation', 'figma'],
46
+ preferredModel: 'powerful',
47
+ outputFormat: { fileTypes: ['.md', '.css'], style: 'design-spec' },
48
+ collaboration: { reportsTo: 'frontend-agent', sharesWith: ['product-agent'] },
49
+ description: 'Visual design, accessibility compliance, UX patterns, responsive layouts'
50
+ },
51
+ {
52
+ id: 'ops-agent',
53
+ name: 'DevOps Engineer',
54
+ domain: 'operations',
55
+ inheritsRole: 'Releaser',
56
+ capabilities: ['deploy', 'cicd', 'monitoring', 'docker', 'k8s', 'terraform'],
57
+ preferredModel: 'fast',
58
+ outputFormat: { fileTypes: ['.yaml', '.sh', '.dockerfile', '.tf'], style: 'automation' },
59
+ collaboration: { reportsTo: 'backend-agent', sharesWith: ['security-agent'] },
60
+ description: 'Deployment, CI/CD pipelines, monitoring, Docker/Kubernetes'
61
+ },
62
+ {
63
+ id: 'product-agent',
64
+ name: 'Product Manager',
65
+ domain: 'product',
66
+ inheritsRole: 'SpecWriter',
67
+ capabilities: ['requirements', 'user-story', 'analytics', 'roadmap', 'prioritization'],
68
+ preferredModel: 'powerful',
69
+ outputFormat: { fileTypes: ['.md'], style: 'user-centric' },
70
+ collaboration: { sharesWith: ['ui-design-agent', 'architect-agent'] },
71
+ description: 'Requirements gathering, user stories, analytics, roadmap planning'
72
+ },
73
+ {
74
+ id: 'code-review-agent',
75
+ name: 'Code Reviewer',
76
+ domain: 'code-review',
77
+ inheritsRole: 'Verifier',
78
+ capabilities: ['quality', 'security', 'patterns', 'best-practices', 'clean-code'],
79
+ preferredModel: 'powerful',
80
+ outputFormat: { fileTypes: ['.md'], style: 'review-report' },
81
+ collaboration: { sharesWith: ['test-agent', 'security-agent'] },
82
+ description: 'Code quality review, security analysis, pattern enforcement'
83
+ },
84
+ {
85
+ id: 'security-agent',
86
+ name: 'Security Specialist',
87
+ domain: 'security',
88
+ inheritsRole: 'Verifier',
89
+ capabilities: ['owasp', 'auth', 'crypto', 'compliance', 'audit', 'penetration-testing'],
90
+ preferredModel: 'powerful',
91
+ outputFormat: { fileTypes: ['.md', '.yaml'], style: 'security-report' },
92
+ collaboration: { sharesWith: ['code-review-agent', 'ops-agent'] },
93
+ description: 'OWASP compliance, authentication, cryptography, security audit'
94
+ },
95
+ // ===== 新增 4 个 Agent =====
96
+ {
97
+ id: 'database-agent',
98
+ name: 'Database Specialist',
99
+ domain: 'database',
100
+ inheritsRole: 'Implementer',
101
+ capabilities: ['migration', 'schema-design', 'sql-optimization', 'indexing', 'backup-recovery'],
102
+ preferredModel: 'balanced',
103
+ outputFormat: { fileTypes: ['.sql', '.ts'], style: 'migration-script' },
104
+ collaboration: { reportsTo: 'backend-agent', sharesWith: ['ops-agent'] },
105
+ description: 'Database migrations, schema design, query optimization'
106
+ },
107
+ {
108
+ id: 'performance-agent',
109
+ name: 'Performance Engineer',
110
+ domain: 'performance',
111
+ inheritsRole: 'Verifier',
112
+ capabilities: ['profiling', 'benchmarking', 'optimization', 'caching', 'load-testing'],
113
+ preferredModel: 'powerful',
114
+ outputFormat: { fileTypes: ['.md', '.ts'], style: 'performance-report' },
115
+ collaboration: { sharesWith: ['frontend-agent', 'backend-agent', 'database-agent'] },
116
+ description: 'Performance profiling, benchmarking, optimization strategies'
117
+ },
118
+ {
119
+ id: 'docs-agent',
120
+ name: 'Documentation Specialist',
121
+ domain: 'documentation',
122
+ inheritsRole: 'SpecWriter',
123
+ capabilities: ['api-docs', 'user-guide', 'technical-writing', 'diagrams', 'examples'],
124
+ preferredModel: 'fast',
125
+ outputFormat: { fileTypes: ['.md', '.mdx'], style: 'documentation' },
126
+ collaboration: { sharesWith: ['product-agent', 'architect-agent'] },
127
+ description: 'API documentation, user guides, technical writing'
128
+ },
129
+ {
130
+ id: 'architect-agent',
131
+ name: 'Software Architect',
132
+ domain: 'architecture',
133
+ inheritsRole: 'Planner',
134
+ capabilities: ['system-design', 'microservices', 'patterns', 'scalability', 'trade-offs'],
135
+ preferredModel: 'powerful',
136
+ outputFormat: { fileTypes: ['.md', '.yaml'], style: 'architecture-spec' },
137
+ collaboration: { sharesWith: ['product-agent', 'backend-agent', 'frontend-agent'] },
138
+ description: 'System architecture design, scalability planning, pattern selection'
139
+ }
140
+ ];
141
+ // ============================================================================
142
+ // Profile Registry
143
+ // ============================================================================
144
+ export class AgentProfileRegistry {
145
+ constructor() {
146
+ this.profiles = new Map();
147
+ // 注册预定义 Profiles
148
+ for (const profile of PROFESSIONAL_AGENTS) {
149
+ this.profiles.set(profile.id, profile);
150
+ }
151
+ }
152
+ /** 获取 Profile */
153
+ get(id) {
154
+ return this.profiles.get(id);
155
+ }
156
+ /** 获取所有 Profiles */
157
+ listAll() {
158
+ return Array.from(this.profiles.values());
159
+ }
160
+ /** 按 Domain 筛选 */
161
+ findByDomain(domain) {
162
+ return this.listAll().filter(p => p.domain === domain);
163
+ }
164
+ /** 按能力标签筛选 */
165
+ findByCapability(capability) {
166
+ return this.listAll().filter(p => p.capabilities.includes(capability));
167
+ }
168
+ /** 注册自定义 Profile */
169
+ register(profile) {
170
+ if (this.profiles.has(profile.id)) {
171
+ throw new Error(`Profile already registered: ${profile.id}`);
172
+ }
173
+ this.profiles.set(profile.id, profile);
174
+ }
175
+ }
176
+ /** 默认 Registry 实例 */
177
+ export const defaultProfileRegistry = new AgentProfileRegistry();
178
+ // ============================================================================
179
+ // Helper Functions(测试需要)
180
+ // ============================================================================
181
+ /** 获取单个 Profile */
182
+ export function getProfile(id) {
183
+ return defaultProfileRegistry.get(id);
184
+ }
185
+ /** 按 Domain 获取 Profiles */
186
+ export function getProfilesByDomain(domain) {
187
+ return defaultProfileRegistry.findByDomain(domain);
188
+ }
189
+ /** 按 Role 获取 Profiles */
190
+ export function getProfilesByRole(role) {
191
+ return PROFESSIONAL_AGENTS.filter(p => p.inheritsRole === role);
192
+ }
193
+ /** 列出所有 Profile IDs */
194
+ export function listProfiles() {
195
+ return PROFESSIONAL_AGENTS.map(p => p.id);
196
+ }
197
+ //# sourceMappingURL=profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/agents/profiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,262 @@
1
+ import type { ArtifactId, Timestamp, AgentPlatform } from '../artifact/types.js';
2
+ /** Agent 专业领域 */
3
+ export type AgentDomain = 'frontend' | 'backend' | 'testing' | 'ui-design' | 'operations' | 'product' | 'code-review' | 'security' | 'documentation' | 'planning' | 'exploration' | 'database' | 'performance' | 'architecture';
4
+ /** 模型层级偏好 */
5
+ export type ModelTier = 'fast' | 'balanced' | 'powerful';
6
+ /** 输出规范 */
7
+ export interface OutputSpec {
8
+ fileTypes: string[];
9
+ style: string;
10
+ }
11
+ /** 协作偏好 */
12
+ export interface CollaborationSpec {
13
+ reportsTo?: string;
14
+ sharesWith: string[];
15
+ }
16
+ /** Agent 人设定义 */
17
+ export interface AgentIdentity {
18
+ role: string;
19
+ personality: string;
20
+ memory: string;
21
+ experience: string;
22
+ }
23
+ /** Agent 核心使命 */
24
+ export interface AgentMission {
25
+ name: string;
26
+ description: string;
27
+ priority: 'critical' | 'high' | 'normal';
28
+ }
29
+ /** Agent 关键规则 */
30
+ export interface AgentRule {
31
+ name: string;
32
+ description: string;
33
+ enforcement: 'block' | 'warn' | 'suggest';
34
+ }
35
+ /** Agent 交付物模板 */
36
+ export interface AgentDeliverable {
37
+ name: string;
38
+ template: string;
39
+ format: 'markdown' | 'code' | 'json' | 'yaml';
40
+ }
41
+ /** Agent 工作流程步骤 */
42
+ export interface AgentWorkflowStep {
43
+ stepId: string;
44
+ name: string;
45
+ description: string;
46
+ outputs?: string[];
47
+ }
48
+ /** Agent 成功指标 */
49
+ export interface AgentSuccessMetric {
50
+ name: string;
51
+ target: string;
52
+ measurement: string;
53
+ }
54
+ /** Agent Profile:专业 Agent 定义 (v0.9.0 增强) */
55
+ export interface AgentProfile {
56
+ id: string;
57
+ name: string;
58
+ description: string;
59
+ domain: AgentDomain;
60
+ emoji?: string;
61
+ color?: string;
62
+ identity?: AgentIdentity;
63
+ missions?: AgentMission[];
64
+ rules?: AgentRule[];
65
+ inheritsRole: string;
66
+ capabilities: string[];
67
+ preferredModel: ModelTier;
68
+ outputFormat?: OutputSpec;
69
+ deliverables?: AgentDeliverable[];
70
+ workflow?: AgentWorkflowStep[];
71
+ successMetrics?: AgentSuccessMetric[];
72
+ collaboration?: CollaborationSpec;
73
+ }
74
+ /** Agent 实例状态 */
75
+ export type AgentStatus = 'idle' | 'running' | 'blocked' | 'completed' | 'failed' | 'recycled';
76
+ /** 消息类型 */
77
+ export type MessageType = 'task-request' | 'task-complete' | 'task-fail' | 'dependency-block' | 'dependency-resolve' | 'output-share' | 'review-request' | 'review-result' | 'help-request' | 'status-update';
78
+ /** Agent 消息 */
79
+ export interface AgentMessage {
80
+ id: string;
81
+ from: string;
82
+ to: string | 'broadcast';
83
+ type: MessageType;
84
+ payload: unknown;
85
+ timestamp: Timestamp;
86
+ }
87
+ /** Agent 实例运行时 */
88
+ export interface AgentRuntime {
89
+ id: string;
90
+ profile: AgentProfile;
91
+ status: AgentStatus;
92
+ assignedTask?: ArtifactId;
93
+ model: ModelConfig;
94
+ startedAt: Timestamp;
95
+ completedAt?: Timestamp;
96
+ outputArtifacts: ArtifactId[];
97
+ messages: AgentMessage[];
98
+ blockedBy?: string[];
99
+ retryCount: number;
100
+ error?: string;
101
+ }
102
+ /** 模型配置 */
103
+ export interface ModelConfig {
104
+ provider: AgentPlatform | 'anthropic' | 'openai' | 'google';
105
+ modelId: string;
106
+ tier: ModelTier;
107
+ }
108
+ /** Agent 团队 */
109
+ export interface AgentTeam {
110
+ id: string;
111
+ agents: AgentRuntime[];
112
+ leader: AgentRuntime;
113
+ startedAt: Timestamp;
114
+ completedAt?: Timestamp;
115
+ dissolvedAt?: Timestamp;
116
+ taskId?: ArtifactId;
117
+ scenarioMode?: 'sandbox' | 'standard' | 'critical';
118
+ }
119
+ /** 团队执行结果 */
120
+ export interface TeamExecutionResult {
121
+ teamId: string;
122
+ success: boolean;
123
+ outputArtifacts: ArtifactId[];
124
+ duration: number;
125
+ agentResults: Map<string, AgentResult>;
126
+ }
127
+ /** 单个 Agent 执行结果 */
128
+ export interface AgentResult {
129
+ agentId: string;
130
+ status: AgentStatus;
131
+ outputArtifacts: ArtifactId[];
132
+ duration: number;
133
+ retryCount: number;
134
+ }
135
+ /** Agent 执行结果(兼容旧版) */
136
+ export interface AgentExecutionResult {
137
+ agentId: string;
138
+ success: boolean;
139
+ outputArtifacts: ArtifactId[];
140
+ duration: number;
141
+ error?: string;
142
+ }
143
+ /** 团队配置 */
144
+ export interface TeamConfig {
145
+ profiles: string[];
146
+ parallelism: number;
147
+ timeout?: number;
148
+ onConflict: 'abort' | 'retry' | 'skip';
149
+ scenarioMode?: 'sandbox' | 'standard' | 'critical';
150
+ }
151
+ /** 任务依赖解析结果 */
152
+ export interface DependencyResolution {
153
+ taskId: ArtifactId;
154
+ blockedBy: ArtifactId[];
155
+ ready: boolean;
156
+ }
157
+ /** 任务分组(按依赖关系) */
158
+ export interface TaskGroups {
159
+ independent: ArtifactId[];
160
+ dependent: DependentTask[];
161
+ }
162
+ /** 有依赖的任务 */
163
+ export interface DependentTask {
164
+ taskId: ArtifactId;
165
+ dependencies: ArtifactId[];
166
+ }
167
+ /** 任务 → Profile 映射 */
168
+ export type TaskProfileMap = Record<string, string[]>;
169
+ /** 进度报告 */
170
+ export interface ProgressReport {
171
+ teamId: string;
172
+ taskId?: ArtifactId;
173
+ total: number;
174
+ completed: number;
175
+ running: number;
176
+ blocked: number;
177
+ failed: number;
178
+ idle: number;
179
+ agents: AgentStatusReport[];
180
+ }
181
+ /** Agent 状态报告 */
182
+ export interface AgentStatusReport {
183
+ agentId: string;
184
+ profileId: string;
185
+ status: AgentStatus;
186
+ task?: ArtifactId;
187
+ duration: number;
188
+ }
189
+ /** LLM Provider 配置 */
190
+ export type WorkflowLLMProvider = 'claude-code' | 'gemini-cli' | 'copilot-cli' | 'codex-cli' | 'deepseek' | 'anthropic' | 'openai' | 'ollama';
191
+ /** LLM 配置 */
192
+ export interface WorkflowLLMConfig {
193
+ provider: WorkflowLLMProvider;
194
+ model?: string;
195
+ apiKey?: string;
196
+ baseUrl?: string;
197
+ }
198
+ /** Workflow 输入参数 */
199
+ export interface WorkflowInput {
200
+ name: string;
201
+ required?: boolean;
202
+ default?: string;
203
+ description?: string;
204
+ }
205
+ /** Workflow 步骤 */
206
+ export interface WorkflowStepDef {
207
+ id: string;
208
+ role: string;
209
+ task: string;
210
+ output?: string;
211
+ depends_on?: string[];
212
+ retry?: number;
213
+ timeout?: number;
214
+ }
215
+ /** YAML Workflow 定义 */
216
+ export interface WorkflowDefinition {
217
+ name: string;
218
+ description?: string;
219
+ version?: string;
220
+ agents_dir?: string;
221
+ llm: WorkflowLLMConfig;
222
+ concurrency?: number;
223
+ inputs?: WorkflowInput[];
224
+ steps: WorkflowStepDef[];
225
+ output_dir?: string;
226
+ }
227
+ /** DAG 节点(用于执行图) */
228
+ export interface DAGNode {
229
+ stepId: string;
230
+ step: WorkflowStepDef;
231
+ dependencies: string[];
232
+ dependents: string[];
233
+ level: number;
234
+ }
235
+ /** DAG 执行图 */
236
+ export interface DAGExecutionGraph {
237
+ nodes: Map<string, DAGNode>;
238
+ levels: DAGNode[][];
239
+ maxLevel: number;
240
+ }
241
+ /** 步骤执行结果 */
242
+ export interface WorkflowStepResult {
243
+ stepId: string;
244
+ status: 'pending' | 'running' | 'completed' | 'failed' | 'skipped';
245
+ output?: string;
246
+ duration?: number;
247
+ retryCount?: number;
248
+ error?: string;
249
+ agentId?: string;
250
+ }
251
+ /** Workflow 执行结果 */
252
+ export interface WorkflowExecutionResult {
253
+ workflowName: string;
254
+ success: boolean;
255
+ totalSteps: number;
256
+ completedSteps: number;
257
+ failedSteps: number;
258
+ duration: number;
259
+ stepResults: Map<string, WorkflowStepResult>;
260
+ outputs: Record<string, string>;
261
+ executionLog: string[];
262
+ }
@@ -0,0 +1,4 @@
1
+ // SCALE Engine — Agent System Types (v0.8.0)
2
+ // 多 Agent 协作系统核心类型定义
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qBAAqB"}