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.
Files changed (173) hide show
  1. package/README.md +11 -6
  2. package/dist/cli/src/commands/gateway.d.ts +2 -0
  3. package/dist/cli/src/commands/gateway.js +29 -0
  4. package/dist/cli/src/commands/gateway.js.map +1 -0
  5. package/dist/cli/src/commands/host.d.ts +4 -0
  6. package/dist/cli/src/commands/host.js +12 -2
  7. package/dist/cli/src/commands/host.js.map +1 -1
  8. package/dist/cli/src/commands/screen.d.ts +10 -0
  9. package/dist/cli/src/commands/screen.js +82 -74
  10. package/dist/cli/src/commands/screen.js.map +1 -1
  11. package/dist/cli/src/commands/setup.d.ts +11 -1
  12. package/dist/cli/src/commands/setup.js +102 -38
  13. package/dist/cli/src/commands/setup.js.map +1 -1
  14. package/dist/cli/src/index.js +28 -338
  15. package/dist/cli/src/index.js.map +1 -1
  16. package/dist/cli/src/utils/daemon.d.ts +0 -7
  17. package/dist/cli/src/utils/daemon.js +1 -18
  18. package/dist/cli/src/utils/daemon.js.map +1 -1
  19. package/dist/cli/tsconfig.tsbuildinfo +1 -1
  20. package/dist/gateway/src/accounts.d.ts +6 -0
  21. package/dist/gateway/src/accounts.js +32 -0
  22. package/dist/gateway/src/accounts.js.map +1 -0
  23. package/dist/gateway/src/index.d.ts +4 -0
  24. package/dist/gateway/src/index.js +5 -0
  25. package/dist/gateway/src/index.js.map +1 -0
  26. package/dist/gateway/src/main.d.ts +1 -0
  27. package/dist/gateway/src/main.js +57 -0
  28. package/dist/gateway/src/main.js.map +1 -0
  29. package/dist/gateway/src/rate-limit.d.ts +22 -0
  30. package/dist/gateway/src/rate-limit.js +66 -0
  31. package/dist/gateway/src/rate-limit.js.map +1 -0
  32. package/dist/gateway/src/relay.d.ts +84 -0
  33. package/dist/gateway/src/relay.js +434 -0
  34. package/dist/gateway/src/relay.js.map +1 -0
  35. package/dist/gateway/src/serve.d.ts +34 -0
  36. package/dist/gateway/src/serve.js +102 -0
  37. package/dist/gateway/src/serve.js.map +1 -0
  38. package/dist/gateway/src/store.d.ts +35 -0
  39. package/dist/gateway/src/store.js +109 -0
  40. package/dist/gateway/src/store.js.map +1 -0
  41. package/dist/gateway/src/subscription.d.ts +18 -0
  42. package/dist/gateway/src/subscription.js +46 -0
  43. package/dist/gateway/src/subscription.js.map +1 -0
  44. package/dist/host/src/drivers/claude/transcript.d.ts +23 -23
  45. package/dist/host/src/fs.d.ts +3 -3
  46. package/dist/host/src/input.d.ts +112 -27
  47. package/dist/host/src/input.js +214 -144
  48. package/dist/host/src/input.js.map +1 -1
  49. package/dist/host/src/rpc/server.js +1 -1
  50. package/dist/host/src/rpc/server.js.map +1 -1
  51. package/dist/host/src/screen-pacer.d.ts +25 -11
  52. package/dist/host/src/screen-pacer.js +28 -6
  53. package/dist/host/src/screen-pacer.js.map +1 -1
  54. package/dist/host/src/screen-viewer.d.ts +5 -0
  55. package/dist/host/src/screen-viewer.js +1231 -55
  56. package/dist/host/src/screen-viewer.js.map +1 -1
  57. package/dist/host/src/screen.d.ts +19 -10
  58. package/dist/host/src/screen.js +314 -108
  59. package/dist/host/src/screen.js.map +1 -1
  60. package/dist/host/src/terminals.d.ts +1 -1
  61. package/dist/host/src/terminals.js +1 -0
  62. package/dist/host/src/terminals.js.map +1 -1
  63. package/dist/wire/src/model.d.ts +6 -6
  64. package/dist/wire/src/relay.d.ts +8 -8
  65. package/dist/wire/src/rpc.d.ts +818 -818
  66. package/dist/wire/src/updates.d.ts +18 -18
  67. package/package.json +6 -15
  68. package/src/commands/gateway.ts +31 -0
  69. package/src/commands/host.ts +15 -2
  70. package/src/commands/screen.ts +78 -72
  71. package/src/commands/setup.ts +102 -60
  72. package/src/index.ts +29 -433
  73. package/src/utils/daemon.ts +2 -27
  74. package/dist/cli/src/config.d.ts +0 -14
  75. package/dist/cli/src/config.js +0 -23
  76. package/dist/cli/src/config.js.map +0 -1
  77. package/dist/cli/src/machine-id.d.ts +0 -6
  78. package/dist/cli/src/machine-id.js +0 -50
  79. package/dist/cli/src/machine-id.js.map +0 -1
  80. package/dist/cli/src/providers.d.ts +0 -13
  81. package/dist/cli/src/providers.js +0 -77
  82. package/dist/cli/src/providers.js.map +0 -1
  83. package/dist/cli/src/runtime/acp/acp-client.d.ts +0 -128
  84. package/dist/cli/src/runtime/acp/acp-client.js +0 -430
  85. package/dist/cli/src/runtime/acp/acp-client.js.map +0 -1
  86. package/dist/cli/src/runtime/acp/agent-process-discovery.d.ts +0 -48
  87. package/dist/cli/src/runtime/acp/agent-process-discovery.js +0 -278
  88. package/dist/cli/src/runtime/acp/agent-process-discovery.js.map +0 -1
  89. package/dist/cli/src/runtime/acp/agent-session.d.ts +0 -62
  90. package/dist/cli/src/runtime/acp/agent-session.js +0 -1081
  91. package/dist/cli/src/runtime/acp/agent-session.js.map +0 -1
  92. package/dist/cli/src/runtime/acp/agent-workspace.d.ts +0 -311
  93. package/dist/cli/src/runtime/acp/agent-workspace.js +0 -6083
  94. package/dist/cli/src/runtime/acp/agent-workspace.js.map +0 -1
  95. package/dist/cli/src/runtime/acp/claude-sdk-client.d.ts +0 -121
  96. package/dist/cli/src/runtime/acp/claude-sdk-client.js +0 -1147
  97. package/dist/cli/src/runtime/acp/claude-sdk-client.js.map +0 -1
  98. package/dist/cli/src/runtime/acp/claude-stream-json-client.d.ts +0 -53
  99. package/dist/cli/src/runtime/acp/claude-stream-json-client.js +0 -552
  100. package/dist/cli/src/runtime/acp/claude-stream-json-client.js.map +0 -1
  101. package/dist/cli/src/runtime/acp/json-rpc.d.ts +0 -22
  102. package/dist/cli/src/runtime/acp/json-rpc.js +0 -160
  103. package/dist/cli/src/runtime/acp/json-rpc.js.map +0 -1
  104. package/dist/cli/src/runtime/acp/provider-resolver.d.ts +0 -16
  105. package/dist/cli/src/runtime/acp/provider-resolver.js +0 -132
  106. package/dist/cli/src/runtime/acp/provider-resolver.js.map +0 -1
  107. package/dist/cli/src/runtime/bridge-session.d.ts +0 -97
  108. package/dist/cli/src/runtime/bridge-session.js +0 -1364
  109. package/dist/cli/src/runtime/bridge-session.js.map +0 -1
  110. package/dist/cli/src/runtime/hook-command.d.ts +0 -9
  111. package/dist/cli/src/runtime/hook-command.js +0 -80
  112. package/dist/cli/src/runtime/hook-command.js.map +0 -1
  113. package/dist/cli/src/runtime/screen-fallback.d.ts +0 -22
  114. package/dist/cli/src/runtime/screen-fallback.js +0 -202
  115. package/dist/cli/src/runtime/screen-fallback.js.map +0 -1
  116. package/dist/cli/src/runtime/screen-share.d.ts +0 -34
  117. package/dist/cli/src/runtime/screen-share.js +0 -376
  118. package/dist/cli/src/runtime/screen-share.js.map +0 -1
  119. package/dist/cli/src/runtime/scrollback.d.ts +0 -11
  120. package/dist/cli/src/runtime/scrollback.js +0 -33
  121. package/dist/cli/src/runtime/scrollback.js.map +0 -1
  122. package/dist/cli/src/runtime/usage-report.d.ts +0 -34
  123. package/dist/cli/src/runtime/usage-report.js +0 -332
  124. package/dist/cli/src/runtime/usage-report.js.map +0 -1
  125. package/dist/cli/src/utils/keep-awake.d.ts +0 -6
  126. package/dist/cli/src/utils/keep-awake.js +0 -48
  127. package/dist/cli/src/utils/keep-awake.js.map +0 -1
  128. package/dist/cli/src/utils/lan-ip.d.ts +0 -9
  129. package/dist/cli/src/utils/lan-ip.js +0 -61
  130. package/dist/cli/src/utils/lan-ip.js.map +0 -1
  131. package/dist/host/src/input-helper.d.ts +0 -1
  132. package/dist/host/src/input-helper.js +0 -564
  133. package/dist/host/src/input-helper.js.map +0 -1
  134. package/dist/shared-protocol/src/index.d.ts +0 -17029
  135. package/dist/shared-protocol/src/index.js +0 -1064
  136. package/dist/shared-protocol/src/index.js.map +0 -1
  137. package/scripts/copy-web.mjs +0 -34
  138. package/src/config.ts +0 -36
  139. package/src/machine-id.ts +0 -61
  140. package/src/providers.ts +0 -97
  141. package/src/runtime/acp/acp-client.ts +0 -521
  142. package/src/runtime/acp/agent-process-discovery.ts +0 -308
  143. package/src/runtime/acp/agent-session.ts +0 -1186
  144. package/src/runtime/acp/agent-workspace.ts +0 -6590
  145. package/src/runtime/acp/claude-sdk-client.ts +0 -1221
  146. package/src/runtime/acp/claude-stream-json-client.ts +0 -633
  147. package/src/runtime/acp/json-rpc.ts +0 -184
  148. package/src/runtime/acp/provider-resolver.ts +0 -154
  149. package/src/runtime/bridge-session.ts +0 -1549
  150. package/src/runtime/hook-command.ts +0 -73
  151. package/src/runtime/screen-fallback.ts +0 -235
  152. package/src/runtime/screen-share.ts +0 -426
  153. package/src/runtime/scrollback.ts +0 -43
  154. package/src/runtime/usage-report.ts +0 -342
  155. package/src/utils/keep-awake.ts +0 -61
  156. package/src/utils/lan-ip.ts +0 -61
  157. package/web/assets/FileBrowser-wOAfY-xj.js +0 -2
  158. package/web/assets/PortPreview-Cbvv7yzA.js +0 -2
  159. package/web/assets/TerminalPanel-CTSklkct.js +0 -1
  160. package/web/assets/UsageDashboard-CJ1AsNmd.js +0 -1
  161. package/web/assets/index-BsnDaeCt.css +0 -33
  162. package/web/assets/index-q85psYZ5.js +0 -36
  163. package/web/assets/vendor-highlight-NXWAAyIv.js +0 -5
  164. package/web/assets/vendor-react-M7xG3qiw.js +0 -49
  165. package/web/assets/vendor-xterm-D15THcI4.js +0 -9
  166. package/web/index.html +0 -37
  167. package/web/logos/claude.png +0 -0
  168. package/web/logos/codex.png +0 -0
  169. package/web/logos/copilot.png +0 -0
  170. package/web/logos/gemini.png +0 -0
  171. package/web/logos/linkshell-1024.png +0 -0
  172. package/web/logos/linkshell-splash.png +0 -0
  173. 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 {};