t3code-cli 0.11.0 → 0.12.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 (317) hide show
  1. package/README.md +42 -10
  2. package/dist/application.js +2 -2
  3. package/dist/auth.js +1 -1
  4. package/dist/bin.js +85526 -2662
  5. package/dist/cli.js +15 -2
  6. package/dist/config.js +120 -2
  7. package/dist/connection.js +2 -2
  8. package/dist/index.js +1 -1
  9. package/dist/node.js +6 -2
  10. package/dist/orchestration.js +2 -2
  11. package/dist/rpc.js +1 -1
  12. package/dist/runtime.js +2 -2
  13. package/dist/shared.js +42956 -38119
  14. package/dist/src/application/actions.d.ts +25 -0
  15. package/dist/src/application/index.d.ts +3 -3
  16. package/dist/src/application/layer.d.ts +51 -35
  17. package/dist/src/application/model-selection.d.ts +2 -2
  18. package/dist/src/application/models.d.ts +1 -1
  19. package/dist/src/application/project-commands.d.ts +22 -2
  20. package/dist/src/application/projects.d.ts +7 -7
  21. package/dist/src/application/service.d.ts +65 -2
  22. package/dist/src/application/shell-sequence.d.ts +11 -0
  23. package/dist/src/application/terminals.d.ts +2 -2
  24. package/dist/src/application/thread-commands.d.ts +1 -1
  25. package/dist/src/application/thread-wait.d.ts +9 -0
  26. package/dist/src/application/threads.d.ts +56 -5
  27. package/dist/src/auth/error.d.ts +2 -1
  28. package/dist/src/auth/index.d.ts +1 -1
  29. package/dist/src/auth/layer.d.ts +34 -6
  30. package/dist/src/auth/local-base-dir.d.ts +5 -2
  31. package/dist/src/auth/local-origin.d.ts +3 -3
  32. package/dist/src/auth/local-token.d.ts +3 -3
  33. package/dist/src/auth/service.d.ts +15 -3
  34. package/dist/src/auth/type.d.ts +40 -1
  35. package/dist/src/cli/env/flag.d.ts +2 -0
  36. package/dist/src/cli/env/index.d.ts +2 -0
  37. package/dist/src/cli/env/selection-layer.d.ts +3 -0
  38. package/dist/src/cli/flags.d.ts +2 -0
  39. package/dist/src/cli/format/index.d.ts +1 -0
  40. package/dist/src/cli/format/output.d.ts +12 -0
  41. package/dist/src/cli/index.d.ts +4 -0
  42. package/dist/src/cli/runtime/index.d.ts +1 -0
  43. package/dist/src/cli/runtime/service.d.ts +16 -0
  44. package/dist/src/{scope → cli/scope}/resolve.d.ts +5 -4
  45. package/dist/src/config/config.d.ts +49 -0
  46. package/dist/src/config/credential/cipher-node.d.ts +3 -0
  47. package/dist/src/config/credential/cipher-web.d.ts +3 -0
  48. package/dist/src/config/credential/cipher.d.ts +29 -0
  49. package/dist/src/config/credential/env.d.ts +3 -0
  50. package/dist/src/config/credential/error.d.ts +8 -0
  51. package/dist/src/config/credential/index.d.ts +6 -0
  52. package/dist/src/config/credential/service.d.ts +34 -0
  53. package/dist/src/config/env/env.d.ts +55 -0
  54. package/dist/src/config/env/index.d.ts +2 -0
  55. package/dist/src/{layout/base-dir.d.ts → config/env/layout.d.ts} +0 -1
  56. package/dist/src/config/environment-name/index.d.ts +1 -0
  57. package/dist/src/config/environment-name/name.d.ts +10 -0
  58. package/dist/src/config/error.d.ts +4 -11
  59. package/dist/src/config/index.d.ts +10 -5
  60. package/dist/src/config/keystore/error.d.ts +8 -0
  61. package/dist/src/config/keystore/file.d.ts +9 -0
  62. package/dist/src/config/keystore/index.d.ts +4 -0
  63. package/dist/src/config/keystore/keyring-node.d.ts +4 -0
  64. package/dist/src/config/keystore/service.d.ts +33 -0
  65. package/dist/src/config/paths/index.d.ts +1 -0
  66. package/dist/src/config/paths/paths.d.ts +6 -0
  67. package/dist/src/config/persist/file-mode.d.ts +4 -0
  68. package/dist/src/config/persist/migration.d.ts +68 -0
  69. package/dist/src/config/persist/persist.d.ts +40 -0
  70. package/dist/src/config/persist/schema.d.ts +68 -0
  71. package/dist/src/config/resolve/resolve.d.ts +40 -0
  72. package/dist/src/config/selection/index.d.ts +1 -0
  73. package/dist/src/config/selection/resolve.d.ts +4 -0
  74. package/dist/src/config/selection/service.d.ts +10 -0
  75. package/dist/src/config/types.d.ts +36 -0
  76. package/dist/src/config/url/error.d.ts +10 -0
  77. package/dist/src/config/url/index.d.ts +2 -0
  78. package/dist/src/connection/index.d.ts +0 -1
  79. package/dist/src/contracts/index.d.ts +1 -1
  80. package/dist/src/domain/error.d.ts +14 -1
  81. package/dist/src/domain/helpers.d.ts +16 -1
  82. package/dist/src/domain/model-config.d.ts +4 -1
  83. package/dist/src/domain/thread-activities.d.ts +1 -1
  84. package/dist/src/domain/thread-lifecycle.d.ts +10 -1
  85. package/dist/src/index.d.ts +1 -2
  86. package/dist/src/{connection/node.d.ts → node/connection.d.ts} +1 -1
  87. package/dist/src/node/index.d.ts +1 -2
  88. package/dist/src/orchestration/index.d.ts +0 -1
  89. package/dist/src/orchestration/layer.d.ts +153 -7
  90. package/dist/src/orchestration/service.d.ts +1 -1
  91. package/dist/src/rpc/error.d.ts +2 -2
  92. package/dist/src/rpc/index.d.ts +2 -3
  93. package/dist/src/rpc/layer.d.ts +574 -46
  94. package/dist/src/rpc/operation.d.ts +574 -46
  95. package/dist/src/rpc/ws-group.d.ts +184 -19
  96. package/dist/src/runtime/index.d.ts +1 -2
  97. package/dist/src/runtime/layer.d.ts +12 -8
  98. package/dist/src/t3tools/index.d.ts +1 -1
  99. package/dist/t3tools.js +2 -2
  100. package/package.json +25 -21
  101. package/src/application/actions.test.ts +328 -0
  102. package/src/application/actions.ts +475 -0
  103. package/src/application/index.ts +9 -5
  104. package/src/application/layer.ts +9 -0
  105. package/src/application/model-selection.ts +2 -2
  106. package/src/application/project-commands.ts +23 -5
  107. package/src/application/projects.ts +6 -7
  108. package/src/application/service.ts +79 -1
  109. package/src/application/shell-sequence.ts +1 -1
  110. package/src/application/terminals.ts +2 -1
  111. package/src/application/thread-commands.ts +1 -1
  112. package/src/application/thread-update.ts +1 -1
  113. package/src/application/thread-wait.ts +1 -1
  114. package/src/application/threads.test.ts +9 -3
  115. package/src/application/threads.ts +6 -6
  116. package/src/auth/error.ts +2 -1
  117. package/src/auth/index.ts +7 -0
  118. package/src/auth/layer.test-utils.ts +34 -0
  119. package/src/auth/layer.ts +116 -34
  120. package/src/auth/local-base-dir.ts +13 -6
  121. package/src/auth/local-origin.ts +10 -7
  122. package/src/auth/local-token.ts +28 -23
  123. package/src/auth/service.test.ts +200 -0
  124. package/src/auth/service.ts +27 -3
  125. package/src/auth/transport.ts +2 -2
  126. package/src/auth/type.ts +47 -1
  127. package/src/bin.ts +24 -6
  128. package/src/cli/action-format.ts +110 -0
  129. package/src/cli/action.ts +398 -0
  130. package/src/cli/app.ts +6 -0
  131. package/src/cli/auth.ts +76 -23
  132. package/src/cli/env/flag.ts +8 -0
  133. package/src/cli/env/index.ts +2 -0
  134. package/src/cli/env/selection-layer.test.ts +49 -0
  135. package/src/cli/env/selection-layer.ts +27 -0
  136. package/src/cli/env.ts +107 -0
  137. package/src/cli/extra-args.test.ts +32 -0
  138. package/src/cli/extra-args.ts +22 -0
  139. package/src/cli/flags.ts +11 -1
  140. package/src/cli/format/auth.ts +92 -0
  141. package/src/cli/format/human.ts +131 -0
  142. package/src/cli/format/index.ts +12 -0
  143. package/src/cli/format/model.ts +29 -0
  144. package/src/cli/format/output.ts +51 -0
  145. package/src/cli/format/project.ts +32 -0
  146. package/src/cli/format/terminal.ts +87 -0
  147. package/src/cli/{thread-format.test.ts → format/thread.test.ts} +6 -4
  148. package/src/cli/format/thread.ts +185 -0
  149. package/src/cli/index.ts +20 -0
  150. package/src/cli/interaction/confirm.ts +64 -0
  151. package/src/cli/{self-action.ts → interaction/self-action.ts} +8 -6
  152. package/src/cli/message-input.ts +1 -1
  153. package/src/cli/model.ts +9 -5
  154. package/src/cli/project.ts +13 -7
  155. package/src/cli/projects/delete.ts +13 -12
  156. package/src/cli/require.ts +9 -7
  157. package/src/cli/runtime/index.ts +1 -0
  158. package/src/cli/runtime/service.ts +28 -0
  159. package/src/{scope → cli/scope}/resolve.ts +11 -9
  160. package/src/cli/terminal/attach.ts +3 -6
  161. package/src/cli/terminal/create.ts +10 -9
  162. package/src/cli/terminal/destroy.ts +13 -11
  163. package/src/cli/terminal/list.ts +10 -9
  164. package/src/cli/terminal/read.test-utils.ts +48 -0
  165. package/src/cli/terminal/read.test.ts +35 -0
  166. package/src/cli/terminal/read.ts +3 -6
  167. package/src/cli/terminal/scope.ts +10 -5
  168. package/src/cli/terminal/shared.ts +1 -1
  169. package/src/cli/terminal/stream.ts +3 -6
  170. package/src/cli/terminal/wait.test.ts +5 -3
  171. package/src/cli/terminal/wait.ts +10 -9
  172. package/src/cli/terminal/write.test.ts +34 -0
  173. package/src/cli/terminal/write.ts +10 -9
  174. package/src/cli/threads/approve.ts +11 -7
  175. package/src/cli/threads/archive.ts +14 -9
  176. package/src/cli/threads/callback.ts +6 -4
  177. package/src/cli/threads/delete.ts +17 -11
  178. package/src/cli/threads/interrupt.ts +14 -9
  179. package/src/cli/threads/list.test.ts +5 -3
  180. package/src/cli/threads/list.ts +10 -10
  181. package/src/cli/threads/messages.ts +11 -7
  182. package/src/cli/threads/respond.ts +11 -7
  183. package/src/cli/threads/send.ts +19 -9
  184. package/src/cli/threads/show.ts +11 -7
  185. package/src/cli/threads/start.ts +18 -13
  186. package/src/cli/threads/unarchive.ts +11 -7
  187. package/src/cli/threads/update.ts +14 -9
  188. package/src/cli/threads/wait.ts +11 -7
  189. package/src/cli/wait-events.ts +1 -1
  190. package/src/config/config.ts +260 -0
  191. package/src/config/credential/cipher-node.ts +40 -0
  192. package/src/config/credential/cipher-web.ts +82 -0
  193. package/src/config/credential/cipher.ts +39 -0
  194. package/src/config/credential/env.ts +13 -0
  195. package/src/config/credential/error.ts +9 -0
  196. package/src/config/credential/index.ts +6 -0
  197. package/src/config/credential/service.test-utils.ts +25 -0
  198. package/src/config/credential/service.test.ts +116 -0
  199. package/src/config/credential/service.ts +205 -0
  200. package/src/config/env/env.test-utils.ts +14 -0
  201. package/src/config/env/env.ts +81 -0
  202. package/src/config/env/index.ts +2 -0
  203. package/src/{layout/base-dir.ts → config/env/layout.ts} +0 -9
  204. package/src/config/environment-name/index.ts +7 -0
  205. package/src/config/environment-name/name.test.ts +66 -0
  206. package/src/config/environment-name/name.ts +49 -0
  207. package/src/config/error.ts +6 -8
  208. package/src/config/index.ts +16 -5
  209. package/src/config/keystore/error.ts +9 -0
  210. package/src/config/keystore/file.ts +96 -0
  211. package/src/config/keystore/index.ts +4 -0
  212. package/src/config/keystore/keyring-node.test.ts +12 -0
  213. package/src/config/keystore/keyring-node.ts +100 -0
  214. package/src/config/keystore/service.test-utils.ts +15 -0
  215. package/src/config/keystore/service.test.ts +18 -0
  216. package/src/config/keystore/service.ts +29 -0
  217. package/src/config/layer.test-utils.ts +45 -0
  218. package/src/config/layer.test.ts +209 -0
  219. package/src/config/paths/index.ts +1 -0
  220. package/src/config/paths/paths.ts +36 -0
  221. package/src/config/persist/file-mode.ts +21 -0
  222. package/src/config/persist/migration.test.ts +71 -0
  223. package/src/config/persist/migration.ts +82 -0
  224. package/src/config/persist/persist.test.ts +113 -0
  225. package/src/config/persist/persist.ts +65 -0
  226. package/src/config/persist/schema.ts +37 -0
  227. package/src/config/platform.test-utils.ts +20 -0
  228. package/src/config/resolve/resolve.test-utils.ts +20 -0
  229. package/src/config/resolve/resolve.test.ts +137 -0
  230. package/src/config/resolve/resolve.ts +104 -0
  231. package/src/config/selection/index.ts +1 -0
  232. package/src/config/selection/resolve.ts +14 -0
  233. package/src/config/selection/service.ts +29 -0
  234. package/src/config/temp-home.test-utils.ts +7 -0
  235. package/src/config/types.ts +49 -0
  236. package/src/config/url/error.ts +8 -0
  237. package/src/config/url/index.ts +7 -0
  238. package/src/config/url/url.test.ts +31 -0
  239. package/src/connection/index.ts +0 -1
  240. package/src/contracts/index.ts +1 -1
  241. package/src/domain/error.ts +20 -1
  242. package/src/domain/helpers.test.ts +1 -1
  243. package/src/domain/helpers.ts +1 -1
  244. package/src/domain/model-config.ts +1 -1
  245. package/src/domain/thread-activities.test.ts +1 -1
  246. package/src/domain/thread-activities.ts +1 -1
  247. package/src/domain/thread-lifecycle.test.ts +1 -1
  248. package/src/domain/thread-lifecycle.ts +1 -1
  249. package/src/effect.test-utils.ts +25 -0
  250. package/src/index.ts +1 -1
  251. package/src/{connection/node.ts → node/connection.ts} +1 -1
  252. package/src/node/index.ts +1 -2
  253. package/src/orchestration/index.ts +0 -1
  254. package/src/orchestration/layer.ts +1 -1
  255. package/src/orchestration/service.ts +1 -1
  256. package/src/rpc/error.ts +2 -2
  257. package/src/rpc/index.ts +2 -3
  258. package/src/rpc/layer.ts +1 -1
  259. package/src/rpc/ws-group.ts +1 -1
  260. package/src/runtime/index.ts +2 -1
  261. package/src/runtime/layer.test-utils.ts +32 -0
  262. package/src/runtime/layer.test.ts +66 -0
  263. package/src/runtime/layer.ts +15 -9
  264. package/src/t3tools/index.ts +1 -1
  265. package/src/types/marked-terminal.d.ts +11 -0
  266. package/dist/layout.js +0 -2
  267. package/dist/scope.js +0 -2
  268. package/dist/src/cli/output-format.d.ts +0 -11
  269. package/dist/src/config/layer.d.ts +0 -22
  270. package/dist/src/config/service.d.ts +0 -22
  271. package/dist/src/environment/layer.d.ts +0 -3
  272. package/dist/src/environment/service.d.ts +0 -12
  273. package/dist/src/layout/index.d.ts +0 -1
  274. package/dist/upstream-t3code/packages/contracts/src/auth.d.ts +0 -441
  275. package/dist/upstream-t3code/packages/contracts/src/baseSchemas.d.ts +0 -38
  276. package/dist/upstream-t3code/packages/contracts/src/desktopBootstrap.d.ts +0 -14
  277. package/dist/upstream-t3code/packages/contracts/src/editor.d.ts +0 -124
  278. package/dist/upstream-t3code/packages/contracts/src/environment.d.ts +0 -64
  279. package/dist/upstream-t3code/packages/contracts/src/environmentHttp.d.ts +0 -762
  280. package/dist/upstream-t3code/packages/contracts/src/filesystem.d.ts +0 -26
  281. package/dist/upstream-t3code/packages/contracts/src/git.d.ts +0 -500
  282. package/dist/upstream-t3code/packages/contracts/src/index.d.ts +0 -25
  283. package/dist/upstream-t3code/packages/contracts/src/ipc.d.ts +0 -490
  284. package/dist/upstream-t3code/packages/contracts/src/keybindings.d.ts +0 -133
  285. package/dist/upstream-t3code/packages/contracts/src/model.d.ts +0 -112
  286. package/dist/upstream-t3code/packages/contracts/src/orchestration.d.ts +0 -6682
  287. package/dist/upstream-t3code/packages/contracts/src/project.d.ts +0 -45
  288. package/dist/upstream-t3code/packages/contracts/src/provider.d.ts +0 -116
  289. package/dist/upstream-t3code/packages/contracts/src/providerInstance.d.ts +0 -99
  290. package/dist/upstream-t3code/packages/contracts/src/providerRuntime.d.ts +0 -4276
  291. package/dist/upstream-t3code/packages/contracts/src/relay.d.ts +0 -1262
  292. package/dist/upstream-t3code/packages/contracts/src/relayClient.d.ts +0 -48
  293. package/dist/upstream-t3code/packages/contracts/src/remoteAccess.d.ts +0 -45
  294. package/dist/upstream-t3code/packages/contracts/src/review.d.ts +0 -37
  295. package/dist/upstream-t3code/packages/contracts/src/rpc.d.ts +0 -8218
  296. package/dist/upstream-t3code/packages/contracts/src/server.d.ts +0 -2291
  297. package/dist/upstream-t3code/packages/contracts/src/settings.d.ts +0 -271
  298. package/dist/upstream-t3code/packages/contracts/src/sourceControl.d.ts +0 -177
  299. package/dist/upstream-t3code/packages/contracts/src/terminal.d.ts +0 -330
  300. package/dist/upstream-t3code/packages/contracts/src/vcs.d.ts +0 -148
  301. package/src/cli/auth-format.ts +0 -45
  302. package/src/cli/confirm.ts +0 -31
  303. package/src/cli/model-format.ts +0 -18
  304. package/src/cli/output-format.ts +0 -45
  305. package/src/cli/project-format.ts +0 -18
  306. package/src/cli/terminal/commands.test.ts +0 -101
  307. package/src/cli/terminal-format.ts +0 -167
  308. package/src/cli/thread-format.ts +0 -128
  309. package/src/config/layer.ts +0 -105
  310. package/src/config/service.ts +0 -26
  311. package/src/environment/layer.ts +0 -12
  312. package/src/environment/service.ts +0 -13
  313. package/src/layout/index.ts +0 -1
  314. /package/dist/src/{scope → cli/scope}/index.d.ts +0 -0
  315. /package/dist/src/config/{url.d.ts → url/url.d.ts} +0 -0
  316. /package/src/{scope → cli/scope}/index.ts +0 -0
  317. /package/src/config/{url.ts → url/url.ts} +0 -0
