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

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 (84) hide show
  1. package/lib/api-contract/components.generated.json +572 -403
  2. package/lib/api-contract/engine.d.ts +65 -0
  3. package/lib/api-contract/engine.d.ts.map +1 -0
  4. package/lib/api-contract/engine.js +572 -0
  5. package/lib/api-contract/engine.js.map +1 -0
  6. package/lib/api-contract/index.d.ts +22 -183
  7. package/lib/api-contract/index.d.ts.map +1 -1
  8. package/lib/api-contract/index.js +13 -551
  9. package/lib/api-contract/index.js.map +1 -1
  10. package/lib/api-contract/types.d.ts +70 -0
  11. package/lib/api-contract/types.d.ts.map +1 -0
  12. package/lib/api-contract/types.js +2 -0
  13. package/lib/api-contract/types.js.map +1 -0
  14. package/lib/api-schemas/account.d.ts +0 -5
  15. package/lib/api-schemas/account.d.ts.map +1 -1
  16. package/lib/api-schemas/account.js +0 -7
  17. package/lib/api-schemas/account.js.map +1 -1
  18. package/lib/api-schemas/audit-trail.d.ts +255 -0
  19. package/lib/api-schemas/audit-trail.d.ts.map +1 -1
  20. package/lib/api-schemas/audit-trail.js +150 -1
  21. package/lib/api-schemas/audit-trail.js.map +1 -1
  22. package/lib/api-schemas/cost-analytics.d.ts +1 -0
  23. package/lib/api-schemas/cost-analytics.d.ts.map +1 -1
  24. package/lib/api-schemas/cost-analytics.js +7 -0
  25. package/lib/api-schemas/cost-analytics.js.map +1 -1
  26. package/lib/api-schemas/group.d.ts +2 -0
  27. package/lib/api-schemas/group.d.ts.map +1 -1
  28. package/lib/api-schemas/group.js +5 -0
  29. package/lib/api-schemas/group.js.map +1 -1
  30. package/lib/api-schemas/index.d.ts +1 -0
  31. package/lib/api-schemas/index.d.ts.map +1 -1
  32. package/lib/api-schemas/index.js +1 -0
  33. package/lib/api-schemas/index.js.map +1 -1
  34. package/lib/api-schemas/registry.d.ts +270 -186
  35. package/lib/api-schemas/registry.d.ts.map +1 -1
  36. package/lib/api-schemas/registry.js +26 -29
  37. package/lib/api-schemas/registry.js.map +1 -1
  38. package/lib/api-schemas/run-budget.d.ts +0 -36
  39. package/lib/api-schemas/run-budget.d.ts.map +1 -1
  40. package/lib/api-schemas/run-budget.js +0 -33
  41. package/lib/api-schemas/run-budget.js.map +1 -1
  42. package/lib/api-schemas/secrets.d.ts +0 -71
  43. package/lib/api-schemas/secrets.d.ts.map +1 -1
  44. package/lib/api-schemas/secrets.js +0 -73
  45. package/lib/api-schemas/secrets.js.map +1 -1
  46. package/lib/audit-trail.d.ts +14 -2
  47. package/lib/audit-trail.d.ts.map +1 -1
  48. package/lib/audit-trail.js +4 -0
  49. package/lib/audit-trail.js.map +1 -1
  50. package/lib/index.d.ts +1 -1
  51. package/lib/index.d.ts.map +1 -1
  52. package/lib/index.js.map +1 -1
  53. package/lib/platform-event.d.ts +0 -20
  54. package/lib/platform-event.d.ts.map +1 -1
  55. package/lib/run-budget.d.ts +0 -4
  56. package/lib/run-budget.d.ts.map +1 -1
  57. package/lib/secrets.d.ts +0 -10
  58. package/lib/secrets.d.ts.map +1 -1
  59. package/lib/user.d.ts +0 -1
  60. package/lib/user.d.ts.map +1 -1
  61. package/lib/vertesia-common.js +1 -1
  62. package/lib/vertesia-common.js.map +1 -1
  63. package/lib/wire-types.generated.d.ts +102 -105
  64. package/lib/wire-types.generated.d.ts.map +1 -1
  65. package/package.json +6 -6
  66. package/src/api-contract/components.generated.json +572 -403
  67. package/src/api-contract/engine.ts +644 -0
  68. package/src/api-contract/index.ts +32 -663
  69. package/src/api-contract/types.ts +108 -0
  70. package/src/api-schemas/account.ts +0 -8
  71. package/src/api-schemas/audit-trail.ts +169 -1
  72. package/src/api-schemas/cost-analytics.ts +8 -0
  73. package/src/api-schemas/group.ts +5 -0
  74. package/src/api-schemas/index.ts +1 -0
  75. package/src/api-schemas/registry.ts +41 -139
  76. package/src/api-schemas/run-budget.ts +0 -37
  77. package/src/api-schemas/secrets.ts +0 -84
  78. package/src/audit-trail.ts +17 -0
  79. package/src/index.ts +0 -4
  80. package/src/platform-event.ts +0 -25
  81. package/src/run-budget.ts +0 -4
  82. package/src/secrets.ts +0 -11
  83. package/src/user.ts +0 -2
  84. package/src/wire-types.generated.ts +103 -103
