@package-broker/cli 0.19.8 → 2.0.0-rc.2

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 (193) hide show
  1. package/LICENSE +661 -0
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/bin.d.ts +3 -0
  4. package/dist/bin.d.ts.map +1 -0
  5. package/dist/bin.js +12 -0
  6. package/dist/bin.js.map +1 -0
  7. package/dist/build-artifacts.d.ts +27 -0
  8. package/dist/build-artifacts.d.ts.map +1 -0
  9. package/dist/build-artifacts.js +169 -0
  10. package/dist/build-artifacts.js.map +1 -0
  11. package/dist/build-assets.d.ts +36 -0
  12. package/dist/build-assets.d.ts.map +1 -0
  13. package/dist/build-assets.js +224 -0
  14. package/dist/build-assets.js.map +1 -0
  15. package/dist/build.d.ts +31 -0
  16. package/dist/build.d.ts.map +1 -0
  17. package/dist/build.js +277 -0
  18. package/dist/build.js.map +1 -0
  19. package/dist/cli.d.ts +2 -0
  20. package/dist/cli.d.ts.map +1 -0
  21. package/dist/cli.js +828 -0
  22. package/dist/cli.js.map +1 -0
  23. package/dist/cloudflare/d1-http-executor.d.ts +30 -0
  24. package/dist/cloudflare/d1-http-executor.d.ts.map +1 -0
  25. package/dist/cloudflare/d1-http-executor.js +230 -0
  26. package/dist/cloudflare/d1-http-executor.js.map +1 -0
  27. package/dist/cloudflare/d1-http-response.d.ts +4 -0
  28. package/dist/cloudflare/d1-http-response.d.ts.map +1 -0
  29. package/dist/cloudflare/d1-http-response.js +113 -0
  30. package/dist/cloudflare/d1-http-response.js.map +1 -0
  31. package/dist/commands/admin.d.ts +47 -0
  32. package/dist/commands/admin.d.ts.map +1 -0
  33. package/dist/commands/admin.js +447 -0
  34. package/dist/commands/admin.js.map +1 -0
  35. package/dist/commands/built-manifest.d.ts +13 -0
  36. package/dist/commands/built-manifest.d.ts.map +1 -0
  37. package/dist/commands/built-manifest.js +197 -0
  38. package/dist/commands/built-manifest.js.map +1 -0
  39. package/dist/commands/cloudflare/api.d.ts +132 -0
  40. package/dist/commands/cloudflare/api.d.ts.map +1 -0
  41. package/dist/commands/cloudflare/api.js +502 -0
  42. package/dist/commands/cloudflare/api.js.map +1 -0
  43. package/dist/commands/cloudflare/deploy.d.ts +111 -0
  44. package/dist/commands/cloudflare/deploy.d.ts.map +1 -0
  45. package/dist/commands/cloudflare/deploy.js +2170 -0
  46. package/dist/commands/cloudflare/deploy.js.map +1 -0
  47. package/dist/commands/cloudflare/inventory.d.ts +257 -0
  48. package/dist/commands/cloudflare/inventory.d.ts.map +1 -0
  49. package/dist/commands/cloudflare/inventory.js +842 -0
  50. package/dist/commands/cloudflare/inventory.js.map +1 -0
  51. package/dist/commands/cloudflare/janitor.d.ts +10 -0
  52. package/dist/commands/cloudflare/janitor.d.ts.map +1 -0
  53. package/dist/commands/cloudflare/janitor.js +84 -0
  54. package/dist/commands/cloudflare/janitor.js.map +1 -0
  55. package/dist/commands/cloudflare/migrations-check.d.ts +5 -0
  56. package/dist/commands/cloudflare/migrations-check.d.ts.map +1 -0
  57. package/dist/commands/cloudflare/migrations-check.js +10 -0
  58. package/dist/commands/cloudflare/migrations-check.js.map +1 -0
  59. package/dist/commands/cloudflare/providers-file.d.ts +17 -0
  60. package/dist/commands/cloudflare/providers-file.d.ts.map +1 -0
  61. package/dist/commands/cloudflare/providers-file.js +155 -0
  62. package/dist/commands/cloudflare/providers-file.js.map +1 -0
  63. package/dist/commands/cloudflare/provision.d.ts +79 -0
  64. package/dist/commands/cloudflare/provision.d.ts.map +1 -0
  65. package/dist/commands/cloudflare/provision.js +961 -0
  66. package/dist/commands/cloudflare/provision.js.map +1 -0
  67. package/dist/commands/cloudflare/queue-consumer.d.ts +4 -0
  68. package/dist/commands/cloudflare/queue-consumer.d.ts.map +1 -0
  69. package/dist/commands/cloudflare/queue-consumer.js +57 -0
  70. package/dist/commands/cloudflare/queue-consumer.js.map +1 -0
  71. package/dist/commands/cloudflare/routes.d.ts +3 -0
  72. package/dist/commands/cloudflare/routes.d.ts.map +1 -0
  73. package/dist/commands/cloudflare/routes.js +26 -0
  74. package/dist/commands/cloudflare/routes.js.map +1 -0
  75. package/dist/commands/cloudflare/setup.d.ts +50 -0
  76. package/dist/commands/cloudflare/setup.d.ts.map +1 -0
  77. package/dist/commands/cloudflare/setup.js +836 -0
  78. package/dist/commands/cloudflare/setup.js.map +1 -0
  79. package/dist/commands/cloudflare/smoke.d.ts +29 -0
  80. package/dist/commands/cloudflare/smoke.d.ts.map +1 -0
  81. package/dist/commands/cloudflare/smoke.js +701 -0
  82. package/dist/commands/cloudflare/smoke.js.map +1 -0
  83. package/dist/commands/cloudflare/teardown.d.ts +65 -0
  84. package/dist/commands/cloudflare/teardown.d.ts.map +1 -0
  85. package/dist/commands/cloudflare/teardown.js +984 -0
  86. package/dist/commands/cloudflare/teardown.js.map +1 -0
  87. package/dist/commands/cloudflare/worker-settings.d.ts +4 -0
  88. package/dist/commands/cloudflare/worker-settings.d.ts.map +1 -0
  89. package/dist/commands/cloudflare/worker-settings.js +93 -0
  90. package/dist/commands/cloudflare/worker-settings.js.map +1 -0
  91. package/dist/commands/cloudflare/zone.d.ts +3 -0
  92. package/dist/commands/cloudflare/zone.d.ts.map +1 -0
  93. package/dist/commands/cloudflare/zone.js +73 -0
  94. package/dist/commands/cloudflare/zone.js.map +1 -0
  95. package/dist/commands/cloudflare.d.ts +55 -0
  96. package/dist/commands/cloudflare.d.ts.map +1 -0
  97. package/dist/commands/cloudflare.js +393 -0
  98. package/dist/commands/cloudflare.js.map +1 -0
  99. package/dist/commands/import-cutover.d.ts +5 -0
  100. package/dist/commands/import-cutover.d.ts.map +1 -0
  101. package/dist/commands/import-cutover.js +25 -0
  102. package/dist/commands/import-cutover.js.map +1 -0
  103. package/dist/commands/import-private-packagist.d.ts +38 -0
  104. package/dist/commands/import-private-packagist.d.ts.map +1 -0
  105. package/dist/commands/import-private-packagist.js +232 -0
  106. package/dist/commands/import-private-packagist.js.map +1 -0
  107. package/dist/commands/import-satis.d.ts +11 -0
  108. package/dist/commands/import-satis.d.ts.map +1 -0
  109. package/dist/commands/import-satis.js +112 -0
  110. package/dist/commands/import-satis.js.map +1 -0
  111. package/dist/commands/import.d.ts +22 -0
  112. package/dist/commands/import.d.ts.map +1 -0
  113. package/dist/commands/import.js +343 -0
  114. package/dist/commands/import.js.map +1 -0
  115. package/dist/commands/openapi-specs.d.ts +4 -0
  116. package/dist/commands/openapi-specs.d.ts.map +1 -0
  117. package/dist/commands/openapi-specs.js +94 -0
  118. package/dist/commands/openapi-specs.js.map +1 -0
  119. package/dist/commands/openapi.d.ts +12 -0
  120. package/dist/commands/openapi.d.ts.map +1 -0
  121. package/dist/commands/openapi.js +44 -0
  122. package/dist/commands/openapi.js.map +1 -0
  123. package/dist/commands/source.d.ts +8 -0
  124. package/dist/commands/source.d.ts.map +1 -0
  125. package/dist/commands/source.js +61 -0
  126. package/dist/commands/source.js.map +1 -0
  127. package/dist/commands/sqlite.d.ts +11 -0
  128. package/dist/commands/sqlite.d.ts.map +1 -0
  129. package/dist/commands/sqlite.js +76 -0
  130. package/dist/commands/sqlite.js.map +1 -0
  131. package/dist/import/client.d.ts +71 -0
  132. package/dist/import/client.d.ts.map +1 -0
  133. package/dist/import/client.js +348 -0
  134. package/dist/import/client.js.map +1 -0
  135. package/dist/import/credential-refs.d.ts +2 -0
  136. package/dist/import/credential-refs.d.ts.map +1 -0
  137. package/dist/import/credential-refs.js +22 -0
  138. package/dist/import/credential-refs.js.map +1 -0
  139. package/dist/import/cutover.d.ts +64 -0
  140. package/dist/import/cutover.d.ts.map +1 -0
  141. package/dist/import/cutover.js +544 -0
  142. package/dist/import/cutover.js.map +1 -0
  143. package/dist/import/private-packagist/api.d.ts +57 -0
  144. package/dist/import/private-packagist/api.d.ts.map +1 -0
  145. package/dist/import/private-packagist/api.js +246 -0
  146. package/dist/import/private-packagist/api.js.map +1 -0
  147. package/dist/import/private-packagist/dates.d.ts +30 -0
  148. package/dist/import/private-packagist/dates.d.ts.map +1 -0
  149. package/dist/import/private-packagist/dates.js +189 -0
  150. package/dist/import/private-packagist/dates.js.map +1 -0
  151. package/dist/import/private-packagist/map.d.ts +48 -0
  152. package/dist/import/private-packagist/map.d.ts.map +1 -0
  153. package/dist/import/private-packagist/map.js +162 -0
  154. package/dist/import/private-packagist/map.js.map +1 -0
  155. package/dist/import/private-packagist/plan.d.ts +61 -0
  156. package/dist/import/private-packagist/plan.d.ts.map +1 -0
  157. package/dist/import/private-packagist/plan.js +936 -0
  158. package/dist/import/private-packagist/plan.js.map +1 -0
  159. package/dist/import/private-packagist/snapshot.d.ts +31 -0
  160. package/dist/import/private-packagist/snapshot.d.ts.map +1 -0
  161. package/dist/import/private-packagist/snapshot.js +406 -0
  162. package/dist/import/private-packagist/snapshot.js.map +1 -0
  163. package/dist/import/satis.d.ts +93 -0
  164. package/dist/import/satis.d.ts.map +1 -0
  165. package/dist/import/satis.js +873 -0
  166. package/dist/import/satis.js.map +1 -0
  167. package/dist/index.d.ts +3 -2
  168. package/dist/index.d.ts.map +1 -1
  169. package/dist/index.js +3 -96
  170. package/dist/index.js.map +1 -1
  171. package/dist/manifest.d.ts +56 -0
  172. package/dist/manifest.d.ts.map +1 -0
  173. package/dist/manifest.js +137 -0
  174. package/dist/manifest.js.map +1 -0
  175. package/dist/migrations-collect.d.ts +6 -0
  176. package/dist/migrations-collect.d.ts.map +1 -0
  177. package/dist/migrations-collect.js +39 -0
  178. package/dist/migrations-collect.js.map +1 -0
  179. package/dist/prebuilt-expected.json +7 -0
  180. package/dist/prebuilt.d.ts +27 -0
  181. package/dist/prebuilt.d.ts.map +1 -0
  182. package/dist/prebuilt.js +391 -0
  183. package/dist/prebuilt.js.map +1 -0
  184. package/package.json +22 -25
  185. package/README.md +0 -29
  186. package/dist/__tests__/migrate.test.d.ts +0 -2
  187. package/dist/__tests__/migrate.test.d.ts.map +0 -1
  188. package/dist/__tests__/migrate.test.js +0 -116
  189. package/dist/__tests__/migrate.test.js.map +0 -1
  190. package/dist/migrate.d.ts +0 -40
  191. package/dist/migrate.d.ts.map +0 -1
  192. package/dist/migrate.js +0 -335
  193. package/dist/migrate.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/cloudflare/deploy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,257 @@
