alchemy 0.62.3 → 0.63.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 (594) hide show
  1. package/bin/alchemy.js +1516 -1202
  2. package/bin/commands/deploy.ts +2 -0
  3. package/bin/commands/dev.ts +2 -0
  4. package/bin/services/execute-alchemy.ts +11 -0
  5. package/bin/services/template-manager.ts +2 -0
  6. package/bin/types.ts +2 -1
  7. package/lib/alchemy.d.ts +6 -22
  8. package/lib/alchemy.d.ts.map +1 -1
  9. package/lib/alchemy.js +65 -169
  10. package/lib/alchemy.js.map +1 -1
  11. package/lib/apply.d.ts +0 -2
  12. package/lib/apply.d.ts.map +1 -1
  13. package/lib/apply.js +2 -16
  14. package/lib/apply.js.map +1 -1
  15. package/lib/aws/account-id.d.ts.map +1 -1
  16. package/lib/aws/account-id.js +3 -2
  17. package/lib/aws/account-id.js.map +1 -1
  18. package/lib/aws/bucket.d.ts +8 -2
  19. package/lib/aws/bucket.d.ts.map +1 -1
  20. package/lib/aws/bucket.js +21 -14
  21. package/lib/aws/bucket.js.map +1 -1
  22. package/lib/aws/ec2/security-group.d.ts +8 -2
  23. package/lib/aws/ec2/security-group.d.ts.map +1 -1
  24. package/lib/aws/ec2/security-group.js +7 -2
  25. package/lib/aws/ec2/security-group.js.map +1 -1
  26. package/lib/aws/function.d.ts +9 -3
  27. package/lib/aws/function.d.ts.map +1 -1
  28. package/lib/aws/function.js +35 -26
  29. package/lib/aws/function.js.map +1 -1
  30. package/lib/aws/policy-attachment.d.ts.map +1 -1
  31. package/lib/aws/policy-attachment.js +2 -1
  32. package/lib/aws/policy-attachment.js.map +1 -1
  33. package/lib/aws/policy.d.ts +8 -2
  34. package/lib/aws/policy.d.ts.map +1 -1
  35. package/lib/aws/policy.js +13 -4
  36. package/lib/aws/policy.js.map +1 -1
  37. package/lib/aws/queue.d.ts +8 -2
  38. package/lib/aws/queue.d.ts.map +1 -1
  39. package/lib/aws/queue.js +22 -14
  40. package/lib/aws/queue.js.map +1 -1
  41. package/lib/aws/role.d.ts +8 -2
  42. package/lib/aws/role.d.ts.map +1 -1
  43. package/lib/aws/role.js +10 -3
  44. package/lib/aws/role.js.map +1 -1
  45. package/lib/aws/ses.d.ts +1 -1
  46. package/lib/aws/ses.d.ts.map +1 -1
  47. package/lib/aws/ses.js +2 -1
  48. package/lib/aws/ses.js.map +1 -1
  49. package/lib/aws/ssm-parameter.d.ts +8 -2
  50. package/lib/aws/ssm-parameter.d.ts.map +1 -1
  51. package/lib/aws/ssm-parameter.js +15 -10
  52. package/lib/aws/ssm-parameter.js.map +1 -1
  53. package/lib/aws/table.d.ts +8 -2
  54. package/lib/aws/table.d.ts.map +1 -1
  55. package/lib/aws/table.js +17 -9
  56. package/lib/aws/table.js.map +1 -1
  57. package/lib/cloudflare/account-api-token.d.ts +2 -2
  58. package/lib/cloudflare/account-api-token.d.ts.map +1 -1
  59. package/lib/cloudflare/account-api-token.js +7 -6
  60. package/lib/cloudflare/account-api-token.js.map +1 -1
  61. package/lib/cloudflare/ai-gateway.d.ts +9 -4
  62. package/lib/cloudflare/ai-gateway.d.ts.map +1 -1
  63. package/lib/cloudflare/ai-gateway.js +20 -24
  64. package/lib/cloudflare/ai-gateway.js.map +1 -1
  65. package/lib/cloudflare/api-schema.d.ts +2 -2
  66. package/lib/cloudflare/api-schema.d.ts.map +1 -1
  67. package/lib/cloudflare/api-schema.js +6 -2
  68. package/lib/cloudflare/api-schema.js.map +1 -1
  69. package/lib/cloudflare/api-shield.d.ts +5 -1
  70. package/lib/cloudflare/api-shield.d.ts.map +1 -1
  71. package/lib/cloudflare/api-shield.js +6 -1
  72. package/lib/cloudflare/api-shield.js.map +1 -1
  73. package/lib/cloudflare/assets.d.ts +1 -1
  74. package/lib/cloudflare/assets.d.ts.map +1 -1
  75. package/lib/cloudflare/astro/astro.d.ts.map +1 -1
  76. package/lib/cloudflare/astro/astro.js +3 -1
  77. package/lib/cloudflare/astro/astro.js.map +1 -1
  78. package/lib/cloudflare/astro/plugin.d.ts +2 -1
  79. package/lib/cloudflare/astro/plugin.d.ts.map +1 -1
  80. package/lib/cloudflare/astro/plugin.js.map +1 -1
  81. package/lib/cloudflare/bindings.d.ts +2 -2
  82. package/lib/cloudflare/bindings.d.ts.map +1 -1
  83. package/lib/cloudflare/bound.d.ts +1 -1
  84. package/lib/cloudflare/bound.d.ts.map +1 -1
  85. package/lib/cloudflare/bucket.d.ts +120 -1
  86. package/lib/cloudflare/bucket.d.ts.map +1 -1
  87. package/lib/cloudflare/bucket.js +80 -2
  88. package/lib/cloudflare/bucket.js.map +1 -1
  89. package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
  90. package/lib/cloudflare/compatibility-date.gen.js +1 -1
  91. package/lib/cloudflare/container.d.ts +10 -4
  92. package/lib/cloudflare/container.d.ts.map +1 -1
  93. package/lib/cloudflare/container.js +12 -9
  94. package/lib/cloudflare/container.js.map +1 -1
  95. package/lib/cloudflare/custom-domain.js +2 -1
  96. package/lib/cloudflare/custom-domain.js.map +1 -1
  97. package/lib/cloudflare/d1-database.d.ts +1 -1
  98. package/lib/cloudflare/d1-database.d.ts.map +1 -1
  99. package/lib/cloudflare/d1-database.js +6 -2
  100. package/lib/cloudflare/d1-database.js.map +1 -1
  101. package/lib/cloudflare/dispatch-namespace.d.ts +2 -0
  102. package/lib/cloudflare/dispatch-namespace.d.ts.map +1 -1
  103. package/lib/cloudflare/dispatch-namespace.js +7 -5
  104. package/lib/cloudflare/dispatch-namespace.js.map +1 -1
  105. package/lib/cloudflare/hyperdrive.d.ts +7 -1
  106. package/lib/cloudflare/hyperdrive.d.ts.map +1 -1
  107. package/lib/cloudflare/hyperdrive.js +2 -1
  108. package/lib/cloudflare/hyperdrive.js.map +1 -1
  109. package/lib/cloudflare/kv-namespace.d.ts +3 -0
  110. package/lib/cloudflare/kv-namespace.d.ts.map +1 -1
  111. package/lib/cloudflare/kv-namespace.js +11 -2
  112. package/lib/cloudflare/kv-namespace.js.map +1 -1
  113. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +3 -1
  114. package/lib/cloudflare/miniflare/miniflare-worker-proxy.js.map +1 -1
  115. package/lib/cloudflare/miniflare/paths.d.ts +4 -0
  116. package/lib/cloudflare/miniflare/paths.d.ts.map +1 -1
  117. package/lib/cloudflare/miniflare/paths.js +11 -0
  118. package/lib/cloudflare/miniflare/paths.js.map +1 -1
  119. package/lib/cloudflare/pipeline.d.ts +14 -3
  120. package/lib/cloudflare/pipeline.d.ts.map +1 -1
  121. package/lib/cloudflare/pipeline.js +31 -2
  122. package/lib/cloudflare/pipeline.js.map +1 -1
  123. package/lib/cloudflare/queue-consumer.js +1 -1
  124. package/lib/cloudflare/queue-consumer.js.map +1 -1
  125. package/lib/cloudflare/queue.d.ts +4 -2
  126. package/lib/cloudflare/queue.d.ts.map +1 -1
  127. package/lib/cloudflare/queue.js +13 -9
  128. package/lib/cloudflare/queue.js.map +1 -1
  129. package/lib/cloudflare/react-router/plugin.d.ts +1 -1
  130. package/lib/cloudflare/react-router/plugin.d.ts.map +1 -1
  131. package/lib/cloudflare/react-router/react-router.d.ts.map +1 -1
  132. package/lib/cloudflare/react-router/react-router.js +32 -2
  133. package/lib/cloudflare/react-router/react-router.js.map +1 -1
  134. package/lib/cloudflare/redwood/plugin.d.ts +2 -1
  135. package/lib/cloudflare/redwood/plugin.d.ts.map +1 -1
  136. package/lib/cloudflare/redwood/plugin.js.map +1 -1
  137. package/lib/cloudflare/route.js +1 -1
  138. package/lib/cloudflare/route.js.map +1 -1
  139. package/lib/cloudflare/ruleset.d.ts +3 -1
  140. package/lib/cloudflare/ruleset.d.ts.map +1 -1
  141. package/lib/cloudflare/ruleset.js +3 -2
  142. package/lib/cloudflare/ruleset.js.map +1 -1
  143. package/lib/cloudflare/secret.d.ts +6 -23
  144. package/lib/cloudflare/secret.d.ts.map +1 -1
  145. package/lib/cloudflare/secret.js +8 -4
  146. package/lib/cloudflare/secret.js.map +1 -1
  147. package/lib/cloudflare/secrets-store.d.ts +1 -1
  148. package/lib/cloudflare/secrets-store.d.ts.map +1 -1
  149. package/lib/cloudflare/secrets-store.js +5 -2
  150. package/lib/cloudflare/secrets-store.js.map +1 -1
  151. package/lib/cloudflare/tunnel.d.ts +5 -1
  152. package/lib/cloudflare/tunnel.d.ts.map +1 -1
  153. package/lib/cloudflare/tunnel.js +5 -1
  154. package/lib/cloudflare/tunnel.js.map +1 -1
  155. package/lib/cloudflare/vectorize-index.d.ts +7 -1
  156. package/lib/cloudflare/vectorize-index.d.ts.map +1 -1
  157. package/lib/cloudflare/vectorize-index.js +5 -2
  158. package/lib/cloudflare/vectorize-index.js.map +1 -1
  159. package/lib/cloudflare/vite/plugin.d.ts +2 -1
  160. package/lib/cloudflare/vite/plugin.d.ts.map +1 -1
  161. package/lib/cloudflare/vite/plugin.js.map +1 -1
  162. package/lib/cloudflare/website.js +1 -1
  163. package/lib/cloudflare/website.js.map +1 -1
  164. package/lib/cloudflare/worker.d.ts +1 -1
  165. package/lib/cloudflare/worker.d.ts.map +1 -1
  166. package/lib/cloudflare/worker.js +12 -7
  167. package/lib/cloudflare/worker.js.map +1 -1
  168. package/lib/cloudflare/wrangler.json.d.ts +1 -1
  169. package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
  170. package/lib/cloudflare/wrangler.json.js +5 -3
  171. package/lib/cloudflare/wrangler.json.js.map +1 -1
  172. package/lib/docker/container.d.ts +6 -0
  173. package/lib/docker/container.d.ts.map +1 -1
  174. package/lib/docker/container.js +5 -1
  175. package/lib/docker/container.js.map +1 -1
  176. package/lib/docker/network.d.ts +8 -2
  177. package/lib/docker/network.d.ts.map +1 -1
  178. package/lib/docker/network.js +7 -2
  179. package/lib/docker/network.js.map +1 -1
  180. package/lib/docker/volume.d.ts +8 -2
  181. package/lib/docker/volume.d.ts.map +1 -1
  182. package/lib/docker/volume.js +6 -4
  183. package/lib/docker/volume.js.map +1 -1
  184. package/lib/esbuild/bundle.d.ts +1 -1
  185. package/lib/fs/index.d.ts +0 -8
  186. package/lib/fs/index.d.ts.map +1 -1
  187. package/lib/fs/index.js +0 -8
  188. package/lib/fs/index.js.map +1 -1
  189. package/lib/github/client.d.ts +1 -1
  190. package/lib/github/client.d.ts.map +1 -1
  191. package/lib/github/client.js +2 -1
  192. package/lib/github/client.js.map +1 -1
  193. package/lib/github/repository-environment.d.ts +8 -2
  194. package/lib/github/repository-environment.d.ts.map +1 -1
  195. package/lib/github/repository-environment.js +16 -12
  196. package/lib/github/repository-environment.js.map +1 -1
  197. package/lib/neon/project.d.ts +7 -1
  198. package/lib/neon/project.d.ts.map +1 -1
  199. package/lib/neon/project.js +10 -6
  200. package/lib/neon/project.js.map +1 -1
  201. package/lib/planetscale/branch.d.ts +4 -2
  202. package/lib/planetscale/branch.d.ts.map +1 -1
  203. package/lib/planetscale/branch.js +18 -12
  204. package/lib/planetscale/branch.js.map +1 -1
  205. package/lib/planetscale/database.d.ts +8 -2
  206. package/lib/planetscale/database.d.ts.map +1 -1
  207. package/lib/planetscale/database.js +24 -16
  208. package/lib/planetscale/database.js.map +1 -1
  209. package/lib/planetscale/password.d.ts +8 -2
  210. package/lib/planetscale/password.d.ts.map +1 -1
  211. package/lib/planetscale/password.js +2 -2
  212. package/lib/planetscale/password.js.map +1 -1
  213. package/lib/resource.d.ts +0 -2
  214. package/lib/resource.d.ts.map +1 -1
  215. package/lib/resource.js +1 -9
  216. package/lib/resource.js.map +1 -1
  217. package/lib/scope.d.ts +9 -3
  218. package/lib/scope.d.ts.map +1 -1
  219. package/lib/scope.js +21 -34
  220. package/lib/scope.js.map +1 -1
  221. package/lib/sentry/client-key.d.ts +7 -1
  222. package/lib/sentry/client-key.d.ts.map +1 -1
  223. package/lib/sentry/client-key.js +45 -6
  224. package/lib/sentry/client-key.js.map +1 -1
  225. package/lib/sentry/project.d.ts +8 -2
  226. package/lib/sentry/project.d.ts.map +1 -1
  227. package/lib/sentry/project.js +35 -5
  228. package/lib/sentry/project.js.map +1 -1
  229. package/lib/sentry/team.d.ts +8 -2
  230. package/lib/sentry/team.d.ts.map +1 -1
  231. package/lib/sentry/team.js +36 -6
  232. package/lib/sentry/team.js.map +1 -1
  233. package/lib/serde.d.ts +0 -5
  234. package/lib/serde.d.ts.map +1 -1
  235. package/lib/serde.js +0 -28
  236. package/lib/serde.js.map +1 -1
  237. package/lib/state/d1-state-store.d.ts +1 -1
  238. package/lib/state/d1-state-store.d.ts.map +1 -1
  239. package/lib/state/d1-state-store.js +5 -5
  240. package/lib/state/d1-state-store.js.map +1 -1
  241. package/lib/state/sqlite-state-store.d.ts.map +1 -1
  242. package/lib/state/sqlite-state-store.js +7 -11
  243. package/lib/state/sqlite-state-store.js.map +1 -1
  244. package/lib/stripe/card.d.ts.map +1 -1
  245. package/lib/stripe/card.js +3 -2
  246. package/lib/stripe/card.js.map +1 -1
  247. package/lib/stripe/client.d.ts +2 -2
  248. package/lib/stripe/client.d.ts.map +1 -1
  249. package/lib/stripe/client.js +4 -3
  250. package/lib/stripe/client.js.map +1 -1
  251. package/lib/stripe/coupon.d.ts.map +1 -1
  252. package/lib/stripe/coupon.js +4 -3
  253. package/lib/stripe/coupon.js.map +1 -1
  254. package/lib/stripe/customer.js +2 -2
  255. package/lib/stripe/customer.js.map +1 -1
  256. package/lib/stripe/entitlements-feature.d.ts.map +1 -1
  257. package/lib/stripe/entitlements-feature.js +3 -2
  258. package/lib/stripe/entitlements-feature.js.map +1 -1
  259. package/lib/stripe/file.d.ts.map +1 -1
  260. package/lib/stripe/file.js +3 -2
  261. package/lib/stripe/file.js.map +1 -1
  262. package/lib/stripe/meter.js +2 -2
  263. package/lib/stripe/meter.js.map +1 -1
  264. package/lib/stripe/portal-configuration.d.ts.map +1 -1
  265. package/lib/stripe/portal-configuration.js +3 -2
  266. package/lib/stripe/portal-configuration.js.map +1 -1
  267. package/lib/stripe/price.d.ts.map +1 -1
  268. package/lib/stripe/price.js +3 -2
  269. package/lib/stripe/price.js.map +1 -1
  270. package/lib/stripe/product-feature.d.ts.map +1 -1
  271. package/lib/stripe/product-feature.js +3 -2
  272. package/lib/stripe/product-feature.js.map +1 -1
  273. package/lib/stripe/product.d.ts.map +1 -1
  274. package/lib/stripe/product.js +3 -2
  275. package/lib/stripe/product.js.map +1 -1
  276. package/lib/stripe/promotion-code.d.ts.map +1 -1
  277. package/lib/stripe/promotion-code.js +3 -2
  278. package/lib/stripe/promotion-code.js.map +1 -1
  279. package/lib/stripe/shipping-rate.d.ts.map +1 -1
  280. package/lib/stripe/shipping-rate.js +4 -3
  281. package/lib/stripe/shipping-rate.js.map +1 -1
  282. package/lib/stripe/tax-rate.d.ts.map +1 -1
  283. package/lib/stripe/tax-rate.js +3 -2
  284. package/lib/stripe/tax-rate.js.map +1 -1
  285. package/lib/stripe/webhook.d.ts.map +1 -1
  286. package/lib/stripe/webhook.js +4 -3
  287. package/lib/stripe/webhook.js.map +1 -1
  288. package/lib/test/vitest.d.ts.map +1 -1
  289. package/lib/test/vitest.js +1 -0
  290. package/lib/test/vitest.js.map +1 -1
  291. package/lib/upstash/redis.d.ts +8 -2
  292. package/lib/upstash/redis.d.ts.map +1 -1
  293. package/lib/upstash/redis.js +5 -4
  294. package/lib/upstash/redis.js.map +1 -1
  295. package/lib/util/ignore-matcher.d.ts.map +1 -1
  296. package/lib/util/ignore-matcher.js +3 -1
  297. package/lib/util/ignore-matcher.js.map +1 -1
  298. package/lib/util/peer.d.ts +10 -0
  299. package/lib/util/peer.d.ts.map +1 -0
  300. package/lib/util/peer.js +42 -0
  301. package/lib/util/peer.js.map +1 -0
  302. package/lib/vercel/project.d.ts +7 -1
  303. package/lib/vercel/project.d.ts.map +1 -1
  304. package/lib/vercel/project.js +28 -0
  305. package/lib/vercel/project.js.map +1 -1
  306. package/package.json +88 -74
  307. package/src/alchemy.ts +76 -222
  308. package/src/apply.ts +6 -19
  309. package/src/aws/account-id.ts +6 -3
  310. package/src/aws/bucket.ts +43 -32
  311. package/src/aws/ec2/security-group.ts +15 -3
  312. package/src/aws/function.ts +65 -39
  313. package/src/aws/policy-attachment.ts +10 -6
  314. package/src/aws/policy.ts +33 -15
  315. package/src/aws/queue.ts +50 -29
  316. package/src/aws/role.ts +37 -20
  317. package/src/aws/ses.ts +24 -20
  318. package/src/aws/ssm-parameter.ts +40 -20
  319. package/src/aws/table.ts +35 -17
  320. package/src/cloudflare/account-api-token.ts +9 -7
  321. package/src/cloudflare/ai-gateway.ts +37 -34
  322. package/src/cloudflare/api-schema.ts +33 -26
  323. package/src/cloudflare/api-shield.ts +15 -2
  324. package/src/cloudflare/astro/astro.ts +5 -1
  325. package/src/cloudflare/astro/plugin.ts +2 -1
  326. package/src/cloudflare/bindings.ts +2 -2
  327. package/src/cloudflare/bound.ts +1 -1
  328. package/src/cloudflare/bucket.ts +242 -3
  329. package/src/cloudflare/compatibility-date.gen.ts +1 -1
  330. package/src/cloudflare/container.ts +23 -12
  331. package/src/cloudflare/custom-domain.ts +2 -2
  332. package/src/cloudflare/d1-database.ts +10 -3
  333. package/src/cloudflare/dispatch-namespace.ts +10 -7
  334. package/src/cloudflare/hyperdrive.ts +13 -3
  335. package/src/cloudflare/kv-namespace.ts +25 -2
  336. package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +3 -1
  337. package/src/cloudflare/miniflare/paths.ts +13 -0
  338. package/src/cloudflare/pipeline.ts +76 -28
  339. package/src/cloudflare/queue-consumer.ts +1 -1
  340. package/src/cloudflare/queue.ts +26 -14
  341. package/src/cloudflare/react-router/react-router.ts +28 -2
  342. package/src/cloudflare/redwood/plugin.ts +3 -2
  343. package/src/cloudflare/route.ts +1 -1
  344. package/src/cloudflare/ruleset.ts +7 -2
  345. package/src/cloudflare/secret.ts +20 -31
  346. package/src/cloudflare/secrets-store.ts +7 -3
  347. package/src/cloudflare/tunnel.ts +13 -2
  348. package/src/cloudflare/vectorize-index.ts +14 -3
  349. package/src/cloudflare/vite/plugin.ts +3 -2
  350. package/src/cloudflare/website.ts +1 -1
  351. package/src/cloudflare/worker.ts +35 -23
  352. package/src/cloudflare/wrangler.json.ts +7 -4
  353. package/src/docker/container.ts +13 -1
  354. package/src/docker/network.ts +18 -3
  355. package/src/docker/volume.ts +17 -6
  356. package/src/fs/index.ts +0 -8
  357. package/src/github/client.ts +6 -2
  358. package/src/github/repository-environment.ts +27 -13
  359. package/src/neon/project.ts +20 -6
  360. package/src/planetscale/branch.ts +24 -13
  361. package/src/planetscale/database.ts +38 -17
  362. package/src/planetscale/password.ts +10 -3
  363. package/src/resource.ts +1 -10
  364. package/src/scope.ts +29 -38
  365. package/src/sentry/client-key.ts +74 -6
  366. package/src/sentry/project.ts +59 -6
  367. package/src/sentry/team.ts +55 -7
  368. package/src/serde.ts +0 -44
  369. package/src/state/d1-state-store.ts +13 -6
  370. package/src/state/sqlite-state-store.ts +16 -17
  371. package/src/stripe/card.ts +5 -2
  372. package/src/stripe/client.ts +10 -3
  373. package/src/stripe/coupon.ts +4 -3
  374. package/src/stripe/customer.ts +2 -2
  375. package/src/stripe/entitlements-feature.ts +5 -2
  376. package/src/stripe/file.ts +3 -2
  377. package/src/stripe/meter.ts +2 -2
  378. package/src/stripe/portal-configuration.ts +5 -2
  379. package/src/stripe/price.ts +3 -2
  380. package/src/stripe/product-feature.ts +5 -2
  381. package/src/stripe/product.ts +3 -2
  382. package/src/stripe/promotion-code.ts +3 -2
  383. package/src/stripe/shipping-rate.ts +4 -3
  384. package/src/stripe/tax-rate.ts +3 -2
  385. package/src/stripe/webhook.ts +4 -3
  386. package/src/test/vitest.ts +1 -0
  387. package/src/upstash/redis.ts +15 -5
  388. package/src/util/ignore-matcher.ts +3 -1
  389. package/src/util/peer.ts +53 -0
  390. package/src/vercel/project.ts +46 -1
  391. package/templates/hono/README.md +19 -0
  392. package/templates/hono/_env +1 -0
  393. package/templates/hono/_env.example +1 -0
  394. package/templates/hono/_gitignore +34 -0
  395. package/templates/hono/alchemy.run.ts +22 -0
  396. package/templates/hono/package.json +18 -0
  397. package/templates/hono/src/index.ts +17 -0
  398. package/templates/hono/tsconfig.json +13 -0
  399. package/templates/hono/types/env.d.ts +16 -0
  400. package/templates/react-router/vite.config.ts +5 -3
  401. package/workers/cloudflare-state-store.js +69 -74
  402. package/workers/dofs-state-store.js +1 -1
  403. package/bin/bootstrap-s3.ts +0 -255
  404. package/lib/ai/ark.d.ts +0 -12
  405. package/lib/ai/ark.d.ts.map +0 -1
  406. package/lib/ai/ark.js +0 -87
  407. package/lib/ai/ark.js.map +0 -1
  408. package/lib/ai/astro-file.d.ts +0 -138
  409. package/lib/ai/astro-file.d.ts.map +0 -1
  410. package/lib/ai/astro-file.js +0 -158
  411. package/lib/ai/astro-file.js.map +0 -1
  412. package/lib/ai/client.d.ts +0 -51
  413. package/lib/ai/client.d.ts.map +0 -1
  414. package/lib/ai/client.js +0 -58
  415. package/lib/ai/client.js.map +0 -1
  416. package/lib/ai/css-file.d.ts +0 -132
  417. package/lib/ai/css-file.d.ts.map +0 -1
  418. package/lib/ai/css-file.js +0 -142
  419. package/lib/ai/css-file.js.map +0 -1
  420. package/lib/ai/data.d.ts +0 -152
  421. package/lib/ai/data.d.ts.map +0 -1
  422. package/lib/ai/data.js +0 -120
  423. package/lib/ai/data.js.map +0 -1
  424. package/lib/ai/document.d.ts +0 -208
  425. package/lib/ai/document.d.ts.map +0 -1
  426. package/lib/ai/document.js +0 -206
  427. package/lib/ai/document.js.map +0 -1
  428. package/lib/ai/html-file.d.ts +0 -129
  429. package/lib/ai/html-file.d.ts.map +0 -1
  430. package/lib/ai/html-file.js +0 -139
  431. package/lib/ai/html-file.js.map +0 -1
  432. package/lib/ai/index.d.ts +0 -11
  433. package/lib/ai/index.d.ts.map +0 -1
  434. package/lib/ai/index.js +0 -11
  435. package/lib/ai/index.js.map +0 -1
  436. package/lib/ai/json-file.d.ts +0 -161
  437. package/lib/ai/json-file.d.ts.map +0 -1
  438. package/lib/ai/json-file.js +0 -188
  439. package/lib/ai/json-file.js.map +0 -1
  440. package/lib/ai/typescript-file.d.ts +0 -140
  441. package/lib/ai/typescript-file.d.ts.map +0 -1
  442. package/lib/ai/typescript-file.js +0 -146
  443. package/lib/ai/typescript-file.js.map +0 -1
  444. package/lib/ai/vue-file.d.ts +0 -127
  445. package/lib/ai/vue-file.d.ts.map +0 -1
  446. package/lib/ai/vue-file.js +0 -137
  447. package/lib/ai/vue-file.js.map +0 -1
  448. package/lib/ai/yaml-file.d.ts +0 -170
  449. package/lib/ai/yaml-file.d.ts.map +0 -1
  450. package/lib/ai/yaml-file.js +0 -201
  451. package/lib/ai/yaml-file.js.map +0 -1
  452. package/lib/fs/static-astro-file.d.ts +0 -35
  453. package/lib/fs/static-astro-file.d.ts.map +0 -1
  454. package/lib/fs/static-astro-file.js +0 -40
  455. package/lib/fs/static-astro-file.js.map +0 -1
  456. package/lib/fs/static-css-file.d.ts +0 -25
  457. package/lib/fs/static-css-file.d.ts.map +0 -1
  458. package/lib/fs/static-css-file.js +0 -30
  459. package/lib/fs/static-css-file.js.map +0 -1
  460. package/lib/fs/static-html-file.d.ts +0 -32
  461. package/lib/fs/static-html-file.d.ts.map +0 -1
  462. package/lib/fs/static-html-file.js +0 -37
  463. package/lib/fs/static-html-file.js.map +0 -1
  464. package/lib/fs/static-json-file.d.ts +0 -18
  465. package/lib/fs/static-json-file.d.ts.map +0 -1
  466. package/lib/fs/static-json-file.js +0 -19
  467. package/lib/fs/static-json-file.js.map +0 -1
  468. package/lib/fs/static-text-file.d.ts +0 -13
  469. package/lib/fs/static-text-file.d.ts.map +0 -1
  470. package/lib/fs/static-text-file.js +0 -9
  471. package/lib/fs/static-text-file.js.map +0 -1
  472. package/lib/fs/static-typescript-file.d.ts +0 -20
  473. package/lib/fs/static-typescript-file.d.ts.map +0 -1
  474. package/lib/fs/static-typescript-file.js +0 -16
  475. package/lib/fs/static-typescript-file.js.map +0 -1
  476. package/lib/fs/static-vue-file.d.ts +0 -29
  477. package/lib/fs/static-vue-file.d.ts.map +0 -1
  478. package/lib/fs/static-vue-file.js +0 -34
  479. package/lib/fs/static-vue-file.js.map +0 -1
  480. package/lib/fs/static-yaml-file.d.ts +0 -23
  481. package/lib/fs/static-yaml-file.d.ts.map +0 -1
  482. package/lib/fs/static-yaml-file.js +0 -10
  483. package/lib/fs/static-yaml-file.js.map +0 -1
  484. package/lib/internal/docs/providers.d.ts +0 -34
  485. package/lib/internal/docs/providers.d.ts.map +0 -1
  486. package/lib/internal/docs/providers.js +0 -200
  487. package/lib/internal/docs/providers.js.map +0 -1
  488. package/lib/runtime/bind.d.ts +0 -25
  489. package/lib/runtime/bind.d.ts.map +0 -1
  490. package/lib/runtime/bind.js +0 -76
  491. package/lib/runtime/bind.js.map +0 -1
  492. package/lib/runtime/global.d.ts +0 -8
  493. package/lib/runtime/global.d.ts.map +0 -1
  494. package/lib/runtime/global.js +0 -3
  495. package/lib/runtime/global.js.map +0 -1
  496. package/lib/runtime/plugin.d.ts +0 -35
  497. package/lib/runtime/plugin.d.ts.map +0 -1
  498. package/lib/runtime/plugin.js +0 -134
  499. package/lib/runtime/plugin.js.map +0 -1
  500. package/lib/runtime/shims.d.ts +0 -6
  501. package/lib/runtime/shims.d.ts.map +0 -1
  502. package/lib/runtime/shims.js +0 -27
  503. package/lib/runtime/shims.js.map +0 -1
  504. package/lib/runtime/state.d.ts +0 -5
  505. package/lib/runtime/state.d.ts.map +0 -1
  506. package/lib/runtime/state.js +0 -4
  507. package/lib/runtime/state.js.map +0 -1
  508. package/lib/web/astro.d.ts +0 -148
  509. package/lib/web/astro.d.ts.map +0 -1
  510. package/lib/web/astro.js +0 -419
  511. package/lib/web/astro.js.map +0 -1
  512. package/lib/web/shadcn-component.d.ts +0 -30
  513. package/lib/web/shadcn-component.d.ts.map +0 -1
  514. package/lib/web/shadcn-component.js +0 -25
  515. package/lib/web/shadcn-component.js.map +0 -1
  516. package/lib/web/shadcn.d.ts +0 -98
  517. package/lib/web/shadcn.d.ts.map +0 -1
  518. package/lib/web/shadcn.js +0 -102
  519. package/lib/web/shadcn.js.map +0 -1
  520. package/lib/web/tailwind.d.ts +0 -65
  521. package/lib/web/tailwind.d.ts.map +0 -1
  522. package/lib/web/tailwind.js +0 -98
  523. package/lib/web/tailwind.js.map +0 -1
  524. package/lib/web/vite.d.ts +0 -96
  525. package/lib/web/vite.d.ts.map +0 -1
  526. package/lib/web/vite.js +0 -232
  527. package/lib/web/vite.js.map +0 -1
  528. package/lib/web/vitepress/config.d.ts +0 -12
  529. package/lib/web/vitepress/config.d.ts.map +0 -1
  530. package/lib/web/vitepress/config.js +0 -33
  531. package/lib/web/vitepress/config.js.map +0 -1
  532. package/lib/web/vitepress/custom-theme.d.ts +0 -174
  533. package/lib/web/vitepress/custom-theme.d.ts.map +0 -1
  534. package/lib/web/vitepress/custom-theme.js +0 -337
  535. package/lib/web/vitepress/custom-theme.js.map +0 -1
  536. package/lib/web/vitepress/dependencies.d.ts +0 -13
  537. package/lib/web/vitepress/dependencies.d.ts.map +0 -1
  538. package/lib/web/vitepress/dependencies.js +0 -37
  539. package/lib/web/vitepress/dependencies.js.map +0 -1
  540. package/lib/web/vitepress/home-page.d.ts +0 -247
  541. package/lib/web/vitepress/home-page.d.ts.map +0 -1
  542. package/lib/web/vitepress/home-page.js +0 -146
  543. package/lib/web/vitepress/home-page.js.map +0 -1
  544. package/lib/web/vitepress/index.d.ts +0 -6
  545. package/lib/web/vitepress/index.d.ts.map +0 -1
  546. package/lib/web/vitepress/index.js +0 -6
  547. package/lib/web/vitepress/index.js.map +0 -1
  548. package/lib/web/vitepress/process-front-matter-files.d.ts +0 -19
  549. package/lib/web/vitepress/process-front-matter-files.d.ts.map +0 -1
  550. package/lib/web/vitepress/process-front-matter-files.js +0 -73
  551. package/lib/web/vitepress/process-front-matter-files.js.map +0 -1
  552. package/lib/web/vitepress/vitepress.d.ts +0 -75
  553. package/lib/web/vitepress/vitepress.d.ts.map +0 -1
  554. package/lib/web/vitepress/vitepress.js +0 -254
  555. package/lib/web/vitepress/vitepress.js.map +0 -1
  556. package/src/ai/ark.ts +0 -118
  557. package/src/ai/astro-file.ts +0 -270
  558. package/src/ai/client.ts +0 -117
  559. package/src/ai/css-file.ts +0 -247
  560. package/src/ai/data.ts +0 -221
  561. package/src/ai/document.ts +0 -367
  562. package/src/ai/html-file.ts +0 -244
  563. package/src/ai/index.ts +0 -10
  564. package/src/ai/json-file.ts +0 -325
  565. package/src/ai/typescript-file.ts +0 -259
  566. package/src/ai/vue-file.ts +0 -242
  567. package/src/ai/yaml-file.ts +0 -328
  568. package/src/fs/static-astro-file.ts +0 -45
  569. package/src/fs/static-css-file.ts +0 -35
  570. package/src/fs/static-html-file.ts +0 -42
  571. package/src/fs/static-json-file.ts +0 -38
  572. package/src/fs/static-text-file.ts +0 -23
  573. package/src/fs/static-typescript-file.ts +0 -37
  574. package/src/fs/static-vue-file.ts +0 -39
  575. package/src/fs/static-yaml-file.ts +0 -33
  576. package/src/internal/docs/providers.ts +0 -286
  577. package/src/runtime/bind.ts +0 -95
  578. package/src/runtime/global.ts +0 -10
  579. package/src/runtime/plugin.ts +0 -163
  580. package/src/runtime/shims.js +0 -34
  581. package/src/runtime/state.ts +0 -9
  582. package/src/web/astro.ts +0 -643
  583. package/src/web/shadcn-component.ts +0 -72
  584. package/src/web/shadcn.ts +0 -221
  585. package/src/web/tailwind.ts +0 -167
  586. package/src/web/vite.ts +0 -407
  587. package/src/web/vitepress/config.ts +0 -50
  588. package/src/web/vitepress/custom-theme.ts +0 -514
  589. package/src/web/vitepress/dependencies.ts +0 -69
  590. package/src/web/vitepress/home-page.ts +0 -378
  591. package/src/web/vitepress/index.ts +0 -5
  592. package/src/web/vitepress/process-front-matter-files.ts +0 -107
  593. package/src/web/vitepress/vitepress.ts +0 -372
  594. package/templates/sveltekit/bun.lock +0 -1099
