fix(vscode-ide-companion): improve ACP connection and session management

Enhance session/load and session/list ACP methods with proper cwd handling and pagination support

- Add workingDir tracking in AcpConnection

- Improve parameter handling in loadSession and listSessions

- Add pagination support for session listing

- Fix null/undefined checks in message handling
This commit is contained in:
yiliang114
2025-12-06 21:45:18 +08:00
parent 413c143004
commit e538a3d1bf
3 changed files with 35 additions and 27 deletions

View File

@@ -107,7 +107,8 @@ export class AcpMessageHandler {
if ('result' in message) {
console.log(
`[ACP] Response for ${method}:`,
JSON.stringify(message.result).substring(0, 200),
// JSON.stringify(message.result).substring(0, 200),
message.result,
);
if (
message.result &&
@@ -204,11 +205,11 @@ export class AcpMessageHandler {
}> {
try {
const response = await callbacks.onPermissionRequest(params);
const optionId = response.optionId;
const optionId = response?.optionId;
console.log('[ACP] Permission request:', optionId);
// Handle cancel, deny, or allow
let outcome: string;
if (optionId.includes('reject') || optionId === 'cancel') {
if (optionId && (optionId.includes('reject') || optionId === 'cancel')) {
outcome = 'cancelled';
} else {
outcome = 'selected';