acpx 0.1.15 → 0.2.0

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/package.json CHANGED
@@ -1,77 +1,85 @@
1
1
  {
2
2
  "name": "acpx",
3
- "version": "0.1.15",
3
+ "version": "0.2.0",
4
4
  "description": "Headless CLI client for the Agent Client Protocol (ACP) — talk to coding agents from the command line",
5
- "type": "module",
6
- "files": [
7
- "dist",
8
- "skills",
9
- "README.md",
10
- "LICENSE"
11
- ],
12
- "bin": {
13
- "acpx": "dist/cli.js"
14
- },
15
- "scripts": {
16
- "build": "tsup src/cli.ts --format esm --dts --clean",
17
- "build:test": "node -e \"require('node:fs').rmSync('dist-test',{recursive:true,force:true})\" && tsc -p tsconfig.test.json",
18
- "test": "npm run build:test && node --test dist-test/test/*.test.js",
19
- "prepare": "husky",
20
- "precommit": "npm exec -- lint-staged && npm run -s build",
21
- "prepack": "npm run build",
22
- "dev": "tsx src/cli.ts",
23
- "typecheck": "tsc --noEmit",
24
- "lint": "eslint src --max-warnings=0 && npm run lint:persisted-key-casing",
25
- "format": "prettier --write .",
26
- "format:check": "prettier --check .",
27
- "release": "release-it",
28
- "release:ci": "release-it --ci",
29
- "lint:persisted-key-casing": "tsx scripts/lint-persisted-key-casing.ts"
30
- },
31
5
  "keywords": [
32
6
  "acp",
33
7
  "agent-client-protocol",
8
+ "ai",
9
+ "claude-code",
34
10
  "cli",
35
11
  "codex",
36
- "claude-code",
37
- "coding-agent",
38
- "ai"
12
+ "coding-agent"
39
13
  ],
40
- "author": "OpenClaw Team <dev@openclaw.ai>",
41
14
  "license": "MIT",
15
+ "author": "OpenClaw Team <dev@openclaw.ai>",
42
16
  "repository": {
43
17
  "type": "git",
44
- "url": "https://github.com/openclaw/acpx"
18
+ "url": "git+https://github.com/openclaw/acpx.git"
45
19
  },
46
- "engines": {
47
- "node": ">=18"
20
+ "bin": {
21
+ "acpx": "dist/cli.js"
22
+ },
23
+ "files": [
24
+ "dist",
25
+ "skills",
26
+ "README.md",
27
+ "LICENSE"
28
+ ],
29
+ "type": "module",
30
+ "scripts": {
31
+ "build": "tsdown src/cli.ts --format esm --dts --clean --platform node --target node22 --no-fixedExtension",
32
+ "build:test": "node -e \"require('node:fs').rmSync('dist-test',{recursive:true,force:true})\" && tsc -p tsconfig.test.json",
33
+ "check": "pnpm run format:check && pnpm run typecheck && pnpm run lint && pnpm run build && pnpm run test:coverage",
34
+ "check:docs": "pnpm run format:docs:check && pnpm run lint:docs",
35
+ "dev": "tsx src/cli.ts",
36
+ "format": "oxfmt --write",
37
+ "format:check": "oxfmt --check",
38
+ "format:diff": "oxfmt --write && git --no-pager diff",
39
+ "format:docs": "git ls-files 'docs/**/*.md' 'README.md' | xargs oxfmt --write",
40
+ "format:docs:check": "git ls-files 'docs/**/*.md' 'README.md' | xargs oxfmt --check",
41
+ "lint": "oxlint --type-aware src && pnpm run lint:persisted-key-casing",
42
+ "lint:docs": "markdownlint-cli2 README.md docs/**/*.md",
43
+ "lint:fix": "oxlint --type-aware --fix src && pnpm run format",
44
+ "lint:persisted-key-casing": "tsx scripts/lint-persisted-key-casing.ts",
45
+ "perf:report": "tsx scripts/perf-report.ts",
46
+ "precommit": "pnpm exec lint-staged && pnpm run -s build",
47
+ "prepack": "pnpm run build",
48
+ "prepare": "husky",
49
+ "test": "pnpm run build:test && node --test dist-test/test/*.test.js",
50
+ "test:coverage": "pnpm run build:test && node --experimental-test-coverage --test-coverage-lines=83 --test-coverage-branches=76 --test-coverage-functions=86 --test dist-test/test/*.test.js",
51
+ "typecheck": "tsgo --noEmit",
52
+ "typecheck:tsc": "tsc --noEmit"
48
53
  },
49
54
  "dependencies": {
50
- "@agentclientprotocol/sdk": "^0.14.1",
51
- "commander": "^13.0.0",
55
+ "@agentclientprotocol/sdk": "^0.15.0",
56
+ "commander": "^14.0.3",
52
57
  "skillflag": "^0.1.4"
53
58
  },
54
59
  "devDependencies": {
55
- "@eslint/js": "^10.0.1",
56
- "@types/node": "^22.0.0",
57
- "eslint": "^10.0.0",
58
- "globals": "^17.3.0",
60
+ "@types/node": "^25.3.5",
61
+ "@typescript/native-preview": "7.0.0-dev.20260307.1",
59
62
  "husky": "^9.1.7",
60
- "lint-staged": "^16.2.7",
61
- "prettier": "^3.8.1",
62
- "release-it": "^19.2.4",
63
- "tsup": "^8.0.0",
63
+ "lint-staged": "^16.3.2",
64
+ "markdownlint-cli2": "^0.21.0",
65
+ "oxfmt": "^0.36.0",
66
+ "oxlint": "^1.51.0",
67
+ "oxlint-tsgolint": "^0.16.0",
68
+ "tsdown": "^0.21.0-beta.2",
64
69
  "tsx": "^4.0.0",
65
- "typescript": "^5.7.0",
66
- "typescript-eslint": "^8.56.0"
70
+ "typescript": "^5.7.0"
67
71
  },
68
72
  "lint-staged": {
69
73
  "*.{js,ts}": [
70
- "prettier --write --ignore-unknown",
71
- "eslint --fix"
74
+ "oxfmt --write",
75
+ "oxlint --fix"
72
76
  ],
73
77
  "*.{json,md}": [
74
- "prettier --write --ignore-unknown"
78
+ "oxfmt --write"
75
79
  ]
76
- }
80
+ },
81
+ "engines": {
82
+ "node": ">=22.12.0"
83
+ },
84
+ "packageManager": "pnpm@10.23.0"
77
85
  }
