@phnx-labs/agents-cli 1.20.22 → 1.20.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.
@@ -0,0 +1,136 @@
1
+ // One loader per command module. Each dynamically imports the module and hands
2
+ // back its register function. Kept as named consts so src/index.ts can compose
3
+ // them into the exact main-branch registration order for the slow path.
4
+ export const loadView = async () => (await import('../../commands/view.js')).registerViewCommand;
5
+ export const loadInspect = async () => (await import('../../commands/inspect.js')).registerInspectCommand;
6
+ export const loadFeedback = async () => (await import('../../commands/feedback.js')).registerFeedbackCommand;
7
+ export const loadCommands = async () => (await import('../../commands/commands.js')).registerCommandsCommands;
8
+ export const loadHooks = async () => (await import('../../commands/hooks.js')).registerHooksCommands;
9
+ export const loadSkills = async () => (await import('../../commands/skills.js')).registerSkillsCommands;
10
+ export const loadRules = async () => (await import('../../commands/rules.js')).registerRulesCommands;
11
+ export const loadPermissions = async () => (await import('../../commands/permissions.js')).registerPermissionsCommands;
12
+ export const loadMcp = async () => (await import('../../commands/mcp.js')).registerMcpCommands;
13
+ export const loadCli = async () => (await import('../../commands/cli.js')).registerCliCommands;
14
+ export const loadSubagents = async () => (await import('../../commands/subagents.js')).registerSubagentsCommands;
15
+ export const loadPlugins = async () => (await import('../../commands/plugins.js')).registerPluginsCommands;
16
+ export const loadWorkflows = async () => (await import('../../commands/workflows.js')).registerWorkflowsCommands;
17
+ export const loadWorktree = async () => (await import('../../commands/worktree.js')).registerWorktreeCommands;
18
+ export const loadVersions = async () => (await import('../../commands/versions.js')).registerVersionsCommands;
19
+ export const loadImport = async () => (await import('../../commands/import.js')).registerImportCommand;
20
+ export const loadPackages = async () => (await import('../../commands/packages.js')).registerPackagesCommands;
21
+ export const loadDaemon = async () => (await import('../../commands/daemon.js')).registerDaemonCommands;
22
+ export const loadRoutines = async () => (await import('../../commands/routines.js')).registerRoutinesCommands;
23
+ export const loadRun = async () => (await import('../../commands/exec.js')).registerRunCommand;
24
+ export const loadDefaults = async () => (await import('../../commands/defaults.js')).registerDefaultsCommands;
25
+ export const loadModels = async () => (await import('../../commands/models.js')).registerModelsCommand;
26
+ export const loadPrune = async () => (await import('../../commands/prune.js')).registerPruneCommand;
27
+ export const loadTrash = async () => (await import('../../commands/trash.js')).registerTrashCommands;
28
+ export const loadRestore = async () => (await import('../../commands/trash.js')).registerRestoreCommand;
29
+ export const loadDoctor = async () => (await import('../../commands/doctor.js')).registerDoctorCommand;
30
+ export const loadProfiles = async () => (await import('../../commands/profiles.js')).registerProfilesCommands;
31
+ export const loadSecrets = async () => (await import('../../commands/secrets.js')).registerSecretsCommands;
32
+ export const loadWallet = async () => (await import('../../commands/wallet.js')).registerWalletCommands;
33
+ export const loadHelper = async () => (await import('../../commands/helper.js')).registerHelperCommand;
34
+ export const loadMenubar = async () => (await import('../../commands/menubar.js')).registerMenubarCommands;
35
+ export const loadBeta = async () => (await import('../../commands/beta.js')).registerBetaCommands;
36
+ export const loadSync = async () => (await import('../../commands/sync.js')).registerSyncCommand;
37
+ export const loadRefreshRules = async () => (await import('../../commands/refresh-rules.js')).registerRefreshRulesCommand;
38
+ export const loadDrive = async () => (await import('../../commands/drive.js')).registerDriveCommands;
39
+ export const loadFactory = async () => (await import('../../commands/factory.js')).registerFactoryCommands;
40
+ export const loadUsage = async () => (await import('../../commands/usage.js')).registerUsageCommand;
41
+ export const loadCost = async () => (await import('../../commands/cost.js')).registerCostCommand;
42
+ export const loadBudget = async () => (await import('../../commands/budget.js')).registerBudgetCommand;
43
+ export const loadAlias = async () => (await import('../../commands/alias.js')).registerAliasCommand;
44
+ export const loadPty = async () => (await import('../../commands/pty.js')).registerPtyCommands;
45
+ export const loadTmux = async () => (await import('../../commands/tmux.js')).registerTmuxCommands;
46
+ export const loadBrowser = async () => (await import('../../commands/browser.js')).registerBrowserCommand;
47
+ export const loadComputer = async () => (await import('../../commands/computer.js')).registerComputerCommand;
48
+ export const loadPull = async () => (await import('../../commands/pull.js')).registerPullCommand;
49
+ export const loadPush = async () => (await import('../../commands/push.js')).registerPushCommand;
50
+ export const loadRepo = async () => (await import('../../commands/repo.js')).registerRepoCommands;
51
+ export const loadSetup = async () => (await import('../../commands/setup.js')).registerSetupCommand;
52
+ export const loadSessions = async () => (await import('../../commands/sessions.js')).registerSessionsCommands;
53
+ export const loadTeams = async () => (await import('../../commands/teams.js')).registerTeamsCommands;
54
+ export const loadCloud = async () => (await import('../../commands/cloud.js')).registerCloudCommands;
55
+ /**
56
+ * Commands whose modules pull in the SQLite-backed session/cloud stack. They are
57
+ * registered AFTER `applyGlobalHelpConventions` (mirroring main's order: help
58
+ * conventions at module top-level, lazy registration just before parse), so they
59
+ * inherit the root's custom help formatter rather than getting the per-command
60
+ * recursive pass. Keeping that ordering preserves their `--help` output exactly.
61
+ */
62
+ export const LAZY_COMMAND_NAMES = new Set(['sessions', 'teams', 'cloud']);
63
+ /**
64
+ * User-typed top-level command name -> ordered list of module loaders to run.
65
+ *
66
+ * Most names map to a single loader. The exceptions encode real coupling on main:
67
+ * - `add`/`use`/`list`/`remove`/`rm`/`purge` all come from the versions module.
68
+ * - `registry`/`search`/`install` all come from the packages module.
69
+ * - `trash` and `restore` are separate registrars in the trash module.
70
+ * - `prune` needs versions FIRST (it creates `prune <specs...>`) then prune.js
71
+ * (which finds that command and attaches the `cleanup` subcommand).
72
+ *
73
+ * Inline deprecated aliases (memory/perms/exec/jobs/cron) and the inline
74
+ * `upgrade` command are NOT here — they are closures over entry-point state and
75
+ * are handled directly in src/index.ts.
76
+ */
77
+ export const COMMAND_LOADERS = {
78
+ view: [loadView],
79
+ inspect: [loadInspect],
80
+ feedback: [loadFeedback],
81
+ commands: [loadCommands],
82
+ hooks: [loadHooks],
83
+ skills: [loadSkills],
84
+ rules: [loadRules],
85
+ permissions: [loadPermissions],
86
+ mcp: [loadMcp],
87
+ cli: [loadCli],
88
+ subagents: [loadSubagents],
89
+ plugins: [loadPlugins],
90
+ workflows: [loadWorkflows],
91
+ worktree: [loadWorktree],
92
+ add: [loadVersions],
93
+ use: [loadVersions],
94
+ list: [loadVersions],
95
+ remove: [loadVersions],
96
+ rm: [loadVersions],
97
+ purge: [loadVersions],
98
+ prune: [loadVersions, loadPrune],
99
+ import: [loadImport],
100
+ registry: [loadPackages],
101
+ search: [loadPackages],
102
+ install: [loadPackages],
103
+ daemon: [loadDaemon],
104
+ routines: [loadRoutines],
105
+ run: [loadRun],
106
+ defaults: [loadDefaults],
107
+ models: [loadModels],
108
+ trash: [loadTrash],
109
+ restore: [loadRestore],
110
+ doctor: [loadDoctor],
111
+ profiles: [loadProfiles],
112
+ secrets: [loadSecrets],
113
+ wallet: [loadWallet],
114
+ helper: [loadHelper],
115
+ menubar: [loadMenubar],
116
+ beta: [loadBeta],
117
+ sync: [loadSync],
118
+ 'refresh-rules': [loadRefreshRules],
119
+ drive: [loadDrive],
120
+ factory: [loadFactory],
121
+ usage: [loadUsage],
122
+ cost: [loadCost],
123
+ budget: [loadBudget],
124
+ alias: [loadAlias],
125
+ pty: [loadPty],
126
+ tmux: [loadTmux],
127
+ browser: [loadBrowser],
128
+ computer: [loadComputer],
129
+ pull: [loadPull],
130
+ push: [loadPush],
131
+ repo: [loadRepo],
132
+ setup: [loadSetup],
133
+ sessions: [loadSessions],
134
+ teams: [loadTeams],
135
+ cloud: [loadCloud],
136
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phnx-labs/agents-cli",
3
- "version": "1.20.22",
3
+ "version": "1.20.24",
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",
@@ -45,7 +45,8 @@
45
45
  },
46
46
  "scripts": {
47
47
  "build": "tsc && rm -rf 'dist/lib/secrets/AgentsKeychain.app' 'dist/lib/secrets/Agents CLI.app' 'dist/lib/menubar/MenubarHelper.app' && ([ \"$(uname)\" = \"Darwin\" ] && cp -R 'bin/Agents CLI.app' 'dist/lib/secrets/Agents CLI.app' || true) && ([ \"$(uname)\" = \"Darwin\" ] && [ -d 'bin/MenubarHelper.app' ] && mkdir -p 'dist/lib/menubar' && cp -R 'bin/MenubarHelper.app' 'dist/lib/menubar/MenubarHelper.app' || true)",
48
- "prepack": "scripts/verify-keychain-helper.sh",
48
+ "build:bin": "scripts/build-bin.sh",
49
+ "prepack": "scripts/verify-keychain-helper.sh && scripts/verify-menubar-helper.sh",
49
50
  "postinstall": "node scripts/postinstall.js",
50
51
  "dev": "tsx src/index.ts",
51
52
  "start": "node dist/index.js",