@typeship-ax/mcp 0.8.0 → 0.9.1

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 (103) hide show
  1. package/AGENTS.md +31 -0
  2. package/README.md +66 -9
  3. package/api.json +1617 -712
  4. package/api.md +8292 -382
  5. package/dist/api-identity.d.ts +40 -0
  6. package/dist/api-identity.d.ts.map +1 -0
  7. package/dist/api-identity.js +128 -0
  8. package/dist/auth-profiles.d.ts +30 -0
  9. package/dist/auth-profiles.d.ts.map +1 -0
  10. package/dist/auth-profiles.js +138 -0
  11. package/dist/core/http.d.ts +17 -2
  12. package/dist/core/http.d.ts.map +1 -1
  13. package/dist/core/http.js +78 -17
  14. package/dist/credential-storage.d.ts +24 -0
  15. package/dist/credential-storage.d.ts.map +1 -0
  16. package/dist/credential-storage.js +207 -0
  17. package/dist/docs.d.ts +25 -0
  18. package/dist/docs.d.ts.map +1 -1
  19. package/dist/docs.js +144 -0
  20. package/dist/errors.d.ts +18 -10
  21. package/dist/errors.d.ts.map +1 -1
  22. package/dist/errors.js +24 -14
  23. package/dist/index.d.ts +10 -3
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +20 -4
  26. package/dist/mcp-authorization.d.ts +52 -0
  27. package/dist/mcp-authorization.d.ts.map +1 -0
  28. package/dist/mcp-authorization.js +232 -0
  29. package/dist/mcp-protocol.d.ts +51 -2
  30. package/dist/mcp-protocol.d.ts.map +1 -1
  31. package/dist/mcp-protocol.js +249 -37
  32. package/dist/mcp.d.ts +21 -3
  33. package/dist/mcp.d.ts.map +1 -1
  34. package/dist/mcp.js +185 -68
  35. package/dist/named-credentials.d.ts +21 -0
  36. package/dist/named-credentials.d.ts.map +1 -0
  37. package/dist/named-credentials.js +86 -0
  38. package/dist/oauth-request.d.ts +21 -0
  39. package/dist/oauth-request.d.ts.map +1 -0
  40. package/dist/oauth-request.js +119 -0
  41. package/dist/oauth-session.d.ts +106 -0
  42. package/dist/oauth-session.d.ts.map +1 -0
  43. package/dist/oauth-session.js +244 -0
  44. package/dist/ops.d.ts +14 -1
  45. package/dist/ops.d.ts.map +1 -1
  46. package/dist/ops.js +30 -30
  47. package/dist/resources/account.d.ts +2 -2
  48. package/dist/resources/account.d.ts.map +1 -1
  49. package/dist/resources/account.js +1 -0
  50. package/dist/resources/api-keys.d.ts +3 -3
  51. package/dist/resources/api-keys.d.ts.map +1 -1
  52. package/dist/resources/api-keys.js +2 -0
  53. package/dist/resources/definition-revisions.d.ts +5 -5
  54. package/dist/resources/definition-revisions.d.ts.map +1 -1
  55. package/dist/resources/definition-revisions.js +4 -0
  56. package/dist/resources/definitions.d.ts +15 -4
  57. package/dist/resources/definitions.d.ts.map +1 -1
  58. package/dist/resources/definitions.js +11 -2
  59. package/dist/resources/generate.d.ts +14 -3
  60. package/dist/resources/generate.d.ts.map +1 -1
  61. package/dist/resources/generate.js +10 -2
  62. package/dist/resources/generations.d.ts +3 -3
  63. package/dist/resources/generations.d.ts.map +1 -1
  64. package/dist/resources/generations.js +2 -0
  65. package/dist/resources/projects.d.ts +56 -20
  66. package/dist/resources/projects.d.ts.map +1 -1
  67. package/dist/resources/projects.js +40 -4
  68. package/dist/resources/targets.d.ts +20 -9
  69. package/dist/resources/targets.d.ts.map +1 -1
  70. package/dist/resources/targets.js +14 -1
  71. package/dist/schemas.d.ts.map +1 -1
  72. package/dist/schemas.js +38 -22
  73. package/dist/types.d.ts +385 -119
  74. package/dist/types.d.ts.map +1 -1
  75. package/dist/types.js +11 -0
  76. package/dist/worker.js +4 -4
  77. package/package.json +11 -1
  78. package/server.json +42 -0
  79. package/src/api-identity.ts +98 -0
  80. package/src/auth-profiles.ts +114 -0
  81. package/src/core/http.ts +88 -19
  82. package/src/credential-storage.ts +183 -0
  83. package/src/docs.ts +138 -0
  84. package/src/errors.ts +26 -15
  85. package/src/index.ts +29 -4
  86. package/src/mcp-authorization.ts +211 -0
  87. package/src/mcp-protocol.ts +287 -38
  88. package/src/mcp.ts +186 -72
  89. package/src/named-credentials.ts +74 -0
  90. package/src/oauth-request.ts +90 -0
  91. package/src/oauth-session.ts +258 -0
  92. package/src/ops.ts +44 -31
  93. package/src/resources/account.ts +3 -0
  94. package/src/resources/api-keys.ts +5 -0
  95. package/src/resources/definition-revisions.ts +9 -0
  96. package/src/resources/definitions.ts +25 -0
  97. package/src/resources/generate.ts +23 -0
  98. package/src/resources/generations.ts +5 -0
  99. package/src/resources/projects.ts +95 -7
  100. package/src/resources/targets.ts +32 -0
  101. package/src/schemas.ts +38 -22
  102. package/src/types.ts +404 -119
  103. package/src/worker.ts +4 -4
@@ -4,6 +4,7 @@
4
4
  import { HttpCore, type ApiResult, type RequestOptions } from "../core/http.js";
5
5
  import { paginate, PagePromise } from "../core/pagination.js";
