@mohanscodex/spectra-code 0.4.8 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (861) hide show
  1. package/README.md +42 -2
  2. package/dist/package.json +8 -5
  3. package/dist/src/agents/definitions/build.d.ts +3 -0
  4. package/dist/src/agents/definitions/build.d.ts.map +1 -0
  5. package/dist/src/agents/definitions/build.js +51 -0
  6. package/dist/src/agents/definitions/build.js.map +1 -0
  7. package/dist/src/agents/definitions/debug.d.ts +3 -0
  8. package/dist/src/agents/definitions/debug.d.ts.map +1 -0
  9. package/dist/src/agents/definitions/debug.js +45 -0
  10. package/dist/src/agents/definitions/debug.js.map +1 -0
  11. package/dist/src/agents/definitions/explore.d.ts +3 -0
  12. package/dist/src/agents/definitions/explore.d.ts.map +1 -0
  13. package/dist/src/agents/definitions/explore.js +34 -0
  14. package/dist/src/agents/definitions/explore.js.map +1 -0
  15. package/dist/src/agents/definitions/index.d.ts +5 -0
  16. package/dist/src/agents/definitions/index.d.ts.map +1 -0
  17. package/dist/src/agents/definitions/index.js +19 -0
  18. package/dist/src/agents/definitions/index.js.map +1 -0
  19. package/dist/src/agents/definitions/plan.d.ts +3 -0
  20. package/dist/src/agents/definitions/plan.d.ts.map +1 -0
  21. package/dist/src/agents/definitions/plan.js +44 -0
  22. package/dist/src/agents/definitions/plan.js.map +1 -0
  23. package/dist/src/agents/definitions/title.d.ts +3 -0
  24. package/dist/src/agents/definitions/title.d.ts.map +1 -0
  25. package/dist/src/agents/definitions/title.js +34 -0
  26. package/dist/src/agents/definitions/title.js.map +1 -0
  27. package/dist/src/agents/index.d.ts +6 -0
  28. package/dist/src/agents/index.d.ts.map +1 -0
  29. package/dist/src/agents/index.js +10 -0
  30. package/dist/src/agents/index.js.map +1 -0
  31. package/dist/src/agents/types.d.ts +15 -0
  32. package/dist/src/agents/types.d.ts.map +1 -0
  33. package/dist/src/agents/types.js +2 -0
  34. package/dist/src/agents/types.js.map +1 -0
  35. package/dist/src/cli.js +2 -2
  36. package/dist/src/cli.js.map +1 -1
  37. package/dist/src/commands/session.js +1 -1
  38. package/dist/src/commands/session.js.map +1 -1
  39. package/dist/src/integrations/acp/server.js +1 -1
  40. package/dist/src/integrations/acp/server.js.map +1 -1
  41. package/dist/src/services/prompt-history.d.ts +32 -0
  42. package/dist/src/services/prompt-history.d.ts.map +1 -0
  43. package/dist/src/services/prompt-history.js +144 -0
  44. package/dist/src/services/prompt-history.js.map +1 -0
  45. package/dist/src/services/snapshot-manager.d.ts +32 -32
  46. package/dist/src/services/snapshot-manager.d.ts.map +1 -1
  47. package/dist/src/services/snapshot-manager.js +308 -155
  48. package/dist/src/services/snapshot-manager.js.map +1 -1
  49. package/dist/src/tools/edit.d.ts.map +1 -1
  50. package/dist/src/tools/edit.js +5 -22
  51. package/dist/src/tools/edit.js.map +1 -1
  52. package/dist/src/tools/glob.d.ts.map +1 -1
  53. package/dist/src/tools/glob.js +2 -1
  54. package/dist/src/tools/glob.js.map +1 -1
  55. package/dist/src/tools/grep.js +2 -2
  56. package/dist/src/tools/grep.js.map +1 -1
  57. package/dist/src/tools/index.d.ts +5 -0
  58. package/dist/src/tools/index.d.ts.map +1 -1
  59. package/dist/src/tools/index.js +30 -1
  60. package/dist/src/tools/index.js.map +1 -1
  61. package/dist/src/tools/task.js +1 -1
  62. package/dist/src/tools/task.js.map +1 -1
  63. package/dist/src/tools/write.d.ts.map +1 -1
  64. package/dist/src/tools/write.js +7 -4
  65. package/dist/src/tools/write.js.map +1 -1
  66. package/dist/src/tui/app-constants.js +1 -1
  67. package/dist/src/tui/app-constants.js.map +1 -1
  68. package/dist/src/tui/app.d.ts.map +1 -1
  69. package/dist/src/tui/app.js +35 -15
  70. package/dist/src/tui/app.js.map +1 -1
  71. package/dist/src/tui/commands.d.ts +15 -0
  72. package/dist/src/tui/commands.d.ts.map +1 -1
  73. package/dist/src/tui/commands.js +252 -1
  74. package/dist/src/tui/commands.js.map +1 -1
  75. package/dist/src/tui/components/chat-area.d.ts.map +1 -1
  76. package/dist/src/tui/components/chat-area.js +1 -1
  77. package/dist/src/tui/components/chat-area.js.map +1 -1
  78. package/dist/src/tui/components/message.d.ts.map +1 -1
  79. package/dist/src/tui/components/message.js +79 -4
  80. package/dist/src/tui/components/message.js.map +1 -1
  81. package/dist/src/tui/hooks/use-agent.d.ts.map +1 -1
  82. package/dist/src/tui/hooks/use-agent.js +17 -4
  83. package/dist/src/tui/hooks/use-agent.js.map +1 -1
  84. package/dist/src/tui/hooks/use-app-keyboard.d.ts +4 -5
  85. package/dist/src/tui/hooks/use-app-keyboard.d.ts.map +1 -1
  86. package/dist/src/tui/hooks/use-app-keyboard.js +23 -24
  87. package/dist/src/tui/hooks/use-app-keyboard.js.map +1 -1
  88. package/dist/src/tui/hooks/use-chat-submit.d.ts +2 -2
  89. package/dist/src/tui/hooks/use-chat-submit.d.ts.map +1 -1
  90. package/dist/src/tui/hooks/use-chat-submit.js +143 -20
  91. package/dist/src/tui/hooks/use-chat-submit.js.map +1 -1
  92. package/dist/src/tui/hooks/use-revert.d.ts +3 -5
  93. package/dist/src/tui/hooks/use-revert.d.ts.map +1 -1
  94. package/dist/src/tui/hooks/use-revert.js +83 -34
  95. package/dist/src/tui/hooks/use-revert.js.map +1 -1
  96. package/dist/src/tui/hooks/use-title-agent.d.ts +13 -0
  97. package/dist/src/tui/hooks/use-title-agent.d.ts.map +1 -0
  98. package/dist/src/tui/hooks/use-title-agent.js +50 -0
  99. package/dist/src/tui/hooks/use-title-agent.js.map +1 -0
  100. package/dist/src/tui/prompt-bar.d.ts.map +1 -1
  101. package/dist/src/tui/prompt-bar.js +27 -33
  102. package/dist/src/tui/prompt-bar.js.map +1 -1
  103. package/dist/src/tui/theme.d.ts +2 -0
  104. package/dist/src/tui/theme.d.ts.map +1 -1
  105. package/dist/src/tui/theme.js +2 -0
  106. package/dist/src/tui/theme.js.map +1 -1
  107. package/dist/src/tui/types.d.ts +5 -0
  108. package/dist/src/tui/types.d.ts.map +1 -1
  109. package/dist/src/tui/ui/agent-switcher.js +1 -1
  110. package/dist/src/tui/ui/agent-switcher.js.map +1 -1
  111. package/dist/src/tui/ui/cost-dialog.d.ts +14 -0
  112. package/dist/src/tui/ui/cost-dialog.d.ts.map +1 -0
  113. package/dist/src/tui/ui/cost-dialog.js +28 -0
  114. package/dist/src/tui/ui/cost-dialog.js.map +1 -0
  115. package/dist/src/tui/ui/debug-dialog.js +1 -1
  116. package/dist/src/tui/ui/debug-dialog.js.map +1 -1
  117. package/dist/src/tui/ui/session-list.js +1 -1
  118. package/dist/src/tui/ui/session-list.js.map +1 -1
  119. package/dist/src/tui/utils/terminal-title.d.ts +3 -0
  120. package/dist/src/tui/utils/terminal-title.d.ts.map +1 -0
  121. package/dist/src/tui/utils/terminal-title.js +14 -0
  122. package/dist/src/tui/utils/terminal-title.js.map +1 -0
  123. package/dist/src/tui/utils/version.d.ts +1 -1
  124. package/dist/src/tui/utils/version.d.ts.map +1 -1
  125. package/dist/src/tui/utils/version.js +4 -22
  126. package/dist/src/tui/utils/version.js.map +1 -1
  127. package/dist/src/utils/paths.d.ts +1 -0
  128. package/dist/src/utils/paths.d.ts.map +1 -1
  129. package/dist/src/utils/paths.js +13 -0
  130. package/dist/src/utils/paths.js.map +1 -1
  131. package/package.json +9 -6
  132. package/skills/REQUESTS.md +36 -0
  133. package/skills/architecture/ABOUT.md +20 -0
  134. package/skills/architecture/preserving-productive-tensions/SKILL.md +152 -0
  135. package/skills/aspnet-core/LICENSE.txt +202 -0
  136. package/skills/aspnet-core/SKILL.md +61 -0
  137. package/skills/aspnet-core/agents/openai.yaml +5 -0
  138. package/skills/aspnet-core/assets/dotnet-logo.png +0 -0
  139. package/skills/aspnet-core/references/_sections.md +40 -0
  140. package/skills/aspnet-core/references/apis-minimal-and-controllers.md +81 -0
  141. package/skills/aspnet-core/references/data-state-and-services.md +69 -0
  142. package/skills/aspnet-core/references/program-and-pipeline.md +103 -0
  143. package/skills/aspnet-core/references/realtime-grpc-and-background-work.md +58 -0
  144. package/skills/aspnet-core/references/security-and-identity.md +75 -0
  145. package/skills/aspnet-core/references/source-map.md +43 -0
  146. package/skills/aspnet-core/references/stack-selection.md +63 -0
  147. package/skills/aspnet-core/references/testing-performance-and-operations.md +92 -0
  148. package/skills/aspnet-core/references/ui-blazor.md +53 -0
  149. package/skills/aspnet-core/references/ui-mvc.md +56 -0
  150. package/skills/aspnet-core/references/ui-razor-pages.md +55 -0
  151. package/skills/aspnet-core/references/versioning-and-upgrades.md +51 -0
  152. package/skills/chatgpt-apps/LICENSE.txt +201 -0
  153. package/skills/chatgpt-apps/SKILL.md +320 -0
  154. package/skills/chatgpt-apps/agents/openai.yaml +13 -0
  155. package/skills/chatgpt-apps/references/app-archetypes.md +132 -0
  156. package/skills/chatgpt-apps/references/apps-sdk-docs-workflow.md +135 -0
  157. package/skills/chatgpt-apps/references/interactive-state-sync-patterns.md +113 -0
  158. package/skills/chatgpt-apps/references/repo-contract-and-validation.md +93 -0
  159. package/skills/chatgpt-apps/references/search-fetch-standard.md +67 -0
  160. package/skills/chatgpt-apps/references/upstream-example-workflow.md +79 -0
  161. package/skills/chatgpt-apps/references/window-openai-patterns.md +70 -0
  162. package/skills/chatgpt-apps/scripts/scaffold_node_ext_apps.mjs +606 -0
  163. package/skills/cloudflare-deploy/LICENSE.txt +201 -0
  164. package/skills/cloudflare-deploy/SKILL.md +224 -0
  165. package/skills/cloudflare-deploy/agents/openai.yaml +6 -0
  166. package/skills/cloudflare-deploy/assets/cloudflare-small.svg +3 -0
  167. package/skills/cloudflare-deploy/assets/cloudflare.png +0 -0
  168. package/skills/cloudflare-deploy/references/agents-sdk/README.md +89 -0
  169. package/skills/cloudflare-deploy/references/agents-sdk/api.md +190 -0
  170. package/skills/cloudflare-deploy/references/agents-sdk/configuration.md +182 -0
  171. package/skills/cloudflare-deploy/references/agents-sdk/gotchas.md +158 -0
  172. package/skills/cloudflare-deploy/references/agents-sdk/patterns.md +192 -0
  173. package/skills/cloudflare-deploy/references/ai-gateway/README.md +175 -0
  174. package/skills/cloudflare-deploy/references/ai-gateway/configuration.md +111 -0
  175. package/skills/cloudflare-deploy/references/ai-gateway/dynamic-routing.md +82 -0
  176. package/skills/cloudflare-deploy/references/ai-gateway/features.md +96 -0
  177. package/skills/cloudflare-deploy/references/ai-gateway/sdk-integration.md +114 -0
  178. package/skills/cloudflare-deploy/references/ai-gateway/troubleshooting.md +88 -0
  179. package/skills/cloudflare-deploy/references/ai-search/README.md +138 -0
  180. package/skills/cloudflare-deploy/references/ai-search/api.md +87 -0
  181. package/skills/cloudflare-deploy/references/ai-search/configuration.md +88 -0
  182. package/skills/cloudflare-deploy/references/ai-search/gotchas.md +81 -0
  183. package/skills/cloudflare-deploy/references/ai-search/patterns.md +85 -0
  184. package/skills/cloudflare-deploy/references/analytics-engine/README.md +92 -0
  185. package/skills/cloudflare-deploy/references/analytics-engine/api.md +112 -0
  186. package/skills/cloudflare-deploy/references/analytics-engine/configuration.md +112 -0
  187. package/skills/cloudflare-deploy/references/analytics-engine/gotchas.md +85 -0
  188. package/skills/cloudflare-deploy/references/analytics-engine/patterns.md +83 -0
  189. package/skills/cloudflare-deploy/references/api/README.md +65 -0
  190. package/skills/cloudflare-deploy/references/api/api.md +204 -0
  191. package/skills/cloudflare-deploy/references/api/configuration.md +160 -0
  192. package/skills/cloudflare-deploy/references/api/gotchas.md +225 -0
  193. package/skills/cloudflare-deploy/references/api/patterns.md +204 -0
  194. package/skills/cloudflare-deploy/references/api-shield/README.md +44 -0
  195. package/skills/cloudflare-deploy/references/api-shield/api.md +141 -0
  196. package/skills/cloudflare-deploy/references/api-shield/configuration.md +192 -0
  197. package/skills/cloudflare-deploy/references/api-shield/gotchas.md +125 -0
  198. package/skills/cloudflare-deploy/references/api-shield/patterns.md +180 -0
  199. package/skills/cloudflare-deploy/references/argo-smart-routing/README.md +90 -0
  200. package/skills/cloudflare-deploy/references/argo-smart-routing/api.md +240 -0
  201. package/skills/cloudflare-deploy/references/argo-smart-routing/configuration.md +197 -0
  202. package/skills/cloudflare-deploy/references/argo-smart-routing/gotchas.md +111 -0
  203. package/skills/cloudflare-deploy/references/argo-smart-routing/patterns.md +104 -0
  204. package/skills/cloudflare-deploy/references/bindings/README.md +122 -0
  205. package/skills/cloudflare-deploy/references/bindings/api.md +203 -0
  206. package/skills/cloudflare-deploy/references/bindings/configuration.md +188 -0
  207. package/skills/cloudflare-deploy/references/bindings/gotchas.md +208 -0
  208. package/skills/cloudflare-deploy/references/bindings/patterns.md +200 -0
  209. package/skills/cloudflare-deploy/references/bot-management/README.md +94 -0
  210. package/skills/cloudflare-deploy/references/bot-management/api.md +169 -0
  211. package/skills/cloudflare-deploy/references/bot-management/configuration.md +163 -0
  212. package/skills/cloudflare-deploy/references/bot-management/gotchas.md +114 -0
  213. package/skills/cloudflare-deploy/references/bot-management/patterns.md +182 -0
  214. package/skills/cloudflare-deploy/references/browser-rendering/README.md +78 -0
  215. package/skills/cloudflare-deploy/references/browser-rendering/api.md +108 -0
  216. package/skills/cloudflare-deploy/references/browser-rendering/configuration.md +78 -0
  217. package/skills/cloudflare-deploy/references/browser-rendering/gotchas.md +88 -0
  218. package/skills/cloudflare-deploy/references/browser-rendering/patterns.md +91 -0
  219. package/skills/cloudflare-deploy/references/c3/README.md +111 -0
  220. package/skills/cloudflare-deploy/references/c3/api.md +71 -0
  221. package/skills/cloudflare-deploy/references/c3/configuration.md +81 -0
  222. package/skills/cloudflare-deploy/references/c3/gotchas.md +92 -0
  223. package/skills/cloudflare-deploy/references/c3/patterns.md +82 -0
  224. package/skills/cloudflare-deploy/references/cache-reserve/README.md +147 -0
  225. package/skills/cloudflare-deploy/references/cache-reserve/api.md +194 -0
  226. package/skills/cloudflare-deploy/references/cache-reserve/configuration.md +169 -0
  227. package/skills/cloudflare-deploy/references/cache-reserve/gotchas.md +132 -0
  228. package/skills/cloudflare-deploy/references/cache-reserve/patterns.md +197 -0
  229. package/skills/cloudflare-deploy/references/containers/README.md +85 -0
  230. package/skills/cloudflare-deploy/references/containers/api.md +187 -0
  231. package/skills/cloudflare-deploy/references/containers/configuration.md +188 -0
  232. package/skills/cloudflare-deploy/references/containers/gotchas.md +178 -0
  233. package/skills/cloudflare-deploy/references/containers/patterns.md +202 -0
  234. package/skills/cloudflare-deploy/references/cron-triggers/README.md +99 -0
  235. package/skills/cloudflare-deploy/references/cron-triggers/api.md +196 -0
  236. package/skills/cloudflare-deploy/references/cron-triggers/configuration.md +180 -0
  237. package/skills/cloudflare-deploy/references/cron-triggers/gotchas.md +199 -0
  238. package/skills/cloudflare-deploy/references/cron-triggers/patterns.md +190 -0
  239. package/skills/cloudflare-deploy/references/d1/README.md +133 -0
  240. package/skills/cloudflare-deploy/references/d1/api.md +196 -0
  241. package/skills/cloudflare-deploy/references/d1/configuration.md +188 -0
  242. package/skills/cloudflare-deploy/references/d1/gotchas.md +98 -0
  243. package/skills/cloudflare-deploy/references/d1/patterns.md +189 -0
  244. package/skills/cloudflare-deploy/references/ddos/README.md +41 -0
  245. package/skills/cloudflare-deploy/references/ddos/api.md +164 -0
  246. package/skills/cloudflare-deploy/references/ddos/configuration.md +93 -0
  247. package/skills/cloudflare-deploy/references/ddos/gotchas.md +107 -0
  248. package/skills/cloudflare-deploy/references/ddos/patterns.md +174 -0
  249. package/skills/cloudflare-deploy/references/do-storage/README.md +75 -0
  250. package/skills/cloudflare-deploy/references/do-storage/api.md +102 -0
  251. package/skills/cloudflare-deploy/references/do-storage/configuration.md +112 -0
  252. package/skills/cloudflare-deploy/references/do-storage/gotchas.md +150 -0
  253. package/skills/cloudflare-deploy/references/do-storage/patterns.md +182 -0
  254. package/skills/cloudflare-deploy/references/do-storage/testing.md +183 -0
  255. package/skills/cloudflare-deploy/references/durable-objects/README.md +185 -0
  256. package/skills/cloudflare-deploy/references/durable-objects/api.md +187 -0
  257. package/skills/cloudflare-deploy/references/durable-objects/configuration.md +160 -0
  258. package/skills/cloudflare-deploy/references/durable-objects/gotchas.md +197 -0
  259. package/skills/cloudflare-deploy/references/durable-objects/patterns.md +201 -0
  260. package/skills/cloudflare-deploy/references/email-routing/README.md +89 -0
  261. package/skills/cloudflare-deploy/references/email-routing/api.md +195 -0
  262. package/skills/cloudflare-deploy/references/email-routing/configuration.md +186 -0
  263. package/skills/cloudflare-deploy/references/email-routing/gotchas.md +196 -0
  264. package/skills/cloudflare-deploy/references/email-routing/patterns.md +229 -0
  265. package/skills/cloudflare-deploy/references/email-workers/README.md +151 -0
  266. package/skills/cloudflare-deploy/references/email-workers/api.md +237 -0
  267. package/skills/cloudflare-deploy/references/email-workers/configuration.md +112 -0
  268. package/skills/cloudflare-deploy/references/email-workers/gotchas.md +125 -0
  269. package/skills/cloudflare-deploy/references/email-workers/patterns.md +102 -0
  270. package/skills/cloudflare-deploy/references/hyperdrive/README.md +82 -0
  271. package/skills/cloudflare-deploy/references/hyperdrive/api.md +143 -0
  272. package/skills/cloudflare-deploy/references/hyperdrive/configuration.md +159 -0
  273. package/skills/cloudflare-deploy/references/hyperdrive/gotchas.md +77 -0
  274. package/skills/cloudflare-deploy/references/hyperdrive/patterns.md +190 -0
  275. package/skills/cloudflare-deploy/references/images/README.md +61 -0
  276. package/skills/cloudflare-deploy/references/images/api.md +96 -0
  277. package/skills/cloudflare-deploy/references/images/configuration.md +211 -0
  278. package/skills/cloudflare-deploy/references/images/gotchas.md +99 -0
  279. package/skills/cloudflare-deploy/references/images/patterns.md +115 -0
  280. package/skills/cloudflare-deploy/references/kv/README.md +89 -0
  281. package/skills/cloudflare-deploy/references/kv/api.md +160 -0
  282. package/skills/cloudflare-deploy/references/kv/configuration.md +144 -0
  283. package/skills/cloudflare-deploy/references/kv/gotchas.md +131 -0
  284. package/skills/cloudflare-deploy/references/kv/patterns.md +196 -0
  285. package/skills/cloudflare-deploy/references/miniflare/README.md +105 -0
  286. package/skills/cloudflare-deploy/references/miniflare/api.md +187 -0
  287. package/skills/cloudflare-deploy/references/miniflare/configuration.md +173 -0
  288. package/skills/cloudflare-deploy/references/miniflare/gotchas.md +160 -0
  289. package/skills/cloudflare-deploy/references/miniflare/patterns.md +181 -0
  290. package/skills/cloudflare-deploy/references/network-interconnect/README.md +99 -0
  291. package/skills/cloudflare-deploy/references/network-interconnect/api.md +199 -0
  292. package/skills/cloudflare-deploy/references/network-interconnect/configuration.md +114 -0
  293. package/skills/cloudflare-deploy/references/network-interconnect/gotchas.md +165 -0
  294. package/skills/cloudflare-deploy/references/network-interconnect/patterns.md +166 -0
  295. package/skills/cloudflare-deploy/references/observability/README.md +87 -0
  296. package/skills/cloudflare-deploy/references/observability/api.md +164 -0
  297. package/skills/cloudflare-deploy/references/observability/configuration.md +169 -0
  298. package/skills/cloudflare-deploy/references/observability/gotchas.md +115 -0
  299. package/skills/cloudflare-deploy/references/observability/patterns.md +105 -0
  300. package/skills/cloudflare-deploy/references/pages/README.md +88 -0
  301. package/skills/cloudflare-deploy/references/pages/api.md +204 -0
  302. package/skills/cloudflare-deploy/references/pages/configuration.md +201 -0
  303. package/skills/cloudflare-deploy/references/pages/gotchas.md +203 -0
  304. package/skills/cloudflare-deploy/references/pages/patterns.md +204 -0
  305. package/skills/cloudflare-deploy/references/pages-functions/README.md +98 -0
  306. package/skills/cloudflare-deploy/references/pages-functions/api.md +143 -0
  307. package/skills/cloudflare-deploy/references/pages-functions/configuration.md +122 -0
  308. package/skills/cloudflare-deploy/references/pages-functions/gotchas.md +94 -0
  309. package/skills/cloudflare-deploy/references/pages-functions/patterns.md +137 -0
  310. package/skills/cloudflare-deploy/references/pipelines/README.md +105 -0
  311. package/skills/cloudflare-deploy/references/pipelines/api.md +208 -0
  312. package/skills/cloudflare-deploy/references/pipelines/configuration.md +98 -0
  313. package/skills/cloudflare-deploy/references/pipelines/gotchas.md +80 -0
  314. package/skills/cloudflare-deploy/references/pipelines/patterns.md +87 -0
  315. package/skills/cloudflare-deploy/references/pulumi/README.md +100 -0
  316. package/skills/cloudflare-deploy/references/pulumi/api.md +200 -0
  317. package/skills/cloudflare-deploy/references/pulumi/configuration.md +198 -0
  318. package/skills/cloudflare-deploy/references/pulumi/gotchas.md +181 -0
  319. package/skills/cloudflare-deploy/references/pulumi/patterns.md +191 -0
  320. package/skills/cloudflare-deploy/references/queues/README.md +96 -0
  321. package/skills/cloudflare-deploy/references/queues/api.md +206 -0
  322. package/skills/cloudflare-deploy/references/queues/configuration.md +144 -0
  323. package/skills/cloudflare-deploy/references/queues/gotchas.md +206 -0
  324. package/skills/cloudflare-deploy/references/queues/patterns.md +220 -0
  325. package/skills/cloudflare-deploy/references/r2/README.md +95 -0
  326. package/skills/cloudflare-deploy/references/r2/api.md +200 -0
  327. package/skills/cloudflare-deploy/references/r2/configuration.md +165 -0
  328. package/skills/cloudflare-deploy/references/r2/gotchas.md +190 -0
  329. package/skills/cloudflare-deploy/references/r2/patterns.md +193 -0
  330. package/skills/cloudflare-deploy/references/r2-data-catalog/README.md +149 -0
  331. package/skills/cloudflare-deploy/references/r2-data-catalog/api.md +199 -0
  332. package/skills/cloudflare-deploy/references/r2-data-catalog/configuration.md +198 -0
  333. package/skills/cloudflare-deploy/references/r2-data-catalog/gotchas.md +170 -0
  334. package/skills/cloudflare-deploy/references/r2-data-catalog/patterns.md +191 -0
  335. package/skills/cloudflare-deploy/references/r2-sql/README.md +128 -0
  336. package/skills/cloudflare-deploy/references/r2-sql/api.md +158 -0
  337. package/skills/cloudflare-deploy/references/r2-sql/configuration.md +147 -0
  338. package/skills/cloudflare-deploy/references/r2-sql/gotchas.md +212 -0
  339. package/skills/cloudflare-deploy/references/r2-sql/patterns.md +222 -0
  340. package/skills/cloudflare-deploy/references/realtime-sfu/README.md +65 -0
  341. package/skills/cloudflare-deploy/references/realtime-sfu/api.md +158 -0
  342. package/skills/cloudflare-deploy/references/realtime-sfu/configuration.md +137 -0
  343. package/skills/cloudflare-deploy/references/realtime-sfu/gotchas.md +133 -0
  344. package/skills/cloudflare-deploy/references/realtime-sfu/patterns.md +174 -0
  345. package/skills/cloudflare-deploy/references/realtimekit/README.md +113 -0
  346. package/skills/cloudflare-deploy/references/realtimekit/api.md +212 -0
  347. package/skills/cloudflare-deploy/references/realtimekit/configuration.md +203 -0
  348. package/skills/cloudflare-deploy/references/realtimekit/gotchas.md +169 -0
  349. package/skills/cloudflare-deploy/references/realtimekit/patterns.md +223 -0
  350. package/skills/cloudflare-deploy/references/sandbox/README.md +96 -0
  351. package/skills/cloudflare-deploy/references/sandbox/api.md +198 -0
  352. package/skills/cloudflare-deploy/references/sandbox/configuration.md +143 -0
  353. package/skills/cloudflare-deploy/references/sandbox/gotchas.md +194 -0
  354. package/skills/cloudflare-deploy/references/sandbox/patterns.md +201 -0
  355. package/skills/cloudflare-deploy/references/secrets-store/README.md +74 -0
  356. package/skills/cloudflare-deploy/references/secrets-store/api.md +200 -0
  357. package/skills/cloudflare-deploy/references/secrets-store/configuration.md +185 -0
  358. package/skills/cloudflare-deploy/references/secrets-store/gotchas.md +97 -0
  359. package/skills/cloudflare-deploy/references/secrets-store/patterns.md +207 -0
  360. package/skills/cloudflare-deploy/references/smart-placement/README.md +138 -0
  361. package/skills/cloudflare-deploy/references/smart-placement/api.md +183 -0
  362. package/skills/cloudflare-deploy/references/smart-placement/configuration.md +196 -0
  363. package/skills/cloudflare-deploy/references/smart-placement/gotchas.md +174 -0
  364. package/skills/cloudflare-deploy/references/smart-placement/patterns.md +183 -0
  365. package/skills/cloudflare-deploy/references/snippets/README.md +68 -0
  366. package/skills/cloudflare-deploy/references/snippets/api.md +198 -0
  367. package/skills/cloudflare-deploy/references/snippets/configuration.md +227 -0
  368. package/skills/cloudflare-deploy/references/snippets/gotchas.md +86 -0
  369. package/skills/cloudflare-deploy/references/snippets/patterns.md +135 -0
  370. package/skills/cloudflare-deploy/references/spectrum/README.md +52 -0
  371. package/skills/cloudflare-deploy/references/spectrum/api.md +181 -0
  372. package/skills/cloudflare-deploy/references/spectrum/configuration.md +194 -0
  373. package/skills/cloudflare-deploy/references/spectrum/gotchas.md +145 -0
  374. package/skills/cloudflare-deploy/references/spectrum/patterns.md +196 -0
  375. package/skills/cloudflare-deploy/references/static-assets/README.md +65 -0
  376. package/skills/cloudflare-deploy/references/static-assets/api.md +199 -0
  377. package/skills/cloudflare-deploy/references/static-assets/configuration.md +186 -0
  378. package/skills/cloudflare-deploy/references/static-assets/gotchas.md +162 -0
  379. package/skills/cloudflare-deploy/references/static-assets/patterns.md +189 -0
  380. package/skills/cloudflare-deploy/references/stream/README.md +114 -0
  381. package/skills/cloudflare-deploy/references/stream/api-live.md +195 -0
  382. package/skills/cloudflare-deploy/references/stream/api.md +199 -0
  383. package/skills/cloudflare-deploy/references/stream/configuration.md +141 -0
  384. package/skills/cloudflare-deploy/references/stream/gotchas.md +130 -0
  385. package/skills/cloudflare-deploy/references/stream/patterns.md +184 -0
  386. package/skills/cloudflare-deploy/references/tail-workers/README.md +89 -0
  387. package/skills/cloudflare-deploy/references/tail-workers/api.md +200 -0
  388. package/skills/cloudflare-deploy/references/tail-workers/configuration.md +176 -0
  389. package/skills/cloudflare-deploy/references/tail-workers/gotchas.md +192 -0
  390. package/skills/cloudflare-deploy/references/tail-workers/patterns.md +180 -0
  391. package/skills/cloudflare-deploy/references/terraform/README.md +102 -0
  392. package/skills/cloudflare-deploy/references/terraform/api.md +178 -0
  393. package/skills/cloudflare-deploy/references/terraform/configuration.md +197 -0
  394. package/skills/cloudflare-deploy/references/terraform/gotchas.md +150 -0
  395. package/skills/cloudflare-deploy/references/terraform/patterns.md +174 -0
  396. package/skills/cloudflare-deploy/references/tunnel/README.md +129 -0
  397. package/skills/cloudflare-deploy/references/tunnel/api.md +193 -0
  398. package/skills/cloudflare-deploy/references/tunnel/configuration.md +157 -0
  399. package/skills/cloudflare-deploy/references/tunnel/gotchas.md +147 -0
  400. package/skills/cloudflare-deploy/references/tunnel/networking.md +168 -0
  401. package/skills/cloudflare-deploy/references/tunnel/patterns.md +192 -0
  402. package/skills/cloudflare-deploy/references/turn/README.md +82 -0
  403. package/skills/cloudflare-deploy/references/turn/api.md +239 -0
  404. package/skills/cloudflare-deploy/references/turn/configuration.md +179 -0
  405. package/skills/cloudflare-deploy/references/turn/gotchas.md +231 -0
  406. package/skills/cloudflare-deploy/references/turn/patterns.md +213 -0
  407. package/skills/cloudflare-deploy/references/turnstile/README.md +99 -0
  408. package/skills/cloudflare-deploy/references/turnstile/api.md +240 -0
  409. package/skills/cloudflare-deploy/references/turnstile/configuration.md +222 -0
  410. package/skills/cloudflare-deploy/references/turnstile/gotchas.md +218 -0
  411. package/skills/cloudflare-deploy/references/turnstile/patterns.md +193 -0
  412. package/skills/cloudflare-deploy/references/vectorize/README.md +133 -0
  413. package/skills/cloudflare-deploy/references/vectorize/api.md +88 -0
  414. package/skills/cloudflare-deploy/references/vectorize/configuration.md +88 -0
  415. package/skills/cloudflare-deploy/references/vectorize/gotchas.md +76 -0
  416. package/skills/cloudflare-deploy/references/vectorize/patterns.md +90 -0
  417. package/skills/cloudflare-deploy/references/waf/README.md +113 -0
  418. package/skills/cloudflare-deploy/references/waf/api.md +202 -0
  419. package/skills/cloudflare-deploy/references/waf/configuration.md +203 -0
  420. package/skills/cloudflare-deploy/references/waf/gotchas.md +204 -0
  421. package/skills/cloudflare-deploy/references/waf/patterns.md +197 -0
  422. package/skills/cloudflare-deploy/references/web-analytics/README.md +140 -0
  423. package/skills/cloudflare-deploy/references/web-analytics/configuration.md +76 -0
  424. package/skills/cloudflare-deploy/references/web-analytics/gotchas.md +82 -0
  425. package/skills/cloudflare-deploy/references/web-analytics/integration.md +60 -0
  426. package/skills/cloudflare-deploy/references/web-analytics/patterns.md +91 -0
  427. package/skills/cloudflare-deploy/references/workerd/README.md +78 -0
  428. package/skills/cloudflare-deploy/references/workerd/api.md +185 -0
  429. package/skills/cloudflare-deploy/references/workerd/configuration.md +183 -0
  430. package/skills/cloudflare-deploy/references/workerd/gotchas.md +139 -0
  431. package/skills/cloudflare-deploy/references/workerd/patterns.md +192 -0
  432. package/skills/cloudflare-deploy/references/workers/README.md +108 -0
  433. package/skills/cloudflare-deploy/references/workers/api.md +195 -0
  434. package/skills/cloudflare-deploy/references/workers/configuration.md +185 -0
  435. package/skills/cloudflare-deploy/references/workers/frameworks.md +197 -0
  436. package/skills/cloudflare-deploy/references/workers/gotchas.md +136 -0
  437. package/skills/cloudflare-deploy/references/workers/patterns.md +198 -0
  438. package/skills/cloudflare-deploy/references/workers-ai/README.md +197 -0
  439. package/skills/cloudflare-deploy/references/workers-ai/api.md +112 -0
  440. package/skills/cloudflare-deploy/references/workers-ai/configuration.md +97 -0
  441. package/skills/cloudflare-deploy/references/workers-ai/gotchas.md +114 -0
  442. package/skills/cloudflare-deploy/references/workers-ai/patterns.md +120 -0
  443. package/skills/cloudflare-deploy/references/workers-for-platforms/README.md +89 -0
  444. package/skills/cloudflare-deploy/references/workers-for-platforms/api.md +196 -0
  445. package/skills/cloudflare-deploy/references/workers-for-platforms/configuration.md +167 -0
  446. package/skills/cloudflare-deploy/references/workers-for-platforms/gotchas.md +134 -0
  447. package/skills/cloudflare-deploy/references/workers-for-platforms/patterns.md +188 -0
  448. package/skills/cloudflare-deploy/references/workers-playground/README.md +127 -0
  449. package/skills/cloudflare-deploy/references/workers-playground/api.md +101 -0
  450. package/skills/cloudflare-deploy/references/workers-playground/configuration.md +163 -0
  451. package/skills/cloudflare-deploy/references/workers-playground/gotchas.md +88 -0
  452. package/skills/cloudflare-deploy/references/workers-playground/patterns.md +132 -0
  453. package/skills/cloudflare-deploy/references/workers-vpc/README.md +127 -0
  454. package/skills/cloudflare-deploy/references/workers-vpc/api.md +202 -0
  455. package/skills/cloudflare-deploy/references/workers-vpc/configuration.md +147 -0
  456. package/skills/cloudflare-deploy/references/workers-vpc/gotchas.md +167 -0
  457. package/skills/cloudflare-deploy/references/workers-vpc/patterns.md +209 -0
  458. package/skills/cloudflare-deploy/references/workflows/README.md +69 -0
  459. package/skills/cloudflare-deploy/references/workflows/api.md +185 -0
  460. package/skills/cloudflare-deploy/references/workflows/configuration.md +151 -0
  461. package/skills/cloudflare-deploy/references/workflows/gotchas.md +97 -0
  462. package/skills/cloudflare-deploy/references/workflows/patterns.md +175 -0
  463. package/skills/cloudflare-deploy/references/wrangler/README.md +141 -0
  464. package/skills/cloudflare-deploy/references/wrangler/api.md +188 -0
  465. package/skills/cloudflare-deploy/references/wrangler/auth.md +73 -0
  466. package/skills/cloudflare-deploy/references/wrangler/configuration.md +197 -0
  467. package/skills/cloudflare-deploy/references/wrangler/gotchas.md +197 -0
  468. package/skills/cloudflare-deploy/references/wrangler/patterns.md +209 -0
  469. package/skills/cloudflare-deploy/references/zaraz/IMPLEMENTATION_SUMMARY.md +121 -0
  470. package/skills/cloudflare-deploy/references/zaraz/README.md +111 -0
  471. package/skills/cloudflare-deploy/references/zaraz/api.md +112 -0
  472. package/skills/cloudflare-deploy/references/zaraz/configuration.md +90 -0
  473. package/skills/cloudflare-deploy/references/zaraz/gotchas.md +81 -0
  474. package/skills/cloudflare-deploy/references/zaraz/patterns.md +74 -0
  475. package/skills/collaboration/brainstorming/SKILL.md +75 -0
  476. package/skills/collaboration/dispatching-parallel-agents/SKILL.md +184 -0
  477. package/skills/collaboration/executing-plans/SKILL.md +78 -0
  478. package/skills/collaboration/finishing-a-development-branch/SKILL.md +202 -0
  479. package/skills/collaboration/phase-prompting/SKILL.md +292 -0
  480. package/skills/collaboration/receiving-code-review/SKILL.md +211 -0
  481. package/skills/collaboration/requesting-code-review/SKILL.md +107 -0
  482. package/skills/collaboration/requesting-code-review/code-reviewer.md +146 -0
  483. package/skills/collaboration/subagent-driven-development/SKILL.md +188 -0
  484. package/skills/collaboration/using-git-worktrees/SKILL.md +215 -0
  485. package/skills/collaboration/writing-plans/SKILL.md +118 -0
  486. package/skills/debugging/defense-in-depth/SKILL.md +130 -0
  487. package/skills/debugging/root-cause-tracing/SKILL.md +177 -0
  488. package/skills/debugging/root-cause-tracing/find-polluter.sh +63 -0
  489. package/skills/debugging/systematic-debugging/SKILL.md +295 -0
  490. package/skills/debugging/systematic-debugging/test-academic.md +14 -0
  491. package/skills/debugging/systematic-debugging/test-pressure-1.md +58 -0
  492. package/skills/debugging/systematic-debugging/test-pressure-2.md +68 -0
  493. package/skills/debugging/systematic-debugging/test-pressure-3.md +69 -0
  494. package/skills/debugging/verification-before-completion/SKILL.md +142 -0
  495. package/skills/develop-web-game/LICENSE.txt +201 -0
  496. package/skills/develop-web-game/SKILL.md +149 -0
  497. package/skills/develop-web-game/agents/openai.yaml +6 -0
  498. package/skills/develop-web-game/assets/game-small.svg +4 -0
  499. package/skills/develop-web-game/assets/game.png +0 -0
  500. package/skills/develop-web-game/references/action_payloads.json +7 -0
  501. package/skills/develop-web-game/scripts/web_game_playwright_client.js +356 -0
  502. package/skills/doc/LICENSE.txt +201 -0
  503. package/skills/doc/SKILL.md +80 -0
  504. package/skills/doc/agents/openai.yaml +6 -0
  505. package/skills/doc/assets/doc-small.svg +3 -0
  506. package/skills/doc/assets/doc.png +0 -0
  507. package/skills/doc/scripts/render_docx.py +296 -0
  508. package/skills/figma/LICENSE.txt +202 -0
  509. package/skills/figma/SKILL.md +42 -0
  510. package/skills/figma/agents/openai.yaml +14 -0
  511. package/skills/figma/assets/figma-small.svg +3 -0
  512. package/skills/figma/assets/figma.png +0 -0
  513. package/skills/figma/assets/icon.svg +28 -0
  514. package/skills/figma/references/figma-mcp-config.md +35 -0
  515. package/skills/figma/references/figma-tools-and-prompts.md +34 -0
  516. package/skills/figma-implement-design/LICENSE.txt +202 -0
  517. package/skills/figma-implement-design/SKILL.md +264 -0
  518. package/skills/figma-implement-design/agents/openai.yaml +14 -0
  519. package/skills/figma-implement-design/assets/figma-small.svg +3 -0
  520. package/skills/figma-implement-design/assets/figma.png +0 -0
  521. package/skills/figma-implement-design/assets/icon.svg +28 -0
  522. package/skills/gh-address-comments/LICENSE.txt +202 -0
  523. package/skills/gh-address-comments/SKILL.md +25 -0
  524. package/skills/gh-address-comments/agents/openai.yaml +6 -0
  525. package/skills/gh-address-comments/assets/github-small.svg +3 -0
  526. package/skills/gh-address-comments/assets/github.png +0 -0
  527. package/skills/gh-address-comments/scripts/fetch_comments.py +237 -0
  528. package/skills/gh-fix-ci/LICENSE.txt +201 -0
  529. package/skills/gh-fix-ci/SKILL.md +69 -0
  530. package/skills/gh-fix-ci/agents/openai.yaml +6 -0
  531. package/skills/gh-fix-ci/assets/github-small.svg +3 -0
  532. package/skills/gh-fix-ci/assets/github.png +0 -0
  533. package/skills/gh-fix-ci/scripts/inspect_pr_checks.py +509 -0
  534. package/skills/goal-driven-project-loop/SKILL.md +217 -0
  535. package/skills/goal-driven-project-loop/references/goal-contract-template.md +42 -0
  536. package/skills/imagegen/LICENSE.txt +201 -0
  537. package/skills/imagegen/SKILL.md +174 -0
  538. package/skills/imagegen/agents/openai.yaml +6 -0
  539. package/skills/imagegen/assets/imagegen-small.svg +5 -0
  540. package/skills/imagegen/assets/imagegen.png +0 -0
  541. package/skills/imagegen/references/cli.md +132 -0
  542. package/skills/imagegen/references/codex-network.md +28 -0
  543. package/skills/imagegen/references/image-api.md +36 -0
  544. package/skills/imagegen/references/prompting.md +81 -0
  545. package/skills/imagegen/references/sample-prompts.md +384 -0
  546. package/skills/imagegen/scripts/image_gen.py +876 -0
  547. package/skills/jupyter-notebook/LICENSE.txt +201 -0
  548. package/skills/jupyter-notebook/SKILL.md +107 -0
  549. package/skills/jupyter-notebook/agents/openai.yaml +6 -0
  550. package/skills/jupyter-notebook/assets/experiment-template.ipynb +110 -0
  551. package/skills/jupyter-notebook/assets/jupyter-small.svg +3 -0
  552. package/skills/jupyter-notebook/assets/jupyter.png +0 -0
  553. package/skills/jupyter-notebook/assets/tutorial-template.ipynb +107 -0
  554. package/skills/jupyter-notebook/references/experiment-patterns.md +10 -0
  555. package/skills/jupyter-notebook/references/notebook-structure.md +17 -0
  556. package/skills/jupyter-notebook/references/quality-checklist.md +11 -0
  557. package/skills/jupyter-notebook/references/tutorial-patterns.md +9 -0
  558. package/skills/jupyter-notebook/scripts/new_notebook.py +130 -0
  559. package/skills/linear/LICENSE.txt +202 -0
  560. package/skills/linear/SKILL.md +87 -0
  561. package/skills/linear/agents/openai.yaml +14 -0
  562. package/skills/linear/assets/linear-small.svg +5 -0
  563. package/skills/linear/assets/linear.png +0 -0
  564. package/skills/netlify-deploy/LICENSE.txt +201 -0
  565. package/skills/netlify-deploy/SKILL.md +247 -0
  566. package/skills/netlify-deploy/agents/openai.yaml +6 -0
  567. package/skills/netlify-deploy/assets/netlify-small.svg +11 -0
  568. package/skills/netlify-deploy/assets/netlify.png +0 -0
  569. package/skills/netlify-deploy/references/cli-commands.md +162 -0
  570. package/skills/netlify-deploy/references/deployment-patterns.md +303 -0
  571. package/skills/netlify-deploy/references/netlify-toml.md +259 -0
  572. package/skills/notion-knowledge-capture/LICENSE.txt +7 -0
  573. package/skills/notion-knowledge-capture/SKILL.md +56 -0
  574. package/skills/notion-knowledge-capture/agents/openai.yaml +14 -0
  575. package/skills/notion-knowledge-capture/assets/notion-small.svg +11 -0
  576. package/skills/notion-knowledge-capture/assets/notion.png +0 -0
  577. package/skills/notion-knowledge-capture/evaluations/README.md +95 -0
  578. package/skills/notion-knowledge-capture/evaluations/conversation-to-wiki.json +31 -0
  579. package/skills/notion-knowledge-capture/evaluations/decision-record.json +31 -0
  580. package/skills/notion-knowledge-capture/examples/conversation-to-faq.md +226 -0
  581. package/skills/notion-knowledge-capture/examples/decision-capture.md +126 -0
  582. package/skills/notion-knowledge-capture/examples/how-to-guide.md +118 -0
  583. package/skills/notion-knowledge-capture/reference/database-best-practices.md +112 -0
  584. package/skills/notion-knowledge-capture/reference/decision-log-database.md +58 -0
  585. package/skills/notion-knowledge-capture/reference/documentation-database.md +93 -0
  586. package/skills/notion-knowledge-capture/reference/faq-database.md +57 -0
  587. package/skills/notion-knowledge-capture/reference/how-to-guide-database.md +38 -0
  588. package/skills/notion-knowledge-capture/reference/learning-database.md +35 -0
  589. package/skills/notion-knowledge-capture/reference/team-wiki-database.md +27 -0
  590. package/skills/notion-meeting-intelligence/LICENSE.txt +7 -0
  591. package/skills/notion-meeting-intelligence/SKILL.md +60 -0
  592. package/skills/notion-meeting-intelligence/agents/openai.yaml +14 -0
  593. package/skills/notion-meeting-intelligence/assets/notion-small.svg +11 -0
  594. package/skills/notion-meeting-intelligence/assets/notion.png +0 -0
  595. package/skills/notion-meeting-intelligence/evaluations/README.md +101 -0
  596. package/skills/notion-meeting-intelligence/evaluations/decision-meeting-prep.json +35 -0
  597. package/skills/notion-meeting-intelligence/evaluations/status-meeting-prep.json +35 -0
  598. package/skills/notion-meeting-intelligence/examples/customer-meeting.md +125 -0
  599. package/skills/notion-meeting-intelligence/examples/executive-review.md +78 -0
  600. package/skills/notion-meeting-intelligence/examples/project-decision.md +431 -0
  601. package/skills/notion-meeting-intelligence/examples/sprint-planning.md +80 -0
  602. package/skills/notion-meeting-intelligence/reference/brainstorming-template.md +81 -0
  603. package/skills/notion-meeting-intelligence/reference/decision-meeting-template.md +94 -0
  604. package/skills/notion-meeting-intelligence/reference/one-on-one-template.md +58 -0
  605. package/skills/notion-meeting-intelligence/reference/retrospective-template.md +58 -0
  606. package/skills/notion-meeting-intelligence/reference/sprint-planning-template.md +68 -0
  607. package/skills/notion-meeting-intelligence/reference/status-update-template.md +74 -0
  608. package/skills/notion-meeting-intelligence/reference/template-selection-guide.md +56 -0
  609. package/skills/notion-research-documentation/LICENSE.txt +7 -0
  610. package/skills/notion-research-documentation/SKILL.md +59 -0
  611. package/skills/notion-research-documentation/agents/openai.yaml +14 -0
  612. package/skills/notion-research-documentation/assets/notion-small.svg +11 -0
  613. package/skills/notion-research-documentation/assets/notion.png +0 -0
  614. package/skills/notion-research-documentation/evaluations/README.md +109 -0
  615. package/skills/notion-research-documentation/evaluations/basic-research.json +28 -0
  616. package/skills/notion-research-documentation/evaluations/research-to-database.json +29 -0
  617. package/skills/notion-research-documentation/examples/competitor-analysis.md +283 -0
  618. package/skills/notion-research-documentation/examples/market-research.md +62 -0
  619. package/skills/notion-research-documentation/examples/technical-investigation.md +233 -0
  620. package/skills/notion-research-documentation/examples/trip-planning.md +128 -0
  621. package/skills/notion-research-documentation/reference/advanced-search.md +212 -0
  622. package/skills/notion-research-documentation/reference/citations.md +190 -0
  623. package/skills/notion-research-documentation/reference/comparison-format.md +37 -0
  624. package/skills/notion-research-documentation/reference/comparison-template.md +44 -0
  625. package/skills/notion-research-documentation/reference/comprehensive-report-format.md +41 -0
  626. package/skills/notion-research-documentation/reference/comprehensive-report-template.md +64 -0
  627. package/skills/notion-research-documentation/reference/format-selection-guide.md +95 -0
  628. package/skills/notion-research-documentation/reference/quick-brief-format.md +37 -0
  629. package/skills/notion-research-documentation/reference/quick-brief-template.md +25 -0
  630. package/skills/notion-research-documentation/reference/research-summary-format.md +33 -0
  631. package/skills/notion-research-documentation/reference/research-summary-template.md +49 -0
  632. package/skills/notion-spec-to-implementation/LICENSE.txt +7 -0
  633. package/skills/notion-spec-to-implementation/SKILL.md +58 -0
  634. package/skills/notion-spec-to-implementation/agents/openai.yaml +14 -0
  635. package/skills/notion-spec-to-implementation/assets/notion-small.svg +11 -0
  636. package/skills/notion-spec-to-implementation/assets/notion.png +0 -0
  637. package/skills/notion-spec-to-implementation/evaluations/README.md +120 -0
  638. package/skills/notion-spec-to-implementation/evaluations/basic-spec-implementation.json +32 -0
  639. package/skills/notion-spec-to-implementation/evaluations/spec-to-tasks.json +35 -0
  640. package/skills/notion-spec-to-implementation/examples/api-feature.md +461 -0
  641. package/skills/notion-spec-to-implementation/examples/database-migration.md +81 -0
  642. package/skills/notion-spec-to-implementation/examples/ui-component.md +68 -0
  643. package/skills/notion-spec-to-implementation/reference/milestone-summary-template.md +27 -0
  644. package/skills/notion-spec-to-implementation/reference/progress-tracking.md +458 -0
  645. package/skills/notion-spec-to-implementation/reference/progress-update-template.md +25 -0
  646. package/skills/notion-spec-to-implementation/reference/quick-implementation-plan.md +26 -0
  647. package/skills/notion-spec-to-implementation/reference/spec-parsing.md +383 -0
  648. package/skills/notion-spec-to-implementation/reference/standard-implementation-plan.md +146 -0
  649. package/skills/notion-spec-to-implementation/reference/task-creation-template.md +34 -0
  650. package/skills/notion-spec-to-implementation/reference/task-creation.md +441 -0
  651. package/skills/openai-docs/LICENSE.txt +201 -0
  652. package/skills/openai-docs/SKILL.md +68 -0
  653. package/skills/openai-docs/agents/openai.yaml +14 -0
  654. package/skills/openai-docs/assets/openai-small.svg +3 -0
  655. package/skills/openai-docs/assets/openai.png +0 -0
  656. package/skills/openai-docs/references/gpt-5p4-prompting-guide.md +433 -0
  657. package/skills/openai-docs/references/latest-model.md +35 -0
  658. package/skills/openai-docs/references/upgrading-to-gpt-5p4.md +164 -0
  659. package/skills/pdf/LICENSE.txt +201 -0
  660. package/skills/pdf/SKILL.md +67 -0
  661. package/skills/pdf/agents/openai.yaml +5 -0
  662. package/skills/pdf/assets/pdf.png +0 -0
  663. package/skills/phase-prompting/SKILL.md +162 -0
  664. package/skills/playwright/LICENSE.txt +201 -0
  665. package/skills/playwright/NOTICE.txt +14 -0
  666. package/skills/playwright/SKILL.md +147 -0
  667. package/skills/playwright/agents/openai.yaml +6 -0
  668. package/skills/playwright/assets/playwright-small.svg +3 -0
  669. package/skills/playwright/assets/playwright.png +0 -0
  670. package/skills/playwright/references/cli.md +116 -0
  671. package/skills/playwright/references/workflows.md +95 -0
  672. package/skills/playwright/scripts/playwright_cli.sh +25 -0
  673. package/skills/playwright-interactive/LICENSE.txt +201 -0
  674. package/skills/playwright-interactive/NOTICE.txt +13 -0
  675. package/skills/playwright-interactive/SKILL.md +693 -0
  676. package/skills/playwright-interactive/agents/openai.yaml +6 -0
  677. package/skills/playwright-interactive/assets/playwright-small.svg +3 -0
  678. package/skills/playwright-interactive/assets/playwright.png +0 -0
  679. package/skills/problem-solving/ABOUT.md +40 -0
  680. package/skills/problem-solving/collision-zone-thinking/SKILL.md +62 -0
  681. package/skills/problem-solving/inversion-exercise/SKILL.md +58 -0
  682. package/skills/problem-solving/meta-pattern-recognition/SKILL.md +54 -0
  683. package/skills/problem-solving/scale-game/SKILL.md +63 -0
  684. package/skills/problem-solving/simplification-cascades/SKILL.md +76 -0
  685. package/skills/problem-solving/when-stuck/SKILL.md +88 -0
  686. package/skills/render-deploy/LICENSE.txt +201 -0
  687. package/skills/render-deploy/SKILL.md +479 -0
  688. package/skills/render-deploy/agents/openai.yaml +14 -0
  689. package/skills/render-deploy/assets/docker.yaml +62 -0
  690. package/skills/render-deploy/assets/go-api.yaml +35 -0
  691. package/skills/render-deploy/assets/nextjs-postgres.yaml +35 -0
  692. package/skills/render-deploy/assets/node-express.yaml +25 -0
  693. package/skills/render-deploy/assets/python-django.yaml +89 -0
  694. package/skills/render-deploy/assets/render-small.svg +3 -0
  695. package/skills/render-deploy/assets/render.png +0 -0
  696. package/skills/render-deploy/assets/static-site.yaml +54 -0
  697. package/skills/render-deploy/references/blueprint-spec.md +718 -0
  698. package/skills/render-deploy/references/codebase-analysis.md +49 -0
  699. package/skills/render-deploy/references/configuration-guide.md +603 -0
  700. package/skills/render-deploy/references/deployment-details.md +224 -0
  701. package/skills/render-deploy/references/direct-creation.md +113 -0
  702. package/skills/render-deploy/references/error-patterns.md +13 -0
  703. package/skills/render-deploy/references/post-deploy-checks.md +36 -0
  704. package/skills/render-deploy/references/runtimes.md +473 -0
  705. package/skills/render-deploy/references/service-types.md +450 -0
  706. package/skills/render-deploy/references/troubleshooting-basics.md +36 -0
  707. package/skills/research/ABOUT.md +20 -0
  708. package/skills/research/tracing-knowledge-lineages/SKILL.md +203 -0
  709. package/skills/round-prompting/SKILL.md +148 -0
  710. package/skills/screenshot/LICENSE.txt +201 -0
  711. package/skills/screenshot/SKILL.md +267 -0
  712. package/skills/screenshot/agents/openai.yaml +6 -0
  713. package/skills/screenshot/assets/screenshot-small.svg +5 -0
  714. package/skills/screenshot/assets/screenshot.png +0 -0
  715. package/skills/screenshot/scripts/ensure_macos_permissions.sh +54 -0
  716. package/skills/screenshot/scripts/macos_display_info.swift +22 -0
  717. package/skills/screenshot/scripts/macos_permissions.swift +40 -0
  718. package/skills/screenshot/scripts/macos_window_info.swift +126 -0
  719. package/skills/screenshot/scripts/take_screenshot.ps1 +163 -0
  720. package/skills/screenshot/scripts/take_screenshot.py +585 -0
  721. package/skills/security-best-practices/LICENSE.txt +201 -0
  722. package/skills/security-best-practices/SKILL.md +86 -0
  723. package/skills/security-best-practices/agents/openai.yaml +4 -0
  724. package/skills/security-best-practices/references/golang-general-backend-security.md +826 -0
  725. package/skills/security-best-practices/references/javascript-express-web-server-security.md +1158 -0
  726. package/skills/security-best-practices/references/javascript-general-web-frontend-security.md +747 -0
  727. package/skills/security-best-practices/references/javascript-jquery-web-frontend-security.md +678 -0
  728. package/skills/security-best-practices/references/javascript-typescript-nextjs-web-server-security.md +1144 -0
  729. package/skills/security-best-practices/references/javascript-typescript-react-web-frontend-security.md +990 -0
  730. package/skills/security-best-practices/references/javascript-typescript-vue-web-frontend-security.md +791 -0
  731. package/skills/security-best-practices/references/python-django-web-server-security.md +882 -0
  732. package/skills/security-best-practices/references/python-fastapi-web-server-security.md +1036 -0
  733. package/skills/security-best-practices/references/python-flask-web-server-security.md +705 -0
  734. package/skills/security-ownership-map/LICENSE.txt +201 -0
  735. package/skills/security-ownership-map/SKILL.md +206 -0
  736. package/skills/security-ownership-map/agents/openai.yaml +4 -0
  737. package/skills/security-ownership-map/references/neo4j-import.md +60 -0
  738. package/skills/security-ownership-map/scripts/build_ownership_map.py +956 -0
  739. package/skills/security-ownership-map/scripts/community_maintainers.py +544 -0
  740. package/skills/security-ownership-map/scripts/query_ownership.py +483 -0
  741. package/skills/security-ownership-map/scripts/run_ownership_map.py +200 -0
  742. package/skills/security-threat-model/LICENSE.txt +201 -0
  743. package/skills/security-threat-model/SKILL.md +81 -0
  744. package/skills/security-threat-model/agents/openai.yaml +4 -0
  745. package/skills/security-threat-model/references/prompt-template.md +255 -0
  746. package/skills/security-threat-model/references/security-controls-and-assets.md +32 -0
  747. package/skills/sentry/LICENSE.txt +201 -0
  748. package/skills/sentry/SKILL.md +123 -0
  749. package/skills/sentry/agents/openai.yaml +6 -0
  750. package/skills/sentry/assets/sentry-small.svg +3 -0
  751. package/skills/sentry/assets/sentry.png +0 -0
  752. package/skills/sentry/scripts/sentry_api.py +238 -0
  753. package/skills/slides/LICENSE.txt +201 -0
  754. package/skills/slides/SKILL.md +71 -0
  755. package/skills/slides/agents/openai.yaml +6 -0
  756. package/skills/slides/assets/pptxgenjs_helpers/code.js +104 -0
  757. package/skills/slides/assets/pptxgenjs_helpers/image.js +333 -0
  758. package/skills/slides/assets/pptxgenjs_helpers/index.js +33 -0
  759. package/skills/slides/assets/pptxgenjs_helpers/latex.js +51 -0
  760. package/skills/slides/assets/pptxgenjs_helpers/layout.js +643 -0
  761. package/skills/slides/assets/pptxgenjs_helpers/layout_builders.js +358 -0
  762. package/skills/slides/assets/pptxgenjs_helpers/svg.js +36 -0
  763. package/skills/slides/assets/pptxgenjs_helpers/text.js +789 -0
  764. package/skills/slides/assets/pptxgenjs_helpers/util.js +24 -0
  765. package/skills/slides/assets/slides-small.svg +3 -0
  766. package/skills/slides/assets/slides.png +0 -0
  767. package/skills/slides/references/pptxgenjs-helpers.md +61 -0
  768. package/skills/slides/scripts/create_montage.py +300 -0
  769. package/skills/slides/scripts/detect_font.py +873 -0
  770. package/skills/slides/scripts/ensure_raster_image.py +202 -0
  771. package/skills/slides/scripts/render_slides.py +273 -0
  772. package/skills/slides/scripts/slides_test.py +201 -0
  773. package/skills/sora/LICENSE.txt +201 -0
  774. package/skills/sora/SKILL.md +153 -0
  775. package/skills/sora/agents/openai.yaml +6 -0
  776. package/skills/sora/assets/sora-small.svg +4 -0
  777. package/skills/sora/assets/sora.png +0 -0
  778. package/skills/sora/references/cinematic-shots.md +53 -0
  779. package/skills/sora/references/cli.md +248 -0
  780. package/skills/sora/references/codex-network.md +28 -0
  781. package/skills/sora/references/prompting.md +137 -0
  782. package/skills/sora/references/sample-prompts.md +95 -0
  783. package/skills/sora/references/social-ads.md +42 -0
  784. package/skills/sora/references/troubleshooting.md +58 -0
  785. package/skills/sora/references/video-api.md +45 -0
  786. package/skills/sora/scripts/sora.py +970 -0
  787. package/skills/speech/LICENSE.txt +201 -0
  788. package/skills/speech/SKILL.md +144 -0
  789. package/skills/speech/agents/openai.yaml +6 -0
  790. package/skills/speech/assets/speech-small.svg +3 -0
  791. package/skills/speech/assets/speech.png +0 -0
  792. package/skills/speech/references/accessibility.md +32 -0
  793. package/skills/speech/references/audio-api.md +31 -0
  794. package/skills/speech/references/cli.md +99 -0
  795. package/skills/speech/references/codex-network.md +28 -0
  796. package/skills/speech/references/ivr.md +32 -0
  797. package/skills/speech/references/narration.md +31 -0
  798. package/skills/speech/references/prompting.md +38 -0
  799. package/skills/speech/references/sample-prompts.md +44 -0
  800. package/skills/speech/references/voice-directions.md +80 -0
  801. package/skills/speech/references/voiceover.md +31 -0
  802. package/skills/speech/scripts/text_to_speech.py +528 -0
  803. package/skills/spreadsheet/LICENSE.txt +201 -0
  804. package/skills/spreadsheet/SKILL.md +145 -0
  805. package/skills/spreadsheet/agents/openai.yaml +6 -0
  806. package/skills/spreadsheet/assets/spreadsheet-small.svg +3 -0
  807. package/skills/spreadsheet/assets/spreadsheet.png +0 -0
  808. package/skills/spreadsheet/references/examples/openpyxl/create_basic_spreadsheet.py +51 -0
  809. package/skills/spreadsheet/references/examples/openpyxl/create_spreadsheet_with_styling.py +96 -0
  810. package/skills/spreadsheet/references/examples/openpyxl/read_existing_spreadsheet.py +59 -0
  811. package/skills/spreadsheet/references/examples/openpyxl/styling_spreadsheet.py +79 -0
  812. package/skills/testing/condition-based-waiting/SKILL.md +123 -0
  813. package/skills/testing/condition-based-waiting/example.ts +158 -0
  814. package/skills/testing/test-driven-development/SKILL.md +367 -0
  815. package/skills/testing/testing-anti-patterns/SKILL.md +304 -0
  816. package/skills/transcribe/LICENSE.txt +201 -0
  817. package/skills/transcribe/SKILL.md +81 -0
  818. package/skills/transcribe/agents/openai.yaml +6 -0
  819. package/skills/transcribe/assets/transcribe-small.svg +3 -0
  820. package/skills/transcribe/assets/transcribe.png +0 -0
  821. package/skills/transcribe/references/api.md +8 -0
  822. package/skills/transcribe/scripts/transcribe_diarize.py +276 -0
  823. package/skills/using-skills/SKILL.md +102 -0
  824. package/skills/using-skills/find-skills +107 -0
  825. package/skills/using-skills/skill-run +44 -0
  826. package/skills/vercel-deploy/LICENSE.txt +21 -0
  827. package/skills/vercel-deploy/SKILL.md +77 -0
  828. package/skills/vercel-deploy/agents/openai.yaml +6 -0
  829. package/skills/vercel-deploy/assets/vercel-small.svg +5 -0
  830. package/skills/vercel-deploy/assets/vercel.png +0 -0
  831. package/skills/vercel-deploy/scripts/deploy.sh +301 -0
  832. package/skills/winui-app/LICENSE.txt +202 -0
  833. package/skills/winui-app/SKILL.md +94 -0
  834. package/skills/winui-app/agents/openai.yaml +5 -0
  835. package/skills/winui-app/assets/winui.png +0 -0
  836. package/skills/winui-app/config.yaml +50 -0
  837. package/skills/winui-app/references/_sections.md +96 -0
  838. package/skills/winui-app/references/accessibility-input-and-localization.md +51 -0
  839. package/skills/winui-app/references/build-run-and-launch-verification.md +72 -0
  840. package/skills/winui-app/references/community-toolkit-controls-and-helpers.md +57 -0
  841. package/skills/winui-app/references/controls-layout-and-adaptive-ui.md +84 -0
  842. package/skills/winui-app/references/foundation-environment-audit-and-remediation.md +82 -0
  843. package/skills/winui-app/references/foundation-setup-and-project-selection.md +67 -0
  844. package/skills/winui-app/references/foundation-template-first-recovery.md +62 -0
  845. package/skills/winui-app/references/foundation-winui-app-structure.md +62 -0
  846. package/skills/winui-app/references/motion-animations-and-polish.md +45 -0
  847. package/skills/winui-app/references/performance-diagnostics-and-responsiveness.md +46 -0
  848. package/skills/winui-app/references/sample-source-map.md +37 -0
  849. package/skills/winui-app/references/shell-navigation-and-windowing.md +67 -0
  850. package/skills/winui-app/references/styling-theming-materials-and-icons.md +71 -0
  851. package/skills/winui-app/references/testing-debugging-and-review-checklists.md +77 -0
  852. package/skills/winui-app/references/windows-app-sdk-lifecycle-notifications-and-deployment.md +52 -0
  853. package/skills/yeet/LICENSE.txt +201 -0
  854. package/skills/yeet/SKILL.md +28 -0
  855. package/skills/yeet/agents/openai.yaml +6 -0
  856. package/skills/yeet/assets/yeet-small.svg +3 -0
  857. package/skills/yeet/assets/yeet.png +0 -0
  858. package/dist/src/agents/definitions.d.ts +0 -16
  859. package/dist/src/agents/definitions.d.ts.map +0 -1
  860. package/dist/src/agents/definitions.js +0 -148
  861. package/dist/src/agents/definitions.js.map +0 -1