package/lib/web/vite.js DELETED
@@ -1,232 +0,0 @@
1
- import { exec } from "node:child_process";
2
- import path from "node:path";
3
- import { promisify } from "node:util";
4
- import { Folder } from "../fs/folder.js";
5
- import { StaticJsonFile } from "../fs/static-json-file.js";
6
- import { StaticTypeScriptFile } from "../fs/static-typescript-file.js";
7
- import { Resource } from "../resource.js";
8
- import { logger } from "../util/logger.js";
9
- import { rm } from "../util/rm.js";
10
- import { ShadcnComponent } from "./shadcn-component.js";
11
- import { TailwindConfig } from "./tailwind.js";
12
- const execAsync = promisify(exec);
13
- export const ViteProject = Resource("project::ViteProject", {
14
- alwaysUpdate: true,
15
- }, async function (id, props) {
16
- const phase = this.phase;
17
- if (this.phase === "delete") {
18
- try {
19
- if (props.delete !== false) {
20
- await execAsync(`rm -rf ${props.name}`);
21
- }
22
- }
23
- catch (error) {
24
- logger.error(`Error deleting project ${id}:`, error);
25
- }
26
- return this.destroy();
27
- }
28
- if (this.phase === "update") {
29
- if (props.overwrite) {
30
- await modifyConfig(props);
31
- }
32
- else {
33
- logger.warn("ViteProject does not support updates - the project must be recreated to change the template");
34
- }
35
- }
36
- else {
37
- await execAsync(`bun create vite ${id} --template ${props.template}`);
38
- await modifyConfig(props);
39
- }
40
- return this(props);
41
- async function modifyConfig(props) {
42
- const tailwind = props.tailwind ?? false;
43
- const tanstack = props.tanstack ?? false;
44
- const plugins = [
45
- tailwind && "tailwindcss()",
46
- tanstack &&
47
- "TanStackRouterVite({ target: 'react', autoCodeSplitting: true })",
48
- "react()",
49
- ].filter((s) => typeof s === "string");
50
- const cwd = path.resolve(process.cwd(), props.name);
51
- // Create folder for project
52
- await Folder("project-dir", {
53
- path: props.name,
54
- delete: props.delete,
55
- });
56
- const exec = (command) => execAsync(command, { cwd });
57
- if (phase === "create" || props.overwrite) {
58
- await removeUnnecessaryFiles();
59
- }
60
- await patchTsConfig();
61
- if (props.tailwind) {
62
- await installTailwind();
63
- }
64
- if (props.tanstack) {
65
- await installTanstack();
66
- }
67
- if (props.shadcn !== undefined) {
68
- await installShadcn();
69
- }
70
- await build();
71
- async function build() {
72
- // tsc -b will fail if we have not invoked tan stacks' code gen
73
- await execAsync("bun vite build", { cwd: props.name });
74
- }
75
- async function installTailwind() {
76
- await TailwindConfig(`${id}-tailwind`, {
77
- cwd: props.name,
78
- framework: "vite",
79
- });
80
- await StaticTypeScriptFile(path.join(props.name, "vite.config.ts"), `import path from "node:path";
81
- import react from "@vitejs/plugin-react";
82
- import { defineConfig } from "vite";
83
- ${tailwind ? "import tailwindcss from '@tailwindcss/vite';" : ""}
84
- ${tanstack ? 'import { TanStackRouterVite } from "@tanstack/router-plugin/vite";' : ""}
85
-
86
- // https://vite.dev/config/
87
- export default defineConfig({
88
- plugins: [${plugins.join(", ")}],
89
- resolve: {
90
- alias: {
91
- "@": path.resolve(__dirname, "./src"),
92
- },
93
- },
94
- });`);
95
- }
96
- async function installShadcn() {
97
- await exec("bun add -D @types/node");
98
- // Build the shadcn init command with all options
99
- const shadcnOptions = props.shadcn;
100
- const initCommand = [
101
- "bunx --bun shadcn@latest init",
102
- shadcnOptions?.baseColor && `-b ${shadcnOptions.baseColor}`,
103
- shadcnOptions?.defaults && "-d",
104
- shadcnOptions?.force && "-f",
105
- shadcnOptions?.cwd && `-c ${shadcnOptions.cwd}`,
106
- shadcnOptions?.silent && "-s",
107
- shadcnOptions?.srcDir && "--src-dir",
108
- shadcnOptions?.cssVariables === false && "--no-css-variables",
109
- ]
110
- .filter(Boolean)
111
- .join(" ");
112
- await exec(initCommand);
113
- // Install requested components using the ShadcnComponent resource
114
- for (const componentName of props.shadcn?.components ?? []) {
115
- await ShadcnComponent(`shadcn-component-${componentName}`, {
116
- name: componentName,
117
- cwd: props.name,
118
- force: props.shadcn?.force,
119
- silent: props.shadcn?.silent,
120
- });
121
- }
122
- }
123
- async function installTanstack() {
124
- await exec("bun add @tanstack/react-router");
125
- await exec("bun add -D @tanstack/router-plugin @tanstack/react-router-devtools");
126
- const src = path.join(props.name, "src");
127
- const routes = path.join(src, "routes");
128
- // Create routes directory
129
- await Folder("routes-dir", {
130
- path: routes,
131
- });
132
- // Create root route file
133
- await StaticTypeScriptFile(path.join(routes, "__root.tsx"), `import { Link, Outlet, createRootRoute } from "@tanstack/react-router";
134
- import { TanStackRouterDevtools } from "@tanstack/react-router-devtools";
135
-
136
- export const Route = createRootRoute({
137
- component: () => (
138
- <div className="w-full min-h-screen flex flex-col">
139
- <div className="p-2 flex gap-2">
140
- <Link to="/" className="[&.active]:font-bold">
141
- Home
142
- </Link>{" "}
143
- <Link to="/about" className="[&.active]:font-bold">
144
- About
145
- </Link>
146
- </div>
147
- <hr />
148
- <Outlet />
149
- <TanStackRouterDevtools />
150
- </div>
151
- ),
152
- });
153
- `);
154
- // Create index route file
155
- await StaticTypeScriptFile(path.join(routes, "index.tsx"), `import { createLazyFileRoute } from '@tanstack/react-router'
156
-
157
- export const Route = createLazyFileRoute('/')({
158
- component: Index,
159
- })
160
-
161
- function Index() {
162
- return (
163
- <div className="p-2">
164
- <h3>Welcome Home!</h3>
165
- </div>
166
- )
167
- }`);
168
- // Create about route file
169
- await StaticTypeScriptFile(path.join(routes, "about.tsx"), `import { createLazyFileRoute } from '@tanstack/react-router'
170
-
171
- export const Route = createLazyFileRoute('/about')({
172
- component: About,
173
- })
174
-
175
- function About() {
176
- return <div className="p-2">Hello from About!</div>
177
- }`);
178
- // Create main.tsx
179
- await StaticTypeScriptFile(path.join(src, "main.tsx"), `import { StrictMode } from 'react'
180
- import ReactDOM from 'react-dom/client'
181
- import { RouterProvider, createRouter } from '@tanstack/react-router'
182
- import './index.css'
183
-
184
- // Import the generated route tree
185
- import { routeTree } from './routeTree.gen'
186
-
187
- // Create a new router instance
188
- const router = createRouter({ routeTree })
189
-
190
- // Register the router instance for type safety
191
- declare module '@tanstack/react-router' {
192
- interface Register {
193
- router: typeof router
194
- }
195
- }
196
-
197
- // Render the app
198
- const rootElement = document.getElementById('root')!
199
- if (!rootElement.innerHTML) {
200
- const root = ReactDOM.createRoot(rootElement)
201
- root.render(
202
- <StrictMode>
203
- <RouterProvider router={router} />
204
- </StrictMode>,
205
- )
206
- }`);
207
- }
208
- async function removeUnnecessaryFiles() {
209
- await rm(path.join(props.name, "src", "App.tsx"));
210
- await rm(path.join(props.name, "src", "App.css"));
211
- }
212
- async function patchTsConfig() {
213
- await rm(path.join(props.name, "tsconfig.app.json"));
214
- await rm(path.join(props.name, "tsconfig.node.json"));
215
- await StaticJsonFile(path.join(props.name, "tsconfig.json"), {
216
- extends: props.extends,
217
- compilerOptions: {
218
- baseUrl: ".",
219
- paths: {
220
- "@/*": ["./src/*"],
221
- },
222
- types: ["@cloudflare/workers-types"],
223
- allowImportingTsExtensions: true,
224
- jsx: "react-jsx",
225
- },
226
- include: ["vite/*.ts", "src/**/*.ts", "src/**/*.tsx", "src/env.d.ts"],
227
- references: props.references?.map((path) => ({ path })),
228
- });
229
- }
230
- }
231
- });
232
- //# sourceMappingURL=vite.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vite.js","sourceRoot":"","sources":["../../src/web/vite.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { DefaultTheme, HeadConfig, ThemeOptions } from "vitepress";
2
- export type VitePressConfigProps = {
3
- cwd: string;
4
- title?: string;
5
- description?: string;
6
- head?: HeadConfig[];
7
- theme?: ThemeOptions;
8
- themeConfig: DefaultTheme.Config;
9
- };
10
- export type VitePressConfig = Awaited<ReturnType<typeof VitePressConfig>>;
11
- export declare function VitePressConfig(props: VitePressConfigProps): Promise<import("../../fs/file.ts").File>;
12
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/web/vitepress/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGxE,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC;AAE1E,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,4CAkC1D"}
@@ -1,33 +0,0 @@
1
- import path from "node:path";
2
- import { StaticTypeScriptFile } from "../../fs/static-typescript-file.js";
3
- export function VitePressConfig(props) {
4
- return StaticTypeScriptFile(path.join(props.cwd, ".vitepress", "config.mts"), `import { transformerTwoslash } from "@shikijs/vitepress-twoslash";
5
- import footnotePlugin from "markdown-it-footnote";
6
- import { defineConfig } from "vitepress";
7
-
8
- // https://vitepress.dev/reference/site-config
9
- export default defineConfig({
10
- title: ${JSON.stringify(props.title || "Alchemy")},
11
- description: ${JSON.stringify(props.description || "Alchemy Docs")},
12
- head: ${JSON.stringify(props.head || [])},
13
- markdown: {
14
- // @ts-ignore
15
- codeTransformers: [transformerTwoslash()],
16
- theme: ${JSON.stringify(props.theme ?? {
17
- light: "light-plus",
18
- dark: "dark-plus",
19
- })},
20
- config: (md) => md.use(footnotePlugin),
21
- },
22
- // https://vitepress.dev/reference/default-theme-config
23
- themeConfig: ${JSON.stringify({
24
- ...props.themeConfig,
25
- search: props.themeConfig.search ?? { provider: "local" },
26
- nav: props.themeConfig.nav ?? [{ text: "Home", link: "/" }],
27
- sidebar: props.themeConfig.sidebar ?? [],
28
- socialLinks: props.themeConfig.socialLinks ?? [],
29
- })}
30
- });
31
- `);
32
- }
33
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/web/vitepress/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAa1E,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,OAAO,oBAAoB,CACzB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,YAAY,CAAC,EAChD;;;;;;WAMO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;iBAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,IAAI,cAAc,CAAC;UAC1D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;;;;aAI7B,IAAI,CAAC,SAAS,CACrB,KAAK,CAAC,KAAK,IAAI;QACb,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,WAAW;KAClB,CACF;;;;iBAIY,IAAI,CAAC,SAAS,CAAC;QAC5B,GAAG,KAAK,CAAC,WAAW;QACpB,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;QACzD,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAC3D,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE;QACxC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE;KACjD,CAAC;;CAEH,CACE,CAAC;AACJ,CAAC"}
@@ -1,174 +0,0 @@
1
- import type { ModelConfig } from "../../ai/client.ts";
2
- import type { Context } from "../../context.ts";
3
- import { Resource } from "../../resource.ts";
4
- import type { Secret } from "../../secret.ts";
5
- /**
6
- * Theme component props for customizing the layout
7
- */
8
- export interface ThemeComponentProps {
9
- /**
10
- * Name of the component
11
- */
12
- name: string;
13
- /**
14
- * Description of what the component does
15
- */
16
- description: string;
17
- /**
18
- * Features or functionality to include in the component
19
- */
20
- features?: string[];
21
- }
22
- /**
23
- * Properties for creating or updating a VitePress custom theme
24
- */
25
- export interface CustomThemeProps {
26
- /**
27
- * Output directory for the theme files
28
- */
29
- outDir: string;
30
- /**
31
- * Title of the theme
32
- */
33
- title: string;
34
- /**
35
- * Description of the theme
36
- */
37
- description: string;
38
- /**
39
- * Components to include in the theme
40
- */
41
- components?: ThemeComponentProps[];
42
- /**
43
- * Whether to include dark mode support
44
- * @default true
45
- */
46
- darkMode?: boolean;
47
- /**
48
- * Custom CSS variables for theming
49
- */
50
- customCssVars?: Record<string, string>;
51
- /**
52
- * Custom plugins to add to the theme
53
- */
54
- plugins?: string[];
55
- /**
56
- * User prompt describing the design of the theme
57
- */
58
- prompt: string;
59
- /**
60
- * Optional extension to the built-in system prompt
61
- */
62
- systemPromptExtension?: string;
63
- /**
64
- * Base URL for the OpenAI API
65
- * @default 'https://api.openai.com/v1'
66
- */
67
- baseURL?: string;
68
- /**
69
- * OpenAI API key to use for generating content
70
- * If not provided, will use OPENAI_API_KEY environment variable
71
- */
72
- apiKey?: Secret;
73
- /**
74
- * Model configuration for the AI generator
75
- */
76
- model?: ModelConfig;
77
- /**
78
- * Temperature for controlling randomness in generation
79
- * @default 0.7
80
- */
81
- temperature?: number;
82
- }
83
- /**
84
- * A generated file in the custom theme
85
- */
86
- export interface ThemeFile {
87
- /**
88
- * Path to the file
89
- */
90
- path: string;
91
- /**
92
- * Content of the file
93
- */
94
- content: string;
95
- }
96
- /**
97
- * Output for the VitePress custom theme resource
98
- */
99
- export interface CustomTheme extends CustomThemeProps, Resource<"vitepress::CustomTheme"> {
100
- /**
101
- * Path to the generated theme directory
102
- */
103
- themePath: string;
104
- /**
105
- * List of generated files
106
- */
107
- files: ThemeFile[];
108
- /**
109
- * Time at which the theme was created
110
- */
111
- createdAt: number;
112
- /**
113
- * Time at which the theme was last updated
114
- */
115
- updatedAt: number;
116
- }
117
- /**
118
- * Resource for generating a custom VitePress theme using AI.
119
- *
120
- * Generates the necessary theme files including:
121
- * - Theme entry file (index.ts)
122
- * - Layout component (Layout.vue)
123
- * - Additional components based on configuration
124
- * - Style sheets and utilities
125
- *
126
- * @example
127
- * // Create a basic custom theme
128
- * const theme = await CustomTheme("docs-theme", {
129
- * outDir: "./.vitepress/theme",
130
- * title: "My Custom Theme",
131
- * description: "A clean, minimal theme for documentation",
132
- * prompt: "Create a clean documentation theme with a sidebar and search"
133
- * });
134
- *
135
- * @example
136
- * // Create a theme with specific components
137
- * const complexTheme = await CustomTheme("blog-theme", {
138
- * outDir: "./.vitepress/theme",
139
- * title: "Blog Theme",
140
- * description: "A theme for technical blogs",
141
- * components: [
142
- * {
143
- * name: "PostList",
144
- * description: "Component that displays a list of blog posts with pagination",
145
- * features: ["thumbnail images", "post dates", "categories", "excerpts"]
146
- * },
147
- * {
148
- * name: "TableOfContents",
149
- * description: "Component that displays the current page's table of contents",
150
- * features: ["sticky positioning", "active link highlighting"]
151
- * }
152
- * ],
153
- * darkMode: true,
154
- * prompt: "Create a modern blog theme with post listings and detailed article pages"
155
- * });
156
- *
157
- * @example
158
- * // Create a theme with custom CSS variables
159
- * const brandedTheme = await CustomTheme("branded-theme", {
160
- * outDir: "./.vitepress/theme",
161
- * title: "Branded Docs",
162
- * description: "A themed documentation site with custom branding",
163
- * customCssVars: {
164
- * "--vp-c-brand": "#3a70b0",
165
- * "--vp-c-brand-light": "#5785bc",
166
- * "--vp-c-brand-lighter": "#79a1ce",
167
- * "--vp-c-brand-dark": "#2c5989",
168
- * "--vp-c-brand-darker": "#1e3d5c"
169
- * },
170
- * prompt: "Create a documentation theme with custom branding and color scheme"
171
- * });
172
- */
173
- export declare const CustomTheme: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<CustomTheme>, id: string, props: CustomThemeProps) => Promise<CustomTheme>);
174
- //# sourceMappingURL=custom-theme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-theme.d.ts","sourceRoot":"","sources":["../../../src/web/vitepress/custom-theme.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAEnC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WACf,SAAQ,gBAAgB,EACtB,QAAQ,CAAC,wBAAwB,CAAC;IACpC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,SAAS,EAAE,CAAC;IAEnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,eAAO,MAAM,WAAW,yFAGd,OAAO,CAAC,WAAW,CAAC,MACtB,MAAM,SACH,gBAAgB,KACtB,OAAO,CAAC,WAAW,CAAC,CA8SxB,CAAC"}