@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
@@ -15,6 +15,29 @@
15
15
  "expectedDigest": {
16
16
  "type": "string",
17
17
  "pattern": "^[a-f0-9]{64}$"
18
+ },
19
+ "market": {
20
+ "type": "object",
21
+ "properties": {
22
+ "id": {
23
+ "type": "string",
24
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,95}$"
25
+ },
26
+ "expectedDigest": {
27
+ "type": "string",
28
+ "pattern": "^[a-f0-9]{64}$"
29
+ },
30
+ "pluginId": {
31
+ "type": "string",
32
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,95}$"
33
+ }
34
+ },
35
+ "required": [
36
+ "id",
37
+ "expectedDigest",
38
+ "pluginId"
39
+ ],
40
+ "additionalProperties": false
18
41
  }
19
42
  },
20
43
  "required": [
@@ -51,6 +74,45 @@
51
74
  "sourceCommit": {
52
75
  "type": "string"
53
76
  },
77
+ "market": {
78
+ "type": "object",
79
+ "properties": {
80
+ "id": {
81
+ "type": "string",
82
+ "pattern": "^[a-z0-9][a-z0-9._-]{0,95}$"
83
+ },
84
+ "title": {
85
+ "type": "string",
86
+ "minLength": 1,
87
+ "maxLength": 1024
88
+ },
89
+ "url": {
90
+ "type": "string",
91
+ "minLength": 1,
92
+ "maxLength": 1024
93
+ },
94
+ "digest": {
95
+ "type": "string",
96
+ "pattern": "^[a-f0-9]{64}$"
97
+ },
98
+ "keywords": {
99
+ "type": "array",
100
+ "maxItems": 16,
101
+ "items": {
102
+ "type": "string",
103
+ "minLength": 1,
104
+ "maxLength": 64
105
+ }
106
+ }
107
+ },
108
+ "required": [
109
+ "id",
110
+ "title",
111
+ "url",
112
+ "digest"
113
+ ],
114
+ "additionalProperties": false
115
+ },
54
116
  "enabled": {
55
117
  "type": "boolean"
56
118
  },
@@ -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
+ }