effect-start 0.26.0 → 0.28.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 (654) hide show
  1. package/dist/ChildProcess.d.ts +60 -0
  2. package/dist/ChildProcess.d.ts.map +1 -0
  3. package/dist/ChildProcess.js +30 -0
  4. package/dist/ChildProcess.js.map +1 -0
  5. package/dist/Commander.d.ts +101 -0
  6. package/dist/Commander.d.ts.map +1 -0
  7. package/dist/Commander.js +327 -0
  8. package/dist/Commander.js.map +1 -0
  9. package/dist/ContentNegotiation.d.ts +13 -0
  10. package/dist/ContentNegotiation.d.ts.map +1 -0
  11. package/dist/ContentNegotiation.js +360 -0
  12. package/dist/ContentNegotiation.js.map +1 -0
  13. package/dist/Cookies.d.ts +78 -0
  14. package/dist/Cookies.d.ts.map +1 -0
  15. package/dist/Cookies.js +303 -0
  16. package/dist/Cookies.js.map +1 -0
  17. package/dist/Development.d.ts +42 -0
  18. package/dist/Development.d.ts.map +1 -0
  19. package/dist/Development.js +60 -0
  20. package/dist/Development.js.map +1 -0
  21. package/dist/Docker.d.ts +51 -0
  22. package/dist/Docker.d.ts.map +1 -0
  23. package/dist/Docker.js +88 -0
  24. package/dist/Docker.js.map +1 -0
  25. package/dist/Effectify.d.ts +210 -0
  26. package/dist/Effectify.d.ts.map +1 -0
  27. package/dist/Effectify.js +20 -0
  28. package/dist/Effectify.js.map +1 -0
  29. package/dist/Entity.d.ts +48 -0
  30. package/dist/Entity.d.ts.map +1 -0
  31. package/dist/Entity.js +235 -0
  32. package/dist/Entity.js.map +1 -0
  33. package/dist/Fetch.d.ts +50 -0
  34. package/dist/Fetch.d.ts.map +1 -0
  35. package/dist/Fetch.js +136 -0
  36. package/dist/Fetch.js.map +1 -0
  37. package/dist/FilePathPattern.d.ts +30 -0
  38. package/dist/FilePathPattern.d.ts.map +1 -0
  39. package/dist/FilePathPattern.js +87 -0
  40. package/dist/FilePathPattern.js.map +1 -0
  41. package/dist/FileRouter.d.ts +57 -0
  42. package/dist/FileRouter.d.ts.map +1 -0
  43. package/dist/FileRouter.js +149 -0
  44. package/dist/FileRouter.js.map +1 -0
  45. package/dist/FileRouterCodegen.d.ts +19 -0
  46. package/dist/FileRouterCodegen.d.ts.map +1 -0
  47. package/dist/FileRouterCodegen.js +228 -0
  48. package/dist/FileRouterCodegen.js.map +1 -0
  49. package/dist/FileSystem.d.ts +159 -0
  50. package/dist/FileSystem.d.ts.map +1 -0
  51. package/dist/FileSystem.js +71 -0
  52. package/dist/FileSystem.js.map +1 -0
  53. package/dist/GlobalLayer.d.ts +4 -0
  54. package/dist/GlobalLayer.d.ts.map +1 -0
  55. package/dist/GlobalLayer.js +51 -0
  56. package/dist/GlobalLayer.js.map +1 -0
  57. package/dist/Http.d.ts +38 -0
  58. package/dist/Http.d.ts.map +1 -0
  59. package/dist/Http.js +89 -0
  60. package/dist/Http.js.map +1 -0
  61. package/dist/PathPattern.d.ts +135 -0
  62. package/dist/PathPattern.d.ts.map +1 -0
  63. package/dist/PathPattern.js +414 -0
  64. package/dist/PathPattern.js.map +1 -0
  65. package/dist/PlatformError.d.ts +39 -0
  66. package/dist/PlatformError.d.ts.map +1 -0
  67. package/dist/PlatformError.js +26 -0
  68. package/dist/PlatformError.js.map +1 -0
  69. package/dist/PlatformRuntime.d.ts +30 -0
  70. package/dist/PlatformRuntime.d.ts.map +1 -0
  71. package/dist/PlatformRuntime.js +50 -0
  72. package/dist/PlatformRuntime.js.map +1 -0
  73. package/dist/Route.d.ts +98 -0
  74. package/dist/Route.d.ts.map +1 -0
  75. package/dist/Route.js +101 -0
  76. package/dist/Route.js.map +1 -0
  77. package/dist/RouteBody.d.ts +48 -0
  78. package/dist/RouteBody.d.ts.map +1 -0
  79. package/dist/RouteBody.js +68 -0
  80. package/dist/RouteBody.js.map +1 -0
  81. package/dist/RouteError.d.ts +99 -0
  82. package/dist/RouteError.d.ts.map +1 -0
  83. package/dist/RouteError.js +56 -0
  84. package/dist/RouteError.js.map +1 -0
  85. package/dist/RouteHook.d.ts +13 -0
  86. package/dist/RouteHook.d.ts.map +1 -0
  87. package/dist/RouteHook.js +40 -0
  88. package/dist/RouteHook.js.map +1 -0
  89. package/dist/RouteHttp.d.ts +22 -0
  90. package/dist/RouteHttp.d.ts.map +1 -0
  91. package/dist/RouteHttp.js +259 -0
  92. package/dist/RouteHttp.js.map +1 -0
  93. package/dist/RouteHttpTracer.d.ts +11 -0
  94. package/dist/RouteHttpTracer.d.ts.map +1 -0
  95. package/dist/RouteHttpTracer.js +63 -0
  96. package/dist/RouteHttpTracer.js.map +1 -0
  97. package/dist/RouteMount.d.ts +87 -0
  98. package/dist/RouteMount.d.ts.map +1 -0
  99. package/dist/RouteMount.js +64 -0
  100. package/dist/RouteMount.js.map +1 -0
  101. package/dist/RouteSchema.d.ts +87 -0
  102. package/dist/RouteSchema.d.ts.map +1 -0
  103. package/dist/RouteSchema.js +189 -0
  104. package/dist/RouteSchema.js.map +1 -0
  105. package/dist/RouteSse.d.ts +22 -0
  106. package/dist/RouteSse.d.ts.map +1 -0
  107. package/dist/RouteSse.js +80 -0
  108. package/dist/RouteSse.js.map +1 -0
  109. package/dist/RouteTree.d.ts +58 -0
  110. package/dist/RouteTree.d.ts.map +1 -0
  111. package/dist/RouteTree.js +94 -0
  112. package/dist/RouteTree.js.map +1 -0
  113. package/dist/RouteTrie.d.ts +21 -0
  114. package/dist/RouteTrie.d.ts.map +1 -0
  115. package/dist/RouteTrie.js +153 -0
  116. package/dist/RouteTrie.js.map +1 -0
  117. package/dist/SchemaExtra.d.ts +8 -0
  118. package/dist/SchemaExtra.d.ts.map +1 -0
  119. package/dist/SchemaExtra.js +75 -0
  120. package/dist/SchemaExtra.js.map +1 -0
  121. package/dist/Socket.d.ts +28 -0
  122. package/dist/Socket.d.ts.map +1 -0
  123. package/dist/Socket.js +30 -0
  124. package/dist/Socket.js.map +1 -0
  125. package/dist/SqlIntrospect.d.ts +92 -0
  126. package/dist/SqlIntrospect.d.ts.map +1 -0
  127. package/dist/SqlIntrospect.js +478 -0
  128. package/dist/SqlIntrospect.js.map +1 -0
  129. package/dist/Start.d.ts +90 -0
  130. package/dist/Start.d.ts.map +1 -0
  131. package/dist/Start.js +91 -0
  132. package/dist/Start.js.map +1 -0
  133. package/dist/StartApp.d.ts +13 -0
  134. package/dist/StartApp.d.ts.map +1 -0
  135. package/dist/StartApp.js +4 -0
  136. package/dist/StartApp.js.map +1 -0
  137. package/dist/StreamExtra.d.ts +29 -0
  138. package/dist/StreamExtra.d.ts.map +1 -0
  139. package/dist/StreamExtra.js +101 -0
  140. package/dist/StreamExtra.js.map +1 -0
  141. package/dist/System.d.ts +9 -0
  142. package/dist/System.d.ts.map +1 -0
  143. package/dist/System.js +61 -0
  144. package/dist/System.js.map +1 -0
  145. package/dist/TuplePathPattern.d.ts +10 -0
  146. package/dist/TuplePathPattern.d.ts.map +1 -0
  147. package/dist/TuplePathPattern.js +69 -0
  148. package/dist/TuplePathPattern.js.map +1 -0
  149. package/dist/Unique.d.ts +68 -0
  150. package/dist/Unique.d.ts.map +1 -0
  151. package/dist/Unique.js +225 -0
  152. package/dist/Unique.js.map +1 -0
  153. package/dist/Values.d.ts +30 -0
  154. package/dist/Values.d.ts.map +1 -0
  155. package/dist/Values.js +46 -0
  156. package/dist/Values.js.map +1 -0
  157. package/dist/bun/BunBundle.d.ts +12 -0
  158. package/dist/bun/BunBundle.d.ts.map +1 -0
  159. package/dist/bun/BunBundle.js +138 -0
  160. package/dist/bun/BunBundle.js.map +1 -0
  161. package/dist/bun/BunChildProcessSpawner.d.ts +4 -0
  162. package/dist/bun/BunChildProcessSpawner.d.ts.map +1 -0
  163. package/dist/bun/BunChildProcessSpawner.js +99 -0
  164. package/dist/bun/BunChildProcessSpawner.js.map +1 -0
  165. package/dist/bun/BunImportTrackerPlugin.d.ts +14 -0
  166. package/dist/bun/BunImportTrackerPlugin.d.ts.map +1 -0
  167. package/dist/bun/BunImportTrackerPlugin.js +70 -0
  168. package/dist/bun/BunImportTrackerPlugin.js.map +1 -0
  169. package/dist/bun/BunRoute.d.ts +49 -0
  170. package/dist/bun/BunRoute.d.ts.map +1 -0
  171. package/dist/bun/BunRoute.js +122 -0
  172. package/dist/bun/BunRoute.js.map +1 -0
  173. package/dist/bun/BunRuntime.d.ts +3 -0
  174. package/dist/bun/BunRuntime.d.ts.map +1 -0
  175. package/dist/bun/BunRuntime.js +30 -0
  176. package/dist/bun/BunRuntime.js.map +1 -0
  177. package/dist/bun/BunServer.d.ts +52 -0
  178. package/dist/bun/BunServer.d.ts.map +1 -0
  179. package/dist/bun/BunServer.js +262 -0
  180. package/dist/bun/BunServer.js.map +1 -0
  181. package/dist/bun/BunVirtualFilesPlugin.d.ts +5 -0
  182. package/dist/bun/BunVirtualFilesPlugin.d.ts.map +1 -0
  183. package/dist/bun/BunVirtualFilesPlugin.js +41 -0
  184. package/dist/bun/BunVirtualFilesPlugin.js.map +1 -0
  185. package/dist/bun/_BunEnhancedResolve.d.ts +46 -0
  186. package/dist/bun/_BunEnhancedResolve.d.ts.map +1 -0
  187. package/dist/bun/_BunEnhancedResolve.js +103 -0
  188. package/dist/bun/_BunEnhancedResolve.js.map +1 -0
  189. package/dist/bun/index.d.ts +6 -0
  190. package/dist/bun/index.d.ts.map +1 -0
  191. package/dist/bun/index.js +6 -0
  192. package/dist/bun/index.js.map +1 -0
  193. package/dist/bundler/Bundle.d.ts +62 -0
  194. package/dist/bundler/Bundle.d.ts.map +1 -0
  195. package/dist/bundler/Bundle.js +49 -0
  196. package/dist/bundler/Bundle.js.map +1 -0
  197. package/dist/bundler/BundleFiles.d.ts +14 -0
  198. package/dist/bundler/BundleFiles.d.ts.map +1 -0
  199. package/dist/bundler/BundleFiles.js +97 -0
  200. package/dist/bundler/BundleFiles.js.map +1 -0
  201. package/dist/bundler/BundleRoute.d.ts +27 -0
  202. package/dist/bundler/BundleRoute.d.ts.map +1 -0
  203. package/dist/bundler/BundleRoute.js +52 -0
  204. package/dist/bundler/BundleRoute.js.map +1 -0
  205. package/dist/client/Overlay.d.ts +3 -0
  206. package/dist/client/Overlay.d.ts.map +1 -0
  207. package/dist/client/Overlay.js +33 -0
  208. package/dist/client/Overlay.js.map +1 -0
  209. package/dist/client/ScrollState.d.ts +7 -0
  210. package/dist/client/ScrollState.d.ts.map +1 -0
  211. package/dist/client/ScrollState.js +95 -0
  212. package/dist/client/ScrollState.js.map +1 -0
  213. package/dist/client/index.d.ts +7 -0
  214. package/dist/client/index.d.ts.map +1 -0
  215. package/dist/client/index.js +80 -0
  216. package/dist/client/index.js.map +1 -0
  217. package/dist/datastar/actions/fetch.d.ts +31 -0
  218. package/dist/datastar/actions/fetch.d.ts.map +1 -0
  219. package/dist/datastar/actions/fetch.js +404 -0
  220. package/dist/datastar/actions/fetch.js.map +1 -0
  221. package/dist/datastar/actions/peek.d.ts +2 -0
  222. package/dist/datastar/actions/peek.d.ts.map +1 -0
  223. package/dist/datastar/actions/peek.js +14 -0
  224. package/dist/datastar/actions/peek.js.map +1 -0
  225. package/dist/datastar/actions/setAll.d.ts +2 -0
  226. package/dist/datastar/actions/setAll.d.ts.map +1 -0
  227. package/dist/datastar/actions/setAll.js +13 -0
  228. package/dist/datastar/actions/setAll.js.map +1 -0
  229. package/dist/datastar/actions/toggleAll.d.ts +2 -0
  230. package/dist/datastar/actions/toggleAll.d.ts.map +1 -0
  231. package/dist/datastar/actions/toggleAll.js +13 -0
  232. package/dist/datastar/actions/toggleAll.js.map +1 -0
  233. package/dist/datastar/attributes/attr.d.ts +2 -0
  234. package/dist/datastar/attributes/attr.d.ts.map +1 -0
  235. package/dist/datastar/attributes/attr.js +49 -0
  236. package/dist/datastar/attributes/attr.js.map +1 -0
  237. package/dist/datastar/attributes/bind.d.ts +2 -0
  238. package/dist/datastar/attributes/bind.d.ts.map +1 -0
  239. package/dist/datastar/attributes/bind.js +176 -0
  240. package/dist/datastar/attributes/bind.js.map +1 -0
  241. package/dist/datastar/attributes/class.d.ts +2 -0
  242. package/dist/datastar/attributes/class.d.ts.map +1 -0
  243. package/dist/datastar/attributes/class.js +48 -0
  244. package/dist/datastar/attributes/class.js.map +1 -0
  245. package/dist/datastar/attributes/computed.d.ts +2 -0
  246. package/dist/datastar/attributes/computed.d.ts.map +1 -0
  247. package/dist/datastar/attributes/computed.js +27 -0
  248. package/dist/datastar/attributes/computed.js.map +1 -0
  249. package/dist/datastar/attributes/effect.d.ts +2 -0
  250. package/dist/datastar/attributes/effect.d.ts.map +1 -0
  251. package/dist/datastar/attributes/effect.js +10 -0
  252. package/dist/datastar/attributes/effect.js.map +1 -0
  253. package/dist/datastar/attributes/indicator.d.ts +2 -0
  254. package/dist/datastar/attributes/indicator.d.ts.map +1 -0
  255. package/dist/datastar/attributes/indicator.js +31 -0
  256. package/dist/datastar/attributes/indicator.js.map +1 -0
  257. package/dist/datastar/attributes/init.d.ts +2 -0
  258. package/dist/datastar/attributes/init.d.ts.map +1 -0
  259. package/dist/datastar/attributes/init.js +27 -0
  260. package/dist/datastar/attributes/init.js.map +1 -0
  261. package/dist/datastar/attributes/jsonSignals.d.ts +2 -0
  262. package/dist/datastar/attributes/jsonSignals.d.ts.map +1 -0
  263. package/dist/datastar/attributes/jsonSignals.js +31 -0
  264. package/dist/datastar/attributes/jsonSignals.js.map +1 -0
  265. package/dist/datastar/attributes/on.d.ts +2 -0
  266. package/dist/datastar/attributes/on.d.ts.map +1 -0
  267. package/dist/datastar/attributes/on.js +79 -0
  268. package/dist/datastar/attributes/on.js.map +1 -0
  269. package/dist/datastar/attributes/onIntersect.d.ts +2 -0
  270. package/dist/datastar/attributes/onIntersect.d.ts.map +1 -0
  271. package/dist/datastar/attributes/onIntersect.js +54 -0
  272. package/dist/datastar/attributes/onIntersect.js.map +1 -0
  273. package/dist/datastar/attributes/onInterval.d.ts +2 -0
  274. package/dist/datastar/attributes/onInterval.d.ts.map +1 -0
  275. package/dist/datastar/attributes/onInterval.js +31 -0
  276. package/dist/datastar/attributes/onInterval.js.map +1 -0
  277. package/dist/datastar/attributes/onSignalPatch.d.ts +2 -0
  278. package/dist/datastar/attributes/onSignalPatch.d.ts.map +1 -0
  279. package/dist/datastar/attributes/onSignalPatch.js +43 -0
  280. package/dist/datastar/attributes/onSignalPatch.js.map +1 -0
  281. package/dist/datastar/attributes/ref.d.ts +2 -0
  282. package/dist/datastar/attributes/ref.d.ts.map +1 -0
  283. package/dist/datastar/attributes/ref.js +11 -0
  284. package/dist/datastar/attributes/ref.js.map +1 -0
  285. package/dist/datastar/attributes/show.d.ts +2 -0
  286. package/dist/datastar/attributes/show.d.ts.map +1 -0
  287. package/dist/datastar/attributes/show.js +32 -0
  288. package/dist/datastar/attributes/show.js.map +1 -0
  289. package/dist/datastar/attributes/signals.d.ts +2 -0
  290. package/dist/datastar/attributes/signals.d.ts.map +1 -0
  291. package/dist/datastar/attributes/signals.js +18 -0
  292. package/dist/datastar/attributes/signals.js.map +1 -0
  293. package/dist/datastar/attributes/style.d.ts +2 -0
  294. package/dist/datastar/attributes/style.d.ts.map +1 -0
  295. package/dist/datastar/attributes/style.js +51 -0
  296. package/dist/datastar/attributes/style.js.map +1 -0
  297. package/dist/datastar/attributes/text.d.ts +2 -0
  298. package/dist/datastar/attributes/text.d.ts.map +1 -0
  299. package/dist/datastar/attributes/text.js +27 -0
  300. package/dist/datastar/attributes/text.js.map +1 -0
  301. package/dist/datastar/engine.d.ts +163 -0
  302. package/dist/datastar/engine.d.ts.map +1 -0
  303. package/dist/datastar/engine.js +1000 -0
  304. package/dist/datastar/engine.js.map +1 -0
  305. package/dist/datastar/index.d.ts +25 -0
  306. package/dist/datastar/index.d.ts.map +1 -0
  307. package/dist/datastar/index.js +25 -0
  308. package/dist/datastar/index.js.map +1 -0
  309. package/dist/datastar/utils.d.ts +52 -0
  310. package/dist/datastar/utils.d.ts.map +1 -0
  311. package/dist/datastar/utils.js +203 -0
  312. package/dist/datastar/utils.js.map +1 -0
  313. package/dist/datastar/watchers/patchElements.d.ts +2 -0
  314. package/dist/datastar/watchers/patchElements.d.ts.map +1 -0
  315. package/dist/datastar/watchers/patchElements.js +398 -0
  316. package/dist/datastar/watchers/patchElements.js.map +1 -0
  317. package/dist/datastar/watchers/patchSignals.d.ts +2 -0
  318. package/dist/datastar/watchers/patchSignals.d.ts.map +1 -0
  319. package/dist/datastar/watchers/patchSignals.js +15 -0
  320. package/dist/datastar/watchers/patchSignals.js.map +1 -0
  321. package/dist/experimental/EncryptedCookies.d.ts +49 -0
  322. package/dist/experimental/EncryptedCookies.d.ts.map +1 -0
  323. package/dist/experimental/EncryptedCookies.js +213 -0
  324. package/dist/experimental/EncryptedCookies.js.map +1 -0
  325. package/dist/experimental/index.d.ts +2 -0
  326. package/dist/experimental/index.d.ts.map +1 -0
  327. package/dist/experimental/index.js +2 -0
  328. package/dist/experimental/index.js.map +1 -0
  329. package/dist/hyper/Hyper.d.ts +26 -0
  330. package/dist/hyper/Hyper.d.ts.map +1 -0
  331. package/dist/hyper/Hyper.js +24 -0
  332. package/dist/hyper/Hyper.js.map +1 -0
  333. package/dist/hyper/HyperHtml.d.ts +24 -0
  334. package/dist/hyper/HyperHtml.d.ts.map +1 -0
  335. package/dist/hyper/HyperHtml.js +153 -0
  336. package/dist/hyper/HyperHtml.js.map +1 -0
  337. package/dist/hyper/HyperHtml.test.d.ts +2 -0
  338. package/dist/hyper/HyperHtml.test.d.ts.map +1 -0
  339. package/dist/hyper/HyperHtml.test.js +283 -0
  340. package/dist/hyper/HyperHtml.test.js.map +1 -0
  341. package/dist/hyper/HyperNode.d.ts +15 -0
  342. package/dist/hyper/HyperNode.d.ts.map +1 -0
  343. package/dist/hyper/HyperNode.js +12 -0
  344. package/dist/hyper/HyperNode.js.map +1 -0
  345. package/dist/hyper/HyperRoute.d.ts +9 -0
  346. package/dist/hyper/HyperRoute.d.ts.map +1 -0
  347. package/dist/hyper/HyperRoute.js +33 -0
  348. package/dist/hyper/HyperRoute.js.map +1 -0
  349. package/dist/hyper/HyperRoute.test.d.ts +2 -0
  350. package/dist/hyper/HyperRoute.test.d.ts.map +1 -0
  351. package/dist/hyper/HyperRoute.test.js +86 -0
  352. package/dist/hyper/HyperRoute.test.js.map +1 -0
  353. package/dist/hyper/html.d.ts +11 -0
  354. package/dist/hyper/html.d.ts.map +1 -0
  355. package/dist/hyper/html.js +31 -0
  356. package/dist/hyper/html.js.map +1 -0
  357. package/dist/hyper/index.d.ts +7 -0
  358. package/dist/hyper/index.d.ts.map +1 -0
  359. package/dist/hyper/index.js +6 -0
  360. package/dist/hyper/index.js.map +1 -0
  361. package/dist/hyper/jsx-runtime.d.ts +8 -0
  362. package/dist/hyper/jsx-runtime.d.ts.map +1 -0
  363. package/dist/hyper/jsx-runtime.js +9 -0
  364. package/dist/hyper/jsx-runtime.js.map +1 -0
  365. package/dist/index.d.ts +9 -0
  366. package/dist/index.d.ts.map +1 -0
  367. package/dist/index.js +9 -0
  368. package/dist/index.js.map +1 -0
  369. package/dist/lint/plugin.d.ts +121 -0
  370. package/dist/lint/plugin.d.ts.map +1 -0
  371. package/dist/lint/plugin.js +537 -0
  372. package/dist/lint/plugin.js.map +1 -0
  373. package/dist/node/NodeFileSystem.d.ts +8 -0
  374. package/dist/node/NodeFileSystem.d.ts.map +1 -0
  375. package/dist/node/NodeFileSystem.js +411 -0
  376. package/dist/node/NodeFileSystem.js.map +1 -0
  377. package/dist/node/NodeUtils.d.ts +3 -0
  378. package/dist/node/NodeUtils.d.ts.map +1 -0
  379. package/dist/node/NodeUtils.js +21 -0
  380. package/dist/node/NodeUtils.js.map +1 -0
  381. package/dist/sql/SqlCache.d.ts +18 -0
  382. package/dist/sql/SqlCache.d.ts.map +1 -0
  383. package/dist/sql/SqlCache.js +31 -0
  384. package/dist/sql/SqlCache.js.map +1 -0
  385. package/dist/sql/SqlClient.d.ts +88 -0
  386. package/dist/sql/SqlClient.d.ts.map +1 -0
  387. package/dist/sql/SqlClient.js +171 -0
  388. package/dist/sql/SqlClient.js.map +1 -0
  389. package/dist/sql/bun/index.d.ts +6 -0
  390. package/dist/sql/bun/index.d.ts.map +1 -0
  391. package/dist/sql/bun/index.js +132 -0
  392. package/dist/sql/bun/index.js.map +1 -0
  393. package/dist/sql/index.d.ts +3 -0
  394. package/dist/sql/index.d.ts.map +1 -0
  395. package/dist/sql/index.js +3 -0
  396. package/dist/sql/index.js.map +1 -0
  397. package/dist/sql/libsql/index.d.ts +15 -0
  398. package/dist/sql/libsql/index.d.ts.map +1 -0
  399. package/dist/sql/libsql/index.js +132 -0
  400. package/dist/sql/libsql/index.js.map +1 -0
  401. package/dist/sql/mssql/index.d.ts +8 -0
  402. package/dist/sql/mssql/index.d.ts.map +1 -0
  403. package/dist/sql/mssql/index.js +145 -0
  404. package/dist/sql/mssql/index.js.map +1 -0
  405. package/dist/sql/postgres/index.d.ts +7 -0
  406. package/dist/sql/postgres/index.d.ts.map +1 -0
  407. package/dist/sql/postgres/index.js +136 -0
  408. package/dist/sql/postgres/index.js.map +1 -0
  409. package/dist/testing/TestLogger.d.ts +14 -0
  410. package/dist/testing/TestLogger.d.ts.map +1 -0
  411. package/dist/testing/TestLogger.js +33 -0
  412. package/dist/testing/TestLogger.js.map +1 -0
  413. package/dist/testing/index.d.ts +3 -0
  414. package/dist/testing/index.d.ts.map +1 -0
  415. package/dist/testing/index.js +3 -0
  416. package/dist/testing/index.js.map +1 -0
  417. package/dist/testing/utils.d.ts +10 -0
  418. package/dist/testing/utils.d.ts.map +1 -0
  419. package/dist/testing/utils.js +40 -0
  420. package/dist/testing/utils.js.map +1 -0
  421. package/dist/tower/Simulation.d.ts +3 -0
  422. package/dist/tower/Simulation.d.ts.map +1 -0
  423. package/dist/tower/Simulation.js +606 -0
  424. package/dist/tower/Simulation.js.map +1 -0
  425. package/dist/tower/Tower.d.ts +11 -0
  426. package/dist/tower/Tower.d.ts.map +1 -0
  427. package/dist/tower/Tower.js +30 -0
  428. package/dist/tower/Tower.js.map +1 -0
  429. package/dist/tower/TowerErrors.d.ts +4 -0
  430. package/dist/tower/TowerErrors.d.ts.map +1 -0
  431. package/dist/tower/TowerErrors.js +200 -0
  432. package/dist/tower/TowerErrors.js.map +1 -0
  433. package/dist/tower/TowerLogger.d.ts +2 -0
  434. package/dist/tower/TowerLogger.d.ts.map +1 -0
  435. package/dist/tower/TowerLogger.js +46 -0
  436. package/dist/tower/TowerLogger.js.map +1 -0
  437. package/dist/tower/TowerMetrics.d.ts +4 -0
  438. package/dist/tower/TowerMetrics.d.ts.map +1 -0
  439. package/dist/tower/TowerMetrics.js +62 -0
  440. package/dist/tower/TowerMetrics.js.map +1 -0
  441. package/dist/tower/TowerProcess.d.ts +4 -0
  442. package/dist/tower/TowerProcess.d.ts.map +1 -0
  443. package/dist/tower/TowerProcess.js +50 -0
  444. package/dist/tower/TowerProcess.js.map +1 -0
  445. package/dist/tower/TowerStore.d.ts +199 -0
  446. package/dist/tower/TowerStore.d.ts.map +1 -0
  447. package/dist/tower/TowerStore.js +307 -0
  448. package/dist/tower/TowerStore.js.map +1 -0
  449. package/dist/tower/TowerTracer.d.ts +4 -0
  450. package/dist/tower/TowerTracer.d.ts.map +1 -0
  451. package/dist/tower/TowerTracer.js +111 -0
  452. package/dist/tower/TowerTracer.js.map +1 -0
  453. package/dist/tower/index.d.ts +4 -0
  454. package/dist/tower/index.d.ts.map +1 -0
  455. package/dist/tower/index.js +4 -0
  456. package/dist/tower/index.js.map +1 -0
  457. package/dist/tower/routes/errors/route.d.ts +11 -0
  458. package/dist/tower/routes/errors/route.d.ts.map +1 -0
  459. package/dist/tower/routes/errors/route.js +47 -0
  460. package/dist/tower/routes/errors/route.js.map +1 -0
  461. package/dist/tower/routes/fiberDetail.d.ts +17 -0
  462. package/dist/tower/routes/fiberDetail.d.ts.map +1 -0
  463. package/dist/tower/routes/fiberDetail.js +35 -0
  464. package/dist/tower/routes/fiberDetail.js.map +1 -0
  465. package/dist/tower/routes/fibers/route.d.ts +11 -0
  466. package/dist/tower/routes/fibers/route.d.ts.map +1 -0
  467. package/dist/tower/routes/fibers/route.js +27 -0
  468. package/dist/tower/routes/fibers/route.js.map +1 -0
  469. package/dist/tower/routes/layout.d.ts +10 -0
  470. package/dist/tower/routes/layout.d.ts.map +1 -0
  471. package/dist/tower/routes/layout.js +4 -0
  472. package/dist/tower/routes/layout.js.map +1 -0
  473. package/dist/tower/routes/logs/route.d.ts +11 -0
  474. package/dist/tower/routes/logs/route.d.ts.map +1 -0
  475. package/dist/tower/routes/logs/route.js +36 -0
  476. package/dist/tower/routes/logs/route.js.map +1 -0
  477. package/dist/tower/routes/metrics/route.d.ts +11 -0
  478. package/dist/tower/routes/metrics/route.d.ts.map +1 -0
  479. package/dist/tower/routes/metrics/route.js +20 -0
  480. package/dist/tower/routes/metrics/route.js.map +1 -0
  481. package/dist/tower/routes/route.d.ts +7 -0
  482. package/dist/tower/routes/route.d.ts.map +1 -0
  483. package/dist/tower/routes/route.js +6 -0
  484. package/dist/tower/routes/route.js.map +1 -0
  485. package/dist/tower/routes/routes/route.d.ts +7 -0
  486. package/dist/tower/routes/routes/route.d.ts.map +1 -0
  487. package/dist/tower/routes/routes/route.js +23 -0
  488. package/dist/tower/routes/routes/route.js.map +1 -0
  489. package/dist/tower/routes/services/route.d.ts +7 -0
  490. package/dist/tower/routes/services/route.d.ts.map +1 -0
  491. package/dist/tower/routes/services/route.js +15 -0
  492. package/dist/tower/routes/services/route.js.map +1 -0
  493. package/dist/tower/routes/system/route.d.ts +11 -0
  494. package/dist/tower/routes/system/route.d.ts.map +1 -0
  495. package/dist/tower/routes/system/route.js +21 -0
  496. package/dist/tower/routes/system/route.js.map +1 -0
  497. package/dist/tower/routes/traceDetail.d.ts +17 -0
  498. package/dist/tower/routes/traceDetail.d.ts.map +1 -0
  499. package/dist/tower/routes/traceDetail.js +20 -0
  500. package/dist/tower/routes/traceDetail.js.map +1 -0
  501. package/dist/tower/routes/traces/route.d.ts +11 -0
  502. package/dist/tower/routes/traces/route.d.ts.map +1 -0
  503. package/dist/tower/routes/traces/route.js +36 -0
  504. package/dist/tower/routes/traces/route.js.map +1 -0
  505. package/dist/tower/routes/tree.d.ts +142 -0
  506. package/dist/tower/routes/tree.d.ts.map +1 -0
  507. package/dist/tower/routes/tree.js +28 -0
  508. package/dist/tower/routes/tree.js.map +1 -0
  509. package/dist/tower/ui/Errors.d.ts +5 -0
  510. package/dist/tower/ui/Errors.d.ts.map +1 -0
  511. package/dist/tower/ui/Errors.js +30 -0
  512. package/dist/tower/ui/Errors.js.map +1 -0
  513. package/dist/tower/ui/Fibers.d.ts +25 -0
  514. package/dist/tower/ui/Fibers.d.ts.map +1 -0
  515. package/dist/tower/ui/Fibers.js +157 -0
  516. package/dist/tower/ui/Fibers.js.map +1 -0
  517. package/dist/tower/ui/Logs.d.ts +5 -0
  518. package/dist/tower/ui/Logs.d.ts.map +1 -0
  519. package/dist/tower/ui/Logs.js +28 -0
  520. package/dist/tower/ui/Logs.js.map +1 -0
  521. package/dist/tower/ui/Metrics.d.ts +5 -0
  522. package/dist/tower/ui/Metrics.d.ts.map +1 -0
  523. package/dist/tower/ui/Metrics.js +34 -0
  524. package/dist/tower/ui/Metrics.js.map +1 -0
  525. package/dist/tower/ui/Routes.d.ts +9 -0
  526. package/dist/tower/ui/Routes.d.ts.map +1 -0
  527. package/dist/tower/ui/Routes.js +79 -0
  528. package/dist/tower/ui/Routes.js.map +1 -0
  529. package/dist/tower/ui/Services.d.ts +11 -0
  530. package/dist/tower/ui/Services.d.ts.map +1 -0
  531. package/dist/tower/ui/Services.js +254 -0
  532. package/dist/tower/ui/Services.js.map +1 -0
  533. package/dist/tower/ui/Shell.d.ts +11 -0
  534. package/dist/tower/ui/Shell.d.ts.map +1 -0
  535. package/dist/tower/ui/Shell.js +12 -0
  536. package/dist/tower/ui/Shell.js.map +1 -0
  537. package/dist/tower/ui/System.d.ts +5 -0
  538. package/dist/tower/ui/System.d.ts.map +1 -0
  539. package/dist/tower/ui/System.js +65 -0
  540. package/dist/tower/ui/System.js.map +1 -0
  541. package/dist/tower/ui/Traces.d.ts +13 -0
  542. package/dist/tower/ui/Traces.d.ts.map +1 -0
  543. package/dist/tower/ui/Traces.js +219 -0
  544. package/dist/tower/ui/Traces.js.map +1 -0
  545. package/dist/x/cloudflare/CloudflareTunnel.d.ts +11 -0
  546. package/dist/x/cloudflare/CloudflareTunnel.d.ts.map +1 -0
  547. package/dist/x/cloudflare/CloudflareTunnel.js +31 -0
  548. package/dist/x/cloudflare/CloudflareTunnel.js.map +1 -0
  549. package/dist/x/cloudflare/index.d.ts +2 -0
  550. package/dist/x/cloudflare/index.d.ts.map +1 -0
  551. package/dist/x/cloudflare/index.js +2 -0
  552. package/dist/x/cloudflare/index.js.map +1 -0
  553. package/dist/x/tailscale/TailscaleTunnel.d.ts +16 -0
  554. package/dist/x/tailscale/TailscaleTunnel.d.ts.map +1 -0
  555. package/dist/x/tailscale/TailscaleTunnel.js +66 -0
  556. package/dist/x/tailscale/TailscaleTunnel.js.map +1 -0
  557. package/dist/x/tailscale/index.d.ts +2 -0
  558. package/dist/x/tailscale/index.d.ts.map +1 -0
  559. package/dist/x/tailscale/index.js +2 -0
  560. package/dist/x/tailscale/index.js.map +1 -0
  561. package/dist/x/tailwind/TailwindPlugin.d.ts +24 -0
  562. package/dist/x/tailwind/TailwindPlugin.d.ts.map +1 -0
  563. package/dist/x/tailwind/TailwindPlugin.js +220 -0
  564. package/dist/x/tailwind/TailwindPlugin.js.map +1 -0
  565. package/dist/x/tailwind/compile.d.ts +20 -0
  566. package/dist/x/tailwind/compile.d.ts.map +1 -0
  567. package/dist/x/tailwind/compile.js +155 -0
  568. package/dist/x/tailwind/compile.js.map +1 -0
  569. package/dist/x/tailwind/plugin.d.ts +3 -0
  570. package/dist/x/tailwind/plugin.d.ts.map +1 -0
  571. package/dist/x/tailwind/plugin.js +16 -0
  572. package/dist/x/tailwind/plugin.js.map +1 -0
  573. package/package.json +104 -21
  574. package/src/ChildProcess.ts +3 -6
  575. package/src/Docker.ts +190 -0
  576. package/src/Effectify.ts +7 -10
  577. package/src/Entity.ts +6 -6
  578. package/src/FileRouterCodegen.ts +4 -4
  579. package/src/FileSystem.ts +4 -11
  580. package/src/GlobalLayer.ts +85 -0
  581. package/src/PlatformRuntime.ts +8 -1
  582. package/src/RouteHook.ts +2 -2
  583. package/src/RouteSse.ts +3 -3
  584. package/src/SqlIntrospect.ts +13 -11
  585. package/src/Start.ts +112 -1
  586. package/src/System.ts +60 -3
  587. package/src/Unique.ts +59 -0
  588. package/src/Values.ts +11 -0
  589. package/src/bun/BunChildProcessSpawner.ts +1 -8
  590. package/src/bun/BunRoute.ts +2 -1
  591. package/src/bun/BunRuntime.ts +6 -12
  592. package/src/bun/BunServer.ts +54 -2
  593. package/src/datastar/watchers/patchElements.ts +0 -1
  594. package/src/hyper/HyperHtml.ts +11 -7
  595. package/src/hyper/jsx.d.ts +1 -1
  596. package/src/lint/plugin.js +239 -4
  597. package/src/sql/SqlCache.ts +50 -0
  598. package/src/sql/SqlClient.ts +400 -0
  599. package/src/sql/bun/index.ts +126 -57
  600. package/src/sql/index.ts +2 -1
  601. package/src/sql/libsql/index.ts +133 -85
  602. package/src/sql/libsql/libsql.d.ts +4 -1
  603. package/src/sql/mssql/index.ts +149 -120
  604. package/src/sql/mssql/mssql.d.ts +1 -0
  605. package/src/sql/postgres/index.ts +254 -0
  606. package/src/testing/TestLogger.ts +4 -4
  607. package/src/{console → tower}/Simulation.ts +10 -48
  608. package/src/tower/Tower.ts +47 -0
  609. package/src/{console/ConsoleErrors.ts → tower/TowerErrors.ts} +34 -23
  610. package/src/tower/TowerLogger.ts +52 -0
  611. package/src/{console/ConsoleMetrics.ts → tower/TowerMetrics.ts} +5 -5
  612. package/src/{console/ConsoleProcess.ts → tower/TowerProcess.ts} +4 -4
  613. package/src/tower/TowerStore.ts +505 -0
  614. package/src/tower/TowerTracer.ts +128 -0
  615. package/src/tower/index.ts +3 -0
  616. package/src/{console → tower}/routes/errors/route.tsx +26 -33
  617. package/src/{console → tower}/routes/fiberDetail.tsx +12 -15
  618. package/src/tower/routes/fibers/route.tsx +46 -0
  619. package/src/{console/console.html → tower/routes/layout.html} +1 -1
  620. package/src/{console → tower}/routes/layout.tsx +1 -1
  621. package/src/{console → tower}/routes/logs/route.tsx +12 -16
  622. package/src/{console → tower}/routes/metrics/route.tsx +5 -5
  623. package/src/tower/routes/route.tsx +8 -0
  624. package/src/{console → tower}/routes/routes/route.tsx +2 -2
  625. package/src/{console → tower}/routes/services/route.tsx +2 -2
  626. package/src/{console → tower}/routes/system/route.tsx +5 -5
  627. package/src/tower/routes/traceDetail.tsx +30 -0
  628. package/src/{console → tower}/routes/traces/route.tsx +25 -34
  629. package/src/{console → tower}/routes/tree.ts +0 -2
  630. package/src/{console → tower}/ui/Errors.tsx +19 -15
  631. package/src/{console → tower}/ui/Fibers.tsx +83 -68
  632. package/src/{console → tower}/ui/Logs.tsx +20 -16
  633. package/src/{console → tower}/ui/Metrics.tsx +18 -18
  634. package/src/{console → tower}/ui/Routes.tsx +14 -14
  635. package/src/{console → tower}/ui/Services.tsx +9 -9
  636. package/src/tower/ui/Shell.tsx +74 -0
  637. package/src/{console → tower}/ui/System.tsx +40 -30
  638. package/src/{console → tower}/ui/Traces.tsx +73 -80
  639. package/src/x/cloudflare/CloudflareTunnel.ts +1 -1
  640. package/src/x/tailscale/TailscaleTunnel.ts +3 -3
  641. package/src/x/tailwind/compile.ts +11 -14
  642. package/src/console/Console.ts +0 -42
  643. package/src/console/ConsoleLogger.ts +0 -56
  644. package/src/console/ConsoleStore.ts +0 -187
  645. package/src/console/ConsoleTracer.ts +0 -107
  646. package/src/console/index.ts +0 -3
  647. package/src/console/routes/fibers/route.tsx +0 -45
  648. package/src/console/routes/git/route.tsx +0 -64
  649. package/src/console/routes/route.tsx +0 -8
  650. package/src/console/routes/traceDetail.tsx +0 -22
  651. package/src/console/ui/Git.tsx +0 -182
  652. package/src/console/ui/Shell.tsx +0 -62
  653. package/src/sql/Sql.ts +0 -51
  654. package/src/sql/mssql/docker.ts +0 -117
