create-open-autonomy 2.4.8 → 2.4.10
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 +1 -1
- package/package.json +1 -1
- package/src/kit.ts +1 -1
- package/template/.open-autonomy/start.ts +8 -4
- package/template/container/README.md +1 -1
package/README.md
CHANGED
|
@@ -34,7 +34,7 @@ hermes/ the agent: SOUL.md, its three skills (develop, pm, communit
|
|
|
34
34
|
.open-autonomy/ the platform connection: config.yaml (account, publish policy, the model and rail bounds the platform holds the project's funds to), reporter.ts (the publisher:
|
|
35
35
|
sessions, the board, the setup), mint-key.ts (the key, the adopter way), start.ts (the agent's four
|
|
36
36
|
processes, the one way it starts), the vendored SDK, kit.json (which kit, version and parameters made this repository)
|
|
37
|
-
container/ a real
|
|
37
|
+
container/ the default for a real deployment (bare is for development and fast debugging): one image whose entrypoint is start.ts as root, dropping the gateway to the image's user; the pinned Hermes
|
|
38
38
|
.github/workflows/ ci.yml (the project's check on every branch), land.yml (the landing convention)
|
|
39
39
|
```
|
|
40
40
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-open-autonomy",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.10",
|
|
4
4
|
"description": "The default Open Autonomy starter kit: a complete repository that runs its own Hermes agent against the platform, with the SDK wired in. `bun create open-autonomy <dir>` scaffolds one.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
package/src/kit.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync } from 'node:fs';
|
|
10
10
|
import { dirname, join, relative, resolve } from 'node:path';
|
|
11
11
|
|
|
12
|
-
export const KIT = { name: 'hermes', version: '2.4.
|
|
12
|
+
export const KIT = { name: 'hermes', version: '2.4.10' } as const;
|
|
13
13
|
export const KIT_FILE = '.open-autonomy/kit.json';
|
|
14
14
|
const TEMPLATE = resolve(import.meta.dir, '..', 'template');
|
|
15
15
|
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// Start the agent. The same processes wherever it runs; only how this script is started differs:
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
3
|
+
// in a container the default for a real deployment: the image's entrypoint, as root with the secrets mounted for
|
|
4
|
+
// root alone and `--as <user>`; the gateway and the reporter run as that user and can reach no
|
|
5
|
+
// key (container/README.md)
|
|
6
|
+
// on your machine `bun .open-autonomy/start.ts` — everything as you, no isolation: for development and fast
|
|
7
|
+
// debugging, where the agent reaching its own keys is an accepted trade
|
|
6
8
|
//
|
|
7
9
|
// bun .open-autonomy/start.ts [--home <dir>] [--secrets <dir>] [--project <dir>] [--origin <url>] [--as <user>] [--valve <port>]
|
|
8
10
|
//
|
|
@@ -58,7 +60,9 @@ const own = (path: string) => { if (user) Bun.spawnSync({ cmd: ['chown', '-R', `
|
|
|
58
60
|
// through: a start from inside another agent's worker (a project's world, brought up by a task) would otherwise inherit
|
|
59
61
|
// that worker's HERMES_KANBAN_DB, HERMES_KANBAN_HOME, its task and run, and file its work on the outer board.
|
|
60
62
|
const inherited = (): Record<string, string> => { const env: Record<string, string> = {}; for (const [k, v] of Object.entries(process.env)) if (v !== undefined && !k.startsWith('HERMES_')) env[k] = v; return env; };
|
|
61
|
-
|
|
63
|
+
// TERMINAL_CWD: a conversation's shell (a channel message answered live) starts in the checkout, as a task's does —
|
|
64
|
+
// Hermes would otherwise start it in the home, where the agent finds its own files and none of the project's.
|
|
65
|
+
const agentEnv = (): Record<string, string> => ({ ...inherited(), HERMES_HOME: home, TERMINAL_CWD: project, ...(user ? { HOME: home, USER: user.name, LOGNAME: user.name } : {}), ...(existsSync(sock) ? { SSH_AUTH_SOCK: sock } : {}), GIT_SSH_COMMAND: process.env.GIT_SSH_COMMAND ?? 'ssh -o StrictHostKeyChecking=accept-new' });
|
|
62
66
|
|
|
63
67
|
const children: Array<{ name: string; proc: ReturnType<typeof Bun.spawn> }> = [];
|
|
64
68
|
let ending = false;
|
|
@@ -4,7 +4,7 @@ The agent is four processes: an ssh-agent holding the deploy key, the valve hold
|
|
|
4
4
|
developer's on :8787, the treasurer's on :8788 — `--valve <port>` moves both — each re-read when its file changes), the keyless reporter, and
|
|
5
5
|
the Hermes gateway. One script starts them, `.open-autonomy/start.ts`, and it is the only way they are started.
|
|
6
6
|
|
|
7
|
-
**On your machine**, for development: everything as you, no isolation.
|
|
7
|
+
**In a container** is the default for a real deployment. **On your machine**, for development and fast debugging: everything as you, no isolation, the agent able to reach its own keys — an accepted trade while debugging, never the shape of production.
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
bun .open-autonomy/mint-key.ts # the developer's key → ~/.config/open-autonomy/agent.env
|