acrylblends 1.0.4 → 1.0.6

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 (351) hide show
  1. package/docs/framework/agents/index.md +7 -5
  2. package/lib/accept-CNNHu4Cf.js +193 -0
  3. package/lib/{accepts-XBuZPVRI.js → accepts-Btq83xPd.js} +1 -1
  4. package/lib/accepts.js +1 -1
  5. package/lib/acryl-base.js +1 -331
  6. package/lib/adapter-CaZ6FZUU.js +37 -0
  7. package/lib/adapter.js +1 -36
  8. package/lib/{app-BM0rTCp7.js → app-CQcGWjrk.js} +4 -4
  9. package/lib/app-base-CpRMZL4v.js +332 -0
  10. package/lib/{audit-D5z9uwOP.d.ts → audit-GcLtvNLV.d.ts} +4 -2
  11. package/lib/{base-NSN_SNv-.js → base-D_6kfOr-.js} +1 -1
  12. package/lib/basic-auth-C0HTRpXh.js +20 -0
  13. package/lib/basic-auth-DFLflXNe.js +95 -0
  14. package/lib/basic-auth.js +1 -94
  15. package/lib/bearer-auth-Cwxt-vgS.js +94 -0
  16. package/lib/bearer-auth.js +1 -93
  17. package/lib/body-D7f4e7w_.js +94 -0
  18. package/lib/body-limit-WmIjWRLt.js +66 -0
  19. package/lib/body-limit.js +1 -65
  20. package/lib/buffer-CkEOJCcY.js +51 -0
  21. package/lib/bun.js +3 -3
  22. package/lib/cache-B0bHH7s5.js +169 -0
  23. package/lib/cache.js +1 -168
  24. package/lib/{client-DDLXwhBo.js → client-BrMFnMEd.js} +1 -1
  25. package/lib/{client-modules-CLvWOjbd.js → client-modules-drj4mjhj.js} +4 -4
  26. package/lib/client.js +1 -1
  27. package/lib/color-COa3DplO.js +37 -0
  28. package/lib/combine-TWuGdcbC.js +137 -0
  29. package/lib/combine.js +1 -136
  30. package/lib/{components-cEW3ovK0.js → components-B2ka9Ax1.js} +4 -4
  31. package/lib/{components-JXVm45kK.js → components-PVXwaOaC.js} +2 -2
  32. package/lib/compress-BzWqsHF1.js +79 -0
  33. package/lib/compress-C-9vK4B2.d.ts +11 -0
  34. package/lib/compress-DCyrrQ5D.js +11 -0
  35. package/lib/compress.d.ts +1 -1
  36. package/lib/compress.js +2 -78
  37. package/lib/concurrent-DrF3d2c-.js +30 -0
  38. package/lib/conninfo-BCROmdnf.d.ts +11 -0
  39. package/lib/conninfo-CWJwieh4.js +19 -0
  40. package/lib/constants-CBSEudrb.js +7 -0
  41. package/lib/{context-DDO0cfuP.js → context-CkOh7Ygv.js} +2 -2
  42. package/lib/context-storage-iuPoI_CR.js +52 -0
  43. package/lib/context-storage.js +1 -51
  44. package/lib/cookie-B1LlkzOe.js +125 -0
  45. package/lib/cookie-BHIduy2T.js +82 -0
  46. package/lib/cookie.js +1 -81
  47. package/lib/cordis/db-sqlite.d.ts +1 -1
  48. package/lib/cordis/door.d.ts +99 -5
  49. package/lib/cordis/door.js +562 -20
  50. package/lib/cordis/inspect.js +4 -4
  51. package/lib/cordis/kv-db.d.ts +1 -1
  52. package/lib/cordis/kv-db.js +1 -1
  53. package/lib/cordis/kv-json.d.ts +1 -1
  54. package/lib/cordis/kv-json.js +1 -1
  55. package/lib/cordis/node-server.d.ts +1 -1
  56. package/lib/cordis/node-server.js +3 -116
  57. package/lib/cordis/router-http.js +2 -2
  58. package/lib/cordis/router.js +4 -4
  59. package/lib/cordis/state.js +7 -7
  60. package/lib/{core-CaY8XDZ6.js → core-BOu1jYua.js} +1 -1
  61. package/lib/cors-CbAQ-8qU.js +106 -0
  62. package/lib/cors.js +1 -105
  63. package/lib/crypto-iVP-N-tS.js +34 -0
  64. package/lib/csrf-DqqOZtgy.js +101 -0
  65. package/lib/csrf.js +1 -100
  66. package/lib/css-C5CPVMvM.js +134 -0
  67. package/lib/css.js +2 -133
  68. package/lib/db/sqlite.d.ts +1 -25
  69. package/lib/dev-CLgu-JRe.js +50 -0
  70. package/lib/dev.js +1 -49
  71. package/lib/dom-YjND9Jt3.js +74 -0
  72. package/lib/door/host.d.ts +2 -2
  73. package/lib/door/host.js +1 -1
  74. package/lib/door/page.d.ts +3 -1
  75. package/lib/door/page.js +2 -2
  76. package/lib/door/protocol.d.ts +1 -1
  77. package/lib/door/protocol.js +1 -212
  78. package/lib/encode-BhbNLrjp.js +33 -0
  79. package/lib/factory-CLdSf-xS.js +30 -0
  80. package/lib/factory.js +1 -29
  81. package/lib/handler-C0wZ0KwO.js +12 -0
  82. package/lib/helpers-BEjcdbgw.js +5 -0
  83. package/lib/{hooks-w72iLeFR.js → hooks-CfC07ri0.js} +1 -1
  84. package/lib/html-CgNa89xw.js +31 -0
  85. package/lib/html-DGExBFNg.js +103 -0
  86. package/lib/html.d.ts +2 -5
  87. package/lib/html.js +2 -30
  88. package/lib/http-exception-MjWkT89V.js +54 -0
  89. package/lib/http-exception.js +1 -53
  90. package/lib/index-dAzQsJG9.d.ts +6 -0
  91. package/lib/index.js +3 -3
  92. package/lib/ip-restriction-jKtKCRM_.js +166 -0
  93. package/lib/ip-restriction.js +1 -165
  94. package/lib/ipaddr-DCoIo528.js +238 -0
  95. package/lib/jsx/dom/client.js +1 -1
  96. package/lib/jsx/dom/jsx-dev-runtime.js +1 -1
  97. package/lib/jsx/dom/jsx-runtime.js +2 -1
  98. package/lib/jsx/dom/server.js +3 -3
  99. package/lib/jsx/dom.js +5 -73
  100. package/lib/jsx/jsx-dev-runtime.d.ts +2 -5
  101. package/lib/jsx/jsx-dev-runtime.js +2 -13
  102. package/lib/jsx/jsx-runtime.d.ts +2 -2
  103. package/lib/jsx/jsx-runtime.js +4 -4
  104. package/lib/jsx/streaming.js +1 -1
  105. package/lib/jsx-CUQgttxU.js +47 -0
  106. package/lib/jsx-dev-runtime-B4WTyq8r.js +14 -0
  107. package/lib/{jsx-dev-runtime-CWLRA2F3.js → jsx-dev-runtime-BLfA-EhI.js} +2 -2
  108. package/lib/jsx-dev-runtime-CGt4kNYr.d.ts +6 -0
  109. package/lib/jsx-renderer-CfifM4hT.js +99 -0
  110. package/lib/jsx-renderer.js +1 -98
  111. package/lib/jsx-runtime-COCRWBJ9.js +2 -0
  112. package/lib/jsx.js +5 -46
  113. package/lib/{jwk-LkzeoaU8.js → jwk-CDPpYQpD.js} +3 -3
  114. package/lib/jwk.js +1 -1
  115. package/lib/{jwt-BGJBw5AF.js → jwt-BXoIA2fQ.js} +2 -2
  116. package/lib/{jwt-CskdhEW9.js → jwt-lyS4Q3mT.js} +3 -3
  117. package/lib/jwt.js +2 -2
  118. package/lib/kv/db.d.ts +1 -10
  119. package/lib/kv/db.js +1 -56
  120. package/lib/kv/json.d.ts +1 -9
  121. package/lib/kv/json.js +1 -223
  122. package/lib/{language-D9a4zqvn.js → language-DeGRtLJt.js} +2 -2
  123. package/lib/language.js +1 -1
  124. package/lib/{linear-router-C3FPib6h.js → linear-router-CmZn_JLV.js} +2 -2
  125. package/lib/logger-Ckxu8diz.js +54 -0
  126. package/lib/logger.js +1 -53
  127. package/lib/loopback-only-BbasoF7R.js +90 -0
  128. package/lib/loopback-only.js +1 -89
  129. package/lib/method-not-allowed-TO2_hnfl.js +82 -0
  130. package/lib/method-not-allowed.js +1 -81
  131. package/lib/method-override-DnZKfJbV.js +103 -0
  132. package/lib/method-override.js +1 -102
  133. package/lib/middleware-BfG_fp8P.js +12 -0
  134. package/lib/mime-BnScXkQn.js +77 -0
  135. package/lib/mount-QkK_3NtJ.js +67 -0
  136. package/lib/mount.js +1 -66
  137. package/lib/node-server/conninfo.d.ts +1 -10
  138. package/lib/node-server/conninfo.js +1 -18
  139. package/lib/node-server/register.js +25 -2
  140. package/lib/node-server/serve-static.d.ts +1 -17
  141. package/lib/node-server/serve-static.js +1 -1
  142. package/lib/node-server.d.ts +2 -2
  143. package/lib/node-server.js +4 -4
  144. package/lib/open-BqK4D2Wn.d.ts +11 -0
  145. package/lib/open-But9E2rL.js +57 -0
  146. package/lib/open-CULVJgOc.d.ts +12 -0
  147. package/lib/open-Dp4sxspc.js +224 -0
  148. package/lib/open-T7kgbO2O.d.ts +27 -0
  149. package/lib/{pattern-router-HZxjDGEQ.js → pattern-router-CJBecJBd.js} +1 -1
  150. package/lib/powered-by-CXQNjNIX.js +24 -0
  151. package/lib/powered-by.js +1 -23
  152. package/lib/pretty-json-CeC1yvYt.js +39 -0
  153. package/lib/pretty-json.js +1 -38
  154. package/lib/{protocol-C37gPePD.d.ts → protocol-CR31M7K_.d.ts} +2 -0
  155. package/lib/protocol-Dt0AZBOz.js +213 -0
  156. package/lib/proxy-C2w_mH7k.js +121 -0
  157. package/lib/proxy.js +1 -120
  158. package/lib/quick.js +4 -4
  159. package/lib/{reg-exp-router-DC1R3qoY.js → reg-exp-router-C_WV84eV.js} +2 -2
  160. package/lib/request-DvMgGtlW.js +323 -0
  161. package/lib/request.js +1 -322
  162. package/lib/route-D8m-a2I1.js +126 -0
  163. package/lib/route.js +1 -125
  164. package/lib/router/linear-router.js +1 -1
  165. package/lib/router/pattern-router.js +1 -1
  166. package/lib/router/reg-exp-router.js +1 -1
  167. package/lib/router/smart-router.js +1 -1
  168. package/lib/router/trie-router.js +1 -1
  169. package/lib/router-Be_o6nFu.js +35 -0
  170. package/lib/router.js +1 -34
  171. package/lib/schema-validator-EK3cUUCt.js +22 -0
  172. package/lib/schema-validator.js +1 -21
  173. package/lib/{secure-headers-mP3j6Hm6.js → secure-headers-C5ZOcXqk.js} +1 -1
  174. package/lib/secure-headers.js +1 -1
  175. package/lib/serve-static-B7sqnftW.d.ts +18 -0
  176. package/lib/{serve-static-3uo_9rjF.js → serve-static-C1Nkj_xB.js} +2 -2
  177. package/lib/{serve-static-Cp5adzGo.js → serve-static-EiJf1zkO.js} +4 -4
  178. package/lib/serve-static.js +1 -1
  179. package/lib/{smart-router-C5CZ5XSM.js → smart-router-BjxkDQCE.js} +1 -1
  180. package/lib/{snapshot-text-BLz8nlSc.js → snapshot-text-CtQm3n8n.js} +23 -14
  181. package/lib/{src-dy3Fk9tA.js → src-BTBm4OPD.js} +6 -6
  182. package/lib/src-LX0E4ec4.js +117 -0
  183. package/lib/{ssg-BwjcA-Ge.js → ssg-BEl7MHqg.js} +5 -5
  184. package/lib/ssg.js +1 -1
  185. package/lib/stream-CzM_SHkq.js +88 -0
  186. package/lib/{streaming-DHST3Scg.js → streaming-BlDaph8U.js} +3 -3
  187. package/lib/streaming.js +1 -1
  188. package/lib/{test-websocket-D8WWqE5G.js → test-websocket-BLeEvybj.js} +2 -2
  189. package/lib/testing-BQx5T_UX.js +17 -0
  190. package/lib/testing.js +1 -16
  191. package/lib/timeout-FeqZ9A-0.js +42 -0
  192. package/lib/timeout.js +1 -41
  193. package/lib/tiny.js +2 -2
  194. package/lib/trailing-slash-DwTx-1sk.js +85 -0
  195. package/lib/trailing-slash.js +1 -84
  196. package/lib/{trie-router-CfFbapzL.js → trie-router-JydLKUa2.js} +2 -2
  197. package/lib/url-BPh4d6j-.js +197 -0
  198. package/lib/utils/accept.js +1 -192
  199. package/lib/utils/basic-auth.js +1 -19
  200. package/lib/utils/body.js +1 -93
  201. package/lib/utils/buffer.js +1 -50
  202. package/lib/utils/color.js +1 -36
  203. package/lib/utils/compress.d.ts +1 -10
  204. package/lib/utils/compress.js +1 -10
  205. package/lib/utils/concurrent.js +1 -29
  206. package/lib/utils/constants.js +1 -6
  207. package/lib/utils/cookie.js +1 -124
  208. package/lib/utils/crypto.js +1 -33
  209. package/lib/utils/encode.js +1 -32
  210. package/lib/utils/handler.js +1 -11
  211. package/lib/utils/html.js +1 -102
  212. package/lib/utils/ipaddr.js +1 -237
  213. package/lib/utils/jwt.js +1 -1
  214. package/lib/utils/mime.js +1 -76
  215. package/lib/utils/stream.js +1 -87
  216. package/lib/utils/url.js +1 -196
  217. package/lib/{validator-D84mq-dO.js → validator-Btiyt5VJ.js} +3 -3
  218. package/lib/validator.js +1 -1
  219. package/lib/websocket-DsyBIKVA.js +56 -0
  220. package/lib/ws.js +1 -55
  221. package/package.json +1 -1
  222. package/plugins/acryl-door/src/cli/acryl.ts +36 -5
  223. package/plugins/acryl-door/src/host/channel.ts +14 -6
  224. package/plugins/acryl-door/src/host/chat-tools.ts +2 -0
  225. package/plugins/acryl-door/src/host/door.ts +97 -12
  226. package/plugins/acryl-door/src/host/page-routes.ts +3 -1
  227. package/plugins/acryl-door/src/host/shell.ts +147 -0
  228. package/plugins/acryl-door/src/host/shim.ts +39 -3
  229. package/plugins/acryl-door/src/host/verbs.ts +39 -2
  230. package/plugins/acryl-door/src/index.ts +22 -3
  231. package/plugins/acryl-door/src/page/channel.ts +3 -1
  232. package/plugins/acryl-door/src/page/index.ts +2 -1
  233. package/plugins/acryl-door/src/page/protocol.ts +2 -0
  234. package/plugins/acryl-door/src/shell/protocol.ts +130 -0
  235. package/plugins/acryl-node-server/src/register.ts +29 -2
  236. package/plugins/agent/model.ts +6 -1
  237. package/plugins/agent/tools.ts +12 -2
  238. package/plugins/agent-panel/client/describe.ts +44 -0
  239. package/plugins/agent-panel/client/main.ts +4 -1
  240. package/plugins/agent-panel/headless.ts +29 -8
  241. package/plugins/agent-panel/index.ts +22 -10
  242. package/plugins/agent-panel/launch.ts +67 -0
  243. package/plugins/desktop/attach.ts +72 -0
  244. package/plugins/desktop/door-shell.ts +379 -0
  245. package/plugins/desktop/main.ts +82 -15
  246. package/plugins/extensions/index.ts +3 -4
  247. package/plugins/extensions/stage.ts +33 -5
  248. package/plugins/openai/index.ts +1 -1
  249. package/templates/agent/AGENTS.md +4 -0
  250. package/templates/agent/blend.yaml +4 -1
  251. package/templates/agent/src/app.ts +2 -0
  252. package/templates/agent/src/routes.ts +1 -1
  253. package/templates/agent/template.json +1 -0
  254. package/templates/agent/test/builder.test.ts +26 -21
  255. package/lib/helpers-CvTauQT5.js +0 -5
  256. package/lib/middleware-CPQ8himN.js +0 -12
  257. package/plugins/acryl-router/src/connection.d.ts +0 -25
  258. package/plugins/acryl-router/src/core/app-base.d.ts +0 -215
  259. package/plugins/acryl-router/src/core/app.d.ts +0 -19
  260. package/plugins/acryl-router/src/core/client/client.d.ts +0 -4
  261. package/plugins/acryl-router/src/core/client/fetch-result-please.d.ts +0 -35
  262. package/plugins/acryl-router/src/core/client/index.d.ts +0 -7
  263. package/plugins/acryl-router/src/core/client/types.d.ts +0 -229
  264. package/plugins/acryl-router/src/core/client/utils.d.ts +0 -18
  265. package/plugins/acryl-router/src/core/compose.d.ts +0 -14
  266. package/plugins/acryl-router/src/core/context.d.ts +0 -443
  267. package/plugins/acryl-router/src/core/helper/accepts/accepts.d.ts +0 -30
  268. package/plugins/acryl-router/src/core/helper/accepts/index.d.ts +0 -5
  269. package/plugins/acryl-router/src/core/helper/conninfo/index.d.ts +0 -5
  270. package/plugins/acryl-router/src/core/helper/conninfo/types.d.ts +0 -36
  271. package/plugins/acryl-router/src/core/helper/cookie/index.d.ts +0 -25
  272. package/plugins/acryl-router/src/core/helper/css/common.d.ts +0 -59
  273. package/plugins/acryl-router/src/core/helper/css/index.d.ts +0 -80
  274. package/plugins/acryl-router/src/core/helper/dev/index.d.ts +0 -20
  275. package/plugins/acryl-router/src/core/helper/factory/index.d.ts +0 -82
  276. package/plugins/acryl-router/src/core/helper/html/index.d.ts +0 -8
  277. package/plugins/acryl-router/src/core/helper/proxy/index.d.ts +0 -73
  278. package/plugins/acryl-router/src/core/helper/route/index.d.ts +0 -75
  279. package/plugins/acryl-router/src/core/helper/ssg/index.d.ts +0 -7
  280. package/plugins/acryl-router/src/core/helper/ssg/middleware.d.ts +0 -44
  281. package/plugins/acryl-router/src/core/helper/ssg/plugins.d.ts +0 -27
  282. package/plugins/acryl-router/src/core/helper/ssg/ssg.d.ts +0 -91
  283. package/plugins/acryl-router/src/core/helper/ssg/utils.d.ts +0 -16
  284. package/plugins/acryl-router/src/core/helper/streaming/index.d.ts +0 -8
  285. package/plugins/acryl-router/src/core/helper/streaming/sse.d.ts +0 -13
  286. package/plugins/acryl-router/src/core/helper/streaming/stream.d.ts +0 -3
  287. package/plugins/acryl-router/src/core/helper/streaming/text.d.ts +0 -3
  288. package/plugins/acryl-router/src/core/helper/streaming/utils.d.ts +0 -1
  289. package/plugins/acryl-router/src/core/helper/testing/index.d.ts +0 -13
  290. package/plugins/acryl-router/src/core/helper/websocket/index.d.ts +0 -70
  291. package/plugins/acryl-router/src/core/http-exception.d.ts +0 -58
  292. package/plugins/acryl-router/src/core/index.d.ts +0 -37
  293. package/plugins/acryl-router/src/core/jsx/base.d.ts +0 -61
  294. package/plugins/acryl-router/src/core/jsx/children.d.ts +0 -9
  295. package/plugins/acryl-router/src/core/jsx/components.d.ts +0 -15
  296. package/plugins/acryl-router/src/core/jsx/constants.d.ts +0 -6
  297. package/plugins/acryl-router/src/core/jsx/context.d.ts +0 -51
  298. package/plugins/acryl-router/src/core/jsx/dom/components.d.ts +0 -10
  299. package/plugins/acryl-router/src/core/jsx/dom/context.d.ts +0 -3
  300. package/plugins/acryl-router/src/core/jsx/dom/css.d.ts +0 -83
  301. package/plugins/acryl-router/src/core/jsx/dom/hooks/index.d.ts +0 -39
  302. package/plugins/acryl-router/src/core/jsx/dom/intrinsic-element/components.d.ts +0 -16
  303. package/plugins/acryl-router/src/core/jsx/dom/jsx-dev-runtime.d.ts +0 -8
  304. package/plugins/acryl-router/src/core/jsx/dom/jsx-runtime.d.ts +0 -7
  305. package/plugins/acryl-router/src/core/jsx/dom/render.d.ts +0 -73
  306. package/plugins/acryl-router/src/core/jsx/dom/utils.d.ts +0 -1
  307. package/plugins/acryl-router/src/core/jsx/hooks/index.d.ts +0 -47
  308. package/plugins/acryl-router/src/core/jsx/index.d.ts +0 -76
  309. package/plugins/acryl-router/src/core/jsx/intrinsic-element/common.d.ts +0 -6
  310. package/plugins/acryl-router/src/core/jsx/intrinsic-element/components.d.ts +0 -13
  311. package/plugins/acryl-router/src/core/jsx/intrinsic-elements.d.ts +0 -735
  312. package/plugins/acryl-router/src/core/jsx/streaming.d.ts +0 -36
  313. package/plugins/acryl-router/src/core/jsx/types.d.ts +0 -36
  314. package/plugins/acryl-router/src/core/jsx/utils.d.ts +0 -4
  315. package/plugins/acryl-router/src/core/request/constants.d.ts +0 -1
  316. package/plugins/acryl-router/src/core/request.d.ts +0 -306
  317. package/plugins/acryl-router/src/core/router/reg-exp-router/index.d.ts +0 -6
  318. package/plugins/acryl-router/src/core/router/reg-exp-router/matcher.d.ts +0 -7
  319. package/plugins/acryl-router/src/core/router/reg-exp-router/node.d.ts +0 -13
  320. package/plugins/acryl-router/src/core/router/reg-exp-router/prepared-router.d.ts +0 -17
  321. package/plugins/acryl-router/src/core/router/reg-exp-router/router.d.ts +0 -11
  322. package/plugins/acryl-router/src/core/router/reg-exp-router/trie.d.ts +0 -8
  323. package/plugins/acryl-router/src/core/router/smart-router/index.d.ts +0 -5
  324. package/plugins/acryl-router/src/core/router/smart-router/router.d.ts +0 -11
  325. package/plugins/acryl-router/src/core/router/trie-router/index.d.ts +0 -5
  326. package/plugins/acryl-router/src/core/router/trie-router/node.d.ts +0 -6
  327. package/plugins/acryl-router/src/core/router/trie-router/router.d.ts +0 -7
  328. package/plugins/acryl-router/src/core/router/utils.d.ts +0 -1
  329. package/plugins/acryl-router/src/core/router.d.ts +0 -97
  330. package/plugins/acryl-router/src/core/types.d.ts +0 -573
  331. package/plugins/acryl-router/src/core/utils/accept.d.ts +0 -6
  332. package/plugins/acryl-router/src/core/utils/body.d.ts +0 -79
  333. package/plugins/acryl-router/src/core/utils/buffer.d.ts +0 -17
  334. package/plugins/acryl-router/src/core/utils/color.d.ts +0 -21
  335. package/plugins/acryl-router/src/core/utils/concurrent.d.ts +0 -11
  336. package/plugins/acryl-router/src/core/utils/constants.d.ts +0 -4
  337. package/plugins/acryl-router/src/core/utils/cookie.d.ts +0 -41
  338. package/plugins/acryl-router/src/core/utils/crypto.d.ts +0 -15
  339. package/plugins/acryl-router/src/core/utils/handler.d.ts +0 -6
  340. package/plugins/acryl-router/src/core/utils/headers.d.ts +0 -8
  341. package/plugins/acryl-router/src/core/utils/html.d.ts +0 -44
  342. package/plugins/acryl-router/src/core/utils/http-status.d.ts +0 -32
  343. package/plugins/acryl-router/src/core/utils/mime.d.ts +0 -70
  344. package/plugins/acryl-router/src/core/utils/stream.d.ts +0 -31
  345. package/plugins/acryl-router/src/core/utils/types.d.ts +0 -128
  346. package/plugins/acryl-router/src/core/utils/url.d.ts +0 -44
  347. package/plugins/acryl-router/src/core/validator/index.d.ts +0 -7
  348. package/plugins/acryl-router/src/core/validator/utils.d.ts +0 -29
  349. package/plugins/acryl-router/src/core/validator/validator.d.ts +0 -16
  350. package/plugins/acryl-router/src/helpers/index.d.ts +0 -17
  351. package/plugins/acryl-router/src/helpers/schema-validator.d.ts +0 -54
