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
@@ -28,6 +28,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
28
28
  readonly env?: {
29
29
  readonly [x: string]: string;
30
30
  } | undefined;
31
+ readonly projectId?: (string & import("effect/Brand").Brand<"ProjectId">) | undefined;
31
32
  }, options?: {
32
33
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
33
34
  readonly context?: Context.Context<never> | undefined;
@@ -45,7 +46,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
45
46
  readonly label: string;
46
47
  readonly updatedAt: string;
47
48
  readonly sequence?: number | undefined;
48
- }, 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>;
49
+ }, 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>;
49
50
  readonly "terminal.attach": <const AsQueue extends boolean = false, const Discard = false>(input: {
50
51
  readonly terminalId: string;
51
52
  readonly threadId: string;
@@ -57,6 +58,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
57
58
  readonly [x: string]: string;
58
59
  } | undefined;
59
60
  readonly restartIfNotRunning?: boolean | undefined;
61
+ readonly projectId?: (string & import("effect/Brand").Brand<"ProjectId">) | undefined;
60
62
  }, options?: {
61
63
  readonly asQueue?: AsQueue | undefined;
62
64
  readonly streamBufferSize?: number | undefined;
@@ -133,7 +135,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
133
135
  readonly updatedAt: string;
134
136
  readonly sequence?: number | undefined;
135
137
  };
136
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
138
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
137
139
  readonly type: "output";
138
140
  readonly data: string;
139
141
  readonly threadId: string;
@@ -204,7 +206,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
204
206
  readonly updatedAt: string;
205
207
  readonly sequence?: number | undefined;
206
208
  };
207
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError | RpcClientError.RpcClientError, never>;
209
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError | RpcClientError.RpcClientError, never>;
208
210
  readonly "terminal.write": <const AsQueue extends boolean = false, const Discard = false>(input: {
209
211
  readonly data: string;
210
212
  readonly terminalId: string;
@@ -213,7 +215,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
213
215
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
214
216
  readonly context?: Context.Context<never> | undefined;
215
217
  readonly discard?: Discard | undefined;
216
- } | undefined) => Effect.Effect<Discard extends true ? void : void, 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
+ } | undefined) => Effect.Effect<Discard extends true ? void : void, 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>;
217
219
  readonly "terminal.resize": <const AsQueue extends boolean = false, const Discard = false>(input: {
218
220
  readonly cols: number;
219
221
  readonly rows: number;
@@ -223,7 +225,7 @@ export declare const makeT3RpcOperations: () => 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, 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, 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 "terminal.close": <const AsQueue extends boolean = false, const Discard = false>(input: {
228
230
  readonly threadId: string;
229
231
  readonly terminalId?: string | undefined;
@@ -232,7 +234,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
232
234
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
233
235
  readonly context?: Context.Context<never> | undefined;
234
236
  readonly discard?: Discard | undefined;
235
- } | undefined) => Effect.Effect<Discard extends true ? void : void, 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>;
237
+ } | undefined) => Effect.Effect<Discard extends true ? void : void, 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>;
236
238
  readonly "orchestration.dispatchCommand": <const AsQueue extends boolean = false, const Discard = false>(input: {
237
239
  readonly type: "project.create";
238
240
  readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
@@ -269,6 +271,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
269
271
  readonly command: string;
270
272
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
271
273
  readonly runOnWorktreeCreate: boolean;
274
+ readonly previewUrl?: string | undefined;
275
+ readonly autoOpenPreview?: boolean | undefined;
272
276
  }[] | undefined;
273
277
  } | {
274
278
  readonly type: "project.delete";
@@ -366,6 +370,20 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
366
370
  readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
367
371
  readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
368
372
  readonly createdAt: string;
373
+ } | {
374
+ readonly type: "thread.goal.request";
375
+ readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
376
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
377
+ readonly request: {
378
+ readonly kind: "status";
379
+ } | {
380
+ readonly kind: "control";
381
+ readonly action: "pause" | "resume" | "clear";
382
+ } | {
383
+ readonly kind: "set";
384
+ readonly objective: string;
385
+ };
386
+ readonly createdAt: string;
369
387
  } | {
370
388
  readonly type: "thread.turn.start";
371
389
  readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
@@ -429,7 +447,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
429
447
  readonly discard?: Discard | undefined;
430
448
  } | undefined) => Effect.Effect<Discard extends true ? void : {
431
449
  readonly sequence: number;
432
- }, RpcClientError.RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationDispatchCommandError), never>;
450
+ }, RpcClientError.RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationDispatchCommandError), never>;
433
451
  readonly "orchestration.getArchivedShellSnapshot": <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
434
452
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
435
453
  readonly context?: Context.Context<never> | undefined;
@@ -454,6 +472,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
454
472
  readonly command: string;
455
473
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
456
474
  readonly runOnWorktreeCreate: boolean;
475
+ readonly previewUrl?: string | undefined;
476
+ readonly autoOpenPreview?: boolean | undefined;
457
477
  }[];
458
478
  readonly createdAt: string;
459
479
  readonly updatedAt: string;
@@ -512,13 +532,22 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
512
532
  readonly updatedAt: string;
513
533
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
514
534
  } | null;
535
+ readonly goal: {
536
+ readonly objective: string;
537
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
538
+ readonly tokensUsed: number;
539
+ readonly tokenBudget: number | null;
540
+ readonly timeUsedSeconds: number;
541
+ readonly createdAt: string;
542
+ readonly updatedAt: string;
543
+ } | null;
515
544
  readonly latestUserMessageAt: string | null;
516
545
  readonly hasPendingApprovals: boolean;
517
546
  readonly hasPendingUserInput: boolean;
518
547
  readonly hasActionableProposedPlan: boolean;
519
548
  }[];
520
549
  readonly updatedAt: string;
521
- }, RpcClientError.RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError), never>;
550
+ }, RpcClientError.RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError), never>;
522
551
  readonly "orchestration.subscribeShell": <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
523
552
  readonly asQueue?: AsQueue | undefined;
524
553
  readonly streamBufferSize?: number | undefined;
@@ -545,6 +574,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
545
574
  readonly command: string;
546
575
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
547
576
  readonly runOnWorktreeCreate: boolean;
577
+ readonly previewUrl?: string | undefined;
578
+ readonly autoOpenPreview?: boolean | undefined;
548
579
  }[];
549
580
  readonly createdAt: string;
550
581
  readonly updatedAt: string;
@@ -610,6 +641,15 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
610
641
  readonly updatedAt: string;
611
642
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
612
643
  } | null;
