@vertesia/common 1.6.0-dev.20261009.095813Z → 1.6.0-dev.20261019.172735Z

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 (133) hide show
  1. package/lib/api-contract/components.generated.json +1329 -37
  2. package/lib/api-schemas/agent-runs.d.ts +410 -0
  3. package/lib/api-schemas/agent-runs.d.ts.map +1 -1
  4. package/lib/api-schemas/agent-runs.js +10 -3
  5. package/lib/api-schemas/agent-runs.js.map +1 -1
  6. package/lib/api-schemas/app-lifecycle.d.ts +126 -0
  7. package/lib/api-schemas/app-lifecycle.d.ts.map +1 -1
  8. package/lib/api-schemas/app-lifecycle.js +134 -1
  9. package/lib/api-schemas/app-lifecycle.js.map +1 -1
  10. package/lib/api-schemas/app-runtime.d.ts +948 -6
  11. package/lib/api-schemas/app-runtime.d.ts.map +1 -1
  12. package/lib/api-schemas/app-runtime.js +50 -1
  13. package/lib/api-schemas/app-runtime.js.map +1 -1
  14. package/lib/api-schemas/apps.d.ts +73 -0
  15. package/lib/api-schemas/apps.d.ts.map +1 -1
  16. package/lib/api-schemas/apps.js +41 -0
  17. package/lib/api-schemas/apps.js.map +1 -1
  18. package/lib/api-schemas/audit-trail.d.ts.map +1 -1
  19. package/lib/api-schemas/audit-trail.js +5 -5
  20. package/lib/api-schemas/audit-trail.js.map +1 -1
  21. package/lib/api-schemas/content.d.ts +199 -0
  22. package/lib/api-schemas/content.d.ts.map +1 -1
  23. package/lib/api-schemas/content.js +19 -5
  24. package/lib/api-schemas/content.js.map +1 -1
  25. package/lib/api-schemas/data-store.d.ts +30 -0
  26. package/lib/api-schemas/data-store.d.ts.map +1 -1
  27. package/lib/api-schemas/data-store.js +8 -0
  28. package/lib/api-schemas/data-store.js.map +1 -1
  29. package/lib/api-schemas/document-processing.d.ts +117 -0
  30. package/lib/api-schemas/document-processing.d.ts.map +1 -1
  31. package/lib/api-schemas/events.d.ts +351 -0
  32. package/lib/api-schemas/events.d.ts.map +1 -1
  33. package/lib/api-schemas/indexing.d.ts +1 -0
  34. package/lib/api-schemas/indexing.d.ts.map +1 -1
  35. package/lib/api-schemas/indexing.js +9 -0
  36. package/lib/api-schemas/indexing.js.map +1 -1
  37. package/lib/api-schemas/inference-profile.d.ts +234 -0
  38. package/lib/api-schemas/inference-profile.d.ts.map +1 -1
  39. package/lib/api-schemas/interaction.d.ts +3013 -0
  40. package/lib/api-schemas/interaction.d.ts.map +1 -1
  41. package/lib/api-schemas/interaction.js +9 -7
  42. package/lib/api-schemas/interaction.js.map +1 -1
  43. package/lib/api-schemas/oauth-server.d.ts +128 -0
  44. package/lib/api-schemas/oauth-server.d.ts.map +1 -1
  45. package/lib/api-schemas/oauth-server.js +95 -2
  46. package/lib/api-schemas/oauth-server.js.map +1 -1
  47. package/lib/api-schemas/process.d.ts +81 -0
  48. package/lib/api-schemas/process.d.ts.map +1 -1
  49. package/lib/api-schemas/process.js +29 -0
  50. package/lib/api-schemas/process.js.map +1 -1
  51. package/lib/api-schemas/project-configuration.d.ts +390 -0
  52. package/lib/api-schemas/project-configuration.d.ts.map +1 -1
  53. package/lib/api-schemas/project.d.ts +591 -6
  54. package/lib/api-schemas/project.d.ts.map +1 -1
  55. package/lib/api-schemas/prompt.d.ts.map +1 -1
  56. package/lib/api-schemas/prompt.js +5 -2
  57. package/lib/api-schemas/prompt.js.map +1 -1
  58. package/lib/api-schemas/registry.d.ts +23032 -461
  59. package/lib/api-schemas/registry.d.ts.map +1 -1
  60. package/lib/api-schemas/registry.js +38 -3
  61. package/lib/api-schemas/registry.js.map +1 -1
  62. package/lib/api-schemas/schema-primitives.d.ts +8 -0
  63. package/lib/api-schemas/schema-primitives.d.ts.map +1 -1
  64. package/lib/api-schemas/schema-primitives.js +8 -0
  65. package/lib/api-schemas/schema-primitives.js.map +1 -1
  66. package/lib/api-schemas/store.d.ts +1950 -0
  67. package/lib/api-schemas/store.d.ts.map +1 -1
  68. package/lib/api-schemas/store.js +3 -3
  69. package/lib/api-schemas/store.js.map +1 -1
  70. package/lib/api-schemas/task.d.ts.map +1 -1
  71. package/lib/api-schemas/task.js +3 -2
  72. package/lib/api-schemas/task.js.map +1 -1
  73. package/lib/api-schemas/workflow-runs.d.ts +78 -0
  74. package/lib/api-schemas/workflow-runs.d.ts.map +1 -1
  75. package/lib/apikey.d.ts +7 -0
  76. package/lib/apikey.d.ts.map +1 -1
  77. package/lib/apikey.js.map +1 -1
  78. package/lib/apps.d.ts +37 -1
  79. package/lib/apps.d.ts.map +1 -1
  80. package/lib/apps.js +74 -3
  81. package/lib/apps.js.map +1 -1
  82. package/lib/interaction.d.ts.map +1 -1
  83. package/lib/interaction.js.map +1 -1
  84. package/lib/oauth-server.d.ts +5 -0
  85. package/lib/oauth-server.d.ts.map +1 -1
  86. package/lib/store/index.d.ts +1 -0
  87. package/lib/store/index.d.ts.map +1 -1
  88. package/lib/store/index.js +1 -0
  89. package/lib/store/index.js.map +1 -1
  90. package/lib/store/intake-policy-schema.generated.d.ts.map +1 -1
  91. package/lib/store/intake-policy-schema.generated.js +20 -2
  92. package/lib/store/intake-policy-schema.generated.js.map +1 -1
  93. package/lib/store/store.d.ts +1 -0
  94. package/lib/store/store.d.ts.map +1 -1
  95. package/lib/store/store.js.map +1 -1
  96. package/lib/store/text-limits.d.ts +18 -0
  97. package/lib/store/text-limits.d.ts.map +1 -0
  98. package/lib/store/text-limits.js +56 -0
  99. package/lib/store/text-limits.js.map +1 -0
  100. package/lib/vertesia-common.js +4 -2
  101. package/lib/vertesia-common.js.map +1 -1
  102. package/lib/wire-types.generated.d.ts +261 -3
  103. package/lib/wire-types.generated.d.ts.map +1 -1
  104. package/lib/workflow-analytics.d.ts +19 -1
  105. package/lib/workflow-analytics.d.ts.map +1 -1
  106. package/package.json +6 -6
  107. package/src/api-contract/components.generated.json +1329 -37
  108. package/src/api-schemas/agent-runs.ts +10 -3
  109. package/src/api-schemas/app-lifecycle.ts +163 -1
  110. package/src/api-schemas/app-runtime.ts +54 -0
  111. package/src/api-schemas/apps.ts +46 -0
  112. package/src/api-schemas/audit-trail.ts +5 -5
  113. package/src/api-schemas/content.ts +21 -5
  114. package/src/api-schemas/data-store.ts +8 -0
  115. package/src/api-schemas/indexing.ts +10 -0
  116. package/src/api-schemas/interaction.ts +9 -7
  117. package/src/api-schemas/oauth-server.ts +103 -2
  118. package/src/api-schemas/process.ts +32 -0
  119. package/src/api-schemas/prompt.ts +5 -2
  120. package/src/api-schemas/registry.ts +59 -6
  121. package/src/api-schemas/schema-primitives.ts +9 -0
  122. package/src/api-schemas/store.ts +3 -3
  123. package/src/api-schemas/task.ts +3 -2
  124. package/src/apikey.ts +8 -0
  125. package/src/apps.ts +116 -3
  126. package/src/interaction.ts +1 -0
  127. package/src/oauth-server.ts +10 -0
  128. package/src/store/index.ts +1 -0
  129. package/src/store/intake-policy-schema.generated.ts +20 -2
  130. package/src/store/store.ts +2 -0
  131. package/src/store/text-limits.ts +64 -0
  132. package/src/wire-types.generated.ts +285 -3
  133. package/src/workflow-analytics.ts +21 -1
