@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.
- package/lib/api-contract/components.generated.json +572 -403
- package/lib/api-contract/engine.d.ts +65 -0
- package/lib/api-contract/engine.d.ts.map +1 -0
- package/lib/api-contract/engine.js +572 -0
- package/lib/api-contract/engine.js.map +1 -0
- package/lib/api-contract/index.d.ts +22 -183
- package/lib/api-contract/index.d.ts.map +1 -1
- package/lib/api-contract/index.js +13 -551
- package/lib/api-contract/index.js.map +1 -1
- package/lib/api-contract/types.d.ts +70 -0
- package/lib/api-contract/types.d.ts.map +1 -0
- package/lib/api-contract/types.js +2 -0
- package/lib/api-contract/types.js.map +1 -0
- package/lib/api-schemas/account.d.ts +0 -5
- package/lib/api-schemas/account.d.ts.map +1 -1
- package/lib/api-schemas/account.js +0 -7
- package/lib/api-schemas/account.js.map +1 -1
- package/lib/api-schemas/audit-trail.d.ts +255 -0
- package/lib/api-schemas/audit-trail.d.ts.map +1 -1
- package/lib/api-schemas/audit-trail.js +150 -1
- package/lib/api-schemas/audit-trail.js.map +1 -1
- package/lib/api-schemas/cost-analytics.d.ts +1 -0
- package/lib/api-schemas/cost-analytics.d.ts.map +1 -1
- package/lib/api-schemas/cost-analytics.js +7 -0
- package/lib/api-schemas/cost-analytics.js.map +1 -1
- package/lib/api-schemas/group.d.ts +2 -0
- package/lib/api-schemas/group.d.ts.map +1 -1
- package/lib/api-schemas/group.js +5 -0
- package/lib/api-schemas/group.js.map +1 -1
- package/lib/api-schemas/index.d.ts +1 -0
- package/lib/api-schemas/index.d.ts.map +1 -1
- package/lib/api-schemas/index.js +1 -0
- package/lib/api-schemas/index.js.map +1 -1
- package/lib/api-schemas/registry.d.ts +270 -186
- package/lib/api-schemas/registry.d.ts.map +1 -1
- package/lib/api-schemas/registry.js +26 -29
- package/lib/api-schemas/registry.js.map +1 -1
- package/lib/api-schemas/run-budget.d.ts +0 -36
- package/lib/api-schemas/run-budget.d.ts.map +1 -1
- package/lib/api-schemas/run-budget.js +0 -33
- package/lib/api-schemas/run-budget.js.map +1 -1
- package/lib/api-schemas/secrets.d.ts +0 -71
- package/lib/api-schemas/secrets.d.ts.map +1 -1
- package/lib/api-schemas/secrets.js +0 -73
- package/lib/api-schemas/secrets.js.map +1 -1
- package/lib/audit-trail.d.ts +14 -2
- package/lib/audit-trail.d.ts.map +1 -1
- package/lib/audit-trail.js +4 -0
- package/lib/audit-trail.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/platform-event.d.ts +0 -20
- package/lib/platform-event.d.ts.map +1 -1
- package/lib/run-budget.d.ts +0 -4
- package/lib/run-budget.d.ts.map +1 -1
- package/lib/secrets.d.ts +0 -10
- package/lib/secrets.d.ts.map +1 -1
- package/lib/user.d.ts +0 -1
- package/lib/user.d.ts.map +1 -1
- package/lib/vertesia-common.js +1 -1
- package/lib/vertesia-common.js.map +1 -1
- package/lib/wire-types.generated.d.ts +102 -105
- package/lib/wire-types.generated.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/api-contract/components.generated.json +572 -403
- package/src/api-contract/engine.ts +644 -0
- package/src/api-contract/index.ts +32 -663
- package/src/api-contract/types.ts +108 -0
- package/src/api-schemas/account.ts +0 -8
- package/src/api-schemas/audit-trail.ts +169 -1
- package/src/api-schemas/cost-analytics.ts +8 -0
- package/src/api-schemas/group.ts +5 -0
- package/src/api-schemas/index.ts +1 -0
- package/src/api-schemas/registry.ts +41 -139
- package/src/api-schemas/run-budget.ts +0 -37
- package/src/api-schemas/secrets.ts +0 -84
- package/src/audit-trail.ts +17 -0
- package/src/index.ts +0 -4
- package/src/platform-event.ts +0 -25
- package/src/run-budget.ts +0 -4
- package/src/secrets.ts +0 -11
- package/src/user.ts +0 -2
- 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' })
|
package/src/api-schemas/group.ts
CHANGED
|
@@ -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
|
|
package/src/api-schemas/index.ts
CHANGED
|
@@ -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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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(),
|