644
+ readonly goal: {
645
+ readonly objective: string;
646
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
647
+ readonly tokensUsed: number;
648
+ readonly tokenBudget: number | null;
649
+ readonly timeUsedSeconds: number;
650
+ readonly createdAt: string;
651
+ readonly updatedAt: string;
652
+ } | null;
613
653
  readonly latestUserMessageAt: string | null;
614
654
  readonly hasPendingApprovals: boolean;
615
655
  readonly hasPendingUserInput: boolean;
@@ -641,6 +681,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
641
681
  readonly command: string;
642
682
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
643
683
  readonly runOnWorktreeCreate: boolean;
684
+ readonly previewUrl?: string | undefined;
685
+ readonly autoOpenPreview?: boolean | undefined;
644
686
  }[];
645
687
  readonly createdAt: string;
646
688
  readonly updatedAt: string;
@@ -699,6 +741,15 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
699
741
  readonly updatedAt: string;
700
742
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
701
743
  } | null;
744
+ readonly goal: {
745
+ readonly objective: string;
746
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
747
+ readonly tokensUsed: number;
748
+ readonly tokenBudget: number | null;
749
+ readonly timeUsedSeconds: number;
750
+ readonly createdAt: string;
751
+ readonly updatedAt: string;
752
+ } | null;
702
753
  readonly latestUserMessageAt: string | null;
703
754
  readonly hasPendingApprovals: boolean;
704
755
  readonly hasPendingUserInput: boolean;
@@ -706,7 +757,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
706
757
  }[];
707
758
  readonly updatedAt: string;
708
759
  };
709
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
760
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
710
761
  readonly kind: "project-upserted";
711
762
  readonly sequence: number;
712
763
  readonly project: {
@@ -727,6 +778,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
727
778
  readonly command: string;
728
779
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
729
780
  readonly runOnWorktreeCreate: boolean;
781
+ readonly previewUrl?: string | undefined;
782
+ readonly autoOpenPreview?: boolean | undefined;
730
783
  }[];
731
784
  readonly createdAt: string;
732
785
  readonly updatedAt: string;
@@ -792,6 +845,15 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
792
845
  readonly updatedAt: string;
793
846
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
794
847
  } | null;
848
+ readonly goal: {
849
+ readonly objective: string;
850
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
851
+ readonly tokensUsed: number;
852
+ readonly tokenBudget: number | null;
853
+ readonly timeUsedSeconds: number;
854
+ readonly createdAt: string;
855
+ readonly updatedAt: string;
856
+ } | null;
795
857
  readonly latestUserMessageAt: string | null;
796
858
  readonly hasPendingApprovals: boolean;
797
859
  readonly hasPendingUserInput: boolean;
@@ -823,6 +885,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
823
885
  readonly command: string;
824
886
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
825
887
  readonly runOnWorktreeCreate: boolean;
888
+ readonly previewUrl?: string | undefined;
889
+ readonly autoOpenPreview?: boolean | undefined;
826
890
  }[];
827
891
  readonly createdAt: string;
828
892
  readonly updatedAt: string;
@@ -881,6 +945,15 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
881
945
  readonly updatedAt: string;
882
946
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
883
947
  } | null;
948
+ readonly goal: {
949
+ readonly objective: string;
950
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
951
+ readonly tokensUsed: number;
952
+ readonly tokenBudget: number | null;
953
+ readonly timeUsedSeconds: number;
954
+ readonly createdAt: string;
955
+ readonly updatedAt: string;
956
+ } | null;
884
957
  readonly latestUserMessageAt: string | null;
885
958
  readonly hasPendingApprovals: boolean;
886
959
  readonly hasPendingUserInput: boolean;
@@ -888,7 +961,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
888
961
  }[];
889
962
  readonly updatedAt: string;
890
963
  };
891
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError, never>;
964
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError, never>;
892
965
  readonly "orchestration.subscribeThread": <const AsQueue extends boolean = false, const Discard = false>(input: {
893
966
  readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
894
967
  }, options?: {
@@ -932,6 +1005,15 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
932
1005
  readonly updatedAt: string;
933
1006
  readonly archivedAt: string | null;
934
1007
  readonly deletedAt: string | null;
1008
+ readonly goal: {
1009
+ readonly objective: string;
1010
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
1011
+ readonly tokensUsed: number;
1012
+ readonly tokenBudget: number | null;
1013
+ readonly timeUsedSeconds: number;
1014
+ readonly createdAt: string;
1015
+ readonly updatedAt: string;
1016
+ } | null;
935
1017
  readonly messages: readonly {
936
1018
  readonly id: string & import("effect/Brand").Brand<"MessageId">;
937
1019
  readonly role: "user" | "assistant" | "system";
@@ -1015,6 +1097,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
1015
1097
  readonly command: string;
1016
1098
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
1017
1099
  readonly runOnWorktreeCreate: boolean;
1100
+ readonly previewUrl?: string | undefined;
1101
+ readonly autoOpenPreview?: boolean | undefined;
1018
1102
  }[];
1019
1103
  readonly createdAt: string;
1020
1104
  readonly updatedAt: string;
@@ -1081,6 +1165,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
1081
1165
  readonly command: string;
1082
1166
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
1083
1167
  readonly runOnWorktreeCreate: boolean;
1168
+ readonly previewUrl?: string | undefined;
1169
+ readonly autoOpenPreview?: boolean | undefined;
1084
1170
  }[] | undefined;
1085
1171
  };
1086
1172
  readonly sequence: number;
@@ -1530,6 +1616,85 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
1530
1616
  readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
1531
1617
  readonly ingestedAt?: string | undefined;
1532
1618
  };
