argsbarg 6.1.1 → 6.1.3

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 (229) hide show
  1. package/CHANGELOG.md +72 -1
  2. package/README.md +17 -19
  3. package/bin/argsbarg +10 -0
  4. package/docs/README.md +4 -3
  5. package/docs/ai-skills.md +4 -2
  6. package/docs/bundled-docs.md +50 -25
  7. package/docs/cli-program.md +76 -10
  8. package/docs/config-schema.md +10 -11
  9. package/docs/configure.md +2 -0
  10. package/docs/decisions.md +40 -0
  11. package/docs/developing.md +43 -5
  12. package/docs/http-server.md +171 -0
  13. package/docs/json-schema-subset.md +51 -0
  14. package/docs/mcp.md +4 -2
  15. package/docs/output-schema.md +55 -62
  16. package/examples/formats.ts +6 -6
  17. package/examples/full-example/Formula/full-example.rb +35 -0
  18. package/examples/full-example/README.md +20 -21
  19. package/examples/full-example/docs/README.md +1 -1
  20. package/examples/full-example/docs/cli-schema.json +1790 -98
  21. package/examples/full-example/docs/cli.md +1990 -0
  22. package/examples/full-example/docs/http.md +28 -29
  23. package/examples/full-example/docs/mcp.md +8 -22
  24. package/examples/full-example/docs/openapi.json +783 -50
  25. package/examples/full-example/docs/skill.md +10 -10
  26. package/examples/full-example/justfile +11 -1
  27. package/examples/full-example/src/commands/render-json/__generated__/RenderJsonInputSchema.json +15 -0
  28. package/examples/full-example/src/commands/render-json/__generated__/index.ts +5 -0
  29. package/examples/full-example/src/commands/render-json/command.test.ts +46 -0
  30. package/examples/full-example/src/commands/render-json/command.ts +30 -0
  31. package/examples/full-example/src/commands/render-json/types.ts +9 -0
  32. package/examples/full-example/src/commands/status/__generated__/StatusJsonOutputSchema.json +15 -0
  33. package/examples/full-example/src/commands/status/__generated__/index.ts +2 -2
  34. package/examples/full-example/src/commands/status/command.ts +5 -13
  35. package/examples/full-example/src/commands/status/types.ts +1 -14
  36. package/examples/full-example/src/commands/workspaces/__generated__/WorkspaceNameInputSchema.json +15 -0
  37. package/examples/full-example/src/commands/workspaces/__generated__/index.ts +5 -0
  38. package/examples/full-example/src/commands/workspaces/command.test.ts +58 -0
  39. package/examples/full-example/src/commands/workspaces/command.ts +94 -0
  40. package/examples/full-example/src/commands/workspaces/types.ts +6 -0
  41. package/examples/full-example/src/db/index.test.ts +86 -0
  42. package/examples/full-example/src/db/index.ts +101 -0
  43. package/examples/full-example/src/db/migrate.test.ts +35 -0
  44. package/examples/full-example/src/db/migrate.ts +69 -0
  45. package/examples/full-example/src/db/migrations/001_workspaces.sql +6 -0
  46. package/examples/full-example/src/db/tables/workspaces.ts +66 -0
  47. package/examples/full-example/src/program.ts +11 -36
  48. package/examples/full-example/src/types/argsbarg.d.ts +11 -0
  49. package/examples/full-example/src/types/md.d.ts +4 -0
  50. package/examples/full-example/tsconfig.json +5 -2
  51. package/examples/mcp-test.ts +1 -2
  52. package/examples/minimal.ts +1 -7
  53. package/examples/nested.ts +1 -2
  54. package/examples/option-required.ts +1 -1
  55. package/examples/servers.ts +4 -5
  56. package/index.d.ts +440 -136
  57. package/package.json +19 -2
  58. package/src/builtins/builtins.test.ts +7 -7
  59. package/src/builtins/completion-bash.ts +1 -1
  60. package/src/builtins/completion-fish.ts +1 -1
  61. package/src/builtins/completion-group.ts +4 -4
  62. package/src/builtins/completion-simulate-shared.ts +9 -0
  63. package/src/builtins/completion-zsh.ts +1 -1
  64. package/src/builtins/config.test.ts +3 -3
  65. package/src/builtins/config.ts +9 -9
  66. package/src/builtins/configure-copy.ts +2 -2
  67. package/src/builtins/configure.ts +4 -4
  68. package/src/builtins/dispatch.ts +19 -18
  69. package/src/builtins/export.ts +7 -5
  70. package/src/builtins/http.ts +68 -0
  71. package/src/builtins/mcp.ts +28 -4
  72. package/src/builtins/presentation.ts +6 -6
  73. package/src/builtins/registry.ts +6 -6
  74. package/src/builtins/scopes.ts +2 -2
  75. package/src/builtins/version.ts +1 -1
  76. package/src/cli-tool/full-example-capabilities.test.ts +10 -15
  77. package/src/cli-tool/main.ts +1 -1
  78. package/src/cli-tool/program.ts +3 -2
  79. package/src/cli-tool/prompt.ts +1 -1
  80. package/src/cli-tool/run-schemagen.ts +1 -3
  81. package/src/cli-tool/schemagen/cleanup.ts +6 -7
  82. package/src/cli-tool/schemagen/discover-schema-roots.ts +66 -120
  83. package/src/cli-tool/schemagen/index.ts +2 -2
  84. package/src/cli-tool/schemagen/names.ts +8 -13
  85. package/src/cli-tool/schemagen/run.ts +21 -28
  86. package/src/cli-tool/schemagen/schemagen.test.ts +136 -46
  87. package/src/config/bindings.test.ts +1 -1
  88. package/src/config/bindings.ts +1 -1
  89. package/src/config/bootstrap.test.ts +1 -1
  90. package/src/config/bootstrap.ts +36 -4
  91. package/src/config/context.test.ts +1 -1
  92. package/src/config/context.ts +1 -1
  93. package/src/config/entry.ts +1 -1
  94. package/src/config/file.test.ts +1 -1
  95. package/src/config/file.ts +3 -3
  96. package/src/config/manifest.ts +1 -1
  97. package/src/config/resolve.test.ts +1 -1
  98. package/src/config/resolve.ts +1 -1
  99. package/src/config/schema.ts +1 -1
  100. package/src/config/validate.ts +1 -1
  101. package/src/{install → configure/artifacts}/binary-placement.test.ts +1 -1
  102. package/src/{install → configure/artifacts}/binary-placement.ts +1 -1
  103. package/src/{install → configure/artifacts}/gh-release-update.ts +1 -1
  104. package/src/{install → configure/artifacts}/install-validate.test.ts +3 -3
  105. package/src/{install → configure/artifacts}/mcp-config.ts +1 -1
  106. package/src/{install → configure/artifacts}/mcp-opencode.test.ts +1 -1
  107. package/src/{install → configure/artifacts}/mcp-opencode.ts +1 -1
  108. package/src/{install → configure/artifacts}/paths.ts +5 -5
  109. package/src/configure/artifacts/plan.ts +24 -0
  110. package/src/{install → configure/artifacts}/status.test.ts +1 -1
  111. package/src/{install → configure/artifacts}/status.ts +2 -2
  112. package/src/{install → configure/artifacts}/target-base.ts +1 -1
  113. package/src/{install → configure/artifacts}/target-detect.ts +1 -1
  114. package/src/{install → configure/artifacts}/target-effective.ts +3 -9
  115. package/src/{install → configure/artifacts}/target-mcp-cli.ts +1 -1
  116. package/src/{install → configure/artifacts}/target-mcp-json.ts +1 -1
  117. package/src/{install → configure/artifacts}/target-plan-build.ts +2 -2
  118. package/src/{install → configure/artifacts}/target-registry.ts +2 -2
  119. package/src/{install → configure/artifacts}/target-scope.ts +3 -3
  120. package/src/{install → configure/artifacts}/target-skill.ts +1 -1
  121. package/src/{install → configure/artifacts}/target-types.ts +2 -2
  122. package/src/{install → configure/artifacts}/targets/app.ts +5 -5
  123. package/src/{install → configure/artifacts}/targets/chatgpt-mcp.ts +2 -2
  124. package/src/{install → configure/artifacts}/targets/claude-code-mcp.ts +2 -2
  125. package/src/{install → configure/artifacts}/targets/claude-desktop-mcp.ts +2 -2
  126. package/src/{install → configure/artifacts}/targets/claude-skill.ts +2 -2
  127. package/src/{install → configure/artifacts}/targets/codex-mcp.ts +2 -2
  128. package/src/{install → configure/artifacts}/targets/codex-skill.ts +2 -2
  129. package/src/{install → configure/artifacts}/targets/configure.ts +5 -5
  130. package/src/{install → configure/artifacts}/targets/cursor-mcp.ts +2 -2
  131. package/src/{install → configure/artifacts}/targets/cursor-skill.ts +2 -2
  132. package/src/{install → configure/artifacts}/targets/index.ts +1 -1
  133. package/src/{install → configure/artifacts}/targets/openclaw-mcp.ts +2 -2
  134. package/src/{install → configure/artifacts}/targets/openclaw-skill.ts +3 -3
  135. package/src/{install → configure/artifacts}/targets/opencode-mcp.ts +5 -5
  136. package/src/{install → configure/artifacts}/targets/opencode-skill.ts +3 -3
  137. package/src/{install → configure/artifacts}/targets.test.ts +1 -1
  138. package/src/{install → configure/artifacts}/uninstall.ts +1 -1
  139. package/src/configure/configure.test.ts +11 -11
  140. package/src/configure/index.ts +14 -14
  141. package/src/configure/prompt.ts +2 -2
  142. package/src/{context.ts → core/context.ts} +26 -20
  143. package/src/core/json-leaf.test.ts +156 -0
  144. package/src/{leaf-inputs.test.ts → core/leaf-inputs.test.ts} +7 -7
  145. package/src/{leaf-inputs.ts → core/leaf-inputs.ts} +76 -16
  146. package/src/{parse.test.ts → core/parse.test.ts} +97 -109
  147. package/src/{parse.ts → core/parse.ts} +173 -25
  148. package/src/{schema.ts → core/schema.ts} +25 -13
  149. package/src/{types.ts → core/types.ts} +238 -35
  150. package/src/{validate.ts → core/validate.ts} +51 -29
  151. package/src/docs/builtin.ts +8 -19
  152. package/src/docs/{api-guide.test.ts → cli-guide.test.ts} +21 -21
  153. package/src/docs/{api-guide.ts → cli-guide.ts} +45 -16
  154. package/src/docs/docs.test.ts +76 -41
  155. package/src/docs/http-guide.ts +37 -34
  156. package/src/docs/mcp-guide.ts +12 -14
  157. package/src/docs/mcp-resources.test.ts +2 -3
  158. package/src/docs/mcp-resources.ts +6 -11
  159. package/src/docs/resolve.ts +22 -30
  160. package/src/docs/save.ts +3 -3
  161. package/src/exports/cli.ts +47 -0
  162. package/src/exports/headless.ts +13 -0
  163. package/src/exports/http.ts +6 -0
  164. package/src/exports/mcp.ts +6 -0
  165. package/src/{headless.test.ts → headless/routing.test.ts} +3 -3
  166. package/src/{headless.ts → headless/routing.ts} +3 -3
  167. package/src/headless/tool-call.ts +114 -46
  168. package/src/help.test.ts +152 -0
  169. package/src/help.ts +54 -18
  170. package/src/hooks/builtin.ts +20 -0
  171. package/src/hooks/run.ts +142 -0
  172. package/src/http/openapi.ts +182 -0
  173. package/src/http/readiness.ts +78 -0
  174. package/src/{api → http}/result.ts +16 -5
  175. package/src/http/routes.ts +329 -0
  176. package/src/http/server.ts +225 -0
  177. package/src/index.ts +38 -25
  178. package/src/log/ecs.test.ts +43 -0
  179. package/src/log/ecs.ts +59 -0
  180. package/src/log/emitter.ts +166 -0
  181. package/src/mcp/bundle.ts +2 -2
  182. package/src/mcp/claude.test.ts +1 -1
  183. package/src/mcp/claude.ts +4 -4
  184. package/src/{hidden-mcpb.test.ts → mcp/hidden-mcpb.test.ts} +10 -9
  185. package/src/mcp/result.ts +2 -2
  186. package/src/mcp/server.ts +54 -6
  187. package/src/mcp/tools.ts +18 -20
  188. package/src/{capabilities.ts → runtime/capabilities.ts} +11 -11
  189. package/src/{cli-errors.ts → runtime/cli-errors.ts} +4 -4
  190. package/src/{cli.ts → runtime/cli.ts} +160 -50
  191. package/src/runtime/exposure.ts +102 -0
  192. package/src/{invoke.test.ts → runtime/invoke.test.ts} +31 -7
  193. package/src/server/context.ts +25 -0
  194. package/src/server/overrides.ts +112 -0
  195. package/src/skill/generate.ts +8 -8
  196. package/src/skill/hint.ts +1 -1
  197. package/src/skill/install.ts +2 -2
  198. package/src/skill/naming.ts +1 -1
  199. package/src/{test-fixtures.ts → test/fixtures.ts} +3 -2
  200. package/src/{config.integration.test.ts → test/integration/config.test.ts} +8 -8
  201. package/src/{api.integration.test.ts → test/integration/http.test.ts} +170 -67
  202. package/src/{mcp.integration.test.ts → test/integration/mcp.test.ts} +11 -57
  203. package/docs/api-server.md +0 -141
  204. package/examples/full-example/docs/api.md +0 -511
  205. package/examples/full-example/src/commands/status/__generated__/outputSchema.json +0 -28
  206. package/examples/full-example/src/config/__generated__/configSchema.json +0 -40
  207. package/examples/full-example/src/config/__generated__/index.ts +0 -5
  208. package/examples/full-example/src/config/types.ts +0 -24
  209. package/src/api/openapi.ts +0 -117
  210. package/src/api/server.ts +0 -120
  211. package/src/builtins/api.ts +0 -38
  212. package/src/hidden.ts +0 -30
  213. package/src/install/plan.ts +0 -53
  214. /package/src/{install → configure/artifacts}/detect-installed.ts +0 -0
  215. /package/src/{install → configure/artifacts}/gh-release-update.test.ts +0 -0
  216. /package/src/{install → configure/artifacts}/mcp-codex.test.ts +0 -0
  217. /package/src/{install → configure/artifacts}/mcp-codex.ts +0 -0
  218. /package/src/{install → configure/artifacts}/mcp-openclaw.test.ts +0 -0
  219. /package/src/{install → configure/artifacts}/mcp-openclaw.ts +0 -0
  220. /package/src/{install → configure/artifacts}/normalize-uninstall.ts +0 -0
  221. /package/src/{install → configure/artifacts}/normalize.ts +0 -0
  222. /package/src/{install → configure/artifacts}/opts.ts +0 -0
  223. /package/src/{install → configure/artifacts}/shell.ts +0 -0
  224. /package/src/{formats.test.ts → core/formats.test.ts} +0 -0
  225. /package/src/{formats.ts → core/formats.ts} +0 -0
  226. /package/src/{respond.ts → core/respond.ts} +0 -0
  227. /package/src/{types.test.ts → core/types.test.ts} +0 -0
  228. /package/src/{api → http}/schema-deref.test.ts +0 -0
  229. /package/src/{api → http}/schema-deref.ts +0 -0