@@ -19,6 +19,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
19
19
  readonly env?: {
20
20
  readonly [x: string]: string;
21
21
  } | undefined;
22
+ readonly projectId?: (string & import("effect/Brand").Brand<"ProjectId">) | undefined;
22
23
  }, options?: {
23
24
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
24
25
  readonly context?: Context.Context<never> | undefined;
@@ -36,7 +37,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
36
37
  readonly label: string;
37
38
  readonly updatedAt: string;
38
39
  readonly sequence?: number | undefined;
39
- }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError), never>;
40
+ }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError), never>;
40
41
  readonly "terminal.attach": <const AsQueue extends boolean = false, const Discard = false>(input: {
41
42
  readonly terminalId: string;
42
43
  readonly threadId: string;
@@ -48,6 +49,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
48
49
  readonly [x: string]: string;
49
50
  } | undefined;
50
51
  readonly restartIfNotRunning?: boolean | undefined;
52
+ readonly projectId?: (string & import("effect/Brand").Brand<"ProjectId">) | undefined;
51
53
  }, options?: {
52
54
  readonly asQueue?: AsQueue | undefined;
53
55
  readonly streamBufferSize?: number | undefined;
@@ -124,7 +126,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
124
126
  readonly updatedAt: string;
125
127
  readonly sequence?: number | undefined;
126
128
  };
