@rho-workspace/rho 0.5.5 → 0.5.7

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 (250) hide show
  1. package/dist/agent-connect.d.ts +42 -0
  2. package/dist/agent-connect.js +68 -0
  3. package/dist/answer-board.js +3 -3
  4. package/dist/bridge.js +6 -1
  5. package/dist/browser-access.d.ts +1 -0
  6. package/dist/browser-access.js +5 -3
  7. package/dist/capabilities.d.ts +21 -5
  8. package/dist/capabilities.js +6 -4
  9. package/dist/cli.js +113 -18
  10. package/dist/composition.d.ts +1 -1
  11. package/dist/composition.js +13 -3
  12. package/dist/connect-cli.d.ts +50 -0
  13. package/dist/connect-cli.js +128 -0
  14. package/dist/contract.generated.d.ts +1437 -381
  15. package/dist/contract.generated.js +1 -1
  16. package/dist/contracts/owners.generated.js +1160 -267
  17. package/dist/conversation-presentation.d.ts +9 -2
  18. package/dist/conversation-presentation.js +3 -1
  19. package/dist/conversations.d.ts +306 -7
  20. package/dist/conversations.js +208 -22
  21. package/dist/discovery.js +3 -3
  22. package/dist/extension-contract.d.ts +19 -0
  23. package/dist/extension-contract.js +15 -6
  24. package/dist/extension-markets.d.ts +74 -0
  25. package/dist/extension-markets.js +166 -0
  26. package/dist/extensions.d.ts +29 -1
  27. package/dist/extensions.js +13 -4
  28. package/dist/external-work.d.ts +22 -0
  29. package/dist/external-work.js +91 -0
  30. package/dist/plugin-cli.js +75 -3
  31. package/dist/plugin-inventory.d.ts +56 -0
  32. package/dist/plugin-inventory.js +41 -0
  33. package/dist/plugin-inventory.json +1581 -102
  34. package/dist/plugin-presentation.d.ts +105 -2
  35. package/dist/plugin-presentation.js +59 -5
  36. package/dist/plugins.d.ts +14 -3
  37. package/dist/plugins.js +12 -6
  38. package/dist/project-notes.js +1 -1
  39. package/dist/protocol.d.ts +7 -0
  40. package/dist/protocol.js +40 -15
  41. package/dist/replay.js +4 -0
  42. package/dist/response-contracts.js +26 -11
  43. package/dist/running.d.ts +10 -0
  44. package/dist/running.js +45 -0
  45. package/dist/server.d.ts +4 -10
  46. package/dist/server.js +140 -14
  47. package/dist/state.d.ts +8 -0
  48. package/dist/state.js +8 -0
  49. package/dist/studio-layout.js +3 -3
  50. package/dist/task-frame.d.ts +1 -1
  51. package/dist/timeline-events.d.ts +1 -0
  52. package/dist/timeline-events.js +8 -1
  53. package/dist/ui-context.d.ts +73 -0
  54. package/dist/ui-context.js +98 -0
  55. package/dist/ui-contract.d.ts +23 -0
  56. package/dist/web/.vite/manifest.json +135 -76
  57. package/dist/web/assets/answer-board-CeYS8k8y.js +1 -0
  58. package/dist/web/assets/choices-D8vGwsl2.js +1 -0
  59. package/dist/web/assets/{console-BSjLGe0T.js → console-Dyuo1q4N.js} +4 -4
  60. package/dist/web/assets/{dist-Tzoe_zm-.js → dist-CSiCyBml.js} +1 -1
  61. package/dist/web/assets/{dist-Cw8hRIlT.js → dist-D9FLb9Hm.js} +1 -1
  62. package/dist/web/assets/{dist-foH9IKc6.js → dist-FXbTBwML.js} +1 -1
  63. package/dist/web/assets/{dist-Buk0lwzI.js → dist-l3DUhbw5.js} +1 -1
  64. package/dist/web/assets/{explore-in-BVUy3ZW_.js → explore-in-BfSFGRh2.js} +1 -1
  65. package/dist/web/assets/graph-BU2_o5uA.js +2 -0
  66. package/dist/web/assets/index-C16mXVvk.css +1 -0
  67. package/dist/web/assets/index-CWg9XYXx.js +952 -0
  68. package/dist/web/assets/markdown.reader-Ct2-e2Zt.png +0 -0
  69. package/dist/web/assets/{notes-meaning-pVbbQUGP.js → notes-meaning-T2m5zQfv.js} +1 -1
  70. package/dist/web/assets/overview-PzfLJCo-.js +6 -0
  71. package/dist/web/assets/preview-BguEdsza.js +1 -0
  72. package/dist/web/assets/previews-pWNik-2g.js +3 -0
  73. package/dist/web/assets/{review-CMxQlQ-C.js → review-Dy_85lcH.js} +1 -1
  74. package/dist/web/assets/rho.editor-CCJeyHma.png +0 -0
  75. package/dist/web/assets/rho.flow-WkMj6fRS.png +0 -0
  76. package/dist/web/assets/rho.media-Cc6amodO.png +0 -0
  77. package/dist/web/assets/rho.notebook-6vsZKGDq.png +0 -0
  78. package/dist/web/assets/rho.object-BGoeXjte.png +0 -0
  79. package/dist/web/assets/rho.plots-yIiISCkb.png +0 -0
  80. package/dist/web/assets/rho.scatter-DwHxesCs.png +0 -0
  81. package/dist/web/assets/rho.servers-DKf_mnNq.png +0 -0
  82. package/dist/web/assets/rho.table-DWOGaWDa.png +0 -0
  83. package/dist/web/assets/rho.variables-CKcWczhQ.png +0 -0
  84. package/dist/web/assets/{skills-BFNSyrnD.js → skills-Dyz7mBlc.js} +1 -1
  85. package/dist/web/assets/{skills-work-BGPSnF_I.js → skills-work-BEGqlCkx.js} +1 -1
  86. package/dist/web/assets/studio-process-D-ykbC4D.js +2 -0
  87. package/dist/web/assets/timeline-events-DKTho9fU.js +1 -0
  88. package/dist/web/assets/work-turns-DSabCogR.js +1 -0
  89. package/dist/web/assets/{workspace-CWlkjLNx.js → workspace-DfjBL--r.js} +2 -2
  90. package/dist/web/composition.json +135 -80
  91. package/dist/web/index.html +3 -3
  92. package/dist/web/renderer.json +1 -1
  93. package/dist/web-assets.js +2 -2
  94. package/dist/work-graph.d.ts +11 -1
  95. package/dist/work-graph.js +16 -5
  96. package/dist/workspace.d.ts +2 -2
  97. package/dist/workspace.js +8 -7
  98. package/docs/FRONTEND.md +71 -21
  99. package/docs/HEADLESS.md +127 -24
  100. package/docs/THIRD-PARTY-PLUGINS.md +75 -3
  101. package/node_modules/@rho-workspace/plugin-agent/README.md +34 -0
  102. package/node_modules/@rho-workspace/plugin-agent/dist/acp-command.d.ts +32 -0
  103. package/node_modules/@rho-workspace/plugin-agent/dist/acp-command.js +54 -11
  104. package/node_modules/@rho-workspace/plugin-agent/dist/acp-conversation.d.ts +1 -0
  105. package/node_modules/@rho-workspace/plugin-agent/dist/acp-conversation.js +29 -3
  106. package/node_modules/@rho-workspace/plugin-agent/dist/external-session-contract.js +11 -5
  107. package/node_modules/@rho-workspace/plugin-agent/dist/external-session.d.ts +12 -1
  108. package/node_modules/@rho-workspace/plugin-agent/dist/index.d.ts +8 -0
  109. package/node_modules/@rho-workspace/plugin-agent/dist/index.js +3 -2
  110. package/node_modules/@rho-workspace/plugin-agent/dist/mcp-entry.d.ts +13 -0
  111. package/node_modules/@rho-workspace/plugin-agent/dist/mcp-entry.js +13 -0
  112. package/node_modules/@rho-workspace/plugin-agent/dist/mcp.js +16 -8
  113. package/node_modules/@rho-workspace/plugin-agent/dist/native-sessions.d.ts +70 -0
  114. package/node_modules/@rho-workspace/plugin-agent/dist/native-sessions.js +538 -0
  115. package/node_modules/@rho-workspace/plugin-agent/package.json +2 -1
  116. package/node_modules/@rho-workspace/plugin-figures/LICENSE +661 -0
  117. package/node_modules/@rho-workspace/plugin-figures/README.md +191 -0
  118. package/node_modules/@rho-workspace/plugin-figures/dist/index.d.ts +236 -0
  119. package/node_modules/@rho-workspace/plugin-figures/dist/index.js +165 -0
  120. package/node_modules/@rho-workspace/plugin-figures/dist/operations.d.ts +44 -0
  121. package/node_modules/@rho-workspace/plugin-figures/dist/operations.js +39 -0
  122. package/node_modules/@rho-workspace/plugin-figures/dist/presentation.d.ts +19 -0
  123. package/node_modules/@rho-workspace/plugin-figures/dist/presentation.js +26 -0
  124. package/node_modules/@rho-workspace/plugin-figures/dist/record.d.ts +188 -0
  125. package/node_modules/@rho-workspace/plugin-figures/dist/record.js +143 -0
  126. package/node_modules/@rho-workspace/plugin-figures/dist/ui-styles.d.ts +1 -0
  127. package/node_modules/@rho-workspace/plugin-figures/dist/ui-styles.js +68 -0
  128. package/node_modules/@rho-workspace/plugin-figures/dist/ui.d.ts +56 -0
  129. package/node_modules/@rho-workspace/plugin-figures/dist/ui.js +363 -0
  130. package/node_modules/@rho-workspace/plugin-figures/package.json +41 -0
  131. package/node_modules/@rho-workspace/plugin-figures/py/figures.py +856 -0
  132. package/node_modules/@rho-workspace/plugin-figures/r/figures.R +775 -0
  133. package/node_modules/@rho-workspace/plugin-kernel/README.md +27 -3
  134. package/node_modules/@rho-workspace/plugin-kernel/dist/contract.d.ts +12 -0
  135. package/node_modules/@rho-workspace/plugin-kernel/dist/contract.js +8 -1
  136. package/node_modules/@rho-workspace/plugin-kernel/dist/index.d.ts +61 -0
  137. package/node_modules/@rho-workspace/plugin-kernel/dist/index.js +125 -9
  138. package/node_modules/@rho-workspace/plugin-kernel/dist/session-scope.d.ts +14 -0
  139. package/node_modules/@rho-workspace/plugin-kernel/dist/session-scope.js +9 -0
  140. package/node_modules/@rho-workspace/plugin-kernel/dist/ui-base.d.ts +23 -5
  141. package/node_modules/@rho-workspace/plugin-kernel/dist/ui-notebook-work.js +1 -1
  142. package/node_modules/@rho-workspace/plugin-kernel/dist/ui-notebook.d.ts +6 -4
  143. package/node_modules/@rho-workspace/plugin-kernel/dist/ui-notebook.js +44 -17
  144. package/node_modules/@rho-workspace/plugin-kernel/dist/ui-styles.js +6 -0
  145. package/node_modules/@rho-workspace/plugin-kernel/package.json +1 -1
  146. package/node_modules/@rho-workspace/plugin-kernel/runners/runner.R +144 -4
  147. package/node_modules/@rho-workspace/plugin-kernel/runners/runner.py +106 -1
  148. package/node_modules/@rho-workspace/plugin-tables/README.md +5 -0
  149. package/node_modules/@rho-workspace/plugin-tables/dist/index.d.ts +1 -0
  150. package/node_modules/@rho-workspace/plugin-tables/dist/index.js +19 -3
  151. package/node_modules/@rho-workspace/plugin-tables/dist/ui.js +1 -1
  152. package/node_modules/@rho-workspace/plugin-tables/package.json +1 -1
  153. package/node_modules/hono/dist/adapter/aws-lambda/handler.js +1 -1
  154. package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +1 -1
  155. package/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +1 -1
  156. package/node_modules/hono/dist/cjs/adapter/bun/websocket.js +1 -1
  157. package/node_modules/hono/dist/cjs/client/fetch-result-please.js +1 -1
  158. package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +2 -1
  159. package/node_modules/hono/dist/cjs/helper/ssg/ssg.js +5 -3
  160. package/node_modules/hono/dist/cjs/jsx/base.js +49 -30
  161. package/node_modules/hono/dist/cjs/jsx/components.js +2 -2
  162. package/node_modules/hono/dist/cjs/jsx/constants.js +2 -0
  163. package/node_modules/hono/dist/cjs/jsx/jsx-runtime.js +13 -17
  164. package/node_modules/hono/dist/cjs/middleware/etag/index.js +3 -1
  165. package/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +1 -0
  166. package/node_modules/hono/dist/cjs/middleware/timing/timing.js +4 -3
  167. package/node_modules/hono/dist/cjs/utils/cookie.js +2 -2
  168. package/node_modules/hono/dist/cjs/utils/mime.js +1 -1
  169. package/node_modules/hono/dist/cjs/utils/url.js +1 -1
  170. package/node_modules/hono/dist/client/fetch-result-please.js +1 -1
  171. package/node_modules/hono/dist/helper/accepts/accepts.js +2 -1
  172. package/node_modules/hono/dist/helper/ssg/ssg.js +5 -3
  173. package/node_modules/hono/dist/jsx/base.js +49 -32
  174. package/node_modules/hono/dist/jsx/components.js +2 -2
  175. package/node_modules/hono/dist/jsx/constants.js +2 -1
  176. package/node_modules/hono/dist/jsx/jsx-runtime.js +15 -19
  177. package/node_modules/hono/dist/middleware/etag/index.js +3 -1
  178. package/node_modules/hono/dist/middleware/language/language.js +1 -1
  179. package/node_modules/hono/dist/middleware/pretty-json/index.js +1 -0
  180. package/node_modules/hono/dist/middleware/timing/timing.js +4 -3
  181. package/node_modules/hono/dist/utils/cookie.js +2 -2
  182. package/node_modules/hono/dist/utils/mime.js +1 -1
  183. package/node_modules/hono/dist/utils/url.js +1 -1
  184. package/node_modules/hono/package.json +1 -1
  185. package/node_modules/jose/dist/webapi/jwe/general/decrypt.js +3 -2
  186. package/node_modules/jose/dist/webapi/jwks/remote.js +1 -1
  187. package/node_modules/jose/dist/webapi/jws/general/verify.js +2 -8
  188. package/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +11 -8
  189. package/node_modules/jose/dist/webapi/lib/key_management.js +0 -1
  190. package/node_modules/jose/package.json +1 -1
  191. package/package.json +6 -4
  192. package/protocol/index.json +106 -64
  193. package/protocol/operations/agent.sessions.list.json +57 -3
  194. package/protocol/operations/agent.sessions.read.json +61 -4
  195. package/protocol/operations/capability.list.json +382 -6
  196. package/protocol/operations/composition.apply.json +10 -2
  197. package/protocol/operations/composition.delete.json +845 -0
  198. package/protocol/operations/composition.read.json +10 -2
  199. package/protocol/operations/composition.undo.json +10 -2
  200. package/protocol/operations/conversation.agents.add.json +346 -0
  201. package/protocol/operations/conversation.agents.remove.json +340 -0
  202. package/protocol/operations/conversation.configure.json +29 -0
  203. package/protocol/operations/conversation.decide.json +225 -0
  204. package/protocol/operations/conversation.list.json +29 -0
  205. package/protocol/operations/conversation.permission.json +225 -0
  206. package/protocol/operations/conversation.read.json +225 -0
  207. package/protocol/operations/conversation.restore.json +29 -0
  208. package/protocol/operations/conversation.send.json +294 -0
  209. package/protocol/operations/conversation.settings.check.json +226 -416
  210. package/protocol/operations/conversation.settings.read.json +224 -411
  211. package/protocol/operations/conversation.settings.update.json +248 -475
  212. package/protocol/operations/conversation.start.json +313 -6
  213. package/protocol/operations/conversation.stop.json +225 -0
  214. package/protocol/operations/conversation.trash.json +29 -0
  215. package/protocol/operations/extension.describe.json +39 -0
  216. package/protocol/operations/extension.install.json +62 -0
  217. package/protocol/operations/extension.list.json +164 -1
  218. package/protocol/operations/extension.market.change.json +210 -0
  219. package/protocol/operations/figure.read.json +265 -0
  220. package/protocol/operations/figure.select.json +157 -0
  221. package/protocol/operations/kernel.interrupt.json +119 -0
  222. package/protocol/operations/kernel.read.json +119 -0
  223. package/protocol/operations/kernel.run.json +119 -0
  224. package/protocol/operations/observation.snapshot.json +445 -8
  225. package/protocol/operations/project.openFile.json +10 -2
  226. package/protocol/operations/session.grant.json +4 -0
  227. package/protocol/operations/session.instructions.json +43 -0
  228. package/protocol/operations/shared.json +1 -0
  229. package/protocol/operations/view.close.json +10 -2
  230. package/protocol/operations/view.protection.set.json +10 -2
  231. package/vendor/composition.json +174 -109
  232. package/vendor/rho-workspace-plugin-agent-0.4.33.tgz +0 -0
  233. package/vendor/rho-workspace-plugin-figures-0.5.1.tgz +0 -0
  234. package/vendor/rho-workspace-plugin-kernel-0.5.13.tgz +0 -0
  235. package/vendor/rho-workspace-plugin-tables-0.5.2.tgz +0 -0
  236. package/web/theme.css +17 -0
  237. package/dist/web/assets/answer-board-CBkGbSLD.js +0 -1
  238. package/dist/web/assets/canvas-D8rDdfDz.js +0 -1
  239. package/dist/web/assets/choices-b0XhrGQV.js +0 -1
  240. package/dist/web/assets/graph-1OdIJ9l7.js +0 -2
  241. package/dist/web/assets/index-CsC3sTRq.css +0 -1
  242. package/dist/web/assets/index-CxmItXqa.js +0 -891
  243. package/dist/web/assets/overview-B9UtVJ32.js +0 -6
  244. package/dist/web/assets/preview-CksD_5KS.js +0 -1
  245. package/dist/web/assets/studio-process-CsRoTHOh.js +0 -2
  246. package/dist/web/assets/timeline-events-BbuuFWHV.js +0 -1
  247. package/dist/web/assets/work-turns-BvJlIMmA.js +0 -1
  248. package/vendor/rho-workspace-plugin-agent-0.4.29.tgz +0 -0
  249. package/vendor/rho-workspace-plugin-kernel-0.5.5.tgz +0 -0
  250. package/vendor/rho-workspace-plugin-tables-0.5.0.tgz +0 -0
