@contractspec/module.workspace 1.56.1 → 1.58.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 (248) hide show
  1. package/dist/ai/code-generation.d.ts +25 -0
  2. package/dist/ai/code-generation.d.ts.map +1 -0
  3. package/dist/ai/index.d.ts +5 -0
  4. package/dist/ai/index.d.ts.map +1 -0
  5. package/dist/ai/prompts/code-generation.d.ts +5 -8
  6. package/dist/ai/prompts/code-generation.d.ts.map +1 -1
  7. package/dist/ai/prompts/index.d.ts +3 -0
  8. package/dist/ai/prompts/index.d.ts.map +1 -0
  9. package/dist/ai/prompts/spec-creation.d.ts +7 -12
  10. package/dist/ai/prompts/spec-creation.d.ts.map +1 -1
  11. package/dist/ai/spec-creation.d.ts +27 -0
  12. package/dist/ai/spec-creation.d.ts.map +1 -0
  13. package/dist/analysis/deps/graph.d.ts +14 -14
  14. package/dist/analysis/deps/graph.d.ts.map +1 -1
  15. package/dist/analysis/deps/index.d.ts +6 -0
  16. package/dist/analysis/deps/index.d.ts.map +1 -0
  17. package/dist/analysis/deps/parse-imports.d.ts +1 -4
  18. package/dist/analysis/deps/parse-imports.d.ts.map +1 -1
  19. package/dist/analysis/diff/deep-diff.d.ts +17 -16
  20. package/dist/analysis/diff/deep-diff.d.ts.map +1 -1
  21. package/dist/analysis/diff/deep-diff.test.d.ts +5 -0
  22. package/dist/analysis/diff/deep-diff.test.d.ts.map +1 -0
  23. package/dist/analysis/diff/index.d.ts +6 -0
  24. package/dist/analysis/diff/index.d.ts.map +1 -0
  25. package/dist/analysis/diff/semantic.d.ts +6 -7
  26. package/dist/analysis/diff/semantic.d.ts.map +1 -1
  27. package/dist/analysis/example-scan.d.ts +3 -8
  28. package/dist/analysis/example-scan.d.ts.map +1 -1
  29. package/dist/analysis/example-scan.test.d.ts +7 -0
  30. package/dist/analysis/example-scan.test.d.ts.map +1 -0
  31. package/dist/analysis/feature-extractor.d.ts +25 -0
  32. package/dist/analysis/feature-extractor.d.ts.map +1 -0
  33. package/dist/analysis/feature-scan.d.ts +3 -8
  34. package/dist/analysis/feature-scan.d.ts.map +1 -1
  35. package/dist/analysis/feature-scan.test.d.ts +2 -0
  36. package/dist/analysis/feature-scan.test.d.ts.map +1 -0
  37. package/dist/analysis/grouping.d.ts +41 -42
  38. package/dist/analysis/grouping.d.ts.map +1 -1
  39. package/dist/analysis/impact/classifier.d.ts +9 -9
  40. package/dist/analysis/impact/classifier.d.ts.map +1 -1
  41. package/dist/analysis/impact/classifier.test.d.ts +5 -0
  42. package/dist/analysis/impact/classifier.test.d.ts.map +1 -0
  43. package/dist/analysis/impact/index.d.ts +9 -0
  44. package/dist/analysis/impact/index.d.ts.map +1 -0
  45. package/dist/analysis/impact/rules.d.ts +15 -15
  46. package/dist/analysis/impact/rules.d.ts.map +1 -1
  47. package/dist/analysis/impact/types.d.ts +73 -76
  48. package/dist/analysis/impact/types.d.ts.map +1 -1
  49. package/dist/analysis/index.d.ts +14 -0
  50. package/dist/analysis/index.d.ts.map +1 -0
  51. package/dist/analysis/snapshot/index.d.ts +9 -0
  52. package/dist/analysis/snapshot/index.d.ts.map +1 -0
  53. package/dist/analysis/snapshot/normalizer.d.ts +7 -10
  54. package/dist/analysis/snapshot/normalizer.d.ts.map +1 -1
  55. package/dist/analysis/snapshot/snapshot.d.ts +10 -9
  56. package/dist/analysis/snapshot/snapshot.d.ts.map +1 -1
  57. package/dist/analysis/snapshot/snapshot.test.d.ts +5 -0
  58. package/dist/analysis/snapshot/snapshot.test.d.ts.map +1 -0
  59. package/dist/analysis/snapshot/types.d.ts +58 -57
  60. package/dist/analysis/snapshot/types.d.ts.map +1 -1
  61. package/dist/analysis/spec-parser.d.ts +8 -7
  62. package/dist/analysis/spec-parser.d.ts.map +1 -1
  63. package/dist/analysis/spec-parsing-utils.d.ts +20 -11
  64. package/dist/analysis/spec-parsing-utils.d.ts.map +1 -1
  65. package/dist/analysis/spec-scan.d.ts +13 -13
  66. package/dist/analysis/spec-scan.d.ts.map +1 -1
  67. package/dist/analysis/spec-scan.test.d.ts +2 -0
  68. package/dist/analysis/spec-scan.test.d.ts.map +1 -0
  69. package/dist/analysis/utils/matchers.d.ts +39 -0
  70. package/dist/analysis/utils/matchers.d.ts.map +1 -0
  71. package/dist/analysis/utils/variables.d.ts +15 -0
  72. package/dist/analysis/utils/variables.d.ts.map +1 -0
  73. package/dist/analysis/validate/index.d.ts +5 -0
  74. package/dist/analysis/validate/index.d.ts.map +1 -0
  75. package/dist/analysis/validate/spec-structure.d.ts +15 -15
  76. package/dist/analysis/validate/spec-structure.d.ts.map +1 -1
  77. package/dist/analysis/validate/spec-structure.test.d.ts +2 -0
  78. package/dist/analysis/validate/spec-structure.test.d.ts.map +1 -0
  79. package/dist/formatter.d.ts +28 -28
  80. package/dist/formatter.d.ts.map +1 -1
  81. package/dist/formatters/index.d.ts +8 -0
  82. package/dist/formatters/index.d.ts.map +1 -0
  83. package/dist/formatters/spec-markdown.d.ts +13 -12
  84. package/dist/formatters/spec-markdown.d.ts.map +1 -1
  85. package/dist/formatters/spec-markdown.test.d.ts +5 -0
  86. package/dist/formatters/spec-markdown.test.d.ts.map +1 -0
  87. package/dist/formatters/spec-to-docblock.d.ts +4 -9
  88. package/dist/formatters/spec-to-docblock.d.ts.map +1 -1
  89. package/dist/index.d.ts +13 -42
  90. package/dist/index.d.ts.map +1 -0
  91. package/dist/index.js +4302 -38
  92. package/dist/node/index.js +4301 -0
  93. package/dist/templates/app-config.d.ts +2 -6
  94. package/dist/templates/app-config.d.ts.map +1 -1
  95. package/dist/templates/app-config.test.d.ts +2 -0
  96. package/dist/templates/app-config.test.d.ts.map +1 -0
  97. package/dist/templates/data-view.d.ts +2 -6
  98. package/dist/templates/data-view.d.ts.map +1 -1
  99. package/dist/templates/data-view.test.d.ts +2 -0
  100. package/dist/templates/data-view.test.d.ts.map +1 -0
  101. package/dist/templates/event.d.ts +6 -7
  102. package/dist/templates/event.d.ts.map +1 -1
  103. package/dist/templates/event.test.d.ts +2 -0
  104. package/dist/templates/event.test.d.ts.map +1 -0
  105. package/dist/templates/experiment.d.ts +2 -6
  106. package/dist/templates/experiment.d.ts.map +1 -1
  107. package/dist/templates/experiment.test.d.ts +2 -0
  108. package/dist/templates/experiment.test.d.ts.map +1 -0
  109. package/dist/templates/handler.d.ts +3 -6
  110. package/dist/templates/handler.d.ts.map +1 -1
  111. package/dist/templates/handler.test.d.ts +2 -0
  112. package/dist/templates/handler.test.d.ts.map +1 -0
  113. package/dist/templates/index.d.ts +18 -0
  114. package/dist/templates/index.d.ts.map +1 -0
  115. package/dist/templates/integration-utils.d.ts +13 -0
  116. package/dist/templates/integration-utils.d.ts.map +1 -0
  117. package/dist/templates/integration-utils.test.d.ts +2 -0
  118. package/dist/templates/integration-utils.test.d.ts.map +1 -0
  119. package/dist/templates/integration.d.ts +2 -6
  120. package/dist/templates/integration.d.ts.map +1 -1
  121. package/dist/templates/integration.test.d.ts +2 -0
  122. package/dist/templates/integration.test.d.ts.map +1 -0
  123. package/dist/templates/knowledge.d.ts +2 -6
  124. package/dist/templates/knowledge.d.ts.map +1 -1
  125. package/dist/templates/knowledge.test.d.ts +2 -0
  126. package/dist/templates/knowledge.test.d.ts.map +1 -0
  127. package/dist/templates/migration.d.ts +2 -6
  128. package/dist/templates/migration.d.ts.map +1 -1
  129. package/dist/templates/migration.test.d.ts +2 -0
  130. package/dist/templates/migration.test.d.ts.map +1 -0
  131. package/dist/templates/operation.d.ts +6 -7
  132. package/dist/templates/operation.d.ts.map +1 -1
  133. package/dist/templates/operation.test.d.ts +2 -0
  134. package/dist/templates/operation.test.d.ts.map +1 -0
  135. package/dist/templates/presentation.d.ts +6 -7
  136. package/dist/templates/presentation.d.ts.map +1 -1
  137. package/dist/templates/presentation.test.d.ts +2 -0
  138. package/dist/templates/presentation.test.d.ts.map +1 -0
  139. package/dist/templates/telemetry.d.ts +2 -6
  140. package/dist/templates/telemetry.d.ts.map +1 -1
  141. package/dist/templates/telemetry.test.d.ts +2 -0
  142. package/dist/templates/telemetry.test.d.ts.map +1 -0
  143. package/dist/templates/utils.d.ts +5 -8
  144. package/dist/templates/utils.d.ts.map +1 -1
  145. package/dist/templates/utils.test.d.ts +2 -0
  146. package/dist/templates/utils.test.d.ts.map +1 -0
  147. package/dist/templates/workflow-runner.d.ts +6 -13
  148. package/dist/templates/workflow-runner.d.ts.map +1 -1
  149. package/dist/templates/workflow-runner.test.d.ts +2 -0
  150. package/dist/templates/workflow-runner.test.d.ts.map +1 -0
  151. package/dist/templates/workflow.d.ts +6 -7
  152. package/dist/templates/workflow.d.ts.map +1 -1
  153. package/dist/templates/workflow.test.d.ts +2 -0
  154. package/dist/templates/workflow.test.d.ts.map +1 -0
  155. package/dist/types/analysis-types.d.ts +135 -137
  156. package/dist/types/analysis-types.d.ts.map +1 -1
  157. package/dist/types/generation-types.d.ts +36 -38
  158. package/dist/types/generation-types.d.ts.map +1 -1
  159. package/dist/types/index.d.ts +9 -0
  160. package/dist/types/index.d.ts.map +1 -0
  161. package/dist/types/llm-types.d.ts +97 -97
  162. package/dist/types/llm-types.d.ts.map +1 -1
  163. package/dist/types/rulesync-types.d.ts +17 -19
  164. package/dist/types/rulesync-types.d.ts.map +1 -1
  165. package/dist/types/spec-types.d.ts +329 -330
  166. package/dist/types/spec-types.d.ts.map +1 -1
  167. package/package.json +20 -16
  168. package/dist/ai/prompts/code-generation.js +0 -134
  169. package/dist/ai/prompts/code-generation.js.map +0 -1
  170. package/dist/ai/prompts/spec-creation.js +0 -102
  171. package/dist/ai/prompts/spec-creation.js.map +0 -1
  172. package/dist/analysis/deps/graph.js +0 -85
  173. package/dist/analysis/deps/graph.js.map +0 -1
  174. package/dist/analysis/deps/parse-imports.js +0 -31
  175. package/dist/analysis/deps/parse-imports.js.map +0 -1
  176. package/dist/analysis/diff/deep-diff.js +0 -114
  177. package/dist/analysis/diff/deep-diff.js.map +0 -1
  178. package/dist/analysis/diff/semantic.js +0 -97
  179. package/dist/analysis/diff/semantic.js.map +0 -1
  180. package/dist/analysis/example-scan.js +0 -116
  181. package/dist/analysis/example-scan.js.map +0 -1
  182. package/dist/analysis/feature-extractor.js +0 -203
  183. package/dist/analysis/feature-extractor.js.map +0 -1
  184. package/dist/analysis/feature-scan.js +0 -56
  185. package/dist/analysis/feature-scan.js.map +0 -1
  186. package/dist/analysis/grouping.js +0 -115
  187. package/dist/analysis/grouping.js.map +0 -1
  188. package/dist/analysis/impact/classifier.js +0 -135
  189. package/dist/analysis/impact/classifier.js.map +0 -1
  190. package/dist/analysis/impact/index.js +0 -2
  191. package/dist/analysis/impact/rules.js +0 -154
  192. package/dist/analysis/impact/rules.js.map +0 -1
  193. package/dist/analysis/index.js +0 -18
  194. package/dist/analysis/snapshot/index.js +0 -2
  195. package/dist/analysis/snapshot/normalizer.js +0 -67
  196. package/dist/analysis/snapshot/normalizer.js.map +0 -1
  197. package/dist/analysis/snapshot/snapshot.js +0 -163
  198. package/dist/analysis/snapshot/snapshot.js.map +0 -1
  199. package/dist/analysis/spec-parser.js +0 -89
  200. package/dist/analysis/spec-parser.js.map +0 -1
  201. package/dist/analysis/spec-parsing-utils.js +0 -98
  202. package/dist/analysis/spec-parsing-utils.js.map +0 -1
  203. package/dist/analysis/spec-scan.js +0 -157
  204. package/dist/analysis/spec-scan.js.map +0 -1
  205. package/dist/analysis/utils/matchers.js +0 -77
  206. package/dist/analysis/utils/matchers.js.map +0 -1
  207. package/dist/analysis/utils/variables.js +0 -45
  208. package/dist/analysis/utils/variables.js.map +0 -1
  209. package/dist/analysis/validate/index.js +0 -1
  210. package/dist/analysis/validate/spec-structure.js +0 -475
  211. package/dist/analysis/validate/spec-structure.js.map +0 -1
  212. package/dist/formatter.js +0 -163
  213. package/dist/formatter.js.map +0 -1
  214. package/dist/formatters/index.js +0 -2
  215. package/dist/formatters/spec-markdown.js +0 -263
  216. package/dist/formatters/spec-markdown.js.map +0 -1
  217. package/dist/formatters/spec-to-docblock.js +0 -48
  218. package/dist/formatters/spec-to-docblock.js.map +0 -1
  219. package/dist/templates/app-config.js +0 -107
  220. package/dist/templates/app-config.js.map +0 -1
  221. package/dist/templates/data-view.js +0 -69
  222. package/dist/templates/data-view.js.map +0 -1
  223. package/dist/templates/event.js +0 -41
  224. package/dist/templates/event.js.map +0 -1
  225. package/dist/templates/experiment.js +0 -88
  226. package/dist/templates/experiment.js.map +0 -1
  227. package/dist/templates/handler.js +0 -96
  228. package/dist/templates/handler.js.map +0 -1
  229. package/dist/templates/integration-utils.js +0 -105
  230. package/dist/templates/integration-utils.js.map +0 -1
  231. package/dist/templates/integration.js +0 -62
  232. package/dist/templates/integration.js.map +0 -1
  233. package/dist/templates/knowledge.js +0 -69
  234. package/dist/templates/knowledge.js.map +0 -1
  235. package/dist/templates/migration.js +0 -61
  236. package/dist/templates/migration.js.map +0 -1
  237. package/dist/templates/operation.js +0 -101
  238. package/dist/templates/operation.js.map +0 -1
  239. package/dist/templates/presentation.js +0 -79
  240. package/dist/templates/presentation.js.map +0 -1
  241. package/dist/templates/telemetry.js +0 -90
  242. package/dist/templates/telemetry.js.map +0 -1
  243. package/dist/templates/utils.js +0 -39
  244. package/dist/templates/utils.js.map +0 -1
  245. package/dist/templates/workflow-runner.js +0 -49
  246. package/dist/templates/workflow-runner.js.map +0 -1
  247. package/dist/templates/workflow.js +0 -68
  248. package/dist/templates/workflow.js.map +0 -1
