samva 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/AGENTS.md +1 -1
  2. package/README.md +5 -1
  3. package/dist/client/sdk.gen.d.ts +167 -184
  4. package/dist/client/types.gen.d.ts +1362 -662
  5. package/dist/{client-BOghX8fr.js → client-BmZK_uCt.js} +1797 -935
  6. package/dist/client-attribution-BslSOa_8.js +9 -0
  7. package/dist/client-attribution.d.ts +2 -0
  8. package/dist/effect/api-keys.d.ts +51 -51
  9. package/dist/effect/api-keys.js +1 -1
  10. package/dist/effect/campaigns.d.ts +253 -219
  11. package/dist/effect/campaigns.js +1 -1
  12. package/dist/effect/categories.d.ts +6 -6
  13. package/dist/effect/client.js +1 -1
  14. package/dist/effect/contacts.d.ts +225 -225
  15. package/dist/effect/contacts.js +1 -1
  16. package/dist/effect/conversations.d.ts +293 -293
  17. package/dist/effect/conversations.js +1 -1
  18. package/dist/effect/design.d.ts +76 -76
  19. package/dist/effect/design.js +1 -1
  20. package/dist/effect/email.d.ts +225 -213
  21. package/dist/effect/email.js +2 -2
  22. package/dist/effect/generated.d.ts +12174 -11888
  23. package/dist/effect/index.js +1 -1
  24. package/dist/effect/internal/client.d.ts +1 -1
  25. package/dist/effect/internal/operation.d.ts +20 -19
  26. package/dist/effect/media.d.ts +9 -9
  27. package/dist/effect/media.js +1 -1
  28. package/dist/effect/messages.d.ts +64 -61
  29. package/dist/effect/messages.js +1 -1
  30. package/dist/effect/operations.d.ts +17 -17
  31. package/dist/effect/operations.js +1 -1
  32. package/dist/effect/organizations.d.ts +162 -162
  33. package/dist/effect/organizations.js +1 -1
  34. package/dist/effect/runtime.d.ts +0 -2
  35. package/dist/effect/scheduled-messages.d.ts +290 -276
  36. package/dist/effect/scheduled-messages.js +1 -1
  37. package/dist/effect/templates.d.ts +1371 -1554
  38. package/dist/effect/templates.js +40 -30
  39. package/dist/effect/webhooks.d.ts +47 -47
  40. package/dist/effect/webhooks.js +2 -2
  41. package/dist/index.js +1 -1
  42. package/dist/{normalize-BKFjbR9t.js → normalize-BiIJnycv.js} +2 -3
  43. package/dist/{operation-C2Q4cFJL.js → operation-B1knNlxk.js} +65 -38
  44. package/dist/promises/index.d.ts +10 -8
  45. package/dist/promises/index.js +1 -1
  46. package/dist/promises/types.gen.d.ts +1 -1
  47. package/dist/{promises-oiy7mOyu.js → promises-n1opem5V.js} +293 -262
  48. package/dist/service-map.d.ts +70 -44
  49. package/package.json +13 -14
@@ -184,6 +184,8 @@ export type EmailAttachment = {
184
184
  size: number;
185
185
  };
186
186
  export type EmailAttachments = Array<EmailAttachment> | null;
187
+ export type TemplatePublicationId = string;
188
+ export type TemplateInputContractId = string;
187
189
  export type TemplateId = string;
188
190
  export type TemplateData = JsonObject | null;
189
191
  export type ReplyToAddresses = Array<string> | null | null;
