t3code-cli 0.2.0 → 0.4.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 (101) hide show
  1. package/README.md +1 -1
  2. package/dist/bin.js +412 -87
  3. package/dist/index.js +1 -1
  4. package/dist/{runtime-CMPZpQaG.js → runtime-Cq64iuZr.js} +4768 -2040
  5. package/dist/src/application/error.d.ts +3 -0
  6. package/dist/src/application/layer.d.ts +776 -0
  7. package/dist/src/application/model-selection.d.ts +19 -0
  8. package/dist/src/application/models.d.ts +93 -0
  9. package/dist/src/application/project-commands.d.ts +15 -0
  10. package/dist/src/application/projects.d.ts +136 -0
  11. package/dist/src/application/service.d.ts +72 -0
  12. package/dist/src/application/shell-sequence.d.ts +91 -0
  13. package/dist/src/application/thread-commands.d.ts +84 -0
  14. package/dist/src/application/thread-wait.d.ts +104 -0
  15. package/dist/src/application/threads.d.ts +563 -0
  16. package/dist/src/auth/error.d.ts +50 -0
  17. package/dist/src/auth/layer.d.ts +23 -0
  18. package/dist/src/auth/local.d.ts +27 -0
  19. package/dist/src/auth/pairing.d.ts +22 -0
  20. package/dist/src/auth/schema.d.ts +58 -0
  21. package/dist/src/auth/service.d.ts +14 -0
  22. package/dist/src/auth/transport.d.ts +19 -0
  23. package/dist/src/auth/type.d.ts +25 -0
  24. package/dist/src/config/error.d.ts +18 -0
  25. package/dist/src/config/layer.d.ts +20 -0
  26. package/dist/src/config/service.d.ts +20 -0
  27. package/dist/src/config/url.d.ts +6 -0
  28. package/dist/src/domain/error.d.ts +31 -0
  29. package/dist/src/domain/helpers.d.ts +38 -0
  30. package/dist/src/domain/model-config.d.ts +293 -0
  31. package/dist/src/domain/thread-lifecycle.d.ts +114 -0
  32. package/dist/src/environment/layer.d.ts +3 -0
  33. package/dist/src/environment/service.d.ts +12 -0
  34. package/dist/src/index.d.ts +6 -0
  35. package/dist/src/orchestration/layer.d.ts +2128 -0
  36. package/dist/src/orchestration/service.d.ts +27 -0
  37. package/dist/src/rpc/error.d.ts +15 -0
  38. package/dist/src/rpc/layer.d.ts +4678 -0
  39. package/dist/src/rpc/service.d.ts +15 -0
  40. package/dist/src/rpc/ws-group.d.ts +2238 -0
  41. package/dist/src/runtime.d.ts +3 -0
  42. package/dist/src/sql/node-sqlite-client.d.ts +10 -0
  43. package/dist/src/sql/service.d.ts +17 -0
  44. package/dist/upstream-t3code/packages/contracts/src/auth.d.ts +441 -0
  45. package/dist/upstream-t3code/packages/contracts/src/baseSchemas.d.ts +38 -0
  46. package/dist/upstream-t3code/packages/contracts/src/desktopBootstrap.d.ts +14 -0
  47. package/dist/upstream-t3code/packages/contracts/src/editor.d.ts +124 -0
  48. package/dist/upstream-t3code/packages/contracts/src/environment.d.ts +64 -0
  49. package/dist/upstream-t3code/packages/contracts/src/environmentHttp.d.ts +762 -0
  50. package/dist/upstream-t3code/packages/contracts/src/filesystem.d.ts +26 -0
  51. package/dist/upstream-t3code/packages/contracts/src/git.d.ts +500 -0
  52. package/dist/upstream-t3code/packages/contracts/src/index.d.ts +25 -0
  53. package/dist/upstream-t3code/packages/contracts/src/ipc.d.ts +490 -0
  54. package/dist/upstream-t3code/packages/contracts/src/keybindings.d.ts +133 -0
  55. package/dist/upstream-t3code/packages/contracts/src/model.d.ts +112 -0
  56. package/dist/upstream-t3code/packages/contracts/src/orchestration.d.ts +6682 -0
  57. package/dist/upstream-t3code/packages/contracts/src/project.d.ts +45 -0
  58. package/dist/upstream-t3code/packages/contracts/src/provider.d.ts +116 -0
  59. package/dist/upstream-t3code/packages/contracts/src/providerInstance.d.ts +99 -0
  60. package/dist/upstream-t3code/packages/contracts/src/providerRuntime.d.ts +4276 -0
  61. package/dist/upstream-t3code/packages/contracts/src/relay.d.ts +1262 -0
  62. package/dist/upstream-t3code/packages/contracts/src/relayClient.d.ts +48 -0
  63. package/dist/upstream-t3code/packages/contracts/src/remoteAccess.d.ts +45 -0
  64. package/dist/upstream-t3code/packages/contracts/src/review.d.ts +37 -0
  65. package/dist/upstream-t3code/packages/contracts/src/rpc.d.ts +8218 -0
  66. package/dist/upstream-t3code/packages/contracts/src/server.d.ts +2291 -0
  67. package/dist/upstream-t3code/packages/contracts/src/settings.d.ts +271 -0
  68. package/dist/upstream-t3code/packages/contracts/src/sourceControl.d.ts +177 -0
  69. package/dist/upstream-t3code/packages/contracts/src/terminal.d.ts +330 -0
  70. package/dist/upstream-t3code/packages/contracts/src/vcs.d.ts +148 -0
  71. package/package.json +15 -7
  72. package/src/application/model-selection.ts +2 -2
  73. package/src/application/project-commands.ts +1 -1
  74. package/src/application/service.ts +1 -1
  75. package/src/application/shell-sequence.ts +1 -1
  76. package/src/application/thread-commands.ts +1 -1
  77. package/src/application/thread-wait.ts +1 -1
  78. package/src/auth/error.ts +33 -1
  79. package/src/auth/layer.ts +11 -76
  80. package/src/auth/local.ts +342 -208
  81. package/src/auth/pairing.ts +44 -2
  82. package/src/auth/schema.ts +21 -28
  83. package/src/auth/service.ts +2 -2
  84. package/src/auth/transport.ts +59 -22
  85. package/src/auth/type.ts +0 -1
  86. package/src/cli/auth.ts +1 -3
  87. package/src/cli/model-format.ts +1 -1
  88. package/src/cli/project-format.ts +1 -1
  89. package/src/cli/thread-format.ts +1 -1
  90. package/src/domain/helpers.ts +1 -1
  91. package/src/domain/model-config.ts +1 -1
  92. package/src/domain/thread-lifecycle.ts +1 -1
  93. package/src/index.ts +3 -3
  94. package/src/orchestration/layer.ts +1 -1
  95. package/src/orchestration/service.ts +1 -1
  96. package/src/rpc/error.ts +1 -1
  97. package/src/rpc/layer.ts +2 -2
  98. package/src/rpc/ws-group.ts +1 -1
  99. package/src/runtime.ts +14 -1
  100. package/src/sql/node-sqlite-client.ts +141 -0
  101. package/src/sql/service.ts +21 -0