@@ -20,11 +20,16 @@ export const OAuthRegistrationSourceSchema = z.enum(['admin', 'dynamic']).meta({
20
20
  export const OAuthProjectBindingModeSchema = z.enum(['user_select', 'fixed']).meta({ id: 'OAuthProjectBindingMode' });
21
21
 
22
22
  export const OAuthTokenEndpointAuthMethodSchema = z
23
- .enum(['none', 'client_secret_post', 'client_secret_basic'])
23
+ .enum(['none', 'client_secret_post', 'client_secret_basic', 'private_key_jwt'])
24
24
  .meta({ id: 'OAuthTokenEndpointAuthMethod' });
25
25
 
26
26
  export const OAuthGrantTypeSchema = z
27
- .enum(['authorization_code', 'refresh_token', 'urn:ietf:params:oauth:grant-type:device_code'])
27
+ .enum([
28
+ 'authorization_code',
29
+ 'refresh_token',
30
+ 'urn:ietf:params:oauth:grant-type:device_code',
31
+ 'urn:ietf:params:oauth:grant-type:token-exchange',
32
+ ])
28
33
  .meta({ id: 'OAuthGrantType' });
29
34
 
30
35
  export const OAuthResponseTypeSchema = z.literal('code').meta({ id: 'OAuthResponseType' });
@@ -58,6 +63,7 @@ export const OAuthAuthorizationServerMetadataSchema = z
58
63
  grant_types_supported: z.array(z.string()),
59
64
  code_challenge_methods_supported: z.array(z.string()),
60
65
  token_endpoint_auth_methods_supported: z.array(z.string()),
66
+ token_endpoint_auth_signing_alg_values_supported: z.array(z.string()).optional(),
61
67
  scopes_supported: z.array(z.string()),
62
68
  client_id_metadata_document_supported: z.boolean().optional(),
63
69
  authorization_response_iss_parameter_supported: z.boolean().optional(),
@@ -110,6 +116,7 @@ export const OAuthAuthorizationRequestSchema = z
110
116
  }),
