@rho-workspace/rho 0.5.6 → 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 (211) hide show
  1. package/dist/agent-connect.d.ts +36 -2
  2. package/dist/agent-connect.js +64 -11
  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 +76 -11
  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 +1191 -278
  15. package/dist/contract.generated.js +1 -1
  16. package/dist/contracts/owners.generated.js +845 -47
  17. package/dist/conversation-presentation.d.ts +9 -2
  18. package/dist/conversation-presentation.js +3 -1
  19. package/dist/conversations.d.ts +154 -8
  20. package/dist/conversations.js +147 -24
  21. package/dist/discovery.js +2 -2
  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 +6 -0
  40. package/dist/protocol.js +30 -12
  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 +2 -0
  46. package/dist/server.js +71 -8
  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 +133 -74
  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-Trqc0swD.js → console-Dyuo1q4N.js} +4 -4
  60. package/dist/web/assets/{dist-pF902jHA.js → dist-CSiCyBml.js} +1 -1
  61. package/dist/web/assets/{dist-DpIHRk3B.js → dist-D9FLb9Hm.js} +1 -1
  62. package/dist/web/assets/{dist-eMx6b8N1.js → dist-FXbTBwML.js} +1 -1
  63. package/dist/web/assets/{dist-DZmszrjG.js → dist-l3DUhbw5.js} +1 -1
  64. package/dist/web/assets/{explore-in-BCHqjJ7B.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-DcVGUBBY.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-DYP0aCXb.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-1ec0Z-jx.js → skills-Dyz7mBlc.js} +1 -1
  85. package/dist/web/assets/{skills-work-DNexV4OJ.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-COmCbGV3.js → workspace-DfjBL--r.js} +2 -2
  90. package/dist/web/composition.json +138 -83
  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 +53 -11
  99. package/docs/HEADLESS.md +104 -11
  100. package/docs/THIRD-PARTY-PLUGINS.md +75 -3
  101. package/node_modules/@rho-workspace/plugin-agent/README.md +5 -0
  102. package/node_modules/@rho-workspace/plugin-agent/dist/acp-command.d.ts +31 -0
  103. package/node_modules/@rho-workspace/plugin-agent/dist/acp-command.js +45 -10
  104. package/node_modules/@rho-workspace/plugin-agent/dist/acp-conversation.js +19 -3
  105. package/node_modules/@rho-workspace/plugin-agent/dist/external-session-contract.js +3 -2
  106. package/node_modules/@rho-workspace/plugin-agent/dist/external-session.d.ts +1 -1
  107. package/node_modules/@rho-workspace/plugin-agent/dist/index.d.ts +8 -0
  108. package/node_modules/@rho-workspace/plugin-agent/dist/index.js +3 -2
  109. package/node_modules/@rho-workspace/plugin-agent/dist/mcp-entry.d.ts +13 -0
  110. package/node_modules/@rho-workspace/plugin-agent/dist/mcp-entry.js +13 -0
  111. package/node_modules/@rho-workspace/plugin-agent/dist/mcp.js +16 -8
  112. package/node_modules/@rho-workspace/plugin-agent/dist/native-sessions.d.ts +1 -1
  113. package/node_modules/@rho-workspace/plugin-agent/package.json +1 -1
  114. package/node_modules/@rho-workspace/plugin-figures/LICENSE +661 -0
  115. package/node_modules/@rho-workspace/plugin-figures/README.md +191 -0
  116. package/node_modules/@rho-workspace/plugin-figures/dist/index.d.ts +236 -0
  117. package/node_modules/@rho-workspace/plugin-figures/dist/index.js +165 -0
  118. package/node_modules/@rho-workspace/plugin-figures/dist/operations.d.ts +44 -0
  119. package/node_modules/@rho-workspace/plugin-figures/dist/operations.js +39 -0
  120. package/node_modules/@rho-workspace/plugin-figures/dist/presentation.d.ts +19 -0
  121. package/node_modules/@rho-workspace/plugin-figures/dist/presentation.js +26 -0
  122. package/node_modules/@rho-workspace/plugin-figures/dist/record.d.ts +188 -0
  123. package/node_modules/@rho-workspace/plugin-figures/dist/record.js +143 -0
  124. package/node_modules/@rho-workspace/plugin-figures/dist/ui-styles.d.ts +1 -0
  125. package/node_modules/@rho-workspace/plugin-figures/dist/ui-styles.js +68 -0
  126. package/node_modules/@rho-workspace/plugin-figures/dist/ui.d.ts +56 -0
  127. package/node_modules/@rho-workspace/plugin-figures/dist/ui.js +363 -0
  128. package/node_modules/@rho-workspace/plugin-figures/package.json +41 -0
  129. package/node_modules/@rho-workspace/plugin-figures/py/figures.py +856 -0
  130. package/node_modules/@rho-workspace/plugin-figures/r/figures.R +775 -0
  131. package/node_modules/@rho-workspace/plugin-kernel/README.md +27 -3
  132. package/node_modules/@rho-workspace/plugin-kernel/dist/contract.d.ts +12 -0
  133. package/node_modules/@rho-workspace/plugin-kernel/dist/contract.js +8 -1
  134. package/node_modules/@rho-workspace/plugin-kernel/dist/index.d.ts +61 -0
  135. package/node_modules/@rho-workspace/plugin-kernel/dist/index.js +125 -9
  136. package/node_modules/@rho-workspace/plugin-kernel/dist/session-scope.d.ts +14 -0
  137. package/node_modules/@rho-workspace/plugin-kernel/dist/session-scope.js +9 -0
  138. package/node_modules/@rho-workspace/plugin-kernel/dist/ui-base.d.ts +23 -5
  139. package/node_modules/@rho-workspace/plugin-kernel/dist/ui-notebook-work.js +1 -1
  140. package/node_modules/@rho-workspace/plugin-kernel/dist/ui-notebook.d.ts +6 -4
  141. package/node_modules/@rho-workspace/plugin-kernel/dist/ui-notebook.js +44 -17
  142. package/node_modules/@rho-workspace/plugin-kernel/dist/ui-styles.js +6 -0
  143. package/node_modules/@rho-workspace/plugin-kernel/package.json +1 -1
  144. package/node_modules/@rho-workspace/plugin-kernel/runners/runner.R +144 -4
  145. package/node_modules/@rho-workspace/plugin-kernel/runners/runner.py +106 -1
  146. package/node_modules/@rho-workspace/plugin-tables/README.md +5 -0
  147. package/node_modules/@rho-workspace/plugin-tables/dist/index.d.ts +1 -0
  148. package/node_modules/@rho-workspace/plugin-tables/dist/index.js +19 -3
  149. package/node_modules/@rho-workspace/plugin-tables/dist/ui.js +1 -1
  150. package/node_modules/@rho-workspace/plugin-tables/package.json +1 -1
  151. package/node_modules/jose/dist/webapi/jwe/general/decrypt.js +3 -2
  152. package/node_modules/jose/dist/webapi/jwks/remote.js +1 -1
  153. package/node_modules/jose/dist/webapi/jws/general/verify.js +2 -8
  154. package/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +11 -8
  155. package/node_modules/jose/dist/webapi/lib/key_management.js +0 -1
  156. package/node_modules/jose/package.json +1 -1
  157. package/package.json +6 -4
  158. package/protocol/index.json +91 -55
  159. package/protocol/operations/agent.sessions.list.json +13 -5
  160. package/protocol/operations/agent.sessions.read.json +13 -5
  161. package/protocol/operations/capability.list.json +382 -6
  162. package/protocol/operations/composition.apply.json +10 -2
  163. package/protocol/operations/composition.delete.json +845 -0
  164. package/protocol/operations/composition.read.json +10 -2
  165. package/protocol/operations/composition.undo.json +10 -2
  166. package/protocol/operations/conversation.agents.add.json +346 -0
  167. package/protocol/operations/conversation.agents.remove.json +340 -0
  168. package/protocol/operations/conversation.decide.json +196 -0
  169. package/protocol/operations/conversation.permission.json +196 -0
  170. package/protocol/operations/conversation.read.json +196 -0
  171. package/protocol/operations/conversation.send.json +265 -0
  172. package/protocol/operations/conversation.settings.check.json +213 -495
  173. package/protocol/operations/conversation.settings.read.json +211 -490
  174. package/protocol/operations/conversation.settings.update.json +235 -554
  175. package/protocol/operations/conversation.start.json +267 -5
  176. package/protocol/operations/conversation.stop.json +196 -0
  177. package/protocol/operations/extension.describe.json +39 -0
  178. package/protocol/operations/extension.install.json +62 -0
  179. package/protocol/operations/extension.list.json +164 -1
  180. package/protocol/operations/extension.market.change.json +210 -0
  181. package/protocol/operations/figure.read.json +265 -0
  182. package/protocol/operations/figure.select.json +157 -0
  183. package/protocol/operations/kernel.interrupt.json +119 -0
  184. package/protocol/operations/kernel.read.json +119 -0
  185. package/protocol/operations/kernel.run.json +119 -0
  186. package/protocol/operations/observation.snapshot.json +416 -8
  187. package/protocol/operations/project.openFile.json +10 -2
  188. package/protocol/operations/session.grant.json +4 -0
  189. package/protocol/operations/shared.json +1 -0
  190. package/protocol/operations/view.close.json +10 -2
  191. package/protocol/operations/view.protection.set.json +10 -2
  192. package/vendor/composition.json +177 -112
  193. package/vendor/rho-workspace-plugin-agent-0.4.33.tgz +0 -0
  194. package/vendor/rho-workspace-plugin-figures-0.5.1.tgz +0 -0
  195. package/vendor/rho-workspace-plugin-kernel-0.5.13.tgz +0 -0
  196. package/vendor/rho-workspace-plugin-tables-0.5.2.tgz +0 -0
  197. package/web/theme.css +5 -0
  198. package/dist/web/assets/answer-board-CBkGbSLD.js +0 -1
  199. package/dist/web/assets/canvas-D8rDdfDz.js +0 -1
  200. package/dist/web/assets/choices-D-YfnFP6.js +0 -1
  201. package/dist/web/assets/graph-lENgfQNH.js +0 -2
  202. package/dist/web/assets/index-B3_OVy91.css +0 -1
  203. package/dist/web/assets/index-BpL_Kl_s.js +0 -892
  204. package/dist/web/assets/overview-CDnVKlOt.js +0 -6
  205. package/dist/web/assets/preview-BEC1E9MK.js +0 -1
  206. package/dist/web/assets/studio-process-EYQgikxq.js +0 -2
  207. package/dist/web/assets/timeline-events-Chj2Gbx7.js +0 -1
  208. package/dist/web/assets/work-turns-CT9RVcWY.js +0 -1
  209. package/vendor/rho-workspace-plugin-agent-0.4.30.tgz +0 -0
  210. package/vendor/rho-workspace-plugin-kernel-0.5.5.tgz +0 -0
  211. package/vendor/rho-workspace-plugin-tables-0.5.0.tgz +0 -0