@@ -0,0 +1,25 @@
1
+ /**
2
+ * AI prompts for code generation.
3
+ * Extracted from cli-contractspec/src/ai/prompts/code-generation.ts
4
+ */
5
+ /**
6
+ * Build prompt for generating handler implementation.
7
+ */
8
+ export declare function buildHandlerPrompt(specCode: string): string;
9
+ /**
10
+ * Build prompt for generating React component from presentation spec.
11
+ */
12
+ export declare function buildComponentPrompt(specCode: string): string;
13
+ /**
14
+ * Build prompt for generating form component.
15
+ */
16
+ export declare function buildFormPrompt(specCode: string): string;
17
+ /**
18
+ * Build prompt for generating tests.
19
+ */
20
+ export declare function buildTestPrompt(specCode: string, implementationCode: string, testType: 'handler' | 'component'): string;
21
+ /**
22
+ * System prompt for code generation.
23
+ */
24
+ export declare function getCodeGenSystemPrompt(): string;
25
+ //# sourceMappingURL=code-generation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-generation.d.ts","sourceRoot":"","sources":["../../src/ai/code-generation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqB3D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqB7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAsBxD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,EAAE,SAAS,GAAG,WAAW,GAChC,MAAM,CAkCR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAgB/C"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * AI prompt builders for ContractSpec.
3
+ */
4
+ export * from './prompts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC"}
@@ -1,24 +1,21 @@
1
- //#region src/ai/prompts/code-generation.d.ts
2
1
  /**
3
2
  * Build prompt for generating handler implementation
4
3
  */
