quadwork 1.6.2 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -8
- package/bin/quadwork.js +42 -59
- package/bridges/discord/discord_bridge.py +3 -3
- package/out/404.html +1 -1
- package/out/__next.__PAGE__.txt +3 -3
- package/out/__next._full.txt +14 -14
- package/out/__next._head.txt +4 -4
- package/out/__next._index.txt +7 -7
- package/out/__next._tree.txt +2 -2
- package/out/_next/static/chunks/{0zy-ktdv5zuby.js → 00_f~dht-py.~.js} +1 -1
- package/out/_next/static/chunks/{0ksh60pbzmyjf.js → 01keua0t73paf.js} +13 -13
- package/out/_next/static/chunks/0ggc226h4xp_6.css +2 -0
- package/out/_next/static/chunks/14zyqqpdz2x7j.js +1 -0
- package/out/_next/static/chunks/{0o3_.p5ivp5sp.js → 152f2hu-ivy6f.js} +1 -1
- package/out/_next/static/jXvlZMZi9MNbHTOZg0eK3/_ssgManifest.js +1 -0
- package/out/_next/static/media/favicon.0yjarmrcdsq9k.ico +0 -0
- package/out/_not-found/__next._full.txt +13 -13
- package/out/_not-found/__next._head.txt +4 -4
- package/out/_not-found/__next._index.txt +7 -7
- package/out/_not-found/__next._not-found.__PAGE__.txt +2 -2
- package/out/_not-found/__next._not-found.txt +3 -3
- package/out/_not-found/__next._tree.txt +2 -2
- package/out/_not-found.html +1 -1
- package/out/_not-found.txt +13 -13
- package/out/app-shell/__next._full.txt +13 -13
- package/out/app-shell/__next._head.txt +4 -4
- package/out/app-shell/__next._index.txt +7 -7
- package/out/app-shell/__next._tree.txt +2 -2
- package/out/app-shell/__next.app-shell.__PAGE__.txt +2 -2
- package/out/app-shell/__next.app-shell.txt +3 -3
- package/out/app-shell.html +1 -1
- package/out/app-shell.txt +13 -13
- package/out/favicon.ico +0 -0
- package/out/icon.png +0 -0
- package/out/icon.svg +10 -4
- package/out/index.html +1 -1
- package/out/index.txt +14 -14
- package/out/project/_/__next._full.txt +14 -14
- package/out/project/_/__next._head.txt +4 -4
- package/out/project/_/__next._index.txt +7 -7
- package/out/project/_/__next._tree.txt +2 -2
- package/out/project/_/__next.project.$d$id.__PAGE__.txt +3 -3
- package/out/project/_/__next.project.$d$id.txt +3 -3
- package/out/project/_/__next.project.txt +3 -3
- package/out/project/_/queue/__next._full.txt +14 -14
- package/out/project/_/queue/__next._head.txt +4 -4
- package/out/project/_/queue/__next._index.txt +7 -7
- package/out/project/_/queue/__next._tree.txt +2 -2
- package/out/project/_/queue/__next.project.$d$id.queue.__PAGE__.txt +3 -3
- package/out/project/_/queue/__next.project.$d$id.queue.txt +3 -3
- package/out/project/_/queue/__next.project.$d$id.txt +3 -3
- package/out/project/_/queue/__next.project.txt +3 -3
- package/out/project/_/queue.html +1 -1
- package/out/project/_/queue.txt +14 -14
- package/out/project/_.html +1 -1
- package/out/project/_.txt +14 -14
- package/out/quadwork-symbol.svg +14 -0
- package/out/settings/__next._full.txt +14 -14
- package/out/settings/__next._head.txt +4 -4
- package/out/settings/__next._index.txt +7 -7
- package/out/settings/__next._tree.txt +2 -2
- package/out/settings/__next.settings.__PAGE__.txt +3 -3
- package/out/settings/__next.settings.txt +3 -3
- package/out/settings.html +1 -1
- package/out/settings.txt +14 -14
- package/out/setup/__next._full.txt +14 -14
- package/out/setup/__next._head.txt +4 -4
- package/out/setup/__next._index.txt +7 -7
- package/out/setup/__next._tree.txt +2 -2
- package/out/setup/__next.setup.__PAGE__.txt +3 -3
- package/out/setup/__next.setup.txt +3 -3
- package/out/setup.html +1 -1
- package/out/setup.txt +14 -14
- package/package.json +1 -1
- package/server/index.js +27 -15
- package/server/routes.discordBridge.test.js +5 -5
- package/server/routes.js +69 -206
- package/server/routes.telegramBridge.test.js +6 -6
- package/templates/config.toml +7 -7
- package/out/_next/static/AQ0US7_Pm9gOOelb-ks5q/_ssgManifest.js +0 -1
- package/out/_next/static/chunks/0j-zyy6.adwtl.css +0 -2
- package/out/_next/static/chunks/0n7b.b.q4nmo..js +0 -1
- package/out/_next/static/chunks/0~xrqi87fqraz.js +0 -1
- package/out/_next/static/chunks/12i404gkhv7q..js +0 -4
- package/out/_next/static/media/favicon.0x3dzn~oxb6tn.ico +0 -0
- package/out/project/_/memory/__next._full.txt +0 -21
- package/out/project/_/memory/__next._head.txt +0 -6
- package/out/project/_/memory/__next._index.txt +0 -8
- package/out/project/_/memory/__next._tree.txt +0 -3
- package/out/project/_/memory/__next.project.$d$id.memory.__PAGE__.txt +0 -6
- package/out/project/_/memory/__next.project.$d$id.memory.txt +0 -5
- package/out/project/_/memory/__next.project.$d$id.txt +0 -5
- package/out/project/_/memory/__next.project.txt +0 -5
- package/out/project/_/memory.html +0 -1
- package/out/project/_/memory.txt +0 -21
- /package/out/_next/static/{AQ0US7_Pm9gOOelb-ks5q → jXvlZMZi9MNbHTOZg0eK3}/_buildManifest.js +0 -0
- /package/out/_next/static/{AQ0US7_Pm9gOOelb-ks5q → jXvlZMZi9MNbHTOZg0eK3}/_clientMiddlewareManifest.js +0 -0
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
+
<img src="public/icon.png" alt="QuadWork" width="80" />
|
|
4
|
+
|
|
3
5
|
# QuadWork
|
|
4
6
|
|
|
5
7
|
### Your AI dev team while you sleep.
|
|
@@ -15,10 +17,9 @@
|
|
|
15
17
|
<p>
|
|
16
18
|
<a href="https://www.npmjs.com/package/quadwork"><img src="https://img.shields.io/npm/v/quadwork" alt="npm version" /></a>
|
|
17
19
|
<a href="https://www.npmjs.com/package/quadwork"><img src="https://img.shields.io/npm/dm/quadwork" alt="npm downloads" /></a>
|
|
18
|
-
<a href="https://github.com/realproject7/quadwork/releases/latest"><img src="https://img.shields.io/github/v/release/realproject7/quadwork" alt="latest release" /></a>
|
|
19
20
|
<img src="https://img.shields.io/badge/platform-macOS%20%7C%20Linux-lightgrey" alt="platform" />
|
|
20
21
|
<img src="https://img.shields.io/badge/runs-locally-00d4aa" alt="runs locally" />
|
|
21
|
-
<img src="https://img.shields.io/badge/
|
|
22
|
+
<img src="https://img.shields.io/badge/team-Head%20%C2%B7%20Dev%20%C2%B7%20RE1%20%C2%B7%20RE2-orange" alt="team: Head · Dev · RE1 · RE2" />
|
|
22
23
|
<a href="https://github.com/bcurts/agentchattr"><img src="https://img.shields.io/badge/built_on-AgentChattr-8b5cf6" alt="AgentChattr" /></a>
|
|
23
24
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License" /></a>
|
|
24
25
|
</p>
|
|
@@ -27,16 +28,44 @@
|
|
|
27
28
|
|
|
28
29
|
---
|
|
29
30
|
|
|
31
|
+
## What is QuadWork?
|
|
32
|
+
|
|
33
|
+
**QuadWork** is a local-first, open-source automation framework that
|
|
34
|
+
orchestrates a collaborative team of four autonomous AI agents — **Head, Dev,
|
|
35
|
+
and two Reviewers** — to manage a complete, production-grade GitHub workflow.
|
|
36
|
+
By enforcing strict safety rails such as mandatory two-person independent code
|
|
37
|
+
reviews and branch protection, it allows solo founders and engineers to ship
|
|
38
|
+
code 24/7 through a reliable "Issue → Branch → PR → Merge" loop while
|
|
39
|
+
maintaining high code quality without manual oversight.
|
|
40
|
+
|
|
41
|
+
[](https://www.youtube.com/watch?v=Q0814uXjYoQ)
|
|
42
|
+
|
|
43
|
+
### How QuadWork Orchestrates Your Workflow
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Issue → Branch → PR → Review × 2 → Merge
|
|
47
|
+
↑ │
|
|
48
|
+
└──────── next ticket ───────────────┘
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Head creates issues and assigns them to Dev. Dev opens a PR. Reviewer 1
|
|
52
|
+
and Reviewer 2 each review independently — approve, request changes, or
|
|
53
|
+
veto. Dev iterates until both approve. Head merges and picks the next
|
|
54
|
+
ticket. The cycle repeats autonomously until the batch is complete.
|
|
55
|
+
|
|
56
|
+
### Core Value Proposition
|
|
57
|
+
|
|
58
|
+
- **Autonomous Reliability:** Runs overnight batches using a scheduled trigger, so you can wake up to a queue of successfully merged pull requests.
|
|
59
|
+
- **Multi-Agent Governance:** Unlike single-agent tools, QuadWork uses a system of checks and balances where agents must convince each other through code review before merging to `main`.
|
|
60
|
+
- **Privacy & Control:** Operates as a local Express server on your machine, managing your configured LLMs (Claude, OpenAI, Gemini) and GitHub CLI sessions without third-party proxying.
|
|
61
|
+
- **Complete Visibility:** Features a comprehensive 4-quadrant dashboard with real-time agent terminals, chat history, and progress tracking.
|
|
62
|
+
|
|
30
63
|
## Why QuadWork?
|
|
31
64
|
|
|
32
65
|
Manually reviewing every AI-generated PR is exhausting. Letting one AI agent
|
|
33
66
|
push straight to `main` is how you end up rolling back broken migrations at
|
|
34
|
-
2am. QuadWork
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
- 🤖 **Runs 24/7** — agents keep working overnight while you rest
|
|
38
|
-
- 🛡️ **Always reviewed** — every PR needs **2 independent approvals** before merge
|
|
39
|
-
- 🔒 **Local-first** — the dashboard, terminals, chat server, and PTY sessions all run on your machine. The agents still make outbound calls to the LLM APIs you've configured (Claude / Codex / Gemini) and to GitHub, and the optional Telegram bridge mirrors chat to your phone. QuadWork itself doesn't host or proxy any of that traffic through a third party
|
|
67
|
+
2am. QuadWork solves this — you describe the work, kick off a batch, and come
|
|
68
|
+
back to merged PRs that were each reviewed twice before touching `main`.
|
|
40
69
|
|
|
41
70
|
## Who is QuadWork for?
|
|
42
71
|
|
package/bin/quadwork.js
CHANGED
|
@@ -26,6 +26,8 @@ const AGENTCHATTR_REPO = "https://github.com/bcurts/agentchattr.git";
|
|
|
26
26
|
// a loud warning instead of hard-failing — see installAgentChattr
|
|
27
27
|
// below.
|
|
28
28
|
const AGENTCHATTR_PIN = "3e71d4267572579e7ffeb83576645f90932c1849";
|
|
29
|
+
// #444: same pattern for realproject7/agentchattr-telegram.
|
|
30
|
+
const AGENTCHATTR_TELEGRAM_PIN = "4a6b45f1794c612328b9d5ee6d6fcb3f77015abc";
|
|
29
31
|
|
|
30
32
|
// ─── ANSI Helpers ──────────────────────────────────────────────────────────
|
|
31
33
|
|
|
@@ -1047,7 +1049,14 @@ async function setupAddons(rl, setup, configTomlPath) {
|
|
|
1047
1049
|
const cloneSpinner = spinner("Cloning agentchattr-telegram...");
|
|
1048
1050
|
const cloneResult = run(`git clone https://github.com/realproject7/agentchattr-telegram.git "${telegramDir}" 2>&1`);
|
|
1049
1051
|
cloneSpinner.stop(cloneResult !== null);
|
|
1050
|
-
if (!cloneResult) warn("You can set it up manually later");
|
|
1052
|
+
if (!cloneResult) { warn("You can set it up manually later"); }
|
|
1053
|
+
else {
|
|
1054
|
+
// #444: pin to a known commit, same pattern as AGENTCHATTR_PIN
|
|
1055
|
+
const pinResult = run(`git -C "${telegramDir}" checkout -B pinned ${AGENTCHATTR_TELEGRAM_PIN} 2>&1`, { timeout: 30000 });
|
|
1056
|
+
if (pinResult === null) {
|
|
1057
|
+
try { console.warn(`[quadwork] WARNING: could not check out agentchattr-telegram pin ${AGENTCHATTR_TELEGRAM_PIN} at ${telegramDir}; falling back to default branch.`); } catch {}
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1051
1060
|
} else {
|
|
1052
1061
|
ok("agentchattr-telegram already present");
|
|
1053
1062
|
}
|
|
@@ -1106,7 +1115,7 @@ bot_token = "env:${envKey}"
|
|
|
1106
1115
|
chat_id = "${chatId}"
|
|
1107
1116
|
agentchattr_url = "${projectChattrUrl}"
|
|
1108
1117
|
poll_interval = 2
|
|
1109
|
-
bridge_sender = "
|
|
1118
|
+
bridge_sender = "tg"
|
|
1110
1119
|
`;
|
|
1111
1120
|
fs.appendFileSync(configTomlPath, telegramSection);
|
|
1112
1121
|
ok("Added Telegram config to config.toml (token stored in .env)");
|
|
@@ -1121,7 +1130,7 @@ bridge_sender = "telegram-bridge"
|
|
|
1121
1130
|
// silently ignored and the bridge falls back to :8300.
|
|
1122
1131
|
// #404: cursor_file must be per-project so multiple bridges
|
|
1123
1132
|
// don't clobber each other's position.
|
|
1124
|
-
const cursorFile = path.join(CONFIG_DIR, `
|
|
1133
|
+
const cursorFile = path.join(CONFIG_DIR, `tg-bridge-cursor-${setup.projectName}.json`);
|
|
1125
1134
|
const bridgeTomlContent = `[telegram]\nbot_token = "${botToken}"\nchat_id = "${chatId}"\nagentchattr_url = "${projectChattrUrl}"\ncursor_file = "${cursorFile}"\n`;
|
|
1126
1135
|
fs.writeFileSync(bridgeToml, bridgeTomlContent, { mode: 0o600 });
|
|
1127
1136
|
fs.chmodSync(bridgeToml, 0o600);
|
|
@@ -1141,7 +1150,7 @@ bridge_sender = "telegram-bridge"
|
|
|
1141
1150
|
bridgeProc.unref();
|
|
1142
1151
|
if (bridgeProc.pid) {
|
|
1143
1152
|
ok(`Telegram bridge started (PID: ${bridgeProc.pid})`);
|
|
1144
|
-
const pidFile = path.join(CONFIG_DIR, "
|
|
1153
|
+
const pidFile = path.join(CONFIG_DIR, "tg-bridge.pid");
|
|
1145
1154
|
fs.writeFileSync(pidFile, String(bridgeProc.pid));
|
|
1146
1155
|
} else {
|
|
1147
1156
|
warn("Could not start Telegram bridge — start manually");
|
|
@@ -1151,54 +1160,7 @@ bridge_sender = "telegram-bridge"
|
|
|
1151
1160
|
}
|
|
1152
1161
|
}
|
|
1153
1162
|
|
|
1154
|
-
// Shared Memory
|
|
1155
|
-
log("Optional: set up shared memory cards for cross-agent knowledge.");
|
|
1156
|
-
const wantMemory = await askYN(rl, "Set up Shared Memory?", false);
|
|
1157
|
-
if (wantMemory) {
|
|
1158
|
-
const memoryDir = path.join(path.dirname(setup.absDir), "agent-memory");
|
|
1159
|
-
if (!fs.existsSync(memoryDir)) {
|
|
1160
|
-
const memSpinner = spinner("Cloning agent-memory...");
|
|
1161
|
-
const cloneResult = run(`git clone https://github.com/realproject7/agent-memory.git "${memoryDir}" 2>&1`);
|
|
1162
|
-
memSpinner.stop(cloneResult !== null);
|
|
1163
|
-
if (!cloneResult) warn("You can set it up manually later");
|
|
1164
|
-
} else {
|
|
1165
|
-
ok("agent-memory already present");
|
|
1166
|
-
}
|
|
1167
|
-
|
|
1168
|
-
if (fs.existsSync(memoryDir)) {
|
|
1169
|
-
// Verify butler scripts exist
|
|
1170
|
-
const scriptsDir = path.join(memoryDir, "scripts");
|
|
1171
|
-
const requiredScripts = ["butler-scan.sh", "butler-consolidate.sh", "inject.sh"];
|
|
1172
|
-
for (const script of requiredScripts) {
|
|
1173
|
-
const scriptPath = path.join(scriptsDir, script);
|
|
1174
|
-
if (fs.existsSync(scriptPath)) {
|
|
1175
|
-
// Ensure executable
|
|
1176
|
-
try { fs.chmodSync(scriptPath, 0o755); } catch {}
|
|
1177
|
-
} else {
|
|
1178
|
-
warn(`Butler script not found: ${scriptPath}`);
|
|
1179
|
-
}
|
|
1180
|
-
}
|
|
1181
|
-
ok("Butler scripts verified");
|
|
1182
|
-
|
|
1183
|
-
// Create project short-term memory file if missing
|
|
1184
|
-
const shortTermDir = path.join(memoryDir, "central", "short-term");
|
|
1185
|
-
const projectMemFile = path.join(shortTermDir, `${setup.projectName}.md`);
|
|
1186
|
-
if (!fs.existsSync(projectMemFile)) {
|
|
1187
|
-
if (!fs.existsSync(shortTermDir)) fs.mkdirSync(shortTermDir, { recursive: true });
|
|
1188
|
-
fs.writeFileSync(projectMemFile, `# ${setup.projectName} — Short-Term Memory\n\n_No entries yet._\n`);
|
|
1189
|
-
ok(`Created ${projectMemFile}`);
|
|
1190
|
-
}
|
|
1191
|
-
|
|
1192
|
-
// Create cards directory if missing
|
|
1193
|
-
const cardsDir = path.join(memoryDir, "archive", "v2", "cards");
|
|
1194
|
-
if (!fs.existsSync(cardsDir)) {
|
|
1195
|
-
fs.mkdirSync(cardsDir, { recursive: true });
|
|
1196
|
-
ok("Created cards directory");
|
|
1197
|
-
}
|
|
1198
|
-
}
|
|
1199
|
-
|
|
1200
|
-
setup.memoryDir = memoryDir;
|
|
1201
|
-
}
|
|
1163
|
+
// #445: Shared Memory wizard step removed (agent-memory integration deprecated).
|
|
1202
1164
|
|
|
1203
1165
|
return setup;
|
|
1204
1166
|
}
|
|
@@ -1262,12 +1224,6 @@ function writeQuadWorkConfig(setup) {
|
|
|
1262
1224
|
};
|
|
1263
1225
|
}
|
|
1264
1226
|
|
|
1265
|
-
if (setup.memoryDir) {
|
|
1266
|
-
project.memory_cards_dir = path.join(setup.memoryDir, "archive", "v2", "cards");
|
|
1267
|
-
project.shared_memory_path = path.join(setup.memoryDir, "central", "short-term", `${setup.projectName}.md`);
|
|
1268
|
-
project.butler_scripts_dir = path.join(setup.memoryDir, "scripts");
|
|
1269
|
-
}
|
|
1270
|
-
|
|
1271
1227
|
if (setup.telegram) {
|
|
1272
1228
|
project.telegram = {
|
|
1273
1229
|
bot_token: setup.telegram.bot_token,
|
|
@@ -1765,7 +1721,7 @@ function cmdStop() {
|
|
|
1765
1721
|
console.log("\n QuadWork Stop\n");
|
|
1766
1722
|
|
|
1767
1723
|
let stopped = 0;
|
|
1768
|
-
if (stopPid("Telegram bridge", "
|
|
1724
|
+
if (stopPid("Telegram bridge", "tg-bridge.pid")) stopped++;
|
|
1769
1725
|
|
|
1770
1726
|
// Stop per-project AgentChattr instances
|
|
1771
1727
|
const config = readConfig();
|
|
@@ -2011,6 +1967,33 @@ function cmdDoctor() {
|
|
|
2011
1967
|
} catch (err) {
|
|
2012
1968
|
console.log(` (could not enumerate projects: ${err.message})`);
|
|
2013
1969
|
}
|
|
1970
|
+
// #444: agentchattr-telegram pin status
|
|
1971
|
+
console.log("");
|
|
1972
|
+
console.log(`agentchattr-telegram pin: ${AGENTCHATTR_TELEGRAM_PIN}`);
|
|
1973
|
+
const tgBridgeDir = path.join(CONFIG_DIR, "agentchattr-telegram");
|
|
1974
|
+
if (!fs.existsSync(tgBridgeDir)) {
|
|
1975
|
+
console.log(" [skip] agentchattr-telegram: not installed");
|
|
1976
|
+
} else {
|
|
1977
|
+
const tgSha = cloneShaAt(tgBridgeDir);
|
|
1978
|
+
if (!tgSha) {
|
|
1979
|
+
console.log(` [warn] agentchattr-telegram: ${tgBridgeDir} — not a git clone`);
|
|
1980
|
+
} else {
|
|
1981
|
+
const tgBranch = cloneBranchAt(tgBridgeDir);
|
|
1982
|
+
let tgTag;
|
|
1983
|
+
if (tgSha !== AGENTCHATTR_TELEGRAM_PIN) {
|
|
1984
|
+
tgTag = "DIFF";
|
|
1985
|
+
} else if (!tgBranch) {
|
|
1986
|
+
tgTag = "DETACH";
|
|
1987
|
+
} else if (tgBranch !== "pinned") {
|
|
1988
|
+
tgTag = "BR ";
|
|
1989
|
+
} else {
|
|
1990
|
+
tgTag = "OK ";
|
|
1991
|
+
}
|
|
1992
|
+
const tgBranchLabel = tgBranch ? `branch=${tgBranch}` : "branch=(detached)";
|
|
1993
|
+
console.log(` [${tgTag}] ${tgSha} ${tgBranchLabel} (${tgBridgeDir})`);
|
|
1994
|
+
}
|
|
1995
|
+
}
|
|
1996
|
+
|
|
2014
1997
|
console.log("");
|
|
2015
1998
|
console.log("Legend: [OK ] on pin + on `pinned` branch; [BR ] on pin but on a non-`pinned` named branch; [DETACH] on pin but in detached HEAD (re-run quadwork start to auto-migrate); [DIFF] off-pin (re-clone manually to re-sync)");
|
|
2016
1999
|
console.log("");
|
|
@@ -35,7 +35,7 @@ except ModuleNotFoundError:
|
|
|
35
35
|
import discord
|
|
36
36
|
import requests
|
|
37
37
|
|
|
38
|
-
log = logging.getLogger("
|
|
38
|
+
log = logging.getLogger("dc-bridge")
|
|
39
39
|
|
|
40
40
|
# ---------------------------------------------------------------------------
|
|
41
41
|
# Config
|
|
@@ -46,7 +46,7 @@ DEFAULT_CONFIG = {
|
|
|
46
46
|
"channel_id": "",
|
|
47
47
|
"agentchattr_url": "http://127.0.0.1:8300",
|
|
48
48
|
"poll_interval": 2,
|
|
49
|
-
"bridge_sender": "
|
|
49
|
+
"bridge_sender": "dc",
|
|
50
50
|
"cursor_file": "",
|
|
51
51
|
}
|
|
52
52
|
|
|
@@ -145,7 +145,7 @@ def save_cursor(path):
|
|
|
145
145
|
|
|
146
146
|
# Mutable dict so heartbeat thread sees re-registration updates.
|
|
147
147
|
# bridge_sender is set from cfg during main() so all callers can read it.
|
|
148
|
-
ac = {"token": "", "name": "", "bridge_sender": "
|
|
148
|
+
ac = {"token": "", "name": "", "bridge_sender": "dc", "known_names": set()}
|
|
149
149
|
|
|
150
150
|
|
|
151
151
|
def ac_register(url, base=None, label="Discord Bridge"):
|
package/out/404.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" class="geist_mono_8d43a2aa-module__8Li5zG__variable h-full"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0j-zyy6.adwtl.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0ze4gu236oq96.js"/><script src="/_next/static/chunks/0.bbxho1vnxin.js" async=""></script><script src="/_next/static/chunks/16g.ca89g7fib.js" async=""></script><script src="/_next/static/chunks/0zfotsowwll1x.js" async=""></script><script src="/_next/static/chunks/0pqt~8bl3ukh4.js" async=""></script><script src="/_next/static/chunks/turbopack-0lcwh84lrj9gi.js" async=""></script><script src="/_next/static/chunks/0o3_.p5ivp5sp.js" async=""></script><script src="/_next/static/chunks/0d3shmwh5_nmn.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>QuadWork</title><meta name="description" content="Unified dashboard for multi-agent coding teams"/><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="h-full flex flex-col"><div hidden=""><!--$--><!--/$--></div><header class="sticky top-0 z-40 flex h-12 items-center justify-between border-b border-white/10 bg-neutral-950/90 px-4 backdrop-blur" aria-hidden="true"></header><div class="flex flex-1 min-h-0"><aside class="w-16 shrink-0 h-full border-r border-border bg-bg-surface flex flex-col items-center py-3"><a class="w-10 h-10 flex items-center justify-center rounded-sm transition-colors text-text-muted hover:text-text hover:bg-[#1a1a1a]" title="Home" href="/"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 10L10 3l7 7"></path><path d="M5 8.5V16h3.5v-4h3v4H15V8.5"></path></svg></a><div class="w-6 h-px bg-border my-2"></div><div class="flex-1 flex flex-col items-center gap-2 overflow-y-auto min-h-0"><a class="w-10 h-10 flex items-center justify-center rounded-full border border-dashed border-border text-text-muted hover:text-text hover:bg-[#1a1a1a] transition-colors" title="Add project" href="/setup"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><path d="M8 3v10M3 8h10"></path></svg></a></div><div class="w-6 h-px bg-border my-2"></div><a class="w-10 h-10 flex items-center justify-center rounded-sm transition-colors text-text-muted hover:text-text hover:bg-[#1a1a1a]" title="Settings" href="/settings"><svg width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="9" r="2.5"></circle><path d="M7.5 1.5h3l.4 2.1a5.5 5.5 0 011.3.7l2-.8 1.5 2.6-1.6 1.3a5.5 5.5 0 010 1.5l1.6 1.3-1.5 2.6-2-.8a5.5 5.5 0 01-1.3.7l-.4 2.1h-3l-.4-2.1a5.5 5.5 0 01-1.3-.7l-2 .8-1.5-2.6 1.6-1.3a5.5 5.5 0 010-1.5L2.3 6.1l1.5-2.6 2 .8a5.5 5.5 0 011.3-.7z"></path></svg></a></aside><main class="flex-1 min-w-0 overflow-auto"><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><!--$--><!--/$--></main></div><script src="/_next/static/chunks/0ze4gu236oq96.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[43688,[\"/_next/static/chunks/0o3_.p5ivp5sp.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n3:I[26704,[\"/_next/static/chunks/0o3_.p5ivp5sp.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n4:I[22140,[\"/_next/static/chunks/0o3_.p5ivp5sp.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n5:I[39756,[\"/_next/static/chunks/0o3_.p5ivp5sp.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n6:I[37457,[\"/_next/static/chunks/0o3_.p5ivp5sp.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n7:I[97367,[\"/_next/static/chunks/0o3_.p5ivp5sp.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\nb:I[97367,[\"/_next/static/chunks/0o3_.p5ivp5sp.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ViewportBoundary\"]\nd:I[97367,[\"/_next/static/chunks/0o3_.p5ivp5sp.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"MetadataBoundary\"]\nf:I[68027,[\"/_next/static/chunks/0o3_.p5ivp5sp.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0j-zyy6.adwtl.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0j-zyy6.adwtl.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0o3_.p5ivp5sp.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"geist_mono_8d43a2aa-module__8Li5zG__variable h-full\",\"children\":[\"$\",\"body\",null,{\"className\":\"h-full flex flex-col\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{}],[\"$\",\"div\",null,{\"className\":\"flex flex-1 min-h-0\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 min-w-0 overflow-auto\",\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",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\":\"$0:f:0:1:0:props:children:1:props:children:props:children:2:props:children:1:props:children:props:notFound:0:1:props:style\",\"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\":\"$0:f:0:1:0:props:children:1:props:children:props:children:2:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:2:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:2:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,\"$@a\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0j-zyy6.adwtl.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"AQ0US7_Pm9gOOelb-ks5q\"}\n"])</script><script>self.__next_f.push([1,"10:[]\na:\"$W10\"\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"11:I[27201,[\"/_next/static/chunks/0o3_.p5ivp5sp.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"IconMark\"]\n9:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"QuadWork\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Unified dashboard for multi-agent coding teams\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L11\",\"3\",{}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en" class="geist_mono_8d43a2aa-module__8Li5zG__variable h-full"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0ggc226h4xp_6.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0ze4gu236oq96.js"/><script src="/_next/static/chunks/0.bbxho1vnxin.js" async=""></script><script src="/_next/static/chunks/16g.ca89g7fib.js" async=""></script><script src="/_next/static/chunks/0zfotsowwll1x.js" async=""></script><script src="/_next/static/chunks/0pqt~8bl3ukh4.js" async=""></script><script src="/_next/static/chunks/turbopack-0lcwh84lrj9gi.js" async=""></script><script src="/_next/static/chunks/152f2hu-ivy6f.js" async=""></script><script src="/_next/static/chunks/0d3shmwh5_nmn.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>QuadWork</title><meta name="description" content="Unified dashboard for multi-agent coding teams"/><link rel="icon" href="/favicon.ico?favicon.0yjarmrcdsq9k.ico" sizes="48x48" type="image/x-icon"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="h-full flex flex-col"><div hidden=""><!--$--><!--/$--></div><header class="sticky top-0 z-40 flex h-12 items-center justify-between border-b border-white/10 bg-neutral-950/90 px-4 backdrop-blur" aria-hidden="true"></header><div class="flex flex-1 min-h-0"><aside class="w-16 shrink-0 h-full border-r border-border bg-bg-surface flex flex-col items-center py-3"><a class="w-10 h-10 flex items-center justify-center rounded-sm transition-colors text-text-muted hover:text-text hover:bg-[#1a1a1a]" title="Home" href="/"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 10L10 3l7 7"></path><path d="M5 8.5V16h3.5v-4h3v4H15V8.5"></path></svg></a><div class="w-6 h-px bg-border my-2"></div><div class="flex-1 flex flex-col items-center gap-2 overflow-y-auto min-h-0"><a class="w-10 h-10 flex items-center justify-center rounded-full border border-dashed border-border text-text-muted hover:text-text hover:bg-[#1a1a1a] transition-colors" title="Add project" href="/setup"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><path d="M8 3v10M3 8h10"></path></svg></a></div><div class="w-6 h-px bg-border my-2"></div><a class="w-10 h-10 flex items-center justify-center rounded-sm transition-colors text-text-muted hover:text-text hover:bg-[#1a1a1a]" title="Settings" href="/settings"><svg width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="9" r="2.5"></circle><path d="M7.5 1.5h3l.4 2.1a5.5 5.5 0 011.3.7l2-.8 1.5 2.6-1.6 1.3a5.5 5.5 0 010 1.5l1.6 1.3-1.5 2.6-2-.8a5.5 5.5 0 01-1.3.7l-.4 2.1h-3l-.4-2.1a5.5 5.5 0 01-1.3-.7l-2 .8-1.5-2.6 1.6-1.3a5.5 5.5 0 010-1.5L2.3 6.1l1.5-2.6 2 .8a5.5 5.5 0 011.3-.7z"></path></svg></a></aside><main class="flex-1 min-w-0 overflow-auto"><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><!--$--><!--/$--></main></div><script src="/_next/static/chunks/0ze4gu236oq96.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[43688,[\"/_next/static/chunks/152f2hu-ivy6f.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n3:I[26704,[\"/_next/static/chunks/152f2hu-ivy6f.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n4:I[22140,[\"/_next/static/chunks/152f2hu-ivy6f.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n5:I[39756,[\"/_next/static/chunks/152f2hu-ivy6f.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n6:I[37457,[\"/_next/static/chunks/152f2hu-ivy6f.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n7:I[97367,[\"/_next/static/chunks/152f2hu-ivy6f.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\nb:I[97367,[\"/_next/static/chunks/152f2hu-ivy6f.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ViewportBoundary\"]\nd:I[97367,[\"/_next/static/chunks/152f2hu-ivy6f.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"MetadataBoundary\"]\nf:I[68027,[\"/_next/static/chunks/152f2hu-ivy6f.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0ggc226h4xp_6.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0ggc226h4xp_6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/152f2hu-ivy6f.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"geist_mono_8d43a2aa-module__8Li5zG__variable h-full\",\"children\":[\"$\",\"body\",null,{\"className\":\"h-full flex flex-col\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{}],[\"$\",\"div\",null,{\"className\":\"flex flex-1 min-h-0\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 min-w-0 overflow-auto\",\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",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\":\"$0:f:0:1:0:props:children:1:props:children:props:children:2:props:children:1:props:children:props:notFound:0:1:props:style\",\"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\":\"$0:f:0:1:0:props:children:1:props:children:props:children:2:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:2:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:2:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,\"$@a\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0ggc226h4xp_6.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"jXvlZMZi9MNbHTOZg0eK3\"}\n"])</script><script>self.__next_f.push([1,"10:[]\na:\"$W10\"\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"11:I[27201,[\"/_next/static/chunks/152f2hu-ivy6f.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"IconMark\"]\n9:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"QuadWork\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Unified dashboard for multi-agent coding teams\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0yjarmrcdsq9k.ico\",\"sizes\":\"48x48\",\"type\":\"image/x-icon\"}],[\"$\",\"$L11\",\"3\",{}]]\n"])</script></body></html>
|
package/out/__next.__PAGE__.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[54338,["/_next/static/chunks/
|
|
3
|
-
3:I[97367,["/_next/static/chunks/
|
|
2
|
+
2:I[54338,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/14zyqqpdz2x7j.js"],"default"]
|
|
3
|
+
3:I[97367,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
|
-
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{}],[["$","script","script-0",{"src":"/_next/static/chunks/
|
|
5
|
+
0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{}],[["$","script","script-0",{"src":"/_next/static/chunks/14zyqqpdz2x7j.js","async":true}]],["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"jXvlZMZi9MNbHTOZg0eK3"}
|
|
6
6
|
5:null
|
package/out/__next._full.txt
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[43688,["/_next/static/chunks/
|
|
3
|
-
3:I[26704,["/_next/static/chunks/
|
|
4
|
-
4:I[22140,["/_next/static/chunks/
|
|
5
|
-
5:I[39756,["/_next/static/chunks/
|
|
6
|
-
6:I[37457,["/_next/static/chunks/
|
|
7
|
-
7:I[54338,["/_next/static/chunks/
|
|
8
|
-
8:I[97367,["/_next/static/chunks/
|
|
2
|
+
2:I[43688,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"]
|
|
3
|
+
3:I[26704,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"]
|
|
4
|
+
4:I[22140,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"]
|
|
5
|
+
5:I[39756,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"]
|
|
6
|
+
6:I[37457,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"]
|
|
7
|
+
7:I[54338,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/14zyqqpdz2x7j.js"],"default"]
|
|
8
|
+
8:I[97367,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"]
|
|
9
9
|
9:"$Sreact.suspense"
|
|
10
|
-
b:I[97367,["/_next/static/chunks/
|
|
11
|
-
d:I[97367,["/_next/static/chunks/
|
|
12
|
-
f:I[68027,["/_next/static/chunks/
|
|
13
|
-
:HL["/_next/static/chunks/
|
|
10
|
+
b:I[97367,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"]
|
|
11
|
+
d:I[97367,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"]
|
|
12
|
+
f:I[68027,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1]
|
|
13
|
+
:HL["/_next/static/chunks/0ggc226h4xp_6.css","style"]
|
|
14
14
|
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
15
|
-
0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/
|
|
15
|
+
0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ggc226h4xp_6.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/152f2hu-ivy6f.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"geist_mono_8d43a2aa-module__8Li5zG__variable h-full","children":["$","body",null,{"className":"h-full flex flex-col","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","div",null,{"className":"flex flex-1 min-h-0","children":[["$","$L4",null,{}],["$","main",null,{"className":"flex-1 min-w-0 overflow-auto","children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","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."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L7",null,{}],[["$","script","script-0",{"src":"/_next/static/chunks/14zyqqpdz2x7j.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lb",null,{"children":"$Lc"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Le"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$f",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ggc226h4xp_6.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"jXvlZMZi9MNbHTOZg0eK3"}
|
|
16
16
|
c:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
17
|
-
10:I[27201,["/_next/static/chunks/
|
|
17
|
+
10:I[27201,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"]
|
|
18
18
|
a:null
|
|
19
|
-
e:[["$","title","0",{"children":"QuadWork"}],["$","meta","1",{"name":"description","content":"Unified dashboard for multi-agent coding teams"}],["$","link","2",{"rel":"icon","href":"/favicon.ico?favicon.
|
|
19
|
+
e:[["$","title","0",{"children":"QuadWork"}],["$","meta","1",{"name":"description","content":"Unified dashboard for multi-agent coding teams"}],["$","link","2",{"rel":"icon","href":"/favicon.ico?favicon.0yjarmrcdsq9k.ico","sizes":"48x48","type":"image/x-icon"}],["$","$L10","3",{}]]
|
package/out/__next._head.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[97367,["/_next/static/chunks/
|
|
3
|
-
3:I[97367,["/_next/static/chunks/
|
|
2
|
+
2:I[97367,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"]
|
|
3
|
+
3:I[97367,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
|
-
5:I[27201,["/_next/static/chunks/
|
|
6
|
-
0:{"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":[["$","title","0",{"children":"QuadWork"}],["$","meta","1",{"name":"description","content":"Unified dashboard for multi-agent coding teams"}],["$","link","2",{"rel":"icon","href":"/favicon.ico?favicon.
|
|
5
|
+
5:I[27201,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"]
|
|
6
|
+
0:{"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":[["$","title","0",{"children":"QuadWork"}],["$","meta","1",{"name":"description","content":"Unified dashboard for multi-agent coding teams"}],["$","link","2",{"rel":"icon","href":"/favicon.ico?favicon.0yjarmrcdsq9k.ico","sizes":"48x48","type":"image/x-icon"}],["$","$L5","3",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"jXvlZMZi9MNbHTOZg0eK3"}
|
package/out/__next._index.txt
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[43688,["/_next/static/chunks/
|
|
3
|
-
3:I[26704,["/_next/static/chunks/
|
|
4
|
-
4:I[22140,["/_next/static/chunks/
|
|
5
|
-
5:I[39756,["/_next/static/chunks/
|
|
6
|
-
6:I[37457,["/_next/static/chunks/
|
|
7
|
-
:HL["/_next/static/chunks/
|
|
8
|
-
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/
|
|
2
|
+
2:I[43688,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"]
|
|
3
|
+
3:I[26704,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"]
|
|
4
|
+
4:I[22140,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"]
|
|
5
|
+
5:I[39756,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"]
|
|
6
|
+
6:I[37457,["/_next/static/chunks/152f2hu-ivy6f.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"]
|
|
7
|
+
:HL["/_next/static/chunks/0ggc226h4xp_6.css","style"]
|
|
8
|
+
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ggc226h4xp_6.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/152f2hu-ivy6f.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en","className":"geist_mono_8d43a2aa-module__8Li5zG__variable h-full","children":["$","body",null,{"className":"h-full flex flex-col","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","div",null,{"className":"flex flex-1 min-h-0","children":[["$","$L4",null,{}],["$","main",null,{"className":"flex-1 min-w-0 overflow-auto","children":["$","$L5",null,{"parallelRouterKey":"children","template":["$","$L6",null,{}],"notFound":[[["$","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."}]}]]}]}]],[]]}]}]]}]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"jXvlZMZi9MNbHTOZg0eK3"}
|
package/out/__next._tree.txt
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
:HL["/_next/static/chunks/
|
|
1
|
+
:HL["/_next/static/chunks/0ggc226h4xp_6.css","style"]
|
|
2
2
|
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
3
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"
|
|
3
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"jXvlZMZi9MNbHTOZg0eK3"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,67585,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return l}});let r=e.r(32061);function l({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new r.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},9885,(e,t,n)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"encodeURIPath",{enumerable:!0,get:function(){return r}})},52157,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadChunks",{enumerable:!0,get:function(){return a}});let r=e.r(43476),l=e.r(74080),
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,67585,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return l}});let r=e.r(32061);function l({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new r.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},9885,(e,t,n)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"encodeURIPath",{enumerable:!0,get:function(){return r}})},52157,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadChunks",{enumerable:!0,get:function(){return a}});let r=e.r(43476),l=e.r(74080),u=e.r(63599),o=e.r(9885),s=e.r(43369);function a({moduleIds:e}){if("u">typeof window)return null;let t=u.workAsyncStorage.getStore();if(void 0===t)return null;let n=[];if(t.reactLoadableManifest&&e){let r=t.reactLoadableManifest;for(let t of e){if(!r[t])continue;let e=r[t].files;n.push(...e)}}if(0===n.length)return null;let i=(0,s.getAssetTokenQuery)();return(0,r.jsx)(r.Fragment,{children:n.map(e=>{let n=`${t.assetPrefix}/_next/${(0,o.encodeURIPath)(e)}${i}`;return e.endsWith(".css")?(0,r.jsx)("link",{precedence:"dynamic",href:n,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,l.preload)(n,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},69093,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return i}});let r=e.r(43476),l=e.r(71645),u=e.r(67585),o=e.r(52157);function s(e){return{default:e&&"default"in e?e.default:e}}let a={loader:()=>Promise.resolve(s(()=>null)),loading:null,ssr:!0},i=function(e){let t={...a,...e},n=(0,l.lazy)(()=>t.loader().then(s)),i=t.loading;function d(e){let s=i?(0,r.jsx)(i,{isLoading:!0,pastDelay:!0,error:null}):null,a=!t.ssr||!!t.loading,d=a?l.Suspense:l.Fragment,c=t.ssr?(0,r.jsxs)(r.Fragment,{children:["u"<typeof window?(0,r.jsx)(o.PreloadChunks,{moduleIds:t.modules}):null,(0,r.jsx)(n,{...e})]}):(0,r.jsx)(u.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(n,{...e})});return(0,r.jsx)(d,{...a?{fallback:s}:{},children:c})}return d.displayName="LoadableComponent",d}},70703,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return l}});let r=e.r(55682)._(e.r(69093));function l(e,t){let n={};"function"==typeof e&&(n.loader=e);let l={...n,...t};return(0,r.default)({...l,modules:l.loadableGenerated?.modules})}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},9530,e=>{"use strict";var t=e.i(43476),n=e.i(70703),r=e.i(18566);let l=(0,n.default)(()=>e.A(65615),{loadableGenerated:{modules:[73766]},ssr:!1});e.s(["default",0,function(){let e=(0,r.usePathname)().split("/")[2]||"";return e&&"_"!==e?(0,t.jsx)("div",{className:"w-full h-full",children:(0,t.jsx)(l,{projectId:e})}):null}])},65615,e=>{e.v(t=>Promise.all(["static/chunks/096899sx89oxq.js","static/chunks/01keua0t73paf.js","static/chunks/17oc2l.ekcs8b.css"].map(t=>e.l(t))).then(()=>t(73766)))}]);
|