t3code-cli 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/application.js +1 -1
  2. package/dist/auth.js +1 -1
  3. package/dist/bin.js +48 -31
  4. package/dist/cli.js +1 -1
  5. package/dist/config.js +1 -1
  6. package/dist/connection.js +1 -1
  7. package/dist/index.js +1 -1
  8. package/dist/node.js +1 -1
  9. package/dist/rolldown-runtime.js +1 -1
  10. package/dist/rpc.js +1 -1
  11. package/dist/shared.js +11971 -1517
  12. package/dist/src/application/actions.d.ts +1 -1
  13. package/dist/src/application/layer.d.ts +42 -42
  14. package/dist/src/application/project-commands.d.ts +3 -3
  15. package/dist/src/application/projects.d.ts +1 -1
  16. package/dist/src/application/shell-sequence.d.ts +23 -28
  17. package/dist/src/application/terminals.d.ts +6 -6
  18. package/dist/src/application/thread-commands.d.ts +18 -18
  19. package/dist/src/application/thread-update.d.ts +1 -1
  20. package/dist/src/application/thread-wait.d.ts +19 -24
  21. package/dist/src/application/threads.d.ts +124 -149
  22. package/dist/src/auth/error.d.ts +1 -2
  23. package/dist/src/auth/layer.d.ts +2 -2
  24. package/dist/src/auth/local-origin.d.ts +2 -2
  25. package/dist/src/auth/local-token.d.ts +2 -2
  26. package/dist/src/auth/remote-error.d.ts +3 -0
  27. package/dist/src/config/config.d.ts +2 -2
  28. package/dist/src/config/credential/service.d.ts +2 -2
  29. package/dist/src/config/keystore/file.d.ts +1 -1
  30. package/dist/src/config/persist/migration.d.ts +3 -3
  31. package/dist/src/config/persist/persist.d.ts +4 -4
  32. package/dist/src/connection/error.d.ts +3 -1
  33. package/dist/src/connection/prepared.d.ts +14 -0
  34. package/dist/src/domain/helpers.d.ts +46 -51
  35. package/dist/src/domain/model-config.d.ts +91 -86
  36. package/dist/src/domain/thread-lifecycle.d.ts +23 -28
  37. package/dist/src/orchestration/layer.d.ts +308 -523
  38. package/dist/src/rpc/error.d.ts +4 -6
  39. package/dist/src/rpc/index.d.ts +3 -2
  40. package/dist/src/rpc/layer.d.ts +1890 -2299
  41. package/dist/src/rpc/operation.d.ts +4 -6260
  42. package/dist/src/rpc/service.d.ts +1 -1
  43. package/dist/src/rpc/session.d.ts +22 -0
  44. package/dist/src/rpc/ws-group.d.ts +439 -1180
  45. package/dist/src/runtime/layer.d.ts +10 -10
  46. package/dist/src/sql/node-sqlite-client.d.ts +1 -1
  47. package/dist/t3tools.js +2 -2
  48. package/package.json +8 -7
  49. package/src/application/thread-wait.ts +4 -0
  50. package/src/auth/error.ts +2 -8
  51. package/src/auth/remote-error.ts +17 -0
  52. package/src/auth/transport.ts +45 -114
  53. package/src/connection/error.ts +4 -1
  54. package/src/connection/layer.ts +5 -2
  55. package/src/connection/prepared.ts +83 -0
  56. package/src/orchestration/layer.ts +2 -1
  57. package/src/rpc/error.ts +9 -16
  58. package/src/rpc/index.ts +3 -2
  59. package/src/rpc/layer.ts +17 -51
  60. package/src/rpc/operation.ts +16 -2
  61. package/src/rpc/service.ts +2 -1
  62. package/src/rpc/session.ts +168 -0
  63. package/src/rpc/ws-group.ts +12 -26
  64. package/src/runtime/layer.ts +6 -3
@@ -31,7 +31,7 @@ export declare const makeThreadApplication: () => Effect.Effect<{
31
31
  dispatch: {
32
32
  readonly sequence: number;
33
33
  };
34
- }, ThreadLookupError | import("../rpc/error.ts").RpcError, never>;
34
+ }, import("../rpc/error.ts").RpcError | ThreadLookupError, never>;
35
35
  interruptThread: (threadId: string) => Effect.Effect<{
36
36
  readonly sequence: number;
37
37
  }, import("../rpc/error.ts").RpcError, never>;
