neural-loom 0.2.40 → 0.2.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/build-manifest.json +3 -3
- package/.next/cache/.previewinfo +1 -1
- package/.next/cache/.rscinfo +1 -1
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/diagnostics/build-diagnostics.json +1 -1
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/server/app/api/context/aider/route.js.nft.json +1 -1
- package/.next/server/app/api/context/claude/route.js.nft.json +1 -1
- package/.next/server/app/api/context/ssh/route.js.nft.json +1 -1
- package/.next/server/app/api/recents/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/inject/route.js +1 -1
- package/.next/server/app/api/sessions/inject/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/input/route.js +1 -1
- package/.next/server/app/api/sessions/input/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/launch/route.js +1 -1
- package/.next/server/app/api/sessions/launch/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/scope/route.js +1 -1
- package/.next/server/app/api/sessions/scope/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/start/route.js +1 -1
- package/.next/server/app/api/sessions/start/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/stats/route.js +1 -1
- package/.next/server/app/api/sessions/stats/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/stop/route.js +1 -1
- package/.next/server/app/api/sessions/stop/route.js.nft.json +1 -1
- package/.next/server/app/page/react-loadable-manifest.json +3 -3
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__005xmeg._.js +15 -0
- package/.next/server/chunks/{[root-of-the-server]__0d9_-7g._.js.map → [root-of-the-server]__005xmeg._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0_~zjnf._.js +15 -0
- package/.next/server/chunks/{[root-of-the-server]__0fhv7.1._.js.map → [root-of-the-server]__0_~zjnf._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0d0pykb._.js +8 -8
- package/.next/server/chunks/[root-of-the-server]__0d0pykb._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0hl8jxx._.js +15 -0
- package/.next/server/chunks/{[root-of-the-server]__0~zauvq._.js.map → [root-of-the-server]__0hl8jxx._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0ho7s6e._.js +15 -0
- package/.next/server/chunks/{[root-of-the-server]__0-vx6-s._.js.map → [root-of-the-server]__0ho7s6e._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0lh_jn-._.js +15 -0
- package/.next/server/chunks/{[root-of-the-server]__0xr~y1f._.js.map → [root-of-the-server]__0lh_jn-._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0mq3k0u._.js +15 -0
- package/.next/server/chunks/{[root-of-the-server]__0zkcq9q._.js.map → [root-of-the-server]__0mq3k0u._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0rr36fm._.js +15 -0
- package/.next/server/chunks/{[root-of-the-server]__0qqnqov._.js.map → [root-of-the-server]__0rr36fm._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0xcrc-1._.js +15 -0
- package/.next/server/chunks/{[root-of-the-server]__0t_~on0._.js.map → [root-of-the-server]__0xcrc-1._.js.map} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0v73tbn._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0v73tbn._.js.map +1 -1
- package/.next/server/chunks/ssr/_0t7oqy6._.js +1 -1
- package/.next/server/chunks/ssr/_0t7oqy6._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages-manifest.json +1 -4
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/ZtSBLhTiGqKpNetcymWiC/_ssgManifest.js +1 -0
- package/.next/static/chunks/{0x__nd4avi0fg.js → 070hz362~_h8n.js} +1 -1
- package/.next/static/chunks/0bclk7hf35ac4.js +1 -0
- package/.next/static/chunks/17jifiroq0_q..js +1 -0
- package/package.json +1 -1
- package/src/app/components/IdeLayout.tsx +500 -25
- package/src/app/components/TerminalConsole.tsx +2 -2
- package/src/app/layout.tsx +0 -1
- package/src/app/page.tsx +12 -4
- package/src/lib/agents/AiderRunner.ts +8 -8
- package/src/lib/agents/ClaudeRunner.ts +43 -18
- package/src/lib/agents/DockerRunner.ts +1 -3
- package/src/lib/agents/SSHRunner.ts +1 -3
- package/src/lib/agents/ShellRunner.ts +1 -3
- package/src/lib/agents/WebSocketServer.ts +20 -13
- package/.next/BUILD_ID +0 -1
- package/.next/app-path-routes-manifest.json +0 -20
- package/.next/diagnostics/route-bundle-stats.json +0 -25
- package/.next/export-marker.json +0 -6
- package/.next/images-manifest.json +0 -68
- package/.next/prerender-manifest.json +0 -85
- package/.next/required-server-files.js +0 -335
- package/.next/required-server-files.json +0 -335
- package/.next/routes-manifest.json +0 -153
- package/.next/server/app/_global-error.html +0 -1
- package/.next/server/app/_global-error.meta +0 -15
- package/.next/server/app/_global-error.rsc +0 -14
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +0 -5
- package/.next/server/app/_global-error.segments/_full.segment.rsc +0 -14
- package/.next/server/app/_global-error.segments/_head.segment.rsc +0 -5
- package/.next/server/app/_global-error.segments/_index.segment.rsc +0 -5
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +0 -1
- package/.next/server/app/_not-found.html +0 -1
- package/.next/server/app/_not-found.meta +0 -16
- package/.next/server/app/_not-found.rsc +0 -16
- package/.next/server/app/_not-found.segments/_full.segment.rsc +0 -16
- package/.next/server/app/_not-found.segments/_head.segment.rsc +0 -6
- package/.next/server/app/_not-found.segments/_index.segment.rsc +0 -5
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +0 -5
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +0 -5
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/index.html +0 -1
- package/.next/server/app/index.meta +0 -14
- package/.next/server/app/index.rsc +0 -21
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +0 -10
- package/.next/server/app/index.segments/_full.segment.rsc +0 -21
- package/.next/server/app/index.segments/_head.segment.rsc +0 -6
- package/.next/server/app/index.segments/_index.segment.rsc +0 -5
- package/.next/server/app/index.segments/_tree.segment.rsc +0 -5
- package/.next/server/chunks/[root-of-the-server]__0-vx6-s._.js +0 -15
- package/.next/server/chunks/[root-of-the-server]__0d9_-7g._.js +0 -15
- package/.next/server/chunks/[root-of-the-server]__0fhv7.1._.js +0 -15
- package/.next/server/chunks/[root-of-the-server]__0qqnqov._.js +0 -15
- package/.next/server/chunks/[root-of-the-server]__0t_~on0._.js +0 -15
- package/.next/server/chunks/[root-of-the-server]__0xr~y1f._.js +0 -15
- package/.next/server/chunks/[root-of-the-server]__0zkcq9q._.js +0 -15
- package/.next/server/chunks/[root-of-the-server]__0~zauvq._.js +0 -15
- package/.next/server/functions-config-manifest.json +0 -4
- package/.next/server/pages/404.html +0 -1
- package/.next/server/pages/500.html +0 -1
- package/.next/server/prefetch-hints.json +0 -1
- package/.next/static/5uGIuH8oXybqivkeHIrqb/_ssgManifest.js +0 -1
- package/.next/static/chunks/07-tub5vqy.fk.js +0 -1
- package/.next/static/chunks/0wq3_34inbzj6.js +0 -1
- package/.next/trace +0 -1
- package/.next/trace-build +0 -1
- /package/.next/static/{5uGIuH8oXybqivkeHIrqb → ZtSBLhTiGqKpNetcymWiC}/_buildManifest.js +0 -0
- /package/.next/static/{5uGIuH8oXybqivkeHIrqb → ZtSBLhTiGqKpNetcymWiC}/_clientMiddlewareManifest.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
|
-
|
|
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
|
|
64
|
-
|
|
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]
|
|
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
|
-
|
|
101
|
+
// Setup process environment with injected keys
|
|
102
|
+
const customEnv = {
|
|
103
|
+
...process.env,
|
|
104
|
+
TERM: "xterm-256color",
|
|
105
|
+
COLORTERM: "truecolor",
|
|
106
|
+
} as Record<string, string>;
|
|
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
|
|
103
|
-
this.ptyProcess = this.ptyModule!.spawn(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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" &&
|
|
91
|
-
const session = getSessionCallback ? getSessionCallback(
|
|
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" &&
|
|
125
|
+
if (msg.type === "resize" && ws.sessionId) {
|
|
119
126
|
const { cols, rows } = msg;
|
|
120
|
-
const session = getSessionCallback ? getSessionCallback(
|
|
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 (
|
|
132
|
-
const session = getSessionCallback ? getSessionCallback(
|
|
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.");
|
package/.next/BUILD_ID
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
5uGIuH8oXybqivkeHIrqb
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"/_global-error/page": "/_global-error",
|
|
3
|
-
"/_not-found/page": "/_not-found",
|
|
4
|
-
"/api/context/aider/route": "/api/context/aider",
|
|
5
|
-
"/api/context/claude/route": "/api/context/claude",
|
|
6
|
-
"/api/context/route": "/api/context",
|
|
7
|
-
"/api/context/ssh/route": "/api/context/ssh",
|
|
8
|
-
"/api/files/route": "/api/files",
|
|
9
|
-
"/api/git/route": "/api/git",
|
|
10
|
-
"/api/recents/route": "/api/recents",
|
|
11
|
-
"/api/sessions/inject/route": "/api/sessions/inject",
|
|
12
|
-
"/api/sessions/input/route": "/api/sessions/input",
|
|
13
|
-
"/api/sessions/launch/route": "/api/sessions/launch",
|
|
14
|
-
"/api/sessions/route": "/api/sessions",
|
|
15
|
-
"/api/sessions/scope/route": "/api/sessions/scope",
|
|
16
|
-
"/api/sessions/start/route": "/api/sessions/start",
|
|
17
|
-
"/api/sessions/stats/route": "/api/sessions/stats",
|
|
18
|
-
"/api/sessions/stop/route": "/api/sessions/stop",
|
|
19
|
-
"/page": "/"
|
|
20
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"route": "/",
|
|
4
|
-
"firstLoadUncompressedJsBytes": 536938,
|
|
5
|
-
"firstLoadChunkPaths": [
|
|
6
|
-
".next\\static\\chunks\\0dbhjjzl8qfwv.js",
|
|
7
|
-
".next\\static\\chunks\\07-tub5vqy.fk.js",
|
|
8
|
-
".next\\static\\chunks\\0fpki3y6aj230.js",
|
|
9
|
-
".next\\static\\chunks\\140ovxvjat1ch.js",
|
|
10
|
-
".next\\static\\chunks\\07lhk_q6pmm3r.js",
|
|
11
|
-
".next\\static\\chunks\\turbopack-08fpdsd.-ns2y.js"
|
|
12
|
-
]
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"route": "/_not-found",
|
|
16
|
-
"firstLoadUncompressedJsBytes": 514388,
|
|
17
|
-
"firstLoadChunkPaths": [
|
|
18
|
-
".next\\static\\chunks\\0dbhjjzl8qfwv.js",
|
|
19
|
-
".next\\static\\chunks\\0fpki3y6aj230.js",
|
|
20
|
-
".next\\static\\chunks\\140ovxvjat1ch.js",
|
|
21
|
-
".next\\static\\chunks\\07lhk_q6pmm3r.js",
|
|
22
|
-
".next\\static\\chunks\\turbopack-08fpdsd.-ns2y.js"
|
|
23
|
-
]
|
|
24
|
-
}
|
|
25
|
-
]
|
package/.next/export-marker.json
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"images": {
|
|
4
|
-
"deviceSizes": [
|
|
5
|
-
640,
|
|
6
|
-
750,
|
|
7
|
-
828,
|
|
8
|
-
1080,
|
|
9
|
-
1200,
|
|
10
|
-
1920,
|
|
11
|
-
2048,
|
|
12
|
-
3840
|
|
13
|
-
],
|
|
14
|
-
"imageSizes": [
|
|
15
|
-
32,
|
|
16
|
-
48,
|
|
17
|
-
64,
|
|
18
|
-
96,
|
|
19
|
-
128,
|
|
20
|
-
256,
|
|
21
|
-
384
|
|
22
|
-
],
|
|
23
|
-
"path": "/_next/image",
|
|
24
|
-
"loader": "default",
|
|
25
|
-
"loaderFile": "",
|
|
26
|
-
"domains": [],
|
|
27
|
-
"disableStaticImages": false,
|
|
28
|
-
"minimumCacheTTL": 14400,
|
|
29
|
-
"formats": [
|
|
30
|
-
"image/webp"
|
|
31
|
-
],
|
|
32
|
-
"maximumRedirects": 3,
|
|
33
|
-
"maximumResponseBody": 50000000,
|
|
34
|
-
"dangerouslyAllowLocalIP": false,
|
|
35
|
-
"dangerouslyAllowSVG": false,
|
|
36
|
-
"contentSecurityPolicy": "script-src 'none'; frame-src 'none'; sandbox;",
|
|
37
|
-
"contentDispositionType": "attachment",
|
|
38
|
-
"localPatterns": [
|
|
39
|
-
{
|
|
40
|
-
"pathname": "^(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$))(?:(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$)).)*?)\\/?)$",
|
|
41
|
-
"search": ""
|
|
42
|
-
}
|
|
43
|
-
],
|
|
44
|
-
"remotePatterns": [],
|
|
45
|
-
"qualities": [
|
|
46
|
-
75
|
|
47
|
-
],
|
|
48
|
-
"unoptimized": false,
|
|
49
|
-
"customCacheHandler": false,
|
|
50
|
-
"sizes": [
|
|
51
|
-
640,
|
|
52
|
-
750,
|
|
53
|
-
828,
|
|
54
|
-
1080,
|
|
55
|
-
1200,
|
|
56
|
-
1920,
|
|
57
|
-
2048,
|
|
58
|
-
3840,
|
|
59
|
-
32,
|
|
60
|
-
48,
|
|
61
|
-
64,
|
|
62
|
-
96,
|
|
63
|
-
128,
|
|
64
|
-
256,
|
|
65
|
-
384
|
|
66
|
-
]
|
|
67
|
-
}
|
|
68
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 4,
|
|
3
|
-
"routes": {
|
|
4
|
-
"/": {
|
|
5
|
-
"experimentalBypassFor": [
|
|
6
|
-
{
|
|
7
|
-
"type": "header",
|
|
8
|
-
"key": "next-action"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"type": "header",
|
|
12
|
-
"key": "content-type",
|
|
13
|
-
"value": "multipart/form-data;.*"
|
|
14
|
-
}
|
|
15
|
-
],
|
|
16
|
-
"initialRevalidateSeconds": false,
|
|
17
|
-
"srcRoute": "/",
|
|
18
|
-
"dataRoute": "/index.rsc",
|
|
19
|
-
"allowHeader": [
|
|
20
|
-
"host",
|
|
21
|
-
"x-matched-path",
|
|
22
|
-
"x-prerender-revalidate",
|
|
23
|
-
"x-prerender-revalidate-if-generated",
|
|
24
|
-
"x-next-revalidated-tags",
|
|
25
|
-
"x-next-revalidate-tag-token"
|
|
26
|
-
]
|
|
27
|
-
},
|
|
28
|
-
"/_global-error": {
|
|
29
|
-
"experimentalBypassFor": [
|
|
30
|
-
{
|
|
31
|
-
"type": "header",
|
|
32
|
-
"key": "next-action"
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"type": "header",
|
|
36
|
-
"key": "content-type",
|
|
37
|
-
"value": "multipart/form-data;.*"
|
|
38
|
-
}
|
|
39
|
-
],
|
|
40
|
-
"initialRevalidateSeconds": false,
|
|
41
|
-
"srcRoute": "/_global-error",
|
|
42
|
-
"dataRoute": "/_global-error.rsc",
|
|
43
|
-
"allowHeader": [
|
|
44
|
-
"host",
|
|
45
|
-
"x-matched-path",
|
|
46
|
-
"x-prerender-revalidate",
|
|
47
|
-
"x-prerender-revalidate-if-generated",
|
|
48
|
-
"x-next-revalidated-tags",
|
|
49
|
-
"x-next-revalidate-tag-token"
|
|
50
|
-
]
|
|
51
|
-
},
|
|
52
|
-
"/_not-found": {
|
|
53
|
-
"initialStatus": 404,
|
|
54
|
-
"experimentalBypassFor": [
|
|
55
|
-
{
|
|
56
|
-
"type": "header",
|
|
57
|
-
"key": "next-action"
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"type": "header",
|
|
61
|
-
"key": "content-type",
|
|
62
|
-
"value": "multipart/form-data;.*"
|
|
63
|
-
}
|
|
64
|
-
],
|
|
65
|
-
"initialRevalidateSeconds": false,
|
|
66
|
-
"srcRoute": "/_not-found",
|
|
67
|
-
"dataRoute": "/_not-found.rsc",
|
|
68
|
-
"allowHeader": [
|
|
69
|
-
"host",
|
|
70
|
-
"x-matched-path",
|
|
71
|
-
"x-prerender-revalidate",
|
|
72
|
-
"x-prerender-revalidate-if-generated",
|
|
73
|
-
"x-next-revalidated-tags",
|
|
74
|
-
"x-next-revalidate-tag-token"
|
|
75
|
-
]
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
"dynamicRoutes": {},
|
|
79
|
-
"notFoundRoutes": [],
|
|
80
|
-
"preview": {
|
|
81
|
-
"previewModeId": "bbfc1b1aba1e28878cd386df9646fb77",
|
|
82
|
-
"previewModeSigningKey": "2141cd2ce4e2ff748107a61645b3daa7d420b95f846ca67c449a521b7459ed3c",
|
|
83
|
-
"previewModeEncryptionKey": "4fb87ad6d0cdecfde6bfe26b7601a6933ae11f2c38e5982a057ac21b5b49c046"
|
|
84
|
-
}
|
|
85
|
-
}
|