@@ -6,10 +6,94 @@
6
6
  "description": "Argsbarg full example reference app"
7
7
  },
8
8
  "paths": {
9
- "/tools/echo": {
9
+ "/api/echo": {
10
10
  "post": {
11
- "operationId": "echo",
12
- "summary": "echo — Echo a message (MCP-friendly leaf).",
11
+ "operationId": "_api_echo",
12
+ "summary": "Echo a message (MCP-friendly leaf).",
13
+ "responses": {
14
+ "201": {
15
+ "description": "Successful invocation",
16
+ "content": {
17
+ "application/json": {
18
+ "schema": {
19
+ "type": "object"
20
+ }
21
+ }
22
+ }
23
+ },
24
+ "400": {
25
+ "description": "Invalid arguments or help requested",
26
+ "content": {
27
+ "application/json; charset=utf-8": {
28
+ "schema": {
29
+ "type": "object",
30
+ "properties": {
31
+ "error": {
32
+ "type": "string"
33
+ }
34
+ },
35
+ "required": [
36
+ "error"
37
+ ]
38
+ }
39
+ }
40
+ }
41
+ },
42
+ "404": {
43
+ "description": "Not found",
44
+ "content": {
45
+ "application/json; charset=utf-8": {
46
+ "schema": {
47
+ "type": "object",
48
+ "properties": {
49
+ "error": {
50
+ "type": "string"
51
+ }
52
+ },
53
+ "required": [
54
+ "error"
55
+ ]
56
+ }
57
+ }
58
+ }
59
+ },
60
+ "500": {
61
+ "description": "Handler error",
62
+ "content": {
63
+ "application/json; charset=utf-8": {
64
+ "schema": {
65
+ "type": "object",
66
+ "properties": {
67
+ "error": {
68
+ "type": "string"
69
+ }
70
+ },
71
+ "required": [
72
+ "error"
73
+ ]
74
+ }
75
+ }
76
+ }
77
+ },
78
+ "503": {
79
+ "description": "Not ready or missing required config",
80
+ "content": {
81
+ "application/json; charset=utf-8": {
82
+ "schema": {
83
+ "type": "object",
84
+ "properties": {
85
+ "error": {
86
+ "type": "string"
87
+ }
88
+ },
89
+ "required": [
90
+ "error"
91
+ ]
92
+ }
93
+ }
94
+ }
95
+ }
96
+ },
13
97
  "requestBody": {
14
98
  "required": false,
15
99
  "content": {
@@ -22,17 +106,22 @@
22
106
  "description": "Text to print."
23
107
  }
24
108
  },
25
- "additionalProperties": false,
26
109
  "required": [
27
110
  "message"
28
111
  ]
29
112
  }
30
113
  }
31
114
  }
32
- },
115
+ }
116
+ }
117
+ },
118
+ "/api/render-json": {
119
+ "post": {
120
+ "operationId": "_api_render-json",
121
+ "summary": "Echo a JSON message (schema-first JSON leaf demo).",
33
122
  "responses": {
34
- "200": {
35
- "description": "Successful tool invocation",
123
+ "201": {
124
+ "description": "Successful invocation",
36
125
  "content": {
37
126
  "application/json": {
38
127
  "schema": {
@@ -50,9 +139,6 @@
50
139
  "properties": {
51
140
  "error": {
52
141
  "type": "string"
53
- },
54
- "exitCode": {
55
- "type": "integer"
56
142
  }
57
143
  },
58
144
  "required": [
@@ -63,7 +149,7 @@
63
149
  }
64
150
  },
65
151
  "404": {
66
- "description": "Unknown tool",
152
+ "description": "Not found",
67
153
  "content": {
68
154
  "application/json; charset=utf-8": {
69
155
  "schema": {
@@ -97,14 +183,127 @@
97
183
  }
98
184
  }
99
185
  }
186
+ },
187
+ "503": {
188
+ "description": "Not ready or missing required config",
189
+ "content": {
190
+ "application/json; charset=utf-8": {
191
+ "schema": {
192
+ "type": "object",
193
+ "properties": {
194
+ "error": {
195
+ "type": "string"
196
+ }
197
+ },
198
+ "required": [
199
+ "error"
200
+ ]
201
+ }
202
+ }
203
+ }
100
204
  }
101
205
  }
102
206
  }
103
207
  },
104
- "/tools/status": {
208
+ "/api/status": {
105
209
  "post": {
106
- "operationId": "status",
107
- "summary": "status — Show resolved config and app version.",
210
+ "operationId": "_api_status",
211
+ "summary": "Show app version.",
212
+ "responses": {
213
+ "201": {
214
+ "description": "Successful invocation",
215
+ "content": {
216
+ "application/json": {
217
+ "schema": {
218
+ "$schema": "http://json-schema.org/draft-07/schema#",
219
+ "type": "object",
220
+ "properties": {
221
+ "version": {
222
+ "type": "string",
223
+ "description": "App version from program root."
224
+ }
225
+ },
226
+ "required": [
227
+ "version"
228
+ ],
229
+ "additionalProperties": false
230
+ }
231
+ }
232
+ }
233
+ },
234
+ "400": {
235
+ "description": "Invalid arguments or help requested",
236
+ "content": {
237
+ "application/json; charset=utf-8": {
238
+ "schema": {
239
+ "type": "object",
240
+ "properties": {
241
+ "error": {
242
+ "type": "string"
243
+ }
244
+ },
245
+ "required": [
246
+ "error"
247
+ ]
248
+ }
249
+ }
250
+ }
251
+ },
252
+ "404": {
253
+ "description": "Not found",
254
+ "content": {
255
+ "application/json; charset=utf-8": {
256
+ "schema": {
257
+ "type": "object",
258
+ "properties": {
259
+ "error": {
260
+ "type": "string"
261
+ }
262
+ },
263
+ "required": [
264
+ "error"
265
+ ]
266
+ }
267
+ }
268
+ }
269
+ },
270
+ "500": {
271
+ "description": "Handler error",
272
+ "content": {
273
+ "application/json; charset=utf-8": {
274
+ "schema": {
275
+ "type": "object",
276
+ "properties": {
277
+ "error": {
278
+ "type": "string"
279
+ }
280
+ },
281
+ "required": [
282
+ "error"
283
+ ]
284
+ }
285
+ }
286
+ }
287
+ },
288
+ "503": {
289
+ "description": "Not ready or missing required config",
290
+ "content": {
291
+ "application/json; charset=utf-8": {
292
+ "schema": {
293
+ "type": "object",
294
+ "properties": {
295
+ "error": {
296
+ "type": "string"
297
+ }
298
+ },
299
+ "required": [
300
+ "error"
301
+ ]
302
+ }
303
+ }
304
+ }
305
+ }
306
+ },
108
307
  "requestBody": {
109
308
  "required": false,
110
309
  "content": {
@@ -113,47 +312,27 @@
113
312
  "type": "object",
114
313
  "properties": {
115
314
  "json": {
116
- "type": "boolean",
315
+ "type": "string",
117
316
  "description": "Emit JSON."
118
317
  }
119
- },
120
- "additionalProperties": false
318
+ }
121
319
  }
122
320
  }
123
321
  }
124
- },
322
+ }
323
+ }
324
+ },
325
+ "/api/workspaces": {
326
+ "get": {
327
+ "operationId": "_api_workspaces",
328
+ "summary": "List workspaces.",
125
329
  "responses": {
126
330
  "200": {
127
- "description": "Successful tool invocation",
331
+ "description": "Successful invocation",
128
332
  "content": {
129
333
  "application/json": {
130
334
  "schema": {
131
- "$schema": "http://json-schema.org/draft-07/schema#",
132
- "type": "object",
133
- "properties": {
134
- "defaultRegion": {
135
- "type": "string",
136
- "description": "Resolved AWS region."
137
- },
138
- "maxRetries": {
139
- "type": "number",
140
- "description": "Resolved retry count."
141
- },
142
- "apiTokenSet": {
143
- "type": "boolean",
144
- "description": "Whether apiToken is set (value never included)."
145
- },
146
- "version": {
147
- "type": "string",
148
- "description": "App version from program root."
149
- }
150
- },
151
- "required": [
152
- "apiTokenSet",
153
- "version"
154
- ],
155
- "description": "JSON payload for `full-example status --json`.",
156
- "definitions": {}
335
+ "type": "object"
157
336
  }
158
337
  }
159
338
  }
@@ -167,9 +346,6 @@
167
346
  "properties": {
168
347
  "error": {
169
348
  "type": "string"
170
- },
171
- "exitCode": {
172
- "type": "integer"
173
349
  }
174
350
  },
175
351
  "required": [
@@ -180,7 +356,7 @@
180
356
  }
181
357
  },
182
358
  "404": {
183
- "description": "Unknown tool",
359
+ "description": "Not found",
184
360
  "content": {
185
361
  "application/json; charset=utf-8": {
186
362
  "schema": {
@@ -214,8 +390,565 @@
214
390
  }
215
391
  }
216
392
  }
393
+ },
394
+ "503": {
395
+ "description": "Not ready or missing required config",
396
+ "content": {
397
+ "application/json; charset=utf-8": {
398
+ "schema": {
399
+ "type": "object",
400
+ "properties": {
401
+ "error": {
402
+ "type": "string"
403
+ }
404
+ },
405
+ "required": [
406
+ "error"
407
+ ]
408
+ }
409
+ }
410
+ }
217
411
  }
218
- }
412
+ },
413
+ "parameters": []
414
+ },
415
+ "post": {
416
+ "operationId": "_api_workspaces",
417
+ "summary": "Create a workspace.",
418
+ "responses": {
419
+ "201": {
420
+ "description": "Successful invocation",
421
+ "content": {
422
+ "application/json": {
423
+ "schema": {
424
+ "type": "object"
425
+ }
426
+ }
427
+ }
428
+ },
429
+ "400": {
430
+ "description": "Invalid arguments or help requested",
431
+ "content": {
432
+ "application/json; charset=utf-8": {
433
+ "schema": {
434
+ "type": "object",
435
+ "properties": {
436
+ "error": {
437
+ "type": "string"
438
+ }
439
+ },
440
+ "required": [
441
+ "error"
442
+ ]
443
+ }
444
+ }
445
+ }
446
+ },
447
+ "404": {
448
+ "description": "Not found",
449
+ "content": {
450
+ "application/json; charset=utf-8": {
451
+ "schema": {
452
+ "type": "object",
453
+ "properties": {
454
+ "error": {
455
+ "type": "string"
456
+ }
457
+ },
458
+ "required": [
459
+ "error"
460
+ ]
461
+ }
462
+ }
463
+ }
464
+ },
465
+ "500": {
466
+ "description": "Handler error",
467
+ "content": {
468
+ "application/json; charset=utf-8": {
469
+ "schema": {
470
+ "type": "object",
471
+ "properties": {
472
+ "error": {
473
+ "type": "string"
474
+ }
475
+ },
476
+ "required": [
477
+ "error"
478
+ ]
479
+ }
480
+ }
481
+ }
482
+ },
483
+ "503": {
484
+ "description": "Not ready or missing required config",
485
+ "content": {
486
+ "application/json; charset=utf-8": {
487
+ "schema": {
488
+ "type": "object",
489
+ "properties": {
490
+ "error": {
491
+ "type": "string"
492
+ }
493
+ },
494
+ "required": [
495
+ "error"
496
+ ]
497
+ }
498
+ }
499
+ }
500
+ }
501
+ },
502
+ "requestBody": {
503
+ "required": false,
504
+ "content": {
505
+ "application/json; charset=utf-8": {
506
+ "schema": {
507
+ "$schema": "http://json-schema.org/draft-07/schema#",
508
+ "type": "object",
509
+ "properties": {
510
+ "name": {
511
+ "type": "string",
512
+ "description": "Workspace display name."
513
+ }
514
+ },
515
+ "required": [
516
+ "name"
517
+ ],
518
+ "additionalProperties": false
519
+ }
520
+ }
521
+ }
522
+ }
523
+ }
524
+ },
525
+ "/api/workspaces/{id}": {
526
+ "get": {
527
+ "operationId": "_api_workspaces_id",
528
+ "summary": "Get one workspace.",
529
+ "responses": {
530
+ "200": {
531
+ "description": "Successful invocation",
532
+ "content": {
533
+ "application/json": {
534
+ "schema": {
535
+ "type": "object"
536
+ }
537
+ }
538
+ }
539
+ },
540
+ "400": {
541
+ "description": "Invalid arguments or help requested",
542
+ "content": {
543
+ "application/json; charset=utf-8": {
544
+ "schema": {
545
+ "type": "object",
546
+ "properties": {
547
+ "error": {
548
+ "type": "string"
549
+ }
550
+ },
551
+ "required": [
552
+ "error"
553
+ ]
554
+ }
555
+ }
556
+ }
557
+ },
558
+ "404": {
559
+ "description": "Not found",
560
+ "content": {
561
+ "application/json; charset=utf-8": {
562
+ "schema": {
563
+ "type": "object",
564
+ "properties": {
565
+ "error": {
566
+ "type": "string"
567
+ }
568
+ },
569
+ "required": [
570
+ "error"
571
+ ]
572
+ }
573
+ }
574
+ }
575
+ },
576
+ "500": {
577
+ "description": "Handler error",
578
+ "content": {
579
+ "application/json; charset=utf-8": {
580
+ "schema": {
581
+ "type": "object",
582
+ "properties": {
583
+ "error": {
584
+ "type": "string"
585
+ }
586
+ },
587
+ "required": [
588
+ "error"
589
+ ]
590
+ }
591
+ }
592
+ }
593
+ },
594
+ "503": {
595
+ "description": "Not ready or missing required config",
596
+ "content": {
597
+ "application/json; charset=utf-8": {
598
+ "schema": {
599
+ "type": "object",
600
+ "properties": {
601
+ "error": {
602
+ "type": "string"
603
+ }
604
+ },
605
+ "required": [
606
+ "error"
607
+ ]
608
+ }
609
+ }
610
+ }
611
+ }
612
+ },
613
+ "parameters": [
614
+ {
615
+ "name": "id",
616
+ "in": "path",
617
+ "required": true,
618
+ "schema": {
619
+ "type": "string"
620
+ }
621
+ }
622
+ ]
623
+ },
624
+ "put": {
625
+ "operationId": "_api_workspaces_id",
626
+ "summary": "Replace a workspace.",
627
+ "responses": {
628
+ "200": {
629
+ "description": "Successful invocation",
630
+ "content": {
631
+ "application/json": {
632
+ "schema": {
633
+ "type": "object"
634
+ }
635
+ }
636
+ }
637
+ },
638
+ "400": {
639
+ "description": "Invalid arguments or help requested",
640
+ "content": {
641
+ "application/json; charset=utf-8": {
642
+ "schema": {
643
+ "type": "object",
644
+ "properties": {
645
+ "error": {
646
+ "type": "string"
647
+ }
648
+ },
649
+ "required": [
650
+ "error"
651
+ ]
652
+ }
653
+ }
654
+ }
655
+ },
656
+ "404": {
657
+ "description": "Not found",
658
+ "content": {
659
+ "application/json; charset=utf-8": {
660
+ "schema": {
661
+ "type": "object",
662
+ "properties": {
663
+ "error": {
664
+ "type": "string"
665
+ }
666
+ },
667
+ "required": [
668
+ "error"
669
+ ]
670
+ }
671
+ }
672
+ }
673
+ },
674
+ "500": {
675
+ "description": "Handler error",
676
+ "content": {
677
+ "application/json; charset=utf-8": {
678
+ "schema": {
679
+ "type": "object",
680
+ "properties": {
681
+ "error": {
682
+ "type": "string"
683
+ }
684
+ },
685
+ "required": [
686
+ "error"
687
+ ]
688
+ }
689
+ }
690
+ }
691
+ },
692
+ "503": {
693
+ "description": "Not ready or missing required config",
694
+ "content": {
695
+ "application/json; charset=utf-8": {
696
+ "schema": {
697
+ "type": "object",
698
+ "properties": {
699
+ "error": {
700
+ "type": "string"
701
+ }
702
+ },
703
+ "required": [
704
+ "error"
705
+ ]
706
+ }
707
+ }
708
+ }
709
+ }
710
+ },
711
+ "parameters": [
712
+ {
713
+ "name": "id",
714
+ "in": "path",
715
+ "required": true,
716
+ "schema": {
717
+ "type": "string"
718
+ }
719
+ }
720
+ ],
721
+ "requestBody": {
722
+ "required": false,
723
+ "content": {
724
+ "application/json; charset=utf-8": {
725
+ "schema": {
726
+ "$schema": "http://json-schema.org/draft-07/schema#",
727
+ "type": "object",
728
+ "properties": {
729
+ "name": {
730
+ "type": "string",
731
+ "description": "Workspace display name."
732
+ }
733
+ },
734
+ "required": [
735
+ "name"
736
+ ],
737
+ "additionalProperties": false
738
+ }
739
+ }
740
+ }
741
+ }
742
+ },
743
+ "patch": {
744
+ "operationId": "_api_workspaces_id",
745
+ "summary": "Patch a workspace name.",
746
+ "responses": {
747
+ "200": {
748
+ "description": "Successful invocation",
749
+ "content": {
750
+ "application/json": {
751
+ "schema": {
752
+ "type": "object"
753
+ }
754
+ }
755
+ }
756
+ },
757
+ "400": {
758
+ "description": "Invalid arguments or help requested",
759
+ "content": {
760
+ "application/json; charset=utf-8": {
761
+ "schema": {
762
+ "type": "object",
763
+ "properties": {
764
+ "error": {
765
+ "type": "string"
766
+ }
767
+ },
768
+ "required": [
769
+ "error"
770
+ ]
771
+ }
772
+ }
773
+ }
774
+ },
775
+ "404": {
776
+ "description": "Not found",
777
+ "content": {
778
+ "application/json; charset=utf-8": {
779
+ "schema": {
780
+ "type": "object",
781
+ "properties": {
782
+ "error": {
783
+ "type": "string"
784
+ }
785
+ },
786
+ "required": [
787
+ "error"
788
+ ]
789
+ }
790
+ }
791
+ }
792
+ },
793
+ "500": {
794
+ "description": "Handler error",
795
+ "content": {
796
+ "application/json; charset=utf-8": {
797
+ "schema": {
798
+ "type": "object",
799
+ "properties": {
800
+ "error": {
801
+ "type": "string"
802
+ }
803
+ },
804
+ "required": [
805
+ "error"
806
+ ]
807
+ }
808
+ }
809
+ }
810
+ },
811
+ "503": {
812
+ "description": "Not ready or missing required config",
813
+ "content": {
814
+ "application/json; charset=utf-8": {
815
+ "schema": {
816
+ "type": "object",
817
+ "properties": {
818
+ "error": {
819
+ "type": "string"
820
+ }
821
+ },
822
+ "required": [
823
+ "error"
824
+ ]
825
+ }
826
+ }
827
+ }
828
+ }
829
+ },
830
+ "parameters": [
831
+ {
832
+ "name": "id",
833
+ "in": "path",
834
+ "required": true,
835
+ "schema": {
836
+ "type": "string"
837
+ }
838
+ }
839
+ ],
840
+ "requestBody": {
841
+ "required": false,
842
+ "content": {
843
+ "application/json; charset=utf-8": {
844
+ "schema": {
845
+ "$schema": "http://json-schema.org/draft-07/schema#",
846
+ "type": "object",
847
+ "properties": {
848
+ "name": {
849
+ "type": "string",
850
+ "description": "Workspace display name."
851
+ }
852
+ },
853
+ "required": [
854
+ "name"
855
+ ],
856
+ "additionalProperties": false
857
+ }
858
+ }
859
+ }
860
+ }
861
+ },
862
+ "delete": {
863
+ "operationId": "_api_workspaces_id",
864
+ "summary": "Delete a workspace.",
865
+ "responses": {
866
+ "204": {
867
+ "description": "Successful invocation"
868
+ },
869
+ "400": {
870
+ "description": "Invalid arguments or help requested",
871
+ "content": {
872
+ "application/json; charset=utf-8": {
873
+ "schema": {
874
+ "type": "object",
875
+ "properties": {
876
+ "error": {
877
+ "type": "string"
878
+ }
879
+ },
880
+ "required": [
881
+ "error"
882
+ ]
883
+ }
884
+ }
885
+ }
886
+ },
887
+ "404": {
888
+ "description": "Not found",
889
+ "content": {
890
+ "application/json; charset=utf-8": {
891
+ "schema": {
892
+ "type": "object",
893
+ "properties": {
894
+ "error": {
895
+ "type": "string"
896
+ }
897
+ },
898
+ "required": [
899
+ "error"
900
+ ]
901
+ }
902
+ }
903
+ }
904
+ },
905
+ "500": {
906
+ "description": "Handler error",
907
+ "content": {
908
+ "application/json; charset=utf-8": {
909
+ "schema": {
910
+ "type": "object",
911
+ "properties": {
912
+ "error": {
913
+ "type": "string"
914
+ }
915
+ },
916
+ "required": [
917
+ "error"
918
+ ]
919
+ }
920
+ }
921
+ }
922
+ },
923
+ "503": {
924
+ "description": "Not ready or missing required config",
925
+ "content": {
926
+ "application/json; charset=utf-8": {
927
+ "schema": {
928
+ "type": "object",
929
+ "properties": {
930
+ "error": {
931
+ "type": "string"
932
+ }
933
+ },
934
+ "required": [
935
+ "error"
936
+ ]
937
+ }
938
+ }
939
+ }
940
+ }
941
+ },
942
+ "parameters": [
943
+ {
944
+ "name": "id",
945
+ "in": "path",
946
+ "required": true,
947
+ "schema": {
948
+ "type": "string"
949
+ }
950
+ }
951
+ ]
219
952
  }
220
953
  }
221
954
  }