@rho-workspace/rho 0.5.4 → 0.5.6

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 (161) hide show
  1. package/dist/agent-connect.d.ts +8 -0
  2. package/dist/agent-connect.js +15 -0
  3. package/dist/browser-access.js +3 -2
  4. package/dist/capabilities.d.ts +2 -2
  5. package/dist/capabilities.js +6 -1
  6. package/dist/cli.js +219 -176
  7. package/dist/contract.generated.d.ts +472 -4
  8. package/dist/contract.generated.js +1 -1
  9. package/dist/contracts/owners.generated.js +455 -6
  10. package/dist/conversations.d.ts +157 -4
  11. package/dist/conversations.js +69 -6
  12. package/dist/discovery.d.ts +1 -0
  13. package/dist/discovery.js +3 -3
  14. package/dist/extension-contract.d.ts +99 -0
  15. package/dist/extension-contract.js +52 -0
  16. package/dist/extension-directory.d.ts +9 -0
  17. package/dist/extension-directory.js +11 -0
  18. package/dist/extension-worker.d.ts +1 -0
  19. package/dist/extension-worker.js +36 -0
  20. package/dist/extensions.d.ts +157 -0
  21. package/dist/extensions.js +349 -0
  22. package/dist/plugin-cli.d.ts +1 -0
  23. package/dist/plugin-cli.js +139 -0
  24. package/dist/plugin-inventory.json +18 -0
  25. package/dist/plugins.d.ts +3 -3
  26. package/dist/project-work.d.ts +3 -1
  27. package/dist/project-work.js +15 -2
  28. package/dist/protocol.d.ts +8 -0
  29. package/dist/protocol.js +16 -7
  30. package/dist/server.d.ts +5 -10
  31. package/dist/server.js +122 -12
  32. package/dist/web/.vite/manifest.json +67 -67
  33. package/dist/web/assets/{canvas-BXhC8RDZ.js → canvas-D8rDdfDz.js} +1 -1
  34. package/dist/web/assets/choices-D-YfnFP6.js +1 -0
  35. package/dist/web/assets/{console-Dbdo-5oO.js → console-Trqc0swD.js} +1 -1
  36. package/dist/web/assets/{dist-B2V0VDO0.js → dist-DZmszrjG.js} +2 -2
  37. package/dist/web/assets/dist-DpIHRk3B.js +1 -0
  38. package/dist/web/assets/{dist-D25Vn17i.js → dist-eMx6b8N1.js} +1 -1
  39. package/dist/web/assets/dist-pF902jHA.js +3 -0
  40. package/dist/web/assets/explore-in-BCHqjJ7B.js +1 -0
  41. package/dist/web/assets/graph-lENgfQNH.js +2 -0
  42. package/dist/web/assets/index-B3_OVy91.css +1 -0
  43. package/dist/web/assets/{index-BHQIaDsx.js → index-BpL_Kl_s.js} +87 -86
  44. package/dist/web/assets/{notes-meaning-DdPbtNzJ.js → notes-meaning-DcVGUBBY.js} +1 -1
  45. package/dist/web/assets/overview-CDnVKlOt.js +6 -0
  46. package/dist/web/assets/preview-BEC1E9MK.js +1 -0
  47. package/dist/web/assets/{review-CmWou4Iv.js → review-DYP0aCXb.js} +1 -1
  48. package/dist/web/assets/{skills-Dy7n3L9d.js → skills-1ec0Z-jx.js} +1 -1
  49. package/dist/web/assets/{skills-work-Cj0W6b-I.js → skills-work-DNexV4OJ.js} +1 -1
  50. package/dist/web/assets/{studio-process-QOY_n2_8.js → studio-process-EYQgikxq.js} +2 -2
  51. package/dist/web/assets/{timeline-events-DmX1BCh3.js → timeline-events-Chj2Gbx7.js} +1 -1
  52. package/dist/web/assets/{work-turns-Co0C71rJ.js → work-turns-CT9RVcWY.js} +1 -1
  53. package/dist/web/assets/workspace-COmCbGV3.js +5 -0
  54. package/dist/web/composition.json +65 -65
  55. package/dist/web/index.html +3 -3
  56. package/dist/web/renderer.json +1 -1
  57. package/dist/web-assets.d.ts +2 -1
  58. package/dist/web-assets.js +3 -2
  59. package/dist/work-contract.js +2 -2
  60. package/docs/FRONTEND.md +26 -18
  61. package/docs/HEADLESS.md +38 -28
  62. package/docs/PLUGIN-AUTHORING.md +4 -0
  63. package/docs/THIRD-PARTY-PLUGINS.md +190 -0
  64. package/node_modules/@rho-workspace/plugin-agent/README.md +68 -0
  65. package/node_modules/@rho-workspace/plugin-agent/dist/acp-command.d.ts +1 -0
  66. package/node_modules/@rho-workspace/plugin-agent/dist/acp-command.js +9 -1
  67. package/node_modules/@rho-workspace/plugin-agent/dist/acp-conversation.d.ts +1 -0
  68. package/node_modules/@rho-workspace/plugin-agent/dist/acp-conversation.js +10 -0
  69. package/node_modules/@rho-workspace/plugin-agent/dist/activity-normalize.d.ts +1 -0
  70. package/node_modules/@rho-workspace/plugin-agent/dist/activity-normalize.js +2 -2
  71. package/node_modules/@rho-workspace/plugin-agent/dist/dsh-session.d.ts +6 -0
  72. package/node_modules/@rho-workspace/plugin-agent/dist/dsh-session.js +174 -0
  73. package/node_modules/@rho-workspace/plugin-agent/dist/external-session-contract.d.ts +82 -0
  74. package/node_modules/@rho-workspace/plugin-agent/dist/external-session-contract.js +20 -0
  75. package/node_modules/@rho-workspace/plugin-agent/dist/external-session.d.ts +84 -0
  76. package/node_modules/@rho-workspace/plugin-agent/dist/external-session.js +190 -0
  77. package/node_modules/@rho-workspace/plugin-agent/dist/index.d.ts +373 -0
  78. package/node_modules/@rho-workspace/plugin-agent/dist/index.js +1 -0
  79. package/node_modules/@rho-workspace/plugin-agent/dist/native-sessions.d.ts +70 -0
  80. package/node_modules/@rho-workspace/plugin-agent/dist/native-sessions.js +538 -0
  81. package/node_modules/@rho-workspace/plugin-agent/dist/operations.d.ts +33 -0
  82. package/node_modules/@rho-workspace/plugin-agent/dist/operations.js +3 -0
  83. package/node_modules/@rho-workspace/plugin-agent/dist/presentation.d.ts +14 -0
  84. package/node_modules/@rho-workspace/plugin-agent/dist/presentation.js +2 -0
  85. package/node_modules/@rho-workspace/plugin-agent/dist/ui-external-session.d.ts +15 -0
  86. package/node_modules/@rho-workspace/plugin-agent/dist/ui-external-session.js +37 -0
  87. package/node_modules/@rho-workspace/plugin-agent/package.json +6 -1
  88. package/node_modules/hono/dist/adapter/aws-lambda/handler.js +1 -1
  89. package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +1 -1
  90. package/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +1 -1
  91. package/node_modules/hono/dist/cjs/adapter/bun/websocket.js +1 -1
  92. package/node_modules/hono/dist/cjs/client/fetch-result-please.js +1 -1
  93. package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +2 -1
  94. package/node_modules/hono/dist/cjs/helper/ssg/ssg.js +5 -3
  95. package/node_modules/hono/dist/cjs/jsx/base.js +49 -30
  96. package/node_modules/hono/dist/cjs/jsx/components.js +2 -2
  97. package/node_modules/hono/dist/cjs/jsx/constants.js +2 -0
  98. package/node_modules/hono/dist/cjs/jsx/jsx-runtime.js +13 -17
  99. package/node_modules/hono/dist/cjs/middleware/etag/index.js +3 -1
  100. package/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +1 -0
  101. package/node_modules/hono/dist/cjs/middleware/timing/timing.js +4 -3
  102. package/node_modules/hono/dist/cjs/utils/cookie.js +2 -2
  103. package/node_modules/hono/dist/cjs/utils/mime.js +1 -1
  104. package/node_modules/hono/dist/cjs/utils/url.js +1 -1
  105. package/node_modules/hono/dist/client/fetch-result-please.js +1 -1
  106. package/node_modules/hono/dist/helper/accepts/accepts.js +2 -1
  107. package/node_modules/hono/dist/helper/ssg/ssg.js +5 -3
  108. package/node_modules/hono/dist/jsx/base.js +49 -32
  109. package/node_modules/hono/dist/jsx/components.js +2 -2
  110. package/node_modules/hono/dist/jsx/constants.js +2 -1
  111. package/node_modules/hono/dist/jsx/jsx-runtime.js +15 -19
  112. package/node_modules/hono/dist/middleware/etag/index.js +3 -1
  113. package/node_modules/hono/dist/middleware/language/language.js +1 -1
  114. package/node_modules/hono/dist/middleware/pretty-json/index.js +1 -0
  115. package/node_modules/hono/dist/middleware/timing/timing.js +4 -3
  116. package/node_modules/hono/dist/utils/cookie.js +2 -2
  117. package/node_modules/hono/dist/utils/mime.js +1 -1
  118. package/node_modules/hono/dist/utils/url.js +1 -1
  119. package/node_modules/hono/package.json +1 -1
  120. package/package.json +5 -3
  121. package/protocol/index.json +93 -33
  122. package/protocol/operations/agent.sessions.list.json +146 -0
  123. package/protocol/operations/agent.sessions.read.json +315 -0
  124. package/protocol/operations/conversation.configure.json +29 -0
  125. package/protocol/operations/conversation.decide.json +29 -0
  126. package/protocol/operations/conversation.list.json +29 -0
  127. package/protocol/operations/conversation.permission.json +29 -0
  128. package/protocol/operations/conversation.read.json +29 -0
  129. package/protocol/operations/conversation.restore.json +29 -0
  130. package/protocol/operations/conversation.send.json +29 -0
  131. package/protocol/operations/conversation.settings.check.json +92 -0
  132. package/protocol/operations/conversation.settings.read.json +92 -0
  133. package/protocol/operations/conversation.settings.update.json +92 -0
  134. package/protocol/operations/conversation.start.json +46 -1
  135. package/protocol/operations/conversation.stop.json +29 -0
  136. package/protocol/operations/conversation.trash.json +29 -0
  137. package/protocol/operations/extension.call.json +132 -0
  138. package/protocol/operations/extension.content.json +78 -0
  139. package/protocol/operations/extension.describe.json +195 -0
  140. package/protocol/operations/extension.install.json +198 -0
  141. package/protocol/operations/extension.list.json +123 -0
  142. package/protocol/operations/extension.manage.json +55 -0
  143. package/protocol/operations/extension.read.json +112 -0
  144. package/protocol/operations/observation.snapshot.json +29 -0
  145. package/protocol/operations/project.work.read.json +3 -2
  146. package/protocol/operations/session.grant.json +9 -0
  147. package/protocol/operations/session.instructions.json +43 -0
  148. package/scripts/third-party-acceptance.mjs +77 -0
  149. package/vendor/composition.json +83 -83
  150. package/vendor/rho-workspace-plugin-agent-0.4.30.tgz +0 -0
  151. package/web/theme.css +12 -0
  152. package/dist/web/assets/choices-DU9kHlyQ.js +0 -1
  153. package/dist/web/assets/dist-BV3hWfn_.js +0 -3
  154. package/dist/web/assets/dist-CLNF2g-E.js +0 -1
  155. package/dist/web/assets/explore-in-8Q5ftt-E.js +0 -1
  156. package/dist/web/assets/graph-hS2kvHTI.js +0 -2
  157. package/dist/web/assets/index-Cj1_iqyK.css +0 -1
  158. package/dist/web/assets/overview-BV6ZO5TO.js +0 -6
  159. package/dist/web/assets/preview-n5lOOdjN.js +0 -1
  160. package/dist/web/assets/workspace-BKFefRfJ.js +0 -5
  161. package/vendor/rho-workspace-plugin-agent-0.4.28.tgz +0 -0
