linkshell-cli 0.10.75 → 0.10.77

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 (67) hide show
  1. package/dist/cli/src/commands/desktop.d.ts +77 -72
  2. package/dist/cli/tsconfig.tsbuildinfo +1 -1
  3. package/dist/host/src/acp-settings.js +1 -1
  4. package/dist/host/src/acp-settings.js.map +1 -1
  5. package/dist/host/src/computer-preview.d.ts +1 -9
  6. package/dist/host/src/drivers/acp/driver.d.ts +3 -0
  7. package/dist/host/src/drivers/acp/driver.js +10 -3
  8. package/dist/host/src/drivers/acp/driver.js.map +1 -1
  9. package/dist/host/src/drivers/acp/questions.js +2 -2
  10. package/dist/host/src/drivers/acp/questions.js.map +1 -1
  11. package/dist/host/src/drivers/claude/driver.d.ts +10 -0
  12. package/dist/host/src/drivers/claude/driver.js +65 -6
  13. package/dist/host/src/drivers/claude/driver.js.map +1 -1
  14. package/dist/host/src/drivers/claude/holders.d.ts +2 -0
  15. package/dist/host/src/drivers/claude/holders.js +5 -1
  16. package/dist/host/src/drivers/claude/holders.js.map +1 -1
  17. package/dist/host/src/drivers/claude/tasks.d.ts +2 -2
  18. package/dist/host/src/drivers/claude/transcript.d.ts +399 -344
  19. package/dist/host/src/drivers/claude/transcript.js +83 -11
  20. package/dist/host/src/drivers/claude/transcript.js.map +1 -1
  21. package/dist/host/src/fs.d.ts +9 -9
  22. package/dist/host/src/hub.d.ts +87 -82
  23. package/dist/host/src/hub.js +2 -2
  24. package/dist/host/src/hub.js.map +1 -1
  25. package/dist/host/src/input.d.ts +43 -89
  26. package/dist/host/src/input.js +1 -1
  27. package/dist/host/src/input.js.map +1 -1
  28. package/dist/host/src/screen-session.d.ts +3 -17
  29. package/dist/host/src/screen-session.js +2 -2
  30. package/dist/host/src/screen-session.js.map +1 -1
  31. package/dist/host/src/store.d.ts +11 -5
  32. package/dist/host/src/store.js +51 -19
  33. package/dist/host/src/store.js.map +1 -1
  34. package/dist/host/src/terminals.d.ts +9 -9
  35. package/dist/wire/src/acp.d.ts +68 -430
  36. package/dist/wire/src/acp.js +5 -5
  37. package/dist/wire/src/acp.js.map +1 -1
  38. package/dist/wire/src/async-questions.d.ts +2 -10
  39. package/dist/wire/src/computer-preview.d.ts +1 -15
  40. package/dist/wire/src/computer-preview.js +1 -1
  41. package/dist/wire/src/computer-preview.js.map +1 -1
  42. package/dist/wire/src/content.d.ts +205 -370
  43. package/dist/wire/src/content.js +4 -4
  44. package/dist/wire/src/content.js.map +1 -1
  45. package/dist/wire/src/editor.d.ts +48 -592
  46. package/dist/wire/src/envelopes.js +13 -1
  47. package/dist/wire/src/envelopes.js.map +1 -1
  48. package/dist/wire/src/goal.d.ts +15 -48
  49. package/dist/wire/src/live-activity.d.ts +83 -212
  50. package/dist/wire/src/live-activity.js +1 -1
  51. package/dist/wire/src/live-activity.js.map +1 -1
  52. package/dist/wire/src/model.d.ts +450 -2305
  53. package/dist/wire/src/relay.d.ts +41 -267
  54. package/dist/wire/src/relay.js +1 -1
  55. package/dist/wire/src/relay.js.map +1 -1
  56. package/dist/wire/src/rpc-mcp.d.ts +21 -136
  57. package/dist/wire/src/rpc-mcp.js +1 -1
  58. package/dist/wire/src/rpc-mcp.js.map +1 -1
  59. package/dist/wire/src/rpc.d.ts +6689 -31361
  60. package/dist/wire/src/rpc.js +5 -5
  61. package/dist/wire/src/rpc.js.map +1 -1
  62. package/dist/wire/src/side.d.ts +13 -61
  63. package/dist/wire/src/updates.d.ts +1728 -6848
  64. package/dist/wire/src/usage.d.ts +17 -195
  65. package/dist/wire/src/watch.d.ts +223 -1141
  66. package/dist/wire/src/workflow.d.ts +46 -139
  67. package/package.json +4 -4
