@metamesh/cli 0.14.0 → 0.16.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.
Files changed (57) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/README.md +5 -0
  3. package/dist/authoring/artifacts.d.ts.map +1 -1
  4. package/dist/authoring/artifacts.js +27 -18
  5. package/dist/authoring/artifacts.js.map +1 -1
  6. package/dist/authoring/check.d.ts.map +1 -1
  7. package/dist/authoring/check.js +13 -1
  8. package/dist/authoring/check.js.map +1 -1
  9. package/dist/authoring/environment.d.ts +2 -1
  10. package/dist/authoring/environment.d.ts.map +1 -1
  11. package/dist/authoring/environment.js +49 -8
  12. package/dist/authoring/environment.js.map +1 -1
  13. package/dist/authoring/types.d.ts +4 -4
  14. package/dist/authoring/types.d.ts.map +1 -1
  15. package/dist/docs/guides/agent-authoring.md +35 -25
  16. package/dist/docs/guides/package.md +5 -0
  17. package/dist/docs/manifest.json +12 -4
  18. package/dist/docs/reference/authoring/AUTHORING_PROTOCOL_VERSION.md +1 -1
  19. package/dist/docs/reference/authoring/AuthoringDiagnostic.md +1 -1
  20. package/dist/docs/reference/authoring/AuthoringEnvironment.md +1 -1
  21. package/dist/docs/reference/authoring/AuthoringError.md +1 -1
  22. package/dist/docs/reference/authoring/AuthoringFailure-type.md +1 -1
  23. package/dist/docs/reference/authoring/AuthoringKind.md +1 -1
  24. package/dist/docs/reference/authoring/AuthoringPhase.md +1 -1
  25. package/dist/docs/reference/authoring/CapturedBuffer.md +1 -1
  26. package/dist/docs/reference/authoring/CapturedGeometry.md +1 -1
  27. package/dist/docs/reference/authoring/CapturedPart.md +3 -3
  28. package/dist/docs/reference/authoring/CapturedResource.md +1 -1
  29. package/dist/docs/reference/authoring/CapturedRun.md +1 -1
  30. package/dist/docs/reference/authoring/CapturedRunManifest.md +2 -2
  31. package/dist/docs/reference/authoring/CheckOptions.md +1 -1
  32. package/dist/docs/reference/authoring/CheckSuccess.md +1 -1
  33. package/dist/docs/reference/authoring/DocumentationEntry.md +1 -1
  34. package/dist/docs/reference/authoring/DocumentationManifest.md +1 -1
  35. package/dist/docs/reference/authoring/DocumentationSearchResult.md +1 -1
  36. package/dist/docs/reference/authoring/InstalledAuthoringPackage.md +1 -1
  37. package/dist/docs/reference/authoring/RenderCamera.md +1 -1
  38. package/dist/docs/reference/authoring/RenderFormat.md +1 -1
  39. package/dist/docs/reference/authoring/RenderOptions.md +1 -1
  40. package/dist/docs/reference/authoring/RenderResult.md +1 -1
  41. package/dist/docs/reference/authoring/RenderView.md +1 -1
  42. package/dist/docs/reference/authoring/RenderedImage.md +1 -1
  43. package/dist/docs/reference/authoring/RunOptions.md +1 -1
  44. package/dist/docs/reference/authoring/RunSuccess.md +1 -1
  45. package/dist/docs/reference/authoring/authoringFailure-value.md +1 -1
  46. package/dist/docs/reference/authoring/checkAuthoringSource.md +1 -1
  47. package/dist/docs/reference/authoring/discoverAuthoringEnvironment.md +1 -1
  48. package/dist/docs/reference/authoring/inspectCapturedRun.md +1 -1
  49. package/dist/docs/reference/authoring/installAuthoringBrowser.md +1 -1
  50. package/dist/docs/reference/authoring/readCapturedRun.md +1 -1
  51. package/dist/docs/reference/authoring/renderCapturedRun.md +1 -1
  52. package/dist/docs/reference/authoring/runAuthoringSource.md +1 -1
  53. package/dist/docs/reference/authoring/searchAuthoringDocumentation.md +4 -3
  54. package/dist/docs/reference/authoring/showAuthoringDocumentation.md +1 -1
  55. package/dist/metamesh.js +9 -3
  56. package/dist/metamesh.js.map +1 -1
  57. package/package.json +6 -6
