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.
Files changed (185) hide show
  1. package/.next/build-manifest.json +2 -2
  2. package/.next/routes-manifest.json +35 -0
  3. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  4. package/.next/server/app/_global-error.html +2 -2
  5. package/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/_not-found.html +2 -2
  14. package/.next/server/app/_not-found.rsc +2 -2
  15. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  16. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/.next/server/app/api/advisor-actions/route.js +15 -0
  22. package/.next/server/app/api/advisor-actions/route_client-reference-manifest.js +1 -0
  23. package/.next/server/app/api/archive/route.js +1 -122
  24. package/.next/server/app/api/archive/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/filesystem/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/filesystem/tree/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/global-advisor/route.js +37 -0
  28. package/.next/server/app/api/global-advisor/route_client-reference-manifest.js +1 -0
  29. package/.next/server/app/api/global-memo/route.js +8 -0
  30. package/.next/server/app/api/global-memo/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/maintenance/route.js +130 -0
  33. package/.next/server/app/api/maintenance/route_client-reference-manifest.js +1 -0
  34. package/.next/server/app/api/projects/[id]/advisor/route.js +22 -11
  35. package/.next/server/app/api/projects/[id]/advisor/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/projects/[id]/apply-distribute/route.js +2 -8
  37. package/.next/server/app/api/projects/[id]/apply-distribute/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/projects/[id]/auto-distribute/route.js +126 -3
  39. package/.next/server/app/api/projects/[id]/auto-distribute/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/projects/[id]/brainstorm/route.js +124 -1
  41. package/.next/server/app/api/projects/[id]/brainstorm/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/projects/[id]/git-sync/route.js +124 -1
  43. package/.next/server/app/api/projects/[id]/git-sync/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/projects/[id]/route.js +124 -1
  45. package/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/route.js +8 -0
  47. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route.js +1 -7
  49. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route.js +8 -0
  51. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route.js +2 -8
  53. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route.js +1 -122
  55. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/reorder/route.js +124 -0
  57. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/reorder/route_client-reference-manifest.js +1 -0
  58. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/route.js +1 -122
  59. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/projects/[id]/sub-projects/route.js +8 -0
  61. package/.next/server/app/api/projects/[id]/sub-projects/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/projects/route.js +124 -1
  63. package/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/search/route.js +8 -0
  65. package/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/sync/route.js +8 -0
  67. package/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/tasks/[taskId]/move/route.js +15 -0
  69. package/.next/server/app/api/tasks/[taskId]/move/route_client-reference-manifest.js +1 -0
  70. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/index.html +2 -2
  73. package/.next/server/app/index.rsc +3 -3
  74. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  75. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  76. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  77. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  78. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  79. package/.next/server/app/page.js +12 -12
  80. package/.next/server/app/page_client-reference-manifest.js +1 -1
  81. package/.next/server/app/projects/[id]/page_client-reference-manifest.js +1 -1
  82. package/.next/server/app-paths-manifest.json +18 -13
  83. package/.next/server/chunks/{117.js → 697.js} +16 -2
  84. package/.next/server/pages/404.html +2 -2
  85. package/.next/server/pages/500.html +2 -2
  86. package/.next/static/KREG104cVn2mBTMPTDTvH/_buildManifest.js +1 -0
  87. package/.next/static/chunks/374-23189d7e246ad164.js +1 -0
  88. package/.next/static/chunks/app/_global-error/page-f051f234bea7bddd.js +1 -0
  89. package/.next/static/chunks/app/api/advisor-actions/route-f051f234bea7bddd.js +1 -0
  90. package/.next/static/chunks/app/api/archive/route-f051f234bea7bddd.js +1 -0
  91. package/.next/static/chunks/app/api/filesystem/route-f051f234bea7bddd.js +1 -0
  92. package/.next/static/chunks/app/api/filesystem/tree/route-f051f234bea7bddd.js +1 -0
  93. package/.next/static/chunks/app/api/global-advisor/route-f051f234bea7bddd.js +1 -0
  94. package/.next/static/chunks/app/api/global-memo/route-f051f234bea7bddd.js +1 -0
  95. package/.next/static/chunks/app/api/health/route-f051f234bea7bddd.js +1 -0
  96. package/.next/static/chunks/app/api/maintenance/route-f051f234bea7bddd.js +1 -0
  97. package/.next/static/chunks/app/api/projects/[id]/advisor/route-f051f234bea7bddd.js +1 -0
  98. package/.next/static/chunks/app/api/projects/[id]/apply-distribute/route-f051f234bea7bddd.js +1 -0
  99. package/.next/static/chunks/app/api/projects/[id]/auto-distribute/route-f051f234bea7bddd.js +1 -0
  100. package/.next/static/chunks/app/api/projects/[id]/brainstorm/route-f051f234bea7bddd.js +1 -0
  101. package/.next/static/chunks/app/api/projects/[id]/git-sync/route-f051f234bea7bddd.js +1 -0
  102. package/.next/static/chunks/app/api/projects/[id]/route-f051f234bea7bddd.js +1 -0
  103. package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/route-f051f234bea7bddd.js +1 -0
  104. package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route-f051f234bea7bddd.js +1 -0
  105. package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route-f051f234bea7bddd.js +1 -0
  106. package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route-f051f234bea7bddd.js +1 -0
  107. package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route-f051f234bea7bddd.js +1 -0
  108. package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/reorder/route-f051f234bea7bddd.js +1 -0
  109. package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/route-f051f234bea7bddd.js +1 -0
  110. package/.next/static/chunks/app/api/projects/[id]/sub-projects/route-f051f234bea7bddd.js +1 -0
  111. package/.next/static/chunks/app/api/projects/route-f051f234bea7bddd.js +1 -0
  112. package/.next/static/chunks/app/api/search/route-f051f234bea7bddd.js +1 -0
  113. package/.next/static/chunks/app/api/sync/route-f051f234bea7bddd.js +1 -0
  114. package/.next/static/chunks/app/api/tasks/[taskId]/move/route-f051f234bea7bddd.js +1 -0
  115. package/.next/static/chunks/app/api/update/route-f051f234bea7bddd.js +1 -0
  116. package/.next/static/chunks/app/api/version/route-f051f234bea7bddd.js +1 -0
  117. package/.next/static/chunks/app/page-9117037f2947f4f6.js +28 -0
  118. package/.next/static/chunks/next/dist/client/components/builtin/app-error-f051f234bea7bddd.js +1 -0
  119. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-f051f234bea7bddd.js +1 -0
  120. package/.next/static/chunks/next/dist/client/components/builtin/not-found-f051f234bea7bddd.js +1 -0
  121. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-f051f234bea7bddd.js +1 -0
  122. package/.next/static/css/e9071b58a99b47e4.css +3 -0
  123. package/package.json +1 -1
  124. package/src/app/api/advisor-actions/route.ts +52 -0
  125. package/src/app/api/global-advisor/route.ts +50 -0
  126. package/src/app/api/maintenance/route.ts +36 -0
  127. package/src/app/api/projects/[id]/sub-projects/[subId]/tasks/reorder/route.ts +24 -0
  128. package/src/app/api/tasks/[taskId]/move/route.ts +30 -0
  129. package/src/components/advisor/ActionBlock.tsx +124 -0
  130. package/src/components/advisor/AdvisorChat.tsx +175 -0
  131. package/src/components/advisor/GlobalAdvisorLayer.tsx +38 -0
  132. package/src/components/dashboard/DashboardPanel.tsx +2 -0
  133. package/src/components/memo/GlobalMemoLayer.tsx +81 -0
  134. package/src/components/tabs/TabBar.tsx +2 -0
  135. package/src/components/tabs/TabShell.tsx +6 -0
  136. package/src/components/task/NoteEditor.tsx +137 -0
  137. package/src/components/task/ProjectTree.tsx +105 -57
  138. package/src/components/task/TaskChat.tsx +4 -0
  139. package/src/components/task/TaskDetail.tsx +182 -1
  140. package/src/components/ui/AiActivityIndicator.tsx +66 -0
  141. package/src/components/ui/ShortcutOverlay.tsx +108 -0
  142. package/src/components/workspace/ProjectAdvisor.tsx +17 -181
  143. package/src/components/workspace/WorkspacePanel.tsx +75 -3
  144. package/src/hooks/useAiActivity.ts +6 -0
  145. package/src/lib/advisor-actions/parse.ts +59 -0
  146. package/src/lib/ai/global-context.ts +114 -0
  147. package/src/lib/ai/project-context.ts +22 -2
  148. package/src/lib/ai-activity.ts +33 -0
  149. package/src/lib/db/queries/global-conversations.ts +31 -0
  150. package/src/lib/db/queries/tasks.ts +3 -1
  151. package/src/lib/db/schema.ts +8 -0
  152. package/src/types/advisor-actions.ts +25 -0
  153. package/.next/static/chunks/374-769431701aab500f.js +0 -1
  154. package/.next/static/chunks/app/_global-error/page-3ff8f59aaa75b8f8.js +0 -1
  155. package/.next/static/chunks/app/api/archive/route-3ff8f59aaa75b8f8.js +0 -1
  156. package/.next/static/chunks/app/api/filesystem/route-3ff8f59aaa75b8f8.js +0 -1
  157. package/.next/static/chunks/app/api/filesystem/tree/route-3ff8f59aaa75b8f8.js +0 -1
  158. package/.next/static/chunks/app/api/global-memo/route-3ff8f59aaa75b8f8.js +0 -1
  159. package/.next/static/chunks/app/api/health/route-3ff8f59aaa75b8f8.js +0 -1
  160. package/.next/static/chunks/app/api/projects/[id]/advisor/route-3ff8f59aaa75b8f8.js +0 -1
  161. package/.next/static/chunks/app/api/projects/[id]/apply-distribute/route-3ff8f59aaa75b8f8.js +0 -1
  162. package/.next/static/chunks/app/api/projects/[id]/auto-distribute/route-3ff8f59aaa75b8f8.js +0 -1
  163. package/.next/static/chunks/app/api/projects/[id]/brainstorm/route-3ff8f59aaa75b8f8.js +0 -1
  164. package/.next/static/chunks/app/api/projects/[id]/git-sync/route-3ff8f59aaa75b8f8.js +0 -1
  165. package/.next/static/chunks/app/api/projects/[id]/route-3ff8f59aaa75b8f8.js +0 -1
  166. package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/route-3ff8f59aaa75b8f8.js +0 -1
  167. package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route-3ff8f59aaa75b8f8.js +0 -1
  168. package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route-3ff8f59aaa75b8f8.js +0 -1
  169. package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/refine/route-3ff8f59aaa75b8f8.js +0 -1
  170. package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route-3ff8f59aaa75b8f8.js +0 -1
  171. package/.next/static/chunks/app/api/projects/[id]/sub-projects/[subId]/tasks/route-3ff8f59aaa75b8f8.js +0 -1
  172. package/.next/static/chunks/app/api/projects/[id]/sub-projects/route-3ff8f59aaa75b8f8.js +0 -1
  173. package/.next/static/chunks/app/api/projects/route-3ff8f59aaa75b8f8.js +0 -1
  174. package/.next/static/chunks/app/api/search/route-3ff8f59aaa75b8f8.js +0 -1
  175. package/.next/static/chunks/app/api/sync/route-3ff8f59aaa75b8f8.js +0 -1
  176. package/.next/static/chunks/app/api/update/route-3ff8f59aaa75b8f8.js +0 -1
  177. package/.next/static/chunks/app/api/version/route-3ff8f59aaa75b8f8.js +0 -1
  178. package/.next/static/chunks/app/page-e935ee928da68ca2.js +0 -28
  179. package/.next/static/chunks/next/dist/client/components/builtin/app-error-3ff8f59aaa75b8f8.js +0 -1
  180. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-3ff8f59aaa75b8f8.js +0 -1
  181. package/.next/static/chunks/next/dist/client/components/builtin/not-found-3ff8f59aaa75b8f8.js +0 -1
  182. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-3ff8f59aaa75b8f8.js +0 -1
  183. package/.next/static/css/e4c7cd5a570312d9.css +0 -3
  184. package/.next/static/pxqzEiwniZAUDOUTb5SnX/_buildManifest.js +0 -1
  185. /package/.next/static/{pxqzEiwniZAUDOUTb5SnX → KREG104cVn2mBTMPTDTvH}/_ssgManifest.js +0 -0
