@bastani/atomic 0.5.11-0 → 0.5.12-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 (506) hide show
  1. package/.agents/skills/adapt/SKILL.md +199 -0
  2. package/.agents/skills/advanced-evaluation/SKILL.md +402 -0
  3. package/.agents/skills/advanced-evaluation/references/bias-mitigation.md +288 -0
  4. package/.agents/skills/advanced-evaluation/references/evaluation-pipeline.md +43 -0
  5. package/.agents/skills/advanced-evaluation/references/implementation-patterns.md +315 -0
  6. package/.agents/skills/advanced-evaluation/references/metrics-guide.md +331 -0
  7. package/.agents/skills/advanced-evaluation/scripts/evaluation_example.py +392 -0
  8. package/.agents/skills/animate/SKILL.md +175 -0
  9. package/.agents/skills/arrange/SKILL.md +124 -0
  10. package/.agents/skills/audit/SKILL.md +148 -0
  11. package/.agents/skills/bdi-mental-states/SKILL.md +311 -0
  12. package/.agents/skills/bdi-mental-states/references/bdi-ontology-core.md +207 -0
  13. package/.agents/skills/bdi-mental-states/references/framework-integration.md +582 -0
  14. package/.agents/skills/bdi-mental-states/references/rdf-examples.md +315 -0
  15. package/.agents/skills/bdi-mental-states/references/sparql-competency.md +420 -0
  16. package/.agents/skills/bolder/SKILL.md +117 -0
  17. package/.agents/skills/bun/SKILL.md +199 -0
  18. package/.agents/skills/clarify/SKILL.md +183 -0
  19. package/.agents/skills/colorize/SKILL.md +143 -0
  20. package/.agents/skills/context-compression/SKILL.md +272 -0
  21. package/.agents/skills/context-compression/references/evaluation-framework.md +213 -0
  22. package/.agents/skills/context-compression/scripts/compression_evaluator.py +862 -0
  23. package/.agents/skills/context-compression/tests/test_compression_evaluator.py +56 -0
  24. package/.agents/skills/context-degradation/SKILL.md +206 -0
  25. package/.agents/skills/context-degradation/references/patterns.md +314 -0
  26. package/.agents/skills/context-degradation/scripts/degradation_detector.py +614 -0
  27. package/.agents/skills/context-fundamentals/SKILL.md +201 -0
  28. package/.agents/skills/context-fundamentals/references/context-components.md +283 -0
  29. package/.agents/skills/context-fundamentals/scripts/context_manager.py +533 -0
  30. package/.agents/skills/context-optimization/SKILL.md +195 -0
  31. package/.agents/skills/context-optimization/references/optimization_techniques.md +272 -0
  32. package/.agents/skills/context-optimization/scripts/compaction.py +562 -0
  33. package/.agents/skills/create-spec/SKILL.md +244 -0
  34. package/.agents/skills/critique/SKILL.md +225 -0
  35. package/.agents/skills/critique/reference/cognitive-load.md +106 -0
  36. package/.agents/skills/critique/reference/heuristics-scoring.md +234 -0
  37. package/.agents/skills/critique/reference/personas.md +178 -0
  38. package/.agents/skills/delight/SKILL.md +304 -0
  39. package/.agents/skills/distill/SKILL.md +122 -0
  40. package/.agents/skills/docx/LICENSE.txt +30 -0
  41. package/.agents/skills/docx/SKILL.md +590 -0
  42. package/.agents/skills/docx/scripts/__init__.py +1 -0
  43. package/.agents/skills/docx/scripts/accept_changes.py +135 -0
  44. package/.agents/skills/docx/scripts/comment.py +318 -0
  45. package/.agents/skills/docx/scripts/office/helpers/__init__.py +0 -0
  46. package/.agents/skills/docx/scripts/office/helpers/merge_runs.py +199 -0
  47. package/.agents/skills/docx/scripts/office/helpers/simplify_redlines.py +197 -0
  48. package/.agents/skills/docx/scripts/office/pack.py +159 -0
  49. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  50. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  51. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  52. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  53. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  54. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  55. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  56. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  57. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  58. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  59. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  60. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  61. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  62. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  63. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  64. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  65. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  66. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  67. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  68. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  69. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  70. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  71. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  72. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  73. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  74. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  75. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  76. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  77. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  78. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  79. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  80. package/.agents/skills/docx/scripts/office/schemas/mce/mc.xsd +75 -0
  81. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  82. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  83. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  84. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  85. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  86. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  87. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  88. package/.agents/skills/docx/scripts/office/soffice.py +183 -0
  89. package/.agents/skills/docx/scripts/office/unpack.py +132 -0
  90. package/.agents/skills/docx/scripts/office/validate.py +111 -0
  91. package/.agents/skills/docx/scripts/office/validators/__init__.py +15 -0
  92. package/.agents/skills/docx/scripts/office/validators/base.py +847 -0
  93. package/.agents/skills/docx/scripts/office/validators/docx.py +446 -0
  94. package/.agents/skills/docx/scripts/office/validators/pptx.py +275 -0
  95. package/.agents/skills/docx/scripts/office/validators/redlining.py +247 -0
  96. package/.agents/skills/docx/scripts/templates/comments.xml +3 -0
  97. package/.agents/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  98. package/.agents/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  99. package/.agents/skills/docx/scripts/templates/commentsIds.xml +3 -0
  100. package/.agents/skills/docx/scripts/templates/people.xml +3 -0
  101. package/.agents/skills/evaluation/SKILL.md +251 -0
  102. package/.agents/skills/evaluation/references/metrics.md +339 -0
  103. package/.agents/skills/evaluation/scripts/evaluator.py +627 -0
  104. package/.agents/skills/explain-code/SKILL.md +230 -0
  105. package/.agents/skills/extract/SKILL.md +91 -0
  106. package/.agents/skills/filesystem-context/SKILL.md +287 -0
  107. package/.agents/skills/filesystem-context/references/implementation-patterns.md +549 -0
  108. package/.agents/skills/filesystem-context/scripts/filesystem_context.py +425 -0
  109. package/.agents/skills/find-skills/SKILL.md +142 -0
  110. package/.agents/skills/frontend-design/SKILL.md +147 -0
  111. package/.agents/skills/frontend-design/reference/color-and-contrast.md +132 -0
  112. package/.agents/skills/frontend-design/reference/interaction-design.md +195 -0
  113. package/.agents/skills/frontend-design/reference/motion-design.md +99 -0
  114. package/.agents/skills/frontend-design/reference/responsive-design.md +114 -0
  115. package/.agents/skills/frontend-design/reference/spatial-design.md +100 -0
  116. package/.agents/skills/frontend-design/reference/typography.md +133 -0
  117. package/.agents/skills/frontend-design/reference/ux-writing.md +107 -0
  118. package/.agents/skills/gh-commit/SKILL.md +243 -0
  119. package/.agents/skills/gh-create-pr/SKILL.md +93 -0
  120. package/.agents/skills/harden/SKILL.md +354 -0
  121. package/.agents/skills/hosted-agents/SKILL.md +260 -0
  122. package/.agents/skills/hosted-agents/references/infrastructure-patterns.md +700 -0
  123. package/.agents/skills/hosted-agents/scripts/sandbox_manager.py +590 -0
  124. package/.agents/skills/impeccable/SKILL.md +365 -0
  125. package/.agents/skills/impeccable/reference/color-and-contrast.md +105 -0
  126. package/.agents/skills/impeccable/reference/craft.md +70 -0
  127. package/.agents/skills/impeccable/reference/extract.md +70 -0
  128. package/.agents/skills/impeccable/reference/interaction-design.md +195 -0
  129. package/.agents/skills/impeccable/reference/motion-design.md +99 -0
  130. package/.agents/skills/impeccable/reference/responsive-design.md +114 -0
  131. package/.agents/skills/impeccable/reference/spatial-design.md +100 -0
  132. package/.agents/skills/impeccable/reference/typography.md +142 -0
  133. package/.agents/skills/impeccable/reference/ux-writing.md +107 -0
  134. package/.agents/skills/impeccable/scripts/cleanup-deprecated.mjs +214 -0
  135. package/.agents/skills/init/SKILL.md +138 -0
  136. package/.agents/skills/layout/SKILL.md +125 -0
  137. package/.agents/skills/liteparse/SKILL.md +222 -0
  138. package/.agents/skills/memory-systems/SKILL.md +219 -0
  139. package/.agents/skills/memory-systems/references/implementation.md +551 -0
  140. package/.agents/skills/memory-systems/scripts/memory_store.py +616 -0
  141. package/.agents/skills/multi-agent-patterns/SKILL.md +257 -0
  142. package/.agents/skills/multi-agent-patterns/references/frameworks.md +433 -0
  143. package/.agents/skills/multi-agent-patterns/scripts/coordination.py +613 -0
  144. package/.agents/skills/normalize/SKILL.md +70 -0
  145. package/.agents/skills/onboard/SKILL.md +245 -0
  146. package/.agents/skills/opentui/SKILL.md +201 -0
  147. package/.agents/skills/opentui/references/animation/REFERENCE.md +431 -0
  148. package/.agents/skills/opentui/references/components/REFERENCE.md +144 -0
  149. package/.agents/skills/opentui/references/components/code-diff.md +672 -0
  150. package/.agents/skills/opentui/references/components/containers.md +417 -0
  151. package/.agents/skills/opentui/references/components/inputs.md +531 -0
  152. package/.agents/skills/opentui/references/components/text-display.md +386 -0
  153. package/.agents/skills/opentui/references/core/REFERENCE.md +145 -0
  154. package/.agents/skills/opentui/references/core/api.md +543 -0
  155. package/.agents/skills/opentui/references/core/configuration.md +168 -0
  156. package/.agents/skills/opentui/references/core/gotchas.md +393 -0
  157. package/.agents/skills/opentui/references/core/patterns.md +449 -0
  158. package/.agents/skills/opentui/references/keyboard/REFERENCE.md +617 -0
  159. package/.agents/skills/opentui/references/layout/REFERENCE.md +337 -0
  160. package/.agents/skills/opentui/references/layout/patterns.md +444 -0
  161. package/.agents/skills/opentui/references/react/REFERENCE.md +174 -0
  162. package/.agents/skills/opentui/references/react/api.md +436 -0
  163. package/.agents/skills/opentui/references/react/configuration.md +302 -0
  164. package/.agents/skills/opentui/references/react/gotchas.md +443 -0
  165. package/.agents/skills/opentui/references/react/patterns.md +501 -0
  166. package/.agents/skills/opentui/references/solid/REFERENCE.md +201 -0
  167. package/.agents/skills/opentui/references/solid/api.md +564 -0
  168. package/.agents/skills/opentui/references/solid/configuration.md +316 -0
  169. package/.agents/skills/opentui/references/solid/gotchas.md +427 -0
  170. package/.agents/skills/opentui/references/solid/patterns.md +560 -0
  171. package/.agents/skills/opentui/references/testing/REFERENCE.md +614 -0
  172. package/.agents/skills/optimize/SKILL.md +266 -0
  173. package/.agents/skills/overdrive/SKILL.md +142 -0
  174. package/.agents/skills/pdf/LICENSE.txt +30 -0
  175. package/.agents/skills/pdf/SKILL.md +314 -0
  176. package/.agents/skills/pdf/forms.md +294 -0
  177. package/.agents/skills/pdf/reference.md +612 -0
  178. package/.agents/skills/pdf/scripts/check_bounding_boxes.py +65 -0
  179. package/.agents/skills/pdf/scripts/check_fillable_fields.py +11 -0
  180. package/.agents/skills/pdf/scripts/convert_pdf_to_images.py +33 -0
  181. package/.agents/skills/pdf/scripts/create_validation_image.py +37 -0
  182. package/.agents/skills/pdf/scripts/extract_form_field_info.py +122 -0
  183. package/.agents/skills/pdf/scripts/extract_form_structure.py +115 -0
  184. package/.agents/skills/pdf/scripts/fill_fillable_fields.py +98 -0
  185. package/.agents/skills/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
  186. package/.agents/skills/playwright-cli/SKILL.md +344 -0
  187. package/.agents/skills/playwright-cli/references/element-attributes.md +23 -0
  188. package/.agents/skills/playwright-cli/references/playwright-tests.md +39 -0
  189. package/.agents/skills/playwright-cli/references/request-mocking.md +87 -0
  190. package/.agents/skills/playwright-cli/references/running-code.md +231 -0
  191. package/.agents/skills/playwright-cli/references/session-management.md +169 -0
  192. package/.agents/skills/playwright-cli/references/storage-state.md +275 -0
  193. package/.agents/skills/playwright-cli/references/test-generation.md +88 -0
  194. package/.agents/skills/playwright-cli/references/tracing.md +139 -0
  195. package/.agents/skills/playwright-cli/references/video-recording.md +143 -0
  196. package/.agents/skills/polish/SKILL.md +224 -0
  197. package/.agents/skills/pptx/LICENSE.txt +30 -0
  198. package/.agents/skills/pptx/SKILL.md +232 -0
  199. package/.agents/skills/pptx/editing.md +205 -0
  200. package/.agents/skills/pptx/pptxgenjs.md +420 -0
  201. package/.agents/skills/pptx/scripts/__init__.py +0 -0
  202. package/.agents/skills/pptx/scripts/add_slide.py +195 -0
  203. package/.agents/skills/pptx/scripts/clean.py +286 -0
  204. package/.agents/skills/pptx/scripts/office/helpers/__init__.py +0 -0
  205. package/.agents/skills/pptx/scripts/office/helpers/merge_runs.py +199 -0
  206. package/.agents/skills/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
  207. package/.agents/skills/pptx/scripts/office/pack.py +159 -0
  208. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  209. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  210. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  211. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  212. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  213. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  214. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  215. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  216. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  217. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  218. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  219. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  220. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  221. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  222. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  223. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  224. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  225. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  226. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  227. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  228. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  229. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  230. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  231. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  232. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  233. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  234. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  235. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  236. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  237. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  238. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  239. package/.agents/skills/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
  240. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  241. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  242. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  243. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  244. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  245. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  246. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  247. package/.agents/skills/pptx/scripts/office/soffice.py +183 -0
  248. package/.agents/skills/pptx/scripts/office/unpack.py +132 -0
  249. package/.agents/skills/pptx/scripts/office/validate.py +111 -0
  250. package/.agents/skills/pptx/scripts/office/validators/__init__.py +15 -0
  251. package/.agents/skills/pptx/scripts/office/validators/base.py +847 -0
  252. package/.agents/skills/pptx/scripts/office/validators/docx.py +446 -0
  253. package/.agents/skills/pptx/scripts/office/validators/pptx.py +275 -0
  254. package/.agents/skills/pptx/scripts/office/validators/redlining.py +247 -0
  255. package/.agents/skills/pptx/scripts/thumbnail.py +289 -0
  256. package/.agents/skills/project-development/SKILL.md +291 -0
  257. package/.agents/skills/project-development/references/case-studies.md +388 -0
  258. package/.agents/skills/project-development/references/pipeline-patterns.md +610 -0
  259. package/.agents/skills/project-development/scripts/pipeline_template.py +796 -0
  260. package/.agents/skills/prompt-engineer/SKILL.md +263 -0
  261. package/.agents/skills/prompt-engineer/references/advanced_patterns.md +271 -0
  262. package/.agents/skills/prompt-engineer/references/core_prompting.md +137 -0
  263. package/.agents/skills/prompt-engineer/references/quality_improvement.md +193 -0
  264. package/.agents/skills/quieter/SKILL.md +103 -0
  265. package/.agents/skills/research-codebase/SKILL.md +227 -0
  266. package/.agents/skills/shape/SKILL.md +96 -0
  267. package/.agents/skills/skill-creator/LICENSE.txt +202 -0
  268. package/.agents/skills/skill-creator/SKILL.md +485 -0
  269. package/.agents/skills/skill-creator/agents/analyzer.md +274 -0
  270. package/.agents/skills/skill-creator/agents/comparator.md +202 -0
  271. package/.agents/skills/skill-creator/agents/grader.md +223 -0
  272. package/.agents/skills/skill-creator/assets/eval_review.html +146 -0
  273. package/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  274. package/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  275. package/.agents/skills/skill-creator/references/schemas.md +430 -0
  276. package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
  277. package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  278. package/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
  279. package/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
  280. package/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
  281. package/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
  282. package/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
  283. package/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
  284. package/.agents/skills/skill-creator/scripts/utils.py +47 -0
  285. package/.agents/skills/sl-commit/SKILL.md +51 -0
  286. package/.agents/skills/sl-submit-diff/SKILL.md +55 -0
  287. package/.agents/skills/teach-impeccable/SKILL.md +71 -0
  288. package/.agents/skills/test-driven-development/SKILL.md +371 -0
  289. package/.agents/skills/test-driven-development/testing-anti-patterns.md +299 -0
  290. package/.agents/skills/tool-design/SKILL.md +271 -0
  291. package/.agents/skills/tool-design/references/architectural_reduction.md +210 -0
  292. package/.agents/skills/tool-design/references/best_practices.md +176 -0
  293. package/.agents/skills/tool-design/scripts/description_generator.py +528 -0
  294. package/.agents/skills/typescript-advanced-types/SKILL.md +719 -0
  295. package/.agents/skills/typescript-expert/SKILL.md +428 -0
  296. package/.agents/skills/typescript-expert/references/tsconfig-strict.json +92 -0
  297. package/.agents/skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
  298. package/.agents/skills/typescript-expert/references/utility-types.ts +335 -0
  299. package/.agents/skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
  300. package/.agents/skills/typescript-react-reviewer/SKILL.md +200 -0
  301. package/.agents/skills/typescript-react-reviewer/references/antipatterns.md +510 -0
  302. package/.agents/skills/typescript-react-reviewer/references/checklist.md +267 -0
  303. package/.agents/skills/typescript-react-reviewer/references/react19-patterns.md +305 -0
  304. package/.agents/skills/typeset/SKILL.md +116 -0
  305. package/.agents/skills/workflow-creator/SKILL.md +337 -0
  306. package/.agents/skills/workflow-creator/references/agent-sessions.md +789 -0
  307. package/.agents/skills/workflow-creator/references/computation-and-validation.md +224 -0
  308. package/.agents/skills/workflow-creator/references/control-flow.md +450 -0
  309. package/.agents/skills/workflow-creator/references/discovery-and-verification.md +156 -0
  310. package/.agents/skills/workflow-creator/references/failure-modes.md +732 -0
  311. package/.agents/skills/workflow-creator/references/getting-started.md +289 -0
  312. package/.agents/skills/workflow-creator/references/session-config.md +355 -0
  313. package/.agents/skills/workflow-creator/references/state-and-data-flow.md +374 -0
  314. package/.agents/skills/workflow-creator/references/user-input.md +206 -0
  315. package/.agents/skills/workflow-creator/references/workflow-inputs.md +274 -0
  316. package/.agents/skills/xlsx/LICENSE.txt +30 -0
  317. package/.agents/skills/xlsx/SKILL.md +292 -0
  318. package/.agents/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
  319. package/.agents/skills/xlsx/scripts/office/helpers/merge_runs.py +199 -0
  320. package/.agents/skills/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
  321. package/.agents/skills/xlsx/scripts/office/pack.py +159 -0
  322. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  323. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  324. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  325. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  326. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  327. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  328. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  329. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  330. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  331. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  332. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  333. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  334. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  335. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  336. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  337. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  338. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  339. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  340. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  341. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  342. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  343. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  344. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  345. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  346. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  347. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  348. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  349. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  350. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  351. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  352. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  353. package/.agents/skills/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
  354. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  355. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  356. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  357. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  358. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  359. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  360. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  361. package/.agents/skills/xlsx/scripts/office/soffice.py +183 -0
  362. package/.agents/skills/xlsx/scripts/office/unpack.py +132 -0
  363. package/.agents/skills/xlsx/scripts/office/validate.py +111 -0
  364. package/.agents/skills/xlsx/scripts/office/validators/__init__.py +15 -0
  365. package/.agents/skills/xlsx/scripts/office/validators/base.py +847 -0
  366. package/.agents/skills/xlsx/scripts/office/validators/docx.py +446 -0
  367. package/.agents/skills/xlsx/scripts/office/validators/pptx.py +275 -0
  368. package/.agents/skills/xlsx/scripts/office/validators/redlining.py +247 -0
  369. package/.agents/skills/xlsx/scripts/recalc.py +184 -0
  370. package/.claude/agents/reviewer.md +1 -0
  371. package/.github/agents/reviewer.md +1 -0
  372. package/.opencode/agents/reviewer.md +1 -0
  373. package/README.md +274 -169
  374. package/package.json +6 -7
  375. package/src/commands/cli/init/index.ts +2 -2
  376. package/src/commands/cli/init/scm.ts +7 -8
  377. package/src/commands/cli/workflow-command.test.ts +74 -0
  378. package/src/commands/cli/workflow.ts +7 -2
  379. package/src/scripts/bundle-configs.ts +128 -0
  380. package/src/sdk/components/compact-switcher.tsx +1 -1
  381. package/src/sdk/components/orchestrator-panel-store.ts +13 -0
  382. package/src/sdk/components/orchestrator-panel.tsx +10 -0
  383. package/src/sdk/components/statusline.tsx +13 -1
  384. package/src/sdk/providers/claude.ts +42 -0
  385. package/src/sdk/runtime/executor.ts +111 -32
  386. package/src/sdk/types.ts +7 -0
  387. package/src/sdk/workflows/builtin/ralph/claude/index.ts +132 -76
  388. package/src/sdk/workflows/builtin/ralph/copilot/index.ts +129 -71
  389. package/src/sdk/workflows/builtin/ralph/helpers/git.ts +184 -17
  390. package/src/sdk/workflows/builtin/ralph/helpers/prompts.ts +463 -79
  391. package/src/sdk/workflows/builtin/ralph/opencode/index.ts +124 -80
  392. package/src/services/system/auto-sync.ts +31 -51
  393. package/src/services/system/skills.ts +56 -60
  394. package/dist/lib/path-root-guard.d.ts +0 -4
  395. package/dist/lib/path-root-guard.d.ts.map +0 -1
  396. package/dist/sdk/components/color-utils.d.ts +0 -4
  397. package/dist/sdk/components/color-utils.d.ts.map +0 -1
  398. package/dist/sdk/components/compact-switcher.d.ts +0 -10
  399. package/dist/sdk/components/compact-switcher.d.ts.map +0 -1
  400. package/dist/sdk/components/connectors.d.ts +0 -15
  401. package/dist/sdk/components/connectors.d.ts.map +0 -1
  402. package/dist/sdk/components/connectors.test.d.ts +0 -2
  403. package/dist/sdk/components/connectors.test.d.ts.map +0 -1
  404. package/dist/sdk/components/edge.d.ts +0 -4
  405. package/dist/sdk/components/edge.d.ts.map +0 -1
  406. package/dist/sdk/components/error-boundary.d.ts +0 -23
  407. package/dist/sdk/components/error-boundary.d.ts.map +0 -1
  408. package/dist/sdk/components/graph-theme.d.ts +0 -17
  409. package/dist/sdk/components/graph-theme.d.ts.map +0 -1
  410. package/dist/sdk/components/header.d.ts +0 -3
  411. package/dist/sdk/components/header.d.ts.map +0 -1
  412. package/dist/sdk/components/hooks.d.ts +0 -15
  413. package/dist/sdk/components/hooks.d.ts.map +0 -1
  414. package/dist/sdk/components/layout.d.ts +0 -27
  415. package/dist/sdk/components/layout.d.ts.map +0 -1
  416. package/dist/sdk/components/layout.test.d.ts +0 -2
  417. package/dist/sdk/components/layout.test.d.ts.map +0 -1
  418. package/dist/sdk/components/node-card.d.ts +0 -10
  419. package/dist/sdk/components/node-card.d.ts.map +0 -1
  420. package/dist/sdk/components/orchestrator-panel-contexts.d.ts +0 -16
  421. package/dist/sdk/components/orchestrator-panel-contexts.d.ts.map +0 -1
  422. package/dist/sdk/components/orchestrator-panel-store.d.ts +0 -46
  423. package/dist/sdk/components/orchestrator-panel-store.d.ts.map +0 -1
  424. package/dist/sdk/components/orchestrator-panel-store.test.d.ts +0 -2
  425. package/dist/sdk/components/orchestrator-panel-store.test.d.ts.map +0 -1
  426. package/dist/sdk/components/orchestrator-panel-types.d.ts +0 -18
  427. package/dist/sdk/components/orchestrator-panel-types.d.ts.map +0 -1
  428. package/dist/sdk/components/orchestrator-panel.d.ts +0 -52
  429. package/dist/sdk/components/orchestrator-panel.d.ts.map +0 -1
  430. package/dist/sdk/components/session-graph-panel.d.ts +0 -7
  431. package/dist/sdk/components/session-graph-panel.d.ts.map +0 -1
  432. package/dist/sdk/components/status-helpers.d.ts +0 -6
  433. package/dist/sdk/components/status-helpers.d.ts.map +0 -1
  434. package/dist/sdk/components/statusline.d.ts +0 -7
  435. package/dist/sdk/components/statusline.d.ts.map +0 -1
  436. package/dist/sdk/components/workflow-picker-panel.d.ts +0 -123
  437. package/dist/sdk/components/workflow-picker-panel.d.ts.map +0 -1
  438. package/dist/sdk/define-workflow.d.ts +0 -78
  439. package/dist/sdk/define-workflow.d.ts.map +0 -1
  440. package/dist/sdk/define-workflow.test.d.ts +0 -2
  441. package/dist/sdk/define-workflow.test.d.ts.map +0 -1
  442. package/dist/sdk/errors.d.ts +0 -24
  443. package/dist/sdk/errors.d.ts.map +0 -1
  444. package/dist/sdk/errors.test.d.ts +0 -2
  445. package/dist/sdk/errors.test.d.ts.map +0 -1
  446. package/dist/sdk/index.d.ts +0 -13
  447. package/dist/sdk/index.d.ts.map +0 -1
  448. package/dist/sdk/providers/claude.d.ts +0 -170
  449. package/dist/sdk/providers/claude.d.ts.map +0 -1
  450. package/dist/sdk/providers/copilot.d.ts +0 -11
  451. package/dist/sdk/providers/copilot.d.ts.map +0 -1
  452. package/dist/sdk/providers/opencode.d.ts +0 -11
  453. package/dist/sdk/providers/opencode.d.ts.map +0 -1
  454. package/dist/sdk/runtime/discovery.d.ts +0 -86
  455. package/dist/sdk/runtime/discovery.d.ts.map +0 -1
  456. package/dist/sdk/runtime/executor-entry.d.ts +0 -11
  457. package/dist/sdk/runtime/executor-entry.d.ts.map +0 -1
  458. package/dist/sdk/runtime/executor.d.ts +0 -72
  459. package/dist/sdk/runtime/executor.d.ts.map +0 -1
  460. package/dist/sdk/runtime/executor.test.d.ts +0 -2
  461. package/dist/sdk/runtime/executor.test.d.ts.map +0 -1
  462. package/dist/sdk/runtime/graph-inference.d.ts +0 -35
  463. package/dist/sdk/runtime/graph-inference.d.ts.map +0 -1
  464. package/dist/sdk/runtime/loader.d.ts +0 -70
  465. package/dist/sdk/runtime/loader.d.ts.map +0 -1
  466. package/dist/sdk/runtime/panel.d.ts +0 -9
  467. package/dist/sdk/runtime/panel.d.ts.map +0 -1
  468. package/dist/sdk/runtime/theme.d.ts +0 -28
  469. package/dist/sdk/runtime/theme.d.ts.map +0 -1
  470. package/dist/sdk/runtime/tmux.d.ts +0 -297
  471. package/dist/sdk/runtime/tmux.d.ts.map +0 -1
  472. package/dist/sdk/types.d.ts +0 -295
  473. package/dist/sdk/types.d.ts.map +0 -1
  474. package/dist/sdk/workflows/builtin/deep-research-codebase/claude/index.d.ts +0 -62
  475. package/dist/sdk/workflows/builtin/deep-research-codebase/claude/index.d.ts.map +0 -1
  476. package/dist/sdk/workflows/builtin/deep-research-codebase/copilot/index.d.ts +0 -46
  477. package/dist/sdk/workflows/builtin/deep-research-codebase/copilot/index.d.ts.map +0 -1
  478. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/heuristic.d.ts +0 -26
  479. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/heuristic.d.ts.map +0 -1
  480. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/prompts.d.ts +0 -92
  481. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/prompts.d.ts.map +0 -1
  482. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scout.d.ts +0 -57
  483. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scout.d.ts.map +0 -1
  484. package/dist/sdk/workflows/builtin/deep-research-codebase/opencode/index.d.ts +0 -49
  485. package/dist/sdk/workflows/builtin/deep-research-codebase/opencode/index.d.ts.map +0 -1
  486. package/dist/sdk/workflows/builtin/ralph/claude/index.d.ts +0 -14
  487. package/dist/sdk/workflows/builtin/ralph/claude/index.d.ts.map +0 -1
  488. package/dist/sdk/workflows/builtin/ralph/copilot/index.d.ts +0 -14
  489. package/dist/sdk/workflows/builtin/ralph/copilot/index.d.ts.map +0 -1
  490. package/dist/sdk/workflows/builtin/ralph/helpers/git.d.ts +0 -17
  491. package/dist/sdk/workflows/builtin/ralph/helpers/git.d.ts.map +0 -1
  492. package/dist/sdk/workflows/builtin/ralph/helpers/prompts.d.ts +0 -119
  493. package/dist/sdk/workflows/builtin/ralph/helpers/prompts.d.ts.map +0 -1
  494. package/dist/sdk/workflows/builtin/ralph/helpers/review.d.ts +0 -20
  495. package/dist/sdk/workflows/builtin/ralph/helpers/review.d.ts.map +0 -1
  496. package/dist/sdk/workflows/builtin/ralph/opencode/index.d.ts +0 -14
  497. package/dist/sdk/workflows/builtin/ralph/opencode/index.d.ts.map +0 -1
  498. package/dist/sdk/workflows/index.d.ts +0 -24
  499. package/dist/sdk/workflows/index.d.ts.map +0 -1
  500. package/dist/services/config/definitions.d.ts +0 -85
  501. package/dist/services/config/definitions.d.ts.map +0 -1
  502. package/dist/services/system/copy.d.ts +0 -77
  503. package/dist/services/system/copy.d.ts.map +0 -1
  504. package/dist/services/system/detect.d.ts +0 -75
  505. package/dist/services/system/detect.d.ts.map +0 -1
  506. package/tsconfig.json +0 -33
