@thxgg/steward 0.1.15 → 0.1.17
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/.env.example +6 -0
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{qKRNa41x.js → 4r0X30JV.js} +1 -1
- package/.output/public/_nuxt/{uTyw4SRK.js → BMdjSp24.js} +1 -1
- package/.output/public/_nuxt/{BubpH_wW.js → BSZqAKg4.js} +1 -1
- package/.output/public/_nuxt/{nYTZJhvT.js → BdjPva1I.js} +1 -1
- package/.output/public/_nuxt/Beeir9iR.js +1 -0
- package/.output/public/_nuxt/Bh3vsUvl.js +1 -0
- package/.output/public/_nuxt/{CMu9GKTH.js → BlTKcjLJ.js} +2 -2
- package/.output/public/_nuxt/{BDqHART1.js → By7gAVcL.js} +1 -1
- package/.output/public/_nuxt/CbJfCtEa.js +1 -0
- package/.output/public/_nuxt/CbkpNvIu.js +141 -0
- package/.output/public/_nuxt/CmhLcqDu.js +1 -0
- package/.output/public/_nuxt/DC6iPLz1.js +30 -0
- package/.output/public/_nuxt/{C_NevjZD.js → DD--ojY9.js} +1 -1
- package/.output/public/_nuxt/Detail.DSyVQNdr.css +1 -0
- package/.output/public/_nuxt/DhKWRjCh.js +60 -0
- package/.output/public/_nuxt/_prd_.BkpxMFSV.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/f3f42dbd-d501-442b-871c-3d06157e7aa1.json +1 -0
- package/.output/public/_nuxt/c1sXju8w.js +1 -0
- package/.output/public/_nuxt/eGCjCghR.js +1 -0
- package/.output/public/_nuxt/nX8Sf7cz.js +13 -0
- package/.output/server/chunks/_/git-api.mjs +100 -7
- package/.output/server/chunks/_/git-api.mjs.map +1 -1
- package/.output/server/chunks/_/git.mjs +3 -10
- package/.output/server/chunks/_/git.mjs.map +1 -1
- package/.output/server/chunks/_/prd-service.mjs +234 -0
- package/.output/server/chunks/_/prd-service.mjs.map +1 -0
- package/.output/server/chunks/_/task-graph.mjs +3 -3
- package/.output/server/chunks/_/task-graph.mjs.map +1 -1
- package/.output/server/chunks/_/watcher.mjs +26 -46
- package/.output/server/chunks/_/watcher.mjs.map +1 -1
- package/.output/server/chunks/build/{Detail-DC-KJQ1f.mjs → Detail-MGwP_u2d.mjs} +63 -34
- package/.output/server/chunks/build/Detail-MGwP_u2d.mjs.map +1 -0
- package/.output/server/chunks/build/DiffViewer-styles-1.mjs-BFsE2PCW.mjs +4 -0
- package/.output/server/chunks/build/DiffViewer-styles-1.mjs-BFsE2PCW.mjs.map +1 -0
- package/.output/server/chunks/build/DiffViewer-styles.D2bqX3nK.mjs +8 -0
- package/.output/server/chunks/build/DiffViewer-styles.D2bqX3nK.mjs.map +1 -0
- package/.output/server/chunks/build/DiffViewer-styles.FoV36wuV.mjs +10 -0
- package/.output/server/chunks/build/DiffViewer-styles.FoV36wuV.mjs.map +1 -0
- package/.output/server/chunks/build/Viewer-styles.D6wYWFb1.mjs +8 -0
- package/.output/server/chunks/build/Viewer-styles.D6wYWFb1.mjs.map +1 -0
- package/.output/server/chunks/build/{_prd_-C1C4GAhW.mjs → _prd_-C-Aj4fVa.mjs} +75 -33
- package/.output/server/chunks/build/_prd_-C-Aj4fVa.mjs.map +1 -0
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/{default-DWCOHHTE.mjs → default-Cao5eO80.mjs} +4 -3
- package/.output/server/chunks/build/default-Cao5eO80.mjs.map +1 -0
- package/.output/server/chunks/build/error-404-Bf6kdO80.mjs +2 -1
- package/.output/server/chunks/build/error-500-D_bcARXN.mjs +2 -1
- package/.output/server/chunks/build/{index-CckL_NBD.mjs → index-ByZO4Bvq.mjs} +2 -2
- package/.output/server/chunks/build/index-ByZO4Bvq.mjs.map +1 -0
- package/.output/server/chunks/build/{index-QVeSHT3L.mjs → index-ljj9uTXI.mjs} +8 -5
- package/.output/server/chunks/build/index-ljj9uTXI.mjs.map +1 -0
- package/.output/server/chunks/build/nuxt-link-SvT1nf8Z.mjs +1 -1
- package/.output/server/chunks/build/{repo-graph-CTEkxiYd.mjs → repo-graph-EuhMeFt7.mjs} +25 -10
- package/.output/server/chunks/build/repo-graph-EuhMeFt7.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +7 -6
- package/.output/server/chunks/build/styles.mjs +4 -4
- package/.output/server/chunks/build/{usePrd-SqcxGyFU.mjs → usePrd-f7ylhIqs.mjs} +10 -34
- package/.output/server/chunks/build/usePrd-f7ylhIqs.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +1149 -720
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/api/browse.get.mjs +12 -6
- package/.output/server/chunks/routes/api/browse.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +2 -1
- package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +3 -2
- package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/git/commits.get.mjs +11 -13
- package/.output/server/chunks/routes/api/repos/_repoId/git/commits.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/git/diff.get.mjs +11 -6
- package/.output/server/chunks/routes/api/repos/_repoId/git/diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/git/file-content.get.mjs +31 -12
- package/.output/server/chunks/routes/api/repos/_repoId/git/file-content.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/git/file-diff.get.mjs +13 -13
- package/.output/server/chunks/routes/api/repos/_repoId/git/file-diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/graph.get.mjs +5 -1
- package/.output/server/chunks/routes/api/repos/_repoId/graph.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/graph.get.mjs +14 -1
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/graph.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/progress.get.mjs +20 -9
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/progress.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks/_taskId/commits.get.mjs +20 -85
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks/_taskId/commits.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks.get.mjs +20 -9
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug_.get.mjs +30 -50
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/prds.get.mjs +19 -49
- package/.output/server/chunks/routes/api/repos/_repoId/prds.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/refresh-git-repos.post.mjs +6 -13
- package/.output/server/chunks/routes/api/repos/_repoId/refresh-git-repos.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/repos/_repoId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/runtime.get.mjs +3 -2
- package/.output/server/chunks/routes/api/runtime.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/watch.get.mjs +5 -4
- package/.output/server/chunks/routes/api/watch.get.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/index.mjs +3 -2
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/node_modules/zod/index.js +4 -0
- package/.output/server/node_modules/zod/package.json +118 -0
- package/.output/server/node_modules/zod/v3/ZodError.js +133 -0
- package/.output/server/node_modules/zod/v3/errors.js +9 -0
- package/.output/server/node_modules/zod/v3/external.js +6 -0
- package/.output/server/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/.output/server/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/.output/server/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/.output/server/node_modules/zod/v3/helpers/util.js +133 -0
- package/.output/server/node_modules/zod/v3/locales/en.js +109 -0
- package/.output/server/node_modules/zod/v3/types.js +3693 -0
- package/.output/server/package.json +2 -1
- package/README.md +7 -2
- package/dist/host/src/api/prds.js +6 -172
- package/dist/host/src/api/repos.js +3 -16
- package/dist/host/src/api/state.js +7 -2
- package/dist/host/src/executor-runner.js +368 -0
- package/dist/host/src/executor.js +138 -260
- package/dist/host/src/index.js +7 -2
- package/dist/host/src/mcp.js +27 -1
- package/dist/host/src/ui.js +18 -3
- package/dist/server/utils/change-events.js +33 -0
- package/dist/server/utils/git.js +11 -16
- package/dist/server/utils/prd-service.js +235 -0
- package/dist/server/utils/prd-state.js +57 -45
- package/dist/server/utils/repos.js +58 -13
- package/dist/server/utils/state-schema.js +61 -0
- package/dist/server/utils/task-graph.js +2 -2
- package/package.json +2 -1
- package/.output/public/_nuxt/-k8zG74W.js +0 -61
- package/.output/public/_nuxt/B-5VWizU.js +0 -1
- package/.output/public/_nuxt/BMAq0QVD.js +0 -42
- package/.output/public/_nuxt/BPeTf9dd.js +0 -1
- package/.output/public/_nuxt/C2HGkiSP.js +0 -1
- package/.output/public/_nuxt/CVvrkZkq.js +0 -1
- package/.output/public/_nuxt/Detail.CzXXlavD.css +0 -1
- package/.output/public/_nuxt/_prd_.KTotLoF_.css +0 -1
- package/.output/public/_nuxt/builds/meta/c1a7997d-8d53-4718-ad03-a977e05e2523.json +0 -1
- package/.output/public/_nuxt/qt5OEWHC.js +0 -1
- package/.output/public/_nuxt/wbj-mIhK.js +0 -1
- package/.output/server/chunks/build/Detail-DC-KJQ1f.mjs.map +0 -1
- package/.output/server/chunks/build/DiffViewer-styles-1.mjs-D0sb4vsK.mjs +0 -4
- package/.output/server/chunks/build/DiffViewer-styles-1.mjs-D0sb4vsK.mjs.map +0 -1
- package/.output/server/chunks/build/DiffViewer-styles.CkSjCQ0r.mjs +0 -10
- package/.output/server/chunks/build/DiffViewer-styles.CkSjCQ0r.mjs.map +0 -1
- package/.output/server/chunks/build/DiffViewer-styles.FJJuYjYB.mjs +0 -8
- package/.output/server/chunks/build/DiffViewer-styles.FJJuYjYB.mjs.map +0 -1
- package/.output/server/chunks/build/Viewer-styles.CshnetGw.mjs +0 -8
- package/.output/server/chunks/build/Viewer-styles.CshnetGw.mjs.map +0 -1
- package/.output/server/chunks/build/_prd_-C1C4GAhW.mjs.map +0 -1
- package/.output/server/chunks/build/default-DWCOHHTE.mjs.map +0 -1
- package/.output/server/chunks/build/index-CckL_NBD.mjs.map +0 -1
- package/.output/server/chunks/build/index-QVeSHT3L.mjs.map +0 -1
- package/.output/server/chunks/build/repo-graph-CTEkxiYd.mjs.map +0 -1
- package/.output/server/chunks/build/usePrd-SqcxGyFU.mjs.map +0 -1
- package/.output/server/node_modules/shiki/dist/bundle-web.mjs +0 -366
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nitro.mjs","sources":["../../../../node_modules/destr/dist/index.mjs","../../../../node_modules/ufo/dist/index.mjs","../../../../node_modules/radix3/dist/index.mjs","../../../../node_modules/defu/dist/defu.mjs","../../../../node_modules/node-mock-http/dist/index.mjs","../../../../node_modules/h3/dist/index.mjs","../../../../node_modules/hookable/dist/index.mjs","../../../../node_modules/node-fetch-native/dist/native.mjs","../../../../node_modules/ofetch/dist/shared/ofetch.CWycOUEr.mjs","../../../../node_modules/ofetch/dist/node.mjs","../../../../node_modules/unstorage/dist/shared/unstorage.zVDD2mZo.mjs","../../../../node_modules/unstorage/dist/index.mjs","../../../../node_modules/unstorage/drivers/utils/index.mjs","../../../../node_modules/unstorage/drivers/utils/node-fs.mjs","../../../../node_modules/unstorage/drivers/fs-lite.mjs","../../../../node_modules/nitropack/dist/runtime/internal/storage.mjs","../../../../node_modules/ohash/dist/shared/ohash.D__AXeF1.mjs","../../../../node_modules/ohash/dist/crypto/node/index.mjs","../../../../node_modules/ohash/dist/index.mjs","../../../../node_modules/nitropack/dist/runtime/internal/hash.mjs","../../../../node_modules/nitropack/dist/runtime/internal/cache.mjs","../../../../node_modules/klona/dist/index.mjs","../../../../node_modules/scule/dist/index.mjs","../../../../node_modules/nitropack/dist/runtime/internal/utils.env.mjs","../../../../node_modules/nitropack/dist/runtime/internal/config.mjs","../../../../node_modules/unctx/dist/index.mjs","../../../../node_modules/nitropack/dist/runtime/internal/context.mjs","../../../../node_modules/nitropack/dist/runtime/internal/route-rules.mjs","../../../../node_modules/nitropack/dist/runtime/internal/utils.mjs","../../../../node_modules/@nuxt/nitro-server/dist/runtime/utils/error.mjs","../../../../node_modules/@nuxt/nitro-server/dist/runtime/handlers/error.mjs","../../../../node_modules/nitropack/dist/runtime/internal/error/utils.mjs","../../../../node_modules/nitropack/dist/runtime/internal/error/prod.mjs","../../../../node_modules/@nuxtjs/color-mode/dist/runtime/nitro-plugin.js","../../../../node_modules/nitropack/dist/runtime/internal/plugin.mjs","../../../../server/utils/db.ts","../../../../server/utils/repos.ts","../../../../server/utils/prd-state.ts","../../../../server/plugins/migrate-legacy-state.ts","../../../../node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs","../../../../node_modules/nitropack/dist/runtime/internal/static.mjs","../../../../node_modules/nitropack/dist/runtime/internal/app.mjs","../../../../node_modules/nitropack/dist/runtime/internal/renderer.mjs","../../../../node_modules/nitropack/dist/runtime/internal/lib/http-graceful-shutdown.mjs","../../../../node_modules/nitropack/dist/runtime/internal/shutdown.mjs","../../../../node_modules/nitropack/dist/presets/node/runtime/node-server.mjs"],"names":["getQuery","createRouter","f","h","c","i","l","createError","mergeHeaders","s","nodeFetch","Headers","Headers$1","AbortController$1","normalizeKey","defineDriver","DRIVER_NAME","dirname","fsPromises","resolve","fsp","
|
|
1
|
+
{"version":3,"file":"nitro.mjs","sources":["../../../../node_modules/destr/dist/index.mjs","../../../../node_modules/ufo/dist/index.mjs","../../../../node_modules/h3/node_modules/cookie-es/dist/index.mjs","../../../../node_modules/radix3/dist/index.mjs","../../../../node_modules/defu/dist/defu.mjs","../../../../node_modules/node-mock-http/dist/index.mjs","../../../../node_modules/h3/dist/index.mjs","../../../../node_modules/hookable/dist/index.mjs","../../../../node_modules/node-fetch-native/dist/native.mjs","../../../../node_modules/ofetch/dist/shared/ofetch.CWycOUEr.mjs","../../../../node_modules/ofetch/dist/node.mjs","../../../../node_modules/unstorage/dist/shared/unstorage.zVDD2mZo.mjs","../../../../node_modules/unstorage/dist/index.mjs","../../../../node_modules/unstorage/drivers/utils/index.mjs","../../../../node_modules/unstorage/drivers/utils/node-fs.mjs","../../../../node_modules/unstorage/drivers/fs-lite.mjs","../../../../node_modules/nitropack/dist/runtime/internal/storage.mjs","../../../../node_modules/ohash/dist/shared/ohash.D__AXeF1.mjs","../../../../node_modules/ohash/dist/crypto/node/index.mjs","../../../../node_modules/ohash/dist/index.mjs","../../../../node_modules/nitropack/dist/runtime/internal/hash.mjs","../../../../node_modules/nitropack/dist/runtime/internal/cache.mjs","../../../../node_modules/klona/dist/index.mjs","../../../../node_modules/scule/dist/index.mjs","../../../../node_modules/nitropack/dist/runtime/internal/utils.env.mjs","../../../../node_modules/nitropack/dist/runtime/internal/config.mjs","../../../../node_modules/unctx/dist/index.mjs","../../../../node_modules/nitropack/dist/runtime/internal/context.mjs","../../../../node_modules/nitropack/dist/runtime/internal/route-rules.mjs","../../../../node_modules/nitropack/dist/runtime/internal/utils.mjs","../../../../node_modules/@nuxt/nitro-server/dist/runtime/utils/error.mjs","../../../../node_modules/@nuxt/nitro-server/dist/runtime/handlers/error.mjs","../../../../node_modules/nitropack/dist/runtime/internal/error/utils.mjs","../../../../node_modules/nitropack/dist/runtime/internal/error/prod.mjs","../../../../node_modules/@nuxtjs/color-mode/dist/runtime/nitro-plugin.js","../../../../node_modules/nitropack/dist/runtime/internal/plugin.mjs","../../../../server/utils/db.ts","../../../../server/utils/repos.ts","../../../../server/utils/change-events.ts","../../../../server/utils/state-schema.ts","../../../../server/utils/prd-state.ts","../../../../server/plugins/migrate-legacy-state.ts","../../../../node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs","../../../../node_modules/nitropack/dist/runtime/internal/static.mjs","../../../../server/middleware/00-security.ts","../../../../node_modules/nitropack/dist/runtime/internal/app.mjs","../../../../node_modules/nitropack/dist/runtime/internal/renderer.mjs","../../../../node_modules/nitropack/dist/runtime/internal/lib/http-graceful-shutdown.mjs","../../../../node_modules/nitropack/dist/runtime/internal/shutdown.mjs","../../../../node_modules/nitropack/dist/presets/node/runtime/node-server.mjs"],"names":["getQuery","serialize","createRouter","f","h","c","i","l","createError","mergeHeaders","s","nodeFetch","Headers","Headers$1","AbortController$1","normalizeKey","defineDriver","DRIVER_NAME","dirname","fsPromises","resolve","fsp","hash","_inlineAppConfig","createRadixRouter","fs","isAbsolute","nitroApp","callNodeRequestHandler","fetchNodeRequestHandler","gracefulShutdown","HttpsServer","HttpServer"],"mappings":"","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,42,43,45,46,47,48,49]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as defineEventHandler, g as getQuery, c as createError } from '../../nitro/nitro.mjs';
|
|
2
2
|
import { stat, readdir } from 'node:fs/promises';
|
|
3
|
-
import { join } from 'node:path';
|
|
3
|
+
import { resolve, join, dirname } from 'node:path';
|
|
4
4
|
import { homedir } from 'node:os';
|
|
5
5
|
import 'node:http';
|
|
6
6
|
import 'node:https';
|
|
@@ -9,29 +9,35 @@ import 'node:buffer';
|
|
|
9
9
|
import 'node:fs';
|
|
10
10
|
import 'node:crypto';
|
|
11
11
|
import 'node:url';
|
|
12
|
+
import 'zod';
|
|
12
13
|
|
|
14
|
+
function toPosixPath(path) {
|
|
15
|
+
return path.replaceAll("\\", "/");
|
|
16
|
+
}
|
|
13
17
|
const browse_get = defineEventHandler(async (event) => {
|
|
14
18
|
const query = getQuery(event);
|
|
15
19
|
let path = query.path || homedir();
|
|
16
20
|
if (path.startsWith("~")) {
|
|
17
21
|
path = path.replace("~", homedir());
|
|
18
22
|
}
|
|
23
|
+
const resolvedPath = resolve(path);
|
|
19
24
|
try {
|
|
20
|
-
const stats = await stat(
|
|
25
|
+
const stats = await stat(resolvedPath);
|
|
21
26
|
if (!stats.isDirectory()) {
|
|
22
27
|
throw createError({
|
|
23
28
|
statusCode: 400,
|
|
24
29
|
message: "Path is not a directory"
|
|
25
30
|
});
|
|
26
31
|
}
|
|
27
|
-
const entries = await readdir(
|
|
32
|
+
const entries = await readdir(resolvedPath, { withFileTypes: true });
|
|
28
33
|
const directories = entries.filter((entry) => entry.isDirectory() && !entry.name.startsWith(".")).map((entry) => ({
|
|
29
34
|
name: entry.name,
|
|
30
|
-
path: join(
|
|
35
|
+
path: toPosixPath(join(resolvedPath, entry.name))
|
|
31
36
|
})).sort((a, b) => a.name.localeCompare(b.name));
|
|
37
|
+
const parentPath = dirname(resolvedPath);
|
|
32
38
|
return {
|
|
33
|
-
current:
|
|
34
|
-
parent:
|
|
39
|
+
current: toPosixPath(resolvedPath),
|
|
40
|
+
parent: parentPath === resolvedPath ? null : toPosixPath(parentPath),
|
|
35
41
|
directories
|
|
36
42
|
};
|
|
37
43
|
} catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browse.get.mjs","sources":["../../../../../server/api/browse.get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"browse.get.mjs","sources":["../../../../../server/api/browse.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAIA,SAAA,YAAA,IAAA,EAAA;AACA,EAAA,OAAA,IAAA,CAAA,UAAA,CAAA,IAAA,EAAA,GAAA,CAAA;AACA;AAEA,mBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,MAAA,KAAA,GAAA,SAAA,KAAA,CAAA;AACA,EAAA,IAAA,IAAA,GAAA,KAAA,CAAA,IAAA,IAAA,OAAA,EAAA;AAGA,EAAA,IAAA,IAAA,CAAA,UAAA,CAAA,GAAA,CAAA,EAAA;AACA,IAAA,IAAA,GAAA,IAAA,CAAA,OAAA,CAAA,GAAA,EAAA,OAAA,EAAA,CAAA;AAAA,EACA;AAEA,EAAA,MAAA,YAAA,GAAA,QAAA,IAAA,CAAA;AAEA,EAAA,IAAA;AACA,IAAA,MAAA,KAAA,GAAA,MAAA,IAAA,CAAA,YAAA,CAAA;AACA,IAAA,IAAA,CAAA,KAAA,CAAA,WAAA,EAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,UAAA,MAAA,OAAA,CAAA,cAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,OAAA,CACA,MAAA,CAAA,CAAA,KAAA,KAAA,MAAA,WAAA,EAAA,IAAA,CAAA,KAAA,CAAA,KAAA,UAAA,CAAA,GAAA,CAAA,CAAA,CACA,IAAA,CAAA,KAAA,MAAA;AAAA,MACA,MAAA,KAAA,CAAA,IAAA;AAAA,MACA,MAAA,WAAA,CAAA,IAAA,CAAA,YAAA,EAAA,KAAA,CAAA,IAAA,CAAA;AAAA,KACA,CAAA,CAAA,CACA,IAAA,CAAA,CAAA,CAAA,EAAA,CAAA,KAAA,CAAA,CAAA,IAAA,CAAA,aAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA;AAEA,IAAA,MAAA,UAAA,GAAA,QAAA,YAAA,CAAA;AAEA,IAAA,OAAA;AAAA,MACA,OAAA,EAAA,YAAA,YAAA,CAAA;AAAA,MACA,MAAA,EAAA,UAAA,KAAA,YAAA,GAAA,IAAA,GAAA,YAAA,UAAA,CAAA;AAAA,MACA;AAAA,KACA;AAAA,EACA,SAAA,GAAA,EAAA;AACA,IAAA,IAAA,GAAA,CAAA,SAAA,QAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AACA,IAAA,IAAA,GAAA,CAAA,SAAA,QAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,OAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AACA,IAAA,MAAA,GAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.get.mjs","sources":["../../../../../server/api/repos/index.get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.get.mjs","sources":["../../../../../server/api/repos/index.get.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,kBAAA,mBAAA,YAAA;AACA,EAAA,OAAA,MAAA,QAAA,EAAA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as defineEventHandler,
|
|
1
|
+
import { d as defineEventHandler, j as readBody, c as createError, v as validateRepoPath, k as addRepo, m as migrateLegacyStateForRepo } from '../../nitro/nitro.mjs';
|
|
2
2
|
import { r as refreshWatcher } from '../../_/watcher.mjs';
|
|
3
3
|
import 'node:http';
|
|
4
4
|
import 'node:https';
|
|
@@ -7,8 +7,9 @@ import 'node:buffer';
|
|
|
7
7
|
import 'node:fs';
|
|
8
8
|
import 'node:path';
|
|
9
9
|
import 'node:crypto';
|
|
10
|
-
import 'node:os';
|
|
11
10
|
import 'node:url';
|
|
11
|
+
import 'node:os';
|
|
12
|
+
import 'zod';
|
|
12
13
|
import 'chokidar';
|
|
13
14
|
|
|
14
15
|
const index_post = defineEventHandler(async (event) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.post.mjs","sources":["../../../../../server/api/repos/index.post.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.post.mjs","sources":["../../../../../server/api/repos/index.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,mBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,MAAA,IAAA,GAAA,MAAA,QAAA,CAAA,KAAA,CAAA;AAEA,EAAA,IAAA,EAAA,6BAAA,IAAA,CAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA,EACA;AAEA,EAAA,MAAA,UAAA,GAAA,MAAA,gBAAA,CAAA,IAAA,CAAA,IAAA,CAAA;AACA,EAAA,IAAA,CAAA,WAAA,KAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA,WAAA,KAAA,IAAA;AAAA,KACA,CAAA;AAAA,EACA;AAEA,EAAA,IAAA;AACA,IAAA,MAAA,OAAA,MAAA,OAAA,CAAA,IAAA,CAAA,IAAA,EAAA,KAAA,IAAA,CAAA;AACA,IAAA,MAAA,0BAAA,IAAA,CAAA;AAEA,IAAA,MAAA,cAAA,EAAA;AACA,IAAA,OAAA,IAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,IAAA,KAAA,YAAA,KAAA,IAAA,KAAA,CAAA,OAAA,KAAA,0BAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AACA,IAAA,MAAA,KAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as defineEventHandler, a as getRouterParam, c as createError, b as getRepos, g as getQuery } from '../../../../../nitro/nitro.mjs';
|
|
2
2
|
import { i as isGitRepo, f as findRepoForCommit, g as getCommitInfo } from '../../../../../_/git.mjs';
|
|
3
|
-
import {
|
|
3
|
+
import { p as parseCommitShaListParam, a as parseOptionalGitRepoPathParam, n as normalizeErrorMessage, b as buildRepoLookup, r as resolveRequestedGitRepoPath, g as getRepoRelativePath } from '../../../../../_/git-api.mjs';
|
|
4
4
|
import 'node:http';
|
|
5
5
|
import 'node:https';
|
|
6
6
|
import 'node:events';
|
|
@@ -8,8 +8,9 @@ import 'node:buffer';
|
|
|
8
8
|
import 'node:fs';
|
|
9
9
|
import 'node:path';
|
|
10
10
|
import 'node:crypto';
|
|
11
|
-
import 'node:os';
|
|
12
11
|
import 'node:url';
|
|
12
|
+
import 'node:os';
|
|
13
|
+
import 'zod';
|
|
13
14
|
import 'node:child_process';
|
|
14
15
|
|
|
15
16
|
const commits_get = defineEventHandler(async (event) => {
|
|
@@ -29,19 +30,16 @@ const commits_get = defineEventHandler(async (event) => {
|
|
|
29
30
|
});
|
|
30
31
|
}
|
|
31
32
|
const query = getQuery(event);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
const shas = shasParam.split(",").map((s) => s.trim()).filter(Boolean);
|
|
41
|
-
if (shas.length === 0) {
|
|
33
|
+
let shas;
|
|
34
|
+
let repoPath;
|
|
35
|
+
try {
|
|
36
|
+
shas = parseCommitShaListParam(query.shas);
|
|
37
|
+
repoPath = parseOptionalGitRepoPathParam(query.repo);
|
|
38
|
+
} catch (error) {
|
|
42
39
|
throw createError({
|
|
43
40
|
statusCode: 400,
|
|
44
|
-
statusMessage: "
|
|
41
|
+
statusMessage: "Invalid git query parameters",
|
|
42
|
+
message: normalizeErrorMessage(error.message)
|
|
45
43
|
});
|
|
46
44
|
}
|
|
47
45
|
const repoLookup = await buildRepoLookup(repo);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commits.get.mjs","sources":["../../../../../../../../server/api/repos/[repoId]/git/commits.get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commits.get.mjs","sources":["../../../../../../../../server/api/repos/[repoId]/git/commits.get.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as defineEventHandler, a as getRouterParam, c as createError, b as getRepos, g as getQuery } from '../../../../../nitro/nitro.mjs';
|
|
2
2
|
import { i as isGitRepo, f as findRepoForCommit, a as getCommitDiff } from '../../../../../_/git.mjs';
|
|
3
|
-
import {
|
|
3
|
+
import { c as parseCommitShaParam, a as parseOptionalGitRepoPathParam, n as normalizeErrorMessage, b as buildRepoLookup, r as resolveRequestedGitRepoPath } from '../../../../../_/git-api.mjs';
|
|
4
4
|
import 'node:http';
|
|
5
5
|
import 'node:https';
|
|
6
6
|
import 'node:events';
|
|
@@ -8,8 +8,9 @@ import 'node:buffer';
|
|
|
8
8
|
import 'node:fs';
|
|
9
9
|
import 'node:path';
|
|
10
10
|
import 'node:crypto';
|
|
11
|
-
import 'node:os';
|
|
12
11
|
import 'node:url';
|
|
12
|
+
import 'node:os';
|
|
13
|
+
import 'zod';
|
|
13
14
|
import 'node:child_process';
|
|
14
15
|
|
|
15
16
|
const diff_get = defineEventHandler(async (event) => {
|
|
@@ -29,12 +30,16 @@ const diff_get = defineEventHandler(async (event) => {
|
|
|
29
30
|
});
|
|
30
31
|
}
|
|
31
32
|
const query = getQuery(event);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
let commit;
|
|
34
|
+
let repoPath;
|
|
35
|
+
try {
|
|
36
|
+
commit = parseCommitShaParam(query.commit, "commit query parameter");
|
|
37
|
+
repoPath = parseOptionalGitRepoPathParam(query.repo);
|
|
38
|
+
} catch (error) {
|
|
35
39
|
throw createError({
|
|
36
40
|
statusCode: 400,
|
|
37
|
-
statusMessage: "
|
|
41
|
+
statusMessage: "Invalid git query parameters",
|
|
42
|
+
message: normalizeErrorMessage(error.message)
|
|
38
43
|
});
|
|
39
44
|
}
|
|
40
45
|
const repoLookup = await buildRepoLookup(repo);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.get.mjs","sources":["../../../../../../../../server/api/repos/[repoId]/git/diff.get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"diff.get.mjs","sources":["../../../../../../../../server/api/repos/[repoId]/git/diff.get.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as defineEventHandler, a as getRouterParam, g as getQuery, c as createError, b as getRepos } from '../../../../../nitro/nitro.mjs';
|
|
2
2
|
import { i as isGitRepo, f as findRepoForCommit, v as validatePathInRepo, b as getFileContent } from '../../../../../_/git.mjs';
|
|
3
|
-
import {
|
|
3
|
+
import { c as parseCommitShaParam, d as parseGitFilePathParam, a as parseOptionalGitRepoPathParam, n as normalizeErrorMessage, b as buildRepoLookup, r as resolveRequestedGitRepoPath } from '../../../../../_/git-api.mjs';
|
|
4
4
|
import 'node:http';
|
|
5
5
|
import 'node:https';
|
|
6
6
|
import 'node:events';
|
|
@@ -8,24 +8,43 @@ import 'node:buffer';
|
|
|
8
8
|
import 'node:fs';
|
|
9
9
|
import 'node:path';
|
|
10
10
|
import 'node:crypto';
|
|
11
|
-
import 'node:os';
|
|
12
11
|
import 'node:url';
|
|
12
|
+
import 'node:os';
|
|
13
|
+
import 'zod';
|
|
13
14
|
import 'node:child_process';
|
|
14
15
|
|
|
16
|
+
const MAX_FILE_CONTENT_CHARS = 1e6;
|
|
17
|
+
function formatFileContentResponse(content) {
|
|
18
|
+
if (content.length <= MAX_FILE_CONTENT_CHARS) {
|
|
19
|
+
return { content };
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
content: content.slice(0, MAX_FILE_CONTENT_CHARS),
|
|
23
|
+
truncated: true,
|
|
24
|
+
maxChars: MAX_FILE_CONTENT_CHARS,
|
|
25
|
+
originalChars: content.length,
|
|
26
|
+
message: `File content was truncated to ${MAX_FILE_CONTENT_CHARS.toLocaleString()} characters.`
|
|
27
|
+
};
|
|
28
|
+
}
|
|
15
29
|
const fileContent_get = defineEventHandler(async (event) => {
|
|
16
30
|
const repoId = getRouterParam(event, "repoId");
|
|
17
31
|
const query = getQuery(event);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
32
|
+
let commit;
|
|
33
|
+
let file;
|
|
34
|
+
let repoPath;
|
|
21
35
|
if (!repoId) {
|
|
22
36
|
throw createError({ statusCode: 400, message: "Repository ID is required" });
|
|
23
37
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
38
|
+
try {
|
|
39
|
+
commit = parseCommitShaParam(query.commit, "commit query parameter");
|
|
40
|
+
file = parseGitFilePathParam(query.file);
|
|
41
|
+
repoPath = parseOptionalGitRepoPathParam(query.repo);
|
|
42
|
+
} catch (error) {
|
|
43
|
+
throw createError({
|
|
44
|
+
statusCode: 400,
|
|
45
|
+
statusMessage: "Invalid git query parameters",
|
|
46
|
+
message: normalizeErrorMessage(error.message)
|
|
47
|
+
});
|
|
29
48
|
}
|
|
30
49
|
const repos = await getRepos();
|
|
31
50
|
const repo = repos.find((r) => r.id === repoId);
|
|
@@ -58,14 +77,14 @@ const fileContent_get = defineEventHandler(async (event) => {
|
|
|
58
77
|
}
|
|
59
78
|
try {
|
|
60
79
|
const content = await getFileContent(gitRepoPath, commit, file);
|
|
61
|
-
return
|
|
80
|
+
return formatFileContentResponse(content);
|
|
62
81
|
} catch (error) {
|
|
63
82
|
const message = normalizeErrorMessage(error instanceof Error ? error.message : String(error));
|
|
64
83
|
const fallback = await findRepoForCommit(repoLookup, commit).catch(() => null);
|
|
65
84
|
if (fallback && fallback.absolutePath !== gitRepoPath && validatePathInRepo(fallback.absolutePath, file)) {
|
|
66
85
|
try {
|
|
67
86
|
const content = await getFileContent(fallback.absolutePath, commit, file);
|
|
68
|
-
return
|
|
87
|
+
return formatFileContentResponse(content);
|
|
69
88
|
} catch {
|
|
70
89
|
}
|
|
71
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-content.get.mjs","sources":["../../../../../../../../server/api/repos/[repoId]/git/file-content.get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-content.get.mjs","sources":["../../../../../../../../server/api/repos/[repoId]/git/file-content.get.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as defineEventHandler, a as getRouterParam, c as createError, b as getRepos, g as getQuery } from '../../../../../nitro/nitro.mjs';
|
|
2
2
|
import { i as isGitRepo, f as findRepoForCommit, v as validatePathInRepo, c as getFileDiff } from '../../../../../_/git.mjs';
|
|
3
|
-
import {
|
|
3
|
+
import { c as parseCommitShaParam, d as parseGitFilePathParam, a as parseOptionalGitRepoPathParam, n as normalizeErrorMessage, b as buildRepoLookup, r as resolveRequestedGitRepoPath } from '../../../../../_/git-api.mjs';
|
|
4
4
|
import 'node:http';
|
|
5
5
|
import 'node:https';
|
|
6
6
|
import 'node:events';
|
|
@@ -8,8 +8,9 @@ import 'node:buffer';
|
|
|
8
8
|
import 'node:fs';
|
|
9
9
|
import 'node:path';
|
|
10
10
|
import 'node:crypto';
|
|
11
|
-
import 'node:os';
|
|
12
11
|
import 'node:url';
|
|
12
|
+
import 'node:os';
|
|
13
|
+
import 'zod';
|
|
13
14
|
import 'node:child_process';
|
|
14
15
|
|
|
15
16
|
const fileDiff_get = defineEventHandler(async (event) => {
|
|
@@ -29,19 +30,18 @@ const fileDiff_get = defineEventHandler(async (event) => {
|
|
|
29
30
|
});
|
|
30
31
|
}
|
|
31
32
|
const query = getQuery(event);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
if (!file) {
|
|
33
|
+
let commit;
|
|
34
|
+
let file;
|
|
35
|
+
let repoPath;
|
|
36
|
+
try {
|
|
37
|
+
commit = parseCommitShaParam(query.commit, "commit query parameter");
|
|
38
|
+
file = parseGitFilePathParam(query.file);
|
|
39
|
+
repoPath = parseOptionalGitRepoPathParam(query.repo);
|
|
40
|
+
} catch (error) {
|
|
42
41
|
throw createError({
|
|
43
42
|
statusCode: 400,
|
|
44
|
-
statusMessage: "
|
|
43
|
+
statusMessage: "Invalid git query parameters",
|
|
44
|
+
message: normalizeErrorMessage(error.message)
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
const repoLookup = await buildRepoLookup(repo);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-diff.get.mjs","sources":["../../../../../../../../server/api/repos/[repoId]/git/file-diff.get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-diff.get.mjs","sources":["../../../../../../../../server/api/repos/[repoId]/git/file-diff.get.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,12 @@ import 'node:buffer';
|
|
|
7
7
|
import 'node:fs';
|
|
8
8
|
import 'node:path';
|
|
9
9
|
import 'node:crypto';
|
|
10
|
-
import 'node:os';
|
|
11
10
|
import 'node:url';
|
|
11
|
+
import 'node:os';
|
|
12
|
+
import 'zod';
|
|
13
|
+
import '../../../../_/prd-service.mjs';
|
|
14
|
+
import '../../../../_/git.mjs';
|
|
15
|
+
import 'node:child_process';
|
|
12
16
|
|
|
13
17
|
const graph_get = defineEventHandler(async (event) => {
|
|
14
18
|
const repoId = getRouterParam(event, "repoId");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.get.mjs","sources":["../../../../../../../server/api/repos/[repoId]/graph.get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph.get.mjs","sources":["../../../../../../../server/api/repos/[repoId]/graph.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,kBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,MAAA,MAAA,GAAA,cAAA,CAAA,KAAA,EAAA,QAAA,CAAA;AAEA,EAAA,IAAA,CAAA,MAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA,EACA;AAEA,EAAA,MAAA,KAAA,GAAA,MAAA,QAAA,EAAA;AACA,EAAA,MAAA,OAAA,KAAA,CAAA,IAAA,CAAA,CAAA,KAAA,KAAA,KAAA,CAAA,OAAA,MAAA,CAAA;AAEA,EAAA,IAAA,CAAA,IAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA,EACA;AAEA,EAAA,IAAA;AACA,IAAA,OAAA,MAAA,eAAA,IAAA,CAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA,kCAAA;AAAA,MACA,SAAA,KAAA,CAAA,OAAA,CAAA,QAAA,MAAA,EAAA,GAAA,EAAA,IAAA;AAAA,KACA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { d as defineEventHandler, a as getRouterParam, c as createError, b as getRepos } from '../../../../../../nitro/nitro.mjs';
|
|
2
|
+
import { a as assertValidPrdSlug } from '../../../../../../_/prd-service.mjs';
|
|
2
3
|
import { a as buildPrdGraph } from '../../../../../../_/task-graph.mjs';
|
|
3
4
|
import 'node:http';
|
|
4
5
|
import 'node:https';
|
|
@@ -7,8 +8,11 @@ import 'node:buffer';
|
|
|
7
8
|
import 'node:fs';
|
|
8
9
|
import 'node:path';
|
|
9
10
|
import 'node:crypto';
|
|
10
|
-
import 'node:os';
|
|
11
11
|
import 'node:url';
|
|
12
|
+
import 'node:os';
|
|
13
|
+
import 'zod';
|
|
14
|
+
import '../../../../../../_/git.mjs';
|
|
15
|
+
import 'node:child_process';
|
|
12
16
|
|
|
13
17
|
const graph_get = defineEventHandler(async (event) => {
|
|
14
18
|
const repoId = getRouterParam(event, "repoId");
|
|
@@ -19,6 +23,15 @@ const graph_get = defineEventHandler(async (event) => {
|
|
|
19
23
|
statusMessage: "Repository ID and PRD slug are required"
|
|
20
24
|
});
|
|
21
25
|
}
|
|
26
|
+
try {
|
|
27
|
+
assertValidPrdSlug(prdSlug);
|
|
28
|
+
} catch (error) {
|
|
29
|
+
throw createError({
|
|
30
|
+
statusCode: 400,
|
|
31
|
+
statusMessage: "Invalid PRD slug",
|
|
32
|
+
message: error.message
|
|
33
|
+
});
|
|
34
|
+
}
|
|
22
35
|
const repos = await getRepos();
|
|
23
36
|
const repo = repos.find((entry) => entry.id === repoId);
|
|
24
37
|
if (!repo) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.get.mjs","sources":["../../../../../../../../../server/api/repos/[repoId]/prd/[prdSlug]/graph.get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph.get.mjs","sources":["../../../../../../../../../server/api/repos/[repoId]/prd/[prdSlug]/graph.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,kBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,MAAA,MAAA,GAAA,cAAA,CAAA,KAAA,EAAA,QAAA,CAAA;AACA,EAAA,MAAA,OAAA,GAAA,cAAA,CAAA,KAAA,EAAA,SAAA,CAAA;AAEA,EAAA,IAAA,CAAA,MAAA,IAAA,CAAA,OAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA,EACA;AAEA,EAAA,IAAA;AACA,IAAA,kBAAA,CAAA,OAAA,CAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA,kBAAA;AAAA,MACA,SAAA,KAAA,CAAA;AAAA,KACA,CAAA;AAAA,EACA;AAEA,EAAA,MAAA,KAAA,GAAA,MAAA,QAAA,EAAA;AACA,EAAA,MAAA,OAAA,KAAA,CAAA,IAAA,CAAA,CAAA,KAAA,KAAA,KAAA,CAAA,OAAA,MAAA,CAAA;AAEA,EAAA,IAAA,CAAA,IAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA,EACA;AAEA,EAAA,IAAA;AACA,IAAA,OAAA,MAAA,aAAA,CAAA,IAAA,EAAA,OAAA,CAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA,2BAAA;AAAA,MACA,SAAA,KAAA,CAAA,OAAA,CAAA,QAAA,MAAA,EAAA,GAAA,EAAA,IAAA;AAAA,KACA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { d as defineEventHandler, a as getRouterParam, c as createError,
|
|
1
|
+
import { d as defineEventHandler, a as getRouterParam, c as createError, f as getRepoById } from '../../../../../../nitro/nitro.mjs';
|
|
2
|
+
import { c as readPrdProgress } from '../../../../../../_/prd-service.mjs';
|
|
2
3
|
import 'node:http';
|
|
3
4
|
import 'node:https';
|
|
4
5
|
import 'node:events';
|
|
@@ -6,11 +7,16 @@ import 'node:buffer';
|
|
|
6
7
|
import 'node:fs';
|
|
7
8
|
import 'node:path';
|
|
8
9
|
import 'node:crypto';
|
|
9
|
-
import 'node:os';
|
|
10
10
|
import 'node:url';
|
|
11
|
+
import 'node:os';
|
|
12
|
+
import 'zod';
|
|
13
|
+
import '../../../../../../_/git.mjs';
|
|
14
|
+
import 'node:child_process';
|
|
11
15
|
|
|
16
|
+
function normalizeErrorMessage(message) {
|
|
17
|
+
return message.replace(/\s+/g, " ").trim();
|
|
18
|
+
}
|
|
12
19
|
const progress_get = defineEventHandler(async (event) => {
|
|
13
|
-
var _a;
|
|
14
20
|
const repoId = getRouterParam(event, "repoId");
|
|
15
21
|
const prdSlug = getRouterParam(event, "prdSlug");
|
|
16
22
|
if (!repoId || !prdSlug) {
|
|
@@ -19,23 +25,28 @@ const progress_get = defineEventHandler(async (event) => {
|
|
|
19
25
|
statusMessage: "Repository ID and PRD slug are required"
|
|
20
26
|
});
|
|
21
27
|
}
|
|
22
|
-
const
|
|
23
|
-
const repo = repos.find((r) => r.id === repoId);
|
|
28
|
+
const repo = await getRepoById(repoId);
|
|
24
29
|
if (!repo) {
|
|
25
30
|
throw createError({
|
|
26
31
|
statusCode: 404,
|
|
27
32
|
statusMessage: "Repository not found"
|
|
28
33
|
});
|
|
29
34
|
}
|
|
30
|
-
await migrateLegacyStateForRepo(repo);
|
|
31
35
|
try {
|
|
32
|
-
|
|
33
|
-
return (_a = state == null ? void 0 : state.progress) != null ? _a : null;
|
|
36
|
+
return await readPrdProgress(repo, prdSlug);
|
|
34
37
|
} catch (error) {
|
|
38
|
+
const message = normalizeErrorMessage(error.message);
|
|
39
|
+
if (message.includes("Invalid PRD slug")) {
|
|
40
|
+
throw createError({
|
|
41
|
+
statusCode: 400,
|
|
42
|
+
statusMessage: "Invalid PRD slug",
|
|
43
|
+
message
|
|
44
|
+
});
|
|
45
|
+
}
|
|
35
46
|
throw createError({
|
|
36
47
|
statusCode: 500,
|
|
37
48
|
statusMessage: "Failed to read progress state",
|
|
38
|
-
message
|
|
49
|
+
message
|
|
39
50
|
});
|
|
40
51
|
}
|
|
41
52
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.get.mjs","sources":["../../../../../../../../../server/api/repos/[repoId]/prd/[prdSlug]/progress.get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"progress.get.mjs","sources":["../../../../../../../../../server/api/repos/[repoId]/prd/[prdSlug]/progress.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,SAAA,sBAAA,OAAA,EAAA;AACA,EAAA,OAAA,OAAA,CAAA,OAAA,CAAA,MAAA,EAAA,GAAA,EAAA,IAAA,EAAA;AACA;AAEA,qBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,MAAA,MAAA,GAAA,cAAA,CAAA,KAAA,EAAA,QAAA,CAAA;AACA,EAAA,MAAA,OAAA,GAAA,cAAA,CAAA,KAAA,EAAA,SAAA,CAAA;AAEA,EAAA,IAAA,CAAA,MAAA,IAAA,CAAA,OAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA,EACA;AAEA,EAAA,MAAA,IAAA,GAAA,MAAA,WAAA,CAAA,MAAA,CAAA;AACA,EAAA,IAAA,CAAA,IAAA,EAAA;AACA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA;AAAA,KACA,CAAA;AAAA,EACA;AAEA,EAAA,IAAA;AACA,IAAA,OAAA,MAAA,eAAA,CAAA,IAAA,EAAA,OAAA,CAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,MAAA,OAAA,GAAA,qBAAA,CAAA,KAAA,CAAA,OAAA,CAAA;AAEA,IAAA,IAAA,OAAA,CAAA,QAAA,CAAA,kBAAA,CAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA,kBAAA;AAAA,QACA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,WAAA,CAAA;AAAA,MACA,UAAA,EAAA,GAAA;AAAA,MACA,aAAA,EAAA,+BAAA;AAAA,MACA;AAAA,KACA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|