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