@@ -0,0 +1,3 @@
1
+ import * as Layer from "effect/Layer";
2
+ export declare const AuthAppLayer: Layer.Layer<import("./config/service.ts").T3Config | import("./auth/service.ts").T3Auth, never, import("./environment/service.ts").Environment | import("effect/Path").Path | import("effect/FileSystem").FileSystem | import("effect/Crypto").Crypto>;
3
+ export declare const AppLayer: Layer.Layer<import("./index.ts").T3Application | import("./config/service.ts").T3Config | import("./auth/service.ts").T3Auth | import("./orchestration/service.ts").T3Orchestration | import("./rpc/service.ts").T3Rpc, never, import("./environment/service.ts").Environment | import("effect/Path").Path | import("effect/FileSystem").FileSystem | import("effect/Crypto").Crypto>;
@@ -0,0 +1,10 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Layer from "effect/Layer";
3
+ import * as Scope from "effect/Scope";
4
+ import * as Reactivity from "effect/unstable/reactivity/Reactivity";
5
+ import * as SqlClient from "effect/unstable/sql/SqlClient";
6
+ import { SqlError } from "effect/unstable/sql/SqlError";
7
+ import { SqlClientFactory, type SqliteClientConfig } from "./service.ts";
8
+ export declare const makeNodeSqliteClient: (config: SqliteClientConfig) => Effect.Effect<SqlClient.SqlClient, SqlError, Scope.Scope | Reactivity.Reactivity>;
9
+ export declare const NodeSqliteClientLive: (config: SqliteClientConfig) => Layer.Layer<SqlClient.SqlClient, SqlError, never>;
10
+ export declare const NodeSqlClientFactoryLive: Layer.Layer<SqlClientFactory, never, never>;
@@ -0,0 +1,17 @@
1
+ import type * as Effect from "effect/Effect";
2
+ import * as Context from "effect/Context";
3
+ import type * as Scope from "effect/Scope";
4
+ import type * as SqlClient from "effect/unstable/sql/SqlClient";
5
+ import type { SqlError } from "effect/unstable/sql/SqlError";
6
+ export type SqliteClientConfig = {
7
+ readonly filename: string;
8
+ readonly transformResultNames?: ((str: string) => string) | undefined;
9
+ readonly transformQueryNames?: ((str: string) => string) | undefined;
10
+ };
11
+ export type SqlClientFactoryShape = {
12
+ readonly sqliteClient: (config: SqliteClientConfig) => Effect.Effect<SqlClient.SqlClient, SqlError, Scope.Scope>;
13
+ };
14
+ declare const SqlClientFactory_base: Context.ServiceClass<SqlClientFactory, "t3cli/SqlClientFactory", SqlClientFactoryShape>;
15
+ export declare class SqlClientFactory extends SqlClientFactory_base {
16
+ }
17
+ export {};
@@ -0,0 +1,441 @@
1
+ import * as Schema from "effect/Schema";
2
+ /**
3
+ * Declares the server's overall authentication posture.
4
+ *
5
+ * This is a high-level policy label that tells clients how the environment is
6
+ * expected to be accessed, not a transport detail and not an exhaustive list
7
+ * of every accepted credential.
8
+ *
9
+ * Typical usage:
10
+ * - rendered in auth/pairing UI so the user understands what kind of
11
+ * environment they are connecting to
12
+ * - used by clients to decide whether silent desktop bootstrap is expected or
13
+ * whether an explicit pairing flow should be shown
14
+ *
15
+ * Meanings:
16
+ * - `desktop-managed-local`: local desktop-managed environment with narrow
17
+ * trusted bootstrap, intended to avoid login prompts on the same machine
18
+ * - `loopback-browser`: standalone local server intended for browser pairing on
19
+ * the same machine
20
+ * - `remote-reachable`: environment intended to be reached from other devices
21
+ * or networks, where explicit pairing/auth is expected
22
+ * - `unsafe-no-auth`: intentionally unauthenticated mode; this is an explicit
23
+ * unsafe escape hatch, not a normal deployment mode
24
+ */
25
+ export declare const ServerAuthPolicy: Schema.Literals<readonly ["desktop-managed-local", "loopback-browser", "remote-reachable", "unsafe-no-auth"]>;
26
+ export type ServerAuthPolicy = typeof ServerAuthPolicy.Type;
27
+ /**
28
+ * A credential type that can be exchanged for a real authenticated session.
29
+ *
30
+ * Bootstrap methods are for establishing trust at the start of a connection or
31
+ * pairing flow. They are not the long-lived credential used for ordinary
32
+ * authenticated HTTP / WebSocket traffic after pairing succeeds.
33
+ *
34
+ * Current methods:
35
+ * - `desktop-bootstrap`: a trusted local desktop handoff, used so the desktop
36
+ * shell can pair the renderer without a login screen
37
+ * - `one-time-token`: a short-lived pairing token, suitable for manual pairing
38
+ * flows such as `/pair?token=...`
39
+ */
40
+ export declare const ServerAuthBootstrapMethod: Schema.Literals<readonly ["desktop-bootstrap", "one-time-token"]>;
41
+ export type ServerAuthBootstrapMethod = typeof ServerAuthBootstrapMethod.Type;
42
+ /**
43
+ * A credential type accepted for steady-state authenticated requests after a
44
+ * client has already paired.
45
+ *
46
+ * These methods are used by the server-wide auth layer for privileged HTTP and
47
+ * WebSocket access. They are distinct from bootstrap methods so clients can
48
+ * reason clearly about "pair first, then use session auth".
49
+ *
50
+ * Current methods:
51
+ * - `browser-session-cookie`: cookie-backed browser session, used by the web
52
+ * app after bootstrap/pairing
53
+ * - `bearer-access-token`: scoped token suitable for non-cookie or
54
+ * non-browser clients
55
+ * - `dpop-access-token`: scoped proof-of-possession token used by managed
56
+ * relay connections
57
+ */
58
+ export declare const ServerAuthSessionMethod: Schema.Literals<readonly ["browser-session-cookie", "bearer-access-token", "dpop-access-token"]>;
59
+ export type ServerAuthSessionMethod = typeof ServerAuthSessionMethod.Type;
60
+ export declare const AuthOrchestrationReadScope: "orchestration:read";
61
+ export declare const AuthOrchestrationOperateScope: "orchestration:operate";
62
+ export declare const AuthTerminalOperateScope: "terminal:operate";
63
+ export declare const AuthReviewWriteScope: "review:write";
64
+ export declare const AuthAccessReadScope: "access:read";
65
+ export declare const AuthAccessWriteScope: "access:write";
66
+ export declare const AuthRelayReadScope: "relay:read";
67
+ export declare const AuthRelayWriteScope: "relay:write";
68
+ export declare const AuthEnvironmentScope: Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>;
69
+ export type AuthEnvironmentScope = typeof AuthEnvironmentScope.Type;
70
+ export declare const AuthEnvironmentScopes: Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>;
71
+ export type AuthEnvironmentScopes = typeof AuthEnvironmentScopes.Type;
72
+ export declare const AuthStandardClientScopes: readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "relay:read"];
73
+ export declare const AuthAdministrativeScopes: readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "relay:read", "access:read", "access:write", "relay:write"];
74
+ export declare const AuthTokenExchangeGrantType: "urn:ietf:params:oauth:grant-type:token-exchange";
75
+ export declare const AuthAccessTokenType: "urn:ietf:params:oauth:token-type:access_token";
76
+ export declare const AuthEnvironmentBootstrapTokenType: "urn:t3:params:oauth:token-type:environment-bootstrap";
77
+ /**
78
+ * Server-advertised auth capabilities for a specific execution environment.
79
+ *
80
+ * Clients should treat this as the authoritative description of how that
81
+ * environment expects to be paired and how authenticated requests should be
82
+ * made afterward.
83
+ *
84
+ * Field meanings:
85
+ * - `policy`: high-level auth posture for the environment
86
+ * - `bootstrapMethods`: pairing/bootstrap methods the server is currently
87
+ * willing to accept
88
+ * - `sessionMethods`: authenticated request/session methods the server supports
89
+ * once pairing is complete
90
+ * - `sessionCookieName`: cookie name clients should expect when
91
+ * `browser-session-cookie` is in use
92
+ *
93
+ * This descriptor is intentionally capability-oriented. It lets clients choose
94
+ * the right UX without embedding server-specific auth logic or assuming a
95
+ * single access method.
96
+ */
97
+ export declare const ServerAuthDescriptor: Schema.Struct<{
98
+ readonly policy: Schema.Literals<readonly ["desktop-managed-local", "loopback-browser", "remote-reachable", "unsafe-no-auth"]>;
99
+ readonly bootstrapMethods: Schema.$Array<Schema.Literals<readonly ["desktop-bootstrap", "one-time-token"]>>;
100
+ readonly sessionMethods: Schema.$Array<Schema.Literals<readonly ["browser-session-cookie", "bearer-access-token", "dpop-access-token"]>>;
101
+ readonly sessionCookieName: Schema.decodeTo<Schema.String, Schema.String, never, never>;
102
+ }>;
103
+ export type ServerAuthDescriptor = typeof ServerAuthDescriptor.Type;
104
+ export declare const AuthBrowserSessionRequest: Schema.Struct<{
105
+ readonly credential: Schema.decodeTo<Schema.String, Schema.String, never, never>;
106
+ }>;
107
+ export type AuthBrowserSessionRequest = typeof AuthBrowserSessionRequest.Type;
108
+ export declare const AuthBrowserSessionResult: Schema.Struct<{
109
+ readonly authenticated: Schema.Literal<true>;
110
+ readonly scopes: Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>;
111
+ readonly sessionMethod: Schema.Literals<readonly ["browser-session-cookie", "bearer-access-token", "dpop-access-token"]>;
112
+ readonly expiresAt: Schema.DateTimeUtc;
113
+ }>;
114
+ export type AuthBrowserSessionResult = typeof AuthBrowserSessionResult.Type;
115
+ export declare const AuthClientMetadataDeviceType: Schema.Literals<readonly ["desktop", "mobile", "tablet", "bot", "unknown"]>;
116
+ export type AuthClientMetadataDeviceType = typeof AuthClientMetadataDeviceType.Type;
117
+ export declare const AuthClientPresentationMetadata: Schema.Struct<{
118
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
119
+ readonly deviceType: Schema.optionalKey<Schema.Literals<readonly ["desktop", "mobile", "tablet", "bot", "unknown"]>>;
120
+ readonly os: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
121
+ }>;
122
+ export type AuthClientPresentationMetadata = typeof AuthClientPresentationMetadata.Type;
123
+ export declare const AuthTokenExchangeRequest: Schema.Struct<{
124
+ readonly grant_type: Schema.Literal<"urn:ietf:params:oauth:grant-type:token-exchange">;
125
+ readonly subject_token: Schema.decodeTo<Schema.String, Schema.String, never, never>;
126
+ readonly subject_token_type: Schema.Literal<"urn:t3:params:oauth:token-type:environment-bootstrap">;
127
+ readonly requested_token_type: Schema.Literal<"urn:ietf:params:oauth:token-type:access_token">;
128
+ readonly scope: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
129
+ readonly client_label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
130
+ readonly client_device_type: Schema.optionalKey<Schema.Literals<readonly ["desktop", "mobile", "tablet", "bot", "unknown"]>>;
131
+ readonly client_os: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
132
+ }>;
133
+ export type AuthTokenExchangeRequest = typeof AuthTokenExchangeRequest.Type;
134
+ export declare const AuthAccessTokenResult: Schema.Struct<{
135
+ readonly access_token: Schema.decodeTo<Schema.String, Schema.String, never, never>;
136
+ readonly issued_token_type: Schema.Literal<"urn:ietf:params:oauth:token-type:access_token">;
137
+ readonly token_type: Schema.Literals<readonly ["Bearer", "DPoP"]>;
138
+ readonly expires_in: Schema.Number;
139
+ readonly scope: Schema.decodeTo<Schema.String, Schema.String, never, never>;
140
+ }>;
141
+ export type AuthAccessTokenResult = typeof AuthAccessTokenResult.Type;
142
+ export declare const AuthWebSocketTicketResult: Schema.Struct<{
143
+ readonly ticket: Schema.decodeTo<Schema.String, Schema.String, never, never>;
144
+ readonly expiresAt: Schema.DateTimeUtc;
145
+ }>;
146
+ export type AuthWebSocketTicketResult = typeof AuthWebSocketTicketResult.Type;
147
+ export declare const AuthPairingCredentialResult: Schema.Struct<{
148
+ readonly id: Schema.decodeTo<Schema.String, Schema.String, never, never>;
149
+ readonly credential: Schema.decodeTo<Schema.String, Schema.String, never, never>;
150
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
151
+ readonly expiresAt: Schema.DateTimeUtc;
152
+ }>;
153
+ export type AuthPairingCredentialResult = typeof AuthPairingCredentialResult.Type;
154
+ export declare const AuthPairingLink: Schema.Struct<{
155
+ readonly id: Schema.decodeTo<Schema.String, Schema.String, never, never>;
156
+ readonly credential: Schema.decodeTo<Schema.String, Schema.String, never, never>;
157
+ readonly scopes: Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>;
158
+ readonly subject: Schema.decodeTo<Schema.String, Schema.String, never, never>;
159
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
160
+ readonly createdAt: Schema.DateTimeUtc;
161
+ readonly expiresAt: Schema.DateTimeUtc;
162
+ }>;
163
+ export type AuthPairingLink = typeof AuthPairingLink.Type;
164
+ export declare const AuthClientMetadata: Schema.Struct<{
165
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
166
+ readonly ipAddress: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
167
+ readonly userAgent: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
168
+ readonly deviceType: Schema.Literals<readonly ["desktop", "mobile", "tablet", "bot", "unknown"]>;
169
+ readonly os: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
170
+ readonly browser: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
171
+ }>;
172
+ export type AuthClientMetadata = typeof AuthClientMetadata.Type;
173
+ export declare const AuthClientSession: Schema.Struct<{
174
+ readonly sessionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "AuthSessionId">;
175
+ readonly subject: Schema.decodeTo<Schema.String, Schema.String, never, never>;
176
+ readonly scopes: Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>;
177
+ readonly method: Schema.Literals<readonly ["browser-session-cookie", "bearer-access-token", "dpop-access-token"]>;
178
+ readonly client: Schema.Struct<{
179
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
180
+ readonly ipAddress: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
181
+ readonly userAgent: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
182
+ readonly deviceType: Schema.Literals<readonly ["desktop", "mobile", "tablet", "bot", "unknown"]>;
183
+ readonly os: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
184
+ readonly browser: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
185
+ }>;
186
+ readonly issuedAt: Schema.DateTimeUtc;
187
+ readonly expiresAt: Schema.DateTimeUtc;
188
+ readonly lastConnectedAt: Schema.NullOr<Schema.DateTimeUtc>;
189
+ readonly connected: Schema.Boolean;
190
+ readonly current: Schema.Boolean;
191
+ }>;
192
+ export type AuthClientSession = typeof AuthClientSession.Type;
193
+ export declare const AuthAccessSnapshot: Schema.Struct<{
194
+ readonly pairingLinks: Schema.$Array<Schema.Struct<{
195
+ readonly id: Schema.decodeTo<Schema.String, Schema.String, never, never>;
196
+ readonly credential: Schema.decodeTo<Schema.String, Schema.String, never, never>;
197
+ readonly scopes: Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>;
198
+ readonly subject: Schema.decodeTo<Schema.String, Schema.String, never, never>;
199
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
200
+ readonly createdAt: Schema.DateTimeUtc;
201
+ readonly expiresAt: Schema.DateTimeUtc;
202
+ }>>;
203
+ readonly clientSessions: Schema.$Array<Schema.Struct<{
204
+ readonly sessionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "AuthSessionId">;
205
+ readonly subject: Schema.decodeTo<Schema.String, Schema.String, never, never>;
206
+ readonly scopes: Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>;
207
+ readonly method: Schema.Literals<readonly ["browser-session-cookie", "bearer-access-token", "dpop-access-token"]>;
208
+ readonly client: Schema.Struct<{
209
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
210
+ readonly ipAddress: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
211
+ readonly userAgent: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
212
+ readonly deviceType: Schema.Literals<readonly ["desktop", "mobile", "tablet", "bot", "unknown"]>;
213
+ readonly os: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
214
+ readonly browser: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
215
+ }>;
216
+ readonly issuedAt: Schema.DateTimeUtc;
217
+ readonly expiresAt: Schema.DateTimeUtc;
218
+ readonly lastConnectedAt: Schema.NullOr<Schema.DateTimeUtc>;
219
+ readonly connected: Schema.Boolean;
220
+ readonly current: Schema.Boolean;
221
+ }>>;
222
+ }>;
223
+ export type AuthAccessSnapshot = typeof AuthAccessSnapshot.Type;
224
+ export declare const AuthAccessStreamSnapshotEvent: Schema.Struct<{
225
+ readonly version: Schema.Literal<1>;
226
+ readonly revision: Schema.Number;
227
+ readonly type: Schema.Literal<"snapshot">;
228
+ readonly payload: Schema.Struct<{
229
+ readonly pairingLinks: Schema.$Array<Schema.Struct<{
230
+ readonly id: Schema.decodeTo<Schema.String, Schema.String, never, never>;
231
+ readonly credential: Schema.decodeTo<Schema.String, Schema.String, never, never>;
232
+ readonly scopes: Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>;
233
+ readonly subject: Schema.decodeTo<Schema.String, Schema.String, never, never>;
234
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
235
+ readonly createdAt: Schema.DateTimeUtc;
236
+ readonly expiresAt: Schema.DateTimeUtc;
237
+ }>>;
238
+ readonly clientSessions: Schema.$Array<Schema.Struct<{
239
+ readonly sessionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "AuthSessionId">;
240
+ readonly subject: Schema.decodeTo<Schema.String, Schema.String, never, never>;
241
+ readonly scopes: Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>;
242
+ readonly method: Schema.Literals<readonly ["browser-session-cookie", "bearer-access-token", "dpop-access-token"]>;
243
+ readonly client: Schema.Struct<{
244
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
245
+ readonly ipAddress: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
246
+ readonly userAgent: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
247
+ readonly deviceType: Schema.Literals<readonly ["desktop", "mobile", "tablet", "bot", "unknown"]>;
248
+ readonly os: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
249
+ readonly browser: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
250
+ }>;
251
+ readonly issuedAt: Schema.DateTimeUtc;
252
+ readonly expiresAt: Schema.DateTimeUtc;
253
+ readonly lastConnectedAt: Schema.NullOr<Schema.DateTimeUtc>;
254
+ readonly connected: Schema.Boolean;
255
+ readonly current: Schema.Boolean;
256
+ }>>;
257
+ }>;
258
+ }>;
259
+ export type AuthAccessStreamSnapshotEvent = typeof AuthAccessStreamSnapshotEvent.Type;
260
+ export declare const AuthAccessStreamPairingLinkUpsertedEvent: Schema.Struct<{
261
+ readonly version: Schema.Literal<1>;
262
+ readonly revision: Schema.Number;
263
+ readonly type: Schema.Literal<"pairingLinkUpserted">;
264
+ readonly payload: Schema.Struct<{
265
+ readonly id: Schema.decodeTo<Schema.String, Schema.String, never, never>;
266
+ readonly credential: Schema.decodeTo<Schema.String, Schema.String, never, never>;
267
+ readonly scopes: Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>;
268
+ readonly subject: Schema.decodeTo<Schema.String, Schema.String, never, never>;
269
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
270
+ readonly createdAt: Schema.DateTimeUtc;
271
+ readonly expiresAt: Schema.DateTimeUtc;
272
+ }>;
273
+ }>;
274
+ export type AuthAccessStreamPairingLinkUpsertedEvent = typeof AuthAccessStreamPairingLinkUpsertedEvent.Type;
275
+ export declare const AuthAccessStreamPairingLinkRemovedEvent: Schema.Struct<{
276
+ readonly version: Schema.Literal<1>;
277
+ readonly revision: Schema.Number;
278
+ readonly type: Schema.Literal<"pairingLinkRemoved">;
279
+ readonly payload: Schema.Struct<{
280
+ readonly id: Schema.decodeTo<Schema.String, Schema.String, never, never>;
281
+ }>;
282
+ }>;
283
+ export type AuthAccessStreamPairingLinkRemovedEvent = typeof AuthAccessStreamPairingLinkRemovedEvent.Type;
284
+ declare const AuthAccessStreamError_base: Schema.Class<AuthAccessStreamError, Schema.TaggedStruct<"AuthAccessStreamError", {
285
+ readonly message: Schema.String;
286
+ }>, import("effect/Cause").YieldableError>;
287
+ export declare class AuthAccessStreamError extends AuthAccessStreamError_base {
288
+ }
289
+ declare const EnvironmentAuthorizationError_base: Schema.Class<EnvironmentAuthorizationError, Schema.TaggedStruct<"EnvironmentAuthorizationError", {
290
+ readonly message: Schema.String;
291
+ readonly requiredScope: Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>;
292
+ }>, import("effect/Cause").YieldableError>;
293
+ export declare class EnvironmentAuthorizationError extends EnvironmentAuthorizationError_base {
294
+ }
295
+ export declare const AuthAccessStreamClientUpsertedEvent: Schema.Struct<{
296
+ readonly version: Schema.Literal<1>;
297
+ readonly revision: Schema.Number;
298
+ readonly type: Schema.Literal<"clientUpserted">;
299
+ readonly payload: Schema.Struct<{
300
+ readonly sessionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "AuthSessionId">;
301
+ readonly subject: Schema.decodeTo<Schema.String, Schema.String, never, never>;
302
+ readonly scopes: Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>;
303
+ readonly method: Schema.Literals<readonly ["browser-session-cookie", "bearer-access-token", "dpop-access-token"]>;
304
+ readonly client: Schema.Struct<{
305
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
306
+ readonly ipAddress: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
307
+ readonly userAgent: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
308
+ readonly deviceType: Schema.Literals<readonly ["desktop", "mobile", "tablet", "bot", "unknown"]>;
309
+ readonly os: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
310
+ readonly browser: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
311
+ }>;
312
+ readonly issuedAt: Schema.DateTimeUtc;
313
+ readonly expiresAt: Schema.DateTimeUtc;
314
+ readonly lastConnectedAt: Schema.NullOr<Schema.DateTimeUtc>;
315
+ readonly connected: Schema.Boolean;
316
+ readonly current: Schema.Boolean;
317
+ }>;
318
+ }>;
319
+ export type AuthAccessStreamClientUpsertedEvent = typeof AuthAccessStreamClientUpsertedEvent.Type;
320
+ export declare const AuthAccessStreamClientRemovedEvent: Schema.Struct<{
321
+ readonly version: Schema.Literal<1>;
322
+ readonly revision: Schema.Number;
323
+ readonly type: Schema.Literal<"clientRemoved">;
324
+ readonly payload: Schema.Struct<{
325
+ readonly sessionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "AuthSessionId">;
326
+ }>;
327
+ }>;
328
+ export type AuthAccessStreamClientRemovedEvent = typeof AuthAccessStreamClientRemovedEvent.Type;
329
+ export declare const AuthAccessStreamEvent: Schema.Union<readonly [Schema.Struct<{
330
+ readonly version: Schema.Literal<1>;
331
+ readonly revision: Schema.Number;
332
+ readonly type: Schema.Literal<"snapshot">;
333
+ readonly payload: Schema.Struct<{
334
+ readonly pairingLinks: Schema.$Array<Schema.Struct<{
335
+ readonly id: Schema.decodeTo<Schema.String, Schema.String, never, never>;
336
+ readonly credential: Schema.decodeTo<Schema.String, Schema.String, never, never>;
337
+ readonly scopes: Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>;
338
+ readonly subject: Schema.decodeTo<Schema.String, Schema.String, never, never>;
339
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
340
+ readonly createdAt: Schema.DateTimeUtc;
341
+ readonly expiresAt: Schema.DateTimeUtc;
342
+ }>>;
343
+ readonly clientSessions: Schema.$Array<Schema.Struct<{
344
+ readonly sessionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "AuthSessionId">;
345
+ readonly subject: Schema.decodeTo<Schema.String, Schema.String, never, never>;
346
+ readonly scopes: Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>;
347
+ readonly method: Schema.Literals<readonly ["browser-session-cookie", "bearer-access-token", "dpop-access-token"]>;
348
+ readonly client: Schema.Struct<{
349
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
350
+ readonly ipAddress: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
351
+ readonly userAgent: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
352
+ readonly deviceType: Schema.Literals<readonly ["desktop", "mobile", "tablet", "bot", "unknown"]>;
353
+ readonly os: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
354
+ readonly browser: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
355
+ }>;
356
+ readonly issuedAt: Schema.DateTimeUtc;
357
+ readonly expiresAt: Schema.DateTimeUtc;
358
+ readonly lastConnectedAt: Schema.NullOr<Schema.DateTimeUtc>;
359
+ readonly connected: Schema.Boolean;
360
+ readonly current: Schema.Boolean;
361
+ }>>;
362
+ }>;
363
+ }>, Schema.Struct<{
364
+ readonly version: Schema.Literal<1>;
365
+ readonly revision: Schema.Number;
366
+ readonly type: Schema.Literal<"pairingLinkUpserted">;
367
+ readonly payload: Schema.Struct<{
368
+ readonly id: Schema.decodeTo<Schema.String, Schema.String, never, never>;
369
+ readonly credential: Schema.decodeTo<Schema.String, Schema.String, never, never>;
370
+ readonly scopes: Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>;
371
+ readonly subject: Schema.decodeTo<Schema.String, Schema.String, never, never>;
372
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
373
+ readonly createdAt: Schema.DateTimeUtc;
374
+ readonly expiresAt: Schema.DateTimeUtc;
375
+ }>;
376
+ }>, Schema.Struct<{
377
+ readonly version: Schema.Literal<1>;
378
+ readonly revision: Schema.Number;
379
+ readonly type: Schema.Literal<"pairingLinkRemoved">;
380
+ readonly payload: Schema.Struct<{
381
+ readonly id: Schema.decodeTo<Schema.String, Schema.String, never, never>;
382
+ }>;
383
+ }>, Schema.Struct<{
384
+ readonly version: Schema.Literal<1>;
385
+ readonly revision: Schema.Number;
386
+ readonly type: Schema.Literal<"clientUpserted">;
387
+ readonly payload: Schema.Struct<{
388
+ readonly sessionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "AuthSessionId">;
389
+ readonly subject: Schema.decodeTo<Schema.String, Schema.String, never, never>;
390
+ readonly scopes: Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>;
391
+ readonly method: Schema.Literals<readonly ["browser-session-cookie", "bearer-access-token", "dpop-access-token"]>;
392
+ readonly client: Schema.Struct<{
393
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
394
+ readonly ipAddress: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
395
+ readonly userAgent: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
396
+ readonly deviceType: Schema.Literals<readonly ["desktop", "mobile", "tablet", "bot", "unknown"]>;
397
+ readonly os: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
398
+ readonly browser: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
399
+ }>;
400
+ readonly issuedAt: Schema.DateTimeUtc;
401
+ readonly expiresAt: Schema.DateTimeUtc;
402
+ readonly lastConnectedAt: Schema.NullOr<Schema.DateTimeUtc>;
403
+ readonly connected: Schema.Boolean;
404
+ readonly current: Schema.Boolean;
405
+ }>;
406
+ }>, Schema.Struct<{
407
+ readonly version: Schema.Literal<1>;
408
+ readonly revision: Schema.Number;
409
+ readonly type: Schema.Literal<"clientRemoved">;
410
+ readonly payload: Schema.Struct<{
411
+ readonly sessionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "AuthSessionId">;
412
+ }>;
413
+ }>]>;
414
+ export type AuthAccessStreamEvent = typeof AuthAccessStreamEvent.Type;
415
+ export declare const AuthRevokePairingLinkInput: Schema.Struct<{
416
+ readonly id: Schema.decodeTo<Schema.String, Schema.String, never, never>;
417
+ }>;
418
+ export type AuthRevokePairingLinkInput = typeof AuthRevokePairingLinkInput.Type;
419
+ export declare const AuthRevokeClientSessionInput: Schema.Struct<{
420
+ readonly sessionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "AuthSessionId">;
421
+ }>;
422
+ export type AuthRevokeClientSessionInput = typeof AuthRevokeClientSessionInput.Type;
423
+ export declare const AuthCreatePairingCredentialInput: Schema.Struct<{
424
+ readonly label: Schema.optionalKey<Schema.decodeTo<Schema.String, Schema.String, never, never>>;
425
+ readonly scopes: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>>;
426
+ }>;
427
+ export type AuthCreatePairingCredentialInput = typeof AuthCreatePairingCredentialInput.Type;
428
+ export declare const AuthSessionState: Schema.Struct<{
429
+ readonly authenticated: Schema.Boolean;
430
+ readonly auth: Schema.Struct<{
431
+ readonly policy: Schema.Literals<readonly ["desktop-managed-local", "loopback-browser", "remote-reachable", "unsafe-no-auth"]>;
432
+ readonly bootstrapMethods: Schema.$Array<Schema.Literals<readonly ["desktop-bootstrap", "one-time-token"]>>;
433
+ readonly sessionMethods: Schema.$Array<Schema.Literals<readonly ["browser-session-cookie", "bearer-access-token", "dpop-access-token"]>>;
434
+ readonly sessionCookieName: Schema.decodeTo<Schema.String, Schema.String, never, never>;
435
+ }>;
436
+ readonly scopes: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["orchestration:read", "orchestration:operate", "terminal:operate", "review:write", "access:read", "access:write", "relay:read", "relay:write"]>>>;
437
+ readonly sessionMethod: Schema.optionalKey<Schema.Literals<readonly ["browser-session-cookie", "bearer-access-token", "dpop-access-token"]>>;
438
+ readonly expiresAt: Schema.optionalKey<Schema.DateTimeUtc>;
439
+ }>;
440
+ export type AuthSessionState = typeof AuthSessionState.Type;
441
+ export {};
@@ -0,0 +1,38 @@
1
+ import * as Schema from "effect/Schema";
2
+ export declare const TrimmedString: Schema.decodeTo<Schema.String, Schema.String, never, never>;
3
+ export declare const TrimmedNonEmptyString: Schema.decodeTo<Schema.String, Schema.String, never, never>;
4
+ export declare const NonNegativeInt: Schema.Int;
5
+ export declare const PositiveInt: Schema.Int;
6
+ export declare const PortSchema: Schema.Int;
7
+ export declare const IsoDateTime: Schema.String;
8
+ export type IsoDateTime = typeof IsoDateTime.Type;
9
+ export declare const ThreadId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "ThreadId">;
10
+ export type ThreadId = typeof ThreadId.Type;
11
+ export declare const ProjectId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "ProjectId">;
12
+ export type ProjectId = typeof ProjectId.Type;
13
+ export declare const EnvironmentId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "EnvironmentId">;
14
+ export type EnvironmentId = typeof EnvironmentId.Type;
15
+ export declare const CommandId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "CommandId">;
16
+ export type CommandId = typeof CommandId.Type;
17
+ export declare const EventId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "EventId">;
18
+ export type EventId = typeof EventId.Type;
19
+ export declare const MessageId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "MessageId">;
20
+ export type MessageId = typeof MessageId.Type;
21
+ export declare const TurnId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "TurnId">;
22
+ export type TurnId = typeof TurnId.Type;
23
+ export declare const AuthSessionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "AuthSessionId">;
24
+ export type AuthSessionId = typeof AuthSessionId.Type;
25
+ export declare const ProviderItemId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "ProviderItemId">;
26
+ export type ProviderItemId = typeof ProviderItemId.Type;
27
+ export declare const RuntimeSessionId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "RuntimeSessionId">;
28
+ export type RuntimeSessionId = typeof RuntimeSessionId.Type;
29
+ export declare const RuntimeItemId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "RuntimeItemId">;
30
+ export type RuntimeItemId = typeof RuntimeItemId.Type;
31
+ export declare const RuntimeRequestId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "RuntimeRequestId">;
32
+ export type RuntimeRequestId = typeof RuntimeRequestId.Type;
33
+ export declare const RuntimeTaskId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "RuntimeTaskId">;
34
+ export type RuntimeTaskId = typeof RuntimeTaskId.Type;
35
+ export declare const ApprovalRequestId: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "ApprovalRequestId">;
36
+ export type ApprovalRequestId = typeof ApprovalRequestId.Type;
37
+ export declare const CheckpointRef: Schema.brand<Schema.decodeTo<Schema.String, Schema.String, never, never>, "CheckpointRef">;
38
+ export type CheckpointRef = typeof CheckpointRef.Type;
@@ -0,0 +1,14 @@
1
+ import * as Schema from "effect/Schema";
2
+ export declare const DesktopBackendBootstrap: Schema.Struct<{
3
+ readonly mode: Schema.Literal<"desktop">;
4
+ readonly noBrowser: Schema.Boolean;
5
+ readonly port: Schema.Int;
6
+ readonly t3Home: Schema.String;
7
+ readonly host: Schema.String;
8
+ readonly desktopBootstrapToken: Schema.String;
9
+ readonly tailscaleServeEnabled: Schema.Boolean;
10
+ readonly tailscaleServePort: Schema.Int;
11
+ readonly otlpTracesUrl: Schema.optional<Schema.String>;
12
+ readonly otlpMetricsUrl: Schema.optional<Schema.String>;
13
+ }>;
14
+ export type DesktopBackendBootstrap = typeof DesktopBackendBootstrap.Type;