@@ -1,14 +1,3 @@
1
- import { s as jsxFn, t as Fragment } from "../base-NSN_SNv-.js";
2
- //#region ../../plugins/acryl-router/src/core/jsx/jsx-dev-runtime.ts
3
- function jsxDEV(tag, props, key) {
4
- let node;
5
- if (!props || !("children" in props)) node = jsxFn(tag, props, []);
6
- else {
7
- const children = props.children;
8
- node = Array.isArray(children) ? jsxFn(tag, props, children) : jsxFn(tag, props, [children]);
9
- }
10
- node.key = key;
11
- return node;
12
- }
13
- //#endregion
1
+ import { t as Fragment } from "../base-D_6kfOr-.js";
2
+ import { t as jsxDEV } from "../jsx-dev-runtime-B4WTyq8r.js";
14
3
  export { Fragment, jsxDEV };
@@ -1,7 +1,7 @@
1
1
  import { i as HtmlEscapedString } from "../html-SllAe0YT.js";
2
- import { html } from "../html.js";
2
+ import { t as html } from "../index-dAzQsJG9.js";
3
3
  import { a as JSX, i as Fragment } from "../base-BpQy2Rk7.js";
4
- import { jsxDEV } from "./jsx-dev-runtime.js";
4
+ import { t as jsxDEV } from "../jsx-dev-runtime-CGt4kNYr.js";
5
5
 
