@hongmaple0820/scale-engine 0.7.2 → 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 (207) hide show
  1. package/dist/adapters/ClaudeCodeAdapter.js +5 -3
  2. package/dist/adapters/ClaudeCodeAdapter.js.map +1 -1
  3. package/dist/adapters/CodexAdapter.js +5 -3
  4. package/dist/adapters/CodexAdapter.js.map +1 -1
  5. package/dist/adapters/CursorAdapter.js +5 -3
  6. package/dist/adapters/CursorAdapter.js.map +1 -1
  7. package/dist/adapters/GeminiAdapter.js +5 -3
  8. package/dist/adapters/GeminiAdapter.js.map +1 -1
  9. package/dist/adapters/HermesAdapter.js +5 -3
  10. package/dist/adapters/HermesAdapter.js.map +1 -1
  11. package/dist/adapters/OpenClawAdapter.js +5 -3
  12. package/dist/adapters/OpenClawAdapter.js.map +1 -1
  13. package/dist/adapters/OpenCodeAdapter.js +5 -3
  14. package/dist/adapters/OpenCodeAdapter.js.map +1 -1
  15. package/dist/adapters/QCoderAdapter.js +5 -3
  16. package/dist/adapters/QCoderAdapter.js.map +1 -1
  17. package/dist/adapters/TraeAdapter.js +5 -3
  18. package/dist/adapters/TraeAdapter.js.map +1 -1
  19. package/dist/adapters/VSCAdapter.js +5 -3
  20. package/dist/adapters/VSCAdapter.js.map +1 -1
  21. package/dist/adapters/WorkBuddyAdapter.js +5 -3
  22. package/dist/adapters/WorkBuddyAdapter.js.map +1 -1
  23. package/dist/agents/AgentChannel.d.ts +43 -0
  24. package/dist/agents/AgentChannel.js +136 -0
  25. package/dist/agents/AgentChannel.js.map +1 -0
  26. package/dist/agents/AgentCoordinator.d.ts +29 -0
  27. package/dist/agents/AgentCoordinator.js +136 -0
  28. package/dist/agents/AgentCoordinator.js.map +1 -0
  29. package/dist/agents/AgentDispatcher.d.ts +24 -0
  30. package/dist/agents/AgentDispatcher.js +112 -0
  31. package/dist/agents/AgentDispatcher.js.map +1 -0
  32. package/dist/agents/AgentManager.d.ts +14 -0
  33. package/dist/agents/AgentManager.js +85 -0
  34. package/dist/agents/AgentManager.js.map +1 -0
  35. package/dist/agents/AgentPool.d.ts +59 -0
  36. package/dist/agents/AgentPool.js +192 -0
  37. package/dist/agents/AgentPool.js.map +1 -0
  38. package/dist/agents/AgentRegistry.d.ts +20 -0
  39. package/dist/agents/AgentRegistry.js +36 -0
  40. package/dist/agents/AgentRegistry.js.map +1 -0
  41. package/dist/agents/AgentSourceLoader.d.ts +73 -0
  42. package/dist/agents/AgentSourceLoader.js +101 -0
  43. package/dist/agents/AgentSourceLoader.js.map +1 -0
  44. package/dist/agents/IAgent.d.ts +53 -0
  45. package/dist/agents/IAgent.js +4 -0
  46. package/dist/agents/IAgent.js.map +1 -0
  47. package/dist/agents/definitions/debugger.d.ts +2 -0
  48. package/dist/agents/definitions/debugger.js +6 -0
  49. package/dist/agents/definitions/debugger.js.map +1 -0
  50. package/dist/agents/definitions/doc-writer.d.ts +2 -0
  51. package/dist/agents/definitions/doc-writer.js +6 -0
  52. package/dist/agents/definitions/doc-writer.js.map +1 -0
  53. package/dist/agents/definitions/implementer.d.ts +2 -0
  54. package/dist/agents/definitions/implementer.js +6 -0
  55. package/dist/agents/definitions/implementer.js.map +1 -0
  56. package/dist/agents/definitions/planner.d.ts +2 -0
  57. package/dist/agents/definitions/planner.js +6 -0
  58. package/dist/agents/definitions/planner.js.map +1 -0
  59. package/dist/agents/definitions/researcher.d.ts +2 -0
  60. package/dist/agents/definitions/researcher.js +6 -0
  61. package/dist/agents/definitions/researcher.js.map +1 -0
  62. package/dist/agents/definitions/reviewer.d.ts +2 -0
  63. package/dist/agents/definitions/reviewer.js +6 -0
  64. package/dist/agents/definitions/reviewer.js.map +1 -0
  65. package/dist/agents/definitions/security.d.ts +2 -0
  66. package/dist/agents/definitions/security.js +6 -0
  67. package/dist/agents/definitions/security.js.map +1 -0
  68. package/dist/agents/definitions/tester.d.ts +2 -0
  69. package/dist/agents/definitions/tester.js +6 -0
  70. package/dist/agents/definitions/tester.js.map +1 -0
  71. package/dist/agents/index.d.ts +23 -0
  72. package/dist/agents/index.js +44 -0
  73. package/dist/agents/index.js.map +1 -0
  74. package/dist/agents/profiles.d.ts +26 -0
  75. package/dist/agents/profiles.js +197 -0
  76. package/dist/agents/profiles.js.map +1 -0
  77. package/dist/agents/types.d.ts +262 -0
  78. package/dist/agents/types.js +4 -0
  79. package/dist/agents/types.js.map +1 -0
  80. package/dist/api/cli.js +121 -3
  81. package/dist/api/cli.js.map +1 -1
  82. package/dist/api/doctor.js +0 -2
  83. package/dist/api/doctor.js.map +1 -1
  84. package/dist/api/mcp.js +0 -5
  85. package/dist/api/mcp.js.map +1 -1
  86. package/dist/artifact/fsm.js +3 -5
  87. package/dist/artifact/fsm.js.map +1 -1
  88. package/dist/artifact/sqliteStore.js +1 -14
  89. package/dist/artifact/sqliteStore.js.map +1 -1
  90. package/dist/artifact/store.js +2 -4
  91. package/dist/artifact/store.js.map +1 -1
  92. package/dist/artifact/types.d.ts +94 -1
  93. package/dist/artifact/types.js +0 -3
  94. package/dist/artifact/types.js.map +1 -1
  95. package/dist/context/AntiPatternRegistry.d.ts +38 -0
  96. package/dist/context/AntiPatternRegistry.js +203 -0
  97. package/dist/context/AntiPatternRegistry.js.map +1 -0
  98. package/dist/context/CavemanCompressor.d.ts +20 -0
  99. package/dist/context/CavemanCompressor.js +14 -0
  100. package/dist/context/CavemanCompressor.js.map +1 -0
  101. package/dist/context/ContextBuilder.js +132 -4
  102. package/dist/context/ContextBuilder.js.map +1 -1
  103. package/dist/context/SessionStartSequence.d.ts +54 -0
  104. package/dist/context/SessionStartSequence.js +153 -0
  105. package/dist/context/SessionStartSequence.js.map +1 -0
  106. package/dist/core/container.js +4 -2
  107. package/dist/core/container.js.map +1 -1
  108. package/dist/core/eventBus.js +5 -6
  109. package/dist/core/eventBus.js.map +1 -1
  110. package/dist/dashboard/DashboardServer.js +3 -6
  111. package/dist/dashboard/DashboardServer.js.map +1 -1
  112. package/dist/dashboard/index.d.ts +2 -0
  113. package/dist/dashboard/index.js +2 -0
  114. package/dist/dashboard/index.js.map +1 -0
  115. package/dist/dashboard/server.d.ts +52 -0
  116. package/dist/dashboard/server.js +83 -0
  117. package/dist/dashboard/server.js.map +1 -0
  118. package/dist/evolution/AutoDefectCreator.js +2 -4
  119. package/dist/evolution/AutoDefectCreator.js.map +1 -1
  120. package/dist/evolution/BehaviorTracker.js +3 -5
  121. package/dist/evolution/BehaviorTracker.js.map +1 -1
  122. package/dist/evolution/EvolutionEngine.js +3 -14
  123. package/dist/evolution/EvolutionEngine.js.map +1 -1
  124. package/dist/evolution/EvolutionEvaluator.js +1 -4
  125. package/dist/evolution/EvolutionEvaluator.js.map +1 -1
  126. package/dist/evolution/LessonValidator.js +0 -4
  127. package/dist/evolution/LessonValidator.js.map +1 -1
  128. package/dist/evolution/PatternExtractor.d.ts +40 -0
  129. package/dist/evolution/PatternExtractor.js +83 -0
  130. package/dist/evolution/PatternExtractor.js.map +1 -0
  131. package/dist/evolution/SkillCreator.d.ts +75 -0
  132. package/dist/evolution/SkillCreator.js +219 -0
  133. package/dist/evolution/SkillCreator.js.map +1 -0
  134. package/dist/fsm/FSMAgentBridge.js +11 -13
  135. package/dist/fsm/FSMAgentBridge.js.map +1 -1
  136. package/dist/guardrails/DetectorEnhanced.js +32 -30
  137. package/dist/guardrails/DetectorEnhanced.js.map +1 -1
  138. package/dist/guardrails/GateEvaluator.d.ts +18 -0
  139. package/dist/guardrails/GateEvaluator.js +129 -0
  140. package/dist/guardrails/GateEvaluator.js.map +1 -0
  141. package/dist/guardrails/Gateway.js +6 -7
  142. package/dist/guardrails/Gateway.js.map +1 -1
  143. package/dist/guardrails/ReviewEnforcer.d.ts +52 -0
  144. package/dist/guardrails/ReviewEnforcer.js +117 -0
  145. package/dist/guardrails/ReviewEnforcer.js.map +1 -0
  146. package/dist/guardrails/advancedDetectors.js +33 -31
  147. package/dist/guardrails/advancedDetectors.js.map +1 -1
  148. package/dist/guardrails/detectors.js +76 -16
  149. package/dist/guardrails/detectors.js.map +1 -1
  150. package/dist/hooks/HookDeployer.js +2 -3
  151. package/dist/hooks/HookDeployer.js.map +1 -1
  152. package/dist/hooks/HookGeneratorEnhanced.js +2 -3
  153. package/dist/hooks/HookGeneratorEnhanced.js.map +1 -1
  154. package/dist/index.d.ts +20 -2
  155. package/dist/index.js +19 -2
  156. package/dist/index.js.map +1 -1
  157. package/dist/knowledge/KnowledgeBase.d.ts +26 -0
  158. package/dist/knowledge/KnowledgeBase.js +109 -8
  159. package/dist/knowledge/KnowledgeBase.js.map +1 -1
  160. package/dist/knowledge/SQLiteKnowledgeBase.js +1 -3
  161. package/dist/knowledge/SQLiteKnowledgeBase.js.map +1 -1
  162. package/dist/knowledge/UbiquitousLanguageManager.d.ts +49 -0
  163. package/dist/knowledge/UbiquitousLanguageManager.js +133 -0
  164. package/dist/knowledge/UbiquitousLanguageManager.js.map +1 -0
  165. package/dist/routing/ModelRouter.js +0 -2
  166. package/dist/routing/ModelRouter.js.map +1 -1
  167. package/dist/skills/ExternalSkills.d.ts +3 -0
  168. package/dist/skills/ExternalSkills.js +20 -0
  169. package/dist/skills/ExternalSkills.js.map +1 -0
  170. package/dist/skills/GrillingSessionSkill.d.ts +65 -0
  171. package/dist/skills/GrillingSessionSkill.js +113 -0
  172. package/dist/skills/GrillingSessionSkill.js.map +1 -0
  173. package/dist/skills/GrillingTemplates.d.ts +7 -0
  174. package/dist/skills/GrillingTemplates.js +38 -0
  175. package/dist/skills/GrillingTemplates.js.map +1 -0
  176. package/dist/skills/SkillDiscovery.d.ts +45 -20
  177. package/dist/skills/SkillDiscovery.js +201 -117
  178. package/dist/skills/SkillDiscovery.js.map +1 -1
  179. package/dist/skills/SkillExecutor.js +1 -3
  180. package/dist/skills/SkillExecutor.js.map +1 -1
  181. package/dist/skills/SkillInstaller.d.ts +40 -0
  182. package/dist/skills/SkillInstaller.js +112 -0
  183. package/dist/skills/SkillInstaller.js.map +1 -0
  184. package/dist/skills/SkillRegistry.js +1 -2
  185. package/dist/skills/SkillRegistry.js.map +1 -1
  186. package/dist/skills/TriggerEngine.js +3 -5
  187. package/dist/skills/TriggerEngine.js.map +1 -1
  188. package/dist/skills/index.d.ts +3 -0
  189. package/dist/skills/index.js +3 -0
  190. package/dist/skills/index.js.map +1 -1
  191. package/dist/tasks/IssueTriageFSM.d.ts +26 -0
  192. package/dist/tasks/IssueTriageFSM.js +107 -0
  193. package/dist/tasks/IssueTriageFSM.js.map +1 -0
  194. package/dist/tasks/TaskEngine.js +1 -5
  195. package/dist/tasks/TaskEngine.js.map +1 -1
  196. package/dist/workflows/DAGBuilder.d.ts +52 -0
  197. package/dist/workflows/DAGBuilder.js +169 -0
  198. package/dist/workflows/DAGBuilder.js.map +1 -0
  199. package/dist/workflows/WorkflowExecutor.js +2 -4
  200. package/dist/workflows/WorkflowExecutor.js.map +1 -1
  201. package/dist/workflows/WorkflowOrchestrator.d.ts +48 -0
  202. package/dist/workflows/WorkflowOrchestrator.js +181 -0
  203. package/dist/workflows/WorkflowOrchestrator.js.map +1 -0
  204. package/dist/workflows/index.d.ts +2 -4
  205. package/dist/workflows/index.js +4 -4
  206. package/dist/workflows/index.js.map +1 -1
  207. package/package.json +2 -2
