@junctionpanel/cli 0.1.16
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/LICENSE +671 -0
- package/bin/junction +2 -0
- package/bin/junction-daemon +5 -0
- package/dist/cli.d.ts +13 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +211 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/agent/archive.d.ts +17 -0
- package/dist/commands/agent/archive.d.ts.map +1 -0
- package/dist/commands/agent/archive.js +92 -0
- package/dist/commands/agent/archive.js.map +1 -0
- package/dist/commands/agent/attach.d.ts +10 -0
- package/dist/commands/agent/attach.d.ts.map +1 -0
- package/dist/commands/agent/attach.js +153 -0
- package/dist/commands/agent/attach.js.map +1 -0
- package/dist/commands/agent/index.d.ts +3 -0
- package/dist/commands/agent/index.d.ts.map +1 -0
- package/dist/commands/agent/index.js +125 -0
- package/dist/commands/agent/index.js.map +1 -0
- package/dist/commands/agent/inspect.d.ts +14 -0
- package/dist/commands/agent/inspect.d.ts.map +1 -0
- package/dist/commands/agent/inspect.js +198 -0
- package/dist/commands/agent/inspect.js.map +1 -0
- package/dist/commands/agent/logs.d.ts +15 -0
- package/dist/commands/agent/logs.d.ts.map +1 -0
- package/dist/commands/agent/logs.js +163 -0
- package/dist/commands/agent/logs.js.map +1 -0
- package/dist/commands/agent/ls.d.ts +37 -0
- package/dist/commands/agent/ls.d.ts.map +1 -0
- package/dist/commands/agent/ls.js +185 -0
- package/dist/commands/agent/ls.js.map +1 -0
- package/dist/commands/agent/mode.d.ts +18 -0
- package/dist/commands/agent/mode.d.ts.map +1 -0
- package/dist/commands/agent/mode.js +100 -0
- package/dist/commands/agent/mode.js.map +1 -0
- package/dist/commands/agent/run.d.ts +40 -0
- package/dist/commands/agent/run.d.ts.map +1 -0
- package/dist/commands/agent/run.js +354 -0
- package/dist/commands/agent/run.js.map +1 -0
- package/dist/commands/agent/send.d.ts +16 -0
- package/dist/commands/agent/send.d.ts.map +1 -0
- package/dist/commands/agent/send.js +172 -0
- package/dist/commands/agent/send.js.map +1 -0
- package/dist/commands/agent/stop.d.ts +16 -0
- package/dist/commands/agent/stop.d.ts.map +1 -0
- package/dist/commands/agent/stop.js +105 -0
- package/dist/commands/agent/stop.js.map +1 -0
- package/dist/commands/agent/update.d.ts +18 -0
- package/dist/commands/agent/update.d.ts.map +1 -0
- package/dist/commands/agent/update.js +139 -0
- package/dist/commands/agent/update.js.map +1 -0
- package/dist/commands/agent/wait.d.ts +16 -0
- package/dist/commands/agent/wait.d.ts.map +1 -0
- package/dist/commands/agent/wait.js +194 -0
- package/dist/commands/agent/wait.js.map +1 -0
- package/dist/commands/daemon/index.d.ts +4 -0
- package/dist/commands/daemon/index.d.ts.map +1 -0
- package/dist/commands/daemon/index.js +50 -0
- package/dist/commands/daemon/index.js.map +1 -0
- package/dist/commands/daemon/local-daemon.d.ts +60 -0
- package/dist/commands/daemon/local-daemon.d.ts.map +1 -0
- package/dist/commands/daemon/local-daemon.js +501 -0
- package/dist/commands/daemon/local-daemon.js.map +1 -0
- package/dist/commands/daemon/package-context.d.ts +7 -0
- package/dist/commands/daemon/package-context.d.ts.map +1 -0
- package/dist/commands/daemon/package-context.js +41 -0
- package/dist/commands/daemon/package-context.js.map +1 -0
- package/dist/commands/daemon/pair.d.ts +3 -0
- package/dist/commands/daemon/pair.d.ts.map +1 -0
- package/dist/commands/daemon/pair.js +11 -0
- package/dist/commands/daemon/pair.js.map +1 -0
- package/dist/commands/daemon/restart.d.ts +12 -0
- package/dist/commands/daemon/restart.d.ts.map +1 -0
- package/dist/commands/daemon/restart.js +102 -0
- package/dist/commands/daemon/restart.js.map +1 -0
- package/dist/commands/daemon/runtime-toolchain.d.ts +24 -0
- package/dist/commands/daemon/runtime-toolchain.d.ts.map +1 -0
- package/dist/commands/daemon/runtime-toolchain.js +93 -0
- package/dist/commands/daemon/runtime-toolchain.js.map +1 -0
- package/dist/commands/daemon/start.d.ts +6 -0
- package/dist/commands/daemon/start.d.ts.map +1 -0
- package/dist/commands/daemon/start.js +48 -0
- package/dist/commands/daemon/start.js.map +1 -0
- package/dist/commands/daemon/status.d.ts +11 -0
- package/dist/commands/daemon/status.d.ts.map +1 -0
- package/dist/commands/daemon/status.js +389 -0
- package/dist/commands/daemon/status.js.map +1 -0
- package/dist/commands/daemon/stop.d.ts +12 -0
- package/dist/commands/daemon/stop.d.ts.map +1 -0
- package/dist/commands/daemon/stop.js +69 -0
- package/dist/commands/daemon/stop.js.map +1 -0
- package/dist/commands/daemon/update.d.ts +11 -0
- package/dist/commands/daemon/update.d.ts.map +1 -0
- package/dist/commands/daemon/update.js +88 -0
- package/dist/commands/daemon/update.js.map +1 -0
- package/dist/commands/onboard.d.ts +9 -0
- package/dist/commands/onboard.d.ts.map +1 -0
- package/dist/commands/onboard.js +299 -0
- package/dist/commands/onboard.js.map +1 -0
- package/dist/commands/permit/allow.d.ts +20 -0
- package/dist/commands/permit/allow.d.ts.map +1 -0
- package/dist/commands/permit/allow.js +134 -0
- package/dist/commands/permit/allow.js.map +1 -0
- package/dist/commands/permit/deny.d.ts +12 -0
- package/dist/commands/permit/deny.d.ts.map +1 -0
- package/dist/commands/permit/deny.js +106 -0
- package/dist/commands/permit/deny.js.map +1 -0
- package/dist/commands/permit/index.d.ts +3 -0
- package/dist/commands/permit/index.d.ts.map +1 -0
- package/dist/commands/permit/index.js +37 -0
- package/dist/commands/permit/index.js.map +1 -0
- package/dist/commands/permit/ls.d.ts +18 -0
- package/dist/commands/permit/ls.d.ts.map +1 -0
- package/dist/commands/permit/ls.js +66 -0
- package/dist/commands/permit/ls.js.map +1 -0
- package/dist/commands/provider/index.d.ts +3 -0
- package/dist/commands/provider/index.d.ts.map +1 -0
- package/dist/commands/provider/index.js +23 -0
- package/dist/commands/provider/index.js.map +1 -0
- package/dist/commands/provider/ls.d.ts +17 -0
- package/dist/commands/provider/ls.d.ts.map +1 -0
- package/dist/commands/provider/ls.js +51 -0
- package/dist/commands/provider/ls.js.map +1 -0
- package/dist/commands/provider/models.d.ts +20 -0
- package/dist/commands/provider/models.d.ts.map +1 -0
- package/dist/commands/provider/models.js +53 -0
- package/dist/commands/provider/models.js.map +1 -0
- package/dist/commands/worktree/archive.d.ts +16 -0
- package/dist/commands/worktree/archive.d.ts.map +1 -0
- package/dist/commands/worktree/archive.js +98 -0
- package/dist/commands/worktree/archive.js.map +1 -0
- package/dist/commands/worktree/index.d.ts +3 -0
- package/dist/commands/worktree/index.d.ts.map +1 -0
- package/dist/commands/worktree/index.js +22 -0
- package/dist/commands/worktree/index.js.map +1 -0
- package/dist/commands/worktree/ls.d.ts +19 -0
- package/dist/commands/worktree/ls.d.ts.map +1 -0
- package/dist/commands/worktree/ls.js +97 -0
- package/dist/commands/worktree/ls.js.map +1 -0
- package/dist/daemon-only-cli.d.ts +4 -0
- package/dist/daemon-only-cli.d.ts.map +1 -0
- package/dist/daemon-only-cli.js +5 -0
- package/dist/daemon-only-cli.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/output/index.d.ts +45 -0
- package/dist/output/index.d.ts.map +1 -0
- package/dist/output/index.js +47 -0
- package/dist/output/index.js.map +1 -0
- package/dist/output/json.d.ts +11 -0
- package/dist/output/json.d.ts.map +1 -0
- package/dist/output/json.js +37 -0
- package/dist/output/json.js.map +1 -0
- package/dist/output/quiet.d.ts +9 -0
- package/dist/output/quiet.d.ts.map +1 -0
- package/dist/output/quiet.js +22 -0
- package/dist/output/quiet.js.map +1 -0
- package/dist/output/render.d.ts +15 -0
- package/dist/output/render.d.ts.map +1 -0
- package/dist/output/render.js +80 -0
- package/dist/output/render.js.map +1 -0
- package/dist/output/table.d.ts +13 -0
- package/dist/output/table.d.ts.map +1 -0
- package/dist/output/table.js +135 -0
- package/dist/output/table.js.map +1 -0
- package/dist/output/types.d.ts +71 -0
- package/dist/output/types.d.ts.map +1 -0
- package/dist/output/types.js +8 -0
- package/dist/output/types.js.map +1 -0
- package/dist/output/with-output.d.ts +37 -0
- package/dist/output/with-output.d.ts.map +1 -0
- package/dist/output/with-output.js +87 -0
- package/dist/output/with-output.js.map +1 -0
- package/dist/output/yaml.d.ts +11 -0
- package/dist/output/yaml.d.ts.map +1 -0
- package/dist/output/yaml.js +38 -0
- package/dist/output/yaml.js.map +1 -0
- package/dist/utils/client-id.d.ts +2 -0
- package/dist/utils/client-id.d.ts.map +1 -0
- package/dist/utils/client-id.js +37 -0
- package/dist/utils/client-id.js.map +1 -0
- package/dist/utils/client.d.ts +35 -0
- package/dist/utils/client.d.ts.map +1 -0
- package/dist/utils/client.js +113 -0
- package/dist/utils/client.js.map +1 -0
- package/dist/utils/errors.d.ts +5 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +10 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/timeline.d.ts +8 -0
- package/dist/utils/timeline.d.ts.map +1 -0
- package/dist/utils/timeline.js +9 -0
- package/dist/utils/timeline.js.map +1 -0
- package/package.json +66 -0
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { type DaemonPackageContext } from './commands/daemon/package-context.js';
|
|
3
|
+
export interface JunctionCliOptions {
|
|
4
|
+
packageContext?: Partial<DaemonPackageContext>;
|
|
5
|
+
}
|
|
6
|
+
interface RegisterDaemonTopLevelOptions {
|
|
7
|
+
includeStop?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function registerTopLevelDaemonCommands(program: Command, packageContext: DaemonPackageContext, options?: RegisterDaemonTopLevelOptions): void;
|
|
10
|
+
export declare function createCli(options?: JunctionCliOptions): Command;
|
|
11
|
+
export declare function createDaemonOnlyProgram(options?: JunctionCliOptions): Command;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAsBnC,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,sCAAsC,CAAA;AAU7C,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;CAC/C;AAED,UAAU,6BAA6B;IACrC,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAoBD,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,oBAAoB,EACpC,OAAO,GAAE,6BAAkC,GAC1C,IAAI,CA+DN;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CA+HnE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAMjF"}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { createAgentCommand } from './commands/agent/index.js';
|
|
3
|
+
import { createDaemonCommand } from './commands/daemon/index.js';
|
|
4
|
+
import { createPermitCommand } from './commands/permit/index.js';
|
|
5
|
+
import { createProviderCommand } from './commands/provider/index.js';
|
|
6
|
+
import { createWorktreeCommand } from './commands/worktree/index.js';
|
|
7
|
+
import { startCommand as daemonStartCommand } from './commands/daemon/start.js';
|
|
8
|
+
import { runStatusCommand as runDaemonStatusCommand } from './commands/daemon/status.js';
|
|
9
|
+
import { runRestartCommand as runDaemonRestartCommand } from './commands/daemon/restart.js';
|
|
10
|
+
import { runDaemonUpdateCommandOrExit } from './commands/daemon/update.js';
|
|
11
|
+
import { pairCommand as daemonPairCommand } from './commands/daemon/pair.js';
|
|
12
|
+
import { runLsCommand } from './commands/agent/ls.js';
|
|
13
|
+
import { runRunCommand } from './commands/agent/run.js';
|
|
14
|
+
import { runLogsCommand } from './commands/agent/logs.js';
|
|
15
|
+
import { runStopCommand as runAgentStopCommand } from './commands/agent/stop.js';
|
|
16
|
+
import { runSendCommand } from './commands/agent/send.js';
|
|
17
|
+
import { runInspectCommand } from './commands/agent/inspect.js';
|
|
18
|
+
import { runWaitCommand } from './commands/agent/wait.js';
|
|
19
|
+
import { runAttachCommand } from './commands/agent/attach.js';
|
|
20
|
+
import { withOutput } from './output/index.js';
|
|
21
|
+
import { onboardCommand } from './commands/onboard.js';
|
|
22
|
+
import { runStopCommand as runDaemonStopCommand } from './commands/daemon/stop.js';
|
|
23
|
+
import { resolveDaemonPackageContext, } from './commands/daemon/package-context.js';
|
|
24
|
+
// Helper function to collect multiple option values into an array
|
|
25
|
+
function collectMultiple(value, previous) {
|
|
26
|
+
return previous.concat([value]);
|
|
27
|
+
}
|
|
28
|
+
function configureProgramBase(program, packageContext, description) {
|
|
29
|
+
program
|
|
30
|
+
.name('junction')
|
|
31
|
+
.description(description)
|
|
32
|
+
.version(packageContext.packageVersion, '-v, --version', 'output the version number')
|
|
33
|
+
// Global output options
|
|
34
|
+
.option('-o, --format <format>', 'output format: table, json, yaml', 'table')
|
|
35
|
+
.option('--json', 'output in JSON format (alias for --format json)')
|
|
36
|
+
.option('-q, --quiet', 'minimal output (IDs only)')
|
|
37
|
+
.option('--no-headers', 'omit table headers')
|
|
38
|
+
.option('--no-color', 'disable colored output');
|
|
39
|
+
}
|
|
40
|
+
export function registerTopLevelDaemonCommands(program, packageContext, options = {}) {
|
|
41
|
+
const includeStop = options.includeStop ?? true;
|
|
42
|
+
const runDaemonStopWithOutput = withOutput(runDaemonStopCommand);
|
|
43
|
+
// Top-level local daemon shortcuts
|
|
44
|
+
program.addCommand(onboardCommand());
|
|
45
|
+
program.addCommand(daemonStartCommand());
|
|
46
|
+
program.addCommand(daemonPairCommand());
|
|
47
|
+
program
|
|
48
|
+
.command('update')
|
|
49
|
+
.description('Update local daemon package (alias for "junction daemon update")')
|
|
50
|
+
.option('--home <path>', 'Junction home directory (default: ~/.junction)')
|
|
51
|
+
.option('-y, --yes', 'Restart automatically after update')
|
|
52
|
+
.action(async (options) => {
|
|
53
|
+
await runDaemonUpdateCommandOrExit(options, packageContext);
|
|
54
|
+
});
|
|
55
|
+
program
|
|
56
|
+
.command('status')
|
|
57
|
+
.description('Show local daemon status (alias for "junction daemon status")')
|
|
58
|
+
.option('--json', 'Output in JSON format')
|
|
59
|
+
.option('--home <path>', 'Junction home directory (default: ~/.junction)')
|
|
60
|
+
.option('--all', 'Show status of all running daemons')
|
|
61
|
+
.option('--port <port>', 'Show status of daemon on specific port')
|
|
62
|
+
.action(withOutput(async (options, command) => runDaemonStatusCommand(options, command, packageContext)));
|
|
63
|
+
program
|
|
64
|
+
.command('restart')
|
|
65
|
+
.description('Restart local daemon (alias for "junction daemon restart")')
|
|
66
|
+
.option('--json', 'Output in JSON format')
|
|
67
|
+
.option('--home <path>', 'Junction home directory (default: ~/.junction)')
|
|
68
|
+
.option('--timeout <seconds>', 'Wait timeout before force step (default: 15)')
|
|
69
|
+
.option('--force', 'Send SIGKILL if graceful stop times out')
|
|
70
|
+
.option('--listen <listen>', 'Listen target for restarted daemon (host:port, port, or unix socket)')
|
|
71
|
+
.option('--port <port>', 'Port for restarted daemon listen target')
|
|
72
|
+
.option('--no-relay', 'Disable relay on restarted daemon')
|
|
73
|
+
.option('--no-mcp', 'Disable Agent MCP on restarted daemon')
|
|
74
|
+
.option('--allowed-hosts <hosts>', 'Comma-separated Host allowlist values (example: "localhost,.example.com" or "true")')
|
|
75
|
+
.action(withOutput(runDaemonRestartCommand));
|
|
76
|
+
if (includeStop) {
|
|
77
|
+
program
|
|
78
|
+
.command('stop')
|
|
79
|
+
.description('Stop the local daemon')
|
|
80
|
+
.option('--json', 'Output in JSON format')
|
|
81
|
+
.option('--home <path>', 'Junction home directory (default: ~/.junction)')
|
|
82
|
+
.option('--timeout <seconds>', 'Wait timeout before failing (default: 15)')
|
|
83
|
+
.option('--force', 'Send SIGKILL if graceful stop times out')
|
|
84
|
+
.option('--all', 'Stop all running daemons')
|
|
85
|
+
.option('--port <port>', 'Stop daemon on specific port')
|
|
86
|
+
.option('--listen <listen>', 'Stop daemon on specific listen address')
|
|
87
|
+
.action(async (stopOptions, command) => {
|
|
88
|
+
await runDaemonStopWithOutput(stopOptions, command);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
export function createCli(options = {}) {
|
|
93
|
+
const packageContext = resolveDaemonPackageContext(options.packageContext);
|
|
94
|
+
const program = new Command();
|
|
95
|
+
const runAgentStopWithOutput = withOutput(runAgentStopCommand);
|
|
96
|
+
const runDaemonStopWithOutput = withOutput(runDaemonStopCommand);
|
|
97
|
+
configureProgramBase(program, packageContext, 'Junction CLI - control your AI coding agents from the command line');
|
|
98
|
+
// Primary agent commands (top-level)
|
|
99
|
+
program
|
|
100
|
+
.command('ls')
|
|
101
|
+
.description('List agents. By default excludes archived agents.')
|
|
102
|
+
.option('-a, --all', 'Include archived agents')
|
|
103
|
+
.option('-g, --global', 'Legacy no-op (kept for compatibility)')
|
|
104
|
+
.option('--label <key=value>', 'Filter by label (can be used multiple times)', collectMultiple, [])
|
|
105
|
+
.option('--thinking <id>', 'Filter by thinking option ID')
|
|
106
|
+
.option('--json', 'Output in JSON format')
|
|
107
|
+
.option('--host <host>', 'Daemon host:port (default: localhost:6767)')
|
|
108
|
+
.action(withOutput(runLsCommand));
|
|
109
|
+
program
|
|
110
|
+
.command('run')
|
|
111
|
+
.description('Create and start an agent with a task')
|
|
112
|
+
.argument('<prompt>', 'The task/prompt for the agent')
|
|
113
|
+
.option('-d, --detach', 'Run in background (detached)')
|
|
114
|
+
.option('--name <name>', 'Assign a name/title to the agent')
|
|
115
|
+
.option('--provider <provider>', 'Agent provider: claude | codex | opencode', 'claude')
|
|
116
|
+
.option('--model <model>', 'Model to use (e.g., claude-sonnet-4-20250514, claude-3-5-haiku-20241022)')
|
|
117
|
+
.option('--thinking <id>', 'Thinking option ID to use for this run')
|
|
118
|
+
.option('--mode <mode>', 'Provider-specific mode (e.g., plan, default, bypass)')
|
|
119
|
+
.option('--worktree <name>', 'Create agent in a new git worktree')
|
|
120
|
+
.option('--base <branch>', 'Base branch for worktree (default: current branch)')
|
|
121
|
+
.option('--image <path>', 'Attach image(s) to the initial prompt (can be used multiple times)', collectMultiple, [])
|
|
122
|
+
.option('--cwd <path>', 'Working directory (default: current)')
|
|
123
|
+
.option('--label <key=value>', 'Add label(s) to the agent (can be used multiple times)', collectMultiple, [])
|
|
124
|
+
.option('--ui', 'Mark as UI agent (equivalent to --label ui=true)')
|
|
125
|
+
.option('--output-schema <schema>', 'Output JSON matching the provided schema file path or inline JSON schema')
|
|
126
|
+
.option('--json', 'Output in JSON format')
|
|
127
|
+
.option('--host <host>', 'Daemon host:port (default: localhost:6767)')
|
|
128
|
+
.action(withOutput(runRunCommand));
|
|
129
|
+
program
|
|
130
|
+
.command('attach')
|
|
131
|
+
.description("Attach to a running agent's output stream")
|
|
132
|
+
.argument('<id>', 'Agent ID (or prefix)')
|
|
133
|
+
.option('--host <host>', 'Daemon host:port (default: localhost:6767)')
|
|
134
|
+
.action(runAttachCommand);
|
|
135
|
+
program
|
|
136
|
+
.command('logs')
|
|
137
|
+
.description('View agent activity/timeline')
|
|
138
|
+
.argument('<id>', 'Agent ID (or prefix)')
|
|
139
|
+
.option('-f, --follow', 'Follow log output (streaming)')
|
|
140
|
+
.option('--tail <n>', 'Show last n entries')
|
|
141
|
+
.option('--filter <type>', 'Filter by event type (tools, text, errors, permissions)')
|
|
142
|
+
.option('--since <time>', 'Show logs since timestamp')
|
|
143
|
+
.option('--host <host>', 'Daemon host:port (default: localhost:6767)')
|
|
144
|
+
.action(runLogsCommand);
|
|
145
|
+
program
|
|
146
|
+
.command('stop')
|
|
147
|
+
.description('Stop an agent; with no target, stop the local daemon')
|
|
148
|
+
.argument('[id]', 'Agent ID (or prefix) - optional if --all or --cwd specified')
|
|
149
|
+
.option('--all', 'Stop all agents')
|
|
150
|
+
.option('--cwd <path>', 'Stop all agents in directory')
|
|
151
|
+
.option('--home <path>', 'Junction home directory (default: ~/.junction)')
|
|
152
|
+
.option('--timeout <seconds>', 'Wait timeout before failing (default: 15)')
|
|
153
|
+
.option('--force', 'Send SIGKILL if graceful stop times out')
|
|
154
|
+
.option('--listen <listen>', 'Stop daemon on specific listen address')
|
|
155
|
+
.option('--port <port>', 'Stop daemon on specific port')
|
|
156
|
+
.option('--json', 'Output in JSON format')
|
|
157
|
+
.option('--host <host>', 'Daemon host:port (default: localhost:6767)')
|
|
158
|
+
.action(async (id, options, command) => {
|
|
159
|
+
const isAgentStop = Boolean(id) || options.all === true || typeof options.cwd === 'string';
|
|
160
|
+
if (isAgentStop) {
|
|
161
|
+
await runAgentStopWithOutput(id, options, command);
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
await runDaemonStopWithOutput(options, command);
|
|
165
|
+
});
|
|
166
|
+
program
|
|
167
|
+
.command('send')
|
|
168
|
+
.description('Send a message/task to an existing agent')
|
|
169
|
+
.argument('<id>', 'Agent ID (or prefix)')
|
|
170
|
+
.argument('<prompt>', 'The message to send')
|
|
171
|
+
.option('--no-wait', 'Return immediately without waiting for completion')
|
|
172
|
+
.option('--image <path>', 'Attach image(s) to the message', collectMultiple, [])
|
|
173
|
+
.option('--json', 'Output in JSON format')
|
|
174
|
+
.option('--host <host>', 'Daemon host:port (default: localhost:6767)')
|
|
175
|
+
.action(withOutput(runSendCommand));
|
|
176
|
+
program
|
|
177
|
+
.command('inspect')
|
|
178
|
+
.description('Show detailed information about an agent')
|
|
179
|
+
.argument('<id>', 'Agent ID (or prefix)')
|
|
180
|
+
.option('--json', 'Output in JSON format')
|
|
181
|
+
.option('--host <host>', 'Daemon host:port (default: localhost:6767)')
|
|
182
|
+
.action(withOutput(runInspectCommand));
|
|
183
|
+
program
|
|
184
|
+
.command('wait')
|
|
185
|
+
.description('Wait for an agent to become idle')
|
|
186
|
+
.argument('<id>', 'Agent ID (or prefix)')
|
|
187
|
+
.option('--timeout <seconds>', 'Maximum wait time (default: no limit)')
|
|
188
|
+
.option('--json', 'Output in JSON format')
|
|
189
|
+
.option('--host <host>', 'Daemon host:port (default: localhost:6767)')
|
|
190
|
+
.action(withOutput(runWaitCommand));
|
|
191
|
+
registerTopLevelDaemonCommands(program, packageContext, { includeStop: false });
|
|
192
|
+
// Advanced agent commands (less common operations)
|
|
193
|
+
program.addCommand(createAgentCommand());
|
|
194
|
+
// Daemon commands
|
|
195
|
+
program.addCommand(createDaemonCommand(packageContext));
|
|
196
|
+
// Permission commands
|
|
197
|
+
program.addCommand(createPermitCommand());
|
|
198
|
+
// Provider commands
|
|
199
|
+
program.addCommand(createProviderCommand());
|
|
200
|
+
// Worktree commands
|
|
201
|
+
program.addCommand(createWorktreeCommand());
|
|
202
|
+
return program;
|
|
203
|
+
}
|
|
204
|
+
export function createDaemonOnlyProgram(options = {}) {
|
|
205
|
+
const packageContext = resolveDaemonPackageContext(options.packageContext);
|
|
206
|
+
const program = new Command();
|
|
207
|
+
configureProgramBase(program, packageContext, 'Junction daemon CLI');
|
|
208
|
+
registerTopLevelDaemonCommands(program, packageContext, { includeStop: true });
|
|
209
|
+
return program;
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
import type { CommandOptions, SingleResult, OutputSchema } from '../../output/index.js';
|
|
3
|
+
/** Result type for agent archive command */
|
|
4
|
+
export interface AgentArchiveResult {
|
|
5
|
+
agentId: string;
|
|
6
|
+
status: 'archived';
|
|
7
|
+
archivedAt: string;
|
|
8
|
+
}
|
|
9
|
+
/** Schema for archive command output */
|
|
10
|
+
export declare const archiveSchema: OutputSchema<AgentArchiveResult>;
|
|
11
|
+
export interface AgentArchiveOptions extends CommandOptions {
|
|
12
|
+
force?: boolean;
|
|
13
|
+
host?: string;
|
|
14
|
+
}
|
|
15
|
+
export type AgentArchiveCommandResult = SingleResult<AgentArchiveResult>;
|
|
16
|
+
export declare function runArchiveCommand(agentIdArg: string, options: AgentArchiveOptions, _command: Command): Promise<AgentArchiveCommandResult>;
|
|
17
|
+
//# sourceMappingURL=archive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/archive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAgB,MAAM,uBAAuB,CAAA;AAErG,4CAA4C;AAC5C,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,UAAU,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,wCAAwC;AACxC,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,kBAAkB,CAO1D,CAAA;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAExE,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,yBAAyB,CAAC,CAyFpC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { connectToDaemon, getDaemonHost } from '../../utils/client.js';
|
|
2
|
+
/** Schema for archive command output */
|
|
3
|
+
export const archiveSchema = {
|
|
4
|
+
idField: 'agentId',
|
|
5
|
+
columns: [
|
|
6
|
+
{ header: 'AGENT ID', field: 'agentId' },
|
|
7
|
+
{ header: 'STATUS', field: 'status' },
|
|
8
|
+
{ header: 'ARCHIVED AT', field: 'archivedAt' },
|
|
9
|
+
],
|
|
10
|
+
};
|
|
11
|
+
export async function runArchiveCommand(agentIdArg, options, _command) {
|
|
12
|
+
const host = getDaemonHost({ host: options.host });
|
|
13
|
+
// Validate arguments
|
|
14
|
+
if (!agentIdArg || agentIdArg.trim().length === 0) {
|
|
15
|
+
const error = {
|
|
16
|
+
code: 'MISSING_AGENT_ID',
|
|
17
|
+
message: 'Agent ID is required',
|
|
18
|
+
details: 'Usage: junction agent archive <id>',
|
|
19
|
+
};
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
let client;
|
|
23
|
+
try {
|
|
24
|
+
client = await connectToDaemon({ host: options.host });
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
28
|
+
const error = {
|
|
29
|
+
code: 'DAEMON_NOT_RUNNING',
|
|
30
|
+
message: `Cannot connect to daemon at ${host}: ${message}`,
|
|
31
|
+
details: 'Start the daemon with: junction daemon start',
|
|
32
|
+
};
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
const fetchResult = await client.fetchAgent(agentIdArg);
|
|
37
|
+
if (!fetchResult) {
|
|
38
|
+
const error = {
|
|
39
|
+
code: 'AGENT_NOT_FOUND',
|
|
40
|
+
message: `Agent not found: ${agentIdArg}`,
|
|
41
|
+
details: 'Use "junction ls" to list available agents',
|
|
42
|
+
};
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
const agent = fetchResult.agent;
|
|
46
|
+
const agentId = agent.id;
|
|
47
|
+
// Check if agent is already archived
|
|
48
|
+
if (agent.archivedAt) {
|
|
49
|
+
const error = {
|
|
50
|
+
code: 'AGENT_ALREADY_ARCHIVED',
|
|
51
|
+
message: `Agent ${agentId.slice(0, 7)} is already archived`,
|
|
52
|
+
details: `Archived at: ${agent.archivedAt}`,
|
|
53
|
+
};
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
// Check if agent is running and reject unless --force is set
|
|
57
|
+
if (agent.status === 'running' && !options.force) {
|
|
58
|
+
const error = {
|
|
59
|
+
code: 'AGENT_RUNNING',
|
|
60
|
+
message: `Agent ${agentId.slice(0, 7)} is currently running`,
|
|
61
|
+
details: 'Use --force to archive a running agent (it will interrupt the active run), or stop it first with: junction agent stop',
|
|
62
|
+
};
|
|
63
|
+
throw error;
|
|
64
|
+
}
|
|
65
|
+
// Archive the agent
|
|
66
|
+
const result = await client.archiveAgent(agentId);
|
|
67
|
+
await client.close();
|
|
68
|
+
return {
|
|
69
|
+
type: 'single',
|
|
70
|
+
data: {
|
|
71
|
+
agentId,
|
|
72
|
+
status: 'archived',
|
|
73
|
+
archivedAt: result.archivedAt,
|
|
74
|
+
},
|
|
75
|
+
schema: archiveSchema,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
await client.close().catch(() => { });
|
|
80
|
+
// Re-throw CommandError as-is
|
|
81
|
+
if (err && typeof err === 'object' && 'code' in err) {
|
|
82
|
+
throw err;
|
|
83
|
+
}
|
|
84
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
85
|
+
const error = {
|
|
86
|
+
code: 'ARCHIVE_FAILED',
|
|
87
|
+
message: `Failed to archive agent: ${message}`,
|
|
88
|
+
};
|
|
89
|
+
throw error;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=archive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../src/commands/agent/archive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
export interface AgentAttachOptions {
|
|
3
|
+
host?: string;
|
|
4
|
+
[key: string]: unknown;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Attach to a running agent's output stream
|
|
8
|
+
*/
|
|
9
|
+
export declare function runAttachCommand(id: string, options: AgentAttachOptions, _command: Command): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=attach.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attach.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/attach.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUxC,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAgFD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAsFf"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { connectToDaemon, getDaemonHost } from '../../utils/client.js';
|
|
2
|
+
import { fetchProjectedTimelineItems } from '../../utils/timeline.js';
|
|
3
|
+
/**
|
|
4
|
+
* Format and print a timeline item to the terminal
|
|
5
|
+
*/
|
|
6
|
+
function printTimelineItem(item) {
|
|
7
|
+
switch (item.type) {
|
|
8
|
+
case 'assistant_message':
|
|
9
|
+
// Print assistant text directly
|
|
10
|
+
process.stdout.write(item.text);
|
|
11
|
+
break;
|
|
12
|
+
case 'reasoning':
|
|
13
|
+
// Print reasoning in a muted color if available
|
|
14
|
+
console.log(`\n[Reasoning] ${item.text}`);
|
|
15
|
+
break;
|
|
16
|
+
case 'tool_call': {
|
|
17
|
+
const toolName = item.name;
|
|
18
|
+
const status = item.status ?? 'started';
|
|
19
|
+
console.log(`\n[Tool: ${toolName}] ${status}`);
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
case 'todo': {
|
|
23
|
+
const completed = item.items.filter((i) => i.completed).length;
|
|
24
|
+
const total = item.items.length;
|
|
25
|
+
console.log(`\n[Todo] ${completed}/${total} completed`);
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
case 'error':
|
|
29
|
+
console.error(`\n[Error] ${item.message}`);
|
|
30
|
+
break;
|
|
31
|
+
case 'user_message':
|
|
32
|
+
console.log(`\n[User] ${item.text}`);
|
|
33
|
+
break;
|
|
34
|
+
default:
|
|
35
|
+
// Unknown item type, skip
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Format and print a stream event to the terminal
|
|
41
|
+
*/
|
|
42
|
+
function printStreamEvent(event) {
|
|
43
|
+
switch (event.type) {
|
|
44
|
+
case 'timeline':
|
|
45
|
+
// Print the timeline item
|
|
46
|
+
printTimelineItem(event.item);
|
|
47
|
+
break;
|
|
48
|
+
case 'permission_requested':
|
|
49
|
+
console.log(`\n[Permission Required] ${event.request.name}`);
|
|
50
|
+
if (event.request.description) {
|
|
51
|
+
console.log(` ${event.request.description}`);
|
|
52
|
+
}
|
|
53
|
+
break;
|
|
54
|
+
case 'permission_resolved':
|
|
55
|
+
console.log(`\n[Permission ${event.resolution.behavior}]`);
|
|
56
|
+
break;
|
|
57
|
+
case 'turn_failed':
|
|
58
|
+
console.error(`\n[Turn Failed] ${event.error}`);
|
|
59
|
+
break;
|
|
60
|
+
case 'attention_required':
|
|
61
|
+
console.log(`\n[Attention Required: ${event.reason}]`);
|
|
62
|
+
break;
|
|
63
|
+
default:
|
|
64
|
+
// Other event types are internal
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Attach to a running agent's output stream
|
|
70
|
+
*/
|
|
71
|
+
export async function runAttachCommand(id, options, _command) {
|
|
72
|
+
const host = getDaemonHost({ host: options.host });
|
|
73
|
+
if (!id) {
|
|
74
|
+
console.error('Error: Agent ID required');
|
|
75
|
+
console.error('Usage: junction attach <id>');
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
78
|
+
let client;
|
|
79
|
+
try {
|
|
80
|
+
client = await connectToDaemon({ host: options.host });
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
84
|
+
console.error(`Error: Cannot connect to daemon at ${host}: ${message}`);
|
|
85
|
+
console.error('Start the daemon with: junction daemon start');
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
try {
|
|
89
|
+
const fetchResult = await client.fetchAgent(id);
|
|
90
|
+
if (!fetchResult) {
|
|
91
|
+
console.error(`Error: No agent found matching: ${id}`);
|
|
92
|
+
console.error('Use `junction ls` to list available agents');
|
|
93
|
+
await client.close();
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
const resolvedId = fetchResult.agent.id;
|
|
97
|
+
// Print header
|
|
98
|
+
console.log(`Attaching to agent ${resolvedId.substring(0, 7)}...`);
|
|
99
|
+
console.log(`(Press Ctrl+C to detach)\n`);
|
|
100
|
+
// Print existing output from timeline fetch.
|
|
101
|
+
try {
|
|
102
|
+
const timelineItems = await fetchProjectedTimelineItems({
|
|
103
|
+
client,
|
|
104
|
+
agentId: resolvedId,
|
|
105
|
+
});
|
|
106
|
+
for (const item of timelineItems) {
|
|
107
|
+
printTimelineItem(item);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
console.warn('Warning: failed to fetch existing timeline', error);
|
|
112
|
+
}
|
|
113
|
+
// Subscribe to new events
|
|
114
|
+
const unsubscribe = client.on('agent_stream', (msg) => {
|
|
115
|
+
const message = msg;
|
|
116
|
+
if (message.type !== 'agent_stream')
|
|
117
|
+
return;
|
|
118
|
+
if (message.payload.agentId !== resolvedId)
|
|
119
|
+
return;
|
|
120
|
+
printStreamEvent(message.payload.event);
|
|
121
|
+
});
|
|
122
|
+
// Handle Ctrl+C to detach gracefully
|
|
123
|
+
let detached = false;
|
|
124
|
+
const detach = () => {
|
|
125
|
+
if (detached)
|
|
126
|
+
return;
|
|
127
|
+
detached = true;
|
|
128
|
+
console.log('\n\nDetaching from agent...');
|
|
129
|
+
unsubscribe();
|
|
130
|
+
client
|
|
131
|
+
.close()
|
|
132
|
+
.then(() => {
|
|
133
|
+
process.exit(0);
|
|
134
|
+
})
|
|
135
|
+
.catch(() => {
|
|
136
|
+
process.exit(1);
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
process.on('SIGINT', detach);
|
|
140
|
+
process.on('SIGTERM', detach);
|
|
141
|
+
// Keep the process alive
|
|
142
|
+
await new Promise(() => {
|
|
143
|
+
// Wait indefinitely until interrupted
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
catch (err) {
|
|
147
|
+
await client.close().catch(() => { });
|
|
148
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
149
|
+
console.error(`Error: Failed to attach to agent: ${message}`);
|
|
150
|
+
process.exit(1);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=attach.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attach.js","sourceRoot":"","sources":["../../../src/commands/agent/attach.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAcnC,wBAAgB,kBAAkB,IAAI,OAAO,CAgI5C"}
|