6
6
  //#region ../../plugins/acryl-router/src/core/jsx/jsx-runtime.d.ts
7
7
  declare const jsxAttr: (key: string, v: string | Promise<string> | Record<string, string | number | null | undefined | boolean>) => HtmlEscapedString | Promise<HtmlEscapedString>;
@@ -1,7 +1,7 @@
1
- import { h as styleObjectForEach, p as isValidAttributeName, t as Fragment } from "../base-NSN_SNv-.js";
2
- import { escapeToBuffer, raw, stringBufferToString } from "../utils/html.js";
3
- import { html } from "../html.js";
4
- import { jsxDEV } from "./jsx-dev-runtime.js";
1
+ import { h as styleObjectForEach, p as isValidAttributeName, t as Fragment } from "../base-D_6kfOr-.js";
2
+ import { n as escapeToBuffer, o as stringBufferToString, r as raw } from "../html-DGExBFNg.js";
3
+ import { t as html } from "../html-CgNa89xw.js";
4
+ import { t as jsxDEV } from "../jsx-dev-runtime-B4WTyq8r.js";
5
5
  //#region ../../plugins/acryl-router/src/core/jsx/jsx-runtime.ts
6
6
  const jsxAttr = (key, v) => {
7
7
  if (!isValidAttributeName(key)) return raw("");
@@ -1,2 +1,2 @@
1
- import { i as renderToReadableStream, n as StreamingContext, r as Suspense } from "../components-cEW3ovK0.js";
1
+ import { i as renderToReadableStream, n as StreamingContext, r as Suspense } from "../components-B2ka9Ax1.js";
2
2
  export { StreamingContext, Suspense, renderToReadableStream };
@@ -0,0 +1,47 @@
1
+ import { E as useContext, a as isValidElement, c as memo, g as Children, l as reactAPICompatVersion, o as jsx, r as cloneElement, t as Fragment, w as createContext } from "./base-D_6kfOr-.js";
2
+ import { _ as useState, a as use, b as useViewTransition, c as useDeferredValue, d as useImperativeHandle, f as useInsertionEffect, g as useRef, h as useReducer, i as startViewTransition, l as useEffect, m as useMemo, n as forwardRef, o as useCallback, p as useLayoutEffect, r as startTransition, s as useDebugValue, t as createRef, u as useId, v as useSyncExternalStore, y as useTransition } from "./hooks-CfC07ri0.js";
3
+ import { a as useOptimistic, r as useActionState } from "./jsx-dev-runtime-BLfA-EhI.js";
4
+ import { r as Suspense, t as ErrorBoundary } from "./components-B2ka9Ax1.js";
5
+ //#region ../../plugins/acryl-router/src/core/jsx/index.ts
6
+ /**
7
+ * @module
8
+ * JSX for Acryl.
9
+ */
10
+ var jsx_default = {
11
+ version: reactAPICompatVersion,
12
+ memo,
13
+ Fragment,
14
+ StrictMode: Fragment,
15
+ isValidElement,
16
+ createElement: jsx,
17
+ cloneElement,
18
+ ErrorBoundary,
19
+ createContext,
20
+ useContext,
21
+ useState,
22
+ useEffect,
23
+ useRef,
24
+ useCallback,
25
+ useReducer,
26
+ useId,
27
+ useDebugValue,
28
+ use,
29
+ startTransition,
30
+ useTransition,
31
+ useDeferredValue,
32
+ startViewTransition,
33
+ useViewTransition,
34
+ useMemo,
35
+ useLayoutEffect,
36
+ useInsertionEffect,
37
+ createRef,
38
+ forwardRef,
39
+ useImperativeHandle,
40
+ useSyncExternalStore,
41
+ useActionState,
42
+ useOptimistic,
43
+ Suspense,
44
+ Children
45
+ };
46
+ //#endregion
47
+ export { jsx_default as t };
@@ -0,0 +1,14 @@
1
+ import { s as jsxFn } from "./base-D_6kfOr-.js";
2
+ //#region ../../plugins/acryl-router/src/core/jsx/jsx-dev-runtime.ts
3
+ function jsxDEV(tag, props, key) {
4
+ let node;
5
+ if (!props || !("children" in props)) node = jsxFn(tag, props, []);
6
+ else {
7
+ const children = props.children;
8
+ node = Array.isArray(children) ? jsxFn(tag, props, children) : jsxFn(tag, props, [children]);
9
+ }
10
+ node.key = key;
11
+ return node;
12
+ }
13
+ //#endregion
14
+ export { jsxDEV as t };
@@ -1,6 +1,6 @@
1
- import { D as createContext, E as useContext, O as __exportAll, S as shouldDeDupeByKey, b as domRenderers, v as dataPrecedenceAttr, x as isStylesheetLinkWithPrecedence, y as deDupeKeyMap } from "./base-NSN_SNv-.js";
1
+ import { D as createContext, E as useContext, O as __exportAll, S as shouldDeDupeByKey, b as domRenderers, v as dataPrecedenceAttr, x as isStylesheetLinkWithPrecedence, y as deDupeKeyMap } from "./base-D_6kfOr-.js";
2
2
  import { o as PERMALINK } from "./constants-BR9jM9BC.js";
3
- import { C as createPortal, T as getNameSpaceContext, _ as useState, a as use, m as useMemo, o as useCallback } from "./hooks-w72iLeFR.js";
3
+ import { C as createPortal, T as getNameSpaceContext, _ as useState, a as use, m as useMemo, o as useCallback } from "./hooks-CfC07ri0.js";
4
4
  //#region ../../plugins/acryl-router/src/core/jsx/dom/hooks/index.ts
5
5
  /**
6
6
  * Provide hooks used only in jsx/dom
@@ -0,0 +1,6 @@
1
+ import { o as JSXNode } from "./base-BpQy2Rk7.js";
2
+
3
+ //#region ../../plugins/acryl-router/src/core/jsx/jsx-dev-runtime.d.ts
4
+ declare function jsxDEV(tag: string | Function, props: Record<string, unknown>, key?: string): JSXNode;
5
+ //#endregion
6
+ export { jsxDEV as t };
@@ -0,0 +1,99 @@
1
+ import { E as useContext, o as jsx, t as Fragment, w as createContext } from "./base-D_6kfOr-.js";
2
+ import { r as raw } from "./html-DGExBFNg.js";
3
+ import { t as html } from "./html-CgNa89xw.js";
4
+ import { i as renderToReadableStream } from "./components-B2ka9Ax1.js";
5
+ import "./jsx-CUQgttxU.js";
6
+ //#region ../../plugins/acryl-router/src/core/middleware/jsx-renderer/index.ts
7
+ const RequestContext = createContext(null);
8
+ const createRenderer = (c, Layout, component, options) => (children, props) => {
9
+ options = typeof options === "function" ? options(c) : options;
10
+ const docType = typeof options?.docType === "string" ? options.docType : options?.docType === false ? "" : "<!DOCTYPE html>";
11
+ const currentLayout = component ? jsx((props) => component(props, c), {
12
+ Layout,
13
+ ...props
14
+ }, children) : children;
15
+ const body = html`${raw(docType)}${jsx(RequestContext.Provider, { value: c }, currentLayout)}`;
16
+ if (options?.stream) {
17
+ if (options.stream === true) {
18
+ c.header("Transfer-Encoding", "chunked");
19
+ c.header("Content-Type", "text/html; charset=UTF-8");
20
+ c.header("Content-Encoding", "Identity");
21
+ } else for (const [key, value] of Object.entries(options.stream)) c.header(key, value);
22
+ return c.body(renderToReadableStream(body));
23
+ } else return c.html(body);
24
+ };
25
+ /**
26
+ * JSX Renderer Middleware for acryl.
27
+ *
28
+ *
29
+ * @param {ComponentWithChildren} [component] - The component to render, which can accept children and props.
30
+ * @param {RendererOptions} [options] - The options for the JSX renderer middleware.
31
+ * @param {boolean | string} [options.docType=true] - The DOCTYPE to be added at the beginning of the HTML. If set to false, no DOCTYPE will be added.
32
+ * @param {boolean | Record<string, string>} [options.stream=false] - If set to true, enables streaming response with default headers. If a record is provided, custom headers will be used.
33
+ * @returns {MiddlewareHandler} The middleware handler function.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * const app = new Acryl()
38
+ *
39
+ * app.get(
40
+ * '/page/*',
41
+ * jsxRenderer(({ children }) => {
42
+ * return (
43
+ * <html>
44
+ * <body>
45
+ * <header>Menu</header>
46
+ * <div>{children}</div>
47
+ * </body>
48
+ * </html>
49
+ * )
50
+ * })
51
+ * )
52
+ *
53
+ * app.get('/page/about', (c) => {
54
+ * return c.render(<h1>About me!</h1>)
55
+ * })
56
+ * ```
57
+ */
58
+ const jsxRenderer = (component, options) => function jsxRenderer(c, next) {
59
+ const Layout = c.getLayout() ?? Fragment;
60
+ if (component) c.setLayout((props) => {
61
+ return component({
62
+ ...props,
63
+ Layout
64
+ }, c);
65
+ });
66
+ c.setRenderer(createRenderer(c, Layout, component, options));
67
+ return next();
68
+ };
69
+ /**
70
+ * useRequestContext for Acryl.
71
+ *
72
+ * @template E - The environment type.
73
+ * @template P - The parameter type.
74
+ * @template I - The input type.
75
+ * @returns {Context<E, P, I>} An instance of Context.
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * const RequestUrlBadge: FC = () => {
80
+ * const c = useRequestContext()
81
+ * return <b>{c.req.url}</b>
82
+ * }
83
+ *
84
+ * app.get('/page/info', (c) => {
85
+ * return c.render(
86
+ * <div>
87
+ * You are accessing: <RequestUrlBadge />
88
+ * </div>
89
+ * )
90
+ * })
91
+ * ```
92
+ */
93
+ const useRequestContext = () => {
94
+ const c = useContext(RequestContext);
95
+ if (!c) throw new Error("RequestContext is not provided.");
96
+ return c;
97
+ };
98
+ //#endregion
99
+ export { jsxRenderer as n, useRequestContext as r, RequestContext as t };
@@ -1,99 +1,2 @@
1
- import { E as useContext, o as jsx, t as Fragment, w as createContext } from "./base-NSN_SNv-.js";
2
- import { raw } from "./utils/html.js";
3
- import { html } from "./html.js";
4
- import { i as renderToReadableStream } from "./components-cEW3ovK0.js";
5
- import "./jsx.js";
6
- //#region ../../plugins/acryl-router/src/core/middleware/jsx-renderer/index.ts
7
- const RequestContext = createContext(null);
8
- const createRenderer = (c, Layout, component, options) => (children, props) => {
9
- options = typeof options === "function" ? options(c) : options;
10
- const docType = typeof options?.docType === "string" ? options.docType : options?.docType === false ? "" : "<!DOCTYPE html>";
11
- const currentLayout = component ? jsx((props) => component(props, c), {
12
- Layout,
13
- ...props
14
- }, children) : children;
15
- const body = html`${raw(docType)}${jsx(RequestContext.Provider, { value: c }, currentLayout)}`;
16
- if (options?.stream) {
17
- if (options.stream === true) {
18
- c.header("Transfer-Encoding", "chunked");
19
- c.header("Content-Type", "text/html; charset=UTF-8");
20
- c.header("Content-Encoding", "Identity");
21
- } else for (const [key, value] of Object.entries(options.stream)) c.header(key, value);
22
- return c.body(renderToReadableStream(body));
23
- } else return c.html(body);
24
- };
25
- /**
26
- * JSX Renderer Middleware for acryl.
27
- *
28
- *
29
- * @param {ComponentWithChildren} [component] - The component to render, which can accept children and props.
30
- * @param {RendererOptions} [options] - The options for the JSX renderer middleware.
31
- * @param {boolean | string} [options.docType=true] - The DOCTYPE to be added at the beginning of the HTML. If set to false, no DOCTYPE will be added.
32
- * @param {boolean | Record<string, string>} [options.stream=false] - If set to true, enables streaming response with default headers. If a record is provided, custom headers will be used.
33
- * @returns {MiddlewareHandler} The middleware handler function.
34
- *
35
- * @example
36
- * ```ts
37
- * const app = new Acryl()
38
- *
39
- * app.get(
40
- * '/page/*',
41
- * jsxRenderer(({ children }) => {
42
- * return (
43
- * <html>
44
- * <body>
45
- * <header>Menu</header>
46
- * <div>{children}</div>
47
- * </body>
48
- * </html>
49
- * )
50
- * })
51
- * )
52
- *
53
- * app.get('/page/about', (c) => {
54
- * return c.render(<h1>About me!</h1>)
55
- * })
56
- * ```
57
- */
58
- const jsxRenderer = (component, options) => function jsxRenderer(c, next) {
59
- const Layout = c.getLayout() ?? Fragment;
60
- if (component) c.setLayout((props) => {
61
- return component({
62
- ...props,
63
- Layout
64
- }, c);
65
- });
66
- c.setRenderer(createRenderer(c, Layout, component, options));
67
- return next();
68
- };
69
- /**
70
- * useRequestContext for Acryl.
71
- *
72
- * @template E - The environment type.
73
- * @template P - The parameter type.
74
- * @template I - The input type.
75
- * @returns {Context<E, P, I>} An instance of Context.
76
- *
77
- * @example
78
- * ```ts
79
- * const RequestUrlBadge: FC = () => {
80
- * const c = useRequestContext()
81
- * return <b>{c.req.url}</b>
82
- * }
83
- *
84
- * app.get('/page/info', (c) => {
85
- * return c.render(
86
- * <div>
87
- * You are accessing: <RequestUrlBadge />
88
- * </div>
89
- * )
90
- * })
91
- * ```
92
- */
93
- const useRequestContext = () => {
94
- const c = useContext(RequestContext);
95
- if (!c) throw new Error("RequestContext is not provided.");
96
- return c;
97
- };
98
- //#endregion
1
+ import { n as jsxRenderer, r as useRequestContext, t as RequestContext } from "./jsx-renderer-CfifM4hT.js";
99
2
  export { RequestContext, jsxRenderer, useRequestContext };
@@ -0,0 +1,2 @@
1
+ import "./jsx-dev-runtime-BLfA-EhI.js";
2
+ export {};
package/lib/jsx.js CHANGED
@@ -1,47 +1,6 @@
1
- import { E as useContext, a as isValidElement, c as memo, g as Children, l as reactAPICompatVersion, o as jsx, r as cloneElement, t as Fragment, w as createContext } from "./base-NSN_SNv-.js";
2
- import { _ as useState, a as use, b as useViewTransition, c as useDeferredValue, d as useImperativeHandle, f as useInsertionEffect, g as useRef, h as useReducer, i as startViewTransition, l as useEffect, m as useMemo, n as forwardRef, o as useCallback, p as useLayoutEffect, r as startTransition, s as useDebugValue, t as createRef, u as useId, v as useSyncExternalStore, y as useTransition } from "./hooks-w72iLeFR.js";
3
- import { a as useOptimistic, r as useActionState } from "./jsx-dev-runtime-CWLRA2F3.js";
4
- import { r as Suspense, t as ErrorBoundary } from "./components-cEW3ovK0.js";
5
- //#region ../../plugins/acryl-router/src/core/jsx/index.ts
6
- /**
7
- * @module
8
- * JSX for Acryl.
9
- */
10
- var jsx_default = {
11
- version: reactAPICompatVersion,
12
- memo,
13
- Fragment,
14
- StrictMode: Fragment,
15
- isValidElement,
16
- createElement: jsx,
17
- cloneElement,
18
- ErrorBoundary,
19
- createContext,
20
- useContext,
21
- useState,
22
- useEffect,
23
- useRef,
24
- useCallback,
25
- useReducer,
26
- useId,
27
- useDebugValue,
28
- use,
29
- startTransition,
30
- useTransition,
31
- useDeferredValue,
32
- startViewTransition,
33
- useViewTransition,
34
- useMemo,
35
- useLayoutEffect,
36
- useInsertionEffect,
37
- createRef,
38
- forwardRef,
39
- useImperativeHandle,
40
- useSyncExternalStore,
41
- useActionState,
42
- useOptimistic,
43
- Suspense,
44
- Children
45
- };
46
- //#endregion
1
+ import { E as useContext, a as isValidElement, c as memo, g as Children, l as reactAPICompatVersion, o as jsx, r as cloneElement, t as Fragment, w as createContext } from "./base-D_6kfOr-.js";
2
+ import { _ as useState, a as use, b as useViewTransition, c as useDeferredValue, d as useImperativeHandle, f as useInsertionEffect, g as useRef, h as useReducer, i as startViewTransition, l as useEffect, m as useMemo, n as forwardRef, o as useCallback, p as useLayoutEffect, r as startTransition, s as useDebugValue, t as createRef, u as useId, v as useSyncExternalStore, y as useTransition } from "./hooks-CfC07ri0.js";
3
+ import { a as useOptimistic, r as useActionState } from "./jsx-dev-runtime-BLfA-EhI.js";
4
+ import { r as Suspense, t as ErrorBoundary } from "./components-B2ka9Ax1.js";
5
+ import { t as jsx_default } from "./jsx-CUQgttxU.js";
47
6
  export { Children, ErrorBoundary, Fragment, Fragment as StrictMode, Suspense, cloneElement, createContext, jsx as createElement, jsx, createRef, jsx_default as default, forwardRef, isValidElement, memo, startTransition, startViewTransition, use, useActionState, useCallback, useContext, useDebugValue, useDeferredValue, useEffect, useId, useImperativeHandle, useInsertionEffect, useLayoutEffect, useMemo, useOptimistic, useReducer, useRef, useState, useSyncExternalStore, useTransition, useViewTransition, reactAPICompatVersion as version };
@@ -1,6 +1,6 @@
1
- import { HTTPException } from "./http-exception.js";
2
- import { getCookie, getSignedCookie } from "./cookie.js";
3
- import { t as Jwt } from "./jwt-BGJBw5AF.js";
1
+ import { t as HTTPException } from "./http-exception-MjWkT89V.js";
2
+ import { a as getSignedCookie, i as getCookie } from "./cookie-BHIduy2T.js";
3
+ import { t as Jwt } from "./jwt-BXoIA2fQ.js";
4
4
  //#region ../../plugins/acryl-router/src/core/middleware/jwk/jwk.ts
5
5
  /**
6
6
  * JWK Auth Middleware for Acryl.
package/lib/jwk.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as jwk } from "./jwk-LkzeoaU8.js";
1
+ import { t as jwk } from "./jwk-CDPpYQpD.js";
2
2
  export { jwk };
@@ -1,5 +1,5 @@
1
- import { decodeBase64, decodeBase64Url, encodeBase64Url } from "./utils/encode.js";
2
- import { getRuntimeKey } from "./adapter.js";
1
+ import { i as encodeBase64Url, n as decodeBase64Url, t as decodeBase64 } from "./encode-BhbNLrjp.js";
2
+ import { r as getRuntimeKey } from "./adapter-CaZ6FZUU.js";
3
3
  //#region ../../plugins/acryl-router/src/core/utils/jwt/jwa.ts
4
4
  /**
5
5
  * @module
@@ -1,6 +1,6 @@
1
- import { HTTPException } from "./http-exception.js";
2
- import { getCookie, getSignedCookie } from "./cookie.js";
3
- import { t as Jwt } from "./jwt-BGJBw5AF.js";
1
+ import { t as HTTPException } from "./http-exception-MjWkT89V.js";
2
+ import { a as getSignedCookie, i as getCookie } from "./cookie-BHIduy2T.js";
3
+ import { t as Jwt } from "./jwt-BXoIA2fQ.js";
4
4
  //#region ../../plugins/acryl-router/src/core/middleware/jwt/jwt.ts
5
5
  /**
6
6
  * JWT Auth Middleware for Acryl.
package/lib/jwt.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as AlgorithmTypes } from "./jwt-BGJBw5AF.js";
2
- import { a as verifyWithJwks, i as verify, n as jwt, r as sign, t as decode } from "./jwt-CskdhEW9.js";
1
+ import { n as AlgorithmTypes } from "./jwt-BXoIA2fQ.js";
2
+ import { a as verifyWithJwks, i as verify, n as jwt, r as sign, t as decode } from "./jwt-lyS4Q3mT.js";
3
3
  export { AlgorithmTypes, decode, jwt, sign, verify, verifyWithJwks };
package/lib/kv/db.d.ts CHANGED
@@ -1,12 +1,3 @@
1
- import { t as Db } from "../database-DBHdwefi.js";
2
1
  import { n as Kv } from "../kv-9f-AlRKN.js";
3
-
4
- //#region ../../plugins/acryl-kv-db/src/open.d.ts
5
- interface KvOnDbOptions {
6
- /** The table that holds the documents. Defaults to `kv`; a plain SQL identifier. */
7
- readonly table?: string;
8
- }
9
- /** The `kv` port over a `db`. It does not own the database: whoever opened it closes it, and calls after that reject. */
10
- declare function kvOnDb(db: Db, options?: KvOnDbOptions): Kv;
11
- //#endregion
2
+ import { n as kvOnDb, t as KvOnDbOptions } from "../open-CULVJgOc.js";
12
3
  export { type Kv, KvOnDbOptions, kvOnDb };
