gsd-pi 2.64.0-dev.1a85e85 → 2.64.0-dev.4ac9673
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/headless.js +3 -1
- package/dist/resources/extensions/bg-shell/bg-shell-lifecycle.js +22 -7
- package/dist/resources/extensions/bg-shell/process-manager.js +6 -1
- package/dist/resources/extensions/gsd/bootstrap/db-tools.js +24 -13
- package/dist/resources/extensions/gsd/bootstrap/register-shortcuts.js +1 -0
- package/dist/resources/extensions/gsd/commands/handlers/notifications-handler.js +1 -0
- package/dist/resources/extensions/gsd/notification-overlay.js +13 -9
- package/dist/resources/extensions/gsd/notification-store.js +10 -5
- package/dist/web/standalone/.next/BUILD_ID +1 -1
- package/dist/web/standalone/.next/app-path-routes-manifest.json +18 -18
- package/dist/web/standalone/.next/build-manifest.json +2 -2
- package/dist/web/standalone/.next/prerender-manifest.json +3 -3
- package/dist/web/standalone/.next/server/app/_global-error.html +2 -2
- package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.html +1 -1
- package/dist/web/standalone/.next/server/app/index.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app-paths-manifest.json +18 -18
- package/dist/web/standalone/.next/server/pages/404.html +1 -1
- package/dist/web/standalone/.next/server/pages/500.html +2 -2
- package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
- package/package.json +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts +1 -0
- package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +8 -0
- package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +6 -0
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +36 -0
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/packages/pi-coding-agent/src/modes/interactive/components/tool-execution.ts +9 -0
- package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +33 -0
- package/packages/pi-tui/dist/__tests__/overlay-layout.test.d.ts +2 -0
- package/packages/pi-tui/dist/__tests__/overlay-layout.test.d.ts.map +1 -0
- package/packages/pi-tui/dist/__tests__/overlay-layout.test.js +66 -0
- package/packages/pi-tui/dist/__tests__/overlay-layout.test.js.map +1 -0
- package/packages/pi-tui/dist/components/loader.d.ts +4 -2
- package/packages/pi-tui/dist/components/loader.d.ts.map +1 -1
- package/packages/pi-tui/dist/components/loader.js +27 -9
- package/packages/pi-tui/dist/components/loader.js.map +1 -1
- package/packages/pi-tui/dist/components/text.d.ts.map +1 -1
- package/packages/pi-tui/dist/components/text.js +2 -0
- package/packages/pi-tui/dist/components/text.js.map +1 -1
- package/packages/pi-tui/dist/overlay-layout.d.ts.map +1 -1
- package/packages/pi-tui/dist/overlay-layout.js +12 -1
- package/packages/pi-tui/dist/overlay-layout.js.map +1 -1
- package/packages/pi-tui/dist/tui.d.ts +4 -0
- package/packages/pi-tui/dist/tui.d.ts.map +1 -1
- package/packages/pi-tui/dist/tui.js +35 -0
- package/packages/pi-tui/dist/tui.js.map +1 -1
- package/packages/pi-tui/src/__tests__/overlay-layout.test.ts +82 -0
- package/packages/pi-tui/src/components/loader.ts +27 -10
- package/packages/pi-tui/src/components/text.ts +1 -0
- package/packages/pi-tui/src/overlay-layout.ts +13 -1
- package/packages/pi-tui/src/tui.ts +34 -0
- package/src/resources/extensions/bg-shell/bg-shell-lifecycle.ts +19 -7
- package/src/resources/extensions/bg-shell/process-manager.ts +8 -2
- package/src/resources/extensions/gsd/bootstrap/db-tools.ts +25 -13
- package/src/resources/extensions/gsd/bootstrap/register-shortcuts.ts +1 -0
- package/src/resources/extensions/gsd/commands/handlers/notifications-handler.ts +1 -0
- package/src/resources/extensions/gsd/notification-overlay.ts +14 -9
- package/src/resources/extensions/gsd/notification-store.ts +8 -3
- package/src/resources/extensions/gsd/tests/complete-slice-string-coercion.test.ts +36 -0
- package/src/resources/extensions/gsd/tests/notification-store.test.ts +34 -1
- /package/dist/web/standalone/.next/static/{ffabZXz8JdN3EzX9EKt-R → 1btalZ1AEGX9RBvxBqJlC}/_buildManifest.js +0 -0
- /package/dist/web/standalone/.next/static/{ffabZXz8JdN3EzX9EKt-R → 1btalZ1AEGX9RBvxBqJlC}/_ssgManifest.js +0 -0
package/dist/headless.js
CHANGED
|
@@ -184,7 +184,9 @@ async function runHeadlessOnce(options, restartCount) {
|
|
|
184
184
|
// per-unit timeout via auto-supervisor. Disable the overall timeout unless the
|
|
185
185
|
// user explicitly set --timeout.
|
|
186
186
|
const isAutoMode = options.command === 'auto';
|
|
187
|
-
|
|
187
|
+
// discuss and plan are multi-turn: they involve multiple question rounds,
|
|
188
|
+
// codebase scanning, and artifact writing before the workflow completes (#3547).
|
|
189
|
+
const isMultiTurnCommand = options.command === 'auto' || options.command === 'next' || options.command === 'discuss' || options.command === 'plan';
|
|
188
190
|
if (isAutoMode && options.timeout === 300_000) {
|
|
189
191
|
options.timeout = 0;
|
|
190
192
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* context injection, process discovery, footer widget, and periodic maintenance.
|
|
4
4
|
*/
|
|
5
5
|
import { truncateToWidth, visibleWidth, } from "@gsd/pi-tui";
|
|
6
|
-
import { processes, pendingAlerts, cleanupAll, cleanupSessionProcesses, persistManifest, loadManifest, pruneDeadProcesses, } from "./process-manager.js";
|
|
6
|
+
import { processes, pendingAlerts, pushAlert, cleanupAll, cleanupSessionProcesses, persistManifest, loadManifest, pruneDeadProcesses, } from "./process-manager.js";
|
|
7
7
|
import { formatUptime, getBgShellLiveCwd, resolveBgShellPersistenceCwd } from "./utilities.js";
|
|
8
8
|
import { formatTokenCount } from "../shared/format-utils.js";
|
|
9
9
|
export function registerBgShellLifecycle(pi, state) {
|
|
@@ -15,17 +15,32 @@ export function registerBgShellLifecycle(pi, state) {
|
|
|
15
15
|
state.latestCtx = { ...state.latestCtx, cwd: syncedCwd };
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
// Clean up on session shutdown
|
|
19
|
-
pi.on("session_shutdown", async () => {
|
|
20
|
-
cleanupAll();
|
|
21
|
-
});
|
|
22
18
|
// Register signal handlers to clean up bg processes on unexpected exit (fixes #428)
|
|
23
19
|
const signalCleanup = () => {
|
|
24
20
|
cleanupAll();
|
|
21
|
+
// Also kill bash-tool spawned children that bg-shell doesn't track
|
|
22
|
+
try {
|
|
23
|
+
const { listDescendants } = require("@gsd/native");
|
|
24
|
+
const descendants = listDescendants(process.pid);
|
|
25
|
+
for (const childPid of descendants) {
|
|
26
|
+
try {
|
|
27
|
+
process.kill(childPid, "SIGKILL");
|
|
28
|
+
}
|
|
29
|
+
catch { }
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
catch { }
|
|
25
33
|
};
|
|
26
34
|
process.on("SIGTERM", signalCleanup);
|
|
27
35
|
process.on("SIGINT", signalCleanup);
|
|
28
36
|
process.on("beforeExit", signalCleanup);
|
|
37
|
+
// Clean up on session shutdown — remove signal handlers to prevent accumulation
|
|
38
|
+
pi.on("session_shutdown", async () => {
|
|
39
|
+
process.off("SIGTERM", signalCleanup);
|
|
40
|
+
process.off("SIGINT", signalCleanup);
|
|
41
|
+
process.off("beforeExit", signalCleanup);
|
|
42
|
+
cleanupAll();
|
|
43
|
+
});
|
|
29
44
|
// ── Compaction Awareness: Survive Context Resets ───────────────
|
|
30
45
|
/** Build a compact state summary of all alive processes for context re-injection */
|
|
31
46
|
function buildProcessStateAlert(reason) {
|
|
@@ -39,7 +54,7 @@ export function registerBgShellLifecycle(pi, state) {
|
|
|
39
54
|
const groupInfo = p.group ? ` [${p.group}]` : "";
|
|
40
55
|
return ` - id:${p.id} "${p.label}" [${p.processType}] status:${p.status} uptime:${formatUptime(Date.now() - p.startedAt)}${portInfo}${urlInfo}${errInfo}${groupInfo}`;
|
|
41
56
|
}).join("\n");
|
|
42
|
-
|
|
57
|
+
pushAlert(null, `${reason} ${alive.length} background process(es) are still running:\n${processSummaries}\nUse bg_shell digest/output/kill with these IDs.`);
|
|
43
58
|
}
|
|
44
59
|
// After compaction, the LLM loses all memory of running processes.
|
|
45
60
|
// Queue a detailed alert so the next before_agent_start injects full state.
|
|
@@ -108,7 +123,7 @@ export function registerBgShellLifecycle(pi, state) {
|
|
|
108
123
|
}
|
|
109
124
|
if (surviving.length > 0) {
|
|
110
125
|
const summary = surviving.map(s => ` - ${s.id}: ${s.label} (pid ${s.pid}, type: ${s.processType}${s.group ? `, group: ${s.group}` : ""})`).join("\n");
|
|
111
|
-
|
|
126
|
+
pushAlert(null, `${surviving.length} background process(es) from previous session still running:\n${summary}\n Note: These processes are outside bg_shell's control. Kill them manually if needed.`);
|
|
112
127
|
}
|
|
113
128
|
}
|
|
114
129
|
});
|
|
@@ -16,6 +16,7 @@ import { startPortProbing, transitionToReady } from "./readiness-detector.js";
|
|
|
16
16
|
export const processes = new Map();
|
|
17
17
|
/** Pending alerts to inject into the next agent context */
|
|
18
18
|
export let pendingAlerts = [];
|
|
19
|
+
const MAX_PENDING_ALERTS = 50;
|
|
19
20
|
/** Replace the pendingAlerts array (used by the extension entry point) */
|
|
20
21
|
export function setPendingAlerts(alerts) {
|
|
21
22
|
pendingAlerts = alerts;
|
|
@@ -41,7 +42,11 @@ export function addEvent(bg, event) {
|
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
export function pushAlert(bg, message) {
|
|
44
|
-
|
|
45
|
+
const prefix = bg ? `[bg:${bg.id} ${bg.label}] ` : "";
|
|
46
|
+
pendingAlerts.push(`${prefix}${message}`);
|
|
47
|
+
if (pendingAlerts.length > MAX_PENDING_ALERTS) {
|
|
48
|
+
pendingAlerts.splice(0, pendingAlerts.length - MAX_PENDING_ALERTS);
|
|
49
|
+
}
|
|
45
50
|
}
|
|
46
51
|
export function getInfo(p) {
|
|
47
52
|
return {
|
|
@@ -768,31 +768,42 @@ export function registerDbTools(pi) {
|
|
|
768
768
|
return m ? [m[1].trim(), m[2].trim()] : [s.trim(), ""];
|
|
769
769
|
};
|
|
770
770
|
const coerced = { ...params };
|
|
771
|
-
|
|
771
|
+
// Coerce simple string-array fields: LLMs sometimes pass a plain string
|
|
772
|
+
// instead of a single-element array (#3585).
|
|
773
|
+
const wrapArray = (v) => v == null ? [] : Array.isArray(v) ? v : [v];
|
|
774
|
+
coerced.provides = wrapArray(params.provides);
|
|
775
|
+
coerced.keyFiles = wrapArray(params.keyFiles);
|
|
776
|
+
coerced.keyDecisions = wrapArray(params.keyDecisions);
|
|
777
|
+
coerced.patternsEstablished = wrapArray(params.patternsEstablished);
|
|
778
|
+
coerced.observabilitySurfaces = wrapArray(params.observabilitySurfaces);
|
|
779
|
+
coerced.requirementsSurfaced = wrapArray(params.requirementsSurfaced);
|
|
780
|
+
coerced.drillDownPaths = wrapArray(params.drillDownPaths);
|
|
781
|
+
coerced.affects = wrapArray(params.affects);
|
|
782
|
+
coerced.filesModified = wrapArray(params.filesModified).map((f) => {
|
|
772
783
|
if (typeof f !== "string")
|
|
773
784
|
return f;
|
|
774
785
|
const [path, description] = splitPair(f);
|
|
775
786
|
return { path, description };
|
|
776
787
|
});
|
|
777
|
-
coerced.requires = (params.requires
|
|
788
|
+
coerced.requires = wrapArray(params.requires).map((r) => {
|
|
778
789
|
if (typeof r !== "string")
|
|
779
790
|
return r;
|
|
780
791
|
const [slice, provides] = splitPair(r);
|
|
781
792
|
return { slice, provides };
|
|
782
793
|
});
|
|
783
|
-
coerced.requirementsAdvanced = (params.requirementsAdvanced
|
|
794
|
+
coerced.requirementsAdvanced = wrapArray(params.requirementsAdvanced).map((r) => {
|
|
784
795
|
if (typeof r !== "string")
|
|
785
796
|
return r;
|
|
786
797
|
const [id, how] = splitPair(r);
|
|
787
798
|
return { id, how };
|
|
788
799
|
});
|
|
789
|
-
coerced.requirementsValidated = (params.requirementsValidated
|
|
800
|
+
coerced.requirementsValidated = wrapArray(params.requirementsValidated).map((r) => {
|
|
790
801
|
if (typeof r !== "string")
|
|
791
802
|
return r;
|
|
792
803
|
const [id, proof] = splitPair(r);
|
|
793
804
|
return { id, proof };
|
|
794
805
|
});
|
|
795
|
-
coerced.requirementsInvalidated = (params.requirementsInvalidated
|
|
806
|
+
coerced.requirementsInvalidated = wrapArray(params.requirementsInvalidated).map((r) => {
|
|
796
807
|
if (typeof r !== "string")
|
|
797
808
|
return r;
|
|
798
809
|
const [id, what] = splitPair(r);
|
|
@@ -851,14 +862,14 @@ export function registerDbTools(pi) {
|
|
|
851
862
|
deviations: Type.Optional(Type.String({ description: "Deviations from the slice plan, or 'None.'" })),
|
|
852
863
|
knownLimitations: Type.Optional(Type.String({ description: "Known limitations or gaps, or 'None.'" })),
|
|
853
864
|
followUps: Type.Optional(Type.String({ description: "Follow-up work discovered during execution, or 'None.'" })),
|
|
854
|
-
keyFiles: Type.Optional(Type.Array(Type.String(), { description: "Key files created or modified" })),
|
|
855
|
-
keyDecisions: Type.Optional(Type.Array(Type.String(), { description: "Key decisions made during this slice" })),
|
|
856
|
-
patternsEstablished: Type.Optional(Type.Array(Type.String(), { description: "Patterns established by this slice" })),
|
|
857
|
-
observabilitySurfaces: Type.Optional(Type.Array(Type.String(), { description: "Observability surfaces added" })),
|
|
858
|
-
provides: Type.Optional(Type.Array(Type.String(), { description: "What this slice provides to downstream slices" })),
|
|
859
|
-
requirementsSurfaced: Type.Optional(Type.Array(Type.String(), { description: "New requirements surfaced" })),
|
|
860
|
-
drillDownPaths: Type.Optional(Type.Array(Type.String(), { description: "Paths to task summaries for drill-down" })),
|
|
861
|
-
affects: Type.Optional(Type.Array(Type.String(), { description: "Downstream slices affected" })),
|
|
865
|
+
keyFiles: Type.Optional(Type.Union([Type.Array(Type.String()), Type.String()], { description: "Key files created or modified" })),
|
|
866
|
+
keyDecisions: Type.Optional(Type.Union([Type.Array(Type.String()), Type.String()], { description: "Key decisions made during this slice" })),
|
|
867
|
+
patternsEstablished: Type.Optional(Type.Union([Type.Array(Type.String()), Type.String()], { description: "Patterns established by this slice" })),
|
|
868
|
+
observabilitySurfaces: Type.Optional(Type.Union([Type.Array(Type.String()), Type.String()], { description: "Observability surfaces added" })),
|
|
869
|
+
provides: Type.Optional(Type.Union([Type.Array(Type.String()), Type.String()], { description: "What this slice provides to downstream slices" })),
|
|
870
|
+
requirementsSurfaced: Type.Optional(Type.Union([Type.Array(Type.String()), Type.String()], { description: "New requirements surfaced" })),
|
|
871
|
+
drillDownPaths: Type.Optional(Type.Union([Type.Array(Type.String()), Type.String()], { description: "Paths to task summaries for drill-down" })),
|
|
872
|
+
affects: Type.Optional(Type.Union([Type.Array(Type.String()), Type.String()], { description: "Downstream slices affected" })),
|
|
862
873
|
requirementsAdvanced: Type.Optional(Type.Array(Type.Union([
|
|
863
874
|
Type.Object({
|
|
864
875
|
id: Type.String({ description: "Requirement ID" }),
|
|
@@ -133,12 +133,16 @@ export class GSDNotificationOverlay {
|
|
|
133
133
|
return this.cachedLines;
|
|
134
134
|
}
|
|
135
135
|
const content = this.buildContentLines(width);
|
|
136
|
-
const
|
|
137
|
-
const
|
|
138
|
-
const visibleContentRows = Math.max(1, viewportHeight - chromeHeight);
|
|
136
|
+
const maxVisibleRows = Math.max(5, process.stdout.rows ? process.stdout.rows - 8 : 24) - 2;
|
|
137
|
+
const visibleContentRows = Math.min(content.length, maxVisibleRows);
|
|
139
138
|
const maxScroll = Math.max(0, content.length - visibleContentRows);
|
|
140
139
|
this.scrollOffset = Math.min(this.scrollOffset, maxScroll);
|
|
141
140
|
const visibleContent = content.slice(this.scrollOffset, this.scrollOffset + visibleContentRows);
|
|
141
|
+
// Pad to consistent height so filter changes don't leave ghost artifacts
|
|
142
|
+
// (differential renderer can't clear old overlay positions)
|
|
143
|
+
while (visibleContent.length < maxVisibleRows) {
|
|
144
|
+
visibleContent.push("");
|
|
145
|
+
}
|
|
142
146
|
const lines = this.wrapInBox(visibleContent, width);
|
|
143
147
|
this.cachedWidth = width;
|
|
144
148
|
this.cachedLines = lines;
|
|
@@ -212,12 +216,12 @@ export class GSDNotificationOverlay {
|
|
|
212
216
|
: th.fg("dim", icon);
|
|
213
217
|
const time = th.fg("dim", formatTimestamp(entry.ts));
|
|
214
218
|
const source = entry.source === "workflow-logger" ? th.fg("dim", " [engine]") : "";
|
|
215
|
-
//
|
|
216
|
-
const
|
|
217
|
-
const
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
lines.push(row(`${
|
|
219
|
+
// Measure actual prefix width to truncate message accurately
|
|
220
|
+
const prefix = `${coloredIcon} ${time}${source} `;
|
|
221
|
+
const prefixWidth = visibleWidth(prefix);
|
|
222
|
+
const msgMaxWidth = Math.max(10, contentWidth - prefixWidth);
|
|
223
|
+
const msg = truncateToWidth(entry.message, msgMaxWidth, "…");
|
|
224
|
+
lines.push(row(`${prefix}${msg}`));
|
|
221
225
|
}
|
|
222
226
|
return lines;
|
|
223
227
|
}
|
|
@@ -251,18 +251,23 @@ function _withLock(basePath, fn) {
|
|
|
251
251
|
break;
|
|
252
252
|
}
|
|
253
253
|
}
|
|
254
|
+
// Only run the mutation if we actually own the lock
|
|
255
|
+
const ownsLock = fd !== null;
|
|
254
256
|
try {
|
|
255
|
-
|
|
256
|
-
|
|
257
|
+
if (ownsLock && fd !== null) {
|
|
258
|
+
// Write our PID timestamp into the lock for stale detection
|
|
257
259
|
writeFileSync(lockPath, String(Date.now()), "utf-8");
|
|
258
260
|
closeSync(fd);
|
|
259
261
|
}
|
|
260
262
|
return fn();
|
|
261
263
|
}
|
|
262
264
|
finally {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
+
// Only delete the lock if we created it — never remove another process's lock
|
|
266
|
+
if (ownsLock) {
|
|
267
|
+
try {
|
|
268
|
+
unlinkSync(lockPath);
|
|
269
|
+
}
|
|
270
|
+
catch { /* best-effort cleanup */ }
|
|
265
271
|
}
|
|
266
|
-
catch { /* best-effort cleanup */ }
|
|
267
272
|
}
|
|
268
273
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1btalZ1AEGX9RBvxBqJlC
|
|
@@ -1,47 +1,47 @@
|
|
|
1
1
|
{
|
|
2
|
-
"/_global-error/page": "/_global-error",
|
|
3
2
|
"/_not-found/page": "/_not-found",
|
|
3
|
+
"/_global-error/page": "/_global-error",
|
|
4
4
|
"/api/bridge-terminal/input/route": "/api/bridge-terminal/input",
|
|
5
|
+
"/api/bridge-terminal/resize/route": "/api/bridge-terminal/resize",
|
|
6
|
+
"/api/dev-mode/route": "/api/dev-mode",
|
|
5
7
|
"/api/boot/route": "/api/boot",
|
|
6
|
-
"/api/
|
|
7
|
-
"/api/browse-directories/route": "/api/browse-directories",
|
|
8
|
+
"/api/cleanup/route": "/api/cleanup",
|
|
8
9
|
"/api/doctor/route": "/api/doctor",
|
|
10
|
+
"/api/browse-directories/route": "/api/browse-directories",
|
|
9
11
|
"/api/export-data/route": "/api/export-data",
|
|
10
|
-
"/api/cleanup/route": "/api/cleanup",
|
|
11
|
-
"/api/bridge-terminal/resize/route": "/api/bridge-terminal/resize",
|
|
12
12
|
"/api/forensics/route": "/api/forensics",
|
|
13
|
-
"/api/captures/route": "/api/captures",
|
|
14
13
|
"/api/git/route": "/api/git",
|
|
15
14
|
"/api/experimental/route": "/api/experimental",
|
|
16
|
-
"/api/hooks/route": "/api/hooks",
|
|
17
|
-
"/api/dev-mode/route": "/api/dev-mode",
|
|
18
15
|
"/api/history/route": "/api/history",
|
|
16
|
+
"/api/captures/route": "/api/captures",
|
|
19
17
|
"/api/inspect/route": "/api/inspect",
|
|
18
|
+
"/api/hooks/route": "/api/hooks",
|
|
20
19
|
"/api/knowledge/route": "/api/knowledge",
|
|
20
|
+
"/api/bridge-terminal/stream/route": "/api/bridge-terminal/stream",
|
|
21
21
|
"/api/live-state/route": "/api/live-state",
|
|
22
22
|
"/api/notifications/route": "/api/notifications",
|
|
23
23
|
"/api/recovery/route": "/api/recovery",
|
|
24
|
-
"/api/onboarding/route": "/api/onboarding",
|
|
25
24
|
"/api/projects/route": "/api/projects",
|
|
26
25
|
"/api/session/browser/route": "/api/session/browser",
|
|
27
26
|
"/api/session/command/route": "/api/session/command",
|
|
28
|
-
"/api/
|
|
29
|
-
"/api/
|
|
27
|
+
"/api/onboarding/route": "/api/onboarding",
|
|
28
|
+
"/api/session/events/route": "/api/session/events",
|
|
29
|
+
"/api/files/route": "/api/files",
|
|
30
30
|
"/api/shutdown/route": "/api/shutdown",
|
|
31
|
-
"/api/
|
|
31
|
+
"/api/settings-data/route": "/api/settings-data",
|
|
32
32
|
"/api/skill-health/route": "/api/skill-health",
|
|
33
|
+
"/api/session/manage/route": "/api/session/manage",
|
|
33
34
|
"/api/steer/route": "/api/steer",
|
|
34
|
-
"/api/
|
|
35
|
+
"/api/preferences/route": "/api/preferences",
|
|
35
36
|
"/api/terminal/input/route": "/api/terminal/input",
|
|
36
37
|
"/api/terminal/resize/route": "/api/terminal/resize",
|
|
37
|
-
"/api/switch-root/route": "/api/switch-root",
|
|
38
|
-
"/api/update/route": "/api/update",
|
|
39
38
|
"/api/terminal/sessions/route": "/api/terminal/sessions",
|
|
39
|
+
"/api/update/route": "/api/update",
|
|
40
40
|
"/api/undo/route": "/api/undo",
|
|
41
|
-
"/api/
|
|
41
|
+
"/api/switch-root/route": "/api/switch-root",
|
|
42
42
|
"/api/terminal/upload/route": "/api/terminal/upload",
|
|
43
|
-
"/api/terminal/stream/route": "/api/terminal/stream",
|
|
44
|
-
"/api/files/route": "/api/files",
|
|
45
43
|
"/api/remote-questions/route": "/api/remote-questions",
|
|
44
|
+
"/api/visualizer/route": "/api/visualizer",
|
|
45
|
+
"/api/terminal/stream/route": "/api/terminal/stream",
|
|
46
46
|
"/page": "/"
|
|
47
47
|
}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
],
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"lowPriorityFiles": [
|
|
7
|
-
"static/
|
|
8
|
-
"static/
|
|
7
|
+
"static/1btalZ1AEGX9RBvxBqJlC/_buildManifest.js",
|
|
8
|
+
"static/1btalZ1AEGX9RBvxBqJlC/_ssgManifest.js"
|
|
9
9
|
],
|
|
10
10
|
"rootMainFiles": [
|
|
11
11
|
"static/chunks/webpack-a1c1e452c6b32d04.js",
|
|
@@ -78,8 +78,8 @@
|
|
|
78
78
|
"dynamicRoutes": {},
|
|
79
79
|
"notFoundRoutes": [],
|
|
80
80
|
"preview": {
|
|
81
|
-
"previewModeId": "
|
|
82
|
-
"previewModeSigningKey": "
|
|
83
|
-
"previewModeEncryptionKey": "
|
|
81
|
+
"previewModeId": "4e11281b831507d1a0521d73b5b6e95d",
|
|
82
|
+
"previewModeSigningKey": "a47947ba8bee5fe3f07c0f3e729c21a6fcb7ead054069d954851367623f524d4",
|
|
83
|
+
"previewModeEncryptionKey": "117b026706287b44f65c03a5ce52c197c3d993f69d41cc16691ad4cb53767a06"
|
|
84
84
|
}
|
|
85
85
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
2
|
-
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-a1c1e452c6b32d04.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[90484,[],\"ViewportBoundary\"]\n9:I[90484,[],\"MetadataBoundary\"]\nb:I[27123,[],\"\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"
|
|
1
|
+
<!DOCTYPE html><!--1btalZ1AEGX9RBvxBqJlC--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a1c1e452c6b32d04.js"/><script src="/_next/static/chunks/4bd1b696-e5d7c65570c947b7.js" async=""></script><script src="/_next/static/chunks/3794-337d1ca25ad99a89.js" async=""></script><script src="/_next/static/chunks/main-app-fdab67f7802d7832.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
|
|
2
|
+
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-a1c1e452c6b32d04.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[90484,[],\"ViewportBoundary\"]\n9:I[90484,[],\"MetadataBoundary\"]\nb:I[27123,[],\"\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"1btalZ1AEGX9RBvxBqJlC\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{}]}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
7:I[90484,[],"ViewportBoundary"]
|
|
7
7
|
9:I[90484,[],"MetadataBoundary"]
|
|
8
8
|
b:I[27123,[],""]
|
|
9
|
-
0:{"P":null,"b":"
|
|
9
|
+
0:{"P":null,"b":"1btalZ1AEGX9RBvxBqJlC","c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["_global-error",{"children":["__PAGE__",{}]}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":["$","title",null,{"children":"500: Internal Server Error."}]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"lineHeight":"48px"},"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","paddingRight":23,"fontSize":24,"fontWeight":500,"verticalAlign":"top"},"children":"500"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"28px"},"children":"Internal Server Error."}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$L7",null,{"children":"$L8"}],["$","div",null,{"hidden":true,"children":["$","$L9",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$La"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$b",[]],"S":true}
|
|
10
10
|
8:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
11
11
|
6:null
|
|
12
12
|
a:[]
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
7:I[90484,[],"ViewportBoundary"]
|
|
7
7
|
9:I[90484,[],"MetadataBoundary"]
|
|
8
8
|
b:I[27123,[],""]
|
|
9
|
-
0:{"P":null,"b":"
|
|
9
|
+
0:{"P":null,"b":"1btalZ1AEGX9RBvxBqJlC","c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["_global-error",{"children":["__PAGE__",{}]}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":["$","title",null,{"children":"500: Internal Server Error."}]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"lineHeight":"48px"},"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","paddingRight":23,"fontSize":24,"fontWeight":500,"verticalAlign":"top"},"children":"500"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"28px"},"children":"Internal Server Error."}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$L7",null,{"children":"$L8"}],["$","div",null,{"hidden":true,"children":["$","$L9",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$La"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$b",[]],"S":true}
|
|
10
10
|
8:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
11
11
|
6:null
|
|
12
12
|
a:[]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[90484,[],"OutletBoundary"]
|
|
3
3
|
3:"$Sreact.suspense"
|
|
4
|
-
0:{"buildId":"
|
|
4
|
+
0:{"buildId":"1btalZ1AEGX9RBvxBqJlC","rsc":["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":["$","title",null,{"children":"500: Internal Server Error."}]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"lineHeight":"48px"},"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","paddingRight":23,"fontSize":24,"fontWeight":500,"verticalAlign":"top"},"children":"500"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"28px"},"children":"Internal Server Error."}]}]]}]}]}]]}],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"loading":null,"isPartial":false}
|
|
5
5
|
4:null
|
package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[57121,[],""]
|
|
3
3
|
3:I[74581,[],""]
|
|
4
|
-
0:{"buildId":"
|
|
4
|
+
0:{"buildId":"1btalZ1AEGX9RBvxBqJlC","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":null,"isPartial":false}
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
2:I[90484,[],"ViewportBoundary"]
|
|
3
3
|
3:I[90484,[],"MetadataBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
|
-
0:{"buildId":"
|
|
5
|
+
0:{"buildId":"1btalZ1AEGX9RBvxBqJlC","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"loading":null,"isPartial":false}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[57121,[],""]
|
|
3
3
|
3:I[74581,[],""]
|
|
4
|
-
0:{"buildId":"
|
|
4
|
+
0:{"buildId":"1btalZ1AEGX9RBvxBqJlC","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":null,"isPartial":false}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0:{"buildId":"
|
|
1
|
+
0:{"buildId":"1btalZ1AEGX9RBvxBqJlC","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"_global-error","paramType":null,"paramKey":"_global-error","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":false},"staleTime":300}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
1
|
+
<!DOCTYPE html><!--1btalZ1AEGX9RBvxBqJlC--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="preload" href="/_next/static/media/4cf2300e9c8272f7-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/93f479601ee12b01-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/de70bee13400563f.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/f6e8833d46e738d8.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a1c1e452c6b32d04.js"/><script src="/_next/static/chunks/4bd1b696-e5d7c65570c947b7.js" async=""></script><script src="/_next/static/chunks/3794-337d1ca25ad99a89.js" async=""></script><script src="/_next/static/chunks/main-app-fdab67f7802d7832.js" async=""></script><script src="/_next/static/chunks/4986-c2fc8845ce785303.js" async=""></script><script src="/_next/static/chunks/app/layout-a16c7a7ecdf0c2cf.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>GSD</title><meta name="description" content="The evolution of Get Shit Done — now a real coding agent. One command. Walk away. Come back to a built project."/><meta name="application-name" content="GSD"/><link rel="icon" href="/icon-light-32x32.png" media="(prefers-color-scheme: light)"/><link rel="icon" href="/icon-dark-32x32.png" media="(prefers-color-scheme: dark)"/><link rel="icon" href="/icon.svg" type="image/svg+xml"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_188709 __variable_9a8899 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","dark",null,["light","dark"],null,true,true)</script><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_next/static/chunks/webpack-a1c1e452c6b32d04.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[21942,[\"4986\",\"static/chunks/4986-c2fc8845ce785303.js\",\"7177\",\"static/chunks/app/layout-a16c7a7ecdf0c2cf.js\"],\"ThemeProvider\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:I[61549,[\"4986\",\"static/chunks/4986-c2fc8845ce785303.js\",\"7177\",\"static/chunks/app/layout-a16c7a7ecdf0c2cf.js\"],\"Toaster\"]\n6:I[90484,[],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\n9:I[90484,[],\"ViewportBoundary\"]\nb:I[90484,[],\"MetadataBoundary\"]\nd:I[27123,[],\"\"]\n:HL[\"/_next/static/media/4cf2300e9c8272f7-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/93f479601ee12b01-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/de70bee13400563f.css\",\"style\"]\n:HL[\"/_next/static/css/f6e8833d46e738d8.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"1btalZ1AEGX9RBvxBqJlC\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/de70bee13400563f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/f6e8833d46e738d8.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_188709 __variable_9a8899 font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"attribute\":\"class\",\"defaultTheme\":\"dark\",\"children\":[[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L5\",null,{\"position\":\"bottom-right\"}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[86869,[],\"IconMark\"]\n8:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"GSD\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"The evolution of Get Shit Done — now a real coding agent. One command. Walk away. Come back to a built project.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"GSD\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon-light-32x32.png\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/icon-dark-32x32.png\",\"media\":\"(prefers-color-scheme: dark)\"}],[\"$\",\"link\",\"5\",{\"rel\":\"icon\",\"href\":\"/icon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"$Le\",\"6\",{}]]\n"])</script></body></html>
|