5
- declare function buildHandlerPrompt(specCode: string): string;
4
+ export declare function buildHandlerPrompt(specCode: string): string;
6
5
  /**
7
6
  * Build prompt for generating React component from presentation spec
8
7
  */
9
- declare function buildComponentPrompt(specCode: string): string;
8
+ export declare function buildComponentPrompt(specCode: string): string;
10
9
  /**
11
10
  * Build prompt for generating form component
12
11
  */
13
- declare function buildFormPrompt(specCode: string): string;
12
+ export declare function buildFormPrompt(specCode: string): string;
14
13
  /**
15
14
  * Build prompt for generating tests
16
15
  */
17
- declare function buildTestPrompt(specCode: string, implementationCode: string, testType: 'handler' | 'component'): string;
16
+ export declare function buildTestPrompt(specCode: string, implementationCode: string, testType: 'handler' | 'component'): string;
18
17
  /**
19
18
  * System prompt for code generation
20
19
  */
21
- declare function getCodeGenSystemPrompt(): string;
22
- //#endregion
23
- export { buildComponentPrompt, buildFormPrompt, buildHandlerPrompt, buildTestPrompt, getCodeGenSystemPrompt };
20
+ export declare function getCodeGenSystemPrompt(): string;
24
21
  //# sourceMappingURL=code-generation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-generation.d.ts","names":[],"sources":["../../../src/ai/prompts/code-generation.ts"],"sourcesContent":[],"mappings":";;AAGA;AA0BA;AA0BgB,iBApDA,kBAAA,CAoDe,QAAA,EAAA,MAAA,CAAA,EAAA,MAAA;AA2B/B;AA2CA;;iBAhGgB,oBAAA;;;;iBA0BA,eAAA;;;;iBA2BA,eAAA;;;;iBA2CA,sBAAA,CAAA"}