@@ -0,0 +1,108 @@
1
+ import type {
2
+ CreateEventSubscriptionPayload,
3
+ EventDeliveryTarget,
4
+ EventDeliveryTargetInput,
5
+ EventSubscription,
6
+ EventSubscriptionMutationResponse,
7
+ ProcessEventDeliveryTarget,
8
+ UpdateEventSubscriptionPayload,
9
+ } from '../platform-event.js';
10
+ import type {
11
+ AgentRunInternals,
12
+ AgentRunResponse,
13
+ BindRunWorkflowPayload,
14
+ ListAgentRunsResponse,
15
+ ProgrammaticRunResponse,
16
+ RecordRunPayload,
17
+ SupervisedRunResponse,
18
+ UpdateAgentRunStatusPayload,
19
+ } from '../store/agent-run.js';
20
+ import type * as DSLWorkflowTypes from '../store/dsl-workflow.js';
21
+ import type {
22
+ DSLChildWorkflowStep,
23
+ DSLWorkflowDefinition,
24
+ DSLWorkflowDefinitionResponse,
25
+ DSLWorkflowSpec,
26
+ DSLWorkflowSpecWithSteps,
27
+ DSLWorkflowStep,
28
+ } from '../store/dsl-workflow.js';
29
+ import type {
30
+ BranchNodeBranchDefinition,
31
+ CreateProcessDefinitionPayload,
32
+ NodeDefinition,
33
+ ProcessDefinition,
34
+ ProcessDefinitionBody,
35
+ UpdateProcessDefinitionPayload,
36
+ } from '../store/process.js';
37
+ import type { ViewNavigationNode } from '../views.js';
38
+ import type { ApiComponentTypes } from '../wire-types.generated.js';
39
+
40
+ export type ApiComponentName = keyof ApiComponentTypes;
41
+
42
+ /**
43
+ * Explicit TypeScript recursion boundary for schemas whose runtime graph is lazy.
44
+ *
45
+ * Zod cannot infer a finite named type through a mutually-recursive graph. The schemas remain the
46
+ * runtime and OpenAPI authority; these names preserve the recursive TypeScript declarations until
47
+ * TypeScript can infer recursive aliases without collapsing them to `unknown`.
48
+ */
49
+ interface ZenoRecursiveComponentTypes {
50
+ ViewNavigationNode: ViewNavigationNode;
51
+ AgentRunResponse: AgentRunResponse;
52
+ AgentRunInternals: AgentRunInternals;
53
+ BindRunWorkflowPayload: BindRunWorkflowPayload;
54
+ BranchNodeBranchDefinition: BranchNodeBranchDefinition;
55
+ CreateEventSubscriptionPayload: CreateEventSubscriptionPayload;
56
+ CreateProcessDefinitionPayload: CreateProcessDefinitionPayload;
57
+ DSLChildWorkflowStep: DSLChildWorkflowStep;
58
+ DSLWorkflowDefinition: DSLWorkflowDefinition;
59
+ DSLWorkflowDefinitionResponse: DSLWorkflowDefinitionResponse;
60
+ DSLWorkflowSpec: DSLWorkflowSpec;
61
+ DSLWorkflowSpecWithActivities: DSLWorkflowTypes.DSLWorkflowSpecWithActivities;
62
+ DSLWorkflowSpecWithSteps: DSLWorkflowSpecWithSteps;
63
+ DSLWorkflowStep: DSLWorkflowStep;
64
+ EventDeliveryTarget: EventDeliveryTarget;
65
+ EventDeliveryTargetInput: EventDeliveryTargetInput;
66
+ EventSubscription: EventSubscription;
67
+ EventSubscriptionArray: EventSubscription[];
68
+ EventSubscriptionMutationResponse: EventSubscriptionMutationResponse;
69
+ ListAgentRunsResponse: ListAgentRunsResponse;
70
+ NodeDefinition: NodeDefinition;
71
+ NodeDefinitionMap: Record<string, NodeDefinition>;
72
+ ProcessDefinition: ProcessDefinition;
73
+ ProcessDefinitionArray: ProcessDefinition[];
74
+ ProcessDefinitionBody: ProcessDefinitionBody;
75
+ ProcessEventDeliveryTarget: ProcessEventDeliveryTarget;
76
+ ProgrammaticRunResponse: ProgrammaticRunResponse;
77
+ RecordRunPayload: RecordRunPayload;
78
+ SupervisedRunResponse: SupervisedRunResponse;
79
+ UpdateAgentRunStatusPayload: UpdateAgentRunStatusPayload;
80
+ UpdateEventSubscriptionPayload: UpdateEventSubscriptionPayload;
81
+ UpdateProcessDefinitionPayload: UpdateProcessDefinitionPayload;
82
+ WorkflowDefinitionPayload: DSLWorkflowTypes.WorkflowDefinitionPayload;
83
+ WorkflowDefinitionPayloadWithActivities: DSLWorkflowTypes.WorkflowDefinitionPayloadWithActivities;
84
+ WorkflowDefinitionPayloadWithSteps: DSLWorkflowTypes.WorkflowDefinitionPayloadWithSteps;
85
+ }
86
+
87
+ /**
88
+ * The wire type a component publishes.
89
+ *
90
+ * `ApiComponentType<'Account'>` is the plain type `gen:schemas` writes for `AccountSchema` into
91
+ * `ApiComponentTypes`, which `wire-types.generated.test.ts` proves identical to its `z.infer`. Indexing
92
+ * that map rather than `z.infer<ApiSchemaMap[N]>` keeps Zod's inference out of every program that names
93
+ * a component. A component the generator has not seen yet resolves to `never`, which
94
+ * `registry-groups.test.ts` rejects.
95
+ *
96
+ * It is wrapped in `NoInfer` because `N` always comes from a component-name argument and can never be
97
+ * recovered from the wire type. Without it, a call whose result has a contextual type — a destructuring
98
+ * `const { file } = validatedQuery(ctx, 'FileMetadataQuery')`, an `await`, a typed `return` — makes the
99
+ * checker infer `N` from that context while `N` is still unresolved, which evaluates `z.infer` across
100
+ * every component in the registry: about 500k types, 1 GB and 2 s of `tsc` in each consuming program.
101
+ */
102
+ export type ApiComponentType<N extends ApiComponentName> = NoInfer<
103
+ N extends keyof ZenoRecursiveComponentTypes
104
+ ? ZenoRecursiveComponentTypes[N]
105
+ : N extends keyof ApiComponentTypes
106
+ ? ApiComponentTypes[N]
107
+ : never
108
+ >;
@@ -2,7 +2,6 @@ import { z } from 'zod';
2
2
  // From the values module, never from `user.ts`: `user.ts` derives its public types from the schemas
