@hybridaione/hybridclaw 0.2.12 → 0.3.1
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/CHANGELOG.md +22 -0
- package/README.md +11 -14
- package/config.example.json +8 -2
- package/container/dist/approval-policy.js +1183 -0
- package/container/dist/approval-policy.js.map +1 -0
- package/container/dist/browser-tools.js +1523 -0
- package/container/dist/browser-tools.js.map +1 -0
- package/container/dist/extensions.js +114 -0
- package/container/dist/extensions.js.map +1 -0
- package/container/dist/hybridai-client.js +256 -0
- package/container/dist/hybridai-client.js.map +1 -0
- package/container/dist/index.js +866 -0
- package/container/dist/index.js.map +1 -0
- package/container/dist/ipc.js +32 -0
- package/container/dist/ipc.js.map +1 -0
- package/container/dist/model-retry.js +18 -0
- package/container/dist/model-retry.js.map +1 -0
- package/container/dist/runtime-paths.js +79 -0
- package/container/dist/runtime-paths.js.map +1 -0
- package/container/dist/token-usage.js +168 -0
- package/container/dist/token-usage.js.map +1 -0
- package/container/dist/tools.js +2265 -0
- package/container/dist/tools.js.map +1 -0
- package/container/dist/types.js +2 -0
- package/container/dist/types.js.map +1 -0
- package/container/dist/web-fetch.js +396 -0
- package/container/dist/web-fetch.js.map +1 -0
- package/container/package-lock.json +2 -2
- package/container/package.json +1 -1
- package/container/src/browser-tools.ts +20 -23
- package/container/src/index.ts +19 -29
- package/container/src/ipc.ts +1 -1
- package/container/src/runtime-paths.ts +116 -0
- package/container/src/tools.ts +32 -47
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +20 -8
- package/dist/agent.js.map +1 -1
- package/dist/audit-cli.d.ts.map +1 -1
- package/dist/audit-cli.js +25 -31
- package/dist/audit-cli.js.map +1 -1
- package/dist/cli-flags.d.ts +12 -0
- package/dist/cli-flags.d.ts.map +1 -0
- package/dist/cli-flags.js +75 -0
- package/dist/cli-flags.js.map +1 -0
- package/dist/cli.js +81 -62
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +12 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +76 -6
- package/dist/config.js.map +1 -1
- package/dist/container-runner.d.ts +25 -0
- package/dist/container-runner.d.ts.map +1 -1
- package/dist/container-runner.js +31 -6
- package/dist/container-runner.js.map +1 -1
- package/dist/container-setup.d.ts.map +1 -1
- package/dist/container-setup.js +49 -70
- package/dist/container-setup.js.map +1 -1
- package/dist/executor.d.ts +45 -0
- package/dist/executor.d.ts.map +1 -0
- package/dist/executor.js +87 -0
- package/dist/executor.js.map +1 -0
- package/dist/gateway-service.d.ts.map +1 -1
- package/dist/gateway-service.js +8 -5
- package/dist/gateway-service.js.map +1 -1
- package/dist/gateway-types.d.ts +15 -0
- package/dist/gateway-types.d.ts.map +1 -1
- package/dist/gateway-types.js.map +1 -1
- package/dist/gateway.js +2 -2
- package/dist/gateway.js.map +1 -1
- package/dist/health.d.ts.map +1 -1
- package/dist/health.js +2 -1
- package/dist/health.js.map +1 -1
- package/dist/host-runner.d.ts +43 -0
- package/dist/host-runner.d.ts.map +1 -0
- package/dist/host-runner.js +284 -0
- package/dist/host-runner.js.map +1 -0
- package/dist/install-root.d.ts +4 -0
- package/dist/install-root.d.ts.map +1 -0
- package/dist/install-root.js +74 -0
- package/dist/install-root.js.map +1 -0
- package/dist/instruction-approval-audit.d.ts.map +1 -1
- package/dist/instruction-approval-audit.js +3 -3
- package/dist/instruction-approval-audit.js.map +1 -1
- package/dist/instruction-integrity.d.ts +27 -16
- package/dist/instruction-integrity.d.ts.map +1 -1
- package/dist/instruction-integrity.js +74 -93
- package/dist/instruction-integrity.js.map +1 -1
- package/dist/onboarding.d.ts.map +1 -1
- package/dist/onboarding.js +17 -56
- package/dist/onboarding.js.map +1 -1
- package/dist/prompt-hooks.d.ts.map +1 -1
- package/dist/prompt-hooks.js +2 -4
- package/dist/prompt-hooks.js.map +1 -1
- package/dist/runtime-config.d.ts +6 -1
- package/dist/runtime-config.d.ts.map +1 -1
- package/dist/runtime-config.js +71 -180
- package/dist/runtime-config.js.map +1 -1
- package/dist/runtime-secrets.d.ts +7 -0
- package/dist/runtime-secrets.d.ts.map +1 -0
- package/dist/runtime-secrets.js +132 -0
- package/dist/runtime-secrets.js.map +1 -0
- package/dist/tui.js +4 -4
- package/dist/tui.js.map +1 -1
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +3 -2
- package/dist/workspace.js.map +1 -1
- package/docs/index.html +36 -36
- package/package.json +4 -4
- package/.env.example +0 -14
- package/dist/env.d.ts +0 -6
- package/dist/env.d.ts.map +0 -1
- package/dist/env.js +0 -36
- package/dist/env.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,12 +2,34 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.3.1](https://github.com/HybridAIOne/hybridclaw/tree/v0.3.1)
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- **Home-only runtime state**: Runtime config, credentials, and data now stay under `~/.hybridclaw` exclusively; onboarding writes `credentials.json`, existing `./.env` secrets are imported into that file for compatibility, and the CLI stops probing legacy `./config.json` / `./data` runtime files.
|
|
10
|
+
- **Container image state handling**: Container image fingerprint/state recording is now centralized, missing files are tolerated during fingerprint collection, and build/pull status lines use the invoking command name for clearer operator output.
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **Gateway lifecycle flag parsing**: `hybridclaw gateway start --sandbox=host` and `hybridclaw gateway restart --sandbox=host` no longer trip the top-level unsupported-flag guard, while non-lifecycle gateway subcommands still reject misplaced `--sandbox` / `--foreground` flags.
|
|
15
|
+
|
|
16
|
+
## [0.3.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.3.0)
|
|
17
|
+
|
|
5
18
|
### Added
|
|
6
19
|
|
|
20
|
+
- **Configurable sandbox modes**: Gateway start/restart now accept `--sandbox=container|host`, runtime config adds `container.sandboxMode`, and gateway/TUI status surfaces show the active sandbox mode so operators can avoid Docker-in-Docker when HybridClaw itself already runs inside a container.
|
|
21
|
+
|
|
7
22
|
### Changed
|
|
8
23
|
|
|
24
|
+
- **Container runtime hardening**: Container execution now drops Linux capabilities, disables privilege escalation, enforces a PID limit, uses a sized `/tmp` tmpfs, and adds `container.memorySwap` / `container.network` tuning alongside GHCR-first image pulls before the optional Docker Hub mirror.
|
|
25
|
+
- **Packaged host runtime**: Root builds now compile and ship `container/dist/` so host sandbox mode can launch the bundled agent runtime from installed npm packages.
|
|
26
|
+
- **Instruction sync workflow**: `hybridclaw audit instructions` now compares runtime copies in `~/.hybridclaw/instructions/` to installed package sources and uses `--sync` to restore shipped defaults instead of maintaining a local approval-hash baseline.
|
|
27
|
+
|
|
9
28
|
### Fixed
|
|
10
29
|
|
|
30
|
+
- **Release container publishing resilience**: Release-tag container publishing now always publishes GHCR even when Docker Hub credentials are absent, instead of failing before any registry push occurs.
|
|
31
|
+
- **Install-root asset resolution**: Runtime docs/templates/instructions now resolve from the actual install root, so onboarding, prompt guardrails, workspace bootstrap files, and the built-in site no longer depend on `process.cwd()`.
|
|
32
|
+
|
|
11
33
|
## [0.2.12](https://github.com/HybridAIOne/hybridclaw/tree/v0.2.12)
|
|
12
34
|
|
|
13
35
|
### Added
|
package/README.md
CHANGED
|
@@ -11,13 +11,7 @@ npm install -g @hybridaione/hybridclaw
|
|
|
11
11
|
hybridclaw onboarding
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
Latest release: [v0.
|
|
15
|
-
|
|
16
|
-
## Release highlights (v0.2.12)
|
|
17
|
-
|
|
18
|
-
- Runtime config/data now default to `~/.hybridclaw`, with automatic migration from legacy `./config.json` and `./data`.
|
|
19
|
-
- HybridClaw now auto-pulls prebuilt runtime images (Docker Hub first, GHCR fallback) before trying a local build.
|
|
20
|
-
- Discord slash command registration now removes duplicate guild `/status` entries and keeps global-only commands clean.
|
|
14
|
+
Latest release: [v0.3.1](https://github.com/HybridAIOne/hybridclaw/releases/tag/v0.3.1)
|
|
21
15
|
|
|
22
16
|
## HybridAI Advantage
|
|
23
17
|
|
|
@@ -42,7 +36,6 @@ Latest release: [v0.2.12](https://github.com/HybridAIOne/hybridclaw/releases/tag
|
|
|
42
36
|
npm install
|
|
43
37
|
|
|
44
38
|
# Run onboarding (also auto-runs on first `gateway`/`tui` start if API key is missing)
|
|
45
|
-
# On first run, it creates `.env` from `.env.example` automatically if needed.
|
|
46
39
|
hybridclaw onboarding
|
|
47
40
|
|
|
48
41
|
# Onboarding flow:
|
|
@@ -51,7 +44,7 @@ hybridclaw onboarding
|
|
|
51
44
|
# 3) open /register in browser (optional) and confirm in terminal
|
|
52
45
|
# 4) open /login?next=/admin_api_keys in browser and get an API key
|
|
53
46
|
# 5) paste API key (or URL containing it) back into the CLI
|
|
54
|
-
# 6) choose the default bot (saved to ~/.hybridclaw/config.json) and save secrets to
|
|
47
|
+
# 6) choose the default bot (saved to ~/.hybridclaw/config.json) and save secrets to ~/.hybridclaw/credentials.json
|
|
55
48
|
|
|
56
49
|
# Start gateway backend (default)
|
|
57
50
|
hybridclaw gateway
|
|
@@ -74,6 +67,8 @@ Runtime model:
|
|
|
74
67
|
- If `DISCORD_TOKEN` is set, Discord runs inside gateway automatically.
|
|
75
68
|
- `hybridclaw tui` is a thin client that connects to the gateway.
|
|
76
69
|
- `hybridclaw gateway` and `hybridclaw tui` validate the container image at startup.
|
|
70
|
+
- `container.sandboxMode` defaults to `container`, but if HybridClaw is already running inside a container and the setting is not explicitly pinned, the gateway auto-switches to `host` to avoid Docker-in-Docker.
|
|
71
|
+
- Use `hybridclaw gateway start --sandbox=host` or `hybridclaw gateway restart --sandbox=host` to force host execution for a given launch.
|
|
77
72
|
- On first run, HybridClaw automatically prepares that image (pulls a prebuilt image first, then falls back to local build if needed).
|
|
78
73
|
- If container setup fails, run `npm run build:container` in the project root and retry.
|
|
79
74
|
|
|
@@ -82,9 +77,10 @@ Runtime model:
|
|
|
82
77
|
HybridClaw creates `~/.hybridclaw/config.json` on first run and hot-reloads most runtime settings.
|
|
83
78
|
|
|
84
79
|
- Start from `config.example.json` (reference).
|
|
85
|
-
- Runtime
|
|
86
|
-
-
|
|
87
|
-
-
|
|
80
|
+
- Runtime state lives under `~/.hybridclaw/` (`config.json`, `credentials.json`, `data/hybridclaw.db`, audit/session files).
|
|
81
|
+
- HybridClaw does not keep runtime state in the current working directory. If `./.env` exists, supported secrets are migrated once into `~/.hybridclaw/credentials.json`.
|
|
82
|
+
- `container.*` controls execution isolation, including `sandboxMode`, `memory`, `memorySwap`, `cpus`, `network`, and additional mounts.
|
|
83
|
+
- Keep secrets in `~/.hybridclaw/credentials.json` (`HYBRIDAI_API_KEY` required, `DISCORD_TOKEN` optional).
|
|
88
84
|
- Trust-model acceptance is stored in `~/.hybridclaw/config.json` under `security.*` and is required before runtime starts.
|
|
89
85
|
- See [TRUST_MODEL.md](./TRUST_MODEL.md) for onboarding acceptance policy and [SECURITY.md](./SECURITY.md) for technical security guidelines.
|
|
90
86
|
- For advanced configuration, audit/observability details, skills internals, agent tools, and developer docs, see [CONTRIBUTING.md](./CONTRIBUTING.md).
|
|
@@ -94,8 +90,8 @@ HybridClaw creates `~/.hybridclaw/config.json` on first run and hot-reloads most
|
|
|
94
90
|
CLI runtime commands:
|
|
95
91
|
|
|
96
92
|
- `hybridclaw --version` / `-v` — Print installed HybridClaw version
|
|
97
|
-
- `hybridclaw gateway start [--foreground]` — Start gateway (backend by default; foreground with flag)
|
|
98
|
-
- `hybridclaw gateway restart [--foreground]` — Restart managed gateway backend process
|
|
93
|
+
- `hybridclaw gateway start [--foreground] [--sandbox=container|host]` — Start gateway (backend by default; foreground with flag)
|
|
94
|
+
- `hybridclaw gateway restart [--foreground] [--sandbox=container|host]` — Restart managed gateway backend process
|
|
99
95
|
- `hybridclaw gateway stop` — Stop managed gateway backend process
|
|
100
96
|
- `hybridclaw gateway status` — Show lifecycle/API status
|
|
101
97
|
- `hybridclaw gateway <command...>` — Send a command to a running gateway (for example `sessions`, `bot info`)
|
|
@@ -103,6 +99,7 @@ CLI runtime commands:
|
|
|
103
99
|
- `hybridclaw onboarding` — Run HybridAI account/API key onboarding
|
|
104
100
|
- `hybridclaw update [status|--check] [--yes]` — Check for updates and upgrade global npm installs (source checkouts get git-based update instructions)
|
|
105
101
|
- `hybridclaw audit ...` — Verify and inspect structured audit trail (`recent`, `search`, `approvals`, `verify`, `instructions`)
|
|
102
|
+
- `hybridclaw audit instructions [--sync]` — Compare runtime instruction copies under `~/.hybridclaw/instructions/` against installed sources and restore shipped defaults when needed
|
|
106
103
|
|
|
107
104
|
In Discord, use `!claw help` to see all commands. Key ones:
|
|
108
105
|
|
package/config.example.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version":
|
|
2
|
+
"version": 6,
|
|
3
3
|
"security": {
|
|
4
4
|
"trustModelAccepted": false,
|
|
5
5
|
"trustModelAcceptedAt": "",
|
|
@@ -69,9 +69,12 @@
|
|
|
69
69
|
"models": ["gpt-5-nano", "gpt-5-mini", "gpt-5"]
|
|
70
70
|
},
|
|
71
71
|
"container": {
|
|
72
|
+
"sandboxMode": "container",
|
|
72
73
|
"image": "hybridclaw-agent",
|
|
73
74
|
"memory": "512m",
|
|
75
|
+
"memorySwap": "",
|
|
74
76
|
"cpus": "1",
|
|
77
|
+
"network": "bridge",
|
|
75
78
|
"timeoutMs": 300000,
|
|
76
79
|
"additionalMounts": "",
|
|
77
80
|
"maxOutputBytes": 10485760,
|
|
@@ -158,6 +161,8 @@
|
|
|
158
161
|
"description": "Runs standup summary every weekday at 9am.",
|
|
159
162
|
"schedule": {
|
|
160
163
|
"kind": "cron",
|
|
164
|
+
"at": null,
|
|
165
|
+
"everyMs": null,
|
|
161
166
|
"expr": "0 9 * * 1-5",
|
|
162
167
|
"tz": "America/New_York"
|
|
163
168
|
},
|
|
@@ -168,7 +173,8 @@
|
|
|
168
173
|
"delivery": {
|
|
169
174
|
"kind": "channel",
|
|
170
175
|
"channel": "discord",
|
|
171
|
-
"to": "123456789012345678"
|
|
176
|
+
"to": "123456789012345678",
|
|
177
|
+
"webhookUrl": ""
|
|
172
178
|
},
|
|
173
179
|
"enabled": false
|
|
174
180
|
}
|