127
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
129
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
128
130
  readonly type: "output";
129
131
  readonly data: string;
130
132
  readonly threadId: string;
@@ -195,7 +197,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
195
197
  readonly updatedAt: string;
196
198
  readonly sequence?: number | undefined;
197
199
  };
198
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
200
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
199
201
  readonly "terminal.write": <const AsQueue extends boolean = false, const Discard = false>(input: {
200
202
  readonly data: string;
201
203
  readonly terminalId: string;
@@ -204,7 +206,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
204
206
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
205
207
  readonly context?: Context.Context<never> | undefined;
206
208
  readonly discard?: Discard | undefined;
207
- } | undefined) => Effect.Effect<Discard extends true ? void : void, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError), never>;
209
+ } | undefined) => Effect.Effect<Discard extends true ? void : void, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError), never>;
208
210
  readonly "terminal.resize": <const AsQueue extends boolean = false, const Discard = false>(input: {
209
211
  readonly cols: number;
210
212
  readonly rows: number;
@@ -214,7 +216,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
214
216
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
215
217
  readonly context?: Context.Context<never> | undefined;
216
218
  readonly discard?: Discard | undefined;
217
- } | undefined) => Effect.Effect<Discard extends true ? void : void, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError), never>;
219
+ } | undefined) => Effect.Effect<Discard extends true ? void : void, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError), never>;
218
220
  readonly "terminal.close": <const AsQueue extends boolean = false, const Discard = false>(input: {
219
221
  readonly threadId: string;
220
222
  readonly terminalId?: string | undefined;
@@ -223,7 +225,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
223
225
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
224
226
  readonly context?: Context.Context<never> | undefined;
225
227
  readonly discard?: Discard | undefined;
226
- } | undefined) => Effect.Effect<Discard extends true ? void : void, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError), never>;
228
+ } | undefined) => Effect.Effect<Discard extends true ? void : void, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError), never>;
227
229
  readonly "orchestration.dispatchCommand": <const AsQueue extends boolean = false, const Discard = false>(input: {
228
230
  readonly type: "project.create";
229
231
  readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
@@ -260,6 +262,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
260
262
  readonly command: string;
261
263
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
262
264
  readonly runOnWorktreeCreate: boolean;
265
+ readonly previewUrl?: string | undefined;
266
+ readonly autoOpenPreview?: boolean | undefined;
263
267
  }[] | undefined;
264
268
  } | {
265
269
  readonly type: "project.delete";
@@ -357,6 +361,20 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
357
361
  readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
358
362
  readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
359
363
  readonly createdAt: string;
364
+ } | {
365
+ readonly type: "thread.goal.request";
366
+ readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
367
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
368
+ readonly request: {
369
+ readonly kind: "status";
370
+ } | {
371
+ readonly kind: "control";
372
+ readonly action: "pause" | "resume" | "clear";
373
+ } | {
374
+ readonly kind: "set";
375
+ readonly objective: string;
376
+ };
377
+ readonly createdAt: string;
360
378
  } | {
361
379
  readonly type: "thread.turn.start";
362
380
  readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
@@ -420,7 +438,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
420
438
  readonly discard?: Discard | undefined;
421
439
  } | undefined) => Effect.Effect<Discard extends true ? void : {
422
440
  readonly sequence: number;
423
- }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationDispatchCommandError), never>;
441
+ }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationDispatchCommandError), never>;
424
442
  readonly "orchestration.getArchivedShellSnapshot": <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
425
443
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
426
444
  readonly context?: Context.Context<never> | undefined;
@@ -445,6 +463,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
445
463
  readonly command: string;
446
464
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
447
465
  readonly runOnWorktreeCreate: boolean;
466
+ readonly previewUrl?: string | undefined;
467
+ readonly autoOpenPreview?: boolean | undefined;
448
468
  }[];
449
469
  readonly createdAt: string;
450
470
  readonly updatedAt: string;
@@ -503,13 +523,22 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
503
523
  readonly updatedAt: string;
504
524
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
505
525
  } | null;
526
+ readonly goal: {
527
+ readonly objective: string;
528
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
529
+ readonly tokensUsed: number;
530
+ readonly tokenBudget: number | null;
531
+ readonly timeUsedSeconds: number;
532
+ readonly createdAt: string;
533
+ readonly updatedAt: string;
534
+ } | null;
506
535
  readonly latestUserMessageAt: string | null;
507
536
  readonly hasPendingApprovals: boolean;
508
537
  readonly hasPendingUserInput: boolean;
509
538
  readonly hasActionableProposedPlan: boolean;
510
539
  }[];
511
540
  readonly updatedAt: string;
512
- }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError), never>;
541
+ }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError), never>;
513
542
  readonly "orchestration.subscribeShell": <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
514
543
  readonly asQueue?: AsQueue | undefined;
515
544
  readonly streamBufferSize?: number | undefined;
@@ -536,6 +565,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
536
565
  readonly command: string;
537
566
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
538
567
  readonly runOnWorktreeCreate: boolean;
568
+ readonly previewUrl?: string | undefined;
569
+ readonly autoOpenPreview?: boolean | undefined;
539
570
  }[];
540
571
  readonly createdAt: string;
541
572
  readonly updatedAt: string;
@@ -601,6 +632,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
601
632
  readonly updatedAt: string;
602
633
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
603
634
  } | null;
635
+ readonly goal: {
636
+ readonly objective: string;
637
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
638
+ readonly tokensUsed: number;
639
+ readonly tokenBudget: number | null;
640
+ readonly timeUsedSeconds: number;
641
+ readonly createdAt: string;
642
+ readonly updatedAt: string;
643
+ } | null;
604
644
  readonly latestUserMessageAt: string | null;
605
645
  readonly hasPendingApprovals: boolean;
606
646
  readonly hasPendingUserInput: boolean;
@@ -632,6 +672,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
632
672
  readonly command: string;
633
673
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
634
674
  readonly runOnWorktreeCreate: boolean;
675
+ readonly previewUrl?: string | undefined;
676
+ readonly autoOpenPreview?: boolean | undefined;
635
677
  }[];
636
678
  readonly createdAt: string;
637
679
  readonly updatedAt: string;
@@ -690,6 +732,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
690
732
  readonly updatedAt: string;
691
733
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
692
734
  } | null;
