argsbarg 6.1.2 → 6.1.4

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 (230) hide show
  1. package/CHANGELOG.md +74 -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 +52 -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 +30 -31
  23. package/examples/full-example/docs/mcp.md +8 -22
  24. package/examples/full-example/docs/openapi.json +798 -44
  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 +431 -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/{json-leaf.test.ts → core/json-leaf.test.ts} +4 -4
  144. package/src/{leaf-inputs.test.ts → core/leaf-inputs.test.ts} +7 -7
  145. package/src/{leaf-inputs.ts → core/leaf-inputs.ts} +16 -12
  146. package/src/{parse.test.ts → core/parse.test.ts} +97 -109
  147. package/src/{parse.ts → core/parse.ts} +129 -31
  148. package/src/{schema.ts → core/schema.ts} +25 -13
  149. package/src/{types.ts → core/types.ts} +225 -35
  150. package/src/{validate.ts → core/validate.ts} +39 -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 +39 -36
  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 +3 -3
  170. package/src/hooks/builtin.ts +20 -0
  171. package/src/hooks/run.ts +142 -0
  172. package/src/http/openapi.ts +290 -0
  173. package/src/http/readiness.ts +78 -0
  174. package/src/{api → http}/result.ts +22 -11
  175. package/src/http/routes.ts +329 -0
  176. package/src/http/server.ts +225 -0
  177. package/src/index.ts +36 -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 +9 -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} +159 -49
  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/test/integration/http.test.ts +651 -0
  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/api.integration.test.ts +0 -441
  212. package/src/builtins/api.ts +0 -38
  213. package/src/hidden.ts +0 -30
  214. package/src/install/plan.ts +0 -53
  215. /package/src/{install → configure/artifacts}/detect-installed.ts +0 -0
  216. /package/src/{install → configure/artifacts}/gh-release-update.test.ts +0 -0
  217. /package/src/{install → configure/artifacts}/mcp-codex.test.ts +0 -0
  218. /package/src/{install → configure/artifacts}/mcp-codex.ts +0 -0
  219. /package/src/{install → configure/artifacts}/mcp-openclaw.test.ts +0 -0
  220. /package/src/{install → configure/artifacts}/mcp-openclaw.ts +0 -0
  221. /package/src/{install → configure/artifacts}/normalize-uninstall.ts +0 -0
  222. /package/src/{install → configure/artifacts}/normalize.ts +0 -0
  223. /package/src/{install → configure/artifacts}/opts.ts +0 -0
  224. /package/src/{install → configure/artifacts}/shell.ts +0 -0
  225. /package/src/{formats.test.ts → core/formats.test.ts} +0 -0
  226. /package/src/{formats.ts → core/formats.ts} +0 -0
  227. /package/src/{respond.ts → core/respond.ts} +0 -0
  228. /package/src/{types.test.ts → core/types.test.ts} +0 -0
  229. /package/src/{api → http}/schema-deref.test.ts +0 -0
  230. /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,63 +183,71 @@
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
- }
102
- }
103
- },
104
- "/tools/status": {
105
- "post": {
106
- "operationId": "status",
107
- "summary": "status — Show resolved config and app version.",
205
+ },
108
206
  "requestBody": {
109
- "required": false,
207
+ "required": true,
110
208
  "content": {
111
209
  "application/json; charset=utf-8": {
112
210
  "schema": {
211
+ "$schema": "http://json-schema.org/draft-07/schema#",
113
212
  "type": "object",
114
213
  "properties": {
115
- "json": {
116
- "type": "boolean",
117
- "description": "Emit JSON."
214
+ "message": {
215
+ "type": "string",
216
+ "description": "Message to echo back."
118
217
  }
119
218
  },
219
+ "required": [
220
+ "message"
221
+ ],
120
222
  "additionalProperties": false
121
223
  }
122
224
  }
123
225
  }
124
- },
226
+ }
227
+ }
228
+ },
229
+ "/api/status": {
230
+ "post": {
231
+ "operationId": "_api_status",
232
+ "summary": "Show app version.",
125
233
  "responses": {
126
- "200": {
127
- "description": "Successful tool invocation",
234
+ "201": {
235
+ "description": "Successful invocation",
128
236
  "content": {
129
237
  "application/json": {
130
238
  "schema": {
131
239
  "$schema": "http://json-schema.org/draft-07/schema#",
132
240
  "type": "object",
133
241
  "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
242
  "version": {
147
243
  "type": "string",
148
244
  "description": "App version from program root."
149
245
  }
150
246
  },
151
247
  "required": [
152
- "apiTokenSet",
153
248
  "version"
154
249
  ],
155
- "description": "JSON payload for `full-example status --json`.",
156
- "definitions": {}
250
+ "additionalProperties": false
157
251
  }
158
252
  }
159
253
  }
@@ -167,9 +261,6 @@
167
261
  "properties": {
168
262
  "error": {
169
263
  "type": "string"
170
- },
171
- "exitCode": {
172
- "type": "integer"
173
264
  }
174
265
  },
175
266
  "required": [
@@ -180,7 +271,7 @@
180
271
  }
181
272
  },
182
273
  "404": {
183
- "description": "Unknown tool",
274
+ "description": "Not found",
184
275
  "content": {
185
276
  "application/json; charset=utf-8": {
186
277
  "schema": {
@@ -214,9 +305,672 @@
214
305
  }
215
306
  }
216
307
  }
308
+ },
309
+ "503": {
310
+ "description": "Not ready or missing required config",
311
+ "content": {
312
+ "application/json; charset=utf-8": {
313
+ "schema": {
314
+ "type": "object",
315
+ "properties": {
316
+ "error": {
317
+ "type": "string"
318
+ }
319
+ },
320
+ "required": [
321
+ "error"
322
+ ]
323
+ }
324
+ }
325
+ }
326
+ }
327
+ },
328
+ "requestBody": {
329
+ "required": false,
330
+ "content": {
331
+ "application/json; charset=utf-8": {
332
+ "schema": {
333
+ "type": "object",
334
+ "properties": {
335
+ "json": {
336
+ "type": "string",
337
+ "description": "Emit JSON."
338
+ }
339
+ }
340
+ }
341
+ }
217
342
  }
218
343
  }
219
344
  }
345
+ },
346
+ "/api/workspaces": {
347
+ "get": {
348
+ "operationId": "_api_workspaces",
349
+ "summary": "List workspaces.",
350
+ "responses": {
351
+ "200": {
352
+ "description": "Successful invocation",
353
+ "content": {
354
+ "application/json": {
355
+ "schema": {
356
+ "type": "object"
357
+ }
358
+ }
359
+ }
360
+ },
361
+ "400": {
362
+ "description": "Invalid arguments or help requested",
363
+ "content": {
364
+ "application/json; charset=utf-8": {
365
+ "schema": {
366
+ "type": "object",
367
+ "properties": {
368
+ "error": {
369
+ "type": "string"
370
+ }
371
+ },
372
+ "required": [
373
+ "error"
374
+ ]
375
+ }
376
+ }
377
+ }
378
+ },
379
+ "404": {
380
+ "description": "Not found",
381
+ "content": {
382
+ "application/json; charset=utf-8": {
383
+ "schema": {
384
+ "type": "object",
385
+ "properties": {
386
+ "error": {
387
+ "type": "string"
388
+ }
389
+ },
390
+ "required": [
391
+ "error"
392
+ ]
393
+ }
394
+ }
395
+ }
396
+ },
397
+ "500": {
398
+ "description": "Handler error",
399
+ "content": {
400
+ "application/json; charset=utf-8": {
401
+ "schema": {
402
+ "type": "object",
403
+ "properties": {
404
+ "error": {
405
+ "type": "string"
406
+ }
407
+ },
408
+ "required": [
409
+ "error"
410
+ ]
411
+ }
412
+ }
413
+ }
414
+ },
415
+ "503": {
416
+ "description": "Not ready or missing required config",
417
+ "content": {
418
+ "application/json; charset=utf-8": {
419
+ "schema": {
420
+ "type": "object",
421
+ "properties": {
422
+ "error": {
423
+ "type": "string"
424
+ }
425
+ },
426
+ "required": [
427
+ "error"
428
+ ]
429
+ }
430
+ }
431
+ }
432
+ }
433
+ },
434
+ "parameters": []
435
+ },
436
+ "post": {
437
+ "operationId": "_api_workspaces",
438
+ "summary": "Create a workspace.",
439
+ "responses": {
440
+ "201": {
441
+ "description": "Successful invocation",
442
+ "content": {
443
+ "application/json": {
444
+ "schema": {
445
+ "type": "object"
446
+ }
447
+ }
448
+ }
449
+ },
450
+ "400": {
451
+ "description": "Invalid arguments or help requested",
452
+ "content": {
453
+ "application/json; charset=utf-8": {
454
+ "schema": {
455
+ "type": "object",
456
+ "properties": {
457
+ "error": {
458
+ "type": "string"
459
+ }
460
+ },
461
+ "required": [
462
+ "error"
463
+ ]
464
+ }
465
+ }
466
+ }
467
+ },
468
+ "404": {
469
+ "description": "Not found",
470
+ "content": {
471
+ "application/json; charset=utf-8": {
472
+ "schema": {
473
+ "type": "object",
474
+ "properties": {
475
+ "error": {
476
+ "type": "string"
477
+ }
478
+ },
479
+ "required": [
480
+ "error"
481
+ ]
482
+ }
483
+ }
484
+ }
485
+ },
486
+ "500": {
487
+ "description": "Handler error",
488
+ "content": {
489
+ "application/json; charset=utf-8": {
490
+ "schema": {
491
+ "type": "object",
492
+ "properties": {
493
+ "error": {
494
+ "type": "string"
495
+ }
496
+ },
497
+ "required": [
498
+ "error"
499
+ ]
500
+ }
501
+ }
502
+ }
503
+ },
504
+ "503": {
505
+ "description": "Not ready or missing required config",
506
+ "content": {
507
+ "application/json; charset=utf-8": {
508
+ "schema": {
509
+ "type": "object",
510
+ "properties": {
511
+ "error": {
512
+ "type": "string"
513
+ }
514
+ },
515
+ "required": [
516
+ "error"
517
+ ]
518
+ }
519
+ }
520
+ }
521
+ }
522
+ },
523
+ "requestBody": {
524
+ "required": false,
525
+ "content": {
526
+ "application/json; charset=utf-8": {
527
+ "schema": {
528
+ "$schema": "http://json-schema.org/draft-07/schema#",
529
+ "type": "object",
530
+ "properties": {
531
+ "name": {
532
+ "type": "string",
533
+ "description": "Workspace display name."
534
+ }
535
+ },
536
+ "required": [
537
+ "name"
538
+ ],
539
+ "additionalProperties": false
540
+ }
541
+ }
542
+ }
543
+ }
544
+ }
545
+ },
546
+ "/api/workspaces/{id}": {
547
+ "get": {
548
+ "operationId": "_api_workspaces_id",
549
+ "summary": "Get one workspace.",
550
+ "responses": {
551
+ "200": {
552
+ "description": "Successful invocation",
553
+ "content": {
554
+ "application/json": {
555
+ "schema": {
556
+ "type": "object"
557
+ }
558
+ }
559
+ }
560
+ },
561
+ "400": {
562
+ "description": "Invalid arguments or help requested",
563
+ "content": {
564
+ "application/json; charset=utf-8": {
565
+ "schema": {
566
+ "type": "object",
567
+ "properties": {
568
+ "error": {
569
+ "type": "string"
570
+ }
571
+ },
572
+ "required": [
573
+ "error"
574
+ ]
575
+ }
576
+ }
577
+ }
578
+ },
579
+ "404": {
580
+ "description": "Not found",
581
+ "content": {
582
+ "application/json; charset=utf-8": {
583
+ "schema": {
584
+ "type": "object",
585
+ "properties": {
586
+ "error": {
587
+ "type": "string"
588
+ }
589
+ },
590
+ "required": [
591
+ "error"
592
+ ]
593
+ }
594
+ }
595
+ }
596
+ },
597
+ "500": {
598
+ "description": "Handler error",
599
+ "content": {
600
+ "application/json; charset=utf-8": {
601
+ "schema": {
602
+ "type": "object",
603
+ "properties": {
604
+ "error": {
605
+ "type": "string"
606
+ }
607
+ },
608
+ "required": [
609
+ "error"
610
+ ]
611
+ }
612
+ }
613
+ }
614
+ },
615
+ "503": {
616
+ "description": "Not ready or missing required config",
617
+ "content": {
618
+ "application/json; charset=utf-8": {
619
+ "schema": {
620
+ "type": "object",
621
+ "properties": {
622
+ "error": {
623
+ "type": "string"
624
+ }
625
+ },
626
+ "required": [
627
+ "error"
628
+ ]
629
+ }
630
+ }
631
+ }
632
+ }
633
+ },
634
+ "parameters": [
635
+ {
636
+ "name": "id",
637
+ "in": "path",
638
+ "required": true,
639
+ "schema": {
640
+ "type": "string"
641
+ }
642
+ }
643
+ ]
644
+ },
645
+ "put": {
646
+ "operationId": "_api_workspaces_id",
647
+ "summary": "Replace a workspace.",
648
+ "responses": {
649
+ "200": {
650
+ "description": "Successful invocation",
651
+ "content": {
652
+ "application/json": {
653
+ "schema": {
654
+ "type": "object"
655
+ }
656
+ }
657
+ }
658
+ },
659
+ "400": {
660
+ "description": "Invalid arguments or help requested",
661
+ "content": {
662
+ "application/json; charset=utf-8": {
663
+ "schema": {
664
+ "type": "object",
665
+ "properties": {
666
+ "error": {
667
+ "type": "string"
668
+ }
669
+ },
670
+ "required": [
671
+ "error"
672
+ ]
673
+ }
674
+ }
675
+ }
676
+ },
677
+ "404": {
678
+ "description": "Not found",
679
+ "content": {
680
+ "application/json; charset=utf-8": {
681
+ "schema": {
682
+ "type": "object",
683
+ "properties": {
684
+ "error": {
685
+ "type": "string"
686
+ }
687
+ },
688
+ "required": [
689
+ "error"
690
+ ]
691
+ }
692
+ }
693
+ }
694
+ },
695
+ "500": {
696
+ "description": "Handler error",
697
+ "content": {
698
+ "application/json; charset=utf-8": {
699
+ "schema": {
700
+ "type": "object",
701
+ "properties": {
702
+ "error": {
703
+ "type": "string"
704
+ }
705
+ },
706
+ "required": [
707
+ "error"
708
+ ]
709
+ }
710
+ }
711
+ }
712
+ },
713
+ "503": {
714
+ "description": "Not ready or missing required config",
715
+ "content": {
716
+ "application/json; charset=utf-8": {
717
+ "schema": {
718
+ "type": "object",
719
+ "properties": {
720
+ "error": {
721
+ "type": "string"
722
+ }
723
+ },
724
+ "required": [
725
+ "error"
726
+ ]
727
+ }
728
+ }
729
+ }
730
+ }
731
+ },
732
+ "parameters": [
733
+ {
734
+ "name": "id",
735
+ "in": "path",
736
+ "required": true,
737
+ "schema": {
738
+ "type": "string"
739
+ }
740
+ }
741
+ ],
742
+ "requestBody": {
743
+ "required": false,
744
+ "content": {
745
+ "application/json; charset=utf-8": {
746
+ "schema": {
747
+ "$schema": "http://json-schema.org/draft-07/schema#",
748
+ "type": "object",
749
+ "properties": {
750
+ "name": {
751
+ "type": "string",
752
+ "description": "Workspace display name."
753
+ }
754
+ },
755
+ "required": [
756
+ "name"
757
+ ],
758
+ "additionalProperties": false
759
+ }
760
+ }
761
+ }
762
+ }
763
+ },
764
+ "patch": {
765
+ "operationId": "_api_workspaces_id",
766
+ "summary": "Patch a workspace name.",
767
+ "responses": {
768
+ "200": {
769
+ "description": "Successful invocation",
770
+ "content": {
771
+ "application/json": {
772
+ "schema": {
773
+ "type": "object"
774
+ }
775
+ }
776
+ }
777
+ },
778
+ "400": {
779
+ "description": "Invalid arguments or help requested",
780
+ "content": {
781
+ "application/json; charset=utf-8": {
782
+ "schema": {
783
+ "type": "object",
784
+ "properties": {
785
+ "error": {
786
+ "type": "string"
787
+ }
788
+ },
789
+ "required": [
790
+ "error"
791
+ ]
792
+ }
793
+ }
794
+ }
795
+ },
796
+ "404": {
797
+ "description": "Not found",
798
+ "content": {
799
+ "application/json; charset=utf-8": {
800
+ "schema": {
801
+ "type": "object",
802
+ "properties": {
803
+ "error": {
804
+ "type": "string"
805
+ }
806
+ },
807
+ "required": [
808
+ "error"
809
+ ]
810
+ }
811
+ }
812
+ }
813
+ },
814
+ "500": {
815
+ "description": "Handler error",
816
+ "content": {
817
+ "application/json; charset=utf-8": {
818
+ "schema": {
819
+ "type": "object",
820
+ "properties": {
821
+ "error": {
822
+ "type": "string"
823
+ }
824
+ },
825
+ "required": [
826
+ "error"
827
+ ]
828
+ }
829
+ }
830
+ }
831
+ },
832
+ "503": {
833
+ "description": "Not ready or missing required config",
834
+ "content": {
835
+ "application/json; charset=utf-8": {
836
+ "schema": {
837
+ "type": "object",
838
+ "properties": {
839
+ "error": {
840
+ "type": "string"
841
+ }
842
+ },
843
+ "required": [
844
+ "error"
845
+ ]
846
+ }
847
+ }
848
+ }
849
+ }
850
+ },
851
+ "parameters": [
852
+ {
853
+ "name": "id",
854
+ "in": "path",
855
+ "required": true,
856
+ "schema": {
857
+ "type": "string"
858
+ }
859
+ }
860
+ ],
861
+ "requestBody": {
862
+ "required": false,
863
+ "content": {
864
+ "application/json; charset=utf-8": {
865
+ "schema": {
866
+ "$schema": "http://json-schema.org/draft-07/schema#",
867
+ "type": "object",
868
+ "properties": {
869
+ "name": {
870
+ "type": "string",
871
+ "description": "Workspace display name."
872
+ }
873
+ },
874
+ "required": [
875
+ "name"
876
+ ],
877
+ "additionalProperties": false
878
+ }
879
+ }
880
+ }
881
+ }
882
+ },
883
+ "delete": {
884
+ "operationId": "_api_workspaces_id",
885
+ "summary": "Delete a workspace.",
886
+ "responses": {
887
+ "204": {
888
+ "description": "Successful invocation"
889
+ },
890
+ "400": {
891
+ "description": "Invalid arguments or help requested",
892
+ "content": {
893
+ "application/json; charset=utf-8": {
894
+ "schema": {
895
+ "type": "object",
896
+ "properties": {
897
+ "error": {
898
+ "type": "string"
899
+ }
900
+ },
901
+ "required": [
902
+ "error"
903
+ ]
904
+ }
905
+ }
906
+ }
907
+ },
908
+ "404": {
909
+ "description": "Not found",
910
+ "content": {
911
+ "application/json; charset=utf-8": {
912
+ "schema": {
913
+ "type": "object",
914
+ "properties": {
915
+ "error": {
916
+ "type": "string"
917
+ }
918
+ },
919
+ "required": [
920
+ "error"
921
+ ]
922
+ }
923
+ }
924
+ }
925
+ },
926
+ "500": {
927
+ "description": "Handler error",
928
+ "content": {
929
+ "application/json; charset=utf-8": {
930
+ "schema": {
931
+ "type": "object",
932
+ "properties": {
933
+ "error": {
934
+ "type": "string"
935
+ }
936
+ },
937
+ "required": [
938
+ "error"
939
+ ]
940
+ }
941
+ }
942
+ }
943
+ },
944
+ "503": {
945
+ "description": "Not ready or missing required config",
946
+ "content": {
947
+ "application/json; charset=utf-8": {
948
+ "schema": {
949
+ "type": "object",
950
+ "properties": {
951
+ "error": {
952
+ "type": "string"
953
+ }
954
+ },
955
+ "required": [
956
+ "error"
957
+ ]
958
+ }
959
+ }
960
+ }
961
+ }
962
+ },
963
+ "parameters": [
964
+ {
965
+ "name": "id",
966
+ "in": "path",
967
+ "required": true,
968
+ "schema": {
969
+ "type": "string"
970
+ }
971
+ }
972
+ ]
973
+ }
220
974
  }
221
975
  }
222
976
  }