@phnx-labs/agents-cli 1.18.6 → 1.19.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.
Files changed (104) hide show
  1. package/CHANGELOG.md +13 -2
  2. package/README.md +22 -20
  3. package/dist/commands/browser.js +25 -2
  4. package/dist/commands/cloud.js +3 -3
  5. package/dist/commands/computer.d.ts +6 -0
  6. package/dist/commands/computer.js +477 -0
  7. package/dist/commands/doctor.js +19 -17
  8. package/dist/commands/exec.js +37 -59
  9. package/dist/commands/factory.js +12 -5
  10. package/dist/commands/import.js +6 -1
  11. package/dist/commands/mcp.js +9 -4
  12. package/dist/commands/packages.d.ts +3 -0
  13. package/dist/commands/packages.js +20 -12
  14. package/dist/commands/permissions.d.ts +2 -0
  15. package/dist/commands/permissions.js +20 -1
  16. package/dist/commands/plugins.d.ts +2 -0
  17. package/dist/commands/plugins.js +23 -4
  18. package/dist/commands/profiles.js +1 -1
  19. package/dist/commands/pty.js +126 -112
  20. package/dist/commands/pull.js +29 -25
  21. package/dist/commands/repo.js +24 -26
  22. package/dist/commands/routines.js +29 -26
  23. package/dist/commands/secrets.js +66 -73
  24. package/dist/commands/sessions-tail.js +21 -22
  25. package/dist/commands/sessions.js +36 -68
  26. package/dist/commands/setup.js +20 -24
  27. package/dist/commands/teams.js +30 -39
  28. package/dist/commands/versions.js +60 -68
  29. package/dist/commands/worktree.d.ts +20 -0
  30. package/dist/commands/worktree.js +242 -0
  31. package/dist/computer.d.ts +2 -0
  32. package/dist/computer.js +7 -0
  33. package/dist/index.js +70 -26
  34. package/dist/lib/agents.d.ts +4 -1
  35. package/dist/lib/agents.js +23 -5
  36. package/dist/lib/browser/cdp.d.ts +15 -1
  37. package/dist/lib/browser/cdp.js +77 -8
  38. package/dist/lib/browser/chrome.js +17 -24
  39. package/dist/lib/browser/drivers/ssh.d.ts +1 -0
  40. package/dist/lib/browser/drivers/ssh.js +20 -8
  41. package/dist/lib/browser/ipc.js +38 -5
  42. package/dist/lib/browser/profiles.js +34 -2
  43. package/dist/lib/browser/runtime-state.d.ts +1 -2
  44. package/dist/lib/browser/runtime-state.js +11 -3
  45. package/dist/lib/browser/service.d.ts +5 -0
  46. package/dist/lib/browser/service.js +32 -4
  47. package/dist/lib/browser/types.d.ts +1 -1
  48. package/dist/lib/browser/upload.d.ts +2 -0
  49. package/dist/lib/browser/upload.js +34 -0
  50. package/dist/lib/cloud/rush.d.ts +2 -1
  51. package/dist/lib/cloud/rush.js +28 -9
  52. package/dist/lib/computer-rpc.d.ts +24 -0
  53. package/dist/lib/computer-rpc.js +263 -0
  54. package/dist/lib/daemon.js +7 -7
  55. package/dist/lib/exec.d.ts +2 -1
  56. package/dist/lib/exec.js +3 -2
  57. package/dist/lib/fs-atomic.d.ts +18 -0
  58. package/dist/lib/fs-atomic.js +76 -0
  59. package/dist/lib/git.js +2 -4
  60. package/dist/lib/help.d.ts +15 -0
  61. package/dist/lib/help.js +41 -0
  62. package/dist/lib/hooks/match.d.ts +1 -0
  63. package/dist/lib/hooks/match.js +57 -12
  64. package/dist/lib/hooks.d.ts +1 -0
  65. package/dist/lib/hooks.js +27 -10
  66. package/dist/lib/import.d.ts +1 -0
  67. package/dist/lib/import.js +7 -0
  68. package/dist/lib/manifest.js +27 -1
  69. package/dist/lib/mcp.d.ts +14 -0
  70. package/dist/lib/mcp.js +79 -14
  71. package/dist/lib/migrate.js +3 -3
  72. package/dist/lib/models.js +3 -1
  73. package/dist/lib/permissions.d.ts +5 -0
  74. package/dist/lib/permissions.js +35 -0
  75. package/dist/lib/plugin-marketplace.d.ts +3 -1
  76. package/dist/lib/plugin-marketplace.js +36 -1
  77. package/dist/lib/plugins.d.ts +19 -1
  78. package/dist/lib/plugins.js +99 -8
  79. package/dist/lib/redact.d.ts +4 -0
  80. package/dist/lib/redact.js +18 -0
  81. package/dist/lib/registry.d.ts +2 -0
  82. package/dist/lib/registry.js +15 -0
  83. package/dist/lib/sandbox.js +15 -5
  84. package/dist/lib/secrets/bundles.d.ts +7 -12
  85. package/dist/lib/secrets/bundles.js +45 -29
  86. package/dist/lib/secrets/index.js +4 -4
  87. package/dist/lib/session/cloud.d.ts +2 -0
  88. package/dist/lib/session/cloud.js +34 -6
  89. package/dist/lib/session/parse.js +7 -2
  90. package/dist/lib/session/render.d.ts +4 -1
  91. package/dist/lib/session/render.js +81 -35
  92. package/dist/lib/shims.d.ts +5 -2
  93. package/dist/lib/shims.js +29 -7
  94. package/dist/lib/state.d.ts +5 -5
  95. package/dist/lib/state.js +43 -13
  96. package/dist/lib/teams/agents.js +1 -1
  97. package/dist/lib/types.d.ts +4 -3
  98. package/dist/lib/types.js +0 -2
  99. package/dist/lib/versions.js +65 -40
  100. package/dist/lib/workflows.d.ts +7 -0
  101. package/dist/lib/workflows.js +42 -1
  102. package/npm-shrinkwrap.json +3256 -0
  103. package/package.json +32 -26
  104. package/scripts/postinstall.js +8 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phnx-labs/agents-cli",
