devflare 1.0.0-next.21 → 1.0.0-next.23

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 (133) hide show
  1. package/LLM.md +144 -5
  2. package/dist/account-j8nfggg4.js +475 -0
  3. package/dist/account-qhe8vtds.js +475 -0
  4. package/dist/bridge/gateway-runtime.d.ts +1 -1
  5. package/dist/bridge/gateway-runtime.d.ts.map +1 -1
  6. package/dist/bridge/miniflare.d.ts +1 -1
  7. package/dist/bridge/miniflare.d.ts.map +1 -1
  8. package/dist/bridge/proxy.d.ts +2 -0
  9. package/dist/bridge/proxy.d.ts.map +1 -1
  10. package/dist/bridge/server.d.ts.map +1 -1
  11. package/dist/browser.d.ts +13 -13
  12. package/dist/browser.d.ts.map +1 -1
  13. package/dist/browser.js +5 -3
  14. package/dist/build-qsgnme4z.js +54 -0
  15. package/dist/build-vy95gy3f.js +54 -0
  16. package/dist/build-yzx0gsaj.js +54 -0
  17. package/dist/cli/commands/build-artifacts.d.ts.map +1 -1
  18. package/dist/cli/commands/config.d.ts.map +1 -1
  19. package/dist/cli/commands/type-generation/generator.d.ts +4 -2
  20. package/dist/cli/commands/type-generation/generator.d.ts.map +1 -1
  21. package/dist/cli/commands/types.d.ts.map +1 -1
  22. package/dist/cli/index.js +1 -1
  23. package/dist/config/compiler/types.d.ts +1 -1
  24. package/dist/config/compiler/types.d.ts.map +1 -1
  25. package/dist/config/define.d.ts +7 -4
  26. package/dist/config/define.d.ts.map +1 -1
  27. package/dist/config/env-vars.d.ts +309 -0
  28. package/dist/config/env-vars.d.ts.map +1 -0
  29. package/dist/config/index.d.ts +2 -1
  30. package/dist/config/index.d.ts.map +1 -1
  31. package/dist/config/loader.d.ts.map +1 -1
  32. package/dist/config/local-dev-vars.d.ts +2 -2
  33. package/dist/config/local-dev-vars.d.ts.map +1 -1
  34. package/dist/config/schema-env.d.ts +6 -6
  35. package/dist/config/schema-types-bindings-platform.d.ts +378 -0
  36. package/dist/config/schema-types-bindings-platform.d.ts.map +1 -0
  37. package/dist/config/schema-types-bindings-resources.d.ts +551 -0
  38. package/dist/config/schema-types-bindings-resources.d.ts.map +1 -0
  39. package/dist/config/schema-types-bindings.d.ts +254 -0
  40. package/dist/config/schema-types-bindings.d.ts.map +1 -0
  41. package/dist/config/schema-types-build.d.ts +86 -0
  42. package/dist/config/schema-types-build.d.ts.map +1 -0
  43. package/dist/config/schema-types-runtime.d.ts +882 -0
  44. package/dist/config/schema-types-runtime.d.ts.map +1 -0
  45. package/dist/config/schema-types.d.ts +377 -0
  46. package/dist/config/schema-types.d.ts.map +1 -0
  47. package/dist/config/schema.d.ts +14 -15
  48. package/dist/config/schema.d.ts.map +1 -1
  49. package/dist/config-entry.d.ts +2 -0
  50. package/dist/config-entry.d.ts.map +1 -1
  51. package/dist/config-entry.js +3 -1
  52. package/dist/config-gq5jh4cx.js +105 -0
  53. package/dist/config-vec13050.js +105 -0
  54. package/dist/deploy-01j0ep5n.js +1055 -0
  55. package/dist/deploy-nh5tbv45.js +1055 -0
  56. package/dist/deploy-tjypkhg7.js +1055 -0
  57. package/dist/dev-bh581ew3.js +2597 -0
  58. package/dist/dev-cme5de75.js +2551 -0
  59. package/dist/dev-gn5y93z9.js +2597 -0
  60. package/dist/dev-server/server.d.ts.map +1 -1
  61. package/dist/doctor-h5q28qt1.js +259 -0
  62. package/dist/doctor-khk550tw.js +259 -0
  63. package/dist/env.d.ts +10 -0
  64. package/dist/env.d.ts.map +1 -1
  65. package/dist/index-0bv2qjs1.js +1555 -0
  66. package/dist/index-35bmgpfw.js +573 -0
  67. package/dist/index-3tkzn06q.js +413 -0
  68. package/dist/index-4se6krdj.js +574 -0
  69. package/dist/index-8fyz6gcm.js +699 -0
  70. package/dist/index-97z629zr.js +109 -0
  71. package/dist/index-b28c4yr4.js +1205 -0
  72. package/dist/index-c1cj9085.js +2250 -0
  73. package/dist/index-c8p4njqy.js +479 -0
  74. package/dist/index-cr06zrgw.js +1033 -0
  75. package/dist/index-cwjjdtgn.js +74 -0
  76. package/dist/index-dref9ecb.js +476 -0
  77. package/dist/index-e151t4ge.js +895 -0
  78. package/dist/index-e7kakw0j.js +1033 -0
  79. package/dist/index-f1g5jdm8.js +1426 -0
  80. package/dist/index-f46984zs.js +1554 -0
  81. package/dist/index-grk8pzhr.js +185 -0
  82. package/dist/index-hbxkmb1q.js +1426 -0
  83. package/dist/index-hzmpecq9.js +52 -0
  84. package/dist/index-j1csb7gb.js +581 -0
  85. package/dist/index-j7x7f72h.js +185 -0
  86. package/dist/index-jkqbjwt2.js +476 -0
  87. package/dist/index-jwd3fanx.js +412 -0
  88. package/dist/index-mh5renra.js +895 -0
  89. package/dist/index-p9xq83p7.js +147 -0
  90. package/dist/index-q15nj71j.js +52 -0
  91. package/dist/index-qqp65pyv.js +699 -0
  92. package/dist/index-s0fmwxbk.js +74 -0
  93. package/dist/index-s9q605sq.js +1033 -0
  94. package/dist/index-stzx8nc4.js +111 -0
  95. package/dist/index-th4vrnbk.js +1205 -0
  96. package/dist/index-vtcmsgaf.js +581 -0
  97. package/dist/index-w36q6819.js +895 -0
  98. package/dist/index-x2k3awjs.js +147 -0
  99. package/dist/index-x8x547tz.js +1426 -0
  100. package/dist/index-xp0qkkxf.js +68 -0
  101. package/dist/index-xxxd0mvw.js +109 -0
  102. package/dist/index-zawn5tte.js +109 -0
  103. package/dist/index-zpy9caxn.js +1193 -0
  104. package/dist/index.d.ts +1 -1
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +9 -7
  107. package/dist/login-280p2cm9.js +77 -0
  108. package/dist/login-4n266whq.js +77 -0
  109. package/dist/previews-3m3ffpaw.js +1337 -0
  110. package/dist/previews-tr8sm03d.js +1337 -0
  111. package/dist/productions-62y489ff.js +505 -0
  112. package/dist/productions-cgn3fz7d.js +505 -0
  113. package/dist/runtime/exports.d.ts +23 -0
  114. package/dist/runtime/exports.d.ts.map +1 -1
  115. package/dist/runtime/index.d.ts +1 -1
  116. package/dist/runtime/index.d.ts.map +1 -1
  117. package/dist/runtime/index.js +6 -4
  118. package/dist/secrets-4050kqf5.js +91 -0
  119. package/dist/secrets-p112cajt.js +91 -0
  120. package/dist/sveltekit/index.js +8 -7
  121. package/dist/sveltekit/local-bindings.d.ts.map +1 -1
  122. package/dist/test/index.js +24 -12
  123. package/dist/test/resolve-service-bindings.d.ts +1 -1
  124. package/dist/test/resolve-service-bindings.d.ts.map +1 -1
  125. package/dist/test/simple-context-lifecycle.d.ts.map +1 -1
  126. package/dist/types-apmt10yj.js +705 -0
  127. package/dist/types-ttrrgdfj.js +705 -0
  128. package/dist/vite/index.js +5 -5
  129. package/dist/vite/plugin-context.d.ts.map +1 -1
  130. package/dist/vite/plugin-programmatic.d.ts.map +1 -1
  131. package/dist/worker-2k1jyr6p.js +513 -0
  132. package/dist/worker-jqgn6jyj.js +513 -0
  133. package/package.json +1 -1
