t3code-cli 0.12.0 → 0.14.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 (330) 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 +392 -630
  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/rolldown-runtime.js +1 -1
  91. package/dist/rpc.d.ts +6043 -0
  92. package/dist/rpc.js +1 -1
  93. package/dist/runtime.d.ts +2 -0
  94. package/dist/runtime.js +2 -2
  95. package/dist/shared/DrainableWorker.d.ts +28 -0
  96. package/dist/shared/DrainableWorker.js +24 -0
  97. package/dist/shared/KeyedCoalescingWorker.d.ts +13 -0
  98. package/dist/shared/KeyedCoalescingWorker.js +89 -0
  99. package/dist/shared/Net.d.ts +43 -0
  100. package/dist/shared/Net.js +126 -0
  101. package/dist/shared/String.d.ts +4 -0
  102. package/dist/shared/String.js +8 -0
  103. package/dist/shared/Struct.d.ts +5 -0
  104. package/dist/shared/Struct.js +2 -0
  105. package/dist/shared/advertisedEndpoint.d.ts +2 -0
  106. package/dist/shared/advertisedEndpoint.js +2 -0
  107. package/dist/shared/agentAwareness.d.ts +27 -0
  108. package/dist/shared/agentAwareness.js +54 -0
  109. package/dist/shared/backgroundActivitySettings.d.ts +23 -0
  110. package/dist/shared/backgroundActivitySettings.js +2 -0
  111. package/dist/shared/chatList.d.ts +12 -0
  112. package/dist/shared/chatList.js +14 -0
  113. package/dist/shared/cliArgs.d.ts +33 -0
  114. package/dist/shared/cliArgs.js +103 -0
  115. package/dist/shared/composerInlineTokens.d.ts +20 -0
  116. package/dist/shared/composerInlineTokens.js +72 -0
  117. package/dist/shared/composerTrigger.d.ts +26 -0
  118. package/dist/shared/composerTrigger.js +97 -0
  119. package/dist/shared/connectAuth.d.ts +58 -0
  120. package/dist/shared/connectAuth.js +89 -0
  121. package/dist/shared/devHome.d.ts +21 -0
  122. package/dist/shared/devHome.js +65 -0
  123. package/dist/shared/devProxy.d.ts +15 -0
  124. package/dist/shared/devProxy.js +22 -0
  125. package/dist/shared/dpop.d.ts +32 -0
  126. package/dist/shared/dpop.js +2724 -0
  127. package/dist/shared/dpopCommon.d.ts +2 -0
  128. package/dist/shared/dpopCommon.js +2 -0
  129. package/dist/shared/filePreview.d.ts +8 -0
  130. package/dist/shared/filePreview.js +31 -0
  131. package/dist/shared/git.d.ts +41 -0
  132. package/dist/shared/git.js +2 -0
  133. package/dist/shared/hostProcess.d.ts +13 -0
  134. package/dist/shared/hostProcess.js +2 -0
  135. package/dist/shared/httpObservability.d.ts +5 -0
  136. package/dist/shared/httpObservability.js +2 -0
  137. package/dist/shared/httpReadiness.d.ts +38 -0
  138. package/dist/shared/httpReadiness.js +110 -0
  139. package/dist/shared/keybindings.d.ts +35 -0
  140. package/dist/shared/keybindings.js +330 -0
  141. package/dist/shared/logging.d.ts +39 -0
  142. package/dist/shared/logging.js +2 -0
  143. package/dist/shared/model.d.ts +44 -0
  144. package/dist/shared/model.js +2 -0
  145. package/dist/shared/oauthScope.d.ts +23 -0
  146. package/dist/shared/oauthScope.js +2 -0
  147. package/dist/shared/observability.d.ts +105 -0
  148. package/dist/shared/observability.js +346 -0
  149. package/dist/shared/orchestrationTiming.d.ts +16 -0
  150. package/dist/shared/orchestrationTiming.js +32 -0
  151. package/dist/shared/path.d.ts +2 -0
  152. package/dist/shared/path.js +2 -0
  153. package/dist/shared/preview.d.ts +35 -0
  154. package/dist/shared/preview.js +103 -0
  155. package/dist/shared/previewViewport.d.ts +16 -0
  156. package/dist/shared/previewViewport.js +159 -0
  157. package/dist/shared/projectFavicon.d.ts +5 -0
  158. package/dist/shared/projectFavicon.js +13 -0
  159. package/dist/shared/projectScripts.d.ts +19 -0
  160. package/dist/shared/projectScripts.js +18 -0
  161. package/dist/shared/qrCode.d.ts +87 -0
  162. package/dist/shared/qrCode.js +870 -0
  163. package/dist/shared/relayAuth.d.ts +27 -0
  164. package/dist/shared/relayAuth.js +83 -0
  165. package/dist/shared/relayClient.d.ts +58 -0
  166. package/dist/shared/relayClient.js +245 -0
  167. package/dist/shared/relayJwt.d.ts +39 -0
  168. package/dist/shared/relayJwt.js +2 -0
  169. package/dist/shared/relaySigning.d.ts +4 -0
  170. package/dist/shared/relaySigning.js +2 -0
  171. package/dist/shared/relayTracing.d.ts +25 -0
  172. package/dist/shared/relayTracing.js +2 -0
  173. package/dist/shared/relayUrl.d.ts +5 -0
  174. package/dist/shared/relayUrl.js +2 -0
  175. package/dist/shared/remote.d.ts +57 -0
  176. package/dist/shared/remote.js +2 -0
  177. package/dist/shared/schemaJson.d.ts +35 -0
  178. package/dist/shared/schemaJson.js +2 -0
  179. package/dist/shared/schemaYaml.d.ts +86 -0
  180. package/dist/shared/schemaYaml.js +99 -0
  181. package/dist/shared/searchRanking.d.ts +30 -0
  182. package/dist/shared/searchRanking.js +99 -0
  183. package/dist/shared/semver.d.ts +23 -0
  184. package/dist/shared/semver.js +124 -0
  185. package/dist/shared/serverSettings.d.ts +19 -0
  186. package/dist/shared/serverSettings.js +103 -0
  187. package/dist/shared/shell.d.ts +51 -0
  188. package/dist/shared/shell.js +408 -0
  189. package/dist/shared/sourceControl.d.ts +26 -0
  190. package/dist/shared/sourceControl.js +2 -0
  191. package/dist/shared/t3ProjectFile.d.ts +27 -0
  192. package/dist/shared/t3ProjectFile.js +25 -0
  193. package/dist/shared/terminalLabels.d.ts +16 -0
  194. package/dist/shared/terminalLabels.js +28 -0
  195. package/dist/shared/toolActivity.d.ts +16 -0
  196. package/dist/shared/toolActivity.js +159 -0
  197. package/dist/shared.d.ts +43036 -0
  198. package/dist/shared.js +36722 -13117
  199. package/dist/t3tools.d.ts +2 -0
  200. package/dist/t3tools.js +2 -2
  201. package/package.json +46 -27
  202. package/src/application/thread-wait.ts +4 -0
  203. package/src/auth/error.ts +2 -8
  204. package/src/auth/index.ts +2 -0
  205. package/src/auth/pairing.ts +8 -5
  206. package/src/auth/remote-error.ts +17 -0
  207. package/src/auth/service.ts +2 -1
  208. package/src/auth/transport.ts +49 -114
  209. package/src/auth/type.ts +6 -0
  210. package/src/cli/auth.ts +7 -1
  211. package/src/connection/error.ts +4 -1
  212. package/src/connection/layer.ts +5 -2
  213. package/src/connection/prepared.ts +83 -0
  214. package/src/contracts/index.ts +8 -0
  215. package/src/orchestration/layer.ts +38 -1
  216. package/src/orchestration/service.ts +5 -0
  217. package/src/preview/index.ts +11 -0
  218. package/src/preview/service.ts +52 -0
  219. package/src/rpc/error.ts +11 -16
  220. package/src/rpc/index.ts +3 -2
  221. package/src/rpc/layer.ts +18 -51
  222. package/src/rpc/operation.ts +21 -6
  223. package/src/rpc/service.ts +2 -1
  224. package/src/rpc/session.ts +168 -0
  225. package/src/rpc/ws-group.ts +18 -26
  226. package/src/runtime/index.ts +1 -0
  227. package/src/runtime/layer.ts +11 -3
  228. package/src/sql/node-sqlite-client.ts +3 -0
  229. package/dist/src/application/actions.d.ts +0 -25
  230. package/dist/src/application/error.d.ts +0 -3
  231. package/dist/src/application/index.d.ts +0 -4
  232. package/dist/src/application/layer.d.ts +0 -117
  233. package/dist/src/application/model-selection.d.ts +0 -34
  234. package/dist/src/application/models.d.ts +0 -8
  235. package/dist/src/application/project-commands.d.ts +0 -44
  236. package/dist/src/application/projects.d.ts +0 -23
  237. package/dist/src/application/service.d.ts +0 -243
  238. package/dist/src/application/shell-sequence.d.ts +0 -101
  239. package/dist/src/application/terminals.d.ts +0 -66
  240. package/dist/src/application/thread-commands.d.ts +0 -157
  241. package/dist/src/application/thread-update.d.ts +0 -8
  242. package/dist/src/application/thread-wait.d.ts +0 -111
  243. package/dist/src/application/threads.d.ts +0 -685
  244. package/dist/src/auth/error.d.ts +0 -51
  245. package/dist/src/auth/index.d.ts +0 -10
  246. package/dist/src/auth/layer.d.ts +0 -53
  247. package/dist/src/auth/local-base-dir.d.ts +0 -8
  248. package/dist/src/auth/local-origin.d.ts +0 -18
  249. package/dist/src/auth/local-token.d.ts +0 -26
  250. package/dist/src/auth/local.d.ts +0 -24
  251. package/dist/src/auth/pairing.d.ts +0 -22
  252. package/dist/src/auth/schema.d.ts +0 -58
  253. package/dist/src/auth/service.d.ts +0 -27
  254. package/dist/src/auth/transport.d.ts +0 -22
  255. package/dist/src/auth/type.d.ts +0 -83
  256. package/dist/src/cli/env/flag.d.ts +0 -2
  257. package/dist/src/cli/env/index.d.ts +0 -2
  258. package/dist/src/cli/env/selection-layer.d.ts +0 -3
  259. package/dist/src/cli/flags.d.ts +0 -20
  260. package/dist/src/cli/format/index.d.ts +0 -1
  261. package/dist/src/cli/format/output.d.ts +0 -12
  262. package/dist/src/cli/index.d.ts +0 -5
  263. package/dist/src/cli/runtime/index.d.ts +0 -1
  264. package/dist/src/cli/runtime/service.d.ts +0 -16
  265. package/dist/src/cli/scope/index.d.ts +0 -1
  266. package/dist/src/cli/scope/resolve.d.ts +0 -20
  267. package/dist/src/cli-path/layer.d.ts +0 -3
  268. package/dist/src/cli-path/service.d.ts +0 -8
  269. package/dist/src/config/config.d.ts +0 -49
  270. package/dist/src/config/credential/cipher-node.d.ts +0 -3
  271. package/dist/src/config/credential/cipher-web.d.ts +0 -3
  272. package/dist/src/config/credential/cipher.d.ts +0 -29
  273. package/dist/src/config/credential/env.d.ts +0 -3
  274. package/dist/src/config/credential/error.d.ts +0 -8
  275. package/dist/src/config/credential/index.d.ts +0 -6
  276. package/dist/src/config/credential/service.d.ts +0 -34
  277. package/dist/src/config/env/env.d.ts +0 -55
  278. package/dist/src/config/env/index.d.ts +0 -2
  279. package/dist/src/config/env/layout.d.ts +0 -11
  280. package/dist/src/config/environment-name/index.d.ts +0 -1
  281. package/dist/src/config/environment-name/name.d.ts +0 -10
  282. package/dist/src/config/error.d.ts +0 -11
  283. package/dist/src/config/index.d.ts +0 -10
  284. package/dist/src/config/keystore/error.d.ts +0 -8
  285. package/dist/src/config/keystore/file.d.ts +0 -9
  286. package/dist/src/config/keystore/index.d.ts +0 -4
  287. package/dist/src/config/keystore/keyring-node.d.ts +0 -4
  288. package/dist/src/config/keystore/service.d.ts +0 -33
  289. package/dist/src/config/paths/index.d.ts +0 -1
  290. package/dist/src/config/paths/paths.d.ts +0 -6
  291. package/dist/src/config/persist/file-mode.d.ts +0 -4
  292. package/dist/src/config/persist/migration.d.ts +0 -68
  293. package/dist/src/config/persist/persist.d.ts +0 -40
  294. package/dist/src/config/persist/schema.d.ts +0 -68
  295. package/dist/src/config/resolve/resolve.d.ts +0 -40
  296. package/dist/src/config/selection/index.d.ts +0 -1
  297. package/dist/src/config/selection/resolve.d.ts +0 -4
  298. package/dist/src/config/selection/service.d.ts +0 -10
  299. package/dist/src/config/types.d.ts +0 -36
  300. package/dist/src/config/url/error.d.ts +0 -10
  301. package/dist/src/config/url/index.d.ts +0 -2
  302. package/dist/src/config/url/url.d.ts +0 -6
  303. package/dist/src/connection/error.d.ts +0 -8
  304. package/dist/src/connection/index.d.ts +0 -4
  305. package/dist/src/connection/layer.d.ts +0 -3
  306. package/dist/src/connection/service.d.ts +0 -13
  307. package/dist/src/connection/type.d.ts +0 -10
  308. package/dist/src/contracts/index.d.ts +0 -1
  309. package/dist/src/domain/error.d.ts +0 -57
  310. package/dist/src/domain/helpers.d.ts +0 -184
  311. package/dist/src/domain/model-config.d.ts +0 -325
  312. package/dist/src/domain/thread-activities.d.ts +0 -14
  313. package/dist/src/domain/thread-lifecycle.d.ts +0 -125
  314. package/dist/src/index.d.ts +0 -3
  315. package/dist/src/node/connection.d.ts +0 -2
  316. package/dist/src/node/index.d.ts +0 -1
  317. package/dist/src/orchestration/index.d.ts +0 -2
  318. package/dist/src/orchestration/layer.d.ts +0 -1634
  319. package/dist/src/orchestration/service.d.ts +0 -28
  320. package/dist/src/rpc/error.d.ts +0 -18
  321. package/dist/src/rpc/index.d.ts +0 -5
  322. package/dist/src/rpc/layer.d.ts +0 -6271
  323. package/dist/src/rpc/operation.d.ts +0 -6280
  324. package/dist/src/rpc/service.d.ts +0 -15
  325. package/dist/src/rpc/ws-group.d.ts +0 -2725
  326. package/dist/src/runtime/index.d.ts +0 -1
  327. package/dist/src/runtime/layer.d.ts +0 -15
  328. package/dist/src/sql/node-sqlite-client.d.ts +0 -10
  329. package/dist/src/sql/service.d.ts +0 -17
  330. package/dist/src/t3tools/index.d.ts +0 -1
