hermium 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/bin/hermium.mjs +103 -58
  2. package/dist/api.mjs +35 -0
  3. package/dist/public/assets/css/styles-o9LLzp-x.css +1 -0
  4. package/dist/public/assets/js/{ChatInputBlock-Bw7AL70H.js → ChatInputBlock-BgJMx5nW.js} +1 -1
  5. package/dist/public/assets/js/{MarkdownMessage-8d7Y6VL-.js → MarkdownMessage-Dd6VsKhk.js} +1 -1
  6. package/dist/public/assets/js/{base-ui-BvQbAt_1.js → base-ui-Ls-HE_Zl.js} +1 -1
  7. package/dist/public/assets/js/{chat._sessionId-BG6lVraH.js → chat._sessionId-Yif-J0_7.js} +1 -1
  8. package/dist/public/assets/js/{chat.index-D2zdMPTT.js → chat.index-QgwoSqOs.js} +1 -1
  9. package/dist/public/assets/js/{index-C0AK45FU.js → index-BDLsrzTe.js} +26 -26
  10. package/dist/public/assets/js/{index-Cx5En4FK.js → index-DRH0t4ti.js} +1 -1
  11. package/dist/public/assets/js/{memory-CeSRdTkW.js → memory-CHpNNtU2.js} +1 -1
  12. package/dist/public/assets/js/{router-8uDKazL-.js → router-B8BATVn7.js} +1 -1
  13. package/dist/public/assets/js/{settings-Bc3Y5zXO.js → settings-CRV3Pp8x.js} +1 -1
  14. package/dist/public/assets/js/{skills-DZv7sA_5.js → skills-C8G72gXr.js} +1 -1
  15. package/dist/public/assets/js/{usage-DXQsT9_b.js → usage-Bev8hqwh.js} +1 -1
  16. package/dist/server/__23tanstack-start-plugin-adapters-Cwee5PKy.mjs +6 -0
  17. package/dist/server/_chunks/ssr-renderer.mjs +22 -0
  18. package/dist/server/_libs/bail.mjs +8 -0
  19. package/dist/server/_libs/base-ui__react.mjs +9858 -0
  20. package/dist/server/_libs/base-ui__utils.mjs +1106 -0
  21. package/dist/server/_libs/ccount.mjs +16 -0
  22. package/dist/server/_libs/character-entities.mjs +2130 -0
  23. package/dist/server/_libs/class-variance-authority.mjs +44 -0
  24. package/dist/server/_libs/clsx.mjs +16 -0
  25. package/dist/server/_libs/comma-separated-tokens.mjs +10 -0
  26. package/dist/server/_libs/cookie-es.mjs +1 -0
  27. package/dist/server/_libs/croner.mjs +1 -0
  28. package/dist/server/_libs/crossws.mjs +1 -0
  29. package/dist/server/_libs/decode-named-character-reference+[...].mjs +8 -0
  30. package/dist/server/_libs/devlop.mjs +8 -0
  31. package/dist/server/_libs/escape-string-regexp.mjs +9 -0
  32. package/dist/server/_libs/estree-util-is-identifier-name.mjs +11 -0
  33. package/dist/server/_libs/extend.mjs +97 -0
  34. package/dist/server/_libs/floating-ui__core.mjs +663 -0
  35. package/dist/server/_libs/floating-ui__dom.mjs +624 -0
  36. package/dist/server/_libs/floating-ui__react-dom.mjs +279 -0
  37. package/dist/server/_libs/floating-ui__utils.mjs +322 -0
  38. package/dist/server/_libs/h3.mjs +408 -0
  39. package/dist/server/_libs/hast-util-is-element.mjs +75 -0
  40. package/dist/server/_libs/hast-util-to-jsx-runtime.mjs +388 -0
  41. package/dist/server/_libs/hast-util-to-text.mjs +305 -0
  42. package/dist/server/_libs/hast-util-whitespace.mjs +10 -0
  43. package/dist/server/_libs/highlight.js.mjs +14756 -0
  44. package/dist/server/_libs/hookable.mjs +1 -0
  45. package/dist/server/_libs/html-url-attributes.mjs +26 -0
  46. package/dist/server/_libs/inline-style-parser.mjs +142 -0
  47. package/dist/server/_libs/is-plain-obj.mjs +10 -0
  48. package/dist/server/_libs/isbot.mjs +21 -0
  49. package/dist/server/_libs/longest-streak.mjs +25 -0
  50. package/dist/server/_libs/lowlight.mjs +262 -0
  51. package/dist/server/_libs/markdown-table.mjs +142 -0
  52. package/dist/server/_libs/mdast-util-find-and-replace.mjs +109 -0
  53. package/dist/server/_libs/mdast-util-from-markdown.mjs +717 -0
  54. package/dist/server/_libs/mdast-util-gfm-autolink-literal+[...].mjs +156 -0
  55. package/dist/server/_libs/mdast-util-gfm-footnote.mjs +117 -0
  56. package/dist/server/_libs/mdast-util-gfm-strikethrough.mjs +54 -0
  57. package/dist/server/_libs/mdast-util-gfm-table.mjs +157 -0
  58. package/dist/server/_libs/mdast-util-gfm-task-list-item.mjs +77 -0
  59. package/dist/server/_libs/mdast-util-gfm.mjs +29 -0
  60. package/dist/server/_libs/mdast-util-phrasing.mjs +30 -0
  61. package/dist/server/_libs/mdast-util-to-hast.mjs +710 -0
  62. package/dist/server/_libs/mdast-util-to-markdown.mjs +798 -0
  63. package/dist/server/_libs/mdast-util-to-string.mjs +38 -0
  64. package/dist/server/_libs/micromark-core-commonmark.mjs +2259 -0
  65. package/dist/server/_libs/micromark-extension-gfm-autolink-literal+[...].mjs +344 -0
  66. package/dist/server/_libs/micromark-extension-gfm-footnote+[...].mjs +279 -0
  67. package/dist/server/_libs/micromark-extension-gfm-strikethrough+[...].mjs +98 -0
  68. package/dist/server/_libs/micromark-extension-gfm-table.mjs +491 -0
  69. package/dist/server/_libs/micromark-extension-gfm-tagfilter+[...].mjs +1 -0
  70. package/dist/server/_libs/micromark-extension-gfm-task-list-item+[...].mjs +77 -0
  71. package/dist/server/_libs/micromark-extension-gfm.mjs +18 -0
  72. package/dist/server/_libs/micromark-factory-destination.mjs +94 -0
  73. package/dist/server/_libs/micromark-factory-label.mjs +63 -0
  74. package/dist/server/_libs/micromark-factory-space.mjs +24 -0
  75. package/dist/server/_libs/micromark-factory-title.mjs +65 -0
  76. package/dist/server/_libs/micromark-factory-whitespace.mjs +22 -0
  77. package/dist/server/_libs/micromark-util-character.mjs +44 -0
  78. package/dist/server/_libs/micromark-util-chunked.mjs +36 -0
  79. package/dist/server/_libs/micromark-util-classify-character+[...].mjs +12 -0
  80. package/dist/server/_libs/micromark-util-combine-extensions+[...].mjs +41 -0
  81. package/dist/server/_libs/micromark-util-decode-numeric-character-reference+[...].mjs +19 -0
  82. package/dist/server/_libs/micromark-util-decode-string.mjs +21 -0
  83. package/dist/server/_libs/micromark-util-encode.mjs +1 -0
  84. package/dist/server/_libs/micromark-util-html-tag-name.mjs +69 -0
  85. package/dist/server/_libs/micromark-util-normalize-identifier+[...].mjs +6 -0
  86. package/dist/server/_libs/micromark-util-resolve-all.mjs +15 -0
  87. package/dist/server/_libs/micromark-util-sanitize-uri.mjs +41 -0
  88. package/dist/server/_libs/micromark-util-subtokenize.mjs +346 -0
  89. package/dist/server/_libs/micromark.mjs +906 -0
  90. package/dist/server/_libs/ocache.mjs +1 -0
  91. package/dist/server/_libs/ohash.mjs +1 -0
  92. package/dist/server/_libs/property-information.mjs +1209 -0
  93. package/dist/server/_libs/react-dom.mjs +10779 -0
  94. package/dist/server/_libs/react-markdown.mjs +147 -0
  95. package/dist/server/_libs/react.mjs +513 -0
  96. package/dist/server/_libs/rehype-highlight.mjs +94 -0
  97. package/dist/server/_libs/remark-gfm.mjs +20 -0
  98. package/dist/server/_libs/remark-parse.mjs +19 -0
  99. package/dist/server/_libs/remark-rehype.mjs +21 -0
  100. package/dist/server/_libs/reselect.mjs +1 -0
  101. package/dist/server/_libs/rou3.mjs +8 -0
  102. package/dist/server/_libs/seroval-plugins.mjs +1 -0
  103. package/dist/server/_libs/seroval.mjs +1 -0
  104. package/dist/server/_libs/space-separated-tokens.mjs +6 -0
  105. package/dist/server/_libs/srvx.mjs +781 -0
  106. package/dist/server/_libs/style-to-js.mjs +72 -0
  107. package/dist/server/_libs/style-to-object.mjs +38 -0
  108. package/dist/server/_libs/tabler__icons-react.mjs +140 -0
  109. package/dist/server/_libs/tailwind-merge.mjs +3255 -0
  110. package/dist/server/_libs/tanstack__history.mjs +29 -0
  111. package/dist/server/_libs/tanstack__react-router.mjs +1120 -0
  112. package/dist/server/_libs/tanstack__react-store.mjs +2 -0
  113. package/dist/server/_libs/tanstack__router-core.mjs +3594 -0
  114. package/dist/server/_libs/tanstack__store.mjs +1 -0
  115. package/dist/server/_libs/trim-lines.mjs +41 -0
  116. package/dist/server/_libs/trough.mjs +85 -0
  117. package/dist/server/_libs/ufo.mjs +54 -0
  118. package/dist/server/_libs/unctx.mjs +1 -0
  119. package/dist/server/_libs/ungap__structured-clone.mjs +224 -0
  120. package/dist/server/_libs/unified.mjs +661 -0
  121. package/dist/server/_libs/unist-util-find-after.mjs +41 -0
  122. package/dist/server/_libs/unist-util-is.mjs +100 -0
  123. package/dist/server/_libs/unist-util-position.mjs +27 -0
  124. package/dist/server/_libs/unist-util-stringify-position.mjs +27 -0
  125. package/dist/server/_libs/unist-util-visit-parents.mjs +83 -0
  126. package/dist/server/_libs/unist-util-visit.mjs +24 -0
  127. package/dist/server/_libs/unstorage.mjs +1 -0
  128. package/dist/server/_libs/use-sync-external-store.mjs +139 -0
  129. package/dist/server/_libs/vfile-message.mjs +138 -0
  130. package/dist/server/_libs/vfile.mjs +467 -0
  131. package/dist/server/_libs/zustand.mjs +43 -0
  132. package/dist/server/_libs/zwitch.mjs +1 -0
  133. package/dist/server/_ssr/ChatInputBlock-Bu2-iop_.mjs +220 -0
  134. package/dist/server/_ssr/MarkdownMessage-CNS7OSKN.mjs +68 -0
  135. package/dist/server/_ssr/chat._sessionId-P02iSfut.mjs +477 -0
  136. package/dist/server/_ssr/chat.index-BYB_48NC.mjs +64 -0
  137. package/dist/server/_ssr/index-C1mT_2d8.mjs +4890 -0
  138. package/dist/server/_ssr/index-DFV9_oCk.mjs +43 -0
  139. package/dist/server/_ssr/memory-CW_fSOG9.mjs +257 -0
  140. package/dist/server/_ssr/router-CUAfx91O.mjs +2035 -0
  141. package/dist/server/_ssr/settings-DoXurzvn.mjs +10 -0
  142. package/dist/server/_ssr/skills-Cs7A5ZwO.mjs +422 -0
  143. package/dist/server/_ssr/theme-BK4-7E2h.mjs +42 -0
  144. package/dist/server/_ssr/usage-Bs2-LXGz.mjs +298 -0
  145. package/dist/server/_tanstack-start-manifest_v-C7Upe2TI.mjs +4 -0
  146. package/dist/server/index.mjs +506 -0
  147. package/dist/server/public/assets/css/index-Dfs9RUU9.css +1 -0
  148. package/dist/server/public/assets/css/styles-o9LLzp-x.css +1 -0
  149. package/dist/server/public/assets/js/ChatInputBlock-BgJMx5nW.js +1 -0
  150. package/dist/server/public/assets/js/MarkdownMessage-Dd6VsKhk.js +1 -0
  151. package/dist/server/public/assets/js/base-ui-Ls-HE_Zl.js +1 -0
  152. package/dist/server/public/assets/js/chat._sessionId-Yif-J0_7.js +1 -0
  153. package/dist/server/public/assets/js/chat.index-QgwoSqOs.js +1 -0
  154. package/dist/server/public/assets/js/index-BDLsrzTe.js +60 -0
  155. package/dist/server/public/assets/js/index-DRH0t4ti.js +1 -0
  156. package/dist/server/public/assets/js/memory-CHpNNtU2.js +3 -0
  157. package/dist/server/public/assets/js/router-B8BATVn7.js +1 -0
  158. package/dist/server/public/assets/js/settings-CRV3Pp8x.js +1 -0
  159. package/dist/server/public/assets/js/skills-C8G72gXr.js +1 -0
  160. package/dist/server/public/assets/js/theme-CPkdkpaj.js +1 -0
  161. package/dist/server/public/assets/js/usage-Bev8hqwh.js +1 -0
  162. package/dist/server/public/assets/woff2/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  163. package/dist/server/public/assets/woff2/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  164. package/dist/server/public/assets/woff2/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  165. package/dist/server/public/assets/woff2/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  166. package/dist/server/public/assets/woff2/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  167. package/dist/server/public/favicon.ico +0 -0
  168. package/dist/server/public/logo.png +0 -0
  169. package/dist/server/public/manifest.json +25 -0
  170. package/dist/server/public/robots.txt +3 -0
  171. package/package.json +4 -3
  172. package/dist/public/assets/css/styles-B8p6jk5Z.css +0 -1