6
6
  import {
7
+ ResponseParseError,
7
8
  TransportError,
8
9
  UnexpectedApiError,
9
10
  ValidationError,
@@ -53,6 +54,7 @@ export class TargetsResource {
53
54
  return paginate<TargetRead, TargetsListError>(this._core, {
54
55
  method: "GET",
55
56
  path: `/projects/${encodeURIComponent(String(projectId))}/targets`,
57
+ security: [{"apiKey":[]}],
56
58
  query: {
57
59
  limit: params?.limit,
58
60
  cursor: params?.cursor,
@@ -82,16 +84,23 @@ export class TargetsResource {
82
84
  *
83
85
  * Several Targets may use the same generator with distinct configuration, Deliveries, and release
84
86
  * streams.
87
+ *
88
+ * A `Idempotency-Key` UUID is generated per call (stable across retries) unless you pass one.
85
89
  * `POST /projects/{project_id}/targets`
86
90
  */
87
91
  async create(
88
92
  projectId: ProjectId,
89
93
  body: TargetFields,
94
+ params?: TargetsCreateParams,
90
95
  options?: RequestOptions,
91
96
  ): Promise<ApiResult<TargetResponseRead, TargetsCreateError>> {
92
97
  return this._core.request<TargetResponseRead, TargetsCreateError>({
93
98
  method: "POST",
94
99
  path: `/projects/${encodeURIComponent(String(projectId))}/targets`,
100
+ security: [{"apiKey":[]}],
101
+ headers: {
102
+ "Idempotency-Key": params?.idempotencyKey === undefined ? undefined : String(params?.idempotencyKey),
103
+ },
95
104
  body,
96
105
  errors: {
97
106
  "400": BadRequestError,
@@ -102,6 +111,7 @@ export class TargetsResource {
102
111
  "422": UnprocessableEntityError,
103
112
  "429": RateLimitedError,
104
113
  },
114
+ idempotencyKey: "Idempotency-Key",
105
115
  schemaKey: "targets.create",
106
116
  options,
107
117
  });
@@ -118,6 +128,7 @@ export class TargetsResource {
118
128
  return this._core.request<TargetResponseRead, TargetsRetrieveError>({
119
129
  method: "GET",
120
130
  path: `/targets/${encodeURIComponent(String(targetId))}`,
131
+ security: [{"apiKey":[]}],
121
132
  errors: {
122
133
  "401": UnauthorizedError,
123
134
  "403": ForbiddenError,
@@ -144,6 +155,7 @@ export class TargetsResource {
144
155
  return this._core.request<DeletedTargetRead, TargetsDeleteError>({
145
156
  method: "DELETE",
146
157
  path: `/targets/${encodeURIComponent(String(targetId))}`,
158
+ security: [{"apiKey":[]}],
147
159
  errors: {
148
160
  "401": UnauthorizedError,
149
161
  "403": ForbiddenError,
@@ -169,6 +181,7 @@ export class TargetsResource {
169
181
  return this._core.request<TargetResponseRead, TargetsUpdateError>({
170
182
  method: "PATCH",
171
183
  path: `/targets/${encodeURIComponent(String(targetId))}`,
184
+ security: [{"apiKey":[]}],
172
185
  body,
173
186
  errors: {
174
187
  "400": BadRequestError,
@@ -198,6 +211,7 @@ export class TargetsResource {
198
211
  return paginate<TargetReleaseRead, TargetsListReleasesError>(this._core, {
199
212
  method: "GET",
200
213
  path: `/targets/${encodeURIComponent(String(targetId))}/releases`,
214
+ security: [{"apiKey":[]}],
201
215
  query: {
202
216
  limit: params?.limit,
203
217
  cursor: params?.cursor,
@@ -233,6 +247,7 @@ export class TargetsResource {
233
247
  return this._core.request<TargetReleaseResponseRead, TargetsRetrieveReleaseError>({
234
248
  method: "GET",
235
249
  path: `/target_releases/${encodeURIComponent(String(targetReleaseId))}`,
250
+ security: [{"apiKey":[]}],
236
251
  errors: {
237
252
  "401": UnauthorizedError,
238
253
  "403": ForbiddenError,
@@ -264,9 +279,20 @@ export type TargetsListError =
264
279
  | NotFoundError
265
280
  | RateLimitedError
266
281
  | UnexpectedApiError
282
+ | ResponseParseError
267
283
  | TransportError
268
284
  | ValidationError;
269
285
 
286
+ export interface TargetsCreateParams {
287
+ /**
288
+ * Identifies one logical write for 24 hours. The key is scoped to the authenticated account and
289
+ * operation; account-less generation uses a hashed network identity. Retrying the same method,
290
+ * path, query, and JSON body replays the original response. Reusing the key with changed intent
291
+ * returns 409. After expiry the key starts a new write.
292
+ */
293
+ idempotencyKey?: string;
294
+ }
295
+
270
296
  /** Every error `create` can produce, as a discriminated union. */
271
297
  export type TargetsCreateError =
272
298
  | BadRequestError
@@ -277,6 +303,7 @@ export type TargetsCreateError =
277
303
  | UnprocessableEntityError
278
304
  | RateLimitedError
279
305
  | UnexpectedApiError
306
+ | ResponseParseError
280
307
  | TransportError
281
308
  | ValidationError;
282
309
 
@@ -287,6 +314,7 @@ export type TargetsRetrieveError =
287
314
  | NotFoundError
288
315
  | RateLimitedError
289
316
  | UnexpectedApiError
317
+ | ResponseParseError
290
318
  | TransportError
291
319
  | ValidationError;
292
320
 
@@ -298,6 +326,7 @@ export type TargetsDeleteError =
298
326
  | ConflictError
299
327
  | RateLimitedError
300
328
  | UnexpectedApiError
329
+ | ResponseParseError
301
330
  | TransportError
302
331
  | ValidationError;
303
332
 
@@ -311,6 +340,7 @@ export type TargetsUpdateError =
311
340
  | UnprocessableEntityError
312
341
  | RateLimitedError
313
342
  | UnexpectedApiError
343
+ | ResponseParseError
314
344
  | TransportError
315
345
  | ValidationError;
316
346
 
@@ -332,6 +362,7 @@ export type TargetsListReleasesError =
332
362
  | NotFoundError
333
363
  | RateLimitedError
334
364
  | UnexpectedApiError
365
+ | ResponseParseError
335
366
  | TransportError
336
367
  | ValidationError;
337
368
 
@@ -342,5 +373,6 @@ export type TargetsRetrieveReleaseError =
342
373
  | NotFoundError
343
374
  | RateLimitedError
344
375
  | UnexpectedApiError
376
+ | ResponseParseError
345
377
  | TransportError
346
378
  | ValidationError;
package/src/schemas.ts CHANGED
@@ -44,11 +44,15 @@ export const DEFS: Record<string, unknown> = {
44
44
  "req:UrlDefinitionInput": {"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","pattern":"^https?://"},"headers":{"type":"object"}},"required":["url"]},
45
45
  "req:InlineDefinitionInput": {"type":"object","additionalProperties":false,"properties":{"inline":{"type":"string"}},"required":["inline"]},
46
46
  "req:GeneratorKind": {"type":"string","enum":["typescript-sdk","python-sdk","go-sdk","cli","mcp"]},
47
- "req:Config": {"type":"object","additionalProperties":false,"properties":{"globals":{"type":"array","maxItems":20,"items":{"type":"string"}},"retries":{"$ref":"req:RetryTuning"},"pagination":{"type":"object"},"graphql":{"$ref":"req:GraphqlSettings"},"cli":{"$ref":"req:CliBehavior"},"mcp":{"$ref":"req:McpBehavior"},"package":{"$ref":"req:PackageBehavior"},"docs_url":{"type":["string","null"]},"docs_index_url":{"type":["string","null"]}}},
47
+ "req:Config": {"type":"object","additionalProperties":false,"properties":{"globals":{"type":"array","maxItems":20,"items":{"type":"string"}},"retries":{"$ref":"req:RetryTuning"},"pagination":{"type":"object"},"graphql":{"$ref":"req:GraphqlSettings"},"auth":{"$ref":"req:AuthenticationConfig"},"cli":{"$ref":"req:CliBehavior"},"mcp":{"$ref":"req:McpBehavior"},"readme":{"$ref":"req:ReadmeBehavior"},"package":{"$ref":"req:PackageBehavior"},"docs_url":{"type":["string","null"]},"docs_index_url":{"type":["string","null"]}}},
48
48
  "req:RetryTuning": {"type":"object","additionalProperties":false,"properties":{"max_retries":{"type":"integer","minimum":0,"maximum":10},"statuses":{"type":"array","maxItems":20,"items":{"type":"integer"}},"initial_delay_ms":{"type":"integer","minimum":1},"max_delay_ms":{"type":"integer","minimum":1},"retry_non_idempotent":{"type":"boolean"},"disabled":{"type":"boolean"},"operations":{"type":"object"}}},
49
49
  "req:GraphqlSettings": {"type":"object","additionalProperties":false,"properties":{"endpoint":{"type":"string"},"environments":{"type":"array","maxItems":10,"items":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name","url"]}},"auth":{"type":"string","enum":["bearer","basic","api_key","none"]},"api_key_header":{"type":"string"},"title":{"type":"string","maxLength":80},"scalars":{"type":"object"}}},
50
- "req:CliBehavior": {"type":"object","additionalProperties":false,"properties":{"command_name":{"type":["string","null"]},"whoami_operation":{"type":["string","null"]},"oauth_client_id":{"type":["string","null"]},"oauth_scopes":{"type":"array","maxItems":20,"items":{"type":"string"}},"oauth_audience":{"type":["string","null"]},"update_notice":{"type":"boolean"},"support_url":{"type":["string","null"]},"auth_url":{"type":["string","null"]},"mcp_url":{"type":["string","null"]},"skills_repo":{"type":["string","null"]}}},
51
- "req:McpBehavior": {"type":"object","additionalProperties":false,"properties":{"registry_name":{"type":["string","null"]},"tool_mode":{"type":"string","enum":["auto","operations","meta"]},"instructions":{"type":["string","null"],"maxLength":2000},"tool_descriptions":{"type":"object"}}},
50
+ "req:AuthenticationConfig": {"type":"object","additionalProperties":false,"properties":{"oauth_server":{"anyOf":[{"$ref":"req:OAuthServer"},{"type":"null"}]},"oauth_applications":{"type":["object","null"]},"oauth_application":{"type":["string","null"],"maxLength":64,"pattern":"^[a-z][a-z0-9_-]{0,63}$"},"identity_verification":{"anyOf":[{"$ref":"req:IdentityVerification"},{"type":"null"}]},"approval_url":{"type":["string","null"]},"environments":{"type":["object","null"]}}},
51
+ "req:OAuthServer": {"type":"object","additionalProperties":false,"properties":{"issuer":{"type":["string","null"]},"discovery_url":{"type":["string","null"]},"authorization_url":{"type":["string","null"]},"token_url":{"type":["string","null"]},"device_authorization_url":{"type":["string","null"]},"scopes":{"type":["array","null"],"maxItems":20,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"^\\S+$"}},"audience":{"type":["string","null"]},"resource":{"type":["string","null"]}}},
52
+ "req:IdentityVerification": {"type":"object","additionalProperties":false,"properties":{"operation":{"type":"string","maxLength":2000,"pattern":"^[\\w$]+\\.[\\w$]+$"},"subject_field":{"type":"string","maxLength":512},"account_field":{"type":"string","maxLength":512},"organization_field":{"type":"string","maxLength":512}}},
53
+ "req:CliBehavior": {"type":"object","additionalProperties":false,"properties":{"command_name":{"type":["string","null"]},"update_notice":{"type":"boolean"},"support_url":{"type":["string","null"]},"mcp_url":{"type":["string","null"]},"skills_repo":{"type":["string","null"]}}},
54
+ "req:McpBehavior": {"type":"object","additionalProperties":false,"properties":{"registry_name":{"type":["string","null"]},"access":{"type":"object","additionalProperties":false,"properties":{"issuer":{"type":"string"},"resource":{"type":"string"},"jwks_url":{"type":"string"},"scopes":{"type":"array","maxItems":20,"items":{"type":"string"}}},"required":["issuer","resource"]},"tool_mode":{"type":"string","enum":["auto","operations","meta"]},"instructions":{"type":["string","null"],"maxLength":2000},"tool_descriptions":{"type":"object"},"reference_resolvers":{"type":"object"}}},
55
+ "req:ReadmeBehavior": {"type":"object","additionalProperties":false,"properties":{"quickstart_operation":{"type":["string","null"],"maxLength":500}}},
52
56
  "req:PackageBehavior": {"type":"object","additionalProperties":false,"properties":{"homepage":{"type":["string","null"]},"license":{"type":["string","null"],"maxLength":200},"license_text":{"type":["string","null"],"maxLength":100000},"copyright":{"type":["string","null"],"maxLength":200},"go_package_name":{"type":["string","null"]}}},
53
57
  "res:GenerationResult": {"type":"object","properties":{"files":{"type":"array","items":{"$ref":"res:GeneratedFile"}},"warnings":{"type":"array","items":{"type":"string"}},"meta":{"$ref":"res:GenerationMeta"},"limits":{"$ref":"res:GenerationLimits"},"claim":{"anyOf":[{"type":"null"},{"type":"object","properties":{"url":{"type":"string"},"expires_at":{"type":"string"}},"required":["url","expires_at"]}]},"request_id":{"$ref":"res:RequestId"}},"required":["files","warnings","meta","request_id"]},
54
58
  "res:GeneratedFile": {"type":"object","properties":{"path":{"type":"string"},"content":{"type":"string"}},"required":["path","content"]},
@@ -71,24 +75,23 @@ export const DEFS: Record<string, unknown> = {
71
75
  "req:DefinitionPatch": {"type":"object","additionalProperties":false,"properties":{"op":{"type":"string","enum":["set","append","remove","rename"]},"path":{"type":"string"},"value":{},"to":{"type":["string","null"]},"reason":{"type":["string","null"]}},"required":["op","path"]},
72
76
  "req:DiagnosticPolicy": {"type":"object","additionalProperties":false,"properties":{"fail_on":{"type":"string","enum":["never","error","warning"]},"only_new":{"type":"boolean"},"suppressions":{"type":"array","maxItems":100,"items":{"$ref":"req:DiagnosticSuppression"}}},"required":["fail_on","only_new","suppressions"]},
73
77
  "req:DiagnosticSuppression": {"type":"object","additionalProperties":false,"properties":{"rule_id":{"type":"string","maxLength":160},"path":{"type":"string","maxLength":4096},"reason":{"type":"string","minLength":1,"maxLength":500}},"required":["rule_id","reason"]},
74
- "req:InitialTargetFields": {"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":80},"generator":{"$ref":"req:GeneratorKind"},"state":{"type":"string","enum":["active","disabled"]},"edition":{"type":"string"},"release_channel":{"type":"string","enum":["stable","prerelease"]},"proposed_version":{"type":["string","null"]},"config":{"anyOf":[{"$ref":"req:ProjectConfig"},{"type":"null"}]},"deliveries":{"type":"array","items":{"$ref":"req:DeliveryInput"}}},"required":["name","generator"]},
75
- "req:ProjectConfig": {"type":"object","additionalProperties":false,"properties":{"globals":{"type":"array","maxItems":20,"items":{"type":"string"}},"retries":{"$ref":"req:RetryTuning"},"pagination":{"type":"object"},"cli":{"$ref":"req:CliBehavior"},"mcp":{"$ref":"req:McpBehavior"},"package":{"$ref":"req:PackageBehavior"},"docs_url":{"type":["string","null"]},"docs_index_url":{"type":["string","null"]}}},
78
+ "req:InitialTargetFields": {"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":80},"generator":{"$ref":"req:GeneratorKind"},"state":{"type":"string","enum":["active","disabled"]},"edition":{"type":"string"},"release_channel":{"type":"string","enum":["stable","prerelease"]},"proposed_version":{"type":["string","null"]},"config":{"anyOf":[{"$ref":"req:TargetConfig"},{"type":"null"}]},"deliveries":{"type":"array","maxItems":2,"items":{"$ref":"req:DeliveryInput"}}},"required":["name","generator"]},
79
+ "req:TargetConfig": {"type":"object","additionalProperties":false,"properties":{"globals":{"type":"array","maxItems":20,"items":{"type":"string"}},"retries":{"$ref":"req:RetryTuning"},"pagination":{"type":"object"},"auth":{"$ref":"req:TargetAuthenticationConfig"},"cli":{"$ref":"req:CliBehavior"},"mcp":{"$ref":"req:McpBehavior"},"readme":{"$ref":"req:ReadmeBehavior"},"package":{"$ref":"req:PackageBehavior"},"docs_url":{"type":["string","null"]},"docs_index_url":{"type":["string","null"]}}},
80
+ "req:TargetAuthenticationConfig": {"type":"object","additionalProperties":false,"properties":{"oauth_application":{"type":["string","null"],"maxLength":64,"pattern":"^[a-z][a-z0-9_-]{0,63}$"},"environments":{"type":["object","null"]}}},
76
81
  "req:DeliveryInput": {"anyOf":[{"$ref":"req:RepositoryDeliveryInput"},{"$ref":"req:HostedMcpDeliveryInput"}]},
77
82
  "req:RepositoryDeliveryInput": {"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","const":"repository"},"repository":{"$ref":"req:RepositoryReference"},"directory":{"type":["string","null"]},"package_name":{"type":["string","null"]},"module_path":{"type":["string","null"]}},"required":["kind","repository"]},
78
83
  "req:HostedMcpDeliveryInput": {"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","const":"hosted_mcp"}},"required":["kind"]},
79
- "res:Project": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:ProjectId"},"object":{"type":"string"},"name":{"type":"string","maxLength":80},"definition_id":{"$ref":"res:DefinitionId"},"targets":{"type":"array","items":{"$ref":"res:Target"}},"deliveries":{"type":"array","items":{"$ref":"res:Delivery"}},"auto_generate":{"type":"boolean"},"relay_enabled":{"type":"boolean"},"config":{"anyOf":[{"$ref":"res:ProjectConfig"},{"type":"null"}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"request_id":{"$ref":"res:RequestId"}},"required":["id","object","name","definition_id","targets","deliveries","auto_generate","relay_enabled","config","created_at","updated_at","request_id"]},
80
- "res:Target": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:TargetId"},"object":{"type":"string"},"project_id":{"$ref":"res:ProjectId"},"definition_id":{"$ref":"res:DefinitionId"},"name":{"type":"string"},"generator":{"$ref":"res:GeneratorKind"},"state":{"type":"string"},"edition":{"type":"string"},"release_channel":{"type":"string"},"version_policy":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string"},"pre1_breaking":{"type":"string"}},"required":["mode","pre1_breaking"]},"current_version":{"type":"string"},"proposed_version":{"type":["string","null"]},"config":{"anyOf":[{"$ref":"res:ProjectConfig"},{"type":"null"}]},"deliveries":{"type":"array","items":{"$ref":"res:Delivery"}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"request_id":{"$ref":"res:RequestId"}},"required":["id","object","project_id","definition_id","name","generator","state","edition","release_channel","version_policy","current_version","proposed_version","config","deliveries","created_at","updated_at"]},
81
- "res:TargetId": {"type":"string","pattern":"^tgt_[a-z0-9]{16}$"},
82
- "res:ProjectConfig": {"type":"object","additionalProperties":false,"properties":{"globals":{"type":"array","maxItems":20,"items":{"type":"string"}},"retries":{"$ref":"res:RetryTuning"},"pagination":{"type":"object"},"cli":{"$ref":"res:CliBehavior"},"mcp":{"$ref":"res:McpBehavior"},"package":{"$ref":"res:PackageBehavior"},"docs_url":{"type":["string","null"]},"docs_index_url":{"type":["string","null"]}}},
84
+ "req:ProjectConfig": {"type":"object","additionalProperties":false,"properties":{"globals":{"type":"array","maxItems":20,"items":{"type":"string"}},"retries":{"$ref":"req:RetryTuning"},"pagination":{"type":"object"},"auth":{"$ref":"req:AuthenticationConfig"},"cli":{"$ref":"req:CliBehavior"},"mcp":{"$ref":"req:McpBehavior"},"readme":{"$ref":"req:ReadmeBehavior"},"package":{"$ref":"req:PackageBehavior"},"docs_url":{"type":["string","null"]},"docs_index_url":{"type":["string","null"]}}},
85
+ "res:Project": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:ProjectId"},"object":{"type":"string"},"name":{"type":"string","maxLength":80},"definition_id":{"$ref":"res:DefinitionId"},"auto_generate":{"type":"boolean"},"relay_enabled":{"type":"boolean"},"config":{"anyOf":[{"$ref":"res:ProjectConfig"},{"type":"null"}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"request_id":{"$ref":"res:RequestId"}},"required":["id","object","name","definition_id","auto_generate","relay_enabled","config","created_at","updated_at","request_id"]},
86
+ "res:ProjectConfig": {"type":"object","additionalProperties":false,"properties":{"globals":{"type":"array","maxItems":20,"items":{"type":"string"}},"retries":{"$ref":"res:RetryTuning"},"pagination":{"type":"object"},"auth":{"$ref":"res:AuthenticationConfig"},"cli":{"$ref":"res:CliBehavior"},"mcp":{"$ref":"res:McpBehavior"},"readme":{"$ref":"res:ReadmeBehavior"},"package":{"$ref":"res:PackageBehavior"},"docs_url":{"type":["string","null"]},"docs_index_url":{"type":["string","null"]}}},
83
87
  "res:RetryTuning": {"type":"object","additionalProperties":false,"properties":{"max_retries":{"type":"integer","minimum":0,"maximum":10},"statuses":{"type":"array","maxItems":20,"items":{"type":"integer"}},"initial_delay_ms":{"type":"integer","minimum":1},"max_delay_ms":{"type":"integer","minimum":1},"retry_non_idempotent":{"type":"boolean"},"disabled":{"type":"boolean"},"operations":{"type":"object"}}},
84
- "res:CliBehavior": {"type":"object","additionalProperties":false,"properties":{"command_name":{"type":["string","null"]},"whoami_operation":{"type":["string","null"]},"oauth_client_id":{"type":["string","null"]},"oauth_scopes":{"type":"array","maxItems":20,"items":{"type":"string"}},"oauth_audience":{"type":["string","null"]},"update_notice":{"type":"boolean"},"support_url":{"type":["string","null"]},"auth_url":{"type":["string","null"]},"mcp_url":{"type":["string","null"]},"skills_repo":{"type":["string","null"]}}},
85
- "res:McpBehavior": {"type":"object","additionalProperties":false,"properties":{"registry_name":{"type":["string","null"]},"tool_mode":{"type":"string"},"instructions":{"type":["string","null"],"maxLength":2000},"tool_descriptions":{"type":"object"}}},
88
+ "res:AuthenticationConfig": {"type":"object","additionalProperties":false,"properties":{"oauth_server":{"anyOf":[{"$ref":"res:OAuthServer"},{"type":"null"}]},"oauth_applications":{"type":["object","null"]},"oauth_application":{"type":["string","null"],"maxLength":64,"pattern":"^[a-z][a-z0-9_-]{0,63}$"},"identity_verification":{"anyOf":[{"$ref":"res:IdentityVerification"},{"type":"null"}]},"approval_url":{"type":["string","null"]},"environments":{"type":["object","null"]}}},
89
+ "res:OAuthServer": {"type":"object","additionalProperties":false,"properties":{"issuer":{"type":["string","null"]},"discovery_url":{"type":["string","null"]},"authorization_url":{"type":["string","null"]},"token_url":{"type":["string","null"]},"device_authorization_url":{"type":["string","null"]},"scopes":{"type":["array","null"],"maxItems":20,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"^\\S+$"}},"audience":{"type":["string","null"]},"resource":{"type":["string","null"]}}},
90
+ "res:IdentityVerification": {"type":"object","additionalProperties":false,"properties":{"operation":{"type":"string","maxLength":2000,"pattern":"^[\\w$]+\\.[\\w$]+$"},"subject_field":{"type":"string","maxLength":512},"account_field":{"type":"string","maxLength":512},"organization_field":{"type":"string","maxLength":512}}},
91
+ "res:CliBehavior": {"type":"object","additionalProperties":false,"properties":{"command_name":{"type":["string","null"]},"update_notice":{"type":"boolean"},"support_url":{"type":["string","null"]},"mcp_url":{"type":["string","null"]},"skills_repo":{"type":["string","null"]}}},
92
+ "res:McpBehavior": {"type":"object","additionalProperties":false,"properties":{"registry_name":{"type":["string","null"]},"access":{"type":"object","additionalProperties":false,"properties":{"issuer":{"type":"string"},"resource":{"type":"string"},"jwks_url":{"type":"string"},"scopes":{"type":"array","maxItems":20,"items":{"type":"string"}}},"required":["issuer","resource"]},"tool_mode":{"type":"string"},"instructions":{"type":["string","null"],"maxLength":2000},"tool_descriptions":{"type":"object"},"reference_resolvers":{"type":"object"}}},
93
+ "res:ReadmeBehavior": {"type":"object","additionalProperties":false,"properties":{"quickstart_operation":{"type":["string","null"],"maxLength":500}}},
86
94
  "res:PackageBehavior": {"type":"object","additionalProperties":false,"properties":{"homepage":{"type":["string","null"]},"license":{"type":["string","null"],"maxLength":200},"license_text":{"type":["string","null"],"maxLength":100000},"copyright":{"type":["string","null"],"maxLength":200},"go_package_name":{"type":["string","null"]}}},
87
- "res:Delivery": {"anyOf":[{"$ref":"res:RepositoryDelivery"},{"$ref":"res:HostedMcpDelivery"},{"type":"object"}]},
88
- "res:RepositoryDelivery": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:DeliveryId"},"object":{"type":"string"},"target_id":{"$ref":"res:TargetId"},"kind":{"type":"string"},"state":{"type":"string"},"repository":{"$ref":"res:RepositoryReference"},"directory":{"type":["string","null"]},"package_name":{"type":["string","null"]},"module_path":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","object","target_id","kind","state","repository","directory","package_name","module_path","created_at","updated_at"]},
89
- "res:DeliveryId": {"type":"string","pattern":"^dlv_[a-z0-9]{16}$"},
90
- "res:RepositoryReference": {"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string"},"identifier":{"type":"string","maxLength":512}},"required":["provider","identifier"]},
91
- "res:HostedMcpDelivery": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:DeliveryId"},"object":{"type":"string"},"target_id":{"$ref":"res:TargetId"},"kind":{"type":"string"},"state":{"type":"string"},"url":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","object","target_id","kind","state","url","created_at","updated_at"]},
92
95
  "res:DeletedProject": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:ProjectId"},"object":{"type":"string"},"deleted":{"type":"boolean"},"request_id":{"$ref":"res:RequestId"}},"required":["id","object","deleted","request_id"]},
93
96
  "req:UpdateProjectRequest": {"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":80},"auto_generate":{"type":"boolean"},"relay_enabled":{"type":"boolean"},"config":{"anyOf":[{"$ref":"req:ProjectConfig"},{"type":"null"}]}}},
94
97
  "res:DiagnosticReport": {"type":"object","additionalProperties":false,"properties":{"object":{"type":"string"},"format":{"type":"string"},"project_id":{"$ref":"res:ProjectId"},"definition_revision_id":{"$ref":"res:DefinitionRevisionId"},"source_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"analyzed_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"patch_diagnostics":{"type":"array","items":{"type":"string"}},"summary":{"$ref":"res:DiagnosticSummary"},"diagnostics":{"type":"array","items":{"$ref":"res:Diagnostic"}},"policy":{"$ref":"res:DiagnosticPolicy"},"evaluation":{"$ref":"res:DiagnosticEvaluation"},"delta":{"$ref":"res:DiagnosticDelta"},"request_id":{"$ref":"res:RequestId"}},"required":["object","format","project_id","definition_revision_id","source_sha256","analyzed_sha256","patch_diagnostics","summary","diagnostics","policy","evaluation","delta","request_id"]},
@@ -106,13 +109,17 @@ export const DEFS: Record<string, unknown> = {
106
109
  "res:DiagnosticRemediation": {"type":"object","additionalProperties":false,"properties":{"object":{"type":"string"},"kind":{"type":"string"},"patches_applied":{"type":"integer","minimum":0},"review_url":{"type":["string","null"]},"request_id":{"$ref":"res:RequestId"}},"required":["object","kind","patches_applied","request_id"]},
107
110
  "res:RepositoryIntegrationHealth": {"type":"object","additionalProperties":false,"properties":{"object":{"type":"string"},"project_id":{"$ref":"res:ProjectId"},"status":{"type":"string"},"repositories":{"type":"array","items":{"$ref":"res:RepositoryHealth"}},"required_checks":{"type":"object","additionalProperties":false,"properties":{"source":{"type":"array","items":{"type":"string"}},"destination":{"type":"array","items":{"type":"string"}}},"required":["source","destination"]},"last_event":{"anyOf":[{"$ref":"res:RepositoryEventHealth"},{"type":"null"}]},"request_id":{"$ref":"res:RequestId"}},"required":["object","project_id","status","repositories","required_checks","last_event","request_id"]},
108
111
  "res:RepositoryHealth": {"type":"object","additionalProperties":false,"properties":{"repository":{"$ref":"res:RepositoryReference"},"roles":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"default_branch":{"type":"string"},"capabilities":{"type":"array","items":{"type":"string"}},"breaking_acknowledgement":{"type":["boolean","null"]},"definition":{"type":"string"},"issues":{"type":"array","items":{"$ref":"res:RepositoryHealthIssue"}}},"required":["repository","roles","status","issues"]},
112
+ "res:RepositoryReference": {"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string"},"identifier":{"type":"string","maxLength":512}},"required":["provider","identifier"]},
109
113
  "res:RepositoryHealthIssue": {"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]},
110
114
  "res:RepositoryEventHealth": {"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string"},"id":{"type":"string"},"event":{"type":"string"},"status":{"type":"string"},"error":{"type":["string","null"]},"created_at":{"type":"string"}},"required":["provider","id","event","status","error","created_at"]},
111
- "res:GenerationList": {"type":"object","additionalProperties":false,"properties":{"object":{"$ref":"res:ListObject"},"data":{"type":"array","items":{"$ref":"res:Generation"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]},"request_id":{"$ref":"res:RequestId"}},"required":["object","data","has_more","next_cursor","request_id"]},
112
- "res:Generation": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:GenerationId"},"object":{"type":"string"},"files_omitted":{"type":"boolean"},"files_index":{"type":"array","items":{"$ref":"res:FileStub"}},"project_id":{"$ref":"res:ProjectId"},"definition_revision_id":{"anyOf":[{"$ref":"res:DefinitionRevisionId"},{"type":"null"}]},"status":{"type":"string"},"trigger":{"type":"string"},"target_id":{"anyOf":[{"$ref":"res:TargetId"},{"type":"null"}]},"generator":{"$ref":"res:GeneratorKind"},"provenance":{"type":"object","additionalProperties":false,"properties":{"generator_edition":{"type":"string"},"engine_build":{"type":"string"},"resolved_config":{"type":["object","null"]},"config_hash":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"surface_plan":{"type":["object","null"]},"surface_plan_hash":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"entitlement_cap":{"type":["integer","null"],"minimum":1},"package_version":{"type":["string","null"]}},"required":["generator_edition","engine_build","resolved_config","config_hash","surface_plan","surface_plan_hash","entitlement_cap","package_version"]},"meta":{"anyOf":[{"$ref":"res:GenerationMeta"},{"type":"null"}]},"warnings":{"type":"array","items":{"type":"string"}},"files":{"type":"array","items":{"$ref":"res:GeneratedFile"}},"error":{"type":["string","null"]},"created_at":{"type":"string"},"request_id":{"$ref":"res:RequestId"}},"required":["id","object","project_id","definition_revision_id","status","trigger","target_id","generator","provenance","meta","warnings","error","created_at"]},
115
+ "res:GenerationList": {"type":"object","additionalProperties":false,"properties":{"object":{"$ref":"res:ListObject"},"data":{"type":"array","items":{"$ref":"res:GenerationSummary"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]},"request_id":{"$ref":"res:RequestId"}},"required":["object","data","has_more","next_cursor","request_id"]},
116
+ "res:GenerationSummary": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:GenerationId"},"object":{"type":"string"},"project_id":{"$ref":"res:ProjectId"},"definition_revision_id":{"anyOf":[{"$ref":"res:DefinitionRevisionId"},{"type":"null"}]},"status":{"$ref":"res:GenerationStatus"},"trigger":{"$ref":"res:GenerationTrigger"},"target_id":{"anyOf":[{"$ref":"res:TargetId"},{"type":"null"}]},"generator":{"$ref":"res:GeneratorKind"},"provenance":{"$ref":"res:GenerationProvenance"},"meta":{"anyOf":[{"$ref":"res:GenerationMeta"},{"type":"null"}]},"warnings":{"type":"array","items":{"type":"string"}},"error":{"type":["string","null"]},"created_at":{"type":"string"}},"required":["id","object","project_id","definition_revision_id","status","trigger","target_id","generator","provenance","meta","warnings","error","created_at"]},
113
117
  "res:GenerationId": {"type":"string","pattern":"^gen_[a-z0-9]{16}$"},
114
- "res:FileStub": {"type":"object","properties":{"path":{"type":"string"},"bytes":{"type":"integer"}},"required":["path","bytes"]},
115
- "res:GenerationBatch": {"type":"object","additionalProperties":false,"properties":{"data":{"type":"array","items":{"anyOf":[{"$ref":"res:Generation"},{"$ref":"res:GenerationFailure"}]}},"request_id":{"$ref":"res:RequestId"}},"required":["data","request_id"]},
118
+ "res:GenerationStatus": {"type":"string"},
119
+ "res:GenerationTrigger": {"type":"string"},
120
+ "res:TargetId": {"type":"string","pattern":"^tgt_[a-z0-9]{16}$"},
121
+ "res:GenerationProvenance": {"type":"object","additionalProperties":false,"properties":{"generator_edition":{"type":"string"},"engine_build":{"type":"string"},"resolved_config":{"type":["object","null"]},"config_hash":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"surface_plan":{"type":["object","null"]},"surface_plan_hash":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"entitlement_cap":{"type":["integer","null"],"minimum":1},"package_version":{"type":["string","null"]}},"required":["generator_edition","engine_build","resolved_config","config_hash","surface_plan","surface_plan_hash","entitlement_cap","package_version"]},
122
+ "res:GenerationBatch": {"type":"object","additionalProperties":false,"properties":{"data":{"type":"array","items":{"anyOf":[{"$ref":"res:GenerationSummary"},{"$ref":"res:GenerationFailure"}]}},"request_id":{"$ref":"res:RequestId"}},"required":["data","request_id"]},
116
123
  "res:GenerationFailure": {"type":"object","additionalProperties":false,"properties":{"target_id":{"$ref":"res:TargetId"},"generator":{"$ref":"res:GeneratorKind"},"status":{"type":"string"},"error":{"type":"string"}},"required":["target_id","generator","status","error"]},
117
124
  "res:Definition": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:DefinitionId"},"object":{"type":"string"},"project_id":{"$ref":"res:ProjectId"},"source":{"$ref":"res:DefinitionSource"},"format":{"type":["string","null"]},"patches":{"type":"array","items":{"$ref":"res:DefinitionPatch"}},"graphql":{"anyOf":[{"$ref":"res:GraphqlSettings"},{"type":"null"}]},"diagnostic_policy":{"$ref":"res:DiagnosticPolicy"},"latest_revision_id":{"anyOf":[{"$ref":"res:DefinitionRevisionId"},{"type":"null"}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"request_id":{"$ref":"res:RequestId"}},"required":["id","object","project_id","source","format","patches","graphql","diagnostic_policy","latest_revision_id","created_at","updated_at","request_id"]},
118
125
  "res:DefinitionSource": {"anyOf":[{"$ref":"res:UrlDefinitionSource"},{"$ref":"res:RepositoryDefinitionSource"},{"type":"object"}]},
@@ -121,17 +128,26 @@ export const DEFS: Record<string, unknown> = {
121
128
  "res:GraphqlSettings": {"type":"object","additionalProperties":false,"properties":{"endpoint":{"type":"string"},"environments":{"type":"array","maxItems":10,"items":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name","url"]}},"auth":{"type":"string"},"api_key_header":{"type":"string"},"title":{"type":"string","maxLength":80},"scalars":{"type":"object"}}},
122
129
  "req:DefinitionUpdateRequest": {"type":"object","additionalProperties":false,"properties":{"source":{"$ref":"req:DefinitionSourceInput"},"patches":{"type":"array","maxItems":50,"items":{"$ref":"req:DefinitionPatch"}},"graphql":{"anyOf":[{"$ref":"req:GraphqlSettings"},{"type":"null"}]},"diagnostic_policy":{"$ref":"req:DiagnosticPolicy"}}},
123
130
  "res:TargetList": {"type":"object","additionalProperties":false,"properties":{"object":{"$ref":"res:ListObject"},"data":{"type":"array","items":{"$ref":"res:Target"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]},"request_id":{"$ref":"res:RequestId"}},"required":["object","data","has_more","next_cursor","request_id"]},
124
- "req:TargetFields": {"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":80},"definition_id":{"$ref":"req:DefinitionId"},"generator":{"$ref":"req:GeneratorKind"},"state":{"type":"string","enum":["active","disabled"]},"edition":{"type":"string"},"release_channel":{"type":"string","enum":["stable","prerelease"]},"proposed_version":{"type":["string","null"]},"config":{"anyOf":[{"$ref":"req:ProjectConfig"},{"type":"null"}]},"deliveries":{"type":"array","items":{"$ref":"req:DeliveryInput"}}},"required":["name","definition_id","generator"]},
131
+ "res:Target": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:TargetId"},"object":{"type":"string"},"project_id":{"$ref":"res:ProjectId"},"definition_id":{"$ref":"res:DefinitionId"},"name":{"type":"string"},"generator":{"$ref":"res:GeneratorKind"},"state":{"type":"string"},"edition":{"type":"string"},"release_channel":{"type":"string"},"version_policy":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string"},"pre1_breaking":{"type":"string"}},"required":["mode","pre1_breaking"]},"current_version":{"type":"string"},"proposed_version":{"type":["string","null"]},"config":{"anyOf":[{"$ref":"res:TargetConfig"},{"type":"null"}]},"deliveries":{"type":"array","maxItems":2,"items":{"$ref":"res:Delivery"}},"created_at":{"type":"string"},"updated_at":{"type":"string"},"request_id":{"$ref":"res:RequestId"}},"required":["id","object","project_id","definition_id","name","generator","state","edition","release_channel","version_policy","current_version","proposed_version","config","deliveries","created_at","updated_at"]},
132
+ "res:TargetConfig": {"type":"object","additionalProperties":false,"properties":{"globals":{"type":"array","maxItems":20,"items":{"type":"string"}},"retries":{"$ref":"res:RetryTuning"},"pagination":{"type":"object"},"auth":{"$ref":"res:TargetAuthenticationConfig"},"cli":{"$ref":"res:CliBehavior"},"mcp":{"$ref":"res:McpBehavior"},"readme":{"$ref":"res:ReadmeBehavior"},"package":{"$ref":"res:PackageBehavior"},"docs_url":{"type":["string","null"]},"docs_index_url":{"type":["string","null"]}}},
133
+ "res:TargetAuthenticationConfig": {"type":"object","additionalProperties":false,"properties":{"oauth_application":{"type":["string","null"],"maxLength":64,"pattern":"^[a-z][a-z0-9_-]{0,63}$"},"environments":{"type":["object","null"]}}},
134
+ "res:Delivery": {"anyOf":[{"$ref":"res:RepositoryDelivery"},{"$ref":"res:HostedMcpDelivery"},{"type":"object"}]},
135
+ "res:RepositoryDelivery": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:DeliveryId"},"object":{"type":"string"},"target_id":{"$ref":"res:TargetId"},"kind":{"type":"string"},"state":{"type":"string"},"repository":{"$ref":"res:RepositoryReference"},"directory":{"type":["string","null"]},"package_name":{"type":["string","null"]},"module_path":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","object","target_id","kind","state","repository","directory","package_name","module_path","created_at","updated_at"]},
136
+ "res:DeliveryId": {"type":"string","pattern":"^dlv_[a-z0-9]{16}$"},
137
+ "res:HostedMcpDelivery": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:DeliveryId"},"object":{"type":"string"},"target_id":{"$ref":"res:TargetId"},"kind":{"type":"string"},"state":{"type":"string"},"url":{"type":["string","null"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","object","target_id","kind","state","url","created_at","updated_at"]},
138
+ "req:TargetFields": {"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":80},"definition_id":{"$ref":"req:DefinitionId"},"generator":{"$ref":"req:GeneratorKind"},"state":{"type":"string","enum":["active","disabled"]},"edition":{"type":"string"},"release_channel":{"type":"string","enum":["stable","prerelease"]},"proposed_version":{"type":["string","null"]},"config":{"anyOf":[{"$ref":"req:TargetConfig"},{"type":"null"}]},"deliveries":{"type":"array","maxItems":2,"items":{"$ref":"req:DeliveryInput"}}},"required":["name","definition_id","generator"]},
125
139
  "req:DefinitionId": {"type":"string","pattern":"^def_[a-z0-9]{16}$"},
