@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.
Files changed (158) hide show
  1. package/.env.example +6 -0
  2. package/.output/nitro.json +1 -1
  3. package/.output/public/_nuxt/{qKRNa41x.js → 4r0X30JV.js} +1 -1
  4. package/.output/public/_nuxt/{uTyw4SRK.js → BMdjSp24.js} +1 -1
  5. package/.output/public/_nuxt/{BubpH_wW.js → BSZqAKg4.js} +1 -1
  6. package/.output/public/_nuxt/{nYTZJhvT.js → BdjPva1I.js} +1 -1
  7. package/.output/public/_nuxt/Beeir9iR.js +1 -0
  8. package/.output/public/_nuxt/Bh3vsUvl.js +1 -0
  9. package/.output/public/_nuxt/{CMu9GKTH.js → BlTKcjLJ.js} +2 -2
  10. package/.output/public/_nuxt/{BDqHART1.js → By7gAVcL.js} +1 -1
  11. package/.output/public/_nuxt/CbJfCtEa.js +1 -0
  12. package/.output/public/_nuxt/CbkpNvIu.js +141 -0
  13. package/.output/public/_nuxt/CmhLcqDu.js +1 -0
  14. package/.output/public/_nuxt/DC6iPLz1.js +30 -0
  15. package/.output/public/_nuxt/{C_NevjZD.js → DD--ojY9.js} +1 -1
  16. package/.output/public/_nuxt/Detail.DSyVQNdr.css +1 -0
  17. package/.output/public/_nuxt/DhKWRjCh.js +60 -0
  18. package/.output/public/_nuxt/_prd_.BkpxMFSV.css +1 -0
  19. package/.output/public/_nuxt/builds/latest.json +1 -1
  20. package/.output/public/_nuxt/builds/meta/f3f42dbd-d501-442b-871c-3d06157e7aa1.json +1 -0
  21. package/.output/public/_nuxt/c1sXju8w.js +1 -0
  22. package/.output/public/_nuxt/eGCjCghR.js +1 -0
  23. package/.output/public/_nuxt/nX8Sf7cz.js +13 -0
  24. package/.output/server/chunks/_/git-api.mjs +100 -7
  25. package/.output/server/chunks/_/git-api.mjs.map +1 -1
  26. package/.output/server/chunks/_/git.mjs +3 -10
  27. package/.output/server/chunks/_/git.mjs.map +1 -1
  28. package/.output/server/chunks/_/prd-service.mjs +234 -0
  29. package/.output/server/chunks/_/prd-service.mjs.map +1 -0
  30. package/.output/server/chunks/_/task-graph.mjs +3 -3
  31. package/.output/server/chunks/_/task-graph.mjs.map +1 -1
  32. package/.output/server/chunks/_/watcher.mjs +26 -46
  33. package/.output/server/chunks/_/watcher.mjs.map +1 -1
  34. package/.output/server/chunks/build/{Detail-DC-KJQ1f.mjs → Detail-MGwP_u2d.mjs} +63 -34
  35. package/.output/server/chunks/build/Detail-MGwP_u2d.mjs.map +1 -0
  36. package/.output/server/chunks/build/DiffViewer-styles-1.mjs-BFsE2PCW.mjs +4 -0
  37. package/.output/server/chunks/build/DiffViewer-styles-1.mjs-BFsE2PCW.mjs.map +1 -0
  38. package/.output/server/chunks/build/DiffViewer-styles.D2bqX3nK.mjs +8 -0
  39. package/.output/server/chunks/build/DiffViewer-styles.D2bqX3nK.mjs.map +1 -0
  40. package/.output/server/chunks/build/DiffViewer-styles.FoV36wuV.mjs +10 -0
  41. package/.output/server/chunks/build/DiffViewer-styles.FoV36wuV.mjs.map +1 -0
  42. package/.output/server/chunks/build/Viewer-styles.D6wYWFb1.mjs +8 -0
  43. package/.output/server/chunks/build/Viewer-styles.D6wYWFb1.mjs.map +1 -0
  44. package/.output/server/chunks/build/{_prd_-C1C4GAhW.mjs → _prd_-C-Aj4fVa.mjs} +75 -33
  45. package/.output/server/chunks/build/_prd_-C-Aj4fVa.mjs.map +1 -0
  46. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  47. package/.output/server/chunks/build/{default-DWCOHHTE.mjs → default-Cao5eO80.mjs} +4 -3
  48. package/.output/server/chunks/build/default-Cao5eO80.mjs.map +1 -0
  49. package/.output/server/chunks/build/error-404-Bf6kdO80.mjs +2 -1
  50. package/.output/server/chunks/build/error-500-D_bcARXN.mjs +2 -1
  51. package/.output/server/chunks/build/{index-CckL_NBD.mjs → index-ByZO4Bvq.mjs} +2 -2
  52. package/.output/server/chunks/build/index-ByZO4Bvq.mjs.map +1 -0
  53. package/.output/server/chunks/build/{index-QVeSHT3L.mjs → index-ljj9uTXI.mjs} +8 -5
  54. package/.output/server/chunks/build/index-ljj9uTXI.mjs.map +1 -0
  55. package/.output/server/chunks/build/nuxt-link-SvT1nf8Z.mjs +1 -1
  56. package/.output/server/chunks/build/{repo-graph-CTEkxiYd.mjs → repo-graph-EuhMeFt7.mjs} +25 -10
  57. package/.output/server/chunks/build/repo-graph-EuhMeFt7.mjs.map +1 -0
  58. package/.output/server/chunks/build/server.mjs +7 -6
  59. package/.output/server/chunks/build/styles.mjs +4 -4
  60. package/.output/server/chunks/build/{usePrd-SqcxGyFU.mjs → usePrd-f7ylhIqs.mjs} +10 -34
  61. package/.output/server/chunks/build/usePrd-f7ylhIqs.mjs.map +1 -0
  62. package/.output/server/chunks/nitro/nitro.mjs +1149 -720
  63. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  64. package/.output/server/chunks/routes/api/browse.get.mjs +12 -6
  65. package/.output/server/chunks/routes/api/browse.get.mjs.map +1 -1
  66. package/.output/server/chunks/routes/api/index.get.mjs +2 -1
  67. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  68. package/.output/server/chunks/routes/api/index.post.mjs +3 -2
  69. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  70. package/.output/server/chunks/routes/api/repos/_repoId/git/commits.get.mjs +11 -13
  71. package/.output/server/chunks/routes/api/repos/_repoId/git/commits.get.mjs.map +1 -1
  72. package/.output/server/chunks/routes/api/repos/_repoId/git/diff.get.mjs +11 -6
  73. package/.output/server/chunks/routes/api/repos/_repoId/git/diff.get.mjs.map +1 -1
  74. package/.output/server/chunks/routes/api/repos/_repoId/git/file-content.get.mjs +31 -12
  75. package/.output/server/chunks/routes/api/repos/_repoId/git/file-content.get.mjs.map +1 -1
  76. package/.output/server/chunks/routes/api/repos/_repoId/git/file-diff.get.mjs +13 -13
  77. package/.output/server/chunks/routes/api/repos/_repoId/git/file-diff.get.mjs.map +1 -1
  78. package/.output/server/chunks/routes/api/repos/_repoId/graph.get.mjs +5 -1
  79. package/.output/server/chunks/routes/api/repos/_repoId/graph.get.mjs.map +1 -1
  80. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/graph.get.mjs +14 -1
  81. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/graph.get.mjs.map +1 -1
  82. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/progress.get.mjs +20 -9
  83. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/progress.get.mjs.map +1 -1
  84. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks/_taskId/commits.get.mjs +20 -85
  85. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks/_taskId/commits.get.mjs.map +1 -1
  86. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks.get.mjs +20 -9
  87. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks.get.mjs.map +1 -1
  88. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug_.get.mjs +30 -50
  89. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug_.get.mjs.map +1 -1
  90. package/.output/server/chunks/routes/api/repos/_repoId/prds.get.mjs +19 -49
  91. package/.output/server/chunks/routes/api/repos/_repoId/prds.get.mjs.map +1 -1
  92. package/.output/server/chunks/routes/api/repos/_repoId/refresh-git-repos.post.mjs +6 -13
  93. package/.output/server/chunks/routes/api/repos/_repoId/refresh-git-repos.post.mjs.map +1 -1
  94. package/.output/server/chunks/routes/api/repos/_repoId_.delete.mjs +2 -1
  95. package/.output/server/chunks/routes/api/repos/_repoId_.delete.mjs.map +1 -1
  96. package/.output/server/chunks/routes/api/runtime.get.mjs +3 -2
  97. package/.output/server/chunks/routes/api/runtime.get.mjs.map +1 -1
  98. package/.output/server/chunks/routes/api/watch.get.mjs +5 -4
  99. package/.output/server/chunks/routes/api/watch.get.mjs.map +1 -1
  100. package/.output/server/chunks/routes/renderer.mjs +1 -1
  101. package/.output/server/index.mjs +3 -2
  102. package/.output/server/index.mjs.map +1 -1
  103. package/.output/server/node_modules/zod/index.js +4 -0
  104. package/.output/server/node_modules/zod/package.json +118 -0
  105. package/.output/server/node_modules/zod/v3/ZodError.js +133 -0
  106. package/.output/server/node_modules/zod/v3/errors.js +9 -0
  107. package/.output/server/node_modules/zod/v3/external.js +6 -0
  108. package/.output/server/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  109. package/.output/server/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  110. package/.output/server/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  111. package/.output/server/node_modules/zod/v3/helpers/util.js +133 -0
  112. package/.output/server/node_modules/zod/v3/locales/en.js +109 -0
  113. package/.output/server/node_modules/zod/v3/types.js +3693 -0
  114. package/.output/server/package.json +2 -1
  115. package/README.md +7 -2
  116. package/dist/host/src/api/prds.js +6 -172
  117. package/dist/host/src/api/repos.js +3 -16
  118. package/dist/host/src/api/state.js +7 -2
  119. package/dist/host/src/executor-runner.js +368 -0
  120. package/dist/host/src/executor.js +138 -260
  121. package/dist/host/src/index.js +7 -2
  122. package/dist/host/src/mcp.js +27 -1
  123. package/dist/host/src/ui.js +18 -3
  124. package/dist/server/utils/change-events.js +33 -0
  125. package/dist/server/utils/git.js +11 -16
  126. package/dist/server/utils/prd-service.js +235 -0
  127. package/dist/server/utils/prd-state.js +57 -45
  128. package/dist/server/utils/repos.js +58 -13
  129. package/dist/server/utils/state-schema.js +61 -0
  130. package/dist/server/utils/task-graph.js +2 -2
  131. package/package.json +2 -1
  132. package/.output/public/_nuxt/-k8zG74W.js +0 -61
  133. package/.output/public/_nuxt/B-5VWizU.js +0 -1
  134. package/.output/public/_nuxt/BMAq0QVD.js +0 -42
  135. package/.output/public/_nuxt/BPeTf9dd.js +0 -1
  136. package/.output/public/_nuxt/C2HGkiSP.js +0 -1
  137. package/.output/public/_nuxt/CVvrkZkq.js +0 -1
  138. package/.output/public/_nuxt/Detail.CzXXlavD.css +0 -1
  139. package/.output/public/_nuxt/_prd_.KTotLoF_.css +0 -1
  140. package/.output/public/_nuxt/builds/meta/c1a7997d-8d53-4718-ad03-a977e05e2523.json +0 -1
  141. package/.output/public/_nuxt/qt5OEWHC.js +0 -1
  142. package/.output/public/_nuxt/wbj-mIhK.js +0 -1
  143. package/.output/server/chunks/build/Detail-DC-KJQ1f.mjs.map +0 -1
  144. package/.output/server/chunks/build/DiffViewer-styles-1.mjs-D0sb4vsK.mjs +0 -4
  145. package/.output/server/chunks/build/DiffViewer-styles-1.mjs-D0sb4vsK.mjs.map +0 -1
  146. package/.output/server/chunks/build/DiffViewer-styles.CkSjCQ0r.mjs +0 -10
  147. package/.output/server/chunks/build/DiffViewer-styles.CkSjCQ0r.mjs.map +0 -1
  148. package/.output/server/chunks/build/DiffViewer-styles.FJJuYjYB.mjs +0 -8
  149. package/.output/server/chunks/build/DiffViewer-styles.FJJuYjYB.mjs.map +0 -1
  150. package/.output/server/chunks/build/Viewer-styles.CshnetGw.mjs +0 -8
  151. package/.output/server/chunks/build/Viewer-styles.CshnetGw.mjs.map +0 -1
  152. package/.output/server/chunks/build/_prd_-C1C4GAhW.mjs.map +0 -1
  153. package/.output/server/chunks/build/default-DWCOHHTE.mjs.map +0 -1
  154. package/.output/server/chunks/build/index-CckL_NBD.mjs.map +0 -1
  155. package/.output/server/chunks/build/index-QVeSHT3L.mjs.map +0 -1
  156. package/.output/server/chunks/build/repo-graph-CTEkxiYd.mjs.map +0 -1
  157. package/.output/server/chunks/build/usePrd-SqcxGyFU.mjs.map +0 -1
  158. package/.output/server/node_modules/shiki/dist/bundle-web.mjs +0 -366