@@ -1,11 +1,10 @@
1
1
  # Author and inspect models with an agent
2
2
 
3
- Find installed documentation, check TypeScript, generate a captured model, and inspect its measurements and rendered views locally.
3
+ Use the CLI to find installed docs, check TypeScript, capture a model, and inspect measurements and rendered views.
4
4
 
5
- The `metamesh` CLI gives coding agents and developers the same local workflow: look up the
6
- installed API, check source, execute the real engine, and inspect a captured result. It runs trusted
7
- local TypeScript with your ordinary Node permissions. The child process is disposable; it is not a
8
- security sandbox.
5
+ Use the `metamesh` CLI to look up the installed API, check TypeScript, generate a model, and inspect
6
+ the captured result. It runs trusted local source with your ordinary Node permissions. Its
7
+ disposable child process is not a security sandbox.
9
8
 
10
9
  ## Install and discover the environment
11
10
 
@@ -24,45 +23,52 @@ using the commands. Missing packages, mismatched releases, or an unsupported pro
24
23
  environment fix before authoring.
25
24
 
26
25
  Add the Generator SDK as a direct dependency when defining Generators, and Testkit when writing
27
- automated tests. A project that only runs ordinary models needs Modeling and the CLI as its direct
28
- dependencies. Keep installed MetaMesh packages on matching releases.
26
+ automated tests.
27
+ Ordinary models need only Modeling and the CLI as direct dependencies. Keep installed MetaMesh
28
+ packages on matching releases.
29
29
 
30
30
  | Component | Responsibility |
31
31
  | ------------------------- | --------------------------------------------------------------------------------------------- |
32
32
  | `@metamesh/modeling` | Geometry operations, synchronous generation, engine sessions, and completed snapshots |
33
33
  | `@metamesh/generator-sdk` | Serializable controls, parameter types and validation, and Generator module envelopes |
34
34
  | `@metamesh/cli` | Installed documentation lookup, TypeScript checking, captured runs, inspection, and rendering |
35
- | `@metamesh/testkit` | Test runners, fixtures, and assertions used by your existing test framework |
35
+ | `@metamesh/testkit` | Generation runners, fixtures, and assertions for your test framework |
36
36
 
37
37
  Every public package exposes its offline documentation manifest through `./docs/manifest.json`.
38
38
  The CLI searches the packages installed in the selected project. Find a topic in the bounded index,
39
39
  then read the returned document ID:
40
40
 
41
41
  ```bash
42
+ pnpm exec metamesh docs show modeling/guide/standalone-model
42
43
  pnpm exec metamesh docs search "cylinder"
43
44
  pnpm exec metamesh docs show modeling/reference/model/cylinder
44
45
  ```
45
46
 
