neural-loom 0.2.40 → 0.2.42

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 (108) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/cache/.previewinfo +1 -1
  4. package/.next/cache/.rscinfo +1 -1
  5. package/.next/cache/.tsbuildinfo +1 -1
  6. package/.next/diagnostics/route-bundle-stats.json +2 -2
  7. package/.next/fallback-build-manifest.json +3 -3
  8. package/.next/prerender-manifest.json +3 -3
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.html +1 -1
  17. package/.next/server/app/_not-found.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  19. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  24. package/.next/server/app/api/context/aider/route.js.nft.json +1 -1
  25. package/.next/server/app/api/context/claude/route.js.nft.json +1 -1
  26. package/.next/server/app/api/context/ssh/route.js.nft.json +1 -1
  27. package/.next/server/app/api/recents/route.js.nft.json +1 -1
  28. package/.next/server/app/api/sessions/inject/route.js +1 -1
  29. package/.next/server/app/api/sessions/inject/route.js.nft.json +1 -1
  30. package/.next/server/app/api/sessions/input/route.js +1 -1
  31. package/.next/server/app/api/sessions/input/route.js.nft.json +1 -1
  32. package/.next/server/app/api/sessions/launch/route.js +1 -1
  33. package/.next/server/app/api/sessions/launch/route.js.nft.json +1 -1
  34. package/.next/server/app/api/sessions/route.js +1 -1
  35. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  36. package/.next/server/app/api/sessions/scope/route.js +1 -1
  37. package/.next/server/app/api/sessions/scope/route.js.nft.json +1 -1
  38. package/.next/server/app/api/sessions/start/route.js +1 -1
  39. package/.next/server/app/api/sessions/start/route.js.nft.json +1 -1
  40. package/.next/server/app/api/sessions/stats/route.js +1 -1
  41. package/.next/server/app/api/sessions/stats/route.js.nft.json +1 -1
  42. package/.next/server/app/api/sessions/stop/route.js +1 -1
  43. package/.next/server/app/api/sessions/stop/route.js.nft.json +1 -1
  44. package/.next/server/app/index.html +1 -1
  45. package/.next/server/app/index.rsc +3 -3
  46. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  47. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  48. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  49. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  50. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  51. package/.next/server/app/page/react-loadable-manifest.json +3 -3
  52. package/.next/server/app/page_client-reference-manifest.js +1 -1
  53. package/.next/server/chunks/[root-of-the-server]__005xmeg._.js +15 -0
  54. package/.next/server/chunks/{[root-of-the-server]__0d9_-7g._.js.map → [root-of-the-server]__005xmeg._.js.map} +1 -1
  55. package/.next/server/chunks/[root-of-the-server]__0_~zjnf._.js +15 -0
  56. package/.next/server/chunks/{[root-of-the-server]__0fhv7.1._.js.map → [root-of-the-server]__0_~zjnf._.js.map} +1 -1
  57. package/.next/server/chunks/[root-of-the-server]__0d0pykb._.js +8 -8
  58. package/.next/server/chunks/[root-of-the-server]__0d0pykb._.js.map +1 -1
  59. package/.next/server/chunks/[root-of-the-server]__0hl8jxx._.js +15 -0
  60. package/.next/server/chunks/{[root-of-the-server]__0~zauvq._.js.map → [root-of-the-server]__0hl8jxx._.js.map} +1 -1
  61. package/.next/server/chunks/[root-of-the-server]__0ho7s6e._.js +15 -0
  62. package/.next/server/chunks/{[root-of-the-server]__0-vx6-s._.js.map → [root-of-the-server]__0ho7s6e._.js.map} +1 -1
  63. package/.next/server/chunks/[root-of-the-server]__0lh_jn-._.js +15 -0
  64. package/.next/server/chunks/{[root-of-the-server]__0xr~y1f._.js.map → [root-of-the-server]__0lh_jn-._.js.map} +1 -1
  65. package/.next/server/chunks/[root-of-the-server]__0mq3k0u._.js +15 -0
  66. package/.next/server/chunks/{[root-of-the-server]__0zkcq9q._.js.map → [root-of-the-server]__0mq3k0u._.js.map} +1 -1
  67. package/.next/server/chunks/[root-of-the-server]__0rr36fm._.js +15 -0
  68. package/.next/server/chunks/{[root-of-the-server]__0qqnqov._.js.map → [root-of-the-server]__0rr36fm._.js.map} +1 -1
  69. package/.next/server/chunks/[root-of-the-server]__0xcrc-1._.js +15 -0
  70. package/.next/server/chunks/{[root-of-the-server]__0t_~on0._.js.map → [root-of-the-server]__0xcrc-1._.js.map} +1 -1
  71. package/.next/server/chunks/ssr/[root-of-the-server]__0v73tbn._.js +1 -1
  72. package/.next/server/chunks/ssr/[root-of-the-server]__0v73tbn._.js.map +1 -1
  73. package/.next/server/chunks/ssr/_0t7oqy6._.js +1 -1
  74. package/.next/server/chunks/ssr/_0t7oqy6._.js.map +1 -1
  75. package/.next/server/middleware-build-manifest.js +3 -3
  76. package/.next/server/pages/404.html +1 -1
  77. package/.next/server/pages/500.html +1 -1
  78. package/.next/server/server-reference-manifest.js +1 -1
  79. package/.next/server/server-reference-manifest.json +1 -1
  80. package/.next/static/chunks/{0x__nd4avi0fg.js → 070hz362~_h8n.js} +1 -1
  81. package/.next/static/chunks/0bclk7hf35ac4.js +1 -0
  82. package/.next/static/chunks/17jifiroq0_q..js +1 -0
  83. package/.next/trace +1 -1
  84. package/.next/trace-build +1 -1
  85. package/package.json +1 -1
  86. package/src/app/components/IdeLayout.tsx +500 -25
  87. package/src/app/components/TerminalConsole.tsx +2 -2
  88. package/src/app/layout.tsx +0 -1
  89. package/src/app/page.tsx +12 -4
  90. package/src/lib/agents/AiderRunner.ts +8 -8
  91. package/src/lib/agents/ClaudeRunner.ts +43 -18
  92. package/src/lib/agents/DockerRunner.ts +1 -3
  93. package/src/lib/agents/SSHRunner.ts +1 -3
  94. package/src/lib/agents/ShellRunner.ts +1 -3
  95. package/src/lib/agents/WebSocketServer.ts +20 -13
  96. package/.next/server/chunks/[root-of-the-server]__0-vx6-s._.js +0 -15
  97. package/.next/server/chunks/[root-of-the-server]__0d9_-7g._.js +0 -15
  98. package/.next/server/chunks/[root-of-the-server]__0fhv7.1._.js +0 -15
  99. package/.next/server/chunks/[root-of-the-server]__0qqnqov._.js +0 -15
  100. package/.next/server/chunks/[root-of-the-server]__0t_~on0._.js +0 -15
  101. package/.next/server/chunks/[root-of-the-server]__0xr~y1f._.js +0 -15
  102. package/.next/server/chunks/[root-of-the-server]__0zkcq9q._.js +0 -15
  103. package/.next/server/chunks/[root-of-the-server]__0~zauvq._.js +0 -15
  104. package/.next/static/chunks/07-tub5vqy.fk.js +0 -1
  105. package/.next/static/chunks/0wq3_34inbzj6.js +0 -1
  106. /package/.next/static/{5uGIuH8oXybqivkeHIrqb → KK9yy3Qq3Z7N_cZVRK4cc}/_buildManifest.js +0 -0
  107. /package/.next/static/{5uGIuH8oXybqivkeHIrqb → KK9yy3Qq3Z7N_cZVRK4cc}/_clientMiddlewareManifest.js +0 -0
  108. /package/.next/static/{5uGIuH8oXybqivkeHIrqb → KK9yy3Qq3Z7N_cZVRK4cc}/_ssgManifest.js +0 -0
@@ -1,13 +1,13 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
+ import os from "os";
4
+ import { execSync } from "child_process";
3
5
  import type { IPty } from "node-pty";
4
6
  import { AgentRunner, RunnerStatus } from "./AgentRunner";
5
7
  import { SessionPersister } from "./SessionPersister";
6
8
 
7
9
  function isWindows(): boolean {
8
- if (typeof process === "undefined") return false;
9
- const key = Object.keys(process).find(k => k.startsWith("plat") && k.endsWith("form"));
10
- return !!key && (process as unknown as Record<string, unknown>)[key] === "win32";
10
+ return typeof process !== "undefined" && process.platform === "win32";
11
11
  }
12
12
 