1619
+ } | {
1620
+ readonly type: "thread.goal-requested";
1621
+ readonly payload: {
1622
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
1623
+ readonly request: {
1624
+ readonly kind: "status";
1625
+ } | {
1626
+ readonly kind: "control";
1627
+ readonly action: "pause" | "resume" | "clear";
1628
+ } | {
1629
+ readonly kind: "set";
1630
+ readonly objective: string;
1631
+ };
1632
+ readonly createdAt: string;
1633
+ };
1634
+ readonly sequence: number;
1635
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
1636
+ readonly aggregateKind: "project" | "thread";
1637
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
1638
+ readonly occurredAt: string;
1639
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
1640
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
1641
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
1642
+ readonly metadata: {
1643
+ readonly providerTurnId?: string | undefined;
1644
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
1645
+ readonly adapterKey?: string | undefined;
1646
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
1647
+ readonly ingestedAt?: string | undefined;
1648
+ };
1649
+ } | {
1650
+ readonly type: "thread.goal-updated";
1651
+ readonly payload: {
1652
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
1653
+ readonly goal: {
1654
+ readonly objective: string;
1655
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
1656
+ readonly tokensUsed: number;
1657
+ readonly tokenBudget: number | null;
1658
+ readonly timeUsedSeconds: number;
1659
+ readonly createdAt: string;
1660
+ readonly updatedAt: string;
1661
+ };
1662
+ };
1663
+ readonly sequence: number;
1664
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
1665
+ readonly aggregateKind: "project" | "thread";
1666
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
1667
+ readonly occurredAt: string;
1668
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
1669
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
1670
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
1671
+ readonly metadata: {
1672
+ readonly providerTurnId?: string | undefined;
1673
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
1674
+ readonly adapterKey?: string | undefined;
1675
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
1676
+ readonly ingestedAt?: string | undefined;
1677
+ };
1678
+ } | {
1679
+ readonly type: "thread.goal-cleared";
1680
+ readonly payload: {
1681
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
1682
+ };
1683
+ readonly sequence: number;
1684
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
1685
+ readonly aggregateKind: "project" | "thread";
1686
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
1687
+ readonly occurredAt: string;
1688
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
1689
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
1690
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
1691
+ readonly metadata: {
1692
+ readonly providerTurnId?: string | undefined;
1693
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
1694
+ readonly adapterKey?: string | undefined;
1695
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
1696
+ readonly ingestedAt?: string | undefined;
1697
+ };
1533
1698
  } | {
1534
1699
  readonly type: "thread.proposed-plan-upserted";
1535
1700
  readonly payload: {
@@ -1622,7 +1787,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
1622
1787
  readonly ingestedAt?: string | undefined;
1623
1788
  };
1624
1789
  };
1625
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
1790
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
1626
1791
  readonly kind: "snapshot";
1627
1792
  readonly snapshot: {
1628
1793
  readonly snapshotSequence: number;
@@ -1658,6 +1823,15 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
1658
1823
  readonly updatedAt: string;
1659
1824
  readonly archivedAt: string | null;
1660
1825
  readonly deletedAt: string | null;
1826
+ readonly goal: {
1827
+ readonly objective: string;
1828
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
1829
+ readonly tokensUsed: number;
1830
+ readonly tokenBudget: number | null;
1831
+ readonly timeUsedSeconds: number;
1832
+ readonly createdAt: string;
1833
+ readonly updatedAt: string;
1834
+ } | null;
1661
1835
  readonly messages: readonly {
1662
1836
  readonly id: string & import("effect/Brand").Brand<"MessageId">;
1663
1837
  readonly role: "user" | "assistant" | "system";
@@ -1741,6 +1915,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
1741
1915
  readonly command: string;
1742
1916
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
1743
1917
  readonly runOnWorktreeCreate: boolean;
1918
+ readonly previewUrl?: string | undefined;
1919
+ readonly autoOpenPreview?: boolean | undefined;
1744
1920
  }[];
1745
1921
  readonly createdAt: string;
1746
1922
  readonly updatedAt: string;
@@ -1807,6 +1983,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
1807
1983
  readonly command: string;
1808
1984
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
1809
1985
  readonly runOnWorktreeCreate: boolean;
1986
+ readonly previewUrl?: string | undefined;
1987
+ readonly autoOpenPreview?: boolean | undefined;
1810
1988
  }[] | undefined;
1811
1989
  };
1812
1990
  readonly sequence: number;
@@ -2256,6 +2434,85 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2256
2434
  readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
2257
2435
  readonly ingestedAt?: string | undefined;
2258
2436
  };
2437
+ } | {
2438
+ readonly type: "thread.goal-requested";
2439
+ readonly payload: {
2440
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
2441
+ readonly request: {
2442
+ readonly kind: "status";
2443
+ } | {
2444
+ readonly kind: "control";
2445
+ readonly action: "pause" | "resume" | "clear";
2446
+ } | {
2447
+ readonly kind: "set";
2448
+ readonly objective: string;
2449
+ };
2450
+ readonly createdAt: string;
2451
+ };
2452
+ readonly sequence: number;
2453
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
2454
+ readonly aggregateKind: "project" | "thread";
2455
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
2456
+ readonly occurredAt: string;
2457
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
2458
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
2459
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
2460
+ readonly metadata: {
2461
+ readonly providerTurnId?: string | undefined;
2462
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
2463
+ readonly adapterKey?: string | undefined;
2464
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
2465
+ readonly ingestedAt?: string | undefined;
2466
+ };
2467
+ } | {
2468
+ readonly type: "thread.goal-updated";
2469
+ readonly payload: {
2470
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
2471
+ readonly goal: {
2472
+ readonly objective: string;
2473
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
2474
+ readonly tokensUsed: number;
2475
+ readonly tokenBudget: number | null;
2476
+ readonly timeUsedSeconds: number;
2477
+ readonly createdAt: string;
2478
+ readonly updatedAt: string;
2479
+ };
2480
+ };
2481
+ readonly sequence: number;
2482
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
2483
+ readonly aggregateKind: "project" | "thread";
2484
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
2485
+ readonly occurredAt: string;
2486
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
2487
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
2488
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
2489
+ readonly metadata: {
2490
+ readonly providerTurnId?: string | undefined;
2491
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
2492
+ readonly adapterKey?: string | undefined;
2493
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
2494
+ readonly ingestedAt?: string | undefined;
2495
+ };
2496
+ } | {
2497
+ readonly type: "thread.goal-cleared";
2498
+ readonly payload: {
2499
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
2500
+ };
2501
+ readonly sequence: number;
2502
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
2503
+ readonly aggregateKind: "project" | "thread";
2504
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
2505
+ readonly occurredAt: string;
2506
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
2507
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
2508
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
2509
+ readonly metadata: {
2510
+ readonly providerTurnId?: string | undefined;
2511
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
2512
+ readonly adapterKey?: string | undefined;
2513
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
2514
+ readonly ingestedAt?: string | undefined;
2515
+ };
2259
2516
  } | {
2260
2517
  readonly type: "thread.proposed-plan-upserted";
2261
2518
  readonly payload: {
@@ -2348,7 +2605,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2348
2605
  readonly ingestedAt?: string | undefined;
2349
2606
  };
2350
2607
  };
2351
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError, never>;
2608
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError, never>;
2352
2609
  readonly subscribeTerminalEvents: <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
2353
2610
  readonly asQueue?: AsQueue | undefined;
2354
2611
  readonly streamBufferSize?: number | undefined;
@@ -2428,7 +2685,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2428
2685
  readonly threadId: string;
2429
2686
  readonly terminalId: string;
2430
2687
  readonly sequence?: number | undefined;
