@metamesh/cli 0.17.0 → 0.18.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/CHANGELOG.md +160 -0
- package/README.md +75 -52
- package/dist/authoring/artifacts.d.ts +2 -2
- package/dist/authoring/artifacts.d.ts.map +1 -1
- package/dist/authoring/artifacts.js +50 -32
- package/dist/authoring/artifacts.js.map +1 -1
- package/dist/authoring/check.d.ts.map +1 -1
- package/dist/authoring/check.js +9 -3
- package/dist/authoring/check.js.map +1 -1
- package/dist/authoring/documentation-manifest.d.ts +3 -0
- package/dist/authoring/documentation-manifest.d.ts.map +1 -0
- package/dist/authoring/documentation-manifest.js +23 -0
- package/dist/authoring/documentation-manifest.js.map +1 -0
- package/dist/authoring/documentation.d.ts +20 -0
- package/dist/authoring/documentation.d.ts.map +1 -0
- package/dist/authoring/documentation.js +94 -0
- package/dist/authoring/documentation.js.map +1 -0
- package/dist/authoring/environment.d.ts +1 -19
- package/dist/authoring/environment.d.ts.map +1 -1
- package/dist/authoring/environment.js +2 -110
- package/dist/authoring/environment.js.map +1 -1
- package/dist/authoring/{worker.d.ts → execution-process.d.ts} +2 -2
- package/dist/authoring/execution-process.d.ts.map +1 -0
- package/dist/authoring/{worker.js → execution-process.js} +17 -19
- package/dist/authoring/execution-process.js.map +1 -0
- package/dist/authoring/{capture/render-client.js → render/client-bundle.js} +196 -196
- package/dist/authoring/{capture/render-client.js.map → render/client-bundle.js.map} +4 -4
- package/dist/authoring/{render-client.d.ts → render/client.d.ts} +2 -2
- package/dist/authoring/render/client.d.ts.map +1 -0
- package/dist/authoring/{render-client.js → render/client.js} +2 -2
- package/dist/authoring/render/client.js.map +1 -0
- package/dist/authoring/{render.d.ts → render/render-capture.d.ts} +2 -2
- package/dist/authoring/render/render-capture.d.ts.map +1 -0
- package/dist/authoring/{render.js → render/render-capture.js} +4 -4
- package/dist/authoring/render/render-capture.js.map +1 -0
- package/dist/authoring/{render-scene.d.ts → render/scene.d.ts} +2 -2
- package/dist/authoring/render/scene.d.ts.map +1 -0
- package/dist/authoring/{render-scene.js → render/scene.js} +6 -10
- package/dist/authoring/render/scene.js.map +1 -0
- package/dist/authoring/{render-types.d.ts → render/types.d.ts} +3 -3
- package/dist/authoring/render/types.d.ts.map +1 -0
- package/dist/authoring/render/types.js +2 -0
- package/dist/authoring/render/types.js.map +1 -0
- package/dist/authoring/run.d.ts.map +1 -1
- package/dist/authoring/run.js +7 -3
- package/dist/authoring/run.js.map +1 -1
- package/dist/authoring/types.d.ts +20 -14
- package/dist/authoring/types.d.ts.map +1 -1
- package/dist/authoring/types.js.map +1 -1
- package/dist/authoring.d.ts +5 -4
- package/dist/authoring.d.ts.map +1 -1
- package/dist/authoring.js +3 -2
- package/dist/authoring.js.map +1 -1
- package/dist/docs/guides/agent-authoring.md +71 -51
- package/dist/docs/guides/package.md +75 -52
- package/dist/docs/manifest.json +1 -1
- package/dist/docs/reference/authoring/AUTHORING_PROTOCOL_VERSION.md +1 -1
- package/dist/docs/reference/authoring/AuthoringDiagnostic.md +1 -1
- package/dist/docs/reference/authoring/AuthoringEnvironment.md +1 -1
- package/dist/docs/reference/authoring/AuthoringError.md +1 -1
- package/dist/docs/reference/authoring/AuthoringFailure-type.md +1 -1
- package/dist/docs/reference/authoring/AuthoringKind.md +1 -1
- package/dist/docs/reference/authoring/AuthoringPhase.md +1 -1
- package/dist/docs/reference/authoring/CapturedBuffer.md +1 -1
- package/dist/docs/reference/authoring/CapturedGeometry.md +1 -1
- package/dist/docs/reference/authoring/CapturedPart.md +4 -6
- package/dist/docs/reference/authoring/CapturedResource.md +2 -2
- package/dist/docs/reference/authoring/CapturedRun.md +1 -1
- package/dist/docs/reference/authoring/CapturedRunManifest.md +3 -3
- package/dist/docs/reference/authoring/CheckOptions.md +1 -1
- package/dist/docs/reference/authoring/CheckSuccess.md +1 -1
- package/dist/docs/reference/authoring/DocumentationEntry.md +1 -1
- package/dist/docs/reference/authoring/DocumentationManifest.md +1 -1
- package/dist/docs/reference/authoring/DocumentationSearchResult.md +1 -1
- package/dist/docs/reference/authoring/InstalledAuthoringPackage.md +1 -1
- package/dist/docs/reference/authoring/RenderCamera.md +1 -1
- package/dist/docs/reference/authoring/RenderFormat.md +1 -1
- package/dist/docs/reference/authoring/RenderOptions.md +1 -1
- package/dist/docs/reference/authoring/RenderResult.md +1 -1
- package/dist/docs/reference/authoring/RenderView.md +1 -1
- package/dist/docs/reference/authoring/RenderedImage.md +1 -1
- package/dist/docs/reference/authoring/RunOptions.md +13 -5
- package/dist/docs/reference/authoring/RunSuccess.md +1 -1
- package/dist/docs/reference/authoring/authoringFailure-value.md +1 -1
- package/dist/docs/reference/authoring/checkAuthoringSource.md +1 -1
- package/dist/docs/reference/authoring/discoverAuthoringEnvironment.md +1 -1
- package/dist/docs/reference/authoring/inspectCapturedRun.md +1 -1
- package/dist/docs/reference/authoring/installAuthoringBrowser.md +1 -1
- package/dist/docs/reference/authoring/readCapturedRun.md +1 -1
- package/dist/docs/reference/authoring/renderCapturedRun.md +1 -1
- package/dist/docs/reference/authoring/runAuthoringSource.md +1 -1
- package/dist/docs/reference/authoring/searchAuthoringDocumentation.md +1 -1
- package/dist/docs/reference/authoring/showAuthoringDocumentation.md +1 -1
- package/dist/metamesh.js +22 -10
- package/dist/metamesh.js.map +1 -1
- package/package.json +9 -6
- package/dist/authoring/render-client.d.ts.map +0 -1
- package/dist/authoring/render-client.js.map +0 -1
- package/dist/authoring/render-scene.d.ts.map +0 -1
- package/dist/authoring/render-scene.js.map +0 -1
- package/dist/authoring/render-types.d.ts.map +0 -1
- package/dist/authoring/render-types.js +0 -2
- package/dist/authoring/render-types.js.map +0 -1
- package/dist/authoring/render.d.ts.map +0 -1
- package/dist/authoring/render.js.map +0 -1
- package/dist/authoring/worker.d.ts.map +0 -1
- package/dist/authoring/worker.js.map +0 -1
- /package/dist/authoring/{capture/render-client.js.LEGAL.txt → render/client-bundle.js.LEGAL.txt} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,165 @@
|
|
|
1
1
|
# @metamesh/cli
|
|
2
2
|
|
|
3
|
+
## 0.18.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 2eea694: Consolidate model authoring, execution, and testing around fluent shapes and durable immutable
|
|
8
|
+
results. Upgrade all four packages together; these Preview API changes have no compatibility
|
|
9
|
+
aliases. Rebuild compiled Generators for module format 5 and Modeling runtime major 11. Older
|
|
10
|
+
module formats and incompatible runtime versions are rejected before execution.
|
|
11
|
+
|
|
12
|
+
### Modeling imports and operations
|
|
13
|
+
|
|
14
|
+
| Previous API | 0.18 API |
|
|
15
|
+
| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
|
|
16
|
+
| `body.subtract([cutter])` for a single operand | `body.subtract(cutter)`; fluent `union`, `intersect`, and `subtract` accept one shape or a readonly array |
|
|
17
|
+
| `compose(shapes)` | `union(shapes)` |
|
|
18
|
+
| Free shape inspection, emptiness, component, and anchor queries | `shape.inspect()`, `shape.isEmpty()`, `shape.components()`, and `shape.anchor(name)` |
|
|
19
|
+
| Free Solid distance/segment queries and splitting functions | `solid.distance(other)`, `solid.castSegment(...)`, `solid.split(cutter)`, and `solid.splitByPlane(plane)` |
|
|
20
|
+
| `solid.toTriangleMesh()` | `solid.toMesh()` |
|
|
21
|
+
| Named `mesh` import from `/geometry`, or standalone triangle-mesh functions | `import * as mesh from "@metamesh/modeling/geometry/mesh"` |
|
|
22
|
+
| Standalone `immutableMesh(...)` | `mesh.immutable(...)` |
|
|
23
|
+
| `helicalThreadRidgeMesh`, `helicalThreadSolidMesh`, and `preflightHelicalThreadSolidMesh` | `mesh.threadRidge`, `mesh.threadSolid`, and `mesh.preflightThreadSolid` |
|
|
24
|
+
| `HelicalThreadRidgeMeshOptions`, `HelicalThreadSolidMeshOptions`, and `HelicalThreadSolidMeshPreflight` | `ThreadRidgeOptions`, `ThreadSolidOptions`, and `ThreadSolidPreflight`, exported from the mesh module |
|
|
25
|
+
| Mesh `connectedComponentCount` | `shellCount`; native inspection `componentCount` still counts material components |
|
|
26
|
+
| Inspection extrema on the inspection result | Immutable `inspection.bounds.min` and `inspection.bounds.max` |
|
|
27
|
+
| `starContour(outerRadius, points, innerRadius, limits)` | `starContour({ outerRadius, innerRadius, points, limits })` |
|
|
28
|
+
|
|
29
|
+
Free `union(shapes)` and `intersect(shapes)` remain for collections of peers and reject empty
|
|
30
|
+
collections. Fluent Boolean methods with an empty array return the receiver.
|
|
31
|
+
|
|
32
|
+
Use `section.extrude(options)` in fluent modeling, `extrude(profile, options)` for generic
|
|
33
|
+
`Section | CorrespondingProfile` inputs, and `mesh.extrude(contour, options)` for pure triangle
|
|
34
|
+
buffers. The same fluent/generic distinction applies to revolution and sweeping. Pure extrusion
|
|
35
|
+
uses `ExtrudeMeshOptions` and rejects `ends`; use Section extrusion for native end treatments.
|
|
36
|
+
Construction, transforms, and splitting remain deferred recipes; observations and `toMesh()`
|
|
37
|
+
require active model execution.
|
|
38
|
+
|
|
39
|
+
Point-loop and arbitrary Section lofts default to direct correspondence when the method is
|
|
40
|
+
omitted; known primitive landmarks remain preserved. Dimension inputs accept fluent vectors.
|
|
41
|
+
Tube sizing accepts complete inner/outer radius or diameter pairs. Both star factories require
|
|
42
|
+
an explicit inner radius and support degree rotation; use `innerRadius: outerRadius / 2` to retain
|
|
43
|
+
the contour helper's former default.
|
|
44
|
+
|
|
45
|
+
Rod and internal-cutter `bevelBottom`, `bevelTop`, and `bevelSize` become `bevel`. The shared
|
|
46
|
+
`Bevel` contract accepts a nonnegative size, `"auto"`, or a readonly `[bottom, top]` pair; zero
|
|
47
|
+
disables an end and omission preserves factory defaults. Complete-thread mesh builders use the
|
|
48
|
+
same contract, with thread termination under `ends`. Nuts replace bevel selection, `chamferSize`,
|
|
49
|
+
and `flushBuildPlateBottom` with independent `innerBevel` and `outerBevel`. For a flat outside
|
|
50
|
+
bottom that retains its inner opening bevel, use `outerBevel: [0, "auto"]`. Nut preflight exposes
|
|
51
|
+
resolved inner/outer pairs and checks face walls pairwise; each end's reservation and automatic
|
|
52
|
+
sizing are resolved independently, including internal-cutter axial extension.
|
|
53
|
+
|
|
54
|
+
Primitive contours and their points are immutable and can be explicit `computed` dependencies.
|
|
55
|
+
Copy the outer array and any points before editing. Geometry errors are available from the
|
|
56
|
+
Modeling root; operation option/result types are exported beside their owning operations.
|
|
57
|
+
Topology analysis with `includeTopology: true`, finalized parts, and local geometry resources
|
|
58
|
+
include required `shellCount` and `edgeCount`. Bounds construction options describe inputs only;
|
|
59
|
+
existing fluent bounds remain accepted.
|
|
60
|
+
|
|
61
|
+
### Part placement and result ownership
|
|
62
|
+
|
|
63
|
+
Replace `part(id, { geometry, position, rotation })` with
|
|
64
|
+
`part(id, { geometry, transform })`. The optional transform accepts a fluent `transform3()` value,
|
|
65
|
+
a row-major 16-number matrix, or a computed reader; omission means identity. Pattern and
|
|
66
|
+
attachment matrices pass directly to `part()`. Only rigid placement is supported: scale, shear,
|
|
67
|
+
reflection, perspective, and non-finite values are rejected. Geometry-only and geometry-or-options
|
|
68
|
+
union inputs remain accepted without casts.
|
|
69
|
+
|
|
70
|
+
Use `PartDeclaration` for authored parts. Replace `ModelSnapshot` / `FinalizedModel` with
|
|
71
|
+
`ModelResult`, and `SnapshotPart` / `FinalizedPart` with `ModelPart`. `engine.run()`, `session.run()`,
|
|
72
|
+
and Testkit's `runModel()` return durable immutable results. Dispose sessions and runners to release their
|
|
73
|
+
caches; completed results remain valid and need no disposal. `model.part(id)` returns a required
|
|
74
|
+
semantic part or throws with available IDs; `model.parts` preserves output order.
|
|
75
|
+
|
|
76
|
+
Finalized buffers expose stable, iterable `ImmutableBuffer` values. Use `.copy()` for mutable
|
|
77
|
+
storage. A `ModelPart`'s top-level positions and indices are already in world space; apply its
|
|
78
|
+
immutable `transform` only to the reusable local buffers under `geometry`. Worker deliveries also
|
|
79
|
+
nest local resources under `geometry`. Host integrations use `ModelDeliveryEncoder`,
|
|
80
|
+
`PartDeliveryDecoder`, and `toWorldMeshes` for owned transfer and manufacturing output.
|
|
81
|
+
Replace `engine.export3mf(...)` with standalone `export3mf(parts, options)` from `/engine`, which
|
|
82
|
+
accepts completed meshes with explicit resource limits, independently of engine initialization.
|
|
83
|
+
|
|
84
|
+
Statistics rename `volumeMm3` → `signedVolume`, `finalizationMs` → `finalizeMs`, and
|
|
85
|
+
`generationMs` → `generateMs`; `buildMs` measures declarations.
|
|
86
|
+
`ModelResult.stats.byteCount` means bytes occupied by finalized world-space position and index buffers,
|
|
87
|
+
counting shared buffers once. Worker statistics preserve engine `generateMs`; host elapsed time
|
|
88
|
+
is `timings.totalMs`, with `paramsMs` for parameter work. Other host timing stages are optional:
|
|
89
|
+
an omitted stage is unmeasured.
|
|
90
|
+
|
|
91
|
+
Model parameter roots must be object maps. Captured parameters and computed results expose
|
|
92
|
+
deeply readonly `ImmutableValue<T>` views; supported mutable caller input is still accepted and
|
|
93
|
+
recaptured on every revision, including mutable children inside frozen objects. Deeply immutable
|
|
94
|
+
data retains identity reuse. Assertions and warnings accept bounded immutable nested `path`
|
|
95
|
+
metadata. Replace `validateModel` with `checkModel` and session/runner `.validate()` with `.check()`.
|
|
96
|
+
These check declarations and reached assertions without finalizing geometry; unexpected execution
|
|
97
|
+
failures still throw.
|
|
98
|
+
|
|
99
|
+
### Generator SDK and Testkit
|
|
100
|
+
|
|
101
|
+
| Previous API | 0.18 API |
|
|
102
|
+
| -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
|
103
|
+
| Nested compiled Generator module | Flat format-5 model program; bind an existing program with `defineGeneratorModule({ definition, program })` |
|
|
104
|
+
| `isGeneratorModule(value)` | `parseGeneratorModule(value, definition)` |
|
|
105
|
+
| `executeGenerator({ ..., parsedParameters })` | `executeGenerator({ ..., parameters })`; current-definition validation always runs |
|
|
106
|
+
| Callback-scoped `withModel`, `ModelTestOptions`, or `runner.withModel` | `await runModel(programOrCallback, ...)` for one-off results; explicit sessions or Generator runners for repeated edits |
|
|
107
|
+
| Generator test `runner.execute(...)` | `runner.run(...)`, returning `GeneratorTestResult` |
|
|
108
|
+
| `expectSerializableDefinition` | `assertValidDefinition` |
|
|
109
|
+
| `expectValidDefaults`, `expectValidPresets`, and `expectValidParts` | `assertValidDefaults`, `assertValidPresets`, and `assertValidParts` |
|
|
110
|
+
| `expectMeshMeasurements` | `assertMeshMeasurements` |
|
|
111
|
+
| `canonicalizeParameters(definition, parameters)` from `/parameters` | `canonicalizeParameters(parameters)` from `/runtime` |
|
|
112
|
+
| `GeneratedPartsDecoder`, `parseGeneratedParts`, and `GeneratedPartsLimits` | `PartDeliveryDecoder`, `parseModelParts`, and `PartDeliveryLimits` |
|
|
113
|
+
| `GeneratedPart` and `GeneratedModel` | `ModelPartData` and `ModelData` |
|
|
114
|
+
| `GeneratedPartDelivery` and `GeneratedModelDelivery` | `PartDelivery` and `ModelDelivery` |
|
|
115
|
+
|
|
116
|
+
Testkit `runModel` accepts existing `ModelProgram` values and synchronous inline callbacks;
|
|
117
|
+
typed callbacks use `runModel<Parameters, Services>`. Its definition-bound Generator overload
|
|
118
|
+
validates inputs and prepares services. The SDK Modeling adapter adds definition-inferred
|
|
119
|
+
`GeneratorModel` and `parseGeneratorModel`. Ordinary model tests preserve definition-inferred
|
|
120
|
+
input types. Reusable Generator runners accept physical generation policy plus `cache` and
|
|
121
|
+
`verifyCache` for edit sequences; dispose the runner after use.
|
|
122
|
+
|
|
123
|
+
Generator execution and ordinary tests strictly require complete canonical parameter maps.
|
|
124
|
+
Use the parameter codec for strict input and `normalizeParameters` for forgiving recovery;
|
|
125
|
+
replace `prepareParameters`, `validateParameters`, and `PreparedParameters` with
|
|
126
|
+
`createParamCodec(definition).parse(...)` or `.safeParse(...)`. Schema adapters remain private.
|
|
127
|
+
Codec failures provide structured issues without a substitute parameter map. For deliberate
|
|
128
|
+
malformed-input assertion probes, replace `runner.validate(parameters, { normalize: false })`
|
|
129
|
+
with `runner.check(parameters, { validateInput: false })`.
|
|
130
|
+
Defaults are selected only by omission or `undefined` where supported; a `null` parameter map is
|
|
131
|
+
rejected. Parameterless model calls can omit the empty map. Definition and preset helpers catch
|
|
132
|
+
nested key typos and validate immediately while retaining literal inference.
|
|
133
|
+
|
|
134
|
+
`assertValidParts` checks the supplied world-space buffers, closed topology, and exact agreement
|
|
135
|
+
with local geometry under `transform`; it no longer hides corrupted output by reconstructing it.
|
|
136
|
+
Always await `assertValidParts(parts, engine)` (or omit the engine): failures reject, and supplying
|
|
137
|
+
an engine changes resource reuse only.
|
|
138
|
+
`assertValidDefinition` also checks the canonical JSON round trip. New `assertEqualBuffer` and
|
|
139
|
+
`assertEqualMesh` compare exact ordered contents without copying; equivalent shapes with different
|
|
140
|
+
triangulations can differ. `ContentMismatchError` identifies the first differing element or
|
|
141
|
+
length, while malformed input and reader failures retain their errors. Optional `contentMatchers`
|
|
142
|
+
support `expect.extend`, including negation, without a test-framework dependency.
|
|
143
|
+
|
|
144
|
+
### CLI and package requirements
|
|
145
|
+
|
|
146
|
+
Rename the type-only CLI command `metamesh check` to `metamesh typecheck`; no alias is retained.
|
|
147
|
+
Node authoring APIs and Modeling/Testkit declaration-check methods retain their names. Generator
|
|
148
|
+
runs use `overrides` / `--overrides`, merged with defaults before strict parsing; standalone models
|
|
149
|
+
use `params` / `--params`. Supplying the other entry kind's input option is rejected.
|
|
150
|
+
|
|
151
|
+
Captured runs use format 2 with transform-only placement. The bundled capture renderer resolves
|
|
152
|
+
from the installed CLI package so published installations can render captures.
|
|
153
|
+
Public packages require Node.js 24 or newer, ESM imports, and TypeScript 6.0 or newer with strict
|
|
154
|
+
checking for TypeScript consumers.
|
|
155
|
+
|
|
156
|
+
### Patch Changes
|
|
157
|
+
|
|
158
|
+
- Updated dependencies [2eea694]
|
|
159
|
+
- @metamesh/modeling@0.18.0
|
|
160
|
+
- @metamesh/generator-sdk@0.18.0
|
|
161
|
+
- @metamesh/testkit@0.18.0
|
|
162
|
+
|
|
3
163
|
## 0.17.0
|
|
4
164
|
|
|
5
165
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -1,71 +1,91 @@
|
|
|
1
1
|
# `@metamesh/cli`
|
|
2
2
|
|
|
3
|
-
Check,
|
|
4
|
-
|
|
3
|
+
Check, run, inspect, and render local MetaMesh models. The `metamesh` executable brings
|
|
4
|
+
version-matched documentation, TypeScript checks, and captured geometry into one authoring workflow.
|
|
5
|
+
The same tools are available through a Node API.
|
|
5
6
|
|
|
6
7
|
> **Preview:** `0.x` minor releases may break compatibility. Patches remain compatible within the
|
|
7
8
|
> same minor line.
|
|
8
9
|
|
|
9
10
|
## Installation
|
|
10
11
|
|
|
11
|
-
Install
|
|
12
|
+
Install matching Modeling and CLI releases in your authoring project:
|
|
12
13
|
|
|
13
14
|
```bash
|
|
14
15
|
pnpm add @metamesh/modeling
|
|
15
16
|
pnpm add -D @metamesh/cli
|
|
16
17
|
```
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
The executable and Node API require Node.js 24 or newer. The API publishes ES modules only.
|
|
20
|
+
TypeScript source and API consumers need TypeScript 6.0 or newer with `strict` checking and
|
|
21
|
+
`NodeNext` or `Bundler` module resolution. The CLI includes its source-checking compiler.
|
|
22
|
+
|
|
23
|
+
Add Generator SDK for Generator source and Testkit when importing testing helpers directly.
|
|
24
|
+
Standalone model authoring needs neither as a direct dependency. Chromium setup is separate;
|
|
25
|
+
checking, generation, and inspection work without a browser.
|
|
23
26
|
|
|
24
27
|
## Local workflow
|
|
25
28
|
|
|
29
|
+
Save a model entry as `model.ts`, default-exporting a `ModelProgram` from Modeling. Then discover
|
|
30
|
+
the installed environment, look up the API, and build a captured result:
|
|
31
|
+
|
|
26
32
|
```bash
|
|
27
33
|
pnpm exec metamesh environment --json
|
|
34
|
+
pnpm exec metamesh docs search "sweep"
|
|
28
35
|
pnpm exec metamesh docs show modeling/guide/concepts
|
|
29
|
-
pnpm exec metamesh
|
|
30
|
-
pnpm exec metamesh
|
|
31
|
-
pnpm exec metamesh check model.ts --kind model
|
|
32
|
-
pnpm exec metamesh run model.ts --kind model
|
|
36
|
+
pnpm exec metamesh typecheck model.ts --kind model
|
|
37
|
+
pnpm exec metamesh run model.ts --kind model --export-3mf
|
|
33
38
|
pnpm exec metamesh inspect RUN_DIRECTORY
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Replace `RUN_DIRECTORY` with the path reported by `run`. Commands resolve packages and paths
|
|
42
|
+
from the current project; use `--project PATH` to select another. `environment` reports the
|
|
43
|
+
supported authoring protocol, package versions, and local documentation. Version mismatches fail
|
|
44
|
+
before generation.
|
|
45
|
+
|
|
46
|
+
For Generators, use `--kind generator` with a named `definition` export and a default Generator
|
|
47
|
+
module. Pass `--overrides parameters.json` for input values. Generator overrides merge with defaults
|
|
48
|
+
and undergo strict validation; standalone model parameters pass through directly. Studio's virtual
|
|
49
|
+
`@metamesh/project` import is unavailable in local entries.
|
|
50
|
+
|
|
51
|
+
## Authoring tools
|
|
52
|
+
|
|
53
|
+
| Command | Purpose |
|
|
54
|
+
| --------------------------- | -------------------------------------------------------------------------------------- |
|
|
55
|
+
| `environment` | Discover project-local packages, capabilities, and documentation. |
|
|
56
|
+
| `docs search` / `docs show` | Find and read exact-version guides and API references offline. |
|
|
57
|
+
| `typecheck` | Check TypeScript and entry-point export types without executing the model. |
|
|
58
|
+
| `run` | Check and execute source, capture geometry and diagnostics, and optionally export 3MF. |
|
|
59
|
+
| `inspect` | Read captured parts, bounds, measurements, and diagnostics. |
|
|
60
|
+
| `render` | Create standard views from a capture. |
|
|
61
|
+
| `setup` | Print skill installation and project-instruction guidance. |
|
|
62
|
+
|
|
63
|
+
`run` uses a disposable child process with a 30-second default deadline and saves attempts under
|
|
64
|
+
`.metamesh/runs`. Captures retain source identity, effective parameters, and hashed geometry.
|
|
65
|
+
`inspect` and `render` validate those saved buffers without rerunning the source.
|
|
66
|
+
|
|
67
|
+
Source executes with your account's permissions; this is trusted local execution, not a security
|
|
68
|
+
sandbox. Use `--json` for structured stdout; bounded author logs go to stderr. Exit codes are
|
|
69
|
+
0 for success, 1 for source or generation failure, and 2 for invocation, environment, artifact,
|
|
70
|
+
or tooling failure. Each command's `--help` lists its options and limits.
|
|
71
|
+
|
|
72
|
+
Use `--params values.json` for a standalone model's complete input map. For a Generator,
|
|
73
|
+
use `--overrides values.json`; those values merge with definition defaults before strict
|
|
74
|
+
validation. The Node API uses the matching `params` and `overrides` fields, discriminated by `kind`.
|
|
75
|
+
|
|
76
|
+
## Render a capture
|
|
77
|
+
|
|
78
|
+
Install the pinned Chromium explicitly, then choose views of the captured model:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
34
81
|
pnpm exec metamesh browser install
|
|
35
82
|
pnpm exec metamesh render RUN_DIRECTORY --views isometric,front,top,right
|
|
36
83
|
```
|
|
37
84
|
|
|
38
|
-
|
|
39
|
-
and
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
`RUN_DIRECTORY` comes from a successful run.
|
|
43
|
-
|
|
44
|
-
The concepts guide starts with a compact construction map. Search matches distinct words in
|
|
45
|
-
titles, guide headings, keywords, and summaries. Exact titles, topic IDs, and import paths take
|
|
46
|
-
priority; equally complete intent matches favor guides over reference entries.
|
|
47
|
-
|
|
48
|
-
`run` includes semantic TypeScript checking and executes in a disposable child process with a
|
|
49
|
-
30-second default deadline. It saves each attempt beneath `.metamesh/runs` with source identity,
|
|
50
|
-
parameters, diagnostics, measurements, and hashed geometry buffers. `inspect` and `render` validate
|
|
51
|
-
those captured buffers without importing the original source. Use `--json` for one structured stdout
|
|
52
|
-
result; bounded author logs go to stderr. Exit codes are 0 for success, 1 for source or generation
|
|
53
|
-
failure, and 2 for invocation, environment, artifact, or tooling failure. This executes trusted local
|
|
54
|
-
code and is not a security sandbox.
|
|
55
|
-
|
|
56
|
-
For Generators, use `--kind generator`. Entries named-export `definition` and default-export the
|
|
57
|
-
Generator module envelope. Defaults merge with `--params parameters.json`, then strict validation
|
|
58
|
-
rejects unknown or invalid overrides. Standalone model entries default-export a `ModelProgram` and
|
|
59
|
-
receive no injected services. Both support normal local imports and installed dependencies; Studio's
|
|
60
|
-
virtual `@metamesh/project` module is unavailable.
|
|
61
|
-
|
|
62
|
-
Use `--help` on each command for parameters, fonts, resource limits, export, and image options.
|
|
63
|
-
`metamesh setup` prints installation guidance for `metamesh-developer` from the canonical
|
|
64
|
-
`metamesh-studio/metamesh-skills` repository and a project-instruction suggestion without modifying
|
|
65
|
-
files. Its printed GitHub installation command becomes usable when that repository is published;
|
|
66
|
-
the skill supplies the workflow, while installed package documentation supplies exact API facts.
|
|
67
|
-
|
|
68
|
-
## Programmatic API and documentation
|
|
85
|
+
Rendering supports PNG and lossless WebP, transparent backgrounds, and standard orthographic views.
|
|
86
|
+
Checking and generation never download a browser.
|
|
87
|
+
|
|
88
|
+
## Node API and agent workflows
|
|
69
89
|
|
|
70
90
|
```ts
|
|
71
91
|
import { inspectCapturedRun, runAuthoringSource } from "@metamesh/cli/authoring";
|
|
@@ -76,16 +96,19 @@ if (result.success) {
|
|
|
76
96
|
}
|
|
77
97
|
```
|
|
78
98
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
99
|
+
`@metamesh/cli/authoring` also exposes environment discovery, documentation lookup, source checking,
|
|
100
|
+
and rendering. `metamesh setup` prints guidance without changing project files. The portable
|
|
101
|
+
`metamesh-developer` skill supplies the workflow; installed package documentation supplies API facts.
|
|
102
|
+
Install a reviewed skill snapshot from the canonical `metamesh-studio/metamesh-skills` repository
|
|
103
|
+
or its local checkout when public installation is unavailable.
|
|
104
|
+
|
|
105
|
+
## Documentation
|
|
85
106
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
107
|
+
Resolve `@metamesh/cli/docs/manifest.json` for exact-version Markdown guidance and API references,
|
|
108
|
+
or run `pnpm exec metamesh docs show cli/guide/agent-authoring`. The
|
|
109
|
+
[authoring guide](https://github.com/JasonKoolman/metamesh/blob/main/apps/web/content/docs/develop/agent-authoring.mdx)
|
|
110
|
+
covers entry contracts, parameters, fonts, captures, and rendering. See
|
|
111
|
+
[Contributing](https://github.com/JasonKoolman/metamesh/blob/main/CONTRIBUTING.md) for package development.
|
|
89
112
|
|
|
90
113
|
## License
|
|
91
114
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ModelResult } from "@metamesh/modeling/engine";
|
|
2
2
|
import type { CapturedPart, CapturedRun, CapturedRunManifest } from "./types.js";
|
|
3
3
|
export declare function sha256(value: Uint8Array | string): string;
|
|
4
4
|
export declare function writeAtomicJson(file: string, value: unknown): Promise<void>;
|
|
5
|
-
export declare function captureSnapshot(directory: string, snapshot:
|
|
5
|
+
export declare function captureSnapshot(directory: string, snapshot: ModelResult, metadata: Omit<CapturedRunManifest, "resources" | "parts" | "bounds" | "stats" | "diagnostics" | "dependencies" | "export3mf">, export3mf?: ArrayBuffer): Promise<CapturedRunManifest>;
|
|
6
6
|
/** Reads only immutable captured files. It never imports or executes original author source. */
|
|
7
7
|
export declare function readCapturedRun(directory: string): Promise<CapturedRun>;
|
|
8
8
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../src/authoring/artifacts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../src/authoring/artifacts.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AAYnC,OAAO,KAAK,EAGV,YAAY,EAEZ,WAAW,EACX,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjF;AAED,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,IAAI,CACZ,mBAAmB,EACnB,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,GAAG,cAAc,GAAG,WAAW,CAC1F,EACD,SAAS,CAAC,EAAE,WAAW,GACtB,OAAO,CAAC,mBAAmB,CAAC,CAyD9B;AA0QD,gGAAgG;AAChG,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAgF7E;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG;IAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAWpF"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { mkdir, readFile, rename, stat, writeFile } from "node:fs/promises";
|
|
3
3
|
import { join, resolve } from "node:path";
|
|
4
|
-
import { defaultModelingLimits } from "@metamesh/modeling/engine";
|
|
5
|
-
import {
|
|
4
|
+
import { defaultModelingLimits, } from "@metamesh/modeling/engine";
|
|
5
|
+
import { IDENTITY_TRANSFORM3, validateRigidTransform3, } from "@metamesh/modeling/geometry";
|
|
6
|
+
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
6
7
|
import { authoringPackageNames, confinedFile } from "./environment.js";
|
|
7
8
|
import { AuthoringError, isRecord } from "./errors.js";
|
|
8
9
|
export function sha256(value) {
|
|
@@ -18,32 +19,36 @@ export async function captureSnapshot(directory, snapshot, metadata, export3mf)
|
|
|
18
19
|
const resources = [];
|
|
19
20
|
const parts = [];
|
|
20
21
|
const seen = new Map();
|
|
22
|
+
const capturedResources = new Map();
|
|
21
23
|
const store = async (path, bytes) => {
|
|
22
24
|
await writeFile(join(directory, path), bytes, { flag: "wx" });
|
|
23
25
|
return { path, bytes: bytes.byteLength, sha256: sha256(bytes) };
|
|
24
26
|
};
|
|
25
27
|
for (const part of snapshot.parts) {
|
|
26
|
-
|
|
27
|
-
const indices = part.geometry.indices;
|
|
28
|
-
const positionBytes = new Uint8Array(positions.buffer, positions.byteOffset, positions.byteLength);
|
|
29
|
-
const indexBytes = new Uint8Array(indices.buffer, indices.byteOffset, indices.byteLength);
|
|
30
|
-
const key = `${sha256(positionBytes)}:${sha256(indexBytes)}`;
|
|
31
|
-
let resourceId = seen.get(key);
|
|
28
|
+
let resourceId = capturedResources.get(part.geometry);
|
|
32
29
|
if (resourceId === undefined) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
30
|
+
const positions = part.geometry.positions.copy();
|
|
31
|
+
const indices = part.geometry.indices.copy();
|
|
32
|
+
const positionBytes = new Uint8Array(positions.buffer, positions.byteOffset, positions.byteLength);
|
|
33
|
+
const indexBytes = new Uint8Array(indices.buffer, indices.byteOffset, indices.byteLength);
|
|
34
|
+
const key = `${sha256(positionBytes)}:${sha256(indexBytes)}`;
|
|
35
|
+
resourceId = seen.get(key);
|
|
36
|
+
if (resourceId === undefined) {
|
|
37
|
+
resourceId = `geometry-${resources.length}`;
|
|
38
|
+
seen.set(key, resourceId);
|
|
39
|
+
resources.push({
|
|
40
|
+
id: resourceId,
|
|
41
|
+
positions: await store(`geometry/${resourceId}.positions.f32`, positionBytes),
|
|
42
|
+
indices: await store(`geometry/${resourceId}.indices.u32`, indexBytes),
|
|
43
|
+
measurements: part.geometry.measurements,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
capturedResources.set(part.geometry, resourceId);
|
|
41
47
|
}
|
|
42
48
|
parts.push({
|
|
43
49
|
id: part.id,
|
|
44
50
|
resourceId,
|
|
45
|
-
|
|
46
|
-
rotation: part.rotation,
|
|
51
|
+
transform: part.transform,
|
|
47
52
|
measurements: part.measurements,
|
|
48
53
|
...(part.color === undefined ? {} : { color: part.color }),
|
|
49
54
|
});
|
|
@@ -69,6 +74,16 @@ function invalid(message) {
|
|
|
69
74
|
const vector = (value) => Array.isArray(value) &&
|
|
70
75
|
value.length === 3 &&
|
|
71
76
|
value.every((number) => typeof number === "number" && Number.isFinite(number));
|
|
77
|
+
function rigidTransform(value) {
|
|
78
|
+
try {
|
|
79
|
+
validateRigidTransform3(value);
|
|
80
|
+
const matrix = value;
|
|
81
|
+
return matrix[12] === 0 && matrix[13] === 0 && matrix[14] === 0 && matrix[15] === 1;
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
72
87
|
const bounds = (value) => isRecord(value) &&
|
|
73
88
|
vector(value.min) &&
|
|
74
89
|
vector(value.max) &&
|
|
@@ -111,8 +126,7 @@ function measurements(value) {
|
|
|
111
126
|
["signedVolume", "surfaceArea"].every((key) => typeof value[key] === "number" && Number.isFinite(value[key])) &&
|
|
112
127
|
positiveInteger(value.triangleCount) &&
|
|
113
128
|
positiveInteger(value.vertexCount) &&
|
|
114
|
-
(value.
|
|
115
|
-
positiveInteger(value.connectedComponentCount)) &&
|
|
129
|
+
(value.shellCount === undefined || positiveInteger(value.shellCount)) &&
|
|
116
130
|
(value.edgeCount === undefined || positiveInteger(value.edgeCount)));
|
|
117
131
|
}
|
|
118
132
|
function sameBounds(actual, recorded) {
|
|
@@ -124,7 +138,7 @@ function sameMeasurements(actual, recorded) {
|
|
|
124
138
|
actual.triangleCount === recorded.triangleCount &&
|
|
125
139
|
actual.signedVolume === recorded.signedVolume &&
|
|
126
140
|
actual.surfaceArea === recorded.surfaceArea &&
|
|
127
|
-
actual.
|
|
141
|
+
actual.shellCount === recorded.shellCount &&
|
|
128
142
|
actual.edgeCount === recorded.edgeCount &&
|
|
129
143
|
sameBounds(actual.bounds, recorded.bounds));
|
|
130
144
|
}
|
|
@@ -134,7 +148,7 @@ function manifestFrom(value) {
|
|
|
134
148
|
const limits = policy !== undefined && isRecord(policy.limits) ? policy.limits : undefined;
|
|
135
149
|
const dependencies = isRecord(value) && isRecord(value.dependencies) ? value.dependencies : undefined;
|
|
136
150
|
if (!isRecord(value) ||
|
|
137
|
-
value.formatVersion !==
|
|
151
|
+
value.formatVersion !== 2 ||
|
|
138
152
|
value.status !== "complete" ||
|
|
139
153
|
!identifier(value.runId) ||
|
|
140
154
|
typeof value.createdAt !== "string" ||
|
|
@@ -189,14 +203,14 @@ function manifestFrom(value) {
|
|
|
189
203
|
"partCount",
|
|
190
204
|
"vertexCount",
|
|
191
205
|
"triangleCount",
|
|
192
|
-
"
|
|
206
|
+
"signedVolume",
|
|
193
207
|
"byteCount",
|
|
194
208
|
"buildMs",
|
|
195
|
-
"
|
|
196
|
-
"
|
|
209
|
+
"finalizeMs",
|
|
210
|
+
"generateMs",
|
|
197
211
|
].every((key) => typeof stats?.[key] === "number" && Number.isFinite(stats[key])) ||
|
|
198
212
|
!["partCount", "vertexCount", "triangleCount", "byteCount"].every((key) => positiveInteger(stats?.[key])) ||
|
|
199
|
-
!["buildMs", "
|
|
213
|
+
!["buildMs", "finalizeMs", "generateMs"].every((key) => typeof stats?.[key] === "number" && stats[key] >= 0) ||
|
|
200
214
|
dependencies === undefined ||
|
|
201
215
|
!strings(dependencies.modelParameters) ||
|
|
202
216
|
!Array.isArray(dependencies.computations) ||
|
|
@@ -236,8 +250,9 @@ function manifestFrom(value) {
|
|
|
236
250
|
partIds.has(part.id) ||
|
|
237
251
|
typeof part.resourceId !== "string" ||
|
|
238
252
|
!ids.has(part.resourceId) ||
|
|
239
|
-
!
|
|
240
|
-
|
|
253
|
+
!rigidTransform(part.transform) ||
|
|
254
|
+
Object.hasOwn(part, "position") ||
|
|
255
|
+
Object.hasOwn(part, "rotation") ||
|
|
241
256
|
!measurements(part.measurements) ||
|
|
242
257
|
(part.color !== undefined &&
|
|
243
258
|
(typeof part.color !== "string" || !/^#[a-f0-9]{6}$/i.test(part.color))))
|
|
@@ -288,7 +303,7 @@ export async function readCapturedRun(directory) {
|
|
|
288
303
|
positions: new Float32Array(positions.buffer),
|
|
289
304
|
indices: new Uint32Array(indices.buffer),
|
|
290
305
|
};
|
|
291
|
-
const facts =
|
|
306
|
+
const facts = mesh.analyze(geometry, { requireClosed: true, includeTopology: true });
|
|
292
307
|
if (!sameMeasurements(facts, resource.measurements))
|
|
293
308
|
invalid(`Captured measurements do not match geometry ${resource.id}.`);
|
|
294
309
|
resources.set(resource.id, { geometry, facts });
|
|
@@ -302,9 +317,12 @@ export async function readCapturedRun(directory) {
|
|
|
302
317
|
};
|
|
303
318
|
for (const part of manifest.parts) {
|
|
304
319
|
const resource = resources.get(part.resourceId);
|
|
305
|
-
const facts =
|
|
320
|
+
const facts = part.transform.every((number, index) => number === IDENTITY_TRANSFORM3[index])
|
|
306
321
|
? resource.facts
|
|
307
|
-
:
|
|
322
|
+
: mesh.analyze(mesh.transform(resource.geometry, part.transform), {
|
|
323
|
+
requireClosed: true,
|
|
324
|
+
includeTopology: true,
|
|
325
|
+
});
|
|
308
326
|
if (!sameMeasurements(facts, part.measurements))
|
|
309
327
|
invalid(`Captured placement measurements do not match part ${part.id}.`);
|
|
310
328
|
vertices += facts.vertexCount;
|
|
@@ -317,7 +335,7 @@ export async function readCapturedRun(directory) {
|
|
|
317
335
|
}
|
|
318
336
|
if (vertices !== manifest.stats.vertexCount ||
|
|
319
337
|
triangles !== manifest.stats.triangleCount ||
|
|
320
|
-
volume !== manifest.stats.
|
|
338
|
+
volume !== manifest.stats.signedVolume ||
|
|
321
339
|
manifest.stats.byteCount < totalBytes ||
|
|
322
340
|
manifest.stats.byteCount > manifest.policy.limits.maxBytes ||
|
|
323
341
|
vertices > manifest.policy.limits.maxVertices ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/authoring/artifacts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/authoring/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,qBAAqB,GAGtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GAIxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,kCAAkC,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAUvD,MAAM,UAAU,MAAM,CAAC,KAA0B;IAC/C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,KAAc;IAChE,MAAM,SAAS,GAAG,GAAG,IAAI,UAAU,CAAC;IACpC,MAAM,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClF,MAAM,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAiB,EACjB,QAAqB,EACrB,QAGC,EACD,SAAuB;IAEvB,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAuB,EAAE,CAAC;IACzC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC9D,MAAM,KAAK,GAAG,KAAK,EAAE,IAAY,EAAE,KAAiB,EAA2B,EAAE;QAC/E,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAClE,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,aAAa,GAAG,IAAI,UAAU,CAClC,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,UAAU,CACrB,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAC1F,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7D,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,UAAU,GAAG,YAAY,SAAS,CAAC,MAAM,EAAE,CAAC;gBAC5C,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBAC1B,SAAS,CAAC,IAAI,CAAC;oBACb,EAAE,EAAE,UAAU;oBACd,SAAS,EAAE,MAAM,KAAK,CAAC,YAAY,UAAU,gBAAgB,EAAE,aAAa,CAAC;oBAC7E,OAAO,EAAE,MAAM,KAAK,CAAC,YAAY,UAAU,cAAc,EAAE,UAAU,CAAC;oBACtE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY;iBACzC,CAAC,CAAC;YACL,CAAC;YACD,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,UAAU;YACV,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAwB;QACpC,GAAG,QAAQ;QACX,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,SAAS;QACT,KAAK;QACL,GAAG,CAAC,SAAS,KAAK,SAAS;YACzB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC;IACF,MAAM,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAClE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,OAAO,CAAC,OAAe;IAC9B,MAAM,IAAI,cAAc,CAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AACD,MAAM,MAAM,GAAG,CAAC,KAAc,EAA8C,EAAE,CAC5E,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IACpB,KAAK,CAAC,MAAM,KAAK,CAAC;IAClB,KAAK,CAAC,KAAK,CAAC,CAAC,MAAe,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1F,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC;QACH,uBAAuB,CAAC,KAAuB,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,KAAuB,CAAC;QACvC,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AACD,MAAM,MAAM,GAAG,CAAC,KAAc,EAAW,EAAE,CACzC,QAAQ,CAAC,KAAK,CAAC;IACf,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;IACjB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;IACjB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,IAAK,KAAK,CAAC,GAAyB,CAAC,IAAI,CAAE,CAAC,CAAC;AACvF,MAAM,eAAe,GAAG,CAAC,KAAc,EAAmB,EAAE,CAC1D,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AACxE,MAAM,UAAU,GAAG,CAAC,KAAc,EAAmB,EAAE,CACrD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9F,MAAM,OAAO,GAAG,CAAC,KAAc,EAA8B,EAAE,CAC7D,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IACpB,KAAK,CAAC,KAAK,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;IACxD,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC;AACvC,SAAS,QAAQ,CAAC,KAAc,EAAE,KAAK,GAAG,CAAC;IACzC,IAAI,KAAK,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC3F,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3F,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC;AACD,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACrB,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;QAC3B,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;QAC5B,KAAK,CAAC,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI;QACjC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CACpC,CAAC;AACJ,CAAC;AACD,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CACnF,CAAC;AACJ,CAAC;AACD,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACpB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,KAAK,CACnC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CACvE;QACD,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC;QACpC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC;QAClC,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CACpE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAAmB,EAAE,QAAqB;IAC5D,OAAO,CACL,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAChE,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA4B,EAAE,QAA8B;IACpF,OAAO,CACL,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;QAC3C,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa;QAC/C,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY;QAC7C,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;QAC3C,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU;QACzC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;QACvC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAC3C,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,MAAM,YAAY,GAChB,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChB,KAAK,CAAC,aAAa,KAAK,CAAC;QACzB,KAAK,CAAC,MAAM,KAAK,UAAU;QAC3B,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;QACxB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;QACtD,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QACvB,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;QACtC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAC/B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjC,OAAO,KAAK,CAAC,MAAM,CAAC,WAAW,KAAK,QAAQ;QAC5C,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;QAChD,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QACzB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CACnC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAClB,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC;YACpC,OAAO,OAAO,KAAK,QAAQ;YAC3B,2DAA2D,CAAC,IAAI,CAAC,OAAO,CAAC,CAC5E;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAK,QAAQ;QACxD,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,KAAK,CAAC,QAAQ,CAAC,yBAAyB,CAAC,KAAK,QAAQ,CAAC;QAC7F,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QACjD,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;QAC3B,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;QAC3B,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAC5B,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CACjB,CAAC,KAAc,EAAE,EAAE,CACjB,QAAQ,CAAC,KAAK,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;YAC/B,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;YAChC,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAChD,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAClC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACrC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;YAChC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;YAC9B,KAAK,CAAC,MAAM,IAAI,CAAC;YACjB,KAAK,CAAC,MAAM,IAAI,IAAI,CACvB;QACD,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QACjC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CACtB,CAAC,KAAc,EAAE,EAAE,CACjB,QAAQ,CAAC,KAAK,CAAC;YACf,KAAK,CAAC,QAAQ,KAAK,SAAS;YAC5B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YACjC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAC/B,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS;gBAC9B,CAAC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;oBACpC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAoB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CACrE;QACD,MAAM,KAAK,SAAS;QACpB,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM;QACxE,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAC1C,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CACjB,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,CACzB;QACD,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC;QACnC,MAAM,CAAC,SAAS,GAAG,OAAO;QAC1B,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACrB,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QACtB,CAAC;YACC,WAAW;YACX,aAAa;YACb,eAAe;YACf,cAAc;YACd,WAAW;YACX,SAAS;YACT,YAAY;YACZ,YAAY;SACb,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACxE,eAAe,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAC9B;QACD,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,KAAK,CAC5C,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAC7D;QACD,YAAY,KAAK,SAAS;QAC1B,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC;QACtC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC;QACzC,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAC9B,CAAC,IAAa,EAAE,EAAE,CAChB,QAAQ,CAAC,IAAI,CAAC;YACd,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAC7B;QACD,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;QAClC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CACvB,CAAC,IAAa,EAAE,EAAE,CAChB,QAAQ,CAAC,IAAI,CAAC;YACd,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAC7B;QACD,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAC3B,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAC5B,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QACxB,KAAK,EAAE,SAAS,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM;QACvC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ;QACpC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ;QACxC,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAErE,OAAO,CAAC,8DAA8D,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAsB,EAAE,CAAC;QACpD,IACE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpB,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC;YACpC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC;YACrC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;YAEnC,OAAO,CAAC,kDAAkD,CAAC,CAAC;QAC9D,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAkB,EAAE,CAAC;QAC5C,IACE,CAAC,QAAQ,CAAC,IAAI,CAAC;YACf,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;YACnC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YACzB,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;YAC/B,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;YAChC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS;gBACvB,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAE1E,OAAO,CAAC,+CAA+C,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,QAAQ,GAAG,KAAuC,CAAC;IACzD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrF,IACE,YAAY,CAAC,IAAI,KAAK,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM;QAC/D,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM;QAC5D,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM;QACvF,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACpF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CACtD;QAED,OAAO,CAAC,uDAAuD,CAAC,CAAC;IACnE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,SAAiB,EACjB,UAA0B;IAE1B,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;QAAE,OAAO,CAAC,qCAAqC,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK;QAC9C,OAAO,CAAC,oCAAoC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,MAAM;QACrC,OAAO,CAAC,oCAAoC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gGAAgG;AAChG,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAiB;IACrD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;YACpD,OAAO,CAAC,2CAA2C,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAY,CAAC,CAAC;QAC3F,MAAM,SAAS,GAAG,IAAI,GAAG,EAGtB,CAAC;QACJ,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC1C,UAAU,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;YAChE,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC3E,OAAO,CAAC,oDAAoD,CAAC,CAAC;YAChE,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzD,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC;gBAC1D,OAAO,CAAC,gEAAgE,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG;gBACf,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,SAAS,EAAE,IAAI,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC7C,OAAO,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;aACzC,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;YACrF,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC;gBACjD,OAAO,CAAC,+CAA+C,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;YACzE,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,eAAe,GAAG;YACtB,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;YACnC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACjB,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC;YACjD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,KAAK,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC1F,CAAC,CAAC,QAAQ,CAAC,KAAK;gBAChB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;oBAC9D,aAAa,EAAE,IAAI;oBACnB,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAC;YACP,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC;gBAC7C,OAAO,CAAC,qDAAqD,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3E,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC;YAC9B,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC;YAC7B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;gBACpC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC;gBAC1F,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QACD,IACE,QAAQ,KAAK,QAAQ,CAAC,KAAK,CAAC,WAAW;YACvC,SAAS,KAAK,QAAQ,CAAC,KAAK,CAAC,aAAa;YAC1C,MAAM,KAAK,QAAQ,CAAC,KAAK,CAAC,YAAY;YACtC,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU;YACrC,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ;YAC1D,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW;YAC7C,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY;YAC/C,CAAC,UAAU,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC;YAE7C,OAAO,CAAC,gEAAgE,CAAC,CAAC;QAC5E,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;YAAE,MAAM,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjF,OAAO;YACL,SAAS,EAAE,IAAI;YACf,QAAQ;YACR,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC;SACnE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,cAAc;YAAE,MAAM,KAAK,CAAC;QACjD,MAAM,IAAI,cAAc,CACtB,UAAU,EACV,kBAAkB,EAClB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,MAAe;IAEf,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,YAAY,GAChB,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAC7F,IAAI,MAAM,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;QACpD,MAAM,IAAI,cAAc,CAAC,YAAY,EAAE,gBAAgB,EAAE,4BAA4B,MAAM,GAAG,CAAC,CAAC;IAClG,OAAO;QACL,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/authoring/check.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAuB,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgBpG,wGAAwG;AACxG,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/authoring/check.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAuB,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgBpG,wGAAwG;AACxG,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAC,CA+I1C"}
|