linkshell-cli 0.9.0 → 0.10.1

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 (168) 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 +2 -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/setup.js +4 -2
  9. package/dist/cli/src/commands/setup.js.map +1 -1
  10. package/dist/cli/src/index.js +12 -334
  11. package/dist/cli/src/index.js.map +1 -1
  12. package/dist/cli/src/utils/daemon.d.ts +0 -7
  13. package/dist/cli/src/utils/daemon.js +1 -18
  14. package/dist/cli/src/utils/daemon.js.map +1 -1
  15. package/dist/cli/tsconfig.tsbuildinfo +1 -1
  16. package/dist/gateway/src/accounts.d.ts +6 -0
  17. package/dist/gateway/src/accounts.js +32 -0
  18. package/dist/gateway/src/accounts.js.map +1 -0
  19. package/dist/gateway/src/index.d.ts +4 -0
  20. package/dist/gateway/src/index.js +5 -0
  21. package/dist/gateway/src/index.js.map +1 -0
  22. package/dist/gateway/src/main.d.ts +1 -0
  23. package/dist/gateway/src/main.js +57 -0
  24. package/dist/gateway/src/main.js.map +1 -0
  25. package/dist/gateway/src/rate-limit.d.ts +22 -0
  26. package/dist/gateway/src/rate-limit.js +66 -0
  27. package/dist/gateway/src/rate-limit.js.map +1 -0
  28. package/dist/gateway/src/relay.d.ts +84 -0
  29. package/dist/gateway/src/relay.js +434 -0
  30. package/dist/gateway/src/relay.js.map +1 -0
  31. package/dist/gateway/src/serve.d.ts +34 -0
  32. package/dist/gateway/src/serve.js +102 -0
  33. package/dist/gateway/src/serve.js.map +1 -0
  34. package/dist/gateway/src/store.d.ts +35 -0
  35. package/dist/gateway/src/store.js +109 -0
  36. package/dist/gateway/src/store.js.map +1 -0
  37. package/dist/gateway/src/subscription.d.ts +18 -0
  38. package/dist/gateway/src/subscription.js +46 -0
  39. package/dist/gateway/src/subscription.js.map +1 -0
  40. package/dist/host/src/drivers/claude/transcript.d.ts +23 -23
  41. package/dist/host/src/drivers/codex/app-server.d.ts +31 -6
  42. package/dist/host/src/drivers/codex/app-server.js +99 -24
  43. package/dist/host/src/drivers/codex/app-server.js.map +1 -1
  44. package/dist/host/src/drivers/codex/desktop-ipc.d.ts +8 -0
  45. package/dist/host/src/drivers/codex/desktop-ipc.js +124 -0
  46. package/dist/host/src/drivers/codex/desktop-ipc.js.map +1 -0
  47. package/dist/host/src/drivers/codex/driver.d.ts +111 -2
  48. package/dist/host/src/drivers/codex/driver.js +629 -63
  49. package/dist/host/src/drivers/codex/driver.js.map +1 -1
  50. package/dist/host/src/drivers/codex/mapper.d.ts +21 -0
  51. package/dist/host/src/drivers/codex/mapper.js +45 -6
  52. package/dist/host/src/drivers/codex/mapper.js.map +1 -1
  53. package/dist/host/src/drivers/types.d.ts +6 -0
  54. package/dist/host/src/fs.d.ts +3 -3
  55. package/dist/host/src/hub.js +8 -1
  56. package/dist/host/src/hub.js.map +1 -1
  57. package/dist/host/src/input.d.ts +4 -4
  58. package/dist/host/src/terminals.d.ts +1 -1
  59. package/dist/wire/src/model.d.ts +6 -6
  60. package/dist/wire/src/relay.d.ts +8 -8
  61. package/dist/wire/src/rpc.d.ts +818 -818
  62. package/dist/wire/src/updates.d.ts +18 -18
  63. package/package.json +5 -14
  64. package/src/commands/gateway.ts +31 -0
  65. package/src/commands/host.ts +13 -2
  66. package/src/commands/setup.ts +4 -2
  67. package/src/index.ts +14 -429
  68. package/src/utils/daemon.ts +2 -27
  69. package/dist/cli/src/config.d.ts +0 -14
  70. package/dist/cli/src/config.js +0 -23
  71. package/dist/cli/src/config.js.map +0 -1
  72. package/dist/cli/src/machine-id.d.ts +0 -6
  73. package/dist/cli/src/machine-id.js +0 -50
  74. package/dist/cli/src/machine-id.js.map +0 -1
  75. package/dist/cli/src/providers.d.ts +0 -13
  76. package/dist/cli/src/providers.js +0 -77
  77. package/dist/cli/src/providers.js.map +0 -1
  78. package/dist/cli/src/runtime/acp/acp-client.d.ts +0 -128
  79. package/dist/cli/src/runtime/acp/acp-client.js +0 -430
  80. package/dist/cli/src/runtime/acp/acp-client.js.map +0 -1
  81. package/dist/cli/src/runtime/acp/agent-process-discovery.d.ts +0 -48
  82. package/dist/cli/src/runtime/acp/agent-process-discovery.js +0 -278
  83. package/dist/cli/src/runtime/acp/agent-process-discovery.js.map +0 -1
  84. package/dist/cli/src/runtime/acp/agent-session.d.ts +0 -62
  85. package/dist/cli/src/runtime/acp/agent-session.js +0 -1081
  86. package/dist/cli/src/runtime/acp/agent-session.js.map +0 -1
  87. package/dist/cli/src/runtime/acp/agent-workspace.d.ts +0 -311
  88. package/dist/cli/src/runtime/acp/agent-workspace.js +0 -6083
  89. package/dist/cli/src/runtime/acp/agent-workspace.js.map +0 -1
  90. package/dist/cli/src/runtime/acp/claude-sdk-client.d.ts +0 -121
  91. package/dist/cli/src/runtime/acp/claude-sdk-client.js +0 -1147
  92. package/dist/cli/src/runtime/acp/claude-sdk-client.js.map +0 -1
  93. package/dist/cli/src/runtime/acp/claude-stream-json-client.d.ts +0 -53
  94. package/dist/cli/src/runtime/acp/claude-stream-json-client.js +0 -552
  95. package/dist/cli/src/runtime/acp/claude-stream-json-client.js.map +0 -1
  96. package/dist/cli/src/runtime/acp/json-rpc.d.ts +0 -22
  97. package/dist/cli/src/runtime/acp/json-rpc.js +0 -160
  98. package/dist/cli/src/runtime/acp/json-rpc.js.map +0 -1
  99. package/dist/cli/src/runtime/acp/provider-resolver.d.ts +0 -16
  100. package/dist/cli/src/runtime/acp/provider-resolver.js +0 -132
  101. package/dist/cli/src/runtime/acp/provider-resolver.js.map +0 -1
  102. package/dist/cli/src/runtime/bridge-session.d.ts +0 -97
  103. package/dist/cli/src/runtime/bridge-session.js +0 -1364
  104. package/dist/cli/src/runtime/bridge-session.js.map +0 -1
  105. package/dist/cli/src/runtime/hook-command.d.ts +0 -9
  106. package/dist/cli/src/runtime/hook-command.js +0 -80
  107. package/dist/cli/src/runtime/hook-command.js.map +0 -1
  108. package/dist/cli/src/runtime/screen-fallback.d.ts +0 -22
  109. package/dist/cli/src/runtime/screen-fallback.js +0 -202
  110. package/dist/cli/src/runtime/screen-fallback.js.map +0 -1
  111. package/dist/cli/src/runtime/screen-share.d.ts +0 -34
  112. package/dist/cli/src/runtime/screen-share.js +0 -376
  113. package/dist/cli/src/runtime/screen-share.js.map +0 -1
  114. package/dist/cli/src/runtime/scrollback.d.ts +0 -11
  115. package/dist/cli/src/runtime/scrollback.js +0 -33
  116. package/dist/cli/src/runtime/scrollback.js.map +0 -1
  117. package/dist/cli/src/runtime/usage-report.d.ts +0 -34
  118. package/dist/cli/src/runtime/usage-report.js +0 -332
  119. package/dist/cli/src/runtime/usage-report.js.map +0 -1
  120. package/dist/cli/src/utils/keep-awake.d.ts +0 -6
  121. package/dist/cli/src/utils/keep-awake.js +0 -48
  122. package/dist/cli/src/utils/keep-awake.js.map +0 -1
  123. package/dist/cli/src/utils/lan-ip.d.ts +0 -9
  124. package/dist/cli/src/utils/lan-ip.js +0 -61
  125. package/dist/cli/src/utils/lan-ip.js.map +0 -1
  126. package/dist/host/src/input-helper.d.ts +0 -1
  127. package/dist/host/src/input-helper.js +0 -564
  128. package/dist/host/src/input-helper.js.map +0 -1
  129. package/dist/shared-protocol/src/index.d.ts +0 -17029
  130. package/dist/shared-protocol/src/index.js +0 -1064
  131. package/dist/shared-protocol/src/index.js.map +0 -1
  132. package/scripts/copy-web.mjs +0 -34
  133. package/src/config.ts +0 -36
  134. package/src/machine-id.ts +0 -61
  135. package/src/providers.ts +0 -97
  136. package/src/runtime/acp/acp-client.ts +0 -521
  137. package/src/runtime/acp/agent-process-discovery.ts +0 -308
  138. package/src/runtime/acp/agent-session.ts +0 -1186
  139. package/src/runtime/acp/agent-workspace.ts +0 -6590
  140. package/src/runtime/acp/claude-sdk-client.ts +0 -1221
  141. package/src/runtime/acp/claude-stream-json-client.ts +0 -633
  142. package/src/runtime/acp/json-rpc.ts +0 -184
  143. package/src/runtime/acp/provider-resolver.ts +0 -154
  144. package/src/runtime/bridge-session.ts +0 -1549
  145. package/src/runtime/hook-command.ts +0 -73
  146. package/src/runtime/screen-fallback.ts +0 -235
  147. package/src/runtime/screen-share.ts +0 -426
  148. package/src/runtime/scrollback.ts +0 -43
  149. package/src/runtime/usage-report.ts +0 -342
  150. package/src/utils/keep-awake.ts +0 -61
  151. package/src/utils/lan-ip.ts +0 -61
  152. package/web/assets/FileBrowser-wOAfY-xj.js +0 -2
  153. package/web/assets/PortPreview-Cbvv7yzA.js +0 -2
  154. package/web/assets/TerminalPanel-CTSklkct.js +0 -1
  155. package/web/assets/UsageDashboard-CJ1AsNmd.js +0 -1
  156. package/web/assets/index-BsnDaeCt.css +0 -33
  157. package/web/assets/index-q85psYZ5.js +0 -36
  158. package/web/assets/vendor-highlight-NXWAAyIv.js +0 -5
  159. package/web/assets/vendor-react-M7xG3qiw.js +0 -49
  160. package/web/assets/vendor-xterm-D15THcI4.js +0 -9
  161. package/web/index.html +0 -37
  162. package/web/logos/claude.png +0 -0
  163. package/web/logos/codex.png +0 -0
  164. package/web/logos/copilot.png +0 -0
  165. package/web/logos/gemini.png +0 -0
  166. package/web/logos/linkshell-1024.png +0 -0
  167. package/web/logos/linkshell-splash.png +0 -0
  168. package/web/logos/linkshell.png +0 -0