@@ -1,182 +1,335 @@
1
- import { existsSync, mkdirSync, readFileSync, renameSync, statSync, unlinkSync, writeFileSync } from 'fs';
2
- import { dirname, join, relative, resolve } from 'path';
1
+ import { execFile } from 'child_process';
2
+ import { existsSync, mkdirSync, writeFileSync, unlinkSync, readFileSync } from 'fs';
3
+ import { join, relative, resolve, dirname } from 'path';
4
+ import { createHash } from 'crypto';
3
5
  import { getGlobalDataDir } from '../utils/paths.js';
4
- const FILE_MODE = 0o600;
5
- const DIR_MODE = 0o700;
6
+ const GIT_TIMEOUT = 30_000;
7
+ const MAX_FILE_SIZE = 2 * 1024 * 1024; // 2MB — skip untracked files larger than this
8
+ function runGit(args, opts) {
9
+ return new Promise((resolve) => {
10
+ const env = { ...process.env, ...opts?.env };
11
+ const child = execFile('git', args, {
12
+ cwd: opts?.cwd,
13
+ env,
14
+ timeout: GIT_TIMEOUT,
15
+ maxBuffer: 50 * 1024 * 1024,
16
+ encoding: 'utf-8',
17
+ });
18
+ if (opts?.stdin) {
19
+ child.stdin?.write(opts.stdin);
20
+ child.stdin?.end();
21
+ }
22
+ child.on('close', (code) => {
23
+ // execFile callback gives (error, stdout, stderr)
24
+ // But we handle via 'exit' event below
25
+ });
26
+ child.on('error', (err) => {
27
+ resolve({ code: 1, stdout: '', stderr: err.message });
28
+ });
29
+ // Use the promise-based approach via stdio
30
+ let stdout = '';
31
+ let stderr = '';
32
+ child.stdout?.on('data', (data) => { stdout += data.toString(); });
33
+ child.stderr?.on('data', (data) => { stderr += data.toString(); });
34
+ child.on('exit', (exitCode) => {
35
+ resolve({ code: exitCode ?? 1, stdout, stderr });
36
+ });
37
+ });
38
+ }
6
39
  export class SnapshotManager {
7
40
  workdir;
8
- snapshotDir;
9
- disabled;
10
- maxFileSize;
11
- active = null;
41
+ gitdir;
42
+ lockPath;
43
+ initialized = false;
12
44
  constructor(options) {
13
45
  this.workdir = options?.workdir || process.cwd();
14
- this.snapshotDir = options?.snapshotDir || join(getGlobalDataDir(), 'snapshots');
15
- this.disabled = options?.disabled || false;
16
- this.maxFileSize = options?.maxFileSize || 5 * 1024 * 1024; // 5MB
17
- }
18
- /** Open a new checkpoint. Returns checkpoint ID. */
19
- begin(label) {
20
- if (this.disabled)
21
- return null;
22
- if (this.active)
23
- this.commit(); // close prior
24
- const id = Date.now().toString(36) + Math.random().toString(36).slice(2, 6);
25
- this.active = {
26
- id,
27
- label: String(label || 'checkpoint').slice(0, 80),
28
- startedAt: Date.now(),
29
- files: new Map(),
30
- };
31
- return id;
32
- }
33
- /** Snapshot a file's pre-edit content. Idempotent — first snapshot wins. */
34
- note(filePath, before) {
35
- if (this.disabled || !this.active)
36
- return;
37
- const abs = resolve(this.workdir, filePath);
38
- // Containment — only snapshot files inside workspace root
39
- const rel = relative(this.workdir, abs);
40
- if (rel.startsWith('..') || rel.startsWith('.'))
41
- return;
42
- if (this.active.files.has(abs))
43
- return; // first-snapshot-wins
44
- let content = before;
45
- let existed = false;
46
- if (content === undefined || content === null) {
46
+ const worktreeHash = createHash('sha256').update(this.workdir).digest('hex').slice(0, 12);
47
+ this.gitdir = join(getGlobalDataDir(), 'snapshots', worktreeHash);
48
+ this.lockPath = join(getGlobalDataDir(), 'snapshots', `${worktreeHash}.lock`);
49
+ }
50
+ // ─── Git helpers ──────────────────────────────────────────────────
51
+ gitArgs(cmd) {
52
+ return ['--git-dir', this.gitdir, '--work-tree', this.workdir, ...cmd];
53
+ }
54
+ async git(cmd, opts) {
55
+ return runGit(cmd, opts);
56
+ }
57
+ // ─── File-based locking ───────────────────────────────────────────
58
+ acquireLock() {
59
+ const dir = dirname(this.lockPath);
60
+ if (!existsSync(dir))
61
+ mkdirSync(dir, { recursive: true });
62
+ const start = Date.now();
63
+ while (true) {
47
64
  try {
48
- const stat = statSync(abs);
49
- if (stat.size > this.maxFileSize) {
50
- this.active.files.set(abs, { tooLarge: true, existed: true });
51
- return;
52
- }
53
- content = readFileSync(abs, 'utf-8');
54
- existed = true;
65
+ const fd = require('fs').openSync(this.lockPath, 'wx');
66
+ require('fs').closeSync(fd);
67
+ return;
55
68
  }
56
- catch (e) {
57
- if (e.code === 'ENOENT') {
58
- this.active.files.set(abs, { before: null, existed: false });
59
- return;
69
+ catch (err) {
70
+ if (err.code !== 'EEXIST')
71
+ throw err;
72
+ // Stale lock detection (> 60s)
73
+ try {
74
+ const stat = require('fs').statSync(this.lockPath);
75
+ if (Date.now() - stat.mtimeMs > 60_000) {
76
+ unlinkSync(this.lockPath);
77
+ continue;
78
+ }
60
79
  }
61
- this.active.files.set(abs, { skipped: true, existed: true });
62
- return;
80
+ catch { }
81
+ if (Date.now() - start > 10_000) {
82
+ throw new Error('Could not acquire snapshot lock after 10s');
83
+ }
84
+ // Busy-wait 50ms
85
+ const end = Date.now() + 50;
86
+ while (Date.now() < end) { /* spin */ }
63
87
  }
64
88
  }
65
- else {
66
- existed = true;
89
+ }
90
+ releaseLock() {
91
+ try {
92
+ unlinkSync(this.lockPath);
93
+ }
94
+ catch { }
95
+ }
96
+ async withLock(fn) {
97
+ this.acquireLock();
98
+ try {
99
+ return await fn();
100
+ }
101
+ finally {
102
+ this.releaseLock();
67
103
  }
68
- this.active.files.set(abs, { before: content, existed });
69
- }
70
- /**
71
- * Roll back every file recorded since the last begin().
72
- * Files snapshotted as nonexistent are deleted.
73
- * Files with stored content are restored.
74
- */
75
- rollback(reason = 'verification failed') {
76
- if (this.disabled || !this.active) {
104
+ }
105
+ // ─── Init ─────────────────────────────────────────────────────────
106
+ async init() {
107
+ if (this.initialized)
108
+ return;
109
+ // Check git is available
110
+ try {
111
+ await runGit(['--version']);
112
+ }
113
+ catch {
114
+ throw new Error('git is required for file snapshots but was not found on PATH');
115
+ }
116
+ if (!existsSync(this.gitdir)) {
117
+ await this.withLock(async () => {
118
+ if (existsSync(this.gitdir))
119
+ return;
120
+ mkdirSync(this.gitdir, { recursive: true });
121
+ await this.git(['init'], {
122
+ env: { GIT_DIR: this.gitdir, GIT_WORK_TREE: this.workdir },
123
+ });
124
+ await this.git(['--git-dir', this.gitdir, 'config', 'core.autocrlf', 'false']);
125
+ await this.git(['--git-dir', this.gitdir, 'config', 'core.longpaths', 'true']);
126
+ await this.git(['--git-dir', this.gitdir, 'config', 'core.symlinks', 'true']);
127
+ await this.git(['--git-dir', this.gitdir, 'config', 'core.fsmonitor', 'false']);
128
+ });
129
+ }
130
+ this.initialized = true;
131
+ }
132
+ // ─── Core operations ─────────────────────────────────────────────
133
+ /** Capture current file state → tree hash. */
134
+ async track() {
135
+ await this.init();
136
+ return this.withLock(async () => {
137
+ await this.add();
138
+ const result = await this.git(this.gitArgs(['write-tree']));
139
+ if (result.code !== 0) {
140
+ throw new Error(`git write-tree failed: ${result.stderr}`);
141
+ }
142
+ return result.stdout.trim();
143
+ });
144
+ }
145
+ /** List files changed since a tree hash. */
146
+ async patch(hash) {
147
+ await this.init();
148
+ return this.withLock(async () => {
149
+ await this.add();
150
+ const result = await this.git([
151
+ '-c', 'core.longpaths=true',
152
+ '-c', 'core.quotepath=false',
153
+ ...this.gitArgs(['diff', '--cached', '--no-ext-diff', '--name-only', hash, '--', '.']),
154
+ ]);
155
+ if (result.code !== 0) {
156
+ return { hash, files: [] };
157
+ }
158
+ const files = result.stdout.trim().split('\n').filter(Boolean)
159
+ .map((f) => resolve(this.workdir, f));
160
+ const ignored = await this.ignore(files);
77
161
  return {
78
- checkpointId: '',
79
- label: '',
80
- restored: 0,
81
- deleted: 0,
82
- errors: [],
83
- skipped: [],
84
- reason,
162
+ hash,
163
+ files: files.filter((f) => !ignored.has(f)),
85
164
  };
86
- }
87
- const cp = this.active;
88
- const restored = [];
89
- const deleted = [];
90
- const errors = [];
91
- const skipped = [];
92
- for (const [abs, snap] of cp.files.entries()) {
93
- try {
94
- if (snap.tooLarge) {
95
- skipped.push({ path: abs, reason: 'file too large to snapshot' });
96
- continue;
97
- }
98
- if (snap.skipped) {
99
- skipped.push({ path: abs, reason: 'snapshot read failed' });
100
- continue;
165
+ });
166
+ }
167
+ /** Restore entire working tree to a tree hash. */
168
+ async restore(hash) {
169
+ await this.init();
170
+ return this.withLock(async () => {
171
+ const readTree = await this.git(this.gitArgs(['read-tree', hash]));
172
+ if (readTree.code !== 0) {
173
+ throw new Error(`git read-tree failed for ${hash}: ${readTree.stderr}`);
174
+ }
175
+ const checkout = await this.git(this.gitArgs(['checkout-index', '-a', '-f']));
176
+ if (checkout.code !== 0) {
177
+ throw new Error(`git checkout-index failed: ${checkout.stderr}`);
178
+ }
179
+ });
180
+ }
181
+ /** Revert specific files to their pre-edit state from patches. */
182
+ async revert(patches) {
183
+ await this.init();
184
+ return this.withLock(async () => {
185
+ const restored = [];
186
+ const deleted = [];
187
+ const errors = [];
188
+ // Deduplicate: earliest patch per file wins
189
+ const fileMap = new Map();
190
+ for (const p of patches) {
191
+ for (const file of p.files) {
192
+ if (!fileMap.has(file)) {
193
+ fileMap.set(file, p.hash);
194
+ }
101
195
  }
102
- if (!snap.existed) {
103
- // Was new delete it
104
- if (existsSync(abs)) {
105
- unlinkSync(abs);
106
- deleted.push(abs);
196
+ }
197
+ for (const [file, hash] of fileMap) {
198
+ const rel = relative(this.workdir, file).replaceAll('\\', '/');
199
+ // Check if file exists in the snapshot tree
200
+ const lsTree = await this.git(this.gitArgs(['ls-tree', hash, '--', rel]));
201
+ if (lsTree.code === 0 && lsTree.stdout.trim()) {
202
+ // File exists in snapshot → restore it
203
+ const checkout = await this.git(this.gitArgs(['checkout', hash, '--', file]));
204
+ if (checkout.code === 0) {
205
+ restored.push(file);
206
+ }
207
+ else {
208
+ errors.push({ path: file, error: checkout.stderr });
107
209
  }
108
210
  }
109
- else if (snap.before !== undefined && snap.before !== null) {
110
- // Restore content
111
- const dir = dirname(abs);
112
- if (!existsSync(dir))
113
- mkdirSync(dir, { recursive: true });
114
- writeFileSync(abs, snap.before);
115
- restored.push(abs);
211
+ else {
212
+ // File did not exist in snapshot → delete it
213
+ try {
214
+ if (existsSync(file)) {
215
+ unlinkSync(file);
216
+ deleted.push(file);
217
+ }
218
+ }
219
+ catch (err) {
220
+ errors.push({ path: file, error: err.message });
221
+ }
116
222
  }
117
223
  }
118
- catch (e) {
119
- errors.push({ path: abs, error: e.message || String(e) });
224
+ return { restored: restored.length, deleted: deleted.length, errors };
225
+ });
226
+ }
227
+ /** Full unified diff against a tree hash. */
228
+ async diff(hash) {
229
+ await this.init();
230
+ return this.withLock(async () => {
231
+ await this.add();
232
+ const result = await this.git([
233
+ '-c', 'core.longpaths=true',
234
+ '-c', 'core.quotepath=false',
235
+ ...this.gitArgs(['diff', '--cached', '--no-ext-diff', hash, '--', '.']),
236
+ ]);
237
+ return result.stdout.trim();
238
+ });
239
+ }
240
+ /** Prune old snapshot objects. */
241
+ async gc() {
242
+ await this.init();
243
+ await this.git(this.gitArgs(['gc', '--prune=7.days']));
244
+ }
245
+ // ─── Internal ─────────────────────────────────────────────────────
246
+ /** Stage all changed/untracked files into the snapshot index. */
247
+ async add() {
248
+ await this.sync();
249
+ const quote = ['-c', 'core.longpaths=true', '-c', 'core.quotepath=false', '-c', 'core.symlinks=true'];
250
+ // Find modified tracked files
251
+ const diff = await this.git([...quote, ...this.gitArgs(['diff-files', '--name-only', '-z', '--', '.'])]);
252
+ // Find untracked files
253
+ const other = await this.git([...quote, ...this.gitArgs(['ls-files', '--others', '--exclude-standard', '-z', '--', '.'])]);
254
+ if (diff.code !== 0 || other.code !== 0)
255
+ return;
256
+ const tracked = diff.stdout.split('\0').filter(Boolean);
257
+ const untracked = other.stdout.split('\0').filter(Boolean);
258
+ const all = [...new Set([...tracked, ...untracked])];
259
+ if (!all.length)
260
+ return;
261
+ const ignored = await this.ignore(all);
262
+ // Remove newly-ignored files from snapshot index
263
+ if (ignored.size > 0) {
264
+ const ignoredFiles = [...ignored];
265
+ if (ignoredFiles.length) {
266
+ await this.git(this.gitArgs(['rm', '--cached', '-f', '--ignore-unmatch', '--pathspec-from-file=-', '--pathspec-file-nul']), {
267
+ stdin: ignoredFiles.join('\0') + '\0',
268
+ });
120
269
  }
121
270
  }
122
- this._persist(cp, { reason, restored, deleted, errors, skipped, rolledBack: true });
123
- this.active = null;
124
- return {
125
- checkpointId: cp.id,
126
- label: cp.label,
127
- restored: restored.length,
128
- deleted: deleted.length,
129
- errors,
130
- skipped,
131
- reason,
132
- };
133
- }
134
- /** Discard the active checkpoint without restoring anything. */
135
- commit() {
136
- if (this.disabled || !this.active)
137
- return null;
138
- const cp = this.active;
139
- this._persist(cp, { rolledBack: false, committed: true });
140
- this.active = null;
141
- return cp.id;
142
- }
143
- isActive() {
144
- return !!this.active;
145
- }
146
- size() {
147
- return this.active ? this.active.files.size : 0;
148
- }
149
- reset() {
150
- this.active = null;
151
- }
152
- // ─── Internal ──────────────────────────────────────────────────────────
153
- _persist(cp, outcome) {
154
- if (this.disabled)
271
+ const allow = all.filter((f) => !ignored.has(resolve(this.workdir, f)));
272
+ if (!allow.length)
155
273
  return;
156
- try {
157
- if (!existsSync(this.snapshotDir)) {
158
- mkdirSync(this.snapshotDir, { recursive: true, mode: DIR_MODE });
274
+ // Filter out large untracked files
275
+ const large = new Set();
276
+ for (const f of allow) {
277
+ if (!tracked.includes(f)) {
278
+ try {
279
+ const stat = require('fs').statSync(resolve(this.workdir, f));
280
+ if (stat.size > MAX_FILE_SIZE)
281
+ large.add(f);
282
+ }
283
+ catch { }
159
284
  }
160
- const id = String(cp.id || '').replace(/[^A-Za-z0-9_-]/g, '');
161
- if (!id)
162
- return;
163
- const filePath = join(this.snapshotDir, `${id}.json`);
164
- const summary = {
165
- id: cp.id,
166
- label: cp.label,
167
- startedAt: new Date(cp.startedAt).toISOString(),
168
- endedAt: new Date().toISOString(),
169
- fileCount: cp.files.size,
170
- files: [...cp.files.keys()].slice(0, 50),
171
- outcome,
172
- };
173
- const tmp = filePath + `.tmp.${process.pid}`;
174
- writeFileSync(tmp, JSON.stringify(summary, null, 2), { mode: FILE_MODE });
175
- renameSync(tmp, filePath);
176
285
  }
177
- catch {
178
- // never fail the agent loop on persistence errors
286
+ const toStage = allow.filter((f) => !large.has(f));
287
+ if (!toStage.length)
288
+ return;
289
+ await this.git(this.gitArgs(['add', '--all', '--sparse', '--pathspec-from-file=-', '--pathspec-file-nul']), {
290
+ stdin: toStage.join('\0') + '\0',
291
+ });
292
+ }
293
+ /** Sync workspace .gitignore to snapshot's info/exclude. */
294
+ async sync() {
295
+ const excludes = await this.git(['rev-parse', '--path-format=absolute', '--git-path', 'info/exclude'], {
296
+ cwd: this.workdir,
297
+ });
298
+ const userExclude = excludes.code === 0 ? excludes.stdout.trim() : null;
299
+ const target = join(this.gitdir, 'info', 'exclude');
300
+ let content = '';
301
+ if (userExclude && existsSync(userExclude)) {
302
+ try {
303
+ content = readFileSync(userExclude, 'utf-8').trimEnd();
304
+ }
305
+ catch { }
179
306
  }
307
+ const dir = dirname(target);
308
+ if (!existsSync(dir))
309
+ mkdirSync(dir, { recursive: true });
310
+ writeFileSync(target, content ? content + '\n' : '', 'utf-8');
311
+ }
312
+ /** Check which files are gitignored (using user's .gitignore). */
313
+ async ignore(files) {
314
+ if (!files.length)
315
+ return new Set();
316
+ const gitDir = join(this.workdir, '.git');
317
+ if (!existsSync(gitDir))
318
+ return new Set();
319
+ const result = await this.git([
320
+ '-c', 'core.longpaths=true',
321
+ '-c', 'core.quotepath=false',
322
+ '-c', 'core.symlinks=true',
323
+ '--git-dir', gitDir,
324
+ '--work-tree', this.workdir,
325
+ 'check-ignore', '--no-index', '--stdin', '-z',
326
+ ], {
327
+ cwd: this.workdir,
328
+ stdin: files.join('\0') + '\0',
329
+ });
330
+ if (result.code !== 0 && result.code !== 1)
331
+ return new Set();
332
+ return new Set(result.stdout.split('\0').filter(Boolean).map((f) => resolve(this.workdir, f)));
180
333
  }
181
334
  }
182
335
  //# sourceMappingURL=snapshot-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-manager.js","sourceRoot":"","sources":["../../../src/services/snapshot-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot-manager.js","sourceRoot":"","sources":["../../../src/services/snapshot-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../src/tools/edit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C,eAAO,MAAM,QAAQ,EAAE,WAuCtB,CAAC"}
1
+ {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../src/tools/edit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C,eAAO,MAAM,QAAQ,EAAE,WAgDtB,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { z } from 'zod';
2
+ import { createTwoFilesPatch } from 'diff';
2
3
  import { errorResult, textResult } from './utils.js';
3
4
  import { readFileSync, writeFileSync, existsSync } from 'fs';
4
- import { resolve, relative } from 'path';
5
+ import { resolve, relative, basename } from 'path';
5
6
  export const editTool = {
6
7
  name: 'edit',
7
8
  capabilities: { reads: false, writes: true },
@@ -33,27 +34,9 @@ The text may have different whitespace or formatting. Try reading the file first
33
34
  return errorResult("No changes made - the replacement didn't modify the file.");
34
35
  }
35
36
  writeFileSync(resolved, newContent, 'utf-8');
36
- return textResult(`Applied edit to ${relative(process.cwd(), resolved)}
37
-
38
- Changes made (showing context):
39
- ${showDiff(content, newString, oldString)}`);
37
+ const fileName = basename(resolved);
38
+ const patch = createTwoFilesPatch(`a/${fileName}`, `b/${fileName}`, content, newContent, undefined, undefined, { context: 3 });
39
+ return textResult(patch);
40
40
  },
41
41
  };
42
- function showDiff(original, newStr, oldStr) {
43
- const idx = original.indexOf(oldStr);
44
- if (idx < 0)
45
- return '';
46
- const before = original.slice(Math.max(0, idx - 40), idx);
47
- const after = original.slice(idx + oldStr.length, idx + oldStr.length + 40);
48
- return [
49
- '...',
50
- before ? `${before}` : '',
51
- `- ${oldStr.slice(0, 80)}`,
52
- `+ ${newStr.slice(0, 80)}`,
53
- after ? `${after}` : '',
54
- '...',
55
- ]
56
- .filter(Boolean)
57
- .join('\n');
58
- }
59
42
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/tools/edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/tools/edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEnD,MAAM,CAAC,MAAM,QAAQ,GAAgB;IACpC,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;IAC5C,WAAW,EAAE;;;;;;8CAMgC;IAC7C,WAAW,EAAE,CAAC,IAAsB,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;QAC1E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QACpE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KACtD,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,OAAO,WAAW,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,OAAO,WAAW,CAAC,wCAAwC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC;kFACb,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAO,WAAW,CAAC,2DAA2D,CAAC,CAAC;QACjF,CAAC;QAED,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,mBAAmB,CAChC,KAAK,QAAQ,EAAE,EACf,KAAK,QAAQ,EAAE,EACf,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,EACT,EAAE,OAAO,EAAE,CAAC,EAAE,CACd,CAAC;QAEF,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../../src/tools/glob.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C,eAAO,MAAM,QAAQ,EAAE,WAgDtB,CAAC"}
1
+ {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../../src/tools/glob.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C,eAAO,MAAM,QAAQ,EAAE,WAiDtB,CAAC"}
@@ -22,6 +22,7 @@ Results are limited to prevent overwhelming output.`,
22
22
  const hasFd = execSync('which fdfind 2>/dev/null || which fd 2>/dev/null || where fd 2>nul', {
23
23
  encoding: 'utf-8',
24
24
  timeout: 1000,
25
+ stdio: 'pipe',
25
26
  }).trim().length > 0;
26
27
  let cmd;
27
28
  if (hasFd) {
@@ -33,7 +34,7 @@ Results are limited to prevent overwhelming output.`,
33
34
  ? `powershell -Command "Get-ChildItem -Path '${searchDir}' -Recurse -Filter '${pattern}' -ErrorAction SilentlyContinue | Select-Object -First ${limit} | %% { $_.FullName }"`
34
35
  : `find "${searchDir}" -name "${pattern}" 2>/dev/null | head -${limit}`;
35
36
  }
36
- const stdout = execSync(cmd, { encoding: 'utf-8', timeout: 15000, maxBuffer: 1024 * 1024 });
37
+ const stdout = execSync(cmd, { encoding: 'utf-8', timeout: 15000, maxBuffer: 1024 * 1024, stdio: 'pipe' });
37
38
  const results = stdout.trim();
38
39
  if (!results)
39
40
  return textResult('No files matched the pattern.');
@@ -1 +1 @@
1
- {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../../src/tools/glob.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,CAAC,MAAM,QAAQ,GAAgB;IACpC,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IAC5C,WAAW,EAAE;;;oDAGsC;IACnD,WAAW,EAAE,CAAC,IAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO;IACxD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;QAC5F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QAChF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KACjF,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,UAAU,IAAI,GAAG,CAAC;QAEhC,IAAI,CAAC;YACJ,MAAM,KAAK,GACV,QAAQ,CAAC,oEAAoE,EAAE;gBAC9E,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI;aACb,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAEtB,IAAI,GAAW,CAAC;YAChB,IAAI,KAAK,EAAE,CAAC;gBACX,GAAG,GAAG,OAAO,OAAO,MAAM,SAAS,wCAAwC,KAAK,EAAE,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACP,GAAG;oBACF,OAAO,CAAC,QAAQ,KAAK,OAAO;wBAC3B,CAAC,CAAC,6CAA6C,SAAS,uBAAuB,OAAO,0DAA0D,KAAK,wBAAwB;wBAC7K,CAAC,CAAC,SAAS,SAAS,YAAY,OAAO,yBAAyB,KAAK,EAAE,CAAC;YAC3E,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;YAC5F,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO;gBAAE,OAAO,UAAU,CAAC,+BAA+B,CAAC,CAAC;YAEjE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC;YACxC,OAAO,UAAU,CAChB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,0BAA0B,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAC9F,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,GAA2B,CAAC;YAC1C,OAAO,WAAW,CAAC,uBAAuB,KAAK,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;QAC/E,CAAC;IACF,CAAC;CACD,CAAC"}
1
+ {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../../src/tools/glob.ts"],"names":[],"mappings":"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"}