@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
@@ -18,11 +18,8 @@
18
18
  "maxLength": 16384
19
19
  },
20
20
  "backend": {
21
- "enum": [
22
- "claude-acp",
23
- "codex-acp",
24
- "acp"
25
- ]
21
+ "type": "string",
22
+ "pattern": "^(claude-acp|codex-acp|acp|acp:[a-z0-9][a-z0-9-]{0,39})$"
26
23
  },
27
24
  "config": {
28
25
  "type": "object",
@@ -50,6 +47,91 @@
50
47
  "pattern": "^[a-f0-9]{64}$"
51
48
  },
52
49
  "maxItems": 8
50
+ },
51
+ "uiContext": {
52
+ "type": "object",
53
+ "additionalProperties": false,
54
+ "properties": {
55
+ "page": {
56
+ "type": "string",
57
+ "minLength": 1,
58
+ "maxLength": 64
59
+ },
60
+ "compositionId": {
61
+ "type": "string",
62
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
63
+ },
64
+ "compositionVersion": {
65
+ "type": "integer",
66
+ "minimum": 0
67
+ },
68
+ "replayAt": {
69
+ "anyOf": [
70
+ {
71
+ "type": "integer",
72
+ "minimum": 0
73
+ },
74
+ {
75
+ "type": "null"
76
+ }
77
+ ]
78
+ },
79
+ "path": {
80
+ "type": "string",
81
+ "minLength": 1,
82
+ "maxLength": 1024
83
+ },
84
+ "figure": {
85
+ "type": "object",
86
+ "additionalProperties": false,
87
+ "properties": {
88
+ "cellId": {
89
+ "type": "string",
90
+ "pattern": "^k-[a-f0-9]{16}$"
91
+ },
92
+ "plot": {
93
+ "type": "integer",
94
+ "minimum": 1,
95
+ "maximum": 64
96
+ },
97
+ "path": {
98
+ "type": "string",
99
+ "minLength": 1,
100
+ "maxLength": 512
101
+ },
102
+ "sha256": {
103
+ "type": "string",
104
+ "pattern": "^[a-f0-9]{64}$"
105
+ },
106
+ "selectionId": {
107
+ "type": "string",
108
+ "pattern": "^f-[a-f0-9]{16}$"
109
+ }
110
+ },
111
+ "required": [
112
+ "selectionId"
113
+ ]
114
+ }
115
+ },
116
+ "required": [
117
+ "page"
118
+ ]
119
+ },
120
+ "continue": {
121
+ "type": "object",
122
+ "additionalProperties": false,
123
+ "properties": {
124
+ "session": {
125
+ "type": "string",
126
+ "pattern": "^x-[a-f0-9]{64}$"
127
+ },
128
+ "copy": {
129
+ "type": "boolean"
130
+ }
131
+ },
132
+ "required": [
133
+ "session"
134
+ ]
53
135
  }
54
136
  },
55
137
  "required": [
@@ -273,6 +355,35 @@
273
355
  "type": "null"
274
356
  }
275
357
  ]
358
+ },
359
+ "origin": {
360
+ "anyOf": [
361
+ {
362
+ "type": "object",
363
+ "properties": {
364
+ "producer": {
365
+ "type": "string",
366
+ "minLength": 1
367
+ },
368
+ "where": {
369
+ "type": "string",
370
+ "minLength": 1
371
+ },
372
+ "copyOf": {
373
+ "type": "string",
374
+ "minLength": 1
375
+ }
376
+ },
377
+ "required": [
378
+ "producer",
379
+ "where"
380
+ ],
381
+ "additionalProperties": true
382
+ },
383
+ {
384
+ "type": "null"
385
+ }
386
+ ]
276
387
  }
277
388
  },
278
389
  "required": [
@@ -619,6 +730,202 @@
619
730
  "pattern": "^[a-f0-9]{64}$"
620
731
  }
621
732
  },
