@vertesia/common 1.6.0-dev.20260918.090710Z → 1.6.0-dev.20260923.085325Z

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 +3562 -2515
  2. package/lib/api-schemas/account.d.ts +5 -0
  3. package/lib/api-schemas/account.d.ts.map +1 -1
  4. package/lib/api-schemas/account.js +7 -0
  5. package/lib/api-schemas/account.js.map +1 -1
  6. package/lib/api-schemas/agent-runs.d.ts +930 -300
  7. package/lib/api-schemas/agent-runs.d.ts.map +1 -1
  8. package/lib/api-schemas/app-lifecycle.d.ts +4 -0
  9. package/lib/api-schemas/app-lifecycle.d.ts.map +1 -1
  10. package/lib/api-schemas/app-lifecycle.js +10 -0
  11. package/lib/api-schemas/app-lifecycle.js.map +1 -1
  12. package/lib/api-schemas/app-runtime.d.ts +1360 -420
  13. package/lib/api-schemas/app-runtime.d.ts.map +1 -1
  14. package/lib/api-schemas/app-runtime.js +14 -0
  15. package/lib/api-schemas/app-runtime.js.map +1 -1
  16. package/lib/api-schemas/apps.d.ts +5 -0
  17. package/lib/api-schemas/apps.d.ts.map +1 -1
  18. package/lib/api-schemas/apps.js +6 -3
  19. package/lib/api-schemas/apps.js.map +1 -1
  20. package/lib/api-schemas/content.d.ts +465 -150
  21. package/lib/api-schemas/content.d.ts.map +1 -1
  22. package/lib/api-schemas/document-processing.d.ts +279 -90
  23. package/lib/api-schemas/document-processing.d.ts.map +1 -1
  24. package/lib/api-schemas/embeddings.d.ts +250 -0
  25. package/lib/api-schemas/embeddings.d.ts.map +1 -1
  26. package/lib/api-schemas/embeddings.js +163 -0
  27. package/lib/api-schemas/embeddings.js.map +1 -1
  28. package/lib/api-schemas/environment.d.ts +2 -2
  29. package/lib/api-schemas/events.d.ts +837 -270
  30. package/lib/api-schemas/events.d.ts.map +1 -1
  31. package/lib/api-schemas/files.d.ts +1 -0
  32. package/lib/api-schemas/files.d.ts.map +1 -1
  33. package/lib/api-schemas/files.js +1 -0
  34. package/lib/api-schemas/files.js.map +1 -1
  35. package/lib/api-schemas/interaction.d.ts +4260 -1290
  36. package/lib/api-schemas/interaction.d.ts.map +1 -1
  37. package/lib/api-schemas/interaction.js +1 -0
  38. package/lib/api-schemas/interaction.js.map +1 -1
  39. package/lib/api-schemas/oauth-server.d.ts +27 -0
  40. package/lib/api-schemas/oauth-server.d.ts.map +1 -1
  41. package/lib/api-schemas/oauth-server.js +32 -0
  42. package/lib/api-schemas/oauth-server.js.map +1 -1
  43. package/lib/api-schemas/process.d.ts +186 -60
  44. package/lib/api-schemas/process.d.ts.map +1 -1
  45. package/lib/api-schemas/project-configuration.d.ts +937 -300
  46. package/lib/api-schemas/project-configuration.d.ts.map +1 -1
  47. package/lib/api-schemas/project-configuration.js +6 -0
  48. package/lib/api-schemas/project-configuration.js.map +1 -1
  49. package/lib/api-schemas/project.d.ts +1416 -450
  50. package/lib/api-schemas/project.d.ts.map +1 -1
  51. package/lib/api-schemas/prompt.d.ts +1 -0
  52. package/lib/api-schemas/prompt.d.ts.map +1 -1
  53. package/lib/api-schemas/prompt.js +1 -0
  54. package/lib/api-schemas/prompt.js.map +1 -1
  55. package/lib/api-schemas/registry.d.ts +12314 -30352
  56. package/lib/api-schemas/registry.d.ts.map +1 -1
  57. package/lib/api-schemas/registry.js +62 -34
  58. package/lib/api-schemas/registry.js.map +1 -1
  59. package/lib/api-schemas/store.d.ts +4650 -1500
  60. package/lib/api-schemas/store.d.ts.map +1 -1
  61. package/lib/api-schemas/sts.d.ts +10 -0
  62. package/lib/api-schemas/sts.d.ts.map +1 -1
  63. package/lib/api-schemas/sts.js +14 -0
  64. package/lib/api-schemas/sts.js.map +1 -1
  65. package/lib/api-schemas/user.d.ts +28 -12
  66. package/lib/api-schemas/user.d.ts.map +1 -1
  67. package/lib/api-schemas/user.js +23 -17
  68. package/lib/api-schemas/user.js.map +1 -1
  69. package/lib/api-schemas/workflow-runs.d.ts +186 -60
  70. package/lib/api-schemas/workflow-runs.d.ts.map +1 -1
  71. package/lib/apps.d.ts +2 -1
  72. package/lib/apps.d.ts.map +1 -1
  73. package/lib/apps.js.map +1 -1
  74. package/lib/embeddings.d.ts +18 -1
  75. package/lib/embeddings.d.ts.map +1 -1
  76. package/lib/index.d.ts +3 -2
  77. package/lib/index.d.ts.map +1 -1
  78. package/lib/index.js +1 -0
  79. package/lib/index.js.map +1 -1
  80. package/lib/oauth-server.d.ts +5 -1
  81. package/lib/oauth-server.d.ts.map +1 -1
  82. package/lib/principal-context.d.ts +21 -12
  83. package/lib/principal-context.d.ts.map +1 -1
  84. package/lib/project.d.ts.map +1 -1
  85. package/lib/project.js +10 -0
  86. package/lib/project.js.map +1 -1
  87. package/lib/store/intake-policy-schema.generated.d.ts.map +1 -1
  88. package/lib/store/intake-policy-schema.generated.js +166 -32
  89. package/lib/store/intake-policy-schema.generated.js.map +1 -1
  90. package/lib/store/rendering.d.ts +1 -0
  91. package/lib/store/rendering.d.ts.map +1 -1
  92. package/lib/store/rendering.js +4 -0
  93. package/lib/store/rendering.js.map +1 -1
  94. package/lib/sts-token-types.d.ts +3 -1
  95. package/lib/sts-token-types.d.ts.map +1 -1
  96. package/lib/user.d.ts +2 -1
  97. package/lib/user.d.ts.map +1 -1
  98. package/lib/user.js.map +1 -1
  99. package/lib/vertesia-common.js +2 -2
  100. package/lib/vertesia-common.js.map +1 -1
  101. package/package.json +6 -6
  102. package/src/api-contract/components.generated.json +3562 -2515
  103. package/src/api-schemas/account.ts +8 -0
  104. package/src/api-schemas/app-lifecycle.ts +11 -0
  105. package/src/api-schemas/app-runtime.ts +15 -0
  106. package/src/api-schemas/apps.ts +6 -3
  107. package/src/api-schemas/embeddings.ts +184 -0
  108. package/src/api-schemas/files.ts +1 -0
  109. package/src/api-schemas/indexing.contract.test.ts +40 -1
  110. package/src/api-schemas/interaction.ts +1 -0
  111. package/src/api-schemas/llumiverse.contract.test.ts +70 -40
  112. package/src/api-schemas/mcp-api-key.contract.test.ts +39 -0
  113. package/src/api-schemas/oauth-server.ts +36 -0
  114. package/src/api-schemas/project-configuration.ts +6 -0
  115. package/src/api-schemas/project.contract.test.ts +15 -0
  116. package/src/api-schemas/prompt.ts +1 -0
  117. package/src/api-schemas/registry-groups.test.ts +9 -1
  118. package/src/api-schemas/registry.ts +136 -32
  119. package/src/api-schemas/store.contract.test.ts +6 -6
  120. package/src/api-schemas/sts.ts +16 -0
  121. package/src/api-schemas/user.contract.test.ts +24 -18
  122. package/src/api-schemas/user.ts +24 -18
  123. package/src/api-schemas/views.contract.test.ts +3 -10
  124. package/src/apps.ts +3 -0
  125. package/src/embeddings.ts +34 -0
  126. package/src/index.ts +10 -2
  127. package/src/oauth-server.ts +11 -0
  128. package/src/principal-context.ts +22 -12
  129. package/src/project.ts +10 -0
  130. package/src/store/intake-policy-schema.generated.ts +166 -32
  131. package/src/store/rendering.ts +9 -0
  132. package/src/sts-token-types.ts +5 -0
  133. package/src/user.ts +8 -1
