@distilled.cloud/cloudflare 0.26.0 → 0.27.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 (60) hide show
  1. package/lib/client/api.d.ts.map +1 -1
  2. package/lib/client/api.js +15 -7
  3. package/lib/client/api.js.map +1 -1
  4. package/lib/services/ai-gateway.d.ts +7 -1
  5. package/lib/services/ai-gateway.d.ts.map +1 -1
  6. package/lib/services/ai-gateway.js +3 -1
  7. package/lib/services/ai-gateway.js.map +1 -1
  8. package/lib/services/aisearch.d.ts +7 -1
  9. package/lib/services/aisearch.d.ts.map +1 -1
  10. package/lib/services/aisearch.js +6 -0
  11. package/lib/services/aisearch.js.map +1 -1
  12. package/lib/services/api-gateway.d.ts +1 -1
  13. package/lib/services/api-gateway.d.ts.map +1 -1
  14. package/lib/services/api-gateway.js +1 -1
  15. package/lib/services/api-gateway.js.map +1 -1
  16. package/lib/services/cache.d.ts +7 -1
  17. package/lib/services/cache.d.ts.map +1 -1
  18. package/lib/services/cache.js +6 -1
  19. package/lib/services/cache.js.map +1 -1
  20. package/lib/services/iam.d.ts +7 -1
  21. package/lib/services/iam.d.ts.map +1 -1
  22. package/lib/services/iam.js +6 -1
  23. package/lib/services/iam.js.map +1 -1
  24. package/lib/services/page-rules.d.ts +7 -1
  25. package/lib/services/page-rules.d.ts.map +1 -1
  26. package/lib/services/page-rules.js +6 -1
  27. package/lib/services/page-rules.js.map +1 -1
  28. package/lib/services/pages.d.ts +8 -8
  29. package/lib/services/pages.d.ts.map +1 -1
  30. package/lib/services/pages.js +408 -396
  31. package/lib/services/pages.js.map +1 -1
  32. package/lib/services/r2.d.ts +7 -1
  33. package/lib/services/r2.d.ts.map +1 -1
  34. package/lib/services/r2.js +13 -1
  35. package/lib/services/r2.js.map +1 -1
  36. package/lib/services/schema-validation.d.ts +7 -1
  37. package/lib/services/schema-validation.d.ts.map +1 -1
  38. package/lib/services/schema-validation.js +6 -1
  39. package/lib/services/schema-validation.js.map +1 -1
  40. package/lib/services/workers.d.ts +7 -1
  41. package/lib/services/workers.d.ts.map +1 -1
  42. package/lib/services/workers.js +6 -1
  43. package/lib/services/workers.js.map +1 -1
  44. package/lib/services/zero-trust.d.ts +9 -3
  45. package/lib/services/zero-trust.d.ts.map +1 -1
  46. package/lib/services/zero-trust.js +8 -6
  47. package/lib/services/zero-trust.js.map +1 -1
  48. package/package.json +2 -2
  49. package/src/client/api.ts +15 -8
  50. package/src/services/ai-gateway.ts +13 -2
  51. package/src/services/aisearch.ts +10 -0
  52. package/src/services/api-gateway.ts +2 -2
  53. package/src/services/cache.ts +11 -2
  54. package/src/services/iam.ts +13 -2
  55. package/src/services/page-rules.ts +13 -2
  56. package/src/services/pages.ts +780 -760
  57. package/src/services/r2.ts +20 -2
  58. package/src/services/schema-validation.ts +10 -2
  59. package/src/services/workers.ts +11 -2
  60. package/src/services/zero-trust.ts +23 -9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@distilled.cloud/cloudflare",
3
- "version": "0.26.0",
3
+ "version": "0.27.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/alchemy-run/distilled",
@@ -64,7 +64,7 @@
64
64
  "specs:update": "git -C specs/cloudflare-typescript fetch && git -C specs/cloudflare-typescript checkout main && git -C specs/cloudflare-typescript pull"
65
65
  },
66
66
  "dependencies": {
67
- "@distilled.cloud/core": "0.26.0"
67
+ "@distilled.cloud/core": "0.27.0"
68
68
  },
