@bastani/atomic 0.6.8 → 0.7.0-2

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 (765) hide show
  1. package/bin/atomic +65 -0
  2. package/package.json +17 -82
  3. package/postinstall.mjs +47 -0
  4. package/.agents/skills/ado-commit/SKILL.md +0 -94
  5. package/.agents/skills/ado-create-pr/SKILL.md +0 -211
  6. package/.agents/skills/advanced-evaluation/SKILL.md +0 -404
  7. package/.agents/skills/advanced-evaluation/references/bias-mitigation.md +0 -288
  8. package/.agents/skills/advanced-evaluation/references/evaluation-pipeline.md +0 -43
  9. package/.agents/skills/advanced-evaluation/references/implementation-patterns.md +0 -315
  10. package/.agents/skills/advanced-evaluation/references/metrics-guide.md +0 -331
  11. package/.agents/skills/advanced-evaluation/scripts/evaluation_example.py +0 -392
  12. package/.agents/skills/ast-grep/SKILL.md +0 -325
  13. package/.agents/skills/ast-grep/references/rule_reference.md +0 -297
  14. package/.agents/skills/bdi-mental-states/SKILL.md +0 -313
  15. package/.agents/skills/bdi-mental-states/references/bdi-ontology-core.md +0 -207
  16. package/.agents/skills/bdi-mental-states/references/framework-integration.md +0 -582
  17. package/.agents/skills/bdi-mental-states/references/rdf-examples.md +0 -315
  18. package/.agents/skills/bdi-mental-states/references/sparql-competency.md +0 -420
  19. package/.agents/skills/bun/SKILL.md +0 -233
  20. package/.agents/skills/context-compression/SKILL.md +0 -274
  21. package/.agents/skills/context-compression/references/evaluation-framework.md +0 -213
  22. package/.agents/skills/context-compression/scripts/compression_evaluator.py +0 -862
  23. package/.agents/skills/context-compression/tests/test_compression_evaluator.py +0 -56
  24. package/.agents/skills/context-degradation/SKILL.md +0 -208
  25. package/.agents/skills/context-degradation/references/patterns.md +0 -314
  26. package/.agents/skills/context-degradation/scripts/degradation_detector.py +0 -614
  27. package/.agents/skills/context-fundamentals/SKILL.md +0 -203
  28. package/.agents/skills/context-fundamentals/references/context-components.md +0 -283
  29. package/.agents/skills/context-fundamentals/scripts/context_manager.py +0 -533
  30. package/.agents/skills/context-optimization/SKILL.md +0 -197
  31. package/.agents/skills/context-optimization/references/optimization_techniques.md +0 -272
  32. package/.agents/skills/context-optimization/scripts/compaction.py +0 -562
  33. package/.agents/skills/create-spec/SKILL.md +0 -249
  34. package/.agents/skills/docx/LICENSE.txt +0 -30
  35. package/.agents/skills/docx/SKILL.md +0 -592
  36. package/.agents/skills/docx/scripts/__init__.py +0 -1
  37. package/.agents/skills/docx/scripts/accept_changes.py +0 -135
  38. package/.agents/skills/docx/scripts/comment.py +0 -318
  39. package/.agents/skills/docx/scripts/office/helpers/__init__.py +0 -0
  40. package/.agents/skills/docx/scripts/office/helpers/merge_runs.py +0 -199
  41. package/.agents/skills/docx/scripts/office/helpers/simplify_redlines.py +0 -197
  42. package/.agents/skills/docx/scripts/office/pack.py +0 -159
  43. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  44. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  45. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  46. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  47. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  48. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  49. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  50. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  51. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  52. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  53. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  54. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  55. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  56. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  57. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  58. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  59. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  60. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  61. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  62. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  63. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  64. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  65. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  66. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  67. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  68. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  69. package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  70. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  71. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  72. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  73. package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  74. package/.agents/skills/docx/scripts/office/schemas/mce/mc.xsd +0 -75
  75. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
  76. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
  77. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
  78. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
  79. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
  80. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  81. package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
  82. package/.agents/skills/docx/scripts/office/soffice.py +0 -183
  83. package/.agents/skills/docx/scripts/office/unpack.py +0 -132
  84. package/.agents/skills/docx/scripts/office/validate.py +0 -111
  85. package/.agents/skills/docx/scripts/office/validators/__init__.py +0 -15
  86. package/.agents/skills/docx/scripts/office/validators/base.py +0 -847
  87. package/.agents/skills/docx/scripts/office/validators/docx.py +0 -446
  88. package/.agents/skills/docx/scripts/office/validators/pptx.py +0 -275
  89. package/.agents/skills/docx/scripts/office/validators/redlining.py +0 -247
  90. package/.agents/skills/docx/scripts/templates/comments.xml +0 -3
  91. package/.agents/skills/docx/scripts/templates/commentsExtended.xml +0 -3
  92. package/.agents/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
  93. package/.agents/skills/docx/scripts/templates/commentsIds.xml +0 -3
  94. package/.agents/skills/docx/scripts/templates/people.xml +0 -3
  95. package/.agents/skills/evaluation/SKILL.md +0 -253
  96. package/.agents/skills/evaluation/references/metrics.md +0 -339
  97. package/.agents/skills/evaluation/scripts/evaluator.py +0 -627
  98. package/.agents/skills/explain-code/SKILL.md +0 -232
  99. package/.agents/skills/filesystem-context/SKILL.md +0 -289
  100. package/.agents/skills/filesystem-context/references/implementation-patterns.md +0 -549
  101. package/.agents/skills/filesystem-context/scripts/filesystem_context.py +0 -425
  102. package/.agents/skills/find-skills/SKILL.md +0 -144
  103. package/.agents/skills/gh-commit/SKILL.md +0 -245
  104. package/.agents/skills/gh-create-pr/SKILL.md +0 -95
  105. package/.agents/skills/hosted-agents/SKILL.md +0 -262
  106. package/.agents/skills/hosted-agents/references/infrastructure-patterns.md +0 -700
  107. package/.agents/skills/hosted-agents/scripts/sandbox_manager.py +0 -590
  108. package/.agents/skills/impeccable/SKILL.md +0 -178
  109. package/.agents/skills/impeccable/agents/openai.yaml +0 -4
  110. package/.agents/skills/impeccable/reference/adapt.md +0 -190
  111. package/.agents/skills/impeccable/reference/animate.md +0 -175
  112. package/.agents/skills/impeccable/reference/audit.md +0 -134
  113. package/.agents/skills/impeccable/reference/bolder.md +0 -113
  114. package/.agents/skills/impeccable/reference/brand.md +0 -114
  115. package/.agents/skills/impeccable/reference/clarify.md +0 -174
  116. package/.agents/skills/impeccable/reference/cognitive-load.md +0 -106
  117. package/.agents/skills/impeccable/reference/color-and-contrast.md +0 -105
  118. package/.agents/skills/impeccable/reference/colorize.md +0 -154
  119. package/.agents/skills/impeccable/reference/craft.md +0 -193
  120. package/.agents/skills/impeccable/reference/critique.md +0 -213
  121. package/.agents/skills/impeccable/reference/delight.md +0 -302
  122. package/.agents/skills/impeccable/reference/distill.md +0 -111
  123. package/.agents/skills/impeccable/reference/document.md +0 -427
  124. package/.agents/skills/impeccable/reference/extract.md +0 -70
  125. package/.agents/skills/impeccable/reference/harden.md +0 -347
  126. package/.agents/skills/impeccable/reference/heuristics-scoring.md +0 -234
  127. package/.agents/skills/impeccable/reference/interaction-design.md +0 -195
  128. package/.agents/skills/impeccable/reference/layout.md +0 -141
  129. package/.agents/skills/impeccable/reference/live.md +0 -594
  130. package/.agents/skills/impeccable/reference/motion-design.md +0 -109
  131. package/.agents/skills/impeccable/reference/onboard.md +0 -234
  132. package/.agents/skills/impeccable/reference/optimize.md +0 -258
  133. package/.agents/skills/impeccable/reference/overdrive.md +0 -130
  134. package/.agents/skills/impeccable/reference/personas.md +0 -178
  135. package/.agents/skills/impeccable/reference/polish.md +0 -232
  136. package/.agents/skills/impeccable/reference/product.md +0 -62
  137. package/.agents/skills/impeccable/reference/quieter.md +0 -99
  138. package/.agents/skills/impeccable/reference/responsive-design.md +0 -114
  139. package/.agents/skills/impeccable/reference/shape.md +0 -151
  140. package/.agents/skills/impeccable/reference/spatial-design.md +0 -100
  141. package/.agents/skills/impeccable/reference/teach.md +0 -156
  142. package/.agents/skills/impeccable/reference/typeset.md +0 -124
  143. package/.agents/skills/impeccable/reference/typography.md +0 -159
  144. package/.agents/skills/impeccable/reference/ux-writing.md +0 -107
  145. package/.agents/skills/impeccable/scripts/cleanup-deprecated.mjs +0 -284
  146. package/.agents/skills/impeccable/scripts/command-metadata.json +0 -94
  147. package/.agents/skills/impeccable/scripts/design-parser.mjs +0 -820
  148. package/.agents/skills/impeccable/scripts/detect-csp.mjs +0 -198
  149. package/.agents/skills/impeccable/scripts/is-generated.mjs +0 -69
  150. package/.agents/skills/impeccable/scripts/live-accept.mjs +0 -595
  151. package/.agents/skills/impeccable/scripts/live-browser.js +0 -4781
  152. package/.agents/skills/impeccable/scripts/live-inject.mjs +0 -445
  153. package/.agents/skills/impeccable/scripts/live-poll.mjs +0 -186
  154. package/.agents/skills/impeccable/scripts/live-server.mjs +0 -694
  155. package/.agents/skills/impeccable/scripts/live-wrap.mjs +0 -571
  156. package/.agents/skills/impeccable/scripts/live.mjs +0 -247
  157. package/.agents/skills/impeccable/scripts/load-context.mjs +0 -141
  158. package/.agents/skills/impeccable/scripts/modern-screenshot.umd.js +0 -14
  159. package/.agents/skills/impeccable/scripts/pin.mjs +0 -214
  160. package/.agents/skills/init/SKILL.md +0 -140
  161. package/.agents/skills/liteparse/SKILL.md +0 -223
  162. package/.agents/skills/memory-systems/SKILL.md +0 -221
  163. package/.agents/skills/memory-systems/references/implementation.md +0 -551
  164. package/.agents/skills/memory-systems/scripts/memory_store.py +0 -616
  165. package/.agents/skills/multi-agent-patterns/SKILL.md +0 -259
  166. package/.agents/skills/multi-agent-patterns/references/frameworks.md +0 -433
  167. package/.agents/skills/multi-agent-patterns/scripts/coordination.py +0 -613
  168. package/.agents/skills/opentui/SKILL.md +0 -202
  169. package/.agents/skills/opentui/references/animation/REFERENCE.md +0 -431
  170. package/.agents/skills/opentui/references/components/REFERENCE.md +0 -144
  171. package/.agents/skills/opentui/references/components/code-diff.md +0 -672
  172. package/.agents/skills/opentui/references/components/containers.md +0 -417
  173. package/.agents/skills/opentui/references/components/inputs.md +0 -531
  174. package/.agents/skills/opentui/references/components/text-display.md +0 -386
  175. package/.agents/skills/opentui/references/core/REFERENCE.md +0 -145
  176. package/.agents/skills/opentui/references/core/api.md +0 -543
  177. package/.agents/skills/opentui/references/core/configuration.md +0 -168
  178. package/.agents/skills/opentui/references/core/gotchas.md +0 -393
  179. package/.agents/skills/opentui/references/core/patterns.md +0 -449
  180. package/.agents/skills/opentui/references/keyboard/REFERENCE.md +0 -617
  181. package/.agents/skills/opentui/references/layout/REFERENCE.md +0 -337
  182. package/.agents/skills/opentui/references/layout/patterns.md +0 -444
  183. package/.agents/skills/opentui/references/react/REFERENCE.md +0 -174
  184. package/.agents/skills/opentui/references/react/api.md +0 -436
  185. package/.agents/skills/opentui/references/react/configuration.md +0 -302
  186. package/.agents/skills/opentui/references/react/gotchas.md +0 -443
  187. package/.agents/skills/opentui/references/react/patterns.md +0 -501
  188. package/.agents/skills/opentui/references/solid/REFERENCE.md +0 -201
  189. package/.agents/skills/opentui/references/solid/api.md +0 -564
  190. package/.agents/skills/opentui/references/solid/configuration.md +0 -316
  191. package/.agents/skills/opentui/references/solid/gotchas.md +0 -427
  192. package/.agents/skills/opentui/references/solid/patterns.md +0 -560
  193. package/.agents/skills/opentui/references/testing/REFERENCE.md +0 -614
  194. package/.agents/skills/pdf/LICENSE.txt +0 -30
  195. package/.agents/skills/pdf/SKILL.md +0 -316
  196. package/.agents/skills/pdf/forms.md +0 -294
  197. package/.agents/skills/pdf/reference.md +0 -612
  198. package/.agents/skills/pdf/scripts/check_bounding_boxes.py +0 -65
  199. package/.agents/skills/pdf/scripts/check_fillable_fields.py +0 -11
  200. package/.agents/skills/pdf/scripts/convert_pdf_to_images.py +0 -33
  201. package/.agents/skills/pdf/scripts/create_validation_image.py +0 -37
  202. package/.agents/skills/pdf/scripts/extract_form_field_info.py +0 -122
  203. package/.agents/skills/pdf/scripts/extract_form_structure.py +0 -115
  204. package/.agents/skills/pdf/scripts/fill_fillable_fields.py +0 -98
  205. package/.agents/skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -107
  206. package/.agents/skills/playwright-cli/SKILL.md +0 -390
  207. package/.agents/skills/playwright-cli/references/element-attributes.md +0 -23
  208. package/.agents/skills/playwright-cli/references/playwright-tests.md +0 -39
  209. package/.agents/skills/playwright-cli/references/request-mocking.md +0 -87
  210. package/.agents/skills/playwright-cli/references/running-code.md +0 -241
  211. package/.agents/skills/playwright-cli/references/session-management.md +0 -225
  212. package/.agents/skills/playwright-cli/references/spec-driven-testing.md +0 -305
  213. package/.agents/skills/playwright-cli/references/storage-state.md +0 -275
  214. package/.agents/skills/playwright-cli/references/test-generation.md +0 -134
  215. package/.agents/skills/playwright-cli/references/tracing.md +0 -139
  216. package/.agents/skills/playwright-cli/references/video-recording.md +0 -143
  217. package/.agents/skills/pptx/LICENSE.txt +0 -30
  218. package/.agents/skills/pptx/SKILL.md +0 -234
  219. package/.agents/skills/pptx/editing.md +0 -205
  220. package/.agents/skills/pptx/pptxgenjs.md +0 -420
  221. package/.agents/skills/pptx/scripts/__init__.py +0 -0
  222. package/.agents/skills/pptx/scripts/add_slide.py +0 -195
  223. package/.agents/skills/pptx/scripts/clean.py +0 -286
  224. package/.agents/skills/pptx/scripts/office/helpers/__init__.py +0 -0
  225. package/.agents/skills/pptx/scripts/office/helpers/merge_runs.py +0 -199
  226. package/.agents/skills/pptx/scripts/office/helpers/simplify_redlines.py +0 -197
  227. package/.agents/skills/pptx/scripts/office/pack.py +0 -159
  228. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  229. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  230. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  231. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  232. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  233. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  234. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  235. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  236. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  237. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  238. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  239. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  240. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  241. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  242. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  243. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  244. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  245. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  246. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  247. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  248. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  249. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  250. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  251. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  252. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  253. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  254. package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  255. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  256. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  257. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  258. package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  259. package/.agents/skills/pptx/scripts/office/schemas/mce/mc.xsd +0 -75
  260. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
  261. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
  262. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
  263. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
  264. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
  265. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  266. package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
  267. package/.agents/skills/pptx/scripts/office/soffice.py +0 -183
  268. package/.agents/skills/pptx/scripts/office/unpack.py +0 -132
  269. package/.agents/skills/pptx/scripts/office/validate.py +0 -111
  270. package/.agents/skills/pptx/scripts/office/validators/__init__.py +0 -15
  271. package/.agents/skills/pptx/scripts/office/validators/base.py +0 -847
  272. package/.agents/skills/pptx/scripts/office/validators/docx.py +0 -446
  273. package/.agents/skills/pptx/scripts/office/validators/pptx.py +0 -275
  274. package/.agents/skills/pptx/scripts/office/validators/redlining.py +0 -247
  275. package/.agents/skills/pptx/scripts/thumbnail.py +0 -289
  276. package/.agents/skills/project-development/SKILL.md +0 -293
  277. package/.agents/skills/project-development/references/case-studies.md +0 -388
  278. package/.agents/skills/project-development/references/pipeline-patterns.md +0 -610
  279. package/.agents/skills/project-development/scripts/pipeline_template.py +0 -796
  280. package/.agents/skills/prompt-engineer/SKILL.md +0 -265
  281. package/.agents/skills/prompt-engineer/references/advanced_patterns.md +0 -271
  282. package/.agents/skills/prompt-engineer/references/core_prompting.md +0 -137
  283. package/.agents/skills/prompt-engineer/references/quality_improvement.md +0 -193
  284. package/.agents/skills/research-codebase/SKILL.md +0 -229
  285. package/.agents/skills/ripgrep/SKILL.md +0 -384
  286. package/.agents/skills/skill-creator/LICENSE.txt +0 -202
  287. package/.agents/skills/skill-creator/SKILL.md +0 -487
  288. package/.agents/skills/skill-creator/agents/analyzer.md +0 -274
  289. package/.agents/skills/skill-creator/agents/comparator.md +0 -202
  290. package/.agents/skills/skill-creator/agents/grader.md +0 -223
  291. package/.agents/skills/skill-creator/assets/eval_review.html +0 -146
  292. package/.agents/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  293. package/.agents/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  294. package/.agents/skills/skill-creator/references/schemas.md +0 -430
  295. package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
  296. package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  297. package/.agents/skills/skill-creator/scripts/generate_report.py +0 -326
  298. package/.agents/skills/skill-creator/scripts/improve_description.py +0 -247
  299. package/.agents/skills/skill-creator/scripts/package_skill.py +0 -136
  300. package/.agents/skills/skill-creator/scripts/quick_validate.py +0 -103
  301. package/.agents/skills/skill-creator/scripts/run_eval.py +0 -310
  302. package/.agents/skills/skill-creator/scripts/run_loop.py +0 -328
  303. package/.agents/skills/skill-creator/scripts/utils.py +0 -47
  304. package/.agents/skills/sl-commit/SKILL.md +0 -53
  305. package/.agents/skills/sl-submit-diff/SKILL.md +0 -57
  306. package/.agents/skills/tdd/SKILL.md +0 -111
  307. package/.agents/skills/tdd/deep-modules.md +0 -33
  308. package/.agents/skills/tdd/interface-design.md +0 -31
  309. package/.agents/skills/tdd/mocking.md +0 -59
  310. package/.agents/skills/tdd/refactoring.md +0 -10
  311. package/.agents/skills/tdd/tests.md +0 -61
  312. package/.agents/skills/tool-design/SKILL.md +0 -273
  313. package/.agents/skills/tool-design/references/architectural_reduction.md +0 -210
  314. package/.agents/skills/tool-design/references/best_practices.md +0 -176
  315. package/.agents/skills/tool-design/scripts/description_generator.py +0 -528
  316. package/.agents/skills/typescript-advanced-types/SKILL.md +0 -720
  317. package/.agents/skills/typescript-expert/SKILL.md +0 -434
  318. package/.agents/skills/typescript-expert/references/tsconfig-strict.json +0 -92
  319. package/.agents/skills/typescript-expert/references/typescript-cheatsheet.md +0 -383
  320. package/.agents/skills/typescript-expert/references/utility-types.ts +0 -335
  321. package/.agents/skills/typescript-expert/scripts/ts_diagnostic.py +0 -203
  322. package/.agents/skills/typescript-react-reviewer/SKILL.md +0 -201
  323. package/.agents/skills/typescript-react-reviewer/references/antipatterns.md +0 -510
  324. package/.agents/skills/typescript-react-reviewer/references/checklist.md +0 -267
  325. package/.agents/skills/typescript-react-reviewer/references/react19-patterns.md +0 -305
  326. package/.agents/skills/workflow-creator/SKILL.md +0 -553
  327. package/.agents/skills/workflow-creator/references/agent-sessions.md +0 -891
  328. package/.agents/skills/workflow-creator/references/agent-setup-recipe.md +0 -266
  329. package/.agents/skills/workflow-creator/references/computation-and-validation.md +0 -201
  330. package/.agents/skills/workflow-creator/references/control-flow.md +0 -470
  331. package/.agents/skills/workflow-creator/references/failure-modes.md +0 -1014
  332. package/.agents/skills/workflow-creator/references/getting-started.md +0 -392
  333. package/.agents/skills/workflow-creator/references/registry-and-validation.md +0 -141
  334. package/.agents/skills/workflow-creator/references/running-workflows.md +0 -418
  335. package/.agents/skills/workflow-creator/references/session-config.md +0 -431
  336. package/.agents/skills/workflow-creator/references/state-and-data-flow.md +0 -356
  337. package/.agents/skills/workflow-creator/references/user-input.md +0 -234
  338. package/.agents/skills/workflow-creator/references/workflow-inputs.md +0 -392
  339. package/.agents/skills/xlsx/LICENSE.txt +0 -30
  340. package/.agents/skills/xlsx/SKILL.md +0 -294
  341. package/.agents/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
  342. package/.agents/skills/xlsx/scripts/office/helpers/merge_runs.py +0 -199
  343. package/.agents/skills/xlsx/scripts/office/helpers/simplify_redlines.py +0 -197
  344. package/.agents/skills/xlsx/scripts/office/pack.py +0 -159
  345. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  346. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  347. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  348. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  349. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  350. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  351. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  352. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  353. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  354. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  355. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  356. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  357. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  358. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  359. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  360. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  361. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  362. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  363. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  364. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  365. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  366. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  367. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  368. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  369. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  370. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  371. package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  372. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  373. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  374. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  375. package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  376. package/.agents/skills/xlsx/scripts/office/schemas/mce/mc.xsd +0 -75
  377. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
  378. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
  379. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
  380. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
  381. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
  382. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  383. package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
  384. package/.agents/skills/xlsx/scripts/office/soffice.py +0 -183
  385. package/.agents/skills/xlsx/scripts/office/unpack.py +0 -132
  386. package/.agents/skills/xlsx/scripts/office/validate.py +0 -111
  387. package/.agents/skills/xlsx/scripts/office/validators/__init__.py +0 -15
  388. package/.agents/skills/xlsx/scripts/office/validators/base.py +0 -847
  389. package/.agents/skills/xlsx/scripts/office/validators/docx.py +0 -446
  390. package/.agents/skills/xlsx/scripts/office/validators/pptx.py +0 -275
  391. package/.agents/skills/xlsx/scripts/office/validators/redlining.py +0 -247
  392. package/.agents/skills/xlsx/scripts/recalc.py +0 -184
  393. package/.claude/agents/code-simplifier.md +0 -52
  394. package/.claude/agents/codebase-analyzer.md +0 -166
  395. package/.claude/agents/codebase-locator.md +0 -122
  396. package/.claude/agents/codebase-online-researcher.md +0 -148
  397. package/.claude/agents/codebase-pattern-finder.md +0 -247
  398. package/.claude/agents/codebase-research-analyzer.md +0 -179
  399. package/.claude/agents/codebase-research-locator.md +0 -145
  400. package/.claude/agents/debugger.md +0 -91
  401. package/.claude/agents/orchestrator.md +0 -19
  402. package/.claude/agents/planner.md +0 -295
  403. package/.claude/agents/reviewer.md +0 -98
  404. package/.claude/agents/worker.md +0 -165
  405. package/.claude/settings.json +0 -27
  406. package/.github/agents/code-simplifier.md +0 -52
  407. package/.github/agents/codebase-analyzer.md +0 -166
  408. package/.github/agents/codebase-locator.md +0 -122
  409. package/.github/agents/codebase-online-researcher.md +0 -146
  410. package/.github/agents/codebase-pattern-finder.md +0 -247
  411. package/.github/agents/codebase-research-analyzer.md +0 -179
  412. package/.github/agents/codebase-research-locator.md +0 -145
  413. package/.github/agents/debugger.md +0 -98
  414. package/.github/agents/orchestrator.md +0 -27
  415. package/.github/agents/planner.md +0 -305
  416. package/.github/agents/reviewer.md +0 -95
  417. package/.github/agents/worker.md +0 -237
  418. package/.github/lsp.json +0 -93
  419. package/.mcp.json +0 -20
  420. package/.opencode/agents/code-simplifier.md +0 -62
  421. package/.opencode/agents/codebase-analyzer.md +0 -171
  422. package/.opencode/agents/codebase-locator.md +0 -127
  423. package/.opencode/agents/codebase-online-researcher.md +0 -152
  424. package/.opencode/agents/codebase-pattern-finder.md +0 -252
  425. package/.opencode/agents/codebase-research-analyzer.md +0 -183
  426. package/.opencode/agents/codebase-research-locator.md +0 -149
  427. package/.opencode/agents/debugger.md +0 -99
  428. package/.opencode/agents/orchestrator.md +0 -27
  429. package/.opencode/agents/planner.md +0 -309
  430. package/.opencode/agents/reviewer.md +0 -103
  431. package/.opencode/agents/worker.md +0 -165
  432. package/.opencode/opencode.json +0 -25
  433. package/README.md +0 -1624
  434. package/assets/settings.schema.json +0 -51
  435. package/dist/commands/cli/claude-inflight-hook.d.ts +0 -100
  436. package/dist/commands/cli/claude-inflight-hook.d.ts.map +0 -1
  437. package/dist/commands/cli/claude-stop-hook.d.ts +0 -80
  438. package/dist/commands/cli/claude-stop-hook.d.ts.map +0 -1
  439. package/dist/lib/atomic-temp.d.ts +0 -8
  440. package/dist/lib/atomic-temp.d.ts.map +0 -1
  441. package/dist/lib/path-root-guard.d.ts +0 -4
  442. package/dist/lib/path-root-guard.d.ts.map +0 -1
  443. package/dist/lib/spawn.d.ts +0 -102
  444. package/dist/lib/spawn.d.ts.map +0 -1
  445. package/dist/lib/terminal-env.d.ts +0 -9
  446. package/dist/lib/terminal-env.d.ts.map +0 -1
  447. package/dist/sdk/components/attached-statusline.d.ts +0 -26
  448. package/dist/sdk/components/attached-statusline.d.ts.map +0 -1
  449. package/dist/sdk/components/color-utils.d.ts +0 -4
  450. package/dist/sdk/components/color-utils.d.ts.map +0 -1
  451. package/dist/sdk/components/compact-switcher.d.ts +0 -10
  452. package/dist/sdk/components/compact-switcher.d.ts.map +0 -1
  453. package/dist/sdk/components/connectors.d.ts +0 -16
  454. package/dist/sdk/components/connectors.d.ts.map +0 -1
  455. package/dist/sdk/components/edge.d.ts +0 -4
  456. package/dist/sdk/components/edge.d.ts.map +0 -1
  457. package/dist/sdk/components/error-boundary.d.ts +0 -23
  458. package/dist/sdk/components/error-boundary.d.ts.map +0 -1
  459. package/dist/sdk/components/graph-theme.d.ts +0 -18
  460. package/dist/sdk/components/graph-theme.d.ts.map +0 -1
  461. package/dist/sdk/components/header.d.ts +0 -3
  462. package/dist/sdk/components/header.d.ts.map +0 -1
  463. package/dist/sdk/components/hooks.d.ts +0 -15
  464. package/dist/sdk/components/hooks.d.ts.map +0 -1
  465. package/dist/sdk/components/layout.d.ts +0 -27
  466. package/dist/sdk/components/layout.d.ts.map +0 -1
  467. package/dist/sdk/components/node-card.d.ts +0 -10
  468. package/dist/sdk/components/node-card.d.ts.map +0 -1
  469. package/dist/sdk/components/orchestrator-panel-contexts.d.ts +0 -16
  470. package/dist/sdk/components/orchestrator-panel-contexts.d.ts.map +0 -1
  471. package/dist/sdk/components/orchestrator-panel-store.d.ts +0 -52
  472. package/dist/sdk/components/orchestrator-panel-store.d.ts.map +0 -1
  473. package/dist/sdk/components/orchestrator-panel-types.d.ts +0 -18
  474. package/dist/sdk/components/orchestrator-panel-types.d.ts.map +0 -1
  475. package/dist/sdk/components/orchestrator-panel.d.ts +0 -86
  476. package/dist/sdk/components/orchestrator-panel.d.ts.map +0 -1
  477. package/dist/sdk/components/renderer-background.d.ts +0 -9
  478. package/dist/sdk/components/renderer-background.d.ts.map +0 -1
  479. package/dist/sdk/components/session-graph-panel.d.ts +0 -7
  480. package/dist/sdk/components/session-graph-panel.d.ts.map +0 -1
  481. package/dist/sdk/components/status-helpers.d.ts +0 -6
  482. package/dist/sdk/components/status-helpers.d.ts.map +0 -1
  483. package/dist/sdk/components/statusline.d.ts +0 -5
  484. package/dist/sdk/components/statusline.d.ts.map +0 -1
  485. package/dist/sdk/components/tui-diagnostics.d.ts +0 -56
  486. package/dist/sdk/components/tui-diagnostics.d.ts.map +0 -1
  487. package/dist/sdk/components/workflow-picker-panel.d.ts +0 -126
  488. package/dist/sdk/components/workflow-picker-panel.d.ts.map +0 -1
  489. package/dist/sdk/define-workflow.d.ts +0 -107
  490. package/dist/sdk/define-workflow.d.ts.map +0 -1
  491. package/dist/sdk/errors.d.ts +0 -46
  492. package/dist/sdk/errors.d.ts.map +0 -1
  493. package/dist/sdk/index.d.ts +0 -26
  494. package/dist/sdk/index.d.ts.map +0 -1
  495. package/dist/sdk/primitives/inputs.d.ts +0 -36
  496. package/dist/sdk/primitives/inputs.d.ts.map +0 -1
  497. package/dist/sdk/primitives/metadata.d.ts +0 -40
  498. package/dist/sdk/primitives/metadata.d.ts.map +0 -1
  499. package/dist/sdk/primitives/run.d.ts +0 -57
  500. package/dist/sdk/primitives/run.d.ts.map +0 -1
  501. package/dist/sdk/primitives/sessions.d.ts +0 -128
  502. package/dist/sdk/primitives/sessions.d.ts.map +0 -1
  503. package/dist/sdk/providers/claude.d.ts +0 -392
  504. package/dist/sdk/providers/claude.d.ts.map +0 -1
  505. package/dist/sdk/providers/copilot.d.ts +0 -55
  506. package/dist/sdk/providers/copilot.d.ts.map +0 -1
  507. package/dist/sdk/providers/opencode.d.ts +0 -27
  508. package/dist/sdk/providers/opencode.d.ts.map +0 -1
  509. package/dist/sdk/registry.d.ts +0 -27
  510. package/dist/sdk/registry.d.ts.map +0 -1
  511. package/dist/sdk/runtime/attached-footer.d.ts +0 -31
  512. package/dist/sdk/runtime/attached-footer.d.ts.map +0 -1
  513. package/dist/sdk/runtime/cc-debounce.d.ts +0 -29
  514. package/dist/sdk/runtime/cc-debounce.d.ts.map +0 -1
  515. package/dist/sdk/runtime/executor-env.d.ts +0 -20
  516. package/dist/sdk/runtime/executor-env.d.ts.map +0 -1
  517. package/dist/sdk/runtime/executor.d.ts +0 -265
  518. package/dist/sdk/runtime/executor.d.ts.map +0 -1
  519. package/dist/sdk/runtime/graph-inference.d.ts +0 -35
  520. package/dist/sdk/runtime/graph-inference.d.ts.map +0 -1
  521. package/dist/sdk/runtime/orchestrator-entry.d.ts +0 -26
  522. package/dist/sdk/runtime/orchestrator-entry.d.ts.map +0 -1
  523. package/dist/sdk/runtime/panel.d.ts +0 -9
  524. package/dist/sdk/runtime/panel.d.ts.map +0 -1
  525. package/dist/sdk/runtime/port-discovery.d.ts +0 -71
  526. package/dist/sdk/runtime/port-discovery.d.ts.map +0 -1
  527. package/dist/sdk/runtime/status-writer.d.ts +0 -101
  528. package/dist/sdk/runtime/status-writer.d.ts.map +0 -1
  529. package/dist/sdk/runtime/theme.d.ts +0 -33
  530. package/dist/sdk/runtime/theme.d.ts.map +0 -1
  531. package/dist/sdk/runtime/tmux.d.ts +0 -307
  532. package/dist/sdk/runtime/tmux.d.ts.map +0 -1
  533. package/dist/sdk/runtime/version-compat.d.ts +0 -28
  534. package/dist/sdk/runtime/version-compat.d.ts.map +0 -1
  535. package/dist/sdk/types.d.ts +0 -435
  536. package/dist/sdk/types.d.ts.map +0 -1
  537. package/dist/sdk/worker-shared.d.ts +0 -42
  538. package/dist/sdk/worker-shared.d.ts.map +0 -1
  539. package/dist/sdk/workflows/builtin/deep-research-codebase/claude/index.d.ts +0 -81
  540. package/dist/sdk/workflows/builtin/deep-research-codebase/claude/index.d.ts.map +0 -1
  541. package/dist/sdk/workflows/builtin/deep-research-codebase/copilot/index.d.ts +0 -37
  542. package/dist/sdk/workflows/builtin/deep-research-codebase/copilot/index.d.ts.map +0 -1
  543. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/batching.d.ts +0 -43
  544. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/batching.d.ts.map +0 -1
  545. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/heuristic.d.ts +0 -14
  546. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/heuristic.d.ts.map +0 -1
  547. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/prompts.d.ts +0 -136
  548. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/prompts.d.ts.map +0 -1
  549. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scout.d.ts +0 -58
  550. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scout.d.ts.map +0 -1
  551. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scratch.d.ts +0 -43
  552. package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scratch.d.ts.map +0 -1
  553. package/dist/sdk/workflows/builtin/deep-research-codebase/opencode/index.d.ts +0 -37
  554. package/dist/sdk/workflows/builtin/deep-research-codebase/opencode/index.d.ts.map +0 -1
  555. package/dist/sdk/workflows/builtin/open-claude-design/claude/index.d.ts +0 -68
  556. package/dist/sdk/workflows/builtin/open-claude-design/claude/index.d.ts.map +0 -1
  557. package/dist/sdk/workflows/builtin/open-claude-design/copilot/index.d.ts +0 -56
  558. package/dist/sdk/workflows/builtin/open-claude-design/copilot/index.d.ts.map +0 -1
  559. package/dist/sdk/workflows/builtin/open-claude-design/helpers/constants.d.ts +0 -72
  560. package/dist/sdk/workflows/builtin/open-claude-design/helpers/constants.d.ts.map +0 -1
  561. package/dist/sdk/workflows/builtin/open-claude-design/helpers/design-system.d.ts +0 -46
  562. package/dist/sdk/workflows/builtin/open-claude-design/helpers/design-system.d.ts.map +0 -1
  563. package/dist/sdk/workflows/builtin/open-claude-design/helpers/export.d.ts +0 -32
  564. package/dist/sdk/workflows/builtin/open-claude-design/helpers/export.d.ts.map +0 -1
  565. package/dist/sdk/workflows/builtin/open-claude-design/helpers/import.d.ts +0 -33
  566. package/dist/sdk/workflows/builtin/open-claude-design/helpers/import.d.ts.map +0 -1
  567. package/dist/sdk/workflows/builtin/open-claude-design/helpers/prompts.d.ts +0 -106
  568. package/dist/sdk/workflows/builtin/open-claude-design/helpers/prompts.d.ts.map +0 -1
  569. package/dist/sdk/workflows/builtin/open-claude-design/helpers/scan.d.ts +0 -50
  570. package/dist/sdk/workflows/builtin/open-claude-design/helpers/scan.d.ts.map +0 -1
  571. package/dist/sdk/workflows/builtin/open-claude-design/helpers/validation.d.ts +0 -12
  572. package/dist/sdk/workflows/builtin/open-claude-design/helpers/validation.d.ts.map +0 -1
  573. package/dist/sdk/workflows/builtin/open-claude-design/opencode/index.d.ts +0 -58
  574. package/dist/sdk/workflows/builtin/open-claude-design/opencode/index.d.ts.map +0 -1
  575. package/dist/sdk/workflows/builtin/ralph/claude/index.d.ts +0 -37
  576. package/dist/sdk/workflows/builtin/ralph/claude/index.d.ts.map +0 -1
  577. package/dist/sdk/workflows/builtin/ralph/copilot/index.d.ts +0 -34
  578. package/dist/sdk/workflows/builtin/ralph/copilot/index.d.ts.map +0 -1
  579. package/dist/sdk/workflows/builtin/ralph/helpers/copilot-reviewer.d.ts +0 -25
  580. package/dist/sdk/workflows/builtin/ralph/helpers/copilot-reviewer.d.ts.map +0 -1
  581. package/dist/sdk/workflows/builtin/ralph/helpers/git.d.ts +0 -69
  582. package/dist/sdk/workflows/builtin/ralph/helpers/git.d.ts.map +0 -1
  583. package/dist/sdk/workflows/builtin/ralph/helpers/prompts.d.ts +0 -266
  584. package/dist/sdk/workflows/builtin/ralph/helpers/prompts.d.ts.map +0 -1
  585. package/dist/sdk/workflows/builtin/ralph/helpers/review.d.ts +0 -24
  586. package/dist/sdk/workflows/builtin/ralph/helpers/review.d.ts.map +0 -1
  587. package/dist/sdk/workflows/builtin/ralph/opencode/index.d.ts +0 -33
  588. package/dist/sdk/workflows/builtin/ralph/opencode/index.d.ts.map +0 -1
  589. package/dist/sdk/workflows/index.d.ts +0 -32
  590. package/dist/sdk/workflows/index.d.ts.map +0 -1
  591. package/dist/services/config/additional-instructions.d.ts +0 -67
  592. package/dist/services/config/additional-instructions.d.ts.map +0 -1
  593. package/dist/services/config/atomic-config.d.ts +0 -42
  594. package/dist/services/config/atomic-config.d.ts.map +0 -1
  595. package/dist/services/config/definitions.d.ts +0 -52
  596. package/dist/services/config/definitions.d.ts.map +0 -1
  597. package/dist/services/config/index.d.ts +0 -7
  598. package/dist/services/config/index.d.ts.map +0 -1
  599. package/dist/services/config/scm-sync.d.ts +0 -37
  600. package/dist/services/config/scm-sync.d.ts.map +0 -1
  601. package/dist/services/config/settings-schema.d.ts +0 -2
  602. package/dist/services/config/settings-schema.d.ts.map +0 -1
  603. package/dist/services/system/copy.d.ts +0 -84
  604. package/dist/services/system/copy.d.ts.map +0 -1
  605. package/dist/services/system/detect.d.ts +0 -75
  606. package/dist/services/system/detect.d.ts.map +0 -1
  607. package/dist/theme/colors.d.ts +0 -35
  608. package/dist/theme/colors.d.ts.map +0 -1
  609. package/src/cli.ts +0 -397
  610. package/src/commands/builtin-registry.ts +0 -37
  611. package/src/commands/cli/chat/index.test.ts +0 -252
  612. package/src/commands/cli/chat/index.ts +0 -430
  613. package/src/commands/cli/chat.ts +0 -8
  614. package/src/commands/cli/claude-ask-hook.test.ts +0 -128
  615. package/src/commands/cli/claude-ask-hook.ts +0 -84
  616. package/src/commands/cli/claude-inflight-hook.test.ts +0 -598
  617. package/src/commands/cli/claude-inflight-hook.ts +0 -359
  618. package/src/commands/cli/claude-session-start-hook.ts +0 -61
  619. package/src/commands/cli/claude-stop-hook.test.ts +0 -317
  620. package/src/commands/cli/claude-stop-hook.ts +0 -441
  621. package/src/commands/cli/completions.ts +0 -24
  622. package/src/commands/cli/config.ts +0 -80
  623. package/src/commands/cli/footer.tsx +0 -248
  624. package/src/commands/cli/init/index.ts +0 -41
  625. package/src/commands/cli/init/onboarding.ts +0 -61
  626. package/src/commands/cli/init.ts +0 -8
  627. package/src/commands/cli/management-commands.ts +0 -112
  628. package/src/commands/cli/session.test.ts +0 -830
  629. package/src/commands/cli/session.ts +0 -447
  630. package/src/commands/cli/workflow-command.test.ts +0 -618
  631. package/src/commands/cli/workflow-inputs.test.ts +0 -353
  632. package/src/commands/cli/workflow-inputs.ts +0 -266
  633. package/src/commands/cli/workflow-list.test.ts +0 -235
  634. package/src/commands/cli/workflow-list.ts +0 -0
  635. package/src/commands/cli/workflow-status.test.ts +0 -451
  636. package/src/commands/cli/workflow-status.ts +0 -330
  637. package/src/commands/cli/workflow.ts +0 -196
  638. package/src/completions/bash.ts +0 -102
  639. package/src/completions/fish.ts +0 -136
  640. package/src/completions/index.ts +0 -7
  641. package/src/completions/powershell.ts +0 -195
  642. package/src/completions/zsh.ts +0 -150
  643. package/src/lib/atomic-temp.test.ts +0 -86
  644. package/src/lib/atomic-temp.ts +0 -62
  645. package/src/lib/common-ignore.ts +0 -46
  646. package/src/lib/merge.ts +0 -103
  647. package/src/lib/path-root-guard.ts +0 -38
  648. package/src/lib/spawn.test.ts +0 -109
  649. package/src/lib/spawn.ts +0 -678
  650. package/src/lib/terminal-env.test.ts +0 -343
  651. package/src/lib/terminal-env.ts +0 -100
  652. package/src/scripts/bump-version.ts +0 -94
  653. package/src/scripts/bundle-configs.ts +0 -116
  654. package/src/scripts/clean-dist.test.ts +0 -53
  655. package/src/scripts/clean-dist.ts +0 -37
  656. package/src/scripts/constants-base.ts +0 -14
  657. package/src/scripts/constants.ts +0 -35
  658. package/src/sdk/components/attached-statusline.tsx +0 -86
  659. package/src/sdk/components/color-utils.ts +0 -20
  660. package/src/sdk/components/compact-switcher.tsx +0 -78
  661. package/src/sdk/components/connectors.test.ts +0 -707
  662. package/src/sdk/components/connectors.ts +0 -160
  663. package/src/sdk/components/edge.tsx +0 -13
  664. package/src/sdk/components/error-boundary.tsx +0 -38
  665. package/src/sdk/components/graph-theme.ts +0 -37
  666. package/src/sdk/components/header.tsx +0 -85
  667. package/src/sdk/components/hooks.ts +0 -21
  668. package/src/sdk/components/layout.test.ts +0 -1245
  669. package/src/sdk/components/layout.ts +0 -223
  670. package/src/sdk/components/node-card.tsx +0 -91
  671. package/src/sdk/components/orchestrator-panel-contexts.ts +0 -35
  672. package/src/sdk/components/orchestrator-panel-store.test.ts +0 -847
  673. package/src/sdk/components/orchestrator-panel-store.ts +0 -187
  674. package/src/sdk/components/orchestrator-panel-types.ts +0 -23
  675. package/src/sdk/components/orchestrator-panel.tsx +0 -262
  676. package/src/sdk/components/renderer-background.ts +0 -49
  677. package/src/sdk/components/session-graph-panel.tsx +0 -471
  678. package/src/sdk/components/status-helpers.ts +0 -33
  679. package/src/sdk/components/statusline.tsx +0 -68
  680. package/src/sdk/components/tui-diagnostics.ts +0 -273
  681. package/src/sdk/components/workflow-picker-panel.tsx +0 -1613
  682. package/src/sdk/define-workflow.test.ts +0 -354
  683. package/src/sdk/define-workflow.ts +0 -275
  684. package/src/sdk/errors.test.ts +0 -83
  685. package/src/sdk/errors.ts +0 -77
  686. package/src/sdk/index.test.ts +0 -92
  687. package/src/sdk/index.ts +0 -101
  688. package/src/sdk/primitives/inputs.ts +0 -48
  689. package/src/sdk/primitives/metadata.ts +0 -63
  690. package/src/sdk/primitives/run.ts +0 -81
  691. package/src/sdk/primitives/sessions.test.ts +0 -594
  692. package/src/sdk/primitives/sessions.ts +0 -328
  693. package/src/sdk/providers/claude.ts +0 -1450
  694. package/src/sdk/providers/copilot.test.ts +0 -365
  695. package/src/sdk/providers/copilot.ts +0 -185
  696. package/src/sdk/providers/headless-hil-policy.test.ts +0 -211
  697. package/src/sdk/providers/opencode.ts +0 -88
  698. package/src/sdk/registry.ts +0 -132
  699. package/src/sdk/runtime/attached-footer.ts +0 -155
  700. package/src/sdk/runtime/cc-debounce.ts +0 -104
  701. package/src/sdk/runtime/executor-env.ts +0 -45
  702. package/src/sdk/runtime/executor.test.ts +0 -1321
  703. package/src/sdk/runtime/executor.ts +0 -2136
  704. package/src/sdk/runtime/graph-inference.ts +0 -50
  705. package/src/sdk/runtime/orchestrator-entry.ts +0 -110
  706. package/src/sdk/runtime/panel.tsx +0 -9
  707. package/src/sdk/runtime/port-discovery.test.ts +0 -573
  708. package/src/sdk/runtime/port-discovery.ts +0 -496
  709. package/src/sdk/runtime/status-writer.test.ts +0 -245
  710. package/src/sdk/runtime/status-writer.ts +0 -201
  711. package/src/sdk/runtime/theme.ts +0 -71
  712. package/src/sdk/runtime/tmux.conf +0 -112
  713. package/src/sdk/runtime/tmux.ts +0 -785
  714. package/src/sdk/runtime/version-compat.ts +0 -68
  715. package/src/sdk/types.ts +0 -548
  716. package/src/sdk/worker-shared.test.ts +0 -163
  717. package/src/sdk/worker-shared.ts +0 -155
  718. package/src/sdk/workflows/builtin/deep-research-codebase/claude/index.ts +0 -569
  719. package/src/sdk/workflows/builtin/deep-research-codebase/copilot/index.ts +0 -481
  720. package/src/sdk/workflows/builtin/deep-research-codebase/helpers/batching.ts +0 -65
  721. package/src/sdk/workflows/builtin/deep-research-codebase/helpers/heuristic.ts +0 -24
  722. package/src/sdk/workflows/builtin/deep-research-codebase/helpers/ignore-by-default.d.ts +0 -8
  723. package/src/sdk/workflows/builtin/deep-research-codebase/helpers/prompts.ts +0 -958
  724. package/src/sdk/workflows/builtin/deep-research-codebase/helpers/scout.ts +0 -505
  725. package/src/sdk/workflows/builtin/deep-research-codebase/helpers/scratch.ts +0 -115
  726. package/src/sdk/workflows/builtin/deep-research-codebase/opencode/index.ts +0 -530
  727. package/src/sdk/workflows/builtin/open-claude-design/claude/index.ts +0 -500
  728. package/src/sdk/workflows/builtin/open-claude-design/copilot/index.ts +0 -508
  729. package/src/sdk/workflows/builtin/open-claude-design/helpers/constants.ts +0 -159
  730. package/src/sdk/workflows/builtin/open-claude-design/helpers/design-system.ts +0 -88
  731. package/src/sdk/workflows/builtin/open-claude-design/helpers/export.ts +0 -193
  732. package/src/sdk/workflows/builtin/open-claude-design/helpers/import.ts +0 -52
  733. package/src/sdk/workflows/builtin/open-claude-design/helpers/prompts.ts +0 -1110
  734. package/src/sdk/workflows/builtin/open-claude-design/helpers/scan.ts +0 -117
  735. package/src/sdk/workflows/builtin/open-claude-design/helpers/validation.ts +0 -38
  736. package/src/sdk/workflows/builtin/open-claude-design/opencode/index.ts +0 -610
  737. package/src/sdk/workflows/builtin/ralph/claude/index.ts +0 -272
  738. package/src/sdk/workflows/builtin/ralph/copilot/index.ts +0 -298
  739. package/src/sdk/workflows/builtin/ralph/helpers/copilot-reviewer.ts +0 -105
  740. package/src/sdk/workflows/builtin/ralph/helpers/git.ts +0 -201
  741. package/src/sdk/workflows/builtin/ralph/helpers/prompts.ts +0 -1108
  742. package/src/sdk/workflows/builtin/ralph/helpers/review.ts +0 -33
  743. package/src/sdk/workflows/builtin/ralph/opencode/index.ts +0 -290
  744. package/src/sdk/workflows/index.ts +0 -116
  745. package/src/services/config/additional-instructions.ts +0 -273
  746. package/src/services/config/atomic-config.ts +0 -210
  747. package/src/services/config/atomic-global-config.ts +0 -348
  748. package/src/services/config/config-path.ts +0 -19
  749. package/src/services/config/definitions.ts +0 -125
  750. package/src/services/config/index.ts +0 -7
  751. package/src/services/config/scm-sync.ts +0 -185
  752. package/src/services/config/settings-schema.ts +0 -2
  753. package/src/services/config/settings.ts +0 -144
  754. package/src/services/system/agents.ts +0 -95
  755. package/src/services/system/auth.test.ts +0 -343
  756. package/src/services/system/auth.ts +0 -140
  757. package/src/services/system/auto-sync.ts +0 -128
  758. package/src/services/system/copy.ts +0 -392
  759. package/src/services/system/detect.ts +0 -161
  760. package/src/services/system/file-lock.ts +0 -289
  761. package/src/services/system/install-ui.ts +0 -296
  762. package/src/services/system/skills.ts +0 -58
  763. package/src/theme/colors.ts +0 -96
  764. package/src/theme/logo.ts +0 -123
  765. package/src/version.ts +0 -7