@@ -88,47 +88,53 @@ export declare class SessionHub {
88
88
  pendingInteractions(): {
89
89
  agent: string;
90
90
  request: {
91
+ requestId: string;
92
+ title: string;
91
93
  options: {
92
- kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
93
- name: string;
94
94
  optionId: string;
95
+ name: string;
96
+ kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
95
97
  }[];
96
- title: string;
97
- requestId: string;
98
+ childSessionId?: string | undefined;
98
99
  toolCallId?: string | undefined;
100
+ detail?: string | undefined;
99
101
  tool?: {
100
- kind?: "search" | "delete" | "other" | "read" | "edit" | "move" | "execute" | "think" | "fetch" | "switch_mode" | undefined;
101
102
  title?: string | undefined;
103
+ kind?: "search" | "delete" | "other" | "read" | "edit" | "move" | "execute" | "think" | "fetch" | "switch_mode" | undefined;
104
+ rawInput?: unknown;
102
105
  content?: ({
103
106
  type: "content";
104
107
  content: {
105
108
  type: "text";
106
109
  text: string;
107
- annotations?: import("zod").objectOutputType<{
108
- audience: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodEnum<["user", "assistant"]>, "many">>>, ("user" | "assistant")[] | undefined, ("user" | "assistant")[] | null | undefined>;
109
- priority: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>, number | undefined, number | null | undefined>;
110
- lastModified: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, string | undefined, string | null | undefined>;
111
- }, import("zod").ZodTypeAny, "passthrough"> | undefined;
110
+ annotations?: {
111
+ [x: string]: unknown;
112
+ audience?: ("user" | "assistant")[] | undefined;
113
+ priority?: number | undefined;
114
+ lastModified?: string | undefined;
115
+ } | undefined;
112
116
  _meta?: Record<string, unknown> | undefined;
113
117
  } | {
114
118
  type: "image";
115
119
  mimeType: string;
116
- annotations?: import("zod").objectOutputType<{
117
- audience: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodEnum<["user", "assistant"]>, "many">>>, ("user" | "assistant")[] | undefined, ("user" | "assistant")[] | null | undefined>;
118
- priority: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>, number | undefined, number | null | undefined>;
119
- lastModified: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, string | undefined, string | null | undefined>;
120
- }, import("zod").ZodTypeAny, "passthrough"> | undefined;
120
+ annotations?: {
121
+ [x: string]: unknown;
122
+ audience?: ("user" | "assistant")[] | undefined;
123
+ priority?: number | undefined;
124
+ lastModified?: string | undefined;
125
+ } | undefined;
121
126
  _meta?: Record<string, unknown> | undefined;
122
127
  data?: string | undefined;
123
128
  uri?: string | undefined;
124
129
  } | {
125
130
  type: "audio";
126
131
  mimeType: string;
127
- annotations?: import("zod").objectOutputType<{
128
- audience: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodEnum<["user", "assistant"]>, "many">>>, ("user" | "assistant")[] | undefined, ("user" | "assistant")[] | null | undefined>;
129
- priority: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>, number | undefined, number | null | undefined>;
130
- lastModified: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, string | undefined, string | null | undefined>;
131
- }, import("zod").ZodTypeAny, "passthrough"> | undefined;
132
+ annotations?: {
133
+ [x: string]: unknown;
134
+ audience?: ("user" | "assistant")[] | undefined;
135
+ priority?: number | undefined;
136
+ lastModified?: string | undefined;
137
+ } | undefined;
132
138
  _meta?: Record<string, unknown> | undefined;
133
139
  data?: string | undefined;
134
140
  uri?: string | undefined;
@@ -136,68 +142,66 @@ export declare class SessionHub {
136
142
  type: "resource";
137
143
  resource: {
138
144
  uri: string;
139
- text?: string | undefined;
140
- _meta?: Record<string, unknown> | undefined;
141
145
  mimeType?: string | undefined;
146
+ text?: string | undefined;
142
147
  blob?: string | undefined;
143
148
  assetUri?: string | undefined;
149
+ _meta?: Record<string, unknown> | undefined;
144
150
  };
145
- annotations?: import("zod").objectOutputType<{
146
- audience: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodEnum<["user", "assistant"]>, "many">>>, ("user" | "assistant")[] | undefined, ("user" | "assistant")[] | null | undefined>;
147
- priority: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>, number | undefined, number | null | undefined>;
148
- lastModified: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, string | undefined, string | null | undefined>;
149
- }, import("zod").ZodTypeAny, "passthrough"> | undefined;
151
+ annotations?: {
152
+ [x: string]: unknown;
153
+ audience?: ("user" | "assistant")[] | undefined;
154
+ priority?: number | undefined;
155
+ lastModified?: string | undefined;
156
+ } | undefined;
150
157
  _meta?: Record<string, unknown> | undefined;
151
158
  } | {
152
159
  type: "resource_link";
153
160
  uri: string;
154
161
  name: string;
155
162
  kind?: "file" | "skill" | "agent" | undefined;
156
- annotations?: import("zod").objectOutputType<{
157
- audience: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodEnum<["user", "assistant"]>, "many">>>, ("user" | "assistant")[] | undefined, ("user" | "assistant")[] | null | undefined>;
158
- priority: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>, number | undefined, number | null | undefined>;
159
- lastModified: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, string | undefined, string | null | undefined>;
160
- }, import("zod").ZodTypeAny, "passthrough"> | undefined;
163
+ annotations?: {
164
+ [x: string]: unknown;
165
+ audience?: ("user" | "assistant")[] | undefined;
166
+ priority?: number | undefined;
167
+ lastModified?: string | undefined;
168
+ } | undefined;
161
169
  _meta?: Record<string, unknown> | undefined;
162
- mimeType?: string | undefined;
163
170
  title?: string | undefined;
164
171
  description?: string | undefined;
172
+ mimeType?: string | undefined;
165
173
  size?: number | undefined;
166
174
  };
167
175
  } | {
168
- path: string;
169
176
  type: "diff";
177
+ path: string;
170
178
  newText: string;
171
179
  oldText?: string | null | undefined;
172
180
  } | {
173
- path: string;
174
181
  type: "patch";
175
- diff: string;
182
+ path: string;
176
183
  change: "add" | "delete" | "update";
184
+ diff: string;
177
185
  movePath?: string | undefined;
178
186
  } | {
179
187
  type: "terminal";
180
188
  terminalId: string;
181
189
  })[] | undefined;
182
- rawInput?: unknown;
183
190
  locations?: {
184
191
  path: string;
185
192
  line?: number | undefined;
186
193
  }[] | undefined;
187
194
  } | undefined;
188
- detail?: string | undefined;
195
+ url?: {
196
+ url: string;
197
+ elicitationId: string;
198
+ } | undefined;
189
199
  questions?: {
190
- kind: "text" | "choice" | "choices";
191
- text: string;
192
200
  id: string;
193
- options?: {
194
- value: string;
195
- label: string;
196
- description?: string | undefined;
197
- }[] | undefined;
198
- other?: boolean | undefined;
201
+ text: string;
202
+ kind: "text" | "choice" | "choices";
199
203
  constraints?: {
200
- type: "string" | "number" | "boolean" | "integer" | "array";
204
+ type: "string" | "number" | "boolean" | "array" | "integer";
201
205
  minimum?: number | undefined;
202
206
  maximum?: number | undefined;
203
207
  minLength?: number | undefined;
@@ -209,42 +213,24 @@ export declare class SessionHub {
209
213
  } | undefined;
210
214
  defaults?: string[] | undefined;
211
215
  header?: string | undefined;
216
+ options?: {
217
+ value: string;
218
+ label: string;
219
+ description?: string | undefined;
220
+ }[] | undefined;
221
+ other?: boolean | undefined;
212
222
  secret?: boolean | undefined;
213
223
  required?: boolean | undefined;
214
224
  }[] | undefined;
215
- childSessionId?: string | undefined;
216
- url?: {
217
- url: string;
218
- elicitationId: string;
219
- } | undefined;
220
225
  };
221
226
  }[];
222
227
  editor(input: EditorRequest): Promise<{
228
+ editorId?: string | undefined;
223
229
  path?: string | undefined;
224
230
  text?: string | undefined;
225
231
  version?: number | undefined;
226
- preview?: {
227
- kind: "edit" | "jump" | "searchAndReplace";
228
- path: string;
229
- id: string;
230
- before: string;
231
- after: string;
232
- position?: {
233
- line: number;
234
- character: number;
235
- } | undefined;
236
- } | undefined;
237
- position?: {
238
- line: number;
239
- character: number;
240
- } | undefined;
241
- editorId?: string | undefined;
242
232
  suggestions?: ({
243
- kind: "edit";
244
- uri: string;
245
- id: string;
246
233
  edits: {
247
- newText: string;
248
234
  range: {
249
235
  start: {
250
236
  line: number;
@@ -255,36 +241,55 @@ export declare class SessionHub {
255
241
  character: number;
256
242
  };
257
243
  };
244
+ newText: string;
258
245
  }[];
246
+ id: string;
247
+ uri: string;
248
+ kind: "edit";
259
249
  cursorPosition?: {
260
250
  line: number;
261
251
  character: number;
262
252
  } | null | undefined;
263
253
  } | {
264
- kind: "jump";
265
- uri: string;
266
- id: string;
267
254
  position: {
268
255
  line: number;
269
256
  character: number;
270
257
  };
271
- } | {
272
- kind: "rename";
273
- uri: string;
274
258
  id: string;
259
+ uri: string;
260
+ kind: "jump";
261
+ } | {
275
262
  position: {
276
263
  line: number;
277
264
  character: number;
278
265
  };
279
266
  newName: string;
267
+ id: string;
268
+ uri: string;
269
+ kind: "rename";
280
270
  } | {
281
- replace: string;
282
271
  search: string;
283
- kind: "searchAndReplace";
284
- uri: string;
272
+ replace: string;
285
273
  id: string;
274
+ uri: string;
275
+ kind: "searchAndReplace";
286
276
  isRegex?: boolean | null | undefined;
287
277
  })[] | undefined;
278
+ preview?: {
279
+ id: string;
280
+ path: string;
281
+ before: string;
282
+ after: string;
283
+ kind: "edit" | "jump" | "searchAndReplace";
284
+ position?: {
285
+ line: number;
286
+ character: number;
287
+ } | undefined;
288
+ } | undefined;
289
+ position?: {
290
+ line: number;
291
+ character: number;
292
+ } | undefined;
288
293
  }>;
289
294
  configureAcp(agent: string, settings: AcpAgentSettings, sessionId?: string): Promise<void>;
290
295
  authenticate(agent: string, methodId?: string, logout?: boolean): Promise<{
@@ -300,9 +305,9 @@ export declare class SessionHub {
300
305
  baseUrl?: string;
301
306
  headers?: Record<string, string>;
302
307
  }): Promise<{
303
- required: boolean;
304
308
  providerId: string;
305
309
  supported: string[];
310
+ required: boolean;
306
311
  current?: {
307
312
  apiType: string;
308
313
  baseUrl: string;
@@ -725,7 +725,7 @@ export class SessionHub {
725
725
  */
726
726
  async forkByReplay(summary, driver, cwd, cut) {
727
727
  const start = this.store.pageStart(summary.id, cut);
728
- const events = this.store.readEvents(summary.id, start, PAGE.maxEvents + 1, cut).filter((event) => isConversation(event.update));
728
+ const events = this.store.readEvents(summary.id, start, cut - start, cut).filter((event) => isConversation(event.update));
729
729
  const discovered = await driver.createSession({ cwd });
730
730
  this.recordDiscovered(driver.id, { ...discovered, title: discovered.title ?? summary.title, forkedFrom: summary.nativeId });
731
731
  const forkId = sessionIdFor(driver.id, discovered.nativeId);
@@ -903,7 +903,7 @@ export class SessionHub {
903
903
  if (upTo < 1)
904
904
  return { events: [], startSeq: 0 };
905
905
  const startSeq = this.store.pageStart(sessionId, upTo);
906
- return { events: this.store.readEvents(sessionId, startSeq, PAGE.maxEvents + 1, upTo).filter((event) => !this.store.isHistoryLoadEvent(event)), startSeq };
906
+ return { events: this.store.readEvents(sessionId, startSeq, upTo - startSeq, upTo).filter((event) => !this.store.isHistoryLoadEvent(event)), startSeq };
907
907
  }
908
908
  tasks(sessionId) {
909
909
  if (!this.store.getSession(sessionId))