@@ -46,6 +46,45 @@
46
46
  "sourceCommit": {
47
47
  "type": "string"
48
48
  },
49
+ "market": {
50
+ "type": "object",
51
+ "properties": {
52
+ "id": {
53
+ "type": "string",
54
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,95}$"
55
+ },
56
+ "title": {
57
+ "type": "string",
58
+ "minLength": 1,
59
+ "maxLength": 1024
60
+ },
61
+ "url": {
62
+ "type": "string",
63
+ "minLength": 1,
64
+ "maxLength": 1024
65
+ },
66
+ "digest": {
67
+ "type": "string",
68
+ "pattern": "^[a-f0-9]{64}$"
69
+ },
70
+ "keywords": {
71
+ "type": "array",
72
+ "maxItems": 16,
73
+ "items": {
74
+ "type": "string",
75
+ "minLength": 1,
76
+ "maxLength": 64
77
+ }
78
+ }
79
+ },
80
+ "required": [
81
+ "id",
82
+ "title",
83
+ "url",
84
+ "digest"
85
+ ],
86
+ "additionalProperties": false
87
+ },
49
88
  "enabled": {
50
89
  "type": "boolean"
51
90
  },
@@ -107,6 +146,129 @@
107
146
  "additionalProperties": false
108
147
  }