735
+ readonly goal: {
736
+ readonly objective: string;
737
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
738
+ readonly tokensUsed: number;
739
+ readonly tokenBudget: number | null;
740
+ readonly timeUsedSeconds: number;
741
+ readonly createdAt: string;
742
+ readonly updatedAt: string;
743
+ } | null;
693
744
  readonly latestUserMessageAt: string | null;
694
745
  readonly hasPendingApprovals: boolean;
695
746
  readonly hasPendingUserInput: boolean;
@@ -697,7 +748,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
697
748
  }[];
698
749
  readonly updatedAt: string;
699
750
  };
700
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
751
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
701
752
  readonly kind: "project-upserted";
702
753
  readonly sequence: number;
703
754
  readonly project: {
@@ -718,6 +769,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
718
769
  readonly command: string;
719
770
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
720
771
  readonly runOnWorktreeCreate: boolean;
772
+ readonly previewUrl?: string | undefined;
773
+ readonly autoOpenPreview?: boolean | undefined;
721
774
  }[];
722
775
  readonly createdAt: string;
723
776
  readonly updatedAt: string;
@@ -783,6 +836,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
783
836
  readonly updatedAt: string;
784
837
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
785
838
  } | null;
839
+ readonly goal: {
840
+ readonly objective: string;
841
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
842
+ readonly tokensUsed: number;
843
+ readonly tokenBudget: number | null;
844
+ readonly timeUsedSeconds: number;
845
+ readonly createdAt: string;
846
+ readonly updatedAt: string;
847
+ } | null;
786
848
  readonly latestUserMessageAt: string | null;
787
849
  readonly hasPendingApprovals: boolean;
788
850
  readonly hasPendingUserInput: boolean;
@@ -814,6 +876,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
814
876
  readonly command: string;
815
877
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
816
878
  readonly runOnWorktreeCreate: boolean;
879
+ readonly previewUrl?: string | undefined;
880
+ readonly autoOpenPreview?: boolean | undefined;
817
881
  }[];
818
882
  readonly createdAt: string;
819
883
  readonly updatedAt: string;
@@ -872,6 +936,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
872
936
  readonly updatedAt: string;
873
937
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
874
938
  } | null;
939
+ readonly goal: {
940
+ readonly objective: string;
941
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
942
+ readonly tokensUsed: number;
943
+ readonly tokenBudget: number | null;
944
+ readonly timeUsedSeconds: number;
945
+ readonly createdAt: string;
946
+ readonly updatedAt: string;
947
+ } | null;
875
948
  readonly latestUserMessageAt: string | null;
876
949
  readonly hasPendingApprovals: boolean;
877
950
  readonly hasPendingUserInput: boolean;
@@ -879,7 +952,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
879
952
  }[];
880
953
  readonly updatedAt: string;
881
954
  };
882
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
955
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
883
956
  readonly "orchestration.subscribeThread": <const AsQueue extends boolean = false, const Discard = false>(input: {
884
957
  readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
885
958
  }, options?: {
@@ -923,6 +996,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
923
996
  readonly updatedAt: string;
924
997
  readonly archivedAt: string | null;
925
998
  readonly deletedAt: string | null;
999
+ readonly goal: {
1000
+ readonly objective: string;
1001
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
1002
+ readonly tokensUsed: number;
1003
+ readonly tokenBudget: number | null;
1004
+ readonly timeUsedSeconds: number;
1005
+ readonly createdAt: string;
1006
+ readonly updatedAt: string;
1007
+ } | null;
926
1008
  readonly messages: readonly {
927
1009
  readonly id: string & import("effect/Brand").Brand<"MessageId">;
928
1010
  readonly role: "user" | "assistant" | "system";
@@ -1006,6 +1088,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
1006
1088
  readonly command: string;
1007
1089
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
1008
1090
  readonly runOnWorktreeCreate: boolean;
1091
+ readonly previewUrl?: string | undefined;
1092
+ readonly autoOpenPreview?: boolean | undefined;
1009
1093
  }[];
1010
1094
  readonly createdAt: string;
1011
1095
  readonly updatedAt: string;
@@ -1072,6 +1156,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
1072
1156
  readonly command: string;
1073
1157
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
1074
1158
  readonly runOnWorktreeCreate: boolean;
1159
+ readonly previewUrl?: string | undefined;
1160
+ readonly autoOpenPreview?: boolean | undefined;
1075
1161
  }[] | undefined;
1076
1162
  };
1077
1163
  readonly sequence: number;
@@ -1521,6 +1607,85 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
1521
1607
  readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
1522
1608
  readonly ingestedAt?: string | undefined;
1523
1609
  };
1610
+ } | {
1611
+ readonly type: "thread.goal-requested";
1612
+ readonly payload: {
1613
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
1614
+ readonly request: {
1615
+ readonly kind: "status";
1616
+ } | {
1617
+ readonly kind: "control";
1618
+ readonly action: "pause" | "resume" | "clear";
1619
+ } | {
1620
+ readonly kind: "set";
1621
+ readonly objective: string;
1622
+ };
1623
+ readonly createdAt: string;
1624
+ };
1625
+ readonly sequence: number;
1626
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
1627
+ readonly aggregateKind: "project" | "thread";
1628
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
1629
+ readonly occurredAt: string;
1630
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
1631
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
1632
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
1633
+ readonly metadata: {
1634
+ readonly providerTurnId?: string | undefined;
1635
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
1636
+ readonly adapterKey?: string | undefined;
1637
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
1638
+ readonly ingestedAt?: string | undefined;
1639
+ };
1640
+ } | {
1641
+ readonly type: "thread.goal-updated";
1642
+ readonly payload: {
1643
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
1644
+ readonly goal: {
1645
+ readonly objective: string;
1646
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
1647
+ readonly tokensUsed: number;
1648
+ readonly tokenBudget: number | null;
1649
+ readonly timeUsedSeconds: number;
1650
+ readonly createdAt: string;
1651
+ readonly updatedAt: string;
1652
+ };
1653
+ };
1654
+ readonly sequence: number;
1655
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
1656
+ readonly aggregateKind: "project" | "thread";
1657
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
1658
+ readonly occurredAt: string;
1659
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
1660
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
1661
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
1662
+ readonly metadata: {
1663
+ readonly providerTurnId?: string | undefined;
1664
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
1665
+ readonly adapterKey?: string | undefined;
1666
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
1667
+ readonly ingestedAt?: string | undefined;
1668
+ };
1669
+ } | {
1670
+ readonly type: "thread.goal-cleared";
1671
+ readonly payload: {
1672
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
1673
+ };
1674
+ readonly sequence: number;
1675
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
1676
+ readonly aggregateKind: "project" | "thread";
1677
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
1678
+ readonly occurredAt: string;
1679
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
1680
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
1681
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
1682
+ readonly metadata: {
1683
+ readonly providerTurnId?: string | undefined;
1684
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
1685
+ readonly adapterKey?: string | undefined;
1686
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
1687
+ readonly ingestedAt?: string | undefined;
1688
+ };
1524
1689
  } | {
1525
1690
  readonly type: "thread.proposed-plan-upserted";
1526
1691
  readonly payload: {
@@ -1613,7 +1778,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
1613
1778
  readonly ingestedAt?: string | undefined;
1614
1779
  };
1615
1780
  };
1616
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
1781
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
1617
1782
  readonly kind: "snapshot";
1618
1783
  readonly snapshot: {
1619
1784
  readonly snapshotSequence: number;
@@ -1649,6 +1814,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
1649
1814
  readonly updatedAt: string;
1650
1815
  readonly archivedAt: string | null;
1651
1816
  readonly deletedAt: string | null;
1817
+ readonly goal: {
1818
+ readonly objective: string;
1819
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
1820
+ readonly tokensUsed: number;
1821
+ readonly tokenBudget: number | null;
1822
+ readonly timeUsedSeconds: number;
1823
+ readonly createdAt: string;
1824
+ readonly updatedAt: string;
1825
+ } | null;
1652
1826
  readonly messages: readonly {
1653
1827
  readonly id: string & import("effect/Brand").Brand<"MessageId">;
1654
1828
  readonly role: "user" | "assistant" | "system";
@@ -1732,6 +1906,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
1732
1906
  readonly command: string;
1733
1907
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
1734
1908
  readonly runOnWorktreeCreate: boolean;
1909
+ readonly previewUrl?: string | undefined;
1910
+ readonly autoOpenPreview?: boolean | undefined;
1735
1911
  }[];
1736
1912
  readonly createdAt: string;
1737
1913
  readonly updatedAt: string;
@@ -1798,6 +1974,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
1798
1974
  readonly command: string;
1799
1975
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
1800
1976
  readonly runOnWorktreeCreate: boolean;
1977
+ readonly previewUrl?: string | undefined;
1978
+ readonly autoOpenPreview?: boolean | undefined;
1801
1979
  }[] | undefined;
1802
1980
  };
1803
1981
  readonly sequence: number;
@@ -2247,6 +2425,85 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2247
2425
  readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
2248
2426
  readonly ingestedAt?: string | undefined;
2249
2427
  };