@@ -0,0 +1,378 @@
1
+ /**
2
+ * Browser Rendering binding value.
3
+ */
4
+ export type BrowserBindingInput = string | BrowserBindingObjectInput;
5
+ /**
6
+ * Browser Rendering binding object form.
7
+ */
8
+ export interface BrowserBindingObjectInput {
9
+ /**
10
+ * Whether Wrangler local development should use the remote Browser
11
+ * Rendering service.
12
+ *
13
+ * @default Wrangler default behavior.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * browser: { BROWSER: { remote: true } }
18
+ * ```
19
+ */
20
+ remote?: boolean;
21
+ }
22
+ /**
23
+ * Analytics Engine binding configuration.
24
+ */
25
+ export interface AnalyticsBindingInput {
26
+ /**
27
+ * Analytics Engine dataset name.
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * analyticsEngine: { EVENTS: { dataset: 'worker_events' } }
32
+ * ```
33
+ */
34
+ dataset: string;
35
+ }
36
+ /**
37
+ * Email sending binding configuration.
38
+ */
39
+ export interface SendEmailBindingInput {
40
+ /**
41
+ * Restrict this binding to a specific verified destination address.
42
+ *
43
+ * @default No single-address restriction.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * destinationAddress: 'ops@example.com'
48
+ * ```
49
+ */
50
+ destinationAddress?: string;
51
+ /**
52
+ * Restrict this binding to a set of verified destination addresses.
53
+ *
54
+ * @default No destination allow-list restriction.
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * allowedDestinationAddresses: ['ops@example.com']
59
+ * ```
60
+ */
61
+ allowedDestinationAddresses?: string[];
62
+ /**
63
+ * Restrict this binding to a set of verified sender addresses.
64
+ *
65
+ * @default No sender allow-list restriction.
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * allowedSenderAddresses: ['noreply@example.com']
70
+ * ```
71
+ */
72
+ allowedSenderAddresses?: string[];
73
+ }
74
+ /**
75
+ * mTLS certificate binding by certificate ID or object form.
76
+ */
77
+ export type MtlsCertificateBindingInput = string | MtlsCertificateBindingByIdInput | MtlsCertificateBindingByWranglerIdInput;
78
+ /**
79
+ * mTLS certificate binding in Devflare camelCase form.
80
+ */
81
+ export interface MtlsCertificateBindingByIdInput {
82
+ /**
83
+ * Uploaded mTLS certificate UUID from `wrangler mtls-certificate upload`.
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * certificateId: 'certificate-uuid'
88
+ * ```
89
+ */
90
+ certificateId: string;
91
+ /**
92
+ * Whether Wrangler local development should use the remote certificate
93
+ * binding when available.
94
+ *
95
+ * @default Wrangler default behavior.
96
+ *
97
+ * @example
98
+ * ```ts
99
+ * remote: true
100
+ * ```
101
+ */
102
+ remote?: boolean;
103
+ }
104
+ /**
105
+ * mTLS certificate binding in Wrangler snake_case form.
106
+ */
107
+ export interface MtlsCertificateBindingByWranglerIdInput {
108
+ /**
109
+ * Wrangler-native uploaded mTLS certificate UUID.
110
+ *
111
+ * @example
112
+ * ```ts
113
+ * certificate_id: 'certificate-uuid'
114
+ * ```
115
+ */
116
+ certificate_id: string;
117
+ /**
118
+ * Whether Wrangler local development should use the remote certificate
119
+ * binding when available.
120
+ *
121
+ * @default Wrangler default behavior.
122
+ *
123
+ * @example
124
+ * ```ts
125
+ * remote: true
126
+ * ```
127
+ */
128
+ remote?: boolean;
129
+ }
130
+ /**
131
+ * Dispatch Namespace binding by namespace name or object form.
132
+ */
133
+ export type DispatchNamespaceBindingInput = string | DispatchNamespaceBindingObjectInput;
134
+ /**
135
+ * Dispatch Namespace binding object form.
136
+ */
137
+ export interface DispatchNamespaceBindingObjectInput {
138
+ /**
139
+ * Dispatch namespace name.
140
+ *
141
+ * @example
142
+ * ```ts
143
+ * namespace: 'customers'
144
+ * ```
145
+ */
146
+ namespace: string;
147
+ /**
148
+ * Optional outbound worker binding configuration.
149
+ *
150
+ * @default No outbound worker binding.
151
+ *
152
+ * @example
153
+ * ```ts
154
+ * outbound: { service: 'customer-router' }
155
+ * ```
156
+ */
157
+ outbound?: DispatchNamespaceOutboundInput;
158
+ /**
159
+ * Whether Wrangler local development should use the remote dispatch
160
+ * namespace.
161
+ *
162
+ * @default Wrangler default behavior.
163
+ *
164
+ * @example
165
+ * ```ts
166
+ * remote: true
167
+ * ```
168
+ */
169
+ remote?: boolean;
170
+ }
171
+ /**
172
+ * Dispatch Namespace outbound worker binding configuration.
173
+ */
174
+ export interface DispatchNamespaceOutboundInput {
175
+ /**
176
+ * Outbound worker service name.
177
+ *
178
+ * @example
179
+ * ```ts
180
+ * service: 'customer-router'
181
+ * ```
182
+ */
183
+ service: string;
184
+ /**
185
+ * Optional outbound worker environment.
186
+ *
187
+ * @default Target worker default environment.
188
+ *
189
+ * @example
190
+ * ```ts
191
+ * environment: 'production'
192
+ * ```
193
+ */
194
+ environment?: string;
195
+ /**
196
+ * Outbound worker parameters.
197
+ *
198
+ * @default No parameters.
199
+ *
200
+ * @example
201
+ * ```ts
202
+ * parameters: ['account_id']
203
+ * ```
204
+ */
205
+ parameters?: string[];
206
+ }
207
+ /**
208
+ * Workflow binding configuration.
209
+ */
210
+ export interface WorkflowBindingInput {
211
+ /**
212
+ * Workflow binding name compiled for Wrangler.
213
+ *
214
+ * @example
215
+ * ```ts
216
+ * name: 'onboarding'
217
+ * ```
218
+ */
219
+ name: string;
220
+ /**
221
+ * Workflow class name.
222
+ *
223
+ * @example
224
+ * ```ts
225
+ * className: 'OnboardingWorkflow'
226
+ * ```
227
+ */
228
+ className: string;
229
+ /**
230
+ * Worker script name that hosts the workflow.
231
+ *
232
+ * @default Current worker.
233
+ *
234
+ * @example
235
+ * ```ts
236
+ * scriptName: 'workflow-worker'
237
+ * ```
238
+ */
239
+ scriptName?: string;
240
+ /**
241
+ * Whether Wrangler local development should use the remote workflow
242
+ * binding.
243
+ *
244
+ * @default Wrangler default behavior.
245
+ *
246
+ * @example
247
+ * ```ts
248
+ * remote: true
249
+ * ```
250
+ */
251
+ remote?: boolean;
252
+ /**
253
+ * Workflow execution limits.
254
+ *
255
+ * @default Cloudflare Workflows default behavior.
256
+ *
257
+ * @example
258
+ * ```ts
259
+ * limits: { steps: 100 }
260
+ * ```
261
+ */
262
+ limits?: WorkflowLimitsInput;
263
+ }
264
+ /**
265
+ * Workflow execution limits.
266
+ */
267
+ export interface WorkflowLimitsInput {
268
+ /**
269
+ * Maximum number of workflow steps.
270
+ *
271
+ * @example
272
+ * ```ts
273
+ * steps: 100
274
+ * ```
275
+ */
276
+ steps: number;
277
+ }
278
+ /**
279
+ * Cloudflare Pipelines binding by pipeline name or object form.
280
+ */
281
+ export type PipelineBindingInput = string | PipelineBindingObjectInput;
282
+ /**
283
+ * Cloudflare Pipelines binding object form.
284
+ */
285
+ export interface PipelineBindingObjectInput {
286
+ /**
287
+ * Pipeline name.
288
+ *
289
+ * @example
290
+ * ```ts
291
+ * pipeline: 'events-pipeline'
292
+ * ```
293
+ */
294
+ pipeline: string;
295
+ /**
296
+ * Whether Wrangler local development should use the remote pipeline
297
+ * binding.
298
+ *
299
+ * @default Wrangler default behavior.
300
+ *
301
+ * @example
302
+ * ```ts
303
+ * remote: true
304
+ * ```
305
+ */
306
+ remote?: boolean;
307
+ }
308
+ /**
309
+ * Cloudflare Images binding value.
310
+ */
311
+ export type ImagesBindingInput = true | ImagesBindingObjectInput;
312
+ /**
313
+ * Cloudflare Images binding object form.
314
+ */
315
+ export interface ImagesBindingObjectInput {
316
+ /**
317
+ * Whether Wrangler local development should use the remote Images service.
318
+ *
319
+ * @default Wrangler default behavior.
320
+ *
321
+ * @example
322
+ * ```ts
323
+ * images: { IMAGES: { remote: true } }
324
+ * ```
325
+ */
326
+ remote?: boolean;
327
+ }
328
+ /**
329
+ * Cloudflare Media Transformations binding value.
330
+ */
331
+ export type MediaBindingInput = true | MediaBindingObjectInput;
332
+ /**
333
+ * Cloudflare Media Transformations binding object form.
334
+ */
335
+ export interface MediaBindingObjectInput {
336
+ /**
337
+ * Whether Wrangler local development should use the remote Media service.
338
+ *
339
+ * @default Wrangler default behavior.
340
+ *
341
+ * @example
342
+ * ```ts
343
+ * media: { MEDIA: { remote: true } }
344
+ * ```
345
+ */
346
+ remote?: boolean;
347
+ }
348
+ /**
349
+ * Cloudflare Artifacts binding by namespace name or object form.
350
+ */
351
+ export type ArtifactsBindingInput = string | ArtifactsBindingObjectInput;
352
+ /**
353
+ * Cloudflare Artifacts binding object form.
354
+ */
355
+ export interface ArtifactsBindingObjectInput {
356
+ /**
357
+ * Artifacts namespace name.
358
+ *
359
+ * @example
360
+ * ```ts
361
+ * namespace: 'builds'
362
+ * ```
363
+ */
364
+ namespace: string;
365
+ /**
366
+ * Whether Wrangler local development should use the remote Artifacts
367
+ * namespace.
368
+ *
369
+ * @default Wrangler default behavior.
370
+ *
371
+ * @example
372
+ * ```ts
373
+ * remote: true
374
+ * ```
375
+ */
376
+ remote?: boolean;
377
+ }
378
+ //# sourceMappingURL=schema-types-bindings-platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-types-bindings-platform.d.ts","sourceRoot":"","sources":["../../src/config/schema-types-bindings-platform.ts"],"names":[],"mappings":"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"}