3
3
  // below, so importing it here would invert the dependency and make the source of truth circular.
4
4
  import { ACCOUNT_APP_ACCESS_MESSAGE_MAX_LENGTH, AccountType, BillingMethod, QuotaTier } from '../account-values.js';
5
- import { ApiVersions } from '../versions.js';
6
5
  import type * as Wire from '../wire-types.generated.js';
7
6
 
8
7
  /**
@@ -146,10 +145,3 @@ export type AccountBillingFromSchema = Wire.AccountBillingFromSchema;
146
145
  export type AccountFromSchema = Wire.AccountFromSchema;
147
146
  export type UpdateAccountPayloadFromSchema = Wire.UpdateAccountPayloadFromSchema;
148
147
  export type StripeBillingStatusResponseFromSchema = Wire.StripeBillingStatusResponseFromSchema;
149
-
150
- /** Account-wide defaults for request API version negotiation. */
151
- export const AccountApiVersionPolicySchema = z
152
- .strictObject({
153
- default_api_version: z.enum(ApiVersions).optional(),
154
- })
155
- .meta({ id: 'AccountApiVersionPolicy' });
@@ -41,6 +41,10 @@ export const AuditAggregationDimensionMapSchema = z
41
41
  project_id: z.string().nullable().optional(),
42
42
  principal_id: z.string().nullable().optional(),
43
43
  actor_id: z.string().nullable().optional(),
44
+ user_id: z.string().nullable().optional().meta({
45
+ description:
46
+ 'Originating user identity, including delegated and scheduled activity with a recorded user owner. Non-user principals without a user origin are excluded.',
47
+ }),
44
48
  'details.pipeline': z.string().nullable().optional(),
45
49
  'details.verdict': z.string().nullable().optional(),
46
50
  'details.workflow_type': z.string().nullable().optional(),
@@ -50,7 +54,7 @@ export const AuditAggregationDimensionMapSchema = z
50
54
  .meta({ id: 'AuditAggregationDimensionMap' });
51
55
 
52
56
  export const AuditAggregationDistinctFieldSchema = z
53
- .enum(['resource_id', 'request_id', 'principal_id', 'actor_id'])
57
+ .enum(['resource_id', 'request_id', 'principal_id', 'actor_id', 'user_id'])
54
58
  .meta({ id: 'AuditAggregationDistinctField' });
55
59
 
56
60
  export const AuditAggregationOperationSchema = z
@@ -247,3 +251,167 @@ export const AuditTrailQuerySchema = z
247
251
  offset: z.number().meta({ description: 'Pagination: offset' }).optional(),
248
252
  })
249
253
  .meta({ id: 'AuditTrailQuery' });
