@diggerhq/anyware 0.7.13 → 0.7.15
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/claude/claudeArgs.d.ts +30 -0
- package/dist/claude/claudeArgs.d.ts.map +1 -0
- package/dist/claude/claudeArgs.js +206 -0
- package/dist/claude/claudeArgs.js.map +1 -0
- package/dist/main.js +33 -2
- package/dist/main.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code argument validation
|
|
3
|
+
* Defines valid arguments that can be passed through to Claude Code
|
|
4
|
+
*/
|
|
5
|
+
export declare const CLAUDE_FLAG_ARGS: Set<string>;
|
|
6
|
+
export declare const CLAUDE_VALUE_ARGS: Set<string>;
|
|
7
|
+
export declare const ANYWARE_HANDLED_ARGS: Set<string>;
|
|
8
|
+
export declare const ALL_CLAUDE_ARGS: Set<string>;
|
|
9
|
+
export interface ValidationResult {
|
|
10
|
+
valid: boolean;
|
|
11
|
+
errors: string[];
|
|
12
|
+
warnings: string[];
|
|
13
|
+
validArgs: string[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Validate Claude Code arguments
|
|
17
|
+
* @param args Array of arguments to validate
|
|
18
|
+
* @param allowHandledArgs If true, allows anyware-handled args (they'll pass through)
|
|
19
|
+
* @returns Validation result with errors, warnings, and filtered valid args
|
|
20
|
+
*/
|
|
21
|
+
export declare function validateClaudeArgs(args: string[], allowHandledArgs?: boolean): ValidationResult;
|
|
22
|
+
/**
|
|
23
|
+
* Format validation errors for display
|
|
24
|
+
*/
|
|
25
|
+
export declare function formatValidationErrors(result: ValidationResult): string;
|
|
26
|
+
/**
|
|
27
|
+
* Get help text showing valid Claude Code arguments
|
|
28
|
+
*/
|
|
29
|
+
export declare function getClaudeArgsHelp(): string;
|
|
30
|
+
//# sourceMappingURL=claudeArgs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudeArgs.d.ts","sourceRoot":"","sources":["../../src/claude/claudeArgs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,gBAAgB,aAoB3B,CAAC;AAGH,eAAO,MAAM,iBAAiB,aA0B5B,CAAC;AAGH,eAAO,MAAM,oBAAoB,aAO/B,CAAC;AAGH,eAAO,MAAM,eAAe,aAG1B,CAAC;AAEH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,gBAAgB,UAAQ,GAAG,gBAAgB,CAwD7F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAmBvE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CA6C1C"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code argument validation
|
|
3
|
+
* Defines valid arguments that can be passed through to Claude Code
|
|
4
|
+
*/
|
|
5
|
+
// Arguments that take no value (flags)
|
|
6
|
+
export const CLAUDE_FLAG_ARGS = new Set([
|
|
7
|
+
'--debug',
|
|
8
|
+
'-d',
|
|
9
|
+
'--verbose',
|
|
10
|
+
'--print',
|
|
11
|
+
'-p',
|
|
12
|
+
'--include-partial-messages',
|
|
13
|
+
'--mcp-debug',
|
|
14
|
+
'--dangerously-skip-permissions',
|
|
15
|
+
'--allow-dangerously-skip-permissions',
|
|
16
|
+
'--replay-user-messages',
|
|
17
|
+
'--continue',
|
|
18
|
+
'-c',
|
|
19
|
+
'--fork-session',
|
|
20
|
+
'--no-session-persistence',
|
|
21
|
+
'--ide',
|
|
22
|
+
'--strict-mcp-config',
|
|
23
|
+
'--disable-slash-commands',
|
|
24
|
+
'--chrome',
|
|
25
|
+
'--no-chrome',
|
|
26
|
+
]);
|
|
27
|
+
// Arguments that require a value
|
|
28
|
+
export const CLAUDE_VALUE_ARGS = new Set([
|
|
29
|
+
'--output-format',
|
|
30
|
+
'--json-schema',
|
|
31
|
+
'--input-format',
|
|
32
|
+
'--max-budget-usd',
|
|
33
|
+
'--allowedTools',
|
|
34
|
+
'--allowed-tools',
|
|
35
|
+
'--tools',
|
|
36
|
+
'--disallowedTools',
|
|
37
|
+
'--disallowed-tools',
|
|
38
|
+
'--mcp-config',
|
|
39
|
+
'--system-prompt',
|
|
40
|
+
'--append-system-prompt',
|
|
41
|
+
'--permission-mode',
|
|
42
|
+
'--resume',
|
|
43
|
+
'-r',
|
|
44
|
+
'--model',
|
|
45
|
+
'--agent',
|
|
46
|
+
'--betas',
|
|
47
|
+
'--fallback-model',
|
|
48
|
+
'--settings',
|
|
49
|
+
'--add-dir',
|
|
50
|
+
'--session-id',
|
|
51
|
+
'--agents',
|
|
52
|
+
'--setting-sources',
|
|
53
|
+
'--plugin-dir',
|
|
54
|
+
]);
|
|
55
|
+
// Arguments that anyware handles specially and should be filtered
|
|
56
|
+
export const ANYWARE_HANDLED_ARGS = new Set([
|
|
57
|
+
'--model', // anyware handles model via its own flag
|
|
58
|
+
'--resume', // anyware handles resume
|
|
59
|
+
'-r',
|
|
60
|
+
'--continue', // anyware handles continue
|
|
61
|
+
'-c',
|
|
62
|
+
'--settings', // anyware injects its own settings for hooks
|
|
63
|
+
]);
|
|
64
|
+
// All valid Claude args
|
|
65
|
+
export const ALL_CLAUDE_ARGS = new Set([
|
|
66
|
+
...CLAUDE_FLAG_ARGS,
|
|
67
|
+
...CLAUDE_VALUE_ARGS,
|
|
68
|
+
]);
|
|
69
|
+
/**
|
|
70
|
+
* Validate Claude Code arguments
|
|
71
|
+
* @param args Array of arguments to validate
|
|
72
|
+
* @param allowHandledArgs If true, allows anyware-handled args (they'll pass through)
|
|
73
|
+
* @returns Validation result with errors, warnings, and filtered valid args
|
|
74
|
+
*/
|
|
75
|
+
export function validateClaudeArgs(args, allowHandledArgs = false) {
|
|
76
|
+
const errors = [];
|
|
77
|
+
const warnings = [];
|
|
78
|
+
const validArgs = [];
|
|
79
|
+
let i = 0;
|
|
80
|
+
while (i < args.length) {
|
|
81
|
+
const arg = args[i];
|
|
82
|
+
// Check if it's a valid flag or value arg
|
|
83
|
+
if (CLAUDE_FLAG_ARGS.has(arg)) {
|
|
84
|
+
// It's a flag - check if anyware handles it
|
|
85
|
+
if (ANYWARE_HANDLED_ARGS.has(arg) && !allowHandledArgs) {
|
|
86
|
+
warnings.push(`'${arg}' is handled by anyware. Use anyware's own option instead.`);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
validArgs.push(arg);
|
|
90
|
+
}
|
|
91
|
+
i++;
|
|
92
|
+
}
|
|
93
|
+
else if (CLAUDE_VALUE_ARGS.has(arg)) {
|
|
94
|
+
// It's a value arg - needs a following value
|
|
95
|
+
if (i + 1 >= args.length) {
|
|
96
|
+
errors.push(`'${arg}' requires a value`);
|
|
97
|
+
i++;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
const value = args[i + 1];
|
|
101
|
+
// Check if the value looks like another flag
|
|
102
|
+
if (value.startsWith('-') && !value.match(/^-?\d/)) {
|
|
103
|
+
errors.push(`'${arg}' requires a value, but got '${value}'`);
|
|
104
|
+
i++;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
// Check if anyware handles it
|
|
108
|
+
if (ANYWARE_HANDLED_ARGS.has(arg) && !allowHandledArgs) {
|
|
109
|
+
warnings.push(`'${arg}' is handled by anyware. Use anyware's own option instead.`);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
validArgs.push(arg, value);
|
|
113
|
+
}
|
|
114
|
+
i += 2;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else if (arg.startsWith('-')) {
|
|
119
|
+
// Unknown flag/option
|
|
120
|
+
errors.push(`Unknown Claude Code argument: '${arg}'`);
|
|
121
|
+
i++;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
// Positional argument - Claude accepts a prompt as positional
|
|
125
|
+
validArgs.push(arg);
|
|
126
|
+
i++;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
valid: errors.length === 0,
|
|
131
|
+
errors,
|
|
132
|
+
warnings,
|
|
133
|
+
validArgs,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Format validation errors for display
|
|
138
|
+
*/
|
|
139
|
+
export function formatValidationErrors(result) {
|
|
140
|
+
const lines = [];
|
|
141
|
+
if (result.errors.length > 0) {
|
|
142
|
+
lines.push('Invalid Claude Code arguments:');
|
|
143
|
+
for (const error of result.errors) {
|
|
144
|
+
lines.push(` ✗ ${error}`);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (result.warnings.length > 0) {
|
|
148
|
+
if (lines.length > 0)
|
|
149
|
+
lines.push('');
|
|
150
|
+
lines.push('Warnings:');
|
|
151
|
+
for (const warning of result.warnings) {
|
|
152
|
+
lines.push(` ⚠ ${warning}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return lines.join('\n');
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get help text showing valid Claude Code arguments
|
|
159
|
+
*/
|
|
160
|
+
export function getClaudeArgsHelp() {
|
|
161
|
+
return `
|
|
162
|
+
Valid Claude Code arguments (pass after --):
|
|
163
|
+
|
|
164
|
+
Flags (no value required):
|
|
165
|
+
--debug, -d Enable debug mode
|
|
166
|
+
--verbose Override verbose mode setting
|
|
167
|
+
--print, -p Print response and exit
|
|
168
|
+
--include-partial-messages
|
|
169
|
+
--dangerously-skip-permissions
|
|
170
|
+
--allow-dangerously-skip-permissions
|
|
171
|
+
--replay-user-messages
|
|
172
|
+
--fork-session Create new session ID when resuming
|
|
173
|
+
--no-session-persistence Disable session persistence
|
|
174
|
+
--ide Auto-connect to IDE
|
|
175
|
+
--strict-mcp-config Only use MCP servers from --mcp-config
|
|
176
|
+
--disable-slash-commands Disable slash commands
|
|
177
|
+
--chrome / --no-chrome Enable/disable Chrome integration
|
|
178
|
+
|
|
179
|
+
Options (require a value):
|
|
180
|
+
--output-format <format> text, json, or stream-json
|
|
181
|
+
--input-format <format> text or stream-json
|
|
182
|
+
--json-schema <schema> JSON Schema for structured output
|
|
183
|
+
--max-budget-usd <amount>
|
|
184
|
+
--allowed-tools <tools> Tools to allow
|
|
185
|
+
--disallowed-tools <tools> Tools to deny
|
|
186
|
+
--tools <tools> Available tools from built-in set
|
|
187
|
+
--mcp-config <config> MCP server configuration
|
|
188
|
+
--system-prompt <prompt>
|
|
189
|
+
--append-system-prompt <prompt>
|
|
190
|
+
--permission-mode <mode> acceptEdits, bypassPermissions, default, delegate, dontAsk, plan
|
|
191
|
+
--agent <agent> Agent for the session
|
|
192
|
+
--betas <betas> Beta headers
|
|
193
|
+
--fallback-model <model>
|
|
194
|
+
--add-dir <dirs> Additional directories
|
|
195
|
+
--session-id <uuid> Specific session ID
|
|
196
|
+
--agents <json> Custom agents JSON
|
|
197
|
+
--setting-sources <sources>
|
|
198
|
+
--plugin-dir <paths> Plugin directories
|
|
199
|
+
|
|
200
|
+
Note: --model, --resume, --continue are handled by anyware directly.
|
|
201
|
+
|
|
202
|
+
Example:
|
|
203
|
+
anyware run -- --permission-mode=bypassPermissions --verbose
|
|
204
|
+
`;
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=claudeArgs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudeArgs.js","sourceRoot":"","sources":["../../src/claude/claudeArgs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,uCAAuC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IACtC,SAAS;IACT,IAAI;IACJ,WAAW;IACX,SAAS;IACT,IAAI;IACJ,4BAA4B;IAC5B,aAAa;IACb,gCAAgC;IAChC,sCAAsC;IACtC,wBAAwB;IACxB,YAAY;IACZ,IAAI;IACJ,gBAAgB;IAChB,0BAA0B;IAC1B,OAAO;IACP,qBAAqB;IACrB,0BAA0B;IAC1B,UAAU;IACV,aAAa;CACd,CAAC,CAAC;AAEH,iCAAiC;AACjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IACvC,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,iBAAiB;IACjB,SAAS;IACT,mBAAmB;IACnB,oBAAoB;IACpB,cAAc;IACd,iBAAiB;IACjB,wBAAwB;IACxB,mBAAmB;IACnB,UAAU;IACV,IAAI;IACJ,SAAS;IACT,SAAS;IACT,SAAS;IACT,kBAAkB;IAClB,YAAY;IACZ,WAAW;IACX,cAAc;IACd,UAAU;IACV,mBAAmB;IACnB,cAAc;CACf,CAAC,CAAC;AAEH,kEAAkE;AAClE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IAC1C,SAAS,EAAS,yCAAyC;IAC3D,UAAU,EAAQ,yBAAyB;IAC3C,IAAI;IACJ,YAAY,EAAM,2BAA2B;IAC7C,IAAI;IACJ,YAAY,EAAM,6CAA6C;CAChE,CAAC,CAAC;AAEH,wBAAwB;AACxB,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,GAAG,gBAAgB;IACnB,GAAG,iBAAiB;CACrB,CAAC,CAAC;AASH;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAc,EAAE,gBAAgB,GAAG,KAAK;IACzE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,0CAA0C;QAC1C,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,4CAA4C;YAC5C,IAAI,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvD,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,4DAA4D,CAAC,CAAC;YACrF,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;YACD,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,6CAA6C;YAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC,CAAC;gBACzC,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1B,6CAA6C;gBAC7C,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnD,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,gCAAgC,KAAK,GAAG,CAAC,CAAC;oBAC7D,CAAC,EAAE,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACN,8BAA8B;oBAC9B,IAAI,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACvD,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,4DAA4D,CAAC,CAAC;oBACrF,CAAC;yBAAM,CAAC;wBACN,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC7B,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;gBACT,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,sBAAsB;YACtB,MAAM,CAAC,IAAI,CAAC,kCAAkC,GAAG,GAAG,CAAC,CAAC;YACtD,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,CAAC;YACN,8DAA8D;YAC9D,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;QACN,QAAQ;QACR,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAwB;IAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CR,CAAC;AACF,CAAC"}
|
package/dist/main.js
CHANGED
|
@@ -10,6 +10,7 @@ import { loadConfig, saveConfig, clearConfig, isLoggedIn } from './config/config
|
|
|
10
10
|
import { Session } from './claude/session.js';
|
|
11
11
|
import { loop } from './claude/loop.js';
|
|
12
12
|
import { checkForUpdate, isUpdateAvailable, performUpdate, checkAndNotify, } from './update/update.js';
|
|
13
|
+
import { validateClaudeArgs, formatValidationErrors, getClaudeArgsHelp, } from './claude/claudeArgs.js';
|
|
13
14
|
const require = createRequire(import.meta.url);
|
|
14
15
|
const { version } = require('../package.json');
|
|
15
16
|
const program = new Command();
|
|
@@ -115,21 +116,46 @@ program
|
|
|
115
116
|
console.log(` LLM URL: ${config.llmUrl}`);
|
|
116
117
|
}
|
|
117
118
|
});
|
|
119
|
+
// Claude args help command
|
|
120
|
+
program
|
|
121
|
+
.command('claude-args')
|
|
122
|
+
.description('Show valid Claude Code arguments that can be passed through')
|
|
123
|
+
.action(() => {
|
|
124
|
+
console.log(getClaudeArgsHelp());
|
|
125
|
+
});
|
|
118
126
|
// Main run command (default)
|
|
119
127
|
program
|
|
120
128
|
.command('run', { isDefault: true })
|
|
121
|
-
.description('Start Claude Code with remote control')
|
|
129
|
+
.description('Start Claude Code with remote control.\n Pass additional Claude Code args after options (e.g., anyware run --verbose)')
|
|
130
|
+
.argument('[claude-args...]', 'Additional Claude Code arguments (run "anyware claude-args" for list)')
|
|
122
131
|
.option('-p, --path <path>', 'Working directory', process.cwd())
|
|
123
132
|
.option('--resume <sessionId>', 'Resume a Claude session')
|
|
124
133
|
.option('--continue', 'Continue the last conversation')
|
|
125
134
|
.option('--remote', 'Start in remote mode')
|
|
126
135
|
.option('-m, --model <model>', 'Model to use via OpenRouter (e.g., anthropic/claude-sonnet-4, openai/gpt-4o)')
|
|
127
|
-
.
|
|
136
|
+
.allowUnknownOption()
|
|
137
|
+
.action(async (claudeArgsFromCommand, options) => {
|
|
128
138
|
// Check login
|
|
129
139
|
if (!isLoggedIn()) {
|
|
130
140
|
console.log('Not logged in. Please run "anyware login" first.');
|
|
131
141
|
process.exit(1);
|
|
132
142
|
}
|
|
143
|
+
// Passthrough args come from variadic argument and any unknown options
|
|
144
|
+
const passthroughArgs = claudeArgsFromCommand;
|
|
145
|
+
// Validate passthrough args if any
|
|
146
|
+
if (passthroughArgs.length > 0) {
|
|
147
|
+
const validation = validateClaudeArgs(passthroughArgs);
|
|
148
|
+
// Show warnings
|
|
149
|
+
if (validation.warnings.length > 0) {
|
|
150
|
+
console.log('\x1b[33m' + formatValidationErrors({ ...validation, errors: [] }) + '\x1b[0m\n');
|
|
151
|
+
}
|
|
152
|
+
// Exit on errors
|
|
153
|
+
if (!validation.valid) {
|
|
154
|
+
console.error('\x1b[31m' + formatValidationErrors(validation) + '\x1b[0m');
|
|
155
|
+
console.log('\nRun "anyware claude-args" to see valid Claude Code arguments.');
|
|
156
|
+
process.exit(1);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
133
159
|
// Check for updates before starting Claude
|
|
134
160
|
// This must happen before Claude takes over stdin/stdout
|
|
135
161
|
await checkAndNotify();
|
|
@@ -162,6 +188,11 @@ program
|
|
|
162
188
|
if (options.continue) {
|
|
163
189
|
claudeArgs.push('--continue');
|
|
164
190
|
}
|
|
191
|
+
// Add validated passthrough args
|
|
192
|
+
if (passthroughArgs.length > 0) {
|
|
193
|
+
const validation = validateClaudeArgs(passthroughArgs);
|
|
194
|
+
claudeArgs.push(...validation.validArgs);
|
|
195
|
+
}
|
|
165
196
|
// Create session instance
|
|
166
197
|
const session = new Session({
|
|
167
198
|
serverSessionId,
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAEA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,cAAc,GAEf,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|