@@ -249,6 +249,35 @@
249
249
  "type": "null"
250
250
  }
251
251
  ]
252
+ },
253
+ "origin": {
254
+ "anyOf": [
255
+ {
256
+ "type": "object",
257
+ "properties": {
258
+ "producer": {
259
+ "type": "string",
260
+ "minLength": 1
261
+ },
262
+ "where": {
263
+ "type": "string",
264
+ "minLength": 1
265
+ },
266
+ "copyOf": {
267
+ "type": "string",
268
+ "minLength": 1
269
+ }
270
+ },
271
+ "required": [
272
+ "producer",
273
+ "where"
274
+ ],
275
+ "additionalProperties": true
276
+ },
277
+ {
278
+ "type": "null"
279
+ }
280
+ ]
252
281
  }
253
282
  },
254
283
  "required": [
@@ -595,6 +624,202 @@
595
624
  "pattern": "^[a-f0-9]{64}$"
596
625
  }
597
626
  },
627
+ "uiContext": {
628
+ "type": "object",
629
+ "additionalProperties": false,
630
+ "properties": {
631
+ "page": {
632
+ "type": "string",
633
+ "minLength": 1,
634
+ "maxLength": 64
635
+ },
636
+ "compositionId": {
637
+ "type": "string",
638
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
639
+ },
640
+ "compositionVersion": {
641
+ "type": "integer",
642
+ "minimum": 0
643
+ },
644
+ "replayAt": {
645
+ "anyOf": [
646
+ {
647
+ "type": "integer",
648
+ "minimum": 0
649
+ },
650
+ {
651
+ "type": "null"
652
+ }
653
+ ]
654
+ },
655
+ "path": {
656
+ "type": "string",
657
+ "minLength": 1,
658
+ "maxLength": 1024
659
+ },
660
+ "figure": {
661
+ "type": "object",
662
+ "additionalProperties": false,
663
+ "properties": {
664
+ "cellId": {
665
+ "type": "string",
666
+ "pattern": "^k-[a-f0-9]{16}$"
667
+ },
668
+ "plot": {
669
+ "type": "integer",
670
+ "minimum": 1,
671
+ "maximum": 64
672
+ },
673
+ "path": {
674
+ "type": "string",
675
+ "minLength": 1,
676
+ "maxLength": 512
677
+ },
678
+ "sha256": {
679
+ "type": "string",
680
+ "pattern": "^[a-f0-9]{64}$"
681
+ },
682
+ "selectionId": {
683
+ "type": "string",
684
+ "pattern": "^f-[a-f0-9]{16}$"
685
+ }
686
+ },
687
+ "required": [
688
+ "selectionId"
689
+ ]
690
+ },
691
+ "capturedAt": {
692
+ "type": "string",
693
+ "format": "date-time"
694
+ },
695
+ "project": {
696
+ "type": "object",
697
+ "additionalProperties": false,
698
+ "properties": {
699
+ "id": {
700
+ "type": "string",
701
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
702
+ },
703
+ "name": {
704
+ "type": "string"
705
+ }
706
+ },
707
+ "required": [
708
+ "id",
709
+ "name"
710
+ ]
711
+ },
712
+ "workspace": {
713
+ "type": "object",
714
+ "additionalProperties": false,
715
+ "properties": {
716
+ "compositionId": {
717
+ "type": "string",
718
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
719
+ },
720
+ "title": {
721
+ "type": "string"
722
+ },
723
+ "observedVersion": {
724
+ "anyOf": [
725
+ {
726
+ "type": "integer",
727
+ "minimum": 0
728
+ },
729
+ {
730
+ "type": "null"
731
+ }
732
+ ]
733
+ },
734
+ "currentVersion": {
735
+ "anyOf": [
736
+ {
737
+ "type": "integer",
738
+ "minimum": 0
739
+ },
740
+ {
741
+ "type": "null"
742
+ }
743
+ ]
744
+ },
745
+ "state": {
746
+ "enum": [
747
+ "current",
748
+ "changed",
749
+ "deleted",
750
+ "not-created",
751
+ "derived",
752
+ "unavailable"
753
+ ]
754
+ },
755
+ "empty": {
756
+ "type": [
757
+ "boolean",
758
+ "null"
759
+ ]
760
+ },
761
+ "viewCount": {
762
+ "anyOf": [
763
+ {
764
+ "type": "integer",
765
+ "minimum": 0
766
+ },
767
+ {
768
+ "type": "null"
769
+ }
770
+ ]
771
+ },
772
+ "omittedViews": {
773
+ "type": "integer",
774
+ "minimum": 0
775
+ },
776
+ "views": {
777
+ "type": "array",
778
+ "items": {
779
+ "type": "object",
780
+ "additionalProperties": false,
781
+ "properties": {
782
+ "id": {
783
+ "type": "string",
784
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
785
+ },
786
+ "component": {
787
+ "type": "string"
788
+ },
789
+ "title": {
790
+ "type": "string"
791
+ }
792
+ },
793
+ "required": [
794
+ "id",
795
+ "component",
796
+ "title"
797
+ ]
798
+ }
799
+ }
800
+ },
801
+ "required": [
802
+ "compositionId",
803
+ "title",
804
+ "observedVersion",
805
+ "currentVersion",
806
+ "state",
807
+ "empty",
808
+ "viewCount",
809
+ "omittedViews",
810
+ "views"
811
+ ]
812
+ },
813
+ "figureSelection": {
814
+ "type": "object"
815
+ }
816
+ },
817
+ "required": [
818
+ "page",
819
+ "capturedAt",
820
+ "project"
821
+ ]
822
+ },
598
823
  "descriptions": {
599
824
  "type": "array",
600
825
  "items": {
@@ -242,6 +242,35 @@
242
242
  "type": "null"
243
243
  }
244
244
  ]
