alchemy 0.93.6 → 0.93.9

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 (78) hide show
  1. package/bin/alchemy.js +1966 -1825
  2. package/bin/alchemy.ts +2 -0
  3. package/bin/commands/state.ts +58 -0
  4. package/bin/services/execute-alchemy.ts +9 -1
  5. package/lib/alchemy.d.ts.map +1 -1
  6. package/lib/alchemy.js +7 -0
  7. package/lib/alchemy.js.map +1 -1
  8. package/lib/cloudflare/access-application.d.ts +204 -0
  9. package/lib/cloudflare/access-application.d.ts.map +1 -0
  10. package/lib/cloudflare/access-application.js +205 -0
  11. package/lib/cloudflare/access-application.js.map +1 -0
  12. package/lib/cloudflare/access-group.d.ts +115 -0
  13. package/lib/cloudflare/access-group.d.ts.map +1 -0
  14. package/lib/cloudflare/access-group.js +147 -0
  15. package/lib/cloudflare/access-group.js.map +1 -0
  16. package/lib/cloudflare/access-identity-provider.d.ts +261 -0
  17. package/lib/cloudflare/access-identity-provider.d.ts.map +1 -0
  18. package/lib/cloudflare/access-identity-provider.js +229 -0
  19. package/lib/cloudflare/access-identity-provider.js.map +1 -0
  20. package/lib/cloudflare/access-policy.d.ts +168 -0
  21. package/lib/cloudflare/access-policy.d.ts.map +1 -0
  22. package/lib/cloudflare/access-policy.js +176 -0
  23. package/lib/cloudflare/access-policy.js.map +1 -0
  24. package/lib/cloudflare/access-rule.d.ts +248 -0
  25. package/lib/cloudflare/access-rule.d.ts.map +1 -0
  26. package/lib/cloudflare/access-rule.js +37 -0
  27. package/lib/cloudflare/access-rule.js.map +1 -0
  28. package/lib/cloudflare/access-service-token.d.ts +86 -0
  29. package/lib/cloudflare/access-service-token.d.ts.map +1 -0
  30. package/lib/cloudflare/access-service-token.js +127 -0
  31. package/lib/cloudflare/access-service-token.js.map +1 -0
  32. package/lib/cloudflare/index.d.ts +6 -0
  33. package/lib/cloudflare/index.d.ts.map +1 -1
  34. package/lib/cloudflare/index.js +6 -0
  35. package/lib/cloudflare/index.js.map +1 -1
  36. package/lib/cloudflare/miniflare/tunnel.d.ts.map +1 -1
  37. package/lib/cloudflare/miniflare/tunnel.js +10 -5
  38. package/lib/cloudflare/miniflare/tunnel.js.map +1 -1
  39. package/lib/state/file-system-state-store.d.ts +1 -0
  40. package/lib/state/file-system-state-store.d.ts.map +1 -1
  41. package/lib/state/file-system-state-store.js +16 -0
  42. package/lib/state/file-system-state-store.js.map +1 -1
  43. package/lib/state/operations.d.ts +1 -0
  44. package/lib/state/operations.d.ts.map +1 -1
  45. package/lib/state/operations.js +24 -0
  46. package/lib/state/operations.js.map +1 -1
  47. package/lib/state/proxy.d.ts +1 -0
  48. package/lib/state/proxy.d.ts.map +1 -1
  49. package/lib/state/proxy.js +3 -0
  50. package/lib/state/proxy.js.map +1 -1
  51. package/lib/state-cli.d.ts +9 -0
  52. package/lib/state-cli.d.ts.map +1 -0
  53. package/lib/state-cli.js +110 -0
  54. package/lib/state-cli.js.map +1 -0
  55. package/lib/state.d.ts +2 -0
  56. package/lib/state.d.ts.map +1 -1
  57. package/lib/stripe/price.d.ts.map +1 -1
  58. package/lib/stripe/price.js +13 -3
  59. package/lib/stripe/price.js.map +1 -1
  60. package/package.json +1 -1
  61. package/src/alchemy.ts +9 -0
  62. package/src/cloudflare/access-application.ts +489 -0
  63. package/src/cloudflare/access-group.ts +271 -0
  64. package/src/cloudflare/access-identity-provider.ts +584 -0
  65. package/src/cloudflare/access-policy.ts +392 -0
  66. package/src/cloudflare/access-rule.ts +307 -0
  67. package/src/cloudflare/access-service-token.ts +255 -0
  68. package/src/cloudflare/index.ts +6 -0
  69. package/src/cloudflare/miniflare/tunnel.ts +10 -5
  70. package/src/state/file-system-state-store.ts +16 -0
  71. package/src/state/operations.ts +22 -0
  72. package/src/state/proxy.ts +4 -0
  73. package/src/state-cli.ts +134 -0
  74. package/src/state.ts +2 -0
  75. package/src/stripe/price.ts +13 -3
  76. package/workers/cloudflare-state-store.js +17 -0
  77. package/workers/tunnel-proxy.js +3 -1
  78. package/workers/tunnel-proxy.ts +2 -0
