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 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/opencode/workflows/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAA;AAE9D,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAA;CACvB;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;AAE/F;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,WAAW,EAAE,YAAY,GACxB,OAAO,CAAC,oBAAoB,CAAC,CAuE/B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CA6BtE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,EAAE,CAUtE"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Workflow Executor — Executa workflow chains step by step.
3
+ *
4
+ * Cada step é executado sequencialmente.
5
+ * Se um step required falha, a chain para e faz rollback.
6
+ *
7
+ * Consumido por: tools-workflow.ts
8
+ * Dependências: chains.ts
9
+ */
10
+ /**
11
+ * Executa uma workflow chain.
12
+ *
13
+ * @param chain - A chain a executar
14
+ * @param initialParams - Parâmetros iniciais da chain
15
+ * @param executeTool - Função que executa uma tool SDD
16
+ * @returns Resultado da execução
17
+ */
18
+ export async function executeChain(chain, initialParams, executeTool) {
19
+ const startTime = Date.now();
20
+ const steps = [];
21
+ let prevResult = JSON.stringify(initialParams);
22
+ let completedSteps = 0;
23
+ for (let i = 0; i < chain.steps.length; i++) {
24
+ const step = chain.steps[i];
25
+ const args = typeof step.args === "function"
26
+ ? step.args(prevResult)
27
+ : step.args;
28
+ try {
29
+ const result = await executeTool(step.tool, args);
30
+ const stepResult = {
31
+ stepIndex: i,
32
+ tool: step.tool,
33
+ description: step.description,
34
+ success: true,
35
+ result,
36
+ timestamp: new Date().toISOString(),
37
+ };
38
+ steps.push(stepResult);
39
+ prevResult = result;
40
+ completedSteps++;
41
+ // Se o resultado indica falha (contém "BLOCKED" ou "Error")
42
+ if (result.includes("BLOCKED") || result.startsWith("Error:")) {
43
+ if (step.required) {
44
+ return {
45
+ chainName: chain.name,
46
+ success: false,
47
+ steps,
48
+ finalResult: `Step ${i + 1} failed: ${result}`,
49
+ totalTimeMs: Date.now() - startTime,
50
+ completedSteps,
51
+ };
52
+ }
53
+ }
54
+ }
55
+ catch (error) {
56
+ const stepResult = {
57
+ stepIndex: i,
58
+ tool: step.tool,
59
+ description: step.description,
60
+ success: false,
61
+ result: error instanceof Error ? error.message : String(error),
62
+ timestamp: new Date().toISOString(),
63
+ };
64
+ steps.push(stepResult);
65
+ if (step.required) {
66
+ return {
67
+ chainName: chain.name,
68
+ success: false,
69
+ steps,
70
+ finalResult: `Step ${i + 1} (${step.description}) failed: ${stepResult.result}`,
71
+ totalTimeMs: Date.now() - startTime,
72
+ completedSteps,
73
+ };
74
+ }
75
+ }
76
+ }
77
+ return {
78
+ chainName: chain.name,
79
+ success: true,
80
+ steps,
81
+ finalResult: prevResult,
82
+ totalTimeMs: Date.now() - startTime,
83
+ completedSteps,
84
+ };
85
+ }
86
+ /**
87
+ * Formata o resultado de uma execução de chain para exibição.
88
+ */
89
+ export function formatChainResult(result) {
90
+ const lines = [];
91
+ const statusIcon = result.success ? "✅" : "❌";
92
+ lines.push(`## ${statusIcon} Workflow: ${result.chainName}\n`);
93
+ lines.push(`**Tempo:** ${result.totalTimeMs}ms`);
94
+ lines.push(`**Steps:** ${result.completedSteps}/${result.steps.length}\n`);
95
+ // Steps
96
+ for (const step of result.steps) {
97
+ const icon = step.success ? "✅" : "❌";
98
+ lines.push(`### ${icon} Step ${step.stepIndex + 1}: ${step.description}`);
99
+ lines.push(`Tool: \`${step.tool}\``);
100
+ if (!step.success) {
101
+ lines.push(`Erro: ${step.result}`);
102
+ }
103
+ lines.push("");
104
+ }
105
+ // Resultado final
106
+ if (result.success) {
107
+ lines.push("### Resultado Final");
108
+ lines.push(result.finalResult);
109
+ }
110
+ else {
111
+ lines.push("### Falha na Chain");
112
+ lines.push(result.finalResult);
113
+ }
114
+ return lines.join("\n");
115
+ }
116
+ /**
117
+ * Rollback: desfaz os steps completados.
118
+ * Nota: Na prática, o rollback é feito via snapshots do SDD.
119
+ * Esta função apenas informa o que precisa ser desfeito.
120
+ */
121
+ export function getRollbackPlan(result) {
122
+ const plan = [];
123
+ for (const step of result.steps) {
124
+ if (step.success) {
125
+ plan.push(`Reverter step ${step.stepIndex + 1}: ${step.description} (${step.tool})`);
126
+ }
127
+ }
128
+ return plan;
129
+ }
130
+ //# sourceMappingURL=executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/opencode/workflows/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Workflows Module — Barrel export.
3
+ *
4
+ * Exporta todas as funções públicas do módulo de workflows.
5
+ * Consumido por: tools.ts
6
+ */
7
+ export { ALL_CHAINS, getChainByName, listChainNames } from "./chains.js";
8
+ export type { WorkflowChain, WorkflowStep } from "./chains.js";
9
+ export { executeChain, formatChainResult, getRollbackPlan } from "./executor.js";
10
+ export type { ChainExecutionResult, StepResult, ToolExecutor } from "./executor.js";
11
+ export { DEFAULT_EXECUTOR_CONFIG } from "./types.js";
12
+ export type { ChainStatus, ChainExecutionLog, ExecutorConfig } from "./types.js";
13
+ export { createWorkflowTools, listWorkflowTools } from "./tools-workflow.js";
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/opencode/workflows/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACxE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG9D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAChF,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAGnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGhF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Workflows Module — Barrel export.
3
+ *
4
+ * Exporta todas as funções públicas do módulo de workflows.
5
+ * Consumido por: tools.ts
6
+ */
7
+ // Chains
8
+ export { ALL_CHAINS, getChainByName, listChainNames } from "./chains.js";
9
+ // Executor
10
+ export { executeChain, formatChainResult, getRollbackPlan } from "./executor.js";
11
+ // Types
12
+ export { DEFAULT_EXECUTOR_CONFIG } from "./types.js";
13
+ // Tools
14
+ export { createWorkflowTools, listWorkflowTools } from "./tools-workflow.js";
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/opencode/workflows/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGxE,WAAW;AACX,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAGhF,QAAQ;AACR,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAGpD,QAAQ;AACR,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Workflow Tools — Tool definitions para workflow chains.
3
+ *
4
+ * Cada tool chain é uma tool SDD que o LLM pode chamar diretamente.
5
+ * Internamente, executa a chain de steps usando o executor.
6
+ *
7
+ * Consumido por: createSddTools() em tools.ts
8
+ * Dependências: chains.ts, executor.ts
9
+ */
10
+ import { type ToolDefinition } from "@opencode-ai/plugin";
11
+ /**
12
+ * Cria todas as tools de workflow chains.
13
+ * Retorna um Record compatível com createSddTools().
14
+ */
15
+ export declare function createWorkflowTools(): Record<string, ToolDefinition>;
16
+ /**
17
+ * Lista todas as workflow tools disponíveis.
18
+ */
19
+ export declare function listWorkflowTools(): Array<{
20
+ name: string;
21
+ description: string;
22
+ params: string[];
23
+ }>;
24
+ //# sourceMappingURL=tools-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools-workflow.d.ts","sourceRoot":"","sources":["../../../src/opencode/workflows/tools-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAyD/D;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAQpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAMlG"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Workflow Tools — Tool definitions para workflow chains.
3
+ *
4
+ * Cada tool chain é uma tool SDD que o LLM pode chamar diretamente.
5
+ * Internamente, executa a chain de steps usando o executor.
6
+ *
7
+ * Consumido por: createSddTools() em tools.ts
8
+ * Dependências: chains.ts, executor.ts
9
+ */
10
+ import { tool } from "@opencode-ai/plugin";
11
+ import { ALL_CHAINS } from "./chains.js";
12
+ import { executeChain, formatChainResult } from "./executor.js";
13
+ /**
14
+ * Cria uma tool definition para uma workflow chain.
15
+ */
16
+ function createChainTool(chain) {
17
+ // Build args schema from chain params
18
+ const argsSchema = {};
19
+ for (const param of chain.params) {
20
+ if (param.type === "string") {
21
+ argsSchema[param.name] = tool.schema.string().describe(param.description);
22
+ }
23
+ else if (param.type === "number") {
24
+ argsSchema[param.name] = tool.schema.number().describe(param.description);
25
+ }
26
+ else if (param.type === "boolean") {
27
+ argsSchema[param.name] = tool.schema.boolean().describe(param.description);
28
+ }
29
+ }
30
+ return tool({
31
+ description: chain.description,
32
+ args: argsSchema,
33
+ async execute(args, ctx) {
34
+ // Construir params iniciais
35
+ const params = {};
36
+ for (const param of chain.params) {
37
+ if (args[param.name] !== undefined) {
38
+ params[param.name] = args[param.name];
39
+ }
40
+ }
41
+ // Tool executor: chama as tools SDD diretamente
42
+ const executeTool = async (toolName, toolArgs) => {
43
+ // Import dinâmico para evitar circular dependencies
44
+ const { createSddTools } = await import("../tools.js");
45
+ const tools = createSddTools();
46
+ const sddTool = tools[toolName];
47
+ if (!sddTool) {
48
+ return `Error: Tool ${toolName} not found`;
49
+ }
50
+ const result = await sddTool.execute(toolArgs, ctx);
51
+ // ToolResult pode ser string ou objeto com output
52
+ if (typeof result === "string")
53
+ return result;
54
+ if (result && typeof result === "object" && "output" in result)
55
+ return result.output;
56
+ return JSON.stringify(result);
57
+ };
58
+ // Executar chain
59
+ const result = await executeChain(chain, params, executeTool);
60
+ return formatChainResult(result);
61
+ },
62
+ });
63
+ }
64
+ /**
65
+ * Cria todas as tools de workflow chains.
66
+ * Retorna um Record compatível com createSddTools().
67
+ */
68
+ export function createWorkflowTools() {
69
+ const tools = {};
70
+ for (const chain of ALL_CHAINS) {
71
+ tools[chain.name] = createChainTool(chain);
72
+ }
73
+ return tools;
74
+ }
75
+ /**
76
+ * Lista todas as workflow tools disponíveis.
77
+ */
78
+ export function listWorkflowTools() {
79
+ return ALL_CHAINS.map(chain => ({
80
+ name: chain.name,
81
+ description: chain.description,
82
+ params: chain.params.map(p => `${p.name}: ${p.type}${p.required ? " (required)" : ""}`),
83
+ }));
84
+ }
85
+ //# sourceMappingURL=tools-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools-workflow.js","sourceRoot":"","sources":["../../../src/opencode/workflows/tools-workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Workflow Types — Tipos compartilhados para o módulo de workflows.
3
+ *
4
+ * Consumido por: chains.ts, executor.ts, tools-workflow.ts
5
+ */
6
+ import type { ChainExecutionResult } from "./executor.js";
7
+ /** Status de uma execução de chain */
8
+ export type ChainStatus = "pending" | "running" | "completed" | "failed" | "rolled_back";
9
+ /** Registro de uma execução de chain (para auditoria) */
10
+ export interface ChainExecutionLog {
11
+ id: string;
12
+ chainName: string;
13
+ status: ChainStatus;
14
+ startedAt: string;
15
+ completedAt?: string;
16
+ result?: ChainExecutionResult;
17
+ params: Record<string, unknown>;
18
+ }
19
+ /** Configuração do executor */
20
+ export interface ExecutorConfig {
21
+ /** Timeout máximo por step (ms) */
22
+ stepTimeoutMs: number;
23
+ /** Timeout máximo da chain inteira (ms) */
24
+ chainTimeoutMs: number;
25
+ /** Se true, faz snapshot antes de cada step */
26
+ snapshotBeforeStep: boolean;
27
+ /** Se true, faz rollback automático em falha */
28
+ autoRollback: boolean;
29
+ }
30
+ /** Configuração padrão */
31
+ export declare const DEFAULT_EXECUTOR_CONFIG: ExecutorConfig;
32
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/opencode/workflows/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEzD,sCAAsC;AACtC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAA;AAExF,yDAAyD;AACzD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,+BAA+B;AAC/B,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,aAAa,EAAE,MAAM,CAAA;IACrB,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IACtB,+CAA+C;IAC/C,kBAAkB,EAAE,OAAO,CAAA;IAC3B,gDAAgD;IAChD,YAAY,EAAE,OAAO,CAAA;CACtB;AAED,0BAA0B;AAC1B,eAAO,MAAM,uBAAuB,EAAE,cAKrC,CAAA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Workflow Types — Tipos compartilhados para o módulo de workflows.
3
+ *
4
+ * Consumido por: chains.ts, executor.ts, tools-workflow.ts
5
+ */
6
+ /** Configuração padrão */
7
+ export const DEFAULT_EXECUTOR_CONFIG = {
8
+ stepTimeoutMs: 30_000,
9
+ chainTimeoutMs: 120_000,
10
+ snapshotBeforeStep: true,
11
+ autoRollback: true,
12
+ };
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/opencode/workflows/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+BH,0BAA0B;AAC1B,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,aAAa,EAAE,MAAM;IACrB,cAAc,EAAE,OAAO;IACvB,kBAAkB,EAAE,IAAI;IACxB,YAAY,EAAE,IAAI;CACnB,CAAA"}
@@ -0,0 +1,30 @@
1
+ import type { KnowledgeGraph } from '../domain/types.js';
2
+ export interface ComplianceCheckResult {
3
+ standard: string;
4
+ requirements: Array<{
5
+ id: string;
6
+ description: string;
7
+ status: 'met' | 'partially_met' | 'not_met';
8
+ evidence?: string;
9
+ gap?: string;
10
+ }>;
11
+ score: number;
12
+ recommendations: string[];
13
+ }
14
+ export interface ComplianceOptions {
15
+ /** Custom compliance requirements to add alongside standard ones. */
16
+ customStandards?: Array<{
17
+ id: string;
18
+ description: string;
19
+ check: (graph: KnowledgeGraph) => 'met' | 'partially_met' | 'not_met';
20
+ }>;
21
+ /** Only check these specific requirement IDs. */
22
+ focusRequirements?: string[];
23
+ /** Skip these requirement IDs. */
24
+ excludeChecks?: string[];
25
+ /** Max requirements to evaluate. */
26
+ maxRequirements?: number;
27
+ }
28
+ export declare function checkCompliance(_graph: KnowledgeGraph, standard: string, options?: ComplianceOptions): ComplianceCheckResult;
29
+ export declare function formatComplianceCheck(result: ComplianceCheckResult): string;
30
+ //# sourceMappingURL=compliance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compliance.d.ts","sourceRoot":"","sources":["../../../src/sdd/analysis/compliance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,KAAK,CAAC;QAClB,EAAE,EAAE,MAAM,CAAA;QACV,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,KAAK,GAAG,eAAe,GAAG,SAAS,CAAA;QAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,CAAC,CAAA;IACF,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,KAAK,GAAG,eAAe,GAAG,SAAS,CAAA;KAAE,CAAC,CAAA;IACnI,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,qBAAqB,CAwNvB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CA8B3E"}
@@ -0,0 +1,251 @@
1
+ export function checkCompliance(_graph, standard, options) {
2
+ const requirements = [];
3
+ const recommendations = [];
4
+ const maxReqs = options?.maxRequirements ?? Infinity;
5
+ if (standard === 'GDPR') {
6
+ requirements.push({
7
+ id: 'GDPR-001',
8
+ description: 'Consentimento para coleta de dados',
9
+ status: 'not_met',
10
+ gap: 'Não há nós de consentimento no grafo',
11
+ });
12
+ requirements.push({
13
+ id: 'GDPR-002',
14
+ description: 'Direito ao esquecimento',
15
+ status: 'not_met',
16
+ gap: 'Não há implementação de exclusão de dados',
17
+ });
18
+ requirements.push({
19
+ id: 'GDPR-003',
20
+ description: 'Portabilidade de dados',
21
+ status: 'not_met',
22
+ gap: 'Não há exportação de dados implementada',
23
+ });
24
+ recommendations.push('Adicionar nós de consentimento');
25
+ recommendations.push('Implementar mecanismo de exclusão');
26
+ recommendations.push('Adicionar exportação de dados do usuário');
27
+ }
28
+ else if (standard === 'LGPD') {
29
+ requirements.push({
30
+ id: 'LGPD-001',
31
+ description: 'Consentimento para coleta de dados pessoais',
32
+ status: 'not_met',
33
+ gap: 'Não há nós de consentimento no grafo',
34
+ });
35
+ requirements.push({
36
+ id: 'LGPD-002',
37
+ description: 'Finalidade específica para coleta',
38
+ status: 'not_met',
39
+ gap: 'Não há definição de finalidade para cada coleta',
40
+ });
41
+ requirements.push({
42
+ id: 'LGPD-003',
43
+ description: 'Direito de acesso e correção',
44
+ status: 'not_met',
45
+ gap: 'Não há mecanismo de acesso e correção de dados',
46
+ });
47
+ requirements.push({
48
+ id: 'LGPD-004',
49
+ description: 'Direito de exclusão (anonymização)',
50
+ status: 'not_met',
51
+ gap: 'Não há mecanismo de exclusão ou anonimização',
52
+ });
53
+ requirements.push({
54
+ id: 'LGPD-005',
55
+ description: 'Relatório de impacto à proteção de dados (RIPD)',
56
+ status: 'not_met',
57
+ gap: 'Não há RIPD documentado',
58
+ });
59
+ requirements.push({
60
+ id: 'LGPD-006',
61
+ description: 'Encarregado de dados (DPO)',
62
+ status: 'not_met',
63
+ gap: 'Não há DPO definido',
64
+ });
65
+ recommendations.push('Adicionar nós de consentimento com finalidade específica');
66
+ recommendations.push('Implementar mecanismo de acesso e correção de dados');
67
+ recommendations.push('Implementar exclusão ou anonimização de dados pessoais');
68
+ recommendations.push('Criar Relatório de Impacto à Proteção de Dados (RIPD)');
69
+ recommendations.push('Definir Encarregado de Dados (DPO)');
70
+ recommendations.push('Documentar bases legais para tratamento de dados');
71
+ }
72
+ else if (standard === 'HIPAA') {
73
+ requirements.push({
74
+ id: 'HIPAA-001',
75
+ description: 'Criptografia de dados sensíveis',
76
+ status: 'not_met',
77
+ gap: 'Não há criptografia implementada',
78
+ });
79
+ requirements.push({
80
+ id: 'HIPAA-002',
81
+ description: 'Controle de acesso',
82
+ status: 'partially_met',
83
+ evidence: 'Sistema de permissões existe',
84
+ });
85
+ requirements.push({
86
+ id: 'HIPAA-003',
87
+ description: 'Audit trail',
88
+ status: 'partially_met',
89
+ evidence: 'Sistema de auditoria existe',
90
+ });
91
+ recommendations.push('Implementar criptografia em repouso e trânsito');
92
+ recommendations.push('Melhorar controle de acesso');
93
+ }
94
+ else if (standard === 'SOC2') {
95
+ requirements.push({
96
+ id: 'SOC2-001',
97
+ description: 'Controle de acesso lógico',
98
+ status: 'partially_met',
99
+ evidence: 'Sistema de permissões existe',
100
+ });
101
+ requirements.push({
102
+ id: 'SOC2-002',
103
+ description: 'Mudanças autorizadas',
104
+ status: 'met',
105
+ evidence: 'Sistema de Change management implementado',
106
+ });
107
+ requirements.push({
108
+ id: 'SOC2-003',
109
+ description: 'Monitoramento de atividades',
110
+ status: 'not_met',
111
+ gap: 'Não há sistema de monitoramento',
112
+ });
113
+ recommendations.push('Implementar sistema de monitoramento');
114
+ recommendations.push('Adicionar alertas de segurança');
115
+ }
116
+ else if (standard === 'PCI_DSS') {
117
+ requirements.push({
118
+ id: 'PCI-001',
119
+ description: 'Criptografia de dados de cartão de crédito',
120
+ status: 'not_met',
121
+ gap: 'Não há criptografia de dados de pagamento implementada',
122
+ });
123
+ requirements.push({
124
+ id: 'PCI-002',
125
+ description: 'Controle de acesso a dados de cartão',
126
+ status: 'not_met',
127
+ gap: 'Não há controle de acesso específico para dados de pagamento',
128
+ });
129
+ requirements.push({
130
+ id: 'PCI-003',
131
+ description: 'Monitoramento de acesso a dados de cartão',
132
+ status: 'not_met',
133
+ gap: 'Não há monitoramento de acesso a dados de pagamento',
134
+ });
135
+ requirements.push({
136
+ id: 'PCI-004',
137
+ description: 'Testes de segurança regulares',
138
+ status: 'not_met',
139
+ gap: 'Não há testes de segurança automatizados',
140
+ });
141
+ recommendations.push('Implementar criptografia AES-256 para dados de pagamento');
142
+ recommendations.push('Implementar tokenização para dados de cartão');
143
+ recommendations.push('Adicionar controle de acesso baseado em função (RBAC)');
144
+ recommendations.push('Implementar monitoramento em tempo real');
145
+ recommendations.push('Adicionar testes de segurança automatizados');
146
+ }
147
+ else if (standard === 'ISO27001') {
148
+ requirements.push({
149
+ id: 'ISO-001',
150
+ description: 'Política de segurança da informação',
151
+ status: 'not_met',
152
+ gap: 'Não há política de segurança documentada',
153
+ });
154
+ requirements.push({
155
+ id: 'ISO-002',
156
+ description: 'Gestão de riscos',
157
+ status: 'not_met',
158
+ gap: 'Não há processo de gestão de riscos',
159
+ });
160
+ requirements.push({
161
+ id: 'ISO-003',
162
+ description: 'Controles de segurança',
163
+ status: 'partially_met',
164
+ evidence: 'Sistema de permissões existe',
165
+ });
166
+ requirements.push({
167
+ id: 'ISO-004',
168
+ description: 'Gestão de incidentes',
169
+ status: 'not_met',
170
+ gap: 'Não há processo formal de gestão de incidentes',
171
+ });
172
+ requirements.push({
173
+ id: 'ISO-005',
174
+ description: 'Continuidade de negócios',
175
+ status: 'not_met',
176
+ gap: 'Não há plano de continuidade de negócios',
177
+ });
178
+ recommendations.push('Documentar política de segurança da informação');
179
+ recommendations.push('Implementar processo de gestão de riscos');
180
+ recommendations.push('Estabelecer processo formal de gestão de incidentes');
181
+ recommendations.push('Criar plano de continuidade de negócios');
182
+ recommendations.push('Realizar auditorias internas regulares');
183
+ }
184
+ else {
185
+ requirements.push({
186
+ id: 'GENERIC-001',
187
+ description: 'Autenticação e autorização',
188
+ status: 'partially_met',
189
+ evidence: 'Sistema de permissões existe',
190
+ });
191
+ recommendations.push('Verificar requisitos específicos do padrão');
192
+ }
193
+ // Apply custom standards
194
+ if (options?.customStandards?.length) {
195
+ for (const custom of options.customStandards) {
196
+ if (requirements.length >= maxReqs)
197
+ break;
198
+ if (options.excludeChecks?.includes(custom.id))
199
+ continue;
200
+ if (options.focusRequirements?.length && !options.focusRequirements.includes(custom.id))
201
+ continue;
202
+ requirements.push({
203
+ id: custom.id,
204
+ description: custom.description,
205
+ status: custom.check(_graph),
206
+ });
207
+ }
208
+ }
209
+ // Apply focus/exclude filters
210
+ const filteredReqs = requirements.filter((r) => {
211
+ if (options?.excludeChecks?.includes(r.id))
212
+ return false;
213
+ if (options?.focusRequirements?.length && !options.focusRequirements.includes(r.id))
214
+ return false;
215
+ return true;
216
+ }).slice(0, maxReqs);
217
+ const metCount = filteredReqs.filter(r => r.status === 'met').length;
218
+ const partialCount = filteredReqs.filter(r => r.status === 'partially_met').length;
219
+ const score = filteredReqs.length > 0
220
+ ? Math.round(((metCount + partialCount * 0.5) / filteredReqs.length) * 100)
221
+ : 0;
222
+ return { standard, requirements: filteredReqs, score, recommendations };
223
+ }
224
+ export function formatComplianceCheck(result) {
225
+ const lines = [
226
+ `## Verificação de Compliance - ${result.standard}`,
227
+ '',
228
+ `**Score:** ${result.score}/100`,
229
+ `**Requisitos:** ${result.requirements.length}`,
230
+ '',
231
+ ];
232
+ lines.push('### Status dos Requisitos');
233
+ for (const req of result.requirements) {
234
+ const statusIcon = req.status === 'met' ? '✅' :
235
+ req.status === 'partially_met' ? '⚠️' : '❌';
236
+ lines.push(`${statusIcon} **${req.id}**: ${req.description}`);
237
+ if (req.evidence) {
238
+ lines.push(` - Evidência: ${req.evidence}`);
239
+ }
240
+ if (req.gap) {
241
+ lines.push(` - Lacuna: ${req.gap}`);
242
+ }
243
+ }
244
+ lines.push('');
245
+ lines.push('### Recomendações');
246
+ for (const rec of result.recommendations) {
247
+ lines.push(`- ${rec}`);
248
+ }
249
+ return lines.join('\n');
250
+ }
251
+ //# sourceMappingURL=compliance.js.map