2431
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
2688
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
2432
2689
  readonly type: "started";
2433
2690
  readonly snapshot: {
2434
2691
  readonly threadId: string;
@@ -2502,7 +2759,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2502
2759
  readonly threadId: string;
2503
2760
  readonly terminalId: string;
2504
2761
  readonly sequence?: number | undefined;
2505
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError, never>;
2762
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError, never>;
2506
2763
  readonly subscribeTerminalMetadata: <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
2507
2764
  readonly asQueue?: AsQueue | undefined;
2508
2765
  readonly streamBufferSize?: number | undefined;
@@ -2542,7 +2799,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2542
2799
  readonly type: "remove";
2543
2800
  readonly threadId: string;
2544
2801
  readonly terminalId: string;
2545
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
2802
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
2546
2803
  readonly type: "snapshot";
2547
2804
  readonly terminals: readonly {
2548
2805
  readonly threadId: string;
@@ -2576,7 +2833,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2576
2833
  readonly type: "remove";
2577
2834
  readonly threadId: string;
2578
2835
  readonly terminalId: string;
2579
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError, never>;
2836
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError, never>;
2580
2837
  readonly "server.getConfig": <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
2581
2838
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
2582
2839
  readonly context?: Context.Context<never> | undefined;
@@ -2603,7 +2860,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2603
2860
  readonly cwd: string;
2604
2861
  readonly keybindingsConfigPath: string;
2605
2862
  readonly keybindings: readonly {
2606
- 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`;
2863
+ 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`;
2607
2864
  readonly shortcut: {
2608
2865
  readonly key: string;
2609
2866
  readonly metaKey: boolean;
@@ -2617,15 +2874,15 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2617
2874
  readonly name: string;
2618
2875
  } | {
2619
2876
  readonly type: "not";
2620
- readonly node: import("#t3tools/contracts").KeybindingWhenNode;
2877
+ readonly node: import("@t3tools/contracts").KeybindingWhenNode;
2621
2878
  } | {
2622
2879
  readonly type: "and";
2623
- readonly left: import("#t3tools/contracts").KeybindingWhenNode;
2624
- readonly right: import("#t3tools/contracts").KeybindingWhenNode;
2880
+ readonly left: import("@t3tools/contracts").KeybindingWhenNode;
2881
+ readonly right: import("@t3tools/contracts").KeybindingWhenNode;
2625
2882
  } | {
2626
2883
  readonly type: "or";
2627
- readonly left: import("#t3tools/contracts").KeybindingWhenNode;
2628
- readonly right: import("#t3tools/contracts").KeybindingWhenNode;
2884
+ readonly left: import("@t3tools/contracts").KeybindingWhenNode;
2885
+ readonly right: import("@t3tools/contracts").KeybindingWhenNode;
2629
2886
  } | undefined;
2630
2887
  }[];
2631
2888
  readonly issues: readonly ({
@@ -2702,6 +2959,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2702
2959
  readonly groupKey: string;
2703
2960
  } | undefined;
2704
2961
  readonly showInteractionModeToggle?: boolean | undefined;
2962
+ readonly requiresNewThreadForModelChange?: boolean | undefined;
2705
2963
  readonly message?: string | undefined;
2706
2964
  readonly availability?: "available" | "unavailable" | undefined;
2707
2965
  readonly unavailableReason?: string | undefined;
@@ -2765,6 +3023,11 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2765
3023
  readonly apiEndpoint: string;
2766
3024
  readonly customModels: readonly string[];
2767
3025
  };
3026
+ readonly grok: {
3027
+ readonly enabled: boolean;
3028
+ readonly binaryPath: string;
3029
+ readonly customModels: readonly string[];
3030
+ };
2768
3031
  readonly opencode: {
2769
3032
  readonly enabled: boolean;
2770
3033
  readonly binaryPath: string;
@@ -2860,6 +3123,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2860
3123
  readonly groupKey: string;
2861
3124
  } | undefined;
2862
3125
  readonly showInteractionModeToggle?: boolean | undefined;
3126
+ readonly requiresNewThreadForModelChange?: boolean | undefined;
2863
3127
  readonly message?: string | undefined;
2864
3128
  readonly availability?: "available" | "unavailable" | undefined;
2865
3129
  readonly unavailableReason?: string | undefined;
@@ -2880,7 +3144,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2880
3144
  readonly output: string | null;
2881
3145
  };
2882
3146
  }[];
2883
- }, RpcClientError.RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").KeybindingsConfigError | import("#t3tools/contracts").ServerSettingsError), never>;
3147
+ }, RpcClientError.RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").KeybindingsConfigError | import("@t3tools/contracts").ServerSettingsError), never>;
2884
3148
  }) => Effect.Effect<A, CliRpcOperationError, R>) => Effect.Effect<A, RpcError, R>;
