@mostra/cli 0.0.0-stage → 0.2.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 (196) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +18 -2
  3. package/dist/bin.d.ts +1 -0
  4. package/dist/bin.js +79 -0
  5. package/dist/bin.js.map +1 -0
  6. package/dist/bootstrap-DfEe_yPr.js +113 -0
  7. package/dist/bootstrap-DfEe_yPr.js.map +1 -0
  8. package/dist/exit-CBIf8nAU.js +79 -0
  9. package/dist/exit-CBIf8nAU.js.map +1 -0
  10. package/dist/flush-BCuWs0Zh.js +718 -0
  11. package/dist/flush-BCuWs0Zh.js.map +1 -0
  12. package/dist/index.d.ts +230 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +3 -0
  15. package/dist/reference/cli.md +977 -0
  16. package/dist/reference/diagnostics.json +1264 -0
  17. package/dist/reference/errors/MOSTRA_A11Y_MINOR.md +23 -0
  18. package/dist/reference/errors/MOSTRA_A11Y_SERIOUS.md +23 -0
  19. package/dist/reference/errors/MOSTRA_ACTION_CANCELLED.md +23 -0
  20. package/dist/reference/errors/MOSTRA_ACTION_EVENT_INVALID.md +23 -0
  21. package/dist/reference/errors/MOSTRA_ACTION_EXPORT_INVALID.md +23 -0
  22. package/dist/reference/errors/MOSTRA_ACTION_INTERRUPTED.md +23 -0
  23. package/dist/reference/errors/MOSTRA_ACTION_RUN_NOT_FOUND.md +23 -0
  24. package/dist/reference/errors/MOSTRA_ACTION_THREW.md +23 -0
  25. package/dist/reference/errors/MOSTRA_ACTION_TOO_LARGE.md +23 -0
  26. package/dist/reference/errors/MOSTRA_ACTION_UNKNOWN_FUNCTION.md +23 -0
  27. package/dist/reference/errors/MOSTRA_ACTION_UNSERIALIZABLE.md +23 -0
  28. package/dist/reference/errors/MOSTRA_ARTIFACT_DIR_NOT_EMPTY.md +23 -0
  29. package/dist/reference/errors/MOSTRA_ARTIFACT_ENTRY_AMBIGUOUS.md +23 -0
  30. package/dist/reference/errors/MOSTRA_ARTIFACT_NOT_FOUND.md +23 -0
  31. package/dist/reference/errors/MOSTRA_ARTIFACT_NO_ENTRY.md +23 -0
  32. package/dist/reference/errors/MOSTRA_ARTIFACT_NO_PAGE.md +23 -0
  33. package/dist/reference/errors/MOSTRA_ARTIFACT_SOURCE_MISSING.md +23 -0
  34. package/dist/reference/errors/MOSTRA_ARTIFACT_SOURCE_UNREADABLE.md +23 -0
  35. package/dist/reference/errors/MOSTRA_ARTIFACT_TEMPLATE_UNKNOWN.md +23 -0
  36. package/dist/reference/errors/MOSTRA_ARTIFACT_VERSION_COLLECTED.md +23 -0
  37. package/dist/reference/errors/MOSTRA_ARTIFACT_VERSION_NOT_FOUND.md +23 -0
  38. package/dist/reference/errors/MOSTRA_BUILD_CRASHED.md +23 -0
  39. package/dist/reference/errors/MOSTRA_BUILD_FAILED.md +23 -0
  40. package/dist/reference/errors/MOSTRA_BUILD_TIMEOUT.md +23 -0
  41. package/dist/reference/errors/MOSTRA_BUILD_UNRESOLVED.md +23 -0
  42. package/dist/reference/errors/MOSTRA_CLI_CONFIG_UNWRITABLE.md +23 -0
  43. package/dist/reference/errors/MOSTRA_CLI_UNKNOWN_COMMAND.md +23 -0
  44. package/dist/reference/errors/MOSTRA_CLI_USAGE.md +23 -0
  45. package/dist/reference/errors/MOSTRA_CONSOLE_ERROR.md +23 -0
  46. package/dist/reference/errors/MOSTRA_CONSOLE_WARNING.md +23 -0
  47. package/dist/reference/errors/MOSTRA_DEP_INSTALL_FAILED.md +23 -0
  48. package/dist/reference/errors/MOSTRA_DEP_MISSING.md +23 -0
  49. package/dist/reference/errors/MOSTRA_DEP_NOT_FOUND.md +23 -0
  50. package/dist/reference/errors/MOSTRA_DEP_OFFLINE.md +23 -0
  51. package/dist/reference/errors/MOSTRA_DEP_SPEC_INVALID.md +23 -0
  52. package/dist/reference/errors/MOSTRA_DEP_TIMEOUT.md +23 -0
  53. package/dist/reference/errors/MOSTRA_DEP_WARM_CONFLICT.md +23 -0
  54. package/dist/reference/errors/MOSTRA_ENV_BIND_FAILED.md +23 -0
  55. package/dist/reference/errors/MOSTRA_ENV_BROWSER_MISSING.md +23 -0
  56. package/dist/reference/errors/MOSTRA_ENV_BUNDLE_DOWNLOAD_FAILED.md +23 -0
  57. package/dist/reference/errors/MOSTRA_ENV_BUNDLE_INVALID.md +23 -0
  58. package/dist/reference/errors/MOSTRA_ENV_BUNDLE_UNAVAILABLE.md +23 -0
  59. package/dist/reference/errors/MOSTRA_ENV_NODE_UNSUPPORTED.md +23 -0
  60. package/dist/reference/errors/MOSTRA_ENV_PORT_TAKEN.md +23 -0
  61. package/dist/reference/errors/MOSTRA_ENV_RUNTIME_MISSING.md +23 -0
  62. package/dist/reference/errors/MOSTRA_ENV_SERVICE_FAILED.md +23 -0
  63. package/dist/reference/errors/MOSTRA_ENV_SHELL_MISSING.md +23 -0
  64. package/dist/reference/errors/MOSTRA_ENV_WARM_MISSING.md +23 -0
  65. package/dist/reference/errors/MOSTRA_FIELD_CONFLICT.md +23 -0
  66. package/dist/reference/errors/MOSTRA_FIELD_DUPLICATE_ID.md +23 -0
  67. package/dist/reference/errors/MOSTRA_FIELD_ID_INVALID.md +23 -0
  68. package/dist/reference/errors/MOSTRA_FIELD_ID_UNSTABLE.md +23 -0
  69. package/dist/reference/errors/MOSTRA_FIELD_MUTATION_ID_REUSED.md +23 -0
  70. package/dist/reference/errors/MOSTRA_FIELD_SHARED.md +23 -0
  71. package/dist/reference/errors/MOSTRA_FIELD_TOO_LARGE.md +23 -0
  72. package/dist/reference/errors/MOSTRA_FIELD_UNBOUND.md +23 -0
  73. package/dist/reference/errors/MOSTRA_HOME_DISK_FULL.md +23 -0
  74. package/dist/reference/errors/MOSTRA_HOME_GC_INCOMPLETE.md +23 -0
  75. package/dist/reference/errors/MOSTRA_HOME_GONE.md +23 -0
  76. package/dist/reference/errors/MOSTRA_HOME_INTEGRITY.md +23 -0
  77. package/dist/reference/errors/MOSTRA_HOME_LEDGER_UNREADABLE.md +23 -0
  78. package/dist/reference/errors/MOSTRA_HOME_LOCKED.md +23 -0
  79. package/dist/reference/errors/MOSTRA_HOME_MISMATCH.md +23 -0
  80. package/dist/reference/errors/MOSTRA_HOME_NOT_ALWAYS_ON.md +23 -0
  81. package/dist/reference/errors/MOSTRA_HOME_NOT_OWNED.md +23 -0
  82. package/dist/reference/errors/MOSTRA_HOME_SOCKET_TOO_LONG.md +23 -0
  83. package/dist/reference/errors/MOSTRA_HOME_TOO_NEW.md +23 -0
  84. package/dist/reference/errors/MOSTRA_HOST_CONNECTION_CLOSED.md +23 -0
  85. package/dist/reference/errors/MOSTRA_HOST_CURSOR_COMPACTED.md +23 -0
  86. package/dist/reference/errors/MOSTRA_HOST_IDENTITY_UNAVAILABLE.md +23 -0
  87. package/dist/reference/errors/MOSTRA_HOST_INITIALIZE_ORDER.md +23 -0
  88. package/dist/reference/errors/MOSTRA_HOST_INTERNAL_ERROR.md +23 -0
  89. package/dist/reference/errors/MOSTRA_HOST_INVALID_PARAMS.md +23 -0
  90. package/dist/reference/errors/MOSTRA_HOST_MALFORMED.md +23 -0
  91. package/dist/reference/errors/MOSTRA_HOST_MESSAGE_TOO_LARGE.md +23 -0
  92. package/dist/reference/errors/MOSTRA_HOST_METHOD_UNKNOWN.md +23 -0
  93. package/dist/reference/errors/MOSTRA_HOST_NOTIFICATION_UNSUPPORTED.md +23 -0
  94. package/dist/reference/errors/MOSTRA_HOST_PORT_UNSUPPORTED.md +23 -0
  95. package/dist/reference/errors/MOSTRA_HOST_REQUEST_ID_REUSED.md +23 -0
  96. package/dist/reference/errors/MOSTRA_HOST_REVISION_UNSUPPORTED.md +23 -0
  97. package/dist/reference/errors/MOSTRA_HOST_SHUTDOWN_REFUSED.md +23 -0
  98. package/dist/reference/errors/MOSTRA_HOST_SUBSCRIPTION_UNKNOWN.md +23 -0
  99. package/dist/reference/errors/MOSTRA_HOST_TIMEOUT.md +23 -0
  100. package/dist/reference/errors/MOSTRA_HYGIENE_CONTENT_TYPE.md +23 -0
  101. package/dist/reference/errors/MOSTRA_HYGIENE_CSRF_MISSING.md +23 -0
  102. package/dist/reference/errors/MOSTRA_HYGIENE_HEADERS_TOO_LARGE.md +23 -0
  103. package/dist/reference/errors/MOSTRA_HYGIENE_HOST_REFUSED.md +23 -0
  104. package/dist/reference/errors/MOSTRA_HYGIENE_NOT_SERVED.md +23 -0
  105. package/dist/reference/errors/MOSTRA_HYGIENE_ORIGIN_REFUSED.md +23 -0
  106. package/dist/reference/errors/MOSTRA_HYGIENE_RATE_LIMITED.md +23 -0
  107. package/dist/reference/errors/MOSTRA_HYGIENE_REQUEST_MALFORMED.md +23 -0
  108. package/dist/reference/errors/MOSTRA_HYGIENE_SCOPE_DENIED.md +23 -0
  109. package/dist/reference/errors/MOSTRA_HYGIENE_SESSION_CONFLICT.md +23 -0
  110. package/dist/reference/errors/MOSTRA_HYGIENE_SESSION_MISSING.md +23 -0
  111. package/dist/reference/errors/MOSTRA_HYGIENE_TOKEN_INVALID.md +23 -0
  112. package/dist/reference/errors/MOSTRA_HYGIENE_TOKEN_REVOKED.md +23 -0
  113. package/dist/reference/errors/MOSTRA_LIVE_SOURCE_FAILED.md +23 -0
  114. package/dist/reference/errors/MOSTRA_LIVE_TOO_LARGE.md +23 -0
  115. package/dist/reference/errors/MOSTRA_MANIFEST_INVALID.md +23 -0
  116. package/dist/reference/errors/MOSTRA_MANIFEST_NOT_LITERAL.md +23 -0
  117. package/dist/reference/errors/MOSTRA_MANIFEST_UNKNOWN_KEY.md +23 -0
  118. package/dist/reference/errors/MOSTRA_NETWORK_EXTERNAL_FAILED.md +23 -0
  119. package/dist/reference/errors/MOSTRA_NETWORK_REQUEST_FAILED.md +23 -0
  120. package/dist/reference/errors/MOSTRA_PLATFORM_UNSUPPORTED.md +23 -0
  121. package/dist/reference/errors/MOSTRA_PUBLISH_ID_CONFLICT.md +23 -0
  122. package/dist/reference/errors/MOSTRA_PUBLISH_SOURCE_CHANGED.md +23 -0
  123. package/dist/reference/errors/MOSTRA_PUBLISH_VERIFY_FAILED.md +23 -0
  124. package/dist/reference/errors/MOSTRA_REGRESSION_ACTION_REMOVED.md +23 -0
  125. package/dist/reference/errors/MOSTRA_REGRESSION_ARIA.md +23 -0
  126. package/dist/reference/errors/MOSTRA_REGRESSION_FIELD_REMOVED.md +23 -0
  127. package/dist/reference/errors/MOSTRA_REGRESSION_LIVE_REMOVED.md +23 -0
  128. package/dist/reference/errors/MOSTRA_REGRESSION_PAGE_REMOVED.md +23 -0
  129. package/dist/reference/errors/MOSTRA_REGRESSION_PIXELS.md +23 -0
  130. package/dist/reference/errors/MOSTRA_RUNTIME_BLANK.md +23 -0
  131. package/dist/reference/errors/MOSTRA_RUNTIME_NOT_READY.md +23 -0
  132. package/dist/reference/errors/MOSTRA_RUNTIME_PAGE_ERROR.md +23 -0
  133. package/dist/reference/errors/MOSTRA_RUNTIME_WORKER_CRASHED.md +23 -0
  134. package/dist/reference/errors/MOSTRA_RUNTIME_WORKER_PARKED.md +23 -0
  135. package/dist/reference/errors/MOSTRA_SECRET_MISSING.md +23 -0
  136. package/dist/reference/errors/MOSTRA_SMOKE_BUDGET.md +23 -0
  137. package/dist/reference/errors/MOSTRA_SMOKE_NO_EFFECT.md +23 -0
  138. package/dist/reference/errors/MOSTRA_SUBMIT_ALREADY.md +23 -0
  139. package/dist/reference/errors/MOSTRA_SUBMIT_BLOCKED.md +23 -0
  140. package/dist/reference/errors/MOSTRA_SUBMIT_CHANNEL_DENIED.md +23 -0
  141. package/dist/reference/errors/MOSTRA_SUBMIT_NOT_FOUND.md +23 -0
  142. package/dist/reference/errors/MOSTRA_SUBMIT_POLICY_NONE.md +23 -0
  143. package/dist/reference/errors/MOSTRA_SUBMIT_REVISION_MOVED.md +23 -0
  144. package/dist/reference/errors/MOSTRA_SUBMIT_SIGNAL_INVALID.md +23 -0
  145. package/dist/reference/errors/MOSTRA_SUBMIT_VIEW_INVALID.md +23 -0
  146. package/dist/reference/errors/MOSTRA_TARGET_UNAVAILABLE.md +23 -0
  147. package/dist/reference/errors/MOSTRA_TYPE_ERROR.md +23 -0
  148. package/dist/reference/errors/MOSTRA_TYPE_UNTYPED_PACKAGE.md +23 -0
  149. package/dist/reference/errors/MOSTRA_VERIFY_ACTION_SKIPPED.md +23 -0
  150. package/dist/reference/errors/MOSTRA_VERIFY_BASELINE_MISSING.md +23 -0
  151. package/dist/reference/errors/MOSTRA_VERIFY_CRASHED.md +23 -0
  152. package/dist/reference/errors/MOSTRA_VERIFY_LIVE_FAILED.md +23 -0
  153. package/dist/reference/errors/MOSTRA_VERIFY_NO_BASELINE.md +23 -0
  154. package/dist/reference/errors/MOSTRA_VERIFY_SECRET_MISSING.md +23 -0
  155. package/dist/reference/errors/MOSTRA_VERIFY_SKIP_CONSEQUENCE.md +23 -0
  156. package/dist/reference/errors/MOSTRA_VERIFY_TIMEOUT.md +23 -0
  157. package/dist/reference/telemetry.md +82 -0
  158. package/dist/run-BJaRnz-Q.js +3824 -0
  159. package/dist/run-BJaRnz-Q.js.map +1 -0
  160. package/dist/run-CMyjOm0Q.js +2 -0
  161. package/dist/telemetry/flush-main.d.ts +1 -0
  162. package/dist/telemetry/flush-main.js +14 -0
  163. package/dist/telemetry/flush-main.js.map +1 -0
  164. package/package.json +62 -3
  165. package/src/bin.ts +70 -0
  166. package/src/bootstrap.ts +156 -0
  167. package/src/browser.ts +186 -0
  168. package/src/client.ts +313 -0
  169. package/src/command.ts +147 -0
  170. package/src/commands/admin.ts +791 -0
  171. package/src/commands/authoring.ts +244 -0
  172. package/src/commands/dev.ts +106 -0
  173. package/src/commands/index.ts +71 -0
  174. package/src/commands/interaction.ts +288 -0
  175. package/src/commands/shared.ts +71 -0
  176. package/src/commands/viewing.ts +153 -0
  177. package/src/docs.ts +111 -0
  178. package/src/exit.ts +89 -0
  179. package/src/help.ts +170 -0
  180. package/src/home.ts +111 -0
  181. package/src/index.ts +23 -0
  182. package/src/node-gate.ts +15 -0
  183. package/src/parse.ts +246 -0
  184. package/src/run.ts +387 -0
  185. package/src/telemetry/decision.ts +101 -0
  186. package/src/telemetry/events.ts +147 -0
  187. package/src/telemetry/flush-main.ts +13 -0
  188. package/src/telemetry/flush.ts +143 -0
  189. package/src/telemetry/harness.ts +39 -0
  190. package/src/telemetry/index.ts +318 -0
  191. package/src/telemetry/store.ts +379 -0
  192. package/src/telemetry/timezone.ts +72 -0
  193. package/src/telemetry/words.ts +87 -0
  194. package/src/telemetry/zone-sets.ts +182 -0
  195. package/src/telemetry/zones.generated.ts +720 -0
  196. package/src/version.ts +43 -0
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_A11Y_MINOR
3
+ severity: hint
4
+ phase: a11y
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_A11Y_MINOR
10
+
11
+ Minor accessibility problem. Severity: hint. Phase: a11y.
12
+
13
+ ## What it means
14
+
15
+ axe-core found a problem it rates moderate or minor. The message names axe's rule and the elements.
16
+
17
+ ## How to fix it
18
+
19
+ Optionally follow the rule's advice.
20
+
21
+ ## Hint
22
+
23
+ Read axe's description of the rule in the message.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_A11Y_SERIOUS
3
+ severity: warning
4
+ phase: a11y
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_A11Y_SERIOUS
10
+
11
+ Serious accessibility problem. Severity: warning. Phase: a11y.
12
+
13
+ ## What it means
14
+
15
+ axe-core found a problem it rates critical or serious, such as a button with no accessible name or text with too little contrast. The message names axe's rule and the elements; `count` says how many.
16
+
17
+ ## How to fix it
18
+
19
+ Follow the rule's advice for each element named, for example add an `aria-label` to an icon button.
20
+
21
+ ## Hint
22
+
23
+ Read axe's description of the rule in the message; it names the elements it found.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ACTION_CANCELLED
3
+ severity: warning
4
+ phase: runtime
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ACTION_CANCELLED
10
+
11
+ Action run cancelled. Severity: warning. Phase: runtime.
12
+
13
+ ## What it means
14
+
15
+ The action run was cancelled from a page, and its `abortSignal` fired. The run ends `cancelled` when the action stops; an action that ignores the signal ends with whatever it returns.
16
+
17
+ ## How to fix it
18
+
19
+ Nothing to fix. Pass `abortSignal` from `@mostra/server` to `fetch` and other cancellable calls so cancelling stops the work.
20
+
21
+ ## Hint
22
+
23
+ Start the action again if it should still run.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ACTION_EVENT_INVALID
3
+ severity: error
4
+ phase: runtime
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ACTION_EVENT_INVALID
10
+
11
+ Host event type or payload invalid. Severity: error. Phase: runtime.
12
+
13
+ ## What it means
14
+
15
+ Server code called `emit(type, payload)` from `@mostra/server` with a type that isn't `host.` followed by a name, or a payload that isn't JSON or is larger than 64 KiB. The event is not appended; `emit` throws.
16
+
17
+ ## How to fix it
18
+
19
+ Use a type such as `host.reply-sent` and a small JSON payload. Put larger data in artifact state or a live source and send its key in the event.
20
+
21
+ ## Hint
22
+
23
+ Name the event `host.<name>` with 1 to 64 letters, digits, `.`, `_` and `-`, and keep its payload JSON of at most 64 KiB.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ACTION_EXPORT_INVALID
3
+ severity: error
4
+ phase: compile
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ACTION_EXPORT_INVALID
10
+
11
+ Server module exports something other than an async function. Severity: error. Phase: compile.
12
+
13
+ ## What it means
14
+
15
+ A module that starts with `"use server"` makes every export a server function the page can call. React's contract allows only async functions there. Mostra reports this code for any other export (a constant, a class, a non-async function, `export *`), naming the export.
16
+
17
+ ## How to fix it
18
+
19
+ Make the function `async`, or move the value to a separate module without the directive and import it from both sides.
20
+
21
+ ## Hint
22
+
23
+ Export only async functions from a "use server" module; move other exports to an ordinary module.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ACTION_INTERRUPTED
3
+ severity: error
4
+ phase: runtime
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ACTION_INTERRUPTED
10
+
11
+ Action run interrupted. Severity: error. Phase: runtime.
12
+
13
+ ## What it means
14
+
15
+ The action run's worker crashed, ran out of memory, was stopped by the event-loop watchdog, or the instance stopped while the run was running. The run ends `failed` with the reason `interrupted`, and Mostra never retries it by itself (D24): an action that had already started a side effect, such as sending an email, may or may not have finished it.
16
+
17
+ ## How to fix it
18
+
19
+ Look at the effect where it happens (the mail provider's sent folder, say) before running the action again. Pass the provider's own idempotency key from the action (for example, the run's key) so a repeated request can't act twice.
20
+
21
+ ## Hint
22
+
23
+ Check the run's effects at their provider, then start it again with a new key if it should run again.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ACTION_RUN_NOT_FOUND
3
+ severity: error
4
+ phase: runtime
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ACTION_RUN_NOT_FOUND
10
+
11
+ No such action run. Severity: error. Phase: runtime.
12
+
13
+ ## What it means
14
+
15
+ A page asked for or cancelled an action run that this artifact doesn't have, or one started from another artifact.
16
+
17
+ ## How to fix it
18
+
19
+ Use the run IDs `useAction` reports. A page that keeps run IDs itself should drop IDs from other artifacts.
20
+
21
+ ## Hint
22
+
23
+ Start the action again; the run ID names no run of this artifact.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ACTION_THREW
3
+ severity: error
4
+ phase: runtime
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ACTION_THREW
10
+
11
+ Server function threw. Severity: error. Phase: runtime.
12
+
13
+ ## What it means
14
+
15
+ A server function threw while it ran. The page gets `{ code: "MOSTRA_ACTION_THREW", message }` with the thrown error's message (`useAction`'s `error`, or the rejected promise of a plain call); the stack goes to the action run's log, never to the page. When the error carried a diagnostic code of its own (a `MOSTRA_SECRET_MISSING`, say), that code is reported instead.
16
+
17
+ ## How to fix it
18
+
19
+ Fix the cause in the function, or catch the error inside it and return a value the page can show. Mostra never retries a run by itself (D24); retry in your own code, or call the action again with a new key.
20
+
21
+ ## Hint
22
+
23
+ Read the run's log for the stack, then fix the server function or catch the error and return a result instead.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ACTION_TOO_LARGE
3
+ severity: error
4
+ phase: runtime
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ACTION_TOO_LARGE
10
+
11
+ Server function arguments or result too large. Severity: error. Phase: runtime.
12
+
13
+ ## What it means
14
+
15
+ A server function's serialized arguments, or an action run's serialized result, is over 16 MiB. A plain call or run with arguments that large is refused before it starts; a run whose result grows past the limit is stopped and ends `failed`.
16
+
17
+ ## How to fix it
18
+
19
+ Send identifiers rather than whole documents, return a page of results at a time, or publish large data through a live source or artifact state, which the page reads on its own.
20
+
21
+ ## Hint
22
+
23
+ Return or pass less data: page through it, or write it to artifact state or a live source instead.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ACTION_UNKNOWN_FUNCTION
3
+ severity: error
4
+ phase: runtime
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ACTION_UNKNOWN_FUNCTION
10
+
11
+ No such server function in this version. Severity: error. Phase: runtime.
12
+
13
+ ## What it means
14
+
15
+ The page called a server function ID (`<module path>#<export>`) that the version's server bundle doesn't export. Pages call only functions their own build references, so this means a page and a worker of different versions, or a request written by hand.
16
+
17
+ ## How to fix it
18
+
19
+ Republish the artifact and reload the page. Call server functions by importing them from their `"use server"` module, never by ID.
20
+
21
+ ## Hint
22
+
23
+ Publish the artifact again so the page and its server code come from the same version.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ACTION_UNSERIALIZABLE
3
+ severity: error
4
+ phase: runtime
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ACTION_UNSERIALIZABLE
10
+
11
+ Server function argument or result outside React's serializable types. Severity: error. Phase: runtime.
12
+
13
+ ## What it means
14
+
15
+ Server function arguments and results cross a process boundary, so Mostra accepts exactly the types React documents for Server Functions (D54): strings, numbers, bigints, booleans, `undefined`, `null`, symbols registered with `Symbol.for`, arrays, `Map`, `Set`, typed arrays, `ArrayBuffer`, `Date`, `FormData`, plain objects, other server functions and promises. A result may also be an async iterable, whose items stream to the page. Mostra reports this code for anything else (a class instance, an `Error`, a `RegExp`, an object with a null prototype, a function that isn't a server function, an unregistered symbol, JSX) and names where in the value it is, such as `Argument 2 at .items[1]`. A promise in an argument that rejects fails the call the same way.
16
+
17
+ ## How to fix it
18
+
19
+ Convert the value to the supported types before the call or the return: `{ ...instance }` or a mapping for class instances, `error.message` for errors and `regexp.source` for regular expressions.
20
+
21
+ ## Hint
22
+
23
+ Pass and return only plain objects, arrays, primitives, Map, Set, Date, typed arrays, FormData and promises; convert class instances to plain objects first.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ARTIFACT_DIR_NOT_EMPTY
3
+ severity: error
4
+ phase: host
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ARTIFACT_DIR_NOT_EMPTY
10
+
11
+ Directory isn't empty. Severity: error. Phase: host.
12
+
13
+ ## What it means
14
+
15
+ Creating an artifact writes its entry into a directory, and the directory given already has files. Mostra never overwrites them.
16
+
17
+ ## How to fix it
18
+
19
+ Pass a path that doesn't exist yet or an empty directory. To make existing files an artifact, add the entry yourself and publish.
20
+
21
+ ## Hint
22
+
23
+ Choose a new or empty directory for the artifact.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ARTIFACT_ENTRY_AMBIGUOUS
3
+ severity: error
4
+ phase: manifest
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ARTIFACT_ENTRY_AMBIGUOUS
10
+
11
+ More than one entry file. Severity: error. Phase: manifest.
12
+
13
+ ## What it means
14
+
15
+ A directory artifact has exactly one entry, and this directory has more than one of `index.tsx`, `index.jsx` and `index.mdx`, so Mostra can't tell which one is the page.
16
+
17
+ ## How to fix it
18
+
19
+ Keep the entry you mean and rename the others, for example into `components/`.
20
+
21
+ ## Hint
22
+
23
+ Keep one entry file in the directory and rename or remove the others.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ARTIFACT_NOT_FOUND
3
+ severity: error
4
+ phase: host
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ARTIFACT_NOT_FOUND
10
+
11
+ Artifact not found. Severity: error. Phase: host.
12
+
13
+ ## What it means
14
+
15
+ The artifact named by an ID or a source path doesn't exist in this home: the ID was never published here, or the path was never published.
16
+
17
+ ## How to fix it
18
+
19
+ Use an ID or path from `mostra list`. A source that was never published becomes an artifact at its first `mostra publish`. A host that uses its own home sees only the artifacts published there.
20
+
21
+ ## Hint
22
+
23
+ Check the artifact ID or source path, or list the home's artifacts with `mostra list`.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ARTIFACT_NO_ENTRY
3
+ severity: error
4
+ phase: manifest
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ARTIFACT_NO_ENTRY
10
+
11
+ No entry file. Severity: error. Phase: manifest.
12
+
13
+ ## What it means
14
+
15
+ An artifact is a single `.tsx`, `.jsx` or `.mdx` file, or a directory whose entry is `index.tsx`, `index.jsx` or `index.mdx`. The source given is neither.
16
+
17
+ ## How to fix it
18
+
19
+ Create the entry: its default export is the page, and its manifest is `export const artifact = defineArtifact({ title: "..." })` (or frontmatter in MDX). For a single page, publish the file itself.
20
+
21
+ ## Hint
22
+
23
+ Add `index.tsx` or `index.mdx` to the directory, or publish a single `.tsx` or `.mdx` file.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ARTIFACT_NO_PAGE
3
+ severity: error
4
+ phase: manifest
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ARTIFACT_NO_PAGE
10
+
11
+ Entry has no page. Severity: error. Phase: manifest.
12
+
13
+ ## What it means
14
+
15
+ The entry has no default export and the artifact has no `pages/` folder, so there is nothing to render. With `pages/`, each file there is a route and the entry's default export, when present, is the layout around them.
16
+
17
+ ## How to fix it
18
+
19
+ Add `export default function Page() { ... }` to the entry, or move pages into `pages/index.tsx`, `pages/settings.tsx` and so on.
20
+
21
+ ## Hint
22
+
23
+ Export the page component as the entry's default export, or add a `pages/` folder.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ARTIFACT_SOURCE_MISSING
3
+ severity: error
4
+ phase: publish
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ARTIFACT_SOURCE_MISSING
10
+
11
+ Artifact source missing. Severity: error. Phase: publish.
12
+
13
+ ## What it means
14
+
15
+ Publishing needs the artifact's source files. The path given, or the path the artifact was last published from, doesn't exist. Versions already published stay readable, because Mostra keeps a snapshot of their source in the home.
16
+
17
+ ## How to fix it
18
+
19
+ Pass the path where the source lives now. Its manifest `id`, if it has one, keeps the artifact identity at the new path.
20
+
21
+ ## Hint
22
+
23
+ Publish from the artifact's source path, or restore the directory the message names.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ARTIFACT_SOURCE_UNREADABLE
3
+ severity: error
4
+ phase: publish
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ARTIFACT_SOURCE_UNREADABLE
10
+
11
+ Artifact source can't be read. Severity: error. Phase: publish.
12
+
13
+ ## What it means
14
+
15
+ Mostra couldn't read a file of the artifact's source: permissions, a file that disappeared while it was copied, or two names that are the same after Unicode normalization. Nothing was published.
16
+
17
+ ## How to fix it
18
+
19
+ Make the named file readable, rename one of two clashing names, or exclude the file with `.mostraignore` in the artifact's root.
20
+
21
+ ## Hint
22
+
23
+ Fix the file or directory the message names so your user can read it, then publish again.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ARTIFACT_TEMPLATE_UNKNOWN
3
+ severity: error
4
+ phase: host
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ARTIFACT_TEMPLATE_UNKNOWN
10
+
11
+ Unknown template. Severity: error. Phase: host.
12
+
13
+ ## What it means
14
+
15
+ The template named isn't one this runtime provides. Without a template, Mostra writes a minimal entry with a generated artifact ID.
16
+
17
+ ## How to fix it
18
+
19
+ Leave out the template, or use one of the templates of this release.
20
+
21
+ ## Hint
22
+
23
+ Create the artifact without a template, or use a template this Mostra release provides.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ARTIFACT_VERSION_COLLECTED
3
+ severity: error
4
+ phase: host
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ARTIFACT_VERSION_COLLECTED
10
+
11
+ Version collected. Severity: error. Phase: host.
12
+
13
+ ## What it means
14
+
15
+ `mostra gc` removed this version's files because nothing referenced it (D140). Its ID and number stay in the ledger forever, so history and events still name it, but it can't be opened or linked.
16
+
17
+ ## How to fix it
18
+
19
+ Open a version that still exists (`artifact/get` marks collected ones), or publish the exact source of this version again: publish restores its files under the same ID and number.
20
+
21
+ ## Hint
22
+
23
+ Open the artifact's latest version, or publish this version's source again to restore its files.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_ARTIFACT_VERSION_NOT_FOUND
3
+ severity: error
4
+ phase: host
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_ARTIFACT_VERSION_NOT_FOUND
10
+
11
+ No such version. Severity: error. Phase: host.
12
+
13
+ ## What it means
14
+
15
+ The request named a version number or version ID that this artifact never published in this home. Viewers only ever open published versions (D09), so there is nothing to show.
16
+
17
+ ## How to fix it
18
+
19
+ List the artifact's versions with `artifact/get` and pick one, or omit the version to open the latest. A link to `/a/<artifactId>/v/<number>` needs a number from that list.
20
+
21
+ ## Hint
22
+
23
+ Name a version the artifact has (`artifact/get` lists them), or leave the version out for the latest.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_BUILD_CRASHED
3
+ severity: error
4
+ phase: compile
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_BUILD_CRASHED
10
+
11
+ Builder crashed. Severity: error. Phase: compile.
12
+
13
+ ## What it means
14
+
15
+ The builder child process exited before it finished, for example after running out of memory or on a signal. The supervisor and everything else in the instance keep working, and nothing was published. The message carries the builder's last lines of error output.
16
+
17
+ ## How to fix it
18
+
19
+ Run the publish again, which starts a fresh builder. A crash that repeats points at the artifact's size or at a defect in Mostra: very large inline data is better kept in `public/` or loaded through a live source.
20
+
21
+ ## Hint
22
+
23
+ Publish again; if it crashes again, report the builder's last output from the message.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_BUILD_FAILED
3
+ severity: error
4
+ phase: compile
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_BUILD_FAILED
10
+
11
+ Build failed. Severity: error. Phase: compile.
12
+
13
+ ## What it means
14
+
15
+ The builder couldn't bundle the artifact: a syntax error, an invalid JSX or MDX construct, a CSS error or another bundler error. The message carries the bundler's own explanation, and the location points at the file, line and column when the bundler reports one. Nothing was published.
16
+
17
+ ## How to fix it
18
+
19
+ Open the reported file at the reported line and fix the code there. For MDX, check that JSX in the document is closed and that `{` and `<` in prose are escaped. Run `mostra verify` to see the same error with the type checker's findings.
20
+
21
+ ## Hint
22
+
23
+ Fix the error at the reported location, then publish again.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_BUILD_TIMEOUT
3
+ severity: error
4
+ phase: compile
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_BUILD_TIMEOUT
10
+
11
+ Build timed out. Severity: error. Phase: compile.
12
+
13
+ ## What it means
14
+
15
+ The build took longer than its limit (180 seconds) and was stopped. Nothing was published.
16
+
17
+ ## How to fix it
18
+
19
+ Move large data files that are imported into code into `public/` and fetch them at run time, split very large modules, and remove unused imports of heavy libraries. Then publish again.
20
+
21
+ ## Hint
22
+
23
+ Make the build smaller, for example by moving large data into `public/`, then publish again.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_BUILD_UNRESOLVED
3
+ severity: error
4
+ phase: compile
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_BUILD_UNRESOLVED
10
+
11
+ Import can't be resolved. Severity: error. Phase: compile.
12
+
13
+ ## What it means
14
+
15
+ An import in the artifact names a file or package the builder can't find. Relative imports resolve inside the artifact's own files, `@/...` resolves from the artifact's root, and package imports resolve from Mostra's warm set and the artifact's installed packages. The message names the import and the file that contains it.
16
+
17
+ ## How to fix it
18
+
19
+ For a file, check the path and its extension against the artifact's files. For a package, check its name; packages outside the warm set install with `mostra add <package>`.
20
+
21
+ ## Hint
22
+
23
+ Correct the import path, or import the package from the warm set or add it with `mostra add`.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_CLI_CONFIG_UNWRITABLE
3
+ severity: error
4
+ phase: platform
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_CLI_CONFIG_UNWRITABLE
10
+
11
+ The CLI's config directory can't be written. Severity: error. Phase: platform.
12
+
13
+ ## What it means
14
+
15
+ `mostra telemetry on` and `off` record the choice in the CLI's config directory (`MOSTRA_CONFIG_DIR`, else `${XDG_CONFIG_HOME:-~/.config}/mostra`). The directory or its `telemetry.json` can't be written (another user owns it, the disk is full, it's read-only), so the choice wasn't recorded and nothing changed. Telemetry never stops another command for this: a store that can't be written means nothing is sent.
16
+
17
+ ## How to fix it
18
+
19
+ Fix the directory's owner or mode, or set `MOSTRA_CONFIG_DIR` to a directory you own, and run the command again. `DO_NOT_TRACK=1` or `MOSTRA_TELEMETRY=0` in your environment turn telemetry off without a file.
20
+
21
+ ## Hint
22
+
23
+ Make the directory the message names yours and writable (or point MOSTRA_CONFIG_DIR at one that is), then run the command again; DO_NOT_TRACK=1 turns telemetry off without writing anything.
@@ -0,0 +1,23 @@
1
+ ---
2
+ code: MOSTRA_CLI_UNKNOWN_COMMAND
3
+ severity: error
4
+ phase: host
5
+ ---
6
+
7
+ <!-- Generated from packages/protocol/src/diagnostics/codes by `node tools/docs/diagnostics.ts write`. Edit the area file, not this page. -->
8
+
9
+ # MOSTRA_CLI_UNKNOWN_COMMAND
10
+
11
+ Unknown command. Severity: error. Phase: host.
12
+
13
+ ## What it means
14
+
15
+ The first word after `mostra` isn't a command this CLI has. The message lists the commands that exist. Commands that later releases add (sharing, export, plugins, terminals) appear only once they exist, never as placeholders.
16
+
17
+ ## How to fix it
18
+
19
+ Run one of the listed commands. `mostra --help` lists every command with a one-line summary.
20
+
21
+ ## Hint
22
+
23
+ Pick one of the commands this message lists; `mostra --help` describes each.