111
117
  client_id: z.string(),
112
118
  client_name: z.string(),
119
+ app_id: z.string().optional(),
113
120
  client_metadata: OAuthClientDisplayMetadataSchema.optional(),
114
121
  client_registration_mode: OAuthClientRegistrationModeSchema.optional(),
115
122
  redirect_uri: z.string(),
@@ -212,12 +219,17 @@ export const OAuthTokenResponseSchema = z
212
219
  * publishes these properties inline under `OAuthClient`, with `client_id` last.
213
220
  */
214
221
  export const OAuthClientDataSchema = z.strictObject({
222
+ app_id: z.string().optional().meta({
223
+ description:
224
+ 'App associated with this client. Authorization requires an installation explicitly enabling this client and current user app access.',
225
+ }),
215
226
  client_name: z.string(),
216
227
  client_type: OAuthClientTypeSchema,
217
228
  redirect_uris: z.array(z.string()),
218
229
  grant_types: z.array(OAuthGrantTypeSchema),
219
230
  response_types: z.array(OAuthResponseTypeSchema),
220
231
  token_endpoint_auth_method: OAuthTokenEndpointAuthMethodSchema,
232
+ jwks_uri: z.string().url().optional(),
221
233
  allowed_scopes: z.array(z.string()),
222
234
  default_scopes: z.array(z.string()).optional(),
223
235
  registration_source: OAuthRegistrationSourceSchema,
@@ -269,6 +281,7 @@ export const CreateOAuthClientPayloadSchema = z
269
281
  grant_types: z.array(OAuthGrantTypeSchema).optional(),
270
282
  response_types: z.array(OAuthResponseTypeSchema).optional(),
271
283
  token_endpoint_auth_method: OAuthTokenEndpointAuthMethodSchema.optional(),
284
+ jwks_uri: z.string().url().optional(),
272
285
  allowed_scopes: z.array(z.string()).optional(),
273
286
  default_scopes: z.array(z.string()).optional(),
274
287
  project_binding_mode: OAuthProjectBindingModeSchema.optional(),
@@ -292,9 +305,13 @@ export const UpdateOAuthClientPayloadSchema = z
292
305
  grant_types: z.array(OAuthGrantTypeSchema).optional(),
293
306
  response_types: z.array(OAuthResponseTypeSchema).optional(),
294
307
  token_endpoint_auth_method: OAuthTokenEndpointAuthMethodSchema.optional(),
308
+ jwks_uri: z.string().url().optional(),
295
309
  allowed_scopes: z.array(z.string()).optional(),
296
310
  default_scopes: z.array(z.string()).optional(),
297
311
  status: OAuthClientStatusSchema.optional(),
312
+ revoke_previous_client_secret: z.boolean().optional().meta({
313
+ description: 'Immediately revoke the previous rotation secret while retaining the current secret.',
314
+ }),
298
315
  project_binding_mode: OAuthProjectBindingModeSchema.optional(),
299
316
  fixed_project_id: z.string().optional(),
300
317
  restrict_to_owner_account: z.boolean().optional(),
@@ -406,3 +423,87 @@ export const OAuthLoginUserNotFoundResponseSchema = z
406
423
  ensure_user_url: z.string(),
407
424
  })
408
425
  .meta({ id: 'OAuthLoginUserNotFoundResponse' });
