@sworddut/myclaw 0.1.1 → 0.2.0
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/README.md +10 -4
- package/dist/commands/chat.d.ts +5 -0
- package/dist/commands/chat.js +103 -3
- package/dist/commands/chat.js.map +1 -1
- package/dist/core/agent.d.ts +5 -0
- package/dist/core/agent.js +86 -55
- package/dist/core/agent.js.map +1 -1
- package/dist/core/session-store.d.ts +14 -0
- package/dist/core/session-store.js +20 -0
- package/dist/core/session-store.js.map +1 -0
- package/dist/providers/openai-provider.js +13 -1
- package/dist/providers/openai-provider.js.map +1 -1
- package/dist/providers/types.d.ts +1 -1
- package/package.json +1 -2
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ A CLI coding agent scaffold (TypeScript + oclif).
|
|
|
10
10
|
- execa (tool execution)
|
|
11
11
|
- cosmiconfig + dotenv (config)
|
|
12
12
|
- zod (schema)
|
|
13
|
-
-
|
|
13
|
+
- in-memory session store (v0.2.0 baseline)
|
|
14
14
|
- vitest (tests)
|
|
15
15
|
|
|
16
16
|
## Quick start
|
|
@@ -60,10 +60,16 @@ node ./bin/run.js run --nonInteractive "implement hello world"
|
|
|
60
60
|
# Init local config files
|
|
61
61
|
node ./bin/run.js init
|
|
62
62
|
|
|
63
|
-
#
|
|
63
|
+
# Interactive chat mode
|
|
64
64
|
node ./bin/run.js chat
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
+
## Message Model
|
|
68
|
+
|
|
69
|
+
- Roles: `system`, `user`, `assistant`, `tool`
|
|
70
|
+
- Runtime: event-loop turn processing with tool execution feedback
|
|
71
|
+
- Context policy: system prompt + sliding window of recent 20 messages
|
|
72
|
+
|
|
67
73
|
File mutation safety rules:
|
|
68
74
|
- Existing files must be `read_file` before `write_file`/`apply_patch`.
|
|
69
75
|
- New file creation is blocked by default. Use `write_file` with `allowCreate=true` only when explicitly needed.
|
|
@@ -84,10 +90,10 @@ src/config/ # config loader + schema
|
|
|
84
90
|
test/ # tests
|
|
85
91
|
```
|
|
86
92
|
|
|
87
|
-
## Known Limitations (v0.
|
|
93
|
+
## Known Limitations (v0.2.0)
|
|
88
94
|
|
|
89
95
|
- Tool-calling protocol is JSON-in-text parsing, not native function-calling.
|
|
90
|
-
-
|
|
96
|
+
- Session memory is in-process only (no persistent storage yet).
|
|
91
97
|
- No git-aware safety flow (branching, checkpoint, rollback) yet.
|
|
92
98
|
- Network/API retries and timeout policies are still basic.
|
|
93
99
|
- Permission model is coarse-grained; no per-tool policy profile yet.
|
package/dist/commands/chat.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
2
|
export default class Chat extends Command {
|
|
3
3
|
static description: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
6
|
+
verboseModel: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
nonInteractive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
};
|
|
4
9
|
run(): Promise<void>;
|
|
5
10
|
}
|
package/dist/commands/chat.js
CHANGED
|
@@ -1,8 +1,108 @@
|
|
|
1
|
-
import { Command } from '@oclif/core';
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { createInterface } from 'node:readline/promises';
|
|
3
|
+
import { stdin as stdIn, stdout as stdOut } from 'node:process';
|
|
4
|
+
import { closeAgentSession, createAgentSession, runAgentTurn } from '../core/agent.js';
|
|
5
|
+
const ANSI = {
|
|
6
|
+
reset: '\x1b[0m',
|
|
7
|
+
red: '\x1b[31m',
|
|
8
|
+
bold: '\x1b[1m',
|
|
9
|
+
cyan: '\x1b[36m'
|
|
10
|
+
};
|
|
11
|
+
function red(text) {
|
|
12
|
+
return `${ANSI.red}${text}${ANSI.reset}`;
|
|
13
|
+
}
|
|
14
|
+
function redBold(text) {
|
|
15
|
+
return `${ANSI.red}${ANSI.bold}${text}${ANSI.reset}`;
|
|
16
|
+
}
|
|
17
|
+
function cyan(text) {
|
|
18
|
+
return `${ANSI.cyan}${text}${ANSI.reset}`;
|
|
19
|
+
}
|
|
20
|
+
function now() {
|
|
21
|
+
return new Date().toISOString();
|
|
22
|
+
}
|
|
23
|
+
function shorten(text, max = 500) {
|
|
24
|
+
if (text.length <= max)
|
|
25
|
+
return text;
|
|
26
|
+
return `${text.slice(0, max)}\n...[truncated]`;
|
|
27
|
+
}
|
|
28
|
+
function formatEvent(event) {
|
|
29
|
+
switch (event.type) {
|
|
30
|
+
case 'start':
|
|
31
|
+
return `[${now()}] START provider=${event.provider} model=${event.model} workspace=${event.workspace} session=${event.sessionId}`;
|
|
32
|
+
case 'model_response':
|
|
33
|
+
return `[${now()}] MODEL_RESPONSE step=${event.step}\n${shorten(event.content)}`;
|
|
34
|
+
case 'tool_call':
|
|
35
|
+
return `[${now()}] TOOL_CALL step=${event.step} tool=${event.tool} input=${JSON.stringify(event.input)}`;
|
|
36
|
+
case 'tool_result':
|
|
37
|
+
return `[${now()}] TOOL_RESULT step=${event.step} tool=${event.tool} ok=${event.ok}\n${shorten(event.output)}`;
|
|
38
|
+
case 'final':
|
|
39
|
+
return `[${now()}] FINAL step=${event.step}\n${shorten(event.content)}`;
|
|
40
|
+
case 'max_steps':
|
|
41
|
+
return `[${now()}] MAX_STEPS step=${event.step}`;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
2
44
|
export default class Chat extends Command {
|
|
3
|
-
static description = 'Interactive chat mode
|
|
45
|
+
static description = 'Interactive chat mode with in-memory session loop';
|
|
46
|
+
static flags = {
|
|
47
|
+
quiet: Flags.boolean({ description: 'hide execution logs and show only assistant responses' }),
|
|
48
|
+
verboseModel: Flags.boolean({ description: 'show raw model responses for each step' }),
|
|
49
|
+
nonInteractive: Flags.boolean({ description: 'disable interactive approval for sensitive commands' })
|
|
50
|
+
};
|
|
4
51
|
async run() {
|
|
5
|
-
|
|
52
|
+
const { flags } = await this.parse(Chat);
|
|
53
|
+
const rl = createInterface({ input: stdIn, output: stdOut });
|
|
54
|
+
let sessionId = '';
|
|
55
|
+
try {
|
|
56
|
+
sessionId = await createAgentSession({
|
|
57
|
+
onEvent: flags.quiet
|
|
58
|
+
? undefined
|
|
59
|
+
: (event) => {
|
|
60
|
+
if (event.type === 'model_response' && !flags.verboseModel)
|
|
61
|
+
return;
|
|
62
|
+
if (event.type === 'final')
|
|
63
|
+
return;
|
|
64
|
+
this.log(formatEvent(event));
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
this.log(cyan('myclaw chat started. Type /exit to quit.'));
|
|
68
|
+
while (true) {
|
|
69
|
+
const input = (await rl.question(cyan('you> '))).trim();
|
|
70
|
+
if (!input)
|
|
71
|
+
continue;
|
|
72
|
+
if (input === '/exit' || input === '/quit')
|
|
73
|
+
break;
|
|
74
|
+
const output = await runAgentTurn(sessionId, input, {
|
|
75
|
+
onSensitiveAction: async ({ tool, command }) => {
|
|
76
|
+
if (flags.nonInteractive || !stdIn.isTTY) {
|
|
77
|
+
this.log(red(`[${now()}] ⚠️ SENSITIVE_REQUEST tool=${tool} auto=deny (non-interactive) command=${command}`));
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
this.log(redBold(`[${now()}] 🚨 WAITING FOR USER INPUT`));
|
|
81
|
+
this.log(red(`[${now()}] ⚠️ SENSITIVE_REQUEST tool=${tool} command=${command}`));
|
|
82
|
+
const answer = (await rl.question(redBold('🛑 Allow this sensitive command? [y/N] ')))
|
|
83
|
+
.trim()
|
|
84
|
+
.toLowerCase();
|
|
85
|
+
return answer === 'y' || answer === 'yes';
|
|
86
|
+
},
|
|
87
|
+
onEvent: flags.quiet
|
|
88
|
+
? undefined
|
|
89
|
+
: (event) => {
|
|
90
|
+
if (event.type === 'model_response' && !flags.verboseModel)
|
|
91
|
+
return;
|
|
92
|
+
if (event.type === 'final')
|
|
93
|
+
return;
|
|
94
|
+
this.log(formatEvent(event));
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
this.log(cyan('assistant>'));
|
|
98
|
+
this.log(output);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
finally {
|
|
102
|
+
if (sessionId)
|
|
103
|
+
closeAgentSession(sessionId);
|
|
104
|
+
rl.close();
|
|
105
|
+
}
|
|
6
106
|
}
|
|
7
107
|
}
|
|
8
108
|
//# sourceMappingURL=chat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAC,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAC,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAC,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAkB,MAAM,kBAAkB,CAAA;AAErG,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,UAAU;CACjB,CAAA;AAED,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;AAC1C,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;AACtD,CAAC;AAED,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;AAC3C,CAAC;AAED,SAAS,GAAG;IACV,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;AACjC,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,GAAG,GAAG,GAAG;IACtC,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAA;IACnC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAA;AAChD,CAAC;AAED,SAAS,WAAW,CAAC,KAAiB;IACpC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,IAAI,GAAG,EAAE,oBAAoB,KAAK,CAAC,QAAQ,UAAU,KAAK,CAAC,KAAK,cAAc,KAAK,CAAC,SAAS,YAAY,KAAK,CAAC,SAAS,EAAE,CAAA;QACnI,KAAK,gBAAgB;YACnB,OAAO,IAAI,GAAG,EAAE,yBAAyB,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;QAClF,KAAK,WAAW;YACd,OAAO,IAAI,GAAG,EAAE,oBAAoB,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,IAAI,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAA;QAC1G,KAAK,aAAa;YAChB,OAAO,IAAI,GAAG,EAAE,sBAAsB,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAA;QAChH,KAAK,OAAO;YACV,OAAO,IAAI,GAAG,EAAE,gBAAgB,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;QACzE,KAAK,WAAW;YACd,OAAO,IAAI,GAAG,EAAE,oBAAoB,KAAK,CAAC,IAAI,EAAE,CAAA;IACpD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,MAAM,CAAU,WAAW,GAAG,mDAAmD,CAAA;IAEjF,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,uDAAuD,EAAC,CAAC;QAC5F,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,wCAAwC,EAAC,CAAC;QACpF,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,qDAAqD,EAAC,CAAC;KACpG,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAA;QAC1D,IAAI,SAAS,GAAG,EAAE,CAAA;QAElB,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,kBAAkB,CAAC;gBACnC,OAAO,EAAE,KAAK,CAAC,KAAK;oBAClB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;wBACR,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,KAAK,CAAC,YAAY;4BAAE,OAAM;wBAClE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;4BAAE,OAAM;wBAClC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;oBAC9B,CAAC;aACN,CAAC,CAAA;YAEF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAA;YAE1D,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;gBACvD,IAAI,CAAC,KAAK;oBAAE,SAAQ;gBACpB,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO;oBAAE,MAAK;gBAEjD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE;oBAClD,iBAAiB,EAAE,KAAK,EAAE,EAAC,IAAI,EAAE,OAAO,EAAC,EAAE,EAAE;wBAC3C,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;4BACzC,IAAI,CAAC,GAAG,CACN,GAAG,CAAC,IAAI,GAAG,EAAE,+BAA+B,IAAI,wCAAwC,OAAO,EAAE,CAAC,CACnG,CAAA;4BACD,OAAO,KAAK,CAAA;wBACd,CAAC;wBAED,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,6BAA6B,CAAC,CAAC,CAAA;wBACzD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,+BAA+B,IAAI,YAAY,OAAO,EAAE,CAAC,CAAC,CAAA;wBAChF,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,CAAC;6BACnF,IAAI,EAAE;6BACN,WAAW,EAAE,CAAA;wBAChB,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,CAAA;oBAC3C,CAAC;oBACD,OAAO,EAAE,KAAK,CAAC,KAAK;wBAClB,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;4BACR,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,KAAK,CAAC,YAAY;gCAAE,OAAM;4BAClE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gCAAE,OAAM;4BAClC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;wBAC9B,CAAC;iBACN,CAAC,CAAA;gBAEF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;gBAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,SAAS;gBAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;YAC3C,EAAE,CAAC,KAAK,EAAE,CAAA;QACZ,CAAC;IACH,CAAC"}
|
package/dist/core/agent.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export type AgentEvent = {
|
|
|
4
4
|
provider: string;
|
|
5
5
|
model: string;
|
|
6
6
|
workspace: string;
|
|
7
|
+
sessionId: string;
|
|
7
8
|
} | {
|
|
8
9
|
type: 'model_response';
|
|
9
10
|
step: number;
|
|
@@ -30,10 +31,14 @@ export type AgentEvent = {
|
|
|
30
31
|
type AgentRunOptions = {
|
|
31
32
|
onEvent?: (event: AgentEvent) => void;
|
|
32
33
|
maxSteps?: number;
|
|
34
|
+
contextWindowSize?: number;
|
|
33
35
|
onSensitiveAction?: (request: {
|
|
34
36
|
tool: ToolName;
|
|
35
37
|
command: string;
|
|
36
38
|
}) => Promise<boolean> | boolean;
|
|
37
39
|
};
|
|
40
|
+
export declare function createAgentSession(options?: AgentRunOptions): Promise<string>;
|
|
41
|
+
export declare function runAgentTurn(sessionId: string, userMessage: string, options?: AgentRunOptions): Promise<string>;
|
|
42
|
+
export declare function closeAgentSession(sessionId: string): void;
|
|
38
43
|
export declare function runAgentTask(task: string, options?: AgentRunOptions): Promise<string>;
|
|
39
44
|
export {};
|
package/dist/core/agent.js
CHANGED
|
@@ -3,6 +3,8 @@ import { MockProvider } from '../providers/mock-provider.js';
|
|
|
3
3
|
import { OpenAIProvider } from '../providers/openai-provider.js';
|
|
4
4
|
import { applyTextPatch, fileExists, listFiles, readTextFile, resolveWorkspacePath, writeTextFile } from '../tools/filesystem.js';
|
|
5
5
|
import { runShell } from '../tools/shell.js';
|
|
6
|
+
import { InMemorySessionStore } from './session-store.js';
|
|
7
|
+
const sessionStore = new InMemorySessionStore();
|
|
6
8
|
function nonEmpty(value) {
|
|
7
9
|
if (!value)
|
|
8
10
|
return undefined;
|
|
@@ -103,7 +105,7 @@ function mutationCount(calls) {
|
|
|
103
105
|
return calls.filter((call) => call.tool === 'write_file' || call.tool === 'apply_patch').length;
|
|
104
106
|
}
|
|
105
107
|
function readBeforeWriteError(tool, path) {
|
|
106
|
-
return `${tool} rejected: existing file '${path}' must be read_file first in this
|
|
108
|
+
return `${tool} rejected: existing file '${path}' must be read_file first in this session.`;
|
|
107
109
|
}
|
|
108
110
|
function createFileRejectedError(path) {
|
|
109
111
|
return `write_file rejected: '${path}' does not exist. Read related files first and use apply_patch, or set allowCreate=true only when explicit file creation is required.`;
|
|
@@ -118,36 +120,36 @@ function looksDestructiveCommand(command) {
|
|
|
118
120
|
/\brmdir\b/,
|
|
119
121
|
/\bunlink\b/,
|
|
120
122
|
/\bdel\b/,
|
|
121
|
-
/\brd\b/,
|
|
123
|
+
/\brd\b/,
|
|
122
124
|
/\bmv\b.+\s\/dev\/null/,
|
|
123
125
|
/\bgit\s+reset\s+--hard\b/,
|
|
124
126
|
/\bgit\s+clean\b/
|
|
125
127
|
];
|
|
126
128
|
return patterns.some((pattern) => pattern.test(text));
|
|
127
129
|
}
|
|
128
|
-
async function executeTool(toolCall,
|
|
130
|
+
async function executeTool(toolCall, session, options) {
|
|
129
131
|
try {
|
|
130
132
|
switch (toolCall.tool) {
|
|
131
133
|
case 'read_file': {
|
|
132
134
|
const path = String(toolCall.input.path ?? '');
|
|
133
|
-
const content = await readTextFile(workspace, path);
|
|
134
|
-
|
|
135
|
+
const content = await readTextFile(session.workspace, path);
|
|
136
|
+
session.readPaths.add(resolveWorkspacePath(session.workspace, path));
|
|
135
137
|
return { ok: true, output: content };
|
|
136
138
|
}
|
|
137
139
|
case 'write_file': {
|
|
138
140
|
const path = String(toolCall.input.path ?? '');
|
|
139
141
|
const content = String(toolCall.input.content ?? '');
|
|
140
142
|
const allowCreate = Boolean(toolCall.input.allowCreate ?? false);
|
|
141
|
-
const existing = await fileExists(workspace, path);
|
|
142
|
-
const canonicalPath = resolveWorkspacePath(workspace, path);
|
|
143
|
+
const existing = await fileExists(session.workspace, path);
|
|
144
|
+
const canonicalPath = resolveWorkspacePath(session.workspace, path);
|
|
143
145
|
if (!existing && !allowCreate) {
|
|
144
146
|
return { ok: false, output: createFileRejectedError(path) };
|
|
145
147
|
}
|
|
146
|
-
if (existing && !
|
|
148
|
+
if (existing && !session.readPaths.has(canonicalPath)) {
|
|
147
149
|
return { ok: false, output: readBeforeWriteError('write_file', path) };
|
|
148
150
|
}
|
|
149
|
-
await writeTextFile(workspace, path, content);
|
|
150
|
-
|
|
151
|
+
await writeTextFile(session.workspace, path, content);
|
|
152
|
+
session.readPaths.add(canonicalPath);
|
|
151
153
|
return { ok: true, output: `Wrote file: ${path}` };
|
|
152
154
|
}
|
|
153
155
|
case 'apply_patch': {
|
|
@@ -155,21 +157,21 @@ async function executeTool(toolCall, workspace, state, options) {
|
|
|
155
157
|
const search = String(toolCall.input.search ?? '');
|
|
156
158
|
const replace = String(toolCall.input.replace ?? '');
|
|
157
159
|
const replaceAll = Boolean(toolCall.input.replaceAll ?? false);
|
|
158
|
-
const existing = await fileExists(workspace, path);
|
|
159
|
-
const canonicalPath = resolveWorkspacePath(workspace, path);
|
|
160
|
+
const existing = await fileExists(session.workspace, path);
|
|
161
|
+
const canonicalPath = resolveWorkspacePath(session.workspace, path);
|
|
160
162
|
if (!existing) {
|
|
161
163
|
return { ok: false, output: `apply_patch rejected: '${path}' does not exist.` };
|
|
162
164
|
}
|
|
163
|
-
if (
|
|
165
|
+
if (!session.readPaths.has(canonicalPath)) {
|
|
164
166
|
return { ok: false, output: readBeforeWriteError('apply_patch', path) };
|
|
165
167
|
}
|
|
166
|
-
const output = await applyTextPatch(workspace, path, search, replace, replaceAll);
|
|
167
|
-
|
|
168
|
+
const output = await applyTextPatch(session.workspace, path, search, replace, replaceAll);
|
|
169
|
+
session.readPaths.add(canonicalPath);
|
|
168
170
|
return { ok: true, output };
|
|
169
171
|
}
|
|
170
172
|
case 'list_files': {
|
|
171
173
|
const path = String(toolCall.input.path ?? '.');
|
|
172
|
-
const files = await listFiles(workspace, path);
|
|
174
|
+
const files = await listFiles(session.workspace, path);
|
|
173
175
|
return { ok: true, output: files.join('\n') || '(empty directory)' };
|
|
174
176
|
}
|
|
175
177
|
case 'run_shell': {
|
|
@@ -180,7 +182,7 @@ async function executeTool(toolCall, workspace, state, options) {
|
|
|
180
182
|
return { ok: false, output: shellDangerRejectedError(command) };
|
|
181
183
|
}
|
|
182
184
|
}
|
|
183
|
-
const output = await runShell(command, workspace);
|
|
185
|
+
const output = await runShell(command, session.workspace);
|
|
184
186
|
return { ok: true, output };
|
|
185
187
|
}
|
|
186
188
|
default:
|
|
@@ -192,72 +194,89 @@ async function executeTool(toolCall, workspace, state, options) {
|
|
|
192
194
|
return { ok: false, output: message };
|
|
193
195
|
}
|
|
194
196
|
}
|
|
195
|
-
|
|
197
|
+
function buildSystemPrompt(workspace) {
|
|
198
|
+
return [
|
|
199
|
+
`You are a coding agent running in workspace: ${workspace}.`,
|
|
200
|
+
'When you need to operate files or shell, respond with ONLY JSON:',
|
|
201
|
+
'{"type":"tool_call","tool":"read_file|write_file|apply_patch|list_files|run_shell","input":{...}}',
|
|
202
|
+
'Available tools:',
|
|
203
|
+
'- read_file: {"path":"relative/path"}',
|
|
204
|
+
'- write_file: {"path":"relative/path","content":"...","allowCreate":false} (single-file full rewrite)',
|
|
205
|
+
'- apply_patch: {"path":"relative/path","search":"old text","replace":"new text","replaceAll":false}',
|
|
206
|
+
'- list_files: {"path":"relative/path optional"}',
|
|
207
|
+
'- run_shell: {"command":"..."}',
|
|
208
|
+
'Rules:',
|
|
209
|
+
'- Existing files MUST be read_file before write_file/apply_patch.',
|
|
210
|
+
'- New file creation is blocked by default.',
|
|
211
|
+
'- To create files, write_file input.allowCreate=true is required.',
|
|
212
|
+
'- Destructive shell commands (e.g., rm/rmdir/unlink/del/git reset --hard/git clean) are sensitive and need approval.',
|
|
213
|
+
'- You may call multiple read_file tools in one response.',
|
|
214
|
+
'- At most one mutation tool (write_file or apply_patch) per response.',
|
|
215
|
+
'Use relative paths. Never wrap JSON with extra prose when calling tools.',
|
|
216
|
+
'When finished, return a normal natural-language summary.'
|
|
217
|
+
].join('\n');
|
|
218
|
+
}
|
|
219
|
+
function buildContext(messages, windowSize) {
|
|
220
|
+
const systemMessage = messages.find((message) => message.role === 'system');
|
|
221
|
+
const nonSystem = messages.filter((message) => message.role !== 'system');
|
|
222
|
+
const recent = nonSystem.slice(-windowSize);
|
|
223
|
+
return systemMessage ? [systemMessage, ...recent] : recent;
|
|
224
|
+
}
|
|
225
|
+
export async function createAgentSession(options = {}) {
|
|
196
226
|
const config = await loadConfig();
|
|
197
227
|
const resolvedModel = resolveModel(config.model);
|
|
198
228
|
const provider = providerFromConfig(config.provider, resolvedModel, config.baseURL);
|
|
199
229
|
const workspace = config.workspace;
|
|
200
|
-
const
|
|
230
|
+
const systemPrompt = buildSystemPrompt(workspace);
|
|
231
|
+
const created = sessionStore.create({
|
|
232
|
+
provider,
|
|
233
|
+
workspace,
|
|
234
|
+
readPaths: new Set(),
|
|
235
|
+
messages: [{ role: 'system', content: systemPrompt }]
|
|
236
|
+
});
|
|
201
237
|
options.onEvent?.({
|
|
202
238
|
type: 'start',
|
|
203
239
|
provider: config.provider,
|
|
204
240
|
model: resolvedModel,
|
|
205
|
-
workspace
|
|
241
|
+
workspace,
|
|
242
|
+
sessionId: created.id
|
|
206
243
|
});
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
'Available tools:',
|
|
215
|
-
'- read_file: {"path":"relative/path"}',
|
|
216
|
-
'- write_file: {"path":"relative/path","content":"...","allowCreate":false} (single-file full rewrite)',
|
|
217
|
-
'- apply_patch: {"path":"relative/path","search":"old text","replace":"new text","replaceAll":false}',
|
|
218
|
-
'- list_files: {"path":"relative/path optional"}',
|
|
219
|
-
'- run_shell: {"command":"..."}',
|
|
220
|
-
'Rules:',
|
|
221
|
-
'- Existing files MUST be read_file before write_file/apply_patch.',
|
|
222
|
-
'- New file creation is blocked by default.',
|
|
223
|
-
'- To create files, write_file input.allowCreate=true is required.',
|
|
224
|
-
'- Destructive shell commands (e.g., rm/rmdir/unlink/del/git reset --hard/git clean) are blocked.',
|
|
225
|
-
'- You may call multiple read_file tools in one response.',
|
|
226
|
-
'- At most one mutation tool (write_file or apply_patch) per response.',
|
|
227
|
-
'Use relative paths. Never wrap JSON with extra prose when calling tools.',
|
|
228
|
-
'When finished, return a normal natural-language summary.'
|
|
229
|
-
].join('\n')
|
|
230
|
-
},
|
|
231
|
-
{ role: 'user', content: task }
|
|
232
|
-
];
|
|
233
|
-
const state = { readPaths: new Set() };
|
|
244
|
+
return created.id;
|
|
245
|
+
}
|
|
246
|
+
export async function runAgentTurn(sessionId, userMessage, options = {}) {
|
|
247
|
+
const session = sessionStore.get(sessionId);
|
|
248
|
+
const maxSteps = options.maxSteps ?? 8;
|
|
249
|
+
const contextWindowSize = options.contextWindowSize ?? 20;
|
|
250
|
+
session.messages.push({ role: 'user', content: userMessage });
|
|
234
251
|
for (let step = 0; step < maxSteps; step += 1) {
|
|
235
|
-
const
|
|
252
|
+
const context = buildContext(session.messages, contextWindowSize);
|
|
253
|
+
const assistantText = await session.provider.chat(context);
|
|
236
254
|
options.onEvent?.({ type: 'model_response', step, content: assistantText });
|
|
255
|
+
session.messages.push({ role: 'assistant', content: assistantText });
|
|
237
256
|
const toolCalls = parseToolCalls(assistantText);
|
|
238
257
|
if (toolCalls.length === 0) {
|
|
239
258
|
options.onEvent?.({ type: 'final', step, content: assistantText });
|
|
240
259
|
return assistantText;
|
|
241
260
|
}
|
|
242
|
-
messages.push({ role: 'assistant', content: assistantText });
|
|
243
261
|
if (mutationCount(toolCalls) > 1) {
|
|
244
262
|
const output = 'Batch rejected: only one mutation tool (write_file/apply_patch) is allowed per step.';
|
|
263
|
+
const mutationTool = toolCalls.find((call) => call.tool === 'write_file' || call.tool === 'apply_patch');
|
|
245
264
|
options.onEvent?.({
|
|
246
265
|
type: 'tool_result',
|
|
247
266
|
step,
|
|
248
|
-
tool:
|
|
267
|
+
tool: mutationTool?.tool ?? 'write_file',
|
|
249
268
|
ok: false,
|
|
250
269
|
output
|
|
251
270
|
});
|
|
252
|
-
messages.push({
|
|
253
|
-
role: '
|
|
271
|
+
session.messages.push({
|
|
272
|
+
role: 'tool',
|
|
254
273
|
content: `TOOL_RESULT ${JSON.stringify({ tool: 'batch_validation', ok: false, output })}`
|
|
255
274
|
});
|
|
256
275
|
continue;
|
|
257
276
|
}
|
|
258
277
|
for (const toolCall of toolCalls) {
|
|
259
278
|
options.onEvent?.({ type: 'tool_call', step, tool: toolCall.tool, input: toolCall.input });
|
|
260
|
-
const result = await executeTool(toolCall,
|
|
279
|
+
const result = await executeTool(toolCall, session, options);
|
|
261
280
|
options.onEvent?.({
|
|
262
281
|
type: 'tool_result',
|
|
263
282
|
step,
|
|
@@ -265,8 +284,8 @@ export async function runAgentTask(task, options = {}) {
|
|
|
265
284
|
ok: result.ok,
|
|
266
285
|
output: result.output
|
|
267
286
|
});
|
|
268
|
-
messages.push({
|
|
269
|
-
role: '
|
|
287
|
+
session.messages.push({
|
|
288
|
+
role: 'tool',
|
|
270
289
|
content: `TOOL_RESULT ${JSON.stringify({ tool: toolCall.tool, ...result })}`
|
|
271
290
|
});
|
|
272
291
|
}
|
|
@@ -274,4 +293,16 @@ export async function runAgentTask(task, options = {}) {
|
|
|
274
293
|
options.onEvent?.({ type: 'max_steps', step: maxSteps });
|
|
275
294
|
return 'Stopped after maximum tool steps. Please refine the task and retry.';
|
|
276
295
|
}
|
|
296
|
+
export function closeAgentSession(sessionId) {
|
|
297
|
+
sessionStore.delete(sessionId);
|
|
298
|
+
}
|
|
299
|
+
export async function runAgentTask(task, options = {}) {
|
|
300
|
+
const sessionId = await createAgentSession(options);
|
|
301
|
+
try {
|
|
302
|
+
return await runAgentTurn(sessionId, task, options);
|
|
303
|
+
}
|
|
304
|
+
finally {
|
|
305
|
+
closeAgentSession(sessionId);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
277
308
|
//# sourceMappingURL=agent.js.map
|
package/dist/core/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ChatMessage, LLMProvider } from '../providers/types.js';
|
|
2
|
+
export type AgentSession = {
|
|
3
|
+
id: string;
|
|
4
|
+
provider: LLMProvider;
|
|
5
|
+
workspace: string;
|
|
6
|
+
messages: ChatMessage[];
|
|
7
|
+
readPaths: Set<string>;
|
|
8
|
+
};
|
|
9
|
+
export declare class InMemorySessionStore {
|
|
10
|
+
private readonly sessions;
|
|
11
|
+
create(session: Omit<AgentSession, 'id'>): AgentSession;
|
|
12
|
+
get(sessionId: string): AgentSession;
|
|
13
|
+
delete(sessionId: string): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
export class InMemorySessionStore {
|
|
3
|
+
sessions = new Map();
|
|
4
|
+
create(session) {
|
|
5
|
+
const id = randomUUID();
|
|
6
|
+
const created = { id, ...session };
|
|
7
|
+
this.sessions.set(id, created);
|
|
8
|
+
return created;
|
|
9
|
+
}
|
|
10
|
+
get(sessionId) {
|
|
11
|
+
const session = this.sessions.get(sessionId);
|
|
12
|
+
if (!session)
|
|
13
|
+
throw new Error(`Session not found: ${sessionId}`);
|
|
14
|
+
return session;
|
|
15
|
+
}
|
|
16
|
+
delete(sessionId) {
|
|
17
|
+
this.sessions.delete(sessionId);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=session-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/core/session-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAA;AAWtC,MAAM,OAAO,oBAAoB;IACd,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAA;IAE3D,MAAM,CAAC,OAAiC;QACtC,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QACvB,MAAM,OAAO,GAAiB,EAAC,EAAE,EAAE,GAAG,OAAO,EAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAC9B,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,GAAG,CAAC,SAAiB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC5C,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAA;QAChE,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,CAAC,SAAiB;QACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACjC,CAAC;CACF"}
|
|
@@ -49,9 +49,21 @@ export class OpenAIProvider {
|
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
async chat(messages) {
|
|
52
|
+
const mappedMessages = messages.map((message) => {
|
|
53
|
+
if (message.role === 'tool') {
|
|
54
|
+
return {
|
|
55
|
+
role: 'user',
|
|
56
|
+
content: `[tool] ${message.content}`
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
role: message.role,
|
|
61
|
+
content: message.content
|
|
62
|
+
};
|
|
63
|
+
});
|
|
52
64
|
const completion = await this.client.chat.completions.create({
|
|
53
65
|
model: this.model,
|
|
54
|
-
messages
|
|
66
|
+
messages: mappedMessages
|
|
55
67
|
});
|
|
56
68
|
const content = extractText(completion);
|
|
57
69
|
if (!content) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-provider.js","sourceRoot":"","sources":["../../src/providers/openai-provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"openai-provider.js","sourceRoot":"","sources":["../../src/providers/openai-provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAU3B,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,2BAA2B,CAAA;IACpC,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAS;IAC5B,MAAM,cAAc,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAA;IAC3D,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;QAChE,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,cAAc;aAC1B,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;YACjB,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAA;YACzC,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAA;YACpD,OAAO,EAAE,CAAA;QACX,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC;aACR,IAAI,EAAE,CAAA;QACT,IAAI,MAAM;YAAE,OAAO,MAAM,CAAA;IAC3B,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAA;IAC1C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACtD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,OAAO,IAAI,EAAE,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,QAAQ,CAAA;IACP,MAAM,CAAQ;IACd,KAAK,CAAQ;IAE9B,YAAY,OAA8B;QACxC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,IAAI,2BAA2B,CAAA;QACjE,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAuB;QAChC,MAAM,cAAc,GAAiC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5E,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,UAAU,OAAO,CAAC,OAAO,EAAE;iBACrC,CAAA;YACH,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC3D,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,cAAc;SACzB,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAA;QAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2DAA2D,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QAC3G,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sworddut/myclaw",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A CLI coding agent inspired by Claude Code",
|
|
6
6
|
"type": "module",
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@oclif/core": "^4.2.9",
|
|
22
|
-
"better-sqlite3": "^11.8.1",
|
|
23
22
|
"cosmiconfig": "^9.0.0",
|
|
24
23
|
"dotenv": "^16.5.0",
|
|
25
24
|
"execa": "^9.6.0",
|