t3code-cli 0.13.0 → 0.14.1

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 (324) hide show
  1. package/README.md +87 -1
  2. package/dist/application.d.ts +2 -0
  3. package/dist/application.js +1 -1
  4. package/dist/auth.d.ts +50 -0
  5. package/dist/auth.js +1 -1
  6. package/dist/bin.d.ts +1 -0
  7. package/dist/bin.js +355 -606
  8. package/dist/cli.d.ts +66 -0
  9. package/dist/cli.js +1 -1
  10. package/dist/client-runtime/authorization.d.ts +2 -0
  11. package/dist/client-runtime/authorization.js +2 -0
  12. package/dist/client-runtime/connection.d.ts +2 -0
  13. package/dist/client-runtime/connection.js +2 -0
  14. package/dist/client-runtime/environment.d.ts +57 -0
  15. package/dist/client-runtime/environment.js +2 -0
  16. package/dist/client-runtime/errors.d.ts +28 -0
  17. package/dist/client-runtime/errors.js +35 -0
  18. package/dist/client-runtime/operations/projects.d.ts +2 -0
  19. package/dist/client-runtime/operations/projects.js +2 -0
  20. package/dist/client-runtime/operations.d.ts +2 -0
  21. package/dist/client-runtime/operations.js +2 -0
  22. package/dist/client-runtime/platform.d.ts +26 -0
  23. package/dist/client-runtime/platform.js +74 -0
  24. package/dist/client-runtime/relay.d.ts +121 -0
  25. package/dist/client-runtime/relay.js +245 -0
  26. package/dist/client-runtime/rpc.d.ts +2 -0
  27. package/dist/client-runtime/rpc.js +2 -0
  28. package/dist/client-runtime/state/assets.d.ts +40 -0
  29. package/dist/client-runtime/state/assets.js +53 -0
  30. package/dist/client-runtime/state/auth.d.ts +98 -0
  31. package/dist/client-runtime/state/auth.js +48 -0
  32. package/dist/client-runtime/state/connections.d.ts +2 -0
  33. package/dist/client-runtime/state/connections.js +52 -0
  34. package/dist/client-runtime/state/entities.d.ts +33 -0
  35. package/dist/client-runtime/state/entities.js +2 -0
  36. package/dist/client-runtime/state/filesystem.d.ts +42 -0
  37. package/dist/client-runtime/state/filesystem.js +48 -0
  38. package/dist/client-runtime/state/git.d.ts +43 -0
  39. package/dist/client-runtime/state/git.js +18 -0
  40. package/dist/client-runtime/state/models.d.ts +2 -0
  41. package/dist/client-runtime/state/models.js +2 -0
  42. package/dist/client-runtime/state/orchestration.d.ts +128 -0
  43. package/dist/client-runtime/state/orchestration.js +20 -0
  44. package/dist/client-runtime/state/presentation.d.ts +277 -0
  45. package/dist/client-runtime/state/presentation.js +34 -0
  46. package/dist/client-runtime/state/preview.d.ts +447 -0
  47. package/dist/client-runtime/state/preview.js +103 -0
  48. package/dist/client-runtime/state/project-grouping.d.ts +26 -0
  49. package/dist/client-runtime/state/project-grouping.js +73 -0
  50. package/dist/client-runtime/state/projects.d.ts +192 -0
  51. package/dist/client-runtime/state/projects.js +2 -0
  52. package/dist/client-runtime/state/relay.d.ts +10 -0
  53. package/dist/client-runtime/state/relay.js +19 -0
  54. package/dist/client-runtime/state/review.d.ts +28 -0
  55. package/dist/client-runtime/state/review.js +11 -0
  56. package/dist/client-runtime/state/runtime.d.ts +2 -0
  57. package/dist/client-runtime/state/runtime.js +2 -0
  58. package/dist/client-runtime/state/server.d.ts +1495 -0
  59. package/dist/client-runtime/state/server.js +207 -0
  60. package/dist/client-runtime/state/session.d.ts +532 -0
  61. package/dist/client-runtime/state/session.js +21 -0
  62. package/dist/client-runtime/state/shell.d.ts +529 -0
  63. package/dist/client-runtime/state/shell.js +2 -0
  64. package/dist/client-runtime/state/source-control.d.ts +92 -0
  65. package/dist/client-runtime/state/source-control.js +36 -0
  66. package/dist/client-runtime/state/terminal.d.ts +237 -0
  67. package/dist/client-runtime/state/terminal.js +173 -0
  68. package/dist/client-runtime/state/thread-settled.d.ts +104 -0
  69. package/dist/client-runtime/state/thread-settled.js +157 -0
  70. package/dist/client-runtime/state/thread-sort.d.ts +23 -0
  71. package/dist/client-runtime/state/thread-sort.js +47 -0
  72. package/dist/client-runtime/state/threads.d.ts +538 -0
  73. package/dist/client-runtime/state/threads.js +934 -0
  74. package/dist/client-runtime/state/vcs.d.ts +442 -0
  75. package/dist/client-runtime/state/vcs.js +756 -0
  76. package/dist/config.d.ts +84 -0
  77. package/dist/config.js +1 -1
  78. package/dist/connection.d.ts +7 -0
  79. package/dist/connection.js +1 -1
  80. package/dist/contracts.d.ts +2 -0
  81. package/dist/contracts.js +2 -1
  82. package/dist/index.d.ts +2 -0
  83. package/dist/index.js +1 -1
  84. package/dist/node.d.ts +6 -0
  85. package/dist/node.js +1 -1
  86. package/dist/orchestration.d.ts +1420 -0
  87. package/dist/orchestration.js +1 -1
  88. package/dist/preview.d.ts +2 -0
  89. package/dist/preview.js +2 -0
  90. package/dist/rpc.d.ts +6043 -0
  91. package/dist/rpc.js +1 -1
  92. package/dist/runtime.d.ts +2 -0
  93. package/dist/runtime.js +2 -2
  94. package/dist/shared/DrainableWorker.d.ts +28 -0
  95. package/dist/shared/DrainableWorker.js +24 -0
  96. package/dist/shared/KeyedCoalescingWorker.d.ts +13 -0
  97. package/dist/shared/KeyedCoalescingWorker.js +89 -0
  98. package/dist/shared/Net.d.ts +43 -0
  99. package/dist/shared/Net.js +126 -0
  100. package/dist/shared/String.d.ts +4 -0
  101. package/dist/shared/String.js +8 -0
  102. package/dist/shared/Struct.d.ts +5 -0
  103. package/dist/shared/Struct.js +2 -0
  104. package/dist/shared/advertisedEndpoint.d.ts +2 -0
  105. package/dist/shared/advertisedEndpoint.js +2 -0
  106. package/dist/shared/agentAwareness.d.ts +27 -0
  107. package/dist/shared/agentAwareness.js +54 -0
  108. package/dist/shared/backgroundActivitySettings.d.ts +23 -0
  109. package/dist/shared/backgroundActivitySettings.js +2 -0
  110. package/dist/shared/chatList.d.ts +12 -0
  111. package/dist/shared/chatList.js +14 -0
  112. package/dist/shared/cliArgs.d.ts +33 -0
  113. package/dist/shared/cliArgs.js +103 -0
  114. package/dist/shared/composerInlineTokens.d.ts +20 -0
  115. package/dist/shared/composerInlineTokens.js +72 -0
  116. package/dist/shared/composerTrigger.d.ts +26 -0
  117. package/dist/shared/composerTrigger.js +97 -0
  118. package/dist/shared/connectAuth.d.ts +58 -0
  119. package/dist/shared/connectAuth.js +89 -0
  120. package/dist/shared/devHome.d.ts +21 -0
  121. package/dist/shared/devHome.js +65 -0
  122. package/dist/shared/devProxy.d.ts +15 -0
  123. package/dist/shared/devProxy.js +22 -0
  124. package/dist/shared/dpop.d.ts +32 -0
  125. package/dist/shared/dpop.js +2724 -0
  126. package/dist/shared/dpopCommon.d.ts +2 -0
  127. package/dist/shared/dpopCommon.js +2 -0
  128. package/dist/shared/filePreview.d.ts +8 -0
  129. package/dist/shared/filePreview.js +31 -0
  130. package/dist/shared/git.d.ts +41 -0
  131. package/dist/shared/git.js +2 -0
  132. package/dist/shared/hostProcess.d.ts +13 -0
  133. package/dist/shared/hostProcess.js +2 -0
  134. package/dist/shared/httpObservability.d.ts +5 -0
  135. package/dist/shared/httpObservability.js +2 -0
  136. package/dist/shared/httpReadiness.d.ts +38 -0
  137. package/dist/shared/httpReadiness.js +110 -0
  138. package/dist/shared/keybindings.d.ts +35 -0
  139. package/dist/shared/keybindings.js +330 -0
  140. package/dist/shared/logging.d.ts +39 -0
  141. package/dist/shared/logging.js +2 -0
  142. package/dist/shared/model.d.ts +44 -0
  143. package/dist/shared/model.js +2 -0
  144. package/dist/shared/oauthScope.d.ts +23 -0
  145. package/dist/shared/oauthScope.js +2 -0
  146. package/dist/shared/observability.d.ts +105 -0
  147. package/dist/shared/observability.js +346 -0
  148. package/dist/shared/orchestrationTiming.d.ts +16 -0
  149. package/dist/shared/orchestrationTiming.js +32 -0
  150. package/dist/shared/path.d.ts +2 -0
  151. package/dist/shared/path.js +2 -0
  152. package/dist/shared/preview.d.ts +35 -0
  153. package/dist/shared/preview.js +103 -0
  154. package/dist/shared/previewViewport.d.ts +16 -0
  155. package/dist/shared/previewViewport.js +159 -0
  156. package/dist/shared/projectFavicon.d.ts +5 -0
  157. package/dist/shared/projectFavicon.js +13 -0
  158. package/dist/shared/projectScripts.d.ts +19 -0
  159. package/dist/shared/projectScripts.js +18 -0
  160. package/dist/shared/qrCode.d.ts +87 -0
  161. package/dist/shared/qrCode.js +870 -0
  162. package/dist/shared/relayAuth.d.ts +27 -0
  163. package/dist/shared/relayAuth.js +83 -0
  164. package/dist/shared/relayClient.d.ts +58 -0
  165. package/dist/shared/relayClient.js +245 -0
  166. package/dist/shared/relayJwt.d.ts +39 -0
  167. package/dist/shared/relayJwt.js +2 -0
  168. package/dist/shared/relaySigning.d.ts +4 -0
  169. package/dist/shared/relaySigning.js +2 -0
  170. package/dist/shared/relayTracing.d.ts +25 -0
  171. package/dist/shared/relayTracing.js +2 -0
  172. package/dist/shared/relayUrl.d.ts +5 -0
  173. package/dist/shared/relayUrl.js +2 -0
  174. package/dist/shared/remote.d.ts +57 -0
  175. package/dist/shared/remote.js +2 -0
  176. package/dist/shared/schemaJson.d.ts +35 -0
  177. package/dist/shared/schemaJson.js +2 -0
  178. package/dist/shared/schemaYaml.d.ts +86 -0
  179. package/dist/shared/schemaYaml.js +99 -0
  180. package/dist/shared/searchRanking.d.ts +30 -0
  181. package/dist/shared/searchRanking.js +99 -0
  182. package/dist/shared/semver.d.ts +23 -0
  183. package/dist/shared/semver.js +124 -0
  184. package/dist/shared/serverSettings.d.ts +19 -0
  185. package/dist/shared/serverSettings.js +103 -0
  186. package/dist/shared/shell.d.ts +51 -0
  187. package/dist/shared/shell.js +408 -0
  188. package/dist/shared/sourceControl.d.ts +26 -0
  189. package/dist/shared/sourceControl.js +2 -0
  190. package/dist/shared/t3ProjectFile.d.ts +27 -0
  191. package/dist/shared/t3ProjectFile.js +25 -0
  192. package/dist/shared/terminalLabels.d.ts +16 -0
  193. package/dist/shared/terminalLabels.js +28 -0
  194. package/dist/shared/toolActivity.d.ts +16 -0
  195. package/dist/shared/toolActivity.js +159 -0
  196. package/dist/shared.d.ts +43036 -0
  197. package/dist/shared.js +25428 -12277
  198. package/dist/t3tools.d.ts +2 -0
  199. package/dist/t3tools.js +1 -1
  200. package/package.json +39 -21
  201. package/src/auth/index.ts +2 -0
  202. package/src/auth/pairing.ts +8 -5
  203. package/src/auth/service.ts +2 -1
  204. package/src/auth/transport.ts +4 -0
  205. package/src/auth/type.ts +6 -0
  206. package/src/bin.ts +10 -7
  207. package/src/cli/auth.ts +7 -1
  208. package/src/contracts/index.ts +8 -0
  209. package/src/orchestration/layer.ts +36 -0
  210. package/src/orchestration/service.ts +5 -0
  211. package/src/preview/index.ts +11 -0
  212. package/src/preview/service.ts +52 -0
  213. package/src/rpc/error.ts +2 -0
  214. package/src/rpc/layer.ts +5 -4
  215. package/src/rpc/operation.ts +5 -4
  216. package/src/rpc/ws-group.ts +6 -0
  217. package/src/runtime/index.ts +1 -0
  218. package/src/runtime/layer.ts +5 -0
  219. package/src/sql/node-sqlite-client.ts +3 -0
  220. package/dist/src/application/actions.d.ts +0 -25
  221. package/dist/src/application/error.d.ts +0 -3
  222. package/dist/src/application/index.d.ts +0 -4
  223. package/dist/src/application/layer.d.ts +0 -117
  224. package/dist/src/application/model-selection.d.ts +0 -34
  225. package/dist/src/application/models.d.ts +0 -8
  226. package/dist/src/application/project-commands.d.ts +0 -44
  227. package/dist/src/application/projects.d.ts +0 -23
  228. package/dist/src/application/service.d.ts +0 -243
  229. package/dist/src/application/shell-sequence.d.ts +0 -96
  230. package/dist/src/application/terminals.d.ts +0 -66
  231. package/dist/src/application/thread-commands.d.ts +0 -157
  232. package/dist/src/application/thread-update.d.ts +0 -8
  233. package/dist/src/application/thread-wait.d.ts +0 -106
  234. package/dist/src/application/threads.d.ts +0 -660
  235. package/dist/src/auth/error.d.ts +0 -50
  236. package/dist/src/auth/index.d.ts +0 -10
  237. package/dist/src/auth/layer.d.ts +0 -53
  238. package/dist/src/auth/local-base-dir.d.ts +0 -8
  239. package/dist/src/auth/local-origin.d.ts +0 -18
  240. package/dist/src/auth/local-token.d.ts +0 -26
  241. package/dist/src/auth/local.d.ts +0 -24
  242. package/dist/src/auth/pairing.d.ts +0 -22
  243. package/dist/src/auth/remote-error.d.ts +0 -3
  244. package/dist/src/auth/schema.d.ts +0 -58
  245. package/dist/src/auth/service.d.ts +0 -27
  246. package/dist/src/auth/transport.d.ts +0 -22
  247. package/dist/src/auth/type.d.ts +0 -83
  248. package/dist/src/cli/env/flag.d.ts +0 -2
  249. package/dist/src/cli/env/index.d.ts +0 -2
  250. package/dist/src/cli/env/selection-layer.d.ts +0 -3
  251. package/dist/src/cli/flags.d.ts +0 -20
  252. package/dist/src/cli/format/index.d.ts +0 -1
  253. package/dist/src/cli/format/output.d.ts +0 -12
  254. package/dist/src/cli/index.d.ts +0 -5
  255. package/dist/src/cli/runtime/index.d.ts +0 -1
  256. package/dist/src/cli/runtime/service.d.ts +0 -16
  257. package/dist/src/cli/scope/index.d.ts +0 -1
  258. package/dist/src/cli/scope/resolve.d.ts +0 -20
  259. package/dist/src/cli-path/layer.d.ts +0 -3
  260. package/dist/src/cli-path/service.d.ts +0 -8
  261. package/dist/src/config/config.d.ts +0 -49
  262. package/dist/src/config/credential/cipher-node.d.ts +0 -3
  263. package/dist/src/config/credential/cipher-web.d.ts +0 -3
  264. package/dist/src/config/credential/cipher.d.ts +0 -29
  265. package/dist/src/config/credential/env.d.ts +0 -3
  266. package/dist/src/config/credential/error.d.ts +0 -8
  267. package/dist/src/config/credential/index.d.ts +0 -6
  268. package/dist/src/config/credential/service.d.ts +0 -34
  269. package/dist/src/config/env/env.d.ts +0 -55
  270. package/dist/src/config/env/index.d.ts +0 -2
  271. package/dist/src/config/env/layout.d.ts +0 -11
  272. package/dist/src/config/environment-name/index.d.ts +0 -1
  273. package/dist/src/config/environment-name/name.d.ts +0 -10
  274. package/dist/src/config/error.d.ts +0 -11
  275. package/dist/src/config/index.d.ts +0 -10
  276. package/dist/src/config/keystore/error.d.ts +0 -8
  277. package/dist/src/config/keystore/file.d.ts +0 -9
  278. package/dist/src/config/keystore/index.d.ts +0 -4
  279. package/dist/src/config/keystore/keyring-node.d.ts +0 -4
  280. package/dist/src/config/keystore/service.d.ts +0 -33
  281. package/dist/src/config/paths/index.d.ts +0 -1
  282. package/dist/src/config/paths/paths.d.ts +0 -6
  283. package/dist/src/config/persist/file-mode.d.ts +0 -4
  284. package/dist/src/config/persist/migration.d.ts +0 -68
  285. package/dist/src/config/persist/persist.d.ts +0 -40
  286. package/dist/src/config/persist/schema.d.ts +0 -68
  287. package/dist/src/config/resolve/resolve.d.ts +0 -40
  288. package/dist/src/config/selection/index.d.ts +0 -1
  289. package/dist/src/config/selection/resolve.d.ts +0 -4
  290. package/dist/src/config/selection/service.d.ts +0 -10
  291. package/dist/src/config/types.d.ts +0 -36
  292. package/dist/src/config/url/error.d.ts +0 -10
  293. package/dist/src/config/url/index.d.ts +0 -2
  294. package/dist/src/config/url/url.d.ts +0 -6
  295. package/dist/src/connection/error.d.ts +0 -10
  296. package/dist/src/connection/index.d.ts +0 -4
  297. package/dist/src/connection/layer.d.ts +0 -3
  298. package/dist/src/connection/prepared.d.ts +0 -14
  299. package/dist/src/connection/service.d.ts +0 -13
  300. package/dist/src/connection/type.d.ts +0 -10
  301. package/dist/src/contracts/index.d.ts +0 -1
  302. package/dist/src/domain/error.d.ts +0 -57
  303. package/dist/src/domain/helpers.d.ts +0 -179
  304. package/dist/src/domain/model-config.d.ts +0 -330
  305. package/dist/src/domain/thread-activities.d.ts +0 -14
  306. package/dist/src/domain/thread-lifecycle.d.ts +0 -120
  307. package/dist/src/index.d.ts +0 -3
  308. package/dist/src/node/connection.d.ts +0 -2
  309. package/dist/src/node/index.d.ts +0 -1
  310. package/dist/src/orchestration/index.d.ts +0 -2
  311. package/dist/src/orchestration/layer.d.ts +0 -1419
  312. package/dist/src/orchestration/service.d.ts +0 -28
  313. package/dist/src/rpc/error.d.ts +0 -16
  314. package/dist/src/rpc/index.d.ts +0 -6
  315. package/dist/src/rpc/layer.d.ts +0 -5862
  316. package/dist/src/rpc/operation.d.ts +0 -24
  317. package/dist/src/rpc/service.d.ts +0 -15
  318. package/dist/src/rpc/session.d.ts +0 -22
  319. package/dist/src/rpc/ws-group.d.ts +0 -1984
  320. package/dist/src/runtime/index.d.ts +0 -1
  321. package/dist/src/runtime/layer.d.ts +0 -15
  322. package/dist/src/sql/node-sqlite-client.d.ts +0 -10
  323. package/dist/src/sql/service.d.ts +0 -17
  324. package/dist/src/t3tools/index.d.ts +0 -1