1
+ import { CloudflareError } from './api.js';
2
+ import type { BuildInfo } from '../../build-artifacts.js';
3
+ export type Jurisdiction = 'eu' | 'default';
4
+ export type ResourceKey = 'd1' | 'r2' | 'dlq' | 'jobs' | 'analytics' | 'worker';
5
+ export type ResourceKind = 'd1' | 'r2' | 'queue' | 'analytics' | 'worker';
6
+ export interface InstallIdentity {
7
+ account_id: string;
8
+ worker_name: string;
9
+ environment: string;
10
+ script_name: string;
11
+ deployment_id: string;
12
+ owner_digest: string;
13
+ run_identity: string | null;
14
+ jurisdiction: Jurisdiction;
15
+ location_hint: string | null;
16
+ }
17
+ export interface Evidence {
18
+ source: 'created' | 'pending_create' | 'adopted' | 'worker_binding';
19
+ operation_id: string | null;
20
+ verified_at: string;
21
+ }
22
+ export interface Resource {
23
+ name: string;
24
+ id: string | null;
25
+ jurisdiction?: Jurisdiction | null;
26
+ state: 'planned' | 'creating' | 'complete' | 'binding_pending' | 'bound';
27
+ evidence: Evidence | null;
28
+ lifecycle_baseline?: LifecycleRule[];
29
+ }
30
+ export interface LifecycleRule {
31
+ id: string;
32
+ enabled: boolean;
33
+ conditions: {
34
+ prefix: string;
35
+ };
36
+ abortMultipartUploadsTransition: {
37
+ condition: {
38
+ type: 'Age';
39
+ maxAge: number;
40
+ };
41
+ };
42
+ }
43
+ export interface LiveLifecycleRule extends Omit<LifecycleRule, 'conditions'> {
44
+ conditions: {
45
+ prefix?: string;
46
+ };
47
+ }
48
+ export declare function abortOnlyRule(rule: LiveLifecycleRule): LifecycleRule;
49
+ export declare function lifecycleRule(raw: unknown): raw is LiveLifecycleRule;
50
+ export interface Operation {
51
+ id: string;
52
+ kind: ResourceKind;
53
+ name: string;
54
+ spec_sha256: string;
55
+ absence_observed_at: string;
56
+ started_at: string;
57
+ state: 'pending' | 'confirmed' | 'unknown' | 'failed';
58
+ resolved_id: string | null;
59
+ }
60
+ export interface Inventory {
61
+ schema_version: 2;
62
+ revision: number;
63
+ identity: InstallIdentity;
64
+ resources: Partial<Record<ResourceKey, Resource>>;
65
+ operations: Operation[];
66
+ secret_delivery: {
67
+ master_key: 'not_started' | 'export_pending' | 'exported' | 'upload_pending' | 'installed' | 'unknown';
68
+ secret_name: 'PB_MASTER_KEY';
69
+ };
70
+ bootstrap: {
71
+ state: 'not_started' | 'issuing' | 'issued' | 'unknown' | 'already_set_up';
72
+ expires_at: string | null;
73
+ };
74
+ migrations: {
75
+ applied_this_transaction: string[];
76
+ ledger: {
77
+ id: string;
78
+ checksum: string;
79
+ phase: 'expand' | 'contract';
80
+ }[];
81
+ rollback_compatible: boolean;
82
+ contract_ids: string[];
83
+ };
84
+ deployment: DeploymentJournal | null;
85
+ updated_at: string;
86
+ }
87
+ export interface EndpointPolicy {
88
+ enabled: boolean;
89
+ previews_enabled: boolean;
90
+ }
91
+ export interface QueueConsumer {
92
+ consumer_id: string | null;
93
+ script_name: string;
94
+ batch_size: number;
95
+ max_wait_time_ms: number;
96
+ max_retries: number;
97
+ max_concurrency: number;
98
+ dead_letter_queue: string;
99
+ }
100
+ export interface ManagedRoute {
101
+ id: string | null;
102
+ zone_id: string;
103
+ pattern: string;
104
+ script: string;
105
+ }
106
+ export interface ManagedDomain {
107
+ id: string | null;
108
+ zone_id: string;
109
+ hostname: string;
110
+ service: string;
111
+ environment: 'production';
112
+ }
113
+ export interface ManagedSettings {
114
+ endpoints: EndpointPolicy;
115
+ schedules: string[];
116
+ consumer: QueueConsumer | null;
117
+ routes: ManagedRoute[];
118
+ domain: ManagedDomain | null;
119
+ }
120
+ export interface Distribution {
121
+ version_id: string;
122
+ percentage: number;
123
+ }
124
+ export interface DeploymentAttempt {
125
+ operation_id: string;
126
+ artifact_sha256: string;
127
+ assets_sha256: string | null;
128
+ settings_sha256: string;
129
+ providers_sha256?: string | null;
130
+ identity_sha256?: string | null;
131
+ providers_text?: string;
132
+ secret_names: string[];
133
+ build_info: BuildInfo;
134
+ version_id: string | null;
135
+ previous_version_id: string | null;
136
+ previous_deployment_id: string | null;
137
+ previous_distribution: Distribution[];
138
+ script_creation?: {
139
+ state: 'pending' | 'complete';
140
+ deployment_id: string | null;
141
+ version_id: string | null;
142
+ };
143
+ requested_rollout: number;
144
+ worker_url: string;
145
+ candidate_probe_url: string | null;
146
+ migration_ledger_sha256: string;
147
+ rollback_compatible: boolean;
148
+ contract_ids: string[];
149
+ phase: 'preparing_upload' | 'upload_pending' | 'uploaded' | 'configuring' | 'activation_pending' | 'active' | 'verified' | 'failed' | 'rollback_pending' | 'rolled_back';
150
+ activated_at: string | null;
151
+ smoke: 'pending' | 'passed' | 'failed';
152
+ smoke_checks?: SmokeCheck[];
153
+ rollback: 'not_needed' | 'pending' | 'succeeded' | 'failed' | 'unknown';
154
+ preview: 'disabled' | 'enable_pending' | 'enabled' | 'cleanup_pending';
155
+ prior_settings: ManagedSettings;
156
+ intended_settings: ManagedSettings;
157
+ changes: {
158
+ kind: 'endpoints' | 'schedules' | 'consumer' | 'routes' | 'domain';
159
+ state: 'pending' | 'applied' | 'unknown';
160
+ restoration: 'not_needed' | 'restored' | 'retained_first_install' | 'failed' | 'unknown';
161
+ }[];
162
+ }
163
+ export interface SmokeCheck {
164
+ name: 'canonical_ready' | 'canonical_composer_unauthorized' | 'canonical_npm_unauthorized' | 'canonical_composer_authorized' | 'canonical_npm_authorized' | 'candidate_ready' | 'candidate_composer_unauthorized' | 'candidate_npm_unauthorized' | 'candidate_composer_authorized' | 'candidate_npm_authorized' | 'rollback_ready';
165
+ status: 'passed' | 'failed' | 'connection' | 'not_ready' | 'rate_limited' | 'timeout';
166
+ attempt: number;
167
+ elapsed_ms: number;
168
+ }
169
+ export interface DeploymentJournal {
170
+ attempt: DeploymentAttempt;
171
+ last_verified: DeploymentAttempt | null;
172
+ history?: DeploymentHistory;
173
+ }
174
+ export interface DeploymentHistory {
175
+ version_ids: string[];
176
+ plain_bindings: {
177
+ name: string;
178
+ texts: string[];
179
+ }[];
180
+ hashed_bindings?: {
181
+ name: string;
182
+ sha256: string[];
183
+ }[];
184
+ }
185
+ export declare const hashedBindingNames: ReadonlySet<string>;
186
+ export declare const deploymentHistoryLimits: {
187
+ readonly versions: 10000;
188
+ readonly plainValues: 64;
189
+ readonly hashedValues: 64;
190
+ };
191
+ export declare class DeploymentHistoryCapacityError extends CloudflareError {
192
+ constructor();
193
+ }
194
+ export declare function recordDeploymentHistory(deployment: DeploymentJournal, receipt: {
195
+ versionId?: string;
196
+ plainBinding?: {
197
+ name: string;
198
+ text: string;
199
+ };
200
+ reserveVersion?: boolean;
201
+ }): void;
202
+ export declare function safeBuildInfo(raw: unknown): BuildInfo;
203
+ export declare const digest: (value: string) => string;
204
+ export declare function installIdentity(o: {
205
+ accountId: string;
206
+ workerName: string;
207
+ environment?: string;
208
+ deploymentId?: string;
209
+ jurisdiction?: Jurisdiction;
210
+ locationHint?: string;
211
+ runIdentity?: string;
212
+ }): InstallIdentity;
213
+ export declare function emptyInventory(identity: InstallIdentity, now: number): Inventory;
214
+ export declare function validResourceId(kind: ResourceKind, id: unknown): id is string;
215
+ export declare function resourceKind(key: ResourceKey): ResourceKind;
216
+ export declare function validateInventory(raw: unknown, expected: InstallIdentity): Inventory;
217
+ export declare class InventoryStore {
218
+ readonly project: string;
219
+ readonly directory: string;
220
+ readonly path: string;
221
+ readonly lockPath: string;
222
+ readonly identity: InstallIdentity;
223
+ readonly stateRoot: string;
224
+ private constructor();
225
+ static create(o: {
226
+ project: string;
227
+ outDir: string;
228
+ inventory?: string;
229
+ identity: InstallIdentity;
230
+ }): Promise<InventoryStore>;
231
+ read(): Promise<Inventory | null>;
232
+ private prepare;
233
+ write(data: Inventory): Promise<void>;
234
+ lock(now: number): Promise<() => Promise<void>>;
235
+ }
236
+ export declare function inventoryTransportPolicy(visibility: 'public' | 'private' | 'unknown'): {
237
+ raw_inventory: boolean;
238
+ retention_days: number;
239
+ scope: "exact_inventory_only";
240
+ } | {
241
+ raw_inventory: boolean;
242
+ retention_days: number;
243
+ scope: "id_free_summary_only";
244
+ };
245
+ /** A setup caller owns this lease across provision, migration and later stages. */
246
+ export declare class InventoryTransaction {
247
+ readonly store: InventoryStore;
248
+ private readonly release;
249
+ private active;
250
+ private readonly appliedMigrations;
251
+ private constructor();
252
+ static begin(store: InventoryStore, now: number): Promise<InventoryTransaction>;
253
+ assertStore(store: InventoryStore): void;
254
+ recordAppliedMigrations(ids: readonly string[]): string[];
255
+ close(): Promise<void>;
256
+ }
257
+ //# sourceMappingURL=inventory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../../../src/commands/cloudflare/inventory.ts"],"names":[],"mappings":"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"}