3
- "version": "1.18.6",
3
+ "version": "1.19.0",
4
4
  "description": "One CLI for all your AI coding agents - versions, config, cloud dispatch, sessions, and teams",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -17,17 +17,22 @@
17
17
  "bin": {
18
18
  "agents": "dist/index.js",
19
19
  "ag": "dist/index.js",
20
- "browser": "dist/browser.js"
20
+ "browser": "dist/browser.js",
21
+ "computer": "dist/computer.js"
21
22
  },
22
23
  "files": [
23
24
  "dist/**/*.js",
24
25
  "dist/**/*.d.ts",
25
26
  "dist/lib/secrets/AgentsKeychain.app/**",
27
+ "npm-shrinkwrap.json",
26
28
  "scripts/postinstall.js",
27
29
  "CHANGELOG.md",
28
30
  "README.md",
29
31
  "LICENSE"
30
32
  ],
33
+ "publishConfig": {
34
+ "provenance": true
35
+ },
31
36
  "repository": {
32
37
  "type": "git",
33
38
  "url": "git+https://github.com/phnx-labs/agents-cli.git"
@@ -37,8 +42,8 @@
37
42
  "url": "https://github.com/phnx-labs/agents-cli/issues"
38
43
  },
39
44
  "scripts": {
40
- "build": "tsc && rm -rf dist/lib/secrets/AgentsKeychain.app && cp -R bin/AgentsKeychain.app dist/lib/secrets/AgentsKeychain.app",
41
- "prepublishOnly": "npm run build",
45
+ "build": "tsc && rm -rf dist/lib/secrets/AgentsKeychain.app && ([ \"$(uname)\" = \"Darwin\" ] && cp -R bin/AgentsKeychain.app dist/lib/secrets/AgentsKeychain.app || true)",
46
+ "prepack": "scripts/verify-keychain-helper.sh",
42
47
  "postinstall": "node scripts/postinstall.js",
43
48
  "dev": "tsx src/index.ts",
44
49
  "start": "node dist/index.js",
@@ -63,33 +68,34 @@
63
68
  "author": "Phoenix Labs",
64
69
  "license": "MIT",
65
70
  "engines": {
66
- "node": ">=22.5.0"
71
+ "node": ">=22.5.0",
72
+ "npm": ">=9"
67
73
  },
68
74
  "dependencies": {
69
- "@inquirer/prompts": "^7.0.0",
70
- "@types/proper-lockfile": "^4.1.4",
71
- "@xterm/headless": "^6.0.0",
72
- "@zed-industries/agent-client-protocol": "^0.4.5",
73
- "chalk": "^5.3.0",
74
- "commander": "^12.1.0",
75
- "croner": "^9.0.0",
76
- "diff": "^7.0.0",
77
- "marked": "^15.0.12",
78
- "marked-terminal": "^7.3.0",
75
+ "@inquirer/prompts": "7.10.1",
76
+ "@types/proper-lockfile": "4.1.4",
77
+ "@xterm/headless": "6.0.0",
78
+ "@zed-industries/agent-client-protocol": "0.4.5",
79
+ "chalk": "5.6.2",
80
+ "commander": "12.1.0",
81
+ "croner": "9.1.0",
82
+ "diff": "8.0.4",
83
+ "marked": "15.0.12",
84
+ "marked-terminal": "7.3.0",
79
85
  "node-pty": "1.1.0",
80
- "ora": "^8.1.0",
81
- "proper-lockfile": "^4.1.2",
86
+ "ora": "8.2.0",
87
+ "proper-lockfile": "4.1.2",
82
88
  "simple-git": "3.36.0",
83
- "smol-toml": "^1.6.1",
84
- "yaml": "^2.8.3"
89
+ "smol-toml": "1.6.1",
90
+ "yaml": "2.8.3"
85
91
  },
86
92
  "devDependencies": {
87
- "@types/diff": "^6.0.0",
88
- "@types/marked-terminal": "^6.1.1",
89
- "@types/node": "^22.0.0",
90
- "playwright": "^1.44.0",
91
- "tsx": "^4.19.0",
92
- "typescript": "^5.5.0",
93
- "vitest": "^2.0.0"
93
+ "@types/diff": "6.0.0",
94
+ "@types/marked-terminal": "6.1.1",
95
+ "@types/node": "22.19.10",
96
+ "playwright": "1.59.1",
97
+ "tsx": "4.21.0",
98
+ "typescript": "5.9.3",
99
+ "vitest": "2.1.9"
94
100
  }
95
101
  }