@@ -0,0 +1,146 @@
1
+ {
2
+ "method": "agent.sessions.list",
3
+ "inputSchema": {
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "projectId": {
7
+ "type": "string",
8
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
9
+ }
10
+ },
11
+ "required": [
12
+ "projectId"
13
+ ],
14
+ "type": "object"
15
+ },
16
+ "outputSchema": {
17
+ "additionalProperties": false,
18
+ "properties": {
19
+ "omitted": {
20
+ "minimum": 0,
21
+ "type": "integer"
22
+ },
23
+ "sessions": {
24
+ "items": {
25
+ "additionalProperties": false,
26
+ "properties": {
27
+ "bytes": {
28
+ "minimum": 0,
29
+ "type": "integer"
30
+ },
31
+ "continueWith": {
32
+ "enum": [
33
+ "claude-acp",
34
+ "codex-acp",
35
+ "acp",
36
+ null
37
+ ]
38
+ },
39
+ "conversationId": {
40
+ "type": "string"
41
+ },
42
+ "id": {
43
+ "pattern": "^x-[a-f0-9]{64}$",
44
+ "type": "string"
45
+ },
46
+ "inputOwner": {
47
+ "const": "external"
48
+ },
49
+ "lastAt": {
50
+ "type": "string"
51
+ },
52
+ "observedAt": {
53
+ "type": "string"
54
+ },
55
+ "omittedTurns": {
56
+ "minimum": 0,
57
+ "type": "integer"
58
+ },
59
+ "open": {
60
+ "anyOf": [
61
+ {
62
+ "type": "null"
63
+ },
64
+ {
65
+ "additionalProperties": false,
66
+ "properties": {
67
+ "pid": {
68
+ "minimum": 0,
69
+ "type": "integer"
70
+ },
71
+ "since": {
72
+ "type": "string"
73
+ },
74
+ "where": {
75
+ "type": "string"
76
+ }
77
+ },
78
+ "required": [
79
+ "where"
80
+ ],
81
+ "type": "object"
82
+ }
83
+ ]
84
+ },
85
+ "problem": {
86
+ "type": "string"
87
+ },
88
+ "producer": {
89
+ "type": "string"
90
+ },
91
+ "resume": {
92
+ "type": "string"
93
+ },
94
+ "sessionId": {
95
+ "type": "string"
96
+ },
97
+ "sourceCursor": {
98
+ "minimum": 0,
99
+ "type": "integer"
100
+ },
101
+ "state": {
102
+ "enum": [
103
+ "running",
104
+ "completed",
105
+ "failed",
106
+ "stopped",
107
+ "unknown"
108
+ ]
109
+ },
110
+ "title": {
111
+ "type": "string"
112
+ },
113
+ "turns": {
114
+ "minimum": 0,
115
+ "type": "integer"
116
+ },
117
+ "where": {
118
+ "type": "string"
119
+ }
120
+ },
121
+ "required": [
122
+ "id",
123
+ "producer",
124
+ "sessionId",
125
+ "title",
126
+ "lastAt",
127
+ "observedAt",
128
+ "state",
129
+ "turns",
130
+ "sourceCursor",
131
+ "omittedTurns"
132
+ ],
133
+ "type": "object"
134
+ },
135
+ "maxItems": 128,
136
+ "type": "array"
137
+ }
138
+ },
139
+ "required": [
140
+ "sessions",
141
+ "omitted"
142
+ ],
143
+ "type": "object"
144
+ },
145
+ "description": null
146
+ }
@@ -0,0 +1,315 @@
1
+ {
2
+ "method": "agent.sessions.read",
3
+ "inputSchema": {
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "projectId": {
7
+ "type": "string",
8
+ "pattern": "^[A-Za-z0-9._:@-]{1,128}$"
9
+ },
10
+ "before": {
11
+ "minimum": 0,
12
+ "type": "integer"
13
+ },
14
+ "limit": {
15
+ "maximum": 50,
16
+ "minimum": 1,
17
+ "type": "integer"
18
+ },
19
+ "session": {
20
+ "pattern": "^x-[a-f0-9]{64}$",
21
+ "type": "string"
22
+ }
23
+ },
24
+ "required": [
25
+ "projectId",
26
+ "session"
27
+ ],
28
+ "type": "object"
29
+ },
30
+ "outputSchema": {
31
+ "additionalProperties": false,
32
+ "properties": {
33
+ "first": {
34
+ "minimum": 0,
35
+ "type": "integer"
36
+ },
37
+ "session": {
38
+ "additionalProperties": false,
39
+ "properties": {
40
+ "bytes": {
41
+ "minimum": 0,
42
+ "type": "integer"
43
+ },
44
+ "continueWith": {
45
+ "enum": [
46
+ "claude-acp",
47
+ "codex-acp",
48
+ "acp",
49
+ null
50
+ ]
51
+ },
52
+ "conversationId": {
53
+ "type": "string"
54
+ },
55
+ "id": {
56
+ "pattern": "^x-[a-f0-9]{64}$",
57
+ "type": "string"
58
+ },
59
+ "inputOwner": {
60
+ "const": "external"
61
+ },
62
+ "lastAt": {
63
+ "type": "string"
64
+ },
65
+ "observedAt": {
66
+ "type": "string"
67
+ },
68
+ "omittedTurns": {
69
+ "minimum": 0,
70
+ "type": "integer"
71
+ },
72
+ "open": {
73
+ "anyOf": [
74
+ {
75
+ "type": "null"
76
+ },
77
+ {
78
+ "additionalProperties": false,
79
+ "properties": {
80
+ "pid": {
81
+ "minimum": 0,
82
+ "type": "integer"
83
+ },
84
+ "since": {
85
+ "type": "string"
86
+ },
87
+ "where": {
88
+ "type": "string"
89
+ }
90
+ },
91
+ "required": [
92
+ "where"
93
+ ],
94
+ "type": "object"
95
+ }
96
+ ]
97
+ },
98
+ "problem": {
99
+ "type": "string"
100
+ },
101
+ "producer": {
102
+ "type": "string"
103
+ },
104
+ "resume": {
105
+ "type": "string"
106
+ },
107
+ "sessionId": {
108
+ "type": "string"
109
+ },
110
+ "sourceCursor": {
111
+ "minimum": 0,
112
+ "type": "integer"
113
+ },
114
+ "state": {
115
+ "enum": [
116
+ "running",
117
+ "completed",
118
+ "failed",
119
+ "stopped",
120
+ "unknown"
121
+ ]
122
+ },
123
+ "title": {
124
+ "type": "string"
125
+ },
126
+ "turns": {
127
+ "minimum": 0,
128
+ "type": "integer"
129
+ },
130
+ "where": {
131
+ "type": "string"
132
+ }
133
+ },
134
+ "required": [
135
+ "id",
136
+ "producer",
137
+ "sessionId",
138
+ "title",
139
+ "lastAt",
140
+ "observedAt",
141
+ "state",
142
+ "turns",
143
+ "sourceCursor",
144
+ "omittedTurns"
145
+ ],
146
+ "type": "object"
147
+ },
148
+ "turns": {
149
+ "items": {
150
+ "additionalProperties": false,
151
+ "properties": {
152
+ "at": {
153
+ "type": "string"
154
+ },
155
+ "endedAt": {
156
+ "type": "string"
157
+ },
158
+ "id": {
159
+ "type": "string"
160
+ },
161
+ "messages": {
162
+ "items": {
163
+ "additionalProperties": false,
164
+ "properties": {
165
+ "at": {
166
+ "type": "string"
167
+ },
168
+ "text": {
169
+ "type": "string"
170
+ }
171
+ },
172
+ "required": [
173
+ "at",
174
+ "text"
175
+ ],
176
+ "type": "object"
177
+ },
178
+ "maxItems": 200,
179
+ "type": "array"
180
+ },
181
+ "omittedChars": {
182
+ "minimum": 0,
183
+ "type": "integer"
184
+ },
185
+ "omittedTools": {
186
+ "minimum": 0,
187
+ "type": "integer"
188
+ },
189
+ "prompt": {
190
+ "type": "string"
191
+ },
192
+ "reply": {
193
+ "type": "string"
194
+ },
195
+ "results": {
196
+ "items": {
197
+ "additionalProperties": false,
198
+ "properties": {
199
+ "id": {
200
+ "type": "string"
201
+ },
202
+ "path": {
203
+ "type": "string"
204
+ },
205
+ "projectId": {
206
+ "type": "string"
207
+ },
208
+ "toolId": {
209
+ "type": "string"
210
+ },
211
+ "version": {
212
+ "type": "string"
213
+ }
214
+ },
215
+ "required": [
216
+ "path",
217
+ "toolId"
218
+ ],
219
+ "type": "object"
220
+ },
221
+ "maxItems": 64,
222
+ "type": "array"
223
+ },
224
+ "state": {
225
+ "enum": [
226
+ "running",
227
+ "completed",
228
+ "failed",
229
+ "stopped",
230
+ "unknown"
231
+ ]
232
+ },
233
+ "tools": {
234
+ "items": {
235
+ "additionalProperties": false,
236
+ "properties": {
237
+ "at": {
238
+ "type": "string"
239
+ },
240
+ "detail": {
241
+ "type": "string"
242
+ },
243
+ "exitCode": {
244
+ "type": "integer"
245
+ },
246
+ "id": {
247
+ "type": "string"
248
+ },
249
+ "name": {
250
+ "type": "string"
251
+ },
252
+ "outcome": {
253
+ "enum": [
254
+ "requested",
255
+ "returned",
256
+ "failed",
257
+ "unknown"
258
+ ]
259
+ },
260
+ "output": {
261
+ "type": "string"
262
+ },
263
+ "paths": {
264
+ "items": {
265
+ "type": "string"
266
+ },
267
+ "maxItems": 32,
268
+ "type": "array"
269
+ }
270
+ },
271
+ "required": [
272
+ "id",
273
+ "at",
274
+ "name",
275
+ "detail",
276
+ "output",
277
+ "outcome",
278
+ "paths"
279
+ ],
280
+ "type": "object"
281
+ },
282
+ "maxItems": 256,
283
+ "type": "array"
284
+ },
285
+ "where": {
286
+ "type": "string"
287
+ }
288
+ },
289
+ "required": [
290
+ "id",
291
+ "at",
292
+ "state",
293
+ "prompt",
294
+ "reply",
295
+ "messages",
296
+ "tools",
297
+ "results",
298
+ "omittedTools",
299
+ "omittedChars"
300
+ ],
301
+ "type": "object"
302
+ },
303
+ "maxItems": 50,
304
+ "type": "array"
305
+ }
306
+ },
307
+ "required": [
308
+ "session",
309
+ "first",
310
+ "turns"
311
+ ],
312
+ "type": "object"
313
+ },
314
+ "description": null
315
+ }
@@ -252,6 +252,35 @@
252
252
  "type": "null"