426
+
427
+ const federationId = z.string().regex(/^[a-fA-F0-9]{24}$/);
428
+ export const OidcFederationConnectionPayloadSchema = z
429
+ .strictObject({
430
+ name: z.string().min(1).max(200),
431
+ issuer: z.string().url(),
432
+ jwks_uri: z.string().url().optional(),
433
+ external_id_claim: z.string().min(1).max(256).regex(/\S/).meta({
434
+ description:
435
+ 'Exact top-level verified token claim matched to SCIM externalId within the owning provisioning account.',
436
+ }),
437
+ allowed_audiences: z.array(z.string().min(1)).min(1).max(20),
438
+ allowed_algorithms: z
439
+ .array(z.enum(['RS256', 'ES256']))
440
+ .min(1)
441
+ .max(2),
442
+ subject_token_type: z.enum([
443
+ 'urn:ietf:params:oauth:token-type:jwt',
444
+ 'urn:ietf:params:oauth:token-type:id_token',
445
+ 'urn:ietf:params:oauth:token-type:access_token',
446
+ ]),
447
+ required_claims: z.record(z.string(), z.string()).optional().meta({
448
+ description: 'Exact string matches against verified top-level IdP claims, such as tenant or azp.',
449
+ }),
450
+ all_projects: z.boolean().optional().meta({
451
+ description:
452
+ 'Explicitly allow all current and future projects in the owning organization, subject to the user’s current access. Defaults to false for existing allowlists. When true, allowed_project_ids must be empty.',
453
+ }),
454
+ allowed_project_ids: z.array(federationId).max(100).meta({
455
+ description: 'Explicit project allowlist. Must contain 1–100 projects unless all_projects is true.',
456
+ }),
457
+ allowed_client_ids: z.array(z.string().min(1).max(256)).min(1).max(20).optional().meta({
458
+ description:
459
+ 'When set, require authentication by one of these account-owned confidential OAuth clients. Omit to allow exchanges without separate client authentication.',
460
+ }),
461
+ allowed_scopes: z.array(z.string().min(1)).min(1).max(100).optional().meta({
462
+ description:
463
+ 'Optional restriction on delegable Vertesia permissions, excluding account:admin. Omit to use the user’s current permissions. An explicit list further restricts the grant.',
464
+ }),
465
+ max_token_ttl_seconds: z.number().int().min(30).max(300),
466
+ max_subject_token_age_seconds: z.number().int().min(30).max(86400).optional().meta({
467
+ description:
468
+ 'Maximum age since the signed iat claim. Defaults to 3600 seconds; 60 seconds of clock tolerance applies.',
469
+ }),
470
+ enabled: z.boolean(),
471
+ })
472
+ .meta({ id: 'OidcFederationConnectionPayload' });
473
+ export const OidcFederationConnectionSchema = OidcFederationConnectionPayloadSchema.extend({
474
+ id: federationId,
475
+ account_id: federationId,
476
+ max_subject_token_age_seconds: z.number().int().min(30).max(86400),
477
+ }).meta({ id: 'OidcFederationConnection' });
478
+ export const OidcFederationConnectionArraySchema = z
479
+ .array(OidcFederationConnectionSchema)
480
+ .meta({ id: 'OidcFederationConnectionArray' });
481
+ export const OAuthTokenExchangeRequestSchema = z
482
+ .strictObject({
483
+ grant_type: z.literal('urn:ietf:params:oauth:grant-type:token-exchange'),
484
+ subject_token: z.string().min(1).max(65536),
485
+ subject_token_type: OidcFederationConnectionPayloadSchema.shape.subject_token_type,
486
+ requested_token_type: z.literal('urn:ietf:params:oauth:token-type:access_token').optional(),
487
+ federation_connection_id: federationId,
488
+ client_id: z.string().min(1).max(256).optional(),
489
+ client_secret: z.string().min(1).max(4096).optional(),
490
+ client_assertion: z.string().min(1).max(16384).optional(),
491
+ client_assertion_type: z.literal('urn:ietf:params:oauth:client-assertion-type:jwt-bearer').optional(),
492
+ project_id: federationId,
493
+ resource: z.string().min(1),
494
+ scope: z.string().min(1).max(4096).optional().meta({
495
+ description:
496
+ 'Optional space-separated permission subset. Omit to use current user permissions within the connection policy.',
497
+ }),
498
+ })
499
+ .meta({ id: 'OAuthTokenExchangeRequest' });
500
+ export const OAuthTokenExchangeResponseSchema = OAuthTokenResponseSchema.omit({
501
+ refresh_token: true,
502
+ refresh_token_expires_in: true,
503
+ id_token: true,
504
+ })
505
+ .extend({
506
+ token_type: z.literal('Bearer'),
507
+ issued_token_type: z.literal('urn:ietf:params:oauth:token-type:access_token'),
508
+ })
509
+ .meta({ id: 'OAuthTokenExchangeResponse' });
@@ -155,6 +155,19 @@ export const PublishProcessDefinitionPayloadSchema = z
155
155
  .optional(),
156
156
  label: z.string().meta({ description: 'Optional human-readable revision label.' }).optional(),
157
157
  comment: z.string().meta({ description: 'Optional publish note.' }).optional(),
158
+ idempotency_key: z
159
+ .string()
160
+ .min(1)
161
+ .max(256)
162
+ .meta({
163
+ description:
164
+ 'Client-chosen key that makes this request safe to retry. Publishing is otherwise not ' +
165
+ 'idempotent: a repeat of a publish that already succeeded is rejected because the revision ' +
166
+ 'is no longer a draft. When the revision was published by a request with the same key and ' +
167
+ 'the same body, the repeat returns that revision instead. Reusing the key with a different ' +
168
+ 'body is rejected with 409. The key is bound to the revision it published.',
169
+ })
170
+ .optional(),
158
171
  })
159
172
  .meta({ id: 'PublishProcessDefinitionPayload' });
160
173
 
@@ -1187,11 +1200,29 @@ export const UpdateProcessTestSuitePayloadSchema = CreateProcessTestSuitePayload
1187
1200
  id: 'UpdateProcessTestSuitePayload',
1188
1201
  });
1189
1202
 
1203
+ /**
1204
+ * Makes starting a test run safe to retry. Starting a run is otherwise not idempotent: a request the
1205
+ * client gave up on can still complete server-side, and resending it would start a second run.
1206
+ */
1207
+ const ProcessTestRunIdempotencyKeySchema = z
1208
+ .string()
1209
+ .min(1)
1210
+ .max(256)
1211
+ .meta({
1212
+ description:
1213
+ 'Client-chosen key, unique per intended run, that makes this request safe to retry. A repeat of ' +
1214
+ 'the request with the same key and the same body returns the run the first request started ' +
1215
+ 'instead of starting another. Reusing a key with a different body is rejected with 409. Keys ' +
1216
+ 'are scoped to the project and stay bound to their run for as long as it exists; once the run ' +
1217
+ 'is deleted, the same key starts a new one.',
1218
+ });
1219
+
1190
1220
  export const StartProcessTestRunPayloadSchema = z