13
13
  function findGitBash(): string | null {
@@ -60,12 +60,14 @@ export class ClaudeRunner extends AgentRunner {
60
60
  if (this.status === 'running') return;
61
61
 
62
62
  // Detect Git Bash on Windows
63
- const bashPath = findGitBash();
64
- if (!bashPath) {
63
+ const useCmd = isWindows();
64
+ const shellPath = useCmd ? (process.env.COMSPEC || "cmd.exe") : findGitBash();
65
+ if (!shellPath) {
65
66
  this.status = 'stopped';
66
- this.appendLog("\x1b[1;31m[System Error] Git Bash not found. Please install Git for Windows.\x1b[0m\r\n");
67
+ this.appendLog("\x1b[1;31m[System Error] Shell not found. Cannot spawn terminal.\x1b[0m\r\n");
67
68
  return;
68
69
  }
70
+ const shellArgs = useCmd ? ["/c"] : ["-c"];
69
71
 
70
72
  try {
71
73
  // Dynamic import to prevent bundler SSR/Turbopack errors on server start
@@ -96,24 +98,47 @@ export class ClaudeRunner extends AgentRunner {
96
98
  }
97
99
  }
98
100
 
99
- const claudeCmd = `claude ${extraFlags}`.trim();
101
+ // Setup process environment with injected keys
102
+ const customEnv = {
103
+ ...process.env,
104
+ TERM: "xterm-256color",
105
+ COLORTERM: "truecolor",
106
+ } as NodeJS.ProcessEnv;
107
+
108
+ if (isWindows()) {
109
+ const vsNode = "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Microsoft\\VisualStudio\\NodeJs";
110
+ const localNpm = path.join(os.homedir(), "AppData", "Local", "npm");
111
+ const existingPath = process.env.Path || process.env.PATH || "";
112
+ const winPath = [vsNode, localNpm, existingPath].filter(Boolean).join(";");
113
+
114
+ for (const key of Object.keys(customEnv)) {
115
+ if (key.toLowerCase() === "path") {
116
+ delete customEnv[key];
117
+ }
118
+ }
119
+ customEnv.Path = winPath;
120
+ customEnv.PATH = winPath;
121
+ }
122
+
123
+ // Check if 'claude' command exists in PATH, fallback to npx if not
124
+ let baseCmd = "claude";
125
+ try {
126
+ const checkCmd = isWindows() ? "where.exe claude" : "which claude";
127
+ execSync(checkCmd, { env: customEnv, stdio: "ignore" });
128
+ } catch {
129
+ baseCmd = "npx -y @anthropic-ai/claude-code";
130
+ }
131
+
132
+ const claudeCmd = `${baseCmd} ${extraFlags}`.trim();
100
133
  this.appendLog(`[System] Spawning command: ${claudeCmd}\r\n`);
101
134
 
102
- // Spawn bash and run 'claude' command
103
- this.ptyProcess = this.ptyModule!.spawn(bashPath, ["-c", claudeCmd], {
135
+ // Spawn shell and run 'claude' command
136
+ this.ptyProcess = this.ptyModule!.spawn(shellPath, [...shellArgs, claudeCmd], {
104
137
  name: "xterm-256color",
105
138
  cols: 120,
106
139
  rows: 30,
107
140
  cwd: targetCwd,
108
- env: {
109
- ...process.env,
110
- TERM: "xterm-256color",
111
- COLORTERM: "truecolor",
112
- // Inject custom path just in case child processes need Visual Studio Node on Windows
113
- ...(isWindows() ? {
114
- PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Microsoft\\VisualStudio\\NodeJs;" + process.env.PATH
115
- } : {})
116
- },
141
+ env: customEnv,
117
142
  });
118
143
 
119
144
  // Capture output
@@ -5,9 +5,7 @@ import { AgentRunner, RunnerStatus } from "./AgentRunner";
5
5
  import { SessionPersister } from "./SessionPersister";
6
6
 
7
7
  function isWindows(): boolean {
8
- if (typeof process === "undefined") return false;
9
- const key = Object.keys(process).find(k => k.startsWith("plat") && k.endsWith("form"));
10
- return !!key && (process as unknown as Record<string, unknown>)[key] === "win32";
8
+ return typeof process !== "undefined" && process.platform === "win32";
11
9
  }
12
10
 
13
11
  function findGitBash(): string | null {
@@ -5,9 +5,7 @@ import { AgentRunner, RunnerStatus } from "./AgentRunner";
5
5
  import { SessionPersister } from "./SessionPersister";
6
6
 
7
7
  function isWindows(): boolean {
8
- if (typeof process === "undefined") return false;
9
- const key = Object.keys(process).find(k => k.startsWith("plat") && k.endsWith("form"));
10
- return !!key && (process as unknown as Record<string, unknown>)[key] === "win32";
8
+ return typeof process !== "undefined" && process.platform === "win32";
11
9
  }
12
10
 
13
11
  function findGitBash(): string | null {
@@ -4,9 +4,7 @@ import type { IPty } from "node-pty";
4
4
  import { AgentRunner, RunnerStatus } from "./AgentRunner";
5
5
 
6
6
  function isWindows(): boolean {
7
- if (typeof process === "undefined") return false;
8
- const key = Object.keys(process).find(k => k.startsWith("plat") && k.endsWith("form"));
9
- return !!key && (process as unknown as Record<string, unknown>)[key] === "win32";
7
+ return typeof process !== "undefined" && process.platform === "win32";
10
8
  }
11
9
 
12
10
  function findGitBash(): string | null {
@@ -44,11 +44,9 @@ export function initWebSocketServer(port = 3001, getSession?: (id: string) => Ag
44
44
  console.log(`[WebSocketServer] WebSocket gateway successfully listening on port ${currentPort}.`);
45
45
  });
46
46
 
47
- wss.on("connection", (ws: WebSocket & { sessionId?: string }) => {
47
+ wss.on("connection", (ws: WebSocket & { sessionId?: string; outputListener?: (data: string) => void }) => {
48
48
  console.log("[WebSocketServer] New client connected via gateway.");
49
49
 
50
- let activeSessionId: string | null = null;
51
- let outputListener: ((data: string) => void) | null = null;
52
50
  let mockBuffer = "";
53
51
 
54
52
  ws.on("message", async (rawMsg) => {
@@ -58,20 +56,29 @@ export function initWebSocketServer(port = 3001, getSession?: (id: string) => Ag
58
56
  // Client handshake to establish connection to a specific session
59
57
  if (msg.type === "handshake") {
60
58
  const { sessionId } = msg;
59
+
60
+ // Clean up previous registration for this connection if it exists
61
+ if (ws.sessionId && ws.outputListener) {
62
+ const oldSession = getSessionCallback ? getSessionCallback(ws.sessionId) : null;
63
+ if (oldSession) {
64
+ oldSession.offOutput(ws.outputListener);
65
+ }
66
+ }
67
+
61
68
  const session = getSessionCallback ? getSessionCallback(sessionId) : null;
62
69
 
63
70
  if (session) {
64
- activeSessionId = sessionId;
65
71
  ws.sessionId = sessionId;
66
72
  console.log(`[WebSocketServer] Client connected to active session: ${sessionId}`);
67
73
 
68
74
  // Subscribe to runner output events
69
- outputListener = (data: string) => {
75
+ const listener = (data: string) => {
70
76
  if (ws.readyState === WebSocket.OPEN) {
71
77
  ws.send(JSON.stringify({ type: "output", data }));
72
78
  }
73
79
  };
74
- session.onOutput(outputListener);
80
+ ws.outputListener = listener;
81
+ session.onOutput(listener);
75
82
 
76
83
  // Send handshake acknowledgment and full historical logs
77
84
  ws.send(
@@ -87,8 +94,8 @@ export function initWebSocketServer(port = 3001, getSession?: (id: string) => Ag
87
94
  }
88
95
 
89
96
  // User terminal input routing
90
- if (msg.type === "input" && activeSessionId) {
91
- const session = getSessionCallback ? getSessionCallback(activeSessionId) : null;
97
+ if (msg.type === "input" && ws.sessionId) {
98
+ const session = getSessionCallback ? getSessionCallback(ws.sessionId) : null;
92
99
  if (session && session.status === "running") {
93
100
  if (session.type === "mock") {
94
101
  // Buffer input for simulated command parsing in MockRunner
@@ -115,9 +122,9 @@ export function initWebSocketServer(port = 3001, getSession?: (id: string) => Ag
115
122
  }
116
123
 
117
124
  // User terminal resize routing
118
- if (msg.type === "resize" && activeSessionId) {
125
+ if (msg.type === "resize" && ws.sessionId) {
119
126
  const { cols, rows } = msg;
120
- const session = getSessionCallback ? getSessionCallback(activeSessionId) : null;
127
+ const session = getSessionCallback ? getSessionCallback(ws.sessionId) : null;
121
128
  if (session) {
122
129
  session.resize(cols, rows);
123
130
  }
@@ -128,10 +135,10 @@ export function initWebSocketServer(port = 3001, getSession?: (id: string) => Ag
128
135
  });
129
136
 
130
137
  ws.on("close", () => {
131
- if (activeSessionId && outputListener) {
132
- const session = getSessionCallback ? getSessionCallback(activeSessionId) : null;
138
+ if (ws.sessionId && ws.outputListener) {
139
+ const session = getSessionCallback ? getSessionCallback(ws.sessionId) : null;
133
140
  if (session) {
134
- session.offOutput(outputListener);
141
+ session.offOutput(ws.outputListener);
135
142
  }
136
143
  }
137
144
  console.log("[WebSocketServer] Client connection closed.");
@@ -1,15 +0,0 @@
1
- module.exports=[24417,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["getWorkspaceFileFolders",0,function(e){try{if(!e||!t.default.existsSync(e))return[];let a=r.default.resolve(e).replace(/\\/g,"/"),s=t.default.readdirSync(a).find(e=>e.endsWith(".code-workspace"));if(!s)return[];let n=r.default.join(a,s),i=t.default.readFileSync(n,"utf8"),o=JSON.parse(i);if(!o.folders||!Array.isArray(o.folders))return[];let l=[];for(let e of o.folders)if(e.path){let s=r.default.resolve(a,e.path).replace(/\\/g,"/");s!==a&&t.default.existsSync(s)&&l.push(s)}return l}catch(e){return console.error("[WorkspaceParser] Failed to parse code-workspace file:",e),[]}}])},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},46619,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["ContextManager",0,class{static get workspaceRoot(){return process.env.ORIGINAL_CWD||process.cwd()}static ensureDirs(e){let a=r.default.join(e,".ai","neural-loom");t.default.existsSync(a)||t.default.mkdirSync(a,{recursive:!0});let s=r.default.join(e,".claude","commands");t.default.existsSync(s)||t.default.mkdirSync(s,{recursive:!0})}static initializeStaging(e=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(e);let a=r.default.join(e,".claude","commands","ccp.md");t.default.existsSync(a)||t.default.writeFileSync(a,"Read the prompt from .ai/neural-loom/cprompt.md and execute it. This is a staged prompt from the NeuralLoom UI. Treat the contents as user instructions.\n");let s=r.default.join(e,".claude","commands","ccc.md");t.default.existsSync(s)||t.default.writeFileSync(s,"Read the context from .ai/neural-loom/ccontext.md. This is persistent context from the NeuralLoom UI. Absorb it as background information for this session. Acknowledge briefly what you received.\n")}static updatePrompt(e,a=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(a);let s=r.default.join(a,".ai","neural-loom","cprompt.md");t.default.writeFileSync(s,e)}static updateContext(e,a=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(a);let s=r.default.join(a,".ai","neural-loom","ccontext.md");t.default.writeFileSync(s,e)}static updateRules(e,a=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(a);let s=r.default.join(a,"AGENTS.md");t.default.writeFileSync(s,e,"utf8")}static loadPrompt(e=process.env.ORIGINAL_CWD||process.cwd()){let a=r.default.join(e,".ai","neural-loom","cprompt.md");return t.default.existsSync(a)?t.default.readFileSync(a,"utf8"):""}static loadRules(e=process.env.ORIGINAL_CWD||process.cwd()){let a=r.default.join(e,"AGENTS.md");return t.default.existsSync(a)?t.default.readFileSync(a,"utf8"):""}static compileGlobalRules(){this.compileSessionContext()}static compileSessionContext(e=process.env.ORIGINAL_CWD||process.cwd(),a){this.ensureDirs(e),this.initializeStaging(e);let s=r.default.join(e,"AGENTS.md"),n="";if(t.default.existsSync(s))n=t.default.readFileSync(s,"utf8");else{let e=r.default.join(this.workspaceRoot,"AGENTS.md");t.default.existsSync(e)&&(n=t.default.readFileSync(e,"utf8"))}let i=`## Workspace Root Map (${e}):
2
- ${this.generateProjectMapFor(e)}`;a&&Array.isArray(a)&&a.forEach(e=>{t.default.existsSync(e)&&(i+=`
3
-
4
- ## Scoped Directory Map (${e}):
5
- ${this.generateProjectMapFor(e)}`)});let o=`# System Rules & Guidelines
6
-
7
- ${n}
8
-
9
- # Project File Hierarchy Map
10
-
11
- ${i}`;this.updateContext(o,e);let l=r.default.join(e,".ai","neural-loom","cprompt.md");t.default.existsSync(l)||t.default.writeFileSync(l,"Hello! Please review the project context (/ccc) and check for any tasks to execute.")}static generateProjectMapFor(e){try{let a=(e,s=0)=>{if(s>2)return"";let n="";for(let i of t.default.readdirSync(e,{withFileTypes:!0})){if(i.name.startsWith(".")||"node_modules"===i.name||"out"===i.name||".next"===i.name)continue;let t=" ".repeat(s);i.isDirectory()?(n+=`${t}- [Dir] ${i.name}/
12
- `,n+=a(r.default.join(e,i.name),s+1)):n+=`${t}- [File] ${i.name}
13
- `}return n};return a(e)}catch(e){return"Error generating project map: "+(e instanceof Error?e.message:String(e))}}}])},74961,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),c=e.i(95169),u=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(26937),m=e.i(10372),x=e.i(93695);e.i(52474);var R=e.i(220),y=e.i(89171),v=e.i(29307);async function g(e){try{let{id:t}=await e.json();if(!t)return y.NextResponse.json({error:"Missing required field 'id'."},{status:400});let r=v.SessionManager.getInstance(),a=await r.startSession(t);return y.NextResponse.json({success:a})}catch(t){let e=t instanceof Error?t.message:"Unknown error";return y.NextResponse.json({error:e},{status:500})}}e.s(["POST",0,g],52453);var w=e.i(52453);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/sessions/start/route",pathname:"/api/sessions/start",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/sessions/start/route.ts",nextConfigOutput:"",userland:w,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:A,serverHooks:E}=S;async function N(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/sessions/start/route";y=y.replace(/\/index$/,"")||"/";let v=await S.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:g,deploymentId:w,params:C,nextConfig:A,parsedUrl:E,isDraftMode:N,prerenderManifest:j,routerServerContext:k,isOnDemandRevalidate:I,revalidateOnlyGenerated:b,resolvedPathname:T,clientReferenceManifest:P,serverActionsManifest:_}=v,O=(0,o.normalizeAppPath)(y),D=!!(j.dynamicRoutes[O]||j.routes[T]),q=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,E,!1):t.end("This page could not be found"),null);if(D&&!N){let e=!!j.routes[T],t=j.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await q();throw new x.NoFallbackError}}let F=null;!D||S.isDev||N||(F="/index"===(F=T)?"/":F);let M=!0===S.isDev||!D,H=D&&!M;_&&P&&(0,i.setManifestsSingleton)({page:y,clientReferenceManifest:P,serverActionsManifest:_});let U=e.method||"GET",$=(0,n.getTracer)(),G=$.getActiveScopeSpan(),W=!!(null==k?void 0:k.isWrappedByNextServer),L=!!(0,s.getRequestMeta)(e,"minimalMode"),K=(0,s.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,A,j,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let B={params:C,previewProps:j.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:M,incrementalCache:K,cacheLifeProfiles:A.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>S.onRequestError(e,t,a,s,k)},sharedContext:{buildId:g,deploymentId:w}},z=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>S.handle(X,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${U} ${y}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&I&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=B.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(z,V,n,B.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:I})},!1,k),t}},d=await S.handleResponse({req:e,nextConfig:A,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:b,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!D)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",I?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&D||c.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(z,V,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};W&&G?await o(G):(s=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(c.BaseServerSpan.handleRequest,{spanName:`${U} ${y}`,kind:n.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},o),void 0,!W))}catch(t){if(t instanceof x.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:I})},!1,k),D)throw t;return await (0,p.sendResponse)(z,V,new Response(null,{status:500})),null}}e.s(["handler",0,N,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:A})},"routeModule",0,S,"serverHooks",0,E,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,A],74961)}];
14
-
15
- //# sourceMappingURL=%5Broot-of-the-server%5D__0-vx6-s._.js.map
@@ -1,15 +0,0 @@
1
- module.exports=[24417,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["getWorkspaceFileFolders",0,function(e){try{if(!e||!t.default.existsSync(e))return[];let s=r.default.resolve(e).replace(/\\/g,"/"),a=t.default.readdirSync(s).find(e=>e.endsWith(".code-workspace"));if(!a)return[];let n=r.default.join(s,a),o=t.default.readFileSync(n,"utf8"),i=JSON.parse(o);if(!i.folders||!Array.isArray(i.folders))return[];let l=[];for(let e of i.folders)if(e.path){let a=r.default.resolve(s,e.path).replace(/\\/g,"/");a!==s&&t.default.existsSync(a)&&l.push(a)}return l}catch(e){return console.error("[WorkspaceParser] Failed to parse code-workspace file:",e),[]}}])},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},46619,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["ContextManager",0,class{static get workspaceRoot(){return process.env.ORIGINAL_CWD||process.cwd()}static ensureDirs(e){let s=r.default.join(e,".ai","neural-loom");t.default.existsSync(s)||t.default.mkdirSync(s,{recursive:!0});let a=r.default.join(e,".claude","commands");t.default.existsSync(a)||t.default.mkdirSync(a,{recursive:!0})}static initializeStaging(e=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(e);let s=r.default.join(e,".claude","commands","ccp.md");t.default.existsSync(s)||t.default.writeFileSync(s,"Read the prompt from .ai/neural-loom/cprompt.md and execute it. This is a staged prompt from the NeuralLoom UI. Treat the contents as user instructions.\n");let a=r.default.join(e,".claude","commands","ccc.md");t.default.existsSync(a)||t.default.writeFileSync(a,"Read the context from .ai/neural-loom/ccontext.md. This is persistent context from the NeuralLoom UI. Absorb it as background information for this session. Acknowledge briefly what you received.\n")}static updatePrompt(e,s=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(s);let a=r.default.join(s,".ai","neural-loom","cprompt.md");t.default.writeFileSync(a,e)}static updateContext(e,s=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(s);let a=r.default.join(s,".ai","neural-loom","ccontext.md");t.default.writeFileSync(a,e)}static updateRules(e,s=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(s);let a=r.default.join(s,"AGENTS.md");t.default.writeFileSync(a,e,"utf8")}static loadPrompt(e=process.env.ORIGINAL_CWD||process.cwd()){let s=r.default.join(e,".ai","neural-loom","cprompt.md");return t.default.existsSync(s)?t.default.readFileSync(s,"utf8"):""}static loadRules(e=process.env.ORIGINAL_CWD||process.cwd()){let s=r.default.join(e,"AGENTS.md");return t.default.existsSync(s)?t.default.readFileSync(s,"utf8"):""}static compileGlobalRules(){this.compileSessionContext()}static compileSessionContext(e=process.env.ORIGINAL_CWD||process.cwd(),s){this.ensureDirs(e),this.initializeStaging(e);let a=r.default.join(e,"AGENTS.md"),n="";if(t.default.existsSync(a))n=t.default.readFileSync(a,"utf8");else{let e=r.default.join(this.workspaceRoot,"AGENTS.md");t.default.existsSync(e)&&(n=t.default.readFileSync(e,"utf8"))}let o=`## Workspace Root Map (${e}):
2
- ${this.generateProjectMapFor(e)}`;s&&Array.isArray(s)&&s.forEach(e=>{t.default.existsSync(e)&&(o+=`
3
-
4
- ## Scoped Directory Map (${e}):
5
- ${this.generateProjectMapFor(e)}`)});let i=`# System Rules & Guidelines
6
-
7
- ${n}
8
-
9
- # Project File Hierarchy Map
10
-
11
- ${o}`;this.updateContext(i,e);let l=r.default.join(e,".ai","neural-loom","cprompt.md");t.default.existsSync(l)||t.default.writeFileSync(l,"Hello! Please review the project context (/ccc) and check for any tasks to execute.")}static generateProjectMapFor(e){try{let s=(e,a=0)=>{if(a>2)return"";let n="";for(let o of t.default.readdirSync(e,{withFileTypes:!0})){if(o.name.startsWith(".")||"node_modules"===o.name||"out"===o.name||".next"===o.name)continue;let t=" ".repeat(a);o.isDirectory()?(n+=`${t}- [Dir] ${o.name}/
12
- `,n+=s(r.default.join(e,o.name),a+1)):n+=`${t}- [File] ${o.name}
13
- `}return n};return s(e)}catch(e){return"Error generating project map: "+(e instanceof Error?e.message:String(e))}}}])},85427,e=>{"use strict";var t=e.i(22734),r=e.i(14747);let s=r.default.join(process.env.ORIGINAL_CWD||process.cwd(),".ai","neural-loom"),a=r.default.join(s,"recents.json");function n(){t.default.existsSync(s)||t.default.mkdirSync(s,{recursive:!0})}function o(){if(t.default.existsSync(a))try{let e=JSON.parse(t.default.readFileSync(a,"utf8"));return{workspaces:Array.isArray(e.workspaces)?e.workspaces:[],scopes:Array.isArray(e.scopes)?e.scopes:[],lastSession:e.lastSession||null}}catch(e){console.error("[Recents] Failed to parse recents.json:",e)}return{workspaces:[],scopes:[],lastSession:null}}e.s(["addRecent",0,function(e,s){if(!s)return;let i=r.default.resolve(s).replace(/\\/g,"/");if(!t.default.existsSync(i))return;let l=o();"workspace"===e?l.workspaces=[i,...l.workspaces.filter(e=>e!==i)].slice(0,10):"scope"===e&&(l.scopes=[i,...l.scopes.filter(e=>e!==i)].slice(0,15));try{n(),t.default.writeFileSync(a,JSON.stringify(l,null,2),"utf8")}catch(e){console.error("[Recents] Failed to write recents.json:",e)}},"loadRecents",0,o,"saveLastSession",0,function(e){let r=o();r.lastSession=e;try{n(),t.default.writeFileSync(a,JSON.stringify(r,null,2),"utf8")}catch(e){console.error("[Recents] Failed to write recents.json:",e)}}])},99762,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(26937),m=e.i(10372),x=e.i(93695);e.i(52474);var y=e.i(220),R=e.i(89171),v=e.i(29307),w=e.i(85427);async function S(e){try{let{type:t,name:r,workspaceRoot:s,scopedDirs:a}=await e.json(),n=["mock","claude","claude-docker","claude-ssh","aider","aider-docker"];if(!t||!n.includes(t))return R.NextResponse.json({error:`Invalid type. Must be one of: ${n.join(", ")}`},{status:400});let o=v.SessionManager.getInstance(),i=await o.createSession(t,r,s,a);if((0,w.saveLastSession)({type:t,name:r,workspaceRoot:s,scopedDirs:a}),s&&(0,w.addRecent)("workspace",s),a&&Array.isArray(a))for(let e of a)(0,w.addRecent)("scope",e);return R.NextResponse.json({success:!0,session:i.getStatus()})}catch(t){let e=t instanceof Error?t.message:"Unknown error";return R.NextResponse.json({error:e},{status:500})}}e.s(["POST",0,S],7233);var g=e.i(7233);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/sessions/launch/route",pathname:"/api/sessions/launch",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/sessions/launch/route.ts",nextConfigOutput:"",userland:g,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:E,serverHooks:j}=A;async function k(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),A.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/sessions/launch/route";R=R.replace(/\/index$/,"")||"/";let v=await A.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:w,deploymentId:S,params:g,nextConfig:C,parsedUrl:E,isDraftMode:j,prerenderManifest:k,routerServerContext:N,isOnDemandRevalidate:I,revalidateOnlyGenerated:b,resolvedPathname:O,clientReferenceManifest:F,serverActionsManifest:T}=v,_=(0,i.normalizeAppPath)(R),P=!!(k.dynamicRoutes[_]||k.routes[O]),D=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,E,!1):t.end("This page could not be found"),null);if(P&&!j){let e=!!k.routes[O],t=k.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await D();throw new x.NoFallbackError}}let q=null;!P||A.isDev||j||(q="/index"===(q=O)?"/":q);let M=!0===A.isDev||!P,$=P&&!M;T&&F&&(0,o.setManifestsSingleton)({page:R,clientReferenceManifest:F,serverActionsManifest:T});let H=e.method||"GET",U=(0,n.getTracer)(),G=U.getActiveScopeSpan(),L=!!(null==N?void 0:N.isWrappedByNextServer),W=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,C,k,W);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let B={params:g,previewProps:k.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:M,incrementalCache:K,cacheLifeProfiles:C.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>A.onRequestError(e,t,s,a,N)},sharedContext:{buildId:w,deploymentId:S}},J=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(J,(0,c.signalFromNodeResponse)(t));try{let a,o=async e=>A.handle(V,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${H} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",s),a.updateName(t))}else e.updateName(`${H} ${R}`)}),i=async a=>{var n,i;let l=async({previousCacheEntry:r})=>{try{if(!W&&I&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(a);e.fetchMetrics=B.renderOpts.fetchMetrics;let i=B.renderOpts.pendingWaitUntil;i&&s.waitUntil&&(s.waitUntil(i),i=void 0);let l=B.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(J,z,n,B.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,s=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:I})},!1,N),t}},c=await A.handleResponse({req:e,nextConfig:C,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:b,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:W});if(!P)return null;if((null==c||null==(n=c.value)?void 0:n.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(i=c.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",I?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return W&&P||u.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,h.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(J,z,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};L&&G?await i(G):(a=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${R}`,kind:n.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},i),void 0,!L))}catch(t){if(t instanceof x.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:I})},!1,N),P)throw t;return await (0,p.sendResponse)(J,z,new Response(null,{status:500})),null}}e.s(["handler",0,k,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:E})},"routeModule",0,A,"serverHooks",0,j,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,E],99762)}];
14
-
15
- //# sourceMappingURL=%5Broot-of-the-server%5D__0d9_-7g._.js.map
@@ -1,15 +0,0 @@
1
- module.exports=[24417,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["getWorkspaceFileFolders",0,function(e){try{if(!e||!t.default.existsSync(e))return[];let s=r.default.resolve(e).replace(/\\/g,"/"),a=t.default.readdirSync(s).find(e=>e.endsWith(".code-workspace"));if(!a)return[];let n=r.default.join(s,a),o=t.default.readFileSync(n,"utf8"),i=JSON.parse(o);if(!i.folders||!Array.isArray(i.folders))return[];let l=[];for(let e of i.folders)if(e.path){let a=r.default.resolve(s,e.path).replace(/\\/g,"/");a!==s&&t.default.existsSync(a)&&l.push(a)}return l}catch(e){return console.error("[WorkspaceParser] Failed to parse code-workspace file:",e),[]}}])},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},46619,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["ContextManager",0,class{static get workspaceRoot(){return process.env.ORIGINAL_CWD||process.cwd()}static ensureDirs(e){let s=r.default.join(e,".ai","neural-loom");t.default.existsSync(s)||t.default.mkdirSync(s,{recursive:!0});let a=r.default.join(e,".claude","commands");t.default.existsSync(a)||t.default.mkdirSync(a,{recursive:!0})}static initializeStaging(e=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(e);let s=r.default.join(e,".claude","commands","ccp.md");t.default.existsSync(s)||t.default.writeFileSync(s,"Read the prompt from .ai/neural-loom/cprompt.md and execute it. This is a staged prompt from the NeuralLoom UI. Treat the contents as user instructions.\n");let a=r.default.join(e,".claude","commands","ccc.md");t.default.existsSync(a)||t.default.writeFileSync(a,"Read the context from .ai/neural-loom/ccontext.md. This is persistent context from the NeuralLoom UI. Absorb it as background information for this session. Acknowledge briefly what you received.\n")}static updatePrompt(e,s=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(s);let a=r.default.join(s,".ai","neural-loom","cprompt.md");t.default.writeFileSync(a,e)}static updateContext(e,s=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(s);let a=r.default.join(s,".ai","neural-loom","ccontext.md");t.default.writeFileSync(a,e)}static updateRules(e,s=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(s);let a=r.default.join(s,"AGENTS.md");t.default.writeFileSync(a,e,"utf8")}static loadPrompt(e=process.env.ORIGINAL_CWD||process.cwd()){let s=r.default.join(e,".ai","neural-loom","cprompt.md");return t.default.existsSync(s)?t.default.readFileSync(s,"utf8"):""}static loadRules(e=process.env.ORIGINAL_CWD||process.cwd()){let s=r.default.join(e,"AGENTS.md");return t.default.existsSync(s)?t.default.readFileSync(s,"utf8"):""}static compileGlobalRules(){this.compileSessionContext()}static compileSessionContext(e=process.env.ORIGINAL_CWD||process.cwd(),s){this.ensureDirs(e),this.initializeStaging(e);let a=r.default.join(e,"AGENTS.md"),n="";if(t.default.existsSync(a))n=t.default.readFileSync(a,"utf8");else{let e=r.default.join(this.workspaceRoot,"AGENTS.md");t.default.existsSync(e)&&(n=t.default.readFileSync(e,"utf8"))}let o=`## Workspace Root Map (${e}):
2
- ${this.generateProjectMapFor(e)}`;s&&Array.isArray(s)&&s.forEach(e=>{t.default.existsSync(e)&&(o+=`
3
-
4
- ## Scoped Directory Map (${e}):
5
- ${this.generateProjectMapFor(e)}`)});let i=`# System Rules & Guidelines
6
-
7
- ${n}
8
-
9
- # Project File Hierarchy Map
10
-
11
- ${o}`;this.updateContext(i,e);let l=r.default.join(e,".ai","neural-loom","cprompt.md");t.default.existsSync(l)||t.default.writeFileSync(l,"Hello! Please review the project context (/ccc) and check for any tasks to execute.")}static generateProjectMapFor(e){try{let s=(e,a=0)=>{if(a>2)return"";let n="";for(let o of t.default.readdirSync(e,{withFileTypes:!0})){if(o.name.startsWith(".")||"node_modules"===o.name||"out"===o.name||".next"===o.name)continue;let t=" ".repeat(a);o.isDirectory()?(n+=`${t}- [Dir] ${o.name}/
12
- `,n+=s(r.default.join(e,o.name),a+1)):n+=`${t}- [File] ${o.name}
13
- `}return n};return s(e)}catch(e){return"Error generating project map: "+(e instanceof Error?e.message:String(e))}}}])},85427,e=>{"use strict";var t=e.i(22734),r=e.i(14747);let s=r.default.join(process.env.ORIGINAL_CWD||process.cwd(),".ai","neural-loom"),a=r.default.join(s,"recents.json");function n(){t.default.existsSync(s)||t.default.mkdirSync(s,{recursive:!0})}function o(){if(t.default.existsSync(a))try{let e=JSON.parse(t.default.readFileSync(a,"utf8"));return{workspaces:Array.isArray(e.workspaces)?e.workspaces:[],scopes:Array.isArray(e.scopes)?e.scopes:[],lastSession:e.lastSession||null}}catch(e){console.error("[Recents] Failed to parse recents.json:",e)}return{workspaces:[],scopes:[],lastSession:null}}e.s(["addRecent",0,function(e,s){if(!s)return;let i=r.default.resolve(s).replace(/\\/g,"/");if(!t.default.existsSync(i))return;let l=o();"workspace"===e?l.workspaces=[i,...l.workspaces.filter(e=>e!==i)].slice(0,10):"scope"===e&&(l.scopes=[i,...l.scopes.filter(e=>e!==i)].slice(0,15));try{n(),t.default.writeFileSync(a,JSON.stringify(l,null,2),"utf8")}catch(e){console.error("[Recents] Failed to write recents.json:",e)}},"loadRecents",0,o,"saveLastSession",0,function(e){let r=o();r.lastSession=e;try{n(),t.default.writeFileSync(a,JSON.stringify(r,null,2),"utf8")}catch(e){console.error("[Recents] Failed to write recents.json:",e)}}])},88057,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),c=e.i(87718),d=e.i(95169),u=e.i(47587),p=e.i(66012),f=e.i(70101),y=e.i(26937),h=e.i(10372),m=e.i(93695);e.i(52474);var x=e.i(220),S=e.i(89171),w=e.i(29307),R=e.i(10928),v=e.i(46619),g=e.i(85427),j=e.i(22734),C=e.i(14747);async function N(e){try{let{sessionId:t,path:r,action:s="add"}=await e.json();if(!t||!r)return S.NextResponse.json({error:"Missing sessionId or path"},{status:400});let a=w.SessionManager.getInstance(),n=a.getSession(t);if(!n)return S.NextResponse.json({error:"Session not found"},{status:404});let o=C.default.resolve(r).replace(/\\/g,"/");if("add"===s){if(!j.default.existsSync(o))return S.NextResponse.json({error:"Path does not exist on the server"},{status:400});n.scopedDirs||(n.scopedDirs=[]),n.scopedDirs.includes(o)||(n.scopedDirs.push(o),R.SessionPersister.saveSession(n,!0));let e=C.default.join(process.env.ORIGINAL_CWD||process.cwd(),".ai","neural-loom");if("claude"===n.type||"claude-docker"===n.type){let t=C.default.join(e,"claude.json");if(j.default.existsSync(t))try{let e=JSON.parse(j.default.readFileSync(t,"utf8"));e.scopedDirs||(e.scopedDirs=[]),e.scopedDirs.includes(o)||(e.scopedDirs.push(o),j.default.writeFileSync(t,JSON.stringify(e,null,2),"utf8"))}catch(e){console.error("Failed to update claude.json with new scoped folder:",e)}}else if("aider"===n.type||"aider-docker"===n.type){let t=C.default.join(e,"aider.json");if(j.default.existsSync(t))try{let e=JSON.parse(j.default.readFileSync(t,"utf8"));e.scopedDirs||(e.scopedDirs=[]),e.scopedDirs.includes(o)||(e.scopedDirs.push(o),j.default.writeFileSync(t,JSON.stringify(e,null,2),"utf8"))}catch(e){console.error("Failed to update aider.json with new scoped folder:",e)}}(0,g.addRecent)("scope",o);let r=n.workspaceRoot||process.env.ORIGINAL_CWD||process.cwd();v.ContextManager.compileSessionContext(r,n.scopedDirs),"running"===n.status&&await a.injectCommand(t,"/ccc")}else if("remove"===s){n.scopedDirs&&(n.scopedDirs=n.scopedDirs.filter(e=>e!==o),R.SessionPersister.saveSession(n,!0));let e=C.default.join(process.env.ORIGINAL_CWD||process.cwd(),".ai","neural-loom");if("claude"===n.type||"claude-docker"===n.type){let t=C.default.join(e,"claude.json");if(j.default.existsSync(t))try{let e=JSON.parse(j.default.readFileSync(t,"utf8"));e.scopedDirs&&(e.scopedDirs=e.scopedDirs.filter(e=>e!==o),j.default.writeFileSync(t,JSON.stringify(e,null,2),"utf8"))}catch(e){console.error("Failed to remove scoped folder from claude.json:",e)}}else if("aider"===n.type||"aider-docker"===n.type){let t=C.default.join(e,"aider.json");if(j.default.existsSync(t))try{let e=JSON.parse(j.default.readFileSync(t,"utf8"));e.scopedDirs&&(e.scopedDirs=e.scopedDirs.filter(e=>e!==o),j.default.writeFileSync(t,JSON.stringify(e,null,2),"utf8"))}catch(e){console.error("Failed to remove scoped folder from aider.json:",e)}}let r=n.workspaceRoot||process.env.ORIGINAL_CWD||process.cwd();v.ContextManager.compileSessionContext(r,n.scopedDirs),"running"===n.status&&await a.injectCommand(t,"/ccc")}return S.NextResponse.json({success:!0,scopedDirs:n.scopedDirs||[]})}catch(t){let e=t instanceof Error?t.message:"Unknown error";return S.NextResponse.json({error:e},{status:500})}}e.s(["POST",0,N],59404);var D=e.i(59404);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/sessions/scope/route",pathname:"/api/sessions/scope",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/sessions/scope/route.ts",nextConfigOutput:"",userland:D,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:E,serverHooks:O}=A;async function F(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),A.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let S="/api/sessions/scope/route";S=S.replace(/\/index$/,"")||"/";let w=await A.prepare(e,t,{srcPage:S,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:R,deploymentId:v,params:g,nextConfig:j,parsedUrl:C,isDraftMode:N,prerenderManifest:D,routerServerContext:k,isOnDemandRevalidate:E,revalidateOnlyGenerated:O,resolvedPathname:F,clientReferenceManifest:I,serverActionsManifest:_}=w,P=(0,i.normalizeAppPath)(S),b=!!(D.dynamicRoutes[P]||D.routes[F]),T=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,C,!1):t.end("This page could not be found"),null);if(b&&!N){let e=!!D.routes[F],t=D.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(j.adapterPath)return await T();throw new m.NoFallbackError}}let q=null;!b||A.isDev||N||(q="/index"===(q=F)?"/":q);let M=!0===A.isDev||!b,G=b&&!M;_&&I&&(0,o.setManifestsSingleton)({page:S,clientReferenceManifest:I,serverActionsManifest:_});let L=e.method||"GET",W=(0,n.getTracer)(),H=W.getActiveScopeSpan(),U=!!(null==k?void 0:k.isWrappedByNextServer),$=!!(0,a.getRequestMeta)(e,"minimalMode"),J=(0,a.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,j,D,$);null==J||J.resetRequestCache(),globalThis.__incrementalCache=J;let K={params:g,previewProps:D.preview,renderOpts:{experimental:{authInterrupts:!!j.experimental.authInterrupts},cacheComponents:!!j.cacheComponents,supportsDynamicResponse:M,incrementalCache:J,cacheLifeProfiles:j.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>A.onRequestError(e,t,s,a,k)},sharedContext:{buildId:R,deploymentId:v}},B=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(B,(0,c.signalFromNodeResponse)(t));try{let a,o=async e=>A.handle(V,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=W.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${L} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",s),a.updateName(t))}else e.updateName(`${L} ${S}`)}),i=async a=>{var n,i;let l=async({previousCacheEntry:r})=>{try{if(!$&&E&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let i=K.renderOpts.pendingWaitUntil;i&&s.waitUntil&&(s.waitUntil(i),i=void 0);let l=K.renderOpts.collectedTags;if(!b)return await (0,p.sendResponse)(B,z,n,K.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[h.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,s=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:G,isOnDemandRevalidate:E})},!1,k),t}},c=await A.handleResponse({req:e,nextConfig:j,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:D,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:O,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:$});if(!b)return null;if((null==c||null==(n=c.value)?void 0:n.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(i=c.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});$||t.setHeader("x-nextjs-cache",E?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return $&&b||d.delete(h.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,y.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(B,z,new Response(c.value.body,{headers:d,status:c.value.status||200})),null};U&&H?await i(H):(a=W.getActiveScopeSpan(),await W.withPropagatedContext(e.headers,()=>W.trace(d.BaseServerSpan.handleRequest,{spanName:`${L} ${S}`,kind:n.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},i),void 0,!U))}catch(t){if(t instanceof m.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:G,isOnDemandRevalidate:E})},!1,k),b)throw t;return await (0,p.sendResponse)(B,z,new Response(null,{status:500})),null}}e.s(["handler",0,F,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:E})},"routeModule",0,A,"serverHooks",0,O,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,E],88057)}];
14
-
15
- //# sourceMappingURL=%5Broot-of-the-server%5D__0fhv7.1._.js.map
@@ -1,15 +0,0 @@
1
- module.exports=[24417,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["getWorkspaceFileFolders",0,function(e){try{if(!e||!t.default.existsSync(e))return[];let s=r.default.resolve(e).replace(/\\/g,"/"),a=t.default.readdirSync(s).find(e=>e.endsWith(".code-workspace"));if(!a)return[];let n=r.default.join(s,a),i=t.default.readFileSync(n,"utf8"),o=JSON.parse(i);if(!o.folders||!Array.isArray(o.folders))return[];let l=[];for(let e of o.folders)if(e.path){let a=r.default.resolve(s,e.path).replace(/\\/g,"/");a!==s&&t.default.existsSync(a)&&l.push(a)}return l}catch(e){return console.error("[WorkspaceParser] Failed to parse code-workspace file:",e),[]}}])},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},46619,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["ContextManager",0,class{static get workspaceRoot(){return process.env.ORIGINAL_CWD||process.cwd()}static ensureDirs(e){let s=r.default.join(e,".ai","neural-loom");t.default.existsSync(s)||t.default.mkdirSync(s,{recursive:!0});let a=r.default.join(e,".claude","commands");t.default.existsSync(a)||t.default.mkdirSync(a,{recursive:!0})}static initializeStaging(e=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(e);let s=r.default.join(e,".claude","commands","ccp.md");t.default.existsSync(s)||t.default.writeFileSync(s,"Read the prompt from .ai/neural-loom/cprompt.md and execute it. This is a staged prompt from the NeuralLoom UI. Treat the contents as user instructions.\n");let a=r.default.join(e,".claude","commands","ccc.md");t.default.existsSync(a)||t.default.writeFileSync(a,"Read the context from .ai/neural-loom/ccontext.md. This is persistent context from the NeuralLoom UI. Absorb it as background information for this session. Acknowledge briefly what you received.\n")}static updatePrompt(e,s=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(s);let a=r.default.join(s,".ai","neural-loom","cprompt.md");t.default.writeFileSync(a,e)}static updateContext(e,s=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(s);let a=r.default.join(s,".ai","neural-loom","ccontext.md");t.default.writeFileSync(a,e)}static updateRules(e,s=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(s);let a=r.default.join(s,"AGENTS.md");t.default.writeFileSync(a,e,"utf8")}static loadPrompt(e=process.env.ORIGINAL_CWD||process.cwd()){let s=r.default.join(e,".ai","neural-loom","cprompt.md");return t.default.existsSync(s)?t.default.readFileSync(s,"utf8"):""}static loadRules(e=process.env.ORIGINAL_CWD||process.cwd()){let s=r.default.join(e,"AGENTS.md");return t.default.existsSync(s)?t.default.readFileSync(s,"utf8"):""}static compileGlobalRules(){this.compileSessionContext()}static compileSessionContext(e=process.env.ORIGINAL_CWD||process.cwd(),s){this.ensureDirs(e),this.initializeStaging(e);let a=r.default.join(e,"AGENTS.md"),n="";if(t.default.existsSync(a))n=t.default.readFileSync(a,"utf8");else{let e=r.default.join(this.workspaceRoot,"AGENTS.md");t.default.existsSync(e)&&(n=t.default.readFileSync(e,"utf8"))}let i=`## Workspace Root Map (${e}):
2
- ${this.generateProjectMapFor(e)}`;s&&Array.isArray(s)&&s.forEach(e=>{t.default.existsSync(e)&&(i+=`
3
-
4
- ## Scoped Directory Map (${e}):
5
- ${this.generateProjectMapFor(e)}`)});let o=`# System Rules & Guidelines
6
-
7
- ${n}
8
-
9
- # Project File Hierarchy Map
10
-
11
- ${i}`;this.updateContext(o,e);let l=r.default.join(e,".ai","neural-loom","cprompt.md");t.default.existsSync(l)||t.default.writeFileSync(l,"Hello! Please review the project context (/ccc) and check for any tasks to execute.")}static generateProjectMapFor(e){try{let s=(e,a=0)=>{if(a>2)return"";let n="";for(let i of t.default.readdirSync(e,{withFileTypes:!0})){if(i.name.startsWith(".")||"node_modules"===i.name||"out"===i.name||".next"===i.name)continue;let t=" ".repeat(a);i.isDirectory()?(n+=`${t}- [Dir] ${i.name}/
12
- `,n+=s(r.default.join(e,i.name),a+1)):n+=`${t}- [File] ${i.name}
13
- `}return n};return s(e)}catch(e){return"Error generating project map: "+(e instanceof Error?e.message:String(e))}}}])},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},6299,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),c=e.i(95169),u=e.i(47587),p=e.i(66012),f=e.i(70101),m=e.i(26937),h=e.i(10372),x=e.i(93695);e.i(52474);var y=e.i(220),R=e.i(89171),g=e.i(29307),v=e.i(24361),w=e.i(33405),S=e.i(46786);let C=(0,v.promisify)(w.exec);async function E(e){try{let{searchParams:t}=new URL(e.url),r=t.get("id");if(!r)return R.NextResponse.json({error:"Missing session id"},{status:400});let s=g.SessionManager.getInstance().getSession(r);if(!s)return R.NextResponse.json({error:"Session not found"},{status:404});let a="0.0%",n="0.0MiB",i="0.0%";if("running"===s.status)if("claude-docker"===s.type||"aider-docker"===s.type)try{let e=`neural-loom-session-${r}`,{stdout:t}=await C(`docker stats ${e} --no-stream --format "{{.CPUPerc}},{{.MemUsage}},{{.MemPerc}}"`),s=t.trim().split(",");s.length>=3&&(a=s[0].trim(),n=s[1].trim().split(" / ")[0],i=s[2].trim())}catch{let e=(3*Math.random()+1).toFixed(1)+"%",t=(130+20*Math.random()).toFixed(1)+"MiB",r=(1.5+.5*Math.random()).toFixed(2)+"%";a=e,n=t,i=r}else{let e=(5*Math.random()+2).toFixed(1)+"%",t=process.memoryUsage().rss,r=(t/1048576).toFixed(1)+"MiB",s=(t/S.default.totalmem()*100).toFixed(2)+"%";a=e,n=r,i=s}return R.NextResponse.json({success:!0,id:r,status:s.status,type:s.type,cpu:a,memory:n,memoryPercent:i})}catch(t){let e=t instanceof Error?t.message:"Unknown error";return R.NextResponse.json({error:e},{status:500})}}e.s(["GET",0,E],40607);var A=e.i(40607);let N=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/sessions/stats/route",pathname:"/api/sessions/stats",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/sessions/stats/route.ts",nextConfigOutput:"",userland:A,...{}}),{workAsyncStorage:j,workUnitAsyncStorage:k,serverHooks:I}=N;async function P(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),N.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/sessions/stats/route";R=R.replace(/\/index$/,"")||"/";let g=await N.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:v,deploymentId:w,params:S,nextConfig:C,parsedUrl:E,isDraftMode:A,prerenderManifest:j,routerServerContext:k,isOnDemandRevalidate:I,revalidateOnlyGenerated:P,resolvedPathname:b,clientReferenceManifest:F,serverActionsManifest:T}=g,M=(0,o.normalizeAppPath)(R),_=!!(j.dynamicRoutes[M]||j.routes[b]),D=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,E,!1):t.end("This page could not be found"),null);if(_&&!A){let e=!!j.routes[b],t=j.dynamicRoutes[M];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await D();throw new x.NoFallbackError}}let O=null;!_||N.isDev||A||(O="/index"===(O=b)?"/":O);let q=!0===N.isDev||!_,U=_&&!q;T&&F&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:F,serverActionsManifest:T});let $=e.method||"GET",H=(0,n.getTracer)(),G=H.getActiveScopeSpan(),L=!!(null==k?void 0:k.isWrappedByNextServer),W=!!(0,a.getRequestMeta)(e,"minimalMode"),B=(0,a.getRequestMeta)(e,"incrementalCache")||await N.getIncrementalCache(e,C,j,W);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let K={params:S,previewProps:j.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:q,incrementalCache:B,cacheLifeProfiles:C.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>N.onRequestError(e,t,s,a,k)},sharedContext:{buildId:v,deploymentId:w}},z=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t));try{let a,i=async e=>N.handle(X,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${$} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",s),a.updateName(t))}else e.updateName(`${$} ${R}`)}),o=async a=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!W&&I&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let o=K.renderOpts.pendingWaitUntil;o&&s.waitUntil&&(s.waitUntil(o),o=void 0);let l=K.renderOpts.collectedTags;if(!_)return await (0,p.sendResponse)(z,V,n,K.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[h.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,s=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await N.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,k),t}},d=await N.handleResponse({req:e,nextConfig:C,cacheKey:O,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:W});if(!_)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",I?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return W&&_||c.delete(h.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(z,V,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};L&&G?await o(G):(a=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(c.BaseServerSpan.handleRequest,{spanName:`${$} ${R}`,kind:n.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},o),void 0,!L))}catch(t){if(t instanceof x.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,k),_)throw t;return await (0,p.sendResponse)(z,V,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:j,workUnitAsyncStorage:k})},"routeModule",0,N,"serverHooks",0,I,"workAsyncStorage",0,j,"workUnitAsyncStorage",0,k],6299)}];
14
-
15
- //# sourceMappingURL=%5Broot-of-the-server%5D__0qqnqov._.js.map
@@ -1,15 +0,0 @@
1
- module.exports=[24417,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["getWorkspaceFileFolders",0,function(e){try{if(!e||!t.default.existsSync(e))return[];let s=r.default.resolve(e).replace(/\\/g,"/"),a=t.default.readdirSync(s).find(e=>e.endsWith(".code-workspace"));if(!a)return[];let n=r.default.join(s,a),i=t.default.readFileSync(n,"utf8"),o=JSON.parse(i);if(!o.folders||!Array.isArray(o.folders))return[];let l=[];for(let e of o.folders)if(e.path){let a=r.default.resolve(s,e.path).replace(/\\/g,"/");a!==s&&t.default.existsSync(a)&&l.push(a)}return l}catch(e){return console.error("[WorkspaceParser] Failed to parse code-workspace file:",e),[]}}])},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},46619,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["ContextManager",0,class{static get workspaceRoot(){return process.env.ORIGINAL_CWD||process.cwd()}static ensureDirs(e){let s=r.default.join(e,".ai","neural-loom");t.default.existsSync(s)||t.default.mkdirSync(s,{recursive:!0});let a=r.default.join(e,".claude","commands");t.default.existsSync(a)||t.default.mkdirSync(a,{recursive:!0})}static initializeStaging(e=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(e);let s=r.default.join(e,".claude","commands","ccp.md");t.default.existsSync(s)||t.default.writeFileSync(s,"Read the prompt from .ai/neural-loom/cprompt.md and execute it. This is a staged prompt from the NeuralLoom UI. Treat the contents as user instructions.\n");let a=r.default.join(e,".claude","commands","ccc.md");t.default.existsSync(a)||t.default.writeFileSync(a,"Read the context from .ai/neural-loom/ccontext.md. This is persistent context from the NeuralLoom UI. Absorb it as background information for this session. Acknowledge briefly what you received.\n")}static updatePrompt(e,s=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(s);let a=r.default.join(s,".ai","neural-loom","cprompt.md");t.default.writeFileSync(a,e)}static updateContext(e,s=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(s);let a=r.default.join(s,".ai","neural-loom","ccontext.md");t.default.writeFileSync(a,e)}static updateRules(e,s=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(s);let a=r.default.join(s,"AGENTS.md");t.default.writeFileSync(a,e,"utf8")}static loadPrompt(e=process.env.ORIGINAL_CWD||process.cwd()){let s=r.default.join(e,".ai","neural-loom","cprompt.md");return t.default.existsSync(s)?t.default.readFileSync(s,"utf8"):""}static loadRules(e=process.env.ORIGINAL_CWD||process.cwd()){let s=r.default.join(e,"AGENTS.md");return t.default.existsSync(s)?t.default.readFileSync(s,"utf8"):""}static compileGlobalRules(){this.compileSessionContext()}static compileSessionContext(e=process.env.ORIGINAL_CWD||process.cwd(),s){this.ensureDirs(e),this.initializeStaging(e);let a=r.default.join(e,"AGENTS.md"),n="";if(t.default.existsSync(a))n=t.default.readFileSync(a,"utf8");else{let e=r.default.join(this.workspaceRoot,"AGENTS.md");t.default.existsSync(e)&&(n=t.default.readFileSync(e,"utf8"))}let i=`## Workspace Root Map (${e}):
2
- ${this.generateProjectMapFor(e)}`;s&&Array.isArray(s)&&s.forEach(e=>{t.default.existsSync(e)&&(i+=`
3
-
4
- ## Scoped Directory Map (${e}):
5
- ${this.generateProjectMapFor(e)}`)});let o=`# System Rules & Guidelines
6
-
7
- ${n}
8
-
9
- # Project File Hierarchy Map
10
-
11
- ${i}`;this.updateContext(o,e);let l=r.default.join(e,".ai","neural-loom","cprompt.md");t.default.existsSync(l)||t.default.writeFileSync(l,"Hello! Please review the project context (/ccc) and check for any tasks to execute.")}static generateProjectMapFor(e){try{let s=(e,a=0)=>{if(a>2)return"";let n="";for(let i of t.default.readdirSync(e,{withFileTypes:!0})){if(i.name.startsWith(".")||"node_modules"===i.name||"out"===i.name||".next"===i.name)continue;let t=" ".repeat(a);i.isDirectory()?(n+=`${t}- [Dir] ${i.name}/
12
- `,n+=s(r.default.join(e,i.name),a+1)):n+=`${t}- [File] ${i.name}
13
- `}return n};return s(e)}catch(e){return"Error generating project map: "+(e instanceof Error?e.message:String(e))}}}])},24214,(e,t,r)=>{t.exports={name:"neural-loom",version:"0.2.40",bin:{"neural-loom":"./bin/cli.js"},files:["bin","public",".next","src","next.config.ts","tsconfig.json","README.md"],scripts:{dev:"next dev",build:"next build",start:"next start",lint:"eslint"},dependencies:{next:"16.2.6","node-pty":"^1.1.0",react:"19.2.4","react-dom":"19.2.4",ws:"^8.21.0",xterm:"^5.3.0","xterm-addon-fit":"^0.8.0"},devDependencies:{"@types/node":"^20","@types/react":"^19","@types/react-dom":"^19","@types/ws":"^8.18.1",eslint:"^9","eslint-config-next":"16.2.6",typescript:"^5"}}},86100,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),c=e.i(95169),u=e.i(47587),p=e.i(66012),f=e.i(70101),x=e.i(26937),m=e.i(10372),h=e.i(93695);e.i(52474);var v=e.i(220),y=e.i(89171),R=e.i(29307),g=e.i(24214);async function w(t){try{let{searchParams:r}=new URL(t.url),s=r.get("id"),a=R.SessionManager.getInstance();if(s){let t=a.getSession(s);if(!t)return y.NextResponse.json({error:"Session not found"},{status:404});return y.NextResponse.json({...t.getStatus(),logs:t.logs,wsPort:e.g.wsPort||3001,version:g.default.version})}let n=a.listSessions(),i=process.env.ORIGINAL_CWD||process.cwd(),o=e.g.wsPort||3001;return y.NextResponse.json({sessions:n,originalCwd:i,wsPort:o,version:g.default.version})}catch(t){let e=t instanceof Error?t.message:"Unknown error";return y.NextResponse.json({error:e},{status:500})}}e.s(["GET",0,w],72626);var S=e.i(72626);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/sessions/route",pathname:"/api/sessions",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/sessions/route.ts",nextConfigOutput:"",userland:S,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:C,serverHooks:N}=E;async function j(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),E.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/sessions/route";y=y.replace(/\/index$/,"")||"/";let R=await E.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:g,deploymentId:w,params:S,nextConfig:A,parsedUrl:C,isDraftMode:N,prerenderManifest:j,routerServerContext:b,isOnDemandRevalidate:I,revalidateOnlyGenerated:k,resolvedPathname:P,clientReferenceManifest:T,serverActionsManifest:_}=R,D=(0,o.normalizeAppPath)(y),O=!!(j.dynamicRoutes[D]||j.routes[P]),F=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,C,!1):t.end("This page could not be found"),null);if(O&&!N){let e=!!j.routes[P],t=j.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await F();throw new h.NoFallbackError}}let q=null;!O||E.isDev||N||(q="/index"===(q=P)?"/":q);let M=!0===E.isDev||!O,U=O&&!M;_&&T&&(0,i.setManifestsSingleton)({page:y,clientReferenceManifest:T,serverActionsManifest:_});let G=e.method||"GET",H=(0,n.getTracer)(),$=H.getActiveScopeSpan(),L=!!(null==b?void 0:b.isWrappedByNextServer),W=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,A,j,W);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let B={params:S,previewProps:j.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:M,incrementalCache:K,cacheLifeProfiles:A.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>E.onRequestError(e,t,s,a,b)},sharedContext:{buildId:g,deploymentId:w}},z=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t));try{let a,i=async e=>E.handle(X,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${G} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",s),a.updateName(t))}else e.updateName(`${G} ${y}`)}),o=async a=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!W&&I&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(a);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&s.waitUntil&&(s.waitUntil(o),o=void 0);let l=B.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(z,V,n,B.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,s=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,b),t}},d=await E.handleResponse({req:e,nextConfig:A,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:k,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:W});if(!O)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",I?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return W&&O||c.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(z,V,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};L&&$?await o($):(a=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(c.BaseServerSpan.handleRequest,{spanName:`${G} ${y}`,kind:n.SpanKind.SERVER,attributes:{"http.method":G,"http.target":e.url}},o),void 0,!L))}catch(t){if(t instanceof h.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,b),O)throw t;return await (0,p.sendResponse)(z,V,new Response(null,{status:500})),null}}e.s(["handler",0,j,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:C})},"routeModule",0,E,"serverHooks",0,N,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,C],86100)}];
14
-
15
- //# sourceMappingURL=%5Broot-of-the-server%5D__0t_~on0._.js.map
@@ -1,15 +0,0 @@
1
- module.exports=[24417,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["getWorkspaceFileFolders",0,function(e){try{if(!e||!t.default.existsSync(e))return[];let a=r.default.resolve(e).replace(/\\/g,"/"),s=t.default.readdirSync(a).find(e=>e.endsWith(".code-workspace"));if(!s)return[];let n=r.default.join(a,s),i=t.default.readFileSync(n,"utf8"),o=JSON.parse(i);if(!o.folders||!Array.isArray(o.folders))return[];let l=[];for(let e of o.folders)if(e.path){let s=r.default.resolve(a,e.path).replace(/\\/g,"/");s!==a&&t.default.existsSync(s)&&l.push(s)}return l}catch(e){return console.error("[WorkspaceParser] Failed to parse code-workspace file:",e),[]}}])},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},46619,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["ContextManager",0,class{static get workspaceRoot(){return process.env.ORIGINAL_CWD||process.cwd()}static ensureDirs(e){let a=r.default.join(e,".ai","neural-loom");t.default.existsSync(a)||t.default.mkdirSync(a,{recursive:!0});let s=r.default.join(e,".claude","commands");t.default.existsSync(s)||t.default.mkdirSync(s,{recursive:!0})}static initializeStaging(e=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(e);let a=r.default.join(e,".claude","commands","ccp.md");t.default.existsSync(a)||t.default.writeFileSync(a,"Read the prompt from .ai/neural-loom/cprompt.md and execute it. This is a staged prompt from the NeuralLoom UI. Treat the contents as user instructions.\n");let s=r.default.join(e,".claude","commands","ccc.md");t.default.existsSync(s)||t.default.writeFileSync(s,"Read the context from .ai/neural-loom/ccontext.md. This is persistent context from the NeuralLoom UI. Absorb it as background information for this session. Acknowledge briefly what you received.\n")}static updatePrompt(e,a=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(a);let s=r.default.join(a,".ai","neural-loom","cprompt.md");t.default.writeFileSync(s,e)}static updateContext(e,a=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(a);let s=r.default.join(a,".ai","neural-loom","ccontext.md");t.default.writeFileSync(s,e)}static updateRules(e,a=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(a);let s=r.default.join(a,"AGENTS.md");t.default.writeFileSync(s,e,"utf8")}static loadPrompt(e=process.env.ORIGINAL_CWD||process.cwd()){let a=r.default.join(e,".ai","neural-loom","cprompt.md");return t.default.existsSync(a)?t.default.readFileSync(a,"utf8"):""}static loadRules(e=process.env.ORIGINAL_CWD||process.cwd()){let a=r.default.join(e,"AGENTS.md");return t.default.existsSync(a)?t.default.readFileSync(a,"utf8"):""}static compileGlobalRules(){this.compileSessionContext()}static compileSessionContext(e=process.env.ORIGINAL_CWD||process.cwd(),a){this.ensureDirs(e),this.initializeStaging(e);let s=r.default.join(e,"AGENTS.md"),n="";if(t.default.existsSync(s))n=t.default.readFileSync(s,"utf8");else{let e=r.default.join(this.workspaceRoot,"AGENTS.md");t.default.existsSync(e)&&(n=t.default.readFileSync(e,"utf8"))}let i=`## Workspace Root Map (${e}):
2
- ${this.generateProjectMapFor(e)}`;a&&Array.isArray(a)&&a.forEach(e=>{t.default.existsSync(e)&&(i+=`
3
-
4
- ## Scoped Directory Map (${e}):
5
- ${this.generateProjectMapFor(e)}`)});let o=`# System Rules & Guidelines
6
-
7
- ${n}
8
-
9
- # Project File Hierarchy Map
10
-
11
- ${i}`;this.updateContext(o,e);let l=r.default.join(e,".ai","neural-loom","cprompt.md");t.default.existsSync(l)||t.default.writeFileSync(l,"Hello! Please review the project context (/ccc) and check for any tasks to execute.")}static generateProjectMapFor(e){try{let a=(e,s=0)=>{if(s>2)return"";let n="";for(let i of t.default.readdirSync(e,{withFileTypes:!0})){if(i.name.startsWith(".")||"node_modules"===i.name||"out"===i.name||".next"===i.name)continue;let t=" ".repeat(s);i.isDirectory()?(n+=`${t}- [Dir] ${i.name}/
12
- `,n+=a(r.default.join(e,i.name),s+1)):n+=`${t}- [File] ${i.name}
13
- `}return n};return a(e)}catch(e){return"Error generating project map: "+(e instanceof Error?e.message:String(e))}}}])},71188,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(26937),m=e.i(10372),x=e.i(93695);e.i(52474);var R=e.i(220),y=e.i(89171),v=e.i(29307);async function g(e){try{let{id:t,delete:r}=await e.json();if(!t)return y.NextResponse.json({error:"Missing required field 'id'."},{status:400});let a=v.SessionManager.getInstance();if(r){let e=await a.deleteSession(t);return y.NextResponse.json({success:e})}{let e=await a.stopSession(t);return y.NextResponse.json({success:e})}}catch(t){let e=t instanceof Error?t.message:"Unknown error";return y.NextResponse.json({error:e},{status:500})}}e.s(["POST",0,g],64662);var w=e.i(64662);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/sessions/stop/route",pathname:"/api/sessions/stop",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/sessions/stop/route.ts",nextConfigOutput:"",userland:w,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:A,serverHooks:E}=S;async function N(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/sessions/stop/route";y=y.replace(/\/index$/,"")||"/";let v=await S.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:g,deploymentId:w,params:C,nextConfig:A,parsedUrl:E,isDraftMode:N,prerenderManifest:j,routerServerContext:k,isOnDemandRevalidate:I,revalidateOnlyGenerated:b,resolvedPathname:T,clientReferenceManifest:P,serverActionsManifest:_}=v,O=(0,o.normalizeAppPath)(y),D=!!(j.dynamicRoutes[O]||j.routes[T]),q=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,E,!1):t.end("This page could not be found"),null);if(D&&!N){let e=!!j.routes[T],t=j.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await q();throw new x.NoFallbackError}}let F=null;!D||S.isDev||N||(F="/index"===(F=T)?"/":F);let M=!0===S.isDev||!D,H=D&&!M;_&&P&&(0,i.setManifestsSingleton)({page:y,clientReferenceManifest:P,serverActionsManifest:_});let U=e.method||"GET",$=(0,n.getTracer)(),G=$.getActiveScopeSpan(),W=!!(null==k?void 0:k.isWrappedByNextServer),L=!!(0,s.getRequestMeta)(e,"minimalMode"),K=(0,s.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,A,j,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let B={params:C,previewProps:j.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:M,incrementalCache:K,cacheLifeProfiles:A.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>S.onRequestError(e,t,a,s,k)},sharedContext:{buildId:g,deploymentId:w}},z=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>S.handle(X,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${U} ${y}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&I&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=B.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(z,V,n,B.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:I})},!1,k),t}},d=await S.handleResponse({req:e,nextConfig:A,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:b,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!D)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",I?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&D||u.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(z,V,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};W&&G?await o(G):(s=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${U} ${y}`,kind:n.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},o),void 0,!W))}catch(t){if(t instanceof x.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:I})},!1,k),D)throw t;return await (0,p.sendResponse)(z,V,new Response(null,{status:500})),null}}e.s(["handler",0,N,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:A})},"routeModule",0,S,"serverHooks",0,E,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,A],71188)}];
14
-
15
- //# sourceMappingURL=%5Broot-of-the-server%5D__0xr~y1f._.js.map
@@ -1,15 +0,0 @@
1
- module.exports=[24417,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["getWorkspaceFileFolders",0,function(e){try{if(!e||!t.default.existsSync(e))return[];let a=r.default.resolve(e).replace(/\\/g,"/"),s=t.default.readdirSync(a).find(e=>e.endsWith(".code-workspace"));if(!s)return[];let n=r.default.join(a,s),i=t.default.readFileSync(n,"utf8"),o=JSON.parse(i);if(!o.folders||!Array.isArray(o.folders))return[];let l=[];for(let e of o.folders)if(e.path){let s=r.default.resolve(a,e.path).replace(/\\/g,"/");s!==a&&t.default.existsSync(s)&&l.push(s)}return l}catch(e){return console.error("[WorkspaceParser] Failed to parse code-workspace file:",e),[]}}])},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},46619,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["ContextManager",0,class{static get workspaceRoot(){return process.env.ORIGINAL_CWD||process.cwd()}static ensureDirs(e){let a=r.default.join(e,".ai","neural-loom");t.default.existsSync(a)||t.default.mkdirSync(a,{recursive:!0});let s=r.default.join(e,".claude","commands");t.default.existsSync(s)||t.default.mkdirSync(s,{recursive:!0})}static initializeStaging(e=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(e);let a=r.default.join(e,".claude","commands","ccp.md");t.default.existsSync(a)||t.default.writeFileSync(a,"Read the prompt from .ai/neural-loom/cprompt.md and execute it. This is a staged prompt from the NeuralLoom UI. Treat the contents as user instructions.\n");let s=r.default.join(e,".claude","commands","ccc.md");t.default.existsSync(s)||t.default.writeFileSync(s,"Read the context from .ai/neural-loom/ccontext.md. This is persistent context from the NeuralLoom UI. Absorb it as background information for this session. Acknowledge briefly what you received.\n")}static updatePrompt(e,a=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(a);let s=r.default.join(a,".ai","neural-loom","cprompt.md");t.default.writeFileSync(s,e)}static updateContext(e,a=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(a);let s=r.default.join(a,".ai","neural-loom","ccontext.md");t.default.writeFileSync(s,e)}static updateRules(e,a=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(a);let s=r.default.join(a,"AGENTS.md");t.default.writeFileSync(s,e,"utf8")}static loadPrompt(e=process.env.ORIGINAL_CWD||process.cwd()){let a=r.default.join(e,".ai","neural-loom","cprompt.md");return t.default.existsSync(a)?t.default.readFileSync(a,"utf8"):""}static loadRules(e=process.env.ORIGINAL_CWD||process.cwd()){let a=r.default.join(e,"AGENTS.md");return t.default.existsSync(a)?t.default.readFileSync(a,"utf8"):""}static compileGlobalRules(){this.compileSessionContext()}static compileSessionContext(e=process.env.ORIGINAL_CWD||process.cwd(),a){this.ensureDirs(e),this.initializeStaging(e);let s=r.default.join(e,"AGENTS.md"),n="";if(t.default.existsSync(s))n=t.default.readFileSync(s,"utf8");else{let e=r.default.join(this.workspaceRoot,"AGENTS.md");t.default.existsSync(e)&&(n=t.default.readFileSync(e,"utf8"))}let i=`## Workspace Root Map (${e}):
2
- ${this.generateProjectMapFor(e)}`;a&&Array.isArray(a)&&a.forEach(e=>{t.default.existsSync(e)&&(i+=`
3
-
4
- ## Scoped Directory Map (${e}):
5
- ${this.generateProjectMapFor(e)}`)});let o=`# System Rules & Guidelines
6
-
7
- ${n}
8
-
9
- # Project File Hierarchy Map
10
-
11
- ${i}`;this.updateContext(o,e);let l=r.default.join(e,".ai","neural-loom","cprompt.md");t.default.existsSync(l)||t.default.writeFileSync(l,"Hello! Please review the project context (/ccc) and check for any tasks to execute.")}static generateProjectMapFor(e){try{let a=(e,s=0)=>{if(s>2)return"";let n="";for(let i of t.default.readdirSync(e,{withFileTypes:!0})){if(i.name.startsWith(".")||"node_modules"===i.name||"out"===i.name||".next"===i.name)continue;let t=" ".repeat(s);i.isDirectory()?(n+=`${t}- [Dir] ${i.name}/
12
- `,n+=a(r.default.join(e,i.name),s+1)):n+=`${t}- [File] ${i.name}
13
- `}return n};return a(e)}catch(e){return"Error generating project map: "+(e instanceof Error?e.message:String(e))}}}])},78761,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(26937),x=e.i(10372),m=e.i(93695);e.i(52474);var R=e.i(220),y=e.i(89171),v=e.i(29307);async function g(e){try{let{id:t,text:r}=await e.json();if(!t||void 0===r)return y.NextResponse.json({error:"Missing required fields 'id' or 'text'."},{status:400});let a=v.SessionManager.getInstance().getSession(t);if(!a)return y.NextResponse.json({error:"Session not found"},{status:404});return await a.sendInput(r),y.NextResponse.json({success:!0,logs:a.logs})}catch(t){let e=t instanceof Error?t.message:"Unknown error";return y.NextResponse.json({error:e},{status:500})}}e.s(["POST",0,g],9853);var w=e.i(9853);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/sessions/input/route",pathname:"/api/sessions/input",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/sessions/input/route.ts",nextConfigOutput:"",userland:w,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:A,serverHooks:E}=S;async function N(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/sessions/input/route";y=y.replace(/\/index$/,"")||"/";let v=await S.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:g,deploymentId:w,params:C,nextConfig:A,parsedUrl:E,isDraftMode:N,prerenderManifest:j,routerServerContext:I,isOnDemandRevalidate:k,revalidateOnlyGenerated:b,resolvedPathname:T,clientReferenceManifest:P,serverActionsManifest:_}=v,O=(0,o.normalizeAppPath)(y),D=!!(j.dynamicRoutes[O]||j.routes[T]),q=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,E,!1):t.end("This page could not be found"),null);if(D&&!N){let e=!!j.routes[T],t=j.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await q();throw new m.NoFallbackError}}let F=null;!D||S.isDev||N||(F="/index"===(F=T)?"/":F);let M=!0===S.isDev||!D,H=D&&!M;_&&P&&(0,i.setManifestsSingleton)({page:y,clientReferenceManifest:P,serverActionsManifest:_});let U=e.method||"GET",$=(0,n.getTracer)(),G=$.getActiveScopeSpan(),W=!!(null==I?void 0:I.isWrappedByNextServer),L=!!(0,s.getRequestMeta)(e,"minimalMode"),K=(0,s.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,A,j,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let B={params:C,previewProps:j.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:M,incrementalCache:K,cacheLifeProfiles:A.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>S.onRequestError(e,t,a,s,I)},sharedContext:{buildId:g,deploymentId:w}},z=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>S.handle(X,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${U} ${y}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&k&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=B.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(z,V,n,B.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:k})},!1,I),t}},d=await S.handleResponse({req:e,nextConfig:A,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:b,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!D)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",k?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&D||u.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(z,V,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};W&&G?await o(G):(s=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${U} ${y}`,kind:n.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},o),void 0,!W))}catch(t){if(t instanceof m.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:k})},!1,I),D)throw t;return await (0,p.sendResponse)(z,V,new Response(null,{status:500})),null}}e.s(["handler",0,N,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:A})},"routeModule",0,S,"serverHooks",0,E,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,A],78761)}];
14
-
15
- //# sourceMappingURL=%5Broot-of-the-server%5D__0zkcq9q._.js.map
@@ -1,15 +0,0 @@
1
- module.exports=[24417,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["getWorkspaceFileFolders",0,function(e){try{if(!e||!t.default.existsSync(e))return[];let a=r.default.resolve(e).replace(/\\/g,"/"),s=t.default.readdirSync(a).find(e=>e.endsWith(".code-workspace"));if(!s)return[];let n=r.default.join(a,s),i=t.default.readFileSync(n,"utf8"),o=JSON.parse(i);if(!o.folders||!Array.isArray(o.folders))return[];let l=[];for(let e of o.folders)if(e.path){let s=r.default.resolve(a,e.path).replace(/\\/g,"/");s!==a&&t.default.existsSync(s)&&l.push(s)}return l}catch(e){return console.error("[WorkspaceParser] Failed to parse code-workspace file:",e),[]}}])},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},46619,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.s(["ContextManager",0,class{static get workspaceRoot(){return process.env.ORIGINAL_CWD||process.cwd()}static ensureDirs(e){let a=r.default.join(e,".ai","neural-loom");t.default.existsSync(a)||t.default.mkdirSync(a,{recursive:!0});let s=r.default.join(e,".claude","commands");t.default.existsSync(s)||t.default.mkdirSync(s,{recursive:!0})}static initializeStaging(e=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(e);let a=r.default.join(e,".claude","commands","ccp.md");t.default.existsSync(a)||t.default.writeFileSync(a,"Read the prompt from .ai/neural-loom/cprompt.md and execute it. This is a staged prompt from the NeuralLoom UI. Treat the contents as user instructions.\n");let s=r.default.join(e,".claude","commands","ccc.md");t.default.existsSync(s)||t.default.writeFileSync(s,"Read the context from .ai/neural-loom/ccontext.md. This is persistent context from the NeuralLoom UI. Absorb it as background information for this session. Acknowledge briefly what you received.\n")}static updatePrompt(e,a=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(a);let s=r.default.join(a,".ai","neural-loom","cprompt.md");t.default.writeFileSync(s,e)}static updateContext(e,a=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(a);let s=r.default.join(a,".ai","neural-loom","ccontext.md");t.default.writeFileSync(s,e)}static updateRules(e,a=process.env.ORIGINAL_CWD||process.cwd()){this.ensureDirs(a);let s=r.default.join(a,"AGENTS.md");t.default.writeFileSync(s,e,"utf8")}static loadPrompt(e=process.env.ORIGINAL_CWD||process.cwd()){let a=r.default.join(e,".ai","neural-loom","cprompt.md");return t.default.existsSync(a)?t.default.readFileSync(a,"utf8"):""}static loadRules(e=process.env.ORIGINAL_CWD||process.cwd()){let a=r.default.join(e,"AGENTS.md");return t.default.existsSync(a)?t.default.readFileSync(a,"utf8"):""}static compileGlobalRules(){this.compileSessionContext()}static compileSessionContext(e=process.env.ORIGINAL_CWD||process.cwd(),a){this.ensureDirs(e),this.initializeStaging(e);let s=r.default.join(e,"AGENTS.md"),n="";if(t.default.existsSync(s))n=t.default.readFileSync(s,"utf8");else{let e=r.default.join(this.workspaceRoot,"AGENTS.md");t.default.existsSync(e)&&(n=t.default.readFileSync(e,"utf8"))}let i=`## Workspace Root Map (${e}):
2
- ${this.generateProjectMapFor(e)}`;a&&Array.isArray(a)&&a.forEach(e=>{t.default.existsSync(e)&&(i+=`
3
-
4
- ## Scoped Directory Map (${e}):
5
- ${this.generateProjectMapFor(e)}`)});let o=`# System Rules & Guidelines
6
-
7
- ${n}
8
-
9
- # Project File Hierarchy Map
10
-
11
- ${i}`;this.updateContext(o,e);let l=r.default.join(e,".ai","neural-loom","cprompt.md");t.default.existsSync(l)||t.default.writeFileSync(l,"Hello! Please review the project context (/ccc) and check for any tasks to execute.")}static generateProjectMapFor(e){try{let a=(e,s=0)=>{if(s>2)return"";let n="";for(let i of t.default.readdirSync(e,{withFileTypes:!0})){if(i.name.startsWith(".")||"node_modules"===i.name||"out"===i.name||".next"===i.name)continue;let t=" ".repeat(s);i.isDirectory()?(n+=`${t}- [Dir] ${i.name}/
12
- `,n+=a(r.default.join(e,i.name),s+1)):n+=`${t}- [File] ${i.name}
13
- `}return n};return a(e)}catch(e){return"Error generating project map: "+(e instanceof Error?e.message:String(e))}}}])},75495,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),c=e.i(95169),u=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(26937),m=e.i(10372),x=e.i(93695);e.i(52474);var R=e.i(220),y=e.i(89171),v=e.i(29307);async function g(e){try{let{id:t,command:r}=await e.json();if(!t||!r)return y.NextResponse.json({error:"Missing required fields 'id' or 'command'."},{status:400});let a=v.SessionManager.getInstance(),s=await a.injectCommand(t,r);return y.NextResponse.json({success:s})}catch(t){let e=t instanceof Error?t.message:"Unknown error";return y.NextResponse.json({error:e},{status:500})}}e.s(["POST",0,g],85875);var w=e.i(85875);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/sessions/inject/route",pathname:"/api/sessions/inject",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/sessions/inject/route.ts",nextConfigOutput:"",userland:w,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:A,serverHooks:E}=S;async function j(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/sessions/inject/route";y=y.replace(/\/index$/,"")||"/";let v=await S.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:g,deploymentId:w,params:C,nextConfig:A,parsedUrl:E,isDraftMode:j,prerenderManifest:N,routerServerContext:k,isOnDemandRevalidate:I,revalidateOnlyGenerated:b,resolvedPathname:T,clientReferenceManifest:P,serverActionsManifest:_}=v,O=(0,o.normalizeAppPath)(y),D=!!(N.dynamicRoutes[O]||N.routes[T]),q=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,E,!1):t.end("This page could not be found"),null);if(D&&!j){let e=!!N.routes[T],t=N.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await q();throw new x.NoFallbackError}}let F=null;!D||S.isDev||j||(F="/index"===(F=T)?"/":F);let M=!0===S.isDev||!D,H=D&&!M;_&&P&&(0,i.setManifestsSingleton)({page:y,clientReferenceManifest:P,serverActionsManifest:_});let U=e.method||"GET",$=(0,n.getTracer)(),G=$.getActiveScopeSpan(),W=!!(null==k?void 0:k.isWrappedByNextServer),L=!!(0,s.getRequestMeta)(e,"minimalMode"),K=(0,s.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,A,N,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let B={params:C,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:M,incrementalCache:K,cacheLifeProfiles:A.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>S.onRequestError(e,t,a,s,k)},sharedContext:{buildId:g,deploymentId:w}},z=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>S.handle(X,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${U} ${y}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&I&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=B.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(z,V,n,B.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:I})},!1,k),t}},d=await S.handleResponse({req:e,nextConfig:A,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:b,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!D)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",I?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&D||c.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(z,V,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};W&&G?await o(G):(s=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(c.BaseServerSpan.handleRequest,{spanName:`${U} ${y}`,kind:n.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},o),void 0,!W))}catch(t){if(t instanceof x.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:I})},!1,k),D)throw t;return await (0,p.sendResponse)(z,V,new Response(null,{status:500})),null}}e.s(["handler",0,j,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:A})},"routeModule",0,S,"serverHooks",0,E,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,A],75495)}];
14
-
15
- //# sourceMappingURL=%5Broot-of-the-server%5D__0~zauvq._.js.map