@@ -5,7 +5,11 @@
5
5
  * so users can see each iteration's progress in real time. The loop
6
6
  * terminates when:
7
7
  * - {@link MAX_LOOPS} iterations have completed, OR
8
- * - Two consecutive reviewer passes return zero findings.
8
+ * - Two parallel reviewer passes both return zero findings.
9
+ *
10
+ * The reviewer stages use the OpenCode SDK's structured output
11
+ * (`format: { type: "json_schema" }`) to guarantee the review result
12
+ * matches the {@link ReviewResultSchema}.
9
13
  *
10
14
  * Run: atomic workflow -n ralph -a opencode "<your spec>"
11
15
  */
@@ -15,16 +19,20 @@ import { defineWorkflow } from "../../../index.ts";
15
19
  import {
16
20
  buildPlannerPrompt,
17
21
  buildOrchestratorPrompt,
22
+ buildInfraDiscoveryPrompts,
18
23
  buildReviewPrompt,
19
24
  buildDebuggerReportPrompt,
20
- parseReviewResult,
21
25
  extractMarkdownBlock,
26
+ filterActionable,
27
+ mergeReviewResults,
28
+ REVIEW_RESULT_JSON_SCHEMA,
29
+ type ReviewResult,
30
+ type StructuredReviewResult,
22
31
  } from "../helpers/prompts.ts";
