@phnx-labs/agents-cli 1.20.5 → 1.20.6

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 (49) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/browser.js +31 -4
  3. package/dist/commands/computer.js +10 -2
  4. package/dist/commands/defaults.d.ts +7 -0
  5. package/dist/commands/defaults.js +89 -0
  6. package/dist/commands/exec.js +24 -6
  7. package/dist/commands/rules.js +3 -3
  8. package/dist/commands/secrets.js +46 -9
  9. package/dist/commands/setup.js +2 -2
  10. package/dist/commands/teams.js +108 -11
  11. package/dist/commands/view.d.ts +12 -1
  12. package/dist/commands/view.js +121 -38
  13. package/dist/index.js +38 -21
  14. package/dist/lib/agents.d.ts +10 -6
  15. package/dist/lib/agents.js +23 -14
  16. package/dist/lib/browser/chrome.d.ts +10 -0
  17. package/dist/lib/browser/chrome.js +84 -3
  18. package/dist/lib/exec.js +24 -4
  19. package/dist/lib/migrate.js +6 -4
  20. package/dist/lib/permissions.d.ts +23 -0
  21. package/dist/lib/permissions.js +89 -7
  22. package/dist/lib/plugin-marketplace.js +1 -1
  23. package/dist/lib/project-launch.d.ts +5 -0
  24. package/dist/lib/project-launch.js +37 -0
  25. package/dist/lib/pty-server.js +7 -4
  26. package/dist/lib/resources/rules.js +1 -1
  27. package/dist/lib/resources/skills.js +1 -1
  28. package/dist/lib/resources.d.ts +2 -0
  29. package/dist/lib/resources.js +2 -1
  30. package/dist/lib/rotate.js +6 -18
  31. package/dist/lib/run-config.d.ts +9 -0
  32. package/dist/lib/run-config.js +35 -0
  33. package/dist/lib/run-defaults.d.ts +42 -0
  34. package/dist/lib/run-defaults.js +180 -0
  35. package/dist/lib/secrets/Agents CLI.app/Contents/CodeResources +0 -0
  36. package/dist/lib/secrets/Agents CLI.app/Contents/MacOS/Agents CLI +0 -0
  37. package/dist/lib/secrets/install-helper.d.ts +11 -3
  38. package/dist/lib/secrets/install-helper.js +48 -6
  39. package/dist/lib/secrets/linux.d.ts +12 -0
  40. package/dist/lib/secrets/linux.js +30 -16
  41. package/dist/lib/shims.d.ts +9 -1
  42. package/dist/lib/shims.js +35 -3
  43. package/dist/lib/staleness/detectors/hooks.js +1 -1
  44. package/dist/lib/staleness/writers/hooks.js +1 -1
  45. package/dist/lib/teams/api.d.ts +67 -0
  46. package/dist/lib/teams/api.js +78 -0
  47. package/dist/lib/types.d.ts +15 -6
  48. package/dist/lib/versions.js +4 -4
  49. package/package.json +5 -2
@@ -9,6 +9,19 @@
9
9
  export type AgentId = 'claude' | 'codex' | 'gemini' | 'cursor' | 'opencode' | 'openclaw' | 'copilot' | 'amp' | 'kiro' | 'goose' | 'roo' | 'antigravity' | 'grok' | 'kimi';
10
10
  /** How `agents run <agent>` chooses an installed version when none is pinned. */
11
11
  export type RunStrategy = 'pinned' | 'available' | 'balanced';
12
+ /** Per-agent run strategy config. */
13
+ export interface AgentRunConfig {
14
+ strategy?: RunStrategy;
15
+ }
16
+ /** Default launch options applied by `agents run` when flags are omitted. */
17
+ export interface RunDefaults {
18
+ mode?: Mode;
19
+ model?: string;
20
+ }
21
+ /** `run:` section in agents.yaml. Agent keys keep strategy; `defaults` stores selector rules. */
22
+ export type RunConfig = Partial<Record<AgentId, AgentRunConfig>> & {
23
+ defaults?: Record<string, RunDefaults>;
24
+ };
12
25
  /** Preview features that users can opt into via `agents beta`. */
13
26
  export type BetaFeatureName = 'drive' | 'factory';
14
27
  /** Subset of chalk color names used for agent-specific terminal output. */