254
+
255
+ export const AuditAdoptionFilterSchema = z
256
+ .strictObject({
257
+ actions: z.array(AuditActionSchema).max(32).optional(),
258
+ resourceTypes: z.array(z.string().max(128)).max(16).optional(),
259
+ eventCategories: z.array(EventCategorySchema).max(6).optional(),
260
+ })
261
+ .meta({ id: 'AuditAdoptionFilter' });
262
+
263
+ export const AuditAdoptionQuerySchema = z
264
+ .strictObject({
265
+ projectId: z.string().optional(),
266
+ from: z
267
+ .string()
268
+ .meta({ format: 'date-time', description: 'Inclusive start; defaults to 30 days before to.' })
269
+ .optional(),
270
+ to: z
271
+ .string()
272
+ .meta({ format: 'date-time', description: 'Exclusive end; defaults to now. Maximum duration: 366 days.' })
273
+ .optional(),
274
+ filter: AuditAdoptionFilterSchema.optional(),
275
+ })
276
+ .meta({
277
+ id: 'AuditAdoptionQuery',
278
+ description:
279
+ 'Productive direct authenticated user activity, including user OAuth/MCP calls. Scope is enforced by the server.',
280
+ });
281
+
282
+ export const AuditAdoptionPeriodSchema = z
283
+ .strictObject({
284
+ from: z.string().meta({ format: 'date-time' }),
285
+ to: z.string().meta({ format: 'date-time' }),
286
+ })
287
+ .meta({ id: 'AuditAdoptionPeriod' });
288
+
289
+ export const AuditAdoptionBucketSchema = z
290
+ .strictObject({
291
+ from: z.string().meta({ format: 'date-time' }),
292
+ to: z.string().meta({ format: 'date-time' }),
293
+ partial: z.boolean(),
294
+ active_users: z.number().int().nonnegative(),
295
+ })
296
+ .meta({ id: 'AuditAdoptionBucket' });
297
+
298
+ export const AuditAdoptionActiveDaysSchema = z
299
+ .strictObject({
300
+ days: z.number().int().min(1).max(367),
301
+ users: z.number().int().nonnegative(),
302
+ })
303
+ .meta({ id: 'AuditAdoptionActiveDays' });
304
+
305
+ export const AuditAdoptionProjectSchema = z
306
+ .strictObject({
307
+ project_id: z.string(),
308
+ project_name: z.string().nullable(),
309
+ active_users: z.number().int().nonnegative(),
310
+ active_user_days: z.number().int().nonnegative(),
311
+ })
312
+ .meta({ id: 'AuditAdoptionProject' });
313
+
314
+ export const AuditAdoptionHistorySchema = z
315
+ .strictObject({
316
+ earliest_observed_at: z.string().meta({ format: 'date-time' }).nullable(),
317
+ coverage_from: z
318
+ .string()
319
+ .meta({
320
+ format: 'date-time',
321
+ description:
322
+ 'Authoritative complete-history boundary, if known. Earliest observation is not a coverage boundary.',
323
+ })
324
+ .nullable(),
325
+ completeness: z.enum(['unknown', 'insufficient', 'verified']),
326
+ retention_unavailable_reason: z.enum(['no_previous_users', 'insufficient_history']).nullable(),
327
+ })
328
+ .meta({ id: 'AuditAdoptionHistory' });
329
+
330
+ export const AuditAdoptionResponseSchema = z
331
+ .strictObject({
332
+ period: AuditAdoptionPeriodSchema,
333
+ previous_period: AuditAdoptionPeriodSchema,
334
+ resolution: z.enum(['day', 'week']),
335
+ active_users: z.number().int().nonnegative(),
336
+ previous_active_users: z.number().int().nonnegative(),
337
+ retained_users: z.number().int().nonnegative(),
338
+ observed_retention: z.number().min(0).max(1).nullable(),
339
+ returning_user_share: z.number().min(0).max(1).nullable(),
340
+ repeat_user_share: z.number().min(0).max(1).nullable(),
341
+ median_active_days: z.number().nonnegative().nullable(),
342
+ active_projects: z.number().int().nonnegative().nullable(),
343
+ timeline: z.array(AuditAdoptionBucketSchema),
344
+ active_day_distribution: z.array(AuditAdoptionActiveDaysSchema),
345
+ top_projects: z.array(AuditAdoptionProjectSchema).max(10),
346
+ history: AuditAdoptionHistorySchema,
347
+ })
348
+ .meta({
349
+ id: 'AuditAdoptionResponse',
350
+ description:
351
+ 'Distinct user adoption sets over two equal-duration half-open periods. Ratios use available audit history, not guaranteed historical coverage. No user identities are returned.',
352
+ });
353
+
354
+ export const AuditUsageQuerySchema = AuditAdoptionQuerySchema.omit({ filter: true })
355
+ .extend({
356
+ resolution: z.enum(['day', 'week', 'month']).optional().meta({
357
+ description: 'UTC calendar buckets. Weeks start Monday. Omitted: daily up to 200 dates, otherwise weekly.',
358
+ }),
359
+ })
360
+ .meta({
361
+ id: 'AuditUsageQuery',
362
+ description: 'Usage trends for an authorized account or project over a half-open interval of at most 366 days.',
363
+ });
364
+
365
+ export const AuditUsageCountsSchema = z
366
+ .strictObject({
367
+ active_users: z.number().int().nonnegative(),
368
+ agent_runs: z
369
+ .number()
370
+ .int()
371
+ .nonnegative()
372
+ .meta({ description: 'All audited run creations and marked restarts, including automated runs.' }),
373
+ user_agent_runs: z
374
+ .number()
375
+ .int()
376
+ .nonnegative()
377
+ .meta({ description: 'Run operations initiated directly by authenticated users, including OAuth/MCP.' }),
378
+ automated_agent_runs: z.number().int().nonnegative().meta({
379
+ description: 'Other run operations, including schedules, delegated agents, services and API keys.',
380
+ }),
381
+ agent_users: z.number().int().nonnegative().meta({
382
+ description:
383
+ 'Distinct identifiable user initiators or owners of run operations, including scheduled and delegated runs.',
384
+ }),
385
+ direct_calls: z.number().int().nonnegative(),
386
+ direct_call_users: z.number().int().nonnegative(),
387
+ content_objects: z.number().int().nonnegative(),
388
+ user_content_objects: z.number().int().nonnegative(),
389
+ other_content_objects: z.number().int().nonnegative(),
390
+ })
391
+ .meta({
392
+ id: 'AuditUsageCounts',
393
+ description:
394
+ 'Direct productive users, run initiators/owners, all run operations and standalone inference audit events.',
395
+ });
396
+
397
+ export const AuditUsageBucketSchema = z
398
+ .strictObject({
399
+ from: z.string().meta({ format: 'date-time' }),
400
+ to: z.string().meta({ format: 'date-time' }),
401
+ partial: z.boolean(),
402
+ counts: AuditUsageCountsSchema,
403
+ })
404
+ .meta({ id: 'AuditUsageBucket' });
405
+
406
+ export const AuditUsageResponseSchema = z
407
+ .strictObject({
408
+ period: AuditAdoptionPeriodSchema,
409
+ resolution: z.enum(['day', 'week', 'month']),
410
+ totals: AuditUsageCountsSchema,
411
+ timeline: z.array(AuditUsageBucketSchema),
412
+ })
413
+ .meta({
414
+ id: 'AuditUsageResponse',
415
+ description:
416
+ 'UTC usage trends. Period-wide distinct users are not sums of bucket populations. No user identities are returned.',
417
+ });
@@ -66,6 +66,14 @@ export const CostAnalyticsQuerySchema = z
66
66
  workflow_run_id: z.string().meta({ description: 'Filter by Temporal workflow run ID' }).optional(),
