@hot-updater/console 0.30.1 → 0.30.3

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 (39) hide show
  1. package/.output/nitro.json +3 -3
  2. package/.output/public/assets/dist-BKho179_.js +53 -0
  3. package/.output/public/assets/main-CoPJhqkz.js +10 -0
  4. package/.output/public/assets/routes-CVEbccVq.js +10 -0
  5. package/.output/server/__tanstack-start-server-fn-resolver-DB7Vwz3A.mjs +61 -0
  6. package/.output/server/_chunks/ssr-renderer.mjs +2 -2
  7. package/.output/server/_libs/@radix-ui/react-alert-dialog+[...].mjs +3 -7
  8. package/.output/server/_libs/@radix-ui/react-select+[...].mjs +1 -1
  9. package/.output/server/_libs/@tanstack/react-form+[...].mjs +7 -7
  10. package/.output/server/_libs/@tanstack/react-router+[...].mjs +9 -12
  11. package/.output/server/_libs/@tanstack/react-table+[...].mjs +11 -1
  12. package/.output/server/_libs/h3+rou3+srvx.mjs +101 -49
  13. package/.output/server/_libs/hookable.mjs +2 -2
  14. package/.output/server/_libs/isaacs__fs-minipass+minipass.mjs +35 -1
  15. package/.output/server/_libs/jszip+[...].mjs +1 -1
  16. package/.output/server/_libs/lucide-react.mjs +7 -1
  17. package/.output/server/_libs/minizlib.mjs +25 -2
  18. package/.output/server/_libs/radix-ui__react-direction.mjs +2 -0
  19. package/.output/server/_libs/radix-ui__react-separator.mjs +1 -2
  20. package/.output/server/_libs/semver.mjs +1 -0
  21. package/.output/server/_libs/{tar.mjs → tar+yallist.mjs} +1346 -24
  22. package/.output/server/_libs/unctx.mjs +82 -0
  23. package/.output/server/_ssr/{api-rpc-Cr26KHOK.mjs → api-rpc-kX2sZt80.mjs} +14 -15
  24. package/.output/server/_ssr/{config.server-TLOyHGWx.mjs → config.server-8YQWTTc0.mjs} +1 -1
  25. package/.output/server/_ssr/createServerFn-CdeRXnVy.mjs +320 -0
  26. package/.output/server/_ssr/{deleteBundle-DWUxu9-K.mjs → deleteBundle-BiJvjt0k.mjs} +1 -1
  27. package/.output/server/_ssr/{extract-timestamp-from-uuidv7-B90UBADU.mjs → extract-timestamp-from-uuidv7-DO_lXhMa.mjs} +1 -1
  28. package/.output/server/_ssr/{promoteBundle-DtMHuubR.mjs → promoteBundle-BBOSMtwu.mjs} +3 -3
  29. package/.output/server/_ssr/{router-CdSyFCJa.mjs → router-fogqFSFT.mjs} +4 -4
  30. package/.output/server/_ssr/{routes-D8wYJKp6.mjs → routes-CgYYFBNT.mjs} +7 -6
  31. package/.output/server/_ssr/{sidebar-DXng0IOP.mjs → sidebar-B6a7DDef.mjs} +1 -1
  32. package/.output/server/_ssr/ssr.mjs +7 -380
  33. package/.output/server/_ssr/start-DsRb6TkZ.mjs +4 -0
  34. package/.output/server/{_tanstack-start-manifest_v-CKbZoQZl.mjs → _tanstack-start-manifest_v-OXy-e32b.mjs} +4 -4
  35. package/.output/server/index.mjs +59 -41
  36. package/package.json +8 -8
  37. package/.output/public/assets/main-BUiDyfP0.js +0 -61
  38. package/.output/public/assets/routes-D5XuYXnS.js +0 -10
  39. package/.output/server/_ssr/start-DQK0r85G.mjs +0 -4
