@linkshell/host 0.4.70 → 0.4.72

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 (66) hide show
  1. package/dist/host/src/acp-settings.js +1 -1
  2. package/dist/host/src/acp-settings.js.map +1 -1
  3. package/dist/host/src/computer-preview.d.ts +1 -9
  4. package/dist/host/src/drivers/acp/driver.d.ts +3 -0
  5. package/dist/host/src/drivers/acp/driver.js +10 -3
  6. package/dist/host/src/drivers/acp/driver.js.map +1 -1
  7. package/dist/host/src/drivers/acp/questions.js +2 -2
  8. package/dist/host/src/drivers/acp/questions.js.map +1 -1
  9. package/dist/host/src/drivers/claude/driver.d.ts +10 -0
  10. package/dist/host/src/drivers/claude/driver.js +65 -6
  11. package/dist/host/src/drivers/claude/driver.js.map +1 -1
  12. package/dist/host/src/drivers/claude/holders.d.ts +2 -0
  13. package/dist/host/src/drivers/claude/holders.js +5 -1
  14. package/dist/host/src/drivers/claude/holders.js.map +1 -1
  15. package/dist/host/src/drivers/claude/tasks.d.ts +3 -3
  16. package/dist/host/src/drivers/claude/transcript.d.ts +403 -348
  17. package/dist/host/src/drivers/claude/transcript.js +83 -11
  18. package/dist/host/src/drivers/claude/transcript.js.map +1 -1
  19. package/dist/host/src/fs.d.ts +9 -9
  20. package/dist/host/src/hub.d.ts +85 -80
  21. package/dist/host/src/hub.js +2 -2
  22. package/dist/host/src/hub.js.map +1 -1
  23. package/dist/host/src/input.d.ts +43 -89
  24. package/dist/host/src/input.js +1 -1
  25. package/dist/host/src/input.js.map +1 -1
  26. package/dist/host/src/screen-session.d.ts +3 -17
  27. package/dist/host/src/screen-session.js +2 -2
  28. package/dist/host/src/screen-session.js.map +1 -1
  29. package/dist/host/src/store.d.ts +11 -5
  30. package/dist/host/src/store.js +51 -19
  31. package/dist/host/src/store.js.map +1 -1
  32. package/dist/host/src/terminals.d.ts +9 -9
  33. package/dist/host/tsconfig.tsbuildinfo +1 -1
  34. package/dist/wire/src/acp.d.ts +68 -430
  35. package/dist/wire/src/acp.js +5 -5
  36. package/dist/wire/src/acp.js.map +1 -1
  37. package/dist/wire/src/async-questions.d.ts +2 -10
  38. package/dist/wire/src/computer-preview.d.ts +1 -15
  39. package/dist/wire/src/computer-preview.js +1 -1
  40. package/dist/wire/src/computer-preview.js.map +1 -1
  41. package/dist/wire/src/content.d.ts +207 -372
  42. package/dist/wire/src/content.js +4 -4
  43. package/dist/wire/src/content.js.map +1 -1
  44. package/dist/wire/src/editor.d.ts +48 -592
  45. package/dist/wire/src/envelopes.js +13 -1
  46. package/dist/wire/src/envelopes.js.map +1 -1
  47. package/dist/wire/src/goal.d.ts +15 -48
  48. package/dist/wire/src/live-activity.d.ts +83 -212
  49. package/dist/wire/src/live-activity.js +1 -1
  50. package/dist/wire/src/live-activity.js.map +1 -1
  51. package/dist/wire/src/model.d.ts +454 -2309
  52. package/dist/wire/src/relay.d.ts +41 -267
  53. package/dist/wire/src/relay.js +1 -1
  54. package/dist/wire/src/relay.js.map +1 -1
  55. package/dist/wire/src/rpc-mcp.d.ts +21 -136
  56. package/dist/wire/src/rpc-mcp.js +1 -1
  57. package/dist/wire/src/rpc-mcp.js.map +1 -1
  58. package/dist/wire/src/rpc.d.ts +6829 -31501
  59. package/dist/wire/src/rpc.js +5 -5
  60. package/dist/wire/src/rpc.js.map +1 -1
  61. package/dist/wire/src/side.d.ts +13 -61
  62. package/dist/wire/src/updates.d.ts +1815 -6935
  63. package/dist/wire/src/usage.d.ts +17 -195
  64. package/dist/wire/src/watch.d.ts +223 -1141
  65. package/dist/wire/src/workflow.d.ts +46 -139
  66. 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: {
94
+ optionId: string;
92
95
  name: string;
93
96
  kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
94
- optionId: string;
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
102
  title?: string | undefined;
101
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,69 +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
- annotations?: import("zod").objectOutputType<{
156
- 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>;
157
- priority: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>, number | undefined, number | null | undefined>;
158
- lastModified: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, string | undefined, string | null | undefined>;
159
- }, import("zod").ZodTypeAny, "passthrough"> | undefined;
162
+ kind?: "file" | "skill" | "agent" | undefined;
163
+ annotations?: {
164
+ [x: string]: unknown;
165
+ audience?: ("user" | "assistant")[] | undefined;
166
+ priority?: number | undefined;
167
+ lastModified?: string | undefined;
168
+ } | undefined;
160
169
  _meta?: Record<string, unknown> | undefined;
161
- mimeType?: string | undefined;
162
170
  title?: string | undefined;
163
171
  description?: string | undefined;
172
+ mimeType?: string | undefined;
164
173
  size?: number | undefined;
165
- kind?: "file" | "skill" | "agent" | 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?: {
200
+ id: string;
190
201
  text: string;
191
202
  kind: "text" | "choice" | "choices";
192
- id: string;
193
- secret?: boolean | undefined;
194
- options?: {
195
- value: string;
196
- label: string;
197
- description?: string | undefined;
198
- }[] | undefined;
199
- other?: boolean | undefined;
200
203
  constraints?: {
201
- type: "string" | "number" | "boolean" | "integer" | "array";
204
+ type: "string" | "number" | "boolean" | "array" | "integer";
202
205
  minimum?: number | undefined;
203
206
  maximum?: number | undefined;
204
207
  minLength?: number | undefined;
@@ -210,41 +213,24 @@ export declare class SessionHub {
210
213
  } | undefined;
211
214
  defaults?: string[] | undefined;
212
215
  header?: string | undefined;
216
+ options?: {
217
+ value: string;
218
+ label: string;
219
+ description?: string | undefined;
220
+ }[] | undefined;
221
+ other?: boolean | undefined;
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
- path: string;
228
- kind: "edit" | "jump" | "searchAndReplace";
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
- uri: string;
244
- kind: "edit";
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
- uri: string;
265
- kind: "jump";
266
- id: string;
267
254
  position: {
268
255
  line: number;
269
256
  character: number;
270
257
  };
271
- } | {
272
- uri: string;
273
- kind: "rename";
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;
272
+ replace: string;
273
+ id: string;
283
274
  uri: string;
284
275
  kind: "searchAndReplace";
285
- id: string;
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))