@almadar/std 16.252.0 → 16.254.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/behaviors/lolo/agent/atoms/std-agent-pool.lolo +355 -0
  2. package/behaviors/lolo/agent/atoms/std-agent-suggestions.lolo +16 -2
  3. package/behaviors/lolo/agent/evals/eval-agent-builder.lolo +152 -0
  4. package/behaviors/lolo/agent/organisms/std-agent-builder.lolo +320 -26
  5. package/behaviors/lolo/ui/learning/atoms/std-learn-generate.lolo +6 -4
  6. package/behaviors/lolo-behavior-contracts.json +1 -1
  7. package/behaviors/registry/agent/atoms/std-agent-context.orb +1 -1
  8. package/behaviors/registry/agent/atoms/std-agent-fix-loop.orb +1 -1
  9. package/behaviors/registry/agent/atoms/std-agent-planner.orb +1 -1
  10. package/behaviors/registry/agent/atoms/std-agent-pool.orb +1 -0
  11. package/behaviors/registry/agent/atoms/std-agent-proposal.orb +1 -1
  12. package/behaviors/registry/agent/atoms/std-agent-session.orb +1 -1
  13. package/behaviors/registry/agent/atoms/std-agent-suggestions.orb +1 -1
  14. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +1 -1
  15. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +1 -1
  16. package/behaviors/registry/agent/atoms/std-agent-trace.orb +1 -1
  17. package/behaviors/registry/agent/evals/eval-agent-builder.orb +1 -0
  18. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1 -1
  19. package/behaviors/registry/agent/organisms/std-agent-builder.orb +1 -1
  20. package/behaviors/registry/infra/atoms/std-analytics.orb +1 -1
  21. package/behaviors/registry/infra/atoms/std-approval-gate.orb +1 -1
  22. package/behaviors/registry/infra/atoms/std-cache-aside.orb +1 -1
  23. package/behaviors/registry/infra/atoms/std-calendar-sync.orb +1 -1
  24. package/behaviors/registry/infra/atoms/std-cascade-on-delete.orb +1 -1
  25. package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +1 -1
  26. package/behaviors/registry/infra/atoms/std-data-erasure.orb +1 -1
  27. package/behaviors/registry/infra/atoms/std-data-import.orb +1 -1
  28. package/behaviors/registry/infra/atoms/std-global-search.orb +1 -1
  29. package/behaviors/registry/infra/atoms/std-knowledge-loop.orb +1 -1
  30. package/behaviors/registry/infra/atoms/std-lifecycle.orb +1 -1
  31. package/behaviors/registry/infra/atoms/std-migration-job.orb +1 -1
  32. package/behaviors/registry/infra/atoms/std-mod-queue.orb +1 -1
  33. package/behaviors/registry/infra/atoms/std-notification-center.orb +1 -1
  34. package/behaviors/registry/infra/atoms/std-notification-preferences.orb +1 -1
  35. package/behaviors/registry/infra/atoms/std-notify-on-event.orb +1 -1
  36. package/behaviors/registry/infra/atoms/std-page-search.orb +1 -1
  37. package/behaviors/registry/infra/atoms/std-page-watch.orb +1 -1
  38. package/behaviors/registry/infra/atoms/std-permission-matrix.orb +1 -1
  39. package/behaviors/registry/infra/atoms/std-rate-limiter.orb +1 -1
  40. package/behaviors/registry/infra/atoms/std-reminder-scheduler.orb +1 -1
  41. package/behaviors/registry/infra/atoms/std-review-cycle.orb +1 -1
  42. package/behaviors/registry/infra/atoms/std-row-access-control.orb +1 -1
  43. package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +1 -1
  44. package/behaviors/registry/infra/organisms/std-status-lifecycle-control.orb +1 -1
  45. package/behaviors/registry/ml/atoms/std-data-collector.orb +1 -1
  46. package/behaviors/registry/ml/atoms/std-graph-builder.orb +1 -1
  47. package/behaviors/registry/ml/atoms/std-ml-classify.orb +1 -1
  48. package/behaviors/registry/ml/atoms/std-ml-infer.orb +1 -1
  49. package/behaviors/registry/ml/atoms/std-ml-lookup.orb +1 -1
  50. package/behaviors/registry/ml/atoms/std-ml-posterior.orb +1 -1
  51. package/behaviors/registry/ml/atoms/std-ml-similarity.orb +1 -1
  52. package/behaviors/registry/ml/atoms/std-tokenizer.orb +1 -1
  53. package/behaviors/registry/ml/atoms/std-weight-validator.orb +1 -1
  54. package/behaviors/registry/ml/organisms/std-escalating-decision.orb +1 -1
  55. package/behaviors/registry/ml/organisms/std-knowledge-tracing.orb +1 -1
  56. package/behaviors/registry/ui/avl/atoms/std-avl-cosmic-zoom.orb +1 -1
  57. package/behaviors/registry/ui/avl/atoms/ui-avl-glyph.orb +1 -1
  58. package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +1 -1
  59. package/behaviors/registry/ui/avl/atoms/ui-avl-transition-detail.orb +1 -1
  60. package/behaviors/registry/ui/avl/atoms/ui-avl-transition-explainer.orb +1 -1
  61. package/behaviors/registry/ui/avl/atoms/ui-behavior-view.orb +1 -1
  62. package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +1 -1
  63. package/behaviors/registry/ui/avl/organisms/ui-flow-canvas.orb +1 -1
  64. package/behaviors/registry/ui/avl/organisms/ui-layers-panel.orb +1 -1
  65. package/behaviors/registry/ui/avl/organisms/ui-orb-inspector.orb +1 -1
  66. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +1 -1
  67. package/behaviors/registry/ui/core/atoms/std-app-search.orb +1 -1
  68. package/behaviors/registry/ui/core/atoms/std-behavior-catalog.orb +1 -1
  69. package/behaviors/registry/ui/core/atoms/std-behavior-tour.orb +1 -1
  70. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +1 -1
  71. package/behaviors/registry/ui/core/atoms/std-board.orb +1 -1
  72. package/behaviors/registry/ui/core/atoms/std-book-reader.orb +1 -1
  73. package/behaviors/registry/ui/core/atoms/std-browse.orb +1 -1
  74. package/behaviors/registry/ui/core/atoms/std-calendar.orb +1 -1
  75. package/behaviors/registry/ui/core/atoms/std-card-grid.orb +1 -1
  76. package/behaviors/registry/ui/core/atoms/std-confirmation.orb +1 -1
  77. package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +1 -1
  78. package/behaviors/registry/ui/core/atoms/std-date-range.orb +1 -1
  79. package/behaviors/registry/ui/core/atoms/std-doc-page.orb +1 -1
  80. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +1 -1
  81. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +1 -1
  82. package/behaviors/registry/ui/core/atoms/std-event-log.orb +1 -1
  83. package/behaviors/registry/ui/core/atoms/std-export.orb +1 -1
  84. package/behaviors/registry/ui/core/atoms/std-file-store.orb +1 -1
  85. package/behaviors/registry/ui/core/atoms/std-filter.orb +1 -1
  86. package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +1 -1
  87. package/behaviors/registry/ui/core/atoms/std-gallery.orb +1 -1
  88. package/behaviors/registry/ui/core/atoms/std-gantt-schedule.orb +1 -1
  89. package/behaviors/registry/ui/core/atoms/std-graphs.orb +1 -1
  90. package/behaviors/registry/ui/core/atoms/std-hero.orb +1 -1
  91. package/behaviors/registry/ui/core/atoms/std-home.orb +1 -1
  92. package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +1 -1
  93. package/behaviors/registry/ui/core/atoms/std-import.orb +1 -1
  94. package/behaviors/registry/ui/core/atoms/std-language-picker.orb +1 -1
  95. package/behaviors/registry/ui/core/atoms/std-media-section.orb +1 -1
  96. package/behaviors/registry/ui/core/atoms/std-modal-editor.orb +1 -1
  97. package/behaviors/registry/ui/core/atoms/std-modal.orb +1 -1
  98. package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +1 -1
  99. package/behaviors/registry/ui/core/atoms/std-notification-panel.orb +1 -1
  100. package/behaviors/registry/ui/core/atoms/std-panel-launcher.orb +1 -1
  101. package/behaviors/registry/ui/core/atoms/std-pricing.orb +1 -1
  102. package/behaviors/registry/ui/core/atoms/std-proof.orb +1 -1
  103. package/behaviors/registry/ui/core/atoms/std-prose.orb +1 -1
  104. package/behaviors/registry/ui/core/atoms/std-rating-review.orb +1 -1
  105. package/behaviors/registry/ui/core/atoms/std-record-detail.orb +1 -1
  106. package/behaviors/registry/ui/core/atoms/std-recurrence.orb +1 -1
  107. package/behaviors/registry/ui/core/atoms/std-related.orb +1 -1
  108. package/behaviors/registry/ui/core/atoms/std-role-gate.orb +1 -1
  109. package/behaviors/registry/ui/core/atoms/std-saved-search.orb +1 -1
  110. package/behaviors/registry/ui/core/atoms/std-scatter.orb +1 -1
  111. package/behaviors/registry/ui/core/atoms/std-scoped-list.orb +1 -1
  112. package/behaviors/registry/ui/core/atoms/std-selection.orb +1 -1
  113. package/behaviors/registry/ui/core/atoms/std-site-footer.orb +1 -1
  114. package/behaviors/registry/ui/core/atoms/std-site-header.orb +1 -1
  115. package/behaviors/registry/ui/core/atoms/std-slide-deck.orb +1 -1
  116. package/behaviors/registry/ui/core/atoms/std-stat-band.orb +1 -1
  117. package/behaviors/registry/ui/core/atoms/std-stats.orb +1 -1
  118. package/behaviors/registry/ui/core/atoms/std-step-flow.orb +1 -1
  119. package/behaviors/registry/ui/core/atoms/std-steps.orb +1 -1
  120. package/behaviors/registry/ui/core/atoms/std-tabs.orb +1 -1
  121. package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +1 -1
  122. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +1 -1
  123. package/behaviors/registry/ui/core/atoms/std-thread.orb +1 -1
  124. package/behaviors/registry/ui/core/atoms/std-tree.orb +1 -1
  125. package/behaviors/registry/ui/core/atoms/std-version-history.orb +1 -1
  126. package/behaviors/registry/ui/core/atoms/std-wizard.orb +1 -1
  127. package/behaviors/registry/ui/core/atoms/std-workspace-layout.orb +1 -1
  128. package/behaviors/registry/ui/core/atoms/ui-animated-graphic.orb +1 -1
  129. package/behaviors/registry/ui/core/atoms/ui-animated-reveal.orb +1 -1
  130. package/behaviors/registry/ui/core/atoms/ui-aside.orb +1 -1
  131. package/behaviors/registry/ui/core/atoms/ui-atlas-image.orb +1 -1
  132. package/behaviors/registry/ui/core/atoms/ui-atlas-panel.orb +1 -1
  133. package/behaviors/registry/ui/core/atoms/ui-avatar.orb +1 -1
  134. package/behaviors/registry/ui/core/atoms/ui-badge.orb +1 -1
  135. package/behaviors/registry/ui/core/atoms/ui-box.orb +1 -1
  136. package/behaviors/registry/ui/core/atoms/ui-button.orb +1 -1
  137. package/behaviors/registry/ui/core/atoms/ui-card.orb +1 -1
  138. package/behaviors/registry/ui/core/atoms/ui-center.orb +1 -1
  139. package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +1 -1
  140. package/behaviors/registry/ui/core/atoms/ui-conditional-wrapper.orb +1 -1
  141. package/behaviors/registry/ui/core/atoms/ui-confetti-effect.orb +1 -1
  142. package/behaviors/registry/ui/core/atoms/ui-day-cell.orb +1 -1
  143. package/behaviors/registry/ui/core/atoms/ui-dialog.orb +1 -1
  144. package/behaviors/registry/ui/core/atoms/ui-divider.orb +1 -1
  145. package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +1 -1
  146. package/behaviors/registry/ui/core/atoms/ui-flip-container.orb +1 -1
  147. package/behaviors/registry/ui/core/atoms/ui-game-icon.orb +1 -1
  148. package/behaviors/registry/ui/core/atoms/ui-hstack.orb +1 -1
  149. package/behaviors/registry/ui/core/atoms/ui-icon.orb +1 -1
  150. package/behaviors/registry/ui/core/atoms/ui-image.orb +1 -1
  151. package/behaviors/registry/ui/core/atoms/ui-infinite-scroll-sentinel.orb +1 -1
  152. package/behaviors/registry/ui/core/atoms/ui-input.orb +1 -1
  153. package/behaviors/registry/ui/core/atoms/ui-label.orb +1 -1
  154. package/behaviors/registry/ui/core/atoms/ui-law-reference-tooltip.orb +1 -1
  155. package/behaviors/registry/ui/core/atoms/ui-overlay.orb +1 -1
  156. package/behaviors/registry/ui/core/atoms/ui-pattern-tile.orb +1 -1
  157. package/behaviors/registry/ui/core/atoms/ui-presence.orb +1 -1
  158. package/behaviors/registry/ui/core/atoms/ui-progress-bar.orb +1 -1
  159. package/behaviors/registry/ui/core/atoms/ui-radio.orb +1 -1
  160. package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +1 -1
  161. package/behaviors/registry/ui/core/atoms/ui-section-header.orb +1 -1
  162. package/behaviors/registry/ui/core/atoms/ui-select.orb +1 -1
  163. package/behaviors/registry/ui/core/atoms/ui-spacer.orb +1 -1
  164. package/behaviors/registry/ui/core/atoms/ui-sparkline.orb +1 -1
  165. package/behaviors/registry/ui/core/atoms/ui-spinner.orb +1 -1
  166. package/behaviors/registry/ui/core/atoms/ui-stack.orb +1 -1
  167. package/behaviors/registry/ui/core/atoms/ui-status-dot.orb +1 -1
  168. package/behaviors/registry/ui/core/atoms/ui-svg-branch.orb +1 -1
  169. package/behaviors/registry/ui/core/atoms/ui-svg-connection.orb +1 -1
  170. package/behaviors/registry/ui/core/atoms/ui-svg-flow.orb +1 -1
  171. package/behaviors/registry/ui/core/atoms/ui-svg-grid.orb +1 -1
  172. package/behaviors/registry/ui/core/atoms/ui-svg-lobe.orb +1 -1
  173. package/behaviors/registry/ui/core/atoms/ui-svg-mesh.orb +1 -1
  174. package/behaviors/registry/ui/core/atoms/ui-svg-morph.orb +1 -1
  175. package/behaviors/registry/ui/core/atoms/ui-svg-node.orb +1 -1
  176. package/behaviors/registry/ui/core/atoms/ui-svg-pulse.orb +1 -1
  177. package/behaviors/registry/ui/core/atoms/ui-svg-ring.orb +1 -1
  178. package/behaviors/registry/ui/core/atoms/ui-svg-shield.orb +1 -1
  179. package/behaviors/registry/ui/core/atoms/ui-svg-stack.orb +1 -1
  180. package/behaviors/registry/ui/core/atoms/ui-switch.orb +1 -1
  181. package/behaviors/registry/ui/core/atoms/ui-text-highlight.orb +1 -1
  182. package/behaviors/registry/ui/core/atoms/ui-textarea.orb +1 -1
  183. package/behaviors/registry/ui/core/atoms/ui-theme-toggle.orb +1 -1
  184. package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +1 -1
  185. package/behaviors/registry/ui/core/atoms/ui-trend-indicator.orb +1 -1
  186. package/behaviors/registry/ui/core/atoms/ui-typewriter-text.orb +1 -1
  187. package/behaviors/registry/ui/core/atoms/ui-typography.orb +1 -1
  188. package/behaviors/registry/ui/core/atoms/ui-video-embed.orb +1 -1
  189. package/behaviors/registry/ui/core/atoms/ui-vstack.orb +1 -1
  190. package/behaviors/registry/ui/core/molecules/std-stat-rows.orb +1 -1
  191. package/behaviors/registry/ui/core/molecules/ui-accordion.orb +1 -1
  192. package/behaviors/registry/ui/core/molecules/ui-activation-block.orb +1 -1
  193. package/behaviors/registry/ui/core/molecules/ui-activity-rail.orb +1 -1
  194. package/behaviors/registry/ui/core/molecules/ui-agent-activity-feed.orb +1 -1
  195. package/behaviors/registry/ui/core/molecules/ui-agent-activity-row.orb +1 -1
  196. package/behaviors/registry/ui/core/molecules/ui-agent-chat-feed.orb +1 -1
  197. package/behaviors/registry/ui/core/molecules/ui-alert.orb +1 -1
  198. package/behaviors/registry/ui/core/molecules/ui-animated-counter.orb +1 -1
  199. package/behaviors/registry/ui/core/molecules/ui-bloom-quiz-block.orb +1 -1
  200. package/behaviors/registry/ui/core/molecules/ui-branching-logic-builder.orb +1 -1
  201. package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +1 -1
  202. package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +1 -1
  203. package/behaviors/registry/ui/core/molecules/ui-carousel.orb +1 -1
  204. package/behaviors/registry/ui/core/molecules/ui-change-list.orb +1 -1
  205. package/behaviors/registry/ui/core/molecules/ui-chart-legend.orb +1 -1
  206. package/behaviors/registry/ui/core/molecules/ui-chart.orb +1 -1
  207. package/behaviors/registry/ui/core/molecules/ui-code-block.orb +1 -1
  208. package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +1 -1
  209. package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +1 -1
  210. package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +1 -1
  211. package/behaviors/registry/ui/core/molecules/ui-connection-block.orb +1 -1
  212. package/behaviors/registry/ui/core/molecules/ui-container.orb +1 -1
  213. package/behaviors/registry/ui/core/molecules/ui-content-renderer.orb +1 -1
  214. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +1 -1
  215. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +1 -1
  216. package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +1 -1
  217. package/behaviors/registry/ui/core/molecules/ui-date-range-selector.orb +1 -1
  218. package/behaviors/registry/ui/core/molecules/ui-doc-breadcrumb.orb +1 -1
  219. package/behaviors/registry/ui/core/molecules/ui-doc-pagination.orb +1 -1
  220. package/behaviors/registry/ui/core/molecules/ui-doc-search.orb +1 -1
  221. package/behaviors/registry/ui/core/molecules/ui-doc-sidebar.orb +1 -1
  222. package/behaviors/registry/ui/core/molecules/ui-doc-toc.orb +1 -1
  223. package/behaviors/registry/ui/core/molecules/ui-document-details.orb +1 -1
  224. package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +1 -1
  225. package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +1 -1
  226. package/behaviors/registry/ui/core/molecules/ui-drawer.orb +1 -1
  227. package/behaviors/registry/ui/core/molecules/ui-edge-decoration.orb +1 -1
  228. package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +1 -1
  229. package/behaviors/registry/ui/core/molecules/ui-empty-state.orb +1 -1
  230. package/behaviors/registry/ui/core/molecules/ui-error-boundary.orb +1 -1
  231. package/behaviors/registry/ui/core/molecules/ui-error-state.orb +1 -1
  232. package/behaviors/registry/ui/core/molecules/ui-feature-card.orb +1 -1
  233. package/behaviors/registry/ui/core/molecules/ui-feature-grid.orb +1 -1
  234. package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +1 -1
  235. package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +1 -1
  236. package/behaviors/registry/ui/core/molecules/ui-flex.orb +1 -1
  237. package/behaviors/registry/ui/core/molecules/ui-flip-card.orb +1 -1
  238. package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +1 -1
  239. package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +1 -1
  240. package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +1 -1
  241. package/behaviors/registry/ui/core/molecules/ui-form-field.orb +1 -1
  242. package/behaviors/registry/ui/core/molecules/ui-form-layout.orb +1 -1
  243. package/behaviors/registry/ui/core/molecules/ui-form-section-header.orb +1 -1
  244. package/behaviors/registry/ui/core/molecules/ui-fx-overlay.orb +1 -1
  245. package/behaviors/registry/ui/core/molecules/ui-gantt.orb +1 -1
  246. package/behaviors/registry/ui/core/molecules/ui-geometric-pattern.orb +1 -1
  247. package/behaviors/registry/ui/core/molecules/ui-gradient-divider.orb +1 -1
  248. package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +1 -1
  249. package/behaviors/registry/ui/core/molecules/ui-graph-view.orb +1 -1
  250. package/behaviors/registry/ui/core/molecules/ui-grid.orb +1 -1
  251. package/behaviors/registry/ui/core/molecules/ui-header.orb +1 -1
  252. package/behaviors/registry/ui/core/molecules/ui-icon-button.orb +1 -1
  253. package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +1 -1
  254. package/behaviors/registry/ui/core/molecules/ui-import-progress.orb +1 -1
  255. package/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +1 -1
  256. package/behaviors/registry/ui/core/molecules/ui-input-group.orb +1 -1
  257. package/behaviors/registry/ui/core/molecules/ui-jazari-state-machine.orb +1 -1
  258. package/behaviors/registry/ui/core/molecules/ui-lightbox.orb +1 -1
  259. package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +1 -1
  260. package/behaviors/registry/ui/core/molecules/ui-line-chart.orb +1 -1
  261. package/behaviors/registry/ui/core/molecules/ui-loading-state.orb +1 -1
  262. package/behaviors/registry/ui/core/molecules/ui-map-view.orb +1 -1
  263. package/behaviors/registry/ui/core/molecules/ui-markdown-content.orb +1 -1
  264. package/behaviors/registry/ui/core/molecules/ui-matrix-question.orb +1 -1
  265. package/behaviors/registry/ui/core/molecules/ui-menu.orb +1 -1
  266. package/behaviors/registry/ui/core/molecules/ui-meter.orb +1 -1
  267. package/behaviors/registry/ui/core/molecules/ui-modal.orb +1 -1
  268. package/behaviors/registry/ui/core/molecules/ui-navigation.orb +1 -1
  269. package/behaviors/registry/ui/core/molecules/ui-notification.orb +1 -1
  270. package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +1 -1
  271. package/behaviors/registry/ui/core/molecules/ui-option-constraint-group.orb +1 -1
  272. package/behaviors/registry/ui/core/molecules/ui-orbital-visualization.orb +1 -1
  273. package/behaviors/registry/ui/core/molecules/ui-page-header.orb +1 -1
  274. package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +1 -1
  275. package/behaviors/registry/ui/core/molecules/ui-pagination.orb +1 -1
  276. package/behaviors/registry/ui/core/molecules/ui-popover.orb +1 -1
  277. package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +1 -1
  278. package/behaviors/registry/ui/core/molecules/ui-progress-dots.orb +1 -1
  279. package/behaviors/registry/ui/core/molecules/ui-pull-to-refresh.orb +1 -1
  280. package/behaviors/registry/ui/core/molecules/ui-qr-scanner.orb +1 -1
  281. package/behaviors/registry/ui/core/molecules/ui-quiz-block.orb +1 -1
  282. package/behaviors/registry/ui/core/molecules/ui-reflection-block.orb +1 -1
  283. package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +1 -1
  284. package/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +1 -1
  285. package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +1 -1
  286. package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +1 -1
  287. package/behaviors/registry/ui/core/molecules/ui-scaled-diagram.orb +1 -1
  288. package/behaviors/registry/ui/core/molecules/ui-search-input.orb +1 -1
  289. package/behaviors/registry/ui/core/molecules/ui-section.orb +1 -1
  290. package/behaviors/registry/ui/core/molecules/ui-side-panel.orb +1 -1
  291. package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +1 -1
  292. package/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +1 -1
  293. package/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +1 -1
  294. package/behaviors/registry/ui/core/molecules/ui-skeleton.orb +1 -1
  295. package/behaviors/registry/ui/core/molecules/ui-social-proof.orb +1 -1
  296. package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +1 -1
  297. package/behaviors/registry/ui/core/molecules/ui-split.orb +1 -1
  298. package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +1 -1
  299. package/behaviors/registry/ui/core/molecules/ui-stat-display.orb +1 -1
  300. package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +1 -1
  301. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +1 -1
  302. package/behaviors/registry/ui/core/molecules/ui-tabs.orb +1 -1
  303. package/behaviors/registry/ui/core/molecules/ui-tag-input.orb +1 -1
  304. package/behaviors/registry/ui/core/molecules/ui-tooltip.orb +1 -1
  305. package/behaviors/registry/ui/core/molecules/ui-top-nav-item.orb +1 -1
  306. package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +1 -1
  307. package/behaviors/registry/ui/core/molecules/ui-version-diff.orb +1 -1
  308. package/behaviors/registry/ui/core/molecules/ui-violation-alert.orb +1 -1
  309. package/behaviors/registry/ui/core/molecules/ui-vote-stack.orb +1 -1
  310. package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +1 -1
  311. package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +1 -1
  312. package/behaviors/registry/ui/core/molecules/ui-wizard-progress.orb +1 -1
  313. package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +1 -1
  314. package/behaviors/registry/ui/core/organisms/ui-code-runner-panel.orb +1 -1
  315. package/behaviors/registry/ui/core/organisms/ui-dashboard-grid.orb +1 -1
  316. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +1 -1
  317. package/behaviors/registry/ui/core/organisms/ui-dock-layout.orb +1 -1
  318. package/behaviors/registry/ui/core/organisms/ui-drawer-slot.orb +1 -1
  319. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +1 -1
  320. package/behaviors/registry/ui/core/organisms/ui-form.orb +1 -1
  321. package/behaviors/registry/ui/core/organisms/ui-master-detail-layout.orb +1 -1
  322. package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +1 -1
  323. package/behaviors/registry/ui/core/organisms/ui-modal-slot.orb +1 -1
  324. package/behaviors/registry/ui/core/organisms/ui-runtime-debugger.orb +1 -1
  325. package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +1 -1
  326. package/behaviors/registry/ui/core/organisms/ui-split-pane.orb +1 -1
  327. package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +1 -1
  328. package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +1 -1
  329. package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +1 -1
  330. package/behaviors/registry/ui/core/organisms/ui-tabbed-container.orb +1 -1
  331. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +1 -1
  332. package/behaviors/registry/ui/core/organisms/ui-toast-slot.orb +1 -1
  333. package/behaviors/registry/ui/core/templates/ui-auth-layout.orb +1 -1
  334. package/behaviors/registry/ui/core/templates/ui-counter-template.orb +1 -1
  335. package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +1 -1
  336. package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +1 -1
  337. package/behaviors/registry/ui/game/atoms/std-arcade-play.orb +1 -1
  338. package/behaviors/registry/ui/game/atoms/std-area-fill.orb +1 -1
  339. package/behaviors/registry/ui/game/atoms/std-audio-cue.orb +1 -1
  340. package/behaviors/registry/ui/game/atoms/std-camera-rig.orb +1 -1
  341. package/behaviors/registry/ui/game/atoms/std-chase-ai.orb +1 -1
  342. package/behaviors/registry/ui/game/atoms/std-choice-gate.orb +1 -1
  343. package/behaviors/registry/ui/game/atoms/std-coef-pad.orb +1 -1
  344. package/behaviors/registry/ui/game/atoms/std-curve-fog.orb +1 -1
  345. package/behaviors/registry/ui/game/atoms/std-dungeon-combat.orb +1 -1
  346. package/behaviors/registry/ui/game/atoms/std-fx-narrative.orb +1 -1
  347. package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +1 -1
  348. package/behaviors/registry/ui/game/atoms/std-fx-trail.orb +1 -1
  349. package/behaviors/registry/ui/game/atoms/std-gate-lock.orb +1 -1
  350. package/behaviors/registry/ui/game/atoms/std-gather.orb +1 -1
  351. package/behaviors/registry/ui/game/atoms/std-gold.orb +1 -1
  352. package/behaviors/registry/ui/game/atoms/std-grid-tactics.orb +1 -1
  353. package/behaviors/registry/ui/game/atoms/std-hero-nav.orb +1 -1
  354. package/behaviors/registry/ui/game/atoms/std-lives.orb +1 -1
  355. package/behaviors/registry/ui/game/atoms/std-loop-lock.orb +1 -1
  356. package/behaviors/registry/ui/game/atoms/std-market-flow.orb +1 -1
  357. package/behaviors/registry/ui/game/atoms/std-motion-body.orb +1 -1
  358. package/behaviors/registry/ui/game/atoms/std-objective-reach.orb +1 -1
  359. package/behaviors/registry/ui/game/atoms/std-pad-lock.orb +1 -1
  360. package/behaviors/registry/ui/game/atoms/std-patience.orb +1 -1
  361. package/behaviors/registry/ui/game/atoms/std-patrol-hazard.orb +1 -1
  362. package/behaviors/registry/ui/game/atoms/std-pickup.orb +1 -1
  363. package/behaviors/registry/ui/game/atoms/std-platformer-body.orb +1 -1
  364. package/behaviors/registry/ui/game/atoms/std-production.orb +1 -1
  365. package/behaviors/registry/ui/game/atoms/std-score.orb +1 -1
  366. package/behaviors/registry/ui/game/atoms/std-tutorial-autodemo.orb +1 -1
  367. package/behaviors/registry/ui/game/atoms/std-tutorial-overlay.orb +1 -1
  368. package/behaviors/registry/ui/game/atoms/std-velocity-gate.orb +1 -1
  369. package/behaviors/registry/ui/game/atoms/std-xp.orb +1 -1
  370. package/behaviors/registry/ui/game/atoms/std-zone-card.orb +1 -1
  371. package/behaviors/registry/ui/game/atoms/ui-action-palette.orb +1 -1
  372. package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +1 -1
  373. package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +1 -1
  374. package/behaviors/registry/ui/game/atoms/ui-canvas.orb +1 -1
  375. package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +1 -1
  376. package/behaviors/registry/ui/game/atoms/ui-control-button.orb +1 -1
  377. package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +1 -1
  378. package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +1 -1
  379. package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +1 -1
  380. package/behaviors/registry/ui/game/atoms/ui-draw-group.orb +1 -1
  381. package/behaviors/registry/ui/game/atoms/ui-draw-mesh.orb +1 -1
  382. package/behaviors/registry/ui/game/atoms/ui-draw-shape-layer.orb +1 -1
  383. package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +1 -1
  384. package/behaviors/registry/ui/game/atoms/ui-draw-skinned-mesh.orb +1 -1
  385. package/behaviors/registry/ui/game/atoms/ui-draw-sprite-layer.orb +1 -1
  386. package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +1 -1
  387. package/behaviors/registry/ui/game/atoms/ui-draw-text-layer.orb +1 -1
  388. package/behaviors/registry/ui/game/atoms/ui-draw-text.orb +1 -1
  389. package/behaviors/registry/ui/game/atoms/ui-game-audio-cue.orb +1 -1
  390. package/behaviors/registry/ui/game/atoms/ui-game-audio-toggle.orb +1 -1
  391. package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +1 -1
  392. package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +1 -1
  393. package/behaviors/registry/ui/game/atoms/ui-health-bar.orb +1 -1
  394. package/behaviors/registry/ui/game/atoms/ui-score-display.orb +1 -1
  395. package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +1 -1
  396. package/behaviors/registry/ui/game/atoms/ui-stat-badge.orb +1 -1
  397. package/behaviors/registry/ui/game/atoms/ui-state-graph.orb +1 -1
  398. package/behaviors/registry/ui/game/atoms/ui-state-json-view.orb +1 -1
  399. package/behaviors/registry/ui/game/atoms/ui-timer-display.orb +1 -1
  400. package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +1 -1
  401. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +1 -1
  402. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +1 -1
  403. package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +1 -1
  404. package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +1 -1
  405. package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +1 -1
  406. package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +1 -1
  407. package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +1 -1
  408. package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +1 -1
  409. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +1 -1
  410. package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +1 -1
  411. package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +1 -1
  412. package/behaviors/registry/ui/game/templates/ui-game-shell.orb +1 -1
  413. package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +1 -1
  414. package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1 -1
  415. package/behaviors/registry/ui/learning/atoms/std-learn-compare.orb +1 -1
  416. package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +1 -1
  417. package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +1 -1
  418. package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +1 -1
  419. package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +1 -1
  420. package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +1 -1
  421. package/behaviors/registry/ui/learning/atoms/std-learn-fx-cues.orb +1 -1
  422. package/behaviors/registry/ui/learning/atoms/std-learn-generate.orb +1 -1
  423. package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +1 -1
  424. package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +1 -1
  425. package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +1 -1
  426. package/behaviors/registry/ui/learning/atoms/std-learn-live-sim.orb +1 -1
  427. package/behaviors/registry/ui/learning/atoms/std-learn-measure.orb +1 -1
  428. package/behaviors/registry/ui/learning/atoms/std-learn-param-explorer.orb +1 -1
  429. package/behaviors/registry/ui/learning/atoms/std-learn-perturb.orb +1 -1
  430. package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +1 -1
  431. package/behaviors/registry/ui/learning/atoms/std-learn-sample-accumulator.orb +1 -1
  432. package/behaviors/registry/ui/learning/atoms/std-learn-sandbox.orb +1 -1
  433. package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +1 -1
  434. package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +1 -1
  435. package/behaviors/registry/ui/learning/atoms/std-learn-sim-3d.orb +1 -1
  436. package/behaviors/registry/ui/learning/atoms/std-learn-slope-probe.orb +1 -1
  437. package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +1 -1
  438. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +1 -1
  439. package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +1 -1
  440. package/behaviors/registry/ui/learning/atoms/std-learn-trace-player.orb +1 -1
  441. package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +1 -1
  442. package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +1 -1
  443. package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +1 -1
  444. package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +1 -1
  445. package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +1 -1
  446. package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +1 -1
  447. package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +1 -1
  448. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +1 -1
  449. package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +1 -1
  450. package/dist/behaviors-embeddings.hash.json +2 -2
  451. package/dist/behaviors-embeddings.json +1 -1
  452. package/dist/knob-embeddings.hash.json +2 -2
  453. package/package.json +2 -2
