@wular/coder 0.3.18 → 0.4.1

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 (473) hide show
  1. package/README.md +18 -16
  2. package/bin/coder.mjs +3 -1
  3. package/dist/actions-Mk3FSlpJ.js +20 -0
  4. package/dist/adapter-B0oYCI0S.js +1 -0
  5. package/dist/adapter-BKVzTDnn.js +1 -0
  6. package/dist/adapter-DPInwbJG.js +1 -0
  7. package/dist/adapter-DaiJMOYo.js +1 -0
  8. package/dist/adapter-PeKziOUg.js +1 -0
  9. package/dist/add-BxpLHnvD.js +1 -0
  10. package/dist/add-CE-70LFs.js +1 -0
  11. package/dist/add-U-pty9qJ.js +6 -0
  12. package/dist/add-ej0X9e3a.js +1 -0
  13. package/dist/add-json-CEa-6luW.js +1 -0
  14. package/dist/agent-BsYx3Odz.js +3 -0
  15. package/dist/agent-JdtZozvP.js +1 -0
  16. package/dist/alias-DX-Bm86x.js +2 -0
  17. package/dist/app-BT5f7zL5.js +1 -0
  18. package/dist/approvals-C-AvFt6s.js +2 -0
  19. package/dist/approve-DOmpQRNd.js +2 -0
  20. package/dist/apps-CjfrZyM5.js +1 -0
  21. package/dist/archive-BUB8gFKD.js +4 -0
  22. package/dist/archive-BziJ1rQ-.js +3 -0
  23. package/dist/archive-sweep-CtBcARgN.js +1 -0
  24. package/dist/args-BOEEdpWk.js +1 -0
  25. package/dist/ask-dE3U3ss2.js +4 -0
  26. package/dist/auth-BFny--17.js +1 -0
  27. package/dist/auth-DWHIzqbA.js +1 -0
  28. package/dist/builtin/coder/agent.json +24 -0
  29. package/dist/builtin/coder/system.md +17 -0
  30. package/dist/chat-3Znsevah.js +1 -0
  31. package/dist/chat-B_yhNTo0.js +13 -0
  32. package/dist/chat-bridge-BS9WtP3X.js +2 -0
  33. package/dist/cli-BilSDkvE.js +9 -0
  34. package/dist/cli.d.ts +71 -1
  35. package/dist/cli.js +1 -91
  36. package/dist/client-D9IoAuDD.js +1 -0
  37. package/dist/config-Da_cwoxI.js +3 -0
  38. package/dist/create-C_iMJV4Y.js +1 -0
  39. package/dist/credentials-B1jv6dkg.js +1 -0
  40. package/dist/dash/manifest.json +3427 -0
  41. package/dist/dash/public/assets/apple-touch-icon.png +0 -0
  42. package/dist/dash/public/assets/chunks/agent-pills-c9c4ac4d4a10df83.js +1 -0
  43. package/dist/dash/public/assets/chunks/agent-settings-form-8be2ddab074aba6d.js +1 -0
  44. package/dist/dash/public/assets/chunks/agents-grid-951584b6f4c4314e.js +1 -0
  45. package/dist/dash/public/assets/chunks/badge-676b01e0c615bf7b.js +1 -0
  46. package/dist/dash/public/assets/chunks/card-e0901d68b79dfa93.js +1 -0
  47. package/dist/dash/public/assets/chunks/combo-41234c24668b1db1.js +1 -0
  48. package/dist/dash/public/assets/chunks/composer-5534be50bc12385e.js +1 -0
  49. package/dist/dash/public/assets/chunks/composer-d10d4b1d54c4f751.js +1 -0
  50. package/dist/dash/public/assets/chunks/composer-data-6f7608fed13f3dd7.js +1 -0
  51. package/dist/dash/public/assets/chunks/confirm-f2fe4ba9905a89c6.js +1 -0
  52. package/dist/dash/public/assets/chunks/connect-apps-aa2a3d82e48ed8c3.js +1 -0
  53. package/dist/dash/public/assets/chunks/connect-repositories-5389ec8701a3deac.js +1 -0
  54. package/dist/dash/public/assets/chunks/credentials-list-bc5bfcab058176c5.js +2 -0
  55. package/dist/dash/public/assets/chunks/custom-range-4761ab14f05149df.js +1 -0
  56. package/dist/dash/public/assets/chunks/editor-bfe8cd854f8001be.js +7 -0
  57. package/dist/dash/public/assets/chunks/engines-list-f1191390f5715b39.js +1 -0
  58. package/dist/dash/public/assets/chunks/field-901f1f35c18c39c9.js +1 -0
  59. package/dist/dash/public/assets/chunks/format-eb03fc9d9744d960.js +1 -0
  60. package/dist/dash/public/assets/chunks/heads-f3bcd289663d48fa.js +1 -0
  61. package/dist/dash/public/assets/chunks/instructions-052fa45a9daf6db6.js +2 -0
  62. package/dist/dash/public/assets/chunks/instructions-d0a4b0d95009c262.js +1 -0
  63. package/dist/dash/public/assets/chunks/list-1d259660d7612c5f.js +1 -0
  64. package/dist/dash/public/assets/chunks/mcp-list-e3bebbbe831393b8.js +1 -0
  65. package/dist/dash/public/assets/chunks/model-options-15c53331a2f28a4f.js +1 -0
  66. package/dist/dash/public/assets/chunks/models-list-44f857a469ca04d5.js +1 -0
  67. package/dist/dash/public/assets/chunks/paged-bc6fa0c2b9d52ed7.js +1 -0
  68. package/dist/dash/public/assets/chunks/platform-actions-d1426602049926d2.js +1 -0
  69. package/dist/dash/public/assets/chunks/runners-list-1901af8a5dea1f09.js +1 -0
  70. package/dist/dash/public/assets/chunks/runtime-246221e985d863e5-1.js +2 -0
  71. package/dist/dash/public/assets/chunks/segmented-358ff2b4992b8384.js +1 -0
  72. package/dist/dash/public/assets/chunks/select-7ae25fd8a7d6c338.js +1 -0
  73. package/dist/dash/public/assets/chunks/sentinel-c972a33dc69a5135.js +1 -0
  74. package/dist/dash/public/assets/chunks/shared-init-246221e985d863e5-2.js +1 -0
  75. package/dist/dash/public/assets/chunks/shared-init-88cce66bb3cfe1e5.js +5 -0
  76. package/dist/dash/public/assets/chunks/shared-init-8f2ac936c95a7f7b.js +1 -0
  77. package/dist/dash/public/assets/chunks/shared-init-ffb3397e494137c9.js +2 -0
  78. package/dist/dash/public/assets/chunks/tail-7c27aab8ba268bd9.js +1 -0
  79. package/dist/dash/public/assets/chunks/task-actions-8e1d93c788d001df.js +1 -0
  80. package/dist/dash/public/assets/chunks/task-fa8b82e95e771c4a.js +1 -0
  81. package/dist/dash/public/assets/chunks/task-view-6d7618d2820a5cb4.js +3 -0
  82. package/dist/dash/public/assets/chunks/tasks-list-f4784e5cbd0ed785.js +1 -0
  83. package/dist/dash/public/assets/chunks/toolbar-a75d2570f07cbb70.js +1 -0
  84. package/dist/dash/public/assets/chunks/versions-list-fc2e0d2a7382e049.js +1 -0
  85. package/dist/dash/public/assets/chunks/wular-pnext-246221e985d863e5-0.js +1 -0
  86. package/dist/dash/public/assets/connect-382b1729a7ae7808.css +1 -0
  87. package/dist/dash/public/assets/dash-9e02d5d1a6d42ee3.css +1 -0
  88. package/dist/dash/public/assets/dash-account-04859899c1838ada.css +1 -0
  89. package/dist/dash/public/assets/dash-agents-9e678137267dec07.css +1 -0
  90. package/dist/dash/public/assets/dash-agents-new-26fa27b17ef9b8d8.css +1 -0
  91. package/dist/dash/public/assets/dash-agents-param-slug-b975c48f8abf3444.css +1 -0
  92. package/dist/dash/public/assets/dash-agents-param-slug-edit-e13fda599bb04843.css +1 -0
  93. package/dist/dash/public/assets/dash-agents-param-slug-platforms-70292932cb27bc96.css +1 -0
  94. package/dist/dash/public/assets/dash-agents-param-slug-settings-71f9a86251723fcc.css +1 -0
  95. package/dist/dash/public/assets/dash-agents-param-slug-tasks-fb8eb2ed71006601.css +1 -0
  96. package/dist/dash/public/assets/dash-agents-param-slug-usage-7c8740f1cdd52c71.css +1 -0
  97. package/dist/dash/public/assets/dash-settings-8eb818da462227e8.css +1 -0
  98. package/dist/dash/public/assets/dash-settings-param-tab-849a1a9542e273f5.css +1 -0
  99. package/dist/dash/public/assets/dash-tasks-81e510e0b6931b42.css +1 -0
  100. package/dist/dash/public/assets/dash-tasks-param-id-bbd2a83342f2ec10.css +1 -0
  101. package/dist/dash/public/assets/dash-usage-8e0259e03eaed1bd.css +1 -0
  102. package/dist/dash/public/assets/favicon.ico +0 -0
  103. package/dist/dash/public/assets/favicon.svg +1 -0
  104. package/dist/dash/public/assets/fonts/LICENSE-fira-code +93 -0
  105. package/dist/dash/public/assets/fonts/fira-code-latin-400-normal-717ee080.woff2 +0 -0
  106. package/dist/dash/public/assets/fonts/fira-code-latin-500-normal-530b6706.woff2 +0 -0
  107. package/dist/dash/public/assets/fonts/fira-code-latin-700-normal-98730669.woff2 +0 -0
  108. package/dist/dash/public/assets/global-d2adbf01910d9df5.css +1 -0
  109. package/dist/dash/public/assets/login-c129b1ce237be260.css +1 -0
  110. package/dist/dash/public/assets/pnext-client-03b03b254e525e82.js +1 -0
  111. package/dist/dash/public/assets/pnext-client-1b9ab0963a8ff77b.js +1 -0
  112. package/dist/dash/public/assets/pnext-client-1c7859bb888f4ef0.js +1 -0
  113. package/dist/dash/public/assets/pnext-client-3c748afe963fb05d.js +1 -0
  114. package/dist/dash/public/assets/pnext-client-4f47c2cae220f107.js +1 -0
  115. package/dist/dash/public/assets/pnext-client-6ab9fd9b53b794d2.js +1 -0
  116. package/dist/dash/public/assets/pnext-client-6c241786342498e4.js +1 -0
  117. package/dist/dash/public/assets/pnext-client-80b56d420f02b808.js +1 -0
  118. package/dist/dash/public/assets/pnext-client-83135c17bae850a3.js +1 -0
  119. package/dist/dash/public/assets/pnext-client-8e6fa4302ae0396f.js +1 -0
  120. package/dist/dash/public/assets/pnext-client-932c9d8cc0717fc8.js +1 -0
  121. package/dist/dash/public/assets/pnext-client-a42ae63d4de113f9.js +1 -0
  122. package/dist/dash/public/assets/pnext-client-d2ee6f8c1e337032.js +1 -0
  123. package/dist/dash/public/assets/pnext-client-d513f65ec23b7f20.js +1 -0
  124. package/dist/dash/public/assets/pnext-client-ecb88e2a8a109954.js +1 -0
  125. package/dist/dash/public/assets/pnext-client-f1545ee6270bbf9a.js +1 -0
  126. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/boot-B2MFTRO2.js +30 -0
  127. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/build-tier-XJJSL5FR.js +2704 -0
  128. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-2HFY3DQT.js +208 -0
  129. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-2ICEVELW.js +834 -0
  130. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-3UPROT2C.js +35 -0
  131. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-4P5CMIYT.js +1582 -0
  132. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-4TKZKZ3Q.js +131 -0
  133. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-5RDEILQB.js +437 -0
  134. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-62KEQM43.js +25 -0
  135. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-6KQSWT6D.js +831 -0
  136. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-7DCNCW6O.js +724 -0
  137. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-B4THCTQP.js +22 -0
  138. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-C2LIV2MM.js +172 -0
  139. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-CCATPVTW.js +378 -0
  140. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-COXJAPTU.js +89 -0
  141. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-E6IXL2NJ.js +6270 -0
  142. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-FLGRBFAH.js +1198 -0
  143. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-FTJVHFWD.js +61 -0
  144. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-H523KSIH.js +5151 -0
  145. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-HT6KKX6A.js +20 -0
  146. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-JESFYECC.js +438 -0
  147. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-JRPJM2XY.js +17 -0
  148. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-L2IWDUXG.js +107 -0
  149. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-L5P4Y4UC.js +183 -0
  150. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-NQE46AZN.js +647 -0
  151. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-PA4QEARJ.js +129 -0
  152. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-PZ5AXOLW.js +7146 -0
  153. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-SNVPTULL.js +2397 -0
  154. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-T3QZT3PG.js +220 -0
  155. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-VC5O2SDP.js +72 -0
  156. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-WZX4V6CM.js +231 -0
  157. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-XUUIDXY5.js +627 -0
  158. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-ZHFDO3PR.js +265 -0
  159. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/compile-CE2DN7ZA.js +18 -0
  160. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/config-UREY7XJT.js +16 -0
  161. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/config-loader-UI2XE3PZ.js +17 -0
  162. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/entry.js +219 -0
  163. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/generate-I2PPTDFD.js +16 -0
  164. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/modules-UVOCE4C2.js +48 -0
  165. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/pipeline-UW47K537.js +963 -0
  166. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/proxy-ITGOVJBW.js +26 -0
  167. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/register-4SA55SWT.js +12579 -0
  168. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/router-JNKHLBCZ.js +505 -0
  169. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/routes-PD6J2NXW.js +54 -0
  170. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/tsconfig-defaults-ZXEH7RQK.js +15 -0
  171. package/dist/default-Bobztoxf.js +1 -0
  172. package/dist/default-vYPT26DR.js +1 -0
  173. package/dist/delete-D8gEwoOj.js +4 -0
  174. package/dist/delete-z1_86nf6.js +2 -0
  175. package/dist/disable-DVKd-0Xb.js +1 -0
  176. package/dist/discover-Df-a8K4R.js +3 -0
  177. package/dist/discover-Dvr_3_Xr.js +1 -0
  178. package/dist/dispatch-BKeAch9E.js +14 -0
  179. package/dist/docs-BX65z2Iu.js +2 -0
  180. package/dist/docs-DKJnqZqt.js +2 -0
  181. package/dist/enable-C8Zf_wpN.js +1 -0
  182. package/dist/env-CRf6wkM2.js +1 -0
  183. package/dist/exec-RZFLclKX.js +11 -0
  184. package/dist/executor-BvAA7Cgw.js +10 -0
  185. package/dist/flow/builtin/review.d.ts +157 -0
  186. package/dist/flow/builtin/review.js +19 -0
  187. package/dist/flow/index.d.ts +1 -1
  188. package/dist/flow/index.js +1 -1
  189. package/dist/flow-17k25MHt.js +1 -0
  190. package/dist/github-actions-DwUzm4hC.js +24 -0
  191. package/dist/http-Bkg_OQ6r.js +1 -0
  192. package/dist/{index-BQ-b77or.d.ts → index-CZjFX5zV.d.ts} +116 -238
  193. package/dist/init-CoMfFxbG.js +1 -0
  194. package/dist/integrations-5xCaXSd-.js +1 -0
  195. package/dist/integrations-BAgdVDhj.js +5 -0
  196. package/dist/lib/broker.js +3 -3
  197. package/dist/list-BAKvxSbh.js +4 -0
  198. package/dist/list-BYiG8Zav.js +2 -0
  199. package/dist/list-BxEywhHU.js +1 -0
  200. package/dist/list-C5w01-8q.js +1 -0
  201. package/dist/list-CIW2joV1.js +1 -0
  202. package/dist/list-DX-z3SBp.js +3 -0
  203. package/dist/list-DpCf4G-H.js +4 -0
  204. package/dist/list-VToARh3C.js +1 -0
  205. package/dist/load-BpEsAn51.js +2 -0
  206. package/dist/local-H3uvqEbq.js +1 -0
  207. package/dist/log-view-dg0TlKLA.js +1 -0
  208. package/dist/login-BFxX4jJy.js +1 -0
  209. package/dist/login-DkkslfBx.js +1 -0
  210. package/dist/logout-BHAtw4Z8.js +1 -0
  211. package/dist/maintenance-C5FklUw3.js +1 -0
  212. package/dist/match-CXAjDhg7.js +1 -0
  213. package/dist/mcp-BgKb2Cdk.js +1 -0
  214. package/dist/mcp-CCZOAo06.js +1 -0
  215. package/dist/mcp-server-DGzme0YX.js +1 -0
  216. package/dist/migrate-C4vM7DQN.js +2 -0
  217. package/dist/migrate-N-85_N7J.js +1 -0
  218. package/dist/model-Bs1StDo3.js +1 -0
  219. package/dist/models-_5LVGC3m.js +1 -0
  220. package/dist/output-BKeyLbvt.js +5 -0
  221. package/dist/prompt-CEuBMNhk.js +7 -0
  222. package/dist/push-CUC55Bqd.js +1 -0
  223. package/dist/queue-6io_NOP3.js +116 -0
  224. package/dist/refresh-BIrmrWYq.js +1 -0
  225. package/dist/remote-miQNTVRa.js +1 -0
  226. package/dist/remove-B93LNkZI.js +1 -0
  227. package/dist/remove-C5_xggx7.js +1 -0
  228. package/dist/remove-CuH8a3L9.js +1 -0
  229. package/dist/remove-eQ8y5C5p.js +1 -0
  230. package/dist/rename-CYfy03FE.js +1 -0
  231. package/dist/result-BEtQZHaY.js +5 -0
  232. package/dist/result-BzaM3inj.js +15 -0
  233. package/dist/resume-DYzKvyEw.js +3 -0
  234. package/dist/review-oIBeECZE.js +7 -0
  235. package/dist/rolldown-runtime-DT7IzrpZ.js +1 -0
  236. package/dist/rotate-key-IdMYH7gg.js +1 -0
  237. package/dist/run-BDYl0CKl.js +2 -0
  238. package/dist/run-CTtd0Znc.js +5 -0
  239. package/dist/run-CawRGnOg.js +2 -0
  240. package/dist/runner-D7ScbIHJ.js +1 -0
  241. package/dist/runner-sUpWJ_k0.js +1 -0
  242. package/dist/schema-CU2iFkp8.js +1 -0
  243. package/dist/sdk.d.ts +1166 -191
  244. package/dist/sdk.js +1 -1
  245. package/dist/serve-BTeomYxW.js +1 -0
  246. package/dist/serve-CE8YV2e9.js +1 -0
  247. package/dist/serve-CPnmrKyf.js +2 -0
  248. package/dist/serve-CQKZxzFE.js +4 -0
  249. package/dist/serve-GmRO89s5.js +12 -0
  250. package/dist/server-Kb22cWfF.js +1 -0
  251. package/dist/setup-host-GFTUzzZJ.js +6 -0
  252. package/dist/shared-DVtzWhUT.js +1 -0
  253. package/dist/show-CMUg8SJu.js +1 -0
  254. package/dist/show-COTZEYgc.js +1 -0
  255. package/dist/status-D26U--p8.js +1 -0
  256. package/dist/steer-C6uARLp5.js +4 -0
  257. package/dist/stop-BrGI3hSS.js +1 -0
  258. package/dist/stop-ByCAlbmN.js +3 -0
  259. package/dist/store-B94tSate.js +42 -0
  260. package/dist/store-DzqXS2wT.js +8 -0
  261. package/dist/task-C6VAg5WU.js +1 -0
  262. package/dist/task-CgOKgkEG.js +1 -0
  263. package/dist/task-DeglY79z.js +5 -0
  264. package/dist/test-NEbhlxvo.js +1 -0
  265. package/dist/tools-D0Zfs8Hx.js +1 -0
  266. package/dist/types-D0q15RJa.js +1 -0
  267. package/dist/types-I5Cwtl_K.d.ts +389 -0
  268. package/dist/unalias-C9NqmSDq.js +1 -0
  269. package/dist/update-BTxYQj7Z.js +2 -0
  270. package/dist/upgrade-hA0yWBvx.js +2 -0
  271. package/dist/usage-BhqoCjvE.js +1 -0
  272. package/dist/usage-C4d9X2Uq.js +1 -0
  273. package/dist/watch-CSdj24ct.js +5 -0
  274. package/dist/watch-DtRuC0Wc.js +8 -0
  275. package/dist/wire-BeT1Axeo.js +1 -0
  276. package/dist/worker-CXndxmGF.js +9 -0
  277. package/dist/worker-DX7P9kWl.js +1 -0
  278. package/dist/workflow-Dcmdooi8.js +1 -0
  279. package/docs/agents/coder.md +26 -0
  280. package/docs/agents/index.md +120 -0
  281. package/docs/config.md +51 -30
  282. package/docs/dash.md +64 -0
  283. package/docs/flows.md +20 -15
  284. package/docs/mcp.md +62 -0
  285. package/docs/models.md +41 -23
  286. package/docs/review.md +41 -0
  287. package/docs/sdk.md +57 -38
  288. package/docs/self-host.md +188 -0
  289. package/migrations/0000_initial.sql +252 -0
  290. package/migrations/meta/0000_snapshot.json +1787 -0
  291. package/migrations/meta/_journal.json +13 -0
  292. package/package.json +37 -7
  293. package/plugins/agents/skills/coder/SKILL.md +14 -60
  294. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  295. package/plugins/claude/commands/setup.md +2 -2
  296. package/plugins/claude/skills/dispatch/SKILL.md +14 -58
  297. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  298. package/plugins/cursor/README.md +5 -5
  299. package/plugins/cursor/assets/logo.png +0 -0
  300. package/plugins/cursor/skills/coder/SKILL.md +14 -59
  301. package/src/client/index.ts +573 -0
  302. package/src/client/types.ts +506 -0
  303. package/src/core/errors.ts +72 -0
  304. package/src/core/task/log-view.ts +173 -0
  305. package/src/server/auth/sign-in.ts +14 -0
  306. package/src/server/dash/api/load.ts +62 -0
  307. package/src/server/dash/api/types.ts +11 -0
  308. package/src/server/dash/app/connect/page.tsx +42 -0
  309. package/src/server/dash/app/dash/account/loading.tsx +11 -0
  310. package/src/server/dash/app/dash/account/notify.tsx +42 -0
  311. package/src/server/dash/app/dash/account/page.css +81 -0
  312. package/src/server/dash/app/dash/account/page.tsx +126 -0
  313. package/src/server/dash/app/dash/account/sign-out.tsx +24 -0
  314. package/src/server/dash/app/dash/agents/(list)/agent-menu.tsx +10 -0
  315. package/src/server/dash/app/dash/agents/(list)/agents-grid.tsx +143 -0
  316. package/src/server/dash/app/dash/agents/(list)/connect-apps.tsx +46 -0
  317. package/src/server/dash/app/dash/agents/(list)/loading.tsx +14 -0
  318. package/src/server/dash/app/dash/agents/(list)/page.css +72 -0
  319. package/src/server/dash/app/dash/agents/(list)/page.tsx +89 -0
  320. package/src/server/dash/app/dash/agents/[slug]/(tabs)/layout.tsx +135 -0
  321. package/src/server/dash/app/dash/agents/[slug]/(tabs)/loading.tsx +5 -0
  322. package/src/server/dash/app/dash/agents/[slug]/(tabs)/page.css +21 -0
  323. package/src/server/dash/app/dash/agents/[slug]/(tabs)/page.tsx +173 -0
  324. package/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/loading.tsx +18 -0
  325. package/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/page.css +87 -0
  326. package/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/page.tsx +258 -0
  327. package/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/platform-actions.tsx +111 -0
  328. package/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/agent-settings-form.css +114 -0
  329. package/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/agent-settings-form.tsx +294 -0
  330. package/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/loading.tsx +5 -0
  331. package/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/page.tsx +54 -0
  332. package/src/server/dash/app/dash/agents/[slug]/(tabs)/tasks/loading.tsx +5 -0
  333. package/src/server/dash/app/dash/agents/[slug]/(tabs)/tasks/page.tsx +14 -0
  334. package/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/loading.tsx +31 -0
  335. package/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/page.css +12 -0
  336. package/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/page.tsx +163 -0
  337. package/src/server/dash/app/dash/agents/[slug]/(tabs)/versions-list.tsx +53 -0
  338. package/src/server/dash/app/dash/agents/[slug]/edit/loading.tsx +31 -0
  339. package/src/server/dash/app/dash/agents/[slug]/edit/page.tsx +91 -0
  340. package/src/server/dash/app/dash/agents/agent/agent-pills.css +27 -0
  341. package/src/server/dash/app/dash/agents/agent/agent-pills.tsx +133 -0
  342. package/src/server/dash/app/dash/agents/agent/hero.css +40 -0
  343. package/src/server/dash/app/dash/agents/agent/hero.tsx +60 -0
  344. package/src/server/dash/app/dash/agents/agent/instructions.css +29 -0
  345. package/src/server/dash/app/dash/agents/agent/instructions.tsx +82 -0
  346. package/src/server/dash/app/dash/agents/editor/connect-repositories.ts +16 -0
  347. package/src/server/dash/app/dash/agents/editor/editor.css +263 -0
  348. package/src/server/dash/app/dash/agents/editor/editor.tsx +774 -0
  349. package/src/server/dash/app/dash/agents/editor/import-picker.css +48 -0
  350. package/src/server/dash/app/dash/agents/editor/import-picker.tsx +253 -0
  351. package/src/server/dash/app/dash/agents/editor/names.ts +35 -0
  352. package/src/server/dash/app/dash/agents/new/loading.tsx +25 -0
  353. package/src/server/dash/app/dash/agents/new/page.tsx +72 -0
  354. package/src/server/dash/app/dash/layout.css +265 -0
  355. package/src/server/dash/app/dash/layout.tsx +332 -0
  356. package/src/server/dash/app/dash/page.tsx +14 -0
  357. package/src/server/dash/app/dash/settings/[tab]/credentials-list.css +94 -0
  358. package/src/server/dash/app/dash/settings/[tab]/credentials-list.tsx +619 -0
  359. package/src/server/dash/app/dash/settings/[tab]/credentials.tsx +36 -0
  360. package/src/server/dash/app/dash/settings/[tab]/engines-list.css +16 -0
  361. package/src/server/dash/app/dash/settings/[tab]/engines-list.tsx +135 -0
  362. package/src/server/dash/app/dash/settings/[tab]/list.css +98 -0
  363. package/src/server/dash/app/dash/settings/[tab]/list.tsx +215 -0
  364. package/src/server/dash/app/dash/settings/[tab]/loading.tsx +6 -0
  365. package/src/server/dash/app/dash/settings/[tab]/mcp-list.css +43 -0
  366. package/src/server/dash/app/dash/settings/[tab]/mcp-list.tsx +290 -0
  367. package/src/server/dash/app/dash/settings/[tab]/models-list.tsx +513 -0
  368. package/src/server/dash/app/dash/settings/[tab]/page.tsx +89 -0
  369. package/src/server/dash/app/dash/settings/[tab]/runners-list.css +153 -0
  370. package/src/server/dash/app/dash/settings/[tab]/runners-list.tsx +457 -0
  371. package/src/server/dash/app/dash/settings/layout.tsx +50 -0
  372. package/src/server/dash/app/dash/settings/model-options.ts +117 -0
  373. package/src/server/dash/app/dash/settings/page.tsx +7 -0
  374. package/src/server/dash/app/dash/settings/settings-head.tsx +24 -0
  375. package/src/server/dash/app/dash/settings/tunnel-guide.tsx +28 -0
  376. package/src/server/dash/app/dash/tasks/[id]/activity.tsx +202 -0
  377. package/src/server/dash/app/dash/tasks/[id]/loading.tsx +31 -0
  378. package/src/server/dash/app/dash/tasks/[id]/page.tsx +30 -0
  379. package/src/server/dash/app/dash/tasks/[id]/task-actions.tsx +164 -0
  380. package/src/server/dash/app/dash/tasks/[id]/task-view.css +407 -0
  381. package/src/server/dash/app/dash/tasks/[id]/task-view.tsx +513 -0
  382. package/src/server/dash/app/dash/tasks/composer-data.ts +96 -0
  383. package/src/server/dash/app/dash/tasks/composer.css +316 -0
  384. package/src/server/dash/app/dash/tasks/composer.tsx +890 -0
  385. package/src/server/dash/app/dash/tasks/list/status.css +50 -0
  386. package/src/server/dash/app/dash/tasks/list/status.tsx +20 -0
  387. package/src/server/dash/app/dash/tasks/list/task.ts +45 -0
  388. package/src/server/dash/app/dash/tasks/list/tasks-list.css +85 -0
  389. package/src/server/dash/app/dash/tasks/list/tasks-list.tsx +402 -0
  390. package/src/server/dash/app/dash/tasks/list/tasks-section.tsx +96 -0
  391. package/src/server/dash/app/dash/tasks/page.tsx +53 -0
  392. package/src/server/dash/app/dash/token-from-hash.tsx +17 -0
  393. package/src/server/dash/app/dash/usage/custom-range.tsx +63 -0
  394. package/src/server/dash/app/dash/usage/day-chart.css +109 -0
  395. package/src/server/dash/app/dash/usage/day-chart.tsx +110 -0
  396. package/src/server/dash/app/dash/usage/loading.tsx +17 -0
  397. package/src/server/dash/app/dash/usage/metric.ts +13 -0
  398. package/src/server/dash/app/dash/usage/page.tsx +117 -0
  399. package/src/server/dash/app/dash/usage/range-bar.css +13 -0
  400. package/src/server/dash/app/dash/usage/range-bar.tsx +69 -0
  401. package/src/server/dash/app/dash/usage/stats.css +52 -0
  402. package/src/server/dash/app/dash/usage/stats.tsx +19 -0
  403. package/src/server/dash/app/dash/usage/top-agents.css +40 -0
  404. package/src/server/dash/app/dash/usage/top-agents.tsx +138 -0
  405. package/src/server/dash/app/dash/usage/usage.css +0 -0
  406. package/src/server/dash/app/globals.css +692 -0
  407. package/src/server/dash/app/layout.tsx +52 -0
  408. package/src/server/dash/app/login/page.css +26 -0
  409. package/src/server/dash/app/login/page.tsx +57 -0
  410. package/src/server/dash/app/page.tsx +5 -0
  411. package/src/server/dash/app/responsive.css +49 -0
  412. package/src/server/dash/app/zone.tsx +13 -0
  413. package/src/server/dash/comps/frame/auth-panel.css +60 -0
  414. package/src/server/dash/comps/frame/auth-panel.tsx +44 -0
  415. package/src/server/dash/comps/frame/drawer.css +28 -0
  416. package/src/server/dash/comps/frame/drawer.tsx +39 -0
  417. package/src/server/dash/comps/frame/heads.ts +41 -0
  418. package/src/server/dash/comps/frame/loading-card.tsx +65 -0
  419. package/src/server/dash/comps/frame/page-head.css +83 -0
  420. package/src/server/dash/comps/frame/page-head.tsx +71 -0
  421. package/src/server/dash/comps/frame/stream.tsx +50 -0
  422. package/src/server/dash/comps/frame/task-toasts.tsx +214 -0
  423. package/src/server/dash/comps/frame/theme-choices.tsx +46 -0
  424. package/src/server/dash/comps/nav/current-link.tsx +53 -0
  425. package/src/server/dash/comps/nav/side-toggle.tsx +30 -0
  426. package/src/server/dash/comps/nav/to.ts +22 -0
  427. package/src/server/dash/comps/ui/badge.css +64 -0
  428. package/src/server/dash/comps/ui/badge.tsx +41 -0
  429. package/src/server/dash/comps/ui/card.css +93 -0
  430. package/src/server/dash/comps/ui/card.tsx +77 -0
  431. package/src/server/dash/comps/ui/collapse.css +32 -0
  432. package/src/server/dash/comps/ui/collapse.tsx +49 -0
  433. package/src/server/dash/comps/ui/combo.tsx +154 -0
  434. package/src/server/dash/comps/ui/confirm.css +36 -0
  435. package/src/server/dash/comps/ui/confirm.tsx +67 -0
  436. package/src/server/dash/comps/ui/field.css +25 -0
  437. package/src/server/dash/comps/ui/field.tsx +34 -0
  438. package/src/server/dash/comps/ui/icon.css +22 -0
  439. package/src/server/dash/comps/ui/icon.tsx +17 -0
  440. package/src/server/dash/comps/ui/icons.ts +44 -0
  441. package/src/server/dash/comps/ui/menu.css +178 -0
  442. package/src/server/dash/comps/ui/menu.tsx +152 -0
  443. package/src/server/dash/comps/ui/segmented.css +44 -0
  444. package/src/server/dash/comps/ui/segmented.tsx +58 -0
  445. package/src/server/dash/comps/ui/select.css +103 -0
  446. package/src/server/dash/comps/ui/select.tsx +250 -0
  447. package/src/server/dash/comps/ui/sentinel.css +58 -0
  448. package/src/server/dash/comps/ui/sentinel.tsx +67 -0
  449. package/src/server/dash/comps/ui/tabs.css +81 -0
  450. package/src/server/dash/comps/ui/tabs.tsx +32 -0
  451. package/src/server/dash/comps/ui/tail.css +12 -0
  452. package/src/server/dash/comps/ui/tail.tsx +37 -0
  453. package/src/server/dash/comps/ui/toast.css +72 -0
  454. package/src/server/dash/comps/ui/toolbar.css +143 -0
  455. package/src/server/dash/comps/ui/toolbar.tsx +93 -0
  456. package/src/server/dash/package.json +5 -0
  457. package/src/server/dash/pnext-env.d.ts +4 -0
  458. package/src/server/dash/pnext.config.ts +5 -0
  459. package/src/server/dash/public/assets/apple-touch-icon.png +0 -0
  460. package/src/server/dash/public/assets/favicon.ico +0 -0
  461. package/src/server/dash/public/assets/favicon.svg +1 -0
  462. package/src/server/dash/public/assets/fonts/LICENSE-fira-code +93 -0
  463. package/src/server/dash/public/assets/fonts/fira-code-latin-400-normal-717ee080.woff2 +0 -0
  464. package/src/server/dash/public/assets/fonts/fira-code-latin-500-normal-530b6706.woff2 +0 -0
  465. package/src/server/dash/public/assets/fonts/fira-code-latin-700-normal-98730669.woff2 +0 -0
  466. package/src/server/dash/tsconfig.json +10 -0
  467. package/src/server/dash/utils/client.ts +19 -0
  468. package/src/server/dash/utils/format.ts +75 -0
  469. package/src/server/dash/utils/paged.ts +184 -0
  470. package/src/server/dash/utils/range.ts +117 -0
  471. package/dist/app-server-CW93J9zJ.js +0 -3
  472. package/dist/runtime-D-U1DNkI.js +0 -26
  473. package/dist/upgrade-DOj06r5b.js +0 -37