2885
3149
  subscribe: <A>(method: string, operation: (client: {
2886
3150
  readonly "terminal.open": <const AsQueue extends boolean = false, const Discard = false>(input: {
@@ -2893,6 +3157,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2893
3157
  readonly env?: {
2894
3158
  readonly [x: string]: string;
2895
3159
  } | undefined;
3160
+ readonly projectId?: (string & import("effect/Brand").Brand<"ProjectId">) | undefined;
2896
3161
  }, options?: {
2897
3162
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
2898
3163
  readonly context?: Context.Context<never> | undefined;
@@ -2910,7 +3175,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2910
3175
  readonly label: string;
2911
3176
  readonly updatedAt: string;
2912
3177
  readonly sequence?: number | undefined;
2913
- }, 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>;
3178
+ }, 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>;
2914
3179
  readonly "terminal.attach": <const AsQueue extends boolean = false, const Discard = false>(input: {
2915
3180
  readonly terminalId: string;
2916
3181
  readonly threadId: string;
@@ -2922,6 +3187,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2922
3187
  readonly [x: string]: string;
2923
3188
  } | undefined;
2924
3189
  readonly restartIfNotRunning?: boolean | undefined;
3190
+ readonly projectId?: (string & import("effect/Brand").Brand<"ProjectId">) | undefined;
2925
3191
  }, options?: {
2926
3192
  readonly asQueue?: AsQueue | undefined;
2927
3193
  readonly streamBufferSize?: number | undefined;
@@ -2998,7 +3264,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
2998
3264
  readonly updatedAt: string;
2999
3265
  readonly sequence?: number | undefined;
3000
3266
  };
3001
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
3267
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
3002
3268
  readonly type: "output";
3003
3269
  readonly data: string;
3004
3270
  readonly threadId: string;
@@ -3069,7 +3335,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3069
3335
  readonly updatedAt: string;
3070
3336
  readonly sequence?: number | undefined;
3071
3337
  };
3072
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").TerminalCwdError | import("#t3tools/contracts").TerminalHistoryError | import("#t3tools/contracts").TerminalSessionLookupError | import("#t3tools/contracts").TerminalNotRunningError | RpcClientError.RpcClientError, never>;
3338
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").TerminalCwdError | import("@t3tools/contracts").TerminalHistoryError | import("@t3tools/contracts").TerminalSessionLookupError | import("@t3tools/contracts").TerminalNotRunningError | RpcClientError.RpcClientError, never>;
3073
3339
  readonly "terminal.write": <const AsQueue extends boolean = false, const Discard = false>(input: {
3074
3340
  readonly data: string;
3075
3341
  readonly terminalId: string;
@@ -3078,7 +3344,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3078
3344
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
3079
3345
  readonly context?: Context.Context<never> | undefined;
3080
3346
  readonly discard?: Discard | undefined;
3081
- } | undefined) => Effect.Effect<Discard extends true ? void : void, 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>;
3347
+ } | undefined) => Effect.Effect<Discard extends true ? void : void, 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>;
3082
3348
  readonly "terminal.resize": <const AsQueue extends boolean = false, const Discard = false>(input: {
3083
3349
  readonly cols: number;
3084
3350
  readonly rows: number;
@@ -3088,7 +3354,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3088
3354
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
3089
3355
  readonly context?: Context.Context<never> | undefined;
3090
3356
  readonly discard?: Discard | undefined;
3091
- } | undefined) => Effect.Effect<Discard extends true ? void : void, 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>;
3357
+ } | undefined) => Effect.Effect<Discard extends true ? void : void, 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>;
3092
3358
  readonly "terminal.close": <const AsQueue extends boolean = false, const Discard = false>(input: {
3093
3359
  readonly threadId: string;
3094
3360
  readonly terminalId?: string | undefined;
@@ -3097,7 +3363,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3097
3363
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
3098
3364
  readonly context?: Context.Context<never> | undefined;
3099
3365
  readonly discard?: Discard | undefined;
3100
- } | undefined) => Effect.Effect<Discard extends true ? void : void, 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>;
3366
+ } | undefined) => Effect.Effect<Discard extends true ? void : void, 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>;
3101
3367
  readonly "orchestration.dispatchCommand": <const AsQueue extends boolean = false, const Discard = false>(input: {
3102
3368
  readonly type: "project.create";
3103
3369
  readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
@@ -3134,6 +3400,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3134
3400
  readonly command: string;
3135
3401
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3136
3402
  readonly runOnWorktreeCreate: boolean;
3403
+ readonly previewUrl?: string | undefined;
3404
+ readonly autoOpenPreview?: boolean | undefined;
3137
3405
  }[] | undefined;
3138
3406
  } | {
3139
3407
  readonly type: "project.delete";
@@ -3231,6 +3499,20 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3231
3499
  readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
3232
3500
  readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
3233
3501
  readonly createdAt: string;
3502
+ } | {
3503
+ readonly type: "thread.goal.request";
3504
+ readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
3505
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
3506
+ readonly request: {
3507
+ readonly kind: "status";
3508
+ } | {
3509
+ readonly kind: "control";
3510
+ readonly action: "pause" | "resume" | "clear";
3511
+ } | {
3512
+ readonly kind: "set";
3513
+ readonly objective: string;
3514
+ };
3515
+ readonly createdAt: string;
3234
3516
  } | {
3235
3517
  readonly type: "thread.turn.start";
3236
3518
  readonly commandId: string & import("effect/Brand").Brand<"CommandId">;
@@ -3294,7 +3576,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3294
3576
  readonly discard?: Discard | undefined;
3295
3577
  } | undefined) => Effect.Effect<Discard extends true ? void : {
3296
3578
  readonly sequence: number;
3297
- }, RpcClientError.RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationDispatchCommandError), never>;
3579
+ }, RpcClientError.RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationDispatchCommandError), never>;
3298
3580
  readonly "orchestration.getArchivedShellSnapshot": <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
3299
3581
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
3300
3582
  readonly context?: Context.Context<never> | undefined;
@@ -3319,6 +3601,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3319
3601
  readonly command: string;
3320
3602
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3321
3603
  readonly runOnWorktreeCreate: boolean;
3604
+ readonly previewUrl?: string | undefined;
3605
+ readonly autoOpenPreview?: boolean | undefined;
3322
3606
  }[];
3323
3607
  readonly createdAt: string;
3324
3608
  readonly updatedAt: string;
@@ -3377,13 +3661,22 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3377
3661
  readonly updatedAt: string;
3378
3662
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
3379
3663
  } | null;
3664
+ readonly goal: {
3665
+ readonly objective: string;
3666
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
3667
+ readonly tokensUsed: number;
3668
+ readonly tokenBudget: number | null;
3669
+ readonly timeUsedSeconds: number;
3670
+ readonly createdAt: string;
3671
+ readonly updatedAt: string;
3672
+ } | null;
3380
3673
  readonly latestUserMessageAt: string | null;
3381
3674
  readonly hasPendingApprovals: boolean;
3382
3675
  readonly hasPendingUserInput: boolean;
3383
3676
  readonly hasActionableProposedPlan: boolean;
3384
3677
  }[];
3385
3678
  readonly updatedAt: string;
3386
- }, RpcClientError.RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError), never>;
3679
+ }, RpcClientError.RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError), never>;
3387
3680
  readonly "orchestration.subscribeShell": <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
3388
3681
  readonly asQueue?: AsQueue | undefined;
3389
3682
  readonly streamBufferSize?: number | undefined;
@@ -3410,6 +3703,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3410
3703
  readonly command: string;
3411
3704
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3412
3705
  readonly runOnWorktreeCreate: boolean;
3706
+ readonly previewUrl?: string | undefined;
3707
+ readonly autoOpenPreview?: boolean | undefined;
3413
3708
  }[];
3414
3709
  readonly createdAt: string;
3415
3710
  readonly updatedAt: string;
@@ -3475,6 +3770,15 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3475
3770
  readonly updatedAt: string;
3476
3771
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
3477
3772
  } | null;
3773
+ readonly goal: {
3774
+ readonly objective: string;
3775
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
3776
+ readonly tokensUsed: number;
3777
+ readonly tokenBudget: number | null;
3778
+ readonly timeUsedSeconds: number;
3779
+ readonly createdAt: string;
3780
+ readonly updatedAt: string;
3781
+ } | null;
3478
3782
  readonly latestUserMessageAt: string | null;
