autotunez 0.1.9 → 0.1.11
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/agent.d.ts.map +1 -1
- package/dist/agent.js +24 -25
- package/dist/agent.js.map +1 -1
- package/dist/executor.d.ts +0 -3
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +8 -34
- package/dist/executor.js.map +1 -1
- package/package.json +1 -1
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AA+CA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,eAAe,GAAG,QAAQ,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,CAAC,CA4DxB;AAED,wBAAsB,IAAI,CACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/D,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/D,OAAO,CAAC,aAAa,CAAC,CAkCxB"}
|
package/dist/agent.js
CHANGED
|
@@ -4,44 +4,43 @@ async function getAnthropicClient(apiKey) {
|
|
|
4
4
|
const { default: AnthropicSDK } = await import('@anthropic-ai/sdk');
|
|
5
5
|
return new AnthropicSDK({ apiKey });
|
|
6
6
|
}
|
|
7
|
-
const SYSTEM_PROMPT = `You are
|
|
7
|
+
const SYSTEM_PROMPT = `You are a prompt generator. You DO NOT execute anything yourself.
|
|
8
8
|
|
|
9
|
-
Your job
|
|
10
|
-
- Write and edit code
|
|
11
|
-
- Run terminal commands (git, npm, etc.)
|
|
12
|
-
- Read and analyze files
|
|
13
|
-
- Create commits, push to remote
|
|
14
|
-
- Run tests, builds, linters
|
|
9
|
+
Your ONLY job: convert user requests into instructions inside a \`\`\`prompt block.
|
|
15
10
|
|
|
16
|
-
##
|
|
11
|
+
## Rules
|
|
17
12
|
|
|
18
|
-
1.
|
|
19
|
-
2.
|
|
20
|
-
3.
|
|
13
|
+
1. NEVER ask for approval or permission
|
|
14
|
+
2. NEVER say "I need to", "I will", "Let me" - you don't do anything
|
|
15
|
+
3. NEVER act like you're executing commands
|
|
16
|
+
4. Just output the instruction in \`\`\`prompt block
|
|
21
17
|
|
|
22
18
|
## Output Format
|
|
23
19
|
|
|
24
|
-
When ready, output in this exact format:
|
|
25
20
|
\`\`\`prompt
|
|
26
|
-
[
|
|
21
|
+
[instruction here]
|
|
27
22
|
\`\`\`
|
|
28
23
|
|
|
29
|
-
Examples
|
|
30
|
-
- User: "commit and push" → \`\`\`prompt\nCommit all changes with a descriptive message and push to origin.\n\`\`\`
|
|
31
|
-
- User: "add login page" → \`\`\`prompt\nCreate a login page at app/login/page.tsx with email/password fields.\n\`\`\`
|
|
24
|
+
## Examples
|
|
32
25
|
|
|
33
|
-
|
|
26
|
+
User: "commit and push"
|
|
27
|
+
\`\`\`prompt
|
|
28
|
+
Commit all staged changes with a descriptive message and push to origin.
|
|
29
|
+
\`\`\`
|
|
30
|
+
|
|
31
|
+
User: "add a login page"
|
|
32
|
+
\`\`\`prompt
|
|
33
|
+
Create a login page at app/login/page.tsx with email and password fields.
|
|
34
|
+
\`\`\`
|
|
34
35
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
- "What commit message?"
|
|
38
|
-
- "The homepage or a specific page?"
|
|
36
|
+
User: "make it prettier"
|
|
37
|
+
→ Ask: "Which part?" (only clarify if truly unclear)
|
|
39
38
|
|
|
40
|
-
##
|
|
39
|
+
## Important
|
|
41
40
|
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
- Never
|
|
41
|
+
- If request is clear → immediately output \`\`\`prompt block
|
|
42
|
+
- If request is vague → ask ONE short question
|
|
43
|
+
- Never refuse, never ask permission, never pretend to execute`;
|
|
45
44
|
export async function transformPrompt(apiKey, userInput, context) {
|
|
46
45
|
// Server-mode: use autotunez server API
|
|
47
46
|
const authToken = getAuthToken();
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzD,KAAK,UAAU,kBAAkB,CAAC,MAAc;IAC9C,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACpE,OAAO,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,aAAa,GAAG
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/executor.d.ts
CHANGED
|
@@ -3,10 +3,7 @@ export interface ExecutorOptions {
|
|
|
3
3
|
cwd?: string;
|
|
4
4
|
skipPermissions?: boolean;
|
|
5
5
|
resumeSessionId?: string;
|
|
6
|
-
outputFormat?: 'text' | 'stream-json';
|
|
7
|
-
onOutput?: (line: string) => void;
|
|
8
6
|
timeoutMs?: number;
|
|
9
|
-
inheritStdio?: boolean;
|
|
10
7
|
}
|
|
11
8
|
export interface InteractiveOptions {
|
|
12
9
|
cwd?: string;
|
package/dist/executor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAkE1B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,kBAAuB,GAC/B,UAAU,CAAC,OAAO,KAAK,CAAC,CAc1B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CA8B5E;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,eAAe,CAAC,CA8BpE;AAED;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAc3D"}
|
package/dist/executor.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { spawn } from 'child_process';
|
|
2
|
-
import { parseStreamLine, extractSessionId } from './output-parser.js';
|
|
3
2
|
export async function executeWithClaudeCode(prompt, options = {}) {
|
|
4
3
|
return new Promise((resolve, reject) => {
|
|
5
4
|
const args = ['-p'];
|
|
@@ -9,19 +8,14 @@ export async function executeWithClaudeCode(prompt, options = {}) {
|
|
|
9
8
|
if (options.resumeSessionId) {
|
|
10
9
|
args.push('--resume', options.resumeSessionId);
|
|
11
10
|
}
|
|
12
|
-
if (options.outputFormat === 'stream-json') {
|
|
13
|
-
args.push('--output-format', 'stream-json');
|
|
14
|
-
}
|
|
15
11
|
args.push(prompt);
|
|
16
|
-
const useInherit = options.inheritStdio ?? true;
|
|
17
12
|
const child = spawn('claude', args, {
|
|
18
13
|
cwd: options.cwd || process.cwd(),
|
|
19
|
-
stdio:
|
|
14
|
+
stdio: ['pipe', 'inherit', 'inherit'],
|
|
20
15
|
env: process.env,
|
|
21
16
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const onOutput = options.onOutput || ((line) => process.stdout.write(line));
|
|
17
|
+
// Connect stdin so Claude Code can receive user input for approvals
|
|
18
|
+
process.stdin.pipe(child.stdin);
|
|
25
19
|
// Swallow SIGINT during execution — child gets it via process group,
|
|
26
20
|
// but we don't want Node to exit autotunez
|
|
27
21
|
const sigintHandler = () => { };
|
|
@@ -32,25 +26,7 @@ export async function executeWithClaudeCode(prompt, options = {}) {
|
|
|
32
26
|
child.kill('SIGTERM');
|
|
33
27
|
}, options.timeoutMs);
|
|
34
28
|
}
|
|
35
|
-
|
|
36
|
-
child.stdout.on('data', (data) => {
|
|
37
|
-
const text = data.toString();
|
|
38
|
-
output += text;
|
|
39
|
-
onOutput(text);
|
|
40
|
-
if (options.outputFormat === 'stream-json') {
|
|
41
|
-
for (const line of text.split('\n')) {
|
|
42
|
-
const event = parseStreamLine(line);
|
|
43
|
-
if (event)
|
|
44
|
-
events.push(event);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
if (child.stderr) {
|
|
50
|
-
child.stderr.on('data', (data) => {
|
|
51
|
-
output += data.toString();
|
|
52
|
-
});
|
|
53
|
-
}
|
|
29
|
+
// stdout and stderr are inherited, so output goes directly to terminal
|
|
54
30
|
child.on('error', (err) => {
|
|
55
31
|
if (timer)
|
|
56
32
|
clearTimeout(timer);
|
|
@@ -66,17 +42,15 @@ export async function executeWithClaudeCode(prompt, options = {}) {
|
|
|
66
42
|
if (timer)
|
|
67
43
|
clearTimeout(timer);
|
|
68
44
|
process.removeListener('SIGINT', sigintHandler);
|
|
69
|
-
|
|
70
|
-
? extractSessionId(events)
|
|
71
|
-
: undefined;
|
|
45
|
+
process.stdin.unpipe(child.stdin);
|
|
72
46
|
if (signal === 'SIGINT') {
|
|
73
|
-
resolve({ exitCode: 130, success: false, output
|
|
47
|
+
resolve({ exitCode: 130, success: false, output: '' });
|
|
74
48
|
}
|
|
75
49
|
else if (signal === 'SIGTERM') {
|
|
76
|
-
resolve({ exitCode: 143, success: false, output
|
|
50
|
+
resolve({ exitCode: 143, success: false, output: '' });
|
|
77
51
|
}
|
|
78
52
|
else {
|
|
79
|
-
resolve({ exitCode: code ?? 1, success: code === 0, output
|
|
53
|
+
resolve({ exitCode: code ?? 1, success: code === 0, output: '' });
|
|
80
54
|
}
|
|
81
55
|
});
|
|
82
56
|
});
|
package/dist/executor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
|