@@ -1,660 +0,0 @@
1
- import * as Crypto from "effect/Crypto";
2
- import * as Effect from "effect/Effect";
3
- import * as Path from "effect/Path";
4
- import * as Stream from "effect/Stream";
5
- import { CliRuntime } from "../cli/runtime/service.ts";
6
- import { T3Orchestration } from "../orchestration/service.ts";
7
- import { ProjectLookupError, ThreadLookupError, ThreadSessionError } from "../domain/error.ts";
8
- import { type ListThreadsInclude, type StartThreadInput } from "./service.ts";
9
- import type { CallbackThreadInput, SendThreadInput } from "./service.ts";
10
- import { derivePendingApprovals, derivePendingUserInputs } from "../domain/thread-activities.ts";
11
- import { type ThreadLifecycleStatus } from "../domain/thread-lifecycle.ts";
12
- import type { OrchestrationThread } from "@t3tools/contracts";
13
- import type { ProviderApprovalDecision, ProviderUserInputAnswers } from "@t3tools/contracts";
14
- export declare const makeThreadApplication: () => Effect.Effect<{
15
- approveThread: (input: {
16
- readonly threadId: string;
17
- readonly requestId: string;
18
- readonly decision: ProviderApprovalDecision;
19
- }) => Effect.Effect<{
20
- threadId: string;
21
- requestId: string;
22
- dispatch: {
23
- readonly sequence: number;
24
- };
25
- }, import("../rpc/error.ts").RpcError, never>;
26
- archiveThread: (threadId: string) => Effect.Effect<{
27
- readonly sequence: number;
28
- }, import("../rpc/error.ts").RpcError, never>;
29
- deleteThread: (threadId: string) => Effect.Effect<{
30
- threadId: string;
31
- dispatch: {
32
- readonly sequence: number;
33
- };
34
- }, import("../rpc/error.ts").RpcError | ThreadLookupError, never>;
35
- interruptThread: (threadId: string) => Effect.Effect<{
36
- readonly sequence: number;
37
- }, import("../rpc/error.ts").RpcError, never>;
38
- updateThread: (input: import("./service.ts").UpdateThreadInput) => Effect.Effect<import("@t3tools/contracts").DispatchResult, import("./error.ts").ApplicationError>;
39
- unarchiveThread: (threadId: string) => Effect.Effect<{
40
- readonly sequence: number;
41
- }, import("../rpc/error.ts").RpcError, never>;
42
- listThreads: (projectRef: string, options?: {
43
- readonly include?: ListThreadsInclude;
44
- } | undefined) => Effect.Effect<{
45
- project: {
46
- readonly id: string & import("effect/Brand").Brand<"ProjectId">;
47
- readonly title: string;
48
- readonly workspaceRoot: string;
49
- readonly repositoryIdentity?: {
50
- readonly canonicalKey: string;
51
- readonly locator: {
52
- readonly source: "git-remote";
53
- readonly remoteName: string;
54
- readonly remoteUrl: string;
55
- };
56
- readonly rootPath?: string;
57
- readonly displayName?: string;
58
- readonly provider?: string;
59
- readonly owner?: string;
60
- readonly name?: string;
61
- } | null | undefined;
62
- readonly defaultModelSelection: {
63
- readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
64
- readonly model: string;
65
- readonly options?: readonly {
66
- readonly id: string;
67
- readonly value: string | boolean;
68
- }[];
69
- } | null;
70
- readonly scripts: readonly {
71
- readonly id: string;
72
- readonly name: string;
73
- readonly command: string;
74
- readonly icon: "build" | "configure" | "debug" | "lint" | "play" | "test";
75
- readonly runOnWorktreeCreate: boolean;
76
- readonly previewUrl?: string | undefined;
77
- readonly autoOpenPreview?: boolean | undefined;
78
- }[];
79
- readonly createdAt: string;
80
- readonly updatedAt: string;
81
- };
82
- threads: {
83
- readonly id: string & import("effect/Brand").Brand<"ThreadId">;
84
- readonly projectId: string & import("effect/Brand").Brand<"ProjectId">;
85
- readonly title: string;
86
- readonly modelSelection: {
87
- readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
88
- readonly model: string;
89
- readonly options?: readonly {
90
- readonly id: string;
91
- readonly value: string | boolean;
92
- }[];
93
- };
94
- readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
95
- readonly interactionMode: "default" | "plan";
96
- readonly branch: string | null;
97
- readonly worktreePath: string | null;
98
- readonly latestTurn: {
99
- readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
100
- readonly state: "completed" | "error" | "interrupted" | "running";
101
- readonly requestedAt: string;
102
- readonly startedAt: string | null;
103
- readonly completedAt: string | null;
104
- readonly assistantMessageId: (string & import("effect/Brand").Brand<"MessageId">) | null;
105
- readonly sourceProposedPlan?: {
106
- readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
107
- readonly planId: string;
108
- } | undefined;
109
- } | null;
110
- readonly createdAt: string;
111
- readonly updatedAt: string;
112
- readonly archivedAt: string | null;
113
- readonly settledOverride: "active" | "settled" | null;
114
- readonly settledAt: string | null;
115
- readonly snoozedUntil?: string | null | undefined;
116
- readonly snoozedAt?: string | null | undefined;
117
- readonly session: {
118
- readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
119
- readonly status: "error" | "idle" | "interrupted" | "ready" | "running" | "starting" | "stopped";
120
- readonly providerName: string | null;
121
- readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
122
- readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
123
- readonly activeTurnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
124
- readonly lastError: string | null;
125
- readonly updatedAt: string;
126
- } | null;
127
- readonly latestUserMessageAt: string | null;
128
- readonly hasPendingApprovals: boolean;
129
- readonly hasPendingUserInput: boolean;
130
- readonly hasActionableProposedPlan: boolean;
131
- }[];
132
- }, ProjectLookupError | import("../rpc/error.ts").RpcError, never>;
133
- getThreadMessages: (threadId: string) => Effect.Effect<{
134
- readonly id: string & import("effect/Brand").Brand<"ThreadId">;
135
- readonly projectId: string & import("effect/Brand").Brand<"ProjectId">;
136
- readonly title: string;
137
- readonly modelSelection: {
138
- readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
139
- readonly model: string;
140
- readonly options?: readonly {
141
- readonly id: string;
142
- readonly value: string | boolean;
143
- }[];
144
- };
145
- readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
146
- readonly interactionMode: "default" | "plan";
147
- readonly branch: string | null;
148
- readonly worktreePath: string | null;
149
- readonly latestTurn: {
150
- readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
151
- readonly state: "completed" | "error" | "interrupted" | "running";
152
- readonly requestedAt: string;
153
- readonly startedAt: string | null;
154
- readonly completedAt: string | null;
155
- readonly assistantMessageId: (string & import("effect/Brand").Brand<"MessageId">) | null;
156
- readonly sourceProposedPlan?: {
157
- readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
158
- readonly planId: string;
159
- } | undefined;
160
- } | null;
161
- readonly createdAt: string;
162
- readonly updatedAt: string;
163
- readonly archivedAt: string | null;
164
- readonly settledOverride: "active" | "settled" | null;
165
- readonly settledAt: string | null;
166
- readonly snoozedUntil?: string | null | undefined;
167
- readonly snoozedAt?: string | null | undefined;
168
- readonly deletedAt: string | null;
169
- readonly messages: readonly {
170
- readonly id: string & import("effect/Brand").Brand<"MessageId">;
171
- readonly role: "assistant" | "system" | "user";
172
- readonly text: string;
173
- readonly attachments?: readonly {
174
- readonly type: "image";
175
- readonly id: string;
176
- readonly name: string;
177
- readonly mimeType: string;
178
- readonly sizeBytes: number;
179
- }[] | undefined;
180
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
181
- readonly streaming: boolean;
182
- readonly createdAt: string;
183
- readonly updatedAt: string;
184
- }[];
185
- readonly proposedPlans: readonly {
186
- readonly id: string;
187
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
188
- readonly planMarkdown: string;
189
- readonly implementedAt: string | null;
190
- readonly implementationThreadId: (string & import("effect/Brand").Brand<"ThreadId">) | null;
191
- readonly createdAt: string;
192
- readonly updatedAt: string;
193
- }[];
194
- readonly activities: readonly {
195
- readonly id: string & import("effect/Brand").Brand<"EventId">;
196
- readonly tone: "approval" | "error" | "info" | "tool";
197
- readonly kind: string;
198
- readonly summary: string;
199
- readonly payload: unknown;
200
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
201
- readonly sequence?: number | undefined;
202
- readonly createdAt: string;
203
- }[];
204
- readonly checkpoints: readonly {
205
- readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
206
- readonly checkpointTurnCount: number;
207
- readonly checkpointRef: string & import("effect/Brand").Brand<"CheckpointRef">;
208
- readonly status: "error" | "missing" | "ready";
209
- readonly files: readonly {
210
- readonly path: string;
211
- readonly kind: string;
212
- readonly additions: number;
213
- readonly deletions: number;
214
- }[];
215
- readonly assistantMessageId: (string & import("effect/Brand").Brand<"MessageId">) | null;
216
- readonly completedAt: string;
217
- }[];
218
- readonly session: {
219
- readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
220
- readonly status: "error" | "idle" | "interrupted" | "ready" | "running" | "starting" | "stopped";
221
- readonly providerName: string | null;
222
- readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
223
- readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
224
- readonly activeTurnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
225
- readonly lastError: string | null;
226
- readonly updatedAt: string;
227
- } | null;
228
- }, import("../rpc/error.ts").RpcError, never>;
229
- respondToThread: (input: {
230
- readonly threadId: string;
231
- readonly requestId: string;
232
- readonly answers: ProviderUserInputAnswers;
233
- }) => Effect.Effect<{
234
- threadId: string;
235
- requestId: string;
236
- dispatch: {
237
- readonly sequence: number;
238
- };
239
- }, import("../rpc/error.ts").RpcError, never>;
240
- sendThread: (input: SendThreadInput, policy?: {
241
- readonly until: "dispatch" | "visible" | "complete";
242
- } | undefined) => Effect.Effect<{
243
- dispatch: {
244
- readonly sequence: number;
245
- };
246
- threadId: string;
247
- thread?: never;
248
- } | {
249
- dispatch: {
250
- readonly sequence: number;
251
- };
252
- threadId: string;
253
- thread: {
254
- readonly id: string & import("effect/Brand").Brand<"ThreadId">;
255
- readonly projectId: string & import("effect/Brand").Brand<"ProjectId">;
256
- readonly title: string;
257
- readonly modelSelection: {
258
- readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
259
- readonly model: string;
260
- readonly options?: readonly {
261
- readonly id: string;
262
- readonly value: string | boolean;
263
- }[];
264
- };
265
- readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
266
- readonly interactionMode: "default" | "plan";
267
- readonly branch: string | null;
268
- readonly worktreePath: string | null;
269
- readonly latestTurn: {
270
- readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
271
- readonly state: "completed" | "error" | "interrupted" | "running";
272
- readonly requestedAt: string;
273
- readonly startedAt: string | null;
274
- readonly completedAt: string | null;
275
- readonly assistantMessageId: (string & import("effect/Brand").Brand<"MessageId">) | null;
276
- readonly sourceProposedPlan?: {
277
- readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
278
- readonly planId: string;
279
- } | undefined;
280
- } | null;
281
- readonly createdAt: string;
282
- readonly updatedAt: string;
283
- readonly archivedAt: string | null;
284
- readonly settledOverride: "active" | "settled" | null;
285
- readonly settledAt: string | null;
286
- readonly snoozedUntil?: string | null | undefined;
287
- readonly snoozedAt?: string | null | undefined;
288
- readonly deletedAt: string | null;
289
- readonly messages: readonly {
290
- readonly id: string & import("effect/Brand").Brand<"MessageId">;
291
- readonly role: "assistant" | "system" | "user";
292
- readonly text: string;
293
- readonly attachments?: readonly {
294
- readonly type: "image";
295
- readonly id: string;
296
- readonly name: string;
297
- readonly mimeType: string;
298
- readonly sizeBytes: number;
299
- }[] | undefined;
300
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
301
- readonly streaming: boolean;
302
- readonly createdAt: string;
303
- readonly updatedAt: string;
304
- }[];
305
- readonly proposedPlans: readonly {
306
- readonly id: string;
307
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
308
- readonly planMarkdown: string;
309
- readonly implementedAt: string | null;
310
- readonly implementationThreadId: (string & import("effect/Brand").Brand<"ThreadId">) | null;
311
- readonly createdAt: string;
312
- readonly updatedAt: string;
313
- }[];
314
- readonly activities: readonly {
315
- readonly id: string & import("effect/Brand").Brand<"EventId">;
316
- readonly tone: "approval" | "error" | "info" | "tool";
317
- readonly kind: string;
318
- readonly summary: string;
319
- readonly payload: unknown;
320
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
321
- readonly sequence?: number | undefined;
322
- readonly createdAt: string;
323
- }[];
324
- readonly checkpoints: readonly {
325
- readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
326
- readonly checkpointTurnCount: number;
327
- readonly checkpointRef: string & import("effect/Brand").Brand<"CheckpointRef">;
328
- readonly status: "error" | "missing" | "ready";
329
- readonly files: readonly {
330
- readonly path: string;
331
- readonly kind: string;
332
- readonly additions: number;
333
- readonly deletions: number;
334
- }[];
335
- readonly assistantMessageId: (string & import("effect/Brand").Brand<"MessageId">) | null;
336
- readonly completedAt: string;
337
- }[];
338
- readonly session: {
339
- readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
340
- readonly status: "error" | "idle" | "interrupted" | "ready" | "running" | "starting" | "stopped";
341
- readonly providerName: string | null;
342
- readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
343
- readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
344
- readonly activeTurnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
345
- readonly lastError: string | null;
346
- readonly updatedAt: string;
347
- } | null;
348
- };
349
- }, import("../rpc/error.ts").RpcError | ThreadSessionError, never>;
350
- showThread: (threadId: string) => Effect.Effect<ThreadShow, import("../rpc/error.ts").RpcError, never>;
351
- startThread: (startInput: StartThreadInput, policy?: {
352
- readonly until: "dispatch" | "visible" | "complete";
353
- } | undefined) => Effect.Effect<{
354
- dispatch: {
355
- readonly sequence: number;
356
- };
357
- project: {
358
- readonly id: string & import("effect/Brand").Brand<"ProjectId">;
359
- readonly title: string;
360
- readonly workspaceRoot: string;
361
- readonly repositoryIdentity?: {
362
- readonly canonicalKey: string;
363
- readonly locator: {
364
- readonly source: "git-remote";
365
- readonly remoteName: string;
366
- readonly remoteUrl: string;
367
- };
368
- readonly rootPath?: string;
369
- readonly displayName?: string;
370
- readonly provider?: string;
371
- readonly owner?: string;
372
- readonly name?: string;
373
- } | null | undefined;
374
- readonly defaultModelSelection: {
375
- readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
376
- readonly model: string;
377
- readonly options?: readonly {
378
- readonly id: string;
379
- readonly value: string | boolean;
380
- }[];
381
- } | null;
382
- readonly scripts: readonly {
383
- readonly id: string;
384
- readonly name: string;
385
- readonly command: string;
386
- readonly icon: "build" | "configure" | "debug" | "lint" | "play" | "test";
387
- readonly runOnWorktreeCreate: boolean;
388
- readonly previewUrl?: string | undefined;
389
- readonly autoOpenPreview?: boolean | undefined;
390
- }[];
391
- readonly createdAt: string;
392
- readonly updatedAt: string;
393
- };
394
- threadId: string & import("effect/Brand").Brand<"ThreadId">;
395
- thread?: never;
396
- } | {
397
- dispatch: {
398
- readonly sequence: number;
399
- };
400
- project: {
401
- readonly id: string & import("effect/Brand").Brand<"ProjectId">;
402
- readonly title: string;
403
- readonly workspaceRoot: string;
404
- readonly repositoryIdentity?: {
405
- readonly canonicalKey: string;
406
- readonly locator: {
407
- readonly source: "git-remote";
408
- readonly remoteName: string;
409
- readonly remoteUrl: string;
410
- };
411
- readonly rootPath?: string;
412
- readonly displayName?: string;
413
- readonly provider?: string;
414
- readonly owner?: string;
415
- readonly name?: string;
416
- } | null | undefined;
417
- readonly defaultModelSelection: {
418
- readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
419
- readonly model: string;
420
- readonly options?: readonly {
421
- readonly id: string;
422
- readonly value: string | boolean;
423
- }[];
424
- } | null;
425
- readonly scripts: readonly {
426
- readonly id: string;
427
- readonly name: string;
428
- readonly command: string;
429
- readonly icon: "build" | "configure" | "debug" | "lint" | "play" | "test";
430
- readonly runOnWorktreeCreate: boolean;
431
- readonly previewUrl?: string | undefined;
432
- readonly autoOpenPreview?: boolean | undefined;
433
- }[];
434
- readonly createdAt: string;
435
- readonly updatedAt: string;
436
- };
437
- threadId: string & import("effect/Brand").Brand<"ThreadId">;
438
- thread: {
439
- readonly id: string & import("effect/Brand").Brand<"ThreadId">;
440
- readonly projectId: string & import("effect/Brand").Brand<"ProjectId">;
441
- readonly title: string;
442
- readonly modelSelection: {
443
- readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
444
- readonly model: string;
445
- readonly options?: readonly {
446
- readonly id: string;
447
- readonly value: string | boolean;
448
- }[];
449
- };
450
- readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
451
- readonly interactionMode: "default" | "plan";
452
- readonly branch: string | null;
453
- readonly worktreePath: string | null;
454
- readonly latestTurn: {
455
- readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
456
- readonly state: "completed" | "error" | "interrupted" | "running";
457
- readonly requestedAt: string;
458
- readonly startedAt: string | null;
459
- readonly completedAt: string | null;
460
- readonly assistantMessageId: (string & import("effect/Brand").Brand<"MessageId">) | null;
461
- readonly sourceProposedPlan?: {
462
- readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
463
- readonly planId: string;
464
- } | undefined;
465
- } | null;
466
- readonly createdAt: string;
467
- readonly updatedAt: string;
468
- readonly archivedAt: string | null;
469
- readonly settledOverride: "active" | "settled" | null;
470
- readonly settledAt: string | null;
471
- readonly snoozedUntil?: string | null | undefined;
472
- readonly snoozedAt?: string | null | undefined;
473
- readonly deletedAt: string | null;
474
- readonly messages: readonly {
475
- readonly id: string & import("effect/Brand").Brand<"MessageId">;
476
- readonly role: "assistant" | "system" | "user";
477
- readonly text: string;
478
- readonly attachments?: readonly {
479
- readonly type: "image";
480
- readonly id: string;
481
- readonly name: string;
482
- readonly mimeType: string;
483
- readonly sizeBytes: number;
484
- }[] | undefined;
485
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
486
- readonly streaming: boolean;
487
- readonly createdAt: string;
488
- readonly updatedAt: string;
489
- }[];
490
- readonly proposedPlans: readonly {
491
- readonly id: string;
492
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
493
- readonly planMarkdown: string;
494
- readonly implementedAt: string | null;
495
- readonly implementationThreadId: (string & import("effect/Brand").Brand<"ThreadId">) | null;
496
- readonly createdAt: string;
497
- readonly updatedAt: string;
498
- }[];
499
- readonly activities: readonly {
500
- readonly id: string & import("effect/Brand").Brand<"EventId">;
501
- readonly tone: "approval" | "error" | "info" | "tool";
502
- readonly kind: string;
503
- readonly summary: string;
504
- readonly payload: unknown;
505
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
506
- readonly sequence?: number | undefined;
507
- readonly createdAt: string;
508
- }[];
509
- readonly checkpoints: readonly {
510
- readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
511
- readonly checkpointTurnCount: number;
512
- readonly checkpointRef: string & import("effect/Brand").Brand<"CheckpointRef">;
513
- readonly status: "error" | "missing" | "ready";
514
- readonly files: readonly {
515
- readonly path: string;
516
- readonly kind: string;
517
- readonly additions: number;
518
- readonly deletions: number;
519
- }[];
520
- readonly assistantMessageId: (string & import("effect/Brand").Brand<"MessageId">) | null;
521
- readonly completedAt: string;
522
- }[];
523
- readonly session: {
524
- readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
525
- readonly status: "error" | "idle" | "interrupted" | "ready" | "running" | "starting" | "stopped";
526
- readonly providerName: string | null;
527
- readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
528
- readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
529
- readonly activeTurnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
530
- readonly lastError: string | null;
531
- readonly updatedAt: string;
532
- } | null;
533
- };
534
- }, import("../domain/error.ts").ModelSelectionError | ProjectLookupError | import("../rpc/error.ts").RpcError | ThreadSessionError, never>;
535
- watchThread: (threadId: string) => Stream.Stream<import("./service.ts").WaitEvent, import("../rpc/error.ts").RpcError | ThreadSessionError, never>;
536
- waitForThread: (threadId: string) => Effect.Effect<{
537
- readonly id: string & import("effect/Brand").Brand<"ThreadId">;
538
- readonly projectId: string & import("effect/Brand").Brand<"ProjectId">;
539
- readonly title: string;
540
- readonly modelSelection: {
541
- readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
542
- readonly model: string;
543
- readonly options?: readonly {
544
- readonly id: string;
545
- readonly value: string | boolean;
546
- }[];
547
- };
548
- readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
549
- readonly interactionMode: "default" | "plan";
550
- readonly branch: string | null;
551
- readonly worktreePath: string | null;
552
- readonly latestTurn: {
553
- readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
554
- readonly state: "completed" | "error" | "interrupted" | "running";
555
- readonly requestedAt: string;
556
- readonly startedAt: string | null;
557
- readonly completedAt: string | null;
558
- readonly assistantMessageId: (string & import("effect/Brand").Brand<"MessageId">) | null;
559
- readonly sourceProposedPlan?: {
560
- readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
561
- readonly planId: string;
562
- } | undefined;
563
- } | null;
564
- readonly createdAt: string;
565
- readonly updatedAt: string;
566
- readonly archivedAt: string | null;
567
- readonly settledOverride: "active" | "settled" | null;
568
- readonly settledAt: string | null;
569
- readonly snoozedUntil?: string | null | undefined;
570
- readonly snoozedAt?: string | null | undefined;
571
- readonly deletedAt: string | null;
572
- readonly messages: readonly {
573
- readonly id: string & import("effect/Brand").Brand<"MessageId">;
574
- readonly role: "assistant" | "system" | "user";
575
- readonly text: string;
576
- readonly attachments?: readonly {
577
- readonly type: "image";
578
- readonly id: string;
579
- readonly name: string;
580
- readonly mimeType: string;
581
- readonly sizeBytes: number;
582
- }[] | undefined;
583
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
584
- readonly streaming: boolean;
585
- readonly createdAt: string;
586
- readonly updatedAt: string;
587
- }[];
588
- readonly proposedPlans: readonly {
589
- readonly id: string;
590
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
591
- readonly planMarkdown: string;
592
- readonly implementedAt: string | null;
593
- readonly implementationThreadId: (string & import("effect/Brand").Brand<"ThreadId">) | null;
594
- readonly createdAt: string;
595
- readonly updatedAt: string;
596
- }[];
597
- readonly activities: readonly {
598
- readonly id: string & import("effect/Brand").Brand<"EventId">;
599
- readonly tone: "approval" | "error" | "info" | "tool";
600
- readonly kind: string;
601
- readonly summary: string;
602
- readonly payload: unknown;
603
- readonly turnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
604
- readonly sequence?: number | undefined;
605
- readonly createdAt: string;
606
- }[];
607
- readonly checkpoints: readonly {
608
- readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
609
- readonly checkpointTurnCount: number;
610
- readonly checkpointRef: string & import("effect/Brand").Brand<"CheckpointRef">;
611
- readonly status: "error" | "missing" | "ready";
612
- readonly files: readonly {
613
- readonly path: string;
614
- readonly kind: string;
615
- readonly additions: number;
616
- readonly deletions: number;
617
- }[];
618
- readonly assistantMessageId: (string & import("effect/Brand").Brand<"MessageId">) | null;
619
- readonly completedAt: string;
620
- }[];
621
- readonly session: {
622
- readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
623
- readonly status: "error" | "idle" | "interrupted" | "ready" | "running" | "starting" | "stopped";
624
- readonly providerName: string | null;
625
- readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
626
- readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
627
- readonly activeTurnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
628
- readonly lastError: string | null;
629
- readonly updatedAt: string;
630
- } | null;
631
- }, import("../rpc/error.ts").RpcError | ThreadSessionError, never>;
632
- callbackThread: (input: CallbackThreadInput) => Effect.Effect<{
633
- dispatch: {
634
- readonly sequence: number;
635
- };
636
- targetThreadId: string;
637
- }, import("../rpc/error.ts").RpcError | ThreadSessionError, never>;
638
- }, never, CliRuntime | Crypto.Crypto | Path.Path | T3Orchestration>;
639
- export type ThreadShow = {
640
- readonly id: string;
641
- readonly projectId: string;
642
- readonly title: string;
643
- readonly status: ThreadLifecycleStatus;
644
- readonly session: OrchestrationThread["session"];
645
- readonly latestTurn: OrchestrationThread["latestTurn"];
646
- readonly modelSelection: OrchestrationThread["modelSelection"];
647
- readonly runtimeMode: OrchestrationThread["runtimeMode"];
648
- readonly interactionMode: OrchestrationThread["interactionMode"];
649
- readonly branch: OrchestrationThread["branch"];
650
- readonly worktreePath: OrchestrationThread["worktreePath"];
651
- readonly archivedAt: OrchestrationThread["archivedAt"];
652
- readonly createdAt: string;
653
- readonly updatedAt: string;
654
- readonly messageCount: number;
655
- readonly hasPendingApprovals: boolean;
656
- readonly hasPendingUserInput: boolean;
657
- readonly hasActionableProposedPlan: boolean;
658
- readonly pendingApprovals: ReturnType<typeof derivePendingApprovals>;
659
- readonly pendingUserInputs: ReturnType<typeof derivePendingUserInputs>;
660
- };