3479
3783
  readonly hasPendingApprovals: boolean;
3480
3784
  readonly hasPendingUserInput: boolean;
@@ -3506,6 +3810,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3506
3810
  readonly command: string;
3507
3811
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3508
3812
  readonly runOnWorktreeCreate: boolean;
3813
+ readonly previewUrl?: string | undefined;
3814
+ readonly autoOpenPreview?: boolean | undefined;
3509
3815
  }[];
3510
3816
  readonly createdAt: string;
3511
3817
  readonly updatedAt: string;
@@ -3564,6 +3870,15 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3564
3870
  readonly updatedAt: string;
3565
3871
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
3566
3872
  } | null;
3873
+ readonly goal: {
3874
+ readonly objective: string;
3875
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
3876
+ readonly tokensUsed: number;
3877
+ readonly tokenBudget: number | null;
3878
+ readonly timeUsedSeconds: number;
3879
+ readonly createdAt: string;
3880
+ readonly updatedAt: string;
3881
+ } | null;
3567
3882
  readonly latestUserMessageAt: string | null;
3568
3883
  readonly hasPendingApprovals: boolean;
3569
3884
  readonly hasPendingUserInput: boolean;
@@ -3571,7 +3886,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3571
3886
  }[];
3572
3887
  readonly updatedAt: string;
3573
3888
  };
3574
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
3889
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
3575
3890
  readonly kind: "project-upserted";
3576
3891
  readonly sequence: number;
3577
3892
  readonly project: {
@@ -3592,6 +3907,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3592
3907
  readonly command: string;
3593
3908
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3594
3909
  readonly runOnWorktreeCreate: boolean;
3910
+ readonly previewUrl?: string | undefined;
3911
+ readonly autoOpenPreview?: boolean | undefined;
3595
3912
  }[];
3596
3913
  readonly createdAt: string;
3597
3914
  readonly updatedAt: string;
@@ -3657,6 +3974,15 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3657
3974
  readonly updatedAt: string;
3658
3975
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
3659
3976
  } | null;
3977
+ readonly goal: {
3978
+ readonly objective: string;
3979
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
3980
+ readonly tokensUsed: number;
3981
+ readonly tokenBudget: number | null;
3982
+ readonly timeUsedSeconds: number;
3983
+ readonly createdAt: string;
3984
+ readonly updatedAt: string;
3985
+ } | null;
3660
3986
  readonly latestUserMessageAt: string | null;
3661
3987
  readonly hasPendingApprovals: boolean;
3662
3988
  readonly hasPendingUserInput: boolean;
@@ -3688,6 +4014,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3688
4014
  readonly command: string;
3689
4015
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3690
4016
  readonly runOnWorktreeCreate: boolean;
4017
+ readonly previewUrl?: string | undefined;
4018
+ readonly autoOpenPreview?: boolean | undefined;
3691
4019
  }[];
3692
4020
  readonly createdAt: string;
3693
4021
  readonly updatedAt: string;
@@ -3746,6 +4074,15 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3746
4074
  readonly updatedAt: string;
3747
4075
  readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
3748
4076
  } | null;
4077
+ readonly goal: {
4078
+ readonly objective: string;
4079
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
4080
+ readonly tokensUsed: number;
4081
+ readonly tokenBudget: number | null;
4082
+ readonly timeUsedSeconds: number;
4083
+ readonly createdAt: string;
4084
+ readonly updatedAt: string;
4085
+ } | null;
3749
4086
  readonly latestUserMessageAt: string | null;
3750
4087
  readonly hasPendingApprovals: boolean;
3751
4088
  readonly hasPendingUserInput: boolean;
@@ -3753,7 +4090,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3753
4090
  }[];
3754
4091
  readonly updatedAt: string;
3755
4092
  };
3756
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError, never>;
4093
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError, never>;
3757
4094
  readonly "orchestration.subscribeThread": <const AsQueue extends boolean = false, const Discard = false>(input: {
3758
4095
  readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
3759
4096
  }, options?: {
@@ -3797,6 +4134,15 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3797
4134
  readonly updatedAt: string;
3798
4135
  readonly archivedAt: string | null;
3799
4136
  readonly deletedAt: string | null;
4137
+ readonly goal: {
4138
+ readonly objective: string;
4139
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
4140
+ readonly tokensUsed: number;
4141
+ readonly tokenBudget: number | null;
4142
+ readonly timeUsedSeconds: number;
4143
+ readonly createdAt: string;
4144
+ readonly updatedAt: string;
4145
+ } | null;
3800
4146
  readonly messages: readonly {
3801
4147
  readonly id: string & import("effect/Brand").Brand<"MessageId">;
3802
4148
  readonly role: "user" | "assistant" | "system";
@@ -3880,6 +4226,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3880
4226
  readonly command: string;
3881
4227
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3882
4228
  readonly runOnWorktreeCreate: boolean;
4229
+ readonly previewUrl?: string | undefined;
4230
+ readonly autoOpenPreview?: boolean | undefined;
3883
4231
  }[];
3884
4232
  readonly createdAt: string;
3885
4233
  readonly updatedAt: string;
@@ -3946,6 +4294,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
3946
4294
  readonly command: string;
3947
4295
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
3948
4296
  readonly runOnWorktreeCreate: boolean;
4297
+ readonly previewUrl?: string | undefined;
4298
+ readonly autoOpenPreview?: boolean | undefined;
3949
4299
  }[] | undefined;
3950
4300
  };
3951
4301
  readonly sequence: number;
@@ -4395,6 +4745,85 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
4395
4745
  readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
4396
4746
  readonly ingestedAt?: string | undefined;
4397
4747
  };