@@ -0,0 +1,529 @@
1
+ import { Ca as EnvironmentCacheStore, Cl as ExternalLauncherBrowserSpawnError, Dl as ExternalLauncherUnknownEditorError, Fl as ServerConfig, Ku as KeybindingWhenNode, Ol as ExternalLauncherUnsupportedEditorError, Tl as ExternalLauncherEditorSpawnError, Ua as RemoteEnvironmentRequestError, _a as EnvironmentSupervisor, at as EnvironmentThreadShell, bT as EnvironmentAuthorizationError, ct as scopeThreadShell, cv as OrchestrationShellSnapshot, es as PreparedConnection, f as AtomCommand, ha as EnvironmentRegistry, it as EnvironmentThread, lt as selectEnvironmentThreadShell, lv as OrchestrationShellStreamEvent, ma as EnvironmentNotRegisteredError, nt as EnvironmentMessage, on as EnvironmentRpcUnavailableError, ot as scopeProject, rt as EnvironmentProject, st as scopeThread, u as EnvironmentCatalogState, uo as ManagedRelayDpopSigner, wl as ExternalLauncherCommandNotFoundError, zT as EnvironmentId } from "../../shared.js";
2
+ import * as Context from "effect/Context";
3
+ import * as Effect from "effect/Effect";
4
+ import * as Stream from "effect/Stream";
5
+ import * as Option from "effect/Option";
6
+ import * as Layer from "effect/Layer";
7
+ import { HttpClient } from "effect/unstable/http";
8
+ import * as SubscriptionRef from "effect/SubscriptionRef";
9
+ import * as Cause from "effect/Cause";
10
+ import { AsyncResult, Atom } from "effect/unstable/reactivity";
11
+ //#region upstream-t3code/packages/client-runtime/src/state/shellSnapshotHttp.d.ts
12
+ /**
13
+ * Load the environment shell snapshot (projects + thread shells) over HTTP
14
+ * instead of as the WebSocket subscription's first frame. The response is
15
+ * gzip-compressible by the transport and keeps the (potentially large) list off
16
+ * the socket.
17
+ */
18
+ declare const fetchEnvironmentShellSnapshot: (input: {
19
+ readonly prepared: PreparedConnection;
20
+ readonly signer: Option.Option<ManagedRelayDpopSigner["Service"]>;
21
+ readonly timeoutMs?: number;
22
+ }) => Effect.Effect<{
23
+ readonly snapshotSequence: number;
24
+ readonly projects: readonly {
25
+ readonly id: string & import("effect/Brand").Brand<"ProjectId">;
26
+ readonly title: string;
27
+ readonly workspaceRoot: string;
28
+ readonly repositoryIdentity?: {
29
+ readonly canonicalKey: string;
30
+ readonly locator: {
31
+ readonly source: "git-remote";
32
+ readonly remoteName: string;
33
+ readonly remoteUrl: string;
34
+ };
35
+ readonly rootPath?: string;
36
+ readonly displayName?: string;
37
+ readonly provider?: string;
38
+ readonly owner?: string;
39
+ readonly name?: string;
40
+ } | null | undefined;
41
+ readonly defaultModelSelection: {
42
+ readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
43
+ readonly model: string;
44
+ readonly options?: readonly {
45
+ readonly id: string;
46
+ readonly value: string | boolean;
47
+ }[];
48
+ } | null;
49
+ readonly scripts: readonly {
50
+ readonly id: string;
51
+ readonly name: string;
52
+ readonly command: string;
53
+ readonly icon: "build" | "configure" | "debug" | "lint" | "play" | "test";
54
+ readonly runOnWorktreeCreate: boolean;
55
+ readonly previewUrl?: string | undefined;
56
+ readonly autoOpenPreview?: boolean | undefined;
57
+ }[];
58
+ readonly createdAt: string;
59
+ readonly updatedAt: string;
60
+ }[];
61
+ readonly threads: readonly {
62
+ readonly id: string & import("effect/Brand").Brand<"ThreadId">;
63
+ readonly projectId: string & import("effect/Brand").Brand<"ProjectId">;
64
+ readonly title: string;
65
+ readonly modelSelection: {
66
+ readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
67
+ readonly model: string;
68
+ readonly options?: readonly {
69
+ readonly id: string;
70
+ readonly value: string | boolean;
71
+ }[];
72
+ };
73
+ readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
74
+ readonly interactionMode: "default" | "plan";
75
+ readonly branch: string | null;
76
+ readonly worktreePath: string | null;
77
+ readonly latestTurn: {
78
+ readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
79
+ readonly state: "completed" | "error" | "interrupted" | "running";
80
+ readonly requestedAt: string;
81
+ readonly startedAt: string | null;
82
+ readonly completedAt: string | null;
83
+ readonly assistantMessageId: (string & import("effect/Brand").Brand<"MessageId">) | null;
84
+ readonly sourceProposedPlan?: {
85
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
86
+ readonly planId: string;
87
+ } | undefined;
88
+ } | null;
89
+ readonly createdAt: string;
90
+ readonly updatedAt: string;
91
+ readonly archivedAt: string | null;
92
+ readonly settledOverride: "active" | "settled" | null;
93
+ readonly settledAt: string | null;
94
+ readonly snoozedUntil?: string | null | undefined;
95
+ readonly snoozedAt?: string | null | undefined;
96
+ readonly session: {
97
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
98
+ readonly status: "error" | "idle" | "interrupted" | "ready" | "running" | "starting" | "stopped";
99
+ readonly providerName: string | null;
100
+ readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
101
+ readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
102
+ readonly activeTurnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
103
+ readonly lastError: string | null;
104
+ readonly updatedAt: string;
105
+ } | null;
106
+ readonly latestUserMessageAt: string | null;
107
+ readonly hasPendingApprovals: boolean;
108
+ readonly hasPendingUserInput: boolean;
109
+ readonly hasActionableProposedPlan: boolean;
110
+ }[];
111
+ readonly updatedAt: string;
112
+ }, RemoteEnvironmentRequestError, HttpClient.HttpClient>;
113
+ declare const ShellSnapshotLoader_base: Context.ServiceClass<ShellSnapshotLoader, "@t3tools/client-runtime/state/shellSnapshotHttp/ShellSnapshotLoader", {
114
+ readonly load: (prepared: PreparedConnection) => Effect.Effect<Option.Option<OrchestrationShellSnapshot>>;
115
+ }>;
116
+ /**
117
+ * Loads the environment shell snapshot over HTTP, returning `Option.none()` when
118
+ * it cannot be loaded (so the caller falls back to the socket-embedded snapshot).
119
+ * Decouples the shell state machine from the underlying HTTP + DPoP details and
120
+ * keeps them out of test contexts.
121
+ */
122
+ declare class ShellSnapshotLoader extends ShellSnapshotLoader_base {}
123
+ declare const shellSnapshotLoaderLayer: Layer.Layer<ShellSnapshotLoader, never, HttpClient.HttpClient>;
124
+ //#endregion
125
+ //#region upstream-t3code/packages/client-runtime/src/state/shellCommands.d.ts
126
+ declare function createShellEnvironmentAtoms<R, E>(runtime: Atom.AtomRuntime<EnvironmentRegistry | R, E>): {
127
+ openInEditor: AtomCommand<{
128
+ readonly environmentId: EnvironmentId;
129
+ readonly input: import("effect/Schema").Struct.ReadonlyMakeIn<{
130
+ readonly cwd: import("effect/Schema").decodeTo<import("effect/Schema").String, import("effect/Schema").String, never, never>;
131
+ readonly editor: import("effect/Schema").Literals<("antigravity" | "aqua" | "clion" | "cursor" | "datagrip" | "dataspell" | "file-manager" | "goland" | "idea" | "kiro" | "phpstorm" | "pycharm" | "rider" | "rubymine" | "rustrover" | "trae" | "vscode" | "vscode-insiders" | "vscodium" | "webstorm" | "zed")[]>;
132
+ }>;
133
+ }, void, E | EnvironmentAuthorizationError | EnvironmentNotRegisteredError | EnvironmentRpcUnavailableError | ExternalLauncherBrowserSpawnError | ExternalLauncherCommandNotFoundError | ExternalLauncherEditorSpawnError | ExternalLauncherUnknownEditorError | ExternalLauncherUnsupportedEditorError | import("effect/unstable/rpc/RpcClientError").RpcClientError>;
134
+ };
135
+ //#endregion
136
+ //#region upstream-t3code/packages/client-runtime/src/state/shellReducer.d.ts
137
+ /**
138
+ * Reduce a single shell stream event into an existing snapshot, returning a new
139
+ * snapshot with the event's changes applied. This is a pure reducer that both
140
+ * web and mobile can use to keep their local shell snapshot in sync.
141
+ *
142
+ * Returns the original snapshot reference unchanged if the event is not
143
+ * recognized (forward-compatible).
144
+ */
145
+ declare function applyShellStreamEvent(snapshot: OrchestrationShellSnapshot, event: OrchestrationShellStreamEvent): OrchestrationShellSnapshot;
146
+ //#endregion
147
+ //#region upstream-t3code/packages/client-runtime/src/state/snapshots.d.ts
148
+ declare function createEnvironmentSnapshotAtom<E>(shellStateAtom: (environmentId: EnvironmentId) => Atom.Atom<AsyncResult.AsyncResult<EnvironmentShellState, E>>): (arg: string & import("effect/Brand").Brand<"EnvironmentId">) => Atom.Atom<{
149
+ readonly snapshotSequence: number;
150
+ readonly projects: readonly {
151
+ readonly id: string & import("effect/Brand").Brand<"ProjectId">;
152
+ readonly title: string;
153
+ readonly workspaceRoot: string;
154
+ readonly repositoryIdentity?: {
155
+ readonly canonicalKey: string;
156
+ readonly locator: {
157
+ readonly source: "git-remote";
158
+ readonly remoteName: string;
159
+ readonly remoteUrl: string;
160
+ };
161
+ readonly rootPath?: string;
162
+ readonly displayName?: string;
163
+ readonly provider?: string;
164
+ readonly owner?: string;
165
+ readonly name?: string;
166
+ } | null | undefined;
167
+ readonly defaultModelSelection: {
168
+ readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
169
+ readonly model: string;
170
+ readonly options?: readonly {
171
+ readonly id: string;
172
+ readonly value: string | boolean;
173
+ }[];
174
+ } | null;
175
+ readonly scripts: readonly {
176
+ readonly id: string;
177
+ readonly name: string;
178
+ readonly command: string;
179
+ readonly icon: "build" | "configure" | "debug" | "lint" | "play" | "test";
180
+ readonly runOnWorktreeCreate: boolean;
181
+ readonly previewUrl?: string | undefined;
182
+ readonly autoOpenPreview?: boolean | undefined;
183
+ }[];
184
+ readonly createdAt: string;
185
+ readonly updatedAt: string;
186
+ }[];
187
+ readonly threads: readonly {
188
+ readonly id: string & import("effect/Brand").Brand<"ThreadId">;
189
+ readonly projectId: string & import("effect/Brand").Brand<"ProjectId">;
190
+ readonly title: string;
191
+ readonly modelSelection: {
192
+ readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
193
+ readonly model: string;
194
+ readonly options?: readonly {
195
+ readonly id: string;
196
+ readonly value: string | boolean;
197
+ }[];
198
+ };
199
+ readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
200
+ readonly interactionMode: "default" | "plan";
201
+ readonly branch: string | null;
202
+ readonly worktreePath: string | null;
203
+ readonly latestTurn: {
204
+ readonly turnId: string & import("effect/Brand").Brand<"TurnId">;
205
+ readonly state: "completed" | "error" | "interrupted" | "running";
206
+ readonly requestedAt: string;
207
+ readonly startedAt: string | null;
208
+ readonly completedAt: string | null;
209
+ readonly assistantMessageId: (string & import("effect/Brand").Brand<"MessageId">) | null;
210
+ readonly sourceProposedPlan?: {
211
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
212
+ readonly planId: string;
213
+ } | undefined;
214
+ } | null;
215
+ readonly createdAt: string;
216
+ readonly updatedAt: string;
217
+ readonly archivedAt: string | null;
218
+ readonly settledOverride: "active" | "settled" | null;
219
+ readonly settledAt: string | null;
220
+ readonly snoozedUntil?: string | null | undefined;
221
+ readonly snoozedAt?: string | null | undefined;
222
+ readonly session: {
223
+ readonly threadId: string & import("effect/Brand").Brand<"ThreadId">;
224
+ readonly status: "error" | "idle" | "interrupted" | "ready" | "running" | "starting" | "stopped";
225
+ readonly providerName: string | null;
226
+ readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
227
+ readonly runtimeMode: "approval-required" | "auto" | "auto-accept-edits" | "full-access";
228
+ readonly activeTurnId: (string & import("effect/Brand").Brand<"TurnId">) | null;
229
+ readonly lastError: string | null;
230
+ readonly updatedAt: string;
231
+ } | null;
232
+ readonly latestUserMessageAt: string | null;
233
+ readonly hasPendingApprovals: boolean;
234
+ readonly hasPendingUserInput: boolean;
235
+ readonly hasActionableProposedPlan: boolean;
236
+ }[];
237
+ readonly updatedAt: string;
238
+ } | null>;
239
+ //#endregion
240
+ //#region upstream-t3code/packages/client-runtime/src/state/shell.d.ts
241
+ type EnvironmentShellStatus = "empty" | "cached" | "synchronizing" | "live";
242
+ interface EnvironmentShellState {
243
+ readonly snapshot: Option.Option<OrchestrationShellSnapshot>;
244
+ readonly status: EnvironmentShellStatus;
245
+ readonly error: Option.Option<string>;
246
+ }
247
+ declare const makeEnvironmentShellState: () => Effect.Effect<SubscriptionRef.SubscriptionRef<EnvironmentShellState>, never, EnvironmentCacheStore | EnvironmentSupervisor | import("effect/Scope").Scope | ShellSnapshotLoader>;
248
+ declare function shellStateChanges(environmentId: EnvironmentId): Stream.Stream<EnvironmentShellState, never, EnvironmentCacheStore | EnvironmentRegistry | ShellSnapshotLoader>;
249
+ interface EnvironmentShellSummary {
250
+ readonly hasSnapshot: boolean;
251
+ readonly hasSynchronizingShell: boolean;
252
+ readonly hasCachedShell: boolean;
253
+ readonly hasLiveShell: boolean;
254
+ readonly firstError: string | null;
255
+ readonly latestSnapshotUpdatedAt: string | null;
256
+ }
257
+ declare function createEnvironmentShellSummaryAtom(input: {
258
+ readonly catalogValueAtom: Atom.Atom<EnvironmentCatalogState>;
259
+ readonly shellStateValueAtom: (environmentId: EnvironmentId) => Atom.Atom<EnvironmentShellState>;
260
+ }): Atom.Atom<EnvironmentShellSummary>;
261
+ declare function createEnvironmentServerConfigsAtom(input: {
262
+ readonly catalogValueAtom: Atom.Atom<EnvironmentCatalogState>;
263
+ readonly serverConfigValueAtom: (environmentId: EnvironmentId) => Atom.Atom<ServerConfig | null>;
264
+ }): Atom.Atom<ReadonlyMap<string & import("effect/Brand").Brand<"EnvironmentId">, {
265
+ readonly environment: {
266
+ readonly environmentId: string & import("effect/Brand").Brand<"EnvironmentId">;
267
+ readonly label: string;
268
+ readonly platform: {
269
+ readonly os: "darwin" | "linux" | "unknown" | "windows";
270
+ readonly arch: "arm64" | "other" | "x64";
271
+ };
272
+ readonly serverVersion: string;
273
+ readonly capabilities: {
274
+ readonly repositoryIdentity: boolean;
275
+ readonly connectionProbe?: boolean;
276
+ readonly threadSettlement?: boolean;
277
+ readonly threadSnooze?: boolean;
278
+ readonly serverSelfUpdate?: "boot-service" | "desktop-managed" | "respawn";
279
+ };
280
+ };
281
+ readonly auth: {
282
+ readonly policy: "desktop-managed-local" | "loopback-browser" | "remote-reachable" | "unsafe-no-auth";
283
+ readonly bootstrapMethods: readonly ("desktop-bootstrap" | "one-time-token")[];
284
+ readonly sessionMethods: readonly ("bearer-access-token" | "browser-session-cookie" | "dpop-access-token")[];
285
+ readonly sessionCookieName: string;
286
+ };
287
+ readonly cwd: string;
288
+ readonly keybindingsConfigPath: string;
289
+ readonly keybindings: readonly {
290
+ readonly command: "chat.new" | "chat.newLocal" | "commandPalette.toggle" | "composer.stash" | "diff.toggle" | "editor.openFavorite" | "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" | "modelPicker.toggle" | "preview.focusUrl" | "preview.refresh" | "preview.resetZoom" | "preview.toggle" | "preview.zoomIn" | "preview.zoomOut" | "rightPanel.toggle" | "sidebar.toggle" | "terminal.close" | "terminal.new" | "terminal.split" | "terminal.splitVertical" | "terminal.toggle" | "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" | "thread.next" | "thread.previous" | `script.${string}.run`;
291
+ readonly shortcut: {
292
+ readonly key: string;
293
+ readonly metaKey: boolean;
294
+ readonly ctrlKey: boolean;
295
+ readonly shiftKey: boolean;
296
+ readonly altKey: boolean;
297
+ readonly modKey: boolean;
298
+ };
299
+ readonly whenAst?: {
300
+ readonly type: "identifier";
301
+ readonly name: string;
302
+ } | {
303
+ readonly type: "not";
304
+ readonly node: KeybindingWhenNode;
305
+ } | {
306
+ readonly type: "and";
307
+ readonly left: KeybindingWhenNode;
308
+ readonly right: KeybindingWhenNode;
309
+ } | {
310
+ readonly type: "or";
311
+ readonly left: KeybindingWhenNode;
312
+ readonly right: KeybindingWhenNode;
313
+ } | undefined;
314
+ }[];
315
+ readonly issues: readonly ({
316
+ readonly kind: "keybindings.malformed-config";
317
+ readonly message: string;
318
+ } | {
319
+ readonly kind: "keybindings.invalid-entry";
320
+ readonly message: string;
321
+ readonly index: number;
322
+ })[];
323
+ readonly providers: readonly {
324
+ readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
325
+ readonly driver: string & import("effect/Brand").Brand<"ProviderDriverKind">;
326
+ readonly displayName?: string | undefined;
327
+ readonly accentColor?: string | undefined;
328
+ readonly badgeLabel?: string | undefined;
329
+ readonly continuation?: {
330
+ readonly groupKey: string;
331
+ } | undefined;
332
+ readonly showInteractionModeToggle?: boolean | undefined;
333
+ readonly requiresNewThreadForModelChange?: boolean | undefined;
334
+ readonly enabled: boolean;
335
+ readonly installed: boolean;
336
+ readonly version: string | null;
337
+ readonly status: "disabled" | "error" | "ready" | "warning";
338
+ readonly auth: {
339
+ readonly status: "authenticated" | "unauthenticated" | "unknown";
340
+ readonly type?: string | undefined;
341
+ readonly label?: string | undefined;
342
+ readonly email?: string | undefined;
343
+ };
344
+ readonly checkedAt: string;
345
+ readonly message?: string | undefined;
346
+ readonly availability?: "available" | "unavailable" | undefined;
347
+ readonly unavailableReason?: string | undefined;
348
+ readonly models: readonly {
349
+ readonly slug: string;
350
+ readonly name: string;
351
+ readonly shortName?: string | undefined;
352
+ readonly subProvider?: string | undefined;
353
+ readonly isCustom: boolean;
354
+ readonly isDefault?: boolean | undefined;
355
+ readonly capabilities: {
356
+ readonly optionDescriptors?: readonly ({
357
+ readonly id: string;
358
+ readonly label: string;
359
+ readonly description?: string | undefined;
360
+ readonly type: "select";
361
+ readonly options: readonly {
362
+ readonly id: string;
363
+ readonly label: string;
364
+ readonly description?: string | undefined;
365
+ readonly isDefault?: boolean | undefined;
366
+ }[];
367
+ readonly currentValue?: string | undefined;
368
+ readonly promptInjectedValues?: readonly string[] | undefined;
369
+ } | {
370
+ readonly id: string;
371
+ readonly label: string;
372
+ readonly description?: string | undefined;
373
+ readonly type: "boolean";
374
+ readonly currentValue?: boolean | undefined;
375
+ })[] | undefined;
376
+ } | null;
377
+ }[];
378
+ readonly slashCommands: readonly {
379
+ readonly name: string;
380
+ readonly description?: string | undefined;
381
+ readonly input?: {
382
+ readonly hint: string;
383
+ } | undefined;
384
+ }[];
385
+ readonly skills: readonly {
386
+ readonly name: string;
387
+ readonly description?: string | undefined;
388
+ readonly path: string;
389
+ readonly scope?: string | undefined;
390
+ readonly enabled: boolean;
391
+ readonly displayName?: string | undefined;
392
+ readonly shortDescription?: string | undefined;
393
+ }[];
394
+ readonly versionAdvisory?: {
395
+ readonly status: "behind_latest" | "current" | "unknown";
396
+ readonly currentVersion: string | null;
397
+ readonly latestVersion: string | null;
398
+ readonly updateCommand: string | null;
399
+ readonly canUpdate: boolean;
400
+ readonly checkedAt: string | null;
401
+ readonly message: string | null;
402
+ };
403
+ readonly updateState?: {
404
+ readonly status: "failed" | "idle" | "queued" | "running" | "succeeded" | "unchanged";
405
+ readonly startedAt: string | null;
406
+ readonly finishedAt: string | null;
407
+ readonly message: string | null;
408
+ readonly output: string | null;
409
+ };
410
+ }[];
411
+ readonly availableEditors: readonly ("antigravity" | "aqua" | "clion" | "cursor" | "datagrip" | "dataspell" | "file-manager" | "goland" | "idea" | "kiro" | "phpstorm" | "pycharm" | "rider" | "rubymine" | "rustrover" | "trae" | "vscode" | "vscode-insiders" | "vscodium" | "webstorm" | "zed")[];
412
+ readonly observability: {
413
+ readonly logsDirectoryPath: string;
414
+ readonly localTracingEnabled: boolean;
415
+ readonly otlpTracesUrl?: string | undefined;
416
+ readonly otlpTracesEnabled: boolean;
417
+ readonly otlpMetricsUrl?: string | undefined;
418
+ readonly otlpMetricsEnabled: boolean;
419
+ };
420
+ readonly settings: {
421
+ readonly enableAssistantStreaming: boolean;
422
+ readonly enableProviderUpdateChecks: boolean;
423
+ readonly backgroundActivity: {
424
+ readonly schemaVersion: 1;
425
+ readonly profile: "balanced" | "battery-saver" | "custom" | "performance";
426
+ readonly baseProfile?: "balanced" | "battery-saver" | "performance";
427
+ readonly overrides: {
428
+ readonly automaticGitFetchInterval?: import("effect/Duration").Duration;
429
+ readonly providerHealthRefreshInterval?: import("effect/Duration").Duration;
430
+ readonly hostPowerMonitorActiveInterval?: import("effect/Duration").Duration;
431
+ readonly hostPowerMonitorIdleInterval?: import("effect/Duration").Duration;
432
+ readonly idleClientTtl?: import("effect/Duration").Duration;
433
+ readonly pauseWhenHostLocked?: boolean;
434
+ readonly pauseWhenHostLowPower?: boolean;
435
+ readonly pauseWhenClientLowPower?: boolean;
436
+ readonly pauseWhenOnBattery?: boolean;
437
+ };
438
+ };
439
+ readonly automaticGitFetchInterval: import("effect/Duration").Duration;
440
+ readonly providerHealthRefreshInterval: import("effect/Duration").Duration;
441
+ readonly backgroundActivityProfile: "balanced" | "battery-saver" | "performance";
442
+ readonly defaultThreadEnvMode: "local" | "worktree";
443
+ readonly newWorktreesStartFromOrigin: boolean;
444
+ readonly addProjectBaseDirectory: string;
445
+ readonly textGenerationModelSelection: {
446
+ readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
447
+ readonly model: string;
448
+ readonly options?: readonly {
449
+ readonly id: string;
450
+ readonly value: string | boolean;
451
+ }[];
452
+ };
453
+ readonly sourceControlWritingStyle: {
454
+ readonly mode: "conventional_commits" | "custom" | "repo_conventions";
455
+ readonly customInstructions: string;
456
+ readonly followChangeRequestTemplates: boolean;
457
+ };
458
+ readonly sourceControlWriterModelSelection: {
459
+ readonly instanceId: string & import("effect/Brand").Brand<"ProviderInstanceId">;
460
+ readonly model: string;
461
+ readonly options?: readonly {
462
+ readonly id: string;
463
+ readonly value: string | boolean;
464
+ }[];
465
+ } | null;
466
+ readonly providers: {
467
+ readonly codex: {
468
+ readonly enabled: boolean;
469
+ readonly binaryPath: string;
470
+ readonly homePath: string;
471
+ readonly shadowHomePath: string;
472
+ readonly launchArgs: string;
473
+ readonly customModels: readonly string[];
474
+ };
475
+ readonly claudeAgent: {
476
+ readonly enabled: boolean;
477
+ readonly binaryPath: string;
478
+ readonly homePath: string;
479
+ readonly customModels: readonly string[];
480
+ readonly launchArgs: string;
481
+ };
482
+ readonly cursor: {
483
+ readonly enabled: boolean;
484
+ readonly binaryPath: string;
485
+ readonly apiEndpoint: string;
486
+ readonly customModels: readonly string[];
487
+ };
488
+ readonly grok: {
489
+ readonly enabled: boolean;
490
+ readonly binaryPath: string;
491
+ readonly customModels: readonly string[];
492
+ };
493
+ readonly opencode: {
494
+ readonly enabled: boolean;
495
+ readonly binaryPath: string;
496
+ readonly serverUrl: string;
497
+ readonly serverPassword: string;
498
+ readonly customModels: readonly string[];
499
+ };
500
+ };
501
+ readonly providerInstances: {
502
+ readonly [x: string & import("effect/Brand").Brand<"ProviderInstanceId">]: {
503
+ readonly driver: string & import("effect/Brand").Brand<"ProviderDriverKind">;
504
+ readonly displayName?: string | undefined;
505
+ readonly accentColor?: string | undefined;
506
+ readonly environment?: readonly {
507
+ readonly name: string;
508
+ readonly value: string;
509
+ readonly sensitive: boolean;
510
+ readonly valueRedacted?: boolean;
511
+ }[];
512
+ readonly enabled?: boolean;
513
+ readonly config?: unknown;
514
+ };
515
+ };
516
+ readonly observability: {
517
+ readonly otlpTracesUrl: string;
518
+ readonly otlpMetricsUrl: string;
519
+ };
520
+ };
521
+ readonly shellResumeCompletionMarker?: boolean;
522
+ readonly threadResumeCompletionMarker?: boolean;
523
+ }>>;
524
+ declare function createEnvironmentShellAtoms<R, E>(runtime: Atom.AtomRuntime<EnvironmentRegistry | EnvironmentCacheStore | ShellSnapshotLoader | R, E>): {
525
+ stateAtom: (arg: string & import("effect/Brand").Brand<"EnvironmentId">) => Atom.Atom<AsyncResult.AsyncResult<EnvironmentShellState, E | Cause.NoSuchElementError>>;
526
+ stateValueAtom: (arg: string & import("effect/Brand").Brand<"EnvironmentId">) => Atom.Atom<EnvironmentShellState>;
527
+ };
528
+ //#endregion
529
+ export { EnvironmentMessage, EnvironmentProject, EnvironmentShellState, EnvironmentShellStatus, EnvironmentShellSummary, EnvironmentThread, EnvironmentThreadShell, ShellSnapshotLoader, applyShellStreamEvent, createEnvironmentServerConfigsAtom, createEnvironmentShellAtoms, createEnvironmentShellSummaryAtom, createEnvironmentSnapshotAtom, createShellEnvironmentAtoms, fetchEnvironmentShellSnapshot, makeEnvironmentShellState, scopeProject, scopeThread, scopeThreadShell, selectEnvironmentThreadShell, shellSnapshotLoaderLayer, shellStateChanges };
@@ -0,0 +1,2 @@
1
+ import { $n as createEnvironmentShellAtoms, Mr as ShellSnapshotLoader, Nr as fetchEnvironmentShellSnapshot, Pr as shellSnapshotLoaderLayer, Qn as createEnvironmentServerConfigsAtom, ar as scopeProject, cr as selectEnvironmentThreadShell, er as createEnvironmentShellSummaryAtom, ir as createShellEnvironmentAtoms, jr as applyShellStreamEvent, nr as shellStateChanges, or as scopeThread, rr as createEnvironmentSnapshotAtom, sr as scopeThreadShell, tr as makeEnvironmentShellState } from "../../shared.js";
2
+ export { ShellSnapshotLoader, applyShellStreamEvent, createEnvironmentServerConfigsAtom, createEnvironmentShellAtoms, createEnvironmentShellSummaryAtom, createEnvironmentSnapshotAtom, createShellEnvironmentAtoms, fetchEnvironmentShellSnapshot, makeEnvironmentShellState, scopeProject, scopeThread, scopeThreadShell, selectEnvironmentThreadShell, shellSnapshotLoaderLayer, shellStateChanges };
@@ -0,0 +1,92 @@
1
+ import { Ca as EnvironmentCacheStore, SC as SourceControlRepositoryError, bT as EnvironmentAuthorizationError, f as AtomCommand, ha as EnvironmentRegistry, ma as EnvironmentNotRegisteredError, on as EnvironmentRpcUnavailableError, zT as EnvironmentId } from "../../shared.js";
2
+ import { Atom } from "effect/unstable/reactivity";
3
+ //#region upstream-t3code/packages/client-runtime/src/state/sourceControl.d.ts
4
+ declare function createSourceControlEnvironmentAtoms<R, E>(runtime: Atom.AtomRuntime<EnvironmentRegistry | EnvironmentCacheStore | R, E>): {
5
+ discovery: (target: {
6
+ readonly environmentId: EnvironmentId;
7
+ readonly input: import("effect/Schema").Struct.ReadonlyMakeIn<{}>;
8
+ }) => Atom.Atom<import("effect/unstable/reactivity/AsyncResult").AsyncResult<{
9
+ readonly versionControlSystems: readonly {
10
+ readonly label: string;
11
+ readonly executable?: string | undefined;
12
+ readonly status: "available" | "missing";
13
+ readonly version: import("effect/Option").Option<string>;
14
+ readonly installHint: string;
15
+ readonly detail: import("effect/Option").Option<string>;
16
+ readonly kind: "git" | "jj" | "unknown";
17
+ readonly implemented: boolean;
18
+ }[];
19
+ readonly sourceControlProviders: readonly {
20
+ readonly label: string;
21
+ readonly executable?: string | undefined;
22
+ readonly status: "available" | "missing";
23
+ readonly version: import("effect/Option").Option<string>;
24
+ readonly installHint: string;
25
+ readonly detail: import("effect/Option").Option<string>;
26
+ readonly kind: "azure-devops" | "bitbucket" | "github" | "gitlab" | "unknown";
27
+ readonly auth: {
28
+ readonly status: "authenticated" | "unauthenticated" | "unknown";
29
+ readonly account: import("effect/Option").Option<string>;
30
+ readonly host: import("effect/Option").Option<string>;
31
+ readonly detail: import("effect/Option").Option<string>;
32
+ };
33
+ }[];
34
+ }, E | EnvironmentAuthorizationError | EnvironmentRpcUnavailableError | Error | import("effect/unstable/rpc/RpcClientError").RpcClientError>>;
35
+ repository: (target: {
36
+ readonly environmentId: EnvironmentId;
37
+ readonly input: {
38
+ readonly provider: "azure-devops" | "bitbucket" | "github" | "gitlab" | "unknown";
39
+ readonly repository: string;
40
+ readonly cwd?: string | undefined;
41
+ };
42
+ }) => Atom.Atom<import("effect/unstable/reactivity/AsyncResult").AsyncResult<{
43
+ readonly provider: "azure-devops" | "bitbucket" | "github" | "gitlab" | "unknown";
44
+ readonly nameWithOwner: string;
45
+ readonly url: string;
46
+ readonly sshUrl: string;
47
+ }, E | EnvironmentAuthorizationError | EnvironmentRpcUnavailableError | Error | import("effect/unstable/rpc/RpcClientError").RpcClientError | SourceControlRepositoryError>>;
48
+ cloneRepository: AtomCommand<{
49
+ readonly environmentId: EnvironmentId;
50
+ readonly input: {
51
+ readonly provider?: "azure-devops" | "bitbucket" | "github" | "gitlab" | "unknown" | undefined;
52
+ readonly repository?: string | undefined;
53
+ readonly remoteUrl?: string | undefined;
54
+ readonly destinationPath: string;
55
+ readonly protocol?: "auto" | "https" | "ssh" | undefined;
56
+ };
57
+ }, {
58
+ readonly cwd: string;
59
+ readonly remoteUrl: string;
60
+ readonly repository: {
61
+ readonly provider: "azure-devops" | "bitbucket" | "github" | "gitlab" | "unknown";
62
+ readonly nameWithOwner: string;
63
+ readonly url: string;
64
+ readonly sshUrl: string;
65
+ } | null;
66
+ }, E | EnvironmentAuthorizationError | EnvironmentNotRegisteredError | EnvironmentRpcUnavailableError | import("effect/unstable/rpc/RpcClientError").RpcClientError | SourceControlRepositoryError>;
67
+ publishRepository: AtomCommand<{
68
+ readonly environmentId: EnvironmentId;
69
+ readonly input: {
70
+ readonly cwd: string;
71
+ readonly provider: "azure-devops" | "bitbucket" | "github" | "gitlab" | "unknown";
72
+ readonly repository: string;
73
+ readonly visibility: "private" | "public";
74
+ readonly remoteName?: string | undefined;
75
+ readonly protocol?: "auto" | "https" | "ssh" | undefined;
76
+ };
77
+ }, {
78
+ readonly repository: {
79
+ readonly provider: "azure-devops" | "bitbucket" | "github" | "gitlab" | "unknown";
80
+ readonly nameWithOwner: string;
81
+ readonly url: string;
82
+ readonly sshUrl: string;
83
+ };
84
+ readonly remoteName: string;
85
+ readonly remoteUrl: string;
86
+ readonly branch: string;
87
+ readonly upstreamBranch?: string | undefined;
88
+ readonly status: "pushed" | "remote_added";
89
+ }, E | EnvironmentAuthorizationError | EnvironmentNotRegisteredError | EnvironmentRpcUnavailableError | import("effect/unstable/rpc/RpcClientError").RpcClientError | SourceControlRepositoryError>;
90
+ };
91
+ //#endregion
92
+ export { createSourceControlEnvironmentAtoms };
@@ -0,0 +1,36 @@
1
+ import { Fs as WS_METHODS, St as vcsCommandScheduler, dr as createEnvironmentRpcCommand, fr as createEnvironmentRpcQueryAtomFamily, lr as createAtomCommandScheduler, vt as invalidateCachedVcsRefs, xt as vcsCommandConcurrency } from "../../shared.js";
2
+ //#region upstream-t3code/packages/client-runtime/src/state/sourceControl.ts
3
+ function createSourceControlEnvironmentAtoms(runtime) {
4
+ const commandScheduler = createAtomCommandScheduler();
5
+ return {
6
+ discovery: createEnvironmentRpcQueryAtomFamily(runtime, {
7
+ label: "environment-data:server:source-control-discovery",
8
+ tag: WS_METHODS.serverDiscoverSourceControl
9
+ }),
10
+ repository: createEnvironmentRpcQueryAtomFamily(runtime, {
11
+ label: "environment-data:source-control:repository",
12
+ tag: WS_METHODS.sourceControlLookupRepository
13
+ }),
14
+ cloneRepository: createEnvironmentRpcCommand(runtime, {
15
+ label: "environment-data:source-control:clone-repository",
16
+ tag: WS_METHODS.sourceControlCloneRepository,
17
+ scheduler: commandScheduler,
18
+ concurrency: {
19
+ mode: "serial",
20
+ key: ({ environmentId }) => environmentId
21
+ }
22
+ }),
23
+ publishRepository: createEnvironmentRpcCommand(runtime, {
24
+ label: "environment-data:source-control:publish-repository",
25
+ tag: WS_METHODS.sourceControlPublishRepository,
26
+ scheduler: vcsCommandScheduler,
27
+ concurrency: vcsCommandConcurrency,
28
+ onSettled: (target, registry) => invalidateCachedVcsRefs(registry, {
29
+ environmentId: target.environmentId,
30
+ cwd: target.input.cwd
31
+ })
32
+ })
33
+ };
34
+ }
35
+ //#endregion
36
+ export { createSourceControlEnvironmentAtoms };