@agent-spaces/server 0.3.3 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/dist/app.js +11 -0
  2. package/dist/package.json +2 -1
  3. package/dist/routes/channel.js +18 -6
  4. package/dist/routes/file.js +2 -2
  5. package/dist/routes/inspector.js +14 -0
  6. package/dist/routes/issue.js +7 -0
  7. package/dist/services/channel.js +2 -0
  8. package/dist/services/file.js +4 -0
  9. package/dist/services/inspector-history.js +53 -0
  10. package/dist/services/notification-hub/events.js +34 -1
  11. package/dist/services/pty.js +6 -3
  12. package/dist/services/search.js +3 -5
  13. package/dist/web/404.html +1 -1
  14. package/dist/web/__next.__PAGE__.txt +4 -4
  15. package/dist/web/__next._full.txt +21 -21
  16. package/dist/web/__next._head.txt +4 -4
  17. package/dist/web/__next._index.txt +13 -13
  18. package/dist/web/__next._tree.txt +2 -2
  19. package/dist/web/_next/static/chunks/01tyftu_-l7tm.css +1 -0
  20. package/dist/web/_next/static/chunks/028b9_5cyq-_m.js +1 -0
  21. package/dist/web/_next/static/chunks/{0v7nmghv8ieef.js → 0eq7wt-l.fetc.js} +1 -1
  22. package/dist/web/_next/static/chunks/0ms3tsu4men_j.js +204 -0
  23. package/dist/web/_next/static/chunks/12gvpt~z9mn8w.js +1 -0
  24. package/dist/web/_next/static/chunks/15dyaigebtnwg.js +5 -0
  25. package/dist/web/_not-found/__next._full.txt +19 -19
  26. package/dist/web/_not-found/__next._head.txt +4 -4
  27. package/dist/web/_not-found/__next._index.txt +13 -13
  28. package/dist/web/_not-found/__next._not-found.__PAGE__.txt +2 -2
  29. package/dist/web/_not-found/__next._not-found.txt +3 -3
  30. package/dist/web/_not-found/__next._tree.txt +2 -2
  31. package/dist/web/_not-found.html +1 -1
  32. package/dist/web/_not-found.txt +19 -19
  33. package/dist/web/index.html +1 -1
  34. package/dist/web/index.txt +21 -21
  35. package/dist/web/login/__next._full.txt +21 -21
  36. package/dist/web/login/__next._head.txt +4 -4
  37. package/dist/web/login/__next._index.txt +13 -13
  38. package/dist/web/login/__next._tree.txt +2 -2
  39. package/dist/web/login/__next.login.__PAGE__.txt +4 -4
  40. package/dist/web/login/__next.login.txt +3 -3
  41. package/dist/web/login.html +1 -1
  42. package/dist/web/login.txt +21 -21
  43. package/dist/web/settings/__next._full.txt +23 -23
  44. package/dist/web/settings/__next._head.txt +4 -4
  45. package/dist/web/settings/__next._index.txt +13 -13
  46. package/dist/web/settings/__next._tree.txt +2 -2
  47. package/dist/web/settings/__next.settings.__PAGE__.txt +4 -4
  48. package/dist/web/settings/__next.settings.txt +5 -5
  49. package/dist/web/settings/agents/__next._full.txt +23 -23
  50. package/dist/web/settings/agents/__next._head.txt +4 -4
  51. package/dist/web/settings/agents/__next._index.txt +13 -13
  52. package/dist/web/settings/agents/__next._tree.txt +2 -2
  53. package/dist/web/settings/agents/__next.settings.agents.__PAGE__.txt +4 -4
  54. package/dist/web/settings/agents/__next.settings.agents.txt +3 -3
  55. package/dist/web/settings/agents/__next.settings.txt +5 -5
  56. package/dist/web/settings/agents.html +1 -1
  57. package/dist/web/settings/agents.txt +23 -23
  58. package/dist/web/settings/mcps/__next._full.txt +23 -23
  59. package/dist/web/settings/mcps/__next._head.txt +4 -4
  60. package/dist/web/settings/mcps/__next._index.txt +13 -13
  61. package/dist/web/settings/mcps/__next._tree.txt +2 -2
  62. package/dist/web/settings/mcps/__next.settings.mcps.__PAGE__.txt +4 -4
  63. package/dist/web/settings/mcps/__next.settings.mcps.txt +3 -3
  64. package/dist/web/settings/mcps/__next.settings.txt +5 -5
  65. package/dist/web/settings/mcps.html +1 -1
  66. package/dist/web/settings/mcps.txt +23 -23
  67. package/dist/web/settings/models/__next._full.txt +23 -23
  68. package/dist/web/settings/models/__next._head.txt +4 -4
  69. package/dist/web/settings/models/__next._index.txt +13 -13
  70. package/dist/web/settings/models/__next._tree.txt +2 -2
  71. package/dist/web/settings/models/__next.settings.models.__PAGE__.txt +4 -4
  72. package/dist/web/settings/models/__next.settings.models.txt +3 -3
  73. package/dist/web/settings/models/__next.settings.txt +5 -5
  74. package/dist/web/settings/models.html +1 -1
  75. package/dist/web/settings/models.txt +23 -23
  76. package/dist/web/settings/providers/__next._full.txt +23 -23
  77. package/dist/web/settings/providers/__next._head.txt +4 -4
  78. package/dist/web/settings/providers/__next._index.txt +13 -13
  79. package/dist/web/settings/providers/__next._tree.txt +2 -2
  80. package/dist/web/settings/providers/__next.settings.providers.__PAGE__.txt +4 -4
  81. package/dist/web/settings/providers/__next.settings.providers.txt +3 -3
  82. package/dist/web/settings/providers/__next.settings.txt +5 -5
  83. package/dist/web/settings/providers.html +1 -1
  84. package/dist/web/settings/providers.txt +23 -23
  85. package/dist/web/settings/skills/__next._full.txt +23 -23
  86. package/dist/web/settings/skills/__next._head.txt +4 -4
  87. package/dist/web/settings/skills/__next._index.txt +13 -13
  88. package/dist/web/settings/skills/__next._tree.txt +2 -2
  89. package/dist/web/settings/skills/__next.settings.skills.__PAGE__.txt +4 -4
  90. package/dist/web/settings/skills/__next.settings.skills.txt +3 -3
  91. package/dist/web/settings/skills/__next.settings.txt +5 -5
  92. package/dist/web/settings/skills.html +1 -1
  93. package/dist/web/settings/skills.txt +23 -23
  94. package/dist/web/settings.html +1 -1
  95. package/dist/web/settings.txt +23 -23
  96. package/dist/web/workflows/__next._full.txt +21 -21
  97. package/dist/web/workflows/__next._head.txt +4 -4
  98. package/dist/web/workflows/__next._index.txt +13 -13
  99. package/dist/web/workflows/__next._tree.txt +2 -2
  100. package/dist/web/workflows/__next.workflows.__PAGE__.txt +4 -4
  101. package/dist/web/workflows/__next.workflows.txt +3 -3
  102. package/dist/web/workflows.html +1 -1
  103. package/dist/web/workflows.txt +21 -21
  104. package/dist/web/workspace/_/__next._full.txt +21 -21
  105. package/dist/web/workspace/_/__next._head.txt +4 -4
  106. package/dist/web/workspace/_/__next._index.txt +13 -13
  107. package/dist/web/workspace/_/__next._tree.txt +2 -2
  108. package/dist/web/workspace/_/__next.workspace.$d$id.__PAGE__.txt +3 -3
  109. package/dist/web/workspace/_/__next.workspace.$d$id.txt +3 -3
  110. package/dist/web/workspace/_/__next.workspace.txt +3 -3
  111. package/dist/web/workspace/_.html +1 -1
  112. package/dist/web/workspace/_.txt +21 -21
  113. package/dist/web/workspaces/__next._full.txt +21 -21
  114. package/dist/web/workspaces/__next._head.txt +4 -4
  115. package/dist/web/workspaces/__next._index.txt +13 -13
  116. package/dist/web/workspaces/__next._tree.txt +2 -2
  117. package/dist/web/workspaces/__next.workspaces.__PAGE__.txt +4 -4
  118. package/dist/web/workspaces/__next.workspaces.txt +3 -3
  119. package/dist/web/workspaces.html +1 -1
  120. package/dist/web/workspaces.txt +21 -21
  121. package/dist/ws/agent-runner.js +1 -0
  122. package/dist/ws/connection-manager.js +13 -0
  123. package/dist/ws/handler.js +3 -11
  124. package/dist/ws/terminal-handler.js +19 -3
  125. package/package.json +3 -1
  126. package/dist/web/_next/static/chunks/0cwvdk55mrt_9.css +0 -1
  127. package/dist/web/_next/static/chunks/0gczc8mmde5my.js +0 -1
  128. package/dist/web/_next/static/chunks/0lmeh15xwcj0s.js +0 -204
  129. package/dist/web/_next/static/chunks/0puhc.l_.mc99.js +0 -1
  130. package/dist/web/_next/static/chunks/0wekj7h15h7z7.js +0 -5
  131. /package/dist/web/_next/static/{gN3O86ki0NGTvGTqE2Ibh → O5-QCW1u2YNyAUyaoYh6s}/_buildManifest.js +0 -0
  132. /package/dist/web/_next/static/{gN3O86ki0NGTvGTqE2Ibh → O5-QCW1u2YNyAUyaoYh6s}/_clientMiddlewareManifest.js +0 -0
  133. /package/dist/web/_next/static/{gN3O86ki0NGTvGTqE2Ibh → O5-QCW1u2YNyAUyaoYh6s}/_ssgManifest.js +0 -0
