@almadar/std 17.0.0 → 17.0.2

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 (323) hide show
  1. package/behaviors/lolo/cli/atoms/std-orb-behaviors.lolo +1 -1
  2. package/behaviors/lolo/cli/atoms/std-orb-compile.lolo +1 -1
  3. package/behaviors/lolo/cli/atoms/std-orb-i18n.lolo +1 -1
  4. package/behaviors/lolo/cli/atoms/std-orb-language.lolo +2 -2
  5. package/behaviors/lolo/cli/atoms/std-orb-lint-all.lolo +1 -1
  6. package/behaviors/lolo/cli/atoms/std-orb-lint-asset-inline-url.lolo +1 -1
  7. package/behaviors/lolo/cli/atoms/std-orb-lint-async-result-deaf-target.lolo +1 -1
  8. package/behaviors/lolo/cli/atoms/std-orb-lint-binding-fields.lolo +1 -1
  9. package/behaviors/lolo/cli/atoms/std-orb-lint-binding-roots.lolo +1 -1
  10. package/behaviors/lolo/cli/atoms/std-orb-lint-binding-setters.lolo +1 -1
  11. package/behaviors/lolo/cli/atoms/std-orb-lint-binding-traits.lolo +1 -1
  12. package/behaviors/lolo/cli/atoms/std-orb-lint-browser-effects.lolo +1 -1
  13. package/behaviors/lolo/cli/atoms/std-orb-lint-call-service.lolo +1 -1
  14. package/behaviors/lolo/cli/atoms/std-orb-lint-circuit-client-bound.lolo +1 -1
  15. package/behaviors/lolo/cli/atoms/std-orb-lint-circuit-emits.lolo +1 -1
  16. package/behaviors/lolo/cli/atoms/std-orb-lint-circuit-graph.lolo +1 -1
  17. package/behaviors/lolo/cli/atoms/std-orb-lint-circuit-item-actions.lolo +1 -1
  18. package/behaviors/lolo/cli/atoms/std-orb-lint-circular-dependencies.lolo +1 -1
  19. package/behaviors/lolo/cli/atoms/std-orb-lint-client-tick-locality.lolo +1 -1
  20. package/behaviors/lolo/cli/atoms/std-orb-lint-collection-policy.lolo +1 -1
  21. package/behaviors/lolo/cli/atoms/std-orb-lint-composed-wiring.lolo +1 -1
  22. package/behaviors/lolo/cli/atoms/std-orb-lint-computed-key-dot-path.lolo +1 -1
  23. package/behaviors/lolo/cli/atoms/std-orb-lint-config-dangling-ref.lolo +1 -1
  24. package/behaviors/lolo/cli/atoms/std-orb-lint-config-knob.lolo +1 -1
  25. package/behaviors/lolo/cli/atoms/std-orb-lint-config-role-lists.lolo +1 -1
  26. package/behaviors/lolo/cli/atoms/std-orb-lint-control-unhandled.lolo +1 -1
  27. package/behaviors/lolo/cli/atoms/std-orb-lint-control-value-discarded.lolo +1 -1
  28. package/behaviors/lolo/cli/atoms/std-orb-lint-cross-duplicate-entity.lolo +1 -1
  29. package/behaviors/lolo/cli/atoms/std-orb-lint-cross-emitter.lolo +1 -1
  30. package/behaviors/lolo/cli/atoms/std-orb-lint-cross-registry.lolo +1 -1
  31. package/behaviors/lolo/cli/atoms/std-orb-lint-derived-field-write.lolo +1 -1
  32. package/behaviors/lolo/cli/atoms/std-orb-lint-dispatch-contract.lolo +1 -1
  33. package/behaviors/lolo/cli/atoms/std-orb-lint-duplicate-transition.lolo +1 -1
  34. package/behaviors/lolo/cli/atoms/std-orb-lint-duplicate-use-alias.lolo +1 -1
  35. package/behaviors/lolo/cli/atoms/std-orb-lint-effect-forms.lolo +1 -1
  36. package/behaviors/lolo/cli/atoms/std-orb-lint-egress-scheme-unused.lolo +1 -1
  37. package/behaviors/lolo/cli/atoms/std-orb-lint-embed-config-forward.lolo +1 -1
  38. package/behaviors/lolo/cli/atoms/std-orb-lint-emit-config-ref.lolo +1 -1
  39. package/behaviors/lolo/cli/atoms/std-orb-lint-emit-declaration.lolo +1 -1
  40. package/behaviors/lolo/cli/atoms/std-orb-lint-emit.lolo +1 -1
  41. package/behaviors/lolo/cli/atoms/std-orb-lint-empty-event-name.lolo +1 -1
  42. package/behaviors/lolo/cli/atoms/std-orb-lint-engine.lolo +1 -1
  43. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-access.lolo +1 -1
  44. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-browser-storage.lolo +1 -1
  45. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-duplicate-field.lolo +1 -1
  46. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-empty-enum.lolo +1 -1
  47. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-field-type.lolo +1 -1
  48. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-locale-instances.lolo +1 -1
  49. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-mock-member.lolo +1 -1
  50. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-mutation.lolo +1 -1
  51. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-name-shadows-trait-union.lolo +1 -1
  52. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-persistence.lolo +1 -1
  53. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-semantic-default.lolo +1 -1
  54. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-shape.lolo +1 -1
  55. package/behaviors/lolo/cli/atoms/std-orb-lint-event-id-uniqueness.lolo +1 -1
  56. package/behaviors/lolo/cli/atoms/std-orb-lint-event-wiring.lolo +1 -1
  57. package/behaviors/lolo/cli/atoms/std-orb-lint-expectation-config-knob.lolo +1 -1
  58. package/behaviors/lolo/cli/atoms/std-orb-lint-expectation-event-unfired.lolo +1 -1
  59. package/behaviors/lolo/cli/atoms/std-orb-lint-expectation-field-undeclared.lolo +1 -1
  60. package/behaviors/lolo/cli/atoms/std-orb-lint-expectation-final.lolo +1 -1
  61. package/behaviors/lolo/cli/atoms/std-orb-lint-expectation-persistent-unwritten.lolo +1 -1
  62. package/behaviors/lolo/cli/atoms/std-orb-lint-expectation-provider-mismatch.lolo +1 -1
  63. package/behaviors/lolo/cli/atoms/std-orb-lint-expectation-unsatisfied.lolo +1 -1
  64. package/behaviors/lolo/cli/atoms/std-orb-lint-expected-field-not-provided.lolo +1 -1
  65. package/behaviors/lolo/cli/atoms/std-orb-lint-external-emit-payload.lolo +1 -1
  66. package/behaviors/lolo/cli/atoms/std-orb-lint-fetch-by-id-payload.lolo +1 -1
  67. package/behaviors/lolo/cli/atoms/std-orb-lint-fetch-deliver.lolo +1 -1
  68. package/behaviors/lolo/cli/atoms/std-orb-lint-field-path.lolo +1 -1
  69. package/behaviors/lolo/cli/atoms/std-orb-lint-filter-field-never-written.lolo +1 -1
  70. package/behaviors/lolo/cli/atoms/std-orb-lint-finding-codes.lolo +1 -1
  71. package/behaviors/lolo/cli/atoms/std-orb-lint-generic-types.lolo +1 -1
  72. package/behaviors/lolo/cli/atoms/std-orb-lint-groupby-enum-column-gap.lolo +1 -1
  73. package/behaviors/lolo/cli/atoms/std-orb-lint-guest-view-not-client.lolo +1 -1
  74. package/behaviors/lolo/cli/atoms/std-orb-lint-host-effects.lolo +1 -1
  75. package/behaviors/lolo/cli/atoms/std-orb-lint-http-egress-entry.lolo +1 -1
  76. package/behaviors/lolo/cli/atoms/std-orb-lint-icon-exists.lolo +1 -1
  77. package/behaviors/lolo/cli/atoms/std-orb-lint-icon-format.lolo +1 -1
  78. package/behaviors/lolo/cli/atoms/std-orb-lint-id-refs.lolo +1 -1
  79. package/behaviors/lolo/cli/atoms/std-orb-lint-identity-unique.lolo +1 -1
  80. package/behaviors/lolo/cli/atoms/std-orb-lint-inbound-answer-foreign.lolo +1 -1
  81. package/behaviors/lolo/cli/atoms/std-orb-lint-inbound.lolo +1 -1
  82. package/behaviors/lolo/cli/atoms/std-orb-lint-init-coverage.lolo +1 -1
  83. package/behaviors/lolo/cli/atoms/std-orb-lint-input.lolo +1 -1
  84. package/behaviors/lolo/cli/atoms/std-orb-lint-item-action-event.lolo +1 -1
  85. package/behaviors/lolo/cli/atoms/std-orb-lint-keyed-call-keys.lolo +1 -1
  86. package/behaviors/lolo/cli/atoms/std-orb-lint-keyed-call.lolo +1 -1
  87. package/behaviors/lolo/cli/atoms/std-orb-lint-listen-per.lolo +1 -1
  88. package/behaviors/lolo/cli/atoms/std-orb-lint-listen-redundant-embed-route.lolo +1 -1
  89. package/behaviors/lolo/cli/atoms/std-orb-lint-listen-route-starves-required-field.lolo +1 -1
  90. package/behaviors/lolo/cli/atoms/std-orb-lint-listen-source-never-produces.lolo +1 -1
  91. package/behaviors/lolo/cli/atoms/std-orb-lint-listen-source-unresolved.lolo +1 -1
  92. package/behaviors/lolo/cli/atoms/std-orb-lint-listen-trigger.lolo +1 -1
  93. package/behaviors/lolo/cli/atoms/std-orb-lint-listen-wildcard-unkeyed.lolo +1 -1
  94. package/behaviors/lolo/cli/atoms/std-orb-lint-literal-default.lolo +1 -1
  95. package/behaviors/lolo/cli/atoms/std-orb-lint-llm-wire-unrouted.lolo +1 -1
  96. package/behaviors/lolo/cli/atoms/std-orb-lint-loop-invariant-parse.lolo +1 -1
  97. package/behaviors/lolo/cli/atoms/std-orb-lint-mem-handles.lolo +1 -1
  98. package/behaviors/lolo/cli/atoms/std-orb-lint-merged-fields.lolo +1 -1
  99. package/behaviors/lolo/cli/atoms/std-orb-lint-missing-orbital-name.lolo +1 -1
  100. package/behaviors/lolo/cli/atoms/std-orb-lint-nav-target.lolo +1 -1
  101. package/behaviors/lolo/cli/atoms/std-orb-lint-navigate.lolo +1 -1
  102. package/behaviors/lolo/cli/atoms/std-orb-lint-not-found.lolo +1 -1
  103. package/behaviors/lolo/cli/atoms/std-orb-lint-oauth.lolo +1 -1
  104. package/behaviors/lolo/cli/atoms/std-orb-lint-orbital-config-dead-knob.lolo +1 -1
  105. package/behaviors/lolo/cli/atoms/std-orb-lint-orbital-duplicate-name.lolo +1 -1
  106. package/behaviors/lolo/cli/atoms/std-orb-lint-page-content-owner.lolo +1 -1
  107. package/behaviors/lolo/cli/atoms/std-orb-lint-page-empty-traits.lolo +1 -1
  108. package/behaviors/lolo/cli/atoms/std-orb-lint-page-modifiers.lolo +1 -1
  109. package/behaviors/lolo/cli/atoms/std-orb-lint-page-path-uniqueness.lolo +1 -1
  110. package/behaviors/lolo/cli/atoms/std-orb-lint-page-path.lolo +1 -1
  111. package/behaviors/lolo/cli/atoms/std-orb-lint-page-unreachable.lolo +1 -1
  112. package/behaviors/lolo/cli/atoms/std-orb-lint-parallel-pure.lolo +1 -1
  113. package/behaviors/lolo/cli/atoms/std-orb-lint-pattern-props.lolo +1 -1
  114. package/behaviors/lolo/cli/atoms/std-orb-lint-payload-field-name.lolo +1 -1
  115. package/behaviors/lolo/cli/atoms/std-orb-lint-placement.lolo +1 -1
  116. package/behaviors/lolo/cli/atoms/std-orb-lint-program-eval.lolo +1 -1
  117. package/behaviors/lolo/cli/atoms/std-orb-lint-query-index.lolo +1 -1
  118. package/behaviors/lolo/cli/atoms/std-orb-lint-relation-targets.lolo +1 -1
  119. package/behaviors/lolo/cli/atoms/std-orb-lint-render-ui-pattern.lolo +1 -1
  120. package/behaviors/lolo/cli/atoms/std-orb-lint-reserved-component-name.lolo +1 -1
  121. package/behaviors/lolo/cli/atoms/std-orb-lint-retired-effect-forms.lolo +1 -1
  122. package/behaviors/lolo/cli/atoms/std-orb-lint-rui-binding.lolo +1 -1
  123. package/behaviors/lolo/cli/atoms/std-orb-lint-rui-effects.lolo +1 -1
  124. package/behaviors/lolo/cli/atoms/std-orb-lint-schema-header.lolo +1 -1
  125. package/behaviors/lolo/cli/atoms/std-orb-lint-service-def.lolo +1 -1
  126. package/behaviors/lolo/cli/atoms/std-orb-lint-set-column.lolo +1 -1
  127. package/behaviors/lolo/cli/atoms/std-orb-lint-sexpr-binding.lolo +1 -1
  128. package/behaviors/lolo/cli/atoms/std-orb-lint-sigil-context.lolo +1 -1
  129. package/behaviors/lolo/cli/atoms/std-orb-lint-sign-in-route.lolo +1 -1
  130. package/behaviors/lolo/cli/atoms/std-orb-lint-slot-tick.lolo +1 -1
  131. package/behaviors/lolo/cli/atoms/std-orb-lint-slot.lolo +1 -1
  132. package/behaviors/lolo/cli/atoms/std-orb-lint-state-shape.lolo +1 -1
  133. package/behaviors/lolo/cli/atoms/std-orb-lint-state-unreachable.lolo +1 -1
  134. package/behaviors/lolo/cli/atoms/std-orb-lint-store-binding.lolo +1 -1
  135. package/behaviors/lolo/cli/atoms/std-orb-lint-theme-pin-contradicts-app.lolo +1 -1
  136. package/behaviors/lolo/cli/atoms/std-orb-lint-theme-ref.lolo +1 -1
  137. package/behaviors/lolo/cli/atoms/std-orb-lint-theme-undeclared.lolo +1 -1
  138. package/behaviors/lolo/cli/atoms/std-orb-lint-theme-values.lolo +1 -1
  139. package/behaviors/lolo/cli/atoms/std-orb-lint-tick-requires-runtime.lolo +1 -1
  140. package/behaviors/lolo/cli/atoms/std-orb-lint-time-unit.lolo +1 -1
  141. package/behaviors/lolo/cli/atoms/std-orb-lint-trait-embeds.lolo +1 -1
  142. package/behaviors/lolo/cli/atoms/std-orb-lint-trait-id-uniqueness.lolo +1 -1
  143. package/behaviors/lolo/cli/atoms/std-orb-lint-trait-mounts.lolo +1 -1
  144. package/behaviors/lolo/cli/atoms/std-orb-lint-trait-ref-config.lolo +1 -1
  145. package/behaviors/lolo/cli/atoms/std-orb-lint-trait-refs.lolo +1 -1
  146. package/behaviors/lolo/cli/atoms/std-orb-lint-transition-refs.lolo +1 -1
  147. package/behaviors/lolo/cli/atoms/std-orb-lint-type-param-sweep.lolo +1 -1
  148. package/behaviors/lolo/cli/atoms/std-orb-lint-unsigned-guard.lolo +1 -1
  149. package/behaviors/lolo/cli/atoms/std-orb-lint-untyped-array.lolo +1 -1
  150. package/behaviors/lolo/cli/atoms/std-orb-lint-user-field-exists.lolo +1 -1
  151. package/behaviors/lolo/cli/atoms/std-orb-lint-user-identity.lolo +1 -1
  152. package/behaviors/lolo/cli/atoms/std-orb-lint-viewer-stranded.lolo +1 -1
  153. package/behaviors/lolo/cli/atoms/std-orb-mcp-install.lolo +1 -1
  154. package/behaviors/lolo/cli/atoms/std-orb-mcp.lolo +2 -2
  155. package/behaviors/lolo/cli/atoms/std-orb-packages.lolo +2 -2
  156. package/behaviors/lolo/cli/atoms/std-orb-supervise.lolo +1 -1
  157. package/behaviors/lolo/cli/atoms/std-orb-update-notice.lolo +1 -1
  158. package/behaviors/lolo/cli/atoms/std-orb-validate.lolo +1 -1
  159. package/behaviors/lolo/dev/atoms/std-launchpad-updates.lolo +1 -1
  160. package/behaviors/lolo/dev/atoms/std-orb-stats.lolo +1 -1
  161. package/behaviors/lolo/dev/organisms/std-launchpad.lolo +1 -1
  162. package/behaviors/registry/cli/atoms/std-orb-behaviors.orb +1 -1
  163. package/behaviors/registry/cli/atoms/std-orb-compile.orb +1 -1
  164. package/behaviors/registry/cli/atoms/std-orb-i18n.orb +1 -1
  165. package/behaviors/registry/cli/atoms/std-orb-language.orb +1 -1
  166. package/behaviors/registry/cli/atoms/std-orb-lint-all.orb +1 -1
  167. package/behaviors/registry/cli/atoms/std-orb-lint-asset-inline-url.orb +1 -1
  168. package/behaviors/registry/cli/atoms/std-orb-lint-async-result-deaf-target.orb +1 -1
  169. package/behaviors/registry/cli/atoms/std-orb-lint-binding-fields.orb +1 -1
  170. package/behaviors/registry/cli/atoms/std-orb-lint-binding-roots.orb +1 -1
  171. package/behaviors/registry/cli/atoms/std-orb-lint-binding-setters.orb +1 -1
  172. package/behaviors/registry/cli/atoms/std-orb-lint-binding-traits.orb +1 -1
  173. package/behaviors/registry/cli/atoms/std-orb-lint-browser-effects.orb +1 -1
  174. package/behaviors/registry/cli/atoms/std-orb-lint-call-service.orb +1 -1
  175. package/behaviors/registry/cli/atoms/std-orb-lint-circuit-client-bound.orb +1 -1
  176. package/behaviors/registry/cli/atoms/std-orb-lint-circuit-emits.orb +1 -1
  177. package/behaviors/registry/cli/atoms/std-orb-lint-circuit-graph.orb +1 -1
  178. package/behaviors/registry/cli/atoms/std-orb-lint-circuit-item-actions.orb +1 -1
  179. package/behaviors/registry/cli/atoms/std-orb-lint-circular-dependencies.orb +1 -1
  180. package/behaviors/registry/cli/atoms/std-orb-lint-client-tick-locality.orb +1 -1
  181. package/behaviors/registry/cli/atoms/std-orb-lint-collection-policy.orb +1 -1
  182. package/behaviors/registry/cli/atoms/std-orb-lint-composed-wiring.orb +1 -1
  183. package/behaviors/registry/cli/atoms/std-orb-lint-computed-key-dot-path.orb +1 -1
  184. package/behaviors/registry/cli/atoms/std-orb-lint-config-dangling-ref.orb +1 -1
  185. package/behaviors/registry/cli/atoms/std-orb-lint-config-knob.orb +1 -1
  186. package/behaviors/registry/cli/atoms/std-orb-lint-config-role-lists.orb +1 -1
  187. package/behaviors/registry/cli/atoms/std-orb-lint-control-unhandled.orb +1 -1
  188. package/behaviors/registry/cli/atoms/std-orb-lint-control-value-discarded.orb +1 -1
  189. package/behaviors/registry/cli/atoms/std-orb-lint-cross-duplicate-entity.orb +1 -1
  190. package/behaviors/registry/cli/atoms/std-orb-lint-cross-emitter.orb +1 -1
  191. package/behaviors/registry/cli/atoms/std-orb-lint-cross-registry.orb +1 -1
  192. package/behaviors/registry/cli/atoms/std-orb-lint-derived-field-write.orb +1 -1
  193. package/behaviors/registry/cli/atoms/std-orb-lint-dispatch-contract.orb +1 -1
  194. package/behaviors/registry/cli/atoms/std-orb-lint-duplicate-transition.orb +1 -1
  195. package/behaviors/registry/cli/atoms/std-orb-lint-duplicate-use-alias.orb +1 -1
  196. package/behaviors/registry/cli/atoms/std-orb-lint-effect-forms.orb +1 -1
  197. package/behaviors/registry/cli/atoms/std-orb-lint-egress-scheme-unused.orb +1 -1
  198. package/behaviors/registry/cli/atoms/std-orb-lint-embed-config-forward.orb +1 -1
  199. package/behaviors/registry/cli/atoms/std-orb-lint-emit-config-ref.orb +1 -1
  200. package/behaviors/registry/cli/atoms/std-orb-lint-emit-declaration.orb +1 -1
  201. package/behaviors/registry/cli/atoms/std-orb-lint-emit.orb +1 -1
  202. package/behaviors/registry/cli/atoms/std-orb-lint-empty-event-name.orb +1 -1
  203. package/behaviors/registry/cli/atoms/std-orb-lint-engine.orb +1 -1
  204. package/behaviors/registry/cli/atoms/std-orb-lint-entity-access.orb +1 -1
  205. package/behaviors/registry/cli/atoms/std-orb-lint-entity-browser-storage.orb +1 -1
  206. package/behaviors/registry/cli/atoms/std-orb-lint-entity-duplicate-field.orb +1 -1
  207. package/behaviors/registry/cli/atoms/std-orb-lint-entity-empty-enum.orb +1 -1
  208. package/behaviors/registry/cli/atoms/std-orb-lint-entity-field-type.orb +1 -1
  209. package/behaviors/registry/cli/atoms/std-orb-lint-entity-locale-instances.orb +1 -1
  210. package/behaviors/registry/cli/atoms/std-orb-lint-entity-mock-member.orb +1 -1
  211. package/behaviors/registry/cli/atoms/std-orb-lint-entity-mutation.orb +1 -1
  212. package/behaviors/registry/cli/atoms/std-orb-lint-entity-name-shadows-trait-union.orb +1 -1
  213. package/behaviors/registry/cli/atoms/std-orb-lint-entity-persistence.orb +1 -1
  214. package/behaviors/registry/cli/atoms/std-orb-lint-entity-semantic-default.orb +1 -1
  215. package/behaviors/registry/cli/atoms/std-orb-lint-entity-shape.orb +1 -1
  216. package/behaviors/registry/cli/atoms/std-orb-lint-event-id-uniqueness.orb +1 -1
  217. package/behaviors/registry/cli/atoms/std-orb-lint-event-wiring.orb +1 -1
  218. package/behaviors/registry/cli/atoms/std-orb-lint-expectation-config-knob.orb +1 -1
  219. package/behaviors/registry/cli/atoms/std-orb-lint-expectation-event-unfired.orb +1 -1
  220. package/behaviors/registry/cli/atoms/std-orb-lint-expectation-field-undeclared.orb +1 -1
  221. package/behaviors/registry/cli/atoms/std-orb-lint-expectation-final.orb +1 -1
  222. package/behaviors/registry/cli/atoms/std-orb-lint-expectation-persistent-unwritten.orb +1 -1
  223. package/behaviors/registry/cli/atoms/std-orb-lint-expectation-provider-mismatch.orb +1 -1
  224. package/behaviors/registry/cli/atoms/std-orb-lint-expectation-unsatisfied.orb +1 -1
  225. package/behaviors/registry/cli/atoms/std-orb-lint-expected-field-not-provided.orb +1 -1
  226. package/behaviors/registry/cli/atoms/std-orb-lint-external-emit-payload.orb +1 -1
  227. package/behaviors/registry/cli/atoms/std-orb-lint-fetch-by-id-payload.orb +1 -1
  228. package/behaviors/registry/cli/atoms/std-orb-lint-fetch-deliver.orb +1 -1
  229. package/behaviors/registry/cli/atoms/std-orb-lint-field-path.orb +1 -1
  230. package/behaviors/registry/cli/atoms/std-orb-lint-filter-field-never-written.orb +1 -1
  231. package/behaviors/registry/cli/atoms/std-orb-lint-finding-codes.orb +1 -1
  232. package/behaviors/registry/cli/atoms/std-orb-lint-generic-types.orb +1 -1
  233. package/behaviors/registry/cli/atoms/std-orb-lint-groupby-enum-column-gap.orb +1 -1
  234. package/behaviors/registry/cli/atoms/std-orb-lint-guest-view-not-client.orb +1 -1
  235. package/behaviors/registry/cli/atoms/std-orb-lint-host-effects.orb +1 -1
  236. package/behaviors/registry/cli/atoms/std-orb-lint-http-egress-entry.orb +1 -1
  237. package/behaviors/registry/cli/atoms/std-orb-lint-icon-exists.orb +1 -1
  238. package/behaviors/registry/cli/atoms/std-orb-lint-icon-format.orb +1 -1
  239. package/behaviors/registry/cli/atoms/std-orb-lint-id-refs.orb +1 -1
  240. package/behaviors/registry/cli/atoms/std-orb-lint-identity-unique.orb +1 -1
  241. package/behaviors/registry/cli/atoms/std-orb-lint-inbound-answer-foreign.orb +1 -1
  242. package/behaviors/registry/cli/atoms/std-orb-lint-inbound.orb +1 -1
  243. package/behaviors/registry/cli/atoms/std-orb-lint-init-coverage.orb +1 -1
  244. package/behaviors/registry/cli/atoms/std-orb-lint-input.orb +1 -1
  245. package/behaviors/registry/cli/atoms/std-orb-lint-item-action-event.orb +1 -1
  246. package/behaviors/registry/cli/atoms/std-orb-lint-keyed-call-keys.orb +1 -1
  247. package/behaviors/registry/cli/atoms/std-orb-lint-keyed-call.orb +1 -1
  248. package/behaviors/registry/cli/atoms/std-orb-lint-listen-per.orb +1 -1
  249. package/behaviors/registry/cli/atoms/std-orb-lint-listen-redundant-embed-route.orb +1 -1
  250. package/behaviors/registry/cli/atoms/std-orb-lint-listen-route-starves-required-field.orb +1 -1
  251. package/behaviors/registry/cli/atoms/std-orb-lint-listen-source-never-produces.orb +1 -1
  252. package/behaviors/registry/cli/atoms/std-orb-lint-listen-source-unresolved.orb +1 -1
  253. package/behaviors/registry/cli/atoms/std-orb-lint-listen-trigger.orb +1 -1
  254. package/behaviors/registry/cli/atoms/std-orb-lint-listen-wildcard-unkeyed.orb +1 -1
  255. package/behaviors/registry/cli/atoms/std-orb-lint-literal-default.orb +1 -1
  256. package/behaviors/registry/cli/atoms/std-orb-lint-llm-wire-unrouted.orb +1 -1
  257. package/behaviors/registry/cli/atoms/std-orb-lint-loop-invariant-parse.orb +1 -1
  258. package/behaviors/registry/cli/atoms/std-orb-lint-mem-handles.orb +1 -1
  259. package/behaviors/registry/cli/atoms/std-orb-lint-merged-fields.orb +1 -1
  260. package/behaviors/registry/cli/atoms/std-orb-lint-missing-orbital-name.orb +1 -1
  261. package/behaviors/registry/cli/atoms/std-orb-lint-nav-target.orb +1 -1
  262. package/behaviors/registry/cli/atoms/std-orb-lint-navigate.orb +1 -1
  263. package/behaviors/registry/cli/atoms/std-orb-lint-not-found.orb +1 -1
  264. package/behaviors/registry/cli/atoms/std-orb-lint-oauth.orb +1 -1
  265. package/behaviors/registry/cli/atoms/std-orb-lint-orbital-config-dead-knob.orb +1 -1
  266. package/behaviors/registry/cli/atoms/std-orb-lint-orbital-duplicate-name.orb +1 -1
  267. package/behaviors/registry/cli/atoms/std-orb-lint-page-content-owner.orb +1 -1
  268. package/behaviors/registry/cli/atoms/std-orb-lint-page-empty-traits.orb +1 -1
  269. package/behaviors/registry/cli/atoms/std-orb-lint-page-modifiers.orb +1 -1
  270. package/behaviors/registry/cli/atoms/std-orb-lint-page-path-uniqueness.orb +1 -1
  271. package/behaviors/registry/cli/atoms/std-orb-lint-page-path.orb +1 -1
  272. package/behaviors/registry/cli/atoms/std-orb-lint-page-unreachable.orb +1 -1
  273. package/behaviors/registry/cli/atoms/std-orb-lint-parallel-pure.orb +1 -1
  274. package/behaviors/registry/cli/atoms/std-orb-lint-pattern-props.orb +1 -1
  275. package/behaviors/registry/cli/atoms/std-orb-lint-payload-field-name.orb +1 -1
  276. package/behaviors/registry/cli/atoms/std-orb-lint-placement.orb +1 -1
  277. package/behaviors/registry/cli/atoms/std-orb-lint-program-eval.orb +1 -1
  278. package/behaviors/registry/cli/atoms/std-orb-lint-query-index.orb +1 -1
  279. package/behaviors/registry/cli/atoms/std-orb-lint-relation-targets.orb +1 -1
  280. package/behaviors/registry/cli/atoms/std-orb-lint-render-ui-pattern.orb +1 -1
  281. package/behaviors/registry/cli/atoms/std-orb-lint-reserved-component-name.orb +1 -1
  282. package/behaviors/registry/cli/atoms/std-orb-lint-retired-effect-forms.orb +1 -1
  283. package/behaviors/registry/cli/atoms/std-orb-lint-rui-binding.orb +1 -1
  284. package/behaviors/registry/cli/atoms/std-orb-lint-rui-effects.orb +1 -1
  285. package/behaviors/registry/cli/atoms/std-orb-lint-schema-header.orb +1 -1
  286. package/behaviors/registry/cli/atoms/std-orb-lint-service-def.orb +1 -1
  287. package/behaviors/registry/cli/atoms/std-orb-lint-set-column.orb +1 -1
  288. package/behaviors/registry/cli/atoms/std-orb-lint-sexpr-binding.orb +1 -1
  289. package/behaviors/registry/cli/atoms/std-orb-lint-sigil-context.orb +1 -1
  290. package/behaviors/registry/cli/atoms/std-orb-lint-sign-in-route.orb +1 -1
  291. package/behaviors/registry/cli/atoms/std-orb-lint-slot-tick.orb +1 -1
  292. package/behaviors/registry/cli/atoms/std-orb-lint-slot.orb +1 -1
  293. package/behaviors/registry/cli/atoms/std-orb-lint-state-shape.orb +1 -1
  294. package/behaviors/registry/cli/atoms/std-orb-lint-state-unreachable.orb +1 -1
  295. package/behaviors/registry/cli/atoms/std-orb-lint-store-binding.orb +1 -1
  296. package/behaviors/registry/cli/atoms/std-orb-lint-theme-pin-contradicts-app.orb +1 -1
  297. package/behaviors/registry/cli/atoms/std-orb-lint-theme-ref.orb +1 -1
  298. package/behaviors/registry/cli/atoms/std-orb-lint-theme-undeclared.orb +1 -1
  299. package/behaviors/registry/cli/atoms/std-orb-lint-theme-values.orb +1 -1
  300. package/behaviors/registry/cli/atoms/std-orb-lint-tick-requires-runtime.orb +1 -1
  301. package/behaviors/registry/cli/atoms/std-orb-lint-time-unit.orb +1 -1
  302. package/behaviors/registry/cli/atoms/std-orb-lint-trait-embeds.orb +1 -1
  303. package/behaviors/registry/cli/atoms/std-orb-lint-trait-id-uniqueness.orb +1 -1
  304. package/behaviors/registry/cli/atoms/std-orb-lint-trait-mounts.orb +1 -1
  305. package/behaviors/registry/cli/atoms/std-orb-lint-trait-ref-config.orb +1 -1
  306. package/behaviors/registry/cli/atoms/std-orb-lint-trait-refs.orb +1 -1
  307. package/behaviors/registry/cli/atoms/std-orb-lint-transition-refs.orb +1 -1
  308. package/behaviors/registry/cli/atoms/std-orb-lint-type-param-sweep.orb +1 -1
  309. package/behaviors/registry/cli/atoms/std-orb-lint-unsigned-guard.orb +1 -1
  310. package/behaviors/registry/cli/atoms/std-orb-lint-untyped-array.orb +1 -1
  311. package/behaviors/registry/cli/atoms/std-orb-lint-user-field-exists.orb +1 -1
  312. package/behaviors/registry/cli/atoms/std-orb-lint-user-identity.orb +1 -1
  313. package/behaviors/registry/cli/atoms/std-orb-lint-viewer-stranded.orb +1 -1
  314. package/behaviors/registry/cli/atoms/std-orb-mcp-install.orb +1 -1
  315. package/behaviors/registry/cli/atoms/std-orb-mcp.orb +1 -1
  316. package/behaviors/registry/cli/atoms/std-orb-packages.orb +1 -1
  317. package/behaviors/registry/cli/atoms/std-orb-supervise.orb +1 -1
  318. package/behaviors/registry/cli/atoms/std-orb-update-notice.orb +1 -1
  319. package/behaviors/registry/cli/atoms/std-orb-validate.orb +1 -1
  320. package/behaviors/registry/dev/atoms/std-launchpad-updates.orb +1 -1
  321. package/behaviors/registry/dev/atoms/std-orb-stats.orb +1 -1
  322. package/behaviors/registry/dev/organisms/std-launchpad.orb +5 -0
  323. package/package.json +1 -1