1191
1221
  .strictObject({
1192
1222
  suite_id: z.string(),
1193
1223
  process_revision_id: z.string(),
1194
1224
  scenario_ids: z.array(z.string()).optional(),
1225
+ idempotency_key: ProcessTestRunIdempotencyKeySchema.optional(),
1195
1226
  })
1196
1227
  .meta({ id: 'StartProcessTestRunPayload' });
1197
1228
 
@@ -1265,6 +1296,7 @@ export const SubmitProcessTestRunPayloadSchema = z
1265
1296
  .strictObject({
1266
1297
  process: ProcessTestTargetSchema,
1267
1298
  scenarios: z.array(ProcessTestScenarioSchema).min(1),
1299
+ idempotency_key: ProcessTestRunIdempotencyKeySchema.optional(),
1268
1300
  })
1269
1301
  .meta({ id: 'SubmitProcessTestRunPayload' });
1270
1302
 
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { FacetSpecSchema, PromptTemplateRefSchema } from './interaction.js';
3
+ import { PageCountSchema } from './schema-primitives.js';
3
4
 
4
5
  // The prompt-authoring contracts: what a fork, a render and a prompt search publish, and how a
5
6
  // prompt's interaction usages are reported. `PromptTemplate` itself and its two write payloads live
@@ -50,8 +51,10 @@ export const PromptSearchQuerySchema = z
50
51
  'Accepted and ignored. `GET /prompts` and `POST /prompts/facets` list drafts only, and always have.',
51
52
  })
52
53
  .optional(),
53
- limit: z.number().meta({ description: 'Maximum number of prompts to return. Defaults to 100.' }).optional(),
54
- offset: z.number().meta({ description: 'Number of prompts to skip.' }).optional(),
54
+ limit: PageCountSchema.meta({
55
+ description: 'Maximum number of prompts to return. Defaults to 100.',
56
+ }).optional(),
57
+ offset: PageCountSchema.meta({ description: 'Number of prompts to skip.' }).optional(),
55
58
  role: z.string().meta({ description: 'Exact match on the prompt role.' }).optional(),
56
59
  tags: z.array(z.string()).meta({ description: 'Match prompts carrying any of these tags.' }).optional(),
57
60
  matchInteractions: z