@@ -1 +1 @@
1
- {"name":"std-import","version":"1.0.0","description":"std-import — a dropdown source menu (Paste text / Markdown files defaults; caller can override via config.sources) plus the OS file picker for file-kind sources. Emits IMPORT_REQUESTED { source, files } on the bus — source is the picked SourceOption descriptor; files carries file metadata when the picker ran (empty otherwise). The actual import work is delegated to a sibling std-migration-job, which listens for IMPORT_REQUESTED and drives the migration service. Mirrors std-export: the menu emits each entry's own literal event field, so overriding the event alone does not retarget the click — also set sources[].event to match.","orbitals":[{"name":"ImportOrbital","id":"orb_PBGXMF6MT5AD2XJ8RA491K8WND","uses":[{"from":"std/behaviors/ui-button","as":"Button"},{"from":"std/behaviors/ui-menu","as":"Menu"}],"entity":{"name":"ImportPanel","id":"ent_4M9JT9RC0A605FNX8CD1E8DN45","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"pendingSource","type":"object","default":{},"properties":{"kind":{"name":"kind","type":"string","required":true},"label":{"name":"label","type":"string","required":true},"event":{"name":"event","type":"string","required":false},"id":{"name":"id","type":"string","required":true}}},{"name":"pendingFiles","type":"array","default":[],"items":{"type":"object","properties":{"size":{"name":"size","type":"number","required":false},"type":{"name":"type","type":"string","required":false},"lastModified":{"name":"lastModified","type":"number","required":false},"name":{"name":"name","type":"string","required":true}}}}]},"traits":[{"ref":"Button.traits.ButtonRender","id":"trt_ZRPB0BPXKCESPFRSW51Y91JVN5","name":"Button1","linkedEntity":"ImportPanel","linkedEntityId":"ent_4M9JT9RC0A605FNX8CD1E8DN45","config":{"label":{"type":"unknown","default":"@config.buttonLabel"},"icon":{"type":"unknown","default":"upload"},"variant":{"type":"unknown","default":"ghost"},"action":{"type":"unknown","default":"OPEN_IMPORT"},"size":{"type":"unknown","default":"sm"}}},{"ref":"Menu.traits.MenuRender","id":"trt_BYH9MSMETE7D7B2CYMQ56YFZNN","name":"Menu1","linkedEntity":"ImportPanel","linkedEntityId":"ent_4M9JT9RC0A605FNX8CD1E8DN45","config":{"trigger":{"type":"unknown","default":["@trait.Button1"]},"items":{"type":"unknown","default":"@config.sources"},"position":{"type":"unknown","default":"bottom-start"}}},{"name":"ImportMenu","id":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE","effectRow":[{"kind":"browser/open-file-picker"},{"kind":"emit","resource":"IMPORT_FAILED"},{"kind":"emit","resource":"IMPORT_REQUESTED"},{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.pendingFiles"},{"kind":"set","resource":"@entity.pendingSource"}],"category":"interaction","linkedEntity":"ImportPanel","linkedEntityId":"ent_4M9JT9RC0A605FNX8CD1E8DN45","entityRefIds":{"ImportPanel":"ent_4M9JT9RC0A605FNX8CD1E8DN45"},"traitEmbedIds":{"Menu1":"trt_BYH9MSMETE7D7B2CYMQ56YFZNN"},"emits":[{"event":"IMPORT_REQUESTED","eventId":"evt_TWDEK75NRATW5B1EFKH4G8ZDGD","description":"Requests an import from the picked source. source is the SourceOption descriptor (id/kind/label); files carries picker metadata (name/size/type/lastModified) for file-kind sources, empty otherwise. A sibling std-migration-job listens and drives the run.","synonyms":"import, upload, migrate, bring in data","tier":"domain","scope":"external","payloadSchema":[{"name":"source","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string","required":true},{"name":"label","type":"string","required":true},{"name":"event","type":"string"}]},{"name":"files","type":"[object]","properties":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}],"entity":"ImportFileMeta"}]},{"event":"IMPORT_FAILED","eventId":"evt_FXWQM8NKF4SQJ4BPQX9F77N4WA","description":"The file picker failed or was cancelled at the OS level","synonyms":"import error, picker failed","tier":"internal","scope":"external","payloadSchema":[{"name":"error","type":"string","required":true}]},{"event":"FILES_PICKED","eventId":"evt_QG63N8MVVEDXQ0AXEXBEDG63R0","description":"browser/open-file-picker success envelope — result.files holds the picked file metadata","tier":"secondary","payloadSchema":[{"name":"result","type":"object","required":true,"properties":[{"name":"files","type":"[object]","properties":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}]}]}]},{"event":"PICK_FAILED","eventId":"evt_T20FETYPN8BAMBYXCXNAPPJXTK","description":"browser/open-file-picker failure signal","tier":"secondary","payloadSchema":[{"name":"error","type":"string","required":true}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"picking"}],"events":[{"key":"INIT","id":"evt_M8HNTY27V03XG8E553ZPHQXN17","name":"Initialize"},{"key":"OPEN_IMPORT","id":"evt_AGZ8HCNFQTQVXDN5D4CGTY9RGM","name":"Open Import"},{"key":"IMPORT_SOURCE_PICKED","id":"evt_KJZRW435SYJWZ5CGJK7A5FAZ92","name":"Import Source Picked","description":"A source entry was picked from the menu. itemId matches the SourceOption.id of the picked entry; kind is resolved from config.sources by id.","synonyms":"source selected, import source chosen","tier":"domain","payloadSchema":[{"name":"itemId","type":"string","required":true},{"name":"label","type":"string","required":true}],"listened":true},{"key":"IMPORT_REQUESTED","id":"evt_TWDEK75NRATW5B1EFKH4G8ZDGD","name":"Import Requested","description":"Requests an import from the picked source. source is the SourceOption descriptor (id/kind/label); files carries picker metadata (name/size/type/lastModified) for file-kind sources, empty otherwise. A sibling std-migration-job listens and drives the run.","synonyms":"import, upload, migrate, bring in data","tier":"domain","payloadSchema":[{"name":"source","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string","required":true},{"name":"label","type":"string","required":true},{"name":"event","type":"string"}]},{"name":"files","type":"[object]","properties":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}],"entity":"ImportFileMeta"}]},{"key":"IMPORT_FAILED","id":"evt_FXWQM8NKF4SQJ4BPQX9F77N4WA","name":"Import Failed","description":"The file picker failed or was cancelled at the OS level","synonyms":"import error, picker failed","tier":"internal","payloadSchema":[{"name":"error","type":"string","required":true}]},{"key":"FILES_PICKED","id":"evt_QG63N8MVVEDXQ0AXEXBEDG63R0","name":"Files Picked","description":"browser/open-file-picker success envelope — result.files holds the picked file metadata","tier":"secondary","payloadSchema":[{"name":"result","type":"object","required":true,"properties":[{"name":"files","type":"[object]","properties":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}]}]}]},{"key":"PICK_FAILED","id":"evt_T20FETYPN8BAMBYXCXNAPPJXTK","name":"Pick Failed","description":"browser/open-file-picker failure signal","tier":"secondary","payloadSchema":[{"name":"error","type":"string","required":true}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_M8HNTY27V03XG8E553ZPHQXN17","effects":[["render-ui","main",{"children":["@trait.Menu1"],"type":"box"}]]},{"from":"idle","to":"idle","event":"OPEN_IMPORT","eventId":"evt_AGZ8HCNFQTQVXDN5D4CGTY9RGM"},{"from":"idle","to":"picking","event":"IMPORT_SOURCE_PICKED","eventId":"evt_KJZRW435SYJWZ5CGJK7A5FAZ92","guard":["==",["object/get",["array/find","@config.sources",["fn","s",["==",["object/get","@s","id"],"@payload.itemId"]]],"kind",""],"file"],"effects":[["set","@entity.pendingSource",["array/find","@config.sources",["fn","s",["==",["object/get","@s","id"],"@payload.itemId"]]]],["browser/open-file-picker",{"accept":"@config.accept","multiple":true},{"emit":{"success":"FILES_PICKED","failure":"PICK_FAILED"}}]]},{"from":"idle","to":"idle","event":"IMPORT_SOURCE_PICKED","eventId":"evt_KJZRW435SYJWZ5CGJK7A5FAZ92","guard":["!=",["object/get",["array/find","@config.sources",["fn","s",["==",["object/get","@s","id"],"@payload.itemId"]]],"kind",""],"file"],"effects":[["set","@entity.pendingSource",["array/find","@config.sources",["fn","s",["==",["object/get","@s","id"],"@payload.itemId"]]]],["emit","IMPORT_REQUESTED",{"files":"@entity.pendingFiles","source":"@entity.pendingSource"}]]},{"from":"idle","to":"idle","event":"IMPORT_REQUESTED","eventId":"evt_TWDEK75NRATW5B1EFKH4G8ZDGD"},{"from":"idle","to":"idle","event":"IMPORT_FAILED","eventId":"evt_FXWQM8NKF4SQJ4BPQX9F77N4WA"},{"from":"picking","to":"idle","event":"INIT","eventId":"evt_M8HNTY27V03XG8E553ZPHQXN17","effects":[["render-ui","main",{"children":["@trait.Menu1"],"type":"box"}]]},{"from":"picking","to":"idle","event":"FILES_PICKED","eventId":"evt_QG63N8MVVEDXQ0AXEXBEDG63R0","effects":[["set","@entity.pendingFiles",["object/get","@payload.result","files",[]]],["emit","IMPORT_REQUESTED",{"files":"@entity.pendingFiles","source":"@entity.pendingSource"}]]},{"from":"picking","to":"idle","event":"PICK_FAILED","eventId":"evt_T20FETYPN8BAMBYXCXNAPPJXTK","effects":[["emit","IMPORT_FAILED",{"error":"@payload.error"}]]}]},"config":{"buttonLabel":{"type":"string","default":"Import","label":"Button label","description":"Text shown on the toolbar button that opens the import source popover","synonyms":"the text on the import trigger button. user phrases: 'rename import button to X' / 'set the button label to X' -> X (e.g. 'Import Data', 'Add Sources')","tier":"presentation"},"accept":{"type":"string","default":".md,.markdown,.txt","label":"Accepted file types","description":"File-extension filter for the OS file picker when a file-kind source is picked","synonyms":"file filter, allowed extensions, accepted formats","tier":"presentation"},"sources":{"type":"[SourceOption]","default":[{"event":"IMPORT_SOURCE_PICKED","id":"paste","kind":"paste","label":"Paste text"},{"event":"IMPORT_SOURCE_PICKED","id":"markdown","kind":"file","label":"Markdown files"}],"label":"Import sources","description":"Sources shown in the import popover. kind 'file' opens the OS file picker before IMPORT_REQUESTED; any other kind emits immediately (the host renders the matching input UI, e.g. a paste textarea).","synonyms":"list of import source entries (paste / file / api / database). user phrases: 'only paste' -> keep only the paste entry; 'add database' -> append a database entry","tier":"presentation","items":{"type":"object","properties":{"label":{"name":"label","type":"string","required":true},"kind":{"name":"kind","type":"string","required":true},"id":{"name":"id","type":"string","required":true},"event":{"name":"event","type":"string","required":false}}}}},"scope":"instance"}],"pages":[{"name":"ImportMenuPage","id":"pag_M5TD2G7TSCXCP23TWM89XV3QXF","path":"/imports/menu","traits":[{"ref":"ImportMenu","refId":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},{"ref":"Button1","refId":"trt_ZRPB0BPXKCESPFRSW51Y91JVN5"},{"ref":"Menu1","refId":"trt_BYH9MSMETE7D7B2CYMQ56YFZNN"}]}],"types":{"FilePickerResult":[{"name":"files","type":"[object]","properties":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}]}],"ImportFileMeta":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}],"SourceOption":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string","required":true},{"name":"label","type":"string","required":true},{"name":"event","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_4M9JT9RC0A605FNX8CD1E8DN45":{"id":"ent_4M9JT9RC0A605FNX8CD1E8DN45","kind":"entity","bakedName":"ImportPanel","curName":"ImportPanel","renames":[],"owner":"workspace"},"evt_AGZ8HCNFQTQVXDN5D4CGTY9RGM":{"id":"evt_AGZ8HCNFQTQVXDN5D4CGTY9RGM","kind":"event","bakedName":"OPEN_IMPORT","curName":"OPEN_IMPORT","renames":[],"owner":"workspace","parent":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},"evt_FXWQM8NKF4SQJ4BPQX9F77N4WA":{"id":"evt_FXWQM8NKF4SQJ4BPQX9F77N4WA","kind":"event","bakedName":"IMPORT_FAILED","curName":"IMPORT_FAILED","renames":[],"owner":"workspace","parent":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},"evt_KJZRW435SYJWZ5CGJK7A5FAZ92":{"id":"evt_KJZRW435SYJWZ5CGJK7A5FAZ92","kind":"event","bakedName":"IMPORT_SOURCE_PICKED","curName":"IMPORT_SOURCE_PICKED","renames":[],"owner":"workspace","parent":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},"evt_M8HNTY27V03XG8E553ZPHQXN17":{"id":"evt_M8HNTY27V03XG8E553ZPHQXN17","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},"evt_QG63N8MVVEDXQ0AXEXBEDG63R0":{"id":"evt_QG63N8MVVEDXQ0AXEXBEDG63R0","kind":"event","bakedName":"FILES_PICKED","curName":"FILES_PICKED","renames":[],"owner":"workspace","parent":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},"evt_T20FETYPN8BAMBYXCXNAPPJXTK":{"id":"evt_T20FETYPN8BAMBYXCXNAPPJXTK","kind":"event","bakedName":"PICK_FAILED","curName":"PICK_FAILED","renames":[],"owner":"workspace","parent":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},"evt_TWDEK75NRATW5B1EFKH4G8ZDGD":{"id":"evt_TWDEK75NRATW5B1EFKH4G8ZDGD","kind":"event","bakedName":"IMPORT_REQUESTED","curName":"IMPORT_REQUESTED","renames":[],"owner":"workspace","parent":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},"orb_PBGXMF6MT5AD2XJ8RA491K8WND":{"id":"orb_PBGXMF6MT5AD2XJ8RA491K8WND","kind":"orbital","bakedName":"ImportOrbital","curName":"ImportOrbital","renames":[],"owner":"workspace"},"pag_M5TD2G7TSCXCP23TWM89XV3QXF":{"id":"pag_M5TD2G7TSCXCP23TWM89XV3QXF","kind":"page","bakedName":"ImportMenuPage","curName":"ImportMenuPage","renames":[],"owner":"workspace"},"trt_BYH9MSMETE7D7B2CYMQ56YFZNN":{"id":"trt_BYH9MSMETE7D7B2CYMQ56YFZNN","kind":"trait","bakedName":"Menu1","curName":"Menu1","renames":[],"owner":"workspace"},"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE":{"id":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE","kind":"trait","bakedName":"ImportMenu","curName":"ImportMenu","renames":[],"owner":"workspace"},"trt_ZRPB0BPXKCESPFRSW51Y91JVN5":{"id":"trt_ZRPB0BPXKCESPFRSW51Y91JVN5","kind":"trait","bakedName":"Button1","curName":"Button1","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-import","version":"1.0.0","description":"std-import — a dropdown source menu (Paste text / Markdown files defaults; caller can override via config.sources) plus the OS file picker for file-kind sources. Emits IMPORT_REQUESTED { source, files } on the bus — source is the picked SourceOption descriptor; files carries file metadata when the picker ran (empty otherwise). The actual import work is delegated to a sibling std-migration-job, which listens for IMPORT_REQUESTED and drives the migration service. Mirrors std-export: the menu emits each entry's own literal event field, so overriding the event alone does not retarget the click — also set sources[].event to match.","orbitals":[{"name":"ImportOrbital","id":"orb_PBGXMF6MT5AD2XJ8RA491K8WND","uses":[{"from":"std/behaviors/ui-button","as":"Button"},{"from":"std/behaviors/ui-menu","as":"Menu"}],"entity":{"name":"ImportPanel","id":"ent_4M9JT9RC0A605FNX8CD1E8DN45","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"pendingSource","type":"object","default":{},"properties":{"event":{"name":"event","type":"string","required":false},"id":{"name":"id","type":"string","required":true},"kind":{"name":"kind","type":"string","required":true},"label":{"name":"label","type":"string","required":true}}},{"name":"pendingFiles","type":"array","default":[],"items":{"type":"object","properties":{"size":{"name":"size","type":"number","required":false},"lastModified":{"name":"lastModified","type":"number","required":false},"name":{"name":"name","type":"string","required":true},"type":{"name":"type","type":"string","required":false}}}}]},"traits":[{"ref":"Button.traits.ButtonRender","id":"trt_ZRPB0BPXKCESPFRSW51Y91JVN5","name":"Button1","linkedEntity":"ImportPanel","linkedEntityId":"ent_4M9JT9RC0A605FNX8CD1E8DN45","config":{"icon":{"type":"unknown","default":"upload"},"size":{"type":"unknown","default":"sm"},"variant":{"type":"unknown","default":"ghost"},"label":{"type":"unknown","default":"@config.buttonLabel"},"action":{"type":"unknown","default":"OPEN_IMPORT"}}},{"ref":"Menu.traits.MenuRender","id":"trt_BYH9MSMETE7D7B2CYMQ56YFZNN","name":"Menu1","linkedEntity":"ImportPanel","linkedEntityId":"ent_4M9JT9RC0A605FNX8CD1E8DN45","config":{"position":{"type":"unknown","default":"bottom-start"},"items":{"type":"unknown","default":"@config.sources"},"trigger":{"type":"unknown","default":["@trait.Button1"]}}},{"name":"ImportMenu","id":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE","effectRow":[{"kind":"browser/open-file-picker"},{"kind":"emit","resource":"IMPORT_FAILED"},{"kind":"emit","resource":"IMPORT_REQUESTED"},{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.pendingFiles"},{"kind":"set","resource":"@entity.pendingSource"}],"category":"interaction","linkedEntity":"ImportPanel","linkedEntityId":"ent_4M9JT9RC0A605FNX8CD1E8DN45","entityRefIds":{"ImportPanel":"ent_4M9JT9RC0A605FNX8CD1E8DN45"},"traitEmbedIds":{"Menu1":"trt_BYH9MSMETE7D7B2CYMQ56YFZNN"},"emits":[{"event":"IMPORT_REQUESTED","eventId":"evt_TWDEK75NRATW5B1EFKH4G8ZDGD","description":"Requests an import from the picked source. source is the SourceOption descriptor (id/kind/label); files carries picker metadata (name/size/type/lastModified) for file-kind sources, empty otherwise. A sibling std-migration-job listens and drives the run.","synonyms":"import, upload, migrate, bring in data","tier":"domain","scope":"external","payloadSchema":[{"name":"source","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string","required":true},{"name":"label","type":"string","required":true},{"name":"event","type":"string"}]},{"name":"files","type":"[object]","properties":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}],"entity":"ImportFileMeta"}]},{"event":"IMPORT_FAILED","eventId":"evt_FXWQM8NKF4SQJ4BPQX9F77N4WA","description":"The file picker failed or was cancelled at the OS level","synonyms":"import error, picker failed","tier":"internal","scope":"external","payloadSchema":[{"name":"error","type":"string","required":true}]},{"event":"FILES_PICKED","eventId":"evt_QG63N8MVVEDXQ0AXEXBEDG63R0","description":"browser/open-file-picker success envelope — result.files holds the picked file metadata","tier":"secondary","payloadSchema":[{"name":"result","type":"object","required":true,"properties":[{"name":"files","type":"[object]","properties":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}]}]}]},{"event":"PICK_FAILED","eventId":"evt_T20FETYPN8BAMBYXCXNAPPJXTK","description":"browser/open-file-picker failure signal","tier":"secondary","payloadSchema":[{"name":"error","type":"string","required":true}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"picking"}],"events":[{"key":"INIT","id":"evt_M8HNTY27V03XG8E553ZPHQXN17","name":"Initialize"},{"key":"OPEN_IMPORT","id":"evt_AGZ8HCNFQTQVXDN5D4CGTY9RGM","name":"Open Import"},{"key":"IMPORT_SOURCE_PICKED","id":"evt_KJZRW435SYJWZ5CGJK7A5FAZ92","name":"Import Source Picked","description":"A source entry was picked from the menu. itemId matches the SourceOption.id of the picked entry; kind is resolved from config.sources by id.","synonyms":"source selected, import source chosen","tier":"domain","payloadSchema":[{"name":"itemId","type":"string","required":true},{"name":"label","type":"string","required":true}],"listened":true},{"key":"IMPORT_REQUESTED","id":"evt_TWDEK75NRATW5B1EFKH4G8ZDGD","name":"Import Requested","description":"Requests an import from the picked source. source is the SourceOption descriptor (id/kind/label); files carries picker metadata (name/size/type/lastModified) for file-kind sources, empty otherwise. A sibling std-migration-job listens and drives the run.","synonyms":"import, upload, migrate, bring in data","tier":"domain","payloadSchema":[{"name":"source","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string","required":true},{"name":"label","type":"string","required":true},{"name":"event","type":"string"}]},{"name":"files","type":"[object]","properties":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}],"entity":"ImportFileMeta"}]},{"key":"IMPORT_FAILED","id":"evt_FXWQM8NKF4SQJ4BPQX9F77N4WA","name":"Import Failed","description":"The file picker failed or was cancelled at the OS level","synonyms":"import error, picker failed","tier":"internal","payloadSchema":[{"name":"error","type":"string","required":true}]},{"key":"FILES_PICKED","id":"evt_QG63N8MVVEDXQ0AXEXBEDG63R0","name":"Files Picked","description":"browser/open-file-picker success envelope — result.files holds the picked file metadata","tier":"secondary","payloadSchema":[{"name":"result","type":"object","required":true,"properties":[{"name":"files","type":"[object]","properties":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}]}]}]},{"key":"PICK_FAILED","id":"evt_T20FETYPN8BAMBYXCXNAPPJXTK","name":"Pick Failed","description":"browser/open-file-picker failure signal","tier":"secondary","payloadSchema":[{"name":"error","type":"string","required":true}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_M8HNTY27V03XG8E553ZPHQXN17","effects":[["render-ui","main",{"children":["@trait.Menu1"],"type":"box"}]]},{"from":"idle","to":"idle","event":"OPEN_IMPORT","eventId":"evt_AGZ8HCNFQTQVXDN5D4CGTY9RGM"},{"from":"idle","to":"picking","event":"IMPORT_SOURCE_PICKED","eventId":"evt_KJZRW435SYJWZ5CGJK7A5FAZ92","guard":["==",["object/get",["array/find","@config.sources",["fn","s",["==",["object/get","@s","id"],"@payload.itemId"]]],"kind",""],"file"],"effects":[["set","@entity.pendingSource",["array/find","@config.sources",["fn","s",["==",["object/get","@s","id"],"@payload.itemId"]]]],["browser/open-file-picker",{"accept":"@config.accept","multiple":true},{"emit":{"success":"FILES_PICKED","failure":"PICK_FAILED"}}]]},{"from":"idle","to":"idle","event":"IMPORT_SOURCE_PICKED","eventId":"evt_KJZRW435SYJWZ5CGJK7A5FAZ92","guard":["!=",["object/get",["array/find","@config.sources",["fn","s",["==",["object/get","@s","id"],"@payload.itemId"]]],"kind",""],"file"],"effects":[["set","@entity.pendingSource",["array/find","@config.sources",["fn","s",["==",["object/get","@s","id"],"@payload.itemId"]]]],["emit","IMPORT_REQUESTED",{"files":"@entity.pendingFiles","source":"@entity.pendingSource"}]]},{"from":"idle","to":"idle","event":"IMPORT_REQUESTED","eventId":"evt_TWDEK75NRATW5B1EFKH4G8ZDGD"},{"from":"idle","to":"idle","event":"IMPORT_FAILED","eventId":"evt_FXWQM8NKF4SQJ4BPQX9F77N4WA"},{"from":"picking","to":"idle","event":"INIT","eventId":"evt_M8HNTY27V03XG8E553ZPHQXN17","effects":[["render-ui","main",{"children":["@trait.Menu1"],"type":"box"}]]},{"from":"picking","to":"idle","event":"FILES_PICKED","eventId":"evt_QG63N8MVVEDXQ0AXEXBEDG63R0","effects":[["set","@entity.pendingFiles",["object/get","@payload.result","files",[]]],["emit","IMPORT_REQUESTED",{"files":"@entity.pendingFiles","source":"@entity.pendingSource"}]]},{"from":"picking","to":"idle","event":"PICK_FAILED","eventId":"evt_T20FETYPN8BAMBYXCXNAPPJXTK","effects":[["emit","IMPORT_FAILED",{"error":"@payload.error"}]]}]},"config":{"buttonLabel":{"type":"string","default":"Import","label":"Button label","description":"Text shown on the toolbar button that opens the import source popover","synonyms":"the text on the import trigger button. user phrases: 'rename import button to X' / 'set the button label to X' -> X (e.g. 'Import Data', 'Add Sources')","tier":"presentation"},"accept":{"type":"string","default":".md,.markdown,.txt","label":"Accepted file types","description":"File-extension filter for the OS file picker when a file-kind source is picked","synonyms":"file filter, allowed extensions, accepted formats","tier":"presentation"},"sources":{"type":"[SourceOption]","default":[{"event":"IMPORT_SOURCE_PICKED","id":"paste","kind":"paste","label":"Paste text"},{"event":"IMPORT_SOURCE_PICKED","id":"markdown","kind":"file","label":"Markdown files"}],"label":"Import sources","description":"Sources shown in the import popover. kind 'file' opens the OS file picker before IMPORT_REQUESTED; any other kind emits immediately (the host renders the matching input UI, e.g. a paste textarea).","synonyms":"list of import source entries (paste / file / api / database). user phrases: 'only paste' -> keep only the paste entry; 'add database' -> append a database entry","tier":"presentation","items":{"type":"object","properties":{"id":{"name":"id","type":"string","required":true},"kind":{"name":"kind","type":"string","required":true},"event":{"name":"event","type":"string","required":false},"label":{"name":"label","type":"string","required":true}}}}},"scope":"instance"}],"pages":[{"name":"ImportMenuPage","id":"pag_M5TD2G7TSCXCP23TWM89XV3QXF","path":"/imports/menu","traits":[{"ref":"ImportMenu","refId":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},{"ref":"Button1","refId":"trt_ZRPB0BPXKCESPFRSW51Y91JVN5"},{"ref":"Menu1","refId":"trt_BYH9MSMETE7D7B2CYMQ56YFZNN"}]}],"types":{"FilePickerResult":[{"name":"files","type":"[object]","properties":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}]}],"ImportFileMeta":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"lastModified","type":"number"}],"SourceOption":[{"name":"id","type":"string","required":true},{"name":"kind","type":"string","required":true},{"name":"label","type":"string","required":true},{"name":"event","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_4M9JT9RC0A605FNX8CD1E8DN45":{"id":"ent_4M9JT9RC0A605FNX8CD1E8DN45","kind":"entity","bakedName":"ImportPanel","curName":"ImportPanel","renames":[],"owner":"workspace"},"evt_AGZ8HCNFQTQVXDN5D4CGTY9RGM":{"id":"evt_AGZ8HCNFQTQVXDN5D4CGTY9RGM","kind":"event","bakedName":"OPEN_IMPORT","curName":"OPEN_IMPORT","renames":[],"owner":"workspace","parent":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},"evt_FXWQM8NKF4SQJ4BPQX9F77N4WA":{"id":"evt_FXWQM8NKF4SQJ4BPQX9F77N4WA","kind":"event","bakedName":"IMPORT_FAILED","curName":"IMPORT_FAILED","renames":[],"owner":"workspace","parent":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},"evt_KJZRW435SYJWZ5CGJK7A5FAZ92":{"id":"evt_KJZRW435SYJWZ5CGJK7A5FAZ92","kind":"event","bakedName":"IMPORT_SOURCE_PICKED","curName":"IMPORT_SOURCE_PICKED","renames":[],"owner":"workspace","parent":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},"evt_M8HNTY27V03XG8E553ZPHQXN17":{"id":"evt_M8HNTY27V03XG8E553ZPHQXN17","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},"evt_QG63N8MVVEDXQ0AXEXBEDG63R0":{"id":"evt_QG63N8MVVEDXQ0AXEXBEDG63R0","kind":"event","bakedName":"FILES_PICKED","curName":"FILES_PICKED","renames":[],"owner":"workspace","parent":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},"evt_T20FETYPN8BAMBYXCXNAPPJXTK":{"id":"evt_T20FETYPN8BAMBYXCXNAPPJXTK","kind":"event","bakedName":"PICK_FAILED","curName":"PICK_FAILED","renames":[],"owner":"workspace","parent":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},"evt_TWDEK75NRATW5B1EFKH4G8ZDGD":{"id":"evt_TWDEK75NRATW5B1EFKH4G8ZDGD","kind":"event","bakedName":"IMPORT_REQUESTED","curName":"IMPORT_REQUESTED","renames":[],"owner":"workspace","parent":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE"},"orb_PBGXMF6MT5AD2XJ8RA491K8WND":{"id":"orb_PBGXMF6MT5AD2XJ8RA491K8WND","kind":"orbital","bakedName":"ImportOrbital","curName":"ImportOrbital","renames":[],"owner":"workspace"},"pag_M5TD2G7TSCXCP23TWM89XV3QXF":{"id":"pag_M5TD2G7TSCXCP23TWM89XV3QXF","kind":"page","bakedName":"ImportMenuPage","curName":"ImportMenuPage","renames":[],"owner":"workspace"},"trt_BYH9MSMETE7D7B2CYMQ56YFZNN":{"id":"trt_BYH9MSMETE7D7B2CYMQ56YFZNN","kind":"trait","bakedName":"Menu1","curName":"Menu1","renames":[],"owner":"workspace"},"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE":{"id":"trt_ED1QZ43CZQPFVRQD5RKPGZJWQE","kind":"trait","bakedName":"ImportMenu","curName":"ImportMenu","renames":[],"owner":"workspace"},"trt_ZRPB0BPXKCESPFRSW51Y91JVN5":{"id":"trt_ZRPB0BPXKCESPFRSW51Y91JVN5","kind":"trait","bakedName":"Button1","curName":"Button1","renames":[],"owner":"workspace"}}}}
@@ -1 +1 @@
1
- {"name":"std-language-picker","version":"1.0.0","description":"std-language-picker — the language switcher of a multilingual site or app: a globe button showing the current language code that opens a menu listing every language in its own name, with the current one ticked. Each entry links to the same page in that language. Routing convention: the default language lives at the root and every other language under a `/<code>/` prefix (`/pricing`, `/ar/pricing`, `/sl/pricing`), so each language has its own stable URL that can be linked from outside and indexed by search engines. Pick for public websites and app chrome that serve more than one language; std-site-header embeds it.","orbitals":[{"name":"LanguagePickerOrbital","id":"orb_Z0SHFYTF8P7MB2W5SF9DFW1M54","entity":{"name":"LanguagePickerView","id":"ent_HB26C3RJDG96R830W4TXM6DE51","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"name":"LanguagePickerRender","id":"trt_ZSDY013PA9V54H67A8NEHZ1Q99","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"LanguagePickerView","linkedEntityId":"ent_HB26C3RJDG96R830W4TXM6DE51","entityRefIds":{"LanguagePickerView":"ent_HB26C3RJDG96R830W4TXM6DE51"},"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_E8Y966WFZ27ZHCNHF8JTRS40QW","name":"Initialize"}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_E8Y966WFZ27ZHCNHF8JTRS40QW","effects":[["render-ui","main","@config.pickerContent"]]}]},"config":{"languages":{"type":"[SiteLanguage]","default":[{"code":"en","label":"English","href":"/"},{"code":"ar","label":"العربية","href":"/ar/"},{"code":"sl","label":"Slovenščina","href":"/sl/"}],"label":"Languages","description":"Every language this page exists in, each named in its own language, with the href of THIS page in that language. The default language's href has no prefix; the others start with /<code>/.","synonyms":"locales, translations, language list, language switcher, i18n","tier":"presentation","items":{"type":"object","properties":{"href":{"name":"href","type":"string","required":true},"code":{"name":"code","type":"string","required":true},"label":{"name":"label","type":"string","required":true}}}},"currentLanguage":{"type":"string","default":"en","label":"Current language","description":"The code of the language this page is in; shown on the button and ticked in the menu","synonyms":"locale, active language, page language","tier":"presentation"},"pickerContent":{"type":"render-ui","default":{"type":"menu","position":"bottom-end","className":["if",["==",["array/len","@config.languages"],0],"hidden",""],"trigger":{"type":"button","variant":"ghost","size":"sm","icon":"globe","label":["str/upper","@config.currentLanguage"]},"items":["array/map","@config.languages",["fn","entry",{"id":["object/get","@entry","code",""],"label":["object/get","@entry","label",""],"href":["object/get","@entry","href",""],"icon":["if",["==",["object/get","@entry","code",""],"@config.currentLanguage"],"check",""]}]]},"label":"Picker body","tier":"internal"}},"scope":"instance"}],"pages":[{"name":"LanguagePickerPage","id":"pag_P8ZQNFD3DDHPPN8S9V27B15MX3","path":"/language-picker","traits":[{"ref":"LanguagePickerRender","refId":"trt_ZSDY013PA9V54H67A8NEHZ1Q99"}]}],"types":{"SiteLanguage":[{"name":"code","type":"string","required":true},{"name":"label","type":"string","required":true},{"name":"href","type":"string","required":true}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_HB26C3RJDG96R830W4TXM6DE51":{"id":"ent_HB26C3RJDG96R830W4TXM6DE51","kind":"entity","bakedName":"LanguagePickerView","curName":"LanguagePickerView","renames":[],"owner":"workspace"},"evt_E8Y966WFZ27ZHCNHF8JTRS40QW":{"id":"evt_E8Y966WFZ27ZHCNHF8JTRS40QW","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_ZSDY013PA9V54H67A8NEHZ1Q99"},"orb_Z0SHFYTF8P7MB2W5SF9DFW1M54":{"id":"orb_Z0SHFYTF8P7MB2W5SF9DFW1M54","kind":"orbital","bakedName":"LanguagePickerOrbital","curName":"LanguagePickerOrbital","renames":[],"owner":"workspace"},"pag_P8ZQNFD3DDHPPN8S9V27B15MX3":{"id":"pag_P8ZQNFD3DDHPPN8S9V27B15MX3","kind":"page","bakedName":"LanguagePickerPage","curName":"LanguagePickerPage","renames":[],"owner":"workspace"},"trt_ZSDY013PA9V54H67A8NEHZ1Q99":{"id":"trt_ZSDY013PA9V54H67A8NEHZ1Q99","kind":"trait","bakedName":"LanguagePickerRender","curName":"LanguagePickerRender","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-language-picker","version":"1.0.0","description":"std-language-picker — the language switcher of a multilingual site or app: a globe button showing the current language code that opens a menu listing every language in its own name, with the current one ticked. Each entry links to the same page in that language. Routing convention: the default language lives at the root and every other language under a `/<code>/` prefix (`/pricing`, `/ar/pricing`, `/sl/pricing`), so each language has its own stable URL that can be linked from outside and indexed by search engines. Pick for public websites and app chrome that serve more than one language; std-site-header embeds it.","orbitals":[{"name":"LanguagePickerOrbital","id":"orb_Z0SHFYTF8P7MB2W5SF9DFW1M54","entity":{"name":"LanguagePickerView","id":"ent_HB26C3RJDG96R830W4TXM6DE51","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"name":"LanguagePickerRender","id":"trt_ZSDY013PA9V54H67A8NEHZ1Q99","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"LanguagePickerView","linkedEntityId":"ent_HB26C3RJDG96R830W4TXM6DE51","entityRefIds":{"LanguagePickerView":"ent_HB26C3RJDG96R830W4TXM6DE51"},"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_E8Y966WFZ27ZHCNHF8JTRS40QW","name":"Initialize"}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_E8Y966WFZ27ZHCNHF8JTRS40QW","effects":[["render-ui","main","@config.pickerContent"]]}]},"config":{"pickerContent":{"type":"render-ui","default":{"type":"menu","position":"bottom-end","className":["if",["==",["array/len","@config.languages"],0],"hidden",""],"trigger":{"type":"button","variant":"ghost","size":"sm","icon":"globe","label":["str/upper","@config.currentLanguage"]},"items":["array/map","@config.languages",["fn","entry",{"id":["object/get","@entry","code",""],"label":["object/get","@entry","label",""],"href":["object/get","@entry","href",""],"icon":["if",["==",["object/get","@entry","code",""],"@config.currentLanguage"],"check",""]}]]},"label":"Picker body","tier":"internal"},"languages":{"type":"[SiteLanguage]","default":[{"code":"en","label":"English","href":"/"},{"code":"ar","label":"العربية","href":"/ar/"},{"code":"sl","label":"Slovenščina","href":"/sl/"}],"label":"Languages","description":"Every language this page exists in, each named in its own language, with the href of THIS page in that language. The default language's href has no prefix; the others start with /<code>/.","synonyms":"locales, translations, language list, language switcher, i18n","tier":"presentation","items":{"type":"object","properties":{"code":{"name":"code","type":"string","required":true},"label":{"name":"label","type":"string","required":true},"href":{"name":"href","type":"string","required":true}}}},"currentLanguage":{"type":"string","default":"en","label":"Current language","description":"The code of the language this page is in; shown on the button and ticked in the menu","synonyms":"locale, active language, page language","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"LanguagePickerPage","id":"pag_P8ZQNFD3DDHPPN8S9V27B15MX3","path":"/language-picker","traits":[{"ref":"LanguagePickerRender","refId":"trt_ZSDY013PA9V54H67A8NEHZ1Q99"}]}],"types":{"SiteLanguage":[{"name":"code","type":"string","required":true},{"name":"label","type":"string","required":true},{"name":"href","type":"string","required":true}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_HB26C3RJDG96R830W4TXM6DE51":{"id":"ent_HB26C3RJDG96R830W4TXM6DE51","kind":"entity","bakedName":"LanguagePickerView","curName":"LanguagePickerView","renames":[],"owner":"workspace"},"evt_E8Y966WFZ27ZHCNHF8JTRS40QW":{"id":"evt_E8Y966WFZ27ZHCNHF8JTRS40QW","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_ZSDY013PA9V54H67A8NEHZ1Q99"},"orb_Z0SHFYTF8P7MB2W5SF9DFW1M54":{"id":"orb_Z0SHFYTF8P7MB2W5SF9DFW1M54","kind":"orbital","bakedName":"LanguagePickerOrbital","curName":"LanguagePickerOrbital","renames":[],"owner":"workspace"},"pag_P8ZQNFD3DDHPPN8S9V27B15MX3":{"id":"pag_P8ZQNFD3DDHPPN8S9V27B15MX3","kind":"page","bakedName":"LanguagePickerPage","curName":"LanguagePickerPage","renames":[],"owner":"workspace"},"trt_ZSDY013PA9V54H67A8NEHZ1Q99":{"id":"trt_ZSDY013PA9V54H67A8NEHZ1Q99","kind":"trait","bakedName":"LanguagePickerRender","curName":"LanguagePickerRender","renames":[],"owner":"workspace"}}}}
@@ -1 +1 @@
1
- {"name":"std-media-section","version":"1.0.0","description":"std-media-section — content rows that pair copy with a screenshot or illustration: each row has an eyebrow, heading, body text, a short bullet list and an optional link action on one side and its media on the other, and consecutive rows alternate sides. A row without media sits alone at reading width. Stacks on small screens. Pick for 'how it works', product tours and feature-detail pages.","orbitals":[{"name":"MediaSectionOrbital","id":"orb_DNWCPM9E52Q2H1V75XF9JWN4DP","entity":{"name":"MediaSectionView","id":"ent_6T6VTXP1CN0PAVW3YJQQ7HTVMA","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"name":"MediaSectionRender","id":"trt_B15P2RVQJYVSF2VDFHX6P62KJE","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"emit","resource":"SECTION_ACTION_CLICKED"},{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"MediaSectionView","linkedEntityId":"ent_6T6VTXP1CN0PAVW3YJQQ7HTVMA","entityRefIds":{"MediaSectionView":"ent_6T6VTXP1CN0PAVW3YJQQ7HTVMA"},"emits":[{"event":"SECTION_ACTION_CLICKED","eventId":"evt_6BQAZJ8FRF7W7XQS01J7HYZHD7","description":"A row's link action was clicked; carries its href.","tier":"domain","scope":"external","payloadSchema":[{"name":"href","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_EE0CK6XG2KR19HVSXH4ZJQFCGQ","name":"Initialize"},{"key":"SECTION_ACTION","id":"evt_KGPN86WW1PE0V3DPVPSP48D61H","name":"Section Action","description":"Row link action click.","tier":"internal","payloadSchema":[{"name":"href","type":"string"}],"listened":true},{"key":"SECTION_ACTION_CLICKED","id":"evt_6BQAZJ8FRF7W7XQS01J7HYZHD7","name":"Section Action Clicked","description":"A row's link action was clicked; carries its href.","tier":"domain","payloadSchema":[{"name":"href","type":"string"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_EE0CK6XG2KR19HVSXH4ZJQFCGQ","effects":[["render-ui","main",{"type":"box","paddingY":"xl","bg":["if",["==","@config.surface","muted"],"muted",["if",["==","@config.surface","accent"],"gradient",["if",["==","@config.surface","inverse"],"inverse","transparent"]]],"edgeTop":"@config.edgeTop","edgeBottom":"@config.edgeBottom","edgeColor":"@config.edgeColor","texture":"@config.texture","fullWidth":true,"children":[{"type":"container","size":"xl","maxWidth":"xl","padding":"lg","children":[{"type":"stack","direction":"vertical","gap":"2xl","children":["array/map","@config.rows",["fn","row",["if",["==",["object/get","@row","mediaSrc",""],""],{"type":"box","className":"mx-auto w-full max-w-3xl","children":[{"type":"stack","direction":"vertical","gap":"md","align":"start","children":[{"type":"badge","label":["object/get","@row","eyebrow",""],"variant":"primary"},{"type":"typography","content":["object/get","@row","heading",""],"variant":"h2","weight":"bold"},{"type":"typography","content":["object/get","@row","body",""],"variant":"large","color":"muted","className":["if",["==",["object/get","@row","body",""],""],"hidden",""]},{"type":"markdown-content","content":["if",["==",["array/len",["object/get","@row","bullets",[]]],0],"",["str/concat","- ",["str/join",["object/get","@row","bullets",[]],"\n- "]]],"className":["if",["==",["array/len",["object/get","@row","bullets",[]]],0],"hidden",""]},{"type":"button","label":["object/get","@row","actionLabel",""],"href":["object/get","@row","actionHref",""],"variant":"secondary","action":"SECTION_ACTION","actionPayload":{"href":["object/get","@row","actionHref",""]},"className":["if",["==",["object/get","@row","actionLabel",""],""],"hidden",""]}]}]},{"type":"split","ratio":"1:1","gap":"xl","align":"center","reverse":["==",["math/mod",["+","@index",["if",["==","@config.firstMediaSide","start"],1,0]],2],1],"children":[{"type":"stack","direction":"vertical","gap":"md","align":"start","children":[{"type":"badge","label":["object/get","@row","eyebrow",""],"variant":"primary"},{"type":"typography","content":["object/get","@row","heading",""],"variant":"h2","weight":"bold"},{"type":"typography","content":["object/get","@row","body",""],"variant":"large","color":"muted","className":["if",["==",["object/get","@row","body",""],""],"hidden",""]},{"type":"markdown-content","content":["if",["==",["array/len",["object/get","@row","bullets",[]]],0],"",["str/concat","- ",["str/join",["object/get","@row","bullets",[]],"\n- "]]],"className":["if",["==",["array/len",["object/get","@row","bullets",[]]],0],"hidden",""]},{"type":"button","label":["object/get","@row","actionLabel",""],"href":["object/get","@row","actionHref",""],"variant":"secondary","action":"SECTION_ACTION","actionPayload":{"href":["object/get","@row","actionHref",""]},"className":["if",["==",["object/get","@row","actionLabel",""],""],"hidden",""]}]},{"type":"image","src":["object/get","@row","mediaSrc",""],"alt":["object/get","@row","mediaAlt",""],"rounded":"xl","bordered":true}]}]]]}]}]}]]},{"from":"idle","to":"idle","event":"SECTION_ACTION","eventId":"evt_KGPN86WW1PE0V3DPVPSP48D61H","effects":[["emit","SECTION_ACTION_CLICKED",{"href":"@payload.href"}]]}]},"config":{"surface":{"type":"string","default":"plain","label":"Surface","description":"Background behind the section: plain, muted, a soft theme gradient (accent), or inverted colors (inverse)","tier":"presentation","values":["plain","muted","accent","inverse"]},"firstMediaSide":{"type":"string","default":"end","label":"First row media side","description":"Which side the first row's media sits on; later rows alternate","synonyms":"image position, image left, image right, flip","tier":"presentation","values":["start","end"]},"edgeColor":{"type":"string","default":"background","label":"Edge fill","description":"The surface of the neighbouring section, which fills the cut","tier":"presentation","values":["background","muted","surface","gradient","inverse"]},"edgeTop":{"type":"string","default":"none","label":"Top edge","description":"Shape cut into the top of the section; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"texture":{"type":"boolean","default":false,"label":"Texture","description":"Lay the theme's texture over the section","tier":"presentation"},"edgeBottom":{"type":"string","default":"none","label":"Bottom edge","description":"Shape cut into the bottom of the section; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"rows":{"type":"[MediaRow]","default":[{"heading":"Everything in one place","body":"Say what you want and see it take shape.","bullets":["Fast","Verified","Yours"]}],"label":"Rows","description":"One row per entry: eyebrow, heading, body, bullets, media (mediaSrc + mediaAlt) and an optional link action (actionLabel + actionHref)","synonyms":"feature rows, product tour, split sections, alternating sections, how it works","tier":"presentation","items":{"type":"object","properties":{"actionHref":{"name":"actionHref","type":"string","required":false},"mediaSrc":{"name":"mediaSrc","type":"string","required":false},"body":{"name":"body","type":"string","required":false},"eyebrow":{"name":"eyebrow","type":"string","required":false},"heading":{"name":"heading","type":"string","required":true},"actionLabel":{"name":"actionLabel","type":"string","required":false},"mediaAlt":{"name":"mediaAlt","type":"string","required":false},"bullets":{"name":"bullets","type":"array","required":false,"items":{"type":"string"}}}}}},"scope":"instance"}],"pages":[{"name":"MediaSectionPage","id":"pag_BC4PH990XVGEXG3TTR31XM4RW9","path":"/media-section","traits":[{"ref":"MediaSectionRender","refId":"trt_B15P2RVQJYVSF2VDFHX6P62KJE"}]}],"types":{"MediaRow":[{"name":"eyebrow","type":"string"},{"name":"heading","type":"string","required":true},{"name":"body","type":"string"},{"name":"bullets","type":"[string]"},{"name":"mediaSrc","type":"string"},{"name":"mediaAlt","type":"string"},{"name":"actionLabel","type":"string"},{"name":"actionHref","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_6T6VTXP1CN0PAVW3YJQQ7HTVMA":{"id":"ent_6T6VTXP1CN0PAVW3YJQQ7HTVMA","kind":"entity","bakedName":"MediaSectionView","curName":"MediaSectionView","renames":[],"owner":"workspace"},"evt_6BQAZJ8FRF7W7XQS01J7HYZHD7":{"id":"evt_6BQAZJ8FRF7W7XQS01J7HYZHD7","kind":"event","bakedName":"SECTION_ACTION_CLICKED","curName":"SECTION_ACTION_CLICKED","renames":[],"owner":"workspace","parent":"trt_B15P2RVQJYVSF2VDFHX6P62KJE"},"evt_EE0CK6XG2KR19HVSXH4ZJQFCGQ":{"id":"evt_EE0CK6XG2KR19HVSXH4ZJQFCGQ","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_B15P2RVQJYVSF2VDFHX6P62KJE"},"evt_KGPN86WW1PE0V3DPVPSP48D61H":{"id":"evt_KGPN86WW1PE0V3DPVPSP48D61H","kind":"event","bakedName":"SECTION_ACTION","curName":"SECTION_ACTION","renames":[],"owner":"workspace","parent":"trt_B15P2RVQJYVSF2VDFHX6P62KJE"},"orb_DNWCPM9E52Q2H1V75XF9JWN4DP":{"id":"orb_DNWCPM9E52Q2H1V75XF9JWN4DP","kind":"orbital","bakedName":"MediaSectionOrbital","curName":"MediaSectionOrbital","renames":[],"owner":"workspace"},"pag_BC4PH990XVGEXG3TTR31XM4RW9":{"id":"pag_BC4PH990XVGEXG3TTR31XM4RW9","kind":"page","bakedName":"MediaSectionPage","curName":"MediaSectionPage","renames":[],"owner":"workspace"},"trt_B15P2RVQJYVSF2VDFHX6P62KJE":{"id":"trt_B15P2RVQJYVSF2VDFHX6P62KJE","kind":"trait","bakedName":"MediaSectionRender","curName":"MediaSectionRender","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-media-section","version":"1.0.0","description":"std-media-section — content rows that pair copy with a screenshot or illustration: each row has an eyebrow, heading, body text, a short bullet list and an optional link action on one side and its media on the other, and consecutive rows alternate sides. A row without media sits alone at reading width. Stacks on small screens. Pick for 'how it works', product tours and feature-detail pages.","orbitals":[{"name":"MediaSectionOrbital","id":"orb_DNWCPM9E52Q2H1V75XF9JWN4DP","entity":{"name":"MediaSectionView","id":"ent_6T6VTXP1CN0PAVW3YJQQ7HTVMA","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"name":"MediaSectionRender","id":"trt_B15P2RVQJYVSF2VDFHX6P62KJE","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"emit","resource":"SECTION_ACTION_CLICKED"},{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"MediaSectionView","linkedEntityId":"ent_6T6VTXP1CN0PAVW3YJQQ7HTVMA","entityRefIds":{"MediaSectionView":"ent_6T6VTXP1CN0PAVW3YJQQ7HTVMA"},"emits":[{"event":"SECTION_ACTION_CLICKED","eventId":"evt_6BQAZJ8FRF7W7XQS01J7HYZHD7","description":"A row's link action was clicked; carries its href.","tier":"domain","scope":"external","payloadSchema":[{"name":"href","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_EE0CK6XG2KR19HVSXH4ZJQFCGQ","name":"Initialize"},{"key":"SECTION_ACTION","id":"evt_KGPN86WW1PE0V3DPVPSP48D61H","name":"Section Action","description":"Row link action click.","tier":"internal","payloadSchema":[{"name":"href","type":"string"}],"listened":true},{"key":"SECTION_ACTION_CLICKED","id":"evt_6BQAZJ8FRF7W7XQS01J7HYZHD7","name":"Section Action Clicked","description":"A row's link action was clicked; carries its href.","tier":"domain","payloadSchema":[{"name":"href","type":"string"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_EE0CK6XG2KR19HVSXH4ZJQFCGQ","effects":[["render-ui","main",{"type":"box","paddingY":"xl","bg":["if",["==","@config.surface","muted"],"muted",["if",["==","@config.surface","accent"],"gradient",["if",["==","@config.surface","inverse"],"inverse","transparent"]]],"edgeTop":"@config.edgeTop","edgeBottom":"@config.edgeBottom","edgeColor":"@config.edgeColor","texture":"@config.texture","fullWidth":true,"children":[{"type":"container","size":"xl","maxWidth":"xl","padding":"lg","children":[{"type":"stack","direction":"vertical","gap":"2xl","children":["array/map","@config.rows",["fn","row",["if",["==",["object/get","@row","mediaSrc",""],""],{"type":"box","className":"mx-auto w-full max-w-3xl","children":[{"type":"stack","direction":"vertical","gap":"md","align":"start","children":[{"type":"badge","label":["object/get","@row","eyebrow",""],"variant":"primary"},{"type":"typography","content":["object/get","@row","heading",""],"variant":"h2","weight":"bold"},{"type":"typography","content":["object/get","@row","body",""],"variant":"large","color":"muted","className":["if",["==",["object/get","@row","body",""],""],"hidden",""]},{"type":"markdown-content","content":["if",["==",["array/len",["object/get","@row","bullets",[]]],0],"",["str/concat","- ",["str/join",["object/get","@row","bullets",[]],"\n- "]]],"className":["if",["==",["array/len",["object/get","@row","bullets",[]]],0],"hidden",""]},{"type":"button","label":["object/get","@row","actionLabel",""],"href":["object/get","@row","actionHref",""],"variant":"secondary","action":"SECTION_ACTION","actionPayload":{"href":["object/get","@row","actionHref",""]},"className":["if",["==",["object/get","@row","actionLabel",""],""],"hidden",""]}]}]},{"type":"split","ratio":"1:1","gap":"xl","align":"center","reverse":["==",["math/mod",["+","@index",["if",["==","@config.firstMediaSide","start"],1,0]],2],1],"children":[{"type":"stack","direction":"vertical","gap":"md","align":"start","children":[{"type":"badge","label":["object/get","@row","eyebrow",""],"variant":"primary"},{"type":"typography","content":["object/get","@row","heading",""],"variant":"h2","weight":"bold"},{"type":"typography","content":["object/get","@row","body",""],"variant":"large","color":"muted","className":["if",["==",["object/get","@row","body",""],""],"hidden",""]},{"type":"markdown-content","content":["if",["==",["array/len",["object/get","@row","bullets",[]]],0],"",["str/concat","- ",["str/join",["object/get","@row","bullets",[]],"\n- "]]],"className":["if",["==",["array/len",["object/get","@row","bullets",[]]],0],"hidden",""]},{"type":"button","label":["object/get","@row","actionLabel",""],"href":["object/get","@row","actionHref",""],"variant":"secondary","action":"SECTION_ACTION","actionPayload":{"href":["object/get","@row","actionHref",""]},"className":["if",["==",["object/get","@row","actionLabel",""],""],"hidden",""]}]},{"type":"image","src":["object/get","@row","mediaSrc",""],"alt":["object/get","@row","mediaAlt",""],"rounded":"xl","bordered":true}]}]]]}]}]}]]},{"from":"idle","to":"idle","event":"SECTION_ACTION","eventId":"evt_KGPN86WW1PE0V3DPVPSP48D61H","effects":[["emit","SECTION_ACTION_CLICKED",{"href":"@payload.href"}]]}]},"config":{"firstMediaSide":{"type":"string","default":"end","label":"First row media side","description":"Which side the first row's media sits on; later rows alternate","synonyms":"image position, image left, image right, flip","tier":"presentation","values":["start","end"]},"rows":{"type":"[MediaRow]","default":[{"heading":"Everything in one place","body":"Say what you want and see it take shape.","bullets":["Fast","Verified","Yours"]}],"label":"Rows","description":"One row per entry: eyebrow, heading, body, bullets, media (mediaSrc + mediaAlt) and an optional link action (actionLabel + actionHref)","synonyms":"feature rows, product tour, split sections, alternating sections, how it works","tier":"presentation","items":{"type":"object","properties":{"eyebrow":{"name":"eyebrow","type":"string","required":false},"actionLabel":{"name":"actionLabel","type":"string","required":false},"body":{"name":"body","type":"string","required":false},"bullets":{"name":"bullets","type":"array","required":false,"items":{"type":"string"}},"mediaSrc":{"name":"mediaSrc","type":"string","required":false},"actionHref":{"name":"actionHref","type":"string","required":false},"mediaAlt":{"name":"mediaAlt","type":"string","required":false},"heading":{"name":"heading","type":"string","required":true}}}},"edgeColor":{"type":"string","default":"background","label":"Edge fill","description":"The surface of the neighbouring section, which fills the cut","tier":"presentation","values":["background","muted","surface","gradient","inverse"]},"edgeBottom":{"type":"string","default":"none","label":"Bottom edge","description":"Shape cut into the bottom of the section; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"edgeTop":{"type":"string","default":"none","label":"Top edge","description":"Shape cut into the top of the section; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"surface":{"type":"string","default":"plain","label":"Surface","description":"Background behind the section: plain, muted, a soft theme gradient (accent), or inverted colors (inverse)","tier":"presentation","values":["plain","muted","accent","inverse"]},"texture":{"type":"boolean","default":false,"label":"Texture","description":"Lay the theme's texture over the section","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"MediaSectionPage","id":"pag_BC4PH990XVGEXG3TTR31XM4RW9","path":"/media-section","traits":[{"ref":"MediaSectionRender","refId":"trt_B15P2RVQJYVSF2VDFHX6P62KJE"}]}],"types":{"MediaRow":[{"name":"eyebrow","type":"string"},{"name":"heading","type":"string","required":true},{"name":"body","type":"string"},{"name":"bullets","type":"[string]"},{"name":"mediaSrc","type":"string"},{"name":"mediaAlt","type":"string"},{"name":"actionLabel","type":"string"},{"name":"actionHref","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_6T6VTXP1CN0PAVW3YJQQ7HTVMA":{"id":"ent_6T6VTXP1CN0PAVW3YJQQ7HTVMA","kind":"entity","bakedName":"MediaSectionView","curName":"MediaSectionView","renames":[],"owner":"workspace"},"evt_6BQAZJ8FRF7W7XQS01J7HYZHD7":{"id":"evt_6BQAZJ8FRF7W7XQS01J7HYZHD7","kind":"event","bakedName":"SECTION_ACTION_CLICKED","curName":"SECTION_ACTION_CLICKED","renames":[],"owner":"workspace","parent":"trt_B15P2RVQJYVSF2VDFHX6P62KJE"},"evt_EE0CK6XG2KR19HVSXH4ZJQFCGQ":{"id":"evt_EE0CK6XG2KR19HVSXH4ZJQFCGQ","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_B15P2RVQJYVSF2VDFHX6P62KJE"},"evt_KGPN86WW1PE0V3DPVPSP48D61H":{"id":"evt_KGPN86WW1PE0V3DPVPSP48D61H","kind":"event","bakedName":"SECTION_ACTION","curName":"SECTION_ACTION","renames":[],"owner":"workspace","parent":"trt_B15P2RVQJYVSF2VDFHX6P62KJE"},"orb_DNWCPM9E52Q2H1V75XF9JWN4DP":{"id":"orb_DNWCPM9E52Q2H1V75XF9JWN4DP","kind":"orbital","bakedName":"MediaSectionOrbital","curName":"MediaSectionOrbital","renames":[],"owner":"workspace"},"pag_BC4PH990XVGEXG3TTR31XM4RW9":{"id":"pag_BC4PH990XVGEXG3TTR31XM4RW9","kind":"page","bakedName":"MediaSectionPage","curName":"MediaSectionPage","renames":[],"owner":"workspace"},"trt_B15P2RVQJYVSF2VDFHX6P62KJE":{"id":"trt_B15P2RVQJYVSF2VDFHX6P62KJE","kind":"trait","bakedName":"MediaSectionRender","curName":"MediaSectionRender","renames":[],"owner":"workspace"}}}}
@@ -1 +1 @@
1
- {"name":"std-modal-editor","version":"0.1.0","description":"UI substrate: modal keyboard editing over any editable CodeBlock. The topology is fixed (NORMAL / INSERT / VISUAL / OPERATOR_PENDING / COMMAND) and every binding is config: mode-entry keys, motions, operators, ex-commands, the digit table that accumulates a repeat count, and the per-mode captured-key table the host's keyboard router reads. Vim ships as the default flavor; a Kakoune/Helix binding is the same topology with different config, never a fork. Emits are the mechanical vocabulary an editable CodeBlock listens to (SET_MODE / MOTION / OPERATE / INSERT_TEXT) plus one neutral EX_COMMAND for a buffered ':' line — std names no host command; a realization maps EX_COMMAND.name onto its own host vocabulary. A bare EDITOR_FOCUS listen lets every state re-announce its SET_MODE (block caret in NORMAL/VISUAL/OPERATOR_PENDING/COMMAND, bar in INSERT) when the host focuses a different editor surface.","orbitals":[{"name":"ModalEditorOrbital","id":"orb_HAM3QYASQACVNA87FFPK3ZZHQF","entity":{"name":"EditorMode","id":"ent_XGQ92348RS4CCYPWAGN26NV02X","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"editorId","type":"string","default":""},{"name":"count","type":"number","default":0},{"name":"operator","type":"string","default":""},{"name":"operatorKey","type":"string","default":""},{"name":"cmdline","type":"string","default":""},{"name":"lastOperator","type":"string","default":""},{"name":"lastMotion","type":"string","default":""},{"name":"lastCount","type":"number","default":0}]},"traits":[{"name":"Modes","id":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21","entityRebindable":true,"entityContract":{"requires":[],"provides":["cmdline","count","editorId","lastCount","lastMotion","lastOperator","operator","operatorKey"]},"effectRow":[{"kind":"emit","resource":"EX_COMMAND"},{"kind":"emit","resource":"INSERT_TEXT"},{"kind":"emit","resource":"MOTION"},{"kind":"emit","resource":"OPERATE"},{"kind":"emit","resource":"SET_MODE"},{"kind":"set","resource":"@entity.cmdline"},{"kind":"set","resource":"@entity.count"},{"kind":"set","resource":"@entity.editorId"},{"kind":"set","resource":"@entity.lastCount"},{"kind":"set","resource":"@entity.lastMotion"},{"kind":"set","resource":"@entity.lastOperator"},{"kind":"set","resource":"@entity.operator"},{"kind":"set","resource":"@entity.operatorKey"}],"category":"lifecycle","linkedEntity":"EditorMode","linkedEntityId":"ent_XGQ92348RS4CCYPWAGN26NV02X","entityRefIds":{"EditorMode":"ent_XGQ92348RS4CCYPWAGN26NV02X"},"emits":[{"event":"SET_MODE","eventId":"evt_85SENYFTYDXF6PPZQX0K74YTMW","description":"Mode + caret instruction for the editor surface (bar | block), with the keys the mode captures (from `keymap`), so an editor with `onKey` captures exactly those. Also the fact a realization reads to drive a mode indicator.","tier":"primary","scope":"external","payloadSchema":[{"name":"editorId","type":"string"},{"name":"mode","type":"string"},{"name":"caret","type":"string"},{"name":"keys","type":"[string]"}]},{"event":"MOTION","eventId":"evt_R3W9ABDJA8S543NZA31JS879GR","description":"Move the caret (or extend the selection in VISUAL) by a closed motion name, `count` times.","tier":"primary","scope":"external","payloadSchema":[{"name":"editorId","type":"string"},{"name":"motion","type":"string"},{"name":"count","type":"number"}]},{"event":"OPERATE","eventId":"evt_DC0K50H01FG0QW3N49KE1AMWZG","description":"Apply a config-declared operator (delete | yank | change | put | put-before | undo | redo | join | toggle-case | indent | dedent | replace) over the range a motion describes; `line` for doubled operators, `selection` in VISUAL, and a fixed `right` placeholder for the point operators (put | put-before | undo | redo) which the editor ignores.","tier":"primary","scope":"external","payloadSchema":[{"name":"editorId","type":"string"},{"name":"operator","type":"string"},{"name":"motion","type":"string"},{"name":"count","type":"number"}]},{"event":"INSERT_TEXT","eventId":"evt_N4CAM152RSHCCWHWPKYC71HJQY","description":"Insert literal text at the caret (e.g. the newline `o`/`O` insert before entering INSERT, or the replacement char `r` inserts).","tier":"secondary","scope":"external","payloadSchema":[{"name":"editorId","type":"string"},{"name":"text","type":"string"}]},{"event":"EX_COMMAND","eventId":"evt_PXKXHQFEWQQEBJ80QNE2Y3F3TE","description":"A buffered ':' line resolved through config.exCommands. `name` is a neutral config-declared string; a realization maps it onto its host's command vocabulary.","tier":"secondary","scope":"external","payloadSchema":[{"name":"editorId","type":"string"},{"name":"name","type":"string"}]}],"stateMachine":{"states":[{"name":"NORMAL","isInitial":true},{"name":"INSERT"},{"name":"VISUAL"},{"name":"OPERATOR_PENDING"},{"name":"COMMAND"}],"events":[{"key":"INIT","id":"evt_C285CPJDYP6ZB7AK26AYTJS4PJ","name":"Initialize"},{"key":"KEY","id":"evt_87H254S0X2GEH77J3WH8ZZWXZC","name":"Key","description":"One physical keydown, delivered by the host's keyboard router. The host decides preventDefault from config.keymap; the command line accepts only keys config.keymap captures in COMMAND.","payloadSchema":[{"name":"editorId","type":"string"},{"name":"key","type":"string"},{"name":"code","type":"string"},{"name":"ctrl","type":"boolean"},{"name":"alt","type":"boolean"},{"name":"shift","type":"boolean"},{"name":"meta","type":"boolean"},{"name":"repeat","type":"boolean"}],"listened":true},{"key":"EDITOR_FOCUS","id":"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5","name":"Editor Focus","description":"The host focused a different editor surface. Every state re-emits its own SET_MODE so the newly focused editor's mode indicator and caret style start correct.","payloadSchema":[{"name":"editorId","type":"string"}],"listened":true},{"key":"SET_MODE","id":"evt_85SENYFTYDXF6PPZQX0K74YTMW","name":"Set Mode","description":"Mode + caret instruction for the editor surface (bar | block), with the keys the mode captures (from `keymap`), so an editor with `onKey` captures exactly those. Also the fact a realization reads to drive a mode indicator.","tier":"primary","payloadSchema":[{"name":"editorId","type":"string"},{"name":"mode","type":"string"},{"name":"caret","type":"string"},{"name":"keys","type":"[string]"}]},{"key":"MOTION","id":"evt_R3W9ABDJA8S543NZA31JS879GR","name":"Motion","description":"Move the caret (or extend the selection in VISUAL) by a closed motion name, `count` times.","tier":"primary","payloadSchema":[{"name":"editorId","type":"string"},{"name":"motion","type":"string"},{"name":"count","type":"number"}]},{"key":"OPERATE","id":"evt_DC0K50H01FG0QW3N49KE1AMWZG","name":"Operate","description":"Apply a config-declared operator (delete | yank | change | put | put-before | undo | redo | join | toggle-case | indent | dedent | replace) over the range a motion describes; `line` for doubled operators, `selection` in VISUAL, and a fixed `right` placeholder for the point operators (put | put-before | undo | redo) which the editor ignores.","tier":"primary","payloadSchema":[{"name":"editorId","type":"string"},{"name":"operator","type":"string"},{"name":"motion","type":"string"},{"name":"count","type":"number"}]},{"key":"INSERT_TEXT","id":"evt_N4CAM152RSHCCWHWPKYC71HJQY","name":"Insert Text","description":"Insert literal text at the caret (e.g. the newline `o`/`O` insert before entering INSERT, or the replacement char `r` inserts).","tier":"secondary","payloadSchema":[{"name":"editorId","type":"string"},{"name":"text","type":"string"}]},{"key":"EX_COMMAND","id":"evt_PXKXHQFEWQQEBJ80QNE2Y3F3TE","name":"Ex Command","description":"A buffered ':' line resolved through config.exCommands. `name` is a neutral config-declared string; a realization maps it onto its host's command vocabulary.","tier":"secondary","payloadSchema":[{"name":"editorId","type":"string"},{"name":"name","type":"string"}]}],"transitions":[{"from":"NORMAL","to":"NORMAL","event":"INIT","eventId":"evt_C285CPJDYP6ZB7AK26AYTJS4PJ","effects":[["set","@entity.count",0]]},{"from":"NORMAL","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.insertKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.count",0],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"NORMAL","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.appendKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.count",0],["emit","MOTION",{"editorId":"@payload.editorId","motion":"right","count":1}],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"NORMAL","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.openLineKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.count",0],["emit","MOTION",{"editorId":"@payload.editorId","motion":"line-end","count":1}],["emit","MOTION",{"editorId":"@payload.editorId","motion":"right","count":1}],["emit","INSERT_TEXT",{"editorId":"@payload.editorId","text":"\n"}],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"NORMAL","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.openLineAboveKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.count",0],["emit","MOTION",{"editorId":"@payload.editorId","motion":"line-start","count":1}],["emit","INSERT_TEXT",{"editorId":"@payload.editorId","text":"\n"}],["emit","MOTION",{"editorId":"@payload.editorId","motion":"up","count":1}],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"NORMAL","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.appendLineKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.count",0],["emit","MOTION",{"editorId":"@payload.editorId","motion":"line-end","count":1}],["emit","MOTION",{"editorId":"@payload.editorId","motion":"right","count":1}],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"NORMAL","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.insertLineKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.count",0],["emit","MOTION",{"editorId":"@payload.editorId","motion":"first-nonblank","count":1}],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"NORMAL","to":"VISUAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.visualKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"VISUAL","caret":"block","keys":["object/get","@config.keymap","VISUAL",[]]}]]},{"from":"NORMAL","to":"COMMAND","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.commandKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.cmdline",""],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"COMMAND","caret":"block","keys":["object/get","@config.keymap","COMMAND",[]]}]]},{"from":"NORMAL","to":"OPERATOR_PENDING","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["object/has","@config.operators","@payload.key"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.operator",["object/get","@config.operators","@payload.key"]],["set","@entity.operatorKey","@payload.key"]]},{"from":"NORMAL","to":"OPERATOR_PENDING","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.gotoPrefixKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.operator","goto"],["set","@entity.operatorKey","@payload.key"]]},{"from":"NORMAL","to":"OPERATOR_PENDING","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","@config.replaceKey"],["not","@payload.ctrl"]],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.operator","replace"],["set","@entity.operatorKey","@payload.key"]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","@config.redoKey"],"@payload.ctrl"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"redo","motion":"right","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.undoKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"undo","motion":"right","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.deleteCharKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"delete","motion":"right","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.deleteCharBackKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"delete","motion":"left","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.putKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"put","motion":"right","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.putBeforeKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"put-before","motion":"right","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.toggleCaseKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"toggle-case","motion":"right","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.joinKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"join","motion":"line","count":["if",[">","@entity.count",1],"@entity.count",2]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","@config.repeatKey"],["!=","@entity.lastOperator",""]],"effects":[["emit","OPERATE",{"editorId":"@payload.editorId","operator":"@entity.lastOperator","motion":"@entity.lastMotion","count":"@entity.lastCount"}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["object/has","@config.digits","@payload.key"],["or",["!=","@payload.key","0"],[">","@entity.count",0]]],"effects":[["set","@entity.count",["+",["*","@entity.count",10],["object/get","@config.digits","@payload.key"]]]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["object/has","@config.motions","@payload.key"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","MOTION",{"editorId":"@payload.editorId","motion":["object/get","@config.motions","@payload.key"],"count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","Escape"],"effects":[["set","@entity.count",0],["set","@entity.operator",""],["set","@entity.operatorKey",""]]},{"from":"NORMAL","to":"NORMAL","event":"EDITOR_FOCUS","eventId":"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5","effects":[["set","@entity.editorId","@payload.editorId"],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"INSERT","to":"NORMAL","event":"INIT","eventId":"evt_C285CPJDYP6ZB7AK26AYTJS4PJ","effects":[["set","@entity.count",0]]},{"from":"INSERT","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","Escape"],"effects":[["emit","MOTION",{"editorId":"@payload.editorId","motion":"left","count":1}],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"INSERT","to":"INSERT","event":"EDITOR_FOCUS","eventId":"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5","effects":[["set","@entity.editorId","@payload.editorId"],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"VISUAL","to":"NORMAL","event":"INIT","eventId":"evt_C285CPJDYP6ZB7AK26AYTJS4PJ","effects":[["set","@entity.count",0]]},{"from":"VISUAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","Escape"],"effects":[["set","@entity.count",0],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"VISUAL","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["object/has","@config.operators","@payload.key"],["=",["object/get","@config.operators","@payload.key"],"change"]],"effects":[["set","@entity.count",0],["emit","OPERATE",{"editorId":"@payload.editorId","operator":["object/get","@config.operators","@payload.key"],"motion":"selection","count":1}],["set","@entity.lastOperator",["object/get","@config.operators","@payload.key"]],["set","@entity.lastMotion","selection"],["set","@entity.lastCount",1],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"VISUAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["object/has","@config.operators","@payload.key"],["!=",["object/get","@config.operators","@payload.key"],"change"]],"effects":[["set","@entity.count",0],["emit","OPERATE",{"editorId":"@payload.editorId","operator":["object/get","@config.operators","@payload.key"],"motion":"selection","count":1}],["set","@entity.lastOperator",["object/get","@config.operators","@payload.key"]],["set","@entity.lastMotion","selection"],["set","@entity.lastCount",1],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"VISUAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.toggleCaseKey"],"effects":[["set","@entity.count",0],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"toggle-case","motion":"selection","count":1}],["set","@entity.lastOperator","toggle-case"],["set","@entity.lastMotion","selection"],["set","@entity.lastCount",1],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"VISUAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.joinKey"],"effects":[["set","@entity.count",0],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"join","motion":"selection","count":1}],["set","@entity.lastOperator","join"],["set","@entity.lastMotion","selection"],["set","@entity.lastCount",1],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"VISUAL","to":"VISUAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["object/has","@config.motions","@payload.key"],"effects":[["emit","MOTION",{"editorId":"@payload.editorId","motion":["object/get","@config.motions","@payload.key"],"count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"VISUAL","to":"VISUAL","event":"EDITOR_FOCUS","eventId":"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5","effects":[["set","@entity.editorId","@payload.editorId"],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"VISUAL","caret":"block","keys":["object/get","@config.keymap","VISUAL",[]]}]]},{"from":"OPERATOR_PENDING","to":"NORMAL","event":"INIT","eventId":"evt_C285CPJDYP6ZB7AK26AYTJS4PJ","effects":[["set","@entity.count",0]]},{"from":"OPERATOR_PENDING","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","@entity.operatorKey"],["=","@entity.operator","goto"]],"effects":[["emit","MOTION",{"editorId":"@payload.editorId","motion":"doc-start","count":1}],["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0]]},{"from":"OPERATOR_PENDING","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","@entity.operatorKey"],["=","@entity.operator","change"]],"effects":[["emit","OPERATE",{"editorId":"@payload.editorId","operator":"@entity.operator","motion":"line","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.lastOperator","@entity.operator"],["set","@entity.lastMotion","line"],["set","@entity.lastCount",["if",[">","@entity.count",0],"@entity.count",1]],["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"OPERATOR_PENDING","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","@entity.operatorKey"],["!=","@entity.operator","change"],["!=","@entity.operator","goto"],["!=","@entity.operator","replace"]],"effects":[["emit","OPERATE",{"editorId":"@payload.editorId","operator":"@entity.operator","motion":"line","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.lastOperator","@entity.operator"],["set","@entity.lastMotion","line"],["set","@entity.lastCount",["if",[">","@entity.count",0],"@entity.count",1]],["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0]]},{"from":"OPERATOR_PENDING","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["object/has","@config.motions","@payload.key"],["=","@entity.operator","change"]],"effects":[["emit","OPERATE",{"editorId":"@payload.editorId","operator":"@entity.operator","motion":["object/get","@config.motions","@payload.key"],"count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.lastOperator","@entity.operator"],["set","@entity.lastMotion",["object/get","@config.motions","@payload.key"]],["set","@entity.lastCount",["if",[">","@entity.count",0],"@entity.count",1]],["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"OPERATOR_PENDING","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["object/has","@config.motions","@payload.key"],["!=","@entity.operator","change"],["!=","@entity.operator","goto"],["!=","@entity.operator","replace"]],"effects":[["emit","OPERATE",{"editorId":"@payload.editorId","operator":"@entity.operator","motion":["object/get","@config.motions","@payload.key"],"count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.lastOperator","@entity.operator"],["set","@entity.lastMotion",["object/get","@config.motions","@payload.key"]],["set","@entity.lastCount",["if",[">","@entity.count",0],"@entity.count",1]],["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0]]},{"from":"OPERATOR_PENDING","to":"OPERATOR_PENDING","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["object/has","@config.digits","@payload.key"],["or",["!=","@payload.key","0"],[">","@entity.count",0]],["!=","@entity.operator","goto"],["!=","@entity.operator","replace"]],"effects":[["set","@entity.count",["+",["*","@entity.count",10],["object/get","@config.digits","@payload.key"]]]]},{"from":"OPERATOR_PENDING","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@entity.operator","replace"],["!=","@payload.key","Escape"]],"effects":[["emit","OPERATE",{"editorId":"@payload.editorId","operator":"delete","motion":"right","count":1}],["emit","INSERT_TEXT",{"editorId":"@payload.editorId","text":"@payload.key"}],["emit","MOTION",{"editorId":"@payload.editorId","motion":"left","count":1}],["set","@entity.lastOperator","delete"],["set","@entity.lastMotion","right"],["set","@entity.lastCount",1],["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0]]},{"from":"OPERATOR_PENDING","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","Escape"],"effects":[["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0]]},{"from":"OPERATOR_PENDING","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@entity.operator","goto"],["!=","@payload.key","Escape"],["!=","@payload.key","@entity.operatorKey"]],"effects":[["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0]]},{"from":"OPERATOR_PENDING","to":"OPERATOR_PENDING","event":"EDITOR_FOCUS","eventId":"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5","effects":[["set","@entity.editorId","@payload.editorId"],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"OPERATOR_PENDING","caret":"block","keys":["object/get","@config.keymap","OPERATOR_PENDING",[]]}]]},{"from":"COMMAND","to":"NORMAL","event":"INIT","eventId":"evt_C285CPJDYP6ZB7AK26AYTJS4PJ","effects":[["set","@entity.count",0]]},{"from":"COMMAND","to":"COMMAND","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","Backspace"],"effects":[["set","@entity.cmdline",["str/slice","@entity.cmdline",0,["-",["str/len","@entity.cmdline"],1]]]]},{"from":"COMMAND","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","Enter"],["object/has","@config.exCommands","@entity.cmdline"]],"effects":[["emit","EX_COMMAND",{"editorId":"@payload.editorId","name":["object/get","@config.exCommands","@entity.cmdline"]}],["set","@entity.cmdline",""],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"COMMAND","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","Enter"],["not",["object/has","@config.exCommands","@entity.cmdline"]]],"effects":[["set","@entity.cmdline",""],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"COMMAND","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","Escape"],"effects":[["set","@entity.cmdline",""],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"COMMAND","to":"COMMAND","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["array/includes",["object/get","@config.keymap","COMMAND"],"@payload.key"],["!=","@payload.key","Enter"],["!=","@payload.key","Escape"],["!=","@payload.key","Backspace"]],"effects":[["set","@entity.cmdline",["str/concat","@entity.cmdline","@payload.key"]]]},{"from":"COMMAND","to":"COMMAND","event":"EDITOR_FOCUS","eventId":"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5","effects":[["set","@entity.editorId","@payload.editorId"],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"COMMAND","caret":"block","keys":["object/get","@config.keymap","COMMAND",[]]}]]}]},"config":{"putKey":{"type":"string","default":"p","label":"Put after caret","description":"Key that pastes the last yank/delete after the caret. `motion` on OPERATE is a fixed `right` placeholder — this is a point operator and the editor ignores it.","synonyms":"paste, put","tier":"presentation"},"appendLineKey":{"type":"string","default":"A","label":"Enter INSERT at end of line","description":"Key that moves to line end and past it, then switches to INSERT — vim's `A`.","synonyms":"append at end of line","tier":"presentation"},"toggleCaseKey":{"type":"string","default":"~","label":"Toggle case","description":"Key that flips the case of the character under the caret, count times.","synonyms":"toggle case, tilde","tier":"presentation"},"putBeforeKey":{"type":"string","default":"P","label":"Put before caret","description":"Key that pastes the last yank/delete before the caret. `motion` on OPERATE is a fixed `right` placeholder — this is a point operator and the editor ignores it.","synonyms":"paste before, put before","tier":"presentation"},"appendKey":{"type":"string","default":"a","label":"Enter INSERT after the caret","description":"Key that nudges the caret one column right, then switches to INSERT.","synonyms":"append, append mode","tier":"presentation"},"visualKey":{"type":"string","default":"v","label":"Enter VISUAL","description":"Key that switches NORMAL to VISUAL; motions then extend the selection and an operator acts on it.","synonyms":"visual mode, select mode","tier":"presentation"},"gotoPrefixKey":{"type":"string","default":"g","label":"Goto prefix","description":"Arms OPERATOR_PENDING with the `goto` pseudo-operator; pressed again (`gg`) moves to the document start. Any other key cancels back to NORMAL.","synonyms":"goto, gg, doc start","tier":"presentation"},"joinKey":{"type":"string","default":"J","label":"Join lines","description":"Key that joins the current line with the line(s) below; a count above 1 joins that many lines.","synonyms":"join lines","tier":"presentation"},"insertKey":{"type":"string","default":"i","label":"Enter INSERT before the caret","description":"Key that switches NORMAL to INSERT with the caret unchanged.","synonyms":"insert mode, insert key","tier":"presentation"},"replaceKey":{"type":"string","default":"r","label":"Replace char","description":"Without Ctrl, arms a one-key replace: the next non-Escape key overwrites the character under the caret. Shares its default key with redoKey; the ctrl modifier disambiguates.","synonyms":"replace char","tier":"presentation"},"exCommands":{"type":"Map<string,string>","default":{"w":"save","q":"close-tab","wq":"save-close-tab","q!":"close-tab-discard","x":"save-close-tab"},"label":"Ex-commands","description":"Buffered COMMAND-mode lines (typed after ':') mapped to a neutral command name carried on EX_COMMAND.","synonyms":"ex commands, colon commands","tier":"domain","items":{"type":"string"}},"insertLineKey":{"type":"string","default":"I","label":"Enter INSERT at first non-blank","description":"Key that moves to the line's first non-blank column, then switches to INSERT — vim's `I`.","synonyms":"insert at line start","tier":"presentation"},"repeatKey":{"type":"string","default":".","label":"Repeat last change","description":"Key that re-applies the last OPERATE (operator, motion, count) recorded from OPERATOR_PENDING or VISUAL. No-op until a change has been recorded.","synonyms":"repeat, dot repeat","tier":"presentation"},"redoKey":{"type":"string","default":"r","label":"Redo (with Ctrl)","description":"Held with Ctrl, redoes the last undone change. `motion` on OPERATE is a fixed `right` placeholder — this is a point operator and the editor ignores it. Shares its default key with replaceKey; the ctrl modifier disambiguates.","synonyms":"redo, ctrl-r","tier":"presentation"},"operators":{"type":"Map<string,string>","default":{"d":"delete","y":"yank","c":"change",">":"indent","<":"dedent"},"label":"Operator keys","description":"Keys that arm OPERATOR_PENDING, mapped to the operator name carried on OPERATE. Pressing the same key again operates on the whole line.","synonyms":"operators, delete, yank, change, indent, dedent","tier":"domain","items":{"type":"string"}},"motions":{"type":"Map<string,string>","default":{"0":"line-start","h":"left","j":"down","k":"up","l":"right","w":"word-forward","b":"word-back","e":"word-end","$":"line-end","^":"first-nonblank","G":"doc-end","{":"paragraph-back","}":"paragraph-forward","%":"match-bracket"},"label":"Motion keys","description":"Keys recognized in NORMAL, VISUAL and OPERATOR_PENDING, mapped to the closed motion vocabulary the editor surface understands.","synonyms":"motions, movement, hjkl, word motion","tier":"domain","items":{"type":"string"}},"digits":{"type":"Map<string,number>","default":{"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8,"9":9},"label":"Count digits","description":"Digit keys accumulated into a repeat count before a motion or operator fires (also inside OPERATOR_PENDING, e.g. `d3w`); each digit's integer value is a lookup because the language has no string-to-int operator.","tier":"internal","items":{"type":"number"}},"undoKey":{"type":"string","default":"u","label":"Undo","description":"Key that undoes the last change. `motion` on OPERATE is a fixed `right` placeholder — this is a point operator and the editor ignores it.","synonyms":"undo","tier":"presentation"},"openLineAboveKey":{"type":"string","default":"O","label":"Open a line above and insert","description":"Key that moves to line start, inserts a newline, then moves up and switches to INSERT — vim's `O`.","synonyms":"open line above, new line above","tier":"presentation"},"deleteCharKey":{"type":"string","default":"x","label":"Delete char under caret","description":"Key that deletes the character(s) to the right of the caret, count times.","synonyms":"delete char, x","tier":"presentation"},"deleteCharBackKey":{"type":"string","default":"X","label":"Delete char before caret","description":"Key that deletes the character(s) to the left of the caret, count times.","synonyms":"delete char back","tier":"presentation"},"keymap":{"type":"Map<string,[string]>","default":{"NORMAL":["i","a","o","O","A","I","v",":","d","y","c","h","j","k","l","w","b","e","0","1","2","3","4","5","6","7","8","9","$","^","G","{","}","%",">","<","x","X","p","P","u","r","~","J",".","g","Escape"],"INSERT":["Escape"],"VISUAL":["Escape","d","y","c","h","j","k","l","w","b","e","0","$","^","G","{","}","%","~",">","<","J"],"OPERATOR_PENDING":["Escape","d","y","c","h","j","k","l","w","b","e","0","1","2","3","4","5","6","7","8","9","$","^","G","{","}","%",">","<","g"],"COMMAND":["Escape","Enter","Backspace","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","!","%"," "]},"label":"Captured keys per mode","description":"The declared key set the host's keyboard router reads synchronously to decide preventDefault, keyed by this trait's current state name. A key not listed reaches the underlying textarea untouched. Keep in sync with the other knobs.","tier":"internal","items":{"type":"array","items":{"type":"string"}}},"openLineKey":{"type":"string","default":"o","label":"Open a line below and insert","description":"Key that moves to line end (past the last char), inserts a newline, then switches to INSERT — vim's `o`.","synonyms":"open line, new line below","tier":"presentation"},"commandKey":{"type":"string","default":":","label":"Enter COMMAND","description":"Key that switches NORMAL to COMMAND and starts buffering an ex-command line.","synonyms":"ex mode, command line, colon","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"ModalEditorPage","id":"pag_5S5N6HGDEY6QF6EBDG0SXTK33Y","path":"/modal-editor","traits":[{"ref":"Modes","refId":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"}]}]}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_XGQ92348RS4CCYPWAGN26NV02X":{"id":"ent_XGQ92348RS4CCYPWAGN26NV02X","kind":"entity","bakedName":"EditorMode","curName":"EditorMode","renames":[],"owner":"workspace"},"evt_85SENYFTYDXF6PPZQX0K74YTMW":{"id":"evt_85SENYFTYDXF6PPZQX0K74YTMW","kind":"event","bakedName":"SET_MODE","curName":"SET_MODE","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"evt_87H254S0X2GEH77J3WH8ZZWXZC":{"id":"evt_87H254S0X2GEH77J3WH8ZZWXZC","kind":"event","bakedName":"KEY","curName":"KEY","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"evt_C285CPJDYP6ZB7AK26AYTJS4PJ":{"id":"evt_C285CPJDYP6ZB7AK26AYTJS4PJ","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"evt_DC0K50H01FG0QW3N49KE1AMWZG":{"id":"evt_DC0K50H01FG0QW3N49KE1AMWZG","kind":"event","bakedName":"OPERATE","curName":"OPERATE","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"evt_N4CAM152RSHCCWHWPKYC71HJQY":{"id":"evt_N4CAM152RSHCCWHWPKYC71HJQY","kind":"event","bakedName":"INSERT_TEXT","curName":"INSERT_TEXT","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"evt_PXKXHQFEWQQEBJ80QNE2Y3F3TE":{"id":"evt_PXKXHQFEWQQEBJ80QNE2Y3F3TE","kind":"event","bakedName":"EX_COMMAND","curName":"EX_COMMAND","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"evt_R3W9ABDJA8S543NZA31JS879GR":{"id":"evt_R3W9ABDJA8S543NZA31JS879GR","kind":"event","bakedName":"MOTION","curName":"MOTION","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5":{"id":"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5","kind":"event","bakedName":"EDITOR_FOCUS","curName":"EDITOR_FOCUS","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"orb_HAM3QYASQACVNA87FFPK3ZZHQF":{"id":"orb_HAM3QYASQACVNA87FFPK3ZZHQF","kind":"orbital","bakedName":"ModalEditorOrbital","curName":"ModalEditorOrbital","renames":[],"owner":"workspace"},"pag_5S5N6HGDEY6QF6EBDG0SXTK33Y":{"id":"pag_5S5N6HGDEY6QF6EBDG0SXTK33Y","kind":"page","bakedName":"ModalEditorPage","curName":"ModalEditorPage","renames":[],"owner":"workspace"},"trt_NQCX1Q3REVW7DSQAEDRSWXCS21":{"id":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21","kind":"trait","bakedName":"Modes","curName":"Modes","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-modal-editor","version":"0.1.0","description":"UI substrate: modal keyboard editing over any editable CodeBlock. The topology is fixed (NORMAL / INSERT / VISUAL / OPERATOR_PENDING / COMMAND) and every binding is config: mode-entry keys, motions, operators, ex-commands, the digit table that accumulates a repeat count, and the per-mode captured-key table the host's keyboard router reads. Vim ships as the default flavor; a Kakoune/Helix binding is the same topology with different config, never a fork. Emits are the mechanical vocabulary an editable CodeBlock listens to (SET_MODE / MOTION / OPERATE / INSERT_TEXT) plus one neutral EX_COMMAND for a buffered ':' line — std names no host command; a realization maps EX_COMMAND.name onto its own host vocabulary. A bare EDITOR_FOCUS listen lets every state re-announce its SET_MODE (block caret in NORMAL/VISUAL/OPERATOR_PENDING/COMMAND, bar in INSERT) when the host focuses a different editor surface.","orbitals":[{"name":"ModalEditorOrbital","id":"orb_HAM3QYASQACVNA87FFPK3ZZHQF","entity":{"name":"EditorMode","id":"ent_XGQ92348RS4CCYPWAGN26NV02X","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"editorId","type":"string","default":""},{"name":"count","type":"number","default":0},{"name":"operator","type":"string","default":""},{"name":"operatorKey","type":"string","default":""},{"name":"cmdline","type":"string","default":""},{"name":"lastOperator","type":"string","default":""},{"name":"lastMotion","type":"string","default":""},{"name":"lastCount","type":"number","default":0}]},"traits":[{"name":"Modes","id":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21","entityRebindable":true,"entityContract":{"requires":[],"provides":["cmdline","count","editorId","lastCount","lastMotion","lastOperator","operator","operatorKey"]},"effectRow":[{"kind":"emit","resource":"EX_COMMAND"},{"kind":"emit","resource":"INSERT_TEXT"},{"kind":"emit","resource":"MOTION"},{"kind":"emit","resource":"OPERATE"},{"kind":"emit","resource":"SET_MODE"},{"kind":"set","resource":"@entity.cmdline"},{"kind":"set","resource":"@entity.count"},{"kind":"set","resource":"@entity.editorId"},{"kind":"set","resource":"@entity.lastCount"},{"kind":"set","resource":"@entity.lastMotion"},{"kind":"set","resource":"@entity.lastOperator"},{"kind":"set","resource":"@entity.operator"},{"kind":"set","resource":"@entity.operatorKey"}],"category":"lifecycle","linkedEntity":"EditorMode","linkedEntityId":"ent_XGQ92348RS4CCYPWAGN26NV02X","entityRefIds":{"EditorMode":"ent_XGQ92348RS4CCYPWAGN26NV02X"},"emits":[{"event":"SET_MODE","eventId":"evt_85SENYFTYDXF6PPZQX0K74YTMW","description":"Mode + caret instruction for the editor surface (bar | block), with the keys the mode captures (from `keymap`), so an editor with `onKey` captures exactly those. Also the fact a realization reads to drive a mode indicator.","tier":"primary","scope":"external","payloadSchema":[{"name":"editorId","type":"string"},{"name":"mode","type":"string"},{"name":"caret","type":"string"},{"name":"keys","type":"[string]"}]},{"event":"MOTION","eventId":"evt_R3W9ABDJA8S543NZA31JS879GR","description":"Move the caret (or extend the selection in VISUAL) by a closed motion name, `count` times.","tier":"primary","scope":"external","payloadSchema":[{"name":"editorId","type":"string"},{"name":"motion","type":"string"},{"name":"count","type":"number"}]},{"event":"OPERATE","eventId":"evt_DC0K50H01FG0QW3N49KE1AMWZG","description":"Apply a config-declared operator (delete | yank | change | put | put-before | undo | redo | join | toggle-case | indent | dedent | replace) over the range a motion describes; `line` for doubled operators, `selection` in VISUAL, and a fixed `right` placeholder for the point operators (put | put-before | undo | redo) which the editor ignores.","tier":"primary","scope":"external","payloadSchema":[{"name":"editorId","type":"string"},{"name":"operator","type":"string"},{"name":"motion","type":"string"},{"name":"count","type":"number"}]},{"event":"INSERT_TEXT","eventId":"evt_N4CAM152RSHCCWHWPKYC71HJQY","description":"Insert literal text at the caret (e.g. the newline `o`/`O` insert before entering INSERT, or the replacement char `r` inserts).","tier":"secondary","scope":"external","payloadSchema":[{"name":"editorId","type":"string"},{"name":"text","type":"string"}]},{"event":"EX_COMMAND","eventId":"evt_PXKXHQFEWQQEBJ80QNE2Y3F3TE","description":"A buffered ':' line resolved through config.exCommands. `name` is a neutral config-declared string; a realization maps it onto its host's command vocabulary.","tier":"secondary","scope":"external","payloadSchema":[{"name":"editorId","type":"string"},{"name":"name","type":"string"}]}],"stateMachine":{"states":[{"name":"NORMAL","isInitial":true},{"name":"INSERT"},{"name":"VISUAL"},{"name":"OPERATOR_PENDING"},{"name":"COMMAND"}],"events":[{"key":"INIT","id":"evt_C285CPJDYP6ZB7AK26AYTJS4PJ","name":"Initialize"},{"key":"KEY","id":"evt_87H254S0X2GEH77J3WH8ZZWXZC","name":"Key","description":"One physical keydown, delivered by the host's keyboard router. The host decides preventDefault from config.keymap; the command line accepts only keys config.keymap captures in COMMAND.","payloadSchema":[{"name":"editorId","type":"string"},{"name":"key","type":"string"},{"name":"code","type":"string"},{"name":"ctrl","type":"boolean"},{"name":"alt","type":"boolean"},{"name":"shift","type":"boolean"},{"name":"meta","type":"boolean"},{"name":"repeat","type":"boolean"}],"listened":true},{"key":"EDITOR_FOCUS","id":"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5","name":"Editor Focus","description":"The host focused a different editor surface. Every state re-emits its own SET_MODE so the newly focused editor's mode indicator and caret style start correct.","payloadSchema":[{"name":"editorId","type":"string"}],"listened":true},{"key":"SET_MODE","id":"evt_85SENYFTYDXF6PPZQX0K74YTMW","name":"Set Mode","description":"Mode + caret instruction for the editor surface (bar | block), with the keys the mode captures (from `keymap`), so an editor with `onKey` captures exactly those. Also the fact a realization reads to drive a mode indicator.","tier":"primary","payloadSchema":[{"name":"editorId","type":"string"},{"name":"mode","type":"string"},{"name":"caret","type":"string"},{"name":"keys","type":"[string]"}]},{"key":"MOTION","id":"evt_R3W9ABDJA8S543NZA31JS879GR","name":"Motion","description":"Move the caret (or extend the selection in VISUAL) by a closed motion name, `count` times.","tier":"primary","payloadSchema":[{"name":"editorId","type":"string"},{"name":"motion","type":"string"},{"name":"count","type":"number"}]},{"key":"OPERATE","id":"evt_DC0K50H01FG0QW3N49KE1AMWZG","name":"Operate","description":"Apply a config-declared operator (delete | yank | change | put | put-before | undo | redo | join | toggle-case | indent | dedent | replace) over the range a motion describes; `line` for doubled operators, `selection` in VISUAL, and a fixed `right` placeholder for the point operators (put | put-before | undo | redo) which the editor ignores.","tier":"primary","payloadSchema":[{"name":"editorId","type":"string"},{"name":"operator","type":"string"},{"name":"motion","type":"string"},{"name":"count","type":"number"}]},{"key":"INSERT_TEXT","id":"evt_N4CAM152RSHCCWHWPKYC71HJQY","name":"Insert Text","description":"Insert literal text at the caret (e.g. the newline `o`/`O` insert before entering INSERT, or the replacement char `r` inserts).","tier":"secondary","payloadSchema":[{"name":"editorId","type":"string"},{"name":"text","type":"string"}]},{"key":"EX_COMMAND","id":"evt_PXKXHQFEWQQEBJ80QNE2Y3F3TE","name":"Ex Command","description":"A buffered ':' line resolved through config.exCommands. `name` is a neutral config-declared string; a realization maps it onto its host's command vocabulary.","tier":"secondary","payloadSchema":[{"name":"editorId","type":"string"},{"name":"name","type":"string"}]}],"transitions":[{"from":"NORMAL","to":"NORMAL","event":"INIT","eventId":"evt_C285CPJDYP6ZB7AK26AYTJS4PJ","effects":[["set","@entity.count",0]]},{"from":"NORMAL","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.insertKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.count",0],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"NORMAL","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.appendKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.count",0],["emit","MOTION",{"editorId":"@payload.editorId","motion":"right","count":1}],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"NORMAL","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.openLineKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.count",0],["emit","MOTION",{"editorId":"@payload.editorId","motion":"line-end","count":1}],["emit","MOTION",{"editorId":"@payload.editorId","motion":"right","count":1}],["emit","INSERT_TEXT",{"editorId":"@payload.editorId","text":"\n"}],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"NORMAL","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.openLineAboveKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.count",0],["emit","MOTION",{"editorId":"@payload.editorId","motion":"line-start","count":1}],["emit","INSERT_TEXT",{"editorId":"@payload.editorId","text":"\n"}],["emit","MOTION",{"editorId":"@payload.editorId","motion":"up","count":1}],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"NORMAL","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.appendLineKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.count",0],["emit","MOTION",{"editorId":"@payload.editorId","motion":"line-end","count":1}],["emit","MOTION",{"editorId":"@payload.editorId","motion":"right","count":1}],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"NORMAL","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.insertLineKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.count",0],["emit","MOTION",{"editorId":"@payload.editorId","motion":"first-nonblank","count":1}],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"NORMAL","to":"VISUAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.visualKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"VISUAL","caret":"block","keys":["object/get","@config.keymap","VISUAL",[]]}]]},{"from":"NORMAL","to":"COMMAND","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.commandKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.cmdline",""],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"COMMAND","caret":"block","keys":["object/get","@config.keymap","COMMAND",[]]}]]},{"from":"NORMAL","to":"OPERATOR_PENDING","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["object/has","@config.operators","@payload.key"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.operator",["object/get","@config.operators","@payload.key"]],["set","@entity.operatorKey","@payload.key"]]},{"from":"NORMAL","to":"OPERATOR_PENDING","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.gotoPrefixKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.operator","goto"],["set","@entity.operatorKey","@payload.key"]]},{"from":"NORMAL","to":"OPERATOR_PENDING","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","@config.replaceKey"],["not","@payload.ctrl"]],"effects":[["set","@entity.editorId","@payload.editorId"],["set","@entity.operator","replace"],["set","@entity.operatorKey","@payload.key"]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","@config.redoKey"],"@payload.ctrl"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"redo","motion":"right","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.undoKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"undo","motion":"right","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.deleteCharKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"delete","motion":"right","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.deleteCharBackKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"delete","motion":"left","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.putKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"put","motion":"right","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.putBeforeKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"put-before","motion":"right","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.toggleCaseKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"toggle-case","motion":"right","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.joinKey"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"join","motion":"line","count":["if",[">","@entity.count",1],"@entity.count",2]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","@config.repeatKey"],["!=","@entity.lastOperator",""]],"effects":[["emit","OPERATE",{"editorId":"@payload.editorId","operator":"@entity.lastOperator","motion":"@entity.lastMotion","count":"@entity.lastCount"}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["object/has","@config.digits","@payload.key"],["or",["!=","@payload.key","0"],[">","@entity.count",0]]],"effects":[["set","@entity.count",["+",["*","@entity.count",10],["object/get","@config.digits","@payload.key"]]]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["object/has","@config.motions","@payload.key"],"effects":[["set","@entity.editorId","@payload.editorId"],["emit","MOTION",{"editorId":"@payload.editorId","motion":["object/get","@config.motions","@payload.key"],"count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"NORMAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","Escape"],"effects":[["set","@entity.count",0],["set","@entity.operator",""],["set","@entity.operatorKey",""]]},{"from":"NORMAL","to":"NORMAL","event":"EDITOR_FOCUS","eventId":"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5","effects":[["set","@entity.editorId","@payload.editorId"],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"INSERT","to":"NORMAL","event":"INIT","eventId":"evt_C285CPJDYP6ZB7AK26AYTJS4PJ","effects":[["set","@entity.count",0]]},{"from":"INSERT","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","Escape"],"effects":[["emit","MOTION",{"editorId":"@payload.editorId","motion":"left","count":1}],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"INSERT","to":"INSERT","event":"EDITOR_FOCUS","eventId":"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5","effects":[["set","@entity.editorId","@payload.editorId"],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"VISUAL","to":"NORMAL","event":"INIT","eventId":"evt_C285CPJDYP6ZB7AK26AYTJS4PJ","effects":[["set","@entity.count",0]]},{"from":"VISUAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","Escape"],"effects":[["set","@entity.count",0],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"VISUAL","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["object/has","@config.operators","@payload.key"],["=",["object/get","@config.operators","@payload.key"],"change"]],"effects":[["set","@entity.count",0],["emit","OPERATE",{"editorId":"@payload.editorId","operator":["object/get","@config.operators","@payload.key"],"motion":"selection","count":1}],["set","@entity.lastOperator",["object/get","@config.operators","@payload.key"]],["set","@entity.lastMotion","selection"],["set","@entity.lastCount",1],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"VISUAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["object/has","@config.operators","@payload.key"],["!=",["object/get","@config.operators","@payload.key"],"change"]],"effects":[["set","@entity.count",0],["emit","OPERATE",{"editorId":"@payload.editorId","operator":["object/get","@config.operators","@payload.key"],"motion":"selection","count":1}],["set","@entity.lastOperator",["object/get","@config.operators","@payload.key"]],["set","@entity.lastMotion","selection"],["set","@entity.lastCount",1],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"VISUAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.toggleCaseKey"],"effects":[["set","@entity.count",0],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"toggle-case","motion":"selection","count":1}],["set","@entity.lastOperator","toggle-case"],["set","@entity.lastMotion","selection"],["set","@entity.lastCount",1],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"VISUAL","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","@config.joinKey"],"effects":[["set","@entity.count",0],["emit","OPERATE",{"editorId":"@payload.editorId","operator":"join","motion":"selection","count":1}],["set","@entity.lastOperator","join"],["set","@entity.lastMotion","selection"],["set","@entity.lastCount",1],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"VISUAL","to":"VISUAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["object/has","@config.motions","@payload.key"],"effects":[["emit","MOTION",{"editorId":"@payload.editorId","motion":["object/get","@config.motions","@payload.key"],"count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.count",0]]},{"from":"VISUAL","to":"VISUAL","event":"EDITOR_FOCUS","eventId":"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5","effects":[["set","@entity.editorId","@payload.editorId"],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"VISUAL","caret":"block","keys":["object/get","@config.keymap","VISUAL",[]]}]]},{"from":"OPERATOR_PENDING","to":"NORMAL","event":"INIT","eventId":"evt_C285CPJDYP6ZB7AK26AYTJS4PJ","effects":[["set","@entity.count",0]]},{"from":"OPERATOR_PENDING","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","@entity.operatorKey"],["=","@entity.operator","goto"]],"effects":[["emit","MOTION",{"editorId":"@payload.editorId","motion":"doc-start","count":1}],["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0]]},{"from":"OPERATOR_PENDING","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","@entity.operatorKey"],["=","@entity.operator","change"]],"effects":[["emit","OPERATE",{"editorId":"@payload.editorId","operator":"@entity.operator","motion":"line","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.lastOperator","@entity.operator"],["set","@entity.lastMotion","line"],["set","@entity.lastCount",["if",[">","@entity.count",0],"@entity.count",1]],["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"OPERATOR_PENDING","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","@entity.operatorKey"],["!=","@entity.operator","change"],["!=","@entity.operator","goto"],["!=","@entity.operator","replace"]],"effects":[["emit","OPERATE",{"editorId":"@payload.editorId","operator":"@entity.operator","motion":"line","count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.lastOperator","@entity.operator"],["set","@entity.lastMotion","line"],["set","@entity.lastCount",["if",[">","@entity.count",0],"@entity.count",1]],["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0]]},{"from":"OPERATOR_PENDING","to":"INSERT","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["object/has","@config.motions","@payload.key"],["=","@entity.operator","change"]],"effects":[["emit","OPERATE",{"editorId":"@payload.editorId","operator":"@entity.operator","motion":["object/get","@config.motions","@payload.key"],"count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.lastOperator","@entity.operator"],["set","@entity.lastMotion",["object/get","@config.motions","@payload.key"]],["set","@entity.lastCount",["if",[">","@entity.count",0],"@entity.count",1]],["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"INSERT","caret":"bar","keys":["object/get","@config.keymap","INSERT",[]]}]]},{"from":"OPERATOR_PENDING","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["object/has","@config.motions","@payload.key"],["!=","@entity.operator","change"],["!=","@entity.operator","goto"],["!=","@entity.operator","replace"]],"effects":[["emit","OPERATE",{"editorId":"@payload.editorId","operator":"@entity.operator","motion":["object/get","@config.motions","@payload.key"],"count":["if",[">","@entity.count",0],"@entity.count",1]}],["set","@entity.lastOperator","@entity.operator"],["set","@entity.lastMotion",["object/get","@config.motions","@payload.key"]],["set","@entity.lastCount",["if",[">","@entity.count",0],"@entity.count",1]],["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0]]},{"from":"OPERATOR_PENDING","to":"OPERATOR_PENDING","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["object/has","@config.digits","@payload.key"],["or",["!=","@payload.key","0"],[">","@entity.count",0]],["!=","@entity.operator","goto"],["!=","@entity.operator","replace"]],"effects":[["set","@entity.count",["+",["*","@entity.count",10],["object/get","@config.digits","@payload.key"]]]]},{"from":"OPERATOR_PENDING","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@entity.operator","replace"],["!=","@payload.key","Escape"]],"effects":[["emit","OPERATE",{"editorId":"@payload.editorId","operator":"delete","motion":"right","count":1}],["emit","INSERT_TEXT",{"editorId":"@payload.editorId","text":"@payload.key"}],["emit","MOTION",{"editorId":"@payload.editorId","motion":"left","count":1}],["set","@entity.lastOperator","delete"],["set","@entity.lastMotion","right"],["set","@entity.lastCount",1],["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0]]},{"from":"OPERATOR_PENDING","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","Escape"],"effects":[["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0]]},{"from":"OPERATOR_PENDING","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@entity.operator","goto"],["!=","@payload.key","Escape"],["!=","@payload.key","@entity.operatorKey"]],"effects":[["set","@entity.operator",""],["set","@entity.operatorKey",""],["set","@entity.count",0]]},{"from":"OPERATOR_PENDING","to":"OPERATOR_PENDING","event":"EDITOR_FOCUS","eventId":"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5","effects":[["set","@entity.editorId","@payload.editorId"],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"OPERATOR_PENDING","caret":"block","keys":["object/get","@config.keymap","OPERATOR_PENDING",[]]}]]},{"from":"COMMAND","to":"NORMAL","event":"INIT","eventId":"evt_C285CPJDYP6ZB7AK26AYTJS4PJ","effects":[["set","@entity.count",0]]},{"from":"COMMAND","to":"COMMAND","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","Backspace"],"effects":[["set","@entity.cmdline",["str/slice","@entity.cmdline",0,["-",["str/len","@entity.cmdline"],1]]]]},{"from":"COMMAND","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","Enter"],["object/has","@config.exCommands","@entity.cmdline"]],"effects":[["emit","EX_COMMAND",{"editorId":"@payload.editorId","name":["object/get","@config.exCommands","@entity.cmdline"]}],["set","@entity.cmdline",""],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"COMMAND","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["=","@payload.key","Enter"],["not",["object/has","@config.exCommands","@entity.cmdline"]]],"effects":[["set","@entity.cmdline",""],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"COMMAND","to":"NORMAL","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["=","@payload.key","Escape"],"effects":[["set","@entity.cmdline",""],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"NORMAL","caret":"block","keys":["object/get","@config.keymap","NORMAL",[]]}]]},{"from":"COMMAND","to":"COMMAND","event":"KEY","eventId":"evt_87H254S0X2GEH77J3WH8ZZWXZC","guard":["and",["array/includes",["object/get","@config.keymap","COMMAND"],"@payload.key"],["!=","@payload.key","Enter"],["!=","@payload.key","Escape"],["!=","@payload.key","Backspace"]],"effects":[["set","@entity.cmdline",["str/concat","@entity.cmdline","@payload.key"]]]},{"from":"COMMAND","to":"COMMAND","event":"EDITOR_FOCUS","eventId":"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5","effects":[["set","@entity.editorId","@payload.editorId"],["emit","SET_MODE",{"editorId":"@payload.editorId","mode":"COMMAND","caret":"block","keys":["object/get","@config.keymap","COMMAND",[]]}]]}]},"config":{"commandKey":{"type":"string","default":":","label":"Enter COMMAND","description":"Key that switches NORMAL to COMMAND and starts buffering an ex-command line.","synonyms":"ex mode, command line, colon","tier":"presentation"},"motions":{"type":"Map<string,string>","default":{"0":"line-start","h":"left","j":"down","k":"up","l":"right","w":"word-forward","b":"word-back","e":"word-end","$":"line-end","^":"first-nonblank","G":"doc-end","{":"paragraph-back","}":"paragraph-forward","%":"match-bracket"},"label":"Motion keys","description":"Keys recognized in NORMAL, VISUAL and OPERATOR_PENDING, mapped to the closed motion vocabulary the editor surface understands.","synonyms":"motions, movement, hjkl, word motion","tier":"domain","items":{"type":"string"}},"exCommands":{"type":"Map<string,string>","default":{"w":"save","q":"close-tab","wq":"save-close-tab","q!":"close-tab-discard","x":"save-close-tab"},"label":"Ex-commands","description":"Buffered COMMAND-mode lines (typed after ':') mapped to a neutral command name carried on EX_COMMAND.","synonyms":"ex commands, colon commands","tier":"domain","items":{"type":"string"}},"deleteCharBackKey":{"type":"string","default":"X","label":"Delete char before caret","description":"Key that deletes the character(s) to the left of the caret, count times.","synonyms":"delete char back","tier":"presentation"},"redoKey":{"type":"string","default":"r","label":"Redo (with Ctrl)","description":"Held with Ctrl, redoes the last undone change. `motion` on OPERATE is a fixed `right` placeholder — this is a point operator and the editor ignores it. Shares its default key with replaceKey; the ctrl modifier disambiguates.","synonyms":"redo, ctrl-r","tier":"presentation"},"appendKey":{"type":"string","default":"a","label":"Enter INSERT after the caret","description":"Key that nudges the caret one column right, then switches to INSERT.","synonyms":"append, append mode","tier":"presentation"},"visualKey":{"type":"string","default":"v","label":"Enter VISUAL","description":"Key that switches NORMAL to VISUAL; motions then extend the selection and an operator acts on it.","synonyms":"visual mode, select mode","tier":"presentation"},"digits":{"type":"Map<string,number>","default":{"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8,"9":9},"label":"Count digits","description":"Digit keys accumulated into a repeat count before a motion or operator fires (also inside OPERATOR_PENDING, e.g. `d3w`); each digit's integer value is a lookup because the language has no string-to-int operator.","tier":"internal","items":{"type":"number"}},"deleteCharKey":{"type":"string","default":"x","label":"Delete char under caret","description":"Key that deletes the character(s) to the right of the caret, count times.","synonyms":"delete char, x","tier":"presentation"},"gotoPrefixKey":{"type":"string","default":"g","label":"Goto prefix","description":"Arms OPERATOR_PENDING with the `goto` pseudo-operator; pressed again (`gg`) moves to the document start. Any other key cancels back to NORMAL.","synonyms":"goto, gg, doc start","tier":"presentation"},"keymap":{"type":"Map<string,[string]>","default":{"NORMAL":["i","a","o","O","A","I","v",":","d","y","c","h","j","k","l","w","b","e","0","1","2","3","4","5","6","7","8","9","$","^","G","{","}","%",">","<","x","X","p","P","u","r","~","J",".","g","Escape"],"INSERT":["Escape"],"VISUAL":["Escape","d","y","c","h","j","k","l","w","b","e","0","$","^","G","{","}","%","~",">","<","J"],"OPERATOR_PENDING":["Escape","d","y","c","h","j","k","l","w","b","e","0","1","2","3","4","5","6","7","8","9","$","^","G","{","}","%",">","<","g"],"COMMAND":["Escape","Enter","Backspace","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","!","%"," "]},"label":"Captured keys per mode","description":"The declared key set the host's keyboard router reads synchronously to decide preventDefault, keyed by this trait's current state name. A key not listed reaches the underlying textarea untouched. Keep in sync with the other knobs.","tier":"internal","items":{"type":"array","items":{"type":"string"}}},"putBeforeKey":{"type":"string","default":"P","label":"Put before caret","description":"Key that pastes the last yank/delete before the caret. `motion` on OPERATE is a fixed `right` placeholder — this is a point operator and the editor ignores it.","synonyms":"paste before, put before","tier":"presentation"},"replaceKey":{"type":"string","default":"r","label":"Replace char","description":"Without Ctrl, arms a one-key replace: the next non-Escape key overwrites the character under the caret. Shares its default key with redoKey; the ctrl modifier disambiguates.","synonyms":"replace char","tier":"presentation"},"undoKey":{"type":"string","default":"u","label":"Undo","description":"Key that undoes the last change. `motion` on OPERATE is a fixed `right` placeholder — this is a point operator and the editor ignores it.","synonyms":"undo","tier":"presentation"},"insertLineKey":{"type":"string","default":"I","label":"Enter INSERT at first non-blank","description":"Key that moves to the line's first non-blank column, then switches to INSERT — vim's `I`.","synonyms":"insert at line start","tier":"presentation"},"repeatKey":{"type":"string","default":".","label":"Repeat last change","description":"Key that re-applies the last OPERATE (operator, motion, count) recorded from OPERATOR_PENDING or VISUAL. No-op until a change has been recorded.","synonyms":"repeat, dot repeat","tier":"presentation"},"appendLineKey":{"type":"string","default":"A","label":"Enter INSERT at end of line","description":"Key that moves to line end and past it, then switches to INSERT — vim's `A`.","synonyms":"append at end of line","tier":"presentation"},"insertKey":{"type":"string","default":"i","label":"Enter INSERT before the caret","description":"Key that switches NORMAL to INSERT with the caret unchanged.","synonyms":"insert mode, insert key","tier":"presentation"},"putKey":{"type":"string","default":"p","label":"Put after caret","description":"Key that pastes the last yank/delete after the caret. `motion` on OPERATE is a fixed `right` placeholder — this is a point operator and the editor ignores it.","synonyms":"paste, put","tier":"presentation"},"toggleCaseKey":{"type":"string","default":"~","label":"Toggle case","description":"Key that flips the case of the character under the caret, count times.","synonyms":"toggle case, tilde","tier":"presentation"},"joinKey":{"type":"string","default":"J","label":"Join lines","description":"Key that joins the current line with the line(s) below; a count above 1 joins that many lines.","synonyms":"join lines","tier":"presentation"},"operators":{"type":"Map<string,string>","default":{"d":"delete","y":"yank","c":"change",">":"indent","<":"dedent"},"label":"Operator keys","description":"Keys that arm OPERATOR_PENDING, mapped to the operator name carried on OPERATE. Pressing the same key again operates on the whole line.","synonyms":"operators, delete, yank, change, indent, dedent","tier":"domain","items":{"type":"string"}},"openLineKey":{"type":"string","default":"o","label":"Open a line below and insert","description":"Key that moves to line end (past the last char), inserts a newline, then switches to INSERT — vim's `o`.","synonyms":"open line, new line below","tier":"presentation"},"openLineAboveKey":{"type":"string","default":"O","label":"Open a line above and insert","description":"Key that moves to line start, inserts a newline, then moves up and switches to INSERT — vim's `O`.","synonyms":"open line above, new line above","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"ModalEditorPage","id":"pag_5S5N6HGDEY6QF6EBDG0SXTK33Y","path":"/modal-editor","traits":[{"ref":"Modes","refId":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"}]}]}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_XGQ92348RS4CCYPWAGN26NV02X":{"id":"ent_XGQ92348RS4CCYPWAGN26NV02X","kind":"entity","bakedName":"EditorMode","curName":"EditorMode","renames":[],"owner":"workspace"},"evt_85SENYFTYDXF6PPZQX0K74YTMW":{"id":"evt_85SENYFTYDXF6PPZQX0K74YTMW","kind":"event","bakedName":"SET_MODE","curName":"SET_MODE","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"evt_87H254S0X2GEH77J3WH8ZZWXZC":{"id":"evt_87H254S0X2GEH77J3WH8ZZWXZC","kind":"event","bakedName":"KEY","curName":"KEY","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"evt_C285CPJDYP6ZB7AK26AYTJS4PJ":{"id":"evt_C285CPJDYP6ZB7AK26AYTJS4PJ","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"evt_DC0K50H01FG0QW3N49KE1AMWZG":{"id":"evt_DC0K50H01FG0QW3N49KE1AMWZG","kind":"event","bakedName":"OPERATE","curName":"OPERATE","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"evt_N4CAM152RSHCCWHWPKYC71HJQY":{"id":"evt_N4CAM152RSHCCWHWPKYC71HJQY","kind":"event","bakedName":"INSERT_TEXT","curName":"INSERT_TEXT","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"evt_PXKXHQFEWQQEBJ80QNE2Y3F3TE":{"id":"evt_PXKXHQFEWQQEBJ80QNE2Y3F3TE","kind":"event","bakedName":"EX_COMMAND","curName":"EX_COMMAND","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"evt_R3W9ABDJA8S543NZA31JS879GR":{"id":"evt_R3W9ABDJA8S543NZA31JS879GR","kind":"event","bakedName":"MOTION","curName":"MOTION","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5":{"id":"evt_V4V4FJ418Q0MBGYEGXEVXYVNF5","kind":"event","bakedName":"EDITOR_FOCUS","curName":"EDITOR_FOCUS","renames":[],"owner":"workspace","parent":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21"},"orb_HAM3QYASQACVNA87FFPK3ZZHQF":{"id":"orb_HAM3QYASQACVNA87FFPK3ZZHQF","kind":"orbital","bakedName":"ModalEditorOrbital","curName":"ModalEditorOrbital","renames":[],"owner":"workspace"},"pag_5S5N6HGDEY6QF6EBDG0SXTK33Y":{"id":"pag_5S5N6HGDEY6QF6EBDG0SXTK33Y","kind":"page","bakedName":"ModalEditorPage","curName":"ModalEditorPage","renames":[],"owner":"workspace"},"trt_NQCX1Q3REVW7DSQAEDRSWXCS21":{"id":"trt_NQCX1Q3REVW7DSQAEDRSWXCS21","kind":"trait","bakedName":"Modes","curName":"Modes","renames":[],"owner":"workspace"}}}}