@thxgg/steward 0.1.16 → 0.1.18

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 (157) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{CxHOXVf6.js → -z_Gr0GN.js} +1 -1
  3. package/.output/public/_nuxt/5LlyHjkF.js +60 -0
  4. package/.output/public/_nuxt/BA0u_CRT.js +1 -0
  5. package/.output/public/_nuxt/{Bibm_IDv.js → BA4e9-N5.js} +2 -2
  6. package/.output/public/_nuxt/{BSA0RJ-H.js → BO8EM227.js} +1 -1
  7. package/.output/public/_nuxt/C0XT5P3Q.js +1 -0
  8. package/.output/public/_nuxt/{BWVTacYj.js → CGzrvVc6.js} +1 -1
  9. package/.output/public/_nuxt/{Dum5qplW.js → CJlXUkTg.js} +1 -1
  10. package/.output/public/_nuxt/CZsXZugv.js +1 -0
  11. package/.output/public/_nuxt/{ynmyrfyT.js → C_HVaH3B.js} +1 -1
  12. package/.output/public/_nuxt/{wbjFvimm.js → DAnnHVQP.js} +1 -1
  13. package/.output/public/_nuxt/DEr8q68O.js +141 -0
  14. package/.output/public/_nuxt/Detail.DSyVQNdr.css +1 -0
  15. package/.output/public/_nuxt/DrXxYwWw.js +30 -0
  16. package/.output/public/_nuxt/QAzsKGuP.js +1 -0
  17. package/.output/public/_nuxt/TSsR_oCL.js +1 -0
  18. package/.output/public/_nuxt/WUF6Thhn.js +13 -0
  19. package/.output/public/_nuxt/_prd_.BkpxMFSV.css +1 -0
  20. package/.output/public/_nuxt/builds/latest.json +1 -1
  21. package/.output/public/_nuxt/builds/meta/19e0e040-a531-4c25-b46d-a6ca54a1ae3e.json +1 -0
  22. package/.output/public/_nuxt/i9wn3hS7.js +1 -0
  23. package/.output/server/chunks/_/git-api.mjs +101 -8
  24. package/.output/server/chunks/_/git-api.mjs.map +1 -1
  25. package/.output/server/chunks/_/git.mjs +3 -10
  26. package/.output/server/chunks/_/git.mjs.map +1 -1
  27. package/.output/server/chunks/_/prd-service.mjs +366 -0
  28. package/.output/server/chunks/_/prd-service.mjs.map +1 -0
  29. package/.output/server/chunks/_/repos.mjs +448 -0
  30. package/.output/server/chunks/_/repos.mjs.map +1 -0
  31. package/.output/server/chunks/_/task-graph.mjs +13 -14
  32. package/.output/server/chunks/_/task-graph.mjs.map +1 -1
  33. package/.output/server/chunks/_/watcher.mjs +54 -68
  34. package/.output/server/chunks/_/watcher.mjs.map +1 -1
  35. package/.output/server/chunks/build/{Detail-CUfU85GY.mjs → Detail-BQSkP9Zm.mjs} +170 -74
  36. package/.output/server/chunks/build/Detail-BQSkP9Zm.mjs.map +1 -0
  37. package/.output/server/chunks/build/DiffViewer-styles-1.mjs-BFsE2PCW.mjs +4 -0
  38. package/.output/server/chunks/build/DiffViewer-styles-1.mjs-BFsE2PCW.mjs.map +1 -0
  39. package/.output/server/chunks/build/DiffViewer-styles.D2bqX3nK.mjs +8 -0
  40. package/.output/server/chunks/build/DiffViewer-styles.D2bqX3nK.mjs.map +1 -0
  41. package/.output/server/chunks/build/DiffViewer-styles.FoV36wuV.mjs +10 -0
  42. package/.output/server/chunks/build/DiffViewer-styles.FoV36wuV.mjs.map +1 -0
  43. package/.output/server/chunks/build/Viewer-styles.D6wYWFb1.mjs +8 -0
  44. package/.output/server/chunks/build/Viewer-styles.D6wYWFb1.mjs.map +1 -0
  45. package/.output/server/chunks/build/{_prd_-CeVnQzOV.mjs → _prd_-CBR_wm9i.mjs} +73 -33
  46. package/.output/server/chunks/build/_prd_-CBR_wm9i.mjs.map +1 -0
  47. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  48. package/.output/server/chunks/build/{default-DWCOHHTE.mjs → default-Cao5eO80.mjs} +2 -3
  49. package/.output/server/chunks/build/default-Cao5eO80.mjs.map +1 -0
  50. package/.output/server/chunks/build/error-404-Bf6kdO80.mjs +0 -1
  51. package/.output/server/chunks/build/error-500-D_bcARXN.mjs +0 -1
  52. package/.output/server/chunks/build/{index-CckL_NBD.mjs → index-ByZO4Bvq.mjs} +2 -2
  53. package/.output/server/chunks/build/index-ByZO4Bvq.mjs.map +1 -0
  54. package/.output/server/chunks/build/{index-QVeSHT3L.mjs → index-ljj9uTXI.mjs} +6 -5
  55. package/.output/server/chunks/build/index-ljj9uTXI.mjs.map +1 -0
  56. package/.output/server/chunks/build/nuxt-link-SvT1nf8Z.mjs +1 -1
  57. package/.output/server/chunks/build/{repo-graph-CHNl58mY.mjs → repo-graph-CVnkmn8i.mjs} +23 -10
  58. package/.output/server/chunks/build/repo-graph-CVnkmn8i.mjs.map +1 -0
  59. package/.output/server/chunks/build/server.mjs +5 -6
  60. package/.output/server/chunks/build/styles.mjs +4 -4
  61. package/.output/server/chunks/build/{usePrd-SqcxGyFU.mjs → usePrd-f7ylhIqs.mjs} +10 -34
  62. package/.output/server/chunks/build/usePrd-f7ylhIqs.mjs.map +1 -0
  63. package/.output/server/chunks/nitro/nitro.mjs +614 -1211
  64. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  65. package/.output/server/chunks/routes/api/browse.get.mjs +34 -10
  66. package/.output/server/chunks/routes/api/browse.get.mjs.map +1 -1
  67. package/.output/server/chunks/routes/api/index.get.mjs +3 -2
  68. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  69. package/.output/server/chunks/routes/api/index.post.mjs +22 -7
  70. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  71. package/.output/server/chunks/routes/api/repos/_repoId/git/commits.get.mjs +29 -23
  72. package/.output/server/chunks/routes/api/repos/_repoId/git/commits.get.mjs.map +1 -1
  73. package/.output/server/chunks/routes/api/repos/_repoId/git/diff.get.mjs +12 -7
  74. package/.output/server/chunks/routes/api/repos/_repoId/git/diff.get.mjs.map +1 -1
  75. package/.output/server/chunks/routes/api/repos/_repoId/git/file-content.get.mjs +32 -13
  76. package/.output/server/chunks/routes/api/repos/_repoId/git/file-content.get.mjs.map +1 -1
  77. package/.output/server/chunks/routes/api/repos/_repoId/git/file-diff.get.mjs +14 -14
  78. package/.output/server/chunks/routes/api/repos/_repoId/git/file-diff.get.mjs.map +1 -1
  79. package/.output/server/chunks/routes/api/repos/_repoId/graph.get.mjs +7 -2
  80. package/.output/server/chunks/routes/api/repos/_repoId/graph.get.mjs.map +1 -1
  81. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/graph.get.mjs +16 -2
  82. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/graph.get.mjs.map +1 -1
  83. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/progress.get.mjs +21 -9
  84. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/progress.get.mjs.map +1 -1
  85. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks/_taskId/commits.get.mjs +21 -85
  86. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks/_taskId/commits.get.mjs.map +1 -1
  87. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks.get.mjs +21 -9
  88. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks.get.mjs.map +1 -1
  89. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug_.get.mjs +31 -50
  90. package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug_.get.mjs.map +1 -1
  91. package/.output/server/chunks/routes/api/repos/_repoId/prds.get.mjs +20 -49
  92. package/.output/server/chunks/routes/api/repos/_repoId/prds.get.mjs.map +1 -1
  93. package/.output/server/chunks/routes/api/repos/_repoId/refresh-git-repos.post.mjs +6 -13
  94. package/.output/server/chunks/routes/api/repos/_repoId/refresh-git-repos.post.mjs.map +1 -1
  95. package/.output/server/chunks/routes/api/repos/_repoId_.delete.mjs +3 -2
  96. package/.output/server/chunks/routes/api/repos/_repoId_.delete.mjs.map +1 -1
  97. package/.output/server/chunks/routes/api/runtime.get.mjs +1 -2
  98. package/.output/server/chunks/routes/api/runtime.get.mjs.map +1 -1
  99. package/.output/server/chunks/routes/api/watch.get.mjs +5 -4
  100. package/.output/server/chunks/routes/api/watch.get.mjs.map +1 -1
  101. package/.output/server/chunks/routes/renderer.mjs +1 -1
  102. package/.output/server/index.mjs +1 -2
  103. package/.output/server/index.mjs.map +1 -1
  104. package/.output/server/node_modules/zod/index.js +4 -0
  105. package/.output/server/node_modules/zod/package.json +118 -0
  106. package/.output/server/node_modules/zod/v3/ZodError.js +133 -0
  107. package/.output/server/node_modules/zod/v3/errors.js +9 -0
  108. package/.output/server/node_modules/zod/v3/external.js +6 -0
  109. package/.output/server/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  110. package/.output/server/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  111. package/.output/server/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  112. package/.output/server/node_modules/zod/v3/helpers/util.js +133 -0
  113. package/.output/server/node_modules/zod/v3/locales/en.js +109 -0
  114. package/.output/server/node_modules/zod/v3/types.js +3693 -0
  115. package/.output/server/package.json +2 -1
  116. package/README.md +2 -2
  117. package/dist/host/src/api/prds.js +6 -172
  118. package/dist/host/src/api/repos.js +3 -18
  119. package/dist/host/src/api/state.js +8 -9
  120. package/dist/host/src/executor-runner.js +368 -0
  121. package/dist/host/src/executor.js +138 -260
  122. package/dist/host/src/mcp.js +27 -1
  123. package/dist/host/src/ui.js +14 -4
  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 +231 -0
  127. package/dist/server/utils/prd-state.js +54 -162
  128. package/dist/server/utils/repos.js +72 -17
  129. package/dist/server/utils/state-schema.js +61 -0
  130. package/dist/server/utils/task-graph.js +13 -13
  131. package/package.json +2 -1
  132. package/.output/public/_nuxt/CVJh28bx.js +0 -1
  133. package/.output/public/_nuxt/CyZuidLG.js +0 -60
  134. package/.output/public/_nuxt/D0op9E2g.js +0 -1
  135. package/.output/public/_nuxt/DX8awZaa.js +0 -1
  136. package/.output/public/_nuxt/Detail.z33AHKev.css +0 -1
  137. package/.output/public/_nuxt/DiTJUZOC.js +0 -1
  138. package/.output/public/_nuxt/T_3JE9C-.js +0 -1
  139. package/.output/public/_nuxt/WOI2tLsR.js +0 -42
  140. package/.output/public/_nuxt/_prd_.KTotLoF_.css +0 -1
  141. package/.output/public/_nuxt/builds/meta/029070b0-b8e2-4988-84f4-d0c9ff55c998.json +0 -1
  142. package/.output/public/_nuxt/odRGDGwj.js +0 -1
  143. package/.output/server/chunks/build/Detail-CUfU85GY.mjs.map +0 -1
  144. package/.output/server/chunks/build/DiffViewer-styles-1.mjs-CS8FTppg.mjs +0 -4
  145. package/.output/server/chunks/build/DiffViewer-styles-1.mjs-CS8FTppg.mjs.map +0 -1
  146. package/.output/server/chunks/build/DiffViewer-styles.AUfwwelI.mjs +0 -10
  147. package/.output/server/chunks/build/DiffViewer-styles.AUfwwelI.mjs.map +0 -1
  148. package/.output/server/chunks/build/DiffViewer-styles.D_it8zfk.mjs +0 -8
  149. package/.output/server/chunks/build/DiffViewer-styles.D_it8zfk.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_-CeVnQzOV.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-CHNl58mY.mjs.map +0 -1
  157. package/.output/server/chunks/build/usePrd-SqcxGyFU.mjs.map +0 -1