@@ -1,4 +1,5 @@
1
- import * as ConsoleStore from "../ConsoleStore.ts"
1
+ import * as Unique from "../../Unique.ts"
2
+ import * as TowerStore from "../TowerStore.ts"
2
3
  import * as Logs from "./Logs.tsx"
3
4
 
4
5
  function formatDuration(ms: number | undefined): string {
@@ -8,22 +9,26 @@ function formatDuration(ms: number | undefined): string {
8
9
  return `${(ms / 1000).toFixed(2)}s`
9
10
  }
10
11
 
11
- function KeyValue({ label, value }: { label: string; value: string | undefined | null }) {
12
- if (value == null) return null
12
+ function KeyValue(options: { label: string; value: string | number | bigint | undefined | null }) {
13
+ if (options.value == null) return null
13
14
  return (
14
15
  <div style="display:flex;gap:8px;padding:4px 0;border-bottom:1px solid #1e293b;font-size:12px">
15
- <span style="color:#64748b;min-width:120px">{label}</span>
16
- <span style="color:#e2e8f0;font-family:monospace;word-break:break-all">{value}</span>
16
+ <span style="color:#64748b;min-width:120px">{options.label}</span>
17
+ <span style="color:#e2e8f0;font-family:monospace;word-break:break-all">
18
+ {String(options.value)}
19
+ </span>
17
20
  </div>
18
21
  )
19
22
  }
20
23
 
21
- function StatusBadge({ status }: { status: string }) {
22
- const bg = status === "ok" ? "#166534" : status === "error" ? "#7f1d1d" : "#713f12"
23
- const fg = status === "ok" ? "#4ade80" : status === "error" ? "#fca5a5" : "#fde047"
24
+ function StatusBadge(options: { status: string }) {
25
+ const bg =
26
+ options.status === "ok" ? "#166534" : options.status === "error" ? "#7f1d1d" : "#713f12"
27
+ const fg =
28
+ options.status === "ok" ? "#4ade80" : options.status === "error" ? "#fca5a5" : "#fde047"
24
29
  return (
25
30
  <span style={`font-size:11px;padding:2px 8px;border-radius:4px;background:${bg};color:${fg}`}>
26
- {status}
31
+ {options.status}
27
32
  </span>
28
33
  )
29
34
  }
@@ -32,7 +37,7 @@ export interface FiberSummary {
32
37
  readonly id: string
33
38
  logCount: number
34
39
  spanCount: number
35
- lastSeen: Date | undefined
40
+ lastSeen: number | undefined
36
41
  alive: "alive" | "dead" | "unknown"
37
42
  readonly levels: Set<string>
38
43
  }
@@ -50,11 +55,11 @@ export function getParentChain(fiberId: string, fiberParents: Map<string, string
50
55
  }
51
56
 
52
57
  export function collectFibers(
53
- logs: Array<ConsoleStore.ConsoleLog>,
54
- spans: Array<ConsoleStore.ConsoleSpan>,
58
+ logs: Array<TowerStore.TowerLog>,
59
+ spans: Array<TowerStore.TowerSpan>,
55
60
  ): Array<FiberSummary> {
56
61
  const map = new Map<string, FiberSummary>()
57
- const counter = ConsoleStore.fiberIdCounter()
62
+ const counter = TowerStore.fiberIdCounter()
58
63
  const now = Date.now()
59
64
 
60
65
  for (const log of logs) {
@@ -72,8 +77,9 @@ export function collectFibers(
72
77
  }
73
78
  fiber.logCount++
74
79
  fiber.levels.add(log.level)
75
- if (!fiber.lastSeen || log.date > fiber.lastSeen) {
76
- fiber.lastSeen = log.date
80
+ const logTimestamp = Number(Unique.snowflake.timestamp(log.id))
81
+ if (!fiber.lastSeen || logTimestamp > fiber.lastSeen) {
82
+ fiber.lastSeen = logTimestamp
77
83
  }
78
84
  }
79
85
 
@@ -98,7 +104,7 @@ export function collectFibers(
98
104
  for (const fiber of map.values()) {
99
105
  const num = parseInt(fiber.id.replace("#", ""), 10)
100
106
  if (!isNaN(num)) {
101
- if (fiber.lastSeen && now - fiber.lastSeen.getTime() < 5000) {
107
+ if (fiber.lastSeen && now - fiber.lastSeen < 5000) {
102
108
  fiber.alive = "alive"
103
109
  } else if (num < counter) {
104
110
  fiber.alive = "dead"
@@ -113,13 +119,21 @@ export function collectFibers(
113
119
  })
114
120
  }
115
121
 
116
- function FiberRow({ fiber, prefix }: { fiber: FiberSummary; prefix: string }) {
122
+ function FiberRow(options: { fiber: FiberSummary; prefix: string }) {
117
123
  const aliveColor =
118
- fiber.alive === "alive" ? "#4ade80" : fiber.alive === "dead" ? "#ef4444" : "#94a3b8"
124
+ options.fiber.alive === "alive"
125
+ ? "#4ade80"
126
+ : options.fiber.alive === "dead"
127
+ ? "#ef4444"
128
+ : "#94a3b8"
119
129
  const aliveBg =
120
- fiber.alive === "alive" ? "#166534" : fiber.alive === "dead" ? "#7f1d1d" : "#334155"
121
- const lastSeen = fiber.lastSeen
122
- ? fiber.lastSeen.toLocaleTimeString("en", {
130
+ options.fiber.alive === "alive"
131
+ ? "#166534"
132
+ : options.fiber.alive === "dead"
133
+ ? "#7f1d1d"
134
+ : "#334155"
135
+ const lastSeen = options.fiber.lastSeen
136
+ ? new Date(options.fiber.lastSeen).toLocaleTimeString("en", {
123
137
  hour12: false,
124
138
  hour: "2-digit",
125
139
  minute: "2-digit",
@@ -129,31 +143,31 @@ function FiberRow({ fiber, prefix }: { fiber: FiberSummary; prefix: string }) {
129
143
 
130
144
  return (
131
145
  <a
132
- href={`${prefix}/fibers/${fiber.id.replace("#", "")}`}
146
+ href={`${options.prefix}/fibers/${options.fiber.id.replace("#", "")}`}
133
147
  style="display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid #1e293b;text-decoration:none;transition:background .1s"
134
148
  onmouseover="this.style.background='#1e293b'"
135
149
  onmouseout="this.style.background='transparent'"
136
150
  >
137
151
  <span style="color:#e2e8f0;font-family:monospace;font-size:13px;font-weight:600;min-width:60px">
138
- {fiber.id}
152
+ {options.fiber.id}
139
153
  </span>
140
154
  <span
141
155
  style={`font-size:10px;padding:2px 8px;border-radius:4px;background:${aliveBg};color:${aliveColor}`}
142
156
  >
143
- {fiber.alive}
157
+ {options.fiber.alive}
144
158
  </span>
145
159
  <span style="color:#94a3b8;font-size:12px">
146
- {fiber.spanCount} span{fiber.spanCount !== 1 ? "s" : ""}
160
+ {options.fiber.spanCount} span{options.fiber.spanCount !== 1 ? "s" : ""}
147
161
  </span>
148
162
  <span style="color:#94a3b8;font-size:12px">
149
- {fiber.logCount} log{fiber.logCount !== 1 ? "s" : ""}
163
+ {options.fiber.logCount} log{options.fiber.logCount !== 1 ? "s" : ""}
150
164
  </span>
151
- {fiber.levels.has("ERROR") && (
165
+ {options.fiber.levels.has("ERROR") && (
152
166
  <span style="font-size:10px;padding:1px 6px;border-radius:4px;background:#7f1d1d;color:#fca5a5">
153
167
  ERROR
154
168
  </span>
155
169
  )}
156
- {fiber.levels.has("WARNING") && (
170
+ {options.fiber.levels.has("WARNING") && (
157
171
  <span style="font-size:10px;padding:1px 6px;border-radius:4px;background:#713f12;color:#fde047">
158
172
  WARN
159
173
  </span>
@@ -165,73 +179,70 @@ function FiberRow({ fiber, prefix }: { fiber: FiberSummary; prefix: string }) {
165
179
  )
166
180
  }
167
181
 
168
- export function FiberList({ fibers, prefix }: { fibers: Array<FiberSummary>; prefix: string }) {
169
- if (fibers.length === 0) {
182
+ export function FiberList(options: { fibers: Array<FiberSummary>; prefix: string }) {
183
+ if (options.fibers.length === 0) {
170
184
  return <div class="empty">Waiting for fibers...</div>
171
185
  }
172
186
  return (
173
187
  <>
174
- {fibers.map((f) => (
175
- <FiberRow fiber={f} prefix={prefix} />
188
+ {options.fibers.map((f) => (
189
+ <FiberRow fiber={f} prefix={options.prefix} />
176
190
  ))}
177
191
  </>
178
192
  )
179
193
  }
180
194
 
181
- export function FiberDetail({
182
- prefix,
183
- fiberId,
184
- logs,
185
- spans,
186
- alive,
187
- parents,
188
- context,
189
- }: {
195
+ export function FiberDetail(options: {
190
196
  prefix: string
191
197
  fiberId: string
192
- logs: Array<ConsoleStore.ConsoleLog>
193
- spans: Array<ConsoleStore.ConsoleSpan>
198
+ logs: Array<TowerStore.TowerLog>
199
+ spans: Array<TowerStore.TowerSpan>
194
200
  alive: "alive" | "dead" | "unknown"
195
201
  parents: Array<string>
196
- context: ConsoleStore.FiberContext | undefined
202
+ context: TowerStore.FiberContext | undefined
197
203
  }) {
198
- const aliveColor = alive === "alive" ? "#4ade80" : alive === "dead" ? "#ef4444" : "#94a3b8"
199
- const aliveBg = alive === "alive" ? "#166534" : alive === "dead" ? "#7f1d1d" : "#334155"
204
+ const aliveColor =
205
+ options.alive === "alive" ? "#4ade80" : options.alive === "dead" ? "#ef4444" : "#94a3b8"
206
+ const aliveBg =
207
+ options.alive === "alive" ? "#166534" : options.alive === "dead" ? "#7f1d1d" : "#334155"
200
208
 
201
209
  return (
202
210
  <>
203
211
  <div class="tab-header">
204
212
  <div style="display:flex;align-items:center;gap:8px;margin-bottom:4px">
205
- <a href={`${prefix}/fibers`} style="color:#64748b;text-decoration:none;font-size:12px">
213
+ <a
214
+ href={`${options.prefix}/fibers`}
215
+ style="color:#64748b;text-decoration:none;font-size:12px"
216
+ >
206
217
  Fibers
207
218
  </a>
208
219
  <span style="color:#475569">/</span>
209
- <span style="color:#e2e8f0;font-size:13px;font-family:monospace">{fiberId}</span>
220
+ <span style="color:#e2e8f0;font-size:13px;font-family:monospace">{options.fiberId}</span>
210
221
  <span
211
222
  style={`font-size:11px;padding:2px 8px;border-radius:4px;background:${aliveBg};color:${aliveColor}`}
212
223
  >
213
- {alive}
224
+ {options.alive}
214
225
  </span>
215
226
  </div>
216
227
  <div style="display:flex;gap:16px;font-size:12px;color:#94a3b8">
217
228
  <span>
218
- {logs.length} log{logs.length !== 1 ? "s" : ""}
229
+ {options.logs.length} log{options.logs.length !== 1 ? "s" : ""}
219
230
  </span>
220
231
  <span>
221
- {spans.length} span{spans.length !== 1 ? "s" : ""}
232
+ {options.spans.length} span{options.spans.length !== 1 ? "s" : ""}
222
233
  </span>
223
234
  </div>
224
235
  </div>
225
236
  <div class="tab-body">
226
- {parents.length > 0 && (
237
+ {options.parents.length > 0 && (
227
238
  <div style="padding:8px 16px">
228
239
  <div style="color:#94a3b8;font-size:12px;font-weight:600;margin-bottom:8px">
229
240
  Parents
230
241
  </div>
231
242
  <div style="display:flex;gap:6px;flex-wrap:wrap">
232
- {parents.map((id) => (
243
+ {options.parents.map((id) => (
233
244
  <a
234
- href={`${prefix}/fibers/${id.replace("#", "")}`}
245
+ href={`${options.prefix}/fibers/${id.replace("#", "")}`}
235
246
  style="color:#38bdf8;font-family:monospace;font-size:13px;text-decoration:none;padding:4px 10px;background:#111827;border:1px solid #1e293b;border-radius:6px"
236
247
  >
237
248
  {id}
@@ -241,26 +252,30 @@ export function FiberDetail({
241
252
  </div>
242
253
  )}
243
254
 
244
- {context &&
245
- (context.spanName || context.traceId || Object.keys(context.annotations).length > 0) && (
255
+ {options.context &&
256
+ (options.context.spanName ||
257
+ options.context.traceId ||
258
+ Object.keys(options.context.annotations).length > 0) && (
246
259
  <div style="padding:8px 16px">
247
260
  <div style="color:#94a3b8;font-size:12px;font-weight:600;margin-bottom:8px">
248
261
  Context
249
262
  </div>
250
263
  <div style="background:#111827;border:1px solid #1e293b;border-radius:6px;padding:8px 12px">
251
- {context.spanName && <KeyValue label="Span" value={context.spanName} />}
252
- {context.traceId && (
264
+ {options.context.spanName && (
265
+ <KeyValue label="Span" value={options.context.spanName} />
266
+ )}
267
+ {options.context.traceId && (
253
268
  <div style="display:flex;gap:8px;padding:4px 0;border-bottom:1px solid #1e293b;font-size:12px">
254
269
  <span style="color:#64748b;min-width:120px">Trace</span>
255
270
  <a
256
- href={`${prefix}/traces/${context.traceId}`}
271
+ href={`${options.prefix}/traces/${options.context.traceId}`}
257
272
  style="color:#38bdf8;font-family:monospace;word-break:break-all;text-decoration:none"
258
273
  >
259
- {context.traceId}
274
+ {options.context.traceId}
260
275
  </a>
261
276
  </div>
262
277
  )}
263
- {Object.entries(context.annotations).map(([k, v]) => (
278
+ {Object.entries(options.context.annotations).map(([k, v]) => (
264
279
  <KeyValue
265
280
  label={k}
266
281
  value={typeof v === "object" ? JSON.stringify(v) : String(v)}
@@ -270,16 +285,16 @@ export function FiberDetail({
270
285
  </div>
271
286
  )}
272
287
 
273
- {spans.length > 0 && (
288
+ {options.spans.length > 0 && (
274
289
  <div style="padding:8px 16px">
275
290
  <div style="color:#94a3b8;font-size:12px;font-weight:600;margin-bottom:8px">Spans</div>
276
- {spans.map((s) => {
291
+ {options.spans.map((s) => {
277
292
  const stacktrace = s.attributes["code.stacktrace"] as string | undefined
278
293
  return (
279
294
  <div style="margin-bottom:6px;background:#111827;border:1px solid #1e293b;border-radius:6px;padding:8px 12px">
280
295
  <div style="display:flex;align-items:center;gap:8px;margin-bottom:4px">
281
296
  <a
282
- href={`${prefix}/traces/${s.traceId}`}
297
+ href={`${options.prefix}/traces/${s.traceId}`}
283
298
  style="color:#38bdf8;font-family:monospace;font-size:13px;text-decoration:none"
284
299
  >
285
300
  {s.name}
@@ -303,17 +318,17 @@ export function FiberDetail({
303
318
  </div>
304
319
  )}
305
320
 
306
- {logs.length > 0 && (
321
+ {options.logs.length > 0 && (
307
322
  <div style="padding:8px 16px">
308
323
  <div style="color:#94a3b8;font-size:12px;font-weight:600;margin-bottom:8px">Logs</div>
309
- {logs.map((l) => (
324
+ {options.logs.map((l) => (
310
325
  <Logs.LogLine log={l} />
311
326
  ))}
312
327
  </div>
313
328
  )}
314
329
 
315
- {logs.length === 0 && spans.length === 0 && (
316
- <div class="empty">No data found for fiber {fiberId}</div>
330
+ {options.logs.length === 0 && options.spans.length === 0 && (
331
+ <div class="empty">No data found for fiber {options.fiberId}</div>
317
332
  )}
318
333
  </div>
319
334
  </>
@@ -1,4 +1,5 @@
1
- import * as ConsoleStore from "../ConsoleStore.ts"
1
+ import * as Unique from "../../Unique.ts"
2
+ import * as TowerStore from "../TowerStore.ts"
2
3
 
3
4
  function levelColor(level: string): string {
4
5
  if (level === "DEBUG") return "#94a3b8"
@@ -9,36 +10,39 @@ function levelColor(level: string): string {
9
10
  return "#e5e7eb"
10
11
  }
11
12
 
12
- export function LogLine({ log }: { log: ConsoleStore.ConsoleLog }) {
13
- const color = levelColor(log.level)
14
- const time = log.date.toLocaleTimeString("en", {
15
- hour12: false,
16
- hour: "2-digit",
17
- minute: "2-digit",
18
- second: "2-digit",
19
- })
13
+ export function LogLine(options: { log: TowerStore.TowerLog }) {
14
+ const color = levelColor(options.log.level)
15
+ const time = new Date(Number(Unique.snowflake.timestamp(options.log.id))).toLocaleTimeString(
16
+ "en",
17
+ {
18
+ hour12: false,
19
+ hour: "2-digit",
20
+ minute: "2-digit",
21
+ second: "2-digit",
22
+ },
23
+ )
20
24
 
21
25
  return (
22
26
  <div
23
- id={`log-${log.id}`}
27
+ id={`log-${options.log.id}`}
24
28
  style="padding:3px 8px;border-bottom:1px solid #1f2937;font-family:monospace;font-size:12px;display:flex;align-items:baseline"
25
29
  >
26
30
  <span style="color:#6b7280;white-space:nowrap">{time}</span>
27
31
  <span style={`color:${color};font-weight:600;width:56px;text-align:center;flex-shrink:0`}>
28
- {log.level}
32
+ {options.log.level}
29
33
  </span>
30
34
  <span style="color:#e5e7eb;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis">
31
- {log.message}
35
+ {options.log.message}
32
36
  </span>
33
37
  <a
34
- href={`${ConsoleStore.store.prefix}/fibers/${log.fiberId.replace("#", "")}`}
38
+ href={`${TowerStore.store.prefix}/fibers/${options.log.fiberId.replace("#", "")}`}
35
39
  style="color:#6b7280;white-space:nowrap;margin-left:8px;text-decoration:none"
36
40
  >
37
- {log.fiberId}
41
+ {options.log.fiberId}
38
42
  </a>
39
- {log.cause && (
43
+ {options.log.cause && (
40
44
  <div style="color:#ef4444;font-size:11px;padding:2px 0 0 0;white-space:pre-wrap;width:100%">
41
- {log.cause}
45
+ {options.log.cause}
42
46
  </div>
43
47
  )}
44
48
  </div>
@@ -1,15 +1,15 @@
1
- import type * as ConsoleStore from "../ConsoleStore.ts"
1
+ import type * as TowerStore from "../TowerStore.ts"
2
2
 
3
- function MetricValue({ metric }: { metric: ConsoleStore.ConsoleMetricSnapshot }) {
4
- if (metric.type === "counter" || metric.type === "gauge") {
3
+ function MetricValue(options: { metric: TowerStore.TowerMetricSnapshot }) {
4
+ if (options.metric.type === "counter" || options.metric.type === "gauge") {
5
5
  return (
6
6
  <div style="font-size:32px;font-weight:700;color:#e5e7eb;font-family:monospace;line-height:1.1">
7
- {String(metric.value)}
7
+ {String(options.metric.value)}
8
8
  </div>
9
9
  )
10
10
  }
11
- if (metric.type === "histogram") {
12
- const h = metric.value as { count: number; sum: number; min: number; max: number }
11
+ if (options.metric.type === "histogram") {
12
+ const h = options.metric.value as { count: number; sum: number; min: number; max: number }
13
13
  return (
14
14
  <div style="display:grid;grid-template-columns:auto auto;gap:2px 12px;font-size:12px;font-family:monospace">
15
15
  <span style="color:#6b7280">count</span>
@@ -23,8 +23,8 @@ function MetricValue({ metric }: { metric: ConsoleStore.ConsoleMetricSnapshot })
23
23
  </div>
24
24
  )
25
25
  }
26
- if (metric.type === "frequency") {
27
- const occ = metric.value as Record<string, number>
26
+ if (options.metric.type === "frequency") {
27
+ const occ = options.metric.value as Record<string, number>
28
28
  return (
29
29
  <div style="display:grid;grid-template-columns:auto auto;gap:2px 12px;font-size:12px;font-family:monospace">
30
30
  {Object.entries(occ)
@@ -40,37 +40,37 @@ function MetricValue({ metric }: { metric: ConsoleStore.ConsoleMetricSnapshot })
40
40
  }
41
41
  return (
42
42
  <pre style="font-size:11px;color:#9ca3af;margin:0;white-space:pre-wrap">
43
- {JSON.stringify(metric.value, null, 2)}
43
+ {JSON.stringify(options.metric.value, null, 2)}
44
44
  </pre>
45
45
  )
46
46
  }
47
47
 
48
- function MetricCard({ metric }: { metric: ConsoleStore.ConsoleMetricSnapshot }) {
48
+ function MetricCard(options: { metric: TowerStore.TowerMetricSnapshot }) {
49
49
  return (
50
50
  <div style="background:#111827;border:1px solid #374151;border-radius:6px;padding:12px;min-width:200px">
51
51
  <div style="display:flex;align-items:center;gap:8px;margin-bottom:8px">
52
- <span style="color:#d1d5db;font-size:13px;font-weight:600">{metric.name}</span>
52
+ <span style="color:#d1d5db;font-size:13px;font-weight:600">{options.metric.name}</span>
53
53
  <span style="font-size:10px;padding:1px 6px;border-radius:4px;background:#1e3a5f;color:#60a5fa">
54
- {metric.type}
54
+ {options.metric.type}
55
55
  </span>
56
56
  </div>
57
- <MetricValue metric={metric} />
58
- {metric.tags.length > 0 && (
57
+ <MetricValue metric={options.metric} />
58
+ {options.metric.tags.length > 0 && (
59
59
  <div style="font-size:10px;color:#6b7280;margin-top:4px">
60
- {metric.tags.map((t) => `${t.key}=${t.value}`).join(" ")}
60
+ {options.metric.tags.map((t) => `${t.key}=${t.value}`).join(" ")}
61
61
  </div>
62
62
  )}
63
63
  </div>
64
64
  )
65
65
  }
66
66
 
67
- export function MetricsGrid({ metrics }: { metrics: Array<ConsoleStore.ConsoleMetricSnapshot> }) {
68
- if (metrics.length === 0) {
67
+ export function MetricsGrid(options: { metrics: Array<TowerStore.TowerMetricSnapshot> }) {
68
+ if (options.metrics.length === 0) {
69
69
  return <div class="empty">Waiting for metrics...</div>
70
70
  }
71
71
  return (
72
72
  <>
73
- {metrics.map((m) => (
73
+ {options.metrics.map((m) => (
74
74
  <MetricCard metric={m} />
75
75
  ))}
76
76
  </>
@@ -41,26 +41,26 @@ function methodBg(method: string): string {
41
41
 
42
42
  const methodOrder = ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS", "*"]
43
43
 
44
- function MethodBadge({ method }: { method: string }) {
44
+ function MethodBadge(options: { method: string }) {
45
45
  return (
46
46
  <span
47
- style={`font-size:10px;font-weight:700;font-family:monospace;padding:2px 6px;border-radius:3px;background:${methodBg(method)};color:${methodColor(method)};min-width:48px;text-align:center;display:inline-block`}
47
+ style={`font-size:10px;font-weight:700;font-family:monospace;padding:2px 6px;border-radius:3px;background:${methodBg(options.method)};color:${methodColor(options.method)};min-width:48px;text-align:center;display:inline-block`}
48
48
  >
49
- {method}
49
+ {options.method}
50
50
  </span>
51
51
  )
52
52
  }
53
53
 
54
- function FormatBadge({ format }: { format: string }) {
54
+ function FormatBadge(options: { format: string }) {
55
55
  return (
56
56
  <span style="font-size:10px;padding:1px 6px;border-radius:3px;background:#1e3a5f;color:#60a5fa">
57
- {format}
57
+ {options.format}
58
58
  </span>
59
59
  )
60
60
  }
61
61
 
62
- function ColoredPath({ path }: { path: string }) {
63
- const segments = path.split("/").filter(Boolean)
62
+ function ColoredPath(options: { path: string }) {
63
+ const segments = options.path.split("/").filter(Boolean)
64
64
  return (
65
65
  <span style="font-family:monospace;font-size:13px">
66
66
  {segments.length === 0 ? (
@@ -80,14 +80,14 @@ function ColoredPath({ path }: { path: string }) {
80
80
  )
81
81
  }
82
82
 
83
- function PathGroup({ path, routes }: { path: string; routes: Array<RouteInfo> }) {
83
+ function PathGroup(options: { path: string; routes: Array<RouteInfo> }) {
84
84
  return (
85
85
  <div style="padding:8px 12px;border-bottom:1px solid #1e293b">
86
86
  <div style="margin-bottom:4px">
87
- <ColoredPath path={path} />
87
+ <ColoredPath path={options.path} />
88
88
  </div>
89
89
  <div style="display:flex;flex-wrap:wrap;gap:4px">
90
- {routes.map((r) => (
90
+ {options.routes.map((r) => (
91
91
  <div style="display:flex;align-items:center;gap:6px">
92
92
  <MethodBadge method={r.method} />
93
93
  {r.format && <FormatBadge format={r.format} />}
@@ -98,13 +98,13 @@ function PathGroup({ path, routes }: { path: string; routes: Array<RouteInfo> })
98
98
  )
99
99
  }
100
100
 
101
- export function RouteList({ routes }: { routes: Array<RouteInfo> }) {
102
- if (routes.length === 0) {
101
+ export function RouteList(options: { routes: Array<RouteInfo> }) {
102
+ if (options.routes.length === 0) {
103
103
  return <div class="empty">No routes registered</div>
104
104
  }
105
105
 
106
- const groups = groupByPath(routes)
107
- const routeCount = routes.length
106
+ const groups = groupByPath(options.routes)
107
+ const routeCount = options.routes.length
108
108
  const pathCount = groups.length
109
109
 
110
110
  return (
@@ -173,8 +173,8 @@ function kindColor(kind: string): { bg: string; fg: string } {
173
173
  return { bg: "#1e3a5f", fg: "#60a5fa" }
174
174
  }
175
175
 
176
- function ServiceRow({ entry }: { entry: ServiceEntry }) {
177
- const colors = kindColor(entry.type)
176
+ function ServiceRow(options: { entry: ServiceEntry }) {
177
+ const colors = kindColor(options.entry.type)
178
178
  return (
179
179
  <details class="tl-row">
180
180
  <summary class="tl-summary tl-cols">
@@ -183,19 +183,19 @@ function ServiceRow({ entry }: { entry: ServiceEntry }) {
183
183
  style={`width:8px;height:8px;border-radius:50%;background:${colors.fg};display:block`}
184
184
  />
185
185
  </span>
186
- <span class="tl-cell tl-cell-name">{entry.key}</span>
186
+ <span class="tl-cell tl-cell-name">{options.entry.key}</span>
187
187
  <span class="tl-cell tl-cell-dur">
188
188
  <span
189
189
  style={`font-size:10px;padding:1px 6px;border-radius:4px;background:${colors.bg};color:${colors.fg}`}
190
190
  >
191
- {entry.kind}
191
+ {options.entry.kind}
192
192
  </span>
193
193
  </span>
194
194
  </summary>
195
195
  <div class="tl-body">
196
- {entry.display ? (
196
+ {options.entry.display ? (
197
197
  <pre style="color:#e2e8f0;font-family:monospace;font-size:12px;margin:0;padding:8px;white-space:pre-wrap;word-break:break-all">
198
- {entry.display}
198
+ {options.entry.display}
199
199
  </pre>
200
200
  ) : (
201
201
  <div style="padding:4px 8px;color:#64748b;font-size:12px">No inspectable values</div>
@@ -205,8 +205,8 @@ function ServiceRow({ entry }: { entry: ServiceEntry }) {
205
205
  )
206
206
  }
207
207
 
208
- export function ServiceList({ services }: { services: Array<ServiceEntry> }) {
209
- if (services.length === 0) {
208
+ export function ServiceList(options: { services: Array<ServiceEntry> }) {
209
+ if (options.services.length === 0) {
210
210
  return <div class="empty">No services registered</div>
211
211
  }
212
212
  return (
@@ -216,7 +216,7 @@ export function ServiceList({ services }: { services: Array<ServiceEntry> }) {
216
216
  <span class="tl-cell tl-cell-name">Service</span>
217
217
  <span class="tl-cell tl-cell-dur">Kind</span>
218
218
  </div>
219
- {services.map((s) => (
219
+ {options.services.map((s) => (
220
220
  <ServiceRow entry={s} />
221
221
  ))}
222
222
  </div>