@opencode/client 0.0.0-dev-20800 → 0.0.0-dev-20801

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 (59) hide show
  1. package/dist/chunks/{pty-handoff-1y4a697q.js → contract-1y4a697q.js} +1 -1
  2. package/dist/chunks/{pty-handoff-8ye1ye6f.js → contract-2ny4vxct.js} +2 -2
  3. package/dist/chunks/contract-3xe3aqqq.js +30 -0
  4. package/dist/chunks/{pty-handoff-y2etg5bs.js → contract-7f0py9js.js} +2 -2
  5. package/dist/chunks/{pty-handoff-frbwqjmf.js → contract-frbwqjmf.js} +1 -1
  6. package/dist/chunks/{pty-handoff-5eexdrr4.js → contract-hzt178db.js} +1 -1
  7. package/dist/chunks/{pty-handoff-nwcpakzx.js → contract-js54wxgp.js} +2 -2
  8. package/dist/chunks/{pty-handoff-z6qdwcsf.js → contract-mnyft54j.js} +5 -5
  9. package/dist/chunks/{pty-handoff-qhs09f6z.js → contract-nt7y9tb6.js} +10 -10
  10. package/dist/chunks/{pty-handoff-qm3ebzrs.js → contract-steb0hnc.js} +17 -17
  11. package/dist/chunks/{pty-handoff-t1xa31vm.js → contract-t1xa31vm.js} +1 -1
  12. package/dist/chunks/{pty-handoff-9h52wrcy.js → contract-tbh3h57v.js} +19 -19
  13. package/dist/chunks/{pty-handoff-yze5j8cn.js → contract-yze5j8cn.js} +1 -1
  14. package/dist/contract.js +1 -1
  15. package/dist/effect/api/api.d.ts +67 -63
  16. package/dist/effect/client.js +12 -12
  17. package/dist/effect/generated/client-error.js +3 -3
  18. package/dist/effect/generated/client.js +5 -5
  19. package/dist/effect/generated/index.js +8 -8
  20. package/dist/effect/index.js +12 -12
  21. package/dist/effect/rpc.js +4 -4
  22. package/dist/effect/service.js +6 -6
  23. package/dist/promise/client.d.ts +2 -2
  24. package/dist/promise/client.js +11 -11
  25. package/dist/promise/generated/client-error.js +3 -3
  26. package/dist/promise/generated/client.d.ts +2 -2
  27. package/dist/promise/generated/client.js +4 -4
  28. package/dist/promise/generated/index.js +10 -10
  29. package/dist/promise/generated/types.d.ts +1647 -1621
  30. package/dist/promise/generated/types.js +1 -1
  31. package/dist/promise/index.js +13 -13
  32. package/dist/promise/rpc.js +2 -2
  33. package/dist/promise/service.js +6 -6
  34. package/dist/pty-handoff.js +1 -1
  35. package/dist/rpc-runtime.js +1 -1
  36. package/dist/service-contender.js +1 -1
  37. package/dist/service-probe.js +3 -3
  38. package/dist/service-timing.js +1 -1
  39. package/dist/service-version.js +1 -1
  40. package/dist/service.js +1 -1
  41. package/dist/shared-events.js +1 -1
  42. package/dist/solid/connection.js +1 -1
  43. package/dist/solid/data.js +9 -9
  44. package/dist/solid/index.js +11 -11
  45. package/dist/solid/pty.js +1 -1
  46. package/package.json +7 -7
  47. package/dist/chunks/pty-handoff-4g868gd9.js +0 -30
  48. /package/dist/chunks/{pty-handoff-6mptkzbc.js → contract-6mptkzbc.js} +0 -0
  49. /package/dist/chunks/{pty-handoff-9rqn6x4v.js → contract-9rqn6x4v.js} +0 -0
  50. /package/dist/chunks/{pty-handoff-gne7h7mq.js → contract-gne7h7mq.js} +0 -0
  51. /package/dist/chunks/{pty-handoff-m2eywc8w.js → contract-m2eywc8w.js} +0 -0
  52. /package/dist/chunks/{pty-handoff-qav6mfdz.js → contract-qav6mfdz.js} +0 -0
  53. /package/dist/chunks/{pty-handoff-sxt88q69.js → contract-sxt88q69.js} +0 -0
  54. /package/dist/chunks/{pty-handoff-ve4aws36.js → contract-ve4aws36.js} +0 -0
  55. /package/dist/chunks/{pty-handoff-vmytr4q8.js → contract-vmytr4q8.js} +0 -0
  56. /package/dist/chunks/{pty-handoff-vt9jbch8.js → contract-vt9jbch8.js} +0 -0
  57. /package/dist/chunks/{pty-handoff-vyas3vgt.js → contract-vyas3vgt.js} +0 -0
  58. /package/dist/chunks/{pty-handoff-xgnj2w4v.js → contract-xgnj2w4v.js} +0 -0
  59. /package/dist/chunks/{pty-handoff-ydhz1zrh.js → contract-ydhz1zrh.js} +0 -0
