@slycode/slycode 0.2.21 → 0.2.22

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 (189) hide show
  1. package/dist/bridge/provider-utils.d.ts +10 -0
  2. package/dist/bridge/provider-utils.js +5 -1
  3. package/dist/bridge/provider-utils.js.map +1 -1
  4. package/dist/bridge/session-manager.js +6 -0
  5. package/dist/bridge/session-manager.js.map +1 -1
  6. package/dist/bridge/types.d.ts +4 -0
  7. package/dist/messaging/bridge-client.d.ts +3 -3
  8. package/dist/messaging/bridge-client.js +6 -4
  9. package/dist/messaging/bridge-client.js.map +1 -1
  10. package/dist/messaging/index.js +111 -20
  11. package/dist/messaging/index.js.map +1 -1
  12. package/dist/messaging/state.d.ts +3 -0
  13. package/dist/messaging/state.js +13 -0
  14. package/dist/messaging/state.js.map +1 -1
  15. package/dist/messaging/types.d.ts +3 -0
  16. package/dist/web/.next/BUILD_ID +1 -1
  17. package/dist/web/.next/build-manifest.json +2 -2
  18. package/dist/web/.next/server/app/_global-error.html +2 -2
  19. package/dist/web/.next/server/app/_global-error.rsc +1 -1
  20. package/dist/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  21. package/dist/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  22. package/dist/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  23. package/dist/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  24. package/dist/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  25. package/dist/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  26. package/dist/web/.next/server/app/_not-found.html +1 -1
  27. package/dist/web/.next/server/app/_not-found.rsc +2 -2
  28. package/dist/web/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  29. package/dist/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  30. package/dist/web/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  31. package/dist/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  32. package/dist/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  33. package/dist/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  34. package/dist/web/.next/server/app/api/areas/route.js +1 -1
  35. package/dist/web/.next/server/app/api/areas/route.js.nft.json +1 -1
  36. package/dist/web/.next/server/app/api/bridge/[...path]/route.js +1 -1
  37. package/dist/web/.next/server/app/api/bridge/[...path]/route.js.nft.json +1 -1
  38. package/dist/web/.next/server/app/api/cli-assets/assistant/route.js +1 -1
  39. package/dist/web/.next/server/app/api/cli-assets/assistant/route.js.nft.json +1 -1
  40. package/dist/web/.next/server/app/api/cli-assets/fix/route.js +1 -1
  41. package/dist/web/.next/server/app/api/cli-assets/fix/route.js.nft.json +1 -1
  42. package/dist/web/.next/server/app/api/cli-assets/import/route.js +1 -1
  43. package/dist/web/.next/server/app/api/cli-assets/import/route.js.nft.json +1 -1
  44. package/dist/web/.next/server/app/api/cli-assets/route.js +2 -2
  45. package/dist/web/.next/server/app/api/cli-assets/route.js.nft.json +1 -1
  46. package/dist/web/.next/server/app/api/cli-assets/store/preview/route.js +1 -1
  47. package/dist/web/.next/server/app/api/cli-assets/store/preview/route.js.nft.json +1 -1
  48. package/dist/web/.next/server/app/api/cli-assets/store/route.js +2 -2
  49. package/dist/web/.next/server/app/api/cli-assets/store/route.js.nft.json +1 -1
  50. package/dist/web/.next/server/app/api/cli-assets/sync/route.js +1 -1
  51. package/dist/web/.next/server/app/api/cli-assets/sync/route.js.nft.json +1 -1
  52. package/dist/web/.next/server/app/api/cli-assets/updates/route.js +2 -2
  53. package/dist/web/.next/server/app/api/cli-assets/updates/route.js.nft.json +1 -1
  54. package/dist/web/.next/server/app/api/dashboard/route.js +2 -2
  55. package/dist/web/.next/server/app/api/dashboard/route.js.nft.json +1 -1
  56. package/dist/web/.next/server/app/api/events/route.js +1 -1
  57. package/dist/web/.next/server/app/api/events/route.js.nft.json +1 -1
  58. package/dist/web/.next/server/app/api/file/route.js +1 -1
  59. package/dist/web/.next/server/app/api/file/route.js.nft.json +1 -1
  60. package/dist/web/.next/server/app/api/git-status/route.js +1 -1
  61. package/dist/web/.next/server/app/api/git-status/route.js.nft.json +1 -1
  62. package/dist/web/.next/server/app/api/kanban/route.js +1 -1
  63. package/dist/web/.next/server/app/api/kanban/route.js.nft.json +1 -1
  64. package/dist/web/.next/server/app/api/kanban/stream/route.js +1 -1
  65. package/dist/web/.next/server/app/api/kanban/stream/route.js.nft.json +1 -1
  66. package/dist/web/.next/server/app/api/projects/[id]/route.js +2 -2
  67. package/dist/web/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  68. package/dist/web/.next/server/app/api/projects/analyze/route.js +1 -1
  69. package/dist/web/.next/server/app/api/projects/analyze/route.js.nft.json +1 -1
  70. package/dist/web/.next/server/app/api/projects/reorder/route.js +2 -2
  71. package/dist/web/.next/server/app/api/projects/reorder/route.js.nft.json +1 -1
  72. package/dist/web/.next/server/app/api/projects/route.js +2 -2
  73. package/dist/web/.next/server/app/api/projects/route.js.nft.json +1 -1
  74. package/dist/web/.next/server/app/api/providers/route.js +1 -1
  75. package/dist/web/.next/server/app/api/providers/route.js.nft.json +1 -1
  76. package/dist/web/.next/server/app/api/scheduler/route.js +1 -1
  77. package/dist/web/.next/server/app/api/scheduler/route.js.nft.json +1 -1
  78. package/dist/web/.next/server/app/api/search/route.js +1 -1
  79. package/dist/web/.next/server/app/api/search/route.js.nft.json +1 -1
  80. package/dist/web/.next/server/app/api/settings/route.js +1 -1
  81. package/dist/web/.next/server/app/api/settings/route.js.nft.json +1 -1
  82. package/dist/web/.next/server/app/api/sly-actions/invalidate/route.js +1 -1
  83. package/dist/web/.next/server/app/api/sly-actions/invalidate/route.js.nft.json +1 -1
  84. package/dist/web/.next/server/app/api/sly-actions/route.js +1 -1
  85. package/dist/web/.next/server/app/api/sly-actions/route.js.nft.json +1 -1
  86. package/dist/web/.next/server/app/api/sly-actions/stream/route.js +1 -1
  87. package/dist/web/.next/server/app/api/sly-actions/stream/route.js.nft.json +1 -1
  88. package/dist/web/.next/server/app/api/system-stats/route.js +1 -1
  89. package/dist/web/.next/server/app/api/system-stats/route.js.nft.json +1 -1
  90. package/dist/web/.next/server/app/api/terminal-classes/route.js +1 -1
  91. package/dist/web/.next/server/app/api/terminal-classes/route.js.nft.json +1 -1
  92. package/dist/web/.next/server/app/api/transcribe/route.js +5 -5
  93. package/dist/web/.next/server/app/api/transcribe/route.js.nft.json +1 -1
  94. package/dist/web/.next/server/app/api/version-check/route.js +1 -1
  95. package/dist/web/.next/server/app/api/version-check/route.js.nft.json +1 -1
  96. package/dist/web/.next/server/app/page.js +1 -1
  97. package/dist/web/.next/server/app/page.js.nft.json +1 -1
  98. package/dist/web/.next/server/app/page_client-reference-manifest.js +1 -1
  99. package/dist/web/.next/server/app/project/[id]/page.js +2 -2
  100. package/dist/web/.next/server/app/project/[id]/page.js.nft.json +1 -1
  101. package/dist/web/.next/server/app/project/[id]/page_client-reference-manifest.js +1 -1
  102. package/dist/web/.next/server/chunks/{[externals]__c6831f39._.js → [externals]__78e522ea._.js} +2 -2
  103. package/dist/web/.next/server/chunks/{[root-of-the-server]__1ec21ccc._.js → [root-of-the-server]__029203cd._.js} +3 -3
  104. package/dist/web/.next/server/chunks/{[root-of-the-server]__4297cb97._.js → [root-of-the-server]__0d6d4443._.js} +1 -1
  105. package/dist/web/.next/server/chunks/[root-of-the-server]__172ad0b1._.js +18 -0
  106. package/dist/web/.next/server/chunks/[root-of-the-server]__1c5f4ef9._.js +3 -0
  107. package/dist/web/.next/server/chunks/[root-of-the-server]__1cab11f0._.js +3 -0
  108. package/dist/web/.next/server/chunks/{[root-of-the-server]__0f69c28a._.js → [root-of-the-server]__1eb3f172._.js} +2 -2
  109. package/dist/web/.next/server/chunks/[root-of-the-server]__22cba275._.js +3 -0
  110. package/dist/web/.next/server/chunks/[root-of-the-server]__2543e413._.js +3 -0
  111. package/dist/web/.next/server/chunks/[root-of-the-server]__2c42a835._.js +3 -0
  112. package/dist/web/.next/server/chunks/[root-of-the-server]__2ed0ff47._.js +3 -0
  113. package/dist/web/.next/server/chunks/[root-of-the-server]__35454eea._.js +27 -0
  114. package/dist/web/.next/server/chunks/[root-of-the-server]__35768b56._.js +3 -0
  115. package/dist/web/.next/server/chunks/[root-of-the-server]__3880228a._.js +3 -0
  116. package/dist/web/.next/server/chunks/[root-of-the-server]__42322d88._.js +3 -0
  117. package/dist/web/.next/server/chunks/{[root-of-the-server]__d0f4efec._.js → [root-of-the-server]__5152eeff._.js} +3 -3
  118. package/dist/web/.next/server/chunks/[root-of-the-server]__527c7f57._.js +3 -0
  119. package/dist/web/.next/server/chunks/[root-of-the-server]__5c5dac4b._.js +3 -0
  120. package/dist/web/.next/server/chunks/[root-of-the-server]__5cb130f2._.js +3 -0
  121. package/dist/web/.next/server/chunks/[root-of-the-server]__68927e75._.js +3 -0
  122. package/dist/web/.next/server/chunks/[root-of-the-server]__719517c7._.js +3 -0
  123. package/dist/web/.next/server/chunks/[root-of-the-server]__73cf49c2._.js +3 -0
  124. package/dist/web/.next/server/chunks/{[root-of-the-server]__f5dae2ad._.js → [root-of-the-server]__7af4ab09._.js} +1 -1
  125. package/dist/web/.next/server/chunks/{[root-of-the-server]__4244617a._.js → [root-of-the-server]__7e6860e0._.js} +3 -3
  126. package/dist/web/.next/server/chunks/[root-of-the-server]__88bf5e22._.js +3 -0
  127. package/dist/web/.next/server/chunks/{[root-of-the-server]__f97e93fa._.js → [root-of-the-server]__8b4259cb._.js} +3 -3
  128. package/dist/web/.next/server/chunks/[root-of-the-server]__92f81907._.js +3 -0
  129. package/dist/web/.next/server/chunks/[root-of-the-server]__967603e9._.js +3 -0
  130. package/dist/web/.next/server/chunks/[root-of-the-server]__9e4bd28f._.js +3 -0
  131. package/dist/web/.next/server/chunks/[root-of-the-server]__ba1d2e56._.js +3 -0
  132. package/dist/web/.next/server/chunks/[root-of-the-server]__c942d872._.js +3 -0
  133. package/dist/web/.next/server/chunks/[root-of-the-server]__d7893622._.js +3 -0
  134. package/dist/web/.next/server/chunks/{[root-of-the-server]__3b9d3e43._.js → [root-of-the-server]__d843611b._.js} +6 -6
  135. package/dist/web/.next/server/chunks/[root-of-the-server]__f4d2627f._.js +3 -0
  136. package/dist/web/.next/server/chunks/[root-of-the-server]__f597835d._.js +3 -0
  137. package/dist/web/.next/server/chunks/{[root-of-the-server]__cf14e306._.js → [root-of-the-server]__fe8b9abd._.js} +1 -1
  138. package/dist/web/.next/server/chunks/src_677020aa._.js +1 -1
  139. package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__1f5fc489._.js +1 -1
  140. package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__43d93717._.js +3 -0
  141. package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__90f82e6d._.js +3 -0
  142. package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__bcbe4bf2._.js +1 -1
  143. package/dist/web/.next/server/chunks/ssr/src_lib_registry_ts_2fc87c9c._.js +1 -1
  144. package/dist/web/.next/server/pages/404.html +1 -1
  145. package/dist/web/.next/server/pages/500.html +2 -2
  146. package/dist/web/.next/static/chunks/18cfbdd7e977bb01.css +1 -0
  147. package/dist/web/.next/static/chunks/8415039c5941cf5c.js +4 -0
  148. package/dist/web/.next/static/chunks/{3d5195b57fc05540.js → a0f5f9cdee8a22c1.js} +2 -2
  149. package/dist/web/src/app/api/projects/analyze/route.ts +12 -2
  150. package/dist/web/src/app/api/projects/route.ts +1 -11
  151. package/dist/web/src/app/api/providers/route.ts +4 -0
  152. package/dist/web/src/components/ClaudeTerminalPanel.tsx +124 -70
  153. package/dist/web/src/lib/paths.ts +14 -0
  154. package/dist/web/tsconfig.tsbuildinfo +1 -1
  155. package/package.json +1 -1
  156. package/templates/kanban-seed.json +1 -1
  157. package/dist/web/.next/server/chunks/[root-of-the-server]__09aec55a._.js +0 -3
  158. package/dist/web/.next/server/chunks/[root-of-the-server]__12f6cd6f._.js +0 -3
  159. package/dist/web/.next/server/chunks/[root-of-the-server]__15fc9266._.js +0 -18
  160. package/dist/web/.next/server/chunks/[root-of-the-server]__198f01e0._.js +0 -3
  161. package/dist/web/.next/server/chunks/[root-of-the-server]__279e9bf3._.js +0 -3
  162. package/dist/web/.next/server/chunks/[root-of-the-server]__2b639eab._.js +0 -3
  163. package/dist/web/.next/server/chunks/[root-of-the-server]__2d1f0ed9._.js +0 -3
  164. package/dist/web/.next/server/chunks/[root-of-the-server]__3f239285._.js +0 -3
  165. package/dist/web/.next/server/chunks/[root-of-the-server]__47dd878e._.js +0 -3
  166. package/dist/web/.next/server/chunks/[root-of-the-server]__5b8c9374._.js +0 -3
  167. package/dist/web/.next/server/chunks/[root-of-the-server]__5e08b942._.js +0 -3
  168. package/dist/web/.next/server/chunks/[root-of-the-server]__6ffce934._.js +0 -3
  169. package/dist/web/.next/server/chunks/[root-of-the-server]__71bb3374._.js +0 -3
  170. package/dist/web/.next/server/chunks/[root-of-the-server]__7603305e._.js +0 -3
  171. package/dist/web/.next/server/chunks/[root-of-the-server]__7c476ad6._.js +0 -3
  172. package/dist/web/.next/server/chunks/[root-of-the-server]__846ca56f._.js +0 -3
  173. package/dist/web/.next/server/chunks/[root-of-the-server]__98d88050._.js +0 -3
  174. package/dist/web/.next/server/chunks/[root-of-the-server]__b273cc05._.js +0 -3
  175. package/dist/web/.next/server/chunks/[root-of-the-server]__b90bbd70._.js +0 -3
  176. package/dist/web/.next/server/chunks/[root-of-the-server]__d5272169._.js +0 -3
  177. package/dist/web/.next/server/chunks/[root-of-the-server]__d56e68cb._.js +0 -3
  178. package/dist/web/.next/server/chunks/[root-of-the-server]__d6362272._.js +0 -3
  179. package/dist/web/.next/server/chunks/[root-of-the-server]__de1277ee._.js +0 -27
  180. package/dist/web/.next/server/chunks/[root-of-the-server]__e88a19d2._.js +0 -3
  181. package/dist/web/.next/server/chunks/[root-of-the-server]__f3e501b6._.js +0 -3
  182. package/dist/web/.next/server/chunks/[root-of-the-server]__f59af2bc._.js +0 -3
  183. package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__9ac6ea25._.js +0 -3
  184. package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__dfe2728c._.js +0 -3
  185. package/dist/web/.next/static/chunks/59fb302a5bfd2dc0.js +0 -4
  186. package/dist/web/.next/static/chunks/747f5e5f9dcf2621.css +0 -1
  187. /package/dist/web/.next/static/{0sPAbk-Qw-InZ0rdHjHnC → b2V8jC3HBMi4vgm7Kie3H}/_buildManifest.js +0 -0
  188. /package/dist/web/.next/static/{0sPAbk-Qw-InZ0rdHjHnC → b2V8jC3HBMi4vgm7Kie3H}/_clientMiddlewareManifest.json +0 -0
  189. /package/dist/web/.next/static/{0sPAbk-Qw-InZ0rdHjHnC → b2V8jC3HBMi4vgm7Kie3H}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},7367,e=>{"use strict";var t=e.i(14747),r=e.i(22734);function a(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return(console.warn("[paths] SLYCODE_HOME not set in production — falling back to cwd:",e),e.endsWith("/web")||e.endsWith("\\web"))?t.default.dirname(e):e}function n(){let e=a(),n=t.default.join(e,"node_modules","@slycode","slycode","dist");return r.default.existsSync(n)?n:e}function s(){return process.env.BRIDGE_URL?process.env.BRIDGE_URL:"http://127.0.0.1:3004"}e.s(["getBridgeUrl",()=>s,"getPackageDir",()=>n,"getSlycodeRoot",()=>a])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},73178,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(46676),n=e.i(7367);function s(){return r.default.join((0,n.getSlycodeRoot)(),"store")}function i(e,n){let s=[],i="skill"===n?"skills":"agents",o=r.default.join(e,i);try{if(!t.default.existsSync(o))return s;for(let e of t.default.readdirSync(o,{withFileTypes:!0})){let l,d;if("skill"===n){if(!e.isDirectory()||(l=r.default.join(o,e.name,"SKILL.md"),d=r.default.join(i,e.name,"SKILL.md"),!t.default.existsSync(l)))continue}else{if(!e.isFile()||!e.name.endsWith(".md"))continue;l=r.default.join(o,e.name),d=r.default.join(i,e.name)}let u=t.default.readFileSync(l,"utf-8"),c=(0,a.parseFrontmatter)(u),p=c?.name||e.name.replace(/\.md$/,"");s.push({name:p,type:n,path:d,frontmatter:c,isValid:(0,a.validateFrontmatter)(c)})}}catch{}return s.sort((e,t)=>e.name.localeCompare(t.name))}function o(){let e=s(),a=i(e,"skill");return{skills:a,agents:i(e,"agent"),mcp:function(e){let a=r.default.join(e,"mcp"),n=[];try{if(!t.default.existsSync(a))return n;for(let e of t.default.readdirSync(a,{withFileTypes:!0})){let s;if(!e.isFile()||!e.name.endsWith(".json"))continue;let i=r.default.join(a,e.name),o=t.default.readFileSync(i,"utf-8");try{s=JSON.parse(o)}catch{continue}let l=s.name||e.name.replace(/\.json$/,"");n.push({name:l,type:"mcp",path:r.default.join("mcp",e.name),frontmatter:{name:l,version:s.version,description:s.description,updated:s.updated},isValid:!!(s.name&&(s.command||s.url))})}}catch{}return n}(e)}}function l(){let e=s();return[...i(e,"skill"),...i(e,"agent")]}e.s(["getStoreAssets",()=>l,"scanStore",()=>o])},48044,e=>{"use strict";var t=e.i(22734),r=e.i(33405),a=e.i(14747),n=e.i(46676),s=e.i(73178);let i={outdatedAssets:.3,staleCards:.15,unresolvedProblems:.25,missingClaudeMd:.1,nonCompliantFrontmatter:.2};function o(e,t=0,r=0,a=0,n=i){let s=[],l=Math.max(r,1);s.push({name:"Outdated Assets",weight:n.outdatedAssets,value:t,maxValue:l});let d=Date.now(),u=[...e.backlog],c=u.filter(e=>(d-new Date(e.created_at).getTime())/864e5>14&&"done"!==e.status).length,p=Math.max(u.length,1);s.push({name:"Stale Cards",weight:n.staleCards,value:c,maxValue:p}),s.push({name:"Unresolved Problems",weight:n.unresolvedProblems,value:0,maxValue:1}),s.push({name:"Missing CLAUDE.md",weight:n.missingClaudeMd,value:+!e.hasClaudeMd,maxValue:1});let f=Math.max(r,1);s.push({name:"Non-compliant Frontmatter",weight:n.nonCompliantFrontmatter,value:a,maxValue:f});let m=0;for(let e of s)m+=Math.min(e.maxValue>0?e.value/e.maxValue:0,1)*e.weight;let h=Math.round(Math.max(0,(1-m)*100));return{score:h,level:h>=80?"green":h>=50?"amber":"red",factors:s}}var l=e.i(7367);function d(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return e.endsWith("/web")||e.endsWith("\\web")?a.default.dirname(e):e}let u=d(),c=a.default.join(u,"projects","registry.json");async function p(){try{let e=await t.promises.readFile(c,"utf-8");return JSON.parse(e)}catch(e){throw console.error("Failed to load registry:",e),Error(`Failed to load registry from ${c}`)}}async function f(e){let r=JSON.stringify(e,null,2)+"\n";await t.promises.writeFile(c,r,"utf-8")}async function m(e){try{return(await t.promises.stat(e)).isDirectory()}catch{return!1}}async function h(e){try{let r=await t.promises.readFile(e,"utf-8");return JSON.parse(r)}catch{return null}}async function g(e,t,r){let n=a.default.join(e,"documentation","backlog.json"),s=await h(n);return s?s.map(e=>({...e,projectId:t,projectName:r})):[]}async function x(e,t){let r=a.default.join(e,"documentation","designs.json"),n=await h(r);return n?n.map(e=>({...e,projectId:t})):[]}async function v(e,t){let r=a.default.join(e,"documentation","features.json"),n=await h(r);return n?n.map(e=>({...e,projectId:t})):[]}async function y(e){let t=e.path;if(!await m(t))return{...e,backlog:[],designs:[],features:[],accessible:!1,error:`Path not accessible: ${t}`};let[a,s,i]=await Promise.all([g(t,e.id,e.name),x(t,e.id),v(t,e.id)]),o=(0,n.scanProjectAssets)(t,e.id),l=(0,n.detectPlatforms)(t),d=function(e){try{return(0,r.execSync)("git status --porcelain",{cwd:e,encoding:"utf-8",timeout:5e3}).split("\n").filter(e=>e.trim().length>0).length}catch{return -1}}(t);return{...e,backlog:a,designs:s,features:i,assets:o,platforms:l,gitUncommitted:d>=0?d:void 0,accessible:!0}}async function w(){let e=await p();for(let t=0;t<e.projects.length;t++)void 0===e.projects[t].order&&(e.projects[t].order=t);e.projects.sort((e,t)=>(e.order??0)-(t.order??0));let t=e.projects.map(e=>y(e)),r=await Promise.all(t),i=(0,s.getStoreAssets)(),u=["skill","agent"],c=0,f=[];for(let t of["claude","agents"])for(let r of u){let a=i.filter(e=>e.type===r),s=new Map;for(let a of e.projects){let e=(0,n.scanProviderAssets)(a.path,t);s.set(a.id,e.filter(e=>e.type===r))}let o=(0,n.buildStoreAssetMatrix)(a,s,e.projects,r);f.push(...o)}for(let e of f)for(let t of e.cells)"outdated"===t.status&&c++;for(let e of r){if(!e.accessible)continue;let t=0;for(let r of f)for(let a of r.cells)a.projectId===e.id&&"outdated"===a.status&&t++;e.healthScore=function(e,t,r=0,a){if(!t)return o(e,0,0,0,void 0);let n=[...t.skills,...t.agents];return o(e,r,n.length,n.filter(e=>!e.isValid).length,void 0)}(e,e.assets,t)}let m=0,g=0;for(let e of r){if(!e.accessible)continue;let t=a.default.join(e.path,"documentation","kanban.json"),r=await h(t);if(r?.stages){m+=(r.stages.backlog||[]).filter(e=>!e.archived).length;let e=(r.stages.implementation||[]).filter(e=>!e.archived),t=(r.stages.testing||[]).filter(e=>!e.archived);g+=e.length+t.length}}let x=r.reduce((e,t)=>e+(t.gitUncommitted&&t.gitUncommitted>0?t.gitUncommitted:0),0),v=(0,l.getBridgeUrl)();try{let e=await fetch(`${v}/stats`,{signal:AbortSignal.timeout(2e3)});if(e.ok){let t=await e.json(),a={};for(let e of t.sessions||[])if(e.isActive){let t=e.name.split(":")[0];a[t]=(a[t]||0)+1}for(let e of r)e.activeSessions=a[e.id]??0}}catch{}let w=d();return{projects:r,totalBacklogItems:m,activeItems:g,totalOutdatedAssets:c,totalUncommitted:x,lastRefresh:new Date().toISOString(),slycodeRoot:w,projectsDir:a.default.dirname(w)}}e.s(["getRepoRoot",()=>d,"loadDashboardData",()=>w,"loadRegistry",()=>p,"saveRegistry",()=>f],48044)},98036,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),m=e.i(74838),h=e.i(10372),g=e.i(93695);e.i(52474);var x=e.i(220),v=e.i(89171),y=e.i(33405),w=e.i(48044);async function R(){try{let e=await (0,w.loadRegistry)(),t={};for(let r of e.projects)t[r.id]=function(e){try{return(0,y.execSync)("git status --porcelain",{cwd:e,encoding:"utf-8",timeout:5e3,windowsHide:!0}).split("\n").filter(e=>e.trim().length>0).length}catch{return -1}}(r.path);return v.NextResponse.json(t)}catch(e){return console.error("Failed to get git status:",e),v.NextResponse.json({error:"Failed to get git status",details:String(e)},{status:500})}}e.s(["GET",()=>R,"dynamic",0,"force-dynamic"],46438);var E=e.i(46438);let j=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/git-status/route",pathname:"/api/git-status",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/git-status/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:S,workUnitAsyncStorage:C,serverHooks:b}=j;function A(){return(0,a.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:C})}async function O(e,t,a){j.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/git-status/route";v=v.replace(/\/index$/,"")||"/";let y=await j.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:R,nextConfig:E,parsedUrl:S,isDraftMode:C,prerenderManifest:b,routerServerContext:A,isOnDemandRevalidate:O,revalidateOnlyGenerated:k,resolvedPathname:P,clientReferenceManifest:_,serverActionsManifest:D}=y,N=(0,o.normalizeAppPath)(v),M=!!(b.dynamicRoutes[N]||b.routes[P]),T=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,S,!1):t.end("This page could not be found"),null);if(M&&!C){let e=!!b.routes[P],t=b.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await T();throw new g.NoFallbackError}}let F=null;!M||j.isDev||C||(F="/index"===(F=P)?"/":F);let U=!0===j.isDev||!M,q=M&&!U;D&&_&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:_,serverActionsManifest:D});let H=e.method||"GET",I=(0,s.getTracer)(),L=I.getActiveScopeSpan(),$={params:R,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>j.onRequestError(e,t,a,n,A)},sharedContext:{buildId:w}},V=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),B=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let i=async e=>j.handle(B,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=I.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${v}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&O&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!M)return await (0,p.sendResponse)(V,K,s,$.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[h.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await j.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:O})},!1,A),t}},u=await j.handleResponse({req:e,nextConfig:E,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:k,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!M)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&M||g.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(V,K,new Response(u.value.body,{headers:g,status:u.value.status||200})),null};L?await l(L):await I.withPropagatedContext(e.headers,()=>I.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await j.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:O})},!1,A),M)throw t;return await (0,p.sendResponse)(V,K,new Response(null,{status:500})),null}}e.s(["handler",()=>O,"patchFetch",()=>A,"routeModule",()=>j,"serverHooks",()=>b,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>C],98036)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__7c476ad6._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},7367,e=>{"use strict";var t=e.i(14747),r=e.i(22734);function a(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return(console.warn("[paths] SLYCODE_HOME not set in production — falling back to cwd:",e),e.endsWith("/web")||e.endsWith("\\web"))?t.default.dirname(e):e}function n(){let e=a(),n=t.default.join(e,"node_modules","@slycode","slycode","dist");return r.default.existsSync(n)?n:e}function s(){return process.env.BRIDGE_URL?process.env.BRIDGE_URL:"http://127.0.0.1:3004"}e.s(["getBridgeUrl",()=>s,"getPackageDir",()=>n,"getSlycodeRoot",()=>a])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},73178,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(46676),n=e.i(7367);function s(){return r.default.join((0,n.getSlycodeRoot)(),"store")}function i(e,n){let s=[],i="skill"===n?"skills":"agents",o=r.default.join(e,i);try{if(!t.default.existsSync(o))return s;for(let e of t.default.readdirSync(o,{withFileTypes:!0})){let l,d;if("skill"===n){if(!e.isDirectory()||(l=r.default.join(o,e.name,"SKILL.md"),d=r.default.join(i,e.name,"SKILL.md"),!t.default.existsSync(l)))continue}else{if(!e.isFile()||!e.name.endsWith(".md"))continue;l=r.default.join(o,e.name),d=r.default.join(i,e.name)}let u=t.default.readFileSync(l,"utf-8"),c=(0,a.parseFrontmatter)(u),p=c?.name||e.name.replace(/\.md$/,"");s.push({name:p,type:n,path:d,frontmatter:c,isValid:(0,a.validateFrontmatter)(c)})}}catch{}return s.sort((e,t)=>e.name.localeCompare(t.name))}function o(){let e=s(),a=i(e,"skill");return{skills:a,agents:i(e,"agent"),mcp:function(e){let a=r.default.join(e,"mcp"),n=[];try{if(!t.default.existsSync(a))return n;for(let e of t.default.readdirSync(a,{withFileTypes:!0})){let s;if(!e.isFile()||!e.name.endsWith(".json"))continue;let i=r.default.join(a,e.name),o=t.default.readFileSync(i,"utf-8");try{s=JSON.parse(o)}catch{continue}let l=s.name||e.name.replace(/\.json$/,"");n.push({name:l,type:"mcp",path:r.default.join("mcp",e.name),frontmatter:{name:l,version:s.version,description:s.description,updated:s.updated},isValid:!!(s.name&&(s.command||s.url))})}}catch{}return n}(e)}}function l(){let e=s();return[...i(e,"skill"),...i(e,"agent")]}e.s(["getStoreAssets",()=>l,"scanStore",()=>o])},48044,e=>{"use strict";var t=e.i(22734),r=e.i(33405),a=e.i(14747),n=e.i(46676),s=e.i(73178);let i={outdatedAssets:.3,staleCards:.15,unresolvedProblems:.25,missingClaudeMd:.1,nonCompliantFrontmatter:.2};function o(e,t=0,r=0,a=0,n=i){let s=[],l=Math.max(r,1);s.push({name:"Outdated Assets",weight:n.outdatedAssets,value:t,maxValue:l});let d=Date.now(),u=[...e.backlog],c=u.filter(e=>(d-new Date(e.created_at).getTime())/864e5>14&&"done"!==e.status).length,p=Math.max(u.length,1);s.push({name:"Stale Cards",weight:n.staleCards,value:c,maxValue:p}),s.push({name:"Unresolved Problems",weight:n.unresolvedProblems,value:0,maxValue:1}),s.push({name:"Missing CLAUDE.md",weight:n.missingClaudeMd,value:+!e.hasClaudeMd,maxValue:1});let f=Math.max(r,1);s.push({name:"Non-compliant Frontmatter",weight:n.nonCompliantFrontmatter,value:a,maxValue:f});let m=0;for(let e of s)m+=Math.min(e.maxValue>0?e.value/e.maxValue:0,1)*e.weight;let h=Math.round(Math.max(0,(1-m)*100));return{score:h,level:h>=80?"green":h>=50?"amber":"red",factors:s}}var l=e.i(7367);function d(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return e.endsWith("/web")||e.endsWith("\\web")?a.default.dirname(e):e}let u=d(),c=a.default.join(u,"projects","registry.json");async function p(){try{let e=await t.promises.readFile(c,"utf-8");return JSON.parse(e)}catch(e){throw console.error("Failed to load registry:",e),Error(`Failed to load registry from ${c}`)}}async function f(e){let r=JSON.stringify(e,null,2)+"\n";await t.promises.writeFile(c,r,"utf-8")}async function m(e){try{return(await t.promises.stat(e)).isDirectory()}catch{return!1}}async function h(e){try{let r=await t.promises.readFile(e,"utf-8");return JSON.parse(r)}catch{return null}}async function g(e,t,r){let n=a.default.join(e,"documentation","backlog.json"),s=await h(n);return s?s.map(e=>({...e,projectId:t,projectName:r})):[]}async function x(e,t){let r=a.default.join(e,"documentation","designs.json"),n=await h(r);return n?n.map(e=>({...e,projectId:t})):[]}async function v(e,t){let r=a.default.join(e,"documentation","features.json"),n=await h(r);return n?n.map(e=>({...e,projectId:t})):[]}async function y(e){let t=e.path;if(!await m(t))return{...e,backlog:[],designs:[],features:[],accessible:!1,error:`Path not accessible: ${t}`};let[a,s,i]=await Promise.all([g(t,e.id,e.name),x(t,e.id),v(t,e.id)]),o=(0,n.scanProjectAssets)(t,e.id),l=(0,n.detectPlatforms)(t),d=function(e){try{return(0,r.execSync)("git status --porcelain",{cwd:e,encoding:"utf-8",timeout:5e3}).split("\n").filter(e=>e.trim().length>0).length}catch{return -1}}(t);return{...e,backlog:a,designs:s,features:i,assets:o,platforms:l,gitUncommitted:d>=0?d:void 0,accessible:!0}}async function w(){let e=await p();for(let t=0;t<e.projects.length;t++)void 0===e.projects[t].order&&(e.projects[t].order=t);e.projects.sort((e,t)=>(e.order??0)-(t.order??0));let t=e.projects.map(e=>y(e)),r=await Promise.all(t),i=(0,s.getStoreAssets)(),u=["skill","agent"],c=0,f=[];for(let t of["claude","agents"])for(let r of u){let a=i.filter(e=>e.type===r),s=new Map;for(let a of e.projects){let e=(0,n.scanProviderAssets)(a.path,t);s.set(a.id,e.filter(e=>e.type===r))}let o=(0,n.buildStoreAssetMatrix)(a,s,e.projects,r);f.push(...o)}for(let e of f)for(let t of e.cells)"outdated"===t.status&&c++;for(let e of r){if(!e.accessible)continue;let t=0;for(let r of f)for(let a of r.cells)a.projectId===e.id&&"outdated"===a.status&&t++;e.healthScore=function(e,t,r=0,a){if(!t)return o(e,0,0,0,void 0);let n=[...t.skills,...t.agents];return o(e,r,n.length,n.filter(e=>!e.isValid).length,void 0)}(e,e.assets,t)}let m=0,g=0;for(let e of r){if(!e.accessible)continue;let t=a.default.join(e.path,"documentation","kanban.json"),r=await h(t);if(r?.stages){m+=(r.stages.backlog||[]).filter(e=>!e.archived).length;let e=(r.stages.implementation||[]).filter(e=>!e.archived),t=(r.stages.testing||[]).filter(e=>!e.archived);g+=e.length+t.length}}let x=r.reduce((e,t)=>e+(t.gitUncommitted&&t.gitUncommitted>0?t.gitUncommitted:0),0),v=(0,l.getBridgeUrl)();try{let e=await fetch(`${v}/stats`,{signal:AbortSignal.timeout(2e3)});if(e.ok){let t=await e.json(),a={};for(let e of t.sessions||[])if(e.isActive){let t=e.name.split(":")[0];a[t]=(a[t]||0)+1}for(let e of r)e.activeSessions=a[e.id]??0}}catch{}let w=d();return{projects:r,totalBacklogItems:m,activeItems:g,totalOutdatedAssets:c,totalUncommitted:x,lastRefresh:new Date().toISOString(),slycodeRoot:w,projectsDir:a.default.dirname(w)}}e.s(["getRepoRoot",()=>d,"loadDashboardData",()=>w,"loadRegistry",()=>p,"saveRegistry",()=>f],48044)},45787,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),m=e.i(74838),h=e.i(10372),g=e.i(93695);e.i(52474);var x=e.i(220),v=e.i(89171),y=e.i(48044),w=e.i(46676),R=e.i(73178);let E=["claude","agents","codex","gemini"],S=["skill","agent"];async function j(e){try{let t=await (0,y.loadRegistry)(),r=e.nextUrl.searchParams.get("provider"),a=(0,R.scanStore)(),n=(0,R.getStoreAssets)(),s=new Map;for(let e of S)s.set(e,n.filter(t=>t.type===e));let i=r&&E.includes(r)?r:"claude",o=t.projects,l=new Map;for(let e of S)l.set(e,new Map);for(let e of o){let t=(0,w.scanProviderAssets)(e.path,i);for(let r of S){let a=t.filter(e=>e.type===r);l.get(r).set(e.id,a)}}let d=(0,w.buildStoreAssetMatrix)(s.get("skill"),l.get("skill"),o,"skill"),u=(0,w.buildStoreAssetMatrix)(s.get("agent"),l.get("agent"),o,"agent"),c=[...(0,w.findNonImportedForProvider)(s.get("skill"),l.get("skill"),o,"skill"),...(0,w.findNonImportedForProvider)(s.get("agent"),l.get("agent"),o,"agent")],p={skills:d,agents:u,nonImported:c},f=(0,w.countOutdatedAssets)(p);return v.NextResponse.json({...p,totalOutdated:f,projects:o.map(e=>({id:e.id,name:e.name})),storeData:a,activeProvider:i})}catch(e){return console.error("CLI assets scan failed:",e),v.NextResponse.json({error:"Failed to scan CLI assets",details:String(e)},{status:500})}}e.s(["GET",()=>j,"dynamic",0,"force-dynamic"],62063);var C=e.i(62063);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cli-assets/route",pathname:"/api/cli-assets",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-assets/route.ts",nextConfigOutput:"standalone",userland:C}),{workAsyncStorage:A,workUnitAsyncStorage:k,serverHooks:O}=b;function P(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:k})}async function M(e,t,a){b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/cli-assets/route";v=v.replace(/\/index$/,"")||"/";let y=await b.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:R,nextConfig:E,parsedUrl:S,isDraftMode:j,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:k,revalidateOnlyGenerated:O,resolvedPathname:P,clientReferenceManifest:M,serverActionsManifest:N}=y,_=(0,o.normalizeAppPath)(v),D=!!(C.dynamicRoutes[_]||C.routes[P]),T=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,S,!1):t.end("This page could not be found"),null);if(D&&!j){let e=!!C.routes[P],t=C.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await T();throw new g.NoFallbackError}}let F=null;!D||b.isDev||j||(F="/index"===(F=P)?"/":F);let U=!0===b.isDev||!D,I=D&&!U;N&&M&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:M,serverActionsManifest:N});let q=e.method||"GET",H=(0,s.getTracer)(),L=H.getActiveScopeSpan(),$={params:R,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>b.onRequestError(e,t,a,n,A)},sharedContext:{buildId:w}},V=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),B=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let i=async e=>b.handle(B,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${q} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${v}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&k&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(V,K,s,$.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[h.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:k})},!1,A),t}},u=await b.handleResponse({req:e,nextConfig:E,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:O,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!D)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",k?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&D||g.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(V,K,new Response(u.value.body,{headers:g,status:u.value.status||200})),null};L?await l(L):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${q} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:k})},!1,A),D)throw t;return await (0,p.sendResponse)(V,K,new Response(null,{status:500})),null}}e.s(["handler",()=>M,"patchFetch",()=>P,"routeModule",()=>b,"serverHooks",()=>O,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>k],45787)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__846ca56f._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},7367,e=>{"use strict";var t=e.i(14747),r=e.i(22734);function a(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return(console.warn("[paths] SLYCODE_HOME not set in production — falling back to cwd:",e),e.endsWith("/web")||e.endsWith("\\web"))?t.default.dirname(e):e}function n(){let e=a(),n=t.default.join(e,"node_modules","@slycode","slycode","dist");return r.default.existsSync(n)?n:e}function i(){return process.env.BRIDGE_URL?process.env.BRIDGE_URL:"http://127.0.0.1:3004"}e.s(["getBridgeUrl",()=>i,"getPackageDir",()=>n,"getSlycodeRoot",()=>a])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},73178,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(46676),n=e.i(7367);function i(){return r.default.join((0,n.getSlycodeRoot)(),"store")}function s(e,n){let i=[],s="skill"===n?"skills":"agents",o=r.default.join(e,s);try{if(!t.default.existsSync(o))return i;for(let e of t.default.readdirSync(o,{withFileTypes:!0})){let l,d;if("skill"===n){if(!e.isDirectory()||(l=r.default.join(o,e.name,"SKILL.md"),d=r.default.join(s,e.name,"SKILL.md"),!t.default.existsSync(l)))continue}else{if(!e.isFile()||!e.name.endsWith(".md"))continue;l=r.default.join(o,e.name),d=r.default.join(s,e.name)}let c=t.default.readFileSync(l,"utf-8"),u=(0,a.parseFrontmatter)(c),p=u?.name||e.name.replace(/\.md$/,"");i.push({name:p,type:n,path:d,frontmatter:u,isValid:(0,a.validateFrontmatter)(u)})}}catch{}return i.sort((e,t)=>e.name.localeCompare(t.name))}function o(){let e=i(),a=s(e,"skill");return{skills:a,agents:s(e,"agent"),mcp:function(e){let a=r.default.join(e,"mcp"),n=[];try{if(!t.default.existsSync(a))return n;for(let e of t.default.readdirSync(a,{withFileTypes:!0})){let i;if(!e.isFile()||!e.name.endsWith(".json"))continue;let s=r.default.join(a,e.name),o=t.default.readFileSync(s,"utf-8");try{i=JSON.parse(o)}catch{continue}let l=i.name||e.name.replace(/\.json$/,"");n.push({name:l,type:"mcp",path:r.default.join("mcp",e.name),frontmatter:{name:l,version:i.version,description:i.description,updated:i.updated},isValid:!!(i.name&&(i.command||i.url))})}}catch{}return n}(e)}}function l(){let e=i();return[...s(e,"skill"),...s(e,"agent")]}e.s(["getStoreAssets",()=>l,"scanStore",()=>o])},48044,e=>{"use strict";var t=e.i(22734),r=e.i(33405),a=e.i(14747),n=e.i(46676),i=e.i(73178);let s={outdatedAssets:.3,staleCards:.15,unresolvedProblems:.25,missingClaudeMd:.1,nonCompliantFrontmatter:.2};function o(e,t=0,r=0,a=0,n=s){let i=[],l=Math.max(r,1);i.push({name:"Outdated Assets",weight:n.outdatedAssets,value:t,maxValue:l});let d=Date.now(),c=[...e.backlog],u=c.filter(e=>(d-new Date(e.created_at).getTime())/864e5>14&&"done"!==e.status).length,p=Math.max(c.length,1);i.push({name:"Stale Cards",weight:n.staleCards,value:u,maxValue:p}),i.push({name:"Unresolved Problems",weight:n.unresolvedProblems,value:0,maxValue:1}),i.push({name:"Missing CLAUDE.md",weight:n.missingClaudeMd,value:+!e.hasClaudeMd,maxValue:1});let f=Math.max(r,1);i.push({name:"Non-compliant Frontmatter",weight:n.nonCompliantFrontmatter,value:a,maxValue:f});let h=0;for(let e of i)h+=Math.min(e.maxValue>0?e.value/e.maxValue:0,1)*e.weight;let m=Math.round(Math.max(0,(1-h)*100));return{score:m,level:m>=80?"green":m>=50?"amber":"red",factors:i}}var l=e.i(7367);function d(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return e.endsWith("/web")||e.endsWith("\\web")?a.default.dirname(e):e}let c=d(),u=a.default.join(c,"projects","registry.json");async function p(){try{let e=await t.promises.readFile(u,"utf-8");return JSON.parse(e)}catch(e){throw console.error("Failed to load registry:",e),Error(`Failed to load registry from ${u}`)}}async function f(e){let r=JSON.stringify(e,null,2)+"\n";await t.promises.writeFile(u,r,"utf-8")}async function h(e){try{return(await t.promises.stat(e)).isDirectory()}catch{return!1}}async function m(e){try{let r=await t.promises.readFile(e,"utf-8");return JSON.parse(r)}catch{return null}}async function g(e,t,r){let n=a.default.join(e,"documentation","backlog.json"),i=await m(n);return i?i.map(e=>({...e,projectId:t,projectName:r})):[]}async function x(e,t){let r=a.default.join(e,"documentation","designs.json"),n=await m(r);return n?n.map(e=>({...e,projectId:t})):[]}async function v(e,t){let r=a.default.join(e,"documentation","features.json"),n=await m(r);return n?n.map(e=>({...e,projectId:t})):[]}async function w(e){let t=e.path;if(!await h(t))return{...e,backlog:[],designs:[],features:[],accessible:!1,error:`Path not accessible: ${t}`};let[a,i,s]=await Promise.all([g(t,e.id,e.name),x(t,e.id),v(t,e.id)]),o=(0,n.scanProjectAssets)(t,e.id),l=(0,n.detectPlatforms)(t),d=function(e){try{return(0,r.execSync)("git status --porcelain",{cwd:e,encoding:"utf-8",timeout:5e3}).split("\n").filter(e=>e.trim().length>0).length}catch{return -1}}(t);return{...e,backlog:a,designs:i,features:s,assets:o,platforms:l,gitUncommitted:d>=0?d:void 0,accessible:!0}}async function y(){let e=await p();for(let t=0;t<e.projects.length;t++)void 0===e.projects[t].order&&(e.projects[t].order=t);e.projects.sort((e,t)=>(e.order??0)-(t.order??0));let t=e.projects.map(e=>w(e)),r=await Promise.all(t),s=(0,i.getStoreAssets)(),c=["skill","agent"],u=0,f=[];for(let t of["claude","agents"])for(let r of c){let a=s.filter(e=>e.type===r),i=new Map;for(let a of e.projects){let e=(0,n.scanProviderAssets)(a.path,t);i.set(a.id,e.filter(e=>e.type===r))}let o=(0,n.buildStoreAssetMatrix)(a,i,e.projects,r);f.push(...o)}for(let e of f)for(let t of e.cells)"outdated"===t.status&&u++;for(let e of r){if(!e.accessible)continue;let t=0;for(let r of f)for(let a of r.cells)a.projectId===e.id&&"outdated"===a.status&&t++;e.healthScore=function(e,t,r=0,a){if(!t)return o(e,0,0,0,void 0);let n=[...t.skills,...t.agents];return o(e,r,n.length,n.filter(e=>!e.isValid).length,void 0)}(e,e.assets,t)}let h=0,g=0;for(let e of r){if(!e.accessible)continue;let t=a.default.join(e.path,"documentation","kanban.json"),r=await m(t);if(r?.stages){h+=(r.stages.backlog||[]).filter(e=>!e.archived).length;let e=(r.stages.implementation||[]).filter(e=>!e.archived),t=(r.stages.testing||[]).filter(e=>!e.archived);g+=e.length+t.length}}let x=r.reduce((e,t)=>e+(t.gitUncommitted&&t.gitUncommitted>0?t.gitUncommitted:0),0),v=(0,l.getBridgeUrl)();try{let e=await fetch(`${v}/stats`,{signal:AbortSignal.timeout(2e3)});if(e.ok){let t=await e.json(),a={};for(let e of t.sessions||[])if(e.isActive){let t=e.name.split(":")[0];a[t]=(a[t]||0)+1}for(let e of r)e.activeSessions=a[e.id]??0}}catch{}let y=d();return{projects:r,totalBacklogItems:h,activeItems:g,totalOutdatedAssets:u,totalUncommitted:x,lastRefresh:new Date().toISOString(),slycodeRoot:y,projectsDir:a.default.dirname(y)}}e.s(["getRepoRoot",()=>d,"loadDashboardData",()=>y,"loadRegistry",()=>p,"saveRegistry",()=>f],48044)},62518,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),c=e.i(95169),u=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(74838),m=e.i(10372),g=e.i(93695);e.i(52474);var x=e.i(220),v=e.i(89171),w=e.i(22734),y=e.i(14747),R=e.i(48044),j=e.i(7367);async function S(e){try{let t=y.default.join(e,"documentation","kanban.json"),r=await w.promises.readFile(t,"utf-8");return JSON.parse(r)}catch{return null}}async function b(e){let t=(0,j.getBridgeUrl)(),r=[];try{let a=await fetch(`${t}/stats`,{signal:AbortSignal.timeout(2e3)});if(!a.ok)return r;let n=((await a.json()).sessions||[]).filter(e=>e.isActive);if(0===n.length)return r;let i=/^([^:]+):(?:[^:]+:)?card:(.+)$/,s=[];for(let e of n){let t=e.name.match(i);t&&s.push({projectId:t[1],cardId:t[2],snippet:e.lastOutputSnippet})}if(0===s.length)return r;let o=new Map;for(let e of s)o.has(e.projectId)||o.set(e.projectId,[]),o.get(e.projectId).push(e);for(let[t,a]of o){let n=e.projects.find(e=>e.id===t);if(!n)continue;let i=await S(n.path);if(!i?.stages)continue;let s=new Set(a.map(e=>e.cardId)),o=new Map(a.map(e=>[e.cardId,e.snippet]));for(let[e,t]of Object.entries(i.stages))for(let a of t)s.has(a.id)&&r.push({cardId:a.id,cardTitle:a.title,projectId:n.id,projectName:n.name,stage:e,matchField:"active-session",snippet:o.get(a.id)||"Active session",isArchived:a.archived??!1})}}catch{}return r}async function C(e){try{let{searchParams:t}=new URL(e.url),r=t.get("q"),a=t.get("projectId")||void 0,n=t.get("mode");if("active"===n){let e=await (0,R.loadRegistry)(),t=await b(e);return v.NextResponse.json({results:t,mode:"active"})}if(!r||0===r.trim().length)return v.NextResponse.json({error:"q parameter is required"},{status:400});let i=await (0,R.loadRegistry)(),s=[];for(let e of a?i.projects.filter(e=>e.id===a):i.projects){let t=await S(e.path);if(t?.stages)for(let[a,n]of Object.entries(t.stages))for(let t of n){let n=function(e,t,r,a,n){let i=[],s=t.toLowerCase(),o=e.archived??!1;if(e.title.toLowerCase().includes(s)&&i.push({cardId:e.id,cardTitle:e.title,projectId:a,projectName:n,stage:r,matchField:"title",snippet:e.title,isArchived:o}),e.description?.toLowerCase().includes(s)){let l=e.description.toLowerCase().indexOf(s),d=Math.max(0,l-40),c=Math.min(e.description.length,l+t.length+40),u=(d>0?"...":"")+e.description.slice(d,c)+(c<e.description.length?"...":"");i.push({cardId:e.id,cardTitle:e.title,projectId:a,projectName:n,stage:r,matchField:"description",snippet:u,isArchived:o})}for(let t of e.problems||[])t.description.toLowerCase().includes(s)&&i.push({cardId:e.id,cardTitle:e.title,projectId:a,projectName:n,stage:r,matchField:"problem",snippet:t.description,isArchived:o});for(let t of e.checklist||[])t.text.toLowerCase().includes(s)&&i.push({cardId:e.id,cardTitle:e.title,projectId:a,projectName:n,stage:r,matchField:"checklist",snippet:t.text,isArchived:o});return i}(t,r.trim(),a,e.id,e.name);s.push(...n)}}let o={implementation:0,testing:1,design:2,backlog:3,done:4};return s.sort((e,t)=>{if(a){if(e.projectId===a&&t.projectId!==a)return -1;if(t.projectId===a&&e.projectId!==a)return 1}return(o[e.stage]??5)-(o[t.stage]??5)}),v.NextResponse.json({results:s,query:r.trim()})}catch(e){return console.error("Search failed:",e),v.NextResponse.json({error:"Search failed",details:String(e)},{status:500})}}e.s(["GET",()=>C,"dynamic",0,"force-dynamic"],73415);var E=e.i(73415);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/search/route",pathname:"/api/search",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/search/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:O,workUnitAsyncStorage:k,serverHooks:I}=A;function N(){return(0,a.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:k})}async function M(e,t,a){A.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/search/route";v=v.replace(/\/index$/,"")||"/";let w=await A.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:R,nextConfig:j,parsedUrl:S,isDraftMode:b,prerenderManifest:C,routerServerContext:E,isOnDemandRevalidate:O,revalidateOnlyGenerated:k,resolvedPathname:I,clientReferenceManifest:N,serverActionsManifest:M}=w,P=(0,o.normalizeAppPath)(v),T=!!(C.dynamicRoutes[P]||C.routes[I]),_=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,S,!1):t.end("This page could not be found"),null);if(T&&!b){let e=!!C.routes[I],t=C.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(j.experimental.adapterPath)return await _();throw new g.NoFallbackError}}let D=null;!T||A.isDev||b||(D="/index"===(D=I)?"/":D);let F=!0===A.isDev||!T,q=T&&!F;M&&N&&(0,s.setManifestsSingleton)({page:v,clientReferenceManifest:N,serverActionsManifest:M});let U=e.method||"GET",L=(0,i.getTracer)(),H=L.getActiveScopeSpan(),$={params:R,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!j.experimental.authInterrupts},cacheComponents:!!j.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:j.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>A.onRequestError(e,t,a,n,E)},sharedContext:{buildId:y}},V=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let s=async e=>A.handle(K,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${v}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&O&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!T)return await (0,p.sendResponse)(V,B,i,$.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:O})},!1,E),t}},c=await A.handleResponse({req:e,nextConfig:j,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:k,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!T)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",O?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return o&&T||g.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,h.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(V,B,new Response(c.value.body,{headers:g,status:c.value.status||200})),null};H?await l(H):await L.withPropagatedContext(e.headers,()=>L.trace(c.BaseServerSpan.handleRequest,{spanName:`${U} ${v}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:O})},!1,E),T)throw t;return await (0,p.sendResponse)(V,B,new Response(null,{status:500})),null}}e.s(["handler",()=>M,"patchFetch",()=>N,"routeModule",()=>A,"serverHooks",()=>I,"workAsyncStorage",()=>O,"workUnitAsyncStorage",()=>k],62518)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__98d88050._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},7367,e=>{"use strict";var t=e.i(14747),r=e.i(22734);function a(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return(console.warn("[paths] SLYCODE_HOME not set in production — falling back to cwd:",e),e.endsWith("/web")||e.endsWith("\\web"))?t.default.dirname(e):e}function n(){let e=a(),n=t.default.join(e,"node_modules","@slycode","slycode","dist");return r.default.existsSync(n)?n:e}function s(){return process.env.BRIDGE_URL?process.env.BRIDGE_URL:"http://127.0.0.1:3004"}e.s(["getBridgeUrl",()=>s,"getPackageDir",()=>n,"getSlycodeRoot",()=>a])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},73178,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(46676),n=e.i(7367);function s(){return r.default.join((0,n.getSlycodeRoot)(),"store")}function i(e,n){let s=[],i="skill"===n?"skills":"agents",o=r.default.join(e,i);try{if(!t.default.existsSync(o))return s;for(let e of t.default.readdirSync(o,{withFileTypes:!0})){let l,d;if("skill"===n){if(!e.isDirectory()||(l=r.default.join(o,e.name,"SKILL.md"),d=r.default.join(i,e.name,"SKILL.md"),!t.default.existsSync(l)))continue}else{if(!e.isFile()||!e.name.endsWith(".md"))continue;l=r.default.join(o,e.name),d=r.default.join(i,e.name)}let u=t.default.readFileSync(l,"utf-8"),c=(0,a.parseFrontmatter)(u),p=c?.name||e.name.replace(/\.md$/,"");s.push({name:p,type:n,path:d,frontmatter:c,isValid:(0,a.validateFrontmatter)(c)})}}catch{}return s.sort((e,t)=>e.name.localeCompare(t.name))}function o(){let e=s(),a=i(e,"skill");return{skills:a,agents:i(e,"agent"),mcp:function(e){let a=r.default.join(e,"mcp"),n=[];try{if(!t.default.existsSync(a))return n;for(let e of t.default.readdirSync(a,{withFileTypes:!0})){let s;if(!e.isFile()||!e.name.endsWith(".json"))continue;let i=r.default.join(a,e.name),o=t.default.readFileSync(i,"utf-8");try{s=JSON.parse(o)}catch{continue}let l=s.name||e.name.replace(/\.json$/,"");n.push({name:l,type:"mcp",path:r.default.join("mcp",e.name),frontmatter:{name:l,version:s.version,description:s.description,updated:s.updated},isValid:!!(s.name&&(s.command||s.url))})}}catch{}return n}(e)}}function l(){let e=s();return[...i(e,"skill"),...i(e,"agent")]}e.s(["getStoreAssets",()=>l,"scanStore",()=>o])},48044,e=>{"use strict";var t=e.i(22734),r=e.i(33405),a=e.i(14747),n=e.i(46676),s=e.i(73178);let i={outdatedAssets:.3,staleCards:.15,unresolvedProblems:.25,missingClaudeMd:.1,nonCompliantFrontmatter:.2};function o(e,t=0,r=0,a=0,n=i){let s=[],l=Math.max(r,1);s.push({name:"Outdated Assets",weight:n.outdatedAssets,value:t,maxValue:l});let d=Date.now(),u=[...e.backlog],c=u.filter(e=>(d-new Date(e.created_at).getTime())/864e5>14&&"done"!==e.status).length,p=Math.max(u.length,1);s.push({name:"Stale Cards",weight:n.staleCards,value:c,maxValue:p}),s.push({name:"Unresolved Problems",weight:n.unresolvedProblems,value:0,maxValue:1}),s.push({name:"Missing CLAUDE.md",weight:n.missingClaudeMd,value:+!e.hasClaudeMd,maxValue:1});let f=Math.max(r,1);s.push({name:"Non-compliant Frontmatter",weight:n.nonCompliantFrontmatter,value:a,maxValue:f});let h=0;for(let e of s)h+=Math.min(e.maxValue>0?e.value/e.maxValue:0,1)*e.weight;let m=Math.round(Math.max(0,(1-h)*100));return{score:m,level:m>=80?"green":m>=50?"amber":"red",factors:s}}var l=e.i(7367);function d(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return e.endsWith("/web")||e.endsWith("\\web")?a.default.dirname(e):e}let u=d(),c=a.default.join(u,"projects","registry.json");async function p(){try{let e=await t.promises.readFile(c,"utf-8");return JSON.parse(e)}catch(e){throw console.error("Failed to load registry:",e),Error(`Failed to load registry from ${c}`)}}async function f(e){let r=JSON.stringify(e,null,2)+"\n";await t.promises.writeFile(c,r,"utf-8")}async function h(e){try{return(await t.promises.stat(e)).isDirectory()}catch{return!1}}async function m(e){try{let r=await t.promises.readFile(e,"utf-8");return JSON.parse(r)}catch{return null}}async function g(e,t,r){let n=a.default.join(e,"documentation","backlog.json"),s=await m(n);return s?s.map(e=>({...e,projectId:t,projectName:r})):[]}async function x(e,t){let r=a.default.join(e,"documentation","designs.json"),n=await m(r);return n?n.map(e=>({...e,projectId:t})):[]}async function v(e,t){let r=a.default.join(e,"documentation","features.json"),n=await m(r);return n?n.map(e=>({...e,projectId:t})):[]}async function y(e){let t=e.path;if(!await h(t))return{...e,backlog:[],designs:[],features:[],accessible:!1,error:`Path not accessible: ${t}`};let[a,s,i]=await Promise.all([g(t,e.id,e.name),x(t,e.id),v(t,e.id)]),o=(0,n.scanProjectAssets)(t,e.id),l=(0,n.detectPlatforms)(t),d=function(e){try{return(0,r.execSync)("git status --porcelain",{cwd:e,encoding:"utf-8",timeout:5e3}).split("\n").filter(e=>e.trim().length>0).length}catch{return -1}}(t);return{...e,backlog:a,designs:s,features:i,assets:o,platforms:l,gitUncommitted:d>=0?d:void 0,accessible:!0}}async function w(){let e=await p();for(let t=0;t<e.projects.length;t++)void 0===e.projects[t].order&&(e.projects[t].order=t);e.projects.sort((e,t)=>(e.order??0)-(t.order??0));let t=e.projects.map(e=>y(e)),r=await Promise.all(t),i=(0,s.getStoreAssets)(),u=["skill","agent"],c=0,f=[];for(let t of["claude","agents"])for(let r of u){let a=i.filter(e=>e.type===r),s=new Map;for(let a of e.projects){let e=(0,n.scanProviderAssets)(a.path,t);s.set(a.id,e.filter(e=>e.type===r))}let o=(0,n.buildStoreAssetMatrix)(a,s,e.projects,r);f.push(...o)}for(let e of f)for(let t of e.cells)"outdated"===t.status&&c++;for(let e of r){if(!e.accessible)continue;let t=0;for(let r of f)for(let a of r.cells)a.projectId===e.id&&"outdated"===a.status&&t++;e.healthScore=function(e,t,r=0,a){if(!t)return o(e,0,0,0,void 0);let n=[...t.skills,...t.agents];return o(e,r,n.length,n.filter(e=>!e.isValid).length,void 0)}(e,e.assets,t)}let h=0,g=0;for(let e of r){if(!e.accessible)continue;let t=a.default.join(e.path,"documentation","kanban.json"),r=await m(t);if(r?.stages){h+=(r.stages.backlog||[]).filter(e=>!e.archived).length;let e=(r.stages.implementation||[]).filter(e=>!e.archived),t=(r.stages.testing||[]).filter(e=>!e.archived);g+=e.length+t.length}}let x=r.reduce((e,t)=>e+(t.gitUncommitted&&t.gitUncommitted>0?t.gitUncommitted:0),0),v=(0,l.getBridgeUrl)();try{let e=await fetch(`${v}/stats`,{signal:AbortSignal.timeout(2e3)});if(e.ok){let t=await e.json(),a={};for(let e of t.sessions||[])if(e.isActive){let t=e.name.split(":")[0];a[t]=(a[t]||0)+1}for(let e of r)e.activeSessions=a[e.id]??0}}catch{}let w=d();return{projects:r,totalBacklogItems:h,activeItems:g,totalOutdatedAssets:c,totalUncommitted:x,lastRefresh:new Date().toISOString(),slycodeRoot:w,projectsDir:a.default.dirname(w)}}e.s(["getRepoRoot",()=>d,"loadDashboardData",()=>w,"loadRegistry",()=>p,"saveRegistry",()=>f],48044)},60626,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(74838),m=e.i(10372),g=e.i(93695);e.i(52474);var x=e.i(220),v=e.i(89171),y=e.i(48044);let w=(0,e.i(7367).getBridgeUrl)();async function R(){try{let e=await fetch(`${w}/stats`,{signal:AbortSignal.timeout(3e3)});if(!e.ok)return{};let t=(await e.json()).sessions||[],r={};for(let e of t)if(e.isActive){let t=e.name.split(":")[0];r[t]=(r[t]||0)+1}return r}catch{return{}}}async function b(){try{let e=await (0,y.loadDashboardData)(),t=await R();for(let r of e.projects)r.accessible&&(r.activeSessions=t[r.id]||0);return v.NextResponse.json(e)}catch(e){return console.error("Failed to load dashboard data:",e),v.NextResponse.json({error:"Failed to load dashboard data"},{status:500})}}e.s(["GET",()=>b,"dynamic",0,"force-dynamic"],32933);var E=e.i(32933);let j=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/dashboard/route",pathname:"/api/dashboard",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/dashboard/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:S,workUnitAsyncStorage:C,serverHooks:A}=j;function k(){return(0,a.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:C})}async function O(e,t,a){j.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/dashboard/route";v=v.replace(/\/index$/,"")||"/";let y=await j.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:R,nextConfig:b,parsedUrl:E,isDraftMode:S,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:k,revalidateOnlyGenerated:O,resolvedPathname:P,clientReferenceManifest:D,serverActionsManifest:_}=y,N=(0,o.normalizeAppPath)(v),M=!!(C.dynamicRoutes[N]||C.routes[P]),T=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,E,!1):t.end("This page could not be found"),null);if(M&&!S){let e=!!C.routes[P],t=C.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await T();throw new g.NoFallbackError}}let U=null;!M||j.isDev||S||(U="/index"===(U=P)?"/":U);let F=!0===j.isDev||!M,q=M&&!F;_&&D&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:D,serverActionsManifest:_});let H=e.method||"GET",I=(0,s.getTracer)(),L=I.getActiveScopeSpan(),$={params:R,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>j.onRequestError(e,t,a,n,A)},sharedContext:{buildId:w}},V=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let i=async e=>j.handle(K,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=I.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${v}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&k&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!M)return await (0,p.sendResponse)(V,B,s,$.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await j.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:k})},!1,A),t}},u=await j.handleResponse({req:e,nextConfig:b,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:O,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!M)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",k?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&M||g.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(V,B,new Response(u.value.body,{headers:g,status:u.value.status||200})),null};L?await l(L):await I.withPropagatedContext(e.headers,()=>I.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await j.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:k})},!1,A),M)throw t;return await (0,p.sendResponse)(V,B,new Response(null,{status:500})),null}}e.s(["handler",()=>O,"patchFetch",()=>k,"routeModule",()=>j,"serverHooks",()=>A,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>C],60626)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__b273cc05._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},7367,e=>{"use strict";var t=e.i(14747),r=e.i(22734);function n(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return(console.warn("[paths] SLYCODE_HOME not set in production — falling back to cwd:",e),e.endsWith("/web")||e.endsWith("\\web"))?t.default.dirname(e):e}function a(){let e=n(),a=t.default.join(e,"node_modules","@slycode","slycode","dist");return r.default.existsSync(a)?a:e}function s(){return process.env.BRIDGE_URL?process.env.BRIDGE_URL:"http://127.0.0.1:3004"}e.s(["getBridgeUrl",()=>s,"getPackageDir",()=>a,"getSlycodeRoot",()=>n])},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},57032,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),c=e.i(95169),u=e.i(47587),p=e.i(66012),h=e.i(70101),x=e.i(74838),v=e.i(10372),R=e.i(93695);e.i(52474);var f=e.i(220),g=e.i(89171),y=e.i(33405),E=e.i(22734),m=e.i(14747),w=e.i(7367);async function C(){let e=(0,w.getSlycodeRoot)(),t="0.0.0";for(let r of[m.default.join(e,"node_modules","@slycode","slycode","package.json"),m.default.join(e,"packages","slycode","package.json")])if((0,E.existsSync)(r))try{t=JSON.parse((0,E.readFileSync)(r,"utf-8")).version||"0.0.0";break}catch{}let r=null;try{r=(0,y.execSync)("npm view @slycode/slycode version",{encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"],windowsHide:!0}).trim()||null}catch{}let n=!!(r&&r!==t);return g.NextResponse.json({current:t,latest:r,updateAvailable:n})}e.s(["GET",()=>C],74335);var b=e.i(74335);let k=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/version-check/route",pathname:"/api/version-check",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/version-check/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:A,workUnitAsyncStorage:S,serverHooks:_}=k;function O(){return(0,n.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:S})}async function N(e,t,n){k.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/version-check/route";g=g.replace(/\/index$/,"")||"/";let y=await k.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:E,params:m,nextConfig:w,parsedUrl:C,isDraftMode:b,prerenderManifest:A,routerServerContext:S,isOnDemandRevalidate:_,revalidateOnlyGenerated:O,resolvedPathname:N,clientReferenceManifest:T,serverActionsManifest:P}=y,j=(0,i.normalizeAppPath)(g),q=!!(A.dynamicRoutes[j]||A.routes[N]),H=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,C,!1):t.end("This page could not be found"),null);if(q&&!b){let e=!!A.routes[N],t=A.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(w.experimental.adapterPath)return await H();throw new R.NoFallbackError}}let D=null;!q||k.isDev||b||(D="/index"===(D=N)?"/":D);let U=!0===k.isDev||!q,I=q&&!U;P&&T&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:T,serverActionsManifest:P});let M=e.method||"GET",L=(0,s.getTracer)(),F=L.getActiveScopeSpan(),$={params:m,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>k.onRequestError(e,t,n,a,S)},sharedContext:{buildId:E}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let o=async e=>k.handle(G,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${g}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!i&&_&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(B,K,s,$.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[v.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,n=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:_})},!1,S),t}},c=await k.handleResponse({req:e,nextConfig:w,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:O,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:i});if(!q)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",_?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let R=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return i&&q||R.delete(v.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,x.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(B,K,new Response(c.value.body,{headers:R,status:c.value.status||200})),null};F?await l(F):await L.withPropagatedContext(e.headers,()=>L.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${g}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof R.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:_})},!1,S),q)throw t;return await (0,p.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>O,"routeModule",()=>k,"serverHooks",()=>_,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>S],57032)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__b90bbd70._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},59639,(e,t,r)=>{t.exports=e.x("node:process",()=>require("node:process"))},874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},55103,34036,47797,25145,e=>{"use strict";let t=e=>"function"==typeof ArrayBuffer&&e instanceof ArrayBuffer||"[object ArrayBuffer]"===Object.prototype.toString.call(e);e.s(["isArrayBuffer",0,t],34036);var r=e.i(874);let i=(e,i=0,s=e.byteLength-i)=>{if(!t(e))throw TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof e} (${e})`);return r.Buffer.from(e,i,s)},s=(e,t)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return t?r.Buffer.from(e,t):r.Buffer.from(e)};e.s(["fromArrayBuffer",0,i,"fromString",0,s],47797),e.s(["fromUtf8",0,e=>{let t=s(e,"utf8");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength/Uint8Array.BYTES_PER_ELEMENT)}],55103),e.s(["toUtf8",0,e=>{if("string"==typeof e)return e;if("object"!=typeof e||"number"!=typeof e.byteOffset||"number"!=typeof e.byteLength)throw Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");return i(e.buffer,e.byteOffset,e.byteLength).toString("utf8")}],25145)},41175,e=>{"use strict";let t=e=>{let r;if("string"==typeof e)return t(new URL(e));let{hostname:i,pathname:s,port:o,protocol:n,search:a}=e;return a&&(r=function(e){let t={};if(e=e.replace(/^\?/,""))for(let r of e.split("&")){let[e,i=null]=r.split("=");e=decodeURIComponent(e),i&&(i=decodeURIComponent(i)),e in t?Array.isArray(t[e])?t[e].push(i):t[e]=[t[e],i]:t[e]=i}return t}(a)),{hostname:i,port:o?parseInt(o):void 0,protocol:n,path:s,query:r}};e.s(["parseUrl",0,t],41175)},15189,72783,e=>{"use strict";var t=e.i(39866);let r=(e,t,r)=>{let i,s,o,n=!1,a=async()=>{s||(s=e());try{i=await s,o=!0,n=!1}finally{s=void 0}return i};return void 0===t?async e=>((!o||e?.forceRefresh)&&(i=await a()),i):async e=>((!o||e?.forceRefresh)&&(i=await a()),n||(r&&!r(i)?n=!0:t(i)&&await a()),i)};e.s(["memoize",0,r],72783);var i=e.i(60400);function s(e){try{let t=new Set(Array.from(e.match(/([A-Z_]){3,}/g)??[]));return t.delete("CONFIG"),t.delete("CONFIG_PREFIX_SEPARATOR"),t.delete("ENV"),[...t].join(", ")}catch(t){return e}}var o=e.i(81355),n=e.i(46277);e.s(["loadConfig",0,({environmentVariableSelector:e,configFileSelector:a,default:c},u={})=>{let f,{signingName:l,logger:h}=u;return r((0,t.chain)((f={signingName:l,logger:h},async()=>{try{let t=e(process.env,f);if(void 0===t)throw Error();return t}catch(t){throw new i.CredentialsProviderError(t.message||`Not found in ENV: ${s(e.toString())}`,{logger:f?.logger})}}),((e,{preferredFile:t="config",...r}={})=>async()=>{let a=(0,o.getProfileName)(r),{configFile:c,credentialsFile:u}=await (0,n.loadSharedConfigFiles)(r),f=u[a]||{},l=c[a]||{},h="config"===t?{...f,...l}:{...l,...f};try{let r="config"===t?c:u,i=e(h,r);if(void 0===i)throw Error();return i}catch(t){throw new i.CredentialsProviderError(t.message||`Not found in config files w/ profile [${a}]: ${s(e.toString())}`,{logger:r.logger})}})(a,u),(e=>"function"==typeof e?async()=>await e():()=>Promise.resolve(e))(c)))}],15189)},39866,e=>{"use strict";var t=e.i(48979);e.s(["chain",0,(...e)=>async()=>{let r;if(0===e.length)throw new t.ProviderError("No providers in chain");for(let t of e)try{return await t()}catch(e){if(r=e,e?.tryNextLink)continue;throw e}throw r}])},89073,e=>{"use strict";class t{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(e){this.method=e.method||"GET",this.hostname=e.hostname||"localhost",this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?":"!==e.protocol.slice(-1)?`${e.protocol}:`:e.protocol:"https:",this.path=e.path?"/"!==e.path.charAt(0)?`/${e.path}`:e.path:"/",this.username=e.username,this.password=e.password,this.fragment=e.fragment}static clone(e){var r;let i=new t({...e,headers:{...e.headers}});return i.query&&(i.query=Object.keys(r=i.query).reduce((e,t)=>{let i=r[t];return{...e,[t]:Array.isArray(i)?[...i]:i}},{})),i}static isInstance(e){return!!e&&"method"in e&&"protocol"in e&&"hostname"in e&&"path"in e&&"object"==typeof e.query&&"object"==typeof e.headers}clone(){return t.clone(this)}}e.s(["HttpRequest",()=>t])},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},65790,49487,e=>{"use strict";var t=e.i(46786),r=e.i(14747);let i={};e.s(["getHomeDir",0,()=>{let{HOME:e,USERPROFILE:s,HOMEPATH:o,HOMEDRIVE:n=`C:${r.sep}`}=process.env;if(e)return e;if(s)return s;if(o)return`${n}${o}`;let a=process&&process.geteuid?`${process.geteuid()}`:"DEFAULT";return i[a]||(i[a]=(0,t.homedir)()),i[a]}],65790);var s=e.i(12714);let o={},n={};e.s(["fileIntercept",0,n,"readFile",0,(e,t)=>void 0!==n[e]?n[e]:((!o[e]||t?.ignoreCache)&&(o[e]=(0,s.readFile)(e,"utf8")),o[e])],49487)},9212,e=>{"use strict";function t(e,t,r){return e.$source||(e.$source={}),e.$source[t]=r,e}e.s(["setCredentialFeature",()=>t])},60400,48979,e=>{"use strict";class t extends Error{name="ProviderError";tryNextLink;constructor(e,r=!0){let i,s=!0;"boolean"==typeof r?(i=void 0,s=r):null!=r&&"object"==typeof r&&(i=r.logger,s=r.tryNextLink??!0),super(e),this.tryNextLink=s,Object.setPrototypeOf(this,t.prototype),i?.debug?.(`@smithy/property-provider ${s?"->":"(!)"} ${e}`)}static from(e,t=!0){return Object.assign(new this(e.message,t),e)}}e.s(["ProviderError",()=>t],48979);class r extends t{name="CredentialsProviderError";constructor(e,t=!0){super(e,t),Object.setPrototypeOf(this,r.prototype)}}e.s(["CredentialsProviderError",()=>r],60400)},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},81355,e=>{"use strict";let t="AWS_PROFILE";e.s(["ENV_PROFILE",0,t,"getProfileName",0,e=>e.profile||process.env[t]||"default"])},96405,3289,e=>{"use strict";var t,r;(r=t||(t={})).PROFILE="profile",r.SSO_SESSION="sso-session",r.SERVICES="services",e.s(["IniSectionType",()=>t],96405),e.s(["CONFIG_PREFIX_SEPARATOR",0,"."],3289)},21334,e=>{"use strict";var t=e.i(96405),r=e.i(3289);e.s(["getConfigData",0,e=>Object.entries(e).filter(([e])=>{let i=e.indexOf(r.CONFIG_PREFIX_SEPARATOR);return -1!==i&&Object.values(t.IniSectionType).includes(e.substring(0,i))}).reduce((e,[i,s])=>{let o=i.indexOf(r.CONFIG_PREFIX_SEPARATOR);return e[i.substring(0,o)===t.IniSectionType.PROFILE?i.substring(o+1):i]=s,e},{...e.default&&{default:e.default}})])},92395,e=>{"use strict";var t=e.i(14747),r=e.i(65790);e.s(["getConfigFilepath",0,()=>process.env.AWS_CONFIG_FILE||(0,t.join)((0,r.getHomeDir)(),".aws","config")])},61487,e=>{"use strict";var t=e.i(14747),r=e.i(65790);e.s(["getCredentialsFilepath",0,()=>process.env.AWS_SHARED_CREDENTIALS_FILE||(0,t.join)((0,r.getHomeDir)(),".aws","credentials")])},7104,e=>{"use strict";var t=e.i(96405),r=e.i(3289);let i=/^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/,s=["__proto__","profile __proto__"];e.s(["parseIni",0,e=>{let o,n,a={};for(let c of e.split(/\r?\n/)){let e=c.split(/(^|\s)[;#]/)[0].trim();if("["===e[0]&&"]"===e[e.length-1]){o=void 0,n=void 0;let a=e.substring(1,e.length-1),c=i.exec(a);if(c){let[,e,,i]=c;Object.values(t.IniSectionType).includes(e)&&(o=[e,i].join(r.CONFIG_PREFIX_SEPARATOR))}else o=a;if(s.includes(a))throw Error(`Found invalid profile name "${a}"`)}else if(o){let t=e.indexOf("=");if(![0,-1].includes(t)){let[i,s]=[e.substring(0,t).trim(),e.substring(t+1).trim()];if(""===s)n=i;else{n&&c.trimStart()===c&&(n=void 0),a[o]=a[o]||{};let e=n?[n,i].join(r.CONFIG_PREFIX_SEPARATOR):i;a[o][e]=s}}}}return a}])},46277,e=>{"use strict";var t=e.i(14747),r=e.i(21334),i=e.i(92395),s=e.i(61487),o=e.i(65790),n=e.i(7104),a=e.i(49487);let c=()=>({}),u=async(e={})=>{let{filepath:u=(0,s.getCredentialsFilepath)(),configFilepath:f=(0,i.getConfigFilepath)()}=e,l=(0,o.getHomeDir)(),h=u;u.startsWith("~/")&&(h=(0,t.join)(l,u.slice(2)));let p=f;f.startsWith("~/")&&(p=(0,t.join)(l,f.slice(2)));let d=await Promise.all([(0,a.readFile)(p,{ignoreCache:e.ignoreCache}).then(n.parseIni).then(r.getConfigData).catch(c),(0,a.readFile)(h,{ignoreCache:e.ignoreCache}).then(n.parseIni).catch(c)]);return{configFile:d[0],credentialsFile:d[1]}};e.s(["loadSharedConfigFiles",0,u])},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},98505,77463,e=>{"use strict";var t=e.i(76207),r=e.i(75504),i=e.i(34220),s=e.i(39765),o=e.i(88298),n=e.i(19898),a=e.i(49151),c=t,u=e.i(40274);function f(e,t,r){if(r?.source){let e=r.source;if("number"==typeof t&&(t>Number.MAX_SAFE_INTEGER||t<Number.MIN_SAFE_INTEGER||e!==String(t)))return e.includes(".")?new o.NumericValue(e,"bigDecimal"):BigInt(e)}return t}var l=e.i(14988),h=e.i(25145);let p=(e,t)=>(0,l.collectBody)(e,t).then(e=>(t?.utf8Encoder??h.toUtf8)(e)).then(e=>{if(e.length)try{return JSON.parse(e)}catch(t){throw t?.name==="SyntaxError"&&Object.defineProperty(t,"$responseBodyText",{value:e}),t}return{}});e.s(["loadRestJsonErrorCode",0,(e,t)=>{let r=(e,t)=>Object.keys(e).find(e=>e.toLowerCase()===t.toLowerCase()),i=e=>{let t=e;return"number"==typeof t&&(t=t.toString()),t.indexOf(",")>=0&&(t=t.split(",")[0]),t.indexOf(":")>=0&&(t=t.split(":")[0]),t.indexOf("#")>=0&&(t=t.split("#")[1]),t},s=r(e.headers,"x-amzn-errortype");if(void 0!==s)return i(e.headers[s]);if(t&&"object"==typeof t){let e=r(t,"code");if(e&&void 0!==t[e])return i(t[e]);if(void 0!==t.__type)return i(t.__type)}},"parseJsonBody",0,p],77463);class d extends c.SerdeContextConfig{settings;constructor(e){super(),this.settings=e}async read(e,t){return this._read(e,"string"==typeof t?JSON.parse(t,f):await p(t,this.serdeContext))}readObject(e,t){return this._read(e,t)}_read(e,t){let c=null!==t&&"object"==typeof t,f=i.NormalizedSchema.of(e);if(c){if(f.isStructSchema()){let e,r,i=f.isUnionSchema(),s={},{jsonName:o}=this.settings;for(let[n,a]of(o&&(r={}),i&&(e=new u.UnionSerde(t,s)),f.structIterator())){let c=n;o&&(r[c=a.getMergedTraits().jsonName??c]=n),i&&e.mark(c),null!=t[c]&&(s[n]=this._read(a,t[c]))}if(i)e.writeUnknown();else if("string"==typeof t.__type)for(let[e,i]of Object.entries(t)){let t=o?r[e]??e:e;t in s||(s[t]=i)}return s}if(Array.isArray(t)&&f.isListSchema()){let e=f.getValueSchema(),r=[];for(let i of t)r.push(this._read(e,i));return r}if(f.isMapSchema()){let e=f.getValueSchema(),r={};for(let[i,s]of Object.entries(t))r[i]=this._read(e,s);return r}}if(f.isBlobSchema()&&"string"==typeof t)return(0,a.fromBase64)(t);let l=f.getMergedTraits().mediaType;if(f.isStringSchema()&&"string"==typeof t&&l)return"application/json"===l||l.endsWith("+json")?s.LazyJsonString.from(t):t;if(f.isTimestampSchema()&&null!=t)switch((0,r.determineTimestampFormat)(f,this.settings)){case 5:return(0,n.parseRfc3339DateTimeWithOffset)(t);case 6:return(0,n.parseRfc7231DateTime)(t);case 7:return(0,n.parseEpochTimestamp)(t);default:return console.warn("Missing timestamp format, parsing value with Date constructor:",t),new Date(t)}if(f.isBigIntegerSchema()&&("number"==typeof t||"string"==typeof t))return BigInt(t);if(f.isBigDecimalSchema()&&void 0!=t)return t instanceof o.NumericValue?t:"bigDecimal"===t.type&&"string"in t?new o.NumericValue(t.string,t.type):new o.NumericValue(String(t),"bigDecimal");if(f.isNumericSchema()&&"string"==typeof t){switch(t){case"Infinity":return 1/0;case"-Infinity":return-1/0;case"NaN":return NaN}return t}if(f.isDocumentSchema())if(!c)return structuredClone(t);else{let e=Array.isArray(t)?[]:{};for(let[r,i]of Object.entries(t))i instanceof o.NumericValue?e[r]=i:e[r]=this._read(f,i);return e}return t}}var m=e.i(90183),g=e.i(71225),y=t;let S=String.fromCharCode(925);class b{values=new Map;counter=0;stage=0;createReplacer(){if(1===this.stage)throw Error("@aws-sdk/core/protocols - JsonReplacer already created.");if(2===this.stage)throw Error("@aws-sdk/core/protocols - JsonReplacer exhausted.");return this.stage=1,(e,t)=>{if(t instanceof o.NumericValue){let e=`${S+"nv"+this.counter++}_`+t.string;return this.values.set(`"${e}"`,t.string),e}if("bigint"==typeof t){let e=t.toString(),r=`${S+"b"+this.counter++}_`+e;return this.values.set(`"${r}"`,e),r}return t}}replaceInJson(e){if(0===this.stage)throw Error("@aws-sdk/core/protocols - JsonReplacer not created yet.");if(2===this.stage)throw Error("@aws-sdk/core/protocols - JsonReplacer exhausted.");if(this.stage=2,0===this.counter)return e;for(let[t,r]of this.values)e=e.replace(t,r);return e}}class w extends y.SerdeContextConfig{settings;buffer;useReplacer=!1;rootSchema;constructor(e){super(),this.settings=e}write(e,t){this.rootSchema=i.NormalizedSchema.of(e),this.buffer=this._write(this.rootSchema,t)}writeDiscriminatedDocument(e,t){this.write(e,t),"object"==typeof this.buffer&&(this.buffer.__type=i.NormalizedSchema.of(e).getName(!0))}flush(){let{rootSchema:e,useReplacer:t}=this;if(this.rootSchema=void 0,this.useReplacer=!1,e?.isStructSchema()||e?.isDocumentSchema()){if(!t)return JSON.stringify(this.buffer);let e=new b;return e.replaceInJson(JSON.stringify(this.buffer,e.createReplacer(),0))}return this.buffer}_write(e,t,a){let c=null!==t&&"object"==typeof t,u=i.NormalizedSchema.of(e);if(c){if(u.isStructSchema()){let e,r={},{jsonName:i}=this.settings;for(let[s,o]of(i&&(e={}),u.structIterator())){let n=this._write(o,t[s],u);if(void 0!==n){let t=s;i&&(t=o.getMergedTraits().jsonName??s,e[s]=t),r[t]=n}}if(u.isUnionSchema()&&0===Object.keys(r).length){let{$unknown:e}=t;if(Array.isArray(e)){let[t,i]=e;r[t]=this._write(15,i)}}else if("string"==typeof t.__type)for(let[s,o]of Object.entries(t)){let t=i?e[s]??s:s;t in r||(r[t]=this._write(15,o))}return r}if(Array.isArray(t)&&u.isListSchema()){let e=u.getValueSchema(),r=[],i=!!u.getMergedTraits().sparse;for(let s of t)(i||null!=s)&&r.push(this._write(e,s));return r}if(u.isMapSchema()){let e=u.getValueSchema(),r={},i=!!u.getMergedTraits().sparse;for(let[s,o]of Object.entries(t))(i||null!=o)&&(r[s]=this._write(e,o));return r}if(t instanceof Uint8Array&&(u.isBlobSchema()||u.isDocumentSchema()))return u===this.rootSchema?t:(this.serdeContext?.base64Encoder??g.toBase64)(t);if(t instanceof Date&&(u.isTimestampSchema()||u.isDocumentSchema()))switch((0,r.determineTimestampFormat)(u,this.settings)){case 5:return t.toISOString().replace(".000Z","Z");case 6:return(0,n.dateToUtcString)(t);case 7:return t.getTime()/1e3;default:return console.warn("Missing timestamp format, using epoch seconds",t),t.getTime()/1e3}t instanceof o.NumericValue&&(this.useReplacer=!0)}if(!(null===t&&a?.isStructSchema())){if(u.isStringSchema()){if(void 0===t&&u.isIdempotencyToken())return(0,m.generateIdempotencyToken)();let e=u.getMergedTraits().mediaType;return null!=t&&e&&("application/json"===e||e.endsWith("+json"))?s.LazyJsonString.from(t):t}if("number"==typeof t&&u.isNumericSchema())return Math.abs(t)===1/0||isNaN(t)?String(t):t;if("string"==typeof t&&u.isBlobSchema())return u===this.rootSchema?t:(this.serdeContext?.base64Encoder??g.toBase64)(t);if("bigint"==typeof t&&(this.useReplacer=!0),u.isDocumentSchema())if(!c)return structuredClone(t);else{let e=Array.isArray(t)?[]:{};for(let[r,i]of Object.entries(t))i instanceof o.NumericValue?(this.useReplacer=!0,e[r]=i):e[r]=this._write(u,i);return e}return t}}}class E extends t.SerdeContextConfig{settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new w(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new d(this.settings);return e.setSerdeContext(this.serdeContext),e}}e.s(["JsonCodec",()=>E],98505)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__d5272169._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[18622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},22734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},7367,e=>{"use strict";var r=e.i(14747),t=e.i(22734);function s(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return(console.warn("[paths] SLYCODE_HOME not set in production — falling back to cwd:",e),e.endsWith("/web")||e.endsWith("\\web"))?r.default.dirname(e):e}function o(){let e=s(),o=r.default.join(e,"node_modules","@slycode","slycode","dist");return t.default.existsSync(o)?o:e}function a(){return process.env.BRIDGE_URL?process.env.BRIDGE_URL:"http://127.0.0.1:3004"}e.s(["getBridgeUrl",()=>a,"getPackageDir",()=>o,"getSlycodeRoot",()=>s])},54799,(e,r,t)=>{r.exports=e.x("crypto",()=>require("crypto"))},33405,(e,r,t)=>{r.exports=e.x("child_process",()=>require("child_process"))},7335,e=>{"use strict";var r=e.i(9212),t=e.i(60400);let s="AWS_ACCESS_KEY_ID",o="AWS_SECRET_ACCESS_KEY",a="AWS_SESSION_TOKEN",n="AWS_CREDENTIAL_EXPIRATION",i="AWS_CREDENTIAL_SCOPE",l="AWS_ACCOUNT_ID";e.s(["ENV_ACCOUNT_ID",0,l,"ENV_CREDENTIAL_SCOPE",0,i,"ENV_EXPIRATION",0,n,"ENV_KEY",0,s,"ENV_SECRET",0,o,"ENV_SESSION",0,a,"fromEnv",0,e=>async()=>{e?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");let d=process.env[s],c=process.env[o],p=process.env[a],h=process.env[n],_=process.env[i],u=process.env[l];if(d&&c){let e={accessKeyId:d,secretAccessKey:c,...p&&{sessionToken:p},...h&&{expiration:new Date(h)},..._&&{credentialScope:_},...u&&{accountId:u}};return(0,r.setCredentialFeature)(e,"CREDENTIALS_ENV_VARS","g"),e}throw new t.CredentialsProviderError("Unable to find environment variable credentials.",{logger:e?.logger})}])},25465,e=>{"use strict";var r=e.i(34220),t=e.i(89073),s=e.i(14988),o=e.i(76022);class a extends o.HttpProtocol{async serializeRequest(e,s,o){let a,n=this.serializer,i={},l={},d=await o.endpoint(),c=r.NormalizedSchema.of(e?.input),p=c.getSchema(),h=new t.HttpRequest({protocol:"",hostname:"",port:void 0,path:"/",fragment:void 0,query:i,headers:l,body:void 0});d&&(this.updateServiceEndpoint(h,d),this.setHostPrefix(h,e,s));let _={...s};if(s){let e=c.getEventStreamMember();if(e){if(_[e]){let r={};for(let[t,s]of c.structIterator())t!==e&&_[t]&&(n.write(s,_[t]),r[t]=n.flush());a=await this.serializeEventStream({eventStream:_[e],requestSchema:c,initialRequest:r})}}else n.write(p,_),a=n.flush()}return h.headers=Object.assign(h.headers,l),h.query=i,h.body=a,h.method="POST",h}async deserializeResponse(e,t,o){let a=this.deserializer,n=r.NormalizedSchema.of(e.output),i={};if(o.statusCode>=300){let r=await (0,s.collectBody)(o.body,t);throw r.byteLength>0&&Object.assign(i,await a.read(15,r)),await this.handleError(e,t,o,i,this.deserializeMetadata(o)),Error("@smithy/core/protocols - RPC Protocol error handler failed to throw.")}for(let e in o.headers){let r=o.headers[e];delete o.headers[e],o.headers[e.toLowerCase()]=r}let l=n.getEventStreamMember();if(l)i[l]=await this.deserializeEventStream({response:o,responseSchema:n,initialResponseContainer:i});else{let e=await (0,s.collectBody)(o.body,t);e.byteLength>0&&Object.assign(i,await a.read(n,e))}return i.$metadata=this.deserializeMetadata(o),i}}e.s(["RpcProtocol",()=>a])},5389,e=>{e.v(r=>Promise.all(["server/chunks/[externals]_node:async_hooks_b485b2a4._.js"].map(r=>e.l(r))).then(()=>r(78500)))},14277,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__e4988941._.js"].map(r=>e.l(r))).then(()=>r(63152)))},93306,e=>{e.v(r=>Promise.all(["server/chunks/node_modules_f96dfac4._.js"].map(r=>e.l(r))).then(()=>r(38788)))},14115,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__4297cb97._.js"].map(r=>e.l(r))).then(()=>r(26709)))},9193,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__cf14e306._.js"].map(r=>e.l(r))).then(()=>r(1346)))},85365,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0234f869._.js"].map(r=>e.l(r))).then(()=>r(33073)))},52170,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__f5dae2ad._.js"].map(r=>e.l(r))).then(()=>r(23492)))},91956,e=>{e.v(r=>Promise.all(["server/chunks/[externals]_node:http_c3a9e25f._.js"].map(r=>e.l(r))).then(()=>r(47299)))},36806,e=>{e.v(r=>Promise.all(["server/chunks/node_modules_@smithy_core_dist-es_submodules_event-streams_index_73e35402.js"].map(r=>e.l(r))).then(()=>r(30360)))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__d56e68cb._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},7367,e=>{"use strict";var t=e.i(14747),r=e.i(22734);function n(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return(console.warn("[paths] SLYCODE_HOME not set in production — falling back to cwd:",e),e.endsWith("/web")||e.endsWith("\\web"))?t.default.dirname(e):e}function a(){let e=n(),a=t.default.join(e,"node_modules","@slycode","slycode","dist");return r.default.existsSync(a)?a:e}function i(){return process.env.BRIDGE_URL?process.env.BRIDGE_URL:"http://127.0.0.1:3004"}e.s(["getBridgeUrl",()=>i,"getPackageDir",()=>a,"getSlycodeRoot",()=>n])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},73178,e=>{"use strict";var t=e.i(22734),r=e.i(14747),n=e.i(46676),a=e.i(7367);function i(){return r.default.join((0,a.getSlycodeRoot)(),"store")}function s(e,a){let i=[],s="skill"===a?"skills":"agents",o=r.default.join(e,s);try{if(!t.default.existsSync(o))return i;for(let e of t.default.readdirSync(o,{withFileTypes:!0})){let l,c;if("skill"===a){if(!e.isDirectory()||(l=r.default.join(o,e.name,"SKILL.md"),c=r.default.join(s,e.name,"SKILL.md"),!t.default.existsSync(l)))continue}else{if(!e.isFile()||!e.name.endsWith(".md"))continue;l=r.default.join(o,e.name),c=r.default.join(s,e.name)}let u=t.default.readFileSync(l,"utf-8"),d=(0,n.parseFrontmatter)(u),f=d?.name||e.name.replace(/\.md$/,"");i.push({name:f,type:a,path:c,frontmatter:d,isValid:(0,n.validateFrontmatter)(d)})}}catch{}return i.sort((e,t)=>e.name.localeCompare(t.name))}function o(){let e=i(),n=s(e,"skill");return{skills:n,agents:s(e,"agent"),mcp:function(e){let n=r.default.join(e,"mcp"),a=[];try{if(!t.default.existsSync(n))return a;for(let e of t.default.readdirSync(n,{withFileTypes:!0})){let i;if(!e.isFile()||!e.name.endsWith(".json"))continue;let s=r.default.join(n,e.name),o=t.default.readFileSync(s,"utf-8");try{i=JSON.parse(o)}catch{continue}let l=i.name||e.name.replace(/\.json$/,"");a.push({name:l,type:"mcp",path:r.default.join("mcp",e.name),frontmatter:{name:l,version:i.version,description:i.description,updated:i.updated},isValid:!!(i.name&&(i.command||i.url))})}}catch{}return a}(e)}}function l(){let e=i();return[...s(e,"skill"),...s(e,"agent")]}e.s(["getStoreAssets",()=>l,"scanStore",()=>o])},48044,e=>{"use strict";var t=e.i(22734),r=e.i(33405),n=e.i(14747),a=e.i(46676),i=e.i(73178);let s={outdatedAssets:.3,staleCards:.15,unresolvedProblems:.25,missingClaudeMd:.1,nonCompliantFrontmatter:.2};function o(e,t=0,r=0,n=0,a=s){let i=[],l=Math.max(r,1);i.push({name:"Outdated Assets",weight:a.outdatedAssets,value:t,maxValue:l});let c=Date.now(),u=[...e.backlog],d=u.filter(e=>(c-new Date(e.created_at).getTime())/864e5>14&&"done"!==e.status).length,f=Math.max(u.length,1);i.push({name:"Stale Cards",weight:a.staleCards,value:d,maxValue:f}),i.push({name:"Unresolved Problems",weight:a.unresolvedProblems,value:0,maxValue:1}),i.push({name:"Missing CLAUDE.md",weight:a.missingClaudeMd,value:+!e.hasClaudeMd,maxValue:1});let p=Math.max(r,1);i.push({name:"Non-compliant Frontmatter",weight:a.nonCompliantFrontmatter,value:n,maxValue:p});let m=0;for(let e of i)m+=Math.min(e.maxValue>0?e.value/e.maxValue:0,1)*e.weight;let g=Math.round(Math.max(0,(1-m)*100));return{score:g,level:g>=80?"green":g>=50?"amber":"red",factors:i}}var l=e.i(7367);function c(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return e.endsWith("/web")||e.endsWith("\\web")?n.default.dirname(e):e}let u=c(),d=n.default.join(u,"projects","registry.json");async function f(){try{let e=await t.promises.readFile(d,"utf-8");return JSON.parse(e)}catch(e){throw console.error("Failed to load registry:",e),Error(`Failed to load registry from ${d}`)}}async function p(e){let r=JSON.stringify(e,null,2)+"\n";await t.promises.writeFile(d,r,"utf-8")}async function m(e){try{return(await t.promises.stat(e)).isDirectory()}catch{return!1}}async function g(e){try{let r=await t.promises.readFile(e,"utf-8");return JSON.parse(r)}catch{return null}}async function h(e,t,r){let a=n.default.join(e,"documentation","backlog.json"),i=await g(a);return i?i.map(e=>({...e,projectId:t,projectName:r})):[]}async function y(e,t){let r=n.default.join(e,"documentation","designs.json"),a=await g(r);return a?a.map(e=>({...e,projectId:t})):[]}async function j(e,t){let r=n.default.join(e,"documentation","features.json"),a=await g(r);return a?a.map(e=>({...e,projectId:t})):[]}async function x(e){let t=e.path;if(!await m(t))return{...e,backlog:[],designs:[],features:[],accessible:!1,error:`Path not accessible: ${t}`};let[n,i,s]=await Promise.all([h(t,e.id,e.name),y(t,e.id),j(t,e.id)]),o=(0,a.scanProjectAssets)(t,e.id),l=(0,a.detectPlatforms)(t),c=function(e){try{return(0,r.execSync)("git status --porcelain",{cwd:e,encoding:"utf-8",timeout:5e3}).split("\n").filter(e=>e.trim().length>0).length}catch{return -1}}(t);return{...e,backlog:n,designs:i,features:s,assets:o,platforms:l,gitUncommitted:c>=0?c:void 0,accessible:!0}}async function v(){let e=await f();for(let t=0;t<e.projects.length;t++)void 0===e.projects[t].order&&(e.projects[t].order=t);e.projects.sort((e,t)=>(e.order??0)-(t.order??0));let t=e.projects.map(e=>x(e)),r=await Promise.all(t),s=(0,i.getStoreAssets)(),u=["skill","agent"],d=0,p=[];for(let t of["claude","agents"])for(let r of u){let n=s.filter(e=>e.type===r),i=new Map;for(let n of e.projects){let e=(0,a.scanProviderAssets)(n.path,t);i.set(n.id,e.filter(e=>e.type===r))}let o=(0,a.buildStoreAssetMatrix)(n,i,e.projects,r);p.push(...o)}for(let e of p)for(let t of e.cells)"outdated"===t.status&&d++;for(let e of r){if(!e.accessible)continue;let t=0;for(let r of p)for(let n of r.cells)n.projectId===e.id&&"outdated"===n.status&&t++;e.healthScore=function(e,t,r=0,n){if(!t)return o(e,0,0,0,void 0);let a=[...t.skills,...t.agents];return o(e,r,a.length,a.filter(e=>!e.isValid).length,void 0)}(e,e.assets,t)}let m=0,h=0;for(let e of r){if(!e.accessible)continue;let t=n.default.join(e.path,"documentation","kanban.json"),r=await g(t);if(r?.stages){m+=(r.stages.backlog||[]).filter(e=>!e.archived).length;let e=(r.stages.implementation||[]).filter(e=>!e.archived),t=(r.stages.testing||[]).filter(e=>!e.archived);h+=e.length+t.length}}let y=r.reduce((e,t)=>e+(t.gitUncommitted&&t.gitUncommitted>0?t.gitUncommitted:0),0),j=(0,l.getBridgeUrl)();try{let e=await fetch(`${j}/stats`,{signal:AbortSignal.timeout(2e3)});if(e.ok){let t=await e.json(),n={};for(let e of t.sessions||[])if(e.isActive){let t=e.name.split(":")[0];n[t]=(n[t]||0)+1}for(let e of r)e.activeSessions=n[e.id]??0}}catch{}let v=c();return{projects:r,totalBacklogItems:m,activeItems:h,totalOutdatedAssets:d,totalUncommitted:y,lastRefresh:new Date().toISOString(),slycodeRoot:v,projectsDir:n.default.dirname(v)}}e.s(["getRepoRoot",()=>c,"loadDashboardData",()=>v,"loadRegistry",()=>f,"saveRegistry",()=>p],48044)},1365,e=>{"use strict";var t=e.i(22734),r=e.i(14747);let n=(0,e.i(7367).getSlycodeRoot)(),a=r.default.join(n,"documentation","events.json");function i(){try{if(!t.default.existsSync(a))return[];let e=t.default.readFileSync(a,"utf-8"),r=JSON.parse(e);return Array.isArray(r)?r:[]}catch{return[]}}function s(e){let n,s=i(),o={id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,6)}`,...e};return s.push(o),s.length>500&&s.splice(0,s.length-500),n=r.default.dirname(a),t.default.existsSync(n)||t.default.mkdirSync(n,{recursive:!0}),t.default.writeFileSync(a,JSON.stringify(s,null,2)),o}function o(e={}){let t=i();if(e.project&&(t=t.filter(t=>t.project===e.project)),e.type&&(t=t.filter(t=>t.type===e.type)),e.since){let r=new Date(e.since).getTime();t=t.filter(e=>new Date(e.timestamp).getTime()>=r)}return t.reverse(),e.limit&&e.limit>0&&(t=t.slice(0,e.limit)),t}e.s(["appendEvent",()=>s,"queryEvents",()=>o])},71741,e=>{"use strict";var t=e.i(14747),r=e.i(48044);let n={hourly:36e5,daily:864e5,weekly:6048e5},a=null,i=0;async function s(){let e=Date.now();return a&&e-i<5e3||(a=await (0,r.loadRegistry)(),i=e),a}class o extends Error{code;constructor(e,t){super(e),this.code=t,this.name="ProjectResolutionError"}}async function l(e){if(e===t.default.basename((0,r.getRepoRoot)()).replace(/_/g,"-"))return(0,r.getRepoRoot)();let n=(await s()).projects.find(t=>t.id===e);if(!n)throw new o(`Project '${e}' not found in registry`,"NOT_FOUND");return n.path}async function c(e){let r=await l(e);return t.default.join(r,"documentation","kanban.json")}async function u(e){let r=await l(e);return t.default.join(r,"documentation","archive")}async function d(e,r,n=1){let a=await u(e),i=String(n).padStart(3,"0");return t.default.join(a,`kanban_${r}_${i}.json`)}async function f(e){let r=await u(e),a=[];for(let e=1;e<=10;e++){let n=String(e).padStart(3,"0");a.push(t.default.join(r,`kanban_${n}.json`))}for(let e of Object.keys(n))a.push(t.default.join(r,`kanban_${e}.json`));return a}async function p(e){return e?c(e):t.default.join((0,r.getRepoRoot)(),"documentation")}e.s(["BACKUP_TIERS",0,n,"ProjectResolutionError",()=>o,"getArchiveDir",()=>u,"getKanbanPath",()=>c,"getLegacyBackupPaths",()=>f,"getTieredBackupPath",()=>d,"getWatchPath",()=>p,"resolveProjectRoot",()=>l])},44264,e=>{e.v(e=>Promise.resolve().then(()=>e(33405)))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__d6362272._.js.map
@@ -1,27 +0,0 @@
1
- module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},7367,e=>{"use strict";var t=e.i(14747),r=e.i(22734);function a(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return(console.warn("[paths] SLYCODE_HOME not set in production — falling back to cwd:",e),e.endsWith("/web")||e.endsWith("\\web"))?t.default.dirname(e):e}function n(){let e=a(),n=t.default.join(e,"node_modules","@slycode","slycode","dist");return r.default.existsSync(n)?n:e}function s(){return process.env.BRIDGE_URL?process.env.BRIDGE_URL:"http://127.0.0.1:3004"}e.s(["getBridgeUrl",()=>s,"getPackageDir",()=>n,"getSlycodeRoot",()=>a])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},73178,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(46676),n=e.i(7367);function s(){return r.default.join((0,n.getSlycodeRoot)(),"store")}function i(e,n){let s=[],i="skill"===n?"skills":"agents",o=r.default.join(e,i);try{if(!t.default.existsSync(o))return s;for(let e of t.default.readdirSync(o,{withFileTypes:!0})){let l,d;if("skill"===n){if(!e.isDirectory()||(l=r.default.join(o,e.name,"SKILL.md"),d=r.default.join(i,e.name,"SKILL.md"),!t.default.existsSync(l)))continue}else{if(!e.isFile()||!e.name.endsWith(".md"))continue;l=r.default.join(o,e.name),d=r.default.join(i,e.name)}let u=t.default.readFileSync(l,"utf-8"),c=(0,a.parseFrontmatter)(u),p=c?.name||e.name.replace(/\.md$/,"");s.push({name:p,type:n,path:d,frontmatter:c,isValid:(0,a.validateFrontmatter)(c)})}}catch{}return s.sort((e,t)=>e.name.localeCompare(t.name))}function o(){let e=s(),a=i(e,"skill");return{skills:a,agents:i(e,"agent"),mcp:function(e){let a=r.default.join(e,"mcp"),n=[];try{if(!t.default.existsSync(a))return n;for(let e of t.default.readdirSync(a,{withFileTypes:!0})){let s;if(!e.isFile()||!e.name.endsWith(".json"))continue;let i=r.default.join(a,e.name),o=t.default.readFileSync(i,"utf-8");try{s=JSON.parse(o)}catch{continue}let l=s.name||e.name.replace(/\.json$/,"");n.push({name:l,type:"mcp",path:r.default.join("mcp",e.name),frontmatter:{name:l,version:s.version,description:s.description,updated:s.updated},isValid:!!(s.name&&(s.command||s.url))})}}catch{}return n}(e)}}function l(){let e=s();return[...i(e,"skill"),...i(e,"agent")]}e.s(["getStoreAssets",()=>l,"scanStore",()=>o])},48044,e=>{"use strict";var t=e.i(22734),r=e.i(33405),a=e.i(14747),n=e.i(46676),s=e.i(73178);let i={outdatedAssets:.3,staleCards:.15,unresolvedProblems:.25,missingClaudeMd:.1,nonCompliantFrontmatter:.2};function o(e,t=0,r=0,a=0,n=i){let s=[],l=Math.max(r,1);s.push({name:"Outdated Assets",weight:n.outdatedAssets,value:t,maxValue:l});let d=Date.now(),u=[...e.backlog],c=u.filter(e=>(d-new Date(e.created_at).getTime())/864e5>14&&"done"!==e.status).length,p=Math.max(u.length,1);s.push({name:"Stale Cards",weight:n.staleCards,value:c,maxValue:p}),s.push({name:"Unresolved Problems",weight:n.unresolvedProblems,value:0,maxValue:1}),s.push({name:"Missing CLAUDE.md",weight:n.missingClaudeMd,value:+!e.hasClaudeMd,maxValue:1});let f=Math.max(r,1);s.push({name:"Non-compliant Frontmatter",weight:n.nonCompliantFrontmatter,value:a,maxValue:f});let m=0;for(let e of s)m+=Math.min(e.maxValue>0?e.value/e.maxValue:0,1)*e.weight;let h=Math.round(Math.max(0,(1-m)*100));return{score:h,level:h>=80?"green":h>=50?"amber":"red",factors:s}}var l=e.i(7367);function d(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return e.endsWith("/web")||e.endsWith("\\web")?a.default.dirname(e):e}let u=d(),c=a.default.join(u,"projects","registry.json");async function p(){try{let e=await t.promises.readFile(c,"utf-8");return JSON.parse(e)}catch(e){throw console.error("Failed to load registry:",e),Error(`Failed to load registry from ${c}`)}}async function f(e){let r=JSON.stringify(e,null,2)+"\n";await t.promises.writeFile(c,r,"utf-8")}async function m(e){try{return(await t.promises.stat(e)).isDirectory()}catch{return!1}}async function h(e){try{let r=await t.promises.readFile(e,"utf-8");return JSON.parse(r)}catch{return null}}async function g(e,t,r){let n=a.default.join(e,"documentation","backlog.json"),s=await h(n);return s?s.map(e=>({...e,projectId:t,projectName:r})):[]}async function x(e,t){let r=a.default.join(e,"documentation","designs.json"),n=await h(r);return n?n.map(e=>({...e,projectId:t})):[]}async function y(e,t){let r=a.default.join(e,"documentation","features.json"),n=await h(r);return n?n.map(e=>({...e,projectId:t})):[]}async function v(e){let t=e.path;if(!await m(t))return{...e,backlog:[],designs:[],features:[],accessible:!1,error:`Path not accessible: ${t}`};let[a,s,i]=await Promise.all([g(t,e.id,e.name),x(t,e.id),y(t,e.id)]),o=(0,n.scanProjectAssets)(t,e.id),l=(0,n.detectPlatforms)(t),d=function(e){try{return(0,r.execSync)("git status --porcelain",{cwd:e,encoding:"utf-8",timeout:5e3}).split("\n").filter(e=>e.trim().length>0).length}catch{return -1}}(t);return{...e,backlog:a,designs:s,features:i,assets:o,platforms:l,gitUncommitted:d>=0?d:void 0,accessible:!0}}async function w(){let e=await p();for(let t=0;t<e.projects.length;t++)void 0===e.projects[t].order&&(e.projects[t].order=t);e.projects.sort((e,t)=>(e.order??0)-(t.order??0));let t=e.projects.map(e=>v(e)),r=await Promise.all(t),i=(0,s.getStoreAssets)(),u=["skill","agent"],c=0,f=[];for(let t of["claude","agents"])for(let r of u){let a=i.filter(e=>e.type===r),s=new Map;for(let a of e.projects){let e=(0,n.scanProviderAssets)(a.path,t);s.set(a.id,e.filter(e=>e.type===r))}let o=(0,n.buildStoreAssetMatrix)(a,s,e.projects,r);f.push(...o)}for(let e of f)for(let t of e.cells)"outdated"===t.status&&c++;for(let e of r){if(!e.accessible)continue;let t=0;for(let r of f)for(let a of r.cells)a.projectId===e.id&&"outdated"===a.status&&t++;e.healthScore=function(e,t,r=0,a){if(!t)return o(e,0,0,0,void 0);let n=[...t.skills,...t.agents];return o(e,r,n.length,n.filter(e=>!e.isValid).length,void 0)}(e,e.assets,t)}let m=0,g=0;for(let e of r){if(!e.accessible)continue;let t=a.default.join(e.path,"documentation","kanban.json"),r=await h(t);if(r?.stages){m+=(r.stages.backlog||[]).filter(e=>!e.archived).length;let e=(r.stages.implementation||[]).filter(e=>!e.archived),t=(r.stages.testing||[]).filter(e=>!e.archived);g+=e.length+t.length}}let x=r.reduce((e,t)=>e+(t.gitUncommitted&&t.gitUncommitted>0?t.gitUncommitted:0),0),y=(0,l.getBridgeUrl)();try{let e=await fetch(`${y}/stats`,{signal:AbortSignal.timeout(2e3)});if(e.ok){let t=await e.json(),a={};for(let e of t.sessions||[])if(e.isActive){let t=e.name.split(":")[0];a[t]=(a[t]||0)+1}for(let e of r)e.activeSessions=a[e.id]??0}}catch{}let w=d();return{projects:r,totalBacklogItems:m,activeItems:g,totalOutdatedAssets:c,totalUncommitted:x,lastRefresh:new Date().toISOString(),slycodeRoot:w,projectsDir:a.default.dirname(w)}}e.s(["getRepoRoot",()=>d,"loadDashboardData",()=>w,"loadRegistry",()=>p,"saveRegistry",()=>f],48044)},4088,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),m=e.i(74838),h=e.i(10372),g=e.i(93695);e.i(52474);var x=e.i(220),y=e.i(89171),v=e.i(22734),w=e.i(14747),R=e.i(7367),j=e.i(48044),b=e.i(41563);async function S(e){try{var t,r,a;let{assetName:n,assetType:s,provider:i,projectId:o}=await e.json();if(!n||!s||!i)return y.NextResponse.json({error:"assetName, assetType, and provider are required"},{status:400});let l=(0,R.getSlycodeRoot)(),d="",u="skill"===s?"skills":"agents",c="skill"===s?w.default.join(l,"store",u,n,"SKILL.md"):w.default.join(l,"store",u,`${n}.md`);if(v.default.existsSync(c))d=c;else if(o){let e=(await (0,j.loadRegistry)()).projects.find(e=>e.id===o);if(e){let t=(0,b.getProviderAssetFilePath)(e.path,i,s,n);if(t){let e="skill"===s?w.default.join(t,"SKILL.md"):t;v.default.existsSync(e)&&(d=e)}}}if(!d)return y.NextResponse.json({error:`Could not find asset '${n}' (${s})`},{status:404});let p=(t=n,r=s,a=d,`Fix the frontmatter compliance of this ${r} asset.
2
-
3
- **File:** \`${a}\`
4
-
5
- Read the file, then ensure it has a YAML frontmatter block (delimited by \`---\`) at the very top with ALL of these required fields:
6
-
7
- \`\`\`yaml
8
- ---
9
- name: ${t}
10
- version: 1.0.0
11
- updated: <today's date, YYYY-MM-DD>
12
- description: "<one-line summary of what this ${r} does — infer from the content>"
13
- ---
14
- \`\`\`
15
-
16
- Rules:
17
- - If frontmatter already exists, keep any valid fields and add the missing ones
18
- - If no frontmatter exists, add the complete block at the top
19
- - \`name\` must be \`${t}\`
20
- - \`version\` should be \`1.0.0\` if not already set
21
- - \`updated\` should be today's date
22
- - \`description\` should be a concise summary inferred from the file content
23
- - Do NOT modify the body content below the frontmatter
24
-
25
- Write the corrected file back to \`${a}\`.`);return y.NextResponse.json({prompt:p,assetPath:d})}catch(e){return console.error("Fix prompt generation failed:",e),y.NextResponse.json({error:"Failed to generate fix prompt",details:String(e)},{status:500})}}e.s(["POST",()=>S],63646);var E=e.i(63646);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cli-assets/fix/route",pathname:"/api/cli-assets/fix",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-assets/fix/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:k,workUnitAsyncStorage:A,serverHooks:O}=C;function P(){return(0,a.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:A})}async function N(e,t,a){C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/cli-assets/fix/route";y=y.replace(/\/index$/,"")||"/";let v=await C.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:R,nextConfig:j,parsedUrl:b,isDraftMode:S,prerenderManifest:E,routerServerContext:k,isOnDemandRevalidate:A,revalidateOnlyGenerated:O,resolvedPathname:P,clientReferenceManifest:N,serverActionsManifest:D}=v,M=(0,o.normalizeAppPath)(y),_=!!(E.dynamicRoutes[M]||E.routes[P]),T=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,b,!1):t.end("This page could not be found"),null);if(_&&!S){let e=!!E.routes[P],t=E.dynamicRoutes[M];if(t&&!1===t.fallback&&!e){if(j.experimental.adapterPath)return await T();throw new g.NoFallbackError}}let F=null;!_||C.isDev||S||(F="/index"===(F=P)?"/":F);let q=!0===C.isDev||!_,U=_&&!q;D&&N&&(0,i.setManifestsSingleton)({page:y,clientReferenceManifest:N,serverActionsManifest:D});let I=e.method||"GET",L=(0,s.getTracer)(),$=L.getActiveScopeSpan(),H={params:R,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!j.experimental.authInterrupts},cacheComponents:!!j.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:j.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,k)},sharedContext:{buildId:w}},V=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),Y=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let i=async e=>C.handle(Y,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${I} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${I} ${y}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&A&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=H.renderOpts.fetchMetrics;let l=H.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=H.renderOpts.collectedTags;if(!_)return await (0,p.sendResponse)(V,K,s,H.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[h.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,k),t}},u=await C.handleResponse({req:e,nextConfig:j,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:O,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!_)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&_||g.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(V,K,new Response(u.value.body,{headers:g,status:u.value.status||200})),null};$?await l($):await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${I} ${y}`,kind:s.SpanKind.SERVER,attributes:{"http.method":I,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,k),_)throw t;return await (0,p.sendResponse)(V,K,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>P,"routeModule",()=>C,"serverHooks",()=>O,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>A],4088)}];
26
-
27
- //# sourceMappingURL=%5Broot-of-the-server%5D__de1277ee._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},7367,e=>{"use strict";var t=e.i(14747),r=e.i(22734);function s(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return(console.warn("[paths] SLYCODE_HOME not set in production — falling back to cwd:",e),e.endsWith("/web")||e.endsWith("\\web"))?t.default.dirname(e):e}function a(){let e=s(),a=t.default.join(e,"node_modules","@slycode","slycode","dist");return r.default.existsSync(a)?a:e}function n(){return process.env.BRIDGE_URL?process.env.BRIDGE_URL:"http://127.0.0.1:3004"}e.s(["getBridgeUrl",()=>n,"getPackageDir",()=>a,"getSlycodeRoot",()=>s])},67003,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),f=e.i(70101),x=e.i(74838),h=e.i(10372),R=e.i(93695);e.i(52474);var g=e.i(220),v=e.i(89171),m=e.i(22734),b=e.i(14747),j=e.i(7367);function w(){return b.default.join((0,j.getSlycodeRoot)(),"data","providers.json")}async function y(){try{let e=await m.promises.readFile(w(),"utf-8");return v.NextResponse.json(JSON.parse(e))}catch{return v.NextResponse.json({error:"providers.json not found"},{status:404})}}let E=new Set(["backlog","design","implementation","testing","done","automation"]);function C(e,t,r){return"object"!=typeof e||null===e?`${r} must be an object`:"string"==typeof e.provider&&t.has(e.provider)?"boolean"!=typeof e.skipPermissions?`${r}.skipPermissions must be a boolean`:null:`${r}.provider must be a known provider ID`}async function N(e){try{let t=await e.json();if("object"!=typeof t||null===t||!t.defaults)return v.NextResponse.json({error:'Payload must be an object with a "defaults" key'},{status:400});if("object"!=typeof t.defaults||null===t.defaults)return v.NextResponse.json({error:'"defaults" must be an object'},{status:400});let r=w(),s=JSON.parse(await m.promises.readFile(r,"utf-8")),a=new Set(Object.keys(s.providers));if(t.defaults.stages){if("object"!=typeof t.defaults.stages)return v.NextResponse.json({error:'"defaults.stages" must be an object'},{status:400});for(let[e,r]of Object.entries(t.defaults.stages)){if(!E.has(e))return v.NextResponse.json({error:`Unknown stage: "${e}"`},{status:400});let t=C(r,a,`stages.${e}`);if(t)return v.NextResponse.json({error:t},{status:400})}}if(t.defaults.global){let e=C(t.defaults.global,a,"global");if(e)return v.NextResponse.json({error:e},{status:400})}if(t.defaults.projects){if("object"!=typeof t.defaults.projects)return v.NextResponse.json({error:'"defaults.projects" must be an object'},{status:400});for(let[e,r]of Object.entries(t.defaults.projects)){let t=C(r,a,`projects.${e}`);if(t)return v.NextResponse.json({error:t},{status:400})}}return t.defaults.stages&&(s.defaults.stages={...s.defaults.stages,...t.defaults.stages}),t.defaults.global&&(s.defaults.global=t.defaults.global),t.defaults.projects&&(s.defaults.projects={...s.defaults.projects,...t.defaults.projects}),await m.promises.writeFile(r,JSON.stringify(s,null,2)+"\n"),v.NextResponse.json(s)}catch(e){return v.NextResponse.json({error:e.message},{status:500})}}e.s(["GET",()=>y,"PUT",()=>N],34202);var O=e.i(34202);let k=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/providers/route",pathname:"/api/providers",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/providers/route.ts",nextConfigOutput:"standalone",userland:O}),{workAsyncStorage:S,workUnitAsyncStorage:A,serverHooks:P}=k;function T(){return(0,s.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:A})}async function _(e,t,s){k.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/providers/route";v=v.replace(/\/index$/,"")||"/";let m=await k.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:b,params:j,nextConfig:w,parsedUrl:y,isDraftMode:E,prerenderManifest:C,routerServerContext:N,isOnDemandRevalidate:O,revalidateOnlyGenerated:S,resolvedPathname:A,clientReferenceManifest:P,serverActionsManifest:T}=m,_=(0,i.normalizeAppPath)(v),q=!!(C.dynamicRoutes[_]||C.routes[A]),U=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,y,!1):t.end("This page could not be found"),null);if(q&&!E){let e=!!C.routes[A],t=C.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(w.experimental.adapterPath)return await U();throw new R.NoFallbackError}}let D=null;!q||k.isDev||E||(D="/index"===(D=A)?"/":D);let H=!0===k.isDev||!q,I=q&&!H;T&&P&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:P,serverActionsManifest:T});let M=e.method||"GET",$=(0,n.getTracer)(),F=$.getActiveScopeSpan(),L={params:j,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>k.onRequestError(e,t,s,a,N)},sharedContext:{buildId:b}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let o=async e=>k.handle(G,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${M} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${v}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var n,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&O&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(a);e.fetchMetrics=L.renderOpts.fetchMetrics;let l=L.renderOpts.pendingWaitUntil;l&&s.waitUntil&&(s.waitUntil(l),l=void 0);let u=L.renderOpts.collectedTags;if(!q)return await (0,c.sendResponse)(B,K,n,L.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);u&&(t[h.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,s=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:O})},!1,N),t}},d=await k.handleResponse({req:e,nextConfig:w,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:S,responseGenerator:u,waitUntil:s.waitUntil,isMinimalMode:i});if(!q)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",O?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let R=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&q||R.delete(h.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(B,K,new Response(d.value.body,{headers:R,status:d.value.status||200})),null};F?await l(F):await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof R.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:O})},!1,N),q)throw t;return await (0,c.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>_,"patchFetch",()=>T,"routeModule",()=>k,"serverHooks",()=>P,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>A],67003)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__e88a19d2._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},7367,e=>{"use strict";var t=e.i(14747),r=e.i(22734);function a(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return(console.warn("[paths] SLYCODE_HOME not set in production — falling back to cwd:",e),e.endsWith("/web")||e.endsWith("\\web"))?t.default.dirname(e):e}function n(){let e=a(),n=t.default.join(e,"node_modules","@slycode","slycode","dist");return r.default.existsSync(n)?n:e}function s(){return process.env.BRIDGE_URL?process.env.BRIDGE_URL:"http://127.0.0.1:3004"}e.s(["getBridgeUrl",()=>s,"getPackageDir",()=>n,"getSlycodeRoot",()=>a])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},73178,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(46676),n=e.i(7367);function s(){return r.default.join((0,n.getSlycodeRoot)(),"store")}function o(e,n){let s=[],o="skill"===n?"skills":"agents",i=r.default.join(e,o);try{if(!t.default.existsSync(i))return s;for(let e of t.default.readdirSync(i,{withFileTypes:!0})){let l,d;if("skill"===n){if(!e.isDirectory()||(l=r.default.join(i,e.name,"SKILL.md"),d=r.default.join(o,e.name,"SKILL.md"),!t.default.existsSync(l)))continue}else{if(!e.isFile()||!e.name.endsWith(".md"))continue;l=r.default.join(i,e.name),d=r.default.join(o,e.name)}let u=t.default.readFileSync(l,"utf-8"),c=(0,a.parseFrontmatter)(u),p=c?.name||e.name.replace(/\.md$/,"");s.push({name:p,type:n,path:d,frontmatter:c,isValid:(0,a.validateFrontmatter)(c)})}}catch{}return s.sort((e,t)=>e.name.localeCompare(t.name))}function i(){let e=s(),a=o(e,"skill");return{skills:a,agents:o(e,"agent"),mcp:function(e){let a=r.default.join(e,"mcp"),n=[];try{if(!t.default.existsSync(a))return n;for(let e of t.default.readdirSync(a,{withFileTypes:!0})){let s;if(!e.isFile()||!e.name.endsWith(".json"))continue;let o=r.default.join(a,e.name),i=t.default.readFileSync(o,"utf-8");try{s=JSON.parse(i)}catch{continue}let l=s.name||e.name.replace(/\.json$/,"");n.push({name:l,type:"mcp",path:r.default.join("mcp",e.name),frontmatter:{name:l,version:s.version,description:s.description,updated:s.updated},isValid:!!(s.name&&(s.command||s.url))})}}catch{}return n}(e)}}function l(){let e=s();return[...o(e,"skill"),...o(e,"agent")]}e.s(["getStoreAssets",()=>l,"scanStore",()=>i])},48044,e=>{"use strict";var t=e.i(22734),r=e.i(33405),a=e.i(14747),n=e.i(46676),s=e.i(73178);let o={outdatedAssets:.3,staleCards:.15,unresolvedProblems:.25,missingClaudeMd:.1,nonCompliantFrontmatter:.2};function i(e,t=0,r=0,a=0,n=o){let s=[],l=Math.max(r,1);s.push({name:"Outdated Assets",weight:n.outdatedAssets,value:t,maxValue:l});let d=Date.now(),u=[...e.backlog],c=u.filter(e=>(d-new Date(e.created_at).getTime())/864e5>14&&"done"!==e.status).length,p=Math.max(u.length,1);s.push({name:"Stale Cards",weight:n.staleCards,value:c,maxValue:p}),s.push({name:"Unresolved Problems",weight:n.unresolvedProblems,value:0,maxValue:1}),s.push({name:"Missing CLAUDE.md",weight:n.missingClaudeMd,value:+!e.hasClaudeMd,maxValue:1});let f=Math.max(r,1);s.push({name:"Non-compliant Frontmatter",weight:n.nonCompliantFrontmatter,value:a,maxValue:f});let h=0;for(let e of s)h+=Math.min(e.maxValue>0?e.value/e.maxValue:0,1)*e.weight;let m=Math.round(Math.max(0,(1-h)*100));return{score:m,level:m>=80?"green":m>=50?"amber":"red",factors:s}}var l=e.i(7367);function d(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return e.endsWith("/web")||e.endsWith("\\web")?a.default.dirname(e):e}let u=d(),c=a.default.join(u,"projects","registry.json");async function p(){try{let e=await t.promises.readFile(c,"utf-8");return JSON.parse(e)}catch(e){throw console.error("Failed to load registry:",e),Error(`Failed to load registry from ${c}`)}}async function f(e){let r=JSON.stringify(e,null,2)+"\n";await t.promises.writeFile(c,r,"utf-8")}async function h(e){try{return(await t.promises.stat(e)).isDirectory()}catch{return!1}}async function m(e){try{let r=await t.promises.readFile(e,"utf-8");return JSON.parse(r)}catch{return null}}async function g(e,t,r){let n=a.default.join(e,"documentation","backlog.json"),s=await m(n);return s?s.map(e=>({...e,projectId:t,projectName:r})):[]}async function x(e,t){let r=a.default.join(e,"documentation","designs.json"),n=await m(r);return n?n.map(e=>({...e,projectId:t})):[]}async function y(e,t){let r=a.default.join(e,"documentation","features.json"),n=await m(r);return n?n.map(e=>({...e,projectId:t})):[]}async function v(e){let t=e.path;if(!await h(t))return{...e,backlog:[],designs:[],features:[],accessible:!1,error:`Path not accessible: ${t}`};let[a,s,o]=await Promise.all([g(t,e.id,e.name),x(t,e.id),y(t,e.id)]),i=(0,n.scanProjectAssets)(t,e.id),l=(0,n.detectPlatforms)(t),d=function(e){try{return(0,r.execSync)("git status --porcelain",{cwd:e,encoding:"utf-8",timeout:5e3}).split("\n").filter(e=>e.trim().length>0).length}catch{return -1}}(t);return{...e,backlog:a,designs:s,features:o,assets:i,platforms:l,gitUncommitted:d>=0?d:void 0,accessible:!0}}async function w(){let e=await p();for(let t=0;t<e.projects.length;t++)void 0===e.projects[t].order&&(e.projects[t].order=t);e.projects.sort((e,t)=>(e.order??0)-(t.order??0));let t=e.projects.map(e=>v(e)),r=await Promise.all(t),o=(0,s.getStoreAssets)(),u=["skill","agent"],c=0,f=[];for(let t of["claude","agents"])for(let r of u){let a=o.filter(e=>e.type===r),s=new Map;for(let a of e.projects){let e=(0,n.scanProviderAssets)(a.path,t);s.set(a.id,e.filter(e=>e.type===r))}let i=(0,n.buildStoreAssetMatrix)(a,s,e.projects,r);f.push(...i)}for(let e of f)for(let t of e.cells)"outdated"===t.status&&c++;for(let e of r){if(!e.accessible)continue;let t=0;for(let r of f)for(let a of r.cells)a.projectId===e.id&&"outdated"===a.status&&t++;e.healthScore=function(e,t,r=0,a){if(!t)return i(e,0,0,0,void 0);let n=[...t.skills,...t.agents];return i(e,r,n.length,n.filter(e=>!e.isValid).length,void 0)}(e,e.assets,t)}let h=0,g=0;for(let e of r){if(!e.accessible)continue;let t=a.default.join(e.path,"documentation","kanban.json"),r=await m(t);if(r?.stages){h+=(r.stages.backlog||[]).filter(e=>!e.archived).length;let e=(r.stages.implementation||[]).filter(e=>!e.archived),t=(r.stages.testing||[]).filter(e=>!e.archived);g+=e.length+t.length}}let x=r.reduce((e,t)=>e+(t.gitUncommitted&&t.gitUncommitted>0?t.gitUncommitted:0),0),y=(0,l.getBridgeUrl)();try{let e=await fetch(`${y}/stats`,{signal:AbortSignal.timeout(2e3)});if(e.ok){let t=await e.json(),a={};for(let e of t.sessions||[])if(e.isActive){let t=e.name.split(":")[0];a[t]=(a[t]||0)+1}for(let e of r)e.activeSessions=a[e.id]??0}}catch{}let w=d();return{projects:r,totalBacklogItems:h,activeItems:g,totalOutdatedAssets:c,totalUncommitted:x,lastRefresh:new Date().toISOString(),slycodeRoot:w,projectsDir:a.default.dirname(w)}}e.s(["getRepoRoot",()=>d,"loadDashboardData",()=>w,"loadRegistry",()=>p,"saveRegistry",()=>f],48044)},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},77981,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(74838),m=e.i(10372),g=e.i(93695);e.i(52474);var x=e.i(220),y=e.i(89171),v=e.i(48044),w=e.i(33405),j=e.i(24361),R=e.i(14747),S=e.i(46786),E=e.i(7367);let C=(0,j.promisify)(w.execFile);async function b(){try{let e=await (0,v.loadRegistry)();return y.NextResponse.json(e.projects)}catch(e){return console.error("Failed to load projects:",e),y.NextResponse.json({error:"Failed to load projects"},{status:500})}}async function A(e){try{var t;let r,{name:a,description:n,path:s,tags:o,scaffoldConfig:i,providers:l}=await e.json();if(!a||!s)return y.NextResponse.json({error:"name and path are required"},{status:400});let d=(t=(t=s).replace(/^[\u02dc\uff5e]/,"~")).startsWith("~/")||"~"===t?t.replace(/^~/,S.default.homedir()):t;if(!R.default.isAbsolute(d))return y.NextResponse.json({error:"Please enter an absolute path (e.g. ~/Dev/myproject or /home/user/Dev/myproject)"},{status:400});let u=R.default.resolve(d),c=await (0,v.loadRegistry)(),p=a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"");if(c.projects.some(e=>e.id===p))return y.NextResponse.json({error:`Project with id '${p}' already exists`},{status:409});if(c.projects.some(e=>e.path===u)){let e=c.projects.find(e=>e.path===u);return y.NextResponse.json({error:`This directory is already registered as '${e?.name}'`},{status:409})}let f=[R.default.join((0,E.getPackageDir)(),"scripts","scaffold.js"),"create","--path",u,"--name",a,"--id",p];n&&f.push("--description",n),l&&Array.isArray(l)&&l.length>0&&f.push("--providers",l.join(",")),i&&f.push("--config",JSON.stringify(i));let{stdout:h,stderr:m}=await C("node",f,{timeout:3e4,windowsHide:!0});try{r=JSON.parse(h)}catch{return y.NextResponse.json({error:"Scaffold script returned invalid output",details:h,stderr:m},{status:500})}if(!r.success)return y.NextResponse.json({error:"Scaffolding failed",details:r},{status:500});let g={id:p,name:a,description:n||"",path:u,hasClaudeMd:!0,masterCompliant:!0,areas:[],tags:o||[]};return c.projects.push(g),c.lastUpdated=new Date().toISOString(),await (0,v.saveRegistry)(c),y.NextResponse.json({project:g,scaffold:r},{status:201})}catch(e){return console.error("Failed to create project:",e),y.NextResponse.json({error:"Failed to create project",details:String(e)},{status:500})}}e.s(["GET",()=>b,"POST",()=>A,"dynamic",0,"force-dynamic"],50364);var O=e.i(50364);let N=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/projects/route",pathname:"/api/projects",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/projects/route.ts",nextConfigOutput:"standalone",userland:O}),{workAsyncStorage:k,workUnitAsyncStorage:P,serverHooks:D}=N;function _(){return(0,a.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:P})}async function M(e,t,a){N.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/projects/route";y=y.replace(/\/index$/,"")||"/";let v=await N.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:j,nextConfig:R,parsedUrl:S,isDraftMode:E,prerenderManifest:C,routerServerContext:b,isOnDemandRevalidate:A,revalidateOnlyGenerated:O,resolvedPathname:k,clientReferenceManifest:P,serverActionsManifest:D}=v,_=(0,i.normalizeAppPath)(y),M=!!(C.dynamicRoutes[_]||C.routes[k]),T=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,S,!1):t.end("This page could not be found"),null);if(M&&!E){let e=!!C.routes[k],t=C.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await T();throw new g.NoFallbackError}}let F=null;!M||N.isDev||E||(F="/index"===(F=k)?"/":F);let q=!0===N.isDev||!M,U=M&&!q;D&&P&&(0,o.setManifestsSingleton)({page:y,clientReferenceManifest:P,serverActionsManifest:D});let H=e.method||"GET",I=(0,s.getTracer)(),L=I.getActiveScopeSpan(),$={params:j,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>N.onRequestError(e,t,a,n,b)},sharedContext:{buildId:w}},V=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),B=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let o=async e=>N.handle(B,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=I.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${y}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!i&&A&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!M)return await (0,p.sendResponse)(V,K,s,$.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await N.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,b),t}},u=await N.handleResponse({req:e,nextConfig:R,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:O,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:i});if(!M)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&M||g.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(V,K,new Response(u.value.body,{headers:g,status:u.value.status||200})),null};L?await l(L):await I.withPropagatedContext(e.headers,()=>I.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${y}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,b),M)throw t;return await (0,p.sendResponse)(V,K,new Response(null,{status:500})),null}}e.s(["handler",()=>M,"patchFetch",()=>_,"routeModule",()=>N,"serverHooks",()=>D,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>P],77981)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__f3e501b6._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},7367,e=>{"use strict";var t=e.i(14747),r=e.i(22734);function n(){if(process.env.SLYCODE_HOME)return process.env.SLYCODE_HOME;let e=process.cwd();return(console.warn("[paths] SLYCODE_HOME not set in production — falling back to cwd:",e),e.endsWith("/web")||e.endsWith("\\web"))?t.default.dirname(e):e}function a(){let e=n(),a=t.default.join(e,"node_modules","@slycode","slycode","dist");return r.default.existsSync(a)?a:e}function s(){return process.env.BRIDGE_URL?process.env.BRIDGE_URL:"http://127.0.0.1:3004"}e.s(["getBridgeUrl",()=>s,"getPackageDir",()=>a,"getSlycodeRoot",()=>n])},61525,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(74838),x=e.i(10372),R=e.i(93695);e.i(52474);var m=e.i(220),v=e.i(89171),g=e.i(22734),y=e.i(14747),b=e.i(7367);function E(){return y.default.join((0,b.getSlycodeRoot)(),"data","settings.json")}let w={voice:{autoSubmitTerminal:!0,maxRecordingSeconds:300,shortcuts:{startRecording:"Ctrl+.",pauseResume:"Space",submit:"Enter",submitPasteOnly:"Shift+Enter",clear:"Escape"}}};async function C(){try{let e=await g.promises.readFile(E(),"utf-8");return v.NextResponse.json(JSON.parse(e))}catch{return v.NextResponse.json(w)}}async function S(e){try{let t,r=await e.json();if("object"!=typeof r||null===r)return v.NextResponse.json({error:"Payload must be an object"},{status:400});if(void 0!==r.voice){let e=function(e){if("object"!=typeof e||null===e)return'"voice" must be an object';if(void 0!==e.autoSubmitTerminal&&"boolean"!=typeof e.autoSubmitTerminal)return'"voice.autoSubmitTerminal" must be a boolean';if(void 0!==e.maxRecordingSeconds&&("number"!=typeof e.maxRecordingSeconds||e.maxRecordingSeconds<=0))return'"voice.maxRecordingSeconds" must be a positive number';if(void 0!==e.shortcuts){if("object"!=typeof e.shortcuts||null===e.shortcuts)return'"voice.shortcuts" must be an object';for(let[t,r]of Object.entries(e.shortcuts))if("string"!=typeof r)return`"voice.shortcuts.${t}" must be a string`}return null}(r.voice);if(e)return v.NextResponse.json({error:e},{status:400})}let n=E();try{t=JSON.parse(await g.promises.readFile(n,"utf-8"))}catch{t={...w}}let a=function e(t,r){let n={...t};for(let a of Object.keys(r))null===r[a]||"object"!=typeof r[a]||Array.isArray(r[a])||"object"!=typeof t[a]||null===t[a]||Array.isArray(t[a])?n[a]=r[a]:n[a]=e(t[a],r[a]);return n}(t,r);return await g.promises.writeFile(n,JSON.stringify(a,null,2)+"\n"),v.NextResponse.json(a)}catch(e){return v.NextResponse.json({error:e.message},{status:500})}}e.s(["GET",()=>C,"PUT",()=>S],36189);var j=e.i(36189);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/settings/route",pathname:"/api/settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/settings/route.ts",nextConfigOutput:"standalone",userland:j}),{workAsyncStorage:O,workUnitAsyncStorage:N,serverHooks:T}=A;function P(){return(0,n.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:N})}async function _(e,t,n){A.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/settings/route";v=v.replace(/\/index$/,"")||"/";let g=await A.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:y,params:b,nextConfig:E,parsedUrl:w,isDraftMode:C,prerenderManifest:S,routerServerContext:j,isOnDemandRevalidate:O,revalidateOnlyGenerated:N,resolvedPathname:T,clientReferenceManifest:P,serverActionsManifest:_}=g,k=(0,i.normalizeAppPath)(v),q=!!(S.dynamicRoutes[k]||S.routes[T]),H=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,w,!1):t.end("This page could not be found"),null);if(q&&!C){let e=!!S.routes[T],t=S.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await H();throw new R.NoFallbackError}}let U=null;!q||A.isDev||C||(U="/index"===(U=T)?"/":U);let D=!0===A.isDev||!q,I=q&&!D;_&&P&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:P,serverActionsManifest:_});let M=e.method||"GET",F=(0,s.getTracer)(),L=F.getActiveScopeSpan(),$={params:b,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>A.onRequestError(e,t,n,a,j)},sharedContext:{buildId:y}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let o=async e=>A.handle(G,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${v}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&O&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=$.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(B,K,s,$.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[x.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,n=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:O})},!1,j),t}},d=await A.handleResponse({req:e,nextConfig:E,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:N,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:i});if(!q)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",O?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let R=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&q||R.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(B,K,new Response(d.value.body,{headers:R,status:d.value.status||200})),null};L?await l(L):await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof R.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:O})},!1,j),q)throw t;return await (0,p.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>_,"patchFetch",()=>P,"routeModule",()=>A,"serverHooks",()=>T,"workAsyncStorage",()=>O,"workUnitAsyncStorage",()=>N],61525)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__f59af2bc._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},54799,(a,b,c)=>{b.exports=a.x("crypto",()=>require("crypto"))},33405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},50645,a=>{a.n(a.i(27572))},43619,a=>{a.n(a.i(79962))},13718,a=>{a.n(a.i(85523))},18198,a=>{a.n(a.i(45518))},62212,a=>{a.n(a.i(66114))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__9ac6ea25._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},54799,(a,b,c)=>{b.exports=a.x("crypto",()=>require("crypto"))},33405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},50645,a=>{a.n(a.i(27572))},43619,a=>{a.n(a.i(79962))},13718,a=>{a.n(a.i(85523))},18198,a=>{a.n(a.i(45518))},62212,a=>{a.n(a.i(66114))},72187,a=>{"use strict";a.s(["Dashboard",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Dashboard() from the server but Dashboard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/Dashboard.tsx <module evaluation>","Dashboard")},92848,a=>{"use strict";a.s(["Dashboard",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Dashboard() from the server but Dashboard is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/Dashboard.tsx","Dashboard")},22671,a=>{"use strict";a.i(72187);var b=a.i(92848);a.n(b)},60168,a=>{"use strict";var b=a.i(7997),c=a.i(22671),d=a.i(20884);async function e(){let a=await (0,d.loadDashboardData)();return(0,b.jsx)(c.Dashboard,{data:a})}a.s(["default",()=>e,"dynamic",0,"force-dynamic"])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__dfe2728c._.js.map