@@ -88,6 +88,16 @@ import {
88
88
  AppDevelopmentTaskDetailsSchema,
89
89
  AppDevelopmentTaskListSchema,
90
90
  AppDevelopmentTaskSchema,
91
+ AppGithubAccountSchema,
92
+ AppGithubBranchStateSchema,
93
+ AppGithubConfigurationSchema,
94
+ AppGithubInstallationSchema,
95
+ AppGithubRepositoriesQuerySchema,
96
+ AppGithubRepositoryCreationSchema,
97
+ AppGithubRepositoryListSchema,
98
+ AppGithubRepositorySchema,
99
+ AppGithubRepositorySetupQuerySchema,
100
+ AppGithubRepositorySetupSchema,
91
101
  AppInspectionCapabilityReportSchema,
92
102
  AppInspectionIssueSchema,
93
103
  AppInspectionResultSchema,
@@ -97,6 +107,7 @@ import {
97
107
  AppInstallationProjectsQuerySchema,
98
108
  AppInstallationProviderBindingSchema,
99
109
  AppInstallationsQuerySchema,
110
+ AppInstanceAvailabilitySchema,
100
111
  AppListScopeSchema,
101
112
  AppOAuthCollectionParamsSchema,
102
113
  AppOAuthProviderParamsSchema,
@@ -112,6 +123,7 @@ import {
112
123
  AppScaffoldModuleSchema,
113
124
  AppScaffoldProgressSchema,
114
125
  AppScaffoldProgressStatusSchema,
126
+ AppScaffoldSourceModeSchema,
115
127
  AppsQuerySchema,
116
128
  AppToolCollectionArraySchema,
117
129
  AppToolCollectionSchema,
@@ -128,6 +140,8 @@ import {
128
140
  ConversationActivityStateSchema,
129
141
  DeleteAppVersionResponseSchema,
130
142
  EventRefSchema,
143
+ ExchangeAppGithubAuthorizationRequestSchema,
144
+ ExchangeAppGithubAuthorizationResponseSchema,
131
145
  Extract_AppVersionGitRefType_branch_tag_commitSchema,
132
146
  InCodeTypeRefSchema,
133
147
  McpApiKeyCredentialSchema,
@@ -138,6 +152,7 @@ import {
138
152
  StartAppBuildRequestSchema,
139
153
  StartAppBuildResponseSchema,
140
154
  StartAppDevelopmentTaskRequestSchema,
155
+ StartAppGithubAuthorizationResponseSchema,
141
156
  StartAppScaffoldRequestSchema,
142
157
  StartAppScaffoldResponseSchema,
143
158
  StoredTypeRefSchema,
@@ -152,6 +167,7 @@ import * as AppRuntimeSchemas from './app-runtime.js';
152
167
  import {
153
168
  AppAccessControlSchema,
154
169
  AppCapabilitiesSchema,
170
+ AppGitSourceProviderSchema,
155
171
  AppManifestSourceSchema,
156
172
  AppSourceConfigSchema,
157
173
  AppUIConfigSchema,
@@ -657,7 +673,12 @@ import {
657
673
  OAuthRegistrationSourceSchema,
658
674
  OAuthResponseTypeSchema,
659
675
  OAuthTokenEndpointAuthMethodSchema,
676
+ OAuthTokenExchangeRequestSchema,
677
+ OAuthTokenExchangeResponseSchema,
660
678
  OAuthTokenResponseSchema,
679
+ OidcFederationConnectionArraySchema,
680
+ OidcFederationConnectionPayloadSchema,
681
+ OidcFederationConnectionSchema,
661
682
  RevokeOAuthGrantQuerySchema,
662
683
  UpdateOAuthClientPayloadSchema,
663
684
  } from './oauth-server.js';
@@ -934,6 +955,7 @@ const PROJECT_AND_APP_SCHEMAS = {
934
955
  AppCapabilities: AppCapabilitiesSchema,
935
956
  AppAccessControl: AppAccessControlSchema,
936
957
  AppSourceConfig: AppSourceConfigSchema,
958
+ AppGitSourceProvider: AppGitSourceProviderSchema,
937
959
  AppManifestSource: AppManifestSourceSchema,
938
960
  } as const satisfies Record<string, z.ZodType>;
939
961
 
@@ -987,6 +1009,12 @@ const OAUTH_SCHEMAS = {
987
1009
  OAuthDeviceAuthorizationRequest: OAuthDeviceAuthorizationRequestSchema,
988
1010
  OAuthDeviceAuthorizationResponse: OAuthDeviceAuthorizationResponseSchema,
989
1011
  OAuthTokenResponse: OAuthTokenResponseSchema,
1012
+ OidcFederationConnectionPayload: OidcFederationConnectionPayloadSchema,
1013
+ OidcFederationConnection: OidcFederationConnectionSchema,
1014
+ OidcFederationConnectionArray: OidcFederationConnectionArraySchema,
1015
+ OAuthTokenExchangeRequest: OAuthTokenExchangeRequestSchema,
1016
+ OAuthTokenExchangeResponse: OAuthTokenExchangeResponseSchema,
1017
+
990
1018
  // Clients registered against Vertesia's own OAuth server. `OAuthClientData` is composed into
991
1019
  // `OAuthClient` rather than hoisted, so it has no component of its own — as today.
992
1020
  OAuthClient: OAuthClientSchema,
@@ -1395,12 +1423,6 @@ const CONTENT_TYPE_CATALOG_SCHEMAS: {
1395
1423
  readonly ContentObjectTypeItemArray: typeof ContentObjectTypeItemArraySchema;
1396
1424
  readonly ContentObjectTypeCatalogEntry: typeof ContentObjectTypeCatalogEntrySchema;
1397
1425
  readonly ContentObjectTypeCatalogEntryArray: typeof ContentObjectTypeCatalogEntryArraySchema;
1398
- readonly InCodeTypeDefinition: typeof InCodeTypeDefinitionSchema;
1399
- readonly CreateContentObjectTypePayload: typeof CreateContentObjectTypePayloadSchema;
1400
- readonly UpdateContentObjectTypePayload: typeof UpdateContentObjectTypePayloadSchema;
1401
- readonly ContentObjectType: typeof ContentObjectTypeSchema;
1402
- readonly ContentObjectTypeCatalogQuery: typeof ContentObjectTypeCatalogQuerySchema;
1403
- readonly ContentObjectTypeListQuery: typeof ContentObjectTypeListQuerySchema;
1404
1426
  } = {
1405
1427
  ColumnLayout: ColumnLayoutSchema,
1406
1428
  ContentTypeEditingPolicy: ContentTypeEditingPolicySchema,
@@ -1409,6 +1431,9 @@ const CONTENT_TYPE_CATALOG_SCHEMAS: {
1409
1431
  ContentObjectTypeItemArray: ContentObjectTypeItemArraySchema,
1410
1432
  ContentObjectTypeCatalogEntry: ContentObjectTypeCatalogEntrySchema,
1411
1433
  ContentObjectTypeCatalogEntryArray: ContentObjectTypeCatalogEntryArraySchema,
1434
+ } as const satisfies Record<string, z.ZodType>;
1435
+
1436
+ const CONTENT_TYPE_AUTHORING_SCHEMAS = {
1412
1437
  InCodeTypeDefinition: InCodeTypeDefinitionSchema,
1413
1438
  CreateContentObjectTypePayload: CreateContentObjectTypePayloadSchema,
1414
1439
  UpdateContentObjectTypePayload: UpdateContentObjectTypePayloadSchema,
@@ -1690,6 +1715,7 @@ const CONTENT_OBJECT_SCHEMAS = {
1690
1715
  TranscriptSegment: ContentSchemas.TranscriptSegmentSchema,
1691
1716
  ContentObjectTypeArray: ContentSchemas.ContentObjectTypeArraySchema,
1692
1717
  ContentObjectTextResponse: ContentSchemas.ContentObjectTextResponseSchema,
1718
+ SetObjectTextPayload: ContentSchemas.SetObjectTextPayloadSchema,
1693
1719
  DeleteContentObjectResult: ContentSchemas.DeleteContentObjectResultSchema,
1694
1720
  Transcript: ContentSchemas.TranscriptSchema,
1695
1721
  CreateContentObjectPayload: ContentSchemas.CreateContentObjectPayloadSchema,
@@ -2226,6 +2252,20 @@ const APP_LIFECYCLE_SCHEMAS = {
2226
2252
  AppRepoBranch: AppRepoBranchSchema,
2227
2253
  AppRepoDocumentCommit: AppRepoDocumentCommitSchema,
2228
2254
  AppVersionGitSource: AppVersionGitSourceSchema,
2255
+ AppGithubConfiguration: AppGithubConfigurationSchema,
2256
+ StartAppGithubAuthorizationResponse: StartAppGithubAuthorizationResponseSchema,
2257
+ ExchangeAppGithubAuthorizationRequest: ExchangeAppGithubAuthorizationRequestSchema,
2258
+ AppGithubRepositoriesQuery: AppGithubRepositoriesQuerySchema,
2259
+ ExchangeAppGithubAuthorizationResponse: ExchangeAppGithubAuthorizationResponseSchema,
2260
+ AppGithubInstallation: AppGithubInstallationSchema,
2261
+ AppGithubAccount: AppGithubAccountSchema,
2262
+ AppGithubRepository: AppGithubRepositorySchema,
2263
+ AppGithubRepositoryCreation: AppGithubRepositoryCreationSchema,
2264
+ AppGithubRepositoryList: AppGithubRepositoryListSchema,
2265
+ AppGithubRepositorySetupQuery: AppGithubRepositorySetupQuerySchema,
2266
+ AppGithubBranchState: AppGithubBranchStateSchema,
2267
+ AppGithubRepositorySetup: AppGithubRepositorySetupSchema,
2268
+ AppScaffoldSourceMode: AppScaffoldSourceModeSchema,
2229
2269
  StartAppScaffoldRequest: StartAppScaffoldRequestSchema,
2230
2270
  StartAppDevelopmentTaskRequest: StartAppDevelopmentTaskRequestSchema,
2231
2271
  StartAppBuildRequest: StartAppBuildRequestSchema,
@@ -2250,6 +2290,7 @@ const APP_LIFECYCLE_SCHEMAS = {
2250
2290
  AgentRunSearchHit: AgentRunSearchHitSchema,
2251
2291
  UpsertAppVersionRequest: UpsertAppVersionRequestSchema,
2252
2292
  AppInstallationPayload: AppInstallationPayloadSchema,
2293
+ AppInstanceAvailability: AppInstanceAvailabilitySchema,
2253
2294
  AppDevelopmentTaskDetails: AppDevelopmentTaskDetailsSchema,
2254
2295
  AppVersionRecordArray: AppVersionRecordArraySchema,
2255
2296
  AppToolCollectionArray: AppToolCollectionArraySchema,
@@ -2340,6 +2381,7 @@ const APP_MANIFEST_SCHEMAS = {
2340
2381
  MCPOAuthConfigMap: AppRuntimeSchemas.MCPOAuthConfigMapSchema,
2341
2382
  AppWidgetInfo: AppRuntimeSchemas.AppWidgetInfoSchema,
2342
2383
  AppDashboardDefinition: AppRuntimeSchemas.AppDashboardDefinitionSchema,
2384
+ AppOAuthClientConfig: AppRuntimeSchemas.AppOAuthClientConfigSchema,
2343
2385
  AppManifestData: AppRuntimeSchemas.AppManifestDataSchema,
2344
2386
  UpdateAppPayload: AppRuntimeSchemas.UpdateAppPayloadSchema,
2345
2387
  AppManifest: AppRuntimeSchemas.AppManifestSchema,
@@ -2448,6 +2490,7 @@ const API_SCHEMA_GROUPS = [
2448
2490
  FILE_STORAGE_SCHEMAS,
2449
2491
  DURABLE_TASK_SCHEMAS,
2450
2492
  CONTENT_TYPE_CATALOG_SCHEMAS,
2493
+ CONTENT_TYPE_AUTHORING_SCHEMAS,
2451
2494
  MIGRATION_COMMAND_SCHEMAS,
2452
2495
  PROCESS_DSL_SCHEMAS,
2453
2496
  AGENT_MESSAGE_SCHEMAS,
@@ -2512,6 +2555,7 @@ type ApiSchemaMap = typeof RUN_BUDGET_SCHEMAS &
2512
2555
  typeof FILE_STORAGE_SCHEMAS &
2513
2556
  typeof DURABLE_TASK_SCHEMAS &
2514
2557
  typeof CONTENT_TYPE_CATALOG_SCHEMAS &
2558
+ typeof CONTENT_TYPE_AUTHORING_SCHEMAS &
2515
2559
  typeof MIGRATION_COMMAND_SCHEMAS &
2516
2560
  typeof PROCESS_DSL_SCHEMAS &
2517
2561
  typeof AGENT_MESSAGE_SCHEMAS &
@@ -2557,6 +2601,10 @@ const API_SCHEMAS: Readonly<Record<ApiComponentName, z.ZodType>> = mergeComponen
2557
2601
  * objects, so a body carrying an undeclared property is rejected rather than quietly accepted.
2558
2602
  */
2559
2603
  const STRICT_COMPONENTS: ReadonlySet<string> = new Set<string>([
2604
+ 'OidcFederationConnectionPayload',
2605
+ 'OidcFederationConnection',
2606
+ 'OAuthTokenExchangeRequest',
2607
+ 'OAuthTokenExchangeResponse',
2560
2608
  'UpdateInteractionConfigurationPayload',
2561
2609
  'InteractionConfigurationRecord',
2562
2610
  'InteractionConfigurationResult',
@@ -2774,6 +2822,8 @@ const STRICT_COMPONENTS: ReadonlySet<string> = new Set<string>([
2774
2822
  'MCPOAuthConfig',
2775
2823
  'MCPApiKeyConfig',
2776
2824
  'MCPToolCollectionObject',
2825
+ 'McpPublicParameter',
2826
+ 'McpSecretParameter',
2777
2827
  'VertesiaSDKToolCollectionObject',
2778
2828
  // File, task, content-type and command components. Every one is published closed
2779
2829
  // today; `StringValueMap`, `MigrationListResponse`, `TaskArray`, the two content-type array
@@ -3092,6 +3142,7 @@ const STRICT_COMPONENTS: ReadonlySet<string> = new Set<string>([
3092
3142
  'ViewExecutionSearchConfiguration',
3093
3143
  'DSLRetryPolicy',
3094
3144
  'CreateContentObjectPayload',
3145
+ 'SetObjectTextPayload',
3095
3146
  'EventIngestChannelMutationResponse',
3096
3147
  'CreateEventIngestChannelPayload',
3097
3148
  'AgentRun',
@@ -3473,6 +3524,8 @@ const STRICT_COMPONENTS: ReadonlySet<string> = new Set<string>([
3473
3524
  'AgentRunSearchHit',
3474
3525
  'UpsertAppVersionRequest',
3475
3526
  'AppInstallationPayload',
3527
+ 'AppInstanceAvailability',
3528
+ 'AppOAuthClientConfig',
3476
3529
  'AppDevelopmentTaskDetails',
3477
3530
  'AppInstallationsQuery',
3478
3531
  'AppsQuery',
@@ -11,6 +11,15 @@ export const nullableNumberSchema = z
11
11
  .nullable()
12
12
  .meta({ anyOf: undefined, type: ['number', 'null'] });
13
13
 
14
+ /**
15
+ * A `limit` or `offset` query count: a whole number, zero or more. A fraction or a negative count used to
16
+ * reach the database and fail there as a 500.
17
+ *
18
+ * Published as `type: number` with `multipleOf: 1` rather than `type: integer`, so the generated Java and Go
19
+ * clients keep the parameter types they already expose while the contract enforcer answers 400.
20
+ */
21
+ export const PageCountSchema = z.number().multipleOf(1).min(0);
22
+
14
23
  /** Monotonic token for optimistic concurrency on mutable, user-authored resources. */
15
24
  export const EditRevisionSchema = z
16
25
  .number()
@@ -3,7 +3,7 @@ import { z } from 'zod';
3
3
  // From the values module, for the reason `./apikey.js` gives.
4
4
  import { ConfigModes, RunDataStorageLevel } from '../interaction-values.js';
5
5
  import { InferenceProfileIdSchema } from './inference-profile.js';
6
- import { EditRevisionSchema, ExpectedEditRevisionSchema } from './schema-primitives.js';
6
+ import { EditRevisionSchema, ExpectedEditRevisionSchema, PageCountSchema } from './schema-primitives.js';
7
7
 
8
8
  /**
9
9
  * Runtime API schemas for the content-intake policy tree.
@@ -643,8 +643,8 @@ export const ContentObjectTypeSchema = z.strictObject(storedContentTypeShape).me
643
643
  const contentTypeListingFields = {
644
644
  layout: z.boolean().optional(),
645
645
  schema: z.boolean().optional(),
646
- limit: z.number().optional(),
647
- offset: z.number().optional(),
646
+ limit: PageCountSchema.optional(),
647
+ offset: PageCountSchema.optional(),
648
648
  };
649
649
 
650
650
  export const ContentObjectTypeCatalogQuerySchema = z
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { PageCountSchema } from './schema-primitives.js';
2
3
 
3
4
  export const CompleteTaskPayloadSchema = z
4
5
  .strictObject({
@@ -98,7 +99,7 @@ export const ListTasksQuerySchema = z
98
99
  assignee: z.string().optional(),
99
100
  run_id: z.string().optional(),
100
101
  source_type: TaskSourceSchema.shape.type.optional(),
101
- limit: z.number().optional(),
102
- offset: z.number().optional(),
102
+ limit: PageCountSchema.optional(),
103
+ offset: PageCountSchema.optional(),
103
104
  })
104
105
  .meta({ id: 'ListTasksQuery' });
package/src/apikey.ts CHANGED
@@ -97,6 +97,14 @@ export interface AuthTokenPayload {
97
97
  */
98
98
  apps: string[];
99
99
 
100
+ /** Versioned grants for installations in the selected project. Absence means a legacy token. */
101
+ app_installations?: {
102
+ version: 1;
103
+ project_id: string;
104
+ ids: string[];
105
+ ui_restrictions?: string[];
106
+ };
107
+
100
108
  /**
101
109
  * Apps in `apps[]` whose UI surface is restricted for this principal — present only on
102
110
  * user tokens, and only when at least one app applies. Such apps grant functional access