@@ -7,11 +7,17 @@ import * as fs from 'fs';
7
7
  import * as path from 'path';
8
8
  import * as os from 'os';
9
9
  import * as readline from 'readline';
10
+ import { fileURLToPath } from 'url';
10
11
 
11
12
  const HOME = os.homedir();
12
13
  const SHIMS_DIR = path.join(HOME, '.agents', '.cache', 'shims');
13
14
  const SYSTEM_DIR = path.join(HOME, '.agents-system');
14
15
  const USER_DIR = path.join(HOME, '.agents');
16
+ const AGENTS_BIN = fileURLToPath(new URL('../dist/index.js', import.meta.url));
17
+
18
+ function shellQuote(value) {
19
+ return `'${value.replace(/'/g, `'\\''`)}'`;
20
+ }
15
21
 
16
22
  // For local installs, create directories and show a message
17
23
  const isGlobalInstall = process.env.npm_config_global || process.argv.includes('-g');
@@ -111,14 +117,14 @@ const exportLine = shellName === 'fish'
111
117
  ? `fish_add_path ${SHIMS_DIR}`
112
118
  : `export PATH="${SHIMS_DIR}:$PATH"`;
113
119
 
114
- // Shorthands that delegate to `agents <name>` written unconditionally on install.
120
+ // Shorthands that delegate to the installed agents-cli entrypoint.
115
121
  const ALIASES = ['sessions', 'secrets', 'browser', 'pty', 'teams'];
116
122
 
117
123
  function writeAliasShims() {
118
124
  const written = [];
119
125
  for (const name of ALIASES) {
120
126
  const target = path.join(SHIMS_DIR, name);
121
- const script = `#!/bin/sh\nexec agents ${name} "$@"\n`;
127
+ const script = `#!/bin/sh\nAGENTS_BIN=${shellQuote(AGENTS_BIN)}\nif [ -z "$AGENTS_BIN" ] || [ ! -x "$AGENTS_BIN" ]; then\n echo "agents: agents-cli entrypoint missing or not executable: $AGENTS_BIN" >&2\n exit 127\nfi\nexec "$AGENTS_BIN" ${name} "$@"\n`;
122
128
  fs.writeFileSync(target, script, { mode: 0o755 });
123
129
  written.push(name);
124
130
  }