@hongmaple0820/scale-engine 0.5.0 → 0.7.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 (128) hide show
  1. package/LICENSE +15 -15
  2. package/README.md +64 -13
  3. package/dist/adapters/ClaudeCodeAdapter.d.ts +1 -1
  4. package/dist/adapters/ClaudeCodeAdapter.js +5 -3
  5. package/dist/adapters/ClaudeCodeAdapter.js.map +1 -1
  6. package/dist/adapters/CodexAdapter.js +33 -31
  7. package/dist/adapters/CodexAdapter.js.map +1 -1
  8. package/dist/adapters/CursorAdapter.js +5 -3
  9. package/dist/adapters/CursorAdapter.js.map +1 -1
  10. package/dist/adapters/GeminiAdapter.js +5 -3
  11. package/dist/adapters/GeminiAdapter.js.map +1 -1
  12. package/dist/adapters/HermesAdapter.js +5 -3
  13. package/dist/adapters/HermesAdapter.js.map +1 -1
  14. package/dist/adapters/OpenClawAdapter.js +5 -3
  15. package/dist/adapters/OpenClawAdapter.js.map +1 -1
  16. package/dist/adapters/OpenCodeAdapter.js +5 -3
  17. package/dist/adapters/OpenCodeAdapter.js.map +1 -1
  18. package/dist/adapters/QCoderAdapter.d.ts +13 -0
  19. package/dist/adapters/QCoderAdapter.js +155 -0
  20. package/dist/adapters/QCoderAdapter.js.map +1 -0
  21. package/dist/adapters/TraeAdapter.d.ts +13 -0
  22. package/dist/adapters/TraeAdapter.js +155 -0
  23. package/dist/adapters/TraeAdapter.js.map +1 -0
  24. package/dist/adapters/VSCAdapter.d.ts +13 -0
  25. package/dist/adapters/VSCAdapter.js +155 -0
  26. package/dist/adapters/VSCAdapter.js.map +1 -0
  27. package/dist/adapters/WorkBuddyAdapter.d.ts +13 -0
  28. package/dist/adapters/WorkBuddyAdapter.js +155 -0
  29. package/dist/adapters/WorkBuddyAdapter.js.map +1 -0
  30. package/dist/adapters/index.d.ts +4 -0
  31. package/dist/adapters/index.js +13 -1
  32. package/dist/adapters/index.js.map +1 -1
  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/IAgent.d.ts +53 -0
  37. package/dist/agents/IAgent.js +4 -0
  38. package/dist/agents/IAgent.js.map +1 -0
  39. package/dist/agents/definitions/debugger.d.ts +2 -0
  40. package/dist/agents/definitions/debugger.js +6 -0
  41. package/dist/agents/definitions/debugger.js.map +1 -0
  42. package/dist/agents/definitions/doc-writer.d.ts +2 -0
  43. package/dist/agents/definitions/doc-writer.js +6 -0
  44. package/dist/agents/definitions/doc-writer.js.map +1 -0
  45. package/dist/agents/definitions/implementer.d.ts +2 -0
  46. package/dist/agents/definitions/implementer.js +6 -0
  47. package/dist/agents/definitions/implementer.js.map +1 -0
  48. package/dist/agents/definitions/planner.d.ts +2 -0
  49. package/dist/agents/definitions/planner.js +6 -0
  50. package/dist/agents/definitions/planner.js.map +1 -0
  51. package/dist/agents/definitions/researcher.d.ts +2 -0
  52. package/dist/agents/definitions/researcher.js +6 -0
  53. package/dist/agents/definitions/researcher.js.map +1 -0
  54. package/dist/agents/definitions/reviewer.d.ts +2 -0
  55. package/dist/agents/definitions/reviewer.js +6 -0
  56. package/dist/agents/definitions/reviewer.js.map +1 -0
  57. package/dist/agents/definitions/security.d.ts +2 -0
  58. package/dist/agents/definitions/security.js +6 -0
  59. package/dist/agents/definitions/security.js.map +1 -0
  60. package/dist/agents/definitions/tester.d.ts +2 -0
  61. package/dist/agents/definitions/tester.js +6 -0
  62. package/dist/agents/definitions/tester.js.map +1 -0
  63. package/dist/agents/definitions${file}.d.ts +1 -0
  64. package/dist/agents/definitions${file}.js +14 -0
  65. package/dist/agents/definitions${file}.js.map +1 -0
  66. package/dist/agents/index.d.ts +15 -0
  67. package/dist/agents/index.js +34 -0
  68. package/dist/agents/index.js.map +1 -0
  69. package/dist/api/cli.js +6 -5
  70. package/dist/api/cli.js.map +1 -1
  71. package/dist/api/doctor.js +29 -12
  72. package/dist/api/doctor.js.map +1 -1
  73. package/dist/api/mcp.js +0 -5
  74. package/dist/api/mcp.js.map +1 -1
  75. package/dist/artifact/fsm.d.ts +5 -0
  76. package/dist/artifact/fsm.js +25 -3
  77. package/dist/artifact/fsm.js.map +1 -1
  78. package/dist/artifact/sqliteStore.js +90 -103
  79. package/dist/artifact/sqliteStore.js.map +1 -1
  80. package/dist/artifact/store.js +2 -4
  81. package/dist/artifact/store.js.map +1 -1
  82. package/dist/artifact/types.d.ts +3 -3
  83. package/dist/artifact/types.js +0 -3
  84. package/dist/artifact/types.js.map +1 -1
  85. package/dist/context/ContextBuilder.js +1 -4
  86. package/dist/context/ContextBuilder.js.map +1 -1
  87. package/dist/core/container.js +4 -2
  88. package/dist/core/container.js.map +1 -1
  89. package/dist/core/eventBus.js +5 -6
  90. package/dist/core/eventBus.js.map +1 -1
  91. package/dist/dashboard/index.d.ts +2 -0
  92. package/dist/dashboard/index.js +2 -0
  93. package/dist/dashboard/index.js.map +1 -0
  94. package/dist/dashboard/server.d.ts +52 -0
  95. package/dist/dashboard/server.js +83 -0
  96. package/dist/dashboard/server.js.map +1 -0
  97. package/dist/evolution/BehaviorTracker.js +2 -3
  98. package/dist/evolution/BehaviorTracker.js.map +1 -1
  99. package/dist/evolution/EvolutionEngine.js +34 -45
  100. package/dist/evolution/EvolutionEngine.js.map +1 -1
  101. package/dist/evolution/PatternExtractor.d.ts +40 -0
  102. package/dist/evolution/PatternExtractor.js +83 -0
  103. package/dist/evolution/PatternExtractor.js.map +1 -0
  104. package/dist/evolution/SkillCreator.d.ts +40 -0
  105. package/dist/evolution/SkillCreator.js +118 -0
  106. package/dist/evolution/SkillCreator.js.map +1 -0
  107. package/dist/guardrails/Gateway.js +6 -7
  108. package/dist/guardrails/Gateway.js.map +1 -1
  109. package/dist/guardrails/advancedDetectors.d.ts +12 -0
  110. package/dist/guardrails/advancedDetectors.js +78 -28
  111. package/dist/guardrails/advancedDetectors.js.map +1 -1
  112. package/dist/guardrails/detectors.js +24 -14
  113. package/dist/guardrails/detectors.js.map +1 -1
  114. package/dist/index.d.ts +12 -1
  115. package/dist/index.js +11 -2
  116. package/dist/index.js.map +1 -1
  117. package/dist/knowledge/KnowledgeBase.js +2 -3
  118. package/dist/knowledge/KnowledgeBase.js.map +1 -1
  119. package/dist/knowledge/SQLiteKnowledgeBase.d.ts +28 -0
  120. package/dist/knowledge/SQLiteKnowledgeBase.js +175 -0
  121. package/dist/knowledge/SQLiteKnowledgeBase.js.map +1 -0
  122. package/dist/routing/ModelRouter.js +0 -2
  123. package/dist/routing/ModelRouter.js.map +1 -1
  124. package/dist/skills/SkillDiscovery.js +8 -1
  125. package/dist/skills/SkillDiscovery.js.map +1 -1
  126. package/dist/tasks/TaskEngine.js +25 -5
  127. package/dist/tasks/TaskEngine.js.map +1 -1
  128. package/package.json +8 -2
