authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-10-13 21:48:43-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-10-14 04:48:43+00:00
logcb65643b076c79cfe39a5197553b143889da64ab
treea1b5ea048988cfaf106ca0671a64051e59ba6089
parent107f6024ea4786a58a83c921728a113b849de192
signature Signed by PGP key B5690EEEBB952194

chore(deps): Effect 4.0.4 and OpenCode 2.0.28, dropping the patches they made unnecessary (#19213)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

78 files changed, 663 insertions(+), 2188 deletions(-)

apps/desktop/src/app/DesktopApp.ts+1-1
...@@ -42,7 +42,7 @@ const MAX_TCP_PORT = 65_535;...@@ -42,7 +42,7 @@ const MAX_TCP_PORT = 65_535;
42const DESKTOP_BACKEND_PORT_PROBE_HOSTS = ["127.0.0.1", "0.0.0.0", "::"] as const;42const DESKTOP_BACKEND_PORT_PROBE_HOSTS = ["127.0.0.1", "0.0.0.0", "::"] as const;
4343
44const makeDesktopRunId = Crypto.Crypto.pipe(44const makeDesktopRunId = Crypto.Crypto.pipe(
45 Effect.flatMap((crypto) => crypto.randomUUIDv4),45 Effect.flatMap((crypto) => crypto.randomUUIDv4()),
46 Effect.map((value) => value.replaceAll("-", "").slice(0, 12)),46 Effect.map((value) => value.replaceAll("-", "").slice(0, 12)),
47);47);
4848
apps/desktop/src/app/DesktopConnectionCatalogStore.ts+1-1
...@@ -411,7 +411,7 @@ export const make = Effect.gen(function* () {...@@ -411,7 +411,7 @@ export const make = Effect.gen(function* () {
411 ),411 ),
412 ),412 ),
413 );413 );
414 const suffix = (yield* crypto.randomUUIDv4.pipe(414 const suffix = (yield* crypto.randomUUIDv4().pipe(
415 Effect.mapError(415 Effect.mapError(
416 (cause) =>416 (cause) =>
417 new DesktopConnectionCatalogStoreWriteError({417 new DesktopConnectionCatalogStoreWriteError({
apps/desktop/src/preview/Manager.ts+1-1
...@@ -2501,7 +2501,7 @@ const makeNativeOperations = Effect.fn("PreviewManager.makeOperations")(function...@@ -2501,7 +2501,7 @@ const makeNativeOperations = Effect.fn("PreviewManager.makeOperations")(function
2501 wc,2501 wc,
2502 ),2502 ),
2503 ]);2503 ]);
2504 const uuid = yield* crypto.randomUUIDv4.pipe(Effect.orDie);2504 const uuid = yield* crypto.randomUUIDv4().pipe(Effect.orDie);
2505 const id = `browser-screenshot-${artifactSiteSlug(wc.getURL())}-${millis.toString(36)}-${uuid.slice(0, 8)}`;2505 const id = `browser-screenshot-${artifactSiteSlug(wc.getURL())}-${millis.toString(36)}-${uuid.slice(0, 8)}`;
2506 const artifactPath = path.join(resolvedArtifactDirectory, `${id}.png`);2506 const artifactPath = path.join(resolvedArtifactDirectory, `${id}.png`);
2507 const data = image.toPNG();2507 const data = image.toPNG();
apps/desktop/src/settings/DesktopAppSettings.ts+1-1
...@@ -504,7 +504,7 @@ export const make = Effect.gen(function* () {...@@ -504,7 +504,7 @@ export const make = Effect.gen(function* () {
504 return Effect.succeed([settingsChange(settings, false), settings] as const);504 return Effect.succeed([settingsChange(settings, false), settings] as const);
505 }505 }
506506
507 return crypto.randomUUIDv4.pipe(507 return crypto.randomUUIDv4().pipe(
508 Effect.map((uuid) => uuid.replace(/-/g, "")),508 Effect.map((uuid) => uuid.replace(/-/g, "")),
509 Effect.mapError(509 Effect.mapError(
510 (cause) =>510 (cause) =>
apps/desktop/src/settings/DesktopClientSettings.ts+1-1
...@@ -195,7 +195,7 @@ export const make = Effect.gen(function* () {...@@ -195,7 +195,7 @@ export const make = Effect.gen(function* () {
195 Effect.withSpan("desktop.clientSettings.get"),195 Effect.withSpan("desktop.clientSettings.get"),
196 ),196 ),
197 set: (settings) =>197 set: (settings) =>
198 crypto.randomUUIDv4.pipe(198 crypto.randomUUIDv4().pipe(
199 Effect.map((uuid) => uuid.replace(/-/g, "")),199 Effect.map((uuid) => uuid.replace(/-/g, "")),
200 Effect.mapError(200 Effect.mapError(
201 (cause) =>201 (cause) =>
apps/desktop/src/snapShot/DesktopSnapShot.ts+1-1
...@@ -858,7 +858,7 @@ export const make = Effect.gen(function* () {...@@ -858,7 +858,7 @@ export const make = Effect.gen(function* () {
858 const prepareCapture = Effect.fn("desktop.snapShot.prepareCapture")(function* (858 const prepareCapture = Effect.fn("desktop.snapShot.prepareCapture")(function* (
859 settings: ClientSettings,859 settings: ClientSettings,
860 ) {860 ) {
861 const id = yield* crypto.randomUUIDv4.pipe(Effect.mapError((cause) => captureFailure(cause)));861 const id = yield* crypto.randomUUIDv4().pipe(Effect.mapError((cause) => captureFailure(cause)));
862 const mode = captureMode(environment.platform);862 const mode = captureMode(environment.platform);
863 if (mode === "unavailable") {863 if (mode === "unavailable") {
864 return yield* new DesktopSnapShotError({ operation: "unsupported", captureId: id });864 return yield* new DesktopSnapShotError({ operation: "unsupported", captureId: id });
apps/desktop/src/ssh/DesktopSshPasswordPrompts.ts+1-1
...@@ -307,7 +307,7 @@ export const make = Effect.fn("desktop.sshPasswordPrompts.make")(function* (...@@ -307,7 +307,7 @@ export const make = Effect.fn("desktop.sshPasswordPrompts.make")(function* (
307 });307 });
308 }308 }
309309
310 const requestId = yield* crypto.randomUUIDv4.pipe(310 const requestId = yield* crypto.randomUUIDv4().pipe(
311 Effect.mapError(311 Effect.mapError(
312 (cause) =>312 (cause) =>
313 new DesktopSshPromptRequestIdGenerationError({313 new DesktopSshPromptRequestIdGenerationError({
apps/mobile/src/features/cloud/dpop.ts+1-1
...@@ -261,7 +261,7 @@ export function createDpopProof(input: {...@@ -261,7 +261,7 @@ export function createDpopProof(input: {
261 });261 });
262 const nowMs = yield* Clock.currentTimeMillis;262 const nowMs = yield* Clock.currentTimeMillis;
263 const jti = yield* Crypto.Crypto.pipe(263 const jti = yield* Crypto.Crypto.pipe(
264 Effect.flatMap((crypto) => crypto.randomUUIDv4),264 Effect.flatMap((crypto) => crypto.randomUUIDv4()),
265 Effect.mapError(cloudDpopError("Could not generate DPoP proof identifier.")),265 Effect.mapError(cloudDpopError("Could not generate DPoP proof identifier.")),
266 );266 );
267 const htu = yield* normalizeHtu(input.url);267 const htu = yield* normalizeHtu(input.url);
apps/server/src/assets/AttachmentUpload.ts+1-1
...@@ -170,7 +170,7 @@ export const storeAttachmentUpload = Effect.fn("AttachmentUpload.store")(functio...@@ -170,7 +170,7 @@ export const storeAttachmentUpload = Effect.fn("AttachmentUpload.store")(functio
170 relativePath,170 relativePath,
171 });171 });
172 const crypto = yield* Crypto.Crypto;172 const crypto = yield* Crypto.Crypto;
173 const partId = yield* crypto.randomUUIDv4.pipe(Effect.orDie);173 const partId = yield* crypto.randomUUIDv4().pipe(Effect.orDie);
174 const partPath = resolveAttachmentRelativePath({174 const partPath = resolveAttachmentRelativePath({
175 attachmentsDir: config.attachmentsDir,175 attachmentsDir: config.attachmentsDir,
176 relativePath: `${relativePath}.${partId}.part`,176 relativePath: `${relativePath}.${partId}.part`,
apps/server/src/assets/NativeAppIconResolver.ts+1-1
...@@ -190,7 +190,7 @@ const resolveNativeAppIconUncached = Effect.fn("NativeAppIconResolver.resolveUnc...@@ -190,7 +190,7 @@ const resolveNativeAppIconUncached = Effect.fn("NativeAppIconResolver.resolveUnc
190 yield* fileSystem.makeDirectory(cacheDirectory, { recursive: true });190 yield* fileSystem.makeDirectory(cacheDirectory, { recursive: true });
191 const temporaryPath = path.join(191 const temporaryPath = path.join(
192 cacheDirectory,192 cacheDirectory,
193 `.${cacheKey}-${process.pid}-${(yield* Clock.currentTimeMillis).toString(36)}-${yield* crypto.randomUUIDv4.pipe(Effect.orDie)}.png`,193 `.${cacheKey}-${process.pid}-${(yield* Clock.currentTimeMillis).toString(36)}-${yield* crypto.randomUUIDv4().pipe(Effect.orDie)}.png`,
194 );194 );
195 yield* commandOutput("/usr/bin/sips", [195 yield* commandOutput("/usr/bin/sips", [
196 "-z",196 "-z",
apps/server/src/auth/PairingGrantStore.ts+8-5
...@@ -398,11 +398,14 @@ export const make = Effect.gen(function* () {...@@ -398,11 +398,14 @@ export const make = Effect.gen(function* () {
398 const issueOneTimeToken: PairingGrantStore["Service"]["issueOneTimeToken"] = Effect.fn(398 const issueOneTimeToken: PairingGrantStore["Service"]["issueOneTimeToken"] = Effect.fn(
399 "PairingGrantStore.issueOneTimeToken",399 "PairingGrantStore.issueOneTimeToken",
400 )(function* (input) {400 )(function* (input) {
401 const id = yield* crypto.randomUUIDv4.pipe(401 const id = yield* crypto
402 Effect.mapError(402 .randomUUIDv4()
403 (cause) => new PairingCredentialRandomGenerationError({ operation: "generate-id", cause }),403 .pipe(
404 ),404 Effect.mapError(
405 );405 (cause) =>
406 new PairingCredentialRandomGenerationError({ operation: "generate-id", cause }),
407 ),
408 );
406 const credential = yield* generatePairingToken;409 const credential = yield* generatePairingToken;
407 const isDevStartupToken = config.devUrl !== undefined && input?.purpose === "startup";410 const isDevStartupToken = config.devUrl !== undefined && input?.purpose === "startup";
408 const ttl =411 const ttl =
apps/server/src/auth/ServerSecretStore.ts+1-1
...@@ -189,7 +189,7 @@ export const make = Effect.gen(function* () {...@@ -189,7 +189,7 @@ export const make = Effect.gen(function* () {
189189
190 const set: ServerSecretStore["Service"]["set"] = (name, value) => {190 const set: ServerSecretStore["Service"]["set"] = (name, value) => {
191 const secretPath = resolveSecretPath(name);191 const secretPath = resolveSecretPath(name);
192 return crypto.randomUUIDv4.pipe(192 return crypto.randomUUIDv4().pipe(
193 Effect.mapError(193 Effect.mapError(
194 (cause) =>194 (cause) =>
195 new SecretStoreTemporaryPathError({195 new SecretStoreTemporaryPathError({
apps/server/src/auth/SessionStore.ts+3-3
...@@ -660,9 +660,9 @@ export const make = Effect.gen(function* () {...@@ -660,9 +660,9 @@ export const make = Effect.gen(function* () {
660 const issue: SessionStore["Service"]["issue"] = Effect.fn("SessionStore.issue")(660 const issue: SessionStore["Service"]["issue"] = Effect.fn("SessionStore.issue")(
661 function* (input) {661 function* (input) {
662 const sessionId = AuthSessionId.make(662 const sessionId = AuthSessionId.make(
663 yield* crypto.randomUUIDv4.pipe(663 yield* crypto
664 Effect.mapError((cause) => new SessionCredentialIssueError({ cause })),664 .randomUUIDv4()
665 ),665 .pipe(Effect.mapError((cause) => new SessionCredentialIssueError({ cause }))),
666 );666 );
667 const issuedAt = yield* DateTime.now;667 const issuedAt = yield* DateTime.now;
668 const expiresAt = DateTime.add(issuedAt, {668 const expiresAt = DateTime.add(issuedAt, {
apps/server/src/cli/app.ts+1-1
...@@ -209,7 +209,7 @@ const runAppCommand = Effect.fn("cli.app")(function* (flags: {...@@ -209,7 +209,7 @@ const runAppCommand = Effect.fn("cli.app")(function* (flags: {
209 joinPath: path.join,209 joinPath: path.join,
210 }).address;210 }).address;
211 const crypto = yield* Crypto.Crypto;211 const crypto = yield* Crypto.Crypto;
212 const requestId = yield* crypto.randomUUIDv4.pipe(Effect.orDie);212 const requestId = yield* crypto.randomUUIDv4().pipe(Effect.orDie);
213 const request: DesktopAppActivationRequest = {213 const request: DesktopAppActivationRequest = {
214 version: DESKTOP_APP_ACTIVATION_PROTOCOL_VERSION,214 version: DESKTOP_APP_ACTIVATION_PROTOCOL_VERSION,
215 requestId,215 requestId,
apps/server/src/cli/project.ts+1-1
...@@ -188,7 +188,7 @@ export function projectCommandErrorFromLiveServerRequest(cause: unknown): Projec...@@ -188,7 +188,7 @@ export function projectCommandErrorFromLiveServerRequest(cause: unknown): Projec
188}188}
189189
190const projectCommandUuid = Crypto.Crypto.pipe(190const projectCommandUuid = Crypto.Crypto.pipe(
191 Effect.flatMap((crypto) => crypto.randomUUIDv4),191 Effect.flatMap((crypto) => crypto.randomUUIDv4()),
192 Effect.mapError(192 Effect.mapError(
193 (cause) =>193 (cause) =>
194 new ProjectCommandIdGenerationError({194 new ProjectCommandIdGenerationError({
apps/server/src/cloud/CloudLink.ts+4-4
...@@ -647,7 +647,7 @@ const make = Effect.gen(function* () {...@@ -647,7 +647,7 @@ const make = Effect.gen(function* () {
647 iss: `t3-env:${descriptor.environmentId}`,647 iss: `t3-env:${descriptor.environmentId}`,
648 aud: normalizeRelayIssuer(request.relayIssuer),648 aud: normalizeRelayIssuer(request.relayIssuer),
649 sub: descriptor.environmentId,649 sub: descriptor.environmentId,
650 jti: yield* crypto.randomUUIDv4,650 jti: yield* crypto.randomUUIDv4(),
651 iat: nowSeconds,651 iat: nowSeconds,
652 exp: Math.floor(expiresAt.epochMilliseconds / 1_000),652 exp: Math.floor(expiresAt.epochMilliseconds / 1_000),
653 challenge: request.challenge,653 challenge: request.challenge,
...@@ -984,7 +984,7 @@ const make = Effect.gen(function* () {...@@ -984,7 +984,7 @@ const make = Effect.gen(function* () {
984 Option.isSome(configuredIssuer) ? bytesToString(configuredIssuer.value) : input.relayUrl,984 Option.isSome(configuredIssuer) ? bytesToString(configuredIssuer.value) : input.relayUrl,
985 ),985 ),
986 sub: input.environmentId,986 sub: input.environmentId,
987 jti: yield* crypto.randomUUIDv4,987 jti: yield* crypto.randomUUIDv4(),
988 iat: issuedAt,988 iat: issuedAt,
989 exp: issuedAt + 60,989 exp: issuedAt + 60,
990 environmentId: input.environmentId,990 environmentId: input.environmentId,
...@@ -1517,7 +1517,7 @@ const make = Effect.gen(function* () {...@@ -1517,7 +1517,7 @@ const make = Effect.gen(function* () {
1517 iss: `t3-env:${environmentId}`,1517 iss: `t3-env:${environmentId}`,
1518 aud: normalizeRelayIssuer(relayIssuer),1518 aud: normalizeRelayIssuer(relayIssuer),
1519 sub: environmentId,1519 sub: environmentId,
1520 jti: yield* crypto.randomUUIDv4,1520 jti: yield* crypto.randomUUIDv4(),
1521 iat: nowSeconds,1521 iat: nowSeconds,
1522 exp: Math.floor(responseExpiresAt.epochMilliseconds / 1_000),1522 exp: Math.floor(responseExpiresAt.epochMilliseconds / 1_000),
1523 environmentId,1523 environmentId,
...@@ -1627,7 +1627,7 @@ const make = Effect.gen(function* () {...@@ -1627,7 +1627,7 @@ const make = Effect.gen(function* () {
1627 iss: `t3-env:${environmentId}`,1627 iss: `t3-env:${environmentId}`,
1628 aud: normalizeRelayIssuer(relayIssuer),1628 aud: normalizeRelayIssuer(relayIssuer),
1629 sub: environmentId,1629 sub: environmentId,
1630 jti: yield* crypto.randomUUIDv4,1630 jti: yield* crypto.randomUUIDv4(),
1631 iat: nowSeconds,1631 iat: nowSeconds,
1632 exp: Math.floor(issued.expiresAt.epochMilliseconds / 1_000),1632 exp: Math.floor(issued.expiresAt.epochMilliseconds / 1_000),
1633 environmentId,1633 environmentId,
apps/server/src/desktopUpdate/DesktopAppUpdate.ts+7-5
...@@ -156,11 +156,13 @@ export const make = Effect.fn("desktopUpdate.desktopAppUpdate.make")(function* (...@@ -156,11 +156,13 @@ export const make = Effect.fn("desktopUpdate.desktopAppUpdate.make")(function* (
156156
157 return yield* Effect.scoped(157 return yield* Effect.scoped(
158 Effect.gen(function* () {158 Effect.gen(function* () {
159 const requestId = yield* crypto.randomUUIDv4.pipe(159 const requestId = yield* crypto
160 Effect.mapError((error) =>160 .randomUUIDv4()
161 failWith("Could not generate a desktop update request id.", error),161 .pipe(
162 ),162 Effect.mapError((error) =>
163 );163 failWith("Could not generate a desktop update request id.", error),
164 ),
165 );
164 // Subscribe before sending the request so a fast first report166 // Subscribe before sending the request so a fast first report
165 // cannot be missed.167 // cannot be missed.
166 const { changes } = yield* receiver.desktopUpdates;168 const { changes } = yield* receiver.desktopUpdates;
apps/server/src/environment/ServerEnvironment.test.ts+9-8
...@@ -171,14 +171,15 @@ it.layer(NodeServices.layer)("ServerEnvironmentLive", (it) => {...@@ -171,14 +171,15 @@ it.layer(NodeServices.layer)("ServerEnvironmentLive", (it) => {
171 }),171 }),
172 Effect.provideService(Crypto.Crypto, {172 Effect.provideService(Crypto.Crypto, {
173 ...crypto,173 ...crypto,
174 randomUUIDv4: Effect.gen(function* () {174 randomUUIDv4: (() =>
175 const id = yield* crypto.randomUUIDv4;175 Effect.gen(function* () {
176 if (--remaining === 0) {176 const id = yield* crypto.randomUUIDv4();
177 yield* Deferred.succeed(bothGenerated, undefined);177 if (--remaining === 0) {
178 }178 yield* Deferred.succeed(bothGenerated, undefined);
179 yield* Deferred.await(bothGenerated);179 }
180 return id;180 yield* Deferred.await(bothGenerated);
181 }),181 return id;
182 })) as Crypto.Crypto["randomUUIDv4"],
182 }),183 }),
183 );184 );
184185
apps/server/src/environment/ServerEnvironment.ts+1-1
...@@ -158,7 +158,7 @@ const makeIdentity = Effect.gen(function* () {...@@ -158,7 +158,7 @@ const makeIdentity = Effect.gen(function* () {
158 return persisted;158 return persisted;
159 }159 }
160160
161 const generated = yield* crypto.randomUUIDv4;161 const generated = yield* crypto.randomUUIDv4();
162 yield* persistEnvironmentId(generated, "create");162 yield* persistEnvironmentId(generated, "create");
163 let winner = yield* readPersistedEnvironmentId;163 let winner = yield* readPersistedEnvironmentId;
164 if (winner === null) {164 if (winner === null) {
apps/server/src/git/GitManager.ts+1-1
...@@ -852,7 +852,7 @@ export const make = Effect.gen(function* () {...@@ -852,7 +852,7 @@ export const make = Effect.gen(function* () {
852 }852 }
853 });853 });
854 const randomUUIDv4 = (cwd: string) =>854 const randomUUIDv4 = (cwd: string) =>
855 crypto.randomUUIDv4.pipe(855 crypto.randomUUIDv4().pipe(
856 Effect.mapError(856 Effect.mapError(
857 (cause) =>857 (cause) =>
858 new GitManagerError({858 new GitManagerError({
apps/server/src/mcp/McpHttpServer.ts+1-1
...@@ -401,7 +401,7 @@ const saveScreenshot = Effect.fn("McpHttpServer.saveScreenshot")(function* (...@@ -401,7 +401,7 @@ const saveScreenshot = Effect.fn("McpHttpServer.saveScreenshot")(function* (
401 const millis = yield* Clock.currentTimeMillis;401 const millis = yield* Clock.currentTimeMillis;
402 const crypto = yield* Crypto.Crypto;402 const crypto = yield* Crypto.Crypto;
403 // Two saves in the same millisecond must not overwrite each other.403 // Two saves in the same millisecond must not overwrite each other.
404 const unique = (yield* crypto.randomUUIDv4.pipe(Effect.orDie)).slice(0, 8);404 const unique = (yield* crypto.randomUUIDv4().pipe(Effect.orDie)).slice(0, 8);
405 const fileName = `browser-screenshot-${screenshotSiteSlug(pageUrl)}-${millis.toString(36)}-${unique}.png`;405 const fileName = `browser-screenshot-${screenshotSiteSlug(pageUrl)}-${millis.toString(36)}-${unique}.png`;
406 const screenshotPath = path.join(config.browserArtifactsDir, fileName);406 const screenshotPath = path.join(config.browserArtifactsDir, fileName);
407 yield* fileSystem.makeDirectory(config.browserArtifactsDir, { recursive: true }).pipe(407 yield* fileSystem.makeDirectory(config.browserArtifactsDir, { recursive: true }).pipe(
apps/server/src/mcp/McpSessionRegistry.ts+1-1
...@@ -124,7 +124,7 @@ const makeWithOptions = Effect.fn("McpSessionRegistry.make")(function* (...@@ -124,7 +124,7 @@ const makeWithOptions = Effect.fn("McpSessionRegistry.make")(function* (
124 const issue: McpSessionRegistryShape["issue"] = Effect.fn("McpSessionRegistry.issue")(124 const issue: McpSessionRegistryShape["issue"] = Effect.fn("McpSessionRegistry.issue")(
125 function* (request) {125 function* (request) {
126 const issuedAt = yield* currentTimeMillis;126 const issuedAt = yield* currentTimeMillis;
127 const providerSessionId = yield* crypto.randomUUIDv4.pipe(Effect.orDie);127 const providerSessionId = yield* crypto.randomUUIDv4().pipe(Effect.orDie);
128 const rawToken = yield* crypto.randomBytes(32).pipe(Effect.map(tokenFromBytes), Effect.orDie);128 const rawToken = yield* crypto.randomBytes(32).pipe(Effect.map(tokenFromBytes), Effect.orDie);
129 const tokenHash = yield* hashToken(rawToken);129 const tokenHash = yield* hashToken(rawToken);
130 const browserToolsAvailable = request.browserToolsAvailable ?? true;130 const browserToolsAvailable = request.browserToolsAvailable ?? true;
apps/server/src/mcp/OrchestratorMcpService.ts+1-1
...@@ -1322,7 +1322,7 @@ const make = Effect.gen(function* () {...@@ -1322,7 +1322,7 @@ const make = Effect.gen(function* () {
13221322
1323 const requestKey = (clientRequestId: string | undefined): Effect.Effect<string> =>1323 const requestKey = (clientRequestId: string | undefined): Effect.Effect<string> =>
1324 clientRequestId === undefined1324 clientRequestId === undefined
1325 ? crypto.randomUUIDv4.pipe(Effect.orDie)1325 ? crypto.randomUUIDv4().pipe(Effect.orDie)
1326 : Effect.succeed(clientRequestId);1326 : Effect.succeed(clientRequestId);
13271327
1328 const readTask = (1328 const readTask = (
apps/server/src/mcp/PreviewAutomationBroker.ts+1-1
...@@ -403,7 +403,7 @@ export const make = Effect.gen(function* PreviewAutomationBrokerMake() {...@@ -403,7 +403,7 @@ export const make = Effect.gen(function* PreviewAutomationBrokerMake() {
403 ) {403 ) {
404 const clientId = host.clientId;404 const clientId = host.clientId;
405 const queue = yield* Queue.unbounded<PreviewAutomationStreamEvent, Cause.Done>();405 const queue = yield* Queue.unbounded<PreviewAutomationStreamEvent, Cause.Done>();
406 const connectionId = yield* crypto.randomUUIDv4.pipe(Effect.orDie);406 const connectionId = yield* crypto.randomUUIDv4().pipe(Effect.orDie);
407 yield* Queue.offer(queue, { type: "connected", connectionId });407 yield* Queue.offer(queue, { type: "connected", connectionId });
408 const connection: ClientConnection = {408 const connection: ClientConnection = {
409 clientId,409 clientId,
apps/server/src/mcp/ThreadMetadataMcpService.ts+1-1
...@@ -171,7 +171,7 @@ const make = Effect.gen(function* () {...@@ -171,7 +171,7 @@ const make = Effect.gen(function* () {
171 .pipe(Effect.mapError(threadLookupFailure));171 .pipe(Effect.mapError(threadLookupFailure));
172 const requestKey =172 const requestKey =
173 input.clientRequestId === undefined173 input.clientRequestId === undefined
174 ? yield* crypto.randomUUIDv4.pipe(Effect.orDie)174 ? yield* crypto.randomUUIDv4().pipe(Effect.orDie)
175 : input.clientRequestId;175 : input.clientRequestId;
176 const updateCommandId = commandId({176 const updateCommandId = commandId({
177 scope,177 scope,
apps/server/src/mcp/WorktreeMcpService.ts+1-1
...@@ -127,7 +127,7 @@ const make = Effect.gen(function* () {...@@ -127,7 +127,7 @@ const make = Effect.gen(function* () {
127 );127 );
128128
129 const handoffIds = (scope: McpThreadInvocationScope) =>129 const handoffIds = (scope: McpThreadInvocationScope) =>
130 crypto.randomUUIDv4.pipe(130 crypto.randomUUIDv4().pipe(
131 Effect.map((uuid) => {131 Effect.map((uuid) => {
132 const part = (kind: string, operation: string) =>132 const part = (kind: string, operation: string) =>
133 [kind, "mcp", encodeURIComponent(scope.thread.providerSessionId), operation, uuid].join(133 [kind, "mcp", encodeURIComponent(scope.thread.providerSessionId), operation, uuid].join(
apps/server/src/mcp/threadAccess.ts+1-1
...@@ -204,5 +204,5 @@ export const readThread = Effect.fn("mcp.readThread")(function* <...@@ -204,5 +204,5 @@ export const readThread = Effect.fn("mcp.readThread")(function* <
204204
205export const newCommandId = Effect.fn("mcp.newCommandId")(function* () {205export const newCommandId = Effect.fn("mcp.newCommandId")(function* () {
206 const crypto = yield* Crypto.Crypto;206 const crypto = yield* Crypto.Crypto;
207 return CommandId.make(`mcp:${yield* crypto.randomUUIDv4.pipe(Effect.orDie)}`);207 return CommandId.make(`mcp:${yield* crypto.randomUUIDv4().pipe(Effect.orDie)}`);
208});208});
apps/server/src/mcp/toolkits/pullRequests/handlers.ts+1-1
...@@ -205,7 +205,7 @@ const make = Effect.gen(function* () {...@@ -205,7 +205,7 @@ const make = Effect.gen(function* () {
205 const crypto = yield* Crypto.Crypto;205 const crypto = yield* Crypto.Crypto;
206206
207 const commandId = (tag: string, threadId: ThreadId) =>207 const commandId = (tag: string, threadId: ThreadId) =>
208 crypto.randomUUIDv4.pipe(208 crypto.randomUUIDv4().pipe(
209 Effect.orDie,209 Effect.orDie,
210 Effect.map((uuid) => CommandId.make(`server:${tag}:${threadId}:${uuid}`)),210 Effect.map((uuid) => CommandId.make(`server:${tag}:${threadId}:${uuid}`)),
211 );211 );
apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.testkit.ts+1-1
...@@ -1588,7 +1588,7 @@ async function recordClaudeStreamingQuery(input: {...@@ -1588,7 +1588,7 @@ async function recordClaudeStreamingQuery(input: {
1588 text: prompt,1588 text: prompt,
1589 uuid: await Effect.runPromise(1589 uuid: await Effect.runPromise(
1590 Crypto.Crypto.pipe(1590 Crypto.Crypto.pipe(
1591 Effect.flatMap((crypto) => crypto.randomUUIDv4),1591 Effect.flatMap((crypto) => crypto.randomUUIDv4()),
1592 Effect.filterOrFail(ClaudeAdapterV2.isClaudePromptUuid),1592 Effect.filterOrFail(ClaudeAdapterV2.isClaudePromptUuid),
1593 Effect.provide(NodeServices.layer),1593 Effect.provide(NodeServices.layer),
1594 ),1594 ),
apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts+4-4
...@@ -663,9 +663,9 @@ export const layerQueryRunner: Layer.Layer<...@@ -663,9 +663,9 @@ export const layerQueryRunner: Layer.Layer<
663 const agentScope = yield* AgentScope;663 const agentScope = yield* AgentScope;
664664
665 return ClaudeAgentSdkQueryRunner.of({665 return ClaudeAgentSdkQueryRunner.of({
666 allocateSessionId: crypto.randomUUIDv4.pipe(666 allocateSessionId: crypto
667 Effect.mapError((cause) => queryRunnerError(cause, "allocateSessionId")),667 .randomUUIDv4()
668 ),668 .pipe(Effect.mapError((cause) => queryRunnerError(cause, "allocateSessionId"))),
669 open: Effect.fn("ClaudeAgentSdkQueryRunner.open")(function* (669 open: Effect.fn("ClaudeAgentSdkQueryRunner.open")(function* (
670 input: ClaudeAgentSdkQueryOpenInput,670 input: ClaudeAgentSdkQueryOpenInput,
671 ) {671 ) {
...@@ -8499,7 +8499,7 @@ export const makeClaudeAdapterV2 = Effect.fn("makeClaudeAdapterV2")(function* (...@@ -8499,7 +8499,7 @@ export const makeClaudeAdapterV2 = Effect.fn("makeClaudeAdapterV2")(function* (
8499 // a uuid derived from run ids can repeat.8499 // a uuid derived from run ids can repeat.
8500 const promptUuid = isClaudeProviderContinuationTurn(turnInput)8500 const promptUuid = isClaudeProviderContinuationTurn(turnInput)
8501 ? null8501 ? null
8502 : yield* crypto.randomUUIDv4.pipe(8502 : yield* crypto.randomUUIDv4().pipe(
8503 Effect.filterOrFail(isClaudePromptUuid),8503 Effect.filterOrFail(isClaudePromptUuid),
8504 Effect.mapError(8504 Effect.mapError(
8505 (cause) =>8505 (cause) =>
apps/server/src/orchestration-v2/PullRequestSyncReactor.ts+2-2
...@@ -247,7 +247,7 @@ export const make = Effect.gen(function* () {...@@ -247,7 +247,7 @@ export const make = Effect.gen(function* () {
247 }247 }
248 const url = siblingPullRequestUrl(link.url, layer.number);248 const url = siblingPullRequestUrl(link.url, layer.number);
249 if (url === null) continue;249 if (url === null) continue;
250 const uuid = yield* crypto.randomUUIDv4;250 const uuid = yield* crypto.randomUUIDv4();
251 yield* engine.dispatch({251 yield* engine.dispatch({
252 type: "thread.pull-request.link",252 type: "thread.pull-request.link",
253 commandId: CommandId.make(`server:pr-stack-link:${thread.id}:${uuid}`),253 commandId: CommandId.make(`server:pr-stack-link:${thread.id}:${uuid}`),
...@@ -259,7 +259,7 @@ export const make = Effect.gen(function* () {...@@ -259,7 +259,7 @@ export const make = Effect.gen(function* () {
259 linkedThisSweep.add(dedupeKey);259 linkedThisSweep.add(dedupeKey);
260 }260 }
261 if (changed) {261 if (changed) {
262 const uuid = yield* crypto.randomUUIDv4;262 const uuid = yield* crypto.randomUUIDv4();
263 yield* engine.dispatch({263 yield* engine.dispatch({
264 type: "thread.pull-request-link.sync",264 type: "thread.pull-request-link.sync",
265 commandId: CommandId.make(`server:pr-sync:${thread.id}:${uuid}`),265 commandId: CommandId.make(`server:pr-sync:${thread.id}:${uuid}`),
apps/server/src/orchestration-v2/PullRequestWatchReactor.ts+1-1
...@@ -309,7 +309,7 @@ export const make = Effect.gen(function* () {...@@ -309,7 +309,7 @@ export const make = Effect.gen(function* () {
309 wake?: { readonly text: string; readonly notification: OrchestrationV2Notification },309 wake?: { readonly text: string; readonly notification: OrchestrationV2Notification },
310 ) =>310 ) =>
311 Effect.gen(function* () {311 Effect.gen(function* () {
312 const uuid = yield* crypto.randomUUIDv4;312 const uuid = yield* crypto.randomUUIDv4();
313 yield* engine.dispatch({313 yield* engine.dispatch({
314 type: "thread.pull-request-watch.sync",314 type: "thread.pull-request-watch.sync",
315 commandId: CommandId.make(`server:pr-watch:${target.thread.id}:${uuid}`),315 commandId: CommandId.make(`server:pr-watch:${target.thread.id}:${uuid}`),
apps/server/src/orchestration-v2/ThreadPullRequestService.ts+1-1
...@@ -308,7 +308,7 @@ export const make = Effect.gen(function* () {...@@ -308,7 +308,7 @@ export const make = Effect.gen(function* () {
308 if (!projectWorkspaceMatchesSnapshot(currentProject, project.workspaceRoot)) {308 if (!projectWorkspaceMatchesSnapshot(currentProject, project.workspaceRoot)) {
309 return failBackfill([thread]);309 return failBackfill([thread]);
310 }310 }
311 const uuid = yield* crypto.randomUUIDv4;311 const uuid = yield* crypto.randomUUIDv4();
312 yield* orchestrator.dispatch({312 yield* orchestrator.dispatch({
313 type: "thread.pull-request.sync",313 type: "thread.pull-request.sync",
314 commandId: CommandId.make(`server:thread-pull-request:${thread.id}:${uuid}`),314 commandId: CommandId.make(`server:thread-pull-request:${thread.id}:${uuid}`),
apps/server/src/orchestration-v2/ThreadSettlementService.ts+1-1
...@@ -345,7 +345,7 @@ export const make = Effect.gen(function* () {...@@ -345,7 +345,7 @@ export const make = Effect.gen(function* () {
345 autoSettleOnMerge: currentSettings.sidebarAutoSettleOnMerge,345 autoSettleOnMerge: currentSettings.sidebarAutoSettleOnMerge,
346 });346 });
347 if (settledAt === null) return thread;347 if (settledAt === null) return thread;
348 const uuid = yield* crypto.randomUUIDv4;348 const uuid = yield* crypto.randomUUIDv4();
349 yield* orchestrator.dispatch({349 yield* orchestrator.dispatch({
350 type: "thread.auto-settle",350 type: "thread.auto-settle",
351 commandId: CommandId.make(`server:auto-settle:${thread.id}:${uuid}`),351 commandId: CommandId.make(`server:auto-settle:${thread.id}:${uuid}`),
apps/server/src/preview/Manager.ts+2-2
...@@ -140,7 +140,7 @@ const currentIsoTimestamp = DateTime.now.pipe(Effect.map(DateTime.formatIso));...@@ -140,7 +140,7 @@ const currentIsoTimestamp = DateTime.now.pipe(Effect.map(DateTime.formatIso));
140/** @public Service construction is part of the canonical Effect module API. */140/** @public Service construction is part of the canonical Effect module API. */
141export const make = Effect.gen(function* PreviewManagerMake() {141export const make = Effect.gen(function* PreviewManagerMake() {
142 const crypto = yield* Crypto.Crypto;142 const crypto = yield* Crypto.Crypto;
143 const serverEpoch = yield* crypto.randomUUIDv4.pipe(Effect.orDie);143 const serverEpoch = yield* crypto.randomUUIDv4().pipe(Effect.orDie);
144 const stateRef = yield* SynchronizedRef.make<ManagerState>(initialState);144 const stateRef = yield* SynchronizedRef.make<ManagerState>(initialState);
145 // Unbounded PubSub is fine here — events are tiny and we don't want to145 // Unbounded PubSub is fine here — events are tiny and we don't want to
146 // block publishers if a subscriber is slow. WS clients backpressure on146 // block publishers if a subscriber is slow. WS clients backpressure on
...@@ -479,7 +479,7 @@ export const make = Effect.gen(function* PreviewManagerMake() {...@@ -479,7 +479,7 @@ export const make = Effect.gen(function* PreviewManagerMake() {
479 ...session.snapshot,479 ...session.snapshot,
480 reveal: true,480 reveal: true,
481 revealRequest: {481 revealRequest: {
482 id: yield* crypto.randomUUIDv4.pipe(Effect.orDie),482 id: yield* crypto.randomUUIDv4().pipe(Effect.orDie),
483 force: input.force,483 force: input.force,
484 },484 },
485 updatedAt: yield* currentIsoTimestamp,485 updatedAt: yield* currentIsoTimestamp,
apps/server/src/project/ManagedProjectFolders.ts+7-7
...@@ -308,9 +308,9 @@ const make = Effect.gen(function* () {...@@ -308,9 +308,9 @@ const make = Effect.gen(function* () {
308 );308 );
309 // Re-made on every call, so a deleted Scratch folder still runs threads.309 // Re-made on every call, so a deleted Scratch folder still runs threads.
310 yield* makeScratchFolder(workspaceRoot);310 yield* makeScratchFolder(workspaceRoot);
311 const id = yield* crypto.randomUUIDv4.pipe(311 const id = yield* crypto
312 Effect.mapError((cause) => new ScratchProjectError({ workspaceRoot, cause })),312 .randomUUIDv4()
313 );313 .pipe(Effect.mapError((cause) => new ScratchProjectError({ workspaceRoot, cause })));
314 const bootstrapped = yield* projects314 const bootstrapped = yield* projects
315 .bootstrap({315 .bootstrap({
316 commandId: CommandId.make(`scratch-project:${id}`),316 commandId: CommandId.make(`scratch-project:${id}`),
...@@ -379,7 +379,7 @@ const make = Effect.gen(function* () {...@@ -379,7 +379,7 @@ const make = Effect.gen(function* () {
379 ? Effect.succeed(Option.some(folderFor(id.slice(-8))))379 ? Effect.succeed(Option.some(folderFor(id.slice(-8))))
380 : attempt === 2380 : attempt === 2
381 ? Effect.succeed(Option.some(fullFolder))381 ? Effect.succeed(Option.some(fullFolder))
382 : crypto.randomUUIDv4.pipe(382 : crypto.randomUUIDv4().pipe(
383 Effect.map((uuid) => Option.some(`${fullFolder}-${uuid.slice(0, 8)}`)),383 Effect.map((uuid) => Option.some(`${fullFolder}-${uuid.slice(0, 8)}`)),
384 Effect.mapError((cause) => new ScratchFolderError({ folder: fullFolder, cause })),384 Effect.mapError((cause) => new ScratchFolderError({ folder: fullFolder, cause })),
385 ),385 ),
...@@ -480,9 +480,9 @@ const make = Effect.gen(function* () {...@@ -480,9 +480,9 @@ const make = Effect.gen(function* () {
480 scaffoldRepository(workspaceRoot, input.name).pipe(480 scaffoldRepository(workspaceRoot, input.name).pipe(
481 Effect.mapError((cause) => new NamedProjectFolderError({ folder: workspaceRoot, cause })),481 Effect.mapError((cause) => new NamedProjectFolderError({ folder: workspaceRoot, cause })),
482 ),482 ),
483 crypto.randomUUIDv4.pipe(483 crypto
484 Effect.mapError((cause) => new NamedProjectCreateError({ workspaceRoot, cause })),484 .randomUUIDv4()
485 ),485 .pipe(Effect.mapError((cause) => new NamedProjectCreateError({ workspaceRoot, cause }))),
486 ]).pipe(Effect.onExit((exit) => (Exit.isSuccess(exit) ? Effect.void : removeFolder)));486 ]).pipe(Effect.onExit((exit) => (Exit.isSuccess(exit) ? Effect.void : removeFolder)));
487 const [commitError, id] = prepared;487 const [commitError, id] = prepared;
488 const project = yield* projects488 const project = yield* projects
apps/server/src/project/ProjectSetupScriptRunner.ts+2-2
...@@ -380,7 +380,7 @@ export const make = Effect.gen(function* () {...@@ -380,7 +380,7 @@ export const make = Effect.gen(function* () {
380 const terminalId =380 const terminalId =
381 input.preferredTerminalId ??381 input.preferredTerminalId ??
382 (trigger === "settle"382 (trigger === "settle"
383 ? `settle-${script.id}-${(yield* crypto.randomUUIDv4.pipe(Effect.orDie)).slice(0, 8)}`383 ? `settle-${script.id}-${(yield* crypto.randomUUIDv4().pipe(Effect.orDie)).slice(0, 8)}`
384 : `setup-${script.id}`);384 : `setup-${script.id}`);
385 const cwd = input.worktreePath;385 const cwd = input.worktreePath;
386 const env = {386 const env = {
...@@ -395,7 +395,7 @@ export const make = Effect.gen(function* () {...@@ -395,7 +395,7 @@ export const make = Effect.gen(function* () {
395 };395 };
396 const observe = input.observeCompletion;396 const observe = input.observeCompletion;
397 const completionToken = observe397 const completionToken = observe
398 ? (yield* crypto.randomUUIDv4.pipe(Effect.orDie)).replaceAll("-", "")398 ? (yield* crypto.randomUUIDv4().pipe(Effect.orDie)).replaceAll("-", "")
399 : null;399 : null;
400 const commandLine =400 const commandLine =
401 observe && completionToken401 observe && completionToken
apps/server/src/provider/AntigravityAuth.ts+7-5
...@@ -349,11 +349,13 @@ export const makeAntigravityAuth = Effect.fn("makeAntigravityAuth")(function* <...@@ -349,11 +349,13 @@ export const makeAntigravityAuth = Effect.fn("makeAntigravityAuth")(function* <
349 if (operation !== "idle") {349 if (operation !== "idle") {
350 return yield* setupError("start", "Antigravity setup is already in progress.");350 return yield* setupError("start", "Antigravity setup is already in progress.");
351 }351 }
352 const flowId = yield* crypto.randomUUIDv4.pipe(352 const flowId = yield* crypto
353 Effect.mapError(() =>353 .randomUUIDv4()
354 setupError("start", "Could not start Google sign-in. Try again."),354 .pipe(
355 ),355 Effect.mapError(() =>
356 );356 setupError("start", "Could not start Google sign-in. Try again."),
357 ),
358 );
357 const expiresAtMillis = (yield* Clock.currentTimeMillis) + AUTH_TIMEOUT_MS;359 const expiresAtMillis = (yield* Clock.currentTimeMillis) + AUTH_TIMEOUT_MS;
358 const state: ProviderAuthState = {360 const state: ProviderAuthState = {
359 ...emptyState,361 ...emptyState,
apps/server/src/provider/AntigravityInstallation.ts+1-1
...@@ -688,7 +688,7 @@ export const makeAntigravityInstallation = Effect.fn("AntigravityInstallation.ma...@@ -688,7 +688,7 @@ export const makeAntigravityInstallation = Effect.fn("AntigravityInstallation.ma
688 `Google does not publish an Antigravity runtime for ${platform}-${arch}. Use a supported remote environment or a custom executable.`,688 `Google does not publish an Antigravity runtime for ${platform}-${arch}. Use a supported remote environment or a custom executable.`,
689 );689 );
690 }690 }
691 const operationId = yield* crypto.randomUUIDv4;691 const operationId = yield* crypto.randomUUIDv4();
692 const next: ProviderInstallState = {692 const next: ProviderInstallState = {
693 driver: DRIVER,693 driver: DRIVER,
694 operationId,694 operationId,
apps/server/src/provider/CodexInstallation.ts+1-1
...@@ -576,7 +576,7 @@ export const makeCodexInstallation = Effect.fn("makeCodexInstallation")(function...@@ -576,7 +576,7 @@ export const makeCodexInstallation = Effect.fn("makeCodexInstallation")(function
576 `OpenAI does not publish a Codex runtime for ${platform}-${arch}. Use a supported remote environment or a custom executable.`,576 `OpenAI does not publish a Codex runtime for ${platform}-${arch}. Use a supported remote environment or a custom executable.`,
577 );577 );
578 }578 }
579 const operationId = yield* crypto.randomUUIDv4;579 const operationId = yield* crypto.randomUUIDv4();
580 const next: ProviderInstallState = {580 const next: ProviderInstallState = {
581 driver: DRIVER,581 driver: DRIVER,
582 operationId,582 operationId,
apps/server/src/provider/resetCreditCoordinator.ts+1-1
...@@ -69,7 +69,7 @@ export const make = Effect.gen(function* () {...@@ -69,7 +69,7 @@ export const make = Effect.gen(function* () {
69 return yield* state.lock.withPermits(1)(69 return yield* state.lock.withPermits(1)(
70 Effect.gen(function* () {70 Effect.gen(function* () {
71 const existing = yield* Ref.get(state.pendingKey);71 const existing = yield* Ref.get(state.pendingKey);
72 const idempotencyKey = existing ?? (yield* crypto.randomUUIDv4);72 const idempotencyKey = existing ?? (yield* crypto.randomUUIDv4());
73 yield* Ref.set(state.pendingKey, idempotencyKey);73 yield* Ref.set(state.pendingKey, idempotencyKey);
74 const outcome = yield* consume(idempotencyKey).pipe(74 const outcome = yield* consume(idempotencyKey).pipe(
75 Effect.tapError((error) =>75 Effect.tapError((error) =>
apps/server/src/pullRequest/PullRequestReadCache.ts+1-1
...@@ -162,7 +162,7 @@ export const make = Effect.gen(function* () {...@@ -162,7 +162,7 @@ export const make = Effect.gen(function* () {
162 const next = Object.fromEntries(162 const next = Object.fromEntries(
163 Object.entries(current).filter(([, value]) => value.expiresAt > now),163 Object.entries(current).filter(([, value]) => value.expiresAt > now),
164 );164 );
165 next[scope] = { revision: yield* crypto.randomUUIDv4, expiresAt: now + 60_000 };165 next[scope] = { revision: yield* crypto.randomUUIDv4(), expiresAt: now + 60_000 };
166 const encoded = yield* Schema.encodeEffect(revisionCodec)(next);166 const encoded = yield* Schema.encodeEffect(revisionCodec)(next);
167 yield* backing.set("revisions", encoded);167 yield* backing.set("revisions", encoded);
168 yield* Cache.set(revisions, undefined, next);168 yield* Cache.set(revisions, undefined, next);
apps/server/src/relay/AgentAwarenessRelay.ts+1-1
...@@ -489,7 +489,7 @@ export const make = Effect.gen(function* () {...@@ -489,7 +489,7 @@ export const make = Effect.gen(function* () {
489 environmentId,489 environmentId,
490 threadId,490 threadId,
491 state: input.state,491 state: input.state,
492 jti: yield* crypto.randomUUIDv4,492 jti: yield* crypto.randomUUIDv4(),
493 });493 });
494494
495 yield* Effect.logInfo("publishing agent activity for thread", {495 yield* Effect.logInfo("publishing agent activity for thread", {
apps/server/src/resourceTelemetry/NativeTelemetryClient.ts+9-7
...@@ -862,7 +862,7 @@ export const make = Effect.fn("resourceTelemetry.nativeTelemetryClient.make")(fu...@@ -862,7 +862,7 @@ export const make = Effect.fn("resourceTelemetry.nativeTelemetryClient.make")(fu
862 reason: Option.getOrElse(current.lastError, () => "sidecar is not running"),862 reason: Option.getOrElse(current.lastError, () => "sidecar is not running"),
863 });863 });
864 }864 }
865 const requestId = yield* crypto.randomUUIDv4.pipe(865 const requestId = yield* crypto.randomUUIDv4().pipe(
866 Effect.mapError(866 Effect.mapError(
867 (cause) =>867 (cause) =>
868 new NativeTelemetryCommandFailed({868 new NativeTelemetryCommandFailed({
...@@ -921,7 +921,7 @@ export const make = Effect.fn("resourceTelemetry.nativeTelemetryClient.make")(fu...@@ -921,7 +921,7 @@ export const make = Effect.fn("resourceTelemetry.nativeTelemetryClient.make")(fu
921 });921 });
922 }922 }
923923
924 const requestId = yield* crypto.randomUUIDv4.pipe(924 const requestId = yield* crypto.randomUUIDv4().pipe(
925 Effect.mapError(925 Effect.mapError(
926 (cause) =>926 (cause) =>
927 new NativeTelemetryCommandFailed({927 new NativeTelemetryCommandFailed({
...@@ -976,11 +976,13 @@ export const make = Effect.fn("resourceTelemetry.nativeTelemetryClient.make")(fu...@@ -976,11 +976,13 @@ export const make = Effect.fn("resourceTelemetry.nativeTelemetryClient.make")(fu
976 });976 });
977 }977 }
978978
979 const requestId = yield* crypto.randomUUIDv4.pipe(979 const requestId = yield* crypto
980 Effect.mapError(980 .randomUUIDv4()
981 (cause) => new NativeTelemetryCommandFailed({ operation: "createRequestId", cause }),981 .pipe(
982 ),982 Effect.mapError(
983 );983 (cause) => new NativeTelemetryCommandFailed({ operation: "createRequestId", cause }),
984 ),
985 );
984 const deferred = yield* Deferred.make<986 const deferred = yield* Deferred.make<
985 ReadonlyArray<ResourceMonitorProcessTableEntry>,987 ReadonlyArray<ResourceMonitorProcessTableEntry>,
986 NativeTelemetryClientError988 NativeTelemetryClientError
apps/server/src/scheduledTasks/ScheduledTaskService.ts+14-8
...@@ -1003,11 +1003,13 @@ export const layer = Layer.effect(...@@ -1003,11 +1003,13 @@ export const layer = Layer.effect(
1003 const now = yield* localNow;1003 const now = yield* localNow;
1004 const uuid =1004 const uuid =
1005 input.commandId === undefined1005 input.commandId === undefined
1006 ? yield* crypto.randomUUIDv4.pipe(1006 ? yield* crypto
1007 Effect.mapError((cause) =>1007 .randomUUIDv4()
1008 taskError("Could not generate schedule task id.", { cause }),1008 .pipe(
1009 ),1009 Effect.mapError((cause) =>
1010 )1010 taskError("Could not generate schedule task id.", { cause }),
1011 ),
1012 )
1011 : null;1013 : null;
1012 const id =1014 const id =
1013 input.id ??1015 input.id ??
...@@ -1457,9 +1459,13 @@ export const layer = Layer.effect(...@@ -1457,9 +1459,13 @@ export const layer = Layer.effect(
1457 observeDelivery(request, outcome, receivedAt, now);1459 observeDelivery(request, outcome, receivedAt, now);
1458 const deliveryId = ScheduledTaskWebhookDeliveryId.make(1460 const deliveryId = ScheduledTaskWebhookDeliveryId.make(
1459 request.relayDeliveryId === undefined1461 request.relayDeliveryId === undefined
1460 ? `delivery:${yield* crypto.randomUUIDv4.pipe(1462 ? `delivery:${yield* crypto
1461 Effect.mapError((cause) => taskError("Could not generate delivery id.", { cause })),1463 .randomUUIDv4()
1462 )}`1464 .pipe(
1465 Effect.mapError((cause) =>
1466 taskError("Could not generate delivery id.", { cause }),
1467 ),
1468 )}`
1463 : `delivery:relay:${request.relayDeliveryId}`,1469 : `delivery:relay:${request.relayDeliveryId}`,
1464 );1470 );
1465 // A held request may already have reached this environment directly1471 // A held request may already have reached this environment directly
apps/server/src/serverRuntimeStartup.ts+1-1
...@@ -257,7 +257,7 @@ export const resolveWelcomeBase = Effect.gen(function* () {...@@ -257,7 +257,7 @@ export const resolveWelcomeBase = Effect.gen(function* () {
257257
258const resolveAutoBootstrapWelcomeTargets = Effect.gen(function* () {258const resolveAutoBootstrapWelcomeTargets = Effect.gen(function* () {
259 const crypto = yield* Crypto.Crypto;259 const crypto = yield* Crypto.Crypto;
260 const randomUUID = crypto.randomUUIDv4;260 const randomUUID = crypto.randomUUIDv4();
261 const serverConfig = yield* ServerConfig.ServerConfig;261 const serverConfig = yield* ServerConfig.ServerConfig;
262 const projects = yield* ProjectService.ProjectService;262 const projects = yield* ProjectService.ProjectService;
263 const threads = yield* ThreadManagement.ThreadManagementService;263 const threads = yield* ThreadManagement.ThreadManagementService;
apps/server/src/telemetry/AnalyticsService.ts+1-1
...@@ -263,7 +263,7 @@ export const make = Effect.gen(function* () {...@@ -263,7 +263,7 @@ export const make = Effect.gen(function* () {
263263
264 // Telemetry is best effort: an event without a uuid is not sent. The264 // Telemetry is best effort: an event without a uuid is not sent. The
265 // Node implementation throws (a defect) rather than failing, so catch both.265 // Node implementation throws (a defect) rather than failing, so catch both.
266 const uuid = yield* Effect.exit(crypto.randomUUIDv7);266 const uuid = yield* Effect.exit(crypto.randomUUIDv7());
267 if (Exit.isFailure(uuid)) return;267 if (Exit.isFailure(uuid)) return;
268268
269 const enqueueResult = yield* enqueueBufferedEvent(uuid.value, event, properties);269 const enqueueResult = yield* enqueueBufferedEvent(uuid.value, event, properties);
apps/server/src/telemetry/Identify.ts+1-1
...@@ -231,7 +231,7 @@ const upsertAnonymousId = Effect.gen(function* () {...@@ -231,7 +231,7 @@ const upsertAnonymousId = Effect.gen(function* () {
231 }231 }
232232
233 const anonymousId = yield* Crypto.Crypto.pipe(233 const anonymousId = yield* Crypto.Crypto.pipe(
234 Effect.flatMap((crypto) => crypto.randomUUIDv4),234 Effect.flatMap((crypto) => crypto.randomUUIDv4()),
235 Effect.mapError(235 Effect.mapError(
236 (cause) =>236 (cause) =>
237 new TelemetryAnonymousIdGenerationError({237 new TelemetryAnonymousIdGenerationError({
apps/server/src/vcs/GitVcsDriver.ts+1-1
...@@ -822,7 +822,7 @@ export const makeVcsDriverShape = Effect.fn("makeGitVcsDriverShape")(function* (...@@ -822,7 +822,7 @@ export const makeVcsDriverShape = Effect.fn("makeGitVcsDriverShape")(function* (
822 "sparse.expectFilesOutsideOfPatterns=false",822 "sparse.expectFilesOutsideOfPatterns=false",
823 ];823 ];
824 const gitCommonDir = yield* resolveGitCommonDir(input.cwd);824 const gitCommonDir = yield* resolveGitCommonDir(input.cwd);
825 const indexId = yield* crypto.randomUUIDv4.pipe(Effect.orDie);825 const indexId = yield* crypto.randomUUIDv4().pipe(Effect.orDie);
826 const tempIndexPath = path.join(gitCommonDir, `t3-checkpoint-index-${indexId}`);826 const tempIndexPath = path.join(gitCommonDir, `t3-checkpoint-index-${indexId}`);
827 const commitEnv: NodeJS.ProcessEnv = {827 const commitEnv: NodeJS.ProcessEnv = {
828 ...process.env,828 ...process.env,
apps/server/src/ws.ts+2-2
...@@ -1250,7 +1250,7 @@ const layerWsRpc = (...@@ -1250,7 +1250,7 @@ const layerWsRpc = (
1250 const orchestrationEngine = yield* Orchestrator.OrchestratorV2;1250 const orchestrationEngine = yield* Orchestrator.OrchestratorV2;
1251 const crypto = yield* Crypto.Crypto;1251 const crypto = yield* Crypto.Crypto;
1252 const serverCommandId = (tag: string) =>1252 const serverCommandId = (tag: string) =>
1253 crypto.randomUUIDv4.pipe(1253 crypto.randomUUIDv4().pipe(
1254 Effect.orDie,1254 Effect.orDie,
1255 Effect.map((id) => CommandId.make(`server:${tag}:${id}`)),1255 Effect.map((id) => CommandId.make(`server:${tag}:${id}`)),
1256 );1256 );
...@@ -1494,7 +1494,7 @@ const layerWsRpc = (...@@ -1494,7 +1494,7 @@ const layerWsRpc = (
1494 provider?.models.find((candidate) => candidate.isDefault)?.slug ??1494 provider?.models.find((candidate) => candidate.isDefault)?.slug ??
1495 provider?.models[0]?.slug ??1495 provider?.models[0]?.slug ??
1496 "default";1496 "default";
1497 const commandId = CommandId.make(yield* crypto.randomUUIDv4.pipe(Effect.orDie));1497 const commandId = CommandId.make(yield* crypto.randomUUIDv4().pipe(Effect.orDie));
1498 const launched = yield* Effect.result(1498 const launched = yield* Effect.result(
1499 startup.enqueueCommand(1499 startup.enqueueCommand(
1500 threadLaunch.launch({1500 threadLaunch.launch({
apps/web/src/cloud/dpop.ts+1-1
...@@ -160,7 +160,7 @@ export function createBrowserDpopProof(input: {...@@ -160,7 +160,7 @@ export function createBrowserDpopProof(input: {
160 normalizedUrl.search = "";160 normalizedUrl.search = "";
161 normalizedUrl.hash = "";161 normalizedUrl.hash = "";
162 const jti = yield* Crypto.Crypto.pipe(162 const jti = yield* Crypto.Crypto.pipe(
163 Effect.flatMap((crypto) => crypto.randomUUIDv4),163 Effect.flatMap((crypto) => crypto.randomUUIDv4()),
164 Effect.mapError((cause) => dpopError("Could not generate DPoP proof identifier.", cause)),164 Effect.mapError((cause) => dpopError("Could not generate DPoP proof identifier.", cause)),
165 );165 );
166 const proof = yield* Effect.tryPromise({166 const proof = yield* Effect.tryPromise({
infra/relay/src/agentActivity/ApnsDeliveryQueue.ts+2-2
...@@ -89,7 +89,7 @@ export const make = Effect.gen(function* () {...@@ -89,7 +89,7 @@ export const make = Effect.gen(function* () {
89 "relay.delivery.kind": input.kind,89 "relay.delivery.kind": input.kind,
90 });90 });
91 const now = yield* DateTime.now;91 const now = yield* DateTime.now;
92 const jobId = yield* crypto.randomUUIDv4.pipe(92 const jobId = yield* crypto.randomUUIDv4().pipe(
93 Effect.mapError(93 Effect.mapError(
94 (cause) =>94 (cause) =>
95 new ApnsDeliveryQueueSendError({95 new ApnsDeliveryQueueSendError({
...@@ -148,7 +148,7 @@ export const make = Effect.gen(function* () {...@@ -148,7 +148,7 @@ export const make = Effect.gen(function* () {
148 "relay.thread_id": input.notification.threadId,148 "relay.thread_id": input.notification.threadId,
149 });149 });
150 const now = yield* DateTime.now;150 const now = yield* DateTime.now;
151 const jobId = yield* crypto.randomUUIDv4.pipe(151 const jobId = yield* crypto.randomUUIDv4().pipe(
152 Effect.mapError(152 Effect.mapError(
153 (cause) =>153 (cause) =>
154 new ApnsDeliveryQueueSendError({154 new ApnsDeliveryQueueSendError({
infra/relay/src/agentActivity/DeliveryAttempts.ts+2-2
...@@ -117,7 +117,7 @@ export const make = Effect.gen(function* () {...@@ -117,7 +117,7 @@ export const make = Effect.gen(function* () {
117 ...(input.threadId ? { "relay.thread_id": input.threadId } : {}),117 ...(input.threadId ? { "relay.thread_id": input.threadId } : {}),
118 });118 });
119 yield* Effect.gen(function* () {119 yield* Effect.gen(function* () {
120 const id = yield* crypto.randomUUIDv4;120 const id = yield* crypto.randomUUIDv4();
121 const createdAt = DateTime.formatIso(yield* DateTime.now);121 const createdAt = DateTime.formatIso(yield* DateTime.now);
122 yield* db.insert(relayDeliveryAttempts).values(insertValues(input, id, createdAt));122 yield* db.insert(relayDeliveryAttempts).values(insertValues(input, id, createdAt));
123 }).pipe(123 }).pipe(
...@@ -145,7 +145,7 @@ export const make = Effect.gen(function* () {...@@ -145,7 +145,7 @@ export const make = Effect.gen(function* () {
145 ...(input.threadId ? { "relay.thread_id": input.threadId } : {}),145 ...(input.threadId ? { "relay.thread_id": input.threadId } : {}),
146 });146 });
147 return yield* Effect.gen(function* () {147 return yield* Effect.gen(function* () {
148 const id = yield* crypto.randomUUIDv4;148 const id = yield* crypto.randomUUIDv4();
149 const now = yield* DateTime.now;149 const now = yield* DateTime.now;
150 const createdAt = DateTime.formatIso(now);150 const createdAt = DateTime.formatIso(now);
151 const inserted = yield* db151 const inserted = yield* db
infra/relay/src/environments/EnvironmentConnector.ts+4-4
...@@ -449,7 +449,7 @@ const make = Effect.gen(function* () {...@@ -449,7 +449,7 @@ const make = Effect.gen(function* () {
449 });449 });
450 const now = yield* DateTime.now;450 const now = yield* DateTime.now;
451 const expiresAt = DateTime.add(now, { minutes: 2 });451 const expiresAt = DateTime.add(now, { minutes: 2 });
452 const nonce = yield* crypto.randomUUIDv4.pipe(452 const nonce = yield* crypto.randomUUIDv4().pipe(
453 Effect.mapError(453 Effect.mapError(
454 (cause) =>454 (cause) =>
455 new EnvironmentMintRequestFailed({455 new EnvironmentMintRequestFailed({
...@@ -463,7 +463,7 @@ const make = Effect.gen(function* () {...@@ -463,7 +463,7 @@ const make = Effect.gen(function* () {
463 iss: relayIssuer,463 iss: relayIssuer,
464 aud: `t3-env:${link.environmentId}`,464 aud: `t3-env:${link.environmentId}`,
465 sub: input.userId,465 sub: input.userId,
466 jti: yield* crypto.randomUUIDv4.pipe(466 jti: yield* crypto.randomUUIDv4().pipe(
467 Effect.mapError(467 Effect.mapError(
468 (cause) =>468 (cause) =>
469 new EnvironmentMintRequestFailed({469 new EnvironmentMintRequestFailed({
...@@ -606,7 +606,7 @@ const make = Effect.gen(function* () {...@@ -606,7 +606,7 @@ const make = Effect.gen(function* () {
606 });606 });
607 const now = yield* DateTime.now;607 const now = yield* DateTime.now;
608 const expiresAt = DateTime.add(now, { minutes: 2 });608 const expiresAt = DateTime.add(now, { minutes: 2 });
609 const nonce = yield* crypto.randomUUIDv4.pipe(609 const nonce = yield* crypto.randomUUIDv4().pipe(
610 Effect.mapError(610 Effect.mapError(
611 (cause) =>611 (cause) =>
612 new EnvironmentMintRequestFailed({612 new EnvironmentMintRequestFailed({
...@@ -620,7 +620,7 @@ const make = Effect.gen(function* () {...@@ -620,7 +620,7 @@ const make = Effect.gen(function* () {
620 iss: relayIssuer,620 iss: relayIssuer,
621 aud: `t3-env:${link.environmentId}`,621 aud: `t3-env:${link.environmentId}`,
622 sub: input.userId,622 sub: input.userId,
623 jti: yield* crypto.randomUUIDv4.pipe(623 jti: yield* crypto.randomUUIDv4().pipe(
624 Effect.mapError(624 Effect.mapError(
625 (cause) =>625 (cause) =>
626 new EnvironmentMintRequestFailed({626 new EnvironmentMintRequestFailed({
infra/relay/src/environments/EnvironmentCredentials.ts+3-2
...@@ -87,8 +87,9 @@ const make = Effect.gen(function* () {...@@ -87,8 +87,9 @@ const make = Effect.gen(function* () {
87 const hashToken = (token: string) =>87 const hashToken = (token: string) =>
88 crypto.digest("SHA-256", new TextEncoder().encode(token)).pipe(Effect.map(Base64Url.encode));88 crypto.digest("SHA-256", new TextEncoder().encode(token)).pipe(Effect.map(Base64Url.encode));
89 const randomTokenPart = (segments: number) =>89 const randomTokenPart = (segments: number) =>
90 Effect.map(Effect.all(Array.from({ length: segments }, () => crypto.randomUUIDv4)), (values) =>90 Effect.map(
91 values.join("").replaceAll("-", ""),91 Effect.all(Array.from({ length: segments }, () => crypto.randomUUIDv4())),
92 (values) => values.join("").replaceAll("-", ""),
92 );93 );
93 const makeCredential = Effect.fnUntraced(function* () {94 const makeCredential = Effect.fnUntraced(function* () {
94 const credentialId = yield* randomTokenPart(2);95 const credentialId = yield* randomTokenPart(2);
infra/relay/src/hooks/HookForwarder.ts+2-2
...@@ -342,7 +342,7 @@ const make = Effect.gen(function* () {...@@ -342,7 +342,7 @@ const make = Effect.gen(function* () {
342 // One id per request, so a request that reached the environment before a342 // One id per request, so a request that reached the environment before a
343 // timeout and is later delivered from the inbox runs only once.343 // timeout and is later delivered from the inbox runs only once.
344 yield* Effect.annotateCurrentSpan({ "relay.hook.body_bytes": body.success.byteLength });344 yield* Effect.annotateCurrentSpan({ "relay.hook.body_bytes": body.success.byteLength });
345 const deliveryId = yield* crypto.randomUUIDv4.pipe(Effect.orDie);345 const deliveryId = yield* crypto.randomUUIDv4().pipe(Effect.orDie);
346 // Proves to the environment that this delivery id, receive time and346 // Proves to the environment that this delivery id, receive time and
347 // trace context came from the relay. Signed once here and stored with a347 // trace context came from the relay. Signed once here and stored with a
348 // held request, so the inbox never needs the signing key.348 // held request, so the inbox never needs the signing key.
...@@ -351,7 +351,7 @@ const make = Effect.gen(function* () {...@@ -351,7 +351,7 @@ const make = Effect.gen(function* () {
351 deliveryId,351 deliveryId,
352 receivedAt,352 receivedAt,
353 hookId: parsed.hookId,353 hookId: parsed.hookId,
354 jti: yield* crypto.randomUUIDv4.pipe(Effect.orDie),354 jti: yield* crypto.randomUUIDv4().pipe(Effect.orDie),
355 });355 });
356 const hook = {356 const hook = {
357 id: deliveryId,357 id: deliveryId,
infra/relay/src/http/Api.ts+6-6
...@@ -937,9 +937,9 @@ export const layerClientApi = HttpApiBuilder.group(...@@ -937,9 +937,9 @@ export const layerClientApi = HttpApiBuilder.group(
937 const { userId } = yield* RelayClientPrincipal;937 const { userId } = yield* RelayClientPrincipal;
938 const now = yield* DateTime.now;938 const now = yield* DateTime.now;
939 const expiresAt = DateTime.add(now, { minutes: 5 });939 const expiresAt = DateTime.add(now, { minutes: 5 });
940 const jti = yield* crypto.randomUUIDv4.pipe(940 const jti = yield* crypto
941 Effect.catch(() => relayInternalErrorResponse("internal_error")),941 .randomUUIDv4()
942 );942 .pipe(Effect.catch(() => relayInternalErrorResponse("internal_error")));
943 const challenge = yield* relayTokens943 const challenge = yield* relayTokens
944 .issueLinkChallenge({944 .issueLinkChallenge({
945 userId,945 userId,
...@@ -1028,9 +1028,9 @@ export const layerTokenApi = HttpApiBuilder.group(...@@ -1028,9 +1028,9 @@ export const layerTokenApi = HttpApiBuilder.group(
1028 );1028 );
1029 const now = yield* DateTime.now;1029 const now = yield* DateTime.now;
1030 const expiresAt = DateTime.addDuration(now, RelayTokens.RELAY_DPOP_ACCESS_TOKEN_TTL);1030 const expiresAt = DateTime.addDuration(now, RelayTokens.RELAY_DPOP_ACCESS_TOKEN_TTL);
1031 const jti = yield* crypto.randomUUIDv4.pipe(1031 const jti = yield* crypto
1032 Effect.catch(() => relayInternalErrorResponse("internal_error")),1032 .randomUUIDv4()
1033 );1033 .pipe(Effect.catch(() => relayInternalErrorResponse("internal_error")));
1034 return {1034 return {
1035 access_token: yield* relayTokens1035 access_token: yield* relayTokens
1036 .issueDpopAccessToken({1036 .issueDpopAccessToken({
packages/client-runtime/src/operations/commands.ts+1-1
...@@ -267,7 +267,7 @@ const allocateCommandId = Effect.fn("EnvironmentCommands.allocateCommandId")(fun...@@ -267,7 +267,7 @@ const allocateCommandId = Effect.fn("EnvironmentCommands.allocateCommandId")(fun
267) {267) {
268 if (input.commandId !== undefined) return input.commandId;268 if (input.commandId !== undefined) return input.commandId;
269 const crypto = yield* Crypto.Crypto;269 const crypto = yield* Crypto.Crypto;
270 return CommandId.make(yield* crypto.randomUUIDv4.pipe(Effect.orDie));270 return CommandId.make(yield* crypto.randomUUIDv4().pipe(Effect.orDie));
271});271});
272272
273const dispatch = (command: OrchestrationV2Command) =>273const dispatch = (command: OrchestrationV2Command) =>
packages/client-runtime/src/rpc/session.ts+1-1
...@@ -175,7 +175,6 @@ export const make = Effect.fn("RpcSessionFactory.make")(function* (...@@ -175,7 +175,6 @@ export const make = Effect.fn("RpcSessionFactory.make")(function* (
175 const pingTimedOut = yield* Ref.make(false);175 const pingTimedOut = yield* Ref.make(false);
176 const hooks = RpcClient.ConnectionHooks.of({176 const hooks = RpcClient.ConnectionHooks.of({
177 onConnect: Deferred.succeed(connected, undefined).pipe(Effect.asVoid),177 onConnect: Deferred.succeed(connected, undefined).pipe(Effect.asVoid),
178 onPingTimeout: Ref.set(pingTimedOut, true),
179 onDisconnect: Effect.all([Deferred.isDone(connected), Ref.get(pingTimedOut)]).pipe(178 onDisconnect: Effect.all([Deferred.isDone(connected), Ref.get(pingTimedOut)]).pipe(
180 Effect.flatMap(([wasConnected, timedOut]) =>179 Effect.flatMap(([wasConnected, timedOut]) =>
181 Deferred.fail(180 Deferred.fail(
...@@ -204,6 +203,7 @@ export const make = Effect.fn("RpcSessionFactory.make")(function* (...@@ -204,6 +203,7 @@ export const make = Effect.fn("RpcSessionFactory.make")(function* (
204 pingTimeout: PING_TIMEOUT,203 pingTimeout: PING_TIMEOUT,
205 retryTransientErrors: false,204 retryTransientErrors: false,
206 retryPolicy: Schedule.recurs(0),205 retryPolicy: Schedule.recurs(0),
206 onPingTimeout: Ref.set(pingTimedOut, true),
207 }),207 }),
208 ).pipe(208 ).pipe(
209 Layer.provide(209 Layer.provide(
packages/provider-acp-registry/src/server/AcpRegistrySupport.ts+1-1
...@@ -758,7 +758,7 @@ export const makeAcpRegistryCatalog = Effect.fn("AcpRegistryCatalog.make")(funct...@@ -758,7 +758,7 @@ export const makeAcpRegistryCatalog = Effect.fn("AcpRegistryCatalog.make")(funct
758 .pipe(Effect.flatMap(decodeRegistryText), Effect.option);758 .pipe(Effect.flatMap(decodeRegistryText), Effect.option);
759759
760 const writeRegistryCache = (text: string) =>760 const writeRegistryCache = (text: string) =>
761 crypto.randomUUIDv4.pipe(761 crypto.randomUUIDv4().pipe(
762 Effect.flatMap((id) => {762 Effect.flatMap((id) => {
763 const temporaryPath = `${registryCachePath}.${process.pid}-${id}.tmp`;763 const temporaryPath = `${registryCachePath}.${process.pid}-${id}.tmp`;
764 return fileSystem764 return fileSystem
packages/provider-acp/src/server/AcpSessionRuntime.ts+1-1
...@@ -1394,7 +1394,7 @@ export const make = (...@@ -1394,7 +1394,7 @@ export const make = (
1394 // Recently shown tool calls. A late update to a finished call is not a new1394 // Recently shown tool calls. A late update to a finished call is not a new
1395 // boundary in the answer, although its progress state is gone.1395 // boundary in the answer, although its progress state is gone.
1396 const shownToolCallIds = new Set<string>();1396 const shownToolCallIds = new Set<string>();
1397 const assistantItemRuntimeId = yield* crypto.randomUUIDv4.pipe(1397 const assistantItemRuntimeId = yield* crypto.randomUUIDv4().pipe(
1398 Effect.mapError(1398 Effect.mapError(
1399 (cause) =>1399 (cause) =>
1400 new EffectAcpErrors.AcpTransportError({1400 new EffectAcpErrors.AcpTransportError({
packages/provider-acp/src/server/adapter.ts+1-1
...@@ -6001,7 +6001,7 @@ export const makeAcpAdapterV2 = Effect.fn("makeAcpAdapterV2")(function* (...@@ -6001,7 +6001,7 @@ export const makeAcpAdapterV2 = Effect.fn("makeAcpAdapterV2")(function* (
6001 const mcpBridge = yield* makeAcpMcpOverAcpBridge({6001 const mcpBridge = yield* makeAcpMcpOverAcpBridge({
6002 endpoint: mcpContext.endpoint,6002 endpoint: mcpContext.endpoint,
6003 authorization: mcpContext.authorization,6003 authorization: mcpContext.authorization,
6004 allocateConnectionId: crypto.randomUUIDv4.pipe(Effect.orDie),6004 allocateConnectionId: crypto.randomUUIDv4().pipe(Effect.orDie),
6005 });6005 });
6006 yield* Scope.addFinalizer(scope, mcpBridge.dispose);6006 yield* Scope.addFinalizer(scope, mcpBridge.dispose);
6007 return mcpBridge;6007 return mcpBridge;
packages/provider-acp/src/server/nativeLogging.ts+1-1
...@@ -137,7 +137,7 @@ export const makeAcpNativeLoggerFactory = Effect.fn("makeAcpNativeLoggerFactory"...@@ -137,7 +137,7 @@ export const makeAcpNativeLoggerFactory = Effect.fn("makeAcpNativeLoggerFactory"
137 {137 {
138 observedAt,138 observedAt,
139 event: {139 event: {
140 id: yield* crypto.randomUUIDv4,140 id: yield* crypto.randomUUIDv4(),
141 kind: logInput.kind,141 kind: logInput.kind,
142 provider: input.provider,142 provider: input.provider,
143 createdAt: observedAt,143 createdAt: observedAt,
packages/provider-core/src/server/maintenanceResolver.test.ts+1-1
...@@ -40,7 +40,7 @@ const driver = (value: string) => ProviderDriverKind.make(value);...@@ -40,7 +40,7 @@ const driver = (value: string) => ProviderDriverKind.make(value);
40const windowsHost = HostProcess.Platform.defaultValue() === "win32";40const windowsHost = HostProcess.Platform.defaultValue() === "win32";
41const makeTempDir = (name: string) =>41const makeTempDir = (name: string) =>
42 Crypto.Crypto.pipe(42 Crypto.Crypto.pipe(
43 Effect.flatMap((crypto) => crypto.randomUUIDv4),43 Effect.flatMap((crypto) => crypto.randomUUIDv4()),
44 Effect.map((id) => NodePath.join(NodeFS.realpathSync(NodeOS.tmpdir()), `${name}-${id}`)),44 Effect.map((id) => NodePath.join(NodeFS.realpathSync(NodeOS.tmpdir()), `${name}-${id}`)),
45 );45 );
46const isNativeTestCommandPath =46const isNativeTestCommandPath =
packages/provider-core/src/server/providerAuthFlow.ts+1-1
...@@ -241,7 +241,7 @@ export const make = Effect.fn("ProviderAuthFlow.make")(function* (options: {...@@ -241,7 +241,7 @@ export const make = Effect.fn("ProviderAuthFlow.make")(function* (options: {
241 operation: "start",241 operation: "start",
242 detail: "Provider setup is already in progress.",242 detail: "Provider setup is already in progress.",
243 });243 });
244 const id = yield* crypto.randomUUIDv4.pipe(244 const id = yield* crypto.randomUUIDv4().pipe(
245 Effect.mapError(245 Effect.mapError(
246 () =>246 () =>
247 new ProviderSetupError({247 new ProviderSetupError({
packages/provider-cursor/src/server/auth.ts+1-1
...@@ -320,7 +320,7 @@ export const makeCursorAuth = Effect.fn("makeCursorAuth")(function* (options: Cu...@@ -320,7 +320,7 @@ export const makeCursorAuth = Effect.fn("makeCursorAuth")(function* (options: Cu
320 operation: "start",320 operation: "start",
321 detail: "Cursor setup is already in progress.",321 detail: "Cursor setup is already in progress.",
322 });322 });
323 const id = yield* crypto.randomUUIDv4.pipe(323 const id = yield* crypto.randomUUIDv4().pipe(
324 Effect.mapError(324 Effect.mapError(
325 (cause) =>325 (cause) =>
326 new ProviderSetupError({326 new ProviderSetupError({
packages/provider-opencode/package.json+3-3
...@@ -50,9 +50,9 @@...@@ -50,9 +50,9 @@
50 },50 },
51 "dependencies": {51 "dependencies": {
52 "@opencode-ai/sdk": "^1.3.15",52 "@opencode-ai/sdk": "^1.3.15",
53 "@opencode/client": "2.0.23",53 "@opencode/client": "2.0.28",
54 "@opencode/protocol": "2.0.23",54 "@opencode/protocol": "2.0.28",
55 "@opencode/schema": "2.0.23",55 "@opencode/schema": "2.0.28",
56 "@t3tools/contracts": "workspace:*",56 "@t3tools/contracts": "workspace:*",
57 "@t3tools/provider-core": "workspace:*",57 "@t3tools/provider-core": "workspace:*",
58 "@t3tools/shared": "workspace:*",58 "@t3tools/shared": "workspace:*",
packages/provider-opencode/src/server/v2/OpenCode2Client.live.test.ts+1-1
...@@ -91,7 +91,7 @@ describe.runIf(binaryPath !== undefined)("OpenCode2Client live", () => {...@@ -91,7 +91,7 @@ describe.runIf(binaryPath !== undefined)("OpenCode2Client live", () => {
91 });91 });
9292
93 const info = yield* client.server.info();93 const info = yield* client.server.info();
94 assert.strictEqual(info.version, "2.0.23");94 assert.strictEqual(info.version, "2.0.28");
95 assert.strictEqual(info.pid, server.pid);95 assert.strictEqual(info.pid, server.pid);
9696
97 const session = yield* client.session.create({97 const session = yield* client.session.create({
packages/shared/src/relayClient.ts+1-1
...@@ -603,7 +603,7 @@ export const makeCloudflaredRelayClient = Effect.fn("cloudflared.make")(function...@@ -603,7 +603,7 @@ export const makeCloudflaredRelayClient = Effect.fn("cloudflared.make")(function
603 });603 });
604 }604 }
605605
606 const stagedPath = `${managedPath}.${yield* crypto.randomUUIDv4}.tmp`;606 const stagedPath = `${managedPath}.${yield* crypto.randomUUIDv4()}.tmp`;
607 yield* report("activating");607 yield* report("activating");
608 yield* renameWhenUnlocked(executablePath, stagedPath).pipe(608 yield* renameWhenUnlocked(executablePath, stagedPath).pipe(
609 wrapInstallFailure("write_failed", "Could not stage the relay client."),609 wrapInstallFailure("write_failed", "Could not stage the relay client."),
patches/@effect__platform-node-shared@4.0.2.patch deleted-60
...@@ -1,60 +0,0 @@
1diff --git a/dist/NodeChildProcessSpawner.js b/dist/NodeChildProcessSpawner.js
2--- a/dist/NodeChildProcessSpawner.js
3+++ b/dist/NodeChildProcessSpawner.js
4@@ -44,9 +44,17 @@
5 return false;
6 }
7 };
8-const taskkill = (childProcess, onExit = () => {}) => NodeChildProcess.execFile("taskkill", ["/pid", String(childProcess.pid), "/T", "/F"], {
9- windowsHide: true
10-}, onExit);
11+const taskkill = (childProcess, onExit = () => {}) => {
12+ // Once Node observes the leader's exit, taskkill /T cannot reclaim orphaned
13+ // descendants through its PID, which may be reused. Skip stale-PID cleanup.
14+ if (childProcess.exitCode !== null || childProcess.signalCode !== null) {
15+ onExit(null);
16+ return;
17+ }
18+ NodeChildProcess.execFile("taskkill", ["/pid", String(childProcess.pid), "/T", "/F"], {
19+ windowsHide: true
20+ }, onExit);
21+};
22 const make = /*#__PURE__*/Effect.gen(function* () {
23 const fs = yield* FileSystem.FileSystem;
24 const path = yield* Path.Path;
25diff --git a/src/NodeChildProcessSpawner.ts b/src/NodeChildProcessSpawner.ts
26--- a/src/NodeChildProcessSpawner.ts
27+++ b/src/NodeChildProcessSpawner.ts
28@@ -19,7 +19,9 @@
29 * `forceKillAfter`, the wait is limited to one second and never escalates.
30 * With it, cleanup may take the configured duration plus a final one-second
31 * wait after `SIGKILL`. Zombie descendants can consume either full bound. On
32- * Windows, `taskkill` terminates the tree and only the leader's exit is awaited.
33+ * Windows, `taskkill` terminates the tree while the leader is running and only
34+ * the leader's exit is awaited. Descendants that outlive the leader are not
35+ * reclaimed by PID-based cleanup.
36 *
37 * POSIX cleanup targets a numeric process-group ID. If the group disappears
38 * and its ID is reused before cleanup, an unrelated group may be signalled.
39@@ -99,13 +101,20 @@
40 const taskkill = (
41 childProcess: NodeChildProcess.ChildProcess,
42 onExit: (error: NodeChildProcess.ExecException | null) => void = () => {}
43-) =>
44+) => {
45+ // Once Node observes the leader's exit, taskkill /T cannot reclaim orphaned
46+ // descendants through its PID, which may be reused. Skip stale-PID cleanup.
47+ if (childProcess.exitCode !== null || childProcess.signalCode !== null) {
48+ onExit(null)
49+ return
50+ }
51 NodeChildProcess.execFile(
52 "taskkill",
53 ["/pid", String(childProcess.pid!), "/T", "/F"],
54 { windowsHide: true },
55 onExit
56 )
57+}
58
59 const make = Effect.gen(function*() {
60 const fs = yield* FileSystem.FileSystem
patches/@effect__vitest@4.0.2.patch deleted-120
...@@ -1,120 +0,0 @@
1diff --git a/dist/index.d.ts b/dist/index.d.ts
2index 845cb4c..24ede42 100644
3--- a/dist/index.d.ts
4+++ b/dist/index.d.ts
5@@ -10,14 +10,14 @@ import type * as Effect from "effect/Effect";
6 import type * as Layer from "effect/Layer";
7 import type * as Schema from "effect/Schema";
8 import type * as Scope from "effect/Scope";
9-import type * as V from "vitest";
10+import type * as V from "vite-plus/test";
11 /**
12 * Re-exports the `vitest` API unchanged.
13 *
14 * @stability unstable
15 * @since 4.0.0
16 */
17-export * from "vitest";
18+export * from "vite-plus/test";
19 /**
20 * Vitest test API without additional fixtures.
21 *
22diff --git a/dist/index.js b/dist/index.js
23index 178cc74..9289296 100644
24--- a/dist/index.js
25+++ b/dist/index.js
26@@ -5,7 +5,7 @@ import * as internal from "./internal/internal.js";
27 * @stability unstable
28 * @since 4.0.0
29 */
30-export * from "vitest";
31+export * from "vite-plus/test";
32 /**
33 * Invokes the Effect Vitest equality-tester registration hook.
34 *
35diff --git a/dist/internal/internal.js b/dist/internal/internal.js
36index 7138319..4092c67 100644
37--- a/dist/internal/internal.js
38+++ b/dist/internal/internal.js
39@@ -12,7 +12,7 @@ import * as Schedule from "effect/Schedule";
40 import * as Scope from "effect/Scope";
41 import * as TestClock from "effect/testing/TestClock";
42 import * as TestConsole from "effect/testing/TestConsole";
43-import * as V from "vitest";
44+import * as V from "vite-plus/test";
45 const getCurrentSuite = V.TestRunner.getCurrentSuite;
46 const runPromise = /*#__PURE__*/Effect.fnUntraced(function* (effect, _ctx) {
47 const exit = yield* Effect.exit(effect);
48diff --git a/dist/utils.js b/dist/utils.js
49index b97edbe..7dfd64a 100644
50--- a/dist/utils.js
51+++ b/dist/utils.js
52@@ -4,7 +4,7 @@ import * as Option from "effect/Option";
53 import * as Predicate from "effect/Predicate";
54 import * as Result from "effect/Result";
55 import * as assert from "node:assert";
56-import { assert as vassert } from "vitest";
57+import { assert as vassert } from "vite-plus/test";
58 // ----------------------------
59 // Primitives
60 // ----------------------------
61diff --git a/package.json b/package.json
62index 7dbb505..38d13cb 100644
63--- a/package.json
64+++ b/package.json
65@@ -37,7 +37,6 @@
66 "provenance": true
67 },
68 "peerDependencies": {
69- "vitest": ">=5.0.0 <6.0.0",
70 "effect": "^4.0.2"
71 },
72 "devDependencies": {
73diff --git a/src/index.ts b/src/index.ts
74index 9d65132..4aadda8 100644
75--- a/src/index.ts
76+++ b/src/index.ts
77@@ -10,7 +10,7 @@ import type * as Effect from "effect/Effect"
78 import type * as Layer from "effect/Layer"
79 import type * as Schema from "effect/Schema"
80 import type * as Scope from "effect/Scope"
81-import type * as V from "vitest"
82+import type * as V from "vite-plus/test"
83 import * as internal from "./internal/internal.ts"
84
85 /**
86@@ -19,7 +19,7 @@ import * as internal from "./internal/internal.ts"
87 * @stability unstable
88 * @since 4.0.0
89 */
90-export * from "vitest"
91+export * from "vite-plus/test"
92
93 /**
94 * Vitest test API without additional fixtures.
95diff --git a/src/internal/internal.ts b/src/internal/internal.ts
96index b43385b..4da79fd 100644
97--- a/src/internal/internal.ts
98+++ b/src/internal/internal.ts
99@@ -14,7 +14,7 @@ import type * as Schema from "effect/Schema"
100 import * as Scope from "effect/Scope"
101 import * as TestClock from "effect/testing/TestClock"
102 import * as TestConsole from "effect/testing/TestConsole"
103-import * as V from "vitest"
104+import * as V from "vite-plus/test"
105 import type * as Vitest from "../index.ts"
106
107 const getCurrentSuite = V.TestRunner.getCurrentSuite
108diff --git a/src/utils.ts b/src/utils.ts
109index 4473632..2d04404 100644
110--- a/src/utils.ts
111+++ b/src/utils.ts
112@@ -17,7 +17,7 @@ import * as Option from "effect/Option"
113 import * as Predicate from "effect/Predicate"
114 import * as Result from "effect/Result"
115 import * as assert from "node:assert"
116-import { assert as vassert } from "vitest"
117+import { assert as vassert } from "vite-plus/test"
118
119 // ----------------------------
120 // Primitives
patches/@effect__vitest@4.0.4.patch created+120
...@@ -0,0 +1,120 @@
1diff --git a/dist/index.d.ts b/dist/index.d.ts
2index 845cb4c..24ede42 100644
3--- a/dist/index.d.ts
4+++ b/dist/index.d.ts
5@@ -10,14 +10,14 @@ import type * as Effect from "effect/Effect";
6 import type * as Layer from "effect/Layer";
7 import type * as Schema from "effect/Schema";
8 import type * as Scope from "effect/Scope";
9-import type * as V from "vitest";
10+import type * as V from "vite-plus/test";
11 /**
12 * Re-exports the `vitest` API unchanged.
13 *
14 * @stability unstable
15 * @since 4.0.0
16 */
17-export * from "vitest";
18+export * from "vite-plus/test";
19 /**
20 * Vitest test API without additional fixtures.
21 *
22diff --git a/dist/index.js b/dist/index.js
23index 178cc74..9289296 100644
24--- a/dist/index.js
25+++ b/dist/index.js
26@@ -5,7 +5,7 @@ import * as internal from "./internal/internal.js";
27 * @stability unstable
28 * @since 4.0.0
29 */
30-export * from "vitest";
31+export * from "vite-plus/test";
32 /**
33 * Invokes the Effect Vitest equality-tester registration hook.
34 *
35diff --git a/dist/internal/internal.js b/dist/internal/internal.js
36index 7138319..4092c67 100644
37--- a/dist/internal/internal.js
38+++ b/dist/internal/internal.js
39@@ -12,7 +12,7 @@ import * as Schedule from "effect/Schedule";
40 import * as Scope from "effect/Scope";
41 import * as TestClock from "effect/testing/TestClock";
42 import * as TestConsole from "effect/testing/TestConsole";
43-import * as V from "vitest";
44+import * as V from "vite-plus/test";
45 const getCurrentSuite = V.TestRunner.getCurrentSuite;
46 const runPromise = /*#__PURE__*/Effect.fnUntraced(function* (effect, _ctx) {
47 const exit = yield* Effect.exit(effect);
48diff --git a/dist/utils.js b/dist/utils.js
49index b97edbe..7dfd64a 100644
50--- a/dist/utils.js
51+++ b/dist/utils.js
52@@ -4,7 +4,7 @@ import * as Option from "effect/Option";
53 import * as Predicate from "effect/Predicate";
54 import * as Result from "effect/Result";
55 import * as assert from "node:assert";
56-import { assert as vassert } from "vitest";
57+import { assert as vassert } from "vite-plus/test";
58 // ----------------------------
59 // Primitives
60 // ----------------------------
61diff --git a/package.json b/package.json
62index b78f4d6..8c43672 100644
63--- a/package.json
64+++ b/package.json
65@@ -37,7 +37,6 @@
66 "provenance": true
67 },
68 "peerDependencies": {
69- "vitest": ">=5.0.0 <6.0.0",
70 "effect": "^4.0.4"
71 },
72 "devDependencies": {
73diff --git a/src/index.ts b/src/index.ts
74index 9d65132..4aadda8 100644
75--- a/src/index.ts
76+++ b/src/index.ts
77@@ -10,7 +10,7 @@ import type * as Effect from "effect/Effect"
78 import type * as Layer from "effect/Layer"
79 import type * as Schema from "effect/Schema"
80 import type * as Scope from "effect/Scope"
81-import type * as V from "vitest"
82+import type * as V from "vite-plus/test"
83 import * as internal from "./internal/internal.ts"
84
85 /**
86@@ -19,7 +19,7 @@ import * as internal from "./internal/internal.ts"
87 * @stability unstable
88 * @since 4.0.0
89 */
90-export * from "vitest"
91+export * from "vite-plus/test"
92
93 /**
94 * Vitest test API without additional fixtures.
95diff --git a/src/internal/internal.ts b/src/internal/internal.ts
96index b43385b..4da79fd 100644
97--- a/src/internal/internal.ts
98+++ b/src/internal/internal.ts
99@@ -14,7 +14,7 @@ import type * as Schema from "effect/Schema"
100 import * as Scope from "effect/Scope"
101 import * as TestClock from "effect/testing/TestClock"
102 import * as TestConsole from "effect/testing/TestConsole"
103-import * as V from "vitest"
104+import * as V from "vite-plus/test"
105 import type * as Vitest from "../index.ts"
106
107 const getCurrentSuite = V.TestRunner.getCurrentSuite
108diff --git a/src/utils.ts b/src/utils.ts
109index 4473632..2d04404 100644
110--- a/src/utils.ts
111+++ b/src/utils.ts
112@@ -17,7 +17,7 @@ import * as Option from "effect/Option"
113 import * as Predicate from "effect/Predicate"
114 import * as Result from "effect/Result"
115 import * as assert from "node:assert"
116-import { assert as vassert } from "vitest"
117+import { assert as vassert } from "vite-plus/test"
118
119 // ----------------------------
120 // Primitives
patches/@opencode__client@2.0.23.patch deleted-439
...@@ -1,439 +0,0 @@
1diff --git a/dist/chunks/service-version-21favj1f.js b/dist/chunks/service-version-21favj1f.js
2index 3e26e34..56068ac 100644
3--- a/dist/chunks/service-version-21favj1f.js
4+++ b/dist/chunks/service-version-21favj1f.js
5@@ -22,7 +22,7 @@ __export(exports_client, {
6 make: () => make2
7 });
8 import { Cause, Context, Effect, Stream } from "effect";
9-import { HttpClient, HttpClientRequest } from "effect/unstable/http";
10+import { HttpClient, HttpClientRequest } from "effect/http";
11 var CurrentHeaders = Context.Reference("@opencode/client/effect/rpc/headers", {
12 defaultValue: () => {
13 return;
14diff --git a/dist/chunks/service-version-7yt87z36.js b/dist/chunks/service-version-7yt87z36.js
15index 3559e55..aa2ace8 100644
16--- a/dist/chunks/service-version-7yt87z36.js
17+++ b/dist/chunks/service-version-7yt87z36.js
18@@ -14,9 +14,9 @@ __export(exports_client2, {
19 make: () => make3
20 });
21 import { Effect, Stream, Schema } from "effect";
22-import { Sse } from "effect/unstable/encoding";
23-import { HttpClientError } from "effect/unstable/http";
24-import { HttpApiClient } from "effect/unstable/httpapi";
25+import { Sse } from "effect/encoding";
26+import { HttpClientError } from "effect/http";
27+import { HttpApiClient } from "effect/http-api";
28 var mapClientError = (error) => HttpClientError.isHttpClientError(error) || Schema.isSchemaError(error) || Sse.Retry.is(error) ? new ClientError2({ cause: error }) : error;
29 var preserveEffect = () => (effect) => effect;
30 var preserveStream = () => (stream) => stream;
31diff --git a/dist/effect/client.d.ts b/dist/effect/client.d.ts
32index b6ccbb5..98ab36b 100644
33--- a/dist/effect/client.d.ts
34+++ b/dist/effect/client.d.ts
35@@ -1,6 +1,6 @@
36 export * as OpenCode from "./client.js";
37 import { Effect, Stream } from "effect";
38-import { HttpClient } from "effect/unstable/http";
39+import { HttpClient } from "effect/http";
40 import { ClientError } from "./generated/index.js";
41 import { RpcClientRuntime } from "./rpc.js";
42 import type { RpcCallOptions } from "../promise/rpc.js";
43@@ -2290,239 +2290,239 @@ export declare const make: (options?: {
44 readonly metadata?: {
45 readonly [x: string]: unknown;
46 } | undefined;
47- }, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/unstable/encoding/Sse").Retry | import("effect/unstable/encoding/Sse").SseError, never>;
48+ }, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError | import("effect/encoding/Sse").Retry | import("effect/encoding/Sse").SseError, never>;
49 };
50- rpc: RpcClientRuntime.RpcApi<import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | import("@opencode/schema/rpc").SystemError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, RpcCallOptions, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/unstable/encoding/Sse").Retry | import("effect/unstable/encoding/Sse").SseError> & {
51- call: (input: import("./api.js").RpcCallInput) => Effect.Effect<import("./api.js").RpcCallOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").RpcError | import("@opencode/protocol/errors").RpcInternalError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
52+ rpc: RpcClientRuntime.RpcApi<import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | import("@opencode/schema/rpc").SystemError | ClientError | import("effect/http/HttpClientError").HttpClientError, RpcCallOptions, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError | import("effect/encoding/Sse").Retry | import("effect/encoding/Sse").SseError> & {
53+ call: (input: import("./api.js").RpcCallInput) => Effect.Effect<import("./api.js").RpcCallOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").RpcError | import("@opencode/protocol/errors").RpcInternalError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
54 };
55 server: {
56- info: () => Effect.Effect<import("./api.js").ServerInfoOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
57- pair: () => Effect.Effect<import("./api.js").ServerPairOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
58- connect: (input: import("./api.js").ServerConnectInput) => Effect.Effect<import("./api.js").ServerConnectOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
59+ info: () => Effect.Effect<import("./api.js").ServerInfoOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
60+ pair: () => Effect.Effect<import("./api.js").ServerPairOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
61+ connect: (input: import("./api.js").ServerConnectInput) => Effect.Effect<import("./api.js").ServerConnectOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
62 };
63 location: {
64- get: (input?: import("./api.js").LocationGetInput) => Effect.Effect<import("@opencode/schema/location").PublicInfo, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
65- reload: () => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
66+ get: (input?: import("./api.js").LocationGetInput) => Effect.Effect<import("@opencode/schema/location").PublicInfo, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
67+ reload: () => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
68 };
69 agent: {
70- list: (input?: import("./api.js").AgentListInput) => Effect.Effect<import("./api.js").AgentListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
71- get: (input: import("./api.js").AgentGetInput) => Effect.Effect<import("./api.js").AgentGetOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").AgentNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
72+ list: (input?: import("./api.js").AgentListInput) => Effect.Effect<import("./api.js").AgentListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
73+ get: (input: import("./api.js").AgentGetInput) => Effect.Effect<import("./api.js").AgentGetOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").AgentNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
74 };
75 plugin: {
76- list: (input?: import("./api.js").PluginListInput) => Effect.Effect<import("./api.js").PluginListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
77- check: (input?: import("./api.js").PluginCheckInput) => Effect.Effect<import("./api.js").PluginCheckOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
78- update: (input: import("./api.js").PluginUpdateInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
79+ list: (input?: import("./api.js").PluginListInput) => Effect.Effect<import("./api.js").PluginListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
80+ check: (input?: import("./api.js").PluginCheckInput) => Effect.Effect<import("./api.js").PluginCheckOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
81+ update: (input: import("./api.js").PluginUpdateInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
82 };
83 session: {
84- list: (input?: import("./api.js").SessionListInput) => Effect.Effect<import("./api.js").SessionListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").InvalidCursorError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
85- stats: (input?: import("./api.js").SessionStatsInput) => Effect.Effect<import("./api.js").SessionStatsOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
86- create: (input?: import("./api.js").SessionCreateInput) => Effect.Effect<import("@opencode/schema/session").Info, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
87- import: (input: import("./api.js").SessionImportInput) => Effect.Effect<import("@opencode/schema/session").Info, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
88- export: (input: import("./api.js").SessionExportInput) => Effect.Effect<import("./api.js").SessionExportOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
89- active: () => Effect.Effect<import("./api.js").SessionActiveOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
90- get: (input: import("./api.js").SessionGetInput) => Effect.Effect<import("@opencode/schema/session").Info, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
91- remove: (input: import("./api.js").SessionRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
92- fork: (input: import("./api.js").SessionForkInput) => Effect.Effect<import("@opencode/schema/session").Info, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").MessageNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
93- switchAgent: (input: import("./api.js").SessionSwitchAgentInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
94- switchModel: (input: import("./api.js").SessionSwitchModelInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
95- update: (input: import("./api.js").SessionUpdateInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
96- move: (input: import("./api.js").SessionMoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
97- prompt: (input: import("./api.js").SessionPromptInput) => Effect.Effect<import("@opencode/schema/session-inbox").User, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
98- command: (input: import("./api.js").SessionCommandInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").CommandNotFoundError | import("@opencode/protocol/errors").CommandExecutionError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
99- skill: (input: import("./api.js").SessionSkillInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").SkillNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
100- synthetic: (input: import("./api.js").SessionSyntheticInput) => Effect.Effect<import("@opencode/schema/session-inbox").Synthetic, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
101- shell: (input: import("./api.js").SessionShellInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
102- compact: (input: import("./api.js").SessionCompactInput) => Effect.Effect<import("@opencode/schema/session-inbox").Compaction, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
103- wait: (input: import("./api.js").SessionWaitInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
104+ list: (input?: import("./api.js").SessionListInput) => Effect.Effect<import("./api.js").SessionListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").InvalidCursorError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
105+ stats: (input?: import("./api.js").SessionStatsInput) => Effect.Effect<import("./api.js").SessionStatsOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
106+ create: (input?: import("./api.js").SessionCreateInput) => Effect.Effect<import("@opencode/schema/session").Info, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
107+ import: (input: import("./api.js").SessionImportInput) => Effect.Effect<import("@opencode/schema/session").Info, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
108+ export: (input: import("./api.js").SessionExportInput) => Effect.Effect<import("./api.js").SessionExportOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
109+ active: () => Effect.Effect<import("./api.js").SessionActiveOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
110+ get: (input: import("./api.js").SessionGetInput) => Effect.Effect<import("@opencode/schema/session").Info, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
111+ remove: (input: import("./api.js").SessionRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
112+ fork: (input: import("./api.js").SessionForkInput) => Effect.Effect<import("@opencode/schema/session").Info, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").MessageNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
113+ switchAgent: (input: import("./api.js").SessionSwitchAgentInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
114+ switchModel: (input: import("./api.js").SessionSwitchModelInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
115+ update: (input: import("./api.js").SessionUpdateInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
116+ move: (input: import("./api.js").SessionMoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
117+ prompt: (input: import("./api.js").SessionPromptInput) => Effect.Effect<import("@opencode/schema/session-inbox").User, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
118+ command: (input: import("./api.js").SessionCommandInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").CommandNotFoundError | import("@opencode/protocol/errors").CommandExecutionError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
119+ skill: (input: import("./api.js").SessionSkillInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").SkillNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
120+ synthetic: (input: import("./api.js").SessionSyntheticInput) => Effect.Effect<import("@opencode/schema/session-inbox").Synthetic, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
121+ shell: (input: import("./api.js").SessionShellInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
122+ compact: (input: import("./api.js").SessionCompactInput) => Effect.Effect<import("@opencode/schema/session-inbox").Compaction, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
123+ wait: (input: import("./api.js").SessionWaitInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
124 revert: {
125- stage: (input: import("./api.js").SessionRevertStageInput) => Effect.Effect<import("@opencode/schema/session-revert").Revert, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionBusyError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").MessageNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
126- clear: (input: import("./api.js").SessionRevertClearInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionBusyError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
127- commit: (input: import("./api.js").SessionRevertCommitInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionBusyError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
128+ stage: (input: import("./api.js").SessionRevertStageInput) => Effect.Effect<import("@opencode/schema/session-revert").Revert, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionBusyError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").MessageNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
129+ clear: (input: import("./api.js").SessionRevertClearInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionBusyError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
130+ commit: (input: import("./api.js").SessionRevertCommitInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionBusyError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
131 };
132- context: (input: import("./api.js").SessionContextInput) => Effect.Effect<import("./api.js").SessionContextOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
133- diff: (input: import("./api.js").SessionDiffInput) => Effect.Effect<import("./api.js").SessionDiffOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").MessageNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
134+ context: (input: import("./api.js").SessionContextInput) => Effect.Effect<import("./api.js").SessionContextOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
135+ diff: (input: import("./api.js").SessionDiffInput) => Effect.Effect<import("./api.js").SessionDiffOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").MessageNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
136 inbox: {
137- list: (input: import("./api.js").SessionInboxListInput) => Effect.Effect<import("./api.js").SessionInboxListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
138- cancel: (input: import("./api.js").SessionInboxCancelInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
139- update: (input: import("./api.js").SessionInboxUpdateInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
140+ list: (input: import("./api.js").SessionInboxListInput) => Effect.Effect<import("./api.js").SessionInboxListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
141+ cancel: (input: import("./api.js").SessionInboxCancelInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
142+ update: (input: import("./api.js").SessionInboxUpdateInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
143 };
144 instructions: {
145 entry: {
146- list: (input: import("./api.js").SessionInstructionsEntryListInput) => Effect.Effect<import("./api.js").SessionInstructionsEntryListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
147- put: (input: import("./api.js").SessionInstructionsEntryPutInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/schema/instruction-entry").ValueTooLargeError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
148- remove: (input: import("./api.js").SessionInstructionsEntryRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
149+ list: (input: import("./api.js").SessionInstructionsEntryListInput) => Effect.Effect<import("./api.js").SessionInstructionsEntryListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
150+ put: (input: import("./api.js").SessionInstructionsEntryPutInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/schema/instruction-entry").ValueTooLargeError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
151+ remove: (input: import("./api.js").SessionInstructionsEntryRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
152 };
153 };
154- generate: (input: import("./api.js").SessionGenerateInput) => Effect.Effect<import("./api.js").SessionGenerateOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
155- log: (input: import("./api.js").SessionLogInput) => Stream.Stream<import("./api.js").SessionLogOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/unstable/encoding/Sse").Retry | import("effect/unstable/encoding/Sse").SseError, never>;
156- interrupt: (input: import("./api.js").SessionInterruptInput) => Effect.Effect<import("./api.js").SessionInterruptOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
157- background: (input: import("./api.js").SessionBackgroundInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
158+ generate: (input: import("./api.js").SessionGenerateInput) => Effect.Effect<import("./api.js").SessionGenerateOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
159+ log: (input: import("./api.js").SessionLogInput) => Stream.Stream<import("./api.js").SessionLogOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError | import("effect/encoding/Sse").Retry | import("effect/encoding/Sse").SseError, never>;
160+ interrupt: (input: import("./api.js").SessionInterruptInput) => Effect.Effect<import("./api.js").SessionInterruptOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
161+ background: (input: import("./api.js").SessionBackgroundInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
162 message: {
163- get: (input: import("./api.js").SessionMessageGetInput) => Effect.Effect<import("@opencode/schema/session-message").Info, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").MessageNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
164+ get: (input: import("./api.js").SessionMessageGetInput) => Effect.Effect<import("@opencode/schema/session-message").Info, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").MessageNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
165 };
166 form: {
167- list: (input: import("./api.js").SessionFormListInput) => Effect.Effect<import("./api.js").SessionFormListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
168- create: (input: import("./api.js").SessionFormCreateInput) => Effect.Effect<import("@opencode/schema/form").Info, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
169- get: (input: import("./api.js").SessionFormGetInput) => Effect.Effect<import("@opencode/schema/form").Detail, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").FormNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
170- reply: (input: import("./api.js").SessionFormReplyInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").FormNotFoundError | import("@opencode/protocol/errors").FormAlreadySettledError | import("@opencode/protocol/errors").FormInvalidAnswerError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
171- cancel: (input: import("./api.js").SessionFormCancelInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").FormNotFoundError | import("@opencode/protocol/errors").FormAlreadySettledError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
172+ list: (input: import("./api.js").SessionFormListInput) => Effect.Effect<import("./api.js").SessionFormListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
173+ create: (input: import("./api.js").SessionFormCreateInput) => Effect.Effect<import("@opencode/schema/form").Info, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
174+ get: (input: import("./api.js").SessionFormGetInput) => Effect.Effect<import("@opencode/schema/form").Detail, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").FormNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
175+ reply: (input: import("./api.js").SessionFormReplyInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").FormNotFoundError | import("@opencode/protocol/errors").FormAlreadySettledError | import("@opencode/protocol/errors").FormInvalidAnswerError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
176+ cancel: (input: import("./api.js").SessionFormCancelInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").FormNotFoundError | import("@opencode/protocol/errors").FormAlreadySettledError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
177 };
178- environment: (input: import("./api.js").SessionEnvironmentInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
179- view: (input: import("./api.js").SessionViewInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
180+ environment: (input: import("./api.js").SessionEnvironmentInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
181+ view: (input: import("./api.js").SessionViewInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
182 };
183 message: {
184- list: (input: import("./api.js").MessageListInput) => Effect.Effect<import("./api.js").MessageListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").InvalidCursorError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
185+ list: (input: import("./api.js").MessageListInput) => Effect.Effect<import("./api.js").MessageListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").UnknownError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").InvalidCursorError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
186 };
187 model: {
188- list: (input?: import("./api.js").ModelListInput) => Effect.Effect<import("./api.js").ModelListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
189- default: (input?: import("./api.js").ModelDefaultInput) => Effect.Effect<import("./api.js").ModelDefaultOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
190+ list: (input?: import("./api.js").ModelListInput) => Effect.Effect<import("./api.js").ModelListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
191+ default: (input?: import("./api.js").ModelDefaultInput) => Effect.Effect<import("./api.js").ModelDefaultOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
192 };
193 generate: {
194- text: (input: import("./api.js").GenerateTextInput) => Effect.Effect<import("./api.js").GenerateTextOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
195+ text: (input: import("./api.js").GenerateTextInput) => Effect.Effect<import("./api.js").GenerateTextOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
196 };
197 provider: {
198- list: (input?: import("./api.js").ProviderListInput) => Effect.Effect<import("./api.js").ProviderListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
199- get: (input: import("./api.js").ProviderGetInput) => Effect.Effect<import("./api.js").ProviderGetOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").ProviderNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
200+ list: (input?: import("./api.js").ProviderListInput) => Effect.Effect<import("./api.js").ProviderListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
201+ get: (input: import("./api.js").ProviderGetInput) => Effect.Effect<import("./api.js").ProviderGetOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").ProviderNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
202 };
203 integration: {
204- list: (input?: import("./api.js").IntegrationListInput) => Effect.Effect<import("./api.js").IntegrationListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
205- get: (input: import("./api.js").IntegrationGetInput) => Effect.Effect<import("./api.js").IntegrationGetOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
206+ list: (input?: import("./api.js").IntegrationListInput) => Effect.Effect<import("./api.js").IntegrationListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
207+ get: (input: import("./api.js").IntegrationGetInput) => Effect.Effect<import("./api.js").IntegrationGetOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
208 wellknown: {
209- add: (input: import("./api.js").IntegrationWellknownAddInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
210+ add: (input: import("./api.js").IntegrationWellknownAddInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
211 };
212 connect: {
213- key: (input: import("./api.js").IntegrationConnectKeyInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
214+ key: (input: import("./api.js").IntegrationConnectKeyInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
215 };
216 oauth: {
217- connect: (input: import("./api.js").IntegrationOauthConnectInput) => Effect.Effect<import("./api.js").IntegrationOauthConnectOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
218- status: (input: import("./api.js").IntegrationOauthStatusInput) => Effect.Effect<import("./api.js").IntegrationOauthStatusOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | import("@opencode/protocol/errors").IntegrationAttemptNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
219- complete: (input: import("./api.js").IntegrationOauthCompleteInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | import("@opencode/protocol/errors").IntegrationAttemptNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
220- cancel: (input: import("./api.js").IntegrationOauthCancelInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
221+ connect: (input: import("./api.js").IntegrationOauthConnectInput) => Effect.Effect<import("./api.js").IntegrationOauthConnectOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
222+ status: (input: import("./api.js").IntegrationOauthStatusInput) => Effect.Effect<import("./api.js").IntegrationOauthStatusOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | import("@opencode/protocol/errors").IntegrationAttemptNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
223+ complete: (input: import("./api.js").IntegrationOauthCompleteInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | import("@opencode/protocol/errors").IntegrationAttemptNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
224+ cancel: (input: import("./api.js").IntegrationOauthCancelInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
225 };
226 command: {
227- connect: (input: import("./api.js").IntegrationCommandConnectInput) => Effect.Effect<import("./api.js").IntegrationCommandConnectOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | import("@opencode/protocol/errors").IntegrationMethodNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
228- status: (input: import("./api.js").IntegrationCommandStatusInput) => Effect.Effect<import("./api.js").IntegrationCommandStatusOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | import("@opencode/protocol/errors").IntegrationAttemptNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
229- cancel: (input: import("./api.js").IntegrationCommandCancelInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
230+ connect: (input: import("./api.js").IntegrationCommandConnectInput) => Effect.Effect<import("./api.js").IntegrationCommandConnectOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | import("@opencode/protocol/errors").IntegrationMethodNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
231+ status: (input: import("./api.js").IntegrationCommandStatusInput) => Effect.Effect<import("./api.js").IntegrationCommandStatusOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").IntegrationNotFoundError | import("@opencode/protocol/errors").IntegrationAttemptNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
232+ cancel: (input: import("./api.js").IntegrationCommandCancelInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
233 };
234 };
235 mcp: {
236- list: (input?: import("./api.js").McpListInput) => Effect.Effect<import("./api.js").McpListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
237- add: (input: import("./api.js").McpAddInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
238- remove: (input: import("./api.js").McpRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").McpServerNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
239- connect: (input: import("./api.js").McpConnectInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").McpServerNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
240- disconnect: (input: import("./api.js").McpDisconnectInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").McpServerNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
241+ list: (input?: import("./api.js").McpListInput) => Effect.Effect<import("./api.js").McpListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
242+ add: (input: import("./api.js").McpAddInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
243+ remove: (input: import("./api.js").McpRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").McpServerNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
244+ connect: (input: import("./api.js").McpConnectInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").McpServerNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
245+ disconnect: (input: import("./api.js").McpDisconnectInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").McpServerNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
246 resource: {
247- catalog: (input?: import("./api.js").McpResourceCatalogInput) => Effect.Effect<import("./api.js").McpResourceCatalogOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
248+ catalog: (input?: import("./api.js").McpResourceCatalogInput) => Effect.Effect<import("./api.js").McpResourceCatalogOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
249 };
250 };
251 credential: {
252- list: () => Effect.Effect<import("./api.js").CredentialListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
253- create: (input: import("./api.js").CredentialCreateInput) => Effect.Effect<import("@opencode/schema/credential").Entry, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
254- update: (input: import("./api.js").CredentialUpdateInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
255- activate: (input: import("./api.js").CredentialActivateInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
256- remove: (input: import("./api.js").CredentialRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
257+ list: () => Effect.Effect<import("./api.js").CredentialListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
258+ create: (input: import("./api.js").CredentialCreateInput) => Effect.Effect<import("@opencode/schema/credential").Entry, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
259+ update: (input: import("./api.js").CredentialUpdateInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
260+ activate: (input: import("./api.js").CredentialActivateInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
261+ remove: (input: import("./api.js").CredentialRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
262 };
263 project: {
264- list: () => Effect.Effect<import("./api.js").ProjectListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
265- update: (input: import("./api.js").ProjectUpdateInput) => Effect.Effect<import("@opencode/schema/project").Info, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ProjectNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
266+ list: () => Effect.Effect<import("./api.js").ProjectListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
267+ update: (input: import("./api.js").ProjectUpdateInput) => Effect.Effect<import("@opencode/schema/project").Info, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ProjectNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
268 };
269 form: {
270- list: (input?: import("./api.js").FormListInput) => Effect.Effect<import("./api.js").FormListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
271+ list: (input?: import("./api.js").FormListInput) => Effect.Effect<import("./api.js").FormListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
272 };
273 permission: {
274 request: {
275- list: (input?: import("./api.js").PermissionRequestListInput) => Effect.Effect<import("./api.js").PermissionRequestListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
276+ list: (input?: import("./api.js").PermissionRequestListInput) => Effect.Effect<import("./api.js").PermissionRequestListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
277 };
278 saved: {
279- list: (input?: import("./api.js").PermissionSavedListInput) => Effect.Effect<import("./api.js").PermissionSavedListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
280- remove: (input: import("./api.js").PermissionSavedRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
281+ list: (input?: import("./api.js").PermissionSavedListInput) => Effect.Effect<import("./api.js").PermissionSavedListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
282+ remove: (input: import("./api.js").PermissionSavedRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
283 };
284- create: (input: import("./api.js").PermissionCreateInput) => Effect.Effect<import("./api.js").PermissionCreateOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
285- list: (input: import("./api.js").PermissionListInput) => Effect.Effect<import("./api.js").PermissionListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
286- get: (input: import("./api.js").PermissionGetInput) => Effect.Effect<import("@opencode/schema/permission").Request, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").PermissionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
287- reply: (input: import("./api.js").PermissionReplyInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").PermissionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
288+ create: (input: import("./api.js").PermissionCreateInput) => Effect.Effect<import("./api.js").PermissionCreateOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
289+ list: (input: import("./api.js").PermissionListInput) => Effect.Effect<import("./api.js").PermissionListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
290+ get: (input: import("./api.js").PermissionGetInput) => Effect.Effect<import("@opencode/schema/permission").Request, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").PermissionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
291+ reply: (input: import("./api.js").PermissionReplyInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").SessionNotFoundError | import("@opencode/protocol/errors").PermissionNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
292 };
293 file: {
294- list: (input?: import("./api.js").FileListInput) => Effect.Effect<import("./api.js").FileListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
295- find: (input: import("./api.js").FileFindInput) => Effect.Effect<import("./api.js").FileFindOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
296+ list: (input?: import("./api.js").FileListInput) => Effect.Effect<import("./api.js").FileListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
297+ find: (input: import("./api.js").FileFindInput) => Effect.Effect<import("./api.js").FileFindOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
298 };
299 command: {
300- list: (input?: import("./api.js").CommandListInput) => Effect.Effect<import("./api.js").CommandListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
301+ list: (input?: import("./api.js").CommandListInput) => Effect.Effect<import("./api.js").CommandListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
302 };
303 skill: {
304- list: (input?: import("./api.js").SkillListInput) => Effect.Effect<import("./api.js").SkillListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
305+ list: (input?: import("./api.js").SkillListInput) => Effect.Effect<import("./api.js").SkillListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
306 };
307 pty: {
308- list: (input?: import("./api.js").PtyListInput) => Effect.Effect<import("./api.js").PtyListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
309- create: (input?: import("./api.js").PtyCreateInput) => Effect.Effect<import("./api.js").PtyCreateOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
310- get: (input: import("./api.js").PtyGetInput) => Effect.Effect<import("./api.js").PtyGetOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
311- update: (input: import("./api.js").PtyUpdateInput) => Effect.Effect<import("./api.js").PtyUpdateOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
312- remove: (input: import("./api.js").PtyRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
313+ list: (input?: import("./api.js").PtyListInput) => Effect.Effect<import("./api.js").PtyListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
314+ create: (input?: import("./api.js").PtyCreateInput) => Effect.Effect<import("./api.js").PtyCreateOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
315+ get: (input: import("./api.js").PtyGetInput) => Effect.Effect<import("./api.js").PtyGetOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
316+ update: (input: import("./api.js").PtyUpdateInput) => Effect.Effect<import("./api.js").PtyUpdateOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
317+ remove: (input: import("./api.js").PtyRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
318 connect: {
319- token: (input: import("./api.js").PtyConnectTokenInput) => Effect.Effect<import("./api.js").PtyConnectTokenOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ForbiddenError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
320+ token: (input: import("./api.js").PtyConnectTokenInput) => Effect.Effect<import("./api.js").PtyConnectTokenOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ForbiddenError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
321 };
322 };
323 experimental: {
324 persistentPty: {
325- read: (input: import("./api.js").ExperimentalPersistentPtyReadInput) => Effect.Effect<import("./api.js").ExperimentalPersistentPtyReadOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
326- list: (input: import("./api.js").ExperimentalPersistentPtyListInput) => Effect.Effect<import("./api.js").ExperimentalPersistentPtyListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
327- create: (input: import("./api.js").ExperimentalPersistentPtyCreateInput) => Effect.Effect<import("./api.js").ExperimentalPersistentPtyCreateOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
328- shutdown: () => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
329- handoff: () => Effect.Effect<import("./api.js").ExperimentalPersistentPtyHandoffOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
330- get: (input: import("./api.js").ExperimentalPersistentPtyGetInput) => Effect.Effect<import("./api.js").ExperimentalPersistentPtyGetOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
331- update: (input: import("./api.js").ExperimentalPersistentPtyUpdateInput) => Effect.Effect<import("./api.js").ExperimentalPersistentPtyUpdateOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
332- snapshot: (input: import("./api.js").ExperimentalPersistentPtySnapshotInput) => Effect.Effect<import("./api.js").ExperimentalPersistentPtySnapshotOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
333- remove: (input: import("./api.js").ExperimentalPersistentPtyRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
334- connectToken: (input: import("./api.js").ExperimentalPersistentPtyConnectTokenInput) => Effect.Effect<import("@opencode/schema/pty-ticket").ConnectToken, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").ForbiddenError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
335+ read: (input: import("./api.js").ExperimentalPersistentPtyReadInput) => Effect.Effect<import("./api.js").ExperimentalPersistentPtyReadOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
336+ list: (input: import("./api.js").ExperimentalPersistentPtyListInput) => Effect.Effect<import("./api.js").ExperimentalPersistentPtyListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
337+ create: (input: import("./api.js").ExperimentalPersistentPtyCreateInput) => Effect.Effect<import("./api.js").ExperimentalPersistentPtyCreateOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
338+ shutdown: () => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
339+ handoff: () => Effect.Effect<import("./api.js").ExperimentalPersistentPtyHandoffOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
340+ get: (input: import("./api.js").ExperimentalPersistentPtyGetInput) => Effect.Effect<import("./api.js").ExperimentalPersistentPtyGetOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
341+ update: (input: import("./api.js").ExperimentalPersistentPtyUpdateInput) => Effect.Effect<import("./api.js").ExperimentalPersistentPtyUpdateOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
342+ snapshot: (input: import("./api.js").ExperimentalPersistentPtySnapshotInput) => Effect.Effect<import("./api.js").ExperimentalPersistentPtySnapshotOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
343+ remove: (input: import("./api.js").ExperimentalPersistentPtyRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
344+ connectToken: (input: import("./api.js").ExperimentalPersistentPtyConnectTokenInput) => Effect.Effect<import("@opencode/schema/pty-ticket").ConnectToken, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("@opencode/protocol/errors").ForbiddenError | import("@opencode/protocol/errors").PtyNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
345 };
346 };
347 shell: {
348- list: (input?: import("./api.js").ShellListInput) => Effect.Effect<import("./api.js").ShellListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
349- create: (input: import("./api.js").ShellCreateInput) => Effect.Effect<import("./api.js").ShellCreateOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
350- get: (input: import("./api.js").ShellGetInput) => Effect.Effect<import("./api.js").ShellGetOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ShellNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
351- output: (input: import("./api.js").ShellOutputInput) => Effect.Effect<import("./api.js").ShellOutputOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ShellNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
352- remove: (input: import("./api.js").ShellRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
353+ list: (input?: import("./api.js").ShellListInput) => Effect.Effect<import("./api.js").ShellListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
354+ create: (input: import("./api.js").ShellCreateInput) => Effect.Effect<import("./api.js").ShellCreateOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
355+ get: (input: import("./api.js").ShellGetInput) => Effect.Effect<import("./api.js").ShellGetOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ShellNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
356+ output: (input: import("./api.js").ShellOutputInput) => Effect.Effect<import("./api.js").ShellOutputOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ShellNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
357+ remove: (input: import("./api.js").ShellRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
358 };
359 reference: {
360- list: (input?: import("./api.js").ReferenceListInput) => Effect.Effect<import("./api.js").ReferenceListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
361+ list: (input?: import("./api.js").ReferenceListInput) => Effect.Effect<import("./api.js").ReferenceListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
362 };
363 worktree: {
364 list: (input: import("./api.js").WorktreeListInput) => Effect.Effect<readonly {
365 readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
366 readonly strategy?: string | undefined;
367- }[], import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ProjectNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
368- create: (input: import("./api.js").WorktreeCreateInput) => Effect.Effect<import("@opencode/schema/worktree").Info, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ProjectNotFoundError | import("effect/Schema").SchemaError | import("@opencode/protocol/groups/worktree").WorktreeError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
369- remove: (input: import("./api.js").WorktreeRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ProjectNotFoundError | import("effect/Schema").SchemaError | import("@opencode/protocol/groups/worktree").WorktreeError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
370- refresh: (input: import("./api.js").WorktreeRefreshInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ProjectNotFoundError | import("effect/Schema").SchemaError | import("@opencode/protocol/groups/worktree").WorktreeError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
371+ }[], import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ProjectNotFoundError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
372+ create: (input: import("./api.js").WorktreeCreateInput) => Effect.Effect<import("@opencode/schema/worktree").Info, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ProjectNotFoundError | import("effect/Schema").SchemaError | import("@opencode/protocol/groups/worktree").WorktreeError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
373+ remove: (input: import("./api.js").WorktreeRemoveInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ProjectNotFoundError | import("effect/Schema").SchemaError | import("@opencode/protocol/groups/worktree").WorktreeError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
374+ refresh: (input: import("./api.js").WorktreeRefreshInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ProjectNotFoundError | import("effect/Schema").SchemaError | import("@opencode/protocol/groups/worktree").WorktreeError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
375 };
376 vcs: {
377- init: (input?: import("./api.js").VcsInitInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | import("@opencode/protocol/groups/vcs").VcsInitNotSupportedError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
378- get: (input?: import("./api.js").VcsGetInput) => Effect.Effect<import("./api.js").VcsGetOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
379- base: (input?: import("./api.js").VcsBaseInput) => Effect.Effect<import("./api.js").VcsBaseOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
380- status: (input?: import("./api.js").VcsStatusInput) => Effect.Effect<import("./api.js").VcsStatusOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
381+ init: (input?: import("./api.js").VcsInitInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ConflictError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | import("@opencode/protocol/groups/vcs").VcsInitNotSupportedError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
382+ get: (input?: import("./api.js").VcsGetInput) => Effect.Effect<import("./api.js").VcsGetOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
383+ base: (input?: import("./api.js").VcsBaseInput) => Effect.Effect<import("./api.js").VcsBaseOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
384+ status: (input?: import("./api.js").VcsStatusInput) => Effect.Effect<import("./api.js").VcsStatusOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
385 branch: {
386- list: (input?: import("./api.js").VcsBranchListInput) => Effect.Effect<import("./api.js").VcsBranchListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
387+ list: (input?: import("./api.js").VcsBranchListInput) => Effect.Effect<import("./api.js").VcsBranchListOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
388 };
389- diff: (input: import("./api.js").VcsDiffInput) => Effect.Effect<import("./api.js").VcsDiffOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
390+ diff: (input: import("./api.js").VcsDiffInput) => Effect.Effect<import("./api.js").VcsDiffOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
391 };
392 debug: {
393 location: {
394- list: () => Effect.Effect<import("./api.js").DebugLocationListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
395- evict: (input?: import("./api.js").DebugLocationEvictInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
396+ list: () => Effect.Effect<import("./api.js").DebugLocationListOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
397+ evict: (input?: import("./api.js").DebugLocationEvictInput) => Effect.Effect<void, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
398 };
399 };
400 migration: {
401 v1: {
402- status: () => Effect.Effect<import("./api.js").MigrationV1StatusOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
403+ status: () => Effect.Effect<import("./api.js").MigrationV1StatusOutput, import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
404 };
405 };
406 websearch: {
407- providers: (input?: import("./api.js").WebsearchProvidersInput) => Effect.Effect<import("./api.js").WebsearchProvidersOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
408- query: (input: import("./api.js").WebsearchQueryInput) => Effect.Effect<import("./api.js").WebsearchQueryOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
409+ providers: (input?: import("./api.js").WebsearchProvidersInput) => Effect.Effect<import("./api.js").WebsearchProvidersOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
410+ query: (input: import("./api.js").WebsearchQueryInput) => Effect.Effect<import("./api.js").WebsearchQueryOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("@opencode/protocol/errors").ServiceUnavailableError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
411 };
412 config: {
413- get: (input?: import("./api.js").ConfigGetInput) => Effect.Effect<import("./api.js").ConfigGetOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
414- shells: () => Effect.Effect<import("./api.js").ConfigShellsOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
415- update: (input: import("./api.js").ConfigUpdateInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/unstable/http/HttpClientError").HttpClientError, never>;
416+ get: (input?: import("./api.js").ConfigGetInput) => Effect.Effect<import("./api.js").ConfigGetOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
417+ shells: () => Effect.Effect<import("./api.js").ConfigShellsOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
418+ update: (input: import("./api.js").ConfigUpdateInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | import("effect/Schema").SchemaError | ClientError | import("effect/http/HttpClientError").HttpClientError, never>;
419 };
420 }, never, HttpClient.HttpClient>;
421diff --git a/dist/effect/generated/client.d.ts b/dist/effect/generated/client.d.ts
422index 0261a21..278f3fb 100644
423--- a/dist/effect/generated/client.d.ts
424+++ b/dist/effect/generated/client.d.ts
425@@ -1,6 +1,6 @@
426 import { Effect, Stream, Schema } from "effect";
427-import { Sse } from "effect/unstable/encoding";
428-import { HttpClientError } from "effect/unstable/http";
429+import { Sse } from "effect/encoding";
430+import { HttpClientError } from "effect/http";
431 import type { ServerInfoOutput, ServerPairOutput, ServerConnectInput, ServerConnectOutput, LocationGetInput, AgentListInput, AgentListOutput, AgentGetInput, AgentGetOutput, PluginListInput, PluginListOutput, PluginCheckInput, PluginCheckOutput, PluginUpdateInput, SessionListInput, SessionListOutput, SessionStatsInput, SessionStatsOutput, SessionCreateInput, SessionImportInput, SessionExportInput, SessionExportOutput, SessionActiveOutput, SessionGetInput, SessionRemoveInput, SessionForkInput, SessionSwitchAgentInput, SessionSwitchModelInput, SessionUpdateInput, SessionMoveInput, SessionPromptInput, SessionCommandInput, SessionSkillInput, SessionSyntheticInput, SessionShellInput, SessionCompactInput, SessionWaitInput, SessionRevertStageInput, SessionRevertClearInput, SessionRevertCommitInput, SessionContextInput, SessionContextOutput, SessionDiffInput, SessionDiffOutput, SessionInboxListInput, SessionInboxListOutput, SessionInboxCancelInput, SessionInboxUpdateInput, SessionInstructionsEntryListInput, SessionInstructionsEntryListOutput, SessionInstructionsEntryPutInput, SessionInstructionsEntryRemoveInput, SessionGenerateInput, SessionGenerateOutput, SessionLogInput, SessionLogOutput, SessionInterruptInput, SessionInterruptOutput, SessionBackgroundInput, SessionMessageGetInput, SessionFormListInput, SessionFormListOutput, SessionFormCreateInput, SessionFormGetInput, SessionFormReplyInput, SessionFormCancelInput, SessionEnvironmentInput, SessionViewInput, MessageListInput, MessageListOutput, ModelListInput, ModelListOutput, ModelDefaultInput, ModelDefaultOutput, GenerateTextInput, GenerateTextOutput, ProviderListInput, ProviderListOutput, ProviderGetInput, ProviderGetOutput, IntegrationListInput, IntegrationListOutput, IntegrationGetInput, IntegrationGetOutput, IntegrationWellknownAddInput, IntegrationConnectKeyInput, IntegrationOauthConnectInput, IntegrationOauthConnectOutput, IntegrationOauthStatusInput, IntegrationOauthStatusOutput, IntegrationOauthCompleteInput, IntegrationOauthCancelInput, IntegrationCommandConnectInput, IntegrationCommandConnectOutput, IntegrationCommandStatusInput, IntegrationCommandStatusOutput, IntegrationCommandCancelInput, McpListInput, McpListOutput, McpAddInput, McpRemoveInput, McpConnectInput, McpDisconnectInput, McpResourceCatalogInput, McpResourceCatalogOutput, CredentialListOutput, CredentialCreateInput, CredentialUpdateInput, CredentialActivateInput, CredentialRemoveInput, ProjectListOutput, ProjectUpdateInput, FormListInput, FormListOutput, PermissionRequestListInput, PermissionRequestListOutput, PermissionSavedListInput, PermissionSavedListOutput, PermissionSavedRemoveInput, PermissionCreateInput, PermissionCreateOutput, PermissionListInput, PermissionListOutput, PermissionGetInput, PermissionReplyInput, FileListInput, FileListOutput, FileFindInput, FileFindOutput, CommandListInput, CommandListOutput, SkillListInput, SkillListOutput, RpcCallInput, RpcCallOutput, PtyListInput, PtyListOutput, PtyCreateInput, PtyCreateOutput, PtyGetInput, PtyGetOutput, PtyUpdateInput, PtyUpdateOutput, PtyRemoveInput, PtyConnectTokenInput, PtyConnectTokenOutput, ExperimentalPersistentPtyReadInput, ExperimentalPersistentPtyReadOutput, ExperimentalPersistentPtyListInput, ExperimentalPersistentPtyListOutput, ExperimentalPersistentPtyCreateInput, ExperimentalPersistentPtyCreateOutput, ExperimentalPersistentPtyHandoffOutput, ExperimentalPersistentPtyGetInput, ExperimentalPersistentPtyGetOutput, ExperimentalPersistentPtyUpdateInput, ExperimentalPersistentPtyUpdateOutput, ExperimentalPersistentPtySnapshotInput, ExperimentalPersistentPtySnapshotOutput, ExperimentalPersistentPtyRemoveInput, ExperimentalPersistentPtyConnectTokenInput, ShellListInput, ShellListOutput, ShellCreateInput, ShellCreateOutput, ShellGetInput, ShellGetOutput, ShellOutputInput, ShellOutputOutput, ShellRemoveInput, ReferenceListInput, ReferenceListOutput, WorktreeListInput, WorktreeCreateInput, WorktreeRemoveInput, WorktreeRefreshInput, VcsInitInput, VcsGetInput, VcsGetOutput, VcsBaseInput, VcsBaseOutput, VcsStatusInput, VcsStatusOutput, VcsBranchListInput, VcsBranchListOutput, VcsDiffInput, VcsDiffOutput, DebugLocationListOutput, DebugLocationEvictInput, MigrationV1StatusOutput, WebsearchProvidersInput, WebsearchProvidersOutput, WebsearchQueryInput, WebsearchQueryOutput, ConfigGetInput, ConfigGetOutput, ConfigShellsOutput, ConfigUpdateInput } from "../api/api.js";
432 import { ClientError } from "./client-error.js";
433 export declare const make: (options?: {
434@@ -2524,4 +2524,4 @@ export declare const make: (options?: {
435 shells: () => Effect.Effect<ConfigShellsOutput, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
436 update: (input: ConfigUpdateInput) => Effect.Effect<void, import("@opencode/protocol/errors").LocationNotFoundError | import("@opencode/protocol/errors").InvalidRequestError | import("@opencode/protocol/errors").UnauthorizedError | Schema.SchemaError | ClientError | HttpClientError.HttpClientError, never>;
437 };
438-}, never, import("effect/unstable/http/HttpClient").HttpClient>;
439+}, never, import("effect/http/HttpClient").HttpClient>;
patches/@opencode__protocol@2.0.23.patch deleted-844
...@@ -1,844 +0,0 @@
1diff --git a/dist/api.d.ts b/dist/api.d.ts
2index 68fe350..7c8f3f5 100644
3--- a/dist/api.d.ts
4+++ b/dist/api.d.ts
5@@ -1,5 +1,5 @@
6 import { Context } from "effect";
7-import { HttpApi, HttpApiGroup, HttpApiMiddleware } from "effect/unstable/httpapi";
8+import { HttpApi, HttpApiGroup, HttpApiMiddleware } from "effect/http-api";
9 import { SchemaErrorMiddleware } from "./middleware/schema-error.js";
10 import { GenerateGroup } from "./groups/generate.js";
11 import { MessageGroup } from "./groups/message.js";
12diff --git a/dist/api.js b/dist/api.js
13index c68e3ea..0ed6447 100644
14--- a/dist/api.js
15+++ b/dist/api.js
16@@ -1,5 +1,5 @@
17 import { Context } from "effect";
18-import { HttpApi, HttpApiGroup, HttpApiMiddleware, OpenApi } from "effect/unstable/httpapi";
19+import { HttpApi, HttpApiGroup, HttpApiMiddleware, OpenApi } from "effect/http-api";
20 import { SchemaErrorMiddleware } from "./middleware/schema-error.js";
21 import { GenerateGroup } from "./groups/generate.js";
22 import { MessageGroup } from "./groups/message.js";
23diff --git a/dist/client.d.ts b/dist/client.d.ts
24index 8a7bdec..d1fc694 100644
25--- a/dist/client.d.ts
26+++ b/dist/client.d.ts
27@@ -1,7 +1,7 @@
28 import { LocationNotFoundError, InvalidRequestError, SessionNotFoundError } from "./errors.js";
29 import type { Api } from "./api.js";
30 import type { Context } from "effect";
31-import { HttpApiMiddleware } from "effect/unstable/httpapi";
32+import { HttpApiMiddleware } from "effect/http-api";
33 import type { EventGroup } from "./groups/event.js";
34 declare const LocationMiddleware_base: HttpApiMiddleware.ServiceClass<LocationMiddleware, "@opencode/client/LocationMiddleware", {
35 requires: never;
36diff --git a/dist/client.js b/dist/client.js
37index bb2249f..a7f7aa9 100644
38--- a/dist/client.js
39+++ b/dist/client.js
40@@ -1,6 +1,6 @@
41 import { LocationNotFoundError, InvalidRequestError, SessionNotFoundError } from "./errors.js";
42 import { makeDefaultApi } from "./api.js";
43-import { HttpApiMiddleware } from "effect/unstable/httpapi";
44+import { HttpApiMiddleware } from "effect/http-api";
45 class LocationMiddleware extends HttpApiMiddleware.Service()("@opencode/client/LocationMiddleware", { error: [LocationNotFoundError] }) {
46 }
47 class SessionLocationMiddleware extends HttpApiMiddleware.Service()("@opencode/client/SessionLocationMiddleware", { error: [InvalidRequestError, SessionNotFoundError, LocationNotFoundError] }) {
48diff --git a/dist/groups/agent.d.ts b/dist/groups/agent.d.ts
49index ef9632e..57ba96c 100644
50--- a/dist/groups/agent.d.ts
51+++ b/dist/groups/agent.d.ts
52@@ -1,6 +1,6 @@
53 import { Agent } from "@opencode/schema/agent";
54 import { Schema } from "effect";
55-import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
56+import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
57 import { AgentNotFoundError } from "../errors.js";
58 export declare const AgentGroup: HttpApiGroup.HttpApiGroup<"server.agent", HttpApiEndpoint.HttpApiEndpoint<"agent.list", "GET", "/api/agent", never, Schema.toCodecStringTree<Schema.Struct<{
59 readonly location: Schema.optional<Schema.Struct<{
60diff --git a/dist/groups/agent.js b/dist/groups/agent.js
61index 130bcc5..edcebfc 100644
62--- a/dist/groups/agent.js
63+++ b/dist/groups/agent.js
64@@ -1,7 +1,7 @@
65 import { Agent } from "@opencode/schema/agent";
66 import { Location } from "@opencode/schema/location";
67 import { Schema } from "effect";
68-import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
69+import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/http-api";
70 import { LocationQuery, locationQueryOpenApi } from "./location.js";
71 import { AgentNotFoundError } from "../errors.js";
72 export const AgentGroup = HttpApiGroup.make("server.agent")
73diff --git a/dist/groups/command.d.ts b/dist/groups/command.d.ts
74index b24f481..373b95c 100644
75--- a/dist/groups/command.d.ts
76+++ b/dist/groups/command.d.ts
77@@ -1,5 +1,5 @@
78 import { Schema } from "effect";
79-import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
80+import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
81 export declare const CommandGroup: HttpApiGroup.HttpApiGroup<"server.command", HttpApiEndpoint.HttpApiEndpoint<"command.list", "GET", "/api/command", never, Schema.toCodecStringTree<Schema.Struct<{
82 readonly location: Schema.optional<Schema.Struct<{
83 readonly directory: Schema.optional<Schema.String>;
84diff --git a/dist/groups/command.js b/dist/groups/command.js
85index cd89b47..341eb23 100644
86--- a/dist/groups/command.js
87+++ b/dist/groups/command.js
88@@ -1,7 +1,7 @@
89 import { Command } from "@opencode/schema/command";
90 import { Location } from "@opencode/schema/location";
91 import { Schema } from "effect";
92-import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
93+import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/http-api";
94 import { LocationQuery, locationQueryOpenApi } from "./location.js";
95 export const CommandGroup = HttpApiGroup.make("server.command")
96 .add(HttpApiEndpoint.get("command.list", "/api/command", {
97diff --git a/dist/groups/config.d.ts b/dist/groups/config.d.ts
98index 31f1042..0432fc2 100644
99--- a/dist/groups/config.d.ts
100+++ b/dist/groups/config.d.ts
101@@ -1,6 +1,6 @@
102 import { Config } from "@opencode/schema/config";
103 import { Schema } from "effect";
104-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/unstable/httpapi";
105+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/http-api";
106 export declare const ConfigGroup: HttpApiGroup.HttpApiGroup<"server.config", HttpApiEndpoint.HttpApiEndpoint<"config.get", "GET", "/api/config", never, Schema.toCodecStringTree<Schema.Struct<{
107 readonly location: Schema.optional<Schema.Struct<{
108 readonly directory: Schema.optional<Schema.String>;
109diff --git a/dist/groups/config.js b/dist/groups/config.js
110index 228002a..14748f6 100644
111--- a/dist/groups/config.js
112+++ b/dist/groups/config.js
113@@ -1,7 +1,7 @@
114 import { Config } from "@opencode/schema/config";
115 import { ConfigShell } from "@opencode/schema/config/shell";
116 import { Schema } from "effect";
117-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
118+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/http-api";
119 import { LocationQuery, locationQueryOpenApi } from "./location.js";
120 export const ConfigGroup = HttpApiGroup.make("server.config")
121 .add(HttpApiEndpoint.get("config.get", "/api/config", {
122diff --git a/dist/groups/credential.d.ts b/dist/groups/credential.d.ts
123index 12de0a3..a4c616e 100644
124--- a/dist/groups/credential.d.ts
125+++ b/dist/groups/credential.d.ts
126@@ -1,5 +1,5 @@
127 import { Schema } from "effect";
128-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/unstable/httpapi";
129+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/http-api";
130 import { ConflictError } from "../errors.js";
131 export declare const CredentialGroup: HttpApiGroup.HttpApiGroup<"server.credential", HttpApiEndpoint.HttpApiEndpoint<"credential.list", "GET", "/api/credential", never, never, never, never, Schema.toCodecJson<Schema.Struct<{
132 readonly data: Schema.$Array<Schema.Struct<{
133diff --git a/dist/groups/credential.js b/dist/groups/credential.js
134index bbdf76c..8e8ce95 100644
135--- a/dist/groups/credential.js
136+++ b/dist/groups/credential.js
137@@ -1,6 +1,6 @@
138 import { Credential } from "@opencode/schema/credential";
139 import { Schema } from "effect";
140-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
141+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/http-api";
142 import { ConflictError } from "../errors.js";
143 export const CredentialGroup = HttpApiGroup.make("server.credential")
144 .add(HttpApiEndpoint.get("credential.list", "/api/credential", {
145diff --git a/dist/groups/debug.d.ts b/dist/groups/debug.d.ts
146index accad9f..5a74541 100644
147--- a/dist/groups/debug.d.ts
148+++ b/dist/groups/debug.d.ts
149@@ -1,5 +1,5 @@
150 import { Schema } from "effect";
151-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/unstable/httpapi";
152+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/http-api";
153 export declare const DebugGroup: HttpApiGroup.HttpApiGroup<"server.debug", HttpApiEndpoint.HttpApiEndpoint<"debug.location", "GET", "/api/debug/location", never, never, never, never, Schema.toCodecJson<Schema.$Array<Schema.Struct<{
154 readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
155 }>>>, never, never, never> | HttpApiEndpoint.HttpApiEndpoint<"debug.location.evict", "DELETE", "/api/debug/location", never, Schema.toCodecStringTree<Schema.Struct<{
156diff --git a/dist/groups/debug.js b/dist/groups/debug.js
157index 8062413..9721272 100644
158--- a/dist/groups/debug.js
159+++ b/dist/groups/debug.js
160@@ -1,6 +1,6 @@
161 import { Location } from "@opencode/schema/location";
162 import { Schema } from "effect";
163-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
164+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/http-api";
165 import { LocationQuery, locationQueryOpenApi } from "./location.js";
166 export const DebugGroup = HttpApiGroup.make("server.debug")
167 .add(HttpApiEndpoint.get("debug.location", "/api/debug/location", {
168diff --git a/dist/groups/event.d.ts b/dist/groups/event.d.ts
169index 3275a63..7ddc811 100644
170--- a/dist/groups/event.d.ts
171+++ b/dist/groups/event.d.ts
172@@ -1,7 +1,7 @@
173 import { Event } from "@opencode/schema/event";
174 import type { Definition } from "@opencode/schema/event";
175 import { Schema } from "effect";
176-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/unstable/httpapi";
177+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/http-api";
178 export declare const makeEventGroup: <const Definitions extends ReadonlyArray<Definition>>(definitions: Definitions) => HttpApiGroup.HttpApiGroup<"server.event", HttpApiEndpoint.HttpApiEndpoint<"event.subscribe", "GET", "/api/event", never, never, never, never, HttpApiSchema.StreamSse<HttpApiSchema.SseEventFromData<Schema.Union<readonly [...Definitions, Schema.Struct<{
179 readonly id: Schema.brand<Schema.String, "Event.ID"> & {
180 create: () => string & import("effect/Brand").Brand<"Event.ID">;
181diff --git a/dist/groups/event.js b/dist/groups/event.js
182index 7d086fe..667e078 100644
183--- a/dist/groups/event.js
184+++ b/dist/groups/event.js
185@@ -2,7 +2,7 @@ import { Event } from "@opencode/schema/event";
186 import { EventManifest } from "@opencode/schema/event-manifest";
187 import { Location } from "@opencode/schema/location";
188 import { Schema } from "effect";
189-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
190+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/http-api";
191 const fields = {
192 id: Event.ID,
193 metadata: Schema.optional(Schema.Record(Schema.String, Schema.Unknown)),
194diff --git a/dist/groups/form.d.ts b/dist/groups/form.d.ts
195index ef9289e..efff3f0 100644
196--- a/dist/groups/form.d.ts
197+++ b/dist/groups/form.d.ts
198@@ -1,5 +1,5 @@
199 import { Context, Schema } from "effect";
200-import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware } from "effect/unstable/httpapi";
201+import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware } from "effect/http-api";
202 export declare const makeFormGroup: <LocationId extends HttpApiMiddleware.AnyId, LocationService>(locationMiddleware: Context.Key<LocationId, LocationService>) => HttpApiGroup.HttpApiGroup<"server.form", HttpApiEndpoint.HttpApiEndpoint<"form.list", "GET", "/api/form", never, Schema.toCodecStringTree<Schema.Struct<{
203 readonly location: Schema.optional<Schema.Struct<{
204 readonly directory: Schema.optional<Schema.String>;
205diff --git a/dist/groups/form.js b/dist/groups/form.js
206index 7b97820..d68d534 100644
207--- a/dist/groups/form.js
208+++ b/dist/groups/form.js
209@@ -1,7 +1,7 @@
210 import { Form } from "@opencode/schema/form";
211 import { Location } from "@opencode/schema/location";
212 import { Context, Schema } from "effect";
213-import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, OpenApi } from "effect/unstable/httpapi";
214+import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, OpenApi } from "effect/http-api";
215 import { LocationQuery, locationQueryOpenApi } from "./location.js";
216 export const makeFormGroup = (locationMiddleware) => HttpApiGroup.make("server.form")
217 .add(HttpApiEndpoint.get("form.list", "/api/form", {
218diff --git a/dist/groups/fs.d.ts b/dist/groups/fs.d.ts
219index c8294ac..af3ac60 100644
220--- a/dist/groups/fs.d.ts
221+++ b/dist/groups/fs.d.ts
222@@ -1,5 +1,5 @@
223 import { Schema } from "effect";
224-import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
225+import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
226 import { FileNotFoundError } from "../errors.js";
227 export declare const FileSystemGroup: HttpApiGroup.HttpApiGroup<"server.fs", HttpApiEndpoint.HttpApiEndpoint<"fs.read", "GET", "/api/fs/read/*", never, Schema.toCodecStringTree<Schema.Struct<{
228 readonly location: Schema.optional<Schema.Struct<{
229diff --git a/dist/groups/fs.js b/dist/groups/fs.js
230index 313dbeb..68ff2ef 100644
231--- a/dist/groups/fs.js
232+++ b/dist/groups/fs.js
233@@ -2,7 +2,7 @@ import { FileSystem } from "@opencode/schema/filesystem";
234 import { Location } from "@opencode/schema/location";
235 import { PositiveInt } from "@opencode/schema/schema";
236 import { Schema } from "effect";
237-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
238+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/http-api";
239 import { FileNotFoundError } from "../errors.js";
240 import { LocationQuery, locationQueryOpenApi } from "./location.js";
241 const ListQuery = Schema.Struct({
242diff --git a/dist/groups/generate.d.ts b/dist/groups/generate.d.ts
243index aa50f1b..182cd36 100644
244--- a/dist/groups/generate.d.ts
245+++ b/dist/groups/generate.d.ts
246@@ -1,5 +1,5 @@
247 import { Schema } from "effect";
248-import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
249+import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
250 import { LocationNotFoundError, InvalidRequestError, ServiceUnavailableError } from "../errors.js";
251 export declare const GenerateGroup: HttpApiGroup.HttpApiGroup<"server.generate", HttpApiEndpoint.HttpApiEndpoint<"generate.text", "POST", "/api/experimental/generate", never, never, Schema.toCodecJson<Schema.Struct<{
252 readonly prompt: Schema.String;
253diff --git a/dist/groups/generate.js b/dist/groups/generate.js
254index 4faaee7..f7f5a57 100644
255--- a/dist/groups/generate.js
256+++ b/dist/groups/generate.js
257@@ -1,6 +1,6 @@
258 import { Model } from "@opencode/schema/model";
259 import { Schema } from "effect";
260-import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
261+import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/http-api";
262 import { LocationNotFoundError, InvalidRequestError, ServiceUnavailableError } from "../errors.js";
263 export const GenerateGroup = HttpApiGroup.make("server.generate")
264 .add(HttpApiEndpoint.post("generate.text", "/api/experimental/generate", {
265diff --git a/dist/groups/integration.d.ts b/dist/groups/integration.d.ts
266index e7b4bf8..d3b5d1f 100644
267--- a/dist/groups/integration.d.ts
268+++ b/dist/groups/integration.d.ts
269@@ -1,6 +1,6 @@
270 import { Integration } from "@opencode/schema/integration";
271 import { Schema } from "effect";
272-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/unstable/httpapi";
273+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/http-api";
274 import { IntegrationAttemptNotFoundError, IntegrationMethodNotFoundError, IntegrationNotFoundError, InvalidRequestError } from "../errors.js";
275 export declare const IntegrationGroup: HttpApiGroup.HttpApiGroup<"server.integration", HttpApiEndpoint.HttpApiEndpoint<"integration.list", "GET", "/api/integration", never, Schema.toCodecStringTree<Schema.Struct<{
276 readonly location: Schema.optional<Schema.Struct<{
277diff --git a/dist/groups/integration.js b/dist/groups/integration.js
278index 6ca6f55..27b3792 100644
279--- a/dist/groups/integration.js
280+++ b/dist/groups/integration.js
281@@ -2,7 +2,7 @@ import { Integration } from "@opencode/schema/integration";
282 import { Location } from "@opencode/schema/location";
283 import { Form } from "@opencode/schema/form";
284 import { Schema } from "effect";
285-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
286+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/http-api";
287 import { IntegrationAttemptNotFoundError, IntegrationMethodNotFoundError, IntegrationNotFoundError, InvalidRequestError, } from "../errors.js";
288 import { LocationQuery, locationQueryOpenApi } from "./location.js";
289 export const IntegrationGroup = HttpApiGroup.make("server.integration")
290diff --git a/dist/groups/location.d.ts b/dist/groups/location.d.ts
291index 5f3ef6b..96cdcd3 100644
292--- a/dist/groups/location.d.ts
293+++ b/dist/groups/location.d.ts
294@@ -1,5 +1,5 @@
295 import { Context, Schema } from "effect";
296-import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema } from "effect/unstable/httpapi";
297+import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema } from "effect/http-api";
298 import { ServiceUnavailableError } from "../errors.js";
299 export declare const LocationQuery: Schema.Struct<{
300 readonly location: Schema.optional<Schema.Struct<{
301diff --git a/dist/groups/location.js b/dist/groups/location.js
302index 7fa63bf..10f4969 100644
303--- a/dist/groups/location.js
304+++ b/dist/groups/location.js
305@@ -1,6 +1,6 @@
306 import { Location } from "@opencode/schema/location";
307 import { Context, Schema } from "effect";
308-import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
309+import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema, OpenApi } from "effect/http-api";
310 import { ServiceUnavailableError } from "../errors.js";
311 export const LocationQuery = Schema.Struct({
312 location: Schema.optional(Schema.Struct({
313diff --git a/dist/groups/mcp.d.ts b/dist/groups/mcp.d.ts
314index fc661e0..8c7dbe8 100644
315--- a/dist/groups/mcp.d.ts
316+++ b/dist/groups/mcp.d.ts
317@@ -1,6 +1,6 @@
318 import { Mcp } from "@opencode/schema/mcp";
319 import { Schema } from "effect";
320-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/unstable/httpapi";
321+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/http-api";
322 import { McpServerNotFoundError } from "../errors.js";
323 export declare const McpGroup: HttpApiGroup.HttpApiGroup<"server.mcp", HttpApiEndpoint.HttpApiEndpoint<"mcp.list", "GET", "/api/mcp", never, Schema.toCodecStringTree<Schema.Struct<{
324 readonly location: Schema.optional<Schema.Struct<{
325diff --git a/dist/groups/mcp.js b/dist/groups/mcp.js
326index 60fdde9..658d875 100644
327--- a/dist/groups/mcp.js
328+++ b/dist/groups/mcp.js
329@@ -1,7 +1,7 @@
330 import { Mcp } from "@opencode/schema/mcp";
331 import { Location } from "@opencode/schema/location";
332 import { Schema } from "effect";
333-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
334+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/http-api";
335 import { McpServerNotFoundError } from "../errors.js";
336 import { LocationQuery, locationQueryOpenApi } from "./location.js";
337 export const McpGroup = HttpApiGroup.make("server.mcp")
338diff --git a/dist/groups/message.d.ts b/dist/groups/message.d.ts
339index c9d470d..a50943a 100644
340--- a/dist/groups/message.d.ts
341+++ b/dist/groups/message.d.ts
342@@ -1,5 +1,5 @@
343 import { Schema } from "effect";
344-import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
345+import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
346 import { InvalidCursorError, SessionNotFoundError, UnknownError } from "../errors.js";
347 export declare const SessionMessagesQuery: Schema.Struct<{
348 readonly limit: Schema.optional<Schema.NumberFromString>;
349diff --git a/dist/groups/message.js b/dist/groups/message.js
350index 135878a..9c546b0 100644
351--- a/dist/groups/message.js
352+++ b/dist/groups/message.js
353@@ -2,7 +2,7 @@ import { Session } from "@opencode/schema/session";
354 import { SessionMessage } from "@opencode/schema/session-message";
355 import { Location } from "@opencode/schema/location";
356 import { Schema, Struct } from "effect";
357-import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
358+import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/http-api";
359 import { InvalidCursorError, SessionNotFoundError, UnknownError } from "../errors.js";
360 export const SessionMessagesQuery = Schema.Struct({
361 limit: Schema.optional(Schema.NumberFromString.check(Schema.isInt(), Schema.isGreaterThanOrEqualTo(1), Schema.isLessThanOrEqualTo(200))).annotate({
362diff --git a/dist/groups/migration.d.ts b/dist/groups/migration.d.ts
363index 627b223..4a9323d 100644
364--- a/dist/groups/migration.d.ts
365+++ b/dist/groups/migration.d.ts
366@@ -1,5 +1,5 @@
367 import { Schema } from "effect";
368-import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
369+import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
370 export declare const V1MigrationStatus: Schema.Union<readonly [Schema.Struct<{
371 readonly status: Schema.Literals<readonly ["required", "completed"]>;
372 }>, Schema.Struct<{
373diff --git a/dist/groups/migration.js b/dist/groups/migration.js
374index 20cf324..ef048e9 100644
375--- a/dist/groups/migration.js
376+++ b/dist/groups/migration.js
377@@ -1,5 +1,5 @@
378 import { Schema } from "effect";
379-import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
380+import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/http-api";
381 const V1MigrationProgress = Schema.Struct({
382 label: Schema.String,
383 numerator: Schema.optional(Schema.Int.check(Schema.isGreaterThanOrEqualTo(0))),
384diff --git a/dist/groups/model.d.ts b/dist/groups/model.d.ts
385index 8bb1daa..787fe05 100644
386--- a/dist/groups/model.d.ts
387+++ b/dist/groups/model.d.ts
388@@ -1,6 +1,6 @@
389 import { Model } from "@opencode/schema/model";
390 import { Schema } from "effect";
391-import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
392+import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
393 import { ServiceUnavailableError } from "../errors.js";
394 export declare const ModelGroup: HttpApiGroup.HttpApiGroup<"server.model", HttpApiEndpoint.HttpApiEndpoint<"model.list", "GET", "/api/model", never, Schema.toCodecStringTree<Schema.Struct<{
395 readonly location: Schema.optional<Schema.Struct<{
396diff --git a/dist/groups/model.js b/dist/groups/model.js
397index 47d96e7..3d89ba9 100644
398--- a/dist/groups/model.js
399+++ b/dist/groups/model.js
400@@ -1,7 +1,7 @@
401 import { Model } from "@opencode/schema/model";
402 import { Location } from "@opencode/schema/location";
403 import { Schema } from "effect";
404-import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
405+import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/http-api";
406 import { ServiceUnavailableError } from "../errors.js";
407 import { LocationQuery, locationQueryOpenApi } from "./location.js";
408 export const ModelGroup = HttpApiGroup.make("server.model")
409diff --git a/dist/groups/permission.d.ts b/dist/groups/permission.d.ts
410index 767b088..a881422 100644
411--- a/dist/groups/permission.d.ts
412+++ b/dist/groups/permission.d.ts
413@@ -1,5 +1,5 @@
414 import { Context, Schema } from "effect";
415-import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema } from "effect/unstable/httpapi";
416+import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema } from "effect/http-api";
417 import { LocationNotFoundError, PermissionNotFoundError, SessionNotFoundError } from "../errors.js";
418 export declare const makePermissionGroup: <LocationId extends HttpApiMiddleware.AnyId, LocationService, SessionLocationId extends HttpApiMiddleware.AnyId, SessionLocationService>(locationMiddleware: Context.Key<LocationId, LocationService>, sessionLocationMiddleware: Context.Key<SessionLocationId, SessionLocationService>) => HttpApiGroup.HttpApiGroup<"server.permission", HttpApiEndpoint.HttpApiEndpoint<"permission.request.list", "GET", "/api/permission/request", never, Schema.toCodecStringTree<Schema.Struct<{
419 readonly location: Schema.optional<Schema.Struct<{
420diff --git a/dist/groups/permission.js b/dist/groups/permission.js
421index 9ab7bf8..b8bba46 100644
422--- a/dist/groups/permission.js
423+++ b/dist/groups/permission.js
424@@ -5,7 +5,7 @@ import { PermissionSaved } from "@opencode/schema/permission-saved";
425 import { Project } from "@opencode/schema/project";
426 import { Session } from "@opencode/schema/session";
427 import { Context, Schema } from "effect";
428-import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
429+import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema, OpenApi } from "effect/http-api";
430 import { LocationNotFoundError, PermissionNotFoundError, SessionNotFoundError } from "../errors.js";
431 import { LocationQuery, locationQueryOpenApi } from "./location.js";
432 export const makePermissionGroup = (locationMiddleware, sessionLocationMiddleware) => HttpApiGroup.make("server.permission")
433diff --git a/dist/groups/persistent-pty.d.ts b/dist/groups/persistent-pty.d.ts
434index efb7472..b6b786b 100644
435--- a/dist/groups/persistent-pty.d.ts
436+++ b/dist/groups/persistent-pty.d.ts
437@@ -1,5 +1,5 @@
438 import { Schema } from "effect";
439-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/unstable/httpapi";
440+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/http-api";
441 import { ForbiddenError, InvalidRequestError, PtyNotFoundError, ServiceUnavailableError } from "../errors.js";
442 import { PTY_CONNECT_TICKET_QUERY, PTY_CONNECT_TOKEN_HEADER, PTY_CONNECT_TOKEN_HEADER_VALUE } from "./pty.js";
443 export { PTY_CONNECT_TICKET_QUERY, PTY_CONNECT_TOKEN_HEADER, PTY_CONNECT_TOKEN_HEADER_VALUE };
444diff --git a/dist/groups/persistent-pty.js b/dist/groups/persistent-pty.js
445index 85ad02f..b64c896 100644
446--- a/dist/groups/persistent-pty.js
447+++ b/dist/groups/persistent-pty.js
448@@ -3,7 +3,7 @@ import { Pty } from "@opencode/schema/pty";
449 import { PtyTicket } from "@opencode/schema/pty-ticket";
450 import { Session } from "@opencode/schema/session";
451 import { Schema } from "effect";
452-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
453+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/http-api";
454 import { ForbiddenError, InvalidRequestError, PtyNotFoundError, ServiceUnavailableError } from "../errors.js";
455 import { PTY_CONNECT_TICKET_QUERY, PTY_CONNECT_TOKEN_HEADER, PTY_CONNECT_TOKEN_HEADER_VALUE } from "./pty.js";
456 export { PTY_CONNECT_TICKET_QUERY, PTY_CONNECT_TOKEN_HEADER, PTY_CONNECT_TOKEN_HEADER_VALUE };
457diff --git a/dist/groups/plugin.d.ts b/dist/groups/plugin.d.ts
458index 30d0f78..8bd4ecd 100644
459--- a/dist/groups/plugin.d.ts
460+++ b/dist/groups/plugin.d.ts
461@@ -1,5 +1,5 @@
462 import { Schema } from "effect";
463-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/unstable/httpapi";
464+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/http-api";
465 import { InvalidRequestError, ServiceUnavailableError } from "../errors.js";
466 export declare const PluginGroup: HttpApiGroup.HttpApiGroup<"server.plugin", HttpApiEndpoint.HttpApiEndpoint<"plugin.list", "GET", "/api/plugin", never, Schema.toCodecStringTree<Schema.Struct<{
467 readonly location: Schema.optional<Schema.Struct<{
468diff --git a/dist/groups/plugin.js b/dist/groups/plugin.js
469index 90d5b91..dd72e92 100644
470--- a/dist/groups/plugin.js
471+++ b/dist/groups/plugin.js
472@@ -1,7 +1,7 @@
473 import { Location } from "@opencode/schema/location";
474 import { Plugin } from "@opencode/schema/plugin";
475 import { Schema } from "effect";
476-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
477+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/http-api";
478 import { InvalidRequestError, ServiceUnavailableError } from "../errors.js";
479 import { LocationQuery, locationQueryOpenApi } from "./location.js";
480 export const PluginGroup = HttpApiGroup.make("server.plugin")
481diff --git a/dist/groups/project.d.ts b/dist/groups/project.d.ts
482index e4558f6..ab6952a 100644
483--- a/dist/groups/project.d.ts
484+++ b/dist/groups/project.d.ts
485@@ -1,5 +1,5 @@
486 import { Schema } from "effect";
487-import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
488+import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
489 import { ProjectNotFoundError } from "../errors.js";
490 export declare const ProjectGroup: HttpApiGroup.HttpApiGroup<"server.project", HttpApiEndpoint.HttpApiEndpoint<"project.list", "GET", "/api/project", never, never, never, never, Schema.toCodecJson<Schema.$Array<Schema.Struct<{
491 readonly id: Schema.brand<Schema.String, "Project.ID"> & {
492diff --git a/dist/groups/project.js b/dist/groups/project.js
493index 7424c4e..b67f839 100644
494--- a/dist/groups/project.js
495+++ b/dist/groups/project.js
496@@ -1,6 +1,6 @@
497 import { Project } from "@opencode/schema/project";
498 import { Schema, Struct } from "effect";
499-import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
500+import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/http-api";
501 import { ProjectNotFoundError } from "../errors.js";
502 const root = "/api/project";
503 const UpdatePayload = Schema.Struct(Struct.omit(Project.UpdateInput.fields, ["projectID"]));
504diff --git a/dist/groups/provider.d.ts b/dist/groups/provider.d.ts
505index 2671555..89118fe 100644
506--- a/dist/groups/provider.d.ts
507+++ b/dist/groups/provider.d.ts
508@@ -1,6 +1,6 @@
509 import { Provider } from "@opencode/schema/provider";
510 import { Schema } from "effect";
511-import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
512+import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
513 import { ProviderNotFoundError, ServiceUnavailableError } from "../errors.js";
514 export declare const ProviderGroup: HttpApiGroup.HttpApiGroup<"server.provider", HttpApiEndpoint.HttpApiEndpoint<"provider.list", "GET", "/api/provider", never, Schema.toCodecStringTree<Schema.Struct<{
515 readonly location: Schema.optional<Schema.Struct<{
516diff --git a/dist/groups/provider.js b/dist/groups/provider.js
517index b587f80..20f52fa 100644
518--- a/dist/groups/provider.js
519+++ b/dist/groups/provider.js
520@@ -1,7 +1,7 @@
521 import { Provider } from "@opencode/schema/provider";
522 import { Location } from "@opencode/schema/location";
523 import { Schema } from "effect";
524-import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
525+import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/http-api";
526 import { ProviderNotFoundError, ServiceUnavailableError } from "../errors.js";
527 import { LocationQuery, locationQueryOpenApi } from "./location.js";
528 export const ProviderGroup = HttpApiGroup.make("server.provider")
529diff --git a/dist/groups/pty.d.ts b/dist/groups/pty.d.ts
530index a1ec2fb..7bbe99b 100644
531--- a/dist/groups/pty.d.ts
532+++ b/dist/groups/pty.d.ts
533@@ -1,5 +1,5 @@
534 import { Schema } from "effect";
535-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/unstable/httpapi";
536+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/http-api";
537 import { ForbiddenError, PtyNotFoundError } from "../errors.js";
538 export declare const PTY_CONNECT_TICKET_QUERY = "ticket";
539 export declare const PTY_CONNECT_TOKEN_HEADER = "x-opencode-ticket";
540diff --git a/dist/groups/pty.js b/dist/groups/pty.js
541index dd17efa..88eb22b 100644
542--- a/dist/groups/pty.js
543+++ b/dist/groups/pty.js
544@@ -2,7 +2,7 @@ import { Pty } from "@opencode/schema/pty";
545 import { PtyTicket } from "@opencode/schema/pty-ticket";
546 import { Location } from "@opencode/schema/location";
547 import { Schema } from "effect";
548-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
549+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/http-api";
550 import { ForbiddenError, PtyNotFoundError } from "../errors.js";
551 import { LocationQuery, locationQueryOpenApi } from "./location.js";
552 export const PTY_CONNECT_TICKET_QUERY = "ticket";
553diff --git a/dist/groups/reference.d.ts b/dist/groups/reference.d.ts
554index 5ac4e70..09f3d67 100644
555--- a/dist/groups/reference.d.ts
556+++ b/dist/groups/reference.d.ts
557@@ -1,5 +1,5 @@
558 import { Schema } from "effect";
559-import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
560+import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
561 export declare const ReferenceGroup: HttpApiGroup.HttpApiGroup<"server.reference", HttpApiEndpoint.HttpApiEndpoint<"reference.list", "GET", "/api/reference", never, Schema.toCodecStringTree<Schema.Struct<{
562 readonly location: Schema.optional<Schema.Struct<{
563 readonly directory: Schema.optional<Schema.String>;
564diff --git a/dist/groups/reference.js b/dist/groups/reference.js
565index e96827b..e615fd1 100644
566--- a/dist/groups/reference.js
567+++ b/dist/groups/reference.js
568@@ -1,7 +1,7 @@
569 import { Location } from "@opencode/schema/location";
570 import { Reference } from "@opencode/schema/reference";
571 import { Schema, Struct } from "effect";
572-import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
573+import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/http-api";
574 import { LocationQuery, locationQueryOpenApi } from "./location.js";
575 const PublicLocalSource = Schema.Struct(Struct.omit(Reference.LocalSource.fields, ["description", "hidden"])).annotate({
576 identifier: "Reference.LocalSource",
577diff --git a/dist/groups/rpc.d.ts b/dist/groups/rpc.d.ts
578index 3790115..08e86ec 100644
579--- a/dist/groups/rpc.d.ts
580+++ b/dist/groups/rpc.d.ts
581@@ -1,5 +1,5 @@
582 import { Schema } from "effect";
583-import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
584+import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
585 import { RpcError, RpcInternalError } from "../errors.js";
586 export declare const RpcInput: Schema.Struct<{
587 readonly input: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Unknown>>, Schema.optionalKey<Schema.Unknown>, never, never>;
588diff --git a/dist/groups/rpc.js b/dist/groups/rpc.js
589index c12866c..36dadc6 100644
590--- a/dist/groups/rpc.js
591+++ b/dist/groups/rpc.js
592@@ -1,6 +1,6 @@
593 import { optional } from "@opencode/schema/schema";
594 import { Schema } from "effect";
595-import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
596+import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/http-api";
597 import { RpcError, RpcInternalError } from "../errors.js";
598 import { LocationQuery, locationQueryOpenApi } from "./location.js";
599 export const RpcInput = Schema.Struct({ input: optional(Schema.Unknown) }).annotate({ identifier: "Rpc.Input" });
600diff --git a/dist/groups/server.d.ts b/dist/groups/server.d.ts
601index b02cf39..5e605d6 100644
602--- a/dist/groups/server.d.ts
603+++ b/dist/groups/server.d.ts
604@@ -1,5 +1,5 @@
605 import { Schema } from "effect";
606-import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
607+import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
608 import { UnauthorizedError } from "../errors.js";
609 export declare const ServerInfo: Schema.Struct<{
610 readonly version: Schema.String;
611diff --git a/dist/groups/server.js b/dist/groups/server.js
612index c2415ec..ab9fef3 100644
613--- a/dist/groups/server.js
614+++ b/dist/groups/server.js
615@@ -1,5 +1,5 @@
616 import { Schema } from "effect";
617-import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
618+import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/http-api";
619 import { UnauthorizedError } from "../errors.js";
620 export const ServerInfo = Schema.Struct({
621 version: Schema.String,
622diff --git a/dist/groups/session.d.ts b/dist/groups/session.d.ts
623index 316bfb1..adbea93 100644
624--- a/dist/groups/session.d.ts
625+++ b/dist/groups/session.d.ts
626@@ -2,7 +2,7 @@ import { PromptInput } from "@opencode/schema/prompt-input";
627 import { InstructionEntry } from "@opencode/schema/instruction-entry";
628 import { Event } from "@opencode/schema/event";
629 import { Context, Effect, Schema } from "effect";
630-import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema } from "effect/unstable/httpapi";
631+import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema } from "effect/http-api";
632 import { ConflictError, LocationNotFoundError, CommandExecutionError, CommandNotFoundError, FormAlreadySettledError, FormInvalidAnswerError, FormNotFoundError, InvalidCursorError, InvalidRequestError, MessageNotFoundError, ServiceUnavailableError, SessionBusyError, SessionNotFoundError, SkillNotFoundError, UnknownError } from "../errors.js";
633 declare const SessionsCursorInput: Schema.Union<readonly [Schema.Struct<{
634 readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
635diff --git a/dist/groups/session.js b/dist/groups/session.js
636index 64fe213..c835084 100644
637--- a/dist/groups/session.js
638+++ b/dist/groups/session.js
639@@ -7,8 +7,9 @@ import { InstructionEntry } from "@opencode/schema/instruction-entry";
640 import { Project } from "@opencode/schema/project";
641 import { AbsolutePath, DateTimeUtcFromMillis, NonNegativeInt, PositiveInt, RelativePath, statics, } from "@opencode/schema/schema";
642 import { Event } from "@opencode/schema/event";
643-import { Context, Effect, Encoding, Result, Schema, SchemaGetter, Struct } from "effect";
644-import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
645+import * as Base64Url from "effect/encoding/Base64Url";
646+import { Context, Effect, Result, Schema, SchemaGetter, Struct } from "effect";
647+import { HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema, OpenApi } from "effect/http-api";
648 import { ConflictError, LocationNotFoundError, CommandExecutionError, CommandNotFoundError, FormAlreadySettledError, FormInvalidAnswerError, FormNotFoundError, InvalidCursorError, InvalidRequestError, MessageNotFoundError, ServiceUnavailableError, SessionBusyError, SessionNotFoundError, SkillNotFoundError, UnknownError, } from "../errors.js";
649 import { Agent } from "@opencode/schema/agent";
650 import { Skill } from "@opencode/schema/skill";
651@@ -65,9 +66,9 @@ const invalidCursor = "Invalid cursor";
652 export const SessionsCursor = Schema.String.pipe(Schema.brand("SessionsCursor"), statics((schema) => {
653 const make = schema.make.bind(schema);
654 return {
655- make: (input) => make(Encoding.encodeBase64Url(encodeSessionsCursor(input))),
656+ make: (input) => make(Base64Url.encode(encodeSessionsCursor(input))),
657 parse: (input) => Effect.suspend(() => {
658- const result = Encoding.decodeBase64UrlString(input);
659+ const result = Base64Url.decodeString(input);
660 return Result.isFailure(result)
661 ? Effect.fail(invalidCursor)
662 : decodeSessionsCursor(result.success).pipe(Effect.mapError(() => invalidCursor));
663diff --git a/dist/groups/shell.d.ts b/dist/groups/shell.d.ts
664index 55b3455..dd1cfe3 100644
665--- a/dist/groups/shell.d.ts
666+++ b/dist/groups/shell.d.ts
667@@ -1,5 +1,5 @@
668 import { Schema } from "effect";
669-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/unstable/httpapi";
670+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/http-api";
671 import { ShellNotFoundError } from "../errors.js";
672 export declare const ShellGroup: HttpApiGroup.HttpApiGroup<"server.shell", HttpApiEndpoint.HttpApiEndpoint<"shell.list", "GET", "/api/shell", never, Schema.toCodecStringTree<Schema.Struct<{
673 readonly location: Schema.optional<Schema.Struct<{
674diff --git a/dist/groups/shell.js b/dist/groups/shell.js
675index 2a8b690..ca57be9 100644
676--- a/dist/groups/shell.js
677+++ b/dist/groups/shell.js
678@@ -1,7 +1,7 @@
679 import { Shell } from "@opencode/schema/shell";
680 import { Location } from "@opencode/schema/location";
681 import { Schema } from "effect";
682-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
683+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/http-api";
684 import { ShellNotFoundError } from "../errors.js";
685 import { LocationQuery, locationQueryOpenApi } from "./location.js";
686 export const ShellGroup = HttpApiGroup.make("server.shell")
687diff --git a/dist/groups/skill.d.ts b/dist/groups/skill.d.ts
688index 91a34c5..8a40476 100644
689--- a/dist/groups/skill.d.ts
690+++ b/dist/groups/skill.d.ts
691@@ -1,5 +1,5 @@
692 import { Schema } from "effect";
693-import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
694+import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
695 export declare const SkillGroup: HttpApiGroup.HttpApiGroup<"server.skill", HttpApiEndpoint.HttpApiEndpoint<"skill.list", "GET", "/api/skill", never, Schema.toCodecStringTree<Schema.Struct<{
696 readonly location: Schema.optional<Schema.Struct<{
697 readonly directory: Schema.optional<Schema.String>;
698diff --git a/dist/groups/skill.js b/dist/groups/skill.js
699index a55e3ed..b419ad2 100644
700--- a/dist/groups/skill.js
701+++ b/dist/groups/skill.js
702@@ -1,7 +1,7 @@
703 import { Skill } from "@opencode/schema/skill";
704 import { Location } from "@opencode/schema/location";
705 import { Schema } from "effect";
706-import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
707+import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/http-api";
708 import { LocationQuery, locationQueryOpenApi } from "./location.js";
709 export const SkillGroup = HttpApiGroup.make("server.skill")
710 .add(HttpApiEndpoint.get("skill.list", "/api/skill", {
711diff --git a/dist/groups/vcs.d.ts b/dist/groups/vcs.d.ts
712index 7672482..d129386 100644
713--- a/dist/groups/vcs.d.ts
714+++ b/dist/groups/vcs.d.ts
715@@ -1,5 +1,5 @@
716 import { Schema } from "effect";
717-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/unstable/httpapi";
718+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/http-api";
719 import { ConflictError, InvalidRequestError, ServiceUnavailableError } from "../errors.js";
720 declare const VcsInitNotSupportedError_base: Schema.Class<VcsInitNotSupportedError, Schema.TaggedStruct<"VcsInitNotSupportedError", {
721 readonly providerID: Schema.String;
722diff --git a/dist/groups/vcs.js b/dist/groups/vcs.js
723index 0c80563..436c996 100644
724--- a/dist/groups/vcs.js
725+++ b/dist/groups/vcs.js
726@@ -3,7 +3,7 @@ import { Location } from "@opencode/schema/location";
727 import { NonNegativeInt, PositiveInt, optional } from "@opencode/schema/schema";
728 import { Vcs } from "@opencode/schema/vcs";
729 import { Schema } from "effect";
730-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
731+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/http-api";
732 import { LocationQuery, locationQueryOpenApi } from "./location.js";
733 import { ConflictError, InvalidRequestError, ServiceUnavailableError } from "../errors.js";
734 const InitQuery = Schema.Struct({
735diff --git a/dist/groups/websearch.d.ts b/dist/groups/websearch.d.ts
736index 6532991..1f59338 100644
737--- a/dist/groups/websearch.d.ts
738+++ b/dist/groups/websearch.d.ts
739@@ -1,6 +1,6 @@
740 import { WebSearch } from "@opencode/schema/websearch";
741 import { Schema } from "effect";
742-import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
743+import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
744 import { InvalidRequestError, ServiceUnavailableError } from "../errors.js";
745 export declare const WebSearchGroup: HttpApiGroup.HttpApiGroup<"server.websearch", HttpApiEndpoint.HttpApiEndpoint<"websearch.providers", "GET", "/api/websearch/provider", never, Schema.toCodecStringTree<Schema.Struct<{
746 readonly location: Schema.optional<Schema.Struct<{
747diff --git a/dist/groups/websearch.js b/dist/groups/websearch.js
748index ef2da5f..d486e9e 100644
749--- a/dist/groups/websearch.js
750+++ b/dist/groups/websearch.js
751@@ -1,7 +1,7 @@
752 import { Location } from "@opencode/schema/location";
753 import { WebSearch } from "@opencode/schema/websearch";
754 import { Schema } from "effect";
755-import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
756+import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/http-api";
757 import { InvalidRequestError, ServiceUnavailableError } from "../errors.js";
758 import { LocationQuery, locationQueryOpenApi } from "./location.js";
759 export const WebSearchGroup = HttpApiGroup.make("server.websearch")
760diff --git a/dist/groups/worktree.d.ts b/dist/groups/worktree.d.ts
761index 2e680e5..5dd54b6 100644
762--- a/dist/groups/worktree.d.ts
763+++ b/dist/groups/worktree.d.ts
764@@ -1,5 +1,5 @@
765 import { Schema } from "effect";
766-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/unstable/httpapi";
767+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/http-api";
768 import { ProjectNotFoundError } from "../errors.js";
769 declare const WorktreeError_base: Schema.Class<WorktreeError, Schema.TaggedStruct<"WorktreeError", {
770 readonly name: Schema.Literal<"WorktreeError">;
771diff --git a/dist/groups/worktree.js b/dist/groups/worktree.js
772index 67bed29..0a501b1 100644
773--- a/dist/groups/worktree.js
774+++ b/dist/groups/worktree.js
775@@ -1,6 +1,6 @@
776 import { Worktree } from "@opencode/schema/worktree";
777 import { Schema } from "effect";
778-import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi";
779+import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/http-api";
780 import { Project } from "@opencode/schema/project";
781 import { ProjectNotFoundError } from "../errors.js";
782 const root = "/api/worktree";
783diff --git a/dist/middleware/authorization.d.ts b/dist/middleware/authorization.d.ts
784index 2d043d9..f84b1df 100644
785--- a/dist/middleware/authorization.d.ts
786+++ b/dist/middleware/authorization.d.ts
787@@ -1,4 +1,4 @@
788-import { HttpApiMiddleware } from "effect/unstable/httpapi";
789+import { HttpApiMiddleware } from "effect/http-api";
790 import { UnauthorizedError } from "../errors.js";
791 declare const Authorization_base: HttpApiMiddleware.ServiceClass<Authorization, "@opencode/HttpApiAuthorization", {
792 requires: never;
793diff --git a/dist/middleware/authorization.js b/dist/middleware/authorization.js
794index caa2b43..1888d92 100644
795--- a/dist/middleware/authorization.js
796+++ b/dist/middleware/authorization.js
797@@ -1,4 +1,4 @@
798-import { HttpApiMiddleware } from "effect/unstable/httpapi";
799+import { HttpApiMiddleware } from "effect/http-api";
800 import { UnauthorizedError } from "../errors.js";
801 export class Authorization extends HttpApiMiddleware.Service()("@opencode/HttpApiAuthorization", {
802 error: UnauthorizedError,
803diff --git a/dist/middleware/schema-error.d.ts b/dist/middleware/schema-error.d.ts
804index 1391162..4bcdc50 100644
805--- a/dist/middleware/schema-error.d.ts
806+++ b/dist/middleware/schema-error.d.ts
807@@ -1,4 +1,4 @@
808-import { HttpApiMiddleware } from "effect/unstable/httpapi";
809+import { HttpApiMiddleware } from "effect/http-api";
810 import { InvalidRequestError } from "../errors.js";
811 declare const SchemaErrorMiddleware_base: HttpApiMiddleware.ServiceClass<SchemaErrorMiddleware, "@opencode/HttpApiSchemaError", {
812 requires: never;
813diff --git a/dist/middleware/schema-error.js b/dist/middleware/schema-error.js
814index b95e4dd..5d3f9bb 100644
815--- a/dist/middleware/schema-error.js
816+++ b/dist/middleware/schema-error.js
817@@ -1,4 +1,4 @@
818-import { HttpApiMiddleware } from "effect/unstable/httpapi";
819+import { HttpApiMiddleware } from "effect/http-api";
820 import { InvalidRequestError } from "../errors.js";
821 export class SchemaErrorMiddleware extends HttpApiMiddleware.Service()("@opencode/HttpApiSchemaError", { error: InvalidRequestError }) {
822 }
823diff --git a/dist/simulation.d.ts b/dist/simulation.d.ts
824index 36f1d26..36373b1 100644
825--- a/dist/simulation.d.ts
826+++ b/dist/simulation.d.ts
827@@ -1,5 +1,5 @@
828 import { Effect, Schema } from "effect";
829-import { Rpc, RpcGroup } from "effect/unstable/rpc";
830+import { Rpc, RpcGroup } from "effect/rpc";
831 export declare namespace JsonRpc {
832 const RequestFields: {
833 jsonrpc: Schema.Literal<"2.0">;
834diff --git a/dist/simulation.js b/dist/simulation.js
835index 3e52010..ce8f56e 100644
836--- a/dist/simulation.js
837+++ b/dist/simulation.js
838@@ -1,5 +1,5 @@
839 import { Effect, Schema } from "effect";
840-import { Rpc, RpcGroup } from "effect/unstable/rpc";
841+import { Rpc, RpcGroup } from "effect/rpc";
842 const JsonRpcID = Schema.Union([Schema.String, Schema.Number, Schema.Null]);
843 const decodeJson = Schema.decodeUnknownSync(Schema.Json);
844 export var JsonRpc;
patches/@opencode__schema@2.0.23.patch deleted-155
...@@ -1,155 +0,0 @@
1diff --git a/dist/event.js b/dist/event.js
2index a0f0831..c4d39e2 100644
3--- a/dist/event.js
4+++ b/dist/event.js
5@@ -4,7 +4,7 @@ import { optional } from "./schema.js";
6 import { ascending } from "./identifier.js";
7 import { Location } from "./location.js";
8 import { statics } from "./schema.js";
9-export const ID = Schema.String.check(Schema.isStartsWith("evt_")).pipe(Schema.brand("Event.ID"), statics((schema) => ({ create: () => schema.make("evt_" + ascending()) })));
10+export const ID = Schema.String.check(Schema.isStartingWith("evt_")).pipe(Schema.brand("Event.ID"), statics((schema) => ({ create: () => schema.make("evt_" + ascending()) })));
11 /**
12 * Position in one aggregate's durable log. Values originate from the durable
13 * event envelope and synced markers;
14diff --git a/dist/form.js b/dist/form.js
15index 920d0dd..bd4799d 100644
16--- a/dist/form.js
17+++ b/dist/form.js
18@@ -3,7 +3,7 @@ import { Schema } from "effect";
19 import { ephemeral, inventory } from "./event.js";
20 import { ascending } from "./identifier.js";
21 import { NonNegativeInt, optional, statics } from "./schema.js";
22-const IDSchema = Schema.String.check(Schema.isStartsWith("frm_")).pipe(Schema.brand("Form.ID"));
23+const IDSchema = Schema.String.check(Schema.isStartingWith("frm_")).pipe(Schema.brand("Form.ID"));
24 export const ID = IDSchema.pipe(statics((schema) => ({ create: (id) => schema.make(id ?? "frm_" + ascending()) })));
25 export const Metadata = Schema.Record(Schema.String, Schema.Unknown).annotate({ identifier: "Form.Metadata" });
26 export const Option = Schema.Struct({
27diff --git a/dist/permission.js b/dist/permission.js
28index d004da5..9b3f133 100644
29--- a/dist/permission.js
30+++ b/dist/permission.js
31@@ -5,7 +5,7 @@ import { ephemeral, inventory } from "./event.js";
32 import { ascending } from "./identifier.js";
33 import { SessionID } from "./session-id.js";
34 import { statics } from "./schema.js";
35-export const ID = Schema.String.check(Schema.isStartsWith("per")).pipe(Schema.brand("Permission.ID"), statics((schema) => ({ create: (id) => schema.make(id ?? "per_" + ascending()) })));
36+export const ID = Schema.String.check(Schema.isStartingWith("per")).pipe(Schema.brand("Permission.ID"), statics((schema) => ({ create: (id) => schema.make(id ?? "per_" + ascending()) })));
37 export const Source = Schema.Union([
38 Schema.Struct({
39 type: Schema.Literal("tool"),
40diff --git a/dist/pty.js b/dist/pty.js
41index b69f558..f5872fd 100644
42--- a/dist/pty.js
43+++ b/dist/pty.js
44@@ -4,7 +4,7 @@ import { optional } from "./schema.js";
45 import { ephemeral, inventory } from "./event.js";
46 import { ascending } from "./identifier.js";
47 import { NonNegativeInt, PositiveInt, statics } from "./schema.js";
48-const IDSchema = Schema.String.check(Schema.isStartsWith("pty")).pipe(Schema.brand("PtyID"));
49+const IDSchema = Schema.String.check(Schema.isStartingWith("pty")).pipe(Schema.brand("PtyID"));
50 export const ID = IDSchema.pipe(statics((schema) => {
51 const create = () => schema.make("pty_" + ascending());
52 return {
53diff --git a/dist/schema.js b/dist/schema.js
54index d90b9f6..ab09ced 100644
55--- a/dist/schema.js
56+++ b/dist/schema.js
57@@ -7,7 +7,17 @@ export const optional = (schema) => Schema.optionalKey(schema).pipe(Schema.decod
58 decode: SchemaGetter.passthrough({ strict: false }),
59 encode: SchemaGetter.transformOptional(Option.filter((value) => value !== undefined)),
60 }));
61-export const statics = (methods) => (schema) => Object.assign(schema, methods(schema));
62+export const statics = (methods) => (schema) => {
63+ // Effect 4.0.0 caches `make` as a non-configurable own property on first
64+ // read, so a static that overrides it is defined before anything reads it:
65+ // `methods` sees a view whose `make` comes from a fresh rebuild.
66+ const base = schema.rebuild(schema.ast);
67+ const view = new Proxy(schema, { get: (target, key) => (key === "make" ? base.make : Reflect.get(target, key)) });
68+ for (const [key, value] of Object.entries(methods(view))) {
69+ Object.defineProperty(schema, key, { value, writable: true, enumerable: true, configurable: true });
70+ }
71+ return schema;
72+};
73 export const DateTimeUtcFromMillis = Schema.Finite.pipe(Schema.decodeTo(Schema.DateTimeUtc, {
74 decode: SchemaGetter.transform((value) => DateTime.makeUnsafe(value)),
75 encode: SchemaGetter.transform((value) => DateTime.toEpochMillis(value)),
76diff --git a/dist/session-id.js b/dist/session-id.js
77index fe5f778..03ef1e6 100644
78--- a/dist/session-id.js
79+++ b/dist/session-id.js
80@@ -1,7 +1,7 @@
81 import { Schema } from "effect";
82 import { descending } from "./identifier.js";
83 import { statics } from "./schema.js";
84-export const SessionID = Schema.String.check(Schema.isStartsWith("ses")).pipe(Schema.brand("SessionID"), statics((schema) => {
85+export const SessionID = Schema.String.check(Schema.isStartingWith("ses")).pipe(Schema.brand("SessionID"), statics((schema) => {
86 const create = () => schema.make("ses_" + descending());
87 return {
88 create,
89diff --git a/dist/session-message.js b/dist/session-message.js
90index 9ddeda7..6a0a1e2 100644
91--- a/dist/session-message.js
92+++ b/dist/session-message.js
93@@ -18,7 +18,7 @@ import { Skill as SkillSchema } from "./skill.js";
94 import { Money } from "./money.js";
95 import { Snapshot } from "./snapshot.js";
96 import { TokenUsage } from "./token-usage.js";
97-export const ID = Schema.String.check(Schema.isStartsWith("msg_")).pipe(Schema.brand("Session.Message.ID"), statics((schema) => ({
98+export const ID = Schema.String.check(Schema.isStartingWith("msg_")).pipe(Schema.brand("Session.Message.ID"), statics((schema) => ({
99 create: () => schema.make("msg_" + ascending()),
100 fromEvent: (eventID) => schema.make(eventID.replace(/^evt_/, "msg_")),
101 })));
102diff --git a/dist/shell.js b/dist/shell.js
103index 75b981e..969160a 100644
104--- a/dist/shell.js
105+++ b/dist/shell.js
106@@ -4,7 +4,7 @@ import { optional } from "./schema.js";
107 import { ephemeral, inventory } from "./event.js";
108 import { ascending } from "./identifier.js";
109 import { NonNegativeInt, statics } from "./schema.js";
110-const IDSchema = Schema.String.check(Schema.isStartsWith("sh_")).pipe(Schema.brand("Shell.ID"));
111+const IDSchema = Schema.String.check(Schema.isStartingWith("sh_")).pipe(Schema.brand("Shell.ID"));
112 export const ID = IDSchema.pipe(statics((schema) => {
113 const create = () => schema.make("sh_" + ascending());
114 return {
115diff --git a/dist/v1/permission.js b/dist/v1/permission.js
116index 86af654..d4008e5 100644
117--- a/dist/v1/permission.js
118+++ b/dist/v1/permission.js
119@@ -5,7 +5,7 @@ import { ascending } from "../identifier.js";
120 import { Project } from "../project.js";
121 import { statics } from "../schema.js";
122 import { SessionID } from "../session-id.js";
123-export const ID = Schema.String.check(Schema.isStartsWith("per")).pipe(Schema.brand("PermissionV1.ID"), statics((schema) => ({ ascending: (id) => schema.make(id ?? "per_" + ascending()) })));
124+export const ID = Schema.String.check(Schema.isStartingWith("per")).pipe(Schema.brand("PermissionV1.ID"), statics((schema) => ({ ascending: (id) => schema.make(id ?? "per_" + ascending()) })));
125 export const Action = Schema.Literals(["allow", "deny", "ask"]).annotate({ identifier: "PermissionV1.Action" });
126 export const Rule = Schema.Struct({ permission: Schema.String, pattern: Schema.String, action: Action }).annotate({
127 identifier: "PermissionV1.Rule",
128diff --git a/dist/v1/session.js b/dist/v1/session.js
129index 867c87b..e06a17b 100644
130--- a/dist/v1/session.js
131+++ b/dist/v1/session.js
132@@ -11,8 +11,8 @@ import { WorkspaceID } from "../workspace-id.js";
133 import { PermissionV1 } from "./permission.js";
134 import { FileDiff } from "../file-diff.js";
135 const Timestamp = Schema.Finite.check(Schema.isGreaterThanOrEqualTo(0));
136-export const MessageID = Schema.String.check(Schema.isStartsWith("msg")).pipe(Schema.brand("SessionV1.MessageID"), statics((schema) => ({ ascending: (id) => schema.make(id ?? "msg_" + ascending()) })));
137-export const PartID = Schema.String.check(Schema.isStartsWith("prt")).pipe(Schema.brand("SessionV1.PartID"), statics((schema) => ({ ascending: (id) => schema.make(id ?? "prt_" + ascending()) })));
138+export const MessageID = Schema.String.check(Schema.isStartingWith("msg")).pipe(Schema.brand("SessionV1.MessageID"), statics((schema) => ({ ascending: (id) => schema.make(id ?? "msg_" + ascending()) })));
139+export const PartID = Schema.String.check(Schema.isStartingWith("prt")).pipe(Schema.brand("SessionV1.PartID"), statics((schema) => ({ ascending: (id) => schema.make(id ?? "prt_" + ascending()) })));
140 const namedError = (name, fields) => {
141 const schema = Schema.Struct({ name: Schema.Literal(name), data: Schema.Struct(fields) }).annotate({
142 identifier: name,
143diff --git a/dist/workspace-id.js b/dist/workspace-id.js
144index 4bed474..4ec8671 100644
145--- a/dist/workspace-id.js
146+++ b/dist/workspace-id.js
147@@ -1,7 +1,7 @@
148 import { Schema } from "effect";
149 import { ascending } from "./identifier.js";
150 import { statics } from "./schema.js";
151-export const WorkspaceID = Schema.String.check(Schema.isStartsWith("wrk")).pipe(Schema.brand("Workspace.ID"), statics((schema) => {
152+export const WorkspaceID = Schema.String.check(Schema.isStartingWith("wrk")).pipe(Schema.brand("Workspace.ID"), statics((schema) => {
153 const create = () => schema.make("wrk_" + ascending());
154 return {
155 ascending: (id) => {
patches/effect@4.0.2.patch deleted-31
...@@ -1,31 +0,0 @@
1diff --git a/dist/rpc/RpcClient.d.ts b/dist/rpc/RpcClient.d.ts
2index ebfe86f..3ff235d 100644
3--- a/dist/rpc/RpcClient.d.ts
4+++ b/dist/rpc/RpcClient.d.ts
5@@ -320,6 +320,8 @@ export declare const layerProtocolWorker: (options: {
6 declare const ConnectionHooks_base: Context.ServiceClass<ConnectionHooks, "effect/rpc/RpcClient/ConnectionHooks", {
7 readonly onConnect: Effect.Effect<void>;
8 readonly onDisconnect: Effect.Effect<void>;
9+ /** Runs when the socket is dropped because the server stopped answering, before `onDisconnect`. */
10+ readonly onPingTimeout?: Effect.Effect<void> | undefined;
11 }>;
12 /**
13 * Represents optional client protocol hooks that run when a transport connects
14diff --git a/dist/rpc/RpcClient.js b/dist/rpc/RpcClient.js
15index f5b14ef..cccf0a4 100644
16--- a/dist/rpc/RpcClient.js
17+++ b/dist/rpc/RpcClient.js
18@@ -688,11 +688,11 @@ export const makeProtocolSocket = options => Protocol.make(Effect.fnUntraced(fun
19 yield* processData(frames[i]);
20 }
21 }
22- }).pipe(Effect.scoped, Effect.raceFirst(Effect.flatMap(pinger.timeout, () => Effect.fail(new Socket.SocketError({
23+ }).pipe(Effect.scoped, Effect.raceFirst(Effect.flatMap(pinger.timeout, () => (Option.isSome(hooks) && hooks.value.onPingTimeout ? hooks.value.onPingTimeout : Effect.void).pipe(Effect.andThen(Effect.fail(new Socket.SocketError({
24 reason: new Socket.SocketReadError({
25 cause: new Error("ping timeout")
26 })
27- })))));
28+ })))))));
29 }).pipe(Option.isSome(hooks) ? Effect.ensuring(hooks.value.onDisconnect) : identity, Effect.tapCause(cause => {
30 const error = Cause.findError(cause);
31 const hasError = Result.isSuccess(error);
pnpm-lock.yaml+372-377
...@@ -7,11 +7,11 @@ settings:...@@ -7,11 +7,11 @@ settings:
7catalogs:7catalogs:
8 default:8 default:
9 '@effect/openapi-generator':9 '@effect/openapi-generator':
10 specifier: 4.0.210 specifier: 4.0.4
11 version: 4.0.211 version: 4.0.4
12 '@effect/sql-sqlite-do':12 '@effect/sql-sqlite-do':
13 specifier: 4.0.213 specifier: 4.0.4
14 version: 4.0.214 version: 4.0.4
15 '@effect/tsgo':15 '@effect/tsgo':
16 specifier: 0.51.116 specifier: 0.51.1
17 version: 0.51.117 version: 0.51.1
...@@ -108,11 +108,11 @@ overrides:...@@ -108,11 +108,11 @@ overrides:
108 '@clerk/expo': 4.6.8108 '@clerk/expo': 4.6.8
109 '@clerk/react': 6.16.1109 '@clerk/react': 6.16.1
110 '@clerk/shared': 4.33.0110 '@clerk/shared': 4.33.0
111 '@effect/atom-react': 4.0.2111 '@effect/atom-react': 4.0.4
112 '@effect/platform-node': 4.0.2112 '@effect/platform-node': 4.0.4
113 '@effect/platform-node-shared': 4.0.2113 '@effect/platform-node-shared': 4.0.4
114 '@effect/sql-pg': 4.0.2114 '@effect/sql-pg': 4.0.4
115 '@effect/vitest': 4.0.2115 '@effect/vitest': 4.0.4
116 '@effect/vitest>vitest': '-'116 '@effect/vitest>vitest': '-'
117 '@expo/dom-webview': 58.0.2117 '@expo/dom-webview': 58.0.2
118 '@expo/metro-config': 58.0.6118 '@expo/metro-config': 58.0.6
...@@ -125,9 +125,9 @@ overrides:...@@ -125,9 +125,9 @@ overrides:
125 '@tailwindcss/oxide': 4.3.3125 '@tailwindcss/oxide': 4.3.3
126 '@tailwindcss/vite': 4.3.3126 '@tailwindcss/vite': 4.3.3
127 '@types/node': 24.12.4127 '@types/node': 24.12.4
128 effect: 4.0.2128 effect: 4.0.4
129 '@opencode/protocol>effect': 4.0.2129 '@opencode/protocol>effect': 4.0.4
130 '@opencode/schema>effect': 4.0.2130 '@opencode/schema>effect': 4.0.4
131 node-abi: 4.33.0131 node-abi: 4.33.0
132 electron-webauthn>@electron-webauthn/macos: 1.3.1132 electron-webauthn>@electron-webauthn/macos: 1.3.1
133 '@electron-webauthn/macos>objc-js': 1.5.0133 '@electron-webauthn/macos>objc-js': 1.5.0
...@@ -144,21 +144,16 @@ packageExtensionsChecksum: sha256-FYDaKefjFcda1+vgiq8yMpZC4ehE5CyLi/bsCGLgTtY=...@@ -144,21 +144,16 @@ packageExtensionsChecksum: sha256-FYDaKefjFcda1+vgiq8yMpZC4ehE5CyLi/bsCGLgTtY=
144144
145patchedDependencies:145patchedDependencies:
146 '@clerk/expo@4.6.8': b8b22ab733de5bea846ad9e88046c10582352fe9ad86f314f368b2a823f0f281146 '@clerk/expo@4.6.8': b8b22ab733de5bea846ad9e88046c10582352fe9ad86f314f368b2a823f0f281
147 '@effect/platform-node-shared@4.0.2': 4efe73732a53b7d7bdbd9a9263eed06310fc387f870ef4a5e66429e9d1fd7cd9147 '@effect/vitest@4.0.4': ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad
148 '@effect/vitest@4.0.2': 595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9
149 '@expo/metro-config@58.0.6': 90fa980e8b6480631fb2fbb04559834e3c612db40c550cd828f11be297d8d760148 '@expo/metro-config@58.0.6': 90fa980e8b6480631fb2fbb04559834e3c612db40c550cd828f11be297d8d760
150 '@ff-labs/fff-node@0.11.0': 8956d6ed6938a1bce69b2d0b067ff258dd9ca753c5bbe7006f7b68f760ea3ad2149 '@ff-labs/fff-node@0.11.0': 8956d6ed6938a1bce69b2d0b067ff258dd9ca753c5bbe7006f7b68f760ea3ad2
151 '@legendapp/list@3.3.5': 680cc6a5c5b4a4032e467e7b3fde22f89a84c0ee2e6eac6fda737d6277cc0806150 '@legendapp/list@3.3.5': 680cc6a5c5b4a4032e467e7b3fde22f89a84c0ee2e6eac6fda737d6277cc0806
152 '@opencode/client@2.0.23': f725d6e6d9af0d56dc6ed71b863518fbfc751af1773cff2311209d2c404cf4cd
153 '@opencode/protocol@2.0.23': 17a82f6c2c98fd0371e786c211a4fbdaaba403577a25733e5e99a0c25a16a685
154 '@opencode/schema@2.0.23': 650f1b8602789407c010861284272dcb6bd6de01ec6a75bf3c0904a0e7596d59
155 '@pierre/diffs@1.5.2': 298e94372dbd51846a4e26ece2ecc3e22eb1f94b0450b1f1a9c6fec127809be7151 '@pierre/diffs@1.5.2': 298e94372dbd51846a4e26ece2ecc3e22eb1f94b0450b1f1a9c6fec127809be7
156 '@react-native-ai/apple@0.12.0': 2d09870c2848d185cb05b53ed823a46e12dba519324d8dd8e584e28731990f9d152 '@react-native-ai/apple@0.12.0': 2d09870c2848d185cb05b53ed823a46e12dba519324d8dd8e584e28731990f9d
157 '@react-native-menu/menu@2.0.0': a4866ecfcd44f318043de839d20110c17e14909004900f002ffe12050376f2ba153 '@react-native-menu/menu@2.0.0': a4866ecfcd44f318043de839d20110c17e14909004900f002ffe12050376f2ba
158 '@react-navigation/native-stack@7.17.6': d2d52f3776e30765519748fd5e177592dc3b9cc778c52fb00e02674dfa9042c5154 '@react-navigation/native-stack@7.17.6': d2d52f3776e30765519748fd5e177592dc3b9cc778c52fb00e02674dfa9042c5
159 alchemy@2.0.0-beta.80: bea1b6c0c0b23157fd5f439a1d7feff430f28ac1621ba135d8a13eeec60ccacd155 alchemy@2.0.0-beta.80: bea1b6c0c0b23157fd5f439a1d7feff430f28ac1621ba135d8a13eeec60ccacd
160 dbus-next@0.10.2: cfff57561b0ee59b5addb3b2e6c6f20906e967507a530ab67e8db8108e520ba4156 dbus-next@0.10.2: cfff57561b0ee59b5addb3b2e6c6f20906e967507a530ab67e8db8108e520ba4
161 effect@4.0.2: ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688
162 expo-audio@58.0.4: c20cb927d6848c53e7bf6ec14fe12f19daae9210165d2dbaf4e0f97ce31e8742157 expo-audio@58.0.4: c20cb927d6848c53e7bf6ec14fe12f19daae9210165d2dbaf4e0f97ce31e8742
163 expo-blur@58.0.3: d0311b0c0b05bd94393bd9a84653cb42503d5f3c8a19eb2627c34ace08bedf18158 expo-blur@58.0.3: d0311b0c0b05bd94393bd9a84653cb42503d5f3c8a19eb2627c34ace08bedf18
164 expo-glass-effect@58.0.3: f750041c45ab838a3530451dc7b50d6640a79141037a1b0499c5e3412a860c57159 expo-glass-effect@58.0.3: f750041c45ab838a3530451dc7b50d6640a79141037a1b0499c5e3412a860c57
...@@ -210,8 +205,8 @@ importers:...@@ -210,8 +205,8 @@ importers:
210 specifier: 0.13.0205 specifier: 0.13.0
211 version: 0.13.0206 version: 0.13.0
212 '@effect/platform-node':207 '@effect/platform-node':
213 specifier: 4.0.2208 specifier: 4.0.4
214 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)209 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
215 '@napi-rs/keyring':210 '@napi-rs/keyring':
216 specifier: ^1.3.0211 specifier: ^1.3.0
217 version: 1.3.0212 version: 1.3.0
...@@ -234,8 +229,8 @@ importers:...@@ -234,8 +229,8 @@ importers:
234 specifier: 0.10.2229 specifier: 0.10.2
235 version: 0.10.2(patch_hash=cfff57561b0ee59b5addb3b2e6c6f20906e967507a530ab67e8db8108e520ba4)230 version: 0.10.2(patch_hash=cfff57561b0ee59b5addb3b2e6c6f20906e967507a530ab67e8db8108e520ba4)
236 effect:231 effect:
237 specifier: 4.0.2232 specifier: 4.0.4
238 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)233 version: 4.0.4
239 electron:234 electron:
240 specifier: 44.4.5235 specifier: 44.4.5
241 version: 44.4.5236 version: 44.4.5
...@@ -262,8 +257,8 @@ importers:...@@ -262,8 +257,8 @@ importers:
262 version: 7.4.2257 version: 7.4.2
263 devDependencies:258 devDependencies:
264 '@effect/vitest':259 '@effect/vitest':
265 specifier: 4.0.2260 specifier: 4.0.4
266 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)261 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
267 '@types/node':262 '@types/node':
268 specifier: 24.12.4263 specifier: 24.12.4
269 version: 24.12.4264 version: 24.12.4
...@@ -311,8 +306,8 @@ importers:...@@ -311,8 +306,8 @@ importers:
311 specifier: 4.6.8306 specifier: 4.6.8
312 version: 4.6.8(patch_hash=b8b22ab733de5bea846ad9e88046c10582352fe9ad86f314f368b2a823f0f281)(9fda653cb5598772915b4a39a7aee91d)307 version: 4.6.8(patch_hash=b8b22ab733de5bea846ad9e88046c10582352fe9ad86f314f368b2a823f0f281)(9fda653cb5598772915b4a39a7aee91d)
313 '@effect/atom-react':308 '@effect/atom-react':
314 specifier: 4.0.2309 specifier: 4.0.4
315 version: 4.0.2(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(react@19.3.0)(scheduler@0.28.0)310 version: 4.0.4(effect@4.0.4)(react@19.3.0)(scheduler@0.28.0)
316 '@expo-google-fonts/dm-sans':311 '@expo-google-fonts/dm-sans':
317 specifier: ^0.4.2312 specifier: ^0.4.2
318 version: 0.4.2313 version: 0.4.2
...@@ -410,8 +405,8 @@ importers:...@@ -410,8 +405,8 @@ importers:
410 specifier: 8.0.3405 specifier: 8.0.3
411 version: 8.0.3406 version: 8.0.3
412 effect:407 effect:
413 specifier: 4.0.2408 specifier: 4.0.4
414 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)409 version: 4.0.4
415 expo:410 expo:
416 specifier: 58.0.2411 specifier: 58.0.2
417 version: 58.0.2(bd4444e61fed72e958d45f73733b7f54)412 version: 58.0.2(bd4444e61fed72e958d45f73733b7f54)
...@@ -582,8 +577,8 @@ importers:...@@ -582,8 +577,8 @@ importers:
582 version: 1.12.1(@expo/metro-config@58.0.6(patch_hash=90fa980e8b6480631fb2fbb04559834e3c612db40c550cd828f11be297d8d760)(bufferutil@4.1.0)(expo@58.0.2)(typescript@7.0.2)(utf-8-validate@6.0.6))(metro-cache@0.87.1)(metro-transform-worker@0.87.1(bufferutil@4.1.0)(utf-8-validate@6.0.6))(metro@0.87.1(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.88.0-rc.3(@babel/core@7.29.7)(@react-native/metro-config@0.88.0-rc.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.3.0)(bufferutil@4.1.0)(react@19.3.0)(utf-8-validate@6.0.6))(react@19.3.0)(tailwindcss@4.3.3)577 version: 1.12.1(@expo/metro-config@58.0.6(patch_hash=90fa980e8b6480631fb2fbb04559834e3c612db40c550cd828f11be297d8d760)(bufferutil@4.1.0)(expo@58.0.2)(typescript@7.0.2)(utf-8-validate@6.0.6))(metro-cache@0.87.1)(metro-transform-worker@0.87.1(bufferutil@4.1.0)(utf-8-validate@6.0.6))(metro@0.87.1(bufferutil@4.1.0)(utf-8-validate@6.0.6))(react-native@0.88.0-rc.3(@babel/core@7.29.7)(@react-native/metro-config@0.88.0-rc.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.3.0)(bufferutil@4.1.0)(react@19.3.0)(utf-8-validate@6.0.6))(react@19.3.0)(tailwindcss@4.3.3)
583 devDependencies:578 devDependencies:
584 '@effect/vitest':579 '@effect/vitest':
585 specifier: 4.0.2580 specifier: 4.0.4
586 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)581 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
587 '@pierre/trees':582 '@pierre/trees':
588 specifier: 1.0.0-beta.6583 specifier: 1.0.0-beta.6
589 version: 1.0.0-beta.6(@pierre/theme@2.0.0)(@shikijs/themes@4.2.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(shiki@4.2.0)584 version: 1.0.0-beta.6(@pierre/theme@2.0.0)(@shikijs/themes@4.2.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(shiki@4.2.0)
...@@ -618,11 +613,11 @@ importers:...@@ -618,11 +613,11 @@ importers:
618 specifier: 1.0.35613 specifier: 1.0.35
619 version: 1.0.35614 version: 1.0.35
620 '@effect/platform-node':615 '@effect/platform-node':
621 specifier: 4.0.2616 specifier: 4.0.4
622 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)617 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
623 '@effect/platform-node-shared':618 '@effect/platform-node-shared':
624 specifier: 4.0.2619 specifier: 4.0.4
625 version: 4.0.2(patch_hash=4efe73732a53b7d7bdbd9a9263eed06310fc387f870ef4a5e66429e9d1fd7cd9)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(utf-8-validate@6.0.6)620 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(utf-8-validate@6.0.6)
626 '@ff-labs/fff-node':621 '@ff-labs/fff-node':
627 specifier: 0.11.0622 specifier: 0.11.0
628 version: 0.11.0(patch_hash=8956d6ed6938a1bce69b2d0b067ff258dd9ca753c5bbe7006f7b68f760ea3ad2)623 version: 0.11.0(patch_hash=8956d6ed6938a1bce69b2d0b067ff258dd9ca753c5bbe7006f7b68f760ea3ad2)
...@@ -681,8 +676,8 @@ importers:...@@ -681,8 +676,8 @@ importers:
681 specifier: workspace:*676 specifier: workspace:*
682 version: link:../../packages/source-control-gitlab677 version: link:../../packages/source-control-gitlab
683 effect:678 effect:
684 specifier: 4.0.2679 specifier: 4.0.4
685 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)680 version: 4.0.4
686 jose:681 jose:
687 specifier: 'catalog:'682 specifier: 'catalog:'
688 version: 6.2.2683 version: 6.2.2
...@@ -709,8 +704,8 @@ importers:...@@ -709,8 +704,8 @@ importers:
709 version: 3.4.0704 version: 3.4.0
710 devDependencies:705 devDependencies:
711 '@effect/vitest':706 '@effect/vitest':
712 specifier: 4.0.2707 specifier: 4.0.4
713 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)708 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
714 '@modelcontextprotocol/sdk':709 '@modelcontextprotocol/sdk':
715 specifier: 1.29.0710 specifier: 1.29.0
716 version: 1.29.0(zod@4.6.5)711 version: 1.29.0(zod@4.6.5)
...@@ -781,8 +776,8 @@ importers:...@@ -781,8 +776,8 @@ importers:
781 specifier: ^3.2.2776 specifier: ^3.2.2
782 version: 3.2.2(react@19.2.6)777 version: 3.2.2(react@19.2.6)
783 '@effect/atom-react':778 '@effect/atom-react':
784 specifier: 4.0.2779 specifier: 4.0.4
785 version: 4.0.2(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(react@19.2.6)(scheduler@0.28.0)780 version: 4.0.4(effect@4.0.4)(react@19.2.6)(scheduler@0.28.0)
786 '@formkit/auto-animate':781 '@formkit/auto-animate':
787 specifier: ^0.9.0782 specifier: ^0.9.0
788 version: 0.9.0783 version: 0.9.0
...@@ -880,8 +875,8 @@ importers:...@@ -880,8 +875,8 @@ importers:
880 specifier: ^3.4.16875 specifier: ^3.4.16
881 version: 3.4.16876 version: 3.4.16
882 effect:877 effect:
883 specifier: 4.0.2878 specifier: 4.0.4
884 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)879 version: 4.0.4
885 hast-util-to-html:880 hast-util-to-html:
886 specifier: ^9.0.5881 specifier: ^9.0.5
887 version: 9.0.5882 version: 9.0.5
...@@ -935,11 +930,11 @@ importers:...@@ -935,11 +930,11 @@ importers:
935 version: 5.0.14(@types/react@19.3.0)(react@19.2.6)(use-sync-external-store@1.6.0(react@19.2.6))930 version: 5.0.14(@types/react@19.3.0)(react@19.2.6)(use-sync-external-store@1.6.0(react@19.2.6))
936 devDependencies:931 devDependencies:
937 '@effect/platform-node':932 '@effect/platform-node':
938 specifier: 4.0.2933 specifier: 4.0.4
939 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)934 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
940 '@effect/vitest':935 '@effect/vitest':
941 specifier: 4.0.2936 specifier: 4.0.4
942 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)937 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
943 '@rolldown/plugin-babel':938 '@rolldown/plugin-babel':
944 specifier: ^0.2.0939 specifier: ^0.2.0
945 version: 0.2.3(@babel/core@7.29.7)(@babel/plugin-transform-runtime@7.29.7(@babel/core@7.29.7))(@babel/runtime@7.29.7)(@voidzero-dev/vite-plus-core@1.0.0(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.2.5)940 version: 0.2.3(@babel/core@7.29.7)(@babel/plugin-transform-runtime@7.29.7(@babel/core@7.29.7))(@babel/runtime@7.29.7)(@voidzero-dev/vite-plus-core@1.0.0(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.2.5)
...@@ -1007,11 +1002,11 @@ importers:...@@ -1007,11 +1002,11 @@ importers:
1007 specifier: 3.18.11002 specifier: 3.18.1
1008 version: 3.18.1(react-dom@19.3.0(react@19.3.0))(react@19.2.6)1003 version: 3.18.1(react-dom@19.3.0(react@19.3.0))(react@19.2.6)
1009 '@effect/sql-pg':1004 '@effect/sql-pg':
1010 specifier: 4.0.21005 specifier: 4.0.4
1011 version: 4.0.2(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))1006 version: 4.0.4(effect@4.0.4)
1012 '@effect/sql-sqlite-do':1007 '@effect/sql-sqlite-do':
1013 specifier: 'catalog:'1008 specifier: 'catalog:'
1014 version: 4.0.2(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))1009 version: 4.0.4(effect@4.0.4)
1015 '@noble/curves':1010 '@noble/curves':
1016 specifier: 'catalog:'1011 specifier: 'catalog:'
1017 version: 1.9.11012 version: 1.9.1
...@@ -1029,23 +1024,23 @@ importers:...@@ -1029,23 +1024,23 @@ importers:
1029 version: link:../../packages/shared1024 version: link:../../packages/shared
1030 alchemy:1025 alchemy:
1031 specifier: 2.0.0-beta.801026 specifier: 2.0.0-beta.80
1032 version: 2.0.0-beta.80(patch_hash=bea1b6c0c0b23157fd5f439a1d7feff430f28ac1621ba135d8a13eeec60ccacd)(ba3b2ceb33761bc36b3beb11002eb316)1027 version: 2.0.0-beta.80(patch_hash=bea1b6c0c0b23157fd5f439a1d7feff430f28ac1621ba135d8a13eeec60ccacd)(65456df005cbbd653b96024b9ea83b1c)
1033 drizzle-orm:1028 drizzle-orm:
1034 specifier: 1.0.0-rc.5-ab785fc1029 specifier: 1.0.0-rc.5-ab785fc
1035 version: 1.0.0-rc.5-ab785fc(da2d75dec181fbafaeb6986c8741457b)1030 version: 1.0.0-rc.5-ab785fc(@cloudflare/workers-types@4.20260604.1)(@effect/sql-d1@4.0.0(effect@4.0.4))(@effect/sql-pg@4.0.4(effect@4.0.4))(@effect/sql-sqlite-bun@4.0.0-rc.112(effect@4.0.4))(@effect/sql-sqlite-do@4.0.4(effect@4.0.4))(@electric-sql/pglite@0.3.15)(@libsql/client@0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bun-types@1.3.14)(effect@4.0.4)(expo-sqlite@58.0.8(expo@58.0.2)(react-native@0.88.0-rc.3(@babel/core@7.29.7)(@react-native/metro-config@0.88.0-rc.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.3.0)(bufferutil@4.1.0)(react@19.3.0)(utf-8-validate@6.0.6))(react@19.3.0))(pg@8.23.0)(valibot@1.2.0(typescript@7.0.2))(zod@4.4.3)
1036 effect:1031 effect:
1037 specifier: 4.0.21032 specifier: 4.0.4
1038 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1033 version: 4.0.4
1039 devDependencies:1034 devDependencies:
1040 '@cloudflare/workers-types':1035 '@cloudflare/workers-types':
1041 specifier: ^4.20260601.11036 specifier: ^4.20260601.1
1042 version: 4.20260604.11037 version: 4.20260604.1
1043 '@effect/platform-node':1038 '@effect/platform-node':
1044 specifier: 4.0.21039 specifier: 4.0.4
1045 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1040 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1046 '@effect/vitest':1041 '@effect/vitest':
1047 specifier: 4.0.21042 specifier: 4.0.4
1048 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1043 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1049 '@types/node':1044 '@types/node':
1050 specifier: 24.12.41045 specifier: 24.12.4
1051 version: 24.12.41046 version: 24.12.4
...@@ -1065,18 +1060,18 @@ importers:...@@ -1065,18 +1060,18 @@ importers:
1065 oxlint-plugin-t3code:1060 oxlint-plugin-t3code:
1066 dependencies:1061 dependencies:
1067 '@effect/platform-node':1062 '@effect/platform-node':
1068 specifier: 4.0.21063 specifier: 4.0.4
1069 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1064 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1070 '@oxlint/plugins':1065 '@oxlint/plugins':
1071 specifier: ^1.63.01066 specifier: ^1.63.0
1072 version: 1.68.01067 version: 1.68.0
1073 effect:1068 effect:
1074 specifier: 4.0.21069 specifier: 4.0.4
1075 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1070 version: 4.0.4
1076 devDependencies:1071 devDependencies:
1077 '@effect/vitest':1072 '@effect/vitest':
1078 specifier: 4.0.21073 specifier: 4.0.4
1079 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1074 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1080 vite-plus:1075 vite-plus:
1081 specifier: 1.0.01076 specifier: 1.0.0
1082 version: 1.0.0(@types/node@24.12.4)(@vitest/ui@5.0.1(vitest@5.0.1))(bufferutil@4.1.0)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1077 version: 1.0.0(@types/node@24.12.4)(@vitest/ui@5.0.1(vitest@5.0.1))(bufferutil@4.1.0)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
...@@ -1114,15 +1109,15 @@ importers:...@@ -1114,15 +1109,15 @@ importers:
1114 specifier: workspace:*1109 specifier: workspace:*
1115 version: link:../source-control-gitlab1110 version: link:../source-control-gitlab
1116 effect:1111 effect:
1117 specifier: 4.0.21112 specifier: 4.0.4
1118 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1113 version: 4.0.4
1119 three:1114 three:
1120 specifier: 0.180.01115 specifier: 0.180.0
1121 version: 0.180.01116 version: 0.180.0
1122 devDependencies:1117 devDependencies:
1123 '@effect/vitest':1118 '@effect/vitest':
1124 specifier: 4.0.21119 specifier: 4.0.4
1125 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1120 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1126 '@types/three':1121 '@types/three':
1127 specifier: 0.180.01122 specifier: 0.180.0
1128 version: 0.180.01123 version: 0.180.0
...@@ -1133,12 +1128,12 @@ importers:...@@ -1133,12 +1128,12 @@ importers:
1133 packages/contracts:1128 packages/contracts:
1134 dependencies:1129 dependencies:
1135 effect:1130 effect:
1136 specifier: 4.0.21131 specifier: 4.0.4
1137 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1132 version: 4.0.4
1138 devDependencies:1133 devDependencies:
1139 '@effect/vitest':1134 '@effect/vitest':
1140 specifier: 4.0.21135 specifier: 4.0.4
1141 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1136 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1142 vite-plus:1137 vite-plus:
1143 specifier: 1.0.01138 specifier: 1.0.0
1144 version: 1.0.0(@types/node@24.12.4)(@vitest/ui@5.0.1(vitest@5.0.1))(bufferutil@4.1.0)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1139 version: 1.0.0(@types/node@24.12.4)(@vitest/ui@5.0.1(vitest@5.0.1))(bufferutil@4.1.0)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
...@@ -1146,18 +1141,18 @@ importers:...@@ -1146,18 +1141,18 @@ importers:
1146 packages/effect-acp:1141 packages/effect-acp:
1147 dependencies:1142 dependencies:
1148 effect:1143 effect:
1149 specifier: 4.0.21144 specifier: 4.0.4
1150 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1145 version: 4.0.4
1151 devDependencies:1146 devDependencies:
1152 '@effect/openapi-generator':1147 '@effect/openapi-generator':
1153 specifier: 'catalog:'1148 specifier: 'catalog:'
1154 version: 4.0.2(@effect/platform-node@4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6))(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(encoding@0.1.13)1149 version: 4.0.4(@effect/platform-node@4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6))(effect@4.0.4)(encoding@0.1.13)
1155 '@effect/platform-node':1150 '@effect/platform-node':
1156 specifier: 4.0.21151 specifier: 4.0.4
1157 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1152 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1158 '@effect/vitest':1153 '@effect/vitest':
1159 specifier: 4.0.21154 specifier: 4.0.4
1160 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1155 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1161 '@types/node':1156 '@types/node':
1162 specifier: 24.12.41157 specifier: 24.12.4
1163 version: 24.12.41158 version: 24.12.4
...@@ -1168,18 +1163,18 @@ importers:...@@ -1168,18 +1163,18 @@ importers:
1168 packages/effect-codex-app-server:1163 packages/effect-codex-app-server:
1169 dependencies:1164 dependencies:
1170 effect:1165 effect:
1171 specifier: 4.0.21166 specifier: 4.0.4
1172 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1167 version: 4.0.4
1173 devDependencies:1168 devDependencies:
1174 '@effect/openapi-generator':1169 '@effect/openapi-generator':
1175 specifier: 'catalog:'1170 specifier: 'catalog:'
1176 version: 4.0.2(@effect/platform-node@4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6))(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(encoding@0.1.13)1171 version: 4.0.4(@effect/platform-node@4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6))(effect@4.0.4)(encoding@0.1.13)
1177 '@effect/platform-node':1172 '@effect/platform-node':
1178 specifier: 4.0.21173 specifier: 4.0.4
1179 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1174 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1180 '@effect/vitest':1175 '@effect/vitest':
1181 specifier: 4.0.21176 specifier: 4.0.4
1182 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1177 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1183 '@types/node':1178 '@types/node':
1184 specifier: 24.12.41179 specifier: 24.12.4
1185 version: 24.12.41180 version: 24.12.4
...@@ -1202,15 +1197,15 @@ importers:...@@ -1202,15 +1197,15 @@ importers:
1202 specifier: 8.0.31197 specifier: 8.0.3
1203 version: 8.0.31198 version: 8.0.3
1204 effect:1199 effect:
1205 specifier: 4.0.21200 specifier: 4.0.4
1206 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1201 version: 4.0.4
1207 devDependencies:1202 devDependencies:
1208 '@effect/platform-node':1203 '@effect/platform-node':
1209 specifier: 4.0.21204 specifier: 4.0.4
1210 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1205 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1211 '@effect/vitest':1206 '@effect/vitest':
1212 specifier: 4.0.21207 specifier: 4.0.4
1213 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1208 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1214 '@types/node':1209 '@types/node':
1215 specifier: 24.12.41210 specifier: 24.12.4
1216 version: 24.12.41211 version: 24.12.4
...@@ -1239,15 +1234,15 @@ importers:...@@ -1239,15 +1234,15 @@ importers:
1239 specifier: workspace:*1234 specifier: workspace:*
1240 version: link:../shared1235 version: link:../shared
1241 effect:1236 effect:
1242 specifier: 4.0.21237 specifier: 4.0.4
1243 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1238 version: 4.0.4
1244 devDependencies:1239 devDependencies:
1245 '@effect/platform-node':1240 '@effect/platform-node':
1246 specifier: 4.0.21241 specifier: 4.0.4
1247 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1242 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1248 '@effect/vitest':1243 '@effect/vitest':
1249 specifier: 4.0.21244 specifier: 4.0.4
1250 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1245 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1251 '@t3tools/provider-testing':1246 '@t3tools/provider-testing':
1252 specifier: workspace:*1247 specifier: workspace:*
1253 version: link:../provider-testing1248 version: link:../provider-testing
...@@ -1270,15 +1265,15 @@ importers:...@@ -1270,15 +1265,15 @@ importers:
1270 specifier: workspace:*1265 specifier: workspace:*
1271 version: link:../shared1266 version: link:../shared
1272 effect:1267 effect:
1273 specifier: 4.0.21268 specifier: 4.0.4
1274 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1269 version: 4.0.4
1275 devDependencies:1270 devDependencies:
1276 '@effect/platform-node':1271 '@effect/platform-node':
1277 specifier: 4.0.21272 specifier: 4.0.4
1278 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1273 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1279 '@effect/vitest':1274 '@effect/vitest':
1280 specifier: 4.0.21275 specifier: 4.0.4
1281 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1276 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1282 '@types/node':1277 '@types/node':
1283 specifier: 24.12.41278 specifier: 24.12.4
1284 version: 24.12.41279 version: 24.12.4
...@@ -1304,18 +1299,18 @@ importers:...@@ -1304,18 +1299,18 @@ importers:
1304 specifier: workspace:*1299 specifier: workspace:*
1305 version: link:../shared1300 version: link:../shared
1306 effect:1301 effect:
1307 specifier: 4.0.21302 specifier: 4.0.4
1308 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1303 version: 4.0.4
1309 yaml:1304 yaml:
1310 specifier: ^2.9.01305 specifier: ^2.9.0
1311 version: 2.9.01306 version: 2.9.0
1312 devDependencies:1307 devDependencies:
1313 '@effect/platform-node':1308 '@effect/platform-node':
1314 specifier: 4.0.21309 specifier: 4.0.4
1315 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1310 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1316 '@effect/vitest':1311 '@effect/vitest':
1317 specifier: 4.0.21312 specifier: 4.0.4
1318 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1313 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1319 '@t3tools/provider-testing':1314 '@t3tools/provider-testing':
1320 specifier: workspace:*1315 specifier: workspace:*
1321 version: link:../provider-testing1316 version: link:../provider-testing
...@@ -1341,15 +1336,15 @@ importers:...@@ -1341,15 +1336,15 @@ importers:
1341 specifier: workspace:*1336 specifier: workspace:*
1342 version: link:../shared1337 version: link:../shared
1343 effect:1338 effect:
1344 specifier: 4.0.21339 specifier: 4.0.4
1345 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1340 version: 4.0.4
1346 devDependencies:1341 devDependencies:
1347 '@effect/platform-node':1342 '@effect/platform-node':
1348 specifier: 4.0.21343 specifier: 4.0.4
1349 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1344 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1350 '@effect/vitest':1345 '@effect/vitest':
1351 specifier: 4.0.21346 specifier: 4.0.4
1352 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1347 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1353 '@t3tools/provider-testing':1348 '@t3tools/provider-testing':
1354 specifier: workspace:*1349 specifier: workspace:*
1355 version: link:../provider-testing1350 version: link:../provider-testing
...@@ -1378,15 +1373,15 @@ importers:...@@ -1378,15 +1373,15 @@ importers:
1378 specifier: workspace:*1373 specifier: workspace:*
1379 version: link:../shared1374 version: link:../shared
1380 effect:1375 effect:
1381 specifier: 4.0.21376 specifier: 4.0.4
1382 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1377 version: 4.0.4
1383 devDependencies:1378 devDependencies:
1384 '@effect/platform-node':1379 '@effect/platform-node':
1385 specifier: 4.0.21380 specifier: 4.0.4
1386 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1381 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1387 '@effect/vitest':1382 '@effect/vitest':
1388 specifier: 4.0.21383 specifier: 4.0.4
1389 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1384 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1390 '@t3tools/provider-testing':1385 '@t3tools/provider-testing':
1391 specifier: workspace:*1386 specifier: workspace:*
1392 version: link:../provider-testing1387 version: link:../provider-testing
...@@ -1403,14 +1398,14 @@ importers:...@@ -1403,14 +1398,14 @@ importers:
1403 specifier: ^1.3.151398 specifier: ^1.3.15
1404 version: 1.15.131399 version: 1.15.13
1405 '@opencode/client':1400 '@opencode/client':
1406 specifier: 2.0.231401 specifier: 2.0.28
1407 version: 2.0.23(patch_hash=f725d6e6d9af0d56dc6ed71b863518fbfc751af1773cff2311209d2c404cf4cd)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))1402 version: 2.0.28(effect@4.0.4)
1408 '@opencode/protocol':1403 '@opencode/protocol':
1409 specifier: 2.0.231404 specifier: 2.0.28
1410 version: 2.0.23(patch_hash=17a82f6c2c98fd0371e786c211a4fbdaaba403577a25733e5e99a0c25a16a685)1405 version: 2.0.28
1411 '@opencode/schema':1406 '@opencode/schema':
1412 specifier: 2.0.231407 specifier: 2.0.28
1413 version: 2.0.23(patch_hash=650f1b8602789407c010861284272dcb6bd6de01ec6a75bf3c0904a0e7596d59)1408 version: 2.0.28
1414 '@t3tools/contracts':1409 '@t3tools/contracts':
1415 specifier: workspace:*1410 specifier: workspace:*
1416 version: link:../contracts1411 version: link:../contracts
...@@ -1421,15 +1416,15 @@ importers:...@@ -1421,15 +1416,15 @@ importers:
1421 specifier: workspace:*1416 specifier: workspace:*
1422 version: link:../shared1417 version: link:../shared
1423 effect:1418 effect:
1424 specifier: 4.0.21419 specifier: 4.0.4
1425 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1420 version: 4.0.4
1426 devDependencies:1421 devDependencies:
1427 '@effect/platform-node':1422 '@effect/platform-node':
1428 specifier: 4.0.21423 specifier: 4.0.4
1429 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1424 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1430 '@effect/vitest':1425 '@effect/vitest':
1431 specifier: 4.0.21426 specifier: 4.0.4
1432 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1427 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1433 '@t3tools/provider-testing':1428 '@t3tools/provider-testing':
1434 specifier: workspace:*1429 specifier: workspace:*
1435 version: link:../provider-testing1430 version: link:../provider-testing
...@@ -1452,15 +1447,15 @@ importers:...@@ -1452,15 +1447,15 @@ importers:
1452 specifier: workspace:*1447 specifier: workspace:*
1453 version: link:../shared1448 version: link:../shared
1454 effect:1449 effect:
1455 specifier: 4.0.21450 specifier: 4.0.4
1456 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1451 version: 4.0.4
1457 devDependencies:1452 devDependencies:
1458 '@effect/platform-node':1453 '@effect/platform-node':
1459 specifier: 4.0.21454 specifier: 4.0.4
1460 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1455 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1461 '@effect/vitest':1456 '@effect/vitest':
1462 specifier: 4.0.21457 specifier: 4.0.4
1463 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1458 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1464 '@t3tools/provider-testing':1459 '@t3tools/provider-testing':
1465 specifier: workspace:*1460 specifier: workspace:*
1466 version: link:../provider-testing1461 version: link:../provider-testing
...@@ -1474,8 +1469,8 @@ importers:...@@ -1474,8 +1469,8 @@ importers:
1474 packages/provider-testing:1469 packages/provider-testing:
1475 dependencies:1470 dependencies:
1476 '@effect/platform-node':1471 '@effect/platform-node':
1477 specifier: 4.0.21472 specifier: 4.0.4
1478 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1473 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1479 '@t3tools/contracts':1474 '@t3tools/contracts':
1480 specifier: workspace:*1475 specifier: workspace:*
1481 version: link:../contracts1476 version: link:../contracts
...@@ -1486,12 +1481,12 @@ importers:...@@ -1486,12 +1481,12 @@ importers:
1486 specifier: workspace:*1481 specifier: workspace:*
1487 version: link:../shared1482 version: link:../shared
1488 effect:1483 effect:
1489 specifier: 4.0.21484 specifier: 4.0.4
1490 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1485 version: 4.0.4
1491 devDependencies:1486 devDependencies:
1492 '@effect/vitest':1487 '@effect/vitest':
1493 specifier: 4.0.21488 specifier: 4.0.4
1494 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1489 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1495 '@types/node':1490 '@types/node':
1496 specifier: 24.12.41491 specifier: 24.12.4
1497 version: 24.12.41492 version: 24.12.4
...@@ -1511,8 +1506,8 @@ importers:...@@ -1511,8 +1506,8 @@ importers:
1511 specifier: workspace:*1506 specifier: workspace:*
1512 version: link:../contracts1507 version: link:../contracts
1513 effect:1508 effect:
1514 specifier: 4.0.21509 specifier: 4.0.4
1515 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1510 version: 4.0.4
1516 jose:1511 jose:
1517 specifier: 'catalog:'1512 specifier: 'catalog:'
1518 version: 6.2.21513 version: 6.2.2
...@@ -1551,11 +1546,11 @@ importers:...@@ -1551,11 +1546,11 @@ importers:
1551 version: 2.9.01546 version: 2.9.0
1552 devDependencies:1547 devDependencies:
1553 '@effect/platform-node':1548 '@effect/platform-node':
1554 specifier: 4.0.21549 specifier: 4.0.4
1555 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1550 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1556 '@effect/vitest':1551 '@effect/vitest':
1557 specifier: 4.0.21552 specifier: 4.0.4
1558 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1553 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1559 '@types/node':1554 '@types/node':
1560 specifier: 24.12.41555 specifier: 24.12.4
1561 version: 24.12.41556 version: 24.12.4
...@@ -1581,15 +1576,15 @@ importers:...@@ -1581,15 +1576,15 @@ importers:
1581 specifier: 8.0.31576 specifier: 8.0.3
1582 version: 8.0.31577 version: 8.0.3
1583 effect:1578 effect:
1584 specifier: 4.0.21579 specifier: 4.0.4
1585 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1580 version: 4.0.4
1586 devDependencies:1581 devDependencies:
1587 '@effect/platform-node':1582 '@effect/platform-node':
1588 specifier: 4.0.21583 specifier: 4.0.4
1589 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1584 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1590 '@effect/vitest':1585 '@effect/vitest':
1591 specifier: 4.0.21586 specifier: 4.0.4
1592 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1587 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1593 '@t3tools/source-control-testing':1588 '@t3tools/source-control-testing':
1594 specifier: workspace:*1589 specifier: workspace:*
1595 version: link:../source-control-testing1590 version: link:../source-control-testing
...@@ -1615,12 +1610,12 @@ importers:...@@ -1615,12 +1610,12 @@ importers:
1615 specifier: workspace:*1610 specifier: workspace:*
1616 version: link:../source-control-core1611 version: link:../source-control-core
1617 effect:1612 effect:
1618 specifier: 4.0.21613 specifier: 4.0.4
1619 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1614 version: 4.0.4
1620 devDependencies:1615 devDependencies:
1621 '@effect/vitest':1616 '@effect/vitest':
1622 specifier: 4.0.21617 specifier: 4.0.4
1623 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1618 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1624 '@types/node':1619 '@types/node':
1625 specifier: 24.12.41620 specifier: 24.12.4
1626 version: 24.12.41621 version: 24.12.4
...@@ -1637,12 +1632,12 @@ importers:...@@ -1637,12 +1632,12 @@ importers:
1637 specifier: workspace:*1632 specifier: workspace:*
1638 version: link:../shared1633 version: link:../shared
1639 effect:1634 effect:
1640 specifier: 4.0.21635 specifier: 4.0.4
1641 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1636 version: 4.0.4
1642 devDependencies:1637 devDependencies:
1643 '@effect/vitest':1638 '@effect/vitest':
1644 specifier: 4.0.21639 specifier: 4.0.4
1645 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1640 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1646 '@types/node':1641 '@types/node':
1647 specifier: 24.12.41642 specifier: 24.12.4
1648 version: 24.12.41643 version: 24.12.4
...@@ -1665,12 +1660,12 @@ importers:...@@ -1665,12 +1660,12 @@ importers:
1665 specifier: workspace:*1660 specifier: workspace:*
1666 version: link:../source-control-core1661 version: link:../source-control-core
1667 effect:1662 effect:
1668 specifier: 4.0.21663 specifier: 4.0.4
1669 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1664 version: 4.0.4
1670 devDependencies:1665 devDependencies:
1671 '@effect/vitest':1666 '@effect/vitest':
1672 specifier: 4.0.21667 specifier: 4.0.4
1673 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1668 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1674 '@t3tools/source-control-testing':1669 '@t3tools/source-control-testing':
1675 specifier: workspace:*1670 specifier: workspace:*
1676 version: link:../source-control-testing1671 version: link:../source-control-testing
...@@ -1696,12 +1691,12 @@ importers:...@@ -1696,12 +1691,12 @@ importers:
1696 specifier: workspace:*1691 specifier: workspace:*
1697 version: link:../source-control-core1692 version: link:../source-control-core
1698 effect:1693 effect:
1699 specifier: 4.0.21694 specifier: 4.0.4
1700 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1695 version: 4.0.4
1701 devDependencies:1696 devDependencies:
1702 '@effect/vitest':1697 '@effect/vitest':
1703 specifier: 4.0.21698 specifier: 4.0.4
1704 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1699 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1705 '@t3tools/source-control-testing':1700 '@t3tools/source-control-testing':
1706 specifier: workspace:*1701 specifier: workspace:*
1707 version: link:../source-control-testing1702 version: link:../source-control-testing
...@@ -1727,15 +1722,15 @@ importers:...@@ -1727,15 +1722,15 @@ importers:
1727 specifier: workspace:*1722 specifier: workspace:*
1728 version: link:../source-control-core1723 version: link:../source-control-core
1729 effect:1724 effect:
1730 specifier: 4.0.21725 specifier: 4.0.4
1731 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1726 version: 4.0.4
1732 devDependencies:1727 devDependencies:
1733 '@effect/platform-node':1728 '@effect/platform-node':
1734 specifier: 4.0.21729 specifier: 4.0.4
1735 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1730 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1736 '@effect/vitest':1731 '@effect/vitest':
1737 specifier: 4.0.21732 specifier: 4.0.4
1738 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1733 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1739 '@t3tools/source-control-testing':1734 '@t3tools/source-control-testing':
1740 specifier: workspace:*1735 specifier: workspace:*
1741 version: link:../source-control-testing1736 version: link:../source-control-testing
...@@ -1758,12 +1753,12 @@ importers:...@@ -1758,12 +1753,12 @@ importers:
1758 specifier: workspace:*1753 specifier: workspace:*
1759 version: link:../source-control-core1754 version: link:../source-control-core
1760 effect:1755 effect:
1761 specifier: 4.0.21756 specifier: 4.0.4
1762 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1757 version: 4.0.4
1763 devDependencies:1758 devDependencies:
1764 '@effect/vitest':1759 '@effect/vitest':
1765 specifier: 4.0.21760 specifier: 4.0.4
1766 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1761 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1767 '@t3tools/source-control-testing':1762 '@t3tools/source-control-testing':
1768 specifier: workspace:*1763 specifier: workspace:*
1769 version: link:../source-control-testing1764 version: link:../source-control-testing
...@@ -1786,8 +1781,8 @@ importers:...@@ -1786,8 +1781,8 @@ importers:
1786 specifier: workspace:*1781 specifier: workspace:*
1787 version: link:../source-control-core1782 version: link:../source-control-core
1788 effect:1783 effect:
1789 specifier: 4.0.21784 specifier: 4.0.4
1790 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1785 version: 4.0.4
1791 devDependencies:1786 devDependencies:
1792 '@types/node':1787 '@types/node':
1793 specifier: 24.12.41788 specifier: 24.12.4
...@@ -1802,15 +1797,15 @@ importers:...@@ -1802,15 +1797,15 @@ importers:
1802 specifier: workspace:*1797 specifier: workspace:*
1803 version: link:../shared1798 version: link:../shared
1804 effect:1799 effect:
1805 specifier: 4.0.21800 specifier: 4.0.4
1806 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1801 version: 4.0.4
1807 devDependencies:1802 devDependencies:
1808 '@effect/platform-node':1803 '@effect/platform-node':
1809 specifier: 4.0.21804 specifier: 4.0.4
1810 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1805 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1811 '@effect/vitest':1806 '@effect/vitest':
1812 specifier: 4.0.21807 specifier: 4.0.4
1813 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1808 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1814 '@types/node':1809 '@types/node':
1815 specifier: 24.12.41810 specifier: 24.12.4
1816 version: 24.12.41811 version: 24.12.4
...@@ -1824,12 +1819,12 @@ importers:...@@ -1824,12 +1819,12 @@ importers:
1824 specifier: workspace:*1819 specifier: workspace:*
1825 version: link:../shared1820 version: link:../shared
1826 effect:1821 effect:
1827 specifier: 4.0.21822 specifier: 4.0.4
1828 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1823 version: 4.0.4
1829 devDependencies:1824 devDependencies:
1830 '@effect/vitest':1825 '@effect/vitest':
1831 specifier: 4.0.21826 specifier: 4.0.4
1832 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1827 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1833 '@types/node':1828 '@types/node':
1834 specifier: 24.12.41829 specifier: 24.12.4
1835 version: 24.12.41830 version: 24.12.4
...@@ -1840,8 +1835,8 @@ importers:...@@ -1840,8 +1835,8 @@ importers:
1840 scripts:1835 scripts:
1841 dependencies:1836 dependencies:
1842 '@effect/platform-node':1837 '@effect/platform-node':
1843 specifier: 4.0.21838 specifier: 4.0.4
1844 version: 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)1839 version: 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
1845 '@electron/asar':1840 '@electron/asar':
1846 specifier: ^4.3.01841 specifier: ^4.3.0
1847 version: 4.3.01842 version: 4.3.0
...@@ -1855,8 +1850,8 @@ importers:...@@ -1855,8 +1850,8 @@ importers:
1855 specifier: workspace:*1850 specifier: workspace:*
1856 version: link:../packages/tailscale1851 version: link:../packages/tailscale
1857 effect:1852 effect:
1858 specifier: 4.0.21853 specifier: 4.0.4
1859 version: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)1854 version: 4.0.4
1860 plist:1855 plist:
1861 specifier: 'catalog:'1856 specifier: 'catalog:'
1862 version: 3.1.11857 version: 3.1.1
...@@ -1868,8 +1863,8 @@ importers:...@@ -1868,8 +1863,8 @@ importers:
1868 version: 0.35.4(@types/node@24.12.4)1863 version: 0.35.4(@types/node@24.12.4)
1869 devDependencies:1864 devDependencies:
1870 '@effect/vitest':1865 '@effect/vitest':
1871 specifier: 4.0.21866 specifier: 4.0.4
1872 version: 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)1867 version: 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1873 '@types/plist':1868 '@types/plist':
1874 specifier: 'catalog:'1869 specifier: 'catalog:'
1875 version: 3.0.51870 version: 3.0.5
...@@ -1916,8 +1911,8 @@ packages:...@@ -1916,8 +1911,8 @@ packages:
1916 peerDependencies:1911 peerDependencies:
1917 '@distilled.cloud/cloudflare': 1.0.0-rc.131912 '@distilled.cloud/cloudflare': 1.0.0-rc.13
1918 '@effect/platform-bun': ^4.0.01913 '@effect/platform-bun': ^4.0.0
1919 '@effect/platform-node': 4.0.21914 '@effect/platform-node': 4.0.4
1920 effect: 4.0.21915 effect: 4.0.4
1921 rolldown: 1.2.51916 rolldown: 1.2.5
1922 vite: ^7.0.0 || ^8.0.01917 vite: ^7.0.0 || ^8.0.0
1923 peerDependenciesMeta:1918 peerDependenciesMeta:
...@@ -1933,7 +1928,7 @@ packages:...@@ -1933,7 +1928,7 @@ packages:
1933 '@alchemy.run/floci@2.0.0-beta.80':1928 '@alchemy.run/floci@2.0.0-beta.80':
1934 resolution: {integrity: sha512-gtUXFitVY9pSQQYCDtSVyjfd5YOKY3Wleg3WCG5yWno7/l7xBo4kfOMbM63tzWnmka9LewVSITbMfwnC4D/73A==}1929 resolution: {integrity: sha512-gtUXFitVY9pSQQYCDtSVyjfd5YOKY3Wleg3WCG5yWno7/l7xBo4kfOMbM63tzWnmka9LewVSITbMfwnC4D/73A==}
1935 peerDependencies:1930 peerDependencies:
1936 effect: 4.0.21931 effect: 4.0.4
19371932
1938 '@alchemy.run/node-utils@2.0.0-beta.80':1933 '@alchemy.run/node-utils@2.0.0-beta.80':
1939 resolution: {integrity: sha512-uOhVDQZTjwh1AU4mrk0wB5rQaziTwSrVMfqwFP8wALfU//nveu4goOWZimHtqytXiybENh+iEbALH25EFAkc7A==}1934 resolution: {integrity: sha512-uOhVDQZTjwh1AU4mrk0wB5rQaziTwSrVMfqwFP8wALfU//nveu4goOWZimHtqytXiybENh+iEbALH25EFAkc7A==}
...@@ -2971,82 +2966,82 @@ packages:...@@ -2971,82 +2966,82 @@ packages:
2971 '@distilled.cloud/acme@1.0.0-rc.13':2966 '@distilled.cloud/acme@1.0.0-rc.13':
2972 resolution: {integrity: sha512-3rmzH125jQxk0zpCvXGNEybSaqpAolyCX+8LWDDrXf+wIKs67GflkJyQLjOOh0lKARe29hdUZGgqEbbvpp0LNA==}2967 resolution: {integrity: sha512-3rmzH125jQxk0zpCvXGNEybSaqpAolyCX+8LWDDrXf+wIKs67GflkJyQLjOOh0lKARe29hdUZGgqEbbvpp0LNA==}
2973 peerDependencies:2968 peerDependencies:
2974 effect: 4.0.22969 effect: 4.0.4
29752970
2976 '@distilled.cloud/aws@1.0.0-rc.13':2971 '@distilled.cloud/aws@1.0.0-rc.13':
2977 resolution: {integrity: sha512-6ZGcp0LkniB0I2l8Gr7vKRQgTZTch0/07iuvuMZv9Nu+rWwNuZG9VHTUdlIoarWgCHFUNN8yvSYBGOjaeN99tQ==}2972 resolution: {integrity: sha512-6ZGcp0LkniB0I2l8Gr7vKRQgTZTch0/07iuvuMZv9Nu+rWwNuZG9VHTUdlIoarWgCHFUNN8yvSYBGOjaeN99tQ==}
2978 peerDependencies:2973 peerDependencies:
2979 effect: 4.0.22974 effect: 4.0.4
29802975
2981 '@distilled.cloud/axiom@1.0.0-rc.13':2976 '@distilled.cloud/axiom@1.0.0-rc.13':
2982 resolution: {integrity: sha512-aRoJtvfXgWi5dtfjuJvDwnArRKvv2MPYHCxYeZcxZbqe62IaQA5yu/khft7TJvxeDyJoSDnVXZu3RyJjNmBA4g==}2977 resolution: {integrity: sha512-aRoJtvfXgWi5dtfjuJvDwnArRKvv2MPYHCxYeZcxZbqe62IaQA5yu/khft7TJvxeDyJoSDnVXZu3RyJjNmBA4g==}
2983 peerDependencies:2978 peerDependencies:
2984 effect: 4.0.22979 effect: 4.0.4
29852980
2986 '@distilled.cloud/cloudflare@1.0.0-rc.13':2981 '@distilled.cloud/cloudflare@1.0.0-rc.13':
2987 resolution: {integrity: sha512-Py5FoA6azyYExDb91VaeC+9x+ravOBSRhXeUmpcQjCtgqmOdiXgc2YZGMMPI68DF+kMuHRVIrR+2uRZNDOhYjw==}2982 resolution: {integrity: sha512-Py5FoA6azyYExDb91VaeC+9x+ravOBSRhXeUmpcQjCtgqmOdiXgc2YZGMMPI68DF+kMuHRVIrR+2uRZNDOhYjw==}
2988 peerDependencies:2983 peerDependencies:
2989 effect: 4.0.22984 effect: 4.0.4
29902985
2991 '@distilled.cloud/core@1.0.0-rc.13':2986 '@distilled.cloud/core@1.0.0-rc.13':
2992 resolution: {integrity: sha512-RYyrxW+F5zrTuu1UWV/JoycholBCIkXIusYJdDniDwCdmbjdKGl07KlkkeeY774uBawNGf+pt1ESNGeLVnNHsg==}2987 resolution: {integrity: sha512-RYyrxW+F5zrTuu1UWV/JoycholBCIkXIusYJdDniDwCdmbjdKGl07KlkkeeY774uBawNGf+pt1ESNGeLVnNHsg==}
2993 peerDependencies:2988 peerDependencies:
2994 effect: 4.0.22989 effect: 4.0.4
29952990
2996 '@distilled.cloud/doppler@1.0.0-rc.13':2991 '@distilled.cloud/doppler@1.0.0-rc.13':
2997 resolution: {integrity: sha512-GgOEUCc4Bx0C+lYNfZ4OqaA3ULvqDUQTJC8gobSh1L0jfrWclv/kRcSr43v4IXyStld+saUvDfDZgeGzlE74OA==}2992 resolution: {integrity: sha512-GgOEUCc4Bx0C+lYNfZ4OqaA3ULvqDUQTJC8gobSh1L0jfrWclv/kRcSr43v4IXyStld+saUvDfDZgeGzlE74OA==}
2998 peerDependencies:2993 peerDependencies:
2999 effect: 4.0.22994 effect: 4.0.4
30002995
3001 '@distilled.cloud/fly-io@1.0.0-rc.13':2996 '@distilled.cloud/fly-io@1.0.0-rc.13':
3002 resolution: {integrity: sha512-Ipp+9nvs+PzqwDPhZq2/BEHNUeWzXKhrvjfT/eBLFHo/QpH0HgdMH8MSQe6/LGszZoormwA6ZrTv2wxaFO7ZiQ==}2997 resolution: {integrity: sha512-Ipp+9nvs+PzqwDPhZq2/BEHNUeWzXKhrvjfT/eBLFHo/QpH0HgdMH8MSQe6/LGszZoormwA6ZrTv2wxaFO7ZiQ==}
3003 peerDependencies:2998 peerDependencies:
3004 effect: 4.0.22999 effect: 4.0.4
30053000
3006 '@distilled.cloud/gcp@1.0.0-rc.13':3001 '@distilled.cloud/gcp@1.0.0-rc.13':
3007 resolution: {integrity: sha512-un8jqil9ejt96oN+OfEDUsbrEOpC6Ut4B/73DqKDttvt0Btal1OeBNTTQsftVCpeEzXAvkYKGRIT2AeEu1J5jA==}3002 resolution: {integrity: sha512-un8jqil9ejt96oN+OfEDUsbrEOpC6Ut4B/73DqKDttvt0Btal1OeBNTTQsftVCpeEzXAvkYKGRIT2AeEu1J5jA==}
3008 peerDependencies:3003 peerDependencies:
3009 effect: 4.0.23004 effect: 4.0.4
30103005
3011 '@distilled.cloud/hetzner@1.0.0-rc.13':3006 '@distilled.cloud/hetzner@1.0.0-rc.13':
3012 resolution: {integrity: sha512-FvqofgMypNkeZbnjGjWMZqvqGd9GxcMzdbi/6JrbcPaHMJG+CCBGt/mAa7mLlEovzwVaGCsBnOXJ6rP5pZjB4Q==}3007 resolution: {integrity: sha512-FvqofgMypNkeZbnjGjWMZqvqGd9GxcMzdbi/6JrbcPaHMJG+CCBGt/mAa7mLlEovzwVaGCsBnOXJ6rP5pZjB4Q==}
3013 peerDependencies:3008 peerDependencies:
3014 effect: 4.0.23009 effect: 4.0.4
30153010
3016 '@distilled.cloud/infisical@1.0.0-rc.13':3011 '@distilled.cloud/infisical@1.0.0-rc.13':
3017 resolution: {integrity: sha512-Zz8ksA/Y8UUUnWag2UBxB5WYA6wLqOS78ugWJ3cOr9Ot+4bC0NJYWanq35uFInozLXWhun84USU2wOI+mdwQUQ==}3012 resolution: {integrity: sha512-Zz8ksA/Y8UUUnWag2UBxB5WYA6wLqOS78ugWJ3cOr9Ot+4bC0NJYWanq35uFInozLXWhun84USU2wOI+mdwQUQ==}
3018 peerDependencies:3013 peerDependencies:
3019 effect: 4.0.23014 effect: 4.0.4
30203015
3021 '@distilled.cloud/neon@1.0.0-rc.13':3016 '@distilled.cloud/neon@1.0.0-rc.13':
3022 resolution: {integrity: sha512-2JvbBFj1kBfkDVPnWcJZ7TJ1cJwWBtScAY7SNJ2qNBUuAK1Wf2kjJXU0/j16eCJ48BQigPArQFWL51wVu/EUQQ==}3017 resolution: {integrity: sha512-2JvbBFj1kBfkDVPnWcJZ7TJ1cJwWBtScAY7SNJ2qNBUuAK1Wf2kjJXU0/j16eCJ48BQigPArQFWL51wVu/EUQQ==}
3023 peerDependencies:3018 peerDependencies:
3024 effect: 4.0.23019 effect: 4.0.4
30253020
3026 '@distilled.cloud/planetscale@1.0.0-rc.13':3021 '@distilled.cloud/planetscale@1.0.0-rc.13':
3027 resolution: {integrity: sha512-AM97YGRnDfZdqsxFgQMQ83p7ZlRqxS6/foTTJA5P590UMbbOyrQyFyd33BD0agul8a3ngZde3Oej6v7BN55aWw==}3022 resolution: {integrity: sha512-AM97YGRnDfZdqsxFgQMQ83p7ZlRqxS6/foTTJA5P590UMbbOyrQyFyd33BD0agul8a3ngZde3Oej6v7BN55aWw==}
3028 peerDependencies:3023 peerDependencies:
3029 effect: 4.0.23024 effect: 4.0.4
30303025
3031 '@distilled.cloud/prisma@1.0.0-rc.13':3026 '@distilled.cloud/prisma@1.0.0-rc.13':
3032 resolution: {integrity: sha512-+UmHSp9JV8XQl5t5tTdQBY+dWZ9abrEoc7leYEctA0Ar1TrKZEl2EaeQDoumrg4RyGaacRlirEbxaDFI4SOPtQ==}3027 resolution: {integrity: sha512-+UmHSp9JV8XQl5t5tTdQBY+dWZ9abrEoc7leYEctA0Ar1TrKZEl2EaeQDoumrg4RyGaacRlirEbxaDFI4SOPtQ==}
3033 peerDependencies:3028 peerDependencies:
3034 effect: 4.0.23029 effect: 4.0.4
30353030
3036 '@distilled.cloud/railway@1.0.0-rc.13':3031 '@distilled.cloud/railway@1.0.0-rc.13':
3037 resolution: {integrity: sha512-yXalRS3GFLo3hWM0HXptqudi23NVCM4FRD20db2/Ob9FFcNrMJik1fopv+74HOiV+BuxfkCP609KsEK6LVdB/g==}3032 resolution: {integrity: sha512-yXalRS3GFLo3hWM0HXptqudi23NVCM4FRD20db2/Ob9FFcNrMJik1fopv+74HOiV+BuxfkCP609KsEK6LVdB/g==}
3038 peerDependencies:3033 peerDependencies:
3039 effect: 4.0.23034 effect: 4.0.4
30403035
3041 '@distilled.cloud/stripe@1.0.0-rc.13':3036 '@distilled.cloud/stripe@1.0.0-rc.13':
3042 resolution: {integrity: sha512-jLTJ1mg4U39lHZb9EGYBJLR91yB3LSG6fVxix+r1BbqaTovWzE+NuJ7fu9fRSeax9jRAqsGLLxe9IxJbOtwQnQ==}3037 resolution: {integrity: sha512-jLTJ1mg4U39lHZb9EGYBJLR91yB3LSG6fVxix+r1BbqaTovWzE+NuJ7fu9fRSeax9jRAqsGLLxe9IxJbOtwQnQ==}
3043 peerDependencies:3038 peerDependencies:
3044 effect: 4.0.23039 effect: 4.0.4
30453040
3046 '@distilled.cloud/zerossl@1.0.0-rc.13':3041 '@distilled.cloud/zerossl@1.0.0-rc.13':
3047 resolution: {integrity: sha512-dnxhg39lZjpTdZbHCVYPoUC9E2r8eSHbqiYDhSq2EurVPJcc9YRXlxZR1bP1nniSp078XV8GA+aUECt/Z56aQg==}3042 resolution: {integrity: sha512-dnxhg39lZjpTdZbHCVYPoUC9E2r8eSHbqiYDhSq2EurVPJcc9YRXlxZR1bP1nniSp078XV8GA+aUECt/Z56aQg==}
3048 peerDependencies:3043 peerDependencies:
3049 effect: 4.0.23044 effect: 4.0.4
30503045
3051 '@dnd-kit/accessibility@3.1.1':3046 '@dnd-kit/accessibility@3.1.1':
3052 resolution: {integrity: sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==}3047 resolution: {integrity: sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==}
...@@ -3079,52 +3074,52 @@ packages:...@@ -3079,52 +3074,52 @@ packages:
3079 '@drizzle-team/brocli@0.12.0':3074 '@drizzle-team/brocli@0.12.0':
3080 resolution: {integrity: sha512-mlUE+rZ8CatQekLhnaiN91Iemdd+e2gFKooGlnRB3oPTL3VghLfX24dx7HrzMNeC1JrIB/0kpsfyty3f5HNfxQ==}3075 resolution: {integrity: sha512-mlUE+rZ8CatQekLhnaiN91Iemdd+e2gFKooGlnRB3oPTL3VghLfX24dx7HrzMNeC1JrIB/0kpsfyty3f5HNfxQ==}
30813076
3082 '@effect/atom-react@4.0.2':3077 '@effect/atom-react@4.0.4':
3083 resolution: {integrity: sha512-rg9xnPHzjURhKhOm+bKnYitPPQC02m6R7ZmJLNdxtrNCgDQ9fSOPqZHN5W/GzUw+OsvplKSvaBe/JSQejeYKYA==}3078 resolution: {integrity: sha512-/cd4zHAS/j4QEAJahvIuvCjASI9iKPsKoYDJF1WdqBH6ol+7PIzV5jfIxyd5K0hTlLlavZnzEfi849pcS84apg==}
3084 peerDependencies:3079 peerDependencies:
3085 effect: 4.0.23080 effect: 4.0.4
3086 react: '>=19.0.0 <20.0.0'3081 react: '>=19.0.0 <20.0.0'
3087 scheduler: '>=0.25.0 <0.28.0'3082 scheduler: '>=0.25.0 <0.29.0'
30883083
3089 '@effect/openapi-generator@4.0.2':3084 '@effect/openapi-generator@4.0.4':
3090 resolution: {integrity: sha512-rSH4VFCPs8d0LnB4QMPaGpT3Z3KrF7mCV+hvpv8FDXerImpYMSEzaLN5WWB7LG+mOOcTWIa3KYWvBBf0kH/JrQ==}3085 resolution: {integrity: sha512-5TcA4HP2Eml1Y3DCP1JCojYVeioGrtr9MxDDWCKYrfUQx2U/JRcnCzH0rJ+sD5obUAn9QKw2QIvb+/A3mxP35w==}
3091 hasBin: true3086 hasBin: true
3092 peerDependencies:3087 peerDependencies:
3093 '@effect/platform-node': 4.0.23088 '@effect/platform-node': 4.0.4
3094 effect: 4.0.23089 effect: 4.0.4
30953090
3096 '@effect/platform-node-shared@4.0.2':3091 '@effect/platform-node-shared@4.0.4':
3097 resolution: {integrity: sha512-xn8aDw9p/QUPt1Yi0C3HUMcycT+MjHfAe19FDUDrUuzcwq0xxskkamVSqbdykF/Dsuus4aZTsCBZA/vkhHIfbQ==}3092 resolution: {integrity: sha512-gh2KRmqGWrJ0FVL8GqnI1GpB+fCfCUI7sGiUZkxxBHyHj1t94rm6VDJffCfuVZWe6GpvYXtizifVczUrgOce8A==}
3098 engines: {node: '>=18.0.0'}3093 engines: {node: '>=18.0.0'}
3099 peerDependencies:3094 peerDependencies:
3100 effect: 4.0.23095 effect: 4.0.4
31013096
3102 '@effect/platform-node@4.0.2':3097 '@effect/platform-node@4.0.4':
3103 resolution: {integrity: sha512-RWesXBQStnFHdD465gR5thFKgXO7FSyCKRZ56nWXB7PedNVzr8vV0nb/3MULLdri493sMz/b/pmGBTb6K8cBjQ==}3098 resolution: {integrity: sha512-SdoyQMrO5zmqBebb2fxDk0sHYyJjBiw4QmLdV2ZcWf3ATpQPge3B5sTLijZg49PadekOwNeO83o5TfdtiiFEig==}
3104 engines: {node: '>=18.0.0'}3099 engines: {node: '>=18.0.0'}
3105 peerDependencies:3100 peerDependencies:
3106 effect: 4.0.23101 effect: 4.0.4
3107 redis: '>=5.0.0 <7.0.0'3102 redis: '>=5.0.0 <7.0.0'
31083103
3109 '@effect/sql-d1@4.0.0':3104 '@effect/sql-d1@4.0.0':
3110 resolution: {integrity: sha512-pmkzncZCGD6CLyvc89keEBU85h+gHVCu/LKQnThd+ruYSUbG0R9jYA+lnk3R8Djp0wQW6SbsbmHQuhopIYyo3Q==}3105 resolution: {integrity: sha512-pmkzncZCGD6CLyvc89keEBU85h+gHVCu/LKQnThd+ruYSUbG0R9jYA+lnk3R8Djp0wQW6SbsbmHQuhopIYyo3Q==}
3111 peerDependencies:3106 peerDependencies:
3112 effect: 4.0.23107 effect: 4.0.4
31133108
3114 '@effect/sql-pg@4.0.2':3109 '@effect/sql-pg@4.0.4':
3115 resolution: {integrity: sha512-i2N5F0L5s1S8Nx2I8V7k+awBinP26b5xiiHL1zn5b6RALNnloiU7FK1yS4dAkmqG9B0EcOVxvJrIpoMWwrB4hw==}3110 resolution: {integrity: sha512-41x5O2C+gRF3A/Sf+IkV+OOzo5BexsIubH1cib3m4NwhZcjQUQUrq5YbOw7fIuWmBODtAyHNXFjaeEtiXoPL9Q==}
3116 peerDependencies:3111 peerDependencies:
3117 effect: 4.0.23112 effect: 4.0.4
31183113
3119 '@effect/sql-sqlite-bun@4.0.0-rc.112':3114 '@effect/sql-sqlite-bun@4.0.0-rc.112':
3120 resolution: {integrity: sha512-EqR8pWZo3VzedRvP6qo5HcfqNmFvSa+sQLWQl3oBMx2KY1FCc8NYjep79wYjNkW0qABnffrPUXCMTOncd1A+5g==}3115 resolution: {integrity: sha512-EqR8pWZo3VzedRvP6qo5HcfqNmFvSa+sQLWQl3oBMx2KY1FCc8NYjep79wYjNkW0qABnffrPUXCMTOncd1A+5g==}
3121 peerDependencies:3116 peerDependencies:
3122 effect: 4.0.23117 effect: 4.0.4
31233118
3124 '@effect/sql-sqlite-do@4.0.2':3119 '@effect/sql-sqlite-do@4.0.4':
3125 resolution: {integrity: sha512-dbKYFZSfdaIbbnYgvu432f9ISi/nSaXCYRfoK0HWKB8NwqI7hspaFvc4cW6ETDJyaoCDJzKzBQxrvCmA/T0XHw==}3120 resolution: {integrity: sha512-6Uqa6zbm5GPTWjoIVVty8msQ5C+8coPQDzj8qZM9Mk4NXUWa/RVlaziW335mXZ/8tCnQsFj2iJ/CJdv54JXuew==}
3126 peerDependencies:3121 peerDependencies:
3127 effect: 4.0.23122 effect: 4.0.4
31283123
3129 '@effect/tsgo-darwin-arm64@0.51.1':3124 '@effect/tsgo-darwin-arm64@0.51.1':
3130 resolution: {integrity: sha512-Jx+1RB3pz1B2zYs1EmxybwDOq9KRpfdu/rn1XTULNMZmqUJZuvTQU9CRqB0g/ZgIa6MeNBZEYvmAu4Dq2/QVWA==}3125 resolution: {integrity: sha512-Jx+1RB3pz1B2zYs1EmxybwDOq9KRpfdu/rn1XTULNMZmqUJZuvTQU9CRqB0g/ZgIa6MeNBZEYvmAu4Dq2/QVWA==}
...@@ -3165,10 +3160,10 @@ packages:...@@ -3165,10 +3160,10 @@ packages:
3165 resolution: {integrity: sha512-i6mA6cNah+0mkPdu8qZILCO3Pnd9kWo03/s82Ju+1DFhdL28HFagi+1PRGxqgq1uMaHziWQ+ciKvOmIoks2RdA==}3160 resolution: {integrity: sha512-i6mA6cNah+0mkPdu8qZILCO3Pnd9kWo03/s82Ju+1DFhdL28HFagi+1PRGxqgq1uMaHziWQ+ciKvOmIoks2RdA==}
3166 hasBin: true3161 hasBin: true
31673162
3168 '@effect/vitest@4.0.2':3163 '@effect/vitest@4.0.4':
3169 resolution: {integrity: sha512-Zb72nu7iUy3rNdBp9J1Xu5oUQGwJ8cOYsUwmYgujj88aqyvASRDjOS01SjlcPViqf77csduetKdCJTVndMNfzw==}3164 resolution: {integrity: sha512-l5KN46RbDVpqZxWzwXZtX6FVQiyzd+/hTYqL543uSDRo7hC0m19IeICh6O9U/nqCtfersqsNZnBjgHFfkuHsBw==}
3170 peerDependencies:3165 peerDependencies:
3171 effect: 4.0.23166 effect: 4.0.4
31723167
3173 '@electric-sql/pglite@0.3.15':3168 '@electric-sql/pglite@0.3.15':
3174 resolution: {integrity: sha512-Cj++n1Mekf9ETfdc16TlDi+cDDQF0W7EcbyRHYOAeZdsAe8M/FJg18itDTSwyHfar2WIezawM9o0EKaRGVKygQ==}3169 resolution: {integrity: sha512-Cj++n1Mekf9ETfdc16TlDi+cDDQF0W7EcbyRHYOAeZdsAe8M/FJg18itDTSwyHfar2WIezawM9o0EKaRGVKygQ==}
...@@ -4521,10 +4516,10 @@ packages:...@@ -4521,10 +4516,10 @@ packages:
4521 '@opencode-ai/sdk@1.15.13':4516 '@opencode-ai/sdk@1.15.13':
4522 resolution: {integrity: sha512-4TwojIoQ8EG6/mVBuUVYZXiFcwNmiiytEnjnvyuvSJjGwFIlw2YIBFxtSVC3FbwwbwHT63teh1RHiQUUC4U5xw==}4517 resolution: {integrity: sha512-4TwojIoQ8EG6/mVBuUVYZXiFcwNmiiytEnjnvyuvSJjGwFIlw2YIBFxtSVC3FbwwbwHT63teh1RHiQUUC4U5xw==}
45234518
4524 '@opencode/client@2.0.23':4519 '@opencode/client@2.0.28':
4525 resolution: {integrity: sha512-tHfYu7sKNxFu2dZ7Pu5vZG4T8GHqU71ZCsXHZ/RoI0LLdG7t2zwePHWR9aNbcSP+jDUGyaQlzr5utC9Uduczvg==}4520 resolution: {integrity: sha512-YV0Yxk93/K2h4Xy/sEW/4ZYGMwn7ltxG2Y/Vdy2VCIZ2z0/r9MI6x5/XawSNfCvImBxuHkQNbYtu9Rgp3ArJ4g==}
4526 peerDependencies:4521 peerDependencies:
4527 effect: 4.0.24522 effect: 4.0.4
4528 solid-js: '>=1.9.0'4523 solid-js: '>=1.9.0'
4529 peerDependenciesMeta:4524 peerDependenciesMeta:
4530 effect:4525 effect:
...@@ -4532,11 +4527,11 @@ packages:...@@ -4532,11 +4527,11 @@ packages:
4532 solid-js:4527 solid-js:
4533 optional: true4528 optional: true
45344529
4535 '@opencode/protocol@2.0.23':4530 '@opencode/protocol@2.0.28':
4536 resolution: {integrity: sha512-acwAvjQgzzBsZ0h2Phvo+P/SurCexqcidPL2AYB6cDDPgOhY7ppeoKJAOQ76zAUcT4WBlcQzLl6Lq3L+IR6OEw==}4531 resolution: {integrity: sha512-yfc0SDa7FxqSDZRC0olACnhB7Gvsx8X0ji0gEmO2xunCswNiJTCPUngcIKphxN5NFeMl/A5E0iNG4q39KW5fyA==}
45374532
4538 '@opencode/schema@2.0.23':4533 '@opencode/schema@2.0.28':
4539 resolution: {integrity: sha512-DglA+CCNmCaiAJ8FqAKo2EKIkCOF9/EmMEYowcXhTrQcoJ7eaTx7ytGjPgis6VHQuU4aaAgwZYw96ypS3ojsIw==}4534 resolution: {integrity: sha512-NHl42ngFN6uLCjtmtooYlEGEayng9ZFc+30DAqQuPcvKpMWsO23OqximHlukxtErp209C4f9LW+OJH/6k60+yw==}
45404535
4541 '@oslojs/asn1@1.0.0':4536 '@oslojs/asn1@1.0.0':
4542 resolution: {integrity: sha512-zw/wn0sj0j0QKbIXfIlnEcTviaCzYOY3V5rAyjR6YtOByFtJiT574+8p9Wlach0lZH9fddD4yb9laEAIl4vXQA==}4537 resolution: {integrity: sha512-zw/wn0sj0j0QKbIXfIlnEcTviaCzYOY3V5rAyjR6YtOByFtJiT574+8p9Wlach0lZH9fddD4yb9laEAIl4vXQA==}
...@@ -7144,15 +7139,15 @@ packages:...@@ -7144,15 +7139,15 @@ packages:
7144 '@alchemy.run/frontend-frameworks': 2.0.0-beta.807139 '@alchemy.run/frontend-frameworks': 2.0.0-beta.80
7145 '@aws/durable-execution-sdk-js': ^2.1.07140 '@aws/durable-execution-sdk-js': ^2.1.0
7146 '@effect/platform-bun': ^4.0.07141 '@effect/platform-bun': ^4.0.0
7147 '@effect/platform-node': 4.0.27142 '@effect/platform-node': 4.0.4
7148 '@effect/sql-mysql2': ^4.0.07143 '@effect/sql-mysql2': ^4.0.0
7149 '@effect/sql-pg': 4.0.27144 '@effect/sql-pg': 4.0.4
7150 '@effect/vitest': 4.0.27145 '@effect/vitest': 4.0.4
7151 '@prisma/orm-postgres': 8.0.0-rc.117146 '@prisma/orm-postgres': 8.0.0-rc.11
7152 '@vercel/nft': ^1.10.27147 '@vercel/nft': ^1.10.2
7153 drizzle-kit: 1.0.0-rc.5-ab785fc7148 drizzle-kit: 1.0.0-rc.5-ab785fc
7154 drizzle-orm: 1.0.0-rc.5-ab785fc7149 drizzle-orm: 1.0.0-rc.5-ab785fc
7155 effect: 4.0.27150 effect: 4.0.4
7156 mongodb: ^6.10.07151 mongodb: ^6.10.0
7157 mysql2: ^3.24.27152 mysql2: ^3.24.2
7158 pg: ^8.22.07153 pg: ^8.22.0
...@@ -8182,7 +8177,7 @@ packages:...@@ -8182,7 +8177,7 @@ packages:
8182 '@effect/sql-d1': '>=4.0.0-beta.105 || >=4.0.0'8177 '@effect/sql-d1': '>=4.0.0-beta.105 || >=4.0.0'
8183 '@effect/sql-libsql': '>=4.0.0-beta.105 || >=4.0.0'8178 '@effect/sql-libsql': '>=4.0.0-beta.105 || >=4.0.0'
8184 '@effect/sql-mysql2': '>=4.0.0-beta.105 || >=4.0.0'8179 '@effect/sql-mysql2': '>=4.0.0-beta.105 || >=4.0.0'
8185 '@effect/sql-pg': 4.0.28180 '@effect/sql-pg': 4.0.4
8186 '@effect/sql-pglite': '>=4.0.0-beta.105 || >=4.0.0'8181 '@effect/sql-pglite': '>=4.0.0-beta.105 || >=4.0.0'
8187 '@effect/sql-sqlite-bun': '>=4.0.0-beta.105 || >=4.0.0'8182 '@effect/sql-sqlite-bun': '>=4.0.0-beta.105 || >=4.0.0'
8188 '@effect/sql-sqlite-do': '>=4.0.0-beta.105 || >=4.0.0'8183 '@effect/sql-sqlite-do': '>=4.0.0-beta.105 || >=4.0.0'
...@@ -8213,7 +8208,7 @@ packages:...@@ -8213,7 +8208,7 @@ packages:
8213 arktype: '>=2.0.0'8208 arktype: '>=2.0.0'
8214 better-sqlite3: '>=9.3.0'8209 better-sqlite3: '>=9.3.0'
8215 bun-types: '*'8210 bun-types: '*'
8216 effect: 4.0.28211 effect: 4.0.4
8217 expo-sqlite: '>=14.0.0'8212 expo-sqlite: '>=14.0.0'
8218 minipg: '>=0.2.0'8213 minipg: '>=0.2.0'
8219 mssql: ^11.0.18214 mssql: ^11.0.1
...@@ -8340,8 +8335,8 @@ packages:...@@ -8340,8 +8335,8 @@ packages:
8340 ee-first@1.1.1:8335 ee-first@1.1.1:
8341 resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}8336 resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
83428337
8343 effect@4.0.2:8338 effect@4.0.4:
8344 resolution: {integrity: sha512-YeYnLqSFrL4+tCOXRrfNP03w8FILoF/wDl+ukraJAGzXrjcS383W7LAAvGBbLatEyktmLxRq+9xJinx7QzXW5A==}8339 resolution: {integrity: sha512-Sr50OeVSC3M5UkoUYUhFf3EULryhGaZZUf6OzDHTvaznOw7HRlxOKdF3/4nvQXHL22StOyMG3Cvo8Bt7xUp+Ng==}
83458340
8346 ejs@3.1.10:8341 ejs@3.1.10:
8347 resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}8342 resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
...@@ -12434,14 +12429,14 @@ snapshots:...@@ -12434,14 +12429,14 @@ snapshots:
12434 dependencies:12429 dependencies:
12435 json-schema: 0.4.012430 json-schema: 0.4.0
1243612431
12437 '@alchemy.run/cloudflare-runtime@2.0.0-beta.80(@distilled.cloud/cloudflare@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)))(@effect/platform-node@4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6))(@types/node@24.12.4)(@voidzero-dev/vite-plus-core@1.0.0(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(yaml@2.9.0))(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(rolldown@1.2.5)(typescript@7.0.2)':12432 '@alchemy.run/cloudflare-runtime@2.0.0-beta.80(@distilled.cloud/cloudflare@1.0.0-rc.13(effect@4.0.4))(@effect/platform-node@4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6))(@types/node@24.12.4)(@voidzero-dev/vite-plus-core@1.0.0(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(yaml@2.9.0))(effect@4.0.4)(rolldown@1.2.5)(typescript@7.0.2)':
12438 dependencies:12433 dependencies:
12439 '@alchemy.run/node-utils': 2.0.0-beta.8012434 '@alchemy.run/node-utils': 2.0.0-beta.80
12440 '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260918.1)12435 '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260918.1)
12441 '@distilled.cloud/cloudflare': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))12436 '@distilled.cloud/cloudflare': 1.0.0-rc.13(effect@4.0.4)
12442 '@puppeteer/browsers': 3.2.2(yauzl@3.4.0)12437 '@puppeteer/browsers': 3.2.2(yauzl@3.4.0)
12443 capnp-es: 0.0.16(typescript@7.0.2)12438 capnp-es: 0.0.16(typescript@7.0.2)
12444 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)12439 effect: 4.0.4
12445 magic-string: 0.30.2112440 magic-string: 0.30.21
12446 mime: 4.1.012441 mime: 4.1.0
12447 sharp: 0.35.4(@types/node@24.12.4)12442 sharp: 0.35.4(@types/node@24.12.4)
...@@ -12449,7 +12444,7 @@ snapshots:...@@ -12449,7 +12444,7 @@ snapshots:
12449 workerd: 1.20260918.112444 workerd: 1.20260918.1
12450 yauzl: 3.4.012445 yauzl: 3.4.0
12451 optionalDependencies:12446 optionalDependencies:
12452 '@effect/platform-node': 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)12447 '@effect/platform-node': 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
12453 rolldown: 1.2.512448 rolldown: 1.2.5
12454 vite: '@voidzero-dev/vite-plus-core@1.0.0(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(yaml@2.9.0)'12449 vite: '@voidzero-dev/vite-plus-core@1.0.0(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(yaml@2.9.0)'
12455 transitivePeerDependencies:12450 transitivePeerDependencies:
...@@ -12457,9 +12452,9 @@ snapshots:...@@ -12457,9 +12452,9 @@ snapshots:
12457 - proxy-agent12452 - proxy-agent
12458 - typescript12453 - typescript
1245912454
12460 '@alchemy.run/floci@2.0.0-beta.80(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':12455 '@alchemy.run/floci@2.0.0-beta.80(effect@4.0.4)':
12461 dependencies:12456 dependencies:
12462 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)12457 effect: 4.0.4
1246312458
12464 '@alchemy.run/node-utils@2.0.0-beta.80':12459 '@alchemy.run/node-utils@2.0.0-beta.80':
12465 dependencies:12460 dependencies:
...@@ -13741,86 +13736,86 @@ snapshots:...@@ -13741,86 +13736,86 @@ snapshots:
1374113736
13742 '@dimforge/rapier3d-compat@0.12.0': {}13737 '@dimforge/rapier3d-compat@0.12.0': {}
1374313738
13744 '@distilled.cloud/acme@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13739 '@distilled.cloud/acme@1.0.0-rc.13(effect@4.0.4)':
13745 dependencies:13740 dependencies:
13746 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))13741 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
13747 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13742 effect: 4.0.4
1374813743
13749 '@distilled.cloud/aws@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13744 '@distilled.cloud/aws@1.0.0-rc.13(effect@4.0.4)':
13750 dependencies:13745 dependencies:
13751 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))13746 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
13752 '@smithy/types': 4.18.013747 '@smithy/types': 4.18.0
13753 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13748 effect: 4.0.4
1375413749
13755 '@distilled.cloud/axiom@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13750 '@distilled.cloud/axiom@1.0.0-rc.13(effect@4.0.4)':
13756 dependencies:13751 dependencies:
13757 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))13752 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
13758 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13753 effect: 4.0.4
1375913754
13760 '@distilled.cloud/cloudflare@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13755 '@distilled.cloud/cloudflare@1.0.0-rc.13(effect@4.0.4)':
13761 dependencies:13756 dependencies:
13762 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))13757 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
13763 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13758 effect: 4.0.4
1376413759
13765 '@distilled.cloud/core@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13760 '@distilled.cloud/core@1.0.0-rc.13(effect@4.0.4)':
13766 dependencies:13761 dependencies:
13767 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13762 effect: 4.0.4
13768 graphql: 16.11.013763 graphql: 16.11.0
1376913764
13770 '@distilled.cloud/doppler@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13765 '@distilled.cloud/doppler@1.0.0-rc.13(effect@4.0.4)':
13771 dependencies:13766 dependencies:
13772 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))13767 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
13773 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13768 effect: 4.0.4
1377413769
13775 '@distilled.cloud/fly-io@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13770 '@distilled.cloud/fly-io@1.0.0-rc.13(effect@4.0.4)':
13776 dependencies:13771 dependencies:
13777 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))13772 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
13778 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13773 effect: 4.0.4
1377913774
13780 '@distilled.cloud/gcp@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13775 '@distilled.cloud/gcp@1.0.0-rc.13(effect@4.0.4)':
13781 dependencies:13776 dependencies:
13782 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))13777 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
13783 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13778 effect: 4.0.4
1378413779
13785 '@distilled.cloud/hetzner@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13780 '@distilled.cloud/hetzner@1.0.0-rc.13(effect@4.0.4)':
13786 dependencies:13781 dependencies:
13787 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))13782 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
13788 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13783 effect: 4.0.4
1378913784
13790 '@distilled.cloud/infisical@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13785 '@distilled.cloud/infisical@1.0.0-rc.13(effect@4.0.4)':
13791 dependencies:13786 dependencies:
13792 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))13787 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
13793 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13788 effect: 4.0.4
1379413789
13795 '@distilled.cloud/neon@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13790 '@distilled.cloud/neon@1.0.0-rc.13(effect@4.0.4)':
13796 dependencies:13791 dependencies:
13797 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))13792 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
13798 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13793 effect: 4.0.4
1379913794
13800 '@distilled.cloud/planetscale@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13795 '@distilled.cloud/planetscale@1.0.0-rc.13(effect@4.0.4)':
13801 dependencies:13796 dependencies:
13802 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))13797 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
13803 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13798 effect: 4.0.4
1380413799
13805 '@distilled.cloud/prisma@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13800 '@distilled.cloud/prisma@1.0.0-rc.13(effect@4.0.4)':
13806 dependencies:13801 dependencies:
13807 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))13802 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
13808 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13803 effect: 4.0.4
1380913804
13810 '@distilled.cloud/railway@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13805 '@distilled.cloud/railway@1.0.0-rc.13(effect@4.0.4)':
13811 dependencies:13806 dependencies:
13812 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))13807 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
13813 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13808 effect: 4.0.4
1381413809
13815 '@distilled.cloud/stripe@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13810 '@distilled.cloud/stripe@1.0.0-rc.13(effect@4.0.4)':
13816 dependencies:13811 dependencies:
13817 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))13812 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
13818 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13813 effect: 4.0.4
1381913814
13820 '@distilled.cloud/zerossl@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13815 '@distilled.cloud/zerossl@1.0.0-rc.13(effect@4.0.4)':
13821 dependencies:13816 dependencies:
13822 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))13817 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
13823 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13818 effect: 4.0.4
1382413819
13825 '@dnd-kit/accessibility@3.1.1(react@19.2.6)':13820 '@dnd-kit/accessibility@3.1.1(react@19.2.6)':
13826 dependencies:13821 dependencies:
...@@ -13856,62 +13851,62 @@ snapshots:...@@ -13856,62 +13851,62 @@ snapshots:
1385613851
13857 '@drizzle-team/brocli@0.12.0': {}13852 '@drizzle-team/brocli@0.12.0': {}
1385813853
13859 '@effect/atom-react@4.0.2(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(react@19.2.6)(scheduler@0.28.0)':13854 '@effect/atom-react@4.0.4(effect@4.0.4)(react@19.2.6)(scheduler@0.28.0)':
13860 dependencies:13855 dependencies:
13861 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13856 effect: 4.0.4
13862 react: 19.2.613857 react: 19.2.6
13863 scheduler: 0.28.013858 scheduler: 0.28.0
1386413859
13865 '@effect/atom-react@4.0.2(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(react@19.3.0)(scheduler@0.28.0)':13860 '@effect/atom-react@4.0.4(effect@4.0.4)(react@19.3.0)(scheduler@0.28.0)':
13866 dependencies:13861 dependencies:
13867 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13862 effect: 4.0.4
13868 react: 19.3.013863 react: 19.3.0
13869 scheduler: 0.28.013864 scheduler: 0.28.0
1387013865
13871 '@effect/openapi-generator@4.0.2(@effect/platform-node@4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6))(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(encoding@0.1.13)':13866 '@effect/openapi-generator@4.0.4(@effect/platform-node@4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6))(effect@4.0.4)(encoding@0.1.13)':
13872 dependencies:13867 dependencies:
13873 '@effect/platform-node': 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)13868 '@effect/platform-node': 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
13874 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13869 effect: 4.0.4
13875 swagger2openapi: 7.0.8(encoding@0.1.13)13870 swagger2openapi: 7.0.8(encoding@0.1.13)
13876 transitivePeerDependencies:13871 transitivePeerDependencies:
13877 - encoding13872 - encoding
1387813873
13879 '@effect/platform-node-shared@4.0.2(patch_hash=4efe73732a53b7d7bdbd9a9263eed06310fc387f870ef4a5e66429e9d1fd7cd9)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(utf-8-validate@6.0.6)':13874 '@effect/platform-node-shared@4.0.4(bufferutil@4.1.0)(effect@4.0.4)(utf-8-validate@6.0.6)':
13880 dependencies:13875 dependencies:
13881 '@types/ws': 8.18.213876 '@types/ws': 8.18.2
13882 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13877 effect: 4.0.4
13883 ws: 8.22.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)13878 ws: 8.22.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
13884 transitivePeerDependencies:13879 transitivePeerDependencies:
13885 - bufferutil13880 - bufferutil
13886 - utf-8-validate13881 - utf-8-validate
1388713882
13888 '@effect/platform-node@4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)':13883 '@effect/platform-node@4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)':
13889 dependencies:13884 dependencies:
13890 '@effect/platform-node-shared': 4.0.2(patch_hash=4efe73732a53b7d7bdbd9a9263eed06310fc387f870ef4a5e66429e9d1fd7cd9)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(utf-8-validate@6.0.6)13885 '@effect/platform-node-shared': 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(utf-8-validate@6.0.6)
13891 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13886 effect: 4.0.4
13892 redis: 6.2.113887 redis: 6.2.1
13893 undici: 8.11.213888 undici: 8.11.2
13894 transitivePeerDependencies:13889 transitivePeerDependencies:
13895 - bufferutil13890 - bufferutil
13896 - utf-8-validate13891 - utf-8-validate
1389713892
13898 '@effect/sql-d1@4.0.0(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13893 '@effect/sql-d1@4.0.0(effect@4.0.4)':
13899 dependencies:13894 dependencies:
13900 '@cloudflare/workers-types': 5.20261004.113895 '@cloudflare/workers-types': 5.20261004.1
13901 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13896 effect: 4.0.4
1390213897
13903 '@effect/sql-pg@4.0.2(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13898 '@effect/sql-pg@4.0.4(effect@4.0.4)':
13904 dependencies:13899 dependencies:
13905 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13900 effect: 4.0.4
1390613901
13907 '@effect/sql-sqlite-bun@4.0.0-rc.112(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13902 '@effect/sql-sqlite-bun@4.0.0-rc.112(effect@4.0.4)':
13908 dependencies:13903 dependencies:
13909 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13904 effect: 4.0.4
13910 optional: true13905 optional: true
1391113906
13912 '@effect/sql-sqlite-do@4.0.2(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':13907 '@effect/sql-sqlite-do@4.0.4(effect@4.0.4)':
13913 dependencies:13908 dependencies:
13914 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13909 effect: 4.0.4
1391513910
13916 '@effect/tsgo-darwin-arm64@0.51.1':13911 '@effect/tsgo-darwin-arm64@0.51.1':
13917 optional: true13912 optional: true
...@@ -13944,9 +13939,9 @@ snapshots:...@@ -13944,9 +13939,9 @@ snapshots:
13944 '@effect/tsgo-win32-arm64': 0.51.113939 '@effect/tsgo-win32-arm64': 0.51.1
13945 '@effect/tsgo-win32-x64': 0.51.113940 '@effect/tsgo-win32-x64': 0.51.1
1394613941
13947 '@effect/vitest@4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)':13942 '@effect/vitest@4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)':
13948 dependencies:13943 dependencies:
13949 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)13944 effect: 4.0.4
13950 vite-plus: 1.0.0(@types/node@24.12.4)(@vitest/ui@5.0.1(vitest@5.0.1))(bufferutil@4.1.0)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)13945 vite-plus: 1.0.0(@types/node@24.12.4)(@vitest/ui@5.0.1(vitest@5.0.1))(bufferutil@4.1.0)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
13951 transitivePeerDependencies:13946 transitivePeerDependencies:
13952 - '@arethetypeswrong/core'13947 - '@arethetypeswrong/core'
...@@ -15374,22 +15369,22 @@ snapshots:...@@ -15374,22 +15369,22 @@ snapshots:
15374 dependencies:15369 dependencies:
15375 cross-spawn: 7.0.615370 cross-spawn: 7.0.6
1537615371
15377 '@opencode/client@2.0.23(patch_hash=f725d6e6d9af0d56dc6ed71b863518fbfc751af1773cff2311209d2c404cf4cd)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))':15372 '@opencode/client@2.0.28(effect@4.0.4)':
15378 dependencies:15373 dependencies:
15379 '@opencode/protocol': 2.0.23(patch_hash=17a82f6c2c98fd0371e786c211a4fbdaaba403577a25733e5e99a0c25a16a685)15374 '@opencode/protocol': 2.0.28
15380 '@opencode/schema': 2.0.23(patch_hash=650f1b8602789407c010861284272dcb6bd6de01ec6a75bf3c0904a0e7596d59)15375 '@opencode/schema': 2.0.28
15381 optionalDependencies:15376 optionalDependencies:
15382 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)15377 effect: 4.0.4
1538315378
15384 '@opencode/protocol@2.0.23(patch_hash=17a82f6c2c98fd0371e786c211a4fbdaaba403577a25733e5e99a0c25a16a685)':15379 '@opencode/protocol@2.0.28':
15385 dependencies:15380 dependencies:
15386 '@opencode/schema': 2.0.23(patch_hash=650f1b8602789407c010861284272dcb6bd6de01ec6a75bf3c0904a0e7596d59)15381 '@opencode/schema': 2.0.28
15387 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)15382 effect: 4.0.4
1538815383
15389 '@opencode/schema@2.0.23(patch_hash=650f1b8602789407c010861284272dcb6bd6de01ec6a75bf3c0904a0e7596d59)':15384 '@opencode/schema@2.0.28':
15390 dependencies:15385 dependencies:
15391 '@standard-schema/spec': 1.1.015386 '@standard-schema/spec': 1.1.0
15392 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)15387 effect: 4.0.4
1539315388
15394 '@oslojs/asn1@1.0.0':15389 '@oslojs/asn1@1.0.0':
15395 dependencies:15390 dependencies:
...@@ -17610,37 +17605,37 @@ snapshots:...@@ -17610,37 +17605,37 @@ snapshots:
17610 json-schema-traverse: 1.0.017605 json-schema-traverse: 1.0.0
17611 require-from-string: 2.0.217606 require-from-string: 2.0.2
1761217607
17613 alchemy@2.0.0-beta.80(patch_hash=bea1b6c0c0b23157fd5f439a1d7feff430f28ac1621ba135d8a13eeec60ccacd)(ba3b2ceb33761bc36b3beb11002eb316):17608 alchemy@2.0.0-beta.80(patch_hash=bea1b6c0c0b23157fd5f439a1d7feff430f28ac1621ba135d8a13eeec60ccacd)(65456df005cbbd653b96024b9ea83b1c):
17614 dependencies:17609 dependencies:
17615 '@alchemy.run/cloudflare-runtime': 2.0.0-beta.80(@distilled.cloud/cloudflare@1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)))(@effect/platform-node@4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6))(@types/node@24.12.4)(@voidzero-dev/vite-plus-core@1.0.0(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(yaml@2.9.0))(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(rolldown@1.2.5)(typescript@7.0.2)17610 '@alchemy.run/cloudflare-runtime': 2.0.0-beta.80(@distilled.cloud/cloudflare@1.0.0-rc.13(effect@4.0.4))(@effect/platform-node@4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6))(@types/node@24.12.4)(@voidzero-dev/vite-plus-core@1.0.0(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(yaml@2.9.0))(effect@4.0.4)(rolldown@1.2.5)(typescript@7.0.2)
17616 '@alchemy.run/floci': 2.0.0-beta.80(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17611 '@alchemy.run/floci': 2.0.0-beta.80(effect@4.0.4)
17617 '@alchemy.run/node-utils': 2.0.0-beta.8017612 '@alchemy.run/node-utils': 2.0.0-beta.80
17618 '@alchemy.run/sigil': 0.1.0-alpha.1(@types/react@19.3.0)(react-devtools-core@6.1.5(bufferutil@4.1.0)(utf-8-validate@6.0.6))17613 '@alchemy.run/sigil': 0.1.0-alpha.1(@types/react@19.3.0)(react-devtools-core@6.1.5(bufferutil@4.1.0)(utf-8-validate@6.0.6))
17619 '@distilled.cloud/acme': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17614 '@distilled.cloud/acme': 1.0.0-rc.13(effect@4.0.4)
17620 '@distilled.cloud/aws': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17615 '@distilled.cloud/aws': 1.0.0-rc.13(effect@4.0.4)
17621 '@distilled.cloud/axiom': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17616 '@distilled.cloud/axiom': 1.0.0-rc.13(effect@4.0.4)
17622 '@distilled.cloud/cloudflare': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17617 '@distilled.cloud/cloudflare': 1.0.0-rc.13(effect@4.0.4)
17623 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17618 '@distilled.cloud/core': 1.0.0-rc.13(effect@4.0.4)
17624 '@distilled.cloud/doppler': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17619 '@distilled.cloud/doppler': 1.0.0-rc.13(effect@4.0.4)
17625 '@distilled.cloud/fly-io': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17620 '@distilled.cloud/fly-io': 1.0.0-rc.13(effect@4.0.4)
17626 '@distilled.cloud/gcp': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17621 '@distilled.cloud/gcp': 1.0.0-rc.13(effect@4.0.4)
17627 '@distilled.cloud/hetzner': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17622 '@distilled.cloud/hetzner': 1.0.0-rc.13(effect@4.0.4)
17628 '@distilled.cloud/infisical': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17623 '@distilled.cloud/infisical': 1.0.0-rc.13(effect@4.0.4)
17629 '@distilled.cloud/neon': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17624 '@distilled.cloud/neon': 1.0.0-rc.13(effect@4.0.4)
17630 '@distilled.cloud/planetscale': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17625 '@distilled.cloud/planetscale': 1.0.0-rc.13(effect@4.0.4)
17631 '@distilled.cloud/prisma': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17626 '@distilled.cloud/prisma': 1.0.0-rc.13(effect@4.0.4)
17632 '@distilled.cloud/railway': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17627 '@distilled.cloud/railway': 1.0.0-rc.13(effect@4.0.4)
17633 '@distilled.cloud/stripe': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17628 '@distilled.cloud/stripe': 1.0.0-rc.13(effect@4.0.4)
17634 '@distilled.cloud/zerossl': 1.0.0-rc.13(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17629 '@distilled.cloud/zerossl': 1.0.0-rc.13(effect@4.0.4)
17635 '@effect/sql-d1': 4.0.0(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17630 '@effect/sql-d1': 4.0.0(effect@4.0.4)
17636 '@effect/sql-sqlite-do': 4.0.2(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17631 '@effect/sql-sqlite-do': 4.0.4(effect@4.0.4)
17637 '@libsql/client': 0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)17632 '@libsql/client': 0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)
17638 '@neon/functions': 0.11.0(hono@4.13.7)17633 '@neon/functions': 0.11.0(hono@4.13.7)
17639 '@octokit/rest': 22.0.117634 '@octokit/rest': 22.0.1
17640 '@octokit/webhooks': 14.2.017635 '@octokit/webhooks': 14.2.0
17641 '@types/aws-lambda': 8.10.16117636 '@types/aws-lambda': 8.10.161
17642 capnweb: 0.12.017637 capnweb: 0.12.0
17643 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)17638 effect: 4.0.4
17644 fflate: 0.8.317639 fflate: 0.8.3
17645 libsodium-wrappers: 0.8.417640 libsodium-wrappers: 0.8.4
17646 pathe: 2.0.317641 pathe: 2.0.3
...@@ -17649,11 +17644,11 @@ snapshots:...@@ -17649,11 +17644,11 @@ snapshots:
17649 tinyglobby: 0.2.1717644 tinyglobby: 0.2.17
17650 yaml: 2.9.017645 yaml: 2.9.0
17651 optionalDependencies:17646 optionalDependencies:
17652 '@effect/platform-node': 4.0.2(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(redis@6.2.1)(utf-8-validate@6.0.6)17647 '@effect/platform-node': 4.0.4(bufferutil@4.1.0)(effect@4.0.4)(redis@6.2.1)(utf-8-validate@6.0.6)
17653 '@effect/sql-pg': 4.0.2(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))17648 '@effect/sql-pg': 4.0.4(effect@4.0.4)
17654 '@effect/vitest': 4.0.2(patch_hash=595b7d26fb635caba9c3d39fcb189bb78a000192f8d3b60ead7174b310d1ade9)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)17649 '@effect/vitest': 4.0.4(patch_hash=ebaec66c6bdd25e1b8d5bfd4a14f25ab959bdcca6e22ed8871d061e50e2db0ad)(@types/node@24.12.4)(@vitest/ui@5.0.1)(bufferutil@4.1.0)(effect@4.0.4)(esbuild@0.28.2)(jiti@2.7.0)(jsdom@30.1.0(@noble/hashes@1.8.0))(msw@2.12.11(@types/node@24.12.4)(typescript@7.0.2))(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
17655 drizzle-kit: 1.0.0-rc.5-ab785fc17650 drizzle-kit: 1.0.0-rc.5-ab785fc
17656 drizzle-orm: 1.0.0-rc.5-ab785fc(da2d75dec181fbafaeb6986c8741457b)17651 drizzle-orm: 1.0.0-rc.5-ab785fc(@cloudflare/workers-types@4.20260604.1)(@effect/sql-d1@4.0.0(effect@4.0.4))(@effect/sql-pg@4.0.4(effect@4.0.4))(@effect/sql-sqlite-bun@4.0.0-rc.112(effect@4.0.4))(@effect/sql-sqlite-do@4.0.4(effect@4.0.4))(@electric-sql/pglite@0.3.15)(@libsql/client@0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bun-types@1.3.14)(effect@4.0.4)(expo-sqlite@58.0.8(expo@58.0.2)(react-native@0.88.0-rc.3(@babel/core@7.29.7)(@react-native/metro-config@0.88.0-rc.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.3.0)(bufferutil@4.1.0)(react@19.3.0)(utf-8-validate@6.0.6))(react@19.3.0))(pg@8.23.0)(valibot@1.2.0(typescript@7.0.2))(zod@4.4.3)
17657 mongodb: 6.21.0(@aws-sdk/credential-providers@3.1062.0)(socks@2.8.9)17652 mongodb: 6.21.0(@aws-sdk/credential-providers@3.1062.0)(socks@2.8.9)
17658 pg: 8.23.017653 pg: 8.23.0
17659 vite: '@voidzero-dev/vite-plus-core@1.0.0(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(yaml@2.9.0)'17654 vite: '@voidzero-dev/vite-plus-core@1.0.0(@types/node@24.12.4)(esbuild@0.28.2)(jiti@2.7.0)(terser@5.48.0)(typescript@7.0.2)(unrun@0.2.39)(yaml@2.9.0)'
...@@ -18809,17 +18804,17 @@ snapshots:...@@ -18809,17 +18804,17 @@ snapshots:
18809 get-tsconfig: 4.14.318804 get-tsconfig: 4.14.3
18810 jiti: 2.7.018805 jiti: 2.7.0
1881118806
18812 drizzle-orm@1.0.0-rc.5-ab785fc(da2d75dec181fbafaeb6986c8741457b):18807 drizzle-orm@1.0.0-rc.5-ab785fc(@cloudflare/workers-types@4.20260604.1)(@effect/sql-d1@4.0.0(effect@4.0.4))(@effect/sql-pg@4.0.4(effect@4.0.4))(@effect/sql-sqlite-bun@4.0.0-rc.112(effect@4.0.4))(@effect/sql-sqlite-do@4.0.4(effect@4.0.4))(@electric-sql/pglite@0.3.15)(@libsql/client@0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bun-types@1.3.14)(effect@4.0.4)(expo-sqlite@58.0.8(expo@58.0.2)(react-native@0.88.0-rc.3(@babel/core@7.29.7)(@react-native/metro-config@0.88.0-rc.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.3.0)(bufferutil@4.1.0)(react@19.3.0)(utf-8-validate@6.0.6))(react@19.3.0))(pg@8.23.0)(valibot@1.2.0(typescript@7.0.2))(zod@4.4.3):
18813 optionalDependencies:18808 optionalDependencies:
18814 '@cloudflare/workers-types': 4.20260604.118809 '@cloudflare/workers-types': 4.20260604.1
18815 '@effect/sql-d1': 4.0.0(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))18810 '@effect/sql-d1': 4.0.0(effect@4.0.4)
18816 '@effect/sql-pg': 4.0.2(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))18811 '@effect/sql-pg': 4.0.4(effect@4.0.4)
18817 '@effect/sql-sqlite-bun': 4.0.0-rc.112(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))18812 '@effect/sql-sqlite-bun': 4.0.0-rc.112(effect@4.0.4)
18818 '@effect/sql-sqlite-do': 4.0.2(effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688))18813 '@effect/sql-sqlite-do': 4.0.4(effect@4.0.4)
18819 '@electric-sql/pglite': 0.3.1518814 '@electric-sql/pglite': 0.3.15
18820 '@libsql/client': 0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)18815 '@libsql/client': 0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)
18821 bun-types: 1.3.1418816 bun-types: 1.3.14
18822 effect: 4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688)18817 effect: 4.0.4
18823 expo-sqlite: 58.0.8(expo@58.0.2)(react-native@0.88.0-rc.3(@babel/core@7.29.7)(@react-native/metro-config@0.88.0-rc.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.3.0)(bufferutil@4.1.0)(react@19.3.0)(utf-8-validate@6.0.6))(react@19.3.0)18818 expo-sqlite: 58.0.8(expo@58.0.2)(react-native@0.88.0-rc.3(@babel/core@7.29.7)(@react-native/metro-config@0.88.0-rc.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.3.0)(bufferutil@4.1.0)(react@19.3.0)(utf-8-validate@6.0.6))(react@19.3.0)
18824 pg: 8.23.018819 pg: 8.23.0
18825 valibot: 1.2.0(typescript@7.0.2)18820 valibot: 1.2.0(typescript@7.0.2)
...@@ -18841,7 +18836,7 @@ snapshots:...@@ -18841,7 +18836,7 @@ snapshots:
1884118836
18842 ee-first@1.1.1: {}18837 ee-first@1.1.1: {}
1884318838
18844 effect@4.0.2(patch_hash=ec61ee307eaec3e17f757e0e6a16296ea4b7a8c3188df0c6ec5e66301fd78688): {}18839 effect@4.0.4: {}
1884518840
18846 ejs@3.1.10:18841 ejs@3.1.10:
18847 dependencies:18842 dependencies:
pnpm-workspace.yaml+21-29
...@@ -34,14 +34,14 @@ catalog:...@@ -34,14 +34,14 @@ catalog:
34 "@clerk/expo": 4.6.834 "@clerk/expo": 4.6.8
35 "@clerk/react": 6.16.135 "@clerk/react": 6.16.1
36 "@clerk/shared": 4.33.036 "@clerk/shared": 4.33.0
37 "@effect/atom-react": 4.0.237 "@effect/atom-react": 4.0.4
38 "@effect/openapi-generator": 4.0.238 "@effect/openapi-generator": 4.0.4
39 "@effect/platform-node": 4.0.239 "@effect/platform-node": 4.0.4
40 "@effect/platform-node-shared": 4.0.240 "@effect/platform-node-shared": 4.0.4
41 "@effect/sql-pg": 4.0.241 "@effect/sql-pg": 4.0.4
42 "@effect/sql-sqlite-do": 4.0.242 "@effect/sql-sqlite-do": 4.0.4
43 "@effect/tsgo": 0.51.143 "@effect/tsgo": 0.51.1
44 "@effect/vitest": 4.0.244 "@effect/vitest": 4.0.4
45 "@electron-webauthn/macos": 1.3.145 "@electron-webauthn/macos": 1.3.1
46 "@legendapp/list": 3.3.546 "@legendapp/list": 3.3.5
47 "@noble/curves": 1.9.147 "@noble/curves": 1.9.1
...@@ -53,7 +53,7 @@ catalog:...@@ -53,7 +53,7 @@ catalog:
53 "@types/node": 24.12.453 "@types/node": 24.12.4
54 "@types/plist": 3.0.554 "@types/plist": 3.0.5
55 "@types/ws": 8.18.255 "@types/ws": 8.18.2
56 effect: 4.0.256 effect: 4.0.4
57 electron-webauthn: 1.3.157 electron-webauthn: 1.3.1
58 jose: 6.2.258 jose: 6.2.2
59 lightningcss: 1.33.059 lightningcss: 1.33.0
...@@ -99,15 +99,15 @@ minimumReleaseAgeExclude:...@@ -99,15 +99,15 @@ minimumReleaseAgeExclude:
99 - "@distilled.cloud/core@1.0.0-rc.13"99 - "@distilled.cloud/core@1.0.0-rc.13"
100 - "@distilled.cloud/neon@1.0.0-rc.13"100 - "@distilled.cloud/neon@1.0.0-rc.13"
101 - "@distilled.cloud/planetscale@1.0.0-rc.13"101 - "@distilled.cloud/planetscale@1.0.0-rc.13"
102 - "@effect/atom-react@4.0.2"102 - "@effect/atom-react@4.0.4"
103 - "@effect/openapi-generator@4.0.2"103 - "@effect/openapi-generator@4.0.4"
104 - "@effect/platform-node-shared@4.0.2"104 - "@effect/platform-node-shared@4.0.4"
105 - "@effect/platform-node@4.0.2"105 - "@effect/platform-node@4.0.4"
106 - "@effect/sql-pg@4.0.2"106 - "@effect/sql-pg@4.0.4"
107 - "@effect/sql-sqlite-do@4.0.2"107 - "@effect/sql-sqlite-do@4.0.4"
108 - "@effect/vitest@4.0.2"108 - "@effect/vitest@4.0.4"
109 - alchemy@2.0.0-beta.80109 - alchemy@2.0.0-beta.80
110 - effect@4.0.2110 - effect@4.0.4
111 - "@legendapp/list@3.3.5"111 - "@legendapp/list@3.3.5"
112 - "@expo/cli@58.1.1"112 - "@expo/cli@58.1.1"
113 - "@expo/env@2.5.1"113 - "@expo/env@2.5.1"
...@@ -187,9 +187,9 @@ minimumReleaseAgeExclude:...@@ -187,9 +187,9 @@ minimumReleaseAgeExclude:
187 - "@distilled.cloud/gcp@1.0.0-rc.13"187 - "@distilled.cloud/gcp@1.0.0-rc.13"
188 - "@distilled.cloud/infisical@1.0.0-rc.13"188 - "@distilled.cloud/infisical@1.0.0-rc.13"
189 - "@distilled.cloud/zerossl@1.0.0-rc.13"189 - "@distilled.cloud/zerossl@1.0.0-rc.13"
190 - "@opencode/client@2.0.23"190 - "@opencode/client@2.0.28"
191 - "@opencode/protocol@2.0.23"191 - "@opencode/protocol@2.0.28"
192 - "@opencode/schema@2.0.23"192 - "@opencode/schema@2.0.28"
193 - "@muse-code/sdk@1.4.6"193 - "@muse-code/sdk@1.4.6"
194194
195overrides:195overrides:
...@@ -252,13 +252,10 @@ overrides:...@@ -252,13 +252,10 @@ overrides:
252 "@tailwindcss/vite": "catalog:"252 "@tailwindcss/vite": "catalog:"
253 "@types/node": "catalog:"253 "@types/node": "catalog:"
254 effect: "catalog:"254 effect: "catalog:"
255 # OpenCode 2's protocol and schema packages hard-pin an older Effect rc as a255 # OpenCode 2's protocol and schema packages hard-pin an exact Effect version as a
256 # dependency, and their schemas fail to decode under a second Effect copy.256 # dependency, and their schemas fail to decode under a second Effect copy.
257 # The `effect` override above already collapses them; these name the edge so it257 # The `effect` override above already collapses them; these name the edge so it
258 # stays pinned on its own. OpenCode2Client.live.test.ts re-proves it on bumps.258 # stays pinned on its own. OpenCode2Client.live.test.ts re-proves it on bumps.
259 # All three still target Effect rc.112 APIs (effect/unstable/*, Encoding,
260 # Schema.isStartsWith) that 4.0 removed; their patches port those call sites
261 # until OpenCode moves to stable Effect.
262 "@opencode/protocol>effect": "catalog:"259 "@opencode/protocol>effect": "catalog:"
263 "@opencode/schema>effect": "catalog:"260 "@opencode/schema>effect": "catalog:"
264 node-abi: 4.33.0261 node-abi: 4.33.0
...@@ -293,16 +290,12 @@ patchedDependencies:...@@ -293,16 +290,12 @@ patchedDependencies:
293 expo-blur@58.0.3: patches/expo-blur@58.0.3.patch290 expo-blur@58.0.3: patches/expo-blur@58.0.3.patch
294 expo-audio@58.0.4: patches/expo-audio@58.0.4.patch291 expo-audio@58.0.4: patches/expo-audio@58.0.4.patch
295 "@clerk/expo@4.6.8": patches/@clerk__expo@4.6.8.patch292 "@clerk/expo@4.6.8": patches/@clerk__expo@4.6.8.patch
296 "@effect/platform-node-shared@4.0.2": patches/@effect__platform-node-shared@4.0.2.patch293 "@effect/vitest@4.0.4": patches/@effect__vitest@4.0.4.patch
297 "@effect/vitest@4.0.2": patches/@effect__vitest@4.0.2.patch
298 "@expo/metro-config@58.0.6": patches/@expo__metro-config@58.0.6.patch294 "@expo/metro-config@58.0.6": patches/@expo__metro-config@58.0.6.patch
299 expo-sharing@58.0.13: patches/expo-sharing@58.0.13.patch295 expo-sharing@58.0.13: patches/expo-sharing@58.0.13.patch
300 expo-widgets@58.0.11: patches/expo-widgets@58.0.11.patch296 expo-widgets@58.0.11: patches/expo-widgets@58.0.11.patch
301 "@ff-labs/fff-node@0.11.0": patches/@ff-labs__fff-node@0.11.0.patch297 "@ff-labs/fff-node@0.11.0": patches/@ff-labs__fff-node@0.11.0.patch
302 "@legendapp/list@3.3.5": patches/@legendapp__list@3.3.5.patch298 "@legendapp/list@3.3.5": patches/@legendapp__list@3.3.5.patch
303 "@opencode/client@2.0.23": patches/@opencode__client@2.0.23.patch
304 "@opencode/protocol@2.0.23": patches/@opencode__protocol@2.0.23.patch
305 "@opencode/schema@2.0.23": patches/@opencode__schema@2.0.23.patch
306 # Exports the dependency-light subpaths mobile and the web diff parser import, and keeps299 # Exports the dependency-light subpaths mobile and the web diff parser import, and keeps
307 # measured wrapped-row heights above an edit (fileEditorVirtualization.test.ts).300 # measured wrapped-row heights above an edit (fileEditorVirtualization.test.ts).
308 "@pierre/diffs@1.5.2": patches/@pierre%2Fdiffs@1.5.2.patch301 "@pierre/diffs@1.5.2": patches/@pierre%2Fdiffs@1.5.2.patch
...@@ -310,7 +303,6 @@ patchedDependencies:...@@ -310,7 +303,6 @@ patchedDependencies:
310 "@react-native-menu/menu@2.0.0": patches/@react-native-menu__menu@2.0.0.patch303 "@react-native-menu/menu@2.0.0": patches/@react-native-menu__menu@2.0.0.patch
311 "@react-navigation/native-stack@7.17.6": patches/@react-navigation%2Fnative-stack@7.17.6.patch304 "@react-navigation/native-stack@7.17.6": patches/@react-navigation%2Fnative-stack@7.17.6.patch
312 dbus-next@0.10.2: patches/dbus-next@0.10.2.patch305 dbus-next@0.10.2: patches/dbus-next@0.10.2.patch
313 effect@4.0.2: patches/effect@4.0.2.patch
314 node-pty@1.2.0-beta.15: patches/node-pty@1.2.0-beta.15.patch306 node-pty@1.2.0-beta.15: patches/node-pty@1.2.0-beta.15.patch
315 react-native-gesture-handler@3.2.1: patches/react-native-gesture-handler@3.2.1.patch307 react-native-gesture-handler@3.2.1: patches/react-native-gesture-handler@3.2.1.patch
316 react-native-keyboard-controller@1.22.6: patches/react-native-keyboard-controller@1.22.6.patch308 react-native-keyboard-controller@1.22.6: patches/react-native-keyboard-controller@1.22.6.patch