token-usage-dashboard 1.0.12 → 1.0.14

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 (126) hide show
  1. package/build/adapter-node.js +11 -0
  2. package/build/client/_app/immutable/chunks/B0VWrXPj.js +1 -0
  3. package/build/client/_app/immutable/chunks/B0VWrXPj.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/B0VWrXPj.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/BaNbYf_w.js +1 -0
  6. package/build/client/_app/immutable/chunks/BaNbYf_w.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/BaNbYf_w.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/CbiRHTcG.js +1 -0
  9. package/build/client/_app/immutable/chunks/CbiRHTcG.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/CbiRHTcG.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/DTingiCe.js +3 -0
  12. package/build/client/_app/immutable/chunks/DTingiCe.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/DTingiCe.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/ssd4Rw-g.js +3 -0
  15. package/build/client/_app/immutable/chunks/ssd4Rw-g.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/ssd4Rw-g.js.gz +0 -0
  17. package/build/client/_app/immutable/entry/app.CRLWmGVY.js +2 -0
  18. package/build/client/_app/immutable/entry/app.CRLWmGVY.js.br +0 -0
  19. package/build/client/_app/immutable/entry/app.CRLWmGVY.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/payload.DSmR2FwN.js +1 -0
  21. package/build/client/_app/immutable/entry/payload.DSmR2FwN.js.br +0 -0
  22. package/build/client/_app/immutable/entry/payload.DSmR2FwN.js.gz +0 -0
  23. package/build/client/_app/immutable/entry/start.CzGx2BYz.js +2 -0
  24. package/build/client/_app/immutable/entry/start.CzGx2BYz.js.br +0 -0
  25. package/build/client/_app/immutable/entry/start.CzGx2BYz.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/0.BBGTwdwd.js +1 -0
  27. package/build/client/_app/immutable/nodes/0.BBGTwdwd.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/0.BBGTwdwd.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/1.Cy2JV0fN.js +1 -0
  30. package/build/client/_app/immutable/nodes/1.Cy2JV0fN.js.br +2 -0
  31. package/build/client/_app/immutable/nodes/1.Cy2JV0fN.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/2.CRMPKkcX.js +2 -0
  33. package/build/client/_app/immutable/nodes/2.CRMPKkcX.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/2.CRMPKkcX.js.gz +0 -0
  35. package/build/client/_app/version.json +1 -1
  36. package/build/client/_app/version.json.br +0 -0
  37. package/build/client/_app/version.json.gz +0 -0
  38. package/build/handler.js +1 -22
  39. package/build/index.js +1 -145
  40. package/build/server/.vite/manifest.json +271 -0
  41. package/build/server/_app/immutable/assets/_layout.CZ6VMqH1.css +1 -0
  42. package/build/server/_app/immutable/assets/_page.CZocdpCk.css +1 -0
  43. package/build/server/adapter-env.js +2 -0
  44. package/build/server/adapter-index.js +74 -0
  45. package/build/server/adapter-node-env.js +63 -0
  46. package/build/server/adapter-node-handler.js +584 -0
  47. package/build/server/chunks/config.js +10 -0
  48. package/build/server/chunks/functions.js +30 -0
  49. package/build/server/chunks/index-server.js +2 -0
  50. package/build/server/chunks/instance.js +3546 -0
  51. package/build/server/chunks/internal.js +3323 -0
  52. package/build/server/chunks/navigation.js +16 -0
  53. package/build/server/chunks/{chunks/queries.js-BEdRnpMa.js → queries.js} +9 -9
  54. package/build/server/chunks/{chunks/range.js-CiCoLGqh.js → range.js} +3 -2
  55. package/build/server/chunks/{chunks/refresh.js-0W7-GwaH.js → refresh.js} +7 -7
  56. package/build/server/chunks/{chunks/request.js-BF7n7fZo.js → request.js} +5 -5
  57. package/build/server/chunks/server-errors.js +489 -0
  58. package/build/server/chunks/server.js +9 -0
  59. package/build/server/chunks/server2.js +1504 -0
  60. package/build/server/chunks/shared.js +84 -0
  61. package/build/server/chunks/uneval.js +537 -0
  62. package/build/server/entries/endpoints/api/refresh/_server.ts.js +12 -0
  63. package/build/server/entries/endpoints/api/settings/_server.ts.js +15 -0
  64. package/build/server/entries/endpoints/api/usage/_server.ts.js +8 -0
  65. package/build/server/entries/fallbacks/error.svelte.js +47 -0
  66. package/build/server/entries/hooks.server.js +10 -0
  67. package/build/server/{chunks/entries/pages/_layout.svelte.js-C9kkUOBf.js → entries/pages/_layout.svelte.js} +4 -2
  68. package/build/server/entries/pages/_page.server.ts.js +12 -0
  69. package/build/server/{chunks/entries/pages/_page.svelte.js-BqU3UuBL.js → entries/pages/_page.svelte.js} +64 -27
  70. package/build/server/env.js +2 -0
  71. package/build/server/handler.js +2 -0
  72. package/build/server/index.js +67 -0
  73. package/build/server/manifest-full.js +58 -0
  74. package/build/server/manifest.js +58 -0
  75. package/build/server/nodes/0.js +8 -0
  76. package/build/server/nodes/1.js +8 -0
  77. package/build/server/nodes/2.js +10 -0
  78. package/build/server/remote-entry.js +1564 -0
  79. package/build/server/server.js +60 -0
  80. package/package.json +8 -8
  81. package/build/client/_app/immutable/chunks/Dsm7b1TR.js +0 -3
  82. package/build/client/_app/immutable/chunks/Dsm7b1TR.js.br +0 -0
  83. package/build/client/_app/immutable/chunks/Dsm7b1TR.js.gz +0 -0
  84. package/build/client/_app/immutable/chunks/G5wHZJy8.js +0 -2
  85. package/build/client/_app/immutable/chunks/G5wHZJy8.js.br +0 -0
  86. package/build/client/_app/immutable/chunks/G5wHZJy8.js.gz +0 -0
  87. package/build/client/_app/immutable/chunks/xihTtKlq.js +0 -1
  88. package/build/client/_app/immutable/chunks/xihTtKlq.js.br +0 -1
  89. package/build/client/_app/immutable/chunks/xihTtKlq.js.gz +0 -0
  90. package/build/client/_app/immutable/entry/app.CuA0PQ3L.js +0 -2
  91. package/build/client/_app/immutable/entry/app.CuA0PQ3L.js.br +0 -0
  92. package/build/client/_app/immutable/entry/app.CuA0PQ3L.js.gz +0 -0
  93. package/build/client/_app/immutable/entry/start.CV_ip-Hp.js +0 -1
  94. package/build/client/_app/immutable/entry/start.CV_ip-Hp.js.br +0 -1
  95. package/build/client/_app/immutable/entry/start.CV_ip-Hp.js.gz +0 -0
  96. package/build/client/_app/immutable/nodes/0.PGglbI9f.js +0 -1
  97. package/build/client/_app/immutable/nodes/0.PGglbI9f.js.br +0 -0
  98. package/build/client/_app/immutable/nodes/0.PGglbI9f.js.gz +0 -0
  99. package/build/client/_app/immutable/nodes/1.CTCsoy2V.js +0 -1
  100. package/build/client/_app/immutable/nodes/1.CTCsoy2V.js.br +0 -0
  101. package/build/client/_app/immutable/nodes/1.CTCsoy2V.js.gz +0 -0
  102. package/build/client/_app/immutable/nodes/2.DBV8nX84.js +0 -2
  103. package/build/client/_app/immutable/nodes/2.DBV8nX84.js.br +0 -0
  104. package/build/client/_app/immutable/nodes/2.DBV8nX84.js.gz +0 -0
  105. package/build/env.js +0 -70
  106. package/build/server/chunks/chunks/client.js-BQauTa0m.js +0 -28
  107. package/build/server/chunks/chunks/env.js-l0sNRNKZ.js +0 -2
  108. package/build/server/chunks/chunks/exports.js-Bbyr-JtB.js +0 -349
  109. package/build/server/chunks/chunks/internal.js-U26BXAw4.js +0 -1202
  110. package/build/server/chunks/chunks/internal2.js-BlXt2rfE.js +0 -22
  111. package/build/server/chunks/chunks/server.js-UOanU7fq.js +0 -5527
  112. package/build/server/chunks/chunks/shared.js-Dg3Ewm8t.js +0 -255
  113. package/build/server/chunks/chunks/utils.js-DUDFXVFd.js +0 -1049
  114. package/build/server/chunks/entries/endpoints/api/refresh/_server.ts.js-CcG44vTx.js +0 -21
  115. package/build/server/chunks/entries/endpoints/api/settings/_server.ts.js-B0LWCQis.js +0 -24
  116. package/build/server/chunks/entries/endpoints/api/usage/_server.ts.js-CJGTdjik.js +0 -17
  117. package/build/server/chunks/entries/fallbacks/error.svelte.js-BdtN0SJD.js +0 -68
  118. package/build/server/chunks/entries/hooks.server.js-_Fcw_IVA.js +0 -16
  119. package/build/server/chunks/entries/pages/_page.server.ts.js-BBibcAZP.js +0 -17
  120. package/build/server/chunks/handler-D8S2N5vX.js +0 -1475
  121. package/build/server/chunks/index.js-BDweEDAt.js +0 -3972
  122. package/build/server/chunks/manifest.js-CUe1IdHJ.js +0 -63
  123. package/build/server/chunks/nodes/0.js-7EReDAeT.js +0 -9
  124. package/build/server/chunks/nodes/1.js-MVTzwi8l.js +0 -9
  125. package/build/server/chunks/nodes/2.js-C7xGlKUF.js +0 -20
  126. package/build/shims.js +0 -33