67
67
  run_id: z.string().meta({ description: 'Filter by interaction execution run ID' }).optional(),
68
68
  agent_run_id: z.string().meta({ description: 'Filter by agent run ID' }).optional(),
69
+ agent_only: z
70
+ .boolean()
71
+ .meta({
72
+ description:
73
+ 'Restrict usage to agent runs and their attributed nested/background inference. ' +
74
+ 'Excludes standalone interactions and non-agent workflows. Defaults to false.',
75
+ })
76
+ .optional(),
69
77
  interaction_id: z
70
78
  .string()
71
79
  .meta({ description: 'Filter by interaction id: stored ObjectId or namespaced in-code id' })
@@ -55,6 +55,11 @@ export const UserGroupSchema = z
55
55
  '(usable in any project). When set, the group may only be used to grant permissions in the ' +
56
56
  'listed projects.',
57
57
  }),
58
+ member_count: z
59
+ .number()
60
+ .int()
61
+ .optional()
62
+ .meta({ description: 'Number of users in the group. Returned by the group listing only.' }),
58
63
  })
59
64
  .meta({ id: 'UserGroup' });
60
65
 
@@ -16,6 +16,7 @@ export * from './agent-runs.js';
16
16
  export * from './analytics.js';
17
17
  export * from './apikey.js';
18
18
  export * from './app-runtime.js';
19
+ export { EventCategorySchema } from './audit-trail.js';
19
20
  export * from './bulk-operation.js';
20
21
  export * from './content.js';
21
22
  export * from './content-query.js';
@@ -32,44 +32,10 @@ import {
32
32
  VideoResultSchema,
33
33
  } from '@llumiverse/common/schemas';
34
34
  import type { z } from 'zod';
