claude-ide-bridge 1.1.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/LICENSE +21 -0
- package/README.md +263 -0
- package/dist/activityLog.d.ts +26 -0
- package/dist/activityLog.js +76 -0
- package/dist/activityLog.js.map +1 -0
- package/dist/bridge.d.ts +19 -0
- package/dist/bridge.js +277 -0
- package/dist/bridge.js.map +1 -0
- package/dist/config.d.ts +22 -0
- package/dist/config.js +221 -0
- package/dist/config.js.map +1 -0
- package/dist/errors.d.ts +16 -0
- package/dist/errors.js +20 -0
- package/dist/errors.js.map +1 -0
- package/dist/extensionClient.d.ts +193 -0
- package/dist/extensionClient.js +698 -0
- package/dist/extensionClient.js.map +1 -0
- package/dist/fileLock.d.ts +12 -0
- package/dist/fileLock.js +30 -0
- package/dist/fileLock.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/lockfile.d.ts +12 -0
- package/dist/lockfile.js +127 -0
- package/dist/lockfile.js.map +1 -0
- package/dist/logger.d.ts +16 -0
- package/dist/logger.js +68 -0
- package/dist/logger.js.map +1 -0
- package/dist/probe.d.ts +22 -0
- package/dist/probe.js +45 -0
- package/dist/probe.js.map +1 -0
- package/dist/server.d.ts +25 -0
- package/dist/server.js +265 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/activityLog.d.ts +39 -0
- package/dist/tools/activityLog.js +49 -0
- package/dist/tools/activityLog.js.map +1 -0
- package/dist/tools/aiComments.d.ts +26 -0
- package/dist/tools/aiComments.js +196 -0
- package/dist/tools/aiComments.js.map +1 -0
- package/dist/tools/bridgeStatus.d.ts +21 -0
- package/dist/tools/bridgeStatus.js +41 -0
- package/dist/tools/bridgeStatus.js.map +1 -0
- package/dist/tools/checkDocumentDirty.d.ts +28 -0
- package/dist/tools/checkDocumentDirty.js +61 -0
- package/dist/tools/checkDocumentDirty.js.map +1 -0
- package/dist/tools/clipboard.d.ts +50 -0
- package/dist/tools/clipboard.js +82 -0
- package/dist/tools/clipboard.js.map +1 -0
- package/dist/tools/closeTabs.d.ts +49 -0
- package/dist/tools/closeTabs.js +77 -0
- package/dist/tools/closeTabs.js.map +1 -0
- package/dist/tools/debug.d.ts +154 -0
- package/dist/tools/debug.js +248 -0
- package/dist/tools/debug.js.map +1 -0
- package/dist/tools/decorations.d.ts +92 -0
- package/dist/tools/decorations.js +150 -0
- package/dist/tools/decorations.js.map +1 -0
- package/dist/tools/diffDebugger.d.ts +62 -0
- package/dist/tools/diffDebugger.js +245 -0
- package/dist/tools/diffDebugger.js.map +1 -0
- package/dist/tools/editText.d.ts +80 -0
- package/dist/tools/editText.js +274 -0
- package/dist/tools/editText.js.map +1 -0
- package/dist/tools/fileOperations.d.ts +111 -0
- package/dist/tools/fileOperations.js +280 -0
- package/dist/tools/fileOperations.js.map +1 -0
- package/dist/tools/fileWatcher.d.ts +54 -0
- package/dist/tools/fileWatcher.js +100 -0
- package/dist/tools/fileWatcher.js.map +1 -0
- package/dist/tools/findFiles.d.ts +31 -0
- package/dist/tools/findFiles.js +119 -0
- package/dist/tools/findFiles.js.map +1 -0
- package/dist/tools/fixAllLintErrors.d.ts +29 -0
- package/dist/tools/fixAllLintErrors.js +114 -0
- package/dist/tools/fixAllLintErrors.js.map +1 -0
- package/dist/tools/flowGuardian.d.ts +61 -0
- package/dist/tools/flowGuardian.js +311 -0
- package/dist/tools/flowGuardian.js.map +1 -0
- package/dist/tools/formatDocument.d.ts +30 -0
- package/dist/tools/formatDocument.js +132 -0
- package/dist/tools/formatDocument.js.map +1 -0
- package/dist/tools/formatFile.d.ts +28 -0
- package/dist/tools/formatFile.js +110 -0
- package/dist/tools/formatFile.js.map +1 -0
- package/dist/tools/getBufferContent.d.ts +38 -0
- package/dist/tools/getBufferContent.js +100 -0
- package/dist/tools/getBufferContent.js.map +1 -0
- package/dist/tools/getCurrentSelection.d.ts +43 -0
- package/dist/tools/getCurrentSelection.js +75 -0
- package/dist/tools/getCurrentSelection.js.map +1 -0
- package/dist/tools/getDiagnostics.d.ts +38 -0
- package/dist/tools/getDiagnostics.js +204 -0
- package/dist/tools/getDiagnostics.js.map +1 -0
- package/dist/tools/getDocumentSymbols.d.ts +27 -0
- package/dist/tools/getDocumentSymbols.js +133 -0
- package/dist/tools/getDocumentSymbols.js.map +1 -0
- package/dist/tools/getFileTree.d.ts +36 -0
- package/dist/tools/getFileTree.js +111 -0
- package/dist/tools/getFileTree.js.map +1 -0
- package/dist/tools/getGitDiff.d.ts +34 -0
- package/dist/tools/getGitDiff.js +57 -0
- package/dist/tools/getGitDiff.js.map +1 -0
- package/dist/tools/getGitLog.d.ts +30 -0
- package/dist/tools/getGitLog.js +65 -0
- package/dist/tools/getGitLog.js.map +1 -0
- package/dist/tools/getGitStatus.d.ts +26 -0
- package/dist/tools/getGitStatus.js +95 -0
- package/dist/tools/getGitStatus.js.map +1 -0
- package/dist/tools/getOpenEditors.d.ts +21 -0
- package/dist/tools/getOpenEditors.js +84 -0
- package/dist/tools/getOpenEditors.js.map +1 -0
- package/dist/tools/getProjectInfo.d.ts +20 -0
- package/dist/tools/getProjectInfo.js +315 -0
- package/dist/tools/getProjectInfo.js.map +1 -0
- package/dist/tools/getToolCapabilities.d.ts +23 -0
- package/dist/tools/getToolCapabilities.js +249 -0
- package/dist/tools/getToolCapabilities.js.map +1 -0
- package/dist/tools/getWorkspaceFolders.d.ts +21 -0
- package/dist/tools/getWorkspaceFolders.js +47 -0
- package/dist/tools/getWorkspaceFolders.js.map +1 -0
- package/dist/tools/gitHistory.d.ts +78 -0
- package/dist/tools/gitHistory.js +151 -0
- package/dist/tools/gitHistory.js.map +1 -0
- package/dist/tools/gitWrite.d.ts +335 -0
- package/dist/tools/gitWrite.js +859 -0
- package/dist/tools/gitWrite.js.map +1 -0
- package/dist/tools/github/actions.d.ts +67 -0
- package/dist/tools/github/actions.js +155 -0
- package/dist/tools/github/actions.js.map +1 -0
- package/dist/tools/github/index.d.ts +4 -0
- package/dist/tools/github/index.js +5 -0
- package/dist/tools/github/index.js.map +1 -0
- package/dist/tools/github/issues.d.ts +140 -0
- package/dist/tools/github/issues.js +279 -0
- package/dist/tools/github/issues.js.map +1 -0
- package/dist/tools/github/pr.d.ts +101 -0
- package/dist/tools/github/pr.js +215 -0
- package/dist/tools/github/pr.js.map +1 -0
- package/dist/tools/github/review.d.ts +101 -0
- package/dist/tools/github/review.js +292 -0
- package/dist/tools/github/review.js.map +1 -0
- package/dist/tools/github/shared.d.ts +4 -0
- package/dist/tools/github/shared.js +12 -0
- package/dist/tools/github/shared.js.map +1 -0
- package/dist/tools/github.d.ts +308 -0
- package/dist/tools/github.js +656 -0
- package/dist/tools/github.js.map +1 -0
- package/dist/tools/hoverAtCursor.d.ts +22 -0
- package/dist/tools/hoverAtCursor.js +51 -0
- package/dist/tools/hoverAtCursor.js.map +1 -0
- package/dist/tools/httpClient.d.ts +83 -0
- package/dist/tools/httpClient.js +335 -0
- package/dist/tools/httpClient.js.map +1 -0
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.js +246 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/inlayHints.d.ts +38 -0
- package/dist/tools/inlayHints.js +56 -0
- package/dist/tools/inlayHints.js.map +1 -0
- package/dist/tools/linters/biome.d.ts +2 -0
- package/dist/tools/linters/biome.js +44 -0
- package/dist/tools/linters/biome.js.map +1 -0
- package/dist/tools/linters/cargo.d.ts +2 -0
- package/dist/tools/linters/cargo.js +45 -0
- package/dist/tools/linters/cargo.js.map +1 -0
- package/dist/tools/linters/eslint.d.ts +2 -0
- package/dist/tools/linters/eslint.js +59 -0
- package/dist/tools/linters/eslint.js.map +1 -0
- package/dist/tools/linters/govet.d.ts +2 -0
- package/dist/tools/linters/govet.js +37 -0
- package/dist/tools/linters/govet.js.map +1 -0
- package/dist/tools/linters/pyright.d.ts +2 -0
- package/dist/tools/linters/pyright.js +34 -0
- package/dist/tools/linters/pyright.js.map +1 -0
- package/dist/tools/linters/ruff.d.ts +2 -0
- package/dist/tools/linters/ruff.js +30 -0
- package/dist/tools/linters/ruff.js.map +1 -0
- package/dist/tools/linters/types.d.ts +16 -0
- package/dist/tools/linters/types.js +2 -0
- package/dist/tools/linters/types.js.map +1 -0
- package/dist/tools/linters/typescript.d.ts +2 -0
- package/dist/tools/linters/typescript.js +38 -0
- package/dist/tools/linters/typescript.js.map +1 -0
- package/dist/tools/lsp.d.ts +310 -0
- package/dist/tools/lsp.js +684 -0
- package/dist/tools/lsp.js.map +1 -0
- package/dist/tools/notebook.d.ts +95 -0
- package/dist/tools/notebook.js +144 -0
- package/dist/tools/notebook.js.map +1 -0
- package/dist/tools/openDiff.d.ts +41 -0
- package/dist/tools/openDiff.js +116 -0
- package/dist/tools/openDiff.js.map +1 -0
- package/dist/tools/openFile.d.ts +34 -0
- package/dist/tools/openFile.js +102 -0
- package/dist/tools/openFile.js.map +1 -0
- package/dist/tools/organizeImports.d.ts +29 -0
- package/dist/tools/organizeImports.js +64 -0
- package/dist/tools/organizeImports.js.map +1 -0
- package/dist/tools/planPersistence.d.ts +196 -0
- package/dist/tools/planPersistence.js +437 -0
- package/dist/tools/planPersistence.js.map +1 -0
- package/dist/tools/replaceBlock.d.ts +40 -0
- package/dist/tools/replaceBlock.js +105 -0
- package/dist/tools/replaceBlock.js.map +1 -0
- package/dist/tools/runCommand.d.ts +43 -0
- package/dist/tools/runCommand.js +141 -0
- package/dist/tools/runCommand.js.map +1 -0
- package/dist/tools/runTests.d.ts +32 -0
- package/dist/tools/runTests.js +160 -0
- package/dist/tools/runTests.js.map +1 -0
- package/dist/tools/saveDocument.d.ts +28 -0
- package/dist/tools/saveDocument.js +58 -0
- package/dist/tools/saveDocument.js.map +1 -0
- package/dist/tools/searchAndReplace.d.ts +50 -0
- package/dist/tools/searchAndReplace.js +203 -0
- package/dist/tools/searchAndReplace.js.map +1 -0
- package/dist/tools/searchWorkspace.d.ts +52 -0
- package/dist/tools/searchWorkspace.js +159 -0
- package/dist/tools/searchWorkspace.js.map +1 -0
- package/dist/tools/setActiveWorkspaceFolder.d.ts +28 -0
- package/dist/tools/setActiveWorkspaceFolder.js +32 -0
- package/dist/tools/setActiveWorkspaceFolder.js.map +1 -0
- package/dist/tools/tasks.d.ts +56 -0
- package/dist/tools/tasks.js +89 -0
- package/dist/tools/tasks.js.map +1 -0
- package/dist/tools/terminal.d.ts +241 -0
- package/dist/tools/terminal.js +539 -0
- package/dist/tools/terminal.js.map +1 -0
- package/dist/tools/testRunners/cargoTest.d.ts +2 -0
- package/dist/tools/testRunners/cargoTest.js +123 -0
- package/dist/tools/testRunners/cargoTest.js.map +1 -0
- package/dist/tools/testRunners/goTest.d.ts +2 -0
- package/dist/tools/testRunners/goTest.js +106 -0
- package/dist/tools/testRunners/goTest.js.map +1 -0
- package/dist/tools/testRunners/pytest.d.ts +2 -0
- package/dist/tools/testRunners/pytest.js +133 -0
- package/dist/tools/testRunners/pytest.js.map +1 -0
- package/dist/tools/testRunners/types.d.ts +18 -0
- package/dist/tools/testRunners/types.js +2 -0
- package/dist/tools/testRunners/types.js.map +1 -0
- package/dist/tools/testRunners/vitestJest.d.ts +3 -0
- package/dist/tools/testRunners/vitestJest.js +178 -0
- package/dist/tools/testRunners/vitestJest.js.map +1 -0
- package/dist/tools/typeHierarchy.d.ts +45 -0
- package/dist/tools/typeHierarchy.js +65 -0
- package/dist/tools/typeHierarchy.js.map +1 -0
- package/dist/tools/utils.d.ts +54 -0
- package/dist/tools/utils.js +267 -0
- package/dist/tools/utils.js.map +1 -0
- package/dist/tools/vscodeCommands.d.ts +59 -0
- package/dist/tools/vscodeCommands.js +108 -0
- package/dist/tools/vscodeCommands.js.map +1 -0
- package/dist/tools/watchDiagnostics.d.ts +32 -0
- package/dist/tools/watchDiagnostics.js +87 -0
- package/dist/tools/watchDiagnostics.js.map +1 -0
- package/dist/tools/workspaceSettings.d.ts +67 -0
- package/dist/tools/workspaceSettings.js +102 -0
- package/dist/tools/workspaceSettings.js.map +1 -0
- package/dist/tools/workspaceSnapshots.d.ts +174 -0
- package/dist/tools/workspaceSnapshots.js +474 -0
- package/dist/tools/workspaceSnapshots.js.map +1 -0
- package/dist/transport.d.ts +57 -0
- package/dist/transport.js +417 -0
- package/dist/transport.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/dist/wsUtils.d.ts +9 -0
- package/dist/wsUtils.js +54 -0
- package/dist/wsUtils.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { success } from "./utils.js";
|
|
2
|
+
const startTime = Date.now();
|
|
3
|
+
export function createBridgeStatusTool(extensionClient, sessions) {
|
|
4
|
+
return {
|
|
5
|
+
schema: {
|
|
6
|
+
name: "getBridgeStatus",
|
|
7
|
+
description: "Get the current status of the IDE bridge, including extension connection state, " +
|
|
8
|
+
"circuit breaker status, and uptime. Use this to diagnose when tools are " +
|
|
9
|
+
"unavailable or the extension appears disconnected.",
|
|
10
|
+
annotations: { readOnlyHint: true },
|
|
11
|
+
inputSchema: {
|
|
12
|
+
type: "object",
|
|
13
|
+
properties: {},
|
|
14
|
+
additionalProperties: false,
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
handler: async () => {
|
|
18
|
+
const extensionConnected = extensionClient.isConnected();
|
|
19
|
+
const circuitBreaker = extensionClient.getCircuitBreakerState();
|
|
20
|
+
const uptimeMs = Date.now() - startTime;
|
|
21
|
+
return success({
|
|
22
|
+
extensionConnected,
|
|
23
|
+
activeSessions: sessions?.size ?? 1,
|
|
24
|
+
circuitBreaker: {
|
|
25
|
+
suspended: circuitBreaker.suspended,
|
|
26
|
+
consecutiveFailures: circuitBreaker.failures,
|
|
27
|
+
...(circuitBreaker.suspended && {
|
|
28
|
+
resumesInMs: Math.max(0, circuitBreaker.suspendedUntil - Date.now()),
|
|
29
|
+
}),
|
|
30
|
+
},
|
|
31
|
+
uptimeSeconds: Math.round(uptimeMs / 1000),
|
|
32
|
+
hint: extensionConnected
|
|
33
|
+
? "All tools available."
|
|
34
|
+
: "Extension disconnected — extension-dependent tools (LSP, terminal, debugging, etc.) are temporarily unavailable. " +
|
|
35
|
+
"Native tools (file search, git, GitHub) still work. " +
|
|
36
|
+
"The extension will auto-reconnect, or the user can run the 'Claude IDE Bridge: Reconnect' command.",
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=bridgeStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridgeStatus.js","sourceRoot":"","sources":["../../src/tools/bridgeStatus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAE7B,MAAM,UAAU,sBAAsB,CACpC,eAAgC,EAChC,QAA+B;IAE/B,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE,iBAAiB;YACvB,WAAW,EACT,kFAAkF;gBAClF,0EAA0E;gBAC1E,oDAAoD;YACtD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;YACnC,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE,EAAE;gBACd,oBAAoB,EAAE,KAAc;aACrC;SACF;QACD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,kBAAkB,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;YACzD,MAAM,cAAc,GAAG,eAAe,CAAC,sBAAsB,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAExC,OAAO,OAAO,CAAC;gBACb,kBAAkB;gBAClB,cAAc,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC;gBACnC,cAAc,EAAE;oBACd,SAAS,EAAE,cAAc,CAAC,SAAS;oBACnC,mBAAmB,EAAE,cAAc,CAAC,QAAQ;oBAC5C,GAAG,CAAC,cAAc,CAAC,SAAS,IAAI;wBAC9B,WAAW,EAAE,IAAI,CAAC,GAAG,CACnB,CAAC,EACD,cAAc,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAC3C;qBACF,CAAC;iBACH;gBACD,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC1C,IAAI,EAAE,kBAAkB;oBACtB,CAAC,CAAC,sBAAsB;oBACxB,CAAC,CAAC,mHAAmH;wBACnH,sDAAsD;wBACtD,oGAAoG;aACzG,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ExtensionClient } from "../extensionClient.js";
|
|
2
|
+
export declare function createCheckDocumentDirtyTool(workspace: string, extensionClient?: ExtensionClient): {
|
|
3
|
+
schema: {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
annotations: {
|
|
7
|
+
readOnlyHint: boolean;
|
|
8
|
+
};
|
|
9
|
+
inputSchema: {
|
|
10
|
+
$schema: string;
|
|
11
|
+
type: string;
|
|
12
|
+
additionalProperties: boolean;
|
|
13
|
+
required: string[];
|
|
14
|
+
properties: {
|
|
15
|
+
filePath: {
|
|
16
|
+
type: string;
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
handler(args: Record<string, unknown>): Promise<{
|
|
23
|
+
content: Array<{
|
|
24
|
+
type: string;
|
|
25
|
+
text: string;
|
|
26
|
+
}>;
|
|
27
|
+
}>;
|
|
28
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import { requireString, resolveFilePath, success } from "./utils.js";
|
|
3
|
+
export function createCheckDocumentDirtyTool(workspace, extensionClient) {
|
|
4
|
+
return {
|
|
5
|
+
schema: {
|
|
6
|
+
name: "checkDocumentDirty",
|
|
7
|
+
description: "Check if a document has unsaved changes. Uses real-time VS Code buffer state when the extension is connected. Without the extension, returns a heuristic result that may be inaccurate.",
|
|
8
|
+
annotations: { readOnlyHint: true },
|
|
9
|
+
inputSchema: {
|
|
10
|
+
$schema: "http://json-schema.org/draft-07/schema#",
|
|
11
|
+
type: "object",
|
|
12
|
+
additionalProperties: false,
|
|
13
|
+
required: ["filePath"],
|
|
14
|
+
properties: {
|
|
15
|
+
filePath: {
|
|
16
|
+
type: "string",
|
|
17
|
+
description: "Path to the file to check",
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
async handler(args) {
|
|
23
|
+
const rawPath = requireString(args, "filePath");
|
|
24
|
+
const filePath = resolveFilePath(rawPath, workspace);
|
|
25
|
+
// Use extension for real buffer state when available
|
|
26
|
+
if (extensionClient?.isConnected()) {
|
|
27
|
+
const isDirty = await extensionClient.isDirty(filePath);
|
|
28
|
+
if (isDirty !== null) {
|
|
29
|
+
return success({
|
|
30
|
+
success: true,
|
|
31
|
+
filePath,
|
|
32
|
+
isDirty,
|
|
33
|
+
isUntitled: false,
|
|
34
|
+
source: "vscode-buffer",
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
// Fall through if extension returned null (file not open in editor)
|
|
38
|
+
}
|
|
39
|
+
// Fallback: check file exists on disk; buffer state is unknown
|
|
40
|
+
try {
|
|
41
|
+
fs.statSync(filePath);
|
|
42
|
+
return success({
|
|
43
|
+
success: true,
|
|
44
|
+
filePath,
|
|
45
|
+
isDirty: false,
|
|
46
|
+
isUntitled: false,
|
|
47
|
+
unknown: true,
|
|
48
|
+
message: "VS Code extension not connected — isDirty may be inaccurate for files with unsaved editor changes",
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return success({
|
|
53
|
+
success: false,
|
|
54
|
+
filePath,
|
|
55
|
+
message: "File not found",
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=checkDocumentDirty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkDocumentDirty.js","sourceRoot":"","sources":["../../src/tools/checkDocumentDirty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,UAAU,4BAA4B,CAC1C,SAAiB,EACjB,eAAiC;IAEjC,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EACT,yLAAyL;YAC3L,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;YACnC,WAAW,EAAE;gBACX,OAAO,EAAE,yCAAyC;gBAClD,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,QAAQ,EAAE,CAAC,UAAU,CAAC;gBACtB,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,2BAA2B;qBACzC;iBACF;aACF;SACF;QAED,KAAK,CAAC,OAAO,CAAC,IAA6B;YACzC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAErD,qDAAqD;YACrD,IAAI,eAAe,EAAE,WAAW,EAAE,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,OAAO,OAAO,CAAC;wBACb,OAAO,EAAE,IAAI;wBACb,QAAQ;wBACR,OAAO;wBACP,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,eAAe;qBACxB,CAAC,CAAC;gBACL,CAAC;gBACD,oEAAoE;YACtE,CAAC;YAED,+DAA+D;YAC/D,IAAI,CAAC;gBACH,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACtB,OAAO,OAAO,CAAC;oBACb,OAAO,EAAE,IAAI;oBACb,QAAQ;oBACR,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,KAAK;oBACjB,OAAO,EAAE,IAAI;oBACb,OAAO,EACL,mGAAmG;iBACtG,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,OAAO,CAAC;oBACb,OAAO,EAAE,KAAK;oBACd,QAAQ;oBACR,OAAO,EAAE,gBAAgB;iBAC1B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type ExtensionClient } from "../extensionClient.js";
|
|
2
|
+
export declare function createReadClipboardTool(extensionClient: ExtensionClient): {
|
|
3
|
+
schema: {
|
|
4
|
+
name: string;
|
|
5
|
+
extensionRequired: boolean;
|
|
6
|
+
description: string;
|
|
7
|
+
annotations: {
|
|
8
|
+
readOnlyHint: boolean;
|
|
9
|
+
};
|
|
10
|
+
inputSchema: {
|
|
11
|
+
$schema: string;
|
|
12
|
+
type: "object";
|
|
13
|
+
additionalProperties: false;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
handler(): Promise<{
|
|
17
|
+
content: Array<{
|
|
18
|
+
type: string;
|
|
19
|
+
text: string;
|
|
20
|
+
}>;
|
|
21
|
+
}>;
|
|
22
|
+
};
|
|
23
|
+
export declare function createWriteClipboardTool(extensionClient: ExtensionClient): {
|
|
24
|
+
schema: {
|
|
25
|
+
name: string;
|
|
26
|
+
extensionRequired: boolean;
|
|
27
|
+
description: string;
|
|
28
|
+
annotations: {
|
|
29
|
+
idempotentHint: boolean;
|
|
30
|
+
};
|
|
31
|
+
inputSchema: {
|
|
32
|
+
$schema: string;
|
|
33
|
+
type: "object";
|
|
34
|
+
required: string[];
|
|
35
|
+
properties: {
|
|
36
|
+
text: {
|
|
37
|
+
type: "string";
|
|
38
|
+
description: string;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
additionalProperties: false;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
handler(args: Record<string, unknown>): Promise<{
|
|
45
|
+
content: Array<{
|
|
46
|
+
type: string;
|
|
47
|
+
text: string;
|
|
48
|
+
}>;
|
|
49
|
+
}>;
|
|
50
|
+
};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { ExtensionTimeoutError, } from "../extensionClient.js";
|
|
2
|
+
import { error, extensionRequired, success } from "./utils.js";
|
|
3
|
+
export function createReadClipboardTool(extensionClient) {
|
|
4
|
+
return {
|
|
5
|
+
schema: {
|
|
6
|
+
name: "readClipboard",
|
|
7
|
+
extensionRequired: true,
|
|
8
|
+
description: "Read the current contents of the system clipboard. " +
|
|
9
|
+
"Returns up to 100 KB of text. Useful for reading error messages, stack traces, " +
|
|
10
|
+
"or code snippets the user has copied. Requires the VS Code extension.",
|
|
11
|
+
annotations: { readOnlyHint: true },
|
|
12
|
+
inputSchema: {
|
|
13
|
+
$schema: "http://json-schema.org/draft-07/schema#",
|
|
14
|
+
type: "object",
|
|
15
|
+
additionalProperties: false,
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
async handler() {
|
|
19
|
+
if (!extensionClient.isConnected()) {
|
|
20
|
+
return extensionRequired("readClipboard");
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
const result = await extensionClient.readClipboard();
|
|
24
|
+
if (result === null)
|
|
25
|
+
return error("Failed to read clipboard");
|
|
26
|
+
return success(result);
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
if (err instanceof ExtensionTimeoutError) {
|
|
30
|
+
return error("Extension timed out reading clipboard");
|
|
31
|
+
}
|
|
32
|
+
throw err;
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function createWriteClipboardTool(extensionClient) {
|
|
38
|
+
return {
|
|
39
|
+
schema: {
|
|
40
|
+
name: "writeClipboard",
|
|
41
|
+
extensionRequired: true,
|
|
42
|
+
description: "Write text to the system clipboard. " +
|
|
43
|
+
"Useful for placing formatted output, transformed snippets, or summaries " +
|
|
44
|
+
"directly on the clipboard for the user to paste. Max 1 MB. " +
|
|
45
|
+
"Requires the VS Code extension.",
|
|
46
|
+
annotations: { idempotentHint: true },
|
|
47
|
+
inputSchema: {
|
|
48
|
+
$schema: "http://json-schema.org/draft-07/schema#",
|
|
49
|
+
type: "object",
|
|
50
|
+
required: ["text"],
|
|
51
|
+
properties: {
|
|
52
|
+
text: {
|
|
53
|
+
type: "string",
|
|
54
|
+
description: "Text to write to the clipboard",
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
additionalProperties: false,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
async handler(args) {
|
|
61
|
+
if (!extensionClient.isConnected()) {
|
|
62
|
+
return extensionRequired("writeClipboard");
|
|
63
|
+
}
|
|
64
|
+
const text = args.text;
|
|
65
|
+
if (typeof text !== "string")
|
|
66
|
+
return error("text is required");
|
|
67
|
+
try {
|
|
68
|
+
const result = await extensionClient.writeClipboard(text);
|
|
69
|
+
if (result === null)
|
|
70
|
+
return error("Failed to write clipboard");
|
|
71
|
+
return success(result);
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
if (err instanceof ExtensionTimeoutError) {
|
|
75
|
+
return error("Extension timed out writing clipboard");
|
|
76
|
+
}
|
|
77
|
+
throw err;
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=clipboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/tools/clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,UAAU,uBAAuB,CAAC,eAAgC;IACtE,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE,eAAe;YACrB,iBAAiB,EAAE,IAAI;YACvB,WAAW,EACT,qDAAqD;gBACrD,iFAAiF;gBACjF,uEAAuE;YACzE,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;YACnC,WAAW,EAAE;gBACX,OAAO,EAAE,yCAAyC;gBAClD,IAAI,EAAE,QAAiB;gBACvB,oBAAoB,EAAE,KAAc;aACrC;SACF;QACD,KAAK,CAAC,OAAO;YACX,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;gBACnC,OAAO,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC;gBACrD,IAAI,MAAM,KAAK,IAAI;oBAAE,OAAO,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC9D,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;oBACzC,OAAO,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACxD,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,eAAgC;IACvE,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE,gBAAgB;YACtB,iBAAiB,EAAE,IAAI;YACvB,WAAW,EACT,sCAAsC;gBACtC,0EAA0E;gBAC1E,6DAA6D;gBAC7D,iCAAiC;YACnC,WAAW,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;YACrC,WAAW,EAAE;gBACX,OAAO,EAAE,yCAAyC;gBAClD,IAAI,EAAE,QAAiB;gBACvB,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAClB,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAiB;wBACvB,WAAW,EAAE,gCAAgC;qBAC9C;iBACF;gBACD,oBAAoB,EAAE,KAAc;aACrC;SACF;QACD,KAAK,CAAC,OAAO,CAAC,IAA6B;YACzC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;gBACnC,OAAO,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC/D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC1D,IAAI,MAAM,KAAK,IAAI;oBAAE,OAAO,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC/D,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;oBACzC,OAAO,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACxD,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type ExtensionClient } from "../extensionClient.js";
|
|
2
|
+
export declare function createCloseTabTool(workspace?: string, extensionClient?: ExtensionClient): {
|
|
3
|
+
schema: {
|
|
4
|
+
name: string;
|
|
5
|
+
extensionRequired: boolean;
|
|
6
|
+
description: string;
|
|
7
|
+
annotations: {
|
|
8
|
+
destructiveHint: boolean;
|
|
9
|
+
};
|
|
10
|
+
inputSchema: {
|
|
11
|
+
$schema: string;
|
|
12
|
+
type: string;
|
|
13
|
+
additionalProperties: boolean;
|
|
14
|
+
required: string[];
|
|
15
|
+
properties: {
|
|
16
|
+
filePath: {
|
|
17
|
+
type: string;
|
|
18
|
+
description: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
handler(args: Record<string, unknown>): Promise<{
|
|
24
|
+
content: Array<{
|
|
25
|
+
type: string;
|
|
26
|
+
text: string;
|
|
27
|
+
}>;
|
|
28
|
+
}>;
|
|
29
|
+
};
|
|
30
|
+
export declare function createCloseAllDiffTabsTool(): {
|
|
31
|
+
schema: {
|
|
32
|
+
name: string;
|
|
33
|
+
description: string;
|
|
34
|
+
annotations: {
|
|
35
|
+
destructiveHint: boolean;
|
|
36
|
+
};
|
|
37
|
+
inputSchema: {
|
|
38
|
+
$schema: string;
|
|
39
|
+
type: string;
|
|
40
|
+
additionalProperties: boolean;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
handler(): Promise<{
|
|
44
|
+
content: Array<{
|
|
45
|
+
type: string;
|
|
46
|
+
text: string;
|
|
47
|
+
}>;
|
|
48
|
+
}>;
|
|
49
|
+
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ExtensionTimeoutError, } from "../extensionClient.js";
|
|
2
|
+
import { cleanupTempDirs, trackedTempDirCount } from "./openDiff.js";
|
|
3
|
+
import { error, requireString, resolveFilePath, success } from "./utils.js";
|
|
4
|
+
export function createCloseTabTool(workspace, extensionClient) {
|
|
5
|
+
return {
|
|
6
|
+
schema: {
|
|
7
|
+
name: "closeTab",
|
|
8
|
+
extensionRequired: true,
|
|
9
|
+
description: "Close a specific editor tab by file path. Uses VS Code when the extension is connected (prompts to save if dirty). Without the extension, this operation is not available.",
|
|
10
|
+
annotations: { destructiveHint: true },
|
|
11
|
+
inputSchema: {
|
|
12
|
+
$schema: "http://json-schema.org/draft-07/schema#",
|
|
13
|
+
type: "object",
|
|
14
|
+
additionalProperties: false,
|
|
15
|
+
required: ["filePath"],
|
|
16
|
+
properties: {
|
|
17
|
+
filePath: {
|
|
18
|
+
type: "string",
|
|
19
|
+
description: "Path to the file whose tab should be closed (absolute or workspace-relative)",
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
async handler(args) {
|
|
25
|
+
const rawPath = requireString(args, "filePath", 4096);
|
|
26
|
+
const filePath = workspace
|
|
27
|
+
? resolveFilePath(rawPath, workspace)
|
|
28
|
+
: rawPath;
|
|
29
|
+
if (!extensionClient?.isConnected()) {
|
|
30
|
+
return error("closeTab requires the VS Code extension to be connected");
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const result = await extensionClient.closeTab(filePath);
|
|
34
|
+
if (result === true) {
|
|
35
|
+
return success({ success: true, filePath, closed: true });
|
|
36
|
+
}
|
|
37
|
+
if (result !== null && typeof result === "object") {
|
|
38
|
+
const r = result;
|
|
39
|
+
if (r.success === false) {
|
|
40
|
+
return error(r.error ?? "Failed to close tab");
|
|
41
|
+
}
|
|
42
|
+
return success(result);
|
|
43
|
+
}
|
|
44
|
+
return error("Failed to close tab — file may not be open");
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
if (err instanceof ExtensionTimeoutError) {
|
|
48
|
+
return error("Extension timed out while closing tab");
|
|
49
|
+
}
|
|
50
|
+
throw err;
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
export function createCloseAllDiffTabsTool() {
|
|
56
|
+
return {
|
|
57
|
+
schema: {
|
|
58
|
+
name: "closeAllDiffTabs",
|
|
59
|
+
description: "Close all diff tabs in the editor and clean up temporary diff directories",
|
|
60
|
+
annotations: { destructiveHint: true },
|
|
61
|
+
inputSchema: {
|
|
62
|
+
$schema: "http://json-schema.org/draft-07/schema#",
|
|
63
|
+
type: "object",
|
|
64
|
+
additionalProperties: false,
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
async handler() {
|
|
68
|
+
const count = trackedTempDirCount();
|
|
69
|
+
cleanupTempDirs();
|
|
70
|
+
return success({
|
|
71
|
+
success: true,
|
|
72
|
+
message: `${count} diff temp dirs cleaned up`,
|
|
73
|
+
});
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=closeTabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"closeTabs.js","sourceRoot":"","sources":["../../src/tools/closeTabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5E,MAAM,UAAU,kBAAkB,CAChC,SAAkB,EAClB,eAAiC;IAEjC,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE,UAAU;YAChB,iBAAiB,EAAE,IAAI;YACvB,WAAW,EACT,4KAA4K;YAC9K,WAAW,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;YACtC,WAAW,EAAE;gBACX,OAAO,EAAE,yCAAyC;gBAClD,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,QAAQ,EAAE,CAAC,UAAU,CAAC;gBACtB,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,8EAA8E;qBACjF;iBACF;aACF;SACF;QACD,KAAK,CAAC,OAAO,CAAC,IAA6B;YACzC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,SAAS;gBACxB,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC;gBACrC,CAAC,CAAC,OAAO,CAAC;YAEZ,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,EAAE,CAAC;gBACpC,OAAO,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,OAAO,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAClD,MAAM,CAAC,GAAG,MAAiC,CAAC;oBAC5C,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;wBACxB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,CAAC;oBACjD,CAAC;oBACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzB,CAAC;gBACD,OAAO,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;oBACzC,OAAO,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACxD,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT,2EAA2E;YAC7E,WAAW,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;YACtC,WAAW,EAAE;gBACX,OAAO,EAAE,yCAAyC;gBAClD,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,KAAK,CAAC,OAAO;YACX,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAC;YACpC,eAAe,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC;gBACb,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,GAAG,KAAK,4BAA4B;aAC9C,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { type ExtensionClient } from "../extensionClient.js";
|
|
2
|
+
export declare function createGetDebugStateTool(extensionClient: ExtensionClient): {
|
|
3
|
+
schema: {
|
|
4
|
+
name: string;
|
|
5
|
+
extensionRequired: boolean;
|
|
6
|
+
description: string;
|
|
7
|
+
annotations: {
|
|
8
|
+
readOnlyHint: boolean;
|
|
9
|
+
};
|
|
10
|
+
inputSchema: {
|
|
11
|
+
$schema: string;
|
|
12
|
+
type: "object";
|
|
13
|
+
additionalProperties: false;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
handler(): Promise<{
|
|
17
|
+
content: Array<{
|
|
18
|
+
type: string;
|
|
19
|
+
text: string;
|
|
20
|
+
}>;
|
|
21
|
+
}>;
|
|
22
|
+
};
|
|
23
|
+
export declare function createEvaluateInDebuggerTool(extensionClient: ExtensionClient): {
|
|
24
|
+
schema: {
|
|
25
|
+
name: string;
|
|
26
|
+
extensionRequired: boolean;
|
|
27
|
+
description: string;
|
|
28
|
+
annotations: {
|
|
29
|
+
readOnlyHint: boolean;
|
|
30
|
+
};
|
|
31
|
+
inputSchema: {
|
|
32
|
+
$schema: string;
|
|
33
|
+
type: "object";
|
|
34
|
+
required: string[];
|
|
35
|
+
properties: {
|
|
36
|
+
expression: {
|
|
37
|
+
type: "string";
|
|
38
|
+
description: string;
|
|
39
|
+
};
|
|
40
|
+
frameId: {
|
|
41
|
+
type: "integer";
|
|
42
|
+
description: string;
|
|
43
|
+
};
|
|
44
|
+
context: {
|
|
45
|
+
type: "string";
|
|
46
|
+
enum: string[];
|
|
47
|
+
description: string;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
additionalProperties: false;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
timeoutMs: number;
|
|
54
|
+
handler(args: Record<string, unknown>): Promise<{
|
|
55
|
+
content: Array<{
|
|
56
|
+
type: string;
|
|
57
|
+
text: string;
|
|
58
|
+
}>;
|
|
59
|
+
}>;
|
|
60
|
+
};
|
|
61
|
+
export declare function createSetDebugBreakpointsTool(workspace: string, extensionClient: ExtensionClient): {
|
|
62
|
+
schema: {
|
|
63
|
+
name: string;
|
|
64
|
+
extensionRequired: boolean;
|
|
65
|
+
description: string;
|
|
66
|
+
inputSchema: {
|
|
67
|
+
$schema: string;
|
|
68
|
+
type: "object";
|
|
69
|
+
required: string[];
|
|
70
|
+
properties: {
|
|
71
|
+
file: {
|
|
72
|
+
type: "string";
|
|
73
|
+
description: string;
|
|
74
|
+
};
|
|
75
|
+
breakpoints: {
|
|
76
|
+
type: "array";
|
|
77
|
+
description: string;
|
|
78
|
+
items: {
|
|
79
|
+
type: "object";
|
|
80
|
+
required: string[];
|
|
81
|
+
properties: {
|
|
82
|
+
line: {
|
|
83
|
+
type: "integer";
|
|
84
|
+
description: string;
|
|
85
|
+
};
|
|
86
|
+
condition: {
|
|
87
|
+
type: "string";
|
|
88
|
+
description: string;
|
|
89
|
+
};
|
|
90
|
+
logMessage: {
|
|
91
|
+
type: "string";
|
|
92
|
+
description: string;
|
|
93
|
+
};
|
|
94
|
+
hitCondition: {
|
|
95
|
+
type: "string";
|
|
96
|
+
description: string;
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
additionalProperties: false;
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
additionalProperties: false;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
handler(args: Record<string, unknown>): Promise<{
|
|
107
|
+
content: Array<{
|
|
108
|
+
type: string;
|
|
109
|
+
text: string;
|
|
110
|
+
}>;
|
|
111
|
+
}>;
|
|
112
|
+
};
|
|
113
|
+
export declare function createStartDebuggingTool(extensionClient: ExtensionClient): {
|
|
114
|
+
schema: {
|
|
115
|
+
name: string;
|
|
116
|
+
extensionRequired: boolean;
|
|
117
|
+
description: string;
|
|
118
|
+
inputSchema: {
|
|
119
|
+
$schema: string;
|
|
120
|
+
type: "object";
|
|
121
|
+
properties: {
|
|
122
|
+
configName: {
|
|
123
|
+
type: "string";
|
|
124
|
+
description: string;
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
additionalProperties: false;
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
handler(args: Record<string, unknown>): Promise<{
|
|
131
|
+
content: Array<{
|
|
132
|
+
type: string;
|
|
133
|
+
text: string;
|
|
134
|
+
}>;
|
|
135
|
+
}>;
|
|
136
|
+
};
|
|
137
|
+
export declare function createStopDebuggingTool(extensionClient: ExtensionClient): {
|
|
138
|
+
schema: {
|
|
139
|
+
name: string;
|
|
140
|
+
extensionRequired: boolean;
|
|
141
|
+
description: string;
|
|
142
|
+
inputSchema: {
|
|
143
|
+
$schema: string;
|
|
144
|
+
type: "object";
|
|
145
|
+
additionalProperties: false;
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
handler(): Promise<{
|
|
149
|
+
content: Array<{
|
|
150
|
+
type: string;
|
|
151
|
+
text: string;
|
|
152
|
+
}>;
|
|
153
|
+
}>;
|
|
154
|
+
};
|