@celsoft/coordinator 0.0.0 → 0.1.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 (131) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +107 -0
  3. package/THIRD_PARTY_NOTICES.md +2005 -0
  4. package/agents/console.md +20 -0
  5. package/agents/free.md +110 -0
  6. package/build/0-JP6XL6LB.js +17 -0
  7. package/build/1-A52YZWNS.js +17 -0
  8. package/build/2-CLH2NM6F.js +32 -0
  9. package/build/3-4N467IB6.js +45 -0
  10. package/build/4-WL5H4LUW.js +29 -0
  11. package/build/_layout.svelte-KPUSX7LQ.js +27 -0
  12. package/build/_page.svelte-22H56UR6.js +7972 -0
  13. package/build/_page.svelte-CVWUNRQC.js +135 -0
  14. package/build/_page.svelte-LTZXBHMT.js +57 -0
  15. package/build/_server.ts-3KVBYN6P.js +20 -0
  16. package/build/_server.ts-3POPKVEM.js +47 -0
  17. package/build/_server.ts-5735T2V5.js +31 -0
  18. package/build/_server.ts-5VXGNWV2.js +38 -0
  19. package/build/_server.ts-645KP7WP.js +42 -0
  20. package/build/_server.ts-A3AA24Z2.js +28 -0
  21. package/build/_server.ts-CITUOEM6.js +58 -0
  22. package/build/_server.ts-I7HMTPOA.js +25 -0
  23. package/build/_server.ts-M5BQ4LLX.js +30 -0
  24. package/build/_server.ts-OB4O27HF.js +683 -0
  25. package/build/_server.ts-OJT7HE7M.js +15 -0
  26. package/build/_server.ts-OYGWVLZM.js +12 -0
  27. package/build/_server.ts-T75UVMQP.js +38 -0
  28. package/build/_server.ts-WYZYNHUZ.js +28 -0
  29. package/build/_server.ts-Z26EB47B.js +486 -0
  30. package/build/chunk-4CIG53L5.js +33 -0
  31. package/build/chunk-BJTJS3XY.js +338 -0
  32. package/build/chunk-F2CNWJZM.js +14 -0
  33. package/build/chunk-HGYE3UTU.js +416 -0
  34. package/build/chunk-KAYW2W7H.js +1311 -0
  35. package/build/chunk-LFP3UPCM.js +10 -0
  36. package/build/chunk-M44JEFEH.js +62 -0
  37. package/build/chunk-MC5AGLMY.js +39 -0
  38. package/build/chunk-NCZ77J5E.js +19798 -0
  39. package/build/chunk-NVNLDPUJ.js +2122 -0
  40. package/build/chunk-PDCON4KS.js +494 -0
  41. package/build/chunk-Q4OQNY5M.js +25 -0
  42. package/build/chunk-QCUOR2U5.js +75 -0
  43. package/build/chunk-R6RYZZWA.js +46 -0
  44. package/build/chunk-SOJTASZC.js +51 -0
  45. package/build/chunk-SU26PJVX.js +410 -0
  46. package/build/chunk-U5BSBG4R.js +506 -0
  47. package/build/chunk-UEKOZGRO.js +37 -0
  48. package/build/chunk-W6EFUWJ2.js +9 -0
  49. package/build/chunk-WOPREK6Q.js +117 -0
  50. package/build/chunk-WWJ3F4QS.js +127 -0
  51. package/build/chunk-ZGZJEEE3.js +1091 -0
  52. package/build/client/_app/immutable/assets/0.BGa5ZNDM.css +1 -0
  53. package/build/client/_app/immutable/chunks/BUrrLYDt.js +2 -0
  54. package/build/client/_app/immutable/chunks/BgFr_EyZ.js +4 -0
  55. package/build/client/_app/immutable/chunks/Bjy-W4x2.js +82 -0
  56. package/build/client/_app/immutable/chunks/C8qZab0y.js +56 -0
  57. package/build/client/_app/immutable/chunks/C90fLsA5.js +4 -0
  58. package/build/client/_app/immutable/chunks/CRzLMJPS.js +1 -0
  59. package/build/client/_app/immutable/chunks/DLT1iIlz.js +2 -0
  60. package/build/client/_app/immutable/chunks/pIrVVOVY.js +2 -0
  61. package/build/client/_app/immutable/entry/app.0DERehLW.js +3 -0
  62. package/build/client/_app/immutable/entry/payload.DSmR2FwN.js +2 -0
  63. package/build/client/_app/immutable/entry/start.B7srFiqh.js +3 -0
  64. package/build/client/_app/immutable/nodes/0.aD9vJoxR.js +2 -0
  65. package/build/client/_app/immutable/nodes/1.Br4FL91i.js +2 -0
  66. package/build/client/_app/immutable/nodes/2.vl6OYfu3.js +8 -0
  67. package/build/client/_app/immutable/nodes/3.VYqJOLAF.js +2 -0
  68. package/build/client/_app/immutable/nodes/4.jF9UVlFN.js +2 -0
  69. package/build/client/_app/version.json +1 -0
  70. package/build/client/apple-touch-icon.png +0 -0
  71. package/build/client/favicon.ico +0 -0
  72. package/build/client/favicon.svg +48 -0
  73. package/build/client/icon-192.png +0 -0
  74. package/build/client/icon-512.png +0 -0
  75. package/build/client/icon-maskable-512.png +0 -0
  76. package/build/client/icon.svg +44 -0
  77. package/build/client/manifest.webmanifest +15 -0
  78. package/build/error.svelte-JXZDY65F.js +51 -0
  79. package/build/handler.js +716 -0
  80. package/build/hooks.server-34IMHRKC.js +43 -0
  81. package/build/instance-NP3FJIWW.js +2967 -0
  82. package/client/client.mjs +28 -0
  83. package/client/hooks.mjs +7 -0
  84. package/client/register.mjs +5 -0
  85. package/dist/cli.js +62826 -0
  86. package/dist/port.js +36691 -0
  87. package/package.json +20 -1
  88. package/skills/agents/.claude-plugin/plugin.json +5 -0
  89. package/skills/agents/hooks/hooks.json +1 -0
  90. package/skills/agents/hooks/register.ts +57 -0
  91. package/skills/agents/skills/bus-work/SKILL.md +66 -0
  92. package/skills/agents/skills/plan/SKILL.md +98 -0
  93. package/skills/console/.claude-plugin/plugin.json +5 -0
  94. package/skills/console/hooks/hooks.json +1 -0
  95. package/skills/console/hooks/register.ts +10 -0
  96. package/skills/console/skills/bus/SKILL.md +61 -0
  97. package/skills/default/.claude-plugin/plugin.json +5 -0
  98. package/skills/default/skills/git-workflow/SKILL.md +294 -0
  99. package/skills/default/skills/git-workflow/mise-tasks/_lib.sh +107 -0
  100. package/skills/default/skills/git-workflow/mise-tasks/clone +36 -0
  101. package/skills/default/skills/git-workflow/mise-tasks/repo-list +8 -0
  102. package/skills/default/skills/git-workflow/mise-tasks/unpushed +26 -0
  103. package/skills/default/skills/git-workflow/mise-tasks/worktree-add +60 -0
  104. package/skills/default/skills/github/SKILL.md +208 -0
  105. package/skills/default/skills/github/scripts/gh-org +196 -0
  106. package/skills/default/skills/plan-page/SKILL.md +300 -0
  107. package/skills/default/skills/plan-page/assets/index.html +854 -0
  108. package/skills/default/skills/plan-page/scripts/inline +46 -0
  109. package/skills/default/skills/plan-page/scripts/stage +26 -0
  110. package/skills/default/skills/secrets/SKILL.md +134 -0
  111. package/skills/default/skills/secrets/scripts/secrets-check +87 -0
  112. package/skills/default/skills/writing-style/SKILL.md +45 -0
  113. package/skills/extra/.claude-plugin/plugin.json +5 -0
  114. package/skills/extra/skills/artifacts/SKILL.md +52 -0
  115. package/skills/extra/skills/github-actions/SKILL.md +78 -0
  116. package/skills/extra/skills/github-actions/scan +32 -0
  117. package/skills/extra/skills/markdown-review/SKILL.md +70 -0
  118. package/skills/extra/skills/markdown-review/assets/index.html +201 -0
  119. package/skills/extra/skills/markdown-review/scripts/stage +36 -0
  120. package/skills/extra/skills/mise-usage/SKILL.md +155 -0
  121. package/skills/extra/skills/plugin-authoring/SKILL.md +317 -0
  122. package/skills/extra/skills/project-conventions/SKILL.md +64 -0
  123. package/skills/extra/skills/questions/SKILL.md +156 -0
  124. package/skills/extra/skills/questions/assets/index.html +376 -0
  125. package/skills/extra/skills/questions/scripts/stage +26 -0
  126. package/skills/extra/skills/serve/SKILL.md +165 -0
  127. package/skills/extra/skills/serve/scripts/serve +268 -0
  128. package/skills/extra/skills/serve/scripts/server.py +345 -0
  129. package/skills/extra/skills/skill-dependencies/SKILL.md +65 -0
  130. package/skills/extra/skills/skill-maintenance/SKILL.md +101 -0
  131. package/skills/extra/skills/ticketing/SKILL.md +125 -0