35
- import type {
36
- CreateEventSubscriptionPayload,
37
- EventDeliveryTarget,
38
- EventDeliveryTargetInput,
39
- EventSubscription,
40
- EventSubscriptionMutationResponse,
41
- ProcessEventDeliveryTarget,
42
- UpdateEventSubscriptionPayload,
43
- } from '../platform-event.js';
44
- import type {
45
- AgentRunInternals,
46
- AgentRunResponse,
47
- BindRunWorkflowPayload,
48
- ListAgentRunsResponse,
49
- ProgrammaticRunResponse,
50
- RecordRunPayload,
51
- SupervisedRunResponse,
52
- UpdateAgentRunStatusPayload,
53
- } from '../store/agent-run.js';
54
- import type * as DSLWorkflowTypes from '../store/dsl-workflow.js';
55
- import type {
56
- DSLChildWorkflowStep,
57
- DSLWorkflowDefinition,
58
- DSLWorkflowDefinitionResponse,
59
- DSLWorkflowSpec,
60
- DSLWorkflowSpecWithSteps,
61
- DSLWorkflowStep,
62
- } from '../store/dsl-workflow.js';
63
- import type {
64
- BranchNodeBranchDefinition,
65
- CreateProcessDefinitionPayload,
66
- NodeDefinition,
67
- ProcessDefinition,
68
- ProcessDefinitionBody,
69
- UpdateProcessDefinitionPayload,
70
- } from '../store/process.js';
71
- import type { ViewNavigationNode } from '../views.js';
72
- import type { ApiComponentTypes } from '../wire-types.generated.js';
35
+ import type { ApiComponentType } from '../api-contract/types.js';
36
+
37
+ export type { ApiComponentType } from '../api-contract/types.js';
38
+
73
39
  import {
74
40
  ACECreatePayloadSchema,
75
41
  ACEUpdatePayloadSchema,
@@ -78,12 +44,7 @@ import {
78
44
  RoleDefinitionArraySchema,
79
45
  SystemRoleDefinitionArraySchema,
80
46
  } from './access-control.js';
81
- import {
82
- AccountApiVersionPolicySchema,
83
- AccountSchema,
84
- StripeBillingStatusResponseSchema,
85
- UpdateAccountPayloadSchema,
86
- } from './account.js';
47
+ import { AccountSchema, StripeBillingStatusResponseSchema, UpdateAccountPayloadSchema } from './account.js';
87
48
  import { type JsonObject, toOpenApiComponents } from './adapter.js';
88
49
  import * as AgentCommunicationSchemas from './agent-communication.js';
89
50
  import * as AgentRunSchemas from './agent-runs.js';
@@ -209,6 +170,14 @@ import {
209
170
  } from './apps.js';
210
171
  import {
211
172
  AuditActionSchema,
173
+ AuditAdoptionActiveDaysSchema,
174
+ AuditAdoptionBucketSchema,
175
+ AuditAdoptionFilterSchema,
176
+ AuditAdoptionHistorySchema,
177
+ AuditAdoptionPeriodSchema,
178
+ AuditAdoptionProjectSchema,
179
+ AuditAdoptionQuerySchema,
180
+ AuditAdoptionResponseSchema,
212
181
  AuditAggregationDetailFieldSchema,
213
182
  AuditAggregationDetailFilterSchema,
214
183
  AuditAggregationDimensionMapSchema,
@@ -226,6 +195,10 @@ import {
226
195
  AuditTrailEventSchema,
227
196
  AuditTrailQuerySchema,
228
197
  AuditTrailResponseSchema,
198
+ AuditUsageBucketSchema,
199
+ AuditUsageCountsSchema,
200
+ AuditUsageQuerySchema,
201
+ AuditUsageResponseSchema,
229
202
  EventCategorySchema,
230
203
  KnownAuditActionSchema,
231
204
  } from './audit-trail.js';
@@ -862,7 +835,6 @@ import * as WorkflowRunSchemas from './workflow-runs.js';
862
835
  * group approaches the proven-safe size.
863
836
  */
864
837
  const IAM_AND_ACCOUNT_SCHEMAS = {
865
- AccountApiVersionPolicy: AccountApiVersionPolicySchema,
866
838
  Account: AccountSchema,
867
839
  UpdateAccountPayload: UpdateAccountPayloadSchema,
868
840
  StripeBillingStatusResponse: StripeBillingStatusResponseSchema,
@@ -2116,6 +2088,18 @@ const REMOTE_MCP_SCHEMAS = {
2116
2088
  } as const satisfies Record<string, z.ZodType>;
2117
2089
 
2118
2090
  const AUDIT_TRAIL_SCHEMAS = {
2091
+ AuditAdoptionActiveDays: AuditAdoptionActiveDaysSchema,
2092
+ AuditAdoptionBucket: AuditAdoptionBucketSchema,
2093
+ AuditAdoptionFilter: AuditAdoptionFilterSchema,
2094
+ AuditAdoptionHistory: AuditAdoptionHistorySchema,
2095
+ AuditAdoptionPeriod: AuditAdoptionPeriodSchema,
2096
+ AuditAdoptionProject: AuditAdoptionProjectSchema,
2097
+ AuditAdoptionQuery: AuditAdoptionQuerySchema,
2098
+ AuditAdoptionResponse: AuditAdoptionResponseSchema,
2099
+ AuditUsageQuery: AuditUsageQuerySchema,
2100
+ AuditUsageCounts: AuditUsageCountsSchema,
2101
+ AuditUsageBucket: AuditUsageBucketSchema,
2102
+ AuditUsageResponse: AuditUsageResponseSchema,
2119
2103
  // The audit trail: the events the endpoint pages through and the aggregation it
2120
2104
  // computes over them.
2121
2105
  AuditMeter: AuditMeterSchema,
@@ -2297,17 +2281,6 @@ const SECRET_SCHEMAS = {
2297
2281
  SecretProjectQuery: SecretSchemas.SecretProjectQuerySchema,
2298
2282
  ListSecretsQuery: SecretSchemas.ListSecretsQuerySchema,
2299
2283
  SecretLookupQuery: SecretSchemas.SecretLookupQuerySchema,
2300
- EventWebhookSigningSecretRequest: SecretSchemas.EventWebhookSigningSecretRequestSchema,
2301
- EventWebhookSigningSecretResponse: SecretSchemas.EventWebhookSigningSecretResponseSchema,
2302
- SignEventWebhookRequest: SecretSchemas.SignEventWebhookRequestSchema,
2303
- SignEventWebhookResponse: SecretSchemas.SignEventWebhookResponseSchema,
2304
- EventIngestSigningSecretRequest: SecretSchemas.EventIngestSigningSecretRequestSchema,
2305
- EventIngestSigningSecretResponse: SecretSchemas.EventIngestSigningSecretResponseSchema,
2306
- VerifyEventIngestSignatureRequest: SecretSchemas.VerifyEventIngestSignatureRequestSchema,
2307
- VerifyEventIngestSignatureResponse: SecretSchemas.VerifyEventIngestSignatureResponseSchema,
2308
- GithubInstallationTokenRequest: SecretSchemas.GithubInstallationTokenRequestSchema,
2309
- GithubInstallationTokenResponse: SecretSchemas.GithubInstallationTokenResponseSchema,
2310
- InternalSecretDeleteResponse: SecretSchemas.InternalSecretDeleteResponseSchema,
2311
2284
  } as const satisfies Record<string, z.ZodType>;
2312
2285
 
2313
2286
  const INTEGRATION_SCHEMAS = {
@@ -2441,10 +2414,6 @@ const DELEGATION_SCHEMAS = {
2441
2414
  DelegationGrantArray: DelegationGrantArraySchema,
2442
2415
  };
2443
2416
  const RUN_BUDGET_SCHEMAS = {
2444
- RunBudgetOwner: RunBudgetSchemas.RunBudgetOwnerSchema,
2445
- RunBudgetUsage: RunBudgetSchemas.RunBudgetUsageSchema,
2446
- ReadRunBudgetUsagePayload: RunBudgetSchemas.ReadRunBudgetUsagePayloadSchema,
2447
- RunBudgetTotals: RunBudgetSchemas.RunBudgetTotalsSchema,
2448
2417
  RunBudgetCapability: RunBudgetSchemas.RunBudgetCapabilitySchema,
2449
2418
  RunBudgetCapabilityQuery: RunBudgetSchemas.RunBudgetCapabilityQuerySchema,
2450
2419
  };
@@ -3418,6 +3387,18 @@ const STRICT_COMPONENTS: ReadonlySet<string> = new Set<string>([
3418
3387
  'AuditAggregationFilter',
3419
3388
  'AuditTrailResponse',
3420
3389
  'AuditAggregationQuery',
3390
+ 'AuditAdoptionActiveDays',
3391
+ 'AuditAdoptionBucket',
3392
+ 'AuditAdoptionFilter',
3393
+ 'AuditAdoptionHistory',
3394
+ 'AuditAdoptionPeriod',
3395
+ 'AuditAdoptionProject',
3396
+ 'AuditAdoptionQuery',
3397
+ 'AuditAdoptionResponse',
3398
+ 'AuditUsageQuery',
3399
+ 'AuditUsageCounts',
3400
+ 'AuditUsageBucket',
3401
+ 'AuditUsageResponse',
3421
3402
  'ViewSortClause',
3422
3403
  'ViewResultMedia',
3423
3404
  'ViewBoardColumn',
@@ -3584,17 +3565,6 @@ const STRICT_COMPONENTS: ReadonlySet<string> = new Set<string>([
3584
3565
  'ActivityCatalog',
3585
3566
  'WorkflowInteractionVars',
3586
3567
  'ListWorkflowInteractionsResponse',
3587
- 'EventWebhookSigningSecretRequest',
3588
- 'EventWebhookSigningSecretResponse',
3589
- 'SignEventWebhookRequest',
3590
- 'SignEventWebhookResponse',
3591
- 'EventIngestSigningSecretRequest',
3592
- 'EventIngestSigningSecretResponse',
3593
- 'VerifyEventIngestSignatureRequest',
3594
- 'VerifyEventIngestSignatureResponse',
3595
- 'GithubInstallationTokenRequest',
3596
- 'GithubInstallationTokenResponse',
3597
- 'InternalSecretDeleteResponse',
3598
3568
  ]);
3599
3569
 
3600
3570
  /**
@@ -3647,74 +3617,6 @@ export function buildApiSchemaComponents(): Readonly<Record<string, JsonObject>>
3647
3617
  return toOpenApiComponents(emitRawSchemas(), { strictComponents: STRICT_COMPONENTS });
3648
3618
  }
3649
3619
 
3650
- /**
3651
- * Explicit TypeScript recursion boundary for schemas whose runtime graph is lazy.
3652
- *
3653
- * Zod cannot infer a finite named type through a mutually-recursive graph. The schemas remain the
3654
- * runtime and OpenAPI authority; these names preserve the recursive TypeScript declarations until
3655
- * TypeScript can infer recursive aliases without collapsing them to `unknown`.
3656
- */
3657
- interface ZenoRecursiveComponentTypes {
3658
- ViewNavigationNode: ViewNavigationNode;
3659
- AgentRunResponse: AgentRunResponse;
3660
- AgentRunInternals: AgentRunInternals;
3661
- BindRunWorkflowPayload: BindRunWorkflowPayload;
3662
- BranchNodeBranchDefinition: BranchNodeBranchDefinition;
3663
- CreateEventSubscriptionPayload: CreateEventSubscriptionPayload;
3664
- CreateProcessDefinitionPayload: CreateProcessDefinitionPayload;
3665
- DSLChildWorkflowStep: DSLChildWorkflowStep;
3666
- DSLWorkflowDefinition: DSLWorkflowDefinition;
3667
- DSLWorkflowDefinitionResponse: DSLWorkflowDefinitionResponse;
3668
- DSLWorkflowSpec: DSLWorkflowSpec;
3669
- DSLWorkflowSpecWithActivities: DSLWorkflowTypes.DSLWorkflowSpecWithActivities;
3670
- DSLWorkflowSpecWithSteps: DSLWorkflowSpecWithSteps;
3671
- DSLWorkflowStep: DSLWorkflowStep;
3672
- EventDeliveryTarget: EventDeliveryTarget;
3673
- EventDeliveryTargetInput: EventDeliveryTargetInput;
3674
- EventSubscription: EventSubscription;
3675
- EventSubscriptionArray: EventSubscription[];
3676
- EventSubscriptionMutationResponse: EventSubscriptionMutationResponse;
3677
- ListAgentRunsResponse: ListAgentRunsResponse;
3678
- NodeDefinition: NodeDefinition;
3679
- NodeDefinitionMap: Record<string, NodeDefinition>;
3680
- ProcessDefinition: ProcessDefinition;
3681
- ProcessDefinitionArray: ProcessDefinition[];
3682
- ProcessDefinitionBody: ProcessDefinitionBody;
3683
- ProcessEventDeliveryTarget: ProcessEventDeliveryTarget;
3684
- ProgrammaticRunResponse: ProgrammaticRunResponse;
3685
- RecordRunPayload: RecordRunPayload;
3686
- SupervisedRunResponse: SupervisedRunResponse;
3687
- UpdateAgentRunStatusPayload: UpdateAgentRunStatusPayload;
3688
- UpdateEventSubscriptionPayload: UpdateEventSubscriptionPayload;
3689
- UpdateProcessDefinitionPayload: UpdateProcessDefinitionPayload;
3690
- WorkflowDefinitionPayload: DSLWorkflowTypes.WorkflowDefinitionPayload;
3691
- WorkflowDefinitionPayloadWithActivities: DSLWorkflowTypes.WorkflowDefinitionPayloadWithActivities;
3692
- WorkflowDefinitionPayloadWithSteps: DSLWorkflowTypes.WorkflowDefinitionPayloadWithSteps;
3693
- }
3694
-
3695
- /**
3696
- * The wire type a component publishes.
3697
- *
3698
- * `ApiComponentType<'Account'>` is the plain type `gen:schemas` writes for `AccountSchema` into
3699
- * `ApiComponentTypes`, which `wire-types.generated.test.ts` proves identical to its `z.infer`. Indexing
3700
- * that map rather than `z.infer<ApiSchemaMap[N]>` keeps Zod's inference out of every program that names
3701
- * a component. A component the generator has not seen yet resolves to `never`, which
3702
- * `registry-groups.test.ts` rejects.
3703
- *
3704
- * It is wrapped in `NoInfer` because `N` always comes from a component-name argument and can never be
3705
- * recovered from the wire type. Without it, a call whose result has a contextual type — a destructuring
3706
- * `const { file } = validatedQuery(ctx, 'FileMetadataQuery')`, an `await`, a typed `return` — makes the
3707
- * checker infer `N` from that context while `N` is still unresolved, which evaluates `z.infer` across
3708
- * every component in the registry: about 500k types, 1 GB and 2 s of `tsc` in each consuming program.
3709
- */
3710
- export type ApiComponentType<N extends ApiComponentName> = NoInfer<
3711
- N extends keyof ZenoRecursiveComponentTypes
3712
- ? ZenoRecursiveComponentTypes[N]
3713
- : N extends keyof ApiComponentTypes
3714
- ? ApiComponentTypes[N]
3715
- : never
3716
- >;
3717
-
3718
3620
  /**
3719
3621
  * Names a published component from inside a handler signature:
3720
3622
  * `Promise<ApiSchemaOf<'Account'>>`.
@@ -1,42 +1,5 @@
1
1
  import { z } from 'zod';
2
2
 
3
- export const RunBudgetOwnerSchema = z
4
- .strictObject({
5
- workflow_id: z.string().min(1),
6
- first_run_id: z.string().min(1),
7
- })
8
- .meta({ id: 'RunBudgetOwner' });
9
-
10
- /** Cumulative counters are read from existing execution runs, never from an audit cursor. */
11
- export const RunBudgetUsageSchema = z
12
- .strictObject({
13
- input: z.number().nonnegative(),
14
- cached_input: z.number().nonnegative(),
15
- output: z.number().nonnegative(),
16
- })
17
- .meta({ id: 'RunBudgetUsage' });
18
-
19
- export const RunBudgetTotalsSchema = z
20
- .strictObject({
21
- measured: RunBudgetUsageSchema,
22
- unpriced: RunBudgetUsageSchema,
23
- reported_nano_usd: z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),
24
- estimated_nano_usd: z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),
25
- unmeasured_calls: z.number().int().nonnegative(),
26
- missing_usage_calls: z.number().int().nonnegative(),
27
- })
28
- .meta({ id: 'RunBudgetTotals' });
29
-
30
- export const ReadRunBudgetUsagePayloadSchema = z
31
- .strictObject({
32
- account_id: z.string().min(1),
33
- project_id: z.string().min(1),
34
- agent_run_id: z.string().min(1),
35
- owner: RunBudgetOwnerSchema,
36
- require_estimates: z.boolean().optional(),
37
- })
38
- .meta({ id: 'ReadRunBudgetUsagePayload' });
39
-
40
3
  export const RunBudgetCapabilitySchema = z
41
4
  .strictObject({
42
5
  supported: z.boolean(),