@@ -4,7 +4,7 @@ import { ssrRenderAttrs, ssrRenderComponent, ssrRenderSlot, ssrRenderList, ssrIn
4
4
  import { FileText, Folder, Check, Monitor, Sun, Moon, GitBranch, Keyboard, RefreshCw, Search, X } from 'lucide-vue-next';
5
5
  import { useForwardPropsEmits, useForwardProps, ListboxFilter, ListboxContent, Primitive, useId, ListboxGroup, ListboxGroupLabel, ListboxItem, Separator, DialogRoot, DialogPortal, DialogContent as DialogContent$1, DialogClose, DialogTitle as DialogTitle$1, DialogDescription as DialogDescription$1, createContext, useFilter, ListboxRoot, DialogOverlay as DialogOverlay$1, DialogTrigger } from 'reka-ui';
6
6
  import { reactiveOmit, useCurrentElement } from '@vueuse/core';
7
- import { a as usePrd, u as useRepos, c as cn, b as useToast } from './usePrd-SqcxGyFU.mjs';
7
+ import { a as usePrd, u as useRepos, c as cn, b as useToast } from './usePrd-f7ylhIqs.mjs';
8
8
  import '../nitro/nitro.mjs';
9
9
  import 'node:http';
10
10
  import 'node:https';
@@ -13,8 +13,9 @@ import 'node:buffer';
13
13
  import 'node:fs';
14
14
  import 'node:path';
15
15
  import 'node:crypto';
16
- import 'node:os';
17
16
  import 'node:url';
17
+ import 'node:os';
18
+ import 'zod';
18
19
  import '../routes/renderer.mjs';
19
20
  import 'vue-bundle-renderer/runtime';
20
21
  import 'unhead/server';
@@ -2252,4 +2253,4 @@ _sfc_main.setup = (props, ctx) => {
2252
2253
  };
2253
2254
 
2254
2255
  export { _sfc_main as default };
2255
- //# sourceMappingURL=default-DWCOHHTE.mjs.map
2256
+ //# sourceMappingURL=default-Cao5eO80.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-Cao5eO80.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-Cao5eO80.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}
@@ -11,8 +11,9 @@ import 'node:buffer';
11
11
  import 'node:fs';
12
12
  import 'node:path';
13
13
  import 'node:crypto';
14
- import 'node:os';
15
14
  import 'node:url';
15
+ import 'node:os';
16
+ import 'zod';
16
17
  import '../routes/renderer.mjs';
17
18
  import 'vue-bundle-renderer/runtime';
18
19
  import 'unhead/server';
@@ -10,8 +10,9 @@ import 'node:buffer';
10
10
  import 'node:fs';
11
11
  import 'node:path';
12
12
  import 'node:crypto';
13
- import 'node:os';
14
13
  import 'node:url';
14
+ import 'node:os';
15
+ import 'zod';
15
16
  import '../routes/renderer.mjs';
16
17
  import 'vue-bundle-renderer/runtime';
17
18
  import 'unhead/server';
@@ -2,7 +2,7 @@ import { cva } from 'class-variance-authority';
2
2
  import { defineComponent, unref, mergeProps, withCtx, renderSlot, useSSRContext } from 'vue';
3
3
  import { ssrRenderComponent, ssrRenderSlot } from 'vue/server-renderer';
4
4
  import { Primitive } from 'reka-ui';
5
- import { c as cn } from './usePrd-SqcxGyFU.mjs';
5
+ import { c as cn } from './usePrd-f7ylhIqs.mjs';
6
6
 
7
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
8
8
  __name: "Button",
@@ -73,4 +73,4 @@ const buttonVariants = cva(
73
73
  );
74
74
 
75
75
  export { Button as B };
76
- //# sourceMappingURL=index-CckL_NBD.mjs.map
76
+ //# sourceMappingURL=index-ByZO4Bvq.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-ByZO4Bvq.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/index-ByZO4Bvq.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}
@@ -1,9 +1,9 @@
1
1
  import { defineComponent, ref, computed, watch, mergeProps, unref, isRef, withCtx, createVNode, createTextVNode, openBlock, createBlock, useSSRContext } from 'vue';
2
2
  import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrIncludeBooleanAttr, ssrRenderList, ssrGetDynamicModelProps } from 'vue/server-renderer';