2428
+ } | {
2429
+ readonly type: "thread.goal-requested";
2430
+ readonly payload: {
2431
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
2432
+ readonly request: {
2433
+ readonly kind: "status";
2434
+ } | {
2435
+ readonly kind: "control";
2436
+ readonly action: "pause" | "resume" | "clear";
2437
+ } | {
2438
+ readonly kind: "set";
2439
+ readonly objective: string;
2440
+ };
2441
+ readonly createdAt: string;
2442
+ };
2443
+ readonly sequence: number;
2444
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
2445
+ readonly aggregateKind: "project" | "thread";
2446
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
2447
+ readonly occurredAt: string;
2448
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
2449
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
2450
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
2451
+ readonly metadata: {
2452
+ readonly providerTurnId?: string | undefined;
2453
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
2454
+ readonly adapterKey?: string | undefined;
2455
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
2456
+ readonly ingestedAt?: string | undefined;
2457
+ };
2458
+ } | {
2459
+ readonly type: "thread.goal-updated";
2460
+ readonly payload: {
2461
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
2462
+ readonly goal: {
2463
+ readonly objective: string;
2464
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
2465
+ readonly tokensUsed: number;
2466
+ readonly tokenBudget: number | null;
2467
+ readonly timeUsedSeconds: number;
2468
+ readonly createdAt: string;
2469
+ readonly updatedAt: string;
2470
+ };
2471
+ };
2472
+ readonly sequence: number;
2473
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
2474
+ readonly aggregateKind: "project" | "thread";
2475
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
2476
+ readonly occurredAt: string;
2477
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
2478
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
2479
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
2480
+ readonly metadata: {
2481
+ readonly providerTurnId?: string | undefined;
2482
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
2483
+ readonly adapterKey?: string | undefined;
2484
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
2485
+ readonly ingestedAt?: string | undefined;
2486
+ };
2487
+ } | {
2488
+ readonly type: "thread.goal-cleared";
2489
+ readonly payload: {
2490
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
2491
+ };
2492
+ readonly sequence: number;
2493
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
2494
+ readonly aggregateKind: "project" | "thread";
2495
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
2496
+ readonly occurredAt: string;
2497
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
2498
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
2499
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
2500
+ readonly metadata: {
2501
+ readonly providerTurnId?: string | undefined;
2502
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
2503
+ readonly adapterKey?: string | undefined;
2504
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
2505
+ readonly ingestedAt?: string | undefined;
2506
+ };
2250
2507
  } | {
2251
2508
  readonly type: "thread.proposed-plan-upserted";
2252
2509
  readonly payload: {
@@ -2339,7 +2596,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2339
2596
  readonly ingestedAt?: string | undefined;
2340
2597
  };
2341
2598
  };
2342
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
2599
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
2343
2600
  readonly subscribeTerminalEvents: <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
2344
2601
  readonly asQueue?: AsQueue | undefined;
2345
2602
  readonly streamBufferSize?: number | undefined;
@@ -2419,7 +2676,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2419
2676
  readonly threadId: string;
2420
2677
  readonly terminalId: string;
2421
2678
  readonly sequence?: number | undefined;
2422
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
2679
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
2423
2680
  readonly type: "started";
2424
2681
  readonly snapshot: {
2425
2682
  readonly threadId: string;
@@ -2493,7 +2750,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2493
2750
  readonly threadId: string;
2494
2751
  readonly terminalId: string;
2495
2752
  readonly sequence?: number | undefined;
2496
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
2753
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
2497
2754
  readonly subscribeTerminalMetadata: <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
2498
2755
  readonly asQueue?: AsQueue | undefined;
2499
2756
  readonly streamBufferSize?: number | undefined;
@@ -2533,7 +2790,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2533
2790
  readonly type: "remove";
2534
2791
  readonly threadId: string;
2535
2792
  readonly terminalId: string;
2536
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
2793
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
2537
2794
  readonly type: "snapshot";
2538
2795
  readonly terminals: readonly {
2539
2796
  readonly threadId: string;
@@ -2567,7 +2824,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2567
2824
  readonly type: "remove";
2568
2825
  readonly threadId: string;
2569
2826
  readonly terminalId: string;
2570
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
2827
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
2571
2828
  readonly "server.getConfig": <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
2572
2829
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
2573
2830
  readonly context?: Context.Context<never> | undefined;
@@ -2594,7 +2851,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2594
2851
  readonly cwd: string;
2595
2852
  readonly keybindingsConfigPath: string;
2596
2853
  readonly keybindings: readonly {
2597
- readonly command: "thread.jump.1" | "thread.jump.2" | "thread.jump.3" | "thread.jump.4" | "thread.jump.5" | "thread.jump.6" | "thread.jump.7" | "thread.jump.8" | "thread.jump.9" | "modelPicker.jump.1" | "modelPicker.jump.2" | "modelPicker.jump.3" | "modelPicker.jump.4" | "modelPicker.jump.5" | "modelPicker.jump.6" | "modelPicker.jump.7" | "modelPicker.jump.8" | "modelPicker.jump.9" | "thread.previous" | "thread.next" | "modelPicker.toggle" | "terminal.toggle" | "terminal.split" | "terminal.new" | "terminal.close" | "diff.toggle" | "commandPalette.toggle" | "chat.new" | "chat.newLocal" | "editor.openFavorite" | `script.${string}.run`;
2854
+ readonly command: "thread.jump.1" | "thread.jump.2" | "thread.jump.3" | "thread.jump.4" | "thread.jump.5" | "thread.jump.6" | "thread.jump.7" | "thread.jump.8" | "thread.jump.9" | "modelPicker.jump.1" | "modelPicker.jump.2" | "modelPicker.jump.3" | "modelPicker.jump.4" | "modelPicker.jump.5" | "modelPicker.jump.6" | "modelPicker.jump.7" | "modelPicker.jump.8" | "modelPicker.jump.9" | "thread.previous" | "thread.next" | "modelPicker.toggle" | "terminal.toggle" | "terminal.split" | "terminal.splitVertical" | "terminal.new" | "terminal.close" | "rightPanel.toggle" | "diff.toggle" | "preview.toggle" | "preview.refresh" | "preview.focusUrl" | "preview.zoomIn" | "preview.zoomOut" | "preview.resetZoom" | "commandPalette.toggle" | "chat.new" | "chat.newLocal" | "editor.openFavorite" | `script.${string}.run`;
2598
2855
  readonly shortcut: {
2599
2856
  readonly key: string;
2600
2857
  readonly metaKey: boolean;
@@ -2608,15 +2865,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2608
2865
  readonly name: string;
2609
2866
  } | {
2610
2867
  readonly type: "not";
2611
- readonly node: import("#t3tools/contracts").KeybindingWhenNode;
2868
+ readonly node: import("@t3tools/contracts").KeybindingWhenNode;
2612
2869
  } | {
2613
2870
  readonly type: "and";
2614
- readonly left: import("#t3tools/contracts").KeybindingWhenNode;
2615
- readonly right: import("#t3tools/contracts").KeybindingWhenNode;
2871
+ readonly left: import("@t3tools/contracts").KeybindingWhenNode;
2872
+ readonly right: import("@t3tools/contracts").KeybindingWhenNode;
2616
2873
  } | {
2617
2874
  readonly type: "or";
2618
- readonly left: import("#t3tools/contracts").KeybindingWhenNode;
2619
- readonly right: import("#t3tools/contracts").KeybindingWhenNode;
2875
+ readonly left: import("@t3tools/contracts").KeybindingWhenNode;
2876
+ readonly right: import("@t3tools/contracts").KeybindingWhenNode;
2620
2877
  } | undefined;
2621
2878
  }[];
2622
2879
  readonly issues: readonly ({
@@ -2693,6 +2950,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2693
2950
  readonly groupKey: string;
2694
2951
  } | undefined;
2695
2952
  readonly showInteractionModeToggle?: boolean | undefined;
2953
+ readonly requiresNewThreadForModelChange?: boolean | undefined;
2696
2954
  readonly message?: string | undefined;
2697
2955
  readonly availability?: "available" | "unavailable" | undefined;
2698
2956
  readonly unavailableReason?: string | undefined;
@@ -2756,6 +3014,11 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2756
3014
  readonly apiEndpoint: string;
2757
3015
  readonly customModels: readonly string[];
2758
3016
  };
3017
+ readonly grok: {
3018
+ readonly enabled: boolean;
3019
+ readonly binaryPath: string;
3020
+ readonly customModels: readonly string[];
3021
+ };
2759
3022
  readonly opencode: {
2760
3023
  readonly enabled: boolean;
2761
3024
  readonly binaryPath: string;
@@ -2851,6 +3114,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2851
3114
  readonly groupKey: string;
2852
3115
  } | undefined;
2853
3116
  readonly showInteractionModeToggle?: boolean | undefined;
3117
+ readonly requiresNewThreadForModelChange?: boolean | undefined;
2854
3118
  readonly message?: string | undefined;
2855
3119
  readonly availability?: "available" | "unavailable" | undefined;
2856
3120
  readonly unavailableReason?: string | undefined;
@@ -2871,7 +3135,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2871
3135
  readonly output: string | null;
2872
3136
  };
2873
3137
  }[];
2874
- }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").KeybindingsConfigError | import("#t3tools/contracts").ServerSettingsError), never>;
3138
+ }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").KeybindingsConfigError | import("@t3tools/contracts").ServerSettingsError), never>;
2875
3139
  }, RpcError, never>;
2876
3140
  disconnect: Effect.Effect<void, never, never>;