@@ -0,0 +1,248 @@
1
+ import type { AccessGroup } from "./access-group.ts";
2
+ import type { AccessIdentityProvider } from "./access-identity-provider.ts";
3
+ import type { AccessServiceToken } from "./access-service-token.ts";
4
+ /**
5
+ * Match anyone with this email address.
6
+ */
7
+ export interface EmailAccessRule {
8
+ email: {
9
+ email: string;
10
+ };
11
+ }
12
+ /**
13
+ * Match anyone with an email address ending in this domain.
14
+ */
15
+ export interface EmailDomainAccessRule {
16
+ email_domain: {
17
+ domain: string;
18
+ };
19
+ }
20
+ /**
21
+ * Match a single IP address (IPv4 or IPv6) or CIDR.
22
+ */
23
+ export interface IpAccessRule {
24
+ ip: {
25
+ ip: string;
26
+ };
27
+ }
28
+ /**
29
+ * Match an IP from a managed Cloudflare IP list.
30
+ */
31
+ export interface IpListAccessRule {
32
+ ip_list: {
33
+ id: string;
34
+ };
35
+ }
36
+ /**
37
+ * Match every user. Rarely useful in `include` — typical in `exclude` or as a fallback.
38
+ */
39
+ export interface EveryoneAccessRule {
40
+ everyone: Record<string, never>;
41
+ }
42
+ /**
43
+ * Match a member of the referenced Access group.
44
+ */
45
+ export interface GroupAccessRule {
46
+ group: {
47
+ id: string | AccessGroup;
48
+ };
49
+ }
50
+ /**
51
+ * Match requests authenticating with a specific service token.
52
+ */
53
+ export interface ServiceTokenAccessRule {
54
+ service_token: {
55
+ token_id: string | AccessServiceToken;
56
+ };
57
+ }
58
+ /**
59
+ * Match any valid service token in the account.
60
+ */
61
+ export interface AnyValidServiceTokenAccessRule {
62
+ any_valid_service_token: Record<string, never>;
63
+ }
64
+ /**
65
+ * Match an Azure AD group by object ID.
66
+ */
67
+ export interface AzureGroupAccessRule {
68
+ azure: {
69
+ id: string;
70
+ identity_provider_id: string | AccessIdentityProvider;
71
+ };
72
+ }
73
+ /**
74
+ * Match an Okta group by name.
75
+ */
76
+ export interface OktaGroupAccessRule {
77
+ okta: {
78
+ name: string;
79
+ identity_provider_id: string | AccessIdentityProvider;
80
+ };
81
+ }
82
+ /**
83
+ * Match a SAML attribute returned by the IdP.
84
+ */
85
+ export interface SamlAttributeAccessRule {
86
+ saml: {
87
+ attribute_name: string;
88
+ attribute_value: string;
89
+ identity_provider_id: string | AccessIdentityProvider;
90
+ };
91
+ }
92
+ /**
93
+ * Match a Google Workspace group by email.
94
+ */
95
+ export interface GsuiteGroupAccessRule {
96
+ gsuite: {
97
+ email: string;
98
+ identity_provider_id: string | AccessIdentityProvider;
99
+ };
100
+ }
101
+ /**
102
+ * Match a member of a GitHub organization or team.
103
+ */
104
+ export interface GithubOrganizationAccessRule {
105
+ github_organization: {
106
+ name: string;
107
+ team?: string;
108
+ identity_provider_id: string | AccessIdentityProvider;
109
+ };
110
+ }
111
+ /**
112
+ * Match any client presenting a valid mTLS certificate.
113
+ */
114
+ export interface CertificateAccessRule {
115
+ certificate: Record<string, never>;
116
+ }
117
+ /**
118
+ * Match an mTLS certificate with the given Common Name.
119
+ */
120
+ export interface CommonNameAccessRule {
121
+ common_name: {
122
+ common_name: string;
123
+ };
124
+ }
125
+ /**
126
+ * Match a device that satisfies a configured posture check.
127
+ */
128
+ export interface DevicePostureAccessRule {
129
+ device_posture: {
130
+ integration_uid: string;
131
+ };
132
+ }
133
+ /**
134
+ * Match by authentication method (e.g., `mfa`, `pwd`).
135
+ */
136
+ export interface AuthMethodAccessRule {
137
+ auth_method: {
138
+ auth_method: string;
139
+ };
140
+ }
141
+ /**
142
+ * Match users who logged in via a specific identity provider.
143
+ */
144
+ export interface LoginMethodAccessRule {
145
+ login_method: {
146
+ id: string | AccessIdentityProvider;
147
+ };
148
+ }
149
+ /**
150
+ * Match an authentication context (e.g., Azure AD CA).
151
+ */
152
+ export interface AuthenticationContextAccessRule {
153
+ authentication_context: {
154
+ id: string;
155
+ ac_id: string;
156
+ identity_provider_id: string | AccessIdentityProvider;
157
+ };
158
+ }
159
+ /**
160
+ * Match an OIDC claim returned by the IdP.
161
+ */
162
+ export interface OidcClaimAccessRule {
163
+ oidc_claim: {
164
+ name: string;
165
+ value: string;
166
+ identity_provider_id: string | AccessIdentityProvider;
167
+ };
168
+ }
169
+ /**
170
+ * Match users at or above the given Cloudflare user-risk score.
171
+ */
172
+ export interface UserRiskScoreAccessRule {
173
+ user_risk_score: {
174
+ provider: string;
175
+ risk_level: "low" | "medium" | "high";
176
+ };
177
+ }
178
+ /**
179
+ * Delegate evaluation to an external endpoint.
180
+ */
181
+ export interface ExternalEvaluationAccessRule {
182
+ external_evaluation: {
183
+ evaluate_url: string;
184
+ keys_url: string;
185
+ };
186
+ }
187
+ /**
188
+ * Match by ISO 3166 country code (legacy alias of `geo`).
189
+ */
190
+ export interface CountryAccessRule {
191
+ country: {
192
+ country_code: string;
193
+ };
194
+ }
195
+ /**
196
+ * Match by ISO 3166 country code.
197
+ */
198
+ export interface GeoAccessRule {
199
+ geo: {
200
+ country_code: string;
201
+ };
202
+ }
203
+ /**
204
+ * Match a hostname/domain.
205
+ */
206
+ export interface DomainAccessRule {
207
+ domain: {
208
+ domain: string;
209
+ };
210
+ }
211
+ /**
212
+ * Match a token issued by a linked Access application.
213
+ */
214
+ export interface LinkedAppTokenAccessRule {
215
+ linked_app_token: {
216
+ app_uid: string;
217
+ };
218
+ }
219
+ /**
220
+ * Match an SSO authentication context (Azure AD CA equivalent).
221
+ */
222
+ export interface AccessAuthContextAccessRule {
223
+ access_auth_context: {
224
+ id: string;
225
+ ac_id: string;
226
+ identity_provider_id: string | AccessIdentityProvider;
227
+ };
228
+ }
229
+ /**
230
+ * A single Access rule expression, used in `include`, `exclude`, and `require`
231
+ * arrays of {@link AccessPolicy} and {@link AccessGroup}.
232
+ *
233
+ * Each rule is a single-key object whose key is the rule type and whose value
234
+ * is the rule-specific configuration. Mirrors Cloudflare's wire format so
235
+ * expressions can be copy-pasted directly from the Cloudflare docs.
236
+ *
237
+ * @see https://developers.cloudflare.com/cloudflare-one/policies/access/
238
+ */
239
+ export type AccessRule = EmailAccessRule | EmailDomainAccessRule | IpAccessRule | IpListAccessRule | EveryoneAccessRule | GroupAccessRule | ServiceTokenAccessRule | AnyValidServiceTokenAccessRule | AzureGroupAccessRule | OktaGroupAccessRule | SamlAttributeAccessRule | GsuiteGroupAccessRule | GithubOrganizationAccessRule | CertificateAccessRule | CommonNameAccessRule | DevicePostureAccessRule | AuthMethodAccessRule | LoginMethodAccessRule | AuthenticationContextAccessRule | OidcClaimAccessRule | UserRiskScoreAccessRule | ExternalEvaluationAccessRule | CountryAccessRule | GeoAccessRule | DomainAccessRule | LinkedAppTokenAccessRule | AccessAuthContextAccessRule;
240
+ /**
241
+ * Serialize an {@link AccessRule} to its wire JSON shape, replacing any lifted
242
+ * Resource references (`group.id`, `service_token.token_id`,
243
+ * `*.identity_provider_id`, `login_method.id`) with the resource's `id`.
244
+ *
245
+ * @internal
246
+ */
247
+ export declare function serializeAccessRule(rule: AccessRule): Record<string, unknown>;
248
+ //# sourceMappingURL=access-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-rule.d.ts","sourceRoot":"","sources":["../../src/cloudflare/access-rule.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAAA;KAAE,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,oBAAoB,EAAE,MAAM,GAAG,sBAAsB,CAAC;KACvD,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,oBAAoB,EAAE,MAAM,GAAG,sBAAsB,CAAC;KACvD,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE;QACJ,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,GAAG,sBAAsB,CAAC;KACvD,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,oBAAoB,EAAE,MAAM,GAAG,sBAAsB,CAAC;KACvD,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,oBAAoB,EAAE,MAAM,GAAG,sBAAsB,CAAC;KACvD,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,sBAAsB,CAAA;KAAE,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,sBAAsB,EAAE;QACtB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,oBAAoB,EAAE,MAAM,GAAG,sBAAsB,CAAC;KACvD,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,oBAAoB,EAAE,MAAM,GAAG,sBAAsB,CAAC;KACvD,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;KACvC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,EAAE;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,oBAAoB,EAAE,MAAM,GAAG,sBAAsB,CAAC;KACvD,CAAC;CACH;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAClB,eAAe,GACf,qBAAqB,GACrB,YAAY,GACZ,gBAAgB,GAChB,kBAAkB,GAClB,eAAe,GACf,sBAAsB,GACtB,8BAA8B,GAC9B,oBAAoB,GACpB,mBAAmB,GACnB,uBAAuB,GACvB,qBAAqB,GACrB,4BAA4B,GAC5B,qBAAqB,GACrB,oBAAoB,GACpB,uBAAuB,GACvB,oBAAoB,GACpB,qBAAqB,GACrB,+BAA+B,GAC/B,mBAAmB,GACnB,uBAAuB,GACvB,4BAA4B,GAC5B,iBAAiB,GACjB,aAAa,GACb,gBAAgB,GAChB,wBAAwB,GACxB,2BAA2B,CAAC;AAEhC;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoB7E"}
@@ -0,0 +1,37 @@
1
+ import { ResourceKind } from "../resource.js";
2
+ /**
3
+ * Serialize an {@link AccessRule} to its wire JSON shape, replacing any lifted
4
+ * Resource references (`group.id`, `service_token.token_id`,
5
+ * `*.identity_provider_id`, `login_method.id`) with the resource's `id`.
6
+ *
7
+ * @internal
8
+ */
9
+ export function serializeAccessRule(rule) {
10
+ const entries = Object.entries(rule);
11
+ if (entries.length !== 1) {
12
+ throw new Error(`Invalid AccessRule: expected exactly one key, got ${entries.length}`);
13
+ }
14
+ const [key, value] = entries[0];
15
+ if (typeof value !== "object" || value === null) {
16
+ return { [key]: value };
17
+ }
18
+ const serialized = {};
19
+ for (const [field, fieldValue] of Object.entries(value)) {
20
+ serialized[field] = isResourceRef(fieldValue)
21
+ ? fieldValue.id
22
+ : fieldValue;
23
+ }
24
+ return { [key]: serialized };
25
+ }
26
+ /**
27
+ * True for Alchemy Resource objects (carry the {@link ResourceKind} symbol),
28
+ * false for plain literal values — including future rule shapes that may nest
29
+ * literal config objects.
30
+ */
31
+ function isResourceRef(value) {
32
+ return (!!value &&
33
+ typeof value === "object" &&
34
+ !Array.isArray(value) &&
35
+ value[ResourceKind] !== undefined);
36
+ }
37
+ //# sourceMappingURL=access-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-rule.js","sourceRoot":"","sources":["../../src/cloudflare/access-rule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAyQ9C;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAgB;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,qDAAqD,OAAO,CAAC,MAAM,EAAE,CACtE,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;IACD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAC9C,KAAgC,CACjC,EAAE,CAAC;QACF,UAAU,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC;YAC3C,CAAC,CAAE,UAA6B,CAAC,EAAE;YACnC,CAAC,CAAC,UAAU,CAAC;IACjB,CAAC;IACD,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAiC,CAAC,YAAY,CAAC,KAAK,SAAS,CAC/D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,86 @@
1
+ import type { Context } from "../context.ts";
2
+ import type { Secret } from "../secret.ts";
3
+ import { type CloudflareApiOptions } from "./api.ts";
4
+ /**
5
+ * Properties for creating or updating an {@link AccessServiceToken}.
6
+ */
7
+ export interface AccessServiceTokenProps extends CloudflareApiOptions {
8
+ /**
9
+ * Display name of the service token.
10
+ *
11
+ * @default ${app}-${stage}-${id}
12
+ */
13
+ name?: string;
14
+ /**
15
+ * How long the token is valid for. Format: a Cloudflare duration string
16
+ * such as `"24h"`, `"30d"`, or `"8760h"` (one year).
17
+ *
18
+ * @default "8760h"
19
+ */
20
+ duration?: string;
21
+ /**
22
+ * Adopt an existing service token with the same name instead of failing
23
+ * with a duplicate-name error.
24
+ *
25
+ * Note: when adopting, the `clientSecret` cannot be recovered — the output
26
+ * `clientSecret` will be `undefined`. Recreate the resource (or rotate via
27
+ * the Cloudflare dashboard) if you need a new secret.
28
+ *
29
+ * @default false
30
+ */
31
+ adopt?: boolean;
32
+ /**
33
+ * Whether to delete the token when removed from Alchemy.
34
+ *
35
+ * @default true
36
+ */
37
+ delete?: boolean;
38
+ }
39
+ /**
40
+ * Output for an {@link AccessServiceToken}.
41
+ */
42
+ export type AccessServiceToken = Omit<AccessServiceTokenProps, "delete" | "adopt"> & {
43
+ /** Cloudflare-assigned token UUID. */
44
+ id: string;
45
+ /** Display name of the token. */
46
+ name: string;
47
+ /**
48
+ * Value sent in the `CF-Access-Client-Id` header when authenticating.
49
+ */
50
+ clientId: string;
51
+ /**
52
+ * Value sent in the `CF-Access-Client-Secret` header when authenticating.
53
+ * **Returned only on creation** — `undefined` for adopted tokens.
54
+ */
55
+ clientSecret?: Secret;
56
+ /** ISO 8601 creation timestamp. */
57
+ createdAt: string;
58
+ /** ISO 8601 last-update timestamp. */
59
+ updatedAt: string;
60
+ };
61
+ /**
62
+ * Type guard for {@link AccessServiceToken}.
63
+ */
64
+ export declare function isAccessServiceToken(resource: any): resource is AccessServiceToken;
65
+ /**
66
+ * Creates a Cloudflare Zero Trust [Access service token](https://developers.cloudflare.com/cloudflare-one/identity/service-tokens/)
67
+ * for machine-to-machine authentication against Access-protected applications.
68
+ *
69
+ * The returned `clientSecret` is only available on creation — store it
70
+ * immediately. Adopted tokens have `clientSecret: undefined`.
71
+ *
72
+ * @example
73
+ * // Basic service token (defaults to 1 year duration)
74
+ * const token = await AccessServiceToken("ci-token", {
75
+ * name: "ci-runner",
76
+ * });
77
+ *
78
+ * @example
79
+ * // Custom duration
80
+ * const shortLived = await AccessServiceToken("preview", {
81
+ * name: "preview-deploy-token",
82
+ * duration: "720h", // 30 days
83
+ * });
84
+ */
85
+ export declare const AccessServiceToken: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<AccessServiceToken>, id: string, props: AccessServiceTokenProps) => Promise<AccessServiceToken>);
86
+ //# sourceMappingURL=access-service-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-service-token.d.ts","sourceRoot":"","sources":["../../src/cloudflare/access-service-token.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAO3C,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,uBAAuB,EACvB,QAAQ,GAAG,OAAO,CACnB,GAAG;IACF,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,GAAG,GACZ,QAAQ,IAAI,kBAAkB,CAEhC;AAYD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,kBAAkB,yFAGrB,OAAO,CAAC,kBAAkB,CAAC,MAC7B,MAAM,SACH,uBAAuB,KAC7B,OAAO,CAAC,kBAAkB,CAAC,CAiE/B,CAAC"}
@@ -0,0 +1,127 @@
1
+ import { alchemy } from "../alchemy.js";
2
+ import { Resource, ResourceKind } from "../resource.js";
3
+ import { logger } from "../util/logger.js";
4
+ import { isCloudflareApiError } from "./api-error.js";
5
+ import { extractCloudflareResult, } from "./api-response.js";
6
+ import { createCloudflareApi, } from "./api.js";
7
+ /**
8
+ * Type guard for {@link AccessServiceToken}.
9
+ */
10
+ export function isAccessServiceToken(resource) {
11
+ return resource?.[ResourceKind] === "cloudflare::AccessServiceToken";
12
+ }
13
+ /**
14
+ * Creates a Cloudflare Zero Trust [Access service token](https://developers.cloudflare.com/cloudflare-one/identity/service-tokens/)
15
+ * for machine-to-machine authentication against Access-protected applications.
16
+ *
17
+ * The returned `clientSecret` is only available on creation — store it
18
+ * immediately. Adopted tokens have `clientSecret: undefined`.
19
+ *
20
+ * @example
21
+ * // Basic service token (defaults to 1 year duration)
22
+ * const token = await AccessServiceToken("ci-token", {
23
+ * name: "ci-runner",
24
+ * });
25
+ *
26
+ * @example
27
+ * // Custom duration
28
+ * const shortLived = await AccessServiceToken("preview", {
29
+ * name: "preview-deploy-token",
30
+ * duration: "720h", // 30 days
31
+ * });
32
+ */
33
+ export const AccessServiceToken = Resource("cloudflare::AccessServiceToken", async function (id, props) {
34
+ const api = await createCloudflareApi(props);
35
+ const name = props.name ?? this.scope.createPhysicalName(id);
36
+ const basePath = `/accounts/${api.accountId}/access/service_tokens`;
37
+ if (this.phase === "delete") {
38
+ if (this.output?.id && props.delete !== false) {
39
+ await deleteAccessServiceToken(api, this.output.id);
40
+ }
41
+ return this.destroy();
42
+ }
43
+ const body = { name };
44
+ if (props.duration)
45
+ body.duration = props.duration;
46
+ let token;
47
+ if (this.phase === "update" && this.output?.id) {
48
+ token = await extractCloudflareResult(`update access service token "${name}"`, api.put(`${basePath}/${this.output.id}`, body));
49
+ }
50
+ else {
51
+ const adopt = props.adopt ?? this.scope.adopt;
52
+ try {
53
+ token = await extractCloudflareResult(`create access service token "${name}"`, api.post(basePath, body));
54
+ }
55
+ catch (err) {
56
+ if (adopt && isAccessDuplicateNameError(err)) {
57
+ const existing = await findAccessServiceTokenByName(api, name);
58
+ if (!existing) {
59
+ throw new Error(`Service token "${name}" already exists but could not be found for adoption.`, { cause: err });
60
+ }
61
+ logger.log(`Adopting existing access service token "${name}" (${existing.id})`);
62
+ token = await extractCloudflareResult(`adopt access service token "${name}"`, api.put(`${basePath}/${existing.id}`, body));
63
+ }
64
+ else {
65
+ throw err;
66
+ }
67
+ }
68
+ }
69
+ // clientSecret is only returned on creation; retain on subsequent updates.
70
+ const clientSecret = token.client_secret
71
+ ? alchemy.secret(token.client_secret)
72
+ : this.output?.clientSecret;
73
+ return {
74
+ id: token.id,
75
+ name: token.name,
76
+ clientId: token.client_id,
77
+ clientSecret,
78
+ duration: token.duration,
79
+ createdAt: token.created_at,
80
+ updatedAt: token.updated_at,
81
+ };
82
+ });
83
+ /**
84
+ * Cloudflare returns error code 12132 ("Access service token already exists")
85
+ * for duplicate names.
86
+ */
87
+ function isAccessDuplicateNameError(err) {
88
+ if (isCloudflareApiError(err, { status: 409 }) ||
89
+ isCloudflareApiError(err, { status: 400 })) {
90
+ const data = err.errorData;
91
+ if (Array.isArray(data) &&
92
+ data.some((e) => "message" in e && /already exists/i.test(String(e.message)))) {
93
+ return true;
94
+ }
95
+ }
96
+ return false;
97
+ }
98
+ /**
99
+ * Look up an existing service token by name across paginated results.
100
+ */
101
+ async function findAccessServiceTokenByName(api, name) {
102
+ let page = 1;
103
+ const perPage = 50;
104
+ while (true) {
105
+ const response = await api.get(`/accounts/${api.accountId}/access/service_tokens?page=${page}&per_page=${perPage}`);
106
+ if (!response.ok)
107
+ return null;
108
+ const data = (await response.json());
109
+ const match = data.result.find((t) => t.name === name);
110
+ if (match)
111
+ return match;
112
+ const info = data.result_info;
113
+ if (!info || info.page * info.per_page >= info.total_count)
114
+ return null;
115
+ page++;
116
+ }
117
+ }
118
+ /**
119
+ * Delete a service token. No-op on 404.
120
+ */
121
+ async function deleteAccessServiceToken(api, tokenId) {
122
+ const response = await api.delete(`/accounts/${api.accountId}/access/service_tokens/${tokenId}`);
123
+ if (!response.ok && response.status !== 404) {
124
+ logger.error(`Error deleting access service token ${tokenId}: ${response.status} ${response.statusText}`);
125
+ }
126
+ }
127
+ //# sourceMappingURL=access-service-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-service-token.js","sourceRoot":"","sources":["../../src/cloudflare/access-service-token.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
+ export * from "./access-application.ts";
2
+ export * from "./access-group.ts";
3
+ export * from "./access-identity-provider.ts";
4
+ export * from "./access-policy.ts";
5
+ export * from "./access-rule.ts";
6
+ export * from "./access-service-token.ts";
1
7
  export * from "./account-api-token.ts";