@@ -0,0 +1,22 @@
1
+ import { createRequire as __coderRequire } from "node:module";
2
+ const __pnextRoot = __coderRequire(import.meta.url).resolve("@wular/pnext").replace(/\/src\/index\.ts$/, "");
3
+ import { createRequire as __pnextCreateRequire } from "node:module";
4
+ const require = __pnextCreateRequire(("file://" + __pnextRoot + "/package.json"));
5
+ import {
6
+ loadNextConfig
7
+ } from "./chunk-2ICEVELW.js";
8
+ import {
9
+ registerConfigSource
10
+ } from "./chunk-JESFYECC.js";
11
+
12
+ // ../node_modules/.bun/@wular+pnext@0.1.5+62547eec5a2188e3/node_modules/@wular/pnext/src/compat/register/config.ts
13
+ function registerConfigSource2() {
14
+ registerConfigSource(async (root, options) => {
15
+ const { overrides } = await loadNextConfig(root, options);
16
+ return overrides;
17
+ });
18
+ }
19
+
20
+ export {
21
+ registerConfigSource2 as registerConfigSource
22
+ };
@@ -0,0 +1,172 @@
1
+ import { createRequire as __coderRequire } from "node:module";
2
+ const __pnextRoot = __coderRequire(import.meta.url).resolve("@wular/pnext").replace(/\/src\/index\.ts$/, "");
3
+ import { createRequire as __pnextCreateRequire } from "node:module";
4
+ const require = __pnextCreateRequire(("file://" + __pnextRoot + "/package.json"));
5
+ import {
6
+ isNotFoundError,
7
+ isRedirectError
8
+ } from "./chunk-VC5O2SDP.js";
9
+ import {
10
+ nextResponseMeta,
11
+ toNextRequest
12
+ } from "./chunk-7DCNCW6O.js";
13
+ import {
14
+ getWorkUnit,
15
+ runWithRequest
16
+ } from "./chunk-JESFYECC.js";
17
+ import {
18
+ safeDecode
19
+ } from "./chunk-JRPJM2XY.js";
20
+ import {
21
+ getRenderExtensions,
22
+ reportRequestError
23
+ } from "./chunk-4P5CMIYT.js";
24
+
25
+ // ../node_modules/.bun/@wular+pnext@0.1.5+62547eec5a2188e3/node_modules/@wular/pnext/src/routing/handler.ts
26
+ var routeMethods = ["GET", "HEAD", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"];
27
+ var httpMethods = /* @__PURE__ */ new Set([
28
+ "GET",
29
+ "HEAD",
30
+ "POST",
31
+ "PUT",
32
+ "PATCH",
33
+ "DELETE",
34
+ "OPTIONS",
35
+ "CONNECT",
36
+ "TRACE"
37
+ ]);
38
+ async function handleRouteModule(module, request, params, options = {}) {
39
+ const responseHeaders = new Headers();
40
+ const method = request.method.toUpperCase();
41
+ try {
42
+ if (!httpMethods.has(method)) return new Response(null, { status: 400 });
43
+ const handler = routeMethods.includes(method) ? module[method] : void 0;
44
+ if (!handler) {
45
+ if (method === "HEAD" && module.GET) {
46
+ const response = finalizeResponse(
47
+ await callHandler(module.GET, request, params, responseHeaders),
48
+ request,
49
+ responseHeaders,
50
+ options
51
+ );
52
+ return new Response(null, { status: response.status, headers: response.headers });
53
+ }
54
+ return missingMethodResponse(module, method);
55
+ }
56
+ return finalizeResponse(
57
+ await callHandler(handler, request, params, responseHeaders),
58
+ request,
59
+ responseHeaders,
60
+ options
61
+ );
62
+ } catch (error) {
63
+ if (isRedirectError(error)) {
64
+ const status = method === "POST" ? 303 : error.status;
65
+ return withResponseHeaders(
66
+ new Response(null, { status, headers: { location: error.location } }),
67
+ responseHeaders
68
+ );
69
+ }
70
+ if (isNotFoundError(error)) {
71
+ return withResponseHeaders(new Response(null, { status: 404 }), responseHeaders);
72
+ }
73
+ await reportRequestError(
74
+ error,
75
+ { method, url: request.url, headers: request.headers },
76
+ { phase: "handler", routeKind: "route-handler", ...getWorkUnit()?.responseHints ?? {} }
77
+ );
78
+ console.error(error);
79
+ return new Response(null, { status: 500 });
80
+ }
81
+ }
82
+ function finalizeResponse(response, request, responseHeaders, options) {
83
+ const method = request.method.toUpperCase();
84
+ if (!response) {
85
+ const file = options.routeFile ?? "<route>";
86
+ console.error(
87
+ `No response is returned from route handler '${file}'. Expected a Response object but received '${typeof response}' (method: ${method}, url: ${request.url}). Ensure you return a \`Response\` or a \`NextResponse\` in all branches of your handler.`
88
+ );
89
+ return new Response(null, { status: 500 });
90
+ }
91
+ if (nextResponseMeta(response)?.kind === "next") {
92
+ console.error("https://nextjs.org/docs/messages/next-response-next-in-app-route-handler");
93
+ return new Response(null, { status: 500 });
94
+ }
95
+ return withResponseHeaders(response, responseHeaders);
96
+ }
97
+ function callHandler(handler, request, params, responseHeaders) {
98
+ const nextRequest = toNextRequest(request);
99
+ const context = Object.keys(params).length > 0 ? {
100
+ params: getRenderExtensions().legacySyncProps(Promise.resolve(params), "params", params)
101
+ } : {};
102
+ return runWithRequest(nextRequest, () => handler(nextRequest, context), params, {
103
+ responseHeaders
104
+ });
105
+ }
106
+ function withResponseHeaders(response, extra) {
107
+ const withSetCookie = extra;
108
+ const scopeCookies = withSetCookie.getSetCookie?.() ?? [];
109
+ let hasOthers = false;
110
+ extra.forEach((_, key) => {
111
+ if (key !== "set-cookie") hasOthers = true;
112
+ });
113
+ if (scopeCookies.length === 0 && !hasOthers) return response;
114
+ const apply = (headers) => {
115
+ extra.forEach((value, key) => {
116
+ if (key !== "set-cookie") headers.set(key, value);
117
+ });
118
+ const responseCookies = headers.getSetCookie?.() ?? [];
119
+ const jar = /* @__PURE__ */ new Map();
120
+ for (const cookie of [...scopeCookies, ...responseCookies]) {
121
+ jar.set(cookieName(cookie), normalizeSetCookie(cookie));
122
+ }
123
+ headers.delete("set-cookie");
124
+ for (const cookie of jar.values()) headers.append("set-cookie", cookie);
125
+ };
126
+ try {
127
+ apply(response.headers);
128
+ return response;
129
+ } catch {
130
+ const headers = new Headers(response.headers);
131
+ apply(headers);
132
+ return new Response(response.body, {
133
+ status: response.status,
134
+ statusText: response.statusText,
135
+ headers
136
+ });
137
+ }
138
+ }
139
+ function cookieName(setCookie) {
140
+ return (setCookie.split("=")[0] ?? "").trim();
141
+ }
142
+ function normalizeSetCookie(setCookie) {
143
+ return /;\s*path=/i.test(setCookie) ? setCookie : `${setCookie}; Path=/`;
144
+ }
145
+ function routeParamsFromPath(route, pathname) {
146
+ const match = new RegExp(`^${route.pattern}$`).exec(pathname);
147
+ const params = {};
148
+ if (!match) return params;
149
+ for (let index = 0; index < route.params.length; index += 1) {
150
+ params[route.params[index]] = safeDecode(match[index + 1] ?? "");
151
+ }
152
+ if (route.catchAll) {
153
+ params[route.catchAll] = (match[route.params.length + 1] ?? "").split("/").filter(Boolean).map(safeDecode);
154
+ }
155
+ return params;
156
+ }
157
+ function missingMethodResponse(module, method) {
158
+ const headers = { Allow: allowedMethods(module).join(", ") };
159
+ if (method === "OPTIONS") return new Response(null, { status: 204, headers });
160
+ return new Response(null, { status: 405, headers });
161
+ }
162
+ function allowedMethods(module) {
163
+ const allowed = new Set(routeMethods.filter((method) => typeof module[method] === "function"));
164
+ if (allowed.has("GET")) allowed.add("HEAD");
165
+ allowed.add("OPTIONS");
166
+ return [...allowed].sort();
167
+ }
168
+
169
+ export {
170
+ handleRouteModule,
171
+ routeParamsFromPath
172
+ };
@@ -0,0 +1,378 @@
1
+ import { createRequire as __coderRequire } from "node:module";
2
+ const __pnextRoot = __coderRequire(import.meta.url).resolve("@wular/pnext").replace(/\/src\/index\.ts$/, "");
3
+ import { createRequire as __pnextCreateRequire } from "node:module";
4
+ const require = __pnextCreateRequire(("file://" + __pnextRoot + "/package.json"));
5
+ import {
6
+ dynamicCallFacts,
7
+ rewriteFacts
8
+ } from "./chunk-NQE46AZN.js";
9
+ import {
10
+ restoreWithExtensionHost
11
+ } from "./chunk-4P5CMIYT.js";
12
+
13
+ // ../node_modules/.bun/@wular+pnext@0.1.5+62547eec5a2188e3/node_modules/@wular/pnext/src/resolve/dynamic.ts
14
+ function sourceHasDynamicImport(source) {
15
+ return source.includes("@wular/pnext") || source.includes("next/dynamic");
16
+ }
17
+ function pnextDynamicImportNames(source, file = "module.tsx") {
18
+ const names = /* @__PURE__ */ new Set();
19
+ if (!sourceHasDynamicImport(source)) return names;
20
+ for (const statement of rewriteFacts(file, source).imports) {
21
+ const { specifier } = statement;
22
+ const pnext = specifier === "@wular/pnext" || specifier === "@wular/pnext/dynamic";
23
+ const nextDynamic = specifier === "next/dynamic" || /compat\/next\/dynamic(?:\.tsx)?$/.test(specifier);
24
+ if (!pnext && !nextDynamic) continue;
25
+ for (const binding of statement.bindings) {
26
+ if (binding.type) continue;
27
+ if (pnext ? binding.imported === "dynamic" : binding.imported === "default") {
28
+ names.add(binding.local);
29
+ }
30
+ }
31
+ }
32
+ return names;
33
+ }
34
+ function dynamicCallsFromSource(source, dynamicNames) {
35
+ const calls = [];
36
+ if (dynamicNames.size === 0) return calls;
37
+ let index = 0;
38
+ while ((index = nextDynamicCallIndex(source, dynamicNames, index)) !== -1) {
39
+ const name = dynamicNameAt(source, dynamicNames, index);
40
+ if (!name) {
41
+ index += 1;
42
+ continue;
43
+ }
44
+ const before = source[index - 1];
45
+ const after = source[index + name.length];
46
+ if (before && /[\w$]/.test(before) || after && /[\w$]/.test(after)) {
47
+ index += name.length;
48
+ continue;
49
+ }
50
+ const open = source.indexOf("(", index + name.length);
51
+ if (open === -1 || source.slice(index + name.length, open).trim()) {
52
+ index += name.length;
53
+ continue;
54
+ }
55
+ const close = matchingParen(source, open);
56
+ if (close === -1) {
57
+ index = open + 1;
58
+ continue;
59
+ }
60
+ calls.push({
61
+ index,
62
+ name,
63
+ open,
64
+ close,
65
+ source: source.slice(index, close + 1)
66
+ });
67
+ index = close + 1;
68
+ }
69
+ return calls;
70
+ }
71
+ function rewriteLiteralDynamicCalls(source, file) {
72
+ const dynamicNames = pnextDynamicImportNames(source, file);
73
+ if (dynamicNames.size === 0) return source;
74
+ const facts = dynamicCallFacts(source, file);
75
+ const edits = [];
76
+ for (const call of dynamicCallsFromSource(source, dynamicNames)) {
77
+ const fact = factForCall(facts, call);
78
+ if (!fact?.literal) continue;
79
+ edits.push({
80
+ start: fact.specifierStart,
81
+ end: fact.specifierEnd,
82
+ value: `() => import(${source.slice(fact.specifierStart, fact.specifierEnd)})`
83
+ });
84
+ }
85
+ if (edits.length === 0) return source;
86
+ let next = source;
87
+ for (const edit of edits.reverse()) {
88
+ next = `${next.slice(0, edit.start)}${edit.value}${next.slice(edit.end)}`;
89
+ }
90
+ return next;
91
+ }
92
+ function rewriteDynamicCallTargets(source, resolve, file) {
93
+ const dynamicNames = pnextDynamicImportNames(source, file);
94
+ if (dynamicNames.size === 0) return source;
95
+ const facts = dynamicCallFacts(source, file);
96
+ const edits = [];
97
+ for (const call of dynamicCallsFromSource(source, dynamicNames)) {
98
+ const target = loaderImportTargetForCall(call, facts);
99
+ if (!target) continue;
100
+ const file2 = resolve(target.specifier);
101
+ if (!file2) continue;
102
+ const args = source.slice(call.open + 1, call.close);
103
+ const argCount = topLevelArgCount(args);
104
+ if (argCount < 1 || argCount > 2) continue;
105
+ const literal = JSON.stringify({ file: file2, exportName: target.exportName });
106
+ const separator = /,\s*$/.test(args) ? "" : ", ";
107
+ edits.push({
108
+ at: call.close,
109
+ value: `${separator}${argCount === 1 ? "undefined, " : ""}${literal}`
110
+ });
111
+ }
112
+ if (edits.length === 0) return source;
113
+ let next = source;
114
+ for (const edit of edits.reverse()) {
115
+ next = `${next.slice(0, edit.at)}${edit.value}${next.slice(edit.at)}`;
116
+ }
117
+ return next;
118
+ }
119
+ function factForCall(facts, call) {
120
+ return facts.find((fact) => fact.start === call.index);
121
+ }
122
+ function loaderImportTargetForCall(call, facts) {
123
+ const fact = factForCall(facts, call);
124
+ return fact && !fact.literal ? fact : void 0;
125
+ }
126
+ function devDynamicSplitEnabled() {
127
+ return process.env.PNEXT_DYNAMIC_SPLIT !== "0";
128
+ }
129
+ function deferredDynamicImportSpecifiers(source, file) {
130
+ const deferred = /* @__PURE__ */ new Set();
131
+ const dynamicNames = pnextDynamicImportNames(source, file);
132
+ if (dynamicNames.size === 0) return deferred;
133
+ const optionConsts = /* @__PURE__ */ new Map();
134
+ const constPattern = /const\s+([A-Za-z_$][\w$]*)\s*=\s*({[\s\S]*?})\s*(?:as\s+const\s*)?;/g;
135
+ let constMatch;
136
+ while (constMatch = constPattern.exec(source)) {
137
+ if (constMatch[1] && constMatch[2]) optionConsts.set(constMatch[1], constMatch[2]);
138
+ }
139
+ const facts = dynamicCallFacts(source, file);
140
+ for (const call of dynamicCallsFromSource(source, dynamicNames)) {
141
+ const target = loaderImportTargetForCall(call, facts);
142
+ if (!target) continue;
143
+ const tail = source.slice(target.loaderEnd, call.close);
144
+ let options = tail;
145
+ for (const identifier of tail.match(/[A-Za-z_$][\w$]*/g) ?? []) {
146
+ const named = optionConsts.get(identifier);
147
+ if (named) options += `
148
+ ${named}`;
149
+ }
150
+ const ssrFalse = /\bssr\s*:\s*false\b/.test(options);
151
+ const visible = /\bload\s*:\s*['"]visible['"]/.test(options) && !/\bssr\s*:\s*true\b/.test(options);
152
+ if (ssrFalse || visible) deferred.add(target.specifier);
153
+ }
154
+ return deferred;
155
+ }
156
+ function topLevelArgCount(args) {
157
+ let count = 0;
158
+ let depth = 0;
159
+ let quote = null;
160
+ let sawArg = false;
161
+ for (let index = 0; index < args.length; index += 1) {
162
+ const char = args[index];
163
+ if (quote) {
164
+ if (char === quote && args[index - 1] !== "\\") quote = null;
165
+ continue;
166
+ }
167
+ if (char === '"' || char === "'" || char === "`") {
168
+ quote = char;
169
+ sawArg = true;
170
+ continue;
171
+ }
172
+ if (char === "(" || char === "[" || char === "{") depth += 1;
173
+ if (char === ")" || char === "]" || char === "}") depth -= 1;
174
+ if (char === "," && depth === 0) {
175
+ if (sawArg) count += 1;
176
+ sawArg = false;
177
+ continue;
178
+ }
179
+ if (!/\s/.test(char ?? "")) sawArg = true;
180
+ }
181
+ return sawArg ? count + 1 : count;
182
+ }
183
+ function matchingParen(source, open) {
184
+ let depth = 0;
185
+ let quote = null;
186
+ for (let index = open; index < source.length; index += 1) {
187
+ const char = source[index];
188
+ const previous = source[index - 1];
189
+ if (quote) {
190
+ if (char === quote && previous !== "\\") quote = null;
191
+ continue;
192
+ }
193
+ if (char === '"' || char === "'" || char === "`") {
194
+ quote = char;
195
+ continue;
196
+ }
197
+ if (char === "(") depth += 1;
198
+ if (char === ")") {
199
+ depth -= 1;
200
+ if (depth === 0) return index;
201
+ }
202
+ }
203
+ return -1;
204
+ }
205
+ function nextDynamicCallIndex(source, dynamicNames, fromIndex) {
206
+ let next = -1;
207
+ for (const name of dynamicNames) {
208
+ const index = source.indexOf(name, fromIndex);
209
+ if (index !== -1 && (next === -1 || index < next)) next = index;
210
+ }
211
+ return next;
212
+ }
213
+ function dynamicNameAt(source, dynamicNames, index) {
214
+ for (const name of dynamicNames) {
215
+ if (source.startsWith(name, index)) return name;
216
+ }
217
+ return void 0;
218
+ }
219
+
220
+ // ../node_modules/.bun/@wular+pnext@0.1.5+62547eec5a2188e3/node_modules/@wular/pnext/src/render/hooks.ts
221
+ function nextCompatEnabled(config) {
222
+ return Boolean(config.compat?.next);
223
+ }
224
+ function reactCompatEnabled(config) {
225
+ return Boolean(config.compat?.next || config.compat?.react || config.compat?.reactCompiler);
226
+ }
227
+ var fontExtensions = {
228
+ runWithFontScope: (callback) => callback(),
229
+ collectFontAssets: () => Promise.resolve({ css: "", preloads: [] }),
230
+ prewarmFontAssets: () => Promise.resolve()
231
+ };
232
+ function getFontExtensions() {
233
+ return fontExtensions;
234
+ }
235
+ function setFontExtensions(overrides) {
236
+ Object.assign(fontExtensions, overrides);
237
+ }
238
+ var suspenseExtensions = {
239
+ ensureCompatSuspense: () => Promise.resolve(),
240
+ compatSuspenseType: () => void 0
241
+ };
242
+ function getSuspenseExtensions() {
243
+ return suspenseExtensions;
244
+ }
245
+ function setSuspenseExtensions(overrides) {
246
+ Object.assign(suspenseExtensions, overrides);
247
+ }
248
+ var streamRouteExtensions = {
249
+ canStreamRoute: () => true,
250
+ inlineSuspenseStream: () => false
251
+ };
252
+ function getStreamRouteExtensions() {
253
+ return streamRouteExtensions;
254
+ }
255
+ function setStreamRouteExtensions(overrides) {
256
+ Object.assign(streamRouteExtensions, overrides);
257
+ }
258
+ var streamBoundaryExtensions = {
259
+ onStreamBoundaryError: () => void 0
260
+ };
261
+ function setStreamBoundaryExtensions(overrides) {
262
+ Object.assign(streamBoundaryExtensions, overrides);
263
+ }
264
+ function reportStreamBoundaryError(error) {
265
+ try {
266
+ const result = streamBoundaryExtensions.onStreamBoundaryError(error);
267
+ if (isThenable(result)) {
268
+ void Promise.resolve(result).catch((reportError) => {
269
+ console.error("stream boundary error hook failed:", reportError);
270
+ });
271
+ }
272
+ } catch (reportError) {
273
+ console.error("stream boundary error hook failed:", reportError);
274
+ }
275
+ }
276
+ function isThenable(value) {
277
+ return typeof value?.then === "function";
278
+ }
279
+ var metadataExtensions = {};
280
+ function getActiveMetadataExtensions(config) {
281
+ return metadataExtensions.enabled?.(config) ? metadataExtensions : {};
282
+ }
283
+ function setMetadataExtensions(overrides) {
284
+ Object.assign(metadataExtensions, overrides);
285
+ }
286
+ var documentScriptExtensions = {
287
+ stylesheetPrecedence: () => void 0,
288
+ documentBodyScripts: () => ""
289
+ };
290
+ function getDocumentScriptExtensions() {
291
+ return documentScriptExtensions;
292
+ }
293
+ function setDocumentScriptExtensions(overrides) {
294
+ Object.assign(documentScriptExtensions, overrides);
295
+ }
296
+ var staticParamsExtensions = {
297
+ normalizeModule: (module) => typeof module.params === "function" || typeof module.generateStaticParams !== "function" ? module : { ...module, params: module.generateStaticParams }
298
+ };
299
+ function getStaticParamsExtensions() {
300
+ return staticParamsExtensions;
301
+ }
302
+ function setStaticParamsExtensions(overrides) {
303
+ Object.assign(staticParamsExtensions, overrides);
304
+ }
305
+ var actionModuleExtensions = {
306
+ tagActionModulesForRender: () => Promise.resolve(),
307
+ tagActionModuleExports: () => void 0
308
+ };
309
+ function getActionModuleExtensions() {
310
+ return actionModuleExtensions;
311
+ }
312
+ function setActionModuleExtensions(overrides) {
313
+ Object.assign(actionModuleExtensions, overrides);
314
+ }
315
+ var renderSpanExtensions = {
316
+ withRenderBodySpan: (_route, fn) => fn(),
317
+ withFindPageComponentsSpan: (_route, fn) => fn(),
318
+ emitResolveSegmentSpan: () => void 0,
319
+ withRouteHandlerSpan: (_route, fn) => fn()
320
+ };
321
+ function getRenderSpanExtensions() {
322
+ return renderSpanExtensions;
323
+ }
324
+ function setRenderSpanExtensions(overrides) {
325
+ Object.assign(renderSpanExtensions, overrides);
326
+ }
327
+ for (const registry of [
328
+ fontExtensions,
329
+ suspenseExtensions,
330
+ streamRouteExtensions,
331
+ streamBoundaryExtensions,
332
+ metadataExtensions,
333
+ documentScriptExtensions,
334
+ staticParamsExtensions,
335
+ actionModuleExtensions,
336
+ renderSpanExtensions
337
+ ]) {
338
+ restoreWithExtensionHost(registry);
339
+ }
340
+
341
+ // ../node_modules/.bun/@wular+pnext@0.1.5+62547eec5a2188e3/node_modules/@wular/pnext/src/utils/verbose.ts
342
+ function formatDuration(durationMs) {
343
+ const ms = Math.max(0, durationMs);
344
+ if (ms < 10) return `${ms.toFixed(1)}ms`;
345
+ if (ms < 1e3) return `${Math.round(ms)}ms`;
346
+ return `${(ms / 1e3).toFixed(ms < 1e4 ? 2 : 1)}s`;
347
+ }
348
+
349
+ export {
350
+ sourceHasDynamicImport,
351
+ pnextDynamicImportNames,
352
+ dynamicCallsFromSource,
353
+ rewriteLiteralDynamicCalls,
354
+ rewriteDynamicCallTargets,
355
+ devDynamicSplitEnabled,
356
+ deferredDynamicImportSpecifiers,
357
+ nextCompatEnabled,
358
+ reactCompatEnabled,
359
+ getFontExtensions,
360
+ setFontExtensions,
361
+ getSuspenseExtensions,
362
+ setSuspenseExtensions,
363
+ getStreamRouteExtensions,
364
+ setStreamRouteExtensions,
365
+ setStreamBoundaryExtensions,
366
+ reportStreamBoundaryError,
367
+ getActiveMetadataExtensions,
368
+ setMetadataExtensions,
369
+ getDocumentScriptExtensions,
370
+ setDocumentScriptExtensions,
371
+ getStaticParamsExtensions,
372
+ setStaticParamsExtensions,
373
+ getActionModuleExtensions,
374
+ setActionModuleExtensions,
375
+ getRenderSpanExtensions,
376
+ setRenderSpanExtensions,
377
+ formatDuration
378
+ };
@@ -0,0 +1,89 @@
1
+ import { createRequire as __coderRequire } from "node:module";
2
+ const __pnextRoot = __coderRequire(import.meta.url).resolve("@wular/pnext").replace(/\/src\/index\.ts$/, "");
3
+ import { createRequire as __pnextCreateRequire } from "node:module";
4
+ const require = __pnextCreateRequire(("file://" + __pnextRoot + "/package.json"));
5
+ import {
6
+ onExtensionHostReset
7
+ } from "./chunk-4P5CMIYT.js";
8
+
9
+ // ../node_modules/.bun/@wular+pnext@0.1.5+62547eec5a2188e3/node_modules/@wular/pnext/src/runtime/fetch-host.ts
10
+ var installed = false;
11
+ var upstreamAborts = /* @__PURE__ */ new WeakMap();
12
+ function isHostKey(key) {
13
+ return typeof key === "string" && key.length === 4 && key.toLowerCase() === "host";
14
+ }
15
+ function hasHost(headers) {
16
+ if (headers instanceof Headers) return headers.has("host");
17
+ if (Array.isArray(headers)) {
18
+ for (const entry of headers) if (isHostKey(entry?.[0])) return true;
19
+ return false;
20
+ }
21
+ for (const key in headers) if (isHostKey(key)) return true;
22
+ return false;
23
+ }
24
+ function withoutHost(headers) {
25
+ const next = new Headers(headers);
26
+ next.delete("host");
27
+ return next;
28
+ }
29
+ function installFetchHostNormalization() {
30
+ if (installed) return;
31
+ installed = true;
32
+ const original = globalThis.fetch.bind(globalThis);
33
+ globalThis.fetch = function fetch(input, init) {
34
+ const source = init?.headers ?? (input instanceof Request ? input.headers : void 0);
35
+ const normalized = source !== void 0 && hasHost(source) ? { ...init, headers: withoutHost(source) } : init;
36
+ return trackUpstream(original, input, normalized);
37
+ };
38
+ }
39
+ function trackUpstream(original, input, init) {
40
+ const controller = new AbortController();
41
+ const caller = init?.signal ?? (input instanceof Request ? input.signal : void 0);
42
+ const signal = caller ? AbortSignal.any([caller, controller.signal]) : controller.signal;
43
+ return original(input, { ...init, signal }).then((response) => {
44
+ if (response.body) upstreamAborts.set(response.body, controller);
45
+ return response;
46
+ });
47
+ }
48
+ function abortUpstreamFetchOnDisconnect(body, signal) {
49
+ if (!body || !signal || !upstreamAborts.has(body)) return;
50
+ const abort = () => {
51
+ const controller = upstreamAborts.get(body);
52
+ if (!controller) return;
53
+ upstreamAborts.delete(body);
54
+ controller.abort();
55
+ };
56
+ if (signal.aborted) abort();
57
+ else signal.addEventListener("abort", abort, { once: true });
58
+ }
59
+
60
+ // ../node_modules/.bun/@wular+pnext@0.1.5+62547eec5a2188e3/node_modules/@wular/pnext/src/compat-bootstrap.ts
61
+ function compatEnabled(config) {
62
+ const compat = config.compat;
63
+ return Boolean(compat?.next || compat?.react || compat?.reactCompiler);
64
+ }
65
+ var bootRegistration;
66
+ var registration;
67
+ onExtensionHostReset(() => {
68
+ bootRegistration = void 0;
69
+ registration = void 0;
70
+ });
71
+ function bootstrapCompatBoot(config) {
72
+ installFetchHostNormalization();
73
+ if (!compatEnabled(config)) return Promise.resolve();
74
+ bootRegistration ??= import("./boot-B2MFTRO2.js").then(
75
+ (module) => module.registerCompatBootExtensions(config)
76
+ );
77
+ return bootRegistration;
78
+ }
79
+ function bootstrapCompat(config, options = {}) {
80
+ installFetchHostNormalization();
81
+ if (!compatEnabled(config)) return Promise.resolve();
82
+ registration ??= bootstrapCompatBoot(config).then(() => import("./register-4SA55SWT.js")).then((module) => module.registerCompatExtensions(config, options));
83
+ return registration;
84
+ }
85
+
86
+ export {
87
+ abortUpstreamFetchOnDisconnect,
88
+ bootstrapCompat
89
+ };