@@ -1,785 +0,0 @@
1
- /**
2
- * tmux session and pane management utilities.
3
- *
4
- * Provides low-level tmux operations for the workflow runtime:
5
- * creating sessions, splitting panes, spawning commands, capturing output,
6
- * sending keystrokes, and pane state detection.
7
- */
8
-
9
- import { join } from "node:path";
10
- import { requiredMuxBinaryCandidatesForPlatform } from "../../lib/spawn.ts";
11
- import { writeFileSync, unlinkSync } from "node:fs";
12
- import type { Subprocess } from "bun";
13
- import { atomicTempPath } from "../../lib/atomic-temp.ts";
14
-
15
- // ---------------------------------------------------------------------------
16
- // Constants
17
- // ---------------------------------------------------------------------------
18
-
19
- /** Dedicated tmux socket name — isolates Atomic sessions from the user's default server. */
20
- export const SOCKET_NAME = "atomic";
21
-
22
- /** Path to the bundled tmux config (shared by tmux and psmux). */
23
- const CONFIG_PATH = join(import.meta.dir, "tmux.conf");
24
-
25
- /** Path to the bundled Ctrl+C debounce script (TypeScript, run via bun
26
- * so the same file handles Linux, macOS, and Windows without shell
27
- * dialect gymnastics). Referenced from tmux.conf. */
28
- const CC_DEBOUNCE_PATH = join(import.meta.dir, "cc-debounce.ts");
29
-
30
- /** Discriminated result from a tmux command execution. */
31
- export type TmuxResult =
32
- | { ok: true; stdout: string }
33
- | { ok: false; stderr: string };
34
-
35
- // ---------------------------------------------------------------------------
36
- // Core tmux primitives
37
- // ---------------------------------------------------------------------------
38
-
39
- // ---------------------------------------------------------------------------
40
- // Core tmux primitives
41
- // ---------------------------------------------------------------------------
42
-
43
- /** Cached resolved multiplexer binary path. Resolved once on first use. */
44
- let resolvedMuxBinary: string | null | undefined; // undefined = not yet resolved
45
-
46
- /**
47
- * Resolve the terminal multiplexer binary for the current platform.
48
- *
49
- * On Windows, tries psmux → pmux. Do not accept arbitrary `tmux.exe` because
50
- * that can be a non-native shim and would prevent the psmux installer from
51
- * running.
52
- * On Unix/macOS, uses tmux directly.
53
- *
54
- * Returns the binary name (not the full path) or null if none is found.
55
- * The result is cached after the first call.
56
- */
57
- export function getMuxBinary(): string | null {
58
- if (resolvedMuxBinary !== undefined) return resolvedMuxBinary;
59
-
60
- // Bun.which() reads PATH from the original process environment at startup
61
- // and ignores runtime mutations to process.env.PATH. Pass PATH explicitly
62
- // so that callers who modify PATH (e.g. tests) get correct results.
63
- const pathOpt = { PATH: process.env.PATH ?? "" };
64
-
65
- for (const candidate of requiredMuxBinaryCandidatesForPlatform()) {
66
- if (Bun.which(candidate, pathOpt)) {
67
- resolvedMuxBinary = candidate;
68
- return resolvedMuxBinary;
69
- }
70
- }
71
-
72
- resolvedMuxBinary = null;
73
- return resolvedMuxBinary;
74
- }
75
-
76
- /**
77
- * Reset the cached multiplexer binary resolution.
78
- * Call after installing tmux/psmux to force re-detection.
79
- */
80
- export function resetMuxBinaryCache(): void {
81
- resolvedMuxBinary = undefined;
82
- }
83
-
84
- /**
85
- * Check if tmux is installed and available.
86
- */
87
- export function isTmuxInstalled(): boolean {
88
- return getMuxBinary() !== null;
89
- }
90
-
91
- /**
92
- * Check if we're currently inside a tmux session.
93
- */
94
- export function isInsideTmux(): boolean {
95
- return process.env.TMUX !== undefined || process.env.PSMUX !== undefined;
96
- }
97
-
98
- /**
99
- * Check if we're inside the atomic tmux socket specifically.
100
- *
101
- * The `TMUX` env var has the format `<socket_path>,<pid>,<index>`.
102
- * On Unix this looks like `/tmp/tmux-1000/atomic,12345,0` when the
103
- * socket name is "atomic".
104
- */
105
- export function isInsideAtomicSocket(): boolean {
106
- const tmuxEnv = process.env.TMUX ?? process.env.PSMUX ?? "";
107
- // Socket path is everything before the first comma.
108
- const socketPath = tmuxEnv.split(",")[0] ?? "";
109
- // The socket name is the last path segment.
110
- const socketName = socketPath.split("/").pop() ?? "";
111
- return socketName === SOCKET_NAME;
112
- }
113
-
114
- /**
115
- * Run a tmux command and return a result object.
116
- * Prefers this over the throwing `tmux()` for cases where callers
117
- * need to handle failure gracefully.
118
- */
119
- export function tmuxRun(args: string[]): TmuxResult {
120
- const binary = getMuxBinary();
121
- if (!binary) {
122
- return { ok: false, stderr: "No terminal multiplexer (tmux/psmux) found on PATH" };
123
- }
124
- const fullArgs = ["-f", CONFIG_PATH, "-L", SOCKET_NAME, ...args];
125
- const result = Bun.spawnSync({
126
- cmd: [binary, ...fullArgs],
127
- stdout: "pipe",
128
- stderr: "pipe",
129
- });
130
- if (!result.success) {
131
- return { ok: false, stderr: result.stderr.toString().trim() };
132
- }
133
- return { ok: true, stdout: result.stdout.toString().trim() };
134
- }
135
-
136
- /**
137
- * Run a tmux command and return stdout. Throws on failure.
138
- */
139
- function tmux(args: string[]): string {
140
- const result = tmuxRun(args);
141
- if (!result.ok) {
142
- throw new Error(`tmux ${args[0]} failed: ${result.stderr}`);
143
- }
144
- return result.stdout;
145
- }
146
-
147
- /**
148
- * Run a tmux command, ignoring output. Throws on failure.
149
- */
150
- function tmuxExec(args: string[]): void {
151
- const result = tmuxRun(args);
152
- if (!result.ok) {
153
- throw new Error(`tmux ${args[0]} failed: ${result.stderr}`);
154
- }
155
- }
156
-
157
- // ---------------------------------------------------------------------------
158
- // Session and pane management
159
- // ---------------------------------------------------------------------------
160
-
161
- /**
162
- * Build `-e KEY=VALUE` argument pairs for tmux environment flags.
163
- * Supported by tmux new-session/new-window since tmux 3.2.
164
- */
165
- function buildEnvArgs(envVars?: Record<string, string>): string[] {
166
- if (!envVars) return [];
167
- const args: string[] = [];
168
- for (const [key, value] of Object.entries(envVars)) {
169
- args.push("-e", `${key}=${value}`);
170
- }
171
- return args;
172
- }
173
-
174
- /**
175
- * Create a new tmux session with the given name.
176
- * The session starts detached with an initial command in the first pane.
177
- *
178
- * @param sessionName - Unique session name
179
- * @param initialCommand - Shell command to run in the initial pane
180
- * @param windowName - Optional name for the initial window
181
- * @param cwd - Optional working directory for the initial pane
182
- * @param envVars - Optional environment variables for the initial pane
183
- * @returns The pane ID of the initial pane (e.g., "%0")
184
- */
185
- export function createSession(
186
- sessionName: string,
187
- initialCommand: string,
188
- windowName?: string,
189
- cwd?: string,
190
- envVars?: Record<string, string>,
191
- ): string {
192
- const args = [
193
- "new-session",
194
- "-d",
195
- "-s", sessionName,
196
- "-P", "-F", "#{pane_id}",
197
- ...buildEnvArgs(envVars),
198
- ];
199
- if (windowName) {
200
- args.push("-n", windowName);
201
- }
202
- if (cwd) {
203
- args.push("-c", cwd);
204
- }
205
- args.push(initialCommand);
206
- const paneId = tmux(args);
207
- // Reload config into the running server so keybindings are always current
208
- // (tmux only loads -f on first server start; source-file updates a running server).
209
- tmuxRun(["source-file", CONFIG_PATH]);
210
- // Expose the bun binary and debounce-script paths as server-wide user
211
- // options so tmux.conf's Ctrl+C binding can invoke them without
212
- // hardcoding an install path or relying on the user's PATH — which
213
- // tmux's run-shell does not always inherit in full, especially on
214
- // Windows psmux. `process.execPath` is the exact bun interpreter
215
- // currently running atomic, guaranteeing it's executable.
216
- tmuxRun(["set-option", "-g", "@atomic-bun", process.execPath]);
217
- tmuxRun(["set-option", "-g", "@atomic-cc-debounce", CC_DEBOUNCE_PATH]);
218
- return paneId || tmux(["list-panes", "-t", sessionName, "-F", "#{pane_id}"]).split("\n")[0]!;
219
- }
220
-
221
- export function buildKillSessionOnPaneExitHooks(
222
- sessionName: string,
223
- paneId: string,
224
- options: { guardPaneExited?: boolean } = {},
225
- ): Array<{ event: string; command: string }> {
226
- const killCommand = `kill-session -t ${sessionName}`;
227
- const paneExitedCommand = options.guardPaneExited === false
228
- ? killCommand
229
- : `if -F '#{==:#{hook_pane},${paneId}}' '${killCommand}'`;
230
- return [
231
- { event: "pane-exited", command: paneExitedCommand },
232
- { event: "after-kill-pane", command: killCommand },
233
- ];
234
- }
235
-
236
- function supportsHookPaneFormat(binary = getMuxBinary()): boolean {
237
- return binary !== "psmux" && binary !== "pmux";
238
- }
239
-
240
- /**
241
- * Install hooks that kill the entire session when the agent pane goes away.
242
- * Used by chat sessions so the session is torn down when the agent CLI exits
243
- * — whether via `/exit`, a deliberate double Ctrl+C, a crash, or a direct
244
- * pane close — without leaving the footer pane keeping the session alive.
245
- *
246
- * tmux fires `pane-exited` when a pane process exits; psmux also supports
247
- * that event, but does not currently populate tmux's `#{hook_pane}` format,
248
- * so the psmux hook is session-scoped. A direct pane close/kill fires
249
- * `after-kill-pane` instead. These session-scoped hooks are safe for chat
250
- * sessions: they only have the agent pane plus its footer, and closing either
251
- * should close the entire chat window.
252
- */
253
- export function killSessionOnPaneExit(sessionName: string, paneId: string): void {
254
- const hooks = buildKillSessionOnPaneExitHooks(sessionName, paneId, {
255
- guardPaneExited: supportsHookPaneFormat(),
256
- });
257
- for (const hook of hooks) {
258
- tmuxRun([
259
- "set-hook",
260
- "-t", sessionName,
261
- hook.event,
262
- hook.command,
263
- ]);
264
- }
265
- }
266
-
267
- /**
268
- * Create a new window in an existing session without switching focus.
269
- *
270
- * @param sessionName - Target session name
271
- * @param windowName - Name for the new window
272
- * @param command - Shell command to run in the new window
273
- * @param cwd - Optional working directory for the new window
274
- * @param envVars - Optional environment variables for the new window
275
- * @returns The pane ID of the new window's pane
276
- */
277
- export function createWindow(
278
- sessionName: string,
279
- windowName: string,
280
- command: string,
281
- cwd?: string,
282
- envVars?: Record<string, string>,
283
- ): string {
284
- const args = [
285
- "new-window",
286
- "-d",
287
- "-t", sessionName,
288
- "-n", windowName,
289
- "-P", "-F", "#{pane_id}",
290
- ...buildEnvArgs(envVars),
291
- ];
292
- if (cwd) {
293
- args.push("-c", cwd);
294
- }
295
- args.push(command);
296
- return tmux(args);
297
- }
298
-
299
- /**
300
- * Create a new pane in an existing session by splitting.
301
- *
302
- * @returns The pane ID of the new pane
303
- */
304
- export function createPane(sessionName: string, command: string): string {
305
- return tmux([
306
- "split-window",
307
- "-t", sessionName,
308
- "-P", "-F", "#{pane_id}",
309
- command,
310
- ]);
311
- }
312
-
313
- /**
314
- * Replace the running command in an existing pane with a new one.
315
- *
316
- * `-k` kills whatever is currently running in the pane (e.g. a still-initializing
317
- * shell) before tmux spawns the new command. Because tmux execs the command
318
- * itself rather than forwarding keystrokes through a shell line editor, there
319
- * is no shell-ready race and no ZLE TCSAFLUSH drop — callers can invoke this
320
- * immediately after pane creation without waiting for a prompt to appear.
321
- */
322
- export function respawnPane(paneId: string, command: string): void {
323
- tmuxExec(["respawn-pane", "-k", "-t", paneId, command]);
324
- }
325
-
326
- // ---------------------------------------------------------------------------
327
- // Keystroke sending
328
- // ---------------------------------------------------------------------------
329
-
330
- /**
331
- * Send literal text to a tmux pane using `-l` flag (no special key interpretation).
332
- * Uses `--` to prevent text starting with `-` from being parsed as flags.
333
- *
334
- * For large text payloads, prefer {@link sendViaPasteBuffer} which bypasses
335
- * tmux's ~16 KB internal message buffer limit.
336
- */
337
- export function sendLiteralText(paneId: string, text: string): void {
338
- // Replace newlines with spaces to avoid premature submission
339
- const normalized = text.replace(/[\r\n]+/g, " ");
340
- tmuxExec(["send-keys", "-t", paneId, "-l", "--", normalized]);
341
- }
342
-
343
- /**
344
- * Send text to a tmux pane via the paste buffer.
345
- *
346
- * More reliable than `send-keys -l` for large text:
347
- * - No OS ARG_MAX / MAX_ARG_STRLEN limits (text goes through a temp file)
348
- * - Atomic delivery — the entire text is pasted at once
349
- * - No chunking needed
350
- *
351
- * Newlines are normalized to spaces to prevent premature submission,
352
- * matching `sendLiteralText`'s behavior.
353
- */
354
- export function sendViaPasteBuffer(paneId: string, text: string): void {
355
- const normalized = text.replace(/[\r\n]+/g, " ");
356
- const tmp = atomicTempPath(
357
- "atomic-paste",
358
- ".txt",
359
- `${process.pid}-${Date.now()}`,
360
- );
361
-
362
- writeFileSync(tmp, normalized, "utf-8");
363
- try {
364
- tmuxExec(["load-buffer", tmp]);
365
- tmuxExec(["paste-buffer", "-t", paneId, "-d"]);
366
- } finally {
367
- try {
368
- unlinkSync(tmp);
369
- } catch {
370
- // Temp file cleanup is best-effort
371
- }
372
- }
373
- }
374
-
375
- /**
376
- * Send a special key (C-m, C-c, C-u, Tab, etc.) to a tmux pane.
377
- */
378
- export function sendSpecialKey(paneId: string, key: string): void {
379
- tmuxExec(["send-keys", "-t", paneId, key]);
380
- }
381
-
382
- // ---------------------------------------------------------------------------
383
- // Pane capture
384
- // ---------------------------------------------------------------------------
385
-
386
- /**
387
- * Capture the visible content of a tmux pane.
388
- *
389
- * @param paneId - The pane ID (e.g., "%0")
390
- * @param start - Start line (negative = from bottom, default: capture visible only)
391
- */
392
- export function capturePane(paneId: string, start?: number): string {
393
- const args = ["capture-pane", "-t", paneId, "-p"];
394
- if (start !== undefined) {
395
- args.push("-S", String(start));
396
- }
397
- return tmux(args);
398
- }
399
-
400
- /** Internal capture helper — returns empty string on failure. */
401
- function capturePaneRaw(paneId: string, scrollbackLines?: number): string {
402
- const args = ["capture-pane", "-t", paneId, "-p"];
403
- if (scrollbackLines !== undefined) {
404
- args.push("-S", `-${scrollbackLines}`);
405
- }
406
- const result = tmuxRun(args);
407
- return result.ok ? result.stdout : "";
408
- }
409
-
410
- /**
411
- * Capture only the visible portion of a pane (no scrollback).
412
- * Preferred for state detection (ready/busy) to avoid stale prompt lines
413
- * or old activity indicators in scrollback triggering false positives.
414
- * Returns empty string on failure instead of throwing.
415
- */
416
- export function capturePaneVisible(paneId: string): string {
417
- return capturePaneRaw(paneId);
418
- }
419
-
420
- /**
421
- * Capture last N lines of scrollback from a pane.
422
- * Preferred for output collection where you need recent history.
423
- * Returns empty string on failure instead of throwing.
424
- */
425
- export function capturePaneScrollback(paneId: string, lines = 200): string {
426
- return capturePaneRaw(paneId, lines);
427
- }
428
-
429
- // ---------------------------------------------------------------------------
430
- // Session lifecycle
431
- // ---------------------------------------------------------------------------
432
-
433
- /**
434
- * Kill a tmux session.
435
- */
436
- export function killSession(sessionName: string): void {
437
- try {
438
- tmuxExec(["kill-session", "-t", sessionName]);
439
- } catch {
440
- // Session may already be dead
441
- }
442
- }
443
-
444
- /** Kill a specific tmux window within a session. Silences errors if already dead. */
445
- export function killWindow(sessionName: string, windowName: string): void {
446
- try {
447
- tmuxExec(["kill-window", "-t", `${sessionName}:${windowName}`]);
448
- } catch {
449
- // Window may already be dead
450
- }
451
- }
452
-
453
- /**
454
- * Check if a tmux session exists.
455
- */
456
- export function sessionExists(sessionName: string): boolean {
457
- const result = tmuxRun(["has-session", "-t", sessionName]);
458
- return result.ok;
459
- }
460
-
461
- /**
462
- * Set a session-level environment variable.
463
- * Uses `tmux set-environment -t <session>` so the value is scoped to
464
- * the individual session, not the global server environment.
465
- */
466
- export function setSessionEnv(sessionName: string, key: string, value: string): void {
467
- tmuxRun(["set-environment", "-t", sessionName, key, value]);
468
- }
469
-
470
- export function parseSessionEnvValue(stdout: string, key: string): string | null {
471
- const prefix = `${key}=`;
472
- const line = stdout
473
- .split(/\r?\n/)
474
- .find((entry) => entry.startsWith(prefix));
475
- return line ? line.slice(prefix.length) : null;
476
- }
477
-
478
- /**
479
- * Get the PID of the foreground process in a tmux pane.
480
- * Returns null if the pane no longer exists or the query fails.
481
- *
482
- * Note: this is the pane's "current" process — typically the agent
483
- * itself when the pane was created with the agent as the initial command.
484
- * If tmux exec'd a wrapper shell that then exec'd the agent, the PID
485
- * will refer to the same process (exec replaces in-place).
486
- */
487
- export function getPanePid(paneId: string): number | null {
488
- const result = tmuxRun(["display-message", "-t", paneId, "-p", "#{pane_pid}"]);
489
- if (!result.ok) return null;
490
- const pid = Number(result.stdout.trim());
491
- return Number.isFinite(pid) && pid > 0 ? pid : null;
492
- }
493
-
494
- /**
495
- * Read a session-level environment variable.
496
- * Returns `null` when the session doesn't exist or the variable isn't set.
497
- */
498
- export function getSessionEnv(sessionName: string, key: string): string | null {
499
- const result = tmuxRun(["show-environment", "-t", sessionName, key]);
500
- if (!result.ok) return null;
501
- // tmux returns "KEY=VALUE" for a requested key. psmux can append its own
502
- // PSMUX_* metadata or return all environment lines, so only accept an exact
503
- // key match and ignore every unrelated line.
504
- return parseSessionEnvValue(result.stdout, key);
505
- }
506
-
507
- /** Session type derived from the session name prefix. */
508
- export type SessionType = "chat" | "workflow";
509
-
510
- /**
511
- * Parse a session name into its type and agent.
512
- *
513
- * Naming conventions:
514
- * Chat: atomic-chat-<agent>-<id>
515
- * Workflow: atomic-wf-<agent>-<name>-<id>
516
- *
517
- * Agent names are a known, hyphen-free set (claude, copilot, opencode)
518
- * so parsing is unambiguous even when the workflow name contains hyphens.
519
- */
520
- export function parseSessionName(name: string): { type?: SessionType; agent?: string } {
521
- const KNOWN_AGENTS = new Set(["claude", "copilot", "opencode"]);
522
-
523
- if (name.startsWith("atomic-chat-")) {
524
- // atomic-chat-<agent>-<id>
525
- const rest = name.slice("atomic-chat-".length);
526
- const dash = rest.indexOf("-");
527
- const candidate = dash >= 0 ? rest.slice(0, dash) : rest;
528
- if (KNOWN_AGENTS.has(candidate)) {
529
- return { type: "chat", agent: candidate };
530
- }
531
- return { type: "chat" };
532
- }
533
-
534
- if (name.startsWith("atomic-wf-")) {
535
- // atomic-wf-<agent>-<name>-<id>
536
- const rest = name.slice("atomic-wf-".length);
537
- const dash = rest.indexOf("-");
538
- const candidate = dash >= 0 ? rest.slice(0, dash) : rest;
539
- if (KNOWN_AGENTS.has(candidate)) {
540
- return { type: "workflow", agent: candidate };
541
- }
542
- return { type: "workflow" };
543
- }
544
-
545
- return {};
546
- }
547
-
548
- /** A single tmux session on the atomic socket. */
549
- export interface TmuxSession {
550
- /** Session name (e.g. "atomic-chat-claude-a1b2c3d4") */
551
- name: string;
552
- /** Number of windows in the session */
553
- windows: number;
554
- /** ISO 8601 creation timestamp */
555
- created: string;
556
- /** Whether a client is currently attached */
557
- attached: boolean;
558
- /** Session type derived from the name prefix */
559
- type?: SessionType;
560
- /** Agent backend that owns this session (e.g. "claude", "copilot", "opencode") */
561
- agent?: string;
562
- }
563
-
564
- const SESSION_LIST_DELIMITER = "__ATOMIC_SESSION_FIELD__";
565
-
566
- function isAtomicManagedSessionName(name: string): boolean {
567
- return name.startsWith("atomic-");
568
- }
569
-
570
- export function parseListSessionsOutput(
571
- stdout: string,
572
- getEnv: (sessionName: string, key: string) => string | null = getSessionEnv,
573
- ): TmuxSession[] {
574
- return stdout
575
- .split("\n")
576
- .filter((line) => line.trim() !== "")
577
- .filter((line) => line.includes(SESSION_LIST_DELIMITER))
578
- .flatMap((line) => {
579
- const [name, windowsStr, createdStr, attachedStr] = line.split(SESSION_LIST_DELIMITER);
580
- if (!name || !windowsStr || !createdStr || attachedStr === undefined) return [];
581
- if (!isAtomicManagedSessionName(name)) return [];
582
-
583
- const epochSec = Number(createdStr);
584
- const parsed = parseSessionName(name);
585
- return [{
586
- name,
587
- windows: Number(windowsStr) || 1,
588
- created: Number.isFinite(epochSec) && epochSec > 0
589
- ? new Date(epochSec * 1000).toISOString()
590
- : createdStr,
591
- attached: attachedStr === "1",
592
- type: parsed.type,
593
- agent: parsed.agent ?? getEnv(name, "ATOMIC_AGENT") ?? undefined,
594
- }];
595
- });
596
- }
597
-
598
- /**
599
- * List all sessions on the atomic tmux socket.
600
- *
601
- * Uses a custom format string so output is machine-parseable regardless of
602
- * locale. Returns an empty array when the server isn't running or has no
603
- * sessions (tmux exits non-zero in both cases).
604
- */
605
- export function listSessions(): TmuxSession[] {
606
- const fmt = [
607
- "#{session_name}",
608
- "#{session_windows}",
609
- "#{session_created}",
610
- "#{session_attached}",
611
- ].join(SESSION_LIST_DELIMITER);
612
- const result = tmuxRun(["list-sessions", "-F", fmt]);
613
- if (!result.ok) return [];
614
-
615
- return parseListSessionsOutput(result.stdout);
616
- }
617
-
618
- /** Build the full argument list for an attach-session command. */
619
- function buildAttachArgs(sessionName: string): string[] {
620
- const binary = getMuxBinary();
621
- if (!binary) {
622
- throw new Error("No terminal multiplexer (tmux/psmux) found on PATH");
623
- }
624
- return [binary, "-f", CONFIG_PATH, "-L", SOCKET_NAME, "attach-session", "-t", sessionName];
625
- }
626
-
627
- /**
628
- * Attach to an existing tmux session (takes over the current terminal).
629
- */
630
- export function attachSession(sessionName: string): void {
631
- const cmd = buildAttachArgs(sessionName);
632
- const proc = Bun.spawnSync({
633
- cmd,
634
- stdin: "inherit",
635
- stdout: "inherit",
636
- stderr: "pipe",
637
- });
638
- if (!proc.success) {
639
- const stderr = proc.stderr.toString().trim();
640
- throw new Error(`Failed to attach to session: ${sessionName}${stderr ? ` (${stderr})` : ""}`);
641
- }
642
- }
643
-
644
- /**
645
- * Spawn an interactive attach-session process.
646
- * Encapsulates binary resolution, config injection, and socket isolation.
647
- * Used by all async attach call sites (executor, chat).
648
- */
649
- export function spawnMuxAttach(sessionName: string): Subprocess {
650
- return Bun.spawn(buildAttachArgs(sessionName), {
651
- stdio: ["inherit", "inherit", "inherit"],
652
- });
653
- }
654
-
655
- /**
656
- * Switch the current tmux client to a different session.
657
- * Use this instead of `attachSession` when already inside tmux to avoid
658
- * creating a nested tmux client.
659
- */
660
- export function switchClient(sessionName: string): void {
661
- tmuxExec(["switch-client", "-t", sessionName]);
662
- }
663
-
664
- /**
665
- * Get the name of the current tmux session (when running inside tmux).
666
- * Returns null if not inside tmux or if the query fails.
667
- */
668
- export function getCurrentSession(): string | null {
669
- if (!isInsideTmux()) return null;
670
- // Only query the atomic server if we're actually inside the atomic socket.
671
- // Otherwise, display-message picks an arbitrary session on the atomic
672
- // server that has nothing to do with our terminal.
673
- if (!isInsideAtomicSocket()) return null;
674
- const result = tmuxRun(["display-message", "-p", "#{session_name}"]);
675
- if (!result.ok) return null;
676
- return result.stdout || null;
677
- }
678
-
679
- /**
680
- * Attach or switch to a tmux session depending on whether we're already
681
- * inside tmux. Avoids nested tmux clients.
682
- *
683
- * - Outside tmux: spawns `attach-session` (blocks until session ends).
684
- * - Inside tmux: runs `switch-client` (returns immediately).
685
- */
686
- export function attachOrSwitch(sessionName: string): void {
687
- if (isInsideTmux()) {
688
- switchClient(sessionName);
689
- } else {
690
- attachSession(sessionName);
691
- }
692
- }
693
-
694
- /**
695
- * Detach every client currently attached to the given atomic-managed
696
- * tmux session. The session itself stays alive — only the clients are
697
- * disconnected. Mirrors {@link attachSession}: attach connects a client,
698
- * detachClients disconnects them.
699
- *
700
- * Best-effort: returns silently when the session has no attached clients
701
- * or has already been torn down.
702
- */
703
- export function detachClients(sessionName: string): void {
704
- try {
705
- tmuxExec(["detach-client", "-s", sessionName]);
706
- } catch {
707
- // No clients attached or session already gone — nothing to do.
708
- }
709
- }
710
-
711
- /**
712
- * Detach from the user's current tmux session and replace the client
713
- * with an attach to a session on the atomic socket.
714
- *
715
- * Uses `detach-client -E` so the user's terminal seamlessly transitions
716
- * from their tmux session to the atomic session — no nesting.
717
- * Their original tmux session stays alive; they can re-attach with
718
- * `tmux attach` after leaving the atomic session.
719
- *
720
- * Only call when {@link isInsideTmux} returns `true`.
721
- */
722
- export function detachAndAttachAtomic(sessionName: string): void {
723
- const binary = getMuxBinary();
724
- if (!binary) {
725
- throw new Error("No terminal multiplexer (tmux/psmux) found on PATH");
726
- }
727
- // Build the shell command that will run on the freed terminal.
728
- const attachArgs = buildAttachArgs(sessionName);
729
- const attachCmd = attachArgs
730
- .map((a) => `"${a.replace(/[\\"$`!]/g, "\\$&")}"`)
731
- .join(" ");
732
-
733
- // Target the user's current tmux server (no -L flag) and replace
734
- // the client process with an attach to the atomic socket.
735
- Bun.spawnSync({
736
- cmd: [binary, "detach-client", "-E", attachCmd],
737
- stdio: ["inherit", "inherit", "inherit"],
738
- });
739
- }
740
-
741
- /**
742
- * Select (switch to) a window within the current tmux session.
743
- */
744
- export function selectWindow(target: string): void {
745
- tmuxExec(["select-window", "-t", target]);
746
- }
747
-
748
- /**
749
- * Move the target session's current-window pointer forward by one.
750
- * Equivalent to the `Ctrl+\` binding inside an attached client, but
751
- * usable without a client and addressable by session name.
752
- */
753
- export function nextWindow(sessionName: string): void {
754
- tmuxExec(["next-window", "-t", sessionName]);
755
- }
756
-
757
- /**
758
- * Move the target session's current-window pointer backward by one.
759
- */
760
- export function previousWindow(sessionName: string): void {
761
- tmuxExec(["previous-window", "-t", sessionName]);
762
- }
763
-
764
- // ---------------------------------------------------------------------------
765
- // Normalization (ported from oh-my-codex's normalizeTmuxCapture)
766
- // ---------------------------------------------------------------------------
767
-
768
- /**
769
- * Collapse all whitespace to single spaces for robust capture comparison.
770
- * Prevents false negatives from tmux inserting/stripping whitespace.
771
- */
772
- export function normalizeTmuxCapture(text: string): string {
773
- return text.replace(/\r/g, "").replace(/\s+/g, " ").trim();
774
- }
775
-
776
- /**
777
- * Normalize captured text preserving line structure (for display output).
778
- */
779
- export function normalizeTmuxLines(text: string): string {
780
- return text
781
- .split("\n")
782
- .map((l) => l.trimEnd())
783
- .join("\n")
784
- .trim();
785
- }