@@ -0,0 +1,83 @@
1
+ // SCALE Engine — Dashboard Server
2
+ import { logger } from '../core/logger.js';
3
+ import { createServer } from 'node:http';
4
+ import { readFile } from 'node:fs/promises';
5
+ import { join } from 'node:path';
6
+ export class DashboardServer {
7
+ constructor(config) {
8
+ this.config = config;
9
+ this.server = null;
10
+ this.viewsDir = join(import.meta.dirname ?? __dirname, 'views');
11
+ }
12
+ start() {
13
+ this.server = createServer(async (req, res) => {
14
+ try {
15
+ await this.handleRequest(req, res);
16
+ }
17
+ catch (error) {
18
+ logger.error({ error }, 'Dashboard error');
19
+ res.statusCode = 500;
20
+ res.end('Error');
21
+ }
22
+ });
23
+ this.server.listen(this.config.port, this.config.host, () => {
24
+ logger.info({ port: this.config.port }, 'Dashboard started');
25
+ });
26
+ }
27
+ stop() { if (this.server) {
28
+ this.server.close();
29
+ this.server = null;
30
+ } }
31
+ async handleRequest(req, res) {
32
+ const url = req.url ?? '/';
33
+ if (url.startsWith('/api/')) {
34
+ await this.handleApi(url, res);
35
+ return;
36
+ }
37
+ const viewMap = {
38
+ '/': 'artifact-flow.html', '/artifacts': 'artifact-flow.html',
39
+ '/sessions': 'session-timeline.html', '/knowledge': 'knowledge-graph.html',
40
+ '/evolution': 'evolution-metrics.html', '/agents': 'agent-stats.html',
41
+ };
42
+ const viewFile = viewMap[url] ?? 'artifact-flow.html';
43
+ try {
44
+ const content = await readFile(join(this.viewsDir, viewFile), 'utf-8');
45
+ res.setHeader('Content-Type', 'text/html');
46
+ res.end(content);
47
+ }
48
+ catch {
49
+ res.statusCode = 404;
50
+ res.end('Not found');
51
+ }
52
+ }
53
+ async handleApi(url, res) {
54
+ res.setHeader('Content-Type', 'application/json');
55
+ const data = await this.collectData();
56
+ if (url === '/api/artifacts')
57
+ res.end(JSON.stringify(data.artifacts));
58
+ else if (url === '/api/sessions')
59
+ res.end(JSON.stringify(data.sessions));
60
+ else if (url === '/api/knowledge')
61
+ res.end(JSON.stringify(data.knowledge));
62
+ else if (url === '/api/evolution')
63
+ res.end(JSON.stringify(data.evolution));
64
+ else if (url === '/api/agents')
65
+ res.end(JSON.stringify(data.agents));
66
+ else if (url === '/api/all')
67
+ res.end(JSON.stringify(data));
68
+ else {
69
+ res.statusCode = 404;
70
+ res.end(JSON.stringify({ error: 'Not found' }));
71
+ }
72
+ }
73
+ async collectData() {
74
+ const artifacts = await this.config.artifactStore.query({});
75
+ const artifactData = artifacts.map(a => ({ id: a.id, type: a.type, status: a.status, title: a.title, createdAt: a.createdAt }));
76
+ const knowledge = await this.config.knowledgeBase.recall({});
77
+ const knowledgeData = knowledge.map(k => ({ id: k.id, type: k.type, title: k.title, relevance: k.relevance }));
78
+ const evolution = this.config.evolutionStats?.() ?? { lessonsExtracted: 0, rulesProposed: 0, rulesApproved: 0, hooksGenerated: 0 };
79
+ const agents = this.config.agentManager.listAll().map(d => ({ id: d.id, name: d.name, dispatchCount: 0, successRate: 1.0 }));
80
+ return { artifacts: artifactData, sessions: [], knowledge: knowledgeData, evolution, agents };
81
+ }
82
+ }
83
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,10 @@
3
3
  // 设计参考:docs/03-CORE-MODULES.md §3.7
