opencode-telos 1.0.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 (568) hide show
  1. package/README.md +927 -0
  2. package/dist/code-intelligence/analyzer.d.ts +9 -0
  3. package/dist/code-intelligence/analyzer.d.ts.map +1 -0
  4. package/dist/code-intelligence/analyzer.js +321 -0
  5. package/dist/code-intelligence/analyzer.js.map +1 -0
  6. package/dist/code-intelligence/ast/cache.d.ts +16 -0
  7. package/dist/code-intelligence/ast/cache.d.ts.map +1 -0
  8. package/dist/code-intelligence/ast/cache.js +44 -0
  9. package/dist/code-intelligence/ast/cache.js.map +1 -0
  10. package/dist/code-intelligence/ast/common.d.ts +8 -0
  11. package/dist/code-intelligence/ast/common.d.ts.map +1 -0
  12. package/dist/code-intelligence/ast/common.js +42 -0
  13. package/dist/code-intelligence/ast/common.js.map +1 -0
  14. package/dist/code-intelligence/ast/component.d.ts +10 -0
  15. package/dist/code-intelligence/ast/component.d.ts.map +1 -0
  16. package/dist/code-intelligence/ast/component.js +38 -0
  17. package/dist/code-intelligence/ast/component.js.map +1 -0
  18. package/dist/code-intelligence/ast/fallback.d.ts +9 -0
  19. package/dist/code-intelligence/ast/fallback.d.ts.map +1 -0
  20. package/dist/code-intelligence/ast/fallback.js +38 -0
  21. package/dist/code-intelligence/ast/fallback.js.map +1 -0
  22. package/dist/code-intelligence/ast/index.d.ts +5 -0
  23. package/dist/code-intelligence/ast/index.d.ts.map +1 -0
  24. package/dist/code-intelligence/ast/index.js +5 -0
  25. package/dist/code-intelligence/ast/index.js.map +1 -0
  26. package/dist/code-intelligence/ast/ir.d.ts +72 -0
  27. package/dist/code-intelligence/ast/ir.d.ts.map +1 -0
  28. package/dist/code-intelligence/ast/ir.js +2 -0
  29. package/dist/code-intelligence/ast/ir.js.map +1 -0
  30. package/dist/code-intelligence/ast/metrics.d.ts +25 -0
  31. package/dist/code-intelligence/ast/metrics.d.ts.map +1 -0
  32. package/dist/code-intelligence/ast/metrics.js +38 -0
  33. package/dist/code-intelligence/ast/metrics.js.map +1 -0
  34. package/dist/code-intelligence/ast/registry.d.ts +5 -0
  35. package/dist/code-intelligence/ast/registry.d.ts.map +1 -0
  36. package/dist/code-intelligence/ast/registry.js +22 -0
  37. package/dist/code-intelligence/ast/registry.js.map +1 -0
  38. package/dist/code-intelligence/ast/tree-sitter.d.ts +8 -0
  39. package/dist/code-intelligence/ast/tree-sitter.d.ts.map +1 -0
  40. package/dist/code-intelligence/ast/tree-sitter.js +247 -0
  41. package/dist/code-intelligence/ast/tree-sitter.js.map +1 -0
  42. package/dist/code-intelligence/ast/typescript.d.ts +8 -0
  43. package/dist/code-intelligence/ast/typescript.d.ts.map +1 -0
  44. package/dist/code-intelligence/ast/typescript.js +147 -0
  45. package/dist/code-intelligence/ast/typescript.js.map +1 -0
  46. package/dist/index.d.ts +10 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +18 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/mcp/server.d.ts +27 -0
  51. package/dist/mcp/server.d.ts.map +1 -0
  52. package/dist/mcp/server.js +67 -0
  53. package/dist/mcp/server.js.map +1 -0
  54. package/dist/opencode/hooks.d.ts +9 -0
  55. package/dist/opencode/hooks.d.ts.map +1 -0
  56. package/dist/opencode/hooks.js +583 -0
  57. package/dist/opencode/hooks.js.map +1 -0
  58. package/dist/opencode/router/categories.d.ts +31 -0
  59. package/dist/opencode/router/categories.d.ts.map +1 -0
  60. package/dist/opencode/router/categories.js +165 -0
  61. package/dist/opencode/router/categories.js.map +1 -0
  62. package/dist/opencode/router/embeddings.d.ts +41 -0
  63. package/dist/opencode/router/embeddings.d.ts.map +1 -0
  64. package/dist/opencode/router/embeddings.js +136 -0
  65. package/dist/opencode/router/embeddings.js.map +1 -0
  66. package/dist/opencode/router/graph-state-snapshot.d.ts +35 -0
  67. package/dist/opencode/router/graph-state-snapshot.d.ts.map +1 -0
  68. package/dist/opencode/router/graph-state-snapshot.js +129 -0
  69. package/dist/opencode/router/graph-state-snapshot.js.map +1 -0
  70. package/dist/opencode/router/index.d.ts +21 -0
  71. package/dist/opencode/router/index.d.ts.map +1 -0
  72. package/dist/opencode/router/index.js +23 -0
  73. package/dist/opencode/router/index.js.map +1 -0
  74. package/dist/opencode/router/intent-classifier.d.ts +35 -0
  75. package/dist/opencode/router/intent-classifier.d.ts.map +1 -0
  76. package/dist/opencode/router/intent-classifier.js +108 -0
  77. package/dist/opencode/router/intent-classifier.js.map +1 -0
  78. package/dist/opencode/router/semantic-nudge.d.ts +42 -0
  79. package/dist/opencode/router/semantic-nudge.d.ts.map +1 -0
  80. package/dist/opencode/router/semantic-nudge.js +73 -0
  81. package/dist/opencode/router/semantic-nudge.js.map +1 -0
  82. package/dist/opencode/router/state-gate.d.ts +25 -0
  83. package/dist/opencode/router/state-gate.d.ts.map +1 -0
  84. package/dist/opencode/router/state-gate.js +178 -0
  85. package/dist/opencode/router/state-gate.js.map +1 -0
  86. package/dist/opencode/router/tool-embeddings.d.ts +36 -0
  87. package/dist/opencode/router/tool-embeddings.d.ts.map +1 -0
  88. package/dist/opencode/router/tool-embeddings.js +140 -0
  89. package/dist/opencode/router/tool-embeddings.js.map +1 -0
  90. package/dist/opencode/router/tool-registry.d.ts +45 -0
  91. package/dist/opencode/router/tool-registry.d.ts.map +1 -0
  92. package/dist/opencode/router/tool-registry.js +103 -0
  93. package/dist/opencode/router/tool-registry.js.map +1 -0
  94. package/dist/opencode/router/tool-taxonomy.d.ts +51 -0
  95. package/dist/opencode/router/tool-taxonomy.d.ts.map +1 -0
  96. package/dist/opencode/router/tool-taxonomy.js +250 -0
  97. package/dist/opencode/router/tool-taxonomy.js.map +1 -0
  98. package/dist/opencode/router/tools-composite.d.ts +21 -0
  99. package/dist/opencode/router/tools-composite.d.ts.map +1 -0
  100. package/dist/opencode/router/tools-composite.js +684 -0
  101. package/dist/opencode/router/tools-composite.js.map +1 -0
  102. package/dist/opencode/shell-hooks.d.ts +7 -0
  103. package/dist/opencode/shell-hooks.d.ts.map +1 -0
  104. package/dist/opencode/shell-hooks.js +96 -0
  105. package/dist/opencode/shell-hooks.js.map +1 -0
  106. package/dist/opencode/system-prompt.d.ts +10 -0
  107. package/dist/opencode/system-prompt.d.ts.map +1 -0
  108. package/dist/opencode/system-prompt.js +600 -0
  109. package/dist/opencode/system-prompt.js.map +1 -0
  110. package/dist/opencode/tools.d.ts +8 -0
  111. package/dist/opencode/tools.d.ts.map +1 -0
  112. package/dist/opencode/tools.js +3731 -0
  113. package/dist/opencode/tools.js.map +1 -0
  114. package/dist/opencode/workflows/chains.d.ts +52 -0
  115. package/dist/opencode/workflows/chains.d.ts.map +1 -0
  116. package/dist/opencode/workflows/chains.js +170 -0
  117. package/dist/opencode/workflows/chains.js.map +1 -0
  118. package/dist/opencode/workflows/executor.d.ts +52 -0
  119. package/dist/opencode/workflows/executor.d.ts.map +1 -0
  120. package/dist/opencode/workflows/executor.js +130 -0
  121. package/dist/opencode/workflows/executor.js.map +1 -0
  122. package/dist/opencode/workflows/index.d.ts +14 -0
  123. package/dist/opencode/workflows/index.d.ts.map +1 -0
  124. package/dist/opencode/workflows/index.js +15 -0
  125. package/dist/opencode/workflows/index.js.map +1 -0
  126. package/dist/opencode/workflows/tools-workflow.d.ts +24 -0
  127. package/dist/opencode/workflows/tools-workflow.d.ts.map +1 -0
  128. package/dist/opencode/workflows/tools-workflow.js +85 -0
  129. package/dist/opencode/workflows/tools-workflow.js.map +1 -0
  130. package/dist/opencode/workflows/types.d.ts +32 -0
  131. package/dist/opencode/workflows/types.d.ts.map +1 -0
  132. package/dist/opencode/workflows/types.js +13 -0
  133. package/dist/opencode/workflows/types.js.map +1 -0
  134. package/dist/sdd/analysis/compliance.d.ts +30 -0
  135. package/dist/sdd/analysis/compliance.d.ts.map +1 -0
  136. package/dist/sdd/analysis/compliance.js +251 -0
  137. package/dist/sdd/analysis/compliance.js.map +1 -0
  138. package/dist/sdd/analysis/scalability.d.ts +15 -0
  139. package/dist/sdd/analysis/scalability.d.ts.map +1 -0
  140. package/dist/sdd/analysis/scalability.js +72 -0
  141. package/dist/sdd/analysis/scalability.js.map +1 -0
  142. package/dist/sdd/analysis/security.d.ts +25 -0
  143. package/dist/sdd/analysis/security.d.ts.map +1 -0
  144. package/dist/sdd/analysis/security.js +94 -0
  145. package/dist/sdd/analysis/security.js.map +1 -0
  146. package/dist/sdd/brownfield/scanner.d.ts +31 -0
  147. package/dist/sdd/brownfield/scanner.d.ts.map +1 -0
  148. package/dist/sdd/brownfield/scanner.js +228 -0
  149. package/dist/sdd/brownfield/scanner.js.map +1 -0
  150. package/dist/sdd/cache/manager.d.ts +237 -0
  151. package/dist/sdd/cache/manager.d.ts.map +1 -0
  152. package/dist/sdd/cache/manager.js +770 -0
  153. package/dist/sdd/cache/manager.js.map +1 -0
  154. package/dist/sdd/cache/snapshot-store.d.ts +39 -0
  155. package/dist/sdd/cache/snapshot-store.d.ts.map +1 -0
  156. package/dist/sdd/cache/snapshot-store.js +156 -0
  157. package/dist/sdd/cache/snapshot-store.js.map +1 -0
  158. package/dist/sdd/changes/manager.d.ts +58 -0
  159. package/dist/sdd/changes/manager.d.ts.map +1 -0
  160. package/dist/sdd/changes/manager.js +235 -0
  161. package/dist/sdd/changes/manager.js.map +1 -0
  162. package/dist/sdd/cicd/generators.d.ts +16 -0
  163. package/dist/sdd/cicd/generators.d.ts.map +1 -0
  164. package/dist/sdd/cicd/generators.js +1042 -0
  165. package/dist/sdd/cicd/generators.js.map +1 -0
  166. package/dist/sdd/code-quality/complexity.d.ts +38 -0
  167. package/dist/sdd/code-quality/complexity.d.ts.map +1 -0
  168. package/dist/sdd/code-quality/complexity.js +161 -0
  169. package/dist/sdd/code-quality/complexity.js.map +1 -0
  170. package/dist/sdd/code-quality/conventions.d.ts +33 -0
  171. package/dist/sdd/code-quality/conventions.d.ts.map +1 -0
  172. package/dist/sdd/code-quality/conventions.js +193 -0
  173. package/dist/sdd/code-quality/conventions.js.map +1 -0
  174. package/dist/sdd/code-quality/dependencies.d.ts +27 -0
  175. package/dist/sdd/code-quality/dependencies.d.ts.map +1 -0
  176. package/dist/sdd/code-quality/dependencies.js +142 -0
  177. package/dist/sdd/code-quality/dependencies.js.map +1 -0
  178. package/dist/sdd/code-quality/import-analyzer.d.ts +49 -0
  179. package/dist/sdd/code-quality/import-analyzer.d.ts.map +1 -0
  180. package/dist/sdd/code-quality/import-analyzer.js +213 -0
  181. package/dist/sdd/code-quality/import-analyzer.js.map +1 -0
  182. package/dist/sdd/code-quality/metrics.d.ts +35 -0
  183. package/dist/sdd/code-quality/metrics.d.ts.map +1 -0
  184. package/dist/sdd/code-quality/metrics.js +172 -0
  185. package/dist/sdd/code-quality/metrics.js.map +1 -0
  186. package/dist/sdd/code-quality/smells.d.ts +38 -0
  187. package/dist/sdd/code-quality/smells.d.ts.map +1 -0
  188. package/dist/sdd/code-quality/smells.js +319 -0
  189. package/dist/sdd/code-quality/smells.js.map +1 -0
  190. package/dist/sdd/code-quality/symbol-parser.d.ts +28 -0
  191. package/dist/sdd/code-quality/symbol-parser.d.ts.map +1 -0
  192. package/dist/sdd/code-quality/symbol-parser.js +230 -0
  193. package/dist/sdd/code-quality/symbol-parser.js.map +1 -0
  194. package/dist/sdd/code-quality/usage-tracker.d.ts +59 -0
  195. package/dist/sdd/code-quality/usage-tracker.d.ts.map +1 -0
  196. package/dist/sdd/code-quality/usage-tracker.js +402 -0
  197. package/dist/sdd/code-quality/usage-tracker.js.map +1 -0
  198. package/dist/sdd/code-quality/utils.d.ts +6 -0
  199. package/dist/sdd/code-quality/utils.d.ts.map +1 -0
  200. package/dist/sdd/code-quality/utils.js +14 -0
  201. package/dist/sdd/code-quality/utils.js.map +1 -0
  202. package/dist/sdd/codegen/generator.d.ts +42 -0
  203. package/dist/sdd/codegen/generator.d.ts.map +1 -0
  204. package/dist/sdd/codegen/generator.js +1023 -0
  205. package/dist/sdd/codegen/generator.js.map +1 -0
  206. package/dist/sdd/constitution/validator.d.ts +37 -0
  207. package/dist/sdd/constitution/validator.d.ts.map +1 -0
  208. package/dist/sdd/constitution/validator.js +192 -0
  209. package/dist/sdd/constitution/validator.js.map +1 -0
  210. package/dist/sdd/cost/estimator.d.ts +31 -0
  211. package/dist/sdd/cost/estimator.d.ts.map +1 -0
  212. package/dist/sdd/cost/estimator.js +92 -0
  213. package/dist/sdd/cost/estimator.js.map +1 -0
  214. package/dist/sdd/coverage/tracker.d.ts +47 -0
  215. package/dist/sdd/coverage/tracker.d.ts.map +1 -0
  216. package/dist/sdd/coverage/tracker.js +251 -0
  217. package/dist/sdd/coverage/tracker.js.map +1 -0
  218. package/dist/sdd/disaster/recovery.d.ts +11 -0
  219. package/dist/sdd/disaster/recovery.d.ts.map +1 -0
  220. package/dist/sdd/disaster/recovery.js +55 -0
  221. package/dist/sdd/disaster/recovery.js.map +1 -0
  222. package/dist/sdd/discovery/adaptive.d.ts +14 -0
  223. package/dist/sdd/discovery/adaptive.d.ts.map +1 -0
  224. package/dist/sdd/discovery/adaptive.js +145 -0
  225. package/dist/sdd/discovery/adaptive.js.map +1 -0
  226. package/dist/sdd/discovery/briefing-analyzer.d.ts +66 -0
  227. package/dist/sdd/discovery/briefing-analyzer.d.ts.map +1 -0
  228. package/dist/sdd/discovery/briefing-analyzer.js +672 -0
  229. package/dist/sdd/discovery/briefing-analyzer.js.map +1 -0
  230. package/dist/sdd/discovery/briefing.d.ts +109 -0
  231. package/dist/sdd/discovery/briefing.d.ts.map +1 -0
  232. package/dist/sdd/discovery/briefing.js +617 -0
  233. package/dist/sdd/discovery/briefing.js.map +1 -0
  234. package/dist/sdd/discovery/graph-builder.d.ts +10 -0
  235. package/dist/sdd/discovery/graph-builder.d.ts.map +1 -0
  236. package/dist/sdd/discovery/graph-builder.js +510 -0
  237. package/dist/sdd/discovery/graph-builder.js.map +1 -0
  238. package/dist/sdd/documentation/generator.d.ts +7 -0
  239. package/dist/sdd/documentation/generator.d.ts.map +1 -0
  240. package/dist/sdd/documentation/generator.js +119 -0
  241. package/dist/sdd/documentation/generator.js.map +1 -0
  242. package/dist/sdd/domain/types.d.ts +460 -0
  243. package/dist/sdd/domain/types.d.ts.map +1 -0
  244. package/dist/sdd/domain/types.js +25 -0
  245. package/dist/sdd/domain/types.js.map +1 -0
  246. package/dist/sdd/drift/detector.d.ts +28 -0
  247. package/dist/sdd/drift/detector.d.ts.map +1 -0
  248. package/dist/sdd/drift/detector.js +379 -0
  249. package/dist/sdd/drift/detector.js.map +1 -0
  250. package/dist/sdd/drift/exclusion.d.ts +54 -0
  251. package/dist/sdd/drift/exclusion.d.ts.map +1 -0
  252. package/dist/sdd/drift/exclusion.js +179 -0
  253. package/dist/sdd/drift/exclusion.js.map +1 -0
  254. package/dist/sdd/drift/signals.d.ts +52 -0
  255. package/dist/sdd/drift/signals.d.ts.map +1 -0
  256. package/dist/sdd/drift/signals.js +470 -0
  257. package/dist/sdd/drift/signals.js.map +1 -0
  258. package/dist/sdd/enforcement/interceptor.d.ts +47 -0
  259. package/dist/sdd/enforcement/interceptor.d.ts.map +1 -0
  260. package/dist/sdd/enforcement/interceptor.js +365 -0
  261. package/dist/sdd/enforcement/interceptor.js.map +1 -0
  262. package/dist/sdd/enforcement/workflow-tracker.d.ts +66 -0
  263. package/dist/sdd/enforcement/workflow-tracker.d.ts.map +1 -0
  264. package/dist/sdd/enforcement/workflow-tracker.js +229 -0
  265. package/dist/sdd/enforcement/workflow-tracker.js.map +1 -0
  266. package/dist/sdd/graph/engine.d.ts +44 -0
  267. package/dist/sdd/graph/engine.d.ts.map +1 -0
  268. package/dist/sdd/graph/engine.js +203 -0
  269. package/dist/sdd/graph/engine.js.map +1 -0
  270. package/dist/sdd/graph/index.d.ts +160 -0
  271. package/dist/sdd/graph/index.d.ts.map +1 -0
  272. package/dist/sdd/graph/index.js +624 -0
  273. package/dist/sdd/graph/index.js.map +1 -0
  274. package/dist/sdd/graph/integrity-guard.d.ts +129 -0
  275. package/dist/sdd/graph/integrity-guard.d.ts.map +1 -0
  276. package/dist/sdd/graph/integrity-guard.js +263 -0
  277. package/dist/sdd/graph/integrity-guard.js.map +1 -0
  278. package/dist/sdd/graph/integrity.d.ts +79 -0
  279. package/dist/sdd/graph/integrity.d.ts.map +1 -0
  280. package/dist/sdd/graph/integrity.js +462 -0
  281. package/dist/sdd/graph/integrity.js.map +1 -0
  282. package/dist/sdd/graph/pruner.d.ts +27 -0
  283. package/dist/sdd/graph/pruner.d.ts.map +1 -0
  284. package/dist/sdd/graph/pruner.js +203 -0
  285. package/dist/sdd/graph/pruner.js.map +1 -0
  286. package/dist/sdd/graph/traverse.d.ts +43 -0
  287. package/dist/sdd/graph/traverse.d.ts.map +1 -0
  288. package/dist/sdd/graph/traverse.js +265 -0
  289. package/dist/sdd/graph/traverse.js.map +1 -0
  290. package/dist/sdd/incidents/manager.d.ts +10 -0
  291. package/dist/sdd/incidents/manager.d.ts.map +1 -0
  292. package/dist/sdd/incidents/manager.js +63 -0
  293. package/dist/sdd/incidents/manager.js.map +1 -0
  294. package/dist/sdd/knowledge/transfer.d.ts +24 -0
  295. package/dist/sdd/knowledge/transfer.d.ts.map +1 -0
  296. package/dist/sdd/knowledge/transfer.js +94 -0
  297. package/dist/sdd/knowledge/transfer.js.map +1 -0
  298. package/dist/sdd/migrations/fixes.d.ts +2 -0
  299. package/dist/sdd/migrations/fixes.d.ts.map +1 -0
  300. package/dist/sdd/migrations/fixes.js +159 -0
  301. package/dist/sdd/migrations/fixes.js.map +1 -0
  302. package/dist/sdd/migrations/index.d.ts +2 -0
  303. package/dist/sdd/migrations/index.d.ts.map +1 -0
  304. package/dist/sdd/migrations/index.js +5 -0
  305. package/dist/sdd/migrations/index.js.map +1 -0
  306. package/dist/sdd/migrations/migration-runner.d.ts +41 -0
  307. package/dist/sdd/migrations/migration-runner.d.ts.map +1 -0
  308. package/dist/sdd/migrations/migration-runner.js +91 -0
  309. package/dist/sdd/migrations/migration-runner.js.map +1 -0
  310. package/dist/sdd/monitoring/setup.d.ts +40 -0
  311. package/dist/sdd/monitoring/setup.d.ts.map +1 -0
  312. package/dist/sdd/monitoring/setup.js +177 -0
  313. package/dist/sdd/monitoring/setup.js.map +1 -0
  314. package/dist/sdd/monitoring/telemetry.d.ts +18 -0
  315. package/dist/sdd/monitoring/telemetry.d.ts.map +1 -0
  316. package/dist/sdd/monitoring/telemetry.js +37 -0
  317. package/dist/sdd/monitoring/telemetry.js.map +1 -0
  318. package/dist/sdd/patterns/anti-patterns.d.ts +21 -0
  319. package/dist/sdd/patterns/anti-patterns.d.ts.map +1 -0
  320. package/dist/sdd/patterns/anti-patterns.js +286 -0
  321. package/dist/sdd/patterns/anti-patterns.js.map +1 -0
  322. package/dist/sdd/patterns/ast-clones.d.ts +23 -0
  323. package/dist/sdd/patterns/ast-clones.d.ts.map +1 -0
  324. package/dist/sdd/patterns/ast-clones.js +171 -0
  325. package/dist/sdd/patterns/ast-clones.js.map +1 -0
  326. package/dist/sdd/patterns/config-drift.d.ts +16 -0
  327. package/dist/sdd/patterns/config-drift.d.ts.map +1 -0
  328. package/dist/sdd/patterns/config-drift.js +322 -0
  329. package/dist/sdd/patterns/config-drift.js.map +1 -0
  330. package/dist/sdd/patterns/contradictions.d.ts +38 -0
  331. package/dist/sdd/patterns/contradictions.d.ts.map +1 -0
  332. package/dist/sdd/patterns/contradictions.js +237 -0
  333. package/dist/sdd/patterns/contradictions.js.map +1 -0
  334. package/dist/sdd/patterns/learner.d.ts +49 -0
  335. package/dist/sdd/patterns/learner.d.ts.map +1 -0
  336. package/dist/sdd/patterns/learner.js +226 -0
  337. package/dist/sdd/patterns/learner.js.map +1 -0
  338. package/dist/sdd/permissions/access.d.ts +69 -0
  339. package/dist/sdd/permissions/access.d.ts.map +1 -0
  340. package/dist/sdd/permissions/access.js +333 -0
  341. package/dist/sdd/permissions/access.js.map +1 -0
  342. package/dist/sdd/persistence/repository.d.ts +60 -0
  343. package/dist/sdd/persistence/repository.d.ts.map +1 -0
  344. package/dist/sdd/persistence/repository.js +96 -0
  345. package/dist/sdd/persistence/repository.js.map +1 -0
  346. package/dist/sdd/persistence/sqlite.d.ts +122 -0
  347. package/dist/sdd/persistence/sqlite.d.ts.map +1 -0
  348. package/dist/sdd/persistence/sqlite.js +602 -0
  349. package/dist/sdd/persistence/sqlite.js.map +1 -0
  350. package/dist/sdd/persistence/yaml.d.ts +41 -0
  351. package/dist/sdd/persistence/yaml.d.ts.map +1 -0
  352. package/dist/sdd/persistence/yaml.js +382 -0
  353. package/dist/sdd/persistence/yaml.js.map +1 -0
  354. package/dist/sdd/promises/classifier.d.ts +48 -0
  355. package/dist/sdd/promises/classifier.d.ts.map +1 -0
  356. package/dist/sdd/promises/classifier.js +215 -0
  357. package/dist/sdd/promises/classifier.js.map +1 -0
  358. package/dist/sdd/promises/tracker.d.ts +20 -0
  359. package/dist/sdd/promises/tracker.d.ts.map +1 -0
  360. package/dist/sdd/promises/tracker.js +204 -0
  361. package/dist/sdd/promises/tracker.js.map +1 -0
  362. package/dist/sdd/quality/scorer.d.ts +44 -0
  363. package/dist/sdd/quality/scorer.d.ts.map +1 -0
  364. package/dist/sdd/quality/scorer.js +216 -0
  365. package/dist/sdd/quality/scorer.js.map +1 -0
  366. package/dist/sdd/rollback/manager.d.ts +45 -0
  367. package/dist/sdd/rollback/manager.d.ts.map +1 -0
  368. package/dist/sdd/rollback/manager.js +266 -0
  369. package/dist/sdd/rollback/manager.js.map +1 -0
  370. package/dist/sdd/session/handoff.d.ts +52 -0
  371. package/dist/sdd/session/handoff.d.ts.map +1 -0
  372. package/dist/sdd/session/handoff.js +264 -0
  373. package/dist/sdd/session/handoff.js.map +1 -0
  374. package/dist/sdd/sla/tracker.d.ts +11 -0
  375. package/dist/sdd/sla/tracker.d.ts.map +1 -0
  376. package/dist/sdd/sla/tracker.js +52 -0
  377. package/dist/sdd/sla/tracker.js.map +1 -0
  378. package/dist/sdd/sync/git-sync.d.ts +61 -0
  379. package/dist/sdd/sync/git-sync.d.ts.map +1 -0
  380. package/dist/sdd/sync/git-sync.js +297 -0
  381. package/dist/sdd/sync/git-sync.js.map +1 -0
  382. package/dist/sdd/toggle/state.d.ts +8 -0
  383. package/dist/sdd/toggle/state.d.ts.map +1 -0
  384. package/dist/sdd/toggle/state.js +32 -0
  385. package/dist/sdd/toggle/state.js.map +1 -0
  386. package/dist/sdd/transactions/manager.d.ts +12 -0
  387. package/dist/sdd/transactions/manager.d.ts.map +1 -0
  388. package/dist/sdd/transactions/manager.js +80 -0
  389. package/dist/sdd/transactions/manager.js.map +1 -0
  390. package/dist/sdd/validation/coverage-index.d.ts +117 -0
  391. package/dist/sdd/validation/coverage-index.d.ts.map +1 -0
  392. package/dist/sdd/validation/coverage-index.js +251 -0
  393. package/dist/sdd/validation/coverage-index.js.map +1 -0
  394. package/dist/sdd/validation/executable.d.ts +26 -0
  395. package/dist/sdd/validation/executable.d.ts.map +1 -0
  396. package/dist/sdd/validation/executable.js +122 -0
  397. package/dist/sdd/validation/executable.js.map +1 -0
  398. package/dist/sdd/validation/smart-validator.d.ts +53 -0
  399. package/dist/sdd/validation/smart-validator.d.ts.map +1 -0
  400. package/dist/sdd/validation/smart-validator.js +347 -0
  401. package/dist/sdd/validation/smart-validator.js.map +1 -0
  402. package/dist/sdd/validation/validator.d.ts +39 -0
  403. package/dist/sdd/validation/validator.d.ts.map +1 -0
  404. package/dist/sdd/validation/validator.js +512 -0
  405. package/dist/sdd/validation/validator.js.map +1 -0
  406. package/dist/sdd/workflow/exporter.d.ts +36 -0
  407. package/dist/sdd/workflow/exporter.d.ts.map +1 -0
  408. package/dist/sdd/workflow/exporter.js +112 -0
  409. package/dist/sdd/workflow/exporter.js.map +1 -0
  410. package/dist/sdd/workflows/ab-testing.d.ts +18 -0
  411. package/dist/sdd/workflows/ab-testing.d.ts.map +1 -0
  412. package/dist/sdd/workflows/ab-testing.js +67 -0
  413. package/dist/sdd/workflows/ab-testing.js.map +1 -0
  414. package/dist/sdd/workflows/bug-fix.d.ts +13 -0
  415. package/dist/sdd/workflows/bug-fix.d.ts.map +1 -0
  416. package/dist/sdd/workflows/bug-fix.js +65 -0
  417. package/dist/sdd/workflows/bug-fix.js.map +1 -0
  418. package/dist/sdd/workflows/data-migration.d.ts +14 -0
  419. package/dist/sdd/workflows/data-migration.d.ts.map +1 -0
  420. package/dist/sdd/workflows/data-migration.js +68 -0
  421. package/dist/sdd/workflows/data-migration.js.map +1 -0
  422. package/dist/sdd/workflows/deprecation.d.ts +15 -0
  423. package/dist/sdd/workflows/deprecation.d.ts.map +1 -0
  424. package/dist/sdd/workflows/deprecation.js +68 -0
  425. package/dist/sdd/workflows/deprecation.js.map +1 -0
  426. package/dist/sdd/workflows/feature-flags.d.ts +14 -0
  427. package/dist/sdd/workflows/feature-flags.d.ts.map +1 -0
  428. package/dist/sdd/workflows/feature-flags.js +73 -0
  429. package/dist/sdd/workflows/feature-flags.js.map +1 -0
  430. package/dist/sdd/workflows/hotfix.d.ts +13 -0
  431. package/dist/sdd/workflows/hotfix.d.ts.map +1 -0
  432. package/dist/sdd/workflows/hotfix.js +67 -0
  433. package/dist/sdd/workflows/hotfix.js.map +1 -0
  434. package/dist/sdd/workflows/multi-tenancy.d.ts +13 -0
  435. package/dist/sdd/workflows/multi-tenancy.d.ts.map +1 -0
  436. package/dist/sdd/workflows/multi-tenancy.js +68 -0
  437. package/dist/sdd/workflows/multi-tenancy.js.map +1 -0
  438. package/dist/sdd/workflows/onboarding.d.ts +7 -0
  439. package/dist/sdd/workflows/onboarding.d.ts.map +1 -0
  440. package/dist/sdd/workflows/onboarding.js +43 -0
  441. package/dist/sdd/workflows/onboarding.js.map +1 -0
  442. package/dist/sdd/workflows/refactoring.d.ts +14 -0
  443. package/dist/sdd/workflows/refactoring.d.ts.map +1 -0
  444. package/dist/sdd/workflows/refactoring.js +73 -0
  445. package/dist/sdd/workflows/refactoring.js.map +1 -0
  446. package/dist/server/events.d.ts +64 -0
  447. package/dist/server/events.d.ts.map +1 -0
  448. package/dist/server/events.js +149 -0
  449. package/dist/server/events.js.map +1 -0
  450. package/dist/server/server.d.ts +33 -0
  451. package/dist/server/server.d.ts.map +1 -0
  452. package/dist/server/server.js +1019 -0
  453. package/dist/server/server.js.map +1 -0
  454. package/marketplace.json +39 -0
  455. package/package.json +65 -0
  456. package/src/code-intelligence/analyzer.ts +350 -0
  457. package/src/code-intelligence/ast/cache.ts +61 -0
  458. package/src/code-intelligence/ast/common.ts +62 -0
  459. package/src/code-intelligence/ast/component.ts +39 -0
  460. package/src/code-intelligence/ast/fallback.ts +44 -0
  461. package/src/code-intelligence/ast/index.ts +4 -0
  462. package/src/code-intelligence/ast/ir.ts +91 -0
  463. package/src/code-intelligence/ast/metrics.ts +65 -0
  464. package/src/code-intelligence/ast/registry.ts +28 -0
  465. package/src/code-intelligence/ast/tree-sitter.ts +226 -0
  466. package/src/code-intelligence/ast/typescript.ts +140 -0
  467. package/src/index.ts +22 -0
  468. package/src/mcp/server.ts +77 -0
  469. package/src/opencode/hooks.ts +728 -0
  470. package/src/opencode/router/categories.ts +192 -0
  471. package/src/opencode/router/embeddings.ts +149 -0
  472. package/src/opencode/router/graph-state-snapshot.ts +163 -0
  473. package/src/opencode/router/index.ts +44 -0
  474. package/src/opencode/router/intent-classifier.ts +140 -0
  475. package/src/opencode/router/semantic-nudge.ts +89 -0
  476. package/src/opencode/router/state-gate.ts +192 -0
  477. package/src/opencode/router/tool-embeddings.ts +162 -0
  478. package/src/opencode/router/tool-registry.ts +135 -0
  479. package/src/opencode/router/tool-taxonomy.ts +284 -0
  480. package/src/opencode/router/tools-composite.ts +685 -0
  481. package/src/opencode/shell-hooks.ts +115 -0
  482. package/src/opencode/system-prompt.ts +617 -0
  483. package/src/opencode/tools.ts +4102 -0
  484. package/src/opencode/workflows/chains.ts +205 -0
  485. package/src/opencode/workflows/executor.ts +172 -0
  486. package/src/opencode/workflows/index.ts +21 -0
  487. package/src/opencode/workflows/tools-workflow.ts +91 -0
  488. package/src/opencode/workflows/types.ts +42 -0
  489. package/src/sdd/analysis/compliance.ts +279 -0
  490. package/src/sdd/analysis/scalability.ts +97 -0
  491. package/src/sdd/analysis/security.ts +135 -0
  492. package/src/sdd/brownfield/scanner.ts +276 -0
  493. package/src/sdd/cache/manager.ts +899 -0
  494. package/src/sdd/cache/snapshot-store.ts +185 -0
  495. package/src/sdd/changes/manager.ts +326 -0
  496. package/src/sdd/cicd/generators.ts +1095 -0
  497. package/src/sdd/code-quality/complexity.ts +235 -0
  498. package/src/sdd/code-quality/conventions.ts +220 -0
  499. package/src/sdd/code-quality/dependencies.ts +203 -0
  500. package/src/sdd/code-quality/import-analyzer.ts +294 -0
  501. package/src/sdd/code-quality/metrics.ts +232 -0
  502. package/src/sdd/code-quality/smells.ts +415 -0
  503. package/src/sdd/code-quality/symbol-parser.ts +335 -0
  504. package/src/sdd/code-quality/usage-tracker.ts +527 -0
  505. package/src/sdd/code-quality/utils.ts +13 -0
  506. package/src/sdd/codegen/generator.ts +1181 -0
  507. package/src/sdd/constitution/validator.ts +253 -0
  508. package/src/sdd/cost/estimator.ts +147 -0
  509. package/src/sdd/coverage/tracker.ts +342 -0
  510. package/src/sdd/disaster/recovery.ts +79 -0
  511. package/src/sdd/discovery/adaptive.ts +167 -0
  512. package/src/sdd/discovery/briefing-analyzer.ts +802 -0
  513. package/src/sdd/discovery/briefing.ts +770 -0
  514. package/src/sdd/discovery/graph-builder.ts +598 -0
  515. package/src/sdd/documentation/generator.ts +158 -0
  516. package/src/sdd/domain/types.ts +658 -0
  517. package/src/sdd/drift/detector.ts +465 -0
  518. package/src/sdd/drift/exclusion.ts +223 -0
  519. package/src/sdd/drift/signals.ts +577 -0
  520. package/src/sdd/enforcement/interceptor.ts +444 -0
  521. package/src/sdd/enforcement/workflow-tracker.ts +263 -0
  522. package/src/sdd/graph/engine.ts +277 -0
  523. package/src/sdd/graph/index.ts +700 -0
  524. package/src/sdd/graph/integrity-guard.ts +348 -0
  525. package/src/sdd/graph/integrity.ts +628 -0
  526. package/src/sdd/graph/pruner.ts +221 -0
  527. package/src/sdd/graph/traverse.ts +331 -0
  528. package/src/sdd/incidents/manager.ts +87 -0
  529. package/src/sdd/knowledge/transfer.ts +140 -0
  530. package/src/sdd/migrations/fixes.ts +154 -0
  531. package/src/sdd/migrations/index.ts +14 -0
  532. package/src/sdd/migrations/migration-runner.ts +118 -0
  533. package/src/sdd/monitoring/setup.ts +237 -0
  534. package/src/sdd/monitoring/telemetry.ts +44 -0
  535. package/src/sdd/patterns/anti-patterns.ts +333 -0
  536. package/src/sdd/patterns/ast-clones.ts +214 -0
  537. package/src/sdd/patterns/config-drift.ts +346 -0
  538. package/src/sdd/patterns/contradictions.ts +323 -0
  539. package/src/sdd/patterns/learner.ts +266 -0
  540. package/src/sdd/permissions/access.ts +478 -0
  541. package/src/sdd/persistence/repository.ts +166 -0
  542. package/src/sdd/persistence/sqlite.ts +703 -0
  543. package/src/sdd/persistence/yaml.ts +409 -0
  544. package/src/sdd/promises/classifier.ts +253 -0
  545. package/src/sdd/promises/tracker.ts +258 -0
  546. package/src/sdd/quality/scorer.ts +263 -0
  547. package/src/sdd/rollback/manager.ts +361 -0
  548. package/src/sdd/session/handoff.ts +354 -0
  549. package/src/sdd/sla/tracker.ts +68 -0
  550. package/src/sdd/sync/git-sync.ts +401 -0
  551. package/src/sdd/toggle/state.ts +38 -0
  552. package/src/sdd/transactions/manager.ts +93 -0
  553. package/src/sdd/validation/coverage-index.ts +339 -0
  554. package/src/sdd/validation/executable.ts +127 -0
  555. package/src/sdd/validation/smart-validator.ts +470 -0
  556. package/src/sdd/validation/validator.ts +641 -0
  557. package/src/sdd/workflow/exporter.ts +169 -0
  558. package/src/sdd/workflows/ab-testing.ts +90 -0
  559. package/src/sdd/workflows/bug-fix.ts +81 -0
  560. package/src/sdd/workflows/data-migration.ts +86 -0
  561. package/src/sdd/workflows/deprecation.ts +87 -0
  562. package/src/sdd/workflows/feature-flags.ts +91 -0
  563. package/src/sdd/workflows/hotfix.ts +83 -0
  564. package/src/sdd/workflows/multi-tenancy.ts +84 -0
  565. package/src/sdd/workflows/onboarding.ts +82 -0
  566. package/src/sdd/workflows/refactoring.ts +90 -0
  567. package/src/server/events.ts +184 -0
  568. package/src/server/server.ts +1088 -0