@@ -0,0 +1,506 @@
1
+ globalThis.__nitro_main__ = import.meta.url;
2
+ import { N as NodeResponse, s as serve } from "./_libs/srvx.mjs";
3
+ import { a as HTTPError, d as defineHandler, t as toEventHandler, b as defineLazyEventHandler, H as H3Core } from "./_libs/h3.mjs";
4
+ import { d as decodePath, w as withLeadingSlash, a as withoutTrailingSlash, j as joinURL } from "./_libs/ufo.mjs";
5
+ import { promises } from "node:fs";
6
+ import { fileURLToPath } from "node:url";
7
+ import { dirname, resolve } from "node:path";
8
+ import "node:http";
9
+ import "node:stream";
10
+ import "node:stream/promises";
11
+ import "node:https";
12
+ import "node:http2";
13
+ import "./_libs/rou3.mjs";
14
+ function lazyService(loader) {
15
+ let promise, mod;
16
+ return {
17
+ fetch(req) {
18
+ if (mod) {
19
+ return mod.fetch(req);
20
+ }
21
+ if (!promise) {
22
+ promise = loader().then((_mod) => mod = _mod.default || _mod);
23
+ }
24
+ return promise.then((mod2) => mod2.fetch(req));
25
+ }
26
+ };
27
+ }
28
+ const services = {
29
+ ["ssr"]: lazyService(() => import("./_ssr/index-C1mT_2d8.mjs"))
30
+ };
31
+ globalThis.__nitro_vite_envs__ = services;
32
+ const errorHandler$1 = (error, event) => {
33
+ const res = defaultHandler(error, event);
34
+ return new NodeResponse(typeof res.body === "string" ? res.body : JSON.stringify(res.body, null, 2), res);
35
+ };
36
+ function defaultHandler(error, event) {
37
+ const unhandled = error.unhandled ?? !HTTPError.isError(error);
38
+ const { status = 500, statusText = "" } = unhandled ? {} : error;
39
+ if (status === 404) {
40
+ const url = event.url || new URL(event.req.url);
41
+ const baseURL = "/";
42
+ if (/^\/[^/]/.test(baseURL) && !url.pathname.startsWith(baseURL)) {
43
+ return {
44
+ status: 302,
45
+ headers: new Headers({ location: `${baseURL}${url.pathname.slice(1)}${url.search}` })
46
+ };
47
+ }
48
+ }
49
+ const headers2 = new Headers(unhandled ? {} : error.headers);
50
+ headers2.set("content-type", "application/json; charset=utf-8");
51
+ const jsonBody = unhandled ? {
52
+ status,
53
+ unhandled: true
54
+ } : typeof error.toJSON === "function" ? error.toJSON() : {
55
+ status,
56
+ statusText,
57
+ message: error.message
58
+ };
59
+ return {
60
+ status,
61
+ statusText,
62
+ headers: headers2,
63
+ body: {
64
+ error: true,
65
+ ...jsonBody
66
+ }
67
+ };
68
+ }
69
+ const errorHandlers = [errorHandler$1];
70
+ async function errorHandler(error, event) {
71
+ for (const handler of errorHandlers) {
72
+ try {
73
+ const response = await handler(error, event, { defaultHandler });
74
+ if (response) {
75
+ return response;
76
+ }
77
+ } catch (error2) {
78
+ console.error(error2);
79
+ }
80
+ }
81
+ }
82
+ const headers = ((m) => function headersRouteRule(event) {
83
+ for (const [key2, value] of Object.entries(m.options || {})) {
84
+ event.res.headers.set(key2, value);
85
+ }
86
+ });
87
+ const assets = {
88
+ "/favicon.ico": {
89
+ "type": "image/vnd.microsoft.icon",
90
+ "etag": '"f1e-ESBTjHetHyiokkO0tT/irBbMO8Y"',
91
+ "mtime": "2026-05-17T07:27:08.083Z",
92
+ "size": 3870,
93
+ "path": "../public/favicon.ico"
94
+ },
95
+ "/robots.txt": {
96
+ "type": "text/plain; charset=utf-8",
97
+ "etag": '"43-BEzmj4PuhUNHX+oW9uOnPSihxtU"',
98
+ "mtime": "2026-05-17T07:27:08.083Z",
99
+ "size": 67,
100
+ "path": "../public/robots.txt"
101
+ },
102
+ "/assets/css/index-Dfs9RUU9.css": {
103
+ "type": "text/css; charset=utf-8",
104
+ "etag": '"429-auB1gSdvHWOpUkgakyObE/IliVA"',
105
+ "mtime": "2026-05-17T07:27:06.992Z",
106
+ "size": 1065,
107
+ "path": "../public/assets/css/index-Dfs9RUU9.css"
108
+ },
109
+ "/assets/js/ChatInputBlock-BgJMx5nW.js": {
110
+ "type": "text/javascript; charset=utf-8",
111
+ "etag": '"1364-dAv3HTK8FVdaewu6Gt+ZFU9znOY"',
112
+ "mtime": "2026-05-17T07:27:06.992Z",
113
+ "size": 4964,
114
+ "path": "../public/assets/js/ChatInputBlock-BgJMx5nW.js"
115
+ },
116
+ "/assets/js/MarkdownMessage-Dd6VsKhk.js": {
117
+ "type": "text/javascript; charset=utf-8",
118
+ "etag": '"a21-1q6w6BPi8L0LSfX586VgEWzQcZE"',
119
+ "mtime": "2026-05-17T07:27:06.992Z",
120
+ "size": 2593,
121
+ "path": "../public/assets/js/MarkdownMessage-Dd6VsKhk.js"
122
+ },
123
+ "/manifest.json": {
124
+ "type": "application/json",
125
+ "etag": '"1f2-Oqn/x1R1hBTtEjA8nFhpBeFJJNg"',
126
+ "mtime": "2026-05-17T07:27:08.083Z",
127
+ "size": 498,
128
+ "path": "../public/manifest.json"
129
+ },
130
+ "/assets/js/chat._sessionId-Yif-J0_7.js": {
131
+ "type": "text/javascript; charset=utf-8",
132
+ "etag": '"276a-KD5tLrLu5a8Spayi1mtg6u6Geg0"',
133
+ "mtime": "2026-05-17T07:27:06.992Z",
134
+ "size": 10090,
135
+ "path": "../public/assets/js/chat._sessionId-Yif-J0_7.js"
136
+ },
137
+ "/assets/css/styles-o9LLzp-x.css": {
138
+ "type": "text/css; charset=utf-8",
139
+ "etag": '"1a42c-FZ/ee3F4Q7Mn/pXdk/77BiUw0ms"',
140
+ "mtime": "2026-05-17T07:27:06.991Z",
141
+ "size": 107564,
142
+ "path": "../public/assets/css/styles-o9LLzp-x.css"
143
+ },
144
+ "/assets/js/chat.index-QgwoSqOs.js": {
145
+ "type": "text/javascript; charset=utf-8",
146
+ "etag": '"2bc-hDhBvZeKqSEFub0zj0ykXQ/sovk"',
147
+ "mtime": "2026-05-17T07:27:06.992Z",
148
+ "size": 700,
149
+ "path": "../public/assets/js/chat.index-QgwoSqOs.js"
150
+ },
151
+ "/assets/js/base-ui-Ls-HE_Zl.js": {
152
+ "type": "text/javascript; charset=utf-8",
153
+ "etag": '"23136-NPnS0kYRO+mXPXRrJB3NBY00uq4"',
154
+ "mtime": "2026-05-17T07:27:06.992Z",
155
+ "size": 143670,
156
+ "path": "../public/assets/js/base-ui-Ls-HE_Zl.js"
157
+ },
158
+ "/assets/js/index-DRH0t4ti.js": {
159
+ "type": "text/javascript; charset=utf-8",
160
+ "etag": '"29c-tTb3YFuOqMjToH/LXz8AC/Yy3u4"',
161
+ "mtime": "2026-05-17T07:27:06.992Z",
162
+ "size": 668,
163
+ "path": "../public/assets/js/index-DRH0t4ti.js"
164
+ },
165
+ "/assets/js/memory-CHpNNtU2.js": {
166
+ "type": "text/javascript; charset=utf-8",
167
+ "etag": '"129f-HcYyBNBO8E4Qk6q4YNUcUFbHYn0"',
168
+ "mtime": "2026-05-17T07:27:06.992Z",
169
+ "size": 4767,
170
+ "path": "../public/assets/js/memory-CHpNNtU2.js"
171
+ },
172
+ "/assets/js/router-B8BATVn7.js": {
173
+ "type": "text/javascript; charset=utf-8",
174
+ "etag": '"5560-00tZq2ySCKCbubChoqVlGV4O7oU"',
175
+ "mtime": "2026-05-17T07:27:06.992Z",
176
+ "size": 21856,
177
+ "path": "../public/assets/js/router-B8BATVn7.js"
178
+ },
179
+ "/assets/js/settings-CRV3Pp8x.js": {
180
+ "type": "text/javascript; charset=utf-8",
181
+ "etag": '"16c-tGONYCEXHS/qLz8RLjnlZrtdc8Y"',
182
+ "mtime": "2026-05-17T07:27:06.992Z",
183
+ "size": 364,
184
+ "path": "../public/assets/js/settings-CRV3Pp8x.js"
185
+ },
186
+ "/assets/js/theme-CPkdkpaj.js": {
187
+ "type": "text/javascript; charset=utf-8",
188
+ "etag": '"245-JWXBP1zFNJpiVT0wBqxD0nTaUio"',
189
+ "mtime": "2026-05-17T07:27:06.992Z",
190
+ "size": 581,
191
+ "path": "../public/assets/js/theme-CPkdkpaj.js"
192
+ },
193
+ "/assets/js/skills-C8G72gXr.js": {
194
+ "type": "text/javascript; charset=utf-8",
195
+ "etag": '"2bd9-wBhFyio9XM3I49sNXO8K9jJnl/E"',
196
+ "mtime": "2026-05-17T07:27:06.992Z",
197
+ "size": 11225,
198
+ "path": "../public/assets/js/skills-C8G72gXr.js"
199
+ },
200
+ "/assets/js/usage-Bev8hqwh.js": {
201
+ "type": "text/javascript; charset=utf-8",
202
+ "etag": '"2541-nTkUak6jBAssWVOICp5xCWuExQM"',
203
+ "mtime": "2026-05-17T07:27:06.992Z",
204
+ "size": 9537,
205
+ "path": "../public/assets/js/usage-Bev8hqwh.js"
206
+ },
207
+ "/assets/woff2/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2": {
208
+ "type": "font/woff2",
209
+ "etag": '"1cfc-yYSDXNlt/tTRaj6rJo8ZMqvY7pQ"',
210
+ "mtime": "2026-05-17T07:27:06.992Z",
211
+ "size": 7420,
212
+ "path": "../public/assets/woff2/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2"
213
+ },
214
+ "/assets/woff2/geist-cyrillic-wght-normal-BEAKL7Jp.woff2": {
215
+ "type": "font/woff2",
216
+ "etag": '"3aec-5kpQSZEtAzzU5kdiuro3Zr2YR54"',
217
+ "mtime": "2026-05-17T07:27:06.991Z",
218
+ "size": 15084,
219
+ "path": "../public/assets/woff2/geist-cyrillic-wght-normal-BEAKL7Jp.woff2"
220
+ },
221
+ "/assets/woff2/geist-latin-ext-wght-normal-DC-KSUi6.woff2": {
222
+ "type": "font/woff2",
223
+ "etag": '"4080-mZu3Z7sOWqglha+kefNbUA9Pp+Q"',
224
+ "mtime": "2026-05-17T07:27:06.992Z",
225
+ "size": 16512,
226
+ "path": "../public/assets/woff2/geist-latin-ext-wght-normal-DC-KSUi6.woff2"
227
+ },
228
+ "/assets/woff2/geist-latin-wght-normal-BgDaEnEv.woff2": {
229
+ "type": "font/woff2",
230
+ "etag": '"72d8-9J+D7/6th5UzRxIgoFX9awJv47A"',
231
+ "mtime": "2026-05-17T07:27:06.992Z",
232
+ "size": 29400,
233
+ "path": "../public/assets/woff2/geist-latin-wght-normal-BgDaEnEv.woff2"
234
+ },
235
+ "/assets/woff2/geist-vietnamese-wght-normal-6IgcOCM7.woff2": {
236
+ "type": "font/woff2",
237
+ "etag": '"1f44-6MZ7/PEEOeDVF0eHI650KpwKQV8"',
238
+ "mtime": "2026-05-17T07:27:06.992Z",
239
+ "size": 8004,
240
+ "path": "../public/assets/woff2/geist-vietnamese-wght-normal-6IgcOCM7.woff2"
241
+ },
242
+ "/assets/js/index-BDLsrzTe.js": {
243
+ "type": "text/javascript; charset=utf-8",
244
+ "etag": '"b4934-/S1tk4IG++X1wilwXC2tHNvxfr0"',
245
+ "mtime": "2026-05-17T07:27:06.992Z",
246
+ "size": 739636,
247
+ "path": "../public/assets/js/index-BDLsrzTe.js"
248
+ },
249
+ "/logo.png": {
250
+ "type": "image/png",
251
+ "etag": '"142435-x+cWIod8BP5RPjbiISayulI5r7I"',
252
+ "mtime": "2026-05-17T07:27:08.083Z",
253
+ "size": 1319989,
254
+ "path": "../public/logo.png"
255
+ }
256
+ };
257
+ function readAsset(id) {
258
+ const serverDir = dirname(fileURLToPath(globalThis.__nitro_main__));
259
+ return promises.readFile(resolve(serverDir, assets[id].path));
260
+ }
261
+ const publicAssetBases = {};
262
+ function isPublicAssetURL(id = "") {
263
+ if (assets[id]) {
264
+ return true;
265
+ }
266
+ for (const base in publicAssetBases) {
267
+ if (id.startsWith(base)) {
268
+ return true;
269
+ }
270
+ }
271
+ return false;
272
+ }
273
+ function getAsset(id) {
274
+ return assets[id];
275
+ }
276
+ const METHODS = /* @__PURE__ */ new Set(["HEAD", "GET"]);
277
+ const EncodingMap = {
278
+ gzip: ".gz",
279
+ br: ".br",
280
+ zstd: ".zst"
281
+ };
282
+ const _uHHM1p = defineHandler((event) => {
283
+ if (event.req.method && !METHODS.has(event.req.method)) {
284
+ return;
285
+ }
286
+ let id = decodePath(withLeadingSlash(withoutTrailingSlash(event.url.pathname)));
287
+ let asset;
288
+ const encodingHeader = event.req.headers.get("accept-encoding") || "";
289
+ const encodings = [...encodingHeader.split(",").map((e) => EncodingMap[e.trim()]).filter(Boolean).sort(), ""];
290
+ for (const encoding of encodings) {
291
+ for (const _id of [id + encoding, joinURL(id, "index.html" + encoding)]) {
292
+ const _asset = getAsset(_id);
293
+ if (_asset) {
294
+ asset = _asset;
295
+ id = _id;
296
+ break;
297
+ }
298
+ }
299
+ }
300
+ if (!asset) {
301
+ if (isPublicAssetURL(id)) {
302
+ event.res.headers.delete("Cache-Control");
303
+ throw new HTTPError({ status: 404 });
304
+ }
305
+ return;
306
+ }
307
+ if (encodings.length > 1) {
308
+ event.res.headers.append("Vary", "Accept-Encoding");
309
+ }
310
+ const ifNotMatch = event.req.headers.get("if-none-match") === asset.etag;
311
+ if (ifNotMatch) {
312
+ event.res.status = 304;
313
+ event.res.statusText = "Not Modified";
314
+ return "";
315
+ }
316
+ const ifModifiedSinceH = event.req.headers.get("if-modified-since");
317
+ const mtimeDate = new Date(asset.mtime);
318
+ if (ifModifiedSinceH && asset.mtime && new Date(ifModifiedSinceH) >= mtimeDate) {
319
+ event.res.status = 304;
320
+ event.res.statusText = "Not Modified";
321
+ return "";
322
+ }
323
+ if (asset.type) {
324
+ event.res.headers.set("Content-Type", asset.type);
325
+ }
326
+ if (asset.etag && !event.res.headers.has("ETag")) {
327
+ event.res.headers.set("ETag", asset.etag);
328
+ }
329
+ if (asset.mtime && !event.res.headers.has("Last-Modified")) {
330
+ event.res.headers.set("Last-Modified", mtimeDate.toUTCString());
331
+ }
332
+ if (asset.encoding && !event.res.headers.has("Content-Encoding")) {
333
+ event.res.headers.set("Content-Encoding", asset.encoding);
334
+ }
335
+ if (asset.size > 0 && !event.res.headers.has("Content-Length")) {
336
+ event.res.headers.set("Content-Length", asset.size.toString());
337
+ }
338
+ return readAsset(id);
339
+ });
340
+ const findRouteRules = /* @__PURE__ */ (() => {
341
+ const $0 = [{ name: "headers", route: "/assets/**", handler: headers, options: { "cache-control": "public, max-age=31536000, immutable" } }];
342
+ return (m, p) => {
343
+ let r = [];
344
+ if (p.charCodeAt(p.length - 1) === 47) p = p.slice(0, -1) || "/";
345
+ let s = p.split("/"), l = s.length;
346
+ if (l > 1) {
347
+ if (s[1] === "assets") {
348
+ r.unshift({ data: $0, params: { "_": s.slice(2).join("/") } });
349
+ }
350
+ }
351
+ return r;
352
+ };
353
+ })();
354
+ const _lazy_kBOAqV = defineLazyEventHandler(() => import("./_chunks/ssr-renderer.mjs"));
355
+ const findRoute = /* @__PURE__ */ (() => {
356
+ const data = { route: "/**", handler: _lazy_kBOAqV };
357
+ return ((_m, p) => {
358
+ return { data, params: { "_": p.slice(1) } };
359
+ });
360
+ })();
361
+ const globalMiddleware = [
362
+ toEventHandler(_uHHM1p)
363
+ ].filter(Boolean);
364
+ const APP_ID = "default";
365
+ function useNitroApp() {
366
+ let instance = useNitroApp._instance;
367
+ if (instance) {
368
+ return instance;
369
+ }
370
+ instance = useNitroApp._instance = createNitroApp();
371
+ globalThis.__nitro__ = globalThis.__nitro__ || {};
372
+ globalThis.__nitro__[APP_ID] = instance;
373
+ return instance;
374
+ }
375
+ function createNitroApp() {
376
+ const hooks = void 0;
377
+ const captureError = (error, errorCtx) => {
378
+ if (errorCtx?.event) {
379
+ const errors = errorCtx.event.req.context?.nitro?.errors;
380
+ if (errors) {
381
+ errors.push({
382
+ error,
383
+ context: errorCtx
384
+ });
385
+ }
386
+ }
387
+ };
388
+ const h3App = createH3App({ onError(error, event) {
389
+ return errorHandler(error, event);
390
+ } });
391
+ let appHandler = (req) => {
392
+ req.context ||= {};
393
+ req.context.nitro = req.context.nitro || { errors: [] };
394
+ return h3App.fetch(req);
395
+ };
396
+ const app = {
397
+ fetch: appHandler,
398
+ h3: h3App,
399
+ hooks,
400
+ captureError
401
+ };
402
+ return app;
403
+ }
404
+ function createH3App(config) {
405
+ const h3App = new H3Core(config);
406
+ h3App["~findRoute"] = (event) => findRoute(event.req.method, event.url.pathname);
407
+ h3App["~middleware"].push(...globalMiddleware);
408
+ {
409
+ h3App["~getMiddleware"] = (event, route) => {
410
+ const pathname = event.url.pathname;
411
+ const method = event.req.method;
412
+ const middleware = [];
413
+ {
414
+ const routeRules = getRouteRules(method, pathname);
415
+ event.context.routeRules = routeRules?.routeRules;
416
+ if (routeRules?.routeRuleMiddleware.length) {
417
+ middleware.push(...routeRules.routeRuleMiddleware);
418
+ }
419
+ }
420
+ middleware.push(...h3App["~middleware"]);
421
+ if (route?.data?.middleware?.length) {
422
+ middleware.push(...route.data.middleware);
423
+ }
424
+ return middleware;
425
+ };
426
+ }
427
+ return h3App;
428
+ }
429
+ function getRouteRules(method, pathname) {
430
+ const m = findRouteRules(method, pathname);
431
+ if (!m?.length) {
432
+ return { routeRuleMiddleware: [] };
433
+ }
434
+ const routeRules = {};
435
+ for (const layer of m) {
436
+ for (const rule of layer.data) {
437
+ const currentRule = routeRules[rule.name];
438
+ if (currentRule) {
439
+ if (rule.options === false) {
440
+ delete routeRules[rule.name];
441
+ continue;
442
+ }
443
+ if (typeof currentRule.options === "object" && typeof rule.options === "object") {
444
+ currentRule.options = {
445
+ ...currentRule.options,
446
+ ...rule.options
447
+ };
448
+ } else {
449
+ currentRule.options = rule.options;
450
+ }
451
+ currentRule.route = rule.route;
452
+ currentRule.params = {
453
+ ...currentRule.params,
454
+ ...layer.params
455
+ };
456
+ } else if (rule.options !== false) {
457
+ routeRules[rule.name] = {
458
+ ...rule,
459
+ params: layer.params
460
+ };
461
+ }
462
+ }
463
+ }
464
+ const middleware = [];
465
+ const orderedRules = Object.values(routeRules).sort((a, b) => (a.handler?.order || 0) - (b.handler?.order || 0));
466
+ for (const rule of orderedRules) {
467
+ if (rule.options === false || !rule.handler) {
468
+ continue;
469
+ }
470
+ middleware.push(rule.handler(rule));
471
+ }
472
+ return {
473
+ routeRules,
474
+ routeRuleMiddleware: middleware
475
+ };
476
+ }
477
+ function _captureError(error, type) {
478
+ console.error(`[${type}]`, error);
479
+ useNitroApp().captureError?.(error, { tags: [type] });
480
+ }
481
+ function trapUnhandledErrors() {
482
+ process.on("unhandledRejection", (error) => _captureError(error, "unhandledRejection"));
483
+ process.on("uncaughtException", (error) => _captureError(error, "uncaughtException"));
484
+ }
485
+ const tracingSrvxPlugins = [];
486
+ const _parsedPort = Number.parseInt(process.env.NITRO_PORT ?? process.env.PORT ?? "");
487
+ const port = Number.isNaN(_parsedPort) ? 3e3 : _parsedPort;
488
+ const host = process.env.NITRO_HOST || process.env.HOST;
489
+ const cert = process.env.NITRO_SSL_CERT;
490
+ const key = process.env.NITRO_SSL_KEY;
491
+ const nitroApp = useNitroApp();
492
+ serve({
493
+ port,
494
+ hostname: host,
495
+ tls: cert && key ? {
496
+ cert,
497
+ key
498
+ } : void 0,
499
+ fetch: nitroApp.fetch,
500
+ plugins: [...tracingSrvxPlugins]
501
+ });
502
+ trapUnhandledErrors();
503
+ const nodeServer = {};
504
+ export {
505
+ nodeServer as default
506
+ };
@@ -0,0 +1 @@
1
+ pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}