idea-manager 1.9.0 → 2.1.0
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/.next/build-manifest.json +2 -2
- package/.next/routes-manifest.json +35 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +2 -2
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +2 -2
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/advisor-actions/route.js +15 -0
- package/.next/server/app/api/advisor-actions/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/archive/route.js +1 -122
- package/.next/server/app/api/archive/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/filesystem/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/filesystem/tree/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/global-advisor/route.js +37 -0
- package/.next/server/app/api/global-advisor/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/global-memo/route.js +8 -0
- package/.next/server/app/api/global-memo/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/maintenance/route.js +130 -0
- package/.next/server/app/api/maintenance/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/projects/[id]/advisor/route.js +22 -11
- package/.next/server/app/api/projects/[id]/advisor/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/apply-distribute/route.js +2 -8
- package/.next/server/app/api/projects/[id]/apply-distribute/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/auto-distribute/route.js +126 -3
- package/.next/server/app/api/projects/[id]/auto-distribute/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/brainstorm/route.js +124 -1
- package/.next/server/app/api/projects/[id]/brainstorm/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/git-sync/route.js +124 -1
- package/.next/server/app/api/projects/[id]/git-sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/route.js +124 -1
- package/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/route.js +8 -0
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route.js +1 -7
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route.js +8 -0
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route.js +2 -8
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route.js +1 -122
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/reorder/route.js +124 -0
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/reorder/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/route.js +1 -122
- package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/[id]/sub-projects/route.js +8 -0
- package/.next/server/app/api/projects/[id]/sub-projects/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/projects/route.js +124 -1
- package/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/search/route.js +8 -0
- package/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sync/route.js +8 -0
- package/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/move/route.js +15 -0
- package/.next/server/app/api/tasks/[taskId]/move/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/page.js +12 -12
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/projects/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +18 -13
- package/.next/server/chunks/{117.js → 697.js} +16 -2
- package/.next/server/pages/404.html +2 -2
- package/.next/server/pages/500.html +2 -2
- package/.next/static/KREG104cVn2mBTMPTDTvH/_buildManifest.js +1 -0
- package/.next/static/chunks/374-23189d7e246ad164.js +1 -0
- package/.next/static/chunks/app/_global-error/page-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/advisor-actions/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/archive/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/filesystem/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/filesystem/tree/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/global-advisor/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/global-memo/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/health/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/maintenance/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/advisor/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/apply-distribute/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/auto-distribute/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/brainstorm/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/git-sync/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/reorder/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/projects/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/search/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/sync/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/move/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/update/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/api/version/route-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/app/page-9117037f2947f4f6.js +28 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-f051f234bea7bddd.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-f051f234bea7bddd.js +1 -0
- package/.next/static/css/e9071b58a99b47e4.css +3 -0
- package/package.json +1 -1
- package/src/app/api/advisor-actions/route.ts +52 -0
- package/src/app/api/global-advisor/route.ts +50 -0
- package/src/app/api/maintenance/route.ts +36 -0
- package/src/app/api/projects/[id]/sub-projects/[subId]/tasks/reorder/route.ts +24 -0
- package/src/app/api/tasks/[taskId]/move/route.ts +30 -0
- package/src/components/advisor/ActionBlock.tsx +124 -0
- package/src/components/advisor/AdvisorChat.tsx +175 -0
- package/src/components/advisor/GlobalAdvisorLayer.tsx +38 -0
- package/src/components/dashboard/DashboardPanel.tsx +2 -0
- package/src/components/memo/GlobalMemoLayer.tsx +81 -0
- package/src/components/tabs/TabBar.tsx +2 -0
- package/src/components/tabs/TabShell.tsx +6 -0
- package/src/components/task/NoteEditor.tsx +137 -0
- package/src/components/task/ProjectTree.tsx +105 -57
- package/src/components/task/TaskChat.tsx +4 -0
- package/src/components/task/TaskDetail.tsx +182 -1
- package/src/components/ui/AiActivityIndicator.tsx +66 -0
- package/src/components/ui/ShortcutOverlay.tsx +108 -0
- package/src/components/workspace/ProjectAdvisor.tsx +17 -181
- package/src/components/workspace/WorkspacePanel.tsx +75 -3
- package/src/hooks/useAiActivity.ts +6 -0
- package/src/lib/advisor-actions/parse.ts +59 -0
- package/src/lib/ai/global-context.ts +114 -0
- package/src/lib/ai/project-context.ts +22 -2
- package/src/lib/ai-activity.ts +33 -0
- package/src/lib/db/queries/global-conversations.ts +31 -0
- package/src/lib/db/queries/tasks.ts +3 -1
- package/src/lib/db/schema.ts +8 -0
- package/src/types/advisor-actions.ts +25 -0
- package/.next/static/chunks/374-769431701aab500f.js +0 -1
- package/.next/static/chunks/app/_global-error/page-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/archive/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/filesystem/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/filesystem/tree/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/global-memo/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/health/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/advisor/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/apply-distribute/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/auto-distribute/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/brainstorm/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/git-sync/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/projects/[id]/sub-projects/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/projects/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/search/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/sync/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/update/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/api/version/route-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/app/page-e935ee928da68ca2.js +0 -28
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-3ff8f59aaa75b8f8.js +0 -1
- package/.next/static/css/e4c7cd5a570312d9.css +0 -3
- package/.next/static/pxqzEiwniZAUDOUTb5SnX/_buildManifest.js +0 -1
- /package/.next/static/{pxqzEiwniZAUDOUTb5SnX → KREG104cVn2mBTMPTDTvH}/_ssgManifest.js +0 -0
package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route.js
CHANGED
|
@@ -18,10 +18,4 @@ Brainstorming context:
|
|
|
18
18
|
${i.content.slice(0,3e3)}`:""}`,m=h.map(a=>`${"user"===a.role?"User":"Assistant"}: ${a.content}`).join("\n");try{let a=j?.agent_type||"claude",b=j?.project_path||void 0,c=(await (0,D.J)(a,`${l}
|
|
19
19
|
|
|
20
20
|
Conversation:
|
|
21
|
-
${m}`,void 0,void 0,{cwd:b})).trim();if(!c){let a=z(d,"assistant","(AI 응답을 생성하지 못했습니다. 다시 시도해주세요.)");return v.NextResponse.json({userMessage:g,aiMessage:a})}let e=z(d,"assistant",c);return v.NextResponse.json({userMessage:g,aiMessage:e})}catch{let a=z(d,"assistant","(AI 호출에 실패했습니다. Claude CLI가 설치되어 있는지 확인해주세요.)");return v.NextResponse.json({userMessage:g,aiMessage:a})}}let G=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route",pathname:"/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat",filename:"route",bundlePath:"app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:H,workUnitAsyncStorage:I,serverHooks:J}=G;function K(){return(0,g.patchFetch)({workAsyncStorage:H,workUnitAsyncStorage:I})}async function L(a,b,c){G.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route";"/index"===d&&(d="/");let e=await G.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||G.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===G.isDev||!I,M=I&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>G.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>G.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await G.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await G.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await G.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},4870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},
|
|
22
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, 0, ?, ?, ?)`).run(c,a.project_id,a.sub_project_id,a.title,a.description??"",a.status??"idea",a.priority??"medium",i,f,f),h(c)}function n(a,b){let c=(0,d.L)(),e=c.prepare("SELECT * FROM tasks WHERE id = ?").get(a);if(!e)return;let f=new Date().toISOString();return c.prepare(`
|
|
23
|
-
UPDATE tasks SET
|
|
24
|
-
title = ?, description = ?, status = ?, priority = ?,
|
|
25
|
-
is_today = ?, sort_order = ?, sub_project_id = ?, tags = ?, updated_at = ?
|
|
26
|
-
WHERE id = ?
|
|
27
|
-
`).run(b.title??e.title,b.description??e.description,b.status??e.status,b.priority??e.priority,void 0!==b.is_today?+!!b.is_today:e.is_today,b.sort_order??e.sort_order,b.sub_project_id??e.sub_project_id,b.tags?JSON.stringify(b.tags):e.tags,f,a),h(a)}function o(a){return(0,d.L)().prepare("DELETE FROM tasks WHERE id = ?").run(a).changes>0}}};var b=require("../../../../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813,117],()=>b(b.s=4289));module.exports=c})();
|
|
21
|
+
${m}`,void 0,void 0,{cwd:b})).trim();if(!c){let a=z(d,"assistant","(AI 응답을 생성하지 못했습니다. 다시 시도해주세요.)");return v.NextResponse.json({userMessage:g,aiMessage:a})}let e=z(d,"assistant",c);return v.NextResponse.json({userMessage:g,aiMessage:e})}catch{let a=z(d,"assistant","(AI 호출에 실패했습니다. Claude CLI가 설치되어 있는지 확인해주세요.)");return v.NextResponse.json({userMessage:g,aiMessage:a})}}let G=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route",pathname:"/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat",filename:"route",bundlePath:"app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:H,workUnitAsyncStorage:I,serverHooks:J}=G;function K(){return(0,g.patchFetch)({workAsyncStorage:H,workUnitAsyncStorage:I})}async function L(a,b,c){G.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route";"/index"===d&&(d="/");let e=await G.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||G.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===G.isDev||!I,M=I&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>G.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>G.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await G.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await G.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await G.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},4870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},6241:(a,b,c)=>{c.d(b,{U1:()=>h,gA:()=>i,hF:()=>g,vr:()=>j,xx:()=>k});var d=c(5440),e=c(5359);function f(a){return{...a,watch_enabled:1===a.watch_enabled,agent_type:a.agent_type||"claude"}}function g(){return(0,d.L)().prepare("SELECT * FROM projects ORDER BY updated_at DESC").all().map(f)}function h(a){let b=(0,d.L)().prepare("SELECT * FROM projects WHERE id = ?").get(a);return b?f(b):void 0}function i(a,b="",c){let f=(0,d.L)(),g=(0,e.$)(),j=new Date().toISOString();f.prepare("INSERT INTO projects (id, name, description, project_path, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?)").run(g,a,b,c??null,j,j);let k=(0,e.$)();return f.prepare("INSERT INTO brainstorms (id, project_id, content, version, created_at, updated_at) VALUES (?, ?, ?, 1, ?, ?)").run(k,g,"",j,j),h(g)}function j(a,b){let c=(0,d.L)(),e=h(a);if(!e)return;let f=new Date().toISOString();return c.prepare("UPDATE projects SET name = ?, description = ?, project_path = ?, ai_context = ?, watch_enabled = ?, agent_type = ?, updated_at = ? WHERE id = ?").run(b.name??e.name,b.description??e.description,void 0!==b.project_path?b.project_path:e.project_path,void 0!==b.ai_context?b.ai_context:e.ai_context??"",void 0!==b.watch_enabled?+!!b.watch_enabled:+!!e.watch_enabled,b.agent_type??e.agent_type??"claude",f,a),h(a)}function k(a){return(0,d.L)().prepare("DELETE FROM projects WHERE id = ?").run(a).changes>0}},6439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},7598:a=>{a.exports=require("node:crypto")},9021:a=>{a.exports=require("fs")},9294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},9661:a=>{a.exports=require("sql.js/dist/sql-wasm.js")}};var b=require("../../../../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813,697],()=>b(b.s=4289));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"664","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8935","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"440","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"1335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"2265","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"4661","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"5421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"1921","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"4342","name":"*","chunks":[],"async":false}},"
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"664","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8935","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"440","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"1335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"2265","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"4661","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"5421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"1921","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"4342","name":"*","chunks":[],"async":false}},"9770":{"*":{"id":"8229","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":421,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":9695,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/globals.css":{"id":1743,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/page.tsx":{"id":9770,"name":"*","chunks":["79","static/chunks/363642f4-9eb39e0bc542c65b.js","374","static/chunks/374-23189d7e246ad164.js","974","static/chunks/app/page-9117037f2947f4f6.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/projects/[id]/page.tsx":{"id":1048,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/young/Toy/idea-manager/src/":[],"/Users/young/Toy/idea-manager/src/app/layout":[{"inlined":false,"path":"static/css/e9071b58a99b47e4.css"}],"/Users/young/Toy/idea-manager/src/app/page":[],"/Users/young/Toy/idea-manager/src/app/api/projects/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route":[]},"rscModuleMapping":{"484":{"*":{"id":"8562","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8965","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"5098","name":"*","chunks":[],"async":false}},"1743":{"*":{"id":"1135","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"6237","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"3859","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"6675","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"8099","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"5547","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"7644","name":"*","chunks":[],"async":false}},"9770":{"*":{"id":"4494","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
|
package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route.js
CHANGED
|
@@ -75,6 +75,14 @@
|
|
|
75
75
|
FOREIGN KEY (task_id) REFERENCES tasks(id) ON DELETE CASCADE
|
|
76
76
|
);
|
|
77
77
|
`),a.exec(`
|
|
78
|
+
CREATE TABLE IF NOT EXISTS global_conversations (
|
|
79
|
+
id TEXT PRIMARY KEY,
|
|
80
|
+
project_id TEXT NOT NULL DEFAULT '__global__',
|
|
81
|
+
role TEXT NOT NULL CHECK(role IN ('assistant','user','system')),
|
|
82
|
+
content TEXT NOT NULL,
|
|
83
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
84
|
+
);
|
|
85
|
+
|
|
78
86
|
CREATE TABLE IF NOT EXISTS project_conversations (
|
|
79
87
|
id TEXT PRIMARY KEY,
|
|
80
88
|
project_id TEXT NOT NULL,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"664","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8935","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"440","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"1335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"2265","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"4661","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"5421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"1921","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"4342","name":"*","chunks":[],"async":false}},"
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"664","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8935","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"440","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"1335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"2265","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"4661","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"5421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"1921","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"4342","name":"*","chunks":[],"async":false}},"9770":{"*":{"id":"8229","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":421,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":9695,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/globals.css":{"id":1743,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/page.tsx":{"id":9770,"name":"*","chunks":["79","static/chunks/363642f4-9eb39e0bc542c65b.js","374","static/chunks/374-23189d7e246ad164.js","974","static/chunks/app/page-9117037f2947f4f6.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/projects/[id]/page.tsx":{"id":1048,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/young/Toy/idea-manager/src/":[],"/Users/young/Toy/idea-manager/src/app/layout":[{"inlined":false,"path":"static/css/e9071b58a99b47e4.css"}],"/Users/young/Toy/idea-manager/src/app/page":[],"/Users/young/Toy/idea-manager/src/app/api/projects/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route":[]},"rscModuleMapping":{"484":{"*":{"id":"8562","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8965","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"5098","name":"*","chunks":[],"async":false}},"1743":{"*":{"id":"1135","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"6237","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"3859","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"6675","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"8099","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"5547","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"7644","name":"*","chunks":[],"async":false}},"9770":{"*":{"id":"4494","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
|
package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=770,a.ids=[770],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1421:a=>{a.exports=require("node:child_process")},1820:a=>{a.exports=require("os")},3033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3052:(a,b,c)=>{c.d(b,{J:()=>f});var d=c(1421);let e={claude:{name:"Claude",binary:"claude",buildArgs:({streaming:a,model:b})=>["--dangerously-skip-permissions","--model",b||"opus",...a?["--output-format","stream-json","--verbose"]:["--output-format","text"],"--max-turns","80","-p","-"],buildEnv:()=>{let a={...process.env};for(let b of(delete a.CLAUDECODE,delete a.CLAUDE_CODE_ENTRYPOINT,delete a.CLAUDE_CODE_MAX_OUTPUT_TOKENS,Object.keys(a)))(b.startsWith("CLAUDE_CODE_")||"ANTHROPIC_PARENT_SESSION"===b)&&delete a[b];return{...a,FORCE_COLOR:"0"}},parseStreamEvent:a=>{if("content_block_delta"===a.type&&a.delta?.text)return{text:a.delta.text};if("assistant"===a.type&&a.message?.content){let b="";for(let c of a.message.content)"text"===c.type&&(b+=c.text);return{final:b}}return"result"===a.type&&a.result?{final:a.result}:null},cleanOutput:a=>a.replace(/Error: Reached max turns \(\d+\)\s*/g,"").trim()},gemini:{name:"Gemini",binary:"gemini",buildArgs:({streaming:a})=>["--yolo","-m","gemini-2.5-flash",...a?["--output-format","stream-json"]:["--output-format","json"],"-p","-"],buildEnv:()=>({...process.env,FORCE_COLOR:"0"}),parseStreamEvent:a=>"content_block_delta"===a.type&&a.delta?.text?{text:a.delta.text}:"result"===a.type?{final:a.response||a.text||a.result}:null,cleanOutput:a=>{let b=a.trim();if(!b.startsWith("{"))return b;try{let a=JSON.parse(b);return a.response||a.text||a.result||b}catch{return b}}},codex:{name:"Codex",binary:"codex",buildArgs:({streaming:a})=>["exec","--full-auto",...a?["--json"]:[],"-"],buildEnv:()=>({...process.env,FORCE_COLOR:"0"}),parseStreamEvent:a=>"item.completed"===a.type&&a.item?.type==="agent_message"?{final:a.item.text}:"item.updated"===a.type&&a.item?.type==="agent_message"?{text:a.item.text}:null}};function f(a,b,c,f,g){let h=e[a];return h?new Promise((a,e)=>{let i=!!(c||f),j=h.buildArgs({streaming:i,model:g?.model}),k=h.buildEnv(),l=(0,d.spawn)(h.binary,j,{cwd:g?.cwd||process.cwd(),stdio:["pipe","pipe","pipe"],shell:"win32"===process.platform,env:k}),m=null,n=!1;g?.timeoutMs&&(m=setTimeout(()=>{n=!0,l.kill("SIGTERM")},g.timeoutMs)),l.stdin?.write(b),l.stdin?.end();let o="",p="",q="",r=0;i?l.stdout?.on("data",a=>{let b=(o+=a.toString()).split("\n");for(let a of(o=b.pop()??"",b)){let b=a.trim();if(b)try{let a=JSON.parse(b);f?.(a);let d=h.parseStreamEvent(a);if(d)if(d.final){if(d.final.length>r){let a=d.final.slice(r);c?.(a),r=d.final.length}p=d.final}else d.text&&(p+=d.text,r=p.length,c?.(d.text))}catch{}}}):l.stdout?.on("data",a=>{p+=a.toString()}),l.stderr?.on("data",a=>{q+=a.toString()}),l.on("error",a=>{e(Error(`${h.name} CLI error: ${a.message}`))}),l.on("exit",(b,c)=>{if(m&&clearTimeout(m),!i&&h.cleanOutput&&(p=h.cleanOutput(p)),n)return void e(Error(`${h.name} CLI timed out after ${Math.round((g?.timeoutMs||0)/1e3)}s`));if(0!==b&&!p){let a=q.slice(0,500)||(c?`killed by signal ${c}`:"no output");e(Error(`${h.name} CLI exited with code ${b}: ${a}`));return}a(p)})}):Promise.reject(Error(`Unknown agent type: ${a}`))}},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3873:a=>{a.exports=require("path")},4870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},6439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},7598:a=>{a.exports=require("node:crypto")},7848:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>G,patchFetch:()=>F,routeModule:()=>B,serverHooks:()=>E,workAsyncStorage:()=>C,workUnitAsyncStorage:()=>D});var d={};c.r(d),c.d(d,{POST:()=>A});var e=c(9225),f=c(4006),g=c(8317),h=c(9373),i=c(4775),j=c(4235),k=c(261),l=c(4365),m=c(771),n=c(3461),o=c(7798),p=c(2280),q=c(2018),r=c(5696),s=c(7929),t=c(6439),u=c(7527),v=c(5592),w=c(9933),x=c(6241),y=c(3052),z=c(5440);async function A(a,{params:b}){await (0,z.t)();let{id:c,taskId:d}=await b,e=await a.json();if(!e.command)return v.NextResponse.json({error:"command is required"},{status:400});let f=(0,w.gg)(d);if(!f)return v.NextResponse.json({error:"Task not found"},{status:404});let g=(0,x.U1)(c),h=g?.ai_context?`
|
|
1
|
+
"use strict";(()=>{var a={};a.id=770,a.ids=[770],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1421:a=>{a.exports=require("node:child_process")},1820:a=>{a.exports=require("os")},3033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3052:(a,b,c)=>{c.d(b,{J:()=>f});var d=c(1421);let e={claude:{name:"Claude",binary:"claude",buildArgs:({streaming:a,model:b})=>["--dangerously-skip-permissions","--model",b||"opus",...a?["--output-format","stream-json","--verbose"]:["--output-format","text"],"--max-turns","80","-p","-"],buildEnv:()=>{let a={...process.env};for(let b of(delete a.CLAUDECODE,delete a.CLAUDE_CODE_ENTRYPOINT,delete a.CLAUDE_CODE_MAX_OUTPUT_TOKENS,Object.keys(a)))(b.startsWith("CLAUDE_CODE_")||"ANTHROPIC_PARENT_SESSION"===b)&&delete a[b];return{...a,FORCE_COLOR:"0"}},parseStreamEvent:a=>{if("content_block_delta"===a.type&&a.delta?.text)return{text:a.delta.text};if("assistant"===a.type&&a.message?.content){let b="";for(let c of a.message.content)"text"===c.type&&(b+=c.text);return{final:b}}return"result"===a.type&&a.result?{final:a.result}:null},cleanOutput:a=>a.replace(/Error: Reached max turns \(\d+\)\s*/g,"").trim()},gemini:{name:"Gemini",binary:"gemini",buildArgs:({streaming:a})=>["--yolo","-m","gemini-2.5-flash",...a?["--output-format","stream-json"]:["--output-format","json"],"-p","-"],buildEnv:()=>({...process.env,FORCE_COLOR:"0"}),parseStreamEvent:a=>"content_block_delta"===a.type&&a.delta?.text?{text:a.delta.text}:"result"===a.type?{final:a.response||a.text||a.result}:null,cleanOutput:a=>{let b=a.trim();if(!b.startsWith("{"))return b;try{let a=JSON.parse(b);return a.response||a.text||a.result||b}catch{return b}}},codex:{name:"Codex",binary:"codex",buildArgs:({streaming:a})=>["exec","--full-auto",...a?["--json"]:[],"-"],buildEnv:()=>({...process.env,FORCE_COLOR:"0"}),parseStreamEvent:a=>"item.completed"===a.type&&a.item?.type==="agent_message"?{final:a.item.text}:"item.updated"===a.type&&a.item?.type==="agent_message"?{text:a.item.text}:null}};function f(a,b,c,f,g){let h=e[a];return h?new Promise((a,e)=>{let i=!!(c||f),j=h.buildArgs({streaming:i,model:g?.model}),k=h.buildEnv(),l=(0,d.spawn)(h.binary,j,{cwd:g?.cwd||process.cwd(),stdio:["pipe","pipe","pipe"],shell:"win32"===process.platform,env:k}),m=null,n=!1;g?.timeoutMs&&(m=setTimeout(()=>{n=!0,l.kill("SIGTERM")},g.timeoutMs)),l.stdin?.write(b),l.stdin?.end();let o="",p="",q="",r=0;i?l.stdout?.on("data",a=>{let b=(o+=a.toString()).split("\n");for(let a of(o=b.pop()??"",b)){let b=a.trim();if(b)try{let a=JSON.parse(b);f?.(a);let d=h.parseStreamEvent(a);if(d)if(d.final){if(d.final.length>r){let a=d.final.slice(r);c?.(a),r=d.final.length}p=d.final}else d.text&&(p+=d.text,r=p.length,c?.(d.text))}catch{}}}):l.stdout?.on("data",a=>{p+=a.toString()}),l.stderr?.on("data",a=>{q+=a.toString()}),l.on("error",a=>{e(Error(`${h.name} CLI error: ${a.message}`))}),l.on("exit",(b,c)=>{if(m&&clearTimeout(m),!i&&h.cleanOutput&&(p=h.cleanOutput(p)),n)return void e(Error(`${h.name} CLI timed out after ${Math.round((g?.timeoutMs||0)/1e3)}s`));if(0!==b&&!p){let a=q.slice(0,500)||(c?`killed by signal ${c}`:"no output");e(Error(`${h.name} CLI exited with code ${b}: ${a}`));return}a(p)})}):Promise.reject(Error(`Unknown agent type: ${a}`))}},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3873:a=>{a.exports=require("path")},4870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},6241:(a,b,c)=>{c.d(b,{U1:()=>h,gA:()=>i,hF:()=>g,vr:()=>j,xx:()=>k});var d=c(5440),e=c(5359);function f(a){return{...a,watch_enabled:1===a.watch_enabled,agent_type:a.agent_type||"claude"}}function g(){return(0,d.L)().prepare("SELECT * FROM projects ORDER BY updated_at DESC").all().map(f)}function h(a){let b=(0,d.L)().prepare("SELECT * FROM projects WHERE id = ?").get(a);return b?f(b):void 0}function i(a,b="",c){let f=(0,d.L)(),g=(0,e.$)(),j=new Date().toISOString();f.prepare("INSERT INTO projects (id, name, description, project_path, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?)").run(g,a,b,c??null,j,j);let k=(0,e.$)();return f.prepare("INSERT INTO brainstorms (id, project_id, content, version, created_at, updated_at) VALUES (?, ?, ?, 1, ?, ?)").run(k,g,"",j,j),h(g)}function j(a,b){let c=(0,d.L)(),e=h(a);if(!e)return;let f=new Date().toISOString();return c.prepare("UPDATE projects SET name = ?, description = ?, project_path = ?, ai_context = ?, watch_enabled = ?, agent_type = ?, updated_at = ? WHERE id = ?").run(b.name??e.name,b.description??e.description,void 0!==b.project_path?b.project_path:e.project_path,void 0!==b.ai_context?b.ai_context:e.ai_context??"",void 0!==b.watch_enabled?+!!b.watch_enabled:+!!e.watch_enabled,b.agent_type??e.agent_type??"claude",f,a),h(a)}function k(a){return(0,d.L)().prepare("DELETE FROM projects WHERE id = ?").run(a).changes>0}},6439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},7598:a=>{a.exports=require("node:crypto")},7848:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>G,patchFetch:()=>F,routeModule:()=>B,serverHooks:()=>E,workAsyncStorage:()=>C,workUnitAsyncStorage:()=>D});var d={};c.r(d),c.d(d,{POST:()=>A});var e=c(9225),f=c(4006),g=c(8317),h=c(9373),i=c(4775),j=c(4235),k=c(261),l=c(4365),m=c(771),n=c(3461),o=c(7798),p=c(2280),q=c(2018),r=c(5696),s=c(7929),t=c(6439),u=c(7527),v=c(5592),w=c(9933),x=c(6241),y=c(3052),z=c(5440);async function A(a,{params:b}){await (0,z.t)();let{id:c,taskId:d}=await b,e=await a.json();if(!e.command)return v.NextResponse.json({error:"command is required"},{status:400});let f=(0,w.gg)(d);if(!f)return v.NextResponse.json({error:"Task not found"},{status:404});let g=(0,x.U1)(c),h=g?.ai_context?`
|
|
2
2
|
|
|
3
3
|
Project AI Policy:
|
|
4
4
|
${g.ai_context}`:"",i=function(a,b){switch(a){case"continue":return"아래 노트의 흐름을 자연스럽게 이어서 덧붙일 한 단락(또는 bullet 몇 개)을 마크다운으로 작성하세요. 설명은 빼고 이어질 내용만 출력.";case"tidy":return"아래 선택 영역의 뜻을 바꾸지 않고 깔끔하게 다듬어 주세요. 설명 없이 다듬어진 본문만 마크다운으로 출력.";case"split":return'아래 선택 영역(또는 노트 전체)을 구체적인 할 일 단위의 체크박스 리스트로 변환하세요. 각 항목은 "- [ ] "로 시작. 설명 없이 리스트만 출력.';case"to-questions":return'아래 내용에서 애매하거나 결정이 필요한 부분을 찾아 명확하게 해줄 질문 목록으로 바꿔주세요. "- Q. "로 시작하는 bullet로 출력. 설명 생략.';case"summarize":return"아래 내용을 3줄 이내로 요약하세요. bullet 3개. 설명 없이 요약만.";case"custom":return b?.trim()||"아래 내용을 개선해주세요."}}(e.command,e.customText),j=e.selection?.trim(),k=e.note??f.description??"",l=`당신은 사용자의 노트 작성을 돕는 보조자입니다. 한국어로 답하세요.
|
|
@@ -17,10 +17,4 @@ ${j}
|
|
|
17
17
|
${k}`:`[노트 전체]
|
|
18
18
|
${k}`}
|
|
19
19
|
|
|
20
|
-
중요: 답변은 노트에 그대로 삽입될 마크다운 텍스트만 출력하세요. 설명\xb7전제\xb7서론\xb7결론 금지.`;try{let a=g?.agent_type||"claude",b=await (0,y.J)(a,l,void 0,void 0,{timeoutMs:9e4,model:"sonnet"});return v.NextResponse.json({result:b.trim()})}catch(b){let a=b instanceof Error?b.message:"AI 호출 실패";return v.NextResponse.json({error:a},{status:500})}}let B=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route",pathname:"/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine",filename:"route",bundlePath:"app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:C,workUnitAsyncStorage:D,serverHooks:E}=B;function F(){return(0,g.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:D})}async function G(a,b,c){B.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route";"/index"===d&&(d="/");let e=await B.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[E]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[E],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||B.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===B.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>B.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>B.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await B.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,A),b}},l=await B.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",C?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await B.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},9021:a=>{a.exports=require("fs")},9294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},9661:a=>{a.exports=require("sql.js/dist/sql-wasm.js")}
|
|
21
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, 0, ?, ?, ?)`).run(c,a.project_id,a.sub_project_id,a.title,a.description??"",a.status??"idea",a.priority??"medium",i,f,f),h(c)}function n(a,b){let c=(0,d.L)(),e=c.prepare("SELECT * FROM tasks WHERE id = ?").get(a);if(!e)return;let f=new Date().toISOString();return c.prepare(`
|
|
22
|
-
UPDATE tasks SET
|
|
23
|
-
title = ?, description = ?, status = ?, priority = ?,
|
|
24
|
-
is_today = ?, sort_order = ?, sub_project_id = ?, tags = ?, updated_at = ?
|
|
25
|
-
WHERE id = ?
|
|
26
|
-
`).run(b.title??e.title,b.description??e.description,b.status??e.status,b.priority??e.priority,void 0!==b.is_today?+!!b.is_today:e.is_today,b.sort_order??e.sort_order,b.sub_project_id??e.sub_project_id,b.tags?JSON.stringify(b.tags):e.tags,f,a),h(a)}function o(a){return(0,d.L)().prepare("DELETE FROM tasks WHERE id = ?").run(a).changes>0}}};var b=require("../../../../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813,117],()=>b(b.s=7848));module.exports=c})();
|
|
20
|
+
중요: 답변은 노트에 그대로 삽입될 마크다운 텍스트만 출력하세요. 설명\xb7전제\xb7서론\xb7결론 금지.`;try{let a=g?.agent_type||"claude",b=await (0,y.J)(a,l,void 0,void 0,{timeoutMs:9e4,model:"sonnet"});return v.NextResponse.json({result:b.trim()})}catch(b){let a=b instanceof Error?b.message:"AI 호출 실패";return v.NextResponse.json({error:a},{status:500})}}let B=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route",pathname:"/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine",filename:"route",bundlePath:"app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:C,workUnitAsyncStorage:D,serverHooks:E}=B;function F(){return(0,g.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:D})}async function G(a,b,c){B.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route";"/index"===d&&(d="/");let e=await B.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[E]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[E],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||B.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===B.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>B.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>B.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await B.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,A),b}},l=await B.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",C?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await B.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},9021:a=>{a.exports=require("fs")},9294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},9661:a=>{a.exports=require("sql.js/dist/sql-wasm.js")}};var b=require("../../../../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813,697],()=>b(b.s=7848));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"664","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8935","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"440","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"1335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"2265","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"4661","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"5421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"1921","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"4342","name":"*","chunks":[],"async":false}},"
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"664","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8935","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"440","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"1335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"2265","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"4661","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"5421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"1921","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"4342","name":"*","chunks":[],"async":false}},"9770":{"*":{"id":"8229","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":421,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":9695,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/globals.css":{"id":1743,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/page.tsx":{"id":9770,"name":"*","chunks":["79","static/chunks/363642f4-9eb39e0bc542c65b.js","374","static/chunks/374-23189d7e246ad164.js","974","static/chunks/app/page-9117037f2947f4f6.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/projects/[id]/page.tsx":{"id":1048,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/young/Toy/idea-manager/src/":[],"/Users/young/Toy/idea-manager/src/app/layout":[{"inlined":false,"path":"static/css/e9071b58a99b47e4.css"}],"/Users/young/Toy/idea-manager/src/app/page":[],"/Users/young/Toy/idea-manager/src/app/api/projects/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route":[]},"rscModuleMapping":{"484":{"*":{"id":"8562","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8965","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"5098","name":"*","chunks":[],"async":false}},"1743":{"*":{"id":"1135","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"6237","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"3859","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"6675","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"8099","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"5547","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"7644","name":"*","chunks":[],"async":false}},"9770":{"*":{"id":"4494","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
|
|
@@ -1,122 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=2,a.ids=[2],a.modules={261:a=>{
|
|
2
|
-
CREATE TABLE IF NOT EXISTS projects (
|
|
3
|
-
id TEXT PRIMARY KEY,
|
|
4
|
-
name TEXT NOT NULL,
|
|
5
|
-
description TEXT NOT NULL DEFAULT '',
|
|
6
|
-
project_path TEXT,
|
|
7
|
-
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
8
|
-
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
9
|
-
);
|
|
10
|
-
|
|
11
|
-
CREATE TABLE IF NOT EXISTS brainstorms (
|
|
12
|
-
id TEXT PRIMARY KEY,
|
|
13
|
-
project_id TEXT NOT NULL,
|
|
14
|
-
content TEXT NOT NULL DEFAULT '',
|
|
15
|
-
version INTEGER NOT NULL DEFAULT 1,
|
|
16
|
-
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
17
|
-
updated_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
18
|
-
FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
`);let b=a.prepare("PRAGMA table_info(projects)").all();b.some(a=>"project_path"===a.name)||a.exec("ALTER TABLE projects ADD COLUMN project_path TEXT"),b.some(a=>"ai_context"===a.name)||a.exec("ALTER TABLE projects ADD COLUMN ai_context TEXT NOT NULL DEFAULT ''"),b.some(a=>"watch_enabled"===a.name)||a.exec("ALTER TABLE projects ADD COLUMN watch_enabled INTEGER NOT NULL DEFAULT 0"),b.some(a=>"agent_type"===a.name)||a.exec("ALTER TABLE projects ADD COLUMN agent_type TEXT NOT NULL DEFAULT 'claude'"),a.exec(`
|
|
22
|
-
CREATE TABLE IF NOT EXISTS sub_projects (
|
|
23
|
-
id TEXT PRIMARY KEY,
|
|
24
|
-
project_id TEXT NOT NULL,
|
|
25
|
-
name TEXT NOT NULL,
|
|
26
|
-
description TEXT NOT NULL DEFAULT '',
|
|
27
|
-
folder_path TEXT,
|
|
28
|
-
sort_order INTEGER NOT NULL DEFAULT 0,
|
|
29
|
-
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
30
|
-
updated_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
31
|
-
FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
CREATE TABLE IF NOT EXISTS tasks (
|
|
35
|
-
id TEXT PRIMARY KEY,
|
|
36
|
-
project_id TEXT NOT NULL,
|
|
37
|
-
sub_project_id TEXT NOT NULL,
|
|
38
|
-
title TEXT NOT NULL,
|
|
39
|
-
description TEXT NOT NULL DEFAULT '',
|
|
40
|
-
status TEXT NOT NULL DEFAULT 'idea'
|
|
41
|
-
CHECK(status IN ('idea','doing','writing','submitted','testing','done','problem')),
|
|
42
|
-
priority TEXT NOT NULL DEFAULT 'medium'
|
|
43
|
-
CHECK(priority IN ('high','medium','low')),
|
|
44
|
-
is_today INTEGER NOT NULL DEFAULT 0,
|
|
45
|
-
sort_order INTEGER NOT NULL DEFAULT 0,
|
|
46
|
-
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
47
|
-
updated_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
48
|
-
FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE,
|
|
49
|
-
FOREIGN KEY (sub_project_id) REFERENCES sub_projects(id) ON DELETE CASCADE
|
|
50
|
-
);
|
|
51
|
-
|
|
52
|
-
CREATE TABLE IF NOT EXISTS task_prompts (
|
|
53
|
-
id TEXT PRIMARY KEY,
|
|
54
|
-
task_id TEXT NOT NULL UNIQUE,
|
|
55
|
-
content TEXT NOT NULL DEFAULT '',
|
|
56
|
-
prompt_type TEXT NOT NULL DEFAULT 'manual'
|
|
57
|
-
CHECK(prompt_type IN ('manual','ai_assisted')),
|
|
58
|
-
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
59
|
-
updated_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
60
|
-
FOREIGN KEY (task_id) REFERENCES tasks(id) ON DELETE CASCADE
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
CREATE TABLE IF NOT EXISTS global_memos (
|
|
64
|
-
id TEXT PRIMARY KEY,
|
|
65
|
-
content TEXT NOT NULL DEFAULT '',
|
|
66
|
-
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
67
|
-
);
|
|
68
|
-
|
|
69
|
-
CREATE TABLE IF NOT EXISTS task_conversations (
|
|
70
|
-
id TEXT PRIMARY KEY,
|
|
71
|
-
task_id TEXT NOT NULL,
|
|
72
|
-
role TEXT NOT NULL CHECK(role IN ('assistant','user')),
|
|
73
|
-
content TEXT NOT NULL,
|
|
74
|
-
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
75
|
-
FOREIGN KEY (task_id) REFERENCES tasks(id) ON DELETE CASCADE
|
|
76
|
-
);
|
|
77
|
-
`),a.exec(`
|
|
78
|
-
CREATE TABLE IF NOT EXISTS project_conversations (
|
|
79
|
-
id TEXT PRIMARY KEY,
|
|
80
|
-
project_id TEXT NOT NULL,
|
|
81
|
-
role TEXT NOT NULL CHECK(role IN ('assistant','user','system')),
|
|
82
|
-
content TEXT NOT NULL,
|
|
83
|
-
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
84
|
-
FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
|
|
85
|
-
);
|
|
86
|
-
`);let c=a.prepare("PRAGMA table_info(tasks)").all();c.some(a=>"is_archived"===a.name)||a.exec("ALTER TABLE tasks ADD COLUMN is_archived INTEGER NOT NULL DEFAULT 0"),c.some(a=>"tags"===a.name)||a.exec("ALTER TABLE tasks ADD COLUMN tags TEXT NOT NULL DEFAULT '[]'");let d="\x3c!-- legacy-prompt --\x3e",e=a.prepare(`
|
|
87
|
-
SELECT tp.task_id AS task_id, tp.content AS content, t.description AS description
|
|
88
|
-
FROM task_prompts tp
|
|
89
|
-
JOIN tasks t ON t.id = tp.task_id
|
|
90
|
-
WHERE tp.content IS NOT NULL AND TRIM(tp.content) <> ''
|
|
91
|
-
AND (t.description IS NULL OR t.description NOT LIKE '%${d}%')
|
|
92
|
-
`).all();if(e.length>0){let b=a.prepare("UPDATE tasks SET description = ? WHERE id = ?");for(let a of e){let c=(a.description??"").trimEnd(),e=[c,c?"":null,c?"---":null,`${d}`,"**Legacy Prompt**","",a.content.trim()].filter(a=>null!==a).join("\n");b.run(e,a.task_id)}}let f=a.prepare("SELECT sql FROM sqlite_master WHERE type='table' AND name='tasks'").get();f&&!f.sql.includes("'doing'")&&a.exec(`
|
|
93
|
-
CREATE TABLE tasks_new (
|
|
94
|
-
id TEXT PRIMARY KEY,
|
|
95
|
-
project_id TEXT NOT NULL,
|
|
96
|
-
sub_project_id TEXT NOT NULL,
|
|
97
|
-
title TEXT NOT NULL,
|
|
98
|
-
description TEXT NOT NULL DEFAULT '',
|
|
99
|
-
status TEXT NOT NULL DEFAULT 'idea'
|
|
100
|
-
CHECK(status IN ('idea','doing','writing','submitted','testing','done','problem')),
|
|
101
|
-
priority TEXT NOT NULL DEFAULT 'medium'
|
|
102
|
-
CHECK(priority IN ('high','medium','low')),
|
|
103
|
-
is_today INTEGER NOT NULL DEFAULT 0,
|
|
104
|
-
sort_order INTEGER NOT NULL DEFAULT 0,
|
|
105
|
-
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
106
|
-
updated_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
107
|
-
is_archived INTEGER NOT NULL DEFAULT 0,
|
|
108
|
-
tags TEXT NOT NULL DEFAULT '[]',
|
|
109
|
-
FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE,
|
|
110
|
-
FOREIGN KEY (sub_project_id) REFERENCES sub_projects(id) ON DELETE CASCADE
|
|
111
|
-
);
|
|
112
|
-
INSERT INTO tasks_new (id, project_id, sub_project_id, title, description, status, priority, is_today, sort_order, created_at, updated_at, is_archived, tags)
|
|
113
|
-
SELECT id, project_id, sub_project_id, title, description, status, priority, is_today, sort_order, created_at, updated_at, is_archived, tags FROM tasks;
|
|
114
|
-
DROP TABLE tasks;
|
|
115
|
-
ALTER TABLE tasks_new RENAME TO tasks;
|
|
116
|
-
`)}(l=new k(a,g)),process.on("exit",()=>l?.close()),h||(h=!0,setInterval(j,6e4),j(),console.log("[Scheduler] Morning notification scheduler started")),l}async function o(){return l||(m||(m=n()),m)}function p(){if(!l)throw Error("Database not initialized. Call await ensureDb() first.");return l}},6439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},6487:()=>{},7598:a=>{"use strict";a.exports=require("node:crypto")},8335:()=>{},9021:a=>{"use strict";a.exports=require("fs")},9294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},9645:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>G,patchFetch:()=>F,routeModule:()=>B,serverHooks:()=>E,workAsyncStorage:()=>C,workUnitAsyncStorage:()=>D});var d={};c.r(d),c.d(d,{DELETE:()=>A,GET:()=>y,PUT:()=>z});var e=c(9225),f=c(4006),g=c(8317),h=c(9373),i=c(4775),j=c(4235),k=c(261),l=c(4365),m=c(771),n=c(3461),o=c(7798),p=c(2280),q=c(2018),r=c(5696),s=c(7929),t=c(6439),u=c(7527),v=c(5592),w=c(9933),x=c(5440);async function y(a,{params:b}){await (0,x.t)();let{taskId:c}=await b,d=(0,w.gg)(c);return d?v.NextResponse.json(d):v.NextResponse.json({error:"Task not found"},{status:404})}async function z(a,{params:b}){await (0,x.t)();let{taskId:c}=await b,d=await a.json(),e=(0,w.lC)(c,d);return e?v.NextResponse.json(e):v.NextResponse.json({error:"Task not found"},{status:404})}async function A(a,{params:b}){await (0,x.t)();let{taskId:c}=await b;return"permanent"===(a.nextUrl.searchParams.get("mode")||"archive")?(0,w.vq)(c)?v.NextResponse.json({success:!0}):v.NextResponse.json({error:"Task not found"},{status:404}):(0,w.Q$)(c)?v.NextResponse.json({success:!0,archived:!0}):v.NextResponse.json({error:"Task not found"},{status:404})}let B=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route",pathname:"/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]",filename:"route",bundlePath:"app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:C,workUnitAsyncStorage:D,serverHooks:E}=B;function F(){return(0,g.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:D})}async function G(a,b,c){B.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route";"/index"===d&&(d="/");let e=await B.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[E]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[E],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||B.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===B.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>B.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>B.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await B.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,A),b}},l=await B.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",C?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await B.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},9661:a=>{"use strict";a.exports=require("sql.js/dist/sql-wasm.js")},9933:(a,b,c)=>{"use strict";c.d(b,{Lw:()=>i,Q$:()=>k,UT:()=>m,ec:()=>l,fn:()=>j,gg:()=>h,lC:()=>n,vq:()=>o,x1:()=>g});var d=c(5440),e=c(5359);function f(a){let b=[];try{b=JSON.parse(a.tags||"[]")}catch{}return{...a,is_today:1===a.is_today,is_archived:(a.is_archived??0)===1,tags:b}}function g(a){return(0,d.L)().prepare("SELECT * FROM tasks WHERE sub_project_id = ? AND is_archived = 0 ORDER BY sort_order ASC").all(a).map(f)}function h(a){let b=(0,d.L)().prepare("SELECT * FROM tasks WHERE id = ?").get(a);return b?f(b):void 0}function i(a){return(0,d.L)().prepare("SELECT * FROM tasks WHERE project_id = ? AND is_archived = 0 ORDER BY sort_order ASC").all(a).map(f)}function j(a){let b=(0,d.L)();return(a?b.prepare("SELECT * FROM tasks WHERE project_id = ? AND is_archived = 1 ORDER BY updated_at DESC").all(a):b.prepare("SELECT * FROM tasks WHERE is_archived = 1 ORDER BY updated_at DESC").all()).map(f)}function k(a){let b=(0,d.L)(),c=new Date().toISOString();return b.prepare("UPDATE tasks SET is_archived = 1, is_today = 0, updated_at = ? WHERE id = ?").run(c,a),h(a)}function l(a){let b=(0,d.L)(),c=new Date().toISOString();return b.prepare("UPDATE tasks SET is_archived = 0, updated_at = ? WHERE id = ?").run(c,a),h(a)}function m(a){let b=(0,d.L)(),c=(0,e.$)(),f=new Date().toISOString(),g=b.prepare("SELECT MAX(sort_order) as max_order FROM tasks WHERE sub_project_id = ?").get(a.sub_project_id),i=(g?.max_order??-1)+1;return b.prepare(`INSERT INTO tasks (id, project_id, sub_project_id, title, description, status, priority, is_today, sort_order, created_at, updated_at)
|
|
117
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, 0, ?, ?, ?)`).run(c,a.project_id,a.sub_project_id,a.title,a.description??"",a.status??"idea",a.priority??"medium",i,f,f),h(c)}function n(a,b){let c=(0,d.L)(),e=c.prepare("SELECT * FROM tasks WHERE id = ?").get(a);if(!e)return;let f=new Date().toISOString();return c.prepare(`
|
|
118
|
-
UPDATE tasks SET
|
|
119
|
-
title = ?, description = ?, status = ?, priority = ?,
|
|
120
|
-
is_today = ?, sort_order = ?, sub_project_id = ?, tags = ?, updated_at = ?
|
|
121
|
-
WHERE id = ?
|
|
122
|
-
`).run(b.title??e.title,b.description??e.description,b.status??e.status,b.priority??e.priority,void 0!==b.is_today?+!!b.is_today:e.is_today,b.sort_order??e.sort_order,b.sub_project_id??e.sub_project_id,b.tags?JSON.stringify(b.tags):e.tags,f,a),h(a)}function o(a){return(0,d.L)().prepare("DELETE FROM tasks WHERE id = ?").run(a).changes>0}}};var b=require("../../../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813],()=>b(b.s=9645));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=2,a.ids=[2],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1421:a=>{a.exports=require("node:child_process")},1820:a=>{a.exports=require("os")},3033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3873:a=>{a.exports=require("path")},4870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},6439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},7598:a=>{a.exports=require("node:crypto")},9021:a=>{a.exports=require("fs")},9294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},9645:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>G,patchFetch:()=>F,routeModule:()=>B,serverHooks:()=>E,workAsyncStorage:()=>C,workUnitAsyncStorage:()=>D});var d={};c.r(d),c.d(d,{DELETE:()=>A,GET:()=>y,PUT:()=>z});var e=c(9225),f=c(4006),g=c(8317),h=c(9373),i=c(4775),j=c(4235),k=c(261),l=c(4365),m=c(771),n=c(3461),o=c(7798),p=c(2280),q=c(2018),r=c(5696),s=c(7929),t=c(6439),u=c(7527),v=c(5592),w=c(9933),x=c(5440);async function y(a,{params:b}){await (0,x.t)();let{taskId:c}=await b,d=(0,w.gg)(c);return d?v.NextResponse.json(d):v.NextResponse.json({error:"Task not found"},{status:404})}async function z(a,{params:b}){await (0,x.t)();let{taskId:c}=await b,d=await a.json(),e=(0,w.lC)(c,d);return e?v.NextResponse.json(e):v.NextResponse.json({error:"Task not found"},{status:404})}async function A(a,{params:b}){await (0,x.t)();let{taskId:c}=await b;return"permanent"===(a.nextUrl.searchParams.get("mode")||"archive")?(0,w.vq)(c)?v.NextResponse.json({success:!0}):v.NextResponse.json({error:"Task not found"},{status:404}):(0,w.Q$)(c)?v.NextResponse.json({success:!0,archived:!0}):v.NextResponse.json({error:"Task not found"},{status:404})}let B=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route",pathname:"/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]",filename:"route",bundlePath:"app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:C,workUnitAsyncStorage:D,serverHooks:E}=B;function F(){return(0,g.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:D})}async function G(a,b,c){B.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route";"/index"===d&&(d="/");let e=await B.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[E]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[E],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.experimental.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||B.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===B.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q={params:v,prerenderManifest:z,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>B.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},R=new l.NodeNextRequest(a),S=new l.NodeNextResponse(b),T=m.NextRequestAdapter.fromNodeNextRequest(R,(0,m.signalFromNodeResponse)(b));try{let e=async a=>B.handle(T,Q).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${N} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b)}else a.updateName(`${N} ${d}`)}),g=!!(0,h.getRequestMeta)(a,"minimalMode"),j=async h=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!g&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await e(h);a.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=Q.renderOpts.collectedTags;if(!I)return await (0,p.I)(R,S,d,Q.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);j&&(b[s.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,e=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:Q.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await B.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,A),b}},l=await B.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:k,waitUntil:c.waitUntil,isMinimalMode:g});if(!I)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});g||b.setHeader("x-nextjs-cache",C?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,q.fromNodeOutgoingHttpHeaders)(l.value.headers);return g&&I||m.delete(s.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,r.getCacheControlHeader)(l.cacheControl)),await (0,p.I)(R,S,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await j(P):await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},j))}catch(b){if(b instanceof t.NoFallbackError||await B.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,A),I)throw b;return await (0,p.I)(R,S,new Response(null,{status:500})),null}}},9661:a=>{a.exports=require("sql.js/dist/sql-wasm.js")}};var b=require("../../../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,813,697],()=>b(b.s=9645));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"664","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8935","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"440","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"1335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"2265","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"4661","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"5421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"1921","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"4342","name":"*","chunks":[],"async":false}},"
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"664","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8935","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"440","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"1335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"2265","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"4661","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"5421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"1921","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"4342","name":"*","chunks":[],"async":false}},"9770":{"*":{"id":"8229","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":421,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":9695,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/globals.css":{"id":1743,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/page.tsx":{"id":9770,"name":"*","chunks":["79","static/chunks/363642f4-9eb39e0bc542c65b.js","374","static/chunks/374-23189d7e246ad164.js","974","static/chunks/app/page-9117037f2947f4f6.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/projects/[id]/page.tsx":{"id":1048,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/young/Toy/idea-manager/src/":[],"/Users/young/Toy/idea-manager/src/app/layout":[{"inlined":false,"path":"static/css/e9071b58a99b47e4.css"}],"/Users/young/Toy/idea-manager/src/app/page":[],"/Users/young/Toy/idea-manager/src/app/api/projects/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/route":[],"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route":[]},"rscModuleMapping":{"484":{"*":{"id":"8562","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8965","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"5098","name":"*","chunks":[],"async":false}},"1743":{"*":{"id":"1135","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"6237","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"3859","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"6675","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"8099","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"5547","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"7644","name":"*","chunks":[],"async":false}},"9770":{"*":{"id":"4494","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
|