3
3
  import { FolderOpen, Folder, ArrowRight, FileText } from 'lucide-vue-next';
4
- import { B as Button } from './index-CckL_NBD.mjs';
4
+ import { B as Button } from './index-ByZO4Bvq.mjs';
5
5
  import { useVModel } from '@vueuse/core';
6
- import { u as useRepos, a as usePrd, c as cn } from './usePrd-SqcxGyFU.mjs';
6
+ import { u as useRepos, a as usePrd, c as cn } from './usePrd-f7ylhIqs.mjs';
7
7
  import { a as useRouter } from './server.mjs';
8
8
  import 'class-variance-authority';
9
9
  import 'reka-ui';
@@ -18,8 +18,9 @@ import 'node:buffer';
18
18
  import 'node:fs';
19
19
  import 'node:path';
20
20
  import 'node:crypto';
21
- import 'node:os';
22
21
  import 'node:url';
22
+ import 'node:os';
23
+ import 'zod';
23
24
  import '@vue/shared';
24
25
  import 'perfect-debounce';
25
26
  import '../routes/renderer.mjs';
@@ -78,6 +79,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
78
79
  const isAdding = ref(false);
79
80
  const showBrowser = ref(false);
80
81
  const browserPath = ref("");
82
+ const browserParent = ref(null);
81
83
  const browserDirs = ref([]);