@@ -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,7 +13,6 @@ 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';
18
17
  import '../routes/renderer.mjs';
19
18
  import 'vue-bundle-renderer/runtime';
@@ -2252,4 +2251,4 @@ _sfc_main.setup = (props, ctx) => {
2252
2251
  };
2253
2252
 
2254
2253
  export { _sfc_main as default };
2255
- //# sourceMappingURL=default-DWCOHHTE.mjs.map
2254
+ //# 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,7 +11,6 @@ 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';
16
15
  import '../routes/renderer.mjs';
17
16
  import 'vue-bundle-renderer/runtime';
@@ -10,7 +10,6 @@ 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';
15
14
  import '../routes/renderer.mjs';
16
15
  import 'vue-bundle-renderer/runtime';
@@ -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,7 +18,6 @@ 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';
23
22
  import '@vue/shared';
24
23
  import 'perfect-debounce';
@@ -78,6 +77,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
78
77
  const isAdding = ref(false);
79
78
  const showBrowser = ref(false);
80
79
  const browserPath = ref("");
80
+ const browserParent = ref(null);
81
81
  const browserDirs = ref([]);
82
82
  const browserLoading = ref(false);
83
83
  async function browseDirectory(path) {
@@ -87,6 +87,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
87
87
  query: { path: path || browserPath.value || void 0 }
88
88
  });