package/lib/kv/db.js CHANGED
@@ -1,57 +1,2 @@
1
- import { a as compareKeys, c as runChange, i as codePoints, o as decodeValue, r as checkKey, s as encodeValue } from "../src-DRFVEQQb.js";
2
- //#region ../../plugins/acryl-kv-db/src/open.ts
3
- const IDENTIFIER = /^[a-z_][a-z0-9_]*$/u;
4
- /** The `kv` port over a `db`. It does not own the database: whoever opened it closes it, and calls after that reject. */
5
- function kvOnDb(db, options = {}) {
6
- const table = options.table ?? "kv";
7
- if (!IDENTIFIER.test(table)) throw new TypeError(`acryl-kv-db: the table name must be a plain lower case SQL identifier, got ${JSON.stringify(table)}`);
8
- let ready;
9
- const ensure = () => {
10
- ready ??= db.exec(`CREATE TABLE IF NOT EXISTS ${table} (key TEXT PRIMARY KEY, value TEXT NOT NULL)`).catch((error) => {
11
- ready = void 0;
12
- throw error;
13
- });
14
- return ready;
15
- };
16
- /**
17
- * Run a statement after the table exists. The table's statement and this one are both handed to the database at once (its queue keeps
18
- * their order), so a `close()` called right after a write cannot slip between them and leave the write on a closed database.
19
- */
20
- const after = async (work) => {
21
- const created = ensure();
22
- const result = work();
23
- const [, value] = await Promise.all([created, result]);
24
- return value;
25
- };
26
- const upsert = `INSERT INTO ${table} (key, value) VALUES (?, ?) ON CONFLICT (key) DO UPDATE SET value = excluded.value`;
27
- return {
28
- async get(key) {
29
- checkKey(key);
30
- const row = await after(() => db.get(`SELECT value FROM ${table} WHERE key = ?`, key));
31
- return row === void 0 ? void 0 : decodeValue(row.value);
32
- },
33
- async set(key, value) {
34
- checkKey(key);
35
- const text = encodeValue(value);
36
- await after(() => db.run(upsert, key, text));
37
- },
38
- async update(key, change) {
39
- checkKey(key);
40
- return after(() => db.transaction(async (tx) => {
41
- const row = await tx.get(`SELECT value FROM ${table} WHERE key = ?`, key);
42
- const text = encodeValue(runChange(change, row === void 0 ? void 0 : decodeValue(row.value)));
43
- await tx.run(upsert, key, text);
44
- return decodeValue(text);
45
- }));
46
- },
47
- async delete(key) {
48
- checkKey(key);
49
- await after(() => db.run(`DELETE FROM ${table} WHERE key = ?`, key));
50
- },
51
- async list(prefix = "") {
52
- return (await after(() => prefix === "" ? db.all(`SELECT key FROM ${table}`) : db.all(`SELECT key FROM ${table} WHERE substr(key, 1, ?) = ?`, codePoints(prefix), prefix))).map((row) => row.key).sort(compareKeys);
53
- }
54
- };
55
- }
56
- //#endregion
1
+ import { t as kvOnDb } from "../open-But9E2rL.js";
57
2
  export { kvOnDb };
package/lib/kv/json.d.ts CHANGED
@@ -1,11 +1,3 @@
1
1
  import { n as Kv, r as KvOpened } from "../kv-9f-AlRKN.js";
2
-
3
- //#region ../../plugins/acryl-kv-json/src/open.d.ts
4
- interface OpenKvOptions {
5
- /** The JSON file; its folder is created if missing. */
6
- readonly path: string;
7
- }
8
- /** Open (and create, when missing) a JSON-file store. @throws when the file exists and is not a readable kv file. */
9
- declare function openKv(options: OpenKvOptions): Promise<KvOpened>;
10
- //#endregion
2
+ import { n as openKv, t as OpenKvOptions } from "../open-BqK4D2Wn.js";
11
3
  export { type Kv, type KvOpened, OpenKvOptions, openKv };