@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.
- package/app/.output/nitro.json +17 -0
- package/app/.output/public/assets/index-CI6IWFKa.css +2 -0
- package/app/.output/public/assets/index-DHMHkew5.js +12 -0
- package/app/.output/public/assets/jsx-runtime-CUBmso4R.js +1 -0
- package/app/.output/public/assets/routes-Boii8-De.js +1 -0
- package/app/.output/server/__23tanstack-start-plugin-adapters-y_fshQDY.mjs +5 -0
- package/app/.output/server/_chunks/ssr-renderer.mjs +15 -0
- package/app/.output/server/_libs/@tanstack/react-router+[...].mjs +14637 -0
- package/app/.output/server/_libs/h3+rou3+srvx.mjs +1210 -0
- package/app/.output/server/_libs/hookable.mjs +41 -0
- package/app/.output/server/_libs/lucide-react.mjs +351 -0
- package/app/.output/server/_libs/tanstack__history.mjs +342 -0
- package/app/.output/server/_libs/tanstack__router-core.mjs +6 -0
- package/app/.output/server/_libs/ufo.mjs +64 -0
- package/app/.output/server/_libs/zod.mjs +3745 -0
- package/app/.output/server/_runtime.mjs +26 -0
- package/app/.output/server/_ssr/router-C0zvMxvt.mjs +3475 -0
- package/app/.output/server/_ssr/routes-DpnTz1lw.mjs +1450 -0
- package/app/.output/server/_ssr/ssr.mjs +5174 -0
- package/app/.output/server/_ssr/start-DaFzyN3q.mjs +4 -0
- package/app/.output/server/_tanstack-start-manifest_v-CWxREUaR.mjs +35 -0
- package/app/.output/server/index.mjs +326 -0
- package/package.json +6 -1
- package/phantom.js +3757 -3476
|
@@ -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.
|
|
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
|
},
|