2877
3141
  reconnect: Effect.Effect<{
@@ -2885,6 +3149,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2885
3149
  readonly env?: {
2886
3150
  readonly [x: string]: string;
2887
3151
  } | undefined;
3152
+ readonly projectId?: (string & import("effect/Brand").Brand<"ProjectId">) | undefined;
2888
3153
  }, options?: {
2889
3154
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
2890
3155
  readonly context?: Context.Context<never> | undefined;
@@ -2902,7 +3167,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2902
3167
  readonly label: string;
2903
3168
  readonly updatedAt: string;
2904
3169
  readonly sequence?: number | undefined;
2905
- }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError), never>;
3170
+ }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError), never>;
2906
3171
  readonly "terminal.attach": <const AsQueue extends boolean = false, const Discard = false>(input: {
2907
3172
  readonly terminalId: string;
2908
3173
  readonly threadId: string;
@@ -2914,6 +3179,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2914
3179
  readonly [x: string]: string;
2915
3180
  } | undefined;
2916
3181
  readonly restartIfNotRunning?: boolean | undefined;
3182
+ readonly projectId?: (string & import("effect/Brand").Brand<"ProjectId">) | undefined;
2917
3183
  }, options?: {
2918
3184
  readonly asQueue?: AsQueue | undefined;
2919
3185
  readonly streamBufferSize?: number | undefined;
@@ -2990,7 +3256,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
2990
3256
  readonly updatedAt: string;
2991
3257
  readonly sequence?: number | undefined;
2992
3258
  };
2993
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
3259
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
2994
3260
  readonly type: "output";
2995
3261
  readonly data: string;
2996
3262
  readonly threadId: string;
@@ -3061,7 +3327,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3061
3327
  readonly updatedAt: string;
3062
3328
  readonly sequence?: number | undefined;
3063
3329
  };
3064
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
3330
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
3065
3331
  readonly "terminal.write": <const AsQueue extends boolean = false, const Discard = false>(input: {
3066
3332
  readonly data: string;
3067
3333
  readonly terminalId: string;
@@ -3070,7 +3336,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3070
3336
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
3071
3337
  readonly context?: Context.Context<never> | undefined;
3072
3338
  readonly discard?: Discard | undefined;
3073
- } | undefined) => Effect.Effect<Discard extends true ? void : void, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError), never>;
3339
+ } | undefined) => Effect.Effect<Discard extends true ? void : void, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError), never>;
3074
3340
  readonly "terminal.resize": <const AsQueue extends boolean = false, const Discard = false>(input: {
3075
3341
  readonly cols: number;
3076
3342
  readonly rows: number;
@@ -3080,7 +3346,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3080
3346
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
3081
3347
  readonly context?: Context.Context<never> | undefined;
3082
3348
  readonly discard?: Discard | undefined;
3083
- } | undefined) => Effect.Effect<Discard extends true ? void : void, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError), never>;
3349
+ } | undefined) => Effect.Effect<Discard extends true ? void : void, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError), never>;
3084
3350
  readonly "terminal.close": <const AsQueue extends boolean = false, const Discard = false>(input: {
3085
3351
  readonly threadId: string;
3086
3352
  readonly terminalId?: string | undefined;
@@ -3089,7 +3355,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3089
3355
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
3090
3356
  readonly context?: Context.Context<never> | undefined;
3091
3357
  readonly discard?: Discard | undefined;
3092
- } | undefined) => Effect.Effect<Discard extends true ? void : void, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError), never>;
3358
+ } | undefined) => Effect.Effect<Discard extends true ? void : void, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError), never>;
3093
3359
  readonly "orchestration.dispatchCommand": <const AsQueue extends boolean = false, const Discard = false>(input: {
3094
3360
  readonly type: "project.create";
3095
3361
  readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
@@ -3126,6 +3392,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3126
3392
  readonly command: string;
3127
3393
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3128
3394
  readonly runOnWorktreeCreate: boolean;
3395
+ readonly previewUrl?: string | undefined;
3396
+ readonly autoOpenPreview?: boolean | undefined;
3129
3397
  }[] | undefined;
3130
3398
  } | {
3131
3399
  readonly type: "project.delete";
@@ -3223,6 +3491,20 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3223
3491
  readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
3224
3492
  readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
3225
3493
  readonly createdAt: string;
3494
+ } | {
3495
+ readonly type: "thread.goal.request";
3496
+ readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
3497
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
3498
+ readonly request: {
3499
+ readonly kind: "status";
3500
+ } | {
3501
+ readonly kind: "control";
3502
+ readonly action: "pause" | "resume" | "clear";
3503
+ } | {
3504
+ readonly kind: "set";
3505
+ readonly objective: string;
3506
+ };
3507
+ readonly createdAt: string;
3226
3508
  } | {
3227
3509
  readonly type: "thread.turn.start";
3228
3510
  readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
@@ -3286,7 +3568,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3286
3568
  readonly discard?: Discard | undefined;
3287
3569
  } | undefined) => Effect.Effect<Discard extends true ? void : {
3288
3570
  readonly sequence: number;
3289
- }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationDispatchCommandError), never>;
3571
+ }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationDispatchCommandError), never>;
3290
3572
  readonly "orchestration.getArchivedShellSnapshot": <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
3291
3573
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
3292
3574
  readonly context?: Context.Context<never> | undefined;
@@ -3311,6 +3593,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3311
3593
  readonly command: string;
3312
3594
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3313
3595
  readonly runOnWorktreeCreate: boolean;
3596
+ readonly previewUrl?: string | undefined;
3597
+ readonly autoOpenPreview?: boolean | undefined;
3314
3598
  }[];
3315
3599
  readonly createdAt: string;
3316
3600
  readonly updatedAt: string;
@@ -3369,13 +3653,22 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3369
3653
  readonly updatedAt: string;
3370
3654
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
3371
3655
  } | null;
3656
+ readonly goal: {
3657
+ readonly objective: string;
3658
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
3659
+ readonly tokensUsed: number;
3660
+ readonly tokenBudget: number | null;
3661
+ readonly timeUsedSeconds: number;
3662
+ readonly createdAt: string;
3663
+ readonly updatedAt: string;
3664
+ } | null;
3372
3665
  readonly latestUserMessageAt: string | null;
3373
3666
  readonly hasPendingApprovals: boolean;
3374
3667
  readonly hasPendingUserInput: boolean;
3375
3668
  readonly hasActionableProposedPlan: boolean;
3376
3669
  }[];
3377
3670
  readonly updatedAt: string;
3378
- }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError), never>;
3671
+ }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError), never>;
3379
3672
  readonly "orchestration.subscribeShell": <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
3380
3673
  readonly asQueue?: AsQueue | undefined;
3381
3674
  readonly streamBufferSize?: number | undefined;
@@ -3402,6 +3695,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3402
3695
  readonly command: string;
3403
3696
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3404
3697
  readonly runOnWorktreeCreate: boolean;
3698
+ readonly previewUrl?: string | undefined;
3699
+ readonly autoOpenPreview?: boolean | undefined;
3405
3700
  }[];
3406
3701
  readonly createdAt: string;
3407
3702
  readonly updatedAt: string;
@@ -3467,6 +3762,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3467
3762
  readonly updatedAt: string;
3468
3763
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
3469
3764
  } | null;
3765
+ readonly goal: {
3766
+ readonly objective: string;
3767
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
3768
+ readonly tokensUsed: number;
3769
+ readonly tokenBudget: number | null;
3770
+ readonly timeUsedSeconds: number;
3771
+ readonly createdAt: string;
3772
+ readonly updatedAt: string;
3773
+ } | null;
3470
3774
  readonly latestUserMessageAt: string | null;
3471
3775
  readonly hasPendingApprovals: boolean;
3472
3776
  readonly hasPendingUserInput: boolean;
@@ -3498,6 +3802,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3498
3802
  readonly command: string;
3499
3803
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3500
3804
  readonly runOnWorktreeCreate: boolean;
3805
+ readonly previewUrl?: string | undefined;
3806
+ readonly autoOpenPreview?: boolean | undefined;
3501
3807
  }[];
3502
3808
  readonly createdAt: string;
3503
3809
  readonly updatedAt: string;
@@ -3556,6 +3862,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3556
3862
  readonly updatedAt: string;
3557
3863
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
3558
3864
  } | null;
3865
+ readonly goal: {
3866
+ readonly objective: string;
3867
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
3868
+ readonly tokensUsed: number;
3869
+ readonly tokenBudget: number | null;
3870
+ readonly timeUsedSeconds: number;
3871
+ readonly createdAt: string;
3872
+ readonly updatedAt: string;
3873
+ } | null;
3559
3874
  readonly latestUserMessageAt: string | null;
3560
3875
  readonly hasPendingApprovals: boolean;
3561
3876
  readonly hasPendingUserInput: boolean;
@@ -3563,7 +3878,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3563
3878
  }[];
3564
3879
  readonly updatedAt: string;
3565
3880
  };
3566
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
3881
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
3567
3882
  readonly kind: "project-upserted";
3568
3883
  readonly sequence: number;
3569
3884
  readonly project: {
@@ -3584,6 +3899,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3584
3899
  readonly command: string;
3585
3900
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3586
3901
  readonly runOnWorktreeCreate: boolean;
3902
+ readonly previewUrl?: string | undefined;
3903
+ readonly autoOpenPreview?: boolean | undefined;
3587
3904
  }[];
