@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.
- package/dist/bridge/provider-utils.d.ts +10 -0
- package/dist/bridge/provider-utils.js +5 -1
- package/dist/bridge/provider-utils.js.map +1 -1
- package/dist/bridge/session-manager.js +6 -0
- package/dist/bridge/session-manager.js.map +1 -1
- package/dist/bridge/types.d.ts +4 -0
- package/dist/messaging/bridge-client.d.ts +3 -3
- package/dist/messaging/bridge-client.js +6 -4
- package/dist/messaging/bridge-client.js.map +1 -1
- package/dist/messaging/index.js +111 -20
- package/dist/messaging/index.js.map +1 -1
- package/dist/messaging/state.d.ts +3 -0
- package/dist/messaging/state.js +13 -0
- package/dist/messaging/state.js.map +1 -1
- package/dist/messaging/types.d.ts +3 -0
- package/dist/web/.next/BUILD_ID +1 -1
- package/dist/web/.next/build-manifest.json +2 -2
- package/dist/web/.next/server/app/_global-error.html +2 -2
- package/dist/web/.next/server/app/_global-error.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/web/.next/server/app/_not-found.html +1 -1
- package/dist/web/.next/server/app/_not-found.rsc +2 -2
- package/dist/web/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/dist/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/dist/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/web/.next/server/app/api/areas/route.js +1 -1
- package/dist/web/.next/server/app/api/areas/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/bridge/[...path]/route.js +1 -1
- package/dist/web/.next/server/app/api/bridge/[...path]/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/cli-assets/assistant/route.js +1 -1
- package/dist/web/.next/server/app/api/cli-assets/assistant/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/cli-assets/fix/route.js +1 -1
- package/dist/web/.next/server/app/api/cli-assets/fix/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/cli-assets/import/route.js +1 -1
- package/dist/web/.next/server/app/api/cli-assets/import/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/cli-assets/route.js +2 -2
- package/dist/web/.next/server/app/api/cli-assets/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/cli-assets/store/preview/route.js +1 -1
- package/dist/web/.next/server/app/api/cli-assets/store/preview/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/cli-assets/store/route.js +2 -2
- package/dist/web/.next/server/app/api/cli-assets/store/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/cli-assets/sync/route.js +1 -1
- package/dist/web/.next/server/app/api/cli-assets/sync/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/cli-assets/updates/route.js +2 -2
- package/dist/web/.next/server/app/api/cli-assets/updates/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/dashboard/route.js +2 -2
- package/dist/web/.next/server/app/api/dashboard/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/events/route.js +1 -1
- package/dist/web/.next/server/app/api/events/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/file/route.js +1 -1
- package/dist/web/.next/server/app/api/file/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/git-status/route.js +1 -1
- package/dist/web/.next/server/app/api/git-status/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/kanban/route.js +1 -1
- package/dist/web/.next/server/app/api/kanban/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/kanban/stream/route.js +1 -1
- package/dist/web/.next/server/app/api/kanban/stream/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/projects/[id]/route.js +2 -2
- package/dist/web/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/projects/analyze/route.js +1 -1
- package/dist/web/.next/server/app/api/projects/analyze/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/projects/reorder/route.js +2 -2
- package/dist/web/.next/server/app/api/projects/reorder/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/projects/route.js +2 -2
- package/dist/web/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/providers/route.js +1 -1
- package/dist/web/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/scheduler/route.js +1 -1
- package/dist/web/.next/server/app/api/scheduler/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/search/route.js +1 -1
- package/dist/web/.next/server/app/api/search/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/settings/route.js +1 -1
- package/dist/web/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/sly-actions/invalidate/route.js +1 -1
- package/dist/web/.next/server/app/api/sly-actions/invalidate/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/sly-actions/route.js +1 -1
- package/dist/web/.next/server/app/api/sly-actions/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/sly-actions/stream/route.js +1 -1
- package/dist/web/.next/server/app/api/sly-actions/stream/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/system-stats/route.js +1 -1
- package/dist/web/.next/server/app/api/system-stats/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/terminal-classes/route.js +1 -1
- package/dist/web/.next/server/app/api/terminal-classes/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/transcribe/route.js +5 -5
- package/dist/web/.next/server/app/api/transcribe/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/api/version-check/route.js +1 -1
- package/dist/web/.next/server/app/api/version-check/route.js.nft.json +1 -1
- package/dist/web/.next/server/app/page.js +1 -1
- package/dist/web/.next/server/app/page.js.nft.json +1 -1
- package/dist/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/web/.next/server/app/project/[id]/page.js +2 -2
- package/dist/web/.next/server/app/project/[id]/page.js.nft.json +1 -1
- package/dist/web/.next/server/app/project/[id]/page_client-reference-manifest.js +1 -1
- package/dist/web/.next/server/chunks/{[externals]__c6831f39._.js → [externals]__78e522ea._.js} +2 -2
- package/dist/web/.next/server/chunks/{[root-of-the-server]__1ec21ccc._.js → [root-of-the-server]__029203cd._.js} +3 -3
- package/dist/web/.next/server/chunks/{[root-of-the-server]__4297cb97._.js → [root-of-the-server]__0d6d4443._.js} +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__172ad0b1._.js +18 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__1c5f4ef9._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__1cab11f0._.js +3 -0
- package/dist/web/.next/server/chunks/{[root-of-the-server]__0f69c28a._.js → [root-of-the-server]__1eb3f172._.js} +2 -2
- package/dist/web/.next/server/chunks/[root-of-the-server]__22cba275._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__2543e413._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__2c42a835._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__2ed0ff47._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__35454eea._.js +27 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__35768b56._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__3880228a._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__42322d88._.js +3 -0
- package/dist/web/.next/server/chunks/{[root-of-the-server]__d0f4efec._.js → [root-of-the-server]__5152eeff._.js} +3 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__527c7f57._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__5c5dac4b._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__5cb130f2._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__68927e75._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__719517c7._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__73cf49c2._.js +3 -0
- package/dist/web/.next/server/chunks/{[root-of-the-server]__f5dae2ad._.js → [root-of-the-server]__7af4ab09._.js} +1 -1
- package/dist/web/.next/server/chunks/{[root-of-the-server]__4244617a._.js → [root-of-the-server]__7e6860e0._.js} +3 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__88bf5e22._.js +3 -0
- package/dist/web/.next/server/chunks/{[root-of-the-server]__f97e93fa._.js → [root-of-the-server]__8b4259cb._.js} +3 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__92f81907._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__967603e9._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__9e4bd28f._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__ba1d2e56._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__c942d872._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__d7893622._.js +3 -0
- package/dist/web/.next/server/chunks/{[root-of-the-server]__3b9d3e43._.js → [root-of-the-server]__d843611b._.js} +6 -6
- package/dist/web/.next/server/chunks/[root-of-the-server]__f4d2627f._.js +3 -0
- package/dist/web/.next/server/chunks/[root-of-the-server]__f597835d._.js +3 -0
- package/dist/web/.next/server/chunks/{[root-of-the-server]__cf14e306._.js → [root-of-the-server]__fe8b9abd._.js} +1 -1
- package/dist/web/.next/server/chunks/src_677020aa._.js +1 -1
- package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__1f5fc489._.js +1 -1
- package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__43d93717._.js +3 -0
- package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__90f82e6d._.js +3 -0
- package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__bcbe4bf2._.js +1 -1
- package/dist/web/.next/server/chunks/ssr/src_lib_registry_ts_2fc87c9c._.js +1 -1
- package/dist/web/.next/server/pages/404.html +1 -1
- package/dist/web/.next/server/pages/500.html +2 -2
- package/dist/web/.next/static/chunks/18cfbdd7e977bb01.css +1 -0
- package/dist/web/.next/static/chunks/8415039c5941cf5c.js +4 -0
- package/dist/web/.next/static/chunks/{3d5195b57fc05540.js → a0f5f9cdee8a22c1.js} +2 -2
- package/dist/web/src/app/api/projects/analyze/route.ts +12 -2
- package/dist/web/src/app/api/projects/route.ts +1 -11
- package/dist/web/src/app/api/providers/route.ts +4 -0
- package/dist/web/src/components/ClaudeTerminalPanel.tsx +124 -70
- package/dist/web/src/lib/paths.ts +14 -0
- package/dist/web/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/templates/kanban-seed.json +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__09aec55a._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__12f6cd6f._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__15fc9266._.js +0 -18
- package/dist/web/.next/server/chunks/[root-of-the-server]__198f01e0._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__279e9bf3._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__2b639eab._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__2d1f0ed9._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__3f239285._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__47dd878e._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__5b8c9374._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__5e08b942._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__6ffce934._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__71bb3374._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__7603305e._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__7c476ad6._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__846ca56f._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__98d88050._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__b273cc05._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__b90bbd70._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__d5272169._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__d56e68cb._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__d6362272._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__de1277ee._.js +0 -27
- package/dist/web/.next/server/chunks/[root-of-the-server]__e88a19d2._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__f3e501b6._.js +0 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__f59af2bc._.js +0 -3
- package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__9ac6ea25._.js +0 -3
- package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__dfe2728c._.js +0 -3
- package/dist/web/.next/static/chunks/59fb302a5bfd2dc0.js +0 -4
- package/dist/web/.next/static/chunks/747f5e5f9dcf2621.css +0 -1
- /package/dist/web/.next/static/{0sPAbk-Qw-InZ0rdHjHnC → b2V8jC3HBMi4vgm7Kie3H}/_buildManifest.js +0 -0
- /package/dist/web/.next/static/{0sPAbk-Qw-InZ0rdHjHnC → b2V8jC3HBMi4vgm7Kie3H}/_clientMiddlewareManifest.json +0 -0
- /package/dist/web/.next/static/{0sPAbk-Qw-InZ0rdHjHnC → b2V8jC3HBMi4vgm7Kie3H}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
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
|
|
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"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},7367,e=>{"use strict";var t=e.i(14747),r=e.i(22734),a=e.i(46786);function n(e){return(e=e.replace(/^[\u02dc\uff5e]/,"~")).startsWith("~/")||"~"===e?e.replace(/^~/,a.default.homedir()):e}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 i(){let e=s(),a=t.default.join(e,"node_modules","@slycode","slycode","dist");return r.default.existsSync(a)?a:e}function o(){return process.env.BRIDGE_URL?process.env.BRIDGE_URL:"http://127.0.0.1:3004"}e.s(["expandTilde",()=>n,"getBridgeUrl",()=>o,"getPackageDir",()=>i,"getSlycodeRoot",()=>s])},36688,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),d=e.i(16795),l=e.i(87718),c=e.i(95169),u=e.i(47587),p=e.i(66012),h=e.i(70101),m=e.i(74838),f=e.i(10372),v=e.i(93695);e.i(52474);var g=e.i(220),x=e.i(89171),y=e.i(22734),R=e.i(14747),C=e.i(7367);async function w(e){try{var t,r,a,n,s,i,o,d,l,c,u,p,h,m,f,v,g,w;let E,$,b,{mode:k,provider:P,assetType:T,assetName:A,description:S,changes:N}=await e.json();if(!k||!P||!T)return x.NextResponse.json({error:"mode, provider, and assetType are required"},{status:400});if("create"===k&&(!A||!S))return x.NextResponse.json({error:"assetName and description are required for create mode"},{status:400});if("modify"===k&&!A)return x.NextResponse.json({error:"assetName is required for modify mode"},{status:400});let M=(0,C.getSlycodeRoot)();if("mcp"===T)$=R.default.join(M,`store/mcp/${A}.json`);else{let e="skill"===T?"skills":"agents",t="skill"===T?`store/${e}/${A}/SKILL.md`:`store/${e}/${A}.md`;$=R.default.join(M,t)}let O=R.default.join(M,"documentation","reference","ai_cli_providers.md");if("modify"===k&&!y.default.existsSync($)){if("mcp"===T)return x.NextResponse.json({error:`Could not find MCP config '${A}' at ${$}`},{status:404});if("skill"!==T)return x.NextResponse.json({error:`Could not find asset '${A}' in store at ${$}`},{status:404})}return b="mcp"===T?"create"===k?(t=A,r=S,a=$,`Create an MCP (Model Context Protocol) server configuration called "${t}".
|
|
2
2
|
|
|
3
3
|
**Output file:** \`${a}\`
|
|
4
4
|
|
|
@@ -52,7 +52,7 @@ There are two transport types. Use the one that matches the MCP server:
|
|
|
52
52
|
- \`description\`, \`version\`, and \`updated\` are required metadata fields
|
|
53
53
|
- The file must be valid JSON
|
|
54
54
|
|
|
55
|
-
Write the config to \`${a}\`.`):(n=
|
|
55
|
+
Write the config to \`${a}\`.`):(n=A,s=N||"",i=$,`Modify the MCP server configuration "${n}".
|
|
56
56
|
|
|
57
57
|
**File to modify:** \`${i}\`
|
|
58
58
|
|
|
@@ -67,7 +67,7 @@ ${s||"Review and improve this MCP configuration. Verify the package exists, upda
|
|
|
67
67
|
- Keep \`name\` as \`${n}\`
|
|
68
68
|
- The file must be valid JSON
|
|
69
69
|
|
|
70
|
-
Write the updated file back to \`${i}\`.`):"create"===k?(o=P,d=
|
|
70
|
+
Write the updated file back to \`${i}\`.`):"create"===k?(o=P,d=T,l=A,c=S,u=$,p=O,E={claude:"Claude Code",agents:"Agents (Universal)",codex:"Codex CLI",gemini:"Gemini CLI"},`Create a new ${E[o]} ${d} called "${l}".
|
|
71
71
|
|
|
72
72
|
**Format reference:** \`${p}\`
|
|
73
73
|
**Output file:** \`${u}\`
|
|
@@ -100,7 +100,7 @@ Since this asset targets the universal .agents/ directory (used by both Codex CL
|
|
|
100
100
|
- Use generic terms like "the AI assistant" or "the agent" instead
|
|
101
101
|
- The content should work identically across any AI coding tool that reads .agents/
|
|
102
102
|
`:""}
|
|
103
|
-
Write the complete file to \`${u}\`.`):(h=P,m=
|
|
103
|
+
Write the complete file to \`${u}\`.`):(h=P,m=T,f=A,v=N||"",g=$,w=O,`Modify the ${({claude:"Claude Code",agents:"Agents (Universal)",codex:"Codex CLI",gemini:"Gemini CLI"})[h]} ${m} "${f}".
|
|
104
104
|
|
|
105
105
|
**File to modify:** \`${g}\`
|
|
106
106
|
**Format reference:** \`${w}\`
|
|
@@ -115,6 +115,6 @@ ${v||"Review and improve this asset. Fix any issues, improve clarity, and ensure
|
|
|
115
115
|
- Keep all other frontmatter fields intact (\`name\`, \`description\`)
|
|
116
116
|
- If any required field is missing, add it
|
|
117
117
|
|
|
118
|
-
Write the updated file back to \`${g}\`.`),x.NextResponse.json({prompt:b,outputPath:$})}catch(e){return console.error("Asset assistant failed:",e),x.NextResponse.json({error:"Failed to generate assistant prompt",details:String(e)},{status:500})}}e.s(["POST",()=>w],82398);var E=e.i(82398);let $=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cli-assets/assistant/route",pathname:"/api/cli-assets/assistant",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-assets/assistant/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:b,workUnitAsyncStorage:k,serverHooks:P}=$;function
|
|
118
|
+
Write the updated file back to \`${g}\`.`),x.NextResponse.json({prompt:b,outputPath:$})}catch(e){return console.error("Asset assistant failed:",e),x.NextResponse.json({error:"Failed to generate assistant prompt",details:String(e)},{status:500})}}e.s(["POST",()=>w],82398);var E=e.i(82398);let $=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cli-assets/assistant/route",pathname:"/api/cli-assets/assistant",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-assets/assistant/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:b,workUnitAsyncStorage:k,serverHooks:P}=$;function T(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:k})}async function A(e,t,a){$.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/cli-assets/assistant/route";x=x.replace(/\/index$/,"")||"/";let y=await $.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:C,nextConfig:w,parsedUrl:E,isDraftMode:b,prerenderManifest:k,routerServerContext:P,isOnDemandRevalidate:T,revalidateOnlyGenerated:A,resolvedPathname:S,clientReferenceManifest:N,serverActionsManifest:M}=y,O=(0,o.normalizeAppPath)(x),I=!!(k.dynamicRoutes[O]||k.routes[S]),j=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,E,!1):t.end("This page could not be found"),null);if(I&&!b){let e=!!k.routes[S],t=k.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(w.experimental.adapterPath)return await j();throw new v.NoFallbackError}}let q=null;!I||$.isDev||b||(q="/index"===(q=S)?"/":q);let _=!0===$.isDev||!I,U=I&&!_;M&&N&&(0,i.setManifestsSingleton)({page:x,clientReferenceManifest:N,serverActionsManifest:M});let D=e.method||"GET",L=(0,s.getTracer)(),H=L.getActiveScopeSpan(),K={params:C,prerenderManifest:k,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:_,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>$.onRequestError(e,t,a,n,P)},sharedContext:{buildId:R}},Y=new d.NodeNextRequest(e),F=new d.NodeNextResponse(t),W=l.NextRequestAdapter.fromNodeNextRequest(Y,(0,l.signalFromNodeResponse)(t));try{let i=async e=>$.handle(W,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=`${D} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${x}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),d=async n=>{var s,d;let l=async({previousCacheEntry:r})=>{try{if(!o&&T&&A&&!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=K.renderOpts.fetchMetrics;let d=K.renderOpts.pendingWaitUntil;d&&a.waitUntil&&(a.waitUntil(d),d=void 0);let l=K.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(Y,F,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:g.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 $.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,P),t}},c=await $.handleResponse({req:e,nextConfig:w,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:o});if(!I)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let v=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return o&&I||v.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||v.get("Cache-Control")||v.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(Y,F,new Response(c.value.body,{headers:v,status:c.value.status||200})),null};H?await d(H):await L.withPropagatedContext(e.headers,()=>L.trace(c.BaseServerSpan.handleRequest,{spanName:`${D} ${x}`,kind:s.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},d))}catch(t){if(t instanceof v.NoFallbackError||await $.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,P),I)throw t;return await (0,p.sendResponse)(Y,F,new Response(null,{status:500})),null}}e.s(["handler",()=>A,"patchFetch",()=>T,"routeModule",()=>$,"serverHooks",()=>P,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>k],36688)}];
|
|
119
119
|
|
|
120
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
120
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__d843611b._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
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"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},7367,e=>{"use strict";var t=e.i(14747),r=e.i(22734),n=e.i(46786);function a(e){return(e=e.replace(/^[\u02dc\uff5e]/,"~")).startsWith("~/")||"~"===e?e.replace(/^~/,n.default.homedir()):e}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 o(){let e=s(),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(["expandTilde",()=>a,"getBridgeUrl",()=>i,"getPackageDir",()=>o,"getSlycodeRoot",()=>s])},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 s(){return r.default.join((0,a.getSlycodeRoot)(),"store")}function o(e,a){let s=[],o="skill"===a?"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,u;if("skill"===a){if(!e.isDirectory()||(l=r.default.join(i,e.name,"SKILL.md"),u=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),u=r.default.join(o,e.name)}let d=t.default.readFileSync(l,"utf-8"),c=(0,n.parseFrontmatter)(d),p=c?.name||e.name.replace(/\.md$/,"");s.push({name:p,type:a,path:u,frontmatter:c,isValid:(0,n.validateFrontmatter)(c)})}}catch{}return s.sort((e,t)=>e.name.localeCompare(t.name))}function i(){let e=s(),n=o(e,"skill");return{skills:n,agents:o(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 s;if(!e.isFile()||!e.name.endsWith(".json"))continue;let o=r.default.join(n,e.name),i=t.default.readFileSync(o,"utf-8");try{s=JSON.parse(i)}catch{continue}let l=s.name||e.name.replace(/\.json$/,"");a.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 a}(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),n=e.i(14747),a=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,n=0,a=o){let s=[],l=Math.max(r,1);s.push({name:"Outdated Assets",weight:a.outdatedAssets,value:t,maxValue:l});let u=Date.now(),d=[...e.backlog],c=d.filter(e=>(u-new Date(e.created_at).getTime())/864e5>14&&"done"!==e.status).length,p=Math.max(d.length,1);s.push({name:"Stale Cards",weight:a.staleCards,value:c,maxValue:p}),s.push({name:"Unresolved Problems",weight:a.unresolvedProblems,value:0,maxValue:1}),s.push({name:"Missing CLAUDE.md",weight:a.missingClaudeMd,value:+!e.hasClaudeMd,maxValue:1});let f=Math.max(r,1);s.push({name:"Non-compliant Frontmatter",weight:a.nonCompliantFrontmatter,value:n,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 u(){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 d=u(),c=n.default.join(d,"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 a=n.default.join(e,"documentation","backlog.json"),s=await m(a);return s?s.map(e=>({...e,projectId:t,projectName:r})):[]}async function x(e,t){let r=n.default.join(e,"documentation","designs.json"),a=await m(r);return a?a.map(e=>({...e,projectId:t})):[]}async function y(e,t){let r=n.default.join(e,"documentation","features.json"),a=await m(r);return a?a.map(e=>({...e,projectId:t})):[]}async function R(e){let t=e.path;if(!await h(t))return{...e,backlog:[],designs:[],features:[],accessible:!1,error:`Path not accessible: ${t}`};let[n,s,o]=await Promise.all([g(t,e.id,e.name),x(t,e.id),y(t,e.id)]),i=(0,a.scanProjectAssets)(t,e.id),l=(0,a.detectPlatforms)(t),u=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:s,features:o,assets:i,platforms:l,gitUncommitted:u>=0?u:void 0,accessible:!0}}async function v(){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=>R(e)),r=await Promise.all(t),o=(0,s.getStoreAssets)(),d=["skill","agent"],c=0,f=[];for(let t of["claude","agents"])for(let r of d){let n=o.filter(e=>e.type===r),s=new Map;for(let n of e.projects){let e=(0,a.scanProviderAssets)(n.path,t);s.set(n.id,e.filter(e=>e.type===r))}let i=(0,a.buildStoreAssetMatrix)(n,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 n of r.cells)n.projectId===e.id&&"outdated"===n.status&&t++;e.healthScore=function(e,t,r=0,n){if(!t)return i(e,0,0,0,void 0);let a=[...t.skills,...t.agents];return i(e,r,a.length,a.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=n.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(),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=u();return{projects:r,totalBacklogItems:h,activeItems:g,totalOutdatedAssets:c,totalUncommitted:x,lastRefresh:new Date().toISOString(),slycodeRoot:v,projectsDir:n.default.dirname(v)}}e.s(["getRepoRoot",()=>u,"loadDashboardData",()=>v,"loadRegistry",()=>p,"saveRegistry",()=>f],48044)},71741,e=>{"use strict";var t=e.i(14747),r=e.i(48044);let n={hourly:36e5,daily:864e5,weekly:6048e5},a=null,s=0;async function o(){let e=Date.now();return a&&e-s<5e3||(a=await (0,r.loadRegistry)(),s=e),a}class i 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 o()).projects.find(t=>t.id===e);if(!n)throw new i(`Project '${e}' not found in registry`,"NOT_FOUND");return n.path}async function u(e){let r=await l(e);return t.default.join(r,"documentation","kanban.json")}async function d(e){let r=await l(e);return t.default.join(r,"documentation","archive")}async function c(e,r,n=1){let a=await d(e),s=String(n).padStart(3,"0");return t.default.join(a,`kanban_${r}_${s}.json`)}async function p(e){let r=await d(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 f(e){return e?u(e):t.default.join((0,r.getRepoRoot)(),"documentation")}e.s(["BACKUP_TIERS",0,n,"ProjectResolutionError",()=>i,"getArchiveDir",()=>d,"getKanbanPath",()=>u,"getLegacyBackupPaths",()=>p,"getTieredBackupPath",()=>c,"getWatchPath",()=>f,"resolveProjectRoot",()=>l])},45079,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),m=e.i(10372),g=e.i(93695);e.i(52474);var x=e.i(220),y=e.i(89171),R=e.i(32695),v=e.i(22734),w=e.i(14747),j=e.i(71741);async function S(){let e=(0,R.getSchedulerStatus)(),t=(0,R.getConfiguredTimezone)();return y.NextResponse.json({...e,...t})}async function E(e){try{let t=await e.json(),{action:r,cardId:n,projectId:a}=t;if("start"===r)return(0,R.startScheduler)(),y.NextResponse.json({ok:!0,message:"Scheduler started"});if("stop"===r)return(0,R.stopScheduler)(),y.NextResponse.json({ok:!0,message:"Scheduler stopped"});if("nextRun"===r){let{schedule:e,scheduleType:r}=t;if(!e)return y.NextResponse.json({error:"schedule required"},{status:400});let n=(0,R.getNextRun)(e,r||"recurring");return y.NextResponse.json({nextRun:n?n.toISOString():null})}if("trigger"===r){if(!n||!a)return y.NextResponse.json({error:"cardId and projectId required"},{status:400});let e=await (0,j.resolveProjectRoot)(a),t=w.default.join(e,"documentation","kanban.json"),r=await v.promises.readFile(t,"utf-8"),s=JSON.parse(r),o=null;for(let e of Object.values(s.stages)){let t=e.find(e=>e.id===n);if(t){o=t;break}}if(!o)return y.NextResponse.json({error:"Card not found"},{status:404});if(!o.automation)return y.NextResponse.json({error:"Card has no automation config"},{status:400});let i=await (0,R.triggerAutomation)(o,a,e,{trigger:"manual"}),l={lastRun:new Date().toISOString(),lastResult:i.success?"success":"error"};return await (0,R.updateCardAutomation)(e,n,l),y.NextResponse.json(i)}return y.NextResponse.json({error:"Unknown action"},{status:400})}catch(e){return y.NextResponse.json({error:e.message},{status:500})}}e.s(["GET",()=>S,"POST",()=>E],94132);var b=e.i(94132);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/scheduler/route",pathname:"/api/scheduler",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/scheduler/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:k,workUnitAsyncStorage:O,serverHooks:P}=C;function A(){return(0,n.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:O})}async function N(e,t,n){C.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/scheduler/route";y=y.replace(/\/index$/,"")||"/";let R=await C.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:v,params:w,nextConfig:j,parsedUrl:S,isDraftMode:E,prerenderManifest:b,routerServerContext:k,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,resolvedPathname:A,clientReferenceManifest:N,serverActionsManifest:_}=R,D=(0,i.normalizeAppPath)(y),T=!!(b.dynamicRoutes[D]||b.routes[A]),M=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,S,!1):t.end("This page could not be found"),null);if(T&&!E){let e=!!b.routes[A],t=b.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(j.experimental.adapterPath)return await M();throw new g.NoFallbackError}}let U=null;!T||C.isDev||E||(U="/index"===(U=A)?"/":U);let q=!0===C.isDev||!T,F=T&&!q;_&&N&&(0,o.setManifestsSingleton)({page:y,clientReferenceManifest:N,serverActionsManifest:_});let I=e.method||"GET",H=(0,s.getTracer)(),$=H.getActiveScopeSpan(),L={params:w,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!j.experimental.authInterrupts},cacheComponents:!!j.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:j.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>C.onRequestError(e,t,n,a,k)},sharedContext:{buildId:v}},V=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t));try{let o=async e=>C.handle(K,L).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")!==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=`${I} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${I} ${y}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&O&&P&&!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=L.renderOpts.fetchMetrics;let l=L.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=L.renderOpts.collectedTags;if(!T)return await (0,p.sendResponse)(V,B,s,L.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[m.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>=m.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:x.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 C.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:O})},!1,k),t}},d=await C.handleResponse({req:e,nextConfig:j,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:i});if(!T)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==x.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 g=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&T||g.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(V,B,new Response(d.value.body,{headers:g,status:d.value.status||200})),null};$?await l($):await H.withPropagatedContext(e.headers,()=>H.trace(d.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:D,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:O})},!1,k),T)throw t;return await (0,p.sendResponse)(V,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>A,"routeModule",()=>C,"serverHooks",()=>P,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>O],45079)},44264,e=>{e.v(e=>Promise.resolve().then(()=>e(33405)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__f4d2627f._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
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"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},7367,e=>{"use strict";var t=e.i(14747),r=e.i(22734),n=e.i(46786);function a(e){return(e=e.replace(/^[\u02dc\uff5e]/,"~")).startsWith("~/")||"~"===e?e.replace(/^~/,n.default.homedir()):e}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 i(){let e=s(),n=t.default.join(e,"node_modules","@slycode","slycode","dist");return r.default.existsSync(n)?n:e}function o(){return process.env.BRIDGE_URL?process.env.BRIDGE_URL:"http://127.0.0.1:3004"}e.s(["expandTilde",()=>a,"getBridgeUrl",()=>o,"getPackageDir",()=>i,"getSlycodeRoot",()=>s])},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 s(){return r.default.join((0,a.getSlycodeRoot)(),"store")}function i(e,a){let s=[],i="skill"===a?"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"===a){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,n.parseFrontmatter)(u),p=c?.name||e.name.replace(/\.md$/,"");s.push({name:p,type:a,path:d,frontmatter:c,isValid:(0,n.validateFrontmatter)(c)})}}catch{}return s.sort((e,t)=>e.name.localeCompare(t.name))}function o(){let e=s(),n=i(e,"skill");return{skills:n,agents:i(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 s;if(!e.isFile()||!e.name.endsWith(".json"))continue;let i=r.default.join(n,e.name),o=t.default.readFileSync(i,"utf-8");try{s=JSON.parse(o)}catch{continue}let l=s.name||e.name.replace(/\.json$/,"");a.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 a}(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),n=e.i(14747),a=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,n=0,a=i){let s=[],l=Math.max(r,1);s.push({name:"Outdated Assets",weight:a.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:a.staleCards,value:c,maxValue:p}),s.push({name:"Unresolved Problems",weight:a.unresolvedProblems,value:0,maxValue:1}),s.push({name:"Missing CLAUDE.md",weight:a.missingClaudeMd,value:+!e.hasClaudeMd,maxValue:1});let f=Math.max(r,1);s.push({name:"Non-compliant Frontmatter",weight:a.nonCompliantFrontmatter,value:n,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")?n.default.dirname(e):e}let u=d(),c=n.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 a=n.default.join(e,"documentation","backlog.json"),s=await h(a);return s?s.map(e=>({...e,projectId:t,projectName:r})):[]}async function y(e,t){let r=n.default.join(e,"documentation","designs.json"),a=await h(r);return a?a.map(e=>({...e,projectId:t})):[]}async function x(e,t){let r=n.default.join(e,"documentation","features.json"),a=await h(r);return a?a.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[n,s,i]=await Promise.all([g(t,e.id,e.name),y(t,e.id),x(t,e.id)]),o=(0,a.scanProjectAssets)(t,e.id),l=(0,a.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:n,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 n=i.filter(e=>e.type===r),s=new Map;for(let n of e.projects){let e=(0,a.scanProviderAssets)(n.path,t);s.set(n.id,e.filter(e=>e.type===r))}let o=(0,a.buildStoreAssetMatrix)(n,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 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,g=0;for(let e of r){if(!e.accessible)continue;let t=n.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 y=r.reduce((e,t)=>e+(t.gitUncommitted&&t.gitUncommitted>0?t.gitUncommitted:0),0),x=(0,l.getBridgeUrl)();try{let e=await fetch(`${x}/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 w=d();return{projects:r,totalBacklogItems:m,activeItems:g,totalOutdatedAssets:c,totalUncommitted:y,lastRefresh:new Date().toISOString(),slycodeRoot:w,projectsDir:n.default.dirname(w)}}e.s(["getRepoRoot",()=>d,"loadDashboardData",()=>w,"loadRegistry",()=>p,"saveRegistry",()=>f],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 s(){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 i(e){let n,i=s(),o={id:`evt-${Date.now()}-${Math.random().toString(36).slice(2,6)}`,...e};return i.push(o),i.length>500&&i.splice(0,i.length-500),n=r.default.dirname(a),t.default.existsSync(n)||t.default.mkdirSync(n,{recursive:!0}),t.default.writeFileSync(a,JSON.stringify(i,null,2)),o}function o(e={}){let t=s();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",()=>i,"queryEvents",()=>o])},3089,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=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 y=e.i(220),x=e.i(89171),v=e.i(22734),w=e.i(14747),S=e.i(73178),R=e.i(46676),j=e.i(7367),E=e.i(48044),C=e.i(1365);async function b(){try{let e=(0,S.scanStore)();return x.NextResponse.json(e)}catch(e){return console.error("Store scan failed:",e),x.NextResponse.json({error:"Failed to scan store",details:String(e)},{status:500})}}async function k(e){try{let{projectPath:t,provider:r,assetType:n,assetName:a,sourceProjectId:s,skillMainOnly:i}=await e.json();if(!r||!n||!a)return x.NextResponse.json({error:"provider, assetType, and assetName are required"},{status:400});let o=t;if(!o&&s){let e=(await (0,E.loadRegistry)()).projects.find(e=>e.id===s);e&&(o=e.path)}if(!o)return x.NextResponse.json({error:"Either projectPath or sourceProjectId is required"},{status:400});(0,R.importAssetToStore)(o,r,n,a,{skillMainOnly:i??!0}),(0,C.appendEvent)({type:"skill_imported",project:s||"unknown",detail:`Imported ${n} '${a}' to store`,timestamp:new Date().toISOString()});let l=(0,S.scanStore)();return x.NextResponse.json({success:!0,storeData:l})}catch(e){return console.error("Store import failed:",e),x.NextResponse.json({error:"Failed to import to store",details:String(e)},{status:500})}}async function A(e){try{let{assetType:t,assetName:r}=await e.json();if(!t||!r)return x.NextResponse.json({error:"assetType and assetName are required"},{status:400});let n=(0,j.getSlycodeRoot)();if("skill"===t){let e=w.default.join(n,"store","skills",r);v.default.existsSync(e)&&v.default.rmSync(e,{recursive:!0,force:!0})}else if("mcp"===t){let e=w.default.join(n,"store","mcp",`${r}.json`);v.default.existsSync(e)&&v.default.unlinkSync(e)}else{let e=w.default.join(n,"store","agents",`${r}.md`);v.default.existsSync(e)&&v.default.unlinkSync(e)}(0,C.appendEvent)({type:"skill_removed",project:"store",detail:`Deleted ${t} '${r}' from store`,timestamp:new Date().toISOString()});let a=(0,S.scanStore)();return x.NextResponse.json({success:!0,storeData:a})}catch(e){return console.error("Store delete failed:",e),x.NextResponse.json({error:"Failed to delete from store",details:String(e)},{status:500})}}e.s(["DELETE",()=>A,"GET",()=>b,"POST",()=>k,"dynamic",0,"force-dynamic"],1972);var O=e.i(1972);let N=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cli-assets/store/route",pathname:"/api/cli-assets/store",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-assets/store/route.ts",nextConfigOutput:"standalone",userland:O}),{workAsyncStorage:D,workUnitAsyncStorage:P,serverHooks:T}=N;function _(){return(0,n.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:P})}async function M(e,t,n){N.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/cli-assets/store/route";x=x.replace(/\/index$/,"")||"/";let v=await N.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:w,params:S,nextConfig:R,parsedUrl:j,isDraftMode:E,prerenderManifest:C,routerServerContext:b,isOnDemandRevalidate:k,revalidateOnlyGenerated:A,resolvedPathname:O,clientReferenceManifest:D,serverActionsManifest:P}=v,T=(0,o.normalizeAppPath)(x),_=!!(C.dynamicRoutes[T]||C.routes[O]),M=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,j,!1):t.end("This page could not be found"),null);if(_&&!E){let e=!!C.routes[O],t=C.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await M();throw new g.NoFallbackError}}let q=null;!_||N.isDev||E||(q="/index"===(q=O)?"/":q);let F=!0===N.isDev||!_,U=_&&!F;P&&D&&(0,i.setManifestsSingleton)({page:x,clientReferenceManifest:D,serverActionsManifest:P});let I=e.method||"GET",H=(0,s.getTracer)(),$=H.getActiveScopeSpan(),L={params:S,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>N.onRequestError(e,t,n,a,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 i=async e=>N.handle(B,L).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 n=r.get("next.route");if(n){let t=`${I} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${I} ${x}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&k&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=L.renderOpts.fetchMetrics;let l=L.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=L.renderOpts.collectedTags;if(!_)return await (0,p.sendResponse)(V,K,s,L.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!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,n=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:y.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 N.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:k})},!1,b),t}},u=await N.handleResponse({req:e,nextConfig:R,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:A,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:o});if(!_)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==y.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"),E&&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 H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${I} ${x}`,kind:s.SpanKind.SERVER,attributes:{"http.method":I,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:k})},!1,b),_)throw t;return await (0,p.sendResponse)(V,K,new Response(null,{status:500})),null}}e.s(["handler",()=>M,"patchFetch",()=>_,"routeModule",()=>N,"serverHooks",()=>T,"workAsyncStorage",()=>D,"workUnitAsyncStorage",()=>P],3089)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__f597835d._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
module.exports=[76535,e=>{"use strict";var r=e.i(46277);let t=async e=>{let t=await (0,r.loadSharedConfigFiles)(e);return((...e)=>{let r={};for(let t of e)for(let[e,i]of Object.entries(t))void 0!==r[e]?Object.assign(r[e],i):r[e]=i;return r})(t.configFile,t.credentialsFile)};e.s(["parseKnownFiles",0,t],76535)},66680,(e,r,t)=>{r.exports=e.x("node:crypto",()=>require("node:crypto"))},1346,e=>{"use strict";e.s([],58014),e.i(58014);var r=e.i(81355),t=e.i(76535),i=e.i(60400),n=e.i(9212),s=e.i(39866);let o=e=>(0,n.setCredentialFeature)(e,"CREDENTIALS_PROFILE_NAMED_PROVIDER","p"),a=async(t,a,c,d,g={},u)=>{c.logger?.debug("@aws-sdk/credential-provider-ini - resolveAssumeRoleCredentials (STS)");let f=a[t],{source_profile:_,region:p}=f;if(!c.roleAssumer){let{getDefaultRoleAssumer:r}=await e.A(43109);c.roleAssumer=r({...c.clientConfig,credentialProviderLogger:c.logger,parentClientConfig:{...d,...c?.parentClientConfig,region:p??c?.parentClientConfig?.region??d?.region}},c.clientPlugins)}if(_&&_ in g)throw new i.CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile ${(0,r.getProfileName)(c)}. Profiles visited: `+Object.keys(g).join(", "),{logger:c.logger});c.logger?.debug(`@aws-sdk/credential-provider-ini - finding credential resolver using ${_?`source_profile=[${_}]`:`profile=[${t}]`}`);let h=_?u(_,a,c,d,{...g,[_]:!0},l(a[_]??{})):(await ((r,t,n)=>{let a={EcsContainer:async r=>{let{fromHttp:t}=await e.A(93306),{fromContainerMetadata:i}=await e.A(14277);return n?.debug("@aws-sdk/credential-provider-ini - credential_source is EcsContainer"),async()=>(0,s.chain)(t(r??{}),i(r))().then(o)},Ec2InstanceMetadata:async r=>{n?.debug("@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata");let{fromInstanceMetadata:t}=await e.A(14277);return async()=>t(r)().then(o)},Environment:async r=>{n?.debug("@aws-sdk/credential-provider-ini - credential_source is Environment");let{fromEnv:t}=await e.A(31605);return async()=>t(r)().then(o)}};if(r in a)return a[r];throw new i.CredentialsProviderError(`Unsupported credential source in profile ${t}. Got ${r}, expected EcsContainer or Ec2InstanceMetadata or Environment.`,{logger:n})})(f.credential_source,t,c.logger)(c))();if(l(f))return h.then(e=>(0,n.setCredentialFeature)(e,"CREDENTIALS_PROFILE_SOURCE_PROFILE","o"));{let e={RoleArn:f.role_arn,RoleSessionName:f.role_session_name||`aws-sdk-js-${Date.now()}`,ExternalId:f.external_id,DurationSeconds:parseInt(f.duration_seconds||"3600",10)},{mfa_serial:r}=f;if(r){if(!c.mfaCodeProvider)throw new i.CredentialsProviderError(`Profile ${t} requires multi-factor authentication, but no MFA code callback was provided.`,{logger:c.logger,tryNextLink:!1});e.SerialNumber=r,e.TokenCode=await c.mfaCodeProvider(r)}let s=await h;return c.roleAssumer(s,e).then(e=>(0,n.setCredentialFeature)(e,"CREDENTIALS_PROFILE_SOURCE_PROFILE","o"))}},l=e=>!e.role_arn&&!!e.credential_source;var c=e.i(89073),d=e.i(49487),g=e.i(66680),u=e.i(2157),f=e.i(60526),_=e.i(50227);class p{profileData;init;callerClientConfig;static REFRESH_THRESHOLD=3e5;constructor(e,r,t){this.profileData=e,this.init=r,this.callerClientConfig=t}async loadCredentials(){let e=await this.loadToken();if(!e)throw new i.CredentialsProviderError(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`,{tryNextLink:!1,logger:this.logger});let r=e.accessToken,t=Date.now();return new Date(r.expiresAt).getTime()-t<=p.REFRESH_THRESHOLD?this.refresh(e):{accessKeyId:r.accessKeyId,secretAccessKey:r.secretAccessKey,sessionToken:r.sessionToken,accountId:r.accountId,expiration:new Date(r.expiresAt)}}get logger(){return this.init?.logger}get loginSession(){return this.profileData.login_session}async refresh(r){let t,{SigninClient:n,CreateOAuth2TokenCommand:s}=await e.A(54608),{logger:o,userAgentAppId:a}=this.callerClientConfig??{},l=(t=this.callerClientConfig?.requestHandler,t?.metadata?.handlerProtocol==="h2")?void 0:this.callerClientConfig?.requestHandler,c=new n({credentials:{accessKeyId:"",secretAccessKey:""},region:this.profileData.region??await this.callerClientConfig?.region?.()??process.env.AWS_REGION,requestHandler:l,logger:o,userAgentAppId:a,...this.init?.clientConfig});this.createDPoPInterceptor(c.middlewareStack);let d={tokenInput:{clientId:r.clientId,refreshToken:r.refreshToken,grantType:"refresh_token"}};try{let e=await c.send(new s(d)),{accessKeyId:t,secretAccessKey:n,sessionToken:o}=e.tokenOutput?.accessToken??{},{refreshToken:a,expiresIn:l}=e.tokenOutput??{};if(!t||!n||!o||!a)throw new i.CredentialsProviderError("Token refresh response missing required fields",{logger:this.logger,tryNextLink:!1});let g=new Date(Date.now()+(l??900)*1e3),u={...r,accessToken:{...r.accessToken,accessKeyId:t,secretAccessKey:n,sessionToken:o,expiresAt:g.toISOString()},refreshToken:a};await this.saveToken(u);let f=u.accessToken;return{accessKeyId:f.accessKeyId,secretAccessKey:f.secretAccessKey,sessionToken:f.sessionToken,accountId:f.accountId,expiration:g}}catch(e){if("AccessDeniedException"===e.name){let r;switch(e.error){case"TOKEN_EXPIRED":r="Your session has expired. Please reauthenticate.";break;case"USER_CREDENTIALS_CHANGED":r="Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password.";break;case"INSUFFICIENT_PERMISSIONS":r="Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action.";break;default:r=`Failed to refresh token: ${String(e)}. Please re-authenticate using \`aws login\``}throw new i.CredentialsProviderError(r,{logger:this.logger,tryNextLink:!1})}throw new i.CredentialsProviderError(`Failed to refresh token: ${String(e)}. Please re-authenticate using aws login`,{logger:this.logger})}}async loadToken(){let e=this.getTokenFilePath();try{let r;try{r=await (0,d.readFile)(e,{ignoreCache:this.init?.ignoreCache})}catch{r=await u.promises.readFile(e,"utf8")}let t=JSON.parse(r),n=["accessToken","clientId","refreshToken","dpopKey"].filter(e=>!t[e]);if(t.accessToken?.accountId||n.push("accountId"),n.length>0)throw new i.CredentialsProviderError(`Token validation failed, missing fields: ${n.join(", ")}`,{logger:this.logger,tryNextLink:!1});return t}catch(r){throw new i.CredentialsProviderError(`Failed to load token from ${e}: ${String(r)}`,{logger:this.logger,tryNextLink:!1})}}async saveToken(e){let r=this.getTokenFilePath(),t=(0,_.dirname)(r);try{await u.promises.mkdir(t,{recursive:!0})}catch(e){}await u.promises.writeFile(r,JSON.stringify(e,null,2),"utf8")}getTokenFilePath(){let e=process.env.AWS_LOGIN_CACHE_DIRECTORY??(0,_.join)((0,f.homedir)(),".aws","login","cache"),r=Buffer.from(this.loginSession,"utf8"),t=(0,g.createHash)("sha256").update(r).digest("hex");return(0,_.join)(e,`${t}.json`)}derToRawSignature(e){let r=2;if(2!==e[2])throw Error("Invalid DER signature");r++;let t=e[r++],i=e.subarray(r,r+t);if(2!==e[r+=t])throw Error("Invalid DER signature");r++;let n=e[r++],s=e.subarray(r,r+n);i=0===i[0]?i.subarray(1):i,s=0===s[0]?s.subarray(1):s;let o=Buffer.concat([Buffer.alloc(32-i.length),i]),a=Buffer.concat([Buffer.alloc(32-s.length),s]);return Buffer.concat([o,a])}createDPoPInterceptor(e){e.add(e=>async r=>{if(c.HttpRequest.isInstance(r.request)){let e=r.request,t=`${e.protocol}//${e.hostname}${e.port?`:${e.port}`:""}${e.path}`,i=await this.generateDpop(e.method,t);e.headers={...e.headers,DPoP:i}}return e(r)},{step:"finalizeRequest",name:"dpopInterceptor",override:!0})}async generateDpop(e="POST",r){let t=await this.loadToken();try{let i=(0,g.createPrivateKey)({key:t.dpopKey,format:"pem",type:"sec1"}),n=(0,g.createPublicKey)(i).export({format:"der",type:"spki"}),s=-1;for(let e=0;e<n.length;e++)if(4===n[e]){s=e;break}let o=n.slice(s+1,s+33),a=n.slice(s+33,s+65),l={alg:"ES256",typ:"dpop+jwt",jwk:{kty:"EC",crv:"P-256",x:o.toString("base64url"),y:a.toString("base64url")}},c={jti:crypto.randomUUID(),htm:e,htu:r,iat:Math.floor(Date.now()/1e3)},d=Buffer.from(JSON.stringify(l)).toString("base64url"),u=Buffer.from(JSON.stringify(c)).toString("base64url"),f=`${d}.${u}`,_=(0,g.sign)("sha256",Buffer.from(f),i),p=this.derToRawSignature(_).toString("base64url");return`${f}.${p}`}catch(e){throw new i.CredentialsProviderError(`Failed to generate Dpop proof: ${e instanceof Error?e.message:String(e)}`,{logger:this.logger,tryNextLink:!1})}}}let h=async(e,s,o)=>{let a,l=await (a={...s,profile:e},async({callerClientConfig:e}={})=>{a?.logger?.debug?.("@aws-sdk/credential-providers - fromLoginCredentials");let s=await (0,t.parseKnownFiles)(a||{}),o=(0,r.getProfileName)({profile:a?.profile??e?.profile}),l=s[o];if(!l?.login_session)throw new i.CredentialsProviderError(`Profile ${o} does not contain login_session.`,{tryNextLink:!0,logger:a?.logger});let c=new p(l,a,e),d=await c.loadCredentials();return(0,n.setCredentialFeature)(d,"CREDENTIALS_LOGIN","AD")})({callerClientConfig:o});return(0,n.setCredentialFeature)(l,"CREDENTIALS_PROFILE_LOGIN","AC")},y=async(r,t)=>e.A(85365).then(({fromProcess:e})=>e({...r,profile:t})().then(e=>(0,n.setCredentialFeature)(e,"CREDENTIALS_PROFILE_PROCESS","v"))),w=async(r,t,i={},s)=>{let{fromSSO:o}=await e.A(14115);return o({profile:r,logger:i.logger,parentClientConfig:i.parentClientConfig,clientConfig:i.clientConfig})({callerClientConfig:s}).then(e=>t.sso_session?(0,n.setCredentialFeature)(e,"CREDENTIALS_PROFILE_SSO","r"):(0,n.setCredentialFeature)(e,"CREDENTIALS_PROFILE_SSO_LEGACY","t"))},C=e=>!!e&&"object"==typeof e&&"string"==typeof e.aws_access_key_id&&"string"==typeof e.aws_secret_access_key&&["undefined","string"].indexOf(typeof e.aws_session_token)>-1&&["undefined","string"].indexOf(typeof e.aws_account_id)>-1,E=async(e,r)=>{r?.logger?.debug("@aws-sdk/credential-provider-ini - resolveStaticCredentials");let t={accessKeyId:e.aws_access_key_id,secretAccessKey:e.aws_secret_access_key,sessionToken:e.aws_session_token,...e.aws_credential_scope&&{credentialScope:e.aws_credential_scope},...e.aws_account_id&&{accountId:e.aws_account_id}};return(0,n.setCredentialFeature)(t,"CREDENTIALS_PROFILE","n")},k=async(r,t,i)=>e.A(52170).then(({fromTokenFile:e})=>e({webIdentityTokenFile:r.web_identity_token_file,roleArn:r.role_arn,roleSessionName:r.role_session_name,roleAssumerWithWebIdentity:t.roleAssumerWithWebIdentity,logger:t.logger,parentClientConfig:t.parentClientConfig})({callerClientConfig:i}).then(e=>(0,n.setCredentialFeature)(e,"CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN","q"))),m=async(e,r,t,n,s={},o=!1)=>{let l=r[e];if(Object.keys(s).length>0&&C(l))return E(l,t);if(o||((e,{profile:r="default",logger:t}={})=>!!e&&"object"==typeof e&&"string"==typeof e.role_arn&&["undefined","string"].indexOf(typeof e.role_session_name)>-1&&["undefined","string"].indexOf(typeof e.external_id)>-1&&["undefined","string"].indexOf(typeof e.mfa_serial)>-1&&(((e,{profile:r,logger:t})=>{let i="string"==typeof e.source_profile&&void 0===e.credential_source;return i&&t?.debug?.(` ${r} isAssumeRoleWithSourceProfile source_profile=${e.source_profile}`),i})(e,{profile:r,logger:t})||((e,{profile:r,logger:t})=>{let i="string"==typeof e.credential_source&&void 0===e.source_profile;return i&&t?.debug?.(` ${r} isCredentialSourceProfile credential_source=${e.credential_source}`),i})(e,{profile:r,logger:t})))(l,{profile:e,logger:t.logger}))return a(e,r,t,n,s,m);if(C(l))return E(l,t);if(l&&"object"==typeof l&&"string"==typeof l.web_identity_token_file&&"string"==typeof l.role_arn&&["undefined","string"].indexOf(typeof l.role_session_name)>-1)return k(l,t,n);if(l&&"object"==typeof l&&"string"==typeof l.credential_process)return y(t,e);if(l&&("string"==typeof l.sso_start_url||"string"==typeof l.sso_account_id||"string"==typeof l.sso_session||"string"==typeof l.sso_region||"string"==typeof l.sso_role_name))return await w(e,l,t,n);if(l&&l.login_session)return h(e,t,n);throw new i.CredentialsProviderError(`Could not resolve credentials using profile: [${e}] in configuration/credentials file(s).`,{logger:t.logger})},I=(e={})=>async({callerClientConfig:i}={})=>{e.logger?.debug("@aws-sdk/credential-provider-ini - fromIni");let n=await (0,t.parseKnownFiles)(e);return m((0,r.getProfileName)({profile:e.profile??i?.profile}),n,e,i)};e.s(["fromIni",0,I],24518),e.i(24518),e.s(["fromIni",0,I],1346)},31605,e=>{e.v(r=>Promise.all(["server/chunks/node_modules_@aws-sdk_credential-provider-env_dist-es_index_55d96139.js"].map(r=>e.l(r))).then(()=>r(97301)))},43109,e=>{e.v(r=>Promise.all(["server/chunks/node_modules_9fc3887b._.js","server/chunks/node_modules_@aws-sdk_nested-clients_dist-es_submodules_sts_index_c78619b3.js"].map(r=>e.l(r))).then(()=>r(90222)))},54608,e=>{e.v(r=>Promise.all(["server/chunks/node_modules_@smithy_smithy-client_dist-es_create-aggregated-client_db42850b.js","server/chunks/node_modules_c58ca22f._.js","server/chunks/node_modules_@aws-sdk_nested-clients_dist-es_submodules_signin_index_6712dec9.js"].map(r=>e.l(r))).then(()=>r(20083)))}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__fe8b9abd._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[23322,e=>{"use strict";async function s(){{let{startScheduler:s}=await e.A(30177);s()}}e.s(["register",()=>s])},30177,e=>{e.v(s=>Promise.all(["server/chunks/[externals]
|
|
1
|
+
module.exports=[23322,e=>{"use strict";async function s(){{let{startScheduler:s}=await e.A(30177);s()}}e.s(["register",()=>s])},30177,e=>{e.v(s=>Promise.all(["server/chunks/[externals]__78e522ea._.js","server/chunks/src_lib_scheduler_ts_03988e3e._.js"].map(s=>e.l(s))).then(()=>s(92739)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_677020aa._.js.map
|