@@ -1 +1 @@
1
- {"typeContractVersion":1,"types":{"LintCodeDecl":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"LintSchemaHeaderCodes":[{"nullable":false,"name":"sMissingName","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"sNoOrbitals","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"sEmptyVersion","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}}],"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"SchemaHeaderOrbital":[{"nullable":false,"name":"name","type":"string"}],"SchemaHeaderProgram":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"}],"items":{"nullable":false,"name":"","type":"SchemaHeaderOrbital","projectedFrom":{"type":"SchemaHeaderOrbital"}}},{"nullable":false,"name":"version","type":"string"}]},"name":"std-orb-lint-schema-header","version":"1.0.0","description":"std-orb-lint-schema-header — the `orb lint schema-header <file>` command, the port of ORB_S_MISSING_NAME, ORB_S_NO_ORBITALS and ORB_S_EMPTY_VERSION (cross_orbital/mod.rs validate_cross_orbital). It lowers the file with program/read and reports an empty or absent schema name, a schema with no orbitals, and a version that is present but empty, each with the Rust path, message and suggestion (status 500, exit 1). Clean answers `lint schema-header: clean` (status 200, exit 0). Anything but one file argument is the usage (status 400, exit 2); an unreadable or unlowerable file is status 500.","orbitals":[{"name":"OrbLintSchemaHeaderOrbital","id":"orb_1DR1CQ5WFTY7XA6XF1NF0TXY83","uses":[{"from":"almadar-std/lint-schema-header","as":"Spec"},{"from":"std/behaviors/std-orb-lint-input","as":"Input"}],"entity":{"name":"OrbLintSchemaHeaderRun","id":"ent_EFEW8S2FVH7XRR6D38TRB65P39","persistence":"runtime","fields":[{"nullable":false,"name":"id","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","default":""},{"nullable":false,"name":"findings","type":"array","default":[],"items":{"nullable":false,"type":"object","properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"path":{"nullable":false,"name":"path","type":"string","required":true},"message":{"nullable":false,"name":"message","type":"string","required":true},"suggestion":{"nullable":false,"name":"suggestion","type":"string","required":true},"severity":{"nullable":false,"name":"severity","type":"string","required":false,"values":["warning","error"]}},"projectedFrom":{"type":"OrbFinding"}}}]},"traits":[{"name":"OrbLintSchemaHeader","id":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX","effectRow":[{"kind":"emit","resource":"LINT_FINISH"},{"kind":"emit","resource":"LINT_FOUND"},{"kind":"set","resource":"@entity.findings"},{"kind":"set","resource":"@entity.scope"}],"linkedEntity":"OrbLintSchemaHeaderRun","linkedEntityId":"ent_EFEW8S2FVH7XRR6D38TRB65P39","entityRefIds":{"OrbLintSchemaHeaderRun":"ent_EFEW8S2FVH7XRR6D38TRB65P39"},"emits":[{"event":"LINT_FOUND","eventId":"evt_QTRPVNTM03A01GGD218E2Z3EWF","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_FINISH","eventId":"evt_VDS51H92RPHCBAF0HPXAFF7P3H","description":"Internal: answer with the verdict.","tier":"internal"}],"listens":[{"event":"LINT_INPUT","eventId":"evt_ZJ2MAWXKDFSPQQBY2W7R76M9XE","triggers":"LINT_INPUT","triggersId":"evt_ZJ2MAWXKDFSPQQBY2W7R76M9XE","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_3RY6S5QNBCTNP4JKQ1YP9HBACF"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true}],"events":[{"key":"INIT","id":"evt_GH1P6FHTCFX67YX32T821X905N","name":"Initialize"},{"key":"LINT_INPUT","id":"evt_ZJ2MAWXKDFSPQQBY2W7R76M9XE","name":"Lint Input","description":"The lint input: the file read, its language decided and the program lowered.","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true},{"nullable":false,"name":"raw","type":"string","required":true},{"nullable":false,"name":"latin","type":"boolean","required":true},{"nullable":false,"name":"program","type":"object","required":true,"properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"}],"items":{"nullable":false,"name":"","type":"SchemaHeaderOrbital","projectedFrom":{"type":"SchemaHeaderOrbital"}}},{"nullable":false,"name":"version","type":"string"}],"projectedFrom":{"type":"SchemaHeaderProgram"}},{"nullable":false,"name":"scope","type":"string","required":true}],"listened":true},{"key":"LINT_FINISH","id":"evt_VDS51H92RPHCBAF0HPXAFF7P3H","name":"Lint Finish","description":"Internal: answer with the verdict.","tier":"internal"},{"key":"LINT_FOUND","id":"evt_QTRPVNTM03A01GGD218E2Z3EWF","name":"Lint Found","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_GH1P6FHTCFX67YX32T821X905N"},{"from":"ready","to":"ready","event":"LINT_INPUT","eventId":"evt_ZJ2MAWXKDFSPQQBY2W7R76M9XE","effects":[["set","@entity.scope","@payload.scope"],["set","@entity.findings",["let",[["res","@payload.program"]],["array/flatten",[["if",["=",["object/get","@res","name",""],""],[{"code":"@config.codes.sMissingName.code","path":"name","message":"Schema name is required","suggestion":"Add a name for your schema","severity":"error"}],[]],["if",["=",["array/len",["object/get","@res","orbitals",[]]],0],[{"code":"@config.codes.sNoOrbitals.code","path":"orbitals","message":"Schema must have at least one orbital","suggestion":"Add at least one orbital to define application features","severity":"error"}],[]],["if",["and",["object/has","@res","version"],["=",["object/get","@res","version"],""]],[{"code":"@config.codes.sEmptyVersion.code","path":"version","message":"Schema version should not be empty","suggestion":"Use semantic versioning (e.g., '1.0.0')","severity":"error"}],[]]]]]],["emit","LINT_FINISH",{}]]},{"from":"ready","to":"ready","event":"LINT_FINISH","eventId":"evt_VDS51H92RPHCBAF0HPXAFF7P3H","effects":[["emit","LINT_FOUND",{"rule":"schema-header","scope":"@entity.scope","findings":"@entity.findings"}]]}]},"config":{"codes":{"nullable":false,"type":"LintSchemaHeaderCodes","default":{"sMissingName":{"code":"ORB_S_MISSING_NAME","category":"schema","description":"The schema does not declare a name"},"sNoOrbitals":{"code":"ORB_S_NO_ORBITALS","category":"schema","description":"The schema declares no orbitals"},"sEmptyVersion":{"code":"ORB_S_EMPTY_VERSION","category":"schema","description":"The schema version is empty"}},"label":"Emitted codes","description":"The finding codes this rule emits, with their category and meaning; the registry is generated from this declaration.","properties":{"sMissingName":{"nullable":false,"name":"sMissingName","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"sNoOrbitals":{"nullable":false,"name":"sNoOrbitals","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"sEmptyVersion":{"nullable":false,"name":"sEmptyVersion","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}}},"projectedFrom":{"type":"LintSchemaHeaderCodes"}}},"dispatch":"optimistic","sourceDeclaration":{"traitId":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX","fingerprint":"893e33c4a592f16c2f3d01a70f5fa68ede01fc2894a8f1f1767b6d0db537a58b"}},{"name":"OrbLintSchemaHeaderCli","id":"trt_RD626XTFQW7VY7RQSHWB2BDA1E","effectRow":[{"kind":"emit","resource":"LINT_ANSWERED"},{"kind":"emit","resource":"LINT_REQUEST"}],"linkedEntity":"OrbLintSchemaHeaderRun","linkedEntityId":"ent_EFEW8S2FVH7XRR6D38TRB65P39","entityRefIds":{"OrbLintSchemaHeaderRun":"ent_EFEW8S2FVH7XRR6D38TRB65P39"},"emits":[{"event":"LINT_ANSWERED","eventId":"evt_5F99RSJJHX98YGWTQNQT7VBBVH","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"event":"LINT_REQUEST","eventId":"evt_F74NWQV79YKMZ7FBWDGES0M1XA","description":"Ask the lint input to read and lower this file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]},{"event":"LINT_FOUND","eventId":"evt_QCKMY6WV58DJM78G41071MKZHD","description":"The rule trait's findings for the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_INPUT_UNREAD","eventId":"evt_QNXFK937XVKYXJ924HWPP1GC6F","description":"The lint input could not read or lower the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"listens":[{"event":"LINT_FOUND","eventId":"evt_QTRPVNTM03A01GGD218E2Z3EWF","triggers":"LINT_FOUND","triggersId":"evt_QCKMY6WV58DJM78G41071MKZHD","source":{"kind":"trait","trait":"OrbLintSchemaHeader","traitId":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX"}},{"event":"LINT_INPUT_UNREAD","eventId":"evt_QNXFK937XVKYXJ924HWPP1GC6F","triggers":"LINT_INPUT_UNREAD","triggersId":"evt_QNXFK937XVKYXJ924HWPP1GC6F","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_3RY6S5QNBCTNP4JKQ1YP9HBACF"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true},{"name":"waiting"}],"events":[{"key":"INIT","id":"evt_EMJS1P4XGPERBESARZMA1TXKX1","name":"Initialize"},{"key":"LINT_CALLED","id":"evt_CFBCMRF8KHM9RHK8MJFJ13HDAR","name":"Lint Called","description":"Run `orb lint schema-header` with its arguments and working directory.","synonyms":"orb lint schema-header","payloadSchema":[{"nullable":false,"name":"headers","type":"Map<string,string>","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"rawBody","type":"string","required":true}],"listened":true,"inbound":{"name":"cli-lint-schema-header","answers":"LINT_ANSWERED"}},{"key":"LINT_FOUND","id":"evt_QCKMY6WV58DJM78G41071MKZHD","name":"Lint Found","description":"The rule trait's findings for the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"key":"LINT_INPUT_UNREAD","id":"evt_QNXFK937XVKYXJ924HWPP1GC6F","name":"Lint Input Unread","description":"The lint input could not read or lower the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}],"listened":true},{"key":"LINT_ANSWERED","id":"evt_5F99RSJJHX98YGWTQNQT7VBBVH","name":"Lint Answered","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"key":"LINT_REQUEST","id":"evt_F74NWQV79YKMZ7FBWDGES0M1XA","name":"Lint Request","description":"Ask the lint input to read and lower this file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_EMJS1P4XGPERBESARZMA1TXKX1"},{"from":"ready","to":"ready","event":"LINT_CALLED","eventId":"evt_CFBCMRF8KHM9RHK8MJFJ13HDAR","guard":["=",["json/parse","@payload.rawBody","OrbCommandArgs"],null],"effects":[["emit","LINT_ANSWERED",{"status":500,"body":"Error: orb lint schema-header: the command arguments could not be read"}]]},{"from":"ready","to":"ready","event":"LINT_CALLED","eventId":"evt_CFBCMRF8KHM9RHK8MJFJ13HDAR","guard":["and",["!=",["json/parse","@payload.rawBody","OrbCommandArgs"],null],["!=",["array/len",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]],1]],"effects":[["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint schema-header <file>"}]]},{"from":"ready","to":"waiting","event":"LINT_CALLED","eventId":"evt_CFBCMRF8KHM9RHK8MJFJ13HDAR","guard":["and",["!=",["json/parse","@payload.rawBody","OrbCommandArgs"],null],["=",["array/len",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]],1]],"effects":[["let",[["argFile",["array/first",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]]]],["if",["=","@argFile",null],["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint schema-header <file>"}],["emit","LINT_REQUEST",{"file":"@argFile"}]]]]},{"from":"waiting","to":"waiting","event":"INIT","eventId":"evt_EMJS1P4XGPERBESARZMA1TXKX1"},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_QCKMY6WV58DJM78G41071MKZHD","guard":["and",["=","@payload.rule","schema-header"],["=",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":200,"body":"lint schema-header: clean"}]]},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_QCKMY6WV58DJM78G41071MKZHD","guard":["and",["=","@payload.rule","schema-header"],[">",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":500,"body":["str/join",["array/map","@payload.findings",["fn","x",["str/concat","[",["object/get","@x","code"],"] ",["object/get","@x","path"],": ",["object/get","@x","message"],["if",["=",["object/get","@x","suggestion"],""],"",["str/concat","\n suggestion: ",["object/get","@x","suggestion"]]]]]],"\n"]}]]},{"from":"waiting","to":"ready","event":"LINT_INPUT_UNREAD","eventId":"evt_QNXFK937XVKYXJ924HWPP1GC6F","effects":[["emit","LINT_ANSWERED",{"status":500,"body":"lint schema-header: the file could not be read or lowered"}]]}]},"dispatch":"client","sourceDeclaration":{"traitId":"trt_RD626XTFQW7VY7RQSHWB2BDA1E","fingerprint":"6870644844e155d7b5b8bc870976d09a92e3533c91ec0171b247eccd94aa41bf"}},{"ref":"Input.traits.Versions","id":"trt_V2TC8RNMDST6WWDEFZ371WZHCP","name":"Versions"},{"ref":"Input.traits.Packs","id":"trt_5PB2JDHYZVZFXVDKDY7CT71KC0","name":"Packs"},{"ref":"Input.traits.OrbLintInput","id":"trt_3RY6S5QNBCTNP4JKQ1YP9HBACF","name":"OrbLintInput","listens":[{"event":"LINT_REQUEST","triggers":"LINT_REQUEST","source":{"kind":"trait","trait":"OrbLintSchemaHeaderCli"}},{"event":"SCAN_ANSWERED","triggers":"LANG_SCAN_ANSWERED","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACK_VOCAB","triggers":"LANGUAGE_PACK_VOCAB_HEARD","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACKS_DONE","triggers":"LANGUAGE_PACKS_DONE_HEARD","source":{"kind":"trait","trait":"Packs"}}]}],"pages":[{"name":"OrbLintSchemaHeaderOrbitalStart","id":"pag_03MPZHQC2YP1FCP9HF64HX6V3R","path":"","protocol":"boot","traits":[{"ref":"OrbLintSchemaHeader","refId":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX"},{"ref":"OrbLintSchemaHeaderCli","refId":"trt_RD626XTFQW7VY7RQSHWB2BDA1E"},{"ref":"OrbLintInput","refId":"trt_3RY6S5QNBCTNP4JKQ1YP9HBACF"},{"ref":"Packs","refId":"trt_5PB2JDHYZVZFXVDKDY7CT71KC0"},{"ref":"Versions","refId":"trt_V2TC8RNMDST6WWDEFZ371WZHCP"}]}],"types":{"LintCodeDecl":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"LintSchemaHeaderCodes":[{"nullable":false,"name":"sMissingName","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"sNoOrbitals","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"sEmptyVersion","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}}],"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"SchemaHeaderOrbital":[{"nullable":false,"name":"name","type":"string"}],"SchemaHeaderProgram":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"}],"items":{"nullable":false,"name":"","type":"SchemaHeaderOrbital","projectedFrom":{"type":"SchemaHeaderOrbital"}}},{"nullable":false,"name":"version","type":"string"}]}}],"inbound":["cli-lint-schema-header"],"osGrants":{"fs":[{"glob":"/**","modes":["read"]},{"glob":"~/.orb/node_modules/**","modes":["read"]}],"exec":["orb"],"net":[],"env":["PATH"],"stdio":[],"sys":[],"desktop":[],"anchored":{"fs":[{"anchor":"cwd","glob":"**","modes":["read"]}]}},"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_EFEW8S2FVH7XRR6D38TRB65P39":{"id":"ent_EFEW8S2FVH7XRR6D38TRB65P39","kind":"entity","bakedName":"OrbLintSchemaHeaderRun","curName":"OrbLintSchemaHeaderRun","renames":[],"owner":"workspace"},"evt_5F99RSJJHX98YGWTQNQT7VBBVH":{"id":"evt_5F99RSJJHX98YGWTQNQT7VBBVH","kind":"event","bakedName":"LINT_ANSWERED","curName":"LINT_ANSWERED","renames":[],"owner":"workspace","parent":"trt_RD626XTFQW7VY7RQSHWB2BDA1E"},"evt_CFBCMRF8KHM9RHK8MJFJ13HDAR":{"id":"evt_CFBCMRF8KHM9RHK8MJFJ13HDAR","kind":"event","bakedName":"LINT_CALLED","curName":"LINT_CALLED","renames":[],"owner":"workspace","parent":"trt_RD626XTFQW7VY7RQSHWB2BDA1E"},"evt_EMJS1P4XGPERBESARZMA1TXKX1":{"id":"evt_EMJS1P4XGPERBESARZMA1TXKX1","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_RD626XTFQW7VY7RQSHWB2BDA1E"},"evt_F74NWQV79YKMZ7FBWDGES0M1XA":{"id":"evt_F74NWQV79YKMZ7FBWDGES0M1XA","kind":"event","bakedName":"LINT_REQUEST","curName":"LINT_REQUEST","renames":[],"owner":"workspace","parent":"trt_RD626XTFQW7VY7RQSHWB2BDA1E"},"evt_GH1P6FHTCFX67YX32T821X905N":{"id":"evt_GH1P6FHTCFX67YX32T821X905N","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX"},"evt_QCKMY6WV58DJM78G41071MKZHD":{"id":"evt_QCKMY6WV58DJM78G41071MKZHD","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_RD626XTFQW7VY7RQSHWB2BDA1E"},"evt_QNXFK937XVKYXJ924HWPP1GC6F":{"id":"evt_QNXFK937XVKYXJ924HWPP1GC6F","kind":"event","bakedName":"LINT_INPUT_UNREAD","curName":"LINT_INPUT_UNREAD","renames":[],"owner":"workspace","parent":"trt_RD626XTFQW7VY7RQSHWB2BDA1E"},"evt_QTRPVNTM03A01GGD218E2Z3EWF":{"id":"evt_QTRPVNTM03A01GGD218E2Z3EWF","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX"},"evt_VDS51H92RPHCBAF0HPXAFF7P3H":{"id":"evt_VDS51H92RPHCBAF0HPXAFF7P3H","kind":"event","bakedName":"LINT_FINISH","curName":"LINT_FINISH","renames":[],"owner":"workspace","parent":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX"},"evt_ZJ2MAWXKDFSPQQBY2W7R76M9XE":{"id":"evt_ZJ2MAWXKDFSPQQBY2W7R76M9XE","kind":"event","bakedName":"LINT_INPUT","curName":"LINT_INPUT","renames":[],"owner":"workspace","parent":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX"},"orb_1DR1CQ5WFTY7XA6XF1NF0TXY83":{"id":"orb_1DR1CQ5WFTY7XA6XF1NF0TXY83","kind":"orbital","bakedName":"OrbLintSchemaHeaderOrbital","curName":"OrbLintSchemaHeaderOrbital","renames":[],"owner":"workspace"},"pag_03MPZHQC2YP1FCP9HF64HX6V3R":{"id":"pag_03MPZHQC2YP1FCP9HF64HX6V3R","kind":"page","bakedName":"OrbLintSchemaHeaderOrbitalStart","curName":"OrbLintSchemaHeaderOrbitalStart","renames":[],"owner":"workspace"},"trt_3RY6S5QNBCTNP4JKQ1YP9HBACF":{"id":"trt_3RY6S5QNBCTNP4JKQ1YP9HBACF","kind":"trait","bakedName":"OrbLintInput","curName":"OrbLintInput","renames":[],"owner":"workspace"},"trt_5PB2JDHYZVZFXVDKDY7CT71KC0":{"id":"trt_5PB2JDHYZVZFXVDKDY7CT71KC0","kind":"trait","bakedName":"Packs","curName":"Packs","renames":[],"owner":"workspace"},"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX":{"id":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX","kind":"trait","bakedName":"OrbLintSchemaHeader","curName":"OrbLintSchemaHeader","renames":[],"owner":"workspace"},"trt_RD626XTFQW7VY7RQSHWB2BDA1E":{"id":"trt_RD626XTFQW7VY7RQSHWB2BDA1E","kind":"trait","bakedName":"OrbLintSchemaHeaderCli","curName":"OrbLintSchemaHeaderCli","renames":[],"owner":"workspace"},"trt_V2TC8RNMDST6WWDEFZ371WZHCP":{"id":"trt_V2TC8RNMDST6WWDEFZ371WZHCP","kind":"trait","bakedName":"Versions","curName":"Versions","renames":[],"owner":"workspace"}}}}
1
+ {"typeContractVersion":1,"types":{"LintCodeDecl":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"LintSchemaHeaderCodes":[{"nullable":false,"name":"sMissingName","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"sNoOrbitals","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"sEmptyVersion","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}}],"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"SchemaHeaderOrbital":[{"nullable":false,"name":"name","type":"string"}],"SchemaHeaderProgram":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"}],"items":{"nullable":false,"name":"","type":"SchemaHeaderOrbital","projectedFrom":{"type":"SchemaHeaderOrbital"}}},{"nullable":false,"name":"version","type":"string"}]},"name":"std-orb-lint-schema-header","version":"1.0.0","description":"std-orb-lint-schema-header — the `orb lint schema-header <file>` command, the port of ORB_S_MISSING_NAME, ORB_S_NO_ORBITALS and ORB_S_EMPTY_VERSION (cross_orbital/mod.rs validate_cross_orbital). It lowers the file with program/read and reports an empty or absent schema name, a schema with no orbitals, and a version that is present but empty, each with the Rust path, message and suggestion (status 500, exit 1). Clean answers `lint schema-header: clean` (status 200, exit 0). Anything but one file argument is the usage (status 400, exit 2); an unreadable or unlowerable file is status 500.","orbitals":[{"name":"OrbLintSchemaHeaderOrbital","id":"orb_1DR1CQ5WFTY7XA6XF1NF0TXY83","uses":[{"from":"almadar-std/lint-schema-header","as":"Spec"},{"from":"std/behaviors/std-orb-lint-input","as":"Input"}],"entity":{"name":"OrbLintSchemaHeaderRun","id":"ent_EFEW8S2FVH7XRR6D38TRB65P39","persistence":"runtime","fields":[{"nullable":false,"name":"id","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","default":""},{"nullable":false,"name":"findings","type":"array","default":[],"items":{"nullable":false,"type":"object","properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"path":{"nullable":false,"name":"path","type":"string","required":true},"message":{"nullable":false,"name":"message","type":"string","required":true},"suggestion":{"nullable":false,"name":"suggestion","type":"string","required":true},"severity":{"nullable":false,"name":"severity","type":"string","required":false,"values":["warning","error"]}},"projectedFrom":{"type":"OrbFinding"}}}]},"traits":[{"name":"OrbLintSchemaHeader","id":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX","effectRow":[{"kind":"emit","resource":"LINT_FINISH"},{"kind":"emit","resource":"LINT_FOUND"},{"kind":"set","resource":"@entity.findings"},{"kind":"set","resource":"@entity.scope"}],"linkedEntity":"OrbLintSchemaHeaderRun","linkedEntityId":"ent_EFEW8S2FVH7XRR6D38TRB65P39","entityRefIds":{"OrbLintSchemaHeaderRun":"ent_EFEW8S2FVH7XRR6D38TRB65P39"},"emits":[{"event":"LINT_FOUND","eventId":"evt_QTRPVNTM03A01GGD218E2Z3EWF","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_FINISH","eventId":"evt_VDS51H92RPHCBAF0HPXAFF7P3H","description":"Internal: answer with the verdict.","tier":"internal"}],"listens":[{"event":"LINT_INPUT","eventId":"evt_ZJ2MAWXKDFSPQQBY2W7R76M9XE","triggers":"LINT_INPUT","triggersId":"evt_ZJ2MAWXKDFSPQQBY2W7R76M9XE","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_3RY6S5QNBCTNP4JKQ1YP9HBACF"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true}],"events":[{"key":"INIT","id":"evt_GH1P6FHTCFX67YX32T821X905N","name":"Initialize"},{"key":"LINT_INPUT","id":"evt_ZJ2MAWXKDFSPQQBY2W7R76M9XE","name":"Lint Input","description":"The lint input: the file read, its language decided and the program lowered.","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true},{"nullable":false,"name":"raw","type":"string","required":true},{"nullable":false,"name":"latin","type":"boolean","required":true},{"nullable":false,"name":"program","type":"object","required":true,"properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"}],"items":{"nullable":false,"name":"","type":"SchemaHeaderOrbital","projectedFrom":{"type":"SchemaHeaderOrbital"}}},{"nullable":false,"name":"version","type":"string"}],"projectedFrom":{"type":"SchemaHeaderProgram"}},{"nullable":false,"name":"scope","type":"string","required":true}],"listened":true},{"key":"LINT_FINISH","id":"evt_VDS51H92RPHCBAF0HPXAFF7P3H","name":"Lint Finish","description":"Internal: answer with the verdict.","tier":"internal"},{"key":"LINT_FOUND","id":"evt_QTRPVNTM03A01GGD218E2Z3EWF","name":"Lint Found","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_GH1P6FHTCFX67YX32T821X905N"},{"from":"ready","to":"ready","event":"LINT_INPUT","eventId":"evt_ZJ2MAWXKDFSPQQBY2W7R76M9XE","effects":[["set","@entity.scope","@payload.scope"],["set","@entity.findings",["let",[["res","@payload.program"]],["array/flatten",[["if",["=",["object/get","@res","name",""],""],[{"code":"@config.codes.sMissingName.code","path":"name","message":"Schema name is required","suggestion":"Add a name for your schema","severity":"error"}],[]],["if",["=",["array/len",["object/get","@res","orbitals",[]]],0],[{"code":"@config.codes.sNoOrbitals.code","path":"orbitals","message":"Schema must have at least one orbital","suggestion":"Add at least one orbital to define application features","severity":"error"}],[]],["if",["and",["object/has","@res","version"],["=",["object/get","@res","version"],""]],[{"code":"@config.codes.sEmptyVersion.code","path":"version","message":"Schema version should not be empty","suggestion":"Use semantic versioning (e.g., '1.0.0')","severity":"error"}],[]]]]]],["emit","LINT_FINISH",{}]]},{"from":"ready","to":"ready","event":"LINT_FINISH","eventId":"evt_VDS51H92RPHCBAF0HPXAFF7P3H","effects":[["emit","LINT_FOUND",{"rule":"schema-header","scope":"@entity.scope","findings":"@entity.findings"}]]}]},"config":{"codes":{"nullable":false,"type":"LintSchemaHeaderCodes","default":{"sMissingName":{"code":"ORB_S_MISSING_NAME","category":"schema","description":"The schema does not declare a name"},"sNoOrbitals":{"code":"ORB_S_NO_ORBITALS","category":"schema","description":"The schema declares no orbitals"},"sEmptyVersion":{"code":"ORB_S_EMPTY_VERSION","category":"schema","description":"The schema version is empty"}},"label":"Emitted codes","description":"The finding codes this rule emits, with their category and meaning; the registry is generated from this declaration.","properties":{"sMissingName":{"nullable":false,"name":"sMissingName","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"sNoOrbitals":{"nullable":false,"name":"sNoOrbitals","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"sEmptyVersion":{"nullable":false,"name":"sEmptyVersion","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}}},"projectedFrom":{"type":"LintSchemaHeaderCodes"}}},"dispatch":"optimistic","sourceDeclaration":{"traitId":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX","fingerprint":"893e33c4a592f16c2f3d01a70f5fa68ede01fc2894a8f1f1767b6d0db537a58b"}},{"name":"OrbLintSchemaHeaderCli","id":"trt_RD626XTFQW7VY7RQSHWB2BDA1E","effectRow":[{"kind":"emit","resource":"LINT_ANSWERED"},{"kind":"emit","resource":"LINT_REQUEST"}],"linkedEntity":"OrbLintSchemaHeaderRun","linkedEntityId":"ent_EFEW8S2FVH7XRR6D38TRB65P39","entityRefIds":{"OrbLintSchemaHeaderRun":"ent_EFEW8S2FVH7XRR6D38TRB65P39"},"emits":[{"event":"LINT_ANSWERED","eventId":"evt_5F99RSJJHX98YGWTQNQT7VBBVH","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"event":"LINT_REQUEST","eventId":"evt_F74NWQV79YKMZ7FBWDGES0M1XA","description":"Ask the lint input to read and lower this file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]},{"event":"LINT_FOUND","eventId":"evt_QCKMY6WV58DJM78G41071MKZHD","description":"The rule trait's findings for the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_INPUT_UNREAD","eventId":"evt_QNXFK937XVKYXJ924HWPP1GC6F","description":"The lint input could not read or lower the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"listens":[{"event":"LINT_FOUND","eventId":"evt_QTRPVNTM03A01GGD218E2Z3EWF","triggers":"LINT_FOUND","triggersId":"evt_QCKMY6WV58DJM78G41071MKZHD","source":{"kind":"trait","trait":"OrbLintSchemaHeader","traitId":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX"}},{"event":"LINT_INPUT_UNREAD","eventId":"evt_QNXFK937XVKYXJ924HWPP1GC6F","triggers":"LINT_INPUT_UNREAD","triggersId":"evt_QNXFK937XVKYXJ924HWPP1GC6F","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_3RY6S5QNBCTNP4JKQ1YP9HBACF"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true},{"name":"waiting"}],"events":[{"key":"INIT","id":"evt_EMJS1P4XGPERBESARZMA1TXKX1","name":"Initialize"},{"key":"LINT_CALLED","id":"evt_CFBCMRF8KHM9RHK8MJFJ13HDAR","name":"Lint Called","description":"Run `orb lint schema-header` with its arguments and working directory.","synonyms":"orb lint schema-header","payloadSchema":[{"nullable":false,"name":"headers","type":"Map<string,string>","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"rawBody","type":"string","required":true}],"listened":true,"inbound":{"name":"cli-lint-schema-header","answers":"LINT_ANSWERED"}},{"key":"LINT_FOUND","id":"evt_QCKMY6WV58DJM78G41071MKZHD","name":"Lint Found","description":"The rule trait's findings for the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"key":"LINT_INPUT_UNREAD","id":"evt_QNXFK937XVKYXJ924HWPP1GC6F","name":"Lint Input Unread","description":"The lint input could not read or lower the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}],"listened":true},{"key":"LINT_ANSWERED","id":"evt_5F99RSJJHX98YGWTQNQT7VBBVH","name":"Lint Answered","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"key":"LINT_REQUEST","id":"evt_F74NWQV79YKMZ7FBWDGES0M1XA","name":"Lint Request","description":"Ask the lint input to read and lower this file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_EMJS1P4XGPERBESARZMA1TXKX1"},{"from":"ready","to":"ready","event":"LINT_CALLED","eventId":"evt_CFBCMRF8KHM9RHK8MJFJ13HDAR","guard":["=",["json/parse","@payload.rawBody","OrbCommandArgs"],null],"effects":[["emit","LINT_ANSWERED",{"status":500,"body":"Error: orb lint schema-header: the command arguments could not be read"}]]},{"from":"ready","to":"ready","event":"LINT_CALLED","eventId":"evt_CFBCMRF8KHM9RHK8MJFJ13HDAR","guard":["and",["!=",["json/parse","@payload.rawBody","OrbCommandArgs"],null],["!=",["array/len",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]],1]],"effects":[["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint schema-header <file>"}]]},{"from":"ready","to":"waiting","event":"LINT_CALLED","eventId":"evt_CFBCMRF8KHM9RHK8MJFJ13HDAR","guard":["and",["!=",["json/parse","@payload.rawBody","OrbCommandArgs"],null],["=",["array/len",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]],1]],"effects":[["let",[["argFile",["array/first",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]]]],["if",["=","@argFile",null],["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint schema-header <file>"}],["emit","LINT_REQUEST",{"file":"@argFile"}]]]]},{"from":"waiting","to":"waiting","event":"INIT","eventId":"evt_EMJS1P4XGPERBESARZMA1TXKX1"},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_QCKMY6WV58DJM78G41071MKZHD","guard":["and",["=","@payload.rule","schema-header"],["=",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":200,"body":"lint schema-header: clean"}]]},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_QCKMY6WV58DJM78G41071MKZHD","guard":["and",["=","@payload.rule","schema-header"],[">",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":500,"body":["str/join",["array/map","@payload.findings",["fn","x",["str/concat","[",["object/get","@x","code"],"] ",["object/get","@x","path"],": ",["object/get","@x","message"],["if",["=",["object/get","@x","suggestion"],""],"",["str/concat","\n suggestion: ",["object/get","@x","suggestion"]]]]]],"\n"]}]]},{"from":"waiting","to":"ready","event":"LINT_INPUT_UNREAD","eventId":"evt_QNXFK937XVKYXJ924HWPP1GC6F","effects":[["emit","LINT_ANSWERED",{"status":500,"body":"lint schema-header: the file could not be read or lowered"}]]}]},"dispatch":"client","sourceDeclaration":{"traitId":"trt_RD626XTFQW7VY7RQSHWB2BDA1E","fingerprint":"6870644844e155d7b5b8bc870976d09a92e3533c91ec0171b247eccd94aa41bf"}},{"ref":"Input.traits.Versions","id":"trt_V2TC8RNMDST6WWDEFZ371WZHCP","name":"Versions"},{"ref":"Input.traits.Packs","id":"trt_5PB2JDHYZVZFXVDKDY7CT71KC0","name":"Packs"},{"ref":"Input.traits.OrbLintInput","id":"trt_3RY6S5QNBCTNP4JKQ1YP9HBACF","name":"OrbLintInput","listens":[{"event":"LINT_REQUEST","triggers":"LINT_REQUEST","source":{"kind":"trait","trait":"OrbLintSchemaHeaderCli"}},{"event":"SCAN_ANSWERED","triggers":"LANG_SCAN_ANSWERED","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACK_VOCAB","triggers":"LANGUAGE_PACK_VOCAB_HEARD","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACKS_DONE","triggers":"LANGUAGE_PACKS_DONE_HEARD","source":{"kind":"trait","trait":"Packs"}}]}],"pages":[{"name":"OrbLintSchemaHeaderOrbitalStart","id":"pag_03MPZHQC2YP1FCP9HF64HX6V3R","path":"","protocol":"boot","traits":[{"ref":"OrbLintSchemaHeader","refId":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX"},{"ref":"OrbLintSchemaHeaderCli","refId":"trt_RD626XTFQW7VY7RQSHWB2BDA1E"},{"ref":"OrbLintInput","refId":"trt_3RY6S5QNBCTNP4JKQ1YP9HBACF"},{"ref":"Packs","refId":"trt_5PB2JDHYZVZFXVDKDY7CT71KC0"},{"ref":"Versions","refId":"trt_V2TC8RNMDST6WWDEFZ371WZHCP"}]}],"types":{"LintCodeDecl":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"LintSchemaHeaderCodes":[{"nullable":false,"name":"sMissingName","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"sNoOrbitals","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"sEmptyVersion","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}}],"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"SchemaHeaderOrbital":[{"nullable":false,"name":"name","type":"string"}],"SchemaHeaderProgram":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"}],"items":{"nullable":false,"name":"","type":"SchemaHeaderOrbital","projectedFrom":{"type":"SchemaHeaderOrbital"}}},{"nullable":false,"name":"version","type":"string"}]}}],"inbound":["cli-lint-schema-header"],"osGrants":{"fs":[{"glob":"/**","modes":["read"]},{"glob":"~/.orb/node_modules/**","modes":["read"]}],"exec":[],"net":[],"env":["PATH"],"stdio":[],"sys":[],"desktop":[],"anchored":{"fs":[{"anchor":"cwd","glob":"**","modes":["read"]}],"exec":[{"anchor":"exe"}]}},"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_EFEW8S2FVH7XRR6D38TRB65P39":{"id":"ent_EFEW8S2FVH7XRR6D38TRB65P39","kind":"entity","bakedName":"OrbLintSchemaHeaderRun","curName":"OrbLintSchemaHeaderRun","renames":[],"owner":"workspace"},"evt_5F99RSJJHX98YGWTQNQT7VBBVH":{"id":"evt_5F99RSJJHX98YGWTQNQT7VBBVH","kind":"event","bakedName":"LINT_ANSWERED","curName":"LINT_ANSWERED","renames":[],"owner":"workspace","parent":"trt_RD626XTFQW7VY7RQSHWB2BDA1E"},"evt_CFBCMRF8KHM9RHK8MJFJ13HDAR":{"id":"evt_CFBCMRF8KHM9RHK8MJFJ13HDAR","kind":"event","bakedName":"LINT_CALLED","curName":"LINT_CALLED","renames":[],"owner":"workspace","parent":"trt_RD626XTFQW7VY7RQSHWB2BDA1E"},"evt_EMJS1P4XGPERBESARZMA1TXKX1":{"id":"evt_EMJS1P4XGPERBESARZMA1TXKX1","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_RD626XTFQW7VY7RQSHWB2BDA1E"},"evt_F74NWQV79YKMZ7FBWDGES0M1XA":{"id":"evt_F74NWQV79YKMZ7FBWDGES0M1XA","kind":"event","bakedName":"LINT_REQUEST","curName":"LINT_REQUEST","renames":[],"owner":"workspace","parent":"trt_RD626XTFQW7VY7RQSHWB2BDA1E"},"evt_GH1P6FHTCFX67YX32T821X905N":{"id":"evt_GH1P6FHTCFX67YX32T821X905N","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX"},"evt_QCKMY6WV58DJM78G41071MKZHD":{"id":"evt_QCKMY6WV58DJM78G41071MKZHD","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_RD626XTFQW7VY7RQSHWB2BDA1E"},"evt_QNXFK937XVKYXJ924HWPP1GC6F":{"id":"evt_QNXFK937XVKYXJ924HWPP1GC6F","kind":"event","bakedName":"LINT_INPUT_UNREAD","curName":"LINT_INPUT_UNREAD","renames":[],"owner":"workspace","parent":"trt_RD626XTFQW7VY7RQSHWB2BDA1E"},"evt_QTRPVNTM03A01GGD218E2Z3EWF":{"id":"evt_QTRPVNTM03A01GGD218E2Z3EWF","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX"},"evt_VDS51H92RPHCBAF0HPXAFF7P3H":{"id":"evt_VDS51H92RPHCBAF0HPXAFF7P3H","kind":"event","bakedName":"LINT_FINISH","curName":"LINT_FINISH","renames":[],"owner":"workspace","parent":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX"},"evt_ZJ2MAWXKDFSPQQBY2W7R76M9XE":{"id":"evt_ZJ2MAWXKDFSPQQBY2W7R76M9XE","kind":"event","bakedName":"LINT_INPUT","curName":"LINT_INPUT","renames":[],"owner":"workspace","parent":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX"},"orb_1DR1CQ5WFTY7XA6XF1NF0TXY83":{"id":"orb_1DR1CQ5WFTY7XA6XF1NF0TXY83","kind":"orbital","bakedName":"OrbLintSchemaHeaderOrbital","curName":"OrbLintSchemaHeaderOrbital","renames":[],"owner":"workspace"},"pag_03MPZHQC2YP1FCP9HF64HX6V3R":{"id":"pag_03MPZHQC2YP1FCP9HF64HX6V3R","kind":"page","bakedName":"OrbLintSchemaHeaderOrbitalStart","curName":"OrbLintSchemaHeaderOrbitalStart","renames":[],"owner":"workspace"},"trt_3RY6S5QNBCTNP4JKQ1YP9HBACF":{"id":"trt_3RY6S5QNBCTNP4JKQ1YP9HBACF","kind":"trait","bakedName":"OrbLintInput","curName":"OrbLintInput","renames":[],"owner":"workspace"},"trt_5PB2JDHYZVZFXVDKDY7CT71KC0":{"id":"trt_5PB2JDHYZVZFXVDKDY7CT71KC0","kind":"trait","bakedName":"Packs","curName":"Packs","renames":[],"owner":"workspace"},"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX":{"id":"trt_C2BWG6HGY8RF4ECBT3JVPCPVYX","kind":"trait","bakedName":"OrbLintSchemaHeader","curName":"OrbLintSchemaHeader","renames":[],"owner":"workspace"},"trt_RD626XTFQW7VY7RQSHWB2BDA1E":{"id":"trt_RD626XTFQW7VY7RQSHWB2BDA1E","kind":"trait","bakedName":"OrbLintSchemaHeaderCli","curName":"OrbLintSchemaHeaderCli","renames":[],"owner":"workspace"},"trt_V2TC8RNMDST6WWDEFZ371WZHCP":{"id":"trt_V2TC8RNMDST6WWDEFZ371WZHCP","kind":"trait","bakedName":"Versions","curName":"Versions","renames":[],"owner":"workspace"}}}}
@@ -1 +1 @@
1
- {"typeContractVersion":1,"types":{"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"SvAuth":[{"nullable":false,"name":"type","type":"string"},{"nullable":true,"name":"keyName","type":"string"},{"nullable":true,"name":"secretEnv","type":"string"}],"SvDef":[{"nullable":false,"name":"type","type":"string"},{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"baseUrl","type":"string"},{"nullable":false,"name":"url","type":"string"},{"nullable":false,"name":"serverPath","type":"string"},{"nullable":true,"name":"ref","type":"string"},{"nullable":true,"name":"timeout","type":"number"},{"nullable":true,"name":"auth","type":"SvAuth","projectedFrom":{"type":"SvAuth"}},{"nullable":false,"name":"events","type":"object","properties":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvEvents"}},{"nullable":false,"name":"capabilities","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"SvEvents":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"SvOrbital":[{"nullable":false,"name":"services","type":"array","items":{"nullable":false,"name":"item","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"SvDef","type":"object","properties":[{"nullable":false,"name":"type","type":"string"},{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"baseUrl","type":"string"},{"nullable":false,"name":"url","type":"string"},{"nullable":false,"name":"serverPath","type":"string"},{"nullable":true,"name":"ref","type":"string"},{"nullable":true,"name":"timeout","type":"number"},{"nullable":true,"name":"auth","type":"SvAuth","projectedFrom":{"type":"SvAuth"}},{"nullable":false,"name":"events","type":"object","properties":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvEvents"}},{"nullable":false,"name":"capabilities","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvDef"}}]}}],"SvProgram":[{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"services","type":"array","items":{"nullable":false,"name":"item","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"SvDef","type":"object","properties":[{"nullable":false,"name":"type","type":"string"},{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"baseUrl","type":"string"},{"nullable":false,"name":"url","type":"string"},{"nullable":false,"name":"serverPath","type":"string"},{"nullable":true,"name":"ref","type":"string"},{"nullable":true,"name":"timeout","type":"number"},{"nullable":true,"name":"auth","type":"SvAuth","projectedFrom":{"type":"SvAuth"}},{"nullable":false,"name":"events","type":"object","properties":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvEvents"}},{"nullable":false,"name":"capabilities","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvDef"}}]}}],"items":{"nullable":false,"name":"","type":"SvOrbital","projectedFrom":{"type":"SvOrbital"}}}]},"name":"std-orb-lint-service-def","version":"1.0.0","description":"std-orb-lint-service-def — the `orb lint service-def <file>` command, the port of service.rs validate_all_services: for each orbital service, a string or `ref` object that is not Alias.services.ServiceName is ORB_GEN_INVALID_REFERENCE; an inline rest, socket or mcp service reports ORB_E_MISSING_NAME for an empty name, ORB_GEN_INVALID_VALUE for a missing or non-http baseUrl, a secretEnv that is not UPPER_SNAKE_CASE, a zero timeout, a missing or non-ws socket url and a missing mcp serverPath, and ORB_GEN_MISSING_FIELD for an api-key auth without keyName, a socket with no events and an mcp service with no capabilities; a service named like an earlier inline service is ORB_GEN_DUPLICATE. A .lolo program never carries services (the lowering sets none), so the rule fires on .orb files. It lowers the file with program/read (status 500, exit 1 on findings). Clean answers `lint service-def: clean` (status 200, exit 0). Anything but one file argument is the usage (status 400, exit 2); an unreadable or unlowerable file is status 500.","orbitals":[{"name":"OrbLintServiceDefOrbital","id":"orb_GJ5JFR63M81T4DC7Q4WZBF16NW","uses":[{"from":"almadar-std/lint-service-def","as":"Spec"},{"from":"std/behaviors/std-orb-lint-input","as":"Input"}],"entity":{"name":"OrbLintServiceDefRun","id":"ent_T5X1MAC1VJ0XSEN1SWC488YGYP","persistence":"runtime","fields":[{"nullable":false,"name":"id","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","default":""},{"nullable":false,"name":"findings","type":"array","default":[],"items":{"nullable":false,"type":"object","properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"path":{"nullable":false,"name":"path","type":"string","required":true},"message":{"nullable":false,"name":"message","type":"string","required":true},"suggestion":{"nullable":false,"name":"suggestion","type":"string","required":true},"severity":{"nullable":false,"name":"severity","type":"string","required":false,"values":["warning","error"]}},"projectedFrom":{"type":"OrbFinding"}}}]},"traits":[{"name":"OrbLintServiceDef","id":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7","effectRow":[{"kind":"emit","resource":"LINT_FINISH"},{"kind":"emit","resource":"LINT_FOUND"},{"kind":"set","resource":"@entity.findings"},{"kind":"set","resource":"@entity.scope"}],"linkedEntity":"OrbLintServiceDefRun","linkedEntityId":"ent_T5X1MAC1VJ0XSEN1SWC488YGYP","entityRefIds":{"OrbLintServiceDefRun":"ent_T5X1MAC1VJ0XSEN1SWC488YGYP"},"emits":[{"event":"LINT_FOUND","eventId":"evt_VJ0TRAJ8VD4DPHV9JZ60CGV4JS","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_FINISH","eventId":"evt_884HSSJ40G2086CBZ7EY4A1XD3","description":"Internal: answer with the verdict.","tier":"internal"}],"listens":[{"event":"LINT_INPUT","eventId":"evt_0FZN60RS5QCJVV9YQXMKAB40ND","triggers":"LINT_INPUT","triggersId":"evt_0FZN60RS5QCJVV9YQXMKAB40ND","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_S1S24B75V1JXGJV0KBK22Z89NJ"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true}],"events":[{"key":"INIT","id":"evt_AMKQBFRC67633S2ZN83CYA663Q","name":"Initialize"},{"key":"LINT_INPUT","id":"evt_0FZN60RS5QCJVV9YQXMKAB40ND","name":"Lint Input","description":"The lint input: the file read, its language decided and the program lowered.","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true},{"nullable":false,"name":"raw","type":"string","required":true},{"nullable":false,"name":"latin","type":"boolean","required":true},{"nullable":false,"name":"program","type":"object","required":true,"properties":[{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"services","type":"array","items":{"nullable":false,"name":"item","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"SvDef","type":"object","properties":[{"nullable":false,"name":"type","type":"string"},{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"baseUrl","type":"string"},{"nullable":false,"name":"url","type":"string"},{"nullable":false,"name":"serverPath","type":"string"},{"nullable":true,"name":"ref","type":"string"},{"nullable":true,"name":"timeout","type":"number"},{"nullable":true,"name":"auth","type":"SvAuth","projectedFrom":{"type":"SvAuth"}},{"nullable":false,"name":"events","type":"object","properties":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvEvents"}},{"nullable":false,"name":"capabilities","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvDef"}}]}}],"items":{"nullable":false,"name":"","type":"SvOrbital","projectedFrom":{"type":"SvOrbital"}}}],"projectedFrom":{"type":"SvProgram"}},{"nullable":false,"name":"scope","type":"string","required":true}],"listened":true},{"key":"LINT_FINISH","id":"evt_884HSSJ40G2086CBZ7EY4A1XD3","name":"Lint Finish","description":"Internal: answer with the verdict.","tier":"internal"},{"key":"LINT_FOUND","id":"evt_VJ0TRAJ8VD4DPHV9JZ60CGV4JS","name":"Lint Found","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_AMKQBFRC67633S2ZN83CYA663Q"},{"from":"ready","to":"ready","event":"LINT_INPUT","eventId":"evt_0FZN60RS5QCJVV9YQXMKAB40ND","effects":[["set","@entity.scope","@payload.scope"],["set","@entity.findings",["let",[["orbitals",["object/get","@payload.program","orbitals",[]]],["nd",{"type":"","name":"","baseUrl":"","url":"","serverPath":"","ref":null,"timeout":null,"auth":null,"events":{"inbound":[],"outbound":[]},"capabilities":[]},"{\"version\":1,\"name\":\"SvDef\",\"type\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"type\",\"fieldType\":{\"kind\":\"string\"},\"required\":false,\"constraints\":[]},{\"name\":\"name\",\"fieldType\":{\"kind\":\"string\"},\"required\":false,\"constraints\":[]},{\"name\":\"baseUrl\",\"fieldType\":{\"kind\":\"string\"},\"required\":false,\"constraints\":[]},{\"name\":\"url\",\"fieldType\":{\"kind\":\"string\"},\"required\":false,\"constraints\":[]},{\"name\":\"serverPath\",\"fieldType\":{\"kind\":\"string\"},\"required\":false,\"constraints\":[]},{\"name\":\"ref\",\"fieldType\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"string\"}},\"required\":false,\"constraints\":[]},{\"name\":\"timeout\",\"fieldType\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"number\"}},\"required\":false,\"constraints\":[]},{\"name\":\"auth\",\"fieldType\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"typeref\",\"name\":\"SvAuth\"}},\"required\":false,\"constraints\":[]},{\"name\":\"events\",\"fieldType\":{\"kind\":\"typeref\",\"name\":\"SvEvents\"},\"required\":false,\"constraints\":[]},{\"name\":\"capabilities\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}},\"required\":false,\"constraints\":[]}]},\"named\":{\"SvAuth\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"type\",\"fieldType\":{\"kind\":\"string\"},\"required\":false,\"constraints\":[]},{\"name\":\"keyName\",\"fieldType\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"string\"}},\"required\":false,\"constraints\":[]},{\"name\":\"secretEnv\",\"fieldType\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"string\"}},\"required\":false,\"constraints\":[]}]},\"SvEvents\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"inbound\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}},\"required\":false,\"constraints\":[]},{\"name\":\"outbound\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}},\"required\":false,\"constraints\":[]}]}}}"]],["let",[["all",["array/flatten",["array/map",["array/range",0,["array/len","@orbitals"]],["fn","oi",["let",[["svs",["object/get",["array/nth","@orbitals","@oi"],"services",[]]]],["array/map",["array/range",0,["array/len","@svs"]],["fn","sj",{"path":["str/concat","orbitals[","@oi","].services[","@sj","]"],"s":["array/nth","@svs","@sj"]}]]]]]]]],["let",[["names",["array/map","@all",["fn","r",["let",[["s",["object/get","@r","s"]]],["let",[["o",["if",["validate/object","@s"],"@s","@nd"]]],["if",["or",["=",["object/get","@o","type",""],"rest"],["=",["object/get","@o","type",""],"socket"],["=",["object/get","@o","type",""],"mcp"]],["object/get","@o","name",""],null]]]]]]],["array/flatten",["array/map",["array/range",0,["array/len","@all"]],["fn","k",["let",[["r",["array/nth","@all","@k"]]],["let",[["s",["object/get","@r","s"]],["p",["object/get","@r","path"]]],["let",[["o",["if",["validate/object","@s"],"@s","@nd"]]],["let",[["ty",["object/get","@o","type",""]],["rf",["if",["validate/string","@s"],"@s",["object/get","@o","ref",null]]]],["array/map",["array/concat",["if",["and",["validate/string","@rf"],["not",["or",["=","@ty","rest"],["=","@ty","socket"],["=","@ty","mcp"]]],["not",["validate/pattern","@rf","^[A-Z][a-zA-Z0-9]*\\.services\\.[a-zA-Z][a-zA-Z0-9]*$"]]],[{"c":"ORB_GEN_INVALID_REFERENCE","p":"","m":["str/concat","Invalid service reference '","@rf","'. Must be in format 'Alias.services.ServiceName'"]}],[]],["if",["=","@ty","rest"],["let",[["u",["object/get","@o","baseUrl",""]],["au",["object/get","@o","auth",null]]],["array/concat",["if",["=",["object/get","@o","name",""],""],[{"c":"ORB_E_MISSING_NAME","p":".name","m":"Service name is required"}],[]],["if",["=","@u",""],[{"c":"ORB_GEN_INVALID_VALUE","p":".baseUrl","m":"REST service requires a baseUrl"}],["if",["or",["str/startsWith","@u","http://"],["str/startsWith","@u","https://"],["str/startsWith","@u","${"]],[],[{"c":"ORB_GEN_INVALID_VALUE","p":".baseUrl","m":["str/concat","Invalid URL: '","@u","'"]}]]],["if",["validate/object","@au"],["array/concat",["if",["and",["=",["object/get","@au","type",""],"api-key"],["=",["object/get","@au","keyName",null],null]],[{"c":"ORB_GEN_MISSING_FIELD","p":".auth.keyName","m":"api-key auth should specify keyName"}],[]],["let",[["se",["object/get","@au","secretEnv",null]]],["if",["and",["validate/string","@se"],["not",["validate/pattern","@se","^[A-Z_][A-Z0-9_]*$"]]],[{"c":"ORB_GEN_INVALID_VALUE","p":".auth.secretEnv","m":["str/concat","secretEnv '","@se","' should be UPPER_SNAKE_CASE"]}],[]]]],[]],["if",["=",["object/get","@o","timeout",null],0],[{"c":"ORB_GEN_INVALID_VALUE","p":".timeout","m":"Timeout of 0 may cause immediate failures"}],[]]]],["if",["=","@ty","socket"],["let",[["u",["object/get","@o","url",""]],["ev",["object/get","@o","events",{}]]],["array/concat",["if",["=",["object/get","@o","name",""],""],[{"c":"ORB_E_MISSING_NAME","p":".name","m":"Service name is required"}],[]],["if",["=","@u",""],[{"c":"ORB_GEN_INVALID_VALUE","p":".url","m":"Socket service requires a url"}],["if",["or",["str/startsWith","@u","ws://"],["str/startsWith","@u","wss://"]],[],[{"c":"ORB_GEN_INVALID_VALUE","p":".url","m":["str/concat","Socket URL must start with ws:// or wss://, got: '","@u","'"]}]]],["if",["and",["=",["array/len",["object/get","@ev","inbound",[]]],0],["=",["array/len",["object/get","@ev","outbound",[]]],0]],[{"c":"ORB_GEN_MISSING_FIELD","p":".events","m":"Socket service has no inbound or outbound events defined"}],[]]]],["if",["=","@ty","mcp"],["array/concat",["if",["=",["object/get","@o","name",""],""],[{"c":"ORB_E_MISSING_NAME","p":".name","m":"Service name is required"}],[]],["if",["=",["object/get","@o","serverPath",""],""],[{"c":"ORB_GEN_INVALID_VALUE","p":".serverPath","m":"MCP service requires a serverPath"}],[]],["if",["=",["array/len",["object/get","@o","capabilities",[]]],0],[{"c":"ORB_GEN_MISSING_FIELD","p":".capabilities","m":"MCP service has no capabilities defined"}],[]]],[]]]],["let",[["nm",["array/nth","@names","@k"]]],["if",["=","@nm",null],[],["if",["array/includes",["array/slice","@names",0,"@k"],"@nm"],[{"c":"ORB_GEN_DUPLICATE","p":"","m":["str/concat","Duplicate service name '","@nm","'"]}],[]]]]],["fn","f",{"code":["object/get","@f","c"],"path":["str/concat","@p",["object/get","@f","p"]],"message":["object/get","@f","m"],"suggestion":"","severity":"error"}]]]]]]]]]]]]],["emit","LINT_FINISH",{}]]},{"from":"ready","to":"ready","event":"LINT_FINISH","eventId":"evt_884HSSJ40G2086CBZ7EY4A1XD3","effects":[["emit","LINT_FOUND",{"rule":"service-def","scope":"@entity.scope","findings":"@entity.findings"}]]}]},"dispatch":"optimistic","sourceDeclaration":{"traitId":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7","fingerprint":"ff056a7f7933d7fb68c29a7ae54cc1333c212e2a0d1cca72a4efe69bfe4fd306"}},{"name":"OrbLintServiceDefCli","id":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D","effectRow":[{"kind":"emit","resource":"LINT_ANSWERED"},{"kind":"emit","resource":"LINT_REQUEST"}],"linkedEntity":"OrbLintServiceDefRun","linkedEntityId":"ent_T5X1MAC1VJ0XSEN1SWC488YGYP","entityRefIds":{"OrbLintServiceDefRun":"ent_T5X1MAC1VJ0XSEN1SWC488YGYP"},"emits":[{"event":"LINT_ANSWERED","eventId":"evt_WSHBVMG94F4J7HF7DFAYBN14MQ","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"event":"LINT_REQUEST","eventId":"evt_0XM1PC64F627K18TD8CAD1J41C","description":"Ask the lint input to read and lower this file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]},{"event":"LINT_FOUND","eventId":"evt_H1X9C1CMY6AF39T186GZRG5PA3","description":"The rule trait's findings for the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_INPUT_UNREAD","eventId":"evt_ACKA54KJPESB7DQ1YBQ4C5PPEN","description":"The lint input could not read or lower the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"listens":[{"event":"LINT_FOUND","eventId":"evt_VJ0TRAJ8VD4DPHV9JZ60CGV4JS","triggers":"LINT_FOUND","triggersId":"evt_H1X9C1CMY6AF39T186GZRG5PA3","source":{"kind":"trait","trait":"OrbLintServiceDef","traitId":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7"}},{"event":"LINT_INPUT_UNREAD","eventId":"evt_ACKA54KJPESB7DQ1YBQ4C5PPEN","triggers":"LINT_INPUT_UNREAD","triggersId":"evt_ACKA54KJPESB7DQ1YBQ4C5PPEN","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_S1S24B75V1JXGJV0KBK22Z89NJ"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true},{"name":"waiting"}],"events":[{"key":"INIT","id":"evt_4WTWHDF6GNK8AKNK8YZXPZB7EB","name":"Initialize"},{"key":"LINT_CALLED","id":"evt_THRT1ASGNDRAPSH2977FJ15EB7","name":"Lint Called","description":"Run `orb lint service-def` with its arguments and working directory.","synonyms":"orb lint service-def","payloadSchema":[{"nullable":false,"name":"headers","type":"Map<string,string>","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"rawBody","type":"string","required":true}],"listened":true,"inbound":{"name":"cli-lint-service-def","answers":"LINT_ANSWERED"}},{"key":"LINT_FOUND","id":"evt_H1X9C1CMY6AF39T186GZRG5PA3","name":"Lint Found","description":"The rule trait's findings for the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"key":"LINT_INPUT_UNREAD","id":"evt_ACKA54KJPESB7DQ1YBQ4C5PPEN","name":"Lint Input Unread","description":"The lint input could not read or lower the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}],"listened":true},{"key":"LINT_ANSWERED","id":"evt_WSHBVMG94F4J7HF7DFAYBN14MQ","name":"Lint Answered","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"key":"LINT_REQUEST","id":"evt_0XM1PC64F627K18TD8CAD1J41C","name":"Lint Request","description":"Ask the lint input to read and lower this file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_4WTWHDF6GNK8AKNK8YZXPZB7EB"},{"from":"ready","to":"ready","event":"LINT_CALLED","eventId":"evt_THRT1ASGNDRAPSH2977FJ15EB7","guard":["or",["=",["json/parse","@payload.rawBody","OrbCommandArgs"],null],["!=",["array/len",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]],1]],"effects":[["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint service-def <file>"}]]},{"from":"ready","to":"waiting","event":"LINT_CALLED","eventId":"evt_THRT1ASGNDRAPSH2977FJ15EB7","guard":["and",["!=",["json/parse","@payload.rawBody","OrbCommandArgs"],null],["=",["array/len",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]],1]],"effects":[["let",[["argFile",["array/first",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]]]],["if",["=","@argFile",null],["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint service-def <file>"}],["emit","LINT_REQUEST",{"file":"@argFile"}]]]]},{"from":"waiting","to":"waiting","event":"INIT","eventId":"evt_4WTWHDF6GNK8AKNK8YZXPZB7EB"},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_H1X9C1CMY6AF39T186GZRG5PA3","guard":["and",["=","@payload.rule","service-def"],["=",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":200,"body":"lint service-def: clean"}]]},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_H1X9C1CMY6AF39T186GZRG5PA3","guard":["and",["=","@payload.rule","service-def"],[">",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":500,"body":["str/join",["array/map","@payload.findings",["fn","x",["str/concat","[",["object/get","@x","code"],"] ",["object/get","@x","path"],": ",["object/get","@x","message"],["if",["=",["object/get","@x","suggestion"],""],"",["str/concat","\n suggestion: ",["object/get","@x","suggestion"]]]]]],"\n"]}]]},{"from":"waiting","to":"ready","event":"LINT_INPUT_UNREAD","eventId":"evt_ACKA54KJPESB7DQ1YBQ4C5PPEN","effects":[["emit","LINT_ANSWERED",{"status":500,"body":"lint service-def: the file could not be read or lowered"}]]}]},"dispatch":"client","sourceDeclaration":{"traitId":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D","fingerprint":"5743cb9e2ef64d46f5b3d7971cb94d6bfb78ed6c1505469224ba06b063080209"}},{"ref":"Input.traits.Versions","id":"trt_DG4DY57Y6CZ36A9N3601HN7VEC","name":"Versions"},{"ref":"Input.traits.Packs","id":"trt_D7W29NRXYJEZ91FEFAKDK6SZ7X","name":"Packs"},{"ref":"Input.traits.OrbLintInput","id":"trt_S1S24B75V1JXGJV0KBK22Z89NJ","name":"OrbLintInput","listens":[{"event":"LINT_REQUEST","triggers":"LINT_REQUEST","source":{"kind":"trait","trait":"OrbLintServiceDefCli"}},{"event":"SCAN_ANSWERED","triggers":"LANG_SCAN_ANSWERED","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACK_VOCAB","triggers":"LANGUAGE_PACK_VOCAB_HEARD","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACKS_DONE","triggers":"LANGUAGE_PACKS_DONE_HEARD","source":{"kind":"trait","trait":"Packs"}}]}],"pages":[{"name":"OrbLintServiceDefOrbitalStart","id":"pag_73N7JJ7NVFTXQHXKMJZA6YKH2M","path":"","protocol":"boot","traits":[{"ref":"OrbLintServiceDef","refId":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7"},{"ref":"OrbLintServiceDefCli","refId":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D"},{"ref":"OrbLintInput","refId":"trt_S1S24B75V1JXGJV0KBK22Z89NJ"},{"ref":"Packs","refId":"trt_D7W29NRXYJEZ91FEFAKDK6SZ7X"},{"ref":"Versions","refId":"trt_DG4DY57Y6CZ36A9N3601HN7VEC"}]}],"types":{"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"SvAuth":[{"nullable":false,"name":"type","type":"string"},{"nullable":true,"name":"keyName","type":"string"},{"nullable":true,"name":"secretEnv","type":"string"}],"SvDef":[{"nullable":false,"name":"type","type":"string"},{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"baseUrl","type":"string"},{"nullable":false,"name":"url","type":"string"},{"nullable":false,"name":"serverPath","type":"string"},{"nullable":true,"name":"ref","type":"string"},{"nullable":true,"name":"timeout","type":"number"},{"nullable":true,"name":"auth","type":"SvAuth","projectedFrom":{"type":"SvAuth"}},{"nullable":false,"name":"events","type":"object","properties":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvEvents"}},{"nullable":false,"name":"capabilities","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"SvEvents":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"SvOrbital":[{"nullable":false,"name":"services","type":"array","items":{"nullable":false,"name":"item","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"SvDef","type":"object","properties":[{"nullable":false,"name":"type","type":"string"},{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"baseUrl","type":"string"},{"nullable":false,"name":"url","type":"string"},{"nullable":false,"name":"serverPath","type":"string"},{"nullable":true,"name":"ref","type":"string"},{"nullable":true,"name":"timeout","type":"number"},{"nullable":true,"name":"auth","type":"SvAuth","projectedFrom":{"type":"SvAuth"}},{"nullable":false,"name":"events","type":"object","properties":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvEvents"}},{"nullable":false,"name":"capabilities","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvDef"}}]}}],"SvProgram":[{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"services","type":"array","items":{"nullable":false,"name":"item","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"SvDef","type":"object","properties":[{"nullable":false,"name":"type","type":"string"},{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"baseUrl","type":"string"},{"nullable":false,"name":"url","type":"string"},{"nullable":false,"name":"serverPath","type":"string"},{"nullable":true,"name":"ref","type":"string"},{"nullable":true,"name":"timeout","type":"number"},{"nullable":true,"name":"auth","type":"SvAuth","projectedFrom":{"type":"SvAuth"}},{"nullable":false,"name":"events","type":"object","properties":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvEvents"}},{"nullable":false,"name":"capabilities","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvDef"}}]}}],"items":{"nullable":false,"name":"","type":"SvOrbital","projectedFrom":{"type":"SvOrbital"}}}]}}],"inbound":["cli-lint-service-def"],"osGrants":{"fs":[{"glob":"/**","modes":["read"]},{"glob":"~/.orb/node_modules/**","modes":["read"]}],"exec":["orb"],"net":[],"env":["PATH"],"stdio":[],"sys":[],"desktop":[],"anchored":{"fs":[{"anchor":"cwd","glob":"**","modes":["read"]}]}},"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_T5X1MAC1VJ0XSEN1SWC488YGYP":{"id":"ent_T5X1MAC1VJ0XSEN1SWC488YGYP","kind":"entity","bakedName":"OrbLintServiceDefRun","curName":"OrbLintServiceDefRun","renames":[],"owner":"workspace"},"evt_0FZN60RS5QCJVV9YQXMKAB40ND":{"id":"evt_0FZN60RS5QCJVV9YQXMKAB40ND","kind":"event","bakedName":"LINT_INPUT","curName":"LINT_INPUT","renames":[],"owner":"workspace","parent":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7"},"evt_0XM1PC64F627K18TD8CAD1J41C":{"id":"evt_0XM1PC64F627K18TD8CAD1J41C","kind":"event","bakedName":"LINT_REQUEST","curName":"LINT_REQUEST","renames":[],"owner":"workspace","parent":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D"},"evt_4WTWHDF6GNK8AKNK8YZXPZB7EB":{"id":"evt_4WTWHDF6GNK8AKNK8YZXPZB7EB","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D"},"evt_884HSSJ40G2086CBZ7EY4A1XD3":{"id":"evt_884HSSJ40G2086CBZ7EY4A1XD3","kind":"event","bakedName":"LINT_FINISH","curName":"LINT_FINISH","renames":[],"owner":"workspace","parent":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7"},"evt_ACKA54KJPESB7DQ1YBQ4C5PPEN":{"id":"evt_ACKA54KJPESB7DQ1YBQ4C5PPEN","kind":"event","bakedName":"LINT_INPUT_UNREAD","curName":"LINT_INPUT_UNREAD","renames":[],"owner":"workspace","parent":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D"},"evt_AMKQBFRC67633S2ZN83CYA663Q":{"id":"evt_AMKQBFRC67633S2ZN83CYA663Q","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7"},"evt_H1X9C1CMY6AF39T186GZRG5PA3":{"id":"evt_H1X9C1CMY6AF39T186GZRG5PA3","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D"},"evt_THRT1ASGNDRAPSH2977FJ15EB7":{"id":"evt_THRT1ASGNDRAPSH2977FJ15EB7","kind":"event","bakedName":"LINT_CALLED","curName":"LINT_CALLED","renames":[],"owner":"workspace","parent":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D"},"evt_VJ0TRAJ8VD4DPHV9JZ60CGV4JS":{"id":"evt_VJ0TRAJ8VD4DPHV9JZ60CGV4JS","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7"},"evt_WSHBVMG94F4J7HF7DFAYBN14MQ":{"id":"evt_WSHBVMG94F4J7HF7DFAYBN14MQ","kind":"event","bakedName":"LINT_ANSWERED","curName":"LINT_ANSWERED","renames":[],"owner":"workspace","parent":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D"},"orb_GJ5JFR63M81T4DC7Q4WZBF16NW":{"id":"orb_GJ5JFR63M81T4DC7Q4WZBF16NW","kind":"orbital","bakedName":"OrbLintServiceDefOrbital","curName":"OrbLintServiceDefOrbital","renames":[],"owner":"workspace"},"pag_73N7JJ7NVFTXQHXKMJZA6YKH2M":{"id":"pag_73N7JJ7NVFTXQHXKMJZA6YKH2M","kind":"page","bakedName":"OrbLintServiceDefOrbitalStart","curName":"OrbLintServiceDefOrbitalStart","renames":[],"owner":"workspace"},"trt_5BTKCD5Q56VJKE7QAHNJ8C416D":{"id":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D","kind":"trait","bakedName":"OrbLintServiceDefCli","curName":"OrbLintServiceDefCli","renames":[],"owner":"workspace"},"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7":{"id":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7","kind":"trait","bakedName":"OrbLintServiceDef","curName":"OrbLintServiceDef","renames":[],"owner":"workspace"},"trt_D7W29NRXYJEZ91FEFAKDK6SZ7X":{"id":"trt_D7W29NRXYJEZ91FEFAKDK6SZ7X","kind":"trait","bakedName":"Packs","curName":"Packs","renames":[],"owner":"workspace"},"trt_DG4DY57Y6CZ36A9N3601HN7VEC":{"id":"trt_DG4DY57Y6CZ36A9N3601HN7VEC","kind":"trait","bakedName":"Versions","curName":"Versions","renames":[],"owner":"workspace"},"trt_S1S24B75V1JXGJV0KBK22Z89NJ":{"id":"trt_S1S24B75V1JXGJV0KBK22Z89NJ","kind":"trait","bakedName":"OrbLintInput","curName":"OrbLintInput","renames":[],"owner":"workspace"}}}}
1
+ {"typeContractVersion":1,"types":{"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"SvAuth":[{"nullable":false,"name":"type","type":"string"},{"nullable":true,"name":"keyName","type":"string"},{"nullable":true,"name":"secretEnv","type":"string"}],"SvDef":[{"nullable":false,"name":"type","type":"string"},{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"baseUrl","type":"string"},{"nullable":false,"name":"url","type":"string"},{"nullable":false,"name":"serverPath","type":"string"},{"nullable":true,"name":"ref","type":"string"},{"nullable":true,"name":"timeout","type":"number"},{"nullable":true,"name":"auth","type":"SvAuth","projectedFrom":{"type":"SvAuth"}},{"nullable":false,"name":"events","type":"object","properties":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvEvents"}},{"nullable":false,"name":"capabilities","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"SvEvents":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"SvOrbital":[{"nullable":false,"name":"services","type":"array","items":{"nullable":false,"name":"item","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"SvDef","type":"object","properties":[{"nullable":false,"name":"type","type":"string"},{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"baseUrl","type":"string"},{"nullable":false,"name":"url","type":"string"},{"nullable":false,"name":"serverPath","type":"string"},{"nullable":true,"name":"ref","type":"string"},{"nullable":true,"name":"timeout","type":"number"},{"nullable":true,"name":"auth","type":"SvAuth","projectedFrom":{"type":"SvAuth"}},{"nullable":false,"name":"events","type":"object","properties":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvEvents"}},{"nullable":false,"name":"capabilities","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvDef"}}]}}],"SvProgram":[{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"services","type":"array","items":{"nullable":false,"name":"item","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"SvDef","type":"object","properties":[{"nullable":false,"name":"type","type":"string"},{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"baseUrl","type":"string"},{"nullable":false,"name":"url","type":"string"},{"nullable":false,"name":"serverPath","type":"string"},{"nullable":true,"name":"ref","type":"string"},{"nullable":true,"name":"timeout","type":"number"},{"nullable":true,"name":"auth","type":"SvAuth","projectedFrom":{"type":"SvAuth"}},{"nullable":false,"name":"events","type":"object","properties":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvEvents"}},{"nullable":false,"name":"capabilities","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvDef"}}]}}],"items":{"nullable":false,"name":"","type":"SvOrbital","projectedFrom":{"type":"SvOrbital"}}}]},"name":"std-orb-lint-service-def","version":"1.0.0","description":"std-orb-lint-service-def — the `orb lint service-def <file>` command, the port of service.rs validate_all_services: for each orbital service, a string or `ref` object that is not Alias.services.ServiceName is ORB_GEN_INVALID_REFERENCE; an inline rest, socket or mcp service reports ORB_E_MISSING_NAME for an empty name, ORB_GEN_INVALID_VALUE for a missing or non-http baseUrl, a secretEnv that is not UPPER_SNAKE_CASE, a zero timeout, a missing or non-ws socket url and a missing mcp serverPath, and ORB_GEN_MISSING_FIELD for an api-key auth without keyName, a socket with no events and an mcp service with no capabilities; a service named like an earlier inline service is ORB_GEN_DUPLICATE. A .lolo program never carries services (the lowering sets none), so the rule fires on .orb files. It lowers the file with program/read (status 500, exit 1 on findings). Clean answers `lint service-def: clean` (status 200, exit 0). Anything but one file argument is the usage (status 400, exit 2); an unreadable or unlowerable file is status 500.","orbitals":[{"name":"OrbLintServiceDefOrbital","id":"orb_GJ5JFR63M81T4DC7Q4WZBF16NW","uses":[{"from":"almadar-std/lint-service-def","as":"Spec"},{"from":"std/behaviors/std-orb-lint-input","as":"Input"}],"entity":{"name":"OrbLintServiceDefRun","id":"ent_T5X1MAC1VJ0XSEN1SWC488YGYP","persistence":"runtime","fields":[{"nullable":false,"name":"id","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","default":""},{"nullable":false,"name":"findings","type":"array","default":[],"items":{"nullable":false,"type":"object","properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"path":{"nullable":false,"name":"path","type":"string","required":true},"message":{"nullable":false,"name":"message","type":"string","required":true},"suggestion":{"nullable":false,"name":"suggestion","type":"string","required":true},"severity":{"nullable":false,"name":"severity","type":"string","required":false,"values":["warning","error"]}},"projectedFrom":{"type":"OrbFinding"}}}]},"traits":[{"name":"OrbLintServiceDef","id":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7","effectRow":[{"kind":"emit","resource":"LINT_FINISH"},{"kind":"emit","resource":"LINT_FOUND"},{"kind":"set","resource":"@entity.findings"},{"kind":"set","resource":"@entity.scope"}],"linkedEntity":"OrbLintServiceDefRun","linkedEntityId":"ent_T5X1MAC1VJ0XSEN1SWC488YGYP","entityRefIds":{"OrbLintServiceDefRun":"ent_T5X1MAC1VJ0XSEN1SWC488YGYP"},"emits":[{"event":"LINT_FOUND","eventId":"evt_VJ0TRAJ8VD4DPHV9JZ60CGV4JS","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_FINISH","eventId":"evt_884HSSJ40G2086CBZ7EY4A1XD3","description":"Internal: answer with the verdict.","tier":"internal"}],"listens":[{"event":"LINT_INPUT","eventId":"evt_0FZN60RS5QCJVV9YQXMKAB40ND","triggers":"LINT_INPUT","triggersId":"evt_0FZN60RS5QCJVV9YQXMKAB40ND","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_S1S24B75V1JXGJV0KBK22Z89NJ"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true}],"events":[{"key":"INIT","id":"evt_AMKQBFRC67633S2ZN83CYA663Q","name":"Initialize"},{"key":"LINT_INPUT","id":"evt_0FZN60RS5QCJVV9YQXMKAB40ND","name":"Lint Input","description":"The lint input: the file read, its language decided and the program lowered.","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true},{"nullable":false,"name":"raw","type":"string","required":true},{"nullable":false,"name":"latin","type":"boolean","required":true},{"nullable":false,"name":"program","type":"object","required":true,"properties":[{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"services","type":"array","items":{"nullable":false,"name":"item","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"SvDef","type":"object","properties":[{"nullable":false,"name":"type","type":"string"},{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"baseUrl","type":"string"},{"nullable":false,"name":"url","type":"string"},{"nullable":false,"name":"serverPath","type":"string"},{"nullable":true,"name":"ref","type":"string"},{"nullable":true,"name":"timeout","type":"number"},{"nullable":true,"name":"auth","type":"SvAuth","projectedFrom":{"type":"SvAuth"}},{"nullable":false,"name":"events","type":"object","properties":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvEvents"}},{"nullable":false,"name":"capabilities","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvDef"}}]}}],"items":{"nullable":false,"name":"","type":"SvOrbital","projectedFrom":{"type":"SvOrbital"}}}],"projectedFrom":{"type":"SvProgram"}},{"nullable":false,"name":"scope","type":"string","required":true}],"listened":true},{"key":"LINT_FINISH","id":"evt_884HSSJ40G2086CBZ7EY4A1XD3","name":"Lint Finish","description":"Internal: answer with the verdict.","tier":"internal"},{"key":"LINT_FOUND","id":"evt_VJ0TRAJ8VD4DPHV9JZ60CGV4JS","name":"Lint Found","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_AMKQBFRC67633S2ZN83CYA663Q"},{"from":"ready","to":"ready","event":"LINT_INPUT","eventId":"evt_0FZN60RS5QCJVV9YQXMKAB40ND","effects":[["set","@entity.scope","@payload.scope"],["set","@entity.findings",["let",[["orbitals",["object/get","@payload.program","orbitals",[]]],["nd",{"type":"","name":"","baseUrl":"","url":"","serverPath":"","ref":null,"timeout":null,"auth":null,"events":{"inbound":[],"outbound":[]},"capabilities":[]},"{\"version\":1,\"name\":\"SvDef\",\"type\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"type\",\"fieldType\":{\"kind\":\"string\"},\"required\":false,\"constraints\":[]},{\"name\":\"name\",\"fieldType\":{\"kind\":\"string\"},\"required\":false,\"constraints\":[]},{\"name\":\"baseUrl\",\"fieldType\":{\"kind\":\"string\"},\"required\":false,\"constraints\":[]},{\"name\":\"url\",\"fieldType\":{\"kind\":\"string\"},\"required\":false,\"constraints\":[]},{\"name\":\"serverPath\",\"fieldType\":{\"kind\":\"string\"},\"required\":false,\"constraints\":[]},{\"name\":\"ref\",\"fieldType\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"string\"}},\"required\":false,\"constraints\":[]},{\"name\":\"timeout\",\"fieldType\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"number\"}},\"required\":false,\"constraints\":[]},{\"name\":\"auth\",\"fieldType\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"typeref\",\"name\":\"SvAuth\"}},\"required\":false,\"constraints\":[]},{\"name\":\"events\",\"fieldType\":{\"kind\":\"typeref\",\"name\":\"SvEvents\"},\"required\":false,\"constraints\":[]},{\"name\":\"capabilities\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}},\"required\":false,\"constraints\":[]}]},\"named\":{\"SvAuth\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"type\",\"fieldType\":{\"kind\":\"string\"},\"required\":false,\"constraints\":[]},{\"name\":\"keyName\",\"fieldType\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"string\"}},\"required\":false,\"constraints\":[]},{\"name\":\"secretEnv\",\"fieldType\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"string\"}},\"required\":false,\"constraints\":[]}]},\"SvEvents\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"inbound\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}},\"required\":false,\"constraints\":[]},{\"name\":\"outbound\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}},\"required\":false,\"constraints\":[]}]}}}"]],["let",[["all",["array/flatten",["array/map",["array/range",0,["array/len","@orbitals"]],["fn","oi",["let",[["svs",["object/get",["array/nth","@orbitals","@oi"],"services",[]]]],["array/map",["array/range",0,["array/len","@svs"]],["fn","sj",{"path":["str/concat","orbitals[","@oi","].services[","@sj","]"],"s":["array/nth","@svs","@sj"]}]]]]]]]],["let",[["names",["array/map","@all",["fn","r",["let",[["s",["object/get","@r","s"]]],["let",[["o",["if",["validate/object","@s"],"@s","@nd"]]],["if",["or",["=",["object/get","@o","type",""],"rest"],["=",["object/get","@o","type",""],"socket"],["=",["object/get","@o","type",""],"mcp"]],["object/get","@o","name",""],null]]]]]]],["array/flatten",["array/map",["array/range",0,["array/len","@all"]],["fn","k",["let",[["r",["array/nth","@all","@k"]]],["let",[["s",["object/get","@r","s"]],["p",["object/get","@r","path"]]],["let",[["o",["if",["validate/object","@s"],"@s","@nd"]]],["let",[["ty",["object/get","@o","type",""]],["rf",["if",["validate/string","@s"],"@s",["object/get","@o","ref",null]]]],["array/map",["array/concat",["if",["and",["validate/string","@rf"],["not",["or",["=","@ty","rest"],["=","@ty","socket"],["=","@ty","mcp"]]],["not",["validate/pattern","@rf","^[A-Z][a-zA-Z0-9]*\\.services\\.[a-zA-Z][a-zA-Z0-9]*$"]]],[{"c":"ORB_GEN_INVALID_REFERENCE","p":"","m":["str/concat","Invalid service reference '","@rf","'. Must be in format 'Alias.services.ServiceName'"]}],[]],["if",["=","@ty","rest"],["let",[["u",["object/get","@o","baseUrl",""]],["au",["object/get","@o","auth",null]]],["array/concat",["if",["=",["object/get","@o","name",""],""],[{"c":"ORB_E_MISSING_NAME","p":".name","m":"Service name is required"}],[]],["if",["=","@u",""],[{"c":"ORB_GEN_INVALID_VALUE","p":".baseUrl","m":"REST service requires a baseUrl"}],["if",["or",["str/startsWith","@u","http://"],["str/startsWith","@u","https://"],["str/startsWith","@u","${"]],[],[{"c":"ORB_GEN_INVALID_VALUE","p":".baseUrl","m":["str/concat","Invalid URL: '","@u","'"]}]]],["if",["validate/object","@au"],["array/concat",["if",["and",["=",["object/get","@au","type",""],"api-key"],["=",["object/get","@au","keyName",null],null]],[{"c":"ORB_GEN_MISSING_FIELD","p":".auth.keyName","m":"api-key auth should specify keyName"}],[]],["let",[["se",["object/get","@au","secretEnv",null]]],["if",["and",["validate/string","@se"],["not",["validate/pattern","@se","^[A-Z_][A-Z0-9_]*$"]]],[{"c":"ORB_GEN_INVALID_VALUE","p":".auth.secretEnv","m":["str/concat","secretEnv '","@se","' should be UPPER_SNAKE_CASE"]}],[]]]],[]],["if",["=",["object/get","@o","timeout",null],0],[{"c":"ORB_GEN_INVALID_VALUE","p":".timeout","m":"Timeout of 0 may cause immediate failures"}],[]]]],["if",["=","@ty","socket"],["let",[["u",["object/get","@o","url",""]],["ev",["object/get","@o","events",{}]]],["array/concat",["if",["=",["object/get","@o","name",""],""],[{"c":"ORB_E_MISSING_NAME","p":".name","m":"Service name is required"}],[]],["if",["=","@u",""],[{"c":"ORB_GEN_INVALID_VALUE","p":".url","m":"Socket service requires a url"}],["if",["or",["str/startsWith","@u","ws://"],["str/startsWith","@u","wss://"]],[],[{"c":"ORB_GEN_INVALID_VALUE","p":".url","m":["str/concat","Socket URL must start with ws:// or wss://, got: '","@u","'"]}]]],["if",["and",["=",["array/len",["object/get","@ev","inbound",[]]],0],["=",["array/len",["object/get","@ev","outbound",[]]],0]],[{"c":"ORB_GEN_MISSING_FIELD","p":".events","m":"Socket service has no inbound or outbound events defined"}],[]]]],["if",["=","@ty","mcp"],["array/concat",["if",["=",["object/get","@o","name",""],""],[{"c":"ORB_E_MISSING_NAME","p":".name","m":"Service name is required"}],[]],["if",["=",["object/get","@o","serverPath",""],""],[{"c":"ORB_GEN_INVALID_VALUE","p":".serverPath","m":"MCP service requires a serverPath"}],[]],["if",["=",["array/len",["object/get","@o","capabilities",[]]],0],[{"c":"ORB_GEN_MISSING_FIELD","p":".capabilities","m":"MCP service has no capabilities defined"}],[]]],[]]]],["let",[["nm",["array/nth","@names","@k"]]],["if",["=","@nm",null],[],["if",["array/includes",["array/slice","@names",0,"@k"],"@nm"],[{"c":"ORB_GEN_DUPLICATE","p":"","m":["str/concat","Duplicate service name '","@nm","'"]}],[]]]]],["fn","f",{"code":["object/get","@f","c"],"path":["str/concat","@p",["object/get","@f","p"]],"message":["object/get","@f","m"],"suggestion":"","severity":"error"}]]]]]]]]]]]]],["emit","LINT_FINISH",{}]]},{"from":"ready","to":"ready","event":"LINT_FINISH","eventId":"evt_884HSSJ40G2086CBZ7EY4A1XD3","effects":[["emit","LINT_FOUND",{"rule":"service-def","scope":"@entity.scope","findings":"@entity.findings"}]]}]},"dispatch":"optimistic","sourceDeclaration":{"traitId":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7","fingerprint":"ff056a7f7933d7fb68c29a7ae54cc1333c212e2a0d1cca72a4efe69bfe4fd306"}},{"name":"OrbLintServiceDefCli","id":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D","effectRow":[{"kind":"emit","resource":"LINT_ANSWERED"},{"kind":"emit","resource":"LINT_REQUEST"}],"linkedEntity":"OrbLintServiceDefRun","linkedEntityId":"ent_T5X1MAC1VJ0XSEN1SWC488YGYP","entityRefIds":{"OrbLintServiceDefRun":"ent_T5X1MAC1VJ0XSEN1SWC488YGYP"},"emits":[{"event":"LINT_ANSWERED","eventId":"evt_WSHBVMG94F4J7HF7DFAYBN14MQ","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"event":"LINT_REQUEST","eventId":"evt_0XM1PC64F627K18TD8CAD1J41C","description":"Ask the lint input to read and lower this file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]},{"event":"LINT_FOUND","eventId":"evt_H1X9C1CMY6AF39T186GZRG5PA3","description":"The rule trait's findings for the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_INPUT_UNREAD","eventId":"evt_ACKA54KJPESB7DQ1YBQ4C5PPEN","description":"The lint input could not read or lower the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"listens":[{"event":"LINT_FOUND","eventId":"evt_VJ0TRAJ8VD4DPHV9JZ60CGV4JS","triggers":"LINT_FOUND","triggersId":"evt_H1X9C1CMY6AF39T186GZRG5PA3","source":{"kind":"trait","trait":"OrbLintServiceDef","traitId":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7"}},{"event":"LINT_INPUT_UNREAD","eventId":"evt_ACKA54KJPESB7DQ1YBQ4C5PPEN","triggers":"LINT_INPUT_UNREAD","triggersId":"evt_ACKA54KJPESB7DQ1YBQ4C5PPEN","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_S1S24B75V1JXGJV0KBK22Z89NJ"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true},{"name":"waiting"}],"events":[{"key":"INIT","id":"evt_4WTWHDF6GNK8AKNK8YZXPZB7EB","name":"Initialize"},{"key":"LINT_CALLED","id":"evt_THRT1ASGNDRAPSH2977FJ15EB7","name":"Lint Called","description":"Run `orb lint service-def` with its arguments and working directory.","synonyms":"orb lint service-def","payloadSchema":[{"nullable":false,"name":"headers","type":"Map<string,string>","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"rawBody","type":"string","required":true}],"listened":true,"inbound":{"name":"cli-lint-service-def","answers":"LINT_ANSWERED"}},{"key":"LINT_FOUND","id":"evt_H1X9C1CMY6AF39T186GZRG5PA3","name":"Lint Found","description":"The rule trait's findings for the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"key":"LINT_INPUT_UNREAD","id":"evt_ACKA54KJPESB7DQ1YBQ4C5PPEN","name":"Lint Input Unread","description":"The lint input could not read or lower the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}],"listened":true},{"key":"LINT_ANSWERED","id":"evt_WSHBVMG94F4J7HF7DFAYBN14MQ","name":"Lint Answered","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"key":"LINT_REQUEST","id":"evt_0XM1PC64F627K18TD8CAD1J41C","name":"Lint Request","description":"Ask the lint input to read and lower this file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_4WTWHDF6GNK8AKNK8YZXPZB7EB"},{"from":"ready","to":"ready","event":"LINT_CALLED","eventId":"evt_THRT1ASGNDRAPSH2977FJ15EB7","guard":["or",["=",["json/parse","@payload.rawBody","OrbCommandArgs"],null],["!=",["array/len",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]],1]],"effects":[["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint service-def <file>"}]]},{"from":"ready","to":"waiting","event":"LINT_CALLED","eventId":"evt_THRT1ASGNDRAPSH2977FJ15EB7","guard":["and",["!=",["json/parse","@payload.rawBody","OrbCommandArgs"],null],["=",["array/len",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]],1]],"effects":[["let",[["argFile",["array/first",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]]]],["if",["=","@argFile",null],["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint service-def <file>"}],["emit","LINT_REQUEST",{"file":"@argFile"}]]]]},{"from":"waiting","to":"waiting","event":"INIT","eventId":"evt_4WTWHDF6GNK8AKNK8YZXPZB7EB"},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_H1X9C1CMY6AF39T186GZRG5PA3","guard":["and",["=","@payload.rule","service-def"],["=",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":200,"body":"lint service-def: clean"}]]},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_H1X9C1CMY6AF39T186GZRG5PA3","guard":["and",["=","@payload.rule","service-def"],[">",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":500,"body":["str/join",["array/map","@payload.findings",["fn","x",["str/concat","[",["object/get","@x","code"],"] ",["object/get","@x","path"],": ",["object/get","@x","message"],["if",["=",["object/get","@x","suggestion"],""],"",["str/concat","\n suggestion: ",["object/get","@x","suggestion"]]]]]],"\n"]}]]},{"from":"waiting","to":"ready","event":"LINT_INPUT_UNREAD","eventId":"evt_ACKA54KJPESB7DQ1YBQ4C5PPEN","effects":[["emit","LINT_ANSWERED",{"status":500,"body":"lint service-def: the file could not be read or lowered"}]]}]},"dispatch":"client","sourceDeclaration":{"traitId":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D","fingerprint":"5743cb9e2ef64d46f5b3d7971cb94d6bfb78ed6c1505469224ba06b063080209"}},{"ref":"Input.traits.Versions","id":"trt_DG4DY57Y6CZ36A9N3601HN7VEC","name":"Versions"},{"ref":"Input.traits.Packs","id":"trt_D7W29NRXYJEZ91FEFAKDK6SZ7X","name":"Packs"},{"ref":"Input.traits.OrbLintInput","id":"trt_S1S24B75V1JXGJV0KBK22Z89NJ","name":"OrbLintInput","listens":[{"event":"LINT_REQUEST","triggers":"LINT_REQUEST","source":{"kind":"trait","trait":"OrbLintServiceDefCli"}},{"event":"SCAN_ANSWERED","triggers":"LANG_SCAN_ANSWERED","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACK_VOCAB","triggers":"LANGUAGE_PACK_VOCAB_HEARD","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACKS_DONE","triggers":"LANGUAGE_PACKS_DONE_HEARD","source":{"kind":"trait","trait":"Packs"}}]}],"pages":[{"name":"OrbLintServiceDefOrbitalStart","id":"pag_73N7JJ7NVFTXQHXKMJZA6YKH2M","path":"","protocol":"boot","traits":[{"ref":"OrbLintServiceDef","refId":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7"},{"ref":"OrbLintServiceDefCli","refId":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D"},{"ref":"OrbLintInput","refId":"trt_S1S24B75V1JXGJV0KBK22Z89NJ"},{"ref":"Packs","refId":"trt_D7W29NRXYJEZ91FEFAKDK6SZ7X"},{"ref":"Versions","refId":"trt_DG4DY57Y6CZ36A9N3601HN7VEC"}]}],"types":{"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"SvAuth":[{"nullable":false,"name":"type","type":"string"},{"nullable":true,"name":"keyName","type":"string"},{"nullable":true,"name":"secretEnv","type":"string"}],"SvDef":[{"nullable":false,"name":"type","type":"string"},{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"baseUrl","type":"string"},{"nullable":false,"name":"url","type":"string"},{"nullable":false,"name":"serverPath","type":"string"},{"nullable":true,"name":"ref","type":"string"},{"nullable":true,"name":"timeout","type":"number"},{"nullable":true,"name":"auth","type":"SvAuth","projectedFrom":{"type":"SvAuth"}},{"nullable":false,"name":"events","type":"object","properties":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvEvents"}},{"nullable":false,"name":"capabilities","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"SvEvents":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"SvOrbital":[{"nullable":false,"name":"services","type":"array","items":{"nullable":false,"name":"item","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"SvDef","type":"object","properties":[{"nullable":false,"name":"type","type":"string"},{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"baseUrl","type":"string"},{"nullable":false,"name":"url","type":"string"},{"nullable":false,"name":"serverPath","type":"string"},{"nullable":true,"name":"ref","type":"string"},{"nullable":true,"name":"timeout","type":"number"},{"nullable":true,"name":"auth","type":"SvAuth","projectedFrom":{"type":"SvAuth"}},{"nullable":false,"name":"events","type":"object","properties":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvEvents"}},{"nullable":false,"name":"capabilities","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvDef"}}]}}],"SvProgram":[{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"services","type":"array","items":{"nullable":false,"name":"item","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"SvDef","type":"object","properties":[{"nullable":false,"name":"type","type":"string"},{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"baseUrl","type":"string"},{"nullable":false,"name":"url","type":"string"},{"nullable":false,"name":"serverPath","type":"string"},{"nullable":true,"name":"ref","type":"string"},{"nullable":true,"name":"timeout","type":"number"},{"nullable":true,"name":"auth","type":"SvAuth","projectedFrom":{"type":"SvAuth"}},{"nullable":false,"name":"events","type":"object","properties":[{"nullable":false,"name":"inbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"outbound","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvEvents"}},{"nullable":false,"name":"capabilities","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"SvDef"}}]}}],"items":{"nullable":false,"name":"","type":"SvOrbital","projectedFrom":{"type":"SvOrbital"}}}]}}],"inbound":["cli-lint-service-def"],"osGrants":{"fs":[{"glob":"/**","modes":["read"]},{"glob":"~/.orb/node_modules/**","modes":["read"]}],"exec":[],"net":[],"env":["PATH"],"stdio":[],"sys":[],"desktop":[],"anchored":{"fs":[{"anchor":"cwd","glob":"**","modes":["read"]}],"exec":[{"anchor":"exe"}]}},"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_T5X1MAC1VJ0XSEN1SWC488YGYP":{"id":"ent_T5X1MAC1VJ0XSEN1SWC488YGYP","kind":"entity","bakedName":"OrbLintServiceDefRun","curName":"OrbLintServiceDefRun","renames":[],"owner":"workspace"},"evt_0FZN60RS5QCJVV9YQXMKAB40ND":{"id":"evt_0FZN60RS5QCJVV9YQXMKAB40ND","kind":"event","bakedName":"LINT_INPUT","curName":"LINT_INPUT","renames":[],"owner":"workspace","parent":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7"},"evt_0XM1PC64F627K18TD8CAD1J41C":{"id":"evt_0XM1PC64F627K18TD8CAD1J41C","kind":"event","bakedName":"LINT_REQUEST","curName":"LINT_REQUEST","renames":[],"owner":"workspace","parent":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D"},"evt_4WTWHDF6GNK8AKNK8YZXPZB7EB":{"id":"evt_4WTWHDF6GNK8AKNK8YZXPZB7EB","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D"},"evt_884HSSJ40G2086CBZ7EY4A1XD3":{"id":"evt_884HSSJ40G2086CBZ7EY4A1XD3","kind":"event","bakedName":"LINT_FINISH","curName":"LINT_FINISH","renames":[],"owner":"workspace","parent":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7"},"evt_ACKA54KJPESB7DQ1YBQ4C5PPEN":{"id":"evt_ACKA54KJPESB7DQ1YBQ4C5PPEN","kind":"event","bakedName":"LINT_INPUT_UNREAD","curName":"LINT_INPUT_UNREAD","renames":[],"owner":"workspace","parent":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D"},"evt_AMKQBFRC67633S2ZN83CYA663Q":{"id":"evt_AMKQBFRC67633S2ZN83CYA663Q","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7"},"evt_H1X9C1CMY6AF39T186GZRG5PA3":{"id":"evt_H1X9C1CMY6AF39T186GZRG5PA3","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D"},"evt_THRT1ASGNDRAPSH2977FJ15EB7":{"id":"evt_THRT1ASGNDRAPSH2977FJ15EB7","kind":"event","bakedName":"LINT_CALLED","curName":"LINT_CALLED","renames":[],"owner":"workspace","parent":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D"},"evt_VJ0TRAJ8VD4DPHV9JZ60CGV4JS":{"id":"evt_VJ0TRAJ8VD4DPHV9JZ60CGV4JS","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7"},"evt_WSHBVMG94F4J7HF7DFAYBN14MQ":{"id":"evt_WSHBVMG94F4J7HF7DFAYBN14MQ","kind":"event","bakedName":"LINT_ANSWERED","curName":"LINT_ANSWERED","renames":[],"owner":"workspace","parent":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D"},"orb_GJ5JFR63M81T4DC7Q4WZBF16NW":{"id":"orb_GJ5JFR63M81T4DC7Q4WZBF16NW","kind":"orbital","bakedName":"OrbLintServiceDefOrbital","curName":"OrbLintServiceDefOrbital","renames":[],"owner":"workspace"},"pag_73N7JJ7NVFTXQHXKMJZA6YKH2M":{"id":"pag_73N7JJ7NVFTXQHXKMJZA6YKH2M","kind":"page","bakedName":"OrbLintServiceDefOrbitalStart","curName":"OrbLintServiceDefOrbitalStart","renames":[],"owner":"workspace"},"trt_5BTKCD5Q56VJKE7QAHNJ8C416D":{"id":"trt_5BTKCD5Q56VJKE7QAHNJ8C416D","kind":"trait","bakedName":"OrbLintServiceDefCli","curName":"OrbLintServiceDefCli","renames":[],"owner":"workspace"},"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7":{"id":"trt_7VPY4ZRKVR9XW7JV58ANQFT2T7","kind":"trait","bakedName":"OrbLintServiceDef","curName":"OrbLintServiceDef","renames":[],"owner":"workspace"},"trt_D7W29NRXYJEZ91FEFAKDK6SZ7X":{"id":"trt_D7W29NRXYJEZ91FEFAKDK6SZ7X","kind":"trait","bakedName":"Packs","curName":"Packs","renames":[],"owner":"workspace"},"trt_DG4DY57Y6CZ36A9N3601HN7VEC":{"id":"trt_DG4DY57Y6CZ36A9N3601HN7VEC","kind":"trait","bakedName":"Versions","curName":"Versions","renames":[],"owner":"workspace"},"trt_S1S24B75V1JXGJV0KBK22Z89NJ":{"id":"trt_S1S24B75V1JXGJV0KBK22Z89NJ","kind":"trait","bakedName":"OrbLintInput","curName":"OrbLintInput","renames":[],"owner":"workspace"}}}}