@@ -0,0 +1,716 @@
1
+ import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
+ import {
3
+ enable_verbose_errors,
4
+ set_assets,
5
+ set_fix_stack_trace,
6
+ set_manifest,
7
+ set_read_implementation
8
+ } from "./chunk-NVNLDPUJ.js";
9
+ import {
10
+ SvelteKitError
11
+ } from "./chunk-SU26PJVX.js";
12
+ import "./chunk-WWJ3F4QS.js";
13
+ import "./chunk-U5BSBG4R.js";
14
+ import "./chunk-LFP3UPCM.js";
15
+
16
+ // build/server/adapter-node-env.js
17
+ import process from "node:process";
18
+
19
+ // build/adapter-node.js
20
+ import { dirname } from "node:path";
21
+ import { fileURLToPath } from "node:url";
22
+
23
+ // build/server/chunks/server.js
24
+ var prerendering = false;
25
+ function set_building() {
26
+ }
27
+ function set_prerendering() {
28
+ prerendering = true;
29
+ }
30
+
31
+ // build/server/index.js
32
+ async function configure({ building, prerendering: prerendering2, manifest: manifest2, read, assets: assets2, fix_stack_trace, env: env2 }) {
33
+ if (building) {
34
+ set_building();
35
+ enable_verbose_errors();
36
+ }
37
+ if (prerendering2) set_prerendering();
38
+ if (manifest2) set_manifest(manifest2);
39
+ if (read) set_read_implementation(read);
40
+ if (assets2 !== void 0) set_assets(assets2);
41
+ if (fix_stack_trace) set_fix_stack_trace(fix_stack_trace);
42
+ const instance = await import("./instance-NP3FJIWW.js");
43
+ if (env2) instance.set_env(env2);
44
+ return instance;
45
+ }
46
+ function create_server(manifest2) {
47
+ let server2;
48
+ return {
49
+ init: async ({ env: env2, read }) => {
50
+ server2 = await configure({
51
+ manifest: manifest2,
52
+ env: env2,
53
+ read
54
+ });
55
+ await server2.init();
56
+ },
57
+ /** @type {import('types').ServerInstance['respond']} */
58
+ respond: (request, options) => server2.respond(request, options)
59
+ };
60
+ }
61
+
62
+ // build/server/server.js
63
+ var manifest = (() => {
64
+ function __memo(fn) {
65
+ let value;
66
+ return () => value ??= value = fn();
67
+ }
68
+ return {
69
+ app_dir: "_app",
70
+ app_path: "_app",
71
+ assets: /* @__PURE__ */ new Set(["apple-touch-icon.png", "favicon.ico", "favicon.svg", "icon-192.png", "icon-512.png", "icon-maskable-512.png", "icon.svg", "manifest.webmanifest"]),
72
+ mime_types: { ".png": "image/png", ".ico": "image/x-icon", ".svg": "image/svg+xml", ".webmanifest": "application/manifest+json" },
73
+ client: { start: "_app/immutable/entry/start.B7srFiqh.js", app: "_app/immutable/entry/app.0DERehLW.js", imports: ["_app/immutable/entry/start.B7srFiqh.js", "_app/immutable/entry/payload.DSmR2FwN.js", "_app/immutable/chunks/CRzLMJPS.js", "_app/immutable/chunks/C90fLsA5.js", "_app/immutable/chunks/BgFr_EyZ.js", "_app/immutable/chunks/DLT1iIlz.js", "_app/immutable/entry/app.0DERehLW.js"], stylesheets: [], fonts: [], uses_env_dynamic_public: false },
74
+ nodes: [
75
+ __memo(() => import("./0-JP6XL6LB.js")),
76
+ __memo(() => import("./1-A52YZWNS.js")),
77
+ __memo(() => import("./2-CLH2NM6F.js")),
78
+ __memo(() => import("./3-4N467IB6.js")),
79
+ __memo(() => import("./4-WL5H4LUW.js"))
80
+ ],
81
+ remotes: {},
82
+ routes: [
83
+ {
84
+ id: "/",
85
+ pattern: /^\/$/,
86
+ params: [],
87
+ page: { layouts: [0], errors: [1], leaf: 2 },
88
+ endpoint: null
89
+ },
90
+ {
91
+ id: "/act",
92
+ pattern: /^\/act\/?$/,
93
+ params: [],
94
+ page: null,
95
+ endpoint: __memo(() => import("./_server.ts-I7HMTPOA.js"))
96
+ },
97
+ {
98
+ id: "/cleanup.json",
99
+ pattern: /^\/cleanup\.json\/?$/,
100
+ params: [],
101
+ page: null,
102
+ endpoint: __memo(() => import("./_server.ts-OJT7HE7M.js"))
103
+ },
104
+ {
105
+ id: "/cleanup",
106
+ pattern: /^\/cleanup\/?$/,
107
+ params: [],
108
+ page: null,
109
+ endpoint: __memo(() => import("./_server.ts-5VXGNWV2.js"))
110
+ },
111
+ {
112
+ id: "/docs/doc.js",
113
+ pattern: /^\/docs\/doc\.js\/?$/,
114
+ params: [],
115
+ page: null,
116
+ endpoint: __memo(() => import("./_server.ts-OYGWVLZM.js"))
117
+ },
118
+ {
119
+ id: "/docs/[org]/[repo]/[slug]/[name]",
120
+ pattern: /^\/docs\/([^/]+?)\/([^/]+?)\/([^/]+?)\/([^/]+?)\/?$/,
121
+ params: [{ "name": "org", "optional": false, "rest": false, "chained": false }, { "name": "repo", "optional": false, "rest": false, "chained": false }, { "name": "slug", "optional": false, "rest": false, "chained": false }, { "name": "name", "optional": false, "rest": false, "chained": false }],
122
+ page: { layouts: [0], errors: [1], leaf: 3 },
123
+ endpoint: null
124
+ },
125
+ {
126
+ id: "/docs/[org]/[repo]/[slug]/[name]/f/[key]/[version]/[...file]",
127
+ pattern: /^\/docs\/([^/]+?)\/([^/]+?)\/([^/]+?)\/([^/]+?)\/f\/([^/]+?)\/([^/]+?)(?:\/([^]*))?\/?$/,
128
+ params: [{ "name": "org", "optional": false, "rest": false, "chained": false }, { "name": "repo", "optional": false, "rest": false, "chained": false }, { "name": "slug", "optional": false, "rest": false, "chained": false }, { "name": "name", "optional": false, "rest": false, "chained": false }, { "name": "key", "optional": false, "rest": false, "chained": false }, { "name": "version", "optional": false, "rest": false, "chained": false }, { "name": "file", "optional": false, "rest": true, "chained": true }],
129
+ page: null,
130
+ endpoint: __memo(() => import("./_server.ts-Z26EB47B.js"))
131
+ },
132
+ {
133
+ id: "/focus",
134
+ pattern: /^\/focus\/?$/,
135
+ params: [],
136
+ page: null,
137
+ endpoint: __memo(() => import("./_server.ts-3POPKVEM.js"))
138
+ },
139
+ {
140
+ id: "/issue-draft",
141
+ pattern: /^\/issue-draft\/?$/,
142
+ params: [],
143
+ page: null,
144
+ endpoint: __memo(() => import("./_server.ts-5735T2V5.js"))
145
+ },
146
+ {
147
+ id: "/issue-groups",
148
+ pattern: /^\/issue-groups\/?$/,
149
+ params: [],
150
+ page: null,
151
+ endpoint: __memo(() => import("./_server.ts-CITUOEM6.js"))
152
+ },
153
+ {
154
+ id: "/pair",
155
+ pattern: /^\/pair\/?$/,
156
+ params: [],
157
+ page: { layouts: [0], errors: [1], leaf: 4 },
158
+ endpoint: __memo(() => import("./_server.ts-M5BQ4LLX.js"))
159
+ },
160
+ {
161
+ id: "/secrets",
162
+ pattern: /^\/secrets\/?$/,
163
+ params: [],
164
+ page: null,
165
+ endpoint: __memo(() => import("./_server.ts-A3AA24Z2.js"))
166
+ },
167
+ {
168
+ id: "/settings",
169
+ pattern: /^\/settings\/?$/,
170
+ params: [],
171
+ page: null,
172
+ endpoint: __memo(() => import("./_server.ts-3KVBYN6P.js"))
173
+ },
174
+ {
175
+ id: "/state.json",
176
+ pattern: /^\/state\.json\/?$/,
177
+ params: [],
178
+ page: null,
179
+ endpoint: __memo(() => import("./_server.ts-OB4O27HF.js"))
180
+ },
181
+ {
182
+ id: "/terminal",
183
+ pattern: /^\/terminal\/?$/,
184
+ params: [],
185
+ page: null,
186
+ endpoint: __memo(() => import("./_server.ts-645KP7WP.js"))
187
+ },
188
+ {
189
+ id: "/throttle-release",
190
+ pattern: /^\/throttle-release\/?$/,
191
+ params: [],
192
+ page: null,
193
+ endpoint: __memo(() => import("./_server.ts-WYZYNHUZ.js"))
194
+ },
195
+ {
196
+ id: "/track-draft",
197
+ pattern: /^\/track-draft\/?$/,
198
+ params: [],
199
+ page: null,
200
+ endpoint: __memo(() => import("./_server.ts-T75UVMQP.js"))
201
+ }
202
+ ],
203
+ prerendered_routes: /* @__PURE__ */ new Set([]),
204
+ matchers: async () => {
205
+ return {};
206
+ },
207
+ server_assets: {}
208
+ };
209
+ })();
210
+ var server = create_server(manifest);
211
+
212
+ // build/adapter-node.js
213
+ var dir = dirname(fileURLToPath(import.meta.url));
214
+ var base = "";
215
+ var app_path = "_app";
216
+ var origin = void 0;
217
+ var env_prefix = "";
218
+ var mime_types = { ".png": "image/png", ".ico": "image/x-icon", ".svg": "image/svg+xml", ".webmanifest": "application/manifest+json", ".json": "application/json", ".css": "text/css", ".js": "text/javascript", ".map": "application/json" };
219
+ var assets = JSON.parse('{"entries":[["/_app/immutable/assets/0.BGa5ZNDM.css",{"file":"_app/immutable/assets/0.BGa5ZNDM.css","size":39474,"etag":"Y1Ubbr9J0a5p1CMvnDrv3RU-Q1g157GYw3HI7XWd0TE"}],["/_app/immutable/chunks/BUrrLYDt.js",{"file":"_app/immutable/chunks/BUrrLYDt.js","size":6309,"etag":"BtOPgYCLgAEy2ut8rgQaxtyPfYc4nuRhN5DeZPIe8Rw"}],["/_app/immutable/chunks/BUrrLYDt.js.map",{"file":"_app/immutable/chunks/BUrrLYDt.js.map","size":25293,"etag":"ZmAbab5BXAu517jsS9NAUB8FLHnHAUgTJf6z1WxvYVA"}],["/_app/immutable/chunks/BgFr_EyZ.js",{"file":"_app/immutable/chunks/BgFr_EyZ.js","size":53701,"etag":"2brNAUdEfj5ggmDo4ZTocqMS-263i_QTGx4tVl1ibOU"}],["/_app/immutable/chunks/BgFr_EyZ.js.map",{"file":"_app/immutable/chunks/BgFr_EyZ.js.map","size":595014,"etag":"MhIJ7l3FAjU5RqHDKwzHGkGZU_URwvwxq5ORfjE9C7Q"}],["/_app/immutable/chunks/Bjy-W4x2.js",{"file":"_app/immutable/chunks/Bjy-W4x2.js","size":1402,"etag":"l_Yrf2PKccEd21jdVsk1K55CLuaJKiEe89WnbBVYZvQ"}],["/_app/immutable/chunks/Bjy-W4x2.js.map",{"file":"_app/immutable/chunks/Bjy-W4x2.js.map","size":2446,"etag":"G0y_6Cv5nQd9A19z3yDjqKA7WQYv_HkaEApCGyVfgSU"}],["/_app/immutable/chunks/C8qZab0y.js",{"file":"_app/immutable/chunks/C8qZab0y.js","size":126063,"etag":"Sxv8lHmT8IG3J2aClxSPeu23WPf4jBcl2hrD9ahD77s"}],["/_app/immutable/chunks/C8qZab0y.js.map",{"file":"_app/immutable/chunks/C8qZab0y.js.map","size":646251,"etag":"R1QWXP9trToo4c3aSIHWeAo3lQ11E_OKx3ufv2kzbcs"}],["/_app/immutable/chunks/C90fLsA5.js",{"file":"_app/immutable/chunks/C90fLsA5.js","size":42370,"etag":"8oPIyvYHTmPWJYvu95GkLhApsU7vq4aVD86EZEGceg0"}],["/_app/immutable/chunks/C90fLsA5.js.map",{"file":"_app/immutable/chunks/C90fLsA5.js.map","size":353811,"etag":"FX7OGlAj0osGnPpYVVytNVULqItDimPXEo3m3pKFTBA"}],["/_app/immutable/chunks/CRzLMJPS.js",{"file":"_app/immutable/chunks/CRzLMJPS.js","size":1534,"etag":"vMRl4-Ydw4eKaf-pXMtTy4LZWxY5raIjQgsoHr0VAEg"}],["/_app/immutable/chunks/DLT1iIlz.js",{"file":"_app/immutable/chunks/DLT1iIlz.js","size":4385,"etag":"jAIXqIZEdKk_kEjCKcnS2PBvh8MD4nvSd_znXyGiHVc"}],["/_app/immutable/chunks/DLT1iIlz.js.map",{"file":"_app/immutable/chunks/DLT1iIlz.js.map","size":45794,"etag":"-cqnZSPpOuCIw_osNIEgNJtv1sNf_cEtUiflEHk93Y8"}],["/_app/immutable/chunks/pIrVVOVY.js",{"file":"_app/immutable/chunks/pIrVVOVY.js","size":6164,"etag":"qJVKABVtr2Od1Js1qqSCUmNiYtbwGnV8kux_fdVVLIE"}],["/_app/immutable/chunks/pIrVVOVY.js.map",{"file":"_app/immutable/chunks/pIrVVOVY.js.map","size":10688,"etag":"amXgfXCOORESYaFHfyykieX9AK-B1CMtzHduy3sH1tM"}],["/_app/immutable/entry/app.0DERehLW.js",{"file":"_app/immutable/entry/app.0DERehLW.js","size":1495,"etag":"HTrsFAfRvoDhcd-8Nzk4rc7xY3ABj2EzSR942dRkKbQ"}],["/_app/immutable/entry/app.0DERehLW.js.map",{"file":"_app/immutable/entry/app.0DERehLW.js.map","size":2085,"etag":"T5EQsYHh9pyd0qMrUpms_RgHburtwCmD1mxiiApgQx0"}],["/_app/immutable/entry/payload.DSmR2FwN.js",{"file":"_app/immutable/entry/payload.DSmR2FwN.js","size":110,"etag":"5C64PZk_2Ey2wvAx3hdiw1C_EUw96PB6naN2eEK3mIs"}],["/_app/immutable/entry/payload.DSmR2FwN.js.map",{"file":"_app/immutable/entry/payload.DSmR2FwN.js.map","size":1076,"etag":"JNZ2CgSfegyhqAE0SKnjkPAI98ujHA5JWwvqVWUCXLA"}],["/_app/immutable/entry/start.B7srFiqh.js",{"file":"_app/immutable/entry/start.B7srFiqh.js","size":565,"etag":"W2AlvbVRvXkHLhgKDwH5aOu8R3I4hFKGernujdtcpQg"}],["/_app/immutable/entry/start.B7srFiqh.js.map",{"file":"_app/immutable/entry/start.B7srFiqh.js.map","size":1493,"etag":"Sj6CrSIml4jSjermSwVo5O35KWn2DI9dYLhzAkTM3MQ"}],["/_app/immutable/nodes/0.aD9vJoxR.js",{"file":"_app/immutable/nodes/0.aD9vJoxR.js","size":1306,"etag":"0s-1X4GtNO9skQ_pbwX88dYuReN74uD_CeOQxutyPbM"}],["/_app/immutable/nodes/0.aD9vJoxR.js.map",{"file":"_app/immutable/nodes/0.aD9vJoxR.js.map","size":5301023,"etag":"jpEE14LvB4ZSY2RxeYoF6SAfepqiiiCPNACDQO4AORw"}],["/_app/immutable/nodes/1.Br4FL91i.js",{"file":"_app/immutable/nodes/1.Br4FL91i.js","size":364,"etag":"scpPv4kQnDhzK76-adiugDAMjXJWdTUCleOkT-PZHXU"}],["/_app/immutable/nodes/1.Br4FL91i.js.map",{"file":"_app/immutable/nodes/1.Br4FL91i.js.map","size":934,"etag":"RxXp00sVeNiK9bKjYCglLza6e0MZUzK7MbbEsLe1VM4"}],["/_app/immutable/nodes/2.vl6OYfu3.js",{"file":"_app/immutable/nodes/2.vl6OYfu3.js","size":236633,"etag":"8oH82uAreiE7C13DV3We3vb2sQNrKImNP2Mof6l6Q0E"}],["/_app/immutable/nodes/2.vl6OYfu3.js.map",{"file":"_app/immutable/nodes/2.vl6OYfu3.js.map","size":686703,"etag":"iSvzJFVpxTa4xr68CRXFkEfznlx6_zy6ZaTLSMmoiq0"}],["/_app/immutable/nodes/3.VYqJOLAF.js",{"file":"_app/immutable/nodes/3.VYqJOLAF.js","size":1242,"etag":"NdTg-CBUfK6QntsCBjp92A3cCCWE3JpW9DkyJeycYrQ"}],["/_app/immutable/nodes/3.VYqJOLAF.js.map",{"file":"_app/immutable/nodes/3.VYqJOLAF.js.map","size":3365,"etag":"HZbWtT2Nw5EFFLCyafMJ2CKe_JETqlZAJwaCFmDRJJM"}],["/_app/immutable/nodes/4.jF9UVlFN.js",{"file":"_app/immutable/nodes/4.jF9UVlFN.js","size":5586,"etag":"uWR1EH1fCf2uxRtUwvyVt_LGIqd64TvpeNsYMuaYMA4"}],["/_app/immutable/nodes/4.jF9UVlFN.js.map",{"file":"_app/immutable/nodes/4.jF9UVlFN.js.map","size":17275,"etag":"qSndykPtpty17vtGaBakOW4_VEduSScyW4crzo5D3c0"}],["/_app/version.json",{"file":"_app/version.json","size":27,"etag":"GSIBGgo1-Ua-mihyiZuK7pdjn17l7Hgmmoz3C4OVqUM"}],["/apple-touch-icon.png",{"file":"apple-touch-icon.png","size":8466,"etag":"6AilkCcHfnJcDiiGvZ0mUGlNLXc9t5qN3n7RSQ2rKrE"}],["/favicon.ico",{"file":"favicon.ico","size":28974,"etag":"0_QZ2IeYbfJ3rDEPrwHiYLXCMl6fq4CMM9T9ZREoJcw"}],["/favicon.svg",{"file":"favicon.svg","size":4232,"etag":"_DFUQIx4sgsGECDIe_4jJ-wLKRlcJwvvXOPxTaPJ8BE"}],["/icon-192.png",{"file":"icon-192.png","size":10774,"etag":"DJuqd1QpL3O6CCIsoT78s52Di-yEvk5B9ERW1IF5hOs"}],["/icon-512.png",{"file":"icon-512.png","size":30178,"etag":"GVeOuOp8G3NoFt5UB4sCc5K1wBBzaUgH_KtB3U2zoTk"}],["/icon-maskable-512.png",{"file":"icon-maskable-512.png","size":21308,"etag":"tmghGd-M04Ri7MkaKklD3mExbn9WoAdbbmzN8qnoMQU"}],["/icon.svg",{"file":"icon.svg","size":4121,"etag":"Oao1GXTPX_HJpOA4RBH13_0gGoBzz_9_9iJZNsIQSFE"}],["/manifest.webmanifest",{"file":"manifest.webmanifest","size":504,"etag":"PbRDG6wAMNg9wmB7nf2v2mdN1abF_bo_3ocaJ6KSzhY"}]],"aliases":[]}');
220
+ var prerendered_assets = JSON.parse('{"entries":[],"aliases":[]}');
221
+
222
+ // build/server/adapter-node-env.js
223
+ var expected = /* @__PURE__ */ new Set([
224
+ "SOCKET_PATH",
225
+ "HOST",
226
+ "PORT",
227
+ "XFF_DEPTH",
228
+ "ADDRESS_HEADER",
229
+ "PROTOCOL_HEADER",
230
+ "HOST_HEADER",
231
+ "PORT_HEADER",
232
+ "BODY_SIZE_LIMIT",
233
+ "SHUTDOWN_TIMEOUT",
234
+ "IDLE_TIMEOUT",
235
+ "KEEP_ALIVE_TIMEOUT",
236
+ "HEADERS_TIMEOUT"
237
+ ]);
238
+ var expected_unprefixed = /* @__PURE__ */ new Set(["LISTEN_PID", "LISTEN_FDS"]);
239
+ if (env_prefix) {
240
+ for (const name in process.env) if (name.startsWith(env_prefix)) {
241
+ const unprefixed = name.slice(env_prefix.length);
242
+ if (!expected.has(unprefixed)) throw new Error(`You should change envPrefix (${env_prefix}) to avoid conflicts with existing environment variables \u2014 unexpectedly saw ${name}`);
243
+ }
244
+ }
245
+ function env(name, fallback) {
246
+ const prefixed = (expected_unprefixed.has(name) ? "" : env_prefix) + name;
247
+ return prefixed in process.env ? process.env[prefixed] : fallback;
248
+ }
249
+
250
+ // build/server/adapter-node-handler.js
251
+ import fs from "node:fs";
252
+ import path from "node:path";
253
+ import process2 from "node:process";
254
+
255
+ // node_modules/.pnpm/@sveltejs+kit@3.1.1_@sveltejs+vite-plugin-svelte@7.3.1_svelte@5.57.3_vite@8.3.5_@types+_5f9037060038b4818f2cc347056790f8/node_modules/@sveltejs/kit/src/exports/node/index.js
256
+ import { createReadStream } from "node:fs";
257
+ import { Readable } from "node:stream";
258
+
259
+ // node_modules/.pnpm/@sveltejs+kit@3.1.1_@sveltejs+vite-plugin-svelte@7.3.1_svelte@5.57.3_vite@8.3.5_@types+_5f9037060038b4818f2cc347056790f8/node_modules/@sveltejs/kit/src/utils/functions.js
260
+ function noop() {
261
+ }
262
+
263
+ // node_modules/.pnpm/@sveltejs+kit@3.1.1_@sveltejs+vite-plugin-svelte@7.3.1_svelte@5.57.3_vite@8.3.5_@types+_5f9037060038b4818f2cc347056790f8/node_modules/@sveltejs/kit/src/exports/node/index.js
264
+ var body_data_listeners = /* @__PURE__ */ new WeakMap();
265
+ function get_raw_body(req, body_size_limit2) {
266
+ const h = req.headers;
267
+ const content_length = Number(h["content-length"]);
268
+ const has_content_length = Number.isFinite(content_length);
269
+ if (req.httpVersionMajor === 1 && !has_content_length && h["transfer-encoding"] == null || content_length === 0) {
270
+ return null;
271
+ }
272
+ if (req.destroyed) {
273
+ const readable = new ReadableStream();
274
+ void readable.cancel();
275
+ return readable;
276
+ }
277
+ let size = 0;
278
+ let cancelled = false;
279
+ return new ReadableStream({
280
+ start(controller) {
281
+ if (body_size_limit2 !== void 0 && has_content_length && content_length > body_size_limit2) {
282
+ const error = new SvelteKitError(
283
+ 413,
284
+ "Payload Too Large",
285
+ `Content-length of ${content_length} exceeds limit of ${body_size_limit2} bytes.`
286
+ );
287
+ controller.error(error);
288
+ return;
289
+ }
290
+ const on_error = (error) => {
291
+ cancelled = true;
292
+ controller.error(error);
293
+ };
294
+ const on_end = () => {
295
+ if (cancelled) return;
296
+ controller.close();
297
+ };
298
+ const on_data = (chunk) => {
299
+ if (cancelled) return;
300
+ size += chunk.length;
301
+ if (body_size_limit2 !== void 0 && size > body_size_limit2) {
302
+ cancelled = true;
303
+ const message = `request body size exceeded BODY_SIZE_LIMIT of ${body_size_limit2}`;
304
+ const error = new SvelteKitError(413, "Payload Too Large", message);
305
+ controller.error(error);
306
+ return;
307
+ }
308
+ if (has_content_length && size > content_length) {
309
+ cancelled = true;
310
+ const message = `request body size exceeded content-length of ${content_length}`;
311
+ const error = new SvelteKitError(413, "Payload Too Large", message);
312
+ controller.error(error);
313
+ return;
314
+ }
315
+ controller.enqueue(chunk);
316
+ if (controller.desiredSize === null || controller.desiredSize <= 0) {
317
+ req.pause();
318
+ }
319
+ };
320
+ req.on("error", on_error);
321
+ req.on("end", on_end);
322
+ req.on("data", on_data);
323
+ body_data_listeners.set(req, on_data);
324
+ },
325
+ pull() {
326
+ req.resume();
327
+ },
328
+ cancel(reason) {
329
+ cancelled = true;
330
+ req.destroy(reason);
331
+ }
332
+ });
333
+ }
334
+ function getRequest({ request, response, base: base2, bodySizeLimit }) {
335
+ let headers = (
336
+ /** @type {Record<string, string>} */
337
+ request.headers
338
+ );
339
+ if (request.httpVersionMajor >= 2) {
340
+ headers = Object.assign({}, headers);
341
+ if (headers[":authority"]) {
342
+ headers.host = headers[":authority"];
343
+ }
344
+ delete headers[":authority"];
345
+ delete headers[":method"];
346
+ delete headers[":path"];
347
+ delete headers[":scheme"];
348
+ }
349
+ const controller = new AbortController();
350
+ request.once("close", () => {
351
+ if (request.readableAborted) {
352
+ controller.abort();
353
+ }
354
+ });
355
+ response?.once("close", () => {
356
+ if (!response.writableEnded) {
357
+ controller.abort();
358
+ }
359
+ });
360
+ return new Request(base2 + request.url, {
361
+ // @ts-expect-error
362
+ duplex: "half",
363
+ method: request.method,
364
+ headers: Object.entries(headers),
365
+ signal: controller.signal,
366
+ body: request.method === "GET" || request.method === "HEAD" ? void 0 : get_raw_body(request, bodySizeLimit)
367
+ });
368
+ }
369
+ function drain_request(res) {
370
+ const req = res.req;
371
+ if (!req || req.readableEnded || req.destroyed) return;
372
+ const on_data = body_data_listeners.get(req);
373
+ if (on_data) {
374
+ req.removeListener("data", on_data);
375
+ body_data_listeners.delete(req);
376
+ }
377
+ req.resume();
378
+ }
379
+ function setResponse(res, response) {
380
+ res.once("finish", () => drain_request(res));
381
+ res.once("close", () => drain_request(res));
382
+ for (const [key, value] of response.headers) {
383
+ try {
384
+ res.setHeader(key, key === "set-cookie" ? response.headers.getSetCookie() : value);
385
+ } catch (error) {
386
+ res.getHeaderNames().forEach((name) => res.removeHeader(name));
387
+ res.writeHead(500).end(String(error));
388
+ return;
389
+ }
390
+ }
391
+ if (!response.body) {
392
+ res.writeHead(response.status);
393
+ res.end();
394
+ return;
395
+ }
396
+ if (response.body.locked) {
397
+ res.writeHead(response.status);
398
+ res.end(
399
+ "Fatal error: Response body is locked. This can happen when the response was already read (for example through 'response.json()' or 'response.text()')."
400
+ );
401
+ return;
402
+ }
403
+ const reader = response.body.getReader();
404
+ if (res.destroyed) {
405
+ void reader.cancel();
406
+ return;
407
+ }
408
+ const cancel = (error) => {
409
+ res.off("close", cancel);
410
+ res.off("error", cancel);
411
+ reader.cancel(error).catch(noop);
412
+ if (error) res.destroy(error);
413
+ };
414
+ res.on("close", cancel);
415
+ res.on("error", cancel);
416
+ const buffered = [];
417
+ let pending = null;
418
+ void probe();
419
+ async function probe() {
420
+ try {
421
+ const deadline = new Promise((fulfil) => setImmediate(() => fulfil(void 0)));
422
+ while (buffered.length < 2) {
423
+ pending = reader.read();
424
+ const result = await Promise.race([pending, deadline]);
425
+ if (!result) break;
426
+ pending = null;
427
+ if (result.done) {
428
+ if (!res.hasHeader("content-length") && !res.hasHeader("transfer-encoding")) {
429
+ res.setHeader(
430
+ "content-length",
431
+ buffered.reduce((total, chunk) => total + chunk.byteLength, 0)
432
+ );
433
+ }
434
+ break;
435
+ }
436
+ buffered.push(result.value);
437
+ }
438
+ if (res.destroyed) return;
439
+ res.writeHead(response.status);
440
+ await next();
441
+ } catch (error) {
442
+ if (!res.headersSent) res.writeHead(response.status);
443
+ cancel(error instanceof Error ? error : new Error(String(error)));
444
+ }
445
+ }
446
+ async function next() {
447
+ try {
448
+ for (; ; ) {
449
+ let result;
450
+ if (buffered.length > 0) {
451
+ result = {
452
+ done: false,
453
+ value: (
454
+ /** @type {Uint8Array<ArrayBuffer>} */
455
+ buffered.shift()
456
+ )
457
+ };
458
+ } else if (pending) {
459
+ result = await pending;
460
+ pending = null;
461
+ } else {
462
+ result = await reader.read();
463
+ }
464
+ const { done, value } = result;
465
+ if (done) break;
466
+ if (!res.write(value)) {
467
+ res.once("drain", next);
468
+ return;
469
+ }
470
+ }
471
+ res.end();
472
+ } catch (error) {
473
+ cancel(error instanceof Error ? error : new Error(String(error)));
474
+ }
475
+ }
476
+ }
477
+ function createReadableStream(file) {
478
+ return (
479
+ /** @type {ReadableStream} */
480
+ Readable.toWeb(createReadStream(file))
481
+ );
482
+ }
483
+
484
+ // build/server/adapter-node-handler.js
485
+ import { pipeline } from "node:stream";
486
+ function parse_as_bytes(value) {
487
+ const multiplier = {
488
+ K: 1024,
489
+ M: 1048576,
490
+ G: 1073741824
491
+ }[value[value.length - 1]?.toUpperCase()] ?? 1;
492
+ return Number(multiplier != 1 ? value.substring(0, value.length - 1) : value) * multiplier;
493
+ }
494
+ function split_url(req) {
495
+ let pathname = req.url;
496
+ let search = "";
497
+ const query_index = pathname.indexOf("?");
498
+ if (query_index !== -1) {
499
+ search = pathname.slice(query_index);
500
+ pathname = pathname.slice(0, query_index);
501
+ }
502
+ if (pathname.includes("%")) try {
503
+ pathname = pathname.split("%25").map(decodeURI).join("%25");
504
+ } catch {
505
+ }
506
+ return {
507
+ pathname,
508
+ search
509
+ };
510
+ }
511
+ function relative_pathname(from, to) {
512
+ const segment = to.replace(/\/$/, "").split("/").at(-1);
513
+ return from.endsWith("/") ? `../${segment}` : `./${segment}/`;
514
+ }
515
+ function negotiate(header, asset) {
516
+ if (!header || !(asset.br || asset.gz)) return;
517
+ const weights = /* @__PURE__ */ new Map();
518
+ for (const part of header.toLowerCase().split(",")) {
519
+ const [coding, ...params] = part.split(";");
520
+ let weight2 = 1;
521
+ for (const param of params) {
522
+ const [name, value] = param.split("=");
523
+ if (name.trim() === "q") weight2 = parseFloat(value) || 0;
524
+ }
525
+ weights.set(coding.trim(), weight2);
526
+ }
527
+ const weight = (coding) => weights.get(coding) ?? weights.get("*") ?? 0;
528
+ const br = asset.br ? weight("br") : 0;
529
+ if ((asset.gz ? weight("gzip") : 0) > br) return "gz";
530
+ if (br > 0) return "br";
531
+ }
532
+ function etag_matches(header, etag) {
533
+ if (!header) return false;
534
+ if (header.trim() === "*") return true;
535
+ return header.split(",").some((tag) => tag.trim().replace(/^W\//, "") === etag);
536
+ }
537
+ function resolve(dir2, table, mime_types2) {
538
+ const files = /* @__PURE__ */ new Map();
539
+ for (const [key, entry] of table.entries) {
540
+ let type = mime_types2[entry.file.slice(entry.file.lastIndexOf("."))];
541
+ if (type === "text/html") type += ";charset=utf-8";
542
+ files.set(key, {
543
+ ...entry,
544
+ file: path.join(dir2, entry.file),
545
+ type
546
+ });
547
+ }
548
+ for (const [alias, key] of table.aliases) files.set(alias, files.get(key));
549
+ return files;
550
+ }
551
+ function create_file_map({ dir: dir2, base: base2, app_path: app_path2, mime_types: mime_types2, assets: assets2, prerendered_assets: prerendered_assets2 }) {
552
+ const files = resolve(`${dir2}/client${base2}`, assets2, mime_types2);
553
+ const immutable = `/${app_path2}/immutable/`;
554
+ for (const [key, asset] of files) if (key.startsWith(immutable))
555
+ asset.cache_control = "public,max-age=31536000,immutable";
556
+ const prerendered = resolve(`${dir2}/prerendered${base2}`, prerendered_assets2, mime_types2);
557
+ for (const [key, asset] of prerendered) if (!files.has(key)) files.set(key, asset);
558
+ for (const key of prerendered.keys()) {
559
+ const inverted = key.at(-1) === "/" ? key.slice(0, -1) : key + "/";
560
+ if (inverted && !files.has(inverted)) files.set(inverted, { location: relative_pathname(inverted, key) });
561
+ }
562
+ return files;
563
+ }
564
+ function serve_static(files) {
565
+ return (req, res, next) => {
566
+ const { pathname, search } = split_url(req);
567
+ const asset = files.get(pathname);
568
+ if (!asset) return next();
569
+ if (req.method !== "GET" && req.method !== "HEAD") {
570
+ res.writeHead(405, { allow: "GET, HEAD" }).end();
571
+ return;
572
+ }
573
+ if ("location" in asset) {
574
+ res.writeHead(308, { location: asset.location + search }).end();
575
+ return;
576
+ }
577
+ let file = asset.file;
578
+ let size = asset.size;
579
+ let etag = `"${asset.etag}"`;
580
+ const variant = negotiate(req.headers["accept-encoding"], asset);
581
+ if (variant) {
582
+ size = asset[variant];
583
+ file += `.${variant}`;
584
+ etag = `"${asset.etag}.${variant}"`;
585
+ }
586
+ const headers = { etag };
587
+ if (asset.br || asset.gz) headers.vary = "Accept-Encoding";
588
+ if (asset.cache_control) headers["cache-control"] = asset.cache_control;
589
+ if (etag_matches(req.headers["if-none-match"], etag)) {
590
+ res.writeHead(304, headers).end();
591
+ return;
592
+ }
593
+ headers["content-length"] = size;
594
+ headers["accept-ranges"] = "bytes";
595
+ if (asset.type) headers["content-type"] = asset.type;
596
+ if (variant) headers["content-encoding"] = variant === "gz" ? "gzip" : "br";
597
+ const range = {};
598
+ let status = 200;
599
+ const if_range = req.headers["if-range"];
600
+ if (req.headers.range && (!if_range || if_range === etag)) {
601
+ const match = /^bytes=(\d*)-(\d*)$/.exec(req.headers.range);
602
+ if (match && (match[1] || match[2])) {
603
+ let start = match[1] ? parseInt(match[1], 10) : NaN;
604
+ let end = match[2] ? parseInt(match[2], 10) : size - 1;
605
+ if (isNaN(start)) {
606
+ start = Math.max(size - end, 0);
607
+ end = size - 1;
608
+ } else end = Math.min(end, size - 1);
609
+ if (start >= size || start > end) {
610
+ res.writeHead(416, { "content-range": `bytes */${size}` }).end();
611
+ return;
612
+ }
613
+ status = 206;
614
+ headers["content-range"] = `bytes ${start}-${end}/${size}`;
615
+ headers["content-length"] = end - start + 1;
616
+ range.start = start;
617
+ range.end = end;
618
+ }
619
+ }
620
+ res.writeHead(status, headers);
621
+ if (req.method === "HEAD") {
622
+ res.end();
623
+ return;
624
+ }
625
+ pipeline(fs.createReadStream(file, range), res, () => {
626
+ });
627
+ };
628
+ }
629
+ var xff_depth = parseInt(env("XFF_DEPTH", "1"));
630
+ var address_header = env("ADDRESS_HEADER", "").toLowerCase();
631
+ var protocol_header = env("PROTOCOL_HEADER", "").toLowerCase();
632
+ var host_header = env("HOST_HEADER", "").toLowerCase();
633
+ var port_header = env("PORT_HEADER", "").toLowerCase();
634
+ var body_size_limit = parse_as_bytes(env("BODY_SIZE_LIMIT", "512K"));
635
+ if (isNaN(body_size_limit)) throw new Error(`Invalid BODY_SIZE_LIMIT: '${env("BODY_SIZE_LIMIT")}'. Please provide a numeric value.`);
636
+ var asset_dir = `${dir}/client${base}`;
637
+ await server.init({
638
+ env: process2.env,
639
+ read: (file) => createReadableStream(`${asset_dir}/${file}`)
640
+ });
641
+ var ssr = async (req, res) => {
642
+ let request;
643
+ let request_origin = origin;
644
+ if (!request_origin) try {
645
+ request_origin = get_origin(req.headers);
646
+ } catch (error) {
647
+ console.error(`Could not determine request origin: ${error instanceof Error ? error.message : String(error)}`);
648
+ res.statusCode = 400;
649
+ res.end("Bad Request");
650
+ return;
651
+ }
652
+ try {
653
+ request = getRequest({
654
+ base: request_origin,
655
+ request: req,
656
+ response: res,
657
+ bodySizeLimit: body_size_limit
658
+ });
659
+ } catch {
660
+ res.statusCode = 400;
661
+ res.end("Bad Request");
662
+ return;
663
+ }
664
+ const response = await server.respond(request, {
665
+ platform: { req },
666
+ getClientAddress: () => {
667
+ if (address_header) {
668
+ if (!(address_header in req.headers)) throw new Error(`Address header was specified with ${env_prefix + "ADDRESS_HEADER"}=${address_header} but is absent from request`);
669
+ const value = req.headers[address_header] || "";
670
+ if (address_header === "x-forwarded-for") {
671
+ const addresses = value.split(",");
672
+ if (xff_depth < 1) throw new Error(`${env_prefix + "XFF_DEPTH"} must be a positive integer`);
673
+ if (xff_depth > addresses.length) throw new Error(`${env_prefix + "XFF_DEPTH"} is ${xff_depth}, but only found ${addresses.length} addresses`);
674
+ return addresses[addresses.length - xff_depth].trim();
675
+ }
676
+ return value;
677
+ }
678
+ return req.connection?.remoteAddress || req.connection?.socket?.remoteAddress || req.socket?.remoteAddress || req.info?.remoteAddress;
679
+ }
680
+ });
681
+ if (response.headers.get("content-type") === "text/event-stream") res.setHeader("x-accel-buffering", "no");
682
+ setResponse(res, response);
683
+ };
684
+ function normalise_header(name, value) {
685
+ if (!name) return void 0;
686
+ if (Array.isArray(value)) {
687
+ if (value.length === 0) return void 0;
688
+ if (value.length === 1) return value[0];
689
+ throw new Error(`Multiple values provided for ${name} header where only one expected: ${value}`);
690
+ }
691
+ return value;
692
+ }
693
+ function get_origin(headers) {
694
+ const protocol = decodeURIComponent(normalise_header(protocol_header, headers[protocol_header]) || "https");
695
+ if (protocol.includes(":")) throw new Error(`The ${protocol_header} header specified ${protocol} which is an invalid because it includes \`:\`. It should only contain the protocol scheme (e.g. \`https\`)`);
696
+ const host = normalise_header(host_header, headers[host_header]) || normalise_header("host", headers["host"]);
697
+ if (!host) {
698
+ const header_names = host_header ? `${host_header} or host headers` : "host header";
699
+ throw new Error(`Could not determine host. The request must have a value provided by the ${header_names}`);
700
+ }
701
+ const port = normalise_header(port_header, headers[port_header]);
702
+ if (port && isNaN(+port)) throw new Error(`The ${port_header} header specified ${port} which is an invalid port because it is not a number. The value should only contain the port number (e.g. 443)`);
703
+ return port ? `${protocol}://${host}:${port}` : `${protocol}://${host}`;
704
+ }
705
+ var serve = serve_static(create_file_map({
706
+ dir,
707
+ base,
708
+ app_path,
709
+ mime_types,
710
+ assets,
711
+ prerendered_assets
712
+ }));
713
+ var handler = (req, res, next) => serve(req, res, () => ssr(req, res, next));
714
+ export {
715
+ handler
716
+ };