package/dist/app.js CHANGED
@@ -31,6 +31,7 @@ import speechRecognitionRouter, { handleSpeechStream } from './routes/speech-rec
31
31
  import { getUserSettings, setUserAvatarUrl, removeUserAvatarUrl } from './storage/user-settings-store.js';
32
32
  import { authMiddleware, verifyToken } from './middleware/auth.js';
33
33
  import { handleConnection } from './ws/handler.js';
34
+ import { broadcastToAll } from './ws/connection-manager.js';
34
35
  import { startScheduler, stopScheduler } from './agents/scheduler-agent.js';
35
36
  import { recoverRunningWorkOnStartup } from './services/issue-retry.js';
36
37
  import { startPersistedNotificationServices } from './services/notification-hub/index.js';
@@ -47,6 +48,16 @@ const CORS_ORIGIN = process.env.CORS_ORIGIN || '*';
47
48
  app.use(cors({ origin: CORS_ORIGIN }));
48
49
  app.use(express.json({ limit: '50mb' }));
49
50
  app.use('/api/agent-sse', agentSseRouter);
51
+ // Inspector track endpoint (no auth - called by dom-inspector-hook from external apps)
52
+ app.post('/api/inspector/track', (req, res) => {
53
+ const { path, name, line, column, timestamp } = req.body;
54
+ if (!path || line == null) {
55
+ res.status(400).json({ error: 'path and line are required' });
56
+ return;
57
+ }
58
+ broadcastToAll('inspector.jump', { path, name, line, column: column ?? 1, timestamp });
59
+ res.json({ ok: true });
60
+ });
50
61
  app.use('/api', authMiddleware);
51
62
  // Serve static files from public/
52
63
  const publicDir = resolveRuntimeDir('public');
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-spaces/server",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "type": "module",
5
5
  "main": "app.js",
6
6
  "packageManager": "pnpm@10.17.1",
