@aku11i/phantom 6.2.0 → 6.3.0-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.
@@ -0,0 +1,4 @@
1
+ //#region node_modules/.nitro/vite/services/ssr/assets/start-DaFzyN3q.js
2
+ var startInstance = void 0;
3
+ //#endregion
4
+ export { startInstance };
@@ -0,0 +1,35 @@
1
+ //#region node_modules/.nitro/vite/services/ssr/assets/_tanstack-start-manifest_v-CWxREUaR.js
2
+ var tsrStartManifest = () => ({
3
+ routes: {
4
+ __root__: {
5
+ filePath: "/home/runner/work/phantom/phantom/packages/app/src/routes/__root.tsx",
6
+ children: [
7
+ "/",
8
+ "/api/auth",
9
+ "/api/events",
10
+ "/api/health",
11
+ "/api/models",
12
+ "/api/projects",
13
+ "/api/chats/$chatId"
14
+ ],
15
+ assets: [{
16
+ tag: "link",
17
+ attrs: {
18
+ rel: "stylesheet",
19
+ href: "/assets/index-CI6IWFKa.css",
20
+ type: "text/css"
21
+ }
22
+ }],
23
+ preloads: ["/assets/index-DHMHkew5.js", "/assets/jsx-runtime-CUBmso4R.js"]
24
+ },
25
+ "/": {
26
+ filePath: "/home/runner/work/phantom/phantom/packages/app/src/routes/index.tsx",
27
+ children: void 0,
28
+ assets: void 0,
29
+ preloads: ["/assets/routes-Boii8-De.js"]
30
+ }
31
+ },
32
+ clientEntry: "/assets/index-DHMHkew5.js"
33
+ });
34
+ //#endregion
35
+ export { tsrStartManifest };
@@ -0,0 +1,326 @@
1
+ globalThis.__nitro_main__ = import.meta.url;
2
+ import { a as toEventHandler, c as serve, i as defineLazyEventHandler, n as HTTPError, r as defineHandler, s as NodeResponse, t as H3Core } from "./_libs/h3+rou3+srvx.mjs";
3
+ import "./_libs/hookable.mjs";
4
+ import { i as withoutTrailingSlash, n as joinURL, r as withLeadingSlash, t as decodePath } from "./_libs/ufo.mjs";
5
+ import { promises } from "node:fs";
6
+ import { fileURLToPath } from "node:url";
7
+ import { dirname, resolve } from "node:path";
8
+ //#region #nitro-vite-setup
9
+ function lazyService(loader) {
10
+ let promise, mod;
11
+ return { fetch(req) {
12
+ if (mod) return mod.fetch(req);
13
+ if (!promise) promise = loader().then((_mod) => mod = _mod.default || _mod);
14
+ return promise.then((mod) => mod.fetch(req));
15
+ } };
16
+ }
17
+ var services = { ["ssr"]: lazyService(() => import("./_ssr/ssr.mjs")) };
18
+ globalThis.__nitro_vite_envs__ = services;
19
+ //#endregion
20
+ //#region ../../node_modules/.pnpm/nitro@3.0.260311-beta_jiti@2.6.1_vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_tsx@4.21.0_/node_modules/nitro/dist/runtime/internal/error/prod.mjs
21
+ var errorHandler = (error, event) => {
22
+ const res = defaultHandler(error, event);
23
+ return new NodeResponse(typeof res.body === "string" ? res.body : JSON.stringify(res.body, null, 2), res);
24
+ };
25
+ function defaultHandler(error, event) {
26
+ const unhandled = error.unhandled ?? !HTTPError.isError(error);
27
+ const { status = 500, statusText = "" } = unhandled ? {} : error;
28
+ if (status === 404) {
29
+ const url = event.url || new URL(event.req.url);
30
+ const baseURL = "/";
31
+ if (/^\/[^/]/.test(baseURL) && !url.pathname.startsWith(baseURL)) return {
32
+ status: 302,
33
+ headers: new Headers({ location: `${baseURL}${url.pathname.slice(1)}${url.search}` })
34
+ };
35
+ }
36
+ const headers = new Headers(unhandled ? {} : error.headers);
37
+ headers.set("content-type", "application/json; charset=utf-8");
38
+ return {
39
+ status,
40
+ statusText,
41
+ headers,
42
+ body: {
43
+ error: true,
44
+ ...unhandled ? {
45
+ status,
46
+ unhandled: true
47
+ } : typeof error.toJSON === "function" ? error.toJSON() : {
48
+ status,
49
+ statusText,
50
+ message: error.message
51
+ }
52
+ }
53
+ };
54
+ }
55
+ //#endregion
56
+ //#region #nitro/virtual/error-handler
57
+ var errorHandlers = [errorHandler];
58
+ async function error_handler_default(error, event) {
59
+ for (const handler of errorHandlers) try {
60
+ const response = await handler(error, event, { defaultHandler });
61
+ if (response) return response;
62
+ } catch (error) {
63
+ console.error(error);
64
+ }
65
+ }
66
+ //#endregion
67
+ //#region ../../node_modules/.pnpm/nitro@3.0.260311-beta_jiti@2.6.1_vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_tsx@4.21.0_/node_modules/nitro/dist/runtime/internal/route-rules.mjs
68
+ var headers = ((m) => function headersRouteRule(event) {
69
+ for (const [key, value] of Object.entries(m.options || {})) event.res.headers.set(key, value);
70
+ });
71
+ //#endregion
72
+ //#region #nitro/virtual/public-assets-data
73
+ var public_assets_data_default = {
74
+ "/assets/index-CI6IWFKa.css": {
75
+ "type": "text/css; charset=utf-8",
76
+ "etag": "\"7b48-sPCDlAr8tR5J6H3gwdUkkmLVKQg\"",
77
+ "mtime": "2026-04-26T12:51:43.680Z",
78
+ "size": 31560,
79
+ "path": "../public/assets/index-CI6IWFKa.css"
80
+ },
81
+ "/assets/index-DHMHkew5.js": {
82
+ "type": "text/javascript; charset=utf-8",
83
+ "etag": "\"4b272-n3KpsoYkJ4s09wGiECOW1fh20Hs\"",
84
+ "mtime": "2026-04-26T12:51:43.679Z",
85
+ "size": 307826,
86
+ "path": "../public/assets/index-DHMHkew5.js"
87
+ },
88
+ "/assets/jsx-runtime-CUBmso4R.js": {
89
+ "type": "text/javascript; charset=utf-8",
90
+ "etag": "\"20cf-1/oVLKTtOguoXFF7STuI5+nxEeE\"",
91
+ "mtime": "2026-04-26T12:51:43.680Z",
92
+ "size": 8399,
93
+ "path": "../public/assets/jsx-runtime-CUBmso4R.js"
94
+ },
95
+ "/assets/routes-Boii8-De.js": {
96
+ "type": "text/javascript; charset=utf-8",
97
+ "etag": "\"a78f-e1bwnx10BFuY9xWklBQ89uVnXRs\"",
98
+ "mtime": "2026-04-26T12:51:43.680Z",
99
+ "size": 42895,
100
+ "path": "../public/assets/routes-Boii8-De.js"
101
+ }
102
+ };
103
+ //#endregion
104
+ //#region #nitro/virtual/public-assets-node
105
+ function readAsset(id) {
106
+ const serverDir = dirname(fileURLToPath(globalThis.__nitro_main__));
107
+ return promises.readFile(resolve(serverDir, public_assets_data_default[id].path));
108
+ }
109
+ //#endregion
110
+ //#region #nitro/virtual/public-assets
111
+ var publicAssetBases = {};
112
+ function isPublicAssetURL(id = "") {
113
+ if (public_assets_data_default[id]) return true;
114
+ for (const base in publicAssetBases) if (id.startsWith(base)) return true;
115
+ return false;
116
+ }
117
+ function getAsset(id) {
118
+ return public_assets_data_default[id];
119
+ }
120
+ //#endregion
121
+ //#region ../../node_modules/.pnpm/nitro@3.0.260311-beta_jiti@2.6.1_vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_tsx@4.21.0_/node_modules/nitro/dist/runtime/internal/static.mjs
122
+ var METHODS = new Set(["HEAD", "GET"]);
123
+ var EncodingMap = {
124
+ gzip: ".gz",
125
+ br: ".br",
126
+ zstd: ".zst"
127
+ };
128
+ var static_default = defineHandler((event) => {
129
+ if (event.req.method && !METHODS.has(event.req.method)) return;
130
+ let id = decodePath(withLeadingSlash(withoutTrailingSlash(event.url.pathname)));
131
+ let asset;
132
+ const encodings = [...(event.req.headers.get("accept-encoding") || "").split(",").map((e) => EncodingMap[e.trim()]).filter(Boolean).sort(), ""];
133
+ for (const encoding of encodings) for (const _id of [id + encoding, joinURL(id, "index.html" + encoding)]) {
134
+ const _asset = getAsset(_id);
135
+ if (_asset) {
136
+ asset = _asset;
137
+ id = _id;
138
+ break;
139
+ }
140
+ }
141
+ if (!asset) {
142
+ if (isPublicAssetURL(id)) {
143
+ event.res.headers.delete("Cache-Control");
144
+ throw new HTTPError({ status: 404 });
145
+ }
146
+ return;
147
+ }
148
+ if (encodings.length > 1) event.res.headers.append("Vary", "Accept-Encoding");
149
+ if (event.req.headers.get("if-none-match") === asset.etag) {
150
+ event.res.status = 304;
151
+ event.res.statusText = "Not Modified";
152
+ return "";
153
+ }
154
+ const ifModifiedSinceH = event.req.headers.get("if-modified-since");
155
+ const mtimeDate = new Date(asset.mtime);
156
+ if (ifModifiedSinceH && asset.mtime && new Date(ifModifiedSinceH) >= mtimeDate) {
157
+ event.res.status = 304;
158
+ event.res.statusText = "Not Modified";
159
+ return "";
160
+ }
161
+ if (asset.type) event.res.headers.set("Content-Type", asset.type);
162
+ if (asset.etag && !event.res.headers.has("ETag")) event.res.headers.set("ETag", asset.etag);
163
+ if (asset.mtime && !event.res.headers.has("Last-Modified")) event.res.headers.set("Last-Modified", mtimeDate.toUTCString());
164
+ if (asset.encoding && !event.res.headers.has("Content-Encoding")) event.res.headers.set("Content-Encoding", asset.encoding);
165
+ if (asset.size > 0 && !event.res.headers.has("Content-Length")) event.res.headers.set("Content-Length", asset.size.toString());
166
+ return readAsset(id);
167
+ });
168
+ //#endregion
169
+ //#region #nitro/virtual/routing
170
+ var findRouteRules = /* @__PURE__ */ (() => {
171
+ const $0 = [{
172
+ name: "headers",
173
+ route: "/assets/**",
174
+ handler: headers,
175
+ options: { "cache-control": "public, max-age=31536000, immutable" }
176
+ }];
177
+ return (m, p) => {
178
+ let r = [];
179
+ if (p.charCodeAt(p.length - 1) === 47) p = p.slice(0, -1) || "/";
180
+ let s = p.split("/");
181
+ if (s.length > 1) {
182
+ if (s[1] === "assets") r.unshift({
183
+ data: $0,
184
+ params: { "_": s.slice(2).join("/") }
185
+ });
186
+ }
187
+ return r;
188
+ };
189
+ })();
190
+ var _lazy_zpIHUf = defineLazyEventHandler(() => import("./_chunks/ssr-renderer.mjs"));
191
+ var findRoute = /* @__PURE__ */ (() => {
192
+ const data = {
193
+ route: "/**",
194
+ handler: _lazy_zpIHUf
195
+ };
196
+ return ((_m, p) => {
197
+ return {
198
+ data,
199
+ params: { "_": p.slice(1) }
200
+ };
201
+ });
202
+ })();
203
+ var globalMiddleware = [toEventHandler(static_default)].filter(Boolean);
204
+ //#endregion
205
+ //#region ../../node_modules/.pnpm/nitro@3.0.260311-beta_jiti@2.6.1_vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_tsx@4.21.0_/node_modules/nitro/dist/runtime/internal/app.mjs
206
+ var APP_ID = "default";
207
+ function useNitroApp() {
208
+ let instance = useNitroApp._instance;
209
+ if (instance) return instance;
210
+ instance = useNitroApp._instance = createNitroApp();
211
+ globalThis.__nitro__ = globalThis.__nitro__ || {};
212
+ globalThis.__nitro__[APP_ID] = instance;
213
+ return instance;
214
+ }
215
+ function createNitroApp() {
216
+ const hooks = void 0;
217
+ const captureError = (error, errorCtx) => {
218
+ if (errorCtx?.event) {
219
+ const errors = errorCtx.event.req.context?.nitro?.errors;
220
+ if (errors) errors.push({
221
+ error,
222
+ context: errorCtx
223
+ });
224
+ }
225
+ };
226
+ const h3App = createH3App({ onError(error, event) {
227
+ return error_handler_default(error, event);
228
+ } });
229
+ let appHandler = (req) => {
230
+ req.context ||= {};
231
+ req.context.nitro = req.context.nitro || { errors: [] };
232
+ return h3App.fetch(req);
233
+ };
234
+ return {
235
+ fetch: appHandler,
236
+ h3: h3App,
237
+ hooks,
238
+ captureError
239
+ };
240
+ }
241
+ function createH3App(config) {
242
+ const h3App = new H3Core(config);
243
+ h3App["~findRoute"] = (event) => findRoute(event.req.method, event.url.pathname);
244
+ h3App["~middleware"].push(...globalMiddleware);
245
+ h3App["~getMiddleware"] = (event, route) => {
246
+ const pathname = event.url.pathname;
247
+ const method = event.req.method;
248
+ const middleware = [];
249
+ {
250
+ const routeRules = getRouteRules(method, pathname);
251
+ event.context.routeRules = routeRules?.routeRules;
252
+ if (routeRules?.routeRuleMiddleware.length) middleware.push(...routeRules.routeRuleMiddleware);
253
+ }
254
+ middleware.push(...h3App["~middleware"]);
255
+ if (route?.data?.middleware?.length) middleware.push(...route.data.middleware);
256
+ return middleware;
257
+ };
258
+ return h3App;
259
+ }
260
+ function getRouteRules(method, pathname) {
261
+ const m = findRouteRules(method, pathname);
262
+ if (!m?.length) return { routeRuleMiddleware: [] };
263
+ const routeRules = {};
264
+ for (const layer of m) for (const rule of layer.data) {
265
+ const currentRule = routeRules[rule.name];
266
+ if (currentRule) {
267
+ if (rule.options === false) {
268
+ delete routeRules[rule.name];
269
+ continue;
270
+ }
271
+ if (typeof currentRule.options === "object" && typeof rule.options === "object") currentRule.options = {
272
+ ...currentRule.options,
273
+ ...rule.options
274
+ };
275
+ else currentRule.options = rule.options;
276
+ currentRule.route = rule.route;
277
+ currentRule.params = {
278
+ ...currentRule.params,
279
+ ...layer.params
280
+ };
281
+ } else if (rule.options !== false) routeRules[rule.name] = {
282
+ ...rule,
283
+ params: layer.params
284
+ };
285
+ }
286
+ const middleware = [];
287
+ for (const rule of Object.values(routeRules)) {
288
+ if (rule.options === false || !rule.handler) continue;
289
+ middleware.push(rule.handler(rule));
290
+ }
291
+ return {
292
+ routeRules,
293
+ routeRuleMiddleware: middleware
294
+ };
295
+ }
296
+ //#endregion
297
+ //#region ../../node_modules/.pnpm/nitro@3.0.260311-beta_jiti@2.6.1_vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_tsx@4.21.0_/node_modules/nitro/dist/runtime/internal/error/hooks.mjs
298
+ function _captureError(error, type) {
299
+ console.error(`[${type}]`, error);
300
+ useNitroApp().captureError?.(error, { tags: [type] });
301
+ }
302
+ function trapUnhandledErrors() {
303
+ process.on("unhandledRejection", (error) => _captureError(error, "unhandledRejection"));
304
+ process.on("uncaughtException", (error) => _captureError(error, "uncaughtException"));
305
+ }
306
+ //#endregion
307
+ //#region ../../node_modules/.pnpm/nitro@3.0.260311-beta_jiti@2.6.1_vite@8.0.8_@types+node@25.6.0_esbuild@0.27.7_jiti@2.6.1_tsx@4.21.0_/node_modules/nitro/dist/presets/node/runtime/node-server.mjs
308
+ var _parsedPort = Number.parseInt(process.env.NITRO_PORT ?? process.env.PORT ?? "");
309
+ var port = Number.isNaN(_parsedPort) ? 3e3 : _parsedPort;
310
+ var host = process.env.NITRO_HOST || process.env.HOST;
311
+ var cert = process.env.NITRO_SSL_CERT;
312
+ var key = process.env.NITRO_SSL_KEY;
313
+ var nitroApp = useNitroApp();
314
+ serve({
315
+ port,
316
+ hostname: host,
317
+ tls: cert && key ? {
318
+ cert,
319
+ key
320
+ } : void 0,
321
+ fetch: nitroApp.fetch
322
+ });
323
+ trapUnhandledErrors();
324
+ var node_server_default = {};
325
+ //#endregion
326
+ export { node_server_default as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aku11i/phantom",
3
- "version": "6.2.0",
3
+ "version": "6.3.0-0",
4
4
  "description": "A powerful CLI tool for managing Git worktrees for parallel development",
5
5
  "keywords": [
6
6
  "git",
@@ -28,9 +28,14 @@
28
28
  },
29
29
  "files": [
30
30
  "phantom.js",
31
+ "app",
31
32
  "README.md",
32
33
  "LICENSE"
33
34
  ],
35
+ "os": [
36
+ "darwin",
37
+ "linux"
38
+ ],
34
39
  "engines": {
35
40
  "node": ">=22.0.0"
36
41
  },