733
+ "uiContext": {
734
+ "type": "object",
735
+ "additionalProperties": false,
736
+ "properties": {
737
+ "page": {
738
+ "type": "string",
739
+ "minLength": 1,
740
+ "maxLength": 64
741
+ },
742
+ "compositionId": {
743
+ "type": "string",
744
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
745
+ },
746
+ "compositionVersion": {
747
+ "type": "integer",
748
+ "minimum": 0
749
+ },
750
+ "replayAt": {
751
+ "anyOf": [
752
+ {
753
+ "type": "integer",
754
+ "minimum": 0
755
+ },
756
+ {
757
+ "type": "null"
758
+ }
759
+ ]
760
+ },
761
+ "path": {
762
+ "type": "string",
763
+ "minLength": 1,
764
+ "maxLength": 1024
765
+ },
766
+ "figure": {
767
+ "type": "object",
768
+ "additionalProperties": false,
769
+ "properties": {
770
+ "cellId": {
771
+ "type": "string",
772
+ "pattern": "^k-[a-f0-9]{16}$"
773
+ },
774
+ "plot": {
775
+ "type": "integer",
776
+ "minimum": 1,
777
+ "maximum": 64
778
+ },
779
+ "path": {
780
+ "type": "string",
781
+ "minLength": 1,
782
+ "maxLength": 512
783
+ },
784
+ "sha256": {
785
+ "type": "string",
786
+ "pattern": "^[a-f0-9]{64}$"
787
+ },
788
+ "selectionId": {
789
+ "type": "string",
790
+ "pattern": "^f-[a-f0-9]{16}$"
791
+ }
792
+ },
793
+ "required": [
794
+ "selectionId"
795
+ ]
796
+ },
797
+ "capturedAt": {
798
+ "type": "string",
799
+ "format": "date-time"
800
+ },
801
+ "project": {
802
+ "type": "object",
803
+ "additionalProperties": false,
804
+ "properties": {
805
+ "id": {
806
+ "type": "string",
807
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
808
+ },
809
+ "name": {
810
+ "type": "string"
811
+ }
812
+ },
813
+ "required": [
814
+ "id",
815
+ "name"
816
+ ]
817
+ },
818
+ "workspace": {
819
+ "type": "object",
820
+ "additionalProperties": false,
821
+ "properties": {
822
+ "compositionId": {
823
+ "type": "string",
824
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
825
+ },
826
+ "title": {
827
+ "type": "string"
828
+ },
829
+ "observedVersion": {
830
+ "anyOf": [
831
+ {
832
+ "type": "integer",
833
+ "minimum": 0
834
+ },
835
+ {
836
+ "type": "null"
837
+ }
838
+ ]
839
+ },
840
+ "currentVersion": {
841
+ "anyOf": [
842
+ {
843
+ "type": "integer",
844
+ "minimum": 0
845
+ },
846
+ {
847
+ "type": "null"
848
+ }
849
+ ]
850
+ },
851
+ "state": {
852
+ "enum": [
853
+ "current",
854
+ "changed",
855
+ "deleted",
856
+ "not-created",
857
+ "derived",
858
+ "unavailable"
859
+ ]
860
+ },
861
+ "empty": {
862
+ "type": [
863
+ "boolean",
864
+ "null"
865
+ ]
866
+ },
867
+ "viewCount": {
868
+ "anyOf": [
869
+ {
870
+ "type": "integer",
871
+ "minimum": 0
872
+ },
873
+ {
874
+ "type": "null"
875
+ }
876
+ ]
877
+ },
878
+ "omittedViews": {
879
+ "type": "integer",
880
+ "minimum": 0
881
+ },
882
+ "views": {
883
+ "type": "array",
884
+ "items": {
885
+ "type": "object",
886
+ "additionalProperties": false,
887
+ "properties": {
888
+ "id": {
889
+ "type": "string",
890
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
891
+ },
892
+ "component": {
893
+ "type": "string"
894
+ },
895
+ "title": {
896
+ "type": "string"
897
+ }
898
+ },
899
+ "required": [
900
+ "id",
901
+ "component",
902
+ "title"
903
+ ]
904
+ }
905
+ }
906
+ },
907
+ "required": [
908
+ "compositionId",
909
+ "title",
910
+ "observedVersion",
911
+ "currentVersion",
912
+ "state",
913
+ "empty",
914
+ "viewCount",
915
+ "omittedViews",
916
+ "views"
917
+ ]
918
+ },
919
+ "figureSelection": {
920
+ "type": "object"
921
+ }
922
+ },
923
+ "required": [
924
+ "page",
925
+ "capturedAt",
926
+ "project"
927
+ ]
928
+ },
622
929
  "descriptions": {
623
930
  "type": "array",
624
931
  "items": {
@@ -1234,5 +1541,5 @@
1234
1541
  ],
1235
1542
  "additionalProperties": true
1236
1543
  },
