hermium 0.1.10 → 0.2.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 (212) hide show
  1. package/README.md +56 -0
  2. package/bin/hermium.mjs +185 -164
  3. package/dist/api.mjs +3513 -0
  4. package/dist/public/assets/css/index-Dfs9RUU9.css +1 -0
  5. package/dist/public/assets/css/styles-B8p6jk5Z.css +1 -0
  6. package/dist/public/assets/js/ChatInputBlock-Bw7AL70H.js +1 -0
  7. package/dist/public/assets/js/MarkdownMessage-8d7Y6VL-.js +1 -0
  8. package/dist/public/assets/js/base-ui-BvQbAt_1.js +1 -0
  9. package/dist/public/assets/js/chat._sessionId-BG6lVraH.js +1 -0
  10. package/dist/public/assets/js/chat.index-D2zdMPTT.js +1 -0
  11. package/dist/public/assets/js/index-C0AK45FU.js +60 -0
  12. package/dist/public/assets/js/index-Cx5En4FK.js +1 -0
  13. package/dist/public/assets/js/memory-CeSRdTkW.js +3 -0
  14. package/dist/public/assets/js/router-8uDKazL-.js +1 -0
  15. package/dist/public/assets/js/settings-Bc3Y5zXO.js +1 -0
  16. package/dist/public/assets/js/skills-DZv7sA_5.js +1 -0
  17. package/dist/public/assets/js/theme-CPkdkpaj.js +1 -0
  18. package/dist/public/assets/js/usage-DXQsT9_b.js +1 -0
  19. package/dist/public/assets/woff2/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  20. package/dist/public/assets/woff2/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  21. package/dist/public/assets/woff2/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  22. package/dist/public/assets/woff2/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  23. package/dist/public/assets/woff2/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  24. package/dist/public/favicon.ico +0 -0
  25. package/dist/public/logo.png +0 -0
  26. package/package.json +1 -1
  27. package/dist/public/assets/IconAlertCircle-BW147gsG.js +0 -1
  28. package/dist/public/assets/IconAlertTriangle-DCoTLVSd.js +0 -1
  29. package/dist/public/assets/IconCheck-DAO7Fpl9.js +0 -1
  30. package/dist/public/assets/IconCode-BqfTl5wU.js +0 -1
  31. package/dist/public/assets/IconLoader2-B_pehSXN.js +0 -1
  32. package/dist/public/assets/IconRefresh-BbMGoMV8.js +0 -1
  33. package/dist/public/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2 +0 -0
  34. package/dist/public/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2 +0 -0
  35. package/dist/public/assets/geist-latin-wght-normal-Dm3htQBi.woff2 +0 -0
  36. package/dist/public/assets/index-BL9a2Xg9.js +0 -1
  37. package/dist/public/assets/index-BSwXjgjr.js +0 -1
  38. package/dist/public/assets/index-BWl8tn18.js +0 -1
  39. package/dist/public/assets/index-CQh8SXb2.js +0 -94
  40. package/dist/public/assets/index-Cxd-kSUY.js +0 -1
  41. package/dist/public/assets/index-DA5SH--7.js +0 -2
  42. package/dist/public/assets/index-DCHbvtBS.js +0 -1
  43. package/dist/public/assets/index-DCYXJZEe.js +0 -1
  44. package/dist/public/assets/index-DFDfp0ca.js +0 -1
  45. package/dist/public/assets/index-GuAAqSCJ.js +0 -14
  46. package/dist/public/assets/index-WIDirTHx.js +0 -29
  47. package/dist/public/assets/index-X3XZcAzy.js +0 -1
  48. package/dist/public/assets/input-7TQEEJq6.js +0 -1
  49. package/dist/public/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  50. package/dist/public/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  51. package/dist/public/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  52. package/dist/public/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  53. package/dist/public/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  54. package/dist/public/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  55. package/dist/public/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  56. package/dist/public/assets/models-BlUb1eaf.js +0 -1
  57. package/dist/public/assets/styles-PHtUFHUr.css +0 -1
  58. package/dist/public/assets/switch-B_iYUUM3.js +0 -1
  59. package/dist/public/assets/syntax-highlighter-DcBYfnEK.js +0 -6
  60. package/dist/public/assets/textarea-Dm4aaRqS.js +0 -1
  61. package/dist/public/favicon.png +0 -0
  62. package/dist/public/nous-logo.png +0 -0
  63. package/dist/server/index.mjs +0 -244
  64. package/dist/web-server/__23tanstack-start-plugin-adapters-Cwee5PKy.mjs +0 -6
  65. package/dist/web-server/_chunks/ssr-renderer.mjs +0 -22
  66. package/dist/web-server/_libs/babel__runtime.mjs +0 -237
  67. package/dist/web-server/_libs/bail.mjs +0 -8
  68. package/dist/web-server/_libs/base-ui__react.mjs +0 -9554
  69. package/dist/web-server/_libs/base-ui__utils.mjs +0 -1101
  70. package/dist/web-server/_libs/ccount.mjs +0 -16
  71. package/dist/web-server/_libs/character-entities-legacy.mjs +0 -111
  72. package/dist/web-server/_libs/character-entities.mjs +0 -2130
  73. package/dist/web-server/_libs/character-reference-invalid.mjs +0 -33
  74. package/dist/web-server/_libs/class-variance-authority.mjs +0 -44
  75. package/dist/web-server/_libs/clsx.mjs +0 -16
  76. package/dist/web-server/_libs/comma-separated-tokens.mjs +0 -31
  77. package/dist/web-server/_libs/cookie-es.mjs +0 -44
  78. package/dist/web-server/_libs/croner.mjs +0 -1
  79. package/dist/web-server/_libs/crossws.mjs +0 -1
  80. package/dist/web-server/_libs/decode-named-character-reference+[...].mjs +0 -8
  81. package/dist/web-server/_libs/devlop.mjs +0 -8
  82. package/dist/web-server/_libs/escape-string-regexp.mjs +0 -9
  83. package/dist/web-server/_libs/estree-util-is-identifier-name.mjs +0 -11
  84. package/dist/web-server/_libs/extend.mjs +0 -97
  85. package/dist/web-server/_libs/fault.mjs +0 -1
  86. package/dist/web-server/_libs/floating-ui__core.mjs +0 -663
  87. package/dist/web-server/_libs/floating-ui__dom.mjs +0 -624
  88. package/dist/web-server/_libs/floating-ui__react-dom.mjs +0 -279
  89. package/dist/web-server/_libs/floating-ui__utils.mjs +0 -322
  90. package/dist/web-server/_libs/format.mjs +0 -1
  91. package/dist/web-server/_libs/h3.mjs +0 -408
  92. package/dist/web-server/_libs/hast-util-parse-selector.mjs +0 -39
  93. package/dist/web-server/_libs/hast-util-to-jsx-runtime.mjs +0 -388
  94. package/dist/web-server/_libs/hast-util-whitespace.mjs +0 -10
  95. package/dist/web-server/_libs/hastscript.mjs +0 -200
  96. package/dist/web-server/_libs/highlight.js.mjs +0 -1
  97. package/dist/web-server/_libs/hookable.mjs +0 -1
  98. package/dist/web-server/_libs/html-url-attributes.mjs +0 -26
  99. package/dist/web-server/_libs/inline-style-parser.mjs +0 -142
  100. package/dist/web-server/_libs/is-alphabetical.mjs +0 -7
  101. package/dist/web-server/_libs/is-alphanumerical.mjs +0 -8
  102. package/dist/web-server/_libs/is-decimal.mjs +0 -7
  103. package/dist/web-server/_libs/is-hexadecimal.mjs +0 -7
  104. package/dist/web-server/_libs/is-plain-obj.mjs +0 -10
  105. package/dist/web-server/_libs/isbot.mjs +0 -21
  106. package/dist/web-server/_libs/longest-streak.mjs +0 -25
  107. package/dist/web-server/_libs/lowlight.mjs +0 -1
  108. package/dist/web-server/_libs/markdown-table.mjs +0 -142
  109. package/dist/web-server/_libs/mdast-util-find-and-replace.mjs +0 -109
  110. package/dist/web-server/_libs/mdast-util-from-markdown.mjs +0 -717
  111. package/dist/web-server/_libs/mdast-util-gfm-autolink-literal+[...].mjs +0 -156
  112. package/dist/web-server/_libs/mdast-util-gfm-footnote.mjs +0 -117
  113. package/dist/web-server/_libs/mdast-util-gfm-strikethrough.mjs +0 -54
  114. package/dist/web-server/_libs/mdast-util-gfm-table.mjs +0 -157
  115. package/dist/web-server/_libs/mdast-util-gfm-task-list-item.mjs +0 -77
  116. package/dist/web-server/_libs/mdast-util-gfm.mjs +0 -29
  117. package/dist/web-server/_libs/mdast-util-phrasing.mjs +0 -30
  118. package/dist/web-server/_libs/mdast-util-to-hast.mjs +0 -710
  119. package/dist/web-server/_libs/mdast-util-to-markdown.mjs +0 -798
  120. package/dist/web-server/_libs/mdast-util-to-string.mjs +0 -38
  121. package/dist/web-server/_libs/micromark-core-commonmark.mjs +0 -2259
  122. package/dist/web-server/_libs/micromark-extension-gfm-autolink-literal+[...].mjs +0 -344
  123. package/dist/web-server/_libs/micromark-extension-gfm-footnote+[...].mjs +0 -279
  124. package/dist/web-server/_libs/micromark-extension-gfm-strikethrough+[...].mjs +0 -98
  125. package/dist/web-server/_libs/micromark-extension-gfm-table.mjs +0 -491
  126. package/dist/web-server/_libs/micromark-extension-gfm-tagfilter+[...].mjs +0 -1
  127. package/dist/web-server/_libs/micromark-extension-gfm-task-list-item+[...].mjs +0 -77
  128. package/dist/web-server/_libs/micromark-extension-gfm.mjs +0 -18
  129. package/dist/web-server/_libs/micromark-factory-destination.mjs +0 -94
  130. package/dist/web-server/_libs/micromark-factory-label.mjs +0 -63
  131. package/dist/web-server/_libs/micromark-factory-space.mjs +0 -24
  132. package/dist/web-server/_libs/micromark-factory-title.mjs +0 -65
  133. package/dist/web-server/_libs/micromark-factory-whitespace.mjs +0 -22
  134. package/dist/web-server/_libs/micromark-util-character.mjs +0 -44
  135. package/dist/web-server/_libs/micromark-util-chunked.mjs +0 -36
  136. package/dist/web-server/_libs/micromark-util-classify-character+[...].mjs +0 -12
  137. package/dist/web-server/_libs/micromark-util-combine-extensions+[...].mjs +0 -41
  138. package/dist/web-server/_libs/micromark-util-decode-numeric-character-reference+[...].mjs +0 -19
  139. package/dist/web-server/_libs/micromark-util-decode-string.mjs +0 -21
  140. package/dist/web-server/_libs/micromark-util-encode.mjs +0 -1
  141. package/dist/web-server/_libs/micromark-util-html-tag-name.mjs +0 -69
  142. package/dist/web-server/_libs/micromark-util-normalize-identifier+[...].mjs +0 -6
  143. package/dist/web-server/_libs/micromark-util-resolve-all.mjs +0 -15
  144. package/dist/web-server/_libs/micromark-util-sanitize-uri.mjs +0 -41
  145. package/dist/web-server/_libs/micromark-util-subtokenize.mjs +0 -346
  146. package/dist/web-server/_libs/micromark.mjs +0 -906
  147. package/dist/web-server/_libs/ocache.mjs +0 -1
  148. package/dist/web-server/_libs/ohash.mjs +0 -1
  149. package/dist/web-server/_libs/parse-entities.mjs +0 -245
  150. package/dist/web-server/_libs/property-information.mjs +0 -1210
  151. package/dist/web-server/_libs/react-dom.mjs +0 -10779
  152. package/dist/web-server/_libs/react-markdown.mjs +0 -147
  153. package/dist/web-server/_libs/react-syntax-highlighter.mjs +0 -941
  154. package/dist/web-server/_libs/react.mjs +0 -513
  155. package/dist/web-server/_libs/refractor.mjs +0 -2425
  156. package/dist/web-server/_libs/remark-gfm.mjs +0 -20
  157. package/dist/web-server/_libs/remark-parse.mjs +0 -19
  158. package/dist/web-server/_libs/remark-rehype.mjs +0 -21
  159. package/dist/web-server/_libs/reselect.mjs +0 -1
  160. package/dist/web-server/_libs/rou3.mjs +0 -8
  161. package/dist/web-server/_libs/seroval-plugins.mjs +0 -58
  162. package/dist/web-server/_libs/seroval.mjs +0 -1775
  163. package/dist/web-server/_libs/space-separated-tokens.mjs +0 -11
  164. package/dist/web-server/_libs/srvx.mjs +0 -781
  165. package/dist/web-server/_libs/style-to-js.mjs +0 -72
  166. package/dist/web-server/_libs/style-to-object.mjs +0 -38
  167. package/dist/web-server/_libs/tabler__icons-react.mjs +0 -233
  168. package/dist/web-server/_libs/tanstack__history.mjs +0 -204
  169. package/dist/web-server/_libs/tanstack__query-core.mjs +0 -2552
  170. package/dist/web-server/_libs/tanstack__react-query.mjs +0 -190
  171. package/dist/web-server/_libs/tanstack__react-router.mjs +0 -1120
  172. package/dist/web-server/_libs/tanstack__react-store.mjs +0 -2
  173. package/dist/web-server/_libs/tanstack__router-core.mjs +0 -4288
  174. package/dist/web-server/_libs/tanstack__store.mjs +0 -1
  175. package/dist/web-server/_libs/trim-lines.mjs +0 -41
  176. package/dist/web-server/_libs/trough.mjs +0 -85
  177. package/dist/web-server/_libs/ufo.mjs +0 -54
  178. package/dist/web-server/_libs/unctx.mjs +0 -1
  179. package/dist/web-server/_libs/ungap__structured-clone.mjs +0 -224
  180. package/dist/web-server/_libs/unified.mjs +0 -661
  181. package/dist/web-server/_libs/unist-util-is.mjs +0 -100
  182. package/dist/web-server/_libs/unist-util-position.mjs +0 -27
  183. package/dist/web-server/_libs/unist-util-stringify-position.mjs +0 -27
  184. package/dist/web-server/_libs/unist-util-visit-parents.mjs +0 -83
  185. package/dist/web-server/_libs/unist-util-visit.mjs +0 -24
  186. package/dist/web-server/_libs/unstorage.mjs +0 -1
  187. package/dist/web-server/_libs/use-sync-external-store.mjs +0 -139
  188. package/dist/web-server/_libs/vfile-message.mjs +0 -138
  189. package/dist/web-server/_libs/vfile.mjs +0 -467
  190. package/dist/web-server/_libs/zod.mjs +0 -3915
  191. package/dist/web-server/_libs/zustand.mjs +0 -343
  192. package/dist/web-server/_libs/zwitch.mjs +0 -1
  193. package/dist/web-server/_ssr/index--Bo2_ipW.mjs +0 -277
  194. package/dist/web-server/_ssr/index-BEvygh5x.mjs +0 -612
  195. package/dist/web-server/_ssr/index-BFaKxYfN.mjs +0 -40
  196. package/dist/web-server/_ssr/index-BdrMzRTd.mjs +0 -513
  197. package/dist/web-server/_ssr/index-CoDfv1vI.mjs +0 -66
  198. package/dist/web-server/_ssr/index-Cwp8Gyl1.mjs +0 -1812
  199. package/dist/web-server/_ssr/index-DQsfKYjV.mjs +0 -449
  200. package/dist/web-server/_ssr/index-Dbs9k8Ea.mjs +0 -251
  201. package/dist/web-server/_ssr/index-Dk93oyZD.mjs +0 -213
  202. package/dist/web-server/_ssr/index-KNJ7huw_.mjs +0 -369
  203. package/dist/web-server/_ssr/index.mjs +0 -1558
  204. package/dist/web-server/_ssr/input-BV1DMASc.mjs +0 -20
  205. package/dist/web-server/_ssr/models-MzrvbL2i.mjs +0 -43
  206. package/dist/web-server/_ssr/router-CS6Zq3md.mjs +0 -2134
  207. package/dist/web-server/_ssr/start-HYkvq4Ni.mjs +0 -4
  208. package/dist/web-server/_ssr/switch-Bd-Sg0HG.mjs +0 -33
  209. package/dist/web-server/_ssr/syntax-highlighter-5vezNTce.mjs +0 -62
  210. package/dist/web-server/_ssr/textarea-CB4kQp9w.mjs +0 -18
  211. package/dist/web-server/_tanstack-start-manifest_v-m5lY48LR.mjs +0 -4
  212. package/dist/web-server/index.mjs +0 -611