package/build/index.js CHANGED
@@ -1,145 +1 @@
1
- import http from 'node:http';
2
- import fs__default from 'node:fs';
3
- import process from 'node:process';
4
- import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-D8S2N5vX.js';
5
- import { env, timeout_env } from './env.js';
6
- import { rm } from 'node:fs/promises';
7
- import './shims.js';
8
- import 'node:buffer';
9
- import 'node:crypto';
10
- import 'node:path';
11
- import 'node:timers';
12
- import 'node:querystring';
13
- import 'node:stream';
14
- import './server/chunks/chunks/shared.js-Dg3Ewm8t.js';
15
- import './server/chunks/chunks/server.js-UOanU7fq.js';
16
- import './server/chunks/chunks/utils.js-DUDFXVFd.js';
17
- import './server/chunks/index.js-BDweEDAt.js';
18
- import './server/chunks/chunks/internal.js-U26BXAw4.js';
19
- import './server/chunks/chunks/internal2.js-BlXt2rfE.js';
20
- import './server/chunks/chunks/exports.js-Bbyr-JtB.js';
21
- import './server/chunks/manifest.js-CUe1IdHJ.js';
22
- import 'node:url';
23
-
24
- const path = env('SOCKET_PATH', false);
25
- const host = env('HOST', '0.0.0.0');
26
- const port = env('PORT', !path && '3000');
27
-
28
- const shutdown_timeout = parseInt(env('SHUTDOWN_TIMEOUT', '30'));
29
- const idle_timeout = parseInt(env('IDLE_TIMEOUT', '0'));
30
- const listen_pid = parseInt(env('LISTEN_PID', '0'));
31
- const listen_fds = parseInt(env('LISTEN_FDS', '0'));
32
- // https://www.freedesktop.org/software/systemd/man/latest/sd_listen_fds.html
33
- const SD_LISTEN_FDS_START = 3;
34
-
35
- if (listen_pid !== 0 && listen_pid !== process.pid) {
36
- throw new Error(`received LISTEN_PID ${listen_pid} but current process id is ${process.pid}`);
37
- }
38
- if (listen_fds > 1) {
39
- throw new Error(
40
- `only one socket is allowed for socket activation, but LISTEN_FDS was set to ${listen_fds}`
41
- );
42
- }
43
-
44
- const socket_activation = listen_pid === process.pid && listen_fds === 1;
45
-
46
- let requests = 0;
47
- /** @type {NodeJS.Timeout | void} */
48
- let shutdown_timeout_id;
49
- /** @type {NodeJS.Timeout | void} */
50
- let idle_timeout_id;
51
-
52
- // Initialize the HTTP server here so that we can set properties before starting to listen.
53
- // Otherwise, polka delays creating the server until listen() is called. Settings these
54
- // properties after the server has started listening could lead to race conditions.
55
- const httpServer = http.createServer();
56
-
57
- const keep_alive_timeout = timeout_env('KEEP_ALIVE_TIMEOUT');
58
- if (keep_alive_timeout !== undefined) {
59
- // Convert the keep-alive timeout from seconds to milliseconds (the unit Node.js expects).
60
- httpServer.keepAliveTimeout = keep_alive_timeout * 1000;
61
- }
62
-
63
- const headers_timeout = timeout_env('HEADERS_TIMEOUT');
64
- if (headers_timeout !== undefined) {
65
- // Convert the headers timeout from seconds to milliseconds (the unit Node.js expects).
66
- httpServer.headersTimeout = headers_timeout * 1000;
67
- }
68
-
69
- const server = polka({ server: httpServer }).use(handler);
70
-
71
- if (socket_activation) {
72
- server.listen({ fd: SD_LISTEN_FDS_START }, () => {
73
- console.log(`Listening on file descriptor ${SD_LISTEN_FDS_START}`);
74
- });
75
- } else {
76
- if (path) {
77
- try {
78
- if (fs__default.statSync(path).size === 0) {
79
- await rm(path);
80
- }
81
- } catch {
82
- // ignore
83
- }
84
- }
85
-
86
- server.listen({ path, host, port }, () => {
87
- console.log(`Listening on ${format_listening_address(path, host, port, httpServer.address())}`);
88
- });
89
- }
90
-
91
- /** @param {'SIGINT' | 'SIGTERM' | 'IDLE'} reason */
92
- function graceful_shutdown(reason) {
93
- if (shutdown_timeout_id) return;
94
-
95
- // If a connection was opened with a keep-alive header close() will wait for the connection to
96
- // time out rather than close it even if it is not handling any requests, so call this first
97
- httpServer.closeIdleConnections();
98
-
99
- httpServer.close((error) => {
100
- // occurs if the server is already closed
101
- if (error) return;
102
-
103
- if (shutdown_timeout_id) {
104
- clearTimeout(shutdown_timeout_id);
105
- }
106
- if (idle_timeout_id) {
107
- clearTimeout(idle_timeout_id);
108
- }
109
-
110
- // @ts-expect-error custom events cannot be typed
111
- process.emit('sveltekit:shutdown', reason);
112
- });
113
-
114
- shutdown_timeout_id = setTimeout(() => httpServer.closeAllConnections(), shutdown_timeout * 1000);
115
- }
116
-
117
- httpServer.on(
118
- 'request',
119
- /** @param {import('node:http').IncomingMessage} req */
120
- (req) => {
121
- requests++;
122
-
123
- if (socket_activation && idle_timeout_id) {
124
- idle_timeout_id = clearTimeout(idle_timeout_id);
125
- }
126
-
127
- req.on('close', () => {
128
- requests--;
129
-
130
- if (shutdown_timeout_id) {
131
- // close connections as soon as they become idle, so they don't accept new requests
132
- httpServer.closeIdleConnections();
133
- }
134
- if (requests === 0 && socket_activation && idle_timeout) {
135
- idle_timeout_id = setTimeout(() => graceful_shutdown('IDLE'), idle_timeout * 1000);
136
- }
137
- });
138
- }
139
- );
140
-
141
- process.on('SIGTERM', graceful_shutdown);
142
- process.on('SIGINT', graceful_shutdown);
143
-
144
- export { host, path, port, server };
145
- //# sourceMappingURL=index.js.map
1
+ export * from './server/adapter-index.js';
@@ -0,0 +1,271 @@
1
+ {
2
+ ".svelte-kit/generated/build/env/config.js": {
3
+ "file": "env.js",
4
+ "name": "env",
5
+ "src": ".svelte-kit/generated/build/env/config.js",
6
+ "isEntry": true,
7
+ "imports": [
8
+ "_config.js"
9
+ ]
10
+ },
11
+ "_adapter-node-env.js": {
12
+ "file": "adapter-node-env.js",
13
+ "name": "env"
14
+ },
15
+ "_adapter-node-handler.js": {
16
+ "file": "adapter-node-handler.js",
17
+ "name": "handler",
18
+ "imports": [
19
+ "_shared.js",
20
+ "_functions.js",
21
+ "_adapter-node-env.js"
22
+ ]
23
+ },
24
+ "_config.js": {
25
+ "file": "chunks/config.js",
26
+ "name": "config"
27
+ },
28
+ "_functions.js": {
29
+ "file": "chunks/functions.js",
30
+ "name": "functions",
31
+ "imports": [
32
+ "_server-errors.js"
33
+ ]
34
+ },
35
+ "_index-server.js": {
36
+ "file": "chunks/index-server.js",
37
+ "name": "index-server",
38
+ "imports": [
39
+ "_server2.js"
40
+ ]
41
+ },
42
+ "_internal.js": {
43
+ "file": "chunks/internal.js",
44
+ "name": "internal",
45
+ "imports": [
46
+ "_shared.js",
47
+ "_server-errors.js",
48
+ "_uneval.js",
49
+ "_functions.js"
50
+ ],
51
+ "dynamicImports": [
52
+ "src/hooks.server.ts"
53
+ ]
54
+ },
55
+ "_navigation.js": {
56
+ "file": "chunks/navigation.js",
57
+ "name": "navigation",
58
+ "imports": [
59
+ "_functions.js"
60
+ ]
61
+ },
62
+ "_queries.js": {
63
+ "file": "chunks/queries.js",
64
+ "name": "queries",
65
+ "imports": [
66
+ "_range.js"
67
+ ]
68
+ },
69
+ "_range.js": {
70
+ "file": "chunks/range.js",
71
+ "name": "range"
72
+ },
73
+ "_refresh.js": {
74
+ "file": "chunks/refresh.js",
75
+ "name": "refresh",
76
+ "imports": [
77
+ "_queries.js",
78
+ "_range.js"
79
+ ]
80
+ },
81
+ "_request.js": {
82
+ "file": "chunks/request.js",
83
+ "name": "request",
84
+ "imports": [
85
+ "_queries.js",
86
+ "_range.js"
87
+ ]
88
+ },
89
+ "_server-errors.js": {
90
+ "file": "chunks/server-errors.js",
91
+ "name": "server-errors"
92
+ },
93
+ "_server.js": {
94
+ "file": "chunks/server.js",
95
+ "name": "server"
96
+ },
97
+ "_server2.js": {
98
+ "file": "chunks/server2.js",
99
+ "name": "server",
100
+ "imports": [
101
+ "_uneval.js"
102
+ ]
103
+ },
104
+ "_shared.js": {
105
+ "file": "chunks/shared.js",
106
+ "name": "shared"
107
+ },
108
+ "_uneval.js": {
109
+ "file": "chunks/uneval.js",
110
+ "name": "uneval"
111
+ },
112
+ "node_modules/@sveltejs/adapter-node/src/env.js": {
113
+ "file": "adapter-env.js",
114
+ "name": "adapter-env",
115
+ "src": "node_modules/@sveltejs/adapter-node/src/env.js",
116
+ "isEntry": true,
117
+ "imports": [
118
+ "_adapter-node-env.js"
119
+ ]
120
+ },
121
+ "node_modules/@sveltejs/adapter-node/src/handler.js": {
122
+ "file": "handler.js",
123
+ "name": "handler",
124
+ "src": "node_modules/@sveltejs/adapter-node/src/handler.js",
125
+ "isEntry": true,
126
+ "imports": [
127
+ "_adapter-node-handler.js"
128
+ ]
129
+ },
130
+ "node_modules/@sveltejs/adapter-node/src/index.js": {
131
+ "file": "adapter-index.js",
132
+ "name": "adapter-index",
133
+ "src": "node_modules/@sveltejs/adapter-node/src/index.js",
134
+ "isEntry": true,
135
+ "imports": [
136
+ "_adapter-node-handler.js",
137
+ "_adapter-node-env.js"
138
+ ]
139
+ },
140
+ "node_modules/@sveltejs/kit/src/runtime/app/server/remote/index.js": {
141
+ "file": "remote-entry.js",
142
+ "name": "remote-entry",
143
+ "src": "node_modules/@sveltejs/kit/src/runtime/app/server/remote/index.js",
144
+ "isEntry": true,
145
+ "imports": [
146
+ "_server.js",
147
+ "_internal.js",
148
+ "_shared.js",
149
+ "_server-errors.js",
150
+ "_functions.js"
151
+ ]
152
+ },
153
+ "node_modules/@sveltejs/kit/src/runtime/components/error.svelte": {
154
+ "file": "entries/fallbacks/error.svelte.js",
155
+ "name": "entries/fallbacks/error.svelte",
156
+ "src": "node_modules/@sveltejs/kit/src/runtime/components/error.svelte",
157
+ "isEntry": true,
158
+ "imports": [
159
+ "_server-errors.js",
160
+ "_server2.js",
161
+ "_index-server.js"
162
+ ]
163
+ },
164
+ "node_modules/@sveltejs/kit/src/runtime/server/index.js": {
165
+ "file": "index.js",
166
+ "name": "index",
167
+ "src": "node_modules/@sveltejs/kit/src/runtime/server/index.js",
168
+ "isEntry": true,
169
+ "imports": [
170
+ "_server.js",
171
+ "_internal.js"
172
+ ],
173
+ "dynamicImports": [
174
+ "node_modules/@sveltejs/kit/src/runtime/server/instance.js"
175
+ ]
176
+ },
177
+ "node_modules/@sveltejs/kit/src/runtime/server/instance.js": {
178
+ "file": "chunks/instance.js",
179
+ "name": "instance",
180
+ "src": "node_modules/@sveltejs/kit/src/runtime/server/instance.js",
181
+ "isDynamicEntry": true,
182
+ "imports": [
183
+ "_internal.js",
184
+ "_shared.js",
185
+ "_server-errors.js",
186
+ "_uneval.js",
187
+ "_functions.js",
188
+ "_config.js",
189
+ "_server2.js",
190
+ "_navigation.js"
191
+ ]
192
+ },
193
+ "src/hooks.server.ts": {
194
+ "file": "entries/hooks.server.js",
195
+ "name": "entries/hooks.server",
196
+ "src": "src/hooks.server.ts",
197
+ "isEntry": true,
198
+ "imports": [
199
+ "_queries.js",
200
+ "_refresh.js"
201
+ ]
202
+ },
203
+ "src/routes/+layout.svelte": {
204
+ "file": "entries/pages/_layout.svelte.js",
205
+ "name": "entries/pages/_layout.svelte",
206
+ "src": "src/routes/+layout.svelte",
207
+ "isEntry": true,
208
+ "imports": [
209
+ "_server2.js"
210
+ ],
211
+ "css": [
212
+ "_app/immutable/assets/_layout.CZ6VMqH1.css"
213
+ ]
214
+ },
215
+ "src/routes/+page.server.ts": {
216
+ "file": "entries/pages/_page.server.ts.js",
217
+ "name": "entries/pages/_page.server.ts",
218
+ "src": "src/routes/+page.server.ts",
219
+ "isEntry": true,
220
+ "imports": [
221
+ "_queries.js",
222
+ "_request.js"
223
+ ]
224
+ },
225
+ "src/routes/+page.svelte": {
226
+ "file": "entries/pages/_page.svelte.js",
227
+ "name": "entries/pages/_page.svelte",
228
+ "src": "src/routes/+page.svelte",
229
+ "isEntry": true,
230
+ "imports": [
231
+ "_range.js",
232
+ "_server2.js",
233
+ "_index-server.js",
234
+ "_navigation.js"
235
+ ],
236
+ "css": [
237
+ "_app/immutable/assets/_page.CZocdpCk.css"
238
+ ]
239
+ },
240
+ "src/routes/api/refresh/+server.ts": {
241
+ "file": "entries/endpoints/api/refresh/_server.ts.js",
242
+ "name": "entries/endpoints/api/refresh/_server.ts",
243
+ "src": "src/routes/api/refresh/+server.ts",
244
+ "isEntry": true,
245
+ "imports": [
246
+ "_queries.js",
247
+ "_refresh.js",
248
+ "_request.js"
249
+ ]
250
+ },
251
+ "src/routes/api/settings/+server.ts": {
252
+ "file": "entries/endpoints/api/settings/_server.ts.js",
253
+ "name": "entries/endpoints/api/settings/_server.ts",
254
+ "src": "src/routes/api/settings/+server.ts",
255
+ "isEntry": true,
256
+ "imports": [
257
+ "_queries.js",
258
+ "_refresh.js"
259
+ ]
260
+ },
261
+ "src/routes/api/usage/+server.ts": {
262
+ "file": "entries/endpoints/api/usage/_server.ts.js",
263
+ "name": "entries/endpoints/api/usage/_server.ts",
264
+ "src": "src/routes/api/usage/+server.ts",
265
+ "isEntry": true,
266
+ "imports": [
267
+ "_queries.js",
268
+ "_request.js"
269
+ ]
270
+ }
271
+ }
@@ -0,0 +1 @@
1
+ :root{--bg:#f6f6f9;--surface:#fff;--surface-2:#f1f1f5;--surface-3:#e7e7ee;--border:#e3e3ea;--border-strong:#cbcbd7;--text:#16161c;--text-muted:#5b5b6b;--text-faint:#8a8a9b;--accent:#5250d4;--accent-text:#fff;--accent-soft:#ecebfb;--good:#1a7f5a;--warn:#a96a08;--bad:#c23b3b;--ramp-0:#ececf1;--ramp-1:#d0cff4;--ramp-2:#a8a6ea;--ramp-3:#7d7ae0;--ramp-4:#5250d4;--ramp-5:#38369c;--shadow:0 1px 2px #14141e0d, 0 8px 24px -14px #14141e33;--shadow-pop:0 2px 6px #14141e14, 0 18px 44px -18px #14141e52;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--radius:12px;--radius-sm:8px;--gap:18px;--pad:20px;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--ease:cubic-bezier(.22, .61, .36, 1);--quick:.16s var(--ease)}@media (prefers-color-scheme:dark){:root[data-theme=""]{--bg:#0c0c10;--surface:#15151b;--surface-2:#1c1c23;--surface-3:#26262f;--border:#26262f;--border-strong:#3a3a48;--text:#eceef3;--text-muted:#a0a1b0;--text-faint:#6d6e80;--accent:#8b88f5;--accent-text:#14131f;--accent-soft:#23213c;--good:#4ecb9a;--warn:#e0a54a;--bad:#f0736f;--ramp-0:#1b1b22;--ramp-1:#2d2b52;--ramp-2:#443f86;--ramp-3:#5f59bd;--ramp-4:#8b88f5;--ramp-5:#b6b4ff;--shadow:0 1px 2px #0006, 0 8px 24px -14px #0009;--shadow-pop:0 2px 6px #00000080, 0 18px 44px -18px #000000b8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0c0c10;--surface:#15151b;--surface-2:#1c1c23;--surface-3:#26262f;--border:#26262f;--border-strong:#3a3a48;--text:#eceef3;--text-muted:#a0a1b0;--text-faint:#6d6e80;--accent:#8b88f5;--accent-text:#14131f;--accent-soft:#23213c;--good:#4ecb9a;--warn:#e0a54a;--bad:#f0736f;--ramp-0:#1b1b22;--ramp-1:#2d2b52;--ramp-2:#443f86;--ramp-3:#5f59bd;--ramp-4:#8b88f5;--ramp-5:#b6b4ff;--shadow:0 1px 2px #0006, 0 8px 24px -14px #0009;--shadow-pop:0 2px 6px #00000080, 0 18px 44px -18px #000000b8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.5}h1,h2,h3{letter-spacing:-.015em;text-wrap:balance;margin:0;font-weight:600}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent);color:var(--accent-text)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid var(--bg);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}*{scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.app-tooltip{z-index:60;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-width:260px;box-shadow:var(--shadow-pop);color:var(--text);pointer-events:none;opacity:0;transition:opacity var(--quick);padding:6px 10px;font-size:.75rem;line-height:1.35;position:fixed;top:0;left:0}.app-tooltip.is-open{opacity:1}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root[data-theme=dracula],:root[data-theme=catppuccin],:root[data-theme=tokyo-night],:root[data-theme=nord],:root[data-theme=gruvbox],:root[data-theme=solarized]{--shadow:0 1px 2px #0006, 0 8px 24px -14px #0009;--shadow-pop:0 2px 6px #00000080, 0 18px 44px -18px #000000b8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dracula]{--bg:#1e1f29;--surface:#282a36;--surface-2:#2f3242;--surface-3:#383b4d;--border:#383b4d;--border-strong:#4d5169;--text:#f8f8f2;--text-muted:#b9bccf;--text-faint:#7d88b3;--accent:#bd93f9;--accent-text:#1e1f29;--accent-soft:#3a3358;--good:#50fa7b;--warn:#ffb86c;--bad:#f55;--ramp-0:#30323f;--ramp-1:#45406a;--ramp-2:#6b5c9e;--ramp-3:#9578cc;--ramp-4:#bd93f9;--ramp-5:#dcc4ff}:root[data-theme=catppuccin]{--bg:#181825;--surface:#1e1e2e;--surface-2:#313244;--surface-3:#45475a;--border:#313244;--border-strong:#585b70;--text:#cdd6f4;--text-muted:#a6adc8;--text-faint:#7f849c;--accent:#cba6f7;--accent-text:#1e1e2e;--accent-soft:#332c4d;--good:#a6e3a1;--warn:#fab387;--bad:#f38ba8;--ramp-0:#292a3c;--ramp-1:#403a5e;--ramp-2:#6b5a8f;--ramp-3:#9c80c4;--ramp-4:#cba6f7;--ramp-5:#e4cffc}:root[data-theme=tokyo-night]{--bg:#16161e;--surface:#1a1b26;--surface-2:#1f2335;--surface-3:#292e42;--border:#292e42;--border-strong:#414868;--text:#c0caf5;--text-muted:#a9b1d6;--text-faint:#737aa2;--accent:#7aa2f7;--accent-text:#16161e;--accent-soft:#283452;--good:#9ece6a;--warn:#e0af68;--bad:#f7768e;--ramp-0:#20233a;--ramp-1:#2d3a62;--ramp-2:#3f5590;--ramp-3:#5b7bc4;--ramp-4:#7aa2f7;--ramp-5:#b1c8ff}:root[data-theme=nord]{--bg:#242933;--surface:#2e3440;--surface-2:#3b4252;--surface-3:#434c5e;--border:#3b4252;--border-strong:#4c566a;--text:#eceff4;--text-muted:#d8dee9;--text-faint:#8b95a8;--accent:#88c0d0;--accent-text:#2e3440;--accent-soft:#364a55;--good:#a3be8c;--warn:#d08770;--bad:#bf616a;--ramp-0:#353c4a;--ramp-1:#3f5a68;--ramp-2:#4f7d8c;--ramp-3:#699fb0;--ramp-4:#88c0d0;--ramp-5:#b5dde6}:root[data-theme=gruvbox]{--bg:#1d2021;--surface:#282828;--surface-2:#32302f;--surface-3:#3c3836;--border:#3c3836;--border-strong:#504945;--text:#ebdbb2;--text-muted:#bdae93;--text-faint:#928374;--accent:#fe8019;--accent-text:#1d2021;--accent-soft:#46362a;--good:#b8bb26;--warn:#fabd2f;--bad:#fb4934;--ramp-0:#302e2c;--ramp-1:#55402a;--ramp-2:#8a5527;--ramp-3:#c56b22;--ramp-4:#fe8019;--ramp-5:#ffb36d}:root[data-theme=solarized]{--bg:#00212b;--surface:#002b36;--surface-2:#073642;--surface-3:#0d4250;--border:#073642;--border-strong:#1e5262;--text:#93a1a1;--text-muted:#839496;--text-faint:#657b83;--accent:#268bd2;--accent-text:#00212b;--accent-soft:#0b3d57;--good:#859900;--warn:#b58900;--bad:#dc322f;--ramp-0:#06333f;--ramp-1:#0b4a63;--ramp-2:#14648f;--ramp-3:#1d78b3;--ramp-4:#268bd2;--ramp-5:#6db6ea}
@@ -0,0 +1 @@
1
+ .panel.svelte-hxsa5u{grid-column:span var(--span);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);flex-direction:column;display:flex}.panel.svelte-hxsa5u header:where(.svelte-hxsa5u){padding:14px var(--pad);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;display:flex}.panel.svelte-hxsa5u header:where(.svelte-hxsa5u) h2:where(.svelte-hxsa5u){letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);font-size:.8125rem;font-weight:600}.panel.svelte-hxsa5u .actions:where(.svelte-hxsa5u){align-items:center;gap:8px;display:flex}.panel.svelte-hxsa5u .body:where(.svelte-hxsa5u){min-width:0;padding:var(--pad);flex-direction:column;flex:1;justify-content:center;display:flex}@media (width<=900px){.panel.svelte-hxsa5u{grid-column:span 12}}.segmented.svelte-1dkbyok{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.segmented.svelte-1dkbyok button:where(.svelte-1dkbyok){color:var(--text-muted);transition:color var(--quick), background var(--quick);background:0 0;border:0;border-radius:999px;padding:5px 12px;font-size:.8125rem;font-weight:500}.segmented.svelte-1dkbyok button:where(.svelte-1dkbyok):hover:not(.on){color:var(--text);background:var(--surface-3)}.segmented.svelte-1dkbyok button:where(.svelte-1dkbyok).on{color:var(--text);background:var(--surface);box-shadow:var(--shadow)}.segmented.svelte-1dkbyok.sm button:where(.svelte-1dkbyok){padding:3px 9px;font-size:.75rem}.select.svelte-vbwhwd{position:relative}.trigger.svelte-vbwhwd{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);transition:border-color var(--quick), color var(--quick);border-radius:999px;align-items:center;gap:7px;padding:6px 11px;font-size:.8125rem;display:flex}.trigger.svelte-vbwhwd:hover{color:var(--text);border-color:var(--border-strong)}.trigger.svelte-vbwhwd.on{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.trigger.svelte-vbwhwd b:where(.svelte-vbwhwd){color:var(--accent-text);background:var(--accent);border-radius:999px;padding:0 6px;font-size:.6875rem;font-weight:600}.menu.svelte-vbwhwd{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:260px;box-shadow:var(--shadow-pop);padding:8px;position:absolute;top:calc(100% + 6px);left:0}.search.svelte-vbwhwd{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;margin-bottom:6px;padding:6px 9px;font-size:.8125rem}.list.svelte-vbwhwd{flex-direction:column;max-height:260px;display:flex;overflow-y:auto}label.svelte-vbwhwd{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:9px;padding:6px 8px;font-size:.8125rem;display:flex}label.svelte-vbwhwd:hover{background:var(--surface-2)}label.svelte-vbwhwd span:where(.svelte-vbwhwd){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}input[type=checkbox].svelte-vbwhwd{accent-color:var(--accent);flex:none}.none.svelte-vbwhwd{text-align:center;color:var(--text-faint);margin:0;padding:12px;font-size:.8125rem}.clear.svelte-vbwhwd{width:100%;color:var(--text-muted);background:var(--surface-2);border-radius:var(--radius-sm);border:0;margin-top:6px;padding:6px;font-size:.8125rem}.clear.svelte-vbwhwd:hover{color:var(--text);background:var(--surface-3)}.figures.svelte-l3stpt{padding:22px var(--pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 40px;display:flex}.lead.svelte-l3stpt{flex-direction:column;gap:2px;display:flex}.lead.svelte-l3stpt strong:where(.svelte-l3stpt){letter-spacing:-.035em;font-size:clamp(2.6rem,6vw,3.4rem);font-weight:600;line-height:1}.cap.svelte-l3stpt{letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);font-size:.75rem;font-weight:500}.lead.svelte-l3stpt .delta:where(.svelte-l3stpt){margin-top:4px}dl.svelte-l3stpt{flex-wrap:wrap;gap:10px 36px;margin:0;display:flex}dl.svelte-l3stpt div:where(.svelte-l3stpt){border-left:1px solid var(--border);flex-direction:column;gap:2px;padding-left:22px;display:flex}dt.svelte-l3stpt{letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);font-size:.75rem;font-weight:500}dd.svelte-l3stpt{letter-spacing:-.02em;align-items:baseline;gap:8px;margin:0;font-size:1.375rem;font-weight:600;display:flex}.delta.svelte-l3stpt{font-variant-numeric:tabular-nums;color:var(--text-faint);font-size:.8125rem;font-weight:550}.delta.svelte-l3stpt.cost.up{color:var(--bad)}.delta.svelte-l3stpt.cost.down{color:var(--good)}dd.svelte-l3stpt .delta:where(.svelte-l3stpt){font-size:.75rem}@media (width<=640px){dl.svelte-l3stpt div:where(.svelte-l3stpt){border-left:0;padding-left:0}}.calendar.svelte-1iu5iby{flex-direction:column;gap:12px;min-width:0;display:flex}svg.svelte-1iu5iby{align-self:center;max-width:100%}.axis.svelte-1iu5iby{fill:var(--text-faint);font-size:10px}.cell.svelte-1iu5iby{transition:opacity var(--quick)}.cell.svelte-1iu5iby:hover{opacity:.7}.cell.svelte-1iu5iby.blank{opacity:.4}.legend.svelte-1iu5iby{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:4px;font-size:.75rem;display:flex}.legend.svelte-1iu5iby i:where(.svelte-1iu5iby){border-radius:3px;width:11px;height:11px}.legend.svelte-1iu5iby i:where(.svelte-1iu5iby).blank{background:var(--ramp-0);opacity:.4}.legend.svelte-1iu5iby .spread:where(.svelte-1iu5iby){margin-left:14px}.legend.svelte-1iu5iby .span:where(.svelte-1iu5iby){margin-right:auto}.trend.svelte-118k1un{--gutter:48px;flex-direction:column;gap:8px;display:flex}.plot.svelte-118k1un{height:200px;padding-left:var(--gutter);position:relative}.tick.svelte-118k1un{left:var(--gutter);border-top:1px dashed var(--border);position:absolute;right:0}.tick.svelte-118k1un span:where(.svelte-118k1un){width:calc(var(--gutter) - 8px);text-align:right;color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:.6875rem;position:absolute;right:calc(100% + 8px);transform:translateY(-50%)}.bars.svelte-118k1un{align-items:flex-end;gap:2px;height:100%;display:flex;position:relative}.column.svelte-118k1un{min-width:3px;height:100%;transition:background var(--quick);border-radius:3px;flex:1;align-items:flex-end;display:flex}.column.svelte-118k1un:hover{background:var(--surface-2)}.stack.svelte-118k1un{border-radius:3px;flex-direction:column-reverse;width:100%;min-height:2px;display:flex;overflow:hidden}.stack.svelte-118k1un span:where(.svelte-118k1un){min-height:1px;display:block}.axis.svelte-118k1un{padding-left:var(--gutter);color:var(--text-faint);justify-content:space-between;font-size:.6875rem;display:flex}.mark.svelte-jlywqn{flex:none;display:block}.bars.svelte-eh60s9{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.row.svelte-eh60s9{border-radius:var(--radius-sm);text-align:left;isolation:isolate;width:100%;transition:background var(--quick);background:0 0;border:0;align-items:center;gap:10px;padding:7px 10px;display:flex;position:relative}.row.svelte-eh60s9:hover{background:var(--surface-2)}.row.svelte-eh60s9.on{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.fill.svelte-eh60s9{z-index:-1;opacity:.16;border-radius:6px;position:absolute;inset:2px auto 2px 2px}.label.svelte-eh60s9{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.label.svelte-eh60s9 b:where(.svelte-eh60s9){text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.label.svelte-eh60s9 em:where(.svelte-eh60s9){color:var(--text-faint);white-space:nowrap;font-size:.75rem;font-style:normal}.dot.svelte-eh60s9{border-radius:3px;flex:none;width:9px;height:9px}.value.svelte-eh60s9{font-size:.875rem;font-weight:550}.empty.svelte-eh60s9{text-align:center;color:var(--text-faint);margin:0;padding:24px 0}.donut.svelte-1o711x0{justify-content:center;display:flex}.donut.svelte-1o711x0 svg:where(.svelte-1o711x0){width:100%;max-width:190px;height:auto}.donut.svelte-1o711x0 circle:where(.svelte-1o711x0){transition:opacity var(--quick)}.donut.svelte-1o711x0 circle:where(.svelte-1o711x0):hover{opacity:.75}.centre.svelte-1o711x0{fill:var(--text);font-size:22px;font-weight:600}.sub.svelte-1o711x0{fill:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.split.svelte-1qwkpf0{flex-direction:column;gap:14px;display:flex}.bar.svelte-1qwkpf0{gap:2px;height:12px;display:flex}.bar.svelte-1qwkpf0 span:where(.svelte-1qwkpf0){min-width:4px;transition:opacity var(--quick);border-radius:3px}.bar.svelte-1qwkpf0 span:where(.svelte-1qwkpf0):hover{opacity:.75}ul.svelte-1qwkpf0{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}li.svelte-1qwkpf0{grid-template-columns:10px 1fr auto auto;align-items:center;gap:10px;padding:3px 0;font-size:.875rem;display:grid}li.svelte-1qwkpf0 i:where(.svelte-1qwkpf0){border-radius:3px;width:9px;height:9px}.name.svelte-1qwkpf0{color:var(--text-muted)}.value.svelte-1qwkpf0{font-weight:550}.share.svelte-1qwkpf0{text-align:right;min-width:48px;color:var(--text-faint)}.clock.svelte-13d36y{flex-direction:column;gap:8px;display:flex}.rows.svelte-13d36y{grid-template-columns:auto 1fr;align-items:center;gap:3px 8px;display:grid}.day.svelte-13d36y{color:var(--text-faint);font-size:.6875rem}.hours.svelte-13d36y{grid-template-columns:repeat(24,1fr);gap:3px;display:grid}.hours.svelte-13d36y i:where(.svelte-13d36y){aspect-ratio:1;background:var(--surface-2);border-radius:50%;place-items:center;display:grid}.hours.svelte-13d36y i:where(.svelte-13d36y):after{content:"";width:calc(var(--dot) * 100%);aspect-ratio:1;background:var(--accent);transition:transform var(--quick);border-radius:50%}.hours.svelte-13d36y i:where(.svelte-13d36y):hover:after{transform:scale(1.25)}.scale.svelte-13d36y{color:var(--text-faint);justify-content:space-between;padding-left:34px;font-size:.6875rem;display:flex}.meter.svelte-tlhxud{flex-direction:column;gap:6px;display:flex}.meter.svelte-tlhxud.stale{opacity:.65}.top.svelte-tlhxud{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.name.svelte-tlhxud{color:var(--text-muted);font-size:.875rem}.pct.svelte-tlhxud{font-size:1rem;font-weight:600}.track.svelte-tlhxud{background:var(--surface-3);border-radius:999px;height:7px;overflow:hidden}.track.svelte-tlhxud span:where(.svelte-tlhxud){height:100%;transition:width .4s var(--ease);border-radius:999px;display:block}.reset.svelte-tlhxud{color:var(--text-faint);font-size:.75rem}.scroll.svelte-1uqtl83{max-height:420px;overflow:auto}table.svelte-1uqtl83{border-collapse:collapse;width:100%;font-size:.875rem}th.svelte-1uqtl83{z-index:1;background:var(--surface);text-align:left;white-space:nowrap;padding:0 10px 8px;position:sticky;top:0}th.svelte-1uqtl83 button:where(.svelte-1uqtl83){letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);background:0 0;border:0;padding:0;font-size:.6875rem;font-weight:600}th.svelte-1uqtl83 button:where(.svelte-1uqtl83):hover{color:var(--text)}th.svelte-1uqtl83[aria-sort=ascending] button:where(.svelte-1uqtl83):after{content:" ↑"}th.svelte-1uqtl83[aria-sort=descending] button:where(.svelte-1uqtl83):after{content:" ↓"}th.svelte-1uqtl83[aria-sort=ascending] button:where(.svelte-1uqtl83),th.svelte-1uqtl83[aria-sort=descending] button:where(.svelte-1uqtl83){color:var(--text-muted)}td.svelte-1uqtl83{border-top:1px solid var(--border);white-space:nowrap;padding:7px 10px}tbody.svelte-1uqtl83 tr:where(.svelte-1uqtl83):hover td:where(.svelte-1uqtl83){background:var(--surface-2)}.right.svelte-1uqtl83{text-align:right}.muted.svelte-1uqtl83{text-overflow:ellipsis;max-width:220px;color:var(--text-muted);overflow:hidden}.tool.svelte-1uqtl83{align-items:center;gap:7px;display:flex}.mono.svelte-1uqtl83{font-family:var(--mono);color:var(--text-muted);font-size:.8125rem}.link.svelte-1uqtl83{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;background:0 0;border:0;padding:0}.link.svelte-1uqtl83:hover{color:var(--accent);text-decoration-color:currentColor}.empty.svelte-1uqtl83{text-align:center;color:var(--text-faint);margin:0;padding:24px 0}.fields.svelte-17j4bwj{position:relative}.trigger.svelte-17j4bwj{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);transition:border-color var(--quick), color var(--quick);border-radius:999px;place-items:center;padding:5px;display:grid}.trigger.svelte-17j4bwj:hover,.trigger.svelte-17j4bwj[aria-expanded=true]{color:var(--text);border-color:var(--border-strong)}.menu.svelte-17j4bwj{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:200px;box-shadow:var(--shadow-pop);flex-direction:column;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0}label.svelte-17j4bwj{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:9px;padding:6px 8px;font-size:.8125rem;display:flex}label.svelte-17j4bwj:hover{background:var(--surface-2)}input.svelte-17j4bwj{accent-color:var(--accent)}.problems.svelte-1vaf4tg{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(440px,100vw - 32px);box-shadow:var(--shadow-pop);position:fixed;inset:auto 16px 16px auto;overflow:hidden}.problems.svelte-1vaf4tg.error{color:var(--bad)}.problems.svelte-1vaf4tg.warn{color:var(--warn)}.problems.svelte-1vaf4tg.info{color:var(--text-muted)}.head.svelte-1vaf4tg{text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:11px 14px;display:flex}.head.svelte-1vaf4tg span:where(.svelte-1vaf4tg){text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;font-size:.875rem;overflow:hidden}.head.svelte-1vaf4tg em:where(.svelte-1vaf4tg){color:var(--text-faint);font-size:.75rem;font-style:normal}.head.svelte-1vaf4tg:hover em:where(.svelte-1vaf4tg){color:var(--text)}ul.svelte-1vaf4tg{flex-direction:column;gap:2px;max-height:320px;margin:0;padding:0 8px 8px;list-style:none;display:flex;overflow-y:auto}li.svelte-1vaf4tg{background:var(--surface-2);border-radius:var(--radius-sm);align-items:flex-start;gap:8px;padding:10px 12px;display:flex}li.svelte-1vaf4tg div:where(.svelte-1vaf4tg){min-width:0;color:var(--text);flex-direction:column;flex:1;gap:2px;font-size:.8125rem;display:flex}li.svelte-1vaf4tg b:where(.svelte-1vaf4tg){letter-spacing:.05em;text-transform:uppercase;color:currentColor;font-size:.6875rem;font-weight:600}li.svelte-1vaf4tg .hint:where(.svelte-1vaf4tg){color:var(--text-muted)}li.svelte-1vaf4tg time:where(.svelte-1vaf4tg){color:var(--text-faint);font-size:.6875rem}.close.svelte-1vaf4tg{width:22px;height:22px;color:var(--text-faint);background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.close.svelte-1vaf4tg:hover{color:var(--text);background:var(--surface-3)}dialog.svelte-anx9w7{width:min(560px,100vw - 32px);max-height:min(760px,100vh - 48px);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:0}dialog.svelte-anx9w7[open]{grid-template-rows:auto minmax(0,1fr);display:grid}dialog.svelte-anx9w7::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0a1080}header.svelte-anx9w7{padding:16px var(--pad);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}header.svelte-anx9w7 h2:where(.svelte-anx9w7){font-size:1rem}.close.svelte-anx9w7{width:28px;height:28px;color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:0;place-items:center;display:grid}.close.svelte-anx9w7:hover{color:var(--text);background:var(--surface-2)}.body.svelte-anx9w7{padding:var(--pad);flex-direction:column;gap:26px;display:flex;overflow-y:auto}section.svelte-anx9w7{flex-direction:column;gap:10px;display:flex}h3.svelte-anx9w7{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-size:.75rem;font-weight:600}.field.svelte-anx9w7{justify-content:space-between;align-items:center;gap:16px;font-size:.875rem;display:flex}select.svelte-anx9w7,input.svelte-anx9w7:not([type=checkbox]){background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 9px;font-size:.8125rem}.check.svelte-anx9w7{align-items:flex-start;gap:10px;font-size:.875rem;display:flex}.check.svelte-anx9w7 input:where(.svelte-anx9w7){accent-color:var(--accent);margin-top:3px}.check.svelte-anx9w7 em:where(.svelte-anx9w7){color:var(--text-faint);font-size:.75rem;font-style:normal;display:block}.sources.svelte-anx9w7{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sources.svelte-anx9w7 li:where(.svelte-anx9w7){background:var(--surface-2);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.sources.svelte-anx9w7 b:where(.svelte-anx9w7){font-size:.875rem;font-weight:550;display:block}code.svelte-anx9w7{font-family:var(--mono);color:var(--text-muted);overflow-wrap:anywhere;font-size:.75rem}.badge.svelte-anx9w7{color:var(--text-faint);background:var(--surface-3);border-radius:999px;flex:none;padding:2px 8px;font-size:.6875rem}.badge.svelte-anx9w7.on{color:var(--good)}.note.svelte-anx9w7{color:var(--text-muted);margin:0;font-size:.8125rem;line-height:1.55}.row.svelte-anx9w7{align-items:center;gap:12px;display:flex}.action.svelte-anx9w7{color:var(--accent-text);background:var(--accent);border-radius:var(--radius-sm);border:0;padding:6px 13px;font-size:.8125rem;font-weight:550}.action.svelte-anx9w7:hover{filter:brightness(1.08)}.prices.svelte-anx9w7{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.prices.svelte-anx9w7 li:where(.svelte-anx9w7){align-items:center;gap:10px;font-size:.8125rem;display:flex}.prices.svelte-anx9w7 li:where(.svelte-anx9w7) code:where(.svelte-anx9w7){flex:1}.prices.svelte-anx9w7 li:where(.svelte-anx9w7) button:where(.svelte-anx9w7){color:var(--text-muted);background:var(--surface-2);border:0;border-radius:6px;padding:2px 8px;font-size:.75rem}.prices.svelte-anx9w7 li:where(.svelte-anx9w7) button:where(.svelte-anx9w7):hover{color:var(--bad)}.add.svelte-anx9w7{grid-template-columns:1fr 72px 72px auto;gap:6px;display:grid}.logo.svelte-nck4wt{flex:none;display:block}.bar.svelte-1uha8ag{z-index:30;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px clamp(16px,3vw,32px);display:flex;position:sticky;top:0}.brand.svelte-1uha8ag{color:var(--text);letter-spacing:-.01em;align-items:center;gap:10px;font-weight:600;text-decoration:none;display:flex}.filters.svelte-1uha8ag{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.reset.svelte-1uha8ag{color:var(--text-muted);background:0 0;border:0;border-radius:999px;padding:6px 11px;font-size:.8125rem}.reset.svelte-1uha8ag:hover{color:var(--text);background:var(--surface-2)}.tools.svelte-1uha8ag{gap:6px;display:flex}.icon.svelte-1uha8ag{width:32px;height:32px;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);transition:color var(--quick), border-color var(--quick);place-items:center;display:grid}.icon.svelte-1uha8ag:hover{color:var(--text);border-color:var(--border-strong)}.icon.svelte-1uha8ag.busy svg:where(.svelte-1uha8ag){animation:.9s linear infinite svelte-1uha8ag-spin}@keyframes svelte-1uha8ag-spin{to{transform:rotate(360deg)}}main.svelte-1uha8ag{gap:var(--gap);max-width:1560px;padding:var(--gap) clamp(16px, 3vw, 32px) 64px;flex-direction:column;margin:0 auto;display:flex}.grid.svelte-1uha8ag{gap:var(--gap);grid-template-columns:repeat(12,1fr);display:grid}.meters.svelte-1uha8ag{flex-direction:column;gap:16px;display:flex}.share.svelte-1uha8ag{grid-template-columns:minmax(0,190px) 1fr;align-content:center;align-items:center;gap:20px;height:100%;display:grid}.key.svelte-1uha8ag{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.key.svelte-1uha8ag li:where(.svelte-1uha8ag){grid-template-columns:14px 1fr auto;align-items:center;gap:9px;font-size:.8125rem;display:grid}.key.svelte-1uha8ag span:where(.svelte-1uha8ag){text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);overflow:hidden}.key.svelte-1uha8ag b:where(.svelte-1uha8ag){font-weight:550}.aside.svelte-1uha8ag{color:var(--text-faint);margin:14px 0 0;font-size:.8125rem}.empty.svelte-1uha8ag{color:var(--text-faint);margin:0;padding:16px 0;font-size:.875rem}footer.svelte-1uha8ag{color:var(--text-faint);flex-wrap:wrap;justify-content:space-between;gap:8px 20px;font-size:.75rem;display:flex}@media (width<=700px){.bar.svelte-1uha8ag{position:static}}@media (width<=900px){.share.svelte-1uha8ag{grid-template-columns:1fr;justify-items:center}}
@@ -0,0 +1,2 @@
1
+ import { n as timeout_env, t as env } from "./adapter-node-env.js";
2
+ export { env, timeout_env };
@@ -0,0 +1,74 @@
1
+ import { n as format_listening_address, t as handler } from "./adapter-node-handler.js";
2
+ import { n as timeout_env, t as env } from "./adapter-node-env.js";
3
+ import { rm } from "node:fs/promises";
4
+ import fs from "node:fs";
5
+ import http from "node:http";
6
+ import process from "node:process";
7
+ //#region node_modules/@sveltejs/adapter-node/src/index.js
8
+ var path = env("SOCKET_PATH", false);
9
+ var host = env("HOST", "0.0.0.0");
10
+ var port = env("PORT", !path && "3000");
11
+ var shutdown_timeout = parseInt(env("SHUTDOWN_TIMEOUT", "30"));
12
+ var idle_timeout = parseInt(env("IDLE_TIMEOUT", "0"));
13
+ var listen_pid = parseInt(env("LISTEN_PID", "0"));
14
+ var listen_fds = parseInt(env("LISTEN_FDS", "0"));
15
+ var SD_LISTEN_FDS_START = 3;
16
+ if (listen_pid !== 0 && listen_pid !== process.pid) throw new Error(`received LISTEN_PID ${listen_pid} but current process id is ${process.pid}`);
17
+ if (listen_fds > 1) throw new Error(`only one socket is allowed for socket activation, but LISTEN_FDS was set to ${listen_fds}`);
18
+ var socket_activation = listen_pid === process.pid && listen_fds === 1;
19
+ var requests = 0;
20
+ /** @type {NodeJS.Timeout | void} */
21
+ var shutdown_timeout_id;
22
+ /** @type {NodeJS.Timeout | void} */
23
+ var idle_timeout_id;
24
+ var httpServer = http.createServer();
25
+ var keep_alive_timeout = timeout_env("KEEP_ALIVE_TIMEOUT");
26
+ if (keep_alive_timeout !== void 0) httpServer.keepAliveTimeout = keep_alive_timeout * 1e3;
27
+ var headers_timeout = timeout_env("HEADERS_TIMEOUT");
28
+ if (headers_timeout !== void 0) httpServer.headersTimeout = headers_timeout * 1e3;
29
+ httpServer.on("request", (req, res) => {
30
+ requests++;
31
+ if (socket_activation && idle_timeout_id) idle_timeout_id = clearTimeout(idle_timeout_id);
32
+ req.on("close", () => {
33
+ requests--;
34
+ if (shutdown_timeout_id) httpServer.closeIdleConnections();
35
+ if (requests === 0 && socket_activation && idle_timeout) idle_timeout_id = setTimeout(() => graceful_shutdown("IDLE"), idle_timeout * 1e3);
36
+ });
37
+ return handler(req, res, () => {
38
+ res.statusCode = 404;
39
+ res.end();
40
+ });
41
+ });
42
+ if (socket_activation) httpServer.listen({ fd: SD_LISTEN_FDS_START }, () => {
43
+ console.log(`Listening on file descriptor ${SD_LISTEN_FDS_START}`);
44
+ });
45
+ else {
46
+ if (path) try {
47
+ if (fs.statSync(path).size === 0) await rm(path);
48
+ } catch {}
49
+ httpServer.listen({
50
+ path,
51
+ host,
52
+ port
53
+ }, () => {
54
+ console.log(`Listening on ${format_listening_address(path, host, port, httpServer.address())}`);
55
+ });
56
+ }
57
+ /** @param {'SIGINT' | 'SIGTERM' | 'IDLE'} reason */
58
+ function graceful_shutdown(reason) {
59
+ if (shutdown_timeout_id) return;
60
+ httpServer.closeIdleConnections();
61
+ httpServer.close((error) => {
62
+ if (error) return;
63
+ if (shutdown_timeout_id) clearTimeout(shutdown_timeout_id);
64
+ if (idle_timeout_id) clearTimeout(idle_timeout_id);
65
+ process.emit("sveltekit:shutdown", reason);
66
+ });
67
+ shutdown_timeout_id = setTimeout(() => httpServer.closeAllConnections(), shutdown_timeout * 1e3);
68
+ }
69
+ process.on("SIGTERM", graceful_shutdown);
70
+ process.on("SIGINT", graceful_shutdown);
71
+ //#endregion
72
+ export { host, path, port, httpServer as server };
73
+
74
+ //# sourceMappingURL=adapter-index.js.map
@@ -0,0 +1,63 @@
1
+ import process from "node:process";
2
+ import { env_prefix } from "../adapter-node.js";
3
+ //#region node_modules/@sveltejs/adapter-node/src/env.js
4
+ var expected = /* @__PURE__ */ new Set([
5
+ "SOCKET_PATH",
6
+ "HOST",
7
+ "PORT",
8
+ "XFF_DEPTH",
9
+ "ADDRESS_HEADER",
10
+ "PROTOCOL_HEADER",
11
+ "HOST_HEADER",
12
+ "PORT_HEADER",
13
+ "BODY_SIZE_LIMIT",
14
+ "SHUTDOWN_TIMEOUT",
15
+ "IDLE_TIMEOUT",
16
+ "KEEP_ALIVE_TIMEOUT",
17
+ "HEADERS_TIMEOUT"
18
+ ]);
19
+ var expected_unprefixed = /* @__PURE__ */ new Set(["LISTEN_PID", "LISTEN_FDS"]);
20
+ if (env_prefix) {
21
+ for (const name in process.env) if (name.startsWith(env_prefix)) {
22
+ const unprefixed = name.slice(env_prefix.length);
23
+ if (!expected.has(unprefixed)) throw new Error(`You should change envPrefix (${env_prefix}) to avoid conflicts with existing environment variables — unexpectedly saw ${name}`);
24
+ }
25
+ }
26
+ /**
27
+ * @param {string} name
28
+ * @param {any} [fallback]
29
+ */
30
+ function env(name, fallback) {
31
+ const prefixed = (expected_unprefixed.has(name) ? "" : env_prefix) + name;
32
+ return prefixed in process.env ? process.env[prefixed] : fallback;
33
+ }
34
+ var integer_regexp = /^\d+$/;
35
+ /**
36
+ * Throw a consistently-structured parsing error for environment variables.
37
+ * @param {string} name
38
+ * @param {any} value
39
+ * @param {string} description
40
+ * @returns {never}
41
+ */
42
+ function parsing_error(name, value, description) {
43
+ throw new Error(`Invalid value for environment variable ${name}: ${JSON.stringify(value)} (${description})`);
44
+ }
45
+ /**
46
+ * Check the environment for a timeout value (non-negative integer) in seconds.
47
+ * @param {string} name
48
+ * @param {number} [fallback]
49
+ * @returns {number | undefined}
50
+ */
51
+ function timeout_env(name, fallback) {
52
+ const raw = env(name, fallback);
53
+ if (!raw) return fallback;
54
+ if (!integer_regexp.test(raw)) parsing_error(name, raw, "should be a non-negative integer");
55
+ const parsed = Number.parseInt(raw, 10);
56
+ if (Number.isNaN(parsed)) parsing_error(name, raw, "should be a non-negative integer");
57
+ if (parsed < 0) parsing_error(name, raw, "should be a non-negative integer");
58
+ return parsed;
59
+ }
60
+ //#endregion
61
+ export { timeout_env as n, env as t };
62
+
63
+ //# sourceMappingURL=adapter-node-env.js.map