@@ -0,0 +1,82 @@
1
+ //#region ../../node_modules/.pnpm/nitro@3.0.260415-beta_@electric-sql+pglite@0.2.17_@libsql+client@0.15.15_better-sqlite3_97f61cc24ed75a40553113785315eaba/node_modules/nitro/dist/node_modules/unctx/dist/index.mjs
2
+ function createContext(opts = {}) {
3
+ let currentInstance;
4
+ let isSingleton = false;
5
+ const checkConflict = (instance) => {
6
+ if (currentInstance && currentInstance !== instance) throw new Error("Context conflict");
7
+ };
8
+ let als;
9
+ if (opts.asyncContext) {
10
+ const _AsyncLocalStorage = opts.AsyncLocalStorage || globalThis.AsyncLocalStorage;
11
+ if (_AsyncLocalStorage) als = new _AsyncLocalStorage();
12
+ else console.warn("[unctx] `AsyncLocalStorage` is not provided.");
13
+ }
14
+ const _getCurrentInstance = () => {
15
+ if (als) {
16
+ const instance = als.getStore();
17
+ if (instance !== void 0) return instance;
18
+ }
19
+ return currentInstance;
20
+ };
21
+ return {
22
+ use: () => {
23
+ const _instance = _getCurrentInstance();
24
+ if (_instance === void 0) throw new Error("Context is not available");
25
+ return _instance;
26
+ },
27
+ tryUse: () => {
28
+ return _getCurrentInstance();
29
+ },
30
+ set: (instance, replace) => {
31
+ if (!replace) checkConflict(instance);
32
+ currentInstance = instance;
33
+ isSingleton = true;
34
+ },
35
+ unset: () => {
36
+ currentInstance = void 0;
37
+ isSingleton = false;
38
+ },
39
+ call: (instance, callback) => {
40
+ checkConflict(instance);
41
+ currentInstance = instance;
42
+ try {
43
+ return als ? als.run(instance, callback) : callback();
44
+ } finally {
45
+ if (!isSingleton) currentInstance = void 0;
46
+ }
47
+ },
48
+ async callAsync(instance, callback) {
49
+ currentInstance = instance;
50
+ const onRestore = () => {
51
+ currentInstance = instance;
52
+ };
53
+ const onLeave = () => currentInstance === instance ? onRestore : void 0;
54
+ asyncHandlers.add(onLeave);
55
+ try {
56
+ const r = als ? als.run(instance, callback) : callback();
57
+ if (!isSingleton) currentInstance = void 0;
58
+ return await r;
59
+ } finally {
60
+ asyncHandlers.delete(onLeave);
61
+ }
62
+ }
63
+ };
64
+ }
65
+ function createNamespace(defaultOpts = {}) {
66
+ const contexts = {};
67
+ return { get(key, opts = {}) {
68
+ if (!contexts[key]) contexts[key] = createContext({
69
+ ...defaultOpts,
70
+ ...opts
71
+ });
72
+ return contexts[key];
73
+ } };
74
+ }
75
+ var _globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : {};
76
+ var globalKey = "__unctx__";
77
+ var defaultNamespace = _globalThis[globalKey] || (_globalThis[globalKey] = createNamespace());
78
+ var getContext = (key, opts = {}) => defaultNamespace.get(key, opts);
79
+ var asyncHandlersKey = "__unctx_async_handlers__";
80
+ var asyncHandlers = _globalThis[asyncHandlersKey] || (_globalThis[asyncHandlersKey] = /* @__PURE__ */ new Set());
81
+ //#endregion
82
+ export { getContext as t };
@@ -1,6 +1,5 @@
1
- import "../_libs/@radix-ui/react-alert-dialog+[...].mjs";
2
- import { n as createServerFn, r as TSS_SERVER_FUNCTION } from "./ssr.mjs";
3
- //#region node_modules/.nitro/vite/services/ssr/assets/api-rpc-Cr26KHOK.js
1
+ import { c as createServerFn, i as TSS_SERVER_FUNCTION } from "./createServerFn-CdeRXnVy.mjs";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/api-rpc-kX2sZt80.js
4
3
  var createServerRpc = (serverFnMeta, splitImportFn) => {
5
4
  const url = "/_serverFn/" + serverFnMeta.id;
6
5
  return Object.assign(splitImportFn, {
@@ -16,7 +15,7 @@ var getConfig_createServerFn_handler = createServerRpc({
16
15
  }, (opts) => getConfig.__executeServer(opts));
17
16
  var getConfig = createServerFn().handler(getConfig_createServerFn_handler, async () => {
18
17
  try {
19
- const { prepareConfig } = await import("./config.server-TLOyHGWx.mjs");
18
+ const { prepareConfig } = await import("./config.server-8YQWTTc0.mjs");
20
19
  const { config } = await prepareConfig();
21
20
  return { console: config.console };
22
21
  } catch (error) {
@@ -31,7 +30,7 @@ var getChannels_createServerFn_handler = createServerRpc({
31
30
  }, (opts) => getChannels.__executeServer(opts));
32
31
  var getChannels = createServerFn().handler(getChannels_createServerFn_handler, async () => {
33
32
  try {
34
- const { prepareConfig } = await import("./config.server-TLOyHGWx.mjs");
33
+ const { prepareConfig } = await import("./config.server-8YQWTTc0.mjs");
35
34
  const { databasePlugin } = await prepareConfig();
36
35
  return await databasePlugin.getChannels() ?? [];
37
36
  } catch (error) {
@@ -46,7 +45,7 @@ var getConfigLoaded_createServerFn_handler = createServerRpc({
46
45
  }, (opts) => getConfigLoaded.__executeServer(opts));
47
46
  var getConfigLoaded = createServerFn().handler(getConfigLoaded_createServerFn_handler, async () => {
48
47
  try {
49
- const { isConfigLoaded } = await import("./config.server-TLOyHGWx.mjs");
48
+ const { isConfigLoaded } = await import("./config.server-8YQWTTc0.mjs");
50
49
  return { configLoaded: isConfigLoaded() };
51
50
  } catch (error) {
52
51
  console.error("Error during config loaded retrieval:", error);
@@ -60,7 +59,7 @@ var getBundles_createServerFn_handler = createServerRpc({
60
59
  }, (opts) => getBundles.__executeServer(opts));
61
60
  var getBundles = createServerFn({ method: "GET" }).inputValidator((input) => input).handler(getBundles_createServerFn_handler, async ({ data }) => {
62
61
  try {
63
- const { prepareConfig } = await import("./config.server-TLOyHGWx.mjs");
62
+ const { prepareConfig } = await import("./config.server-8YQWTTc0.mjs");
64
63
  const query = {
65
64
  channel: data?.channel ?? void 0,
66
65
  platform: data?.platform ?? void 0,
@@ -103,7 +102,7 @@ var getBundle_createServerFn_handler = createServerRpc({
103
102
  }, (opts) => getBundle.__executeServer(opts));
104
103
  var getBundle = createServerFn({ method: "GET" }).inputValidator((input) => input).handler(getBundle_createServerFn_handler, async ({ data }) => {
105
104
  try {
106
- const { prepareConfig } = await import("./config.server-TLOyHGWx.mjs");
105
+ const { prepareConfig } = await import("./config.server-8YQWTTc0.mjs");
107
106
  const { databasePlugin } = await prepareConfig();
108
107
  return await databasePlugin.getBundleById(data.bundleId) ?? null;
109
108
  } catch (error) {
@@ -118,7 +117,7 @@ var getBundleDownloadUrl_createServerFn_handler = createServerRpc({
118
117
  }, (opts) => getBundleDownloadUrl.__executeServer(opts));
119
118
  var getBundleDownloadUrl = createServerFn({ method: "GET" }).inputValidator((input) => input).handler(getBundleDownloadUrl_createServerFn_handler, async ({ data }) => {
120
119
  try {
121
- const { prepareConfig } = await import("./config.server-TLOyHGWx.mjs");
120
+ const { prepareConfig } = await import("./config.server-8YQWTTc0.mjs");
122
121
  const { databasePlugin, storagePlugin } = await prepareConfig();
123
122
  const bundle = await databasePlugin.getBundleById(data.bundleId);
124
123
  if (!bundle) throw new Error("Bundle not found");
@@ -143,7 +142,7 @@ var updateBundle_createServerFn_handler = createServerRpc({
143
142
  }, (opts) => updateBundle.__executeServer(opts));
144
143
  var updateBundle = createServerFn({ method: "POST" }).inputValidator((input) => input).handler(updateBundle_createServerFn_handler, async ({ data }) => {
145
144
  try {
146
- const { prepareConfig } = await import("./config.server-TLOyHGWx.mjs");
145
+ const { prepareConfig } = await import("./config.server-8YQWTTc0.mjs");
147
146
  const { databasePlugin } = await prepareConfig();
148
147
  await databasePlugin.updateBundle(data.bundleId, data.bundle);
149
148
  await databasePlugin.commitBundle();
@@ -165,8 +164,8 @@ var promoteBundle_createServerFn_handler = createServerRpc({
165
164
  }, (opts) => promoteBundle.__executeServer(opts));
166
165
  var promoteBundle = createServerFn({ method: "POST" }).inputValidator((input) => input).handler(promoteBundle_createServerFn_handler, async ({ data }) => {
167
166
  try {
168
- const { prepareConfig } = await import("./config.server-TLOyHGWx.mjs");
169
- const { promoteBundle: promoteBundleWithConfig } = await import("./promoteBundle-DtMHuubR.mjs");
167
+ const { prepareConfig } = await import("./config.server-8YQWTTc0.mjs");
168
+ const { promoteBundle: promoteBundleWithConfig } = await import("./promoteBundle-BBOSMtwu.mjs");
170
169
  const { config, databasePlugin, storagePlugin } = await prepareConfig();
171
170
  return {
172
171
  success: true,
@@ -188,7 +187,7 @@ var createBundle_createServerFn_handler = createServerRpc({
188
187
  }, (opts) => createBundle.__executeServer(opts));
189
188
  var createBundle = createServerFn({ method: "POST" }).inputValidator((input) => input).handler(createBundle_createServerFn_handler, async ({ data }) => {
190
189
  try {
191
- const { prepareConfig } = await import("./config.server-TLOyHGWx.mjs");
190
+ const { prepareConfig } = await import("./config.server-8YQWTTc0.mjs");
192
191
  const { databasePlugin } = await prepareConfig();
193
192
  await databasePlugin.appendBundle(data);
194
193
  await databasePlugin.commitBundle();
@@ -208,8 +207,8 @@ var deleteBundle_createServerFn_handler = createServerRpc({
208
207
  }, (opts) => deleteBundle.__executeServer(opts));
209
208
  var deleteBundle = createServerFn({ method: "POST" }).inputValidator((input) => input).handler(deleteBundle_createServerFn_handler, async ({ data }) => {
210
209
  try {
211
- const { prepareConfig } = await import("./config.server-TLOyHGWx.mjs");
212
- const { deleteBundle: deleteBundleWithStorage } = await import("./deleteBundle-DWUxu9-K.mjs");
210
+ const { prepareConfig } = await import("./config.server-8YQWTTc0.mjs");
211
+ const { deleteBundle: deleteBundleWithStorage } = await import("./deleteBundle-BiJvjt0k.mjs");
213
212
  const { databasePlugin, storagePlugin } = await prepareConfig();
214
213
  await deleteBundleWithStorage(data, {
215
214
  databasePlugin,
@@ -1,5 +1,5 @@
1
1
  import { loadConfig } from "@hot-updater/cli-tools";
2
- //#region node_modules/.nitro/vite/services/ssr/assets/config.server-TLOyHGWx.js
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/config.server-8YQWTTc0.js
3
3
  var configPromise = null;
4
4
  var storagePluginPromise = null;
5
5
  var loadCachedConfig = async () => {
@@ -0,0 +1,320 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/createServerFn-CdeRXnVy.js
3
+ function splitSetCookieString(cookiesString) {
4
+ if (Array.isArray(cookiesString)) return cookiesString.flatMap((c) => splitSetCookieString(c));
5
+ if (typeof cookiesString !== "string") return [];
6
+ const cookiesStrings = [];
7
+ let pos = 0;
8
+ let start;
9
+ let ch;
10
+ let lastComma;
11
+ let nextStart;
12
+ let cookiesSeparatorFound;
13
+ const skipWhitespace = () => {
14
+ while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) pos += 1;
15
+ return pos < cookiesString.length;
16
+ };
17
+ const notSpecialChar = () => {
18
+ ch = cookiesString.charAt(pos);
19
+ return ch !== "=" && ch !== ";" && ch !== ",";
20
+ };
21
+ while (pos < cookiesString.length) {
22
+ start = pos;
23
+ cookiesSeparatorFound = false;
24
+ while (skipWhitespace()) {
25
+ ch = cookiesString.charAt(pos);
26
+ if (ch === ",") {
27
+ lastComma = pos;
28
+ pos += 1;
29
+ skipWhitespace();
30
+ nextStart = pos;
31
+ while (pos < cookiesString.length && notSpecialChar()) pos += 1;
32
+ if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") {
33
+ cookiesSeparatorFound = true;
34
+ pos = nextStart;
35
+ cookiesStrings.push(cookiesString.slice(start, lastComma));
36
+ start = pos;
37
+ } else pos = lastComma + 1;
38
+ } else pos += 1;
39
+ }
40
+ if (!cookiesSeparatorFound || pos >= cookiesString.length) cookiesStrings.push(cookiesString.slice(start));
41
+ }
42
+ return cookiesStrings;
43
+ }
44
+ function toHeadersInstance(init) {
45
+ if (init instanceof Headers) return init;
46
+ else if (Array.isArray(init)) return new Headers(init);
47
+ else if (typeof init === "object") return new Headers(init);
48
+ else return null;
49
+ }
50
+ function mergeHeaders(...headers) {
51
+ return headers.reduce((acc, header) => {
52
+ const headersInstance = toHeadersInstance(header);
53
+ if (!headersInstance) return acc;
54
+ for (const [key, value] of headersInstance.entries()) if (key === "set-cookie") splitSetCookieString(value).forEach((cookie) => acc.append("set-cookie", cookie));
55
+ else acc.set(key, value);
56
+ return acc;
57
+ }, new Headers());
58
+ }
59
+ function redirect(opts) {
60
+ opts.statusCode = opts.statusCode || opts.code || 307;
61
+ if (!opts._builtLocation && !opts.reloadDocument && typeof opts.href === "string") try {
62
+ new URL(opts.href);
63
+ opts.reloadDocument = true;
64
+ } catch {}
65
+ const headers = new Headers(opts.headers);
66
+ if (opts.href && headers.get("Location") === null) headers.set("Location", opts.href);
67
+ const response = new Response(null, {
68
+ status: opts.statusCode,
69
+ headers
70
+ });
71
+ response.options = opts;
72
+ if (opts.throw) throw response;
73
+ return response;
74
+ }
75
+ function isRedirect(obj) {
76
+ return obj instanceof Response && !!obj.options;
77
+ }
78
+ function isResolvedRedirect(obj) {
79
+ return isRedirect(obj) && !!obj.options.href;
80
+ }
81
+ function parseRedirect(obj) {
82
+ if (obj !== null && typeof obj === "object" && obj.isSerializedRedirect) return redirect(obj);
83
+ }
84
+ var TSS_FORMDATA_CONTEXT = "__TSS_CONTEXT";
85
+ var TSS_SERVER_FUNCTION = /* @__PURE__ */ Symbol.for("TSS_SERVER_FUNCTION");
86
+ var TSS_SERVER_FUNCTION_FACTORY = /* @__PURE__ */ Symbol.for("TSS_SERVER_FUNCTION_FACTORY");
87
+ var X_TSS_SERIALIZED = "x-tss-serialized";
88
+ var X_TSS_RAW_RESPONSE = "x-tss-raw";
89
+ var TSS_CONTENT_TYPE_FRAMED = "application/x-tss-framed";
90
+ var FrameType = {
91
+ JSON: 0,
92
+ CHUNK: 1,
93
+ END: 2,
94
+ ERROR: 3
95
+ };
96
+ var TSS_CONTENT_TYPE_FRAMED_VERSIONED = `${TSS_CONTENT_TYPE_FRAMED}; v=1`;
97
+ var GLOBAL_STORAGE_KEY = /* @__PURE__ */ Symbol.for("tanstack-start:start-storage-context");
98
+ var globalObj = globalThis;
99
+ if (!globalObj[GLOBAL_STORAGE_KEY]) globalObj[GLOBAL_STORAGE_KEY] = new AsyncLocalStorage();
100
+ var startStorage = globalObj[GLOBAL_STORAGE_KEY];
101
+ async function runWithStartContext(context, fn) {
102
+ return startStorage.run(context, fn);
103
+ }
104
+ function getStartContext(opts) {
105
+ const context = startStorage.getStore();
106
+ if (!context && opts?.throwIfNotFound !== false) throw new Error(`No Start context found in AsyncLocalStorage. Make sure you are using the function within the server runtime.`);
107
+ return context;
108
+ }
109
+ var getStartOptions = () => getStartContext().startOptions;
110
+ var getStartContextServerOnly = getStartContext;
111
+ function isSafeKey(key) {
112
+ return key !== "__proto__" && key !== "constructor" && key !== "prototype";
113
+ }
114
+ function safeObjectMerge(target, source) {
115
+ const result = /* @__PURE__ */ Object.create(null);
116
+ if (target) {
117
+ for (const key of Object.keys(target)) if (isSafeKey(key)) result[key] = target[key];
118
+ }
119
+ if (source && typeof source === "object") {
120
+ for (const key of Object.keys(source)) if (isSafeKey(key)) result[key] = source[key];
121
+ }
122
+ return result;
123
+ }
124
+ function createNullProtoObject(source) {
125
+ if (!source) return /* @__PURE__ */ Object.create(null);
126
+ const obj = /* @__PURE__ */ Object.create(null);
127
+ for (const key of Object.keys(source)) if (isSafeKey(key)) obj[key] = source[key];
128
+ return obj;
129
+ }
130
+ var createServerFn = (options, __opts) => {
131
+ const resolvedOptions = __opts || options || {};
132
+ if (typeof resolvedOptions.method === "undefined") resolvedOptions.method = "GET";
133
+ const res = {
134
+ options: resolvedOptions,
135
+ middleware: (middleware) => {
136
+ const newMiddleware = [...resolvedOptions.middleware || []];
137
+ middleware.map((m) => {
138
+ if (TSS_SERVER_FUNCTION_FACTORY in m) {
139
+ if (m.options.middleware) newMiddleware.push(...m.options.middleware);
140
+ } else newMiddleware.push(m);
141
+ });
142
+ const res2 = createServerFn(void 0, {
143
+ ...resolvedOptions,
144
+ middleware: newMiddleware
145
+ });
146
+ res2[TSS_SERVER_FUNCTION_FACTORY] = true;
147
+ return res2;
148
+ },
149
+ inputValidator: (inputValidator) => {
150
+ return createServerFn(void 0, {
151
+ ...resolvedOptions,
152
+ inputValidator
153
+ });
154
+ },
155
+ handler: (...args) => {
156
+ const [extractedFn, serverFn] = args;
157
+ const newOptions = {
158
+ ...resolvedOptions,
159
+ extractedFn,
160
+ serverFn
161
+ };
162
+ const resolvedMiddleware = [...newOptions.middleware || [], serverFnBaseToMiddleware(newOptions)];
163
+ extractedFn.method = resolvedOptions.method;
164
+ return Object.assign(async (opts) => {
165
+ const result = await executeMiddleware(resolvedMiddleware, "client", {
166
+ ...extractedFn,
167
+ ...newOptions,
168
+ data: opts?.data,
169
+ headers: opts?.headers,
170
+ signal: opts?.signal,
171
+ fetch: opts?.fetch,
172
+ context: createNullProtoObject()
173
+ });
174
+ const redirect = parseRedirect(result.error);
175
+ if (redirect) throw redirect;
176
+ if (result.error) throw result.error;
177
+ return result.result;
178
+ }, {
179
+ ...extractedFn,
180
+ method: resolvedOptions.method,
181
+ __executeServer: async (opts) => {
182
+ const startContext = getStartContextServerOnly();
183
+ const serverContextAfterGlobalMiddlewares = startContext.contextAfterGlobalMiddlewares;
184
+ return await executeMiddleware(resolvedMiddleware, "server", {
185
+ ...extractedFn,
186
+ ...opts,
187
+ serverFnMeta: extractedFn.serverFnMeta,
188
+ context: safeObjectMerge(serverContextAfterGlobalMiddlewares, opts.context),
189
+ request: startContext.request
190
+ }).then((d) => ({
191
+ result: d.result,
192
+ error: d.error,
193
+ context: d.sendContext
194
+ }));
195
+ }
196
+ });
197
+ }
198
+ };
199
+ const fun = (options2) => {
200
+ return createServerFn(void 0, {
201
+ ...resolvedOptions,
202
+ ...options2
203
+ });
204
+ };
205
+ return Object.assign(fun, res);
206
+ };
207
+ async function executeMiddleware(middlewares, env, opts) {
208
+ let flattenedMiddlewares = flattenMiddlewares([...getStartOptions()?.functionMiddleware || [], ...middlewares]);
209
+ if (env === "server") {
210
+ const startContext = getStartContextServerOnly({ throwIfNotFound: false });
211
+ if (startContext?.executedRequestMiddlewares) flattenedMiddlewares = flattenedMiddlewares.filter((m) => !startContext.executedRequestMiddlewares.has(m));
212
+ }
213
+ const callNextMiddleware = async (ctx) => {
214
+ const nextMiddleware = flattenedMiddlewares.shift();
215
+ if (!nextMiddleware) return ctx;
216
+ try {
217
+ if ("inputValidator" in nextMiddleware.options && nextMiddleware.options.inputValidator && env === "server") ctx.data = await execValidator(nextMiddleware.options.inputValidator, ctx.data);
218
+ let middlewareFn = void 0;
219
+ if (env === "client") {
220
+ if ("client" in nextMiddleware.options) middlewareFn = nextMiddleware.options.client;
221
+ } else if ("server" in nextMiddleware.options) middlewareFn = nextMiddleware.options.server;
222
+ if (middlewareFn) {
223
+ const userNext = async (userCtx = {}) => {
224
+ const result2 = await callNextMiddleware({
225
+ ...ctx,
226
+ ...userCtx,
227
+ context: safeObjectMerge(ctx.context, userCtx.context),
228
+ sendContext: safeObjectMerge(ctx.sendContext, userCtx.sendContext),
229
+ headers: mergeHeaders(ctx.headers, userCtx.headers),
230
+ _callSiteFetch: ctx._callSiteFetch,
231
+ fetch: ctx._callSiteFetch ?? userCtx.fetch ?? ctx.fetch,
232
+ result: userCtx.result !== void 0 ? userCtx.result : userCtx instanceof Response ? userCtx : ctx.result,
233
+ error: userCtx.error ?? ctx.error
234
+ });
235
+ if (result2.error) throw result2.error;
236
+ return result2;
237
+ };
238
+ const result = await middlewareFn({
239
+ ...ctx,
240
+ next: userNext
241
+ });
242
+ if (isRedirect(result)) return {
243
+ ...ctx,
244
+ error: result
245
+ };
246
+ if (result instanceof Response) return {
247
+ ...ctx,
248
+ result
249
+ };
250
+ if (!result) throw new Error("User middleware returned undefined. You must call next() or return a result in your middlewares.");
251
+ return result;
252
+ }
253
+ return callNextMiddleware(ctx);
254
+ } catch (error) {
255
+ return {
256
+ ...ctx,
257
+ error
258
+ };
259
+ }
260
+ };
261
+ return callNextMiddleware({
262
+ ...opts,
263
+ headers: opts.headers || {},
264
+ sendContext: opts.sendContext || {},
265
+ context: opts.context || createNullProtoObject(),
266
+ _callSiteFetch: opts.fetch
267
+ });
268
+ }
269
+ function flattenMiddlewares(middlewares, maxDepth = 100) {
270
+ const seen = /* @__PURE__ */ new Set();
271
+ const flattened = [];
272
+ const recurse = (middleware, depth) => {
273
+ if (depth > maxDepth) throw new Error(`Middleware nesting depth exceeded maximum of ${maxDepth}. Check for circular references.`);
274
+ middleware.forEach((m) => {
275
+ if (m.options.middleware) recurse(m.options.middleware, depth + 1);
276
+ if (!seen.has(m)) {
277
+ seen.add(m);
278
+ flattened.push(m);
279
+ }
280
+ });
281
+ };
282
+ recurse(middlewares, 0);
283
+ return flattened;
284
+ }
285
+ async function execValidator(validator, input) {
286
+ if (validator == null) return {};
287
+ if ("~standard" in validator) {
288
+ const result = await validator["~standard"].validate(input);
289
+ if (result.issues) throw new Error(JSON.stringify(result.issues, void 0, 2));
290
+ return result.value;
291
+ }
292
+ if ("parse" in validator) return validator.parse(input);
293
+ if (typeof validator === "function") return validator(input);
294
+ throw new Error("Invalid validator type!");
295
+ }
296
+ function serverFnBaseToMiddleware(options) {
297
+ return {
298
+ "~types": void 0,
299
+ options: {
300
+ inputValidator: options.inputValidator,
301
+ client: async ({ next, sendContext, fetch, ...ctx }) => {
302
+ const payload = {
303
+ ...ctx,
304
+ context: sendContext,
305
+ fetch
306
+ };
307
+ return next(await options.extractedFn?.(payload));
308
+ },
309
+ server: async ({ next, ...ctx }) => {
310
+ const result = await options.serverFn?.(ctx);
311
+ return next({
312
+ ...ctx,
313
+ result
314
+ });
315
+ }
316
+ }
317
+ };
318
+ }
319
+ //#endregion
320
+ export { X_TSS_RAW_RESPONSE as a, createServerFn as c, isRedirect as d, isResolvedRedirect as f, safeObjectMerge as h, TSS_SERVER_FUNCTION as i, flattenMiddlewares as l, runWithStartContext as m, TSS_CONTENT_TYPE_FRAMED_VERSIONED as n, X_TSS_SERIALIZED as o, mergeHeaders as p, TSS_FORMDATA_CONTEXT as r, createNullProtoObject as s, FrameType as t, getStartOptions as u };
@@ -1,4 +1,4 @@
1
- //#region node_modules/.nitro/vite/services/ssr/assets/deleteBundle-DWUxu9-K.js
1
+ //#region node_modules/.nitro/vite/services/ssr/assets/deleteBundle-BiJvjt0k.js
2
2
  function resolveStorageUriForDeletion(storageUri, storagePlugin) {
3
3
  const protocol = new URL(storageUri).protocol.replace(":", "");
4
4
  if (protocol === "http" || protocol === "https") return null;
@@ -1,4 +1,4 @@
1
- //#region node_modules/.nitro/vite/services/ssr/assets/extract-timestamp-from-uuidv7-B90UBADU.js
1
+ //#region node_modules/.nitro/vite/services/ssr/assets/extract-timestamp-from-uuidv7-DO_lXhMa.js
2
2
  var extractTimestampFromUUIDv7 = (uuid) => {
3
3
  const timestampHex = uuid.split("-").join("").slice(0, 12);
4
4
  return Number.parseInt(timestampHex, 16);
@@ -1,14 +1,14 @@
1
1
  import { r as __toESM } from "../_runtime.mjs";
2
- import { t as createUUIDv7 } from "./extract-timestamp-from-uuidv7-B90UBADU.mjs";
2
+ import { t as createUUIDv7 } from "./extract-timestamp-from-uuidv7-DO_lXhMa.mjs";
3
3
  import { t as require_lib } from "../_libs/jszip+[...].mjs";
4
- import { t as extract } from "../_libs/tar.mjs";
4
+ import { t as extract } from "../_libs/tar+yallist.mjs";
5
5
  import crypto from "node:crypto";
6
6
  import path from "node:path";
7
7
  import { createTarBrTargetFiles, createTarGzTargetFiles, createZipTargetFiles } from "@hot-updater/cli-tools";
8
8
  import fs from "node:fs/promises";
9
9
  import os from "node:os";
10
10
  import { brotliDecompressSync } from "node:zlib";
11
- //#region node_modules/.nitro/vite/services/ssr/assets/promoteBundle-DtMHuubR.js
11
+ //#region node_modules/.nitro/vite/services/ssr/assets/promoteBundle-BBOSMtwu.js
12
12
  var import_lib = /* @__PURE__ */ __toESM(require_lib());
13
13
  var types$1 = {
14
14
  "application/prs.cww": ["cww"],
@@ -1,14 +1,14 @@
1
1
  import { r as __toESM } from "../_runtime.mjs";
2
2
  import { P as require_jsx_runtime } from "../_libs/@radix-ui/react-alert-dialog+[...].mjs";
3
- import { a as createRouter, c as createFileRoute, l as createRootRoute, n as Scripts, o as Outlet, p as useRouterState, r as HeadContent, s as lazyRouteComponent, u as Link } from "../_libs/@tanstack/react-router+[...].mjs";
4
3
  import { u as require_react } from "../_libs/@floating-ui/react-dom+[...].mjs";
5
4
  import { _ as CircleCheck, c as Moon, f as Info, n as TriangleAlert, o as Package, r as Sun, s as OctagonX, u as LoaderCircle } from "../_libs/lucide-react.mjs";
6
- import { T as TooltipProvider, _ as SidebarMenu, b as SidebarProvider, d as SidebarFooter, f as SidebarGroup, g as SidebarInset, h as SidebarHeader, l as Sidebar, m as SidebarGroupLabel, p as SidebarGroupContent, t as Button, u as SidebarContent, v as SidebarMenuButton, y as SidebarMenuItem } from "./sidebar-DXng0IOP.mjs";
5
+ import { T as TooltipProvider, _ as SidebarMenu, b as SidebarProvider, d as SidebarFooter, f as SidebarGroup, g as SidebarInset, h as SidebarHeader, l as Sidebar, m as SidebarGroupLabel, p as SidebarGroupContent, t as Button, u as SidebarContent, v as SidebarMenuButton, y as SidebarMenuItem } from "./sidebar-B6a7DDef.mjs";
6
+ import { a as createRouter, c as createFileRoute, l as createRootRoute, n as Scripts, o as Outlet, p as useRouterState, r as HeadContent, s as lazyRouteComponent, u as Link } from "../_libs/@tanstack/react-router+[...].mjs";
7
7
  import { t as QueryClient } from "../_libs/tanstack__query-core.mjs";
8
8
  import { r as QueryClientProvider } from "../_libs/tanstack__react-query.mjs";
9
9
  import { t as z } from "../_libs/next-themes.mjs";
10
10
  import { t as Toaster } from "../_libs/sonner.mjs";
11
- //#region node_modules/.nitro/vite/services/ssr/assets/router-CdSyFCJa.js
11
+ //#region node_modules/.nitro/vite/services/ssr/assets/router-fogqFSFT.js
12
12
  var import_jsx_runtime = require_jsx_runtime();
13
13
  var import_react = /* @__PURE__ */ __toESM(require_react());
14
14
  function HotUpdaterLogo({ className }) {
@@ -227,7 +227,7 @@ function RootLayout() {
227
227
  (0, import_react.useEffect)(() => {}, []);
228
228
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(SidebarProvider, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AppSidebar, {}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SidebarInset, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Outlet, {}) })] });
229
229
  }
230
- var $$splitComponentImporter = () => import("./routes-D8wYJKp6.mjs");
230
+ var $$splitComponentImporter = () => import("./routes-CgYYFBNT.mjs");
231
231
  var rootRouteChildren = { IndexRoute: createFileRoute("/")({
232
232
  component: lazyRouteComponent($$splitComponentImporter, "component"),
233
233
  validateSearch: (search) => {
@@ -1,23 +1,24 @@
1
1
  import { r as __toESM } from "../_runtime.mjs";
2
+ import { c as createServerFn, i as TSS_SERVER_FUNCTION } from "./createServerFn-CdeRXnVy.mjs";
3
+ import { n as extractTimestampFromUUIDv7, t as createUUIDv7 } from "./extract-timestamp-from-uuidv7-DO_lXhMa.mjs";
2
4
  import { A as Slot, P as require_jsx_runtime, a as Overlay2, c as Title2, d as Description, f as Overlay, g as Trigger, h as Title, i as Description2, l as Close, m as Root, n as Cancel, o as Portal2, p as Portal, r as Content2, s as Root2, t as Action, u as Content } from "../_libs/@radix-ui/react-alert-dialog+[...].mjs";
3
- import { d as useNavigate, f as useSearch } from "../_libs/@tanstack/react-router+[...].mjs";
4
5
  import { u as require_react } from "../_libs/@floating-ui/react-dom+[...].mjs";
5
- import { n as useStore, t as useForm } from "../_libs/@tanstack/react-form+[...].mjs";
6
- import { n as createServerFn, r as TSS_SERVER_FUNCTION, t as getServerFnById } from "./ssr.mjs";
7
- import { n as extractTimestampFromUUIDv7, t as createUUIDv7 } from "./extract-timestamp-from-uuidv7-B90UBADU.mjs";
8
6
  import { S as Check, b as ChevronLeft, d as List, g as Download, h as ExternalLink, i as Plus, l as Minus, m as FingerprintPattern, n as TriangleAlert, o as Package, p as Funnel, t as X, v as ChevronUp, x as ChevronDown, y as ChevronRight } from "../_libs/lucide-react.mjs";
9
7
  import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
10
8
  import { a as ItemText, c as ScrollDownButton, d as Value, f as Viewport, i as ItemIndicator, l as ScrollUpButton, n as Icon, o as Portal$1, r as Item, s as Root2$1, t as Content2$1, u as Trigger$1 } from "../_libs/@radix-ui/react-select+[...].mjs";
11
9
  import { t as Root$1 } from "../_libs/radix-ui__react-label.mjs";
12
10
  import { i as Track, n as Root$2, r as Thumb, t as Range } from "../_libs/radix-ui__react-slider.mjs";
13
11
  import { n as Thumb$1, t as Root$3 } from "../_libs/radix-ui__react-switch.mjs";
14
- import { C as Tooltip$1, D as cn, E as TooltipTrigger, S as Skeleton, T as TooltipProvider, a as SheetContent, c as SheetTitle, i as Sheet, n as Input, o as SheetDescription, r as Separator$1, s as SheetHeader, t as Button, w as TooltipContent, x as SidebarTrigger } from "./sidebar-DXng0IOP.mjs";
12
+ import { C as Tooltip$1, D as cn, E as TooltipTrigger, S as Skeleton, T as TooltipProvider, a as SheetContent, c as SheetTitle, i as Sheet, n as Input, o as SheetDescription, r as Separator$1, s as SheetHeader, t as Button, w as TooltipContent, x as SidebarTrigger } from "./sidebar-B6a7DDef.mjs";
13
+ import { d as useNavigate, f as useSearch } from "../_libs/@tanstack/react-router+[...].mjs";
14
+ import { n as useStore, t as useForm } from "../_libs/@tanstack/react-form+[...].mjs";
15
15
  import { i as useQueryClient, n as useQuery, t as useMutation } from "../_libs/tanstack__react-query.mjs";
16
16
  import { n as toast } from "../_libs/sonner.mjs";
17
+ import { t as getServerFnById } from "../__tanstack-start-server-fn-resolver-DB7Vwz3A.mjs";
17
18
  import { t as require_semver } from "../_libs/semver.mjs";
18
19
  import { i as getCoreRowModel, n as useReactTable, r as createColumnHelper, t as flexRender } from "../_libs/@tanstack/react-table+[...].mjs";
19
20
  import { n as require_dayjs_min, t as require_relativeTime } from "../_libs/dayjs.mjs";
20
- //#region node_modules/.nitro/vite/services/ssr/assets/routes-D8wYJKp6.js
21
+ //#region node_modules/.nitro/vite/services/ssr/assets/routes-CgYYFBNT.js
21
22
  var import_jsx_runtime = require_jsx_runtime();
22
23
  var import_react = /* @__PURE__ */ __toESM(require_react());
23
24
  var import_semver = /* @__PURE__ */ __toESM(require_semver());
@@ -6,7 +6,7 @@ import { n as clsx, t as cva } from "../_libs/class-variance-authority+clsx.mjs"
6
6
  import { t as Root$1 } from "../_libs/radix-ui__react-separator.mjs";
7
7
  import { a as Root3, i as Provider, n as Content2, o as Trigger, r as Portal$1, t as Arrow2 } from "../_libs/radix-ui__react-tooltip.mjs";
8
8
  import { t as twMerge } from "../_libs/tailwind-merge.mjs";
9
- //#region node_modules/.nitro/vite/services/ssr/assets/sidebar-DXng0IOP.js
9
+ //#region node_modules/.nitro/vite/services/ssr/assets/sidebar-B6a7DDef.js
10
10
  var import_jsx_runtime = require_jsx_runtime();
11
11
  var import_react = /* @__PURE__ */ __toESM(require_react());
12
12
  function cn(...inputs) {