@@ -242,6 +242,21 @@ describe('gate 2 — the closure is closed, bottom-up', () => {
242
242
  expect(SYSTEM_INTERACTION_CATEGORIES.ContentSearchReranker).toBe(SystemInteractionCategory.analysis);
243
243
  });
244
244
 
245
+ it('uses the agent model default for every app development agent', () => {
246
+ // Each is launched in-code without an environment or model of its own, so an uncategorised
247
+ // one silently resolves to the project BASE default instead of the agent default.
248
+ for (const endpoint of [
249
+ 'AppDevelopmentOrchestrator',
250
+ 'AppSolutionArchitect',
251
+ 'AppDesigner',
252
+ 'AppDeveloper',
253
+ 'AppReviewer',
254
+ 'AppTester',
255
+ ]) {
256
+ expect(SYSTEM_INTERACTION_CATEGORIES[endpoint]).toBe(SystemInteractionCategory.agent);
257
+ }
258
+ });
259
+
245
260
  it('publishes the property-mapping map without the propertyNames z.record adds', () => {
246
261
  // `Record<string, ProjectSearchPropertyMapping>` is inline in the interface and has no
247
262
  // TypeScript name, so it never becomes a canonical alias — it stays canonical AND derived,
@@ -34,6 +34,7 @@ export const PromptTemplateInteractionVersionSchema = z
34
34
 
35
35
  export const PromptTemplateForkPayloadSchema = z
36
36
  .strictObject({
37
+ newName: z.string().optional(),
37
38
  keepTags: z.boolean().optional(),
38
39
  targetProject: z.string().optional(),
39
40
  })
@@ -1,5 +1,6 @@
1
- import { describe, expect, it } from 'vitest';
1
+ import { describe, expect, expectTypeOf, it } from 'vitest';
2
2
  import { z } from 'zod';
3
+ import type { NamedInteractionExecutionPayloadSchema } from './interaction.js';
3
4
  import { type ApiComponentName, type ApiComponentType, ApiSchemaComponents, mergeComponentGroups } from './registry.js';
4
5
 
5
6
  /**
@@ -30,6 +31,13 @@ type ResolvedName<N extends ApiComponentName> = [ApiComponentType<N>] extends [n
30
31
  * merge actually refuses, which no import of a correct registry can show.
31
32
  */
32
33
  describe('mergeComponentGroups', () => {
34
+ it('preserves execution payload types and rejects unregistered component names', () => {
35
+ expectTypeOf<ApiComponentType<'NamedInteractionExecutionPayload'>>().toEqualTypeOf<
36
+ z.infer<typeof NamedInteractionExecutionPayloadSchema>
37
+ >();
38
+ expectTypeOf<'UnregisteredExecutionComponent'>().not.toMatchTypeOf<ApiComponentName>();
39
+ });
40
+
33
41
  const A = z.strictObject({ a: z.string() });
34
42
  const B = z.strictObject({ b: z.number() });
35
43
 
@@ -77,7 +77,12 @@ import {
77
77
  RoleDefinitionArraySchema,
78
78
  SystemRoleDefinitionArraySchema,
79
79
  } from './access-control.js';
80
- import { AccountSchema, StripeBillingStatusResponseSchema, UpdateAccountPayloadSchema } from './account.js';
80
+ import {
81
+ AccountApiVersionPolicySchema,
82
+ AccountSchema,
83
+ StripeBillingStatusResponseSchema,
84
+ UpdateAccountPayloadSchema,
85
+ } from './account.js';
81
86
  import { type JsonObject, toOpenApiComponents } from './adapter.js';
82
87
  import * as AgentCommunicationSchemas from './agent-communication.js';
83
88
  import * as AgentRunSchemas from './agent-runs.js';
@@ -175,6 +180,7 @@ import {
175
180
  StartAppScaffoldResponseSchema,
176
181
  StoredTypeRefSchema,
177
182
  SystemPackageQuerySchema,
183
+ UpdateAppInstallationOAuthApprovalPayloadSchema,
178
184
  UpdateAppInstallationToolAllowlistPayloadSchema,
179
185
  UpsertAppVersionRequestSchema,
180
186
  ValidateUrlRequestSchema,
@@ -370,6 +376,22 @@ import {
370
376
  WorkflowExecutionStatusSchema,
371
377
  } from './document-processing.js';
372
378
  import {
379
+ EmbeddingBatchApplyRequestSchema,
380
+ EmbeddingBatchApplyResponseSchema,
381
+ EmbeddingBatchCapabilityRequestSchema,
382
+ EmbeddingBatchCapabilityResponseSchema,
383
+ EmbeddingBatchCreateRequestSchema,
384
+ EmbeddingBatchJobRequestSchema,
385
+ EmbeddingBatchJobResponseSchema,
386
+ EmbeddingBatchPrepareRequestSchema,
387
+ EmbeddingBatchPrepareResponseSchema,
388
+ EmbeddingBatchProviderStateSchema,
389
+ EmbeddingBatchRenditionPageRequestSchema,
390
+ EmbeddingBatchRenditionPageResponseSchema,
391
+ EmbeddingBatchRunStateSchema,
392
+ EmbeddingBatchRunSummarySchema,
393
+ EmbeddingBatchSubjobSchema,
394
+ EmbeddingBatchUpdateRequestSchema,
373
395
  EmbeddingsApiAudioInputSchema,
374
396
  EmbeddingsApiImageInputSchema,
375
397
  EmbeddingsApiInputSchema,
@@ -379,6 +401,7 @@ import {
379
401
  EmbeddingsApiVideoInputSchema,
380
402
  EmbeddingsStatusResponseSchema,
381
403
  ProjectConfigurationEmbeddingEnablePayloadSchema,
404
+ RecalculateEmbeddingsQuerySchema,
382
405
  } from './embeddings.js';
383
406
  import { emitJsonSchema } from './emit-json-schema.js';
384
407
  import {
@@ -613,6 +636,7 @@ import {
613
636
  CreateOAuthClientPayloadSchema,
614
637
  ListOAuthGrantsQuerySchema,
615
638
  OAuthAuthorizationDecisionResponseSchema,
639
+ OAuthAuthorizationRequestGeneratedAppSchema,
616
640
  OAuthAuthorizationRequestSchema,
617
641
  OAuthAuthorizationRequestStatusSchema,
618
642
  OAuthAuthorizationServerMetadataSchema,
@@ -635,6 +659,9 @@ import {
635
659
  OAuthGrantSortOrderSchema,
636
660
  OAuthGrantStatusSchema,
637
661
  OAuthGrantTypeSchema,
662
+ OAuthLoginDecisionResponseSchema,
663
+ OAuthLoginPayloadSchema,
664
+ OAuthLoginUserNotFoundResponseSchema,
638
665
  OAuthProjectBindingModeSchema,
639
666
  OAuthRegistrationSourceSchema,
640
667
  OAuthResponseTypeSchema,
@@ -816,6 +843,7 @@ import * as WorkflowRunSchemas from './workflow-runs.js';
816
843
  * group approaches the proven-safe size.
817
844
  */
818
845
  const IAM_AND_ACCOUNT_SCHEMAS = {
846
+ AccountApiVersionPolicy: AccountApiVersionPolicySchema,
819
847
  Account: AccountSchema,
820
848
  UpdateAccountPayload: UpdateAccountPayloadSchema,
821
849
  StripeBillingStatusResponse: StripeBillingStatusResponseSchema,
@@ -958,6 +986,10 @@ const OAUTH_SCHEMAS = {
958
986
  OAuthAuthorizeQuery: OAuthAuthorizeQuerySchema,
959
987
  CreateOAuthAuthorizationRequestPayload: CreateOAuthAuthorizationRequestPayloadSchema,
960
988
  OAuthAuthorizationRequest: OAuthAuthorizationRequestSchema,
989
+ OAuthAuthorizationRequestGeneratedApp: OAuthAuthorizationRequestGeneratedAppSchema,
990
+ OAuthLoginPayload: OAuthLoginPayloadSchema,
991
+ OAuthLoginUserNotFoundResponse: OAuthLoginUserNotFoundResponseSchema,
992
+ OAuthLoginDecisionResponse: OAuthLoginDecisionResponseSchema,
961
993
  ApproveOAuthAuthorizationRequestPayload: ApproveOAuthAuthorizationRequestPayloadSchema,
962
994
  OAuthGrantableScopesResponse: OAuthGrantableScopesResponseSchema,
963
995
  OAuthAuthorizationDecisionResponse: OAuthAuthorizationDecisionResponseSchema,
@@ -1199,7 +1231,55 @@ const AGENT_CONVERSATION_SCHEMAS = {
1199
1231
  ConversationState: ConversationStateSchema,
1200
1232
  } as const satisfies Record<string, z.ZodType>;
1201
1233
 
1202
- const EXECUTION_RUN_SCHEMAS = {
1234
+ // Reference schema types by name to keep declaration output bounded without erasing payload types.
1235
+ type ExecutionRunSchemaMap = {
1236
+ ExecutionRunStatus: typeof ExecutionRunStatusSchema;
1237
+ RunSourceTypes: typeof RunSourceTypesSchema;
1238
+ RunSource: typeof RunSourceSchema;
1239
+ ExecutionRunDocRef: typeof ExecutionRunDocRefSchema;
1240
+ ExecutionRunWorkflow: typeof ExecutionRunWorkflowSchema;
1241
+ ExecutionRunInteraction: typeof ExecutionRunInteractionSchema;
1242
+ ExecutionRun: typeof ExecutionRunSchema;
1243
+ ExecutionRunRef: typeof ExecutionRunRefSchema;
1244
+ ExecutionRunRefArray: typeof ExecutionRunRefArraySchema;
1245
+ UpdateExecutionRunPayload: typeof UpdateExecutionRunPayloadSchema;
1246
+ RunCreatePayload: typeof RunCreatePayloadSchema;
1247
+ SortOrder: typeof SortOrderSchema;
1248
+ SortOption: typeof SortOptionSchema;
1249
+ RunSearchQuery: typeof RunSearchQuerySchema;
1250
+ RunListQuery: typeof RunListQuerySchema;
1251
+ RunSearchPayload: typeof RunSearchPayloadSchema;
1252
+ InteractionExecutionPayload: typeof InteractionExecutionPayloadSchema;
1253
+ NamedInteractionExecutionPayload: typeof NamedInteractionExecutionPayloadSchema;
1254
+ InteractionExecutionResult: typeof InteractionExecutionResultSchema;
1255
+ FindRunResult: typeof FindRunResultSchema;
1256
+ FindRunResultArray: typeof FindRunResultArraySchema;
1257
+ PopulatedExecutionRunResult: typeof PopulatedExecutionRunResultSchema;
1258
+ LegacyExecutionRunResult: typeof LegacyExecutionRunResultSchema;
1259
+ LegacyPopulatedExecutionRunResult: typeof LegacyPopulatedExecutionRunResultSchema;
1260
+ InteractionExecutionConfiguration: typeof InteractionExecutionConfigurationSchema;
1261
+ InteractionExecutionError: typeof InteractionExecutionErrorSchema;
1262
+ ResultStorageOptions: typeof ResultStorageOptionsSchema;
1263
+ ExecuteInteractionByEndpointQuery: typeof ExecuteInteractionByEndpointQuerySchema;
1264
+ ExecuteInteractionByEndpointHeaders: typeof ExecuteInteractionByEndpointHeadersSchema;
1265
+ AsyncCompletionMode: typeof AsyncCompletionModeSchema;
1266
+ AsyncCompletionOptions: typeof AsyncCompletionOptionsSchema;
1267
+ AsyncExecutionPayload: typeof AsyncExecutionPayloadSchema;
1268
+ AsyncInteractionExecutionPayload: typeof AsyncInteractionExecutionPayloadSchema;
1269
+ AsyncConversationExecutionPayload: typeof AsyncConversationExecutionPayloadSchema;
1270
+ AsyncExecutionResult: typeof AsyncExecutionResultSchema;
1271
+ RateLimitRequestPayload: typeof RateLimitRequestPayloadSchema;
1272
+ RateLimitRequestResponse: typeof RateLimitRequestResponseSchema;
1273
+ ComputeRunFacetPayload: typeof ComputeRunFacetPayloadSchema;
1274
+ ComputeRunFacetsResponse: typeof ComputeRunFacetsResponseSchema;
1275
+ RunSearchMetaResponse: typeof RunSearchMetaResponseSchema;
1276
+ ToolResultsPayload: typeof ToolResultsPayloadSchema;
1277
+ UserMessagePayload: typeof UserMessagePayloadSchema;
1278
+ ExecutionResponse: typeof ExecutionResponseSchema;
1279
+ RunClonePayload: typeof RunClonePayloadSchema;
1280
+ };
1281
+
1282
+ const EXECUTION_RUN_SCHEMAS: ExecutionRunSchemaMap = {
1203
1283
  // A run: what was executed, by whom, and how it ended.
1204
1284
  ExecutionRunStatus: ExecutionRunStatusSchema,
1205
1285
  RunSourceTypes: RunSourceTypesSchema,
@@ -1476,7 +1556,24 @@ const INDEXING_SCHEMAS = {
1476
1556
 
1477
1557
  const EMBEDDING_ADMIN_SCHEMAS = {
1478
1558
  EmbeddingsStatusResponse: EmbeddingsStatusResponseSchema,
1559
+ RecalculateEmbeddingsQuery: RecalculateEmbeddingsQuerySchema,
1479
1560
  ProjectConfigurationEmbeddingEnablePayload: ProjectConfigurationEmbeddingEnablePayloadSchema,
1561
+ EmbeddingBatchProviderState: EmbeddingBatchProviderStateSchema,
1562
+ EmbeddingBatchCapabilityRequest: EmbeddingBatchCapabilityRequestSchema,
1563
+ EmbeddingBatchCapabilityResponse: EmbeddingBatchCapabilityResponseSchema,
1564
+ EmbeddingBatchCreateRequest: EmbeddingBatchCreateRequestSchema,
1565
+ EmbeddingBatchJobRequest: EmbeddingBatchJobRequestSchema,
1566
+ EmbeddingBatchJobResponse: EmbeddingBatchJobResponseSchema,
1567
+ EmbeddingBatchRunState: EmbeddingBatchRunStateSchema,
1568
+ EmbeddingBatchRunSummary: EmbeddingBatchRunSummarySchema,
1569
+ EmbeddingBatchSubjob: EmbeddingBatchSubjobSchema,
1570
+ EmbeddingBatchPrepareRequest: EmbeddingBatchPrepareRequestSchema,
1571
+ EmbeddingBatchPrepareResponse: EmbeddingBatchPrepareResponseSchema,
1572
+ EmbeddingBatchRenditionPageRequest: EmbeddingBatchRenditionPageRequestSchema,
1573
+ EmbeddingBatchRenditionPageResponse: EmbeddingBatchRenditionPageResponseSchema,
1574
+ EmbeddingBatchUpdateRequest: EmbeddingBatchUpdateRequestSchema,
1575
+ EmbeddingBatchApplyRequest: EmbeddingBatchApplyRequestSchema,
1576
+ EmbeddingBatchApplyResponse: EmbeddingBatchApplyResponseSchema,
1480
1577
  } as const satisfies Record<string, z.ZodType>;
1481
1578
 
1482
1579
  const COMMAND_SCHEMAS = {
@@ -2049,6 +2146,7 @@ const VIEW_EXPERIENCE_SCHEMAS = {
2049
2146
  const APP_LIFECYCLE_SCHEMAS = {
2050
2147
  // What an app does once it exists: versions, builds, scaffolds, git repositories,
2051
2148
  // development tasks, installations and inspection.
2149
+ UpdateAppInstallationOAuthApprovalPayload: UpdateAppInstallationOAuthApprovalPayloadSchema,
2052
2150
  UpdateAppInstallationToolAllowlistPayload: UpdateAppInstallationToolAllowlistPayloadSchema,
2053
2151
  ValidateUrlResponse: ValidateUrlResponseSchema,
2054
2152
  ValidateUrlRequest: ValidateUrlRequestSchema,
@@ -2246,6 +2344,8 @@ const STS_SCHEMAS = {
2246
2344
  EnvironmentTokenRequest: StsSchemas.EnvironmentTokenRequestSchema,
2247
2345
  AgentTokenRequest: StsSchemas.AgentTokenRequestSchema,
2248
2346
  ServiceAccountTokenRequest: StsSchemas.ServiceAccountTokenRequestSchema,
2347
+ AppSessionTokenRequest: StsSchemas.AppSessionTokenRequestSchema,
2348
+ AppSessionTokenResponse: StsSchemas.AppSessionTokenResponseSchema,
2249
2349
  IssueTokenRequest: StsSchemas.IssueTokenRequestSchema,
2250
2350
  IssueTokenResponse: StsSchemas.IssueTokenResponseSchema,
2251
2351
  IssueTokenForbiddenResponse: StsSchemas.IssueTokenForbiddenResponseSchema,
@@ -2466,6 +2566,8 @@ const STRICT_COMPONENTS: ReadonlySet<string> = new Set<string>([
2466
2566
  'EnvironmentTokenRequest',
2467
2567
  'AgentTokenRequest',
2468
2568
  'ServiceAccountTokenRequest',
2569
+ 'AppSessionTokenRequest',
2570
+ 'AppSessionTokenResponse',
2469
2571
  'IssueTokenResponse',
2470
2572
  'IssueTokenForbiddenResponse',
2471
2573
  'IssueTokenUnavailableResponse',
@@ -2481,7 +2583,7 @@ const STRICT_COMPONENTS: ReadonlySet<string> = new Set<string>([
2481
2583
  'QuotaStandingWindow',
2482
2584
  'QuotaStandingAdmissionClass',
2483
2585
  'QuotaTierResponse',
2484
- // The IAM closure. PrincipalContext is composed into PrincipalIdentity rather than hoisted,
2586
+ // The IAM closure. AbacPrincipalContext is composed into PrincipalIdentity rather than hoisted,
2485
2587
  // so it has no component of its own to list.
2486
2588
  'User',
2487
2589
  'UpdateUserPayload',
@@ -2604,34 +2706,12 @@ const STRICT_COMPONENTS: ReadonlySet<string> = new Set<string>([
2604
2706
  //
2605
2707
  // `JSONSchema` is deliberately absent: it is OPEN by design and by long-standing publication —
2606
2708
  // a JSON Schema carries keywords the type never enumerated. `JSONSchemaProperties` is a map.
2607
- 'TextFallbackOptions',
2608
- 'AzureFoundryChatOptions',
2609
- 'ImagenOptions',
2610
- 'VertexAIClaudeOptions',
2611
- 'VertexAIGeminiOptions',
2612
- 'VertexAIGeminiOmniVideoOptions',
2613
- 'VertexAIGrokOptions',
2614
- 'NovaCanvasOptions',
2615
- 'BedrockConverseOptions',
2616
- 'BedrockNovaOptions',
2617
- 'BedrockMistralOptions',
2618
- 'BedrockAI21Options',
2619
- 'BedrockCohereCommandOptions',
2620
- 'BedrockClaudeOptions',
2621
- 'BedrockPalmyraOptions',
2622
- 'BedrockGptOssOptions',
2623
- 'TwelvelabsPegasusOptions',
2624
- 'BedrockMantleResponsesOptions',
2625
- 'BedrockMantleChatCompletionsOptions',
2626
- 'BedrockMantleClaudeOptions',
2627
- 'OpenAiThinkingOptions',
2628
- 'OpenAiTextOptions',
2629
- 'OpenRouterTextOptions',
2630
- 'OpenAiDalleOptions',
2631
- 'OpenAiGptImageOptions',
2632
- 'XAIGrokImageOptions',
2633
- 'GroqOptions',
2634
- 'MistralTextOptions',
2709
+ // Derive membership so new provider schemas inherit this enforcement check automatically.
2710
+ ...ModelOptionsSchema.options.map((schema) => {
2711
+ const id = schema.meta()?.id;
2712
+ if (!id) throw new Error('Model option schemas must declare a component id');
2713
+ return id;
2714
+ }),
2635
2715
  // The app-manifest leaves. Every object among them is published closed today, the nested `git`
2636
2716
  // block included, and it is spelled `strictObject` so the emission carries it directly. The five
2637
2717
  // enums take no `additionalProperties` at all.
@@ -2799,6 +2879,8 @@ const STRICT_COMPONENTS: ReadonlySet<string> = new Set<string>([
2799
2879
  'DriftAnalysisResult',
2800
2880
  'DriftAnalysisProgress',
2801
2881
  'EmbeddingsStatusResponse',
2882
+ 'EmbeddingBatchRunSummary',
2883
+ 'RecalculateEmbeddingsQuery',
2802
2884
  'ProjectConfigurationEmbeddingEnablePayload',
2803
2885
  'GenericCommandResponse',
2804
2886
  'DriftAnalysisStatusResponse',
@@ -3040,6 +3122,10 @@ const STRICT_COMPONENTS: ReadonlySet<string> = new Set<string>([
3040
3122
  'OAuthAuthorizeQuery',
3041
3123
  'CreateOAuthAuthorizationRequestPayload',
3042
3124
  'OAuthAuthorizationRequest',
3125
+ 'OAuthAuthorizationRequestGeneratedApp',
3126
+ 'OAuthLoginPayload',
3127
+ 'OAuthLoginUserNotFoundResponse',
3128
+ 'OAuthLoginDecisionResponse',
3043
3129
  'ApproveOAuthAuthorizationRequestPayload',
3044
3130
  'OAuthGrantableScopesResponse',
3045
3131
  'OAuthAuthorizationDecisionResponse',
@@ -3280,6 +3366,7 @@ const STRICT_COMPONENTS: ReadonlySet<string> = new Set<string>([
3280
3366
  'AuditTrailQuery',
3281
3367
  'ViewExperienceListQuery',
3282
3368
  'UpdateAppInstallationToolAllowlistPayload',
3369
+ 'UpdateAppInstallationOAuthApprovalPayload',
3283
3370
  'ValidateUrlResponse',
3284
3371
  'ValidateUrlRequest',
3285
3372
  'AppVersionUrls',
@@ -3438,8 +3525,25 @@ const STRICT_COMPONENTS: ReadonlySet<string> = new Set<string>([
3438
3525
  * divergence. Note that `.refine()` is silently DROPPED rather than rejected, so refinements must
3439
3526
  * not be used to express contract rules — they would be invisible to both the spec and AJV.
3440
3527
  */
3528
+ function emitSchema(name: string, schema: z.ZodType): unknown {
3529
+ const emitted = emitJsonSchema(schema) as Record<string, unknown>;
3530
+ const rootRef = emitted.$ref;
3531
+ const defs = emitted.$defs;
3532
+ const expectedRef = `#/$defs/${name}`;
3533
+ if (rootRef !== expectedRef || !defs || typeof defs !== 'object' || Array.isArray(defs)) return emitted;
3534
+
3535
+ const root = (defs as Record<string, unknown>)[name];
3536
+ if (!root || typeof root !== 'object' || Array.isArray(root)) return emitted;
3537
+ const remainingDefs = Object.fromEntries(
3538
+ Object.entries(defs as Record<string, unknown>).filter(([id]) => id !== name),
3539
+ );
3540
+ return Object.keys(remainingDefs).length === 0
3541
+ ? root
3542
+ : { ...(root as Record<string, unknown>), $defs: remainingDefs };
3543
+ }
3544
+
3441
3545
  function emitRawSchemas(): Record<string, unknown> {
3442
- return Object.fromEntries(Object.entries(API_SCHEMAS).map(([name, schema]) => [name, emitJsonSchema(schema)]));
3546
+ return Object.fromEntries(Object.entries(API_SCHEMAS).map(([name, schema]) => [name, emitSchema(name, schema)]));
3443
3547
  }
3444
3548
 
3445
3549
  /**
@@ -263,8 +263,8 @@ describe('runtime tightenings — recorded as operation 25 of the 1.5 runbook',
263
263
 
264
264
  it('validates model_options against the union instead of accepting any object', () => {
265
265
  // Same class: `model_options` was `{type: object, additionalProperties: true}` in the
266
- // hand-written schema and `$ref: ModelOptions` in the published component. It now has to name
267
- // a driver through `_option_id`, which is the discriminator generated clients already use.
266
+ // hand-written schema and `$ref: ModelOptions` in the published component. The family hint
267
+ // is optional, but known field types and supplied IDs remain validated.
268
268
  expect(ApiSchemaComponents.ContentTypeIntakePolicy).toBeDefined();
269
269
  expect(
270
270
  validate({
@@ -272,11 +272,11 @@ describe('runtime tightenings — recorded as operation 25 of the 1.5 runbook',
272
272
  }),
273
273
  errors(),
274
274
  ).toBe(true);
275
- expect(validate({ extraction: { config: { model_options: { temperature: 0.5 } } } })).toBe(false);
275
+ expect(validate({ extraction: { config: { model_options: { temperature: 0.5 } } } })).toBe(true);
276
276
  expect(validate({ extraction: { config: { model_options: { _option_id: 'not-a-driver' } } } })).toBe(false);
277
- // The empty object is rejected for the same reason, which is why nothing may PUT it on the
278
- // wire — see `normalizeModelOptions`, which drops an options bag with no options in it.
279
- expect(validate({ extraction: { config: { model_options: {} } } })).toBe(false);
277
+ expect(validate({ extraction: { config: { model_options: {} } } })).toBe(true);
278
+ expect(validate({ extraction: { config: { model_options: { temperature: 'hot' } } } })).toBe(false);
279
+ expect(validate({ extraction: { config: { model_options: { unknown_option: true } } } })).toBe(false);
280
280
  });
281
281
 
282
282
  it('constrains the two config enums that were unconstrained strings', () => {
@@ -124,3 +124,19 @@ export const IssueTokenForbiddenResponseSchema = z
124
124
  export const IssueTokenUnavailableResponseSchema = z
125
125
  .strictObject({ error: z.string(), message: z.string() })
126
126
  .meta({ id: 'IssueTokenUnavailableResponse' });
127
+
128
+ export const AppSessionTokenRequestSchema = z
129
+ .strictObject({
130
+ app_name: z.string().min(1),
131
+ scopes: z.array(z.string()).optional(),
132
+ ttl_seconds: z.number().int().min(1).max(900).optional(),
133
+ })
134
+ .meta({ id: 'AppSessionTokenRequest' });
135
+
136
+ export const AppSessionTokenResponseSchema = z
137
+ .strictObject({
138
+ token: z.string(),
139
+ token_type: z.literal('Bearer'),
140
+ expires_in: z.number().int(),
141
+ })
142
+ .meta({ id: 'AppSessionTokenResponse' });
@@ -1,10 +1,10 @@
1
1
  import { Ajv2020 } from 'ajv/dist/2020.js';
2
2
  import { describe, expect, it } from 'vitest';
3
- import type { PrincipalContext, PrincipalIdentity } from '../principal-context.js';
3
+ import type { AbacPrincipalContext, PrincipalIdentity } from '../principal-context.js';
4
4
  import type { UpdateUserPayload, User } from '../user.js';
5
5
  import type { JsonObject } from './adapter.js';
6
6
  import { ApiSchemaComponents, apiComponentRef, validateApiRequest, validateApiResponse } from './registry.js';
7
- import type { PrincipalContextFromSchema, UserArrayFromSchema } from './user.js';
7
+ import type { AbacPrincipalContextFromSchema, UserArrayFromSchema } from './user.js';
8
8
 
9
9
  /** Exact type identity — `extends` in both directions is too weak (any/unknown slip through). */
10
10
  type Equals<A, B> = (<T>() => T extends A ? 1 : 2) extends <T>() => T extends B ? 1 : 2 ? true : false;
@@ -27,19 +27,23 @@ const VALID_USER = {
27
27
  describe('gate 1 — the schema is the single source of truth for the public IAM types', () => {
28
28
  it('publishes the exact schema-derived type, not a hand-written twin', () => {
29
29
  assertType<Equals<UserArrayFromSchema, User[]>>(true);
30
- assertType<Equals<PrincipalContext, PrincipalContextFromSchema>>(true);
30
+ assertType<Equals<AbacPrincipalContext, AbacPrincipalContextFromSchema>>(true);
31
31
  expect(true).toBe(true);
32
32
  });
33
33
 
34
- it('derives the inherited principal fields rather than restating them', () => {
35
- // PrincipalIdentity used to `extends PrincipalContext`, so composing the schemas is what
36
- // keeps the five inherited fields from becoming a twin one level down — the failure mode
37
- // this batch was scoped to avoid.
38
- assertType<Equals<PrincipalIdentity['clearance'], PrincipalContext['clearance']>>(true);
39
- assertType<Equals<PrincipalIdentity['compartments'], PrincipalContext['compartments']>>(true);
40
- assertType<Equals<PrincipalIdentity['email'], PrincipalContext['email']>>(true);
41
- assertType<Equals<PrincipalIdentity['tags'], PrincipalContext['tags']>>(true);
42
- assertType<Equals<PrincipalIdentity['properties'], PrincipalContext['properties']>>(true);
34
+ it('derives the identity fields from the ABAC context rather than restating them', () => {
35
+ // PrincipalIdentity `extends AbacPrincipalContext`, so composing the schemas is what keeps
36
+ // the inherited fields from becoming a twin one level down — the failure mode this batch was
37
+ // scoped to avoid. `kind` and `id` are part of the ABAC context itself (resolvable as
38
+ // `$principal.*`), not identity-only metadata.
39
+ assertType<Equals<PrincipalIdentity['kind'], AbacPrincipalContext['kind']>>(true);
40
+ assertType<Equals<PrincipalIdentity['id'], AbacPrincipalContext['id']>>(true);
41
+ assertType<Equals<PrincipalIdentity['clearance'], AbacPrincipalContext['clearance']>>(true);
42
+ assertType<Equals<PrincipalIdentity['compartments'], AbacPrincipalContext['compartments']>>(true);
43
+ assertType<Equals<PrincipalIdentity['email'], AbacPrincipalContext['email']>>(true);
44
+ assertType<Equals<PrincipalIdentity['tags'], AbacPrincipalContext['tags']>>(true);
45
+ assertType<Equals<PrincipalIdentity['properties'], AbacPrincipalContext['properties']>>(true);
46
+ assertType<Equals<PrincipalIdentity['kind'], 'user' | 'apikey'>>(true);
43
47
  assertType<Equals<PrincipalIdentity['id'], string>>(true);
44
48
  expect(true).toBe(true);
45
49
  });
@@ -80,20 +84,22 @@ describe('gate 1 — the schema is the single source of truth for the public IAM
80
84
  });
81
85
 
82
86
  describe('gate 2 — the published components match the closure the types come from', () => {
83
- it('does not hoist PrincipalContext into a component of its own', () => {
87
+ it('does not hoist AbacPrincipalContext into a component of its own', () => {
84
88
  // It is a public TYPE but has never been a published component. Hoisting it would add a
85
89
  // $ref to PrincipalIdentity that every generated client would have to follow.
86
- expect(Object.keys(ApiSchemaComponents)).not.toContain('PrincipalContext');
90
+ expect(Object.keys(ApiSchemaComponents)).not.toContain('AbacPrincipalContext');
87
91
  const props = ApiSchemaComponents.PrincipalIdentity.properties as Record<string, JsonObject>;
92
+ expect(props.kind).toEqual({ type: 'string', enum: ['user', 'apikey'] });
88
93
  expect(props.clearance).toEqual({ type: 'number' });
89
94
  expect(props.id).toEqual({ type: 'string' });
90
95
  });
91
96
 
92
- it('publishes the composed property order, id last', () => {
93
- // `.extend()` appends, which is what `interface … extends …` produced and what the document
94
- // already carries.
97
+ it('publishes the composed property order — kind and id first', () => {
98
+ // `AbacPrincipalContext` lists its discriminators (kind, id) ahead of the merged BLP
99
+ // attributes; PrincipalIdentity `.extend({})`s it, adding nothing, so the order is the
100
+ // context's own.
95
101
  const props = ApiSchemaComponents.PrincipalIdentity.properties as JsonObject;
96
- expect(Object.keys(props)).toEqual(['clearance', 'compartments', 'email', 'tags', 'properties', 'id']);
102
+ expect(Object.keys(props)).toEqual(['kind', 'id', 'clearance', 'compartments', 'email', 'tags', 'properties']);
97
103
  });
98
104
 
99
105
  it('declares the timestamps the endpoint has always shipped', () => {
@@ -9,15 +9,22 @@ import { z } from 'zod';
9
9
  */
10
10
 
11
11
  /**
12
- * Not hoisted: no `id` in `.meta()`, so the adapter inlines it into `PrincipalIdentity` instead of
13
- * emitting a `PrincipalContext` component and a `$ref` the document has never published.
12
+ * The full principal context resolved at token-issue time — every field a rule can reference through
13
+ * `$principal.*`: the principal `kind`, its `id`, and the merged BLP attributes. This is the single
14
+ * source of truth the token server mirrors into the JWT, the shared `buildPrincipalContext`
15
+ * produces, and the UI condition editor offers. `kind` and `id` are first-class members here, not
16
+ * identity-only metadata: they are resolvable in ResourceSet/PrincipalSet conditions, so hiding them
17
+ * (as an earlier split of this schema did) under-declared what the server actually matches against.
14
18
  *
15
- * It still exists as a schema rather than being spelled out inside `PrincipalIdentitySchema`,
16
- * because `PrincipalContext` is a public type in its own right — consumed by PrincipalSet condition
17
- * evaluation and client-side ABAC tooling. Composing the two is what keeps the five inherited fields
18
- * from becoming a hand-written twin of the schema that publishes them.
19
+ * Not hoisted: no `id` in `.meta()`, so the adapter inlines it into `PrincipalIdentity` instead of
20
+ * emitting an `AbacPrincipalContext` component and a `$ref` the document has never published. It
21
+ * still exists as a schema in its own right because it is a public type composed into
22
+ * `PrincipalIdentitySchema` — composing is what keeps the shared fields from becoming a hand-written
23
+ * twin of the schema that publishes them.
19
24
  */
20
- export const PrincipalContextSchema = z.object({
25
+ export const AbacPrincipalContextSchema = z.object({
26
+ kind: z.enum(['user', 'apikey']),
27
+ id: z.string(),
21
28
  clearance: z.number(),
22
29
  compartments: z.array(z.string()),
23
30
  email: z.string().optional(),
@@ -26,19 +33,18 @@ export const PrincipalContextSchema = z.object({
26
33
  });
27
34
 
28
35
  /**
29
- * `.extend()` rather than a fresh object literal: it appends `id` after the inherited five, which is
30
- * both what `interface PrincipalIdentity extends PrincipalContext` produced and the property order
31
- * the document already publishes.
36
+ * Response shape of the `/iam/users/identity` endpoint. Extends {@link AbacPrincipalContextSchema}
37
+ * adding nothing today: the two are kept as distinct names so identity-only fields — ones that must
38
+ * NOT become resolvable as `$principal.*` — can be added here later without widening the ABAC
39
+ * surface. Invariant: the ABAC principal context is always a subset of the identity. At this
40
+ * endpoint `kind` is always `user`.
32
41
  */
33
- export const PrincipalIdentitySchema = PrincipalContextSchema.extend({
34
- id: z.string(),
35
- }).meta({
42
+ export const PrincipalIdentitySchema = AbacPrincipalContextSchema.extend({}).meta({
36
43
  id: 'PrincipalIdentity',
37
44
  description:
38
- "Response shape of the `/iam/users/identity` endpoint: the current principal's {@link " +
39
- 'PrincipalContext } plus its id. Distinct from `PrincipalContext` itself because the id is ' +
40
- 'identity metadata, not a merged BLP field — adding it to `PrincipalContext` would ' +
41
- 'unintentionally expose `$principal.id` to PrincipalSet rule evaluation.',
45
+ "Response shape of the `/iam/users/identity` endpoint: the current principal's full ABAC " +
46
+ 'context — its `kind` (always `user` here), `id`, and the merged BLP attributes a rule can ' +
47
+ 'reference through `$principal.*`.',
42
48
  });
43
49
 
44
50
  /**
@@ -194,7 +200,7 @@ export const SignupPayloadSchema = z
194
200
  * The public IAM types, inferred rather than written. `../principal-context.ts`, `../user.ts` and
195
201
  * `../common.ts` re-export these under their public names.
196
202
  */
197
- export type PrincipalContextFromSchema = z.infer<typeof PrincipalContextSchema>;
203
+ export type AbacPrincipalContextFromSchema = z.infer<typeof AbacPrincipalContextSchema>;
198
204
  export type PrincipalIdentityFromSchema = z.infer<typeof PrincipalIdentitySchema>;
199
205
  export type UserFromSchema = z.infer<typeof UserSchema>;
200
206
  export type UserArrayFromSchema = z.infer<typeof UserArraySchema>;
@@ -70,19 +70,12 @@ describe('ViewExperienceConfiguration', () => {
70
70
  ).toBe(false);
71
71
  });
72
72
 
73
- it('accepts View model options that name no driver, while the shared config still requires one', () => {
74
- // The regression: a View's `model_options` are authored in the editor and saved before any
75
- // driver is resolved, so they carry no `_option_id`. Validating them against the
76
- // `ModelOptions` driver union — every branch of which requires that discriminator — meant a
77
- // stored View could not satisfy its own response schema, and `GET /views` logged a contract
78
- // violation on every call.
73
+ it('accepts untagged View options and preserves the shared options schema reference', () => {
74
+ // View options and shared model options both permit an omitted family ID.
79
75
  const authored = { model_options: { temperature: 0.2, max_tokens: 1024 } };
80
76
  expect(validateApiResponse('ViewAgenticExecutionConfiguration', authored).valid).toBe(true);
81
77
 
82
- // The split is the point: agent runs, events and workflow runs record options a driver
83
- // already resolved, so the shared component keeps the union. Asserted on the published
84
- // schema because `InteractionExecutionConfiguration` is not itself a response slot — if it
85
- // ever stops pointing at `ModelOptions`, the relaxation leaked out of Views.
78
+ // Keep the shared component wired to the canonical options contract.
86
79
  const modelOptions = (name: string) =>
87
80
  (ApiSchemaComponents[name] as { properties: Record<string, unknown> }).properties.model_options;
88
81
  expect(modelOptions('InteractionExecutionConfiguration')).toEqual({
package/src/apps.ts CHANGED
@@ -51,6 +51,7 @@ import type {
51
51
  StartAppDevelopmentTaskRequestSchema,
52
52
  StartAppScaffoldRequestSchema,
53
53
  StartAppScaffoldResponseSchema,
54
+ UpdateAppInstallationOAuthApprovalPayloadSchema,
54
55
  UpdateAppInstallationToolAllowlistPayloadSchema,
55
56
  UpsertAppVersionRequestSchema,
56
57
  ValidateUrlRequestSchema,
@@ -752,3 +753,5 @@ export type ValidateUrlResponse = z.infer<typeof ValidateUrlResponseSchema>;
752
753
  * already deleted. Deriving the type is what keeps the two from drifting again.
753
754
  */
754
755
  export type AppDeleteSummary = z.infer<typeof AppDeleteSummarySchema>;
756
+
757
+ export type UpdateAppInstallationOAuthApprovalPayload = z.infer<typeof UpdateAppInstallationOAuthApprovalPayloadSchema>;
package/src/embeddings.ts CHANGED
@@ -1,6 +1,22 @@
1
1
  import type { EmbeddingsResult } from '@llumiverse/common';
2
2
  import type { z } from 'zod';
3
3
  import type {
4
+ EmbeddingBatchApplyRequestSchema,
5
+ EmbeddingBatchApplyResponseSchema,
6
+ EmbeddingBatchCapabilityRequestSchema,
7
+ EmbeddingBatchCapabilityResponseSchema,
8
+ EmbeddingBatchCreateRequestSchema,
9
+ EmbeddingBatchJobRequestSchema,
10
+ EmbeddingBatchJobResponseSchema,
11
+ EmbeddingBatchPrepareRequestSchema,
12
+ EmbeddingBatchPrepareResponseSchema,
13
+ EmbeddingBatchProviderStateSchema,
14
+ EmbeddingBatchRenditionPageRequestSchema,
15
+ EmbeddingBatchRenditionPageResponseSchema,
16
+ EmbeddingBatchRunStateSchema,
17
+ EmbeddingBatchRunSummarySchema,
18
+ EmbeddingBatchSubjobSchema,
19
+ EmbeddingBatchUpdateRequestSchema,
4
20
  EmbeddingsApiAudioInputSchema,
5
21
  EmbeddingsApiImageInputSchema,
6
22
  EmbeddingsApiInputSchema,
@@ -8,6 +24,7 @@ import type {
8
24
  EmbeddingsApiSourceSchema,
9
25
  EmbeddingsApiTextInputSchema,
10
26
  EmbeddingsApiVideoInputSchema,
27
+ RecalculateEmbeddingsQuerySchema,
11
28
  } from './api-schemas/embeddings.js';
12
29
 
13
30
  /**
@@ -36,3 +53,20 @@ export type EmbeddingsApiRequest = z.infer<typeof EmbeddingsApiRequestSchema>;
36
53
  * that prefer to consume types from @vertesia/common.
37
54
  */
38
55
  export type EmbeddingsApiResult = EmbeddingsResult;
56
+ export type RecalculateEmbeddingsQuery = z.infer<typeof RecalculateEmbeddingsQuerySchema>;
57
+ export type EmbeddingBatchCapabilityRequest = z.infer<typeof EmbeddingBatchCapabilityRequestSchema>;
58
+ export type EmbeddingBatchCapabilityResponse = z.infer<typeof EmbeddingBatchCapabilityResponseSchema>;
59
+ export type EmbeddingBatchCreateRequest = z.infer<typeof EmbeddingBatchCreateRequestSchema>;
60
+ export type EmbeddingBatchJobRequest = z.infer<typeof EmbeddingBatchJobRequestSchema>;
61
+ export type EmbeddingBatchJobResponse = z.infer<typeof EmbeddingBatchJobResponseSchema>;
62
+ export type EmbeddingBatchProviderState = z.infer<typeof EmbeddingBatchProviderStateSchema>;
63
+ export type EmbeddingBatchRunState = z.infer<typeof EmbeddingBatchRunStateSchema>;
64
+ export type EmbeddingBatchRunSummary = z.infer<typeof EmbeddingBatchRunSummarySchema>;
65
+ export type EmbeddingBatchSubjob = z.infer<typeof EmbeddingBatchSubjobSchema>;
66
+ export type EmbeddingBatchPrepareRequest = z.infer<typeof EmbeddingBatchPrepareRequestSchema>;
67
+ export type EmbeddingBatchPrepareResponse = z.infer<typeof EmbeddingBatchPrepareResponseSchema>;
68
+ export type EmbeddingBatchRenditionPageRequest = z.infer<typeof EmbeddingBatchRenditionPageRequestSchema>;
69
+ export type EmbeddingBatchRenditionPageResponse = z.infer<typeof EmbeddingBatchRenditionPageResponseSchema>;
70
+ export type EmbeddingBatchUpdateRequest = z.infer<typeof EmbeddingBatchUpdateRequestSchema>;
71
+ export type EmbeddingBatchApplyRequest = z.infer<typeof EmbeddingBatchApplyRequestSchema>;
72
+ export type EmbeddingBatchApplyResponse = z.infer<typeof EmbeddingBatchApplyResponseSchema>;