@@ -19,22 +19,10 @@ export type PairingCode = {
19
19
  export type PairingSession = {
20
20
  token: string;
21
21
  };
22
- export type LocationPublicInfo = {
23
- directory: string;
24
- project: {
25
- id: string;
26
- directory: string;
27
- canonical: string;
28
- };
29
- };
30
- export type LocationPublicRef = {
31
- directory: string;
32
- };
33
- export type ModelRef = {
34
- id: string;
35
- providerID: string;
36
- variant?: string;
37
- };
22
+ export type AbsolutePath = string;
23
+ export type ProjectID = string;
24
+ export type AgentID = string;
25
+ export type ProviderID = string;
38
26
  export type ProviderCompaction = {
39
27
  type: "summary";
40
28
  } | {
@@ -69,13 +57,8 @@ export type PluginState = {
69
57
  error: string;
70
58
  ref?: string;
71
59
  };
72
- export type SessionForkBoundary = {
73
- type: "before";
74
- messageID: string;
75
- } | {
76
- type: "through";
77
- messageID: string;
78
- };
60
+ export type SessionID = string;
61
+ export type SessionMessageID = string;
79
62
  export type MoneyUSD = number;
80
63
  export type TokenUsageInfo = {
81
64
  input: number;
@@ -86,9 +69,11 @@ export type TokenUsageInfo = {
86
69
  write: number;
87
70
  };
88
71
  };
72
+ export type RelativePath = string;
89
73
  export type SessionMetadata = {
90
74
  [x: string]: JsonValue;
91
75
  };
76
+ export type SnapshotID = string;
92
77
  export type FileDiffInfo = {
93
78
  file: string;
94
79
  patch: string;
@@ -96,6 +81,7 @@ export type FileDiffInfo = {
96
81
  deletions: number;
97
82
  status: "added" | "deleted" | "modified";
98
83
  };
84
+ export type SessionsCursor = string;
99
85
  export type SessionStatsToolTotals = {
100
86
  calls: number;
101
87
  succeeded: number;
@@ -114,18 +100,6 @@ export type SessionStatsActivity = {
114
100
  date: string;
115
101
  steps: number;
116
102
  };
117
- export type SessionMessageAgentSelected = {
118
- id: string;
119
- metadata?: {
120
- [x: string]: JsonValue;
121
- };
122
- time: {
123
- created: number;
124
- };
125
- type: "agent-switched";
126
- agent: string;
127
- previous?: string;
128
- };
129
103
  export type PromptBase64 = string;
130
104
  export type PromptFileSource = {
131
105
  type: "inline";
@@ -138,64 +112,9 @@ export type PromptMention = {
138
112
  end: number;
139
113
  text: string;
140
114
  };
141
- export type SessionMessageSynthetic = {
142
- id: string;
143
- metadata?: {
144
- [x: string]: JsonValue;
145
- };
146
- time: {
147
- created: number;
148
- };
149
- text: string;
150
- description?: string;
151
- type: "synthetic";
152
- };
153
- export type SessionMessageSystem = {
154
- id: string;
155
- metadata?: {
156
- [x: string]: JsonValue;
157
- };
158
- time: {
159
- created: number;
160
- };
161
- type: "system";
162
- text: string;
163
- description?: string;
164
- };
165
- export type SessionMessageSkill = {
166
- id: string;
167
- metadata?: {
168
- [x: string]: JsonValue;
169
- };
170
- time: {
171
- created: number;
172
- };
173
- type: "skill";
174
- skill: string;
175
- name: string;
176
- text: string;
177
- };
178
- export type SessionMessageShell = {
179
- id: string;
180
- metadata?: {
181
- [x: string]: JsonValue;
182
- };
183
- time: {
184
- created: number;
185
- completed?: number;
186
- };
187
- type: "shell";
188
- shellID: string;
189
- command: string;
190
- status: "running" | "exited" | "timeout" | "killed";
191
- exit?: number | "Infinity" | "-Infinity" | "NaN";
192
- output?: {
193
- output: string;
194
- cursor: number;
195
- size: number;
196
- truncated: boolean;
197
- };
198
- };
115
+ export type SkillID = string;
116
+ export type SkillName = string;
117
+ export type ShellID = string;
199
118
  export type SessionMessageProviderState = {
200
119
  [x: string]: JsonValue;
201
120
  };
@@ -230,28 +149,6 @@ export type SessionStructuredError = {
230
149
  body: string;
231
150
  };
232
151
  };
233
- export type SessionMessageCompactionRunning = {
234
- type: "compaction";
235
- id: string;
236
- metadata?: {
237
- [x: string]: JsonValue;
238
- };
239
- time: {
240
- created: number;
241
- };
242
- status: "running";
243
- reason: "auto" | "manual";
244
- summary: string;
245
- recent: string;
246
- };
247
- export type SessionProviderContextProvenance = {
248
- providerID: string;
249
- provider: string;
250
- modelID: string;
251
- route: string;
252
- protocol: string;
253
- endpoint: string;
254
- };
255
152
  export type SessionActive = {
256
153
  type: "running";
257
154
  };
@@ -270,10 +167,11 @@ export type SessionGenerateResponse = {
270
167
  text: string;
271
168
  };
272
169
  };
273
- export type LocationRef = {
274
- directory: string;
275
- workspaceID?: string;
276
- };
170
+ export type EventID = string;
171
+ export type EventSeq = number;
172
+ export type WorkspaceID = string;
173
+ export type InstructionKey = string;
174
+ export type InstructionHash = string;
277
175
  export type SessionInboxSyntheticPayload1 = {
278
176
  text: string;
279
177
  description?: string;
@@ -281,24 +179,6 @@ export type SessionInboxSyntheticPayload1 = {
281
179
  [x: string]: any;
282
180
  };
283
181
  };
284
- export type ShellInfo = {
285
- id: string;
286
- status: "running" | "exited" | "timeout" | "killed";
287
- command: string;
288
- cwd: string;
289
- shell: string;
290
- file: string;
291
- pid?: number;
292
- exit?: number;
293
- signal?: string;
294
- metadata: {
295
- [x: string]: any;
296
- };
297
- time: {
298
- started: number;
299
- completed?: number;
300
- };
301
- };
302
182
  export type SessionMessageProviderState1 = {
303
183
  [x: string]: any;
304
184
  };
@@ -317,14 +197,10 @@ export type SessionMessageToolStateRunning1 = {
317
197
  [x: string]: JsonValue;
318
198
  };
319
199
  };
320
- export type EventLogSynced = {
321
- type: "log.synced";
322
- aggregateID: string;
323
- seq?: number;
324
- };
325
200
  export type SessionInterruptResponse = {
326
201
  interrupted: boolean;
327
202
  };
203
+ export type FormID = string;
328
204
  export type FormMetadata = {
329
205
  [x: string]: JsonValue;
330
206
  };
@@ -359,31 +235,19 @@ export type GenerateTextResponse = {
359
235
  text: string;
360
236
  };
361
237
  };
362
- export type IntegrationCommandMethod = {
363
- id: string;
364
- type: "command";
365
- label: string;
366
- command: Array<string>;
367
- };
238
+ export type IntegrationID = string;
239
+ export type IntegrationMethodID = string;
368
240
  export type IntegrationEnvMethod = {
369
241
  type: "env";
370
242
  names: Array<string>;
371
243
  };
244
+ export type CredentialID = string;
372
245
  export type ConnectionStatus = {
373
246
  status: "needs_auth";
374
247
  message: string;
375
248
  url?: string;
376
249
  };
377
- export type IntegrationAttempt = {
378
- attemptID: string;
379
- url: string;
380
- instructions: string;
381
- mode: "auto" | "code";
382
- time: {
383
- created: number;
384
- expires: number;
385
- };
386
- };
250
+ export type IntegrationAttemptID = string;
387
251
  export type IntegrationAttemptStatus = {
388
252
  status: "pending";
389
253
  time: {
@@ -410,13 +274,6 @@ export type IntegrationAttemptStatus = {
410
274
  expires: number;
411
275
  };
412
276
  };
413
- export type IntegrationCommandAttempt = {
414
- attemptID: string;
415
- time: {
416
- created: number;
417
- expires: number;
418
- };
419
- };
420
277
  export type IntegrationCommandAttemptStatus = {
421
278
  status: "pending";
422
279
  message?: string;
@@ -475,23 +332,6 @@ export type McpResourceTemplate = {
475
332
  description?: string;
476
333
  mimeType?: string;
477
334
  };
478
- export type CredentialOAuth = {
479
- type: "oauth";
480
- methodID: string;
481
- refresh: string;
482
- access: string;
483
- expires: number;
484
- metadata?: {
485
- [x: string]: JsonValue;
486
- };
487
- };
488
- export type CredentialExternal = {
489
- type: "external";
490
- methodID: string;
491
- metadata?: {
492
- [x: string]: JsonValue;
493
- };
494
- };
495
335
  export type ProjectVcs = string;
496
336
  export type ProjectIcon = {
497
337
  url?: string;
@@ -506,74 +346,22 @@ export type ProjectTime = {
506
346
  updated: number;
507
347
  active: number;
508
348
  };
349
+ export type PermissionID = string;
509
350
  export type PermissionSource = {
510
351
  type: "tool";
511
352
  messageID: string;
512
353
  id: string;
513
354
  };
514
- export type PermissionSavedInfo = {
515
- id: string;
516
- projectID: string;
517
- action: string;
518
- resource: string;
519
- time: {
520
- created: number;
521
- updated: number;
522
- };
523
- };
524
- export type FileSystemEntry = {
525
- path: string;
526
- type: "file" | "directory";
527
- };
528
- export type FileSystemWrite = {
529
- path: string;
530
- };
355
+ export type PermissionSavedID = string;
531
356
  export type CommandInfo = {
532
357
  name: string;
533
358
  description?: string;
534
359
  };
535
- export type SkillInfo = {
536
- id: string;
537
- name: string;
538
- description?: string;
539
- autoinvoke?: boolean;
540
- path: string;
541
- content: string;
542
- };
543
360
  export type RpcOutput = {
544
361
  output?: any;
545
362
  };
546
363
  export type PermissionReply = "once" | "always" | "reject";
547
- export type Pty = {
548
- id: string;
549
- title: string;
550
- command: string;
551
- args: Array<string>;
552
- cwd: string;
553
- status: "running" | "exited";
554
- pid: number;
555
- exitCode?: number;
556
- };
557
- export type PersistentPtyInfo = {
558
- id: string;
559
- title: string;
560
- command: string;
561
- args: Array<string>;
562
- cwd: string;
563
- status: "running" | "exited";
564
- pid: number;
565
- exitCode?: number;
566
- sessionID: string;
567
- foregroundProcess: string | null;
568
- size: {
569
- cols: number;
570
- rows: number;
571
- };
572
- output: {
573
- head: number;
574
- tail: number;
575
- };
576
- };
364
+ export type PtyID = string;
577
365
  export type FormMetadata1 = {
578
366
  [x: string]: any;
579
367
  };
@@ -605,61 +393,17 @@ export type PtyTicketConnectToken = {
605
393
  ticket: string;
606
394
  expires_in: number;
607
395
  };
608
- export type PersistentPtyReadResult = {
609
- ptyID: string;
610
- title: string;
611
- cwd: string;
612
- foregroundProcess: string | null;
613
- screen: {
614
- text: string;
615
- cols: number;
616
- rows: number;
617
- cursor: {
618
- x: number;
619
- y: number;
620
- };
621
- };
622
- };
623
396
  export type PersistentPtyHandoff = {
624
397
  directory: string;
625
398
  instanceID: string;
626
399
  ticket: string;
627
400
  expiresAt: number;
628
401
  };
629
- export type ShellInfo1 = {
630
- id: string;
631
- status: "running" | "exited" | "timeout" | "killed";
632
- command: string;
633
- cwd: string;
634
- shell: string;
635
- file: string;
636
- pid?: number;
637
- exit?: number;
638
- signal?: string;
639
- metadata: {
640
- [x: string]: JsonValue;
641
- };
642
- time: {
643
- started: number;
644
- completed?: number;
645
- };
646
- };
647
- export type ReferenceLocalSource = {
648
- type: "local";
649
- path: string;
650
- };
651
402
  export type ReferenceGitSource = {
652
403
  type: "git";
653
404
  repository: string;
654
405
  branch?: string;
655
406
  };
656
- export type WorktreeDirectory = {
657
- directory: string;
658
- strategy?: string;
659
- };
660
- export type WorktreeInfo = {
661
- directory: string;
662
- };
663
407
  export type VcsBranch = {
664
408
  current?: string;
665
409
  default?: string;
@@ -676,10 +420,7 @@ export type VcsFileStatus = {
676
420
  status: "added" | "deleted" | "modified";
677
421
  };
678
422
  export type VcsBranchList = Array<string>;
679
- export type WebSearchProvider = {
680
- id: string;
681
- name: string;
682
- };
423
+ export type WebSearchID = string;
683
424
  export type WebSearchResult = {
684
425
  url: string;
685
426
  title?: string;
@@ -702,49 +443,43 @@ export type ConfigShellOption = {
702
443
  name: string;
703
444
  acceptable: boolean;
704
445
  };
705
- export type SessionMessageLocationSwitched = {
706
- id: string;
707
- metadata?: {
708
- [x: string]: JsonValue;
709
- };
710
- time: {
711
- created: number;
712
- };
713
- type: "location-switched";
714
- projectID?: string;
715
- subpath?: string;
716
- location: LocationPublicRef;
717
- previous?: {
718
- location: LocationPublicRef;
719
- projectID?: string;
720
- subpath?: string;
721
- } | null;
446
+ export type LocationPublicRef = {
447
+ directory: AbsolutePath;
722
448
  };
723
- export type SessionInboxMovePayload = {
724
- projectID: string;
725
- subpath?: string;
726
- location: LocationPublicRef;
449
+ export type FileSystemWrite = {
450
+ path: AbsolutePath;
727
451
  };
728
- export type V2EventRpc = {
729
- id: string;
730
- created: number;
731
- metadata?: {
732
- [x: string]: any;
733
- } | undefined;
734
- type: `${"rpc."}${string}`;
735
- location: LocationPublicRef;
736
- data: {
737
- [x: string]: any;
452
+ export type ReferenceLocalSource = {
453
+ type: "local";
454
+ path: AbsolutePath;
455
+ };
456
+ export type WorktreeDirectory = {
457
+ directory: AbsolutePath;
458
+ strategy?: string;
459
+ };
460
+ export type WorktreeInfo = {
461
+ directory: AbsolutePath;
462
+ };
463
+ export type LocationPublicInfo = {
464
+ directory: AbsolutePath;
465
+ project: {
466
+ id: ProjectID;
467
+ directory: AbsolutePath;
468
+ canonical: AbsolutePath;
738
469
  };
739
470
  };
740
- export type V2EventServerConnected = {
471
+ export type ModelRef = {
741
472
  id: string;
742
- metadata?: {
743
- [x: string]: any;
744
- } | undefined;
745
- location?: LocationPublicRef | undefined;
746
- type: "server.connected";
747
- data: {};
473
+ providerID: ProviderID;
474
+ variant?: string;
475
+ };
476
+ export type SessionProviderContextProvenance = {
477
+ providerID: ProviderID;
478
+ provider: string;
479
+ modelID: string;
480
+ route: string;
481
+ protocol: string;
482
+ endpoint: string;
748
483
  };
749
484
  export type ModelSettings = {
750
485
  compaction?: ProviderCompaction;
@@ -785,10 +520,71 @@ export type PluginInfo = {
785
520
  features: PluginFeatures;
786
521
  state: PluginState;
787
522
  };
523
+ export type SessionForkBoundary = {
524
+ type: "before";
525
+ messageID: SessionMessageID;
526
+ } | {
527
+ type: "through";
528
+ messageID: SessionMessageID;
529
+ };
530
+ export type SessionMessageAgentSelected = {
531
+ id: SessionMessageID;
532
+ metadata?: {
533
+ [x: string]: JsonValue;
534
+ };
535
+ time: {
536
+ created: number;
537
+ };
538
+ type: "agent-switched";
539
+ agent: AgentID;
540
+ previous?: AgentID;
541
+ };
542
+ export type SessionMessageSynthetic = {
543
+ id: SessionMessageID;
544
+ metadata?: {
545
+ [x: string]: JsonValue;
546
+ };
547
+ time: {
548
+ created: number;
549
+ };
550
+ text: string;
551
+ description?: string;
552
+ type: "synthetic";
553
+ };
554
+ export type SessionMessageSystem = {
555
+ id: SessionMessageID;
556
+ metadata?: {
557
+ [x: string]: JsonValue;
558
+ };
559
+ time: {
560
+ created: number;
561
+ };
562
+ type: "system";
563
+ text: string;
564
+ description?: string;
565
+ };
566
+ export type SessionMessageCompactionRunning = {
567
+ type: "compaction";
568
+ id: SessionMessageID;
569
+ metadata?: {
570
+ [x: string]: JsonValue;
571
+ };
572
+ time: {
573
+ created: number;
574
+ };
575
+ status: "running";
576
+ reason: "auto" | "manual";
577
+ summary: string;
578
+ recent: string;
579
+ };
580
+ export type FileSystemEntry = {
581
+ path: RelativePath;
582
+ type: "file" | "directory";
583
+ };
788
584
  export type SessionRevert = {
789
- messageID: string;
585
+ messageID: SessionMessageID;
790
586
  partID?: string;
791
- snapshot?: string;
587
+ snapshot?: SnapshotID;
792
588
  files?: Array<FileDiffInfo>;
793
589
  };
794
590
  export type SessionStatsTools = {
@@ -801,24 +597,6 @@ export type SessionStatsTools = {
801
597
  totals: SessionStatsToolTotals;
802
598
  usage: Array<SessionStatsToolUsage>;
803
599
  };
804
- export type SessionStatsModelUsage = {
805
- model: ModelRef;
806
- steps: number;
807
- tokens: TokenUsageInfo;
808
- cost: MoneyUSD;
809
- };
810
- export type SessionMessageModelSelected = {
811
- id: string;
812
- metadata?: {
813
- [x: string]: JsonValue;
814
- };
815
- time: {
816
- created: number;
817
- };
818
- type: "model-switched";
819
- model: ModelRef;
820
- previous?: ModelRef;
821
- };
822
600
  export type PromptFileAttachment = {
823
601
  data: PromptBase64;
824
602
  mime: string;
@@ -832,11 +610,89 @@ export type PromptAgentAttachment = {
832
610
  mention?: PromptMention;
833
611
  };
834
612
  export type PromptSkillAttachment = {
835
- id: string;
836
- name: string;
613
+ id: SkillID;
614
+ name: SkillName;
837
615
  text?: string;
838
616
  mention?: PromptMention;
839
617
  };
618
+ export type SessionMessageSkill = {
619
+ id: SessionMessageID;
620
+ metadata?: {
621
+ [x: string]: JsonValue;
622
+ };
623
+ time: {
624
+ created: number;
625
+ };
626
+ type: "skill";
627
+ skill: SkillID;
628
+ name: SkillName;
629
+ text: string;
630
+ };
631
+ export type SkillInfo = {
632
+ id: SkillID;
633
+ name: SkillName;
634
+ description?: string;
635
+ autoinvoke?: boolean;
636
+ path: AbsolutePath;
637
+ content: string;
638
+ };
639
+ export type SessionMessageShell = {
640
+ id: SessionMessageID;
641
+ metadata?: {
642
+ [x: string]: JsonValue;
643
+ };
644
+ time: {
645
+ created: number;
646
+ completed?: number;
647
+ };
648
+ type: "shell";
649
+ shellID: ShellID;
650
+ command: string;
651
+ status: "running" | "exited" | "timeout" | "killed";
652
+ exit?: number | "Infinity" | "-Infinity" | "NaN";
653
+ output?: {
654
+ output: string;
655
+ cursor: number;
656
+ size: number;
657
+ truncated: boolean;
658
+ };
659
+ };
660
+ export type ShellInfo = {
661
+ id: ShellID;
662
+ status: "running" | "exited" | "timeout" | "killed";
663
+ command: string;
664
+ cwd: string;
665
+ shell: string;
666
+ file: string;
667
+ pid?: number;
668
+ exit?: number;
669
+ signal?: string;
670
+ metadata: {
671
+ [x: string]: any;
672
+ };
673
+ time: {
674
+ started: number;
675
+ completed?: number;
676
+ };
677
+ };
678
+ export type ShellInfo1 = {
679
+ id: ShellID;
680
+ status: "running" | "exited" | "timeout" | "killed";
681
+ command: string;
682
+ cwd: string;
683
+ shell: string;
684
+ file: string;
685
+ pid?: number;
686
+ exit?: number;
687
+ signal?: string;
688
+ metadata: {
689
+ [x: string]: JsonValue;
690
+ };
691
+ time: {
692
+ started: number;
693
+ completed?: number;
694
+ };
695
+ };
840
696
  export type SessionMessageAssistantText = {
841
697
  type: "text";
842
698
  text: string;
@@ -859,7 +715,7 @@ export type SessionMessageAssistantRetry = {
859
715
  };
860
716
  export type SessionMessageCompactionFailed = {
861
717
  type: "compaction";
862
- id: string;
718
+ id: SessionMessageID;
863
719
  metadata?: {
864
720
  [x: string]: JsonValue;
865
721
  };
@@ -873,7 +729,7 @@ export type SessionMessageCompactionFailed = {
873
729
  tokens?: TokenUsageInfo;
874
730
  };
875
731
  export type SessionMessageIdle = {
876
- id: string;
732
+ id: SessionMessageID;
877
733
  metadata?: {
878
734
  [x: string]: JsonValue;
879
735
  };
@@ -884,14 +740,9 @@ export type SessionMessageIdle = {
884
740
  outcome: "succeeded" | "failed" | "interrupted";
885
741
  error?: SessionStructuredError;
886
742
  };
887
- export type SessionProviderContext = {
888
- version: 1;
889
- provenance: SessionProviderContextProvenance;
890
- messages: JsonValue;
891
- };
892
743
  export type SessionInboxSynthetic = {
893
- id: string;
894
- sessionID: string;
744
+ id: SessionMessageID;
745
+ sessionID: SessionID;
895
746
  time: {
896
747
  created: number;
897
748
  };
@@ -900,8 +751,8 @@ export type SessionInboxSynthetic = {
900
751
  delivery: SessionInboxDelivery;
901
752
  };
902
753
  export type SessionInboxCompaction = {
903
- id: string;
904
- sessionID: string;
754
+ id: SessionMessageID;
755
+ sessionID: SessionID;
905
756
  time: {
906
757
  created: number;
907
758
  };
@@ -918,1382 +769,1447 @@ export type InstructionEntrySnapshot = Array<{
918
769
  value: JsonValue;
919
770
  removed: boolean;
920
771
  }>;
921
- export type SessionAgentSelected = {
922
- id: string;
923
- created: number;
924
- metadata?: {
925
- [x: string]: any;
926
- };
927
- type: "session.agent.selected";
928
- durable: {
929
- aggregateID: string;
930
- seq: number;
931
- version: 1;
932
- };
933
- location?: LocationRef;
934
- data: {
935
- sessionID: string;
936
- agent: string;
937
- previous?: string;
938
- };
772
+ export type EventLogSynced = {
773
+ type: "log.synced";
774
+ aggregateID: string;
775
+ seq?: EventSeq;
939
776
  };
940
- export type SessionModelSelected = {
941
- id: string;
942
- created: number;
943
- metadata?: {
944
- [x: string]: any;
945
- };
946
- type: "session.model.selected";
947
- durable: {
948
- aggregateID: string;
949
- seq: number;
950
- version: 1;
951
- };
952
- location?: LocationRef;
953
- data: {
954
- sessionID: string;
955
- model: ModelRef;
956
- previous?: ModelRef;
957
- };
777
+ export type LocationRef = {
778
+ directory: AbsolutePath;
779
+ workspaceID?: WorkspaceID;
958
780
  };
959
- export type SessionRenamed = {
960
- id: string;
961
- created: number;
962
- metadata?: {
963
- [x: string]: any;
964
- };
965
- type: "session.renamed";
966
- durable: {
967
- aggregateID: string;
968
- seq: number;
969
- version: 1;
970
- };
971
- location?: LocationRef;
972
- data: {
973
- sessionID: string;
974
- title: string;
975
- };
781
+ export type SessionMessageAssistantText1 = {
782
+ type: "text";
783
+ text: string;
784
+ state?: SessionMessageProviderState1;
976
785
  };
977
- export type SessionViewed = {
978
- id: string;
979
- created: number;
980
- metadata?: {
981
- [x: string]: any;
982
- };
983
- type: "session.viewed";
984
- durable: {
985
- aggregateID: string;
986
- seq: number;
987
- version: 1;
988
- };
989
- location?: LocationRef;
990
- data: {
991
- sessionID: string;
992
- idle: number;
786
+ export type SessionMessageAssistantReasoning1 = {
787
+ type: "reasoning";
788
+ text: string;
789
+ state?: SessionMessageProviderState1;
790
+ time?: {
791
+ created: number;
792
+ completed?: number;
993
793
  };
994
794
  };
995
- export type SessionDeleted = {
996
- id: string;
997
- created: number;
998
- metadata?: {
999
- [x: string]: any;
1000
- };
1001
- type: "session.deleted";
1002
- durable: {
1003
- aggregateID: string;
1004
- seq: number;
1005
- version: 2;
1006
- };
1007
- location?: LocationRef;
1008
- data: {
1009
- sessionID: string;
1010
- };
795
+ export type ToolContent1 = ToolTextContent | ToolFileContent1;
796
+ export type FormNumberField = {
797
+ key: string;
798
+ title?: string;
799
+ description?: string;
800
+ required?: boolean;
801
+ hidden?: boolean;
802
+ when?: Array<FormWhen>;
803
+ type: "number";
804
+ minimum?: number | "Infinity" | "-Infinity" | "NaN";
805
+ maximum?: number | "Infinity" | "-Infinity" | "NaN";
806
+ default?: number | "Infinity" | "-Infinity" | "NaN";
1011
807
  };
1012
- export type SessionInboxDelivered = {
1013
- id: string;
1014
- created: number;
1015
- metadata?: {
1016
- [x: string]: any;
1017
- };
1018
- type: "session.inbox.delivered";
1019
- durable: {
1020
- aggregateID: string;
1021
- seq: number;
1022
- version: 1;
1023
- };
1024
- location?: LocationRef;
1025
- data: {
1026
- sessionID: string;
1027
- inboxID: string;
1028
- };
808
+ export type FormIntegerField = {
809
+ key: string;
810
+ title?: string;
811
+ description?: string;
812
+ required?: boolean;
813
+ hidden?: boolean;
814
+ when?: Array<FormWhen>;
815
+ type: "integer";
816
+ minimum?: number | "Infinity" | "-Infinity" | "NaN";
817
+ maximum?: number | "Infinity" | "-Infinity" | "NaN";
818
+ default?: number | "Infinity" | "-Infinity" | "NaN";
1029
819
  };
1030
- export type SessionInboxCancelled = {
1031
- id: string;
1032
- created: number;
1033
- metadata?: {
1034
- [x: string]: any;
1035
- };
1036
- type: "session.inbox.cancelled";
1037
- durable: {
1038
- aggregateID: string;
1039
- seq: number;
1040
- version: 1;
1041
- };
1042
- location?: LocationRef;
1043
- data: {
1044
- sessionID: string;
1045
- inboxID: string;
1046
- };
820
+ export type FormBooleanField = {
821
+ key: string;
822
+ title?: string;
823
+ description?: string;
824
+ required?: boolean;
825
+ hidden?: boolean;
826
+ when?: Array<FormWhen>;
827
+ type: "boolean";
828
+ default?: boolean;
1047
829
  };
1048
- export type SessionInboxDeliveryChanged = {
1049
- id: string;
1050
- created: number;
1051
- metadata?: {
1052
- [x: string]: any;
1053
- };
1054
- type: "session.inbox.delivery.changed";
1055
- durable: {
1056
- aggregateID: string;
1057
- seq: number;
1058
- version: 1;
1059
- };
1060
- location?: LocationRef;
1061
- data: {
1062
- sessionID: string;
1063
- inboxID: string;
1064
- delivery: SessionInboxDelivery;
1065
- };
830
+ export type FormStringField = {
831
+ key: string;
832
+ title?: string;
833
+ description?: string;
834
+ required?: boolean;
835
+ hidden?: boolean;
836
+ when?: Array<FormWhen>;
837
+ type: "string";
838
+ format?: "email" | "uri" | "date" | "date-time";
839
+ minLength?: number;
840
+ maxLength?: number;
841
+ pattern?: string;
842
+ placeholder?: string;
843
+ default?: string;
844
+ options?: Array<FormOption>;
845
+ custom?: boolean;
1066
846
  };
1067
- export type SessionExecutionStarted = {
1068
- id: string;
1069
- created: number;
1070
- metadata?: {
1071
- [x: string]: any;
1072
- };
1073
- type: "session.execution.started";
1074
- durable: {
1075
- aggregateID: string;
1076
- seq: number;
1077
- version: 1;
1078
- };
1079
- location?: LocationRef;
1080
- data: {
1081
- sessionID: string;
1082
- };
847
+ export type FormMultiselectField = {
848
+ key: string;
849
+ title?: string;
850
+ description?: string;
851
+ required?: boolean;
852
+ hidden?: boolean;
853
+ when?: Array<FormWhen>;
854
+ type: "multiselect";
855
+ options: Array<FormOption>;
856
+ minItems?: number;
857
+ maxItems?: number;
858
+ custom?: boolean;
859
+ default?: Array<string>;
1083
860
  };
1084
- export type SessionExecutionSucceeded = {
1085
- id: string;
1086
- created: number;
1087
- metadata?: {
1088
- [x: string]: any;
1089
- };
1090
- type: "session.execution.succeeded";
1091
- durable: {
1092
- aggregateID: string;
1093
- seq: number;
1094
- version: 1;
1095
- };
1096
- location?: LocationRef;
1097
- data: {
1098
- sessionID: string;
1099
- };
861
+ export type FormAnswer = {
862
+ [x: string]: FormValue;
1100
863
  };
1101
- export type SessionExecutionFailed = {
1102
- id: string;
1103
- created: number;
1104
- metadata?: {
1105
- [x: string]: any;
1106
- };
1107
- type: "session.execution.failed";
1108
- durable: {
1109
- aggregateID: string;
1110
- seq: number;
1111
- version: 1;
1112
- };
1113
- location?: LocationRef;
1114
- data: {
1115
- sessionID: string;
1116
- error: SessionStructuredError;
1117
- };
864
+ export type ModelCompatibility = {
865
+ reasoningField?: ModelReasoningField;
866
+ requireReasoning?: boolean;
867
+ maxTokensField?: ModelMaxTokensField;
868
+ requireFinishReason?: boolean;
869
+ requireAssistantAfterTool?: boolean;
870
+ supportsPromptCacheKey?: boolean;
871
+ supportsThinkingBlockBinding?: boolean;
872
+ supportsEffortUpdates?: boolean;
1118
873
  };
1119
- export type SessionExecutionInterrupted = {
1120
- id: string;
1121
- created: number;
1122
- metadata?: {
1123
- [x: string]: any;
1124
- };
1125
- type: "session.execution.interrupted";
1126
- durable: {
1127
- aggregateID: string;
1128
- seq: number;
1129
- version: 1;
874
+ export type ModelCost = {
875
+ tier?: {
876
+ type: "context";
877
+ size: number;
1130
878
  };
1131
- location?: LocationRef;
1132
- data: {
1133
- sessionID: string;
1134
- reason: "user" | "shutdown" | "superseded" | "inactivity";
879
+ input: MoneyUSDPerMillionTokens;
880
+ output: MoneyUSDPerMillionTokens;
881
+ cache: {
882
+ read: MoneyUSDPerMillionTokens;
883
+ write: MoneyUSDPerMillionTokens;
1135
884
  };
1136
885
  };
1137
- export type SessionInstructionsUpdated = {
1138
- id: string;
1139
- created: number;
1140
- metadata?: {
1141
- [x: string]: any;
1142
- };
1143
- type: "session.instructions.updated";
1144
- durable: {
1145
- aggregateID: string;
1146
- seq: number;
1147
- version: 2;
1148
- };
1149
- location?: LocationRef;
1150
- data: {
1151
- sessionID: string;
1152
- delta: {
1153
- [x: string]: string | "removed";
1154
- };
1155
- text?: string;
1156
- };
886
+ export type IntegrationCommandMethod = {
887
+ id: IntegrationMethodID;
888
+ type: "command";
889
+ label: string;
890
+ command: Array<string>;
1157
891
  };
1158
- export type SessionSynthetic = {
1159
- id: string;
1160
- created: number;
892
+ export type CredentialOAuth = {
893
+ type: "oauth";
894
+ methodID: IntegrationMethodID;
895
+ refresh: string;
896
+ access: string;
897
+ expires: number;
1161
898
  metadata?: {
1162
- [x: string]: any;
1163
- };
1164
- type: "session.synthetic";
1165
- durable: {
1166
- aggregateID: string;
1167
- seq: number;
1168
- version: 1;
1169
- };
1170
- location?: LocationRef;
1171
- data: {
1172
- sessionID: string;
1173
- text: string;
1174
- description?: string;
1175
- metadata?: {
1176
- [x: string]: any;
1177
- };
899
+ [x: string]: JsonValue;
1178
900
  };
1179
901
  };
1180
- export type SessionSkillActivated = {
1181
- id: string;
1182
- created: number;
902
+ export type CredentialExternal = {
903
+ type: "external";
904
+ methodID: IntegrationMethodID;
1183
905
  metadata?: {
1184
- [x: string]: any;
1185
- };
1186
- type: "session.skill.activated";
1187
- durable: {
1188
- aggregateID: string;
1189
- seq: number;
1190
- version: 1;
1191
- };
1192
- location?: LocationRef;
1193
- data: {
1194
- sessionID: string;
1195
- id: string;
1196
- name: string;
1197
- text: string;
906
+ [x: string]: JsonValue;
1198
907
  };
1199
908
  };
1200
- export type SessionStepStarted = {
1201
- id: string;
1202
- created: number;
1203
- metadata?: {
1204
- [x: string]: any;
1205
- };
1206
- type: "session.step.started";
1207
- durable: {
1208
- aggregateID: string;
1209
- seq: number;
1210
- version: 1;
1211
- };
1212
- location?: LocationRef;
1213
- data: {
1214
- sessionID: string;
1215
- assistantMessageID: string;
1216
- agent: string;
1217
- model: ModelRef;
1218
- snapshot?: string;
1219
- started: number;
1220
- };
909
+ export type ConnectionCredentialInfo = {
910
+ type: "credential";
911
+ id: CredentialID;
912
+ label: string;
913
+ method: "key" | "oauth" | "external";
914
+ status?: ConnectionStatus;
1221
915
  };
1222
- export type SessionStepStreamed = {
1223
- id: string;
1224
- created: number;
1225
- metadata?: {
1226
- [x: string]: any;
1227
- };
1228
- type: "session.step.streamed";
1229
- durable: {
1230
- aggregateID: string;
1231
- seq: number;
1232
- version: 1;
1233
- };
1234
- location?: LocationRef;
1235
- data: {
1236
- sessionID: string;
1237
- assistantMessageID: string;
1238
- };
916
+ export type ConnectionEnvInfo = {
917
+ type: "env";
918
+ name: string;
919
+ status?: ConnectionStatus;
1239
920
  };
1240
- export type SessionTextStarted = {
1241
- id: string;
1242
- created: number;
1243
- metadata?: {
1244
- [x: string]: any;
1245
- };
1246
- type: "session.text.started";
1247
- durable: {
1248
- aggregateID: string;
1249
- seq: number;
1250
- version: 1;
1251
- };
1252
- location?: LocationRef;
1253
- data: {
1254
- sessionID: string;
1255
- assistantMessageID: string;
1256
- ordinal: number;
921
+ export type IntegrationAttempt = {
922
+ attemptID: IntegrationAttemptID;
923
+ url: string;
924
+ instructions: string;
925
+ mode: "auto" | "code";
926
+ time: {
927
+ created: number;
928
+ expires: number;
1257
929
  };
1258
930
  };
1259
- export type SessionToolInputStarted = {
1260
- id: string;
1261
- created: number;
1262
- metadata?: {
1263
- [x: string]: any;
1264
- };
1265
- type: "session.tool.input.started";
1266
- durable: {
1267
- aggregateID: string;
1268
- seq: number;
1269
- version: 1;
1270
- };
1271
- location?: LocationRef;
1272
- data: {
1273
- sessionID: string;
1274
- assistantMessageID: string;
1275
- id: string;
1276
- name: string;
931
+ export type IntegrationCommandAttempt = {
932
+ attemptID: IntegrationAttemptID;
933
+ time: {
934
+ created: number;
935
+ expires: number;
1277
936
  };
1278
937
  };
1279
- export type SessionToolInputEnded = {
1280
- id: string;
1281
- created: number;
1282
- metadata?: {
1283
- [x: string]: any;
1284
- };
1285
- type: "session.tool.input.ended";
1286
- durable: {
1287
- aggregateID: string;
1288
- seq: number;
1289
- version: 1;
1290
- };
1291
- location?: LocationRef;
1292
- data: {
1293
- sessionID: string;
1294
- assistantMessageID: string;
1295
- id: string;
1296
- text: string;
1297
- };
938
+ export type McpServer = {
939
+ name: string;
940
+ status: McpStatusConnected | McpStatusPending | McpStatusDisabled | McpStatusFailed | McpStatusNeedsAuth;
941
+ integrationID?: IntegrationID;
942
+ };
943
+ export type McpResourceCatalog = {
944
+ resources: Array<McpResource>;
945
+ templates: Array<McpResourceTemplate>;
946
+ };
947
+ export type Project = {
948
+ id: ProjectID;
949
+ canonical: AbsolutePath;
950
+ vcs?: ProjectVcs;
951
+ name?: string;
952
+ icon?: ProjectIcon;
953
+ commands?: ProjectCommands;
954
+ time: ProjectTime;
955
+ sandboxes: Array<string>;
1298
956
  };
1299
- export type SessionRetryScheduled = {
1300
- id: string;
1301
- created: number;
957
+ export type PermissionRequest = {
958
+ id: PermissionID;
959
+ sessionID: SessionID;
960
+ action: string;
961
+ resources: Array<string>;
962
+ save?: Array<string>;
1302
963
  metadata?: {
1303
- [x: string]: any;
1304
- };
1305
- type: "session.retry.scheduled";
1306
- durable: {
1307
- aggregateID: string;
1308
- seq: number;
1309
- version: 1;
964
+ [x: string]: JsonValue;
1310
965
  };
1311
- location?: LocationRef;
1312
- data: {
1313
- sessionID: string;
1314
- assistantMessageID: string;
1315
- attempt: number;
1316
- at: number;
1317
- error: SessionStructuredError;
966
+ source?: PermissionSource;
967
+ message?: string;
968
+ };
969
+ export type PermissionSavedInfo = {
970
+ id: PermissionSavedID;
971
+ projectID: ProjectID;
972
+ action: string;
973
+ resource: string;
974
+ time: {
975
+ created: number;
976
+ updated: number;
1318
977
  };
1319
978
  };
1320
- export type SessionCompactionStarted = {
1321
- id: string;
1322
- created: number;
1323
- metadata?: {
1324
- [x: string]: any;
979
+ export type Pty = {
980
+ id: PtyID;
981
+ title: string;
982
+ command: string;
983
+ args: Array<string>;
984
+ cwd: string;
985
+ status: "running" | "exited";
986
+ pid: number;
987
+ exitCode?: number;
988
+ };
989
+ export type PersistentPtyInfo = {
990
+ id: PtyID;
991
+ title: string;
992
+ command: string;
993
+ args: Array<string>;
994
+ cwd: string;
995
+ status: "running" | "exited";
996
+ pid: number;
997
+ exitCode?: number;
998
+ sessionID: SessionID;
999
+ foregroundProcess: string | null;
1000
+ size: {
1001
+ cols: number;
1002
+ rows: number;
1325
1003
  };
1326
- type: "session.compaction.started";
1327
- durable: {
1328
- aggregateID: string;
1329
- seq: number;
1330
- version: 1;
1004
+ output: {
1005
+ head: number;
1006
+ tail: number;
1331
1007
  };
1332
- location?: LocationRef;
1333
- data: {
1334
- sessionID: string;
1335
- reason: "auto" | "manual";
1336
- recent: string;
1337
- inputID?: string;
1008
+ };
1009
+ export type PersistentPtyReadResult = {
1010
+ ptyID: PtyID;
1011
+ title: string;
1012
+ cwd: string;
1013
+ foregroundProcess: string | null;
1014
+ screen: {
1015
+ text: string;
1016
+ cols: number;
1017
+ rows: number;
1018
+ cursor: {
1019
+ x: number;
1020
+ y: number;
1021
+ };
1338
1022
  };
1339
1023
  };
1340
- export type SessionCompactionFailed = {
1341
- id: string;
1342
- created: number;
1024
+ export type FormStringField1 = {
1025
+ key: string;
1026
+ title?: string;
1027
+ description?: string;
1028
+ required?: boolean;
1029
+ hidden?: boolean;
1030
+ when?: Array<FormWhen1>;
1031
+ type: "string";
1032
+ format?: "email" | "uri" | "date" | "date-time";
1033
+ minLength?: number;
1034
+ maxLength?: number;
1035
+ pattern?: string;
1036
+ placeholder?: string;
1037
+ default?: string;
1038
+ options?: Array<FormOption>;
1039
+ custom?: boolean;
1040
+ };
1041
+ export type FormNumberField1 = {
1042
+ key: string;
1043
+ title?: string;
1044
+ description?: string;
1045
+ required?: boolean;
1046
+ hidden?: boolean;
1047
+ when?: Array<FormWhen1>;
1048
+ type: "number";
1049
+ minimum?: number;
1050
+ maximum?: number;
1051
+ default?: number;
1052
+ };
1053
+ export type FormIntegerField1 = {
1054
+ key: string;
1055
+ title?: string;
1056
+ description?: string;
1057
+ required?: boolean;
1058
+ hidden?: boolean;
1059
+ when?: Array<FormWhen1>;
1060
+ type: "integer";
1061
+ minimum?: number;
1062
+ maximum?: number;
1063
+ default?: number;
1064
+ };
1065
+ export type FormBooleanField1 = {
1066
+ key: string;
1067
+ title?: string;
1068
+ description?: string;
1069
+ required?: boolean;
1070
+ hidden?: boolean;
1071
+ when?: Array<FormWhen1>;
1072
+ type: "boolean";
1073
+ default?: boolean;
1074
+ };
1075
+ export type FormMultiselectField1 = {
1076
+ key: string;
1077
+ title?: string;
1078
+ description?: string;
1079
+ required?: boolean;
1080
+ hidden?: boolean;
1081
+ when?: Array<FormWhen1>;
1082
+ type: "multiselect";
1083
+ options: Array<FormOption>;
1084
+ minItems?: number;
1085
+ maxItems?: number;
1086
+ custom?: boolean;
1087
+ default?: Array<string>;
1088
+ };
1089
+ export type FormAnswer2 = {
1090
+ [x: string]: FormValue1;
1091
+ };
1092
+ export type VcsInfo = {
1093
+ provider?: string;
1094
+ branch: VcsBranch;
1095
+ };
1096
+ export type WebSearchProvider = {
1097
+ id: WebSearchID;
1098
+ name: string;
1099
+ };
1100
+ export type SessionMessageLocationSwitched = {
1101
+ id: SessionMessageID;
1343
1102
  metadata?: {
1344
- [x: string]: any;
1345
- };
1346
- type: "session.compaction.failed";
1347
- durable: {
1348
- aggregateID: string;
1349
- seq: number;
1350
- version: 1;
1103
+ [x: string]: JsonValue;
1351
1104
  };
1352
- location?: LocationRef;
1353
- data: {
1354
- sessionID: string;
1355
- reason: "auto" | "manual";
1356
- error: SessionStructuredError;
1357
- inputID?: string;
1358
- cost?: MoneyUSD;
1359
- tokens?: TokenUsageInfo;
1105
+ time: {
1106
+ created: number;
1360
1107
  };
1108
+ type: "location-switched";
1109
+ projectID?: ProjectID;
1110
+ subpath?: RelativePath;
1111
+ location: LocationPublicRef;
1112
+ previous?: {
1113
+ location: LocationPublicRef;
1114
+ projectID?: ProjectID;
1115
+ subpath?: RelativePath;
1116
+ } | null;
1361
1117
  };
1362
- export type SessionRevertCleared = {
1363
- id: string;
1118
+ export type SessionInboxMovePayload = {
1119
+ projectID: ProjectID;
1120
+ subpath?: RelativePath;
1121
+ location: LocationPublicRef;
1122
+ };
1123
+ export type V2EventRpc = {
1124
+ id: EventID;
1364
1125
  created: number;
1365
1126
  metadata?: {
1366
1127
  [x: string]: any;
1367
- };
1368
- type: "session.revert.cleared";
1369
- durable: {
1370
- aggregateID: string;
1371
- seq: number;
1372
- version: 1;
1373
- };
1374
- location?: LocationRef;
1128
+ } | undefined;
1129
+ type: `${"rpc."}${string}`;
1130
+ location: LocationPublicRef;
1375
1131
  data: {
1376
- sessionID: string;
1132
+ [x: string]: any;
1377
1133
  };
1378
1134
  };
1379
- export type SessionRevertCommitted = {
1380
- id: string;
1381
- created: number;
1135
+ export type V2EventServerConnected = {
1136
+ id: EventID;
1382
1137
  metadata?: {
1383
1138
  [x: string]: any;
1384
- };
1385
- type: "session.revert.committed";
1386
- durable: {
1387
- aggregateID: string;
1388
- seq: number;
1389
- version: 1;
1390
- };
1391
- location?: LocationRef;
1392
- data: {
1393
- sessionID: string;
1394
- to: string;
1395
- };
1139
+ } | undefined;
1140
+ location?: LocationPublicRef | undefined;
1141
+ type: "server.connected";
1142
+ data: {};
1396
1143
  };
1397
- export type SessionUsageRecorded = {
1398
- id: string;
1399
- created: number;
1144
+ export type ReferenceSource = ReferenceLocalSource | ReferenceGitSource;
1145
+ export type WorktreeList = Array<WorktreeDirectory>;
1146
+ export type SessionStatsModelUsage = {
1147
+ model: ModelRef;
1148
+ steps: number;
1149
+ tokens: TokenUsageInfo;
1150
+ cost: MoneyUSD;
1151
+ };
1152
+ export type SessionMessageModelSelected = {
1153
+ id: SessionMessageID;
1400
1154
  metadata?: {
1401
- [x: string]: any;
1402
- };
1403
- type: "session.usage.recorded";
1404
- durable: {
1405
- aggregateID: string;
1406
- seq: number;
1407
- version: 1;
1155
+ [x: string]: JsonValue;
1408
1156
  };
1409
- location?: LocationRef;
1410
- data: {
1411
- sessionID: string;
1412
- source: "title" | "compaction";
1413
- cost: MoneyUSD;
1414
- tokens: TokenUsageInfo;
1157
+ time: {
1158
+ created: number;
1415
1159
  };
1160
+ type: "model-switched";
1161
+ model: ModelRef;
1162
+ previous?: ModelRef;
1416
1163
  };
1417
- export type LocationShutdown = {
1164
+ export type SessionProviderContext = {
1165
+ version: 1;
1166
+ provenance: SessionProviderContextProvenance;
1167
+ messages: JsonValue;
1168
+ };
1169
+ export type ModelVariant = {
1418
1170
  id: string;
1419
- created: number;
1420
- metadata?: {
1171
+ settings?: ModelSettings;
1172
+ headers?: {
1173
+ [x: string]: string;
1174
+ };
1175
+ body?: {
1421
1176
  [x: string]: any;
1422
1177
  };
1423
- type: "location.shutdown";
1424
- location?: LocationRef;
1425
- data: {};
1426
1178
  };
1427
- export type ModelsDevRefreshed = {
1428
- id: string;
1429
- created: number;
1430
- metadata?: {
1179
+ export type ProviderRequest = {
1180
+ settings: ProviderSettings;
1181
+ headers: {
1182
+ [x: string]: string;
1183
+ };
1184
+ body: {
1431
1185
  [x: string]: any;
1432
1186
  };
1433
- type: "models-dev.refreshed";
1434
- location?: LocationRef;
1435
- data: {};
1436
1187
  };
1437
- export type CredentialUpdated = {
1438
- id: string;
1439
- created: number;
1440
- metadata?: {
1188
+ export type ProviderInfo = {
1189
+ id: ProviderID;
1190
+ canonical?: ProviderID;
1191
+ integrationID?: IntegrationID;
1192
+ name: string;
1193
+ activation: "auto" | "enabled" | "disabled";
1194
+ package: string;
1195
+ settings?: ProviderSettings;
1196
+ headers?: {
1197
+ [x: string]: string;
1198
+ };
1199
+ body?: {
1441
1200
  [x: string]: any;
1442
1201
  };
1443
- type: "credential.updated";
1444
- location?: LocationRef;
1445
- data: {};
1446
1202
  };
1447
- export type CredentialSwitched = {
1448
- id: string;
1449
- created: number;
1203
+ export type PermissionRuleset = Array<PermissionRule>;
1204
+ export type SessionMessageUser = {
1205
+ id: SessionMessageID;
1450
1206
  metadata?: {
1451
- [x: string]: any;
1207
+ [x: string]: JsonValue;
1452
1208
  };
1453
- type: "credential.switched";
1454
- location?: LocationRef;
1455
- data: {
1456
- integrationID: string;
1457
- credentialID: string | null;
1209
+ time: {
1210
+ created: number;
1458
1211
  };
1212
+ text: string;
1213
+ files?: Array<PromptFileAttachment>;
1214
+ agents?: Array<PromptAgentAttachment>;
1215
+ skills?: Array<PromptSkillAttachment>;
1216
+ type: "user";
1459
1217
  };
1460
- export type IntegrationUpdated = {
1461
- id: string;
1462
- created: number;
1218
+ export type SessionInboxUserPayload = {
1219
+ text: string;
1220
+ files?: Array<PromptFileAttachment>;
1221
+ agents?: Array<PromptAgentAttachment>;
1222
+ skills?: Array<PromptSkillAttachment>;
1463
1223
  metadata?: {
1464
- [x: string]: any;
1224
+ [x: string]: JsonValue;
1465
1225
  };
1466
- type: "integration.updated";
1467
- location?: LocationRef;
1468
- data: {};
1469
1226
  };
1470
- export type ProviderUpdated = {
1471
- id: string;
1472
- created: number;
1227
+ export type SessionInboxUserPayload1 = {
1228
+ text: string;
1229
+ files?: Array<PromptFileAttachment>;
1230
+ agents?: Array<PromptAgentAttachment>;
1231
+ skills?: Array<PromptSkillAttachment>;
1473
1232
  metadata?: {
1474
1233
  [x: string]: any;
1475
1234
  };
1476
- type: "provider.updated";
1477
- location?: LocationRef;
1478
- data: {};
1479
1235
  };
1480
- export type ModelUpdated = {
1481
- id: string;
1482
- created: number;
1483
- metadata?: {
1484
- [x: string]: any;
1236
+ export type SessionMessageToolStateCompleted = {
1237
+ status: "completed";
1238
+ input: {
1239
+ [x: string]: JsonValue;
1485
1240
  };
1486
- type: "model.updated";
1487
- location?: LocationRef;
1488
- data: {};
1489
- };
1490
- export type AgentUpdated = {
1491
- id: string;
1492
- created: number;
1241
+ content: [ToolContent, ...Array<ToolContent>];
1493
1242
  metadata?: {
1494
- [x: string]: any;
1243
+ [x: string]: JsonValue;
1495
1244
  };
1496
- type: "agent.updated";
1497
- location?: LocationRef;
1498
- data: {};
1499
1245
  };
1500
- export type SessionUsageUpdated = {
1501
- id: string;
1502
- created: number;
1503
- metadata?: {
1504
- [x: string]: any;
1246
+ export type SessionMessageToolStateError = {
1247
+ status: "error";
1248
+ input: {
1249
+ [x: string]: JsonValue;
1505
1250
  };
1506
- type: "session.usage.updated";
1507
- location?: LocationRef;
1508
- data: {
1509
- sessionID: string;
1510
- cost: MoneyUSD;
1511
- tokens: TokenUsageInfo;
1251
+ error: SessionStructuredError;
1252
+ content?: [ToolContent, ...Array<ToolContent>];
1253
+ metadata?: {
1254
+ [x: string]: JsonValue;
1512
1255
  };
1513
1256
  };
1514
- export type SessionTextDelta = {
1515
- id: string;
1257
+ export type SessionAgentSelected = {
1258
+ id: EventID;
1516
1259
  created: number;
1517
1260
  metadata?: {
1518
1261
  [x: string]: any;
1519
1262
  };
1520
- type: "session.text.delta";
1263
+ type: "session.agent.selected";
1264
+ durable: {
1265
+ aggregateID: string;
1266
+ seq: EventSeq;
1267
+ version: 1;
1268
+ };
1521
1269
  location?: LocationRef;
1522
1270
  data: {
1523
- sessionID: string;
1524
- assistantMessageID: string;
1525
- ordinal: number;
1526
- delta: string;
1271
+ sessionID: SessionID;
1272
+ agent: AgentID;
1273
+ previous?: AgentID;
1527
1274
  };
1528
1275
  };
1529
- export type SessionReasoningDelta = {
1530
- id: string;
1276
+ export type SessionModelSelected = {
1277
+ id: EventID;
1531
1278
  created: number;
1532
1279
  metadata?: {
1533
1280
  [x: string]: any;
1534
1281
  };
1535
- type: "session.reasoning.delta";
1282
+ type: "session.model.selected";
1283
+ durable: {
1284
+ aggregateID: string;
1285
+ seq: EventSeq;
1286
+ version: 1;
1287
+ };
1536
1288
  location?: LocationRef;
1537
1289
  data: {
1538
- sessionID: string;
1539
- assistantMessageID: string;
1540
- ordinal: number;
1541
- delta: string;
1290
+ sessionID: SessionID;
1291
+ model: ModelRef;
1292
+ previous?: ModelRef;
1542
1293
  };
1543
1294
  };
1544
- export type SessionToolInputDelta = {
1545
- id: string;
1295
+ export type SessionMoved = {
1296
+ id: EventID;
1546
1297
  created: number;
1547
1298
  metadata?: {
1548
1299
  [x: string]: any;
1549
1300
  };
1550
- type: "session.tool.input.delta";
1301
+ type: "session.moved";
1302
+ durable: {
1303
+ aggregateID: string;
1304
+ seq: EventSeq;
1305
+ version: 1;
1306
+ };
1551
1307
  location?: LocationRef;
1552
1308
  data: {
1553
- sessionID: string;
1554
- assistantMessageID: string;
1555
- id: string;
1556
- delta: string;
1309
+ sessionID: SessionID;
1310
+ location: LocationRef;
1311
+ projectID: ProjectID;
1312
+ subpath?: RelativePath;
1557
1313
  };
1558
1314
  };
1559
- export type SessionToolProgress = {
1560
- id: string;
1315
+ export type SessionRenamed = {
1316
+ id: EventID;
1561
1317
  created: number;
1562
1318
  metadata?: {
1563
1319
  [x: string]: any;
1564
1320
  };
1565
- type: "session.tool.progress";
1321
+ type: "session.renamed";
1322
+ durable: {
1323
+ aggregateID: string;
1324
+ seq: EventSeq;
1325
+ version: 1;
1326
+ };
1566
1327
  location?: LocationRef;
1567
1328
  data: {
1568
- sessionID: string;
1569
- assistantMessageID: string;
1570
- id: string;
1571
- metadata: {
1572
- [x: string]: JsonValue;
1573
- };
1329
+ sessionID: SessionID;
1330
+ title: string;
1574
1331
  };
1575
1332
  };
1576
- export type SessionCompactionDelta = {
1577
- id: string;
1333
+ export type SessionMetadataUpdated = {
1334
+ id: EventID;
1578
1335
  created: number;
1579
1336
  metadata?: {
1580
1337
  [x: string]: any;
1581
1338
  };
1582
- type: "session.compaction.delta";
1339
+ type: "session.metadata.updated";
1340
+ durable: {
1341
+ aggregateID: string;
1342
+ seq: EventSeq;
1343
+ version: 1;
1344
+ };
1583
1345
  location?: LocationRef;
1584
1346
  data: {
1585
- sessionID: string;
1586
- text: string;
1347
+ sessionID: SessionID;
1348
+ metadata: SessionMetadata;
1587
1349
  };
1588
1350
  };
1589
- export type FilesystemChanged = {
1590
- id: string;
1351
+ export type SessionViewed = {
1352
+ id: EventID;
1591
1353
  created: number;
1592
1354
  metadata?: {
1593
1355
  [x: string]: any;
1594
1356
  };
1595
- type: "filesystem.changed";
1357
+ type: "session.viewed";
1358
+ durable: {
1359
+ aggregateID: string;
1360
+ seq: EventSeq;
1361
+ version: 1;
1362
+ };
1596
1363
  location?: LocationRef;
1597
1364
  data: {
1598
- file: string;
1599
- event: "add" | "change" | "unlink";
1600
- };
1601
- };
1602
- export type ReferenceUpdated = {
1603
- id: string;
1604
- created: number;
1605
- metadata?: {
1606
- [x: string]: any;
1365
+ sessionID: SessionID;
1366
+ idle: number;
1607
1367
  };
1608
- type: "reference.updated";
1609
- location?: LocationRef;
1610
- data: {};
1611
1368
  };
1612
- export type PluginUpdated = {
1613
- id: string;
1369
+ export type SessionDeleted = {
1370
+ id: EventID;
1614
1371
  created: number;
1615
1372
  metadata?: {
1616
1373
  [x: string]: any;
1617
1374
  };
1618
- type: "plugin.updated";
1619
- location?: LocationRef;
1620
- data: {};
1621
- };
1622
- export type WorktreeUpdated = {
1623
- id: string;
1624
- created: number;
1625
- metadata?: {
1626
- [x: string]: any;
1375
+ type: "session.deleted";
1376
+ durable: {
1377
+ aggregateID: string;
1378
+ seq: EventSeq;
1379
+ version: 2;
1627
1380
  };
1628
- type: "worktree.updated";
1629
1381
  location?: LocationRef;
1630
1382
  data: {
1631
- projectID: string;
1383
+ sessionID: SessionID;
1632
1384
  };
1633
1385
  };
1634
- export type WorktreeResolved = {
1635
- id: string;
1386
+ export type SessionForked = {
1387
+ id: EventID;
1636
1388
  created: number;
1637
1389
  metadata?: {
1638
1390
  [x: string]: any;
1639
1391
  };
1640
- type: "worktree.resolved";
1392
+ type: "session.forked";
1641
1393
  durable: {
1642
1394
  aggregateID: string;
1643
- seq: number;
1644
- version: 1;
1395
+ seq: EventSeq;
1396
+ version: 2;
1645
1397
  };
1646
1398
  location?: LocationRef;
1647
1399
  data: {
1648
- projectID: string;
1649
- directory: string;
1650
- previous: string;
1651
- adopted?: Array<string>;
1400
+ sessionID: SessionID;
1401
+ parentID: SessionID;
1402
+ boundary: SessionForkBoundary;
1403
+ instructions?: {
1404
+ [x: InstructionKey]: InstructionHash;
1405
+ };
1406
+ instructionEntries?: InstructionEntrySnapshot;
1652
1407
  };
1653
1408
  };
1654
- export type CommandUpdated = {
1655
- id: string;
1409
+ export type SessionInboxDelivered = {
1410
+ id: EventID;
1656
1411
  created: number;
1657
1412
  metadata?: {
1658
1413
  [x: string]: any;
1659
1414
  };
1660
- type: "command.updated";
1661
- location?: LocationRef;
1662
- data: {};
1663
- };
1664
- export type ConfigUpdated = {
1665
- id: string;
1666
- created: number;
1667
- metadata?: {
1668
- [x: string]: any;
1415
+ type: "session.inbox.delivered";
1416
+ durable: {
1417
+ aggregateID: string;
1418
+ seq: EventSeq;
1419
+ version: 1;
1669
1420
  };
1670
- type: "config.updated";
1671
1421
  location?: LocationRef;
1672
- data: {};
1422
+ data: {
1423
+ sessionID: SessionID;
1424
+ inboxID: SessionMessageID;
1425
+ };
1673
1426
  };
1674
- export type SkillUpdated = {
1675
- id: string;
1427
+ export type SessionInboxMovePayload1 = {
1428
+ location: LocationRef;
1429
+ projectID: ProjectID;
1430
+ subpath?: RelativePath;
1431
+ };
1432
+ export type SessionInboxCancelled = {
1433
+ id: EventID;
1676
1434
  created: number;
1677
1435
  metadata?: {
1678
1436
  [x: string]: any;
1679
1437
  };
1680
- type: "skill.updated";
1438
+ type: "session.inbox.cancelled";
1439
+ durable: {
1440
+ aggregateID: string;
1441
+ seq: EventSeq;
1442
+ version: 1;
1443
+ };
1681
1444
  location?: LocationRef;
1682
- data: {};
1445
+ data: {
1446
+ sessionID: SessionID;
1447
+ inboxID: SessionMessageID;
1448
+ };
1683
1449
  };
1684
- export type PtyExited = {
1685
- id: string;
1450
+ export type SessionInboxDeliveryChanged = {
1451
+ id: EventID;
1686
1452
  created: number;
1687
1453
  metadata?: {
1688
1454
  [x: string]: any;
1689
1455
  };
1690
- type: "pty.exited";
1456
+ type: "session.inbox.delivery.changed";
1457
+ durable: {
1458
+ aggregateID: string;
1459
+ seq: EventSeq;
1460
+ version: 1;
1461
+ };
1691
1462
  location?: LocationRef;
1692
1463
  data: {
1693
- id: string;
1694
- exitCode: number;
1464
+ sessionID: SessionID;
1465
+ inboxID: SessionMessageID;
1466
+ delivery: SessionInboxDelivery;
1695
1467
  };
1696
1468
  };
1697
- export type PtyDeleted = {
1698
- id: string;
1469
+ export type SessionExecutionStarted = {
1470
+ id: EventID;
1699
1471
  created: number;
1700
1472
  metadata?: {
1701
1473
  [x: string]: any;
1702
1474
  };
1703
- type: "pty.deleted";
1475
+ type: "session.execution.started";
1476
+ durable: {
1477
+ aggregateID: string;
1478
+ seq: EventSeq;
1479
+ version: 1;
1480
+ };
1704
1481
  location?: LocationRef;
1705
1482
  data: {
1706
- id: string;
1483
+ sessionID: SessionID;
1707
1484
  };
1708
1485
  };
1709
- export type PersistentPtyRemoved = {
1710
- id: string;
1486
+ export type SessionExecutionSucceeded = {
1487
+ id: EventID;
1711
1488
  created: number;
1712
1489
  metadata?: {
1713
1490
  [x: string]: any;
1714
1491
  };
1715
- type: "persistent-pty.removed";
1492
+ type: "session.execution.succeeded";
1493
+ durable: {
1494
+ aggregateID: string;
1495
+ seq: EventSeq;
1496
+ version: 1;
1497
+ };
1716
1498
  location?: LocationRef;
1717
1499
  data: {
1718
- sessionID: string;
1719
- ptyID: string;
1500
+ sessionID: SessionID;
1720
1501
  };
1721
1502
  };
1722
- export type ShellExited = {
1723
- id: string;
1503
+ export type SessionExecutionFailed = {
1504
+ id: EventID;
1724
1505
  created: number;
1725
1506
  metadata?: {
1726
1507
  [x: string]: any;
1727
1508
  };
1728
- type: "shell.exited";
1509
+ type: "session.execution.failed";
1510
+ durable: {
1511
+ aggregateID: string;
1512
+ seq: EventSeq;
1513
+ version: 1;
1514
+ };
1729
1515
  location?: LocationRef;
1730
1516
  data: {
1731
- id: string;
1732
- exit?: number;
1733
- status: "running" | "exited" | "timeout" | "killed";
1517
+ sessionID: SessionID;
1518
+ error: SessionStructuredError;
1734
1519
  };
1735
1520
  };
1736
- export type ShellDeleted = {
1737
- id: string;
1521
+ export type SessionExecutionInterrupted = {
1522
+ id: EventID;
1738
1523
  created: number;
1739
1524
  metadata?: {
1740
1525
  [x: string]: any;
1741
1526
  };
1742
- type: "shell.deleted";
1527
+ type: "session.execution.interrupted";
1528
+ durable: {
1529
+ aggregateID: string;
1530
+ seq: EventSeq;
1531
+ version: 1;
1532
+ };
1743
1533
  location?: LocationRef;
1744
1534
  data: {
1745
- id: string;
1535
+ sessionID: SessionID;
1536
+ reason: "user" | "shutdown" | "superseded" | "inactivity";
1746
1537
  };
1747
1538
  };
1748
- export type FormCancelled = {
1749
- id: string;
1539
+ export type SessionInstructionsUpdated = {
1540
+ id: EventID;
1750
1541
  created: number;
1751
1542
  metadata?: {
1752
1543
  [x: string]: any;
1753
1544
  };
1754
- type: "form.cancelled";
1545
+ type: "session.instructions.updated";
1546
+ durable: {
1547
+ aggregateID: string;
1548
+ seq: EventSeq;
1549
+ version: 2;
1550
+ };
1755
1551
  location?: LocationRef;
1756
1552
  data: {
1757
- id: string;
1758
- sessionID: string;
1553
+ sessionID: SessionID;
1554
+ delta: {
1555
+ [x: string]: InstructionHash | "removed";
1556
+ };
1557
+ text?: string;
1759
1558
  };
1760
1559
  };
1761
- export type WebsearchUpdated = {
1762
- id: string;
1560
+ export type SessionSynthetic = {
1561
+ id: EventID;
1763
1562
  created: number;
1764
1563
  metadata?: {
1765
1564
  [x: string]: any;
1766
1565
  };
1767
- type: "websearch.updated";
1566
+ type: "session.synthetic";
1567
+ durable: {
1568
+ aggregateID: string;
1569
+ seq: EventSeq;
1570
+ version: 1;
1571
+ };
1768
1572
  location?: LocationRef;
1769
- data: {};
1573
+ data: {
1574
+ sessionID: SessionID;
1575
+ text: string;
1576
+ description?: string;
1577
+ metadata?: {
1578
+ [x: string]: any;
1579
+ };
1580
+ };
1770
1581
  };
1771
- export type SessionIdle = {
1772
- id: string;
1582
+ export type SessionSkillActivated = {
1583
+ id: EventID;
1773
1584
  created: number;
1774
1585
  metadata?: {
1775
1586
  [x: string]: any;
1776
1587
  };
1777
- type: "session.idle";
1588
+ type: "session.skill.activated";
1589
+ durable: {
1590
+ aggregateID: string;
1591
+ seq: EventSeq;
1592
+ version: 1;
1593
+ };
1778
1594
  location?: LocationRef;
1779
1595
  data: {
1780
- sessionID: string;
1596
+ sessionID: SessionID;
1597
+ id: SkillID;
1598
+ name: SkillName;
1599
+ text: string;
1781
1600
  };
1782
1601
  };
1783
- export type TuiPromptAppend = {
1784
- id: string;
1602
+ export type SessionShellStarted = {
1603
+ id: EventID;
1785
1604
  created: number;
1786
1605
  metadata?: {
1787
1606
  [x: string]: any;
1788
1607
  };
1789
- type: "tui.prompt.append";
1608
+ type: "session.shell.started";
1609
+ durable: {
1610
+ aggregateID: string;
1611
+ seq: EventSeq;
1612
+ version: 1;
1613
+ };
1790
1614
  location?: LocationRef;
1791
1615
  data: {
1792
- text: string;
1616
+ sessionID: SessionID;
1617
+ shell: ShellInfo;
1793
1618
  };
1794
1619
  };
1795
- export type TuiCommandExecute = {
1796
- id: string;
1620
+ export type SessionShellEnded = {
1621
+ id: EventID;
1797
1622
  created: number;
1798
1623
  metadata?: {
1799
1624
  [x: string]: any;
1800
1625
  };
1801
- type: "tui.command.execute";
1626
+ type: "session.shell.ended";
1627
+ durable: {
1628
+ aggregateID: string;
1629
+ seq: EventSeq;
1630
+ version: 1;
1631
+ };
1802
1632
  location?: LocationRef;
1803
1633
  data: {
1804
- command: "session.list" | "session.new" | "session.share" | "session.interrupt" | "session.background" | "session.compact" | "session.page.up" | "session.page.down" | "session.line.up" | "session.line.down" | "session.half.page.up" | "session.half.page.down" | "session.first" | "session.last" | "prompt.clear" | "prompt.submit" | "agent.cycle" | (string & {});
1634
+ sessionID: SessionID;
1635
+ shell: ShellInfo;
1636
+ output: {
1637
+ output: string;
1638
+ cursor: number;
1639
+ size: number;
1640
+ truncated: boolean;
1641
+ };
1805
1642
  };
1806
1643
  };
1807
- export type TuiToastShow = {
1808
- id: string;
1644
+ export type SessionStepStarted = {
1645
+ id: EventID;
1809
1646
  created: number;
1810
1647
  metadata?: {
1811
1648
  [x: string]: any;
1812
1649
  };
1813
- type: "tui.toast.show";
1650
+ type: "session.step.started";
1651
+ durable: {
1652
+ aggregateID: string;
1653
+ seq: EventSeq;
1654
+ version: 1;
1655
+ };
1814
1656
  location?: LocationRef;
1815
1657
  data: {
1816
- title?: string;
1817
- message: string;
1818
- variant: "info" | "success" | "warning" | "error";
1819
- duration?: number | undefined;
1658
+ sessionID: SessionID;
1659
+ assistantMessageID: SessionMessageID;
1660
+ agent: AgentID;
1661
+ model: ModelRef;
1662
+ snapshot?: SnapshotID;
1663
+ started: number;
1820
1664
  };
1821
1665
  };
1822
- export type TuiSessionSelect = {
1823
- id: string;
1666
+ export type SessionStepStreamed = {
1667
+ id: EventID;
1824
1668
  created: number;
1825
1669
  metadata?: {
1826
1670
  [x: string]: any;
1827
1671
  };
1828
- type: "tui.session.select";
1672
+ type: "session.step.streamed";
1673
+ durable: {
1674
+ aggregateID: string;
1675
+ seq: EventSeq;
1676
+ version: 1;
1677
+ };
1829
1678
  location?: LocationRef;
1830
1679
  data: {
1831
- sessionID: string;
1680
+ sessionID: SessionID;
1681
+ assistantMessageID: SessionMessageID;
1832
1682
  };
1833
1683
  };
1834
- export type InstallationUpdated = {
1835
- id: string;
1684
+ export type SessionStepEnded = {
1685
+ id: EventID;
1836
1686
  created: number;
1837
1687
  metadata?: {
1838
1688
  [x: string]: any;
1839
1689
  };
1840
- type: "installation.updated";
1690
+ type: "session.step.ended";
1691
+ durable: {
1692
+ aggregateID: string;
1693
+ seq: EventSeq;
1694
+ version: 1;
1695
+ };
1841
1696
  location?: LocationRef;
1842
1697
  data: {
1843
- version: string;
1698
+ sessionID: SessionID;
1699
+ assistantMessageID: SessionMessageID;
1700
+ finish: "stop" | "length" | "tool-calls" | "content-filter" | "error" | "unknown";
1701
+ rawFinish?: string;
1702
+ providerState?: SessionMessageProviderState1;
1703
+ cost: MoneyUSD;
1704
+ tokens: TokenUsageInfo;
1705
+ snapshot?: SnapshotID;
1706
+ files?: Array<RelativePath>;
1844
1707
  };
1845
1708
  };
1846
- export type InstallationUpdateAvailable = {
1847
- id: string;
1709
+ export type SessionStepFailed = {
1710
+ id: EventID;
1848
1711
  created: number;
1849
1712
  metadata?: {
1850
1713
  [x: string]: any;
1851
1714
  };
1852
- type: "installation.update-available";
1715
+ type: "session.step.failed";
1716
+ durable: {
1717
+ aggregateID: string;
1718
+ seq: EventSeq;
1719
+ version: 1;
1720
+ };
1853
1721
  location?: LocationRef;
1854
1722
  data: {
1855
- version: string;
1723
+ sessionID: SessionID;
1724
+ assistantMessageID: SessionMessageID;
1725
+ error: SessionStructuredError;
1726
+ finish?: "content-filter";
1727
+ rawFinish?: string;
1728
+ providerState?: SessionMessageProviderState1;
1729
+ cost?: MoneyUSD;
1730
+ tokens?: TokenUsageInfo;
1731
+ snapshot?: SnapshotID;
1732
+ files?: Array<RelativePath>;
1856
1733
  };
1857
1734
  };
1858
- export type VcsBranchUpdated = {
1859
- id: string;
1735
+ export type SessionTextStarted = {
1736
+ id: EventID;
1860
1737
  created: number;
1861
1738
  metadata?: {
1862
1739
  [x: string]: any;
1863
1740
  };
1864
- type: "vcs.branch.updated";
1741
+ type: "session.text.started";
1742
+ durable: {
1743
+ aggregateID: string;
1744
+ seq: EventSeq;
1745
+ version: 1;
1746
+ };
1865
1747
  location?: LocationRef;
1866
1748
  data: {
1867
- branch?: string;
1749
+ sessionID: SessionID;
1750
+ assistantMessageID: SessionMessageID;
1751
+ ordinal: number;
1868
1752
  };
1869
1753
  };
1870
- export type McpStatusChanged = {
1871
- id: string;
1754
+ export type SessionTextEnded = {
1755
+ id: EventID;
1872
1756
  created: number;
1873
1757
  metadata?: {
1874
1758
  [x: string]: any;
1875
1759
  };
1876
- type: "mcp.status.changed";
1760
+ type: "session.text.ended";
1761
+ durable: {
1762
+ aggregateID: string;
1763
+ seq: EventSeq;
1764
+ version: 1;
1765
+ };
1877
1766
  location?: LocationRef;
1878
1767
  data: {
1879
- server: string;
1768
+ sessionID: SessionID;
1769
+ assistantMessageID: SessionMessageID;
1770
+ ordinal: number;
1771
+ text: string;
1772
+ state?: SessionMessageProviderState1;
1880
1773
  };
1881
1774
  };
1882
- export type McpResourcesChanged = {
1883
- id: string;
1775
+ export type SessionReasoningStarted = {
1776
+ id: EventID;
1884
1777
  created: number;
1885
1778
  metadata?: {
1886
1779
  [x: string]: any;
1887
1780
  };
1888
- type: "mcp.resources.changed";
1781
+ type: "session.reasoning.started";
1782
+ durable: {
1783
+ aggregateID: string;
1784
+ seq: EventSeq;
1785
+ version: 1;
1786
+ };
1889
1787
  location?: LocationRef;
1890
1788
  data: {
1891
- server: string;
1789
+ sessionID: SessionID;
1790
+ assistantMessageID: SessionMessageID;
1791
+ ordinal: number;
1792
+ state?: SessionMessageProviderState1;
1892
1793
  };
1893
1794
  };
1894
- export type SessionMoved = {
1895
- id: string;
1795
+ export type SessionReasoningEnded = {
1796
+ id: EventID;
1896
1797
  created: number;
1897
1798
  metadata?: {
1898
1799
  [x: string]: any;
1899
1800
  };
1900
- type: "session.moved";
1801
+ type: "session.reasoning.ended";
1901
1802
  durable: {
1902
1803
  aggregateID: string;
1903
- seq: number;
1804
+ seq: EventSeq;
1904
1805
  version: 1;
1905
1806
  };
1906
1807
  location?: LocationRef;
1907
1808
  data: {
1908
- sessionID: string;
1909
- location: LocationRef;
1910
- projectID: string;
1911
- subpath?: string;
1809
+ sessionID: SessionID;
1810
+ assistantMessageID: SessionMessageID;
1811
+ ordinal: number;
1812
+ text: string;
1813
+ state?: SessionMessageProviderState1;
1912
1814
  };
1913
1815
  };
1914
- export type SessionInboxMovePayload1 = {
1915
- location: LocationRef;
1916
- projectID: string;
1917
- subpath?: string;
1918
- };
1919
- export type SessionMetadataUpdated = {
1920
- id: string;
1816
+ export type SessionToolInputStarted = {
1817
+ id: EventID;
1921
1818
  created: number;
1922
1819
  metadata?: {
1923
1820
  [x: string]: any;
1924
1821
  };
1925
- type: "session.metadata.updated";
1822
+ type: "session.tool.input.started";
1926
1823
  durable: {
1927
1824
  aggregateID: string;
1928
- seq: number;
1825
+ seq: EventSeq;
1929
1826
  version: 1;
1930
1827
  };
1931
1828
  location?: LocationRef;
1932
1829
  data: {
1933
- sessionID: string;
1934
- metadata: SessionMetadata;
1830
+ sessionID: SessionID;
1831
+ assistantMessageID: SessionMessageID;
1832
+ id: string;
1833
+ name: string;
1935
1834
  };
1936
1835
  };
1937
- export type SessionShellStarted = {
1938
- id: string;
1836
+ export type SessionToolInputEnded = {
1837
+ id: EventID;
1939
1838
  created: number;
1940
1839
  metadata?: {
1941
1840
  [x: string]: any;
1942
1841
  };
1943
- type: "session.shell.started";
1842
+ type: "session.tool.input.ended";
1944
1843
  durable: {
1945
1844
  aggregateID: string;
1946
- seq: number;
1845
+ seq: EventSeq;
1947
1846
  version: 1;
1948
1847
  };
1949
1848
  location?: LocationRef;
1950
1849
  data: {
1951
- sessionID: string;
1952
- shell: ShellInfo;
1850
+ sessionID: SessionID;
1851
+ assistantMessageID: SessionMessageID;
1852
+ id: string;
1853
+ text: string;
1953
1854
  };
1954
1855
  };
1955
- export type SessionShellEnded = {
1956
- id: string;
1856
+ export type SessionToolCalled = {
1857
+ id: EventID;
1957
1858
  created: number;
1958
1859
  metadata?: {
1959
1860
  [x: string]: any;
1960
1861
  };
1961
- type: "session.shell.ended";
1862
+ type: "session.tool.called";
1962
1863
  durable: {
1963
1864
  aggregateID: string;
1964
- seq: number;
1865
+ seq: EventSeq;
1965
1866
  version: 1;
1966
1867
  };
1967
1868
  location?: LocationRef;
1968
1869
  data: {
1969
- sessionID: string;
1970
- shell: ShellInfo;
1971
- output: {
1972
- output: string;
1973
- cursor: number;
1974
- size: number;
1975
- truncated: boolean;
1870
+ sessionID: SessionID;
1871
+ assistantMessageID: SessionMessageID;
1872
+ id: string;
1873
+ input: {
1874
+ [x: string]: any;
1976
1875
  };
1876
+ executed: boolean;
1877
+ state?: SessionMessageProviderState1;
1977
1878
  };
1978
1879
  };
1979
- export type ShellCreated = {
1980
- id: string;
1880
+ export type SessionRetryScheduled = {
1881
+ id: EventID;
1981
1882
  created: number;
1982
1883
  metadata?: {
1983
1884
  [x: string]: any;
1984
1885
  };
1985
- type: "shell.created";
1886
+ type: "session.retry.scheduled";
1887
+ durable: {
1888
+ aggregateID: string;
1889
+ seq: EventSeq;
1890
+ version: 1;
1891
+ };
1986
1892
  location?: LocationRef;
1987
1893
  data: {
1988
- info: ShellInfo;
1894
+ sessionID: SessionID;
1895
+ assistantMessageID: SessionMessageID;
1896
+ attempt: number;
1897
+ at: number;
1898
+ error: SessionStructuredError;
1989
1899
  };
1990
1900
  };
1991
- export type SessionStepEnded = {
1992
- id: string;
1901
+ export type SessionCompactionStarted = {
1902
+ id: EventID;
1993
1903
  created: number;
1994
1904
  metadata?: {
1995
1905
  [x: string]: any;
1996
1906
  };
1997
- type: "session.step.ended";
1907
+ type: "session.compaction.started";
1998
1908
  durable: {
1999
1909
  aggregateID: string;
2000
- seq: number;
1910
+ seq: EventSeq;
2001
1911
  version: 1;
2002
1912
  };
2003
1913
  location?: LocationRef;
2004
1914
  data: {
2005
- sessionID: string;
2006
- assistantMessageID: string;
2007
- finish: "stop" | "length" | "tool-calls" | "content-filter" | "error" | "unknown";
2008
- rawFinish?: string;
2009
- providerState?: SessionMessageProviderState1;
2010
- cost: MoneyUSD;
2011
- tokens: TokenUsageInfo;
2012
- snapshot?: string;
2013
- files?: Array<string>;
1915
+ sessionID: SessionID;
1916
+ reason: "auto" | "manual";
1917
+ recent: string;
1918
+ inputID?: SessionMessageID;
2014
1919
  };
2015
1920
  };
2016
- export type SessionStepFailed = {
2017
- id: string;
1921
+ export type SessionCompactionFailed = {
1922
+ id: EventID;
2018
1923
  created: number;
2019
1924
  metadata?: {
2020
1925
  [x: string]: any;
2021
1926
  };
2022
- type: "session.step.failed";
1927
+ type: "session.compaction.failed";
2023
1928
  durable: {
2024
1929
  aggregateID: string;
2025
- seq: number;
1930
+ seq: EventSeq;
2026
1931
  version: 1;
2027
1932
  };
2028
1933
  location?: LocationRef;
2029
1934
  data: {
2030
- sessionID: string;
2031
- assistantMessageID: string;
1935
+ sessionID: SessionID;
1936
+ reason: "auto" | "manual";
2032
1937
  error: SessionStructuredError;
2033
- finish?: "content-filter";
2034
- rawFinish?: string;
2035
- providerState?: SessionMessageProviderState1;
1938
+ inputID?: SessionMessageID;
2036
1939
  cost?: MoneyUSD;
2037
1940
  tokens?: TokenUsageInfo;
2038
- snapshot?: string;
2039
- files?: Array<string>;
2040
1941
  };
2041
1942
  };
2042
- export type SessionTextEnded = {
2043
- id: string;
1943
+ export type SessionRevertStaged = {
1944
+ id: EventID;
2044
1945
  created: number;
2045
1946
  metadata?: {
2046
1947
  [x: string]: any;
2047
1948
  };
2048
- type: "session.text.ended";
1949
+ type: "session.revert.staged";
2049
1950
  durable: {
2050
1951
  aggregateID: string;
2051
- seq: number;
1952
+ seq: EventSeq;
2052
1953
  version: 1;
2053
1954
  };
2054
1955
  location?: LocationRef;
2055
1956
  data: {
2056
- sessionID: string;
2057
- assistantMessageID: string;
2058
- ordinal: number;
2059
- text: string;
2060
- state?: SessionMessageProviderState1;
1957
+ sessionID: SessionID;
1958
+ revert: SessionRevert;
2061
1959
  };
2062
1960
  };
2063
- export type SessionReasoningStarted = {
2064
- id: string;
1961
+ export type SessionRevertCleared = {
1962
+ id: EventID;
2065
1963
  created: number;
2066
1964
  metadata?: {
2067
1965
  [x: string]: any;
2068
1966
  };
2069
- type: "session.reasoning.started";
1967
+ type: "session.revert.cleared";
2070
1968
  durable: {
2071
1969
  aggregateID: string;
2072
- seq: number;
1970
+ seq: EventSeq;
2073
1971
  version: 1;
2074
1972
  };
2075
1973
  location?: LocationRef;
2076
1974
  data: {
2077
- sessionID: string;
2078
- assistantMessageID: string;
2079
- ordinal: number;
2080
- state?: SessionMessageProviderState1;
1975
+ sessionID: SessionID;
2081
1976
  };
2082
1977
  };
2083
- export type SessionReasoningEnded = {
2084
- id: string;
1978
+ export type SessionRevertCommitted = {
1979
+ id: EventID;
2085
1980
  created: number;
2086
1981
  metadata?: {
2087
1982
  [x: string]: any;
2088
1983
  };
2089
- type: "session.reasoning.ended";
1984
+ type: "session.revert.committed";
2090
1985
  durable: {
2091
1986
  aggregateID: string;
2092
- seq: number;
1987
+ seq: EventSeq;
2093
1988
  version: 1;
2094
1989
  };
2095
1990
  location?: LocationRef;
2096
1991
  data: {
2097
- sessionID: string;
2098
- assistantMessageID: string;
2099
- ordinal: number;
2100
- text: string;
2101
- state?: SessionMessageProviderState1;
1992
+ sessionID: SessionID;
1993
+ to: SessionMessageID;
2102
1994
  };
2103
1995
  };
2104
- export type SessionToolCalled = {
2105
- id: string;
1996
+ export type SessionUsageRecorded = {
1997
+ id: EventID;
2106
1998
  created: number;
2107
1999
  metadata?: {
2108
2000
  [x: string]: any;
2109
2001
  };
2110
- type: "session.tool.called";
2002
+ type: "session.usage.recorded";
2111
2003
  durable: {
2112
2004
  aggregateID: string;
2113
- seq: number;
2005
+ seq: EventSeq;
2114
2006
  version: 1;
2115
2007
  };
2116
2008
  location?: LocationRef;
2117
2009
  data: {
2118
- sessionID: string;
2119
- assistantMessageID: string;
2120
- id: string;
2121
- input: {
2122
- [x: string]: any;
2123
- };
2124
- executed: boolean;
2125
- state?: SessionMessageProviderState1;
2010
+ sessionID: SessionID;
2011
+ source: "title" | "compaction";
2012
+ cost: MoneyUSD;
2013
+ tokens: TokenUsageInfo;
2126
2014
  };
2127
2015
  };
2128
- export type SessionMessageAssistantText1 = {
2129
- type: "text";
2130
- text: string;
2131
- state?: SessionMessageProviderState1;
2132
- };
2133
- export type SessionMessageAssistantReasoning1 = {
2134
- type: "reasoning";
2135
- text: string;
2136
- state?: SessionMessageProviderState1;
2137
- time?: {
2138
- created: number;
2139
- completed?: number;
2016
+ export type LocationShutdown = {
2017
+ id: EventID;
2018
+ created: number;
2019
+ metadata?: {
2020
+ [x: string]: any;
2140
2021
  };
2022
+ type: "location.shutdown";
2023
+ location?: LocationRef;
2024
+ data: {};
2141
2025
  };
2142
- export type ToolContent1 = ToolTextContent | ToolFileContent1;
2143
- export type FormNumberField = {
2144
- key: string;
2145
- title?: string;
2146
- description?: string;
2147
- required?: boolean;
2148
- hidden?: boolean;
2149
- when?: Array<FormWhen>;
2150
- type: "number";
2151
- minimum?: number | "Infinity" | "-Infinity" | "NaN";
2152
- maximum?: number | "Infinity" | "-Infinity" | "NaN";
2153
- default?: number | "Infinity" | "-Infinity" | "NaN";
2026
+ export type ModelsDevRefreshed = {
2027
+ id: EventID;
2028
+ created: number;
2029
+ metadata?: {
2030
+ [x: string]: any;
2031
+ };
2032
+ type: "models-dev.refreshed";
2033
+ location?: LocationRef;
2034
+ data: {};
2154
2035
  };
2155
- export type FormIntegerField = {
2156
- key: string;
2157
- title?: string;
2158
- description?: string;
2159
- required?: boolean;
2160
- hidden?: boolean;
2161
- when?: Array<FormWhen>;
2162
- type: "integer";
2163
- minimum?: number | "Infinity" | "-Infinity" | "NaN";
2164
- maximum?: number | "Infinity" | "-Infinity" | "NaN";
2165
- default?: number | "Infinity" | "-Infinity" | "NaN";
2036
+ export type CredentialUpdated = {
2037
+ id: EventID;
2038
+ created: number;
2039
+ metadata?: {
2040
+ [x: string]: any;
2041
+ };
2042
+ type: "credential.updated";
2043
+ location?: LocationRef;
2044
+ data: {};
2166
2045
  };
2167
- export type FormBooleanField = {
2168
- key: string;
2169
- title?: string;
2170
- description?: string;
2171
- required?: boolean;
2172
- hidden?: boolean;
2173
- when?: Array<FormWhen>;
2174
- type: "boolean";
2175
- default?: boolean;
2046
+ export type CredentialSwitched = {
2047
+ id: EventID;
2048
+ created: number;
2049
+ metadata?: {
2050
+ [x: string]: any;
2051
+ };
2052
+ type: "credential.switched";
2053
+ location?: LocationRef;
2054
+ data: {
2055
+ integrationID: IntegrationID;
2056
+ credentialID: CredentialID | null;
2057
+ };
2176
2058
  };
2177
- export type FormStringField = {
2178
- key: string;
2179
- title?: string;
2180
- description?: string;
2181
- required?: boolean;
2182
- hidden?: boolean;
2183
- when?: Array<FormWhen>;
2184
- type: "string";
2185
- format?: "email" | "uri" | "date" | "date-time";
2186
- minLength?: number;
2187
- maxLength?: number;
2188
- pattern?: string;
2189
- placeholder?: string;
2190
- default?: string;
2191
- options?: Array<FormOption>;
2192
- custom?: boolean;
2059
+ export type IntegrationUpdated = {
2060
+ id: EventID;
2061
+ created: number;
2062
+ metadata?: {
2063
+ [x: string]: any;
2064
+ };
2065
+ type: "integration.updated";
2066
+ location?: LocationRef;
2067
+ data: {};
2193
2068
  };
2194
- export type FormMultiselectField = {
2195
- key: string;
2196
- title?: string;
2197
- description?: string;
2198
- required?: boolean;
2199
- hidden?: boolean;
2200
- when?: Array<FormWhen>;
2201
- type: "multiselect";
2202
- options: Array<FormOption>;
2203
- minItems?: number;
2204
- maxItems?: number;
2205
- custom?: boolean;
2206
- default?: Array<string>;
2069
+ export type ProviderUpdated = {
2070
+ id: EventID;
2071
+ created: number;
2072
+ metadata?: {
2073
+ [x: string]: any;
2074
+ };
2075
+ type: "provider.updated";
2076
+ location?: LocationRef;
2077
+ data: {};
2207
2078
  };
2208
- export type FormAnswer = {
2209
- [x: string]: FormValue;
2079
+ export type ModelUpdated = {
2080
+ id: EventID;
2081
+ created: number;
2082
+ metadata?: {
2083
+ [x: string]: any;
2084
+ };
2085
+ type: "model.updated";
2086
+ location?: LocationRef;
2087
+ data: {};
2210
2088
  };
2211
- export type ModelCompatibility = {
2212
- reasoningField?: ModelReasoningField;
2213
- requireReasoning?: boolean;
2214
- maxTokensField?: ModelMaxTokensField;
2215
- requireFinishReason?: boolean;
2216
- requireAssistantAfterTool?: boolean;
2217
- supportsPromptCacheKey?: boolean;
2218
- supportsThinkingBlockBinding?: boolean;
2219
- supportsEffortUpdates?: boolean;
2089
+ export type AgentUpdated = {
2090
+ id: EventID;
2091
+ created: number;
2092
+ metadata?: {
2093
+ [x: string]: any;
2094
+ };
2095
+ type: "agent.updated";
2096
+ location?: LocationRef;
2097
+ data: {};
2220
2098
  };
2221
- export type ModelCost = {
2222
- tier?: {
2223
- type: "context";
2224
- size: number;
2099
+ export type SessionUsageUpdated = {
2100
+ id: EventID;
2101
+ created: number;
2102
+ metadata?: {
2103
+ [x: string]: any;
2225
2104
  };
2226
- input: MoneyUSDPerMillionTokens;
2227
- output: MoneyUSDPerMillionTokens;
2228
- cache: {
2229
- read: MoneyUSDPerMillionTokens;
2230
- write: MoneyUSDPerMillionTokens;
2105
+ type: "session.usage.updated";
2106
+ location?: LocationRef;
2107
+ data: {
2108
+ sessionID: SessionID;
2109
+ cost: MoneyUSD;
2110
+ tokens: TokenUsageInfo;
2231
2111
  };
2232
2112
  };
2233
- export type ConnectionCredentialInfo = {
2234
- type: "credential";
2235
- id: string;
2236
- label: string;
2237
- method: "key" | "oauth" | "external";
2238
- status?: ConnectionStatus;
2113
+ export type SessionTextDelta = {
2114
+ id: EventID;
2115
+ created: number;
2116
+ metadata?: {
2117
+ [x: string]: any;
2118
+ };
2119
+ type: "session.text.delta";
2120
+ location?: LocationRef;
2121
+ data: {
2122
+ sessionID: SessionID;
2123
+ assistantMessageID: SessionMessageID;
2124
+ ordinal: number;
2125
+ delta: string;
2126
+ };
2239
2127
  };
2240
- export type ConnectionEnvInfo = {
2241
- type: "env";
2242
- name: string;
2243
- status?: ConnectionStatus;
2128
+ export type SessionReasoningDelta = {
2129
+ id: EventID;
2130
+ created: number;
2131
+ metadata?: {
2132
+ [x: string]: any;
2133
+ };
2134
+ type: "session.reasoning.delta";
2135
+ location?: LocationRef;
2136
+ data: {
2137
+ sessionID: SessionID;
2138
+ assistantMessageID: SessionMessageID;
2139
+ ordinal: number;
2140
+ delta: string;
2141
+ };
2244
2142
  };
2245
- export type McpServer = {
2246
- name: string;
2247
- status: McpStatusConnected | McpStatusPending | McpStatusDisabled | McpStatusFailed | McpStatusNeedsAuth;
2248
- integrationID?: string;
2143
+ export type SessionToolInputDelta = {
2144
+ id: EventID;
2145
+ created: number;
2146
+ metadata?: {
2147
+ [x: string]: any;
2148
+ };
2149
+ type: "session.tool.input.delta";
2150
+ location?: LocationRef;
2151
+ data: {
2152
+ sessionID: SessionID;
2153
+ assistantMessageID: SessionMessageID;
2154
+ id: string;
2155
+ delta: string;
2156
+ };
2249
2157
  };
2250
- export type McpResourceCatalog = {
2251
- resources: Array<McpResource>;
2252
- templates: Array<McpResourceTemplate>;
2158
+ export type SessionToolProgress = {
2159
+ id: EventID;
2160
+ created: number;
2161
+ metadata?: {
2162
+ [x: string]: any;
2163
+ };
2164
+ type: "session.tool.progress";
2165
+ location?: LocationRef;
2166
+ data: {
2167
+ sessionID: SessionID;
2168
+ assistantMessageID: SessionMessageID;
2169
+ id: string;
2170
+ metadata: {
2171
+ [x: string]: JsonValue;
2172
+ };
2173
+ };
2253
2174
  };
2254
- export type Project = {
2255
- id: string;
2256
- canonical: string;
2257
- vcs?: ProjectVcs;
2258
- name?: string;
2259
- icon?: ProjectIcon;
2260
- commands?: ProjectCommands;
2261
- time: ProjectTime;
2262
- sandboxes: Array<string>;
2175
+ export type SessionCompactionDelta = {
2176
+ id: EventID;
2177
+ created: number;
2178
+ metadata?: {
2179
+ [x: string]: any;
2180
+ };
2181
+ type: "session.compaction.delta";
2182
+ location?: LocationRef;
2183
+ data: {
2184
+ sessionID: SessionID;
2185
+ text: string;
2186
+ };
2263
2187
  };
2264
- export type ProjectUpdated = {
2265
- id: string;
2188
+ export type FilesystemChanged = {
2189
+ id: EventID;
2266
2190
  created: number;
2267
2191
  metadata?: {
2268
2192
  [x: string]: any;
2269
2193
  };
2270
- type: "project.updated";
2194
+ type: "filesystem.changed";
2271
2195
  location?: LocationRef;
2272
2196
  data: {
2273
- id: string;
2274
- canonical: string;
2275
- vcs?: ProjectVcs;
2276
- name?: string;
2277
- icon?: ProjectIcon;
2278
- commands?: ProjectCommands;
2279
- time: ProjectTime;
2280
- sandboxes: Array<string>;
2197
+ file: string;
2198
+ event: "add" | "change" | "unlink";
2281
2199
  };
2282
2200
  };
2283
- export type PermissionRequest = {
2284
- id: string;
2285
- sessionID: string;
2286
- action: string;
2287
- resources: Array<string>;
2288
- save?: Array<string>;
2201
+ export type ReferenceUpdated = {
2202
+ id: EventID;
2203
+ created: number;
2289
2204
  metadata?: {
2290
- [x: string]: JsonValue;
2205
+ [x: string]: any;
2291
2206
  };
2292
- source?: PermissionSource;
2293
- message?: string;
2207
+ type: "reference.updated";
2208
+ location?: LocationRef;
2209
+ data: {};
2294
2210
  };
2295
2211
  export type PermissionAsked = {
2296
- id: string;
2212
+ id: EventID;
2297
2213
  created: number;
2298
2214
  metadata?: {
2299
2215
  [x: string]: any;
@@ -2301,8 +2217,8 @@ export type PermissionAsked = {
2301
2217
  type: "permission.asked";
2302
2218
  location?: LocationRef;
2303
2219
  data: {
2304
- id: string;
2305
- sessionID: string;
2220
+ id: PermissionID;
2221
+ sessionID: SessionID;
2306
2222
  action: string;
2307
2223
  resources: Array<string>;
2308
2224
  save?: Array<string>;
@@ -2314,7 +2230,7 @@ export type PermissionAsked = {
2314
2230
  };
2315
2231
  };
2316
2232
  export type PermissionReplied = {
2317
- id: string;
2233
+ id: EventID;
2318
2234
  created: number;
2319
2235
  metadata?: {
2320
2236
  [x: string]: any;
@@ -2322,346 +2238,339 @@ export type PermissionReplied = {
2322
2238
  type: "permission.replied";
2323
2239
  location?: LocationRef;
2324
2240
  data: {
2325
- sessionID: string;
2326
- requestID: string;
2241
+ sessionID: SessionID;
2242
+ requestID: PermissionID;
2327
2243
  reply: PermissionReply;
2328
2244
  };
2329
2245
  };
2330
- export type PtyCreated = {
2331
- id: string;
2246
+ export type PluginUpdated = {
2247
+ id: EventID;
2332
2248
  created: number;
2333
2249
  metadata?: {
2334
2250
  [x: string]: any;
2335
2251
  };
2336
- type: "pty.created";
2252
+ type: "plugin.updated";
2253
+ location?: LocationRef;
2254
+ data: {};
2255
+ };
2256
+ export type ProjectUpdated = {
2257
+ id: EventID;
2258
+ created: number;
2259
+ metadata?: {
2260
+ [x: string]: any;
2261
+ };
2262
+ type: "project.updated";
2337
2263
  location?: LocationRef;
2338
2264
  data: {
2339
- info: Pty;
2265
+ id: ProjectID;
2266
+ canonical: AbsolutePath;
2267
+ vcs?: ProjectVcs;
2268
+ name?: string;
2269
+ icon?: ProjectIcon;
2270
+ commands?: ProjectCommands;
2271
+ time: ProjectTime;
2272
+ sandboxes: Array<string>;
2340
2273
  };
2341
2274
  };
2342
- export type PtyUpdated = {
2343
- id: string;
2275
+ export type WorktreeUpdated = {
2276
+ id: EventID;
2344
2277
  created: number;
2345
2278
  metadata?: {
2346
2279
  [x: string]: any;
2347
2280
  };
2348
- type: "pty.updated";
2281
+ type: "worktree.updated";
2349
2282
  location?: LocationRef;
2350
2283
  data: {
2351
- info: Pty;
2284
+ projectID: ProjectID;
2352
2285
  };
2353
2286
  };
2354
- export type PersistentPtyAdded = {
2355
- id: string;
2287
+ export type WorktreeResolved = {
2288
+ id: EventID;
2356
2289
  created: number;
2357
2290
  metadata?: {
2358
2291
  [x: string]: any;
2359
2292
  };
2360
- type: "persistent-pty.added";
2293
+ type: "worktree.resolved";
2294
+ durable: {
2295
+ aggregateID: string;
2296
+ seq: EventSeq;
2297
+ version: 1;
2298
+ };
2361
2299
  location?: LocationRef;
2362
2300
  data: {
2363
- sessionID: string;
2364
- terminal: PersistentPtyInfo;
2301
+ projectID: ProjectID;
2302
+ directory: AbsolutePath;
2303
+ previous: ProjectID;
2304
+ adopted?: Array<ProjectID>;
2365
2305
  };
2366
2306
  };
2367
- export type PersistentPtySnapshot = {
2368
- info: PersistentPtyInfo;
2369
- text: string;
2370
- checkpoint: string;
2371
- cursor: {
2372
- x: number;
2373
- y: number;
2307
+ export type CommandUpdated = {
2308
+ id: EventID;
2309
+ created: number;
2310
+ metadata?: {
2311
+ [x: string]: any;
2374
2312
  };
2313
+ type: "command.updated";
2314
+ location?: LocationRef;
2315
+ data: {};
2375
2316
  };
2376
- export type FormStringField1 = {
2377
- key: string;
2378
- title?: string;
2379
- description?: string;
2380
- required?: boolean;
2381
- hidden?: boolean;
2382
- when?: Array<FormWhen1>;
2383
- type: "string";
2384
- format?: "email" | "uri" | "date" | "date-time";
2385
- minLength?: number;
2386
- maxLength?: number;
2387
- pattern?: string;
2388
- placeholder?: string;
2389
- default?: string;
2390
- options?: Array<FormOption>;
2391
- custom?: boolean;
2392
- };
2393
- export type FormNumberField1 = {
2394
- key: string;
2395
- title?: string;
2396
- description?: string;
2397
- required?: boolean;
2398
- hidden?: boolean;
2399
- when?: Array<FormWhen1>;
2400
- type: "number";
2401
- minimum?: number;
2402
- maximum?: number;
2403
- default?: number;
2404
- };
2405
- export type FormIntegerField1 = {
2406
- key: string;
2407
- title?: string;
2408
- description?: string;
2409
- required?: boolean;
2410
- hidden?: boolean;
2411
- when?: Array<FormWhen1>;
2412
- type: "integer";
2413
- minimum?: number;
2414
- maximum?: number;
2415
- default?: number;
2416
- };
2417
- export type FormBooleanField1 = {
2418
- key: string;
2419
- title?: string;
2420
- description?: string;
2421
- required?: boolean;
2422
- hidden?: boolean;
2423
- when?: Array<FormWhen1>;
2424
- type: "boolean";
2425
- default?: boolean;
2426
- };
2427
- export type FormMultiselectField1 = {
2428
- key: string;
2429
- title?: string;
2430
- description?: string;
2431
- required?: boolean;
2432
- hidden?: boolean;
2433
- when?: Array<FormWhen1>;
2434
- type: "multiselect";
2435
- options: Array<FormOption>;
2436
- minItems?: number;
2437
- maxItems?: number;
2438
- custom?: boolean;
2439
- default?: Array<string>;
2317
+ export type ConfigUpdated = {
2318
+ id: EventID;
2319
+ created: number;
2320
+ metadata?: {
2321
+ [x: string]: any;
2322
+ };
2323
+ type: "config.updated";
2324
+ location?: LocationRef;
2325
+ data: {};
2440
2326
  };
2441
- export type FormAnswer2 = {
2442
- [x: string]: FormValue1;
2327
+ export type SkillUpdated = {
2328
+ id: EventID;
2329
+ created: number;
2330
+ metadata?: {
2331
+ [x: string]: any;
2332
+ };
2333
+ type: "skill.updated";
2334
+ location?: LocationRef;
2335
+ data: {};
2443
2336
  };
2444
- export type SessionStatusUpdated = {
2445
- id: string;
2337
+ export type PtyExited = {
2338
+ id: EventID;
2446
2339
  created: number;
2447
2340
  metadata?: {
2448
2341
  [x: string]: any;
2449
2342
  };
2450
- type: "session.status";
2343
+ type: "pty.exited";
2451
2344
  location?: LocationRef;
2452
2345
  data: {
2453
- sessionID: string;
2454
- status: SessionStatus;
2346
+ id: PtyID;
2347
+ exitCode: number;
2455
2348
  };
2456
2349
  };
2457
- export type ReferenceSource = ReferenceLocalSource | ReferenceGitSource;
2458
- export type WorktreeList = Array<WorktreeDirectory>;
2459
- export type VcsInfo = {
2460
- provider?: string;
2461
- branch: VcsBranch;
2462
- };
2463
- export type SessionInboxMove = {
2464
- id: string;
2465
- sessionID: string;
2466
- time: {
2467
- created: number;
2350
+ export type PtyDeleted = {
2351
+ id: EventID;
2352
+ created: number;
2353
+ metadata?: {
2354
+ [x: string]: any;
2468
2355
  };
2469
- type: "move";
2470
- delivery: SessionInboxDelivery;
2471
- payload: SessionInboxMovePayload;
2472
- };
2473
- export type ModelVariant = {
2474
- id: string;
2475
- settings?: ModelSettings;
2476
- headers?: {
2477
- [x: string]: string;
2356
+ type: "pty.deleted";
2357
+ location?: LocationRef;
2358
+ data: {
2359
+ id: PtyID;
2478
2360
  };
2479
- body?: {
2361
+ };
2362
+ export type PersistentPtyRemoved = {
2363
+ id: EventID;
2364
+ created: number;
2365
+ metadata?: {
2480
2366
  [x: string]: any;
2481
2367
  };
2482
- };
2483
- export type ProviderRequest = {
2484
- settings: ProviderSettings;
2485
- headers: {
2486
- [x: string]: string;
2368
+ type: "persistent-pty.removed";
2369
+ location?: LocationRef;
2370
+ data: {
2371
+ sessionID: SessionID;
2372
+ ptyID: PtyID;
2487
2373
  };
2488
- body: {
2374
+ };
2375
+ export type ShellCreated = {
2376
+ id: EventID;
2377
+ created: number;
2378
+ metadata?: {
2489
2379
  [x: string]: any;
2490
2380
  };
2491
- };
2492
- export type ProviderInfo = {
2493
- id: string;
2494
- canonical?: string;
2495
- integrationID?: string;
2496
- name: string;
2497
- activation: "auto" | "enabled" | "disabled";
2498
- package: string;
2499
- settings?: ProviderSettings;
2500
- headers?: {
2501
- [x: string]: string;
2381
+ type: "shell.created";
2382
+ location?: LocationRef;
2383
+ data: {
2384
+ info: ShellInfo;
2502
2385
  };
2503
- body?: {
2386
+ };
2387
+ export type ShellExited = {
2388
+ id: EventID;
2389
+ created: number;
2390
+ metadata?: {
2504
2391
  [x: string]: any;
2505
2392
  };
2393
+ type: "shell.exited";
2394
+ location?: LocationRef;
2395
+ data: {
2396
+ id: ShellID;
2397
+ exit?: number;
2398
+ status: "running" | "exited" | "timeout" | "killed";
2399
+ };
2506
2400
  };
2507
- export type PermissionRuleset = Array<PermissionRule>;
2508
- export type SessionRevertStaged = {
2509
- id: string;
2401
+ export type ShellDeleted = {
2402
+ id: EventID;
2510
2403
  created: number;
2511
2404
  metadata?: {
2512
2405
  [x: string]: any;
2513
2406
  };
2514
- type: "session.revert.staged";
2515
- durable: {
2516
- aggregateID: string;
2517
- seq: number;
2518
- version: 1;
2407
+ type: "shell.deleted";
2408
+ location?: LocationRef;
2409
+ data: {
2410
+ id: ShellID;
2411
+ };
2412
+ };
2413
+ export type FormCancelled = {
2414
+ id: EventID;
2415
+ created: number;
2416
+ metadata?: {
2417
+ [x: string]: any;
2519
2418
  };
2419
+ type: "form.cancelled";
2520
2420
  location?: LocationRef;
2521
2421
  data: {
2422
+ id: FormID;
2522
2423
  sessionID: string;
2523
- revert: SessionRevert;
2524
2424
  };
2525
2425
  };
2526
- export type SessionStatsInfo = {
2527
- range: {
2528
- from: number;
2529
- to: number;
2426
+ export type WebsearchUpdated = {
2427
+ id: EventID;
2428
+ created: number;
2429
+ metadata?: {
2430
+ [x: string]: any;
2530
2431
  };
2531
- sessions: number;
2532
- subagents: number;
2533
- prompts: number;
2534
- steps: number;
2535
- tokens: TokenUsageInfo;
2536
- cost: MoneyUSD;
2537
- tools: SessionStatsTools;
2538
- activeDays: number;
2539
- streak: number;
2540
- activity: Array<SessionStatsActivity>;
2541
- models: Array<SessionStatsModelUsage>;
2432
+ type: "websearch.updated";
2433
+ location?: LocationRef;
2434
+ data: {};
2542
2435
  };
2543
- export type SessionMessageUser = {
2544
- id: string;
2436
+ export type SessionStatusUpdated = {
2437
+ id: EventID;
2438
+ created: number;
2545
2439
  metadata?: {
2546
- [x: string]: JsonValue;
2440
+ [x: string]: any;
2547
2441
  };
2548
- time: {
2549
- created: number;
2442
+ type: "session.status";
2443
+ location?: LocationRef;
2444
+ data: {
2445
+ sessionID: SessionID;
2446
+ status: SessionStatus;
2550
2447
  };
2551
- text: string;
2552
- files?: Array<PromptFileAttachment>;
2553
- agents?: Array<PromptAgentAttachment>;
2554
- skills?: Array<PromptSkillAttachment>;
2555
- type: "user";
2556
2448
  };
2557
- export type SessionInboxUserPayload = {
2558
- text: string;
2559
- files?: Array<PromptFileAttachment>;
2560
- agents?: Array<PromptAgentAttachment>;
2561
- skills?: Array<PromptSkillAttachment>;
2449
+ export type SessionIdle = {
2450
+ id: EventID;
2451
+ created: number;
2562
2452
  metadata?: {
2563
- [x: string]: JsonValue;
2453
+ [x: string]: any;
2454
+ };
2455
+ type: "session.idle";
2456
+ location?: LocationRef;
2457
+ data: {
2458
+ sessionID: SessionID;
2564
2459
  };
2565
2460
  };
2566
- export type SessionInboxUserPayload1 = {
2567
- text: string;
2568
- files?: Array<PromptFileAttachment>;
2569
- agents?: Array<PromptAgentAttachment>;
2570
- skills?: Array<PromptSkillAttachment>;
2461
+ export type TuiPromptAppend = {
2462
+ id: EventID;
2463
+ created: number;
2571
2464
  metadata?: {
2572
2465
  [x: string]: any;
2573
2466
  };
2467
+ type: "tui.prompt.append";
2468
+ location?: LocationRef;
2469
+ data: {
2470
+ text: string;
2471
+ };
2574
2472
  };
2575
- export type SessionMessageToolStateCompleted = {
2576
- status: "completed";
2577
- input: {
2578
- [x: string]: JsonValue;
2473
+ export type TuiCommandExecute = {
2474
+ id: EventID;
2475
+ created: number;
2476
+ metadata?: {
2477
+ [x: string]: any;
2579
2478
  };
2580
- content: [ToolContent, ...Array<ToolContent>];
2479
+ type: "tui.command.execute";
2480
+ location?: LocationRef;
2481
+ data: {
2482
+ command: "session.list" | "session.new" | "session.share" | "session.interrupt" | "session.background" | "session.compact" | "session.page.up" | "session.page.down" | "session.line.up" | "session.line.down" | "session.half.page.up" | "session.half.page.down" | "session.first" | "session.last" | "prompt.clear" | "prompt.submit" | "agent.cycle" | (string & {});
2483
+ };
2484
+ };
2485
+ export type TuiToastShow = {
2486
+ id: EventID;
2487
+ created: number;
2581
2488
  metadata?: {
2582
- [x: string]: JsonValue;
2489
+ [x: string]: any;
2490
+ };
2491
+ type: "tui.toast.show";
2492
+ location?: LocationRef;
2493
+ data: {
2494
+ title?: string;
2495
+ message: string;
2496
+ variant: "info" | "success" | "warning" | "error";
2497
+ duration?: number | undefined;
2583
2498
  };
2584
2499
  };
2585
- export type SessionMessageToolStateError = {
2586
- status: "error";
2587
- input: {
2588
- [x: string]: JsonValue;
2500
+ export type TuiSessionSelect = {
2501
+ id: EventID;
2502
+ created: number;
2503
+ metadata?: {
2504
+ [x: string]: any;
2589
2505
  };
2590
- error: SessionStructuredError;
2591
- content?: [ToolContent, ...Array<ToolContent>];
2506
+ type: "tui.session.select";
2507
+ location?: LocationRef;
2508
+ data: {
2509
+ sessionID: SessionID;
2510
+ };
2511
+ };
2512
+ export type InstallationUpdated = {
2513
+ id: EventID;
2514
+ created: number;
2592
2515
  metadata?: {
2593
- [x: string]: JsonValue;
2516
+ [x: string]: any;
2517
+ };
2518
+ type: "installation.updated";
2519
+ location?: LocationRef;
2520
+ data: {
2521
+ version: string;
2594
2522
  };
2595
2523
  };
2596
- export type SessionMessageCompactionCompleted = {
2597
- type: "compaction";
2598
- id: string;
2524
+ export type InstallationUpdateAvailable = {
2525
+ id: EventID;
2526
+ created: number;
2599
2527
  metadata?: {
2600
- [x: string]: JsonValue;
2528
+ [x: string]: any;
2601
2529
  };
2602
- time: {
2603
- created: number;
2530
+ type: "installation.update-available";
2531
+ location?: LocationRef;
2532
+ data: {
2533
+ version: string;
2604
2534
  };
2605
- status: "completed";
2606
- reason: "auto" | "manual";
2607
- model?: ModelRef;
2608
- providerState?: SessionMessageProviderState;
2609
- summary: string;
2610
- recent: string;
2611
- providerContext?: SessionProviderContext;
2612
- cost?: MoneyUSD;
2613
- tokens?: TokenUsageInfo;
2614
2535
  };
2615
- export type SessionCompactionEnded = {
2616
- id: string;
2536
+ export type VcsBranchUpdated = {
2537
+ id: EventID;
2617
2538
  created: number;
2618
2539
  metadata?: {
2619
2540
  [x: string]: any;
2620
2541
  };
2621
- type: "session.compaction.ended";
2622
- durable: {
2623
- aggregateID: string;
2624
- seq: number;
2625
- version: 1;
2542
+ type: "vcs.branch.updated";
2543
+ location?: LocationRef;
2544
+ data: {
2545
+ branch?: string;
2546
+ };
2547
+ };
2548
+ export type McpStatusChanged = {
2549
+ id: EventID;
2550
+ created: number;
2551
+ metadata?: {
2552
+ [x: string]: any;
2626
2553
  };
2554
+ type: "mcp.status.changed";
2627
2555
  location?: LocationRef;
2628
2556
  data: {
2629
- sessionID: string;
2630
- reason: "auto" | "manual";
2631
- model?: ModelRef;
2632
- providerState?: SessionMessageProviderState1;
2633
- providerContext?: SessionProviderContext;
2634
- text: string;
2635
- recent: string;
2636
- cost?: MoneyUSD;
2637
- tokens?: TokenUsageInfo;
2557
+ server: string;
2638
2558
  };
2639
2559
  };
2640
- export type SessionForked = {
2641
- id: string;
2560
+ export type McpResourcesChanged = {
2561
+ id: EventID;
2642
2562
  created: number;
2643
2563
  metadata?: {
2644
2564
  [x: string]: any;
2645
2565
  };
2646
- type: "session.forked";
2647
- durable: {
2648
- aggregateID: string;
2649
- seq: number;
2650
- version: 2;
2651
- };
2566
+ type: "mcp.resources.changed";
2652
2567
  location?: LocationRef;
2653
2568
  data: {
2654
- sessionID: string;
2655
- parentID: string;
2656
- boundary: SessionForkBoundary;
2657
- instructions?: {
2658
- [x: string]: string;
2659
- };
2660
- instructionEntries?: InstructionEntrySnapshot;
2569
+ server: string;
2661
2570
  };
2662
2571
  };
2663
2572
  export type SessionToolSuccess = {
2664
- id: string;
2573
+ id: EventID;
2665
2574
  created: number;
2666
2575
  metadata?: {
2667
2576
  [x: string]: any;
@@ -2669,13 +2578,13 @@ export type SessionToolSuccess = {
2669
2578
  type: "session.tool.success";
2670
2579
  durable: {
2671
2580
  aggregateID: string;
2672
- seq: number;
2581
+ seq: EventSeq;
2673
2582
  version: 2;
2674
2583
  };
2675
2584
  location?: LocationRef;
2676
2585
  data: {
2677
- sessionID: string;
2678
- assistantMessageID: string;
2586
+ sessionID: SessionID;
2587
+ assistantMessageID: SessionMessageID;
2679
2588
  id: string;
2680
2589
  content: [ToolContent1, ...Array<ToolContent1>];
2681
2590
  metadata?: {
@@ -2686,7 +2595,7 @@ export type SessionToolSuccess = {
2686
2595
  };
2687
2596
  };
2688
2597
  export type SessionToolFailed = {
2689
- id: string;
2598
+ id: EventID;
2690
2599
  created: number;
2691
2600
  metadata?: {
2692
2601
  [x: string]: any;
@@ -2694,13 +2603,13 @@ export type SessionToolFailed = {
2694
2603
  type: "session.tool.failed";
2695
2604
  durable: {
2696
2605
  aggregateID: string;
2697
- seq: number;
2606
+ seq: EventSeq;
2698
2607
  version: 2;
2699
2608
  };
2700
2609
  location?: LocationRef;
2701
2610
  data: {
2702
- sessionID: string;
2703
- assistantMessageID: string;
2611
+ sessionID: SessionID;
2612
+ assistantMessageID: SessionMessageID;
2704
2613
  id: string;
2705
2614
  error: SessionStructuredError;
2706
2615
  content?: [ToolContent1, ...Array<ToolContent1>];
@@ -2751,9 +2660,55 @@ export type CredentialKey = {
2751
2660
  configuration?: FormAnswer;
2752
2661
  };
2753
2662
  export type ConnectionInfo = ConnectionCredentialInfo | ConnectionEnvInfo;
2663
+ export type PtyCreated = {
2664
+ id: EventID;
2665
+ created: number;
2666
+ metadata?: {
2667
+ [x: string]: any;
2668
+ };
2669
+ type: "pty.created";
2670
+ location?: LocationRef;
2671
+ data: {
2672
+ info: Pty;
2673
+ };
2674
+ };
2675
+ export type PtyUpdated = {
2676
+ id: EventID;
2677
+ created: number;
2678
+ metadata?: {
2679
+ [x: string]: any;
2680
+ };
2681
+ type: "pty.updated";
2682
+ location?: LocationRef;
2683
+ data: {
2684
+ info: Pty;
2685
+ };
2686
+ };
2687
+ export type PersistentPtyAdded = {
2688
+ id: EventID;
2689
+ created: number;
2690
+ metadata?: {
2691
+ [x: string]: any;
2692
+ };
2693
+ type: "persistent-pty.added";
2694
+ location?: LocationRef;
2695
+ data: {
2696
+ sessionID: SessionID;
2697
+ terminal: PersistentPtyInfo;
2698
+ };
2699
+ };
2700
+ export type PersistentPtySnapshot = {
2701
+ info: PersistentPtyInfo;
2702
+ text: string;
2703
+ checkpoint: string;
2704
+ cursor: {
2705
+ x: number;
2706
+ y: number;
2707
+ };
2708
+ };
2754
2709
  export type FormField1 = FormStringField1 | FormNumberField1 | FormIntegerField1 | FormBooleanField1 | FormMultiselectField1 | FormExternalField;
2755
2710
  export type FormReplied = {
2756
- id: string;
2711
+ id: EventID;
2757
2712
  created: number;
2758
2713
  metadata?: {
2759
2714
  [x: string]: any;
@@ -2761,23 +2716,94 @@ export type FormReplied = {
2761
2716
  type: "form.replied";
2762
2717
  location?: LocationRef;
2763
2718
  data: {
2764
- id: string;
2719
+ id: FormID;
2765
2720
  sessionID: string;
2766
2721
  answer: FormAnswer2;
2767
2722
  };
2768
2723
  };
2724
+ export type SessionInboxMove = {
2725
+ id: SessionMessageID;
2726
+ sessionID: SessionID;
2727
+ time: {
2728
+ created: number;
2729
+ };
2730
+ type: "move";
2731
+ delivery: SessionInboxDelivery;
2732
+ payload: SessionInboxMovePayload;
2733
+ };
2769
2734
  export type ReferenceInfo = {
2770
2735
  name: string;
2771
- path: string;
2736
+ path: AbsolutePath;
2772
2737
  description?: string;
2773
2738
  hidden?: boolean;
2774
2739
  source: ReferenceSource;
2775
2740
  };
2741
+ export type SessionStatsInfo = {
2742
+ range: {
2743
+ from: number;
2744
+ to: number;
2745
+ };
2746
+ sessions: number;
2747
+ subagents: number;
2748
+ prompts: number;
2749
+ steps: number;
2750
+ tokens: TokenUsageInfo;
2751
+ cost: MoneyUSD;
2752
+ tools: SessionStatsTools;
2753
+ activeDays: number;
2754
+ streak: number;
2755
+ activity: Array<SessionStatsActivity>;
2756
+ models: Array<SessionStatsModelUsage>;
2757
+ };
2758
+ export type SessionMessageCompactionCompleted = {
2759
+ type: "compaction";
2760
+ id: SessionMessageID;
2761
+ metadata?: {
2762
+ [x: string]: JsonValue;
2763
+ };
2764
+ time: {
2765
+ created: number;
2766
+ };
2767
+ status: "completed";
2768
+ reason: "auto" | "manual";
2769
+ model?: ModelRef;
2770
+ providerState?: SessionMessageProviderState;
2771
+ summary: string;
2772
+ recent: string;
2773
+ providerContext?: SessionProviderContext;
2774
+ cost?: MoneyUSD;
2775
+ tokens?: TokenUsageInfo;
2776
+ };
2777
+ export type SessionCompactionEnded = {
2778
+ id: EventID;
2779
+ created: number;
2780
+ metadata?: {
2781
+ [x: string]: any;
2782
+ };
2783
+ type: "session.compaction.ended";
2784
+ durable: {
2785
+ aggregateID: string;
2786
+ seq: EventSeq;
2787
+ version: 1;
2788
+ };
2789
+ location?: LocationRef;
2790
+ data: {
2791
+ sessionID: SessionID;
2792
+ reason: "auto" | "manual";
2793
+ model?: ModelRef;
2794
+ providerState?: SessionMessageProviderState1;
2795
+ providerContext?: SessionProviderContext;
2796
+ text: string;
2797
+ recent: string;
2798
+ cost?: MoneyUSD;
2799
+ tokens?: TokenUsageInfo;
2800
+ };
2801
+ };
2776
2802
  export type ModelInfo = {
2777
2803
  id: string;
2778
2804
  modelID: string;
2779
- providerID: string;
2780
- canonical?: string;
2805
+ providerID: ProviderID;
2806
+ canonical?: ProviderID;
2781
2807
  family?: string;
2782
2808
  name: string;
2783
2809
  compatibility?: ModelCompatibility;
@@ -2804,7 +2830,7 @@ export type ModelInfo = {
2804
2830
  };
2805
2831
  };
2806
2832
  export type AgentInfo = {
2807
- id: string;
2833
+ id: AgentID;
2808
2834
  name: string;
2809
2835
  model?: ModelRef;
2810
2836
  request: ProviderRequest;
@@ -2816,33 +2842,15 @@ export type AgentInfo = {
2816
2842
  steps?: number;
2817
2843
  permissions: PermissionRuleset;
2818
2844
  };
2819
- export type SessionPermissions = {
2820
- id: string;
2821
- created: number;
2822
- metadata?: {
2823
- [x: string]: any;
2824
- };
2825
- type: "session.permissions";
2826
- durable: {
2827
- aggregateID: string;
2828
- seq: number;
2829
- version: 1;
2830
- };
2831
- location?: LocationRef;
2832
- data: {
2833
- sessionID: string;
2834
- permissions: PermissionRuleset;
2835
- };
2836
- };
2837
2845
  export type SessionInfo = {
2838
- id: string;
2839
- parentID?: string;
2846
+ id: SessionID;
2847
+ parentID?: SessionID;
2840
2848
  fork?: {
2841
- sessionID: string;
2849
+ sessionID: SessionID;
2842
2850
  boundary: SessionForkBoundary;
2843
2851
  };
2844
- projectID: string;
2845
- agent?: string;
2852
+ projectID: ProjectID;
2853
+ agent?: AgentID;
2846
2854
  model?: ModelRef;
2847
2855
  cost: MoneyUSD;
2848
2856
  tokens: TokenUsageInfo;
@@ -2855,14 +2863,14 @@ export type SessionInfo = {
2855
2863
  archived?: number;
2856
2864
  };
2857
2865
  title?: string;
2858
- subpath?: string;
2866
+ subpath?: RelativePath;
2859
2867
  metadata?: SessionMetadata;
2860
2868
  permissions?: PermissionRuleset;
2861
2869
  revert?: SessionRevert;
2862
2870
  location: LocationPublicRef;
2863
2871
  };
2864
2872
  export type SessionCreated = {
2865
- id: string;
2873
+ id: EventID;
2866
2874
  created: number;
2867
2875
  metadata?: {
2868
2876
  [x: string]: any;
@@ -2870,28 +2878,46 @@ export type SessionCreated = {
2870
2878
  type: "session.created";
2871
2879
  durable: {
2872
2880
  aggregateID: string;
2873
- seq: number;
2881
+ seq: EventSeq;
2874
2882
  version: 1;
2875
2883
  };
2876
2884
  location?: LocationRef;
2877
2885
  data: {
2878
- sessionID: string;
2879
- projectID: string;
2886
+ sessionID: SessionID;
2887
+ projectID: ProjectID;
2880
2888
  location: LocationRef;
2881
- subpath?: string;
2882
- parentID?: string;
2889
+ subpath?: RelativePath;
2890
+ parentID?: SessionID;
2883
2891
  slug: string;
2884
2892
  title?: string;
2885
- agent?: string;
2893
+ agent?: AgentID;
2886
2894
  model?: ModelRef;
2887
2895
  metadata?: SessionMetadata;
2888
2896
  permissions?: PermissionRuleset;
2889
2897
  version: string;
2890
2898
  };
2891
2899
  };
2900
+ export type SessionPermissions = {
2901
+ id: EventID;
2902
+ created: number;
2903
+ metadata?: {
2904
+ [x: string]: any;
2905
+ };
2906
+ type: "session.permissions";
2907
+ durable: {
2908
+ aggregateID: string;
2909
+ seq: EventSeq;
2910
+ version: 1;
2911
+ };
2912
+ location?: LocationRef;
2913
+ data: {
2914
+ sessionID: SessionID;
2915
+ permissions: PermissionRuleset;
2916
+ };
2917
+ };
2892
2918
  export type ConfigEntry = {
2893
2919
  type: "document";
2894
- path?: string;
2920
+ path?: AbsolutePath;
2895
2921
  info: {
2896
2922
  $schema?: string;
2897
2923
  shell?: string;
@@ -3057,7 +3083,7 @@ export type ConfigEntry = {
3057
3083
  };
3058
3084
  };
3059
3085
  websearch?: false | {
3060
- provider: "random" | (string & {});
3086
+ provider: "random" | WebSearchID;
3061
3087
  };
3062
3088
  plugins?: Array<string | {
3063
3089
  package: string;
@@ -3073,7 +3099,7 @@ export type ConfigEntry = {
3073
3099
  };
3074
3100
  providers?: {
3075
3101
  [x: string]: {
3076
- canonical?: string;
3102
+ canonical?: ProviderID;
3077
3103
  name?: string;
3078
3104
  env?: Array<string>;
3079
3105
  package?: string;
@@ -3154,11 +3180,11 @@ export type ConfigEntry = {
3154
3180
  };
3155
3181
  } | {
3156
3182
  type: "directory";
3157
- path: string;
3183
+ path: AbsolutePath;
3158
3184
  };
3159
3185
  export type SessionInboxUser = {
3160
- id: string;
3161
- sessionID: string;
3186
+ id: SessionMessageID;
3187
+ sessionID: SessionID;
3162
3188
  time: {
3163
3189
  created: number;
3164
3190
  };
@@ -3166,6 +3192,20 @@ export type SessionInboxUser = {
3166
3192
  payload: SessionInboxUserPayload;
3167
3193
  delivery: SessionInboxDelivery;
3168
3194
  };
3195
+ export type SessionMessageAssistantTool = {
3196
+ type: "tool";
3197
+ id: string;
3198
+ name: string;
3199
+ executed?: boolean;
3200
+ providerState?: SessionMessageProviderState;
3201
+ providerResultState?: SessionMessageProviderState;
3202
+ state: SessionMessageToolStateStreaming | SessionMessageToolStateRunning | SessionMessageToolStateCompleted | SessionMessageToolStateError;
3203
+ time: {
3204
+ created: number;
3205
+ ran?: number;
3206
+ completed?: number;
3207
+ };
3208
+ };
3169
3209
  export type SessionInboxItem = {
3170
3210
  type: "user";
3171
3211
  payload: SessionInboxUserPayload1;
@@ -3183,21 +3223,6 @@ export type SessionInboxItem = {
3183
3223
  payload: SessionInboxMovePayload1;
3184
3224
  delivery: SessionInboxDelivery;
3185
3225
  };
3186
- export type SessionMessageAssistantTool = {
3187
- type: "tool";
3188
- id: string;
3189
- name: string;
3190
- executed?: boolean;
3191
- providerState?: SessionMessageProviderState;
3192
- providerResultState?: SessionMessageProviderState;
3193
- state: SessionMessageToolStateStreaming | SessionMessageToolStateRunning | SessionMessageToolStateCompleted | SessionMessageToolStateError;
3194
- time: {
3195
- created: number;
3196
- ran?: number;
3197
- completed?: number;
3198
- };
3199
- };
3200
- export type SessionMessageCompaction = SessionMessageCompactionRunning | SessionMessageCompactionCompleted | SessionMessageCompactionFailed;
3201
3226
  export type SessionMessageAssistantTool1 = {
3202
3227
  type: "tool";
3203
3228
  id: string;
@@ -3215,35 +3240,17 @@ export type SessionMessageAssistantTool1 = {
3215
3240
  export type FormFields = [FormField, ...Array<FormField>];
3216
3241
  export type CredentialValue = CredentialOAuth | CredentialKey | CredentialExternal;
3217
3242
  export type FormFields2 = [FormField1, ...Array<FormField1>];
3243
+ export type SessionMessageCompaction = SessionMessageCompactionRunning | SessionMessageCompactionCompleted | SessionMessageCompactionFailed;
3218
3244
  export type SessionsResponse = {
3219
3245
  data: Array<SessionInfo>;
3220
3246
  cursor: {
3221
- previous?: string | null;
3222
- next?: string | null;
3247
+ previous?: SessionsCursor | null;
3248
+ next?: SessionsCursor | null;
3223
3249
  };
3224
3250
  };
3225
3251
  export type SessionInboxInfo = SessionInboxUser | SessionInboxSynthetic | SessionInboxCompaction | SessionInboxMove;
3226
- export type SessionInboxEnqueued = {
3227
- id: string;
3228
- created: number;
3229
- metadata?: {
3230
- [x: string]: any;
3231
- };
3232
- type: "session.inbox.enqueued";
3233
- durable: {
3234
- aggregateID: string;
3235
- seq: number;
3236
- version: 1;
3237
- };
3238
- location?: LocationRef;
3239
- data: {
3240
- sessionID: string;
3241
- inboxID: string;
3242
- item: SessionInboxItem;
3243
- };
3244
- };
3245
3252
  export type SessionMessageAssistant = {
3246
- id: string;
3253
+ id: SessionMessageID;
3247
3254
  metadata?: {
3248
3255
  [x: string]: JsonValue;
3249
3256
  };
@@ -3253,13 +3260,13 @@ export type SessionMessageAssistant = {
3253
3260
  completed?: number;
3254
3261
  };
3255
3262
  type: "assistant";
3256
- agent: string;
3263
+ agent: AgentID;
3257
3264
  model: ModelRef;
3258
3265
  content: Array<SessionMessageAssistantText | SessionMessageAssistantReasoning | SessionMessageAssistantTool>;
3259
3266
  snapshot?: {
3260
- start?: string;
3261
- end?: string;
3262
- files?: Array<string>;
3267
+ start?: SnapshotID;
3268
+ end?: SnapshotID;
3269
+ files?: Array<RelativePath>;
3263
3270
  };
3264
3271
  finish?: "stop" | "length" | "tool-calls" | "content-filter" | "error" | "unknown";
3265
3272
  rawFinish?: string;
@@ -3269,16 +3276,35 @@ export type SessionMessageAssistant = {
3269
3276
  error?: SessionStructuredError;
3270
3277
  retry?: SessionMessageAssistantRetry;
3271
3278
  };
3279
+ export type SessionInboxEnqueued = {
3280
+ id: EventID;
3281
+ created: number;
3282
+ metadata?: {
3283
+ [x: string]: any;
3284
+ };
3285
+ type: "session.inbox.enqueued";
3286
+ durable: {
3287
+ aggregateID: string;
3288
+ seq: EventSeq;
3289
+ version: 1;
3290
+ };
3291
+ location?: LocationRef;
3292
+ data: {
3293
+ sessionID: SessionID;
3294
+ inboxID: SessionMessageID;
3295
+ item: SessionInboxItem;
3296
+ };
3297
+ };
3272
3298
  export type SessionMessageAssistantContentEncoded = SessionMessageAssistantText1 | SessionMessageAssistantReasoning1 | SessionMessageAssistantTool1;
3273
3299
  export type FormInfo = {
3274
- id: string;
3300
+ id: FormID;
3275
3301
  sessionID: string;
3276
3302
  title: string;
3277
3303
  metadata?: FormMetadata;
3278
3304
  fields: FormFields;
3279
3305
  };
3280
3306
  export type FormDetail = {
3281
- id: string;
3307
+ id: FormID;
3282
3308
  sessionID: string;
3283
3309
  title: string;
3284
3310
  metadata?: FormMetadata;
@@ -3286,7 +3312,7 @@ export type FormDetail = {
3286
3312
  state: FormState;
3287
3313
  };
3288
3314
  export type IntegrationOAuthMethod = {
3289
- id: string;
3315
+ id: IntegrationMethodID;
3290
3316
  type: "oauth";
3291
3317
  label: string;
3292
3318
  form?: FormFields;
@@ -3297,20 +3323,20 @@ export type IntegrationKeyMethod = {
3297
3323
  form?: FormFields;
3298
3324
  };
3299
3325
  export type IntegrationExternalMethod = {
3300
- id: string;
3326
+ id: IntegrationMethodID;
3301
3327
  type: "external";
3302
3328
  label: string;
3303
3329
  form?: FormFields;
3304
3330
  };
3305
3331
  export type CredentialEntry = {
3306
- id: string;
3307
- integrationID: string;
3332
+ id: CredentialID;
3333
+ integrationID: IntegrationID;
3308
3334
  label: string;
3309
3335
  active: boolean;
3310
3336
  value: CredentialValue;
3311
3337
  };
3312
3338
  export type FormInfo1 = {
3313
- id: string;
3339
+ id: FormID;
3314
3340
  sessionID: string;
3315
3341
  title: string;
3316
3342
  metadata?: FormMetadata1;
@@ -3318,7 +3344,7 @@ export type FormInfo1 = {
3318
3344
  };
3319
3345
  export type SessionMessageInfo = SessionMessageAgentSelected | SessionMessageModelSelected | SessionMessageLocationSwitched | SessionMessageUser | SessionMessageSynthetic | SessionMessageSystem | SessionMessageSkill | SessionMessageShell | SessionMessageAssistant | SessionMessageCompaction | SessionMessageIdle;
3320
3346
  export type SessionMessageContentUpdated = {
3321
- id: string;
3347
+ id: EventID;
3322
3348
  created: number;
3323
3349
  metadata?: {
3324
3350
  [x: string]: any;
@@ -3326,19 +3352,19 @@ export type SessionMessageContentUpdated = {
3326
3352
  type: "session.message.content.updated";
3327
3353
  durable: {
3328
3354
  aggregateID: string;
3329
- seq: number;
3355
+ seq: EventSeq;
3330
3356
  version: 1;
3331
3357
  };
3332
3358
  location?: LocationRef;
3333
3359
  data: {
3334
- sessionID: string;
3335
- messageID: string;
3360
+ sessionID: SessionID;
3361
+ messageID: SessionMessageID;
3336
3362
  content: Array<SessionMessageAssistantContentEncoded>;
3337
3363
  };
3338
3364
  };
3339
3365
  export type IntegrationMethod = IntegrationOAuthMethod | IntegrationCommandMethod | IntegrationKeyMethod | IntegrationExternalMethod | IntegrationEnvMethod;
3340
3366
  export type FormCreated = {
3341
- id: string;
3367
+ id: EventID;
3342
3368
  created: number;
3343
3369
  metadata?: {
3344
3370
  [x: string]: any;
@@ -3362,7 +3388,7 @@ export type SessionMessagesResponse = {
3362
3388
  };
3363
3389
  export type SessionEventDurable = SessionCreated | SessionAgentSelected | SessionModelSelected | SessionMoved | SessionRenamed | SessionMetadataUpdated | SessionPermissions | SessionViewed | SessionDeleted | SessionForked | SessionInboxDelivered | SessionInboxEnqueued | SessionInboxCancelled | SessionInboxDeliveryChanged | SessionExecutionStarted | SessionExecutionSucceeded | SessionExecutionFailed | SessionExecutionInterrupted | SessionInstructionsUpdated | SessionSynthetic | SessionSkillActivated | SessionShellStarted | SessionShellEnded | SessionStepStarted | SessionStepStreamed | SessionStepEnded | SessionStepFailed | SessionTextStarted | SessionTextEnded | SessionReasoningStarted | SessionReasoningEnded | SessionToolInputStarted | SessionToolInputEnded | SessionToolCalled | SessionToolSuccess | SessionToolFailed | SessionRetryScheduled | SessionCompactionStarted | SessionCompactionEnded | SessionCompactionFailed | SessionRevertStaged | SessionRevertCleared | SessionRevertCommitted | SessionUsageRecorded | SessionMessageContentUpdated;
3364
3390
  export type IntegrationInfo = {
3365
- id: string;
3391
+ id: IntegrationID;
3366
3392
  name: string;
3367
3393
  metadata?: {
3368
3394
  [x: string]: any;
@@ -5446,7 +5472,7 @@ export type SessionExportOutput = {
5446
5472
  }["data"];
5447
5473
  export type SessionActiveOutput = {
5448
5474
  data: {
5449
- [x: string]: SessionActive;
5475
+ [x: SessionID]: SessionActive;
5450
5476
  };
5451
5477
  }["data"];
5452
5478
  export type SessionGetInput = {
@@ -8033,7 +8059,7 @@ export type PermissionCreateInput = {
8033
8059
  };
8034
8060
  export type PermissionCreateOutput = {
8035
8061
  data: {
8036
- id: string;
8062
+ id: PermissionID;
8037
8063
  effect: PermissionEffect;
8038
8064
  };
8039
8065
  }["data"];
@@ -8861,7 +8887,7 @@ export type WebsearchQueryInput = {
8861
8887
  export type WebsearchQueryOutput = {
8862
8888
  location: LocationPublicRef;
8863
8889
  data: {
8864
- providerID: string;
8890
+ providerID: WebSearchID;
8865
8891
  results: Array<WebSearchResult>;
8866
8892
  };
8867
8893
  };