126
140
  "res:TargetResponse": {"allOf":[{"$ref":"res:Target"},{"$ref":"res:ResponseMetadata"}]},
127
141
  "res:ResponseMetadata": {"type":"object","properties":{"request_id":{"$ref":"res:RequestId"}},"required":["request_id"]},
128
142
  "res:DeletedTarget": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:TargetId"},"object":{"type":"string"},"deleted":{"type":"boolean"},"request_id":{"$ref":"res:RequestId"}},"required":["id","object","deleted","request_id"]},
129
- "req:TargetUpdateRequest": {"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":80},"state":{"type":"string","enum":["active","disabled"]},"edition":{"type":"string"},"release_channel":{"type":"string","enum":["stable","prerelease"]},"proposed_version":{"type":["string","null"]},"config":{"anyOf":[{"$ref":"req:ProjectConfig"},{"type":"null"}]},"deliveries":{"type":"array","items":{"$ref":"req:DeliveryInput"}}}},
143
+ "req:TargetUpdateRequest": {"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":80},"state":{"type":"string","enum":["active","disabled"]},"edition":{"type":"string"},"release_channel":{"type":"string","enum":["stable","prerelease"]},"proposed_version":{"type":["string","null"]},"config":{"anyOf":[{"$ref":"req:TargetConfig"},{"type":"null"}]},"deliveries":{"type":"array","maxItems":2,"items":{"$ref":"req:DeliveryInput"}}}},
130
144
  "res:TargetReleaseList": {"type":"object","additionalProperties":false,"properties":{"object":{"$ref":"res:ListObject"},"data":{"type":"array","items":{"$ref":"res:TargetRelease"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]},"request_id":{"$ref":"res:RequestId"}},"required":["object","data","has_more","next_cursor","request_id"]},