245
+ },
246
+ "origin": {
247
+ "anyOf": [
248
+ {
249
+ "type": "object",
250
+ "properties": {
251
+ "producer": {
252
+ "type": "string",
253
+ "minLength": 1
254
+ },
255
+ "where": {
256
+ "type": "string",
257
+ "minLength": 1
258
+ },
259
+ "copyOf": {
260
+ "type": "string",
261
+ "minLength": 1
262
+ }
263
+ },
264
+ "required": [
265
+ "producer",
266
+ "where"
267
+ ],
268
+ "additionalProperties": true
269
+ },
270
+ {
271
+ "type": "null"
272
+ }
273
+ ]
245
274
  }
246
275
  },
247
276
  "required": [
@@ -1011,6 +1040,202 @@
1011
1040
  "pattern": "^[a-f0-9]{64}$"
1012
1041
  }
1013
1042
  },
1043
+ "uiContext": {
1044
+ "type": "object",
1045
+ "additionalProperties": false,
1046
+ "properties": {
1047
+ "page": {
1048
+ "type": "string",
1049
+ "minLength": 1,
1050
+ "maxLength": 64
1051
+ },
1052
+ "compositionId": {
1053
+ "type": "string",
1054
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
1055
+ },
1056
+ "compositionVersion": {
1057
+ "type": "integer",
1058
+ "minimum": 0
1059
+ },
1060
+ "replayAt": {
1061
+ "anyOf": [
1062
+ {
1063
+ "type": "integer",
1064
+ "minimum": 0
1065
+ },
1066
+ {
1067
+ "type": "null"
1068
+ }
1069
+ ]
1070
+ },
1071
+ "path": {
1072
+ "type": "string",
1073
+ "minLength": 1,
1074
+ "maxLength": 1024
1075
+ },
1076
+ "figure": {
1077
+ "type": "object",
1078
+ "additionalProperties": false,
1079
+ "properties": {
1080
+ "cellId": {
1081
+ "type": "string",
1082
+ "pattern": "^k-[a-f0-9]{16}$"
1083
+ },
1084
+ "plot": {
1085
+ "type": "integer",
1086
+ "minimum": 1,
1087
+ "maximum": 64
1088
+ },
1089
+ "path": {
1090
+ "type": "string",
1091
+ "minLength": 1,
1092
+ "maxLength": 512
1093
+ },
1094
+ "sha256": {
1095
+ "type": "string",
1096
+ "pattern": "^[a-f0-9]{64}$"
1097
+ },
1098
+ "selectionId": {
1099
+ "type": "string",
1100
+ "pattern": "^f-[a-f0-9]{16}$"
1101
+ }
1102
+ },
1103
+ "required": [
1104
+ "selectionId"
1105
+ ]
1106
+ },
1107
+ "capturedAt": {
1108
+ "type": "string",
1109
+ "format": "date-time"
1110
+ },
1111
+ "project": {
1112
+ "type": "object",
1113
+ "additionalProperties": false,
1114
+ "properties": {
1115
+ "id": {
1116
+ "type": "string",
1117
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
1118
+ },
1119
+ "name": {
1120
+ "type": "string"
1121
+ }
1122
+ },
1123
+ "required": [
1124
+ "id",
1125
+ "name"
1126
+ ]
1127
+ },
1128
+ "workspace": {
1129
+ "type": "object",
1130
+ "additionalProperties": false,
1131
+ "properties": {
1132
+ "compositionId": {
1133
+ "type": "string",
1134
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
1135
+ },
1136
+ "title": {
1137
+ "type": "string"
1138
+ },
1139
+ "observedVersion": {
1140
+ "anyOf": [
1141
+ {
1142
+ "type": "integer",
1143
+ "minimum": 0
1144
+ },
1145
+ {
1146
+ "type": "null"
1147
+ }
1148
+ ]
1149
+ },
1150
+ "currentVersion": {
1151
+ "anyOf": [
1152
+ {
1153
+ "type": "integer",
1154
+ "minimum": 0
1155
+ },
1156
+ {
1157
+ "type": "null"
1158
+ }
1159
+ ]
1160
+ },
1161
+ "state": {
1162
+ "enum": [
1163
+ "current",
1164
+ "changed",
1165
+ "deleted",
1166
+ "not-created",
1167
+ "derived",
1168
+ "unavailable"
1169
+ ]
1170
+ },
1171
+ "empty": {
1172
+ "type": [
1173
+ "boolean",
1174
+ "null"
1175
+ ]
1176
+ },
1177
+ "viewCount": {
1178
+ "anyOf": [
1179
+ {
1180
+ "type": "integer",
1181
+ "minimum": 0
1182
+ },
1183
+ {
1184
+ "type": "null"
1185
+ }
1186
+ ]
1187
+ },
1188
+ "omittedViews": {
1189
+ "type": "integer",
1190
+ "minimum": 0
1191
+ },
1192
+ "views": {
1193
+ "type": "array",
1194
+ "items": {
1195
+ "type": "object",
1196
+ "additionalProperties": false,
1197
+ "properties": {
1198
+ "id": {
1199
+ "type": "string",
1200
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
1201
+ },
1202
+ "component": {
1203
+ "type": "string"
1204
+ },
1205
+ "title": {
1206
+ "type": "string"
1207
+ }
1208
+ },
1209
+ "required": [
1210
+ "id",
1211
+ "component",
1212
+ "title"
1213
+ ]
1214
+ }
1215
+ }
1216
+ },
1217
+ "required": [
1218
+ "compositionId",
1219
+ "title",
1220
+ "observedVersion",
1221
+ "currentVersion",
1222
+ "state",
1223
+ "empty",
1224
+ "viewCount",
1225
+ "omittedViews",
1226
+ "views"
1227
+ ]
1228
+ },
1229
+ "figureSelection": {
1230
+ "type": "object"
1231
+ }
1232
+ },
1233
+ "required": [
1234
+ "page",
1235
+ "capturedAt",
1236
+ "project"
1237
+ ]
1238
+ },
1014
1239
  "descriptions": {
1015
1240
  "type": "array",
1016
1241
  "items": {
@@ -233,6 +233,35 @@
233
233
  "type": "null"
234
234
  }
235
235
  ]
236
+ },
237
+ "origin": {
238
+ "anyOf": [
239
+ {
240
+ "type": "object",
241
+ "properties": {
242
+ "producer": {
243
+ "type": "string",
244
+ "minLength": 1
245
+ },
246
+ "where": {
247
+ "type": "string",
248
+ "minLength": 1
249
+ },
250
+ "copyOf": {
251
+ "type": "string",
252
+ "minLength": 1
253
+ }
254
+ },
255
+ "required": [
256
+ "producer",
257
+ "where"
258
+ ],
259
+ "additionalProperties": true
260
+ },
261
+ {
262
+ "type": "null"
263
+ }
264
+ ]
236
265
  }
237
266
  },
238
267
  "required": [