@@ -1,4 +1,127 @@
1
- "use strict";(()=>{var a={};a.id=860,a.ids=[860],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")},4181:(a,b,c)=>{c.d(b,{T:()=>f,a:()=>e});var d=c(5440);function e(a){return(0,d.L)().prepare("SELECT * FROM brainstorms WHERE project_id = ? ORDER BY version DESC LIMIT 1").get(a)}function f(a,b){let c=(0,d.L)(),f=new Date().toISOString(),g=e(a);if(g)return c.prepare("UPDATE brainstorms SET content = ?, version = version + 1, updated_at = ? WHERE id = ?").run(b,f,g.id),c.prepare("UPDATE projects SET updated_at = ? WHERE id = ?").run(f,a),e(a)}},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")},7228:(a,b,c)=>{c.d(b,{G8:()=>g,NG:()=>k,VU:()=>f,bU:()=>j,en:()=>i,kh:()=>h,y4:()=>l});var d=c(5440),e=c(5359);function f(a){return(0,d.L)().prepare("SELECT * FROM sub_projects WHERE project_id = ? ORDER BY sort_order ASC").all(a)}function g(a){return(0,d.L)().prepare("SELECT * FROM sub_projects WHERE id = ?").get(a)}function h(a){let b=(0,d.L)();return b.prepare("SELECT * FROM sub_projects WHERE project_id = ? ORDER BY sort_order ASC").all(a).map(a=>{let c=b.prepare(`
1
+ (()=>{var a={};a.id=860,a.ids=[860],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1421:a=>{"use strict";a.exports=require("node:child_process")},1799:(a,b,c)=>{"use strict";c.d(b,{bE:()=>m,sA:()=>k});var d=c(3873),e=c.n(d),f=c(1820),g=c.n(f),h=c(9021),i=c.n(h);let j=e().join(g().homedir(),".idea-manager","data");function k(){return e().join((i().existsSync(j)||i().mkdirSync(j,{recursive:!0}),j),"im.db")}let l=e().join(g().homedir(),".idea-manager","sync");function m(){return i().existsSync(l)||i().mkdirSync(l,{recursive:!0}),l}},1820:a=>{"use strict";a.exports=require("os")},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3052:(a,b,c)=>{"use strict";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=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3873:a=>{"use strict";a.exports=require("path")},4181:(a,b,c)=>{"use strict";c.d(b,{T:()=>f,a:()=>e});var d=c(5440);function e(a){return(0,d.L)().prepare("SELECT * FROM brainstorms WHERE project_id = ? ORDER BY version DESC LIMIT 1").get(a)}function f(a,b){let c=(0,d.L)(),f=new Date().toISOString(),g=e(a);if(g)return c.prepare("UPDATE brainstorms SET content = ?, version = version + 1, updated_at = ? WHERE id = ?").run(b,f,g.id),c.prepare("UPDATE projects SET updated_at = ? WHERE id = ?").run(f,a),e(a)}},4870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},5359:(a,b,c)=>{"use strict";let d,e;c.d(b,{$:()=>g});var f=c(7598);function g(){return function(a=21){var b;b=a|=0,!d||d.length<b?(d=Buffer.allocUnsafe(128*b),f.webcrypto.getRandomValues(d),e=0):e+b>d.length&&(f.webcrypto.getRandomValues(d),e=0),e+=b;let c="";for(let b=e-a;b<e;b++)c+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&d[b]];return c}(16)}},5440:(a,b,c)=>{"use strict";c.d(b,{t:()=>o,L:()=>p});var d=c(9021),e=c.n(d),f=c(1799),g=c(1421);let h=!1,i="";async function j(){let a=new Date,b=a.getHours(),c=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`;if(9===b&&i!==c)try{let a,b;await o();let d=p(),e=d.prepare("SELECT t.title, t.status, p.name as project_name FROM tasks t JOIN projects p ON t.project_id = p.id WHERE t.is_today = 1 AND t.status != 'done'").all(),f=d.prepare("SELECT COUNT(*) as count FROM tasks WHERE status IN ('submitted', 'testing')").get(),h=d.prepare("SELECT COUNT(*) as count FROM tasks WHERE status = 'problem'").get(),j=[];if(e.length>0){for(let a of(j.push(`Today: ${e.length}개`),e.slice(0,5)))j.push(` - ${a.title}`);e.length>5&&j.push(` ... +${e.length-5}개`)}else j.push("Today 태스크가 없습니다.");f.count>0&&j.push(`진행 중: ${f.count}개`),h.count>0&&j.push(`문제: ${h.count}개`),a=j.join("\n").replace(/"/g,'\\"').replace(/\n/g,"\\n"),b=`display notification "${a}" with title "IM - 오늘의 할 일"`,(0,g.exec)(`osascript -e '${b}'`,a=>{a&&console.error("[Scheduler] notification error:",a.message)}),i=c}catch(a){console.error("[Scheduler] error:",a)}}class k{constructor(a,b){this.dirty=!1,this.inTransaction=!1,this.db=a,this.dbPath=b}save(){if(!this.dirty)return;let a=this.db.export();e().writeFileSync(this.dbPath,Buffer.from(a)),this.dirty=!1}immediatelySave(){this.dirty=!0,this.inTransaction||this.save()}rowsToObjects(a,b){return b.map(b=>{let c={};return a.forEach((a,d)=>{c[a]=b[d]}),c})}prepare(a){let b=this,c=/^\s*(INSERT|UPDATE|DELETE|CREATE|ALTER|DROP)/i.test(a);return{all(...c){let d=b.db.prepare(a);c.length>0&&d.bind(c);let e=d.getColumnNames(),f=[];for(;d.step();)f.push(d.get());return d.free(),b.rowsToObjects(e,f)},get(...c){let d,e=b.db.prepare(a);if(c.length>0&&e.bind(c),e.step()){let a=e.getColumnNames(),b=e.get(),c={};a.forEach((a,d)=>{c[a]=b[d]}),d=c}return e.free(),d},run:(...d)=>(b.db.run(a,d),c&&b.immediatelySave(),{changes:b.db.getRowsModified()})}}exec(a){this.db.exec(a),/^\s*(INSERT|UPDATE|DELETE|CREATE|ALTER|DROP)/im.test(a)&&this.immediatelySave()}pragma(a){if(a.startsWith("table_info(")){let b=a.match(/table_info\((\w+)\)/)?.[1];if(!b)return[];let c=this.db.exec(`PRAGMA table_info(${b})`);return c.length?this.rowsToObjects(c[0].columns,c[0].values):[]}if(a.includes("journal_mode")||a.includes("wal_checkpoint"))return this.immediatelySave(),"memory";if(a.includes("foreign_keys")){try{this.db.run(`PRAGMA ${a}`)}catch{}return}try{let b=this.db.exec(`PRAGMA ${a}`);if(b.length>0&&b[0].values.length>0)return b[0].values[0][0]}catch{}}transaction(a){let b=this;return()=>{b.inTransaction=!0,b.db.run("BEGIN");try{let c=a();return b.db.run("COMMIT"),b.inTransaction=!1,b.immediatelySave(),c}catch(a){b.inTransaction=!1;try{b.db.run("ROLLBACK")}catch{}throw a}}}close(){this.immediatelySave(),this.db.close()}}let l=null,m=null;async function n(){let a;if(l)return l;let b=c(9661),d=await b(),g=(0,f.sA)();if(e().existsSync(g)){let b=e().readFileSync(g);a=new d.Database(b)}else a=new d.Database;return!function(a){a.exec(`
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 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
+
86
+ CREATE TABLE IF NOT EXISTS project_conversations (
87
+ id TEXT PRIMARY KEY,
88
+ project_id TEXT NOT NULL,
89
+ role TEXT NOT NULL CHECK(role IN ('assistant','user','system')),
90
+ content TEXT NOT NULL,
91
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
92
+ FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
93
+ );
94
+ `);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(`
95
+ SELECT tp.task_id AS task_id, tp.content AS content, t.description AS description
96
+ FROM task_prompts tp
97
+ JOIN tasks t ON t.id = tp.task_id
98
+ WHERE tp.content IS NOT NULL AND TRIM(tp.content) <> ''
99
+ AND (t.description IS NULL OR t.description NOT LIKE '%${d}%')
100
+ `).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(`
101
+ CREATE TABLE tasks_new (
102
+ id TEXT PRIMARY KEY,
103
+ project_id TEXT NOT NULL,
104
+ sub_project_id TEXT NOT NULL,
105
+ title TEXT NOT NULL,
106
+ description TEXT NOT NULL DEFAULT '',
107
+ status TEXT NOT NULL DEFAULT 'idea'
108
+ CHECK(status IN ('idea','doing','writing','submitted','testing','done','problem')),
109
+ priority TEXT NOT NULL DEFAULT 'medium'
110
+ CHECK(priority IN ('high','medium','low')),
111
+ is_today INTEGER NOT NULL DEFAULT 0,
112
+ sort_order INTEGER NOT NULL DEFAULT 0,
113
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
114
+ updated_at TEXT NOT NULL DEFAULT (datetime('now')),
115
+ is_archived INTEGER NOT NULL DEFAULT 0,
116
+ tags TEXT NOT NULL DEFAULT '[]',
117
+ FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE,
118
+ FOREIGN KEY (sub_project_id) REFERENCES sub_projects(id) ON DELETE CASCADE
119
+ );
120
+ 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)
121
+ SELECT id, project_id, sub_project_id, title, description, status, priority, is_today, sort_order, created_at, updated_at, is_archived, tags FROM tasks;
122
+ DROP TABLE tasks;
123
+ ALTER TABLE tasks_new RENAME TO tasks;
124
+ `)}(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}},6241:(a,b,c)=>{"use strict";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=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},6487:()=>{},7228:(a,b,c)=>{"use strict";c.d(b,{G8:()=>g,NG:()=>k,VU:()=>f,bU:()=>j,en:()=>i,kh:()=>h,y4:()=>l});var d=c(5440),e=c(5359);function f(a){return(0,d.L)().prepare("SELECT * FROM sub_projects WHERE project_id = ? ORDER BY sort_order ASC").all(a)}function g(a){return(0,d.L)().prepare("SELECT * FROM sub_projects WHERE id = ?").get(a)}function h(a){let b=(0,d.L)();return b.prepare("SELECT * FROM sub_projects WHERE project_id = ? ORDER BY sort_order ASC").all(a).map(a=>{let c=b.prepare(`
2
125
  SELECT
3
126
  COUNT(*) as task_count,
4
127
  SUM(CASE WHEN status IN ('doing','submitted','testing') THEN 1 ELSE 0 END) as active_count,
@@ -12,7 +135,7 @@
12
135
  WHEN 'doing' THEN 0 WHEN 'submitted' THEN 1 WHEN 'testing' THEN 2 WHEN 'writing' THEN 3
13
136
  WHEN 'idea' THEN 4 WHEN 'problem' THEN 5 WHEN 'done' THEN 6
14
137
  END, sort_order ASC LIMIT 5`).all(a.id);return{...a,task_count:c.task_count??0,active_count:c.active_count??0,pending_count:c.pending_count??0,done_count:c.done_count??0,problem_count:c.problem_count??0,last_activity:c.last_activity,preview_tasks:d}})}function i(a){let b=(0,d.L)(),c=(0,e.$)(),f=new Date().toISOString(),h=b.prepare("SELECT MAX(sort_order) as max_order FROM sub_projects WHERE project_id = ?").get(a.project_id),i=(h?.max_order??-1)+1;return b.prepare(`INSERT INTO sub_projects (id, project_id, name, description, folder_path, sort_order, created_at, updated_at)
15
- VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run(c,a.project_id,a.name,a.description??"",a.folder_path??null,i,f,f),g(c)}function j(a,b){let c=(0,d.L)(),e=g(a);if(!e)return;let f=new Date().toISOString();return c.prepare("UPDATE sub_projects SET name = ?, description = ?, folder_path = ?, updated_at = ? WHERE id = ?").run(b.name??e.name,b.description??e.description,void 0!==b.folder_path?b.folder_path:e.folder_path,f,a),g(a)}function k(a){return(0,d.L)().prepare("DELETE FROM sub_projects WHERE id = ?").run(a).changes>0}function l(a,b){let c=(0,d.L)(),e=c.prepare("UPDATE sub_projects SET sort_order = ? WHERE id = ? AND project_id = ?");c.transaction(()=>{b.forEach((b,c)=>e.run(c,b,a))})()}},7598:a=>{a.exports=require("node:crypto")},9021:a=>{a.exports=require("fs")},9193:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>H,patchFetch:()=>G,routeModule:()=>C,serverHooks:()=>F,workAsyncStorage:()=>D,workUnitAsyncStorage:()=>E});var d={};c.r(d),c.d(d,{POST:()=>B});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(4181),x=c(7228),y=c(6241),z=c(3052),A=c(5440);async function B(a,{params:b}){await (0,A.t)();let{id:c}=await b,d=(0,y.U1)(c);if(!d)return v.NextResponse.json({error:"Project not found"},{status:404});let e=(0,w.a)(c);if(!e?.content?.trim())return v.NextResponse.json({error:"No brainstorming content"},{status:400});let f=(0,x.kh)(c),g=f.length>0?`
138
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run(c,a.project_id,a.name,a.description??"",a.folder_path??null,i,f,f),g(c)}function j(a,b){let c=(0,d.L)(),e=g(a);if(!e)return;let f=new Date().toISOString();return c.prepare("UPDATE sub_projects SET name = ?, description = ?, folder_path = ?, updated_at = ? WHERE id = ?").run(b.name??e.name,b.description??e.description,void 0!==b.folder_path?b.folder_path:e.folder_path,f,a),g(a)}function k(a){return(0,d.L)().prepare("DELETE FROM sub_projects WHERE id = ?").run(a).changes>0}function l(a,b){let c=(0,d.L)(),e=c.prepare("UPDATE sub_projects SET sort_order = ? WHERE id = ? AND project_id = ?");c.transaction(()=>{b.forEach((b,c)=>e.run(c,b,a))})()}},7598:a=>{"use strict";a.exports=require("node:crypto")},8335:()=>{},9021:a=>{"use strict";a.exports=require("fs")},9193:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>H,patchFetch:()=>G,routeModule:()=>C,serverHooks:()=>F,workAsyncStorage:()=>D,workUnitAsyncStorage:()=>E});var d={};c.r(d),c.d(d,{POST:()=>B});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(4181),x=c(7228),y=c(6241),z=c(3052),A=c(5440);async function B(a,{params:b}){await (0,A.t)();let{id:c}=await b,d=(0,y.U1)(c);if(!d)return v.NextResponse.json({error:"Project not found"},{status:404});let e=(0,w.a)(c);if(!e?.content?.trim())return v.NextResponse.json({error:"No brainstorming content"},{status:400});let f=(0,x.kh)(c),g=f.length>0?`
16
139
 
17
140
  Existing sub-projects:
18
141
  ${f.map(a=>{let b=a.preview_tasks.length>0?a.preview_tasks.map(a=>` - ${a.title} (${a.status})`).join("\n"):" (no tasks)";return` - "${a.name}" (${a.task_count} tasks)
@@ -42,4 +165,4 @@ Respond with this exact JSON structure:
42
165
  ]
43
166
  }
44
167
  ]
45
- }`;try{let a,b=d.agent_type||"claude",c=(await (0,z.J)(b,h)).trim(),e=(c=(c=c.replace(/```(?:json)?\s*\n?/gi,"").replace(/\n?```/g,"")).trim()).match(/\{\s*"distributions"\s*:\s*\[[\s\S]*\]\s*\}/),g=e?null:c.match(/\{[\s\S]*\}/),i=e?.[0]||g?.[0];if(!i)return v.NextResponse.json({error:"AI did not return valid JSON",raw:c.slice(0,500)},{status:500});try{a=JSON.parse(i)}catch{return v.NextResponse.json({error:"JSON parse failed",raw:i.slice(0,500)},{status:500})}if(!a.distributions||!Array.isArray(a.distributions))return v.NextResponse.json({error:"Invalid distribution format",raw:i.slice(0,500)},{status:500});for(let b of a.distributions)if(!b.is_new&&!b.existing_sub_id){let a=f.find(a=>a.name.toLowerCase()===b.sub_project_name.toLowerCase());a?(b.existing_sub_id=a.id,b.is_new=!1):b.is_new=!0}return v.NextResponse.json(a)}catch(b){let a=b instanceof Error?b.message:"Unknown error";return v.NextResponse.json({error:`AI call failed: ${a}`},{status:500})}}let C=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/projects/[id]/auto-distribute/route",pathname:"/api/projects/[id]/auto-distribute",filename:"route",bundlePath:"app/api/projects/[id]/auto-distribute/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/auto-distribute/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:D,workUnitAsyncStorage:E,serverHooks:F}=C;function G(){return(0,g.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:E})}async function H(a,b,c){C.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/projects/[id]/auto-distribute/route";"/index"===d&&(d="/");let e=await C.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: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||C.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===C.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)=>C.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=>C.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&&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 C.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await C.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,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",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 C.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}}},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,117],()=>b(b.s=9193));module.exports=c})();
168
+ }`;try{let a,b=d.agent_type||"claude",c=(await (0,z.J)(b,h)).trim(),e=(c=(c=c.replace(/```(?:json)?\s*\n?/gi,"").replace(/\n?```/g,"")).trim()).match(/\{\s*"distributions"\s*:\s*\[[\s\S]*\]\s*\}/),g=e?null:c.match(/\{[\s\S]*\}/),i=e?.[0]||g?.[0];if(!i)return v.NextResponse.json({error:"AI did not return valid JSON",raw:c.slice(0,500)},{status:500});try{a=JSON.parse(i)}catch{return v.NextResponse.json({error:"JSON parse failed",raw:i.slice(0,500)},{status:500})}if(!a.distributions||!Array.isArray(a.distributions))return v.NextResponse.json({error:"Invalid distribution format",raw:i.slice(0,500)},{status:500});for(let b of a.distributions)if(!b.is_new&&!b.existing_sub_id){let a=f.find(a=>a.name.toLowerCase()===b.sub_project_name.toLowerCase());a?(b.existing_sub_id=a.id,b.is_new=!1):b.is_new=!0}return v.NextResponse.json(a)}catch(b){let a=b instanceof Error?b.message:"Unknown error";return v.NextResponse.json({error:`AI call failed: ${a}`},{status:500})}}let C=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/projects/[id]/auto-distribute/route",pathname:"/api/projects/[id]/auto-distribute",filename:"route",bundlePath:"app/api/projects/[id]/auto-distribute/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/auto-distribute/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:D,workUnitAsyncStorage:E,serverHooks:F}=C;function G(){return(0,g.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:E})}async function H(a,b,c){C.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/projects/[id]/auto-distribute/route";"/index"===d&&(d="/");let e=await C.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: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||C.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===C.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)=>C.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=>C.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&&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 C.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},l=await C.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,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",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 C.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}}},9294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},9661:a=>{"use strict";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],()=>b(b.s=9193));module.exports=c})();
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/projects/[id]/auto-distribute/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}},"9768":{"*":{"id":"3543","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":9768,"name":"*","chunks":["79","static/chunks/363642f4-9eb39e0bc542c65b.js","374","static/chunks/374-769431701aab500f.js","974","static/chunks/app/page-e935ee928da68ca2.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/e4c7cd5a570312d9.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]/auto-distribute/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}},"9768":{"*":{"id":"4494","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/projects/[id]/auto-distribute/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]/auto-distribute/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 +1,124 @@
1
- "use strict";(()=>{var a={};a.id=86,a.ids=[86],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},804:(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,{GET:()=>z,PUT:()=>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(4181),x=c(6241),y=c(5440);async function z(a,{params:b}){await (0,y.t)();let{id:c}=await b;if(!(0,x.U1)(c))return v.NextResponse.json({error:"Project not found"},{status:404});let d=(0,w.a)(c);return v.NextResponse.json(d??{content:"",version:0})}async function A(a,{params:b}){await (0,y.t)();let{id:c}=await b,{content:d}=await a.json();if("string"!=typeof d)return v.NextResponse.json({error:"content is required"},{status:400});let e=(0,w.T)(c,d);return e?v.NextResponse.json(e):v.NextResponse.json({error:"Project not found"},{status:404})}let B=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/projects/[id]/brainstorm/route",pathname:"/api/projects/[id]/brainstorm",filename:"route",bundlePath:"app/api/projects/[id]/brainstorm/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/brainstorm/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]/brainstorm/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}}},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")},4181:(a,b,c)=>{c.d(b,{T:()=>f,a:()=>e});var d=c(5440);function e(a){return(0,d.L)().prepare("SELECT * FROM brainstorms WHERE project_id = ? ORDER BY version DESC LIMIT 1").get(a)}function f(a,b){let c=(0,d.L)(),f=new Date().toISOString(),g=e(a);if(g)return c.prepare("UPDATE brainstorms SET content = ?, version = version + 1, updated_at = ? WHERE id = ?").run(b,f,g.id),c.prepare("UPDATE projects SET updated_at = ? WHERE id = ?").run(f,a),e(a)}},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")},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,117],()=>b(b.s=804));module.exports=c})();
1
+ (()=>{var a={};a.id=86,a.ids=[86],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},804:(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,{GET:()=>z,PUT:()=>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(4181),x=c(6241),y=c(5440);async function z(a,{params:b}){await (0,y.t)();let{id:c}=await b;if(!(0,x.U1)(c))return v.NextResponse.json({error:"Project not found"},{status:404});let d=(0,w.a)(c);return v.NextResponse.json(d??{content:"",version:0})}async function A(a,{params:b}){await (0,y.t)();let{id:c}=await b,{content:d}=await a.json();if("string"!=typeof d)return v.NextResponse.json({error:"content is required"},{status:400});let e=(0,w.T)(c,d);return e?v.NextResponse.json(e):v.NextResponse.json({error:"Project not found"},{status:404})}let B=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/projects/[id]/brainstorm/route",pathname:"/api/projects/[id]/brainstorm",filename:"route",bundlePath:"app/api/projects/[id]/brainstorm/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/young/Toy/idea-manager/src/app/api/projects/[id]/brainstorm/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]/brainstorm/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}}},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1421:a=>{"use strict";a.exports=require("node:child_process")},1799:(a,b,c)=>{"use strict";c.d(b,{bE:()=>m,sA:()=>k});var d=c(3873),e=c.n(d),f=c(1820),g=c.n(f),h=c(9021),i=c.n(h);let j=e().join(g().homedir(),".idea-manager","data");function k(){return e().join((i().existsSync(j)||i().mkdirSync(j,{recursive:!0}),j),"im.db")}let l=e().join(g().homedir(),".idea-manager","sync");function m(){return i().existsSync(l)||i().mkdirSync(l,{recursive:!0}),l}},1820:a=>{"use strict";a.exports=require("os")},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3873:a=>{"use strict";a.exports=require("path")},4181:(a,b,c)=>{"use strict";c.d(b,{T:()=>f,a:()=>e});var d=c(5440);function e(a){return(0,d.L)().prepare("SELECT * FROM brainstorms WHERE project_id = ? ORDER BY version DESC LIMIT 1").get(a)}function f(a,b){let c=(0,d.L)(),f=new Date().toISOString(),g=e(a);if(g)return c.prepare("UPDATE brainstorms SET content = ?, version = version + 1, updated_at = ? WHERE id = ?").run(b,f,g.id),c.prepare("UPDATE projects SET updated_at = ? WHERE id = ?").run(f,a),e(a)}},4870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},5359:(a,b,c)=>{"use strict";let d,e;c.d(b,{$:()=>g});var f=c(7598);function g(){return function(a=21){var b;b=a|=0,!d||d.length<b?(d=Buffer.allocUnsafe(128*b),f.webcrypto.getRandomValues(d),e=0):e+b>d.length&&(f.webcrypto.getRandomValues(d),e=0),e+=b;let c="";for(let b=e-a;b<e;b++)c+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&d[b]];return c}(16)}},5440:(a,b,c)=>{"use strict";c.d(b,{t:()=>o,L:()=>p});var d=c(9021),e=c.n(d),f=c(1799),g=c(1421);let h=!1,i="";async function j(){let a=new Date,b=a.getHours(),c=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`;if(9===b&&i!==c)try{let a,b;await o();let d=p(),e=d.prepare("SELECT t.title, t.status, p.name as project_name FROM tasks t JOIN projects p ON t.project_id = p.id WHERE t.is_today = 1 AND t.status != 'done'").all(),f=d.prepare("SELECT COUNT(*) as count FROM tasks WHERE status IN ('submitted', 'testing')").get(),h=d.prepare("SELECT COUNT(*) as count FROM tasks WHERE status = 'problem'").get(),j=[];if(e.length>0){for(let a of(j.push(`Today: ${e.length}개`),e.slice(0,5)))j.push(` - ${a.title}`);e.length>5&&j.push(` ... +${e.length-5}개`)}else j.push("Today 태스크가 없습니다.");f.count>0&&j.push(`진행 중: ${f.count}개`),h.count>0&&j.push(`문제: ${h.count}개`),a=j.join("\n").replace(/"/g,'\\"').replace(/\n/g,"\\n"),b=`display notification "${a}" with title "IM - 오늘의 할 일"`,(0,g.exec)(`osascript -e '${b}'`,a=>{a&&console.error("[Scheduler] notification error:",a.message)}),i=c}catch(a){console.error("[Scheduler] error:",a)}}class k{constructor(a,b){this.dirty=!1,this.inTransaction=!1,this.db=a,this.dbPath=b}save(){if(!this.dirty)return;let a=this.db.export();e().writeFileSync(this.dbPath,Buffer.from(a)),this.dirty=!1}immediatelySave(){this.dirty=!0,this.inTransaction||this.save()}rowsToObjects(a,b){return b.map(b=>{let c={};return a.forEach((a,d)=>{c[a]=b[d]}),c})}prepare(a){let b=this,c=/^\s*(INSERT|UPDATE|DELETE|CREATE|ALTER|DROP)/i.test(a);return{all(...c){let d=b.db.prepare(a);c.length>0&&d.bind(c);let e=d.getColumnNames(),f=[];for(;d.step();)f.push(d.get());return d.free(),b.rowsToObjects(e,f)},get(...c){let d,e=b.db.prepare(a);if(c.length>0&&e.bind(c),e.step()){let a=e.getColumnNames(),b=e.get(),c={};a.forEach((a,d)=>{c[a]=b[d]}),d=c}return e.free(),d},run:(...d)=>(b.db.run(a,d),c&&b.immediatelySave(),{changes:b.db.getRowsModified()})}}exec(a){this.db.exec(a),/^\s*(INSERT|UPDATE|DELETE|CREATE|ALTER|DROP)/im.test(a)&&this.immediatelySave()}pragma(a){if(a.startsWith("table_info(")){let b=a.match(/table_info\((\w+)\)/)?.[1];if(!b)return[];let c=this.db.exec(`PRAGMA table_info(${b})`);return c.length?this.rowsToObjects(c[0].columns,c[0].values):[]}if(a.includes("journal_mode")||a.includes("wal_checkpoint"))return this.immediatelySave(),"memory";if(a.includes("foreign_keys")){try{this.db.run(`PRAGMA ${a}`)}catch{}return}try{let b=this.db.exec(`PRAGMA ${a}`);if(b.length>0&&b[0].values.length>0)return b[0].values[0][0]}catch{}}transaction(a){let b=this;return()=>{b.inTransaction=!0,b.db.run("BEGIN");try{let c=a();return b.db.run("COMMIT"),b.inTransaction=!1,b.immediatelySave(),c}catch(a){b.inTransaction=!1;try{b.db.run("ROLLBACK")}catch{}throw a}}}close(){this.immediatelySave(),this.db.close()}}let l=null,m=null;async function n(){let a;if(l)return l;let b=c(9661),d=await b(),g=(0,f.sA)();if(e().existsSync(g)){let b=e().readFileSync(g);a=new d.Database(b)}else a=new d.Database;return!function(a){a.exec(`
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 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
+
86
+ CREATE TABLE IF NOT EXISTS project_conversations (
87
+ id TEXT PRIMARY KEY,
88
+ project_id TEXT NOT NULL,
89
+ role TEXT NOT NULL CHECK(role IN ('assistant','user','system')),
90
+ content TEXT NOT NULL,
91
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
92
+ FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
93
+ );
94
+ `);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(`
95
+ SELECT tp.task_id AS task_id, tp.content AS content, t.description AS description
96
+ FROM task_prompts tp
97
+ JOIN tasks t ON t.id = tp.task_id
98
+ WHERE tp.content IS NOT NULL AND TRIM(tp.content) <> ''
99
+ AND (t.description IS NULL OR t.description NOT LIKE '%${d}%')
100
+ `).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(`
101
+ CREATE TABLE tasks_new (
102
+ id TEXT PRIMARY KEY,
103
+ project_id TEXT NOT NULL,
104
+ sub_project_id TEXT NOT NULL,
105
+ title TEXT NOT NULL,
106
+ description TEXT NOT NULL DEFAULT '',
107
+ status TEXT NOT NULL DEFAULT 'idea'
108
+ CHECK(status IN ('idea','doing','writing','submitted','testing','done','problem')),
109
+ priority TEXT NOT NULL DEFAULT 'medium'
110
+ CHECK(priority IN ('high','medium','low')),
111
+ is_today INTEGER NOT NULL DEFAULT 0,
112
+ sort_order INTEGER NOT NULL DEFAULT 0,
113
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
114
+ updated_at TEXT NOT NULL DEFAULT (datetime('now')),
115
+ is_archived INTEGER NOT NULL DEFAULT 0,
116
+ tags TEXT NOT NULL DEFAULT '[]',
117
+ FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE,
118
+ FOREIGN KEY (sub_project_id) REFERENCES sub_projects(id) ON DELETE CASCADE
119
+ );
120
+ 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)
121
+ SELECT id, project_id, sub_project_id, title, description, status, priority, is_today, sort_order, created_at, updated_at, is_archived, tags FROM tasks;
122
+ DROP TABLE tasks;
123
+ ALTER TABLE tasks_new RENAME TO tasks;
124
+ `)}(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}},6241:(a,b,c)=>{"use strict";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=>{"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")},9661:a=>{"use strict";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],()=>b(b.s=804));module.exports=c})();
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/projects/[id]/brainstorm/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}},"9768":{"*":{"id":"3543","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":9768,"name":"*","chunks":["79","static/chunks/363642f4-9eb39e0bc542c65b.js","374","static/chunks/374-769431701aab500f.js","974","static/chunks/app/page-e935ee928da68ca2.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/e4c7cd5a570312d9.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]/brainstorm/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}},"9768":{"*":{"id":"4494","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/projects/[id]/brainstorm/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]/brainstorm/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":{}}