@gnsx/genesys.agent.cli 1.0.5 → 1.0.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.
- package/dist/src/args.d.ts +5 -6
- package/dist/src/args.d.ts.map +1 -1
- package/dist/src/args.js +61 -103
- package/dist/src/args.js.map +1 -1
- package/dist/src/cli.js +3 -10
- package/dist/src/cli.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -2
package/dist/src/args.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Intentionally minimal — model selection, session management and tool
|
|
5
5
|
* configuration are delegated to pi's own machinery via createAgentSession.
|
|
6
6
|
*/
|
|
7
|
+
import { Command } from 'commander';
|
|
7
8
|
import type { ThinkingLevel } from '@mariozechner/pi-agent-core';
|
|
8
9
|
export interface Args {
|
|
9
10
|
/** Working directory (default: process.cwd()) */
|
|
@@ -29,11 +30,9 @@ export interface Args {
|
|
|
29
30
|
continue: boolean;
|
|
30
31
|
/** Positional arguments / prompt text (used in print mode) */
|
|
31
32
|
messages: string[];
|
|
32
|
-
/** Show help and exit */
|
|
33
|
-
help: boolean;
|
|
34
|
-
/** Show version and exit */
|
|
35
|
-
version: boolean;
|
|
36
33
|
}
|
|
37
|
-
export declare function parseArgs(argv: string[]):
|
|
38
|
-
|
|
34
|
+
export declare function parseArgs(argv: string[], version: string, packageName: string): {
|
|
35
|
+
args: Args;
|
|
36
|
+
program: Command;
|
|
37
|
+
};
|
|
39
38
|
//# sourceMappingURL=args.d.ts.map
|
package/dist/src/args.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,WAAW,IAAI;IACnB,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAoBD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAiEhH"}
|
package/dist/src/args.js
CHANGED
|
@@ -4,120 +4,78 @@
|
|
|
4
4
|
* Intentionally minimal — model selection, session management and tool
|
|
5
5
|
* configuration are delegated to pi's own machinery via createAgentSession.
|
|
6
6
|
*/
|
|
7
|
+
import { addUpdateCommand } from '@gnsx/cli-utils/self-update';
|
|
8
|
+
import { Command } from 'commander';
|
|
7
9
|
const THINKING_LEVELS = ['off', 'minimal', 'low', 'medium', 'high', 'xhigh'];
|
|
8
10
|
function isThinkingLevel(value) {
|
|
9
11
|
return THINKING_LEVELS.includes(value);
|
|
10
12
|
}
|
|
11
|
-
|
|
13
|
+
function parseModel(value) {
|
|
14
|
+
// Support "provider/model" shorthand
|
|
15
|
+
if (value.includes('/')) {
|
|
16
|
+
const slash = value.indexOf('/');
|
|
17
|
+
return {
|
|
18
|
+
provider: value.slice(0, slash),
|
|
19
|
+
model: value.slice(slash + 1),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
return { model: value };
|
|
23
|
+
}
|
|
24
|
+
export function parseArgs(argv, version, packageName) {
|
|
25
|
+
const program = new Command();
|
|
12
26
|
const args = {
|
|
13
27
|
print: false,
|
|
14
28
|
noSession: false,
|
|
15
29
|
continue: false,
|
|
16
30
|
messages: [],
|
|
17
|
-
help: false,
|
|
18
|
-
version: false,
|
|
19
31
|
};
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (!next) {
|
|
46
|
-
console.error('--cwd requires a value');
|
|
47
|
-
process.exit(1);
|
|
48
|
-
}
|
|
49
|
-
args.cwd = next;
|
|
50
|
-
break;
|
|
51
|
-
}
|
|
52
|
-
case '--model':
|
|
53
|
-
case '-m': {
|
|
54
|
-
const next = argv[++i];
|
|
55
|
-
if (!next) {
|
|
56
|
-
console.error('--model requires a value');
|
|
57
|
-
process.exit(1);
|
|
58
|
-
}
|
|
59
|
-
// Support "provider/model" shorthand
|
|
60
|
-
if (next.includes('/') && !args.provider) {
|
|
61
|
-
const slash = next.indexOf('/');
|
|
62
|
-
args.provider = next.slice(0, slash);
|
|
63
|
-
args.model = next.slice(slash + 1);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
args.model = next;
|
|
67
|
-
}
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
case '--provider': {
|
|
71
|
-
const next = argv[++i];
|
|
72
|
-
if (!next) {
|
|
73
|
-
console.error('--provider requires a value');
|
|
74
|
-
process.exit(1);
|
|
75
|
-
}
|
|
76
|
-
args.provider = next;
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
case '--thinking': {
|
|
80
|
-
const next = argv[++i];
|
|
81
|
-
if (!next || !isThinkingLevel(next)) {
|
|
82
|
-
console.error(`--thinking requires one of: ${THINKING_LEVELS.join(', ')}`);
|
|
83
|
-
process.exit(1);
|
|
84
|
-
}
|
|
85
|
-
args.thinking = next;
|
|
86
|
-
break;
|
|
87
|
-
}
|
|
88
|
-
default:
|
|
89
|
-
// Unknown flags are silently ignored; positional args become messages
|
|
90
|
-
if (!arg.startsWith('-')) {
|
|
91
|
-
args.messages.push(arg);
|
|
92
|
-
}
|
|
93
|
-
break;
|
|
32
|
+
program
|
|
33
|
+
.name('genesys')
|
|
34
|
+
.description('Genesys Agent v2 CLI - AI-powered coding assistant')
|
|
35
|
+
.version(version, '-v, --version')
|
|
36
|
+
.usage('[options] [prompt]');
|
|
37
|
+
// Add update command
|
|
38
|
+
addUpdateCommand(program, packageName, version);
|
|
39
|
+
program
|
|
40
|
+
.option('-p, --print', 'print mode: send prompt, output response, exit', false)
|
|
41
|
+
.option('-c, --continue', 'continue the most recent session', false)
|
|
42
|
+
.option('--no-session', 'disable session persistence (in-memory only)', false)
|
|
43
|
+
.option('-m, --model <model>', 'model to use, e.g. "anthropic/claude-opus-4-5"')
|
|
44
|
+
.option('--provider <name>', 'provider name (used with --model)')
|
|
45
|
+
.option('--thinking <level>', `thinking level: ${THINKING_LEVELS.join(', ')}`)
|
|
46
|
+
.option('--cwd <dir>', 'working directory (default: current directory)')
|
|
47
|
+
.argument('[prompt...]', 'initial prompt text')
|
|
48
|
+
.parse(argv, { from: 'user' });
|
|
49
|
+
const opts = program.opts();
|
|
50
|
+
const cliArgs = program.processedArgs;
|
|
51
|
+
// Handle model parsing with provider/model shorthand
|
|
52
|
+
if (opts.model) {
|
|
53
|
+
const parsed = parseModel(opts.model);
|
|
54
|
+
args.model = parsed.model;
|
|
55
|
+
if (parsed.provider) {
|
|
56
|
+
args.provider = parsed.provider;
|
|
94
57
|
}
|
|
95
|
-
i++;
|
|
96
58
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
genesys -c # Continue most recent session
|
|
119
|
-
genesys -p "Explain this codebase" # Single-shot prompt
|
|
120
|
-
genesys -m anthropic/claude-opus-4-5 # Use a specific model
|
|
121
|
-
`);
|
|
59
|
+
// Provider can be overridden explicitly
|
|
60
|
+
if (opts.provider) {
|
|
61
|
+
args.provider = opts.provider;
|
|
62
|
+
}
|
|
63
|
+
// Validate thinking level
|
|
64
|
+
if (opts.thinking) {
|
|
65
|
+
if (!isThinkingLevel(opts.thinking)) {
|
|
66
|
+
console.error(`--thinking must be one of: ${THINKING_LEVELS.join(', ')}`);
|
|
67
|
+
process.exit(1);
|
|
68
|
+
}
|
|
69
|
+
args.thinking = opts.thinking;
|
|
70
|
+
}
|
|
71
|
+
args.print = opts.print ?? false;
|
|
72
|
+
args.noSession = opts.noSession ?? false;
|
|
73
|
+
args.continue = opts.continue ?? false;
|
|
74
|
+
args.cwd = opts.cwd;
|
|
75
|
+
// Collect positional arguments as messages
|
|
76
|
+
if (cliArgs.length > 0 && cliArgs[0]) {
|
|
77
|
+
args.messages = cliArgs[0];
|
|
78
|
+
}
|
|
79
|
+
return { args, program };
|
|
122
80
|
}
|
|
123
81
|
//# sourceMappingURL=args.js.map
|
package/dist/src/args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli.js
CHANGED
|
@@ -12,7 +12,7 @@ import { fileURLToPath } from 'node:url';
|
|
|
12
12
|
import { getModel, setBedrockProviderModule } from '@mariozechner/pi-ai';
|
|
13
13
|
import { bedrockProviderModule } from '@mariozechner/pi-ai/bedrock-provider';
|
|
14
14
|
import { createAgentSession, DefaultResourceLoader, getAgentDir, InteractiveMode, runPrintMode, SessionManager, SettingsManager, } from '@mariozechner/pi-coding-agent';
|
|
15
|
-
import { parseArgs
|
|
15
|
+
import { parseArgs } from './args.js';
|
|
16
16
|
import { getPackageJson } from './utils/package.js';
|
|
17
17
|
/**
|
|
18
18
|
* Read all data from stdin if available.
|
|
@@ -44,15 +44,8 @@ setBedrockProviderModule(bedrockProviderModule);
|
|
|
44
44
|
const __filename = fileURLToPath(import.meta.url);
|
|
45
45
|
const __dirname = dirname(__filename);
|
|
46
46
|
async function main(argv) {
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
console.log(getPackageJson().version);
|
|
50
|
-
process.exit(0);
|
|
51
|
-
}
|
|
52
|
-
if (args.help) {
|
|
53
|
-
printHelp(getPackageJson().version);
|
|
54
|
-
process.exit(0);
|
|
55
|
-
}
|
|
47
|
+
const pkg = getPackageJson();
|
|
48
|
+
const { args } = parseArgs(argv, pkg.version, pkg.name);
|
|
56
49
|
const cwd = args.cwd ? resolve(args.cwd) : process.cwd();
|
|
57
50
|
// -------------------------------------------------------------------------
|
|
58
51
|
// Session manager
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|