effect-start 0.27.0 → 0.29.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 (693) hide show
  1. package/dist/Cookies.d.ts +46 -0
  2. package/dist/Cookies.d.ts.map +1 -0
  3. package/dist/Cookies.js +303 -0
  4. package/dist/Cookies.js.map +1 -0
  5. package/dist/Entity.d.ts +47 -0
  6. package/dist/Entity.d.ts.map +1 -0
  7. package/dist/Entity.js +238 -0
  8. package/dist/Entity.js.map +1 -0
  9. package/dist/Fetch.d.ts +69 -0
  10. package/dist/Fetch.d.ts.map +1 -0
  11. package/dist/Fetch.js +225 -0
  12. package/dist/Fetch.js.map +1 -0
  13. package/dist/FileRouter.d.ts +54 -0
  14. package/dist/FileRouter.d.ts.map +1 -0
  15. package/dist/FileRouter.js +158 -0
  16. package/dist/FileRouter.js.map +1 -0
  17. package/dist/FileRouterCodegen.d.ts +19 -0
  18. package/dist/FileRouterCodegen.d.ts.map +1 -0
  19. package/dist/FileRouterCodegen.js +216 -0
  20. package/dist/FileRouterCodegen.js.map +1 -0
  21. package/dist/FileSystem.d.ts +159 -0
  22. package/dist/FileSystem.d.ts.map +1 -0
  23. package/dist/FileSystem.js +73 -0
  24. package/dist/FileSystem.js.map +1 -0
  25. package/dist/GlobalLayer.d.ts +4 -0
  26. package/dist/GlobalLayer.d.ts.map +1 -0
  27. package/dist/GlobalLayer.js +51 -0
  28. package/dist/GlobalLayer.js.map +1 -0
  29. package/dist/PlatformRuntime.d.ts +30 -0
  30. package/dist/PlatformRuntime.d.ts.map +1 -0
  31. package/dist/PlatformRuntime.js +50 -0
  32. package/dist/PlatformRuntime.js.map +1 -0
  33. package/dist/Route.d.ts +98 -0
  34. package/dist/Route.d.ts.map +1 -0
  35. package/dist/Route.js +101 -0
  36. package/dist/Route.js.map +1 -0
  37. package/dist/RouteBody.d.ts +48 -0
  38. package/dist/RouteBody.d.ts.map +1 -0
  39. package/dist/RouteBody.js +68 -0
  40. package/dist/RouteBody.js.map +1 -0
  41. package/dist/RouteError.d.ts +99 -0
  42. package/dist/RouteError.d.ts.map +1 -0
  43. package/dist/RouteError.js +56 -0
  44. package/dist/RouteError.js.map +1 -0
  45. package/dist/RouteHook.d.ts +13 -0
  46. package/dist/RouteHook.d.ts.map +1 -0
  47. package/dist/RouteHook.js +40 -0
  48. package/dist/RouteHook.js.map +1 -0
  49. package/dist/RouteHttp.d.ts +22 -0
  50. package/dist/RouteHttp.d.ts.map +1 -0
  51. package/dist/RouteHttp.js +266 -0
  52. package/dist/RouteHttp.js.map +1 -0
  53. package/dist/RouteHttpTracer.d.ts +11 -0
  54. package/dist/RouteHttpTracer.d.ts.map +1 -0
  55. package/dist/RouteHttpTracer.js +63 -0
  56. package/dist/RouteHttpTracer.js.map +1 -0
  57. package/dist/RouteMount.d.ts +87 -0
  58. package/dist/RouteMount.d.ts.map +1 -0
  59. package/dist/RouteMount.js +64 -0
  60. package/dist/RouteMount.js.map +1 -0
  61. package/dist/RouteSchema.d.ts +87 -0
  62. package/dist/RouteSchema.d.ts.map +1 -0
  63. package/dist/RouteSchema.js +189 -0
  64. package/dist/RouteSchema.js.map +1 -0
  65. package/dist/RouteSse.d.ts +21 -0
  66. package/dist/RouteSse.d.ts.map +1 -0
  67. package/dist/RouteSse.js +76 -0
  68. package/dist/RouteSse.js.map +1 -0
  69. package/dist/RouteTree.d.ts +58 -0
  70. package/dist/RouteTree.d.ts.map +1 -0
  71. package/dist/RouteTree.js +94 -0
  72. package/dist/RouteTree.js.map +1 -0
  73. package/dist/RouteTrie.d.ts +21 -0
  74. package/dist/RouteTrie.d.ts.map +1 -0
  75. package/dist/RouteTrie.js +153 -0
  76. package/dist/RouteTrie.js.map +1 -0
  77. package/dist/Socket.d.ts +23 -0
  78. package/dist/Socket.d.ts.map +1 -0
  79. package/dist/Socket.js +29 -0
  80. package/dist/Socket.js.map +1 -0
  81. package/dist/Start.d.ts +82 -0
  82. package/dist/Start.d.ts.map +1 -0
  83. package/dist/Start.js +102 -0
  84. package/dist/Start.js.map +1 -0
  85. package/dist/System.d.ts +24 -0
  86. package/dist/System.d.ts.map +1 -0
  87. package/dist/System.js +31 -0
  88. package/dist/System.js.map +1 -0
  89. package/dist/Unique.d.ts +68 -0
  90. package/dist/Unique.d.ts.map +1 -0
  91. package/dist/Unique.js +225 -0
  92. package/dist/Unique.js.map +1 -0
  93. package/dist/_ChildProcess.d.ts +59 -0
  94. package/dist/_ChildProcess.d.ts.map +1 -0
  95. package/dist/_ChildProcess.js +30 -0
  96. package/dist/_ChildProcess.js.map +1 -0
  97. package/dist/_ContentNegotiation.d.ts +13 -0
  98. package/dist/_ContentNegotiation.d.ts.map +1 -0
  99. package/dist/_ContentNegotiation.js +360 -0
  100. package/dist/_ContentNegotiation.js.map +1 -0
  101. package/dist/_Development.d.ts +27 -0
  102. package/dist/_Development.d.ts.map +1 -0
  103. package/dist/_Development.js +57 -0
  104. package/dist/_Development.js.map +1 -0
  105. package/dist/_Docker.d.ts +51 -0
  106. package/dist/_Docker.d.ts.map +1 -0
  107. package/dist/_Docker.js +88 -0
  108. package/dist/_Docker.js.map +1 -0
  109. package/dist/_Effectify.d.ts +210 -0
  110. package/dist/_Effectify.d.ts.map +1 -0
  111. package/dist/_Effectify.js +20 -0
  112. package/dist/_Effectify.js.map +1 -0
  113. package/dist/_Http.d.ts +31 -0
  114. package/dist/_Http.d.ts.map +1 -0
  115. package/dist/_Http.js +73 -0
  116. package/dist/_Http.js.map +1 -0
  117. package/dist/_PathPattern.d.ts +146 -0
  118. package/dist/_PathPattern.d.ts.map +1 -0
  119. package/dist/_PathPattern.js +499 -0
  120. package/dist/_PathPattern.js.map +1 -0
  121. package/dist/_SchemaExtra.d.ts +4 -0
  122. package/dist/_SchemaExtra.d.ts.map +1 -0
  123. package/dist/_SchemaExtra.js +75 -0
  124. package/dist/_SchemaExtra.js.map +1 -0
  125. package/dist/_StartApp.d.ts +13 -0
  126. package/dist/_StartApp.d.ts.map +1 -0
  127. package/dist/_StartApp.js +4 -0
  128. package/dist/_StartApp.js.map +1 -0
  129. package/dist/_StreamExtra.d.ts +29 -0
  130. package/dist/_StreamExtra.d.ts.map +1 -0
  131. package/dist/_StreamExtra.js +101 -0
  132. package/dist/_StreamExtra.js.map +1 -0
  133. package/dist/_Values.d.ts +30 -0
  134. package/dist/_Values.d.ts.map +1 -0
  135. package/dist/_Values.js +46 -0
  136. package/dist/_Values.js.map +1 -0
  137. package/dist/bun/BunBundle.d.ts +12 -0
  138. package/dist/bun/BunBundle.d.ts.map +1 -0
  139. package/dist/bun/BunBundle.js +138 -0
  140. package/dist/bun/BunBundle.js.map +1 -0
  141. package/dist/bun/BunChildProcessSpawner.d.ts +4 -0
  142. package/dist/bun/BunChildProcessSpawner.d.ts.map +1 -0
  143. package/dist/bun/BunChildProcessSpawner.js +99 -0
  144. package/dist/bun/BunChildProcessSpawner.js.map +1 -0
  145. package/dist/bun/BunImportTrackerPlugin.d.ts +14 -0
  146. package/dist/bun/BunImportTrackerPlugin.d.ts.map +1 -0
  147. package/dist/bun/BunImportTrackerPlugin.js +70 -0
  148. package/dist/bun/BunImportTrackerPlugin.js.map +1 -0
  149. package/dist/bun/BunRoute.d.ts +49 -0
  150. package/dist/bun/BunRoute.d.ts.map +1 -0
  151. package/dist/bun/BunRoute.js +121 -0
  152. package/dist/bun/BunRoute.js.map +1 -0
  153. package/dist/bun/BunRuntime.d.ts +3 -0
  154. package/dist/bun/BunRuntime.d.ts.map +1 -0
  155. package/dist/bun/BunRuntime.js +30 -0
  156. package/dist/bun/BunRuntime.js.map +1 -0
  157. package/dist/bun/BunServer.d.ts +52 -0
  158. package/dist/bun/BunServer.d.ts.map +1 -0
  159. package/dist/bun/BunServer.js +262 -0
  160. package/dist/bun/BunServer.js.map +1 -0
  161. package/dist/bun/BunVirtualFilesPlugin.d.ts +5 -0
  162. package/dist/bun/BunVirtualFilesPlugin.d.ts.map +1 -0
  163. package/dist/bun/BunVirtualFilesPlugin.js +41 -0
  164. package/dist/bun/BunVirtualFilesPlugin.js.map +1 -0
  165. package/dist/bun/_BunEnhancedResolve.d.ts +46 -0
  166. package/dist/bun/_BunEnhancedResolve.d.ts.map +1 -0
  167. package/dist/bun/_BunEnhancedResolve.js +103 -0
  168. package/dist/bun/_BunEnhancedResolve.js.map +1 -0
  169. package/dist/bun/_empty.html +0 -0
  170. package/dist/bun/index.d.ts +6 -0
  171. package/dist/bun/index.d.ts.map +1 -0
  172. package/dist/bun/index.js +6 -0
  173. package/dist/bun/index.js.map +1 -0
  174. package/dist/bundler/Bundle.d.ts +62 -0
  175. package/dist/bundler/Bundle.d.ts.map +1 -0
  176. package/dist/bundler/Bundle.js +49 -0
  177. package/dist/bundler/Bundle.js.map +1 -0
  178. package/dist/bundler/BundleFiles.d.ts +14 -0
  179. package/dist/bundler/BundleFiles.d.ts.map +1 -0
  180. package/dist/bundler/BundleFiles.js +97 -0
  181. package/dist/bundler/BundleFiles.js.map +1 -0
  182. package/dist/bundler/BundleRoute.d.ts +28 -0
  183. package/dist/bundler/BundleRoute.d.ts.map +1 -0
  184. package/dist/bundler/BundleRoute.js +52 -0
  185. package/dist/bundler/BundleRoute.js.map +1 -0
  186. package/dist/cli/Argument.d.ts +26 -0
  187. package/dist/cli/Argument.d.ts.map +1 -0
  188. package/dist/cli/Argument.js +31 -0
  189. package/dist/cli/Argument.js.map +1 -0
  190. package/dist/cli/CliError.d.ts +15 -0
  191. package/dist/cli/CliError.d.ts.map +1 -0
  192. package/dist/cli/CliError.js +54 -0
  193. package/dist/cli/CliError.js.map +1 -0
  194. package/dist/cli/Command.d.ts +61 -0
  195. package/dist/cli/Command.d.ts.map +1 -0
  196. package/dist/cli/Command.js +453 -0
  197. package/dist/cli/Command.js.map +1 -0
  198. package/dist/cli/Flag.d.ts +32 -0
  199. package/dist/cli/Flag.d.ts.map +1 -0
  200. package/dist/cli/Flag.js +35 -0
  201. package/dist/cli/Flag.js.map +1 -0
  202. package/dist/cli/HelpDoc.d.ts +28 -0
  203. package/dist/cli/HelpDoc.d.ts.map +1 -0
  204. package/dist/cli/HelpDoc.js +40 -0
  205. package/dist/cli/HelpDoc.js.map +1 -0
  206. package/dist/cli/Param.d.ts +71 -0
  207. package/dist/cli/Param.d.ts.map +1 -0
  208. package/dist/cli/Param.js +236 -0
  209. package/dist/cli/Param.js.map +1 -0
  210. package/dist/cli/Primitive.d.ts +22 -0
  211. package/dist/cli/Primitive.d.ts.map +1 -0
  212. package/dist/cli/Primitive.js +73 -0
  213. package/dist/cli/Primitive.js.map +1 -0
  214. package/dist/cli/index.d.ts +8 -0
  215. package/dist/cli/index.d.ts.map +1 -0
  216. package/dist/cli/index.js +8 -0
  217. package/dist/cli/index.js.map +1 -0
  218. package/dist/client/Overlay.d.ts +3 -0
  219. package/dist/client/Overlay.d.ts.map +1 -0
  220. package/dist/client/Overlay.js +33 -0
  221. package/dist/client/Overlay.js.map +1 -0
  222. package/dist/client/ScrollState.d.ts +7 -0
  223. package/dist/client/ScrollState.d.ts.map +1 -0
  224. package/dist/client/ScrollState.js +95 -0
  225. package/dist/client/ScrollState.js.map +1 -0
  226. package/dist/client/index.d.ts +7 -0
  227. package/dist/client/index.d.ts.map +1 -0
  228. package/dist/client/index.js +80 -0
  229. package/dist/client/index.js.map +1 -0
  230. package/dist/datastar/actions/fetch.d.ts +31 -0
  231. package/dist/datastar/actions/fetch.d.ts.map +1 -0
  232. package/dist/datastar/actions/fetch.js +404 -0
  233. package/dist/datastar/actions/fetch.js.map +1 -0
  234. package/dist/datastar/actions/peek.d.ts +2 -0
  235. package/dist/datastar/actions/peek.d.ts.map +1 -0
  236. package/dist/datastar/actions/peek.js +14 -0
  237. package/dist/datastar/actions/peek.js.map +1 -0
  238. package/dist/datastar/actions/setAll.d.ts +2 -0
  239. package/dist/datastar/actions/setAll.d.ts.map +1 -0
  240. package/dist/datastar/actions/setAll.js +13 -0
  241. package/dist/datastar/actions/setAll.js.map +1 -0
  242. package/dist/datastar/actions/toggleAll.d.ts +2 -0
  243. package/dist/datastar/actions/toggleAll.d.ts.map +1 -0
  244. package/dist/datastar/actions/toggleAll.js +13 -0
  245. package/dist/datastar/actions/toggleAll.js.map +1 -0
  246. package/dist/datastar/attributes/attr.d.ts +2 -0
  247. package/dist/datastar/attributes/attr.d.ts.map +1 -0
  248. package/dist/datastar/attributes/attr.js +49 -0
  249. package/dist/datastar/attributes/attr.js.map +1 -0
  250. package/dist/datastar/attributes/bind.d.ts +2 -0
  251. package/dist/datastar/attributes/bind.d.ts.map +1 -0
  252. package/dist/datastar/attributes/bind.js +176 -0
  253. package/dist/datastar/attributes/bind.js.map +1 -0
  254. package/dist/datastar/attributes/class.d.ts +2 -0
  255. package/dist/datastar/attributes/class.d.ts.map +1 -0
  256. package/dist/datastar/attributes/class.js +48 -0
  257. package/dist/datastar/attributes/class.js.map +1 -0
  258. package/dist/datastar/attributes/computed.d.ts +2 -0
  259. package/dist/datastar/attributes/computed.d.ts.map +1 -0
  260. package/dist/datastar/attributes/computed.js +27 -0
  261. package/dist/datastar/attributes/computed.js.map +1 -0
  262. package/dist/datastar/attributes/effect.d.ts +2 -0
  263. package/dist/datastar/attributes/effect.d.ts.map +1 -0
  264. package/dist/datastar/attributes/effect.js +10 -0
  265. package/dist/datastar/attributes/effect.js.map +1 -0
  266. package/dist/datastar/attributes/indicator.d.ts +2 -0
  267. package/dist/datastar/attributes/indicator.d.ts.map +1 -0
  268. package/dist/datastar/attributes/indicator.js +31 -0
  269. package/dist/datastar/attributes/indicator.js.map +1 -0
  270. package/dist/datastar/attributes/init.d.ts +2 -0
  271. package/dist/datastar/attributes/init.d.ts.map +1 -0
  272. package/dist/datastar/attributes/init.js +27 -0
  273. package/dist/datastar/attributes/init.js.map +1 -0
  274. package/dist/datastar/attributes/jsonSignals.d.ts +2 -0
  275. package/dist/datastar/attributes/jsonSignals.d.ts.map +1 -0
  276. package/dist/datastar/attributes/jsonSignals.js +31 -0
  277. package/dist/datastar/attributes/jsonSignals.js.map +1 -0
  278. package/dist/datastar/attributes/on.d.ts +2 -0
  279. package/dist/datastar/attributes/on.d.ts.map +1 -0
  280. package/dist/datastar/attributes/on.js +79 -0
  281. package/dist/datastar/attributes/on.js.map +1 -0
  282. package/dist/datastar/attributes/onIntersect.d.ts +2 -0
  283. package/dist/datastar/attributes/onIntersect.d.ts.map +1 -0
  284. package/dist/datastar/attributes/onIntersect.js +54 -0
  285. package/dist/datastar/attributes/onIntersect.js.map +1 -0
  286. package/dist/datastar/attributes/onInterval.d.ts +2 -0
  287. package/dist/datastar/attributes/onInterval.d.ts.map +1 -0
  288. package/dist/datastar/attributes/onInterval.js +31 -0
  289. package/dist/datastar/attributes/onInterval.js.map +1 -0
  290. package/dist/datastar/attributes/onSignalPatch.d.ts +2 -0
  291. package/dist/datastar/attributes/onSignalPatch.d.ts.map +1 -0
  292. package/dist/datastar/attributes/onSignalPatch.js +43 -0
  293. package/dist/datastar/attributes/onSignalPatch.js.map +1 -0
  294. package/dist/datastar/attributes/ref.d.ts +2 -0
  295. package/dist/datastar/attributes/ref.d.ts.map +1 -0
  296. package/dist/datastar/attributes/ref.js +11 -0
  297. package/dist/datastar/attributes/ref.js.map +1 -0
  298. package/dist/datastar/attributes/show.d.ts +2 -0
  299. package/dist/datastar/attributes/show.d.ts.map +1 -0
  300. package/dist/datastar/attributes/show.js +32 -0
  301. package/dist/datastar/attributes/show.js.map +1 -0
  302. package/dist/datastar/attributes/signals.d.ts +2 -0
  303. package/dist/datastar/attributes/signals.d.ts.map +1 -0
  304. package/dist/datastar/attributes/signals.js +18 -0
  305. package/dist/datastar/attributes/signals.js.map +1 -0
  306. package/dist/datastar/attributes/style.d.ts +2 -0
  307. package/dist/datastar/attributes/style.d.ts.map +1 -0
  308. package/dist/datastar/attributes/style.js +51 -0
  309. package/dist/datastar/attributes/style.js.map +1 -0
  310. package/dist/datastar/attributes/text.d.ts +2 -0
  311. package/dist/datastar/attributes/text.d.ts.map +1 -0
  312. package/dist/datastar/attributes/text.js +27 -0
  313. package/dist/datastar/attributes/text.js.map +1 -0
  314. package/dist/datastar/engine.d.ts +163 -0
  315. package/dist/datastar/engine.d.ts.map +1 -0
  316. package/dist/datastar/engine.js +1000 -0
  317. package/dist/datastar/engine.js.map +1 -0
  318. package/dist/datastar/index.d.ts +25 -0
  319. package/dist/datastar/index.d.ts.map +1 -0
  320. package/dist/datastar/index.js +25 -0
  321. package/dist/datastar/index.js.map +1 -0
  322. package/dist/datastar/utils.d.ts +52 -0
  323. package/dist/datastar/utils.d.ts.map +1 -0
  324. package/dist/datastar/utils.js +203 -0
  325. package/dist/datastar/utils.js.map +1 -0
  326. package/dist/datastar/watchers/patchElements.d.ts +2 -0
  327. package/dist/datastar/watchers/patchElements.d.ts.map +1 -0
  328. package/dist/datastar/watchers/patchElements.js +400 -0
  329. package/dist/datastar/watchers/patchElements.js.map +1 -0
  330. package/dist/datastar/watchers/patchSignals.d.ts +2 -0
  331. package/dist/datastar/watchers/patchSignals.d.ts.map +1 -0
  332. package/dist/datastar/watchers/patchSignals.js +15 -0
  333. package/dist/datastar/watchers/patchSignals.js.map +1 -0
  334. package/dist/experimental/EncryptedCookies.d.ts +49 -0
  335. package/dist/experimental/EncryptedCookies.d.ts.map +1 -0
  336. package/dist/experimental/EncryptedCookies.js +213 -0
  337. package/dist/experimental/EncryptedCookies.js.map +1 -0
  338. package/dist/experimental/index.d.ts +2 -0
  339. package/dist/experimental/index.d.ts.map +1 -0
  340. package/dist/experimental/index.js +2 -0
  341. package/dist/experimental/index.js.map +1 -0
  342. package/dist/hyper/Hyper.d.ts +26 -0
  343. package/dist/hyper/Hyper.d.ts.map +1 -0
  344. package/dist/hyper/Hyper.js +24 -0
  345. package/dist/hyper/Hyper.js.map +1 -0
  346. package/dist/hyper/HyperHtml.d.ts +24 -0
  347. package/dist/hyper/HyperHtml.d.ts.map +1 -0
  348. package/dist/hyper/HyperHtml.js +153 -0
  349. package/dist/hyper/HyperHtml.js.map +1 -0
  350. package/dist/hyper/HyperHtml.test.d.ts +2 -0
  351. package/dist/hyper/HyperHtml.test.d.ts.map +1 -0
  352. package/dist/hyper/HyperHtml.test.js +283 -0
  353. package/dist/hyper/HyperHtml.test.js.map +1 -0
  354. package/dist/hyper/HyperNode.d.ts +14 -0
  355. package/dist/hyper/HyperNode.d.ts.map +1 -0
  356. package/dist/hyper/HyperNode.js +12 -0
  357. package/dist/hyper/HyperNode.js.map +1 -0
  358. package/dist/hyper/HyperRoute.d.ts +9 -0
  359. package/dist/hyper/HyperRoute.d.ts.map +1 -0
  360. package/dist/hyper/HyperRoute.js +33 -0
  361. package/dist/hyper/HyperRoute.js.map +1 -0
  362. package/dist/hyper/HyperRoute.test.d.ts +2 -0
  363. package/dist/hyper/HyperRoute.test.d.ts.map +1 -0
  364. package/dist/hyper/HyperRoute.test.js +84 -0
  365. package/dist/hyper/HyperRoute.test.js.map +1 -0
  366. package/dist/hyper/html.d.ts +12 -0
  367. package/dist/hyper/html.d.ts.map +1 -0
  368. package/dist/hyper/html.js +31 -0
  369. package/dist/hyper/html.js.map +1 -0
  370. package/dist/hyper/index.d.ts +7 -0
  371. package/dist/hyper/index.d.ts.map +1 -0
  372. package/dist/hyper/index.js +6 -0
  373. package/dist/hyper/index.js.map +1 -0
  374. package/dist/hyper/jsx-runtime.d.ts +8 -0
  375. package/dist/hyper/jsx-runtime.d.ts.map +1 -0
  376. package/dist/hyper/jsx-runtime.js +9 -0
  377. package/dist/hyper/jsx-runtime.js.map +1 -0
  378. package/dist/index.d.ts +9 -0
  379. package/dist/index.d.ts.map +1 -0
  380. package/dist/index.js +9 -0
  381. package/dist/index.js.map +1 -0
  382. package/dist/lint/plugin.d.ts +124 -0
  383. package/dist/lint/plugin.d.ts.map +1 -0
  384. package/dist/lint/plugin.js +533 -0
  385. package/dist/lint/plugin.js.map +1 -0
  386. package/dist/node/NodeFileSystem.d.ts +8 -0
  387. package/dist/node/NodeFileSystem.d.ts.map +1 -0
  388. package/dist/node/NodeFileSystem.js +412 -0
  389. package/dist/node/NodeFileSystem.js.map +1 -0
  390. package/dist/node/NodeUtils.d.ts +3 -0
  391. package/dist/node/NodeUtils.d.ts.map +1 -0
  392. package/dist/node/NodeUtils.js +21 -0
  393. package/dist/node/NodeUtils.js.map +1 -0
  394. package/dist/sql/SqlCache.d.ts +19 -0
  395. package/dist/sql/SqlCache.d.ts.map +1 -0
  396. package/dist/sql/SqlCache.js +35 -0
  397. package/dist/sql/SqlCache.js.map +1 -0
  398. package/dist/sql/SqlClient.d.ts +88 -0
  399. package/dist/sql/SqlClient.d.ts.map +1 -0
  400. package/dist/sql/SqlClient.js +171 -0
  401. package/dist/sql/SqlClient.js.map +1 -0
  402. package/dist/sql/SqlIntrospect.d.ts +92 -0
  403. package/dist/sql/SqlIntrospect.d.ts.map +1 -0
  404. package/dist/sql/SqlIntrospect.js +478 -0
  405. package/dist/sql/SqlIntrospect.js.map +1 -0
  406. package/dist/sql/bun/index.d.ts +6 -0
  407. package/dist/sql/bun/index.d.ts.map +1 -0
  408. package/dist/sql/bun/index.js +132 -0
  409. package/dist/sql/bun/index.js.map +1 -0
  410. package/dist/sql/index.d.ts +4 -0
  411. package/dist/sql/index.d.ts.map +1 -0
  412. package/dist/sql/index.js +4 -0
  413. package/dist/sql/index.js.map +1 -0
  414. package/dist/sql/libsql/index.d.ts +15 -0
  415. package/dist/sql/libsql/index.d.ts.map +1 -0
  416. package/dist/sql/libsql/index.js +132 -0
  417. package/dist/sql/libsql/index.js.map +1 -0
  418. package/dist/sql/mssql/index.d.ts +8 -0
  419. package/dist/sql/mssql/index.d.ts.map +1 -0
  420. package/dist/sql/mssql/index.js +145 -0
  421. package/dist/sql/mssql/index.js.map +1 -0
  422. package/dist/sql/postgres/index.d.ts +7 -0
  423. package/dist/sql/postgres/index.d.ts.map +1 -0
  424. package/dist/sql/postgres/index.js +136 -0
  425. package/dist/sql/postgres/index.js.map +1 -0
  426. package/dist/studio/Simulation.d.ts +3 -0
  427. package/dist/studio/Simulation.d.ts.map +1 -0
  428. package/dist/studio/Simulation.js +606 -0
  429. package/dist/studio/Simulation.js.map +1 -0
  430. package/dist/studio/Studio.d.ts +11 -0
  431. package/dist/studio/Studio.d.ts.map +1 -0
  432. package/dist/studio/Studio.js +30 -0
  433. package/dist/studio/Studio.js.map +1 -0
  434. package/dist/studio/StudioErrors.d.ts +4 -0
  435. package/dist/studio/StudioErrors.d.ts.map +1 -0
  436. package/dist/studio/StudioErrors.js +200 -0
  437. package/dist/studio/StudioErrors.js.map +1 -0
  438. package/dist/studio/StudioLogger.d.ts +2 -0
  439. package/dist/studio/StudioLogger.d.ts.map +1 -0
  440. package/dist/studio/StudioLogger.js +46 -0
  441. package/dist/studio/StudioLogger.js.map +1 -0
  442. package/dist/studio/StudioMetrics.d.ts +4 -0
  443. package/dist/studio/StudioMetrics.d.ts.map +1 -0
  444. package/dist/studio/StudioMetrics.js +62 -0
  445. package/dist/studio/StudioMetrics.js.map +1 -0
  446. package/dist/studio/StudioProcess.d.ts +4 -0
  447. package/dist/studio/StudioProcess.d.ts.map +1 -0
  448. package/dist/studio/StudioProcess.js +50 -0
  449. package/dist/studio/StudioProcess.js.map +1 -0
  450. package/dist/studio/StudioStore.d.ts +199 -0
  451. package/dist/studio/StudioStore.d.ts.map +1 -0
  452. package/dist/studio/StudioStore.js +307 -0
  453. package/dist/studio/StudioStore.js.map +1 -0
  454. package/dist/studio/StudioTracer.d.ts +4 -0
  455. package/dist/studio/StudioTracer.d.ts.map +1 -0
  456. package/dist/studio/StudioTracer.js +111 -0
  457. package/dist/studio/StudioTracer.js.map +1 -0
  458. package/dist/studio/index.d.ts +4 -0
  459. package/dist/studio/index.d.ts.map +1 -0
  460. package/dist/studio/index.js +4 -0
  461. package/dist/studio/index.js.map +1 -0
  462. package/dist/studio/routes/errors/route.d.ts +11 -0
  463. package/dist/studio/routes/errors/route.d.ts.map +1 -0
  464. package/dist/studio/routes/errors/route.js +43 -0
  465. package/dist/studio/routes/errors/route.js.map +1 -0
  466. package/dist/studio/routes/fiberDetail.d.ts +17 -0
  467. package/dist/studio/routes/fiberDetail.d.ts.map +1 -0
  468. package/dist/studio/routes/fiberDetail.js +35 -0
  469. package/dist/studio/routes/fiberDetail.js.map +1 -0
  470. package/dist/studio/routes/fibers/route.d.ts +11 -0
  471. package/dist/studio/routes/fibers/route.d.ts.map +1 -0
  472. package/dist/studio/routes/fibers/route.js +25 -0
  473. package/dist/studio/routes/fibers/route.js.map +1 -0
  474. package/dist/studio/routes/layout.d.ts +10 -0
  475. package/dist/studio/routes/layout.d.ts.map +1 -0
  476. package/dist/studio/routes/layout.html +340 -0
  477. package/dist/studio/routes/layout.js +4 -0
  478. package/dist/studio/routes/layout.js.map +1 -0
  479. package/dist/studio/routes/logs/route.d.ts +11 -0
  480. package/dist/studio/routes/logs/route.d.ts.map +1 -0
  481. package/dist/studio/routes/logs/route.js +30 -0
  482. package/dist/studio/routes/logs/route.js.map +1 -0
  483. package/dist/studio/routes/metrics/route.d.ts +11 -0
  484. package/dist/studio/routes/metrics/route.d.ts.map +1 -0
  485. package/dist/studio/routes/metrics/route.js +18 -0
  486. package/dist/studio/routes/metrics/route.js.map +1 -0
  487. package/dist/studio/routes/route.d.ts +7 -0
  488. package/dist/studio/routes/route.d.ts.map +1 -0
  489. package/dist/studio/routes/route.js +6 -0
  490. package/dist/studio/routes/route.js.map +1 -0
  491. package/dist/studio/routes/routes/route.d.ts +7 -0
  492. package/dist/studio/routes/routes/route.d.ts.map +1 -0
  493. package/dist/studio/routes/routes/route.js +21 -0
  494. package/dist/studio/routes/routes/route.js.map +1 -0
  495. package/dist/studio/routes/services/route.d.ts +7 -0
  496. package/dist/studio/routes/services/route.d.ts.map +1 -0
  497. package/dist/studio/routes/services/route.js +13 -0
  498. package/dist/studio/routes/services/route.js.map +1 -0
  499. package/dist/studio/routes/system/route.d.ts +11 -0
  500. package/dist/studio/routes/system/route.d.ts.map +1 -0
  501. package/dist/studio/routes/system/route.js +19 -0
  502. package/dist/studio/routes/system/route.js.map +1 -0
  503. package/dist/studio/routes/traceDetail.d.ts +17 -0
  504. package/dist/studio/routes/traceDetail.d.ts.map +1 -0
  505. package/dist/studio/routes/traceDetail.js +20 -0
  506. package/dist/studio/routes/traceDetail.js.map +1 -0
  507. package/dist/studio/routes/traces/route.d.ts +11 -0
  508. package/dist/studio/routes/traces/route.d.ts.map +1 -0
  509. package/dist/studio/routes/traces/route.js +30 -0
  510. package/dist/studio/routes/traces/route.js.map +1 -0
  511. package/dist/studio/routes/tree.d.ts +142 -0
  512. package/dist/studio/routes/tree.d.ts.map +1 -0
  513. package/dist/studio/routes/tree.js +28 -0
  514. package/dist/studio/routes/tree.js.map +1 -0
  515. package/dist/studio/ui/Errors.d.ts +5 -0
  516. package/dist/studio/ui/Errors.d.ts.map +1 -0
  517. package/dist/studio/ui/Errors.js +17 -0
  518. package/dist/studio/ui/Errors.js.map +1 -0
  519. package/dist/studio/ui/Fibers.d.ts +25 -0
  520. package/dist/studio/ui/Fibers.d.ts.map +1 -0
  521. package/dist/studio/ui/Fibers.js +134 -0
  522. package/dist/studio/ui/Fibers.js.map +1 -0
  523. package/dist/studio/ui/Logs.d.ts +5 -0
  524. package/dist/studio/ui/Logs.d.ts.map +1 -0
  525. package/dist/studio/ui/Logs.js +27 -0
  526. package/dist/studio/ui/Logs.js.map +1 -0
  527. package/dist/studio/ui/Metrics.d.ts +5 -0
  528. package/dist/studio/ui/Metrics.d.ts.map +1 -0
  529. package/dist/studio/ui/Metrics.js +27 -0
  530. package/dist/studio/ui/Metrics.js.map +1 -0
  531. package/dist/studio/ui/Routes.d.ts +9 -0
  532. package/dist/studio/ui/Routes.d.ts.map +1 -0
  533. package/dist/studio/ui/Routes.js +71 -0
  534. package/dist/studio/ui/Routes.js.map +1 -0
  535. package/dist/studio/ui/Services.d.ts +11 -0
  536. package/dist/studio/ui/Services.d.ts.map +1 -0
  537. package/dist/studio/ui/Services.js +247 -0
  538. package/dist/studio/ui/Services.js.map +1 -0
  539. package/dist/studio/ui/Shell.d.ts +11 -0
  540. package/dist/studio/ui/Shell.d.ts.map +1 -0
  541. package/dist/studio/ui/Shell.js +8 -0
  542. package/dist/studio/ui/Shell.js.map +1 -0
  543. package/dist/studio/ui/System.d.ts +5 -0
  544. package/dist/studio/ui/System.d.ts.map +1 -0
  545. package/dist/studio/ui/System.js +36 -0
  546. package/dist/studio/ui/System.js.map +1 -0
  547. package/dist/studio/ui/Traces.d.ts +13 -0
  548. package/dist/studio/ui/Traces.d.ts.map +1 -0
  549. package/dist/studio/ui/Traces.js +182 -0
  550. package/dist/studio/ui/Traces.js.map +1 -0
  551. package/dist/testing/TestLogger.d.ts +14 -0
  552. package/dist/testing/TestLogger.d.ts.map +1 -0
  553. package/dist/testing/TestLogger.js +33 -0
  554. package/dist/testing/TestLogger.js.map +1 -0
  555. package/dist/testing/index.d.ts +3 -0
  556. package/dist/testing/index.d.ts.map +1 -0
  557. package/dist/testing/index.js +3 -0
  558. package/dist/testing/index.js.map +1 -0
  559. package/dist/testing/utils.d.ts +12 -0
  560. package/dist/testing/utils.d.ts.map +1 -0
  561. package/dist/testing/utils.js +79 -0
  562. package/dist/testing/utils.js.map +1 -0
  563. package/dist/x/cloudflare/CloudflareTunnel.d.ts +12 -0
  564. package/dist/x/cloudflare/CloudflareTunnel.d.ts.map +1 -0
  565. package/dist/x/cloudflare/CloudflareTunnel.js +31 -0
  566. package/dist/x/cloudflare/CloudflareTunnel.js.map +1 -0
  567. package/dist/x/cloudflare/index.d.ts +2 -0
  568. package/dist/x/cloudflare/index.d.ts.map +1 -0
  569. package/dist/x/cloudflare/index.js +2 -0
  570. package/dist/x/cloudflare/index.js.map +1 -0
  571. package/dist/x/tailscale/TailscaleTunnel.d.ts +16 -0
  572. package/dist/x/tailscale/TailscaleTunnel.d.ts.map +1 -0
  573. package/dist/x/tailscale/TailscaleTunnel.js +65 -0
  574. package/dist/x/tailscale/TailscaleTunnel.js.map +1 -0
  575. package/dist/x/tailscale/index.d.ts +2 -0
  576. package/dist/x/tailscale/index.d.ts.map +1 -0
  577. package/dist/x/tailscale/index.js +2 -0
  578. package/dist/x/tailscale/index.js.map +1 -0
  579. package/dist/x/tailwind/TailwindPlugin.d.ts +24 -0
  580. package/dist/x/tailwind/TailwindPlugin.d.ts.map +1 -0
  581. package/dist/x/tailwind/TailwindPlugin.js +220 -0
  582. package/dist/x/tailwind/TailwindPlugin.js.map +1 -0
  583. package/dist/x/tailwind/compile.d.ts +20 -0
  584. package/dist/x/tailwind/compile.d.ts.map +1 -0
  585. package/dist/x/tailwind/compile.js +155 -0
  586. package/dist/x/tailwind/compile.js.map +1 -0
  587. package/dist/x/tailwind/plugin.d.ts +3 -0
  588. package/dist/x/tailwind/plugin.d.ts.map +1 -0
  589. package/dist/x/tailwind/plugin.js +16 -0
  590. package/dist/x/tailwind/plugin.js.map +1 -0
  591. package/package.json +89 -26
  592. package/src/Cookies.ts +4 -8
  593. package/src/Entity.ts +24 -19
  594. package/src/Fetch.ts +128 -5
  595. package/src/FileRouter.ts +46 -49
  596. package/src/FileRouterCodegen.ts +9 -23
  597. package/src/FileSystem.ts +44 -67
  598. package/src/GlobalLayer.ts +85 -0
  599. package/src/PlatformRuntime.ts +8 -1
  600. package/src/Route.ts +2 -2
  601. package/src/RouteBody.ts +1 -1
  602. package/src/RouteHook.ts +1 -1
  603. package/src/RouteHttp.ts +133 -113
  604. package/src/RouteMount.ts +3 -3
  605. package/src/RouteSchema.ts +2 -2
  606. package/src/RouteSse.ts +28 -37
  607. package/src/RouteTree.ts +2 -2
  608. package/src/RouteTrie.ts +1 -1
  609. package/src/Socket.ts +17 -27
  610. package/src/Start.ts +67 -64
  611. package/src/System.ts +42 -9
  612. package/src/Unique.ts +59 -0
  613. package/src/{ChildProcess.ts → _ChildProcess.ts} +16 -28
  614. package/src/{Development.ts → _Development.ts} +16 -21
  615. package/src/_Docker.ts +190 -0
  616. package/src/{Effectify.ts → _Effectify.ts} +7 -10
  617. package/src/{Http.ts → _Http.ts} +0 -28
  618. package/src/{PathPattern.ts → _PathPattern.ts} +105 -0
  619. package/src/{SchemaExtra.ts → _SchemaExtra.ts} +3 -4
  620. package/src/bun/BunChildProcessSpawner.ts +10 -17
  621. package/src/bun/BunRoute.ts +6 -8
  622. package/src/bun/BunRuntime.ts +2 -8
  623. package/src/bun/BunServer.ts +57 -5
  624. package/src/bundler/BundleRoute.ts +2 -2
  625. package/src/cli/Argument.ts +45 -0
  626. package/src/cli/CliError.ts +68 -0
  627. package/src/cli/Command.ts +685 -0
  628. package/src/cli/Flag.ts +63 -0
  629. package/src/cli/HelpDoc.ts +67 -0
  630. package/src/cli/Param.ts +418 -0
  631. package/src/cli/Primitive.ts +94 -0
  632. package/src/cli/index.ts +7 -0
  633. package/src/datastar/watchers/patchElements.ts +3 -2
  634. package/src/hyper/HyperHtml.test.tsx +395 -0
  635. package/src/hyper/HyperNode.ts +1 -2
  636. package/src/hyper/HyperRoute.test.tsx +166 -0
  637. package/src/hyper/HyperRoute.ts +1 -1
  638. package/src/index.ts +1 -1
  639. package/src/lint/plugin.js +179 -125
  640. package/src/node/NodeFileSystem.ts +15 -14
  641. package/src/sql/SqlCache.ts +63 -0
  642. package/src/sql/SqlClient.ts +60 -15
  643. package/src/{SqlIntrospect.ts → sql/SqlIntrospect.ts} +13 -11
  644. package/src/sql/bun/index.ts +29 -27
  645. package/src/sql/index.ts +2 -0
  646. package/src/sql/libsql/index.ts +63 -29
  647. package/src/sql/mssql/index.ts +54 -58
  648. package/src/sql/postgres/index.ts +254 -0
  649. package/src/studio/Simulation.ts +776 -0
  650. package/src/studio/Studio.ts +47 -0
  651. package/src/studio/StudioErrors.ts +224 -0
  652. package/src/studio/StudioLogger.ts +52 -0
  653. package/src/studio/StudioMetrics.ts +72 -0
  654. package/src/studio/StudioProcess.ts +59 -0
  655. package/src/studio/StudioStore.ts +505 -0
  656. package/src/studio/StudioTracer.ts +128 -0
  657. package/src/studio/index.ts +3 -0
  658. package/src/studio/routes/errors/route.tsx +90 -0
  659. package/src/studio/routes/fiberDetail.tsx +51 -0
  660. package/src/studio/routes/fibers/route.tsx +46 -0
  661. package/src/studio/routes/layout.html +340 -0
  662. package/src/studio/routes/layout.tsx +4 -0
  663. package/src/studio/routes/logs/route.tsx +73 -0
  664. package/src/studio/routes/metrics/route.tsx +36 -0
  665. package/src/studio/routes/route.tsx +8 -0
  666. package/src/studio/routes/routes/route.tsx +30 -0
  667. package/src/studio/routes/services/route.tsx +21 -0
  668. package/src/studio/routes/system/route.tsx +43 -0
  669. package/src/studio/routes/traceDetail.tsx +30 -0
  670. package/src/studio/routes/traces/route.tsx +72 -0
  671. package/src/studio/routes/tree.ts +28 -0
  672. package/src/studio/ui/Errors.tsx +80 -0
  673. package/src/studio/ui/Fibers.tsx +336 -0
  674. package/src/studio/ui/Logs.tsx +50 -0
  675. package/src/studio/ui/Metrics.tsx +78 -0
  676. package/src/studio/ui/Routes.tsx +125 -0
  677. package/src/studio/ui/Services.tsx +273 -0
  678. package/src/studio/ui/Shell.tsx +74 -0
  679. package/src/studio/ui/System.tsx +141 -0
  680. package/src/studio/ui/Traces.tsx +419 -0
  681. package/src/testing/utils.ts +59 -0
  682. package/src/x/cloudflare/CloudflareTunnel.ts +1 -1
  683. package/src/x/tailscale/TailscaleTunnel.ts +6 -7
  684. package/src/x/tailwind/compile.ts +6 -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/sql/mssql/docker.ts +0 -117
  690. /package/src/{ContentNegotiation.ts → _ContentNegotiation.ts} +0 -0
  691. /package/src/{StartApp.ts → _StartApp.ts} +0 -0
  692. /package/src/{StreamExtra.ts → _StreamExtra.ts} +0 -0
  693. /package/src/{Values.ts → _Values.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Flag.d.ts","sourceRoot":"","sources":["../../src/cli/Flag.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAGnC,MAAM,WAAW,IAAI,CAAC,CAAC,CAAE,SAAQ,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;CAAG;AAI1D,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,KAAG,IAAI,CAAC,MAAM,CAAqC,CAAA;AACtF,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,KAAG,IAAI,CAAC,OAAO,CAAsC,CAAA;AACzF,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,KAAG,IAAI,CAAC,MAAM,CAAsC,CAAA;AACxF,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,KAAG,IAAI,CAAC,MAAM,CAAoC,CAAA;AACpF,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,KAAG,IAAI,CAAC,IAAI,CAAmC,CAAA;AAChF,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAClC,CAAA;AACpC,eAAO,MAAM,MAAM,GAAI,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,EAC1D,MAAM,MAAM,EACZ,SAAS,CAAC,KACT,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAKb,CAAA;AACJ,eAAO,MAAM,eAAe,GAAI,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EACnF,MAAM,MAAM,EACZ,SAAS,CAAC,KACT,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACqE,CAAA;AACzF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOpC,CAAA;AACnC,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,KAAK,CAIZ,CAAA;AAEjB,eAAO,MAAM,SAAS,EAAE;IACtB,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;CAI3C,CAAA;AAGD,eAAO,MAAM,QAAQ,6FAAuB,CAAA;AAC5C,eAAO,MAAM,WAAW,iHAA0B,CAAA;AAClD,eAAO,MAAM,eAAe,8GAA8B,CAAA;AAC1D,eAAO,MAAM,WAAW,iHAA0B,CAAA;AAClD,eAAO,MAAM,GAAG,mHAAkB,CAAA;AAClC,eAAO,MAAM,SAAS,4LAAwB,CAAA;AAC9C,eAAO,MAAM,QAAQ;OAIs8R,CAAC;OAAa,CAAC;wCAJ97R,CAAA;AAC5C,eAAO,MAAM,MAAM,oJAAqB,CAAA;AACxC,eAAO,MAAM,UAAU,wJAAyB,CAAA;AAChD,eAAO,MAAM,MAAM,2IAAqB,CAAA"}
@@ -0,0 +1,35 @@
1
+ import * as Function from "effect/Function";
2
+ import * as Param from "./Param.js";
3
+ import * as Primitive from "./Primitive.js";
4
+ const flagMake = Param.makeConstructor("flag");
5
+ export const string = (name) => flagMake(name, Primitive.string);
6
+ export const boolean = (name) => flagMake(name, Primitive.boolean);
7
+ export const integer = (name) => flagMake(name, Primitive.integer);
8
+ export const float = (name) => flagMake(name, Primitive.float);
9
+ export const date = (name) => flagMake(name, Primitive.date);
10
+ export const redacted = (name) => flagMake(name, Primitive.redacted);
11
+ export const choice = (name, choices) => Param.makeSingleParam({
12
+ kind: "flag",
13
+ name,
14
+ primitiveType: Primitive.choice(choices.map((v) => [v, v])),
15
+ });
16
+ export const choiceWithValue = (name, choices) => Param.makeSingleParam({ kind: "flag", name, primitiveType: Primitive.choice(choices) });
17
+ export const keyValuePair = (name) => Param.paramMap(Param.paramVariadic(Param.makeSingleParam({ kind: "flag", name, primitiveType: Primitive.keyValuePair }), { min: 1 }), (objs) => Object.assign({}, ...objs));
18
+ export const none = Param.makeSingleParam({
19
+ kind: "flag",
20
+ name: "__none__",
21
+ primitiveType: Primitive.none,
22
+ });
23
+ export const withAlias = Function.dual(2, (self, alias) => Param.paramWithAlias(self, alias));
24
+ const combinators = Param.makeParamCombinators("flag");
25
+ export const optional = combinators.optional;
26
+ export const withDefault = combinators.withDefault;
27
+ export const withDescription = combinators.withDescription;
28
+ export const withMetavar = combinators.withMetavar;
29
+ export const map = combinators.map;
30
+ export const mapEffect = combinators.mapEffect;
31
+ export const variadic = combinators.variadic;
32
+ export const filter = combinators.filter;
33
+ export const withSchema = combinators.withSchema;
34
+ export const orElse = combinators.orElse;
35
+ //# sourceMappingURL=Flag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Flag.js","sourceRoot":"","sources":["../../src/cli/Flag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ export interface HelpDoc {
2
+ readonly description: string;
3
+ readonly usage: string;
4
+ readonly flags: ReadonlyArray<FlagDoc>;
5
+ readonly args?: ReadonlyArray<ArgDoc>;
6
+ readonly subcommands?: ReadonlyArray<SubcommandDoc>;
7
+ }
8
+ export interface FlagDoc {
9
+ readonly name: string;
10
+ readonly aliases: ReadonlyArray<string>;
11
+ readonly type: string;
12
+ readonly description: string | undefined;
13
+ readonly required: boolean;
14
+ }
15
+ export interface SubcommandDoc {
16
+ readonly name: string;
17
+ readonly description: string;
18
+ }
19
+ export interface ArgDoc {
20
+ readonly name: string;
21
+ readonly type: string;
22
+ readonly description: string | undefined;
23
+ readonly required: boolean;
24
+ readonly variadic: boolean;
25
+ }
26
+ export declare const formatHelpDoc: (doc: HelpDoc) => string;
27
+ export declare const formatVersion: (name: string, version: string) => string;
28
+ //# sourceMappingURL=HelpDoc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HelpDoc.d.ts","sourceRoot":"","sources":["../../src/cli/HelpDoc.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;CACpD;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC3B;AAED,eAAO,MAAM,aAAa,GAAI,KAAK,OAAO,KAAG,MAmC5C,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,MAA+B,CAAA"}
@@ -0,0 +1,40 @@
1
+ export const formatHelpDoc = (doc) => {
2
+ const sections = [];
3
+ if (doc.description) {
4
+ sections.push("DESCRIPTION");
5
+ sections.push(` ${doc.description}`);
6
+ sections.push("");
7
+ }
8
+ sections.push("USAGE");
9
+ sections.push(` ${doc.usage}`);
10
+ sections.push("");
11
+ if (doc.args && doc.args.length > 0) {
12
+ sections.push("ARGUMENTS");
13
+ for (const a of doc.args) {
14
+ let n = a.name + (a.variadic ? "..." : "");
15
+ const opt = a.required ? "" : " (optional)";
16
+ sections.push(` ${n} ${a.type} ${(a.description ?? "") + opt}`);
17
+ }
18
+ sections.push("");
19
+ }
20
+ if (doc.flags.length > 0) {
21
+ sections.push("FLAGS");
22
+ for (const f of doc.flags) {
23
+ const names = [`--${f.name}`, ...f.aliases].join(", ");
24
+ const tp = f.type !== "boolean" ? ` ${f.type}` : "";
25
+ sections.push(` ${names}${tp} ${f.description ?? ""}`);
26
+ }
27
+ sections.push("");
28
+ }
29
+ if (doc.subcommands && doc.subcommands.length > 0) {
30
+ sections.push("SUBCOMMANDS");
31
+ for (const s of doc.subcommands)
32
+ sections.push(` ${s.name} ${s.description}`);
33
+ sections.push("");
34
+ }
35
+ if (sections[sections.length - 1] === "")
36
+ sections.pop();
37
+ return sections.join("\n");
38
+ };
39
+ export const formatVersion = (name, version) => `${name} v${version}`;
40
+ //# sourceMappingURL=HelpDoc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HelpDoc.js","sourceRoot":"","sources":["../../src/cli/HelpDoc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Option from "effect/Option";
3
+ import * as Pipeable from "effect/Pipeable";
4
+ import * as Schema from "effect/Schema";
5
+ import * as CliError from "./CliError.ts";
6
+ import * as Primitive from "./Primitive.ts";
7
+ export type ParamKind = "argument" | "flag";
8
+ export interface Param<Kind extends ParamKind, out A> extends Pipeable.Pipeable {
9
+ readonly _tag: string;
10
+ readonly kind: Kind;
11
+ readonly parse: ParamParse<A>;
12
+ }
13
+ export type ParamParse<A> = (args: ParsedArgs) => Effect.Effect<readonly [leftover: ReadonlyArray<string>, value: A], CliError.CliError>;
14
+ export interface ParsedArgs {
15
+ readonly flags: Record<string, ReadonlyArray<string>>;
16
+ readonly arguments: ReadonlyArray<string>;
17
+ }
18
+ export interface SingleParam<Kind extends ParamKind, out A> extends Param<Kind, A> {
19
+ readonly _tag: "Single";
20
+ readonly name: string;
21
+ readonly description: string | undefined;
22
+ readonly aliases: ReadonlyArray<string>;
23
+ readonly primitiveType: Primitive.Primitive<A>;
24
+ readonly typeName?: string | undefined;
25
+ }
26
+ export declare const isParam: (u: unknown) => u is Param<any, any>;
27
+ export declare const isFlagParam: <A>(s: SingleParam<ParamKind, A>) => s is SingleParam<"flag", A>;
28
+ export declare const makeSingleParam: <Kind extends ParamKind, A>(opts: {
29
+ kind: Kind;
30
+ name: string;
31
+ primitiveType: Primitive.Primitive<A>;
32
+ typeName?: string;
33
+ description?: string;
34
+ aliases?: ReadonlyArray<string>;
35
+ }) => SingleParam<Kind, A>;
36
+ export declare const extractSingleParams: <K extends ParamKind>(p: Param<K, any>) => Array<SingleParam<K, any>>;
37
+ export declare const getUnderlyingSingle: <K extends ParamKind>(p: Param<K, any>) => SingleParam<K, any>;
38
+ export declare const getParamMetadata: (p: Param<any, any>) => {
39
+ isOptional: boolean;
40
+ isVariadic: boolean;
41
+ };
42
+ export declare const transformSingle: <K extends ParamKind, A>(p: Param<K, A>, f: <X>(s: SingleParam<K, X>) => SingleParam<K, X>) => Param<K, A>;
43
+ export declare const paramMap: <K extends ParamKind, A, B>(self: Param<K, A>, f: (a: A) => B) => Param<K, B>;
44
+ export declare const paramTransform: <K extends ParamKind, A, B>(self: Param<K, A>, f: (parse: ParamParse<A>) => ParamParse<B>) => Param<K, B>;
45
+ export declare const paramMapEffect: <K extends ParamKind, A, B>(self: Param<K, A>, f: (a: A) => Effect.Effect<B, CliError.CliError>) => Param<K, B>;
46
+ export declare const paramOptional: <K extends ParamKind, A>(p: Param<K, A>) => Param<K, Option.Option<A>>;
47
+ export declare const paramWithDefault: <K extends ParamKind, A, B>(self: Param<K, A>, defaultValue: B) => Param<K, A | B>;
48
+ export declare const paramVariadic: <K extends ParamKind, A>(self: Param<K, A>, options?: {
49
+ min?: number;
50
+ max?: number;
51
+ }) => Param<K, ReadonlyArray<A>>;
52
+ export declare const paramWithAlias: <K extends ParamKind, A>(self: Param<K, A>, alias: string) => Param<K, A>;
53
+ export declare const paramWithDescription: <K extends ParamKind, A>(self: Param<K, A>, desc: string) => Param<K, A>;
54
+ export declare const paramWithMetavar: <K extends ParamKind, A>(self: Param<K, A>, metavar: string) => Param<K, A>;
55
+ export declare const makeParamCombinators: <K extends ParamKind>(_kind: K) => {
56
+ optional: <A>(self: Param<K, A>) => Param<K, Option.Option<A>>;
57
+ withDefault: ((...args: Array<any>) => any) & (<A, B>(self: Param<K, A>, value: B) => Param<K, A | B>);
58
+ withDescription: ((...args: Array<any>) => any) & (<A>(self: Param<K, A>, desc: string) => Param<K, A>);
59
+ withMetavar: ((...args: Array<any>) => any) & (<A>(self: Param<K, A>, metavar: string) => Param<K, A>);
60
+ map: ((...args: Array<any>) => any) & (<A, B_1>(self: Param<K, A>, f: (a: A) => B_1) => Param<K, B_1>);
61
+ mapEffect: ((...args: Array<any>) => any) & (<A, B_2>(self: Param<K, A>, f: (a: A) => Effect.Effect<B_2, CliError.CliError>) => Param<K, B_2>);
62
+ variadic: ((...args: Array<any>) => any) & (<A>(self: Param<K, A>, options?: {
63
+ min?: number;
64
+ max?: number;
65
+ }) => Param<K, ReadonlyArray<A>>);
66
+ filter: ((...args: Array<any>) => any) & (<A>(self: Param<K, A>, pred: (a: A) => boolean, onFalse: (a: A) => string) => Param<K, A>);
67
+ withSchema: ((...args: Array<any>) => any) & (<A, B_3>(self: Param<K, A>, schema: Schema.Schema<B_3, A>) => Param<K, B_3>);
68
+ orElse: ((...args: Array<any>) => any) & (<A, B_4>(self: Param<K, A>, that: () => Param<K, B_4>) => Param<K, A | B_4>);
69
+ };
70
+ export declare const makeConstructor: <K extends ParamKind>(kind: K) => (name: string, prim: Primitive.Primitive<any>) => SingleParam<K, any>;
71
+ //# sourceMappingURL=Param.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Param.d.ts","sourceRoot":"","sources":["../../src/cli/Param.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,236 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Function from "effect/Function";
3
+ import * as Option from "effect/Option";
4
+ import * as Pipeable from "effect/Pipeable";
5
+ import * as Schema from "effect/Schema";
6
+ import * as CliError from "./CliError.js";
7
+ import * as Primitive from "./Primitive.js";
8
+ const ParamProto = {
9
+ pipe() {
10
+ return Pipeable.pipeArguments(this, arguments);
11
+ },
12
+ };
13
+ export const isParam = (u) => typeof u === "object" && u !== null && "_tag" in u && "kind" in u && "parse" in u;
14
+ export const isFlagParam = (s) => s.kind === "flag";
15
+ export const makeSingleParam = (opts) => {
16
+ const parse = (args) => opts.kind === "argument"
17
+ ? parsePositional(opts.name, opts.primitiveType, args)
18
+ : parseFlag(opts.name, opts.primitiveType, args);
19
+ return Object.assign(Object.create(ParamProto), {
20
+ _tag: "Single",
21
+ ...opts,
22
+ description: opts.description,
23
+ aliases: opts.aliases ?? [],
24
+ parse,
25
+ });
26
+ };
27
+ export const extractSingleParams = (p) => {
28
+ if (p._tag === "Single")
29
+ return [p];
30
+ if ("param" in p)
31
+ return extractSingleParams(p.param);
32
+ return [];
33
+ };
34
+ export const getUnderlyingSingle = (p) => {
35
+ const singles = extractSingleParams(p);
36
+ if (singles.length !== 1)
37
+ throw new Error(`Expected exactly one Single param, got ${singles.length}`);
38
+ return singles[0];
39
+ };
40
+ export const getParamMetadata = (p) => {
41
+ if (p._tag === "Optional")
42
+ return { ...getParamMetadata(p.param), isOptional: true };
43
+ if (p._tag === "Variadic")
44
+ return { ...getParamMetadata(p.param), isVariadic: true };
45
+ if ("param" in p)
46
+ return getParamMetadata(p.param);
47
+ return { isOptional: false, isVariadic: false };
48
+ };
49
+ export const transformSingle = (p, f) => {
50
+ if (p._tag === "Single")
51
+ return f(p);
52
+ if (p._tag === "Map") {
53
+ const m = p;
54
+ return paramMap(transformSingle(m.param, f), m.f);
55
+ }
56
+ if (p._tag === "Transform") {
57
+ const t = p;
58
+ return paramTransform(transformSingle(t.param, f), t.f);
59
+ }
60
+ if (p._tag === "Optional") {
61
+ const o = p;
62
+ return paramOptional(transformSingle(o.param, f));
63
+ }
64
+ if (p._tag === "Variadic") {
65
+ const v = p;
66
+ return paramVariadic(transformSingle(v.param, f), { min: v.min, max: v.max });
67
+ }
68
+ return p;
69
+ };
70
+ const parsePositional = (name, prim, args) => Effect.gen(function* () {
71
+ if (args.arguments.length === 0)
72
+ return yield* Effect.fail(new CliError.CliError({ reason: "MissingArgument", argument: name }));
73
+ const value = yield* Effect.mapError(prim.parse(args.arguments[0]), (error) => new CliError.CliError({
74
+ reason: "InvalidValue",
75
+ option: name,
76
+ value: args.arguments[0],
77
+ expected: error,
78
+ kind: "argument",
79
+ }));
80
+ return [args.arguments.slice(1), value];
81
+ });
82
+ const parseFlag = (name, prim, args) => Effect.gen(function* () {
83
+ const values = args.flags[name];
84
+ if (!values || values.length === 0) {
85
+ if (Primitive.isBoolean(prim))
86
+ return [args.arguments, false];
87
+ return yield* Effect.fail(new CliError.CliError({ reason: "MissingOption", option: name }));
88
+ }
89
+ const value = yield* Effect.mapError(prim.parse(values[0]), (error) => new CliError.CliError({
90
+ reason: "InvalidValue",
91
+ option: name,
92
+ value: values[0],
93
+ expected: error,
94
+ kind: "flag",
95
+ }));
96
+ return [args.arguments, value];
97
+ });
98
+ export const paramMap = (self, f) => {
99
+ const parse = (args) => Effect.map(self.parse(args), ([l, v]) => [l, f(v)]);
100
+ return Object.assign(Object.create(ParamProto), {
101
+ _tag: "Map",
102
+ kind: self.kind,
103
+ param: self,
104
+ f,
105
+ parse,
106
+ });
107
+ };
108
+ export const paramTransform = (self, f) => Object.assign(Object.create(ParamProto), {
109
+ _tag: "Transform",
110
+ kind: self.kind,
111
+ param: self,
112
+ f,
113
+ parse: f(self.parse),
114
+ });
115
+ export const paramMapEffect = (self, f) => paramTransform(self, (parse) => (args) => Effect.flatMap(parse(args), ([l, a]) => Effect.map(f(a), (b) => [l, b])));
116
+ export const paramOptional = (p) => {
117
+ const parse = (args) => p.parse(args).pipe(Effect.map(([l, v]) => [l, Option.some(v)]), Effect.catchAll((e) => e.reason === "MissingOption" || e.reason === "MissingArgument"
118
+ ? Effect.succeed([args.arguments, Option.none()])
119
+ : Effect.fail(e)));
120
+ return Object.assign(Object.create(ParamProto), {
121
+ _tag: "Optional",
122
+ kind: p.kind,
123
+ param: p,
124
+ parse,
125
+ });
126
+ };
127
+ export const paramWithDefault = (self, defaultValue) => paramMap(paramOptional(self), Option.getOrElse(() => defaultValue));
128
+ export const paramVariadic = (self, options) => {
129
+ const single = getUnderlyingSingle(self);
130
+ const parse = (args) => {
131
+ if (single.kind === "argument")
132
+ return parsePositionalVariadic(self, single, args, options);
133
+ return parseOptionVariadic(self, single, args, options);
134
+ };
135
+ return Object.assign(Object.create(ParamProto), {
136
+ _tag: "Variadic",
137
+ kind: self.kind,
138
+ param: self,
139
+ min: options?.min,
140
+ max: options?.max,
141
+ parse,
142
+ });
143
+ };
144
+ const parsePositionalVariadic = (self, single, args, options) => Effect.gen(function* () {
145
+ const results = [];
146
+ const min = options?.min ?? 0;
147
+ const max = options?.max ?? Infinity;
148
+ let current = args.arguments;
149
+ while (current.length > 0 && results.length < max) {
150
+ const [remaining, value] = yield* self.parse({ flags: args.flags, arguments: current });
151
+ results.push(value);
152
+ current = remaining;
153
+ }
154
+ if (results.length < min) {
155
+ return yield* Effect.fail(new CliError.CliError({
156
+ reason: "InvalidValue",
157
+ option: single.name,
158
+ value: `${results.length} values`,
159
+ expected: `at least ${min} value${min === 1 ? "" : "s"}`,
160
+ kind: single.kind,
161
+ }));
162
+ }
163
+ return [current, results];
164
+ });
165
+ const parseOptionVariadic = (self, single, args, options) => Effect.gen(function* () {
166
+ const names = [single.name, ...single.aliases];
167
+ const values = names.flatMap((n) => args.flags[n] ?? []);
168
+ const count = values.length;
169
+ if (options?.min !== undefined && count < options.min) {
170
+ return yield* count === 0
171
+ ? Effect.fail(new CliError.CliError({ reason: "MissingOption", option: single.name }))
172
+ : Effect.fail(new CliError.CliError({
173
+ reason: "InvalidValue",
174
+ option: single.name,
175
+ value: `${count} occurrences`,
176
+ expected: `at least ${options.min} value${options.min === 1 ? "" : "s"}`,
177
+ kind: single.kind,
178
+ }));
179
+ }
180
+ if (options?.max !== undefined && count > options.max) {
181
+ return yield* Effect.fail(new CliError.CliError({
182
+ reason: "InvalidValue",
183
+ option: single.name,
184
+ value: `${count} occurrences`,
185
+ expected: `at most ${options.max} value${options.max === 1 ? "" : "s"}`,
186
+ kind: single.kind,
187
+ }));
188
+ }
189
+ const results = [];
190
+ for (const v of values) {
191
+ const [, parsed] = yield* self.parse({ flags: { [single.name]: [v] }, arguments: [] });
192
+ results.push(parsed);
193
+ }
194
+ return [args.arguments, results];
195
+ });
196
+ const DASH_RE = /^-+/;
197
+ export const paramWithAlias = (self, alias) => transformSingle(self, (s) => makeSingleParam({ ...s, aliases: [...s.aliases, alias.replace(DASH_RE, "")] }));
198
+ export const paramWithDescription = (self, desc) => transformSingle(self, (s) => makeSingleParam({ ...s, description: desc }));
199
+ export const paramWithMetavar = (self, metavar) => transformSingle(self, (s) => makeSingleParam({ ...s, typeName: metavar }));
200
+ export const makeParamCombinators = (_kind) => ({
201
+ optional: (self) => paramOptional(self),
202
+ withDefault: Function.dual(2, (self, value) => paramWithDefault(self, value)),
203
+ withDescription: Function.dual(2, (self, desc) => paramWithDescription(self, desc)),
204
+ withMetavar: Function.dual(2, (self, metavar) => paramWithMetavar(self, metavar)),
205
+ map: Function.dual(2, (self, f) => paramMap(self, f)),
206
+ mapEffect: Function.dual(2, (self, f) => paramMapEffect(self, f)),
207
+ variadic: Function.dual(2, (self, options) => paramVariadic(self, options)),
208
+ filter: Function.dual(3, (self, pred, onFalse) => paramMapEffect(self, (a) => {
209
+ if (pred(a))
210
+ return Effect.succeed(a);
211
+ const s = getUnderlyingSingle(self);
212
+ return Effect.fail(new CliError.CliError({
213
+ reason: "InvalidValue",
214
+ option: s.name,
215
+ value: String(a),
216
+ expected: onFalse(a),
217
+ kind: s.kind,
218
+ }));
219
+ })),
220
+ withSchema: Function.dual(2, (self, schema) => {
221
+ const decode = Schema.decodeUnknown(schema);
222
+ return paramMapEffect(self, (v) => Effect.mapError(decode(v), (err) => {
223
+ const s = getUnderlyingSingle(self);
224
+ return new CliError.CliError({
225
+ reason: "InvalidValue",
226
+ option: s.name,
227
+ value: String(v),
228
+ expected: `Schema validation failed: ${err.message}`,
229
+ kind: s.kind,
230
+ });
231
+ }));
232
+ }),
233
+ orElse: Function.dual(2, (self, that) => paramTransform(self, (parse) => (args) => Effect.catchAll(parse(args), () => that().parse(args)))),
234
+ });
235
+ export const makeConstructor = (kind) => (name, prim) => makeSingleParam({ kind, name, primitiveType: prim });
236
+ //# sourceMappingURL=Param.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Param.js","sourceRoot":"","sources":["../../src/cli/Param.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AA4B3C,MAAM,UAAU,GAAG;IACjB,IAAI;QACF,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAChD,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAwB,EAAE,CAC1D,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAA;AAEnF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,CAA4B,EAA+B,EAAE,CAC1F,CAAC,CAAC,IAAI,KAAK,MAAM,CAAA;AAEnB,MAAM,CAAC,MAAM,eAAe,GAAG,CAA4B,IAO1D,EAAwB,EAAE;IACzB,MAAM,KAAK,GAAkB,CAAC,IAAI,EAAE,EAAE,CACpC,IAAI,CAAC,IAAI,KAAK,UAAU;QACtB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;QACtD,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;IACpD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAC9C,IAAI,EAAE,QAAQ;QACd,GAAG,IAAI;QACP,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC3B,KAAK;KACN,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,CAAgB,EACY,EAAE;IAC9B,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAwB,CAAC,CAAA;IAC1D,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,mBAAmB,CAAE,CAAS,CAAC,KAAK,CAAC,CAAA;IAC9D,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAsB,CAAgB,EAAuB,EAAE;IAChG,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;IACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC7E,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,CAAkB,EAC4B,EAAE;IAChD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,GAAG,gBAAgB,CAAE,CAAS,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;IAC7F,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,GAAG,gBAAgB,CAAE,CAAS,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;IAC7F,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,gBAAgB,CAAE,CAAS,CAAC,KAAK,CAAC,CAAA;IAC3D,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;AACjD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,CAAc,EACd,CAAiD,EACpC,EAAE;IACf,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,CAAwB,CAAgB,CAAA;IAC1E,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,CAAQ,CAAA;QAClB,OAAO,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAQ,CAAA;QAClB,OAAO,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAQ,CAAA;QAClB,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAgB,CAAA;IAClE,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAQ,CAAA;QAClB,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAgB,CAAA;IAC9F,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CACtB,IAAY,EACZ,IAA4B,EAC5B,IAAgB,EACuD,EAAE,CACzE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAC7B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CACrE,CAAA;IACH,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC7B,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,QAAQ,CAAC,QAAQ,CAAC;QACpB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACxB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,UAAU;KACjB,CAAC,CACL,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAU,CAAA;AAClD,CAAC,CAAC,CAAA;AAEJ,MAAM,SAAS,GAAG,CAChB,IAAY,EACZ,IAA4B,EAC5B,IAAgB,EACuD,EAAE,CACzE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC/B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAY,CAAU,CAAA;QAC7E,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC7F,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACrB,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,QAAQ,CAAC,QAAQ,CAAC;QACpB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAChB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,MAAM;KACb,CAAC,CACL,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAU,CAAA;AACzC,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAAiB,EACjB,CAAc,EACD,EAAE;IACf,MAAM,KAAK,GAAkB,CAAC,IAAI,EAAE,EAAE,CACpC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAU,CAAC,CAAA;IAC9D,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAC9C,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI;QACX,CAAC;QACD,KAAK;KACN,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAiB,EACjB,CAA0C,EAC7B,EAAE,CACf,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;IACvC,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,KAAK,EAAE,IAAI;IACX,CAAC;IACD,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;CACrB,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAiB,EACjB,CAAgD,EACnC,EAAE,CACf,cAAc,CACZ,IAAI,EACJ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAClB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAU,CAAC,CAAC,CACpF,CAAA;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,CAAc,EACc,EAAE;IAC9B,MAAM,KAAK,GAAiC,CAAC,IAAI,EAAE,EAAE,CACnD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAU,CAAC,EACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,CAAC,CAAC,MAAM,KAAK,eAAe,IAAI,CAAC,CAAC,MAAM,KAAK,iBAAiB;QAC5D,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,CAAU,CAAC;QAC1D,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CACnB,CACF,CAAA;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAC9C,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC;QACR,KAAK;KACN,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAiB,EACjB,YAAe,EACE,EAAE,CACnB,QAAQ,CACN,aAAa,CAAC,IAAI,CAAC,EACnB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CACrC,CAAA;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAiB,EACjB,OAAwC,EACZ,EAAE;IAC9B,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IACxC,MAAM,KAAK,GAAiC,CAAC,IAAI,EAAE,EAAE;QACnD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3F,OAAO,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAC9C,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,OAAO,EAAE,GAAG;QACjB,GAAG,EAAE,OAAO,EAAE,GAAG;QACjB,KAAK;KACN,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,uBAAuB,GAAG,CAC9B,IAAiB,EACjB,MAAyB,EACzB,IAAgB,EAChB,OAAwC,EAC8C,EAAE,CACxF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;IAC7B,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,QAAQ,CAAA;IACpC,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAA;IAC5B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAClD,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;QACvF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnB,OAAO,GAAG,SAAS,CAAA;IACrB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,IAAI,QAAQ,CAAC,QAAQ,CAAC;YACpB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,SAAS;YACjC,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;YACxD,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC,CACH,CAAA;IACH,CAAC;IACD,OAAO,CAAC,OAAO,EAAE,OAAO,CAAU,CAAA;AACpC,CAAC,CAAC,CAAA;AAEJ,MAAM,mBAAmB,GAAG,CAC1B,IAAiB,EACjB,MAAyB,EACzB,IAAgB,EAChB,OAAwC,EAC8C,EAAE,CACxF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAA;IAC3B,IAAI,OAAO,EAAE,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC;YACvB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACtF,CAAC,CAAC,MAAM,CAAC,IAAI,CACT,IAAI,QAAQ,CAAC,QAAQ,CAAC;gBACpB,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,MAAM,CAAC,IAAI;gBACnB,KAAK,EAAE,GAAG,KAAK,cAAc;gBAC7B,QAAQ,EAAE,YAAY,OAAO,CAAC,GAAG,SAAS,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;gBACxE,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC,CACH,CAAA;IACP,CAAC;IACD,IAAI,OAAO,EAAE,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,IAAI,QAAQ,CAAC,QAAQ,CAAC;YACpB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,KAAK,EAAE,GAAG,KAAK,cAAc;YAC7B,QAAQ,EAAE,WAAW,OAAO,CAAC,GAAG,SAAS,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;YACvE,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC,CACH,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;QACtF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAU,CAAA;AAC3C,CAAC,CAAC,CAAA;AAEJ,MAAM,OAAO,GAAG,KAAK,CAAA;AAErB,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAiB,EACjB,KAAa,EACA,EAAE,CACf,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAC1B,eAAe,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAC/E,CAAA;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAiB,EACjB,IAAY,EACC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AAE5F,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAiB,EACjB,OAAe,EACF,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;AAE5F,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAsB,KAAQ,EAAE,EAAE,CAAC,CAAC;IACtE,QAAQ,EAAE,CAAI,IAAiB,EAA8B,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;IACnF,WAAW,EAAE,QAAQ,CAAC,IAAI,CACxB,CAAC,EACD,CAAO,IAAiB,EAAE,KAAQ,EAAmB,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CACtF;IACD,eAAe,EAAE,QAAQ,CAAC,IAAI,CAC5B,CAAC,EACD,CAAI,IAAiB,EAAE,IAAY,EAAe,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CACtF;IACD,WAAW,EAAE,QAAQ,CAAC,IAAI,CACxB,CAAC,EACD,CAAI,IAAiB,EAAE,OAAe,EAAe,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CACxF;IACD,GAAG,EAAE,QAAQ,CAAC,IAAI,CAChB,CAAC,EACD,CAAO,IAAiB,EAAE,CAAc,EAAe,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAC5E;IACD,SAAS,EAAE,QAAQ,CAAC,IAAI,CACtB,CAAC,EACD,CAAO,IAAiB,EAAE,CAAgD,EAAe,EAAE,CACzF,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAC1B;IACD,QAAQ,EAAE,QAAQ,CAAC,IAAI,CACrB,CAAC,EACD,CAAI,IAAiB,EAAE,OAAwC,EAA8B,EAAE,CAC7F,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAC/B;IACD,MAAM,EAAE,QAAQ,CAAC,IAAI,CACnB,CAAC,EACD,CAAI,IAAiB,EAAE,IAAuB,EAAE,OAAyB,EAAe,EAAE,CACxF,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;QACzB,IAAI,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACrC,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACnC,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,QAAQ,CAAC,QAAQ,CAAC;YACpB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,CAAC,CAAC,IAAI;YACd,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAChB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CACL;IACD,UAAU,EAAE,QAAQ,CAAC,IAAI,CACvB,CAAC,EACD,CAAO,IAAiB,EAAE,MAA2B,EAAe,EAAE;QACpE,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC3C,OAAO,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAChC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;YACjC,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;YACnC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC;gBAC3B,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,CAAC,CAAC,IAAI;gBACd,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;gBAChB,QAAQ,EAAE,6BAA6B,GAAG,CAAC,OAAO,EAAE;gBACpD,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAC,CAAA;QACJ,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CACF;IACD,MAAM,EAAE,QAAQ,CAAC,IAAI,CACnB,CAAC,EACD,CAAO,IAAiB,EAAE,IAAuB,EAAmB,EAAE,CACpE,cAAc,CACZ,IAAI,EACJ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAC5E,CACJ;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAC1B,CAAsB,IAAO,EAAE,EAAE,CACjC,CAAC,IAAY,EAAE,IAA8B,EAAE,EAAE,CAC/C,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA"}
@@ -0,0 +1,22 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Redacted from "effect/Redacted";
3
+ export interface Primitive<out A> {
4
+ readonly _tag: string;
5
+ readonly parse: (value: string) => Effect.Effect<A, string>;
6
+ }
7
+ export declare const make: <A>(tag: string, parse: (value: string) => Effect.Effect<A, string>) => Primitive<A>;
8
+ export declare const isTrueValue: (v: string) => boolean;
9
+ export declare const isFalseValue: (v: string) => boolean;
10
+ export declare const isBooleanLiteral: (v: string) => boolean;
11
+ export declare const isBoolean: (p: Primitive<unknown>) => p is Primitive<boolean>;
12
+ export declare const boolean: Primitive<boolean>;
13
+ export declare const string: Primitive<string>;
14
+ export declare const integer: Primitive<number>;
15
+ export declare const float: Primitive<number>;
16
+ export declare const date: Primitive<Date>;
17
+ export declare const redacted: Primitive<Redacted.Redacted<string>>;
18
+ export declare const keyValuePair: Primitive<Record<string, string>>;
19
+ export declare const choice: <A>(choices: ReadonlyArray<readonly [string, A]>) => Primitive<A>;
20
+ export declare const none: Primitive<never>;
21
+ export declare const getTypeName: <A>(p: Primitive<A>) => string;
22
+ //# sourceMappingURL=Primitive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Primitive.d.ts","sourceRoot":"","sources":["../../src/cli/Primitive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAE3C,MAAM,WAAW,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;CAC5D;AAED,eAAO,MAAM,IAAI,GAAI,CAAC,EACpB,KAAK,MAAM,EACX,OAAO,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,KACjD,SAAS,CAAC,CAAC,CAA2B,CAAA;AAEzC,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,YAA8D,CAAA;AACnG,eAAO,MAAM,YAAY,GAAI,GAAG,MAAM,YACsB,CAAA;AAC5D,eAAO,MAAM,gBAAgB,GAAI,GAAG,MAAM,YAAsC,CAAA;AAChF,eAAO,MAAM,SAAS,GAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAG,CAAC,IAAI,SAAS,CAAC,OAAO,CAAyB,CAAA;AAEjG,eAAO,MAAM,OAAO,EAAE,SAAS,CAAC,OAAO,CAIrC,CAAA;AAEF,eAAO,MAAM,MAAM,EAAE,SAAS,CAAC,MAAM,CAAkC,CAAA;AAEvE,eAAO,MAAM,OAAO,EAAE,SAAS,CAAC,MAAM,CAIpC,CAAA;AAEF,eAAO,MAAM,KAAK,EAAE,SAAS,CAAC,MAAM,CAIlC,CAAA;AAEF,eAAO,MAAM,IAAI,EAAE,SAAS,CAAC,IAAI,CAI/B,CAAA;AAEF,eAAO,MAAM,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAEzD,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKzD,CAAA;AAEF,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,SAAS,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAG,SAAS,CAAC,CAAC,CAQnF,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,SAAS,CAAC,KAAK,CAEjC,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,KAAG,MAuBhD,CAAA"}
@@ -0,0 +1,73 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Redacted from "effect/Redacted";
3
+ export const make = (tag, parse) => ({ _tag: tag, parse });
4
+ export const isTrueValue = (v) => ["true", "1", "y", "yes", "on"].includes(v.toLowerCase());
5
+ export const isFalseValue = (v) => ["false", "0", "n", "no", "off"].includes(v.toLowerCase());
6
+ export const isBooleanLiteral = (v) => isTrueValue(v) || isFalseValue(v);
7
+ export const isBoolean = (p) => p._tag === "Boolean";
8
+ export const boolean = make("Boolean", (value) => {
9
+ if (isTrueValue(value))
10
+ return Effect.succeed(true);
11
+ if (isFalseValue(value))
12
+ return Effect.succeed(false);
13
+ return Effect.fail(`Expected boolean (true/false/yes/no/on/off/1/0), got "${value}"`);
14
+ });
15
+ export const string = make("String", Effect.succeed);
16
+ export const integer = make("Integer", (value) => {
17
+ const n = Number(value);
18
+ if (!Number.isInteger(n))
19
+ return Effect.fail(`Expected integer, got "${value}"`);
20
+ return Effect.succeed(n);
21
+ });
22
+ export const float = make("Float", (value) => {
23
+ const n = Number(value);
24
+ if (!Number.isFinite(n))
25
+ return Effect.fail(`Expected number, got "${value}"`);
26
+ return Effect.succeed(n);
27
+ });
28
+ export const date = make("Date", (value) => {
29
+ const d = new Date(value);
30
+ if (Number.isNaN(d.getTime()))
31
+ return Effect.fail(`Expected valid date, got "${value}"`);
32
+ return Effect.succeed(d);
33
+ });
34
+ export const redacted = make("Redacted", (value) => Effect.succeed(Redacted.make(value)));
35
+ export const keyValuePair = make("KeyValuePair", (value) => {
36
+ const idx = value.indexOf("=");
37
+ if (idx <= 0 || idx === value.length - 1)
38
+ return Effect.fail(`Expected key=value format, got "${value}"`);
39
+ return Effect.succeed({ [value.slice(0, idx)]: value.slice(idx + 1) });
40
+ });
41
+ export const choice = (choices) => {
42
+ const map = new Map(choices);
43
+ const valid = choices.map(([k]) => k).join(" | ");
44
+ return make("Choice", (value) => map.has(value)
45
+ ? Effect.succeed(map.get(value))
46
+ : Effect.fail(`Expected ${valid}, got "${value}"`));
47
+ };
48
+ export const none = make("None", () => Effect.fail("This option does not accept values"));
49
+ export const getTypeName = (p) => {
50
+ switch (p._tag) {
51
+ case "Boolean":
52
+ return "boolean";
53
+ case "String":
54
+ return "string";
55
+ case "Integer":
56
+ return "integer";
57
+ case "Float":
58
+ return "number";
59
+ case "Date":
60
+ return "date";
61
+ case "Choice":
62
+ return "choice";
63
+ case "Redacted":
64
+ return "string";
65
+ case "KeyValuePair":
66
+ return "key=value";
67
+ case "None":
68
+ return "none";
69
+ default:
70
+ return "value";
71
+ }
72
+ };
73
+ //# sourceMappingURL=Primitive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Primitive.js","sourceRoot":"","sources":["../../src/cli/Primitive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export * as Argument from "./Argument.ts";
2
+ export * as CliError from "./CliError.ts";
3
+ export * as Command from "./Command.ts";
4
+ export * as Flag from "./Flag.ts";
5
+ export * as HelpDoc from "./HelpDoc.ts";
6
+ export * as Param from "./Param.ts";
7
+ export * as Primitive from "./Primitive.ts";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,8 @@
1
+ export * as Argument from "./Argument.js";
2
+ export * as CliError from "./CliError.js";
3
+ export * as Command from "./Command.js";
4
+ export * as Flag from "./Flag.js";
5
+ export * as HelpDoc from "./HelpDoc.js";
6
+ export * as Param from "./Param.js";
7
+ export * as Primitive from "./Primitive.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare function getOverlay(): HTMLPreElement;
2
+ export declare function showBuildError(message: string): void;
3
+ //# sourceMappingURL=Overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../src/client/Overlay.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,mBAuBzB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,QAK7C"}