anymous 1.3.0 → 1.3.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 (924) hide show
  1. package/bin/anymous.js +31 -0
  2. package/package.json +20 -135
  3. package/bin/anymous.cjs +0 -45
  4. package/skills/algorithmic-art/LICENSE.txt +0 -202
  5. package/skills/algorithmic-art/SKILL.md +0 -405
  6. package/skills/algorithmic-art/templates/generator_template.js +0 -223
  7. package/skills/algorithmic-art/templates/viewer.html +0 -599
  8. package/skills/artifacts-builder/LICENSE.txt +0 -202
  9. package/skills/artifacts-builder/SKILL.md +0 -74
  10. package/skills/artifacts-builder/scripts/bundle-artifact.sh +0 -54
  11. package/skills/artifacts-builder/scripts/init-artifact.sh +0 -322
  12. package/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  13. package/skills/brainstorming/SKILL.md +0 -151
  14. package/skills/brainstorming/scripts/frame-template.html +0 -213
  15. package/skills/brainstorming/scripts/helper.js +0 -167
  16. package/skills/brainstorming/scripts/server.cjs +0 -723
  17. package/skills/brainstorming/scripts/start-server.sh +0 -209
  18. package/skills/brainstorming/scripts/stop-server.sh +0 -120
  19. package/skills/brainstorming/spec-document-reviewer-prompt.md +0 -49
  20. package/skills/brainstorming/visual-companion.md +0 -298
  21. package/skills/brand-guidelines/LICENSE.txt +0 -202
  22. package/skills/brand-guidelines/SKILL.md +0 -73
  23. package/skills/canvas-design/LICENSE.txt +0 -202
  24. package/skills/canvas-design/SKILL.md +0 -130
  25. package/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  26. package/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  27. package/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  28. package/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  29. package/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  30. package/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  31. package/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  32. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  33. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  34. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  35. package/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  36. package/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  37. package/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  38. package/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  39. package/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  40. package/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  41. package/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  42. package/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  43. package/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  44. package/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  45. package/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  46. package/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  47. package/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  48. package/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  49. package/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  50. package/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  51. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  52. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  53. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  54. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  55. package/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  56. package/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  57. package/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  58. package/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  59. package/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  60. package/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  61. package/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  62. package/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  63. package/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  64. package/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  65. package/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  66. package/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  67. package/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  68. package/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  69. package/skills/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  70. package/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  71. package/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  72. package/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  73. package/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  74. package/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  75. package/skills/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  76. package/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  77. package/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  78. package/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  79. package/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  80. package/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  81. package/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  82. package/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  83. package/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  84. package/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  85. package/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  86. package/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  87. package/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  88. package/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  89. package/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  90. package/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  91. package/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  92. package/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  93. package/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  94. package/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  95. package/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  96. package/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  97. package/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  98. package/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  99. package/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  100. package/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  101. package/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  102. package/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  103. package/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  104. package/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  105. package/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  106. package/skills/changelog-generator/SKILL.md +0 -110
  107. package/skills/claude-api/LICENSE.txt +0 -202
  108. package/skills/claude-api/SKILL.md +0 -546
  109. package/skills/claude-api/csharp/claude-api/README.md +0 -362
  110. package/skills/claude-api/csharp/claude-api/batches.md +0 -14
  111. package/skills/claude-api/csharp/claude-api/files-api.md +0 -23
  112. package/skills/claude-api/csharp/claude-api/streaming.md +0 -28
  113. package/skills/claude-api/csharp/claude-api/tool-use.md +0 -164
  114. package/skills/claude-api/curl/examples.md +0 -256
  115. package/skills/claude-api/curl/managed-agents.md +0 -340
  116. package/skills/claude-api/go/claude-api/README.md +0 -188
  117. package/skills/claude-api/go/claude-api/files-api.md +0 -21
  118. package/skills/claude-api/go/claude-api/streaming.md +0 -43
  119. package/skills/claude-api/go/claude-api/tool-use.md +0 -220
  120. package/skills/claude-api/go/managed-agents/README.md +0 -564
  121. package/skills/claude-api/java/claude-api/README.md +0 -238
  122. package/skills/claude-api/java/claude-api/files-api.md +0 -25
  123. package/skills/claude-api/java/claude-api/streaming.md +0 -24
  124. package/skills/claude-api/java/claude-api/tool-use.md +0 -228
  125. package/skills/claude-api/java/managed-agents/README.md +0 -443
  126. package/skills/claude-api/php/claude-api/README.md +0 -174
  127. package/skills/claude-api/php/claude-api/batches.md +0 -15
  128. package/skills/claude-api/php/claude-api/files-api.md +0 -11
  129. package/skills/claude-api/php/claude-api/streaming.md +0 -27
  130. package/skills/claude-api/php/claude-api/tool-use.md +0 -253
  131. package/skills/claude-api/php/managed-agents/README.md +0 -443
  132. package/skills/claude-api/python/claude-api/README.md +0 -565
  133. package/skills/claude-api/python/claude-api/batches.md +0 -198
  134. package/skills/claude-api/python/claude-api/files-api.md +0 -170
  135. package/skills/claude-api/python/claude-api/streaming.md +0 -179
  136. package/skills/claude-api/python/claude-api/tool-use.md +0 -629
  137. package/skills/claude-api/python/managed-agents/README.md +0 -335
  138. package/skills/claude-api/ruby/claude-api/README.md +0 -134
  139. package/skills/claude-api/ruby/claude-api/streaming.md +0 -16
  140. package/skills/claude-api/ruby/claude-api/tool-use.md +0 -41
  141. package/skills/claude-api/ruby/managed-agents/README.md +0 -394
  142. package/skills/claude-api/shared/agent-design.md +0 -101
  143. package/skills/claude-api/shared/anthropic-cli.md +0 -246
  144. package/skills/claude-api/shared/claude-platform-on-aws.md +0 -59
  145. package/skills/claude-api/shared/error-codes.md +0 -257
  146. package/skills/claude-api/shared/live-sources.md +0 -143
  147. package/skills/claude-api/shared/managed-agents-api-reference.md +0 -448
  148. package/skills/claude-api/shared/managed-agents-client-patterns.md +0 -217
  149. package/skills/claude-api/shared/managed-agents-core.md +0 -319
  150. package/skills/claude-api/shared/managed-agents-environments.md +0 -219
  151. package/skills/claude-api/shared/managed-agents-events.md +0 -270
  152. package/skills/claude-api/shared/managed-agents-memory.md +0 -199
  153. package/skills/claude-api/shared/managed-agents-multiagent.md +0 -125
  154. package/skills/claude-api/shared/managed-agents-onboarding.md +0 -82
  155. package/skills/claude-api/shared/managed-agents-outcomes.md +0 -108
  156. package/skills/claude-api/shared/managed-agents-overview.md +0 -71
  157. package/skills/claude-api/shared/managed-agents-scheduled-deployments.md +0 -146
  158. package/skills/claude-api/shared/managed-agents-self-hosted-sandboxes.md +0 -174
  159. package/skills/claude-api/shared/managed-agents-tools.md +0 -371
  160. package/skills/claude-api/shared/managed-agents-webhooks.md +0 -143
  161. package/skills/claude-api/shared/model-migration.md +0 -1548
  162. package/skills/claude-api/shared/models.md +0 -138
  163. package/skills/claude-api/shared/platform-availability.md +0 -97
  164. package/skills/claude-api/shared/prompt-caching.md +0 -235
  165. package/skills/claude-api/shared/token-counting.md +0 -56
  166. package/skills/claude-api/shared/tool-use-concepts.md +0 -514
  167. package/skills/claude-api/typescript/claude-api/README.md +0 -405
  168. package/skills/claude-api/typescript/claude-api/batches.md +0 -106
  169. package/skills/claude-api/typescript/claude-api/files-api.md +0 -98
  170. package/skills/claude-api/typescript/claude-api/streaming.md +0 -178
  171. package/skills/claude-api/typescript/claude-api/tool-use.md +0 -589
  172. package/skills/claude-api/typescript/managed-agents/README.md +0 -358
  173. package/skills/code-security-auditor/SKILL.md +0 -164
  174. package/skills/code-security-auditor/references/package_checks.md +0 -59
  175. package/skills/competitive-ads-extractor/SKILL.md +0 -298
  176. package/skills/content-research-writer/SKILL.md +0 -538
  177. package/skills/developer-growth-analysis/SKILL.md +0 -322
  178. package/skills/dispatching-parallel-agents/SKILL.md +0 -167
  179. package/skills/doc-coauthoring/SKILL.md +0 -375
  180. package/skills/docx/LICENSE.txt +0 -30
  181. package/skills/docx/SKILL.md +0 -91
  182. package/skills/docx/scripts/__init__.py +0 -1
  183. package/skills/docx/scripts/accept_changes.py +0 -135
  184. package/skills/docx/scripts/comment.py +0 -368
  185. package/skills/docx/scripts/merge_runs.py +0 -310
  186. package/skills/docx/scripts/office/helpers/__init__.py +0 -111
  187. package/skills/docx/scripts/office/helpers/pptx_chart.py +0 -170
  188. package/skills/docx/scripts/office/helpers/pptx_slide.py +0 -60
  189. package/skills/docx/scripts/office/helpers/pptx_theme.py +0 -114
  190. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  191. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  192. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  193. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  194. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  195. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  196. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  197. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  198. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  199. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  200. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  201. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  202. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  203. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  204. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  205. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  206. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  207. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  208. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  209. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  210. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  211. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  212. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  213. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  214. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  215. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  216. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  217. package/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  218. package/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  219. package/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  220. package/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  221. package/skills/docx/scripts/office/schemas/mce/mc.xsd +0 -75
  222. package/skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
  223. package/skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
  224. package/skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
  225. package/skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
  226. package/skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
  227. package/skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  228. package/skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
  229. package/skills/docx/scripts/office/soffice.py +0 -192
  230. package/skills/docx/scripts/office/validate.py +0 -173
  231. package/skills/docx/scripts/office/validators/__init__.py +0 -15
  232. package/skills/docx/scripts/office/validators/base.py +0 -875
  233. package/skills/docx/scripts/office/validators/docx.py +0 -466
  234. package/skills/docx/scripts/office/validators/pptx.py +0 -441
  235. package/skills/docx/scripts/office/validators/redlining.py +0 -299
  236. package/skills/docx/scripts/templates/comments.xml +0 -3
  237. package/skills/docx/scripts/templates/commentsExtended.xml +0 -3
  238. package/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
  239. package/skills/docx/scripts/templates/commentsIds.xml +0 -3
  240. package/skills/docx/scripts/templates/people.xml +0 -3
  241. package/skills/domain-name-brainstormer/SKILL.md +0 -217
  242. package/skills/executing-plans/SKILL.md +0 -64
  243. package/skills/file-organizer/SKILL.md +0 -433
  244. package/skills/finishing-a-development-branch/SKILL.md +0 -201
  245. package/skills/frontend-design/LICENSE.txt +0 -177
  246. package/skills/frontend-design/SKILL.md +0 -55
  247. package/skills/image-enhancer/SKILL.md +0 -106
  248. package/skills/internal-comms/LICENSE.txt +0 -202
  249. package/skills/internal-comms/SKILL.md +0 -32
  250. package/skills/internal-comms/examples/3p-updates.md +0 -47
  251. package/skills/internal-comms/examples/company-newsletter.md +0 -65
  252. package/skills/internal-comms/examples/faq-answers.md +0 -30
  253. package/skills/internal-comms/examples/general-comms.md +0 -16
  254. package/skills/invoice-organizer/SKILL.md +0 -452
  255. package/skills/lead-research-assistant/SKILL.md +0 -205
  256. package/skills/mcp-builder/LICENSE.txt +0 -202
  257. package/skills/mcp-builder/SKILL.md +0 -236
  258. package/skills/mcp-builder/reference/evaluation.md +0 -602
  259. package/skills/mcp-builder/reference/mcp_best_practices.md +0 -249
  260. package/skills/mcp-builder/reference/node_mcp_server.md +0 -970
  261. package/skills/mcp-builder/reference/python_mcp_server.md +0 -719
  262. package/skills/mcp-builder/scripts/connections.py +0 -151
  263. package/skills/mcp-builder/scripts/evaluation.py +0 -373
  264. package/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
  265. package/skills/mcp-builder/scripts/requirements.txt +0 -2
  266. package/skills/meeting-insights-analyzer/SKILL.md +0 -327
  267. package/skills/pdf/LICENSE.txt +0 -30
  268. package/skills/pdf/SKILL.md +0 -314
  269. package/skills/pdf/forms.md +0 -294
  270. package/skills/pdf/reference.md +0 -612
  271. package/skills/pdf/scripts/check_bounding_boxes.py +0 -65
  272. package/skills/pdf/scripts/check_fillable_fields.py +0 -11
  273. package/skills/pdf/scripts/convert_pdf_to_images.py +0 -33
  274. package/skills/pdf/scripts/create_validation_image.py +0 -37
  275. package/skills/pdf/scripts/extract_form_field_info.py +0 -122
  276. package/skills/pdf/scripts/extract_form_structure.py +0 -115
  277. package/skills/pdf/scripts/fill_fillable_fields.py +0 -98
  278. package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -107
  279. package/skills/pptx/LICENSE.txt +0 -30
  280. package/skills/pptx/SKILL.md +0 -238
  281. package/skills/pptx/scripts/__init__.py +0 -0
  282. package/skills/pptx/scripts/add_slide.py +0 -367
  283. package/skills/pptx/scripts/clean.py +0 -309
  284. package/skills/pptx/scripts/office/helpers/__init__.py +0 -111
  285. package/skills/pptx/scripts/office/helpers/pptx_chart.py +0 -170
  286. package/skills/pptx/scripts/office/helpers/pptx_slide.py +0 -60
  287. package/skills/pptx/scripts/office/helpers/pptx_theme.py +0 -114
  288. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  289. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  290. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  291. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  292. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  293. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  294. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  295. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  296. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  297. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  298. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  299. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  300. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  301. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  302. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  303. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  304. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  305. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  306. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  307. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  308. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  309. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  310. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  311. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  312. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  313. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  314. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  315. package/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  316. package/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  317. package/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  318. package/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  319. package/skills/pptx/scripts/office/schemas/mce/mc.xsd +0 -75
  320. package/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
  321. package/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
  322. package/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
  323. package/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
  324. package/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
  325. package/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  326. package/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
  327. package/skills/pptx/scripts/office/soffice.py +0 -192
  328. package/skills/pptx/scripts/office/validate.py +0 -173
  329. package/skills/pptx/scripts/office/validators/__init__.py +0 -15
  330. package/skills/pptx/scripts/office/validators/base.py +0 -875
  331. package/skills/pptx/scripts/office/validators/docx.py +0 -466
  332. package/skills/pptx/scripts/office/validators/pptx.py +0 -441
  333. package/skills/pptx/scripts/office/validators/redlining.py +0 -299
  334. package/skills/pptx/scripts/thumbnail.py +0 -311
  335. package/skills/raffle-winner-picker/SKILL.md +0 -165
  336. package/skills/receiving-code-review/SKILL.md +0 -205
  337. package/skills/requesting-code-review/SKILL.md +0 -95
  338. package/skills/requesting-code-review/code-reviewer.md +0 -172
  339. package/skills/skill-creator/LICENSE.txt +0 -202
  340. package/skills/skill-creator/SKILL.md +0 -485
  341. package/skills/skill-creator/agents/analyzer.md +0 -274
  342. package/skills/skill-creator/agents/comparator.md +0 -202
  343. package/skills/skill-creator/agents/grader.md +0 -223
  344. package/skills/skill-creator/assets/eval_review.html +0 -146
  345. package/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  346. package/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  347. package/skills/skill-creator/references/schemas.md +0 -430
  348. package/skills/skill-creator/scripts/__init__.py +0 -0
  349. package/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  350. package/skills/skill-creator/scripts/generate_report.py +0 -326
  351. package/skills/skill-creator/scripts/improve_description.py +0 -247
  352. package/skills/skill-creator/scripts/package_skill.py +0 -136
  353. package/skills/skill-creator/scripts/quick_validate.py +0 -103
  354. package/skills/skill-creator/scripts/run_eval.py +0 -310
  355. package/skills/skill-creator/scripts/run_loop.py +0 -328
  356. package/skills/skill-creator/scripts/utils.py +0 -47
  357. package/skills/skill-share/SKILL.md +0 -80
  358. package/skills/slack-gif-creator/LICENSE.txt +0 -202
  359. package/skills/slack-gif-creator/SKILL.md +0 -254
  360. package/skills/slack-gif-creator/core/easing.py +0 -234
  361. package/skills/slack-gif-creator/core/frame_composer.py +0 -176
  362. package/skills/slack-gif-creator/core/gif_builder.py +0 -269
  363. package/skills/slack-gif-creator/core/validators.py +0 -136
  364. package/skills/slack-gif-creator/requirements.txt +0 -4
  365. package/skills/staff-engineer-review/SKILL.md +0 -172
  366. package/skills/subagent-driven-development/SKILL.md +0 -503
  367. package/skills/subagent-driven-development/implementer-prompt.md +0 -142
  368. package/skills/subagent-driven-development/re-review-prompt.md +0 -106
  369. package/skills/subagent-driven-development/scripts/review-package +0 -46
  370. package/skills/subagent-driven-development/scripts/sdd-workspace +0 -40
  371. package/skills/subagent-driven-development/scripts/task-brief +0 -41
  372. package/skills/subagent-driven-development/task-reviewer-prompt.md +0 -185
  373. package/skills/systematic-debugging/CREATION-LOG.md +0 -119
  374. package/skills/systematic-debugging/SKILL.md +0 -283
  375. package/skills/systematic-debugging/condition-based-waiting-example.ts +0 -158
  376. package/skills/systematic-debugging/condition-based-waiting.md +0 -115
  377. package/skills/systematic-debugging/defense-in-depth.md +0 -122
  378. package/skills/systematic-debugging/find-polluter.sh +0 -72
  379. package/skills/systematic-debugging/root-cause-tracing.md +0 -169
  380. package/skills/systematic-debugging/test-academic.md +0 -14
  381. package/skills/systematic-debugging/test-pressure-1.md +0 -58
  382. package/skills/systematic-debugging/test-pressure-2.md +0 -68
  383. package/skills/systematic-debugging/test-pressure-3.md +0 -69
  384. package/skills/test-driven-development/SKILL.md +0 -320
  385. package/skills/test-driven-development/writing-good-tests.md +0 -198
  386. package/skills/theme-factory/LICENSE.txt +0 -202
  387. package/skills/theme-factory/SKILL.md +0 -59
  388. package/skills/theme-factory/theme-showcase.pdf +0 -0
  389. package/skills/theme-factory/themes/arctic-frost.md +0 -19
  390. package/skills/theme-factory/themes/botanical-garden.md +0 -19
  391. package/skills/theme-factory/themes/desert-rose.md +0 -19
  392. package/skills/theme-factory/themes/forest-canopy.md +0 -19
  393. package/skills/theme-factory/themes/golden-hour.md +0 -19
  394. package/skills/theme-factory/themes/midnight-galaxy.md +0 -19
  395. package/skills/theme-factory/themes/modern-minimalist.md +0 -19
  396. package/skills/theme-factory/themes/ocean-depths.md +0 -19
  397. package/skills/theme-factory/themes/sunset-boulevard.md +0 -19
  398. package/skills/theme-factory/themes/tech-innovation.md +0 -19
  399. package/skills/using-git-worktrees/SKILL.md +0 -167
  400. package/skills/using-superpowers/SKILL.md +0 -62
  401. package/skills/using-superpowers/references/antigravity-tools.md +0 -23
  402. package/skills/using-superpowers/references/codex-tools.md +0 -39
  403. package/skills/using-superpowers/references/gemini-tools.md +0 -63
  404. package/skills/using-superpowers/references/pi-tools.md +0 -16
  405. package/skills/verification-before-completion/SKILL.md +0 -120
  406. package/skills/video-downloader/SKILL.md +0 -112
  407. package/skills/web-artifacts-builder/LICENSE.txt +0 -202
  408. package/skills/web-artifacts-builder/SKILL.md +0 -74
  409. package/skills/web-artifacts-builder/scripts/bundle-artifact.sh +0 -54
  410. package/skills/web-artifacts-builder/scripts/init-artifact.sh +0 -322
  411. package/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  412. package/skills/webapp-testing/LICENSE.txt +0 -202
  413. package/skills/webapp-testing/SKILL.md +0 -96
  414. package/skills/webapp-testing/examples/console_logging.py +0 -35
  415. package/skills/webapp-testing/examples/element_discovery.py +0 -40
  416. package/skills/webapp-testing/examples/static_html_automation.py +0 -33
  417. package/skills/webapp-testing/scripts/with_server.py +0 -106
  418. package/skills/writing-plans/SKILL.md +0 -168
  419. package/skills/writing-plans/plan-document-reviewer-prompt.md +0 -49
  420. package/skills/writing-skills/SKILL.md +0 -679
  421. package/skills/writing-skills/anthropic-best-practices.md +0 -1150
  422. package/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
  423. package/skills/writing-skills/graphviz-conventions.dot +0 -172
  424. package/skills/writing-skills/persuasion-principles.md +0 -187
  425. package/skills/writing-skills/render-graphs.js +0 -168
  426. package/skills/writing-skills/testing-skills-with-subagents.md +0 -384
  427. package/skills/xlsx/LICENSE.txt +0 -30
  428. package/skills/xlsx/SKILL.md +0 -99
  429. package/skills/xlsx/scripts/office/helpers/__init__.py +0 -111
  430. package/skills/xlsx/scripts/office/helpers/pptx_chart.py +0 -170
  431. package/skills/xlsx/scripts/office/helpers/pptx_slide.py +0 -60
  432. package/skills/xlsx/scripts/office/helpers/pptx_theme.py +0 -114
  433. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  434. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  435. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  436. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  437. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  438. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  439. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  440. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  441. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  442. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  443. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  444. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  445. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  446. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  447. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  448. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  449. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  450. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  451. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  452. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  453. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  454. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  455. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  456. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  457. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  458. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  459. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  460. package/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  461. package/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  462. package/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  463. package/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  464. package/skills/xlsx/scripts/office/schemas/mce/mc.xsd +0 -75
  465. package/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
  466. package/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
  467. package/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
  468. package/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
  469. package/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
  470. package/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  471. package/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
  472. package/skills/xlsx/scripts/office/soffice.py +0 -192
  473. package/skills/xlsx/scripts/office/validate.py +0 -173
  474. package/skills/xlsx/scripts/office/validators/__init__.py +0 -15
  475. package/skills/xlsx/scripts/office/validators/base.py +0 -875
  476. package/skills/xlsx/scripts/office/validators/docx.py +0 -466
  477. package/skills/xlsx/scripts/office/validators/pptx.py +0 -441
  478. package/skills/xlsx/scripts/office/validators/redlining.py +0 -299
  479. package/skills/xlsx/scripts/recalc.py +0 -308
  480. package/src/account/account.ts +0 -472
  481. package/src/account/repo.ts +0 -172
  482. package/src/account/schema.ts +0 -99
  483. package/src/account/url.ts +0 -8
  484. package/src/acp/agent.ts +0 -95
  485. package/src/acp/config-option.ts +0 -203
  486. package/src/acp/content.ts +0 -269
  487. package/src/acp/directory.ts +0 -212
  488. package/src/acp/error.ts +0 -97
  489. package/src/acp/event.ts +0 -342
  490. package/src/acp/permission.ts +0 -254
  491. package/src/acp/profile.ts +0 -42
  492. package/src/acp/service.ts +0 -1097
  493. package/src/acp/session.ts +0 -232
  494. package/src/acp/tool.ts +0 -364
  495. package/src/acp/usage.ts +0 -239
  496. package/src/agent/agent.ts +0 -1004
  497. package/src/agent/generate.txt +0 -75
  498. package/src/agent/prompt/architect.txt +0 -26
  499. package/src/agent/prompt/backend.txt +0 -26
  500. package/src/agent/prompt/build.txt +0 -31
  501. package/src/agent/prompt/code-reviewer.txt +0 -29
  502. package/src/agent/prompt/compaction.txt +0 -45
  503. package/src/agent/prompt/database.txt +0 -27
  504. package/src/agent/prompt/debug-tools.txt +0 -40
  505. package/src/agent/prompt/debug.txt +0 -23
  506. package/src/agent/prompt/devops.txt +0 -26
  507. package/src/agent/prompt/docs.txt +0 -23
  508. package/src/agent/prompt/exe-extractor.txt +0 -39
  509. package/src/agent/prompt/explore.txt +0 -42
  510. package/src/agent/prompt/frontend.txt +0 -29
  511. package/src/agent/prompt/general.txt +0 -25
  512. package/src/agent/prompt/memory-dump.txt +0 -37
  513. package/src/agent/prompt/pentest-critic.txt +0 -51
  514. package/src/agent/prompt/pentest-enumerator.txt +0 -72
  515. package/src/agent/prompt/pentest-exploiter.txt +0 -69
  516. package/src/agent/prompt/pentest-identity.txt +0 -59
  517. package/src/agent/prompt/pentest-lead.txt +0 -46
  518. package/src/agent/prompt/pentest-postexploit.txt +0 -84
  519. package/src/agent/prompt/pentest-recon.txt +0 -50
  520. package/src/agent/prompt/pentest-reporter.txt +0 -76
  521. package/src/agent/prompt/pentest-scanner.txt +0 -57
  522. package/src/agent/prompt/pentest-webapp.txt +0 -94
  523. package/src/agent/prompt/performance.txt +0 -27
  524. package/src/agent/prompt/plan.txt +0 -35
  525. package/src/agent/prompt/refactor.txt +0 -31
  526. package/src/agent/prompt/reverser-automator.txt +0 -96
  527. package/src/agent/prompt/reverser-binary.txt +0 -62
  528. package/src/agent/prompt/reverser-dynamic.txt +0 -76
  529. package/src/agent/prompt/reverser-source.txt +0 -93
  530. package/src/agent/prompt/reverser-static.txt +0 -76
  531. package/src/agent/prompt/security.txt +0 -34
  532. package/src/agent/prompt/summary.txt +0 -22
  533. package/src/agent/prompt/test-writer.txt +0 -34
  534. package/src/agent/prompt/title.txt +0 -44
  535. package/src/agent/prompt/web-designer.txt +0 -23
  536. package/src/agent/subagent-permissions.ts +0 -27
  537. package/src/audio.d.ts +0 -14
  538. package/src/auth/index.ts +0 -97
  539. package/src/background/job.ts +0 -37
  540. package/src/bus/global.ts +0 -22
  541. package/src/cli/bootstrap.ts +0 -11
  542. package/src/cli/cmd/account.ts +0 -265
  543. package/src/cli/cmd/acp.ts +0 -73
  544. package/src/cli/cmd/agent.ts +0 -259
  545. package/src/cli/cmd/attach.ts +0 -148
  546. package/src/cli/cmd/cmd.ts +0 -7
  547. package/src/cli/cmd/db.ts +0 -62
  548. package/src/cli/cmd/debug/agent.handler.ts +0 -193
  549. package/src/cli/cmd/debug/agent.ts +0 -27
  550. package/src/cli/cmd/debug/config.ts +0 -14
  551. package/src/cli/cmd/debug/file.ts +0 -73
  552. package/src/cli/cmd/debug/index.ts +0 -87
  553. package/src/cli/cmd/debug/lsp.ts +0 -50
  554. package/src/cli/cmd/debug/ripgrep.ts +0 -79
  555. package/src/cli/cmd/debug/scrap.ts +0 -16
  556. package/src/cli/cmd/debug/skill.ts +0 -15
  557. package/src/cli/cmd/debug/snapshot.ts +0 -50
  558. package/src/cli/cmd/debug/startup.ts +0 -11
  559. package/src/cli/cmd/debug/v2.ts +0 -42
  560. package/src/cli/cmd/export.ts +0 -292
  561. package/src/cli/cmd/generate.ts +0 -54
  562. package/src/cli/cmd/github.handler.ts +0 -1595
  563. package/src/cli/cmd/github.shared.ts +0 -30
  564. package/src/cli/cmd/github.ts +0 -42
  565. package/src/cli/cmd/import.ts +0 -230
  566. package/src/cli/cmd/mcp.ts +0 -840
  567. package/src/cli/cmd/models.ts +0 -66
  568. package/src/cli/cmd/plug.ts +0 -230
  569. package/src/cli/cmd/pr.ts +0 -115
  570. package/src/cli/cmd/prompt-display.ts +0 -1
  571. package/src/cli/cmd/providers.ts +0 -534
  572. package/src/cli/cmd/run/demo.ts +0 -1274
  573. package/src/cli/cmd/run/entry.body.ts +0 -205
  574. package/src/cli/cmd/run/footer.command.tsx +0 -1070
  575. package/src/cli/cmd/run/footer.menu.tsx +0 -351
  576. package/src/cli/cmd/run/footer.permission.tsx +0 -472
  577. package/src/cli/cmd/run/footer.prompt.tsx +0 -1320
  578. package/src/cli/cmd/run/footer.question.tsx +0 -573
  579. package/src/cli/cmd/run/footer.subagent.tsx +0 -175
  580. package/src/cli/cmd/run/footer.ts +0 -1129
  581. package/src/cli/cmd/run/footer.view.tsx +0 -945
  582. package/src/cli/cmd/run/footer.width.ts +0 -27
  583. package/src/cli/cmd/run/permission.shared.ts +0 -256
  584. package/src/cli/cmd/run/prompt.editor.ts +0 -157
  585. package/src/cli/cmd/run/prompt.shared.ts +0 -153
  586. package/src/cli/cmd/run/question.shared.ts +0 -340
  587. package/src/cli/cmd/run/runtime.boot.ts +0 -202
  588. package/src/cli/cmd/run/runtime.lifecycle.ts +0 -410
  589. package/src/cli/cmd/run/runtime.queue.ts +0 -349
  590. package/src/cli/cmd/run/runtime.shared.ts +0 -17
  591. package/src/cli/cmd/run/runtime.stdin.ts +0 -37
  592. package/src/cli/cmd/run/runtime.ts +0 -821
  593. package/src/cli/cmd/run/scrollback.shared.ts +0 -92
  594. package/src/cli/cmd/run/scrollback.surface.ts +0 -431
  595. package/src/cli/cmd/run/scrollback.writer.tsx +0 -352
  596. package/src/cli/cmd/run/session-data.ts +0 -1113
  597. package/src/cli/cmd/run/session-replay.ts +0 -374
  598. package/src/cli/cmd/run/session.shared.ts +0 -196
  599. package/src/cli/cmd/run/splash.ts +0 -289
  600. package/src/cli/cmd/run/stream.transport.ts +0 -1462
  601. package/src/cli/cmd/run/stream.ts +0 -175
  602. package/src/cli/cmd/run/subagent-data.ts +0 -876
  603. package/src/cli/cmd/run/theme.ts +0 -690
  604. package/src/cli/cmd/run/tool.ts +0 -1486
  605. package/src/cli/cmd/run/trace.ts +0 -94
  606. package/src/cli/cmd/run/turn-summary.ts +0 -47
  607. package/src/cli/cmd/run/types.ts +0 -350
  608. package/src/cli/cmd/run/variant.shared.ts +0 -216
  609. package/src/cli/cmd/run.ts +0 -1011
  610. package/src/cli/cmd/serve.ts +0 -24
  611. package/src/cli/cmd/session.ts +0 -147
  612. package/src/cli/cmd/stats.ts +0 -393
  613. package/src/cli/cmd/tui.ts +0 -309
  614. package/src/cli/cmd/uninstall.ts +0 -353
  615. package/src/cli/cmd/upgrade.ts +0 -113
  616. package/src/cli/cmd/web.ts +0 -84
  617. package/src/cli/effect/prompt.ts +0 -37
  618. package/src/cli/effect-cmd.ts +0 -96
  619. package/src/cli/error.ts +0 -130
  620. package/src/cli/heap.ts +0 -45
  621. package/src/cli/logo.ts +0 -1
  622. package/src/cli/network.ts +0 -80
  623. package/src/cli/tui/layer.ts +0 -8
  624. package/src/cli/tui/validate-session.ts +0 -29
  625. package/src/cli/tui/worker.ts +0 -80
  626. package/src/cli/ui.ts +0 -146
  627. package/src/cli/upgrade.ts +0 -79
  628. package/src/cli/version.ts +0 -14
  629. package/src/command/index.ts +0 -177
  630. package/src/command/template/initialize.txt +0 -66
  631. package/src/command/template/review.txt +0 -101
  632. package/src/config/agent.ts +0 -59
  633. package/src/config/command.ts +0 -39
  634. package/src/config/config.ts +0 -687
  635. package/src/config/entry-name.ts +0 -19
  636. package/src/config/managed.ts +0 -69
  637. package/src/config/markdown.ts +0 -36
  638. package/src/config/parse.ts +0 -79
  639. package/src/config/paths.ts +0 -45
  640. package/src/config/plugin.ts +0 -79
  641. package/src/config/tui-cwd.ts +0 -5
  642. package/src/config/tui-host-attention.ts +0 -21
  643. package/src/config/tui-migrate.ts +0 -132
  644. package/src/config/tui.ts +0 -276
  645. package/src/config/variable.ts +0 -91
  646. package/src/control-plane/adapters/index.ts +0 -41
  647. package/src/control-plane/adapters/worktree.ts +0 -96
  648. package/src/control-plane/dev/README.md +0 -19
  649. package/src/control-plane/dev/debug-workspace-plugin.ts +0 -73
  650. package/src/control-plane/types.ts +0 -59
  651. package/src/control-plane/util.ts +0 -39
  652. package/src/control-plane/workspace-adapter-runtime.ts +0 -51
  653. package/src/control-plane/workspace-context.ts +0 -26
  654. package/src/control-plane/workspace.ts +0 -965
  655. package/src/effect/app-node-builder-v1.ts +0 -12
  656. package/src/effect/app-runtime.ts +0 -137
  657. package/src/effect/bootstrap-runtime.ts +0 -19
  658. package/src/effect/bridge.ts +0 -84
  659. package/src/effect/config-service.ts +0 -67
  660. package/src/effect/instance-ref.ts +0 -11
  661. package/src/effect/instance-registry.ts +0 -12
  662. package/src/effect/instance-state.ts +0 -70
  663. package/src/effect/promise.ts +0 -17
  664. package/src/effect/run-service.ts +0 -47
  665. package/src/effect/runner.ts +0 -218
  666. package/src/effect/runtime-flags.ts +0 -80
  667. package/src/env/index.ts +0 -41
  668. package/src/event-manifest.ts +0 -3
  669. package/src/event-v2-bridge.ts +0 -71
  670. package/src/format/formatter.ts +0 -404
  671. package/src/format/index.ts +0 -203
  672. package/src/git/index.ts +0 -348
  673. package/src/id/id.ts +0 -80
  674. package/src/ide/index.ts +0 -54
  675. package/src/image/image.ts +0 -172
  676. package/src/index.ts +0 -142
  677. package/src/installation/index.ts +0 -332
  678. package/src/lsp/client.ts +0 -650
  679. package/src/lsp/diagnostic.ts +0 -29
  680. package/src/lsp/language.ts +0 -121
  681. package/src/lsp/launch.ts +0 -21
  682. package/src/lsp/lsp.ts +0 -507
  683. package/src/lsp/server.ts +0 -1983
  684. package/src/markdown.d.ts +0 -4
  685. package/src/mcp/auth.ts +0 -163
  686. package/src/mcp/browser.ts +0 -37
  687. package/src/mcp/catalog.ts +0 -170
  688. package/src/mcp/index.ts +0 -1004
  689. package/src/mcp/oauth-callback.ts +0 -194
  690. package/src/mcp/oauth-provider.ts +0 -259
  691. package/src/memory/memory.ts +0 -133
  692. package/src/node.ts +0 -4
  693. package/src/patch/index.ts +0 -686
  694. package/src/permission/arity.ts +0 -163
  695. package/src/permission/evaluate.ts +0 -1
  696. package/src/permission/index.ts +0 -233
  697. package/src/plugin/azure.ts +0 -26
  698. package/src/plugin/cloudflare.ts +0 -76
  699. package/src/plugin/digitalocean.ts +0 -325
  700. package/src/plugin/github-copilot/copilot.ts +0 -414
  701. package/src/plugin/github-copilot/models.ts +0 -258
  702. package/src/plugin/index.ts +0 -315
  703. package/src/plugin/install.ts +0 -439
  704. package/src/plugin/loader.ts +0 -237
  705. package/src/plugin/meta.ts +0 -188
  706. package/src/plugin/openai/README.md +0 -31
  707. package/src/plugin/openai/codex.ts +0 -565
  708. package/src/plugin/openai/ws-pool.ts +0 -270
  709. package/src/plugin/openai/ws.ts +0 -381
  710. package/src/plugin/pty-environment.ts +0 -24
  711. package/src/plugin/shared.ts +0 -323
  712. package/src/plugin/snowflake-cortex.ts +0 -507
  713. package/src/plugin/tui/internal.ts +0 -10
  714. package/src/plugin/tui/runtime.ts +0 -1131
  715. package/src/plugin/xai.ts +0 -626
  716. package/src/project/bootstrap-service.ts +0 -10
  717. package/src/project/bootstrap.ts +0 -58
  718. package/src/project/instance-context.ts +0 -24
  719. package/src/project/instance-runtime.ts +0 -16
  720. package/src/project/instance-store.ts +0 -213
  721. package/src/project/project.ts +0 -484
  722. package/src/project/vcs.ts +0 -423
  723. package/src/provider/auth.ts +0 -229
  724. package/src/provider/error.ts +0 -188
  725. package/src/provider/model-status.ts +0 -8
  726. package/src/provider/provider.ts +0 -2007
  727. package/src/provider/transform.ts +0 -1832
  728. package/src/question/index.ts +0 -161
  729. package/src/question/schema.ts +0 -4
  730. package/src/server/auth.ts +0 -49
  731. package/src/server/event.ts +0 -10
  732. package/src/server/global-lifecycle.ts +0 -28
  733. package/src/server/init-projectors.ts +0 -3
  734. package/src/server/mdns.ts +0 -47
  735. package/src/server/projectors.ts +0 -1
  736. package/src/server/proxy-util.ts +0 -48
  737. package/src/server/routes/instance/httpapi/AGENTS.md +0 -39
  738. package/src/server/routes/instance/httpapi/api.ts +0 -97
  739. package/src/server/routes/instance/httpapi/errors.ts +0 -193
  740. package/src/server/routes/instance/httpapi/groups/config.ts +0 -65
  741. package/src/server/routes/instance/httpapi/groups/control-plane.ts +0 -35
  742. package/src/server/routes/instance/httpapi/groups/control.ts +0 -76
  743. package/src/server/routes/instance/httpapi/groups/event.ts +0 -29
  744. package/src/server/routes/instance/httpapi/groups/experimental.ts +0 -275
  745. package/src/server/routes/instance/httpapi/groups/file.ts +0 -185
  746. package/src/server/routes/instance/httpapi/groups/global.ts +0 -136
  747. package/src/server/routes/instance/httpapi/groups/instance.ts +0 -206
  748. package/src/server/routes/instance/httpapi/groups/mcp.ts +0 -156
  749. package/src/server/routes/instance/httpapi/groups/metadata.ts +0 -18
  750. package/src/server/routes/instance/httpapi/groups/permission.ts +0 -61
  751. package/src/server/routes/instance/httpapi/groups/project-copy.ts +0 -32
  752. package/src/server/routes/instance/httpapi/groups/project.ts +0 -93
  753. package/src/server/routes/instance/httpapi/groups/provider.ts +0 -101
  754. package/src/server/routes/instance/httpapi/groups/pty.ts +0 -172
  755. package/src/server/routes/instance/httpapi/groups/query.ts +0 -12
  756. package/src/server/routes/instance/httpapi/groups/question.ts +0 -74
  757. package/src/server/routes/instance/httpapi/groups/session.ts +0 -462
  758. package/src/server/routes/instance/httpapi/groups/sync.ts +0 -113
  759. package/src/server/routes/instance/httpapi/groups/tui.ts +0 -208
  760. package/src/server/routes/instance/httpapi/groups/workspace.ts +0 -141
  761. package/src/server/routes/instance/httpapi/handlers/config.ts +0 -34
  762. package/src/server/routes/instance/httpapi/handlers/control-plane.ts +0 -38
  763. package/src/server/routes/instance/httpapi/handlers/control.ts +0 -43
  764. package/src/server/routes/instance/httpapi/handlers/event.ts +0 -99
  765. package/src/server/routes/instance/httpapi/handlers/experimental.ts +0 -194
  766. package/src/server/routes/instance/httpapi/handlers/file.ts +0 -139
  767. package/src/server/routes/instance/httpapi/handlers/global.ts +0 -157
  768. package/src/server/routes/instance/httpapi/handlers/instance.ts +0 -110
  769. package/src/server/routes/instance/httpapi/handlers/mcp.ts +0 -112
  770. package/src/server/routes/instance/httpapi/handlers/permission.ts +0 -41
  771. package/src/server/routes/instance/httpapi/handlers/project-copy.ts +0 -83
  772. package/src/server/routes/instance/httpapi/handlers/project.ts +0 -63
  773. package/src/server/routes/instance/httpapi/handlers/provider.ts +0 -114
  774. package/src/server/routes/instance/httpapi/handlers/pty.ts +0 -273
  775. package/src/server/routes/instance/httpapi/handlers/question.ts +0 -54
  776. package/src/server/routes/instance/httpapi/handlers/session-errors.ts +0 -21
  777. package/src/server/routes/instance/httpapi/handlers/session.ts +0 -442
  778. package/src/server/routes/instance/httpapi/handlers/sync.ts +0 -89
  779. package/src/server/routes/instance/httpapi/handlers/tui.ts +0 -131
  780. package/src/server/routes/instance/httpapi/handlers/workspace.ts +0 -103
  781. package/src/server/routes/instance/httpapi/lifecycle.ts +0 -55
  782. package/src/server/routes/instance/httpapi/middleware/authorization.ts +0 -150
  783. package/src/server/routes/instance/httpapi/middleware/compression.ts +0 -64
  784. package/src/server/routes/instance/httpapi/middleware/cors-vary.ts +0 -29
  785. package/src/server/routes/instance/httpapi/middleware/error.ts +0 -43
  786. package/src/server/routes/instance/httpapi/middleware/fence.ts +0 -25
  787. package/src/server/routes/instance/httpapi/middleware/instance-context.ts +0 -43
  788. package/src/server/routes/instance/httpapi/middleware/proxy.ts +0 -109
  789. package/src/server/routes/instance/httpapi/middleware/schema-error.ts +0 -41
  790. package/src/server/routes/instance/httpapi/middleware/workspace-routing.ts +0 -250
  791. package/src/server/routes/instance/httpapi/public.ts +0 -537
  792. package/src/server/routes/instance/httpapi/server.ts +0 -328
  793. package/src/server/routes/instance/httpapi/websocket-tracker.ts +0 -60
  794. package/src/server/server.ts +0 -226
  795. package/src/server/shared/fence.ts +0 -60
  796. package/src/server/shared/pty-ticket.ts +0 -15
  797. package/src/server/shared/public-ui.ts +0 -12
  798. package/src/server/shared/tui-control.ts +0 -28
  799. package/src/server/shared/ui.ts +0 -109
  800. package/src/server/shared/workspace-routing.ts +0 -38
  801. package/src/server/tui-event.ts +0 -1
  802. package/src/session/compaction.ts +0 -563
  803. package/src/session/instruction.ts +0 -237
  804. package/src/session/llm/AGENTS.md +0 -90
  805. package/src/session/llm/ai-sdk.ts +0 -288
  806. package/src/session/llm/native-request.ts +0 -196
  807. package/src/session/llm/native-runtime.ts +0 -196
  808. package/src/session/llm/request.ts +0 -226
  809. package/src/session/llm.ts +0 -404
  810. package/src/session/message-error.ts +0 -14
  811. package/src/session/message-v2.ts +0 -723
  812. package/src/session/message.ts +0 -148
  813. package/src/session/overflow.ts +0 -34
  814. package/src/session/processor.ts +0 -718
  815. package/src/session/prompt/anthropic.txt +0 -96
  816. package/src/session/prompt/beast.txt +0 -147
  817. package/src/session/prompt/build-switch.txt +0 -5
  818. package/src/session/prompt/codex.txt +0 -79
  819. package/src/session/prompt/copilot-gpt-5.txt +0 -143
  820. package/src/session/prompt/default.txt +0 -89
  821. package/src/session/prompt/gemini.txt +0 -155
  822. package/src/session/prompt/gpt.txt +0 -107
  823. package/src/session/prompt/kimi.txt +0 -95
  824. package/src/session/prompt/meta.txt +0 -64
  825. package/src/session/prompt/plan-mode.txt +0 -70
  826. package/src/session/prompt/plan-reminder-anthropic.txt +0 -67
  827. package/src/session/prompt/plan.txt +0 -26
  828. package/src/session/prompt/trinity.txt +0 -97
  829. package/src/session/prompt.ts +0 -1637
  830. package/src/session/reminders.ts +0 -92
  831. package/src/session/retry.ts +0 -201
  832. package/src/session/revert.ts +0 -146
  833. package/src/session/run-state.ts +0 -152
  834. package/src/session/schema.ts +0 -26
  835. package/src/session/session.ts +0 -1019
  836. package/src/session/status.ts +0 -56
  837. package/src/session/summary.ts +0 -160
  838. package/src/session/system.ts +0 -145
  839. package/src/session/todo.ts +0 -74
  840. package/src/session/tools.ts +0 -590
  841. package/src/share/session.ts +0 -58
  842. package/src/share/share-next.ts +0 -371
  843. package/src/skill/discovery.ts +0 -140
  844. package/src/skill/index.ts +0 -354
  845. package/src/snapshot/index.ts +0 -807
  846. package/src/sql.d.ts +0 -4
  847. package/src/storage/schema.ts +0 -5
  848. package/src/storage/storage.ts +0 -327
  849. package/src/sync/README.md +0 -179
  850. package/src/sync/schema.ts +0 -11
  851. package/src/temporary.ts +0 -31
  852. package/src/tool/apply_patch.ts +0 -313
  853. package/src/tool/apply_patch.txt +0 -33
  854. package/src/tool/code-mode.ts +0 -310
  855. package/src/tool/computer.ts +0 -535
  856. package/src/tool/computer.txt +0 -25
  857. package/src/tool/edit.ts +0 -737
  858. package/src/tool/edit.txt +0 -10
  859. package/src/tool/external-directory.ts +0 -49
  860. package/src/tool/glob.ts +0 -76
  861. package/src/tool/glob.txt +0 -6
  862. package/src/tool/grep.ts +0 -115
  863. package/src/tool/grep.txt +0 -8
  864. package/src/tool/invalid.ts +0 -21
  865. package/src/tool/json-schema.ts +0 -164
  866. package/src/tool/lsp.ts +0 -113
  867. package/src/tool/lsp.txt +0 -24
  868. package/src/tool/mcp-websearch.ts +0 -97
  869. package/src/tool/memory.ts +0 -59
  870. package/src/tool/memory.txt +0 -14
  871. package/src/tool/plan-enter.txt +0 -14
  872. package/src/tool/plan-exit.txt +0 -13
  873. package/src/tool/plan.ts +0 -79
  874. package/src/tool/question.ts +0 -44
  875. package/src/tool/question.txt +0 -10
  876. package/src/tool/read.ts +0 -386
  877. package/src/tool/read.txt +0 -14
  878. package/src/tool/registry.ts +0 -460
  879. package/src/tool/schema.ts +0 -14
  880. package/src/tool/shell/id.ts +0 -19
  881. package/src/tool/shell/prompt.ts +0 -293
  882. package/src/tool/shell/shell.txt +0 -21
  883. package/src/tool/shell.ts +0 -645
  884. package/src/tool/skill.ts +0 -70
  885. package/src/tool/skill.txt +0 -5
  886. package/src/tool/task.ts +0 -360
  887. package/src/tool/task.txt +0 -19
  888. package/src/tool/todo.ts +0 -46
  889. package/src/tool/todowrite.txt +0 -44
  890. package/src/tool/tool.ts +0 -183
  891. package/src/tool/truncate.ts +0 -156
  892. package/src/tool/truncation-dir.ts +0 -4
  893. package/src/tool/webfetch.ts +0 -192
  894. package/src/tool/webfetch.txt +0 -13
  895. package/src/tool/websearch.ts +0 -143
  896. package/src/tool/websearch.txt +0 -14
  897. package/src/tool/write.ts +0 -104
  898. package/src/tool/write.txt +0 -8
  899. package/src/util/archive.ts +0 -17
  900. package/src/util/bom.ts +0 -27
  901. package/src/util/data-url.ts +0 -9
  902. package/src/util/defer.ts +0 -10
  903. package/src/util/effect-http-client.ts +0 -11
  904. package/src/util/error.ts +0 -1
  905. package/src/util/filesystem.ts +0 -251
  906. package/src/util/html.ts +0 -8
  907. package/src/util/iife.ts +0 -3
  908. package/src/util/lazy.ts +0 -20
  909. package/src/util/local-context.ts +0 -25
  910. package/src/util/locale.ts +0 -2
  911. package/src/util/media.ts +0 -26
  912. package/src/util/process.ts +0 -177
  913. package/src/util/proxy-env.ts +0 -72
  914. package/src/util/queue.ts +0 -32
  915. package/src/util/record.ts +0 -1
  916. package/src/util/repository.ts +0 -232
  917. package/src/util/rpc.ts +0 -66
  918. package/src/util/signal.ts +0 -12
  919. package/src/util/timeout.ts +0 -13
  920. package/src/util/token.ts +0 -1
  921. package/src/util/wildcard.ts +0 -59
  922. package/src/worktree/index.ts +0 -623
  923. package/tsconfig.json +0 -17
  924. /package/{script/postinstall.mjs → postinstall.mjs} +0 -0
