foundry-design-mcp-server 0.2.0-beta.16 → 0.2.0-beta.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -4
- package/dist/claim-lease.d.ts +1 -0
- package/dist/claim-lease.d.ts.map +1 -1
- package/dist/claim-lease.js +9 -3
- package/dist/claim-lease.js.map +1 -1
- package/dist/index.js +169 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Foundry is a local-first precision design workbench for Codex, Cursor, and Claude Code. It lets design engineers manipulate rendered interface elements, resolve each gesture to the right project-native source intent, review one structured change batch, and verify the rebuilt result across recorded states.
|
|
4
4
|
|
|
5
|
+
Responsive Design Lab links one live selection across native mobile, tablet, desktop, current, and custom viewport contexts. It exposes real breakpoint transitions, overflow, clipping, awkward wrapping, and temporary browser zoom, text-scale, and long-content stress tests without changing saved product state.
|
|
6
|
+
|
|
7
|
+
Design Branches keeps parallel visual directions isolated inside one local session. Teams can switch and compare rendered alternatives, combine selected decisions, preserve rejection rationale, and explicitly promote one direction into Review and apply without changing source early.
|
|
8
|
+
|
|
5
9
|
## Beta installation
|
|
6
10
|
|
|
7
11
|
Foundry is distributed through npm, so testers do not need GitHub access.
|
|
8
12
|
|
|
9
|
-
> **
|
|
13
|
+
> **Current public beta:** `0.2.0-beta.17`. Both npm `latest` and `beta` resolve to this release.
|
|
10
14
|
|
|
11
15
|
Full documentation is available at [withfoundry.ai](https://withfoundry.ai).
|
|
12
16
|
|
|
@@ -137,7 +141,7 @@ If an npm mirror or existing `npx` cache reports an old tag, bypass it with a te
|
|
|
137
141
|
|
|
138
142
|
```bash
|
|
139
143
|
FOUNDRY_NPX_CACHE="$(mktemp -d)"
|
|
140
|
-
npx --yes --prefer-online --registry=https://registry.npmjs.org --cache "$FOUNDRY_NPX_CACHE" --package=foundry-design@0.2.0-beta.
|
|
144
|
+
npx --yes --prefer-online --registry=https://registry.npmjs.org --cache "$FOUNDRY_NPX_CACHE" --package=foundry-design@0.2.0-beta.17 foundry-design
|
|
141
145
|
```
|
|
142
146
|
|
|
143
147
|
The beta supports Node.js 20 or newer. Read the [local-first safety model](https://withfoundry.ai/#safety) before using it with sensitive work.
|
|
@@ -154,7 +158,7 @@ Foundry remains local-first. Installing the plugin does not create an account, e
|
|
|
154
158
|
|
|
155
159
|
### Cursor one-click connection
|
|
156
160
|
|
|
157
|
-
[Add the Foundry MCP bridge to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=foundry-design-control&config=
|
|
161
|
+
[Add the Foundry MCP bridge to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=foundry-design-control&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIi0tcHJlZmVyLW9ubGluZSIsImZvdW5kcnktZGVzaWduLW1jcC1zZXJ2ZXJAMC4yLjAtYmV0YS4xNiJdLCJlbnYiOnsiRk9VTkRSWV9ERVNJR05fUlVOVElNRV9VUkwiOiJodHRwOi8vMTI3LjAuMC4xOjQzODcifX0%3D), then run `npx foundry-design` inside the project. The repository's Cursor plugin additionally bundles the Foundry skill and session-start hook for marketplace distribution.
|
|
158
162
|
|
|
159
163
|
## Current capabilities
|
|
160
164
|
|
|
@@ -163,13 +167,16 @@ Foundry remains local-first. Installing the plugin does not create an account, e
|
|
|
163
167
|
- A searchable, collapsible, virtualized live layer hierarchy with mapped-source context, Shadow DOM traversal, drag reordering, and selection persistence across HMR
|
|
164
168
|
- Multi-selection, measured spacing annotations, sibling-aware resize snapping, keyboard nudging, alignment, distribution, and preview undo/redo
|
|
165
169
|
- A revisioned local design graph for CSS tokens, components, Storybook variants, breakpoints, themes, states, and motion presets
|
|
170
|
+
- A Design System workspace that resolves semantic alias chains, surfaces broken and circular references, traces native tokens from definition to indexed usages, groups recurring literals into existing-token-first promotion plans, and sends exact source refactors through Review without changing source automatically
|
|
166
171
|
- Semantic source-mapping choices that block ambiguous changes until the user selects the intended implementation
|
|
167
172
|
- Fixed, hug, fill, and min/max sizing; flex and grid flow; linked spacing; aspect ratio; overflow; and positional controls
|
|
168
|
-
- Project-native spacing, radius, typography, and color choices with token-only filtering, exact token
|
|
173
|
+
- Project-native spacing, radius, typography, and color choices with token-only filtering, exact and nearest-token ranking, component variants, type presets, gradients, opacity, and live contrast guidance
|
|
169
174
|
- Layout, typography, color, content, asset, accessibility, responsive, and motion controls
|
|
170
175
|
- Before/after toggles, continuous comparison scrubbing, side-by-side source comparison, isolation, per-element reset, keyboard shortcuts, and a searchable command palette
|
|
171
176
|
- Design Health scans for contrast, overflow and clipping, touch targets, accessible names, reduced-motion coverage, and project spacing consistency, with evidence, intentional-issue ignores, and safe corrections routed into review
|
|
172
177
|
- An in-app state workbench with real viewport frames, theme switching, forced interaction states, motion controls, and contextual verification
|
|
178
|
+
- A dedicated Motion Studio for live CSS and Web Animation discovery, preview-only transport, timeline scrubbing, keyframe editing, complete timing controls, performance classification, and reduced-motion review
|
|
179
|
+
- Isolated Design Branches with fixed-viewport comparison, selective composition, rejection notes, explicit promotion into the source-ready review ledger, and portable chosen or rejected decision records with source-aware compatibility, import, export, restore, removal, and explicit Design Memory linkage
|
|
173
180
|
- Persistent, coalescing change ledger with JSON and consolidated prompt export
|
|
174
181
|
- Center-workspace review with editable approved batches, grouped targets, and unresolved-target blocking
|
|
175
182
|
- Persistent Apply with agent runs across Codex, Cursor, and Claude Code through MCP
|
package/dist/claim-lease.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim-lease.d.ts","sourceRoot":"","sources":["../src/claim-lease.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChF;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"claim-lease.d.ts","sourceRoot":"","sources":["../src/claim-lease.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChF;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC3B;AAQD,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IALlC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;gBAG3C,MAAM,EAAE,uBAAuB,EAC/B,UAAU,SAAS,EACnB,eAAe,SAAI;IAGtC,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAY9B,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOzB,OAAO,IAAI,IAAI;IAIf,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIrB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkD1C"}
|
package/dist/claim-lease.js
CHANGED
|
@@ -39,14 +39,20 @@ export class ClaimLeaseKeeper {
|
|
|
39
39
|
return;
|
|
40
40
|
active.renewing = true;
|
|
41
41
|
try {
|
|
42
|
-
const payload = (await this.client.request(
|
|
42
|
+
const payload = (await this.client.request(active.kind === 'visual'
|
|
43
|
+
? `/v1/sessions/${encodeURIComponent(active.sessionId)}/visual-agent-requests/${encodeURIComponent(active.runId)}/heartbeat`
|
|
44
|
+
: `/v1/sessions/${encodeURIComponent(active.sessionId)}/apply-runs/${encodeURIComponent(active.runId)}/heartbeat`, {
|
|
43
45
|
method: 'POST',
|
|
44
46
|
body: JSON.stringify({ claimAttemptId: active.claimAttemptId }),
|
|
45
47
|
}, active.token));
|
|
46
|
-
const run =
|
|
48
|
+
const run = active.kind === 'visual'
|
|
49
|
+
? payload.visualAgentRequests?.find((candidate) => candidate.id === active.runId)
|
|
50
|
+
: payload.applyRuns?.find((candidate) => candidate.id === active.runId);
|
|
47
51
|
active.failedPulses = 0;
|
|
48
52
|
if (!run ||
|
|
49
|
-
!
|
|
53
|
+
!(active.kind === 'visual'
|
|
54
|
+
? ['thinking'].includes(run.status ?? '')
|
|
55
|
+
: ['claimed', 'applying', 'rebuilding', 'verifying'].includes(run.state ?? '')) ||
|
|
50
56
|
!run.claimAttemptId ||
|
|
51
57
|
run.claimAttemptId !== active.claimAttemptId) {
|
|
52
58
|
this.stop(runId);
|
package/dist/claim-lease.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim-lease.js","sourceRoot":"","sources":["../src/claim-lease.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claim-lease.js","sourceRoot":"","sources":["../src/claim-lease.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -62,6 +62,86 @@ serveStdio(() => {
|
|
|
62
62
|
token: z.string().optional(),
|
|
63
63
|
}),
|
|
64
64
|
}, async ({ sessionId, token }) => result(await client.request(`/v1/sessions/${client.sessionId(sessionId)}/design-graph`, {}, token)));
|
|
65
|
+
server.registerTool('foundry_design_wait_for_work', {
|
|
66
|
+
description: 'Keep one Foundry session listener active and atomically claim the next reviewed Apply run or grounded Visual Agent conversation request.',
|
|
67
|
+
inputSchema: z.object({
|
|
68
|
+
sessionId: z.string().optional(),
|
|
69
|
+
token: z.string().optional(),
|
|
70
|
+
agent: z.object({
|
|
71
|
+
name: z.string().min(1),
|
|
72
|
+
version: z.string().optional(),
|
|
73
|
+
taskId: z.string().optional(),
|
|
74
|
+
}),
|
|
75
|
+
revision: z.string().optional(),
|
|
76
|
+
designGraphRevision: z.string().optional(),
|
|
77
|
+
waitMs: z.number().int().min(0).max(60_000).default(30_000),
|
|
78
|
+
}),
|
|
79
|
+
}, async ({ sessionId, token, agent, revision, designGraphRevision, waitMs }) => {
|
|
80
|
+
const id = client.sessionId(sessionId);
|
|
81
|
+
const resolvedAgent = { ...agent, taskId: agent.taskId ?? listenerTaskId };
|
|
82
|
+
const deadline = Date.now() + waitMs;
|
|
83
|
+
let nextPresenceAt = 0;
|
|
84
|
+
do {
|
|
85
|
+
if (Date.now() >= nextPresenceAt) {
|
|
86
|
+
await client.request(`/v1/sessions/${id}/agent-presence`, {
|
|
87
|
+
method: 'POST',
|
|
88
|
+
body: JSON.stringify({
|
|
89
|
+
agent: resolvedAgent,
|
|
90
|
+
listening: true,
|
|
91
|
+
ttlMs: Math.min(Math.max(waitMs + 10_000, 15_000), 70_000),
|
|
92
|
+
}),
|
|
93
|
+
}, token);
|
|
94
|
+
nextPresenceAt = Date.now() + 5_000;
|
|
95
|
+
}
|
|
96
|
+
const visual = (await client.request(`/v1/sessions/${id}/visual-agent-requests?status=queued`, {}, token));
|
|
97
|
+
const visualRequest = visual.requests?.[0];
|
|
98
|
+
if (visualRequest) {
|
|
99
|
+
const claimed = (await client.request(`/v1/sessions/${id}/visual-agent-requests/${visualRequest.id}/claim`, {
|
|
100
|
+
method: 'POST',
|
|
101
|
+
body: JSON.stringify({ agent: resolvedAgent, ttlMs: 10 * 60_000 }),
|
|
102
|
+
}, token));
|
|
103
|
+
const request = claimed.visualAgentRequests?.find((candidate) => candidate.id === visualRequest.id);
|
|
104
|
+
if (request?.status === 'thinking' &&
|
|
105
|
+
request.agent?.name === resolvedAgent.name &&
|
|
106
|
+
request.agent.taskId === resolvedAgent.taskId &&
|
|
107
|
+
request.claimAttemptId) {
|
|
108
|
+
claimLeases.start({
|
|
109
|
+
sessionId: id,
|
|
110
|
+
token,
|
|
111
|
+
runId: visualRequest.id,
|
|
112
|
+
claimAttemptId: request.claimAttemptId,
|
|
113
|
+
kind: 'visual',
|
|
114
|
+
});
|
|
115
|
+
return result({ kind: 'visual_request', request, session: claimed });
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
const applies = (await client.request(`/v1/sessions/${id}/apply-runs?state=queued`, {}, token));
|
|
119
|
+
const apply = applies.runs?.[0];
|
|
120
|
+
if (apply) {
|
|
121
|
+
const claimed = (await client.request(`/v1/sessions/${id}/apply-runs/${apply.id}/claim`, {
|
|
122
|
+
method: 'POST',
|
|
123
|
+
body: JSON.stringify({ agent: resolvedAgent, revision, designGraphRevision }),
|
|
124
|
+
}, token));
|
|
125
|
+
const run = claimed.applyRuns?.find((candidate) => candidate.id === apply.id);
|
|
126
|
+
if (run?.state === 'claimed' &&
|
|
127
|
+
run.agent?.name === resolvedAgent.name &&
|
|
128
|
+
run.agent.taskId === resolvedAgent.taskId &&
|
|
129
|
+
run.claimAttemptId) {
|
|
130
|
+
claimLeases.start({
|
|
131
|
+
sessionId: id,
|
|
132
|
+
token,
|
|
133
|
+
runId: apply.id,
|
|
134
|
+
claimAttemptId: run.claimAttemptId,
|
|
135
|
+
});
|
|
136
|
+
return result({ kind: 'apply_run', run, session: claimed });
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
if (Date.now() >= deadline)
|
|
140
|
+
break;
|
|
141
|
+
await new Promise((resolveWait) => setTimeout(resolveWait, 500));
|
|
142
|
+
} while (true);
|
|
143
|
+
return result({ status: 'waiting', sessionId: id, waitedMs: waitMs });
|
|
144
|
+
});
|
|
65
145
|
server.registerTool('foundry_design_wait_for_apply', {
|
|
66
146
|
description: 'Wait for the user to review a Foundry batch and press Apply with agent, then atomically claim that apply run.',
|
|
67
147
|
inputSchema: z.object({
|
|
@@ -124,6 +204,95 @@ serveStdio(() => {
|
|
|
124
204
|
} while (true);
|
|
125
205
|
return result({ status: 'waiting', sessionId: id, waitedMs: waitMs });
|
|
126
206
|
});
|
|
207
|
+
server.registerTool('foundry_design_wait_for_visual_request', {
|
|
208
|
+
description: 'Wait for a Foundry user to ask about selected pixels or a canvas region, then claim the durable visual conversation request with its source, viewport, theme, state, measurements, comments, tokens, and design memory context.',
|
|
209
|
+
inputSchema: z.object({
|
|
210
|
+
sessionId: z.string().optional(),
|
|
211
|
+
token: z.string().optional(),
|
|
212
|
+
agent: z.object({
|
|
213
|
+
name: z.string().min(1),
|
|
214
|
+
version: z.string().optional(),
|
|
215
|
+
taskId: z.string().optional(),
|
|
216
|
+
}),
|
|
217
|
+
waitMs: z.number().int().min(0).max(60_000).default(30_000),
|
|
218
|
+
}),
|
|
219
|
+
}, async ({ sessionId, token, agent, waitMs }) => {
|
|
220
|
+
const id = client.sessionId(sessionId);
|
|
221
|
+
const resolvedAgent = { ...agent, taskId: agent.taskId ?? listenerTaskId };
|
|
222
|
+
const deadline = Date.now() + waitMs;
|
|
223
|
+
let nextPresenceAt = 0;
|
|
224
|
+
do {
|
|
225
|
+
if (Date.now() >= nextPresenceAt) {
|
|
226
|
+
await client.request(`/v1/sessions/${id}/agent-presence`, {
|
|
227
|
+
method: 'POST',
|
|
228
|
+
body: JSON.stringify({
|
|
229
|
+
agent: resolvedAgent,
|
|
230
|
+
listening: true,
|
|
231
|
+
ttlMs: Math.min(Math.max(waitMs + 10_000, 15_000), 70_000),
|
|
232
|
+
}),
|
|
233
|
+
}, token);
|
|
234
|
+
nextPresenceAt = Date.now() + 5_000;
|
|
235
|
+
}
|
|
236
|
+
const payload = (await client.request(`/v1/sessions/${id}/visual-agent-requests?status=queued`, {}, token));
|
|
237
|
+
const request = payload.requests?.[0];
|
|
238
|
+
if (request) {
|
|
239
|
+
const claimed = (await client.request(`/v1/sessions/${id}/visual-agent-requests/${request.id}/claim`, {
|
|
240
|
+
method: 'POST',
|
|
241
|
+
body: JSON.stringify({ agent: resolvedAgent, ttlMs: 10 * 60_000 }),
|
|
242
|
+
}, token));
|
|
243
|
+
const claimedRequest = claimed.visualAgentRequests?.find((candidate) => candidate.id === request.id);
|
|
244
|
+
if (claimedRequest?.status === 'thinking' &&
|
|
245
|
+
claimedRequest.agent?.name === resolvedAgent.name &&
|
|
246
|
+
claimedRequest.agent.taskId === resolvedAgent.taskId &&
|
|
247
|
+
claimedRequest.claimAttemptId) {
|
|
248
|
+
claimLeases.start({
|
|
249
|
+
sessionId: id,
|
|
250
|
+
token,
|
|
251
|
+
runId: request.id,
|
|
252
|
+
claimAttemptId: claimedRequest.claimAttemptId,
|
|
253
|
+
kind: 'visual',
|
|
254
|
+
});
|
|
255
|
+
return result(claimed);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
if (Date.now() >= deadline)
|
|
259
|
+
break;
|
|
260
|
+
await new Promise((resolveWait) => setTimeout(resolveWait, 500));
|
|
261
|
+
} while (true);
|
|
262
|
+
return result({ status: 'waiting', sessionId: id, waitedMs: waitMs });
|
|
263
|
+
});
|
|
264
|
+
server.registerTool('foundry_design_get_visual_request', {
|
|
265
|
+
description: 'Read one persistent visual conversation request and its grounded context, messages, proposals, and status.',
|
|
266
|
+
inputSchema: z.object({
|
|
267
|
+
sessionId: z.string().optional(),
|
|
268
|
+
token: z.string().optional(),
|
|
269
|
+
requestId: z.string().min(1),
|
|
270
|
+
}),
|
|
271
|
+
}, async ({ sessionId, token, requestId }) => result(await client.request(`/v1/sessions/${client.sessionId(sessionId)}/visual-agent-requests/${requestId}`, {}, token)));
|
|
272
|
+
server.registerTool('foundry_design_respond_to_visual_request', {
|
|
273
|
+
description: 'Return grounded visual reasoning and one or more exact, independently previewable design proposals. Proposals remain separate from Review until the user previews and promotes one.',
|
|
274
|
+
inputSchema: z.object({
|
|
275
|
+
sessionId: z.string().optional(),
|
|
276
|
+
token: z.string().optional(),
|
|
277
|
+
requestId: z.string().min(1),
|
|
278
|
+
claimAttemptId: z.string().min(1),
|
|
279
|
+
message: z.string().min(1),
|
|
280
|
+
proposals: z.array(z.object({
|
|
281
|
+
name: z.string().min(1).max(80),
|
|
282
|
+
summary: z.string().min(1),
|
|
283
|
+
reasoning: z.array(z.string().min(1)).default([]),
|
|
284
|
+
exactValues: z.array(z.string().min(1)).default([]),
|
|
285
|
+
sourceLocations: z.array(z.string().min(1)).default([]),
|
|
286
|
+
responsiveImpact: z.string().min(1),
|
|
287
|
+
verificationPlan: z.array(z.string().min(1)).default([]),
|
|
288
|
+
changes: z.array(z.unknown()).default([]),
|
|
289
|
+
})),
|
|
290
|
+
}),
|
|
291
|
+
}, async ({ sessionId, token, requestId, ...input }) => {
|
|
292
|
+
const payload = await client.request(`/v1/sessions/${client.sessionId(sessionId)}/visual-agent-requests/${requestId}/respond`, { method: 'POST', body: JSON.stringify(input) }, token);
|
|
293
|
+
claimLeases.stop(requestId);
|
|
294
|
+
return result(payload);
|
|
295
|
+
});
|
|
127
296
|
server.registerTool('foundry_design_heartbeat_apply_run', {
|
|
128
297
|
description: 'Extend a claimed Foundry handoff lease while inspecting source before source work begins.',
|
|
129
298
|
inputSchema: z.object({
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEhE,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aACzE;SACF;QACD,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAC7C,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAgC,EAAE;YACzD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,UAAU,CAAC,GAAG,EAAE;IACd,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;KAC7B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,YAAY,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;IAEtE,MAAM,CAAC,YAAY,CACjB,8BAA8B,EAC9B;QACE,WAAW,EACT,kGAAkG;QACpG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;YACpD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;YACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC/B,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC3C,CAAC;KACH,EACD,KAAK,EAAE,KAAK,EAAE,EAAE,CACd,MAAM,CACJ,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE;QACnC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO,EAAE;gBACP,GAAG,KAAK;gBACR,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,SAAS;aACjB;SACF,CAAC;KACH,CAAC,CACH,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,+BAA+B,EAC/B;QACE,WAAW,EACT,mGAAmG;QACrG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;KACH,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7B,MAAM,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,gBAAgB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CACzF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,mCAAmC,EACnC;QACE,WAAW,EACT,wIAAwI;QAC1I,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;KACH,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7B,MAAM,CACJ,MAAM,MAAM,CAAC,OAAO,CAAC,gBAAgB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,EAAE,KAAK,CAAC,CAC5F,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,+BAA+B,EAC/B;QACE,WAAW,EACT,+GAA+G;QACjH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;gBACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC9B,CAAC;YACF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC/B,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;SAC5D,CAAC;KACH,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,EAAE;QAC3E,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;QACrC,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,GAAG,CAAC;YACF,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,cAAc,EAAE,CAAC;gBACjC,MAAM,MAAM,CAAC,OAAO,CAClB,gBAAgB,EAAE,iBAAiB,EACnC;oBACE,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,aAAa;wBACpB,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC;qBAC3D,CAAC;iBACH,EACD,KAAK,CACN,CAAC;gBACF,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACtC,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CACnC,gBAAgB,EAAE,0BAA0B,EAC5C,EAAE,EACF,KAAK,CACN,CAAqC,CAAC;YACvC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CACnC,gBAAgB,EAAE,eAAe,GAAG,CAAC,EAAE,QAAQ,EAC/C;oBACE,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,aAAa;wBACpB,QAAQ;wBACR,mBAAmB;qBACpB,CAAC;iBACH,EACD,KAAK,CACN,CAOA,CAAC;gBACF,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnF,MAAM,SAAS,GACb,UAAU,EAAE,KAAK,KAAK,SAAS;oBAC/B,UAAU,CAAC,KAAK,EAAE,IAAI,KAAK,aAAa,CAAC,IAAI;oBAC7C,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,CAAC;gBACnD,IAAI,SAAS,IAAI,UAAU,EAAE,cAAc,EAAE,CAAC;oBAC5C,WAAW,CAAC,KAAK,CAAC;wBAChB,SAAS,EAAE,EAAE;wBACb,KAAK;wBACL,KAAK,EAAE,GAAG,CAAC,EAAE;wBACb,cAAc,EAAE,UAAU,CAAC,cAAc;qBAC1C,CAAC,CAAC;oBACH,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;gBAAE,MAAM;YAClC,MAAM,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC,QAAQ,IAAI,EAAE;QACf,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,oCAAoC,EACpC;QACE,WAAW,EACT,2FAA2F;QAC7F,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAClC,CAAC;KACH,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE;QACpD,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAClC,gBAAgB,EAAE,eAAe,KAAK,YAAY,EAClD,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,EAC5D,KAAK,CACN,CAAC;QACF,WAAW,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,8BAA8B,EAC9B;QACE,WAAW,EAAE,6EAA6E;QAC1F,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACzB,CAAC;KACH,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CACpC,MAAM,CACJ,MAAM,MAAM,CAAC,OAAO,CAClB,gBAAgB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,KAAK,EAAE,EACjE,EAAE,EACF,KAAK,CACN,CACF,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,iCAAiC,EACjC;QACE,WAAW,EACT,qHAAqH;QACvH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YAChE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC5C,iBAAiB,EAAE,CAAC;iBACjB,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;gBACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC/B,CAAC,CACH;iBACA,QAAQ,EAAE;YACb,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;KACH,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE;QAC/C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAClC,gBAAgB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,KAAK,EAAE,EACjE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EACjD,KAAK,CACN,CAAC;QACF,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,8BAA8B,EAC9B;QACE,WAAW,EAAE,8EAA8E;QAC3F,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;SACzC,CAAC;KACH,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/C,MAAM,CACJ,MAAM,MAAM,CAAC,OAAO,CAClB,gBAAgB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,QAAQ,EAAE,EACjE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EACrD,KAAK,CACN,CACF,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EACT,iGAAiG;QACnG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;SAC3D,CAAC;KACH,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CACrC,MAAM,CACJ,MAAM,MAAM,CAAC,OAAO,CAClB,gBAAgB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,kBAAkB,MAAM,EAAE,EACrE,EAAE,EACF,KAAK,CACN,CACF,CACJ,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,oCAAoC,EACpC;QACE,WAAW,EACT,sGAAsG;QACxG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SACtC,CAAC;KACH,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;QACxC,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,KAAK,MAAM,QAAQ,IAAI,SAAS;YAC9B,OAAO,CAAC,IAAI,CACV,MAAM,MAAM,CAAC,OAAO,CAClB,gBAAgB,EAAE,YAAY,QAAQ,EAAE,EACxC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,EAChE,KAAK,CACN,CACF,CAAC;QACJ,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,oCAAoC,EACpC;QACE,WAAW,EAAE,4EAA4E;QACzF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,MAAM,CAAC;gBACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;gBACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;gBACpB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;gBACtB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;gBACrB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;gBACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAClC,CAAC,CACH;SACF,CAAC;KACH,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAC7C,MAAM,CACJ,MAAM,MAAM,CAAC,OAAO,CAClB,gBAAgB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,EACpD,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAC5D,KAAK,CACN,CACF,CACJ,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|