4748
+ } | {
4749
+ readonly type: "thread.goal-requested";
4750
+ readonly payload: {
4751
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
4752
+ readonly request: {
4753
+ readonly kind: "status";
4754
+ } | {
4755
+ readonly kind: "control";
4756
+ readonly action: "pause" | "resume" | "clear";
4757
+ } | {
4758
+ readonly kind: "set";
4759
+ readonly objective: string;
4760
+ };
4761
+ readonly createdAt: string;
4762
+ };
4763
+ readonly sequence: number;
4764
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
4765
+ readonly aggregateKind: "project" | "thread";
4766
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
4767
+ readonly occurredAt: string;
4768
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
4769
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
4770
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
4771
+ readonly metadata: {
4772
+ readonly providerTurnId?: string | undefined;
4773
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
4774
+ readonly adapterKey?: string | undefined;
4775
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
4776
+ readonly ingestedAt?: string | undefined;
4777
+ };
4778
+ } | {
4779
+ readonly type: "thread.goal-updated";
4780
+ readonly payload: {
4781
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
4782
+ readonly goal: {
4783
+ readonly objective: string;
4784
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
4785
+ readonly tokensUsed: number;
4786
+ readonly tokenBudget: number | null;
4787
+ readonly timeUsedSeconds: number;
4788
+ readonly createdAt: string;
4789
+ readonly updatedAt: string;
4790
+ };
4791
+ };
4792
+ readonly sequence: number;
4793
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
4794
+ readonly aggregateKind: "project" | "thread";
4795
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
4796
+ readonly occurredAt: string;
4797
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
4798
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
4799
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
4800
+ readonly metadata: {
4801
+ readonly providerTurnId?: string | undefined;
4802
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
4803
+ readonly adapterKey?: string | undefined;
4804
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
4805
+ readonly ingestedAt?: string | undefined;
4806
+ };
4807
+ } | {
4808
+ readonly type: "thread.goal-cleared";
4809
+ readonly payload: {
4810
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
4811
+ };
4812
+ readonly sequence: number;
4813
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
4814
+ readonly aggregateKind: "project" | "thread";
4815
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
4816
+ readonly occurredAt: string;
4817
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
4818
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
4819
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
4820
+ readonly metadata: {
4821
+ readonly providerTurnId?: string | undefined;
4822
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
4823
+ readonly adapterKey?: string | undefined;
4824
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
4825
+ readonly ingestedAt?: string | undefined;
4826
+ };
4398
4827
  } | {
4399
4828
  readonly type: "thread.proposed-plan-upserted";
4400
4829
  readonly payload: {
@@ -4487,7 +4916,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
4487
4916
  readonly ingestedAt?: string | undefined;
4488
4917
  };
4489
4918
  };
4490
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
4919
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
4491
4920
  readonly kind: "snapshot";
4492
4921
  readonly snapshot: {
4493
4922
  readonly snapshotSequence: number;
@@ -4523,6 +4952,15 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
4523
4952
  readonly updatedAt: string;
4524
4953
  readonly archivedAt: string | null;
4525
4954
  readonly deletedAt: string | null;
4955
+ readonly goal: {
4956
+ readonly objective: string;
4957
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
4958
+ readonly tokensUsed: number;
4959
+ readonly tokenBudget: number | null;
4960
+ readonly timeUsedSeconds: number;
4961
+ readonly createdAt: string;
4962
+ readonly updatedAt: string;
4963
+ } | null;
4526
4964
  readonly messages: readonly {
4527
4965
  readonly id: string & import("effect/Brand").Brand<"MessageId">;
4528
4966
  readonly role: "user" | "assistant" | "system";
@@ -4606,6 +5044,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
4606
5044
  readonly command: string;
4607
5045
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
4608
5046
  readonly runOnWorktreeCreate: boolean;
5047
+ readonly previewUrl?: string | undefined;
5048
+ readonly autoOpenPreview?: boolean | undefined;
4609
5049
  }[];
4610
5050
  readonly createdAt: string;
4611
5051
  readonly updatedAt: string;
@@ -4672,6 +5112,8 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
4672
5112
  readonly command: string;
4673
5113
  readonly icon: "play" | "test" | "lint" | "configure" | "build" | "debug";
4674
5114
  readonly runOnWorktreeCreate: boolean;
5115
+ readonly previewUrl?: string | undefined;
5116
+ readonly autoOpenPreview?: boolean | undefined;
4675
5117
  }[] | undefined;
4676
5118
  };
4677
5119
  readonly sequence: number;
@@ -5121,6 +5563,85 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
5121
5563
  readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
5122
5564
  readonly ingestedAt?: string | undefined;
5123
5565
  };
5566
+ } | {
5567
+ readonly type: "thread.goal-requested";
5568
+ readonly payload: {
5569
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
5570
+ readonly request: {
5571
+ readonly kind: "status";
5572
+ } | {
5573
+ readonly kind: "control";
5574
+ readonly action: "pause" | "resume" | "clear";
5575
+ } | {
5576
+ readonly kind: "set";
5577
+ readonly objective: string;
5578
+ };
5579
+ readonly createdAt: string;
5580
+ };
5581
+ readonly sequence: number;
5582
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
5583
+ readonly aggregateKind: "project" | "thread";
5584
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
5585
+ readonly occurredAt: string;
5586
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
5587
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
5588
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
5589
+ readonly metadata: {
5590
+ readonly providerTurnId?: string | undefined;
5591
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
5592
+ readonly adapterKey?: string | undefined;
5593
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
5594
+ readonly ingestedAt?: string | undefined;
5595
+ };
5596
+ } | {
5597
+ readonly type: "thread.goal-updated";
5598
+ readonly payload: {
5599
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
5600
+ readonly goal: {
5601
+ readonly objective: string;
5602
+ readonly status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
5603
+ readonly tokensUsed: number;
5604
+ readonly tokenBudget: number | null;
5605
+ readonly timeUsedSeconds: number;
5606
+ readonly createdAt: string;
5607
+ readonly updatedAt: string;
5608
+ };
5609
+ };
5610
+ readonly sequence: number;
5611
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
5612
+ readonly aggregateKind: "project" | "thread";
5613
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
5614
+ readonly occurredAt: string;
5615
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
5616
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
5617
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
5618
+ readonly metadata: {
5619
+ readonly providerTurnId?: string | undefined;
5620
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
5621
+ readonly adapterKey?: string | undefined;
5622
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
5623
+ readonly ingestedAt?: string | undefined;
5624
+ };
5625
+ } | {
5626
+ readonly type: "thread.goal-cleared";
5627
+ readonly payload: {
5628
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
5629
+ };
5630
+ readonly sequence: number;
5631
+ readonly eventId: string & import("effect/Brand").Brand<"EventId">;
5632
+ readonly aggregateKind: "project" | "thread";
5633
+ readonly aggregateId: (string & import("effect/Brand").Brand<"ThreadId">) | (string & import("effect/Brand").Brand<"ProjectId">);
5634
+ readonly occurredAt: string;
5635
+ readonly commandId: (string & import("effect/Brand").Brand<"CommandId">) | null;
5636
+ readonly causationEventId: (string & import("effect/Brand").Brand<"EventId">) | null;
5637
+ readonly correlationId: (string & import("effect/Brand").Brand<"CommandId">) | null;
5638
+ readonly metadata: {
5639
+ readonly providerTurnId?: string | undefined;
5640
+ readonly providerItemId?: (string & import("effect/Brand").Brand<"ProviderItemId">) | undefined;
5641
+ readonly adapterKey?: string | undefined;
5642
+ readonly requestId?: (string & import("effect/Brand").Brand<"ApprovalRequestId">) | undefined;
5643
+ readonly ingestedAt?: string | undefined;
5644
+ };
5124
5645
  } | {
5125
5646
  readonly type: "thread.proposed-plan-upserted";
5126
5647
  readonly payload: {
@@ -5213,7 +5734,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
5213
5734
  readonly ingestedAt?: string | undefined;
5214
5735
  };
5215
5736
  };