1237
- "description": "Person at this machine only: start a conversation with the selected Claude Code or Codex Agent in this project. Rho selects the Agent plugin backend, attaches this project's MCP grant and records the message before sending it. Without backend or config, the person's saved Agent and settings are used and recorded with the conversation. A repeated changeId with the same text returns the original conversation and starts nothing."
1544
+ "description": "Person at this machine only: start a conversation with the selected Claude Code or Codex Agent in this project. Rho selects the Agent plugin backend, attaches this project's MCP grant and records the message before sending it. Without backend or config, the person's saved Agent and settings are used and recorded with the conversation. A repeated changeId with the same text returns the original conversation and starts nothing. With continue, the message continues an Agent session listed by agent.sessions.list (one started in a terminal, an editor or the Agent's own app) through that same session, or through a copy of it with copy; a session another live window holds open is refused unless copied."
1238
1545
  }
@@ -238,6 +238,35 @@
238
238
  "type": "null"
239
239
  }
240
240
  ]
241
+ },
242
+ "origin": {
243
+ "anyOf": [
244
+ {
245
+ "type": "object",
246
+ "properties": {
247
+ "producer": {
248
+ "type": "string",
249
+ "minLength": 1
250
+ },
251
+ "where": {
252
+ "type": "string",
253
+ "minLength": 1
254
+ },
255
+ "copyOf": {
256
+ "type": "string",
257
+ "minLength": 1
258
+ }
259
+ },
260
+ "required": [
261
+ "producer",
262
+ "where"
263
+ ],
264
+ "additionalProperties": true
265
+ },
266
+ {
267
+ "type": "null"
268
+ }
269
+ ]
241
270
  }
242
271
  },
243
272
  "required": [
@@ -584,6 +613,202 @@
584
613
  "pattern": "^[a-f0-9]{64}$"
585
614
  }
586
615
  },