@@ -196,9 +209,7 @@ export interface InstalledHook {
196
209
  /** Package manifest (agents.yaml) found inside a cloned config repo or package. */
197
210
  export interface Manifest {
198
211
  agents?: Partial<Record<AgentId, string>>;
199
- run?: Partial<Record<AgentId, {
200
- strategy?: RunStrategy;
201
- }>>;
212
+ run?: RunConfig;
202
213
  beta?: {
203
214
  enabled?: BetaFeatureName[];
204
215
  };
@@ -504,9 +515,7 @@ export interface ExtraRepoConfig {
504
515
  /** Top-level structure of ~/.agents/.system/agents.yaml -- the CLI's persistent state. */
505
516
  export interface Meta {
506
517
  agents?: Partial<Record<AgentId, string>>;
507
- run?: Partial<Record<AgentId, {
508
- strategy?: RunStrategy;
509
- }>>;
518
+ run?: RunConfig;
510
519
  beta?: {
511
520
  enabled?: BetaFeatureName[];
512
521
  };
@@ -25,7 +25,7 @@ import { checkbox, select } from '@inquirer/prompts';
25
25
  import { getVersionsDir, ensureAgentsDir, readMeta, writeMeta, getCommandsDir, getSkillsDir, getHooksDir, getResolvedRulesDir, getUserRulesDir, getVersionResources, ensureVersionResourcePatterns, getProjectAgentsDir, getPromptcutsPath, getUserPromptcutsPath, getEnabledExtraRepos, getAgentsDir, getUserAgentsDir, getTrashVersionsDir, getActiveRulesPreset } from './state.js';
26
26
  import { defaultPatterns, expandPatterns } from './resource-patterns.js';
27
27
  import { listResources } from './resources.js';
28
- import { AGENTS, getAccountEmail, resolveAgentName, formatAgentError } from './agents.js';
28
+ import { AGENTS, agentConfigDirName, getAccountEmail, resolveAgentName, formatAgentError } from './agents.js';
29
29
  import { discoverPermissionGroups, getActivePermissionPresetName, readPermissionPresetRecipe, PERMISSION_PRESET_ENV_VAR } from './permissions.js';
30
30
  import { parseMcpServerConfig } from './mcp.js';
31
31
  import { createVersionedAlias, removeVersionedAlias, getConfigSymlinkVersion, ensureClaudeInsideSymlink } from './shims.js';
@@ -1160,7 +1160,7 @@ export function removeVersion(agent, version) {
1160
1160
  // Clean up dangling config symlink if it pointed to the removed version
1161
1161
  const symlinkVersion = getConfigSymlinkVersion(agent);
1162
1162
  if (symlinkVersion === version) {
1163
- const configPath = path.join(os.homedir(), `.${agent}`);
1163
+ const configPath = path.join(os.homedir(), agentConfigDirName(agent));
1164
1164
  try {
1165
1165
  fs.unlinkSync(configPath);
1166
1166
  }
@@ -1351,7 +1351,7 @@ async function getCliVersionFromPath(agent) {
1351
1351
  export function getResourceDiff(agent, version) {
1352
1352
  const agentConfig = AGENTS[agent];
1353
1353
  const versionHome = getVersionHomePath(agent, version);
1354
- const agentDir = path.join(versionHome, `.${agent}`);
1354
+ const agentDir = path.join(versionHome, agentConfigDirName(agent));
1355
1355
  const diff = {
1356
1356
  commands: { added: [], dangling: [] },
1357
1357
  skills: { added: [], dangling: [] },
@@ -1500,7 +1500,7 @@ export function getResourceDiff(agent, version) {
1500
1500
  export function syncResourcesToVersion(agent, version, selection, options = {}) {
1501
1501
  const agentConfig = AGENTS[agent];
1502
1502
  const versionHome = getVersionHomePath(agent, version);
1503
- const agentDir = path.join(versionHome, `.${agent}`);
1503
+ const agentDir = path.join(versionHome, agentConfigDirName(agent));
1504
1504
  fs.mkdirSync(agentDir, { recursive: true });
1505
1505
  // Capture whether the caller passed a selection. The pattern-expansion
1506
1506
  // path below reassigns `selection`, but for manifest write semantics we
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phnx-labs/agents-cli",
3
- "version": "1.20.5",
3
+ "version": "1.20.6",
4
4
  "description": "One CLI for all your AI coding agents - versions, config, cloud dispatch, sessions, and teams (now with first-class Grok Build CLI support)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -73,7 +73,11 @@
73
73
  "node": ">=22.5.0",
74
74
  "npm": ">=9"
75
75
  },
76
+ "trustedDependencies": [
77
+ "@homebridge/node-pty-prebuilt-multiarch"
78
+ ],
76
79
  "dependencies": {
80
+ "@homebridge/node-pty-prebuilt-multiarch": "0.13.1",
77
81
  "@inquirer/prompts": "8.5.2",
78
82
  "@types/proper-lockfile": "4.1.4",
79
83
  "@xterm/headless": "6.0.0",
@@ -84,7 +88,6 @@
84
88
  "diff": "9.0.0",
85
89
  "marked": "15.0.12",
86
90
  "marked-terminal": "7.3.0",
87
- "node-pty": "1.1.0",
88
91
  "ora": "9.4.0",
89
92
  "proper-lockfile": "4.1.2",
90
93
  "simple-git": "3.36.0",