4
4
  import { logger } from '../core/logger.js';
5
5
  export class BehaviorTracker {
6
- eventBus;
7
- subs = [];
8
- metrics = new Map();
9
6
  constructor(eventBus) {
10
7
  this.eventBus = eventBus;
8
+ this.subs = [];
9
+ this.metrics = new Map();
11
10
  }
12
11
  start() {
13
12
  this.subs.push(this.eventBus.on('tool.called', (e) => this.onToolCalled(e.sessionId, e.payload)), this.eventBus.on('tool.failed', (e) => this.onToolFailed(e.sessionId)), this.eventBus.on('behavior.brute_retry', (e) => this.onBruteRetry(e.sessionId)), this.eventBus.on('behavior.blame_shift', (e) => this.onBlameShift(e.sessionId)), this.eventBus.on('behavior.premature_done', (e) => this.onPrematureDone(e.sessionId)), this.eventBus.on('artifact.created', (e) => this.onArtifactCreated(e.sessionId)), this.eventBus.on('role.activated', (e) => this.onRoleActivated(e.sessionId, e.payload.role)));
@@ -1 +1 @@
1
- {"version":3,"file":"BehaviorTracker.js","sourceRoot":"","sources":["../../src/evolution/BehaviorTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BehaviorTracker.js","sourceRoot":"","sources":["../../src/evolution/BehaviorTracker.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,6 @@ import { logger } from '../core/logger.js';
5
5
  import { writeFileSync, mkdirSync } from 'node:fs';
6
6
  import { join } from 'node:path';
7
7
  export class LessonExtractor {
8
- store;
9
- kb;
10
- eventBus;
11
8
  constructor(store, kb, eventBus) {
12
9
  this.store = store;
13
10
  this.kb = kb;
@@ -95,13 +92,11 @@ export class LessonExtractor {
95
92
  }
96
93
  }
97
94
  export class RuleProposer {
98
- kb;
99
- eventBus;
100
- rules = new Map();
101
- seq = 0;
102
95
  constructor(kb, eventBus) {
103
96
  this.kb = kb;
104
97
  this.eventBus = eventBus;
98
+ this.rules = new Map();
99
+ this.seq = 0;
105
100
  }
106
101
  async proposeFromLesson(lessonId) {
107
102
  const lessons = await this.kb.recall({});
@@ -165,30 +160,29 @@ export class RuleProposer {
165
160
  mkdirSync(rulesDir, { recursive: true });
166
161
  const filename = `${rule.id}.md`;
167
162
  const path = join(rulesDir, filename);
168
- const content = `# ${rule.title}
169
-
170
- > Source: ${rule.sourceLesson}
171
- > Enforcement: ${rule.enforcement}
172
- > Approved: ${rule.approved ? `Yes (by ${rule.approvedBy})` : 'Pending'}
173
- > Created: ${new Date(rule.createdAt).toISOString()}
174
-
175
- ## Description
176
-
177
- ${rule.description}
178
-
179
- ## Pattern
180
-
181
- \`${rule.pattern}\`
163
+ const content = `# ${rule.title}
164
+
165
+ > Source: ${rule.sourceLesson}
166
+ > Enforcement: ${rule.enforcement}
167
+ > Approved: ${rule.approved ? `Yes (by ${rule.approvedBy})` : 'Pending'}
168
+ > Created: ${new Date(rule.createdAt).toISOString()}
169
+
170
+ ## Description
171
+
172
+ ${rule.description}
173
+
174
+ ## Pattern
175
+
176
+ \`${rule.pattern}\`
182
177
  `;
183
178
  writeFileSync(path, content, 'utf-8');
184
179
  return path;
185
180
  }
186
181
  }
187
182
  export class HookGenerator {
188
- eventBus;
189
- hooks = [];
190
183
  constructor(eventBus) {
191
184
  this.eventBus = eventBus;
185
+ this.hooks = [];
192
186
  }
193
187
  generate(rule, hooksDir) {
194
188
  if (!rule.approved) {
@@ -205,23 +199,23 @@ export class HookGenerator {
205
199
  const scriptName = `${rule.id}.sh`;
206
200
  const scriptPath = join(hooksDir, scriptName);
207
201
  // Generate shell script
208
- const script = `#!/bin/bash
209
- # Auto-generated hook from Rule: ${rule.id}
210
- # Source lesson: ${rule.sourceLesson}
211
- # Pattern: ${rule.pattern}
212
- # Hook type: ${hookType} | Matcher: ${matcher}
213
- #
214
- # This hook was automatically promoted from a recurring lesson.
215
- # Edit with caution — it enforces a hard constraint.
216
-
217
- # Read tool input from stdin
218
- INPUT=$(cat)
219
-
220
- # Check condition
221
- # TODO: Implement specific check for pattern "${rule.pattern}"
222
- # For now, this is a placeholder that always passes.
223
- echo "Hook ${rule.id} checked (pattern: ${rule.pattern})" >&2
224
- exit 0
202
+ const script = `#!/bin/bash
203
+ # Auto-generated hook from Rule: ${rule.id}
204
+ # Source lesson: ${rule.sourceLesson}
205
+ # Pattern: ${rule.pattern}
206
+ # Hook type: ${hookType} | Matcher: ${matcher}
207
+ #
208
+ # This hook was automatically promoted from a recurring lesson.
209
+ # Edit with caution — it enforces a hard constraint.
210
+
211
+ # Read tool input from stdin
212
+ INPUT=$(cat)
213
+
214
+ # Check condition
215
+ # TODO: Implement specific check for pattern "${rule.pattern}"
216
+ # For now, this is a placeholder that always passes.
217
+ echo "Hook ${rule.id} checked (pattern: ${rule.pattern})" >&2
218
+ exit 0
225
219
  `;
226
220
  writeFileSync(scriptPath, script, 'utf-8');
227
221
  const hook = {
@@ -265,11 +259,6 @@ exit 0
265
259
  // EvolutionEngine — 编排 4 级进化
266
260
  // ============================================================================
267
261
  export class EvolutionEngine {
268
- extractor;
269
- proposer;
270
- generator;
271
- scaleDir;
272
- eventBus;
273
262
  constructor(extractor, proposer, generator, eventBus, scaleDir = '.scale') {
274
263
  this.extractor = extractor;
275
264
  this.proposer = proposer;
@@ -1 +1 @@
1
- {"version":3,"file":"EvolutionEngine.js","sourceRoot":"","sources":["../../src/evolution/EvolutionEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvolutionEngine.js","sourceRoot":"","sources":["../../src/evolution/EvolutionEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { IArtifactStore } from '../artifact/store.js';
2
+ import type { IKnowledgeBase } from '../knowledge/KnowledgeBase.js';
3
+ import type { IEventBus } from '../core/eventBus.js';
4
+ import type { ArtifactId } from '../artifact/types.js';
5
+ export interface Pattern {
6
+ id: string;
7
+ name: string;
8
+ description: string;
9
+ contexts: string[];
10
+ steps: PatternStep[];
11
+ successRate: number;
12
+ extractedFrom: ArtifactId[];
13
+ createdAt: number;
14
+ verified: boolean;
15
+ }
16
+ export interface PatternStep {
17
+ order: number;
18
+ action: string;
19
+ expectedOutcome: string;
20
+ toolsUsed: string[];
21
+ }
22
+ export interface IPatternExtractor {
23
+ extractFromArtifact(artifactId: ArtifactId): Promise<Pattern | null>;
24
+ extractFromSession(sessionId: string): Promise<Pattern[]>;
25
+ validatePattern(pattern: Pattern): Promise<boolean>;
26
+ getPatterns(): Pattern[];
27
+ }
28
+ export declare class PatternExtractor implements IPatternExtractor {
29
+ private store;
30
+ private kb;
31
+ private eventBus;
32
+ private patterns;
33
+ private seq;
34
+ constructor(store: IArtifactStore, kb: IKnowledgeBase, eventBus: IEventBus);
35
+ extractFromArtifact(artifactId: ArtifactId): Promise<Pattern | null>;
36
+ extractFromSession(sessionId: string): Promise<Pattern[]>;
37
+ validatePattern(pattern: Pattern): Promise<boolean>;
38
+ getPatterns(): Pattern[];
39
+ private buildPattern;
40
+ }
@@ -0,0 +1,83 @@
1
+ // SCALE Engine — Pattern Extractor (Positive Learning)
2
+ // Purpose: Extract successful patterns from completed artifacts
3
+ import { logger } from '../core/logger.js';
4
+ export class PatternExtractor {
5
+ constructor(store, kb, eventBus) {
6
+ this.store = store;
7
+ this.kb = kb;
8
+ this.eventBus = eventBus;
9
+ this.patterns = new Map();
10
+ this.seq = 0;
11
+ }
12
+ async extractFromArtifact(artifactId) {
13
+ const artifact = await this.store.get(artifactId);
14
+ if (!artifact)
15
+ return null;
16
+ if (artifact.status !== 'DONE') {
17
+ logger.debug({ artifactId, status: artifact.status }, 'Artifact not DONE');
18
+ return null;
19
+ }
20
+ const payload = artifact.payload;
21
+ const transitions = payload.transitions;
22
+ if (!transitions || transitions.length < 2)
23
+ return null;
24
+ const retries = payload.transitionRetries;
25
+ if (retries && retries > 0)
26
+ return null;
27
+ const pattern = this.buildPattern(artifact, transitions);
28
+ this.patterns.set(pattern.id, pattern);
29
+ await this.kb.add({
30
+ type: 'pattern',
31
+ title: pattern.name,
32
+ tags: [...pattern.contexts, 'positive-learning'],
33
+ contentRef: 'patterns/' + pattern.id + '.md',
34
+ verified: false,
35
+ sourceArtifact: artifactId,
36
+ });
37
+ this.eventBus.emit('pattern.extracted', { patternId: pattern.id, artifactId });
38
+ logger.info({ patternId: pattern.id, artifactId }, 'Pattern extracted');
39
+ return pattern;
40
+ }
41
+ async extractFromSession(sessionId) {
42
+ const artifacts = await this.store.query({});
43
+ const sessionArtifacts = artifacts.filter(a => a.payload.sessionId === sessionId);
44
+ const patterns = [];
45
+ for (const a of sessionArtifacts.filter(a => a.status === 'DONE')) {
46
+ const p = await this.extractFromArtifact(a.id);
47
+ if (p)
48
+ patterns.push(p);
49
+ }
50
+ return patterns;
51
+ }
52
+ async validatePattern(pattern) {
53
+ const artifacts = await this.store.query({});
54
+ const similar = artifacts.filter(a => a.status === 'DONE' && a.type === pattern.contexts[0]);
55
+ pattern.successRate = similar.length > 0 ? similar.length / artifacts.length : 0;
56
+ pattern.verified = pattern.successRate >= 0.7;
57
+ if (pattern.verified) {
58
+ this.eventBus.emit('pattern.verified', { patternId: pattern.id, successRate: pattern.successRate });
59
+ }
60
+ return pattern.verified;
61
+ }
62
+ getPatterns() { return Array.from(this.patterns.values()); }
63
+ buildPattern(artifact, transitions) {
64
+ const steps = transitions.map((t, i) => ({
65
+ order: i + 1,
66
+ action: t.action,
67
+ expectedOutcome: 'Transition ' + t.from + ' to ' + t.to,
68
+ toolsUsed: [],
69
+ }));
70
+ return {
71
+ id: 'PATTERN-' + Date.now() + '-' + (++this.seq).toString().padStart(3, '0'),
72
+ name: artifact.type + ' Workflow',
73
+ description: 'Extracted from: ' + artifact.title,
74
+ contexts: [artifact.type],
75
+ steps,
76
+ successRate: 1.0,
77
+ extractedFrom: [artifact.id],
78
+ createdAt: Date.now(),
79
+ verified: false,
80
+ };
81
+ }
82
+ }
83
+ //# sourceMappingURL=PatternExtractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PatternExtractor.js","sourceRoot":"","sources":["../../src/evolution/PatternExtractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { Pattern, IPatternExtractor } from './PatternExtractor.js';
2
+ import type { IEventBus } from '../core/eventBus.js';
3
+ export interface SkillProposal {
4
+ id: string;
5
+ name: string;
6
+ description: string;
7
+ triggers: string[];
8
+ agents: string[];
9
+ steps: SkillStep[];
10
+ sourcePattern: string;
11
+ status: 'draft' | 'proposed' | 'approved' | 'published';
12
+ createdAt: number;
13
+ }
14
+ export interface SkillStep {
15
+ phase: string;
16
+ actions: string[];
17
+ checklist: string[];
18
+ }
19
+ export interface ISkillCreator {
20
+ patternToSkill(pattern: Pattern): SkillProposal;
21
+ proposeToUser(skill: SkillProposal): Promise<boolean>;
22
+ publish(skill: SkillProposal, skillsDir: string): string;
23
+ getProposals(): SkillProposal[];
24
+ }
25
+ export declare class SkillCreator implements ISkillCreator {
26
+ private extractor;
27
+ private eventBus;
28
+ private proposals;
29
+ private seq;
30
+ constructor(extractor: IPatternExtractor, eventBus: IEventBus);
31
+ patternToSkill(pattern: Pattern): SkillProposal;
32
+ proposeToUser(skill: SkillProposal): Promise<boolean>;
33
+ publish(skill: SkillProposal, skillsDir: string): string;
34
+ getProposals(): SkillProposal[];
35
+ private skillNameFromPattern;
36
+ private inferTriggers;
37
+ private inferAgents;
38
+ private convertSteps;
39
+ private generateSkillMarkdown;
40
+ }
@@ -0,0 +1,118 @@
1
+ // SCALE Engine — Skill Creator
2
+ // Purpose: Convert verified patterns into reusable skills
3
+ import { logger } from '../core/logger.js';
4
+ import { writeFileSync, mkdirSync } from 'node:fs';
5
+ import { join } from 'node:path';
6
+ export class SkillCreator {
7
+ constructor(extractor, eventBus) {
8
+ this.extractor = extractor;
9
+ this.eventBus = eventBus;
10
+ this.proposals = new Map();
11
+ this.seq = 0;
12
+ }
13
+ patternToSkill(pattern) {
14
+ const skill = {
15
+ id: 'SKILL-' + Date.now() + '-' + (++this.seq).toString().padStart(3, '0'),
16
+ name: this.skillNameFromPattern(pattern),
17
+ description: pattern.description,
18
+ triggers: this.inferTriggers(pattern),
19
+ agents: this.inferAgents(pattern),
20
+ steps: this.convertSteps(pattern.steps),
21
+ sourcePattern: pattern.id,
22
+ status: 'draft',
23
+ createdAt: Date.now(),
24
+ };
25
+ this.proposals.set(skill.id, skill);
26
+ logger.info({ skillId: skill.id, patternId: pattern.id }, 'Pattern converted to skill draft');
27
+ return skill;
28
+ }
29
+ async proposeToUser(skill) {
30
+ skill.status = 'proposed';
31
+ this.eventBus.emit('skill.proposed', { skillId: skill.id, name: skill.name });
32
+ logger.info({ skillId: skill.id }, 'Skill proposed for user approval');
33
+ return true;
34
+ }
35
+ publish(skill, skillsDir) {
36
+ if (skill.status !== 'approved') {
37
+ logger.warn({ skillId: skill.id }, 'Skill not approved - cannot publish');
38
+ throw new Error('Skill must be approved before publishing');
39
+ }
40
+ mkdirSync(skillsDir, { recursive: true });
41
+ const skillDir = join(skillsDir, skill.name.toLowerCase().replace(/\s+/g, '-'));
42
+ mkdirSync(skillDir, { recursive: true });
43
+ const skillPath = join(skillDir, 'SKILL.md');
44
+ const content = this.generateSkillMarkdown(skill);
45
+ writeFileSync(skillPath, content, 'utf-8');
46
+ skill.status = 'published';
47
+ this.eventBus.emit('skill.published', { skillId: skill.id, path: skillPath });
48
+ logger.info({ skillId: skill.id, path: skillPath }, 'Skill published');
49
+ return skillPath;
50
+ }
51
+ getProposals() {
52
+ return Array.from(this.proposals.values());
53
+ }
54
+ skillNameFromPattern(pattern) {
55
+ return pattern.name.replace(' Pattern', '').replace(' Workflow', '');
56
+ }
57
+ inferTriggers(pattern) {
58
+ const triggers = [];
59
+ for (const step of pattern.steps) {
60
+ const words = step.action.toLowerCase().split(/\s+/);
61
+ triggers.push(...words.filter(w => w.length > 3));
62
+ }
63
+ return [...new Set(triggers)].slice(0, 5);
64
+ }
65
+ inferAgents(pattern) {
66
+ const agentMap = {
67
+ plan: ['planner'],
68
+ implement: ['implementer'],
69
+ test: ['tester'],
70
+ review: ['reviewer'],
71
+ debug: ['debugger'],
72
+ document: ['doc-writer'],
73
+ };
74
+ const agents = [];
75
+ for (const step of pattern.steps) {
76
+ for (const [keyword, agentList] of Object.entries(agentMap)) {
77
+ if (step.action.toLowerCase().includes(keyword)) {
78
+ agents.push(...agentList);
79
+ }
80
+ }
81
+ }
82
+ return [...new Set(agents)];
83
+ }
84
+ convertSteps(patternSteps) {
85
+ const phases = ['Setup', 'Execute', 'Verify'];
86
+ return patternSteps.map((ps, i) => ({
87
+ phase: phases[i] ?? 'Step ' + (i + 1),
88
+ actions: [ps.action],
89
+ checklist: ['Verify ' + ps.expectedOutcome],
90
+ }));
91
+ }
92
+ generateSkillMarkdown(skill) {
93
+ let md = '---\n';
94
+ md += 'name: ' + skill.name + '\n';
95
+ md += 'version: 1.0.0\n';
96
+ md += 'description: ' + skill.description + '\n';
97
+ md += 'triggers:\n';
98
+ for (const t of skill.triggers)
99
+ md += ' - ' + t + '\n';
100
+ md += 'agents:\n';
101
+ for (const a of skill.agents)
102
+ md += ' - ' + a + '\n';
103
+ md += '---\n\n';
104
+ md += '# ' + skill.name + '\n\n';
105
+ md += 'Auto-generated from pattern: ' + skill.sourcePattern + '\n\n';
106
+ for (const step of skill.steps) {
107
+ md += '## ' + step.phase + '\n\n';
108
+ for (const action of step.actions)
109
+ md += '1. ' + action + '\n';
110
+ md += '\n**Checklist:**\n';
111
+ for (const item of step.checklist)
112
+ md += '- [ ] ' + item + '\n';
113
+ md += '\n';
114
+ }
115
+ return md;
116
+ }
117
+ }
118
+ //# sourceMappingURL=SkillCreator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkillCreator.js","sourceRoot":"","sources":["../../src/evolution/SkillCreator.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,14 @@
3
3
  // 设计参考:docs/03-CORE-MODULES.md §3.5
4
4
  import { logger } from '../core/logger.js';
5
5
  export class Gateway {
6
- eventBus;
7
- cache = new Map();
8
- detectors = {
9
- preTool: [],
10
- postTool: [],
11
- beforeStop: [],
12
- };
13
6
  constructor(eventBus) {
14
7
  this.eventBus = eventBus;
8
+ this.cache = new Map();
9
+ this.detectors = {
10
+ preTool: [],
11
+ postTool: [],
12
+ beforeStop: [],
13
+ };
15
14
  }
16
15
  registerDetector(detector, hook) {
17
16
  this.detectors[hook].push(detector);
@@ -1 +1 @@
1
- {"version":3,"file":"Gateway.js","sourceRoot":"","sources":["../../src/guardrails/Gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Gateway.js","sourceRoot":"","sources":["../../src/guardrails/Gateway.ts"],"names":[],"mappings":"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"}