616
+ "uiContext": {
617
+ "type": "object",
618
+ "additionalProperties": false,
619
+ "properties": {
620
+ "page": {
621
+ "type": "string",
622
+ "minLength": 1,
623
+ "maxLength": 64
624
+ },
625
+ "compositionId": {
626
+ "type": "string",
627
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
628
+ },
629
+ "compositionVersion": {
630
+ "type": "integer",
631
+ "minimum": 0
632
+ },
633
+ "replayAt": {
634
+ "anyOf": [
635
+ {
636
+ "type": "integer",
637
+ "minimum": 0
638
+ },
639
+ {
640
+ "type": "null"
641
+ }
642
+ ]
643
+ },
644
+ "path": {
645
+ "type": "string",
646
+ "minLength": 1,
647
+ "maxLength": 1024
648
+ },
649
+ "figure": {
650
+ "type": "object",
651
+ "additionalProperties": false,
652
+ "properties": {
653
+ "cellId": {
654
+ "type": "string",
655
+ "pattern": "^k-[a-f0-9]{16}$"
656
+ },
657
+ "plot": {
658
+ "type": "integer",
659
+ "minimum": 1,
660
+ "maximum": 64
661
+ },
662
+ "path": {
663
+ "type": "string",
664
+ "minLength": 1,
665
+ "maxLength": 512
666
+ },
667
+ "sha256": {
668
+ "type": "string",
669
+ "pattern": "^[a-f0-9]{64}$"
670
+ },
671
+ "selectionId": {
672
+ "type": "string",
673
+ "pattern": "^f-[a-f0-9]{16}$"
674
+ }
675
+ },
676
+ "required": [
677
+ "selectionId"
678
+ ]
679
+ },
680
+ "capturedAt": {
681
+ "type": "string",
682
+ "format": "date-time"
683
+ },
684
+ "project": {
685
+ "type": "object",
686
+ "additionalProperties": false,
687
+ "properties": {
688
+ "id": {
689
+ "type": "string",
690
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
691
+ },
692
+ "name": {
693
+ "type": "string"
694
+ }
695
+ },
696
+ "required": [
697
+ "id",
698
+ "name"
699
+ ]
700
+ },
701
+ "workspace": {
702
+ "type": "object",
703
+ "additionalProperties": false,
704
+ "properties": {
705
+ "compositionId": {
706
+ "type": "string",
707
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
708
+ },
709
+ "title": {
710
+ "type": "string"
711
+ },
712
+ "observedVersion": {
713
+ "anyOf": [
714
+ {
715
+ "type": "integer",
716
+ "minimum": 0
717
+ },
718
+ {
719
+ "type": "null"
720
+ }
721
+ ]
722
+ },
723
+ "currentVersion": {
724
+ "anyOf": [
725
+ {
726
+ "type": "integer",
727
+ "minimum": 0
728
+ },
729
+ {
730
+ "type": "null"
731
+ }
732
+ ]
733
+ },
734
+ "state": {
735
+ "enum": [
736
+ "current",
737
+ "changed",
738
+ "deleted",
739
+ "not-created",
740
+ "derived",
741
+ "unavailable"
742
+ ]
743
+ },
744
+ "empty": {
745
+ "type": [
746
+ "boolean",
747
+ "null"
748
+ ]
749
+ },
750
+ "viewCount": {
751
+ "anyOf": [
752
+ {
753
+ "type": "integer",
754
+ "minimum": 0
755
+ },
756
+ {
757
+ "type": "null"
758
+ }
759
+ ]
760
+ },
761
+ "omittedViews": {
762
+ "type": "integer",
763
+ "minimum": 0
764
+ },
765
+ "views": {
766
+ "type": "array",
767
+ "items": {
768
+ "type": "object",
769
+ "additionalProperties": false,
770
+ "properties": {
771
+ "id": {
772
+ "type": "string",
773
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
774
+ },
775
+ "component": {
776
+ "type": "string"
777
+ },
778
+ "title": {
779
+ "type": "string"
780
+ }
781
+ },
782
+ "required": [
783
+ "id",
784
+ "component",
785
+ "title"
786
+ ]
787
+ }
788
+ }
789
+ },
790
+ "required": [
791
+ "compositionId",
792
+ "title",
793
+ "observedVersion",
794
+ "currentVersion",
795
+ "state",
796
+ "empty",
797
+ "viewCount",
798
+ "omittedViews",
799
+ "views"
800
+ ]
801
+ },
802
+ "figureSelection": {
803
+ "type": "object"
804
+ }
805
+ },
806
+ "required": [
807
+ "page",
808
+ "capturedAt",
809
+ "project"
810
+ ]
811
+ },
587
812
  "descriptions": {
588
813
  "type": "array",
589
814
  "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": [
@@ -48,6 +48,45 @@
48
48
  "sourceCommit": {
49
49
  "type": "string"
50
50
  },
51
+ "market": {
52
+ "type": "object",
53
+ "properties": {
54
+ "id": {
55
+ "type": "string",
56
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,95}$"
57
+ },
58
+ "title": {
59
+ "type": "string",
60
+ "minLength": 1,
61
+ "maxLength": 1024
62
+ },
63
+ "url": {
64
+ "type": "string",
65
+ "minLength": 1,
66
+ "maxLength": 1024
67
+ },
68
+ "digest": {
69
+ "type": "string",
70
+ "pattern": "^[a-f0-9]{64}$"
71
+ },
72
+ "keywords": {
73
+ "type": "array",
74
+ "maxItems": 16,
75
+ "items": {
76
+ "type": "string",
77
+ "minLength": 1,
78
+ "maxLength": 64
79
+ }
80
+ }
81
+ },
82
+ "required": [
83
+ "id",
84
+ "title",
85
+ "url",
86
+ "digest"
87
+ ],
88
+ "additionalProperties": false
89
+ },
51
90
  "enabled": {
52
91
  "type": "boolean"
53
92
  },