82
84
  const browserLoading = ref(false);
83
85
  async function browseDirectory(path) {
@@ -87,6 +89,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
87
89
  query: { path: path || browserPath.value || void 0 }
88
90
  });
89
91
  browserPath.value = data.current;
92
+ browserParent.value = data.parent;
90
93
  browserDirs.value = data.directories;
91
94
  } catch {
92
95
  } finally {
@@ -164,7 +167,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
164
167
  }
165
168
  _push(`</div>`);
166
169
  if (unref(showBrowser)) {
167
- _push(`<div class="space-y-2 rounded-md border p-3"><div class="flex items-center gap-2 text-sm"><button type="button" class="hover:text-foreground text-muted-foreground"${ssrIncludeBooleanAttr(unref(browserPath) === "/") ? " disabled" : ""}> .. </button><span class="flex-1 truncate font-mono text-xs text-muted-foreground">${ssrInterpolate(unref(browserPath))}</span>`);
170
+ _push(`<div class="space-y-2 rounded-md border p-3"><div class="flex items-center gap-2 text-sm"><button type="button" class="hover:text-foreground text-muted-foreground"${ssrIncludeBooleanAttr(!unref(browserParent)) ? " disabled" : ""}> .. </button><span class="flex-1 truncate font-mono text-xs text-muted-foreground">${ssrInterpolate(unref(browserPath))}</span>`);
168
171
  _push(ssrRenderComponent(unref(Button), {
169
172
  type: "button",
170
173
  variant: "ghost",
@@ -253,4 +256,4 @@ _sfc_main.setup = (props, ctx) => {
253
256
  };
254
257
 
255
258
  export { _sfc_main as default };
256
- //# sourceMappingURL=index-QVeSHT3L.mjs.map
259
+ //# sourceMappingURL=index-ljj9uTXI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-ljj9uTXI.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/index-ljj9uTXI.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, shallowRef, h, resolveComponent, computed } from 'vue';
2
- import { K as parseQuery, B as hasProtocol, w as joinURL, L as withTrailingSlash, M as withoutTrailingSlash } from '../nitro/nitro.mjs';
2
+ import { N as parseQuery, E as hasProtocol, z as joinURL, O as withTrailingSlash, P as withoutTrailingSlash } from '../nitro/nitro.mjs';
3
3
  import { a as useRouter, e as encodeRoutePath, r as resolveRouteObject, n as navigateTo, c as useNuxtApp, d as useRuntimeConfig, f as nuxtLinkDefaults } from './server.mjs';
4
4
 
5
5
  const firstNonUndefined = (...args) => args.find((arg) => arg !== void 0);
@@ -1,15 +1,14 @@
1
- import { _ as __nuxt_component_0$2, a as __nuxt_component_1 } from './Detail-DC-KJQ1f.mjs';
1
+ import { _ as __nuxt_component_0$2, a as __nuxt_component_1 } from './Detail-MGwP_u2d.mjs';
2
2
  import { defineComponent, computed, ref, inject, watch, mergeProps, unref, withCtx, createVNode, createTextVNode, isRef, useSSRContext } from 'vue';
3
3
  import { ssrRenderAttrs, ssrRenderComponent } from 'vue/server-renderer';
4
4
  import { GitBranch, RefreshCw } from 'lucide-vue-next';
5
- import { B as Button } from './index-CckL_NBD.mjs';
5
+ import { B as Button } from './index-ByZO4Bvq.mjs';
6
6
  import { b as useRoute } from './server.mjs';
7
- import { u as useRepos, a as usePrd, b as useToast } from './usePrd-SqcxGyFU.mjs';
7
+ import { u as useRepos, a as usePrd, b as useToast } from './usePrd-f7ylhIqs.mjs';
8
8
  import '@vueuse/core';
9
9
  import '@vue-flow/background';
10
10
  import '@vue-flow/controls';
11
11
  import '@vue-flow/core';
12
- import 'shiki/bundle/web';
13
12
  import './_plugin-vue_export-helper-1tPrXgE0.mjs';
14
13
  import 'reka-ui';
15
14
  import 'class-variance-authority';
@@ -22,8 +21,9 @@ import 'node:buffer';
22
21
  import 'node:fs';
23
22
  import 'node:path';
24
23
  import 'node:crypto';
25
- import 'node:os';
26
24
  import 'node:url';
25
+ import 'node:os';
26
+ import 'zod';
27
27
  import '../routes/renderer.mjs';
28
28
  import 'vue-bundle-renderer/runtime';
29
29
  import 'unhead/server';
@@ -53,6 +53,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
53
53
  const selectedTaskPrdSlug = ref(null);
54
54
  const detailOpen = ref(false);
55
55
  const selectedTaskCommits = ref([]);
56
+ function getErrorMessage(error, fallback) {
57
+ const fetchError = error;
58
+ return fetchError.data?.message || fetchError.statusMessage || fetchError.message || fallback;
59
+ }
56
60
  function cacheTasksForPrd(slug, tasks) {
57
61
  tasksByPrd.value = {
58
62
  ...tasksByPrd.value,
@@ -63,9 +67,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
63
67
  if (Object.prototype.hasOwnProperty.call(tasksByPrd.value, slug)) {
64
68
  return tasksByPrd.value[slug] ?? null;
65
69
  }
66
- const tasks = await fetchTasks(slug);
67
- cacheTasksForPrd(slug, tasks);
68
- return tasks;
70
+ try {
71
+ const tasks = await fetchTasks(slug);
72
+ cacheTasksForPrd(slug, tasks);
73
+ return tasks;
74
+ } catch (error) {
75
+ showError("Failed to load tasks", getErrorMessage(error, `Could not load tasks for ${slug}.`));
76
+ return null;
77
+ }
69
78
  }
70
79
  const taskTitles = computed(() => {
71
80
  const map = /* @__PURE__ */ new Map();
@@ -99,6 +108,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
99
108
  return;
100
109
  }
101
110
  graph.value = payload;
111
+ } catch (error) {
112
+ graphError.value = getErrorMessage(error, "Failed to load repository graph.");
102
113
  } finally {
103
114
  graphLoading.value = false;
104
115
  }
@@ -114,7 +125,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
114
125
  selectedTaskPrdSlug.value = payload.prdSlug;
115
126
  detailOpen.value = true;
116
127
  selectedTaskCommits.value = [];
117
- selectedTaskCommits.value = await fetchTaskCommits(payload.prdSlug, task.id);
128
+ try {
129
+ selectedTaskCommits.value = await fetchTaskCommits(payload.prdSlug, task.id);
130
+ } catch (error) {
131
+ showError("Failed to load commits", getErrorMessage(error, "Could not resolve task commits."));
132
+ }
118
133
  }
119
134
  const fileChangeEvent = inject("fileChangeEvent", ref(null));
120
135
  watch(
@@ -202,4 +217,4 @@ _sfc_main.setup = (props, ctx) => {
202
217
  };
203
218
 
204
219
  export { _sfc_main as default };
205
- //# sourceMappingURL=repo-graph-CTEkxiYd.mjs.map
220
+ //# sourceMappingURL=repo-graph-EuhMeFt7.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-graph-EuhMeFt7.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/repo-graph-EuhMeFt7.js"],"names":["__nuxt_component_0"],"mappings":"","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
1
  import process from 'node:process';globalThis._importMeta_=globalThis._importMeta_||{url:"file:///_entry.js",env:process.env};import { defineComponent, shallowRef, getCurrentInstance, provide, cloneVNode, h, createElementBlock, hasInjectionContext, inject, computed, toRef, isRef, defineAsyncComponent, unref, shallowReactive, ref, Suspense, Fragment, useSSRContext, createApp, withCtx, createVNode, onErrorCaptured, onServerPrefetch, resolveDynamicComponent, reactive, effectScope, nextTick, mergeProps, getCurrentScope, isReadonly, isShallow, isReactive, toRaw } from 'vue';
2
- import { y as parseURL, z as encodePath, A as decodePath, c as createError$1, B as hasProtocol, C as isScriptProtocol, w as joinURL, D as withQuery, E as sanitizeStatusCode, F as getContext, $ as $fetch, G as createHooks, H as defu, I as executeAsync } from '../nitro/nitro.mjs';
2
+ import { B as parseURL, C as encodePath, D as decodePath, c as createError$1, E as hasProtocol, F as isScriptProtocol, z as joinURL, G as withQuery, H as sanitizeStatusCode, I as getContext, $ as $fetch, J as createHooks, K as defu, L as executeAsync } from '../nitro/nitro.mjs';
3
3
  import { u as useHead$1, h as headSymbol, b as baseURL } from '../routes/renderer.mjs';
4
4
  import { useRoute as useRoute$1, RouterView, createMemoryHistory, createRouter, START_LOCATION } from 'vue-router';
5
5
  import { ssrRenderComponent, ssrRenderSuspense, ssrRenderVNode } from 'vue/server-renderer';
@@ -10,8 +10,9 @@ import 'node:buffer';
10
10
  import 'node:fs';
11
11
  import 'node:path';
12
12
  import 'node:crypto';
13
- import 'node:os';
14
13
  import 'node:url';
14
+ import 'node:os';
15
+ import 'zod';
15
16
  import 'vue-bundle-renderer/runtime';
16
17
  import 'unhead/server';
17
18
  import 'devalue';
@@ -425,19 +426,19 @@ const _routes = [
425
426
  {
426
427
  name: "index",
427
428
  path: "/",
428
- component: () => import('./index-QVeSHT3L.mjs')
429
+ component: () => import('./index-ljj9uTXI.mjs')
429
430
  },
430
431
  {
431
432
  name: "repo-prd",
432
433
  path: "/:repo()/:prd()",
433
434
  meta: __nuxt_page_meta$1 || {},
434
- component: () => import('./_prd_-C1C4GAhW.mjs')
435
+ component: () => import('./_prd_-C-Aj4fVa.mjs')
435
436
  },
436
437
  {
437
438
  name: "repo-repo-graph",
438
439
  path: "/:repo()/repo-graph",
439
440
  meta: __nuxt_page_meta || {},
440
- component: () => import('./repo-graph-CTEkxiYd.mjs')
441
+ component: () => import('./repo-graph-EuhMeFt7.mjs')
441
442
  }
442
443
  ];
443
444
  const _wrapInTransition = (props, children) => {
@@ -851,7 +852,7 @@ const plugins = [
851
852
  plugin_server_9Ca9_HhnjAGwBWpwAydRauMHxWoxTDY60BrArRnXN_A
852
853
  ];
853
854
  const layouts = {
854
- default: defineAsyncComponent(() => import('./default-DWCOHHTE.mjs').then((m) => m.default || m))
855
+ default: defineAsyncComponent(() => import('./default-Cao5eO80.mjs').then((m) => m.default || m))
855
856
  };
856
857
  const routeRulesMatcher = _routeRulesMatcher;
857
858
  const LayoutLoader = defineComponent({
@@ -4,13 +4,13 @@ const styles = {
4
4
  "../node_modules/nuxt/dist/app/components/error-500.vue": () => import('./error-500-styles.DObwArFs.mjs').then(interopDefault),
5
5
  "../node_modules/nuxt/dist/app/components/error-404.vue?vue&type=style&index=0&scoped=a548e1ee&lang.css": () => import('./error-404-styles.DjEXIT5C.mjs').then(interopDefault),
6
6
  "../node_modules/nuxt/dist/app/components/error-500.vue?vue&type=style&index=0&scoped=647e9bc1&lang.css": () => import('./error-500-styles.DObwArFs.mjs').then(interopDefault),
7
- "components/prd/Viewer.vue": () => import('./Viewer-styles.CshnetGw.mjs').then(interopDefault),
8
- "components/prd/Viewer.vue?vue&type=style&index=0&lang.css": () => import('./Viewer-styles.CshnetGw.mjs').then(interopDefault),
7
+ "components/prd/Viewer.vue": () => import('./Viewer-styles.D6wYWFb1.mjs').then(interopDefault),
8
+ "components/prd/Viewer.vue?vue&type=style&index=0&lang.css": () => import('./Viewer-styles.D6wYWFb1.mjs').then(interopDefault),
9
9
  "components/tasks/Column.vue": () => import('./Column-styles.fAtZNsCt.mjs').then(interopDefault),
10
10
  "components/tasks/Column.vue?vue&type=style&index=0&scoped=a1317eba&lang.css": () => import('./Column-styles.fAtZNsCt.mjs').then(interopDefault),
11
- "components/git/DiffViewer.vue": () => import('./DiffViewer-styles.CkSjCQ0r.mjs').then(interopDefault),
11
+ "components/git/DiffViewer.vue": () => import('./DiffViewer-styles.FoV36wuV.mjs').then(interopDefault),
12
12
  "components/git/DiffViewer.vue?vue&type=style&index=1&lang.css": () => import('./DiffViewer-styles.0AbHFl6N.mjs').then(interopDefault),
13
- "components/git/DiffViewer.vue?vue&type=style&index=0&scoped=13d918cc&lang.css": () => import('./DiffViewer-styles.FJJuYjYB.mjs').then(interopDefault)
13
+ "components/git/DiffViewer.vue?vue&type=style&index=0&scoped=a5da7e6e&lang.css": () => import('./DiffViewer-styles.D2bqX3nK.mjs').then(interopDefault)
14
14
  };
15
15
 
16
16
  export { styles as default };
@@ -2,7 +2,7 @@ import { clsx } from 'clsx';
2
2
  import { twMerge } from 'tailwind-merge';
3
3
  import { toast } from 'vue-sonner';
4
4
  import { computed, watch, toValue, reactive, getCurrentInstance, onServerPrefetch, ref, shallowRef, nextTick, unref, toRef } from 'vue';
5
- import { J as hash } from '../nitro/nitro.mjs';
5
+ import { M as hash } from '../nitro/nitro.mjs';
6
6
  import { isPlainObject } from '@vue/shared';
7
7
  import { k as useState, j as fetchDefaults, c as useNuxtApp, h as asyncDataDefaults, i as createError } from './server.mjs';
8
8
  import { debounce } from 'perfect-debounce';
@@ -516,53 +516,29 @@ function usePrd() {
516
516
  }, { immediate: true });
517
517
  async function fetchDocument(slug) {
518
518
  if (!currentRepoId.value) return null;
519
- try {
520
- return await $fetch(`/api/repos/${currentRepoId.value}/prd/${slug}`);
521
- } catch {
522
- return null;
523
- }
519
+ return await $fetch(`/api/repos/${currentRepoId.value}/prd/${slug}`);
524
520
  }
525
521
  async function fetchTasks(slug) {
526
522
  if (!currentRepoId.value) return null;
527
- try {
528
- return await $fetch(`/api/repos/${currentRepoId.value}/prd/${slug}/tasks`);
529
- } catch {
530
- return null;
531
- }
523
+ return await $fetch(`/api/repos/${currentRepoId.value}/prd/${slug}/tasks`);
532
524
  }
533
525
  async function fetchProgress(slug) {
534
526
  if (!currentRepoId.value) return null;
535
- try {
536
- return await $fetch(`/api/repos/${currentRepoId.value}/prd/${slug}/progress`);
537
- } catch {
538
- return null;
539
- }
527
+ return await $fetch(`/api/repos/${currentRepoId.value}/prd/${slug}/progress`);
540
528
  }
541
529
  async function fetchTaskCommits(slug, taskId) {
542
530
  if (!currentRepoId.value) return [];
543
- try {
544
- return await $fetch(
545
- `/api/repos/${currentRepoId.value}/prd/${slug}/tasks/${taskId}/commits`
546
- );
547
- } catch {
548
- return [];
549
- }
531
+ return await $fetch(
532
+ `/api/repos/${currentRepoId.value}/prd/${slug}/tasks/${taskId}/commits`
533
+ );
550
534
  }
551
535
  async function fetchPrdGraph(slug) {
552
536
  if (!currentRepoId.value) return null;
553
- try {
554
- return await $fetch(`/api/repos/${currentRepoId.value}/prd/${slug}/graph`);
555
- } catch {
556
- return null;
557
- }
537
+ return await $fetch(`/api/repos/${currentRepoId.value}/prd/${slug}/graph`);
558
538
  }
559
539
  async function fetchRepoGraph() {
560
540
  if (!currentRepoId.value) return null;
561
- try {
562
- return await $fetch(`/api/repos/${currentRepoId.value}/graph`);
563
- } catch {
564
- return null;
565
- }
541
+ return await $fetch(`/api/repos/${currentRepoId.value}/graph`);
566
542
  }
567
543
  return {
568
544
  prds,
@@ -578,4 +554,4 @@ function usePrd() {
578
554
  }
579
555
 
580
556
  export { usePrd as a, useToast as b, cn as c, useRepos as u };
581
- //# sourceMappingURL=usePrd-SqcxGyFU.mjs.map
557
+ //# sourceMappingURL=usePrd-f7ylhIqs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePrd-f7ylhIqs.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/usePrd-f7ylhIqs.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}