@getpaseo/server 0.1.33 → 0.1.34

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.
Files changed (106) hide show
  1. package/dist/server/server/agent/activity-curator.d.ts.map +1 -1
  2. package/dist/server/server/agent/activity-curator.js +15 -1
  3. package/dist/server/server/agent/activity-curator.js.map +1 -1
  4. package/dist/server/server/agent/agent-management-mcp.d.ts.map +1 -1
  5. package/dist/server/server/agent/agent-management-mcp.js +2 -4
  6. package/dist/server/server/agent/agent-management-mcp.js.map +1 -1
  7. package/dist/server/server/agent/agent-manager.d.ts +25 -14
  8. package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
  9. package/dist/server/server/agent/agent-manager.js +383 -337
  10. package/dist/server/server/agent/agent-manager.js.map +1 -1
  11. package/dist/server/server/agent/agent-sdk-types.d.ts +16 -14
  12. package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
  13. package/dist/server/server/agent/mcp-server.d.ts.map +1 -1
  14. package/dist/server/server/agent/mcp-server.js +2 -4
  15. package/dist/server/server/agent/mcp-server.js.map +1 -1
  16. package/dist/server/server/agent/provider-launch-config.d.ts.map +1 -1
  17. package/dist/server/server/agent/provider-launch-config.js +15 -1
  18. package/dist/server/server/agent/provider-launch-config.js.map +1 -1
  19. package/dist/server/server/agent/provider-manifest.d.ts +1 -1
  20. package/dist/server/server/agent/provider-manifest.d.ts.map +1 -1
  21. package/dist/server/server/agent/provider-manifest.js +4 -4
  22. package/dist/server/server/agent/provider-manifest.js.map +1 -1
  23. package/dist/server/server/agent/providers/claude/partial-json.js +3 -3
  24. package/dist/server/server/agent/providers/claude/partial-json.js.map +1 -1
  25. package/dist/server/server/agent/providers/claude/sdk-model-resolver.d.ts +11 -0
  26. package/dist/server/server/agent/providers/claude/sdk-model-resolver.d.ts.map +1 -0
  27. package/dist/server/server/agent/providers/claude/sdk-model-resolver.js +104 -0
  28. package/dist/server/server/agent/providers/claude/sdk-model-resolver.js.map +1 -0
  29. package/dist/server/server/agent/providers/claude-agent.d.ts +4 -13
  30. package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
  31. package/dist/server/server/agent/providers/claude-agent.js +382 -453
  32. package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
  33. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +5 -3
  34. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
  35. package/dist/server/server/agent/providers/codex-app-server-agent.js +174 -151
  36. package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
  37. package/dist/server/server/agent/providers/opencode-agent.d.ts +3 -3
  38. package/dist/server/server/agent/providers/opencode-agent.d.ts.map +1 -1
  39. package/dist/server/server/agent/providers/opencode-agent.js +106 -25
  40. package/dist/server/server/agent/providers/opencode-agent.js.map +1 -1
  41. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.d.ts +3 -0
  42. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.d.ts.map +1 -0
  43. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.js +57 -0
  44. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.js.map +1 -0
  45. package/dist/server/server/config.d.ts.map +1 -1
  46. package/dist/server/server/config.js +1 -5
  47. package/dist/server/server/config.js.map +1 -1
  48. package/dist/server/server/session.d.ts.map +1 -1
  49. package/dist/server/server/session.js +14 -12
  50. package/dist/server/server/session.js.map +1 -1
  51. package/dist/server/shared/tool-call-display.js +1 -1
  52. package/dist/server/shared/tool-call-display.js.map +1 -1
  53. package/dist/src/server/agent/activity-curator.js +15 -1
  54. package/dist/src/server/agent/activity-curator.js.map +1 -1
  55. package/dist/src/server/agent/agent-manager.js +383 -337
  56. package/dist/src/server/agent/agent-manager.js.map +1 -1
  57. package/dist/src/server/agent/mcp-server.js +2 -4
  58. package/dist/src/server/agent/mcp-server.js.map +1 -1
  59. package/dist/src/server/agent/provider-launch-config.js +15 -1
  60. package/dist/src/server/agent/provider-launch-config.js.map +1 -1
  61. package/dist/src/server/agent/provider-manifest.js +4 -4
  62. package/dist/src/server/agent/provider-manifest.js.map +1 -1
  63. package/dist/src/server/agent/providers/claude/partial-json.js +3 -3
  64. package/dist/src/server/agent/providers/claude/partial-json.js.map +1 -1
  65. package/dist/src/server/agent/providers/claude/sdk-model-resolver.js +104 -0
  66. package/dist/src/server/agent/providers/claude/sdk-model-resolver.js.map +1 -0
  67. package/dist/src/server/agent/providers/claude-agent.js +382 -453
  68. package/dist/src/server/agent/providers/claude-agent.js.map +1 -1
  69. package/dist/src/server/agent/providers/codex-app-server-agent.js +174 -151
  70. package/dist/src/server/agent/providers/codex-app-server-agent.js.map +1 -1
  71. package/dist/src/server/agent/providers/opencode-agent.js +106 -25
  72. package/dist/src/server/agent/providers/opencode-agent.js.map +1 -1
  73. package/dist/src/server/config.js +1 -5
  74. package/dist/src/server/config.js.map +1 -1
  75. package/dist/src/server/session.js +14 -12
  76. package/dist/src/server/session.js.map +1 -1
  77. package/dist/src/shared/tool-call-display.js +1 -1
  78. package/dist/src/shared/tool-call-display.js.map +1 -1
  79. package/package.json +4 -5
  80. package/agent-prompt.md +0 -339
  81. package/dist/server/server/agent/providers/claude/model-catalog.d.ts +0 -29
  82. package/dist/server/server/agent/providers/claude/model-catalog.d.ts.map +0 -1
  83. package/dist/server/server/agent/providers/claude/model-catalog.js +0 -70
  84. package/dist/server/server/agent/providers/claude/model-catalog.js.map +0 -1
  85. package/dist/server/server/agent/system-prompt.d.ts +0 -3
  86. package/dist/server/server/agent/system-prompt.d.ts.map +0 -1
  87. package/dist/server/server/agent/system-prompt.js +0 -19
  88. package/dist/server/server/agent/system-prompt.js.map +0 -1
  89. package/dist/server/server/terminal-mcp/index.d.ts +0 -4
  90. package/dist/server/server/terminal-mcp/index.d.ts.map +0 -1
  91. package/dist/server/server/terminal-mcp/index.js +0 -3
  92. package/dist/server/server/terminal-mcp/index.js.map +0 -1
  93. package/dist/server/server/terminal-mcp/server.d.ts +0 -10
  94. package/dist/server/server/terminal-mcp/server.d.ts.map +0 -1
  95. package/dist/server/server/terminal-mcp/server.js +0 -209
  96. package/dist/server/server/terminal-mcp/server.js.map +0 -1
  97. package/dist/server/server/terminal-mcp/terminal-manager.d.ts +0 -123
  98. package/dist/server/server/terminal-mcp/terminal-manager.d.ts.map +0 -1
  99. package/dist/server/server/terminal-mcp/terminal-manager.js +0 -339
  100. package/dist/server/server/terminal-mcp/terminal-manager.js.map +0 -1
  101. package/dist/server/server/terminal-mcp/tmux.d.ts +0 -207
  102. package/dist/server/server/terminal-mcp/tmux.d.ts.map +0 -1
  103. package/dist/server/server/terminal-mcp/tmux.js +0 -821
  104. package/dist/server/server/terminal-mcp/tmux.js.map +0 -1
  105. package/dist/src/server/agent/providers/claude/model-catalog.js +0 -70
  106. package/dist/src/server/agent/providers/claude/model-catalog.js.map +0 -1