131
145
  "res:TargetRelease": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:TargetReleaseId"},"object":{"type":"string"},"target_id":{"$ref":"res:TargetId"},"generation_id":{"$ref":"res:GenerationId"},"version":{"type":"string"},"channel":{"type":"string"},"provider":{"type":"string"},"repository":{"anyOf":[{"$ref":"res:RepositoryReference"},{"type":"null"}]},"definition_revision_id":{"anyOf":[{"$ref":"res:DefinitionRevisionId"},{"type":"null"}]},"delivery_revision":{"type":"string"},"created_at":{"type":"string"},"request_id":{"$ref":"res:RequestId"}},"required":["id","object","target_id","generation_id","version","channel","provider","repository","definition_revision_id","delivery_revision","created_at"]},
132
146
  "res:TargetReleaseId": {"type":"string","pattern":"^rel_[a-z0-9]{16}$"},
133
147
  "res:TargetReleaseResponse": {"allOf":[{"$ref":"res:TargetRelease"},{"$ref":"res:ResponseMetadata"}]},
134
148
  "res:GenerationResponse": {"allOf":[{"$ref":"res:Generation"},{"$ref":"res:ResponseMetadata"}]},
149
+ "res:Generation": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:GenerationId"},"object":{"type":"string"},"files_omitted":{"type":"boolean"},"files_index":{"type":"array","items":{"$ref":"res:FileStub"}},"project_id":{"$ref":"res:ProjectId"},"definition_revision_id":{"anyOf":[{"$ref":"res:DefinitionRevisionId"},{"type":"null"}]},"status":{"$ref":"res:GenerationStatus"},"trigger":{"$ref":"res:GenerationTrigger"},"target_id":{"anyOf":[{"$ref":"res:TargetId"},{"type":"null"}]},"generator":{"$ref":"res:GeneratorKind"},"provenance":{"$ref":"res:GenerationProvenance"},"meta":{"anyOf":[{"$ref":"res:GenerationMeta"},{"type":"null"}]},"warnings":{"type":"array","items":{"type":"string"}},"files":{"type":"array","items":{"$ref":"res:GeneratedFile"}},"error":{"type":["string","null"]},"created_at":{"type":"string"},"request_id":{"$ref":"res:RequestId"}},"required":["id","object","project_id","definition_revision_id","status","trigger","target_id","generator","provenance","meta","warnings","error","created_at"]},
150
+ "res:FileStub": {"type":"object","properties":{"path":{"type":"string"},"bytes":{"type":"integer"}},"required":["path","bytes"]},
135
151
  "res:DefinitionRevisionList": {"type":"object","additionalProperties":false,"properties":{"object":{"$ref":"res:ListObject"},"data":{"type":"array","items":{"$ref":"res:DefinitionRevision"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]},"request_id":{"$ref":"res:RequestId"}},"required":["object","data","has_more","next_cursor","request_id"]},
136
152
  "res:DefinitionRevision": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:DefinitionRevisionId"},"object":{"type":"string"},"project_id":{"$ref":"res:ProjectId"},"definition_id":{"$ref":"res:DefinitionId"},"format":{"type":"string"},"document_count":{"type":"integer","minimum":1},"documents":{"type":"array","items":{"$ref":"res:DefinitionDocument"}},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"size_bytes":{"type":"integer","minimum":0},"source":{"anyOf":[{"$ref":"res:DefinitionRevisionSource"},{"type":"null"}]},"created_at":{"type":"string"},"request_id":{"$ref":"res:RequestId"}},"required":["id","object","project_id","definition_id","format","document_count","sha256","size_bytes","source","created_at"]},
137
153
  "res:DefinitionDocument": {"type":"object","additionalProperties":false,"properties":{"id":{"$ref":"res:DefinitionDocumentId"},"role":{"type":"string"},"coordinate":{"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"size_bytes":{"type":"integer","minimum":0}},"required":["id","role","coordinate","sha256","size_bytes"]},