studiograph 1.3.48-next.209 → 1.3.48-next.210
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/mcp.js +43 -3
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/serve.js +37 -0
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/core/workspace.js +2 -1
- package/dist/core/workspace.js.map +1 -1
- package/dist/mcp/server-discovery.d.ts +73 -0
- package/dist/mcp/server-discovery.js +164 -0
- package/dist/mcp/server-discovery.js.map +1 -0
- package/dist/mcp/server.d.ts +14 -1
- package/dist/mcp/server.js +22 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/stdio-proxy.d.ts +67 -0
- package/dist/mcp/stdio-proxy.js +149 -0
- package/dist/mcp/stdio-proxy.js.map +1 -0
- package/dist/server/index.d.ts +7 -0
- package/dist/server/index.js +12 -0
- package/dist/server/index.js.map +1 -1
- package/dist/web/_app/immutable/chunks/{-2spa_ty.js → 3anKjXOb.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DzK_EvND.js → 7xJ91z7d.js} +2 -2
- package/dist/web/_app/immutable/chunks/{C-TmTX5l2.js → B-TGZnCt2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{JcpnqlPk.js → B4DG5QOL.js} +1 -1
- package/dist/web/_app/immutable/chunks/{z-R2Vldf2.js → B9VRF5aH2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{8gf0UBic.js → BF0vIqH9.js} +1 -1
- package/dist/web/_app/immutable/chunks/{yoW0fRX1.js → BFp1K70l.js} +4 -4
- package/dist/web/_app/immutable/chunks/{hTPRNEu-.js → BFr7Funh.js} +1 -1
- package/dist/web/_app/immutable/chunks/{D9kLoQFp.js → BFx32D20.js} +2 -2
- package/dist/web/_app/immutable/chunks/{hjHovleV.js → BRvMjAzW.js} +2 -2
- package/dist/web/_app/immutable/chunks/{Cq3VfwJ3.js → B_PyL87x.js} +2 -2
- package/dist/web/_app/immutable/chunks/{CarU_W4g.js → BdWZJpmv.js} +2 -2
- package/dist/web/_app/immutable/chunks/{BuRnMKGZ.js → BfnFtsiY.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B4_vWrbE.js → BmgXvmIG.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CjBxftln.js → BrveeylZ.js} +1 -1
- package/dist/web/_app/immutable/chunks/{yweJJEAv.js → Bxk27YWG.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DQ8hc8G4.js → C3F_NMTk.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DHcBGJcU.js → C4PZmGUQ.js} +2 -2
- package/dist/web/_app/immutable/chunks/C6wYiSz8.js +1 -0
- package/dist/web/_app/immutable/chunks/{CqkR4dEE.js → C70saxIl.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CbBO7xjd.js → CE1XZ5DE.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Dg14Xiup2.js → CGkd0a-c2.js} +2 -2
- package/dist/web/_app/immutable/chunks/{CTDSRwA-.js → CK4z74w5.js} +1 -1
- package/dist/web/_app/immutable/chunks/{SzNdcEDz.js → COo3HgCZ.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DqOvW0Ci.js → CQyBDccA.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BF86pxyG.js → CV5OSCJc.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DAUpeR52.js → Cg-ND0cl.js} +1 -1
- package/dist/web/_app/immutable/chunks/{C-ZVRZqG2.js → CjiMLTwX2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B3OPjHNM.js → CkoeSJ8K.js} +2 -2
- package/dist/web/_app/immutable/chunks/{BfwmNeLQ.js → Cp87MaaW.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CEPTuxuw.js → Ct1uesdW.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B3hBJ0CZ.js → Cuq8J2Td.js} +1 -1
- package/dist/web/_app/immutable/chunks/D1BLcNJ7.js +1 -0
- package/dist/web/_app/immutable/chunks/{DFo8Z02k2.js → D3F675fu2.js} +2 -2
- package/dist/web/_app/immutable/chunks/{XXFvJvf7.js → D4UrtGC1.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CllJGOSl2.js → DE2TCESD2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DcKFKEKq2.js → DN-gIRdd2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{iq89w22o.js → DPcejqKZ.js} +1 -1
- package/dist/web/_app/immutable/chunks/{dpypnVMz.js → DRPMJ-3M.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BT7MNsRm.js → DRPnwQAm.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BXFiQe0S2.js → DXmfl4Hq2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BWvxD8JC.js → DdQVGKgM.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BVC3D6J_2.js → DiFfW--R2.js} +2 -2
- package/dist/web/_app/immutable/chunks/{BdtryC552.js → DsFEd8vL2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BA-4MmCY.js → ON7Gta0d.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Dhi-nA7b2.js → RG7IUVLn2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Czkm1Z_J.js → SnzlL4ZV.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B85YLOuO.js → Xkp5hSA1.js} +1 -1
- package/dist/web/_app/immutable/chunks/{8xCkZMHB2.js → golz20La2.js} +1 -1
- package/dist/web/_app/immutable/chunks/nXReuy-5.js +3 -0
- package/dist/web/_app/immutable/chunks/{NXXkP0Yl2.js → o61aZZFZ2.js} +1 -1
- package/dist/web/_app/immutable/entry/{app.D9x3Ozzy.js → app.dqA31fjy.js} +2 -2
- package/dist/web/_app/immutable/entry/start.BB1XrAea.js +1 -0
- package/dist/web/_app/immutable/nodes/{0.dg_UMka-.js → 0.dALEQAnu.js} +2 -2
- package/dist/web/_app/immutable/nodes/{1.DmQYkamr.js → 1.aFU32Ukj.js} +1 -1
- package/dist/web/_app/immutable/nodes/{10.BEAGT9ix.js → 10.C2wB-OnW.js} +1 -1
- package/dist/web/_app/immutable/nodes/{11.BCpAYiCX.js → 11.CI3a8Rj5.js} +1 -1
- package/dist/web/_app/immutable/nodes/{12.BD2-phrA.js → 12.CsTvsKzB.js} +1 -1
- package/dist/web/_app/immutable/nodes/{14.Car_Z8Ge.js → 14.B31HrQ26.js} +1 -1
- package/dist/web/_app/immutable/nodes/{16.Dx-_Q88K.js → 16.DAP8cwVb.js} +1 -1
- package/dist/web/_app/immutable/nodes/{17.DPlV4PKK.js → 17.CmwXtCDY.js} +1 -1
- package/dist/web/_app/immutable/nodes/{2.De5Q8inl.js → 2.BuGXEIlN.js} +4 -4
- package/dist/web/_app/immutable/nodes/{3.CB85wmwM.js → 3.CmhZJWHE.js} +3 -3
- package/dist/web/_app/immutable/nodes/{4.CuBxISNV.js → 4.BRfoPTm-.js} +3 -3
- package/dist/web/_app/immutable/nodes/{5.BacpN2b7.js → 5.C7gPuZM_.js} +1 -1
- package/dist/web/_app/immutable/nodes/{6.NCIMY9Md.js → 6.qKODVbya.js} +2 -2
- package/dist/web/_app/immutable/nodes/{7.CuBtDBRM.js → 7.BZO37zAJ.js} +1 -1
- package/dist/web/_app/immutable/nodes/{8.CK9UmlO8.js → 8.xF_Dd1BO.js} +1 -1
- package/dist/web/_app/immutable/nodes/{9.1L0aYtSp.js → 9.Bow4UyKV.js} +1 -1
- package/dist/web/_app/version.json +1 -1
- package/dist/web/index.html +13 -13
- package/package.json +1 -1
- package/dist/web/_app/immutable/chunks/D8RiXQGX.js +0 -1
- package/dist/web/_app/immutable/chunks/DF37Jk8z.js +0 -3
- package/dist/web/_app/immutable/chunks/HqKvrUJa.js +0 -1
- package/dist/web/_app/immutable/entry/start.CASYyKnT.js +0 -1
package/dist/cli/commands/mcp.js
CHANGED
|
@@ -24,17 +24,32 @@
|
|
|
24
24
|
* MCP protocol. Use console.error() for any diagnostic output.
|
|
25
25
|
*/
|
|
26
26
|
import { Command } from 'commander';
|
|
27
|
+
import { resolve } from 'path';
|
|
28
|
+
import { realpathSync } from 'fs';
|
|
27
29
|
import { Workspace } from '../../core/workspace.js';
|
|
28
30
|
import { WorkspaceManager } from '../../core/workspace-manager.js';
|
|
29
31
|
import { loadUserConfig } from '../../core/user-config.js';
|
|
30
32
|
import { tryResolve } from '../../core/secrets/read-flip.js';
|
|
31
33
|
import { AuthService } from '../../services/auth-service.js';
|
|
32
|
-
import {
|
|
34
|
+
import { resolveStdioUser, createInProcessMcpClient } from '../../mcp/server.js';
|
|
35
|
+
import { StdioProxy } from '../../mcp/stdio-proxy.js';
|
|
33
36
|
export const mcpCommand = new Command('mcp')
|
|
34
37
|
.description('Start the Studiograph MCP server for Claude Desktop integration')
|
|
35
38
|
.argument('[workspace]', 'Path to workspace (defaults to current directory)')
|
|
36
39
|
.action(async (workspaceArg) => {
|
|
37
|
-
|
|
40
|
+
// Canonicalize (absolute + symlinks resolved) so the discovery
|
|
41
|
+
// `workspacePath` match against the running server is exact. The server
|
|
42
|
+
// writes `process.cwd()`, which Node already real-path-resolves; without
|
|
43
|
+
// realpath here a symlinked path (e.g. macOS /tmp → /private/tmp) would
|
|
44
|
+
// mismatch and the proxy would needlessly fall back to a local write.
|
|
45
|
+
const requested = resolve(workspaceArg ?? process.cwd());
|
|
46
|
+
let workspacePath = requested;
|
|
47
|
+
try {
|
|
48
|
+
workspacePath = realpathSync(requested);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
/* path may not exist yet — the isWorkspace() check below handles it */
|
|
52
|
+
}
|
|
38
53
|
const workspace = new Workspace(workspacePath);
|
|
39
54
|
if (!workspace.isWorkspace()) {
|
|
40
55
|
process.stderr.write('Not a Studiograph workspace.\n' +
|
|
@@ -60,6 +75,31 @@ export const mcpCommand = new Command('mcp')
|
|
|
60
75
|
};
|
|
61
76
|
const workspaceManager = new WorkspaceManager(workspacePath, config, gitUser);
|
|
62
77
|
const authService = new AuthService(workspacePath);
|
|
63
|
-
|
|
78
|
+
// Resolve identity up front so the proxy fails closed (same message as the
|
|
79
|
+
// old direct stdio server) before opening the stdio transport.
|
|
80
|
+
const user = resolveStdioUser(authService);
|
|
81
|
+
const token = process.env.STUDIOGRAPH_MCP_TOKEN?.trim();
|
|
82
|
+
if (!user || !token) {
|
|
83
|
+
process.stderr.write('Studiograph MCP: STUDIOGRAPH_MCP_TOKEN is required.\n' +
|
|
84
|
+
'Generate a token with:\n' +
|
|
85
|
+
' curl -X POST http://<host>/api/auth/tokens \\\n' +
|
|
86
|
+
' -H "Content-Type: application/json" \\\n' +
|
|
87
|
+
' -b __sg_token=<your-jwt> \\\n' +
|
|
88
|
+
' -d \'{"name":"claude-desktop"}\'\n' +
|
|
89
|
+
'Then set STUDIOGRAPH_MCP_TOKEN=<token> in your Claude Desktop MCP config env.\n');
|
|
90
|
+
process.exit(1);
|
|
91
|
+
}
|
|
92
|
+
// Audit signal (stderr only — stdout is the JSON-RPC channel). Preserves the
|
|
93
|
+
// identity line the old direct stdio server logged on startup.
|
|
94
|
+
process.stderr.write(`Studiograph MCP: authenticated as ${user.email}\n`);
|
|
95
|
+
// Transparent stdio→HTTP proxy: forward tool calls to the running local
|
|
96
|
+
// server (so writes merge into any open editor) when one is reachable, else
|
|
97
|
+
// fall back to an in-process server (safe: no server ⇒ no live editor).
|
|
98
|
+
const proxy = new StdioProxy({
|
|
99
|
+
workspacePath,
|
|
100
|
+
token,
|
|
101
|
+
buildLocalClient: () => createInProcessMcpClient(workspaceManager, authService, user),
|
|
102
|
+
});
|
|
103
|
+
await proxy.start();
|
|
64
104
|
});
|
|
65
105
|
//# sourceMappingURL=mcp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,9 +14,11 @@
|
|
|
14
14
|
import { Command } from 'commander';
|
|
15
15
|
import { join } from 'path';
|
|
16
16
|
import { homedir } from 'os';
|
|
17
|
+
import { randomUUID } from 'crypto';
|
|
17
18
|
import { exec, spawnSync } from 'child_process';
|
|
18
19
|
import { existsSync } from 'fs';
|
|
19
20
|
import { Workspace } from '../../core/workspace.js';
|
|
21
|
+
import { writeServerInfo, deleteServerInfo } from '../../mcp/server-discovery.js';
|
|
20
22
|
import { WorkspaceManager } from '../../core/workspace-manager.js';
|
|
21
23
|
import { loadUserConfig, resolveApiKey, propagateApiKeyToEnv } from '../../core/user-config.js';
|
|
22
24
|
import { promptLLMSetupIfNeeded } from '../setup-wizard.js';
|
|
@@ -239,6 +241,9 @@ export const serveCommand = new Command('serve')
|
|
|
239
241
|
}
|
|
240
242
|
const port = parseInt(process.env.PORT || opts.port, 10);
|
|
241
243
|
const host = process.env.HOST || opts.host;
|
|
244
|
+
// Random per-boot id used by the stdio MCP proxy to confirm it is talking
|
|
245
|
+
// to the server that owns this workspace before forwarding tool calls.
|
|
246
|
+
const serverId = randomUUID();
|
|
242
247
|
const server = await createServer({
|
|
243
248
|
workspaceManager,
|
|
244
249
|
workspacePath: process.cwd(),
|
|
@@ -247,6 +252,7 @@ export const serveCommand = new Command('serve')
|
|
|
247
252
|
port,
|
|
248
253
|
host,
|
|
249
254
|
authCryptoOptions,
|
|
255
|
+
serverId,
|
|
250
256
|
});
|
|
251
257
|
// Try to listen, auto-incrementing port if in use
|
|
252
258
|
let actualPort = port;
|
|
@@ -265,6 +271,29 @@ export const serveCommand = new Command('serve')
|
|
|
265
271
|
process.exit(1);
|
|
266
272
|
}
|
|
267
273
|
}
|
|
274
|
+
// Publish the discovery file now that the listen port is known. Always use
|
|
275
|
+
// the loopback url regardless of bind host — the stdio proxy only ever
|
|
276
|
+
// sends a Bearer token to a loopback address. Removed after server.close()
|
|
277
|
+
// in the shutdown path below.
|
|
278
|
+
try {
|
|
279
|
+
writeServerInfo(process.cwd(), {
|
|
280
|
+
url: `http://127.0.0.1:${actualPort}`,
|
|
281
|
+
pid: process.pid,
|
|
282
|
+
workspacePath: process.cwd(),
|
|
283
|
+
serverId,
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
catch (err) {
|
|
287
|
+
// Non-fatal, but loud: without server.json the stdio MCP proxy can't
|
|
288
|
+
// discover this server and falls back to writing in-process, which can
|
|
289
|
+
// clobber unsaved edits in an open live editor. (Same observable state as
|
|
290
|
+
// running a server build that predates the proxy — the documented rollout
|
|
291
|
+
// case.) If this fires while the server is otherwise healthy, .studiograph
|
|
292
|
+
// is likely read-only/full and needs attention.
|
|
293
|
+
console.warn('[serve] WARNING: failed to write .studiograph/server.json — the stdio MCP ' +
|
|
294
|
+
'proxy will not discover this server and may write locally, risking live-edit ' +
|
|
295
|
+
'data loss. Check .studiograph permissions/disk:', err instanceof Error ? err.message : err);
|
|
296
|
+
}
|
|
268
297
|
// The asset caption/extract pass now runs as a live in-process drain
|
|
269
298
|
// (AssetIndexService) constructed inside createServer — it captions new
|
|
270
299
|
// uploads while the server runs AND does the boot recovery sweep that used
|
|
@@ -313,6 +342,14 @@ export const serveCommand = new Command('serve')
|
|
|
313
342
|
catch (err) {
|
|
314
343
|
console.error('[serve] shutdown error:', err);
|
|
315
344
|
}
|
|
345
|
+
finally {
|
|
346
|
+
// Always remove the discovery file, even if server.close() threw — a
|
|
347
|
+
// stale server.json is otherwise left pointing at a dead port. (The
|
|
348
|
+
// probe's pid-alive + serverId checks already make a stale file safe,
|
|
349
|
+
// but cleaning it up keeps the common case tidy.) Runs after close()
|
|
350
|
+
// so the file never points at a still-listening-but-closing server.
|
|
351
|
+
deleteServerInfo(process.cwd());
|
|
352
|
+
}
|
|
316
353
|
process.exit(exitCode);
|
|
317
354
|
};
|
|
318
355
|
process.once('SIGTERM', () => shutdown('SIGTERM', 0));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAmB,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjH,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,CAAC;KACxD,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,SAAS,CAAC;KACzD,MAAM,CAAC,WAAW,EAAE,0CAA0C,CAAC;KAC/D,MAAM,CAAC,KAAK,EAAE,IAAuD,EAAE,EAAE;IACxE,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,GAAG,CAAC;IAExD,yEAAyE;IACzE,yEAAyE;IACzE,8DAA8D;IAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,sEAAsE;IACtE,0EAA0E;IAC1E,qEAAqE;IACrE,oEAAoE;IACpE,IAAI,CAAC;QACH,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAE3B,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAElC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAExC,oEAAoE;IACpE,sEAAsE;IACtE,8DAA8D;IAC9D,iEAAiE;IACjE,kEAAkE;IAClE,4DAA4D;IAC5D,EAAE;IACF,oEAAoE;IACpE,mEAAmE;IACnE,oEAAoE;IACpE,+DAA+D;IAC/D,EAAE;IACF,sEAAsE;IACtE,oEAAoE;IACpE,iEAAiE;IACjE,gEAAgE;IAChE,IAAI,iBAA6E,CAAC;IAClF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;QACzC,mBAAmB,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,UAAU,CAAC,YAAY,CAAC;YACxE,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,oBAAoB,CAAC;YACrC,MAAM;YACN,SAAS,EAAE,MAAM,CAAC,GAAG;YACrB,iBAAiB,EAAE,QAAQ;SAC5B,CAAC,CAAC;QACH,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,qBAAqB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAErF,4DAA4D;QAC5D,qEAAqE;QACrE,iBAAiB,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;QAE9C,6DAA6D;QAC7D,6DAA6D;QAC7D,yDAAyD;QACzD,8DAA8D;QAC9D,8DAA8D;QAC9D,iEAAiE;QACjE,4DAA4D;QAC5D,0DAA0D;QAC1D,gDAAgD;QAChD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;YAClE,MAAM,eAAe,GAAG,mBAAmB,CAAC;gBAC1C,UAAU;gBACV,SAAS,EAAE,MAAM,CAAC,GAAG;aACtB,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CACT,6DAA6D;oBAC3D,GAAG,eAAe,CAAC,iBAAiB,wBAAwB;oBAC5D,GAAG,eAAe,CAAC,iBAAiB,4BAA4B;oBAChE,aAAa,eAAe,CAAC,UAAU,GAAG,CAC7C,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,gEAAgE,EAChE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,kEAAkE;QAClE,+DAA+D;QAC/D,iEAAiE;QACjE,8DAA8D;QAC9D,6DAA6D;QAC7D,6BAA6B;QAE7B,6DAA6D;QAC7D,kDAAkD;QAClD,gEAAgE;QAChE,mEAAmE;QACnE,mEAAmE;QACnE,kEAAkE;QAClE,4DAA4D;QAC5D,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;YAChF,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrD,OAAO,CAAC,GAAG,CACT,gEAAgE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9F,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,uDAAuD,EACvD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,8DAA8D;QAC9D,iEAAiE;QACjE,kCAAkC;QAClC,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;IAE5C,yEAAyE;IACzE,+EAA+E;IAC/E,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,qCAAqC;IACrC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,SAAS;QACnC,IAAI,CAAC;YACH,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,2BAA2B,EAAE,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxI,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAC7B,CAAC;IAED,oGAAoG;IACpG,MAAM,sBAAsB,EAAE,CAAC;IAE/B,mFAAmF;IACnF,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;IACpC,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAEpD,sCAAsC;IACtC,MAAM,OAAO,GAAG;QACd,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,MAAM,CAAC,SAAS,IAAI,oBAAoB;QAC9C,KAAK,EAAE,2BAA2B;KACnC,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAC3C,OAAO,CAAC,GAAG,EAAE,EACb,MAAM,EACN,OAAO,CACR,CAAC;IAEF,uEAAuE;IACvE,wEAAwE;IACxE,qEAAqE;IACrE,6BAA6B;IAC7B,KAAK,MAAM,CAAC,yCAAyC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,uBAAuB,EAAE,EAAE,EAAE,CAC1F,uBAAuB,CAAC,gBAAgB,CAAC,CAC1C,CAAC,KAAK,CAAC,GAAG,EAAE,GAA0D,CAAC,CAAC,CAAC;IAE1E,mEAAmE;IACnE,uEAAuE;IACvE,6CAA6C;IAC7C,MAAM,UAAU,GAAG,UAAU,CAAU,oBAAoB,CAAC,IAAI,IAAI,CAAC;IACrE,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,6DAA6D;YAC7D,4DAA4D;YAC5D,gEAAgE;YAChE,2DAA2D;YAC3D,4DAA4D;YAC5D,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACrC,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;gBACrD,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC;oBAAE,OAAO;gBAClC,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;oBAClG,eAAe,GAAG,IAAI,CAAC;gBACzB,CAAC;gBACD,MAAM,KAAK,GAAG,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,CAAC;gBACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;gBACzC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;gBAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,GAAG,MAAM,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;YACtE,CAAC,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAC9C,gBAAgB,EAChB,MAAM,CAAC,KAAK,EACZ,OAAO,CAAC,GAAG,EAAE,EACb;gBACE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBAC5C,mBAAmB,EAAE,cAAc;aACpC,CACF,CAAC;YACF,IAAI,eAAe,EAAE,CAAC;gBACpB,sEAAsE;gBACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,qCAAqC,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5G,CAAC;iBAAM,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC;YAChH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,gDAAgD,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;IAE3C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;QAChC,gBAAgB;QAChB,aAAa,EAAE,OAAO,CAAC,GAAG,EAAE;QAC5B,eAAe,EAAE,MAAM;QACvB,OAAO;QACP,IAAI;QACJ,IAAI;QACJ,iBAAiB;KAClB,CAAC,CAAC;IAEH,kDAAkD;IAClD,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM;QACR,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;gBAC1D,UAAU,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,wEAAwE;IACxE,2EAA2E;IAC3E,6DAA6D;IAE7D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IACpC,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC;IAC5B,MAAM,GAAG,GAAG,oBAAoB,UAAU,EAAE,CAAC;IAE7C,OAAO,CAAC,GAAG,CAAC,GAAG,CACb;QACE,iBAAiB,MAAM,CAAC,GAAG,CAAC,EAAE;QAC9B,iBAAiB,OAAO,EAAE;QAC1B,iBAAiB,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,sDAAsD,CAAC,EAAE;KACzG,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ;QACE,KAAK,EAAE,iBAAiB,MAAM,CAAC,SAAS,EAAE;QAC1C,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;KAC3C,CACF,CAAC,CAAC;IAEH,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,sBAAsB,UAAU,aAAa,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,+EAA+E;IAC/E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;QACzE,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QAC7G,IAAI,CAAC,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAE3D,gEAAgE;IAChE,qEAAqE;IACrE,wEAAwE;IACxE,oEAAoE;IACpE,mEAAmE;IACnE,wCAAwC;IACxC,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAE,QAAgB,EAAE,EAAE;QAC1D,IAAI,YAAY;YAAE,OAAO;QACzB,YAAY,GAAG,IAAI,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,sCAAsC,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,mEAAmE;IACnE,kEAAkE;IAClE,0CAA0C;IAC1C,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;QACtC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;QACjD,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE;QACvC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAClD,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/cli/commands/serve.ts"],"names":[],"mappings":"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"}
|
package/dist/core/workspace.js
CHANGED
|
@@ -56,7 +56,8 @@ export class Workspace {
|
|
|
56
56
|
// Create .gitignore for .studiograph
|
|
57
57
|
const gitignorePath = join(studiographDir, '.gitignore');
|
|
58
58
|
writeFileSync(gitignorePath, '# Ignore sensitive local config\n*.local\nauth.db\nauth.db-wal\nauth.db-shm\nauth-secret\napi-keys\n' +
|
|
59
|
-
'# Yjs binary snapshot state (per-instance, not git-friendly)\nyjs-state/\n'
|
|
59
|
+
'# Yjs binary snapshot state (per-instance, not git-friendly)\nyjs-state/\n' +
|
|
60
|
+
'# Running-server discovery file (per-instance, ephemeral)\nserver.json\n');
|
|
60
61
|
// Create scaffolded ABOUT.md
|
|
61
62
|
this.writeAbout('## Vision\n\n## Mission\n\n## Profile\n\n## Capabilities\n\n## Values\n');
|
|
62
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/core/workspace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/core/workspace.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC/G,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAc5D,MAAM,OAAO,SAAS;IACZ,aAAa,CAAS;IACtB,cAAc,CAAS;IACvB,WAAW,CAAS;IACpB,SAAS,CAAS;IAClB,MAAM,GAA2B,IAAI,CAAC;IAC9C,qFAAqF;IACrF,eAAe,GAAG,KAAK,CAAC;IAExB,YAAY,gBAAwB,OAAO,CAAC,GAAG,EAAE;QAC/C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAC5E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QAC/E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,QAAgB;QACnB,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,sDAAsD;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAChE,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7D,wBAAwB;QACxB,MAAM,MAAM,GAAoB;YAC9B,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,iCAAiC;QACjC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,yCAAyC;QACzC,MAAM,cAAc,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACvC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAElF,qCAAqC;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACzD,aAAa,CACX,aAAa,EACb,sGAAsG;YACtG,4EAA4E;YAC5E,0EAA0E,CAC3E,CAAC;QAEF,6BAA6B;QAC7B,IAAI,CAAC,UAAU,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAoB,CAAC;QAExD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,MAAuB;QACjC,mEAAmE;QACnE,oEAAoE;QACpE,iEAAiE;QACjE,kEAAkE;QAClE,8CAA8C;QAC9C,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC/B,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7E,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,UAAU,CAAC,MAAuB;QAC9C,IAAI,CAAC;YACH,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAC1E,MAAM,qBAAqB,CAAC,MAA4C,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,sDAAsD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,OAAe;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE;gBAC1D,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;aAC7C,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEhC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAC7C,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;aAC7C,CAAC,CAAC;YACH,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE;gBAAE,OAAO;YAE/D,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE;gBAC1C,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;aAC7C,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;gBAC7D,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;aAC7C,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,iBAAiB;YAEhD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE;gBAC9B,IAAI,EAAE,uBAAuB;gBAC7B,IAAI,EAAE,sCAAsC;gBAC5C,QAAQ,EAAE,IAAI,EAAE,OAAO;aACxB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,0DAA0D;gBAC1D,qDAAqD;gBACrD,OAAO,CAAC,IAAI,CAAC,gDAAgD,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvG,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE;gBACtC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;aAC9D,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,8CAA8C,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,mCAAmC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAA8B,CAAC;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAAqB;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QACpE,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7C,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAe;QACxB,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,QAAgB,EAAE,OAAe,EAAE,MAAe;QAC/D,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,IAAqB;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAEvC,+BAA+B;QAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,sBAAsB,CAAC,CAAC;QAC5D,CAAC;QAED,iDAAiD;QACjD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7F,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,QAAQ,mCAAmC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,MAAM,UAAU,GAAe;YAC7B,GAAG,IAAI;YACP,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,kCAAkC;YACnD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7C,CAAC;QAEF,gBAAgB;QAChB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,mBAAmB,CAAC,eAAe,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAErD,wBAAwB;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,4DAA4D;YAC5D,uEAAuE;YACvE,sDAAsD;YACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAC3D,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC;YAC9B,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACnD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;oBAC7D,cAAc,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,WAAW,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,qEAAqE;YACrE,kEAAkE;YAClE,wEAAwE;YACxE,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YACtD,aAAa,CACX,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EACjD,OAAO,CACR,CAAC;QACJ,CAAC;QAED,yDAAyD;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5F,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACd,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/B,aAAa,CAAC,aAAa,EAAE,2BAA2B,EAAE,OAAO,CAAC,CAAC;YACrE,CAAC;YACD,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACnB,GAAG,CAAC,CAAC,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACtH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,aAAa,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,uEAAuE;QACvE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YACnC,kEAAkE;YAClE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YACzC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClF,IAAI,aAAa;gBAAE,SAAS;YAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAEjD,yDAAyD;YACzD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,SAAS;YACtC,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAChC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;oBAAE,SAAS;YAC7B,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,sBAAsB;YACtB,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YAE5D,uBAAuB;YACvB,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC7D,IAAI,MAAM,CAAC,SAAS;oBAAE,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,mCAAmC;YACrC,CAAC;YAED,MAAM,UAAU,GAAe;gBAC7B,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QAED,uEAAuE;QACvE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,uEAAuE;QACvE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,YAAoB,OAAO,CAAC,GAAG,EAAE;QACxD,IAAI,WAAW,GAAG,SAAS,CAAC;QAE5B,OAAO,WAAW,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;YAC3E,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/B,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,sBAAsB;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC3C,IAAI,UAAU,KAAK,WAAW;gBAAE,MAAM,CAAC,eAAe;YACtD,WAAW,GAAG,UAAU,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local-server discovery for the stdio MCP proxy (Increment 1 of the unified
|
|
3
|
+
* multi-peer editing model — see ~/.claude/plans/indexed-stirring-turtle.md).
|
|
4
|
+
*
|
|
5
|
+
* When `studiograph serve` is running it writes `.studiograph/server.json`
|
|
6
|
+
* describing how to reach it ({ url, pid, workspacePath, serverId }). The stdio
|
|
7
|
+
* proxy (`stdio-proxy.ts`) reads that file and decides, per tool call, whether
|
|
8
|
+
* to forward to the live HTTP server (so writes go through BodyWriteCoordinator
|
|
9
|
+
* and merge into any open editor) or to fall back to an in-process server (safe:
|
|
10
|
+
* no server ⇒ no live editor to clobber).
|
|
11
|
+
*
|
|
12
|
+
* SECURITY (Codex-hardened):
|
|
13
|
+
* - The Bearer token is only ever sent to a LOOPBACK url. A non-loopback url in
|
|
14
|
+
* server.json is treated as "no server" — never trusted, never sent a token.
|
|
15
|
+
* - A 401/403 from the probe means "server present, auth rejected" → FAIL LOUD.
|
|
16
|
+
* We must NOT fall back to a local in-process write in that case, because a
|
|
17
|
+
* live editor may be open; a silent local write is the exact data-loss path
|
|
18
|
+
* this increment removes.
|
|
19
|
+
* - Identity is the serverId echo + workspacePath match, NOT team_name.
|
|
20
|
+
*/
|
|
21
|
+
export interface ServerInfo {
|
|
22
|
+
/** Loopback HTTP base url, e.g. "http://127.0.0.1:3000" (no trailing slash). */
|
|
23
|
+
url: string;
|
|
24
|
+
/** PID of the serve process — primary staleness guard. */
|
|
25
|
+
pid: number;
|
|
26
|
+
/** Absolute workspace path the server is bound to. */
|
|
27
|
+
workspacePath: string;
|
|
28
|
+
/** Random per-boot id echoed by GET /api/server-info. */
|
|
29
|
+
serverId: string;
|
|
30
|
+
}
|
|
31
|
+
export type ProbeResult = {
|
|
32
|
+
mode: 'remote';
|
|
33
|
+
url: string;
|
|
34
|
+
serverId: string;
|
|
35
|
+
} | {
|
|
36
|
+
mode: 'local';
|
|
37
|
+
} | {
|
|
38
|
+
mode: 'fail';
|
|
39
|
+
reason: string;
|
|
40
|
+
};
|
|
41
|
+
/** Path to the discovery file for a workspace. */
|
|
42
|
+
export declare function serverInfoPath(workspacePath: string): string;
|
|
43
|
+
/**
|
|
44
|
+
* Atomically write the discovery file (tmp + rename, like SessionManager's
|
|
45
|
+
* pending-commits persistence) and make sure `server.json` is gitignored in
|
|
46
|
+
* `.studiograph/.gitignore` (covers workspaces created before this template
|
|
47
|
+
* change). Best-effort on the gitignore — a failure there never blocks serve.
|
|
48
|
+
*/
|
|
49
|
+
export declare function writeServerInfo(workspacePath: string, info: ServerInfo): void;
|
|
50
|
+
/** Best-effort removal of the discovery file (called after server.close()). */
|
|
51
|
+
export declare function deleteServerInfo(workspacePath: string): void;
|
|
52
|
+
/** Read + parse the discovery file. Returns null on missing or malformed JSON. */
|
|
53
|
+
export declare function readServerInfo(workspacePath: string): ServerInfo | null;
|
|
54
|
+
/** Append `entry` to a `.gitignore` file if not already present (one per line). */
|
|
55
|
+
export declare function ensureGitignoreEntry(gitignorePath: string, entry: string): void;
|
|
56
|
+
/** True only for loopback hosts. The Bearer token is never sent elsewhere. */
|
|
57
|
+
export declare function isLoopbackUrl(url: string): boolean;
|
|
58
|
+
/** True if a process with `pid` exists (signal 0 probe). */
|
|
59
|
+
export declare function isPidAlive(pid: number): boolean;
|
|
60
|
+
export interface ProbeDeps {
|
|
61
|
+
fetchFn?: typeof fetch;
|
|
62
|
+
isPidAliveFn?: (pid: number) => boolean;
|
|
63
|
+
readInfoFn?: (workspacePath: string) => ServerInfo | null;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Decide whether the stdio proxy should forward to the live local server.
|
|
67
|
+
*
|
|
68
|
+
* Returns `remote` only when every identity check passes; `fail` only when the
|
|
69
|
+
* server is reachable but rejects our token (401/403); `local` for every other
|
|
70
|
+
* case (no file, dead pid, non-loopback, wrong workspace, connection refused,
|
|
71
|
+
* or a different server answering on the port).
|
|
72
|
+
*/
|
|
73
|
+
export declare function probeServer(workspacePath: string, token: string, deps?: ProbeDeps): Promise<ProbeResult>;
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local-server discovery for the stdio MCP proxy (Increment 1 of the unified
|
|
3
|
+
* multi-peer editing model — see ~/.claude/plans/indexed-stirring-turtle.md).
|
|
4
|
+
*
|
|
5
|
+
* When `studiograph serve` is running it writes `.studiograph/server.json`
|
|
6
|
+
* describing how to reach it ({ url, pid, workspacePath, serverId }). The stdio
|
|
7
|
+
* proxy (`stdio-proxy.ts`) reads that file and decides, per tool call, whether
|
|
8
|
+
* to forward to the live HTTP server (so writes go through BodyWriteCoordinator
|
|
9
|
+
* and merge into any open editor) or to fall back to an in-process server (safe:
|
|
10
|
+
* no server ⇒ no live editor to clobber).
|
|
11
|
+
*
|
|
12
|
+
* SECURITY (Codex-hardened):
|
|
13
|
+
* - The Bearer token is only ever sent to a LOOPBACK url. A non-loopback url in
|
|
14
|
+
* server.json is treated as "no server" — never trusted, never sent a token.
|
|
15
|
+
* - A 401/403 from the probe means "server present, auth rejected" → FAIL LOUD.
|
|
16
|
+
* We must NOT fall back to a local in-process write in that case, because a
|
|
17
|
+
* live editor may be open; a silent local write is the exact data-loss path
|
|
18
|
+
* this increment removes.
|
|
19
|
+
* - Identity is the serverId echo + workspacePath match, NOT team_name.
|
|
20
|
+
*/
|
|
21
|
+
import { existsSync, readFileSync, renameSync, unlinkSync, writeFileSync } from 'fs';
|
|
22
|
+
import { join } from 'path';
|
|
23
|
+
/** Path to the discovery file for a workspace. */
|
|
24
|
+
export function serverInfoPath(workspacePath) {
|
|
25
|
+
return join(workspacePath, '.studiograph', 'server.json');
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Atomically write the discovery file (tmp + rename, like SessionManager's
|
|
29
|
+
* pending-commits persistence) and make sure `server.json` is gitignored in
|
|
30
|
+
* `.studiograph/.gitignore` (covers workspaces created before this template
|
|
31
|
+
* change). Best-effort on the gitignore — a failure there never blocks serve.
|
|
32
|
+
*/
|
|
33
|
+
export function writeServerInfo(workspacePath, info) {
|
|
34
|
+
const path = serverInfoPath(workspacePath);
|
|
35
|
+
const tmp = `${path}.tmp`;
|
|
36
|
+
writeFileSync(tmp, JSON.stringify(info, null, 2), 'utf-8');
|
|
37
|
+
renameSync(tmp, path);
|
|
38
|
+
try {
|
|
39
|
+
ensureGitignoreEntry(join(workspacePath, '.studiograph', '.gitignore'), 'server.json');
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
/* non-fatal — server.json is ephemeral; worst case it shows as untracked */
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/** Best-effort removal of the discovery file (called after server.close()). */
|
|
46
|
+
export function deleteServerInfo(workspacePath) {
|
|
47
|
+
try {
|
|
48
|
+
unlinkSync(serverInfoPath(workspacePath));
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
/* already gone / never written */
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** Read + parse the discovery file. Returns null on missing or malformed JSON. */
|
|
55
|
+
export function readServerInfo(workspacePath) {
|
|
56
|
+
const path = serverInfoPath(workspacePath);
|
|
57
|
+
if (!existsSync(path))
|
|
58
|
+
return null;
|
|
59
|
+
try {
|
|
60
|
+
const raw = JSON.parse(readFileSync(path, 'utf-8'));
|
|
61
|
+
if (raw &&
|
|
62
|
+
typeof raw.url === 'string' &&
|
|
63
|
+
typeof raw.pid === 'number' &&
|
|
64
|
+
typeof raw.workspacePath === 'string' &&
|
|
65
|
+
typeof raw.serverId === 'string') {
|
|
66
|
+
return raw;
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/** Append `entry` to a `.gitignore` file if not already present (one per line). */
|
|
75
|
+
export function ensureGitignoreEntry(gitignorePath, entry) {
|
|
76
|
+
if (existsSync(gitignorePath)) {
|
|
77
|
+
const content = readFileSync(gitignorePath, 'utf-8');
|
|
78
|
+
if (content.split('\n').some(line => line.trim() === entry))
|
|
79
|
+
return;
|
|
80
|
+
const sep = content.endsWith('\n') ? '' : '\n';
|
|
81
|
+
writeFileSync(gitignorePath, `${content}${sep}${entry}\n`);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
writeFileSync(gitignorePath, `${entry}\n`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/** True only for loopback hosts. The Bearer token is never sent elsewhere. */
|
|
88
|
+
export function isLoopbackUrl(url) {
|
|
89
|
+
let host;
|
|
90
|
+
try {
|
|
91
|
+
host = new URL(url).hostname;
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
// Node keeps the brackets on IPv6 hostnames ("[::1]") — strip them.
|
|
97
|
+
if (host.startsWith('[') && host.endsWith(']'))
|
|
98
|
+
host = host.slice(1, -1);
|
|
99
|
+
return host === '127.0.0.1' || host === 'localhost' || host === '::1';
|
|
100
|
+
}
|
|
101
|
+
/** True if a process with `pid` exists (signal 0 probe). */
|
|
102
|
+
export function isPidAlive(pid) {
|
|
103
|
+
if (!Number.isInteger(pid) || pid <= 0)
|
|
104
|
+
return false;
|
|
105
|
+
try {
|
|
106
|
+
process.kill(pid, 0);
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
// EPERM = process exists but we can't signal it → still alive.
|
|
111
|
+
return err?.code === 'EPERM';
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Decide whether the stdio proxy should forward to the live local server.
|
|
116
|
+
*
|
|
117
|
+
* Returns `remote` only when every identity check passes; `fail` only when the
|
|
118
|
+
* server is reachable but rejects our token (401/403); `local` for every other
|
|
119
|
+
* case (no file, dead pid, non-loopback, wrong workspace, connection refused,
|
|
120
|
+
* or a different server answering on the port).
|
|
121
|
+
*/
|
|
122
|
+
export async function probeServer(workspacePath, token, deps = {}) {
|
|
123
|
+
const fetchFn = deps.fetchFn ?? fetch;
|
|
124
|
+
const pidAlive = deps.isPidAliveFn ?? isPidAlive;
|
|
125
|
+
const readInfo = deps.readInfoFn ?? readServerInfo;
|
|
126
|
+
const info = readInfo(workspacePath);
|
|
127
|
+
if (!info)
|
|
128
|
+
return { mode: 'local' };
|
|
129
|
+
if (!pidAlive(info.pid))
|
|
130
|
+
return { mode: 'local' };
|
|
131
|
+
if (!isLoopbackUrl(info.url))
|
|
132
|
+
return { mode: 'local' };
|
|
133
|
+
if (info.workspacePath !== workspacePath)
|
|
134
|
+
return { mode: 'local' };
|
|
135
|
+
let res;
|
|
136
|
+
try {
|
|
137
|
+
res = await fetchFn(`${info.url}/api/server-info`, {
|
|
138
|
+
headers: { Authorization: `Bearer ${token}` },
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
// ECONNREFUSED / DNS / abort → the pid is alive but isn't this server
|
|
143
|
+
// (pid reuse, or a server mid-shutdown). Treat as no server.
|
|
144
|
+
return { mode: 'local' };
|
|
145
|
+
}
|
|
146
|
+
if (res.status === 401 || res.status === 403) {
|
|
147
|
+
return { mode: 'fail', reason: `server rejected token (HTTP ${res.status})` };
|
|
148
|
+
}
|
|
149
|
+
if (!res.ok)
|
|
150
|
+
return { mode: 'local' };
|
|
151
|
+
let body;
|
|
152
|
+
try {
|
|
153
|
+
body = await res.json();
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
return { mode: 'local' };
|
|
157
|
+
}
|
|
158
|
+
if (body?.serverId !== info.serverId || body?.workspacePath !== workspacePath) {
|
|
159
|
+
// A different studiograph instance is answering on that port.
|
|
160
|
+
return { mode: 'local' };
|
|
161
|
+
}
|
|
162
|
+
return { mode: 'remote', url: info.url, serverId: info.serverId };
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=server-discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-discovery.js","sourceRoot":"","sources":["../../src/mcp/server-discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.d.ts
CHANGED
|
@@ -14,6 +14,19 @@
|
|
|
14
14
|
* log.error writes to stderr (via console.error under the hood), which
|
|
15
15
|
* preserves the stdio-transport invariant.
|
|
16
16
|
*/
|
|
17
|
+
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
17
18
|
import { WorkspaceManager } from '../core/workspace-manager.js';
|
|
18
|
-
import { AuthService } from '../services/auth-service.js';
|
|
19
|
+
import { AuthService, type AuthUser } from '../services/auth-service.js';
|
|
19
20
|
export declare function startMcpServer(workspaceManager: WorkspaceManager, authService: AuthService): Promise<void>;
|
|
21
|
+
export declare function resolveStdioUser(authService: AuthService): AuthUser | null;
|
|
22
|
+
/**
|
|
23
|
+
* Build an in-process MCP server (full tool surface, same as stdio/HTTP) and
|
|
24
|
+
* return a connected `Client` wired to it over an in-memory transport. Used by
|
|
25
|
+
* the stdio proxy as the LOCAL fallback when no live HTTP server is reachable —
|
|
26
|
+
* in that case there is no open editor, so a direct write is safe.
|
|
27
|
+
*
|
|
28
|
+
* Identity is the resolved per-user `STUDIOGRAPH_MCP_TOKEN`, threaded through
|
|
29
|
+
* `registerTools` exactly as the real stdio server does, so access control is
|
|
30
|
+
* identical on both upstreams.
|
|
31
|
+
*/
|
|
32
|
+
export declare function createInProcessMcpClient(workspaceManager: WorkspaceManager, authService: AuthService, user: AuthUser): Promise<Client>;
|
package/dist/mcp/server.js
CHANGED
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
18
18
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
19
|
+
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
20
|
+
import { InMemoryTransport } from '@modelcontextprotocol/sdk/inMemory.js';
|
|
19
21
|
import { registerTools, MCP_SERVER_INFO, MCP_INSTRUCTIONS } from './tools.js';
|
|
20
22
|
import { log } from '../utils/log.js';
|
|
21
23
|
export async function startMcpServer(workspaceManager, authService) {
|
|
@@ -41,10 +43,29 @@ export async function startMcpServer(workspaceManager, authService) {
|
|
|
41
43
|
process.exit(0);
|
|
42
44
|
});
|
|
43
45
|
}
|
|
44
|
-
function resolveStdioUser(authService) {
|
|
46
|
+
export function resolveStdioUser(authService) {
|
|
45
47
|
const token = process.env.STUDIOGRAPH_MCP_TOKEN?.trim();
|
|
46
48
|
if (!token)
|
|
47
49
|
return null;
|
|
48
50
|
return authService.verifyApiToken(token) ?? authService.verifyToken(token);
|
|
49
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Build an in-process MCP server (full tool surface, same as stdio/HTTP) and
|
|
54
|
+
* return a connected `Client` wired to it over an in-memory transport. Used by
|
|
55
|
+
* the stdio proxy as the LOCAL fallback when no live HTTP server is reachable —
|
|
56
|
+
* in that case there is no open editor, so a direct write is safe.
|
|
57
|
+
*
|
|
58
|
+
* Identity is the resolved per-user `STUDIOGRAPH_MCP_TOKEN`, threaded through
|
|
59
|
+
* `registerTools` exactly as the real stdio server does, so access control is
|
|
60
|
+
* identical on both upstreams.
|
|
61
|
+
*/
|
|
62
|
+
export async function createInProcessMcpClient(workspaceManager, authService, user) {
|
|
63
|
+
const server = new McpServer(MCP_SERVER_INFO, { instructions: MCP_INSTRUCTIONS });
|
|
64
|
+
registerTools(server, workspaceManager, authService, { user });
|
|
65
|
+
const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
|
|
66
|
+
await server.connect(serverTransport);
|
|
67
|
+
const client = new Client({ name: 'studiograph-stdio-proxy-local', version: '1.0.0' });
|
|
68
|
+
await client.connect(clientTransport);
|
|
69
|
+
return client;
|
|
70
|
+
}
|
|
50
71
|
//# sourceMappingURL=server.js.map
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,gBAAkC,EAClC,WAAwB;IAExB,MAAM,IAAI,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uDAAuD;YACvD,0BAA0B;YAC1B,mDAAmD;YACnD,iDAAiD;YACjD,sCAAsC;YACtC,2CAA2C;YAC3C,iFAAiF,CAClF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,eAAe,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAElF,aAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/D,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,GAAG,CAAC,KAAK,CAAC,uCAAuC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAEhE,4EAA4E;IAC5E,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAwB;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,gBAAkC,EAClC,WAAwB,EACxB,IAAc;IAEd,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,eAAe,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAClF,aAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/D,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;IAChF,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACvF,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC;AAChB,CAAC"}
|