@@ -72,10 +72,16 @@ If prompt text is omitted and stdin is piped, `acpx` reads prompt text from stdi
72
72
  Friendly agent names resolve to commands:
73
73
 
74
74
  - `codex` -> `npx @zed-industries/codex-acp`
75
- - `claude` -> `npx @zed-industries/claude-agent-acp`
76
- - `gemini` -> `gemini`
77
- - `opencode` -> `npx opencode-ai`
75
+ - `claude` -> `npx -y @zed-industries/claude-agent-acp`
76
+ - `copilot` -> `copilot --acp --stdio`
77
+ - `gemini` -> `gemini --experimental-acp`
78
+ - `openclaw` -> `openclaw acp`
79
+ - `kimi` -> `kimi acp`
80
+ - `opencode` -> `npx -y opencode-ai acp`
81
+ - `kiro` -> `kiro-cli acp`
78
82
  - `pi` -> `npx pi-acp`
83
+ - `kilocode` -> `npx -y @kilocode/cli acp`
84
+ - `qwen` -> `qwen --acp`
79
85
 
80
86
  Rules:
81
87
 
@@ -131,7 +137,7 @@ Behavior:
131
137
 
132
138
  ```bash
133
139
  acpx codex cancel
134
- acpx codex set-mode plan
140
+ acpx codex set-mode auto
135
141
  acpx codex set approval_policy conservative
136
142
  ```
137
143
 
@@ -139,6 +145,7 @@ Behavior:
139
145
 
140
146
  - `cancel`: sends cooperative `session/cancel` through queue-owner IPC.
141
147
  - `set-mode`: calls ACP `session/set_mode`.
148
+ - `set-mode` mode ids are adapter-defined; unsupported values are rejected by the adapter (often `Invalid params`).
142
149
  - `set`: calls ACP `session/set_config_option`.
143
150
  - `set-mode`/`set` route through queue-owner IPC when active, otherwise reconnect directly.
144
151