253
253
  }
254
254
  ]
255
+ },
256
+ "origin": {
257
+ "anyOf": [
258
+ {
259
+ "type": "object",
260
+ "properties": {
261
+ "producer": {
262
+ "type": "string",
263
+ "minLength": 1
264
+ },
265
+ "where": {
266
+ "type": "string",
267
+ "minLength": 1
268
+ },
269
+ "copyOf": {
270
+ "type": "string",
271
+ "minLength": 1
272
+ }
273
+ },
274
+ "required": [
275
+ "producer",
276
+ "where"
277
+ ],
278
+ "additionalProperties": true
279
+ },
280
+ {
281
+ "type": "null"
282
+ }
283
+ ]
255
284
  }
256
285
  },
257
286
  "required": [
@@ -254,6 +254,35 @@
254
254
  "type": "null"
255
255
  }
256
256
  ]
257
+ },
258
+ "origin": {
259
+ "anyOf": [
260
+ {
261
+ "type": "object",
262
+ "properties": {
263
+ "producer": {
264
+ "type": "string",
265
+ "minLength": 1
266
+ },
267
+ "where": {
268
+ "type": "string",
269
+ "minLength": 1
270
+ },
271
+ "copyOf": {
272
+ "type": "string",
273
+ "minLength": 1
274
+ }
275
+ },
276
+ "required": [
277
+ "producer",
278
+ "where"
279
+ ],
280
+ "additionalProperties": true
281
+ },
282
+ {
283
+ "type": "null"
284
+ }
285
+ ]
257
286
  }
258
287
  },
259
288
  "required": [
@@ -234,6 +234,35 @@
234
234
  "type": "null"
235
235
  }
236
236
  ]
237
+ },
238
+ "origin": {
239
+ "anyOf": [
240
+ {
241
+ "type": "object",
242
+ "properties": {
243
+ "producer": {
244
+ "type": "string",
245
+ "minLength": 1
246
+ },
247
+ "where": {
248
+ "type": "string",
249
+ "minLength": 1
250
+ },
251
+ "copyOf": {
252
+ "type": "string",
253
+ "minLength": 1
254
+ }
255
+ },
256
+ "required": [
257
+ "producer",
258
+ "where"
259
+ ],
260
+ "additionalProperties": true
261
+ },
262
+ {
263
+ "type": "null"
264
+ }
265
+ ]
237
266
  }
238
267
  },
239
268
  "required": [
@@ -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": [
@@ -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": [
@@ -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": [