1
+ {"version":3,"file":"code-generation.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/code-generation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqB3D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqB7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAsBxD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,EAAE,SAAS,GAAG,WAAW,GAChC,MAAM,CAkCR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAgB/C"}
@@ -0,0 +1,3 @@
1
+ export * from './spec-creation';
2
+ export * from './code-generation';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"}
@@ -1,28 +1,23 @@
1
- import { PresentationKind } from "../../types/spec-types.js";
2
- import { OpKind } from "@contractspec/lib.contracts";
3
-
4
- //#region src/ai/prompts/spec-creation.d.ts
5
-
1
+ import type { OpKind } from '@contractspec/lib.contracts';
2
+ import type { PresentationKind } from '../../types/spec-types';
6
3
  /**
7
4
  * Build prompt for creating operation spec from description
8
5
  */
9
- declare function buildOperationSpecPrompt(description: string, kind: OpKind): string;
6
+ export declare function buildOperationSpecPrompt(description: string, kind: OpKind): string;
10
7
  /**
11
8
  * Build prompt for creating event spec from description
12
9
  */
13
- declare function buildEventSpecPrompt(description: string): string;
10
+ export declare function buildEventSpecPrompt(description: string): string;
14
11
  /**
15
12
  * Build prompt for creating presentation spec from description
16
13
  */
17
- declare function buildPresentationSpecPrompt(description: string, kind: PresentationKind): string;
14
+ export declare function buildPresentationSpecPrompt(description: string, kind: PresentationKind): string;
18
15
  /**
19
16
  * Build system prompt for all spec generation
20
17
  */
21
- declare function getSystemPrompt(): string;
18
+ export declare function getSystemPrompt(): string;
22
19
  /**
23
20
  * Create example-based prompt for better results
24
21
  */
25
- declare function addExampleContext(basePrompt: string, examples: string[]): string;
26
- //#endregion
27
- export { addExampleContext, buildEventSpecPrompt, buildOperationSpecPrompt, buildPresentationSpecPrompt, getSystemPrompt };
22
+ export declare function addExampleContext(basePrompt: string, examples: string[]): string;
28
23
  //# sourceMappingURL=spec-creation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spec-creation.d.ts","names":[],"sources":["../../../src/ai/prompts/spec-creation.ts"],"sourcesContent":[],"mappings":";;;;;;;AAMA;AA4BgB,iBA5BA,wBAAA,CA4BoB,WAAA,EAAA,MAAA,EAAA,IAAA,EA1B5B,MA0B4B,CAAA,EAAA,MAAA;AAqBpC;AAoCA;AAiBA;iBA1EgB,oBAAA;;;;iBAqBA,2BAAA,4BAER;;;;iBAkCQ,eAAA,CAAA;;;;iBAiBA,iBAAA"}
