@bastani/atomic 0.9.56-alpha.1 → 0.9.57-alpha.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 +12 -0
- package/dist/builtin/intercom/package.json +1 -1
- package/dist/builtin/mcp/package.json +1 -1
- package/dist/builtin/subagents/CHANGELOG.md +24 -0
- package/dist/builtin/subagents/package.json +1 -1
- package/dist/builtin/subagents/skills/agent-desktop/SKILL.md +83 -0
- package/dist/builtin/web-access/package.json +1 -1
- package/dist/builtin/workflows/CHANGELOG.md +12 -0
- package/dist/builtin/workflows/builtin/adversarial-verification.js +3 -3
- package/dist/builtin/workflows/builtin/{chunk-49kkbdpr.js → chunk-2f1shjah.js} +1 -1
- package/dist/builtin/workflows/builtin/{chunk-dcxscfnb.js → chunk-37gm3bzk.js} +1 -1
- package/dist/builtin/workflows/builtin/{chunk-2jfst7e4.js → chunk-45fn5q5p.js} +1 -1
- package/dist/builtin/workflows/builtin/{chunk-hx8v4p97.js → chunk-4ek3v2wm.js} +1 -1
- package/dist/builtin/workflows/builtin/{chunk-z3pajrfs.js → chunk-8d40nyz9.js} +1 -1
- package/dist/builtin/workflows/builtin/{chunk-qhm35ntx.js → chunk-g3b2zf8r.js} +2 -2
- package/dist/builtin/workflows/builtin/{chunk-6jpwc09k.js → chunk-h6bt0r0g.js} +2 -2
- package/dist/builtin/workflows/builtin/{chunk-9cm2ckq2.js → chunk-x25rjw4y.js} +4 -4
- package/dist/builtin/workflows/builtin/{chunk-apagcs4r.js → chunk-xqcy5nve.js} +1 -1
- package/dist/builtin/workflows/builtin/{chunk-w4xp1w1f.js → chunk-yb55w6me.js} +1 -1
- package/dist/builtin/workflows/builtin/{chunk-k5q3t7je.js → chunk-yjgfnbgd.js} +1 -1
- package/dist/builtin/workflows/builtin/classify-and-act.js +3 -3
- package/dist/builtin/workflows/builtin/fan-out-and-synthesize.js +3 -3
- package/dist/builtin/workflows/builtin/generate-and-filter.js +3 -3
- package/dist/builtin/workflows/builtin/goal.js +3 -3
- package/dist/builtin/workflows/builtin/index.js +11 -11
- package/dist/builtin/workflows/builtin/loop-until-done.js +3 -3
- package/dist/builtin/workflows/builtin/open-claude-design.js +3 -3
- package/dist/builtin/workflows/builtin/ralph.js +3 -3
- package/dist/builtin/workflows/builtin/steering-context.js +1 -1
- package/dist/builtin/workflows/builtin/tournament.js +3 -3
- package/dist/builtin/workflows/package.json +1 -1
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +7 -7
- package/dist/builtin/workflows/src/extension/local-worker-entry.mjs +4 -4
- package/dist/builtin/workflows/src/index.js +4 -4
- package/dist/builtin/workflows/src/local-worker-entry.mjs +4 -4
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +2 -3
- package/dist/core/system-prompt.js.map +1 -1
- package/docs/computer-use.md +119 -98
- package/docs/getting-started/first-session.md +1 -1
- package/docs/skills.md +2 -2
- package/docs/usage.md +1 -1
- package/docs/workflows/authoring.md +105 -141
- package/docs/workflows/verification.md +14 -13
- package/npm-shrinkwrap.json +32 -32
- package/package.json +3 -3
- package/dist/builtin/subagents/skills/cua-driver/BROWSER.md +0 -562
- package/dist/builtin/subagents/skills/cua-driver/EMBEDDING.md +0 -685
- package/dist/builtin/subagents/skills/cua-driver/LINUX.md +0 -412
- package/dist/builtin/subagents/skills/cua-driver/MACOS.md +0 -996
- package/dist/builtin/subagents/skills/cua-driver/README.md +0 -123
- package/dist/builtin/subagents/skills/cua-driver/RECORDING.md +0 -132
- package/dist/builtin/subagents/skills/cua-driver/RUNTIME.md +0 -115
- package/dist/builtin/subagents/skills/cua-driver/SKILL.md +0 -108
- package/dist/builtin/subagents/skills/cua-driver/VISUAL.md +0 -125
- package/dist/builtin/subagents/skills/cua-driver/WINDOWS.md +0 -832
- package/dist/builtin/subagents/skills/cua-driver/WORKFLOW.md +0 -226
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.9.57] - 2026-10-31
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Atomic's computer-use guidance now routes native desktop apps, menus, OS dialogs and non-Chromium desktop browsers to `agent-desktop` instead of Cua Driver; websites, Mobile Safari and CDP-exposing apps stay with `agent-browser`. Workflow code that owns a desktop scenario calls the `agent-desktop` CLI from `ctx.tool` (it has no TypeScript SDK), with a readiness preflight that ends the run as `blocked` when a permission or the Linux accessibility bus is missing. The [Computer use](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/docs/computer-use.md) guide covers installing it, permissions on each OS, and what it cannot cover: apps with no accessibility tree, and native iOS and Android apps, which need native mobile tooling.
|
|
10
|
+
|
|
11
|
+
## [0.9.57-alpha.1] - 2026-10-31
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- Atomic's computer-use guidance now routes native desktop apps, menus, OS dialogs and non-Chromium desktop browsers to `agent-desktop` instead of Cua Driver; websites, Mobile Safari and CDP-exposing apps stay with `agent-browser`. Workflow code that owns a desktop scenario calls the `agent-desktop` CLI from `ctx.tool` (it has no TypeScript SDK), with a readiness preflight that ends the run as `blocked` when a permission or the Linux accessibility bus is missing. The [Computer use](https://github.com/bastani-inc/atomic/blob/main/packages/coding-agent/docs/computer-use.md) guide covers installing it, permissions on each OS, and what it cannot cover: apps with no accessibility tree, and native iOS and Android apps, which need native mobile tooling.
|
|
16
|
+
|
|
5
17
|
## [0.9.56] - 2026-10-30
|
|
6
18
|
|
|
7
19
|
The newest fixes from upstream pi: tool search, WSL, updates and MCP.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bastani/intercom",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.57-alpha.1",
|
|
4
4
|
"private": true,
|
|
5
5
|
"description": "Atomic extension providing a private coordination channel between parent and child agent sessions. Fork of: https://github.com/nicobailon/pi-intercom",
|
|
6
6
|
"contributors": [
|
|
@@ -2,6 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.9.57] - 2026-10-31
|
|
6
|
+
|
|
7
|
+
Desktop computer use moves from Cua Driver to agent-desktop.
|
|
8
|
+
|
|
9
|
+
- **agent-desktop for native apps:** the bundled computer-use skill is now `agent-desktop`, which drives native desktop apps, menus and OS dialogs on macOS, Windows and Linux through their accessibility trees. Install it with `npm install -g agent-desktop`; the skill loads guides that match the installed version ([#4134](https://github.com/bastani-inc/atomic/pull/4134))
|
|
10
|
+
- **Workflow code:** a workflow that owns a desktop scenario calls the `agent-desktop` CLI from `ctx.tool`, checks readiness first, and ends the run as `blocked` when a permission or the Linux accessibility bus is missing ([#4134](https://github.com/bastani-inc/atomic/pull/4134))
|
|
11
|
+
- **Coverage that changed:** agent-desktop reads accessibility trees, not pixels, and has no native iOS or Android support; use `xcrun simctl`, Appium or `adb` for native mobile apps. `ATOMIC_CUA_AUTO_APPROVE` no longer has any effect ([#4134](https://github.com/bastani-inc/atomic/pull/4134))
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- The bundled computer-use skill is now `agent-desktop` (vercel-labs/agent-desktop v1.0.2) instead of `cua-driver`. It drives native desktop apps on macOS, Windows and Linux through their accessibility trees. Install the CLI with `npm install -g agent-desktop`; check readiness with `agent-desktop status`, and on macOS grant Accessibility with `agent-desktop permissions --guide`. The skill tells the agent to load `agent-desktop skills get desktop` and `agent-desktop skills get platform`, which always match the installed CLI. agent-desktop does not match pixels, so apps that expose no accessibility tree, native iOS apps in the Simulator and Android emulators no longer have a bundled route; use `xcrun simctl`, Appium or `adb` for native mobile apps. `ATOMIC_CUA_AUTO_APPROVE` no longer has any effect.
|
|
16
|
+
|
|
17
|
+
## [0.9.57-alpha.1] - 2026-10-31
|
|
18
|
+
|
|
19
|
+
Desktop computer use moves from Cua Driver to agent-desktop.
|
|
20
|
+
|
|
21
|
+
- **agent-desktop for native apps:** the bundled computer-use skill is now `agent-desktop`, which drives native desktop apps, menus and OS dialogs on macOS, Windows and Linux through their accessibility trees. Install it with `npm install -g agent-desktop`; the skill loads guides that match the installed version ([#4134](https://github.com/bastani-inc/atomic/pull/4134))
|
|
22
|
+
- **Workflow code:** a workflow that owns a desktop scenario calls the `agent-desktop` CLI from `ctx.tool`, checks readiness first, and ends the run as `blocked` when a permission or the Linux accessibility bus is missing ([#4134](https://github.com/bastani-inc/atomic/pull/4134))
|
|
23
|
+
- **Coverage that changed:** agent-desktop reads accessibility trees, not pixels, and has no native iOS or Android support; use `xcrun simctl`, Appium or `adb` for native mobile apps. `ATOMIC_CUA_AUTO_APPROVE` no longer has any effect ([#4134](https://github.com/bastani-inc/atomic/pull/4134))
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
|
|
27
|
+
- The bundled computer-use skill is now `agent-desktop` (vercel-labs/agent-desktop v1.0.2) instead of `cua-driver`. It drives native desktop apps on macOS, Windows and Linux through their accessibility trees. Install the CLI with `npm install -g agent-desktop`; check readiness with `agent-desktop status`, and on macOS grant Accessibility with `agent-desktop permissions --guide`. The skill tells the agent to load `agent-desktop skills get desktop` and `agent-desktop skills get platform`, which always match the installed CLI. agent-desktop does not match pixels, so apps that expose no accessibility tree, native iOS apps in the Simulator and Android emulators no longer have a bundled route; use `xcrun simctl`, Appium or `adb` for native mobile apps. `ATOMIC_CUA_AUTO_APPROVE` no longer has any effect.
|
|
28
|
+
|
|
5
29
|
## [0.9.46] - 2026-10-27
|
|
6
30
|
|
|
7
31
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bastani/subagents",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.57-alpha.1",
|
|
4
4
|
"private": true,
|
|
5
5
|
"description": "Atomic extension for delegating tasks to subagents with parallel execution. Fork of: https://github.com/nicobailon/pi-subagents",
|
|
6
6
|
"contributors": [
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash(agent-desktop:*), Bash(npx agent-desktop:*)
|
|
3
|
+
description: Operate native desktop applications on macOS, Windows and Linux through accessibility trees with the agent-desktop CLI. Use when an AI agent must see or act on a desktop GUI, such as clicking buttons, filling forms, reading UI state, navigating menus, toggling checkboxes, scrolling, dragging, typing text, pressing shortcuts, taking screenshots, managing windows, using the clipboard, launching or closing apps, handling OS dialogs and permission prompts, or reading notifications. Triggers include requests to "operate the desktop", "computer use", "click a button in an app", "fill a native form", "read the UI", "open an app", "snapshot an app" or any native desktop GUI task. For websites and web apps use agent-browser instead.
|
|
4
|
+
hidden: true
|
|
5
|
+
metadata:
|
|
6
|
+
github-path: skills/agent-desktop
|
|
7
|
+
github-ref: refs/tags/v1.0.2
|
|
8
|
+
github-repo: https://github.com/vercel-labs/agent-desktop
|
|
9
|
+
github-tree-sha: 08884bafcd7a8d0a9a3757a7ab2ba238e1d5bf2a
|
|
10
|
+
name: agent-desktop
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# agent-desktop
|
|
14
|
+
|
|
15
|
+
agent-desktop is a CLI that lets an AI agent observe and operate desktop apps through the OS accessibility tree. It is a tool, not an agent. Every command prints one JSON envelope (`ok`, `data` or `error`). The observe, act and verify loop runs in you.
|
|
16
|
+
|
|
17
|
+
## Install and permissions
|
|
18
|
+
|
|
19
|
+
If `agent-desktop` is not on `PATH`, make one bounded attempt to install it: `npm install -g agent-desktop` (Node 18 or later; macOS 13+, Windows 10 1809+ or Ubuntu 24.04+, on x64 or arm64), then `agent-desktop version`. If npm blocks install scripts, approve them (`npm install-scripts approve agent-desktop` on npm 12, `npm install -g agent-desktop --allow-scripts=agent-desktop` on npm 11) so each call does not start Node first. Report what the install did. If it fails, report the command and the error instead of switching to another tool. Atomic bundles this skill, so do not run `npx skills add` for it.
|
|
20
|
+
|
|
21
|
+
`agent-desktop status` is the readiness check. On macOS, `permissions.accessibility` must be `granted`, and `screen_recording` too for `screenshot`: run `agent-desktop permissions --guide` and let the user approve it. Windows needs no grant for apps at the terminal's integrity level. On Linux, run inside the user's graphical session; an empty `supported_surfaces` means the AT-SPI bus did not answer. Never script around a consent dialog.
|
|
22
|
+
|
|
23
|
+
For web pages use `agent-browser`. For the web contents of a Chromium or Electron app you launch, `agent-desktop launch <app> --cdp` opens a debugging port that `agent-browser connect <port>` drives (see `commands-system`).
|
|
24
|
+
|
|
25
|
+
## Shell syntax
|
|
26
|
+
|
|
27
|
+
Examples use a POSIX shell. In PowerShell, quote every ref (`'@s8f3k2p9:e1'`), because a bare `@token` is the splatting operator. Use `$env:NAME = 'value'` instead of `export`, and `| ConvertFrom-Json` instead of `$(...)` and `jq`. The Windows skill has the PowerShell forms.
|
|
28
|
+
|
|
29
|
+
## First run
|
|
30
|
+
|
|
31
|
+
1. Run `agent-desktop status`. It reports the platform, permissions and `supported_surfaces`.
|
|
32
|
+
2. Run `agent-desktop skills get platform`. It loads the skill for the OS the binary runs on (macOS, Windows or Linux).
|
|
33
|
+
3. For flags and syntax, run `agent-desktop <command> --help`. This skill does not repeat flag lists.
|
|
34
|
+
|
|
35
|
+
## The loop
|
|
36
|
+
|
|
37
|
+
Use `find` when you know the role or exact name. Otherwise map the app first and drill into one region.
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
agent-desktop snapshot --skeleton --app "Notes" -i --compact # shallow map, children_count on cut branches
|
|
41
|
+
agent-desktop snapshot --root @s8f3k2p9:e3 -i --compact # drill into one region
|
|
42
|
+
agent-desktop click @s8f3k2p9:e12 # act on a qualified ref
|
|
43
|
+
agent-desktop snapshot --root @s8f3k2p9:e3 -i --compact # verify: re-read the same region
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
- A small app needs no skeleton. Take a full `snapshot -i`.
|
|
47
|
+
- Never skeleton a surface (`--surface menu`, `sheet`, `alert`). A surface is already focused.
|
|
48
|
+
- An action that opens a menu, sheet or alert lists it in `data.surfaces`. Target that overlay next.
|
|
49
|
+
- After an async step, use `wait` (see `commands-system.md`). A fixed sleep is a race.
|
|
50
|
+
|
|
51
|
+
## Refs
|
|
52
|
+
|
|
53
|
+
- Output refs are qualified: `@<snapshot_id>:e<N>`, for example `@s8f3k2p9:e1`. Pass them to later commands as they are.
|
|
54
|
+
- Refs are valid for one snapshot. After any UI change, re-drill the affected region or take a new snapshot.
|
|
55
|
+
- Only addressable elements get refs. Static text and inert containers do not.
|
|
56
|
+
- `STALE_REF`: the ref no longer matches the live UI. Take a fresh snapshot and use the new ref.
|
|
57
|
+
- `AMBIGUOUS_TARGET`: more than one live element matches. Narrow the target with `find --role --name --exact` or `--root`, then use the new ref.
|
|
58
|
+
- `SNAPSHOT_NOT_FOUND`: the snapshot id expired. Snapshot again.
|
|
59
|
+
|
|
60
|
+
## Delivery and retry
|
|
61
|
+
|
|
62
|
+
Action results carry `data.disposition` and errors carry `error.disposition`, each with `delivery` and `retry`. Observation commands such as `snapshot` have none on success; their errors, and every `INVALID_ARGS` refusal, carry `not_delivered` and `retry: safe`.
|
|
63
|
+
|
|
64
|
+
- Retry or substitute an action only when `disposition.retry` is `safe`. Only `not_delivered` is safe.
|
|
65
|
+
- Any other delivery value means the action may have landed. A repeat can click, type or submit twice, and `toggle` can undo itself.
|
|
66
|
+
- On a result that is not safe, read the live state (`get`, `is`, or a fresh snapshot) and decide from that. `details.post_state` helps when present.
|
|
67
|
+
- Branch on `error.code` and `error.disposition`. Message and suggestion text can change.
|
|
68
|
+
- `details.retryable: false` means waiting cannot change the outcome. Try a different approach.
|
|
69
|
+
|
|
70
|
+
## Headless and headed
|
|
71
|
+
|
|
72
|
+
Ref actions are headless by default. They use semantic accessibility calls and do not take focus, move the cursor, synthesize keys or use the clipboard. If no semantic path exists, the action fails closed. Use the global `--headed` flag only when the user explicitly permits physical input, such as double-click, hover, drag, or focus. Never switch to headed mode to recover from a headless failure. Raw coordinates (`--xy`) never imply focus. Which actions need `--headed` differs by OS: read the platform skill.
|
|
73
|
+
|
|
74
|
+
## References
|
|
75
|
+
|
|
76
|
+
Load one only when you need it: `agent-desktop skills get desktop <reference>`.
|
|
77
|
+
|
|
78
|
+
| Reference | Open it when |
|
|
79
|
+
|-----------|--------------|
|
|
80
|
+
| `commands-observation` | You need `snapshot`, `find`, `get`, `is`, `screenshot`, `list-surfaces` semantics, partial trees, or the `--root` rules |
|
|
81
|
+
| `commands-interaction` | You choose between click, type, set-value, select, toggle, scroll, press and mouse commands, or you debug an action error |
|
|
82
|
+
| `commands-system` | You launch or close apps, manage windows, use the clipboard, `wait`, `batch`, sessions, multi-agent cursors, tracing, or load skills |
|
|
83
|
+
| `workflows` | You want worked patterns (forms, menus, dialogs, waiting for a new window, scroll-find, drag) and the anti-patterns list |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bastani/web-access",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.57-alpha.1",
|
|
4
4
|
"private": true,
|
|
5
5
|
"description": "Atomic extension for web search, URL fetching, GitHub repo cloning, PDF/video extraction. Fork of: https://github.com/nicobailon/pi-web-access",
|
|
6
6
|
"contributors": [
|
|
@@ -6,6 +6,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.9.57] - 2026-10-31
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- Builtin workflow stages verify native desktop changes with `agent-desktop` instead of Cua Driver, and report a missing install, macOS permission or Linux accessibility bus as `blocked`.
|
|
14
|
+
|
|
15
|
+
## [0.9.57-alpha.1] - 2026-10-31
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- Builtin workflow stages verify native desktop changes with `agent-desktop` instead of Cua Driver, and report a missing install, macOS permission or Linux accessibility bus as `blocked`.
|
|
20
|
+
|
|
9
21
|
## [0.9.55] - 2026-10-30
|
|
10
22
|
|
|
11
23
|
Local worker pools on remote databases, and sturdier start-up on busy and Windows machines.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
adversarial_verification_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-xqcy5nve.js";
|
|
4
4
|
import"./chunk-2377r57g.js";
|
|
5
5
|
import"./chunk-n1910xc4.js";
|
|
6
|
-
import"./chunk-
|
|
7
|
-
import"./chunk-
|
|
6
|
+
import"./chunk-45fn5q5p.js";
|
|
7
|
+
import"./chunk-x25rjw4y.js";
|
|
8
8
|
export {
|
|
9
9
|
adversarial_verification_default as default
|
|
10
10
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
workflow,
|
|
3
3
|
withBuiltinContext
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-45fn5q5p.js";
|
|
5
5
|
import {
|
|
6
6
|
keepContext,
|
|
7
7
|
REVIEWER_CALIBRATION_RULES,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
EVIDENCE_CLOSURE_POLICY,
|
|
25
25
|
WORKTREE_DISCIPLINE_CONTRACT,
|
|
26
26
|
REVIEW_CODE_DELTA_CONTRACT
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-x25rjw4y.js";
|
|
28
28
|
import {
|
|
29
29
|
workflowArtifactDirectoryPath,
|
|
30
30
|
ensureWorkflowArtifactDirectory,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
workflow,
|
|
3
3
|
withBuiltinContext
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-45fn5q5p.js";
|
|
5
5
|
import {
|
|
6
6
|
keepContext,
|
|
7
7
|
REVIEWER_CALIBRATION_RULES,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
EVIDENCE_CLOSURE_POLICY,
|
|
25
25
|
WORKTREE_DISCIPLINE_CONTRACT,
|
|
26
26
|
REVIEW_CODE_DELTA_CONTRACT
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-x25rjw4y.js";
|
|
28
28
|
import {
|
|
29
29
|
VERIFICATION_SCALE
|
|
30
30
|
} from "./chunk-n1910xc4.js";
|
|
@@ -63,10 +63,10 @@ var WORKER_PREFLIGHT_CONTRACT = [
|
|
|
63
63
|
`);
|
|
64
64
|
var E2E_VERIFICATION_GUIDANCE = [
|
|
65
65
|
"Verify correctness end-to-end whenever practical for user-visible behavior; an executable scenario is stronger proof than code inspection, unit tests, or stage summaries alone.",
|
|
66
|
-
'For web or frontend flows, including frontend changes whose correctness depends on backend/API behavior, use the agent-browser skill or delegate with `skill: "agent-browser"`; capture snapshot, screenshot, DOM, or network evidence suited to the objective. Prefer agent-browser for what its skill covers, because its text snapshots cost far fewer tokens than screenshot-driven
|
|
66
|
+
'For web or frontend flows, including frontend changes whose correctness depends on backend/API behavior, use the agent-browser skill or delegate with `skill: "agent-browser"`; capture snapshot, screenshot, DOM, or network evidence suited to the objective. Prefer agent-browser for what its skill covers, because its text snapshots cost far fewer tokens than screenshot-driven computer use (websites and web apps in Chrome/Chromium, Mobile Safari in the iOS Simulator via `agent-browser -p ios`, Electron desktop apps and other CDP-exposing apps, Slack, cloud browsers); use agent-desktop for native desktop apps, OS dialogs and browser chrome outside the page, and whenever agent-browser hits a limitation. Native iOS apps in the iOS Simulator and Android emulators are outside agent-desktop: use `xcrun simctl`, Appium/XCUITest or `adb`/UI Automator, and report the gap when none is available.',
|
|
67
67
|
"For TUI/terminal automation/testing, prefer the herdr skill on macOS, Linux and Windows. Install Herdr if missing when network access and permissions permit; fall back to the tmux skill or native Windows psmux if installation or use is not possible. Preserve the pinned herdr skill's explicit-request and HERDR_ENV=1 requirements; never control a focused session from outside Herdr. Check installed help: psmux uses tmux-style commands, while herdr has its own CLI, not interchangeable flags. Exercise the actual interactive flow and retain pane/text or terminal recording evidence.",
|
|
68
|
-
"For desktop and
|
|
69
|
-
"Also
|
|
68
|
+
"For native desktop apps and OS dialogs, use agent-desktop: when a model chooses the next action, as in this stage, load Atomic's bundled agent-desktop skill and run one-shot `agent-desktop` commands, following its snapshot -> act -> wait or fresh read -> verify loop; when workflow TypeScript code owns the sequence and the postcondition, call the `agent-desktop` CLI from inside `ctx.tool(name, args, fn, { timeoutMs })` instead, spawning one process per command, parsing its JSON envelope and forwarding `signal`. Before the first action, run `agent-desktop status`, `agent-desktop skills get desktop` and `agent-desktop skills get platform` and follow them; they are compiled into the binary, so they match the installed version. Ensure the executable (`agent-desktop version`; if missing, one bounded attempt with `npm install -g agent-desktop`, approving its install script if npm blocks it, and report its side effects). Atomic bundles the skill: never `npx skills add` it, and do not link or copy a skill into `~/.agents/skills` or other agent directories; leave any existing user-level skill alone. agent-desktop documents no telemetry, so no opt-out setting is needed. Ensure readiness with bounded attempts per docs/computer-use.md: on macOS `permissions.accessibility` granted (and `screen_recording` for screenshots), on Linux a non-empty `supported_surfaces`. Save the snapshot JSON, `screenshot` PNGs and, when a session traces, the `trace export` HTML to the artifacts directory as evidence. Verify each postcondition with `wait --element <ref> --predicate value --value <text>` or a fresh read, never a sleep; a successful action proves delivery, not the effect, and an action is retried only when `disposition.retry` is `safe`. Report a missing macOS permission, a Windows session that is not the interactive desktop, no graphical Linux session or AT-SPI bus, or a refused or failed install as the stage's blocked/needs_human finding with the exact fix (for macOS: `agent-desktop permissions --guide`, then the user approves it; for an install: `npm install -g agent-desktop`), and re-run `agent-desktop status` on resume. Use a dedicated desktop/session and controlled fixtures, inspect snapshots for other windows, and stop before destructive actions. agent-desktop reads accessibility trees and does not match pixels: for a UI that publishes none, a screenshot with `--headed` coordinate input is the only route and needs the user's permission, so say what stayed unverified. It does not drive native iOS or Android apps inside a simulator or emulator: use `xcrun simctl`, Appium/XCUITest or `adb`/UI Automator. Do not automate an arbitrary physical iPhone without an accessible simulator/emulator/mirroring or native automation setup, or label a Chrome recording as terminal or native iOS proof; an agent-browser `-p ios` session proves Mobile Safari behavior, not a native iOS app.",
|
|
69
|
+
"Also never run `npx skills add` for agent-desktop or install a skill into other agent directories such as `~/.claude/skills`; updating the executable is separate from installing or updating a skill.",
|
|
70
70
|
"Choose tools from observed environment capabilities. Prefer installed/cached tools; install missing tools, runtimes or plugins when online access and permissions permit. Known offline/restricted installation is sufficient evidence not to attempt prohibited downloads; otherwise check capabilities or make one bounded setup attempt. Do not loop on blocked downloads, require production credentials, or take unsafe actions.",
|
|
71
71
|
"When execution or installation is unavailable, continue available authoritative repository checks and retain useful local evidence. Report the constraint or attempted command with observed output, what could not run, and the narrower validation performed. For non-UI tasks, use relevant executable checks rather than manufacturing a UI scenario. An unavailable optional mechanism is not itself failed implementation or permission to relax required project checks."
|
|
72
72
|
].join(`
|
|
@@ -80,7 +80,7 @@ var CODE_QUALITY_VERIFICATION_GUIDANCE = [
|
|
|
80
80
|
`);
|
|
81
81
|
var MEDIA_PUBLICATION_GUIDANCE = [
|
|
82
82
|
"Detect the repository provider and authorized PR/MR/issue/comment target before publishing media. Inspect and redact screenshots/video for secrets, personal information and unrelated windows; tie evidence to the verified commit and scenario. Local evidence collection does not authorize uploads.",
|
|
83
|
-
"When creating the PR/MR, gather the image and video evidence the verification stages produced and attach it to the PR body when the provider supports uploads:
|
|
83
|
+
"When creating the PR/MR, gather the image and video evidence the verification stages produced and attach it to the PR body when the provider supports uploads: agent-desktop `screenshot` before/after PNGs, agent-browser `screenshot` PNGs and `record` recordings, and any QA proof video. Reference each file in the body next to the scenario it proves (a before/after pair per verified postcondition, one recording per interaction) and keep the snapshot JSON as a local artifact the body cites by name. On supported GitHub, pass them at creation: gh pr create --body-file <body.md> --attach 'before.png#State before the action' --attach 'after.png#State after the action' --attach flow.webm; use gh pr edit/comment --attach for evidence produced later.",
|
|
84
84
|
"On GitHub, check gh --version and the chosen command's --help. GitHub CLI >=2.99.0 supports repeatable --attach on gh issue create/edit/comment and gh pr create/edit/comment. Use native attachments when supported, for example gh pr comment <number> --repo <owner/repo> --body-file <body.md> --attach <proof.mp4>. Attach each file once. Body-local path references are rewritten to hosted URLs; otherwise attachments append in flag order. Image path#alt text is supported; video alt text is not. A standalone  paragraph becomes an embedded player.",
|
|
85
85
|
"Check current GitHub limits: PNG/JPEG/GIF/WebP/SVG images and MP4/MOV/WebM videos; images/GIFs up to 10 MB, video 10 MB on Free or 100 MB paid. Native attachment upload requires repository write access and supported OAuth/classic PAT auth; GitHub Enterprise Server is unsupported in this release. See https://docs.github.com/en/github-cli/github-cli/attaching-files-with-github-cli.",
|
|
86
86
|
"Read back the returned PR/issue/comment and confirm usable GitHub-hosted links before claiming attachment success. Unsupported CLI versions, hosts, providers, auth or sizes require a truthful fallback: retain the local artifact and explain authorized manual attachment or supported provider options. Never claim file:// links are uploaded evidence, expose secrets, or upload automatically to unrelated third-party hosts."
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEFAULT_ACTION_CATEGORIES2,
|
|
3
3
|
classify_and_act_default
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import"./chunk-
|
|
6
|
-
import"./chunk-
|
|
4
|
+
} from "./chunk-4ek3v2wm.js";
|
|
5
|
+
import"./chunk-45fn5q5p.js";
|
|
6
|
+
import"./chunk-x25rjw4y.js";
|
|
7
7
|
export {
|
|
8
8
|
DEFAULT_ACTION_CATEGORIES2 as DEFAULT_ACTION_CATEGORIES,
|
|
9
9
|
classify_and_act_default as default
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
fan_out_and_synthesize_default
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import"./chunk-
|
|
5
|
-
import"./chunk-
|
|
3
|
+
} from "./chunk-yb55w6me.js";
|
|
4
|
+
import"./chunk-45fn5q5p.js";
|
|
5
|
+
import"./chunk-x25rjw4y.js";
|
|
6
6
|
export {
|
|
7
7
|
fan_out_and_synthesize_default as default
|
|
8
8
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
generate_and_filter_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-8d40nyz9.js";
|
|
4
4
|
import"./chunk-2377r57g.js";
|
|
5
5
|
import"./chunk-n1910xc4.js";
|
|
6
|
-
import"./chunk-
|
|
7
|
-
import"./chunk-
|
|
6
|
+
import"./chunk-45fn5q5p.js";
|
|
7
|
+
import"./chunk-x25rjw4y.js";
|
|
8
8
|
export {
|
|
9
9
|
generate_and_filter_default as default
|
|
10
10
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
goal_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-g3b2zf8r.js";
|
|
4
4
|
import"./chunk-zhyqnf5g.js";
|
|
5
5
|
import"./chunk-2377r57g.js";
|
|
6
6
|
import"./chunk-z0d03ktm.js";
|
|
7
7
|
import"./chunk-n1910xc4.js";
|
|
8
|
-
import"./chunk-
|
|
9
|
-
import"./chunk-
|
|
8
|
+
import"./chunk-45fn5q5p.js";
|
|
9
|
+
import"./chunk-x25rjw4y.js";
|
|
10
10
|
export {
|
|
11
11
|
goal_default as default
|
|
12
12
|
};
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import"./chunk-
|
|
2
|
-
import"./chunk-
|
|
1
|
+
import"./chunk-45fn5q5p.js";
|
|
2
|
+
import"./chunk-x25rjw4y.js";
|
|
3
3
|
import"./chunk-n1910xc4.js";
|
|
4
4
|
import"./chunk-2377r57g.js";
|
|
5
5
|
import {
|
|
6
6
|
adversarial_verification_default
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-xqcy5nve.js";
|
|
8
8
|
import {
|
|
9
9
|
classify_and_act_default
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-4ek3v2wm.js";
|
|
11
11
|
import {
|
|
12
12
|
fan_out_and_synthesize_default
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-yb55w6me.js";
|
|
14
14
|
import {
|
|
15
15
|
generate_and_filter_default
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-8d40nyz9.js";
|
|
17
17
|
import {
|
|
18
18
|
goal_default
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-g3b2zf8r.js";
|
|
20
20
|
import"./chunk-zhyqnf5g.js";
|
|
21
21
|
import"./chunk-z0d03ktm.js";
|
|
22
22
|
import {
|
|
23
23
|
open_claude_design_default
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-yjgfnbgd.js";
|
|
25
25
|
import {
|
|
26
26
|
loop_until_done_default
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-37gm3bzk.js";
|
|
28
28
|
import {
|
|
29
29
|
ralph_default
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-h6bt0r0g.js";
|
|
31
31
|
import {
|
|
32
32
|
tournament_default
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-2f1shjah.js";
|
|
34
34
|
export {
|
|
35
35
|
adversarial_verification_default as adversarialVerification,
|
|
36
36
|
classify_and_act_default as classifyAndAct,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
loop_until_done_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-37gm3bzk.js";
|
|
4
4
|
import"./chunk-z0d03ktm.js";
|
|
5
5
|
import"./chunk-n1910xc4.js";
|
|
6
|
-
import"./chunk-
|
|
7
|
-
import"./chunk-
|
|
6
|
+
import"./chunk-45fn5q5p.js";
|
|
7
|
+
import"./chunk-x25rjw4y.js";
|
|
8
8
|
export {
|
|
9
9
|
loop_until_done_default as default
|
|
10
10
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
open_claude_design_default
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import"./chunk-
|
|
5
|
-
import"./chunk-
|
|
3
|
+
} from "./chunk-yjgfnbgd.js";
|
|
4
|
+
import"./chunk-45fn5q5p.js";
|
|
5
|
+
import"./chunk-x25rjw4y.js";
|
|
6
6
|
export {
|
|
7
7
|
open_claude_design_default as default
|
|
8
8
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ralph_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-h6bt0r0g.js";
|
|
4
4
|
import"./chunk-zhyqnf5g.js";
|
|
5
5
|
import"./chunk-2377r57g.js";
|
|
6
6
|
import"./chunk-z0d03ktm.js";
|
|
7
7
|
import"./chunk-n1910xc4.js";
|
|
8
|
-
import"./chunk-
|
|
9
|
-
import"./chunk-
|
|
8
|
+
import"./chunk-45fn5q5p.js";
|
|
9
|
+
import"./chunk-x25rjw4y.js";
|
|
10
10
|
export {
|
|
11
11
|
ralph_default as default
|
|
12
12
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
tournament_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2f1shjah.js";
|
|
4
4
|
import"./chunk-2377r57g.js";
|
|
5
5
|
import"./chunk-n1910xc4.js";
|
|
6
|
-
import"./chunk-
|
|
7
|
-
import"./chunk-
|
|
6
|
+
import"./chunk-45fn5q5p.js";
|
|
7
|
+
import"./chunk-x25rjw4y.js";
|
|
8
8
|
export {
|
|
9
9
|
tournament_default as default
|
|
10
10
|
};
|