109
148
  },
149
+ "markets": {
150
+ "type": "array",
151
+ "items": {
152
+ "type": "object",
153
+ "properties": {
154
+ "id": {
155
+ "type": "string",
156
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,95}$"
157
+ },
158
+ "url": {
159
+ "type": "string",
160
+ "minLength": 1,
161
+ "maxLength": 1024
162
+ },
163
+ "title": {
164
+ "type": "string",
165
+ "minLength": 1,
166
+ "maxLength": 1024
167
+ },
168
+ "revision": {
169
+ "type": "integer",
170
+ "minimum": 1
171
+ },
172
+ "digest": {
173
+ "type": "string",
174
+ "pattern": "^[a-f0-9]{64}$"
175
+ },
176
+ "fetchedAt": {
177
+ "type": "string",
178
+ "minLength": 1,
179
+ "maxLength": 1024
180
+ },
181
+ "checkedAt": {
182
+ "type": "string",
183
+ "minLength": 1,
184
+ "maxLength": 1024
185
+ },
186
+ "error": {
187
+ "type": [
188
+ "string",
189
+ "null"
190
+ ]
191
+ },
192
+ "plugins": {
193
+ "type": "array",
194
+ "items": {
195
+ "type": "object",
196
+ "properties": {
197
+ "id": {
198
+ "type": "string",
199
+ "minLength": 1,
200
+ "maxLength": 96,
201
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,95}$"
202
+ },
203
+ "title": {
204
+ "type": "string",
205
+ "minLength": 1,
206
+ "maxLength": 120
207
+ },
208
+ "version": {
209
+ "type": "string",
210
+ "minLength": 1,
211
+ "maxLength": 64,
212
+ "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z.-]+)?(?:\\+[0-9A-Za-z.-]+)?$"
213
+ },
214
+ "description": {
215
+ "type": "string",
216
+ "minLength": 1,
217
+ "maxLength": 2048
218
+ },
219
+ "source": {
220
+ "type": "string",
221
+ "minLength": 1,
222
+ "maxLength": 1024
223
+ },
224
+ "repository": {
225
+ "type": "string",
226
+ "minLength": 1,
227
+ "maxLength": 2048
228
+ },
229
+ "needs": {
230
+ "type": "string",
231
+ "minLength": 1,
232
+ "maxLength": 2048
233
+ },
234
+ "keywords": {
235
+ "type": "array",
236
+ "items": {
237
+ "type": "string",
238
+ "minLength": 1,
239
+ "maxLength": 64
240
+ },
241
+ "maxItems": 16,
242
+ "uniqueItems": true
243
+ }
244
+ },
245
+ "required": [
246
+ "id",
247
+ "title",
248
+ "version",
249
+ "description",
250
+ "source",
251
+ "repository",
252
+ "needs"
253
+ ],
254
+ "additionalProperties": false
255
+ }
256
+ }
257
+ },
258
+ "required": [
259
+ "id",
260
+ "url",
261
+ "title",
262
+ "revision",
263
+ "digest",
264
+ "fetchedAt",
265
+ "checkedAt",
266
+ "error",
267
+ "plugins"
268
+ ],
269
+ "additionalProperties": false
270
+ }
271
+ },
110
272
  "limits": {
111
273
  "type": "object",
112
274
  "additionalProperties": true
@@ -115,9 +277,10 @@
115
277
  "required": [
116
278
  "plugins",
117
279
  "directory",
280
+ "markets",
118
281
  "limits"
119
282
  ],
120
283
  "additionalProperties": false
121
284
  },