47
+ The [standalone model example](https://metamesh.studio/docs/develop/standalone-model) is a short starting point.
48
+ Use the [construction map](https://metamesh.studio/docs/develop/geometry-package#choose-a-modeling-path) to choose an
49
+ approach, or search for a shape or symbol and read its recipe or reference. Search matches distinct
50
+ words in titles, headings, keywords, and summaries. Exact titles, IDs, and imports take priority;
51
+ equally complete intent matches favor guides.
52
+
46
53
  Documentation is resolved from the selected project through package exports. No global installation
47
54
  or documentation fetched from a moving Git branch replaces the installed version.
48
55
 
49
56
  ### Give an agent the same workflow
50
57
 
51
- `setup` prints skill installation guidance and a project-instruction snippet for review. It does
52
- not modify files, install a skill, or initialize a model. The optional `metamesh-developer` skill
53
- describes the authoring and verification workflow; `metamesh-docs` supports documentation work.
54
- Both are maintained separately in `metamesh-studio/metamesh-skills`.
58
+ `setup` prints skill installation guidance and a project-instruction snippet for review without
59
+ modifying files, installing skills, or initializing a model. The optional `metamesh-developer` skill
60
+ covers authoring and verification; `metamesh-docs` covers documentation. Both are maintained in
61
+ `metamesh-studio/metamesh-skills`.
55
62
 
56
63
  Use a reviewed skill snapshot provided by your project or installed through your agent's skill
57
64
  tooling. The printed GitHub installation source must be published before that command can work;
58
65
  a skill is optional for the CLI workflow below. Skills teach the process. The installed npm
59
66
  documentation owns exact signatures, import paths, units, lifecycle, and availability.
60
67
 
61
- Project instructions should ask the agent to discover the environment, look up relevant installed
62
- topics, check and run the current source, then inspect measurements and render useful views from
63
- that same run directory. Include the commands and required checks that belong to your project.
64
- When targeting another project directory, pass `--project PATH` consistently so discovery, lookup,
65
- checking, and execution resolve the same installation.
68
+ Project instructions should require environment discovery, relevant documentation lookup, source
69
+ checking and execution, then measurement inspection and useful rendered views from that same run.
70
+ Include your project’s commands and required checks. Pass `--project PATH` consistently when
71
+ targeting another directory so every step resolves the same installation.
66
72
 
67
73
  ## Model entries
68
74
 
@@ -167,10 +173,10 @@ pnpm exec metamesh render RUN_DIRECTORY
167
173
  pnpm exec metamesh render RUN_DIRECTORY --views top --format webp --transparent
168
174
  ```
169
175
 
170
- Inspection reads finalized geometry facts, including semantic part IDs, placements, colors,
171
- measurements, diagnostics, and execution provenance. Rendering reads the same captured buffers
172
- without executing the model again. Artifacts remain usable after the engine session is disposed or
173
- the run directory is moved. Corrupt or incomplete artifacts reject.
176
+ Inspection reads finalized part IDs, placements, colors, measurements, diagnostics, and execution
177
+ provenance. Rendering uses the same captured buffers without rerunning the model. Captures remain
178
+ usable after the engine session is disposed or the directory moves. Corrupt or incomplete
179
+ artifacts reject.
174
180
 
175
181
  Rendering requires the separately installed pinned Chromium. It is never downloaded implicitly;
176
182
  checking, generation, and inspection work without it. Standard orthographic views are isometric,
@@ -232,9 +238,13 @@ spawning the command.
232
238
 
233
239
  ## Command results
234
240
 
235
- The CLI defaults to concise human output. Add `--json` for one structured stdout result, with
236
- bounded author logs on stderr. Exit status is `0` for success, `1` for source, parameter, or
237
- generation failure, and `2` for invocation, environment, artifact, or tooling failure. Runs have a
238
- 30-second default execution deadline and can lower engine resource ceilings.
241
+ Add `--json` for one structured result on stdout; bounded author logs go to stderr. The default
242
+ output is concise text. Exit codes are:
243
+
244
+ - `0`: success;
245
+ - `1`: source, parameter, or generation failure;
246
+ - `2`: invocation, environment, artifact, or tooling failure.
247
+
248
+ Runs default to a 30-second execution deadline and can lower engine resource ceilings.
239
249
 
240
250
  Modeling and the Generator SDK remain independent of the CLI and its local Node tooling.
@@ -25,6 +25,7 @@ Chromium is installed separately and never downloaded by checking or generation.
25
25
 
26
26
  ```bash
27
27
  pnpm exec metamesh environment --json
28
+ pnpm exec metamesh docs show modeling/guide/concepts
28
29
  pnpm exec metamesh docs search "extrude"
29
30
  pnpm exec metamesh docs show TOPIC_ID
30
31
  pnpm exec metamesh check model.ts --kind model
@@ -40,6 +41,10 @@ generation. Commands resolve packages and relative paths from the current projec
40
41
  `--project PATH` to select another project explicitly. `TOPIC_ID` comes from documentation search;
41
42
  `RUN_DIRECTORY` comes from a successful run.
42
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
+
43
48
  `run` includes semantic TypeScript checking and executes in a disposable child process with a
44
49
  30-second default deadline. It saves each attempt beneath `.metamesh/runs` with source identity,
45
50
  parameters, diagnostics, measurements, and hashed geometry buffers. `inspect` and `render` validate
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "formatVersion": 1,
3
3
  "packageName": "@metamesh/cli",
4
- "packageVersion": "0.14.0",
4
+ "packageVersion": "0.16.0",
5
5
  "documents": [
6
6
  {
7
7
  "id": "cli/guide/agent-authoring",
8
8
  "title": "Author and inspect models with an agent",
9
- "summary": "Find installed documentation, check TypeScript, generate a captured model, and inspect its measurements and rendered views locally.",
9
+ "summary": "Use the CLI to find installed docs, check TypeScript, capture a model, and inspect measurements and rendered views.",
10
10
  "path": "guides/agent-authoring.md",
11
11
  "importPath": "@metamesh/cli/authoring",
12
12
  "availability": "Local Node authoring",
@@ -15,7 +15,15 @@
15
15
  "guide",
16
16
  "agent-authoring",
17
17
  "engine",
18
- "how-to"
18
+ "how-to",
19
+ "author-and-inspect-models-with-an-agent",
20
+ "install-and-discover-the-environment",
21
+ "give-an-agent-the-same-workflow",
22
+ "model-entries",
23
+ "generator-entries",
24
+ "inspect-the-captured-result",
25
+ "test-models",
26
+ "command-results"
19
27
  ]
20
28
  },
21
29
  {
@@ -525,7 +533,7 @@
525
533
  {
526
534
  "id": "cli/reference/authoring/searchAuthoringDocumentation",
527
535
  "title": "searchAuthoringDocumentation",
528
- "summary": "Ranks installed topic and symbol metadata without loading every document's body. Returns up to limit matches, defaulting to 10; supported limits are 1 through 50.",
536
+ "summary": "Ranks distinct intent tokens in installed titles, keywords, and summaries without loading bodies. Exact symbol/topic/import lookup takes priority; equally complete matches favor guides. Returns up to limit matches, defaulting to 10; supported limits are 1 through 50.",
529
537
  "path": "reference/authoring/searchAuthoringDocumentation.md",
530
538
  "importPath": "@metamesh/cli/authoring",
531
539
  "availability": "Local Node authoring",
@@ -2,7 +2,7 @@
2
2
 
3
3
  Version of the CLI authoring protocol, independent of package SemVer and engine compatibility.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  AUTHORING_PROTOCOL_VERSION = 1
@@ -2,7 +2,7 @@
2
2
 
3
3
  A structured issue with optional source location, parameter association, and geometry context.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** A structured issue with optional source location, parameter association, and geometry context. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  The selected project's supported protocol, matching package releases, and available workflows.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** The selected project's supported protocol, matching package releases, and available workflows. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  A classified authoring exception retaining its workflow phase, stable code, and exit status.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** A classified authoring exception retaining its workflow phase, stable code, and exit status. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  An unsuccessful command outcome; a failure directory does not establish a complete capture.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** An unsuccessful command outcome; a failure directory does not establish a complete capture. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Selects a standalone ModelProgram entry or an SDK Generator module with a definition.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Selects a standalone ModelProgram entry or an SDK Generator module with a definition. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  The workflow stage that rejected an invocation, source, asset, or captured artifact.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** The workflow stage that rejected an invocation, source, asset, or captured artifact. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  A captured file's relative path, byte length, and SHA-256 integrity digest.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** A captured file's relative path, byte length, and SHA-256 integrity digest. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Validated local-space mesh buffers loaded from a completed captured resource.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Validated local-space mesh buffers loaded from a completed captured resource. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Semantic part identity and appearance referencing a shared mesh with separate placement.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Semantic part identity and appearance referencing a shared mesh with separate placement. */
@@ -10,9 +10,9 @@ export interface CapturedPart {
10
10
  readonly id: string;
11
11
  readonly resourceId: string;
12
12
  /** World translation in millimetres, applied after rotation. */
13
- readonly position: Vector3Tuple;
13
+ readonly position: Vector3Data;
14
14
  /** Global XYZ rotation in degrees, applied once to local geometry. */
15
- readonly rotation: Vector3Tuple;
15
+ readonly rotation: Vector3Data;
16
16
  readonly color?: string;
17
17
  readonly measurements: SnapshotPart["measurements"];
18
18
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  A shared local-space mesh resource and its measurements, before per-part placement.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** A shared local-space mesh resource and its measurements, before per-part placement. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  A validated successful capture with its manifest and shared local geometry buffers.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** A validated successful capture with its manifest and shared local geometry buffers. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  A completed attempt's provenance, effective inputs, diagnostics, and captured geometry.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** A completed attempt's provenance, effective inputs, diagnostics, and captured geometry. */
@@ -30,7 +30,7 @@ export interface CapturedRunManifest {
30
30
  readonly limits: ModelingLimits;
31
31
  };
32
32
  readonly diagnostics: readonly GenerationDiagnostic[];
33
- readonly bounds: Bounds3;
33
+ readonly bounds: Bounds3Data;
34
34
  readonly stats: FinalizedModel["stats"];
35
35
  readonly dependencies: ModelDependencies;
36
36
  readonly resources: readonly CapturedResource[];
@@ -2,7 +2,7 @@
2
2
 
3
3
  Source entry contract and project-local resolution settings for semantic checking.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Source entry contract and project-local resolution settings for semantic checking. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  A successful semantic check; source has not been evaluated and no geometry is captured.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** A successful semantic check; source has not been evaluated and no geometry is captured. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Metadata for one installed Markdown guide or public API symbol.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Metadata for one installed Markdown guide or public API symbol. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Exact-package-version index exposed through the package's docs/manifest.json export.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Exact-package-version index exposed through the package's docs/manifest.json export. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  An installed documentation match carrying the exact package identity that owns it.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** An installed documentation match carrying the exact package identity that owns it. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  A project-local MetaMesh package and its verified documentation index.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** A project-local MetaMesh package and its verified documentation index. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Recorded orthographic camera, expressed in millimetres and world coordinates.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Recorded orthographic camera, expressed in millimetres and world coordinates. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Image encodings; WebP is always lossless.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Image encodings; WebP is always lossless. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Options for rendering a previously captured model, without executing author code.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Options for rendering a previously captured model, without executing author code. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Images always belong to one captured run and one unique output directory.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Images always belong to one captured run and one unique output directory. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Standard orthographic views in MetaMesh's Z-up coordinate system.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Standard orthographic views in MetaMesh's Z-up coordinate system. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  A view and its provenance, also written beside the image as JSON.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** A view and its provenance, also written beside the image as JSON. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Inputs and bounded execution policy for one checked, trusted local source attempt.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Inputs and bounded execution policy for one checked, trusted local source attempt. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  A successful checked execution; use this exact directory for subsequent inspection and rendering.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** A successful checked execution; use this exact directory for subsequent inspection and rendering. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Converts a thrown value to a failure envelope, preserving classified authoring diagnostics.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Converts a thrown value to a failure envelope, preserving classified authoring diagnostics. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Checks strict TypeScript and the selected entry-module contract without evaluating author source.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Checks strict TypeScript and the selected entry-module contract without evaluating author source. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Discovers project-local Modeling, CLI, and optional SDK/Testkit documentation. Rejects missing required packages, stale manifests, and mixed exact package versions.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /**
@@ -2,7 +2,7 @@
2
2
 
3
3
  Validates a completed capture and returns its manifest with an optional semantic part selection. Original source is never evaluated; incomplete captures and unknown part IDs reject.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /**
@@ -2,7 +2,7 @@
2
2
 
3
3
  Explicit installation of this package's pinned Chromium. Never called by render.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Explicit installation of this package's pinned Chromium. Never called by render. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Reads only immutable captured files. It never imports or executes original author source.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Reads only immutable captured files. It never imports or executes original author source. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Render validated persisted local geometry and placements. Source code is never imported, and a fresh capture directory prevents overlapping calls from overwriting evidence.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /**
@@ -2,7 +2,7 @@
2
2
 
3
3
  Checks and executes trusted local source in a disposable child, then captures its finalized geometry. Returns a success or failure envelope for this fresh attempt; failed attempts cannot be rendered.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /**
@@ -1,12 +1,13 @@
1
1
  # searchAuthoringDocumentation
2
2
 
3
- Ranks installed topic and symbol metadata without loading every document's body. Returns up to limit matches, defaulting to 10; supported limits are 1 through 50.
3
+ Ranks distinct intent tokens in installed titles, keywords, and summaries without loading bodies. Exact symbol/topic/import lookup takes priority; equally complete matches favor guides. Returns up to limit matches, defaulting to 10; supported limits are 1 through 50.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /**
9
- * Ranks installed topic and symbol metadata without loading every document's body.
9
+ * Ranks distinct intent tokens in installed titles, keywords, and summaries without loading bodies.
10
+ * Exact symbol/topic/import lookup takes priority; equally complete matches favor guides.
10
11
  * Returns up to limit matches, defaulting to 10; supported limits are 1 through 50.
11
12
  */
12
13
  export declare function searchAuthoringDocumentation(query: string, options?: {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Reads one exact-version installed Markdown topic by its discovered ID, without executing source.
4
4
 
5
- Import from `@metamesh/cli/authoring` (@metamesh/cli@0.14.0).
5
+ Import from `@metamesh/cli/authoring` (@metamesh/cli@0.16.0).
6
6
 
7
7
  ```ts
8
8
  /** Reads one exact-version installed Markdown topic by its discovered ID, without executing source. */
package/dist/metamesh.js CHANGED
@@ -31,9 +31,15 @@ async function readObject(project, file) {
31
31
  throw new AuthoringError("invocation", "INVALID_JSON_INPUT", "Parameter and limit files must contain JSON objects.");
32
32
  return value;
33
33
  }
34
+ function humanDiagnostic(issue) {
35
+ const location = [issue.file, issue.line, issue.column]
36
+ .filter((value) => value !== undefined)
37
+ .join(":");
38
+ return `${location === "" ? "" : `${location}: `}${issue.severity} ${issue.code}: ${issue.message}`;
39
+ }
34
40
  function humanResult(command, result) {
35
41
  if (isRecord(result) && result.success === false && Array.isArray(result.diagnostics))
36
- return `${result.diagnostics.map((issue) => `${issue.code}: ${issue.message}`).join("\n")}${typeof result.runDirectory === "string" ? `\nAttempt: ${result.runDirectory}` : ""}\n`;
42
+ return `${result.diagnostics.map(humanDiagnostic).join("\n")}${typeof result.runDirectory === "string" ? `\nAttempt: ${result.runDirectory}` : ""}\n`;
37
43
  if (command === "environment") {
38
44
  const environment = result;
39
45
  return `MetaMesh authoring protocol ${environment.authoringProtocolVersion}\nProject: ${environment.project}\n${environment.packages.map((pkg) => `${pkg.name} ${pkg.version} (${pkg.documentCount} topics)\n ${pkg.manifestPath}`).join("\n")}\n`;
@@ -48,7 +54,7 @@ function humanResult(command, result) {
48
54
  isRecord(result) &&
49
55
  isRecord(result.manifest)) {
50
56
  const manifest = result.manifest;
51
- return `${manifest.parts.length} parts; ${manifest.stats.vertices} vertices; ${manifest.stats.triangles} triangles; ${manifest.stats.volumeMm3.toFixed(3)} mm³\nCaptured: ${String(result.runDirectory ?? result.directory)}\n${manifest.diagnostics.map(({ severity, message }) => `${severity}: ${message}\n`).join("")}${isRecord(result.selectedPart) ? `Part: ${JSON.stringify(result.selectedPart)}\n` : ""}`;
57
+ return `${manifest.stats.partCount} parts; ${manifest.stats.vertexCount} vertices; ${manifest.stats.triangleCount} triangles; ${manifest.stats.volumeMm3.toFixed(3)} mm³\nCaptured: ${String(result.runDirectory ?? result.directory)}\n${manifest.diagnostics.map(({ severity, message }) => `${severity}: ${message}\n`).join("")}${isRecord(result.selectedPart) ? `Part: ${JSON.stringify(result.selectedPart)}\n` : ""}`;
52
58
  }
53
59
  return `${JSON.stringify(result, null, 2)}\n`;
54
60
  }
@@ -176,7 +182,7 @@ async function main() {
176
182
  if (json)
177
183
  process.stdout.write(`${JSON.stringify(failure)}\n`);
178
184
  else
179
- process.stderr.write(`${failure.diagnostics.map(({ code, message }) => `${code}: ${message}`).join("\n")}\n`);
185
+ process.stderr.write(`${failure.diagnostics.map(humanDiagnostic).join("\n")}\n`);
180
186
  }
181
187
  }
182
188
  await main();