@@ -0,0 +1,1042 @@
1
+ import { getNodesByType } from "../graph/engine.js";
2
+ import { writeFileSync, existsSync, mkdirSync } from "fs";
3
+ import { join, dirname } from "path";
4
+ export function generateCicd(config) {
5
+ const results = [];
6
+ const platforms = config.platform === "all"
7
+ ? ["github", "gitlab", "jenkins", "docker", "circleci", "azure", "aws", "travis", "npm", "compose", "maven", "pip", "go"]
8
+ : [config.platform];
9
+ for (const platform of platforms) {
10
+ const generator = generators[platform];
11
+ if (generator) {
12
+ results.push(generator(config));
13
+ }
14
+ }
15
+ return results;
16
+ }
17
+ function generateGitHubActions(config) {
18
+ const endpoints = getNodesByType(config.graph, "endpoint");
19
+ const hasApi = endpoints.length > 0;
20
+ const apiSteps = hasApi ? `
21
+ - name: Run API tests
22
+ run: |
23
+ echo "Running API tests for ${endpoints.length} endpoints"
24
+ npm test -- --grep "api"
25
+ ` : "";
26
+ const content = `name: SDD CI Pipeline
27
+
28
+ on:
29
+ push:
30
+ branches: [main, develop]
31
+ pull_request:
32
+ branches: [main]
33
+
34
+ jobs:
35
+ sdd-validate:
36
+ runs-on: ubuntu-latest
37
+ steps:
38
+ - uses: actions/checkout@v4
39
+
40
+ - name: Setup Node.js
41
+ uses: actions/setup-node@v4
42
+ with:
43
+ node-version: '20'
44
+
45
+ - name: Install dependencies
46
+ run: npm ci
47
+
48
+ - name: Validate SDD graph
49
+ run: |
50
+ echo "Validating SDD specification..."
51
+ npx opencode-telos validate
52
+ continue-on-error: false
53
+
54
+ - name: Check SDD drift
55
+ run: |
56
+ echo "Checking specification drift..."
57
+ npx opencode-telos drift
58
+ continue-on-error: true
59
+
60
+ - name: Check SDD quality
61
+ run: |
62
+ echo "Checking SDD quality score..."
63
+ npx opencode-telos quality
64
+ continue-on-error: true
65
+
66
+ - name: Detect anti-patterns
67
+ run: |
68
+ echo "Detecting anti-patterns..."
69
+ npx opencode-telos anti-patterns
70
+ continue-on-error: true
71
+
72
+ - name: Check test coverage
73
+ run: |
74
+ echo "Checking test coverage..."
75
+ npx opencode-telos coverage
76
+ continue-on-error: true
77
+
78
+ - name: Detect contradictions
79
+ run: |
80
+ echo "Detecting contradictions..."
81
+ npx opencode-telos contradictions
82
+ continue-on-error: true
83
+ ${apiSteps}
84
+ - name: Build
85
+ run: npm run build
86
+
87
+ sdd-deploy:
88
+ needs: sdd-validate
89
+ runs-on: ubuntu-latest
90
+ if: github.ref == 'refs/heads/main'
91
+ steps:
92
+ - uses: actions/checkout@v4
93
+
94
+ - name: Setup Node.js
95
+ uses: actions/setup-node@v4
96
+ with:
97
+ node-version: '20'
98
+
99
+ - name: Install dependencies
100
+ run: npm ci
101
+
102
+ - name: Build
103
+ run: npm run build
104
+
105
+ - name: Deploy
106
+ run: |
107
+ echo "Deploying with SDD validation..."
108
+ npx opencode-telos full-cycle
109
+ `;
110
+ const filePath = join(config.projectDir, ".github", "workflows", "sdd-ci.yml");
111
+ return { platform: "GitHub Actions", file_path: filePath, content };
112
+ }
113
+ function generateGitLabCI(config) {
114
+ const content = `stages:
115
+ - validate
116
+ - test
117
+ - build
118
+ - deploy
119
+
120
+ sdd-validate:
121
+ stage: validate
122
+ image: node:20
123
+ script:
124
+ - npm ci
125
+ - echo "Validating SDD graph..."
126
+ - npx opencode-telos validate
127
+ - echo "Checking SDD drift..."
128
+ - npx opencode-telos drift || true
129
+ - echo "Checking SDD quality..."
130
+ - npx opencode-telos quality || true
131
+ - echo "Detecting anti-patterns..."
132
+ - npx opencode-telos anti-patterns || true
133
+ allow_failure: false
134
+
135
+ sdd-test:
136
+ stage: test
137
+ image: node:20
138
+ script:
139
+ - npm ci
140
+ - npm test
141
+ allow_failure: false
142
+
143
+ sdd-build:
144
+ stage: build
145
+ image: node:20
146
+ script:
147
+ - npm ci
148
+ - npm run build
149
+ only:
150
+ - main
151
+ - develop
152
+
153
+ sdd-deploy:
154
+ stage: deploy
155
+ image: node:20
156
+ script:
157
+ - echo "Deploying with SDD validation..."
158
+ - npx opencode-telos full-cycle
159
+ only:
160
+ - main
161
+ when: manual
162
+ `;
163
+ const filePath = join(config.projectDir, ".gitlab-ci.yml");
164
+ return { platform: "GitLab CI", file_path: filePath, content };
165
+ }
166
+ function generateJenkins(config) {
167
+ const content = `pipeline {
168
+ agent any
169
+
170
+ stages {
171
+ stage('SDD Validate') {
172
+ steps {
173
+ script {
174
+ echo "Validating SDD graph..."
175
+ sh 'npx opencode-telos validate'
176
+ echo "Checking SDD drift..."
177
+ sh 'npx opencode-telos drift || true'
178
+ echo "Checking SDD quality..."
179
+ sh 'npx opencode-telos quality || true'
180
+ echo "Detecting anti-patterns..."
181
+ sh 'npx opencode-telos anti-patterns || true'
182
+ }
183
+ }
184
+ }
185
+
186
+ stage('Test') {
187
+ steps {
188
+ sh 'npm test'
189
+ }
190
+ }
191
+
192
+ stage('Build') {
193
+ steps {
194
+ sh 'npm run build'
195
+ }
196
+ }
197
+
198
+ stage('Deploy') {
199
+ when {
200
+ branch 'main'
201
+ }
202
+ steps {
203
+ script {
204
+ echo "Deploying with SDD validation..."
205
+ sh 'npx opencode-telos full-cycle'
206
+ }
207
+ }
208
+ }
209
+ }
210
+
211
+ post {
212
+ always {
213
+ echo "SDD pipeline completed"
214
+ }
215
+ success {
216
+ echo "SDD pipeline succeeded"
217
+ }
218
+ failure {
219
+ echo "SDD pipeline failed"
220
+ }
221
+ }
222
+ }
223
+ `;
224
+ const filePath = join(config.projectDir, "Jenkinsfile");
225
+ return { platform: "Jenkins", file_path: filePath, content };
226
+ }
227
+ function generateDocker(config) {
228
+ const content = `# Multi-stage build for SDD-validated project
229
+ FROM node:20-alpine AS builder
230
+
231
+ WORKDIR /app
232
+
233
+ # Copy package files
234
+ COPY package*.json ./
235
+
236
+ # Install dependencies
237
+ RUN npm ci --only=production
238
+
239
+ # Copy source code
240
+ COPY . .
241
+
242
+ # Run SDD validation before build
243
+ RUN npx opencode-telos validate || echo "SDD validation skipped in Docker"
244
+
245
+ # Build application
246
+ RUN npm run build
247
+
248
+ # Production stage
249
+ FROM node:20-alpine AS production
250
+
251
+ WORKDIR /app
252
+
253
+ # Copy built application
254
+ COPY --from=builder /app/dist ./dist
255
+ COPY --from=builder /app/node_modules ./node_modules
256
+ COPY --from=builder /app/package.json ./
257
+
258
+ # Health check
259
+ HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \\
260
+ CMD curl -f http://localhost:3000/health || exit 1
261
+
262
+ EXPOSE 3000
263
+
264
+ CMD ["node", "dist/index.js"]
265
+ `;
266
+ const filePath = join(config.projectDir, "Dockerfile");
267
+ return { platform: "Docker", file_path: filePath, content };
268
+ }
269
+ function generateCircleCI(config) {
270
+ const content = `version: 2.1
271
+
272
+ orbs:
273
+ node: circleci/node@5.1
274
+ sdd: circleci/opencode-telos@1.0
275
+
276
+ executors:
277
+ node-executor:
278
+ docker:
279
+ - image: cimg/node:20.0
280
+
281
+ jobs:
282
+ sdd-validate:
283
+ executor: node-executor
284
+ steps:
285
+ - checkout
286
+ - node/install-packages
287
+ - run:
288
+ name: Validate SDD graph
289
+ command: npx opencode-telos validate
290
+ - run:
291
+ name: Check SDD drift
292
+ command: npx opencode-telos drift || true
293
+ - run:
294
+ name: Check SDD quality
295
+ command: npx opencode-telos quality || true
296
+ - run:
297
+ name: Detect anti-patterns
298
+ command: npx opencode-telos anti-patterns || true
299
+
300
+ test:
301
+ executor: node-executor
302
+ steps:
303
+ - checkout
304
+ - node/install-packages
305
+ - run:
306
+ name: Run tests
307
+ command: npm test
308
+
309
+ build:
310
+ executor: node-executor
311
+ steps:
312
+ - checkout
313
+ - node/install-packages
314
+ - run:
315
+ name: Build
316
+ command: npm run build
317
+
318
+ workflows:
319
+ sdd-pipeline:
320
+ jobs:
321
+ - sdd-validate
322
+ - test:
323
+ requires:
324
+ - sdd-validate
325
+ - build:
326
+ requires:
327
+ - test
328
+ filters:
329
+ branches:
330
+ only: main
331
+ `;
332
+ const filePath = join(config.projectDir, ".circleci", "config.yml");
333
+ return { platform: "CircleCI", file_path: filePath, content };
334
+ }
335
+ function generateAzureDevOps(config) {
336
+ const content = `trigger:
337
+ branches:
338
+ include:
339
+ - main
340
+ - develop
341
+
342
+ pool:
343
+ vmImage: 'ubuntu-latest'
344
+
345
+ stages:
346
+ - stage: Validate
347
+ displayName: 'SDD Validation'
348
+ jobs:
349
+ - job: SDDValidate
350
+ displayName: 'Validate SDD Graph'
351
+ steps:
352
+ - task: NodeTool@0
353
+ inputs:
354
+ versionSpec: '20.x'
355
+ displayName: 'Install Node.js'
356
+ - script: |
357
+ npm ci
358
+ echo "Validating SDD graph..."
359
+ npx opencode-telos validate
360
+ displayName: 'SDD Validate'
361
+ - script: |
362
+ echo "Checking SDD drift..."
363
+ npx opencode-telos drift || true
364
+ displayName: 'Check Drift'
365
+ - script: |
366
+ echo "Checking SDD quality..."
367
+ npx opencode-telos quality || true
368
+ displayName: 'Check Quality'
369
+
370
+ - stage: Test
371
+ displayName: 'Run Tests'
372
+ dependsOn: Validate
373
+ jobs:
374
+ - job: Test
375
+ displayName: 'Run Tests'
376
+ steps:
377
+ - task: NodeTool@0
378
+ inputs:
379
+ versionSpec: '20.x'
380
+ displayName: 'Install Node.js'
381
+ - script: |
382
+ npm ci
383
+ npm test
384
+ displayName: 'Run Tests'
385
+
386
+ - stage: Build
387
+ displayName: 'Build'
388
+ dependsOn: Test
389
+ jobs:
390
+ - job: Build
391
+ displayName: 'Build Application'
392
+ steps:
393
+ - task: NodeTool@0
394
+ inputs:
395
+ versionSpec: '20.x'
396
+ displayName: 'Install Node.js'
397
+ - script: |
398
+ npm ci
399
+ npm run build
400
+ displayName: 'Build'
401
+
402
+ - stage: Deploy
403
+ displayName: 'Deploy'
404
+ dependsOn: Build
405
+ condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
406
+ jobs:
407
+ - job: Deploy
408
+ displayName: 'Deploy Application'
409
+ steps:
410
+ - script: |
411
+ echo "Deploying with SDD validation..."
412
+ npx opencode-telos full-cycle
413
+ displayName: 'Deploy'
414
+ `;
415
+ const filePath = join(config.projectDir, "azure-pipelines.yml");
416
+ return { platform: "Azure DevOps", file_path: filePath, content };
417
+ }
418
+ function generateAWSCodePipeline(config) {
419
+ const content = `# AWS CodePipeline configuration for SDD-validated project
420
+ # This file should be used with AWS CloudFormation or CDK
421
+
422
+ AWSTemplateFormatVersion: '2010-09-09'
423
+ Description: 'SDD CI/CD Pipeline'
424
+
425
+ Resources:
426
+ SDDPipeline:
427
+ Type: AWS::CodePipeline::Pipeline
428
+ Properties:
429
+ Name: SDD-Pipeline
430
+ RoleArn: !GetAtt PipelineRole.Arn
431
+ ArtifactStore:
432
+ Type: S3
433
+ Location: !Ref ArtifactBucket
434
+ Stages:
435
+ - Name: Source
436
+ Actions:
437
+ - Name: SourceAction
438
+ ActionTypeId:
439
+ Category: Source
440
+ Owner: AWS
441
+ Provider: CodeStarSourceConnection
442
+ Version: '1'
443
+ Configuration:
444
+ ConnectionArn: !Ref GitHubConnection
445
+ FullRepositoryId: !Ref RepositoryId
446
+ BranchName: main
447
+ OutputArtifacts:
448
+ - Name: SourceOutput
449
+
450
+ - Name: Validate
451
+ Actions:
452
+ - Name: SDDValidate
453
+ ActionTypeId:
454
+ Category: Build
455
+ Owner: AWS
456
+ Provider: CodeBuild
457
+ Version: '1'
458
+ Configuration:
459
+ ProjectName: !Ref SDDValidateProject
460
+ InputArtifacts:
461
+ - Name: SourceOutput
462
+ OutputArtifacts:
463
+ - Name: ValidateOutput
464
+
465
+ - Name: Test
466
+ Actions:
467
+ - Name: Test
468
+ ActionTypeId:
469
+ Category: Build
470
+ Owner: AWS
471
+ Provider: CodeBuild
472
+ Version: '1'
473
+ Configuration:
474
+ ProjectName: !Ref TestProject
475
+ InputArtifacts:
476
+ - Name: ValidateOutput
477
+ OutputArtifacts:
478
+ - Name: TestOutput
479
+
480
+ - Name: Deploy
481
+ Actions:
482
+ - Name: Deploy
483
+ ActionTypeId:
484
+ Category: Deploy
485
+ Owner: AWS
486
+ Provider: CodeDeploy
487
+ Version: '1'
488
+ Configuration:
489
+ ApplicationName: !Ref ApplicationName
490
+ DeploymentGroupName: !Ref DeploymentGroupName
491
+ InputArtifacts:
492
+ - Name: TestOutput
493
+
494
+ SDDValidateProject:
495
+ Type: AWS::CodeBuild::Project
496
+ Properties:
497
+ Name: SDD-Validate
498
+ ServiceRole: !GetAtt CodeBuildRole.Arn
499
+ Artifacts:
500
+ Type: CODEPIPELINE
501
+ Environment:
502
+ Type: LINUX_CONTAINER
503
+ Image: aws/codebuild/amazonlinux2-x86_64-standard:4.0
504
+ ComputeType: BUILD_GENERAL1_SMALL
505
+ Source:
506
+ Type: CODEPIPELINE
507
+ BuildSpec: |
508
+ version: 0.2
509
+ phases:
510
+ install:
511
+ runtime-versions:
512
+ nodejs: 20
513
+ commands:
514
+ - npm ci
515
+ build:
516
+ commands:
517
+ - echo "Validating SDD graph..."
518
+ - npx opencode-telos validate
519
+ - echo "Checking SDD drift..."
520
+ - npx opencode-telos drift || true
521
+ - echo "Checking SDD quality..."
522
+ - npx opencode-telos quality || true
523
+
524
+ TestProject:
525
+ Type: AWS::CodeBuild::Project
526
+ Properties:
527
+ Name: SDD-Test
528
+ ServiceRole: !GetAtt CodeBuildRole.Arn
529
+ Artifacts:
530
+ Type: CODEPIPELINE
531
+ Environment:
532
+ Type: LINUX_CONTAINER
533
+ Image: aws/codebuild/amazonlinux2-x86_64-standard:4.0
534
+ ComputeType: BUILD_GENERAL1_SMALL
535
+ Source:
536
+ Type: CODEPIPELINE
537
+ BuildSpec: |
538
+ version: 0.2
539
+ phases:
540
+ install:
541
+ runtime-versions:
542
+ nodejs: 20
543
+ commands:
544
+ - npm ci
545
+ build:
546
+ commands:
547
+ - npm test
548
+
549
+ ArtifactBucket:
550
+ Type: AWS::S3::Bucket
551
+
552
+ PipelineRole:
553
+ Type: AWS::IAM::Role
554
+ Properties:
555
+ AssumeRolePolicyDocument:
556
+ Version: '2012-10-17'
557
+ Statement:
558
+ - Effect: Allow
559
+ Principal:
560
+ Service: codepipeline.amazonaws.com
561
+ Action: sts:AssumeRole
562
+
563
+ CodeBuildRole:
564
+ Type: AWS::IAM::Role
565
+ Properties:
566
+ AssumeRolePolicyDocument:
567
+ Version: '2012-10-17'
568
+ Statement:
569
+ - Effect: Allow
570
+ Principal:
571
+ Service: codebuild.amazonaws.com
572
+ Action: sts:AssumeRole
573
+
574
+ Parameters:
575
+ RepositoryId:
576
+ Type: String
577
+ Description: 'GitHub repository ID (owner/repo)'
578
+ GitHubConnection:
579
+ Type: String
580
+ Description: 'ARN of CodeStar connection to GitHub'
581
+ ApplicationName:
582
+ Type: String
583
+ Description: 'Name of the application'
584
+ DeploymentGroupName:
585
+ Type: String
586
+ Description: 'Name of the deployment group'
587
+ `;
588
+ const filePath = join(config.projectDir, "buildspec.yml");
589
+ return { platform: "AWS CodePipeline", file_path: filePath, content };
590
+ }
591
+ function generateTravisCI(config) {
592
+ const content = `language: node_js
593
+
594
+ node_js:
595
+ - '20'
596
+
597
+ cache:
598
+ directories:
599
+ - node_modules
600
+
601
+ branches:
602
+ only:
603
+ - main
604
+ - develop
605
+
606
+ stages:
607
+ - validate
608
+ - test
609
+ - build
610
+ - name: deploy
611
+ if: branch = main
612
+
613
+ jobs:
614
+ include:
615
+ - stage: validate
616
+ script:
617
+ - echo "Validating SDD graph..."
618
+ - npx opencode-telos validate
619
+ - echo "Checking SDD drift..."
620
+ - npx opencode-telos drift || true
621
+ - echo "Checking SDD quality..."
622
+ - npx opencode-telos quality || true
623
+ - echo "Detecting anti-patterns..."
624
+ - npx opencode-telos anti-patterns || true
625
+
626
+ - stage: test
627
+ script:
628
+ - npm test
629
+
630
+ - stage: build
631
+ script:
632
+ - npm run build
633
+
634
+ - stage: deploy
635
+ script:
636
+ - echo "Deploying with SDD validation..."
637
+ - npx opencode-telos full-cycle
638
+
639
+ notifications:
640
+ email:
641
+ on_success: never
642
+ on_failure: always
643
+ `;
644
+ const filePath = join(config.projectDir, ".travis.yml");
645
+ return { platform: "Travis CI", file_path: filePath, content };
646
+ }
647
+ function generateNpmPublish(config) {
648
+ const content = `name: NPM Publish
649
+
650
+ on:
651
+ release:
652
+ types: [created]
653
+
654
+ jobs:
655
+ publish:
656
+ runs-on: ubuntu-latest
657
+ steps:
658
+ - uses: actions/checkout@v4
659
+
660
+ - name: Setup Node.js
661
+ uses: actions/setup-node@v4
662
+ with:
663
+ node-version: '20'
664
+ registry-url: 'https://registry.npmjs.org'
665
+
666
+ - name: Install dependencies
667
+ run: npm ci
668
+
669
+ - name: Run tests
670
+ run: npm test
671
+
672
+ - name: Build
673
+ run: npm run build
674
+
675
+ - name: Validate SDD before publish
676
+ run: |
677
+ echo "Validating SDD graph before publish..."
678
+ npx opencode-telos validate
679
+ npx opencode-telos quality
680
+
681
+ - name: Publish to NPM
682
+ run: npm publish
683
+ env:
684
+ NODE_AUTH_TOKEN: \${{ secrets.NPM_TOKEN }}
685
+
686
+ - name: Create GitHub Release
687
+ uses: softprops/action-gh-release@v1
688
+ with:
689
+ files: |
690
+ dist/**
691
+ package.json
692
+ env:
693
+ GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
694
+ `;
695
+ const filePath = join(config.projectDir, ".github", "workflows", "npm-publish.yml");
696
+ return { platform: "NPM Publish", file_path: filePath, content };
697
+ }
698
+ function generateDockerCompose(config) {
699
+ const endpoints = getNodesByType(config.graph, "endpoint");
700
+ const hasApi = endpoints.length > 0;
701
+ const port = hasApi ? 3000 : 8080;
702
+ const content = `version: '3.8'
703
+
704
+ services:
705
+ app:
706
+ build:
707
+ context: .
708
+ dockerfile: Dockerfile
709
+ ports:
710
+ - "\${APP_PORT:-${port}}:${port}"
711
+ environment:
712
+ - NODE_ENV=\${NODE_ENV:-production}
713
+ - DATABASE_URL=\${DATABASE_URL}
714
+ - REDIS_URL=\${REDIS_URL:-redis://redis:6379}
715
+ depends_on:
716
+ - redis
717
+ - db
718
+ restart: unless-stopped
719
+ healthcheck:
720
+ test: ["CMD", "curl", "-f", "http://localhost:${port}/health"]
721
+ interval: 30s
722
+ timeout: 10s
723
+ retries: 3
724
+ start_period: 40s
725
+ networks:
726
+ - app-network
727
+
728
+ redis:
729
+ image: redis:7-alpine
730
+ ports:
731
+ - "6379:6379"
732
+ volumes:
733
+ - redis-data:/data
734
+ restart: unless-stopped
735
+ networks:
736
+ - app-network
737
+
738
+ db:
739
+ image: postgres:15-alpine
740
+ environment:
741
+ - POSTGRES_DB=\${POSTGRES_DB:-app}
742
+ - POSTGRES_USER=\${POSTGRES_USER:-postgres}
743
+ - POSTGRES_PASSWORD=\${POSTGRES_PASSWORD:-secret}
744
+ ports:
745
+ - "5432:5432"
746
+ volumes:
747
+ - postgres-data:/var/lib/postgresql/data
748
+ restart: unless-stopped
749
+ networks:
750
+ - app-network
751
+
752
+ nginx:
753
+ image: nginx:alpine
754
+ ports:
755
+ - "80:80"
756
+ - "443:443"
757
+ volumes:
758
+ - ./nginx.conf:/etc/nginx/nginx.conf:ro
759
+ - ./certs:/etc/nginx/certs:ro
760
+ depends_on:
761
+ - app
762
+ restart: unless-stopped
763
+ networks:
764
+ - app-network
765
+
766
+ volumes:
767
+ redis-data:
768
+ postgres-data:
769
+
770
+ networks:
771
+ app-network:
772
+ driver: bridge
773
+ `;
774
+ const filePath = join(config.projectDir, "docker-compose.yml");
775
+ return { platform: "Docker Compose", file_path: filePath, content };
776
+ }
777
+ function generateMaven(config) {
778
+ const content = `<?xml version="1.0" encoding="UTF-8"?>
779
+ <project xmlns="http://maven.apache.org/POM/4.0.0"
780
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
781
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
782
+ <modelVersion>4.0.0</modelVersion>
783
+
784
+ <groupId>com.example</groupId>
785
+ <artifactId>sdd-project</artifactId>
786
+ <version>1.0.0</version>
787
+ <packaging>jar</packaging>
788
+
789
+ <properties>
790
+ <maven.compiler.source>17</maven.compiler.source>
791
+ <maven.compiler.target>17</maven.compiler.target>
792
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
793
+ </properties>
794
+
795
+ <dependencies>
796
+ <dependency>
797
+ <groupId>org.springframework.boot</groupId>
798
+ <artifactId>spring-boot-starter-web</artifactId>
799
+ <version>3.2.0</version>
800
+ </dependency>
801
+ <dependency>
802
+ <groupId>org.springframework.boot</groupId>
803
+ <artifactId>spring-boot-starter-data-jpa</artifactId>
804
+ <version>3.2.0</version>
805
+ </dependency>
806
+ <dependency>
807
+ <groupId>com.h2database</groupId>
808
+ <artifactId>h2</artifactId>
809
+ <scope>runtime</scope>
810
+ </dependency>
811
+ <dependency>
812
+ <groupId>org.springframework.boot</groupId>
813
+ <artifactId>spring-boot-starter-test</artifactId>
814
+ <scope>test</scope>
815
+ </dependency>
816
+ </dependencies>
817
+
818
+ <build>
819
+ <plugins>
820
+ <plugin>
821
+ <groupId>org.springframework.boot</groupId>
822
+ <artifactId>spring-boot-maven-plugin</artifactId>
823
+ </plugin>
824
+ <plugin>
825
+ <groupId>org.apache.maven.plugins</groupId>
826
+ <artifactId>maven-surefire-plugin</artifactId>
827
+ <version>3.2.2</version>
828
+ </plugin>
829
+ </plugins>
830
+ </build>
831
+
832
+ <profiles>
833
+ <profile>
834
+ <id>sdd-validate</id>
835
+ <build>
836
+ <plugins>
837
+ <plugin>
838
+ <groupId>org.codehaus.mojo</groupId>
839
+ <artifactId>exec-maven-plugin</artifactId>
840
+ <version>3.1.0</version>
841
+ <executions>
842
+ <execution>
843
+ <id>sdd-validate</id>
844
+ <phase>validate</phase>
845
+ <goals>
846
+ <goal>exec</goal>
847
+ </goals>
848
+ <configuration>
849
+ <executable>npx</executable>
850
+ <arguments>
851
+ <argument>opencode-telos</argument>
852
+ <argument>validate</argument>
853
+ </arguments>
854
+ </configuration>
855
+ </execution>
856
+ </executions>
857
+ </plugin>
858
+ </plugins>
859
+ </build>
860
+ </profile>
861
+ </profiles>
862
+ </project>
863
+ `;
864
+ const filePath = join(config.projectDir, "pom.xml");
865
+ return { platform: "Maven (Java)", file_path: filePath, content };
866
+ }
867
+ function generatePip(config) {
868
+ const content = `name: Python CI/CD
869
+
870
+ on:
871
+ push:
872
+ branches: [main, develop]
873
+ pull_request:
874
+ branches: [main]
875
+
876
+ jobs:
877
+ test:
878
+ runs-on: ubuntu-latest
879
+ strategy:
880
+ matrix:
881
+ python-version: ['3.10', '3.11', '3.12']
882
+
883
+ steps:
884
+ - uses: actions/checkout@v4
885
+
886
+ - name: Set up Python \${{ matrix.python-version }}
887
+ uses: actions/setup-python@v5
888
+ with:
889
+ python-version: \${{ matrix.python-version }}
890
+
891
+ - name: Install dependencies
892
+ run: |
893
+ python -m pip install --upgrade pip
894
+ pip install -r requirements.txt
895
+ pip install -r requirements-dev.txt
896
+
897
+ - name: Lint with flake8
898
+ run: |
899
+ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
900
+ flake8 . --count --max-complexity=10 --max-line-length=127 --statistics
901
+
902
+ - name: Test with pytest
903
+ run: |
904
+ pytest --cov=src --cov-report=xml
905
+
906
+ - name: Validate SDD
907
+ run: |
908
+ echo "Validating SDD graph..."
909
+ npx opencode-telos validate
910
+ npx opencode-telos quality
911
+
912
+ publish:
913
+ needs: test
914
+ runs-on: ubuntu-latest
915
+ if: github.ref == 'refs/heads/main'
916
+
917
+ steps:
918
+ - uses: actions/checkout@v4
919
+
920
+ - name: Set up Python
921
+ uses: actions/setup-python@v5
922
+ with:
923
+ python-version: '3.12'
924
+
925
+ - name: Install build dependencies
926
+ run: |
927
+ python -m pip install --upgrade pip
928
+ pip install build twine
929
+
930
+ - name: Build package
931
+ run: python -m build
932
+
933
+ - name: Publish to PyPI
934
+ uses: pypa/gh-action-pypi-publish@release/v1
935
+ with:
936
+ password: \${{ secrets.PYPI_API_TOKEN }}
937
+ `;
938
+ const filePath = join(config.projectDir, ".github", "workflows", "python-ci.yml");
939
+ return { platform: "Python (pip)", file_path: filePath, content };
940
+ }
941
+ function generateGoReleaser(config) {
942
+ const content = `name: Go Release
943
+
944
+ on:
945
+ push:
946
+ tags:
947
+ - 'v*'
948
+
949
+ permissions:
950
+ contents: write
951
+
952
+ jobs:
953
+ test:
954
+ runs-on: ubuntu-latest
955
+ steps:
956
+ - uses: actions/checkout@v4
957
+
958
+ - name: Set up Go
959
+ uses: actions/setup-go@v5
960
+ with:
961
+ go-version: '1.21'
962
+
963
+ - name: Run tests
964
+ run: go test ./...
965
+
966
+ - name: Validate SDD
967
+ run: |
968
+ echo "Validating SDD graph..."
969
+ npx opencode-telos validate
970
+
971
+ release:
972
+ needs: test
973
+ runs-on: ubuntu-latest
974
+ steps:
975
+ - uses: actions/checkout@v4
976
+ with:
977
+ fetch-depth: 0
978
+
979
+ - name: Set up Go
980
+ uses: actions/setup-go@v5
981
+ with:
982
+ go-version: '1.21'
983
+
984
+ - name: Run GoReleaser
985
+ uses: goreleaser/goreleaser-action@v5
986
+ with:
987
+ distribution: goreleaser
988
+ version: latest
989
+ args: release --clean
990
+ env:
991
+ GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
992
+ `;
993
+ const filePath = join(config.projectDir, ".github", "workflows", "go-release.yml");
994
+ return { platform: "Go (GoReleaser)", file_path: filePath, content };
995
+ }
996
+ const generators = {
997
+ github: generateGitHubActions,
998
+ gitlab: generateGitLabCI,
999
+ jenkins: generateJenkins,
1000
+ docker: generateDocker,
1001
+ circleci: generateCircleCI,
1002
+ azure: generateAzureDevOps,
1003
+ aws: generateAWSCodePipeline,
1004
+ travis: generateTravisCI,
1005
+ npm: generateNpmPublish,
1006
+ compose: generateDockerCompose,
1007
+ maven: generateMaven,
1008
+ pip: generatePip,
1009
+ go: generateGoReleaser,
1010
+ };
1011
+ export function writeCicdFiles(results) {
1012
+ const written = [];
1013
+ for (const result of results) {
1014
+ const dir = dirname(result.file_path);
1015
+ if (!existsSync(dir))
1016
+ mkdirSync(dir, { recursive: true });
1017
+ writeFileSync(result.file_path, result.content, "utf-8");
1018
+ written.push(result.file_path);
1019
+ }
1020
+ return written;
1021
+ }
1022
+ export function formatCicdResults(results) {
1023
+ const lines = [
1024
+ "## CI/CD Configuration Generated",
1025
+ "",
1026
+ ];
1027
+ for (const result of results) {
1028
+ lines.push(`### ${result.platform}`);
1029
+ lines.push(`- File: \`${result.file_path}\``);
1030
+ lines.push(`- Size: ${result.content.length} bytes`);
1031
+ lines.push("");
1032
+ }
1033
+ lines.push("### SDD Validation Steps Included");
1034
+ lines.push("- Graph validation");
1035
+ lines.push("- Drift detection");
1036
+ lines.push("- Quality scoring");
1037
+ lines.push("- Anti-pattern detection");
1038
+ lines.push("- Test coverage check");
1039
+ lines.push("- Contradiction detection");
1040
+ return lines.join("\n");
1041
+ }
1042
+ //# sourceMappingURL=generators.js.map