@renai-labs/sdk 0.1.20 → 0.1.22

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.
@@ -97,21 +97,6 @@ export type WebsiteMetadata = {
97
97
  supportUrl?: string;
98
98
  privacyPolicyUrl?: string;
99
99
  };
100
- export type PublisherPublicView = {
101
- id: string;
102
- slug: string;
103
- handle: string;
104
- name: string;
105
- description: string | null;
106
- avatar: string | null;
107
- url: string | null;
108
- isVerified: boolean;
109
- links: Array<PublisherLink>;
110
- };
111
- export type PublisherLink = {
112
- label: string;
113
- href: string;
114
- };
115
100
  export type BlueprintPublicView = {
116
101
  id: string;
117
102
  slug: string;
@@ -120,6 +105,7 @@ export type BlueprintPublicView = {
120
105
  websiteMetadata: WebsiteMetadata | null;
121
106
  pageContent: BlueprintPageContent | null;
122
107
  publisherId: string;
108
+ publisher?: PublisherPublicView | null;
123
109
  template: SpecPublic;
124
110
  replays: Array<string>;
125
111
  };
@@ -282,6 +268,21 @@ export type SpecPublic = {
282
268
  };
283
269
  };
284
270
  };
271
+ export type PublisherLink = {
272
+ label: string;
273
+ href: string;
274
+ };
275
+ export type PublisherPublicView = {
276
+ id: string;
277
+ slug: string;
278
+ handle: string;
279
+ name: string;
280
+ description: string | null;
281
+ avatar: string | null;
282
+ url: string | null;
283
+ isVerified: boolean;
284
+ links: Array<PublisherLink>;
285
+ };
285
286
  export type BlueprintOutcome = {
286
287
  title: string;
287
288
  description: string;
@@ -299,14 +300,61 @@ export type BlueprintPageContent = {
299
300
  outcomes?: Array<BlueprintOutcome>;
300
301
  relatedBlueprintSlugs?: Array<string>;
301
302
  };
303
+ export type BlueprintPublicListItem = {
304
+ id: string;
305
+ slug: string;
306
+ name: string;
307
+ description: string | null;
308
+ websiteMetadata: WebsiteMetadata | null;
309
+ publisherId: string | null;
310
+ publisher?: PublisherPublicView | null;
311
+ updatedAt: string;
312
+ };
313
+ export type RequirementWhen = {
314
+ name: string;
315
+ op: "eq" | "neq";
316
+ value: string;
317
+ };
302
318
  export type RequiredCredential = {
319
+ kind?: "env";
320
+ name: string;
321
+ description?: string;
322
+ } | {
323
+ kind: "secret";
324
+ name: string;
325
+ description?: string;
326
+ } | {
327
+ kind: "oauth_app";
328
+ name: string;
329
+ description?: string;
330
+ } | {
331
+ kind: "text";
332
+ name: string;
333
+ description?: string;
334
+ message: string;
335
+ placeholder?: string;
336
+ when?: RequirementWhen;
337
+ } | {
338
+ kind: "select";
303
339
  name: string;
304
340
  description?: string;
341
+ message: string;
342
+ options: Array<{
343
+ label: string;
344
+ value: string;
345
+ hint?: string;
346
+ }>;
347
+ when?: RequirementWhen;
305
348
  };
306
349
  export type Repository = {
307
350
  url?: string;
308
351
  source?: string;
309
352
  };
353
+ export type McpTimeout = {
354
+ startup?: number;
355
+ catalog?: number;
356
+ execution?: number;
357
+ };
310
358
  export type AgentLatestVersion = {
311
359
  id: string;
312
360
  agentId: string;
@@ -316,6 +364,9 @@ export type AgentLatestVersion = {
316
364
  model: string | null;
317
365
  skills: Array<{
318
366
  skillId: string;
367
+ /**
368
+ * Pin a specific skill version, or null to track the skill's latest version.
369
+ */
319
370
  skillVersionId?: string | null;
320
371
  skill: {
321
372
  id: string;
@@ -334,25 +385,47 @@ export type AgentLatestVersion = {
334
385
  };
335
386
  }>;
336
387
  };
337
- export type OAuthStartInput = {
388
+ export type OAuthSessionStatus = {
389
+ id: string;
390
+ /**
391
+ * Poll until this is complete (credential stored), failed, or expired.
392
+ */
393
+ status: "pending" | "complete" | "failed" | "expired";
394
+ mcpId: string | null;
395
+ credentialId: string | null;
396
+ failureReason: string | null;
397
+ expiresAt: string;
398
+ };
399
+ /**
400
+ * Start 'Sign in with X' for an MCP. Needs a human with a browser: unless alreadyConnected, hand the returned authorizationUrl to the user and poll the session until it is complete, failed, or expired.
401
+ */
402
+ export type OAuthConnectBody = {
338
403
  mcpId: string;
339
404
  scope?: string;
340
- callbackUrl?: string;
341
405
  };
342
- export type OAuthStartResult = {
406
+ export type OAuthConnectResult = {
407
+ alreadyConnected: true;
408
+ credentialId: string;
409
+ } | {
410
+ alreadyConnected: false;
343
411
  authorizationUrl: string;
344
412
  sessionId: string;
345
- state: string;
346
413
  };
347
414
  export type CredentialTransferInput = {
348
415
  targetVaultId: string;
416
+ /**
417
+ * copy duplicates the credential into the target vault; move relocates it (the source is deleted). Rotating tokens (oauth, mcp_provider) are move-only to avoid sharing a single-use token across vaults.
418
+ */
349
419
  mode?: "copy" | "move";
420
+ /**
421
+ * On an anchor clash in the target vault: fail rejects the transfer; replace deletes the loser.
422
+ */
350
423
  conflict?: "fail" | "replace";
351
424
  };
352
425
  export type CredentialTransferResult = {
353
426
  target: Credential;
354
427
  sourceCredentialId: string;
355
- sourceArchived: boolean;
428
+ sourceDeleted: boolean;
356
429
  replacedCredentialId: string | null;
357
430
  };
358
431
  export type CredentialAuthPublic = {
@@ -367,6 +440,18 @@ export type CredentialAuthPublic = {
367
440
  scope?: string;
368
441
  resource?: string;
369
442
  } | null;
443
+ profile?: {
444
+ service: "github";
445
+ id: number;
446
+ login: string;
447
+ name: string | null;
448
+ } | {
449
+ service: "google_workspace";
450
+ sub: string;
451
+ email: string;
452
+ name: string | null;
453
+ hd: string | null;
454
+ } | null;
370
455
  } | {
371
456
  type: "env";
372
457
  } | {
@@ -376,20 +461,26 @@ export type CredentialAuthPublic = {
376
461
  type: "mcp_provider";
377
462
  provider: "composio";
378
463
  userId: string;
464
+ } | {
465
+ type: "custom";
466
+ fieldNames: Array<string>;
379
467
  };
380
468
  export type Credential = {
381
469
  id: string;
382
470
  vaultId: string;
383
471
  name: string;
384
472
  mcpId: string | null;
473
+ oauthAppId: string | null;
385
474
  provider: "github" | "google_workspace" | null;
386
475
  label: string | null;
387
476
  keyPreview: string | null;
388
477
  auth: CredentialAuthPublic;
389
478
  createdAt: string;
390
479
  updatedAt: string;
391
- archivedAt: string | null;
392
480
  };
481
+ /**
482
+ * Rotate the secret in place. The kind (bearer/oauth/env/basic) cannot change. Replacing an OAuth token without its renewal info (refresh token + token endpoint) disables automatic renewal.
483
+ */
393
484
  export type CredentialAuth = {
394
485
  type: "bearer";
395
486
  token: string;
@@ -430,17 +521,97 @@ export type CredentialAuth = {
430
521
  provider: "composio";
431
522
  userId: string;
432
523
  url: string;
524
+ } | {
525
+ type: "custom";
526
+ fields: {
527
+ [key: string]: string;
528
+ };
529
+ };
530
+ /**
531
+ * Create a credential in one of two slots. Adding to a slot that is already filled replaces it in place (that is what 'Reconnect' does). Labels double as environment-variable names and must be unique per vault.
532
+ */
533
+ export type CreateCredentialBody = {
534
+ /**
535
+ * Tie this credential to one MCP server (pass its mcpId).
536
+ */
537
+ slot: "mcp";
538
+ mcpId: string;
539
+ name: string;
540
+ auth: CredentialCreateAuth;
541
+ } | {
542
+ /**
543
+ * Expose this credential to the workspace as a named environment variable.
544
+ */
545
+ slot: "env";
546
+ /**
547
+ * The env-var name; UPPER_SNAKE_CASE, unique within the vault.
548
+ */
549
+ label: string;
550
+ name: string;
551
+ auth: CredentialCreateAuth;
552
+ };
553
+ export type CredentialCreateAuth = {
554
+ type: "bearer";
555
+ token: string;
556
+ } | {
557
+ type: "oauth";
558
+ accessToken: string;
559
+ expiresAt?: string | null;
560
+ refresh?: {
561
+ clientId: string;
562
+ refreshToken: string;
563
+ clientSecret?: string;
564
+ tokenEndpoint?: string;
565
+ tokenEndpointAuth?: "none" | "client_secret_basic" | "client_secret_post";
566
+ scope?: string;
567
+ resource?: string;
568
+ } | null;
569
+ profile?: {
570
+ service: "github";
571
+ id: number;
572
+ login: string;
573
+ name: string | null;
574
+ } | {
575
+ service: "google_workspace";
576
+ sub: string;
577
+ email: string;
578
+ name: string | null;
579
+ hd: string | null;
580
+ } | null;
581
+ } | {
582
+ type: "env";
583
+ value: string;
584
+ } | {
585
+ type: "basic";
586
+ username: string;
587
+ password: string;
588
+ } | {
589
+ type: "custom";
590
+ fields: {
591
+ [key: string]: string;
592
+ };
593
+ };
594
+ export type VaultDetail = {
595
+ id: string;
596
+ name: string;
597
+ description: string | null;
598
+ orgId: string;
599
+ userId: string | null;
600
+ podId: string | null;
601
+ createdAt: string;
602
+ updatedAt: string;
603
+ tier: "org" | "pod" | "user";
604
+ credentialLimit: number;
433
605
  };
434
606
  export type Vault = {
435
607
  id: string;
436
608
  name: string;
437
609
  description: string | null;
438
- isDefault: boolean;
439
610
  orgId: string;
440
611
  userId: string | null;
612
+ podId: string | null;
441
613
  createdAt: string;
442
614
  updatedAt: string;
443
- archivedAt: string | null;
444
615
  };
445
616
  export type LinearMapping = {
446
617
  id: string;
@@ -584,6 +755,32 @@ export type WebhookTrigger = {
584
755
  updatedAt: string;
585
756
  archivedAt: string | null;
586
757
  };
758
+ export type CronTriggerDetail = {
759
+ id: string;
760
+ projectId: string;
761
+ projectAgentId: string | null;
762
+ senderUserId: string;
763
+ inputMessage: string;
764
+ schedule: string;
765
+ timezone: string | null;
766
+ until: string | null;
767
+ isEnabled: boolean;
768
+ syncedAt: string | null;
769
+ createdAt: string;
770
+ updatedAt: string;
771
+ archivedAt: string | null;
772
+ /**
773
+ * Most recent fire pulled from the Temporal schedule; null before the first run or if the schedule is missing.
774
+ */
775
+ lastRun: {
776
+ at: string;
777
+ status: string;
778
+ } | null;
779
+ /**
780
+ * Next scheduled fire time from the Temporal schedule, if any.
781
+ */
782
+ nextRunAt: string | null;
783
+ };
587
784
  export type CronTrigger = {
588
785
  id: string;
589
786
  projectId: string;
@@ -626,7 +823,7 @@ export type Topology = {
626
823
  slug: string;
627
824
  name: string;
628
825
  /**
629
- * Ren model id, e.g. opus-4-8, sonnet-5, haiku-4-5.
826
+ * Ren model id, e.g. opus-5, sonnet-5, haiku-4-5.
630
827
  */
631
828
  model?: string;
632
829
  /**
@@ -835,6 +1032,22 @@ export type Topology = {
835
1032
  address: string;
836
1033
  }>;
837
1034
  };
1035
+ export type SkillVersionFiles = {
1036
+ /**
1037
+ * Discriminant: this version is file-backed and returns its files inline.
1038
+ */
1039
+ type: "files";
1040
+ files: Array<{
1041
+ /**
1042
+ * Relative path within the skill folder.
1043
+ */
1044
+ path: string;
1045
+ /**
1046
+ * Base64-encoded file bytes. Decode to reconstruct the exact file.
1047
+ */
1048
+ contentBase64: string;
1049
+ }>;
1050
+ };
838
1051
  export type SkillVersion = {
839
1052
  id: string;
840
1053
  skillId: string;
@@ -844,16 +1057,64 @@ export type SkillVersion = {
844
1057
  archivedAt: string | null;
845
1058
  source: {
846
1059
  type: "s3";
847
- url: string;
1060
+ /**
1061
+ * S3 object-key prefix holding the version's files, one object per file at `${key}/${path}`. The prefix is stored (not a full URL) so a storage-endpoint change never breaks a stored skill; presigned URLs are built at read time (decision 12, Materialise fix #5).
1062
+ */
1063
+ key: string;
848
1064
  } | {
849
1065
  type: "git";
1066
+ /**
1067
+ * HTTPS git repository URL (https:// only). Public repos are cloned directly; private repos use the org's GitHub installation.
1068
+ */
850
1069
  url: string;
1070
+ /**
1071
+ * Branch, tag, or commit to mirror. Omitted = the remote's default branch (HEAD). Floating refs are re-resolved at index build time.
1072
+ */
851
1073
  ref?: string;
1074
+ /**
1075
+ * Subdirectory containing SKILL.md, relative to the repo root. No leading slash or '..' segments.
1076
+ */
852
1077
  path?: string;
853
1078
  };
854
- requiredCredentials: Array<RequiredCredential>;
1079
+ requiredCredentials: Array<SkillRequiredCredential>;
855
1080
  releaseNotes: string | null;
856
- contentHash: string | null;
1081
+ };
1082
+ export type SkillRequiredCredential = {
1083
+ kind?: "env";
1084
+ name: string;
1085
+ description?: string;
1086
+ } | {
1087
+ kind: "oauth_app";
1088
+ name: string;
1089
+ description?: string;
1090
+ };
1091
+ export type SkillArchiveResult = {
1092
+ id: string;
1093
+ slug: string;
1094
+ name: string;
1095
+ description: string | null;
1096
+ icon: string | null;
1097
+ docUrl: string | null;
1098
+ repository: Repository | null;
1099
+ orgId: string;
1100
+ userId: string | null;
1101
+ publisherId: string | null;
1102
+ parentId: string | null;
1103
+ websiteMetadata: WebsiteMetadata | null;
1104
+ sortOrder: number | null;
1105
+ popularityScore: number | null;
1106
+ trendingScore: number | null;
1107
+ rank: number | null;
1108
+ latestVersionId: string | null;
1109
+ createdAt: string;
1110
+ updatedAt: string;
1111
+ archivedAt: string | null;
1112
+ deprecatedAt: string | null;
1113
+ deprecationMessage: string | null;
1114
+ tags?: Array<string>;
1115
+ publisher?: PublisherPublicView | null;
1116
+ agentCount: number;
1117
+ projectCount: number;
857
1118
  };
858
1119
  export type Skill = {
859
1120
  id: string;
@@ -879,6 +1140,7 @@ export type Skill = {
879
1140
  deprecatedAt: string | null;
880
1141
  deprecationMessage: string | null;
881
1142
  tags?: Array<string>;
1143
+ publisher?: PublisherPublicView | null;
882
1144
  };
883
1145
  export type SessionVolumeRef = {
884
1146
  kind: "outputs" | "uploads";
@@ -909,8 +1171,43 @@ export type AuthRequirementEnvSource = {
909
1171
  name: string;
910
1172
  };
911
1173
  export type AuthRequirementEnv = {
1174
+ kind?: "env";
1175
+ name: string;
1176
+ description?: string;
1177
+ satisfied: boolean;
1178
+ neededBy: Array<AuthRequirementEnvSource>;
1179
+ } | {
1180
+ kind: "secret";
1181
+ name: string;
1182
+ description?: string;
1183
+ satisfied: boolean;
1184
+ neededBy: Array<AuthRequirementEnvSource>;
1185
+ } | {
1186
+ kind: "oauth_app";
1187
+ name: string;
1188
+ description?: string;
1189
+ satisfied: boolean;
1190
+ neededBy: Array<AuthRequirementEnvSource>;
1191
+ } | {
1192
+ kind: "text";
1193
+ name: string;
1194
+ description?: string;
1195
+ message: string;
1196
+ placeholder?: string;
1197
+ when?: RequirementWhen;
1198
+ satisfied: boolean;
1199
+ neededBy: Array<AuthRequirementEnvSource>;
1200
+ } | {
1201
+ kind: "select";
912
1202
  name: string;
913
1203
  description?: string;
1204
+ message: string;
1205
+ options: Array<{
1206
+ label: string;
1207
+ value: string;
1208
+ hint?: string;
1209
+ }>;
1210
+ when?: RequirementWhen;
914
1211
  satisfied: boolean;
915
1212
  neededBy: Array<AuthRequirementEnvSource>;
916
1213
  };
@@ -920,6 +1217,17 @@ export type McpAuthConfig = {
920
1217
  tokenEndpoint?: string;
921
1218
  authorizationEndpoint?: string;
922
1219
  tokenEndpointAuth?: "none" | "client_secret_basic" | "client_secret_post";
1220
+ oauthAppName?: string;
1221
+ } | {
1222
+ type: "header";
1223
+ headers?: Array<{
1224
+ name: string;
1225
+ template: string;
1226
+ }>;
1227
+ queryParams?: Array<{
1228
+ name: string;
1229
+ template: string;
1230
+ }>;
923
1231
  } | {
924
1232
  type: "api_key";
925
1233
  headerName?: string;
@@ -1020,6 +1328,9 @@ export type SessionCreateJob = {
1020
1328
  jobId: string;
1021
1329
  status: "pending";
1022
1330
  };
1331
+ export type ResourceIconUpload = {
1332
+ url: string;
1333
+ };
1023
1334
  export type Replay = {
1024
1335
  id: string;
1025
1336
  orgId: string;
@@ -1059,11 +1370,50 @@ export type ProjectMcp = {
1059
1370
  createdAt: string;
1060
1371
  updatedAt: string;
1061
1372
  };
1062
- export type ProjectSkill = {
1063
- id: string;
1064
- projectId: string;
1065
- skillId: string;
1066
- skillVersionId: string | null;
1373
+ export type ProjectSkillResolution = {
1374
+ /**
1375
+ * One resolved version per attached skill (highest live version wins).
1376
+ */
1377
+ skills: Array<{
1378
+ skillId: string;
1379
+ skillSlug: string;
1380
+ /**
1381
+ * The one version served for this skill in this project.
1382
+ */
1383
+ effectiveVersionId: string;
1384
+ /**
1385
+ * Its version string: semver for file-backed skills; for git-backed skills this is the pointer row's placeholder version — the mirror commit SHA appears in the serving menu, not here.
1386
+ */
1387
+ effectiveVersion: string;
1388
+ }>;
1389
+ /**
1390
+ * Warnings where a bound pin lost. Warning-only: a pin can lose later when a newer version is published.
1391
+ */
1392
+ conflicts: Array<SkillPinConflict>;
1393
+ };
1394
+ export type SkillPinConflict = {
1395
+ /**
1396
+ * Slug of the skill whose pin lost.
1397
+ */
1398
+ skillSlug: string;
1399
+ /**
1400
+ * The bound (pinned) version that did not win.
1401
+ */
1402
+ pinnedVersion: string;
1403
+ /**
1404
+ * The version actually served for this skill in this project.
1405
+ */
1406
+ effectiveVersion: string;
1407
+ /**
1408
+ * `outranked`: a higher live version won. `pin-archived`: the pin was archived; latest served.
1409
+ */
1410
+ reason: "outranked" | "pin-archived";
1411
+ };
1412
+ export type ProjectSkill = {
1413
+ id: string;
1414
+ projectId: string;
1415
+ skillId: string;
1416
+ skillVersionId: string | null;
1067
1417
  createdAt: string;
1068
1418
  updatedAt: string;
1069
1419
  };
@@ -1114,6 +1464,38 @@ export type ProjectGitRepo = {
1114
1464
  description?: string;
1115
1465
  hidden?: boolean;
1116
1466
  };
1467
+ /**
1468
+ * An artifact: a static site an agent built in its pod, hosted at a URL.
1469
+ */
1470
+ export type Artifact = {
1471
+ id: string;
1472
+ orgId: string;
1473
+ podId: string;
1474
+ sourceSessionId: string | null;
1475
+ slug: string;
1476
+ title: string;
1477
+ description: string;
1478
+ shareToken: string;
1479
+ createdAt: string;
1480
+ updatedAt: string;
1481
+ archivedAt: string | null;
1482
+ /**
1483
+ * Public URL of the artifact's entrypoint. Possession of the URL grants read access.
1484
+ */
1485
+ url: string;
1486
+ };
1487
+ export type PodDatabase = {
1488
+ id: string;
1489
+ podId: string;
1490
+ orgId: string;
1491
+ userId: string | null;
1492
+ slug: string;
1493
+ name: string;
1494
+ description: string;
1495
+ createdAt: string;
1496
+ updatedAt: string;
1497
+ archivedAt: string | null;
1498
+ };
1117
1499
  export type PodSandboxStatusResponse = {
1118
1500
  status: "provisioning";
1119
1501
  workflowId: string;
@@ -1134,6 +1516,8 @@ export type Sandbox = {
1134
1516
  userId: string | null;
1135
1517
  providerId: string;
1136
1518
  providerSandboxId: string | null;
1519
+ templateRef: string | null;
1520
+ buildId: string | null;
1137
1521
  internalHost: string | null;
1138
1522
  publicHost: string | null;
1139
1523
  createdAt: string;
@@ -1147,13 +1531,20 @@ export type PodSandboxProvisionResponse = {
1147
1531
  workflowId: string;
1148
1532
  status: "provisioning";
1149
1533
  };
1150
- export type PodVault = {
1151
- id: string;
1152
- podId: string;
1534
+ export type PodCredentials = {
1535
+ writeVaultId: string | null;
1536
+ credentials: Array<PodResolvedCredential>;
1537
+ };
1538
+ export type PodResolvedCredential = {
1539
+ credentialId: string;
1540
+ name: string;
1153
1541
  vaultId: string;
1154
- priority: number;
1155
- createdAt: string;
1156
- updatedAt: string;
1542
+ vaultName: string;
1543
+ tier: "org" | "pod" | "user";
1544
+ sourcePodId: string | null;
1545
+ anchor: string;
1546
+ keyPreview: string | null;
1547
+ shadowed: boolean;
1157
1548
  };
1158
1549
  export type PodMember = {
1159
1550
  id: string;
@@ -1167,6 +1558,7 @@ export type PodWithSandbox = {
1167
1558
  pod: Pod;
1168
1559
  sandbox: Sandbox;
1169
1560
  };
1561
+ export type PresetTemplate = "xs" | "small" | "medium" | "large" | "xl";
1170
1562
  export type Pod = {
1171
1563
  id: string;
1172
1564
  name: string;
@@ -1177,6 +1569,7 @@ export type Pod = {
1177
1569
  defaultModel: string | null;
1178
1570
  instructions: string;
1179
1571
  environmentId: string | null;
1572
+ presetTemplate: PresetTemplate;
1180
1573
  orgId: string;
1181
1574
  userId: string | null;
1182
1575
  manifestUpdatedAt: string;
@@ -1244,10 +1637,16 @@ export type MemoryStoreFile = {
1244
1637
  lastModified?: string;
1245
1638
  contentSha256?: string;
1246
1639
  };
1640
+ /**
1641
+ * A memory store: a named bucket of agent knowledge that persists between sessions, mounted at its mountPath.
1642
+ */
1247
1643
  export type MemoryStore = {
1248
1644
  id: string;
1249
1645
  name: string;
1250
1646
  description: string | null;
1647
+ /**
1648
+ * Slug segment of the mount path; unique across file and memory stores in the org.
1649
+ */
1251
1650
  mountSlug: string;
1252
1651
  isDefault: boolean;
1253
1652
  orgId: string;
@@ -1255,6 +1654,10 @@ export type MemoryStore = {
1255
1654
  createdAt: string;
1256
1655
  updatedAt: string;
1257
1656
  archivedAt: string | null;
1657
+ /**
1658
+ * Absolute path this store is mounted at inside agent workspaces, e.g. /volumes/notes. Write only small markdown/config files here — lockfiles, databases, and git repos on a volume are unreliable (close-to-upload semantics, no file locks).
1659
+ */
1660
+ mountPath: string;
1258
1661
  };
1259
1662
  export type OnboardingComplete = {
1260
1663
  onboarding: {
@@ -1285,25 +1688,14 @@ export type Me = {
1285
1688
  };
1286
1689
  method: "session" | "pat" | "sandbox";
1287
1690
  };
1288
- export type OAuthSessionStatus = {
1691
+ export type SearchResult = {
1289
1692
  id: string;
1290
- status: "pending" | "active" | "failed" | "expired";
1291
- mcpId: string | null;
1292
- credentialId: string | null;
1293
- failureReason: string | null;
1294
- expiresAt: string;
1295
- };
1296
- export type McpOAuthConnectBody = {
1297
- scope?: string;
1298
- callbackUrl?: string;
1299
- };
1300
- export type McpOAuthConnectResult = {
1301
- alreadyConnected: true;
1302
- credentialId: string;
1303
- } | {
1304
- alreadyConnected: false;
1305
- authorizationUrl: string;
1306
- sessionId: string;
1693
+ slug: string;
1694
+ name: string;
1695
+ description: string | null;
1696
+ icon: string | null;
1697
+ source: "user" | "org" | "registry";
1698
+ updatedAt: string;
1307
1699
  };
1308
1700
  export type Mcp = {
1309
1701
  id: string;
@@ -1314,9 +1706,10 @@ export type Mcp = {
1314
1706
  mcpServerUrl: string | null;
1315
1707
  docUrl: string | null;
1316
1708
  type: "remote" | "local";
1317
- transport: "streamable-http" | "sse" | "stdio";
1318
1709
  command: string | null;
1319
1710
  args: Array<string>;
1711
+ cwd: string | null;
1712
+ timeout: McpTimeout | null;
1320
1713
  version: string | null;
1321
1714
  repository: Repository | null;
1322
1715
  tools: Array<string>;
@@ -1341,6 +1734,62 @@ export type Mcp = {
1341
1734
  deprecatedAt: string | null;
1342
1735
  deprecationMessage: string | null;
1343
1736
  tags?: Array<string>;
1737
+ publisher?: PublisherPublicView | null;
1738
+ };
1739
+ export type OAuthAppUsage = {
1740
+ mcpIds: Array<string>;
1741
+ };
1742
+ export type OAuthAppUpdateInput = {
1743
+ name?: string;
1744
+ clientId?: string;
1745
+ clientSecret?: string | null;
1746
+ scopes?: Array<string>;
1747
+ tokenEndpointAuth?: "none" | "client_secret_basic" | "client_secret_post";
1748
+ resource?: string | null;
1749
+ authorizeParams?: OAuthAuthorizeParams;
1750
+ pkce?: boolean;
1751
+ discovery?: "static" | "mcp";
1752
+ authorizationEndpoint?: string | null;
1753
+ tokenEndpoint?: string | null;
1754
+ };
1755
+ export type OAuthAuthorizeParams = {
1756
+ [key: string]: string;
1757
+ };
1758
+ export type OAuthAppCreateInput = {
1759
+ name: string;
1760
+ clientId: string;
1761
+ clientSecret?: string | null;
1762
+ scopes?: Array<string>;
1763
+ tokenEndpointAuth?: "none" | "client_secret_basic" | "client_secret_post";
1764
+ resource?: string | null;
1765
+ authorizeParams?: OAuthAuthorizeParams;
1766
+ pkce?: boolean;
1767
+ discovery?: "static" | "mcp";
1768
+ authorizationEndpoint?: string | null;
1769
+ tokenEndpoint?: string | null;
1770
+ };
1771
+ export type OAuthAppRedirectUri = {
1772
+ redirectUri: string;
1773
+ };
1774
+ export type OAuthApp = {
1775
+ id: string;
1776
+ orgId: string;
1777
+ configuredById: string | null;
1778
+ name: string;
1779
+ provider: string | null;
1780
+ clientId: string;
1781
+ scopes: Array<string>;
1782
+ discovery: "static" | "mcp";
1783
+ authorizationEndpoint: string | null;
1784
+ tokenEndpoint: string | null;
1785
+ tokenEndpointAuth: "none" | "client_secret_basic" | "client_secret_post";
1786
+ resource: string | null;
1787
+ authorizeParams: OAuthAuthorizeParams;
1788
+ pkce: boolean;
1789
+ createdAt: string;
1790
+ updatedAt: string;
1791
+ archivedAt: string | null;
1792
+ hasClientSecret: boolean;
1344
1793
  };
1345
1794
  export type GoogleWorkspaceOAuthStartResult = {
1346
1795
  url: string;
@@ -1404,8 +1853,19 @@ export type GithubOAuthStartResult = {
1404
1853
  url: string;
1405
1854
  };
1406
1855
  export type StoreStartUploadResponse = {
1856
+ /**
1857
+ * Presigned PUT URL for the staging area — upload the bytes here
1858
+ */
1407
1859
  url: string;
1408
1860
  expiresAt: string;
1861
+ /**
1862
+ * Pass this to files.finalizeUpload after the PUT succeeds
1863
+ */
1864
+ uploadId: string;
1865
+ /**
1866
+ * The upload lands in a staging area, invisible to workspaces and file lists. Call files.finalizeUpload with the uploadId to make it a real file; unfinalized uploads are discarded after 24 hours.
1867
+ */
1868
+ status: "staged";
1409
1869
  };
1410
1870
  export type StorePresignResponse = {
1411
1871
  url: string;
@@ -1417,10 +1877,16 @@ export type FileStoreFile = {
1417
1877
  lastModified?: string;
1418
1878
  contentSha256?: string;
1419
1879
  };
1880
+ /**
1881
+ * A file store: a named bucket of user artifacts, mounted into agent workspaces at its mountPath.
1882
+ */
1420
1883
  export type FileStore = {
1421
1884
  id: string;
1422
1885
  name: string;
1423
1886
  description: string | null;
1887
+ /**
1888
+ * Slug segment of the mount path; unique across file and memory stores in the org.
1889
+ */
1424
1890
  mountSlug: string;
1425
1891
  isDefault: boolean;
1426
1892
  orgId: string;
@@ -1428,7 +1894,29 @@ export type FileStore = {
1428
1894
  createdAt: string;
1429
1895
  updatedAt: string;
1430
1896
  archivedAt: string | null;
1897
+ /**
1898
+ * Absolute path this store is mounted at inside agent workspaces, e.g. /volumes/notes. Write only small markdown/config files here — lockfiles, databases, and git repos on a volume are unreliable (close-to-upload semantics, no file locks).
1899
+ */
1900
+ mountPath: string;
1901
+ };
1902
+ export type EnvironmentBuild = {
1903
+ id: string;
1904
+ environmentId: string;
1905
+ status: EnvironmentBuildStatus;
1906
+ tag: string | null;
1907
+ cpuCount: TemplateCpuCount;
1908
+ memoryMB: TemplateMemoryMb;
1909
+ baseRef: string;
1910
+ templateId: string | null;
1911
+ buildId: string | null;
1912
+ log: string;
1913
+ error: string | null;
1914
+ createdAt: string;
1915
+ updatedAt: string;
1431
1916
  };
1917
+ export type TemplateMemoryMb = 1024 | 2048 | 3072 | 4096 | 5120 | 6144 | 7168 | 8192;
1918
+ export type TemplateCpuCount = 1 | 2 | 4 | 6 | 8;
1919
+ export type EnvironmentBuildStatus = "queued" | "building" | "ready" | "error";
1432
1920
  export type Environment = {
1433
1921
  id: string;
1434
1922
  name: string;
@@ -1436,8 +1924,14 @@ export type Environment = {
1436
1924
  orgId: string;
1437
1925
  userId: string | null;
1438
1926
  hostingType: "cloud";
1927
+ cpuCount: TemplateCpuCount;
1928
+ memoryMB: TemplateMemoryMb;
1929
+ templateName: string | null;
1930
+ tag: string | null;
1931
+ currentBuildId: string | null;
1439
1932
  networking: NetworkingConfig;
1440
1933
  packages: PackagesConfig;
1934
+ buildCommands: Array<string>;
1441
1935
  createdAt: string;
1442
1936
  updatedAt: string;
1443
1937
  archivedAt: string | null;
@@ -1446,8 +1940,6 @@ export type PackagesConfig = {
1446
1940
  apt?: Array<string>;
1447
1941
  npm?: Array<string>;
1448
1942
  pip?: Array<string>;
1449
- cargo?: Array<string>;
1450
- gem?: Array<string>;
1451
1943
  go?: Array<string>;
1452
1944
  };
1453
1945
  export type NetworkingConfig = {
@@ -1530,6 +2022,7 @@ export type UsageGroup = {
1530
2022
  export type UsageDailyPoint = {
1531
2023
  date: string;
1532
2024
  credits: string;
2025
+ eventCount: number;
1533
2026
  };
1534
2027
  export type UsageBreakdownItem = {
1535
2028
  source: string;
@@ -1615,6 +2108,7 @@ export type Blueprint = {
1615
2108
  archivedAt: string | null;
1616
2109
  deprecatedAt: string | null;
1617
2110
  deprecationMessage: string | null;
2111
+ publisher?: PublisherPublicView | null;
1618
2112
  };
1619
2113
  export type SpecEnvironmentDef = {
1620
2114
  networking: NetworkingConfig;
@@ -1759,7 +2253,7 @@ export type SpecSkillEntry = {
1759
2253
  export type SpecAgentDef = {
1760
2254
  name: string;
1761
2255
  /**
1762
- * Ren model id, e.g. opus-4-8, sonnet-5.
2256
+ * Ren model id, e.g. opus-5, sonnet-5.
1763
2257
  */
1764
2258
  model?: string;
1765
2259
  scope?: "org" | "user" | "registry";
@@ -1822,6 +2316,49 @@ export type Spec = {
1822
2316
  triggers: Array<SpecCronTriggerEntry>;
1823
2317
  environment?: SpecEnvironmentEntry;
1824
2318
  };
2319
+ export type AgentVersionArchiveResult = {
2320
+ id: string;
2321
+ agentId: string;
2322
+ version: string;
2323
+ createdById: string;
2324
+ createdAt: string;
2325
+ archivedAt: string | null;
2326
+ description: string | null;
2327
+ prompt: string | null;
2328
+ model: string | null;
2329
+ releaseNotes: string | null;
2330
+ permission: PermissionConfig;
2331
+ skills?: Array<{
2332
+ skillId: string;
2333
+ /**
2334
+ * Pin a specific skill version, or null to track the skill's latest version.
2335
+ */
2336
+ skillVersionId?: string | null;
2337
+ skill: {
2338
+ id: string;
2339
+ slug: string;
2340
+ name: string;
2341
+ icon: string | null;
2342
+ };
2343
+ }>;
2344
+ mcps?: Array<{
2345
+ mcpId: string;
2346
+ mcp: {
2347
+ id: string;
2348
+ slug: string;
2349
+ name: string;
2350
+ icon: string | null;
2351
+ };
2352
+ }>;
2353
+ /**
2354
+ * Project placements repointed or dropped by archiving this version (pinned + tracking-latest).
2355
+ */
2356
+ projectCount: number;
2357
+ /**
2358
+ * Distinct pods those placements belong to; each receives a manifest refresh.
2359
+ */
2360
+ podCount: number;
2361
+ };
1825
2362
  export type AgentVersion = {
1826
2363
  id: string;
1827
2364
  agentId: string;
@@ -1836,6 +2373,9 @@ export type AgentVersion = {
1836
2373
  permission: PermissionConfig;
1837
2374
  skills?: Array<{
1838
2375
  skillId: string;
2376
+ /**
2377
+ * Pin a specific skill version, or null to track the skill's latest version.
2378
+ */
1839
2379
  skillVersionId?: string | null;
1840
2380
  skill: {
1841
2381
  id: string;
@@ -1854,14 +2394,33 @@ export type AgentVersion = {
1854
2394
  };
1855
2395
  }>;
1856
2396
  };
1857
- export type SearchResult = {
2397
+ export type AgentArchiveResult = {
1858
2398
  id: string;
1859
2399
  slug: string;
1860
2400
  name: string;
1861
- description: string | null;
1862
2401
  icon: string | null;
1863
- source: "user" | "org" | "registry";
2402
+ orgId: string;
2403
+ userId: string | null;
2404
+ publisherId: string | null;
2405
+ parentId: string | null;
2406
+ websiteMetadata: WebsiteMetadata | null;
2407
+ latestVersionId: string | null;
2408
+ createdAt: string;
1864
2409
  updatedAt: string;
2410
+ archivedAt: string | null;
2411
+ deprecatedAt: string | null;
2412
+ deprecationMessage: string | null;
2413
+ tags?: Array<string>;
2414
+ publisher?: PublisherPublicView | null;
2415
+ latestVersion?: AgentLatestVersion | null;
2416
+ /**
2417
+ * Project placements that referenced this agent when it was archived.
2418
+ */
2419
+ projectCount: number;
2420
+ /**
2421
+ * Distinct pods those placements belong to; each receives a manifest refresh.
2422
+ */
2423
+ podCount: number;
1865
2424
  };
1866
2425
  export type Agent = {
1867
2426
  id: string;
@@ -1880,6 +2439,7 @@ export type Agent = {
1880
2439
  deprecatedAt: string | null;
1881
2440
  deprecationMessage: string | null;
1882
2441
  tags?: Array<string>;
2442
+ publisher?: PublisherPublicView | null;
1883
2443
  latestVersion?: AgentLatestVersion | null;
1884
2444
  };
1885
2445
  export type AgentListData = {
@@ -1889,7 +2449,26 @@ export type AgentListData = {
1889
2449
  limit?: number;
1890
2450
  offset?: number;
1891
2451
  includeDeprecated?: boolean;
1892
- visibility?: "private" | "org";
2452
+ /**
2453
+ * Restrict to a single visibility tier within the caller's scope.
2454
+ */
2455
+ visibility?: "private" | "pod" | "org";
2456
+ /**
2457
+ * Case-insensitive match across name and slug.
2458
+ */
2459
+ query?: string;
2460
+ /**
2461
+ * true = only published (registry) agents; false = only unpublished.
2462
+ */
2463
+ published?: boolean;
2464
+ /**
2465
+ * Restrict to agents carried by a specific publisher.
2466
+ */
2467
+ publisherId?: string;
2468
+ /**
2469
+ * Only agents carrying every one of these tags. Repeat the param for multiple tags.
2470
+ */
2471
+ tagged?: string | Array<string>;
1893
2472
  };
1894
2473
  url: "/api/agents";
1895
2474
  };
@@ -1919,17 +2498,38 @@ export type AgentCreateData = {
1919
2498
  body?: {
1920
2499
  name: string;
1921
2500
  icon?: string | null;
1922
- tags?: Array<string>;
1923
- visibility?: "private" | "org";
2501
+ tags?: Array<string> | null;
2502
+ visibility?: "private" | "pod" | "org";
2503
+ /**
2504
+ * Explicit semver (e.g. 1.2.0) or a bump keyword (major|minor|patch, default patch).
2505
+ */
1924
2506
  version?: string | "major" | "minor" | "patch";
2507
+ /**
2508
+ * Description for the agent's first version.
2509
+ */
1925
2510
  description?: string;
2511
+ /**
2512
+ * System prompt for the agent's first version.
2513
+ */
1926
2514
  prompt?: string;
2515
+ /**
2516
+ * Model for the agent's first version; omit to use the default model.
2517
+ */
1927
2518
  model?: string | null;
1928
2519
  permission?: PermissionConfig;
2520
+ /**
2521
+ * Skills bound to the agent's first version. Deduped by skillId.
2522
+ */
1929
2523
  skills?: Array<{
1930
2524
  skillId: string;
2525
+ /**
2526
+ * Pin a specific skill version, or null to track the skill's latest version.
2527
+ */
1931
2528
  skillVersionId?: string | null;
1932
2529
  }>;
2530
+ /**
2531
+ * MCPs bound to the agent's first version. Deduped by mcpId.
2532
+ */
1933
2533
  mcps?: Array<{
1934
2534
  mcpId: string;
1935
2535
  }>;
@@ -1967,23 +2567,15 @@ export type AgentCreateResponses = {
1967
2567
  200: Agent;
1968
2568
  };
1969
2569
  export type AgentCreateResponse = AgentCreateResponses[keyof AgentCreateResponses];
1970
- export type AgentSearchData = {
1971
- body?: {
1972
- query?: string;
1973
- sources?: Array<"user" | "org" | "registry">;
1974
- limit?: number;
2570
+ export type AgentGetData = {
2571
+ body?: never;
2572
+ path: {
2573
+ idOrSlug: string | string;
1975
2574
  };
1976
- path?: never;
1977
2575
  query?: never;
1978
- url: "/api/agents/search";
2576
+ url: "/api/agents/{idOrSlug}";
1979
2577
  };
1980
- export type AgentSearchErrors = {
1981
- /**
1982
- * Bad request
1983
- */
1984
- 400: {
1985
- error: string;
1986
- };
2578
+ export type AgentGetErrors = {
1987
2579
  /**
1988
2580
  * Unauthorized
1989
2581
  */
@@ -1996,27 +2588,41 @@ export type AgentSearchErrors = {
1996
2588
  403: {
1997
2589
  error: string;
1998
2590
  };
2591
+ /**
2592
+ * Not found
2593
+ */
2594
+ 404: {
2595
+ error: string;
2596
+ };
1999
2597
  };
2000
- export type AgentSearchError = AgentSearchErrors[keyof AgentSearchErrors];
2001
- export type AgentSearchResponses = {
2598
+ export type AgentGetError = AgentGetErrors[keyof AgentGetErrors];
2599
+ export type AgentGetResponses = {
2002
2600
  /**
2003
- * Matching agents
2601
+ * Agent details
2004
2602
  */
2005
- 200: Array<SearchResult>;
2603
+ 200: Agent;
2006
2604
  };
2007
- export type AgentSearchResponse = AgentSearchResponses[keyof AgentSearchResponses];
2008
- export type AgentGetBySlugData = {
2009
- body?: never;
2605
+ export type AgentGetResponse = AgentGetResponses[keyof AgentGetResponses];
2606
+ export type AgentUpdateData = {
2607
+ body?: {
2608
+ name?: string;
2609
+ icon?: string | null;
2610
+ websiteMetadata?: WebsiteMetadata | null;
2611
+ tags?: Array<string> | null;
2612
+ };
2010
2613
  path: {
2011
- /**
2012
- * URL-friendly identifier
2013
- */
2014
- slug: string;
2614
+ id: string;
2015
2615
  };
2016
2616
  query?: never;
2017
- url: "/api/agents/slug/{slug}";
2617
+ url: "/api/agents/{id}";
2018
2618
  };
2019
- export type AgentGetBySlugErrors = {
2619
+ export type AgentUpdateErrors = {
2620
+ /**
2621
+ * Bad request
2622
+ */
2623
+ 400: {
2624
+ error: string;
2625
+ };
2020
2626
  /**
2021
2627
  * Unauthorized
2022
2628
  */
@@ -2036,93 +2642,10 @@ export type AgentGetBySlugErrors = {
2036
2642
  error: string;
2037
2643
  };
2038
2644
  };
2039
- export type AgentGetBySlugError = AgentGetBySlugErrors[keyof AgentGetBySlugErrors];
2040
- export type AgentGetBySlugResponses = {
2645
+ export type AgentUpdateError = AgentUpdateErrors[keyof AgentUpdateErrors];
2646
+ export type AgentUpdateResponses = {
2041
2647
  /**
2042
- * Agent details
2043
- */
2044
- 200: Agent;
2045
- };
2046
- export type AgentGetBySlugResponse = AgentGetBySlugResponses[keyof AgentGetBySlugResponses];
2047
- export type AgentGetData = {
2048
- body?: never;
2049
- path: {
2050
- id: string;
2051
- };
2052
- query?: never;
2053
- url: "/api/agents/{id}";
2054
- };
2055
- export type AgentGetErrors = {
2056
- /**
2057
- * Unauthorized
2058
- */
2059
- 401: {
2060
- error: string;
2061
- };
2062
- /**
2063
- * Forbidden
2064
- */
2065
- 403: {
2066
- error: string;
2067
- };
2068
- /**
2069
- * Not found
2070
- */
2071
- 404: {
2072
- error: string;
2073
- };
2074
- };
2075
- export type AgentGetError = AgentGetErrors[keyof AgentGetErrors];
2076
- export type AgentGetResponses = {
2077
- /**
2078
- * Agent details
2079
- */
2080
- 200: Agent;
2081
- };
2082
- export type AgentGetResponse = AgentGetResponses[keyof AgentGetResponses];
2083
- export type AgentUpdateData = {
2084
- body?: {
2085
- name?: string;
2086
- icon?: string | null;
2087
- websiteMetadata?: WebsiteMetadata | null;
2088
- tags?: Array<string>;
2089
- };
2090
- path: {
2091
- id: string;
2092
- };
2093
- query?: never;
2094
- url: "/api/agents/{id}";
2095
- };
2096
- export type AgentUpdateErrors = {
2097
- /**
2098
- * Bad request
2099
- */
2100
- 400: {
2101
- error: string;
2102
- };
2103
- /**
2104
- * Unauthorized
2105
- */
2106
- 401: {
2107
- error: string;
2108
- };
2109
- /**
2110
- * Forbidden
2111
- */
2112
- 403: {
2113
- error: string;
2114
- };
2115
- /**
2116
- * Not found
2117
- */
2118
- 404: {
2119
- error: string;
2120
- };
2121
- };
2122
- export type AgentUpdateError = AgentUpdateErrors[keyof AgentUpdateErrors];
2123
- export type AgentUpdateResponses = {
2124
- /**
2125
- * Updated agent
2648
+ * Updated agent
2126
2649
  */
2127
2650
  200: Agent;
2128
2651
  };
@@ -2158,9 +2681,9 @@ export type AgentArchiveErrors = {
2158
2681
  export type AgentArchiveError = AgentArchiveErrors[keyof AgentArchiveErrors];
2159
2682
  export type AgentArchiveResponses = {
2160
2683
  /**
2161
- * Archived agent
2684
+ * Archived agent, with the blast radius (projectCount/podCount) of placements that referenced it.
2162
2685
  */
2163
- 200: Agent;
2686
+ 200: AgentArchiveResult;
2164
2687
  };
2165
2688
  export type AgentArchiveResponse = AgentArchiveResponses[keyof AgentArchiveResponses];
2166
2689
  export type AgentPublishData = {
@@ -2363,15 +2886,36 @@ export type AgentVersionListResponses = {
2363
2886
  export type AgentVersionListResponse = AgentVersionListResponses[keyof AgentVersionListResponses];
2364
2887
  export type AgentVersionCreateData = {
2365
2888
  body?: {
2889
+ /**
2890
+ * Explicit semver (e.g. 1.2.0) or a bump keyword (major|minor|patch, default patch).
2891
+ */
2366
2892
  version?: string | "major" | "minor" | "patch";
2893
+ /**
2894
+ * Omit to inherit the latest version's description; empty string clears it.
2895
+ */
2367
2896
  description?: string;
2897
+ /**
2898
+ * Omit to inherit the latest version's prompt; empty string clears it.
2899
+ */
2368
2900
  prompt?: string;
2901
+ /**
2902
+ * Omit to inherit the latest version's model; null clears it to the default model.
2903
+ */
2369
2904
  model?: string | null;
2370
2905
  permission?: PermissionConfig;
2906
+ /**
2907
+ * Omit to inherit the latest version's skills; an empty array clears them. Deduped by skillId.
2908
+ */
2371
2909
  skills?: Array<{
2372
2910
  skillId: string;
2911
+ /**
2912
+ * Pin a specific skill version, or null to track the skill's latest version.
2913
+ */
2373
2914
  skillVersionId?: string | null;
2374
2915
  }>;
2916
+ /**
2917
+ * Omit to inherit the latest version's mcps; an empty array clears them. Deduped by mcpId.
2918
+ */
2375
2919
  mcps?: Array<{
2376
2920
  mcpId: string;
2377
2921
  }>;
@@ -2408,6 +2952,12 @@ export type AgentVersionCreateErrors = {
2408
2952
  404: {
2409
2953
  error: string;
2410
2954
  };
2955
+ /**
2956
+ * Conflict
2957
+ */
2958
+ 409: {
2959
+ error: string;
2960
+ };
2411
2961
  };
2412
2962
  export type AgentVersionCreateError = AgentVersionCreateErrors[keyof AgentVersionCreateErrors];
2413
2963
  export type AgentVersionCreateResponses = {
@@ -2486,9 +3036,9 @@ export type AgentVersionArchiveErrors = {
2486
3036
  export type AgentVersionArchiveError = AgentVersionArchiveErrors[keyof AgentVersionArchiveErrors];
2487
3037
  export type AgentVersionArchiveResponses = {
2488
3038
  /**
2489
- * Archived agent version
3039
+ * Archived agent version, with the blast radius of the placements it affected.
2490
3040
  */
2491
- 200: AgentVersion;
3041
+ 200: AgentVersionArchiveResult;
2492
3042
  };
2493
3043
  export type AgentVersionArchiveResponse = AgentVersionArchiveResponses[keyof AgentVersionArchiveResponses];
2494
3044
  export type BlueprintListData = {
@@ -2498,7 +3048,7 @@ export type BlueprintListData = {
2498
3048
  limit?: number;
2499
3049
  offset?: number;
2500
3050
  includeDeprecated?: boolean;
2501
- visibility?: "private" | "org";
3051
+ visibility?: "private" | "pod" | "org";
2502
3052
  };
2503
3053
  url: "/api/blueprints";
2504
3054
  };
@@ -2533,7 +3083,7 @@ export type BlueprintCreateData = {
2533
3083
  instructions?: string;
2534
3084
  initialPrompt?: SpecInitialPrompt;
2535
3085
  selection: BlueprintSelection;
2536
- visibility?: "private" | "org";
3086
+ visibility?: "private" | "pod" | "org";
2537
3087
  };
2538
3088
  path?: never;
2539
3089
  query?: never;
@@ -3302,7 +3852,7 @@ export type EnvironmentListData = {
3302
3852
  offset?: number;
3303
3853
  includeDeprecated?: boolean;
3304
3854
  userId?: string | null;
3305
- visibility?: "private" | "org";
3855
+ visibility?: "private" | "pod" | "org";
3306
3856
  };
3307
3857
  url: "/api/environments";
3308
3858
  };
@@ -3335,7 +3885,10 @@ export type EnvironmentCreateData = {
3335
3885
  description?: string;
3336
3886
  hostingType?: "cloud";
3337
3887
  packages?: PackagesConfig;
3338
- visibility?: "private" | "org";
3888
+ cpuCount?: TemplateCpuCount;
3889
+ memoryMB?: TemplateMemoryMb;
3890
+ buildCommands?: Array<string>;
3891
+ visibility?: "private" | "pod" | "org";
3339
3892
  };
3340
3893
  path?: never;
3341
3894
  query?: never;
@@ -3447,6 +4000,9 @@ export type EnvironmentUpdateData = {
3447
4000
  description?: string;
3448
4001
  networking?: NetworkingConfig;
3449
4002
  packages?: PackagesConfig;
4003
+ cpuCount?: TemplateCpuCount;
4004
+ memoryMB?: TemplateMemoryMb;
4005
+ buildCommands?: Array<string>;
3450
4006
  };
3451
4007
  path: {
3452
4008
  id: string;
@@ -3488,6 +4044,88 @@ export type EnvironmentUpdateResponses = {
3488
4044
  200: Environment;
3489
4045
  };
3490
4046
  export type EnvironmentUpdateResponse = EnvironmentUpdateResponses[keyof EnvironmentUpdateResponses];
4047
+ export type EnvironmentBuildStartData = {
4048
+ body?: never;
4049
+ path: {
4050
+ id: string;
4051
+ };
4052
+ query?: never;
4053
+ url: "/api/environments/{id}/build";
4054
+ };
4055
+ export type EnvironmentBuildStartErrors = {
4056
+ /**
4057
+ * Unauthorized
4058
+ */
4059
+ 401: {
4060
+ error: string;
4061
+ };
4062
+ /**
4063
+ * Forbidden
4064
+ */
4065
+ 403: {
4066
+ error: string;
4067
+ };
4068
+ /**
4069
+ * Not found
4070
+ */
4071
+ 404: {
4072
+ error: string;
4073
+ };
4074
+ /**
4075
+ * Conflict
4076
+ */
4077
+ 409: {
4078
+ error: string;
4079
+ };
4080
+ };
4081
+ export type EnvironmentBuildStartError = EnvironmentBuildStartErrors[keyof EnvironmentBuildStartErrors];
4082
+ export type EnvironmentBuildStartResponses = {
4083
+ /**
4084
+ * Queued build
4085
+ */
4086
+ 200: EnvironmentBuild;
4087
+ };
4088
+ export type EnvironmentBuildStartResponse = EnvironmentBuildStartResponses[keyof EnvironmentBuildStartResponses];
4089
+ export type EnvironmentBuildListData = {
4090
+ body?: never;
4091
+ path: {
4092
+ id: string;
4093
+ };
4094
+ query?: {
4095
+ limit?: number;
4096
+ offset?: number;
4097
+ includeDeprecated?: boolean;
4098
+ };
4099
+ url: "/api/environments/{id}/builds";
4100
+ };
4101
+ export type EnvironmentBuildListErrors = {
4102
+ /**
4103
+ * Unauthorized
4104
+ */
4105
+ 401: {
4106
+ error: string;
4107
+ };
4108
+ /**
4109
+ * Forbidden
4110
+ */
4111
+ 403: {
4112
+ error: string;
4113
+ };
4114
+ /**
4115
+ * Not found
4116
+ */
4117
+ 404: {
4118
+ error: string;
4119
+ };
4120
+ };
4121
+ export type EnvironmentBuildListError = EnvironmentBuildListErrors[keyof EnvironmentBuildListErrors];
4122
+ export type EnvironmentBuildListResponses = {
4123
+ /**
4124
+ * Builds, newest first
4125
+ */
4126
+ 200: Array<EnvironmentBuild>;
4127
+ };
4128
+ export type EnvironmentBuildListResponse = EnvironmentBuildListResponses[keyof EnvironmentBuildListResponses];
3491
4129
  export type EnvironmentArchiveData = {
3492
4130
  body?: never;
3493
4131
  path: {
@@ -3533,7 +4171,7 @@ export type FileStoreListData = {
3533
4171
  offset?: number;
3534
4172
  includeDeprecated?: boolean;
3535
4173
  userId?: string | null;
3536
- visibility?: "private" | "org";
4174
+ visibility?: "private" | "pod" | "org";
3537
4175
  };
3538
4176
  url: "/api/file-stores";
3539
4177
  };
@@ -3564,7 +4202,7 @@ export type FileStoreCreateData = {
3564
4202
  name: string;
3565
4203
  description?: string;
3566
4204
  isDefault?: boolean;
3567
- visibility?: "private" | "org";
4205
+ visibility?: "private" | "pod" | "org";
3568
4206
  };
3569
4207
  path?: never;
3570
4208
  query?: never;
@@ -3629,7 +4267,7 @@ export type FileStoreGetErrors = {
3629
4267
  export type FileStoreGetError = FileStoreGetErrors[keyof FileStoreGetErrors];
3630
4268
  export type FileStoreGetResponses = {
3631
4269
  /**
3632
- * File store details
4270
+ * file store details
3633
4271
  */
3634
4272
  200: FileStore;
3635
4273
  };
@@ -3900,6 +4538,7 @@ export type FileStoreFilesStartUploadResponse = FileStoreFilesStartUploadRespons
3900
4538
  export type FileStoreFilesFinalizeUploadData = {
3901
4539
  body?: {
3902
4540
  path: string;
4541
+ uploadId: string;
3903
4542
  };
3904
4543
  path: {
3905
4544
  id: string;
@@ -3941,6 +4580,50 @@ export type FileStoreFilesFinalizeUploadResponses = {
3941
4580
  200: FileStoreFile;
3942
4581
  };
3943
4582
  export type FileStoreFilesFinalizeUploadResponse = FileStoreFilesFinalizeUploadResponses[keyof FileStoreFilesFinalizeUploadResponses];
4583
+ export type FileStoreFilesWriteContentData = {
4584
+ body: Blob | File;
4585
+ path: {
4586
+ id: string;
4587
+ };
4588
+ query: {
4589
+ path: string;
4590
+ };
4591
+ url: "/api/file-stores/{id}/files/content";
4592
+ };
4593
+ export type FileStoreFilesWriteContentErrors = {
4594
+ /**
4595
+ * Bad request
4596
+ */
4597
+ 400: {
4598
+ error: string;
4599
+ };
4600
+ /**
4601
+ * Unauthorized
4602
+ */
4603
+ 401: {
4604
+ error: string;
4605
+ };
4606
+ /**
4607
+ * Forbidden
4608
+ */
4609
+ 403: {
4610
+ error: string;
4611
+ };
4612
+ /**
4613
+ * Not found
4614
+ */
4615
+ 404: {
4616
+ error: string;
4617
+ };
4618
+ };
4619
+ export type FileStoreFilesWriteContentError = FileStoreFilesWriteContentErrors[keyof FileStoreFilesWriteContentErrors];
4620
+ export type FileStoreFilesWriteContentResponses = {
4621
+ /**
4622
+ * Written file info
4623
+ */
4624
+ 200: FileStoreFile;
4625
+ };
4626
+ export type FileStoreFilesWriteContentResponse = FileStoreFilesWriteContentResponses[keyof FileStoreFilesWriteContentResponses];
3944
4627
  export type InvitationPreviewData = {
3945
4628
  body?: never;
3946
4629
  path: {
@@ -4006,6 +4689,10 @@ export type GithubInstallData = {
4006
4689
  path?: never;
4007
4690
  query?: {
4008
4691
  returnTo?: string;
4692
+ /**
4693
+ * Target vault for the resulting credential. Defaults to the caller's private default vault.
4694
+ */
4695
+ vaultId?: string;
4009
4696
  };
4010
4697
  url: "/api/github/install";
4011
4698
  };
@@ -4036,6 +4723,10 @@ export type GithubConnectData = {
4036
4723
  path?: never;
4037
4724
  query?: {
4038
4725
  returnTo?: string;
4726
+ /**
4727
+ * Target vault for the resulting credential. Defaults to the caller's private default vault.
4728
+ */
4729
+ vaultId?: string;
4039
4730
  };
4040
4731
  url: "/api/github/connect";
4041
4732
  };
@@ -4412,19 +5103,13 @@ export type GoogleConnectResponses = {
4412
5103
  200: GoogleWorkspaceOAuthStartResult;
4413
5104
  };
4414
5105
  export type GoogleConnectResponse = GoogleConnectResponses[keyof GoogleConnectResponses];
4415
- export type McpListData = {
5106
+ export type OauthAppListData = {
4416
5107
  body?: never;
4417
5108
  path?: never;
4418
- query?: {
4419
- limit?: number;
4420
- offset?: number;
4421
- includeDeprecated?: boolean;
4422
- sort?: "popular" | "trending" | "recent";
4423
- visibility?: "private" | "org";
4424
- };
4425
- url: "/api/mcps";
5109
+ query?: never;
5110
+ url: "/api/oauth-apps";
4426
5111
  };
4427
- export type McpListErrors = {
5112
+ export type OauthAppListErrors = {
4428
5113
  /**
4429
5114
  * Unauthorized
4430
5115
  */
@@ -4438,44 +5123,21 @@ export type McpListErrors = {
4438
5123
  error: string;
4439
5124
  };
4440
5125
  };
4441
- export type McpListError = McpListErrors[keyof McpListErrors];
4442
- export type McpListResponses = {
5126
+ export type OauthAppListError = OauthAppListErrors[keyof OauthAppListErrors];
5127
+ export type OauthAppListResponses = {
4443
5128
  /**
4444
- * List of MCPs
5129
+ * OAuth apps
4445
5130
  */
4446
- 200: Array<Mcp>;
5131
+ 200: Array<OAuthApp>;
4447
5132
  };
4448
- export type McpListResponse = McpListResponses[keyof McpListResponses];
4449
- export type McpCreateData = {
4450
- body?: {
4451
- name: string;
4452
- slug?: string;
4453
- description?: string;
4454
- icon?: string | null;
4455
- mcpServerUrl?: string | null;
4456
- docUrl?: string | null;
4457
- type?: "remote" | "local";
4458
- transport?: "streamable-http" | "sse" | "stdio";
4459
- command?: string | null;
4460
- args?: Array<string>;
4461
- env?: {
4462
- [key: string]: string;
4463
- };
4464
- requiredCredentials?: Array<RequiredCredential>;
4465
- version?: string | null;
4466
- repository?: Repository | null;
4467
- tools?: Array<string>;
4468
- prompts?: Array<string>;
4469
- auth?: "none" | "oauth" | "api_key" | "basic" | "mcp_provider";
4470
- authConfig?: McpAuthConfig | null;
4471
- tags?: Array<string>;
4472
- visibility?: "private" | "org";
4473
- };
5133
+ export type OauthAppListResponse = OauthAppListResponses[keyof OauthAppListResponses];
5134
+ export type OauthAppCreateData = {
5135
+ body?: OAuthAppCreateInput;
4474
5136
  path?: never;
4475
5137
  query?: never;
4476
- url: "/api/mcps";
5138
+ url: "/api/oauth-apps";
4477
5139
  };
4478
- export type McpCreateErrors = {
5140
+ export type OauthAppCreateErrors = {
4479
5141
  /**
4480
5142
  * Bad request
4481
5143
  */
@@ -4494,16 +5156,270 @@ export type McpCreateErrors = {
4494
5156
  403: {
4495
5157
  error: string;
4496
5158
  };
5159
+ };
5160
+ export type OauthAppCreateError = OauthAppCreateErrors[keyof OauthAppCreateErrors];
5161
+ export type OauthAppCreateResponses = {
4497
5162
  /**
4498
- * Conflict
5163
+ * Created app
4499
5164
  */
4500
- 409: {
4501
- error: string;
4502
- };
5165
+ 200: OAuthApp;
4503
5166
  };
4504
- export type McpCreateError = McpCreateErrors[keyof McpCreateErrors];
4505
- export type McpCreateResponses = {
4506
- /**
5167
+ export type OauthAppCreateResponse = OauthAppCreateResponses[keyof OauthAppCreateResponses];
5168
+ export type OauthAppRedirectUriData = {
5169
+ body?: never;
5170
+ path?: never;
5171
+ query?: never;
5172
+ url: "/api/oauth-apps/redirect-uri";
5173
+ };
5174
+ export type OauthAppRedirectUriErrors = {
5175
+ /**
5176
+ * Unauthorized
5177
+ */
5178
+ 401: {
5179
+ error: string;
5180
+ };
5181
+ /**
5182
+ * Forbidden
5183
+ */
5184
+ 403: {
5185
+ error: string;
5186
+ };
5187
+ };
5188
+ export type OauthAppRedirectUriError = OauthAppRedirectUriErrors[keyof OauthAppRedirectUriErrors];
5189
+ export type OauthAppRedirectUriResponses = {
5190
+ /**
5191
+ * Redirect URI
5192
+ */
5193
+ 200: OAuthAppRedirectUri;
5194
+ };
5195
+ export type OauthAppRedirectUriResponse = OauthAppRedirectUriResponses[keyof OauthAppRedirectUriResponses];
5196
+ export type OauthAppDeleteData = {
5197
+ body?: never;
5198
+ path: {
5199
+ id: string;
5200
+ };
5201
+ query?: {
5202
+ force?: string;
5203
+ };
5204
+ url: "/api/oauth-apps/{id}";
5205
+ };
5206
+ export type OauthAppDeleteErrors = {
5207
+ /**
5208
+ * Bad request
5209
+ */
5210
+ 400: {
5211
+ error: string;
5212
+ };
5213
+ /**
5214
+ * Unauthorized
5215
+ */
5216
+ 401: {
5217
+ error: string;
5218
+ };
5219
+ /**
5220
+ * Forbidden
5221
+ */
5222
+ 403: {
5223
+ error: string;
5224
+ };
5225
+ /**
5226
+ * Not found
5227
+ */
5228
+ 404: {
5229
+ error: string;
5230
+ };
5231
+ };
5232
+ export type OauthAppDeleteError = OauthAppDeleteErrors[keyof OauthAppDeleteErrors];
5233
+ export type OauthAppDeleteResponses = {
5234
+ /**
5235
+ * Archived
5236
+ */
5237
+ 204: void;
5238
+ };
5239
+ export type OauthAppDeleteResponse = OauthAppDeleteResponses[keyof OauthAppDeleteResponses];
5240
+ export type OauthAppUpdateData = {
5241
+ body?: OAuthAppUpdateInput;
5242
+ path: {
5243
+ id: string;
5244
+ };
5245
+ query?: {
5246
+ force?: string;
5247
+ };
5248
+ url: "/api/oauth-apps/{id}";
5249
+ };
5250
+ export type OauthAppUpdateErrors = {
5251
+ /**
5252
+ * Bad request
5253
+ */
5254
+ 400: {
5255
+ error: string;
5256
+ };
5257
+ /**
5258
+ * Unauthorized
5259
+ */
5260
+ 401: {
5261
+ error: string;
5262
+ };
5263
+ /**
5264
+ * Forbidden
5265
+ */
5266
+ 403: {
5267
+ error: string;
5268
+ };
5269
+ /**
5270
+ * Not found
5271
+ */
5272
+ 404: {
5273
+ error: string;
5274
+ };
5275
+ };
5276
+ export type OauthAppUpdateError = OauthAppUpdateErrors[keyof OauthAppUpdateErrors];
5277
+ export type OauthAppUpdateResponses = {
5278
+ /**
5279
+ * Updated app
5280
+ */
5281
+ 200: OAuthApp;
5282
+ };
5283
+ export type OauthAppUpdateResponse = OauthAppUpdateResponses[keyof OauthAppUpdateResponses];
5284
+ export type OauthAppUsageData = {
5285
+ body?: never;
5286
+ path: {
5287
+ id: string;
5288
+ };
5289
+ query?: never;
5290
+ url: "/api/oauth-apps/{id}/usage";
5291
+ };
5292
+ export type OauthAppUsageErrors = {
5293
+ /**
5294
+ * Unauthorized
5295
+ */
5296
+ 401: {
5297
+ error: string;
5298
+ };
5299
+ /**
5300
+ * Forbidden
5301
+ */
5302
+ 403: {
5303
+ error: string;
5304
+ };
5305
+ /**
5306
+ * Not found
5307
+ */
5308
+ 404: {
5309
+ error: string;
5310
+ };
5311
+ };
5312
+ export type OauthAppUsageError = OauthAppUsageErrors[keyof OauthAppUsageErrors];
5313
+ export type OauthAppUsageResponses = {
5314
+ /**
5315
+ * Usage
5316
+ */
5317
+ 200: OAuthAppUsage;
5318
+ };
5319
+ export type OauthAppUsageResponse = OauthAppUsageResponses[keyof OauthAppUsageResponses];
5320
+ export type McpListData = {
5321
+ body?: never;
5322
+ path?: never;
5323
+ query?: {
5324
+ limit?: number;
5325
+ offset?: number;
5326
+ includeDeprecated?: boolean;
5327
+ sort?: "popular" | "trending" | "recent";
5328
+ visibility?: "private" | "pod" | "org";
5329
+ };
5330
+ url: "/api/mcps";
5331
+ };
5332
+ export type McpListErrors = {
5333
+ /**
5334
+ * Unauthorized
5335
+ */
5336
+ 401: {
5337
+ error: string;
5338
+ };
5339
+ /**
5340
+ * Forbidden
5341
+ */
5342
+ 403: {
5343
+ error: string;
5344
+ };
5345
+ };
5346
+ export type McpListError = McpListErrors[keyof McpListErrors];
5347
+ export type McpListResponses = {
5348
+ /**
5349
+ * List of MCPs
5350
+ */
5351
+ 200: Array<Mcp>;
5352
+ };
5353
+ export type McpListResponse = McpListResponses[keyof McpListResponses];
5354
+ export type McpCreateData = {
5355
+ body?: {
5356
+ name: string;
5357
+ /**
5358
+ * URL-friendly identifier
5359
+ */
5360
+ slug?: string;
5361
+ description?: string;
5362
+ icon?: string | null;
5363
+ mcpServerUrl?: string | null;
5364
+ docUrl?: string | null;
5365
+ type?: "remote" | "local";
5366
+ command?: string | null;
5367
+ args?: Array<string>;
5368
+ cwd?: string | null;
5369
+ timeout?: McpTimeout | null;
5370
+ env?: {
5371
+ [key: string]: string;
5372
+ };
5373
+ requiredCredentials?: Array<RequiredCredential>;
5374
+ version?: string | null;
5375
+ repository?: Repository | null;
5376
+ tools?: Array<string>;
5377
+ prompts?: Array<string>;
5378
+ /**
5379
+ * Ignored on write — derived from authConfig, which is the single source of truth for auth shape.
5380
+ */
5381
+ auth?: "none" | "oauth" | "api_key" | "basic" | "mcp_provider";
5382
+ authConfig?: McpAuthConfig | null;
5383
+ tags?: Array<string> | null;
5384
+ visibility?: "private" | "pod" | "org";
5385
+ /**
5386
+ * Register this URL even though another MCP already uses it — a second account on the same server.
5387
+ */
5388
+ allowDuplicateUrl?: boolean;
5389
+ };
5390
+ path?: never;
5391
+ query?: never;
5392
+ url: "/api/mcps";
5393
+ };
5394
+ export type McpCreateErrors = {
5395
+ /**
5396
+ * Bad request
5397
+ */
5398
+ 400: {
5399
+ error: string;
5400
+ };
5401
+ /**
5402
+ * Unauthorized
5403
+ */
5404
+ 401: {
5405
+ error: string;
5406
+ };
5407
+ /**
5408
+ * Forbidden
5409
+ */
5410
+ 403: {
5411
+ error: string;
5412
+ };
5413
+ /**
5414
+ * Conflict
5415
+ */
5416
+ 409: {
5417
+ error: string;
5418
+ };
5419
+ };
5420
+ export type McpCreateError = McpCreateErrors[keyof McpCreateErrors];
5421
+ export type McpCreateResponses = {
5422
+ /**
4507
5423
  * Created MCP
4508
5424
  */
4509
5425
  200: Mcp;
@@ -4630,9 +5546,10 @@ export type McpUpdateData = {
4630
5546
  mcpServerUrl?: string;
4631
5547
  docUrl?: string | null;
4632
5548
  type?: "remote" | "local";
4633
- transport?: "streamable-http" | "sse" | "stdio";
4634
5549
  command?: string | null;
4635
5550
  args?: Array<string>;
5551
+ cwd?: string | null;
5552
+ timeout?: McpTimeout | null;
4636
5553
  env?: {
4637
5554
  [key: string]: string;
4638
5555
  };
@@ -4644,7 +5561,7 @@ export type McpUpdateData = {
4644
5561
  auth?: "none" | "oauth" | "api_key" | "basic" | "mcp_provider";
4645
5562
  authConfig?: McpAuthConfig | null;
4646
5563
  websiteMetadata?: WebsiteMetadata | null;
4647
- tags?: Array<string>;
5564
+ tags?: Array<string> | null;
4648
5565
  };
4649
5566
  path: {
4650
5567
  id: string;
@@ -4880,21 +5797,13 @@ export type McpUndeprecateResponses = {
4880
5797
  200: Mcp;
4881
5798
  };
4882
5799
  export type McpUndeprecateResponse = McpUndeprecateResponses[keyof McpUndeprecateResponses];
4883
- export type McpOauthConnectData = {
4884
- body?: McpOAuthConnectBody;
4885
- path: {
4886
- id: string;
4887
- };
5800
+ export type MeGetData = {
5801
+ body?: never;
5802
+ path?: never;
4888
5803
  query?: never;
4889
- url: "/api/mcps/{id}/oauth/connect";
5804
+ url: "/api/me";
4890
5805
  };
4891
- export type McpOauthConnectErrors = {
4892
- /**
4893
- * Bad request
4894
- */
4895
- 400: {
4896
- error: string;
4897
- };
5806
+ export type MeGetErrors = {
4898
5807
  /**
4899
5808
  * Unauthorized
4900
5809
  */
@@ -4914,24 +5823,29 @@ export type McpOauthConnectErrors = {
4914
5823
  error: string;
4915
5824
  };
4916
5825
  };
4917
- export type McpOauthConnectError = McpOauthConnectErrors[keyof McpOauthConnectErrors];
4918
- export type McpOauthConnectResponses = {
5826
+ export type MeGetError = MeGetErrors[keyof MeGetErrors];
5827
+ export type MeGetResponses = {
4919
5828
  /**
4920
- * OAuth connect result
5829
+ * Resolved auth context
4921
5830
  */
4922
- 200: McpOAuthConnectResult;
5831
+ 200: Me;
4923
5832
  };
4924
- export type McpOauthConnectResponse = McpOauthConnectResponses[keyof McpOauthConnectResponses];
4925
- export type McpOauthSessionData = {
4926
- body?: never;
4927
- path: {
4928
- id: string;
4929
- sessionId: string;
5833
+ export type MeGetResponse = MeGetResponses[keyof MeGetResponses];
5834
+ export type MeUpdatePersonaData = {
5835
+ body?: {
5836
+ persona: MemberPersona;
4930
5837
  };
5838
+ path?: never;
4931
5839
  query?: never;
4932
- url: "/api/mcps/{id}/oauth/sessions/{sessionId}";
5840
+ url: "/api/me/persona";
4933
5841
  };
4934
- export type McpOauthSessionErrors = {
5842
+ export type MeUpdatePersonaErrors = {
5843
+ /**
5844
+ * Bad request
5845
+ */
5846
+ 400: {
5847
+ error: string;
5848
+ };
4935
5849
  /**
4936
5850
  * Unauthorized
4937
5851
  */
@@ -4951,88 +5865,12 @@ export type McpOauthSessionErrors = {
4951
5865
  error: string;
4952
5866
  };
4953
5867
  };
4954
- export type McpOauthSessionError = McpOauthSessionErrors[keyof McpOauthSessionErrors];
4955
- export type McpOauthSessionResponses = {
5868
+ export type MeUpdatePersonaError = MeUpdatePersonaErrors[keyof MeUpdatePersonaErrors];
5869
+ export type MeUpdatePersonaResponses = {
4956
5870
  /**
4957
- * OAuth session status
5871
+ * Persona updated
4958
5872
  */
4959
- 200: OAuthSessionStatus;
4960
- };
4961
- export type McpOauthSessionResponse = McpOauthSessionResponses[keyof McpOauthSessionResponses];
4962
- export type MeGetData = {
4963
- body?: never;
4964
- path?: never;
4965
- query?: never;
4966
- url: "/api/me";
4967
- };
4968
- export type MeGetErrors = {
4969
- /**
4970
- * Unauthorized
4971
- */
4972
- 401: {
4973
- error: string;
4974
- };
4975
- /**
4976
- * Forbidden
4977
- */
4978
- 403: {
4979
- error: string;
4980
- };
4981
- /**
4982
- * Not found
4983
- */
4984
- 404: {
4985
- error: string;
4986
- };
4987
- };
4988
- export type MeGetError = MeGetErrors[keyof MeGetErrors];
4989
- export type MeGetResponses = {
4990
- /**
4991
- * Resolved auth context
4992
- */
4993
- 200: Me;
4994
- };
4995
- export type MeGetResponse = MeGetResponses[keyof MeGetResponses];
4996
- export type MeUpdatePersonaData = {
4997
- body?: {
4998
- persona: MemberPersona;
4999
- };
5000
- path?: never;
5001
- query?: never;
5002
- url: "/api/me/persona";
5003
- };
5004
- export type MeUpdatePersonaErrors = {
5005
- /**
5006
- * Bad request
5007
- */
5008
- 400: {
5009
- error: string;
5010
- };
5011
- /**
5012
- * Unauthorized
5013
- */
5014
- 401: {
5015
- error: string;
5016
- };
5017
- /**
5018
- * Forbidden
5019
- */
5020
- 403: {
5021
- error: string;
5022
- };
5023
- /**
5024
- * Not found
5025
- */
5026
- 404: {
5027
- error: string;
5028
- };
5029
- };
5030
- export type MeUpdatePersonaError = MeUpdatePersonaErrors[keyof MeUpdatePersonaErrors];
5031
- export type MeUpdatePersonaResponses = {
5032
- /**
5033
- * Persona updated
5034
- */
5035
- 200: MemberPersonaUpdate;
5873
+ 200: MemberPersonaUpdate;
5036
5874
  };
5037
5875
  export type MeUpdatePersonaResponse = MeUpdatePersonaResponses[keyof MeUpdatePersonaResponses];
5038
5876
  export type MeCompleteOnboardingData = {
@@ -5080,7 +5918,7 @@ export type MemoryStoreListData = {
5080
5918
  offset?: number;
5081
5919
  includeDeprecated?: boolean;
5082
5920
  userId?: string | null;
5083
- visibility?: "private" | "org";
5921
+ visibility?: "private" | "pod" | "org";
5084
5922
  };
5085
5923
  url: "/api/memory-stores";
5086
5924
  };
@@ -5111,7 +5949,7 @@ export type MemoryStoreCreateData = {
5111
5949
  name: string;
5112
5950
  description?: string;
5113
5951
  isDefault?: boolean;
5114
- visibility?: "private" | "org";
5952
+ visibility?: "private" | "pod" | "org";
5115
5953
  };
5116
5954
  path?: never;
5117
5955
  query?: never;
@@ -5176,7 +6014,7 @@ export type MemoryStoreGetErrors = {
5176
6014
  export type MemoryStoreGetError = MemoryStoreGetErrors[keyof MemoryStoreGetErrors];
5177
6015
  export type MemoryStoreGetResponses = {
5178
6016
  /**
5179
- * Memory store details
6017
+ * memory store details
5180
6018
  */
5181
6019
  200: MemoryStore;
5182
6020
  };
@@ -5447,6 +6285,7 @@ export type MemoryStoreFilesStartUploadResponse = MemoryStoreFilesStartUploadRes
5447
6285
  export type MemoryStoreFilesFinalizeUploadData = {
5448
6286
  body?: {
5449
6287
  path: string;
6288
+ uploadId: string;
5450
6289
  };
5451
6290
  path: {
5452
6291
  id: string;
@@ -5488,6 +6327,50 @@ export type MemoryStoreFilesFinalizeUploadResponses = {
5488
6327
  200: MemoryStoreFile;
5489
6328
  };
5490
6329
  export type MemoryStoreFilesFinalizeUploadResponse = MemoryStoreFilesFinalizeUploadResponses[keyof MemoryStoreFilesFinalizeUploadResponses];
6330
+ export type MemoryStoreFilesWriteContentData = {
6331
+ body: Blob | File;
6332
+ path: {
6333
+ id: string;
6334
+ };
6335
+ query: {
6336
+ path: string;
6337
+ };
6338
+ url: "/api/memory-stores/{id}/files/content";
6339
+ };
6340
+ export type MemoryStoreFilesWriteContentErrors = {
6341
+ /**
6342
+ * Bad request
6343
+ */
6344
+ 400: {
6345
+ error: string;
6346
+ };
6347
+ /**
6348
+ * Unauthorized
6349
+ */
6350
+ 401: {
6351
+ error: string;
6352
+ };
6353
+ /**
6354
+ * Forbidden
6355
+ */
6356
+ 403: {
6357
+ error: string;
6358
+ };
6359
+ /**
6360
+ * Not found
6361
+ */
6362
+ 404: {
6363
+ error: string;
6364
+ };
6365
+ };
6366
+ export type MemoryStoreFilesWriteContentError = MemoryStoreFilesWriteContentErrors[keyof MemoryStoreFilesWriteContentErrors];
6367
+ export type MemoryStoreFilesWriteContentResponses = {
6368
+ /**
6369
+ * Written file info
6370
+ */
6371
+ 200: MemoryStoreFile;
6372
+ };
6373
+ export type MemoryStoreFilesWriteContentResponse = MemoryStoreFilesWriteContentResponses[keyof MemoryStoreFilesWriteContentResponses];
5491
6374
  export type ModelListData = {
5492
6375
  body?: never;
5493
6376
  path?: never;
@@ -5800,7 +6683,7 @@ export type PodListData = {
5800
6683
  offset?: number;
5801
6684
  includeDeprecated?: boolean;
5802
6685
  userId?: string | null;
5803
- visibility?: "private" | "org";
6686
+ visibility?: "private" | "pod" | "org";
5804
6687
  };
5805
6688
  url: "/api/pods";
5806
6689
  };
@@ -5834,8 +6717,9 @@ export type PodCreateData = {
5834
6717
  instructions?: string;
5835
6718
  isPrivate?: boolean;
5836
6719
  isDefault?: boolean;
6720
+ presetTemplate?: PresetTemplate;
5837
6721
  createDefaultProject?: boolean;
5838
- visibility?: "private" | "org";
6722
+ visibility?: "private" | "pod" | "org";
5839
6723
  };
5840
6724
  path?: never;
5841
6725
  query?: never;
@@ -5913,6 +6797,7 @@ export type PodUpdateData = {
5913
6797
  environmentId?: string | null;
5914
6798
  defaultModel?: string | null;
5915
6799
  instructions?: string;
6800
+ presetTemplate?: PresetTemplate;
5916
6801
  };
5917
6802
  path: {
5918
6803
  id: string;
@@ -5959,10 +6844,20 @@ export type PodUsageData = {
5959
6844
  path: {
5960
6845
  id: string;
5961
6846
  };
5962
- query?: never;
6847
+ query?: {
6848
+ groupBy?: "user" | "member" | "agent" | "model" | "session" | "project" | "pod" | "source";
6849
+ start?: string;
6850
+ end?: string;
6851
+ };
5963
6852
  url: "/api/pods/{id}/usage";
5964
6853
  };
5965
6854
  export type PodUsageErrors = {
6855
+ /**
6856
+ * Bad request
6857
+ */
6858
+ 400: {
6859
+ error: string;
6860
+ };
5966
6861
  /**
5967
6862
  * Unauthorized
5968
6863
  */
@@ -6144,15 +7039,57 @@ export type PodMemberRemoveResponses = {
6144
7039
  200: PodMember;
6145
7040
  };
6146
7041
  export type PodMemberRemoveResponse = PodMemberRemoveResponses[keyof PodMemberRemoveResponses];
6147
- export type PodVaultListData = {
7042
+ export type PodCredentialListData = {
6148
7043
  body?: never;
6149
7044
  path: {
6150
7045
  id: string;
6151
7046
  };
6152
7047
  query?: never;
6153
- url: "/api/pods/{id}/vaults";
7048
+ url: "/api/pods/{id}/credentials";
7049
+ };
7050
+ export type PodCredentialListErrors = {
7051
+ /**
7052
+ * Unauthorized
7053
+ */
7054
+ 401: {
7055
+ error: string;
7056
+ };
7057
+ /**
7058
+ * Forbidden
7059
+ */
7060
+ 403: {
7061
+ error: string;
7062
+ };
7063
+ /**
7064
+ * Not found
7065
+ */
7066
+ 404: {
7067
+ error: string;
7068
+ };
7069
+ };
7070
+ export type PodCredentialListError = PodCredentialListErrors[keyof PodCredentialListErrors];
7071
+ export type PodCredentialListResponses = {
7072
+ /**
7073
+ * Resolved credentials
7074
+ */
7075
+ 200: PodCredentials;
7076
+ };
7077
+ export type PodCredentialListResponse = PodCredentialListResponses[keyof PodCredentialListResponses];
7078
+ export type PodSandboxProvisionData = {
7079
+ body?: never;
7080
+ path: {
7081
+ podId: string;
7082
+ };
7083
+ query?: never;
7084
+ url: "/api/pods/{podId}/sandbox/provision";
6154
7085
  };
6155
- export type PodVaultListErrors = {
7086
+ export type PodSandboxProvisionErrors = {
7087
+ /**
7088
+ * Bad request
7089
+ */
7090
+ 400: {
7091
+ error: string;
7092
+ };
6156
7093
  /**
6157
7094
  * Unauthorized
6158
7095
  */
@@ -6172,26 +7109,243 @@ export type PodVaultListErrors = {
6172
7109
  error: string;
6173
7110
  };
6174
7111
  };
6175
- export type PodVaultListError = PodVaultListErrors[keyof PodVaultListErrors];
6176
- export type PodVaultListResponses = {
7112
+ export type PodSandboxProvisionError = PodSandboxProvisionErrors[keyof PodSandboxProvisionErrors];
7113
+ export type PodSandboxProvisionResponses = {
6177
7114
  /**
6178
- * List of vault associations
7115
+ * Workflow started or joined
6179
7116
  */
6180
- 200: Array<PodVault>;
7117
+ 200: PodSandboxProvisionResponse;
6181
7118
  };
6182
- export type PodVaultListResponse = PodVaultListResponses[keyof PodVaultListResponses];
6183
- export type PodVaultAddData = {
7119
+ export type PodSandboxProvisionResponse2 = PodSandboxProvisionResponses[keyof PodSandboxProvisionResponses];
7120
+ export type PodSandboxTeardownData = {
7121
+ body?: never;
7122
+ path: {
7123
+ podId: string;
7124
+ };
7125
+ query?: never;
7126
+ url: "/api/pods/{podId}/sandbox/teardown";
7127
+ };
7128
+ export type PodSandboxTeardownErrors = {
7129
+ /**
7130
+ * Bad request
7131
+ */
7132
+ 400: {
7133
+ error: string;
7134
+ };
7135
+ /**
7136
+ * Unauthorized
7137
+ */
7138
+ 401: {
7139
+ error: string;
7140
+ };
7141
+ /**
7142
+ * Forbidden
7143
+ */
7144
+ 403: {
7145
+ error: string;
7146
+ };
7147
+ /**
7148
+ * Not found
7149
+ */
7150
+ 404: {
7151
+ error: string;
7152
+ };
7153
+ };
7154
+ export type PodSandboxTeardownError = PodSandboxTeardownErrors[keyof PodSandboxTeardownErrors];
7155
+ export type PodSandboxTeardownResponses = {
7156
+ /**
7157
+ * Teardown result
7158
+ */
7159
+ 200: PodSandboxTeardownResponse;
7160
+ };
7161
+ export type PodSandboxTeardownResponse2 = PodSandboxTeardownResponses[keyof PodSandboxTeardownResponses];
7162
+ export type PodSandboxStatusData = {
7163
+ body?: never;
7164
+ path: {
7165
+ podId: string;
7166
+ };
7167
+ query?: never;
7168
+ url: "/api/pods/{podId}/sandbox/status";
7169
+ };
7170
+ export type PodSandboxStatusErrors = {
7171
+ /**
7172
+ * Bad request
7173
+ */
7174
+ 400: {
7175
+ error: string;
7176
+ };
7177
+ /**
7178
+ * Unauthorized
7179
+ */
7180
+ 401: {
7181
+ error: string;
7182
+ };
7183
+ /**
7184
+ * Forbidden
7185
+ */
7186
+ 403: {
7187
+ error: string;
7188
+ };
7189
+ /**
7190
+ * Not found
7191
+ */
7192
+ 404: {
7193
+ error: string;
7194
+ };
7195
+ };
7196
+ export type PodSandboxStatusError = PodSandboxStatusErrors[keyof PodSandboxStatusErrors];
7197
+ export type PodSandboxStatusResponses = {
7198
+ /**
7199
+ * Current sandbox state
7200
+ */
7201
+ 200: PodSandboxStatusResponse;
7202
+ };
7203
+ export type PodSandboxStatusResponse2 = PodSandboxStatusResponses[keyof PodSandboxStatusResponses];
7204
+ export type PodDatabaseListData = {
7205
+ body?: never;
7206
+ path: {
7207
+ podId: string;
7208
+ };
7209
+ query?: {
7210
+ limit?: number;
7211
+ offset?: number;
7212
+ includeDeprecated?: boolean;
7213
+ };
7214
+ url: "/api/pods/{podId}/databases";
7215
+ };
7216
+ export type PodDatabaseListErrors = {
7217
+ /**
7218
+ * Unauthorized
7219
+ */
7220
+ 401: {
7221
+ error: string;
7222
+ };
7223
+ /**
7224
+ * Forbidden
7225
+ */
7226
+ 403: {
7227
+ error: string;
7228
+ };
7229
+ /**
7230
+ * Not found
7231
+ */
7232
+ 404: {
7233
+ error: string;
7234
+ };
7235
+ };
7236
+ export type PodDatabaseListError = PodDatabaseListErrors[keyof PodDatabaseListErrors];
7237
+ export type PodDatabaseListResponses = {
7238
+ /**
7239
+ * Pod databases
7240
+ */
7241
+ 200: Array<PodDatabase>;
7242
+ };
7243
+ export type PodDatabaseListResponse = PodDatabaseListResponses[keyof PodDatabaseListResponses];
7244
+ export type PodDatabaseCreateData = {
6184
7245
  body?: {
6185
- vaultId: string;
6186
- priority?: number;
7246
+ name: string;
7247
+ /**
7248
+ * URL-friendly identifier
7249
+ */
7250
+ slug?: string;
7251
+ description?: string;
6187
7252
  };
6188
7253
  path: {
7254
+ podId: string;
7255
+ };
7256
+ query?: never;
7257
+ url: "/api/pods/{podId}/databases";
7258
+ };
7259
+ export type PodDatabaseCreateErrors = {
7260
+ /**
7261
+ * Bad request
7262
+ */
7263
+ 400: {
7264
+ error: string;
7265
+ };
7266
+ /**
7267
+ * Unauthorized
7268
+ */
7269
+ 401: {
7270
+ error: string;
7271
+ };
7272
+ /**
7273
+ * Forbidden
7274
+ */
7275
+ 403: {
7276
+ error: string;
7277
+ };
7278
+ /**
7279
+ * Not found
7280
+ */
7281
+ 404: {
7282
+ error: string;
7283
+ };
7284
+ /**
7285
+ * Conflict
7286
+ */
7287
+ 409: {
7288
+ error: string;
7289
+ };
7290
+ };
7291
+ export type PodDatabaseCreateError = PodDatabaseCreateErrors[keyof PodDatabaseCreateErrors];
7292
+ export type PodDatabaseCreateResponses = {
7293
+ /**
7294
+ * Created pod database
7295
+ */
7296
+ 200: PodDatabase;
7297
+ };
7298
+ export type PodDatabaseCreateResponse = PodDatabaseCreateResponses[keyof PodDatabaseCreateResponses];
7299
+ export type PodDatabaseGetData = {
7300
+ body?: never;
7301
+ path: {
7302
+ podId: string;
6189
7303
  id: string;
6190
7304
  };
6191
7305
  query?: never;
6192
- url: "/api/pods/{id}/vaults";
7306
+ url: "/api/pods/{podId}/databases/{id}";
6193
7307
  };
6194
- export type PodVaultAddErrors = {
7308
+ export type PodDatabaseGetErrors = {
7309
+ /**
7310
+ * Unauthorized
7311
+ */
7312
+ 401: {
7313
+ error: string;
7314
+ };
7315
+ /**
7316
+ * Forbidden
7317
+ */
7318
+ 403: {
7319
+ error: string;
7320
+ };
7321
+ /**
7322
+ * Not found
7323
+ */
7324
+ 404: {
7325
+ error: string;
7326
+ };
7327
+ };
7328
+ export type PodDatabaseGetError = PodDatabaseGetErrors[keyof PodDatabaseGetErrors];
7329
+ export type PodDatabaseGetResponses = {
7330
+ /**
7331
+ * Pod database details
7332
+ */
7333
+ 200: PodDatabase;
7334
+ };
7335
+ export type PodDatabaseGetResponse = PodDatabaseGetResponses[keyof PodDatabaseGetResponses];
7336
+ export type PodDatabaseUpdateData = {
7337
+ body?: {
7338
+ name?: string;
7339
+ description?: string;
7340
+ };
7341
+ path: {
7342
+ podId: string;
7343
+ id: string;
7344
+ };
7345
+ query?: never;
7346
+ url: "/api/pods/{podId}/databases/{id}";
7347
+ };
7348
+ export type PodDatabaseUpdateErrors = {
6195
7349
  /**
6196
7350
  * Bad request
6197
7351
  */
@@ -6217,24 +7371,120 @@ export type PodVaultAddErrors = {
6217
7371
  error: string;
6218
7372
  };
6219
7373
  };
6220
- export type PodVaultAddError = PodVaultAddErrors[keyof PodVaultAddErrors];
6221
- export type PodVaultAddResponses = {
7374
+ export type PodDatabaseUpdateError = PodDatabaseUpdateErrors[keyof PodDatabaseUpdateErrors];
7375
+ export type PodDatabaseUpdateResponses = {
6222
7376
  /**
6223
- * Added vault
7377
+ * Updated pod database
6224
7378
  */
6225
- 200: PodVault;
7379
+ 200: PodDatabase;
6226
7380
  };
6227
- export type PodVaultAddResponse = PodVaultAddResponses[keyof PodVaultAddResponses];
6228
- export type PodVaultRemoveData = {
7381
+ export type PodDatabaseUpdateResponse = PodDatabaseUpdateResponses[keyof PodDatabaseUpdateResponses];
7382
+ export type PodDatabaseArchiveData = {
6229
7383
  body?: never;
6230
7384
  path: {
7385
+ podId: string;
6231
7386
  id: string;
6232
- vaultId: string;
6233
7387
  };
6234
- query?: never;
6235
- url: "/api/pods/{id}/vaults/{vaultId}";
6236
- };
6237
- export type PodVaultRemoveErrors = {
7388
+ query?: never;
7389
+ url: "/api/pods/{podId}/databases/{id}/archive";
7390
+ };
7391
+ export type PodDatabaseArchiveErrors = {
7392
+ /**
7393
+ * Unauthorized
7394
+ */
7395
+ 401: {
7396
+ error: string;
7397
+ };
7398
+ /**
7399
+ * Forbidden
7400
+ */
7401
+ 403: {
7402
+ error: string;
7403
+ };
7404
+ /**
7405
+ * Not found
7406
+ */
7407
+ 404: {
7408
+ error: string;
7409
+ };
7410
+ };
7411
+ export type PodDatabaseArchiveError = PodDatabaseArchiveErrors[keyof PodDatabaseArchiveErrors];
7412
+ export type PodDatabaseArchiveResponses = {
7413
+ /**
7414
+ * Archived pod database
7415
+ */
7416
+ 200: PodDatabase;
7417
+ };
7418
+ export type PodDatabaseArchiveResponse = PodDatabaseArchiveResponses[keyof PodDatabaseArchiveResponses];
7419
+ export type ArtifactListData = {
7420
+ body?: never;
7421
+ path: {
7422
+ podId: string;
7423
+ };
7424
+ query?: {
7425
+ limit?: number;
7426
+ offset?: number;
7427
+ includeDeprecated?: boolean;
7428
+ };
7429
+ url: "/api/pods/{podId}/artifacts";
7430
+ };
7431
+ export type ArtifactListErrors = {
7432
+ /**
7433
+ * Bad request
7434
+ */
7435
+ 400: {
7436
+ error: string;
7437
+ };
7438
+ /**
7439
+ * Unauthorized
7440
+ */
7441
+ 401: {
7442
+ error: string;
7443
+ };
7444
+ /**
7445
+ * Forbidden
7446
+ */
7447
+ 403: {
7448
+ error: string;
7449
+ };
7450
+ /**
7451
+ * Not found
7452
+ */
7453
+ 404: {
7454
+ error: string;
7455
+ };
7456
+ };
7457
+ export type ArtifactListError = ArtifactListErrors[keyof ArtifactListErrors];
7458
+ export type ArtifactListResponses = {
7459
+ /**
7460
+ * Pod artifacts
7461
+ */
7462
+ 200: Array<Artifact>;
7463
+ };
7464
+ export type ArtifactListResponse = ArtifactListResponses[keyof ArtifactListResponses];
7465
+ export type ArtifactCreateData = {
7466
+ body?: {
7467
+ /**
7468
+ * URL-friendly identifier
7469
+ */
7470
+ slug: string;
7471
+ title: string;
7472
+ description?: string;
7473
+ sourceSessionId?: string | null;
7474
+ };
7475
+ path: {
7476
+ podId: string;
7477
+ };
7478
+ query?: never;
7479
+ url: "/api/pods/{podId}/artifacts";
7480
+ };
7481
+ export type ArtifactCreateErrors = {
7482
+ /**
7483
+ * Bad request
7484
+ */
7485
+ 400: {
7486
+ error: string;
7487
+ };
6238
7488
  /**
6239
7489
  * Unauthorized
6240
7490
  */
@@ -6253,30 +7503,31 @@ export type PodVaultRemoveErrors = {
6253
7503
  404: {
6254
7504
  error: string;
6255
7505
  };
7506
+ /**
7507
+ * Conflict
7508
+ */
7509
+ 409: {
7510
+ error: string;
7511
+ };
6256
7512
  };
6257
- export type PodVaultRemoveError = PodVaultRemoveErrors[keyof PodVaultRemoveErrors];
6258
- export type PodVaultRemoveResponses = {
7513
+ export type ArtifactCreateError = ArtifactCreateErrors[keyof ArtifactCreateErrors];
7514
+ export type ArtifactCreateResponses = {
6259
7515
  /**
6260
- * Removed vault
7516
+ * Created artifact
6261
7517
  */
6262
- 200: PodVault;
7518
+ 200: Artifact;
6263
7519
  };
6264
- export type PodVaultRemoveResponse = PodVaultRemoveResponses[keyof PodVaultRemoveResponses];
6265
- export type PodSandboxProvisionData = {
7520
+ export type ArtifactCreateResponse = ArtifactCreateResponses[keyof ArtifactCreateResponses];
7521
+ export type ArtifactGetData = {
6266
7522
  body?: never;
6267
7523
  path: {
6268
7524
  podId: string;
7525
+ id: string;
6269
7526
  };
6270
7527
  query?: never;
6271
- url: "/api/pods/{podId}/sandbox/provision";
7528
+ url: "/api/pods/{podId}/artifacts/{id}";
6272
7529
  };
6273
- export type PodSandboxProvisionErrors = {
6274
- /**
6275
- * Bad request
6276
- */
6277
- 400: {
6278
- error: string;
6279
- };
7530
+ export type ArtifactGetErrors = {
6280
7531
  /**
6281
7532
  * Unauthorized
6282
7533
  */
@@ -6296,23 +7547,27 @@ export type PodSandboxProvisionErrors = {
6296
7547
  error: string;
6297
7548
  };
6298
7549
  };
6299
- export type PodSandboxProvisionError = PodSandboxProvisionErrors[keyof PodSandboxProvisionErrors];
6300
- export type PodSandboxProvisionResponses = {
7550
+ export type ArtifactGetError = ArtifactGetErrors[keyof ArtifactGetErrors];
7551
+ export type ArtifactGetResponses = {
6301
7552
  /**
6302
- * Workflow started or joined
7553
+ * The artifact
6303
7554
  */
6304
- 200: PodSandboxProvisionResponse;
7555
+ 200: Artifact;
6305
7556
  };
6306
- export type PodSandboxProvisionResponse2 = PodSandboxProvisionResponses[keyof PodSandboxProvisionResponses];
6307
- export type PodSandboxTeardownData = {
6308
- body?: never;
7557
+ export type ArtifactGetResponse = ArtifactGetResponses[keyof ArtifactGetResponses];
7558
+ export type ArtifactUpdateData = {
7559
+ body?: {
7560
+ title?: string;
7561
+ description?: string;
7562
+ };
6309
7563
  path: {
6310
7564
  podId: string;
7565
+ id: string;
6311
7566
  };
6312
7567
  query?: never;
6313
- url: "/api/pods/{podId}/sandbox/teardown";
7568
+ url: "/api/pods/{podId}/artifacts/{id}";
6314
7569
  };
6315
- export type PodSandboxTeardownErrors = {
7570
+ export type ArtifactUpdateErrors = {
6316
7571
  /**
6317
7572
  * Bad request
6318
7573
  */
@@ -6338,29 +7593,24 @@ export type PodSandboxTeardownErrors = {
6338
7593
  error: string;
6339
7594
  };
6340
7595
  };
6341
- export type PodSandboxTeardownError = PodSandboxTeardownErrors[keyof PodSandboxTeardownErrors];
6342
- export type PodSandboxTeardownResponses = {
7596
+ export type ArtifactUpdateError = ArtifactUpdateErrors[keyof ArtifactUpdateErrors];
7597
+ export type ArtifactUpdateResponses = {
6343
7598
  /**
6344
- * Teardown result
7599
+ * Updated artifact
6345
7600
  */
6346
- 200: PodSandboxTeardownResponse;
7601
+ 200: Artifact;
6347
7602
  };
6348
- export type PodSandboxTeardownResponse2 = PodSandboxTeardownResponses[keyof PodSandboxTeardownResponses];
6349
- export type PodSandboxStatusData = {
7603
+ export type ArtifactUpdateResponse = ArtifactUpdateResponses[keyof ArtifactUpdateResponses];
7604
+ export type ArtifactArchiveData = {
6350
7605
  body?: never;
6351
7606
  path: {
6352
7607
  podId: string;
7608
+ id: string;
6353
7609
  };
6354
7610
  query?: never;
6355
- url: "/api/pods/{podId}/sandbox/status";
7611
+ url: "/api/pods/{podId}/artifacts/{id}/archive";
6356
7612
  };
6357
- export type PodSandboxStatusErrors = {
6358
- /**
6359
- * Bad request
6360
- */
6361
- 400: {
6362
- error: string;
6363
- };
7613
+ export type ArtifactArchiveErrors = {
6364
7614
  /**
6365
7615
  * Unauthorized
6366
7616
  */
@@ -6380,14 +7630,14 @@ export type PodSandboxStatusErrors = {
6380
7630
  error: string;
6381
7631
  };
6382
7632
  };
6383
- export type PodSandboxStatusError = PodSandboxStatusErrors[keyof PodSandboxStatusErrors];
6384
- export type PodSandboxStatusResponses = {
7633
+ export type ArtifactArchiveError = ArtifactArchiveErrors[keyof ArtifactArchiveErrors];
7634
+ export type ArtifactArchiveResponses = {
6385
7635
  /**
6386
- * Current sandbox state
7636
+ * Archived artifact
6387
7637
  */
6388
- 200: PodSandboxStatusResponse;
7638
+ 200: Artifact;
6389
7639
  };
6390
- export type PodSandboxStatusResponse2 = PodSandboxStatusResponses[keyof PodSandboxStatusResponses];
7640
+ export type ArtifactArchiveResponse = ArtifactArchiveResponses[keyof ArtifactArchiveResponses];
6391
7641
  export type ProjectListData = {
6392
7642
  body?: never;
6393
7643
  path?: never;
@@ -6396,7 +7646,7 @@ export type ProjectListData = {
6396
7646
  offset?: number;
6397
7647
  includeDeprecated?: boolean;
6398
7648
  podId?: string;
6399
- visibility?: "private" | "org";
7649
+ visibility?: "private" | "pod" | "org";
6400
7650
  };
6401
7651
  url: "/api/projects";
6402
7652
  };
@@ -6431,7 +7681,7 @@ export type ProjectCreateData = {
6431
7681
  permission?: PermissionConfig;
6432
7682
  gitRepos?: Array<ProjectGitRepo>;
6433
7683
  references?: ProjectReferences;
6434
- visibility?: "private" | "org";
7684
+ visibility?: "private" | "pod" | "org";
6435
7685
  };
6436
7686
  path?: never;
6437
7687
  query?: never;
@@ -6642,7 +7892,13 @@ export type ProjectAgentListResponse = ProjectAgentListResponses[keyof ProjectAg
6642
7892
  export type ProjectAgentAddData = {
6643
7893
  body?: {
6644
7894
  agentId: string;
7895
+ /**
7896
+ * Pin the placement to an exact agent version. null (the default) tracks the agent's latest live version; a set version ID must belong to this agent and not be archived.
7897
+ */
6645
7898
  agentVersionId?: string | null;
7899
+ /**
7900
+ * Opencode agent mode. "subagent" = the agent is only invocable as a subagent (reached via the task tool) and is isolated from project bindings it did not explicitly opt into; "all" = the agent is also directly selectable in the session and keeps its own bindings without isolation.
7901
+ */
6646
7902
  mode?: "subagent" | "all";
6647
7903
  };
6648
7904
  path: {
@@ -6676,6 +7932,12 @@ export type ProjectAgentAddErrors = {
6676
7932
  404: {
6677
7933
  error: string;
6678
7934
  };
7935
+ /**
7936
+ * Conflict
7937
+ */
7938
+ 409: {
7939
+ error: string;
7940
+ };
6679
7941
  };
6680
7942
  export type ProjectAgentAddError = ProjectAgentAddErrors[keyof ProjectAgentAddErrors];
6681
7943
  export type ProjectAgentAddResponses = {
@@ -6724,7 +7986,13 @@ export type ProjectAgentRemoveResponses = {
6724
7986
  export type ProjectAgentRemoveResponse = ProjectAgentRemoveResponses[keyof ProjectAgentRemoveResponses];
6725
7987
  export type ProjectAgentUpdateData = {
6726
7988
  body?: {
7989
+ /**
7990
+ * Pin the placement to an exact agent version. null (the default) tracks the agent's latest live version; a set version ID must belong to this agent and not be archived.
7991
+ */
6727
7992
  agentVersionId?: string | null;
7993
+ /**
7994
+ * Opencode agent mode. "subagent" = the agent is only invocable as a subagent (reached via the task tool) and is isolated from project bindings it did not explicitly opt into; "all" = the agent is also directly selectable in the session and keeps its own bindings without isolation.
7995
+ */
6728
7996
  mode?: "subagent" | "all";
6729
7997
  };
6730
7998
  path: {
@@ -6839,6 +8107,12 @@ export type ProjectFileStoreAddErrors = {
6839
8107
  404: {
6840
8108
  error: string;
6841
8109
  };
8110
+ /**
8111
+ * Conflict
8112
+ */
8113
+ 409: {
8114
+ error: string;
8115
+ };
6842
8116
  };
6843
8117
  export type ProjectFileStoreAddError = ProjectFileStoreAddErrors[keyof ProjectFileStoreAddErrors];
6844
8118
  export type ProjectFileStoreAddResponses = {
@@ -6956,6 +8230,12 @@ export type ProjectMemoryStoreAddErrors = {
6956
8230
  404: {
6957
8231
  error: string;
6958
8232
  };
8233
+ /**
8234
+ * Conflict
8235
+ */
8236
+ 409: {
8237
+ error: string;
8238
+ };
6959
8239
  };
6960
8240
  export type ProjectMemoryStoreAddError = ProjectMemoryStoreAddErrors[keyof ProjectMemoryStoreAddErrors];
6961
8241
  export type ProjectMemoryStoreAddResponses = {
@@ -7041,6 +8321,9 @@ export type ProjectSkillListResponse = ProjectSkillListResponses[keyof ProjectSk
7041
8321
  export type ProjectSkillAddData = {
7042
8322
  body?: {
7043
8323
  skillId: string;
8324
+ /**
8325
+ * Pin to a specific version, or null to track the latest live version (highest wins) for this skill.
8326
+ */
7044
8327
  skillVersionId?: string | null;
7045
8328
  };
7046
8329
  path: {
@@ -7083,6 +8366,42 @@ export type ProjectSkillAddResponses = {
7083
8366
  200: ProjectSkill;
7084
8367
  };
7085
8368
  export type ProjectSkillAddResponse = ProjectSkillAddResponses[keyof ProjectSkillAddResponses];
8369
+ export type ProjectSkillResolutionData = {
8370
+ body?: never;
8371
+ path: {
8372
+ id: string;
8373
+ };
8374
+ query?: never;
8375
+ url: "/api/projects/{id}/skills/resolution";
8376
+ };
8377
+ export type ProjectSkillResolutionErrors = {
8378
+ /**
8379
+ * Unauthorized
8380
+ */
8381
+ 401: {
8382
+ error: string;
8383
+ };
8384
+ /**
8385
+ * Forbidden
8386
+ */
8387
+ 403: {
8388
+ error: string;
8389
+ };
8390
+ /**
8391
+ * Not found
8392
+ */
8393
+ 404: {
8394
+ error: string;
8395
+ };
8396
+ };
8397
+ export type ProjectSkillResolutionError = ProjectSkillResolutionErrors[keyof ProjectSkillResolutionErrors];
8398
+ export type ProjectSkillResolutionResponses = {
8399
+ /**
8400
+ * Effective versions and pin-conflict warnings
8401
+ */
8402
+ 200: ProjectSkillResolution;
8403
+ };
8404
+ export type ProjectSkillResolutionResponse = ProjectSkillResolutionResponses[keyof ProjectSkillResolutionResponses];
7086
8405
  export type ProjectSkillRemoveData = {
7087
8406
  body?: never;
7088
8407
  path: {
@@ -7442,7 +8761,7 @@ export type ReplayListData = {
7442
8761
  offset?: number;
7443
8762
  includeDeprecated?: boolean;
7444
8763
  publisherId?: string;
7445
- visibility?: "private" | "org";
8764
+ visibility?: "private" | "pod" | "org";
7446
8765
  };
7447
8766
  url: "/api/replays";
7448
8767
  };
@@ -7474,7 +8793,7 @@ export type ReplayCreateData = {
7474
8793
  publisherId?: string | null;
7475
8794
  websiteMetadata?: WebsiteMetadata | null;
7476
8795
  shareToken?: string | null;
7477
- visibility?: "private" | "org";
8796
+ visibility?: "private" | "pod" | "org";
7478
8797
  };
7479
8798
  path?: never;
7480
8799
  query?: never;
@@ -7777,6 +9096,42 @@ export type ReplayShareResponses = {
7777
9096
  200: Replay;
7778
9097
  };
7779
9098
  export type ReplayShareResponse = ReplayShareResponses[keyof ReplayShareResponses];
9099
+ export type ResourceIconUploadData = {
9100
+ body: {
9101
+ file: Blob | File;
9102
+ };
9103
+ path?: never;
9104
+ query?: never;
9105
+ url: "/api/resource-icons";
9106
+ };
9107
+ export type ResourceIconUploadErrors = {
9108
+ /**
9109
+ * Bad request
9110
+ */
9111
+ 400: {
9112
+ error: string;
9113
+ };
9114
+ /**
9115
+ * Unauthorized
9116
+ */
9117
+ 401: {
9118
+ error: string;
9119
+ };
9120
+ /**
9121
+ * Forbidden
9122
+ */
9123
+ 403: {
9124
+ error: string;
9125
+ };
9126
+ };
9127
+ export type ResourceIconUploadError = ResourceIconUploadErrors[keyof ResourceIconUploadErrors];
9128
+ export type ResourceIconUploadResponses = {
9129
+ /**
9130
+ * Persistent resource icon URL
9131
+ */
9132
+ 200: ResourceIconUpload;
9133
+ };
9134
+ export type ResourceIconUploadResponse = ResourceIconUploadResponses[keyof ResourceIconUploadResponses];
7780
9135
  export type SessionListData = {
7781
9136
  body?: never;
7782
9137
  path?: never;
@@ -8313,7 +9668,26 @@ export type SkillListData = {
8313
9668
  offset?: number;
8314
9669
  includeDeprecated?: boolean;
8315
9670
  sort?: "popular" | "trending" | "recent";
8316
- visibility?: "private" | "org";
9671
+ /**
9672
+ * Restrict to a single visibility tier within the caller's scope.
9673
+ */
9674
+ visibility?: "private" | "pod" | "org";
9675
+ /**
9676
+ * Case-insensitive match across name, slug, and description.
9677
+ */
9678
+ query?: string;
9679
+ /**
9680
+ * true = only published (registry) skills; false = only unpublished.
9681
+ */
9682
+ published?: boolean;
9683
+ /**
9684
+ * Restrict to skills carried by a specific publisher.
9685
+ */
9686
+ publisherId?: string;
9687
+ /**
9688
+ * Only skills carrying every one of these tags. Repeat the param for multiple tags.
9689
+ */
9690
+ tagged?: string | Array<string>;
8317
9691
  };
8318
9692
  url: "/api/skills";
8319
9693
  };
@@ -8340,26 +9714,53 @@ export type SkillListResponses = {
8340
9714
  };
8341
9715
  export type SkillListResponse = SkillListResponses[keyof SkillListResponses];
8342
9716
  export type SkillCreateData = {
8343
- body: {
9717
+ body?: {
8344
9718
  slug?: string;
8345
- name: string;
8346
- description?: string;
8347
- icon?: string;
8348
9719
  /**
8349
- * JSON-encoded string array
9720
+ * Overrides the name declared in SKILL.md.
8350
9721
  */
8351
- tags?: string;
9722
+ nameOverride?: string;
8352
9723
  /**
8353
- * JSON-encoded RequiredCredential[]
9724
+ * Overrides the description declared in SKILL.md.
8354
9725
  */
8355
- requiredCredentials?: string;
9726
+ descriptionOverride?: string;
9727
+ icon?: string | null;
9728
+ docUrl?: string | null;
9729
+ repository?: Repository | null;
9730
+ websiteMetadata?: WebsiteMetadata | null;
9731
+ version?: string;
8356
9732
  releaseNotes?: string;
9733
+ requiredCredentials?: Array<SkillRequiredCredential>;
9734
+ tags?: Array<string> | null;
8357
9735
  /**
8358
- * JSON-encoded GitSource
9736
+ * Skill folder as base64-encoded files. A root SKILL.md is required. Total decoded size max 10 MB.
8359
9737
  */
8360
- source?: string;
8361
- visibility?: "private" | "org";
8362
- files: Array<Blob | File>;
9738
+ files?: Array<{
9739
+ /**
9740
+ * Relative path within the skill folder. No leading slash or '..' segments.
9741
+ */
9742
+ path: string;
9743
+ /**
9744
+ * Base64-encoded file bytes. Per-file decoded size max 10 MB.
9745
+ */
9746
+ contentBase64: string;
9747
+ }>;
9748
+ source?: {
9749
+ type: "git";
9750
+ /**
9751
+ * HTTPS git repository URL (https:// only). Public repos are cloned directly; private repos use the org's GitHub installation.
9752
+ */
9753
+ url: string;
9754
+ /**
9755
+ * Branch, tag, or commit to mirror. Omitted = the remote's default branch (HEAD). Floating refs are re-resolved at index build time.
9756
+ */
9757
+ ref?: string;
9758
+ /**
9759
+ * Subdirectory containing SKILL.md, relative to the repo root. No leading slash or '..' segments.
9760
+ */
9761
+ path?: string;
9762
+ };
9763
+ visibility?: "private" | "pod" | "org";
8363
9764
  };
8364
9765
  path?: never;
8365
9766
  query?: never;
@@ -8384,99 +9785,28 @@ export type SkillCreateErrors = {
8384
9785
  403: {
8385
9786
  error: string;
8386
9787
  };
8387
- };
8388
- export type SkillCreateError = SkillCreateErrors[keyof SkillCreateErrors];
8389
- export type SkillCreateResponses = {
8390
- /**
8391
- * Created skill
8392
- */
8393
- 200: Skill;
8394
- };
8395
- export type SkillCreateResponse = SkillCreateResponses[keyof SkillCreateResponses];
8396
- export type SkillSearchData = {
8397
- body?: {
8398
- query?: string;
8399
- sources?: Array<"user" | "org" | "registry">;
8400
- limit?: number;
8401
- };
8402
- path?: never;
8403
- query?: never;
8404
- url: "/api/skills/search";
8405
- };
8406
- export type SkillSearchErrors = {
8407
- /**
8408
- * Bad request
8409
- */
8410
- 400: {
8411
- error: string;
8412
- };
8413
- /**
8414
- * Unauthorized
8415
- */
8416
- 401: {
8417
- error: string;
8418
- };
8419
- /**
8420
- * Forbidden
8421
- */
8422
- 403: {
8423
- error: string;
8424
- };
8425
- };
8426
- export type SkillSearchError = SkillSearchErrors[keyof SkillSearchErrors];
8427
- export type SkillSearchResponses = {
8428
- /**
8429
- * Matching skills
8430
- */
8431
- 200: Array<SearchResult>;
8432
- };
8433
- export type SkillSearchResponse = SkillSearchResponses[keyof SkillSearchResponses];
8434
- export type SkillGetBySlugData = {
8435
- body?: never;
8436
- path: {
8437
- /**
8438
- * URL-friendly identifier
8439
- */
8440
- slug: string;
8441
- };
8442
- query?: never;
8443
- url: "/api/skills/slug/{slug}";
8444
- };
8445
- export type SkillGetBySlugErrors = {
8446
- /**
8447
- * Unauthorized
8448
- */
8449
- 401: {
8450
- error: string;
8451
- };
8452
- /**
8453
- * Forbidden
8454
- */
8455
- 403: {
8456
- error: string;
8457
- };
8458
9788
  /**
8459
- * Not found
9789
+ * Conflict
8460
9790
  */
8461
- 404: {
9791
+ 409: {
8462
9792
  error: string;
8463
9793
  };
8464
9794
  };
8465
- export type SkillGetBySlugError = SkillGetBySlugErrors[keyof SkillGetBySlugErrors];
8466
- export type SkillGetBySlugResponses = {
9795
+ export type SkillCreateError = SkillCreateErrors[keyof SkillCreateErrors];
9796
+ export type SkillCreateResponses = {
8467
9797
  /**
8468
- * Skill details
9798
+ * Created skill
8469
9799
  */
8470
9800
  200: Skill;
8471
9801
  };
8472
- export type SkillGetBySlugResponse = SkillGetBySlugResponses[keyof SkillGetBySlugResponses];
9802
+ export type SkillCreateResponse = SkillCreateResponses[keyof SkillCreateResponses];
8473
9803
  export type SkillGetData = {
8474
9804
  body?: never;
8475
9805
  path: {
8476
- id: string;
9806
+ idOrSlug: string | string;
8477
9807
  };
8478
9808
  query?: never;
8479
- url: "/api/skills/{id}";
9809
+ url: "/api/skills/{idOrSlug}";
8480
9810
  };
8481
9811
  export type SkillGetErrors = {
8482
9812
  /**
@@ -8508,13 +9838,19 @@ export type SkillGetResponses = {
8508
9838
  export type SkillGetResponse = SkillGetResponses[keyof SkillGetResponses];
8509
9839
  export type SkillUpdateData = {
8510
9840
  body?: {
9841
+ /**
9842
+ * Registry display name. Editing it does not change any version's SKILL.md.
9843
+ */
8511
9844
  name?: string;
8512
- description?: string | null;
9845
+ /**
9846
+ * Registry description. Editing it does not change any version's SKILL.md.
9847
+ */
9848
+ description?: string;
8513
9849
  icon?: string | null;
8514
9850
  docUrl?: string | null;
8515
9851
  repository?: Repository | null;
8516
9852
  websiteMetadata?: WebsiteMetadata | null;
8517
- tags?: Array<string>;
9853
+ tags?: Array<string> | null;
8518
9854
  };
8519
9855
  path: {
8520
9856
  id: string;
@@ -8587,9 +9923,9 @@ export type SkillArchiveErrors = {
8587
9923
  export type SkillArchiveError = SkillArchiveErrors[keyof SkillArchiveErrors];
8588
9924
  export type SkillArchiveResponses = {
8589
9925
  /**
8590
- * Archived skill
9926
+ * Archived skill with the blast radius of agents and projects that referenced it
8591
9927
  */
8592
- 200: Skill;
9928
+ 200: SkillArchiveResult;
8593
9929
  };
8594
9930
  export type SkillArchiveResponse = SkillArchiveResponses[keyof SkillArchiveResponses];
8595
9931
  export type SkillPublishData = {
@@ -8601,6 +9937,12 @@ export type SkillPublishData = {
8601
9937
  url: "/api/skills/{id}/publish";
8602
9938
  };
8603
9939
  export type SkillPublishErrors = {
9940
+ /**
9941
+ * Bad request
9942
+ */
9943
+ 400: {
9944
+ error: string;
9945
+ };
8604
9946
  /**
8605
9947
  * Unauthorized
8606
9948
  */
@@ -8619,6 +9961,12 @@ export type SkillPublishErrors = {
8619
9961
  404: {
8620
9962
  error: string;
8621
9963
  };
9964
+ /**
9965
+ * Conflict
9966
+ */
9967
+ 409: {
9968
+ error: string;
9969
+ };
8622
9970
  };
8623
9971
  export type SkillPublishError = SkillPublishErrors[keyof SkillPublishErrors];
8624
9972
  export type SkillPublishResponses = {
@@ -8706,7 +10054,7 @@ export type SkillCopyData = {
8706
10054
  body?: {
8707
10055
  name: string;
8708
10056
  version?: string;
8709
- visibility?: "private" | "org";
10057
+ visibility?: "private" | "pod" | "org";
8710
10058
  };
8711
10059
  path: {
8712
10060
  id: string;
@@ -8739,6 +10087,12 @@ export type SkillCopyErrors = {
8739
10087
  404: {
8740
10088
  error: string;
8741
10089
  };
10090
+ /**
10091
+ * Conflict
10092
+ */
10093
+ 409: {
10094
+ error: string;
10095
+ };
8742
10096
  };
8743
10097
  export type SkillCopyError = SkillCopyErrors[keyof SkillCopyErrors];
8744
10098
  export type SkillCopyResponses = {
@@ -8837,21 +10191,41 @@ export type SkillVersionListResponses = {
8837
10191
  };
8838
10192
  export type SkillVersionListResponse = SkillVersionListResponses[keyof SkillVersionListResponses];
8839
10193
  export type SkillVersionCreateData = {
8840
- body: {
10194
+ body?: {
8841
10195
  /**
8842
- * Semver string or 'major' | 'minor' | 'patch'
10196
+ * Either an explicit semver string (e.g. "1.2.0") or a bump keyword ("major" | "minor" | "patch") applied to the latest live version.
8843
10197
  */
8844
- version?: string;
10198
+ version?: string | "major" | "minor" | "patch";
8845
10199
  releaseNotes?: string;
10200
+ requiredCredentials?: Array<SkillRequiredCredential>;
8846
10201
  /**
8847
- * JSON-encoded RequiredCredential[]
8848
- */
8849
- requiredCredentials?: string;
8850
- /**
8851
- * JSON-encoded GitSource
10202
+ * Skill folder as base64-encoded files. A root SKILL.md is required. Total decoded size max 10 MB.
8852
10203
  */
8853
- source?: string;
8854
- files: Array<Blob | File>;
10204
+ files?: Array<{
10205
+ /**
10206
+ * Relative path within the skill folder. No leading slash or '..' segments.
10207
+ */
10208
+ path: string;
10209
+ /**
10210
+ * Base64-encoded file bytes. Per-file decoded size max 10 MB.
10211
+ */
10212
+ contentBase64: string;
10213
+ }>;
10214
+ source?: {
10215
+ type: "git";
10216
+ /**
10217
+ * HTTPS git repository URL (https:// only). Public repos are cloned directly; private repos use the org's GitHub installation.
10218
+ */
10219
+ url: string;
10220
+ /**
10221
+ * Branch, tag, or commit to mirror. Omitted = the remote's default branch (HEAD). Floating refs are re-resolved at index build time.
10222
+ */
10223
+ ref?: string;
10224
+ /**
10225
+ * Subdirectory containing SKILL.md, relative to the repo root. No leading slash or '..' segments.
10226
+ */
10227
+ path?: string;
10228
+ };
8855
10229
  };
8856
10230
  path: {
8857
10231
  id: string;
@@ -8942,9 +10316,7 @@ export type SkillVersionDataData = {
8942
10316
  id: string;
8943
10317
  version: string;
8944
10318
  };
8945
- query?: {
8946
- format?: "json" | "presigned";
8947
- };
10319
+ query?: never;
8948
10320
  url: "/api/skills/{id}/versions/{version}/data";
8949
10321
  };
8950
10322
  export type SkillVersionDataErrors = {
@@ -8970,19 +10342,21 @@ export type SkillVersionDataErrors = {
8970
10342
  export type SkillVersionDataError = SkillVersionDataErrors[keyof SkillVersionDataErrors];
8971
10343
  export type SkillVersionDataResponses = {
8972
10344
  /**
8973
- * Extracted files, presigned URL, or git source descriptor
10345
+ * One shape per skill kind: file-backed versions return their files base64-encoded (binary-safe); git-backed versions return the git source pointer verbatim (Read fix #1).
8974
10346
  */
8975
- 200: {
8976
- files: Array<{
8977
- path: string;
8978
- content: string;
8979
- }>;
8980
- } | {
8981
- url: string;
8982
- } | {
10347
+ 200: SkillVersionFiles | {
8983
10348
  type: "git";
10349
+ /**
10350
+ * HTTPS git repository URL (https:// only). Public repos are cloned directly; private repos use the org's GitHub installation.
10351
+ */
8984
10352
  url: string;
10353
+ /**
10354
+ * Branch, tag, or commit to mirror. Omitted = the remote's default branch (HEAD). Floating refs are re-resolved at index build time.
10355
+ */
8985
10356
  ref?: string;
10357
+ /**
10358
+ * Subdirectory containing SKILL.md, relative to the repo root. No leading slash or '..' segments.
10359
+ */
8986
10360
  path?: string;
8987
10361
  };
8988
10362
  };
@@ -9160,18 +10534,19 @@ export type TopologyShareArchiveResponses = {
9160
10534
  200: TopologyShare;
9161
10535
  };
9162
10536
  export type TopologyShareArchiveResponse = TopologyShareArchiveResponses[keyof TopologyShareArchiveResponses];
9163
- export type TriggerListData = {
10537
+ export type CronTriggerListData = {
9164
10538
  body?: never;
9165
- path?: never;
9166
- query: {
10539
+ path: {
10540
+ projectId: string;
10541
+ };
10542
+ query?: {
9167
10543
  limit?: number;
9168
10544
  offset?: number;
9169
10545
  includeDeprecated?: boolean;
9170
- projectId: string;
9171
10546
  };
9172
- url: "/api/triggers";
10547
+ url: "/api/projects/{projectId}/cron-triggers";
9173
10548
  };
9174
- export type TriggerListErrors = {
10549
+ export type CronTriggerListErrors = {
9175
10550
  /**
9176
10551
  * Unauthorized
9177
10552
  */
@@ -9191,30 +10566,48 @@ export type TriggerListErrors = {
9191
10566
  error: string;
9192
10567
  };
9193
10568
  };
9194
- export type TriggerListError = TriggerListErrors[keyof TriggerListErrors];
9195
- export type TriggerListResponses = {
10569
+ export type CronTriggerListError = CronTriggerListErrors[keyof CronTriggerListErrors];
10570
+ export type CronTriggerListResponses = {
9196
10571
  /**
9197
10572
  * List of cron triggers
9198
10573
  */
9199
10574
  200: Array<CronTrigger>;
9200
10575
  };
9201
- export type TriggerListResponse = TriggerListResponses[keyof TriggerListResponses];
9202
- export type TriggerCreateData = {
10576
+ export type CronTriggerListResponse = CronTriggerListResponses[keyof CronTriggerListResponses];
10577
+ export type CronTriggerCreateData = {
9203
10578
  body?: {
9204
- projectId: string;
10579
+ /**
10580
+ * Project agent that runs the trigger; null resolves the project's ren meta agent at fire time.
10581
+ */
9205
10582
  projectAgentId?: string | null;
9206
- senderUserId?: string;
10583
+ /**
10584
+ * Prompt delivered to the agent on every fire.
10585
+ */
9207
10586
  inputMessage: string;
10587
+ /**
10588
+ * Cron expression that fires the trigger. Overlapping ticks are skipped (Temporal overlap policy SKIP).
10589
+ */
9208
10590
  schedule: string;
9209
- timezone?: string | null;
10591
+ /**
10592
+ * IANA time zone the schedule is evaluated in. Defaults to "UTC".
10593
+ */
10594
+ timezone?: string;
10595
+ /**
10596
+ * Inclusive end boundary (ISO): the exact `until` tick still fires; ticks after it are skipped.
10597
+ */
9210
10598
  until?: string | null;
10599
+ /**
10600
+ * When false the Temporal schedule is paused; changes take effect on the next sync.
10601
+ */
9211
10602
  isEnabled?: boolean;
9212
10603
  };
9213
- path?: never;
10604
+ path: {
10605
+ projectId: string;
10606
+ };
9214
10607
  query?: never;
9215
- url: "/api/triggers";
10608
+ url: "/api/projects/{projectId}/cron-triggers";
9216
10609
  };
9217
- export type TriggerCreateErrors = {
10610
+ export type CronTriggerCreateErrors = {
9218
10611
  /**
9219
10612
  * Bad request
9220
10613
  */
@@ -9240,25 +10633,24 @@ export type TriggerCreateErrors = {
9240
10633
  error: string;
9241
10634
  };
9242
10635
  };
9243
- export type TriggerCreateError = TriggerCreateErrors[keyof TriggerCreateErrors];
9244
- export type TriggerCreateResponses = {
10636
+ export type CronTriggerCreateError = CronTriggerCreateErrors[keyof CronTriggerCreateErrors];
10637
+ export type CronTriggerCreateResponses = {
9245
10638
  /**
9246
10639
  * Created cron trigger
9247
10640
  */
9248
10641
  200: CronTrigger;
9249
10642
  };
9250
- export type TriggerCreateResponse = TriggerCreateResponses[keyof TriggerCreateResponses];
9251
- export type TriggerGetData = {
10643
+ export type CronTriggerCreateResponse = CronTriggerCreateResponses[keyof CronTriggerCreateResponses];
10644
+ export type CronTriggerGetData = {
9252
10645
  body?: never;
9253
10646
  path: {
9254
- triggerId: string;
9255
- };
9256
- query: {
9257
10647
  projectId: string;
10648
+ triggerId: string;
9258
10649
  };
9259
- url: "/api/triggers/{triggerId}";
10650
+ query?: never;
10651
+ url: "/api/projects/{projectId}/cron-triggers/{triggerId}";
9260
10652
  };
9261
- export type TriggerGetErrors = {
10653
+ export type CronTriggerGetErrors = {
9262
10654
  /**
9263
10655
  * Unauthorized
9264
10656
  */
@@ -9278,32 +10670,49 @@ export type TriggerGetErrors = {
9278
10670
  error: string;
9279
10671
  };
9280
10672
  };
9281
- export type TriggerGetError = TriggerGetErrors[keyof TriggerGetErrors];
9282
- export type TriggerGetResponses = {
10673
+ export type CronTriggerGetError = CronTriggerGetErrors[keyof CronTriggerGetErrors];
10674
+ export type CronTriggerGetResponses = {
9283
10675
  /**
9284
- * Cron trigger details
10676
+ * Cron trigger details with Temporal runtime state
9285
10677
  */
9286
- 200: CronTrigger;
10678
+ 200: CronTriggerDetail;
9287
10679
  };
9288
- export type TriggerGetResponse = TriggerGetResponses[keyof TriggerGetResponses];
9289
- export type TriggerUpdateData = {
10680
+ export type CronTriggerGetResponse = CronTriggerGetResponses[keyof CronTriggerGetResponses];
10681
+ export type CronTriggerUpdateData = {
9290
10682
  body?: {
10683
+ /**
10684
+ * Project agent that runs the trigger; null resolves the project's ren meta agent at fire time.
10685
+ */
9291
10686
  projectAgentId?: string | null;
9292
- senderUserId?: string;
10687
+ /**
10688
+ * Prompt delivered to the agent on every fire.
10689
+ */
9293
10690
  inputMessage?: string;
10691
+ /**
10692
+ * Cron expression that fires the trigger. Overlapping ticks are skipped (Temporal overlap policy SKIP).
10693
+ */
9294
10694
  schedule?: string;
9295
- timezone?: string | null;
10695
+ /**
10696
+ * IANA time zone the schedule is evaluated in. Defaults to "UTC".
10697
+ */
10698
+ timezone?: string;
10699
+ /**
10700
+ * Inclusive end boundary (ISO): the exact `until` tick still fires; ticks after it are skipped.
10701
+ */
9296
10702
  until?: string | null;
10703
+ /**
10704
+ * When false the Temporal schedule is paused; changes take effect on the next sync.
10705
+ */
9297
10706
  isEnabled?: boolean;
9298
- projectId: string;
9299
10707
  };
9300
10708
  path: {
10709
+ projectId: string;
9301
10710
  triggerId: string;
9302
10711
  };
9303
10712
  query?: never;
9304
- url: "/api/triggers/{triggerId}";
10713
+ url: "/api/projects/{projectId}/cron-triggers/{triggerId}";
9305
10714
  };
9306
- export type TriggerUpdateErrors = {
10715
+ export type CronTriggerUpdateErrors = {
9307
10716
  /**
9308
10717
  * Bad request
9309
10718
  */
@@ -9329,25 +10738,24 @@ export type TriggerUpdateErrors = {
9329
10738
  error: string;
9330
10739
  };
9331
10740
  };
9332
- export type TriggerUpdateError = TriggerUpdateErrors[keyof TriggerUpdateErrors];
9333
- export type TriggerUpdateResponses = {
10741
+ export type CronTriggerUpdateError = CronTriggerUpdateErrors[keyof CronTriggerUpdateErrors];
10742
+ export type CronTriggerUpdateResponses = {
9334
10743
  /**
9335
10744
  * Updated cron trigger
9336
10745
  */
9337
10746
  200: CronTrigger;
9338
10747
  };
9339
- export type TriggerUpdateResponse = TriggerUpdateResponses[keyof TriggerUpdateResponses];
9340
- export type TriggerArchiveData = {
9341
- body?: {
9342
- projectId: string;
9343
- };
10748
+ export type CronTriggerUpdateResponse = CronTriggerUpdateResponses[keyof CronTriggerUpdateResponses];
10749
+ export type CronTriggerArchiveData = {
10750
+ body?: never;
9344
10751
  path: {
10752
+ projectId: string;
9345
10753
  triggerId: string;
9346
10754
  };
9347
10755
  query?: never;
9348
- url: "/api/triggers/{triggerId}/archive";
10756
+ url: "/api/projects/{projectId}/cron-triggers/{triggerId}/archive";
9349
10757
  };
9350
- export type TriggerArchiveErrors = {
10758
+ export type CronTriggerArchiveErrors = {
9351
10759
  /**
9352
10760
  * Unauthorized
9353
10761
  */
@@ -9367,14 +10775,14 @@ export type TriggerArchiveErrors = {
9367
10775
  error: string;
9368
10776
  };
9369
10777
  };
9370
- export type TriggerArchiveError = TriggerArchiveErrors[keyof TriggerArchiveErrors];
9371
- export type TriggerArchiveResponses = {
10778
+ export type CronTriggerArchiveError = CronTriggerArchiveErrors[keyof CronTriggerArchiveErrors];
10779
+ export type CronTriggerArchiveResponses = {
9372
10780
  /**
9373
10781
  * Archived cron trigger
9374
10782
  */
9375
10783
  200: CronTrigger;
9376
10784
  };
9377
- export type TriggerArchiveResponse = TriggerArchiveResponses[keyof TriggerArchiveResponses];
10785
+ export type CronTriggerArchiveResponse = CronTriggerArchiveResponses[keyof CronTriggerArchiveResponses];
9378
10786
  export type WebhookTriggerListData = {
9379
10787
  body?: never;
9380
10788
  path?: never;
@@ -10300,175 +11708,16 @@ export type LinearProjectsResponses = {
10300
11708
  /**
10301
11709
  * Linear projects (with a __global__ entry for issues without a project)
10302
11710
  */
10303
- 200: Array<LinearProject>;
10304
- };
10305
- export type LinearProjectsResponse = LinearProjectsResponses[keyof LinearProjectsResponses];
10306
- export type LinearMappingsListData = {
10307
- body?: never;
10308
- path?: never;
10309
- query?: never;
10310
- url: "/api/linear/mappings";
10311
- };
10312
- export type LinearMappingsListErrors = {
10313
- /**
10314
- * Unauthorized
10315
- */
10316
- 401: {
10317
- error: string;
10318
- };
10319
- /**
10320
- * Forbidden
10321
- */
10322
- 403: {
10323
- error: string;
10324
- };
10325
- };
10326
- export type LinearMappingsListError = LinearMappingsListErrors[keyof LinearMappingsListErrors];
10327
- export type LinearMappingsListResponses = {
10328
- /**
10329
- * Linear project mappings
10330
- */
10331
- 200: Array<LinearMapping>;
10332
- };
10333
- export type LinearMappingsListResponse = LinearMappingsListResponses[keyof LinearMappingsListResponses];
10334
- export type LinearMappingsCreateData = {
10335
- body?: {
10336
- renProjectId: string;
10337
- linearProjectId: string;
10338
- senderUserId: string;
10339
- projectAgentId?: string | null;
10340
- };
10341
- path?: never;
10342
- query?: never;
10343
- url: "/api/linear/mappings";
10344
- };
10345
- export type LinearMappingsCreateErrors = {
10346
- /**
10347
- * Bad request
10348
- */
10349
- 400: {
10350
- error: string;
10351
- };
10352
- /**
10353
- * Unauthorized
10354
- */
10355
- 401: {
10356
- error: string;
10357
- };
10358
- /**
10359
- * Forbidden
10360
- */
10361
- 403: {
10362
- error: string;
10363
- };
10364
- /**
10365
- * Not found
10366
- */
10367
- 404: {
10368
- error: string;
10369
- };
10370
- /**
10371
- * Conflict
10372
- */
10373
- 409: {
10374
- error: string;
10375
- };
10376
- };
10377
- export type LinearMappingsCreateError = LinearMappingsCreateErrors[keyof LinearMappingsCreateErrors];
10378
- export type LinearMappingsCreateResponses = {
10379
- /**
10380
- * Created mapping
10381
- */
10382
- 200: LinearMapping;
10383
- };
10384
- export type LinearMappingsCreateResponse = LinearMappingsCreateResponses[keyof LinearMappingsCreateResponses];
10385
- export type LinearMappingsRemoveData = {
10386
- body?: never;
10387
- path: {
10388
- triggerId: string;
10389
- };
10390
- query?: never;
10391
- url: "/api/linear/mappings/{triggerId}";
10392
- };
10393
- export type LinearMappingsRemoveErrors = {
10394
- /**
10395
- * Unauthorized
10396
- */
10397
- 401: {
10398
- error: string;
10399
- };
10400
- /**
10401
- * Forbidden
10402
- */
10403
- 403: {
10404
- error: string;
10405
- };
10406
- /**
10407
- * Not found
10408
- */
10409
- 404: {
10410
- error: string;
10411
- };
10412
- };
10413
- export type LinearMappingsRemoveError = LinearMappingsRemoveErrors[keyof LinearMappingsRemoveErrors];
10414
- export type LinearMappingsRemoveResponses = {
10415
- /**
10416
- * Removed
10417
- */
10418
- 204: void;
10419
- };
10420
- export type LinearMappingsRemoveResponse = LinearMappingsRemoveResponses[keyof LinearMappingsRemoveResponses];
10421
- export type VaultListData = {
10422
- body?: never;
10423
- path?: never;
10424
- query?: {
10425
- limit?: number;
10426
- offset?: number;
10427
- includeDeprecated?: boolean;
10428
- visibility?: "private" | "org";
10429
- };
10430
- url: "/api/vaults";
10431
- };
10432
- export type VaultListErrors = {
10433
- /**
10434
- * Unauthorized
10435
- */
10436
- 401: {
10437
- error: string;
10438
- };
10439
- /**
10440
- * Forbidden
10441
- */
10442
- 403: {
10443
- error: string;
10444
- };
10445
- };
10446
- export type VaultListError = VaultListErrors[keyof VaultListErrors];
10447
- export type VaultListResponses = {
10448
- /**
10449
- * List of vaults
10450
- */
10451
- 200: Array<Vault>;
10452
- };
10453
- export type VaultListResponse = VaultListResponses[keyof VaultListResponses];
10454
- export type VaultCreateData = {
10455
- body?: {
10456
- name: string;
10457
- description?: string;
10458
- isDefault?: boolean;
10459
- visibility?: "private" | "org";
10460
- };
11711
+ 200: Array<LinearProject>;
11712
+ };
11713
+ export type LinearProjectsResponse = LinearProjectsResponses[keyof LinearProjectsResponses];
11714
+ export type LinearMappingsListData = {
11715
+ body?: never;
10461
11716
  path?: never;
10462
11717
  query?: never;
10463
- url: "/api/vaults";
11718
+ url: "/api/linear/mappings";
10464
11719
  };
10465
- export type VaultCreateErrors = {
10466
- /**
10467
- * Bad request
10468
- */
10469
- 400: {
10470
- error: string;
10471
- };
11720
+ export type LinearMappingsListErrors = {
10472
11721
  /**
10473
11722
  * Unauthorized
10474
11723
  */
@@ -10482,23 +11731,32 @@ export type VaultCreateErrors = {
10482
11731
  error: string;
10483
11732
  };
10484
11733
  };
10485
- export type VaultCreateError = VaultCreateErrors[keyof VaultCreateErrors];
10486
- export type VaultCreateResponses = {
11734
+ export type LinearMappingsListError = LinearMappingsListErrors[keyof LinearMappingsListErrors];
11735
+ export type LinearMappingsListResponses = {
10487
11736
  /**
10488
- * Created vault
11737
+ * Linear project mappings
10489
11738
  */
10490
- 200: Vault;
11739
+ 200: Array<LinearMapping>;
10491
11740
  };
10492
- export type VaultCreateResponse = VaultCreateResponses[keyof VaultCreateResponses];
10493
- export type VaultDeleteData = {
10494
- body?: never;
10495
- path: {
10496
- id: string;
11741
+ export type LinearMappingsListResponse = LinearMappingsListResponses[keyof LinearMappingsListResponses];
11742
+ export type LinearMappingsCreateData = {
11743
+ body?: {
11744
+ renProjectId: string;
11745
+ linearProjectId: string;
11746
+ senderUserId: string;
11747
+ projectAgentId?: string | null;
10497
11748
  };
11749
+ path?: never;
10498
11750
  query?: never;
10499
- url: "/api/vaults/{id}";
11751
+ url: "/api/linear/mappings";
10500
11752
  };
10501
- export type VaultDeleteErrors = {
11753
+ export type LinearMappingsCreateErrors = {
11754
+ /**
11755
+ * Bad request
11756
+ */
11757
+ 400: {
11758
+ error: string;
11759
+ };
10502
11760
  /**
10503
11761
  * Unauthorized
10504
11762
  */
@@ -10517,24 +11775,30 @@ export type VaultDeleteErrors = {
10517
11775
  404: {
10518
11776
  error: string;
10519
11777
  };
11778
+ /**
11779
+ * Conflict
11780
+ */
11781
+ 409: {
11782
+ error: string;
11783
+ };
10520
11784
  };
10521
- export type VaultDeleteError = VaultDeleteErrors[keyof VaultDeleteErrors];
10522
- export type VaultDeleteResponses = {
11785
+ export type LinearMappingsCreateError = LinearMappingsCreateErrors[keyof LinearMappingsCreateErrors];
11786
+ export type LinearMappingsCreateResponses = {
10523
11787
  /**
10524
- * Deleted vault
11788
+ * Created mapping
10525
11789
  */
10526
- 200: Vault;
11790
+ 200: LinearMapping;
10527
11791
  };
10528
- export type VaultDeleteResponse = VaultDeleteResponses[keyof VaultDeleteResponses];
10529
- export type VaultGetData = {
11792
+ export type LinearMappingsCreateResponse = LinearMappingsCreateResponses[keyof LinearMappingsCreateResponses];
11793
+ export type LinearMappingsRemoveData = {
10530
11794
  body?: never;
10531
11795
  path: {
10532
- id: string;
11796
+ triggerId: string;
10533
11797
  };
10534
11798
  query?: never;
10535
- url: "/api/vaults/{id}";
11799
+ url: "/api/linear/mappings/{triggerId}";
10536
11800
  };
10537
- export type VaultGetErrors = {
11801
+ export type LinearMappingsRemoveErrors = {
10538
11802
  /**
10539
11803
  * Unauthorized
10540
11804
  */
@@ -10554,32 +11818,26 @@ export type VaultGetErrors = {
10554
11818
  error: string;
10555
11819
  };
10556
11820
  };
10557
- export type VaultGetError = VaultGetErrors[keyof VaultGetErrors];
10558
- export type VaultGetResponses = {
11821
+ export type LinearMappingsRemoveError = LinearMappingsRemoveErrors[keyof LinearMappingsRemoveErrors];
11822
+ export type LinearMappingsRemoveResponses = {
10559
11823
  /**
10560
- * Vault details
11824
+ * Removed
10561
11825
  */
10562
- 200: Vault;
11826
+ 204: void;
10563
11827
  };
10564
- export type VaultGetResponse = VaultGetResponses[keyof VaultGetResponses];
10565
- export type VaultUpdateData = {
10566
- body?: {
10567
- name?: string;
10568
- description?: string;
10569
- };
10570
- path: {
10571
- id: string;
11828
+ export type LinearMappingsRemoveResponse = LinearMappingsRemoveResponses[keyof LinearMappingsRemoveResponses];
11829
+ export type VaultListData = {
11830
+ body?: never;
11831
+ path?: never;
11832
+ query?: {
11833
+ limit?: number;
11834
+ offset?: number;
11835
+ includeDeprecated?: boolean;
11836
+ visibility?: "private" | "pod" | "org";
10572
11837
  };
10573
- query?: never;
10574
- url: "/api/vaults/{id}";
11838
+ url: "/api/vaults";
10575
11839
  };
10576
- export type VaultUpdateErrors = {
10577
- /**
10578
- * Bad request
10579
- */
10580
- 400: {
10581
- error: string;
10582
- };
11840
+ export type VaultListErrors = {
10583
11841
  /**
10584
11842
  * Unauthorized
10585
11843
  */
@@ -10592,30 +11850,24 @@ export type VaultUpdateErrors = {
10592
11850
  403: {
10593
11851
  error: string;
10594
11852
  };
10595
- /**
10596
- * Not found
10597
- */
10598
- 404: {
10599
- error: string;
10600
- };
10601
11853
  };
10602
- export type VaultUpdateError = VaultUpdateErrors[keyof VaultUpdateErrors];
10603
- export type VaultUpdateResponses = {
11854
+ export type VaultListError = VaultListErrors[keyof VaultListErrors];
11855
+ export type VaultListResponses = {
10604
11856
  /**
10605
- * Updated vault
11857
+ * List of vaults
10606
11858
  */
10607
- 200: Vault;
11859
+ 200: Array<Vault>;
10608
11860
  };
10609
- export type VaultUpdateResponse = VaultUpdateResponses[keyof VaultUpdateResponses];
10610
- export type VaultArchiveData = {
11861
+ export type VaultListResponse = VaultListResponses[keyof VaultListResponses];
11862
+ export type VaultGetData = {
10611
11863
  body?: never;
10612
11864
  path: {
10613
11865
  id: string;
10614
11866
  };
10615
11867
  query?: never;
10616
- url: "/api/vaults/{id}/archive";
11868
+ url: "/api/vaults/{id}";
10617
11869
  };
10618
- export type VaultArchiveErrors = {
11870
+ export type VaultGetErrors = {
10619
11871
  /**
10620
11872
  * Unauthorized
10621
11873
  */
@@ -10635,14 +11887,14 @@ export type VaultArchiveErrors = {
10635
11887
  error: string;
10636
11888
  };
10637
11889
  };
10638
- export type VaultArchiveError = VaultArchiveErrors[keyof VaultArchiveErrors];
10639
- export type VaultArchiveResponses = {
11890
+ export type VaultGetError = VaultGetErrors[keyof VaultGetErrors];
11891
+ export type VaultGetResponses = {
10640
11892
  /**
10641
- * Archived vault
11893
+ * Vault details
10642
11894
  */
10643
- 200: Vault;
11895
+ 200: VaultDetail;
10644
11896
  };
10645
- export type VaultArchiveResponse = VaultArchiveResponses[keyof VaultArchiveResponses];
11897
+ export type VaultGetResponse = VaultGetResponses[keyof VaultGetResponses];
10646
11898
  export type CredentialListData = {
10647
11899
  body?: never;
10648
11900
  path: {
@@ -10684,12 +11936,7 @@ export type CredentialListResponses = {
10684
11936
  };
10685
11937
  export type CredentialListResponse = CredentialListResponses[keyof CredentialListResponses];
10686
11938
  export type CredentialCreateData = {
10687
- body?: {
10688
- name: string;
10689
- mcpId?: string | null;
10690
- label?: string | null;
10691
- auth: CredentialAuth;
10692
- };
11939
+ body?: CreateCredentialBody;
10693
11940
  path: {
10694
11941
  vaultId: string;
10695
11942
  };
@@ -10850,43 +12097,6 @@ export type CredentialUpdateResponses = {
10850
12097
  200: Credential;
10851
12098
  };
10852
12099
  export type CredentialUpdateResponse = CredentialUpdateResponses[keyof CredentialUpdateResponses];
10853
- export type CredentialArchiveData = {
10854
- body?: never;
10855
- path: {
10856
- vaultId: string;
10857
- id: string;
10858
- };
10859
- query?: never;
10860
- url: "/api/vaults/{vaultId}/credentials/{id}/archive";
10861
- };
10862
- export type CredentialArchiveErrors = {
10863
- /**
10864
- * Unauthorized
10865
- */
10866
- 401: {
10867
- error: string;
10868
- };
10869
- /**
10870
- * Forbidden
10871
- */
10872
- 403: {
10873
- error: string;
10874
- };
10875
- /**
10876
- * Not found
10877
- */
10878
- 404: {
10879
- error: string;
10880
- };
10881
- };
10882
- export type CredentialArchiveError = CredentialArchiveErrors[keyof CredentialArchiveErrors];
10883
- export type CredentialArchiveResponses = {
10884
- /**
10885
- * Archived credential
10886
- */
10887
- 200: Credential;
10888
- };
10889
- export type CredentialArchiveResponse = CredentialArchiveResponses[keyof CredentialArchiveResponses];
10890
12100
  export type CredentialTransferData = {
10891
12101
  body?: CredentialTransferInput;
10892
12102
  path: {
@@ -10936,15 +12146,15 @@ export type CredentialTransferResponses = {
10936
12146
  200: CredentialTransferResult;
10937
12147
  };
10938
12148
  export type CredentialTransferResponse = CredentialTransferResponses[keyof CredentialTransferResponses];
10939
- export type CredentialOauthStartData = {
10940
- body?: OAuthStartInput;
12149
+ export type CredentialOauthConnectData = {
12150
+ body?: OAuthConnectBody;
10941
12151
  path: {
10942
12152
  vaultId: string;
10943
12153
  };
10944
12154
  query?: never;
10945
- url: "/api/vaults/{vaultId}/credentials/oauth/start";
12155
+ url: "/api/vaults/{vaultId}/oauth/connect";
10946
12156
  };
10947
- export type CredentialOauthStartErrors = {
12157
+ export type CredentialOauthConnectErrors = {
10948
12158
  /**
10949
12159
  * Bad request
10950
12160
  */
@@ -10970,22 +12180,21 @@ export type CredentialOauthStartErrors = {
10970
12180
  error: string;
10971
12181
  };
10972
12182
  };
10973
- export type CredentialOauthStartError = CredentialOauthStartErrors[keyof CredentialOauthStartErrors];
10974
- export type CredentialOauthStartResponses = {
12183
+ export type CredentialOauthConnectError = CredentialOauthConnectErrors[keyof CredentialOauthConnectErrors];
12184
+ export type CredentialOauthConnectResponses = {
10975
12185
  /**
10976
- * Authorization URL for the user to visit
12186
+ * OAuth connect result
10977
12187
  */
10978
- 200: OAuthStartResult;
12188
+ 200: OAuthConnectResult;
10979
12189
  };
10980
- export type CredentialOauthStartResponse = CredentialOauthStartResponses[keyof CredentialOauthStartResponses];
12190
+ export type CredentialOauthConnectResponse = CredentialOauthConnectResponses[keyof CredentialOauthConnectResponses];
10981
12191
  export type CredentialOauthSessionData = {
10982
12192
  body?: never;
10983
12193
  path: {
10984
- vaultId: string;
10985
12194
  sessionId: string;
10986
12195
  };
10987
12196
  query?: never;
10988
- url: "/api/vaults/{vaultId}/oauth/sessions/{sessionId}";
12197
+ url: "/api/vaults/oauth/sessions/{sessionId}";
10989
12198
  };
10990
12199
  export type CredentialOauthSessionErrors = {
10991
12200
  /**
@@ -11167,6 +12376,32 @@ export type RegistryMcpGetResponses = {
11167
12376
  200: Mcp;
11168
12377
  };
11169
12378
  export type RegistryMcpGetResponse = RegistryMcpGetResponses[keyof RegistryMcpGetResponses];
12379
+ export type RegistryBlueprintListData = {
12380
+ body?: never;
12381
+ path?: never;
12382
+ query?: {
12383
+ limit?: number;
12384
+ offset?: number;
12385
+ includeDeprecated?: boolean;
12386
+ };
12387
+ url: "/api/registry/blueprints";
12388
+ };
12389
+ export type RegistryBlueprintListErrors = {
12390
+ /**
12391
+ * Bad request
12392
+ */
12393
+ 400: {
12394
+ error: string;
12395
+ };
12396
+ };
12397
+ export type RegistryBlueprintListError = RegistryBlueprintListErrors[keyof RegistryBlueprintListErrors];
12398
+ export type RegistryBlueprintListResponses = {
12399
+ /**
12400
+ * Published blueprint list
12401
+ */
12402
+ 200: Array<BlueprintPublicListItem>;
12403
+ };
12404
+ export type RegistryBlueprintListResponse = RegistryBlueprintListResponses[keyof RegistryBlueprintListResponses];
11170
12405
  export type RegistryBlueprintGetData = {
11171
12406
  body?: never;
11172
12407
  path: {
@@ -11221,6 +12456,130 @@ export type RegistryPublisherGetResponses = {
11221
12456
  200: PublisherPublicView;
11222
12457
  };
11223
12458
  export type RegistryPublisherGetResponse = RegistryPublisherGetResponses[keyof RegistryPublisherGetResponses];
12459
+ export type RegistryPublisherBlueprintsData = {
12460
+ body?: never;
12461
+ path: {
12462
+ /**
12463
+ * URL-friendly identifier
12464
+ */
12465
+ slug: string;
12466
+ };
12467
+ query?: {
12468
+ limit?: number;
12469
+ offset?: number;
12470
+ includeDeprecated?: boolean;
12471
+ };
12472
+ url: "/api/registry/publishers/{slug}/blueprints";
12473
+ };
12474
+ export type RegistryPublisherBlueprintsErrors = {
12475
+ /**
12476
+ * Not found
12477
+ */
12478
+ 404: {
12479
+ error: string;
12480
+ };
12481
+ };
12482
+ export type RegistryPublisherBlueprintsError = RegistryPublisherBlueprintsErrors[keyof RegistryPublisherBlueprintsErrors];
12483
+ export type RegistryPublisherBlueprintsResponses = {
12484
+ /**
12485
+ * Published blueprint list for the publisher
12486
+ */
12487
+ 200: Array<BlueprintPublicListItem>;
12488
+ };
12489
+ export type RegistryPublisherBlueprintsResponse = RegistryPublisherBlueprintsResponses[keyof RegistryPublisherBlueprintsResponses];
12490
+ export type RegistryPublisherSkillsData = {
12491
+ body?: never;
12492
+ path: {
12493
+ /**
12494
+ * URL-friendly identifier
12495
+ */
12496
+ slug: string;
12497
+ };
12498
+ query?: {
12499
+ limit?: number;
12500
+ offset?: number;
12501
+ includeDeprecated?: boolean;
12502
+ };
12503
+ url: "/api/registry/publishers/{slug}/skills";
12504
+ };
12505
+ export type RegistryPublisherSkillsErrors = {
12506
+ /**
12507
+ * Not found
12508
+ */
12509
+ 404: {
12510
+ error: string;
12511
+ };
12512
+ };
12513
+ export type RegistryPublisherSkillsError = RegistryPublisherSkillsErrors[keyof RegistryPublisherSkillsErrors];
12514
+ export type RegistryPublisherSkillsResponses = {
12515
+ /**
12516
+ * Published skill list for the publisher
12517
+ */
12518
+ 200: Array<Skill>;
12519
+ };
12520
+ export type RegistryPublisherSkillsResponse = RegistryPublisherSkillsResponses[keyof RegistryPublisherSkillsResponses];
12521
+ export type RegistryPublisherAgentsData = {
12522
+ body?: never;
12523
+ path: {
12524
+ /**
12525
+ * URL-friendly identifier
12526
+ */
12527
+ slug: string;
12528
+ };
12529
+ query?: {
12530
+ limit?: number;
12531
+ offset?: number;
12532
+ includeDeprecated?: boolean;
12533
+ };
12534
+ url: "/api/registry/publishers/{slug}/agents";
12535
+ };
12536
+ export type RegistryPublisherAgentsErrors = {
12537
+ /**
12538
+ * Not found
12539
+ */
12540
+ 404: {
12541
+ error: string;
12542
+ };
12543
+ };
12544
+ export type RegistryPublisherAgentsError = RegistryPublisherAgentsErrors[keyof RegistryPublisherAgentsErrors];
12545
+ export type RegistryPublisherAgentsResponses = {
12546
+ /**
12547
+ * Published agent list for the publisher
12548
+ */
12549
+ 200: Array<Agent>;
12550
+ };
12551
+ export type RegistryPublisherAgentsResponse = RegistryPublisherAgentsResponses[keyof RegistryPublisherAgentsResponses];
12552
+ export type RegistryPublisherMcpsData = {
12553
+ body?: never;
12554
+ path: {
12555
+ /**
12556
+ * URL-friendly identifier
12557
+ */
12558
+ slug: string;
12559
+ };
12560
+ query?: {
12561
+ limit?: number;
12562
+ offset?: number;
12563
+ includeDeprecated?: boolean;
12564
+ };
12565
+ url: "/api/registry/publishers/{slug}/mcps";
12566
+ };
12567
+ export type RegistryPublisherMcpsErrors = {
12568
+ /**
12569
+ * Not found
12570
+ */
12571
+ 404: {
12572
+ error: string;
12573
+ };
12574
+ };
12575
+ export type RegistryPublisherMcpsError = RegistryPublisherMcpsErrors[keyof RegistryPublisherMcpsErrors];
12576
+ export type RegistryPublisherMcpsResponses = {
12577
+ /**
12578
+ * Published MCP list for the publisher
12579
+ */
12580
+ 200: Array<Mcp>;
12581
+ };
12582
+ export type RegistryPublisherMcpsResponse = RegistryPublisherMcpsResponses[keyof RegistryPublisherMcpsResponses];
11224
12583
  export type RegistryReplayGetData = {
11225
12584
  body?: never;
11226
12585
  path: {