69
69
  "devDependencies": {
70
70
  "@effect/platform-node": ">=4.0.0-beta.66 || >=4.0.0",
package/src/client/api.ts CHANGED
@@ -112,14 +112,21 @@ const GLOBAL_ERROR_CODE_MAP: Record<
112
112
  // globally keeps tests for unknown-resource cases off UnknownCloudflareError.
113
113
  7003: (message) => new InvalidRoute({ code: 7003, message }),
114
114
  // 1000: dual-use code. Cloudflare uses it for several unrelated conditions,
115
- // but the "Request timeout" variant is unambiguous from the message and is
116
- // a transient, retryable failure. Map only that variant to GatewayTimeout
117
- // (retryable + server error); fall back to UnknownCloudflareError for
118
- // anything else carried under code 1000 to preserve existing behavior.
119
- 1000: (message) =>
120
- /\btimeout\b/i.test(message)
121
- ? new GatewayTimeout({ message })
122
- : new UnknownCloudflareError({ code: 1000, message }),
115
+ // each unambiguous from the message and each a transient, retryable server
116
+ // failure:
117
+ // - "Request timeout" -> GatewayTimeout
118
+ // - "Internal Server Error" -> InternalServerError
119
+ // Fall back to UnknownCloudflareError for anything else carried under code
120
+ // 1000 to preserve existing behavior.
121
+ 1000: (message) => {
122
+ if (/\btimeout\b/i.test(message)) {
123
+ return new GatewayTimeout({ message });
124
+ }
125
+ if (/internal (server )?error/i.test(message)) {
126
+ return new InternalServerError({ message });
127
+ }
128
+ return new UnknownCloudflareError({ code: 1000, message });
129
+ },
123
130
  };
124
131
 
