@aiwg/cockpit 2026.7.21 → 2026.7.24
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 +60 -6
- package/bridge/src/server.mjs +426 -5
- package/bridge/src/smoke.mjs +44 -3
- package/package.json +1 -1
- package/web/dist/assets/index-BoRrjczI.js +312 -0
- package/web/dist/assets/index-CesGeDud.css +32 -0
- package/web/dist/index.html +2 -2
- package/web/src/App.test.tsx +34 -1
- package/web/src/components/Inventory.test.tsx +165 -0
- package/web/src/components/Inventory.tsx +176 -3
- package/web/src/components/LaunchInstanceModal.test.tsx +151 -1
- package/web/src/components/LaunchInstanceModal.tsx +193 -3
- package/web/src/components/Telemetry.tsx +17 -2
- package/web/src/runtimeContracts.fixtures.ts +230 -0
- package/web/src/runtimeContracts.test.ts +63 -0
- package/web/src/styles.css +7 -0
- package/web/src/types.ts +168 -2
- package/web/dist/assets/index-B0ea5aQ1.css +0 -32
- package/web/dist/assets/index-BRN8u5R_.js +0 -312
package/README.md
CHANGED
|
@@ -8,8 +8,21 @@ Observe live agent work, attach to sessions, handle approvals, launch runtime
|
|
|
8
8
|
targets, and coordinate AIWG actions from one local operator surface. Cockpit
|
|
9
9
|
fronts the AIWG CLI and the agentic-sandbox executor; it does not replace either.
|
|
10
10
|
|
|
11
|
+
If AIWG is not already connected to your project, paste this into your
|
|
12
|
+
supported provider first:
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
Install or repair AIWG for this project by following
|
|
16
|
+
https://raw.githubusercontent.com/jmagly/aiwg/main/setup.aiwg.yaml
|
|
17
|
+
Explain the plan before changing anything, preserve my existing work, and ask
|
|
18
|
+
me only for choices you cannot safely determine.
|
|
19
|
+
```
|
|
20
|
+
|
|
11
21
|
```bash
|
|
12
22
|
npm i -g aiwg # install the base AIWG CLI
|
|
23
|
+
aiwg use all --provider <provider>
|
|
24
|
+
aiwg index build --all
|
|
25
|
+
aiwg regenerate --provider <provider>
|
|
13
26
|
aiwg use cockpit # install the opt-in Cockpit package, version-locked to AIWG
|
|
14
27
|
aiwg cockpit # launch the local Bridge + web UI
|
|
15
28
|
```
|
|
@@ -34,6 +47,9 @@ version to the installed AIWG version.
|
|
|
34
47
|
|
|
35
48
|
```bash
|
|
36
49
|
npm i -g aiwg
|
|
50
|
+
aiwg use all --provider <provider>
|
|
51
|
+
aiwg index build --all
|
|
52
|
+
aiwg regenerate --provider <provider>
|
|
37
53
|
aiwg use cockpit
|
|
38
54
|
aiwg cockpit --status
|
|
39
55
|
aiwg cockpit
|
|
@@ -259,6 +275,33 @@ QEMU/VM launches. Cockpit does not replace attached sessions when provisioning;
|
|
|
259
275
|
it refreshes inventory and leaves concurrency and resource admission to
|
|
260
276
|
agentic-sandbox.
|
|
261
277
|
|
|
278
|
+
For VM rows, Inventory renders provider-aware fast-start actions only when the
|
|
279
|
+
executor advertises the matching instance capability. Cloud Hypervisor rows can
|
|
280
|
+
offer snapshot, restore, fork, and warm-pool handoff. Libvirt rows can offer
|
|
281
|
+
checkpoint, restore, and warm-pool handoff when advertised. Cockpit sends
|
|
282
|
+
restore, fork, and warm-pool requests through the unified sandbox
|
|
283
|
+
`runtime_options` launch intent, polls the async operation resource to terminal
|
|
284
|
+
state, and records request/terminal audit evidence through the Bridge. VFIO
|
|
285
|
+
constraint exclusions keep unsafe fast-start actions disabled with the
|
|
286
|
+
executor-provided reason.
|
|
287
|
+
|
|
288
|
+
### VM provider and GPU/VFIO posture
|
|
289
|
+
|
|
290
|
+
The Launch instance modal uses sandbox loadout compatibility metadata instead
|
|
291
|
+
of assuming every VM provider supports every launch mode. Operators can select
|
|
292
|
+
an advertised VM provider and GPU/VFIO posture. Required GPU passthrough sends
|
|
293
|
+
`required_capabilities: ['device.vfio']`, excludes fast-start capabilities, and
|
|
294
|
+
sets `fallback_mode: 'fail'` so Cockpit requests a cold VM launch rather than a
|
|
295
|
+
snapshot/checkpoint path that would be unsafe for assigned devices. Inventory
|
|
296
|
+
then displays assigned VFIO devices and executor-provided incompatibility
|
|
297
|
+
reasons; it does not make VFIO generally available on hosts or loadouts that
|
|
298
|
+
cannot provide it.
|
|
299
|
+
|
|
300
|
+
The Apple Silicon validation path is preview-only. The sandbox `v2026.7.14`
|
|
301
|
+
macOS artifact is an unsigned, unnotarized developer package, and native macOS
|
|
302
|
+
is expected to lack Linux VM, Cloud Hypervisor, VFIO/GPU, vsock, and systemd
|
|
303
|
+
capabilities unless the executor reports otherwise.
|
|
304
|
+
|
|
262
305
|
### Recover stale agents
|
|
263
306
|
|
|
264
307
|
When a container, Docker, or VM runtime is still running but its agent
|
|
@@ -271,18 +314,25 @@ resolve an agent id.
|
|
|
271
314
|
The Bridge handles recovery through:
|
|
272
315
|
|
|
273
316
|
1. executor-owned reconnect endpoints when the sandbox exposes one, then
|
|
274
|
-
2. local Docker fallback
|
|
317
|
+
2. local Docker fallback, only when
|
|
318
|
+
`AIWG_COCKPIT_LOCAL_DOCKER_FALLBACK=1`: `docker exec <container> agent-reconnect`,
|
|
319
|
+
or
|
|
275
320
|
3. VM fallback (#1778): the same reconnect SIGHUP delivered through the libvirt
|
|
276
321
|
qemu-guest-agent channel (`virsh qemu-agent-command <domain> guest-exec
|
|
277
|
-
pkill -HUP -x agent-client`).
|
|
322
|
+
pkill -HUP -x agent-client`). The libvirt fallback is automatic on Linux;
|
|
323
|
+
on non-Linux hosts set `AIWG_COCKPIT_LOCAL_LIBVIRT_FALLBACK=1` for explicit
|
|
324
|
+
local-development use. Sessions survive reconnect on agentic-sandbox
|
|
278
325
|
2026.7.8+ agents; older agents preserve only detached tmux sessions
|
|
279
326
|
(agentic-sandbox#634).
|
|
280
327
|
|
|
281
328
|
The Docker fallback requires sandbox images that include the `agent-reconnect`
|
|
282
329
|
helper (agentic-sandbox v2026.7.5+ images); the VM fallback requires virsh
|
|
283
|
-
access to the domain from the Bridge host. If **Reconnect** reports
|
|
284
|
-
|
|
285
|
-
|
|
330
|
+
access to the domain from the Bridge host. If **Reconnect** reports
|
|
331
|
+
`local_docker_fallback_disabled` or `local_libvirt_fallback_disabled`, either
|
|
332
|
+
let the sandbox handle reconnect through its own endpoint or enable the matching
|
|
333
|
+
local-development fallback intentionally. If no reconnect path is available,
|
|
334
|
+
rebuild or repull the sandbox image, then start the instance again. For host
|
|
335
|
+
targets, prefer starting Cockpit with the host daemon:
|
|
286
336
|
|
|
287
337
|
```bash
|
|
288
338
|
AIWG_COCKPIT_START_HOST_DAEMON=1 npm run cockpit:up
|
|
@@ -317,6 +367,7 @@ Tests run **at stages** — committed harnesses, never `/tmp` rigs (#1635):
|
|
|
317
367
|
| **Dev e2e** (full control-plane chain: health→inventory→create session→attach) | `npm run e2e:cockpit-dev` | **real**, safe-skip when absent | non-blocking |
|
|
318
368
|
| **Daily Linux operator gate** (protected auth + host/container + recovery + upgrade/rollback, #1842) | `npm run uat:cockpit-daily` | **real**, required/fail-closed | operator-scheduled |
|
|
319
369
|
| **Release matrix** (host/docker/vm + provider workload, #1621) | `npm run uat:cockpit-live:matrix` | **real**, all three families | release gate |
|
|
370
|
+
| **Provider-aware VM fast start** (#1843) | `npm --prefix apps/cockpit/web run test -- Inventory.test.tsx` · `node apps/cockpit/bridge/src/smoke.mjs` | **mock** plus live executor for release signoff | required before enabling new VM controls |
|
|
320
371
|
|
|
321
372
|
```bash
|
|
322
373
|
npm --prefix apps/cockpit run check # build web + typecheck + render/a11y tests + smokes + PoCs
|
|
@@ -333,7 +384,10 @@ host/container working-directory expectations, cleanup boundary, and report
|
|
|
333
384
|
schema are documented in
|
|
334
385
|
[Cockpit Daily Linux Operator Gate](../../docs/cockpit/daily-operator-gate.md).
|
|
335
386
|
VM and Apple remain reported preview tiers and do not block the first Linux
|
|
336
|
-
supported result.
|
|
387
|
+
supported result. Apple preview evidence is based on the agentic-sandbox
|
|
388
|
+
developer package, `darwin/arm64` host runtime discovery, and Docker Desktop
|
|
389
|
+
runtime posture; production signing/notarization is tracked separately and is
|
|
390
|
+
not required to pass the Cockpit Linux gate.
|
|
337
391
|
|
|
338
392
|
The React UI is also browser-verified per surface (see `.playwright-mcp/cockpit-*.png`).
|
|
339
393
|
Conformance (`agentic-sandbox-conformance`) was 33 pass / 0 fail / 17 skip; the
|