@@ -21,6 +21,7 @@
21
21
  "dotenv": "^17.4.2",
22
22
  "express": "^5.1.0",
23
23
  "langchain": "^1.4.0",
24
+ "minimatch": "^10.2.5",
24
25
  "node-pty": "^1.1.0",
25
26
  "simple-git": "^3.36.0",
26
27
  "uuid": "^11.1.0",
@@ -4,6 +4,7 @@ import { listMessages, createMessage, updateMessage, deleteMessage, clearMessage
4
4
  import { broadcastToWorkspace } from '../ws/connection-manager.js';
5
5
  import { hasActiveChannelRuns, markInactiveChannelRunsStopped, stopChannelRuns } from '../ws/agent-runner.js';
6
6
  import { getToolDetail } from '../services/tool-detail.js';
7
+ import * as issueService from '../services/issue.js';
7
8
  const router = Router({ mergeParams: true });
8
9
  // GET /api/workspaces/:id/channels
9
10
  router.get('/', (req, res) => {
@@ -12,11 +13,7 @@ router.get('/', (req, res) => {
12
13
  // POST /api/workspaces/:id/channels
13
14
  router.post('/', (req, res) => {
14
15
  const { name, type, members } = req.body;
15
- if (!name) {
16
- res.status(400).json({ error: 'name required' });
17
- return;
18
- }
19
- const channel = createChannel(req.params.id, { name, type: type || 'general', members });
16
+ const channel = createChannel(req.params.id, { name: name || 'General', type: type || 'general', members });
20
17
  broadcastToWorkspace(req.params.id, 'channel.updated', channel);
21
18
  res.status(201).json(channel);
22
19
  });
@@ -24,7 +21,7 @@ router.post('/', (req, res) => {
24
21
  router.put('/:channelId', (req, res) => {
25
22
  const { id, channelId } = req.params;
26
23
  const patch = {};
27
- for (const key of ['name', 'type', 'issueId', 'members', 'pinnedMentionId', 'draft', 'todos', 'archived']) {
24
+ for (const key of ['name', 'type', 'issueId', 'members', 'pinnedMentionId', 'draft', 'todos', 'notifyOnComplete', 'archived']) {
28
25
  if (Object.hasOwn(req.body, key))
29
26
  patch[key] = req.body[key];
30
27
  }
@@ -34,6 +31,21 @@ router.put('/:channelId', (req, res) => {
34
31
  return;
35
32
  }
36
33
  broadcastToWorkspace(id, 'channel.updated', channel);
34
+ // 频道归档/取消归档时,同步关联的 Issue
35
+ if (Object.hasOwn(patch, 'archived') && channel.issueId) {
36
+ const issue = issueService.getById(id, channel.issueId);
37
+ if (issue) {
38
+ const prevStatus = issue.status;
39
+ const newStatus = patch.archived ? 'archived' : 'draft';
40
+ if (prevStatus !== newStatus) {
41
+ const saved = issueService.updateStatus(id, channel.issueId, newStatus);
42
+ if (saved) {
43
+ broadcastToWorkspace(id, 'issue.updated', saved);
44
+ broadcastToWorkspace(id, 'issue.status_changed', { issueId: channel.issueId, from: prevStatus, to: newStatus });
45
+ }
46
+ }
47
+ }
48
+ }
37
49
  res.json(channel);
38
50
  });
39
51
  // DELETE /api/workspaces/:id/channels/:channelId
@@ -95,12 +95,12 @@ router.put('/editor-state', async (req, res) => {
95
95
  res.status(404).json({ error: 'Workspace not found' });
96
96
  return;
97
97
  }
98
- const { openFilePaths, activeFilePath } = req.body;
98
+ const { openFilePaths, activeFilePath, pinnedPaths } = req.body;
99
99
  if (!Array.isArray(openFilePaths)) {
100
100
  res.status(400).json({ error: 'openFilePaths is required' });
101
101
  return;
102
102
  }
103
- const ok = await fileService.writeFileContent(ws, EDITOR_STATE_PATH, JSON.stringify({ openFilePaths, activeFilePath }, null, 2));
103
+ const ok = await fileService.writeFileContent(ws, EDITOR_STATE_PATH, JSON.stringify({ openFilePaths, activeFilePath, pinnedPaths: pinnedPaths ?? [] }, null, 2));
104
104
  if (!ok) {
105
105
  res.status(500).json({ error: 'Failed to save editor state' });
106
106
  return;
@@ -0,0 +1,14 @@
1
+ import { Router } from 'express';
2
+ import * as fileService from '../services/file.js';
3
+ import { getInspectorHistory } from '../services/inspector-history.js';
4
+ const router = Router({ mergeParams: true });
5
+ router.get('/history', (req, res) => {
6
+ const ws = fileService.getWorkspace(req.params.id);
7
+ if (!ws) {
8
+ res.status(404).json({ error: 'Workspace not found' });
9
+ return;
10
+ }
11
+ res.json(getInspectorHistory(ws));
12
+ });
13
+ export default router;
14
+ //# sourceMappingURL=inspector.js.map
@@ -77,6 +77,13 @@ router.put('/:issueId', (req, res) => {
77
77
  stopChannelRuns(req.params.id, issue.channelId);
78
78
  }
79
79
  broadcastToWorkspace(req.params.id, 'issue.status_changed', { issueId: req.params.issueId, from: previousStatus, to: status });
80
+ // Issue 归档/取消归档时,同步关联的 Channel
81
+ if (issue.channelId && (status === 'archived' || previousStatus === 'archived')) {
82
+ const archived = status === 'archived';
83
+ const updatedChannel = channelService.updateChannel(req.params.id, issue.channelId, { archived });
84
+ if (updatedChannel)
85
+ broadcastToWorkspace(req.params.id, 'channel.updated', updatedChannel);
86
+ }
80
87
  }
81
88
  res.json(saved);
82
89
  });
@@ -53,6 +53,8 @@ export function updateChannel(workspaceId, channelId, data) {
53
53
  channels[idx].draft = data.draft;
54
54
  if (Object.hasOwn(data, 'todos'))
55
55
  channels[idx].todos = data.todos;
56
+ if (Object.hasOwn(data, 'notifyOnComplete'))
57
+ channels[idx].notifyOnComplete = data.notifyOnComplete;
56
58
  if (Object.hasOwn(data, 'archived'))
57
59
  channels[idx].archived = data.archived;
58
60
  writeJsonFile(channelsPath(workspaceId), channels);
@@ -1,9 +1,13 @@
1
1
  import { readdir, stat, readFile, writeFile, mkdir, rm, rename as fsRename } from 'node:fs/promises';
2
+ import { existsSync } from 'node:fs';
2
3
  import { join, resolve, relative, isAbsolute, dirname } from 'node:path';
3
4
  import { getWorkspace } from '../storage/workspace-store.js';
4
5
  import { createGitignoreFilter } from './gitignore.js';
5
6
  const IGNORED_DIRS = new Set(['.git', 'node_modules', '.next', '.DS_Store']);
6
7
  export function resolvePath(workspace, relPath) {
8
+ if (isAbsolute(relPath)) {
9
+ return existsSync(relPath) ? relPath : null;
10
+ }
7
11
  const base = resolve(workspace.boundDirs[0]);
8
12
  const abs = resolve(base, relPath);
9
13
  const rel = relative(base, abs);
@@ -0,0 +1,53 @@
1
+ import { join } from 'node:path';
2
+ import { readJsonFile, writeJsonFile } from '../storage/json-store.js';
3
+ import { listWorkspaces } from '../storage/workspace-store.js';
4
+ const HISTORY_FILE = 'inspector-history.json';
5
+ const MAX_HISTORY = 50;
6
+ function historyPath(workspace) {
7
+ return join(workspace.agentspaceDir, HISTORY_FILE);
8
+ }
9
+ function sanitizeEntry(input) {
10
+ return {
11
+ id: `${input.timestamp ?? Date.now()}-${Math.random().toString(36).slice(2, 8)}`,
12
+ path: input.path,
13
+ name: input.name,
14
+ line: input.line,
15
+ column: input.column ?? 1,
16
+ timestamp: input.timestamp ?? Date.now(),
17
+ };
18
+ }
19
+ function normalizeHistory(value) {
20
+ if (!Array.isArray(value))
21
+ return [];
22
+ return value
23
+ .filter((item) => (item &&
24
+ typeof item === 'object' &&
25
+ typeof item.path === 'string' &&
26
+ typeof item.line === 'number'))
27
+ .map((item) => ({
28
+ ...item,
29
+ column: typeof item.column === 'number' ? item.column : 1,
30
+ timestamp: typeof item.timestamp === 'number' ? item.timestamp : Date.now(),
31
+ }))
32
+ .slice(0, MAX_HISTORY);
33
+ }
34
+ export function getInspectorHistory(workspace) {
35
+ return normalizeHistory(readJsonFile(historyPath(workspace)));
36
+ }
37
+ export function appendInspectorHistory(workspace, input) {
38
+ const entry = sanitizeEntry(input);
39
+ const current = getInspectorHistory(workspace);
40
+ const deduped = current.filter((item) => (item.path !== entry.path ||
41
+ item.line !== entry.line ||
42
+ item.column !== entry.column));
43
+ const next = [entry, ...deduped].slice(0, MAX_HISTORY);
44
+ writeJsonFile(historyPath(workspace), next);
45
+ return next;
46
+ }
47
+ export function appendInspectorHistoryToAllWorkspaces(input) {
48
+ return listWorkspaces().map((workspace) => ({
49
+ workspaceId: workspace.id,
50
+ history: appendInspectorHistory(workspace, input),
51
+ }));
52
+ }
53
+ //# sourceMappingURL=inspector-history.js.map
@@ -1,11 +1,14 @@
1
1
  import * as issueService from '../issue.js';
2
2
  import * as taskService from '../task.js';
3
+ import * as channelService from '../channel.js';
3
4
  import * as notificationCenter from '../notification-center.js';
4
5
  import { adapters } from './types.js';
5
6
  import { shouldNotify, isIssueStartStatus, isTaskDoneStatus } from './helpers.js';
6
7
  export function publishWorkspaceEvent(workspaceId, wsEvent, data) {
7
8
  persistInAppNotification(workspaceId, wsEvent, data);
8
- const envelope = buildNotificationEnvelope(workspaceId, wsEvent, data);
9
+ const envelope = wsEvent === 'agent.completed'
10
+ ? buildAgentCompletedEnvelope(workspaceId, data)
11
+ : buildNotificationEnvelope(workspaceId, wsEvent, data);
9
12
  if (!envelope)
10
13
  return;
11
14
  const adapter = adapters.get(workspaceId);
@@ -95,6 +98,27 @@ function buildNotificationEnvelope(workspaceId, wsEvent, data) {
95
98
  }
96
99
  return null;
97
100
  }
101
+ function buildAgentCompletedEnvelope(workspaceId, data) {
102
+ const payload = data;
103
+ if (!payload.channelId)
104
+ return null;
105
+ const channel = channelService.getChannel(workspaceId, payload.channelId);
106
+ if (!channel?.notifyOnComplete)
107
+ return null;
108
+ if (!shouldNotify(workspaceId, 'channel_agent_completed'))
109
+ return null;
110
+ return {
111
+ event: 'channel_agent_completed',
112
+ workspaceId,
113
+ timestamp: new Date().toISOString(),
114
+ data: {
115
+ channelId: channel.id,
116
+ channelName: channel.name,
117
+ agentId: payload.agentId,
118
+ summary: payload.result?.summary,
119
+ },
120
+ };
121
+ }
98
122
  function persistInAppNotification(workspaceId, wsEvent, data) {
99
123
  if (wsEvent === 'issue.status_changed') {
100
124
  const payload = data;
@@ -124,5 +148,14 @@ function persistInAppNotification(workspaceId, wsEvent, data) {
124
148
  notificationCenter.createNotification(workspaceId, 'task_failed', `任务失败: ${task.title}`, task.description || undefined, { taskId: task.id, issueId: task.issueId, status: 'failed' });
125
149
  }
126
150
  }
151
+ if (wsEvent === 'agent.completed') {
152
+ const payload = data;
153
+ if (!payload.channelId)
154
+ return;
155
+ const channel = channelService.getChannel(workspaceId, payload.channelId);
156
+ if (!channel?.notifyOnComplete || !payload.result?.success)
157
+ return;
158
+ notificationCenter.createNotification(workspaceId, 'channel_agent_completed', `Agent 回复完成: ${channel.name}`, payload.result.summary || undefined, { channelId: channel.id, summary: payload.result.summary });
159
+ }
127
160
  }
128
161
  //# sourceMappingURL=events.js.map
@@ -3,8 +3,11 @@ import { v4 as uuid } from 'uuid';
3
3
  const MAX_BUFFER_LINES = 1000;
4
4
  const DEFAULT_READ_LIMIT = 100;
5
5
  const sessions = new Map();
6
- export function createSession(workspaceId, cwd, onOutput, onExit, shell, env) {
7
- const id = uuid();
6
+ export function createSession(workspaceId, cwd, onOutput, onExit, shell, env, sessionId) {
7
+ const id = sessionId || uuid();
8
+ if (sessions.has(id)) {
9
+ throw new Error(`Terminal session already exists: ${id}`);
10
+ }
8
11
  const resolvedShell = shell || process.env.SHELL || (process.platform === 'win32' ? 'powershell.exe' : '/bin/zsh') || '/bin/sh';
9
12
  const ptyEnv = {};
10
13
  for (const [k, v] of Object.entries(process.env)) {
@@ -20,7 +23,7 @@ export function createSession(workspaceId, cwd, onOutput, onExit, shell, env) {
20
23
  cwd,
21
24
  env: ptyEnv,
22
25
  });
23
- const session = { id, pty: ptyProcess, workspaceId, cwd, buffer: [], output: '' };
26
+ const session = { id, pty: ptyProcess, workspaceId, cwd, shell: resolvedShell, buffer: [], output: '' };
24
27
  ptyProcess.onData((data) => {
25
28
  session.buffer.push(data);
26
29
  if (session.buffer.length > MAX_BUFFER_LINES) {
@@ -2,6 +2,7 @@
2
2
  import { execSync } from 'node:child_process';
3
3
  import { readdir, stat, readFile } from 'node:fs/promises';
4
4
  import { join, relative } from 'node:path';
5
+ import { minimatch } from 'minimatch';
5
6
  import { resolvePath } from './file.js';
6
7
  import { createGitignoreFilter } from './gitignore.js';
7
8
  const IGNORED_DIRS = new Set(['.git', 'node_modules', '.next', '.DS_Store', '__pycache__', '.turbo', 'dist', 'build', '.cache']);
@@ -104,11 +105,8 @@ async function searchWithNodeJs(basePath, options) {
104
105
  const s = await stat(fullPath);
105
106
  if (s.size > MAX_FILE_SIZE)
106
107
  continue;
107
- if (options.filePattern) {
108
- const pattern = options.filePattern.replace(/\*/g, '');
109
- if (!entry.name.includes(pattern) && !fullPath.includes(pattern))
110
- continue;
111
- }
108
+ if (options.filePattern && !minimatch(relPath, options.filePattern))
109
+ continue;
112
110
  try {
113
111
  const content = await readFile(fullPath, 'utf-8');
114
112
  const lines = content.split('\n');
package/dist/web/404.html CHANGED
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="" class="dm_sans_81a33cc5-module___RQdfW__variable outfit_8334a424-module__TwcMYa__variable poppins_37c4598a-module__JRG3Wq__variable h-[var(--app-content-height)] overflow-hidden antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover"/><link rel="stylesheet" href="/_next/static/chunks/0-oog4zg4_m~m.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/0cwvdk55mrt_9.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0xwqf.llmm_u2.js"/><script src="/_next/static/chunks/031c~uxc3ie87.js" async=""></script><script src="/_next/static/chunks/0h256h-tu4e0r.js" async=""></script><script src="/_next/static/chunks/0202ia13sijwb.js" async=""></script><script src="/_next/static/chunks/0gyede80jpy3n.js" async=""></script><script src="/_next/static/chunks/turbopack-0lrdxynxb9-1t.js" async=""></script><script src="/_next/static/chunks/0j2w71psq6w9u.js" async=""></script><script src="/_next/static/chunks/0anuxr11yn5iv.js" async=""></script><script src="/_next/static/chunks/0kyv5yika-41a.js" async=""></script><script src="/_next/static/chunks/1250wo~-5dgyx.js" async=""></script><script src="/_next/static/chunks/145qu5b0tgm9w.js" async=""></script><script src="/_next/static/chunks/0e.z4v3cd78dx.js" async=""></script><script src="/_next/static/chunks/002-dxhags4dj.js" async=""></script><script src="/_next/static/chunks/0wekj7h15h7z7.js" async=""></script><script src="/_next/static/chunks/145gbwitjxamg.js" async=""></script><script src="/_next/static/chunks/0egot8y~i-ge3.js" async=""></script><script src="/_next/static/chunks/0puhc.l_.mc99.js" async=""></script><script src="/_next/static/chunks/0v7nmghv8ieef.js" async=""></script><script src="/_next/static/chunks/0w3o.7vi.dlm6.js" async=""></script><script src="/_next/static/chunks/0_g3irbniww6d.js" async=""></script><script src="/_next/static/chunks/0gczc8mmde5my.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>Agent Spaces</title><meta name="description" content="Multi-agent collaborative coding workspace"/><link rel="icon" href="/favicon.ico?favicon.0~ekuj.zhggpa.ico" sizes="32x32" type="image/x-icon"/><link rel="icon" href="/favicon.ico"/><link rel="apple-touch-icon" href="/apple-touch-icon.png"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script></head><body class="h-[var(--app-content-height)] overflow-hidden font-sans"><div hidden=""><!--$--><!--/$--></div><script src="/_next/static/chunks/0xwqf.llmm_u2.js" id="_R_" async=""></script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[701341,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"ZoomWrapper\"]\n3:I[950396,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"ThemeProvider\"]\n4:I[556106,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"LocaleProvider\"]\n5:I[694819,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"ViewportInsets\"]\n6:I[177053,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"AuthGuard\"]\n7:I[994876,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"AppShell\"]\n8:I[242864,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/stat"])</script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script><script>self.__next_f.push([1,"ic/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"default\"]\n9:I[46907,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"default\"]\na:I[698679,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"CommandPalette\"]\nb:I[360112,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"Toaster\"]\nc:I[984642,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"ConsolePanel\"]\n12:I[785502,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0-oog4zg4_m~m.css\",\"style\"]\n:HL[\"/_next/static/chunks/0cwvdk55mrt_9.css\",\"style\"]\n"])</script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</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/0-oog4zg4_m~m.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0cwvdk55mrt_9.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0j2w71psq6w9u.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0anuxr11yn5iv.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0kyv5yika-41a.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/1250wo~-5dgyx.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/145qu5b0tgm9w.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/_next/static/chunks/002-dxhags4dj.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/_next/static/chunks/0wekj7h15h7z7.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-8\",{\"src\":\"/_next/static/chunks/145gbwitjxamg.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-9\",{\"src\":\"/_next/static/chunks/0egot8y~i-ge3.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-10\",{\"src\":\"/_next/static/chunks/0puhc.l_.mc99.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-11\",{\"src\":\"/_next/static/chunks/0v7nmghv8ieef.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-12\",{\"src\":\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-13\",{\"src\":\"/_next/static/chunks/0_g3irbniww6d.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-14\",{\"src\":\"/_next/static/chunks/0gczc8mmde5my.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"\",\"className\":\"dm_sans_81a33cc5-module___RQdfW__variable outfit_8334a424-module__TwcMYa__variable poppins_37c4598a-module__JRG3Wq__variable h-[var(--app-content-height)] overflow-hidden antialiased\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"h-[var(--app-content-height)] overflow-hidden font-sans\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"disableTransitionOnChange\":true,\"children\":[\"$\",\"$L4\",null,{\"children\":[[\"$\",\"$L5\",null,{}],[\"$\",\"$L6\",null,{\"children\":[[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",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\"}]}],[\"$\",\"$La\",null,{}],[\"$\",\"$Lb\",null,{\"richColors\":true,\"position\":\"bottom-right\"}]]}],[\"$\",\"$Lc\",null,{}]]}]}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",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:props:children:props:children:props:children:1:props:children:0: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)}}\"}}],\"$Ld\",\"$Le\"]}]}]],null,\"$Lf\"]}],{},null,false,null]},null,false,\"$@10\"]},null,false,null],\"$L11\",false]],\"m\":\"$undefined\",\"G\":[\"$12\",[\"$L13\",\"$L14\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"gN3O86ki0NGTvGTqE2Ibh\"}\n"])</script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script><script>self.__next_f.push([1,"15:I[990774,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"OutletBoundary\"]\n16:\"$Sreact.suspense\"\n19:I[990774,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"ViewportBoundary\"]\n1b:I[990774,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"MetadataBoundary\"]\nd:[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:children:1:props:children:0:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}]\ne:[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:children:1:props:children:0: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:props:children:props:children:props:children:1:props:children:0:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]\nf:[\"$\",\"$L15\",null,{\"children\":[\"$\",\"$16\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@17\"}]}]\n18:[]\n10:\"$W18\"\n11:[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L19\",null,{\"children\":\"$L1a\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1b\",null,{\"children\":[\"$\",\"$16\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1c\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n13:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0-oog4zg4_m~m.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n14:[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0cwvdk55mrt_9.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script><script>self.__next_f.push([1,"1a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover\"}]]\n"])</script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script><script>self.__next_f.push([1,"1d:I[946513,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/0wekj7h15h7z7.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/0puhc.l_.mc99.js\",\"/_next/static/chunks/0v7nmghv8ieef.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/0gczc8mmde5my.js\"],\"IconMark\"]\n17:null\n1c:[[\"$\",\"title\",\"0\",{\"children\":\"Agent Spaces\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Multi-agent collaborative coding workspace\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0~ekuj.zhggpa.ico\",\"sizes\":\"32x32\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"link\",\"4\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-touch-icon.png\"}],[\"$\",\"$L1d\",\"5\",{}]]\n"])</script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script></body></html><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script>
1
+ <!DOCTYPE html><html lang="" class="dm_sans_81a33cc5-module___RQdfW__variable outfit_8334a424-module__TwcMYa__variable poppins_37c4598a-module__JRG3Wq__variable h-[var(--app-content-height)] overflow-hidden antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover"/><link rel="stylesheet" href="/_next/static/chunks/0-oog4zg4_m~m.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/01tyftu_-l7tm.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0xwqf.llmm_u2.js"/><script src="/_next/static/chunks/031c~uxc3ie87.js" async=""></script><script src="/_next/static/chunks/0h256h-tu4e0r.js" async=""></script><script src="/_next/static/chunks/0202ia13sijwb.js" async=""></script><script src="/_next/static/chunks/0gyede80jpy3n.js" async=""></script><script src="/_next/static/chunks/turbopack-0lrdxynxb9-1t.js" async=""></script><script src="/_next/static/chunks/0j2w71psq6w9u.js" async=""></script><script src="/_next/static/chunks/0anuxr11yn5iv.js" async=""></script><script src="/_next/static/chunks/0kyv5yika-41a.js" async=""></script><script src="/_next/static/chunks/1250wo~-5dgyx.js" async=""></script><script src="/_next/static/chunks/145qu5b0tgm9w.js" async=""></script><script src="/_next/static/chunks/0e.z4v3cd78dx.js" async=""></script><script src="/_next/static/chunks/002-dxhags4dj.js" async=""></script><script src="/_next/static/chunks/15dyaigebtnwg.js" async=""></script><script src="/_next/static/chunks/145gbwitjxamg.js" async=""></script><script src="/_next/static/chunks/0egot8y~i-ge3.js" async=""></script><script src="/_next/static/chunks/12gvpt~z9mn8w.js" async=""></script><script src="/_next/static/chunks/0eq7wt-l.fetc.js" async=""></script><script src="/_next/static/chunks/0w3o.7vi.dlm6.js" async=""></script><script src="/_next/static/chunks/0_g3irbniww6d.js" async=""></script><script src="/_next/static/chunks/028b9_5cyq-_m.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>Agent Spaces</title><meta name="description" content="Multi-agent collaborative coding workspace"/><link rel="icon" href="/favicon.ico?favicon.0~ekuj.zhggpa.ico" sizes="32x32" type="image/x-icon"/><link rel="icon" href="/favicon.ico"/><link rel="apple-touch-icon" href="/apple-touch-icon.png"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script></head><body class="h-[var(--app-content-height)] overflow-hidden font-sans"><div hidden=""><!--$--><!--/$--></div><script src="/_next/static/chunks/0xwqf.llmm_u2.js" id="_R_" async=""></script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[701341,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"ZoomWrapper\"]\n3:I[950396,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"ThemeProvider\"]\n4:I[556106,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"LocaleProvider\"]\n5:I[694819,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"ViewportInsets\"]\n6:I[177053,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"AuthGuard\"]\n7:I[994876,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"AppShell\"]\n8:I[242864,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/stat"])</script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script><script>self.__next_f.push([1,"ic/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"default\"]\n9:I[46907,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"default\"]\na:I[698679,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"CommandPalette\"]\nb:I[360112,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"Toaster\"]\nc:I[984642,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"ConsolePanel\"]\n12:I[785502,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0-oog4zg4_m~m.css\",\"style\"]\n:HL[\"/_next/static/chunks/01tyftu_-l7tm.css\",\"style\"]\n"])</script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</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/0-oog4zg4_m~m.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/01tyftu_-l7tm.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0j2w71psq6w9u.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0anuxr11yn5iv.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0kyv5yika-41a.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/1250wo~-5dgyx.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/145qu5b0tgm9w.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/_next/static/chunks/002-dxhags4dj.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/_next/static/chunks/15dyaigebtnwg.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-8\",{\"src\":\"/_next/static/chunks/145gbwitjxamg.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-9\",{\"src\":\"/_next/static/chunks/0egot8y~i-ge3.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-10\",{\"src\":\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-11\",{\"src\":\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-12\",{\"src\":\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-13\",{\"src\":\"/_next/static/chunks/0_g3irbniww6d.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-14\",{\"src\":\"/_next/static/chunks/028b9_5cyq-_m.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"\",\"className\":\"dm_sans_81a33cc5-module___RQdfW__variable outfit_8334a424-module__TwcMYa__variable poppins_37c4598a-module__JRG3Wq__variable h-[var(--app-content-height)] overflow-hidden antialiased\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"h-[var(--app-content-height)] overflow-hidden font-sans\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"disableTransitionOnChange\":true,\"children\":[\"$\",\"$L4\",null,{\"children\":[[\"$\",\"$L5\",null,{}],[\"$\",\"$L6\",null,{\"children\":[[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",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\"}]}],[\"$\",\"$La\",null,{}],[\"$\",\"$Lb\",null,{\"richColors\":true,\"position\":\"bottom-right\"}]]}],[\"$\",\"$Lc\",null,{}]]}]}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",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:props:children:props:children:props:children:1:props:children:0: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)}}\"}}],\"$Ld\",\"$Le\"]}]}]],null,\"$Lf\"]}],{},null,false,null]},null,false,\"$@10\"]},null,false,null],\"$L11\",false]],\"m\":\"$undefined\",\"G\":[\"$12\",[\"$L13\",\"$L14\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"O5-QCW1u2YNyAUyaoYh6s\"}\n"])</script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script><script>self.__next_f.push([1,"15:I[990774,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"OutletBoundary\"]\n16:\"$Sreact.suspense\"\n19:I[990774,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"ViewportBoundary\"]\n1b:I[990774,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"MetadataBoundary\"]\nd:[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:children:1:props:children:0:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}]\ne:[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:props:children:1:props:children:0: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:props:children:props:children:props:children:1:props:children:0:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]\nf:[\"$\",\"$L15\",null,{\"children\":[\"$\",\"$16\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@17\"}]}]\n18:[]\n10:\"$W18\"\n11:[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L19\",null,{\"children\":\"$L1a\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1b\",null,{\"children\":[\"$\",\"$16\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1c\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n13:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0-oog4zg4_m~m.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n14:[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/01tyftu_-l7tm.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script><script>self.__next_f.push([1,"1a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover\"}]]\n"])</script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script><script>self.__next_f.push([1,"1d:I[946513,[\"/_next/static/chunks/0j2w71psq6w9u.js\",\"/_next/static/chunks/0anuxr11yn5iv.js\",\"/_next/static/chunks/0kyv5yika-41a.js\",\"/_next/static/chunks/1250wo~-5dgyx.js\",\"/_next/static/chunks/145qu5b0tgm9w.js\",\"/_next/static/chunks/0e.z4v3cd78dx.js\",\"/_next/static/chunks/002-dxhags4dj.js\",\"/_next/static/chunks/15dyaigebtnwg.js\",\"/_next/static/chunks/145gbwitjxamg.js\",\"/_next/static/chunks/0egot8y~i-ge3.js\",\"/_next/static/chunks/12gvpt~z9mn8w.js\",\"/_next/static/chunks/0eq7wt-l.fetc.js\",\"/_next/static/chunks/0w3o.7vi.dlm6.js\",\"/_next/static/chunks/0_g3irbniww6d.js\",\"/_next/static/chunks/028b9_5cyq-_m.js\"],\"IconMark\"]\n17:null\n1c:[[\"$\",\"title\",\"0\",{\"children\":\"Agent Spaces\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Multi-agent collaborative coding workspace\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0~ekuj.zhggpa.ico\",\"sizes\":\"32x32\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"link\",\"4\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-touch-icon.png\"}],[\"$\",\"$L1d\",\"5\",{}]]\n"])</script><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script></body></html><script>(function(){try{var t=localStorage.getItem('agent-spaces-theme');var d=t==='dark'||((!t||t==='system')&&matchMedia('(prefers-color-scheme:dark)').matches);var r=d?'dark':'light';document.documentElement.classList.add(r);document.documentElement.style.colorScheme=r;var m=document.querySelector('meta[name="theme-color"]');if(!m){m=document.createElement('meta');m.name='theme-color';document.head.appendChild(m)}m.content=d?'#0f1117':'#ffffff';if(window.AgentSpacesStatusBar){window.AgentSpacesStatusBar.setTheme(r)}}catch(e){}})()</script><script>(function(){try{var l=localStorage.getItem('agent-spaces-locale');document.documentElement.lang=(l==='en')?'en':'zh-CN'}catch(e){}})()</script>
@@ -1,9 +1,9 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[487786,["/_next/static/chunks/0j2w71psq6w9u.js","/_next/static/chunks/0anuxr11yn5iv.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/145qu5b0tgm9w.js","/_next/static/chunks/0e.z4v3cd78dx.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0wekj7h15h7z7.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0puhc.l_.mc99.js","/_next/static/chunks/0v7nmghv8ieef.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/0_g3irbniww6d.js","/_next/static/chunks/0gczc8mmde5my.js"],"ClientPageRoot"]
3
- 3:I[330997,["/_next/static/chunks/0j2w71psq6w9u.js","/_next/static/chunks/0anuxr11yn5iv.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/145qu5b0tgm9w.js","/_next/static/chunks/0e.z4v3cd78dx.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0wekj7h15h7z7.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0puhc.l_.mc99.js","/_next/static/chunks/0v7nmghv8ieef.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/0_g3irbniww6d.js","/_next/static/chunks/0gczc8mmde5my.js","/_next/static/chunks/0u7_qd9hzqwac.js","/_next/static/chunks/0w1iudd1d46sw.js"],"default"]
4
- 6:I[990774,["/_next/static/chunks/0j2w71psq6w9u.js","/_next/static/chunks/0anuxr11yn5iv.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/145qu5b0tgm9w.js","/_next/static/chunks/0e.z4v3cd78dx.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0wekj7h15h7z7.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0puhc.l_.mc99.js","/_next/static/chunks/0v7nmghv8ieef.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/0_g3irbniww6d.js","/_next/static/chunks/0gczc8mmde5my.js"],"OutletBoundary"]
2
+ 2:I[487786,["/_next/static/chunks/0j2w71psq6w9u.js","/_next/static/chunks/0anuxr11yn5iv.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/145qu5b0tgm9w.js","/_next/static/chunks/0e.z4v3cd78dx.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/15dyaigebtnwg.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/12gvpt~z9mn8w.js","/_next/static/chunks/0eq7wt-l.fetc.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/0_g3irbniww6d.js","/_next/static/chunks/028b9_5cyq-_m.js"],"ClientPageRoot"]
3
+ 3:I[330997,["/_next/static/chunks/0j2w71psq6w9u.js","/_next/static/chunks/0anuxr11yn5iv.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/145qu5b0tgm9w.js","/_next/static/chunks/0e.z4v3cd78dx.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/15dyaigebtnwg.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/12gvpt~z9mn8w.js","/_next/static/chunks/0eq7wt-l.fetc.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/0_g3irbniww6d.js","/_next/static/chunks/028b9_5cyq-_m.js","/_next/static/chunks/0u7_qd9hzqwac.js","/_next/static/chunks/0w1iudd1d46sw.js"],"default"]
4
+ 6:I[990774,["/_next/static/chunks/0j2w71psq6w9u.js","/_next/static/chunks/0anuxr11yn5iv.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/145qu5b0tgm9w.js","/_next/static/chunks/0e.z4v3cd78dx.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/15dyaigebtnwg.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/12gvpt~z9mn8w.js","/_next/static/chunks/0eq7wt-l.fetc.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/0_g3irbniww6d.js","/_next/static/chunks/028b9_5cyq-_m.js"],"OutletBoundary"]
5
5
  7:"$Sreact.suspense"
6
- 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/0u7_qd9hzqwac.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0w1iudd1d46sw.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"gN3O86ki0NGTvGTqE2Ibh"}
6
+ 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/0u7_qd9hzqwac.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0w1iudd1d46sw.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"O5-QCW1u2YNyAUyaoYh6s"}
7
7
  4:{}
8
8
  5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
9
9
  8:null