125
132
  /**
@@ -16,6 +16,14 @@ import { type DefaultErrors } from "../errors.ts";
16
16
  // Errors
17
17
  // =============================================================================
18
18
 
19
+ export class AiGatewaySpendingLimitDeprecated extends T.applyErrorMatchers(
20
+ Schema.TaggedErrorClass<AiGatewaySpendingLimitDeprecated>()(
21
+ "AiGatewaySpendingLimitDeprecated",
22
+ { code: Schema.Number, message: Schema.String },
23
+ ),
24
+ [{ message: { includes: "spending limits are deprecated" } }],
25
+ ) {}
26
+
19
27
  export class DatasetNameAlreadyExists extends T.applyErrorMatchers(
20
28
  Schema.TaggedErrorClass<DatasetNameAlreadyExists>()(
21
29
  "DatasetNameAlreadyExists",
@@ -4265,7 +4273,10 @@ export const CreateBillingSpendingLimitResponse =
4265
4273
  Schema.Unknown.pipe(T.ResponsePath("result")),
4266
4274
  ) as unknown as Schema.Schema<CreateBillingSpendingLimitResponse>;
4267
4275
 
4268
- export type CreateBillingSpendingLimitError = DefaultErrors | NoManualTopup;
4276
+ export type CreateBillingSpendingLimitError =
4277
+ | DefaultErrors
4278
+ | NoManualTopup
4279
+ | AiGatewaySpendingLimitDeprecated;
4269
4280
 
4270
4281
  export const createBillingSpendingLimit: API.OperationMethod<
4271
4282
  CreateBillingSpendingLimitRequest,
@@ -4275,7 +4286,7 @@ export const createBillingSpendingLimit: API.OperationMethod<
4275
4286
  > = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
4276
4287
  input: CreateBillingSpendingLimitRequest,
4277
4288
  output: CreateBillingSpendingLimitResponse,
4278
- errors: [NoManualTopup],
4289
+ errors: [NoManualTopup, AiGatewaySpendingLimitDeprecated],
4279
4290
  }));
4280
4291
 
4281
4292
  export interface DeleteBillingSpendingLimitRequest {
@@ -60,6 +60,14 @@ export class InvalidTokenCredentials extends T.applyErrorMatchers(
60
60
  [{ code: 7012 }, { status: 400, message: { includes: "invalid_token" } }],
61
61
  ) {}
62
62
 
63
+ export class MissingSitemap extends T.applyErrorMatchers(
64
+ Schema.TaggedErrorClass<MissingSitemap>()("MissingSitemap", {
65
+ code: Schema.Number,
66
+ message: Schema.String,
67
+ }),
68
+ [{ status: 400, message: { includes: "missing_sitemap" } }],
69
+ ) {}
70
+
63
71
  export class NamespaceAlreadyExists extends T.applyErrorMatchers(
64
72
  Schema.TaggedErrorClass<NamespaceAlreadyExists>()("NamespaceAlreadyExists", {
65
73
  code: Schema.Number,
@@ -10505,6 +10513,7 @@ export type CreateNamespaceInstanceError =
10505
10513
  | InstanceAlreadyExists
10506
10514
  | InvalidTokenCredentials
10507
10515
  | WebCrawlerDomainNotOwned
10516
+ | MissingSitemap
10508
10517
  | Forbidden;
10509
10518
 
10510
10519
  export const createNamespaceInstance: API.OperationMethod<
@@ -10523,6 +10532,7 @@ export const createNamespaceInstance: API.OperationMethod<
10523
10532
  InstanceAlreadyExists,
10524
10533
  InvalidTokenCredentials,
10525
10534
  WebCrawlerDomainNotOwned,
10535
+ MissingSitemap,
10526
10536
  Forbidden,
10527
10537
  ],
10528
10538
  }));
@@ -5135,7 +5135,7 @@ export const ListUserSchemasResponse =
5135
5135
  }).pipe(Schema.encodeKeys({ result: "result", resultInfo: "result_info" })),
5136
5136
  ) as unknown as Schema.Schema<ListUserSchemasResponse>;
5137
5137
 
5138
- export type ListUserSchemasError = DefaultErrors | Forbidden;
5138
+ export type ListUserSchemasError = DefaultErrors | ZonePurged | Forbidden;
5139
5139
 
5140
5140
  export const listUserSchemas: API.PaginatedOperationMethod<
5141
5141
  ListUserSchemasRequest,
@@ -5145,7 +5145,7 @@ export const listUserSchemas: API.PaginatedOperationMethod<
5145
5145
  > = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
5146
5146
  input: ListUserSchemasRequest,
5147
5147
  output: ListUserSchemasResponse,
5148
- errors: [Forbidden],
5148
+ errors: [ZonePurged, Forbidden],
5149
5149
  pagination: {
5150
5150
  mode: "page",
5151
5151
  inputToken: "page",
@@ -43,6 +43,14 @@ export class SettingUnavailableForPlan extends T.applyErrorMatchers(
43
43
  ],
44
44
  ) {}
45
45
 
46
+ export class Unauthorized extends T.applyErrorMatchers(
47
+ Schema.TaggedErrorClass<Unauthorized>()("Unauthorized", {
48
+ code: Schema.Number,
49
+ message: Schema.String,
50
+ }),
51
+ [{ status: 401 }],
52
+ ) {}
53
+
46
54
  export class VariantsNotConfigured extends T.applyErrorMatchers(
47
55
  Schema.TaggedErrorClass<VariantsNotConfigured>()("VariantsNotConfigured", {
48
56
  code: Schema.Number,
@@ -1022,7 +1030,8 @@ export const GetRegionalTieredCacheResponse =
1022
1030
  export type GetRegionalTieredCacheError =
1023
1031
  | DefaultErrors
1024
1032
  | SettingUnavailableForPlan
1025
- | Forbidden;
1033
+ | Forbidden
1034
+ | Unauthorized;
1026
1035
 
1027
1036
  export const getRegionalTieredCache: API.OperationMethod<
1028
1037
  GetRegionalTieredCacheRequest,
@@ -1032,7 +1041,7 @@ export const getRegionalTieredCache: API.OperationMethod<
1032
1041
  > = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
1033
1042
  input: GetRegionalTieredCacheRequest,
1034
1043
  output: GetRegionalTieredCacheResponse,
1035
- errors: [SettingUnavailableForPlan, Forbidden],
1044
+ errors: [SettingUnavailableForPlan, Forbidden, Unauthorized],
1036
1045
  }));
1037
1046
 
1038
1047
  export interface PatchRegionalTieredCacheRequest {
@@ -32,6 +32,14 @@ export class InvalidMember extends T.applyErrorMatchers(
32
32
  [{ code: 400 }],
33
33
  ) {}
34
34
 
35
+ export class PolicyValidationFailed extends T.applyErrorMatchers(
36
+ Schema.TaggedErrorClass<PolicyValidationFailed>()("PolicyValidationFailed", {
37
+ code: Schema.Number,
38
+ message: Schema.String,
39
+ }),
40
+ [{ status: 400, message: { includes: "Policy validation failed" } }],
41
+ ) {}
42
+
35
43
  export class ResourceGroupNotFound extends T.applyErrorMatchers(
36
44
  Schema.TaggedErrorClass<ResourceGroupNotFound>()("ResourceGroupNotFound", {
37
45
  code: Schema.Number,
@@ -3247,7 +3255,10 @@ export const ListUserGroupMembersResponse =
3247
3255
  }).pipe(Schema.encodeKeys({ result: "result", resultInfo: "result_info" })),
3248
3256
  ) as unknown as Schema.Schema<ListUserGroupMembersResponse>;
3249
3257
 
3250
- export type ListUserGroupMembersError = DefaultErrors | UserGroupNotFound;
3258
+ export type ListUserGroupMembersError =
3259
+ | DefaultErrors
3260
+ | UserGroupNotFound
3261
+ | PolicyValidationFailed;
3251
3262
 
3252
3263
  export const listUserGroupMembers: API.PaginatedOperationMethod<
3253
3264
  ListUserGroupMembersRequest,
@@ -3257,7 +3268,7 @@ export const listUserGroupMembers: API.PaginatedOperationMethod<
3257
3268
  > = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
3258
3269
  input: ListUserGroupMembersRequest,
3259
3270
  output: ListUserGroupMembersResponse,
3260
- errors: [UserGroupNotFound],
3271
+ errors: [UserGroupNotFound, PolicyValidationFailed],
3261
3272
  pagination: {
3262
3273
  mode: "page",
3263
3274
  inputToken: "page",
@@ -24,6 +24,14 @@ export class Forbidden extends T.applyErrorMatchers(
24
24
  [{ status: 403 }],
25
25
  ) {}
26
26
 
27
+ export class InvalidZoneIdentifier extends T.applyErrorMatchers(
28
+ Schema.TaggedErrorClass<InvalidZoneIdentifier>()("InvalidZoneIdentifier", {
29
+ code: Schema.Number,
30
+ message: Schema.String,
31
+ }),
32
+ [{ status: 400, message: { includes: "Invalid zone identifier" } }],
33
+ ) {}
34
+
27
35
  export class PageRuleNotFound extends T.applyErrorMatchers(
28
36
  Schema.TaggedErrorClass<PageRuleNotFound>()("PageRuleNotFound", {
29
37
  code: Schema.Number,
@@ -1611,7 +1619,10 @@ export const ListPageRulesResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.suspend(
1611
1619
  ).pipe(T.ResponsePath("result")),
1612
1620
  ) as unknown as Schema.Schema<ListPageRulesResponse>;
1613
1621
 
1614
- export type ListPageRulesError = DefaultErrors | Forbidden;
1622
+ export type ListPageRulesError =
1623
+ | DefaultErrors
1624
+ | Forbidden
1625
+ | InvalidZoneIdentifier;
1615
1626
 
1616
1627
  export const listPageRules: API.OperationMethod<
1617
1628
  ListPageRulesRequest,
@@ -1621,7 +1632,7 @@ export const listPageRules: API.OperationMethod<
1621
1632
  > = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
1622
1633
  input: ListPageRulesRequest,
1623
1634
  output: ListPageRulesResponse,
1624
- errors: [Forbidden],
1635
+ errors: [Forbidden, InvalidZoneIdentifier],
1625
1636
  }));
1626
1637
 
1627
1638
  export interface CreatePageRuleRequest {