@@ -46,6 +46,19 @@ export declare const makeThreadApplication: () => Effect.Effect<{
46
46
  readonly id: string & import("effect/Brand").Brand<"ProjectId">;
47
47
  readonly title: string;
48
48
  readonly workspaceRoot: string;
49
+ readonly repositoryIdentity?: {
50
+ readonly canonicalKey: string;
51
+ readonly locator: {
52
+ readonly source: "git-remote";
53
+ readonly remoteName: string;
54
+ readonly remoteUrl: string;
55
+ };
56
+ readonly rootPath?: string;
57
+ readonly displayName?: string;
58
+ readonly provider?: string;
59
+ readonly owner?: string;
60
+ readonly name?: string;
61
+ } | null | undefined;
49
62
  readonly defaultModelSelection: {
50
63
  readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
51
64
  readonly model: string;
@@ -58,26 +71,13 @@ export declare const makeThreadApplication: () => Effect.Effect<{
58
71
  readonly id: string;
59
72
  readonly name: string;
60
73
  readonly command: string;
61
- readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
74
+ readonly icon: "build" | "configure" | "debug" | "lint" | "play" | "test";
62
75
  readonly runOnWorktreeCreate: boolean;
63
76
  readonly previewUrl?: string | undefined;
64
77
  readonly autoOpenPreview?: boolean | undefined;
65
78
  }[];
66
79
  readonly createdAt: string;
67
80
  readonly updatedAt: string;
68
- readonly repositoryIdentity?: {
69
- readonly canonicalKey: string;
70
- readonly locator: {
71
- readonly source: "git-remote";
72
- readonly remoteName: string;
73
- readonly remoteUrl: string;
74
- };
75
- readonly rootPath?: string;
76
- readonly displayName?: string;
77
- readonly provider?: string;
78
- readonly owner?: string;
79
- readonly name?: string;
80
- } | null | undefined;
81
81
  };
82
82
  threads: {
83
83
  readonly id: string & import("effect/Brand").Brand<"ThreadId">;
@@ -91,13 +91,13 @@ export declare const makeThreadApplication: () => Effect.Effect<{
91
91
  readonly value: string | boolean;
92
92
  }[];
93
93
  };
94
- readonly runtimeMode: "approval-required" | "auto-accept-edits" | "full-access";
94
+ readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
95
95
  readonly interactionMode: "default" | "plan";
96
96
  readonly branch: string | null;
97
97
  readonly worktreePath: string | null;
98
98
  readonly latestTurn: {
99
99
  readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
100
- readonly state: "error" | "running" | "interrupted" | "completed";
100
+ readonly state: "completed" | "error" | "interrupted" | "running";
101
101
  readonly requestedAt: string;
102
102
  readonly startedAt: string | null;
103
103
  readonly completedAt: string | null;
@@ -110,24 +110,19 @@ export declare const makeThreadApplication: () => Effect.Effect<{
110
110
  readonly createdAt: string;
111
111
  readonly updatedAt: string;
112
112
  readonly archivedAt: string | null;
113
+ readonly settledOverride: "active" | "settled" | null;
114
+ readonly settledAt: string | null;
115
+ readonly snoozedUntil?: string | null | undefined;
116
+ readonly snoozedAt?: string | null | undefined;
113
117
  readonly session: {
114
118
  readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
115
- readonly status: "error" | "idle" | "starting" | "running" | "ready" | "interrupted" | "stopped";
119
+ readonly status: "error" | "idle" | "interrupted" | "ready" | "running" | "starting" | "stopped";
116
120
  readonly providerName: string | null;
117
- readonly runtimeMode: "approval-required" | "auto-accept-edits" | "full-access";
121
+ readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
122
+ readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
118
123
  readonly activeTurnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
119
124
  readonly lastError: string | null;
120
125
  readonly updatedAt: string;
121
- readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
122
- } | null;
123
- readonly goal: {
124
- readonly objective: string;
125
- readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
126
- readonly tokensUsed: number;
127
- readonly tokenBudget: number | null;
128
- readonly timeUsedSeconds: number;
129
- readonly createdAt: string;
130
- readonly updatedAt: string;
131
126
  } | null;
132
127
  readonly latestUserMessageAt: string | null;
133
128
  readonly hasPendingApprovals: boolean;
@@ -147,13 +142,13 @@ export declare const makeThreadApplication: () => Effect.Effect<{
147
142
  readonly value: string | boolean;
148
143
  }[];
149
144
  };
150
- readonly runtimeMode: "approval-required" | "auto-accept-edits" | "full-access";
145
+ readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
151
146
  readonly interactionMode: "default" | "plan";
152
147
  readonly branch: string | null;
153
148
  readonly worktreePath: string | null;
154
149
  readonly latestTurn: {
155
150
  readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
156
- readonly state: "error" | "running" | "interrupted" | "completed";
151
+ readonly state: "completed" | "error" | "interrupted" | "running";
157
152
  readonly requestedAt: string;
158
153
  readonly startedAt: string | null;
159
154
  readonly completedAt: string | null;
@@ -166,24 +161,15 @@ export declare const makeThreadApplication: () => Effect.Effect<{
166
161
  readonly createdAt: string;
167
162
  readonly updatedAt: string;
168
163
  readonly archivedAt: string | null;
164
+ readonly settledOverride: "active" | "settled" | null;
165
+ readonly settledAt: string | null;
166
+ readonly snoozedUntil?: string | null | undefined;
167
+ readonly snoozedAt?: string | null | undefined;
169
168
  readonly deletedAt: string | null;
170
- readonly goal: {
171
- readonly objective: string;
172
- readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
173
- readonly tokensUsed: number;
174
- readonly tokenBudget: number | null;
175
- readonly timeUsedSeconds: number;
176
- readonly createdAt: string;
177
- readonly updatedAt: string;
178
- } | null;
179
169
  readonly messages: readonly {
180
170
  readonly id: string & import("effect/Brand").Brand<"MessageId">;
181
- readonly role: "user" | "assistant" | "system";
171
+ readonly role: "assistant" | "system" | "user";
182
172
  readonly text: string;
183
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
184
- readonly streaming: boolean;
185
- readonly createdAt: string;
186
- readonly updatedAt: string;
187
173
  readonly attachments?: readonly {
188
174
  readonly type: "image";
189
175
  readonly id: string;
@@ -191,6 +177,10 @@ export declare const makeThreadApplication: () => Effect.Effect<{
191
177
  readonly mimeType: string;
192
178
  readonly sizeBytes: number;
193
179
  }[] | undefined;
180
+ readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
181
+ readonly streaming: boolean;
182
+ readonly createdAt: string;
183
+ readonly updatedAt: string;
194
184
  }[];
195
185
  readonly proposedPlans: readonly {
196
186
  readonly id: string;
@@ -203,19 +193,19 @@ export declare const makeThreadApplication: () => Effect.Effect<{
203
193
  }[];
204
194
  readonly activities: readonly {
205
195
  readonly id: string & import("effect/Brand").Brand<"EventId">;
206
- readonly tone: "error" | "info" | "tool" | "approval";
196
+ readonly tone: "approval" | "error" | "info" | "tool";
207
197
  readonly kind: string;
208
198
  readonly summary: string;
209
199
  readonly payload: unknown;
210
200
  readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
211
- readonly createdAt: string;
212
201
  readonly sequence?: number | undefined;
202
+ readonly createdAt: string;
213
203
  }[];
214
204
  readonly checkpoints: readonly {
215
205
  readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
216
206
  readonly checkpointTurnCount: number;
217
207
  readonly checkpointRef: string & import("effect/Brand").Brand<"CheckpointRef">;
218
- readonly status: "error" | "ready" | "missing";
208
+ readonly status: "error" | "missing" | "ready";
219
209
  readonly files: readonly {
220
210
  readonly path: string;
221
211
  readonly kind: string;
@@ -227,13 +217,13 @@ export declare const makeThreadApplication: () => Effect.Effect<{
227
217
  }[];
228
218
  readonly session: {
229
219
  readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
230
- readonly status: "error" | "idle" | "starting" | "running" | "ready" | "interrupted" | "stopped";
220
+ readonly status: "error" | "idle" | "interrupted" | "ready" | "running" | "starting" | "stopped";
231
221
  readonly providerName: string | null;
232
- readonly runtimeMode: "approval-required" | "auto-accept-edits" | "full-access";
222
+ readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
223
+ readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
233
224
  readonly activeTurnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
234
225
  readonly lastError: string | null;
235
226
  readonly updatedAt: string;
236
- readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
237
227
  } | null;
238
228
  }, import("../rpc/error.ts").RpcError, never>;
239
229
  respondToThread: (input: {
@@ -272,13 +262,13 @@ export declare const makeThreadApplication: () => Effect.Effect<{
272
262
  readonly value: string | boolean;
273
263
  }[];
274
264
  };
275
- readonly runtimeMode: "approval-required" | "auto-accept-edits" | "full-access";
265
+ readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
276
266
  readonly interactionMode: "default" | "plan";
277
267
  readonly branch: string | null;
278
268
  readonly worktreePath: string | null;
279
269
  readonly latestTurn: {
280
270
  readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
281
- readonly state: "error" | "running" | "interrupted" | "completed";
271
+ readonly state: "completed" | "error" | "interrupted" | "running";
282
272
  readonly requestedAt: string;
283
273
  readonly startedAt: string | null;
284
274
  readonly completedAt: string | null;
@@ -291,24 +281,15 @@ export declare const makeThreadApplication: () => Effect.Effect<{
291
281
  readonly createdAt: string;
292
282
  readonly updatedAt: string;
293
283
  readonly archivedAt: string | null;
284
+ readonly settledOverride: "active" | "settled" | null;
285
+ readonly settledAt: string | null;
286
+ readonly snoozedUntil?: string | null | undefined;
287
+ readonly snoozedAt?: string | null | undefined;
294
288
  readonly deletedAt: string | null;
295
- readonly goal: {
296
- readonly objective: string;
297
- readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
298
- readonly tokensUsed: number;
299
- readonly tokenBudget: number | null;
300
- readonly timeUsedSeconds: number;
301
- readonly createdAt: string;
302
- readonly updatedAt: string;
303
- } | null;
304
289
  readonly messages: readonly {
305
290
  readonly id: string & import("effect/Brand").Brand<"MessageId">;
306
- readonly role: "user" | "assistant" | "system";
291
+ readonly role: "assistant" | "system" | "user";
307
292
  readonly text: string;
308
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
309
- readonly streaming: boolean;
310
- readonly createdAt: string;
311
- readonly updatedAt: string;
312
293
  readonly attachments?: readonly {
313
294
  readonly type: "image";
314
295
  readonly id: string;
@@ -316,6 +297,10 @@ export declare const makeThreadApplication: () => Effect.Effect<{
316
297
  readonly mimeType: string;
317
298
  readonly sizeBytes: number;
318
299
  }[] | undefined;
300
+ readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
301
+ readonly streaming: boolean;
302
+ readonly createdAt: string;
303
+ readonly updatedAt: string;
319
304
  }[];
320
305
  readonly proposedPlans: readonly {
321
306
  readonly id: string;
@@ -328,19 +313,19 @@ export declare const makeThreadApplication: () => Effect.Effect<{
328
313
  }[];
329
314
  readonly activities: readonly {
330
315
  readonly id: string & import("effect/Brand").Brand<"EventId">;
331
- readonly tone: "error" | "info" | "tool" | "approval";
316
+ readonly tone: "approval" | "error" | "info" | "tool";
332
317
  readonly kind: string;
333
318
  readonly summary: string;
334
319
  readonly payload: unknown;
335
320
  readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
336
- readonly createdAt: string;
337
321
  readonly sequence?: number | undefined;
322
+ readonly createdAt: string;
338
323
  }[];
339
324
  readonly checkpoints: readonly {
340
325
  readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
341
326
  readonly checkpointTurnCount: number;
342
327
  readonly checkpointRef: string & import("effect/Brand").Brand<"CheckpointRef">;
343
- readonly status: "error" | "ready" | "missing";
328
+ readonly status: "error" | "missing" | "ready";
344
329
  readonly files: readonly {
345
330
  readonly path: string;
346
331
  readonly kind: string;
@@ -352,16 +337,16 @@ export declare const makeThreadApplication: () => Effect.Effect<{
352
337
  }[];
353
338
  readonly session: {
354
339
  readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
355
- readonly status: "error" | "idle" | "starting" | "running" | "ready" | "interrupted" | "stopped";
340
+ readonly status: "error" | "idle" | "interrupted" | "ready" | "running" | "starting" | "stopped";
356
341
  readonly providerName: string | null;
357
- readonly runtimeMode: "approval-required" | "auto-accept-edits" | "full-access";
342
+ readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
343
+ readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
358
344
  readonly activeTurnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
359
345
  readonly lastError: string | null;
360
346
  readonly updatedAt: string;
361
- readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
362
347
  } | null;
363
348
  };
364
- }, ThreadSessionError | import("../rpc/error.ts").RpcError, never>;
349
+ }, import("../rpc/error.ts").RpcError | ThreadSessionError, never>;
365
350
  showThread: (threadId: string) => Effect.Effect<ThreadShow, import("../rpc/error.ts").RpcError, never>;
366
351
  startThread: (startInput: StartThreadInput, policy?: {
367
352
  readonly until: "dispatch" | "visible" | "complete";
@@ -373,6 +358,19 @@ export declare const makeThreadApplication: () => Effect.Effect<{
373
358
  readonly id: string & import("effect/Brand").Brand<"ProjectId">;
374
359
  readonly title: string;
375
360
  readonly workspaceRoot: string;
361
+ readonly repositoryIdentity?: {
362
+ readonly canonicalKey: string;
363
+ readonly locator: {
364
+ readonly source: "git-remote";
365
+ readonly remoteName: string;
366
+ readonly remoteUrl: string;
367
+ };
368
+ readonly rootPath?: string;
369
+ readonly displayName?: string;
370
+ readonly provider?: string;
371
+ readonly owner?: string;
372
+ readonly name?: string;
373
+ } | null | undefined;
376
374
  readonly defaultModelSelection: {
377
375
  readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
378
376
  readonly model: string;
@@ -385,13 +383,24 @@ export declare const makeThreadApplication: () => Effect.Effect<{
385
383
  readonly id: string;
386
384
  readonly name: string;
387
385
  readonly command: string;
388
- readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
386
+ readonly icon: "build" | "configure" | "debug" | "lint" | "play" | "test";
389
387
  readonly runOnWorktreeCreate: boolean;
390
388
  readonly previewUrl?: string | undefined;
391
389
  readonly autoOpenPreview?: boolean | undefined;
392
390
  }[];
393
391
  readonly createdAt: string;
394
392
  readonly updatedAt: string;
393
+ };
394
+ threadId: string & import("effect/Brand").Brand<"ThreadId">;
395
+ thread?: never;
396
+ } | {
397
+ dispatch: {
398
+ readonly sequence: number;
399
+ };
400
+ project: {
401
+ readonly id: string & import("effect/Brand").Brand<"ProjectId">;
402
+ readonly title: string;
403
+ readonly workspaceRoot: string;
395
404
  readonly repositoryIdentity?: {
396
405
  readonly canonicalKey: string;
397
406
  readonly locator: {
@@ -405,17 +414,6 @@ export declare const makeThreadApplication: () => Effect.Effect<{
405
414
  readonly owner?: string;
406
415
  readonly name?: string;
407
416
  } | null | undefined;
408
- };
409
- threadId: string & import("effect/Brand").Brand<"ThreadId">;
410
- thread?: never;
411
- } | {
412
- dispatch: {
413
- readonly sequence: number;
414
- };
415
- project: {
416
- readonly id: string & import("effect/Brand").Brand<"ProjectId">;
417
- readonly title: string;
418
- readonly workspaceRoot: string;
419
417
  readonly defaultModelSelection: {
420
418
  readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
421
419
  readonly model: string;
@@ -428,26 +426,13 @@ export declare const makeThreadApplication: () => Effect.Effect<{
428
426
  readonly id: string;
429
427
  readonly name: string;
430
428
  readonly command: string;
431
- readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
429
+ readonly icon: "build" | "configure" | "debug" | "lint" | "play" | "test";
432
430
  readonly runOnWorktreeCreate: boolean;
433
431
  readonly previewUrl?: string | undefined;
434
432
  readonly autoOpenPreview?: boolean | undefined;
435
433
  }[];
436
434
  readonly createdAt: string;
437
435
  readonly updatedAt: string;
438
- readonly repositoryIdentity?: {
439
- readonly canonicalKey: string;
440
- readonly locator: {
441
- readonly source: "git-remote";
442
- readonly remoteName: string;
443
- readonly remoteUrl: string;
444
- };
445
- readonly rootPath?: string;
446
- readonly displayName?: string;
447
- readonly provider?: string;
448
- readonly owner?: string;
449
- readonly name?: string;
450
- } | null | undefined;
451
436
  };
452
437
  threadId: string & import("effect/Brand").Brand<"ThreadId">;
453
438
  thread: {
@@ -462,13 +447,13 @@ export declare const makeThreadApplication: () => Effect.Effect<{
462
447
  readonly value: string | boolean;
463
448
  }[];
464
449
  };
465
- readonly runtimeMode: "approval-required" | "auto-accept-edits" | "full-access";
450
+ readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
466
451
  readonly interactionMode: "default" | "plan";
467
452
  readonly branch: string | null;
468
453
  readonly worktreePath: string | null;
469
454
  readonly latestTurn: {
470
455
  readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
471
- readonly state: "error" | "running" | "interrupted" | "completed";
456
+ readonly state: "completed" | "error" | "interrupted" | "running";
472
457
  readonly requestedAt: string;
473
458
  readonly startedAt: string | null;
474
459
  readonly completedAt: string | null;
@@ -481,24 +466,15 @@ export declare const makeThreadApplication: () => Effect.Effect<{
481
466
  readonly createdAt: string;
482
467
  readonly updatedAt: string;
483
468
  readonly archivedAt: string | null;
469
+ readonly settledOverride: "active" | "settled" | null;
470
+ readonly settledAt: string | null;
471
+ readonly snoozedUntil?: string | null | undefined;
472
+ readonly snoozedAt?: string | null | undefined;
484
473
  readonly deletedAt: string | null;
485
- readonly goal: {
486
- readonly objective: string;
487
- readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
488
- readonly tokensUsed: number;
489
- readonly tokenBudget: number | null;
490
- readonly timeUsedSeconds: number;
491
- readonly createdAt: string;
492
- readonly updatedAt: string;
493
- } | null;
494
474
  readonly messages: readonly {
495
475
  readonly id: string & import("effect/Brand").Brand<"MessageId">;
496
- readonly role: "user" | "assistant" | "system";
476
+ readonly role: "assistant" | "system" | "user";
497
477
  readonly text: string;
498
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
499
- readonly streaming: boolean;
500
- readonly createdAt: string;
501
- readonly updatedAt: string;
502
478
  readonly attachments?: readonly {
503
479
  readonly type: "image";
504
480
  readonly id: string;
@@ -506,6 +482,10 @@ export declare const makeThreadApplication: () => Effect.Effect<{
506
482
  readonly mimeType: string;
507
483
  readonly sizeBytes: number;
508
484
  }[] | undefined;
485
+ readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
486
+ readonly streaming: boolean;
487
+ readonly createdAt: string;
488
+ readonly updatedAt: string;
509
489
  }[];
510
490
  readonly proposedPlans: readonly {
511
491
  readonly id: string;
@@ -518,19 +498,19 @@ export declare const makeThreadApplication: () => Effect.Effect<{
518
498
  }[];
519
499
  readonly activities: readonly {
520
500
  readonly id: string & import("effect/Brand").Brand<"EventId">;
521
- readonly tone: "error" | "info" | "tool" | "approval";
501
+ readonly tone: "approval" | "error" | "info" | "tool";
522
502
  readonly kind: string;
523
503
  readonly summary: string;
524
504
  readonly payload: unknown;
525
505
  readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
526
- readonly createdAt: string;
527
506
  readonly sequence?: number | undefined;
507
+ readonly createdAt: string;
528
508
  }[];
529
509
  readonly checkpoints: readonly {
530
510
  readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
531
511
  readonly checkpointTurnCount: number;
532
512
  readonly checkpointRef: string & import("effect/Brand").Brand<"CheckpointRef">;
533
- readonly status: "error" | "ready" | "missing";
513
+ readonly status: "error" | "missing" | "ready";
534
514
  readonly files: readonly {
535
515
  readonly path: string;
536
516
  readonly kind: string;
@@ -542,17 +522,17 @@ export declare const makeThreadApplication: () => Effect.Effect<{
542
522
  }[];
543
523
  readonly session: {
544
524
  readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
545
- readonly status: "error" | "idle" | "starting" | "running" | "ready" | "interrupted" | "stopped";
525
+ readonly status: "error" | "idle" | "interrupted" | "ready" | "running" | "starting" | "stopped";
546
526
  readonly providerName: string | null;
547
- readonly runtimeMode: "approval-required" | "auto-accept-edits" | "full-access";
527
+ readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
528
+ readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
548
529
  readonly activeTurnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
549
530
  readonly lastError: string | null;
550
531
  readonly updatedAt: string;
551
- readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
552
532
  } | null;
553
533
  };
554
- }, ProjectLookupError | import("../domain/error.ts").ModelSelectionError | ThreadSessionError | import("../rpc/error.ts").RpcError, never>;
555
- watchThread: (threadId: string) => Stream.Stream<import("./service.ts").WaitEvent, ThreadSessionError | import("../rpc/error.ts").RpcError, never>;
534
+ }, import("../domain/error.ts").ModelSelectionError | ProjectLookupError | import("../rpc/error.ts").RpcError | ThreadSessionError, never>;
535
+ watchThread: (threadId: string) => Stream.Stream<import("./service.ts").WaitEvent, import("../rpc/error.ts").RpcError | ThreadSessionError, never>;
556
536
  waitForThread: (threadId: string) => Effect.Effect<{
557
537
  readonly id: string & import("effect/Brand").Brand<"ThreadId">;
558
538
  readonly projectId: string & import("effect/Brand").Brand<"ProjectId">;
@@ -565,13 +545,13 @@ export declare const makeThreadApplication: () => Effect.Effect<{
565
545
  readonly value: string | boolean;
566
546
  }[];
567
547
  };
568
- readonly runtimeMode: "approval-required" | "auto-accept-edits" | "full-access";
548
+ readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
569
549
  readonly interactionMode: "default" | "plan";
570
550
  readonly branch: string | null;
571
551
  readonly worktreePath: string | null;
572
552
  readonly latestTurn: {
573
553
  readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
574
- readonly state: "error" | "running" | "interrupted" | "completed";
554
+ readonly state: "completed" | "error" | "interrupted" | "running";
575
555
  readonly requestedAt: string;
576
556
  readonly startedAt: string | null;
577
557
  readonly completedAt: string | null;
@@ -584,24 +564,15 @@ export declare const makeThreadApplication: () => Effect.Effect<{
584
564
  readonly createdAt: string;
585
565
  readonly updatedAt: string;
586
566
  readonly archivedAt: string | null;
567
+ readonly settledOverride: "active" | "settled" | null;
568
+ readonly settledAt: string | null;
569
+ readonly snoozedUntil?: string | null | undefined;
570
+ readonly snoozedAt?: string | null | undefined;
587
571
  readonly deletedAt: string | null;
588
- readonly goal: {
589
- readonly objective: string;
590
- readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
591
- readonly tokensUsed: number;
592
- readonly tokenBudget: number | null;
593
- readonly timeUsedSeconds: number;
594
- readonly createdAt: string;
595
- readonly updatedAt: string;
596
- } | null;
597
572
  readonly messages: readonly {
598
573
  readonly id: string & import("effect/Brand").Brand<"MessageId">;
599
- readonly role: "user" | "assistant" | "system";
574
+ readonly role: "assistant" | "system" | "user";
600
575
  readonly text: string;
601
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
602
- readonly streaming: boolean;
603
- readonly createdAt: string;
604
- readonly updatedAt: string;
605
576
  readonly attachments?: readonly {
606
577
  readonly type: "image";
607
578
  readonly id: string;
@@ -609,6 +580,10 @@ export declare const makeThreadApplication: () => Effect.Effect<{
609
580
  readonly mimeType: string;
610
581
  readonly sizeBytes: number;
611
582
  }[] | undefined;
583
+ readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
584
+ readonly streaming: boolean;
585
+ readonly createdAt: string;
586
+ readonly updatedAt: string;
612
587
  }[];
613
588
  readonly proposedPlans: readonly {
614
589
  readonly id: string;
@@ -621,19 +596,19 @@ export declare const makeThreadApplication: () => Effect.Effect<{
621
596
  }[];
622
597
  readonly activities: readonly {
623
598
  readonly id: string & import("effect/Brand").Brand<"EventId">;
624
- readonly tone: "error" | "info" | "tool" | "approval";
599
+ readonly tone: "approval" | "error" | "info" | "tool";
625
600
  readonly kind: string;
626
601
  readonly summary: string;
627
602
  readonly payload: unknown;
628
603
  readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
629
- readonly createdAt: string;
630
604
  readonly sequence?: number | undefined;
605
+ readonly createdAt: string;
631
606
  }[];
632
607
  readonly checkpoints: readonly {
633
608
  readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
634
609
  readonly checkpointTurnCount: number;
635
610
  readonly checkpointRef: string & import("effect/Brand").Brand<"CheckpointRef">;
636
- readonly status: "error" | "ready" | "missing";
611
+ readonly status: "error" | "missing" | "ready";
637
612
  readonly files: readonly {
638
613
  readonly path: string;
639
614
  readonly kind: string;
@@ -645,22 +620,22 @@ export declare const makeThreadApplication: () => Effect.Effect<{
645
620
  }[];
646
621
  readonly session: {
647
622
  readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
648
- readonly status: "error" | "idle" | "starting" | "running" | "ready" | "interrupted" | "stopped";
623
+ readonly status: "error" | "idle" | "interrupted" | "ready" | "running" | "starting" | "stopped";
649
624
  readonly providerName: string | null;
650
- readonly runtimeMode: "approval-required" | "auto-accept-edits" | "full-access";
625
+ readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
626
+ readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
651
627
  readonly activeTurnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
652
628
  readonly lastError: string | null;
653
629
  readonly updatedAt: string;
654
- readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
655
630
  } | null;
656
- }, ThreadSessionError | import("../rpc/error.ts").RpcError, never>;
631
+ }, import("../rpc/error.ts").RpcError | ThreadSessionError, never>;
657
632
  callbackThread: (input: CallbackThreadInput) => Effect.Effect<{
658
633
  dispatch: {
659
634
  readonly sequence: number;
660
635
  };
661
636
  targetThreadId: string;
662
- }, ThreadSessionError | import("../rpc/error.ts").RpcError, never>;
663
- }, never, CliRuntime | T3Orchestration | Path.Path | Crypto.Crypto>;
637
+ }, import("../rpc/error.ts").RpcError | ThreadSessionError, never>;
638
+ }, never, CliRuntime | Crypto.Crypto | Path.Path | T3Orchestration>;
664
639
  export type ThreadShow = {
665
640
  readonly id: string;
666
641
  readonly projectId: string;
@@ -1,7 +1,6 @@
1
1
  import * as Cause from "effect/Cause";
2
2
  import * as Schema from "effect/Schema";
3
3
  import { PlatformError } from "effect/PlatformError";
4
- import { HttpClientError } from "effect/unstable/http";
5
4
  import { ConfigError } from "../config/error.ts";
6
5
  import { UrlError } from "../config/url/error.ts";
7
6
  declare const AuthPairingUrlError_base: Schema.Class<AuthPairingUrlError, Schema.TaggedStruct<"AuthPairingUrlError", {
@@ -18,7 +17,7 @@ export declare class AuthConfigError extends AuthConfigError_base {
18
17
  }
19
18
  declare const AuthTransportError_base: Schema.Class<AuthTransportError, Schema.TaggedStruct<"AuthTransportError", {
20
19
  readonly message: Schema.String;
21
- readonly cause: Schema.optionalKey<Schema.Union<readonly [typeof HttpClientError.HttpClientErrorSchema, Schema.instanceOf<Schema.SchemaError, unknown>, typeof UrlError]>>;
20
+ readonly cause: Schema.Union<readonly [Schema.Union<readonly [typeof import("@t3tools/contracts").EnvironmentRequestInvalidError, typeof import("@t3tools/contracts").EnvironmentAuthInvalidError, typeof import("@t3tools/contracts").EnvironmentScopeRequiredError, typeof import("@t3tools/contracts").EnvironmentOperationForbiddenError, typeof import("@t3tools/contracts").EnvironmentResourceNotFoundError, typeof import("@t3tools/contracts").EnvironmentInternalError]>, Schema.instanceOf<import("@t3tools/client-runtime/authorization").RemoteEnvironmentAuthFetchError, unknown>, Schema.instanceOf<import("@t3tools/client-runtime/authorization").RemoteEnvironmentAuthInvalidJsonError, unknown>, Schema.instanceOf<import("@t3tools/client-runtime/authorization").RemoteEnvironmentAuthTimeoutError, unknown>, Schema.instanceOf<import("@t3tools/client-runtime/authorization").RemoteEnvironmentAuthUndeclaredStatusError, unknown>]>;
22
21
  }>, Cause.YieldableError>;
23
22
  export declare class AuthTransportError extends AuthTransportError_base {
24
23
  }
@@ -49,5 +49,5 @@ export declare const makeT3Auth: () => Effect.Effect<{
49
49
  readonly ticket: string;
50
50
  readonly expiresAt: string;
51
51
  }, AuthConfigError | import("./error.ts").AuthTransportError, never>;
52
- }, never, T3Config | T3LocalAuth | T3AuthTransport | T3AuthPairing>;
53
- export declare const T3AuthLive: Layer.Layer<T3Auth, never, T3Config | T3LocalAuth | T3AuthTransport | T3AuthPairing>;
52
+ }, never, T3AuthPairing | T3AuthTransport | T3Config | T3LocalAuth>;
53
+ export declare const T3AuthLive: Layer.Layer<T3Auth, never, T3AuthPairing | T3AuthTransport | T3Config | T3LocalAuth>;
@@ -13,6 +13,6 @@ export declare class T3LocalAuthOrigin extends T3LocalAuthOrigin_base {
13
13
  }
14
14
  export declare const makeT3LocalAuthOrigin: () => Effect.Effect<{
15
15
  resolve: (input?: LocalAuthOriginInput | undefined) => Effect.Effect<string, AuthLocalError, never>;
16
- }, import("effect/Config").ConfigError, CliRuntime | Path.Path | FileSystem.FileSystem>;
17
- export declare const T3LocalAuthOriginLive: Layer.Layer<T3LocalAuthOrigin, import("effect/Config").ConfigError, CliRuntime | Path.Path | FileSystem.FileSystem>;
16
+ }, import("effect/Config").ConfigError, CliRuntime | FileSystem.FileSystem | Path.Path>;
17
+ export declare const T3LocalAuthOriginLive: Layer.Layer<T3LocalAuthOrigin, import("effect/Config").ConfigError, CliRuntime | FileSystem.FileSystem | Path.Path>;
18
18
  export {};