effect-start 0.28.0 → 0.30.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 (722) hide show
  1. package/README.md +1 -1
  2. package/dist/Cookies.d.ts +9 -41
  3. package/dist/Cookies.d.ts.map +1 -1
  4. package/dist/Cookies.js +2 -2
  5. package/dist/Cookies.js.map +1 -1
  6. package/dist/Development.d.ts +7 -21
  7. package/dist/Development.d.ts.map +1 -1
  8. package/dist/Development.js +6 -8
  9. package/dist/Development.js.map +1 -1
  10. package/dist/Entity.d.ts +5 -6
  11. package/dist/Entity.d.ts.map +1 -1
  12. package/dist/Entity.js +10 -7
  13. package/dist/Entity.js.map +1 -1
  14. package/dist/Fetch.d.ts +15 -4
  15. package/dist/Fetch.d.ts.map +1 -1
  16. package/dist/Fetch.js +74 -1
  17. package/dist/Fetch.js.map +1 -1
  18. package/dist/FileRouter.d.ts +4 -7
  19. package/dist/FileRouter.d.ts.map +1 -1
  20. package/dist/FileRouter.js +38 -29
  21. package/dist/FileRouter.js.map +1 -1
  22. package/dist/FileRouterCodegen.d.ts +2 -2
  23. package/dist/FileRouterCodegen.d.ts.map +1 -1
  24. package/dist/FileRouterCodegen.js +9 -21
  25. package/dist/FileRouterCodegen.js.map +1 -1
  26. package/dist/FileSystem.d.ts +39 -39
  27. package/dist/FileSystem.d.ts.map +1 -1
  28. package/dist/FileSystem.js +5 -3
  29. package/dist/FileSystem.js.map +1 -1
  30. package/dist/GlobalLayer.d.ts +2 -2
  31. package/dist/GlobalLayer.d.ts.map +1 -1
  32. package/dist/GlobalLayer.js +2 -2
  33. package/dist/GlobalLayer.js.map +1 -1
  34. package/dist/Html.d.ts +32 -0
  35. package/dist/Html.d.ts.map +1 -0
  36. package/dist/{hyper/HyperHtml.js → Html.js} +45 -26
  37. package/dist/Html.js.map +1 -0
  38. package/dist/PlatformRuntime.d.ts.map +1 -1
  39. package/dist/PlatformRuntime.js.map +1 -1
  40. package/dist/Route.d.ts +22 -9
  41. package/dist/Route.d.ts.map +1 -1
  42. package/dist/Route.js +25 -4
  43. package/dist/Route.js.map +1 -1
  44. package/dist/RouteBody.d.ts +14 -7
  45. package/dist/RouteBody.d.ts.map +1 -1
  46. package/dist/RouteBody.js +38 -27
  47. package/dist/RouteBody.js.map +1 -1
  48. package/dist/RouteError.js.map +1 -1
  49. package/dist/RouteHook.d.ts.map +1 -1
  50. package/dist/RouteHook.js.map +1 -1
  51. package/dist/RouteHttp.d.ts +1 -1
  52. package/dist/RouteHttp.d.ts.map +1 -1
  53. package/dist/RouteHttp.js +56 -32
  54. package/dist/RouteHttp.js.map +1 -1
  55. package/dist/RouteHttpTracer.d.ts.map +1 -1
  56. package/dist/RouteHttpTracer.js.map +1 -1
  57. package/dist/RouteMount.d.ts +2 -2
  58. package/dist/RouteMount.d.ts.map +1 -1
  59. package/dist/RouteMount.js +2 -2
  60. package/dist/RouteMount.js.map +1 -1
  61. package/dist/RouteSchema.d.ts +2 -2
  62. package/dist/RouteSchema.d.ts.map +1 -1
  63. package/dist/RouteSchema.js +2 -2
  64. package/dist/RouteSchema.js.map +1 -1
  65. package/dist/RouteSse.d.ts +9 -10
  66. package/dist/RouteSse.d.ts.map +1 -1
  67. package/dist/RouteSse.js +8 -12
  68. package/dist/RouteSse.js.map +1 -1
  69. package/dist/RouteTree.d.ts +2 -2
  70. package/dist/RouteTree.d.ts.map +1 -1
  71. package/dist/RouteTree.js +2 -2
  72. package/dist/RouteTree.js.map +1 -1
  73. package/dist/RouteTrie.js +1 -1
  74. package/dist/RouteTrie.js.map +1 -1
  75. package/dist/Socket.d.ts +13 -18
  76. package/dist/Socket.d.ts.map +1 -1
  77. package/dist/Socket.js +12 -13
  78. package/dist/Socket.js.map +1 -1
  79. package/dist/Start.d.ts +15 -23
  80. package/dist/Start.d.ts.map +1 -1
  81. package/dist/Start.js +17 -6
  82. package/dist/Start.js.map +1 -1
  83. package/dist/System.d.ts +20 -5
  84. package/dist/System.d.ts.map +1 -1
  85. package/dist/System.js +12 -42
  86. package/dist/System.js.map +1 -1
  87. package/dist/Unique.d.ts.map +1 -1
  88. package/dist/Unique.js.map +1 -1
  89. package/dist/{ChildProcess.d.ts → _ChildProcess.d.ts} +14 -15
  90. package/dist/_ChildProcess.d.ts.map +1 -0
  91. package/dist/{ChildProcess.js → _ChildProcess.js} +2 -2
  92. package/dist/_ChildProcess.js.map +1 -0
  93. package/dist/{ContentNegotiation.d.ts → _ContentNegotiation.d.ts} +1 -1
  94. package/dist/_ContentNegotiation.d.ts.map +1 -0
  95. package/dist/{ContentNegotiation.js → _ContentNegotiation.js} +1 -1
  96. package/dist/_ContentNegotiation.js.map +1 -0
  97. package/dist/{Docker.d.ts → _Docker.d.ts} +2 -2
  98. package/dist/_Docker.d.ts.map +1 -0
  99. package/dist/{Docker.js → _Docker.js} +1 -1
  100. package/dist/_Docker.js.map +1 -0
  101. package/dist/{Effectify.d.ts → _Effectify.d.ts} +1 -1
  102. package/dist/_Effectify.d.ts.map +1 -0
  103. package/dist/{Effectify.js → _Effectify.js} +1 -1
  104. package/dist/_Effectify.js.map +1 -0
  105. package/dist/{Http.d.ts → _Http.d.ts} +1 -8
  106. package/dist/_Http.d.ts.map +1 -0
  107. package/dist/{Http.js → _Http.js} +1 -17
  108. package/dist/_Http.js.map +1 -0
  109. package/dist/{PathPattern.d.ts → _PathPattern.d.ts} +12 -1
  110. package/dist/_PathPattern.d.ts.map +1 -0
  111. package/dist/{PathPattern.js → _PathPattern.js} +86 -1
  112. package/dist/_PathPattern.js.map +1 -0
  113. package/dist/_SchemaExtra.d.ts +4 -0
  114. package/dist/_SchemaExtra.d.ts.map +1 -0
  115. package/dist/{SchemaExtra.js → _SchemaExtra.js} +4 -4
  116. package/dist/_SchemaExtra.js.map +1 -0
  117. package/dist/{StartApp.d.ts → _StartApp.d.ts} +1 -1
  118. package/dist/_StartApp.d.ts.map +1 -0
  119. package/dist/{StartApp.js → _StartApp.js} +1 -1
  120. package/dist/_StartApp.js.map +1 -0
  121. package/dist/{StreamExtra.d.ts → _StreamExtra.d.ts} +5 -5
  122. package/dist/_StreamExtra.d.ts.map +1 -0
  123. package/dist/{StreamExtra.js → _StreamExtra.js} +1 -1
  124. package/dist/_StreamExtra.js.map +1 -0
  125. package/dist/{Values.d.ts → _Values.d.ts} +3 -3
  126. package/dist/_Values.d.ts.map +1 -0
  127. package/dist/{Values.js → _Values.js} +1 -1
  128. package/dist/_Values.js.map +1 -0
  129. package/dist/bun/BunBundle.d.ts +2 -2
  130. package/dist/bun/BunBundle.d.ts.map +1 -1
  131. package/dist/bun/BunBundle.js.map +1 -1
  132. package/dist/bun/BunChildProcessSpawner.d.ts +1 -1
  133. package/dist/bun/BunChildProcessSpawner.d.ts.map +1 -1
  134. package/dist/bun/BunChildProcessSpawner.js +9 -9
  135. package/dist/bun/BunChildProcessSpawner.js.map +1 -1
  136. package/dist/bun/BunImportTrackerPlugin.d.ts +2 -2
  137. package/dist/bun/BunImportTrackerPlugin.d.ts.map +1 -1
  138. package/dist/bun/BunImportTrackerPlugin.js.map +1 -1
  139. package/dist/bun/BunRoute.d.ts +2 -2
  140. package/dist/bun/BunRoute.d.ts.map +1 -1
  141. package/dist/bun/BunRoute.js +108 -40
  142. package/dist/bun/BunRoute.js.map +1 -1
  143. package/dist/bun/BunRuntime.js.map +1 -1
  144. package/dist/bun/BunServer.d.ts +5 -5
  145. package/dist/bun/BunServer.d.ts.map +1 -1
  146. package/dist/bun/BunServer.js +3 -3
  147. package/dist/bun/BunServer.js.map +1 -1
  148. package/dist/bun/BunVirtualFilesPlugin.js.map +1 -1
  149. package/dist/bun/_BunEnhancedResolve.d.ts.map +1 -1
  150. package/dist/bun/_BunEnhancedResolve.js.map +1 -1
  151. package/dist/bun/_empty.html +0 -0
  152. package/dist/bundler/Bundle.d.ts +2 -2
  153. package/dist/bundler/Bundle.d.ts.map +1 -1
  154. package/dist/bundler/Bundle.js.map +1 -1
  155. package/dist/bundler/BundleFiles.d.ts +1 -1
  156. package/dist/bundler/BundleFiles.d.ts.map +1 -1
  157. package/dist/bundler/BundleFiles.js.map +1 -1
  158. package/dist/bundler/BundleRoute.d.ts +6 -5
  159. package/dist/bundler/BundleRoute.d.ts.map +1 -1
  160. package/dist/bundler/BundleRoute.js +2 -2
  161. package/dist/bundler/BundleRoute.js.map +1 -1
  162. package/dist/cli/Argument.d.ts +26 -0
  163. package/dist/cli/Argument.d.ts.map +1 -0
  164. package/dist/cli/Argument.js +31 -0
  165. package/dist/cli/Argument.js.map +1 -0
  166. package/dist/cli/CliError.d.ts +15 -0
  167. package/dist/cli/CliError.d.ts.map +1 -0
  168. package/dist/cli/CliError.js +54 -0
  169. package/dist/cli/CliError.js.map +1 -0
  170. package/dist/cli/Command.d.ts +61 -0
  171. package/dist/cli/Command.d.ts.map +1 -0
  172. package/dist/cli/Command.js +453 -0
  173. package/dist/cli/Command.js.map +1 -0
  174. package/dist/cli/Flag.d.ts +32 -0
  175. package/dist/cli/Flag.d.ts.map +1 -0
  176. package/dist/cli/Flag.js +35 -0
  177. package/dist/cli/Flag.js.map +1 -0
  178. package/dist/cli/HelpDoc.d.ts +28 -0
  179. package/dist/cli/HelpDoc.d.ts.map +1 -0
  180. package/dist/cli/HelpDoc.js +40 -0
  181. package/dist/cli/HelpDoc.js.map +1 -0
  182. package/dist/cli/Param.d.ts +71 -0
  183. package/dist/cli/Param.d.ts.map +1 -0
  184. package/dist/cli/Param.js +236 -0
  185. package/dist/cli/Param.js.map +1 -0
  186. package/dist/cli/Primitive.d.ts +22 -0
  187. package/dist/cli/Primitive.d.ts.map +1 -0
  188. package/dist/cli/Primitive.js +73 -0
  189. package/dist/cli/Primitive.js.map +1 -0
  190. package/dist/cli/index.d.ts +8 -0
  191. package/dist/cli/index.d.ts.map +1 -0
  192. package/dist/cli/index.js +8 -0
  193. package/dist/cli/index.js.map +1 -0
  194. package/dist/client/Overlay.js.map +1 -1
  195. package/dist/client/ScrollState.js.map +1 -1
  196. package/dist/client/index.js.map +1 -1
  197. package/dist/cloudflare/CloudflareTunnel.d.ts +12 -0
  198. package/dist/cloudflare/CloudflareTunnel.d.ts.map +1 -0
  199. package/dist/{x/cloudflare → cloudflare}/CloudflareTunnel.js +1 -1
  200. package/dist/cloudflare/CloudflareTunnel.js.map +1 -0
  201. package/dist/cloudflare/index.d.ts.map +1 -0
  202. package/dist/cloudflare/index.js.map +1 -0
  203. package/dist/datastar/actions/fetch.js.map +1 -1
  204. package/dist/datastar/actions/peek.js.map +1 -1
  205. package/dist/datastar/actions/setAll.js.map +1 -1
  206. package/dist/datastar/actions/toggleAll.js.map +1 -1
  207. package/dist/datastar/attributes/attr.js.map +1 -1
  208. package/dist/datastar/attributes/bind.js.map +1 -1
  209. package/dist/datastar/attributes/class.js.map +1 -1
  210. package/dist/datastar/attributes/computed.js.map +1 -1
  211. package/dist/datastar/attributes/indicator.js.map +1 -1
  212. package/dist/datastar/attributes/init.js.map +1 -1
  213. package/dist/datastar/attributes/jsonSignals.js.map +1 -1
  214. package/dist/datastar/attributes/on.js.map +1 -1
  215. package/dist/datastar/attributes/onIntersect.js.map +1 -1
  216. package/dist/datastar/attributes/onInterval.js.map +1 -1
  217. package/dist/datastar/attributes/onSignalPatch.js.map +1 -1
  218. package/dist/datastar/attributes/ref.js.map +1 -1
  219. package/dist/datastar/attributes/show.js.map +1 -1
  220. package/dist/datastar/attributes/signals.js.map +1 -1
  221. package/dist/datastar/attributes/style.js.map +1 -1
  222. package/dist/datastar/attributes/text.js.map +1 -1
  223. package/dist/datastar/engine.d.ts +5 -5
  224. package/dist/datastar/engine.d.ts.map +1 -1
  225. package/dist/datastar/engine.js.map +1 -1
  226. package/dist/datastar/utils.d.ts +1 -1
  227. package/dist/datastar/utils.d.ts.map +1 -1
  228. package/dist/datastar/utils.js.map +1 -1
  229. package/dist/datastar/watchers/patchElements.js +3 -1
  230. package/dist/datastar/watchers/patchElements.js.map +1 -1
  231. package/dist/datastar/watchers/patchSignals.js.map +1 -1
  232. package/dist/experimental/EncryptedCookies.d.ts +4 -4
  233. package/dist/experimental/EncryptedCookies.d.ts.map +1 -1
  234. package/dist/experimental/EncryptedCookies.js.map +1 -1
  235. package/dist/index.d.ts +2 -0
  236. package/dist/index.d.ts.map +1 -1
  237. package/dist/index.js +2 -0
  238. package/dist/index.js.map +1 -1
  239. package/dist/jsx-runtime.d.ts +8 -0
  240. package/dist/jsx-runtime.d.ts.map +1 -0
  241. package/dist/{hyper/jsx-runtime.js → jsx-runtime.js} +2 -2
  242. package/dist/jsx-runtime.js.map +1 -0
  243. package/dist/lint/plugin.d.ts +18 -15
  244. package/dist/lint/plugin.d.ts.map +1 -1
  245. package/dist/lint/plugin.js +76 -80
  246. package/dist/lint/plugin.js.map +1 -1
  247. package/dist/node/NodeFileSystem.d.ts +3 -3
  248. package/dist/node/NodeFileSystem.d.ts.map +1 -1
  249. package/dist/node/NodeFileSystem.js +8 -7
  250. package/dist/node/NodeFileSystem.js.map +1 -1
  251. package/dist/node/NodeUtils.d.ts.map +1 -1
  252. package/dist/node/NodeUtils.js.map +1 -1
  253. package/dist/sql/SqlCache.d.ts +1 -0
  254. package/dist/sql/SqlCache.d.ts.map +1 -1
  255. package/dist/sql/SqlCache.js +5 -1
  256. package/dist/sql/SqlCache.js.map +1 -1
  257. package/dist/sql/SqlClient.js +1 -1
  258. package/dist/sql/SqlClient.js.map +1 -1
  259. package/dist/{SqlIntrospect.d.ts → sql/SqlIntrospect.d.ts} +3 -3
  260. package/dist/sql/SqlIntrospect.d.ts.map +1 -0
  261. package/dist/{SqlIntrospect.js → sql/SqlIntrospect.js} +1 -1
  262. package/dist/sql/SqlIntrospect.js.map +1 -0
  263. package/dist/sql/bun/index.d.ts +3 -3
  264. package/dist/sql/bun/index.d.ts.map +1 -1
  265. package/dist/sql/bun/index.js +1 -1
  266. package/dist/sql/bun/index.js.map +1 -1
  267. package/dist/sql/index.d.ts +1 -0
  268. package/dist/sql/index.d.ts.map +1 -1
  269. package/dist/sql/index.js +1 -0
  270. package/dist/sql/index.js.map +1 -1
  271. package/dist/sql/libsql/index.d.ts +1 -1
  272. package/dist/sql/libsql/index.d.ts.map +1 -1
  273. package/dist/sql/libsql/index.js +2 -2
  274. package/dist/sql/libsql/index.js.map +1 -1
  275. package/dist/sql/mssql/index.d.ts +3 -3
  276. package/dist/sql/mssql/index.d.ts.map +1 -1
  277. package/dist/sql/mssql/index.js +1 -1
  278. package/dist/sql/mssql/index.js.map +1 -1
  279. package/dist/sql/postgres/index.d.ts +1 -1
  280. package/dist/sql/postgres/index.d.ts.map +1 -1
  281. package/dist/sql/postgres/index.js.map +1 -1
  282. package/dist/studio/Simulation.d.ts.map +1 -0
  283. package/dist/studio/Simulation.js.map +1 -0
  284. package/dist/{tower/Tower.d.ts → studio/Studio.d.ts} +4 -4
  285. package/dist/studio/Studio.d.ts.map +1 -0
  286. package/dist/studio/Studio.js +30 -0
  287. package/dist/studio/Studio.js.map +1 -0
  288. package/dist/studio/StudioErrors.d.ts +4 -0
  289. package/dist/studio/StudioErrors.d.ts.map +1 -0
  290. package/dist/{tower/TowerErrors.js → studio/StudioErrors.js} +6 -6
  291. package/dist/studio/StudioErrors.js.map +1 -0
  292. package/dist/{tower/TowerLogger.d.ts → studio/StudioLogger.d.ts} +1 -1
  293. package/dist/studio/StudioLogger.d.ts.map +1 -0
  294. package/dist/{tower/TowerLogger.js → studio/StudioLogger.js} +7 -7
  295. package/dist/studio/StudioLogger.js.map +1 -0
  296. package/dist/studio/StudioMetrics.d.ts +4 -0
  297. package/dist/studio/StudioMetrics.d.ts.map +1 -0
  298. package/dist/{tower/TowerMetrics.js → studio/StudioMetrics.js} +3 -3
  299. package/dist/studio/StudioMetrics.js.map +1 -0
  300. package/dist/studio/StudioProcess.d.ts +4 -0
  301. package/dist/studio/StudioProcess.d.ts.map +1 -0
  302. package/dist/{tower/TowerProcess.js → studio/StudioProcess.js} +3 -3
  303. package/dist/studio/StudioProcess.js.map +1 -0
  304. package/dist/{tower/TowerStore.d.ts → studio/StudioStore.d.ts} +33 -33
  305. package/dist/studio/StudioStore.d.ts.map +1 -0
  306. package/dist/{tower/TowerStore.js → studio/StudioStore.js} +5 -5
  307. package/dist/studio/StudioStore.js.map +1 -0
  308. package/dist/studio/StudioTracer.d.ts +4 -0
  309. package/dist/studio/StudioTracer.d.ts.map +1 -0
  310. package/dist/{tower/TowerTracer.js → studio/StudioTracer.js} +21 -21
  311. package/dist/studio/StudioTracer.js.map +1 -0
  312. package/dist/studio/index.d.ts +4 -0
  313. package/dist/studio/index.d.ts.map +1 -0
  314. package/dist/studio/index.js +4 -0
  315. package/dist/studio/index.js.map +1 -0
  316. package/dist/{tower/routes/logs → studio/routes/errors}/route.d.ts +1 -1
  317. package/dist/{tower/routes/metrics → studio/routes/errors}/route.d.ts.map +1 -1
  318. package/dist/studio/routes/errors/route.js +42 -0
  319. package/dist/studio/routes/errors/route.js.map +1 -0
  320. package/dist/{tower → studio}/routes/fiberDetail.d.ts +1 -1
  321. package/dist/studio/routes/fiberDetail.d.ts.map +1 -0
  322. package/dist/{tower → studio}/routes/fiberDetail.js +8 -9
  323. package/dist/studio/routes/fiberDetail.js.map +1 -0
  324. package/dist/{tower/routes/traces → studio/routes/fibers}/route.d.ts +1 -1
  325. package/dist/studio/routes/fibers/route.d.ts.map +1 -0
  326. package/dist/studio/routes/fibers/route.js +24 -0
  327. package/dist/studio/routes/fibers/route.js.map +1 -0
  328. package/dist/studio/routes/layout.d.ts.map +1 -0
  329. package/{src/tower → dist/studio}/routes/layout.html +1 -1
  330. package/dist/studio/routes/layout.js.map +1 -0
  331. package/dist/{tower/routes/errors → studio/routes/logs}/route.d.ts +1 -1
  332. package/dist/studio/routes/logs/route.d.ts.map +1 -0
  333. package/dist/studio/routes/logs/route.js +29 -0
  334. package/dist/studio/routes/logs/route.js.map +1 -0
  335. package/dist/{tower → studio}/routes/metrics/route.d.ts +1 -1
  336. package/dist/studio/routes/metrics/route.d.ts.map +1 -0
  337. package/dist/studio/routes/metrics/route.js +17 -0
  338. package/dist/studio/routes/metrics/route.js.map +1 -0
  339. package/dist/{tower → studio}/routes/route.d.ts +2 -2
  340. package/dist/studio/routes/route.d.ts.map +1 -0
  341. package/dist/studio/routes/route.js +6 -0
  342. package/dist/studio/routes/route.js.map +1 -0
  343. package/dist/{tower → studio}/routes/routes/route.d.ts +1 -1
  344. package/dist/studio/routes/routes/route.d.ts.map +1 -0
  345. package/dist/{tower → studio}/routes/routes/route.js +3 -6
  346. package/dist/studio/routes/routes/route.js.map +1 -0
  347. package/dist/{tower → studio}/routes/services/route.d.ts +1 -1
  348. package/dist/studio/routes/services/route.d.ts.map +1 -0
  349. package/dist/studio/routes/services/route.js +12 -0
  350. package/dist/studio/routes/services/route.js.map +1 -0
  351. package/dist/{tower → studio}/routes/system/route.d.ts +1 -1
  352. package/dist/studio/routes/system/route.d.ts.map +1 -0
  353. package/dist/studio/routes/system/route.js +18 -0
  354. package/dist/studio/routes/system/route.js.map +1 -0
  355. package/dist/{tower → studio}/routes/traceDetail.d.ts +1 -1
  356. package/dist/studio/routes/traceDetail.d.ts.map +1 -0
  357. package/dist/studio/routes/traceDetail.js +19 -0
  358. package/dist/studio/routes/traceDetail.js.map +1 -0
  359. package/dist/{tower/routes/fibers → studio/routes/traces}/route.d.ts +1 -1
  360. package/dist/studio/routes/traces/route.d.ts.map +1 -0
  361. package/dist/studio/routes/traces/route.js +29 -0
  362. package/dist/studio/routes/traces/route.js.map +1 -0
  363. package/dist/{tower → studio}/routes/tree.d.ts +47 -47
  364. package/dist/studio/routes/tree.d.ts.map +1 -0
  365. package/dist/studio/routes/tree.js.map +1 -0
  366. package/dist/studio/ui/Errors.d.ts +5 -0
  367. package/dist/studio/ui/Errors.d.ts.map +1 -0
  368. package/dist/studio/ui/Errors.js +17 -0
  369. package/dist/studio/ui/Errors.js.map +1 -0
  370. package/dist/{tower → studio}/ui/Fibers.d.ts +7 -7
  371. package/dist/studio/ui/Fibers.d.ts.map +1 -0
  372. package/dist/studio/ui/Fibers.js +134 -0
  373. package/dist/studio/ui/Fibers.js.map +1 -0
  374. package/dist/studio/ui/Logs.d.ts +5 -0
  375. package/dist/studio/ui/Logs.d.ts.map +1 -0
  376. package/dist/{tower → studio}/ui/Logs.js +2 -3
  377. package/dist/studio/ui/Logs.js.map +1 -0
  378. package/dist/studio/ui/Metrics.d.ts +5 -0
  379. package/dist/studio/ui/Metrics.d.ts.map +1 -0
  380. package/dist/{tower → studio}/ui/Metrics.js +4 -11
  381. package/dist/studio/ui/Metrics.js.map +1 -0
  382. package/dist/{tower → studio}/ui/Routes.d.ts +1 -1
  383. package/dist/studio/ui/Routes.d.ts.map +1 -0
  384. package/dist/{tower → studio}/ui/Routes.js +4 -12
  385. package/dist/studio/ui/Routes.js.map +1 -0
  386. package/dist/{tower → studio}/ui/Services.d.ts +1 -1
  387. package/dist/studio/ui/Services.d.ts.map +1 -0
  388. package/dist/{tower → studio}/ui/Services.js +2 -9
  389. package/dist/studio/ui/Services.js.map +1 -0
  390. package/dist/{tower → studio}/ui/Shell.d.ts +2 -2
  391. package/dist/studio/ui/Shell.d.ts.map +1 -0
  392. package/dist/studio/ui/Shell.js +8 -0
  393. package/dist/studio/ui/Shell.js.map +1 -0
  394. package/dist/studio/ui/System.d.ts +5 -0
  395. package/dist/studio/ui/System.d.ts.map +1 -0
  396. package/dist/studio/ui/System.js +36 -0
  397. package/dist/studio/ui/System.js.map +1 -0
  398. package/dist/studio/ui/Traces.d.ts +13 -0
  399. package/dist/studio/ui/Traces.d.ts.map +1 -0
  400. package/dist/studio/ui/Traces.js +182 -0
  401. package/dist/studio/ui/Traces.js.map +1 -0
  402. package/dist/tailscale/TailscaleTunnel.d.ts +16 -0
  403. package/dist/tailscale/TailscaleTunnel.d.ts.map +1 -0
  404. package/dist/{x/tailscale → tailscale}/TailscaleTunnel.js +4 -5
  405. package/dist/tailscale/TailscaleTunnel.js.map +1 -0
  406. package/dist/tailscale/index.d.ts.map +1 -0
  407. package/dist/tailscale/index.js.map +1 -0
  408. package/dist/{x/tailwind → tailwind}/TailwindPlugin.d.ts +5 -5
  409. package/dist/tailwind/TailwindPlugin.d.ts.map +1 -0
  410. package/dist/tailwind/TailwindPlugin.js.map +1 -0
  411. package/dist/tailwind/compile.d.ts.map +1 -0
  412. package/dist/{x/tailwind → tailwind}/compile.js +1 -1
  413. package/dist/tailwind/compile.js.map +1 -0
  414. package/dist/tailwind/index.d.ts +3 -0
  415. package/dist/tailwind/index.d.ts.map +1 -0
  416. package/dist/tailwind/index.js +3 -0
  417. package/dist/tailwind/index.js.map +1 -0
  418. package/dist/tailwind/plugin.d.ts.map +1 -0
  419. package/dist/{x/tailwind → tailwind}/plugin.js +1 -1
  420. package/dist/{x/tailwind → tailwind}/plugin.js.map +1 -1
  421. package/dist/testing/TestLogger.js.map +1 -1
  422. package/dist/testing/utils.d.ts +3 -1
  423. package/dist/testing/utils.d.ts.map +1 -1
  424. package/dist/testing/utils.js +39 -0
  425. package/dist/testing/utils.js.map +1 -1
  426. package/package.json +53 -71
  427. package/src/Cookies.ts +4 -8
  428. package/src/Development.ts +21 -21
  429. package/src/Entity.ts +24 -19
  430. package/src/Fetch.ts +101 -5
  431. package/src/FileRouter.ts +45 -48
  432. package/src/FileRouterCodegen.ts +9 -23
  433. package/src/FileSystem.ts +43 -63
  434. package/src/GlobalLayer.ts +4 -2
  435. package/src/{hyper/HyperHtml.ts → Html.ts} +90 -30
  436. package/src/Route.ts +69 -13
  437. package/src/RouteBody.ts +88 -63
  438. package/src/RouteHttp.ts +152 -114
  439. package/src/RouteMount.ts +4 -4
  440. package/src/RouteSchema.ts +2 -2
  441. package/src/RouteSse.ts +28 -37
  442. package/src/RouteTree.ts +2 -2
  443. package/src/RouteTrie.ts +1 -1
  444. package/src/Socket.ts +17 -27
  445. package/src/Start.ts +39 -47
  446. package/src/System.ts +41 -65
  447. package/src/{ChildProcess.ts → _ChildProcess.ts} +14 -23
  448. package/src/{Docker.ts → _Docker.ts} +1 -1
  449. package/src/{Http.ts → _Http.ts} +0 -28
  450. package/src/{PathPattern.ts → _PathPattern.ts} +105 -0
  451. package/src/{SchemaExtra.ts → _SchemaExtra.ts} +3 -4
  452. package/src/bun/BunChildProcessSpawner.ts +9 -9
  453. package/src/bun/BunRoute.ts +130 -45
  454. package/src/bun/BunServer.ts +4 -3
  455. package/src/bundler/BundleRoute.ts +2 -2
  456. package/src/cli/Argument.ts +45 -0
  457. package/src/cli/CliError.ts +68 -0
  458. package/src/cli/Command.ts +685 -0
  459. package/src/cli/Flag.ts +63 -0
  460. package/src/cli/HelpDoc.ts +67 -0
  461. package/src/cli/Param.ts +418 -0
  462. package/src/cli/Primitive.ts +94 -0
  463. package/src/cli/index.ts +7 -0
  464. package/src/{x/cloudflare → cloudflare}/CloudflareTunnel.ts +1 -1
  465. package/src/datastar/watchers/patchElements.ts +4 -2
  466. package/src/index.ts +2 -0
  467. package/src/jsx-runtime.ts +15 -0
  468. package/src/{hyper/jsx.d.ts → jsx.d.ts} +3 -3
  469. package/src/lint/plugin.js +86 -97
  470. package/src/node/NodeFileSystem.ts +15 -14
  471. package/src/sql/SqlCache.ts +14 -1
  472. package/src/sql/SqlClient.ts +1 -1
  473. package/src/{SqlIntrospect.ts → sql/SqlIntrospect.ts} +1 -1
  474. package/src/sql/bun/index.ts +1 -1
  475. package/src/sql/index.ts +1 -0
  476. package/src/sql/libsql/index.ts +1 -1
  477. package/src/sql/mssql/index.ts +1 -1
  478. package/src/studio/Studio.ts +47 -0
  479. package/src/{tower/TowerErrors.ts → studio/StudioErrors.ts} +13 -13
  480. package/src/{tower/TowerLogger.ts → studio/StudioLogger.ts} +10 -10
  481. package/src/{tower/TowerMetrics.ts → studio/StudioMetrics.ts} +5 -5
  482. package/src/{tower/TowerProcess.ts → studio/StudioProcess.ts} +4 -4
  483. package/src/{tower/TowerStore.ts → studio/StudioStore.ts} +37 -37
  484. package/src/{tower/TowerTracer.ts → studio/StudioTracer.ts} +25 -25
  485. package/src/studio/index.ts +3 -0
  486. package/src/{tower → studio}/routes/errors/route.tsx +7 -8
  487. package/src/{tower → studio}/routes/fiberDetail.tsx +9 -10
  488. package/src/{tower → studio}/routes/fibers/route.tsx +13 -14
  489. package/src/studio/routes/layout.html +340 -0
  490. package/src/{tower → studio}/routes/logs/route.tsx +7 -8
  491. package/src/{tower → studio}/routes/metrics/route.tsx +8 -9
  492. package/src/studio/routes/route.tsx +8 -0
  493. package/src/{tower → studio}/routes/routes/route.tsx +3 -4
  494. package/src/{tower → studio}/routes/services/route.tsx +3 -4
  495. package/src/{tower → studio}/routes/system/route.tsx +8 -9
  496. package/src/{tower → studio}/routes/traceDetail.tsx +6 -7
  497. package/src/{tower → studio}/routes/traces/route.tsx +8 -9
  498. package/src/{tower → studio}/ui/Errors.tsx +3 -3
  499. package/src/{tower → studio}/ui/Fibers.tsx +7 -7
  500. package/src/{tower → studio}/ui/Logs.tsx +3 -3
  501. package/src/{tower → studio}/ui/Metrics.tsx +4 -4
  502. package/src/{tower → studio}/ui/Shell.tsx +1 -1
  503. package/src/{tower → studio}/ui/System.tsx +2 -2
  504. package/src/{tower → studio}/ui/Traces.tsx +16 -16
  505. package/src/{x/tailscale → tailscale}/TailscaleTunnel.ts +4 -5
  506. package/src/{x/tailwind → tailwind}/compile.ts +1 -1
  507. package/src/tailwind/index.ts +2 -0
  508. package/src/{x/tailwind → tailwind}/plugin.ts +1 -1
  509. package/src/testing/utils.ts +59 -0
  510. package/dist/ChildProcess.d.ts.map +0 -1
  511. package/dist/ChildProcess.js.map +0 -1
  512. package/dist/Commander.d.ts +0 -101
  513. package/dist/Commander.d.ts.map +0 -1
  514. package/dist/Commander.js +0 -327
  515. package/dist/Commander.js.map +0 -1
  516. package/dist/ContentNegotiation.d.ts.map +0 -1
  517. package/dist/ContentNegotiation.js.map +0 -1
  518. package/dist/Docker.d.ts.map +0 -1
  519. package/dist/Docker.js.map +0 -1
  520. package/dist/Effectify.d.ts.map +0 -1
  521. package/dist/Effectify.js.map +0 -1
  522. package/dist/FilePathPattern.d.ts +0 -30
  523. package/dist/FilePathPattern.d.ts.map +0 -1
  524. package/dist/FilePathPattern.js +0 -87
  525. package/dist/FilePathPattern.js.map +0 -1
  526. package/dist/Http.d.ts.map +0 -1
  527. package/dist/Http.js.map +0 -1
  528. package/dist/PathPattern.d.ts.map +0 -1
  529. package/dist/PathPattern.js.map +0 -1
  530. package/dist/PlatformError.d.ts +0 -39
  531. package/dist/PlatformError.d.ts.map +0 -1
  532. package/dist/PlatformError.js +0 -26
  533. package/dist/PlatformError.js.map +0 -1
  534. package/dist/SchemaExtra.d.ts +0 -8
  535. package/dist/SchemaExtra.d.ts.map +0 -1
  536. package/dist/SchemaExtra.js.map +0 -1
  537. package/dist/SqlIntrospect.d.ts.map +0 -1
  538. package/dist/SqlIntrospect.js.map +0 -1
  539. package/dist/StartApp.d.ts.map +0 -1
  540. package/dist/StartApp.js.map +0 -1
  541. package/dist/StreamExtra.d.ts.map +0 -1
  542. package/dist/StreamExtra.js.map +0 -1
  543. package/dist/TuplePathPattern.d.ts +0 -10
  544. package/dist/TuplePathPattern.d.ts.map +0 -1
  545. package/dist/TuplePathPattern.js +0 -69
  546. package/dist/TuplePathPattern.js.map +0 -1
  547. package/dist/Values.d.ts.map +0 -1
  548. package/dist/Values.js.map +0 -1
  549. package/dist/hyper/Hyper.d.ts +0 -26
  550. package/dist/hyper/Hyper.d.ts.map +0 -1
  551. package/dist/hyper/Hyper.js +0 -24
  552. package/dist/hyper/Hyper.js.map +0 -1
  553. package/dist/hyper/HyperHtml.d.ts +0 -24
  554. package/dist/hyper/HyperHtml.d.ts.map +0 -1
  555. package/dist/hyper/HyperHtml.js.map +0 -1
  556. package/dist/hyper/HyperHtml.test.d.ts +0 -2
  557. package/dist/hyper/HyperHtml.test.d.ts.map +0 -1
  558. package/dist/hyper/HyperHtml.test.js +0 -283
  559. package/dist/hyper/HyperHtml.test.js.map +0 -1
  560. package/dist/hyper/HyperNode.d.ts +0 -15
  561. package/dist/hyper/HyperNode.d.ts.map +0 -1
  562. package/dist/hyper/HyperNode.js +0 -12
  563. package/dist/hyper/HyperNode.js.map +0 -1
  564. package/dist/hyper/HyperRoute.d.ts +0 -9
  565. package/dist/hyper/HyperRoute.d.ts.map +0 -1
  566. package/dist/hyper/HyperRoute.js +0 -33
  567. package/dist/hyper/HyperRoute.js.map +0 -1
  568. package/dist/hyper/HyperRoute.test.d.ts +0 -2
  569. package/dist/hyper/HyperRoute.test.d.ts.map +0 -1
  570. package/dist/hyper/HyperRoute.test.js +0 -86
  571. package/dist/hyper/HyperRoute.test.js.map +0 -1
  572. package/dist/hyper/html.d.ts +0 -11
  573. package/dist/hyper/html.d.ts.map +0 -1
  574. package/dist/hyper/html.js +0 -31
  575. package/dist/hyper/html.js.map +0 -1
  576. package/dist/hyper/index.d.ts +0 -7
  577. package/dist/hyper/index.d.ts.map +0 -1
  578. package/dist/hyper/index.js +0 -6
  579. package/dist/hyper/index.js.map +0 -1
  580. package/dist/hyper/jsx-runtime.d.ts +0 -8
  581. package/dist/hyper/jsx-runtime.d.ts.map +0 -1
  582. package/dist/hyper/jsx-runtime.js.map +0 -1
  583. package/dist/tower/Simulation.d.ts.map +0 -1
  584. package/dist/tower/Simulation.js.map +0 -1
  585. package/dist/tower/Tower.d.ts.map +0 -1
  586. package/dist/tower/Tower.js +0 -30
  587. package/dist/tower/Tower.js.map +0 -1
  588. package/dist/tower/TowerErrors.d.ts +0 -4
  589. package/dist/tower/TowerErrors.d.ts.map +0 -1
  590. package/dist/tower/TowerErrors.js.map +0 -1
  591. package/dist/tower/TowerLogger.d.ts.map +0 -1
  592. package/dist/tower/TowerLogger.js.map +0 -1
  593. package/dist/tower/TowerMetrics.d.ts +0 -4
  594. package/dist/tower/TowerMetrics.d.ts.map +0 -1
  595. package/dist/tower/TowerMetrics.js.map +0 -1
  596. package/dist/tower/TowerProcess.d.ts +0 -4
  597. package/dist/tower/TowerProcess.d.ts.map +0 -1
  598. package/dist/tower/TowerProcess.js.map +0 -1
  599. package/dist/tower/TowerStore.d.ts.map +0 -1
  600. package/dist/tower/TowerStore.js.map +0 -1
  601. package/dist/tower/TowerTracer.d.ts +0 -4
  602. package/dist/tower/TowerTracer.d.ts.map +0 -1
  603. package/dist/tower/TowerTracer.js.map +0 -1
  604. package/dist/tower/index.d.ts +0 -4
  605. package/dist/tower/index.d.ts.map +0 -1
  606. package/dist/tower/index.js +0 -4
  607. package/dist/tower/index.js.map +0 -1
  608. package/dist/tower/routes/errors/route.d.ts.map +0 -1
  609. package/dist/tower/routes/errors/route.js +0 -47
  610. package/dist/tower/routes/errors/route.js.map +0 -1
  611. package/dist/tower/routes/fiberDetail.d.ts.map +0 -1
  612. package/dist/tower/routes/fiberDetail.js.map +0 -1
  613. package/dist/tower/routes/fibers/route.d.ts.map +0 -1
  614. package/dist/tower/routes/fibers/route.js +0 -27
  615. package/dist/tower/routes/fibers/route.js.map +0 -1
  616. package/dist/tower/routes/layout.d.ts.map +0 -1
  617. package/dist/tower/routes/layout.js.map +0 -1
  618. package/dist/tower/routes/logs/route.d.ts.map +0 -1
  619. package/dist/tower/routes/logs/route.js +0 -36
  620. package/dist/tower/routes/logs/route.js.map +0 -1
  621. package/dist/tower/routes/metrics/route.js +0 -20
  622. package/dist/tower/routes/metrics/route.js.map +0 -1
  623. package/dist/tower/routes/route.d.ts.map +0 -1
  624. package/dist/tower/routes/route.js +0 -6
  625. package/dist/tower/routes/route.js.map +0 -1
  626. package/dist/tower/routes/routes/route.d.ts.map +0 -1
  627. package/dist/tower/routes/routes/route.js.map +0 -1
  628. package/dist/tower/routes/services/route.d.ts.map +0 -1
  629. package/dist/tower/routes/services/route.js +0 -15
  630. package/dist/tower/routes/services/route.js.map +0 -1
  631. package/dist/tower/routes/system/route.d.ts.map +0 -1
  632. package/dist/tower/routes/system/route.js +0 -21
  633. package/dist/tower/routes/system/route.js.map +0 -1
  634. package/dist/tower/routes/traceDetail.d.ts.map +0 -1
  635. package/dist/tower/routes/traceDetail.js +0 -20
  636. package/dist/tower/routes/traceDetail.js.map +0 -1
  637. package/dist/tower/routes/traces/route.d.ts.map +0 -1
  638. package/dist/tower/routes/traces/route.js +0 -36
  639. package/dist/tower/routes/traces/route.js.map +0 -1
  640. package/dist/tower/routes/tree.d.ts.map +0 -1
  641. package/dist/tower/routes/tree.js.map +0 -1
  642. package/dist/tower/ui/Errors.d.ts +0 -5
  643. package/dist/tower/ui/Errors.d.ts.map +0 -1
  644. package/dist/tower/ui/Errors.js +0 -30
  645. package/dist/tower/ui/Errors.js.map +0 -1
  646. package/dist/tower/ui/Fibers.d.ts.map +0 -1
  647. package/dist/tower/ui/Fibers.js +0 -157
  648. package/dist/tower/ui/Fibers.js.map +0 -1
  649. package/dist/tower/ui/Logs.d.ts +0 -5
  650. package/dist/tower/ui/Logs.d.ts.map +0 -1
  651. package/dist/tower/ui/Logs.js.map +0 -1
  652. package/dist/tower/ui/Metrics.d.ts +0 -5
  653. package/dist/tower/ui/Metrics.d.ts.map +0 -1
  654. package/dist/tower/ui/Metrics.js.map +0 -1
  655. package/dist/tower/ui/Routes.d.ts.map +0 -1
  656. package/dist/tower/ui/Routes.js.map +0 -1
  657. package/dist/tower/ui/Services.d.ts.map +0 -1
  658. package/dist/tower/ui/Services.js.map +0 -1
  659. package/dist/tower/ui/Shell.d.ts.map +0 -1
  660. package/dist/tower/ui/Shell.js +0 -12
  661. package/dist/tower/ui/Shell.js.map +0 -1
  662. package/dist/tower/ui/System.d.ts +0 -5
  663. package/dist/tower/ui/System.d.ts.map +0 -1
  664. package/dist/tower/ui/System.js +0 -65
  665. package/dist/tower/ui/System.js.map +0 -1
  666. package/dist/tower/ui/Traces.d.ts +0 -13
  667. package/dist/tower/ui/Traces.d.ts.map +0 -1
  668. package/dist/tower/ui/Traces.js +0 -219
  669. package/dist/tower/ui/Traces.js.map +0 -1
  670. package/dist/x/cloudflare/CloudflareTunnel.d.ts +0 -11
  671. package/dist/x/cloudflare/CloudflareTunnel.d.ts.map +0 -1
  672. package/dist/x/cloudflare/CloudflareTunnel.js.map +0 -1
  673. package/dist/x/cloudflare/index.d.ts.map +0 -1
  674. package/dist/x/cloudflare/index.js.map +0 -1
  675. package/dist/x/tailscale/TailscaleTunnel.d.ts +0 -16
  676. package/dist/x/tailscale/TailscaleTunnel.d.ts.map +0 -1
  677. package/dist/x/tailscale/TailscaleTunnel.js.map +0 -1
  678. package/dist/x/tailscale/index.d.ts.map +0 -1
  679. package/dist/x/tailscale/index.js.map +0 -1
  680. package/dist/x/tailwind/TailwindPlugin.d.ts.map +0 -1
  681. package/dist/x/tailwind/TailwindPlugin.js.map +0 -1
  682. package/dist/x/tailwind/compile.d.ts.map +0 -1
  683. package/dist/x/tailwind/compile.js.map +0 -1
  684. package/dist/x/tailwind/plugin.d.ts.map +0 -1
  685. package/src/Commander.ts +0 -585
  686. package/src/FilePathPattern.ts +0 -115
  687. package/src/PlatformError.ts +0 -73
  688. package/src/TuplePathPattern.ts +0 -75
  689. package/src/hyper/Hyper.ts +0 -55
  690. package/src/hyper/HyperNode.ts +0 -34
  691. package/src/hyper/HyperRoute.ts +0 -59
  692. package/src/hyper/html.ts +0 -47
  693. package/src/hyper/index.ts +0 -6
  694. package/src/hyper/jsx-runtime.ts +0 -15
  695. package/src/tower/Tower.ts +0 -47
  696. package/src/tower/index.ts +0 -3
  697. package/src/tower/routes/route.tsx +0 -8
  698. /package/dist/{x/cloudflare → cloudflare}/index.d.ts +0 -0
  699. /package/dist/{x/cloudflare → cloudflare}/index.js +0 -0
  700. /package/dist/{tower → studio}/Simulation.d.ts +0 -0
  701. /package/dist/{tower → studio}/Simulation.js +0 -0
  702. /package/dist/{tower → studio}/routes/layout.d.ts +0 -0
  703. /package/dist/{tower → studio}/routes/layout.js +0 -0
  704. /package/dist/{tower → studio}/routes/tree.js +0 -0
  705. /package/dist/{x/tailscale → tailscale}/index.d.ts +0 -0
  706. /package/dist/{x/tailscale → tailscale}/index.js +0 -0
  707. /package/dist/{x/tailwind → tailwind}/TailwindPlugin.js +0 -0
  708. /package/dist/{x/tailwind → tailwind}/compile.d.ts +0 -0
  709. /package/dist/{x/tailwind → tailwind}/plugin.d.ts +0 -0
  710. /package/src/{ContentNegotiation.ts → _ContentNegotiation.ts} +0 -0
  711. /package/src/{Effectify.ts → _Effectify.ts} +0 -0
  712. /package/src/{StartApp.ts → _StartApp.ts} +0 -0
  713. /package/src/{StreamExtra.ts → _StreamExtra.ts} +0 -0
  714. /package/src/{Values.ts → _Values.ts} +0 -0
  715. /package/src/{x/cloudflare → cloudflare}/index.ts +0 -0
  716. /package/src/{tower → studio}/Simulation.ts +0 -0
  717. /package/src/{tower → studio}/routes/layout.tsx +0 -0
  718. /package/src/{tower → studio}/routes/tree.ts +0 -0
  719. /package/src/{tower → studio}/ui/Routes.tsx +0 -0
  720. /package/src/{tower → studio}/ui/Services.tsx +0 -0
  721. /package/src/{x/tailscale → tailscale}/index.ts +0 -0
  722. /package/src/{x/tailwind → tailwind}/TailwindPlugin.ts +0 -0