3588
3905
  readonly createdAt: string;
3589
3906
  readonly updatedAt: string;
@@ -3649,6 +3966,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3649
3966
  readonly updatedAt: string;
3650
3967
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
3651
3968
  } | null;
3969
+ readonly goal: {
3970
+ readonly objective: string;
3971
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
3972
+ readonly tokensUsed: number;
3973
+ readonly tokenBudget: number | null;
3974
+ readonly timeUsedSeconds: number;
3975
+ readonly createdAt: string;
3976
+ readonly updatedAt: string;
3977
+ } | null;
3652
3978
  readonly latestUserMessageAt: string | null;
3653
3979
  readonly hasPendingApprovals: boolean;
3654
3980
  readonly hasPendingUserInput: boolean;
@@ -3680,6 +4006,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3680
4006
  readonly command: string;
3681
4007
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3682
4008
  readonly runOnWorktreeCreate: boolean;
4009
+ readonly previewUrl?: string | undefined;
4010
+ readonly autoOpenPreview?: boolean | undefined;
3683
4011
  }[];
3684
4012
  readonly createdAt: string;
3685
4013
  readonly updatedAt: string;
@@ -3738,6 +4066,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3738
4066
  readonly updatedAt: string;
3739
4067
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
3740
4068
  } | null;
4069
+ readonly goal: {
4070
+ readonly objective: string;
4071
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
4072
+ readonly tokensUsed: number;
4073
+ readonly tokenBudget: number | null;
4074
+ readonly timeUsedSeconds: number;
4075
+ readonly createdAt: string;
4076
+ readonly updatedAt: string;
4077
+ } | null;
3741
4078
  readonly latestUserMessageAt: string | null;
3742
4079
  readonly hasPendingApprovals: boolean;
3743
4080
  readonly hasPendingUserInput: boolean;
@@ -3745,7 +4082,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3745
4082
  }[];
3746
4083
  readonly updatedAt: string;
3747
4084
  };
3748
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
4085
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
3749
4086
  readonly "orchestration.subscribeThread": <const AsQueue extends boolean = false, const Discard = false>(input: {
3750
4087
  readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
3751
4088
  }, options?: {
@@ -3789,6 +4126,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3789
4126
  readonly updatedAt: string;
3790
4127
  readonly archivedAt: string | null;
3791
4128
  readonly deletedAt: string | null;
4129
+ readonly goal: {
4130
+ readonly objective: string;
4131
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
4132
+ readonly tokensUsed: number;
4133
+ readonly tokenBudget: number | null;
4134
+ readonly timeUsedSeconds: number;
4135
+ readonly createdAt: string;
4136
+ readonly updatedAt: string;
4137
+ } | null;
3792
4138
  readonly messages: readonly {
3793
4139
  readonly id: string & import("effect/Brand").Brand<"MessageId">;
3794
4140
  readonly role: "user" | "assistant" | "system";
@@ -3872,6 +4218,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3872
4218
  readonly command: string;
3873
4219
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3874
4220
  readonly runOnWorktreeCreate: boolean;
4221
+ readonly previewUrl?: string | undefined;
4222
+ readonly autoOpenPreview?: boolean | undefined;
3875
4223
  }[];
3876
4224
  readonly createdAt: string;
3877
4225
  readonly updatedAt: string;
@@ -3938,6 +4286,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
3938
4286
  readonly command: string;
3939
4287
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3940
4288
  readonly runOnWorktreeCreate: boolean;
4289
+ readonly previewUrl?: string | undefined;
4290
+ readonly autoOpenPreview?: boolean | undefined;
3941
4291
  }[] | undefined;
3942
4292
  };
3943
4293
  readonly sequence: number;
@@ -4387,6 +4737,85 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
4387
4737
  readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
4388
4738
  readonly ingestedAt?: string | undefined;
4389
4739
  };
4740
+ } | {
4741
+ readonly type: "thread.goal-requested";
4742
+ readonly payload: {
4743
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
4744
+ readonly request: {
4745
+ readonly kind: "status";
4746
+ } | {
4747
+ readonly kind: "control";
4748
+ readonly action: "pause" | "resume" | "clear";
4749
+ } | {
4750
+ readonly kind: "set";
4751
+ readonly objective: string;
4752
+ };
4753
+ readonly createdAt: string;
4754
+ };
4755
+ readonly sequence: number;
4756
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
4757
+ readonly aggregateKind: "project" | "thread";
4758
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
4759
+ readonly occurredAt: string;
4760
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
4761
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
4762
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
4763
+ readonly metadata: {
4764
+ readonly providerTurnId?: string | undefined;
4765
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
4766
+ readonly adapterKey?: string | undefined;
4767
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
4768
+ readonly ingestedAt?: string | undefined;
4769
+ };
4770
+ } | {
4771
+ readonly type: "thread.goal-updated";
4772
+ readonly payload: {
4773
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
4774
+ readonly goal: {
4775
+ readonly objective: string;
4776
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
4777
+ readonly tokensUsed: number;
4778
+ readonly tokenBudget: number | null;
4779
+ readonly timeUsedSeconds: number;
4780
+ readonly createdAt: string;
4781
+ readonly updatedAt: string;
4782
+ };
4783
+ };
4784
+ readonly sequence: number;
4785
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
4786
+ readonly aggregateKind: "project" | "thread";
4787
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
4788
+ readonly occurredAt: string;
4789
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
4790
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
4791
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
4792
+ readonly metadata: {
4793
+ readonly providerTurnId?: string | undefined;
4794
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
4795
+ readonly adapterKey?: string | undefined;
4796
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
4797
+ readonly ingestedAt?: string | undefined;
4798
+ };
4799
+ } | {
4800
+ readonly type: "thread.goal-cleared";
4801
+ readonly payload: {
4802
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
4803
+ };
4804
+ readonly sequence: number;
4805
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
4806
+ readonly aggregateKind: "project" | "thread";
4807
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
4808
+ readonly occurredAt: string;
4809
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
4810
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
4811
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
4812
+ readonly metadata: {
4813
+ readonly providerTurnId?: string | undefined;
4814
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
4815
+ readonly adapterKey?: string | undefined;
4816
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
4817
+ readonly ingestedAt?: string | undefined;
4818
+ };
4390
4819
  } | {
4391
4820
  readonly type: "thread.proposed-plan-upserted";
4392
4821
  readonly payload: {
@@ -4479,7 +4908,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
4479
4908
  readonly ingestedAt?: string | undefined;
4480
4909
  };
4481
4910
  };
4482
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
4911
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
4483
4912
  readonly kind: "snapshot";
4484
4913
  readonly snapshot: {
4485
4914
  readonly snapshotSequence: number;
@@ -4515,6 +4944,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
4515
4944
  readonly updatedAt: string;
4516
4945
  readonly archivedAt: string | null;
4517
4946
  readonly deletedAt: string | null;
4947
+ readonly goal: {
4948
+ readonly objective: string;
4949
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
4950
+ readonly tokensUsed: number;
4951
+ readonly tokenBudget: number | null;
4952
+ readonly timeUsedSeconds: number;
4953
+ readonly createdAt: string;
4954
+ readonly updatedAt: string;
4955
+ } | null;
4518
4956
  readonly messages: readonly {
4519
4957
  readonly id: string & import("effect/Brand").Brand<"MessageId">;
4520
4958
  readonly role: "user" | "assistant" | "system";
@@ -4598,6 +5036,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
4598
5036
  readonly command: string;
4599
5037
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
4600
5038
  readonly runOnWorktreeCreate: boolean;
5039
+ readonly previewUrl?: string | undefined;
5040
+ readonly autoOpenPreview?: boolean | undefined;
4601
5041
  }[];
4602
5042
  readonly createdAt: string;
4603
5043
  readonly updatedAt: string;
@@ -4664,6 +5104,8 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
4664
5104
  readonly command: string;
4665
5105
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
4666
5106
  readonly runOnWorktreeCreate: boolean;
5107
+ readonly previewUrl?: string | undefined;
5108
+ readonly autoOpenPreview?: boolean | undefined;
4667
5109
  }[] | undefined;
4668
5110
  };
4669
5111
  readonly sequence: number;
@@ -5113,6 +5555,85 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
5113
5555
  readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
5114
5556
  readonly ingestedAt?: string | undefined;
5115
5557
  };
