dino-spec 17.4.3 → 17.6.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 (277) hide show
  1. package/README.md +16 -1
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js +10 -0
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/core/agents/__tests__/confidence-gate.test.d.ts +5 -0
  6. package/dist/core/agents/__tests__/confidence-gate.test.d.ts.map +1 -0
  7. package/dist/core/agents/__tests__/confidence-gate.test.js +329 -0
  8. package/dist/core/agents/__tests__/confidence-gate.test.js.map +1 -0
  9. package/dist/core/agents/__tests__/gap-detector.test.d.ts +5 -0
  10. package/dist/core/agents/__tests__/gap-detector.test.d.ts.map +1 -0
  11. package/dist/core/agents/__tests__/gap-detector.test.js +609 -0
  12. package/dist/core/agents/__tests__/gap-detector.test.js.map +1 -0
  13. package/dist/core/agents/__tests__/learning-loop.test.d.ts +5 -0
  14. package/dist/core/agents/__tests__/learning-loop.test.d.ts.map +1 -0
  15. package/dist/core/agents/__tests__/learning-loop.test.js +663 -0
  16. package/dist/core/agents/__tests__/learning-loop.test.js.map +1 -0
  17. package/dist/core/agents/__tests__/parallel-executor.test.d.ts +5 -0
  18. package/dist/core/agents/__tests__/parallel-executor.test.d.ts.map +1 -0
  19. package/dist/core/agents/__tests__/parallel-executor.test.js +610 -0
  20. package/dist/core/agents/__tests__/parallel-executor.test.js.map +1 -0
  21. package/dist/core/agents/__tests__/research-validator.test.js +5 -5
  22. package/dist/core/agents/__tests__/research-validator.test.js.map +1 -1
  23. package/dist/core/agents/__tests__/skill-creator.test.d.ts +5 -0
  24. package/dist/core/agents/__tests__/skill-creator.test.d.ts.map +1 -0
  25. package/dist/core/agents/__tests__/skill-creator.test.js +443 -0
  26. package/dist/core/agents/__tests__/skill-creator.test.js.map +1 -0
  27. package/dist/core/agents/__tests__/state-persistence.test.d.ts +2 -0
  28. package/dist/core/agents/__tests__/state-persistence.test.d.ts.map +1 -0
  29. package/dist/core/agents/__tests__/state-persistence.test.js +270 -0
  30. package/dist/core/agents/__tests__/state-persistence.test.js.map +1 -0
  31. package/dist/core/agents/__tests__/validation-cache.test.d.ts +2 -0
  32. package/dist/core/agents/__tests__/validation-cache.test.d.ts.map +1 -0
  33. package/dist/core/agents/__tests__/validation-cache.test.js +181 -0
  34. package/dist/core/agents/__tests__/validation-cache.test.js.map +1 -0
  35. package/dist/core/agents/ambiguity-resolver.d.ts +14 -1
  36. package/dist/core/agents/ambiguity-resolver.d.ts.map +1 -1
  37. package/dist/core/agents/ambiguity-resolver.js +24 -2
  38. package/dist/core/agents/ambiguity-resolver.js.map +1 -1
  39. package/dist/core/agents/blackboard.d.ts +22 -3
  40. package/dist/core/agents/blackboard.d.ts.map +1 -1
  41. package/dist/core/agents/blackboard.js +52 -2
  42. package/dist/core/agents/blackboard.js.map +1 -1
  43. package/dist/core/agents/circuit-breaker.d.ts +79 -1
  44. package/dist/core/agents/circuit-breaker.d.ts.map +1 -1
  45. package/dist/core/agents/circuit-breaker.js +175 -1
  46. package/dist/core/agents/circuit-breaker.js.map +1 -1
  47. package/dist/core/agents/clarification-phase.d.ts +128 -0
  48. package/dist/core/agents/clarification-phase.d.ts.map +1 -0
  49. package/dist/core/agents/clarification-phase.js +375 -0
  50. package/dist/core/agents/clarification-phase.js.map +1 -0
  51. package/dist/core/agents/confidence-gate.d.ts +133 -4
  52. package/dist/core/agents/confidence-gate.d.ts.map +1 -1
  53. package/dist/core/agents/confidence-gate.js +376 -9
  54. package/dist/core/agents/confidence-gate.js.map +1 -1
  55. package/dist/core/agents/correction-tracker.d.ts +197 -0
  56. package/dist/core/agents/correction-tracker.d.ts.map +1 -0
  57. package/dist/core/agents/correction-tracker.js +366 -0
  58. package/dist/core/agents/correction-tracker.js.map +1 -0
  59. package/dist/core/agents/dependency-graph.d.ts +193 -0
  60. package/dist/core/agents/dependency-graph.d.ts.map +1 -0
  61. package/dist/core/agents/dependency-graph.js +462 -0
  62. package/dist/core/agents/dependency-graph.js.map +1 -0
  63. package/dist/core/agents/gap-detector.d.ts +277 -0
  64. package/dist/core/agents/gap-detector.d.ts.map +1 -0
  65. package/dist/core/agents/gap-detector.js +540 -0
  66. package/dist/core/agents/gap-detector.js.map +1 -0
  67. package/dist/core/agents/index.d.ts +14 -1
  68. package/dist/core/agents/index.d.ts.map +1 -1
  69. package/dist/core/agents/index.js +26 -1
  70. package/dist/core/agents/index.js.map +1 -1
  71. package/dist/core/agents/message-protocol.d.ts +13 -2
  72. package/dist/core/agents/message-protocol.d.ts.map +1 -1
  73. package/dist/core/agents/message-protocol.js +20 -1
  74. package/dist/core/agents/message-protocol.js.map +1 -1
  75. package/dist/core/agents/parallel-executor.d.ts +182 -0
  76. package/dist/core/agents/parallel-executor.d.ts.map +1 -0
  77. package/dist/core/agents/parallel-executor.js +474 -0
  78. package/dist/core/agents/parallel-executor.js.map +1 -0
  79. package/dist/core/agents/pattern-detector.d.ts +157 -0
  80. package/dist/core/agents/pattern-detector.d.ts.map +1 -0
  81. package/dist/core/agents/pattern-detector.js +370 -0
  82. package/dist/core/agents/pattern-detector.js.map +1 -0
  83. package/dist/core/agents/registry-client.d.ts +6 -0
  84. package/dist/core/agents/registry-client.d.ts.map +1 -1
  85. package/dist/core/agents/registry-client.js +3 -0
  86. package/dist/core/agents/registry-client.js.map +1 -1
  87. package/dist/core/agents/research-phase.d.ts +114 -0
  88. package/dist/core/agents/research-phase.d.ts.map +1 -0
  89. package/dist/core/agents/research-phase.js +355 -0
  90. package/dist/core/agents/research-phase.js.map +1 -0
  91. package/dist/core/agents/research-validator.d.ts +13 -2
  92. package/dist/core/agents/research-validator.d.ts.map +1 -1
  93. package/dist/core/agents/research-validator.js +63 -31
  94. package/dist/core/agents/research-validator.js.map +1 -1
  95. package/dist/core/agents/skill-creator.d.ts +174 -0
  96. package/dist/core/agents/skill-creator.d.ts.map +1 -0
  97. package/dist/core/agents/skill-creator.js +570 -0
  98. package/dist/core/agents/skill-creator.js.map +1 -0
  99. package/dist/core/agents/state-persistence.d.ts +184 -0
  100. package/dist/core/agents/state-persistence.d.ts.map +1 -0
  101. package/dist/core/agents/state-persistence.js +394 -0
  102. package/dist/core/agents/state-persistence.js.map +1 -0
  103. package/dist/core/agents/validation-cache.d.ts +122 -0
  104. package/dist/core/agents/validation-cache.d.ts.map +1 -0
  105. package/dist/core/agents/validation-cache.js +280 -0
  106. package/dist/core/agents/validation-cache.js.map +1 -0
  107. package/dist/core/agents/validators/__tests__/validators.test.d.ts +5 -0
  108. package/dist/core/agents/validators/__tests__/validators.test.d.ts.map +1 -0
  109. package/dist/core/agents/validators/__tests__/validators.test.js +321 -0
  110. package/dist/core/agents/validators/__tests__/validators.test.js.map +1 -0
  111. package/dist/core/agents/validators/base-validator.d.ts +191 -0
  112. package/dist/core/agents/validators/base-validator.d.ts.map +1 -0
  113. package/dist/core/agents/validators/base-validator.js +192 -0
  114. package/dist/core/agents/validators/base-validator.js.map +1 -0
  115. package/dist/core/agents/validators/index.d.ts +7 -0
  116. package/dist/core/agents/validators/index.d.ts.map +1 -0
  117. package/dist/core/agents/validators/index.js +7 -0
  118. package/dist/core/agents/validators/index.js.map +1 -0
  119. package/dist/core/agents/validators/npm-validator.d.ts +50 -0
  120. package/dist/core/agents/validators/npm-validator.d.ts.map +1 -0
  121. package/dist/core/agents/validators/npm-validator.js +211 -0
  122. package/dist/core/agents/validators/npm-validator.js.map +1 -0
  123. package/dist/core/agents/validators/pip-validator.d.ts +49 -0
  124. package/dist/core/agents/validators/pip-validator.d.ts.map +1 -0
  125. package/dist/core/agents/validators/pip-validator.js +191 -0
  126. package/dist/core/agents/validators/pip-validator.js.map +1 -0
  127. package/dist/core/agents/validators/validator-registry.d.ts +122 -0
  128. package/dist/core/agents/validators/validator-registry.d.ts.map +1 -0
  129. package/dist/core/agents/validators/validator-registry.js +321 -0
  130. package/dist/core/agents/validators/validator-registry.js.map +1 -0
  131. package/dist/core/context/auto-injection-engine.d.ts +7 -1
  132. package/dist/core/context/auto-injection-engine.d.ts.map +1 -1
  133. package/dist/core/context/auto-injection-engine.js +46 -1
  134. package/dist/core/context/auto-injection-engine.js.map +1 -1
  135. package/dist/core/context-repl/types.d.ts +4 -4
  136. package/dist/core/memory/index.d.ts +1 -0
  137. package/dist/core/memory/index.d.ts.map +1 -1
  138. package/dist/core/memory/index.js +2 -0
  139. package/dist/core/memory/index.js.map +1 -1
  140. package/dist/core/memory/learning-store.d.ts +222 -0
  141. package/dist/core/memory/learning-store.d.ts.map +1 -0
  142. package/dist/core/memory/learning-store.js +477 -0
  143. package/dist/core/memory/learning-store.js.map +1 -0
  144. package/dist/core/ralph/__tests__/prd-generator-session-context.test.d.ts +7 -0
  145. package/dist/core/ralph/__tests__/prd-generator-session-context.test.d.ts.map +1 -0
  146. package/dist/core/ralph/__tests__/prd-generator-session-context.test.js +143 -0
  147. package/dist/core/ralph/__tests__/prd-generator-session-context.test.js.map +1 -0
  148. package/dist/core/ralph/index.d.ts +3 -3
  149. package/dist/core/ralph/index.d.ts.map +1 -1
  150. package/dist/core/ralph/index.js +2 -2
  151. package/dist/core/ralph/index.js.map +1 -1
  152. package/dist/core/ralph/prd-generator.d.ts +18 -3
  153. package/dist/core/ralph/prd-generator.d.ts.map +1 -1
  154. package/dist/core/ralph/prd-generator.js +33 -11
  155. package/dist/core/ralph/prd-generator.js.map +1 -1
  156. package/dist/core/ralph/progress-tracker.d.ts.map +1 -1
  157. package/dist/core/ralph/progress-tracker.js +2 -1
  158. package/dist/core/ralph/progress-tracker.js.map +1 -1
  159. package/dist/core/ralph/sub-agent-spawner.d.ts +4 -2
  160. package/dist/core/ralph/sub-agent-spawner.d.ts.map +1 -1
  161. package/dist/core/ralph/sub-agent-spawner.js +48 -3
  162. package/dist/core/ralph/sub-agent-spawner.js.map +1 -1
  163. package/dist/core/ralph/task-integration.d.ts.map +1 -1
  164. package/dist/core/ralph/task-integration.js +6 -3
  165. package/dist/core/ralph/task-integration.js.map +1 -1
  166. package/dist/core/ralph/types.d.ts +62 -3
  167. package/dist/core/ralph/types.d.ts.map +1 -1
  168. package/dist/core/ralph/types.js.map +1 -1
  169. package/dist/core/recommendations/recommendation-engine.d.ts +6 -0
  170. package/dist/core/recommendations/recommendation-engine.d.ts.map +1 -1
  171. package/dist/core/recommendations/recommendation-engine.js.map +1 -1
  172. package/dist/core/spec-analyzer/__tests__/ambiguity-detector.test.d.ts +5 -0
  173. package/dist/core/spec-analyzer/__tests__/ambiguity-detector.test.d.ts.map +1 -0
  174. package/dist/core/spec-analyzer/__tests__/ambiguity-detector.test.js +401 -0
  175. package/dist/core/spec-analyzer/__tests__/ambiguity-detector.test.js.map +1 -0
  176. package/dist/core/spec-analyzer/ambiguity-detector.d.ts +99 -0
  177. package/dist/core/spec-analyzer/ambiguity-detector.d.ts.map +1 -0
  178. package/dist/core/spec-analyzer/ambiguity-detector.js +250 -0
  179. package/dist/core/spec-analyzer/ambiguity-detector.js.map +1 -0
  180. package/dist/core/spec-analyzer/clarification-generator.d.ts +76 -0
  181. package/dist/core/spec-analyzer/clarification-generator.d.ts.map +1 -0
  182. package/dist/core/spec-analyzer/clarification-generator.js +257 -0
  183. package/dist/core/spec-analyzer/clarification-generator.js.map +1 -0
  184. package/dist/core/spec-analyzer/index.d.ts +22 -2
  185. package/dist/core/spec-analyzer/index.d.ts.map +1 -1
  186. package/dist/core/spec-analyzer/index.js +21 -3
  187. package/dist/core/spec-analyzer/index.js.map +1 -1
  188. package/dist/core/spec-analyzer/patterns.d.ts +73 -0
  189. package/dist/core/spec-analyzer/patterns.d.ts.map +1 -0
  190. package/dist/core/spec-analyzer/patterns.js +412 -0
  191. package/dist/core/spec-analyzer/patterns.js.map +1 -0
  192. package/dist/hooks/__tests__/dynamic-generator.test.d.ts +5 -0
  193. package/dist/hooks/__tests__/dynamic-generator.test.d.ts.map +1 -0
  194. package/dist/hooks/__tests__/dynamic-generator.test.js +425 -0
  195. package/dist/hooks/__tests__/dynamic-generator.test.js.map +1 -0
  196. package/dist/hooks/__tests__/hook-agent-bridge.test.d.ts +5 -0
  197. package/dist/hooks/__tests__/hook-agent-bridge.test.d.ts.map +1 -0
  198. package/dist/hooks/__tests__/hook-agent-bridge.test.js +315 -0
  199. package/dist/hooks/__tests__/hook-agent-bridge.test.js.map +1 -0
  200. package/dist/hooks/dynamic-generator.d.ts +158 -0
  201. package/dist/hooks/dynamic-generator.d.ts.map +1 -0
  202. package/dist/hooks/dynamic-generator.js +448 -0
  203. package/dist/hooks/dynamic-generator.js.map +1 -0
  204. package/dist/hooks/hook-agent-bridge.d.ts +252 -0
  205. package/dist/hooks/hook-agent-bridge.d.ts.map +1 -0
  206. package/dist/hooks/hook-agent-bridge.js +489 -0
  207. package/dist/hooks/hook-agent-bridge.js.map +1 -0
  208. package/dist/hooks/index.d.ts +3 -1
  209. package/dist/hooks/index.d.ts.map +1 -1
  210. package/dist/hooks/index.js +5 -1
  211. package/dist/hooks/index.js.map +1 -1
  212. package/dist/mcp/tool-catalog.d.ts.map +1 -1
  213. package/dist/mcp/tool-catalog.js +47 -0
  214. package/dist/mcp/tool-catalog.js.map +1 -1
  215. package/dist/mcp/tool-tiers.d.ts.map +1 -1
  216. package/dist/mcp/tool-tiers.js +4 -0
  217. package/dist/mcp/tool-tiers.js.map +1 -1
  218. package/dist/mcp/tools/auto-inject.d.ts +4 -0
  219. package/dist/mcp/tools/auto-inject.d.ts.map +1 -1
  220. package/dist/mcp/tools/auto-inject.js +13 -4
  221. package/dist/mcp/tools/auto-inject.js.map +1 -1
  222. package/dist/mcp/tools/chunking.d.ts +3 -0
  223. package/dist/mcp/tools/chunking.d.ts.map +1 -1
  224. package/dist/mcp/tools/chunking.js +10 -4
  225. package/dist/mcp/tools/chunking.js.map +1 -1
  226. package/dist/mcp/tools/embeddings.d.ts +4 -0
  227. package/dist/mcp/tools/embeddings.d.ts.map +1 -1
  228. package/dist/mcp/tools/embeddings.js +16 -6
  229. package/dist/mcp/tools/embeddings.js.map +1 -1
  230. package/dist/mcp/tools/index.d.ts +2 -1
  231. package/dist/mcp/tools/index.d.ts.map +1 -1
  232. package/dist/mcp/tools/index.js +15 -1
  233. package/dist/mcp/tools/index.js.map +1 -1
  234. package/dist/mcp/tools/knowledge-graph.d.ts +3 -0
  235. package/dist/mcp/tools/knowledge-graph.d.ts.map +1 -1
  236. package/dist/mcp/tools/knowledge-graph.js +19 -8
  237. package/dist/mcp/tools/knowledge-graph.js.map +1 -1
  238. package/dist/mcp/tools/lazy-context.d.ts +2 -0
  239. package/dist/mcp/tools/lazy-context.d.ts.map +1 -1
  240. package/dist/mcp/tools/lazy-context.js +10 -4
  241. package/dist/mcp/tools/lazy-context.js.map +1 -1
  242. package/dist/mcp/tools/learning-store.d.ts +30 -0
  243. package/dist/mcp/tools/learning-store.d.ts.map +1 -0
  244. package/dist/mcp/tools/learning-store.js +286 -0
  245. package/dist/mcp/tools/learning-store.js.map +1 -0
  246. package/dist/mcp/tools/memory-decay.d.ts.map +1 -1
  247. package/dist/mcp/tools/memory-decay.js +4 -2
  248. package/dist/mcp/tools/memory-decay.js.map +1 -1
  249. package/dist/mcp/tools/prefetch.d.ts +4 -1
  250. package/dist/mcp/tools/prefetch.d.ts.map +1 -1
  251. package/dist/mcp/tools/prefetch.js +18 -7
  252. package/dist/mcp/tools/prefetch.js.map +1 -1
  253. package/dist/mcp/tools/ralph.d.ts +2 -0
  254. package/dist/mcp/tools/ralph.d.ts.map +1 -1
  255. package/dist/mcp/tools/ralph.js +96 -6
  256. package/dist/mcp/tools/ralph.js.map +1 -1
  257. package/dist/mcp/tools/recommendations.d.ts +2 -0
  258. package/dist/mcp/tools/recommendations.d.ts.map +1 -1
  259. package/dist/mcp/tools/recommendations.js +13 -4
  260. package/dist/mcp/tools/recommendations.js.map +1 -1
  261. package/dist/mcp/tools/retrieval.d.ts +4 -0
  262. package/dist/mcp/tools/retrieval.d.ts.map +1 -1
  263. package/dist/mcp/tools/retrieval.js +25 -10
  264. package/dist/mcp/tools/retrieval.js.map +1 -1
  265. package/dist/mcp/tools/spec-feedback.d.ts +2 -0
  266. package/dist/mcp/tools/spec-feedback.d.ts.map +1 -1
  267. package/dist/mcp/tools/spec-feedback.js +33 -16
  268. package/dist/mcp/tools/spec-feedback.js.map +1 -1
  269. package/dist/mcp/utils/index.d.ts +1 -0
  270. package/dist/mcp/utils/index.d.ts.map +1 -1
  271. package/dist/mcp/utils/index.js +2 -0
  272. package/dist/mcp/utils/index.js.map +1 -1
  273. package/dist/mcp/utils/session-context.d.ts +108 -0
  274. package/dist/mcp/utils/session-context.d.ts.map +1 -0
  275. package/dist/mcp/utils/session-context.js +157 -0
  276. package/dist/mcp/utils/session-context.js.map +1 -0
  277. package/package.json +1 -1