1
+ {"version":3,"file":"spec-creation.d.ts","sourceRoot":"","sources":["../../../src/ai/prompts/spec-creation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX,MAAM,CAoBR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAgBhE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,gBAAgB,GACrB,MAAM,CA4BR;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAYxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,CAUR"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * AI prompts for spec creation.
3
+ * Extracted from cli-contractspec/src/ai/prompts/spec-creation.ts
4
+ */
5
+ import type { OpKind } from '@contractspec/lib.contracts';
6
+ import type { PresentationKind } from '../types/spec-types';
7
+ /**
8
+ * Build prompt for creating operation spec from description.
9
+ */
10
+ export declare function buildOperationSpecPrompt(description: string, kind: OpKind): string;
11
+ /**
12
+ * Build prompt for creating event spec from description.
13
+ */
14
+ export declare function buildEventSpecPrompt(description: string): string;
15
+ /**
16
+ * Build prompt for creating presentation spec from description.
17
+ */
18
+ export declare function buildPresentationSpecPrompt(description: string, kind: PresentationKind): string;
19
+ /**
20
+ * Build system prompt for all spec generation.
21
+ */
22
+ export declare function getSystemPrompt(): string;
23
+ /**
24
+ * Create example-based prompt for better results.
25
+ */
26
+ export declare function addExampleContext(basePrompt: string, examples: string[]): string;
27
+ //# sourceMappingURL=spec-creation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-creation.d.ts","sourceRoot":"","sources":["../../src/ai/spec-creation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX,MAAM,CAoBR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAgBhE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,gBAAgB,GACrB,MAAM,CA4BR;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAYxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,CAUR"}
@@ -1,34 +1,34 @@
1
- import { ContractGraph, ContractNode } from "../../types/analysis-types.js";
2
-
3
- //#region src/analysis/deps/graph.d.ts
4
-
1
+ /**
2
+ * Contract dependency graph utilities.
3
+ * Extracted from cli-contractspec/src/commands/deps/graph.ts
4
+ */
5
+ import type { ContractNode, ContractGraph } from '../../types/analysis-types';
6
+ export type { ContractNode, ContractGraph };
5
7
  /**
6
8
  * Build reverse edges (dependents) for all nodes in the graph.
7
9
  */
8
- declare function buildReverseEdges(graph: ContractGraph): void;
10
+ export declare function buildReverseEdges(graph: ContractGraph): void;
9
11
  /**
10
12
  * Detect circular dependencies in the graph.
11
13
  */
12
- declare function detectCycles(graph: ContractGraph): string[][];
14
+ export declare function detectCycles(graph: ContractGraph): string[][];
13
15
  /**
14
16
  * Find missing dependencies (referenced but not defined).
15
17
  */
16
- declare function findMissingDependencies(graph: ContractGraph): {
17
- contract: string;
18
- missing: string[];
18
+ export declare function findMissingDependencies(graph: ContractGraph): {
19
+ contract: string;
20
+ missing: string[];
19
21
  }[];
20
22
  /**
21
23
  * Generate DOT format output for visualization.
22
24
  */
23
- declare function toDot(graph: ContractGraph): string;
25
+ export declare function toDot(graph: ContractGraph): string;
24
26
  /**
25
27
  * Create an empty contract graph.
26
28
  */
27
- declare function createContractGraph(): ContractGraph;
29
+ export declare function createContractGraph(): ContractGraph;
28
30
  /**
29
31
  * Add a node to the contract graph.
30
32
  */
31
- declare function addContractNode(graph: ContractGraph, key: string, file: string, dependencies: string[]): void;
32
- //#endregion
33
- export { addContractNode, buildReverseEdges, createContractGraph, detectCycles, findMissingDependencies, toDot };
33
+ export declare function addContractNode(graph: ContractGraph, key: string, file: string, dependencies: string[]): void;
34
34
  //# sourceMappingURL=graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","names":[],"sources":["../../../src/analysis/deps/graph.ts"],"sourcesContent":[],"mappings":";;;;AAwFA;AAsBA;AAOA;iBAzGgB,iBAAA,QAAyB;;;;iBAsBzB,YAAA,QAAoB;;;;iBAoCpB,uBAAA,QACP;;;;;;;iBAiBO,KAAA,QAAa;;;;iBAsBb,mBAAA,CAAA,GAAuB;;;;iBAOvB,eAAA,QACP"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/analysis/deps/graph.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE9E,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AAE5C;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAiB5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,EAAE,CA+B7D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,GACnB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,CAW3C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAiBlD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EAAE,GACrB,IAAI,CAON"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Dependency graph utilities for contract specs.
3
+ */
4
+ export * from './graph';
5
+ export * from './parse-imports';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analysis/deps/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC"}
@@ -1,4 +1,3 @@
1
- //#region src/analysis/deps/parse-imports.d.ts
2
1
  /**
3
2
  * Import parsing utilities for dependency analysis.
4
3
  * Extracted from cli-contractspec/src/commands/deps/parse-imports.ts
@@ -11,7 +10,5 @@
11
10
  * @param fromFilePath - The path of the file being parsed (for relative resolution)
12
11
  * @returns Array of imported spec names
13
12
  */
14
- declare function parseImportedSpecNames(sourceCode: string, _fromFilePath: string): string[];
15
- //#endregion
16
- export { parseImportedSpecNames };
13
+ export declare function parseImportedSpecNames(sourceCode: string, _fromFilePath: string): string[];
17
14
  //# sourceMappingURL=parse-imports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-imports.d.ts","names":[],"sources":["../../../src/analysis/deps/parse-imports.ts"],"sourcesContent":[],"mappings":";;AAaA;;;;;;;;;;;iBAAgB,sBAAA"}
1
+ {"version":3,"file":"parse-imports.d.ts","sourceRoot":"","sources":["../../../src/analysis/deps/parse-imports.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,MAAM,EAAE,CAiCV"}
@@ -1,33 +1,34 @@
1
- import { SemanticDiffItem } from "../../types/analysis-types.js";
2
- import { FieldSnapshot, IoSnapshot } from "../snapshot/types.js";
3
-
4
- //#region src/analysis/diff/deep-diff.d.ts
5
-
1
+ /**
2
+ * Deep diff engine for IO schema comparison.
3
+ *
4
+ * Compares input/output schemas field-by-field to detect
5
+ * breaking and non-breaking changes.
6
+ */
7
+ import type { FieldSnapshot, IoSnapshot } from '../snapshot/types';
8
+ import type { SemanticDiffItem } from '../../types/analysis-types';
6
9
  /**
7
10
  * Deep diff options.
8
11
  */
9
- interface DeepDiffOptions {
10
- /** Only report breaking changes */
11
- breakingOnly?: boolean;
12
- /** Path prefix for nested diffs */
13
- pathPrefix?: string;
12
+ export interface DeepDiffOptions {
13
+ /** Only report breaking changes */
14
+ breakingOnly?: boolean;
15
+ /** Path prefix for nested diffs */
16
+ pathPrefix?: string;
14
17
  }
15
18
  /**
16
19
  * Compute deep differences between two IO schemas.
17
20
  */
18
- declare function computeIoDiff(base: IoSnapshot, head: IoSnapshot, options?: DeepDiffOptions): SemanticDiffItem[];
21
+ export declare function computeIoDiff(base: IoSnapshot, head: IoSnapshot, options?: DeepDiffOptions): SemanticDiffItem[];
19
22
  /**
20
23
  * Compute differences between two field maps.
21
24
  */
22
- declare function computeFieldsDiff(baseFields: Record<string, FieldSnapshot>, headFields: Record<string, FieldSnapshot>, pathPrefix: string, options?: DeepDiffOptions): SemanticDiffItem[];
25
+ export declare function computeFieldsDiff(baseFields: Record<string, FieldSnapshot>, headFields: Record<string, FieldSnapshot>, pathPrefix: string, options?: DeepDiffOptions): SemanticDiffItem[];
23
26
  /**
24
27
  * Compute differences between two field definitions.
25
28
  */
26
- declare function computeFieldDiff(base: FieldSnapshot, head: FieldSnapshot, path: string, _options?: DeepDiffOptions): SemanticDiffItem[];
29
+ export declare function computeFieldDiff(base: FieldSnapshot, head: FieldSnapshot, path: string, _options?: DeepDiffOptions): SemanticDiffItem[];
27
30
  /**
28
31
  * Classify a diff as breaking based on context.
29
32
  */
30
- declare function isBreakingChange(diff: SemanticDiffItem, context: 'input' | 'output'): boolean;
31
- //#endregion
32
- export { DeepDiffOptions, computeFieldDiff, computeFieldsDiff, computeIoDiff, isBreakingChange };
33
+ export declare function isBreakingChange(diff: SemanticDiffItem, context: 'input' | 'output'): boolean;
33
34
  //# sourceMappingURL=deep-diff.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deep-diff.d.ts","names":[],"sources":["../../../src/analysis/diff/deep-diff.ts"],"sourcesContent":[],"mappings":";;;;;;;;AA8CgB,UAjCC,eAAA,CAiCgB;EACJ;EAAf,YAAA,CAAA,EAAA,OAAA;EACe;EAAf,UAAA,CAAA,EAAA,MAAA;;;;AA+Dd;AACQ,iBAzFQ,aAAA,CAyFR,IAAA,EAxFA,UAwFA,EAAA,IAAA,EAvFA,UAuFA,EAAA,OAAA,CAAA,EAtFG,eAsFH,CAAA,EArFL,gBAqFK,EAAA;;;;AAIW,iBAtEH,iBAAA,CAsEG,UAAA,EArEL,MAqEK,CAAA,MAAA,EArEU,aAqEV,CAAA,EAAA,UAAA,EApEL,MAoEK,CAAA,MAAA,EApEU,aAoEV,CAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAlER,eAkEQ,CAAA,EAjEhB,gBAiEgB,EAAA;AAwGnB;;;iBA7GgB,gBAAA,OACR,qBACA,wCAEI,kBACT;;;;iBAwGa,gBAAA,OACR"}
1
+ {"version":3,"file":"deep-diff.d.ts","sourceRoot":"","sources":["../../../src/analysis/diff/deep-diff.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,eAAoB,GAC5B,gBAAgB,EAAE,CAcpB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACzC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACzC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,eAAoB,GAC5B,gBAAgB,EAAE,CAuDpB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,eAAoB,GAC7B,gBAAgB,EAAE,CAmGpB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,OAAO,GAAG,QAAQ,GAC1B,OAAO,CAeT"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Deep diff tests.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=deep-diff.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep-diff.test.d.ts","sourceRoot":"","sources":["../../../src/analysis/diff/deep-diff.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Semantic diff utilities for comparing specs.
3
+ */
4
+ export * from './semantic';
5
+ export * from './deep-diff';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analysis/diff/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -1,11 +1,10 @@
1
- import { SemanticDiffItem, SemanticDiffOptions } from "../../types/analysis-types.js";
2
-
3
- //#region src/analysis/diff/semantic.d.ts
4
-
1
+ /**
2
+ * Semantic diff computation for contract specs.
3
+ * Extracted from cli-contractspec/src/commands/diff/semantic.ts
4
+ */
5
+ import type { SemanticDiffItem, SemanticDiffOptions } from '../../types/analysis-types';
5
6
  /**
6
7
  * Compute semantic differences between two spec sources.
7
8
  */
8
- declare function computeSemanticDiff(aCode: string, aPath: string, bCode: string, bPath: string, options?: SemanticDiffOptions): SemanticDiffItem[];
9
- //#endregion
10
- export { computeSemanticDiff };
9
+ export declare function computeSemanticDiff(aCode: string, aPath: string, bCode: string, bPath: string, options?: SemanticDiffOptions): SemanticDiffItem[];
11
10
  //# sourceMappingURL=semantic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.d.ts","names":[],"sources":["../../../src/analysis/diff/semantic.ts"],"sourcesContent":[],"mappings":";;;;;;;iBAegB,mBAAA,uEAKL,sBACR"}
1
+ {"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../../src/analysis/diff/semantic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EAEpB,MAAM,4BAA4B,CAAC;AAGpC;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,mBAAwB,GAChC,gBAAgB,EAAE,CAyCpB"}
@@ -1,15 +1,10 @@
1
- import { ExampleScanResult } from "../types/analysis-types.js";
2
-
3
- //#region src/analysis/example-scan.d.ts
4
-
1
+ import type { ExampleScanResult } from '../types/analysis-types';
5
2
  /**
6
3
  * Check if a file is an example file based on naming conventions.
7
4
  */
8
- declare function isExampleFile(filePath: string): boolean;
5
+ export declare function isExampleFile(filePath: string): boolean;
9
6
  /**
10
7
  * Scan an example source file to extract metadata.
11
8
  */
12
- declare function scanExampleSource(code: string, filePath: string): ExampleScanResult;
13
- //#endregion
14
- export { isExampleFile, scanExampleSource };
9
+ export declare function scanExampleSource(code: string, filePath: string): ExampleScanResult;
15
10
  //# sourceMappingURL=example-scan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"example-scan.d.ts","names":[],"sources":["../../src/analysis/example-scan.ts"],"sourcesContent":[],"mappings":";;;;;;AAWA;AAOgB,iBAPA,aAAA,CAUb,QAAA,EAAA,MAAiB,CAAA,EAAA,OAAA;;;;iBAHJ,iBAAA,kCAGb"}
1
+ {"version":3,"file":"example-scan.d.ts","sourceRoot":"","sources":["../../src/analysis/example-scan.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,iBAAiB,CAyCnB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Example scan tests.
3
+ *
4
+ * Tests for example file scanning utilities.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=example-scan.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example-scan.test.d.ts","sourceRoot":"","sources":["../../src/analysis/example-scan.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,25 @@
1
+ import type { RefInfo } from '../types/analysis-types';
2
+ /**
3
+ * Extract specs referenced in a feature.
4
+ * Uses ts-morph for robust parsing of object structures.
5
+ */
6
+ export declare function extractFeatureRefs(code: string): {
7
+ operations: RefInfo[];
8
+ events: RefInfo[];
9
+ presentations: RefInfo[];
10
+ experiments: RefInfo[];
11
+ capabilities: {
12
+ provides: RefInfo[];
13
+ requires: RefInfo[];
14
+ };
15
+ opToPresentationLinks: {
16
+ op: RefInfo;
17
+ pres: RefInfo;
18
+ }[];
19
+ presentationsTargets: {
20
+ key: string;
21
+ version: string;
22
+ targets: Record<string, unknown>[];
23
+ }[];
24
+ };
25
+ //# sourceMappingURL=feature-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-extractor.d.ts","sourceRoot":"","sources":["../../src/analysis/feature-extractor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAChD,UAAU,EAAE,OAAO,EAAE,CAAC;IACtB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,YAAY,EAAE;QAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAC3D,qBAAqB,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACxD,oBAAoB,EAAE;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;KACpC,EAAE,CAAC;CACL,CAiKA"}
@@ -1,15 +1,10 @@
1
- import { FeatureScanResult } from "../types/analysis-types.js";
2
-
3
- //#region src/analysis/feature-scan.d.ts
4
-
1
+ import type { FeatureScanResult } from '../types/analysis-types';
5
2
  /**
6
3
  * Check if a file is a feature file based on naming conventions.
7
4
  */
8
- declare function isFeatureFile(filePath: string): boolean;
5
+ export declare function isFeatureFile(filePath: string): boolean;
9
6
  /**
10
7
  * Scan a feature source file to extract metadata.
11
8
  */
12
- declare function scanFeatureSource(code: string, filePath: string): FeatureScanResult;
13
- //#endregion
14
- export { isFeatureFile, scanFeatureSource };
9
+ export declare function scanFeatureSource(code: string, filePath: string): FeatureScanResult;
15
10
  //# sourceMappingURL=feature-scan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-scan.d.ts","names":[],"sources":["../../src/analysis/feature-scan.ts"],"sourcesContent":[],"mappings":";;;;;;AAWA;AAOgB,iBAPA,aAAA,CAUb,QAAA,EAAA,MAAiB,CAAA,EAAA,OAAA;;;;iBAHJ,iBAAA,kCAGb"}
1
+ {"version":3,"file":"feature-scan.d.ts","sourceRoot":"","sources":["../../src/analysis/feature-scan.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,iBAAiB,CAoCnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=feature-scan.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-scan.test.d.ts","sourceRoot":"","sources":["../../src/analysis/feature-scan.test.ts"],"names":[],"mappings":""}
@@ -1,79 +1,78 @@
1
- import { Stability } from "../types/spec-types.js";
2
- import { FeatureScanResult, SpecScanResult } from "../types/analysis-types.js";
3
-
4
- //#region src/analysis/grouping.d.ts
5
-
1
+ /**
2
+ * Grouping and filtering utilities for ContractSpec workspace analysis.
3
+ * Provides services to filter and group scan results.
4
+ */
5
+ import type { FeatureScanResult, SpecScanResult } from '../types/analysis-types';
6
+ import type { Stability } from '../types/spec-types';
6
7
  /**
7
8
  * Filter criteria for spec scan results.
8
9
  */
9
- interface SpecFilter {
10
- /** Filter by tags (item must have at least one matching tag) */
11
- tags?: string[];
12
- /** Filter by owners (item must have at least one matching owner) */
13
- owners?: string[];
14
- /** Filter by stability levels */
15
- stability?: Stability[];
16
- /** Filter by spec type */
17
- specType?: SpecScanResult['specType'][];
18
- /** Filter by name pattern (glob) */
19
- namePattern?: string;
10
+ export interface SpecFilter {
11
+ /** Filter by tags (item must have at least one matching tag) */
12
+ tags?: string[];
13
+ /** Filter by owners (item must have at least one matching owner) */
14
+ owners?: string[];
15
+ /** Filter by stability levels */
16
+ stability?: Stability[];
17
+ /** Filter by spec type */
18
+ specType?: SpecScanResult['specType'][];
19
+ /** Filter by name pattern (glob) */
20
+ namePattern?: string;
20
21
  }
21
22
  /**
22
23
  * Grouping key function type.
23
24
  */
24
- type GroupKeyFn<T> = (item: T) => string;
25
+ export type GroupKeyFn<T> = (item: T) => string;
25
26
  /**
26
27
  * Grouped items result.
27
28
  */
28
- interface GroupedItems<T> {
29
- key: string;
30
- items: T[];
29
+ export interface GroupedItems<T> {
30
+ key: string;
31
+ items: T[];
31
32
  }
32
33
  /**
33
34
  * Pre-built grouping strategies for spec scan results.
34
35
  */
35
- declare const SpecGroupingStrategies: {
36
- /** Group by first tag. */
37
- byTag: (item: SpecScanResult) => string;
38
- /** Group by first owner. */
39
- byOwner: (item: SpecScanResult) => string;
40
- /** Group by domain (first segment of name). */
41
- byDomain: (item: SpecScanResult) => string;
42
- /** Group by stability. */
43
- byStability: (item: SpecScanResult) => string;
44
- /** Group by spec type. */
45
- bySpecType: (item: SpecScanResult) => string;
46
- /** Group by file directory. */
47
- byDirectory: (item: SpecScanResult) => string;
36
+ export declare const SpecGroupingStrategies: {
37
+ /** Group by first tag. */
38
+ byTag: (item: SpecScanResult) => string;
39
+ /** Group by first owner. */
40
+ byOwner: (item: SpecScanResult) => string;
41
+ /** Group by domain (first segment of name). */
42
+ byDomain: (item: SpecScanResult) => string;
43
+ /** Group by stability. */
44
+ byStability: (item: SpecScanResult) => string;
45
+ /** Group by spec type. */
46
+ bySpecType: (item: SpecScanResult) => string;
47
+ /** Group by file directory. */
48
+ byDirectory: (item: SpecScanResult) => string;
48
49
  };
49
50
  /**
50
51
  * Filter specs by criteria.
51
52
  */
52
- declare function filterSpecs(specs: SpecScanResult[], filter: SpecFilter): SpecScanResult[];
53
+ export declare function filterSpecs(specs: SpecScanResult[], filter: SpecFilter): SpecScanResult[];
53
54
  /**
54
55
  * Group specs by key function.
55
56
  */
56
- declare function groupSpecs<T>(items: T[], keyFn: GroupKeyFn<T>): Map<string, T[]>;
57
+ export declare function groupSpecs<T>(items: T[], keyFn: GroupKeyFn<T>): Map<string, T[]>;
57
58
  /**
58
59
  * Group specs and return as array.
59
60
  */
60
- declare function groupSpecsToArray<T>(items: T[], keyFn: GroupKeyFn<T>): GroupedItems<T>[];
61
+ export declare function groupSpecsToArray<T>(items: T[], keyFn: GroupKeyFn<T>): GroupedItems<T>[];
61
62
  /**
62
63
  * Get unique tags from spec results.
63
64
  */
64
- declare function getUniqueSpecTags(specs: SpecScanResult[]): string[];
65
+ export declare function getUniqueSpecTags(specs: SpecScanResult[]): string[];
65
66
  /**
66
67
  * Get unique owners from spec results.
67
68
  */
68
- declare function getUniqueSpecOwners(specs: SpecScanResult[]): string[];
69
+ export declare function getUniqueSpecOwners(specs: SpecScanResult[]): string[];
69
70
  /**
70
71
  * Get unique domains from spec results.
71
72
  */
72
- declare function getUniqueSpecDomains(specs: SpecScanResult[]): string[];
73
+ export declare function getUniqueSpecDomains(specs: SpecScanResult[]): string[];
73
74
  /**
74
75
  * Filter features by criteria.
75
76
  */
76
- declare function filterFeatures(features: FeatureScanResult[], filter: SpecFilter): FeatureScanResult[];
77
- //#endregion
78
- export { GroupKeyFn, GroupedItems, SpecFilter, SpecGroupingStrategies, filterFeatures, filterSpecs, getUniqueSpecDomains, getUniqueSpecOwners, getUniqueSpecTags, groupSpecs, groupSpecsToArray };
77
+ export declare function filterFeatures(features: FeatureScanResult[], filter: SpecFilter): FeatureScanResult[];
79
78
  //# sourceMappingURL=grouping.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grouping.d.ts","names":[],"sources":["../../src/analysis/grouping.ts"],"sourcesContent":[],"mappings":";;;;;AAmCA;AAQA;;AAKkB,UAlCD,UAAA,CAkCC;EAGC;EASG,IAAA,CAAA,EAAA,MAAA,EAAA;EAGD;EAGC,MAAA,CAAA,EAAA,MAAA,EAAA;EAAc;EAUpB,SAAA,CAAA,EAxDF,SAwDa,EAAA;EAClB;EACC,QAAA,CAAA,EAxDG,cAwDH,CAAA,UAAA,CAAA,EAAA;EACP;EAAc,WAAA,CAAA,EAAA,MAAA;AAiDjB;;;;AAGe,KArGH,UAqGG,CAAA,CAAA,CAAA,GAAA,CAAA,IAAA,EArGoB,CAqGpB,EAAA,GAAA,MAAA;;;AAmBf;AACS,UApHQ,YAoHR,CAAA,CAAA,CAAA,CAAA;EACW,GAAA,EAAA,MAAA;EAAX,KAAA,EAnHA,CAmHA,EAAA;;;;AAWT;AAagB,cArIH,sBAqI8B,EAAA;EAa3B;EAWA,KAAA,EAAA,CAAA,IAAA,EA3JA,cA2Jc,EAAA,GAAA,MAAA;EAClB;EACF,OAAA,EAAA,CAAA,IAAA,EA1JQ,cA0JR,EAAA,GAAA,MAAA;EACP;EAAiB,QAAA,EAAA,CAAA,IAAA,EAxJD,cAwJC,EAAA,GAAA,MAAA;;sBA/IE;;qBAGD;;sBAGC;;;;;iBAUN,WAAA,QACP,0BACC,aACP;;;;iBAiDa,qBACP,YACA,WAAW,KACjB,YAAY;;;;iBAmBC,4BACP,YACA,WAAW,KACjB,aAAa;;;;iBAUA,iBAAA,QAAyB;;;;iBAazB,mBAAA,QAA2B;;;;iBAa3B,oBAAA,QAA4B;;;;iBAW5B,cAAA,WACJ,6BACF,aACP"}
1
+ {"version":3,"file":"grouping.d.ts","sourceRoot":"","sources":["../../src/analysis/grouping.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,iCAAiC;IACjC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IACxB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;IACxC,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,CAAC,EAAE,CAAC;CACZ;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB;IACjC,0BAA0B;kBACZ,cAAc,KAAG,MAAM;IAErC,4BAA4B;oBACZ,cAAc,KAAG,MAAM;IAEvC,+CAA+C;qBAC9B,cAAc,KAAG,MAAM;IAQxC,0BAA0B;wBACN,cAAc,KAAG,MAAM;IAE3C,0BAA0B;uBACP,cAAc,KAAG,MAAM;IAE1C,+BAA+B;wBACX,cAAc,KAAG,MAAM;CAK5C,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,cAAc,EAAE,EACvB,MAAM,EAAE,UAAU,GACjB,cAAc,EAAE,CA4ClB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC1B,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GACnB,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAclB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GACnB,YAAY,CAAC,CAAC,CAAC,EAAE,CAKnB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,CAQnE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,CAQrE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,CAMtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,MAAM,EAAE,UAAU,GACjB,iBAAiB,EAAE,CAoCrB"}