89
89
  browserPath.value = data.current;
90
+ browserParent.value = data.parent;
90
91
  browserDirs.value = data.directories;
91
92
  } catch {
92
93
  } finally {
@@ -164,7 +165,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
164
165
  }
165
166
  _push(`</div>`);
166
167
  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>`);
168
+ _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
169
  _push(ssrRenderComponent(unref(Button), {
169
170
  type: "button",
170
171
  variant: "ghost",
@@ -253,4 +254,4 @@ _sfc_main.setup = (props, ctx) => {
253
254
  };
254
255
 
255
256
  export { _sfc_main as default };
256
- //# sourceMappingURL=index-QVeSHT3L.mjs.map
257
+ //# 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 { B as parseQuery, o as hasProtocol, k as joinURL, C as withTrailingSlash, D 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-CUfU85GY.mjs';
1
+ import { _ as __nuxt_component_0$2, a as __nuxt_component_1 } from './Detail-BQSkP9Zm.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/full';
13
12
  import './_plugin-vue_export-helper-1tPrXgE0.mjs';
14
13
  import 'reka-ui';
15
14
  import 'class-variance-authority';
@@ -22,7 +21,6 @@ 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';
27
25
  import '../routes/renderer.mjs';
28
26
  import 'vue-bundle-renderer/runtime';
@@ -53,6 +51,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
53
51
  const selectedTaskPrdSlug = ref(null);
54
52
  const detailOpen = ref(false);
55
53
  const selectedTaskCommits = ref([]);
54
+ function getErrorMessage(error, fallback) {
55
+ const fetchError = error;
56
+ return fetchError.data?.message || fetchError.statusMessage || fetchError.message || fallback;
57
+ }
56
58
  function cacheTasksForPrd(slug, tasks) {
57
59
  tasksByPrd.value = {
58
60
  ...tasksByPrd.value,
@@ -63,9 +65,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
63
65
  if (Object.prototype.hasOwnProperty.call(tasksByPrd.value, slug)) {
64
66
  return tasksByPrd.value[slug] ?? null;
65
67
  }
66
- const tasks = await fetchTasks(slug);
67
- cacheTasksForPrd(slug, tasks);
68
- return tasks;
68
+ try {
69
+ const tasks = await fetchTasks(slug);
70
+ cacheTasksForPrd(slug, tasks);
71
+ return tasks;
72
+ } catch (error) {
73
+ showError("Failed to load tasks", getErrorMessage(error, `Could not load tasks for ${slug}.`));
74
+ return null;
75
+ }
69
76
  }
70
77
  const taskTitles = computed(() => {
71
78
  const map = /* @__PURE__ */ new Map();
@@ -99,6 +106,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
99
106
  return;
100
107
  }
101
108
  graph.value = payload;
109
+ } catch (error) {
110
+ graphError.value = getErrorMessage(error, "Failed to load repository graph.");
102
111
  } finally {
103
112
  graphLoading.value = false;
104
113
  }
@@ -114,7 +123,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
114
123
  selectedTaskPrdSlug.value = payload.prdSlug;
115
124
  detailOpen.value = true;
116
125
  selectedTaskCommits.value = [];
117
- selectedTaskCommits.value = await fetchTaskCommits(payload.prdSlug, task.id);
126
+ try {
127
+ selectedTaskCommits.value = await fetchTaskCommits(payload.prdSlug, task.id);
128
+ } catch (error) {
129
+ showError("Failed to load commits", getErrorMessage(error, "Could not resolve task commits."));
130
+ }
118
131
  }
119
132
  const fileChangeEvent = inject("fileChangeEvent", ref(null));
120
133
  watch(
@@ -202,4 +215,4 @@ _sfc_main.setup = (props, ctx) => {
202
215
  };
203
216
 
204
217
  export { _sfc_main as default };
205
- //# sourceMappingURL=repo-graph-CHNl58mY.mjs.map
218
+ //# sourceMappingURL=repo-graph-CVnkmn8i.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-graph-CVnkmn8i.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/repo-graph-CVnkmn8i.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 { p as parseURL, m as encodePath, n as decodePath, c as createError$1, o as hasProtocol, q as isScriptProtocol, k as joinURL, w as withQuery, t as sanitizeStatusCode, v as getContext, $ as $fetch, x as createHooks, y as defu, z 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,7 +10,6 @@ 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';
15
14
  import 'vue-bundle-renderer/runtime';
16
15
  import 'unhead/server';
@@ -425,19 +424,19 @@ const _routes = [
425
424
  {
426
425
  name: "index",
427
426
  path: "/",
428
- component: () => import('./index-QVeSHT3L.mjs')
427
+ component: () => import('./index-ljj9uTXI.mjs')
429
428
  },
430
429
  {
431
430
  name: "repo-prd",
432
431
  path: "/:repo()/:prd()",
433
432
  meta: __nuxt_page_meta$1 || {},
434
- component: () => import('./_prd_-CeVnQzOV.mjs')
433
+ component: () => import('./_prd_-CBR_wm9i.mjs')
435
434
  },
436
435
  {
437
436
  name: "repo-repo-graph",
438
437
  path: "/:repo()/repo-graph",
439
438
  meta: __nuxt_page_meta || {},
440
- component: () => import('./repo-graph-CHNl58mY.mjs')
439
+ component: () => import('./repo-graph-CVnkmn8i.mjs')
441
440
  }
442
441
  ];
443
442
  const _wrapInTransition = (props, children) => {
@@ -851,7 +850,7 @@ const plugins = [
851
850
  plugin_server_9Ca9_HhnjAGwBWpwAydRauMHxWoxTDY60BrArRnXN_A
852
851
  ];
853
852
  const layouts = {
854
- default: defineAsyncComponent(() => import('./default-DWCOHHTE.mjs').then((m) => m.default || m))
853
+ default: defineAsyncComponent(() => import('./default-Cao5eO80.mjs').then((m) => m.default || m))
855
854
  };
856
855
  const routeRulesMatcher = _routeRulesMatcher;
857
856
  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.AUfwwelI.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=8fd455b9&lang.css": () => import('./DiffViewer-styles.D_it8zfk.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 { A 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]}