@@ -0,0 +1,370 @@
1
+ /**
2
+ * Pattern Detector - v17.5.0
3
+ *
4
+ * Detects patterns from correction clusters for automation.
5
+ * Works with correction-tracker to identify learnable patterns.
6
+ *
7
+ * Pattern types:
8
+ * - Style patterns: Code formatting preferences
9
+ * - Naming patterns: Variable/function naming conventions
10
+ * - Structure patterns: Code organization preferences
11
+ * - Tool patterns: Library/tool preferences
12
+ *
13
+ * @module pattern-detector
14
+ */
15
+ // =============================================================================
16
+ // Constants
17
+ // =============================================================================
18
+ export const DEFAULT_DETECTOR_CONFIG = {
19
+ minClusterSize: 3,
20
+ minClusterSimilarity: 0.6,
21
+ maxSuggestions: 5,
22
+ fileContextBoost: 0.1,
23
+ };
24
+ /**
25
+ * Patterns for detecting pattern types from correction content
26
+ */
27
+ const TYPE_DETECTORS = [
28
+ {
29
+ type: 'style',
30
+ patterns: [
31
+ /semicolon|quotes?|indent|spacing|format|bracket|brace/i,
32
+ /single\s*quote|double\s*quote/i,
33
+ /tab|space|2\s*space|4\s*space/i,
34
+ ],
35
+ keywords: ['semicolon', 'quote', 'indent', 'format', 'space', 'tab', 'bracket'],
36
+ },
37
+ {
38
+ type: 'naming',
39
+ patterns: [
40
+ /camel\s*case|snake\s*case|pascal\s*case|kebab\s*case/i,
41
+ /name|naming|call\s*it|rename/i,
42
+ /prefix|suffix|convention/i,
43
+ ],
44
+ keywords: ['name', 'naming', 'convention', 'prefix', 'suffix', 'case'],
45
+ },
46
+ {
47
+ type: 'structure',
48
+ patterns: [
49
+ /import|export|module|file|folder|directory/i,
50
+ /organize|structure|layout|split|merge/i,
51
+ ],
52
+ keywords: ['import', 'export', 'module', 'file', 'folder', 'structure'],
53
+ },
54
+ {
55
+ type: 'tool',
56
+ patterns: [/use|prefer|instead\s*of|library|package|framework/i, /npm|bun|yarn|pip|cargo/i],
57
+ keywords: ['use', 'prefer', 'library', 'package', 'framework', 'tool'],
58
+ },
59
+ {
60
+ type: 'workflow',
61
+ patterns: [/before|after|first|then|always|never/i, /step|process|workflow|order/i],
62
+ keywords: ['before', 'after', 'first', 'always', 'never', 'step', 'workflow'],
63
+ },
64
+ {
65
+ type: 'preference',
66
+ patterns: [/prefer|like|want|should|better/i, /don't|avoid|skip|ignore/i],
67
+ keywords: ['prefer', 'like', 'want', 'better', 'avoid'],
68
+ },
69
+ ];
70
+ // =============================================================================
71
+ // PatternDetector Class
72
+ // =============================================================================
73
+ /**
74
+ * Detects patterns from correction clusters
75
+ */
76
+ export class PatternDetector {
77
+ detectedPatterns = new Map();
78
+ config;
79
+ constructor(config = {}) {
80
+ this.config = { ...DEFAULT_DETECTOR_CONFIG, ...config };
81
+ }
82
+ /**
83
+ * Detect patterns from a cluster
84
+ */
85
+ detectFromCluster(cluster) {
86
+ // Check minimum requirements
87
+ if (cluster.count < this.config.minClusterSize) {
88
+ return null;
89
+ }
90
+ if (cluster.similarity < this.config.minClusterSimilarity) {
91
+ return null;
92
+ }
93
+ const representative = cluster.representative.context;
94
+ const patternType = this.detectType(representative);
95
+ const confidence = this.calculateConfidence(cluster);
96
+ const pattern = {
97
+ id: `pattern-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`,
98
+ type: patternType,
99
+ trigger: this.extractTrigger(representative),
100
+ preference: this.extractPreference(representative),
101
+ confidence,
102
+ occurrences: cluster.count,
103
+ examples: cluster.corrections.slice(0, 3).map((c) => ({
104
+ original: c.context.original,
105
+ corrected: c.context.corrected,
106
+ })),
107
+ keywords: this.extractKeywords(cluster),
108
+ sourceClusterId: cluster.id,
109
+ detectedAt: new Date(),
110
+ };
111
+ this.detectedPatterns.set(pattern.id, pattern);
112
+ return pattern;
113
+ }
114
+ /**
115
+ * Detect patterns from multiple clusters
116
+ */
117
+ detectFromClusters(clusters) {
118
+ const patterns = [];
119
+ for (const cluster of clusters) {
120
+ const pattern = this.detectFromCluster(cluster);
121
+ if (pattern) {
122
+ patterns.push(pattern);
123
+ }
124
+ }
125
+ return patterns;
126
+ }
127
+ /**
128
+ * Get suggestions for current session context
129
+ */
130
+ getSuggestions(context) {
131
+ const suggestions = [];
132
+ for (const pattern of this.detectedPatterns.values()) {
133
+ const relevance = this.calculateRelevance(pattern, context);
134
+ if (relevance > 0.3) {
135
+ suggestions.push({
136
+ pattern,
137
+ relevance,
138
+ reason: this.generateReason(pattern, context),
139
+ });
140
+ }
141
+ }
142
+ // Sort by relevance and limit
143
+ return suggestions
144
+ .sort((a, b) => b.relevance - a.relevance)
145
+ .slice(0, this.config.maxSuggestions);
146
+ }
147
+ /**
148
+ * Get all detected patterns
149
+ */
150
+ getPatterns() {
151
+ return Array.from(this.detectedPatterns.values());
152
+ }
153
+ /**
154
+ * Get pattern by ID
155
+ */
156
+ getPattern(id) {
157
+ return this.detectedPatterns.get(id);
158
+ }
159
+ /**
160
+ * Remove pattern
161
+ */
162
+ removePattern(id) {
163
+ return this.detectedPatterns.delete(id);
164
+ }
165
+ /**
166
+ * Clear all patterns
167
+ */
168
+ clear() {
169
+ this.detectedPatterns.clear();
170
+ }
171
+ /**
172
+ * Export state for persistence
173
+ */
174
+ export() {
175
+ return Array.from(this.detectedPatterns.values());
176
+ }
177
+ /**
178
+ * Import state from persistence
179
+ */
180
+ import(patterns) {
181
+ this.detectedPatterns.clear();
182
+ for (const pattern of patterns) {
183
+ pattern.detectedAt = new Date(pattern.detectedAt);
184
+ this.detectedPatterns.set(pattern.id, pattern);
185
+ }
186
+ }
187
+ // ---------------------------------------------------------------------------
188
+ // Private Methods
189
+ // ---------------------------------------------------------------------------
190
+ detectType(context) {
191
+ const text = `${context.original} ${context.corrected}`.toLowerCase();
192
+ for (const detector of TYPE_DETECTORS) {
193
+ for (const pattern of detector.patterns) {
194
+ if (pattern.test(text)) {
195
+ return detector.type;
196
+ }
197
+ }
198
+ for (const keyword of detector.keywords) {
199
+ if (text.includes(keyword)) {
200
+ return detector.type;
201
+ }
202
+ }
203
+ }
204
+ return 'preference';
205
+ }
206
+ calculateConfidence(cluster) {
207
+ // More occurrences + higher similarity = higher confidence
208
+ const occurrenceScore = Math.min(cluster.count / 10, 1);
209
+ const similarityScore = cluster.similarity;
210
+ const combined = occurrenceScore * 0.6 + similarityScore * 0.4;
211
+ if (combined >= 0.7)
212
+ return 'high';
213
+ if (combined >= 0.4)
214
+ return 'medium';
215
+ return 'low';
216
+ }
217
+ extractTrigger(context) {
218
+ // The trigger is what Claude originally did
219
+ const original = context.original.trim();
220
+ // Truncate if too long
221
+ if (original.length > 100) {
222
+ return `${original.slice(0, 97)}...`;
223
+ }
224
+ return original;
225
+ }
226
+ extractPreference(context) {
227
+ // The preference is what the user corrected it to
228
+ const corrected = context.corrected.trim();
229
+ // Truncate if too long
230
+ if (corrected.length > 100) {
231
+ return `${corrected.slice(0, 97)}...`;
232
+ }
233
+ return corrected;
234
+ }
235
+ extractKeywords(cluster) {
236
+ const allKeywords = [];
237
+ for (const correction of cluster.corrections) {
238
+ allKeywords.push(...correction.keywords);
239
+ }
240
+ // Count frequency and return most common
241
+ const counts = new Map();
242
+ for (const kw of allKeywords) {
243
+ counts.set(kw, (counts.get(kw) || 0) + 1);
244
+ }
245
+ return Array.from(counts.entries())
246
+ .sort((a, b) => b[1] - a[1])
247
+ .slice(0, 10)
248
+ .map(([kw]) => kw);
249
+ }
250
+ calculateRelevance(pattern, context) {
251
+ let relevance = 0.5; // Base relevance
252
+ // Boost for keyword matches in focus area
253
+ if (context.focusArea) {
254
+ const focusLower = context.focusArea.toLowerCase();
255
+ for (const kw of pattern.keywords) {
256
+ if (focusLower.includes(kw)) {
257
+ relevance += 0.1;
258
+ }
259
+ }
260
+ }
261
+ // Boost for keyword matches in current task
262
+ if (context.currentTask) {
263
+ const taskLower = context.currentTask.toLowerCase();
264
+ for (const kw of pattern.keywords) {
265
+ if (taskLower.includes(kw)) {
266
+ relevance += 0.1;
267
+ }
268
+ }
269
+ }
270
+ // Boost for high confidence patterns
271
+ if (pattern.confidence === 'high') {
272
+ relevance += 0.15;
273
+ }
274
+ else if (pattern.confidence === 'medium') {
275
+ relevance += 0.05;
276
+ }
277
+ // Boost for more occurrences
278
+ relevance += Math.min(pattern.occurrences / 20, 0.2);
279
+ return Math.min(relevance, 1.0);
280
+ }
281
+ generateReason(pattern, context) {
282
+ const reasons = [];
283
+ if (pattern.occurrences >= 5) {
284
+ reasons.push(`frequently corrected (${pattern.occurrences}x)`);
285
+ }
286
+ if (pattern.confidence === 'high') {
287
+ reasons.push('high confidence pattern');
288
+ }
289
+ if (context.focusArea &&
290
+ pattern.keywords.some((kw) => context.focusArea?.toLowerCase().includes(kw))) {
291
+ reasons.push('matches current focus');
292
+ }
293
+ if (reasons.length === 0) {
294
+ reasons.push('learned from corrections');
295
+ }
296
+ return reasons.join(', ');
297
+ }
298
+ }
299
+ // =============================================================================
300
+ // Singleton Instance
301
+ // =============================================================================
302
+ /** Global pattern detector */
303
+ export const patternDetector = new PatternDetector();
304
+ // =============================================================================
305
+ // Helper Functions
306
+ // =============================================================================
307
+ /**
308
+ * Detect patterns from clusters using global detector
309
+ */
310
+ export function detectPatterns(clusters) {
311
+ return patternDetector.detectFromClusters(clusters);
312
+ }
313
+ /**
314
+ * Get pattern suggestions for session context
315
+ */
316
+ export function getPatternSuggestions(context) {
317
+ return patternDetector.getSuggestions(context);
318
+ }
319
+ /**
320
+ * Format pattern for display
321
+ */
322
+ export function formatDetectedPattern(pattern) {
323
+ const confidenceIcon = { high: '🟢', medium: '🟡', low: '🔵' }[pattern.confidence];
324
+ const lines = [];
325
+ lines.push(`${confidenceIcon} **${pattern.type}** pattern (${pattern.occurrences} occurrences)`);
326
+ lines.push(`- Trigger: "${pattern.trigger}"`);
327
+ lines.push(`- Preference: "${pattern.preference}"`);
328
+ lines.push(`- Keywords: ${pattern.keywords.slice(0, 5).join(', ')}`);
329
+ return lines.join('\n');
330
+ }
331
+ /**
332
+ * Format suggestion for session injection
333
+ */
334
+ export function formatSuggestionForSession(suggestion) {
335
+ const { pattern, relevance, reason } = suggestion;
336
+ return `- **${pattern.type}**: When "${pattern.trigger}", prefer "${pattern.preference}" (${(relevance * 100).toFixed(0)}% relevant - ${reason})`;
337
+ }
338
+ /**
339
+ * Format multiple suggestions for session context
340
+ */
341
+ export function formatSuggestionsForSession(suggestions) {
342
+ if (suggestions.length === 0) {
343
+ return '';
344
+ }
345
+ const lines = ['## Learned Patterns', ''];
346
+ for (const suggestion of suggestions) {
347
+ lines.push(formatSuggestionForSession(suggestion));
348
+ }
349
+ return lines.join('\n');
350
+ }
351
+ /**
352
+ * Calculate confidence adjustment from patterns
353
+ */
354
+ export function calculateConfidenceAdjustment(patterns) {
355
+ if (patterns.length === 0)
356
+ return 0;
357
+ // Having learned patterns boosts confidence
358
+ let adjustment = 0;
359
+ for (const pattern of patterns) {
360
+ if (pattern.confidence === 'high') {
361
+ adjustment += 0.02;
362
+ }
363
+ else if (pattern.confidence === 'medium') {
364
+ adjustment += 0.01;
365
+ }
366
+ }
367
+ // Cap at 10% boost
368
+ return Math.min(adjustment, 0.1);
369
+ }
370
+ //# sourceMappingURL=pattern-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pattern-detector.js","sourceRoot":"","sources":["../../../src/core/agents/pattern-detector.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,12 @@ export interface PackageMetadata {
25
25
  tarball: string;
26
26
  shasum: string;
27
27
  };