@@ -1,12 +1,14 @@
1
- // SCALE Engine — Knowledge Base (W7 完整实现)
1
+ // SCALE Engine — Knowledge Base (W7 完整实现 + v0.7.2 TF-IDF)
2
2
  // 设计参考:docs/03-CORE-MODULES.md §3.4
3
- import { logger } from '../core/logger.js';
3
+ // Phase 3 增强:TF-IDF 文本相似度计算
4
4
  export class KnowledgeBase {
5
- eventBus;
6
- entries = new Map();
7
- seq = 0;
8
5
  constructor(eventBus) {
9
6
  this.eventBus = eventBus;
7
+ this.entries = new Map();
8
+ this.seq = 0;
9
+ // TF-IDF cache
10
+ this.documentFrequencies = new Map();
11
+ this.totalDocuments = 0;
10
12
  }
11
13
  async add(input) {
12
14
  const entry = {
@@ -36,9 +38,108 @@ export class KnowledgeBase {
36
38
  return results.slice(0, query.limit ?? 10);
37
39
  }
38
40
  async recallByVector(text, topK) {
39
- // W7 实现:Qdrant 集成
40
- logger.debug({ text, topK }, 'recallByVector (skeleton, falling back to recall)');
41
- return this.recall({ verifiedOnly: true, limit: topK });
41
+ // v0.7.2: TF-IDF implementation (Phase 3 enhancement)
42
+ const queryTerms = this.tokenize(text);
43
+ if (queryTerms.length === 0)
44
+ return this.recall({ verifiedOnly: true, limit: topK });
45
+ const scored = [];
46
+ for (const entry of this.entries.values()) {
47
+ // Use title + tags for document representation (contentRef is file path)
48
+ const docText = `${entry.title} ${entry.tags.join(' ')}`;
49
+ const docTerms = this.tokenize(docText);
50
+ const score = this.cosineSimilarity(queryTerms, docTerms);
51
+ if (score > 0)
52
+ scored.push({ entry, score });
53
+ }
54
+ // Fallback to verified recall if no TF-IDF matches
55
+ if (scored.length === 0)
56
+ return this.recall({ verifiedOnly: true, limit: topK });
57
+ // Sort by TF-IDF similarity, then by relevance as tiebreaker
58
+ scored.sort((a, b) => b.score - a.score || b.entry.relevance - a.entry.relevance);
59
+ return scored.slice(0, topK).map(s => s.entry);
60
+ }
61
+ // ============================================================================
62
+ // TF-IDF Helper Methods (Phase 3)
63
+ // ============================================================================
64
+ /**
65
+ * Tokenize text into lowercase terms (simple word splitting)
66
+ */
67
+ tokenize(text) {
68
+ return text
69
+ .toLowerCase()
70
+ .replace(/[^\w\s]/g, ' ')
71
+ .split(/\s+/)
72
+ .filter(t => t.length > 2); // Skip short terms
73
+ }
74
+ /**
75
+ * Calculate term frequency (TF) for a term in a document
76
+ */
77
+ termFrequency(term, docTerms) {
78
+ const count = docTerms.filter(t => t === term).length;
79
+ return count / docTerms.length;
80
+ }
81
+ /**
82
+ * Calculate inverse document frequency (IDF) for a term
83
+ */
84
+ inverseDocumentFrequency(term) {
85
+ // Update document frequencies if needed
86
+ if (this.documentFrequencies.size === 0 || this.totalDocuments !== this.entries.size) {
87
+ this.rebuildDocumentFrequencies();
88
+ }
89
+ const df = this.documentFrequencies.get(term) ?? 0;
90
+ if (df === 0)
91
+ return 0;
92
+ return Math.log(this.totalDocuments / df);
93
+ }
94
+ /**
95
+ * Rebuild document frequency cache
96
+ */
97
+ rebuildDocumentFrequencies() {
98
+ this.documentFrequencies.clear();
99
+ this.totalDocuments = this.entries.size;
100
+ for (const entry of this.entries.values()) {
101
+ // Use title + tags for document representation (contentRef is file path)
102
+ const docText = `${entry.title} ${entry.tags.join(' ')}`;
103
+ const terms = new Set(this.tokenize(docText));
104
+ for (const term of terms) {
105
+ this.documentFrequencies.set(term, (this.documentFrequencies.get(term) ?? 0) + 1);
106
+ }
107
+ }
108
+ }
109
+ /**
110
+ * Calculate TF-IDF vector for a document
111
+ */
112
+ tfidfVector(terms) {
113
+ const tfidf = new Map();
114
+ const uniqueTerms = new Set(terms);
115
+ for (const term of uniqueTerms) {
116
+ const tf = this.termFrequency(term, terms);
117
+ const idf = this.inverseDocumentFrequency(term);
118
+ if (tf * idf > 0)
119
+ tfidf.set(term, tf * idf);
120
+ }
121
+ return tfidf;
122
+ }
123
+ /**
124
+ * Calculate cosine similarity between two term sets
125
+ */
126
+ cosineSimilarity(queryTerms, docTerms) {
127
+ const queryVec = this.tfidfVector(queryTerms);
128
+ const docVec = this.tfidfVector(docTerms);
129
+ if (queryVec.size === 0 || docVec.size === 0)
130
+ return 0;
131
+ // Dot product
132
+ let dot = 0;
133
+ for (const [term, weight] of queryVec) {
134
+ if (docVec.has(term))
135
+ dot += weight * docVec.get(term);
136
+ }
137
+ // Magnitudes
138
+ const queryMag = Math.sqrt(Array.from(queryVec.values()).reduce((s, w) => s + w * w, 0));
139
+ const docMag = Math.sqrt(Array.from(docVec.values()).reduce((s, w) => s + w * w, 0));
140
+ if (queryMag === 0 || docMag === 0)
141
+ return 0;
142
+ return dot / (queryMag * docMag);
42
143
  }
43
144
  async markHelpful(id, sessionId) {
44
145
  const entry = this.entries.get(id);
@@ -1 +1 @@
1
- {"version":3,"file":"KnowledgeBase.js","sourceRoot":"","sources":["../../src/knowledge/KnowledgeBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KnowledgeBase.js","sourceRoot":"","sources":["../../src/knowledge/KnowledgeBase.ts"],"names":[],"mappings":"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"}
@@ -29,11 +29,9 @@ CREATE INDEX IF NOT EXISTS idx_kb_verified ON knowledge_entries(verified);
29
29
  CREATE INDEX IF NOT EXISTS idx_kb_created ON knowledge_entries(created_at);
30
30
  `;
31
31
  export class SQLiteKnowledgeBase {
32
- eventBus;
33
- db;
34
- seq = 0;
35
32
  constructor(eventBus, opts = {}) {
36
33
  this.eventBus = eventBus;
34
+ this.seq = 0;
37
35
  const dbPath = opts.dbPath ?? '.scale/knowledge.db';
38
36
  mkdirSync(dirname(dbPath), { recursive: true });
39
37
  this.db = new Database(dbPath);
@@ -1 +1 @@
1
- {"version":3,"file":"SQLiteKnowledgeBase.js","sourceRoot":"","sources":["../../src/knowledge/SQLiteKnowledgeBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLiteKnowledgeBase.js","sourceRoot":"","sources":["../../src/knowledge/SQLiteKnowledgeBase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { IEventBus } from "../core/eventBus.js";
2
+ import type { TermDefinition, TermSource, ADRRecord, AmbiguityReport } from "../artifact/types.js";
3
+ export interface IUbiquitousLanguageManager {
4
+ loadContextMd(): Map<string, TermDefinition>;
5
+ updateTerm(term: string, definition: string, source: TermSource): void;
6
+ removeTerm(term: string): void;
7
+ detectAmbiguity(): AmbiguityReport[];
8
+ proposeADR(title: string, context: string, decision: string): ADRRecord;
9
+ acceptADR(id: string): void;
10
+ deprecateADR(id: string, supersededBy: string): void;
11
+ generateContextMd(): string;
12
+ generateADRMarkdown(adr: ADRRecord): string;
13
+ sync(): Promise<void>;
14
+ getTerm(term: string): TermDefinition | undefined;
15
+ getADR(id: string): ADRRecord | undefined;
16
+ listTerms(): TermDefinition[];
17
+ listADRs(): ADRRecord[];
18
+ }
19
+ export declare class UbiquitousLanguageManager implements IUbiquitousLanguageManager {
20
+ private contextMdPath;
21
+ private adrDir;
22
+ private terms;
23
+ private adrs;
24
+ private eventBus;
25
+ private dirty;
26
+ constructor(projectDir: string, eventBus?: IEventBus, contextMdPath?: string, adrDir?: string);
27
+ loadContextMd(): Map<string, TermDefinition>;
28
+ updateTerm(term: string, definition: string, source: TermSource): void;
29
+ removeTerm(term: string): void;
30
+ detectAmbiguity(): AmbiguityReport[];
31
+ getTerm(term: string): TermDefinition | undefined;
32
+ listTerms(): TermDefinition[];
33
+ proposeADR(title: string, context: string, decision: string): ADRRecord;
34
+ acceptADR(id: string): void;
35
+ deprecateADR(id: string, supersededBy: string): void;
36
+ getADR(id: string): ADRRecord | undefined;
37
+ listADRs(): ADRRecord[];
38
+ generateContextMd(): string;
39
+ generateADRMarkdown(adr: ADRRecord): string;
40
+ sync(): Promise<void>;
41
+ private loadFromFiles;
42
+ private loadADRs;
43
+ private parseContextMd;
44
+ private parseADRMarkdown;
45
+ private getNextADRNumber;
46
+ private slugify;
47
+ private ensureDir;
48
+ }
49
+ export declare function createUbiquitousLanguageManager(projectDir: string, eventBus?: IEventBus): IUbiquitousLanguageManager;
@@ -0,0 +1,133 @@
1
+ // SCALE Engine - Ubiquitous Language Manager (mattpocock/skills style)
2
+ import { existsSync, mkdirSync, readFileSync, writeFileSync, readdirSync } from "node:fs";
3
+ import { join, dirname } from "node:path";
4
+ import { logger } from "../core/logger.js";
5
+ export class UbiquitousLanguageManager {
6
+ constructor(projectDir, eventBus, contextMdPath, adrDir) {
7
+ this.terms = new Map();
8
+ this.adrs = new Map();
9
+ this.dirty = false;
10
+ this.contextMdPath = contextMdPath ?? join(projectDir, "CONTEXT.md");
11
+ this.adrDir = adrDir ?? join(projectDir, "docs", "adr");
12
+ this.eventBus = eventBus ?? null;
13
+ this.loadFromFiles();
14
+ }
15
+ loadContextMd() {
16
+ if (!existsSync(this.contextMdPath))
17
+ return this.terms;
18
+ const content = readFileSync(this.contextMdPath, "utf-8");
19
+ this.terms = this.parseContextMd(content);
20
+ logger.info({ count: this.terms.size }, "Loaded terms");
21
+ return this.terms;
22
+ }
23
+ updateTerm(term, definition, source) {
24
+ const existing = this.terms.get(term);
25
+ this.terms.set(term, { term, definition, examples: existing?.examples ?? [], aliases: existing?.aliases ?? [], lastUpdated: Date.now(), source });
26
+ this.dirty = true;
27
+ this.eventBus?.emit("term.updated", { term, source });
28
+ }
29
+ removeTerm(term) { this.terms.delete(term); this.dirty = true; }
30
+ detectAmbiguity() {
31
+ const reports = [];
32
+ for (const [term, def] of this.terms) {
33
+ for (const alias of def.aliases) {
34
+ const aliasDef = this.terms.get(alias);
35
+ if (aliasDef && aliasDef.definition !== def.definition)
36
+ reports.push({ term, definitions: [def.definition, aliasDef.definition], sources: [def.source, aliasDef.source] });
37
+ }
38
+ }
39
+ if (reports.length)
40
+ this.eventBus?.emit("term.ambiguity_detected", { reports });
41
+ return reports;
42
+ }
43
+ getTerm(term) { return this.terms.get(term); }
44
+ listTerms() { return Array.from(this.terms.values()); }
45
+ proposeADR(title, context, decision) {
46
+ const now = Date.now();
47
+ const num = this.getNextADRNumber();
48
+ const id = "ADR-" + num + "-" + this.slugify(title);
49
+ const adr = { id, title, status: "proposed", context, decision, consequences: "", createdAt: now, updatedAt: now };
50
+ this.adrs.set(id, adr);
51
+ this.dirty = true;
52
+ this.eventBus?.emit("adr.proposed", { adrId: id });
53
+ return adr;
54
+ }
55
+ acceptADR(id) {
56
+ const adr = this.adrs.get(id);
57
+ if (!adr || adr.status !== "proposed")
58
+ return;
59
+ adr.status = "accepted";
60
+ adr.updatedAt = Date.now();
61
+ this.dirty = true;
62
+ this.eventBus?.emit("adr.accepted", { adrId: id });
63
+ }
64
+ deprecateADR(id, supersededBy) {
65
+ const adr = this.adrs.get(id);
66
+ if (!adr || adr.status !== "accepted")
67
+ return;
68
+ adr.status = "deprecated";
69
+ adr.supersededBy = supersededBy;
70
+ adr.updatedAt = Date.now();
71
+ this.dirty = true;
72
+ this.eventBus?.emit("adr.deprecated", { adrId: id, supersededBy });
73
+ }
74
+ getADR(id) { return this.adrs.get(id); }
75
+ listADRs() { return Array.from(this.adrs.values()); }
76
+ generateContextMd() {
77
+ const lines = ["# CONTEXT.md", "", "| Term | Definition | Examples | Aliases | Source |", "|------|------------|----------|---------|--------|"];
78
+ for (const t of this.terms.values())
79
+ lines.push("| " + t.term + " | " + t.definition + " | " + (t.examples.join("; ") || "-") + " | " + (t.aliases.join(", ") || "-") + " | " + t.source + " |");
80
+ return lines.join("\n");
81
+ }
82
+ generateADRMarkdown(adr) {
83
+ return "# " + adr.id + ": " + adr.title + "\n\n**Status**: " + adr.status + "\n\n## Context\n" + adr.context + "\n\n## Decision\n" + adr.decision;
84
+ }
85
+ async sync() {
86
+ if (!this.dirty)
87
+ return;
88
+ this.ensureDir(dirname(this.contextMdPath));
89
+ writeFileSync(this.contextMdPath, this.generateContextMd(), "utf-8");
90
+ this.ensureDir(this.adrDir);
91
+ for (const adr of this.adrs.values())
92
+ writeFileSync(join(this.adrDir, adr.id + ".md"), this.generateADRMarkdown(adr), "utf-8");
93
+ this.dirty = false;
94
+ }
95
+ loadFromFiles() { this.loadContextMd(); this.loadADRs(); }
96
+ loadADRs() {
97
+ if (!existsSync(this.adrDir))
98
+ return;
99
+ for (const file of readdirSync(this.adrDir)) {
100
+ if (!file.endsWith(".md") || !file.startsWith("ADR-"))
101
+ continue;
102
+ const adr = this.parseADRMarkdown(readFileSync(join(this.adrDir, file), "utf-8"), file.replace(".md", ""));
103
+ if (adr)
104
+ this.adrs.set(adr.id, adr);
105
+ }
106
+ }
107
+ parseContextMd(content) {
108
+ const terms = new Map();
109
+ for (const line of content.split("\n")) {
110
+ if (line.startsWith("|") && !line.includes("Term") && !line.includes("------")) {
111
+ const parts = line.split("|").map(p => p.trim()).filter(Boolean);
112
+ if (parts.length >= 5)
113
+ terms.set(parts[0], { term: parts[0], definition: parts[1], examples: parts[2] === "-" ? [] : parts[2].split("; "), aliases: parts[3] === "-" ? [] : parts[3].split(", "), lastUpdated: Date.now(), source: parts[4] || "user-defined" });
114
+ }
115
+ }
116
+ return terms;
117
+ }
118
+ parseADRMarkdown(content, id) {
119
+ const titleMatch = /^# ADR-\d+: (.+)$/m.exec(content);
120
+ const statusMatch = /\*\*Status\*\*:\s*(\w+)/.exec(content);
121
+ return { id, title: titleMatch?.[1] ?? "Untitled", status: statusMatch?.[1] ?? "proposed", context: "", decision: "", consequences: "", createdAt: Date.now(), updatedAt: Date.now() };
122
+ }
123
+ getNextADRNumber() { let max = 0; for (const adr of this.adrs.values()) {
124
+ const m = /^ADR-(\d+)/.exec(adr.id);
125
+ if (m)
126
+ max = Math.max(max, parseInt(m[1], 10));
127
+ } return max + 1; }
128
+ slugify(title) { return title.toLowerCase().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-").slice(0, 50); }
129
+ ensureDir(path) { if (!existsSync(path))
130
+ mkdirSync(path, { recursive: true }); }
131
+ }
132
+ export function createUbiquitousLanguageManager(projectDir, eventBus) { return new UbiquitousLanguageManager(projectDir, eventBus); }
133
+ //# sourceMappingURL=UbiquitousLanguageManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UbiquitousLanguageManager.js","sourceRoot":"","sources":["../../src/knowledge/UbiquitousLanguageManager.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACzF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGzC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAmB1C,MAAM,OAAO,yBAAyB;IAQpC,YAAY,UAAkB,EAAE,QAAoB,EAAE,aAAsB,EAAE,MAAe;QALrF,UAAK,GAAG,IAAI,GAAG,EAA0B,CAAA;QACzC,SAAI,GAAG,IAAI,GAAG,EAAqB,CAAA;QAEnC,UAAK,GAAG,KAAK,CAAA;QAGnB,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;QACpE,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAA;QAChC,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAA;QACtD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QACzC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,CAAA;QACvD,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,UAAU,CAAC,IAAY,EAAE,UAAkB,EAAE,MAAkB;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QACjJ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,UAAU,CAAC,IAAY,IAAU,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA,CAAC,CAAC;IAE7E,eAAe;QACb,MAAM,OAAO,GAAsB,EAAE,CAAA;QACrC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBACtC,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,CAAC,UAAU;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC5K,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QAC/E,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,OAAO,CAAC,IAAY,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;IACrD,SAAS,KAAK,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC,CAAC;IAEtD,UAAU,CAAC,KAAa,EAAE,OAAe,EAAE,QAAgB;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACnC,MAAM,EAAE,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACnD,MAAM,GAAG,GAAc,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAA;QAC7H,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;QAClD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC7B,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU;YAAE,OAAM;QAC7C,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC;QAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACtE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,YAAY,CAAC,EAAU,EAAE,YAAoB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC7B,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU;YAAE,OAAM;QAC7C,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC;QAAC,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;QAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACzG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,CAAC,EAAU,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IAC/C,QAAQ,KAAK,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC,CAAC;IAEpD,iBAAiB;QACf,MAAM,KAAK,GAAG,CAAC,cAAc,EAAE,EAAE,EAAE,qDAAqD,EAAE,qDAAqD,CAAC,CAAA;QAChJ,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;QAChM,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,mBAAmB,CAAC,GAAc;QAChC,OAAO,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,KAAK,GAAG,kBAAkB,GAAG,GAAG,CAAC,MAAM,GAAG,kBAAkB,GAAG,GAAG,CAAC,OAAO,GAAG,mBAAmB,GAAG,GAAG,CAAC,QAAQ,CAAA;IACnJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAM;QACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAA;QAC3C,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,CAAC,CAAA;QACpE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;QAC9H,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAEO,aAAa,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA,CAAC,CAAC;IACzD,QAAQ;QACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAM;QACpC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,SAAQ;YAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;YAC1G,IAAI,GAAG;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IACO,cAAc,CAAC,OAAe;QACpC,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAA;QAC/C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBAChE,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;oBAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAe,IAAI,cAAc,EAAE,CAAC,CAAA;YAChR,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACO,gBAAgB,CAAC,OAAe,EAAE,EAAU;QAClD,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,WAAW,GAAG,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAc,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;IACrM,CAAC;IACO,gBAAgB,KAAa,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAAC,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAAC,IAAI,CAAC;YAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAA,CAAC,CAAC;IACxL,OAAO,CAAC,KAAa,IAAY,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,CAAC;IACxH,SAAS,CAAC,IAAY,IAAU,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA,CAAC,CAAC;CACtG;AAED,MAAM,UAAU,+BAA+B,CAAC,UAAkB,EAAE,QAAoB,IAAgC,OAAO,IAAI,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA,CAAC,CAAC"}
@@ -9,8 +9,6 @@ export const DEFAULT_MODELS = {
9
9
  local: { tier: 'local', name: 'local-llm', maxTokens: 32_000, costPerMToken: 0.0 },
10
10
  };
11
11
  export class ModelRouter {
12
- eventBus;
13
- models;
14
12
  constructor(eventBus, models) {
15
13
  this.eventBus = eventBus;
16
14
  this.models = { ...DEFAULT_MODELS, ...models };
@@ -1 +1 @@
1
- {"version":3,"file":"ModelRouter.js","sourceRoot":"","sources":["../../src/routing/ModelRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelRouter.js","sourceRoot":"","sources":["../../src/routing/ModelRouter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { SkillRegistry } from './SkillRegistry.js';
2
+ import type { IEventBus } from '../core/eventBus.js';
3
+ export declare function registerExternalSkills(registry: SkillRegistry, eventBus: IEventBus): void;
@@ -0,0 +1,20 @@
1
+ export function registerExternalSkills(registry, eventBus) {
2
+ const skills = [
3
+ { id: 'web-access', name: 'Web Access', description: 'CDP browser automation', domain: 'execution', triggers: [{ type: 'taskType', value: ['web-scraping'], weight: 1.0 }], execution: { type: 'skill-file', config: { skillPath: '~/.claude/skills/web-access/SKILL.md' } }, priority: 85, installed: true },
4
+ { id: 'playwright', name: 'Playwright', description: 'CLI browser automation', domain: 'execution', triggers: [{ type: 'taskType', value: ['e2e-testing'], weight: 0.9 }], execution: { type: 'skill-file', config: { skillPath: '~/.claude/skills/playwright/SKILL.md' } }, priority: 75, installed: true },
5
+ { id: 'playwright-interactive', name: 'Playwright Interactive', description: 'Persistent session UI debug', domain: 'verification', triggers: [{ type: 'taskType', value: ['ui-debugging'], weight: 0.95 }], execution: { type: 'skill-file', config: { skillPath: '~/.claude/skills/playwright-interactive/SKILL.md' } }, priority: 80, installed: true },
6
+ { id: 'cua', name: 'CUA', description: 'Computer use agent', domain: 'execution', triggers: [{ type: 'taskType', value: ['desktop-automation'], weight: 1.0 }], execution: { type: 'cli-command', config: { command: 'npx @anthropic/mcp-cua' } }, priority: 90, installed: false, source: 'https://github.com/trycua/cua' },
7
+ { id: 'awesome-design-md', name: 'Awesome Design', description: 'Brand design specs', domain: 'planning', triggers: [{ type: 'taskType', value: ['ui-design'], weight: 1.0 }], execution: { type: 'skill-file', config: { skillPath: '~/.claude/skills/awesome-design-md/SKILL.md' } }, priority: 88, installed: true },
8
+ { id: 'ui-ux-pro-max', name: 'UI/UX Pro Max', description: 'UX guidelines database', domain: 'planning', triggers: [{ type: 'taskType', value: ['ui-design'], weight: 0.95 }], execution: { type: 'skill-file', config: { skillPath: '~/.claude/skills/ui-ux-pro-max/SKILL.md' } }, priority: 85, installed: true },
9
+ { id: 'graphify', name: 'Graphify', description: 'Knowledge graph generator', domain: 'context', triggers: [{ type: 'taskType', value: ['knowledge-graph'], weight: 1.0 }], execution: { type: 'skill-file', config: { skillPath: '~/.claude/skills/graphify/SKILL.md' } }, priority: 90, installed: true },
10
+ // 未安装技能(SkillInstaller 可交互式安装)
11
+ { id: 'fireworks-tech-graph', name: 'Fireworks Tech Graph', description: 'Tech flow diagrams', domain: 'planning', triggers: [{ type: 'taskType', value: ['diagram'], weight: 1.0 }], execution: { type: 'skill-file', config: { skillPath: '~/.claude/skills/fireworks-tech-graph/SKILL.md' } }, priority: 82, installed: false, source: 'https://github.com/yizhiyanhua-ai/fireworks-tech-graph' },
12
+ { id: 'excalidraw-diagram-generator', name: 'Excalidraw Generator', description: 'Hand-drawn style diagrams', domain: 'planning', triggers: [{ type: 'taskType', value: ['sketch-diagram'], weight: 0.9 }], execution: { type: 'skill-file', config: { skillPath: '~/.claude/skills/excalidraw-diagram-generator/SKILL.md' } }, priority: 78, installed: false, source: 'https://github.com/github/awesome-copilot/tree/main/skills/excalidraw-diagram-generator' },
13
+ { id: 'architecture-diagram-generator', name: 'Architecture Diagram', description: 'System architecture diagrams', domain: 'planning', triggers: [{ type: 'taskType', value: ['architecture-diagram'], weight: 1.0 }], execution: { type: 'skill-file', config: { skillPath: '~/.claude/skills/architecture-diagram-generator/SKILL.md' } }, priority: 85, installed: false, source: 'https://github.com/Cocoon-AI/architecture-diagram-generator' },
14
+ { id: 'hyperframes', name: 'Hyperframes', description: 'HeyGen video generation', domain: 'execution', triggers: [{ type: 'taskType', value: ['video-generation'], weight: 1.0 }], execution: { type: 'cli-command', config: { command: 'npx @heygen/hyperframes' } }, priority: 75, installed: false, source: 'https://github.com/heygen-com/hyperframes' },
15
+ { id: 'guizang-ppt-skill', name: 'Guizang PPT', description: 'PPT auto generation', domain: 'execution', triggers: [{ type: 'taskType', value: ['ppt-generation'], weight: 1.0 }], execution: { type: 'skill-file', config: { skillPath: '~/.claude/skills/guizang-ppt-skill/SKILL.md' } }, priority: 70, installed: false, source: 'https://github.com/op7418/guizang-ppt-skill' },
16
+ ];
17
+ registry.registerBatch(skills);
18
+ eventBus.emit('external-skills.registered', { count: skills.length });
19
+ }
20
+ //# sourceMappingURL=ExternalSkills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalSkills.js","sourceRoot":"","sources":["../../src/skills/ExternalSkills.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import type { IEventBus } from "../core/eventBus.js";
2
+ import type { Timestamp } from "../artifact/types.js";
3
+ import { type GrillingTopic } from "./GrillingTemplates.js";
4
+ export interface GrillingOption {
5
+ id: string;
6
+ label: string;
7
+ explanation: string;
8
+ risk?: string;
9
+ }
10
+ export interface GrillingQuestion {
11
+ id: string;
12
+ question: string;
13
+ options: GrillingOption[];
14
+ branchMap: Record<string, string>;
15
+ contextHint?: string;
16
+ }
17
+ export interface GrillingSession {
18
+ id: string;
19
+ topic: GrillingTopic;
20
+ currentNodeId: string;
21
+ history: Array<{
22
+ questionId: string;
23
+ selectedOption: string;
24
+ timestamp: Timestamp;
25
+ }>;
26
+ concluded: boolean;
27
+ conclusion?: GrillingConclusion;
28
+ }
29
+ export interface GrillingConclusion {
30
+ summary: string;
31
+ decisions: string[];
32
+ risks: string[];
33
+ nextSteps: string[];
34
+ artifactsToUpdate: string[];
35
+ }
36
+ export interface GrillingResponse {
37
+ type: "question" | "conclusion";
38
+ question?: GrillingQuestion;
39
+ conclusion?: GrillingConclusion;
40
+ }
41
+ export interface IGrillingSessionManager {
42
+ startSession(topic: GrillingTopic): GrillingSession;
43
+ handleAnswer(sessionId: string, selectedOption: string): GrillingResponse;
44
+ getSession(sessionId: string): GrillingSession | undefined;
45
+ endSession(sessionId: string): GrillingConclusion | undefined;
46
+ }
47
+ export declare class GrillingSessionManager implements IGrillingSessionManager {
48
+ private sessions;
49
+ private templates;
50
+ private eventBus;
51
+ constructor(eventBus?: IEventBus);
52
+ startSession(topic: GrillingTopic): GrillingSession;
53
+ handleAnswer(sessionId: string, selectedOption: string): GrillingResponse;
54
+ getSession(sessionId: string): GrillingSession | undefined;
55
+ endSession(sessionId: string): GrillingConclusion | undefined;
56
+ private getCurrentQuestion;
57
+ private concludeSession;
58
+ private extractDecisions;
59
+ private extractRisks;
60
+ private findQuestion;
61
+ private generateSummary;
62
+ private generateNextSteps;
63
+ private suggestArtifactUpdates;
64
+ }
65
+ export declare function createGrillingSessionManager(eventBus?: IEventBus): IGrillingSessionManager;