@renai-labs/sdk 0.1.23 → 0.1.25

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.
@@ -1,5 +1,8 @@
1
1
  // This file is auto-generated by @hey-api/openapi-ts
2
2
  import * as z from "zod";
3
+ /**
4
+ * What this project's tools may do. Maps a tool name or glob to "allow", "ask" (stop and ask the user first) or "deny"; a value may also be a map of glob to action. MCP tools are "<mcp-slug>_<tool>", so "slack_*" is all of Slack's. Full-replace on update. Example: {"webfetch":"deny","slack_post_message":"ask","bash":{"*":"allow","rm *":"deny"}}
5
+ */
3
6
  export const zPermissionConfig = z.union([
4
7
  z.object({
5
8
  __originalKeys: z.array(z.string()).optional(),
@@ -76,15 +79,26 @@ export const zReplayPublicView = z.object({
76
79
  session: zReplayPublicSession,
77
80
  messages: z.array(zReplayMessage),
78
81
  });
79
- export const zSpecPublicTriggerEntry = z.object({
80
- slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
81
- ref: z
82
- .object({
83
- id: z.string().regex(/^[a-z]+_[A-Za-z0-9]+$/),
84
- })
82
+ /**
83
+ * Prompt the client auto-inserts into a new chat post-add.
84
+ */
85
+ export const zSpecInitialPrompt = z.object({
86
+ prompt: z.string(),
87
+ project: z
88
+ .string()
89
+ .regex(/^[a-z0-9][a-z0-9-]*$/)
85
90
  .optional(),
86
- project: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
87
- agent: z
91
+ });
92
+ /**
93
+ * Model this trigger's fires run on; absent inherits the agent/project default.
94
+ */
95
+ export const zModelSelection = z.object({
96
+ model: z.string().min(1),
97
+ variant: z.string().min(1).nullish().default(null),
98
+ });
99
+ export const zSpecCronTriggerEntry = z.object({
100
+ slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
101
+ project: z
88
102
  .string()
89
103
  .regex(/^[a-z0-9][a-z0-9-]*$/)
90
104
  .optional(),
@@ -95,20 +109,24 @@ export const zSpecPublicTriggerEntry = z.object({
95
109
  .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/)
96
110
  .optional(),
97
111
  inputMessage: z.string(),
112
+ model: zModelSelection.optional(),
98
113
  enabled: z.boolean().optional(),
99
114
  });
115
+ export const zSpecRef = z.object({
116
+ id: z.string().regex(/^[a-z]+_[A-Za-z0-9]+$/),
117
+ });
118
+ export const zSpecMcpEntry = z.object({
119
+ slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
120
+ ref: zSpecRef,
121
+ });
122
+ export const zSpecSkillEntry = z.object({
123
+ slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
124
+ ref: zSpecRef,
125
+ });
100
126
  export const zSpecChannelBinding = z.object({
101
127
  slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
102
128
  kind: z.enum(["slack", "linear", "github", "telegram", "email"]),
103
129
  purpose: z.string(),
104
- agent: z
105
- .string()
106
- .regex(/^[a-z0-9][a-z0-9-]*$/)
107
- .optional(),
108
- });
109
- export const zSpecProjectAgent = z.object({
110
- slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
111
- mode: z.enum(["subagent", "all"]).optional().default("all"),
112
130
  });
113
131
  export const zProjectReference = z.union([
114
132
  z.string(),
@@ -125,81 +143,95 @@ export const zProjectReference = z.union([
125
143
  }),
126
144
  ]);
127
145
  export const zProjectReferences = z.record(z.string(), zProjectReference);
128
- export const zSpecRef = z.object({
129
- id: z.string().regex(/^[a-z]+_[A-Za-z0-9]+$/),
130
- versionId: z
131
- .string()
132
- .regex(/^[a-z]+_[A-Za-z0-9]+$/)
133
- .optional(),
134
- });
135
- export const zSpecPublicProjectEntry = z.object({
136
- slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
137
- ref: zSpecRef.optional(),
138
- name: z.string().optional(),
146
+ export const zSpecProjectDef = z.object({
147
+ name: z.string(),
139
148
  description: z.string().optional(),
149
+ icon: z.string().optional(),
140
150
  instructions: z.string().optional(),
141
151
  references: zProjectReferences.optional(),
142
- agents: z.array(zSpecProjectAgent).optional(),
143
152
  skills: z.array(z.string().regex(/^[a-z0-9][a-z0-9-]*$/)).optional(),
144
153
  mcps: z.array(z.string().regex(/^[a-z0-9][a-z0-9-]*$/)).optional(),
145
- channels: z.array(zSpecChannelBinding).optional(),
146
- });
147
- export const zSpecPublicMcpEntry = z.object({
148
- slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
149
- ref: zSpecRef.optional(),
150
- name: z.string().optional(),
151
- registrySlug: z.string().optional(),
152
- auth: z.enum(["oauth", "basic", "api_key", "none", "mcp_provider"]).optional(),
153
- });
154
- export const zSpecPublicSkillEntry = z.object({
155
- slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
156
- ref: zSpecRef.optional(),
157
- name: z.string().optional(),
158
- registrySlug: z.string().optional(),
154
+ permission: zPermissionConfig.optional(),
155
+ defaultModel: zModelSelection.optional(),
156
+ buildOrder: z.int().gte(1).lte(9007199254740991).optional(),
159
157
  });
160
- export const zSpecPublicAgentEntry = z.object({
158
+ export const zSpecProjectEntry = z.object({
161
159
  slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
162
- ref: zSpecRef.optional(),
163
- name: z.string().optional(),
164
- model: z.string().optional(),
165
- scope: z.enum(["org", "user", "registry"]).optional(),
166
- skills: z.array(z.string().regex(/^[a-z0-9][a-z0-9-]*$/)).optional(),
167
- mcps: z.array(z.string().regex(/^[a-z0-9][a-z0-9-]*$/)).optional(),
168
- });
169
- export const zSpecInitialPrompt = z.object({
170
- prompt: z.string(),
171
- project: z
172
- .string()
173
- .regex(/^[a-z0-9][a-z0-9-]*$/)
174
- .optional(),
175
- agent: z
160
+ pod: z
176
161
  .string()
177
162
  .regex(/^[a-z0-9][a-z0-9-]*$/)
178
163
  .optional(),
164
+ def: zSpecProjectDef,
165
+ channels: z.array(zSpecChannelBinding).optional(),
179
166
  });
180
- export const zSpecPublic = z.object({
181
- schemaVersion: z.literal(2),
182
- meta: z.object({
183
- name: z.string(),
184
- description: z.string().optional(),
185
- snapshotDate: z.string().optional(),
167
+ export const zTemplateMemoryMb = z.union([
168
+ z.literal(1024),
169
+ z.literal(2048),
170
+ z.literal(3072),
171
+ z.literal(4096),
172
+ z.literal(5120),
173
+ z.literal(6144),
174
+ z.literal(7168),
175
+ z.literal(8192),
176
+ ]);
177
+ export const zTemplateCpuCount = z.union([z.literal(1), z.literal(2), z.literal(4), z.literal(6), z.literal(8)]);
178
+ export const zPackagesConfig = z.object({
179
+ apt: z.array(z.string()).optional(),
180
+ npm: z.array(z.string()).optional(),
181
+ pip: z.array(z.string()).optional(),
182
+ go: z.array(z.string()).optional(),
183
+ });
184
+ export const zNetworkingConfig = z.union([
185
+ z.object({
186
+ type: z.literal("unrestricted"),
187
+ }),
188
+ z.object({
189
+ type: z.literal("limited"),
190
+ allowMcpServers: z.boolean(),
191
+ allowPackageManagers: z.boolean(),
192
+ allowedHosts: z.array(z.string()),
186
193
  }),
194
+ ]);
195
+ export const zSpecEnvironmentDef = z.object({
196
+ networking: zNetworkingConfig,
197
+ packages: zPackagesConfig,
198
+ cpuCount: zTemplateCpuCount.optional(),
199
+ memoryMB: zTemplateMemoryMb.optional(),
200
+ buildCommands: z.array(z.string().min(1).max(4096)).max(50).optional(),
201
+ });
202
+ export const zPresetTemplate = z.enum(["xs", "small", "medium", "large", "xl"]);
203
+ export const zSpecEnvironmentEntry = z.object({
204
+ preset: zPresetTemplate.optional(),
205
+ def: zSpecEnvironmentDef.optional(),
206
+ });
207
+ export const zSpecPodEntry = z.object({
208
+ slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
209
+ name: z.string(),
210
+ icon: z.string().optional(),
211
+ description: z.string().optional(),
212
+ instructions: z.string().optional(),
213
+ defaultModel: zModelSelection.optional(),
214
+ environment: zSpecEnvironmentEntry.optional(),
215
+ });
216
+ export const zSpecOrg = z.object({
187
217
  instructions: z.string().optional(),
218
+ defaultModel: zModelSelection.optional(),
219
+ });
220
+ export const zSpecMeta = z.object({
221
+ name: z.string(),
222
+ description: z.string().optional(),
223
+ });
224
+ export const zSpec = z.object({
225
+ schemaVersion: z.literal(4),
226
+ meta: zSpecMeta,
227
+ org: zSpecOrg.optional(),
228
+ pods: z.array(zSpecPodEntry),
229
+ projects: z.array(zSpecProjectEntry),
230
+ skills: z.array(zSpecSkillEntry),
231
+ mcps: z.array(zSpecMcpEntry),
232
+ triggers: z.array(zSpecCronTriggerEntry),
233
+ channels: z.array(zSpecChannelBinding).optional(),
188
234
  initialPrompt: zSpecInitialPrompt.optional(),
189
- agents: z.array(zSpecPublicAgentEntry),
190
- skills: z.array(zSpecPublicSkillEntry),
191
- mcps: z.array(zSpecPublicMcpEntry),
192
- projects: z.array(zSpecPublicProjectEntry),
193
- triggers: z.array(zSpecPublicTriggerEntry),
194
- environment: z
195
- .object({
196
- ref: z
197
- .object({
198
- id: z.string().regex(/^[a-z]+_[A-Za-z0-9]+$/),
199
- })
200
- .optional(),
201
- })
202
- .optional(),
203
235
  });
204
236
  export const zPublisherLink = z.object({
205
237
  label: z.string().min(1),
@@ -216,50 +248,67 @@ export const zPublisherPublicView = z.object({
216
248
  isVerified: z.boolean(),
217
249
  links: z.array(zPublisherLink),
218
250
  });
219
- export const zBlueprintOutcome = z.object({
220
- title: z.string().min(1),
221
- description: z.string().min(1),
222
- });
223
- export const zBlueprintHowItWorksStep = z.object({
224
- title: z.string().min(1),
225
- description: z.string().min(1),
226
- });
227
- export const zBlueprintPageContent = z.object({
228
- overview: z.string().optional(),
229
- howItWorks: z.array(zBlueprintHowItWorksStep).optional().default([]),
230
- useCases: z.array(z.string().min(1)).optional().default([]),
231
- requirements: z.array(z.string().min(1)).optional().default([]),
232
- setup: z.array(z.string().min(1)).optional().default([]),
233
- outcomes: z.array(zBlueprintOutcome).optional().default([]),
234
- relatedBlueprintSlugs: z
235
- .array(z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/))
236
- .optional()
237
- .default([]),
251
+ export const zBlueprintCategories = z.object({
252
+ usecases: z.array(z.string()).optional(),
253
+ roles: z.array(z.string()).optional(),
254
+ functions: z.array(z.string()).optional(),
255
+ verticals: z.array(z.string()).optional(),
238
256
  });
257
+ export const zBlueprintKind = z.enum(["org", "pod", "project", "app"]);
239
258
  export const zBlueprintPublicView = z.object({
240
259
  id: z.string(),
241
260
  slug: z.string(),
242
261
  name: z.string(),
243
262
  description: z.string().nullable(),
244
263
  websiteMetadata: zWebsiteMetadata.nullable(),
245
- pageContent: zBlueprintPageContent.nullable(),
264
+ kind: zBlueprintKind,
265
+ categories: zBlueprintCategories,
246
266
  publisherId: z.string(),
247
267
  publisher: zPublisherPublicView.nullish().default(null),
248
- template: zSpecPublic,
268
+ template: zSpec,
249
269
  replays: z.array(z.string()),
270
+ examplePrompts: z.array(z.string().min(1).max(200)).max(6),
271
+ brandColor: z
272
+ .string()
273
+ .regex(/^#[0-9a-f]{6}$/)
274
+ .nullable(),
250
275
  });
251
276
  export const zBlueprintPublicListItem = z.object({
252
277
  id: z.string(),
253
278
  slug: z.string(),
254
279
  name: z.string(),
255
280
  description: z.string().nullable(),
281
+ icon: z.string().nullable(),
256
282
  websiteMetadata: zWebsiteMetadata.nullable(),
283
+ kind: zBlueprintKind,
284
+ categories: zBlueprintCategories,
257
285
  publisherId: z.string().nullable(),
258
286
  publisher: zPublisherPublicView.nullish().default(null),
259
287
  updatedAt: z.iso
260
288
  .datetime()
261
289
  .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/),
262
290
  });
291
+ export const zSetupSource = z.object({
292
+ name: z.string().min(1).max(64),
293
+ url: z.url().optional(),
294
+ verifiedAt: z.iso
295
+ .date()
296
+ .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/)
297
+ .optional(),
298
+ });
299
+ export const zSetupMedia = z.object({
300
+ kind: z.enum(["image", "video"]),
301
+ url: z.url(),
302
+ alt: z.string().min(1).max(200),
303
+ poster: z.url().optional(),
304
+ });
305
+ export const zSetup = z.object({
306
+ url: z.url().optional(),
307
+ markdown: z.string().max(16384).optional(),
308
+ media: z.array(zSetupMedia).max(8).optional().default([]),
309
+ source: zSetupSource.optional(),
310
+ citations: z.array(z.url()).max(12).optional().default([]),
311
+ });
263
312
  export const zRequirementWhen = z.object({
264
313
  name: z
265
314
  .string()
@@ -340,7 +389,7 @@ export const zAgentLatestVersion = z.object({
340
389
  version: z.string().regex(/^\d+\.\d+\.\d+$/),
341
390
  description: z.string().nullable(),
342
391
  prompt: z.string().nullable(),
343
- model: z.string().nullable(),
392
+ model: zModelSelection.nullable(),
344
393
  skills: z.array(z.object({
345
394
  skillId: z.string(),
346
395
  skillVersionId: z.string().nullish().default(null),
@@ -821,6 +870,7 @@ export const zCronTriggerDetail = z.object({
821
870
  projectAgentId: z.string().nullable(),
822
871
  senderUserId: z.string(),
823
872
  inputMessage: z.string(),
873
+ model: zModelSelection.nullable(),
824
874
  schedule: z.string(),
825
875
  timezone: z.string().nullable(),
826
876
  until: z.iso
@@ -861,6 +911,7 @@ export const zCronTrigger = z.object({
861
911
  projectAgentId: z.string().nullable(),
862
912
  senderUserId: z.string(),
863
913
  inputMessage: z.string(),
914
+ model: zModelSelection.nullable(),
864
915
  schedule: z.string(),
865
916
  timezone: z.string().nullable(),
866
917
  until: z.iso
@@ -907,7 +958,7 @@ export const zTopology = z.object({
907
958
  id: z.string().regex(/^[a-z]+_[A-Za-z0-9]+$/),
908
959
  slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
909
960
  name: z.string(),
910
- model: z.string().optional(),
961
+ model: zModelSelection.optional(),
911
962
  icon: z.string().optional(),
912
963
  skills: z.array(z.string().regex(/^[a-z0-9][a-z0-9-]*$/)).optional(),
913
964
  mcps: z.array(z.string().regex(/^[a-z0-9][a-z0-9-]*$/)).optional(),
@@ -1003,6 +1054,7 @@ export const zTopology = z.object({
1003
1054
  project: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
1004
1055
  schedule: z.string(),
1005
1056
  inputMessage: z.string(),
1057
+ model: zModelSelection.optional(),
1006
1058
  }))
1007
1059
  .optional(),
1008
1060
  emails: z
@@ -1079,6 +1131,7 @@ export const zSkillArchiveResult = z.object({
1079
1131
  publisherId: z.string().nullable(),
1080
1132
  parentId: z.string().nullable(),
1081
1133
  websiteMetadata: zWebsiteMetadata.nullable(),
1134
+ setup: zSetup.nullable(),
1082
1135
  sortOrder: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),
1083
1136
  popularityScore: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),
1084
1137
  trendingScore: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),
@@ -1117,6 +1170,7 @@ export const zSkill = z.object({
1117
1170
  publisherId: z.string().nullable(),
1118
1171
  parentId: z.string().nullable(),
1119
1172
  websiteMetadata: zWebsiteMetadata.nullable(),
1173
+ setup: zSetup.nullable(),
1120
1174
  sortOrder: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),
1121
1175
  popularityScore: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),
1122
1176
  trendingScore: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),
@@ -1408,7 +1462,7 @@ export const zProject = z.object({
1408
1462
  icon: z.string().nullable(),
1409
1463
  description: z.string().nullable(),
1410
1464
  slug: z.string(),
1411
- defaultModel: z.string().nullable(),
1465
+ defaultModel: zModelSelection.nullable(),
1412
1466
  instructions: z.string(),
1413
1467
  permission: zPermissionConfig,
1414
1468
  gitRepos: z.array(zProjectGitRepo),
@@ -1530,6 +1584,7 @@ export const zAuthRequirementEnv = z.union([
1530
1584
  description: z.string().max(512).optional(),
1531
1585
  satisfied: z.boolean(),
1532
1586
  neededBy: z.array(zAuthRequirementEnvSource),
1587
+ setup: zSetup.nullable(),
1533
1588
  }),
1534
1589
  z.object({
1535
1590
  kind: z.literal("secret"),
@@ -1541,6 +1596,7 @@ export const zAuthRequirementEnv = z.union([
1541
1596
  description: z.string().max(512).optional(),
1542
1597
  satisfied: z.boolean(),
1543
1598
  neededBy: z.array(zAuthRequirementEnvSource),
1599
+ setup: zSetup.nullable(),
1544
1600
  }),
1545
1601
  z.object({
1546
1602
  kind: z.literal("oauth_app"),
@@ -1548,6 +1604,7 @@ export const zAuthRequirementEnv = z.union([
1548
1604
  description: z.string().max(512).optional(),
1549
1605
  satisfied: z.boolean(),
1550
1606
  neededBy: z.array(zAuthRequirementEnvSource),
1607
+ setup: zSetup.nullable(),
1551
1608
  }),
1552
1609
  z.object({
1553
1610
  kind: z.literal("text"),
@@ -1562,6 +1619,7 @@ export const zAuthRequirementEnv = z.union([
1562
1619
  when: zRequirementWhen.optional(),
1563
1620
  satisfied: z.boolean(),
1564
1621
  neededBy: z.array(zAuthRequirementEnvSource),
1622
+ setup: zSetup.nullable(),
1565
1623
  }),
1566
1624
  z.object({
1567
1625
  kind: z.literal("select"),
@@ -1583,6 +1641,7 @@ export const zAuthRequirementEnv = z.union([
1583
1641
  when: zRequirementWhen.optional(),
1584
1642
  satisfied: z.boolean(),
1585
1643
  neededBy: z.array(zAuthRequirementEnvSource),
1644
+ setup: zSetup.nullable(),
1586
1645
  }),
1587
1646
  ]);
1588
1647
  export const zMcpAuthConfig = z.union([
@@ -1658,6 +1717,7 @@ export const zAuthRequirementMcp = z.object({
1658
1717
  authConfig: zMcpAuthConfig.nullable(),
1659
1718
  satisfied: z.boolean(),
1660
1719
  neededByAgentIds: z.array(z.string()),
1720
+ setup: zSetup.nullable(),
1661
1721
  });
1662
1722
  export const zAuthRequirements = z.object({
1663
1723
  mcps: z.array(zAuthRequirementMcp),
@@ -1690,7 +1750,6 @@ export const zPodMember = z.object({
1690
1750
  .datetime()
1691
1751
  .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/),
1692
1752
  });
1693
- export const zPresetTemplate = z.enum(["xs", "small", "medium", "large", "xl"]);
1694
1753
  export const zPod = z.object({
1695
1754
  id: z.string(),
1696
1755
  name: z.string(),
@@ -1699,7 +1758,7 @@ export const zPod = z.object({
1699
1758
  description: z.string().nullable(),
1700
1759
  isPrivate: z.boolean(),
1701
1760
  isDefault: z.boolean(),
1702
- defaultModel: z.string().nullable(),
1761
+ defaultModel: zModelSelection.nullable(),
1703
1762
  instructions: z.string(),
1704
1763
  environmentId: z.string().nullable(),
1705
1764
  presetTemplate: zPresetTemplate,
@@ -1757,7 +1816,7 @@ export const zOrgSettings = z.object({
1757
1816
  id: z.string(),
1758
1817
  name: z.string(),
1759
1818
  slug: z.string(),
1760
- defaultModel: z.string().nullable(),
1819
+ defaultModel: zModelSelection.nullable(),
1761
1820
  instructions: z.string(),
1762
1821
  });
1763
1822
  export const zOnboardingSetupPersonalOrg = z.object({
@@ -1768,6 +1827,7 @@ export const zOnboardingStart = z.object({
1768
1827
  podId: z.string(),
1769
1828
  projectId: z.string(),
1770
1829
  sessionId: z.string(),
1830
+ initialPrompt: z.string(),
1771
1831
  });
1772
1832
  export const zModelPricing = z.object({
1773
1833
  input_usd_per_million_tokens: z.number(),
@@ -1780,6 +1840,10 @@ export const zModelEntry = z.object({
1780
1840
  modelID: z.string(),
1781
1841
  size: z.enum(["large", "medium", "small"]).optional(),
1782
1842
  pricing: zModelPricing.optional(),
1843
+ variants: z.array(z.object({
1844
+ id: z.string(),
1845
+ name: z.string(),
1846
+ })),
1783
1847
  });
1784
1848
  export const zModelProvider = z.object({
1785
1849
  key: z.string(),
@@ -1787,7 +1851,7 @@ export const zModelProvider = z.object({
1787
1851
  models: z.array(zModelEntry),
1788
1852
  });
1789
1853
  export const zModelsResponse = z.object({
1790
- default_model: z.string(),
1854
+ default_model: zModelSelection,
1791
1855
  providers: z.array(zModelProvider),
1792
1856
  });
1793
1857
  export const zMemoryStoreFile = z.object({
@@ -1891,6 +1955,7 @@ export const zMcp = z.object({
1891
1955
  userId: z.string().nullable(),
1892
1956
  publisherId: z.string().nullable(),
1893
1957
  websiteMetadata: zWebsiteMetadata.nullable(),
1958
+ setup: zSetup.nullable(),
1894
1959
  sortOrder: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),
1895
1960
  popularityScore: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),
1896
1961
  trendingScore: z.int().gte(-9007199254740991).lte(9007199254740991).nullable(),
@@ -1973,6 +2038,90 @@ export const zOAuthApp = z.object({
1973
2038
  .nullable(),
1974
2039
  hasClientSecret: z.boolean(),
1975
2040
  });
2041
+ export const zInferenceKeyCreateInput = z.object({
2042
+ name: z.string().min(1).max(64),
2043
+ });
2044
+ export const zInferenceKeyCreated = z.object({
2045
+ id: z.string(),
2046
+ name: z.string(),
2047
+ prefix: z.string(),
2048
+ status: z.enum(["active", "revoke_pending", "revoked"]),
2049
+ owner: z
2050
+ .object({
2051
+ id: z.string(),
2052
+ name: z.string(),
2053
+ })
2054
+ .nullable(),
2055
+ orphaned: z.boolean(),
2056
+ lastUsedAt: z.string().nullable(),
2057
+ createdAt: z.string(),
2058
+ secret: z.string(),
2059
+ });
2060
+ export const zInferenceKey = z.object({
2061
+ id: z.string(),
2062
+ name: z.string(),
2063
+ prefix: z.string(),
2064
+ status: z.enum(["active", "revoke_pending", "revoked"]),
2065
+ owner: z
2066
+ .object({
2067
+ id: z.string(),
2068
+ name: z.string(),
2069
+ })
2070
+ .nullable(),
2071
+ orphaned: z.boolean(),
2072
+ lastUsedAt: z.string().nullable(),
2073
+ createdAt: z.string(),
2074
+ });
2075
+ export const zInferenceSubscriptionRenameInput = z.object({
2076
+ label: z.string().min(1).max(64),
2077
+ });
2078
+ export const zInferenceSubscriptionConnectInput = z.object({
2079
+ label: z.string().min(1).max(64).optional(),
2080
+ profile: z.object({
2081
+ token: z
2082
+ .string()
2083
+ .max(4096)
2084
+ .regex(/^sk-ant-oat.*/),
2085
+ deviceId: z.string().min(1).max(512),
2086
+ accountUuid: z.string().min(1).max(128),
2087
+ organizationUuid: z.string().max(128).nullish().default(null),
2088
+ subscriptionType: z.string().max(128).nullish().default(null),
2089
+ rateLimitTier: z.string().max(128).nullish().default(null),
2090
+ clientHeaders: z.record(z.string(), z.string().max(512)).optional().default({}),
2091
+ }),
2092
+ });
2093
+ export const zInferenceProviderUsage = z.object({
2094
+ windows: z.array(z.object({
2095
+ key: z.string(),
2096
+ utilization: z.number().gte(0).nullable(),
2097
+ status: z.string().nullable(),
2098
+ resetsAt: z.string().nullable(),
2099
+ })),
2100
+ status: z.string().nullable(),
2101
+ representativeWindow: z.string().nullable(),
2102
+ overageStatus: z.string().nullable(),
2103
+ overageDisabledReason: z.string().nullable(),
2104
+ observedAt: z.string(),
2105
+ });
2106
+ export const zInferenceProvider = z.enum(["anthropic"]);
2107
+ export const zInferenceSubscriptionSeat = z.object({
2108
+ id: z.string(),
2109
+ provider: zInferenceProvider,
2110
+ label: z.string(),
2111
+ health: z.enum(["connected", "exhausted", "needs_reauth", "transient"]),
2112
+ cooldownUntil: z.string().nullable(),
2113
+ subscriptionType: z.string().nullable(),
2114
+ rateLimitTier: z.string().nullable(),
2115
+ contributor: z
2116
+ .object({
2117
+ id: z.string(),
2118
+ name: z.string(),
2119
+ })
2120
+ .nullable(),
2121
+ usage: zInferenceProviderUsage.nullable(),
2122
+ lastSelectedAt: z.string().nullable(),
2123
+ connectedAt: z.string(),
2124
+ });
1976
2125
  export const zGoogleWorkspaceOAuthStartResult = z.object({
1977
2126
  url: z.url(),
1978
2127
  });
@@ -2085,17 +2234,6 @@ export const zFileStore = z.object({
2085
2234
  .nullable(),
2086
2235
  mountPath: z.string(),
2087
2236
  });
2088
- export const zTemplateMemoryMb = z.union([
2089
- z.literal(1024),
2090
- z.literal(2048),
2091
- z.literal(3072),
2092
- z.literal(4096),
2093
- z.literal(5120),
2094
- z.literal(6144),
2095
- z.literal(7168),
2096
- z.literal(8192),
2097
- ]);
2098
- export const zTemplateCpuCount = z.union([z.literal(1), z.literal(2), z.literal(4), z.literal(6), z.literal(8)]);
2099
2237
  export const zEnvironmentBuildStatus = z.enum(["queued", "building", "ready", "error"]);
2100
2238
  export const zEnvironmentBuild = z.object({
2101
2239
  id: z.string(),
@@ -2116,23 +2254,6 @@ export const zEnvironmentBuild = z.object({
2116
2254
  .datetime()
2117
2255
  .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/),
2118
2256
  });
2119
- export const zPackagesConfig = z.object({
2120
- apt: z.array(z.string()).optional(),
2121
- npm: z.array(z.string()).optional(),
2122
- pip: z.array(z.string()).optional(),
2123
- go: z.array(z.string()).optional(),
2124
- });
2125
- export const zNetworkingConfig = z.union([
2126
- z.object({
2127
- type: z.literal("unrestricted"),
2128
- }),
2129
- z.object({
2130
- type: z.literal("limited"),
2131
- allowMcpServers: z.boolean(),
2132
- allowPackageManagers: z.boolean(),
2133
- allowedHosts: z.array(z.string()),
2134
- }),
2135
- ]);
2136
2257
  export const zEnvironment = z.object({
2137
2258
  id: z.string(),
2138
2259
  name: z.string(),
@@ -2222,6 +2343,14 @@ export const zUsageDailyPoint = z.object({
2222
2343
  credits: z.string(),
2223
2344
  eventCount: z.int().gte(-9007199254740991).lte(9007199254740991),
2224
2345
  });
2346
+ export const zUsageServedByItem = z.object({
2347
+ servedBy: z.enum(["customer_sub", "ren_sub", "paid_api", "unattributed"]),
2348
+ credits: z.string(),
2349
+ amountCents: z.int().gte(-9007199254740991).lte(9007199254740991),
2350
+ eventCount: z.int().gte(-9007199254740991).lte(9007199254740991),
2351
+ promptTokens: z.string(),
2352
+ completionTokens: z.string(),
2353
+ });
2225
2354
  export const zUsageBreakdownItem = z.object({
2226
2355
  source: z.string(),
2227
2356
  operation: z.string(),
@@ -2235,11 +2364,12 @@ export const zUsage = z.object({
2235
2364
  from: z.string().nullable(),
2236
2365
  through: z.string(),
2237
2366
  breakdown: z.array(zUsageBreakdownItem),
2367
+ servedBy: z.array(zUsageServedByItem),
2238
2368
  daily: z.array(zUsageDailyPoint),
2239
- groupBy: z.enum(["user", "member", "agent", "model", "session", "project", "pod", "source"]).nullable(),
2369
+ groupBy: z.enum(["user", "member", "agent", "model", "session", "project", "pod", "source", "servedBy"]).nullable(),
2240
2370
  groups: z.array(zUsageGroup),
2241
2371
  });
2242
- export const zBlueprintInstallProjectTarget = z.union([
2372
+ export const zBlueprintAddProjectTarget = z.union([
2243
2373
  z.object({
2244
2374
  blueprintProjectSlug: z.string().min(1),
2245
2375
  mode: z.literal("create"),
@@ -2251,32 +2381,56 @@ export const zBlueprintInstallProjectTarget = z.union([
2251
2381
  projectId: z.string().regex(/^prj_[0-9A-HJKMNP-TV-Z]{26}$/),
2252
2382
  }),
2253
2383
  ]);
2254
- export const zBlueprintInstallInput = z.object({
2384
+ export const zBlueprintAddPodTarget = z.union([
2385
+ z.object({
2386
+ blueprintPodSlug: z.string().min(1),
2387
+ mode: z.literal("create"),
2388
+ name: z.string().min(1).max(256).optional(),
2389
+ }),
2390
+ z.object({
2391
+ blueprintPodSlug: z.string().min(1),
2392
+ mode: z.literal("existing"),
2393
+ podId: z.string().regex(/^pod_[0-9A-HJKMNP-TV-Z]{26}$/),
2394
+ }),
2395
+ ]);
2396
+ export const zBlueprintAddInput = z.object({
2255
2397
  source: z.string().min(1),
2256
- podId: z.string().regex(/^pod_[0-9A-HJKMNP-TV-Z]{26}$/),
2257
- projectTargets: z.array(zBlueprintInstallProjectTarget).optional(),
2398
+ podId: z
2399
+ .string()
2400
+ .regex(/^pod_[0-9A-HJKMNP-TV-Z]{26}$/)
2401
+ .optional(),
2402
+ targetProjectId: z
2403
+ .string()
2404
+ .regex(/^prj_[0-9A-HJKMNP-TV-Z]{26}$/)
2405
+ .optional(),
2406
+ podTargets: z.array(zBlueprintAddPodTarget).optional(),
2407
+ projectTargets: z.array(zBlueprintAddProjectTarget).optional(),
2258
2408
  });
2259
- export const zBlueprintInstallProjectMapping = z.object({
2409
+ export const zBlueprintAddProjectMapping = z.object({
2260
2410
  blueprintProjectSlug: z.string(),
2261
2411
  projectId: z.string().regex(/^prj_[0-9A-HJKMNP-TV-Z]{26}$/),
2262
2412
  });
2263
- export const zBlueprintInstallRequirement = z.object({
2264
- kind: z.enum(["credential", "channel", "capability", "other"]),
2413
+ export const zBlueprintAddPodMapping = z.object({
2414
+ blueprintPodSlug: z.string(),
2415
+ podId: z.string().regex(/^pod_[0-9A-HJKMNP-TV-Z]{26}$/),
2416
+ });
2417
+ export const zBlueprintAddRequirement = z.object({
2418
+ kind: z.enum(["credential", "channel"]),
2265
2419
  message: z.string(),
2266
2420
  project: z.string().optional(),
2267
2421
  credential: z.string().optional(),
2268
2422
  });
2269
- export const zBlueprintInstallReport = z.object({
2270
- agents: z.array(z.string()),
2423
+ export const zBlueprintAddReport = z.object({
2271
2424
  skills: z.array(z.string()),
2272
2425
  mcps: z.array(z.string()),
2273
2426
  skipped: z.array(z.object({
2274
- kind: z.enum(["skill", "agent", "mcp", "project", "trigger", "environment"]),
2427
+ kind: z.enum(["skill", "mcp", "trigger", "environment"]),
2275
2428
  sourceId: z.string(),
2276
2429
  reason: z.string(),
2277
2430
  })),
2278
- requirements: z.array(zBlueprintInstallRequirement),
2279
- projectMappings: z.array(zBlueprintInstallProjectMapping),
2431
+ requirements: z.array(zBlueprintAddRequirement),
2432
+ podMappings: z.array(zBlueprintAddPodMapping),
2433
+ projectMappings: z.array(zBlueprintAddProjectMapping),
2280
2434
  initialPrompt: z
2281
2435
  .object({
2282
2436
  prompt: z.string(),
@@ -2284,165 +2438,19 @@ export const zBlueprintInstallReport = z.object({
2284
2438
  .string()
2285
2439
  .regex(/^prj_[0-9A-HJKMNP-TV-Z]{26}$/)
2286
2440
  .optional(),
2287
- agentId: z
2288
- .string()
2289
- .regex(/^agt_[0-9A-HJKMNP-TV-Z]{26}$/)
2290
- .optional(),
2291
- })
2292
- .optional(),
2293
- });
2294
- export const zBlueprintSelection = z.object({
2295
- projectIds: z.array(z.string()).optional().default([]),
2296
- agentIds: z.array(z.string()).optional().default([]),
2297
- skillIds: z.array(z.string()).optional().default([]),
2298
- mcpIds: z.array(z.string()).optional().default([]),
2299
- replayIds: z.array(z.string()).optional().default([]),
2300
- cronTriggerIds: z.array(z.string()).optional().default([]),
2301
- });
2302
- export const zSpecEnvironmentDef = z.object({
2303
- networking: zNetworkingConfig,
2304
- packages: zPackagesConfig,
2305
- });
2306
- export const zSpecRequirement = z.object({
2307
- id: z.string(),
2308
- kind: z.enum(["credential_present", "capability", "other"]),
2309
- must: z.string(),
2310
- agent: z
2311
- .string()
2312
- .regex(/^[a-z0-9][a-z0-9-]*$/)
2313
- .optional(),
2314
- mcp: z
2315
- .string()
2316
- .regex(/^[a-z0-9][a-z0-9-]*$/)
2317
- .optional(),
2318
- skill: z
2319
- .string()
2320
- .regex(/^[a-z0-9][a-z0-9-]*$/)
2321
- .optional(),
2322
- verify: z.string().optional(),
2323
- });
2324
- export const zSpecEnvironmentEntry = z.object({
2325
- ref: z
2326
- .object({
2327
- id: z.string().regex(/^[a-z]+_[A-Za-z0-9]+$/),
2328
2441
  })
2329
2442
  .optional(),
2330
- def: zSpecEnvironmentDef.optional(),
2331
- requirements: z.array(zSpecRequirement).optional(),
2332
- notes: z.string().optional(),
2333
- });
2334
- export const zSpecCronTriggerEntry = z.object({
2335
- slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
2336
- ref: z
2337
- .object({
2338
- id: z.string().regex(/^[a-z]+_[A-Za-z0-9]+$/),
2339
- })
2340
- .optional(),
2341
- project: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
2342
- agent: z
2343
- .string()
2344
- .regex(/^[a-z0-9][a-z0-9-]*$/)
2345
- .optional(),
2346
- schedule: z.string(),
2347
- timezone: z.string().optional(),
2348
- until: z.iso
2349
- .datetime()
2350
- .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/)
2351
- .optional(),
2352
- inputMessage: z.string(),
2353
- enabled: z.boolean().optional(),
2354
- requirements: z.array(zSpecRequirement).optional(),
2355
- notes: z.string().optional(),
2356
- });
2357
- export const zSpecProjectDef = z.object({
2358
- name: z.string(),
2359
- description: z.string().optional(),
2360
- instructions: z.string().optional(),
2361
- references: zProjectReferences.optional(),
2362
- agents: z.array(zSpecProjectAgent).optional(),
2363
- skills: z.array(z.string().regex(/^[a-z0-9][a-z0-9-]*$/)).optional(),
2364
- mcps: z.array(z.string().regex(/^[a-z0-9][a-z0-9-]*$/)).optional(),
2365
- permission: zPermissionConfig.optional(),
2366
- buildOrder: z.int().gte(1).lte(9007199254740991).optional(),
2367
- });
2368
- export const zSpecProjectEntry = z.object({
2369
- slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
2370
- ref: zSpecRef.optional(),
2371
- def: zSpecProjectDef.optional(),
2372
- channels: z.array(zSpecChannelBinding).optional(),
2373
- requirements: z.array(zSpecRequirement).optional(),
2374
- notes: z.string().optional(),
2375
- });
2376
- export const zSpecMcpDef = z.object({
2377
- name: z.string(),
2378
- registrySlug: z.string().optional(),
2379
- remoteUrl: z.url().optional(),
2380
- auth: z.enum(["oauth", "basic", "api_key", "none", "mcp_provider"]).optional(),
2381
- });
2382
- export const zSpecMcpEntry = z.object({
2383
- slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
2384
- ref: zSpecRef.optional(),
2385
- def: zSpecMcpDef.optional(),
2386
- requirements: z.array(zSpecRequirement).optional(),
2387
- notes: z.string().optional(),
2388
- });
2389
- export const zSpecSkillDef = z.object({
2390
- name: z.string(),
2391
- registrySlug: z.string().optional(),
2392
- purpose: z.string(),
2393
- });
2394
- export const zSpecSkillEntry = z.object({
2395
- slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
2396
- ref: zSpecRef.optional(),
2397
- def: zSpecSkillDef.optional(),
2398
- requirements: z.array(zSpecRequirement).optional(),
2399
- notes: z.string().optional(),
2400
- });
2401
- export const zSpecAgentDef = z.object({
2402
- name: z.string(),
2403
- model: z.string().optional(),
2404
- scope: z.enum(["org", "user", "registry"]).optional(),
2405
- promptIntent: z.string().optional(),
2406
- skills: z.array(z.string().regex(/^[a-z0-9][a-z0-9-]*$/)).optional(),
2407
- mcps: z.array(z.string().regex(/^[a-z0-9][a-z0-9-]*$/)).optional(),
2408
- });
2409
- export const zSpecAgentEntry = z.object({
2410
- slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
2411
- ref: zSpecRef.optional(),
2412
- def: zSpecAgentDef.optional(),
2413
- requirements: z.array(zSpecRequirement).optional(),
2414
- notes: z.string().optional(),
2415
- });
2416
- export const zSpecBrief = z.object({
2417
- goal: z.string(),
2418
- scope: z.string().optional(),
2419
- actors: z.array(z.string()).optional(),
2420
- successCriteria: z.array(z.string()).optional(),
2421
- constraints: z.array(z.string()).optional(),
2422
- openQuestions: z.array(z.string()).optional(),
2423
- });
2424
- export const zSpecMeta = z.object({
2425
- name: z.string(),
2426
- description: z.string().optional(),
2427
- snapshotDate: z.string().optional(),
2428
- notes: z.string().optional(),
2429
- });
2430
- export const zSpec = z.object({
2431
- schemaVersion: z.literal(2),
2432
- meta: zSpecMeta,
2433
- brief: zSpecBrief.optional(),
2434
- instructions: z.string().optional(),
2435
- initialPrompt: zSpecInitialPrompt.optional(),
2436
- agents: z.array(zSpecAgentEntry),
2437
- skills: z.array(zSpecSkillEntry),
2438
- mcps: z.array(zSpecMcpEntry),
2439
- projects: z.array(zSpecProjectEntry),
2440
- triggers: z.array(zSpecCronTriggerEntry),
2441
- environment: zSpecEnvironmentEntry.optional(),
2442
2443
  });
2443
2444
  export const zBlueprint = z.object({
2444
2445
  id: z.string(),
2445
2446
  slug: z.string(),
2447
+ kind: zBlueprintKind,
2448
+ categories: zBlueprintCategories,
2449
+ brandColor: z
2450
+ .string()
2451
+ .regex(/^#[0-9a-f]{6}$/)
2452
+ .nullable(),
2453
+ icon: z.string().nullable(),
2446
2454
  name: z.string(),
2447
2455
  description: z.string().nullable(),
2448
2456
  orgId: z.string(),
@@ -2450,7 +2458,7 @@ export const zBlueprint = z.object({
2450
2458
  publisherId: z.string().nullable(),
2451
2459
  template: zSpec,
2452
2460
  replays: z.array(z.string()),
2453
- pageContent: zBlueprintPageContent.nullable(),
2461
+ examplePrompts: z.array(z.string().min(1).max(200)).max(6),
2454
2462
  websiteMetadata: zWebsiteMetadata.nullable(),
2455
2463
  createdAt: z.iso
2456
2464
  .datetime()
@@ -2483,7 +2491,7 @@ export const zAgentVersionArchiveResult = z.object({
2483
2491
  .nullable(),
2484
2492
  description: z.string().nullable(),
2485
2493
  prompt: z.string().nullable(),
2486
- model: z.string().nullable(),
2494
+ model: zModelSelection.nullable(),
2487
2495
  releaseNotes: z.string().nullable(),
2488
2496
  permission: zPermissionConfig,
2489
2497
  skills: z
@@ -2528,7 +2536,7 @@ export const zAgentVersion = z.object({
2528
2536
  .nullable(),
2529
2537
  description: z.string().nullable(),
2530
2538
  prompt: z.string().nullable(),
2531
- model: z.string().nullable(),
2539
+ model: zModelSelection.nullable(),
2532
2540
  releaseNotes: z.string().nullable(),
2533
2541
  permission: zPermissionConfig,
2534
2542
  skills: z
@@ -2637,14 +2645,14 @@ export const zAgentCreateBody = z.object({
2637
2645
  name: z.string().min(1).max(256),
2638
2646
  icon: z.string().nullish().default(null),
2639
2647
  tags: z.array(z.string()).nullish(),
2640
- visibility: z.enum(["private", "pod", "org"]).optional().default("org"),
2648
+ visibility: z.enum(["private", "org"]).optional().default("org"),
2641
2649
  version: z
2642
2650
  .union([z.string(), z.enum(["major", "minor", "patch"])])
2643
2651
  .optional()
2644
2652
  .default("patch"),
2645
2653
  description: z.string().optional(),
2646
2654
  prompt: z.string().optional(),
2647
- model: z.string().nullish(),
2655
+ model: zModelSelection.nullish(),
2648
2656
  permission: zPermissionConfig.optional(),
2649
2657
  skills: z
2650
2658
  .array(z.object({
@@ -2747,7 +2755,7 @@ export const zAgentVersionCreateBody = z.object({
2747
2755
  .default("patch"),
2748
2756
  description: z.string().optional(),
2749
2757
  prompt: z.string().optional(),
2750
- model: z.string().nullish(),
2758
+ model: zModelSelection.nullish(),
2751
2759
  permission: zPermissionConfig.optional(),
2752
2760
  skills: z
2753
2761
  .array(z.object({
@@ -2796,14 +2804,22 @@ export const zBlueprintListQuery = z.object({
2796
2804
  */
2797
2805
  export const zBlueprintListResponse = z.array(zBlueprint);
2798
2806
  export const zBlueprintCreateBody = z.object({
2807
+ slug: z.string().optional(),
2808
+ kind: zBlueprintKind,
2809
+ categories: zBlueprintCategories.optional(),
2799
2810
  name: z.string().min(1).max(256),
2800
2811
  description: z.string().optional().default(""),
2812
+ brandColor: z
2813
+ .string()
2814
+ .regex(/^#[0-9a-f]{6}$/)
2815
+ .nullish()
2816
+ .default(null),
2817
+ icon: z.string().nullish().default(null),
2818
+ examplePrompts: z.array(z.string().min(1).max(200)).max(6).optional().default([]),
2801
2819
  websiteMetadata: zWebsiteMetadata.nullish().default(null),
2802
- pageContent: zBlueprintPageContent.nullish().default(null),
2803
- instructions: z.string().optional(),
2804
- initialPrompt: zSpecInitialPrompt.optional(),
2805
- selection: zBlueprintSelection,
2806
- visibility: z.enum(["private", "pod", "org"]).optional().default("org"),
2820
+ replays: z.array(z.string()).optional().default([]),
2821
+ spec: zSpec,
2822
+ visibility: z.enum(["private", "org"]).optional().default("org"),
2807
2823
  });
2808
2824
  /**
2809
2825
  * Created blueprint
@@ -2811,19 +2827,29 @@ export const zBlueprintCreateBody = z.object({
2811
2827
  export const zBlueprintCreateResponse = zBlueprint;
2812
2828
  export const zBlueprintPushBody = z.object({
2813
2829
  id: z.string().optional(),
2830
+ slug: z.string().optional(),
2814
2831
  name: z.string().min(1).max(256).optional(),
2815
2832
  description: z.string().optional(),
2833
+ kind: zBlueprintKind,
2834
+ categories: zBlueprintCategories.optional(),
2835
+ examplePrompts: z.array(z.string().min(1).max(200)).max(6).optional(),
2836
+ brandColor: z
2837
+ .string()
2838
+ .regex(/^#[0-9a-f]{6}$/)
2839
+ .nullish(),
2840
+ icon: z.string().nullish(),
2841
+ websiteMetadata: zWebsiteMetadata.nullish(),
2816
2842
  spec: zSpec,
2817
2843
  });
2818
2844
  /**
2819
2845
  * Upserted blueprint
2820
2846
  */
2821
2847
  export const zBlueprintPushResponse = zBlueprint;
2822
- export const zBlueprintInstallBody = zBlueprintInstallInput;
2848
+ export const zBlueprintAddBody = zBlueprintAddInput;
2823
2849
  /**
2824
- * Install report
2850
+ * Add report
2825
2851
  */
2826
- export const zBlueprintInstallResponse = zBlueprintInstallReport;
2852
+ export const zBlueprintAddResponse = zBlueprintAddReport;
2827
2853
  export const zBlueprintGetPath = z.object({
2828
2854
  id: z.string().regex(/^blp_[0-9A-HJKMNP-TV-Z]{26}$/),
2829
2855
  });
@@ -2832,13 +2858,19 @@ export const zBlueprintGetPath = z.object({
2832
2858
  */
2833
2859
  export const zBlueprintGetResponse = zBlueprint;
2834
2860
  export const zBlueprintUpdateBody = z.object({
2861
+ kind: zBlueprintKind.optional(),
2862
+ categories: zBlueprintCategories.optional(),
2835
2863
  name: z.string().min(1).max(256).optional(),
2836
2864
  description: z.string().optional(),
2865
+ brandColor: z
2866
+ .string()
2867
+ .regex(/^#[0-9a-f]{6}$/)
2868
+ .nullish(),
2869
+ icon: z.string().nullish(),
2870
+ examplePrompts: z.array(z.string().min(1).max(200)).max(6).optional(),
2837
2871
  websiteMetadata: zWebsiteMetadata.nullish(),
2838
- pageContent: zBlueprintPageContent.nullish(),
2839
- instructions: z.string().optional(),
2840
- initialPrompt: zSpecInitialPrompt.nullish(),
2841
- selection: zBlueprintSelection.optional(),
2872
+ replays: z.array(z.string()).optional(),
2873
+ spec: zSpec.optional(),
2842
2874
  });
2843
2875
  export const zBlueprintUpdatePath = z.object({
2844
2876
  id: z.string().regex(/^blp_[0-9A-HJKMNP-TV-Z]{26}$/),
@@ -2888,14 +2920,53 @@ export const zBillingGetResponse = z.object({
2888
2920
  consumedAmountCents: z.number(),
2889
2921
  grantedCredits: z.string(),
2890
2922
  freeGrantCredits: z.string(),
2891
- plan: z.enum(["free", "plan_100", "plan_200"]),
2923
+ plan: z.enum([
2924
+ "free",
2925
+ "plan_50",
2926
+ "plan_75",
2927
+ "plan_100",
2928
+ "plan_150",
2929
+ "plan_200",
2930
+ "plan_300",
2931
+ "plan_400",
2932
+ "plan_500",
2933
+ "plan_750",
2934
+ "plan_1000",
2935
+ "plan_1500",
2936
+ "plan_2000",
2937
+ "plan_3000",
2938
+ "plan_4000",
2939
+ "plan_5000",
2940
+ "plan_7500",
2941
+ "plan_10000",
2942
+ ]),
2892
2943
  planStatus: z.string().nullable(),
2893
2944
  renewsAt: z.string().nullable(),
2894
- pendingPlan: z.enum(["plan_100", "plan_200"]).nullable(),
2945
+ pendingPlan: z
2946
+ .enum([
2947
+ "plan_50",
2948
+ "plan_75",
2949
+ "plan_100",
2950
+ "plan_150",
2951
+ "plan_200",
2952
+ "plan_300",
2953
+ "plan_400",
2954
+ "plan_500",
2955
+ "plan_750",
2956
+ "plan_1000",
2957
+ "plan_1500",
2958
+ "plan_2000",
2959
+ "plan_3000",
2960
+ "plan_4000",
2961
+ "plan_5000",
2962
+ "plan_7500",
2963
+ "plan_10000",
2964
+ ])
2965
+ .nullable(),
2895
2966
  });
2896
2967
  export const zBillingUsageQuery = z.object({
2897
2968
  groupBy: z
2898
- .enum(["user", "member", "agent", "model", "session", "project", "pod", "source"])
2969
+ .enum(["user", "member", "agent", "model", "session", "project", "pod", "source", "servedBy"])
2899
2970
  .optional()
2900
2971
  .default("source"),
2901
2972
  start: z.iso
@@ -2946,18 +3017,53 @@ export const zBillingInvoicePaymentUrlResponse = z.object({
2946
3017
  * Subscription plans
2947
3018
  */
2948
3019
  export const zBillingPlansResponse = z.array(z.object({
2949
- key: z.enum(["plan_100", "plan_200"]),
3020
+ key: z.enum([
3021
+ "plan_50",
3022
+ "plan_75",
3023
+ "plan_100",
3024
+ "plan_150",
3025
+ "plan_200",
3026
+ "plan_300",
3027
+ "plan_400",
3028
+ "plan_500",
3029
+ "plan_750",
3030
+ "plan_1000",
3031
+ "plan_1500",
3032
+ "plan_2000",
3033
+ "plan_3000",
3034
+ "plan_4000",
3035
+ "plan_5000",
3036
+ "plan_7500",
3037
+ "plan_10000",
3038
+ ]),
2950
3039
  priceCents: z.number(),
2951
3040
  creditsPerCycle: z.number(),
2952
3041
  name: z.string(),
2953
3042
  description: z.string().nullable(),
2954
3043
  tagline: z.string().nullable(),
2955
- features: z.array(z.string()),
2956
3044
  badge: z.string().nullable(),
2957
3045
  sortOrder: z.number(),
2958
3046
  }));
2959
3047
  export const zBillingSubscribeBody = z.object({
2960
- plan: z.enum(["plan_100", "plan_200"]),
3048
+ plan: z.enum([
3049
+ "plan_50",
3050
+ "plan_75",
3051
+ "plan_100",
3052
+ "plan_150",
3053
+ "plan_200",
3054
+ "plan_300",
3055
+ "plan_400",
3056
+ "plan_500",
3057
+ "plan_750",
3058
+ "plan_1000",
3059
+ "plan_1500",
3060
+ "plan_2000",
3061
+ "plan_3000",
3062
+ "plan_4000",
3063
+ "plan_5000",
3064
+ "plan_7500",
3065
+ "plan_10000",
3066
+ ]),
2961
3067
  });
2962
3068
  /**
2963
3069
  * Checkout URL
@@ -2972,7 +3078,25 @@ export const zBillingPortalResponse = z.object({
2972
3078
  url: z.string(),
2973
3079
  });
2974
3080
  export const zBillingChangePlanBody = z.object({
2975
- plan: z.enum(["plan_100", "plan_200"]),
3081
+ plan: z.enum([
3082
+ "plan_50",
3083
+ "plan_75",
3084
+ "plan_100",
3085
+ "plan_150",
3086
+ "plan_200",
3087
+ "plan_300",
3088
+ "plan_400",
3089
+ "plan_500",
3090
+ "plan_750",
3091
+ "plan_1000",
3092
+ "plan_1500",
3093
+ "plan_2000",
3094
+ "plan_3000",
3095
+ "plan_4000",
3096
+ "plan_5000",
3097
+ "plan_7500",
3098
+ "plan_10000",
3099
+ ]),
2976
3100
  });
2977
3101
  /**
2978
3102
  * Plan change started; checkoutUrl is set when the customer must authenticate the charge
@@ -3018,7 +3142,7 @@ export const zEnvironmentCreateBody = z.object({
3018
3142
  cpuCount: zTemplateCpuCount.optional(),
3019
3143
  memoryMB: zTemplateMemoryMb.optional(),
3020
3144
  buildCommands: z.array(z.string().min(1).max(4096)).max(50).optional().default([]),
3021
- visibility: z.enum(["private", "pod", "org"]).optional().default("org"),
3145
+ visibility: z.enum(["private", "org"]).optional().default("org"),
3022
3146
  });
3023
3147
  /**
3024
3148
  * Created environment
@@ -3081,12 +3205,10 @@ export const zEnvironmentArchivePath = z.object({
3081
3205
  */
3082
3206
  export const zEnvironmentArchiveResponse = zEnvironment;
3083
3207
  export const zFileStoreListQuery = z.object({
3084
- orgId: z.string().optional(),
3085
3208
  limit: z.int().gte(1).lte(1000).optional(),
3086
3209
  offset: z.int().gte(0).lte(9007199254740991).optional(),
3087
3210
  includeDeprecated: z.boolean().optional(),
3088
- userId: z.string().nullish(),
3089
- visibility: z.enum(["private", "pod", "org"]).optional(),
3211
+ visibility: z.enum(["private", "org"]).optional(),
3090
3212
  });
3091
3213
  /**
3092
3214
  * List of file stores
@@ -3096,7 +3218,7 @@ export const zFileStoreCreateBody = z.object({
3096
3218
  name: z.string().min(1).max(256),
3097
3219
  description: z.string().optional().default(""),
3098
3220
  isDefault: z.boolean().optional().default(false),
3099
- visibility: z.enum(["private", "pod", "org"]).optional().default("org"),
3221
+ visibility: z.enum(["private", "org"]).optional().default("org"),
3100
3222
  });
3101
3223
  /**
3102
3224
  * Created file store
@@ -3310,6 +3432,46 @@ export const zGoogleConnectQuery = z.object({
3310
3432
  * Authorization URL for the user to visit
3311
3433
  */
3312
3434
  export const zGoogleConnectResponse = zGoogleWorkspaceOAuthStartResult;
3435
+ /**
3436
+ * Seat health and provider usage
3437
+ */
3438
+ export const zInferenceSubscriptionsListResponse = z.array(zInferenceSubscriptionSeat);
3439
+ export const zInferenceSubscriptionsConnectAnthropicBody = zInferenceSubscriptionConnectInput;
3440
+ /**
3441
+ * The connected seat
3442
+ */
3443
+ export const zInferenceSubscriptionsConnectAnthropicResponse = zInferenceSubscriptionSeat;
3444
+ export const zInferenceSubscriptionsRemovePath = z.object({
3445
+ id: z.string(),
3446
+ });
3447
+ /**
3448
+ * Removed
3449
+ */
3450
+ export const zInferenceSubscriptionsRemoveResponse = z.void();
3451
+ export const zInferenceSubscriptionsRenameBody = zInferenceSubscriptionRenameInput;
3452
+ export const zInferenceSubscriptionsRenamePath = z.object({
3453
+ id: z.string(),
3454
+ });
3455
+ /**
3456
+ * The renamed seat
3457
+ */
3458
+ export const zInferenceSubscriptionsRenameResponse = zInferenceSubscriptionSeat;
3459
+ /**
3460
+ * The caller's keys, or every key in the organization for admins
3461
+ */
3462
+ export const zInferenceKeysListResponse = z.array(zInferenceKey);
3463
+ export const zInferenceKeysCreateBody = zInferenceKeyCreateInput;
3464
+ /**
3465
+ * The new key; the secret is shown exactly once
3466
+ */
3467
+ export const zInferenceKeysCreateResponse = zInferenceKeyCreated;
3468
+ export const zInferenceKeysRevokePath = z.object({
3469
+ id: z.string(),
3470
+ });
3471
+ /**
3472
+ * Revoked
3473
+ */
3474
+ export const zInferenceKeysRevokeResponse = z.void();
3313
3475
  /**
3314
3476
  * OAuth apps
3315
3477
  */
@@ -3387,8 +3549,9 @@ export const zMcpCreateBody = z.object({
3387
3549
  prompts: z.array(z.string()).optional().default([]),
3388
3550
  auth: z.enum(["none", "oauth", "api_key", "basic", "mcp_provider"]).optional().default("none"),
3389
3551
  authConfig: zMcpAuthConfig.nullish().default(null),
3552
+ setup: zSetup.nullish().default(null),
3390
3553
  tags: z.array(z.string()).nullish(),
3391
- visibility: z.enum(["private", "pod", "org"]).optional().default("org"),
3554
+ visibility: z.enum(["private", "org"]).optional().default("org"),
3392
3555
  allowDuplicateUrl: z.boolean().optional().default(false),
3393
3556
  });
3394
3557
  /**
@@ -3446,6 +3609,7 @@ export const zMcpUpdateBody = z.object({
3446
3609
  auth: z.enum(["none", "oauth", "api_key", "basic", "mcp_provider"]).optional(),
3447
3610
  authConfig: zMcpAuthConfig.nullish(),
3448
3611
  websiteMetadata: zWebsiteMetadata.nullish(),
3612
+ setup: zSetup.nullish(),
3449
3613
  tags: z.array(z.string()).nullish(),
3450
3614
  });
3451
3615
  export const zMcpUpdatePath = z.object({
@@ -3512,12 +3676,10 @@ export const zMeCompleteOnboardingBody = z.object({
3512
3676
  */
3513
3677
  export const zMeCompleteOnboardingResponse = zOnboardingComplete;
3514
3678
  export const zMemoryStoreListQuery = z.object({
3515
- orgId: z.string().optional(),
3516
3679
  limit: z.int().gte(1).lte(1000).optional(),
3517
3680
  offset: z.int().gte(0).lte(9007199254740991).optional(),
3518
3681
  includeDeprecated: z.boolean().optional(),
3519
- userId: z.string().nullish(),
3520
- visibility: z.enum(["private", "pod", "org"]).optional(),
3682
+ visibility: z.enum(["private", "org"]).optional(),
3521
3683
  });
3522
3684
  /**
3523
3685
  * List of memory stores
@@ -3527,7 +3689,7 @@ export const zMemoryStoreCreateBody = z.object({
3527
3689
  name: z.string().min(1).max(256),
3528
3690
  description: z.string().optional().default(""),
3529
3691
  isDefault: z.boolean().optional().default(false),
3530
- visibility: z.enum(["private", "pod", "org"]).optional().default("org"),
3692
+ visibility: z.enum(["private", "org"]).optional().default("org"),
3531
3693
  });
3532
3694
  /**
3533
3695
  * Created memory store
@@ -3634,9 +3796,11 @@ export const zOnboardingStartBody = z.object({
3634
3796
  prompt: z.string().min(1).max(8000),
3635
3797
  skillIds: z.array(z.string()).max(64).optional().default([]),
3636
3798
  mcpIds: z.array(z.string()).max(64).optional().default([]),
3799
+ persona: z.string().max(64).nullish(),
3800
+ channels: z.array(z.string().max(32)).max(16).optional().default([]),
3637
3801
  });
3638
3802
  /**
3639
- * Session created and prompt sent
3803
+ * Session created and initial prompt prepared
3640
3804
  */
3641
3805
  export const zOnboardingStartResponse = zOnboardingStart;
3642
3806
  /**
@@ -3648,7 +3812,7 @@ export const zOnboardingSetupPersonalOrgResponse = zOnboardingSetupPersonalOrg;
3648
3812
  */
3649
3813
  export const zOrgGetResponse = zOrgSettings;
3650
3814
  export const zOrgUpdateBody = z.object({
3651
- defaultModel: z.string().nullish(),
3815
+ defaultModel: zModelSelection.nullish(),
3652
3816
  instructions: z.string().optional(),
3653
3817
  });
3654
3818
  /**
@@ -3711,7 +3875,7 @@ export const zPodCreateBody = z.object({
3711
3875
  isDefault: z.boolean().optional().default(false),
3712
3876
  presetTemplate: zPresetTemplate.optional(),
3713
3877
  createDefaultProject: z.boolean().optional().default(true),
3714
- visibility: z.enum(["private", "pod", "org"]).optional().default("org"),
3878
+ visibility: z.enum(["private", "org"]).optional().default("org"),
3715
3879
  });
3716
3880
  /**
3717
3881
  * Created pod with freshly provisioned sandbox
@@ -3730,7 +3894,7 @@ export const zPodUpdateBody = z.object({
3730
3894
  description: z.string().optional(),
3731
3895
  isPrivate: z.boolean().optional(),
3732
3896
  environmentId: z.string().nullish(),
3733
- defaultModel: z.string().nullish(),
3897
+ defaultModel: zModelSelection.nullish(),
3734
3898
  instructions: z.string().optional(),
3735
3899
  presetTemplate: zPresetTemplate.optional(),
3736
3900
  });
@@ -3745,7 +3909,7 @@ export const zPodUsagePath = z.object({
3745
3909
  id: z.string().regex(/^pod_[0-9A-HJKMNP-TV-Z]{26}$/),
3746
3910
  });
3747
3911
  export const zPodUsageQuery = z.object({
3748
- groupBy: z.enum(["user", "member", "agent", "model", "session", "project", "pod", "source"]).optional(),
3912
+ groupBy: z.enum(["user", "member", "agent", "model", "session", "project", "pod", "source", "servedBy"]).optional(),
3749
3913
  start: z.iso
3750
3914
  .datetime()
3751
3915
  .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/)
@@ -3964,7 +4128,7 @@ export const zProjectCreateBody = z.object({
3964
4128
  permission: zPermissionConfig.optional(),
3965
4129
  gitRepos: z.array(zProjectGitRepo).optional().default([]),
3966
4130
  references: zProjectReferences.optional(),
3967
- visibility: z.enum(["private", "pod", "org"]).optional().default("org"),
4131
+ visibility: z.enum(["private", "org"]).optional().default("org"),
3968
4132
  });
3969
4133
  /**
3970
4134
  * Created project
@@ -3984,7 +4148,7 @@ export const zProjectUpdateBody = z.object({
3984
4148
  permission: zPermissionConfig.optional(),
3985
4149
  gitRepos: z.array(zProjectGitRepo).optional(),
3986
4150
  references: zProjectReferences.optional(),
3987
- defaultModel: z.string().nullish(),
4151
+ defaultModel: zModelSelection.nullish(),
3988
4152
  instructions: z.string().optional(),
3989
4153
  });
3990
4154
  export const zProjectUpdatePath = z.object({
@@ -3998,7 +4162,7 @@ export const zProjectUsagePath = z.object({
3998
4162
  id: z.string().regex(/^prj_[0-9A-HJKMNP-TV-Z]{26}$/),
3999
4163
  });
4000
4164
  export const zProjectUsageQuery = z.object({
4001
- groupBy: z.enum(["user", "member", "agent", "model", "session", "project", "pod", "source"]).optional(),
4165
+ groupBy: z.enum(["user", "member", "agent", "model", "session", "project", "pod", "source", "servedBy"]).optional(),
4002
4166
  start: z.iso
4003
4167
  .datetime()
4004
4168
  .regex(/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/)
@@ -4229,7 +4393,7 @@ export const zReplayCreateBody = z.object({
4229
4393
  publisherId: z.string().nullish().default(null),
4230
4394
  websiteMetadata: zWebsiteMetadata.nullish().default(null),
4231
4395
  shareToken: z.string().nullish().default(null),
4232
- visibility: z.enum(["private", "pod", "org"]).optional().default("org"),
4396
+ visibility: z.enum(["private", "org"]).optional().default("org"),
4233
4397
  });
4234
4398
  /**
4235
4399
  * Created
@@ -4450,6 +4614,7 @@ export const zSkillCreateBody = z.object({
4450
4614
  docUrl: z.url().nullish().default(null),
4451
4615
  repository: zRepository.nullish().default(null),
4452
4616
  websiteMetadata: zWebsiteMetadata.nullish().default(null),
4617
+ setup: zSetup.nullish().default(null),
4453
4618
  version: z.string().optional(),
4454
4619
  releaseNotes: z.string().optional(),
4455
4620
  requiredCredentials: z.array(zSkillRequiredCredential).optional(),
@@ -4471,7 +4636,7 @@ export const zSkillCreateBody = z.object({
4471
4636
  path: z.string().optional(),
4472
4637
  })
4473
4638
  .optional(),
4474
- visibility: z.enum(["private", "pod", "org"]).optional().default("org"),
4639
+ visibility: z.enum(["private", "org"]).optional().default("org"),
4475
4640
  });
4476
4641
  /**
4477
4642
  * Created skill
@@ -4498,6 +4663,7 @@ export const zSkillUpdateBody = z.object({
4498
4663
  docUrl: z.string().nullish(),
4499
4664
  repository: zRepository.nullish(),
4500
4665
  websiteMetadata: zWebsiteMetadata.nullish(),
4666
+ setup: zSetup.nullish(),
4501
4667
  tags: z.array(z.string()).nullish(),
4502
4668
  });
4503
4669
  export const zSkillUpdatePath = z.object({
@@ -4514,6 +4680,19 @@ export const zSkillArchivePath = z.object({
4514
4680
  * Archived skill with the blast radius of agents and projects that referenced it
4515
4681
  */
4516
4682
  export const zSkillArchiveResponse = zSkillArchiveResult;
4683
+ export const zSkillSourceUpdateBody = z.object({
4684
+ type: z.literal("git"),
4685
+ url: z.url(),
4686
+ ref: z.string().optional(),
4687
+ path: z.string().optional(),
4688
+ });
4689
+ export const zSkillSourceUpdatePath = z.object({
4690
+ id: z.string().regex(/^skl_[0-9A-HJKMNP-TV-Z]{26}$/),
4691
+ });
4692
+ /**
4693
+ * Updated skill
4694
+ */
4695
+ export const zSkillSourceUpdateResponse = zSkill;
4517
4696
  export const zSkillPublishPath = z.object({
4518
4697
  id: z.string().regex(/^skl_[0-9A-HJKMNP-TV-Z]{26}$/),
4519
4698
  });
@@ -4541,7 +4720,7 @@ export const zSkillUndeprecateResponse = zSkill;
4541
4720
  export const zSkillCopyBody = z.object({
4542
4721
  name: z.string(),
4543
4722
  version: z.string().optional(),
4544
- visibility: z.enum(["private", "pod", "org"]).optional().default("org"),
4723
+ visibility: z.enum(["private", "org"]).optional().default("org"),
4545
4724
  });
4546
4725
  export const zSkillCopyPath = z.object({
4547
4726
  id: z.string().regex(/^skl_[0-9A-HJKMNP-TV-Z]{26}$/),
@@ -4672,6 +4851,7 @@ export const zCronTriggerListResponse = z.array(zCronTrigger);
4672
4851
  export const zCronTriggerCreateBody = z.object({
4673
4852
  projectAgentId: z.string().nullish().default(null),
4674
4853
  inputMessage: z.string(),
4854
+ model: zModelSelection.nullish().default(null),
4675
4855
  schedule: z.string(),
4676
4856
  timezone: z.string().optional().default("UTC"),
4677
4857
  until: z.iso
@@ -4699,6 +4879,7 @@ export const zCronTriggerGetResponse = zCronTriggerDetail;
4699
4879
  export const zCronTriggerUpdateBody = z.object({
4700
4880
  projectAgentId: z.string().nullish(),
4701
4881
  inputMessage: z.string().optional(),
4882
+ model: zModelSelection.nullish(),
4702
4883
  schedule: z.string().optional(),
4703
4884
  timezone: z.string().optional(),
4704
4885
  until: z.iso
@@ -5093,6 +5274,11 @@ export const zRegistryBlueprintListQuery = z.object({
5093
5274
  limit: z.int().gte(1).lte(1000).optional(),
5094
5275
  offset: z.int().gte(0).lte(9007199254740991).optional(),
5095
5276
  includeDeprecated: z.boolean().optional(),
5277
+ kind: zBlueprintKind.optional(),
5278
+ usecase: z.string().min(1).optional(),
5279
+ role: z.string().min(1).optional(),
5280
+ function: z.string().min(1).optional(),
5281
+ vertical: z.string().min(1).optional(),
5096
5282
  });
5097
5283
  /**
5098
5284
  * Published blueprint list