122
- "description": "List independently installed third-party packages and their enabled state, source and immutable digest. Reads start no plugin or runtime. Use extension.describe to discover operation schemas and Skills."
285
+ "description": "List installed third-party packages, the bundled directory and retained remote market indexes. Listing makes no network request and starts no plugin or runtime. Use extension.describe for installed operation schemas and Skills."
123
286
  }
@@ -0,0 +1,210 @@
1
+ {
2
+ "method": "extension.market.change",
3
+ "inputSchema": {
4
+ "type": "object",
5
+ "properties": {
6
+ "action": {
7
+ "enum": [
8
+ "add",
9
+ "refresh",
10
+ "remove"
11
+ ]
12
+ },
13
+ "url": {
14
+ "type": "string",
15
+ "minLength": 1,
16
+ "maxLength": 1024
17
+ },
18
+ "id": {
19
+ "type": "string",
20
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,95}$"
21
+ },
22
+ "expectedRevision": {
23
+ "type": "integer",
24
+ "minimum": 1
25
+ }
26
+ },
27
+ "required": [
28
+ "action"
29
+ ],
30
+ "additionalProperties": false,
31
+ "oneOf": [
32
+ {
33
+ "type": "object",
34
+ "properties": {
35
+ "action": {
36
+ "const": "add"
37
+ },
38
+ "url": {
39
+ "type": "string",
40
+ "minLength": 1,
41
+ "maxLength": 1024
42
+ }
43
+ },
44
+ "required": [
45
+ "action",
46
+ "url"
47
+ ],
48
+ "additionalProperties": false
49
+ },
50
+ {
51
+ "type": "object",
52
+ "properties": {
53
+ "action": {
54
+ "enum": [
55
+ "refresh",
56
+ "remove"
57
+ ]
58
+ },
59
+ "id": {
60
+ "type": "string",
61
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,95}$"
62
+ },
63
+ "expectedRevision": {
64
+ "type": "integer",
65
+ "minimum": 1
66
+ }
67
+ },
68
+ "required": [
69
+ "action",
70
+ "id",
71
+ "expectedRevision"
72
+ ],
73
+ "additionalProperties": false
74
+ }
75
+ ]
76
+ },
77
+ "outputSchema": {
78
+ "type": "object",
79
+ "properties": {
80
+ "markets": {
81
+ "type": "array",
82
+ "items": {
83
+ "type": "object",
84
+ "properties": {
85
+ "id": {
86
+ "type": "string",
87
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,95}$"
88
+ },
89
+ "url": {
90
+ "type": "string",
91
+ "minLength": 1,
92
+ "maxLength": 1024
93
+ },
94
+ "title": {
95
+ "type": "string",
96
+ "minLength": 1,
97
+ "maxLength": 1024
98
+ },
99
+ "revision": {
100
+ "type": "integer",
101
+ "minimum": 1
102
+ },
103
+ "digest": {
104
+ "type": "string",
105
+ "pattern": "^[a-f0-9]{64}$"
106
+ },
107
+ "fetchedAt": {
108
+ "type": "string",
109
+ "minLength": 1,
110
+ "maxLength": 1024
111
+ },
112
+ "checkedAt": {
113
+ "type": "string",
114
+ "minLength": 1,
115
+ "maxLength": 1024
116
+ },
117
+ "error": {
118
+ "type": [
119
+ "string",
120
+ "null"
121
+ ]
122
+ },
123
+ "plugins": {
124
+ "type": "array",
125
+ "items": {
126
+ "type": "object",
127
+ "properties": {
128
+ "id": {
129
+ "type": "string",
130
+ "minLength": 1,
131
+ "maxLength": 96,
132
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,95}$"
133
+ },
134
+ "title": {
135
+ "type": "string",
136
+ "minLength": 1,
137
+ "maxLength": 120
138
+ },
139
+ "version": {
140
+ "type": "string",
141
+ "minLength": 1,
142
+ "maxLength": 64,
143
+ "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z.-]+)?(?:\\+[0-9A-Za-z.-]+)?$"
144
+ },
145
+ "description": {
146
+ "type": "string",
147
+ "minLength": 1,
148
+ "maxLength": 2048
149
+ },
150
+ "source": {
151
+ "type": "string",
152
+ "minLength": 1,
153
+ "maxLength": 1024
154
+ },
155
+ "repository": {
156
+ "type": "string",
157
+ "minLength": 1,
158
+ "maxLength": 2048
159
+ },
160
+ "needs": {
161
+ "type": "string",
162
+ "minLength": 1,
163
+ "maxLength": 2048
164
+ },
165
+ "keywords": {
166
+ "type": "array",
167
+ "items": {
168
+ "type": "string",
169
+ "minLength": 1,
170
+ "maxLength": 64
171
+ },
172
+ "maxItems": 16,
173
+ "uniqueItems": true
174
+ }
175
+ },
176
+ "required": [
177
+ "id",
178
+ "title",
179
+ "version",
180
+ "description",
181
+ "source",
182
+ "repository",
183
+ "needs"
184
+ ],
185
+ "additionalProperties": false
186
+ }
187
+ }
188
+ },
189
+ "required": [
190
+ "id",
191
+ "url",
192
+ "title",
193
+ "revision",
194
+ "digest",
195
+ "fetchedAt",
196
+ "checkedAt",
197
+ "error",
198
+ "plugins"
199
+ ],
200
+ "additionalProperties": false
201
+ }
202
+ }
203
+ },
204
+ "required": [
205
+ "markets"
206
+ ],
207
+ "additionalProperties": false
208
+ },
209
+ "description": "Local person/operator: add an HTTPS plugin market index, refresh it explicitly, or remove its source. Failed refresh retains the last valid index; removal preserves installed plugins. Listing never refreshes a source."
210
+ }
@@ -0,0 +1,265 @@
1
+ {
2
+ "method": "figure.read",
3
+ "inputSchema": {
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "projectId": {
7
+ "type": "string",
8
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
9
+ },
10
+ "cellId": {
11
+ "pattern": "^k-[a-f0-9]{16}$",
12
+ "type": "string"
13
+ },
14
+ "form": {
15
+ "enum": [
16
+ "summary",
17
+ "view",
18
+ "selections"
19
+ ]
20
+ },
21
+ "limit": {
22
+ "maximum": 500,
23
+ "minimum": 1,
24
+ "type": "integer"
25
+ },
26
+ "marks": {
27
+ "items": {
28
+ "pattern": "^\\d{1,4}\\.\\d{1,7}$",
29
+ "type": "string"
30
+ },
31
+ "maxItems": 5000,
32
+ "type": "array"
33
+ },
34
+ "path": {
35
+ "maxLength": 512,
36
+ "minLength": 1,
37
+ "type": "string"
38
+ },
39
+ "plot": {
40
+ "maximum": 64,
41
+ "minimum": 1,
42
+ "type": "integer"
43
+ },
44
+ "selection": {
45
+ "pattern": "^f-[a-f0-9]{16}$",
46
+ "type": "string"
47
+ },
48
+ "sha256": {
49
+ "pattern": "^[a-f0-9]{64}$",
50
+ "type": "string"
51
+ },
52
+ "where": {
53
+ "items": {
54
+ "additionalProperties": false,
55
+ "properties": {
56
+ "column": {
57
+ "maxLength": 256,
58
+ "minLength": 1,
59
+ "type": "string"
60
+ },
61
+ "layer": {
62
+ "minimum": 0,
63
+ "type": "integer"
64
+ },
65
+ "op": {
66
+ "enum": [
67
+ "eq",
68
+ "ne",
69
+ "lt",
70
+ "le",
71
+ "gt",
72
+ "ge",
73
+ "in",
74
+ "contains"
75
+ ]
76
+ },
77
+ "value": {
78
+ "anyOf": [
79
+ {
80
+ "anyOf": [
81
+ {
82
+ "type": "string"
83
+ },
84
+ {
85
+ "type": "number"
86
+ },
87
+ {
88
+ "type": "boolean"
89
+ },
90
+ {
91
+ "type": "null"
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ "items": {
97
+ "anyOf": [
98
+ {
99
+ "type": "string"
100
+ },
101
+ {
102
+ "type": "number"
103
+ },
104
+ {
105
+ "type": "boolean"
106
+ },
107
+ {
108
+ "type": "null"
109
+ }
110
+ ]
111
+ },
112
+ "maxItems": 500,
113
+ "type": "array"
114
+ }
115
+ ]
116
+ }
117
+ },
118
+ "required": [
119
+ "column",
120
+ "op",
121
+ "value"
122
+ ],
123
+ "type": "object"
124
+ },
125
+ "maxItems": 8,
126
+ "minItems": 1,
127
+ "type": "array"
128
+ }
129
+ },
130
+ "required": [
131
+ "projectId"
132
+ ],
133
+ "type": "object"
134
+ },
135
+ "outputSchema": {
136
+ "additionalProperties": false,
137
+ "properties": {
138
+ "figure": {
139
+ "type": "object"
140
+ },
141
+ "matched": {
142
+ "type": "object"
143
+ },
144
+ "record": {
145
+ "type": "object"
146
+ },
147
+ "rows": {
148
+ "items": {
149
+ "type": "object"
150
+ },
151
+ "type": "array"
152
+ },
153
+ "rowsTotal": {
154
+ "minimum": 0,
155
+ "type": "integer"
156
+ },
157
+ "selections": {
158
+ "items": {
159
+ "additionalProperties": false,
160
+ "properties": {
161
+ "at": {
162
+ "minLength": 1,
163
+ "type": "string"
164
+ },
165
+ "by": {
166
+ "minLength": 1,
167
+ "type": "string"
168
+ },
169
+ "cellId": {
170
+ "pattern": "^k-[a-f0-9]{16}$",
171
+ "type": "string"
172
+ },
173
+ "changeId": {
174
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$",
175
+ "type": "string"
176
+ },
177
+ "count": {
178
+ "minimum": 0,
179
+ "type": "integer"
180
+ },
181
+ "digest": {
182
+ "pattern": "^[a-f0-9]{64}$",
183
+ "type": "string"
184
+ },
185
+ "layers": {
186
+ "items": {
187
+ "additionalProperties": false,
188
+ "properties": {
189
+ "geom": {
190
+ "type": "string"
191
+ },
192
+ "layer": {
193
+ "minimum": 0,
194
+ "type": "integer"
195
+ },
196
+ "marks": {
197
+ "minimum": 0,
198
+ "type": "integer"
199
+ }
200
+ },
201
+ "required": [
202
+ "layer",
203
+ "geom",
204
+ "marks"
205
+ ],
206
+ "type": "object"
207
+ },
208
+ "type": "array"
209
+ },
210
+ "marks": {
211
+ "items": {
212
+ "pattern": "^\\d{1,4}\\.\\d{1,7}$",
213
+ "type": "string"
214
+ },
215
+ "type": "array"
216
+ },
217
+ "note": {
218
+ "type": "string"
219
+ },
220
+ "path": {
221
+ "maxLength": 512,
222
+ "minLength": 1,
223
+ "type": "string"
224
+ },
225
+ "plot": {
226
+ "maximum": 64,
227
+ "minimum": 1,
228
+ "type": "integer"
229
+ },
230
+ "selectionId": {
231
+ "pattern": "^f-[a-f0-9]{16}$",
232
+ "type": "string"
233
+ },
234
+ "sha256": {
235
+ "pattern": "^[a-f0-9]{64}$",
236
+ "type": "string"
237
+ }
238
+ },
239
+ "required": [
240
+ "selectionId",
241
+ "cellId",
242
+ "digest",
243
+ "by",
244
+ "at",
245
+ "changeId",
246
+ "note",
247
+ "count",
248
+ "layers"
249
+ ],
250
+ "type": "object"
251
+ },
252
+ "type": "array"
253
+ },
254
+ "summary": {
255
+ "type": "object"
256
+ }
257
+ },
258
+ "required": [
259
+ "figure",
260
+ "selections"
261
+ ],
262
+ "type": "object"
263
+ },
264
+ "description": "What a plot a cell drew shows: its layers, mappings, panels and data, the rows behind marks, and the marks people and Agents selected."
265
+ }