linkshell-cli 0.8.2 → 0.10.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 +11 -6
- package/dist/cli/src/commands/gateway.d.ts +2 -0
- package/dist/cli/src/commands/gateway.js +29 -0
- package/dist/cli/src/commands/gateway.js.map +1 -0
- package/dist/cli/src/commands/host.d.ts +4 -0
- package/dist/cli/src/commands/host.js +12 -2
- package/dist/cli/src/commands/host.js.map +1 -1
- package/dist/cli/src/commands/screen.d.ts +10 -0
- package/dist/cli/src/commands/screen.js +82 -74
- package/dist/cli/src/commands/screen.js.map +1 -1
- package/dist/cli/src/commands/setup.d.ts +11 -1
- package/dist/cli/src/commands/setup.js +102 -38
- package/dist/cli/src/commands/setup.js.map +1 -1
- package/dist/cli/src/index.js +28 -338
- package/dist/cli/src/index.js.map +1 -1
- package/dist/cli/src/utils/daemon.d.ts +0 -7
- package/dist/cli/src/utils/daemon.js +1 -18
- package/dist/cli/src/utils/daemon.js.map +1 -1
- package/dist/cli/tsconfig.tsbuildinfo +1 -1
- package/dist/gateway/src/accounts.d.ts +6 -0
- package/dist/gateway/src/accounts.js +32 -0
- package/dist/gateway/src/accounts.js.map +1 -0
- package/dist/gateway/src/index.d.ts +4 -0
- package/dist/gateway/src/index.js +5 -0
- package/dist/gateway/src/index.js.map +1 -0
- package/dist/gateway/src/main.d.ts +1 -0
- package/dist/gateway/src/main.js +57 -0
- package/dist/gateway/src/main.js.map +1 -0
- package/dist/gateway/src/rate-limit.d.ts +22 -0
- package/dist/gateway/src/rate-limit.js +66 -0
- package/dist/gateway/src/rate-limit.js.map +1 -0
- package/dist/gateway/src/relay.d.ts +84 -0
- package/dist/gateway/src/relay.js +434 -0
- package/dist/gateway/src/relay.js.map +1 -0
- package/dist/gateway/src/serve.d.ts +34 -0
- package/dist/gateway/src/serve.js +102 -0
- package/dist/gateway/src/serve.js.map +1 -0
- package/dist/gateway/src/store.d.ts +35 -0
- package/dist/gateway/src/store.js +109 -0
- package/dist/gateway/src/store.js.map +1 -0
- package/dist/gateway/src/subscription.d.ts +18 -0
- package/dist/gateway/src/subscription.js +46 -0
- package/dist/gateway/src/subscription.js.map +1 -0
- package/dist/host/src/drivers/claude/transcript.d.ts +23 -23
- package/dist/host/src/fs.d.ts +3 -3
- package/dist/host/src/input.d.ts +112 -27
- package/dist/host/src/input.js +214 -144
- package/dist/host/src/input.js.map +1 -1
- package/dist/host/src/rpc/server.js +1 -1
- package/dist/host/src/rpc/server.js.map +1 -1
- package/dist/host/src/screen-pacer.d.ts +25 -11
- package/dist/host/src/screen-pacer.js +28 -6
- package/dist/host/src/screen-pacer.js.map +1 -1
- package/dist/host/src/screen-viewer.d.ts +5 -0
- package/dist/host/src/screen-viewer.js +1231 -55
- package/dist/host/src/screen-viewer.js.map +1 -1
- package/dist/host/src/screen.d.ts +19 -10
- package/dist/host/src/screen.js +314 -108
- package/dist/host/src/screen.js.map +1 -1
- package/dist/host/src/terminals.d.ts +1 -1
- package/dist/host/src/terminals.js +1 -0
- package/dist/host/src/terminals.js.map +1 -1
- package/dist/wire/src/model.d.ts +6 -6
- package/dist/wire/src/relay.d.ts +8 -8
- package/dist/wire/src/rpc.d.ts +818 -818
- package/dist/wire/src/updates.d.ts +18 -18
- package/package.json +6 -15
- package/src/commands/gateway.ts +31 -0
- package/src/commands/host.ts +15 -2
- package/src/commands/screen.ts +78 -72
- package/src/commands/setup.ts +102 -60
- package/src/index.ts +29 -433
- package/src/utils/daemon.ts +2 -27
- package/dist/cli/src/config.d.ts +0 -14
- package/dist/cli/src/config.js +0 -23
- package/dist/cli/src/config.js.map +0 -1
- package/dist/cli/src/machine-id.d.ts +0 -6
- package/dist/cli/src/machine-id.js +0 -50
- package/dist/cli/src/machine-id.js.map +0 -1
- package/dist/cli/src/providers.d.ts +0 -13
- package/dist/cli/src/providers.js +0 -77
- package/dist/cli/src/providers.js.map +0 -1
- package/dist/cli/src/runtime/acp/acp-client.d.ts +0 -128
- package/dist/cli/src/runtime/acp/acp-client.js +0 -430
- package/dist/cli/src/runtime/acp/acp-client.js.map +0 -1
- package/dist/cli/src/runtime/acp/agent-process-discovery.d.ts +0 -48
- package/dist/cli/src/runtime/acp/agent-process-discovery.js +0 -278
- package/dist/cli/src/runtime/acp/agent-process-discovery.js.map +0 -1
- package/dist/cli/src/runtime/acp/agent-session.d.ts +0 -62
- package/dist/cli/src/runtime/acp/agent-session.js +0 -1081
- package/dist/cli/src/runtime/acp/agent-session.js.map +0 -1
- package/dist/cli/src/runtime/acp/agent-workspace.d.ts +0 -311
- package/dist/cli/src/runtime/acp/agent-workspace.js +0 -6083
- package/dist/cli/src/runtime/acp/agent-workspace.js.map +0 -1
- package/dist/cli/src/runtime/acp/claude-sdk-client.d.ts +0 -121
- package/dist/cli/src/runtime/acp/claude-sdk-client.js +0 -1147
- package/dist/cli/src/runtime/acp/claude-sdk-client.js.map +0 -1
- package/dist/cli/src/runtime/acp/claude-stream-json-client.d.ts +0 -53
- package/dist/cli/src/runtime/acp/claude-stream-json-client.js +0 -552
- package/dist/cli/src/runtime/acp/claude-stream-json-client.js.map +0 -1
- package/dist/cli/src/runtime/acp/json-rpc.d.ts +0 -22
- package/dist/cli/src/runtime/acp/json-rpc.js +0 -160
- package/dist/cli/src/runtime/acp/json-rpc.js.map +0 -1
- package/dist/cli/src/runtime/acp/provider-resolver.d.ts +0 -16
- package/dist/cli/src/runtime/acp/provider-resolver.js +0 -132
- package/dist/cli/src/runtime/acp/provider-resolver.js.map +0 -1
- package/dist/cli/src/runtime/bridge-session.d.ts +0 -97
- package/dist/cli/src/runtime/bridge-session.js +0 -1364
- package/dist/cli/src/runtime/bridge-session.js.map +0 -1
- package/dist/cli/src/runtime/hook-command.d.ts +0 -9
- package/dist/cli/src/runtime/hook-command.js +0 -80
- package/dist/cli/src/runtime/hook-command.js.map +0 -1
- package/dist/cli/src/runtime/screen-fallback.d.ts +0 -22
- package/dist/cli/src/runtime/screen-fallback.js +0 -202
- package/dist/cli/src/runtime/screen-fallback.js.map +0 -1
- package/dist/cli/src/runtime/screen-share.d.ts +0 -34
- package/dist/cli/src/runtime/screen-share.js +0 -376
- package/dist/cli/src/runtime/screen-share.js.map +0 -1
- package/dist/cli/src/runtime/scrollback.d.ts +0 -11
- package/dist/cli/src/runtime/scrollback.js +0 -33
- package/dist/cli/src/runtime/scrollback.js.map +0 -1
- package/dist/cli/src/runtime/usage-report.d.ts +0 -34
- package/dist/cli/src/runtime/usage-report.js +0 -332
- package/dist/cli/src/runtime/usage-report.js.map +0 -1
- package/dist/cli/src/utils/keep-awake.d.ts +0 -6
- package/dist/cli/src/utils/keep-awake.js +0 -48
- package/dist/cli/src/utils/keep-awake.js.map +0 -1
- package/dist/cli/src/utils/lan-ip.d.ts +0 -9
- package/dist/cli/src/utils/lan-ip.js +0 -61
- package/dist/cli/src/utils/lan-ip.js.map +0 -1
- package/dist/host/src/input-helper.d.ts +0 -1
- package/dist/host/src/input-helper.js +0 -564
- package/dist/host/src/input-helper.js.map +0 -1
- package/dist/shared-protocol/src/index.d.ts +0 -17029
- package/dist/shared-protocol/src/index.js +0 -1064
- package/dist/shared-protocol/src/index.js.map +0 -1
- package/scripts/copy-web.mjs +0 -34
- package/src/config.ts +0 -36
- package/src/machine-id.ts +0 -61
- package/src/providers.ts +0 -97
- package/src/runtime/acp/acp-client.ts +0 -521
- package/src/runtime/acp/agent-process-discovery.ts +0 -308
- package/src/runtime/acp/agent-session.ts +0 -1186
- package/src/runtime/acp/agent-workspace.ts +0 -6590
- package/src/runtime/acp/claude-sdk-client.ts +0 -1221
- package/src/runtime/acp/claude-stream-json-client.ts +0 -633
- package/src/runtime/acp/json-rpc.ts +0 -184
- package/src/runtime/acp/provider-resolver.ts +0 -154
- package/src/runtime/bridge-session.ts +0 -1549
- package/src/runtime/hook-command.ts +0 -73
- package/src/runtime/screen-fallback.ts +0 -235
- package/src/runtime/screen-share.ts +0 -426
- package/src/runtime/scrollback.ts +0 -43
- package/src/runtime/usage-report.ts +0 -342
- package/src/utils/keep-awake.ts +0 -61
- package/src/utils/lan-ip.ts +0 -61
- package/web/assets/FileBrowser-wOAfY-xj.js +0 -2
- package/web/assets/PortPreview-Cbvv7yzA.js +0 -2
- package/web/assets/TerminalPanel-CTSklkct.js +0 -1
- package/web/assets/UsageDashboard-CJ1AsNmd.js +0 -1
- package/web/assets/index-BsnDaeCt.css +0 -33
- package/web/assets/index-q85psYZ5.js +0 -36
- package/web/assets/vendor-highlight-NXWAAyIv.js +0 -5
- package/web/assets/vendor-react-M7xG3qiw.js +0 -49
- package/web/assets/vendor-xterm-D15THcI4.js +0 -9
- package/web/index.html +0 -37
- package/web/logos/claude.png +0 -0
- package/web/logos/codex.png +0 -0
- package/web/logos/copilot.png +0 -0
- package/web/logos/gemini.png +0 -0
- package/web/logos/linkshell-1024.png +0 -0
- package/web/logos/linkshell-splash.png +0 -0
- package/web/logos/linkshell.png +0 -0
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
2
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
|
-
import { homedir, hostname } from "node:os";
|
|
4
|
-
import { join } from "node:path";
|
|
5
|
-
const LINKSHELL_DIR = ".linkshell";
|
|
6
|
-
const MACHINE_FILE = "machine.json";
|
|
7
|
-
function machineFilePath(homeDir = homedir()) {
|
|
8
|
-
return join(homeDir, LINKSHELL_DIR, MACHINE_FILE);
|
|
9
|
-
}
|
|
10
|
-
function parseMachineIdentity(raw) {
|
|
11
|
-
try {
|
|
12
|
-
const parsed = JSON.parse(raw);
|
|
13
|
-
if (typeof parsed.machineId === "string" &&
|
|
14
|
-
parsed.machineId.trim() &&
|
|
15
|
-
typeof parsed.hostname === "string" &&
|
|
16
|
-
parsed.hostname.trim() &&
|
|
17
|
-
typeof parsed.createdAt === "string" &&
|
|
18
|
-
parsed.createdAt.trim()) {
|
|
19
|
-
return {
|
|
20
|
-
machineId: parsed.machineId,
|
|
21
|
-
hostname: parsed.hostname,
|
|
22
|
-
createdAt: parsed.createdAt,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
// Ignore malformed machine files and recreate below.
|
|
28
|
-
}
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
export function loadOrCreateMachineIdentity(homeDir = homedir()) {
|
|
32
|
-
const filePath = machineFilePath(homeDir);
|
|
33
|
-
if (existsSync(filePath)) {
|
|
34
|
-
const existing = parseMachineIdentity(readFileSync(filePath, "utf8"));
|
|
35
|
-
if (existing)
|
|
36
|
-
return existing;
|
|
37
|
-
}
|
|
38
|
-
const identity = {
|
|
39
|
-
machineId: randomUUID(),
|
|
40
|
-
hostname: hostname(),
|
|
41
|
-
createdAt: new Date().toISOString(),
|
|
42
|
-
};
|
|
43
|
-
mkdirSync(join(homeDir, LINKSHELL_DIR), { recursive: true, mode: 0o700 });
|
|
44
|
-
writeFileSync(filePath, `${JSON.stringify(identity, null, 2)}\n`, {
|
|
45
|
-
encoding: "utf8",
|
|
46
|
-
mode: 0o600,
|
|
47
|
-
});
|
|
48
|
-
return identity;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=machine-id.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"machine-id.js","sourceRoot":"","sources":["../../../src/machine-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQjC,MAAM,aAAa,GAAG,YAAY,CAAC;AACnC,MAAM,YAAY,GAAG,cAAc,CAAC;AAEpC,SAAS,eAAe,CAAC,OAAO,GAAG,OAAO,EAAE;IAC1C,OAAO,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA6B,CAAC;QAC3D,IACE,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;YACpC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;YACvB,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YACnC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;YACtB,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;YACpC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EACvB,CAAC;YACD,OAAO;gBACL,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAO,GAAG,OAAO,EAAE;IAC7D,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QACtE,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IAED,MAAM,QAAQ,GAAoB;QAChC,SAAS,EAAE,UAAU,EAAE;QACvB,QAAQ,EAAE,QAAQ,EAAE;QACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IACF,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1E,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAChE,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { TerminalProvider } from "@linkshell/protocol";
|
|
2
|
-
export type ProviderName = TerminalProvider;
|
|
3
|
-
export interface ProviderConfig {
|
|
4
|
-
provider: ProviderName;
|
|
5
|
-
command: string;
|
|
6
|
-
args: string[];
|
|
7
|
-
env: NodeJS.ProcessEnv;
|
|
8
|
-
}
|
|
9
|
-
export declare function resolveProviderConfig(input: {
|
|
10
|
-
provider?: ProviderName;
|
|
11
|
-
command?: string;
|
|
12
|
-
args: string[];
|
|
13
|
-
}): ProviderConfig;
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { accessSync, constants, existsSync } from "node:fs";
|
|
2
|
-
import { delimiter, join } from "node:path";
|
|
3
|
-
function defaultShell() {
|
|
4
|
-
if (process.platform === "win32") {
|
|
5
|
-
return process.env.COMSPEC ?? "cmd.exe";
|
|
6
|
-
}
|
|
7
|
-
return process.env.SHELL ?? "/bin/bash";
|
|
8
|
-
}
|
|
9
|
-
function stripOuterQuotes(value) {
|
|
10
|
-
const trimmed = value.trim();
|
|
11
|
-
if ((trimmed.startsWith("\"") && trimmed.endsWith("\"")) ||
|
|
12
|
-
(trimmed.startsWith("'") && trimmed.endsWith("'"))) {
|
|
13
|
-
return trimmed.slice(1, -1);
|
|
14
|
-
}
|
|
15
|
-
return trimmed;
|
|
16
|
-
}
|
|
17
|
-
function canExecute(path) {
|
|
18
|
-
try {
|
|
19
|
-
accessSync(path, constants.X_OK);
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
return process.platform === "win32" && existsSync(path);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
function executableExtensions(bin) {
|
|
27
|
-
if (process.platform !== "win32")
|
|
28
|
-
return [""];
|
|
29
|
-
if (/\.[^\\/]+$/.test(bin))
|
|
30
|
-
return [""];
|
|
31
|
-
const pathext = process.env.PATHEXT?.split(";").filter(Boolean) ?? [];
|
|
32
|
-
return ["", ...pathext.map((ext) => ext.toLowerCase()), ...pathext.map((ext) => ext.toUpperCase())];
|
|
33
|
-
}
|
|
34
|
-
function commandHasPathSeparator(command) {
|
|
35
|
-
return command.includes("/") || command.includes("\\");
|
|
36
|
-
}
|
|
37
|
-
function which(bin) {
|
|
38
|
-
const command = stripOuterQuotes(bin);
|
|
39
|
-
if (!command)
|
|
40
|
-
return undefined;
|
|
41
|
-
const extensions = executableExtensions(command);
|
|
42
|
-
if (commandHasPathSeparator(command)) {
|
|
43
|
-
for (const extension of extensions) {
|
|
44
|
-
const candidate = `${command}${extension}`;
|
|
45
|
-
if (canExecute(candidate))
|
|
46
|
-
return candidate;
|
|
47
|
-
}
|
|
48
|
-
return undefined;
|
|
49
|
-
}
|
|
50
|
-
const pathEntries = (process.env.PATH ?? "")
|
|
51
|
-
.split(delimiter)
|
|
52
|
-
.filter(Boolean);
|
|
53
|
-
for (const dir of pathEntries) {
|
|
54
|
-
for (const extension of extensions) {
|
|
55
|
-
const candidate = join(dir, `${command}${extension}`);
|
|
56
|
-
if (canExecute(candidate))
|
|
57
|
-
return candidate;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return undefined;
|
|
61
|
-
}
|
|
62
|
-
export function resolveProviderConfig(input) {
|
|
63
|
-
if (input.provider && input.provider !== "custom") {
|
|
64
|
-
process.stderr.write(`[warn] --provider=${input.provider} is no longer supported; falling back to a shell. ` +
|
|
65
|
-
`Launch your CLI manually inside the terminal (e.g. type "${input.provider}").\n`);
|
|
66
|
-
}
|
|
67
|
-
const requested = input.command?.trim();
|
|
68
|
-
const command = requested && requested.length > 0 ? requested : defaultShell();
|
|
69
|
-
const resolved = which(command) ?? command;
|
|
70
|
-
return {
|
|
71
|
-
provider: "custom",
|
|
72
|
-
command: resolved,
|
|
73
|
-
args: input.args,
|
|
74
|
-
env: { ...process.env },
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=providers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import type { AgentFraming, AgentProtocol } from "./provider-resolver.js";
|
|
2
|
-
type AgentPermissionMode = "read_only" | "workspace_write" | "full_access";
|
|
3
|
-
type AgentCollaborationMode = "default" | "plan";
|
|
4
|
-
export interface AdvertisedAcpCapabilities {
|
|
5
|
-
protocolVersion?: number;
|
|
6
|
-
loadSession: boolean;
|
|
7
|
-
listSession: boolean;
|
|
8
|
-
forkSession: boolean;
|
|
9
|
-
setModel: boolean;
|
|
10
|
-
cancel: boolean;
|
|
11
|
-
images: boolean;
|
|
12
|
-
audio: boolean;
|
|
13
|
-
embeddedContext: boolean;
|
|
14
|
-
mcp: boolean;
|
|
15
|
-
methods: string[];
|
|
16
|
-
}
|
|
17
|
-
/** Parse ACP `initialize` result. Unadvertised optional methods stay false. */
|
|
18
|
-
export declare function parseAcpInitializeCapabilities(result: unknown): AdvertisedAcpCapabilities;
|
|
19
|
-
export declare class AcpClient {
|
|
20
|
-
private readonly transport;
|
|
21
|
-
private readonly protocol;
|
|
22
|
-
lastInitializeResult: unknown;
|
|
23
|
-
advertised: AdvertisedAcpCapabilities;
|
|
24
|
-
constructor(input: {
|
|
25
|
-
command: string;
|
|
26
|
-
protocol: AgentProtocol;
|
|
27
|
-
framing: AgentFraming;
|
|
28
|
-
cwd: string;
|
|
29
|
-
onNotification: (method: string, params: unknown) => void;
|
|
30
|
-
onRequest: (method: string, params: unknown) => Promise<unknown> | unknown;
|
|
31
|
-
onExit: (message: string) => void;
|
|
32
|
-
});
|
|
33
|
-
initialize(): Promise<unknown>;
|
|
34
|
-
newSession(input: {
|
|
35
|
-
cwd: string;
|
|
36
|
-
mcpServers?: unknown;
|
|
37
|
-
}): Promise<unknown>;
|
|
38
|
-
loadSession(input: {
|
|
39
|
-
sessionId: string;
|
|
40
|
-
cwd: string;
|
|
41
|
-
mcpServers?: unknown;
|
|
42
|
-
}): Promise<unknown>;
|
|
43
|
-
readSession(input: {
|
|
44
|
-
sessionId: string;
|
|
45
|
-
includeTurns?: boolean;
|
|
46
|
-
}): Promise<unknown>;
|
|
47
|
-
listTurns(input: {
|
|
48
|
-
sessionId: string;
|
|
49
|
-
limit?: number;
|
|
50
|
-
cursor?: string;
|
|
51
|
-
sortDirection?: "asc" | "desc";
|
|
52
|
-
itemsView?: "summary" | "full";
|
|
53
|
-
}): Promise<unknown>;
|
|
54
|
-
listSessions(): Promise<unknown>;
|
|
55
|
-
updateThreadSettings(input: {
|
|
56
|
-
sessionId: string;
|
|
57
|
-
model?: string;
|
|
58
|
-
reasoningEffort?: string;
|
|
59
|
-
permissionMode?: AgentPermissionMode;
|
|
60
|
-
collaborationMode?: AgentCollaborationMode;
|
|
61
|
-
cwd?: string;
|
|
62
|
-
}): Promise<unknown>;
|
|
63
|
-
setThreadName(input: {
|
|
64
|
-
sessionId: string;
|
|
65
|
-
name: string;
|
|
66
|
-
}): Promise<unknown>;
|
|
67
|
-
archiveThread(input: {
|
|
68
|
-
sessionId: string;
|
|
69
|
-
}): Promise<unknown>;
|
|
70
|
-
unarchiveThread(input: {
|
|
71
|
-
sessionId: string;
|
|
72
|
-
}): Promise<unknown>;
|
|
73
|
-
deleteThread(input: {
|
|
74
|
-
sessionId: string;
|
|
75
|
-
}): Promise<unknown>;
|
|
76
|
-
forkThread(input: {
|
|
77
|
-
sessionId: string;
|
|
78
|
-
lastTurnId?: string;
|
|
79
|
-
}): Promise<unknown>;
|
|
80
|
-
setSessionModel(input: {
|
|
81
|
-
sessionId: string;
|
|
82
|
-
modelId: string;
|
|
83
|
-
}): Promise<unknown>;
|
|
84
|
-
startReview(input: {
|
|
85
|
-
sessionId: string;
|
|
86
|
-
prompt?: string;
|
|
87
|
-
}): Promise<unknown>;
|
|
88
|
-
listSkills(input: {
|
|
89
|
-
cwd: string;
|
|
90
|
-
}): Promise<unknown>;
|
|
91
|
-
listMcpServers(input?: {
|
|
92
|
-
threadId?: string;
|
|
93
|
-
}): Promise<unknown>;
|
|
94
|
-
startMcpOAuth(input: {
|
|
95
|
-
serverName: string;
|
|
96
|
-
}): Promise<unknown>;
|
|
97
|
-
listModels(): Promise<unknown>;
|
|
98
|
-
prompt(input: {
|
|
99
|
-
sessionId: string;
|
|
100
|
-
content: unknown[];
|
|
101
|
-
clientMessageId: string;
|
|
102
|
-
model?: string;
|
|
103
|
-
reasoningEffort?: string;
|
|
104
|
-
permissionMode?: AgentPermissionMode;
|
|
105
|
-
collaborationMode?: AgentCollaborationMode;
|
|
106
|
-
cwd: string;
|
|
107
|
-
}): Promise<unknown>;
|
|
108
|
-
steer(input: {
|
|
109
|
-
sessionId: string;
|
|
110
|
-
turnId: string;
|
|
111
|
-
content: unknown[];
|
|
112
|
-
}): Promise<unknown>;
|
|
113
|
-
cancel(input: {
|
|
114
|
-
sessionId?: string;
|
|
115
|
-
turnId?: string;
|
|
116
|
-
}): void;
|
|
117
|
-
respondPermission(input: {
|
|
118
|
-
sessionId?: string;
|
|
119
|
-
requestId: string;
|
|
120
|
-
outcome: "allow" | "deny";
|
|
121
|
-
optionId?: string;
|
|
122
|
-
}): void;
|
|
123
|
-
compact(input: {
|
|
124
|
-
sessionId: string;
|
|
125
|
-
}): Promise<unknown>;
|
|
126
|
-
stop(): void;
|
|
127
|
-
}
|
|
128
|
-
export {};
|