@@ -209,6 +211,8 @@ export type EmailContent = {
209
211
  html?: string | null | undefined;
210
212
  text?: string | null | undefined;
211
213
  attachments?: EmailAttachments | undefined;
214
+ publicationId?: TemplatePublicationId | undefined;
215
+ inputContractId?: TemplateInputContractId | undefined;
212
216
  templateId?: TemplateId | null | undefined;
213
217
  templateSlug?: string | null | undefined;
214
218
  templateData?: TemplateData | undefined;
@@ -319,6 +323,8 @@ export type EmailDispatchContent = {
319
323
  html?: string | null | undefined;
320
324
  text?: string | null | undefined;
321
325
  attachments?: EmailAttachments | undefined;
326
+ publicationId?: TemplatePublicationId | undefined;
327
+ inputContractId?: TemplateInputContractId | undefined;
322
328
  templateId?: TemplateId | null | undefined;
323
329
  templateSlug?: string | null | undefined;
324
330
  templateData?: TemplateData | undefined;
@@ -464,14 +470,14 @@ export type DeliverabilityFacts = {
464
470
  complaintRate: number;
465
471
  sendingStatus: "enabled" | "disabled" | "reinstated" | "unknown";
466
472
  };
467
- export type EmailDomain = {
473
+ export type EmailDomainDetailed = {
468
474
  id: EmailDomainId;
469
475
  domain: string;
470
476
  phase: "dns-setup" | "provider-setup" | "provider-verification" | "ready" | "degraded" | "failed";
471
477
  dkimSelector?: string | null | undefined;
472
478
  dkimPublicKey?: string | null | undefined;
473
479
  dnsRecords: Array<{
474
- type: string;
480
+ type: "A" | "AAAA" | "CNAME" | "MX" | "NS" | "SOA" | "PTR" | "SRV" | "TXT" | "CAA";
475
481
  name: string;
476
482
  value: string;
477
483
  ttl?: string | null | undefined;
@@ -893,27 +899,12 @@ export type BulkUpdateResult = {
893
899
  updated: number;
894
900
  failed: number;
895
901
  };
902
+ export type TemplateProjectId = string;
896
903
  export type TemplateFamilyId = string;
897
904
  export type TemplateFromDefault = {
898
905
  email: string;
899
906
  name?: string | null | undefined;
900
907
  };
901
- export type TemplateVariable = {
902
- name: string;
903
- type: "string" | "number" | "boolean" | "date" | "array" | "object";
904
- required: boolean;
905
- default?: JsonValue | null | undefined;
906
- description?: string | null | undefined;
907
- validation?: {
908
- pattern?: string | null | undefined;
909
- min?: number | null | undefined;
910
- max?: number | null | undefined;
911
- minLength?: number | null | undefined;
912
- maxLength?: number | null | undefined;
913
- enum?: Array<string> | null | undefined;
914
- format?: "email" | "url" | "date" | "date-time" | "uuid" | null | undefined;
915
- } | null | undefined;
916
- };
917
908
  export type UserId = string;
918
909
  export type TemplateCompliance = {
919
910
  metaStatus?: string | null | undefined;
@@ -932,87 +923,23 @@ export type TemplateCompliance = {
932
923
  notes?: string | null | undefined;
933
924
  }> | null | undefined;
934
925
  };
935
- export type ThemeColors = {
936
- [key: string]: string;
937
- };
938
- export type Design = {
939
- theme?: {
940
- colors?: ThemeColors | null | undefined;
941
- colorsDark?: ThemeColors | null | undefined;
942
- radiusPx?: {
943
- [key: string]: number;
944
- } | null | undefined;
945
- fontFamilies?: {
946
- [key: string]: {
947
- source: "system" | "google" | "custom";
948
- family: string;
949
- fallback: string;
950
- faces?: Array<{
951
- weight: number;
952
- style: "normal" | "italic";
953
- src: string;
954
- unicodeRange?: string | null | undefined;
955
- }> | null | undefined;
956
- };
957
- } | null | undefined;
958
- fontWeights?: {
959
- [key: string]: number;
960
- } | null | undefined;
961
- text?: {
962
- [key: string]: {
963
- sizePx: number;
964
- lineHeightPx: number;
965
- };
966
- } | null | undefined;
967
- leading?: {
968
- [key: string]: number;
969
- } | null | undefined;
970
- spacingPx?: number | null | undefined;
971
- containerPx?: {
972
- [key: string]: number;
973
- } | null | undefined;
974
- tracking?: {
975
- [key: string]: number;
976
- } | null | undefined;
977
- } | null | undefined;
978
- assets?: {
979
- logoUrl?: string | null | undefined;
980
- logoDarkUrl?: string | null | undefined;
981
- iconUrl?: string | null | undefined;
982
- } | null | undefined;
983
- footer?: {
984
- companyName?: string | null | undefined;
985
- address?: {
986
- street1: string;
987
- street2?: string | null | undefined;
988
- city: string;
989
- region: string;
990
- postalCode: string;
991
- country: string;
992
- } | null | undefined;
993
- socialLinks?: Array<{
994
- label: string;
995
- url: string;
996
- }> | null | undefined;
997
- customHtml?: string | null | undefined;
998
- } | null | undefined;
999
- };
1000
926
  export type Template = {
1001
927
  id: TemplateId;
1002
928
  organizationId: OrganizationId;
929
+ projectId: TemplateProjectId;
930
+ entryPath: string;
1003
931
  name: string;
1004
932
  slug: string;
1005
933
  familyId: TemplateFamilyId | null;
1006
934
  channel: "email";
1007
- origin: "dashboard" | "tsx";
1008
935
  description: string | null;
1009
936
  category: string | null;
1010
- fromDefault?: TemplateFromDefault | null | undefined;
1011
- replyToDefault?: Array<string> | null | undefined;
937
+ fromDefault?: TemplateFromDefault | null | null | undefined;
938
+ replyToDefault?: Array<string> | null | null | undefined;
1012
939
  trackingDefault?: {
1013
940
  opens?: boolean | null | undefined;
1014
941
  clicks?: boolean | null | undefined;
1015
- } | null | undefined;
942
+ } | null | null | undefined;
1016
943
  email: {
1017
944
  subject: string;
1018
945
  preheader: string | null;
@@ -1020,15 +947,17 @@ export type Template = {
1020
947
  [key: string]: string;
1021
948
  } | null;
1022
949
  } | null;
1023
- variableSchema: Array<TemplateVariable> | null;
950
+ publicationId: TemplatePublicationId | null;
951
+ inputContractId: TemplateInputContractId | null;
952
+ inputSchema: {
953
+ [key: string]: JsonValue;
954
+ } | null;
1024
955
  compliance: TemplateCompliance | null;
1025
- designOverrides: Design | null;
1026
956
  usageCount: number;
1027
957
  lastUsedAt: string | null;
1028
958
  status: string;
1029
959
  isActive: boolean;
1030
960
  isDefault: boolean;
1031
- version: number;
1032
961
  publishedAt?: string | null | null | undefined;
1033
962
  publishedBy?: string | null | null | undefined;
1034
963
  createdAt: string;
@@ -1039,11 +968,9 @@ export type TemplateSummary = {
1039
968
  name: string;
1040
969
  slug: string;
1041
970
  channel: "email";
1042
- origin: "dashboard" | "tsx";
1043
971
  description: string | null;
1044
972
  category: "transactional" | "marketing" | "support" | "notification" | "verification" | "reminder" | "alert" | null;
1045
973
  status: "draft" | "pending" | "approved" | "published" | "rejected" | "archived";
1046
- version: number;
1047
974
  usageCount: number;
1048
975
  lastUsedAt: string | null;
1049
976
  createdAt: string;
@@ -1058,10 +985,8 @@ export type TemplateFamily = {
1058
985
  name: string;
1059
986
  slug: string;
1060
987
  channel: "email";
1061
- variableSchema: Array<TemplateVariable> | null;
1062
988
  status: "draft" | "pending" | "approved" | "published" | "rejected" | "archived";
1063
989
  isActive: boolean;
1064
- version: number;
1065
990
  createdAt: string;
1066
991
  updatedAt: string;
1067
992
  }>;
@@ -1071,61 +996,92 @@ export type TemplateFamily = {
1071
996
  export type TemplateFamilyName = {
1072
997
  name: string;
1073
998
  };
1074
- export type TemplatePerformance = {
1075
- deliveryRate?: number | null | undefined;
1076
- openRate?: number | null | undefined;
1077
- clickRate?: number | null | undefined;
1078
- responseRate?: number | null | undefined;
1079
- conversionRate?: number | null | undefined;
1080
- averageSatisfaction?: number | null | undefined;
1081
- totalSent?: number | null | undefined;
1082
- totalDelivered?: number | null | undefined;
1083
- totalOpened?: number | null | undefined;
1084
- totalClicked?: number | null | undefined;
1085
- totalResponses?: number | null | undefined;
1086
- totalConversions?: number | null | undefined;
1087
- lastUsedAt?: string | null | undefined;
1088
- usageCount?: number | null | undefined;
1089
- };
1090
999
  export type CreateTemplatePayload = {
1091
1000
  name: string;
1001
+ projectName?: string | null | undefined;
1092
1002
  slug?: string | null | undefined;
1093
- origin?: "dashboard" | "tsx" | null | undefined;
1003
+ galleryTemplateId?: string | null | undefined;
1094
1004
  description?: string | null | null | undefined;
1095
1005
  category?: "transactional" | "marketing" | "support" | "notification" | "verification" | "reminder" | "alert" | null | null | undefined;
1096
- source: string;
1097
- subject?: string | null | undefined;
1098
- headers?: {
1099
- [key: string]: string;
1100
- } | null | null | undefined;
1101
- variableSchema?: Array<TemplateVariable> | null | null | undefined;
1102
- compliance?: TemplateCompliance | null | null | undefined;
1103
- performance?: TemplatePerformance | null | null | undefined;
1104
- designOverrides?: Design | null | null | undefined;
1105
1006
  isActive?: boolean | null | undefined;
1106
- isDefault?: boolean | null | undefined;
1107
- version?: number | null | undefined;
1007
+ idempotencyKey: string;
1108
1008
  };
1109
1009
  export type UpdateTemplatePayload = {
1110
1010
  data: {
1111
1011
  name?: string | null | undefined;
1112
1012
  slug?: string | null | undefined;
1113
- origin?: "dashboard" | "tsx" | null | undefined;
1114
1013
  description?: string | null | null | undefined;
1115
1014
  category?: "transactional" | "marketing" | "support" | "notification" | "verification" | "reminder" | "alert" | null | null | undefined;
1116
1015
  fromDefault?: TemplateFromDefault | null | null | undefined;
1117
1016
  replyToDefault?: Array<string> | null | null | undefined;
1118
- variableSchema?: Array<TemplateVariable> | null | null | undefined;
1119
- compliance?: TemplateCompliance | null | null | undefined;
1120
- performance?: TemplatePerformance | null | null | undefined;
1121
- designOverrides?: Design | null | null | undefined;
1122
1017
  isActive?: boolean | null | undefined;
1123
- isDefault?: boolean | null | undefined;
1124
- version?: number | null | undefined;
1125
1018
  };
1126
1019
  };
1127
- export type MailboxExtensionId = string;
1128
- export type TemplateSourceVersionId = string;
1020
+ export type ThemeColors = {
1021
+ [key: string]: string;
1022
+ };
1023
+ export type Design = {
1024
+ theme?: {
1025
+ colors?: ThemeColors | null | undefined;
1026
+ colorsDark?: ThemeColors | null | undefined;
1027
+ radiusPx?: {
1028
+ [key: string]: number;
1029
+ } | null | undefined;
1030
+ fontFamilies?: {
1031
+ [key: string]: {
1032
+ source: "system" | "google" | "custom";
1033
+ family: string;
1034
+ fallback: string;
1035
+ faces?: Array<{
1036
+ weight: number;
1037
+ style: "normal" | "italic";
1038
+ src: string;
1039
+ unicodeRange?: string | null | undefined;
1040
+ }> | null | undefined;
1041
+ };
1042
+ } | null | undefined;
1043
+ fontWeights?: {
1044
+ [key: string]: number;
1045
+ } | null | undefined;
1046
+ text?: {
1047
+ [key: string]: {
1048
+ sizePx: number;
1049
+ lineHeightPx: number;
1050
+ };
1051
+ } | null | undefined;
1052
+ leading?: {
1053
+ [key: string]: number;
1054
+ } | null | undefined;
1055
+ spacingPx?: number | null | undefined;
1056
+ containerPx?: {
1057
+ [key: string]: number;
1058
+ } | null | undefined;
1059
+ tracking?: {
1060
+ [key: string]: number;
1061
+ } | null | undefined;
1062
+ } | null | undefined;
1063
+ assets?: {
1064
+ logoUrl?: string | null | undefined;
1065
+ logoDarkUrl?: string | null | undefined;
1066
+ iconUrl?: string | null | undefined;
1067
+ } | null | undefined;
1068
+ footer?: {
1069
+ companyName?: string | null | undefined;
1070
+ address?: {
1071
+ street1: string;
1072
+ street2?: string | null | undefined;
1073
+ city: string;
1074
+ region: string;
1075
+ postalCode: string;
1076
+ country: string;
1077
+ } | null | undefined;
1078
+ socialLinks?: Array<{
1079
+ label: string;
1080
+ url: string;
1081
+ }> | null | undefined;
1082
+ customHtml?: string | null | undefined;
1083
+ } | null | undefined;
1084
+ };
1129
1085
  export type DesignSettings = {
1130
1086
  design: Design | null;
1131
1087
  footerCompleteness: {
@@ -1242,6 +1198,7 @@ export type MessagesListData = {
1242
1198
  page?: string | null | undefined;
1243
1199
  limit?: string | null | undefined;
1244
1200
  channel?: "email" | null | undefined;
1201
+ direction?: "outbound" | "inbound" | null | undefined;
1245
1202
  status?: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained" | null | undefined;
1246
1203
  conversationId?: ConversationId | null | undefined;
1247
1204
  contactId?: ContactId | null | undefined;
@@ -2522,6 +2479,10 @@ export type EmailListDomainsResponse = EmailListDomainsResponses[keyof EmailList
2522
2479
  export type EmailAddDomainData = {
2523
2480
  body: {
2524
2481
  domain: string;
2482
+ connection?: {
2483
+ connectionId: string;
2484
+ zone: string;
2485
+ } | null | undefined;
2525
2486
  };
2526
2487
  path?: never;
2527
2488
  query?: never;
@@ -2544,6 +2505,10 @@ export type EmailAddDomainErrors = {
2544
2505
  * ConflictError
2545
2506
  */
2546
2507
  409: ConflictError;
2508
+ /**
2509
+ * ValidationError
2510
+ */
2511
+ 422: ValidationError;
2547
2512
  /**
2548
2513
  * InternalError
2549
2514
  */
@@ -2558,7 +2523,7 @@ export type EmailAddDomainResponses = {
2558
2523
  /**
2559
2524
  * Success
2560
2525
  */
2561
- 201: EmailDomain;
2526
+ 201: EmailDomainDetailed;
2562
2527
  };
2563
2528
  export type EmailAddDomainResponse = EmailAddDomainResponses[keyof EmailAddDomainResponses];
2564
2529
  export type EmailGetDomainVerificationData = {
@@ -2708,9 +2673,9 @@ export type EmailGetDomainByIdErrors = {
2708
2673
  export type EmailGetDomainByIdError = EmailGetDomainByIdErrors[keyof EmailGetDomainByIdErrors];
2709
2674
  export type EmailGetDomainByIdResponses = {
2710
2675
  /**
2711
- * EmailDomain
2676
+ * EmailDomainDetailed
2712
2677
  */
2713
- 200: EmailDomain;
2678
+ 200: EmailDomainDetailed;
2714
2679
  };
2715
2680
  export type EmailGetDomainByIdResponse = EmailGetDomainByIdResponses[keyof EmailGetDomainByIdResponses];
2716
2681
  export type EmailDetectRegistrarData = {
@@ -3339,6 +3304,8 @@ export type EmailListSendersResponses = {
3339
3304
  verificationStatus: "pending" | "verified" | "failed";
3340
3305
  verifiedAt: string | null;
3341
3306
  verificationToken: string | null;
3307
+ providerLifecycle: "provisioning" | "active" | "deleting" | "failed";
3308
+ providerFailureCode: string | null;
3342
3309
  isDefault: boolean;
3343
3310
  replyToEmails: Array<string> | null;
3344
3311
  deliverability: DeliverabilityFacts;
@@ -3357,6 +3324,9 @@ export type EmailAddSenderData = {
3357
3324
  name?: string | null | null | undefined;
3358
3325
  replyToEmails?: Array<string> | null | null | undefined;
3359
3326
  };
3327
+ headers: {
3328
+ "idempotency-key": string;
3329
+ };
3360
3330
  path?: never;
3361
3331
  query?: never;
3362
3332
  url: "/v1/email/senders";
@@ -3400,6 +3370,8 @@ export type EmailAddSenderResponses = {
3400
3370
  id: EmailSenderId;
3401
3371
  email: string;
3402
3372
  status: "pending" | "verified" | "failed";
3373
+ providerLifecycle: "provisioning" | "active" | "deleting" | "failed";
3374
+ providerFailureCode: string | null;
3403
3375
  createdAt: string;
3404
3376
  };
3405
3377
  };
@@ -5568,22 +5540,13 @@ export type TemplatesListResponse = TemplatesListResponses[keyof TemplatesListRe
5568
5540
  export type TemplatesCreateData = {
5569
5541
  body: {
5570
5542
  name: string;
5543
+ projectName?: string | null | undefined;
5571
5544
  slug?: string | null | undefined;
5572
- origin?: "dashboard" | "tsx" | null | undefined;
5545
+ galleryTemplateId?: string | null | undefined;
5573
5546
  description?: string | null | null | undefined;
5574
5547
  category?: "transactional" | "marketing" | "support" | "notification" | "verification" | "reminder" | "alert" | null | null | undefined;
5575
- source: string;
5576
- subject?: string | null | undefined;
5577
- headers?: {
5578
- [key: string]: string;
5579
- } | null | null | undefined;
5580
- variableSchema?: Array<TemplateVariable> | null | null | undefined;
5581
- compliance?: TemplateCompliance | null | null | undefined;
5582
- performance?: TemplatePerformance | null | null | undefined;
5583
- designOverrides?: Design | null | null | undefined;
5584
5548
  isActive?: boolean | null | undefined;
5585
- isDefault?: boolean | null | undefined;
5586
- version?: number | null | undefined;
5549
+ idempotencyKey: string;
5587
5550
  };
5588
5551
  path?: never;
5589
5552
  query?: never;
@@ -5974,49 +5937,6 @@ export type TemplatesAttachFamilyMemberResponses = {
5974
5937
  200: TemplateFamily;
5975
5938
  };
5976
5939
  export type TemplatesAttachFamilyMemberResponse = TemplatesAttachFamilyMemberResponses[keyof TemplatesAttachFamilyMemberResponses];
5977
- export type TemplatesAddFamilyChannelData = {
5978
- body?: never;
5979
- path: {
5980
- familyId: TemplateFamilyId;
5981
- channel: "email";
5982
- };
5983
- query?: never;
5984
- url: "/v1/templates/families/{familyId}/channels/{channel}";
5985
- };
5986
- export type TemplatesAddFamilyChannelErrors = {
5987
- /**
5988
- * UnauthorizedError
5989
- */
5990
- 401: UnauthorizedError;
5991
- /**
5992
- * ForbiddenError
5993
- */
5994
- 403: ForbiddenError;
5995
- /**
5996
- * ResourceNotFoundError
5997
- */
5998
- 404: ResourceNotFoundError;
5999
- /**
6000
- * ConflictError
6001
- */
6002
- 409: ConflictError;
6003
- /**
6004
- * ValidationError
6005
- */
6006
- 422: ValidationError;
6007
- /**
6008
- * InternalError
6009
- */
6010
- 500: InternalError;
6011
- };
6012
- export type TemplatesAddFamilyChannelError = TemplatesAddFamilyChannelErrors[keyof TemplatesAddFamilyChannelErrors];
6013
- export type TemplatesAddFamilyChannelResponses = {
6014
- /**
6015
- * Success
6016
- */
6017
- 201: TemplateFamily;
6018
- };
6019
- export type TemplatesAddFamilyChannelResponse = TemplatesAddFamilyChannelResponses[keyof TemplatesAddFamilyChannelResponses];
6020
5940
  export type TemplatesRemoveData = {
6021
5941
  body?: never;
6022
5942
  path: {
@@ -6090,18 +6010,11 @@ export type TemplatesUpdateData = {
6090
6010
  data: {
6091
6011
  name?: string | null | undefined;
6092
6012
  slug?: string | null | undefined;
6093
- origin?: "dashboard" | "tsx" | null | undefined;
6094
6013
  description?: string | null | null | undefined;
6095
6014
  category?: "transactional" | "marketing" | "support" | "notification" | "verification" | "reminder" | "alert" | null | null | undefined;
6096
6015
  fromDefault?: TemplateFromDefault | null | null | undefined;
6097
6016
  replyToDefault?: Array<string> | null | null | undefined;
6098
- variableSchema?: Array<TemplateVariable> | null | null | undefined;
6099
- compliance?: TemplateCompliance | null | null | undefined;
6100
- performance?: TemplatePerformance | null | null | undefined;
6101
- designOverrides?: Design | null | null | undefined;
6102
6017
  isActive?: boolean | null | undefined;
6103
- isDefault?: boolean | null | undefined;
6104
- version?: number | null | undefined;
6105
6018
  };
6106
6019
  };
6107
6020
  path: {
@@ -6144,19 +6057,22 @@ export type TemplatesUpdateResponses = {
6144
6057
  200: Template;
6145
6058
  };
6146
6059
  export type TemplatesUpdateResponse = TemplatesUpdateResponses[keyof TemplatesUpdateResponses];
6147
- export type TemplatesApproveData = {
6060
+ export type TemplatesPatchWorkspaceData = {
6148
6061
  body: {
6149
- data: {
6150
- notes?: string | null | undefined;
6151
- };
6062
+ expectedRevision: string;
6063
+ patches: Array<{
6064
+ path: string;
6065
+ content: string | null;
6066
+ }>;
6067
+ idempotencyKey: string;
6152
6068
  };
6153
6069
  path: {
6154
6070
  id: TemplateId;
6155
6071
  };
6156
6072
  query?: never;
6157
- url: "/v1/templates/{id}/approve";
6073
+ url: "/v1/templates/{id}/workspace";
6158
6074
  };
6159
- export type TemplatesApproveErrors = {
6075
+ export type TemplatesPatchWorkspaceErrors = {
6160
6076
  /**
6161
6077
  * UnauthorizedError
6162
6078
  */
@@ -6169,28 +6085,112 @@ export type TemplatesApproveErrors = {
6169
6085
  * ResourceNotFoundError
6170
6086
  */
6171
6087
  404: ResourceNotFoundError;
6088
+ /**
6089
+ * ConflictError
6090
+ */
6091
+ 409: ConflictError;
6172
6092
  /**
6173
6093
  * InternalError
6174
6094
  */
6175
6095
  500: InternalError;
6176
6096
  };
6177
- export type TemplatesApproveError = TemplatesApproveErrors[keyof TemplatesApproveErrors];
6178
- export type TemplatesApproveResponses = {
6097
+ export type TemplatesPatchWorkspaceError = TemplatesPatchWorkspaceErrors[keyof TemplatesPatchWorkspaceErrors];
6098
+ export type TemplatesPatchWorkspaceResponses = {
6179
6099
  /**
6180
- * Template
6100
+ * Success
6181
6101
  */
6182
- 200: Template;
6102
+ 200: {
6103
+ workspace: {
6104
+ projectId: TemplateProjectId;
6105
+ organizationId: OrganizationId | null;
6106
+ ownerEpoch: number;
6107
+ repositoryName: string;
6108
+ defaultBranch: string;
6109
+ baseCommit: string;
6110
+ remoteHead: string;
6111
+ pendingRemoteHead: string | null;
6112
+ revision: string;
6113
+ overlay: {
6114
+ [key: string]: string | null;
6115
+ };
6116
+ assetChanges: Array<{
6117
+ path: string;
6118
+ status: "added" | "modified" | "deleted";
6119
+ }>;
6120
+ conflicts: Array<{
6121
+ path: string;
6122
+ base: string | null;
6123
+ draft: string | null;
6124
+ main: string | null;
6125
+ }>;
6126
+ provenance: {
6127
+ references: Array<{
6128
+ kind: string;
6129
+ digest: string;
6130
+ locator?: string | undefined;
6131
+ }>;
6132
+ };
6133
+ mounts: Array<{
6134
+ kind: "project";
6135
+ root: "/project";
6136
+ access: "read-write";
6137
+ } | {
6138
+ root: string;
6139
+ digest: string;
6140
+ fileCount: number;
6141
+ byteSize: number;
6142
+ kind: "started-from";
6143
+ access: "read-only";
6144
+ templateId: string;
6145
+ slug: string;
6146
+ name: string;
6147
+ } | {
6148
+ root: string;
6149
+ digest: string;
6150
+ fileCount: number;
6151
+ byteSize: number;
6152
+ kind: "resource";
6153
+ access: "read-only";
6154
+ resourceId: string;
6155
+ name: string;
6156
+ } | {
6157
+ root: string;
6158
+ digest: string;
6159
+ fileCount: number;
6160
+ byteSize: number;
6161
+ kind: "library-template";
6162
+ access: "read-only";
6163
+ templateId: string;
6164
+ slug: string;
6165
+ name: string;
6166
+ }>;
6167
+ libraryManifestDigest: string;
6168
+ createdAt: string;
6169
+ updatedAt: string;
6170
+ createdBy: {
6171
+ userId: UserId;
6172
+ via: "api" | "mcp" | "agent";
6173
+ };
6174
+ updatedBy: {
6175
+ userId: UserId;
6176
+ via: "api" | "mcp" | "agent";
6177
+ };
6178
+ };
6179
+ files: {
6180
+ [key: string]: string;
6181
+ };
6182
+ };
6183
6183
  };
6184
- export type TemplatesApproveResponse = TemplatesApproveResponses[keyof TemplatesApproveResponses];
6185
- export type TemplateDocumentsBootstrapData = {
6186
- body: {
6187
- templateId: TemplateId;
6184
+ export type TemplatesPatchWorkspaceResponse = TemplatesPatchWorkspaceResponses[keyof TemplatesPatchWorkspaceResponses];
6185
+ export type TemplatesOpenWorkspaceData = {
6186
+ body?: never;
6187
+ path: {
6188
+ id: TemplateId;
6188
6189
  };
6189
- path?: never;
6190
6190
  query?: never;
6191
- url: "/v1/template-documents/bootstrap";
6191
+ url: "/v1/templates/{id}/workspace";
6192
6192
  };
6193
- export type TemplateDocumentsBootstrapErrors = {
6193
+ export type TemplatesOpenWorkspaceErrors = {
6194
6194
  /**
6195
6195
  * UnauthorizedError
6196
6196
  */
@@ -6207,49 +6207,110 @@ export type TemplateDocumentsBootstrapErrors = {
6207
6207
  * ConflictError
6208
6208
  */
6209
6209
  409: ConflictError;
6210
- /**
6211
- * ValidationError
6212
- */
6213
- 422: ValidationError;
6214
6210
  /**
6215
6211
  * InternalError
6216
6212
  */
6217
6213
  500: InternalError;
6218
6214
  };
6219
- export type TemplateDocumentsBootstrapError = TemplateDocumentsBootstrapErrors[keyof TemplateDocumentsBootstrapErrors];
6220
- export type TemplateDocumentsBootstrapResponses = {
6215
+ export type TemplatesOpenWorkspaceError = TemplatesOpenWorkspaceErrors[keyof TemplatesOpenWorkspaceErrors];
6216
+ export type TemplatesOpenWorkspaceResponses = {
6221
6217
  /**
6222
6218
  * Success
6223
6219
  */
6224
6220
  200: {
6225
- templateId: TemplateId;
6226
- organizationId: OrganizationId;
6227
- channel: "email";
6228
- source: string;
6229
- revision: string;
6230
- sourceDigest: string;
6231
- createdAt: string;
6232
- updatedAt: string;
6233
- createdBy: {
6234
- userId: UserId;
6235
- via: "api" | "mcp" | "agent";
6236
- };
6237
- updatedBy: {
6238
- userId: UserId;
6239
- via: "api" | "mcp" | "agent";
6240
- };
6241
- };
6242
- };
6243
- export type TemplateDocumentsBootstrapResponse = TemplateDocumentsBootstrapResponses[keyof TemplateDocumentsBootstrapResponses];
6244
- export type TemplateDocumentsGetData = {
6245
- body?: never;
6221
+ workspace: {
6222
+ projectId: TemplateProjectId;
6223
+ organizationId: OrganizationId | null;
6224
+ ownerEpoch: number;
6225
+ repositoryName: string;
6226
+ defaultBranch: string;
6227
+ baseCommit: string;
6228
+ remoteHead: string;
6229
+ pendingRemoteHead: string | null;
6230
+ revision: string;
6231
+ overlay: {
6232
+ [key: string]: string | null;
6233
+ };
6234
+ assetChanges: Array<{
6235
+ path: string;
6236
+ status: "added" | "modified" | "deleted";
6237
+ }>;
6238
+ conflicts: Array<{
6239
+ path: string;
6240
+ base: string | null;
6241
+ draft: string | null;
6242
+ main: string | null;
6243
+ }>;
6244
+ provenance: {
6245
+ references: Array<{
6246
+ kind: string;
6247
+ digest: string;
6248
+ locator?: string | undefined;
6249
+ }>;
6250
+ };
6251
+ mounts: Array<{
6252
+ kind: "project";
6253
+ root: "/project";
6254
+ access: "read-write";
6255
+ } | {
6256
+ root: string;
6257
+ digest: string;
6258
+ fileCount: number;
6259
+ byteSize: number;
6260
+ kind: "started-from";
6261
+ access: "read-only";
6262
+ templateId: string;
6263
+ slug: string;
6264
+ name: string;
6265
+ } | {
6266
+ root: string;
6267
+ digest: string;
6268
+ fileCount: number;
6269
+ byteSize: number;
6270
+ kind: "resource";
6271
+ access: "read-only";
6272
+ resourceId: string;
6273
+ name: string;
6274
+ } | {
6275
+ root: string;
6276
+ digest: string;
6277
+ fileCount: number;
6278
+ byteSize: number;
6279
+ kind: "library-template";
6280
+ access: "read-only";
6281
+ templateId: string;
6282
+ slug: string;
6283
+ name: string;
6284
+ }>;
6285
+ libraryManifestDigest: string;
6286
+ createdAt: string;
6287
+ updatedAt: string;
6288
+ createdBy: {
6289
+ userId: UserId;
6290
+ via: "api" | "mcp" | "agent";
6291
+ };
6292
+ updatedBy: {
6293
+ userId: UserId;
6294
+ via: "api" | "mcp" | "agent";
6295
+ };
6296
+ };
6297
+ files: {
6298
+ [key: string]: string;
6299
+ };
6300
+ };
6301
+ };
6302
+ export type TemplatesOpenWorkspaceResponse = TemplatesOpenWorkspaceResponses[keyof TemplatesOpenWorkspaceResponses];
6303
+ export type TemplatesDiffWorkspaceData = {
6304
+ body: {
6305
+ expectedRevision: string;
6306
+ };
6246
6307
  path: {
6247
- templateId: TemplateId;
6308
+ id: TemplateId;
6248
6309
  };
6249
6310
  query?: never;
6250
- url: "/v1/template-documents/{templateId}";
6311
+ url: "/v1/templates/{id}/workspace/diff";
6251
6312
  };
6252
- export type TemplateDocumentsGetErrors = {
6313
+ export type TemplatesDiffWorkspaceErrors = {
6253
6314
  /**
6254
6315
  * UnauthorizedError
6255
6316
  */
@@ -6266,67 +6327,47 @@ export type TemplateDocumentsGetErrors = {
6266
6327
  * ConflictError
6267
6328
  */
6268
6329
  409: ConflictError;
6269
- /**
6270
- * ValidationError
6271
- */
6272
- 422: ValidationError;
6273
6330
  /**
6274
6331
  * InternalError
6275
6332
  */
6276
6333
  500: InternalError;
6277
6334
  };
6278
- export type TemplateDocumentsGetError = TemplateDocumentsGetErrors[keyof TemplateDocumentsGetErrors];
6279
- export type TemplateDocumentsGetResponses = {
6335
+ export type TemplatesDiffWorkspaceError = TemplatesDiffWorkspaceErrors[keyof TemplatesDiffWorkspaceErrors];
6336
+ export type TemplatesDiffWorkspaceResponses = {
6280
6337
  /**
6281
6338
  * Success
6282
6339
  */
6283
6340
  200: {
6284
- templateId: TemplateId;
6285
- organizationId: OrganizationId;
6286
- channel: "email";
6287
- source: string;
6341
+ projectId: TemplateProjectId;
6342
+ baseCommit: string;
6288
6343
  revision: string;
6289
- sourceDigest: string;
6290
- createdAt: string;
6291
- updatedAt: string;
6292
- createdBy: {
6293
- userId: UserId;
6294
- via: "api" | "mcp" | "agent";
6295
- };
6296
- updatedBy: {
6297
- userId: UserId;
6298
- via: "api" | "mcp" | "agent";
6299
- };
6344
+ changes: Array<{
6345
+ path: string;
6346
+ before: string | null;
6347
+ after: string | null;
6348
+ status: "added" | "modified" | "deleted";
6349
+ }>;
6350
+ assetChanges: Array<{
6351
+ path: string;
6352
+ status: "added" | "modified" | "deleted";
6353
+ }>;
6300
6354
  };
6301
6355
  };
6302
- export type TemplateDocumentsGetResponse = TemplateDocumentsGetResponses[keyof TemplateDocumentsGetResponses];
6303
- export type TemplateDocumentsIssueAgentAdmissionData = {
6356
+ export type TemplatesDiffWorkspaceResponse = TemplatesDiffWorkspaceResponses[keyof TemplatesDiffWorkspaceResponses];
6357
+ export type TemplatesReconcileWorkspaceData = {
6304
6358
  body: {
6305
- method: "GET" | "HEAD" | "POST";
6306
- route: "prompt" | "read" | "abort" | "clear";
6307
- referenceDigest?: string | undefined;
6308
- research?: {
6309
- kind: "query";
6310
- query: string;
6311
- } | {
6312
- kind: "url";
6313
- url: string;
6314
- } | {
6315
- kind: "styleguide";
6316
- domain: string;
6317
- } | undefined;
6318
- competitorMessage?: {
6319
- watchId: MailboxExtensionId;
6320
- messageId: MessageId;
6321
- } | undefined;
6359
+ expectedRevision: string;
6360
+ assetResolution?: "draft" | "remote" | undefined;
6361
+ expectedRemoteHead?: string | undefined;
6362
+ idempotencyKey: string;
6322
6363
  };
6323
6364
  path: {
6324
- templateId: TemplateId;
6365
+ id: TemplateId;
6325
6366
  };
6326
6367
  query?: never;
6327
- url: "/v1/template-documents/{templateId}/agent-admission";
6368
+ url: "/v1/templates/{id}/workspace/reconcile";
6328
6369
  };
6329
- export type TemplateDocumentsIssueAgentAdmissionErrors = {
6370
+ export type TemplatesReconcileWorkspaceErrors = {
6330
6371
  /**
6331
6372
  * UnauthorizedError
6332
6373
  */
@@ -6343,132 +6384,115 @@ export type TemplateDocumentsIssueAgentAdmissionErrors = {
6343
6384
  * ConflictError
6344
6385
  */
6345
6386
  409: ConflictError;
6346
- /**
6347
- * ValidationError
6348
- */
6349
- 422: ValidationError;
6350
6387
  /**
6351
6388
  * InternalError
6352
6389
  */
6353
6390
  500: InternalError;
6354
6391
  };
6355
- export type TemplateDocumentsIssueAgentAdmissionError = TemplateDocumentsIssueAgentAdmissionErrors[keyof TemplateDocumentsIssueAgentAdmissionErrors];
6356
- export type TemplateDocumentsIssueAgentAdmissionResponses = {
6392
+ export type TemplatesReconcileWorkspaceError = TemplatesReconcileWorkspaceErrors[keyof TemplatesReconcileWorkspaceErrors];
6393
+ export type TemplatesReconcileWorkspaceResponses = {
6357
6394
  /**
6358
6395
  * Success
6359
6396
  */
6360
6397
  200: {
6361
- token: string;
6362
- conversationId: string;
6363
- snapshot: {
6364
- templateId: TemplateId;
6365
- organizationId: OrganizationId;
6366
- channel: "email";
6367
- source: string;
6398
+ workspace: {
6399
+ projectId: TemplateProjectId;
6400
+ organizationId: OrganizationId | null;
6401
+ ownerEpoch: number;
6402
+ repositoryName: string;
6403
+ defaultBranch: string;
6404
+ baseCommit: string;
6405
+ remoteHead: string;
6406
+ pendingRemoteHead: string | null;
6368
6407
  revision: string;
6369
- sourceDigest: string;
6370
- };
6371
- reference?: {
6372
- version: 1;
6373
- referenceId: string;
6374
- name: string;
6375
- description: string;
6376
- galleryPath: string;
6377
- digest: string;
6378
- citation: {
6379
- kind: string;
6380
- digest: string;
6381
- locator?: string | undefined;
6382
- };
6383
- policy: "samva-owned-source";
6384
- source: string;
6385
- } | {
6386
- version: 1;
6387
- referenceId: string;
6388
- name: string;
6389
- description: string;
6390
- galleryPath: string;
6391
- digest: string;
6392
- citation: {
6393
- kind: string;
6394
- digest: string;
6395
- locator?: string | undefined;
6408
+ overlay: {
6409
+ [key: string]: string | null;
6396
6410
  };
6397
- policy: "reviewed-public-structure";
6398
- structure: {
6399
- nodes: Array<{
6400
- tag: string;
6401
- depth: number;
6402
- childIndex: number;
6403
- }>;
6404
- components: Array<{
6405
- tag: string;
6406
- count: number;
6411
+ assetChanges: Array<{
6412
+ path: string;
6413
+ status: "added" | "modified" | "deleted";
6414
+ }>;
6415
+ conflicts: Array<{
6416
+ path: string;
6417
+ base: string | null;
6418
+ draft: string | null;
6419
+ main: string | null;
6420
+ }>;
6421
+ provenance: {
6422
+ references: Array<{
6423
+ kind: string;
6424
+ digest: string;
6425
+ locator?: string | undefined;
6407
6426
  }>;
6408
- palette: Array<string>;
6409
6427
  };
6410
- } | {
6411
- version: 1;
6412
- policy: "authorized-message-structure";
6413
- referenceId: string;
6414
- name: string;
6415
- description: string;
6416
- digest: string;
6417
- citation: {
6418
- kind: string;
6428
+ mounts: Array<{
6429
+ kind: "project";
6430
+ root: "/project";
6431
+ access: "read-write";
6432
+ } | {
6433
+ root: string;
6419
6434
  digest: string;
6420
- locator?: string | undefined;
6421
- };
6422
- structure: {
6423
- sections: number;
6424
- headings: number;
6425
- images: number;
6426
- links: number;
6427
- buttons: number;
6428
- textLength: number;
6429
- subjectLength: number;
6430
- palette: Array<string>;
6431
- };
6432
- } | {
6433
- version: 1;
6434
- policy: "public-research";
6435
- request: {
6436
- kind: "query";
6437
- query: string;
6435
+ fileCount: number;
6436
+ byteSize: number;
6437
+ kind: "started-from";
6438
+ access: "read-only";
6439
+ templateId: string;
6440
+ slug: string;
6441
+ name: string;
6438
6442
  } | {
6439
- kind: "url";
6440
- url: string;
6443
+ root: string;
6444
+ digest: string;
6445
+ fileCount: number;
6446
+ byteSize: number;
6447
+ kind: "resource";
6448
+ access: "read-only";
6449
+ resourceId: string;
6450
+ name: string;
6441
6451
  } | {
6442
- kind: "styleguide";
6443
- domain: string;
6444
- };
6445
- digest: string;
6446
- citations: Array<{
6447
- title: string;
6448
- url: string;
6449
- excerpts: Array<string>;
6450
- }>;
6451
- citation: {
6452
- kind: string;
6452
+ root: string;
6453
6453
  digest: string;
6454
- locator?: string | undefined;
6454
+ fileCount: number;
6455
+ byteSize: number;
6456
+ kind: "library-template";
6457
+ access: "read-only";
6458
+ templateId: string;
6459
+ slug: string;
6460
+ name: string;
6461
+ }>;
6462
+ libraryManifestDigest: string;
6463
+ createdAt: string;
6464
+ updatedAt: string;
6465
+ createdBy: {
6466
+ userId: UserId;
6467
+ via: "api" | "mcp" | "agent";
6455
6468
  };
6456
- } | undefined;
6457
- proposalBinding?: string | undefined;
6469
+ updatedBy: {
6470
+ userId: UserId;
6471
+ via: "api" | "mcp" | "agent";
6472
+ };
6473
+ };
6474
+ files: {
6475
+ [key: string]: string;
6476
+ };
6458
6477
  };
6459
6478
  };
6460
- export type TemplateDocumentsIssueAgentAdmissionResponse = TemplateDocumentsIssueAgentAdmissionResponses[keyof TemplateDocumentsIssueAgentAdmissionResponses];
6461
- export type TemplateDocumentsCompleteAgentConversationClearData = {
6479
+ export type TemplatesReconcileWorkspaceResponse = TemplatesReconcileWorkspaceResponses[keyof TemplatesReconcileWorkspaceResponses];
6480
+ export type TemplatesResolveWorkspaceConflictData = {
6462
6481
  body: {
6463
- conversationId: string;
6482
+ expectedRevision: string;
6483
+ path: string;
6484
+ resolution: "draft" | "main" | {
6485
+ content: string | null;
6486
+ };
6487
+ idempotencyKey: string;
6464
6488
  };
6465
6489
  path: {
6466
- templateId: TemplateId;
6490
+ id: TemplateId;
6467
6491
  };
6468
6492
  query?: never;
6469
- url: "/v1/template-documents/{templateId}/agent-conversation/clear-completion";
6493
+ url: "/v1/templates/{id}/workspace/conflicts";
6470
6494
  };
6471
- export type TemplateDocumentsCompleteAgentConversationClearErrors = {
6495
+ export type TemplatesResolveWorkspaceConflictErrors = {
6472
6496
  /**
6473
6497
  * UnauthorizedError
6474
6498
  */
@@ -6490,33 +6514,108 @@ export type TemplateDocumentsCompleteAgentConversationClearErrors = {
6490
6514
  */
6491
6515
  500: InternalError;
6492
6516
  };
6493
- export type TemplateDocumentsCompleteAgentConversationClearError = TemplateDocumentsCompleteAgentConversationClearErrors[keyof TemplateDocumentsCompleteAgentConversationClearErrors];
6494
- export type TemplateDocumentsCompleteAgentConversationClearResponses = {
6517
+ export type TemplatesResolveWorkspaceConflictError = TemplatesResolveWorkspaceConflictErrors[keyof TemplatesResolveWorkspaceConflictErrors];
6518
+ export type TemplatesResolveWorkspaceConflictResponses = {
6495
6519
  /**
6496
- * <No Content>
6520
+ * Success
6497
6521
  */
6498
- 200: unknown;
6522
+ 200: {
6523
+ workspace: {
6524
+ projectId: TemplateProjectId;
6525
+ organizationId: OrganizationId | null;
6526
+ ownerEpoch: number;
6527
+ repositoryName: string;
6528
+ defaultBranch: string;
6529
+ baseCommit: string;
6530
+ remoteHead: string;
6531
+ pendingRemoteHead: string | null;
6532
+ revision: string;
6533
+ overlay: {
6534
+ [key: string]: string | null;
6535
+ };
6536
+ assetChanges: Array<{
6537
+ path: string;
6538
+ status: "added" | "modified" | "deleted";
6539
+ }>;
6540
+ conflicts: Array<{
6541
+ path: string;
6542
+ base: string | null;
6543
+ draft: string | null;
6544
+ main: string | null;
6545
+ }>;
6546
+ provenance: {
6547
+ references: Array<{
6548
+ kind: string;
6549
+ digest: string;
6550
+ locator?: string | undefined;
6551
+ }>;
6552
+ };
6553
+ mounts: Array<{
6554
+ kind: "project";
6555
+ root: "/project";
6556
+ access: "read-write";
6557
+ } | {
6558
+ root: string;
6559
+ digest: string;
6560
+ fileCount: number;
6561
+ byteSize: number;
6562
+ kind: "started-from";
6563
+ access: "read-only";
6564
+ templateId: string;
6565
+ slug: string;
6566
+ name: string;
6567
+ } | {
6568
+ root: string;
6569
+ digest: string;
6570
+ fileCount: number;
6571
+ byteSize: number;
6572
+ kind: "resource";
6573
+ access: "read-only";
6574
+ resourceId: string;
6575
+ name: string;
6576
+ } | {
6577
+ root: string;
6578
+ digest: string;
6579
+ fileCount: number;
6580
+ byteSize: number;
6581
+ kind: "library-template";
6582
+ access: "read-only";
6583
+ templateId: string;
6584
+ slug: string;
6585
+ name: string;
6586
+ }>;
6587
+ libraryManifestDigest: string;
6588
+ createdAt: string;
6589
+ updatedAt: string;
6590
+ createdBy: {
6591
+ userId: UserId;
6592
+ via: "api" | "mcp" | "agent";
6593
+ };
6594
+ updatedBy: {
6595
+ userId: UserId;
6596
+ via: "api" | "mcp" | "agent";
6597
+ };
6598
+ };
6599
+ files: {
6600
+ [key: string]: string;
6601
+ };
6602
+ };
6499
6603
  };
6500
- export type TemplateDocumentsApplyAgentProposalData = {
6604
+ export type TemplatesResolveWorkspaceConflictResponse = TemplatesResolveWorkspaceConflictResponses[keyof TemplatesResolveWorkspaceConflictResponses];
6605
+ export type TemplatesSaveWorkspaceData = {
6501
6606
  body: {
6502
6607
  expectedRevision: string;
6503
- sourceDigest: string;
6608
+ expectedHead: string;
6609
+ message: string;
6504
6610
  idempotencyKey: string;
6505
- source: string;
6506
- references: Array<{
6507
- kind: string;
6508
- digest: string;
6509
- locator?: string | undefined;
6510
- }>;
6511
- proposalBinding?: string | undefined;
6512
6611
  };
6513
6612
  path: {
6514
- templateId: TemplateId;
6613
+ id: TemplateId;
6515
6614
  };
6516
6615
  query?: never;
6517
- url: "/v1/template-documents/{templateId}/agent-proposals/apply";
6616
+ url: "/v1/templates/{id}/workspace/save";
6518
6617
  };
6519
- export type TemplateDocumentsApplyAgentProposalErrors = {
6618
+ export type TemplatesSaveWorkspaceErrors = {
6520
6619
  /**
6521
6620
  * UnauthorizedError
6522
6621
  */
@@ -6533,52 +6632,86 @@ export type TemplateDocumentsApplyAgentProposalErrors = {
6533
6632
  * ConflictError
6534
6633
  */
6535
6634
  409: ConflictError;
6536
- /**
6537
- * ValidationError
6538
- */
6539
- 422: ValidationError;
6540
6635
  /**
6541
6636
  * InternalError
6542
6637
  */
6543
6638
  500: InternalError;
6544
6639
  };
6545
- export type TemplateDocumentsApplyAgentProposalError = TemplateDocumentsApplyAgentProposalErrors[keyof TemplateDocumentsApplyAgentProposalErrors];
6546
- export type TemplateDocumentsApplyAgentProposalResponses = {
6640
+ export type TemplatesSaveWorkspaceError = TemplatesSaveWorkspaceErrors[keyof TemplatesSaveWorkspaceErrors];
6641
+ export type TemplatesSaveWorkspaceResponses = {
6547
6642
  /**
6548
6643
  * Success
6549
6644
  */
6550
6645
  200: {
6551
- templateId: TemplateId;
6552
- organizationId: OrganizationId;
6553
- channel: "email";
6554
- source: string;
6646
+ commit: string;
6647
+ parentCommit: string;
6648
+ tree: string;
6555
6649
  revision: string;
6650
+ changedPaths: Array<string>;
6556
6651
  sourceDigest: string;
6557
- createdAt: string;
6558
- updatedAt: string;
6559
- createdBy: {
6560
- userId: UserId;
6561
- via: "api" | "mcp" | "agent";
6562
- };
6563
- updatedBy: {
6564
- userId: UserId;
6565
- via: "api" | "mcp" | "agent";
6566
- };
6652
+ buildDigest: string;
6653
+ warnings: Array<{
6654
+ code: string;
6655
+ severity: "error" | "warning" | "info";
6656
+ message: string;
6657
+ origins: Array<{
6658
+ fileName: string;
6659
+ lineNumber: number;
6660
+ columnNumber: number;
6661
+ }>;
6662
+ clients?: Array<string> | null | undefined;
6663
+ notes?: string | null | undefined;
6664
+ provenance?: string | null | undefined;
6665
+ fixtures?: Array<string> | null | undefined;
6666
+ occurrences?: Array<Array<{
6667
+ fileName: string;
6668
+ lineNumber: number;
6669
+ columnNumber: number;
6670
+ }>> | null | undefined;
6671
+ compatibility?: {
6672
+ assessment: "risk" | "degradation" | "unverified" | "not-applicable";
6673
+ title: string;
6674
+ } | null | undefined;
6675
+ }>;
6676
+ incompatibilities: Array<{
6677
+ code: string;
6678
+ severity: "error" | "warning" | "info";
6679
+ message: string;
6680
+ origins: Array<{
6681
+ fileName: string;
6682
+ lineNumber: number;
6683
+ columnNumber: number;
6684
+ }>;
6685
+ clients?: Array<string> | null | undefined;
6686
+ notes?: string | null | undefined;
6687
+ provenance?: string | null | undefined;
6688
+ fixtures?: Array<string> | null | undefined;
6689
+ occurrences?: Array<Array<{
6690
+ fileName: string;
6691
+ lineNumber: number;
6692
+ columnNumber: number;
6693
+ }>> | null | undefined;
6694
+ compatibility?: {
6695
+ assessment: "risk" | "degradation" | "unverified" | "not-applicable";
6696
+ title: string;
6697
+ } | null | undefined;
6698
+ }>;
6567
6699
  };
6568
6700
  };
6569
- export type TemplateDocumentsApplyAgentProposalResponse = TemplateDocumentsApplyAgentProposalResponses[keyof TemplateDocumentsApplyAgentProposalResponses];
6570
- export type TemplateDocumentsReplaceData = {
6701
+ export type TemplatesSaveWorkspaceResponse = TemplatesSaveWorkspaceResponses[keyof TemplatesSaveWorkspaceResponses];
6702
+ export type TemplatesRestoreWorkspaceData = {
6571
6703
  body: {
6572
6704
  expectedRevision: string;
6573
- source: string;
6705
+ commit: string;
6706
+ idempotencyKey: string;
6574
6707
  };
6575
6708
  path: {
6576
- templateId: TemplateId;
6709
+ id: TemplateId;
6577
6710
  };
6578
6711
  query?: never;
6579
- url: "/v1/template-documents/{templateId}/source";
6712
+ url: "/v1/templates/{id}/workspace/restore";
6580
6713
  };
6581
- export type TemplateDocumentsReplaceErrors = {
6714
+ export type TemplatesRestoreWorkspaceErrors = {
6582
6715
  /**
6583
6716
  * UnauthorizedError
6584
6717
  */
@@ -6595,51 +6728,116 @@ export type TemplateDocumentsReplaceErrors = {
6595
6728
  * ConflictError
6596
6729
  */
6597
6730
  409: ConflictError;
6598
- /**
6599
- * ValidationError
6600
- */
6601
- 422: ValidationError;
6602
6731
  /**
6603
6732
  * InternalError
6604
6733
  */
6605
6734
  500: InternalError;
6606
6735
  };
6607
- export type TemplateDocumentsReplaceError = TemplateDocumentsReplaceErrors[keyof TemplateDocumentsReplaceErrors];
6608
- export type TemplateDocumentsReplaceResponses = {
6736
+ export type TemplatesRestoreWorkspaceError = TemplatesRestoreWorkspaceErrors[keyof TemplatesRestoreWorkspaceErrors];
6737
+ export type TemplatesRestoreWorkspaceResponses = {
6609
6738
  /**
6610
6739
  * Success
6611
6740
  */
6612
6741
  200: {
6613
- templateId: TemplateId;
6614
- organizationId: OrganizationId;
6615
- channel: "email";
6616
- source: string;
6617
- revision: string;
6618
- sourceDigest: string;
6619
- createdAt: string;
6620
- updatedAt: string;
6621
- createdBy: {
6622
- userId: UserId;
6623
- via: "api" | "mcp" | "agent";
6742
+ view: {
6743
+ workspace: {
6744
+ projectId: TemplateProjectId;
6745
+ organizationId: OrganizationId | null;
6746
+ ownerEpoch: number;
6747
+ repositoryName: string;
6748
+ defaultBranch: string;
6749
+ baseCommit: string;
6750
+ remoteHead: string;
6751
+ pendingRemoteHead: string | null;
6752
+ revision: string;
6753
+ overlay: {
6754
+ [key: string]: string | null;
6755
+ };
6756
+ assetChanges: Array<{
6757
+ path: string;
6758
+ status: "added" | "modified" | "deleted";
6759
+ }>;
6760
+ conflicts: Array<{
6761
+ path: string;
6762
+ base: string | null;
6763
+ draft: string | null;
6764
+ main: string | null;
6765
+ }>;
6766
+ provenance: {
6767
+ references: Array<{
6768
+ kind: string;
6769
+ digest: string;
6770
+ locator?: string | undefined;
6771
+ }>;
6772
+ };
6773
+ mounts: Array<{
6774
+ kind: "project";
6775
+ root: "/project";
6776
+ access: "read-write";
6777
+ } | {
6778
+ root: string;
6779
+ digest: string;
6780
+ fileCount: number;
6781
+ byteSize: number;
6782
+ kind: "started-from";
6783
+ access: "read-only";
6784
+ templateId: string;
6785
+ slug: string;
6786
+ name: string;
6787
+ } | {
6788
+ root: string;
6789
+ digest: string;
6790
+ fileCount: number;
6791
+ byteSize: number;
6792
+ kind: "resource";
6793
+ access: "read-only";
6794
+ resourceId: string;
6795
+ name: string;
6796
+ } | {
6797
+ root: string;
6798
+ digest: string;
6799
+ fileCount: number;
6800
+ byteSize: number;
6801
+ kind: "library-template";
6802
+ access: "read-only";
6803
+ templateId: string;
6804
+ slug: string;
6805
+ name: string;
6806
+ }>;
6807
+ libraryManifestDigest: string;
6808
+ createdAt: string;
6809
+ updatedAt: string;
6810
+ createdBy: {
6811
+ userId: UserId;
6812
+ via: "api" | "mcp" | "agent";
6813
+ };
6814
+ updatedBy: {
6815
+ userId: UserId;
6816
+ via: "api" | "mcp" | "agent";
6817
+ };
6818
+ };
6819
+ files: {
6820
+ [key: string]: string;
6821
+ };
6624
6822
  };
6625
- updatedBy: {
6626
- userId: UserId;
6627
- via: "api" | "mcp" | "agent";
6823
+ source: {
6824
+ digest: string;
6825
+ content: string;
6628
6826
  };
6629
6827
  };
6630
6828
  };
6631
- export type TemplateDocumentsReplaceResponse = TemplateDocumentsReplaceResponses[keyof TemplateDocumentsReplaceResponses];
6632
- export type TemplateDocumentsSaveData = {
6633
- body: {
6634
- revision: string;
6635
- };
6829
+ export type TemplatesRestoreWorkspaceResponse = TemplatesRestoreWorkspaceResponses[keyof TemplatesRestoreWorkspaceResponses];
6830
+ export type TemplatesWorkspaceHistoryData = {
6831
+ body?: never;
6636
6832
  path: {
6637
- templateId: TemplateId;
6833
+ id: TemplateId;
6638
6834
  };
6639
- query?: never;
6640
- url: "/v1/template-documents/{templateId}/save";
6835
+ query?: {
6836
+ limit?: string | null | undefined;
6837
+ };
6838
+ url: "/v1/templates/{id}/workspace/history";
6641
6839
  };
6642
- export type TemplateDocumentsSaveErrors = {
6840
+ export type TemplatesWorkspaceHistoryErrors = {
6643
6841
  /**
6644
6842
  * UnauthorizedError
6645
6843
  */
@@ -6656,45 +6854,44 @@ export type TemplateDocumentsSaveErrors = {
6656
6854
  * ConflictError
6657
6855
  */
6658
6856
  409: ConflictError;
6659
- /**
6660
- * ValidationError
6661
- */
6662
- 422: ValidationError;
6663
6857
  /**
6664
6858
  * InternalError
6665
6859
  */
6666
6860
  500: InternalError;
6667
6861
  };
6668
- export type TemplateDocumentsSaveError = TemplateDocumentsSaveErrors[keyof TemplateDocumentsSaveErrors];
6669
- export type TemplateDocumentsSaveResponses = {
6862
+ export type TemplatesWorkspaceHistoryError = TemplatesWorkspaceHistoryErrors[keyof TemplatesWorkspaceHistoryErrors];
6863
+ export type TemplatesWorkspaceHistoryResponses = {
6670
6864
  /**
6671
6865
  * Success
6672
6866
  */
6673
6867
  200: {
6674
- id: string;
6675
- templateId: TemplateId;
6676
- documentRevision: string;
6677
- sourceDigest: string;
6678
- compilerVersion: string;
6679
- createdAt: string;
6680
- versionId: string;
6868
+ projectId: TemplateProjectId;
6869
+ head: string;
6870
+ commits: Array<{
6871
+ commit: string;
6872
+ tree: string;
6873
+ parentCommit: string | null;
6874
+ message: string;
6875
+ committedAt: string;
6876
+ }>;
6877
+ publication: {
6878
+ id: TemplatePublicationId;
6879
+ commit: string;
6880
+ } | null;
6681
6881
  };
6682
6882
  };
6683
- export type TemplateDocumentsSaveResponse = TemplateDocumentsSaveResponses[keyof TemplateDocumentsSaveResponses];
6684
- export type TemplateDocumentsRenderData = {
6883
+ export type TemplatesWorkspaceHistoryResponse = TemplatesWorkspaceHistoryResponses[keyof TemplatesWorkspaceHistoryResponses];
6884
+ export type TemplatesCheckWorkspaceData = {
6685
6885
  body: {
6686
- revision: string;
6687
- variables?: {
6688
- [key: string]: JsonValue;
6689
- } | null | undefined;
6886
+ expectedRevision: string;
6690
6887
  };
6691
6888
  path: {
6692
- templateId: TemplateId;
6889
+ id: TemplateId;
6693
6890
  };
6694
6891
  query?: never;
6695
- url: "/v1/template-documents/{templateId}/render";
6892
+ url: "/v1/templates/{id}/workspace/check";
6696
6893
  };
6697
- export type TemplateDocumentsRenderErrors = {
6894
+ export type TemplatesCheckWorkspaceErrors = {
6698
6895
  /**
6699
6896
  * UnauthorizedError
6700
6897
  */
@@ -6711,43 +6908,97 @@ export type TemplateDocumentsRenderErrors = {
6711
6908
  * ConflictError
6712
6909
  */
6713
6910
  409: ConflictError;
6714
- /**
6715
- * ValidationError
6716
- */
6717
- 422: ValidationError;
6718
6911
  /**
6719
6912
  * InternalError
6720
6913
  */
6721
6914
  500: InternalError;
6722
6915
  };
6723
- export type TemplateDocumentsRenderError = TemplateDocumentsRenderErrors[keyof TemplateDocumentsRenderErrors];
6724
- export type TemplateDocumentsRenderResponses = {
6916
+ export type TemplatesCheckWorkspaceError = TemplatesCheckWorkspaceErrors[keyof TemplatesCheckWorkspaceErrors];
6917
+ export type TemplatesCheckWorkspaceResponses = {
6725
6918
  /**
6726
6919
  * Success
6727
6920
  */
6728
6921
  200: {
6729
- channel: "email";
6730
- subject?: string | null | undefined;
6731
- html?: string | null | undefined;
6732
- text: string;
6733
- missingVariables: Array<string>;
6922
+ projectId: TemplateProjectId;
6923
+ revision: string;
6924
+ entryPath: string;
6925
+ declaration: {
6926
+ codeDigest: string;
6927
+ templateId: string;
6928
+ input: {
6929
+ schema: {
6930
+ [key: string]: JsonValue;
6931
+ };
6932
+ schemaDigest: string;
6933
+ contractDigest: string;
6934
+ };
6935
+ runtime: {
6936
+ now?: number | undefined;
6937
+ randomSeed?: number | undefined;
6938
+ };
6939
+ fixtures: Array<string>;
6940
+ } | null;
6941
+ diagnostics: Array<{
6942
+ code: string;
6943
+ severity: "error" | "warning" | "info";
6944
+ message: string;
6945
+ origins: Array<{
6946
+ fileName: string;
6947
+ lineNumber: number;
6948
+ columnNumber: number;
6949
+ }>;
6950
+ clients?: Array<string> | null | undefined;
6951
+ notes?: string | null | undefined;
6952
+ provenance?: string | null | undefined;
6953
+ fixtures?: Array<string> | null | undefined;
6954
+ occurrences?: Array<Array<{
6955
+ fileName: string;
6956
+ lineNumber: number;
6957
+ columnNumber: number;
6958
+ }>> | null | undefined;
6959
+ compatibility?: {
6960
+ assessment: "risk" | "degradation" | "unverified" | "not-applicable";
6961
+ title: string;
6962
+ } | null | undefined;
6963
+ }>;
6964
+ incompatibilities: Array<{
6965
+ code: string;
6966
+ severity: "error" | "warning" | "info";
6967
+ message: string;
6968
+ origins: Array<{
6969
+ fileName: string;
6970
+ lineNumber: number;
6971
+ columnNumber: number;
6972
+ }>;
6973
+ clients?: Array<string> | null | undefined;
6974
+ notes?: string | null | undefined;
6975
+ provenance?: string | null | undefined;
6976
+ fixtures?: Array<string> | null | undefined;
6977
+ occurrences?: Array<Array<{
6978
+ fileName: string;
6979
+ lineNumber: number;
6980
+ columnNumber: number;
6981
+ }>> | null | undefined;
6982
+ compatibility?: {
6983
+ assessment: "risk" | "degradation" | "unverified" | "not-applicable";
6984
+ title: string;
6985
+ } | null | undefined;
6986
+ }>;
6734
6987
  };
6735
6988
  };
6736
- export type TemplateDocumentsRenderResponse = TemplateDocumentsRenderResponses[keyof TemplateDocumentsRenderResponses];
6737
- export type TemplateDocumentsSpamCheckData = {
6989
+ export type TemplatesCheckWorkspaceResponse = TemplatesCheckWorkspaceResponses[keyof TemplatesCheckWorkspaceResponses];
6990
+ export type TemplatesRenderWorkspaceFixtureData = {
6738
6991
  body: {
6739
- revision: string;
6740
- variables?: {
6741
- [key: string]: JsonValue;
6742
- } | null | undefined;
6992
+ expectedRevision: string;
6993
+ fixture: string;
6743
6994
  };
6744
6995
  path: {
6745
- templateId: TemplateId;
6996
+ id: TemplateId;
6746
6997
  };
6747
6998
  query?: never;
6748
- url: "/v1/template-documents/{templateId}/spam-check";
6999
+ url: "/v1/templates/{id}/workspace/fixtures";
6749
7000
  };
6750
- export type TemplateDocumentsSpamCheckErrors = {
7001
+ export type TemplatesRenderWorkspaceFixtureErrors = {
6751
7002
  /**
6752
7003
  * UnauthorizedError
6753
7004
  */
@@ -6764,56 +7015,125 @@ export type TemplateDocumentsSpamCheckErrors = {
6764
7015
  * ConflictError
6765
7016
  */
6766
7017
  409: ConflictError;
6767
- /**
6768
- * ValidationError
6769
- */
6770
- 422: ValidationError;
6771
7018
  /**
6772
7019
  * InternalError
6773
7020
  */
6774
7021
  500: InternalError;
6775
7022
  };
6776
- export type TemplateDocumentsSpamCheckError = TemplateDocumentsSpamCheckErrors[keyof TemplateDocumentsSpamCheckErrors];
6777
- export type TemplateDocumentsSpamCheckResponses = {
7023
+ export type TemplatesRenderWorkspaceFixtureError = TemplatesRenderWorkspaceFixtureErrors[keyof TemplatesRenderWorkspaceFixtureErrors];
7024
+ export type TemplatesRenderWorkspaceFixtureResponses = {
6778
7025
  /**
6779
7026
  * Success
6780
7027
  */
6781
7028
  200: {
6782
- score: number;
6783
- severity: "low" | "medium" | "high";
6784
- issues: Array<{
6785
- rule: string;
6786
- description: string;
6787
- severity: "low" | "medium" | "high";
6788
- score: number;
6789
- }>;
6790
- recommendations: Array<string>;
6791
- };
6792
- };
6793
- export type TemplateDocumentsSpamCheckResponse = TemplateDocumentsSpamCheckResponses[keyof TemplateDocumentsSpamCheckResponses];
6794
- export type TemplateDocumentsTestSendData = {
6795
- body: {
7029
+ projectId: TemplateProjectId;
6796
7030
  revision: string;
6797
- to: string;
6798
- variables?: {
6799
- [key: string]: JsonValue;
6800
- } | null | undefined;
6801
- };
6802
- path: {
6803
- templateId: TemplateId;
6804
- };
6805
- query?: never;
6806
- url: "/v1/template-documents/{templateId}/send-test";
6807
- };
6808
- export type TemplateDocumentsTestSendErrors = {
6809
- /**
6810
- * UnauthorizedError
6811
- */
6812
- 401: UnauthorizedError;
7031
+ entryPath: string;
7032
+ declaration: {
7033
+ codeDigest: string;
7034
+ templateId: string;
7035
+ input: {
7036
+ schema: {
7037
+ [key: string]: JsonValue;
7038
+ };
7039
+ schemaDigest: string;
7040
+ contractDigest: string;
7041
+ };
7042
+ runtime: {
7043
+ now?: number | undefined;
7044
+ randomSeed?: number | undefined;
7045
+ };
7046
+ fixtures: Array<string>;
7047
+ } | null;
7048
+ diagnostics: Array<{
7049
+ code: string;
7050
+ severity: "error" | "warning" | "info";
7051
+ message: string;
7052
+ origins: Array<{
7053
+ fileName: string;
7054
+ lineNumber: number;
7055
+ columnNumber: number;
7056
+ }>;
7057
+ clients?: Array<string> | null | undefined;
7058
+ notes?: string | null | undefined;
7059
+ provenance?: string | null | undefined;
7060
+ fixtures?: Array<string> | null | undefined;
7061
+ occurrences?: Array<Array<{
7062
+ fileName: string;
7063
+ lineNumber: number;
7064
+ columnNumber: number;
7065
+ }>> | null | undefined;
7066
+ compatibility?: {
7067
+ assessment: "risk" | "degradation" | "unverified" | "not-applicable";
7068
+ title: string;
7069
+ } | null | undefined;
7070
+ }>;
7071
+ incompatibilities: Array<{
7072
+ code: string;
7073
+ severity: "error" | "warning" | "info";
7074
+ message: string;
7075
+ origins: Array<{
7076
+ fileName: string;
7077
+ lineNumber: number;
7078
+ columnNumber: number;
7079
+ }>;
7080
+ clients?: Array<string> | null | undefined;
7081
+ notes?: string | null | undefined;
7082
+ provenance?: string | null | undefined;
7083
+ fixtures?: Array<string> | null | undefined;
7084
+ occurrences?: Array<Array<{
7085
+ fileName: string;
7086
+ lineNumber: number;
7087
+ columnNumber: number;
7088
+ }>> | null | undefined;
7089
+ compatibility?: {
7090
+ assessment: "risk" | "degradation" | "unverified" | "not-applicable";
7091
+ title: string;
7092
+ } | null | undefined;
7093
+ }>;
7094
+ fixture: string;
7095
+ rendered: {
7096
+ subject: string;
7097
+ preheader?: string | undefined;
7098
+ html: string;
7099
+ text: string;
7100
+ selections: Array<{
7101
+ instancePath: string;
7102
+ tag: string;
7103
+ origins: Array<{
7104
+ fileName: string;
7105
+ lineNumber: number;
7106
+ columnNumber: number;
7107
+ }>;
7108
+ authored: boolean;
7109
+ occurrence: number;
7110
+ occurrences: number;
7111
+ parentPath?: string | undefined;
7112
+ start: number;
7113
+ end: number;
7114
+ }>;
7115
+ } | null;
7116
+ };
7117
+ };
7118
+ export type TemplatesRenderWorkspaceFixtureResponse = TemplatesRenderWorkspaceFixtureResponses[keyof TemplatesRenderWorkspaceFixtureResponses];
7119
+ export type TemplatesPublishData = {
7120
+ body: {
7121
+ projectId: TemplateProjectId;
7122
+ commitSha: string;
7123
+ entryPath: string;
7124
+ expectedWorkspaceRevision: string;
7125
+ };
7126
+ path: {
7127
+ id: TemplateId;
7128
+ };
7129
+ query?: never;
7130
+ url: "/v1/templates/{id}/publications";
7131
+ };
7132
+ export type TemplatesPublishErrors = {
6813
7133
  /**
6814
- * PaymentRequiredError
7134
+ * UnauthorizedError
6815
7135
  */
6816
- 402: PaymentRequiredError;
7136
+ 401: UnauthorizedError;
6817
7137
  /**
6818
7138
  * ForbiddenError
6819
7139
  */
@@ -6831,117 +7151,375 @@ export type TemplateDocumentsTestSendErrors = {
6831
7151
  */
6832
7152
  422: ValidationError;
6833
7153
  /**
6834
- * RateLimitedError
7154
+ * InternalError
6835
7155
  */
6836
- 429: RateLimitedError;
7156
+ 500: InternalError;
7157
+ };
7158
+ export type TemplatesPublishError = TemplatesPublishErrors[keyof TemplatesPublishErrors];
7159
+ export type TemplatesPublishResponses = {
6837
7160
  /**
6838
- * InternalError | WebhookEnqueueError
7161
+ * Success
6839
7162
  */
6840
- 500: InternalError | WebhookEnqueueError;
7163
+ 201: {
7164
+ id: TemplatePublicationId;
7165
+ organizationId: OrganizationId;
7166
+ projectId: TemplateProjectId;
7167
+ templateId: TemplateId;
7168
+ inputContractId: TemplateInputContractId;
7169
+ commitSha: string;
7170
+ treeSha: string;
7171
+ entryPath: string;
7172
+ buildIdentity: string;
7173
+ manifest: {
7174
+ templateKey: string;
7175
+ executable: {
7176
+ codeDigest: string;
7177
+ bytes: number;
7178
+ };
7179
+ input: {
7180
+ schemaDigest: string;
7181
+ contractDigest: string;
7182
+ };
7183
+ environment: {
7184
+ locale: string;
7185
+ timeZone: "UTC";
7186
+ now?: number | undefined;
7187
+ randomSeed?: number | undefined;
7188
+ compiler: string;
7189
+ runtime: string;
7190
+ checker: string;
7191
+ lockKind: "bun" | "npm";
7192
+ lockDigest: string;
7193
+ digest: string;
7194
+ };
7195
+ assets: {
7196
+ base: string;
7197
+ entries: Array<{
7198
+ path: string;
7199
+ fileName: string;
7200
+ digest: string;
7201
+ bytes: number;
7202
+ contentType: string;
7203
+ url: string;
7204
+ }>;
7205
+ };
7206
+ source: {
7207
+ commitSha: string;
7208
+ treeSha: string;
7209
+ entryPath: string;
7210
+ treeDigest: string;
7211
+ };
7212
+ };
7213
+ executable: {
7214
+ key: string;
7215
+ digest: string;
7216
+ };
7217
+ assets: Array<{
7218
+ path: string;
7219
+ fileName: string;
7220
+ digest: string;
7221
+ bytes: number;
7222
+ contentType: string;
7223
+ url: string;
7224
+ }>;
7225
+ warnings: Array<{
7226
+ code: string;
7227
+ severity: "error" | "warning" | "info";
7228
+ message: string;
7229
+ origins: Array<{
7230
+ fileName: string;
7231
+ lineNumber: number;
7232
+ columnNumber: number;
7233
+ }>;
7234
+ clients?: Array<string> | null | undefined;
7235
+ notes?: string | null | undefined;
7236
+ provenance?: string | null | undefined;
7237
+ fixtures?: Array<string> | null | undefined;
7238
+ occurrences?: Array<Array<{
7239
+ fileName: string;
7240
+ lineNumber: number;
7241
+ columnNumber: number;
7242
+ }>> | null | undefined;
7243
+ compatibility?: {
7244
+ assessment: "risk" | "degradation" | "unverified" | "not-applicable";
7245
+ title: string;
7246
+ } | null | undefined;
7247
+ }>;
7248
+ incompatibilities: Array<{
7249
+ code: string;
7250
+ severity: "error" | "warning" | "info";
7251
+ message: string;
7252
+ origins: Array<{
7253
+ fileName: string;
7254
+ lineNumber: number;
7255
+ columnNumber: number;
7256
+ }>;
7257
+ clients?: Array<string> | null | undefined;
7258
+ notes?: string | null | undefined;
7259
+ provenance?: string | null | undefined;
7260
+ fixtures?: Array<string> | null | undefined;
7261
+ occurrences?: Array<Array<{
7262
+ fileName: string;
7263
+ lineNumber: number;
7264
+ columnNumber: number;
7265
+ }>> | null | undefined;
7266
+ compatibility?: {
7267
+ assessment: "risk" | "degradation" | "unverified" | "not-applicable";
7268
+ title: string;
7269
+ } | null | undefined;
7270
+ }>;
7271
+ status: string;
7272
+ publishedAt: string;
7273
+ publishedBy: string | null;
7274
+ createdAt: string;
7275
+ };
7276
+ };
7277
+ export type TemplatesPublishResponse = TemplatesPublishResponses[keyof TemplatesPublishResponses];
7278
+ export type TemplatesGetPublicationData = {
7279
+ body?: never;
7280
+ path: {
7281
+ id: TemplateId;
7282
+ publicationId: TemplatePublicationId;
7283
+ };
7284
+ query?: never;
7285
+ url: "/v1/templates/{id}/publications/{publicationId}";
7286
+ };
7287
+ export type TemplatesGetPublicationErrors = {
6841
7288
  /**
6842
- * BillingProviderError
7289
+ * UnauthorizedError
6843
7290
  */
6844
- 502: BillingProviderError;
7291
+ 401: UnauthorizedError;
7292
+ /**
7293
+ * ForbiddenError
7294
+ */
7295
+ 403: ForbiddenError;
7296
+ /**
7297
+ * ResourceNotFoundError
7298
+ */
7299
+ 404: ResourceNotFoundError;
7300
+ /**
7301
+ * InternalError
7302
+ */
7303
+ 500: InternalError;
6845
7304
  };
6846
- export type TemplateDocumentsTestSendError = TemplateDocumentsTestSendErrors[keyof TemplateDocumentsTestSendErrors];
6847
- export type TemplateDocumentsTestSendResponses = {
7305
+ export type TemplatesGetPublicationError = TemplatesGetPublicationErrors[keyof TemplatesGetPublicationErrors];
7306
+ export type TemplatesGetPublicationResponses = {
6848
7307
  /**
6849
7308
  * Success
6850
7309
  */
6851
7310
  200: {
6852
- messageId: string;
6853
- status: string;
6854
- rendered: {
6855
- channel: "email";
6856
- subject?: string | null | undefined;
6857
- html?: string | null | undefined;
6858
- text: string;
6859
- missingVariables: Array<string>;
7311
+ id: TemplatePublicationId;
7312
+ organizationId: OrganizationId;
7313
+ projectId: TemplateProjectId;
7314
+ templateId: TemplateId;
7315
+ inputContractId: TemplateInputContractId;
7316
+ commitSha: string;
7317
+ treeSha: string;
7318
+ entryPath: string;
7319
+ buildIdentity: string;
7320
+ manifest: {
7321
+ templateKey: string;
7322
+ executable: {
7323
+ codeDigest: string;
7324
+ bytes: number;
7325
+ };
7326
+ input: {
7327
+ schemaDigest: string;
7328
+ contractDigest: string;
7329
+ };
7330
+ environment: {
7331
+ locale: string;
7332
+ timeZone: "UTC";
7333
+ now?: number | undefined;
7334
+ randomSeed?: number | undefined;
7335
+ compiler: string;
7336
+ runtime: string;
7337
+ checker: string;
7338
+ lockKind: "bun" | "npm";
7339
+ lockDigest: string;
7340
+ digest: string;
7341
+ };
7342
+ assets: {
7343
+ base: string;
7344
+ entries: Array<{
7345
+ path: string;
7346
+ fileName: string;
7347
+ digest: string;
7348
+ bytes: number;
7349
+ contentType: string;
7350
+ url: string;
7351
+ }>;
7352
+ };
7353
+ source: {
7354
+ commitSha: string;
7355
+ treeSha: string;
7356
+ entryPath: string;
7357
+ treeDigest: string;
7358
+ };
6860
7359
  };
6861
- };
6862
- };
6863
- export type TemplateDocumentsTestSendResponse = TemplateDocumentsTestSendResponses[keyof TemplateDocumentsTestSendResponses];
6864
- export type TemplateDocumentsSendData = {
6865
- body: {
6866
- revision: string;
6867
- to: Array<{
6868
- address: string;
6869
- name?: string | null | undefined;
7360
+ executable: {
7361
+ key: string;
7362
+ digest: string;
7363
+ };
7364
+ assets: Array<{
7365
+ path: string;
7366
+ fileName: string;
7367
+ digest: string;
7368
+ bytes: number;
7369
+ contentType: string;
7370
+ url: string;
6870
7371
  }>;
6871
- variables?: {
6872
- [key: string]: JsonValue;
6873
- } | null | undefined;
6874
- schedule?: string | null | null | undefined;
7372
+ warnings: Array<{
7373
+ code: string;
7374
+ severity: "error" | "warning" | "info";
7375
+ message: string;
7376
+ origins: Array<{
7377
+ fileName: string;
7378
+ lineNumber: number;
7379
+ columnNumber: number;
7380
+ }>;
7381
+ clients?: Array<string> | null | undefined;
7382
+ notes?: string | null | undefined;
7383
+ provenance?: string | null | undefined;
7384
+ fixtures?: Array<string> | null | undefined;
7385
+ occurrences?: Array<Array<{
7386
+ fileName: string;
7387
+ lineNumber: number;
7388
+ columnNumber: number;
7389
+ }>> | null | undefined;
7390
+ compatibility?: {
7391
+ assessment: "risk" | "degradation" | "unverified" | "not-applicable";
7392
+ title: string;
7393
+ } | null | undefined;
7394
+ }>;
7395
+ incompatibilities: Array<{
7396
+ code: string;
7397
+ severity: "error" | "warning" | "info";
7398
+ message: string;
7399
+ origins: Array<{
7400
+ fileName: string;
7401
+ lineNumber: number;
7402
+ columnNumber: number;
7403
+ }>;
7404
+ clients?: Array<string> | null | undefined;
7405
+ notes?: string | null | undefined;
7406
+ provenance?: string | null | undefined;
7407
+ fixtures?: Array<string> | null | undefined;
7408
+ occurrences?: Array<Array<{
7409
+ fileName: string;
7410
+ lineNumber: number;
7411
+ columnNumber: number;
7412
+ }>> | null | undefined;
7413
+ compatibility?: {
7414
+ assessment: "risk" | "degradation" | "unverified" | "not-applicable";
7415
+ title: string;
7416
+ } | null | undefined;
7417
+ }>;
7418
+ status: string;
7419
+ publishedAt: string;
7420
+ publishedBy: string | null;
7421
+ createdAt: string;
6875
7422
  };
7423
+ };
7424
+ export type TemplatesGetPublicationResponse = TemplatesGetPublicationResponses[keyof TemplatesGetPublicationResponses];
7425
+ export type TemplatesListInputContractsData = {
7426
+ body?: never;
6876
7427
  path: {
6877
- templateId: TemplateId;
7428
+ id: TemplateId;
6878
7429
  };
6879
7430
  query?: never;
6880
- url: "/v1/template-documents/{templateId}/send";
7431
+ url: "/v1/templates/{id}/input-contracts";
6881
7432
  };
6882
- export type TemplateDocumentsSendErrors = {
7433
+ export type TemplatesListInputContractsErrors = {
6883
7434
  /**
6884
7435
  * UnauthorizedError
6885
7436
  */
6886
7437
  401: UnauthorizedError;
6887
7438
  /**
6888
- * PaymentRequiredError
6889
- */
6890
- 402: PaymentRequiredError;
6891
- /**
6892
- * ForbiddenError | FlagDisabledError
7439
+ * ForbiddenError
6893
7440
  */
6894
- 403: FlagDisabledError | ForbiddenError;
7441
+ 403: ForbiddenError;
6895
7442
  /**
6896
7443
  * ResourceNotFoundError
6897
7444
  */
6898
7445
  404: ResourceNotFoundError;
6899
7446
  /**
6900
- * ConflictError
7447
+ * InternalError
6901
7448
  */
6902
- 409: ConflictError;
7449
+ 500: InternalError;
7450
+ };
7451
+ export type TemplatesListInputContractsError = TemplatesListInputContractsErrors[keyof TemplatesListInputContractsErrors];
7452
+ export type TemplatesListInputContractsResponses = {
6903
7453
  /**
6904
- * ValidationError
7454
+ * Success
6905
7455
  */
6906
- 422: ValidationError;
7456
+ 200: Array<{
7457
+ id: TemplateInputContractId;
7458
+ organizationId: OrganizationId;
7459
+ templateId: TemplateId;
7460
+ version: number;
7461
+ validationDigest: string;
7462
+ schema: {
7463
+ [key: string]: JsonValue;
7464
+ };
7465
+ createdAt: string;
7466
+ }>;
7467
+ };
7468
+ export type TemplatesListInputContractsResponse = TemplatesListInputContractsResponses[keyof TemplatesListInputContractsResponses];
7469
+ export type TemplatesGetInputContractData = {
7470
+ body?: never;
7471
+ path: {
7472
+ id: TemplateId;
7473
+ inputContractId: TemplateInputContractId;
7474
+ };
7475
+ query?: never;
7476
+ url: "/v1/templates/{id}/input-contracts/{inputContractId}";
7477
+ };
7478
+ export type TemplatesGetInputContractErrors = {
6907
7479
  /**
6908
- * RateLimitedError
7480
+ * UnauthorizedError
6909
7481
  */
6910
- 429: RateLimitedError;
7482
+ 401: UnauthorizedError;
6911
7483
  /**
6912
- * InternalError | WebhookEnqueueError
7484
+ * ForbiddenError
6913
7485
  */
6914
- 500: InternalError | WebhookEnqueueError;
7486
+ 403: ForbiddenError;
6915
7487
  /**
6916
- * ExternalServiceError | BillingProviderError
7488
+ * ResourceNotFoundError
7489
+ */
7490
+ 404: ResourceNotFoundError;
7491
+ /**
7492
+ * InternalError
6917
7493
  */
6918
- 502: ExternalServiceError | BillingProviderError;
7494
+ 500: InternalError;
6919
7495
  };
6920
- export type TemplateDocumentsSendError = TemplateDocumentsSendErrors[keyof TemplateDocumentsSendErrors];
6921
- export type TemplateDocumentsSendResponses = {
7496
+ export type TemplatesGetInputContractError = TemplatesGetInputContractErrors[keyof TemplatesGetInputContractErrors];
7497
+ export type TemplatesGetInputContractResponses = {
6922
7498
  /**
6923
7499
  * Success
6924
7500
  */
6925
7501
  200: {
6926
- kind: "sent";
6927
- messageId: string;
6928
- acceptedAt: string;
6929
- } | {
6930
- kind: "scheduled";
6931
- scheduledMessageId: string;
6932
- scheduledFor: string;
7502
+ id: TemplateInputContractId;
7503
+ organizationId: OrganizationId;
7504
+ templateId: TemplateId;
7505
+ version: number;
7506
+ validationDigest: string;
7507
+ schema: {
7508
+ [key: string]: JsonValue;
7509
+ };
7510
+ createdAt: string;
6933
7511
  };
6934
7512
  };
6935
- export type TemplateDocumentsSendResponse = TemplateDocumentsSendResponses[keyof TemplateDocumentsSendResponses];
6936
- export type TemplateDocumentsVersionsData = {
7513
+ export type TemplatesGetInputContractResponse = TemplatesGetInputContractResponses[keyof TemplatesGetInputContractResponses];
7514
+ export type TemplatesGetGitRepositoryData = {
6937
7515
  body?: never;
6938
7516
  path: {
6939
- templateId: TemplateId;
7517
+ id: TemplateId;
6940
7518
  };
6941
7519
  query?: never;
6942
- url: "/v1/template-documents/{templateId}/versions";
7520
+ url: "/v1/templates/{id}/repository";
6943
7521
  };
6944
- export type TemplateDocumentsVersionsErrors = {
7522
+ export type TemplatesGetGitRepositoryErrors = {
6945
7523
  /**
6946
7524
  * UnauthorizedError
6947
7525
  */
@@ -6958,46 +7536,33 @@ export type TemplateDocumentsVersionsErrors = {
6958
7536
  * ConflictError
6959
7537
  */
6960
7538
  409: ConflictError;
6961
- /**
6962
- * ValidationError
6963
- */
6964
- 422: ValidationError;
6965
7539
  /**
6966
7540
  * InternalError
6967
7541
  */
6968
7542
  500: InternalError;
6969
7543
  };
6970
- export type TemplateDocumentsVersionsError = TemplateDocumentsVersionsErrors[keyof TemplateDocumentsVersionsErrors];
6971
- export type TemplateDocumentsVersionsResponses = {
7544
+ export type TemplatesGetGitRepositoryError = TemplatesGetGitRepositoryErrors[keyof TemplatesGetGitRepositoryErrors];
7545
+ export type TemplatesGetGitRepositoryResponses = {
6972
7546
  /**
6973
7547
  * Success
6974
7548
  */
6975
7549
  200: {
6976
- versions: Array<{
6977
- versionId: TemplateSourceVersionId;
6978
- version: number;
6979
- status: string;
6980
- isCurrent: boolean;
6981
- materializationId: string;
6982
- documentRevision: string;
6983
- sourceDigest: string;
6984
- compilerVersion: string;
6985
- publishedAt: string | null;
6986
- archivedAt: string | null;
6987
- createdAt: string;
6988
- }>;
7550
+ remote: string;
7551
+ defaultBranch: string;
6989
7552
  };
6990
7553
  };
6991
- export type TemplateDocumentsVersionsResponse = TemplateDocumentsVersionsResponses[keyof TemplateDocumentsVersionsResponses];
6992
- export type TemplateDocumentsPublishData = {
6993
- body?: never;
7554
+ export type TemplatesGetGitRepositoryResponse = TemplatesGetGitRepositoryResponses[keyof TemplatesGetGitRepositoryResponses];
7555
+ export type TemplatesIssueGitCredentialData = {
7556
+ body: {
7557
+ scope: "read" | "write";
7558
+ };
6994
7559
  path: {
6995
- templateId: TemplateId;
7560
+ id: TemplateId;
6996
7561
  };
6997
7562
  query?: never;
6998
- url: "/v1/template-documents/{templateId}/publish";
7563
+ url: "/v1/templates/{id}/repository/credentials";
6999
7564
  };
7000
- export type TemplateDocumentsPublishErrors = {
7565
+ export type TemplatesIssueGitCredentialErrors = {
7001
7566
  /**
7002
7567
  * UnauthorizedError
7003
7568
  */
@@ -7014,34 +7579,45 @@ export type TemplateDocumentsPublishErrors = {
7014
7579
  * ConflictError
7015
7580
  */
7016
7581
  409: ConflictError;
7017
- /**
7018
- * ValidationError
7019
- */
7020
- 422: ValidationError;
7021
7582
  /**
7022
7583
  * InternalError
7023
7584
  */
7024
7585
  500: InternalError;
7025
7586
  };
7026
- export type TemplateDocumentsPublishError = TemplateDocumentsPublishErrors[keyof TemplateDocumentsPublishErrors];
7027
- export type TemplateDocumentsPublishResponses = {
7587
+ export type TemplatesIssueGitCredentialError = TemplatesIssueGitCredentialErrors[keyof TemplatesIssueGitCredentialErrors];
7588
+ export type TemplatesIssueGitCredentialResponses = {
7028
7589
  /**
7029
7590
  * Success
7030
7591
  */
7031
7592
  200: {
7032
- versionId: string;
7593
+ remote: string;
7594
+ username: "x-access-token";
7595
+ password: string;
7596
+ expiresAt: string;
7033
7597
  };
7034
7598
  };
7035
- export type TemplateDocumentsPublishResponse = TemplateDocumentsPublishResponses[keyof TemplateDocumentsPublishResponses];
7036
- export type TemplateDocumentsUnpublishData = {
7037
- body?: never;
7599
+ export type TemplatesIssueGitCredentialResponse = TemplatesIssueGitCredentialResponses[keyof TemplatesIssueGitCredentialResponses];
7600
+ export type TemplatesAttachWorkspaceResourceData = {
7601
+ body: {
7602
+ expectedRevision: string;
7603
+ resource: {
7604
+ resourceId: string;
7605
+ name: string;
7606
+ files: Array<{
7607
+ path: string;
7608
+ mediaType: string;
7609
+ contentBase64: string;
7610
+ }>;
7611
+ };
7612
+ idempotencyKey: string;
7613
+ };
7038
7614
  path: {
7039
- templateId: TemplateId;
7615
+ id: TemplateId;
7040
7616
  };
7041
7617
  query?: never;
7042
- url: "/v1/template-documents/{templateId}/unpublish";
7618
+ url: "/v1/templates/{id}/workspace/resources";
7043
7619
  };
7044
- export type TemplateDocumentsUnpublishErrors = {
7620
+ export type TemplatesAttachWorkspaceResourceErrors = {
7045
7621
  /**
7046
7622
  * UnauthorizedError
7047
7623
  */
@@ -7058,37 +7634,107 @@ export type TemplateDocumentsUnpublishErrors = {
7058
7634
  * ConflictError
7059
7635
  */
7060
7636
  409: ConflictError;
7061
- /**
7062
- * ValidationError
7063
- */
7064
- 422: ValidationError;
7065
7637
  /**
7066
7638
  * InternalError
7067
7639
  */
7068
7640
  500: InternalError;
7069
7641
  };
7070
- export type TemplateDocumentsUnpublishError = TemplateDocumentsUnpublishErrors[keyof TemplateDocumentsUnpublishErrors];
7071
- export type TemplateDocumentsUnpublishResponses = {
7642
+ export type TemplatesAttachWorkspaceResourceError = TemplatesAttachWorkspaceResourceErrors[keyof TemplatesAttachWorkspaceResourceErrors];
7643
+ export type TemplatesAttachWorkspaceResourceResponses = {
7072
7644
  /**
7073
7645
  * Success
7074
7646
  */
7075
7647
  200: {
7076
- versionId: string;
7648
+ projectId: TemplateProjectId;
7649
+ organizationId: OrganizationId | null;
7650
+ ownerEpoch: number;
7651
+ repositoryName: string;
7652
+ defaultBranch: string;
7653
+ baseCommit: string;
7654
+ remoteHead: string;
7655
+ pendingRemoteHead: string | null;
7656
+ revision: string;
7657
+ overlay: {
7658
+ [key: string]: string | null;
7659
+ };
7660
+ assetChanges: Array<{
7661
+ path: string;
7662
+ status: "added" | "modified" | "deleted";
7663
+ }>;
7664
+ conflicts: Array<{
7665
+ path: string;
7666
+ base: string | null;
7667
+ draft: string | null;
7668
+ main: string | null;
7669
+ }>;
7670
+ provenance: {
7671
+ references: Array<{
7672
+ kind: string;
7673
+ digest: string;
7674
+ locator?: string | undefined;
7675
+ }>;
7676
+ };
7677
+ mounts: Array<{
7678
+ kind: "project";
7679
+ root: "/project";
7680
+ access: "read-write";
7681
+ } | {
7682
+ root: string;
7683
+ digest: string;
7684
+ fileCount: number;
7685
+ byteSize: number;
7686
+ kind: "started-from";
7687
+ access: "read-only";
7688
+ templateId: string;
7689
+ slug: string;
7690
+ name: string;
7691
+ } | {
7692
+ root: string;
7693
+ digest: string;
7694
+ fileCount: number;
7695
+ byteSize: number;
7696
+ kind: "resource";
7697
+ access: "read-only";
7698
+ resourceId: string;
7699
+ name: string;
7700
+ } | {
7701
+ root: string;
7702
+ digest: string;
7703
+ fileCount: number;
7704
+ byteSize: number;
7705
+ kind: "library-template";
7706
+ access: "read-only";
7707
+ templateId: string;
7708
+ slug: string;
7709
+ name: string;
7710
+ }>;
7711
+ libraryManifestDigest: string;
7712
+ createdAt: string;
7713
+ updatedAt: string;
7714
+ createdBy: {
7715
+ userId: UserId;
7716
+ via: "api" | "mcp" | "agent";
7717
+ };
7718
+ updatedBy: {
7719
+ userId: UserId;
7720
+ via: "api" | "mcp" | "agent";
7721
+ };
7077
7722
  };
7078
7723
  };
7079
- export type TemplateDocumentsUnpublishResponse = TemplateDocumentsUnpublishResponses[keyof TemplateDocumentsUnpublishResponses];
7080
- export type TemplateDocumentsRestoreData = {
7724
+ export type TemplatesAttachWorkspaceResourceResponse = TemplatesAttachWorkspaceResourceResponses[keyof TemplatesAttachWorkspaceResourceResponses];
7725
+ export type TemplatesRemoveWorkspaceResourceData = {
7081
7726
  body: {
7082
7727
  expectedRevision: string;
7728
+ idempotencyKey: string;
7083
7729
  };
7084
7730
  path: {
7085
- templateId: TemplateId;
7086
- versionId: TemplateSourceVersionId;
7731
+ id: TemplateId;
7732
+ resourceId: string;
7087
7733
  };
7088
7734
  query?: never;
7089
- url: "/v1/template-documents/{templateId}/versions/{versionId}/restore";
7735
+ url: "/v1/templates/{id}/workspace/resources/{resourceId}/remove";
7090
7736
  };
7091
- export type TemplateDocumentsRestoreErrors = {
7737
+ export type TemplatesRemoveWorkspaceResourceErrors = {
7092
7738
  /**
7093
7739
  * UnauthorizedError
7094
7740
  */
@@ -7105,27 +7751,81 @@ export type TemplateDocumentsRestoreErrors = {
7105
7751
  * ConflictError
7106
7752
  */
7107
7753
  409: ConflictError;
7108
- /**
7109
- * ValidationError
7110
- */
7111
- 422: ValidationError;
7112
7754
  /**
7113
7755
  * InternalError
7114
7756
  */
7115
7757
  500: InternalError;
7116
7758
  };
7117
- export type TemplateDocumentsRestoreError = TemplateDocumentsRestoreErrors[keyof TemplateDocumentsRestoreErrors];
7118
- export type TemplateDocumentsRestoreResponses = {
7759
+ export type TemplatesRemoveWorkspaceResourceError = TemplatesRemoveWorkspaceResourceErrors[keyof TemplatesRemoveWorkspaceResourceErrors];
7760
+ export type TemplatesRemoveWorkspaceResourceResponses = {
7119
7761
  /**
7120
7762
  * Success
7121
7763
  */
7122
7764
  200: {
7123
- templateId: TemplateId;
7124
- organizationId: OrganizationId;
7125
- channel: "email";
7126
- source: string;
7765
+ projectId: TemplateProjectId;
7766
+ organizationId: OrganizationId | null;
7767
+ ownerEpoch: number;
7768
+ repositoryName: string;
7769
+ defaultBranch: string;
7770
+ baseCommit: string;
7771
+ remoteHead: string;
7772
+ pendingRemoteHead: string | null;
7127
7773
  revision: string;
7128
- sourceDigest: string;
7774
+ overlay: {
7775
+ [key: string]: string | null;
7776
+ };
7777
+ assetChanges: Array<{
7778
+ path: string;
7779
+ status: "added" | "modified" | "deleted";
7780
+ }>;
7781
+ conflicts: Array<{
7782
+ path: string;
7783
+ base: string | null;
7784
+ draft: string | null;
7785
+ main: string | null;
7786
+ }>;
7787
+ provenance: {
7788
+ references: Array<{
7789
+ kind: string;
7790
+ digest: string;
7791
+ locator?: string | undefined;
7792
+ }>;
7793
+ };
7794
+ mounts: Array<{
7795
+ kind: "project";
7796
+ root: "/project";
7797
+ access: "read-write";
7798
+ } | {
7799
+ root: string;
7800
+ digest: string;
7801
+ fileCount: number;
7802
+ byteSize: number;
7803
+ kind: "started-from";
7804
+ access: "read-only";
7805
+ templateId: string;
7806
+ slug: string;
7807
+ name: string;
7808
+ } | {
7809
+ root: string;
7810
+ digest: string;
7811
+ fileCount: number;
7812
+ byteSize: number;
7813
+ kind: "resource";
7814
+ access: "read-only";
7815
+ resourceId: string;
7816
+ name: string;
7817
+ } | {
7818
+ root: string;
7819
+ digest: string;
7820
+ fileCount: number;
7821
+ byteSize: number;
7822
+ kind: "library-template";
7823
+ access: "read-only";
7824
+ templateId: string;
7825
+ slug: string;
7826
+ name: string;
7827
+ }>;
7828
+ libraryManifestDigest: string;
7129
7829
  createdAt: string;
7130
7830
  updatedAt: string;
7131
7831
  createdBy: {
@@ -7138,7 +7838,7 @@ export type TemplateDocumentsRestoreResponses = {
7138
7838
  };
7139
7839
  };
7140
7840
  };
7141
- export type TemplateDocumentsRestoreResponse = TemplateDocumentsRestoreResponses[keyof TemplateDocumentsRestoreResponses];
7841
+ export type TemplatesRemoveWorkspaceResourceResponse = TemplatesRemoveWorkspaceResourceResponses[keyof TemplatesRemoveWorkspaceResourceResponses];
7142
7842
  export type DesignGetData = {
7143
7843
  body?: never;
7144
7844
  path?: never;