5558
+ } | {
5559
+ readonly type: "thread.goal-requested";
5560
+ readonly payload: {
5561
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
5562
+ readonly request: {
5563
+ readonly kind: "status";
5564
+ } | {
5565
+ readonly kind: "control";
5566
+ readonly action: "pause" | "resume" | "clear";
5567
+ } | {
5568
+ readonly kind: "set";
5569
+ readonly objective: string;
5570
+ };
5571
+ readonly createdAt: string;
5572
+ };
5573
+ readonly sequence: number;
5574
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
5575
+ readonly aggregateKind: "project" | "thread";
5576
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
5577
+ readonly occurredAt: string;
5578
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
5579
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
5580
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
5581
+ readonly metadata: {
5582
+ readonly providerTurnId?: string | undefined;
5583
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
5584
+ readonly adapterKey?: string | undefined;
5585
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
5586
+ readonly ingestedAt?: string | undefined;
5587
+ };
5588
+ } | {
5589
+ readonly type: "thread.goal-updated";
5590
+ readonly payload: {
5591
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
5592
+ readonly goal: {
5593
+ readonly objective: string;
5594
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
5595
+ readonly tokensUsed: number;
5596
+ readonly tokenBudget: number | null;
5597
+ readonly timeUsedSeconds: number;
5598
+ readonly createdAt: string;
5599
+ readonly updatedAt: string;
5600
+ };
5601
+ };
5602
+ readonly sequence: number;
5603
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
5604
+ readonly aggregateKind: "project" | "thread";
5605
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
5606
+ readonly occurredAt: string;
5607
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
5608
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
5609
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
5610
+ readonly metadata: {
5611
+ readonly providerTurnId?: string | undefined;
5612
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
5613
+ readonly adapterKey?: string | undefined;
5614
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
5615
+ readonly ingestedAt?: string | undefined;
5616
+ };
5617
+ } | {
5618
+ readonly type: "thread.goal-cleared";
5619
+ readonly payload: {
5620
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
5621
+ };
5622
+ readonly sequence: number;
5623
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
5624
+ readonly aggregateKind: "project" | "thread";
5625
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
5626
+ readonly occurredAt: string;
5627
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
5628
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
5629
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
5630
+ readonly metadata: {
5631
+ readonly providerTurnId?: string | undefined;
5632
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
5633
+ readonly adapterKey?: string | undefined;
5634
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
5635
+ readonly ingestedAt?: string | undefined;
5636
+ };
5116
5637
  } | {
5117
5638
  readonly type: "thread.proposed-plan-upserted";
5118
5639
  readonly payload: {
@@ -5205,7 +5726,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
5205
5726
  readonly ingestedAt?: string | undefined;
5206
5727
  };
5207
5728
  };
5208
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
5729
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
5209
5730
  readonly subscribeTerminalEvents: <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
5210
5731
  readonly asQueue?: AsQueue | undefined;
5211
5732
  readonly streamBufferSize?: number | undefined;
@@ -5285,7 +5806,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
5285
5806
  readonly threadId: string;
5286
5807
  readonly terminalId: string;
5287
5808
  readonly sequence?: number | undefined;
5288
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
5809
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
5289
5810
  readonly type: "started";
5290
5811
  readonly snapshot: {
5291
5812
  readonly threadId: string;
@@ -5359,7 +5880,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
5359
5880
  readonly threadId: string;
5360
5881
  readonly terminalId: string;
5361
5882
  readonly sequence?: number | undefined;
5362
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
5883
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
5363
5884
  readonly subscribeTerminalMetadata: <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
5364
5885
  readonly asQueue?: AsQueue | undefined;
5365
5886
  readonly streamBufferSize?: number | undefined;
@@ -5399,7 +5920,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
5399
5920
  readonly type: "remove";
5400
5921
  readonly threadId: string;
5401
5922
  readonly terminalId: string;
5402
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
5923
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError | import("effect/Cause").Done<void>>, never, Scope.Scope> : import("effect/Stream").Stream<{
5403
5924
  readonly type: "snapshot";
5404
5925
  readonly terminals: readonly {
5405
5926
  readonly threadId: string;
@@ -5433,7 +5954,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
5433
5954
  readonly type: "remove";
5434
5955
  readonly threadId: string;
5435
5956
  readonly terminalId: string;
5436
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
5957
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("effect/unstable/rpc/RpcClientError").RpcClientError, never>;
5437
5958
  readonly "server.getConfig": <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
5438
5959
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
5439
5960
  readonly context?: Context.Context<never> | undefined;
@@ -5460,7 +5981,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
5460
5981
  readonly cwd: string;
5461
5982
  readonly keybindingsConfigPath: string;
5462
5983
  readonly keybindings: readonly {
5463
- readonly command: "thread.jump.1" | "thread.jump.2" | "thread.jump.3" | "thread.jump.4" | "thread.jump.5" | "thread.jump.6" | "thread.jump.7" | "thread.jump.8" | "thread.jump.9" | "modelPicker.jump.1" | "modelPicker.jump.2" | "modelPicker.jump.3" | "modelPicker.jump.4" | "modelPicker.jump.5" | "modelPicker.jump.6" | "modelPicker.jump.7" | "modelPicker.jump.8" | "modelPicker.jump.9" | "thread.previous" | "thread.next" | "modelPicker.toggle" | "terminal.toggle" | "terminal.split" | "terminal.new" | "terminal.close" | "diff.toggle" | "commandPalette.toggle" | "chat.new" | "chat.newLocal" | "editor.openFavorite" | `script.${string}.run`;
5984
+ readonly command: "thread.jump.1" | "thread.jump.2" | "thread.jump.3" | "thread.jump.4" | "thread.jump.5" | "thread.jump.6" | "thread.jump.7" | "thread.jump.8" | "thread.jump.9" | "modelPicker.jump.1" | "modelPicker.jump.2" | "modelPicker.jump.3" | "modelPicker.jump.4" | "modelPicker.jump.5" | "modelPicker.jump.6" | "modelPicker.jump.7" | "modelPicker.jump.8" | "modelPicker.jump.9" | "thread.previous" | "thread.next" | "modelPicker.toggle" | "terminal.toggle" | "terminal.split" | "terminal.splitVertical" | "terminal.new" | "terminal.close" | "rightPanel.toggle" | "diff.toggle" | "preview.toggle" | "preview.refresh" | "preview.focusUrl" | "preview.zoomIn" | "preview.zoomOut" | "preview.resetZoom" | "commandPalette.toggle" | "chat.new" | "chat.newLocal" | "editor.openFavorite" | `script.${string}.run`;
5464
5985
  readonly shortcut: {
5465
5986
  readonly key: string;
5466
5987
  readonly metaKey: boolean;
@@ -5474,15 +5995,15 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
5474
5995
  readonly name: string;
5475
5996
  } | {
5476
5997
  readonly type: "not";
5477
- readonly node: import("#t3tools/contracts").KeybindingWhenNode;
5998
+ readonly node: import("@t3tools/contracts").KeybindingWhenNode;
5478
5999
  } | {
5479
6000
  readonly type: "and";
5480
- readonly left: import("#t3tools/contracts").KeybindingWhenNode;
5481
- readonly right: import("#t3tools/contracts").KeybindingWhenNode;
6001
+ readonly left: import("@t3tools/contracts").KeybindingWhenNode;
6002
+ readonly right: import("@t3tools/contracts").KeybindingWhenNode;
5482
6003
  } | {
5483
6004
  readonly type: "or";
5484
- readonly left: import("#t3tools/contracts").KeybindingWhenNode;
5485
- readonly right: import("#t3tools/contracts").KeybindingWhenNode;
6005
+ readonly left: import("@t3tools/contracts").KeybindingWhenNode;
6006
+ readonly right: import("@t3tools/contracts").KeybindingWhenNode;
5486
6007
  } | undefined;
5487
6008
  }[];
5488
6009
  readonly issues: readonly ({
@@ -5559,6 +6080,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
5559
6080
  readonly groupKey: string;
5560
6081
  } | undefined;
5561
6082
  readonly showInteractionModeToggle?: boolean | undefined;
6083
+ readonly requiresNewThreadForModelChange?: boolean | undefined;
5562
6084
  readonly message?: string | undefined;
5563
6085
  readonly availability?: "available" | "unavailable" | undefined;
5564
6086
  readonly unavailableReason?: string | undefined;
@@ -5622,6 +6144,11 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
5622
6144
  readonly apiEndpoint: string;
5623
6145
  readonly customModels: readonly string[];
5624
6146
  };
6147
+ readonly grok: {
6148
+ readonly enabled: boolean;
6149
+ readonly binaryPath: string;
6150
+ readonly customModels: readonly string[];
6151
+ };
5625
6152
  readonly opencode: {
5626
6153
  readonly enabled: boolean;
5627
6154
  readonly binaryPath: string;
@@ -5717,6 +6244,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
5717
6244
  readonly groupKey: string;
5718
6245
  } | undefined;
5719
6246
  readonly showInteractionModeToggle?: boolean | undefined;
6247
+ readonly requiresNewThreadForModelChange?: boolean | undefined;
5720
6248
  readonly message?: string | undefined;
5721
6249
  readonly availability?: "available" | "unavailable" | undefined;
5722
6250
  readonly unavailableReason?: string | undefined;
@@ -5737,7 +6265,7 @@ export declare const makeT3RpcLayer: () => Effect.Effect<{
5737
6265
  readonly output: string | null;
5738
6266
  };
5739
6267
  }[];
5740
- }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").KeybindingsConfigError | import("#t3tools/contracts").ServerSettingsError), never>;
6268
+ }, import("effect/unstable/rpc/RpcClientError").RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").KeybindingsConfigError | import("@t3tools/contracts").ServerSettingsError), never>;
5741
6269
  }, RpcError, never>;
5742
6270
  }, never, Scope.Scope | T3AuthTransport | T3CodeConnectionProvider | Socket.WebSocketConstructor>;
5743
6271
  export declare const T3RpcLive: Layer.Layer<T3Rpc, never, T3AuthTransport | T3CodeConnectionProvider | Socket.WebSocketConstructor>;