23
32
  import { hasActionableFindings } from "../helpers/review.ts";
24
- import { safeGitStatusS } from "../helpers/git.ts";
33
+ import { captureBranchChangeset } from "../helpers/git.ts";
25
34
 
26
35
  const MAX_LOOPS = 10;
27
- const CONSECUTIVE_CLEAN_THRESHOLD = 2;
28
36
 
29
37
  /** Concatenate the text-typed parts of an OpenCode response. */
30
38
  function extractResponseText(
@@ -36,24 +44,40 @@ function extractResponseText(
36
44
  .join("\n");
37
45
  }
38
46
 
47
+ /**
48
+ * Extract a {@link StructuredReviewResult} from an OpenCode prompt response.
49
+ * Prefers the SDK's structured_output field; falls back to text extraction.
50
+ */
51
+ function extractReview(
52
+ data: { info?: Record<string, unknown>; parts: Array<{ type: string; [key: string]: unknown }> },
53
+ ): StructuredReviewResult {
54
+ const raw = extractResponseText(data.parts);
55
+
56
+ // The SDK places validated structured output at data.info.structured_output
57
+ const structuredOutput = data.info?.structured_output;
58
+ if (structuredOutput && typeof structuredOutput === "object") {
59
+ return {
60
+ structured: filterActionable(structuredOutput as ReviewResult),
61
+ raw,
62
+ };
63
+ }
64
+
65
+ return { structured: null, raw };
66
+ }
67
+
39
68
  export default defineWorkflow<"opencode">({
40
69
  name: "ralph",
41
70
  description:
42
71
  "Plan → orchestrate → review → debug loop with bounded iteration",
43
72
  })
44
73
  .run(async (ctx) => {
45
- // Free-form workflows receive their positional prompt under
46
- // `inputs.prompt`; destructure once so every stage below can close
47
- // over a bare `prompt` string without re-reaching into ctx.inputs.
48
74
  const prompt = ctx.inputs.prompt ?? "";
49
- let consecutiveClean = 0;
50
75
  let debuggerReport = "";
51
76
 
52
77
  for (let iteration = 1; iteration <= MAX_LOOPS; iteration++) {
53
78
  // ── Plan ────────────────────────────────────────────────────────────
54
- const plannerName = `planner-${iteration}`;
55
79
  const planner = await ctx.stage(
56
- { name: plannerName },
80
+ { name: `planner-${iteration}` },
57
81
  {},
58
82
  { title: `planner-${iteration}` },
59
83
  async (s) => {
@@ -75,11 +99,9 @@ export default defineWorkflow<"opencode">({
75
99
  },
76
100
  );
77
101
 
78
-
79
102
  // ── Orchestrate ─────────────────────────────────────────────────────
80
- const orchName = `orchestrator-${iteration}`;
81
103
  await ctx.stage(
82
- { name: orchName },
104
+ { name: `orchestrator-${iteration}` },
83
105
  {},
84
106
  { title: `orchestrator-${iteration}` },
85
107
  async (s) => {
@@ -99,87 +121,109 @@ export default defineWorkflow<"opencode">({
99
121
  },
100
122
  );
101
123
 
124
+ // ── Infrastructure Discovery (three parallel sub-agent stages) ────
125
+ const changeset = await captureBranchChangeset();
126
+ const discoveryPrompts = buildInfraDiscoveryPrompts();
102
127
 
103
- // ── Review (first pass) ─────────────────────────────────────────────
104
- let gitStatus = await safeGitStatusS();
105
- const reviewerName = `reviewer-${iteration}`;
106
- const review = await ctx.stage(
107
- { name: reviewerName },
108
- {},
109
- { title: `reviewer-${iteration}` },
110
- async (s) => {
111
- const result = await s.client.session.prompt({
112
- sessionID: s.session.id,
113
- parts: [
114
- {
115
- type: "text",
116
- text: buildReviewPrompt(prompt, {
117
- gitStatus,
118
- iteration,
119
- }),
120
- },
121
- ],
122
- agent: "reviewer",
123
- });
124
- s.save(result.data!);
125
- return extractResponseText(result.data!.parts);
126
- },
127
- );
128
-
129
-
130
- let reviewRaw = review.result;
131
- let parsed = parseReviewResult(reviewRaw);
132
-
133
- if (!hasActionableFindings(parsed, reviewRaw)) {
134
- consecutiveClean += 1;
135
- if (consecutiveClean >= CONSECUTIVE_CLEAN_THRESHOLD) break;
136
-
137
- // Confirmation pass — re-run reviewer only
138
- gitStatus = await safeGitStatusS();
139
- const confirmName = `reviewer-${iteration}-confirm`;
140
- const confirm = await ctx.stage(
141
- { name: confirmName },
128
+ const [locatorResult, analyzerResult, patternResult] = await Promise.all([
129
+ ctx.stage(
130
+ { name: `infra-locate-${iteration}`, headless: true },
142
131
  {},
143
- { title: `reviewer-${iteration}-confirm` },
132
+ { title: `infra-locate-${iteration}` },
144
133
  async (s) => {
145
134
  const result = await s.client.session.prompt({
146
135
  sessionID: s.session.id,
147
- parts: [
148
- {
149
- type: "text",
150
- text: buildReviewPrompt(prompt, {
151
- gitStatus,
152
- iteration,
153
- isConfirmationPass: true,
154
- }),
155
- },
156
- ],
157
- agent: "reviewer",
136
+ parts: [{ type: "text", text: discoveryPrompts.locator }],
137
+ agent: "codebase-locator",
138
+ });
139
+ s.save(result.data!);
140
+ return extractResponseText(result.data!.parts);
141
+ },
142
+ ),
143
+ ctx.stage(
144
+ { name: `infra-analyze-${iteration}`, headless: true },
145
+ {},
146
+ { title: `infra-analyze-${iteration}` },
147
+ async (s) => {
148
+ const result = await s.client.session.prompt({
149
+ sessionID: s.session.id,
150
+ parts: [{ type: "text", text: discoveryPrompts.analyzer }],
151
+ agent: "codebase-analyzer",
152
+ });
153
+ s.save(result.data!);
154
+ return extractResponseText(result.data!.parts);
155
+ },
156
+ ),
157
+ ctx.stage(
158
+ { name: `infra-patterns-${iteration}`, headless: true },
159
+ {},
160
+ { title: `infra-patterns-${iteration}` },
161
+ async (s) => {
162
+ const result = await s.client.session.prompt({
163
+ sessionID: s.session.id,
164
+ parts: [{ type: "text", text: discoveryPrompts.patternFinder }],
165
+ agent: "codebase-pattern-finder",
158
166
  });
159
167
  s.save(result.data!);
160
168
  return extractResponseText(result.data!.parts);
161
169
  },
170
+ ),
171
+ ]);
172
+
173
+ const discoveryContext = [
174
+ "### Infrastructure Files (codebase-locator)\n\n" + locatorResult.result,
175
+ "### Infrastructure Analysis (codebase-analyzer)\n\n" + analyzerResult.result,
176
+ "### Build & Test Patterns (codebase-pattern-finder)\n\n" + patternResult.result,
177
+ ].join("\n\n---\n\n");
178
+
179
+ // ── Review (two parallel passes) ────────────────────────────────────
180
+ const reviewPrompt = buildReviewPrompt(prompt, {
181
+ changeset,
182
+ iteration,
183
+ discoveryContext,
184
+ });
185
+
186
+ const reviewStage = async (name: string) =>
187
+ ctx.stage(
188
+ { name },
189
+ {},
190
+ { title: name },
191
+ async (s) => {
192
+ const result = await s.client.session.prompt({
193
+ sessionID: s.session.id,
194
+ parts: [{ type: "text", text: reviewPrompt }],
195
+ agent: "reviewer",
196
+ format: {
197
+ type: "json_schema" as const,
198
+ schema: REVIEW_RESULT_JSON_SCHEMA,
199
+ },
200
+ });
201
+ s.save(result.data!);
202
+ return extractReview(
203
+ result.data! as {
204
+ info?: Record<string, unknown>;
205
+ parts: Array<{ type: string; [key: string]: unknown }>;
206
+ },
207
+ );
208
+ },
162
209
  );
163
210
 
211
+ const [reviewA, reviewB] = await Promise.all([
212
+ reviewStage(`reviewer-${iteration}-a`),
213
+ reviewStage(`reviewer-${iteration}-b`),
214
+ ]);
164
215
 
165
- reviewRaw = confirm.result;
166
- parsed = parseReviewResult(reviewRaw);
216
+ const merged = mergeReviewResults(reviewA.result, reviewB.result);
217
+ const parsed = merged.structured;
218
+ const reviewRaw = merged.raw;
167
219
 
168
- if (!hasActionableFindings(parsed, reviewRaw)) {
169
- consecutiveClean += 1;
170
- if (consecutiveClean >= CONSECUTIVE_CLEAN_THRESHOLD) break;
171
- } else {
172
- consecutiveClean = 0;
173
- }
174
- } else {
175
- consecutiveClean = 0;
176
- }
220
+ // Both reviewers agree the code is clean → done
221
+ if (!hasActionableFindings(parsed, reviewRaw)) break;
177
222
 
178
- // ── Debug (only if findings remain AND another iteration is allowed)
179
- if (hasActionableFindings(parsed, reviewRaw) && iteration < MAX_LOOPS) {
180
- const debuggerName = `debugger-${iteration}`;
223
+ // ── Debug (only if another iteration is allowed) ────────────────────
224
+ if (iteration < MAX_LOOPS) {
181
225
  const debugger_ = await ctx.stage(
182
- { name: debuggerName },
226
+ { name: `debugger-${iteration}` },
183
227
  {},
184
228
  { title: `debugger-${iteration}` },
185
229
  async (s) => {
@@ -190,7 +234,7 @@ export default defineWorkflow<"opencode">({
190
234
  type: "text",
191
235
  text: buildDebuggerReportPrompt(parsed, reviewRaw, {
192
236
  iteration,
193
- gitStatus,
237
+ changeset,
194
238
  }),
195
239
  },
196
240
  ],
@@ -11,37 +11,29 @@
11
11
  * comparing the bundled `VERSION` constant against a marker file at
12
12
  * `~/.atomic/.synced-version`. On a mismatch we run the same setup the
13
13
  * production bootstrap installers (`install.sh` / `install.ps1`) provide,
14
- * as a single parallel phase:
14
+ * silently in the background:
15
15
  *
16
16
  * 1. tmux / psmux (terminal multiplexer for `chat` / `workflow`)
17
17
  * 2. global agent configs (file copies — no network)
18
18
  * 3. @playwright/cli (bun install -g)
19
19
  * 4. @llamaindex/liteparse (bun install -g)
20
- * 5. global skills (bunx skills add ...)
20
+ * 5. global skills (file copies from bundled .agents/skills)
21
21
  *
22
- * All steps run concurrently using bun (already our runtime) for package
23
- * installs and `bunx` for CLI tools, avoiding a ~48 s Node.js/npm
24
- * download via fnm that previously gated Phase 2.
25
- *
26
- * Failures are collected and reported as a summary at the end, but never
27
- * abort the run — partial setup matches the production installer's
28
- * "best-effort" semantics. The marker is only written when every step
29
- * succeeds; on partial failure the next launch re-runs all steps (they
30
- * are idempotent, so re-running already-succeeded steps is harmless).
22
+ * All steps run silently. The only user-facing loading bar lives in the
23
+ * bootstrap installers (install.sh / install.ps1). Failures are swallowed;
24
+ * the marker is only written when every step succeeds, so the next launch
25
+ * retries (all steps are idempotent).
31
26
  */
32
27
 
33
28
  import { join } from "node:path";
34
29
  import { homedir } from "node:os";
35
30
  import { VERSION } from "../../version.ts";
36
- import { COLORS } from "../../theme/colors.ts";
37
31
  import {
38
32
  ensureTmuxInstalled,
39
33
  upgradeGlobalToolPackages,
40
34
  } from "../../lib/spawn.ts";
41
35
  import { installGlobalAgents } from "./agents.ts";
42
36
  import { installGlobalSkills } from "./skills.ts";
43
- import { runSteps, printSummary } from "./install-ui.ts";
44
- import { displayBlockBanner } from "../../theme/logo.ts";
45
37
 
46
38
  /** Path to the version marker. Honors ATOMIC_SETTINGS_HOME for tests. */
47
39
  function syncMarkerPath(): string {
@@ -70,10 +62,25 @@ export async function markSynced(): Promise<void> {
70
62
  }
71
63
  }
72
64
 
65
+ /**
66
+ * Run a step silently, returning whether it succeeded.
67
+ */
68
+ async function silentStep(fn: () => Promise<unknown>): Promise<boolean> {
69
+ try {
70
+ await fn();
71
+ return true;
72
+ } catch {
73
+ return false;
74
+ }
75
+ }
76
+
73
77
  /**
74
78
  * Sync tooling deps, bundled agents, and global skills if the marker
75
79
  * doesn't match the bundled VERSION. No-op in dev checkouts and when the
76
80
  * marker already matches the current version.
81
+ *
82
+ * Runs entirely silently — no spinner, no progress bar, no banner. The
83
+ * only loading UI lives in the bootstrap installers (install.sh / install.ps1).
77
84
  */
78
85
  export async function autoSyncIfStale(): Promise<void> {
79
86
  if (!isInstalledPackage()) return;
@@ -86,46 +93,19 @@ export async function autoSyncIfStale(): Promise<void> {
86
93
 
87
94
  if (stored === VERSION) return;
88
95
 
89
- console.log(
90
- `\n ${COLORS.dim}Setting up atomic ${COLORS.reset}${COLORS.bold}v${VERSION}${COLORS.reset}${COLORS.dim}…${COLORS.reset}`,
91
- );
92
-
93
- // All steps run in a single parallel phase. bun (already our runtime)
94
- // handles global package installs and `bunx` execution, so there is no
95
- // need to install Node.js/npm first — eliminating a ~48 s fnm download
96
- // that previously dominated the loading screen.
97
- //
98
- // Each step's failure is caught inside `runSteps` (not thrown), so
99
- // subsequent steps still run even if one fails — matches install.sh's
100
- // best-effort contract.
101
- const results = await runSteps([
102
- [
103
- { label: "tmux / psmux", fn: () => ensureTmuxInstalled({ quiet: true }) },
104
- { label: "global agent configs", fn: installGlobalAgents },
105
- { label: "global tool packages", fn: upgradeGlobalToolPackages },
106
- { label: "global skills", fn: installGlobalSkills },
107
- ],
96
+ // All steps run in parallel and silently. Failures are swallowed so the
97
+ // CLI can proceed. The marker is only written when every step succeeds;
98
+ // on partial failure the next launch retries (all steps are idempotent).
99
+ const results = await Promise.all([
100
+ silentStep(() => ensureTmuxInstalled({ quiet: true })),
101
+ silentStep(installGlobalAgents),
102
+ silentStep(upgradeGlobalToolPackages),
103
+ silentStep(installGlobalSkills),
108
104
  ]);
109
105
 
110
- const failures = results.filter((r) => !r.ok);
106
+ const allOk = results.every(Boolean);
111
107
 
112
- // Only write the marker when every step succeeded. On partial failure
113
- // the next launch will re-run all steps — they're idempotent, so
114
- // re-running already-succeeded steps is cheap and harmless.
115
- if (failures.length === 0) {
108
+ if (allOk) {
116
109
  await markSynced();
117
110
  }
118
-
119
- displayBlockBanner();
120
- printSummary(results);
121
-
122
- if (failures.length > 0) {
123
- console.log(
124
- `\n ${COLORS.dim}Setup will retry on next launch. To retry now, re-run your command.${COLORS.reset}\n`,
125
- );
126
- } else {
127
- console.log(
128
- `\n ${COLORS.dim}Learn more at ${COLORS.reset}${COLORS.blue}https://deepwiki.com/flora131/atomic${COLORS.reset}\n`,
129
- );
130
- }
131
111
  }
@@ -1,77 +1,73 @@
1
1
  /**
2
2
  * Global skills installation.
3
3
  *
4
- * Installs bundled agent skills globally via `npx skills`, then removes
5
- * source-control skill variants so `atomic init` can install them
6
- * locally per-project based on the user's selected SCM + active agent.
4
+ * Copies bundled agent skills from the installed package into the
5
+ * provider-native global skill roots, mirroring the merge-copy approach
6
+ * used by {@link installGlobalAgents} for agent configs.
7
+ *
8
+ * Previously this ran `npx skills add <repo>` at runtime, which cloned
9
+ * the entire git repo on every version bump. Now the skills ship inside
10
+ * the npm package (`.agents/skills/`) and are copied locally — no network
11
+ * required, no `npx`/`bunx` dependency.
12
+ *
13
+ * SCM-variant skills (gh-commit, gh-create-pr, sl-commit, sl-submit-diff)
14
+ * are excluded from the global install; `atomic init` installs them
15
+ * per-project based on the user's selected SCM + active agent.
7
16
  */
8
17
 
18
+ import { join } from "node:path";
19
+ import { homedir } from "node:os";
9
20
  import { ALL_SCM_SKILLS } from "../config/index.ts";
21
+ import { copyDir, pathExists } from "./copy.ts";
10
22
 
11
- const SKILLS_REPO = "https://github.com/flora131/atomic.git";
12
- const SKILLS_AGENTS = ["claude-code", "opencode", "github-copilot"] as const;
23
+ /**
24
+ * Locate the package root by walking up from this module. Both in installed
25
+ * (`<pkg>/src/services/system/skills.ts`) and dev checkout layouts the
26
+ * package root is three directories up.
27
+ */
28
+ function packageRoot(): string {
29
+ return join(import.meta.dir, "..", "..", "..");
30
+ }
13
31
 
14
- interface NpxSkillsResult {
15
- ok: boolean;
16
- /** Tail of captured stderr/stdout — surfaced by the spinner on failure. */
17
- details: string;
32
+ /** Honors ATOMIC_SETTINGS_HOME so tests can point at a temp dir. */
33
+ function homeRoot(): string {
34
+ return process.env.ATOMIC_SETTINGS_HOME ?? homedir();
18
35
  }
19
36
 
20
- async function runNpxSkills(args: string[]): Promise<NpxSkillsResult> {
21
- // Prefer bunx (already available as our runtime) over npx to avoid
22
- // depending on a full Node.js/npm installation.
23
- const runner = Bun.which("bunx") ?? Bun.which("npx");
24
- if (!runner) {
25
- return { ok: false, details: "neither bunx nor npx found on PATH" };
26
- }
37
+ /**
38
+ * Global skill directories keyed by provider.
39
+ *
40
+ * From CLAUDE.md:
41
+ * - `~/.agents/skills` for OpenCode and Copilot CLI
42
+ * - `~/.claude/skills` for Claude Code
43
+ */
44
+ const SKILL_DEST_DIRS = [
45
+ ".agents/skills",
46
+ ".claude/skills",
47
+ ] as const;
27
48
 
28
- // Capture stdout/stderr so the outer spinner UI owns terminal output and
29
- // can surface the tail of any failure.
30
- const isBunx = runner.endsWith("bunx");
31
- const cmd = isBunx
32
- ? [runner, "skills", ...args]
33
- : [runner, "--yes", "skills", ...args];
34
- const proc = Bun.spawn(cmd, {
35
- stdout: "pipe",
36
- stderr: "pipe",
37
- });
38
- const [stderr, stdout, exitCode] = await Promise.all([
39
- new Response(proc.stderr).text(),
40
- new Response(proc.stdout).text(),
41
- proc.exited,
42
- ]);
43
- const details = (stderr.trim() || stdout.trim()).slice(-800);
44
- return { ok: exitCode === 0, details };
45
- }
49
+ /** The set of SCM skill names to exclude from global installation. */
50
+ const SCM_SKILL_SET = new Set<string>(ALL_SCM_SKILLS);
46
51
 
52
+ /**
53
+ * Copy bundled skills to the global skill directories, excluding
54
+ * SCM-variant skills that are installed per-project by `atomic init`.
55
+ */
47
56
  export async function installGlobalSkills(): Promise<void> {
48
- const agentFlags = SKILLS_AGENTS.flatMap((agent) => ["-a", agent]);
57
+ const src = join(packageRoot(), ".agents", "skills");
49
58
 
50
- const addResult = await runNpxSkills([
51
- "add",
52
- SKILLS_REPO,
53
- "--skill",
54
- "*",
55
- "-g",
56
- ...agentFlags,
57
- "-y",
58
- ]);
59
- if (!addResult.ok) {
60
- throw new Error(`npx skills add failed: ${addResult.details}`);
59
+ if (!(await pathExists(src))) {
60
+ throw new Error(`Bundled skills missing at ${src}`);
61
61
  }
62
62
 
63
- const removeSkillFlags = ALL_SCM_SKILLS.flatMap((skill) => [
64
- "--skill",
65
- skill,
66
- ]);
67
- const removeResult = await runNpxSkills([
68
- "remove",
69
- ...removeSkillFlags,
70
- "-g",
71
- ...agentFlags,
72
- "-y",
73
- ]);
74
- if (!removeResult.ok) {
75
- throw new Error(`npx skills remove failed: ${removeResult.details}`);
76
- }
63
+ const home = homeRoot();
64
+
65
+ // Build the exclusion list from SCM skill names
66
+ const exclude = [...SCM_SKILL_SET];
67
+
68
+ await Promise.all(
69
+ SKILL_DEST_DIRS.map((rel) =>
70
+ copyDir(src, join(home, rel), { exclude }),
71
+ ),
72
+ );
77
73
  }
@@ -1,4 +0,0 @@
1
- export declare function isPathWithinRoot(rootPath: string, candidatePath: string): boolean;
2
- export declare function assertPathWithinRoot(rootPath: string, candidatePath: string, label: string): void;
3
- export declare function assertRealPathWithinRoot(rootPath: string, candidatePath: string, label: string): Promise<string>;
4
- //# sourceMappingURL=path-root-guard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path-root-guard.d.ts","sourceRoot":"","sources":["../../src/lib/path-root-guard.ts"],"names":[],"mappings":"AAQA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAEjF;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GACZ,IAAI,CAIN;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAWjB"}
@@ -1,4 +0,0 @@
1
- export declare function hexToRgb(hex: string): [number, number, number];
2
- export declare function rgbToHex(r: number, g: number, b: number): string;
3
- export declare function lerpColor(a: string, b: string, t: number): string;
4
- //# sourceMappingURL=color-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color-utils.d.ts","sourceRoot":"","sources":["../../../src/sdk/components/color-utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAG9D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAQjE"}
@@ -1,10 +0,0 @@
1
- /** @jsxImportSource @opentui/react */
2
- /**
3
- * CompactSwitcher — a lightweight popup that lists all agents for quick
4
- * direct-jump navigation. Opened with "/" from any view mode.
5
- */
6
- export interface CompactSwitcherProps {
7
- selectedIndex: number;
8
- }
9
- export declare function CompactSwitcher({ selectedIndex }: CompactSwitcherProps): import("react").ReactNode;
10
- //# sourceMappingURL=compact-switcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compact-switcher.d.ts","sourceRoot":"","sources":["../../../src/sdk/components/compact-switcher.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;GAGG;AAMH,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,eAAe,CAAC,EAAE,aAAa,EAAE,EAAE,oBAAoB,6BA0DtE"}
@@ -1,15 +0,0 @@
1
- import type { GraphTheme } from "./graph-theme.ts";
2
- import { type LayoutNode } from "./layout.ts";
3
- export interface ConnectorResult {
4
- text: string;
5
- col: number;
6
- row: number;
7
- width: number;
8
- height: number;
9
- color: string;
10
- }
11
- /** Fan-out connector: one parent branching down to one or more tree children. */
12
- export declare function buildConnector(parent: LayoutNode, rowH: Record<number, number>, theme: GraphTheme): ConnectorResult | null;
13
- /** Fan-in connector: multiple parents converging down to a single merge child. */
14
- export declare function buildMergeConnector(child: LayoutNode, rowH: Record<number, number>, allNodes: Record<string, LayoutNode>, theme: GraphTheme): ConnectorResult | null;
15
- //# sourceMappingURL=connectors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../../src/sdk/components/connectors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,KAAK,EAAE,UAAU,GAChB,eAAe,GAAG,IAAI,CAqExB;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACpC,KAAK,EAAE,UAAU,GAChB,eAAe,GAAG,IAAI,CA2DxB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=connectors.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connectors.test.d.ts","sourceRoot":"","sources":["../../../src/sdk/components/connectors.test.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- /** @jsxImportSource @opentui/react */
2
- import type { ConnectorResult } from "./connectors.ts";
3
- export declare function Edge({ text, col, row, width, height, color: edgeColor }: ConnectorResult): import("react").ReactNode;
4
- //# sourceMappingURL=edge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../../src/sdk/components/edge.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,eAAe,6BAMxF"}
@@ -1,23 +0,0 @@
1
- /** @jsxImportSource @opentui/react */
2
- /**
3
- * React Error Boundary for the orchestrator panel.
4
- *
5
- * Catches render-time errors in the component tree and displays a
6
- * static fallback so the rest of the TUI doesn't crash.
7
- */
8
- import { Component, type ReactNode, type ErrorInfo } from "react";
9
- interface ErrorBoundaryProps {
10
- fallback: (error: Error) => ReactNode;
11
- children: ReactNode;
12
- }
13
- interface ErrorBoundaryState {
14
- error: Error | null;
15
- }
16
- export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
17
- state: ErrorBoundaryState;
18
- static getDerivedStateFromError(error: Error): ErrorBoundaryState;
19
- componentDidCatch(error: Error, info: ErrorInfo): void;
20
- render(): ReactNode;
21
- }
22
- export {};
23
- //# sourceMappingURL=error-boundary.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-boundary.d.ts","sourceRoot":"","sources":["../../../src/sdk/components/error-boundary.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC;IACtC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,UAAU,kBAAkB;IAC1B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,qBAAa,aAAc,SAAQ,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACzE,KAAK,EAAE,kBAAkB,CAAmB;IAErD,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB;IAIxD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAKtD,MAAM,IAAI,SAAS;CAM7B"}