@@ -1,611 +0,0 @@
1
- globalThis.__nitro_main__ = import.meta.url;
2
- import { N as NodeResponse, s as serve } from "./_libs/srvx.mjs";
3
- import { H as HTTPError, d as defineHandler, t as toEventHandler, a as defineLazyEventHandler, b 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.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
- "/robots.txt": {
89
- "type": "text/plain; charset=utf-8",
90
- "etag": '"43-BEzmj4PuhUNHX+oW9uOnPSihxtU"',
91
- "mtime": "2026-05-16T11:15:20.190Z",
92
- "size": 67,
93
- "path": "../public/robots.txt"
94
- },
95
- "/assets/IconAlertCircle-BW147gsG.js": {
96
- "type": "text/javascript; charset=utf-8",
97
- "etag": '"f9-HapBdBOdqe2UoHN30OfmOleBmI0"',
98
- "mtime": "2026-05-16T11:15:18.980Z",
99
- "size": 249,
100
- "path": "../public/assets/IconAlertCircle-BW147gsG.js"
101
- },
102
- "/assets/IconAlertTriangle-DCoTLVSd.js": {
103
- "type": "text/javascript; charset=utf-8",
104
- "etag": '"161-ax4EZLb3tD8GIk7dAQHuKrQ3z6o"',
105
- "mtime": "2026-05-16T11:15:18.980Z",
106
- "size": 353,
107
- "path": "../public/assets/IconAlertTriangle-DCoTLVSd.js"
108
- },
109
- "/manifest.json": {
110
- "type": "application/json",
111
- "etag": '"1f2-Oqn/x1R1hBTtEjA8nFhpBeFJJNg"',
112
- "mtime": "2026-05-16T11:15:20.190Z",
113
- "size": 498,
114
- "path": "../public/manifest.json"
115
- },
116
- "/assets/IconCheck-DAO7Fpl9.js": {
117
- "type": "text/javascript; charset=utf-8",
118
- "etag": '"8a-MCPXV0kHtsAJhUdztv8Aw6xNn9M"',
119
- "mtime": "2026-05-16T11:15:18.980Z",
120
- "size": 138,
121
- "path": "../public/assets/IconCheck-DAO7Fpl9.js"
122
- },
123
- "/assets/IconCode-BqfTl5wU.js": {
124
- "type": "text/javascript; charset=utf-8",
125
- "etag": '"186-MJ6XlhH3sfmkkx9Gs+0j2T75bVY"',
126
- "mtime": "2026-05-16T11:15:18.980Z",
127
- "size": 390,
128
- "path": "../public/assets/IconCode-BqfTl5wU.js"
129
- },
130
- "/assets/IconLoader2-B_pehSXN.js": {
131
- "type": "text/javascript; charset=utf-8",
132
- "etag": '"97-p8Xcvd19yMdaaC7mRH1jdRsrGbc"',
133
- "mtime": "2026-05-16T11:15:18.980Z",
134
- "size": 151,
135
- "path": "../public/assets/IconLoader2-B_pehSXN.js"
136
- },
137
- "/assets/IconRefresh-BbMGoMV8.js": {
138
- "type": "text/javascript; charset=utf-8",
139
- "etag": '"ec-D4M4CEe2cGQ2TMQlm3demrMvJcA"',
140
- "mtime": "2026-05-16T11:15:18.980Z",
141
- "size": 236,
142
- "path": "../public/assets/IconRefresh-BbMGoMV8.js"
143
- },
144
- "/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2": {
145
- "type": "font/woff2",
146
- "etag": '"3964-jfUkxTfHRj1cpO33jEsDk2lkrvM"',
147
- "mtime": "2026-05-16T11:15:18.980Z",
148
- "size": 14692,
149
- "path": "../public/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2"
150
- },
151
- "/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2": {
152
- "type": "font/woff2",
153
- "etag": '"3bcc-oSFlPnDlb7fAcQTPv6sqm6NgXXU"',
154
- "mtime": "2026-05-16T11:15:18.980Z",
155
- "size": 15308,
156
- "path": "../public/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2"
157
- },
158
- "/assets/geist-latin-wght-normal-Dm3htQBi.woff2": {
159
- "type": "font/woff2",
160
- "etag": '"6ef0-pZqr0k2V92t+lxQ/ogxqTIOgDGM"',
161
- "mtime": "2026-05-16T11:15:18.980Z",
162
- "size": 28400,
163
- "path": "../public/assets/geist-latin-wght-normal-Dm3htQBi.woff2"
164
- },
165
- "/assets/index-BL9a2Xg9.js": {
166
- "type": "text/javascript; charset=utf-8",
167
- "etag": '"23af-wwRHxd+p6H8iAtroceMceBvlavU"',
168
- "mtime": "2026-05-16T11:15:18.980Z",
169
- "size": 9135,
170
- "path": "../public/assets/index-BL9a2Xg9.js"
171
- },
172
- "/assets/index-BSwXjgjr.js": {
173
- "type": "text/javascript; charset=utf-8",
174
- "etag": '"b7-V2BykWasOE4LhfvnGIrTceDIYY8"',
175
- "mtime": "2026-05-16T11:15:18.980Z",
176
- "size": 183,
177
- "path": "../public/assets/index-BSwXjgjr.js"
178
- },
179
- "/assets/index-BWl8tn18.js": {
180
- "type": "text/javascript; charset=utf-8",
181
- "etag": '"25b-Cy9XI8x0CKLofOOaSh+VqQgTCpM"',
182
- "mtime": "2026-05-16T11:15:18.980Z",
183
- "size": 603,
184
- "path": "../public/assets/index-BWl8tn18.js"
185
- },
186
- "/assets/index-Cxd-kSUY.js": {
187
- "type": "text/javascript; charset=utf-8",
188
- "etag": '"1e6b-tlH4GPVNJBBDww9B9v8L9buvwQc"',
189
- "mtime": "2026-05-16T11:15:18.980Z",
190
- "size": 7787,
191
- "path": "../public/assets/index-Cxd-kSUY.js"
192
- },
193
- "/assets/index-DA5SH--7.js": {
194
- "type": "text/javascript; charset=utf-8",
195
- "etag": '"2d07-2urPfVHeBs/55iq1YfyLvtEnBWg"',
196
- "mtime": "2026-05-16T11:15:18.980Z",
197
- "size": 11527,
198
- "path": "../public/assets/index-DA5SH--7.js"
199
- },
200
- "/assets/index-DCHbvtBS.js": {
201
- "type": "text/javascript; charset=utf-8",
202
- "etag": '"3e60-iBd5zB04awb/QcRu9qd+0icJZaw"',
203
- "mtime": "2026-05-16T11:15:18.980Z",
204
- "size": 15968,
205
- "path": "../public/assets/index-DCHbvtBS.js"
206
- },
207
- "/assets/index-DCYXJZEe.js": {
208
- "type": "text/javascript; charset=utf-8",
209
- "etag": '"24f9-b2qIjnQqOIWQjo70HwLFtz9n1Yg"',
210
- "mtime": "2026-05-16T11:15:18.980Z",
211
- "size": 9465,
212
- "path": "../public/assets/index-DCYXJZEe.js"
213
- },
214
- "/assets/index-DFDfp0ca.js": {
215
- "type": "text/javascript; charset=utf-8",
216
- "etag": '"53ca-+G+HUNmSYBVi4MKxC5u++Ox6Bqc"',
217
- "mtime": "2026-05-16T11:15:18.980Z",
218
- "size": 21450,
219
- "path": "../public/assets/index-DFDfp0ca.js"
220
- },
221
- "/assets/index-GuAAqSCJ.js": {
222
- "type": "text/javascript; charset=utf-8",
223
- "etag": '"a2ca-SzswTppgyL4nuJPRQJwfOgs66kM"',
224
- "mtime": "2026-05-16T11:15:18.980Z",
225
- "size": 41674,
226
- "path": "../public/assets/index-GuAAqSCJ.js"
227
- },
228
- "/assets/index-WIDirTHx.js": {
229
- "type": "text/javascript; charset=utf-8",
230
- "etag": '"265b4-334jmSY2Gkp1jP4L6iELlN4JDj4"',
231
- "mtime": "2026-05-16T11:15:18.980Z",
232
- "size": 157108,
233
- "path": "../public/assets/index-WIDirTHx.js"
234
- },
235
- "/nous-logo.png": {
236
- "type": "image/png",
237
- "etag": '"51fc-nI7ucKzqH3tY+82NQSPy6oksg+o"',
238
- "mtime": "2026-05-16T11:15:20.190Z",
239
- "size": 20988,
240
- "path": "../public/nous-logo.png"
241
- },
242
- "/favicon.png": {
243
- "type": "image/png",
244
- "etag": '"51fc-nI7ucKzqH3tY+82NQSPy6oksg+o"',
245
- "mtime": "2026-05-16T11:15:20.190Z",
246
- "size": 20988,
247
- "path": "../public/favicon.png"
248
- },
249
- "/favicon.ico": {
250
- "type": "image/vnd.microsoft.icon",
251
- "etag": '"16b86-whSNzIq4ettmTwOPeSIamFPNU70"',
252
- "mtime": "2026-05-16T11:15:20.190Z",
253
- "size": 93062,
254
- "path": "../public/favicon.ico"
255
- },
256
- "/assets/index-CQh8SXb2.js": {
257
- "type": "text/javascript; charset=utf-8",
258
- "etag": '"9b4a0-0SHZt8qNIjC14dykXe58e9Ywy9g"',
259
- "mtime": "2026-05-16T11:15:18.981Z",
260
- "size": 636064,
261
- "path": "../public/assets/index-CQh8SXb2.js"
262
- },
263
- "/assets/index-X3XZcAzy.js": {
264
- "type": "text/javascript; charset=utf-8",
265
- "etag": '"191b-jyjKl0AAvFoLPMyxYm7mFjP8GE8"',
266
- "mtime": "2026-05-16T11:15:18.980Z",
267
- "size": 6427,
268
- "path": "../public/assets/index-X3XZcAzy.js"
269
- },
270
- "/assets/input-7TQEEJq6.js": {
271
- "type": "text/javascript; charset=utf-8",
272
- "etag": '"1101-DtQtqmTVIJS/Je1S27O/u7/uvH8"',
273
- "mtime": "2026-05-16T11:15:18.980Z",
274
- "size": 4353,
275
- "path": "../public/assets/input-7TQEEJq6.js"
276
- },
277
- "/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2": {
278
- "type": "font/woff2",
279
- "etag": '"493c-n3Oy9D6jvzfMjpClqox+Zo7ERQQ"',
280
- "mtime": "2026-05-16T11:15:18.980Z",
281
- "size": 18748,
282
- "path": "../public/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2"
283
- },
284
- "/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2": {
285
- "type": "font/woff2",
286
- "etag": '"6568-cF1iUGbboMFZ8TfnP5HiMgl9II0"',
287
- "mtime": "2026-05-16T11:15:18.980Z",
288
- "size": 25960,
289
- "path": "../public/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2"
290
- },
291
- "/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2": {
292
- "type": "font/woff2",
293
- "etag": '"2be0-BP5iTzJeB8nLqYAgKpWNi5o1Zm8"',
294
- "mtime": "2026-05-16T11:15:18.980Z",
295
- "size": 11232,
296
- "path": "../public/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2"
297
- },
298
- "/assets/inter-greek-wght-normal-CkhJZR-_.woff2": {
299
- "type": "font/woff2",
300
- "etag": '"4a34-xor/hj4YNqI52zFecXnUbzQ4Xs4"',
301
- "mtime": "2026-05-16T11:15:18.980Z",
302
- "size": 18996,
303
- "path": "../public/assets/inter-greek-wght-normal-CkhJZR-_.woff2"
304
- },
305
- "/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2": {
306
- "type": "font/woff2",
307
- "etag": '"14c4c-zz61D7IQFMB9QxHvTAOk/Vh4ibQ"',
308
- "mtime": "2026-05-16T11:15:18.980Z",
309
- "size": 85068,
310
- "path": "../public/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2"
311
- },
312
- "/assets/inter-latin-wght-normal-Dx4kXJAl.woff2": {
313
- "type": "font/woff2",
314
- "etag": '"bc80-8R1ym7Ck2DUNLqPQ/AYs9u8tUpg"',
315
- "mtime": "2026-05-16T11:15:18.980Z",
316
- "size": 48256,
317
- "path": "../public/assets/inter-latin-wght-normal-Dx4kXJAl.woff2"
318
- },
319
- "/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2": {
320
- "type": "font/woff2",
321
- "etag": '"280c-nBythjoDQ0+5wVAendJ6wU7Xz2M"',
322
- "mtime": "2026-05-16T11:15:18.980Z",
323
- "size": 10252,
324
- "path": "../public/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2"
325
- },
326
- "/assets/models-BlUb1eaf.js": {
327
- "type": "text/javascript; charset=utf-8",
328
- "etag": '"24f-pjwdeklwKZBuGNDVUp+cc+Rz70k"',
329
- "mtime": "2026-05-16T11:15:18.980Z",
330
- "size": 591,
331
- "path": "../public/assets/models-BlUb1eaf.js"
332
- },
333
- "/assets/switch-B_iYUUM3.js": {
334
- "type": "text/javascript; charset=utf-8",
335
- "etag": '"2c1-aPHhDce4os6+v4zgfS7vlsg/J+k"',
336
- "mtime": "2026-05-16T11:15:18.980Z",
337
- "size": 705,
338
- "path": "../public/assets/switch-B_iYUUM3.js"
339
- },
340
- "/assets/styles-PHtUFHUr.css": {
341
- "type": "text/css; charset=utf-8",
342
- "etag": '"1db19-hpVfrVMKQ1CDA84wcSw2MBlNaZ8"',
343
- "mtime": "2026-05-16T11:15:18.980Z",
344
- "size": 121625,
345
- "path": "../public/assets/styles-PHtUFHUr.css"
346
- },
347
- "/assets/textarea-Dm4aaRqS.js": {
348
- "type": "text/javascript; charset=utf-8",
349
- "etag": '"443-df3BGJXzyRn3+XMww1M6dTn7d3A"',
350
- "mtime": "2026-05-16T11:15:18.980Z",
351
- "size": 1091,
352
- "path": "../public/assets/textarea-Dm4aaRqS.js"
353
- },
354
- "/assets/syntax-highlighter-DcBYfnEK.js": {
355
- "type": "text/javascript; charset=utf-8",
356
- "etag": '"13640-e2Fg8VVsVP/dEI/F/+WyYVoZ29g"',
357
- "mtime": "2026-05-16T11:15:18.980Z",
358
- "size": 79424,
359
- "path": "../public/assets/syntax-highlighter-DcBYfnEK.js"
360
- }
361
- };
362
- function readAsset(id) {
363
- const serverDir = dirname(fileURLToPath(globalThis.__nitro_main__));
364
- return promises.readFile(resolve(serverDir, assets[id].path));
365
- }
366
- const publicAssetBases = {};
367
- function isPublicAssetURL(id = "") {
368
- if (assets[id]) {
369
- return true;
370
- }
371
- for (const base in publicAssetBases) {
372
- if (id.startsWith(base)) {
373
- return true;
374
- }
375
- }
376
- return false;
377
- }
378
- function getAsset(id) {
379
- return assets[id];
380
- }
381
- const METHODS = /* @__PURE__ */ new Set(["HEAD", "GET"]);
382
- const EncodingMap = {
383
- gzip: ".gz",
384
- br: ".br",
385
- zstd: ".zst"
386
- };
387
- const _Blc79K = defineHandler((event) => {
388
- if (event.req.method && !METHODS.has(event.req.method)) {
389
- return;
390
- }
391
- let id = decodePath(withLeadingSlash(withoutTrailingSlash(event.url.pathname)));
392
- let asset;
393
- const encodingHeader = event.req.headers.get("accept-encoding") || "";
394
- const encodings = [...encodingHeader.split(",").map((e) => EncodingMap[e.trim()]).filter(Boolean).sort(), ""];
395
- for (const encoding of encodings) {
396
- for (const _id of [id + encoding, joinURL(id, "index.html" + encoding)]) {
397
- const _asset = getAsset(_id);
398
- if (_asset) {
399
- asset = _asset;
400
- id = _id;
401
- break;
402
- }
403
- }
404
- }
405
- if (!asset) {
406
- if (isPublicAssetURL(id)) {
407
- event.res.headers.delete("Cache-Control");
408
- throw new HTTPError({ status: 404 });
409
- }
410
- return;
411
- }
412
- if (encodings.length > 1) {
413
- event.res.headers.append("Vary", "Accept-Encoding");
414
- }
415
- const ifNotMatch = event.req.headers.get("if-none-match") === asset.etag;
416
- if (ifNotMatch) {
417
- event.res.status = 304;
418
- event.res.statusText = "Not Modified";
419
- return "";
420
- }
421
- const ifModifiedSinceH = event.req.headers.get("if-modified-since");
422
- const mtimeDate = new Date(asset.mtime);
423
- if (ifModifiedSinceH && asset.mtime && new Date(ifModifiedSinceH) >= mtimeDate) {
424
- event.res.status = 304;
425
- event.res.statusText = "Not Modified";
426
- return "";
427
- }
428
- if (asset.type) {
429
- event.res.headers.set("Content-Type", asset.type);
430
- }
431
- if (asset.etag && !event.res.headers.has("ETag")) {
432
- event.res.headers.set("ETag", asset.etag);
433
- }
434
- if (asset.mtime && !event.res.headers.has("Last-Modified")) {
435
- event.res.headers.set("Last-Modified", mtimeDate.toUTCString());
436
- }
437
- if (asset.encoding && !event.res.headers.has("Content-Encoding")) {
438
- event.res.headers.set("Content-Encoding", asset.encoding);
439
- }
440
- if (asset.size > 0 && !event.res.headers.has("Content-Length")) {
441
- event.res.headers.set("Content-Length", asset.size.toString());
442
- }
443
- return readAsset(id);
444
- });
445
- const findRouteRules = /* @__PURE__ */ (() => {
446
- const $0 = [{ name: "headers", route: "/assets/**", handler: headers, options: { "cache-control": "public, max-age=31536000, immutable" } }];
447
- return (m, p) => {
448
- let r = [];
449
- if (p.charCodeAt(p.length - 1) === 47) p = p.slice(0, -1) || "/";
450
- let s = p.split("/"), l = s.length;
451
- if (l > 1) {
452
- if (s[1] === "assets") {
453
- r.unshift({ data: $0, params: { "_": s.slice(2).join("/") } });
454
- }
455
- }
456
- return r;
457
- };
458
- })();
459
- const _lazy_e_pUQd = defineLazyEventHandler(() => import("./_chunks/ssr-renderer.mjs"));
460
- const findRoute = /* @__PURE__ */ (() => {
461
- const data = { route: "/**", handler: _lazy_e_pUQd };
462
- return ((_m, p) => {
463
- return { data, params: { "_": p.slice(1) } };
464
- });
465
- })();
466
- const globalMiddleware = [
467
- toEventHandler(_Blc79K)
468
- ].filter(Boolean);
469
- const APP_ID = "default";
470
- function useNitroApp() {
471
- let instance = useNitroApp._instance;
472
- if (instance) {
473
- return instance;
474
- }
475
- instance = useNitroApp._instance = createNitroApp();
476
- globalThis.__nitro__ = globalThis.__nitro__ || {};
477
- globalThis.__nitro__[APP_ID] = instance;
478
- return instance;
479
- }
480
- function createNitroApp() {
481
- const hooks = void 0;
482
- const captureError = (error, errorCtx) => {
483
- if (errorCtx?.event) {
484
- const errors = errorCtx.event.req.context?.nitro?.errors;
485
- if (errors) {
486
- errors.push({
487
- error,
488
- context: errorCtx
489
- });
490
- }
491
- }
492
- };
493
- const h3App = createH3App({ onError(error, event) {
494
- return errorHandler(error, event);
495
- } });
496
- let appHandler = (req) => {
497
- req.context ||= {};
498
- req.context.nitro = req.context.nitro || { errors: [] };
499
- return h3App.fetch(req);
500
- };
501
- const app = {
502
- fetch: appHandler,
503
- h3: h3App,
504
- hooks,
505
- captureError
506
- };
507
- return app;
508
- }
509
- function createH3App(config) {
510
- const h3App = new H3Core(config);
511
- h3App["~findRoute"] = (event) => findRoute(event.req.method, event.url.pathname);
512
- h3App["~middleware"].push(...globalMiddleware);
513
- {
514
- h3App["~getMiddleware"] = (event, route) => {
515
- const pathname = event.url.pathname;
516
- const method = event.req.method;
517
- const middleware = [];
518
- {
519
- const routeRules = getRouteRules(method, pathname);
520
- event.context.routeRules = routeRules?.routeRules;
521
- if (routeRules?.routeRuleMiddleware.length) {
522
- middleware.push(...routeRules.routeRuleMiddleware);
523
- }
524
- }
525
- middleware.push(...h3App["~middleware"]);
526
- if (route?.data?.middleware?.length) {
527
- middleware.push(...route.data.middleware);
528
- }
529
- return middleware;
530
- };
531
- }
532
- return h3App;
533
- }
534
- function getRouteRules(method, pathname) {
535
- const m = findRouteRules(method, pathname);
536
- if (!m?.length) {
537
- return { routeRuleMiddleware: [] };
538
- }
539
- const routeRules = {};
540
- for (const layer of m) {
541
- for (const rule of layer.data) {
542
- const currentRule = routeRules[rule.name];
543
- if (currentRule) {
544
- if (rule.options === false) {
545
- delete routeRules[rule.name];
546
- continue;
547
- }
548
- if (typeof currentRule.options === "object" && typeof rule.options === "object") {
549
- currentRule.options = {
550
- ...currentRule.options,
551
- ...rule.options
552
- };
553
- } else {
554
- currentRule.options = rule.options;
555
- }
556
- currentRule.route = rule.route;
557
- currentRule.params = {
558
- ...currentRule.params,
559
- ...layer.params
560
- };
561
- } else if (rule.options !== false) {
562
- routeRules[rule.name] = {
563
- ...rule,
564
- params: layer.params
565
- };
566
- }
567
- }
568
- }
569
- const middleware = [];
570
- const orderedRules = Object.values(routeRules).sort((a, b) => (a.handler?.order || 0) - (b.handler?.order || 0));
571
- for (const rule of orderedRules) {
572
- if (rule.options === false || !rule.handler) {
573
- continue;
574
- }
575
- middleware.push(rule.handler(rule));
576
- }
577
- return {
578
- routeRules,
579
- routeRuleMiddleware: middleware
580
- };
581
- }
582
- function _captureError(error, type) {
583
- console.error(`[${type}]`, error);
584
- useNitroApp().captureError?.(error, { tags: [type] });
585
- }
586
- function trapUnhandledErrors() {
587
- process.on("unhandledRejection", (error) => _captureError(error, "unhandledRejection"));
588
- process.on("uncaughtException", (error) => _captureError(error, "uncaughtException"));
589
- }
590
- const tracingSrvxPlugins = [];
591
- const _parsedPort = Number.parseInt(process.env.NITRO_PORT ?? process.env.PORT ?? "");
592
- const port = Number.isNaN(_parsedPort) ? 3e3 : _parsedPort;
593
- const host = process.env.NITRO_HOST || process.env.HOST;
594
- const cert = process.env.NITRO_SSL_CERT;
595
- const key = process.env.NITRO_SSL_KEY;
596
- const nitroApp = useNitroApp();
597
- serve({
598
- port,
599
- hostname: host,
600
- tls: cert && key ? {
601
- cert,
602
- key
603
- } : void 0,
604
- fetch: nitroApp.fetch,
605
- plugins: [...tracingSrvxPlugins]
606
- });
607
- trapUnhandledErrors();
608
- const nodeServer = {};
609
- export {
610
- nodeServer as default
611
- };