@@ -3,9 +3,9 @@ import * as Effect from "effect/Effect"
3
3
  import * as Layer from "effect/Layer"
4
4
  import * as PubSub from "effect/PubSub"
5
5
  import * as Schedule from "effect/Schedule"
6
- import * as TowerStore from "./TowerStore.ts"
6
+ import * as StudioStore from "./StudioStore.ts"
7
7
 
8
- function snapshot(): TowerStore.ProcessStats {
8
+ function snapshot(): StudioStore.ProcessStats {
9
9
  const mem = process.memoryUsage()
10
10
  const cpu = process.cpuUsage()
11
11
  const res = process.resourceUsage()
@@ -41,9 +41,9 @@ function snapshot(): TowerStore.ProcessStats {
41
41
  }
42
42
  }
43
43
 
44
- export const layer: Layer.Layer<never, never, TowerStore.TowerStore> = Layer.scopedDiscard(
44
+ export const layer: Layer.Layer<never, never, StudioStore.StudioStore> = Layer.scopedDiscard(
45
45
  Effect.gen(function* () {
46
- const store = yield* TowerStore.TowerStore
46
+ const store = yield* StudioStore.StudioStore
47
47
 
48
48
  yield* Effect.forkScoped(
49
49
  Effect.schedule(
@@ -8,16 +8,16 @@ import * as Schema from "effect/Schema"
8
8
  import * as Unique from "../Unique.ts"
9
9
  import * as SqlClient from "../sql/SqlClient.ts"
10
10
 
11
- export let store: TowerStoreShape = GlobalValue.globalValue(
12
- Symbol.for("effect-start/TowerStore"),
11
+ export let store: StudioStoreShape = GlobalValue.globalValue(
12
+ Symbol.for("effect-start/StudioStore"),
13
13
  () => ({
14
- prefix: "/tower",
14
+ prefix: "/studio",
15
15
  sql: undefined as unknown as SqlClient.SqlClient,
16
- events: Effect.runSync(PubSub.unbounded<TowerEvent>()),
16
+ events: Effect.runSync(PubSub.unbounded<StudioEvent>()),
17
17
  spanCapacity: 1000,
18
18
  logCapacity: 5000,
19
19
  errorCapacity: 1000,
20
- metrics: [] as Array<TowerMetricSnapshot>,
20
+ metrics: [] as Array<StudioMetricSnapshot>,
21
21
  process: undefined as ProcessStats | undefined,
22
22
  }),
23
23
  )
@@ -32,7 +32,7 @@ export const nextSpanId = () => nextPackedId()
32
32
 
33
33
  export const nextTraceId = () => nextPackedId()
34
34
 
35
- export interface TowerSpan {
35
+ export interface StudioSpan {
36
36
  readonly spanId: bigint
37
37
  readonly traceId: bigint
38
38
  readonly fiberId: string | undefined
@@ -47,7 +47,7 @@ export interface TowerSpan {
47
47
  readonly events: Array<{ name: string; startTime: bigint; attributes?: Record<string, unknown> }>
48
48
  }
49
49
 
50
- export interface TowerLog {
50
+ export interface StudioLog {
51
51
  readonly id: bigint
52
52
  readonly level: "DEBUG" | "INFO" | "WARNING" | "ERROR" | "FATAL"
53
53
  readonly message: string
@@ -87,7 +87,7 @@ export interface ProcessStats {
87
87
  }
88
88
  }
89
89
 
90
- export interface TowerErrorDetail {
90
+ export interface StudioErrorDetail {
91
91
  readonly kind: "fail" | "die"
92
92
  readonly tag: string | undefined
93
93
  readonly message: string
@@ -95,15 +95,15 @@ export interface TowerErrorDetail {
95
95
  readonly span: string | undefined
96
96
  }
97
97
 
98
- export interface TowerError {
98
+ export interface StudioError {
99
99
  readonly id: bigint
100
100
  readonly fiberId: string
101
101
  readonly interrupted: boolean
102
102
  readonly prettyPrint: string
103
- readonly details: Array<TowerErrorDetail>
103
+ readonly details: Array<StudioErrorDetail>
104
104
  }
105
105
 
106
- export interface TowerMetricSnapshot {
106
+ export interface StudioMetricSnapshot {
107
107
  readonly name: string
108
108
  readonly type: "counter" | "gauge" | "histogram" | "summary" | "frequency"
109
109
  readonly value: unknown
@@ -111,12 +111,12 @@ export interface TowerMetricSnapshot {
111
111
  readonly timestamp: number
112
112
  }
113
113
 
114
- export type TowerEvent =
115
- | { readonly _tag: "SpanStart"; readonly span: TowerSpan }
116
- | { readonly _tag: "SpanEnd"; readonly span: TowerSpan }
117
- | { readonly _tag: "Log"; readonly log: TowerLog }
118
- | { readonly _tag: "Error"; readonly error: TowerError }
119
- | { readonly _tag: "MetricsSnapshot"; readonly metrics: Array<TowerMetricSnapshot> }
114
+ export type StudioEvent =
115
+ | { readonly _tag: "SpanStart"; readonly span: StudioSpan }
116
+ | { readonly _tag: "SpanEnd"; readonly span: StudioSpan }
117
+ | { readonly _tag: "Log"; readonly log: StudioLog }
118
+ | { readonly _tag: "Error"; readonly error: StudioError }
119
+ | { readonly _tag: "MetricsSnapshot"; readonly metrics: Array<StudioMetricSnapshot> }
120
120
  | { readonly _tag: "ProcessSnapshot"; readonly stats: ProcessStats }
121
121
 
122
122
  export interface FiberContext {
@@ -125,14 +125,14 @@ export interface FiberContext {
125
125
  readonly annotations: Record<string, unknown>
126
126
  }
127
127
 
128
- export interface TowerStoreShape {
128
+ export interface StudioStoreShape {
129
129
  prefix: string
130
130
  readonly sql: SqlClient.SqlClient
131
- readonly events: PubSub.PubSub<TowerEvent>
131
+ readonly events: PubSub.PubSub<StudioEvent>
132
132
  readonly spanCapacity: number
133
133
  readonly logCapacity: number
134
134
  readonly errorCapacity: number
135
- metrics: Array<TowerMetricSnapshot>
135
+ metrics: Array<StudioMetricSnapshot>
136
136
  process: ProcessStats | undefined
137
137
  }
138
138
 
@@ -143,12 +143,12 @@ export function fiberIdCounter(): number {
143
143
  return MutableRef.get(counter)
144
144
  }
145
145
 
146
- export class TowerStore extends Context.Tag("effect-start/TowerStore")<
147
- TowerStore,
148
- TowerStoreShape
146
+ export class StudioStore extends Context.Tag("effect-start/StudioStore")<
147
+ StudioStore,
148
+ StudioStoreShape
149
149
  >() {}
150
150
 
151
- export interface TowerStoreOptions {
151
+ export interface StudioStoreOptions {
152
152
  readonly spanCapacity?: number
153
153
  readonly logCapacity?: number
154
154
  readonly errorCapacity?: number
@@ -195,10 +195,10 @@ const DDL = [
195
195
  ]
196
196
 
197
197
  export function layer(
198
- options?: TowerStoreOptions,
199
- ): Layer.Layer<TowerStore, SqlClient.SqlError, SqlClient.SqlClient> {
198
+ options?: StudioStoreOptions,
199
+ ): Layer.Layer<StudioStore, SqlClient.SqlError, SqlClient.SqlClient> {
200
200
  return Layer.effect(
201
- TowerStore,
201
+ StudioStore,
202
202
  Effect.gen(function* () {
203
203
  const sql = yield* SqlClient.SqlClient
204
204
  for (const ddl of DDL) {
@@ -287,8 +287,8 @@ export const FiberRow = Schema.Struct({
287
287
  })
288
288
  type FiberRow = typeof FiberRow.Type
289
289
 
290
- function deserializeSpan(row: SpanRow): TowerSpan {
291
- const events = reviveBigint(JSON.parse(row.events)) as TowerSpan["events"]
290
+ function deserializeSpan(row: SpanRow): StudioSpan {
291
+ const events = reviveBigint(JSON.parse(row.events)) as StudioSpan["events"]
292
292
  return {
293
293
  spanId: BigInt(row.spanId),
294
294
  traceId: BigInt(row.traceId),
@@ -299,16 +299,16 @@ function deserializeSpan(row: SpanRow): TowerSpan {
299
299
  startTime: BigInt(row.startTime),
300
300
  endTime: row.endTime ? BigInt(row.endTime) : undefined,
301
301
  durationMs: row.durationMs ?? undefined,
302
- status: row.status as TowerSpan["status"],
302
+ status: row.status as StudioSpan["status"],
303
303
  attributes: JSON.parse(row.attributes),
304
304
  events,
305
305
  }
306
306
  }
307
307
 
308
- function deserializeLog(row: LogRow): TowerLog {
308
+ function deserializeLog(row: LogRow): StudioLog {
309
309
  return {
310
310
  id: BigInt(row.id),
311
- level: row.level as TowerLog["level"],
311
+ level: row.level as StudioLog["level"],
312
312
  message: row.message,
313
313
  fiberId: row.fiberId,
314
314
  cause: row.cause ?? undefined,
@@ -317,7 +317,7 @@ function deserializeLog(row: LogRow): TowerLog {
317
317
  }
318
318
  }
319
319
 
320
- function deserializeError(row: ErrorRow): TowerError {
320
+ function deserializeError(row: ErrorRow): StudioError {
321
321
  return {
322
322
  id: BigInt(row.id),
323
323
  fiberId: row.fiberId,
@@ -327,7 +327,7 @@ function deserializeError(row: ErrorRow): TowerError {
327
327
  }
328
328
  }
329
329
 
330
- export function insertSpan(sql: SqlClient.SqlClient, span: TowerSpan) {
330
+ export function insertSpan(sql: SqlClient.SqlClient, span: StudioSpan) {
331
331
  return sql`INSERT INTO Span ${sql({
332
332
  spanId: span.spanId,
333
333
  traceId: span.traceId,
@@ -344,7 +344,7 @@ export function insertSpan(sql: SqlClient.SqlClient, span: TowerSpan) {
344
344
  })}`
345
345
  }
346
346
 
347
- export function updateSpan(sql: SqlClient.SqlClient, span: TowerSpan) {
347
+ export function updateSpan(sql: SqlClient.SqlClient, span: StudioSpan) {
348
348
  return sql`UPDATE Span SET
349
349
  endTime = ${span.endTime?.toString() ?? null},
350
350
  durationMs = ${span.durationMs ?? null},
@@ -354,7 +354,7 @@ export function updateSpan(sql: SqlClient.SqlClient, span: TowerSpan) {
354
354
  WHERE spanId = ${span.spanId}`
355
355
  }
356
356
 
357
- export function insertLog(sql: SqlClient.SqlClient, log: TowerLog) {
357
+ export function insertLog(sql: SqlClient.SqlClient, log: StudioLog) {
358
358
  return sql`INSERT INTO Log ${sql({
359
359
  id: log.id,
360
360
  level: log.level,
@@ -366,7 +366,7 @@ export function insertLog(sql: SqlClient.SqlClient, log: TowerLog) {
366
366
  })}`
367
367
  }
368
368
 
369
- export function insertError(sql: SqlClient.SqlClient, error: TowerError) {
369
+ export function insertError(sql: SqlClient.SqlClient, error: StudioError) {
370
370
  return sql`INSERT INTO Error ${sql({
371
371
  id: error.id,
372
372
  fiberId: error.fiberId,
@@ -6,9 +6,9 @@ import * as Layer from "effect/Layer"
6
6
  import * as Option from "effect/Option"
7
7
  import * as PubSub from "effect/PubSub"
8
8
  import * as Tracer from "effect/Tracer"
9
- import * as TowerStore from "./TowerStore.ts"
9
+ import * as StudioStore from "./StudioStore.ts"
10
10
 
11
- const publish = (store: TowerStore.TowerStoreShape, event: TowerStore.TowerEvent) =>
11
+ const publish = (store: StudioStore.StudioStoreShape, event: StudioStore.StudioEvent) =>
12
12
  Effect.runSync(PubSub.publish(store.events, event))
13
13
 
14
14
  const fromTracerId = (id: string): bigint | undefined => {
@@ -19,7 +19,7 @@ const fromTracerId = (id: string): bigint | undefined => {
19
19
  }
20
20
  }
21
21
 
22
- const make = (store: TowerStore.TowerStoreShape): Tracer.Tracer =>
22
+ const make = (store: StudioStore.StudioStoreShape): Tracer.Tracer =>
23
23
  Tracer.make({
24
24
  span(name, parent, context, links, startTime, kind, options) {
25
25
  const parentSpanId =
@@ -27,8 +27,8 @@ const make = (store: TowerStore.TowerStoreShape): Tracer.Tracer =>
27
27
  ? fromTracerId(parent.value.spanId)
28
28
  : undefined
29
29
  const parentTraceId = Option.isSome(parent) ? fromTracerId(parent.value.traceId) : undefined
30
- const traceId = parentTraceId ?? TowerStore.nextTraceId()
31
- const spanId = TowerStore.nextSpanId()
30
+ const traceId = parentTraceId ?? StudioStore.nextTraceId()
31
+ const spanId = StudioStore.nextSpanId()
32
32
 
33
33
  const attributes: Record<string, unknown> = {}
34
34
  const currentFiber = Fiber.getCurrentFiber()
@@ -45,7 +45,7 @@ const make = (store: TowerStore.TowerStoreShape): Tracer.Tracer =>
45
45
  }
46
46
  }
47
47
 
48
- const towerSpan: TowerStore.TowerSpan = {
48
+ const studioSpan: StudioStore.StudioSpan = {
49
49
  spanId,
50
50
  traceId,
51
51
  fiberId,
@@ -60,13 +60,13 @@ const make = (store: TowerStore.TowerStoreShape): Tracer.Tracer =>
60
60
  events: [],
61
61
  }
62
62
 
63
- TowerStore.runWrite(
63
+ StudioStore.runWrite(
64
64
  Effect.zipRight(
65
- TowerStore.insertSpan(store.sql, towerSpan),
66
- TowerStore.evict(store.sql, "Span", store.spanCapacity),
65
+ StudioStore.insertSpan(store.sql, studioSpan),
66
+ StudioStore.evict(store.sql, "Span", store.spanCapacity),
67
67
  ),
68
68
  )
69
- publish(store, { _tag: "SpanStart", span: towerSpan })
69
+ publish(store, { _tag: "SpanStart", span: studioSpan })
70
70
 
71
71
  const attrs = new Map<string, unknown>(Object.entries(attributes))
72
72
  const spanLinks = [...links]
@@ -79,35 +79,35 @@ const make = (store: TowerStore.TowerStoreShape): Tracer.Tracer =>
79
79
  parent,
80
80
  context,
81
81
  get status(): Tracer.SpanStatus {
82
- if (towerSpan.endTime != null) {
82
+ if (studioSpan.endTime != null) {
83
83
  return {
84
84
  _tag: "Ended",
85
- startTime: towerSpan.startTime,
86
- endTime: towerSpan.endTime,
85
+ startTime: studioSpan.startTime,
86
+ endTime: studioSpan.endTime,
87
87
  exit: Exit.void,
88
88
  }
89
89
  }
90
- return { _tag: "Started", startTime: towerSpan.startTime }
90
+ return { _tag: "Started", startTime: studioSpan.startTime }
91
91
  },
92
92
  attributes: attrs,
93
93
  links: spanLinks,
94
94
  sampled: true,
95
95
  kind,
96
96
  end(endTime, exit) {
97
- towerSpan.endTime = endTime
98
- towerSpan.durationMs = Number(endTime - towerSpan.startTime) / 1_000_000
99
- towerSpan.status = Exit.isSuccess(exit) ? "ok" : "error"
100
- TowerStore.runWrite(TowerStore.updateSpan(store.sql, towerSpan))
101
- publish(store, { _tag: "SpanEnd", span: towerSpan })
97
+ studioSpan.endTime = endTime
98
+ studioSpan.durationMs = Number(endTime - studioSpan.startTime) / 1_000_000
99
+ studioSpan.status = Exit.isSuccess(exit) ? "ok" : "error"
100
+ StudioStore.runWrite(StudioStore.updateSpan(store.sql, studioSpan))
101
+ publish(store, { _tag: "SpanEnd", span: studioSpan })
102
102
  },
103
103
  attribute(key, value) {
104
104
  attrs.set(key, value)
105
- ;(towerSpan.attributes as Record<string, unknown>)[key] = value
106
- TowerStore.runWrite(TowerStore.updateSpan(store.sql, towerSpan))
105
+ ;(studioSpan.attributes as Record<string, unknown>)[key] = value
106
+ StudioStore.runWrite(StudioStore.updateSpan(store.sql, studioSpan))
107
107
  },
108
108
  event(name, startTime, attributes) {
109
- towerSpan.events.push({ name, startTime, attributes })
110
- TowerStore.runWrite(TowerStore.updateSpan(store.sql, towerSpan))
109
+ studioSpan.events.push({ name, startTime, attributes })
110
+ StudioStore.runWrite(StudioStore.updateSpan(store.sql, studioSpan))
111
111
  },
112
112
  addLinks(newLinks) {
113
113
  spanLinks.push(...newLinks)
@@ -120,9 +120,9 @@ const make = (store: TowerStore.TowerStoreShape): Tracer.Tracer =>
120
120
  },
121
121
  })
122
122
 
123
- export const layer: Layer.Layer<never, never, TowerStore.TowerStore> = Layer.unwrapEffect(
123
+ export const layer: Layer.Layer<never, never, StudioStore.StudioStore> = Layer.unwrapEffect(
124
124
  Effect.gen(function* () {
125
- const store = yield* TowerStore.TowerStore
125
+ const store = yield* StudioStore.StudioStore
126
126
  return Layer.setTracer(make(store))
127
127
  }),
128
128
  )
@@ -0,0 +1,3 @@
1
+ export * as Studio from "./Studio.ts"
2
+ export * as StudioStore from "./StudioStore.ts"
3
+ export * as Simulation from "./Simulation.ts"
@@ -1,19 +1,18 @@
1
1
  import * as Stream from "effect/Stream"
2
2
  import * as Route from "../../../Route.ts"
3
- import * as HyperHtml from "../../../hyper/HyperHtml.ts"
4
- import * as HyperRoute from "../../../hyper/HyperRoute.ts"
5
- import * as TowerStore from "../../TowerStore.ts"
3
+ import * as Html from "../../../Html.ts"
4
+ import * as StudioStore from "../../StudioStore.ts"
6
5
  import * as Errors from "../../ui/Errors.tsx"
7
6
  import * as Shell from "../../ui/Shell.tsx"
8
7
 
9
- const prefix = TowerStore.store.prefix
8
+ const prefix = StudioStore.store.prefix
10
9
 
11
10
  export default Route.get(
12
- HyperRoute.html(function* (ctx) {
11
+ Route.html(function* (ctx) {
13
12
  const url = new URL(ctx.request.url)
14
13
  const search = url.searchParams.get("errorSearch") || ""
15
14
  const tag = url.searchParams.get("errorTag") || ""
16
- const allErrors = yield* TowerStore.allErrors(TowerStore.store.sql)
15
+ const allErrors = yield* StudioStore.allErrors(StudioStore.store.sql)
17
16
  const tagSet = new Set<string>()
18
17
  for (const error of allErrors) {
19
18
  for (const d of error.details) {
@@ -73,10 +72,10 @@ export default Route.get(
73
72
  )
74
73
  }),
75
74
  Route.sse(
76
- Stream.fromPubSub(TowerStore.store.events).pipe(
75
+ Stream.fromPubSub(StudioStore.store.events).pipe(
77
76
  Stream.filter((e) => e._tag === "Error"),
78
77
  Stream.map((e) => {
79
- const html = HyperHtml.renderToString(<Errors.ErrorLine error={e.error} />).replace(
78
+ const html = Html.renderToString(<Errors.ErrorLine error={e.error} />).replace(
80
79
  /\n/g,
81
80
  "",
82
81
  )
@@ -2,22 +2,21 @@ import * as Schema from "effect/Schema"
2
2
  import * as Route from "../../Route.ts"
3
3
  import * as RouteSchema from "../../RouteSchema.ts"
4
4
  import * as Unique from "../../Unique.ts"
5
- import * as HyperRoute from "../../hyper/HyperRoute.ts"
6
- import * as TowerStore from "../TowerStore.ts"
5
+ import * as StudioStore from "../StudioStore.ts"
7
6
  import * as Fibers from "../ui/Fibers.tsx"
8
7
  import * as Shell from "../ui/Shell.tsx"
9
8
 
10
9
  export default Route.get(
11
10
  RouteSchema.schemaPathParams(Schema.Struct({ id: Schema.String })),
12
- HyperRoute.html(function* (ctx) {
11
+ Route.html(function* (ctx) {
13
12
  const fiberId = ctx.pathParams.id
14
13
  const fiberName = fiberId.startsWith("#") ? fiberId : `#${fiberId}`
15
14
 
16
- const fiberLogs = yield* TowerStore.logsByFiberId(TowerStore.store.sql, fiberName)
17
- const fiberSpans = yield* TowerStore.spansByFiberId(TowerStore.store.sql, fiberName)
15
+ const fiberLogs = yield* StudioStore.logsByFiberId(StudioStore.store.sql, fiberName)
16
+ const fiberSpans = yield* StudioStore.spansByFiberId(StudioStore.store.sql, fiberName)
18
17
 
19
18
  const fiberNum = parseInt(fiberName.slice(1), 10)
20
- const counter = TowerStore.fiberIdCounter()
19
+ const counter = StudioStore.fiberIdCounter()
21
20
  let alive: "alive" | "dead" | "unknown" = "unknown"
22
21
  if (!isNaN(fiberNum)) {
23
22
  if (fiberNum < counter) alive = "dead"
@@ -31,13 +30,13 @@ export default Route.get(
31
30
  else if (fiberNum < counter) alive = "dead"
32
31
  }
33
32
 
34
- const parents = yield* TowerStore.getParentChain(TowerStore.store.sql, fiberName)
35
- const fiberContext = yield* TowerStore.getFiberContext(TowerStore.store.sql, fiberName)
33
+ const parents = yield* StudioStore.getParentChain(StudioStore.store.sql, fiberName)
34
+ const fiberContext = yield* StudioStore.getFiberContext(StudioStore.store.sql, fiberName)
36
35
 
37
36
  return (
38
- <Shell.Shell prefix={TowerStore.store.prefix} active="fibers">
37
+ <Shell.Shell prefix={StudioStore.store.prefix} active="fibers">
39
38
  <Fibers.FiberDetail
40
- prefix={TowerStore.store.prefix}
39
+ prefix={StudioStore.store.prefix}
41
40
  fiberId={fiberName}
42
41
  logs={fiberLogs}
43
42
  spans={fiberSpans}
@@ -1,39 +1,38 @@
1
1
  import * as Effect from "effect/Effect"
2
2
  import * as Stream from "effect/Stream"
3
3
  import * as Route from "../../../Route.ts"
4
- import * as HyperHtml from "../../../hyper/HyperHtml.ts"
5
- import * as HyperRoute from "../../../hyper/HyperRoute.ts"
6
- import * as TowerStore from "../../TowerStore.ts"
4
+ import * as Html from "../../../Html.ts"
5
+ import * as StudioStore from "../../StudioStore.ts"
7
6
  import * as Fibers from "../../ui/Fibers.tsx"
8
7
  import * as Shell from "../../ui/Shell.tsx"
9
8
 
10
9
  export default Route.get(
11
- HyperRoute.html(function* () {
12
- const logs = yield* TowerStore.allLogs(TowerStore.store.sql)
13
- const spans = yield* TowerStore.allSpans(TowerStore.store.sql)
10
+ Route.html(function* () {
11
+ const logs = yield* StudioStore.allLogs(StudioStore.store.sql)
12
+ const spans = yield* StudioStore.allSpans(StudioStore.store.sql)
14
13
  const fibers = Fibers.collectFibers(logs, spans)
15
14
  return (
16
- <Shell.Shell prefix={TowerStore.store.prefix} active="fibers">
15
+ <Shell.Shell prefix={StudioStore.store.prefix} active="fibers">
17
16
  <div style="display:flex;flex-direction:column;flex:1;overflow:hidden">
18
17
  <div class="tab-header">Fibers</div>
19
18
  <div id="fibers-container" class="tab-body">
20
- <Fibers.FiberList fibers={fibers} prefix={TowerStore.store.prefix} />
19
+ <Fibers.FiberList fibers={fibers} prefix={StudioStore.store.prefix} />
21
20
  </div>
22
- <div data-init={`@get('${TowerStore.store.prefix}/fibers')`} />
21
+ <div data-init={`@get('${StudioStore.store.prefix}/fibers')`} />
23
22
  </div>
24
23
  </Shell.Shell>
25
24
  )
26
25
  }),
27
26
  Route.sse(
28
- Stream.fromPubSub(TowerStore.store.events).pipe(
27
+ Stream.fromPubSub(StudioStore.store.events).pipe(
29
28
  Stream.filter((e) => e._tag === "SpanStart" || e._tag === "SpanEnd" || e._tag === "Log"),
30
29
  Stream.mapEffect(() =>
31
30
  Effect.gen(function* () {
32
- const logs = yield* TowerStore.allLogs(TowerStore.store.sql)
33
- const spans = yield* TowerStore.allSpans(TowerStore.store.sql)
31
+ const logs = yield* StudioStore.allLogs(StudioStore.store.sql)
32
+ const spans = yield* StudioStore.allSpans(StudioStore.store.sql)
34
33
  const fibers = Fibers.collectFibers(logs, spans)
35
- const html = HyperHtml.renderToString(
36
- <Fibers.FiberList fibers={fibers} prefix={TowerStore.store.prefix} />,
34
+ const html = Html.renderToString(
35
+ <Fibers.FiberList fibers={fibers} prefix={StudioStore.store.prefix} />,
37
36
  ).replace(/\n/g, "")
38
37
  return {
39
38
  event: "datastar-patch-elements",