@minicor/mcp-server 4.10.0 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/__tests__/blueprints-tools.test.js +137 -70
- package/dist/__tests__/blueprints-tools.test.js.map +1 -1
- package/dist/__tests__/jobs-tools.test.js +228 -0
- package/dist/__tests__/jobs-tools.test.js.map +1 -1
- package/dist/server-surface.d.ts.map +1 -1
- package/dist/server-surface.js +4 -0
- package/dist/server-surface.js.map +1 -1
- package/dist/tools/blueprints.d.ts +4 -0
- package/dist/tools/blueprints.d.ts.map +1 -1
- package/dist/tools/blueprints.js +32 -18
- package/dist/tools/blueprints.js.map +1 -1
- package/dist/tools/jobs.d.ts.map +1 -1
- package/dist/tools/jobs.js +50 -11
- package/dist/tools/jobs.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-surface.js","sourceRoot":"","sources":["../src/server-surface.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,QAAQ,IAAI,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,QAAQ,IAAI,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,QAAQ,IAAI,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAEtF,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC;AAarC;;;;GAIG;AACH;;;;GAIG;AACH,MAAM,cAAc,GAAG
|
|
1
|
+
{"version":3,"file":"server-surface.js","sourceRoot":"","sources":["../src/server-surface.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
* OWNERSHIP RULE: when a route is blueprint-linked, never register_job /
|
|
11
11
|
* update_job / add_test_case directly on it — that trips reverse-drift
|
|
12
12
|
* detection (state job_ahead). Drive changes through the spec instead.
|
|
13
|
+
* Sanctioned escape hatch: update_job / add_test_case accept
|
|
14
|
+
* acknowledgeJobAhead=true for intentional direct edits; the response then
|
|
15
|
+
* carries a job_ahead warning with the fold-back options
|
|
16
|
+
* (blueprint_import_cases or blueprint_build).
|
|
13
17
|
*
|
|
14
18
|
* Auth/transport is handled by MiddlewareServiceClient (same plumbing as the
|
|
15
19
|
* jobs tools): the region's public middleware-service with the MCP's user
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blueprints.d.ts","sourceRoot":"","sources":["../../src/tools/blueprints.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"blueprints.d.ts","sourceRoot":"","sources":["../../src/tools/blueprints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAaH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAgI5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,QAk0CtC"}
|
package/dist/tools/blueprints.js
CHANGED
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
* OWNERSHIP RULE: when a route is blueprint-linked, never register_job /
|
|
11
11
|
* update_job / add_test_case directly on it — that trips reverse-drift
|
|
12
12
|
* detection (state job_ahead). Drive changes through the spec instead.
|
|
13
|
+
* Sanctioned escape hatch: update_job / add_test_case accept
|
|
14
|
+
* acknowledgeJobAhead=true for intentional direct edits; the response then
|
|
15
|
+
* carries a job_ahead warning with the fold-back options
|
|
16
|
+
* (blueprint_import_cases or blueprint_build).
|
|
13
17
|
*
|
|
14
18
|
* Auth/transport is handled by MiddlewareServiceClient (same plumbing as the
|
|
15
19
|
* jobs tools): the region's public middleware-service with the MCP's user
|
|
@@ -22,6 +26,17 @@ const regionParam = z
|
|
|
22
26
|
.enum(["us", "ca"])
|
|
23
27
|
.optional()
|
|
24
28
|
.describe("Region (us or ca). Auto-detected from workspace if omitted.");
|
|
29
|
+
// Blueprint and entry ids are ALWAYS uuids server-side; a non-uuid reaches the
|
|
30
|
+
// Postgres uuid cast and dies as a 500. LLM callers have shipped hallucinated
|
|
31
|
+
// ids to prod (a literal integer, a splice of two real uuids), so reject them
|
|
32
|
+
// client-side with a pointer to the tool that returns real ids.
|
|
33
|
+
const blueprintIdParam = z
|
|
34
|
+
.string()
|
|
35
|
+
.uuid("blueprintId must be a uuid; call blueprint_list to get real ids")
|
|
36
|
+
.describe("Blueprint ID (uuid)");
|
|
37
|
+
const entryIdParam = z
|
|
38
|
+
.string()
|
|
39
|
+
.uuid("entryId must be a uuid; call blueprint_list_entries to get real ids");
|
|
25
40
|
const entryKindParam = z
|
|
26
41
|
.enum([
|
|
27
42
|
"doc",
|
|
@@ -188,7 +203,7 @@ export function register(deps) {
|
|
|
188
203
|
// ── blueprint_get ──────────────────────────────────────────
|
|
189
204
|
server.tool("blueprint_get", "Get a blueprint: the full spec document, computed state, both drift summaries, and the inbox (document.openQuestions + pendingProposal). This is the raw read — headVersion here is the baseVersion for blueprint_update's CAS, and pendingProposal's baseVersion/basedOnSeq are the coordinates blueprint_apply_proposal requires. For 'what should I do next', prefer resolve_blueprint_state, which turns this state into concrete tool calls.", {
|
|
190
205
|
workspaceId: z.number().describe("Workspace ID"),
|
|
191
|
-
blueprintId:
|
|
206
|
+
blueprintId: blueprintIdParam,
|
|
192
207
|
region: regionParam,
|
|
193
208
|
}, async ({ workspaceId, blueprintId, region }) => {
|
|
194
209
|
const r = resolveRegion(workspaceId, region);
|
|
@@ -216,7 +231,7 @@ export function register(deps) {
|
|
|
216
231
|
// ── blueprint_update ───────────────────────────────────────
|
|
217
232
|
server.tool("blueprint_update", "Edit the spec document directly: `document` replaces wholesale, `patch` is the section-level merge (goal/schemas/openQuestions replaced, environment shallow-merged, screens/steps upserted by id, credentials by key, exampleCases by name). ALWAYS pass baseVersion (headVersion from blueprint_get / resolve_blueprint_state) — it is compare-and-swap: a 409 means the blueprint moved past your read, so RE-READ with blueprint_get and re-author the edit against the new head; never retry blindly. Prefer the synthesize->apply path for library-derived changes; direct edits are for surgical fixes. A successful document change snapshots a version and makes the job stale (blueprint_build to re-sync).", {
|
|
218
233
|
workspaceId: z.number().describe("Workspace ID"),
|
|
219
|
-
blueprintId:
|
|
234
|
+
blueprintId: blueprintIdParam,
|
|
220
235
|
name: z.string().optional().describe("Rename the blueprint"),
|
|
221
236
|
document: z
|
|
222
237
|
.record(z.string(), z.unknown())
|
|
@@ -289,9 +304,8 @@ export function register(deps) {
|
|
|
289
304
|
// ── blueprint_add_entry ────────────────────────────────────
|
|
290
305
|
server.tool("blueprint_add_entry", "Add (or, with entryId, update) a library entry — the way you feed a blueprint context. Context kinds (doc/video/url/note/transcript/data-source/walkthrough) feed synthesis; resource kinds (screen-map/anchor/screenshot) are runtime-referenceable as entry://<id>#<fragment>. Enrichable kinds (doc/video/url with a url or blobRef) start status=pending and are enriched to text by a worker — poll blueprint_list_entries before synthesizing. For file uploads: blueprint_entry_upload_url first, PUT the bytes, then pass the returned blobRef here. VM WALKTHROUGH MODE (get_skill 'blueprint-vm-walkthrough'): create the walkthrough entry IMMEDIATELY when the session starts and PATCH it (entryId + content) after EVERY step — crash resilience. Every write bumps librarySeq, so the spec becomes spec_stale until the next blueprint_synthesize.", {
|
|
291
306
|
workspaceId: z.number().describe("Workspace ID"),
|
|
292
|
-
blueprintId:
|
|
293
|
-
entryId:
|
|
294
|
-
.string()
|
|
307
|
+
blueprintId: blueprintIdParam,
|
|
308
|
+
entryId: entryIdParam
|
|
295
309
|
.optional()
|
|
296
310
|
.describe("PATCH mode: update this existing entry (title/text/url/content only) instead of creating one. A new url re-queues enrichment."),
|
|
297
311
|
kind: entryKindParam.optional().describe("Entry kind — required when creating, ignored in PATCH mode (kind is immutable)."),
|
|
@@ -355,8 +369,8 @@ export function register(deps) {
|
|
|
355
369
|
// ── blueprint_list_entries ─────────────────────────────────
|
|
356
370
|
server.tool("blueprint_list_entries", "List a blueprint's library entries (full rows: text, url, structured content, enrichment status/transcript/error), or one entry via entryId. status pending/processing means the enrichment worker is still on it — synthesize 409s until every entry is ready; status failed carries the reason in `error` (fix the source or delete the entry). With entryId: revisions=true adds the entry's immutable history (newest first), downloadUrl=true adds a signed read URL for the uploaded blob.", {
|
|
357
371
|
workspaceId: z.number().describe("Workspace ID"),
|
|
358
|
-
blueprintId:
|
|
359
|
-
entryId:
|
|
372
|
+
blueprintId: blueprintIdParam,
|
|
373
|
+
entryId: entryIdParam.optional().describe("Fetch just this entry"),
|
|
360
374
|
revisions: z
|
|
361
375
|
.boolean()
|
|
362
376
|
.optional()
|
|
@@ -409,7 +423,7 @@ export function register(deps) {
|
|
|
409
423
|
// ── blueprint_entry_upload_url ─────────────────────────────
|
|
410
424
|
server.tool("blueprint_entry_upload_url", "Get a short-lived signed upload URL for a file that will become a library entry. Handshake: (1) this tool -> { uploadUrl, blobRef, expiresOn }; (2) PUT the bytes to uploadUrl (plain PUT with the file's Content-Type; no extra headers needed — works from anywhere, including FROM INSIDE A VM via vm_execute_script with Python requests.put, the walkthrough screenshot path); (3) blueprint_add_entry with the returned blobRef. 409 means blob storage isn't configured on the service.", {
|
|
411
425
|
workspaceId: z.number().describe("Workspace ID"),
|
|
412
|
-
blueprintId:
|
|
426
|
+
blueprintId: blueprintIdParam,
|
|
413
427
|
fileName: z.string().describe("Original file name, e.g. 'step-3-invoice-screen.png'"),
|
|
414
428
|
region: regionParam,
|
|
415
429
|
}, async ({ workspaceId, blueprintId, fileName, region }) => {
|
|
@@ -444,7 +458,7 @@ export function register(deps) {
|
|
|
444
458
|
// ── blueprint_synthesize ───────────────────────────────────
|
|
445
459
|
server.tool("blueprint_synthesize", "Synthesize a spec proposal from the library (LLM). Produces ONE pending proposal for review — it is NEVER applied silently; blueprint_apply_proposal is the gate. Call after feeding entries (state no_spec) or after the library moved past the spec (state spec_stale) — and answer ALL open questions FIRST so one synthesis folds every answer in (don't loop answer->synthesize per question). Synchronous and can take a while on large libraries; on timeout, poll blueprint_get — the proposal may have landed anyway. Blocked responses are structured: blocked.reason = proposal_pending (review or pass replace=true) | entries_enriching (poll blueprint_list_entries) | llm_unconfigured (escalate) | library_empty (blueprint_add_entry first).", {
|
|
446
460
|
workspaceId: z.number().describe("Workspace ID"),
|
|
447
|
-
blueprintId:
|
|
461
|
+
blueprintId: blueprintIdParam,
|
|
448
462
|
instructions: z
|
|
449
463
|
.string()
|
|
450
464
|
.optional()
|
|
@@ -507,7 +521,7 @@ export function register(deps) {
|
|
|
507
521
|
// ── blueprint_get_proposal ─────────────────────────────────
|
|
508
522
|
server.tool("blueprint_get_proposal", "Read the pending synthesis proposal for review: the section-level patch, regenerated SOP, one-paragraph summary, and per-claim citations (entryId + provenance extracted|inferred|ambiguous — scrutinize 'inferred' and 'ambiguous' claims before applying). Returns the exact apply coordinates: blueprint_apply_proposal requires this proposal's baseVersion AND basedOnSeq, so a concurrent resynthesize can never swap a different proposal under your review.", {
|
|
509
523
|
workspaceId: z.number().describe("Workspace ID"),
|
|
510
|
-
blueprintId:
|
|
524
|
+
blueprintId: blueprintIdParam,
|
|
511
525
|
region: regionParam,
|
|
512
526
|
}, async ({ workspaceId, blueprintId, region }) => {
|
|
513
527
|
const r = resolveRegion(workspaceId, region);
|
|
@@ -540,7 +554,7 @@ export function register(deps) {
|
|
|
540
554
|
// ── blueprint_apply_proposal ───────────────────────────────
|
|
541
555
|
server.tool("blueprint_apply_proposal", "Apply the pending proposal you reviewed: patch + SOP land as one validated, version-snapshotted document update, and specBasedOnSeq is stamped. Requires the reviewed proposal's coordinates (baseVersion + proposalBasedOnSeq from blueprint_get_proposal): the tool sends proposalBasedOnSeq with the apply so the service atomically REFUSES (409 proposal_mismatch) if the pending proposal is no longer the one you reviewed (a concurrent resynthesize swapped it); it also re-reads and checks before POSTing as defense in depth. After a successful apply the spec is ahead of the job (job_stale) — blueprint_build is the next verb, after answering any openQuestions the new spec carries.", {
|
|
542
556
|
workspaceId: z.number().describe("Workspace ID"),
|
|
543
|
-
blueprintId:
|
|
557
|
+
blueprintId: blueprintIdParam,
|
|
544
558
|
baseVersion: z
|
|
545
559
|
.number()
|
|
546
560
|
.describe("The reviewed proposal's baseVersion (from blueprint_get_proposal.applyWith)"),
|
|
@@ -651,7 +665,7 @@ export function register(deps) {
|
|
|
651
665
|
// ── blueprint_reject_proposal ──────────────────────────────
|
|
652
666
|
server.tool("blueprint_reject_proposal", "Reject (discard) the pending proposal — use when the synthesis got it wrong or the spec moved underneath it. A 404 ('no pending proposal') is success-shaped: someone else already applied or rejected it, so the outcome you wanted (no pending proposal blocking synthesize) holds either way. Follow with blueprint_synthesize (optionally with steering `instructions`) to produce a better one.", {
|
|
653
667
|
workspaceId: z.number().describe("Workspace ID"),
|
|
654
|
-
blueprintId:
|
|
668
|
+
blueprintId: blueprintIdParam,
|
|
655
669
|
region: regionParam,
|
|
656
670
|
}, async ({ workspaceId, blueprintId, region }) => {
|
|
657
671
|
const r = resolveRegion(workspaceId, region);
|
|
@@ -686,7 +700,7 @@ export function register(deps) {
|
|
|
686
700
|
// ── blueprint_answer_question ──────────────────────────────
|
|
687
701
|
server.tool("blueprint_answer_question", "Answer ONE open synthesis question atomically: the service removes it from document.openQuestions, stores the answer as a note entry, and snapshots a version in a single transaction. `question` must match the openQuestions text EXACTLY (from blueprint_get / resolve_blueprint_state). A 404 means another writer already answered it — that is CONVERGENCE, not failure; move to the next question. Builder questions (build run needs_input) are NOT answered here — use answer_build_question. DRIFT NOTE: each answer bumps librarySeq, so the spec goes spec_stale — answer ALL open questions first, then run blueprint_synthesize ONCE; never loop answer->synthesize per question.", {
|
|
688
702
|
workspaceId: z.number().describe("Workspace ID"),
|
|
689
|
-
blueprintId:
|
|
703
|
+
blueprintId: blueprintIdParam,
|
|
690
704
|
question: z
|
|
691
705
|
.string()
|
|
692
706
|
.describe("The open question being answered — EXACT text from document.openQuestions"),
|
|
@@ -789,7 +803,7 @@ export function register(deps) {
|
|
|
789
803
|
// ── blueprint_build ────────────────────────────────────────
|
|
790
804
|
server.tool("blueprint_build", "Sync the spec into its Job (the primary build verb): validates the spec, ensures the router + route exist, upserts judge test cases from exampleCases (content-hash idempotent), attaches spec + library + resolved resource refs as the builder artifact, and queues/folds into a build run. RETURNS THE HANDOFF ARTIFACT: { middlewareId, routeId, buildId, testCaseIds } — the coordinates the whole jobs toolset (get_build_status, run_tests, resolve_job_state, publish_job) takes over with. Precondition enforced here: if the linked build run is needs_input, this returns blocked instead of syncing (the service would fold cases WITHOUT re-queueing the builder) — answer_build_question first. A 400 means the spec isn't syncable and carries the problem list.", {
|
|
791
805
|
workspaceId: z.number().describe("Workspace ID"),
|
|
792
|
-
blueprintId:
|
|
806
|
+
blueprintId: blueprintIdParam,
|
|
793
807
|
instructions: z
|
|
794
808
|
.string()
|
|
795
809
|
.optional()
|
|
@@ -839,7 +853,7 @@ export function register(deps) {
|
|
|
839
853
|
// ── blueprint_build_status ─────────────────────────────────
|
|
840
854
|
server.tool("blueprint_build_status", "Blueprint-side view of the linked build: composes the blueprint's state with the stamped build run (status queued|running|green|failed|needs_input, summary, open questions). needs_input questions come back with answer_build_question coordinates prefilled — try to answer them from the library FIRST (blueprint_list_entries; cite what you find) before escalating to a human. For the full job-side picture (test cases, executions), use resolve_job_state with the same coordinates.", {
|
|
841
855
|
workspaceId: z.number().describe("Workspace ID"),
|
|
842
|
-
blueprintId:
|
|
856
|
+
blueprintId: blueprintIdParam,
|
|
843
857
|
region: regionParam,
|
|
844
858
|
}, async ({ workspaceId, blueprintId, region }) => {
|
|
845
859
|
const r = resolveRegion(workspaceId, region);
|
|
@@ -902,7 +916,7 @@ export function register(deps) {
|
|
|
902
916
|
// ── blueprint_import_cases ─────────────────────────────────
|
|
903
917
|
server.tool("blueprint_import_cases", "Adopt the linked job's test cases into the spec's exampleCases (upsert by name) — the job_ahead FOLD-BACK arrow. Use when the job was edited directly (update_job / teach_job / Dev-Mode clones tripped reverse drift) and the direct edits should become spec truth, or right after blueprint_create linked an existing job. After importing, the spec is ahead of the job (job_stale): review it, then blueprint_build re-syncs and re-stamps the drift baseline. The alternative job_ahead exit is blueprint_build alone — rebuild from the spec and OVERWRITE the direct edits.", {
|
|
904
918
|
workspaceId: z.number().describe("Workspace ID"),
|
|
905
|
-
blueprintId:
|
|
919
|
+
blueprintId: blueprintIdParam,
|
|
906
920
|
region: regionParam,
|
|
907
921
|
}, async ({ workspaceId, blueprintId, region }) => {
|
|
908
922
|
const r = resolveRegion(workspaceId, region);
|
|
@@ -932,7 +946,7 @@ export function register(deps) {
|
|
|
932
946
|
// ── blueprint_list_versions ────────────────────────────────
|
|
933
947
|
server.tool("blueprint_list_versions", "List a blueprint's spec version snapshots (newest first) — every document change (apply, direct update, answered question) snapshots one, with its note. Pass version to fetch one full snapshot (e.g. to diff what a proposal changed, or to recover a document to re-author against after a CAS 409). Entry-level history lives on blueprint_list_entries revisions=true instead.", {
|
|
934
948
|
workspaceId: z.number().describe("Workspace ID"),
|
|
935
|
-
blueprintId:
|
|
949
|
+
blueprintId: blueprintIdParam,
|
|
936
950
|
version: z.number().optional().describe("Fetch one full version snapshot"),
|
|
937
951
|
region: regionParam,
|
|
938
952
|
}, async ({ workspaceId, blueprintId, version, region }) => {
|
|
@@ -953,7 +967,7 @@ export function register(deps) {
|
|
|
953
967
|
// ── resolve_blueprint_state ────────────────────────────────
|
|
954
968
|
server.tool("resolve_blueprint_state", "The 'where am I in the blueprint loop?' call — START HERE when working a blueprint (the sibling of resolve_job_state, one layer up). One call fetches the blueprint (state + drift + proposal + open questions), its library entries (enrichment status), and the linked build run, then returns an UNFOLDED state (no_context | enriching | no_spec | proposal_pending | needs_answers | building | needs_input | build_failed | job_ahead | spec_stale | job_stale | in_sync — every state maps to one verb), blockers[] (enrichment_failed / builder_stalled / question_needs_human — the escalation surface), and ordered nextActions with the concrete tool calls prefilled. The loop it drives: add entries -> synthesize -> answer questions -> apply proposal -> blueprint_build -> the jobs loop (resolve_job_state) takes over.", {
|
|
955
969
|
workspaceId: z.number().describe("Workspace ID"),
|
|
956
|
-
blueprintId:
|
|
970
|
+
blueprintId: blueprintIdParam.describe("Blueprint ID (uuid) to resolve"),
|
|
957
971
|
region: regionParam,
|
|
958
972
|
}, async ({ workspaceId, blueprintId, region }) => {
|
|
959
973
|
const r = resolveRegion(workspaceId, region);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blueprints.js","sourceRoot":"","sources":["../../src/tools/blueprints.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blueprints.js","sourceRoot":"","sources":["../../src/tools/blueprints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AAQzC,MAAM,WAAW,GAAG,CAAC;KAClB,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAClB,QAAQ,EAAE;KACV,QAAQ,CAAC,6DAA6D,CAAC,CAAC;AAE3E,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,gEAAgE;AAChE,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,EAAE;KACR,IAAI,CAAC,iEAAiE,CAAC;KACvE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAEnC,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,EAAE;KACR,IAAI,CAAC,qEAAqE,CAAC,CAAC;AAE/E,MAAM,cAAc,GAAG,CAAC;KACrB,IAAI,CAAC;IACJ,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,YAAY;IACZ,aAAa;IACb,aAAa;IACb,YAAY;IACZ,QAAQ;IACR,YAAY;CACb,CAAC;KACD,QAAQ,CACP,qNAAqN,CACtN,CAAC;AAEJ,kFAAkF;AAClF,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,CAAC,YAAY,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,wFAAwF;AACxF,SAAS,MAAM,CAAC,CAAU;IACxB,OAAO,CAAC,YAAY,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AA4BD,qEAAqE;AACrE,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvC,gFAAgF;AAChF,SAAS,WAAW,CAAC,EAAsB;IACzC,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,OAAO,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAC9B,MAA0B,EAC1B,OAAe,EACf,IAAa;IAEb,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,kBAAkB;YACrB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACzD,KAAK,mBAAmB;YACtB,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC1D,KAAK,0BAA0B;YAC7B,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC1D,mEAAmE;QACnE,iEAAiE;QACjE,sBAAsB;QACtB,KAAK,oBAAoB,CAAC;QAC1B,KAAK,uBAAuB,CAAC;QAC7B,KAAK,yBAAyB,CAAC;QAC/B,KAAK,qBAAqB;YACxB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IACD,mEAAmE;IACnE,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACzD,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC;YACvC,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC1D,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;YACjC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC1D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACzC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAc;IACrC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAExB,SAAS,SAAS,CAAC,MAAe;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,UAAU,iBAAiB,CAC9B,MAA+B,EAC/B,WAAmB,EACnB,EAAsB;QAEtB,IAAI,EAAE,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC1E,IAAI,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/D,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;QACzD,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,SAAS,gBAAgB,CAAC,WAAmB,EAAE,cAAuB;QACpE,OAAO,cAAc;YACnB,CAAC,CAAC;gBACE,OAAO,EAAE,gEAAgE,cAAc,gEAAgE,WAAW,4BAA4B;aAC/L;YACH,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAED,SAAS,aAAa,CAAC,WAAmB,EAAE,QAAiB;QAC3D,IAAI,QAAQ;YAAE,OAAO,QAAkB,CAAC;QACxC,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;IACjE,CAAC;IAED,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,iWAAiW,EACjW;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QAChC,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAClE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,6BAA6B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,2ZAA2Z,EAC3Z;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC3C,QAAQ,EAAE,CAAC;aACR,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,QAAQ,EAAE;aACV,QAAQ,CACP,+GAA+G,CAChH;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,2IAA2I,CAC5I;QACH,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;QACtE,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE;QACvE,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE;gBAChE,IAAI;gBACJ,QAAQ,EAAE,QAAe;gBACzB,OAAO;gBACP,YAAY;aACb,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;gBACR,MAAM,EAAE,SAAS;gBACjB,SAAS;gBACT,WAAW,EAAE;oBACX,OAAO;wBACL,CAAC,CAAC,0BAA0B,OAAO,yCAAyC,SAAS,CAAC,EAAE,iEAAiE;wBACzJ,CAAC,CAAC,qDAAqD,SAAS,CAAC,EAAE,iEAAiE;iBACvI;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,6BAA6B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,eAAe,EACf,mbAAmb,EACnb;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,WAAW,EAAE,gBAAgB;QAC7B,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QAC7C,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC5E,OAAO,EAAE,CAAC;gBACR,SAAS;gBACT,KAAK,EAAE;oBACL,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE;oBACtD,eAAe,EAAE,SAAS,CAAC,eAAe;wBACxC,CAAC,CAAC;4BACE,OAAO,EAAE,SAAS,CAAC,eAAe,CAAC,OAAO;4BAC1C,WAAW,EAAE,SAAS,CAAC,eAAe,CAAC,WAAW;4BAClD,UAAU,EAAE,SAAS,CAAC,eAAe,CAAC,UAAU;4BAChD,SAAS,EAAE,SAAS,CAAC,eAAe,CAAC,SAAS;yBAC/C;wBACH,CAAC,CAAC,IAAI;iBACT;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,6BAA6B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,urBAAurB,EACvrB;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,WAAW,EAAE,gBAAgB;QAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAC5D,QAAQ,EAAE,CAAC;aACR,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,QAAQ,EAAE;aACV,QAAQ,CAAC,+CAA+C,CAAC;QAC5D,KAAK,EAAE,CAAC;aACL,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,QAAQ,EAAE;aACV,QAAQ,CAAC,4CAA4C,CAAC;QACzD,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,4CAA4C,CAAC;QACzD,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,gNAAgN,CACjN;QACH,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QACvF,kEAAkE;QAClE,qEAAqE;QACrE,kDAAkD;QAClD,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,CAAC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YACjF,OAAO,EAAE,CAAC;gBACR,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE;oBACP,MAAM,EAAE,uBAAuB;oBAC/B,SAAS,EAAE,IAAI;oBACf,OAAO,EACL,wHAAwH;iBAC3H;gBACD,WAAW,EAAE;oBACX,6BAA6B,WAAW,6GAA6G;iBACtJ;aACF,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,iBAAiB,CAC/D,MAAM,EACN,WAAW,EACX,MAAM,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE;gBACrD,IAAI;gBACJ,QAAQ,EAAE,QAAe;gBACzB,KAAK,EAAE,KAAY;gBACnB,IAAI;gBACJ,WAAW;aACZ,CAAC,CACH,CAAC;YACF,OAAO,EAAE,CAAC;gBACR,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,IAAI;gBAC1C,SAAS;gBACT,GAAG,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC;aACjD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxB,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE;wBACP,MAAM,EAAE,kBAAkB;wBAC1B,SAAS,EAAE,IAAI;wBACf,OAAO,EAAE,CAAC,CAAC,OAAO;qBACnB;oBACD,WAAW,EAAE;wBACX,wCAAwC,WAAW,gCAAgC,WAAW,iIAAiI;qBAChO;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,6BAA6B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,m0BAAm0B,EACn0B;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE,YAAY;aAClB,QAAQ,EAAE;aACV,QAAQ,CACP,+HAA+H,CAChI;QACH,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACtC,iFAAiF,CAClF;QACD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;QACtF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QACnF,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QACjF,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,8DAA8D,CAAC;QAC3E,OAAO,EAAE,CAAC;aACP,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/B,QAAQ,EAAE;aACV,QAAQ,CACP,2LAA2L,CAC5L;QACH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACxE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAClE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACjE,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EACL,WAAW,EACX,WAAW,EACX,OAAO,EACP,IAAI,EACJ,KAAK,EACL,IAAI,EAAE,SAAS,EACf,GAAG,EACH,OAAO,EACP,OAAO,EACP,QAAQ,EACR,WAAW,EACX,SAAS,EACT,MAAM,GACP,EAAE,EAAE;QACH,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAC7C,WAAW,EACX,WAAW,EACX,OAAO,EACP;oBACE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9C,CACF,CAAC;gBACF,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACpB,OAAO,IAAI,CACT,8FAA8F,CAC/F,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,WAAW,EAAE;gBACxE,IAAI;gBACJ,KAAK;gBACL,IAAI,EAAE,SAAS;gBACf,GAAG;gBACH,OAAO;gBACP,OAAO;gBACP,QAAQ;gBACR,WAAW;gBACX,SAAS;aACV,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,CAAC;YAC9E,OAAO,EAAE,CAAC;gBACR,MAAM,EAAE,SAAS;gBACjB,KAAK;gBACL,GAAG,CAAC,SAAS;oBACX,CAAC,CAAC;wBACE,IAAI,EAAE,iHAAiH;qBACxH;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,kCAAkC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,keAAke,EACle;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAClE,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,mEAAmE,CAAC;QAChF,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,wGAAwG,CACzG;QACH,WAAW,EAAE,CAAC;aACX,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,uEAAuE,CAAC;QACpF,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QACzF,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBAC5E,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAC3D,CAAC,MAAM,CAAC;gBACT,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;gBACnE,OAAO,EAAE,CAAC;oBACR,OAAO;oBACP,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;oBAClD,GAAG,CAAC,OAAO;wBACT,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,OAAO,QAAQ,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,sDAAsD,EAAE;wBACtH,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAChF,MAAM,MAAM,GAA4B,EAAE,KAAK,EAAE,CAAC;YAClD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,SAAS,GAAG,MAAM,MAAM,CAAC,2BAA2B,CACzD,WAAW,EACX,WAAW,EACX,OAAO,EACP,EAAE,SAAS,EAAE,CACd,CAAC;YACJ,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CACrD,WAAW,EACX,WAAW,EACX,OAAO,CACR,CAAC;oBACF,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;gBACtC,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC;gBACtC,CAAC;YACH,CAAC;YACD,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,oCAAoC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,4BAA4B,EAC5B,geAAge,EAChe;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,WAAW,EAAE,gBAAgB;QAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;QACrF,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;QACvD,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAC7D,WAAW,EACX,WAAW,EACX,QAAQ,CACT,CAAC;YACF,OAAO,EAAE,CAAC;gBACR,GAAG,MAAM;gBACT,WAAW,EAAE;oBACX,4FAA4F;oBAC5F,wCAAwC,WAAW,kBAAkB,MAAM,CAAC,OAAO,+CAA+C;iBACnI;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxB,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE;wBACP,MAAM,EAAE,2BAA2B;wBACnC,SAAS,EAAE,KAAK;wBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;qBACnB;oBACD,WAAW,EAAE;wBACX,iLAAiL;qBAClL;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,+tBAA+tB,EAC/tB;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,WAAW,EAAE,gBAAgB;QAC7B,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,2DAA2D,CAAC;QACxE,OAAO,EAAE,CAAC;aACP,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,sDAAsD,CAAC;QACnE,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QACpE,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CACtD,WAAW,EACX,WAAW,EACX,EAAE,OAAO,EAAE,YAAY,EAAE,CAC1B,CAAC;YACF,MAAM,QAAQ,GAAG,SAAS,CAAC,eAAe,CAAC;YAC3C,OAAO,EAAE,CAAC;gBACR,MAAM,EAAE,gBAAgB;gBACxB,QAAQ;gBACR,WAAW,EAAE,QAAQ;oBACnB,CAAC,CAAC;wBACE,iCAAiC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,gDAAgD,WAAW,gBAAgB,QAAQ,CAAC,WAAW,uBAAuB,QAAQ,CAAC,UAAU,6CAA6C;qBACxP;oBACH,CAAC,CAAC;wBACE,sEAAsE,WAAW,cAAc;qBAChG;aACN,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,WAAW,GAAa,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;oBACxC,WAAW,CAAC,IAAI,CACd,iFAAiF,WAAW,kEAAkE,CAC/J,CAAC;gBACJ,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;oBAChD,WAAW,CAAC,IAAI,CACd,yEAAyE,WAAW,yCAAyC,CAC9H,CAAC;gBACJ,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;oBAC/C,WAAW,CAAC,IAAI,CACd,gIAAgI,CACjI,CAAC;gBACJ,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;oBAC5C,WAAW,CAAC,IAAI,CACd,0DAA0D,WAAW,+BAA+B,CACrG,CAAC;gBACJ,CAAC;qBAAM,IACL;oBACE,oBAAoB;oBACpB,uBAAuB;oBACvB,yBAAyB;oBACzB,qBAAqB;iBACtB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EACxB,CAAC;oBACD,WAAW,CAAC,IAAI,CACd,iCAAiC,KAAK,CAAC,MAAM,8CAA8C,WAAW,mDAAmD,CAC1J,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;oBACzC,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,iCAAiC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,qcAAqc,EACrc;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,WAAW,EAAE,gBAAgB;QAC7B,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QAC7C,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,SAAS,CAAC,eAAe,CAAC;YAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,qBAAqB;oBAC7B,WAAW,EAAE;wBACX,6DAA6D,WAAW,0BAA0B,SAAS,CAAC,KAAK,IAAI;qBACtH;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,CAAC;gBACR,QAAQ;gBACR,SAAS,EAAE;oBACT,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,kBAAkB,EAAE,QAAQ,CAAC,UAAU;iBACxC;gBACD,WAAW,EAAE;oBACX,+CAA+C,WAAW,gBAAgB,QAAQ,CAAC,WAAW,uBAAuB,QAAQ,CAAC,UAAU,mDAAmD,WAAW,GAAG;iBAC1M;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,4BAA4B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,yqBAAyqB,EACzqB;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,CAAC,6EAA6E,CAAC;QAC1F,kBAAkB,EAAE,CAAC;aAClB,MAAM,EAAE;aACR,QAAQ,CAAC,4EAA4E,CAAC;QACzF,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE;QAC9E,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC5B,oEAAoE;YACpE,sEAAsE;YACtE,qEAAqE;YACrE,+DAA+D;YAC/D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;YACxC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,qBAAqB;oBAC7B,IAAI,EAAE,uFAAuF;oBAC7F,WAAW,EAAE;wBACX,6BAA6B,WAAW,yDAAyD;qBAClG;iBACF,CAAC,CAAC;YACL,CAAC;YACD,IACE,OAAO,CAAC,WAAW,KAAK,WAAW;gBACnC,OAAO,CAAC,UAAU,KAAK,kBAAkB,EACzC,CAAC;gBACD,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE;wBACP,MAAM,EAAE,kBAAkB;wBAC1B,SAAS,EAAE,IAAI;wBACf,OAAO,EAAE,qCAAqC,OAAO,CAAC,WAAW,gBAAgB,OAAO,CAAC,UAAU,8CAA8C,WAAW,gBAAgB,kBAAkB,4CAA4C;qBAC3O;oBACD,WAAW,EAAE;wBACX,iDAAiD,WAAW,wCAAwC;qBACrG;iBACF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,iBAAiB,CAC/D,MAAM,EACN,WAAW;YACX,+DAA+D;YAC/D,mEAAmE;YACnE,mEAAmE;YACnE,MAAM,MAAM,CAAC,sBAAsB,CAAC,WAAW,EAAE,WAAW,EAAE;gBAC5D,UAAU,EAAE,kBAAkB;aAC/B,CAAC,CACH,CAAC;YACF,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC;YAC9D,OAAO,EAAE,CAAC;gBACR,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,IAAI;gBAC1C,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,IAAI;gBAC9B,aAAa;gBACb,GAAG,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC;gBAChD,WAAW,EAAE,aAAa,CAAC,MAAM;oBAC/B,CAAC,CAAC;wBACE,4BAA4B,aAAa,CAAC,MAAM,2IAA2I;qBAC5L;oBACH,CAAC,CAAC;wBACE,kBAAkB,SAAS,CAAC,WAAW,mCAAmC,WAAW,2BAA2B;qBACjH;aACN,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxB,kEAAkE;gBAClE,kEAAkE;gBAClE,0BAA0B;gBAC1B,MAAM,OAAO,GACX,MAAM,CAAC,CAAC,CAAC,KAAK,mBAAmB;oBACjC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3E,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,EAAE,CAAC;wBACR,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE;4BACP,MAAM,EAAE,kBAAkB;4BAC1B,SAAS,EAAE,IAAI;4BACf,OAAO,EAAE,CAAC,CAAC,OAAO;yBACnB;wBACD,WAAW,EAAE;4BACX,oIAAoI,WAAW,0EAA0E;yBAC1N;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;oBACtE,WAAW,EAAE;wBACX,gGAAgG,WAAW,oCAAoC;qBAChJ;iBACF,CAAC,CAAC;YACL,CAAC;YACD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxB,6DAA6D;gBAC7D,kEAAkE;gBAClE,kEAAkE;gBAClE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5C,OAAO,IAAI,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnD,CAAC;gBACD,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,qBAAqB;oBAC7B,IAAI,EAAE,0EAA0E;oBAChF,WAAW,EAAE,CAAC,6BAA6B,WAAW,yBAAyB,CAAC;iBACjF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,4BAA4B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,sYAAsY,EACtY;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,WAAW,EAAE,gBAAgB;QAC7B,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QAC7C,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,iBAAiB,CAC/D,MAAM,EACN,WAAW,EACX,MAAM,MAAM,CAAC,uBAAuB,CAAC,WAAW,EAAE,WAAW,CAAC,CAC/D,CAAC;YACF,OAAO,EAAE,CAAC;gBACR,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,IAAI;gBAC9B,GAAG,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC;gBAChD,WAAW,EAAE;oBACX,oCAAoC,WAAW,0CAA0C;iBAC1F;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxB,2DAA2D;gBAC3D,8BAA8B;gBAC9B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5C,OAAO,IAAI,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnD,CAAC;gBACD,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,cAAc;oBACtB,IAAI,EAAE,0HAA0H;oBAChI,WAAW,EAAE,CAAC,6BAA6B,WAAW,yBAAyB,CAAC;iBACjF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,6BAA6B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,iqBAAiqB,EACjqB;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,WAAW,EAAE,gBAAgB;QAC7B,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CAAC,2EAA2E,CAAC;QACxF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QAC1E,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/D,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,uBAAuB,CACpD,WAAW,EACX,WAAW,EACX,QAAQ,EACR,MAAM,CACP,CAAC;YACF,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC;YAC1D,OAAO,EAAE,CAAC;gBACR,MAAM,EAAE,UAAU;gBAClB,sBAAsB,EAAE,SAAS;gBACjC,SAAS,EACP,qKAAqK;gBACvK,WAAW,EAAE,SAAS,CAAC,MAAM;oBAC3B,CAAC,CAAC,SAAS,CAAC,GAAG,CACX,CAAC,CAAC,EAAE,EAAE,CACJ,yCAAyC,WAAW,aAAa,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CACvF;oBACH,CAAC,CAAC;wBACE,6DAA6D,WAAW,qCAAqC;qBAC9G;aACN,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxB,qEAAqE;gBACrE,iEAAiE;gBACjE,oEAAoE;gBACpE,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnC,OAAO,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACpF,CAAC;gBACD,iEAAiE;gBACjE,iEAAiE;gBACjE,mEAAmE;gBACnE,kEAAkE;gBAClE,qCAAqC;gBACrC,IAAI,CAAC,0DAA0D,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChF,OAAO,IAAI,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnD,CAAC;gBACD,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,kBAAkB;oBAC1B,IAAI,EAAE,sIAAsI;oBAC5I,WAAW,EAAE;wBACX,6BAA6B,WAAW,sDAAsD;qBAC/F;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,6BAA6B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CACF,CAAC;IAEF;;;;;OAKG;IACH,KAAK,UAAU,sBAAsB,CACnC,MAA+B,EAC/B,WAAmB,EACnB,WAAmB,EACnB,QAAgB,EAChB,MAAc;QAEd,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACtE,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC;YAC9D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,kBAAkB;oBAC1B,IAAI,EAAE,8DAA8D;oBACpE,WAAW,EAAE,CAAC,6BAA6B,WAAW,iCAAiC,CAAC;iBACzF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,WAAW,EAAE;gBACxE,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,WAAW,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBAC1C,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE;aACvC,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE;oBACrD,KAAK,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,EAAE;oBACrE,IAAI,EAAE,oBAAoB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;oBAClD,WAAW,EAAE,SAAS,CAAC,WAAW;iBACnC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,QAAa,EAAE,CAAC;gBACvB,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,+BAA+B,KAAK,CAAC,EAAE,0DAA0D,QAAQ,CAAC,OAAO,+CAA+C;oBACtK,WAAW,EAAE;wBACX,6BAA6B,WAAW,yGAAyG;qBAClJ;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,CAAC;gBACR,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,mGAAmG;gBACzG,SAAS,EACP,iGAAiG;gBACnG,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC;aACpE,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,6CAA6C,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,ivBAAivB,EACjvB;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,WAAW,EAAE,gBAAgB;QAC7B,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,yIAAyI,CAC1I;QACH,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE;QAC3D,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACpE,IAAI,OAAO,CAAC,WAAW,KAAK,aAAa,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrF,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE;wBACP,MAAM,EAAE,mBAAmB;wBAC3B,SAAS,EAAE,IAAI;wBACf,OAAO,EAAE,SAAS,OAAO,CAAC,OAAO,wFAAwF;qBAC1H;oBACD,WAAW,EAAE;wBACX,sEAAsE,WAAW,iBAAiB,OAAO,CAAC,YAAY,YAAY,OAAO,CAAC,OAAO,YAAY,OAAO,CAAC,OAAO,qGAAqG;qBAClR;iBACF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YAClF,OAAO,EAAE,CAAC;gBACR,MAAM,EAAE,cAAc;gBACtB,GAAG,MAAM;gBACT,WAAW,EAAE;oBACX,sDAAsD,WAAW,qCAAqC,WAAW,iBAAiB,MAAM,CAAC,YAAY,YAAY,MAAM,CAAC,OAAO,YAAY,MAAM,CAAC,OAAO,IAAI;oBAC7M,kDAAkD,WAAW,iBAAiB,MAAM,CAAC,YAAY,YAAY,MAAM,CAAC,OAAO,8EAA8E;iBAC1M;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxB,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;oBAC7E,WAAW,EAAE;wBACX,yJAAyJ,WAAW,GAAG;qBACxK;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,6BAA6B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,geAAge,EAChe;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,WAAW,EAAE,gBAAgB;QAC7B,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QAC7C,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACtE,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACxE,OAAO,EAAE,CAAC;oBACR,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,KAAK,EAAE,IAAI;oBACX,WAAW,EAAE;wBACX,+DAA+D,WAAW,4EAA4E;qBACvJ;iBACF,CAAC,CAAC;YACL,CAAC;YACD,IAAI,KAA8B,CAAC;YACnC,IAAI,eAAmC,CAAC;YACxC,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,MAAM,CAAC,WAAW,CAC9B,WAAW,EACX,SAAS,CAAC,YAAY,EACtB,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,OAAO,CAClB,CAAC;YACJ,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,eAAe,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC;YAC5C,CAAC;YACD,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxE,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,IAAI,eAAe,EAAE,CAAC;gBACpB,WAAW,CAAC,IAAI,CACd,qBAAqB,SAAS,CAAC,OAAO,0BAA0B,eAAe,wFAAwF,WAAW,qCAAqC,WAAW,iBAAiB,SAAS,CAAC,YAAY,YAAY,SAAS,CAAC,OAAO,YAAY,SAAS,CAAC,OAAO,4BAA4B,CAChW,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,EAAE,MAAM,KAAK,aAAa,EAAE,CAAC;gBACpC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;oBAC9B,WAAW,CAAC,IAAI,CACd,qCAAqC,WAAW,iBAAiB,SAAS,CAAC,YAAY,YAAY,SAAS,CAAC,OAAO,YAAY,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,mEAAmE,WAAW,IAAI,CAC3P,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtC,WAAW,CAAC,IAAI,CACd,sIAAsI,WAAW,cAAc,CAChK,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;gBACrC,WAAW,CAAC,IAAI,CACd,0CAA0C,WAAW,iBAAiB,SAAS,CAAC,YAAY,YAAY,SAAS,CAAC,OAAO,mCAAmC,CAC7J,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,EAAE,CAAC;gBACjB,WAAW,CAAC,IAAI,CACd,YAAY,KAAK,CAAC,MAAM,qEAAqE,KAAK,CAAC,EAAE,mBAAmB,CACzH,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,CAAC;gBACR,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,IAAI,EAAE;oBACJ,YAAY,EAAE,SAAS,CAAC,YAAY;oBACpC,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,OAAO,EAAE,SAAS,CAAC,OAAO;iBAC3B;gBACD,KAAK,EAAE,KAAK,IAAI,IAAI;gBACpB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,aAAa;gBACb,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,gCAAgC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,qjBAAqjB,EACrjB;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,WAAW,EAAE,gBAAgB;QAC7B,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QAC7C,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACpF,OAAO,EAAE,CAAC;gBACR,MAAM,EAAE,UAAU;gBAClB,YAAY,EAAE,SAAS,CAAC,QAAQ,EAAE,YAAY,IAAI,EAAE;gBACpD,WAAW,EAAE;oBACX,+DAA+D,WAAW,yDAAyD;iBACpI;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxB,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;oBAC9E,WAAW,EAAE;wBACX,2FAA2F;qBAC5F;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,0BAA0B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,qXAAqX,EACrX;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC1E,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QACtD,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;gBACrF,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC9E,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,qCAAqC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CACF,CAAC;IAEF,8DAA8D;IAE9D,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,2yBAA2yB,EAC3yB;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QACxE,MAAM,EAAE,WAAW;KACpB,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QAC7C,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC1C,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC;gBAC7C,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,IAAI,CACxD,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAC1B,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CACxD;aACF,CAAC,CAAC;YACH,mEAAmE;YACnE,qEAAqE;YACrE,iEAAiE;YACjE,qDAAqD;YACrD,IAAI,cAAc,IAAI,WAAW,EAAE,CAAC;gBAClC,OAAO,EAAE,CAAC;oBACR,MAAM,EAAE,UAAU;oBAClB,YAAY,EAAE,EAAE,CAAC,KAAK;oBACtB,KAAK,EAAE,2CAA2C,WAAW,CAAC,YAAY,EAAE;oBAC5E,WAAW,EAAE;wBACX,iHAAiH,WAAW,+EAA+E;qBAC5M;iBACF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;YACpC,IAAI,KAA8B,CAAC;YACnC,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,KAAK,GAAG,MAAM,MAAM,CAAC,WAAW,CAC9B,WAAW,EACX,EAAE,CAAC,YAAY,EACf,EAAE,CAAC,OAAO,EACV,EAAE,CAAC,OAAO,CACX,CAAC;gBACJ,CAAC;gBAAC,OAAO,QAAa,EAAE,CAAC;oBACvB,4DAA4D;oBAC5D,uDAAuD;oBACvD,8DAA8D;oBAC9D,sDAAsD;oBACtD,OAAO,EAAE,CAAC;wBACR,MAAM,EAAE,UAAU;wBAClB,YAAY,EAAE,EAAE,CAAC,KAAK;wBACtB,KAAK,EAAE,uCAAuC,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,IAAI,QAAQ,CAAC,EAAE;wBACpG,WAAW,EAAE;4BACX,sHAAsH,WAAW,+EAA+E;yBACjN;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAC3D,CAAC;YACF,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YACnE,MAAM,aAAa,GAAG,EAAE,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;YAClC,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAEzE,6DAA6D;YAC7D,yDAAyD;YACzD,uCAAuC;YACvC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,eAAe,GACnB,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBAC9B,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC9B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACpC,OAAO,CACL,KAAK,EAAE,IAAI,KAAK,MAAM;wBACtB,OAAO,CAAE,KAAK,CAAC,OAA0C,EAAE,eAAe,CAAC,CAC5E,CAAC;gBACJ,CAAC,CAAC,CAAC;YAEL,wEAAwE;YACxE,qEAAqE;YACrE,wCAAwC;YACxC,IAAI,KAA6B,CAAC;YAClC,IAAI,EAAE,CAAC,WAAW,KAAK,aAAa;gBAAE,KAAK,GAAG,aAAa,CAAC;iBACvD,IAAI,EAAE,CAAC,KAAK,KAAK,UAAU;gBAAE,KAAK,GAAG,UAAU,CAAC;iBAChD,IAAI,EAAE,CAAC,KAAK,KAAK,cAAc;gBAAE,KAAK,GAAG,cAAc,CAAC;iBACxD,IAAI,EAAE,CAAC,KAAK,KAAK,WAAW;gBAAE,KAAK,GAAG,WAAW,CAAC;iBAClD,IAAI,EAAE,CAAC,kBAAkB;gBAAE,KAAK,GAAG,kBAAkB,CAAC;iBACtD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,GAAG,WAAW,CAAC;iBACnD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,GAAG,eAAe,CAAC;iBACtD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS;gBAAE,KAAK,GAAG,YAAY,CAAC;iBAC5D,IAAI,SAAS;gBAAE,KAAK,GAAG,SAAS,CAAC;YACtC,sEAAsE;YACtE,qEAAqE;YACrE,2DAA2D;iBACtD,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,KAAK,KAAK,YAAY;gBAAE,KAAK,GAAG,YAAY,CAAC;iBACpE,IAAI,EAAE,CAAC,KAAK,KAAK,WAAW,IAAI,EAAE,CAAC,KAAK,KAAK,cAAc;gBAC9D,KAAK,GAAG,WAAW,CAAC;;gBACjB,KAAK,GAAG,SAAS,CAAC;YAEvB,yCAAyC;YACzC,MAAM,QAAQ,GAAuB,EAAE,CAAC;YACxC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,oMAAoM;oBAC1M,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACjC,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,KAAK,EAAE,CAAC,CAAC,KAAK;qBACf,CAAC,CAAC;iBACJ,CAAC,CAAC;YACL,CAAC;YACD,IAAI,KAAK,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,CAAW,CACrD,CAAC;gBACF,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;oBAC9C,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;oBAC1B,CAAC,CAAC,SAAS,CAAC;gBACd,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,GAAG,gBAAgB,EAAE,CAAC;oBAChE,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,iBAAiB;wBACvB,WAAW;wBACX,IAAI,EAAE,SAAS,KAAK,CAAC,EAAE,wBAAwB,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,wGAAwG;qBACtL,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,sBAAsB;oBAC5B,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBAClE,IAAI,EAAE,uOAAuO;iBAC9O,CAAC,CAAC;YACL,CAAC;YAED,4DAA4D;YAC5D,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,MAAM,UAAU,GACd,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,OAAO;gBAC3B,CAAC,CAAC,eAAe,WAAW,iBAAiB,EAAE,CAAC,YAAY,YAAY,EAAE,CAAC,OAAO,EAAE;gBACpF,CAAC,CAAC,IAAI,CAAC;YACX,QAAQ,KAAK,EAAE,CAAC;gBACd,KAAK,YAAY;oBACf,WAAW,CAAC,IAAI,CACd,6EAA6E,WAAW,4IAA4I,CACrO,CAAC;oBACF,MAAM;gBACR,KAAK,WAAW;oBACd,WAAW,CAAC,IAAI,CACd,GAAG,cAAc,CAAC,MAAM,QAAQ,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,qBAAqB,cAAc;yBAChH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;yBACnB,IAAI,CAAC,IAAI,CAAC,+CAA+C,WAAW,wDAAwD,CAChI,CAAC;oBACF,MAAM;gBACR,KAAK,SAAS;oBACZ,WAAW,CAAC,IAAI,CACd,6EAA6E,WAAW,+BAA+B,CACxH,CAAC;oBACF,MAAM;gBACR,KAAK,kBAAkB;oBACrB,WAAW,CAAC,IAAI,CACd,EAAE,CAAC,eAAe;wBAChB,CAAC,CAAC,qEAAqE,WAAW,+CAA+C,WAAW,gBAAgB,EAAE,CAAC,eAAe,CAAC,WAAW,uBAAuB,EAAE,CAAC,eAAe,CAAC,UAAU,kCAAkC;wBAChR,CAAC,CAAC,qEAAqE,WAAW,GAAG,CACxF,CAAC;oBACF,MAAM;gBACR,KAAK,eAAe;oBAClB,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;wBAC9B,WAAW,CAAC,IAAI,CACd,yCAAyC,WAAW,aAAa,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CACrF,CAAC;oBACJ,CAAC;oBACD,WAAW,CAAC,IAAI,CACd,gIAAgI,CACjI,CAAC;oBACF,MAAM;gBACR,KAAK,UAAU;oBACb,WAAW,CAAC,IAAI,CACd,SAAS,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,WAAW,8CAA8C,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,gCAAgC,UAAU,YAAY,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,uCAAuC,CACjO,CAAC;oBACF,MAAM;gBACR,KAAK,aAAa;oBAChB,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;wBAC/B,WAAW,CAAC,IAAI,CACd,yBAAyB,UAAU,YAAY,EAAE,CAAC,OAAO,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,mEAAmE,WAAW,IAAI,CAC5K,CAAC;oBACJ,CAAC;oBACD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAChC,WAAW,CAAC,IAAI,CACd,SAAS,EAAE,CAAC,OAAO,wDAAwD,WAAW,qBAAqB,CAC5G,CAAC;oBACJ,CAAC;oBACD,MAAM;gBACR,KAAK,cAAc;oBACjB,WAAW,CAAC,IAAI,CACd,SAAS,EAAE,CAAC,OAAO,gDAAgD,WAAW,8FAA8F,UAAU,CAAC,CAAC,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,qCAAqC,CAC1Q,CAAC;oBACF,MAAM;gBACR,KAAK,WAAW;oBACd,WAAW,CAAC,IAAI,CACd,mIAAmI,WAAW,8HAA8H,WAAW,GAAG,CAC3R,CAAC;oBACF,MAAM;gBACR,KAAK,YAAY;oBACf,WAAW,CAAC,IAAI,CACd,eAAe;wBACb,CAAC,CAAC,uCAAuC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,4CAA4C,WAAW,2CAA2C;wBACrK,CAAC,CAAC,oCAAoC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,YAAY,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,wCAAwC,WAAW,oCAAoC,CACpN,CAAC;oBACF,MAAM;gBACR,KAAK,WAAW;oBACd,WAAW,CAAC,IAAI,CACd,EAAE,CAAC,OAAO;wBACR,CAAC,CAAC,iCAAiC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,uDAAuD,WAAW,cAAc;wBACnJ,CAAC,CAAC,yEAAyE,WAAW,2EAA2E,CACpK,CAAC;oBACF,MAAM;gBACR,KAAK,SAAS;oBACZ,WAAW,CAAC,IAAI,CACd,wHAAwH,UAAU,CAAC,CAAC,CAAC,uCAAuC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjM,CAAC;oBACF,MAAM;YACV,CAAC;YAED,OAAO,EAAE,CAAC;gBACR,SAAS,EAAE;oBACT,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,WAAW,EAAE,EAAE,CAAC,WAAW;oBAC3B,UAAU,EAAE,EAAE,CAAC,UAAU;oBACzB,cAAc,EAAE,EAAE,CAAC,cAAc;oBACjC,iBAAiB,EAAE,EAAE,CAAC,iBAAiB;iBACxC;gBACD,KAAK;gBACL,YAAY,EAAE,EAAE,CAAC,KAAK;gBACtB,IAAI,EACF,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,OAAO;oBAC3B,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI,EAAE;oBACrF,CAAC,CAAC,IAAI;gBACV,SAAS,EAAE;oBACT,KAAK,EAAE,OAAO,CAAC,MAAM;oBACrB,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM;oBACpE,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;oBAChF,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAChC,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,KAAK,EAAE,CAAC,CAAC,KAAK;qBACf,CAAC,CAAC;iBACJ;gBACD,aAAa;gBACb,QAAQ,EAAE,EAAE,CAAC,eAAe;oBAC1B,CAAC,CAAC;wBACE,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO;wBACnC,WAAW,EAAE,EAAE,CAAC,eAAe,CAAC,WAAW;wBAC3C,UAAU,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU;wBACzC,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS;wBACvC,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;qBACrD;oBACH,CAAC,CAAC,IAAI;gBACR,KAAK,EAAE,KAAK;oBACV,CAAC,CAAC;wBACE,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,aAAa,EAAE,cAAc;wBAC7B,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;qBAC/B;oBACH,CAAC,CAAC,IAAI;gBACR,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE;gBACvC,QAAQ;gBACR,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,oCAAoC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/tools/jobs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA2L5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,QA6uDtC"}
|
package/dist/tools/jobs.js
CHANGED
|
@@ -138,6 +138,35 @@ const jobWebhookIdsSchema = z
|
|
|
138
138
|
.max(50)
|
|
139
139
|
.nullable()
|
|
140
140
|
.describe("Minicor workflow IDs to subscribe to. null = every workflow this router runs. [] = no workflow events. A list = allow-list. Combine with includeJob; subscribe to the job, some workflows, or both.");
|
|
141
|
+
const acknowledgeJobAheadParam = z
|
|
142
|
+
.boolean()
|
|
143
|
+
.optional()
|
|
144
|
+
.describe("Blueprint-linked routes are OWNED by their blueprint; prefer driving changes through the spec (resolve_blueprint_state). Set true to intentionally edit the job directly anyway: the tool proceeds and, when the route is blueprint-linked, the response carries a warning that the blueprint is now job_ahead plus the fold-back options (blueprint_import_cases or blueprint_build).");
|
|
145
|
+
/**
|
|
146
|
+
* Resolve the acknowledgeJobAhead=true response annotation. Linkage detection
|
|
147
|
+
* mirrors resolve_job_state: the workspace blueprint list, matched on the
|
|
148
|
+
* (middlewareId, routeId) pair. A failed lookup must not masquerade as
|
|
149
|
+
* "unlinked", so it degrades to a conservative note instead of silence.
|
|
150
|
+
*/
|
|
151
|
+
async function jobAheadAcknowledgement(client, workspaceId, middlewareId, routeId) {
|
|
152
|
+
try {
|
|
153
|
+
const blueprints = await client.listBlueprints(workspaceId);
|
|
154
|
+
const owning = blueprints.find((b) => b.middlewareId === middlewareId && b.routeId === routeId);
|
|
155
|
+
if (owning) {
|
|
156
|
+
return {
|
|
157
|
+
warning: `Blueprint ${owning.name} is now job_ahead / not synced. Fold changes back with blueprint_import_cases or rebuild via blueprint_build (rebuild overwrites direct edits).`,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
return {
|
|
161
|
+
note: "acknowledgeJobAhead was set, but this route is not blueprint-linked; no drift to fold back.",
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
catch (e) {
|
|
165
|
+
return {
|
|
166
|
+
note: `acknowledgeJobAhead was set, but the blueprint linkage lookup failed (${e?.message ?? e}). Treat the route as possibly blueprint-owned: if it is linked, its blueprint is now job_ahead; fold changes back with blueprint_import_cases or rebuild via blueprint_build (rebuild overwrites direct edits).`,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
}
|
|
141
170
|
export function register(deps) {
|
|
142
171
|
const { server } = deps;
|
|
143
172
|
function getClient(region) {
|
|
@@ -310,7 +339,7 @@ export function register(deps) {
|
|
|
310
339
|
}
|
|
311
340
|
});
|
|
312
341
|
// ── update_job ─────────────────────────────────────────────
|
|
313
|
-
server.tool("update_job", "Update a Job's definition (step graph), path, method, or description. variant='draft' writes the DRAFT definition (the teach/build loop's working copy — publish_job promotes it); variant='published' (default) edits the live definition directly and creates a route_version snapshot.", {
|
|
342
|
+
server.tool("update_job", "Update a Job's definition (step graph), path, method, or description. variant='draft' writes the DRAFT definition (the teach/build loop's working copy — publish_job promotes it); variant='published' (default) edits the live definition directly and creates a route_version snapshot. Blueprint-linked routes are OWNED by their blueprint: editing directly flips the blueprint to job_ahead drift, so prefer the spec (resolve_blueprint_state). For an intentional direct edit, pass acknowledgeJobAhead=true; the response then carries a job_ahead warning with the fold-back options.", {
|
|
314
343
|
workspaceId: z.number().describe("Workspace ID"),
|
|
315
344
|
middlewareId: z.string().describe("Router (middleware) ID"),
|
|
316
345
|
routeId: z.string().describe("Route ID (the job) to update"),
|
|
@@ -319,10 +348,12 @@ export function register(deps) {
|
|
|
319
348
|
description: z.string().optional(),
|
|
320
349
|
definition: jobDefinitionSchema.optional(),
|
|
321
350
|
variant: variantParam,
|
|
351
|
+
acknowledgeJobAhead: acknowledgeJobAheadParam,
|
|
322
352
|
region: regionParam,
|
|
323
|
-
}, async ({ workspaceId, middlewareId, routeId, path, method, description, definition, variant, region }) => {
|
|
353
|
+
}, async ({ workspaceId, middlewareId, routeId, path, method, description, definition, variant, acknowledgeJobAhead, region }) => {
|
|
324
354
|
const r = resolveRegion(workspaceId, region);
|
|
325
355
|
try {
|
|
356
|
+
const client = getClient(r);
|
|
326
357
|
const body = {};
|
|
327
358
|
if (path !== undefined)
|
|
328
359
|
body.path = path;
|
|
@@ -336,8 +367,11 @@ export function register(deps) {
|
|
|
336
367
|
else
|
|
337
368
|
body.definition = definition;
|
|
338
369
|
}
|
|
339
|
-
const job = await
|
|
340
|
-
|
|
370
|
+
const job = await client.updateJob(workspaceId, middlewareId, routeId, body);
|
|
371
|
+
const ack = acknowledgeJobAhead === true
|
|
372
|
+
? await jobAheadAcknowledgement(client, workspaceId, middlewareId, routeId)
|
|
373
|
+
: {};
|
|
374
|
+
return ok({ status: "updated", variant: variant ?? "published", job, ...ack });
|
|
341
375
|
}
|
|
342
376
|
catch (e) {
|
|
343
377
|
return text(`Error updating job: ${e.message}`);
|
|
@@ -784,7 +818,7 @@ export function register(deps) {
|
|
|
784
818
|
}
|
|
785
819
|
});
|
|
786
820
|
// ── resolve_job_state ──────────────────────────────────────
|
|
787
|
-
server.tool("resolve_job_state", "The 'where am I in the build loop?' call — START HERE when working a Job. One call fetches the job (draft vs published), its test cases, the latest test run, recent executions, and any active build run, then returns a compact state summary plus nextActions: the concrete next tool calls per the Minicor best-practice loop (green-gate test cases first -> build the draft -> run_tests variant=draft -> drill the failing step -> fix the workflow in dev mode -> re-run -> publish_job). Failing workflow steps are mapped to their workflowId so you can jump straight to dev_mode_load. Blueprint-linked routes come back with a `blueprint` block: those jobs are OWNED by their blueprint — edit the spec (resolve_blueprint_state) instead of update_job/add_test_case, or you'll trip job_ahead drift.", {
|
|
821
|
+
server.tool("resolve_job_state", "The 'where am I in the build loop?' call — START HERE when working a Job. One call fetches the job (draft vs published), its test cases, the latest test run, recent executions, and any active build run, then returns a compact state summary plus nextActions: the concrete next tool calls per the Minicor best-practice loop (green-gate test cases first -> build the draft -> run_tests variant=draft -> drill the failing step -> fix the workflow in dev mode -> re-run -> publish_job). Failing workflow steps are mapped to their workflowId so you can jump straight to dev_mode_load. Blueprint-linked routes come back with a `blueprint` block: those jobs are OWNED by their blueprint — edit the spec (resolve_blueprint_state) instead of update_job/add_test_case, or you'll trip job_ahead drift. Sanctioned escape hatch for intentional direct edits: pass acknowledgeJobAhead=true to update_job/add_test_case; the tool proceeds and the response carries a job_ahead warning with the fold-back options (blueprint_import_cases or blueprint_build).", {
|
|
788
822
|
workspaceId: z.number().describe("Workspace ID"),
|
|
789
823
|
middlewareId: z.string().describe("Router (middleware) ID"),
|
|
790
824
|
routeId: z.string().describe("Route ID (the job) to resolve"),
|
|
@@ -841,7 +875,7 @@ export function register(deps) {
|
|
|
841
875
|
const nextActions = [];
|
|
842
876
|
// Ownership rule: a blueprint-linked route is edited through its spec.
|
|
843
877
|
if (owningBlueprint) {
|
|
844
|
-
nextActions.push(`This route is OWNED by blueprint ${owningBlueprint.id} ('${owningBlueprint.name}', state ${owningBlueprint.state}) — don't update_job/add_test_case directly (that trips job_ahead drift). Drive changes through the spec: resolve_blueprint_state blueprintId=${owningBlueprint.id}.`);
|
|
878
|
+
nextActions.push(`This route is OWNED by blueprint ${owningBlueprint.id} ('${owningBlueprint.name}', state ${owningBlueprint.state}) — don't update_job/add_test_case directly (that trips job_ahead drift). Drive changes through the spec: resolve_blueprint_state blueprintId=${owningBlueprint.id}. Sanctioned escape hatch when a direct edit is intentional (e.g. bulk job edits): pass acknowledgeJobAhead=true to update_job/add_test_case; the blueprint goes job_ahead and the response carries fold-back guidance (blueprint_import_cases or blueprint_build).`);
|
|
845
879
|
}
|
|
846
880
|
else if (ownershipUnknown) {
|
|
847
881
|
nextActions.push(`Blueprint ownership is UNKNOWN — the workspace blueprint list failed to read (${blueprintLookupError}). Do NOT update_job/add_test_case/teach_job until ownership is known (direct edits on a blueprint-owned route trip job_ahead drift) — retry resolve_job_state.`);
|
|
@@ -920,7 +954,7 @@ export function register(deps) {
|
|
|
920
954
|
? {
|
|
921
955
|
blueprintId: owningBlueprint.id,
|
|
922
956
|
state: owningBlueprint.state,
|
|
923
|
-
hint: `Blueprint-owned route — edit via the spec (resolve_blueprint_state blueprintId=${owningBlueprint.id}), not update_job.`,
|
|
957
|
+
hint: `Blueprint-owned route — edit via the spec (resolve_blueprint_state blueprintId=${owningBlueprint.id}), not update_job. Intentional direct edits: acknowledgeJobAhead=true.`,
|
|
924
958
|
}
|
|
925
959
|
: ownershipUnknown
|
|
926
960
|
? {
|
|
@@ -1138,7 +1172,7 @@ export function register(deps) {
|
|
|
1138
1172
|
}
|
|
1139
1173
|
});
|
|
1140
1174
|
// ── add_test_case ──────────────────────────────────────────
|
|
1141
|
-
server.tool("add_test_case", "Attach a test case to a Job (route): a named input + code-block assertions `[{ name, expr }]`. Each `expr` is a TS boolean over `{ input, output, ctx, steps }` evaluated against the job execution. This is the green-gate for the build loop — define the expected behavior, then build the job to satisfy it. Scenarios are FIRST-CLASS: a scenario is one distinct path/outcome through the job (find ids via list_scenarios, create via create_scenario), and all cases in a scenario share identical assertions (the scenario's definition of its path/outcome). Pass `scenarioId` to group this sample — the service dual-writes the legacy `scenario:<slug>` tag on the case. Omit it and grouping falls back to any `scenario:<slug>` tag you pass (find-or-creates the Scenario) or to auto-grouping by execution path after test/teach runs. One input per case; add more samples to a scenario by creating more cases with the same scenarioId + assertions. Ungrouped cases are treated as one-sample scenarios.", {
|
|
1175
|
+
server.tool("add_test_case", "Attach a test case to a Job (route): a named input + code-block assertions `[{ name, expr }]`. Each `expr` is a TS boolean over `{ input, output, ctx, steps }` evaluated against the job execution. This is the green-gate for the build loop — define the expected behavior, then build the job to satisfy it. Scenarios are FIRST-CLASS: a scenario is one distinct path/outcome through the job (find ids via list_scenarios, create via create_scenario), and all cases in a scenario share identical assertions (the scenario's definition of its path/outcome). Pass `scenarioId` to group this sample — the service dual-writes the legacy `scenario:<slug>` tag on the case. Omit it and grouping falls back to any `scenario:<slug>` tag you pass (find-or-creates the Scenario) or to auto-grouping by execution path after test/teach runs. One input per case; add more samples to a scenario by creating more cases with the same scenarioId + assertions. Ungrouped cases are treated as one-sample scenarios. Blueprint-linked routes are OWNED by their blueprint: adding cases directly flips the blueprint to job_ahead drift, so prefer the spec's exampleCases (resolve_blueprint_state). For an intentional direct add, pass acknowledgeJobAhead=true; the response then carries a job_ahead warning with the fold-back options.", {
|
|
1142
1176
|
workspaceId: z.number().describe("Workspace ID"),
|
|
1143
1177
|
middlewareId: z.string().describe("Router (middleware) ID"),
|
|
1144
1178
|
routeId: z.string().describe("Route ID (the job) the case belongs to"),
|
|
@@ -1159,11 +1193,13 @@ export function register(deps) {
|
|
|
1159
1193
|
.optional()
|
|
1160
1194
|
.describe("Freeform tags. Compatibility layer: a `scenario:<slug>` tag finds-or-creates the Scenario when no scenarioId is passed — prefer scenarioId."),
|
|
1161
1195
|
enabled: z.boolean().optional().describe("Default true"),
|
|
1196
|
+
acknowledgeJobAhead: acknowledgeJobAheadParam,
|
|
1162
1197
|
region: regionParam,
|
|
1163
|
-
}, async ({ workspaceId, middlewareId, routeId, name, description, input, assertions, scenarioId, tags, enabled, region }) => {
|
|
1198
|
+
}, async ({ workspaceId, middlewareId, routeId, name, description, input, assertions, scenarioId, tags, enabled, acknowledgeJobAhead, region }) => {
|
|
1164
1199
|
const r = resolveRegion(workspaceId, region);
|
|
1165
1200
|
try {
|
|
1166
|
-
const
|
|
1201
|
+
const client = getClient(r);
|
|
1202
|
+
const testCase = await client.addTestCase(workspaceId, middlewareId, routeId, {
|
|
1167
1203
|
name,
|
|
1168
1204
|
description,
|
|
1169
1205
|
input,
|
|
@@ -1172,7 +1208,10 @@ export function register(deps) {
|
|
|
1172
1208
|
tags,
|
|
1173
1209
|
enabled,
|
|
1174
1210
|
});
|
|
1175
|
-
|
|
1211
|
+
const ack = acknowledgeJobAhead === true
|
|
1212
|
+
? await jobAheadAcknowledgement(client, workspaceId, middlewareId, routeId)
|
|
1213
|
+
: {};
|
|
1214
|
+
return ok({ status: "created", testCase, ...ack });
|
|
1176
1215
|
}
|
|
1177
1216
|
catch (e) {
|
|
1178
1217
|
return text(`Error adding test case: ${e.message}`);
|