5216
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError, never>;
5737
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").OrchestrationGetSnapshotError | RpcClientError.RpcClientError, never>;
5217
5738
  readonly subscribeTerminalEvents: <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
5218
5739
  readonly asQueue?: AsQueue | undefined;
5219
5740
  readonly streamBufferSize?: number | undefined;
@@ -5293,7 +5814,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
5293
5814
  readonly threadId: string;
5294
5815
  readonly terminalId: string;
5295
5816
  readonly sequence?: number | undefined;
5296
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
5817
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
5297
5818
  readonly type: "started";
5298
5819
  readonly snapshot: {
5299
5820
  readonly threadId: string;
@@ -5367,7 +5888,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
5367
5888
  readonly threadId: string;
5368
5889
  readonly terminalId: string;
5369
5890
  readonly sequence?: number | undefined;
5370
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError, never>;
5891
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError, never>;
5371
5892
  readonly subscribeTerminalMetadata: <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
5372
5893
  readonly asQueue?: AsQueue | undefined;
5373
5894
  readonly streamBufferSize?: number | undefined;
@@ -5407,7 +5928,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
5407
5928
  readonly type: "remove";
5408
5929
  readonly threadId: string;
5409
5930
  readonly terminalId: string;
5410
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
5931
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError | import("effect/Cause").Done<void>>, never, import("effect/Scope").Scope> : Stream.Stream<{
5411
5932
  readonly type: "snapshot";
5412
5933
  readonly terminals: readonly {
5413
5934
  readonly threadId: string;
@@ -5441,7 +5962,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
5441
5962
  readonly type: "remove";
5442
5963
  readonly threadId: string;
5443
5964
  readonly terminalId: string;
5444
- }, import("#t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError, never>;
5965
+ }, import("@t3tools/contracts").EnvironmentAuthorizationError | RpcClientError.RpcClientError, never>;
5445
5966
  readonly "server.getConfig": <const AsQueue extends boolean = false, const Discard = false>(input: {}, options?: {
5446
5967
  readonly headers?: import("effect/unstable/http/Headers").Input | undefined;
5447
5968
  readonly context?: Context.Context<never> | undefined;
@@ -5468,7 +5989,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
5468
5989
  readonly cwd: string;
5469
5990
  readonly keybindingsConfigPath: string;
5470
5991
  readonly keybindings: readonly {
5471
- 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`;
5992
+ 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`;
5472
5993
  readonly shortcut: {
5473
5994
  readonly key: string;
5474
5995
  readonly metaKey: boolean;
@@ -5482,15 +6003,15 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
5482
6003
  readonly name: string;
5483
6004
  } | {
5484
6005
  readonly type: "not";
5485
- readonly node: import("#t3tools/contracts").KeybindingWhenNode;
6006
+ readonly node: import("@t3tools/contracts").KeybindingWhenNode;
5486
6007
  } | {
5487
6008
  readonly type: "and";
5488
- readonly left: import("#t3tools/contracts").KeybindingWhenNode;
5489
- readonly right: import("#t3tools/contracts").KeybindingWhenNode;
6009
+ readonly left: import("@t3tools/contracts").KeybindingWhenNode;
6010
+ readonly right: import("@t3tools/contracts").KeybindingWhenNode;
5490
6011
  } | {
5491
6012
  readonly type: "or";
5492
- readonly left: import("#t3tools/contracts").KeybindingWhenNode;
5493
- readonly right: import("#t3tools/contracts").KeybindingWhenNode;
6013
+ readonly left: import("@t3tools/contracts").KeybindingWhenNode;
6014
+ readonly right: import("@t3tools/contracts").KeybindingWhenNode;
5494
6015
  } | undefined;
5495
6016
  }[];
5496
6017
  readonly issues: readonly ({
@@ -5567,6 +6088,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
5567
6088
  readonly groupKey: string;
5568
6089
  } | undefined;
5569
6090
  readonly showInteractionModeToggle?: boolean | undefined;
6091
+ readonly requiresNewThreadForModelChange?: boolean | undefined;
5570
6092
  readonly message?: string | undefined;
5571
6093
  readonly availability?: "available" | "unavailable" | undefined;
5572
6094
  readonly unavailableReason?: string | undefined;
@@ -5630,6 +6152,11 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
5630
6152
  readonly apiEndpoint: string;
5631
6153
  readonly customModels: readonly string[];
5632
6154
  };
6155
+ readonly grok: {
6156
+ readonly enabled: boolean;
6157
+ readonly binaryPath: string;
6158
+ readonly customModels: readonly string[];
6159
+ };
5633
6160
  readonly opencode: {
5634
6161
  readonly enabled: boolean;
5635
6162
  readonly binaryPath: string;
@@ -5725,6 +6252,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
5725
6252
  readonly groupKey: string;
5726
6253
  } | undefined;
5727
6254
  readonly showInteractionModeToggle?: boolean | undefined;
6255
+ readonly requiresNewThreadForModelChange?: boolean | undefined;
5728
6256
  readonly message?: string | undefined;
5729
6257
  readonly availability?: "available" | "unavailable" | undefined;
5730
6258
  readonly unavailableReason?: string | undefined;
@@ -5745,7 +6273,7 @@ export declare const makeT3RpcOperations: () => Effect.Effect<{
5745
6273
  readonly output: string | null;
5746
6274
  };
5747
6275
  }[];
5748
- }, RpcClientError.RpcClientError | (Discard extends true ? never : import("#t3tools/contracts").EnvironmentAuthorizationError | import("#t3tools/contracts").KeybindingsConfigError | import("#t3tools/contracts").ServerSettingsError), never>;
6276
+ }, RpcClientError.RpcClientError | (Discard extends true ? never : import("@t3tools/contracts").EnvironmentAuthorizationError | import("@t3tools/contracts").KeybindingsConfigError | import("@t3tools/contracts").ServerSettingsError), never>;
5749
6277
  }) => Stream.Stream<A, CliRpcOperationError>) => Stream.Stream<A, RpcError>;
5750
6278
  }, never, T3Rpc>;
5751
6279
  export declare const T3RpcOperationsLive: Layer.Layer<T3RpcOperations, never, T3Rpc>;