@@ -1,209 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- import { z } from "zod";
3
- import { ensureValidJson } from "../json-utils.js";
4
- import { TerminalManager } from "./terminal-manager.js";
5
- /**
6
- * Create and configure the Terminal MCP Server
7
- * Multiple instances can run independently with different session names
8
- */
9
- export async function createTerminalMcpServer(options) {
10
- const { sessionName } = options;
11
- const terminalManager = new TerminalManager(sessionName);
12
- // Initialize the session
13
- await terminalManager.initialize();
14
- const server = new McpServer({
15
- name: "terminal-mcp",
16
- version: "1.0.0",
17
- });
18
- // COMMAND-BASED TOOLS
19
- // Tool: execute_command (disabled – commands must be run through coding agents)
20
- // server.registerTool(
21
- // "execute_command",
22
- // {
23
- // title: "Execute Command",
24
- // description:
25
- // "Execute a shell command in a specified directory. Commands are wrapped in bash -c, so you can use pipes, operators, redirects, and all bash features. The command runs until completion or until output stabilizes (for interactive processes). Returns command ID for follow-up interactions, output, exit code (if finished), and whether the process is still running. Windows remain after command exits for inspection.",
26
- // inputSchema: {
27
- // command: z
28
- // .string()
29
- // .describe(
30
- // "The command to execute. Can include pipes (|), operators (&&, ||, ;), redirects (>, >>), and any bash syntax. Examples: 'npm test', 'ls | grep foo', 'cd src && npm run build'"
31
- // ),
32
- // directory: z
33
- // .string()
34
- // .describe(
35
- // "Absolute path to the working directory. Can use ~ for home directory."
36
- // ),
37
- // maxWait: z
38
- // .number()
39
- // .optional()
40
- // .describe(
41
- // "Maximum milliseconds to wait for command completion or output stability (default: 120000 = 2 minutes). For interactive commands, returns when output stabilizes. For one-shot commands, returns when command exits."
42
- // ),
43
- // },
44
- // outputSchema: {
45
- // commandId: z.string(),
46
- // output: z.string(),
47
- // exitCode: z.number().nullable(),
48
- // isDead: z.boolean(),
49
- // },
50
- // },
51
- // async ({ command, directory, maxWait }) => {
52
- // const result = await terminalManager.executeCommand(
53
- // command,
54
- // directory,
55
- // maxWait
56
- // );
57
- // return {
58
- // content: [],
59
- // structuredContent: result,
60
- // };
61
- // }
62
- // );
63
- // Tool: list_commands
64
- server.registerTool("list_commands", {
65
- title: "List Commands",
66
- description: "List all commands (both running and exited). Shows command ID, working directory, current process, whether it has exited (isDead), exit code (if exited), and last few lines of output. Includes dead commands that remain for inspection until explicitly killed.",
67
- inputSchema: {},
68
- outputSchema: {
69
- commands: z.array(z.object({
70
- id: z.string(),
71
- name: z.string(),
72
- workingDirectory: z.string(),
73
- currentCommand: z.string(),
74
- isDead: z.boolean(),
75
- exitCode: z.number().nullable(),
76
- lastLines: z.string().nullable(),
77
- })),
78
- },
79
- }, async () => {
80
- const commands = await terminalManager.listCommands();
81
- const output = { commands };
82
- return {
83
- content: [],
84
- structuredContent: ensureValidJson(output),
85
- };
86
- });
87
- // Tool: capture_command
88
- server.registerTool("capture_command", {
89
- title: "Capture Command Output",
90
- description: "Capture output from a command by its ID. Works for both running and exited commands. Returns output, exit code (if exited), and whether the command has finished.",
91
- inputSchema: {
92
- commandId: z
93
- .string()
94
- .describe("Command ID (window ID like @123) returned from execute_command or list_commands"),
95
- lines: z.number().optional().describe("Number of lines to capture (default: 200)"),
96
- },
97
- outputSchema: {
98
- output: z.string(),
99
- exitCode: z.number().nullable(),
100
- isDead: z.boolean(),
101
- },
102
- }, async ({ commandId, lines }) => {
103
- const result = await terminalManager.captureCommand(commandId, lines);
104
- return {
105
- content: [],
106
- structuredContent: ensureValidJson(result),
107
- };
108
- });
109
- // Tool: send_text_to_command
110
- server.registerTool("send_text_to_command", {
111
- title: "Send Text to Command",
112
- description: "Send text input to a running command (by ID). Use this for interactive processes like REPLs, prompts, or text-based interfaces. Only works if the command is still running (isDead=false).",
113
- inputSchema: {
114
- commandId: z
115
- .string()
116
- .describe("Command ID (window ID like @123) from execute_command or list_commands"),
117
- text: z.string().describe("Text to send to the command"),
118
- pressEnter: z
119
- .boolean()
120
- .optional()
121
- .describe("Press Enter after typing text (default: false)"),
122
- return_output: z
123
- .object({
124
- lines: z.number().optional().describe("Number of lines to capture (default: 200)"),
125
- waitForSettled: z
126
- .boolean()
127
- .optional()
128
- .describe("Wait for output to stabilize before returning (default: true)"),
129
- maxWait: z
130
- .number()
131
- .optional()
132
- .describe("Maximum milliseconds to wait for stability (default: 120000)"),
133
- })
134
- .optional()
135
- .describe("Capture output after sending text"),
136
- },
137
- outputSchema: {
138
- output: z.string().nullable(),
139
- },
140
- }, async ({ commandId, text, pressEnter, return_output }) => {
141
- const output = await terminalManager.sendTextToCommand(commandId, text, pressEnter, return_output);
142
- const result = { output: output || null };
143
- return {
144
- content: [],
145
- structuredContent: ensureValidJson(result),
146
- };
147
- });
148
- // Tool: send_keys_to_command
149
- server.registerTool("send_keys_to_command", {
150
- title: "Send Keys to Command",
151
- description: "Send special keys or key combinations to a running command. Use for control sequences and navigation. Examples: 'C-c' (Ctrl+C), 'Enter', 'Escape', 'BTab' (Shift+Tab). Only works if command is still running.",
152
- inputSchema: {
153
- commandId: z.string().describe("Command ID (window ID like @123)"),
154
- keys: z
155
- .string()
156
- .describe("Special key or combination: 'C-c', 'Enter', 'Escape', 'BTab', etc."),
157
- repeat: z
158
- .number()
159
- .optional()
160
- .describe("Number of times to repeat the key press (default: 1)"),
161
- return_output: z
162
- .object({
163
- lines: z.number().optional(),
164
- waitForSettled: z.boolean().optional(),
165
- maxWait: z.number().optional(),
166
- })
167
- .optional()
168
- .describe("Capture output after sending keys"),
169
- },
170
- outputSchema: {
171
- output: z.string().nullable(),
172
- },
173
- }, async ({ commandId, keys, repeat, return_output }) => {
174
- const output = await terminalManager.sendKeysToCommand(commandId, keys, repeat, return_output);
175
- const result = { output: output || null };
176
- return {
177
- content: [],
178
- structuredContent: ensureValidJson(result),
179
- };
180
- });
181
- // Tool: kill_command
182
- server.registerTool("kill_command", {
183
- title: "Kill Command",
184
- description: "Kill one or more commands and close their windows. Use this to terminate running processes or clean up finished commands. This removes the commands from list_commands.",
185
- inputSchema: {
186
- commandIds: z
187
- .array(z.string())
188
- .min(1)
189
- .describe("Array of command IDs (window IDs like @123) from execute_command or list_commands. Can be a single ID or multiple IDs."),
190
- },
191
- outputSchema: {
192
- success: z.boolean(),
193
- killedCount: z.number(),
194
- },
195
- }, async ({ commandIds }) => {
196
- let killedCount = 0;
197
- for (const commandId of commandIds) {
198
- await terminalManager.killCommand(commandId);
199
- killedCount++;
200
- }
201
- const output = { success: true, killedCount };
202
- return {
203
- content: [],
204
- structuredContent: ensureValidJson(output),
205
- };
206
- });
207
- return server;
208
- }
209
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/server/terminal-mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1,123 +0,0 @@
1
- export interface TerminalInfo {
2
- name: string;
3
- workingDirectory: string;
4
- currentCommand: string;
5
- lastLines: string | null;
6
- }
7
- export interface CommandInfo {
8
- id: string;
9
- name: string;
10
- workingDirectory: string;
11
- currentCommand: string;
12
- isDead: boolean;
13
- exitCode: number | null;
14
- lastLines: string | null;
15
- }
16
- export interface CreateTerminalParams {
17
- name: string;
18
- workingDirectory: string;
19
- initialCommand?: string;
20
- }
21
- export interface CreateTerminalResult extends TerminalInfo {
22
- commandOutput: string | null;
23
- }
24
- /**
25
- * Terminal manager for a specific tmux session
26
- * Multiple instances can coexist with different session names
27
- */
28
- export declare class TerminalManager {
29
- private sessionName;
30
- constructor(sessionName: string);
31
- /**
32
- * Initialize the tmux session
33
- * Creates it if it doesn't exist
34
- */
35
- initialize(): Promise<void>;
36
- /**
37
- * List all terminals in the session
38
- * Returns terminal info including name, active status, working directory, and current command
39
- */
40
- listTerminals(): Promise<TerminalInfo[]>;
41
- /**
42
- * Create a new terminal (tmux window) with specified name and working directory
43
- * Optionally execute an initial command
44
- */
45
- createTerminal(params: CreateTerminalParams): Promise<CreateTerminalResult>;
46
- /**
47
- * Capture output from a terminal by name
48
- * Returns the last N lines of terminal content
49
- * If maxWait is provided, waits for terminal activity to settle before capturing
50
- */
51
- captureTerminal(terminalName: string, lines?: number, maxWait?: number): Promise<string>;
52
- /**
53
- * Send text to a terminal by name, optionally press Enter, optionally return output
54
- */
55
- sendText(terminalName: string, text: string, pressEnter?: boolean, return_output?: {
56
- lines?: number;
57
- waitForSettled?: boolean;
58
- maxWait?: number;
59
- }): Promise<string | null>;
60
- /**
61
- * Send special keys or key combinations to a terminal by name
62
- * Useful for TUI navigation, control sequences, and interactive applications
63
- */
64
- sendKeys(terminalName: string, keys: string, repeat?: number, return_output?: {
65
- lines?: number;
66
- waitForSettled?: boolean;
67
- maxWait?: number;
68
- }): Promise<string | null>;
69
- /**
70
- * Rename a terminal by name
71
- * Validates that the new name is unique
72
- */
73
- renameTerminal(terminalName: string, newName: string): Promise<void>;
74
- /**
75
- * Kill (close/destroy) a terminal by name
76
- */
77
- killTerminal(terminalName: string): Promise<void>;
78
- /**
79
- * Execute a command and return its output, exit code, and running status
80
- * Commands are wrapped in bash -c to support all bash features
81
- * Windows remain after command exits (remain-on-exit) for inspection
82
- */
83
- executeCommand(command: string, workingDirectory: string, maxWait?: number): Promise<{
84
- commandId: string;
85
- output: string;
86
- exitCode: number | null;
87
- isDead: boolean;
88
- }>;
89
- /**
90
- * List all commands (windows), including those that have exited
91
- * Shows both running and dead commands for inspection
92
- */
93
- listCommands(): Promise<CommandInfo[]>;
94
- /**
95
- * Capture output from a command by ID (window ID)
96
- */
97
- captureCommand(commandId: string, lines?: number): Promise<{
98
- output: string;
99
- exitCode: number | null;
100
- isDead: boolean;
101
- }>;
102
- /**
103
- * Send text to a command by ID (window ID)
104
- */
105
- sendTextToCommand(commandId: string, text: string, pressEnter?: boolean, return_output?: {
106
- lines?: number;
107
- waitForSettled?: boolean;
108
- maxWait?: number;
109
- }): Promise<string | null>;
110
- /**
111
- * Send keys to a command by ID (window ID)
112
- */
113
- sendKeysToCommand(commandId: string, keys: string, repeat?: number, return_output?: {
114
- lines?: number;
115
- waitForSettled?: boolean;
116
- maxWait?: number;
117
- }): Promise<string | null>;
118
- /**
119
- * Kill a command by ID (window ID)
120
- */
121
- killCommand(commandId: string): Promise<void>;
122
- }
123
- //# sourceMappingURL=terminal-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-manager.d.ts","sourceRoot":"","sources":["../../../../src/server/terminal-mcp/terminal-manager.ts"],"names":[],"mappings":"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"}