@@ -1,1070 +0,0 @@
1
- /** @jsxImportSource @opentui/solid */
2
- import { TextAttributes, type InputRenderable, type KeyEvent } from "@opentui/core"
3
- import { useKeyboard, type JSX } from "@opentui/solid"
4
- import fuzzysort from "fuzzysort"
5
- import { createEffect, createMemo, createSignal, type Accessor } from "solid-js"
6
- import { RunFooterMenu, createFooterMenuState, type RunFooterMenuItem } from "./footer.menu"
7
- import type { RunFooterTheme } from "./theme"
8
- import type { FooterQueuedPrompt, FooterSubagentTab, RunCommand, RunInput, RunProvider } from "./types"
9
-
10
- type PanelEntry = RunFooterMenuItem & {
11
- category: string
12
- keywords?: string
13
- }
14
-
15
- type CommandEntry =
16
- | (PanelEntry & { action: "model" })
17
- | (PanelEntry & { action: "editor" })
18
- | (PanelEntry & { action: "skill" })
19
- | (PanelEntry & { action: "queued" })
20
- | (PanelEntry & { action: "subagent" })
21
- | (PanelEntry & { action: "variant.cycle" })
22
- | (PanelEntry & { action: "variant.list" })
23
- | (PanelEntry & { action: "slash"; name: string })
24
- | (PanelEntry & { action: "exit" })
25
-
26
- type ModelEntry = PanelEntry & {
27
- providerID: string
28
- modelID: string
29
- providerName: string
30
- current: boolean
31
- }
32
-
33
- type VariantEntry = PanelEntry & {
34
- variant: string | undefined
35
- current: boolean
36
- }
37
-
38
- type SkillEntry = PanelEntry & {
39
- name: string
40
- }
41
-
42
- type SubagentEntry = PanelEntry & {
43
- sessionID: string
44
- current: boolean
45
- }
46
-
47
- type QueuedEntry = PanelEntry & {
48
- prompt: FooterQueuedPrompt
49
- }
50
-
51
- type MenuState = ReturnType<typeof createFooterMenuState>
52
-
53
- const PANEL_PAD = 2
54
- const PANEL_LIST_ROWS = 10
55
- const PANEL_FRAME_ROWS = 6
56
- export const RUN_COMMAND_PANEL_ROWS = PANEL_LIST_ROWS + PANEL_FRAME_ROWS
57
- const SUBAGENT_LIST_ROWS = 12
58
- export const RUN_SUBAGENT_PANEL_ROWS = SUBAGENT_LIST_ROWS + PANEL_FRAME_ROWS
59
- const PANEL_PAGE = PANEL_LIST_ROWS - 1
60
- const PANEL_BORDER = {
61
- topLeft: "",
62
- bottomLeft: "",
63
- vertical: "┃",
64
- topRight: "",
65
- bottomRight: "",
66
- horizontal: " ",
67
- bottomT: "",
68
- topT: "",
69
- cross: "",
70
- leftT: "",
71
- rightT: "",
72
- }
73
- const PANEL_BOTTOM_BORDER = {
74
- ...PANEL_BORDER,
75
- vertical: "╹",
76
- }
77
- const HALF_BLOCK_BORDER = {
78
- topLeft: "",
79
- bottomLeft: "",
80
- vertical: "",
81
- topRight: "",
82
- bottomRight: "",
83
- horizontal: "▀",
84
- bottomT: "",
85
- topT: "",
86
- cross: "",
87
- leftT: "",
88
- rightT: "",
89
- }
90
-
91
- function countLabel(count: number, total: number, query: string) {
92
- if (!query.trim()) {
93
- return `${total}`
94
- }
95
-
96
- return `${count}/${total}`
97
- }
98
-
99
- function categoryRank(category: string) {
100
- if (category === "Project Commands") {
101
- return 0
102
- }
103
-
104
- if (category === "MCP Commands") {
105
- return 1
106
- }
107
-
108
- return 2
109
- }
110
-
111
- function subagentStatusLabel(status: FooterSubagentTab["status"]) {
112
- if (status === "completed") {
113
- return "done"
114
- }
115
-
116
- if (status === "cancelled") {
117
- return "cancelled"
118
- }
119
-
120
- if (status === "error") {
121
- return "error"
122
- }
123
-
124
- return "running"
125
- }
126
-
127
- function handleKey(input: {
128
- event: KeyEvent
129
- menu: MenuState
130
- field: () => InputRenderable | undefined
131
- setQuery: (value: string) => void
132
- select: () => void
133
- close: () => void
134
- }) {
135
- const name = input.event.name.toLowerCase()
136
- const ctrl = input.event.ctrl && !input.event.meta && !input.event.shift && !input.event.super
137
-
138
- if (name === "escape" || (ctrl && name === "c")) {
139
- input.event.preventDefault()
140
- input.close()
141
- return
142
- }
143
-
144
- if (name === "up" || (ctrl && name === "p")) {
145
- input.event.preventDefault()
146
- input.menu.move(-1)
147
- return
148
- }
149
-
150
- if (name === "down" || (ctrl && name === "n")) {
151
- input.event.preventDefault()
152
- input.menu.move(1)
153
- return
154
- }
155
-
156
- if (name === "pageup") {
157
- input.event.preventDefault()
158
- input.menu.reveal(input.menu.selected() - PANEL_PAGE)
159
- return
160
- }
161
-
162
- if (name === "pagedown") {
163
- input.event.preventDefault()
164
- input.menu.reveal(input.menu.selected() + PANEL_PAGE)
165
- return
166
- }
167
-
168
- if (name === "home") {
169
- input.event.preventDefault()
170
- input.menu.reveal(0)
171
- return
172
- }
173
-
174
- if (name === "end") {
175
- input.event.preventDefault()
176
- input.menu.reveal(Number.POSITIVE_INFINITY)
177
- return
178
- }
179
-
180
- if (name === "return") {
181
- input.event.preventDefault()
182
- input.select()
183
- return
184
- }
185
-
186
- if (ctrl && name === "u") {
187
- input.event.preventDefault()
188
- input.setQuery("")
189
- input.field()?.setText("")
190
- }
191
- }
192
-
193
- function match<T extends PanelEntry>(query: string, entries: T[]) {
194
- const text = query.trim()
195
- if (!text) {
196
- return entries
197
- }
198
-
199
- return fuzzysort
200
- .go(text, entries, { keys: ["display", "category", "description", "keywords"] })
201
- .map((item) => item.obj)
202
- }
203
-
204
- function PanelShell(props: {
205
- title: string
206
- countVisible?: boolean
207
- query: string
208
- count: number
209
- total: number
210
- placeholder: string
211
- theme: Accessor<RunFooterTheme>
212
- inputRef: (input: InputRenderable) => void
213
- onQuery: (query: string) => void
214
- children: JSX.Element
215
- dark?: boolean
216
- chrome?: "default" | "minimal"
217
- }) {
218
- const background = () => (props.dark ? props.theme().shade : props.theme().surface)
219
- const minimal = () => props.chrome === "minimal"
220
- const content = (
221
- <>
222
- <box height={1} flexShrink={0} backgroundColor={background()} />
223
- <box
224
- width="100%"
225
- height={1}
226
- paddingLeft={PANEL_PAD}
227
- paddingRight={PANEL_PAD}
228
- flexDirection="row"
229
- gap={1}
230
- flexShrink={0}
231
- backgroundColor={background()}
232
- >
233
- <text fg={props.theme().text} attributes={TextAttributes.BOLD} wrapMode="none" flexShrink={0}>
234
- {props.title}
235
- </text>
236
- {props.countVisible !== false ? (
237
- <text fg={props.theme().muted} wrapMode="none" flexShrink={0}>
238
- {countLabel(props.count, props.total, props.query)}
239
- </text>
240
- ) : null}
241
- <box flexGrow={1} flexShrink={1} backgroundColor="transparent" />
242
- <text fg={props.theme().muted} wrapMode="none" truncate flexShrink={0}>
243
- esc
244
- </text>
245
- </box>
246
- <box height={1} flexShrink={0} backgroundColor={background()} />
247
- <box
248
- width="100%"
249
- height={1}
250
- paddingLeft={PANEL_PAD}
251
- paddingRight={PANEL_PAD}
252
- flexShrink={0}
253
- backgroundColor={background()}
254
- >
255
- <input
256
- width="100%"
257
- focusedBackgroundColor={background()}
258
- focusedTextColor={props.theme().text}
259
- placeholder={props.placeholder}
260
- placeholderColor={props.theme().muted}
261
- cursorColor={props.theme().highlight}
262
- onInput={props.onQuery}
263
- ref={(input) => {
264
- props.inputRef(input)
265
- input.traits = { status: "FILTER" }
266
- queueMicrotask(() => {
267
- if (!input.isDestroyed) {
268
- input.focus()
269
- }
270
- })
271
- }}
272
- />
273
- </box>
274
- <box height={1} flexShrink={0} backgroundColor={background()} />
275
- <box width="100%" flexDirection="column" flexShrink={0} backgroundColor={background()}>
276
- {props.children}
277
- </box>
278
- </>
279
- )
280
- return (
281
- <box width="100%" flexDirection="column" border={false} backgroundColor="transparent" flexShrink={0}>
282
- {minimal() ? (
283
- <box width="100%" flexDirection="column" border={false} backgroundColor="transparent" flexShrink={0}>
284
- {content}
285
- </box>
286
- ) : (
287
- <box
288
- width="100%"
289
- flexDirection="column"
290
- border={["left"]}
291
- borderColor={props.theme().highlight}
292
- backgroundColor="transparent"
293
- customBorderChars={PANEL_BORDER}
294
- flexShrink={0}
295
- >
296
- {content}
297
- </box>
298
- )}
299
- {minimal() ? (
300
- <box width="100%" height={1} border={false} backgroundColor="transparent" flexShrink={0}>
301
- <box
302
- width="100%"
303
- height={1}
304
- border={["bottom"]}
305
- borderColor={background()}
306
- backgroundColor="transparent"
307
- customBorderChars={HALF_BLOCK_BORDER}
308
- />
309
- </box>
310
- ) : (
311
- <box
312
- width="100%"
313
- height={1}
314
- border={["left"]}
315
- borderColor={props.theme().highlight}
316
- backgroundColor="transparent"
317
- customBorderChars={PANEL_BOTTOM_BORDER}
318
- flexShrink={0}
319
- >
320
- <box
321
- width="100%"
322
- height={1}
323
- border={["bottom"]}
324
- borderColor={background()}
325
- backgroundColor="transparent"
326
- customBorderChars={HALF_BLOCK_BORDER}
327
- />
328
- </box>
329
- )}
330
- </box>
331
- )
332
- }
333
-
334
- export function RunCommandMenuBody(props: {
335
- theme: Accessor<RunFooterTheme>
336
- commands: Accessor<RunCommand[] | undefined>
337
- subagents: Accessor<FooterSubagentTab[]>
338
- queued: Accessor<FooterQueuedPrompt[]>
339
- variants: Accessor<string[]>
340
- variantCycle: string
341
- onClose: () => void
342
- onModel: () => void
343
- onEditor: () => void
344
- onSkill: () => void
345
- onSubagent: () => void
346
- onQueued: () => void
347
- onVariant: () => void
348
- onVariantCycle: () => void
349
- onCommand: (name: string) => void
350
- onNew: () => void
351
- onExit: () => void
352
- }) {
353
- let field: InputRenderable | undefined
354
- const [query, setQuery] = createSignal("")
355
- const skills = createMemo(() => (props.commands() ?? []).filter((item) => item.source === "skill"))
356
- const activeSubagentCount = createMemo(() => props.subagents().filter((item) => item.status === "running").length)
357
- const entries = createMemo<CommandEntry[]>(() => {
358
- const builtins = ["editor", "new"]
359
- const session: CommandEntry[] = [
360
- {
361
- action: "editor",
362
- category: "Session",
363
- display: "Open editor",
364
- footer: "/editor",
365
- keywords: "editor compose draft external editor",
366
- },
367
- ...(props.subagents().length > 0
368
- ? [
369
- {
370
- action: "subagent" as const,
371
- category: "Session",
372
- display: "View subagents",
373
- footer:
374
- activeSubagentCount() > 0 ? `${activeSubagentCount()} active` : `${props.subagents().length} recent`,
375
- keywords: props
376
- .subagents()
377
- .map((item) => `${item.label} ${item.description} ${item.title ?? ""}`)
378
- .join(" "),
379
- },
380
- ]
381
- : []),
382
- {
383
- action: "slash",
384
- category: "Session",
385
- name: "new",
386
- display: "New session",
387
- footer: "/new",
388
- keywords: "new session clear",
389
- },
390
- ]
391
- const prompt: CommandEntry[] =
392
- props.commands() === undefined || skills().length > 0
393
- ? [
394
- {
395
- action: "skill" as const,
396
- category: "Prompt",
397
- display: "Skills",
398
- footer: "/skills",
399
- keywords: `skill skills ${skills()
400
- .map((item) => `${item.name} ${item.description ?? ""}`)
401
- .join(" ")}`.trim(),
402
- },
403
- ]
404
- : []
405
- const agent: CommandEntry[] = [
406
- {
407
- action: "model",
408
- category: "Agent",
409
- display: "Switch model",
410
- },
411
- ...(props.queued().length > 0
412
- ? [
413
- {
414
- action: "queued" as const,
415
- category: "Agent",
416
- display: "Manage queued prompts",
417
- footer: `${props.queued().length} queued`,
418
- keywords: props
419
- .queued()
420
- .map((item) => item.prompt.text)
421
- .join(" "),
422
- },
423
- ]
424
- : []),
425
- {
426
- action: "variant.cycle",
427
- category: "Agent",
428
- display: "Variant cycle",
429
- footer: props.variantCycle,
430
- keywords: "variant cycle",
431
- },
432
- ...(props.variants().length > 0
433
- ? [
434
- {
435
- action: "variant.list" as const,
436
- category: "Agent",
437
- display: "Switch model variant",
438
- keywords: `variant variants ${props.variants().join(" ")}`,
439
- },
440
- ]
441
- : []),
442
- ]
443
- const commands = (props.commands() ?? [])
444
- .filter((item) => item.source !== "skill" && !builtins.includes(item.name))
445
- .map(
446
- (item) =>
447
- ({
448
- action: "slash",
449
- category: item.source === "mcp" ? "MCP Commands" : "Project Commands",
450
- name: item.name,
451
- display: item.name,
452
- footer: `/${item.name}`,
453
- keywords:
454
- item.source === "mcp"
455
- ? `/${item.name} ${item.name} mcp ${item.description ?? ""}`
456
- : `/${item.name} ${item.name} ${item.description ?? ""}`,
457
- }) satisfies CommandEntry,
458
- )
459
- .sort((a, b) => categoryRank(a.category) - categoryRank(b.category) || a.display.localeCompare(b.display))
460
-
461
- return [
462
- ...session,
463
- ...prompt,
464
- ...agent,
465
- ...commands,
466
- { action: "exit", category: "System", display: "Exit", footer: "/exit", keywords: "/exit exit" },
467
- ]
468
- })
469
- const items = createMemo<CommandEntry[]>(() => match(query(), entries()))
470
- const menu = createFooterMenuState({ count: () => items().length, limit: PANEL_LIST_ROWS })
471
- const pick = (item: CommandEntry) => {
472
- if (item.action === "model") {
473
- props.onModel()
474
- return
475
- }
476
-
477
- if (item.action === "editor") {
478
- props.onEditor()
479
- return
480
- }
481
-
482
- if (item.action === "skill") {
483
- props.onSkill()
484
- return
485
- }
486
-
487
- if (item.action === "subagent") {
488
- props.onSubagent()
489
- return
490
- }
491
-
492
- if (item.action === "queued") {
493
- props.onQueued()
494
- return
495
- }
496
-
497
- if (item.action === "variant.cycle") {
498
- props.onVariantCycle()
499
- return
500
- }
501
-
502
- if (item.action === "variant.list") {
503
- props.onVariant()
504
- return
505
- }
506
-
507
- if (item.action === "exit") {
508
- props.onExit()
509
- return
510
- }
511
-
512
- if (item.name === "new") {
513
- props.onNew()
514
- return
515
- }
516
-
517
- props.onCommand(item.name)
518
- }
519
- const select = () => {
520
- const item = items()[menu.selected()]
521
- if (!item) {
522
- return
523
- }
524
-
525
- pick(item)
526
- }
527
-
528
- createEffect(() => {
529
- query()
530
- menu.reset()
531
- })
532
-
533
- useKeyboard((event) => {
534
- if (event.defaultPrevented) {
535
- return
536
- }
537
-
538
- handleKey({ event, menu, field: () => field, setQuery, select, close: props.onClose })
539
- })
540
-
541
- return (
542
- <PanelShell
543
- title="Commands"
544
- countVisible={false}
545
- query={query()}
546
- count={items().length}
547
- total={entries().length}
548
- placeholder="Search"
549
- theme={props.theme}
550
- inputRef={(input) => {
551
- field = input
552
- }}
553
- onQuery={setQuery}
554
- dark
555
- chrome="minimal"
556
- >
557
- <RunFooterMenu
558
- theme={props.theme}
559
- items={items}
560
- selected={menu.selected}
561
- offset={menu.offset}
562
- rows={() => PANEL_LIST_ROWS}
563
- limit={PANEL_LIST_ROWS}
564
- empty="No results found"
565
- border={false}
566
- paddingLeft={PANEL_PAD}
567
- paddingRight={PANEL_PAD}
568
- grouped={!query().trim()}
569
- background
570
- headerColor={props.theme().muted}
571
- />
572
- </PanelShell>
573
- )
574
- }
575
-
576
- export function RunSubagentSelectBody(props: {
577
- theme: Accessor<RunFooterTheme>
578
- tabs: Accessor<FooterSubagentTab[]>
579
- current: Accessor<string | undefined>
580
- onClose: () => void
581
- onSelect: (sessionID: string) => void
582
- onRows?: (rows: number) => void
583
- }) {
584
- let field: InputRenderable | undefined
585
- const [query, setQuery] = createSignal("")
586
- const entries = createMemo<SubagentEntry[]>(() =>
587
- props.tabs().map((item) => {
588
- const title = item.description || item.title || item.label
589
- return {
590
- category: "",
591
- display: title,
592
- description: title === item.label ? undefined : item.label,
593
- footer: subagentStatusLabel(item.status),
594
- keywords: `${item.label} ${item.description} ${item.title ?? ""} ${item.status}`,
595
- sessionID: item.sessionID,
596
- current: props.current() === item.sessionID,
597
- }
598
- }),
599
- )
600
- const items = createMemo<SubagentEntry[]>(() => match(query(), entries()))
601
- const menu = createFooterMenuState({ count: () => items().length, limit: SUBAGENT_LIST_ROWS })
602
- const select = () => {
603
- const item = items()[menu.selected()]
604
- if (!item) {
605
- return
606
- }
607
-
608
- props.onSelect(item.sessionID)
609
- }
610
-
611
- createEffect(() => {
612
- query()
613
- menu.reset()
614
- })
615
-
616
- createEffect(() => {
617
- if (query().trim()) {
618
- return
619
- }
620
-
621
- const index = items().findIndex((item) => item.current)
622
- if (index !== -1) {
623
- menu.reveal(index)
624
- }
625
- })
626
-
627
- createEffect(() => {
628
- props.onRows?.(menu.rows() + PANEL_FRAME_ROWS)
629
- })
630
-
631
- useKeyboard((event) => {
632
- if (event.defaultPrevented) {
633
- return
634
- }
635
-
636
- if (event.name.toLowerCase() === "up" && menu.selected() === 0) {
637
- event.preventDefault()
638
- props.onClose()
639
- return
640
- }
641
-
642
- handleKey({ event, menu, field: () => field, setQuery, select, close: props.onClose })
643
- })
644
-
645
- return (
646
- <PanelShell
647
- title="Select subagent"
648
- query={query()}
649
- count={items().length}
650
- total={entries().length}
651
- placeholder="Search"
652
- theme={props.theme}
653
- inputRef={(input) => {
654
- field = input
655
- }}
656
- onQuery={setQuery}
657
- dark
658
- chrome="minimal"
659
- >
660
- <RunFooterMenu
661
- theme={props.theme}
662
- items={items}
663
- selected={menu.selected}
664
- offset={menu.offset}
665
- rows={menu.rows}
666
- limit={SUBAGENT_LIST_ROWS}
667
- empty="No subagents found"
668
- border={false}
669
- paddingLeft={PANEL_PAD}
670
- paddingRight={PANEL_PAD}
671
- grouped={false}
672
- background
673
- />
674
- </PanelShell>
675
- )
676
- }
677
-
678
- export function RunQueuedPromptSelectBody(props: {
679
- theme: Accessor<RunFooterTheme>
680
- prompts: Accessor<FooterQueuedPrompt[]>
681
- onClose: () => void
682
- onEdit: (prompt: FooterQueuedPrompt) => void | Promise<void>
683
- onDelete: (prompt: FooterQueuedPrompt) => void | Promise<void>
684
- onRows?: (rows: number) => void
685
- }) {
686
- let field: InputRenderable | undefined
687
- const [query, setQuery] = createSignal("")
688
- const entries = createMemo<QueuedEntry[]>(() =>
689
- props.prompts().map((prompt) => ({
690
- category: "",
691
- display: prompt.prompt.text.replaceAll("\n", " "),
692
- footer: "queued · ctrl+e edit · ctrl+d remove",
693
- keywords: prompt.prompt.text,
694
- prompt,
695
- })),
696
- )
697
- const items = createMemo<QueuedEntry[]>(() => match(query(), entries()))
698
- const menu = createFooterMenuState({ count: () => items().length, limit: SUBAGENT_LIST_ROWS })
699
- const selected = () => items()[menu.selected()]
700
-
701
- createEffect(() => {
702
- query()
703
- menu.reset()
704
- })
705
-
706
- createEffect(() => {
707
- props.onRows?.(menu.rows() + PANEL_FRAME_ROWS)
708
- })
709
-
710
- useKeyboard((event) => {
711
- if (event.defaultPrevented) {
712
- return
713
- }
714
-
715
- const item = selected()
716
- const ctrl = event.ctrl && !event.meta && !event.shift && !event.super
717
- if (item && (event.name === "delete" || (ctrl && event.name === "d"))) {
718
- event.preventDefault()
719
- props.onDelete(item.prompt)
720
- return
721
- }
722
-
723
- if (item && ctrl && event.name === "e") {
724
- event.preventDefault()
725
- props.onEdit(item.prompt)
726
- return
727
- }
728
-
729
- handleKey({
730
- event,
731
- menu,
732
- field: () => field,
733
- setQuery,
734
- select: () => {
735
- const item = selected()
736
- if (item) props.onEdit(item.prompt)
737
- },
738
- close: props.onClose,
739
- })
740
- })
741
-
742
- return (
743
- <PanelShell
744
- title="Queued prompts"
745
- query={query()}
746
- count={items().length}
747
- total={entries().length}
748
- placeholder="Search"
749
- theme={props.theme}
750
- inputRef={(input) => {
751
- field = input
752
- }}
753
- onQuery={setQuery}
754
- dark
755
- chrome="minimal"
756
- >
757
- <RunFooterMenu
758
- theme={props.theme}
759
- items={items}
760
- selected={menu.selected}
761
- offset={menu.offset}
762
- rows={menu.rows}
763
- limit={SUBAGENT_LIST_ROWS}
764
- empty="No queued prompts"
765
- border={false}
766
- paddingLeft={PANEL_PAD}
767
- paddingRight={PANEL_PAD}
768
- grouped={false}
769
- background
770
- />
771
- </PanelShell>
772
- )
773
- }
774
-
775
- export function RunSkillSelectBody(props: {
776
- theme: Accessor<RunFooterTheme>
777
- commands: Accessor<RunCommand[] | undefined>
778
- onClose: () => void
779
- onSelect: (name: string) => void
780
- }) {
781
- let field: InputRenderable | undefined
782
- const [query, setQuery] = createSignal("")
783
- const entries = createMemo<SkillEntry[]>(() =>
784
- (props.commands() ?? [])
785
- .filter((item) => item.source === "skill")
786
- .map((item) => ({
787
- category: "",
788
- display: item.name,
789
- description: item.description?.replace(/\s+/g, " ").trim() || undefined,
790
- keywords: `skill ${item.name} ${item.description ?? ""}`,
791
- name: item.name,
792
- }))
793
- .sort((a, b) => a.display.localeCompare(b.display)),
794
- )
795
- const items = createMemo<SkillEntry[]>(() => match(query(), entries()))
796
- const menu = createFooterMenuState({ count: () => items().length, limit: PANEL_LIST_ROWS })
797
- const select = () => {
798
- const item = items()[menu.selected()]
799
- if (!item) {
800
- return
801
- }
802
-
803
- props.onSelect(item.name)
804
- }
805
-
806
- createEffect(() => {
807
- query()
808
- menu.reset()
809
- })
810
-
811
- useKeyboard((event) => {
812
- if (event.defaultPrevented) {
813
- return
814
- }
815
-
816
- handleKey({ event, menu, field: () => field, setQuery, select, close: props.onClose })
817
- })
818
-
819
- return (
820
- <PanelShell
821
- title="Skills"
822
- query={query()}
823
- count={items().length}
824
- total={entries().length}
825
- placeholder="Search"
826
- theme={props.theme}
827
- inputRef={(input) => {
828
- field = input
829
- }}
830
- onQuery={setQuery}
831
- dark
832
- chrome="minimal"
833
- >
834
- <RunFooterMenu
835
- theme={props.theme}
836
- items={items}
837
- selected={menu.selected}
838
- offset={menu.offset}
839
- rows={() => PANEL_LIST_ROWS}
840
- limit={PANEL_LIST_ROWS}
841
- empty={props.commands() ? "No skills found" : "Skills loading"}
842
- border={false}
843
- paddingLeft={PANEL_PAD}
844
- paddingRight={PANEL_PAD}
845
- grouped={false}
846
- background
847
- />
848
- </PanelShell>
849
- )
850
- }
851
-
852
- export function RunVariantSelectBody(props: {
853
- theme: Accessor<RunFooterTheme>
854
- variants: Accessor<string[]>
855
- current: Accessor<string | undefined>
856
- onClose: () => void
857
- onSelect: (variant: string | undefined) => void
858
- }) {
859
- let field: InputRenderable | undefined
860
- const [query, setQuery] = createSignal("")
861
- const entries = createMemo<VariantEntry[]>(() => [
862
- {
863
- category: "",
864
- display: "Default",
865
- description: props.current() === undefined ? "current" : undefined,
866
- keywords: "default",
867
- variant: undefined,
868
- current: props.current() === undefined,
869
- },
870
- ...props.variants().map((variant) => ({
871
- category: "",
872
- display: variant,
873
- description: props.current() === variant ? "current" : undefined,
874
- keywords: variant,
875
- variant,
876
- current: props.current() === variant,
877
- })),
878
- ])
879
- const items = createMemo<VariantEntry[]>(() => match(query(), entries()))
880
- const menu = createFooterMenuState({ count: () => items().length, limit: PANEL_LIST_ROWS })
881
- const pick = (item: VariantEntry) => {
882
- props.onSelect(item.variant)
883
- }
884
- const select = () => {
885
- const item = items()[menu.selected()]
886
- if (!item) {
887
- return
888
- }
889
-
890
- pick(item)
891
- }
892
-
893
- createEffect(() => {
894
- query()
895
- menu.reset()
896
- })
897
-
898
- createEffect(() => {
899
- if (query().trim()) {
900
- return
901
- }
902
-
903
- const index = items().findIndex((item) => item.current)
904
- if (index !== -1) {
905
- menu.reveal(index)
906
- }
907
- })
908
-
909
- useKeyboard((event) => {
910
- if (event.defaultPrevented) {
911
- return
912
- }
913
-
914
- handleKey({ event, menu, field: () => field, setQuery, select, close: props.onClose })
915
- })
916
-
917
- return (
918
- <PanelShell
919
- title="Select variant"
920
- query={query()}
921
- count={items().length}
922
- total={entries().length}
923
- placeholder="Search"
924
- theme={props.theme}
925
- inputRef={(input) => {
926
- field = input
927
- }}
928
- onQuery={setQuery}
929
- dark
930
- chrome="minimal"
931
- >
932
- <RunFooterMenu
933
- theme={props.theme}
934
- items={items}
935
- selected={menu.selected}
936
- offset={menu.offset}
937
- rows={() => PANEL_LIST_ROWS}
938
- limit={PANEL_LIST_ROWS}
939
- empty="No results found"
940
- border={false}
941
- paddingLeft={PANEL_PAD}
942
- paddingRight={PANEL_PAD}
943
- grouped={false}
944
- background
945
- />
946
- </PanelShell>
947
- )
948
- }
949
-
950
- export function RunModelSelectBody(props: {
951
- theme: Accessor<RunFooterTheme>
952
- providers: Accessor<RunProvider[] | undefined>
953
- current: Accessor<RunInput["model"]>
954
- onClose: () => void
955
- onSelect: (model: NonNullable<RunInput["model"]>) => void
956
- }) {
957
- let field: InputRenderable | undefined
958
- const [query, setQuery] = createSignal("")
959
- const entries = createMemo<ModelEntry[]>(() =>
960
- (props.providers() ?? [])
961
- .flatMap((provider) =>
962
- Object.entries(provider.models)
963
- .filter(([, model]) => model.status !== "deprecated")
964
- .map(([modelID, model]) => {
965
- const title = model.name ?? modelID
966
- const current = props.current()?.providerID === provider.id && props.current()?.modelID === modelID
967
- const footer = current
968
- ? "current"
969
- : model.cost?.input === 0 && provider.id === "anymous"
970
- ? "Free"
971
- : title !== modelID
972
- ? modelID
973
- : undefined
974
- return {
975
- providerID: provider.id,
976
- modelID,
977
- providerName: provider.name,
978
- category: provider.name,
979
- display: title,
980
- footer,
981
- keywords: `${provider.id} ${provider.name} ${modelID} ${title} ${footer ?? ""}`,
982
- current,
983
- }
984
- }),
985
- )
986
- .sort((a, b) => {
987
- const provider = Number(a.providerID !== "anymous") - Number(b.providerID !== "anymous")
988
- if (provider !== 0) {
989
- return provider
990
- }
991
-
992
- const name = a.providerName.localeCompare(b.providerName)
993
- if (name !== 0) {
994
- return name
995
- }
996
-
997
- return a.display.localeCompare(b.display)
998
- }),
999
- )
1000
- const items = createMemo<ModelEntry[]>(() => match(query(), entries()))
1001
- const menu = createFooterMenuState({ count: () => items().length, limit: PANEL_LIST_ROWS })
1002
- const pick = (item: ModelEntry) => {
1003
- props.onSelect({ providerID: item.providerID, modelID: item.modelID })
1004
- }
1005
- const select = () => {
1006
- const item = items()[menu.selected()]
1007
- if (!item) {
1008
- return
1009
- }
1010
-
1011
- pick(item)
1012
- }
1013
-
1014
- createEffect(() => {
1015
- query()
1016
- menu.reset()
1017
- })
1018
-
1019
- createEffect(() => {
1020
- if (query().trim()) {
1021
- return
1022
- }
1023
-
1024
- const index = items().findIndex((item) => item.current)
1025
- if (index !== -1) {
1026
- menu.reveal(index)
1027
- }
1028
- })
1029
-
1030
- useKeyboard((event) => {
1031
- if (event.defaultPrevented) {
1032
- return
1033
- }
1034
-
1035
- handleKey({ event, menu, field: () => field, setQuery, select, close: props.onClose })
1036
- })
1037
-
1038
- return (
1039
- <PanelShell
1040
- title="Select model"
1041
- query={query()}
1042
- count={items().length}
1043
- total={entries().length}
1044
- placeholder="Search"
1045
- theme={props.theme}
1046
- inputRef={(input) => {
1047
- field = input
1048
- }}
1049
- onQuery={setQuery}
1050
- dark
1051
- chrome="minimal"
1052
- >
1053
- <RunFooterMenu
1054
- theme={props.theme}
1055
- items={items}
1056
- selected={menu.selected}
1057
- offset={menu.offset}
1058
- rows={() => PANEL_LIST_ROWS}
1059
- limit={PANEL_LIST_ROWS}
1060
- empty={props.providers() ? "No results found" : "Models loading"}
1061
- border={false}
1062
- paddingLeft={PANEL_PAD}
1063
- paddingRight={PANEL_PAD}
1064
- grouped={!query().trim()}
1065
- background
1066
- headerColor={props.theme().muted}
1067
- />
1068
- </PanelShell>
1069
- )
1070
- }