@moinulmoin/eden 0.7.1 → 0.7.3

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/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  Eden deploys an existing [Vercel Eve](https://github.com/vercel/eve) project to
4
4
  your own Cloudflare account through one CLI.
5
5
 
6
- ![eden deploy: an Eve project live on workers.dev, a real model reply, then eden destroy](https://raw.githubusercontent.com/moinulmoin/eden/main/docs/assets/eden-deploy.gif)
6
+ ![eden deploy on Eve 0.81.0: live on workers.dev, a real model reply, an in-place update, then eden destroy (real run, sped up)](https://raw.githubusercontent.com/moinulmoin/eden/main/docs/assets/eden-deploy.gif)
7
7
 
8
8
  If you already have an Eve project, start with `eden deploy`.
9
9
 
@@ -12,21 +12,21 @@ 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.7.1
15
+ npm install --global @moinulmoin/eden@0.7.3
16
16
  ```
17
17
 
18
18
  ```sh
19
- pnpm add --global @moinulmoin/eden@0.7.1
19
+ pnpm add --global @moinulmoin/eden@0.7.3
20
20
  ```
21
21
 
22
22
  ```sh
23
- bun add --global @moinulmoin/eden@0.7.1
23
+ bun add --global @moinulmoin/eden@0.7.3
24
24
  ```
25
25
 
26
26
  Then confirm the CLI is available:
27
27
 
28
28
  ```sh
29
- eden --help
29
+ eden --version
30
30
  ```
31
31
 
32
32
  Bun can install Eden, but Eden still runs on Node. Do not use `bunx --bun`.
@@ -102,6 +102,10 @@ eden preflight \
102
102
  --name my-eve-preview
103
103
  ```
104
104
 
105
+ Ship a change by running the same deploy again. Eden updates the target it
106
+ owns in place: same Worker and URL, the new code, and every conversation's
107
+ sandbox files carried into the new Container.
108
+
105
109
  Remove exactly that deployment when finished:
106
110
 
107
111
  ```sh
@@ -117,7 +121,7 @@ deletes by prefix or broad account search.
117
121
  | Command | Purpose |
118
122
  | --- | --- |
119
123
  | `eden preflight` | Build and inspect an Eve candidate without remote mutation |
120
- | `eden deploy` | Deploy an existing Eve project to one exact target |
124
+ | `eden deploy` | Deploy an existing Eve project to one exact target, or update one Eden owns in place |
121
125
  | `eden destroy` | Remove one exact Eden-owned Eve deployment |
122
126
 
123
127
  Run `eden <command> --help` for command-specific options.
@@ -125,7 +129,11 @@ Run `eden <command> --help` for command-specific options.
125
129
  ## What Eden does not do
126
130
 
127
131
  - Deploy does not replace the Eve project's providers, databases, Workflow
128
- World, authentication, schedules, channels, or sandbox.
132
+ World, authentication, schedules, or channels.
133
+ - The agent's sandbox is `just-bash`, a simulated shell, not a real Linux VM
134
+ like Vercel Sandbox. Files, `grep`/`sed`/`jq`/`sqlite3`, and `curl` work;
135
+ `python`, `git`, and `npm` do not. A custom `agent/sandbox.ts` or
136
+ `agent/sandbox/Dockerfile` is not supported yet.
129
137
  - Container files survive sleep via snapshots, and image updates now carry
130
138
  Eve's sandbox sessions — every conversation's files — across the image
131
139
  change through the Durable Object's storage (capped at 1 GiB compressed).
@@ -227,7 +227,7 @@ async function collectEveWorldWarnings(candidate, runtimeConfig) {
227
227
  world === "@workflow/world-local") {
228
228
  warnings.push({
229
229
  id: "EVE_WORLD_LOCAL",
230
- message: "This project uses Eve's default local Workflow World; workflow state lives on the container disk and is lost when the container sleeps.",
230
+ message: "This project uses Eve's default local Workflow World; workflow state lives on the container disk, survives sleep, and resets when you update the agent.",
231
231
  remediation: "Configure a durable Workflow World such as @workflow/world-postgres; see docs/deploy.md#durable-state-postgres-world.",
232
232
  });
233
233
  }
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env -S node --
2
- import { realpathSync, } from "fs";
2
+ import { readFileSync, realpathSync, } from "fs";
3
3
  import { lstat, readFile, realpath, } from "fs/promises";
4
4
  import { isAbsolute, join, resolve, } from "path";
5
5
  import { fileURLToPath, } from "url";
@@ -22,7 +22,22 @@ preflight and deploy default to the current directory, the preview
22
22
  environment, and a target name derived from package.json. destroy and
23
23
  --env production always require an explicit --name.
24
24
  Run eden <preflight|deploy|destroy> --help for command-specific options.
25
+ Run eden --version to print the installed version.
25
26
  `;
27
+ /** Reads the version from this package's manifest, which npm always ships next to dist/. */
28
+ function edenVersion() {
29
+ const manifest = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8"));
30
+ if (typeof manifest !== "object" ||
31
+ manifest === null ||
32
+ !("version" in manifest) ||
33
+ typeof manifest.version !== "string") {
34
+ throw new EveCliError({
35
+ code: "VERSION_UNAVAILABLE",
36
+ message: "The Eden package manifest has no version.",
37
+ });
38
+ }
39
+ return manifest.version;
40
+ }
26
41
  function defaultStdout(line) {
27
42
  process.stdout.write(`${line}\n`);
28
43
  }
@@ -158,6 +173,10 @@ export async function runEdenCli(args, options = {}) {
158
173
  stdout(USAGE.trimEnd());
159
174
  return 0;
160
175
  }
176
+ if (args[0] === "--version" || args[0] === "-v") {
177
+ stdout(edenVersion());
178
+ return 0;
179
+ }
161
180
  if (!EVE_CLI_COMMANDS.includes(args[0] ?? "")) {
162
181
  throw new EveCliError({
163
182
  code: "COMMAND_UNKNOWN",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moinulmoin/eden",
3
- "version": "0.7.1",
3
+ "version": "0.7.3",
4
4
  "description": "Deploy existing Eve projects to your own Cloudflare account.",
5
5
  "keywords": [
6
6
  "ai",
@@ -31,7 +31,7 @@
31
31
  "NOTICE"
32
32
  ],
33
33
  "dependencies": {
34
- "@moinulmoin/eden-runtime-cloudflare": "0.7.1",
34
+ "@moinulmoin/eden-runtime-cloudflare": "0.7.3",
35
35
  "wrangler": "4.147.0"
36
36
  },
37
37
  "devDependencies": {