@moinulmoin/eden 0.4.1 → 0.6.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.
- package/NOTICE +0 -9
- package/README.md +4 -4
- package/dist/eve-control-plane.d.ts +52 -12
- package/dist/eve-control-plane.js +641 -141
- package/dist/eve.js +1 -1
- package/dist/index.d.ts +1 -1
- package/package.json +3 -3
package/NOTICE
CHANGED
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
Eden
|
|
2
2
|
Copyright 2026 Eden contributors
|
|
3
3
|
|
|
4
|
-
Cloudflare Containers
|
|
5
|
-
@cloudflare/containers, version 0.3.7
|
|
6
|
-
https://github.com/cloudflare/containers
|
|
7
|
-
|
|
8
|
-
Eden's generated Worker host bundle includes software from
|
|
9
|
-
`@cloudflare/containers`, distributed under MIT OR Apache-2.0. Eden
|
|
10
|
-
redistributes that bundled software under the Apache-2.0 option included in
|
|
11
|
-
LICENSE.
|
|
12
|
-
|
|
13
4
|
Workflow SDK
|
|
14
5
|
@workflow/world-postgres, version 5.0.0-beta.47
|
|
15
6
|
https://github.com/vercel/workflow
|
package/README.md
CHANGED
|
@@ -12,15 +12,15 @@ If you already have an Eve project, start with `eden deploy`.
|
|
|
12
12
|
Use any one of these package managers:
|
|
13
13
|
|
|
14
14
|
```sh
|
|
15
|
-
npm install --global @moinulmoin/eden@0.
|
|
15
|
+
npm install --global @moinulmoin/eden@0.6.0
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
```sh
|
|
19
|
-
pnpm add --global @moinulmoin/eden@0.
|
|
19
|
+
pnpm add --global @moinulmoin/eden@0.6.0
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
```sh
|
|
23
|
-
bun add --global @moinulmoin/eden@0.
|
|
23
|
+
bun add --global @moinulmoin/eden@0.6.0
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Then confirm the CLI is available:
|
|
@@ -39,7 +39,7 @@ Bun can install Eden, but Eden still runs on Node. Do not use `bunx --bun`.
|
|
|
39
39
|
- Wrangler authentication:
|
|
40
40
|
|
|
41
41
|
```sh
|
|
42
|
-
npx wrangler@4.
|
|
42
|
+
npx wrangler@4.147.0 login
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
- Docker or OrbStack with Linux/amd64 container support
|
|
@@ -2,7 +2,7 @@ import { type EveCliEnvironment, type EveCliExecutionRequest } from "./eve.js";
|
|
|
2
2
|
import { type EveNodeImage, type EveProjectBuildCandidate, type EveProjectBuilder } from "./eve-packaging.js";
|
|
3
3
|
import { type EveHostRequirements, type EveRuntimeCleanup, type EveRuntimeImageDiscardRequest } from "./eve-runtime-image.js";
|
|
4
4
|
import { type EveRuntimeConfig, type EveRuntimeInjection, type EveRuntimeProtectedStore } from "./eve-runtime-config.js";
|
|
5
|
-
import type
|
|
5
|
+
import { type EveHostConfig } from "@moinulmoin/eden-runtime-cloudflare";
|
|
6
6
|
export declare const DEFAULT_EVE_HOST_REQUIREMENTS: EveHostRequirements;
|
|
7
7
|
export declare const DEFAULT_EVE_NODE_IMAGE: EveNodeImage;
|
|
8
8
|
export type EvePreflightCheckStatus = "passed" | "failed" | "blocked" | "skipped";
|
|
@@ -21,6 +21,12 @@ export interface EvePreflightCandidate {
|
|
|
21
21
|
export type EveDeploymentStatus = "deployed" | "failed" | "indeterminate";
|
|
22
22
|
export interface EveDeploymentMetadata {
|
|
23
23
|
readonly status: EveDeploymentStatus;
|
|
24
|
+
/**
|
|
25
|
+
* `create` is a first deploy onto an absent target; `update` is an
|
|
26
|
+
* in-place redeploy of a provably Eden-owned target that keeps the Worker,
|
|
27
|
+
* Durable Object classes, and durable state.
|
|
28
|
+
*/
|
|
29
|
+
readonly operation: "create" | "update";
|
|
24
30
|
readonly targetKey: string;
|
|
25
31
|
readonly deploymentId: string;
|
|
26
32
|
readonly workerName: string;
|
|
@@ -28,6 +34,9 @@ export interface EveDeploymentMetadata {
|
|
|
28
34
|
readonly stableContainerInstanceName: string;
|
|
29
35
|
readonly stableWorkersDevOrigin: string;
|
|
30
36
|
readonly imageReference: string;
|
|
37
|
+
/** Present on updates: the superseded generation and its registry image. */
|
|
38
|
+
readonly supersededGenerationId?: string;
|
|
39
|
+
readonly supersededImageReference?: string;
|
|
31
40
|
readonly runtimeVariableNames: readonly string[];
|
|
32
41
|
readonly evidenceRetained: true;
|
|
33
42
|
}
|
|
@@ -50,6 +59,7 @@ export type EveCloudflareTargetState = "absent" | "owned" | "unowned" | "mismatc
|
|
|
50
59
|
export interface EveCloudflareReadRequest {
|
|
51
60
|
readonly projectId: string;
|
|
52
61
|
readonly sourceDigest: string;
|
|
62
|
+
readonly projectRoot: string;
|
|
53
63
|
readonly environment: EveCliEnvironment;
|
|
54
64
|
readonly name: string;
|
|
55
65
|
}
|
|
@@ -65,6 +75,32 @@ export interface EveCloudflareReadResult {
|
|
|
65
75
|
readonly message?: string;
|
|
66
76
|
readonly remediation?: string;
|
|
67
77
|
readonly identity?: EveDeploymentIdentityProof;
|
|
78
|
+
/**
|
|
79
|
+
* Which exact resources the read observed. `undefined` means the
|
|
80
|
+
* inventory could not be proven; `worker`/`container` booleans mean the
|
|
81
|
+
* exact names were present or absent without any ownership claim.
|
|
82
|
+
*/
|
|
83
|
+
readonly observed?: {
|
|
84
|
+
readonly worker: boolean;
|
|
85
|
+
readonly container: boolean;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Provider-backed facts about the live target, read through the
|
|
89
|
+
* Cloudflare API (not self-asserted response headers, which any Worker
|
|
90
|
+
* can forge): the Container application's Durable Object namespace and
|
|
91
|
+
* the `EDEN_EVE_DEPLOYMENT_ID` plain-text var Eden stamps into every
|
|
92
|
+
* Worker it publishes. `settingsReadable` tells the ownership resolver
|
|
93
|
+
* whether a missing var is evidence of a foreign Worker or just an
|
|
94
|
+
* unreadable settings call.
|
|
95
|
+
*/
|
|
96
|
+
readonly providerEvidence?: {
|
|
97
|
+
readonly containerApplicationId?: string;
|
|
98
|
+
readonly containerSchedulingPolicy?: string;
|
|
99
|
+
readonly containerNamespaceId?: string;
|
|
100
|
+
readonly workerDeploymentId?: string;
|
|
101
|
+
readonly workerContainerNamespaceId?: string;
|
|
102
|
+
readonly settingsReadable?: boolean;
|
|
103
|
+
};
|
|
68
104
|
};
|
|
69
105
|
}
|
|
70
106
|
export type EveCloudflareReadRunner = (request: EveCloudflareReadRequest) => EveCloudflareReadResult | Promise<EveCloudflareReadResult>;
|
|
@@ -104,7 +140,10 @@ export interface EveDeploymentIdentity {
|
|
|
104
140
|
readonly runtimeVariableNames: readonly string[];
|
|
105
141
|
readonly runtimeRevisionHandle?: string;
|
|
106
142
|
}
|
|
107
|
-
export type EveDeploymentIdentityProof = Partial<EveDeploymentIdentity
|
|
143
|
+
export type EveDeploymentIdentityProof = Partial<EveDeploymentIdentity> & {
|
|
144
|
+
/** The deployment the serving Container verifiably started under; set only by a deployed Eden host that proves its running image before stamping. */
|
|
145
|
+
readonly startedDeploymentId?: string;
|
|
146
|
+
};
|
|
108
147
|
export interface EveDeploymentPublicationRequest {
|
|
109
148
|
readonly identity: EveDeploymentIdentity;
|
|
110
149
|
readonly hostConfig: EveHostConfig;
|
|
@@ -213,19 +252,20 @@ export interface EvePreflightOptions {
|
|
|
213
252
|
readonly destroyCloudflareRead?: EveDestroyCloudflareReadRunner;
|
|
214
253
|
readonly deleteWorker?: EveWorkerDeleteRunner;
|
|
215
254
|
readonly deleteContainer?: EveContainerDeleteRunner;
|
|
216
|
-
readonly
|
|
255
|
+
readonly deleteRegistryRepository?: EveRegistryRepositoryDeleteRunner;
|
|
217
256
|
}
|
|
218
257
|
export interface EveDestroyTargetRead {
|
|
219
258
|
readonly workerExists: boolean;
|
|
220
259
|
readonly containerApplicationId?: string;
|
|
221
260
|
readonly accountId?: string;
|
|
222
261
|
/**
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
226
|
-
*
|
|
262
|
+
* Every `repository:tag` ref still present in the managed registry whose
|
|
263
|
+
* repository is one of the request's owned repositories — including the
|
|
264
|
+
* `rootfs-snapshot-*`/`rootfs-set-*` tags container snapshots create.
|
|
265
|
+
* `undefined` means the reader could not enumerate the registry; destroy
|
|
266
|
+
* then relies on the exact delete outcomes only.
|
|
227
267
|
*/
|
|
228
|
-
readonly
|
|
268
|
+
readonly registryTagsPresent?: readonly string[];
|
|
229
269
|
}
|
|
230
270
|
export type EveDestroyCloudflareReadRunner = (request: EveDestroyCloudflareReadRequest) => EveDestroyTargetRead | Promise<EveDestroyTargetRead>;
|
|
231
271
|
export type EveWorkerDeleteRunner = (request: {
|
|
@@ -234,15 +274,15 @@ export type EveWorkerDeleteRunner = (request: {
|
|
|
234
274
|
export type EveContainerDeleteRunner = (request: {
|
|
235
275
|
readonly applicationId: string;
|
|
236
276
|
}) => "deleted" | "absent" | "indeterminate" | Promise<"deleted" | "absent" | "indeterminate">;
|
|
237
|
-
export type
|
|
238
|
-
readonly
|
|
277
|
+
export type EveRegistryRepositoryDeleteRunner = (request: {
|
|
278
|
+
readonly repository: string;
|
|
239
279
|
}) => "deleted" | "absent" | "indeterminate" | Promise<"deleted" | "absent" | "indeterminate">;
|
|
240
280
|
export type EveRuntimeConfigLoader = (path: string, cwd: string) => EveRuntimeConfig | Promise<EveRuntimeConfig>;
|
|
241
281
|
export interface EveDestroyCloudflareReadRequest {
|
|
242
282
|
readonly workerName: string;
|
|
243
283
|
readonly containerApplicationName: string;
|
|
244
|
-
/**
|
|
245
|
-
readonly
|
|
284
|
+
/** Registry repository names this target provably owns. */
|
|
285
|
+
readonly registryRepositories?: readonly string[];
|
|
246
286
|
}
|
|
247
287
|
/**
|
|
248
288
|
* Container applications in the account that belong to this exact target.
|