2
8
  export * from "./account-id.ts";
3
9
  export * from "./ai-crawler.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
1
  /// <reference types="@cloudflare/workers-types" />
2
+ export * from "./access-application.js";
3
+ export * from "./access-group.js";
4
+ export * from "./access-identity-provider.js";
5
+ export * from "./access-policy.js";
6
+ export * from "./access-rule.js";
7
+ export * from "./access-service-token.js";
2
8
  export * from "./account-api-token.js";
3
9
  export * from "./account-id.js";
4
10
  export * from "./ai-crawler.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/miniflare/tunnel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,WAAW,CAAC;AAG5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAa/C,MAAM,WAAW,MAAM;IACrB;;;OAGG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE;QACvB,GAAG,EAAE,aAAa,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,wBAAsB,YAAY,CAChC,YAAY,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,GAC/C,OAAO,CAAC,MAAM,CAAC,CAwDjB"}
1
+ {"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/miniflare/tunnel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,WAAW,CAAC;AAG5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAa/C,MAAM,WAAW,MAAM;IACrB;;;OAGG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE;QACvB,GAAG,EAAE,aAAa,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,wBAAsB,YAAY,CAChC,YAAY,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,GAC/C,OAAO,CAAC,MAAM,CAAC,CA6DjB"}
@@ -11,11 +11,16 @@ export async function createTunnel(getMiniflare) {
11
11
  getMiniflare,
12
12
  mode: "remote",
13
13
  transformRequest: (request) => {
14
- if (request.url.origin === remote.origin) {
15
- request.url.protocol = proxy.url.protocol;
16
- request.url.host = proxy.url.host;
17
- request.url.port = proxy.url.port;
18
- request.headers.set("host", proxy.url.host);
14
+ const originalUrl = request.headers.get("alchemy-original-url");
15
+ if (originalUrl) {
16
+ const parsed = new URL(originalUrl);
17
+ request.url.protocol = parsed.protocol;
18
+ request.url.host = parsed.host;
19
+ request.url.port = parsed.port;
20
+ request.url.pathname = parsed.pathname;
21
+ request.url.search = parsed.search;
22
+ request.headers.set("host", parsed.host);
23
+ request.headers.delete("alchemy-original-url");
19
24
  }
20
25
  },
21
26
  getWorkerName: (request) => {
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../../src/cloudflare/miniflare/tunnel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../../src/cloudflare/miniflare/tunnel.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export declare class FileSystemStateStore implements StateStore {
14
14
  get(key: string): Promise<State | undefined>;
15
15
  set(key: string, value: State): Promise<void>;
16
16
  delete(key: string): Promise<void>;
17
+ listScopes(): Promise<string[]>;
17
18
  all(): Promise<Record<string, State>>;
18
19
  getBatch(ids: string[]): Promise<Record<string, State>>;
19
20
  private getPath;
@@ -1 +1 @@
1
- {"version":3,"file":"file-system-state-store.d.ts","sourceRoot":"","sources":["../../src/state/file-system-state-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKrD,qBAAa,oBAAqB,YAAW,UAAU;aAInC,KAAK,EAAE,KAAK;IAH9B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,WAAW,CAAS;gBAEV,KAAK,EAAE,KAAK,EAC5B,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;IAKG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBvB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxB,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAiBzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAoB5C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAIrC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAgB7D,OAAO,CAAC,OAAO;CAmBhB"}
1
+ {"version":3,"file":"file-system-state-store.d.ts","sourceRoot":"","sources":["../../src/state/file-system-state-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKrD,qBAAa,oBAAqB,YAAW,UAAU;aAInC,KAAK,EAAE,KAAK;IAH9B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,WAAW,CAAS;gBAEV,KAAK,EAAE,KAAK,EAC5B,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;IAKG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBvB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxB,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAiBzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAoB5C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAgB/B,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAIrC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAgB7D,OAAO,CAAC,OAAO;CAmBhB"}