@@ -1,121 +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
- type ClaudePermissionMode = "default" | "dontAsk" | "acceptEdits" | "bypassPermissions" | "plan";
5
- export declare function parseClaudeJsonlSession(input: {
6
- text: string;
7
- cwd: string;
8
- sessionId?: string;
9
- fallbackUpdatedAt?: number;
10
- }): Record<string, unknown>;
11
- export declare function claudePermissionModeFor(input: {
12
- permissionMode?: AgentPermissionMode;
13
- collaborationMode?: AgentCollaborationMode;
14
- }): ClaudePermissionMode;
15
- export declare class ClaudeSdkClient {
16
- private readonly input;
17
- private query;
18
- private startup;
19
- private claudeSessionId;
20
- private abortController;
21
- private permissionWaiters;
22
- private sessionMetaCache;
23
- private parsedTranscriptCache;
24
- private static readonly PARSED_TRANSCRIPT_CACHE_MAX;
25
- /** Read + parse a session transcript through the LRU cache. Returns the
26
- * parseClaudeJsonlSession result (stable for a given (mtime,size)); an
27
- * appended-to or rewritten file re-parses on next access. */
28
- private parsedTranscript;
29
- constructor(input: {
30
- command: string;
31
- protocol: AgentProtocol;
32
- framing: AgentFraming;
33
- cwd: string;
34
- onNotification: (method: string, params: unknown) => void;
35
- onRequest: (method: string, params: unknown) => Promise<unknown> | unknown;
36
- onExit: (message: string) => void;
37
- });
38
- initialize(): Promise<unknown>;
39
- newSession(input: {
40
- cwd: string;
41
- mcpServers?: unknown;
42
- }): Promise<unknown>;
43
- loadSession(input: {
44
- sessionId: string;
45
- cwd: string;
46
- mcpServers?: unknown;
47
- }): Promise<unknown>;
48
- readSession(input: {
49
- sessionId: string;
50
- includeTurns?: boolean;
51
- }): Promise<unknown>;
52
- /** Resolve the on-disk JSONL transcript for a session, preferring the cwd's
53
- * project dir and falling back to a scan of sibling project dirs. */
54
- private resolveSessionFile;
55
- /** Fork a session: copy the source transcript into a NEW session file,
56
- * truncated to include everything up to and including the turn `uptoTurnId`
57
- * (omitted → full clone). Claude has no native fork primitive, so this
58
- * simulates one by writing a fresh <uuid>.jsonl alongside the source. The
59
- * source file is NEVER modified. Turn ids match the per-line uuid/id (or the
60
- * `claude-history-<n>` fallback) that parseClaudeJsonlSession assigns, where
61
- * <n> counts non-empty lines — replicated here so the cut lands exactly on
62
- * the turn the client asked for. Returns the new session id, or undefined if
63
- * the source can't be read or the new file can't be created. */
64
- forkSession(input: {
65
- sourceSessionId: string;
66
- uptoTurnId?: string;
67
- }): {
68
- sessionId: string;
69
- } | undefined;
70
- /** Read a session's last-known settings (permission mode, plan mode) straight
71
- * from its on-disk transcript, so opening a session LinkShell never drove
72
- * shows the config it actually ran with instead of UI defaults. Claude
73
- * records `permissionMode` on user records (not reasoning effort), so effort
74
- * is left undefined. Only called on open (one file), never per-list. */
75
- readSessionConfig(input: {
76
- sessionId: string;
77
- }): Promise<unknown>;
78
- /** Page OLDER transcript turns for scroll-back, mirroring Codex's
79
- * thread/turns/list. The whole transcript lives on disk and is already
80
- * parsed by parseClaudeJsonlSession, so we slice a window of chronological
81
- * turns by an integer end-exclusive cursor.
82
- *
83
- * Cursor = the exclusive upper-bound turn index for the page. No cursor =
84
- * start at the end (total turn count). A page returns turns [lo, hi) where
85
- * lo = max(0, hi - limit); nextCursor = String(lo) while lo > 0, else absent
86
- * (start of history reached). The web client's mergeTimeline dedupes by id
87
- * and re-sorts by createdAt, so any overlap between this page and what the
88
- * client already shows is harmless. */
89
- listTurns(input: {
90
- sessionId: string;
91
- limit?: number;
92
- cursor?: string;
93
- sortDirection?: "asc" | "desc";
94
- itemsView?: "summary" | "full";
95
- }): Promise<unknown>;
96
- prompt(input: {
97
- sessionId?: string;
98
- content: unknown[];
99
- clientMessageId: string;
100
- model?: string;
101
- reasoningEffort?: string;
102
- permissionMode?: AgentPermissionMode;
103
- collaborationMode?: AgentCollaborationMode;
104
- cwd: string;
105
- }): Promise<unknown>;
106
- cancel(input: {
107
- sessionId?: string;
108
- turnId?: string;
109
- }): void;
110
- respondPermission(input: {
111
- sessionId?: string;
112
- requestId: string;
113
- outcome: "allow" | "deny";
114
- optionId?: string;
115
- }): void;
116
- listSessions(): Promise<unknown>;
117
- listModels(): Promise<unknown>;
118
- stop(): void;
119
- private handleSdkMessage;
120
- }
121
- export {};