28
+ /** Deprecation message (undefined if not deprecated) */
29
+ deprecated?: string;
30
+ /** Weekly downloads */
31
+ weeklyDownloads?: number;
32
+ /** Last publish date (ISO string) */
33
+ lastPublish?: string;
28
34
  }
29
35
  export interface PackageSize {
30
36
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"registry-client.d.ts","sourceRoot":"","sources":["../../../src/core/agents/registry-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;CACF;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAA;QACX,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;CACF;AA+ED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC,CA0C1B;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAsC/F;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAiCxF;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAED;;GAEG;AACH,wBAAgB,aAAa;;;;;;;;;;;;;EAe5B"}
1
+ {"version":3,"file":"registry-client.d.ts","sourceRoot":"","sources":["../../../src/core/agents/registry-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IACD,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,uBAAuB;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAA;QACX,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;CACF;AA+ED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC,CA6C1B;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAsC/F;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAiCxF;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAED;;GAEG;AACH,wBAAgB,aAAa;;;;;;;;;;;;;EAe5B"}
@@ -106,6 +106,9 @@ export async function fetchPackageMetadata(name, version) {
106
106
  tarball: data.dist?.tarball || '',
107
107
  shasum: data.dist?.shasum || '',
108
108
  },
109
+ deprecated: typeof data.deprecated === 'string' ? data.deprecated : undefined,
110
+ weeklyDownloads: data.downloads?.weekly,
111
+ lastPublish: data.time?.modified,
109
112
  };
110
113
  // Cache result
111
114
  metadataCache.set(cacheKey, {
@@ -1 +1 @@
1
- {"version":3,"file":"registry-client.js","sourceRoot":"","sources":["../../../src/core/agents/registry-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-client.js","sourceRoot":"","sources":["../../../src/core/agents/registry-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Research Phase - v17.5.0
3
+ *
4
+ * Handles the research phase of the progressive confidence gate.
5
+ * Triggers codebase and web search to gather context and improve confidence.
6
+ *
7
+ * Features:
8
+ * - Codebase search (Grep, Glob, Read)
9
+ * - Web search for external documentation
10
+ * - Confidence improvement calculation (10-30%)
11
+ * - Research result caching
12
+ * - Integration with ambiguity detector
13
+ *
14
+ * @module research-phase
15
+ */
16
+ import { type AmbiguityAnalysis } from '../spec-analyzer/ambiguity-detector.js';
17
+ import type { SpecAnalysis } from '../spec-analyzer/index.js';
18
+ export interface ResearchPhaseConfig {
19
+ /** Enable codebase search (Grep, Glob, Read) */
20
+ enableCodebaseSearch: boolean;
21
+ /** Enable web search (WebSearch, WebFetch) */
22
+ enableWebSearch: boolean;
23
+ /** Maximum tokens to use for research */
24
+ maxResearchTokens: number;
25
+ /** Cache directory for research results */
26
+ cacheDirectory: string;
27
+ /** Minimum confidence improvement to consider successful */
28
+ minConfidenceImprovement: number;
29
+ /** Maximum confidence improvement possible */
30
+ maxConfidenceImprovement: number;
31
+ }
32
+ export interface ResearchTarget {
33
+ /** Type of research needed */
34
+ type: 'codebase' | 'web' | 'both';
35
+ /** Specific areas to research */
36
+ areas: ResearchArea[];
37
+ /** Priority (higher = more important) */
38
+ priority: number;
39
+ }
40
+ export interface ResearchArea {
41
+ /** What to search for */
42
+ query: string;
43
+ /** Why this is being researched */
44
+ reason: string;
45
+ /** Expected type of result */
46
+ expectedType: 'pattern' | 'file' | 'documentation' | 'example' | 'decision';
47
+ /** Glob patterns to search (for codebase) */
48
+ globPatterns?: string[];
49
+ /** Keywords for web search */
50
+ webKeywords?: string[];
51
+ }
52
+ export interface ResearchFinding {
53
+ /** Type of finding */
54
+ type: 'pattern' | 'file' | 'documentation' | 'example' | 'decision';
55
+ /** Source (file path or URL) */
56
+ source: string;
57
+ /** Brief summary */
58
+ summary: string;
59
+ /** Relevance score (0-1) */
60
+ relevance: number;
61
+ /** Full content if applicable */
62
+ content?: string;
63
+ /** Which area this finding addresses */
64
+ area: string;
65
+ }
66
+ export interface ResearchPhaseResult {
67
+ /** Whether research was executed */
68
+ executed: boolean;
69
+ /** Research targets that were identified */
70
+ targets: ResearchTarget[];
71
+ /** Findings from research */
72
+ findings: ResearchFinding[];
73
+ /** Confidence improvement (0-0.3) */
74
+ confidenceImprovement: number;
75
+ /** New confidence after research */
76
+ newConfidence: number;
77
+ /** Summary of what was found */
78
+ summary: string;
79
+ /** Tokens used */
80
+ tokensUsed: number;
81
+ /** Whether more research could help */
82
+ canImproveMore: boolean;
83
+ }
84
+ export declare const DEFAULT_RESEARCH_CONFIG: ResearchPhaseConfig;
85
+ /**
86
+ * Identify what research is needed based on analysis
87
+ */
88
+ export declare function identifyResearchTargets(analysis: SpecAnalysis, ambiguity: AmbiguityAnalysis): ResearchTarget[];
89
+ /**
90
+ * Build research prompt for subagent
91
+ */
92
+ export declare function buildResearchPrompt(prompt: string, targets: ResearchTarget[], config?: ResearchPhaseConfig): string;
93
+ /**
94
+ * Calculate confidence improvement from findings
95
+ */
96
+ export declare function calculateConfidenceImprovement(findings: ResearchFinding[], config?: ResearchPhaseConfig): number;
97
+ /**
98
+ * Execute research phase
99
+ */
100
+ export declare function executeResearchPhase(prompt: string, currentConfidence: number, analysis: SpecAnalysis, config?: ResearchPhaseConfig): Promise<ResearchPhaseResult>;
101
+ /**
102
+ * Build Task tool parameters for research subagent
103
+ */
104
+ export declare function buildResearchTaskParams(prompt: string, targets: ResearchTarget[], config?: ResearchPhaseConfig): {
105
+ description: string;
106
+ prompt: string;
107
+ subagent_type: string;
108
+ model: string;
109
+ };
110
+ /**
111
+ * Format research result for session.md
112
+ */
113
+ export declare function formatResearchForSession(result: ResearchPhaseResult): string;
114
+ //# sourceMappingURL=research-phase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"research-phase.d.ts","sourceRoot":"","sources":["../../../src/core/agents/research-phase.ts"],"names":[],"mappings":"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"}