agent-sh 0.4.0 → 0.5.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 +66 -113
- package/dist/agent/agent-loop.d.ts +85 -0
- package/dist/agent/agent-loop.js +611 -0
- package/dist/agent/conversation-state.d.ts +27 -0
- package/dist/agent/conversation-state.js +59 -0
- package/dist/agent/index.d.ts +11 -0
- package/dist/agent/index.js +9 -0
- package/dist/agent/skills.d.ts +25 -0
- package/dist/agent/skills.js +186 -0
- package/dist/agent/subagent.d.ts +37 -0
- package/dist/agent/subagent.js +117 -0
- package/dist/agent/system-prompt.d.ts +14 -0
- package/dist/agent/system-prompt.js +98 -0
- package/dist/agent/tool-registry.d.ts +15 -0
- package/dist/agent/tool-registry.js +30 -0
- package/dist/agent/tools/bash.d.ts +7 -0
- package/dist/agent/tools/bash.js +62 -0
- package/dist/agent/tools/edit-file.d.ts +2 -0
- package/dist/agent/tools/edit-file.js +95 -0
- package/dist/agent/tools/glob.d.ts +2 -0
- package/dist/agent/tools/glob.js +55 -0
- package/dist/agent/tools/grep.d.ts +2 -0
- package/dist/agent/tools/grep.js +77 -0
- package/dist/agent/tools/list-skills.d.ts +2 -0
- package/dist/agent/tools/list-skills.js +28 -0
- package/dist/agent/tools/ls.d.ts +2 -0
- package/dist/agent/tools/ls.js +43 -0
- package/dist/agent/tools/read-file.d.ts +2 -0
- package/dist/agent/tools/read-file.js +55 -0
- package/dist/agent/tools/user-shell.d.ts +13 -0
- package/dist/agent/tools/user-shell.js +57 -0
- package/dist/agent/tools/write-file.d.ts +2 -0
- package/dist/agent/tools/write-file.js +74 -0
- package/dist/agent/types.d.ts +44 -0
- package/dist/agent/types.js +1 -0
- package/dist/core.d.ts +24 -14
- package/dist/core.js +260 -36
- package/dist/event-bus.d.ts +80 -14
- package/dist/event-bus.js +10 -1
- package/dist/extension-loader.js +12 -1
- package/dist/extensions/command-suggest.d.ts +10 -0
- package/dist/extensions/command-suggest.js +41 -0
- package/dist/extensions/slash-commands.d.ts +1 -1
- package/dist/extensions/slash-commands.js +161 -64
- package/dist/extensions/tui-renderer.js +90 -48
- package/dist/index.js +98 -122
- package/dist/input-handler.js +74 -7
- package/dist/output-parser.d.ts +7 -0
- package/dist/output-parser.js +27 -0
- package/dist/settings.d.ts +53 -2
- package/dist/settings.js +45 -2
- package/dist/shell.js +33 -26
- package/dist/types.d.ts +33 -6
- package/dist/utils/box-frame.d.ts +3 -1
- package/dist/utils/box-frame.js +12 -5
- package/dist/utils/llm-client.d.ts +45 -0
- package/dist/utils/llm-client.js +60 -0
- package/dist/utils/markdown.js +2 -2
- package/dist/utils/stream-transform.js +20 -47
- package/dist/utils/tool-display.js +15 -5
- package/examples/extensions/claude-code-bridge/README.md +35 -0
- package/examples/extensions/claude-code-bridge/index.ts +198 -0
- package/examples/extensions/claude-code-bridge/package.json +11 -0
- package/examples/extensions/openrouter.ts +87 -0
- package/examples/extensions/pi-bridge/README.md +35 -0
- package/examples/extensions/pi-bridge/index.ts +265 -0
- package/examples/extensions/pi-bridge/package.json +13 -0
- package/examples/extensions/subagents.ts +87 -0
- package/package.json +3 -5
- package/dist/acp-client.d.ts +0 -105
- package/dist/acp-client.js +0 -684
- package/dist/extensions/shell-exec.d.ts +0 -24
- package/dist/extensions/shell-exec.js +0 -188
- package/dist/mcp-server.d.ts +0 -13
- package/dist/mcp-server.js +0 -234
- package/examples/pi-agent-sh.ts +0 -166
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-sh",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "A shell-first terminal where
|
|
3
|
+
"version": "0.5.0",
|
|
4
|
+
"description": "A shell-first terminal where AI is one keystroke away",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/core.js",
|
|
7
7
|
"types": "dist/core.d.ts",
|
|
@@ -39,8 +39,6 @@
|
|
|
39
39
|
"dev": "tsx src/index.ts",
|
|
40
40
|
"build": "tsc",
|
|
41
41
|
"start": "node dist/index.js",
|
|
42
|
-
"pi": "node dist/index.js --agent pi-acp",
|
|
43
|
-
"claude": "node dist/index.js --agent claude-agent-acp",
|
|
44
42
|
"prepublishOnly": "npm run build"
|
|
45
43
|
},
|
|
46
44
|
"keywords": [
|
|
@@ -67,10 +65,10 @@
|
|
|
67
65
|
"node": ">=18"
|
|
68
66
|
},
|
|
69
67
|
"dependencies": {
|
|
70
|
-
"@agentclientprotocol/sdk": "^0.18.1",
|
|
71
68
|
"cli-highlight": "^2.1.11",
|
|
72
69
|
"marked": "^17.0.6",
|
|
73
70
|
"node-pty": "^1.2.0-beta.12",
|
|
71
|
+
"openai": "^6.34.0",
|
|
74
72
|
"tsx": "^4.19.0"
|
|
75
73
|
},
|
|
76
74
|
"devDependencies": {
|
package/dist/acp-client.d.ts
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import type { EventBus } from "./event-bus.js";
|
|
2
|
-
import type { ContextManager } from "./context-manager.js";
|
|
3
|
-
import type { AgentShellConfig } from "./types.js";
|
|
4
|
-
export declare class AcpClient {
|
|
5
|
-
private agentProcess;
|
|
6
|
-
private connection;
|
|
7
|
-
private sessionId;
|
|
8
|
-
private bus;
|
|
9
|
-
private contextManager;
|
|
10
|
-
private config;
|
|
11
|
-
private promptInProgress;
|
|
12
|
-
private currentResponseText;
|
|
13
|
-
private lastResponseText;
|
|
14
|
-
private terminalSessions;
|
|
15
|
-
private terminalDonePromises;
|
|
16
|
-
private terminalCounter;
|
|
17
|
-
private fileWatcher;
|
|
18
|
-
private pendingToolCalls;
|
|
19
|
-
private autoCancelled;
|
|
20
|
-
private pendingToolCounter;
|
|
21
|
-
private agentInfo;
|
|
22
|
-
private modes;
|
|
23
|
-
private currentModeId;
|
|
24
|
-
constructor(opts: {
|
|
25
|
-
bus: EventBus;
|
|
26
|
-
contextManager: ContextManager;
|
|
27
|
-
config: AgentShellConfig;
|
|
28
|
-
});
|
|
29
|
-
start(): Promise<void>;
|
|
30
|
-
/**
|
|
31
|
-
* Send a user query to the agent.
|
|
32
|
-
*/
|
|
33
|
-
private firstPromptSent;
|
|
34
|
-
private static readonly SESSION_ORIENTATION;
|
|
35
|
-
sendPrompt(query: string, opts?: {
|
|
36
|
-
modeInstruction?: string;
|
|
37
|
-
modeLabel?: string;
|
|
38
|
-
}): Promise<void>;
|
|
39
|
-
/**
|
|
40
|
-
* Silently cancel the prompt after a shell tool completes.
|
|
41
|
-
* Unlike user-initiated cancel(), this doesn't show "(cancelled)" —
|
|
42
|
-
* the tool already ran, we just skip the unnecessary LLM follow-up.
|
|
43
|
-
*/
|
|
44
|
-
private autoCancel;
|
|
45
|
-
/**
|
|
46
|
-
* Cancel the current prompt and force-recover shell mode.
|
|
47
|
-
*/
|
|
48
|
-
cancel(): Promise<void>;
|
|
49
|
-
/**
|
|
50
|
-
* Start a new ACP session, clearing agent-side conversation history.
|
|
51
|
-
*/
|
|
52
|
-
resetSession(): Promise<void>;
|
|
53
|
-
/**
|
|
54
|
-
* Get the text of the last agent response (for /copy).
|
|
55
|
-
*/
|
|
56
|
-
getLastResponseText(): string;
|
|
57
|
-
/**
|
|
58
|
-
* Get agent information for display.
|
|
59
|
-
*/
|
|
60
|
-
getAgentInfo(): {
|
|
61
|
-
name: string;
|
|
62
|
-
version: string;
|
|
63
|
-
} | null;
|
|
64
|
-
getModel(): string | undefined;
|
|
65
|
-
/**
|
|
66
|
-
* Get the current mode (e.g. thinking level).
|
|
67
|
-
*/
|
|
68
|
-
getCurrentMode(): {
|
|
69
|
-
id: string;
|
|
70
|
-
name: string;
|
|
71
|
-
} | null;
|
|
72
|
-
/**
|
|
73
|
-
* Check if agent is connected.
|
|
74
|
-
*/
|
|
75
|
-
isConnected(): boolean;
|
|
76
|
-
/**
|
|
77
|
-
* Parse modes from a session response and notify listeners.
|
|
78
|
-
*/
|
|
79
|
-
private updateModes;
|
|
80
|
-
/**
|
|
81
|
-
* Cycle to the next session mode.
|
|
82
|
-
*/
|
|
83
|
-
private cycleMode;
|
|
84
|
-
private log;
|
|
85
|
-
/**
|
|
86
|
-
* Create the Client handler that responds to agent requests.
|
|
87
|
-
*/
|
|
88
|
-
private createClientHandler;
|
|
89
|
-
private handleSessionUpdate;
|
|
90
|
-
private handleRequestPermission;
|
|
91
|
-
private handleCreateTerminal;
|
|
92
|
-
private handleTerminalOutput;
|
|
93
|
-
private handleWaitForTerminalExit;
|
|
94
|
-
private handleKillTerminal;
|
|
95
|
-
private handleReleaseTerminal;
|
|
96
|
-
private handleReadTextFile;
|
|
97
|
-
private handleWriteTextFile;
|
|
98
|
-
/**
|
|
99
|
-
* After the agent finishes, check all tracked files for changes
|
|
100
|
-
* made via the agent's own tools (not through fs/writeTextFile)
|
|
101
|
-
* and show interactive diff previews.
|
|
102
|
-
*/
|
|
103
|
-
private showPendingFileChanges;
|
|
104
|
-
kill(): void;
|
|
105
|
-
}
|