authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-09-02 20:40:31-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-03 03:40:31+00:00
logf5fbb1bcb0db378c61addd5b49ef2d95bd888168
treeb95040e44068356b224919abaf4785c467dd0170
parent3b2de9da1c8763602e283e8d14b41b5d57a9d0c7
signature Signed by PGP key B5690EEEBB952194

chore: upgrade vite-plus to 0.3.0 (#9327)

Co-authored-by: Julius Marminge <julius@mac.lan> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

31 files changed, 1137 insertions(+), 974 deletions(-)

apps/desktop/src/backend/DesktopBackendManager.ts+7-9
......@@ -663,15 +663,13 @@ export const makeBackendInstance = Effect.fn("makeBackendInstance")(function* (
663663 Ref.update(state, withActiveRun(runId, f));
664664
665665 const snapshot = Ref.get(state).pipe(
666 Effect.map(
667 (current): DesktopBackendSnapshot => ({
668 desiredRunning: current.desiredRunning,
669 ready: current.ready,
670 activePid: activePid(current.active),
671 restartAttempt: current.restartAttempt,
672 restartScheduled: Option.isSome(current.restartFiber),
673 }),
674 ),
666 Effect.map((current): DesktopBackendSnapshot => ({
667 desiredRunning: current.desiredRunning,
668 ready: current.ready,
669 activePid: activePid(current.active),
670 restartAttempt: current.restartAttempt,
671 restartScheduled: Option.isSome(current.restartFiber),
672 })),
675673 );
676674 const currentConfig = Ref.get(state).pipe(Effect.map((current) => current.config));
677675
apps/mobile/src/features/shortcuts/appShortcuts.ts+9-11
......@@ -122,16 +122,14 @@ export function buildShortcutActions(recents: ReadonlyArray<RecentThreadShortcut
122122 icon: SHORTCUT_ICON,
123123 params: { href: NEW_TASK_SHORTCUT_HREF },
124124 },
125 ...recents.slice(0, MAX_RECENT_THREAD_SHORTCUTS).map(
126 (thread): Action => ({
127 // The encoded href doubles as the launcher id: URI-encoding makes the
128 // env/thread join unambiguous (a plain `-` join lets different pairs
129 // collide and overwrite each other's launcher slots).
130 id: `thread:${threadShortcutHref(thread)}`,
131 title: threadShortcutLabel(thread),
132 icon: SHORTCUT_ICON,
133 params: { href: threadShortcutHref(thread) },
134 }),
135 ),
125 ...recents.slice(0, MAX_RECENT_THREAD_SHORTCUTS).map((thread): Action => ({
126 // The encoded href doubles as the launcher id: URI-encoding makes the
127 // env/thread join unambiguous (a plain `-` join lets different pairs
128 // collide and overwrite each other's launcher slots).
129 id: `thread:${threadShortcutHref(thread)}`,
130 title: threadShortcutLabel(thread),
131 icon: SHORTCUT_ICON,
132 params: { href: threadShortcutHref(thread) },
133 })),
136134 ];
137135}
apps/mobile/src/features/terminal/ThreadTerminalRouteScreen.tsx+8-10
......@@ -948,16 +948,14 @@ export function ThreadTerminalRouteScreen(props: ThreadTerminalRouteScreenProps)
948948 },
949949 ],
950950 },
951 ...terminalMenuSessions.map(
952 (session): MenuAction => ({
953 id: `terminal-session:${session.terminalId}`,
954 title: session.displayLabel,
955 subtitle: [getTerminalStatusLabel({ status: session.status }), basename(session.cwd)]
956 .filter(Boolean)
957 .join(" · "),
958 state: session.terminalId === terminalId ? ("on" as const) : undefined,
959 }),
960 ),
951 ...terminalMenuSessions.map((session): MenuAction => ({
952 id: `terminal-session:${session.terminalId}`,
953 title: session.displayLabel,
954 subtitle: [getTerminalStatusLabel({ status: session.status }), basename(session.cwd)]
955 .filter(Boolean)
956 .join(" · "),
957 state: session.terminalId === terminalId ? ("on" as const) : undefined,
958 })),
961959 {
962960 id: "terminal-new",
963961 title: "Open new terminal",
apps/mobile/src/features/threads/threadListV2.ts+15-19
......@@ -255,25 +255,21 @@ export function buildThreadListV2ListItems(input: {
255255 readonly settledShelfHeaderIndex?: number | null;
256256 readonly snoozeLabelNow?: string;
257257}): ThreadListV2ListItem[] {
258 const threadItems = input.items.map(
259 (item): ThreadListV2ListItem => ({
260 type: "v2-thread",
261 key: `v2-thread:${item.thread.environmentId}:${item.thread.id}`,
262 item,
263 snoozeWakeLabelText:
264 item.snoozed && item.thread.snoozedUntil != null && input.snoozeLabelNow !== undefined
265 ? snoozeWakeLabel(item.thread.snoozedUntil, { now: input.snoozeLabelNow })
266 : undefined,
267 }),
268 );
269 const pendingItems = input.pendingTasks.map(
270 (pendingTask, index): ThreadListV2ListItem => ({
271 type: "v2-pending",
272 key: `v2-pending:${pendingTask.message.messageId}`,
273 pendingTask,
274 showPendingDivider: index === 0,
275 }),
276 );
258 const threadItems = input.items.map((item): ThreadListV2ListItem => ({
259 type: "v2-thread",
260 key: `v2-thread:${item.thread.environmentId}:${item.thread.id}`,
261 item,
262 snoozeWakeLabelText:
263 item.snoozed && item.thread.snoozedUntil != null && input.snoozeLabelNow !== undefined
264 ? snoozeWakeLabel(item.thread.snoozedUntil, { now: input.snoozeLabelNow })
265 : undefined,
266 }));
267 const pendingItems = input.pendingTasks.map((pendingTask, index): ThreadListV2ListItem => ({
268 type: "v2-pending",
269 key: `v2-pending:${pendingTask.message.messageId}`,
270 pendingTask,
271 showPendingDivider: index === 0,
272 }));
277273 const snoozedCount = input.snoozedCount ?? 0;
278274 const snoozedShelfHeaderIndex = input.snoozedShelfHeaderIndex ?? null;
279275 const settledCount = input.settledCount ?? 0;
apps/mobile/src/persistence/mobile-database.ts+7-8
......@@ -365,14 +365,13 @@ const makeAvailable = Effect.gen(function* () {
365365 }).pipe(
366366 Effect.flatMap(Schema.decodeUnknownEffect(ClientCacheSummaryRows)),
367367 Effect.mapError(databaseError("inspect-caches")),
368 Effect.map(
369 (rows): ReadonlyArray<ClientCacheSummaryRow> =>
370 rows.map((row) => ({
371 environmentId: row.environmentId as EnvironmentId,
372 kind: row.kind,
373 recordCount: row.recordCount,
374 payloadBytes: row.payloadBytes,
375 })),
368 Effect.map((rows): ReadonlyArray<ClientCacheSummaryRow> =>
369 rows.map((row) => ({
370 environmentId: row.environmentId as EnvironmentId,
371 kind: row.kind,
372 recordCount: row.recordCount,
373 payloadBytes: row.payloadBytes,
374 })),
376375 ),
377376 ),
378377 loadPreferencesJson: Effect.tryPromise({
apps/server/src/auth/EnvironmentAuth.ts+4-6
......@@ -923,12 +923,10 @@ export const make = Effect.gen(function* () {
923923 const listClientSessions: EnvironmentAuth["Service"]["listClientSessions"] = (currentSessionId) =>
924924 listSessions().pipe(
925925 Effect.map((clientSessions) =>
926 clientSessions.map(
927 (clientSession): AuthClientSession => ({
928 ...clientSession,
929 current: clientSession.sessionId === currentSessionId,
930 }),
931 ),
926 clientSessions.map((clientSession): AuthClientSession => ({
927 ...clientSession,
928 current: clientSession.sessionId === currentSessionId,
929 })),
932930 ),
933931 Effect.withSpan("EnvironmentAuth.listClientSessions"),
934932 );
apps/server/src/cloud/CliTokenManager.ts+4-3
......@@ -89,9 +89,10 @@ export const waitForLoopbackAuthorization = Effect.fn(
8989 while (true) {
9090 const result = yield* Effect.raceFirst(
9191 input.callback.pipe(
92 Effect.map(
93 (code): LoopbackAuthorizationResult => ({ _tag: "AuthorizationCode", code }),
94 ),
92 Effect.map((code): LoopbackAuthorizationResult => ({
93 _tag: "AuthorizationCode",
94 code,
95 })),
9596 ),
9697 readLoopbackAuthorizationAction(terminalInput),
9798 );
apps/server/src/diagnostics/ProcessDiagnostics.ts+13-15
......@@ -61,21 +61,19 @@ export const make = Effect.fn("makeProcessDiagnostics")(function* () {
6161 Effect.map((snapshot) => {
6262 const processes = snapshot.processes
6363 .filter((entry) => canSignalCategory(entry.category))
64 .map(
65 (entry): ServerProcessDiagnosticsEntry => ({
66 pid: entry.identity.pid,
67 startTimeMs: entry.identity.startTimeMs,
68 ppid: entry.ppid,
69 pgid: Option.none(),
70 status: entry.status || "Unknown",
71 cpuPercent: entry.cpuPercent,
72 rssBytes: entry.residentBytes,
73 elapsed: formatElapsed(entry.runTimeMs),
74 command: entry.command || entry.name || "unknown",
75 depth: Math.max(0, entry.depth - 1),
76 childPids: entry.childPids,
77 }),
78 );
64 .map((entry): ServerProcessDiagnosticsEntry => ({
65 pid: entry.identity.pid,
66 startTimeMs: entry.identity.startTimeMs,
67 ppid: entry.ppid,
68 pgid: Option.none(),
69 status: entry.status || "Unknown",
70 cpuPercent: entry.cpuPercent,
71 rssBytes: entry.residentBytes,
72 elapsed: formatElapsed(entry.runTimeMs),
73 command: entry.command || entry.name || "unknown",
74 depth: Math.max(0, entry.depth - 1),
75 childPids: entry.childPids,
76 }));
7977 return {
8078 serverPid: process.pid,
8179 readAt: snapshot.readAt,
apps/server/src/mcp/McpHttpServer.ts+23-24
......@@ -64,30 +64,29 @@ export const normalizeMcpHttpResponse = (
6464};
6565
6666const makeMcpAuthMiddleware = McpSessionRegistry.McpSessionRegistry.pipe(
67 Effect.map(
68 (registry): McpAuthMiddleware =>
69 Effect.fn("McpHttpServer.authenticateRequest")(function* (httpEffect) {
70 const request = yield* HttpServerRequest.HttpServerRequest;
71 const authorization = request.headers.authorization;
72 const token =
73 authorization?.startsWith("Bearer ") === true
74 ? authorization.slice("Bearer ".length).trim()
75 : "";
76 const invocation = yield* registry.resolve(token);
77 if (!invocation) {
78 // Without this the only symptom of a dead credential is the agent
79 // quietly losing the whole `t3-code` toolkit for the rest of its
80 // session, with nothing on the server to explain why.
81 yield* Effect.logWarning("rejected MCP request with an unusable credential", {
82 reason: token.length === 0 ? "missing_bearer_token" : "unknown_or_expired_token",
83 });
84 return unauthorized;
85 }
86 return yield* httpEffect.pipe(
87 Effect.provideService(McpInvocationContext.McpInvocationContext, invocation),
88 Effect.map(normalizeMcpHttpResponse),
89 );
90 }),
67 Effect.map((registry): McpAuthMiddleware =>
68 Effect.fn("McpHttpServer.authenticateRequest")(function* (httpEffect) {
69 const request = yield* HttpServerRequest.HttpServerRequest;
70 const authorization = request.headers.authorization;
71 const token =
72 authorization?.startsWith("Bearer ") === true
73 ? authorization.slice("Bearer ".length).trim()
74 : "";
75 const invocation = yield* registry.resolve(token);
76 if (!invocation) {
77 // Without this the only symptom of a dead credential is the agent
78 // quietly losing the whole `t3-code` toolkit for the rest of its
79 // session, with nothing on the server to explain why.
80 yield* Effect.logWarning("rejected MCP request with an unusable credential", {
81 reason: token.length === 0 ? "missing_bearer_token" : "unknown_or_expired_token",
82 });
83 return unauthorized;
84 }
85 return yield* httpEffect.pipe(
86 Effect.provideService(McpInvocationContext.McpInvocationContext, invocation),
87 Effect.map(normalizeMcpHttpResponse),
88 );
89 }),
9190 ),
9291 Effect.withSpan("McpHttpServer.makeAuthMiddleware"),
9392);
apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts+51-59
......@@ -2391,42 +2391,40 @@ pending_approval_requests AS (
23912391 )
23922392 : Result.failVoid,
23932393 ),
2394 threads: threadRows.map(
2395 (row): OrchestrationThreadShell => ({
2396 id: row.threadId,
2397 projectId: row.projectId,
2398 title: row.title,
2399 modelSelection: row.modelSelection,
2400 runtimeMode: row.runtimeMode,
2401 interactionMode: row.interactionMode,
2402 branch: row.branch,
2403 worktreePath: row.worktreePath,
2404 ...(row.linkedPullRequest === null
2405 ? {}
2406 : { linkedPullRequest: row.linkedPullRequest }),
2407 latestTurn: latestTurnByThread.get(row.threadId) ?? null,
2408 createdAt: row.createdAt,
2409 updatedAt: row.updatedAt,
2410 archivedAt: row.archivedAt,
2411 settledOverride: row.settledOverride,
2412 settledAt: row.settledAt,
2413 unsettledAt: row.unsettledAt,
2414 snoozedUntil: row.snoozedUntil,
2415 snoozedAt: row.snoozedAt,
2416 pinnedAt: row.pinnedAt,
2417 pinOrderKey: row.pinOrderKey ?? null,
2418 titleRegeneration: mapTitleRegeneration(row),
2419 session: sessionByThread.get(row.threadId) ?? null,
2420 latestUserMessageAt: row.latestUserMessageAt,
2421 hasPendingApprovals: row.pendingApprovalCount > 0,
2422 hasPendingUserInput: row.pendingUserInputCount > 0,
2423 hasActionableProposedPlan: row.hasActionableProposedPlan > 0,
2424 backgroundLiveness: threadBackgroundLiveness.getThreadBackgroundLiveness(
2425 row.threadId,
2426 ),
2427 planProgress: threadPlanProgress.getThreadPlanProgress(row.threadId),
2428 }),
2429 ),
2394 threads: threadRows.map((row): OrchestrationThreadShell => ({
2395 id: row.threadId,
2396 projectId: row.projectId,
2397 title: row.title,
2398 modelSelection: row.modelSelection,
2399 runtimeMode: row.runtimeMode,
2400 interactionMode: row.interactionMode,
2401 branch: row.branch,
2402 worktreePath: row.worktreePath,
2403 ...(row.linkedPullRequest === null
2404 ? {}
2405 : { linkedPullRequest: row.linkedPullRequest }),
2406 latestTurn: latestTurnByThread.get(row.threadId) ?? null,
2407 createdAt: row.createdAt,
2408 updatedAt: row.updatedAt,
2409 archivedAt: row.archivedAt,
2410 settledOverride: row.settledOverride,
2411 settledAt: row.settledAt,
2412 unsettledAt: row.unsettledAt,
2413 snoozedUntil: row.snoozedUntil,
2414 snoozedAt: row.snoozedAt,
2415 pinnedAt: row.pinnedAt,
2416 pinOrderKey: row.pinOrderKey ?? null,
2417 titleRegeneration: mapTitleRegeneration(row),
2418 session: sessionByThread.get(row.threadId) ?? null,
2419 latestUserMessageAt: row.latestUserMessageAt,
2420 hasPendingApprovals: row.pendingApprovalCount > 0,
2421 hasPendingUserInput: row.pendingUserInputCount > 0,
2422 hasActionableProposedPlan: row.hasActionableProposedPlan > 0,
2423 backgroundLiveness: threadBackgroundLiveness.getThreadBackgroundLiveness(
2424 row.threadId,
2425 ),
2426 planProgress: threadPlanProgress.getThreadPlanProgress(row.threadId),
2427 })),
24302428 updatedAt: updatedAt ?? "1970-01-01T00:00:00.000Z",
24312429 };
24322430
......@@ -2470,12 +2468,10 @@ pending_approval_requests AS (
24702468 "ProjectionSnapshotQuery.getCounts:decodeRow",
24712469 ),
24722470 ),
2473 Effect.map(
2474 (row): ProjectionSnapshotCounts => ({
2475 projectCount: row.projectCount,
2476 threadCount: row.threadCount,
2477 }),
2478 ),
2471 Effect.map((row): ProjectionSnapshotCounts => ({
2472 projectCount: row.projectCount,
2473 threadCount: row.threadCount,
2474 })),
24792475 );
24802476
24812477 const getEventReplayStats: ProjectionSnapshotQueryShape["getEventReplayStats"] = (input) =>
......@@ -2486,12 +2482,10 @@ pending_approval_requests AS (
24862482 "ProjectionSnapshotQuery.getEventReplayStats:decodeRow",
24872483 ),
24882484 ),
2489 Effect.map(
2490 (row): ProjectionEventReplayStats => ({
2491 eventCount: row.eventCount,
2492 payloadBytes: row.payloadBytes,
2493 }),
2494 ),
2485 Effect.map((row): ProjectionEventReplayStats => ({
2486 eventCount: row.eventCount,
2487 payloadBytes: row.payloadBytes,
2488 })),
24952489 );
24962490
24972491 const searchThreads: ProjectionSnapshotQueryShape["searchThreads"] = Effect.fn(
......@@ -2616,17 +2610,15 @@ pending_approval_requests AS (
26162610 projectId: threadRow.value.projectId,
26172611 workspaceRoot: threadRow.value.workspaceRoot,
26182612 worktreePath: threadRow.value.worktreePath,
2619 checkpoints: checkpointRows.map(
2620 (row): OrchestrationCheckpointSummary => ({
2621 turnId: row.turnId,
2622 checkpointTurnCount: row.checkpointTurnCount,
2623 checkpointRef: row.checkpointRef,
2624 status: row.status,
2625 files: row.files,
2626 assistantMessageId: row.assistantMessageId,
2627 completedAt: row.completedAt,
2628 }),
2629 ),
2613 checkpoints: checkpointRows.map((row): OrchestrationCheckpointSummary => ({
2614 turnId: row.turnId,
2615 checkpointTurnCount: row.checkpointTurnCount,
2616 checkpointRef: row.checkpointRef,
2617 status: row.status,
2618 files: row.files,
2619 assistantMessageId: row.assistantMessageId,
2620 completedAt: row.completedAt,
2621 })),
26302622 });
26312623 });
26322624
apps/server/src/preview/Manager.ts+7-9
......@@ -433,15 +433,13 @@ export const make = Effect.gen(function* PreviewManagerMake() {
433433 const list: PreviewManager["Service"]["list"] = Effect.fn("PreviewManager.list")(
434434 function* (input) {
435435 return yield* SynchronizedRef.get(stateRef).pipe(
436 Effect.map(
437 (state): PreviewListResult => ({
438 sessions: sessionsForThread(state, input.threadId)
439 .map((s) => s.snapshot)
440 .toSorted((a, b) => a.updatedAt.localeCompare(b.updatedAt)),
441 serverEpoch,
442 revision: state.revision,
443 }),
444 ),
436 Effect.map((state): PreviewListResult => ({
437 sessions: sessionsForThread(state, input.threadId)
438 .map((s) => s.snapshot)
439 .toSorted((a, b) => a.updatedAt.localeCompare(b.updatedAt)),
440 serverEpoch,
441 revision: state.revision,
442 })),
445443 );
446444 },
447445 );
apps/server/src/processRunner.ts+5-7
......@@ -239,13 +239,11 @@ const collectText = Effect.fn("processRunner.collectText")(function* (input: {
239239 });
240240 },
241241 ),
242 Effect.map(
243 (state): CollectedUint8StreamText => ({
244 ...decodeUtf8(Buffer.concat(state.chunks, state.bytes)),
245 bytes: state.bytes,
246 truncated: false,
247 }),
248 ),
242 Effect.map((state): CollectedUint8StreamText => ({
243 ...decodeUtf8(Buffer.concat(state.chunks, state.bytes)),
244 bytes: state.bytes,
245 truncated: false,
246 })),
249247 );
250248});
251249
apps/server/src/provider/Layers/ClaudeAdapter.ts+4-3
......@@ -186,9 +186,10 @@ function toSessionPermissionUpdates(
186186 toolName: string,
187187 suggestions: ReadonlyArray<PermissionUpdate> | undefined,
188188): Array<PermissionUpdate> {
189 const sessionScoped = (suggestions ?? []).map(
190 (suggestion): PermissionUpdate => ({ ...suggestion, destination: "session" }),
191 );
189 const sessionScoped = (suggestions ?? []).map((suggestion): PermissionUpdate => ({
190 ...suggestion,
191 destination: "session",
192 }));
192193 if (sessionScoped.length > 0) {
193194 return sessionScoped;
194195 }
apps/server/src/provider/Layers/CodexAdapter.test.ts+12-14
......@@ -84,24 +84,22 @@ class FakeCodexRuntime implements CodexSessionRuntimeShape {
8484 }),
8585 );
8686
87 public readonly interruptTurnImpl = vi.fn(
88 (_turnId?: TurnId): Promise<void> => Promise.resolve(undefined),
87 public readonly interruptTurnImpl = vi.fn((_turnId?: TurnId): Promise<void> =>
88 Promise.resolve(undefined),
8989 );
9090
91 public readonly readThreadImpl = vi.fn(
92 (): Promise<CodexThreadSnapshot> =>
93 Promise.resolve({
94 threadId: "provider-thread-1",
95 turns: [],
96 }),
91 public readonly readThreadImpl = vi.fn((): Promise<CodexThreadSnapshot> =>
92 Promise.resolve({
93 threadId: "provider-thread-1",
94 turns: [],
95 }),
9796 );
9897
99 public readonly rollbackThreadImpl = vi.fn(
100 (_numTurns: number): Promise<CodexThreadSnapshot> =>
101 Promise.resolve({
102 threadId: "provider-thread-1",
103 turns: [],
104 }),
98 public readonly rollbackThreadImpl = vi.fn((_numTurns: number): Promise<CodexThreadSnapshot> =>
99 Promise.resolve({
100 threadId: "provider-thread-1",
101 turns: [],
102 }),
105103 );
106104
107105 public readonly uploadFeedbackImpl = vi.fn((_reason?: string) =>
apps/server/src/provider/Layers/ProviderService.test.ts+12-15
......@@ -188,20 +188,18 @@ function makeFakeCodexAdapter(provider: ProviderDriverKind = CODEX_DRIVER) {
188188 ): Effect.Effect<void, ProviderAdapterError> => Effect.void,
189189 );
190190
191 const stopSession = vi.fn(
192 (threadId: ThreadId): Effect.Effect<void, ProviderAdapterError> =>
193 Effect.sync(() => {
194 sessions.delete(threadId);
195 }),
191 const stopSession = vi.fn((threadId: ThreadId): Effect.Effect<void, ProviderAdapterError> =>
192 Effect.sync(() => {
193 sessions.delete(threadId);
194 }),
196195 );
197196
198 const listSessions = vi.fn(
199 (): Effect.Effect<ReadonlyArray<ProviderSession>> =>
200 Effect.sync(() => Array.from(sessions.values())),
197 const listSessions = vi.fn((): Effect.Effect<ReadonlyArray<ProviderSession>> =>
198 Effect.sync(() => Array.from(sessions.values())),
201199 );
202200
203 const hasSession = vi.fn(
204 (threadId: ThreadId): Effect.Effect<boolean> => Effect.succeed(sessions.has(threadId)),
201 const hasSession = vi.fn((threadId: ThreadId): Effect.Effect<boolean> =>
202 Effect.succeed(sessions.has(threadId)),
205203 );
206204
207205 const readThread = vi.fn(
......@@ -235,11 +233,10 @@ function makeFakeCodexAdapter(provider: ProviderDriverKind = CODEX_DRIVER) {
235233 Effect.succeed({ feedbackId: `feedback-${input.threadId}` }),
236234 );
237235
238 const stopAll = vi.fn(
239 (): Effect.Effect<void, ProviderAdapterError> =>
240 Effect.sync(() => {
241 sessions.clear();
242 }),
236 const stopAll = vi.fn((): Effect.Effect<void, ProviderAdapterError> =>
237 Effect.sync(() => {
238 sessions.clear();
239 }),
243240 );
244241
245242 const adapter: ProviderAdapterShape<ProviderAdapterError> = {
apps/server/src/provider/providerMaintenanceRunner.ts+4-6
......@@ -263,12 +263,10 @@ export const make = Effect.fn("ProviderMaintenanceRunner.make")(function* () {
263263 concurrency: "unbounded",
264264 },
265265 ).pipe(
266 Effect.map(
267 (verifiedProviders): VerifiedProviderRefresh => ({
268 providers,
269 verifiedProviders,
270 }),
271 ),
266 Effect.map((verifiedProviders): VerifiedProviderRefresh => ({
267 providers,
268 verifiedProviders,
269 })),
272270 Effect.catchCause((cause) =>
273271 Effect.logWarning("Provider post-update version verification failed", {
274272 provider,
apps/server/src/pullRequest/AzureDevOpsPullRequestProvider.ts+22-26
......@@ -157,23 +157,21 @@ export const make = Effect.gen(function* () {
157157 getChangeRequest: (input) =>
158158 cli.getPullRequest({ cwd: input.cwd, number: input.number }).pipe(
159159 Effect.mapError(fail("getChangeRequest")),
160 Effect.map(
161 (pullRequest): ProviderChangeRequestDetail => ({
162 ...toChangeRequest(pullRequest),
163 body: pullRequest.body,
164 changedFiles: 0,
165 mergedAt: pullRequest.state === "merged" ? pullRequest.closedAt : null,
166 closedAt: pullRequest.state === "closed" ? pullRequest.closedAt : null,
167 reviewers: pullRequest.reviewers,
168 checks: [],
169 mergeCapabilities: { merge: true, squash: true, rebase: false },
170 viewerPermissions: AZURE_DEVOPS_VIEWER_PERMISSIONS,
171 autoMergeEnabled: pullRequest.autoMergeEnabled,
172 ...(pullRequest.autoMergeMethod === undefined
173 ? {}
174 : { autoMergeMethod: pullRequest.autoMergeMethod }),
175 }),
176 ),
160 Effect.map((pullRequest): ProviderChangeRequestDetail => ({
161 ...toChangeRequest(pullRequest),
162 body: pullRequest.body,
163 changedFiles: 0,
164 mergedAt: pullRequest.state === "merged" ? pullRequest.closedAt : null,
165 closedAt: pullRequest.state === "closed" ? pullRequest.closedAt : null,
166 reviewers: pullRequest.reviewers,
167 checks: [],
168 mergeCapabilities: { merge: true, squash: true, rebase: false },
169 viewerPermissions: AZURE_DEVOPS_VIEWER_PERMISSIONS,
170 autoMergeEnabled: pullRequest.autoMergeEnabled,
171 ...(pullRequest.autoMergeMethod === undefined
172 ? {}
173 : { autoMergeMethod: pullRequest.autoMergeMethod }),
174 })),
177175 ),
178176
179177 getChangeRequestActivity: (input) =>
......@@ -187,15 +185,13 @@ export const make = Effect.gen(function* () {
187185 Effect.orElseSucceed(() => ({ comments: [], truncated: true })),
188186 )
189187 ).pipe(
190 Effect.map(
191 (conversation): ProviderChangeRequestActivity => ({
192 comments: conversation.comments,
193 commentCount: conversation.comments.length,
194 commentsTruncated: conversation.truncated,
195 reviewThreads: [],
196 commits: [],
197 }),
198 ),
188 Effect.map((conversation): ProviderChangeRequestActivity => ({
189 comments: conversation.comments,
190 commentCount: conversation.comments.length,
191 commentsTruncated: conversation.truncated,
192 reviewThreads: [],
193 commits: [],
194 })),
199195 ),
200196 ),
201197 ),
apps/server/src/pullRequest/BitbucketPullRequestProvider.ts+9-11
......@@ -203,17 +203,15 @@ export const make = Effect.gen(function* () {
203203 { concurrency: 3 },
204204 ).pipe(
205205 Effect.mapError(fail("getChangeRequestActivity")),
206 Effect.map(
207 ([pullRequest, comments, commits]): ProviderChangeRequestActivity => ({
208 comments: [...comments.comments, ...pullRequest.reviews].toSorted((left, right) =>
209 left.createdAt.localeCompare(right.createdAt),
210 ),
211 commentCount: comments.comments.length + pullRequest.reviews.length,
212 commentsTruncated: comments.truncated,
213 reviewThreads: comments.threads,
214 commits,
215 }),
216 ),
206 Effect.map(([pullRequest, comments, commits]): ProviderChangeRequestActivity => ({
207 comments: [...comments.comments, ...pullRequest.reviews].toSorted((left, right) =>
208 left.createdAt.localeCompare(right.createdAt),
209 ),
210 commentCount: comments.comments.length + pullRequest.reviews.length,
211 commentsTruncated: comments.truncated,
212 reviewThreads: comments.threads,
213 commits,
214 })),
217215 );
218216 },
219217
apps/server/src/pullRequest/GitHubPullRequestProvider.ts+77-85
......@@ -144,14 +144,12 @@ function withWorkflowApprovals(
144144 }
145145 const approvalChecks = runs
146146 .filter((run) => !representedRunIds.has(run.id))
147 .map(
148 (run): PullRequestCheck => ({
149 name: run.name,
150 status: "action-required",
151 description: "A maintainer must approve this workflow before it can run.",
152 url: run.url,
153 }),
154 );
147 .map((run): PullRequestCheck => ({
148 name: run.name,
149 status: "action-required",
150 description: "A maintainer must approve this workflow before it can run.",
151 url: run.url,
152 }));
155153 return [
156154 ...checks,
157155 ...approvalChecks,
......@@ -363,38 +361,34 @@ export const make = Effect.gen(function* () {
363361 { concurrency: 3 },
364362 ).pipe(
365363 Effect.mapError(fail("getChangeRequest")),
366 Effect.map(
367 ([detail, repository, viewerAccess]): ProviderChangeRequestDetail => ({
368 ...detail.pullRequest,
369 checks: withWorkflowApprovals(
370 detail.pullRequest.checks,
371 detail.workflowApprovals.runs,
372 detail.workflowApprovals.unavailable,
373 ),
374 ...(detail.workflowApprovals.unavailable
375 ? {}
376 : { workflowApprovalsRequired: detail.workflowApprovals.runs.length }),
377 reviewers: detail.pullRequest.reviewRequestLogins.map((login) => ({
378 login,
379 name: null,
380 avatarUrl: null,
381 })),
382 mergeCapabilities: repository.mergeCapabilities,
383 viewerPermissions: gitHubViewerPermissions({
384 ...viewerAccess,
385 canUpdateBranch: detail.comparison?.viewerCanUpdate === true,
386 }),
387 baseComparison:
388 detail.comparison === null || detail.comparison.behindBy === null
389 ? "unknown"
390 : detail.comparison.behindBy > 0
391 ? "behind"
392 : "up-to-date",
393 ...(detail.comparison?.behindBy == null
394 ? {}
395 : { behindBy: detail.comparison.behindBy }),
364 Effect.map(([detail, repository, viewerAccess]): ProviderChangeRequestDetail => ({
365 ...detail.pullRequest,
366 checks: withWorkflowApprovals(
367 detail.pullRequest.checks,
368 detail.workflowApprovals.runs,
369 detail.workflowApprovals.unavailable,
370 ),
371 ...(detail.workflowApprovals.unavailable
372 ? {}
373 : { workflowApprovalsRequired: detail.workflowApprovals.runs.length }),
374 reviewers: detail.pullRequest.reviewRequestLogins.map((login) => ({
375 login,
376 name: null,
377 avatarUrl: null,
378 })),
379 mergeCapabilities: repository.mergeCapabilities,
380 viewerPermissions: gitHubViewerPermissions({
381 ...viewerAccess,
382 canUpdateBranch: detail.comparison?.viewerCanUpdate === true,
396383 }),
397 ),
384 baseComparison:
385 detail.comparison === null || detail.comparison.behindBy === null
386 ? "unknown"
387 : detail.comparison.behindBy > 0
388 ? "behind"
389 : "up-to-date",
390 ...(detail.comparison?.behindBy == null ? {} : { behindBy: detail.comparison.behindBy }),
391 })),
398392 ),
399393
400394 getChangeRequestActivity: (input) =>
......@@ -426,53 +420,51 @@ export const make = Effect.gen(function* () {
426420 { concurrency: 2 },
427421 ).pipe(
428422 Effect.mapError(fail("getChangeRequestActivity")),
429 Effect.map(
430 ([pullRequest, reviewThreads]): ProviderChangeRequestActivity => ({
431 author: withAvatar(pullRequest.author, reviewThreads.avatarsByLogin, input.host),
432 reviewers: reviewThreads.reviewers,
433 reactions: reviewThreads.reactions,
434 commits: (reviewThreads.commits.length > 0
435 ? reviewThreads.commits
436 : pullRequest.commits
437 ).map((commit) => ({
438 ...commit,
439 ...reviewThreads.commitStats.get(commit.oid),
440 authors: commit.authors?.map(
441 (author) => withAvatar(author, reviewThreads.avatarsByLogin, input.host) ?? author,
442 ),
443 })),
444 comments: [...pullRequest.comments, ...reviewThreads.comments]
445 .map((comment) => ({
446 ...comment,
447 // GitHub keeps the dismissal reason on the timeline event, not on the review,
448 // so a dismissed review with nothing visible of its own reads its words from
449 // there. "Visible" and not "empty": bot reviews often carry only an HTML
450 // marker comment, which markdown renders as nothing.
451 body:
452 comment.kind === "review" &&
453 comment.reviewState?.toUpperCase() === "DISMISSED" &&
454 rendersEmpty(comment.body)
455 ? (reviewThreads.dismissalsByReviewId.get(comment.id) ?? comment.body)
456 : comment.body,
457 author: withAvatar(comment.author, reviewThreads.avatarsByLogin, input.host),
458 // A comment out of `gh pr view --json` carries none of its own: that read
459 // reports no reaction at all, so they arrive from the GraphQL page by node id.
460 reactions: comment.reactions ?? reviewThreads.reactionsById.get(comment.id) ?? [],
461 }))
462 .toSorted((left, right) => left.createdAt.localeCompare(right.createdAt)),
463 // `gh pr view --json comments,reviews` follows GitHub's cursors itself, so those two
464 // are always whole and only the thread walk can stop short of the host.
465 commentCount: pullRequest.comments.length + reviewThreads.commentCount,
466 commentsTruncated: reviewThreads.truncated,
467 reviewThreads: reviewThreads.reviewThreads.map((thread) => ({
468 ...thread,
469 comments: thread.comments.map((comment) => ({
470 ...comment,
471 author: withAvatar(comment.author, reviewThreads.avatarsByLogin, input.host),
472 })),
423 Effect.map(([pullRequest, reviewThreads]): ProviderChangeRequestActivity => ({
424 author: withAvatar(pullRequest.author, reviewThreads.avatarsByLogin, input.host),
425 reviewers: reviewThreads.reviewers,
426 reactions: reviewThreads.reactions,
427 commits: (reviewThreads.commits.length > 0
428 ? reviewThreads.commits
429 : pullRequest.commits
430 ).map((commit) => ({
431 ...commit,
432 ...reviewThreads.commitStats.get(commit.oid),
433 authors: commit.authors?.map(
434 (author) => withAvatar(author, reviewThreads.avatarsByLogin, input.host) ?? author,
435 ),
436 })),
437 comments: [...pullRequest.comments, ...reviewThreads.comments]
438 .map((comment) => ({
439 ...comment,
440 // GitHub keeps the dismissal reason on the timeline event, not on the review,
441 // so a dismissed review with nothing visible of its own reads its words from
442 // there. "Visible" and not "empty": bot reviews often carry only an HTML
443 // marker comment, which markdown renders as nothing.
444 body:
445 comment.kind === "review" &&
446 comment.reviewState?.toUpperCase() === "DISMISSED" &&
447 rendersEmpty(comment.body)
448 ? (reviewThreads.dismissalsByReviewId.get(comment.id) ?? comment.body)
449 : comment.body,
450 author: withAvatar(comment.author, reviewThreads.avatarsByLogin, input.host),
451 // A comment out of `gh pr view --json` carries none of its own: that read
452 // reports no reaction at all, so they arrive from the GraphQL page by node id.
453 reactions: comment.reactions ?? reviewThreads.reactionsById.get(comment.id) ?? [],
454 }))
455 .toSorted((left, right) => left.createdAt.localeCompare(right.createdAt)),
456 // `gh pr view --json comments,reviews` follows GitHub's cursors itself, so those two
457 // are always whole and only the thread walk can stop short of the host.
458 commentCount: pullRequest.comments.length + reviewThreads.commentCount,
459 commentsTruncated: reviewThreads.truncated,
460 reviewThreads: reviewThreads.reviewThreads.map((thread) => ({
461 ...thread,
462 comments: thread.comments.map((comment) => ({
463 ...comment,
464 author: withAvatar(comment.author, reviewThreads.avatarsByLogin, input.host),
473465 })),
474 }),
475 ),
466 })),
467 })),
476468 ),
477469
478470 getReviewThreadComments: (input) =>
apps/server/src/pullRequest/GitLabPullRequestProvider.ts+33-37
......@@ -147,24 +147,22 @@ export const make = Effect.gen(function* () {
147147 { concurrency: 2 },
148148 ).pipe(
149149 Effect.mapError(fail("getChangeRequest")),
150 Effect.map(
151 ([mergeRequest, mergeCapabilities]): ProviderChangeRequestDetail => ({
152 ...mergeRequest,
153 mergeCapabilities,
154 viewerPermissions: gitLabViewerPermissions(mergeRequest),
155 // A GitLab too old to count the divergence says nothing here rather than "up to
156 // date": the banner is worth missing, and a wrong all-clear is not worth showing.
157 baseComparison:
158 mergeRequest.divergedCommits === undefined
159 ? "unknown"
160 : mergeRequest.divergedCommits > 0
161 ? "behind"
162 : "up-to-date",
163 ...(mergeRequest.divergedCommits === undefined
164 ? {}
165 : { behindBy: mergeRequest.divergedCommits }),
166 }),
167 ),
150 Effect.map(([mergeRequest, mergeCapabilities]): ProviderChangeRequestDetail => ({
151 ...mergeRequest,
152 mergeCapabilities,
153 viewerPermissions: gitLabViewerPermissions(mergeRequest),
154 // A GitLab too old to count the divergence says nothing here rather than "up to
155 // date": the banner is worth missing, and a wrong all-clear is not worth showing.
156 baseComparison:
157 mergeRequest.divergedCommits === undefined
158 ? "unknown"
159 : mergeRequest.divergedCommits > 0
160 ? "behind"
161 : "up-to-date",
162 ...(mergeRequest.divergedCommits === undefined
163 ? {}
164 : { behindBy: mergeRequest.divergedCommits }),
165 })),
168166 ),
169167
170168 getChangeRequestActivity: (input) =>
......@@ -189,28 +187,26 @@ export const make = Effect.gen(function* () {
189187 { concurrency: 4 },
190188 ).pipe(
191189 Effect.mapError(fail("getChangeRequestActivity")),
192 Effect.map(
193 ([notes, commits, discussions, awards]): ProviderChangeRequestActivity => ({
194 reactions: awards.reactions,
195 comments: notes.comments.map((comment) => ({
190 Effect.map(([notes, commits, discussions, awards]): ProviderChangeRequestActivity => ({
191 reactions: awards.reactions,
192 comments: notes.comments.map((comment) => ({
193 ...comment,
194 reactions: awards.reactionsByNoteId.get(comment.id) ?? [],
195 })),
196 // GitLab reports no count of its own, so the walk's own total is the host's: the
197 // notes endpoint carries every comment on the merge request, including the ones
198 // written under a discussion, and it is read until GitLab runs out.
199 commentCount: notes.comments.length,
200 commentsTruncated: notes.truncated || discussions.truncated,
201 reviewThreads: discussions.threads.map((thread) => ({
202 ...thread,
203 comments: thread.comments.map((comment) => ({
196204 ...comment,
197205 reactions: awards.reactionsByNoteId.get(comment.id) ?? [],
198206 })),
199 // GitLab reports no count of its own, so the walk's own total is the host's: the
200 // notes endpoint carries every comment on the merge request, including the ones
201 // written under a discussion, and it is read until GitLab runs out.
202 commentCount: notes.comments.length,
203 commentsTruncated: notes.truncated || discussions.truncated,
204 reviewThreads: discussions.threads.map((thread) => ({
205 ...thread,
206 comments: thread.comments.map((comment) => ({
207 ...comment,
208 reactions: awards.reactionsByNoteId.get(comment.id) ?? [],
209 })),
210 })),
211 commits,
212 }),
213 ),
207 })),
208 commits,
209 })),
214210 ),
215211
216212 // The same read the detail takes it from, on its own: `user.can_merge` lives on the merge
apps/server/src/pullRequest/PullRequestService.ts+98-107
......@@ -1035,21 +1035,19 @@ export const make = Effect.gen(function* () {
10351035 }),
10361036 // One unreachable repository must not blank the page. A host-level failure is
10371037 // already reported through `providers`, so it degrades the same way here.
1038 Effect.orElseSucceed(
1039 (): RepositoryBatch => ({
1040 key,
1041 entries: [],
1042 errors: [
1043 {
1044 projectId: project.project.id,
1045 projectTitle: project.project.title,
1046 message: `${project.repository} could not be read.`,
1047 },
1048 ],
1049 truncated: false,
1050 nextCursor: null,
1051 }),
1052 ),
1038 Effect.orElseSucceed((): RepositoryBatch => ({
1039 key,
1040 entries: [],
1041 errors: [
1042 {
1043 projectId: project.project.id,
1044 projectTitle: project.project.title,
1045 message: `${project.repository} could not be read.`,
1046 },
1047 ],
1048 truncated: false,
1049 nextCursor: null,
1050 })),
10531051 );
10541052 }
10551053 };
......@@ -1230,20 +1228,18 @@ export const make = Effect.gen(function* () {
12301228 : project.api.getChangeRequestSummary(providerInput);
12311229 return read.pipe(
12321230 Effect.mapError(toPullRequestError("summary")),
1233 Effect.map(
1234 (changeRequest): PullRequestSummary => ({
1235 provider: project.api.kind,
1236 projectId: project.project.id,
1237 repository: project.repository,
1238 number: changeRequest.number,
1239 title: changeRequest.title,
1240 url: changeRequest.url,
1241 state: changeRequest.state,
1242 headBranch: changeRequest.headBranch,
1243 baseBranch: changeRequest.baseBranch,
1244 updatedAt: changeRequest.updatedAt,
1245 }),
1246 ),
1231 Effect.map((changeRequest): PullRequestSummary => ({
1232 provider: project.api.kind,
1233 projectId: project.project.id,
1234 repository: project.repository,
1235 number: changeRequest.number,
1236 title: changeRequest.title,
1237 url: changeRequest.url,
1238 state: changeRequest.state,
1239 headBranch: changeRequest.headBranch,
1240 baseBranch: changeRequest.baseBranch,
1241 updatedAt: changeRequest.updatedAt,
1242 })),
12471243 );
12481244 }),
12491245 );
......@@ -1265,55 +1261,53 @@ export const make = Effect.gen(function* () {
12651261 ],
12661262 { concurrency: 2 },
12671263 ).pipe(
1268 Effect.map(
1269 ([changeRequest, viewer]): PullRequestDetail => ({
1270 provider: project.api.kind,
1271 capabilities: project.api.capabilities,
1272 projectId: project.project.id,
1273 projectTitle: project.project.title,
1274 workspaceRoot: project.project.workspaceRoot,
1275 repository: project.repository,
1276 number: changeRequest.number,
1277 title: changeRequest.title,
1278 body: changeRequest.body,
1279 url: changeRequest.url,
1280 author: changeRequest.author,
1281 state: changeRequest.state,
1282 isDraft: changeRequest.isDraft,
1283 mergeability: changeRequest.mergeability,
1284 additions: changeRequest.additions,
1285 deletions: changeRequest.deletions,
1286 changedFiles: changeRequest.changedFiles,
1287 headBranch: changeRequest.headBranch,
1288 ...(changeRequest.headRepositoryNameWithOwner === undefined
1289 ? {}
1290 : { headRepositoryNameWithOwner: changeRequest.headRepositoryNameWithOwner }),
1291 baseBranch: changeRequest.baseBranch,
1292 createdAt: changeRequest.createdAt,
1293 updatedAt: changeRequest.updatedAt,
1294 mergedAt: changeRequest.mergedAt,
1295 closedAt: changeRequest.closedAt,
1296 reviewers: changeRequest.reviewers,
1297 labels: changeRequest.labels,
1298 checks: changeRequest.checks,
1299 mergeCapabilities: changeRequest.mergeCapabilities,
1300 viewerPermissions: changeRequest.viewerPermissions,
1301 ...(viewer === null || viewer.trim().length === 0 ? {} : { viewer }),
1302 ...(changeRequest.baseComparison === undefined
1303 ? {}
1304 : { baseComparison: changeRequest.baseComparison }),
1305 ...(changeRequest.behindBy === undefined ? {} : { behindBy: changeRequest.behindBy }),
1306 ...(changeRequest.autoMergeEnabled === undefined
1307 ? {}
1308 : { autoMergeEnabled: changeRequest.autoMergeEnabled }),
1309 ...(changeRequest.autoMergeMethod === undefined
1310 ? {}
1311 : { autoMergeMethod: changeRequest.autoMergeMethod }),
1312 ...(changeRequest.workflowApprovalsRequired === undefined
1313 ? {}
1314 : { workflowApprovalsRequired: changeRequest.workflowApprovalsRequired }),
1315 }),
1316 ),
1264 Effect.map(([changeRequest, viewer]): PullRequestDetail => ({
1265 provider: project.api.kind,
1266 capabilities: project.api.capabilities,
1267 projectId: project.project.id,
1268 projectTitle: project.project.title,
1269 workspaceRoot: project.project.workspaceRoot,
1270 repository: project.repository,
1271 number: changeRequest.number,
1272 title: changeRequest.title,
1273 body: changeRequest.body,
1274 url: changeRequest.url,
1275 author: changeRequest.author,
1276 state: changeRequest.state,
1277 isDraft: changeRequest.isDraft,
1278 mergeability: changeRequest.mergeability,
1279 additions: changeRequest.additions,
1280 deletions: changeRequest.deletions,
1281 changedFiles: changeRequest.changedFiles,
1282 headBranch: changeRequest.headBranch,
1283 ...(changeRequest.headRepositoryNameWithOwner === undefined
1284 ? {}
1285 : { headRepositoryNameWithOwner: changeRequest.headRepositoryNameWithOwner }),
1286 baseBranch: changeRequest.baseBranch,
1287 createdAt: changeRequest.createdAt,
1288 updatedAt: changeRequest.updatedAt,
1289 mergedAt: changeRequest.mergedAt,
1290 closedAt: changeRequest.closedAt,
1291 reviewers: changeRequest.reviewers,
1292 labels: changeRequest.labels,
1293 checks: changeRequest.checks,
1294 mergeCapabilities: changeRequest.mergeCapabilities,
1295 viewerPermissions: changeRequest.viewerPermissions,
1296 ...(viewer === null || viewer.trim().length === 0 ? {} : { viewer }),
1297 ...(changeRequest.baseComparison === undefined
1298 ? {}
1299 : { baseComparison: changeRequest.baseComparison }),
1300 ...(changeRequest.behindBy === undefined ? {} : { behindBy: changeRequest.behindBy }),
1301 ...(changeRequest.autoMergeEnabled === undefined
1302 ? {}
1303 : { autoMergeEnabled: changeRequest.autoMergeEnabled }),
1304 ...(changeRequest.autoMergeMethod === undefined
1305 ? {}
1306 : { autoMergeMethod: changeRequest.autoMergeMethod }),
1307 ...(changeRequest.workflowApprovalsRequired === undefined
1308 ? {}
1309 : { workflowApprovalsRequired: changeRequest.workflowApprovalsRequired }),
1310 })),
13171311 ),
13181312 ),
13191313 );
......@@ -1330,18 +1324,16 @@ export const make = Effect.gen(function* () {
13301324 })
13311325 .pipe(
13321326 Effect.mapError(toPullRequestError("activity")),
1333 Effect.map(
1334 (activity): PullRequestActivity => ({
1335 ...(activity.author === undefined ? {} : { author: activity.author }),
1336 ...(activity.reviewers === undefined ? {} : { reviewers: activity.reviewers }),
1337 comments: activity.comments,
1338 commentCount: activity.commentCount,
1339 commentsTruncated: activity.commentsTruncated,
1340 reviewThreads: activity.reviewThreads,
1341 commits: activity.commits,
1342 ...(activity.reactions === undefined ? {} : { reactions: activity.reactions }),
1343 }),
1344 ),
1327 Effect.map((activity): PullRequestActivity => ({
1328 ...(activity.author === undefined ? {} : { author: activity.author }),
1329 ...(activity.reviewers === undefined ? {} : { reviewers: activity.reviewers }),
1330 comments: activity.comments,
1331 commentCount: activity.commentCount,
1332 commentsTruncated: activity.commentsTruncated,
1333 reviewThreads: activity.reviewThreads,
1334 commits: activity.commits,
1335 ...(activity.reactions === undefined ? {} : { reactions: activity.reactions }),
1336 })),
13451337 ),
13461338 ),
13471339 );
......@@ -1906,23 +1898,22 @@ export const make = Effect.gen(function* () {
19061898 );
19071899 }
19081900 return viewerPermissionsOf(project, input, "setLabels").pipe(
1909 Effect.flatMap(
1910 (viewer): Effect.Effect<void, PullRequestError> =>
1911 viewer.labels === false
1912 ? Effect.fail(
1913 new PullRequestOperationError({
1914 operation: "setLabels",
1915 detail: LABEL_CHANGE_REFUSAL,
1916 }),
1917 )
1918 : change({
1919 cwd: project.project.workspaceRoot,
1920 repository: project.repository,
1921 host: project.host,
1922 number: input.number,
1923 labels: input.labels,
1924 applied: input.applied,
1925 }).pipe(Effect.mapError(toPullRequestError("setLabels"))),
1901 Effect.flatMap((viewer): Effect.Effect<void, PullRequestError> =>
1902 viewer.labels === false
1903 ? Effect.fail(
1904 new PullRequestOperationError({
1905 operation: "setLabels",
1906 detail: LABEL_CHANGE_REFUSAL,
1907 }),
1908 )
1909 : change({
1910 cwd: project.project.workspaceRoot,
1911 repository: project.repository,
1912 host: project.host,
1913 number: input.number,
1914 labels: input.labels,
1915 applied: input.applied,
1916 }).pipe(Effect.mapError(toPullRequestError("setLabels"))),
19261917 ),
19271918 );
19281919 }),
apps/server/src/pullRequest/gitHubPullRequestJson.ts+21-25
......@@ -1339,18 +1339,16 @@ function toComments(raw: {
13391339 readonly comments?: ReadonlyArray<Schema.Schema.Type<typeof RawCommentSchema>> | undefined;
13401340 readonly reviews?: ReadonlyArray<Schema.Schema.Type<typeof RawReviewSchema>> | undefined;
13411341}): ReadonlyArray<PullRequestComment> {
1342 const issueComments = (raw.comments ?? []).map(
1343 (comment): PullRequestComment => ({
1344 id: comment.id,
1345 kind: "issue-comment",
1346 author: toActor(comment.author),
1347 body: comment.body ?? "",
1348 createdAt: comment.createdAt,
1349 url: trimmed(comment.url),
1350 path: null,
1351 reviewState: null,
1352 }),
1353 );
1342 const issueComments = (raw.comments ?? []).map((comment): PullRequestComment => ({
1343 id: comment.id,
1344 kind: "issue-comment",
1345 author: toActor(comment.author),
1346 body: comment.body ?? "",
1347 createdAt: comment.createdAt,
1348 url: trimmed(comment.url),
1349 path: null,
1350 reviewState: null,
1351 }));
13541352 // A review with no body is kept only when its state is the event itself — an approval, a
13551353 // request for changes, a dismissal. GitHub also opens a bodiless `COMMENTED` review as the
13561354 // container for line comments, and those comments are read from the review threads, so
......@@ -1743,19 +1741,17 @@ export function reviewThreadConversation(
17431741 threads: ReadonlyArray<PullRequestReviewThread>,
17441742): ReadonlyArray<PullRequestComment> {
17451743 return threads.flatMap((thread) =>
1746 thread.comments.map(
1747 (comment): PullRequestComment => ({
1748 id: comment.id,
1749 kind: "review-comment",
1750 author: comment.author,
1751 body: comment.body,
1752 createdAt: comment.createdAt,
1753 url: comment.url,
1754 path: thread.path,
1755 reviewState: null,
1756 reactions: comment.reactions ?? [],
1757 }),
1758 ),
1744 thread.comments.map((comment): PullRequestComment => ({
1745 id: comment.id,
1746 kind: "review-comment",
1747 author: comment.author,
1748 body: comment.body,
1749 createdAt: comment.createdAt,
1750 url: comment.url,
1751 path: thread.path,
1752 reviewState: null,
1753 reactions: comment.reactions ?? [],
1754 })),
17591755 );
17601756}
17611757
apps/server/src/resourceTelemetry/DesktopTelemetryReceiver.ts+15-21
......@@ -518,13 +518,11 @@ export const make = Effect.fn("resourceTelemetry.desktopTelemetryReceiver.make")
518518 if (message.type === "desktopTelemetryHello") {
519519 return recordContact.pipe(
520520 Effect.andThen(
521 updateHealth(
522 (current): DesktopTelemetryReceiverHealth => ({
523 ...current,
524 status: "healthy",
525 lastError: Option.none(),
526 }),
527 ),
521 updateHealth((current): DesktopTelemetryReceiverHealth => ({
522 ...current,
523 status: "healthy",
524 lastError: Option.none(),
525 })),
528526 ),
529527 );
530528 }
......@@ -549,22 +547,18 @@ export const make = Effect.fn("resourceTelemetry.desktopTelemetryReceiver.make")
549547 );
550548 }),
551549 Effect.andThen(
552 updateHealth(
553 (current): DesktopTelemetryReceiverHealth => ({
554 ...current,
555 status: "stopped",
556 lastError: Option.some(new DesktopTelemetryStreamClosed({ fd }).message),
557 }),
558 ),
550 updateHealth((current): DesktopTelemetryReceiverHealth => ({
551 ...current,
552 status: "stopped",
553 lastError: Option.some(new DesktopTelemetryStreamClosed({ fd }).message),
554 })),
559555 ),
560556 Effect.catch((error) =>
561 updateHealth(
562 (current): DesktopTelemetryReceiverHealth => ({
563 ...current,
564 status: "degraded",
565 lastError: Option.some(error.message),
566 }),
567 ),
557 updateHealth((current): DesktopTelemetryReceiverHealth => ({
558 ...current,
559 status: "degraded",
560 lastError: Option.some(error.message),
561 })),
568562 ),
569563 Effect.forkScoped,
570564 );
apps/server/src/resourceTelemetry/ResourceTelemetry.ts+4-6
......@@ -491,12 +491,10 @@ export const make = Effect.fn("resourceTelemetry.resourceTelemetry.make")(functi
491491 validateProcessIdentity,
492492 retry: nativeClient.retry.pipe(
493493 Effect.zip(Ref.get(state)),
494 Effect.map(
495 ([accepted, current]): ResourceTelemetryRetryResult => ({
496 accepted,
497 snapshot: current.latest,
498 }),
499 ),
494 Effect.map(([accepted, current]): ResourceTelemetryRetryResult => ({
495 accepted,
496 snapshot: current.latest,
497 })),
500498 ),
501499 });
502500});
apps/web/src/lib/attachmentUploadQueue.ts+1-1
......@@ -333,7 +333,7 @@ async function runUpload(job: UploadJob): Promise<void> {
333333}
334334
335335function pumpUploads(): void {
336 for (let index = 0; index < queue.length; ) {
336 for (let index = 0; index < queue.length;) {
337337 const job = queue[index]!;
338338 const active = activeUploadsByEnvironment.get(job.environmentId) ?? 0;
339339 if (active >= MAX_UPLOADS_PER_ENVIRONMENT) {
packages/client-runtime/src/connection/supervisor.ts+24-36
......@@ -317,12 +317,10 @@ export const make = Effect.fn("EnvironmentSupervisor.make")(function* (
317317 }),
318318 });
319319 const lease = yield* effect.pipe(
320 Effect.mapError(
321 (error): TracedAttemptFailure => ({
322 error,
323 attemptSpan: Option.some(attemptSpan),
324 }),
325 ),
320 Effect.mapError((error): TracedAttemptFailure => ({
321 error,
322 attemptSpan: Option.some(attemptSpan),
323 })),
326324 );
327325 return { attemptSpan: Option.some(attemptSpan), lease };
328326 }).pipe(Effect.withSpan("relay.connection.attempt", { root: true }));
......@@ -358,12 +356,10 @@ export const make = Effect.fn("EnvironmentSupervisor.make")(function* (
358356 attemptSpan: Option.none<Tracer.Span>(),
359357 lease,
360358 })),
361 Effect.mapError(
362 (error): TracedAttemptFailure => ({
363 error,
364 attemptSpan: Option.none(),
365 }),
366 ),
359 Effect.mapError((error): TracedAttemptFailure => ({
360 error,
361 attemptSpan: Option.none(),
362 })),
367363 );
368364 });
369365
......@@ -514,20 +510,16 @@ export const make = Effect.fn("EnvironmentSupervisor.make")(function* (
514510 exitUnlessInterrupted(
515511 establishTracedConnection(attempt, generation, lastFailure, pendingRetry),
516512 ).pipe(
517 Effect.map(
518 (exit): EstablishmentEvent => ({
519 _tag: "Completed",
520 exit,
521 }),
522 ),
513 Effect.map((exit): EstablishmentEvent => ({
514 _tag: "Completed",
515 exit,
516 })),
523517 ),
524518 waitForEstablishmentInterrupt().pipe(
525 Effect.map(
526 (resetRetry): EstablishmentEvent => ({
527 _tag: "Interrupted",
528 resetRetry,
529 }),
530 ),
519 Effect.map((resetRetry): EstablishmentEvent => ({
520 _tag: "Interrupted",
521 resetRetry,
522 })),
531523 ),
532524 Effect.sleep(CONNECTION_ESTABLISHMENT_TIMEOUT).pipe(
533525 Effect.as<EstablishmentEvent>({ _tag: "TimedOut" }),
......@@ -602,20 +594,16 @@ export const make = Effect.fn("EnvironmentSupervisor.make")(function* (
602594
603595 const connectedExit = yield* Effect.raceAllFirst([
604596 active.lease.session.closed.pipe(
605 Effect.mapError(
606 (error): TracedAttemptFailure => ({
607 error,
608 attemptSpan: active.attemptSpan,
609 }),
610 ),
597 Effect.mapError((error): TracedAttemptFailure => ({
598 error,
599 attemptSpan: active.attemptSpan,
600 })),
611601 ),
612602 monitorConnectedLease(active.lease).pipe(
613 Effect.mapError(
614 (error): TracedAttemptFailure => ({
615 error,
616 attemptSpan: active.attemptSpan,
617 }),
618 ),
603 Effect.mapError((error): TracedAttemptFailure => ({
604 error,
605 attemptSpan: active.attemptSpan,
606 })),
619607 ),
620608 waitForAuthorizationRefresh(active.lease.prepared),
621609 ]).pipe(exitUnlessInterrupted);
packages/client-runtime/src/rpc/session.test.ts+5-8
......@@ -607,14 +607,11 @@ describe("RpcSessionFactory", () => {
607607 payload: { themes: [] },
608608 },
609609 ];
610 const settingsEvents = Array.from(
611 { length: 65 },
612 (): ServerConfigStreamEventType => ({
613 version: 1,
614 type: "settingsUpdated",
615 payload: { settings: DEFAULT_SERVER_SETTINGS },
616 }),
617 );
610 const settingsEvents = Array.from({ length: 65 }, (): ServerConfigStreamEventType => ({
611 version: 1,
612 type: "settingsUpdated",
613 payload: { settings: DEFAULT_SERVER_SETTINGS },
614 }));
618615 const allEvents = [...themeEvents, ...settingsEvents];
619616 const observedByFastSubscriber = yield* Queue.unbounded<ServerConfigStreamEventType>();
620617 yield* session.subscribeServerConfig({ environmentThemes: true }).pipe(
packages/effect-codex-app-server/src/_generated/schema.gen.ts+24-21
......@@ -3831,7 +3831,10 @@ export type V2ConfigWriteResponse__WriteStatus = "ok" | "okOverridden";
38313831export const V2ConfigWriteResponse__WriteStatus = Schema.Literals(["ok", "okOverridden"]);
38323832
38333833export type V2ConsumeAccountRateLimitResetCreditResponse__ConsumeAccountRateLimitResetCreditOutcome =
3834 "reset" | "nothingToReset" | "noCredit" | "alreadyRedeemed";
3834 | "reset"
3835 | "nothingToReset"
3836 | "noCredit"
3837 | "alreadyRedeemed";
38353838export const V2ConsumeAccountRateLimitResetCreditResponse__ConsumeAccountRateLimitResetCreditOutcome =
38363839 Schema.Literals(["reset", "nothingToReset", "noCredit", "alreadyRedeemed"]);
38373840
......@@ -3960,16 +3963,16 @@ export const V2ExternalAgentConfigDetectResponse__SubagentMigration = Schema.Str
39603963});
39613964
39623965export type V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConfigMigrationItemType =
3963 | "AGENTS_MD"
3964 | "CONFIG"
3965 | "SKILLS"
3966 | "PLUGINS"
3967 | "MCP_SERVER_CONFIG"
3968 | "SUBAGENTS"
3969 | "HOOKS"
3970 | "COMMANDS"
3971 | "MEMORY"
3972 | "SESSIONS";
3966 | "AGENTS_MD"
3967 | "CONFIG"
3968 | "SKILLS"
3969 | "PLUGINS"
3970 | "MCP_SERVER_CONFIG"
3971 | "SUBAGENTS"
3972 | "HOOKS"
3973 | "COMMANDS"
3974 | "MEMORY"
3975 | "SESSIONS";
39733976export const V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConfigMigrationItemType =
39743977 Schema.Literals([
39753978 "AGENTS_MD",
......@@ -3985,16 +3988,16 @@ export const V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConf
39853988 ]);
39863989
39873990export type V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigMigrationItemType =
3988 | "AGENTS_MD"
3989 | "CONFIG"
3990 | "SKILLS"
3991 | "PLUGINS"
3992 | "MCP_SERVER_CONFIG"
3993 | "SUBAGENTS"
3994 | "HOOKS"
3995 | "COMMANDS"
3996 | "MEMORY"
3997 | "SESSIONS";
3991 | "AGENTS_MD"
3992 | "CONFIG"
3993 | "SKILLS"
3994 | "PLUGINS"
3995 | "MCP_SERVER_CONFIG"
3996 | "SUBAGENTS"
3997 | "HOOKS"
3998 | "COMMANDS"
3999 | "MEMORY"
4000 | "SESSIONS";
39984001export const V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigMigrationItemType =
39994002 Schema.Literals([
40004003 "AGENTS_MD",
packages/shared/src/qrCode.ts+1-1
......@@ -778,7 +778,7 @@ export class QrSegment {
778778 if (!QrSegment.isNumeric(digits))
779779 throw new RangeError("String contains non-numeric characters");
780780 let bb: Array<bit> = [];
781 for (let i = 0; i < digits.length; ) {
781 for (let i = 0; i < digits.length;) {
782782 // Consume up to 3 digits per iteration
783783 const n: int = Math.min(digits.length - i, 3);
784784 appendBits(parseInt(digits.substring(i, i + n), 10), n * 3 + 1, bb);
pnpm-lock.yaml+616-369
......@@ -34,8 +34,8 @@ catalogs:
3434 specifier: ~6.0.3
3535 version: 6.0.3
3636 vite-plus:
37 specifier: 0.2.2
38 version: 0.2.2
37 specifier: 0.3.0
38 version: 0.3.0
3939
4040overrides:
4141 '@anthropic-ai/claude-agent-sdk>@anthropic-ai/claude-agent-sdk-darwin-arm64': '-'
......@@ -81,7 +81,7 @@ overrides:
8181 expo-sharing>@expo/config-types: 57.0.2
8282 lightningcss: 1.33.0
8383 tailwindcss: 4.3.3
84 vite: npm:@voidzero-dev/vite-plus-core@0.2.2
84 vite: npm:@voidzero-dev/vite-plus-core@0.3.0
8585 yaml: ^2.9.0
8686
8787packageExtensionsChecksum: sha256-k/dT9NFDl5hihRPaoFKeY11hzyutMFs5psfZLFiKJic=
......@@ -126,7 +126,7 @@ importers:
126126 version: 7.0.0-dev.20260604.1
127127 vite-plus:
128128 specifier: 'catalog:'
129 version: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
129 version: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
130130
131131 apps/desktop:
132132 dependencies:
......@@ -193,7 +193,7 @@ importers:
193193 version: 4.3.3
194194 vite-plus:
195195 specifier: 'catalog:'
196 version: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
196 version: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
197197
198198 apps/marketing:
199199 dependencies:
......@@ -535,7 +535,7 @@ importers:
535535 version: link:../../packages/effect-codex-app-server
536536 vite-plus:
537537 specifier: 'catalog:'
538 version: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
538 version: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
539539
540540 apps/web:
541541 dependencies:
......@@ -659,13 +659,13 @@ importers:
659659 version: 4.0.0-beta.103(patch_hash=a16b1e870d8c29e4a98b17cc4c638a4ff471753d8ca3487f78a22b759caf951b)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
660660 '@rolldown/plugin-babel':
661661 specifier: ^0.2.0
662 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@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5)
662 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@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5)
663663 '@tailwindcss/vite':
664664 specifier: 4.3.3
665 version: 4.3.3(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))
665 version: 4.3.3(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))
666666 '@tanstack/router-plugin':
667667 specifier: ^1.161.0
668 version: 1.168.13(@tanstack/react-router@1.170.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))
668 version: 1.168.13(@tanstack/react-router@1.170.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))
669669 '@types/babel__core':
670670 specifier: ^7.20.5
671671 version: 7.20.5
......@@ -686,7 +686,7 @@ importers:
686686 version: 0.3.0
687687 '@vitejs/plugin-react':
688688 specifier: ^6.0.0
689 version: 6.0.2(@rolldown/plugin-babel@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@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(babel-plugin-react-compiler@1.0.0)
689 version: 6.0.2(@rolldown/plugin-babel@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@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5))(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(babel-plugin-react-compiler@1.0.0)
690690 babel-plugin-react-compiler:
691691 specifier: 1.0.0
692692 version: 1.0.0
......@@ -697,11 +697,11 @@ importers:
697697 specifier: 4.3.3
698698 version: 4.3.3
699699 vite:
700 specifier: npm:@voidzero-dev/vite-plus-core@0.2.2
701 version: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
700 specifier: npm:@voidzero-dev/vite-plus-core@0.3.0
701 version: '@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
702702 vite-plus:
703703 specifier: 'catalog:'
704 version: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
704 version: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
705705
706706 infra/relay:
707707 dependencies:
......@@ -728,7 +728,7 @@ importers:
728728 version: link:../../packages/shared
729729 alchemy:
730730 specifier: 2.0.0-beta.65
731 version: 2.0.0-beta.65(00c448ade6580e73d10ccfe1b32cee97)
731 version: 2.0.0-beta.65(2233d007cbd93ff91712c637e233494f)
732732 drizzle-orm:
733733 specifier: 1.0.0-rc.4
734734 version: 1.0.0-rc.4(@cloudflare/workers-types@4.20260604.1)(@effect/sql-d1@4.0.0-beta.101(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-pg@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-sqlite-bun@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@libsql/client@0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bun-types@1.3.14)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(expo-sqlite@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(mysql2@3.22.4(@types/node@24.12.4))(pg@8.21.0)(zod@4.4.3)
......@@ -752,11 +752,11 @@ importers:
752752 specifier: 1.0.0-rc.4
753753 version: 1.0.0-rc.4
754754 vite:
755 specifier: npm:@voidzero-dev/vite-plus-core@0.2.2
756 version: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
755 specifier: npm:@voidzero-dev/vite-plus-core@0.3.0
756 version: '@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
757757 vite-plus:
758758 specifier: 'catalog:'
759 version: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
759 version: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
760760
761761 oxlint-plugin-t3code:
762762 dependencies:
......@@ -775,7 +775,7 @@ importers:
775775 version: 4.0.0-beta.103(patch_hash=a16b1e870d8c29e4a98b17cc4c638a4ff471753d8ca3487f78a22b759caf951b)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
776776 vite-plus:
777777 specifier: 'catalog:'
778 version: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
778 version: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
779779
780780 packages/client-runtime:
781781 dependencies:
......@@ -812,7 +812,7 @@ importers:
812812 version: 2.0.2
813813 vite-plus:
814814 specifier: 'catalog:'
815 version: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
815 version: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
816816
817817 packages/contracts:
818818 dependencies:
......@@ -825,7 +825,7 @@ importers:
825825 version: 4.0.0-beta.103(patch_hash=a16b1e870d8c29e4a98b17cc4c638a4ff471753d8ca3487f78a22b759caf951b)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
826826 vite-plus:
827827 specifier: 'catalog:'
828 version: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
828 version: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
829829
830830 packages/effect-acp:
831831 dependencies:
......@@ -847,7 +847,7 @@ importers:
847847 version: 24.12.4
848848 vite-plus:
849849 specifier: 'catalog:'
850 version: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
850 version: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
851851
852852 packages/effect-codex-app-server:
853853 dependencies:
......@@ -869,7 +869,7 @@ importers:
869869 version: 24.12.4
870870 vite-plus:
871871 specifier: 'catalog:'
872 version: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
872 version: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
873873
874874 packages/shared:
875875 dependencies:
......@@ -903,7 +903,7 @@ importers:
903903 version: 24.12.4
904904 vite-plus:
905905 specifier: 'catalog:'
906 version: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
906 version: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
907907
908908 packages/ssh:
909909 dependencies:
......@@ -928,7 +928,7 @@ importers:
928928 version: 24.12.4
929929 vite-plus:
930930 specifier: 'catalog:'
931 version: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
931 version: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
932932
933933 packages/tailscale:
934934 dependencies:
......@@ -947,7 +947,7 @@ importers:
947947 version: 24.12.4
948948 vite-plus:
949949 specifier: 'catalog:'
950 version: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
950 version: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
951951
952952 scripts:
953953 dependencies:
......@@ -981,7 +981,7 @@ importers:
981981 version: 6.0.5
982982 vite-plus:
983983 specifier: 'catalog:'
984 version: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
984 version: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
985985
986986packages:
987987
......@@ -3289,289 +3289,289 @@ packages:
32893289 '@oslojs/encoding@1.1.0':
32903290 resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==}
32913291
3292 '@oxc-project/runtime@0.138.0':
3293 resolution: {integrity: sha512-yHhoXsN8tYxgdJCdD91PbySNjEEaBX/tH2OQRDXJpsQv5b184oC4/qVbU7qlblvfil/JP15Lh2HW7+HN5DS90Q==}
3292 '@oxc-project/runtime@0.146.0':
3293 resolution: {integrity: sha512-lbXHIpZ1MmK6zuw5txlMdIZ2waLVUIU5Gnm3sEuwJOiqDfQfbtjeHscatmeBoxbv8+If9LFM6PGh/3DcDWYIYw==}
32943294 engines: {node: ^20.19.0 || >=22.12.0}
32953295
32963296 '@oxc-project/types@0.127.0':
32973297 resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==}
32983298
3299 '@oxc-project/types@0.138.0':
3300 resolution: {integrity: sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==}
3301
33023299 '@oxc-project/types@0.139.0':
33033300 resolution: {integrity: sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==}
33043301
3305 '@oxfmt/binding-android-arm-eabi@0.57.0':
3306 resolution: {integrity: sha512-qVBsEO+KugOsCmUHcO8iqNnqc65p7PCKpCs8M66mPZ+Ri+CWbcpoQOEJBg2OTu03+0qu++NK1jj6IzvQVs0Sig==}
3302 '@oxc-project/types@0.146.0':
3303 resolution: {integrity: sha512-XC0QsnnhVe7sLIWmYmdPw7x5P0h4W8vUU3Nv1ySgWXtvCz8NizoAEpGXA0sOYoJQV2Rl13LgURAHQ5cI5ILCSA==}
3304
3305 '@oxfmt/binding-android-arm-eabi@0.64.0':
3306 resolution: {integrity: sha512-o6uzh/jTOQeAY5TdkAeXdqv7MBRcPxiRA08zrcBtkKj5cSu/FMu0Hl7Q6Fi1KCKyCWZ6lJVjBzdsJvsKltUsGQ==}
33073307 engines: {node: ^20.19.0 || >=22.12.0}
33083308 cpu: [arm]
33093309 os: [android]
33103310
3311 '@oxfmt/binding-android-arm64@0.57.0':
3312 resolution: {integrity: sha512-mp6PibWbao3aizijcheOeHQaYEhcUAt8pwLniYbtLfHxL/psFF0BykAwCj+s3c6qIpa8yN8keZICWrqtZ70w8g==}
3311 '@oxfmt/binding-android-arm64@0.64.0':
3312 resolution: {integrity: sha512-jRGSUeeP7p3Gynw2YaCVtjBIA6ZxY6bEB/ES5i54OhqmRTyuVg7ZgstEtzgq6GOAJd+2QZ5pvf+bFfmW5Mp9cw==}
33133313 engines: {node: ^20.19.0 || >=22.12.0}
33143314 cpu: [arm64]
33153315 os: [android]
33163316
3317 '@oxfmt/binding-darwin-arm64@0.57.0':
3318 resolution: {integrity: sha512-T+0stuCBqmUVY+aMIvrgXhzGhHO3sD5tNiiEcYqgSdPsnukskQqn2u5qOVD0sv1l7RLdFS5Z/f5Wi9Ktyjr3Eg==}
3317 '@oxfmt/binding-darwin-arm64@0.64.0':
3318 resolution: {integrity: sha512-JINwtU2lW7nOFSqi+H2qplipNUqah9Gc1jgGmB82kTD4UnZrZIVxCJ9qEmFiKfjNq27gYLFhrUb0to86aCwMjw==}
33193319 engines: {node: ^20.19.0 || >=22.12.0}
33203320 cpu: [arm64]
33213321 os: [darwin]
33223322
3323 '@oxfmt/binding-darwin-x64@0.57.0':
3324 resolution: {integrity: sha512-O+3JbqWs/mCI2oi4xfhRO2IVPFJNDDEBV8Odo+ZpmsUOeKJfjXoNH7nDmBEQcDgK7NfjDIyE7kRgYSZcTLDO0A==}
3323 '@oxfmt/binding-darwin-x64@0.64.0':
3324 resolution: {integrity: sha512-gCmuswrgrOSajV4HCRFkVCGIruPq8bjYuPYgSE2WQB3mD6XrdyZ3JMSRZCkQ8zCxOyGWriBo6QoZ5nmMHQ1BfA==}
33253325 engines: {node: ^20.19.0 || >=22.12.0}
33263326 cpu: [x64]
33273327 os: [darwin]
33283328
3329 '@oxfmt/binding-freebsd-x64@0.57.0':
3330 resolution: {integrity: sha512-pxwhxVC+JkLX9twOQ/8C/vbuOQcMZyKIDmiRDZfO7yITuVcIdZCiLRqqf4QOxb2+8FWrRXzQpm+1DBKcMpHSSQ==}
3329 '@oxfmt/binding-freebsd-x64@0.64.0':
3330 resolution: {integrity: sha512-Ab8g7a38pT0MMImjh7anRSTve6buWBIlcXIFBYa5xl4s6UxEgKSc2xOOhbGtLwvXnEi2PsEDGoJh3oUU7xkehQ==}
33313331 engines: {node: ^20.19.0 || >=22.12.0}
33323332 cpu: [x64]
33333333 os: [freebsd]
33343334
3335 '@oxfmt/binding-linux-arm-gnueabihf@0.57.0':
3336 resolution: {integrity: sha512-pxBU4zH2imB/MDBfth2rOMeVxXUMjRQLCazagwLARIFH3hVlxZJBlM4nSnHXaIHJK4/qezoFCIORN6AY8Mra4A==}
3335 '@oxfmt/binding-linux-arm-gnueabihf@0.64.0':
3336 resolution: {integrity: sha512-BgvS3CoQ+Xy2deoZqEN8JVKabcCZi2RxA3yant8G9OAv9KuPJ9TCjHkqigzdHUVwErZxEP5d2bzLIEyKYyBDLg==}
33373337 engines: {node: ^20.19.0 || >=22.12.0}
33383338 cpu: [arm]
33393339 os: [linux]
33403340
3341 '@oxfmt/binding-linux-arm-musleabihf@0.57.0':
3342 resolution: {integrity: sha512-JAprOzt8tycYou36ZgEw14DlRHTiN8qdtKANdV3VZIRIvTI/lh/cX13c9pJ/EnDk2GT3FASH7KvCgQ2AufAifQ==}
3341 '@oxfmt/binding-linux-arm-musleabihf@0.64.0':
3342 resolution: {integrity: sha512-QXpNxwoMj0YvnceCNZadNSden3bIcnvjn/sDp/rwZhRoZoZYGpHvtPyhGsdJz9uvT9GkaMW7SsLddurU56dt8w==}
33433343 engines: {node: ^20.19.0 || >=22.12.0}
33443344 cpu: [arm]
33453345 os: [linux]
33463346
3347 '@oxfmt/binding-linux-arm64-gnu@0.57.0':
3348 resolution: {integrity: sha512-ajtjaxSaj9xl4BW7REt+Cef/ttzbAq00Bq4z7JUDZEfgFXdwSjH8K9bF+IcIJzZB9lKqMfQ4eHuSFOvvlvtqOg==}
3347 '@oxfmt/binding-linux-arm64-gnu@0.64.0':
3348 resolution: {integrity: sha512-BBgH3I1ppDsI5pZ4Pdhw0ceYxwVCfbU/bZEBCeZ6caRS9x0ZabErxubP7riGUn11PXZBhe8DYdjkDKP1FlVQ5w==}
33493349 engines: {node: ^20.19.0 || >=22.12.0}
33503350 cpu: [arm64]
33513351 os: [linux]
33523352 libc: [glibc]
33533353
3354 '@oxfmt/binding-linux-arm64-musl@0.57.0':
3355 resolution: {integrity: sha512-p4Y/+RYk9Bk5WO+zHSUXAClRmZ2fbJCejMuCAsU2HhyME4jqf6Ftt/mJYEwIah1wGCBDYOB7wEGV1x5bCEZ6hA==}
3354 '@oxfmt/binding-linux-arm64-musl@0.64.0':
3355 resolution: {integrity: sha512-v19HSjC/BGXdt26qEvKZtwAHgGmQ2Agcap2kQP+KIqoRZqivVzYth3ui2dJA1i+6/fjpjga85lIOaJJjQ/bOOw==}
33563356 engines: {node: ^20.19.0 || >=22.12.0}
33573357 cpu: [arm64]
33583358 os: [linux]
33593359 libc: [musl]
33603360
3361 '@oxfmt/binding-linux-ppc64-gnu@0.57.0':
3362 resolution: {integrity: sha512-By6tRALAZsno0F4zedmtG+wdMvJiJmJoXM4d3+A9zHE4HRXLqXITwRH8mgrlcXc5yJM2g2W3riRPwTYdgemZLQ==}
3361 '@oxfmt/binding-linux-ppc64-gnu@0.64.0':
3362 resolution: {integrity: sha512-PElLnOo4xFTBZrxPhgTIj0eHqZXwEBQoNWtb7facUV170T0B0FRET0iNbb3LUeLWTybkUW+vsdyv4ihOdyXGyw==}
33633363 engines: {node: ^20.19.0 || >=22.12.0}
33643364 cpu: [ppc64]
33653365 os: [linux]
33663366 libc: [glibc]
33673367
3368 '@oxfmt/binding-linux-riscv64-gnu@0.57.0':
3369 resolution: {integrity: sha512-skYeG+RgvyzspqVEBsEprL90OYYZfoVNqB3HcCNR6QDJyXKOzfDRT3zncnHmUaFluIlBHuY23mU1b5WGgR98hA==}
3368 '@oxfmt/binding-linux-riscv64-gnu@0.64.0':
3369 resolution: {integrity: sha512-Qzsg15n4F5CH+MorcRW4MkAEMiLzXmeG+DiDSbP/bBTqCmWOH3K9DHryNrve+JHlV0txS+B6Z9P5Xz+cmWeL+g==}
33703370 engines: {node: ^20.19.0 || >=22.12.0}
33713371 cpu: [riscv64]
33723372 os: [linux]
33733373 libc: [glibc]
33743374
3375 '@oxfmt/binding-linux-riscv64-musl@0.57.0':
3376 resolution: {integrity: sha512-FFgACrZOXAXUh5KQh2mt1CDOVOZmn+QzHP71wM9QobNwyQvoFfyAeefVUltW83g3sm7LTiH3yfFqLLVUpA5ZFQ==}
3375 '@oxfmt/binding-linux-riscv64-musl@0.64.0':
3376 resolution: {integrity: sha512-/GZ358wnQ/Ez4UVnCcZIi56JkY0sOdZ+B108pqXKqZz3jLS59F4KEAB1Qv3fRlObrFEk+3L2vUQ/xoPx+3vjXw==}
33773377 engines: {node: ^20.19.0 || >=22.12.0}
33783378 cpu: [riscv64]
33793379 os: [linux]
33803380 libc: [musl]
33813381
3382 '@oxfmt/binding-linux-s390x-gnu@0.57.0':
3383 resolution: {integrity: sha512-Nm/BAOfQeFiiKd502mZn/GAVKJwtd0RdCg17G3Wz/WSOIQmDi3+7/SZH4BHn1Ye5KvTVH3ua8WvfwLLycNIuvA==}
3382 '@oxfmt/binding-linux-s390x-gnu@0.64.0':
3383 resolution: {integrity: sha512-/C9We3DXegowfLXtVCYHeNiU9azwCDr5cQkEtCVlc74vyn+lLQSPApJ1CZmxAduqeq/Oi3gQ+IVptyhCaTMtkQ==}
33843384 engines: {node: ^20.19.0 || >=22.12.0}
33853385 cpu: [s390x]
33863386 os: [linux]
33873387 libc: [glibc]
33883388
3389 '@oxfmt/binding-linux-x64-gnu@0.57.0':
3390 resolution: {integrity: sha512-BiSy5Ku3mQqyxS6YIqAJgd403wEUWvI7kerfzPxc2l/txZVmZM0pSj7oDM+4bGBExowxOi7o73jEam1W0EDTZg==}
3389 '@oxfmt/binding-linux-x64-gnu@0.64.0':
3390 resolution: {integrity: sha512-91KM2CeRWscIEHlj1NsW2WSnzGeq1Ehq+39bfDowTdkn+fcvK/x4Y1RcyqT7glyBjZio0ldkeCG6Usj3v7ASog==}
33913391 engines: {node: ^20.19.0 || >=22.12.0}
33923392 cpu: [x64]
33933393 os: [linux]
33943394 libc: [glibc]
33953395
3396 '@oxfmt/binding-linux-x64-musl@0.57.0':
3397 resolution: {integrity: sha512-BCRkJiotz5s9afLYD2LuMvzAoDYx9H17E/YbDyu4xK7l4zHDPeny9ErSXL//i/nJyaOwRk08x4b8cgJC00+JDg==}
3396 '@oxfmt/binding-linux-x64-musl@0.64.0':
3397 resolution: {integrity: sha512-gw7uEk9I+7zoT1EYLra1eWArIzNcz8e3jkv+Noo2+o2T7wPvsNSQbfoa4DSfZlvn1i6mJ05RiZ4/omaXPDNhQg==}
33983398 engines: {node: ^20.19.0 || >=22.12.0}
33993399 cpu: [x64]
34003400 os: [linux]
34013401 libc: [musl]
34023402
3403 '@oxfmt/binding-openharmony-arm64@0.57.0':
3404 resolution: {integrity: sha512-4Oaxe1qrGgXfpCJ1C/ERJ2iCtV2rN1R79ga9fsfyVHfSQRu/hVW780u2KDqZWFZ/iGTHODJji0JemxqFZ63eIQ==}
3403 '@oxfmt/binding-openharmony-arm64@0.64.0':
3404 resolution: {integrity: sha512-HYHFf616FHSPSO07c09mjmXBfQ73wIVM3m0txOiooa5XZkGoxFd6B14PVj0LB0DXIqJ6wAO/dDR/NX/5UUaqnw==}
34053405 engines: {node: ^20.19.0 || >=22.12.0}
34063406 cpu: [arm64]
34073407 os: [openharmony]
34083408
3409 '@oxfmt/binding-win32-arm64-msvc@0.57.0':
3410 resolution: {integrity: sha512-MYLAsDnhdNsSGheLYhWgbk0vfIrlS84iQYun/y21fX6u0jj8iBtYtbpZMdiqYeuf8U12eVPUjVY2xE2NrCfJ0g==}
3409 '@oxfmt/binding-win32-arm64-msvc@0.64.0':
3410 resolution: {integrity: sha512-uQjFp081IZSWD6VAofX2iO2z01awAdHmfC+NrieWIPKrT2hZKQDyq/U18M7ifC0sm0Wz8aHY/p6+FDYIzs/CrQ==}
34113411 engines: {node: ^20.19.0 || >=22.12.0}
34123412 cpu: [arm64]
34133413 os: [win32]
34143414
3415 '@oxfmt/binding-win32-ia32-msvc@0.57.0':
3416 resolution: {integrity: sha512-PBwdzZALJY/jcCx2E6is0yu+cuVXeySTDmwuseD+9j0mHqlRNxwlKgsyRTBed/woPeqfVfuXfWjoq4Cx2Zt3Eg==}
3415 '@oxfmt/binding-win32-ia32-msvc@0.64.0':
3416 resolution: {integrity: sha512-lNM6byTAQ881jugzFu8juJTbNRgsUTlswMA6pJmwi1XDvmIqnnb49lcUAs5gz94fCJLrVN+/X3s3jOKqx23WIQ==}
34173417 engines: {node: ^20.19.0 || >=22.12.0}
34183418 cpu: [ia32]
34193419 os: [win32]
34203420
3421 '@oxfmt/binding-win32-x64-msvc@0.57.0':
3422 resolution: {integrity: sha512-bQJdH9i4RRfw55jm7+8/xS7GzHLLTbHx4huhrrDxQJaJtbSDbsyOnODvP1ftT7EG0KFKAYO2S+q6AcioXODx8w==}
3421 '@oxfmt/binding-win32-x64-msvc@0.64.0':
3422 resolution: {integrity: sha512-BtmbtL/QjMtF1a6C3CqoDluH2IfB6fJt62E+B9RFfUPtFk4Iz9PFS6+y/SzzOvSxc7aUk2Kphwg7Dh8lMbwu6g==}
34233423 engines: {node: ^20.19.0 || >=22.12.0}
34243424 cpu: [x64]
34253425 os: [win32]
34263426
3427 '@oxlint-tsgolint/darwin-arm64@0.24.0':
3428 resolution: {integrity: sha512-C2uMmwK5Bc4ri4ysZ6sA8Rcu+A5zBQTp6ml2u0CLLbRZp4kMFPV3yWk8B5DK9Aw7y9bbjogIm75tUwGLFzlsYQ==}
3427 '@oxlint-tsgolint/darwin-arm64@7.0.2001':
3428 resolution: {integrity: sha512-CUJEdbSZ54+Xy9OXqOhWLTKZKV0BBiV7C2i/ygyVmXtkUNXx5YCzN8DpSSshTAKktoL7S+tnQ/ftFG/i7X896w==}
34293429 cpu: [arm64]
34303430 os: [darwin]
34313431
3432 '@oxlint-tsgolint/darwin-x64@0.24.0':
3433 resolution: {integrity: sha512-Wgvt/1lRbDxmoNqWQKKcL+UIiqLmdJ+EWLpQa1qzoNVAfNB0PJpa82/8dH1twT/3rSs4zrP5TXPWl4juB71WuQ==}
3432 '@oxlint-tsgolint/darwin-x64@7.0.2001':
3433 resolution: {integrity: sha512-pXfBb5BqONCcgrXQNUZWXgiYmRSWJzd97S8i41VVOh6ut0tyo+cJ5FKFpczDHxiVNfj/3e7c9B4MtztNdpIVCw==}
34343434 cpu: [x64]
34353435 os: [darwin]
34363436
3437 '@oxlint-tsgolint/linux-arm64@0.24.0':
3438 resolution: {integrity: sha512-PB1rxII7KV83+ASY4sSkXtqvpij6ME66+QCRL49uksi/ofs2Rf/UVboYr095n0Rkbl2wgvlsHGl6DHC361jQUQ==}
3437 '@oxlint-tsgolint/linux-arm64@7.0.2001':
3438 resolution: {integrity: sha512-roP7zujb/QDPzDwEKsFFpzNHHy91/Y7oX9vQXk78ekyZtcQj1QXDIMH33gjDdHBfRl4K9pZ36xhRgrP4Zr+R8A==}
34393439 cpu: [arm64]
34403440 os: [linux]
34413441
3442 '@oxlint-tsgolint/linux-x64@0.24.0':
3443 resolution: {integrity: sha512-xcz3CxKmjTQLREtE/UShh+ruWmm9nAb7UM9zKcD65BStiuYgOakAKkPHl4YS5DztpVcDrE0+HqbOolTlRKYWmw==}
3442 '@oxlint-tsgolint/linux-x64@7.0.2001':
3443 resolution: {integrity: sha512-UDezNqdECVmngu2TPnjaS1YoAmcTaBoI5lV9vk3VahBxoi+I5r9k3iJTT7qZoYWOXTD/7T7bNcwRgrocR6BscQ==}
34443444 cpu: [x64]
34453445 os: [linux]
34463446
3447 '@oxlint-tsgolint/win32-arm64@0.24.0':
3448 resolution: {integrity: sha512-A2i6ZGBec3i20S7RaxkgHc6r3HYtD5Mn7j/mb22NkTz14u0JuudvTu6JggAnbGMcv8+dBKQI//EasxSPJLD8pw==}
3447 '@oxlint-tsgolint/win32-arm64@7.0.2001':
3448 resolution: {integrity: sha512-uJZhqB6pdXLuN+AD1F5082byyQti/NPmJA77GtcFlmT2HzRelqbNls3SaIqxpjdFgvSBF9g0yOKGBkGFg7kX8Q==}
34493449 cpu: [arm64]
34503450 os: [win32]
34513451
3452 '@oxlint-tsgolint/win32-x64@0.24.0':
3453 resolution: {integrity: sha512-0ZbGd9qRB6zs82moekaKdEvncRANq49EAwfNX62JpTS46feXUhKAuoyVDvZMj6Rywejylrmmu79Wo6faYCo4Ew==}
3452 '@oxlint-tsgolint/win32-x64@7.0.2001':
3453 resolution: {integrity: sha512-FkDRm8hx9OwzGQqyWG1tO5QrTLRApff9DzSgpz9QZau37BR8d1VYKOxMLGf6shPZntJFoTwIIJYT68VndYDCog==}
34543454 cpu: [x64]
34553455 os: [win32]
34563456
3457 '@oxlint/binding-android-arm-eabi@1.72.0':
3458 resolution: {integrity: sha512-zhCmvn+1Mj3UchAc/90i99S0t7jJUsHmFVSPg4UWrjO8b8eaSGwscgO6QAUtvHBstkjQwBttQNswEnAF1mIQdA==}
3457 '@oxlint/binding-android-arm-eabi@1.79.0':
3458 resolution: {integrity: sha512-TebFaaMklO/RXzTv7PucaCq9l3X6D1gA+C8H6K4njtjFOV+zWE9MKLpulcJZN9bzytbUbQIY0mZuz12nQ5Kv4Q==}
34593459 engines: {node: ^20.19.0 || >=22.12.0}
34603460 cpu: [arm]
34613461 os: [android]
34623462
3463 '@oxlint/binding-android-arm64@1.72.0':
3464 resolution: {integrity: sha512-mtH+aY/ozv1eZoCUC2owjFAtyNBKHpJHygKeEu9zXXnQGW1Q2/qOpvx+I+Lf23+TvTz66F4iiXUbl2cGvoLPCQ==}
3463 '@oxlint/binding-android-arm64@1.79.0':
3464 resolution: {integrity: sha512-KqqnOtAVgNsPPF0YSodkFZA1O80jcKoCZCTu3bgsszxA+MrMP9TLzfXitKjEj1FmrPprKDMdRDMmY3weESO9sg==}
34653465 engines: {node: ^20.19.0 || >=22.12.0}
34663466 cpu: [arm64]
34673467 os: [android]
34683468
3469 '@oxlint/binding-darwin-arm64@1.72.0':
3470 resolution: {integrity: sha512-EvnajNPDtfknB3ZieeOOyDTwJn9QXDiwfnF4ZDQqART6RG6hjY4WigQcZdGoK2dkB3e1vrmEzN9aYbQCUkh/gQ==}
3469 '@oxlint/binding-darwin-arm64@1.79.0':
3470 resolution: {integrity: sha512-BVC2nsMzqQzRDPc5RhixkZ+m1p7iH4bxRRvqkbwDXX0PlQKm1BPy8J8cRjnAFafOq2QzI+BfO3vE8w2GZ3CBag==}
34713471 engines: {node: ^20.19.0 || >=22.12.0}
34723472 cpu: [arm64]
34733473 os: [darwin]
34743474
3475 '@oxlint/binding-darwin-x64@1.72.0':
3476 resolution: {integrity: sha512-ZkCdEa/G80A7vEHfeCDz/+L3m33DE73v32mDKhgOIgz8Uwf0DFcK7+uu6qC+7LEhmz5fpOe1osWKyjSNMydFIQ==}
3475 '@oxlint/binding-darwin-x64@1.79.0':
3476 resolution: {integrity: sha512-p6Lm+snmhGuLKL1+CpCV8L6ijkE/qJzK2H2jG9+eKJT0n31RbY4FLsdhexekgP3bLpw4Kgde+9DZuDZQ4yIInA==}
34773477 engines: {node: ^20.19.0 || >=22.12.0}
34783478 cpu: [x64]
34793479 os: [darwin]
34803480
3481 '@oxlint/binding-freebsd-x64@1.72.0':
3482 resolution: {integrity: sha512-NroXv2vh+sxVY1uya/rM5pjhx1hm8BzlYpx9q67QP0Xhw5MH2bf5GJylpvLEC+781p1Xli/317EoV9AlGwViag==}
3481 '@oxlint/binding-freebsd-x64@1.79.0':
3482 resolution: {integrity: sha512-qDMm0dXZnoHyRqSL4N4xUq82T4sqK5cbKSjvd/dF/YbMUXc2R1wEPf+vmA5S0qUmi0nwXfNbjXBtZaIqzQLIMg==}
34833483 engines: {node: ^20.19.0 || >=22.12.0}
34843484 cpu: [x64]
34853485 os: [freebsd]
34863486
3487 '@oxlint/binding-linux-arm-gnueabihf@1.72.0':
3488 resolution: {integrity: sha512-0NDywYgfj279Ou/BcQuCYSj7NJwBfmWn5qc5uGO/Ny7fUWmXyIpvawqX/8acQlWG6IXelJsJhj+JAy6sjsKj0A==}
3487 '@oxlint/binding-linux-arm-gnueabihf@1.79.0':
3488 resolution: {integrity: sha512-2od7s0nuKPzqyUZAWk9KkCyGg7eI9dwFPZg+20lB15fKFkVZ0c9ZFxqPfiBAyDTlTkh9stPI0t+JlPCqMbItVA==}
34893489 engines: {node: ^20.19.0 || >=22.12.0}
34903490 cpu: [arm]
34913491 os: [linux]
34923492
3493 '@oxlint/binding-linux-arm-musleabihf@1.72.0':
3494 resolution: {integrity: sha512-4vpXB06h65Ezsy4hRyrGjGrfa1SkVPii09yaajiYhmVpgsFiLD+KNxIx/BNAY+XiO+i1yqp9HHdwqM8VTqa5XQ==}
3493 '@oxlint/binding-linux-arm-musleabihf@1.79.0':
3494 resolution: {integrity: sha512-ZOQUjkzDnvlhSE3+tWC3YXx94MMl+sYMlwH+u1+YGApGHOJP/YAc8ZBRFOXZ6eOBmxtXAWuS/fBcdZr8qqNO1A==}
34953495 engines: {node: ^20.19.0 || >=22.12.0}
34963496 cpu: [arm]
34973497 os: [linux]
34983498
3499 '@oxlint/binding-linux-arm64-gnu@1.72.0':
3500 resolution: {integrity: sha512-immaN4g2ZGFiOkKrvRX9LvzZdd2GkQM5wR+UyzYyUuyhUTXGQ4HKUJH18xp4G8OfhCVaVAJfKZxwE1r8+4hhaQ==}
3499 '@oxlint/binding-linux-arm64-gnu@1.79.0':
3500 resolution: {integrity: sha512-lu158FR4nGqGeRS3BQvtG85wRgU/Fy4MD5Cxp1hzJXizGiLo6u2742wJSCDKh8cFcZntvX7fcxlq4mMmfryH1g==}
35013501 engines: {node: ^20.19.0 || >=22.12.0}
35023502 cpu: [arm64]
35033503 os: [linux]
35043504 libc: [glibc]
35053505
3506 '@oxlint/binding-linux-arm64-musl@1.72.0':
3507 resolution: {integrity: sha512-JGHS9Mnr7iWyyLDxgCv1MhzVpAckgptg00F2gnxt/GD7lQ2SW1BRcxHqhSTaSdDpjWRrBkBxMMh4+Hn3aVtExg==}
3506 '@oxlint/binding-linux-arm64-musl@1.79.0':
3507 resolution: {integrity: sha512-mbpKQeE2aflTjddaHK7MP8KP/OFbUM++lt5M635ENM8IyIdK0jm2t9pb+2v9mVVIvhF6TqA4l7F79Pll1mi+uw==}
35083508 engines: {node: ^20.19.0 || >=22.12.0}
35093509 cpu: [arm64]
35103510 os: [linux]
35113511 libc: [musl]
35123512
3513 '@oxlint/binding-linux-ppc64-gnu@1.72.0':
3514 resolution: {integrity: sha512-AOYgBZqxNshrg83P9v0RYv+m8s10Cqkj4/PxXFDhcS3k7FqsIG5+CxErshZCIN7G8iy4Y+VGfAsuEdar8AcbBg==}
3513 '@oxlint/binding-linux-ppc64-gnu@1.79.0':
3514 resolution: {integrity: sha512-WpGNua7gaxaHnpSDeog2ji8IDHn/QLPl9LPzwkR/FvVv58vT5BcXjRXnU+wbu3N75cpeha8CdC7ho/U2OIsB4g==}
35153515 engines: {node: ^20.19.0 || >=22.12.0}
35163516 cpu: [ppc64]
35173517 os: [linux]
35183518 libc: [glibc]
35193519
3520 '@oxlint/binding-linux-riscv64-gnu@1.72.0':
3521 resolution: {integrity: sha512-QMybPS5ij3/vrKG67mqzHwW++91sYxK/PPUVi6SBtNCEzW4niS52fVBdXbQ6nou0wWbUPEpx8Sl/ZjtgE3clXA==}
3520 '@oxlint/binding-linux-riscv64-gnu@1.79.0':
3521 resolution: {integrity: sha512-tK1E93A5LVzISg4ngpKJnfTs7EqtIUceGI7MQ4GyDjJiLi8wPCkEyKlj2xkyKWZ1yzkDJyLHTBJ5/iFWRdnJvg==}
35223522 engines: {node: ^20.19.0 || >=22.12.0}
35233523 cpu: [riscv64]
35243524 os: [linux]
35253525 libc: [glibc]
35263526
3527 '@oxlint/binding-linux-riscv64-musl@1.72.0':
3528 resolution: {integrity: sha512-gOc3W7JV0PXRpIL7stUlLe3Wa9Gp0Kdlup87IT3gHDvPKck2xNgMIl/Gs2lldYY2lyXZDC4rWi3hmoLUobkgbQ==}
3527 '@oxlint/binding-linux-riscv64-musl@1.79.0':
3528 resolution: {integrity: sha512-qhQvUIrngXivA2A9pQ+xPCychztn/5qUv7yS3gDwXv3w7Rag+eTeeXWmRyx+t7XsW5x6LuY/8AsTq36UgFIblg==}
35293529 engines: {node: ^20.19.0 || >=22.12.0}
35303530 cpu: [riscv64]
35313531 os: [linux]
35323532 libc: [musl]
35333533
3534 '@oxlint/binding-linux-s390x-gnu@1.72.0':
3535 resolution: {integrity: sha512-rpGxph+FjjHcYI5q6uxB3Az+tnfmEnDbSA8+PK9ZE/VzyUAkvBOMeuY7ZQMhu5mpZH7YQDsTdW6Cx4kV/msc6w==}
3534 '@oxlint/binding-linux-s390x-gnu@1.79.0':
3535 resolution: {integrity: sha512-sv6AaVgU/eE6u+6WFiQVDcPPwTxP6IJMSB9k701W2r/r6Tx465e8vPvVyRxquNH4Vy6KwRNu90mVbxXJN8+5gg==}
35363536 engines: {node: ^20.19.0 || >=22.12.0}
35373537 cpu: [s390x]
35383538 os: [linux]
35393539 libc: [glibc]
35403540
3541 '@oxlint/binding-linux-x64-gnu@1.72.0':
3542 resolution: {integrity: sha512-WND+uhf/Ko13SLqQMWQUgsZuLvYYEvL0ZKgg0tgGYfLqxG7l8Ju123fHDMJyYSDl5E3bUbpFUuii/OvMreFQzw==}
3541 '@oxlint/binding-linux-x64-gnu@1.79.0':
3542 resolution: {integrity: sha512-iFZL02deziHslb3jEX9KdqlAkYoo4fGyotchKDzdfK1f5mxlIBeiQeHhvK3iFpuEJSB4ma/qeFn9oxPiwnhUPQ==}
35433543 engines: {node: ^20.19.0 || >=22.12.0}
35443544 cpu: [x64]
35453545 os: [linux]
35463546 libc: [glibc]
35473547
3548 '@oxlint/binding-linux-x64-musl@1.72.0':
3549 resolution: {integrity: sha512-SrpbrUL70nG9vh6zP4/oKHWgLuHquwsr7MW9XOn0olBVgh10Uqr8qscKhQoBGEn6olK/IUpn5GSKcdQ5AjUhGA==}
3548 '@oxlint/binding-linux-x64-musl@1.79.0':
3549 resolution: {integrity: sha512-3DtZR2raqObnh7wXZoFYFd0Fw7skBvcb3f7A+/lkEiDuh8hrE6vv9b/62Qxao1a9/OeHLw/FcXlXzgsW9wTRFg==}
35503550 engines: {node: ^20.19.0 || >=22.12.0}
35513551 cpu: [x64]
35523552 os: [linux]
35533553 libc: [musl]
35543554
3555 '@oxlint/binding-openharmony-arm64@1.72.0':
3556 resolution: {integrity: sha512-qkrsEn6NmgFKr7U/QnezQMb+q/vzAy0Dd9Y95gQGQTyjzDLN+HRZMuM5u70iyH4nBLCfKBzhjMsYCehKay2jyg==}
3555 '@oxlint/binding-openharmony-arm64@1.79.0':
3556 resolution: {integrity: sha512-Oatt4GuA1WJkqzk2ozx4HrWROOi7opV3AKDw/U8qDIqeTqzsjn5K2x3REJMNjU3/KU/Bkq96Zi3CknaiDTaC/Q==}
35573557 engines: {node: ^20.19.0 || >=22.12.0}
35583558 cpu: [arm64]
35593559 os: [openharmony]
35603560
3561 '@oxlint/binding-win32-arm64-msvc@1.72.0':
3562 resolution: {integrity: sha512-LWR6ZlFZph+KPjXv8opgZsXRDCdrdQe8VL8Cg9zxCoBS73h6znzZpydVgmdnwj8mB9AuSM5jxEgDJDpQkjboeg==}
3561 '@oxlint/binding-win32-arm64-msvc@1.79.0':
3562 resolution: {integrity: sha512-NAgZr9Qp8nIA9rpo0JEvwiabTF/2UVqBNnupBG9X4kxXcQoScJUTi+qHhvabb9s/thgj5wQ4XcIaJvb+ZMgoKw==}
35633563 engines: {node: ^20.19.0 || >=22.12.0}
35643564 cpu: [arm64]
35653565 os: [win32]
35663566
3567 '@oxlint/binding-win32-ia32-msvc@1.72.0':
3568 resolution: {integrity: sha512-yt6HEh7IsHvtjRWtmeZRX134eaXKHq5Gnqlf1xBJdJl1JtdoRUEJw3nAxpZoUDS860cX/foKbztO441anVBtVQ==}
3567 '@oxlint/binding-win32-ia32-msvc@1.79.0':
3568 resolution: {integrity: sha512-+KyXjIvcpaXmWW/j9NNY5yWjrIVxaX18VyIheQy3jwc2GSYgpCr7MGI/HxIGQ/shAL5IWEKbhsqoMpAO5Stiog==}
35693569 engines: {node: ^20.19.0 || >=22.12.0}
35703570 cpu: [ia32]
35713571 os: [win32]
35723572
3573 '@oxlint/binding-win32-x64-msvc@1.72.0':
3574 resolution: {integrity: sha512-b2eKFD2hX7tIwmo/cyH6TDq8vzWRZ2qNHrzoGntUTmq0h3zQh/uX3eTSHCwI8OB/ADQfJCRelLItK8BsxuucDA==}
3573 '@oxlint/binding-win32-x64-msvc@1.79.0':
3574 resolution: {integrity: sha512-mEelcCMMBS57sIXh2veGMNy+pQwuGtcMxHxGIZWQ5Ba9pJ5jCCUFOZB9E2JhBaxGsURe+WGe0zJp4RVre52gpQ==}
35753575 engines: {node: ^20.19.0 || >=22.12.0}
35763576 cpu: [x64]
35773577 os: [win32]
......@@ -3580,6 +3580,10 @@ packages:
35803580 resolution: {integrity: sha512-titLmukUt/h8ho7Svlf0xSBjoy2ccZKrXjpXpZCj+v6V4CJccC2KyP45BLSCMx8YIpifMyiDyUptM4+5sruKbQ==}
35813581 engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
35823582
3583 '@oxlint/plugins@1.79.0':
3584 resolution: {integrity: sha512-S0uyoxakDINJ4DPgqxGlEEvrdSMeQb7Z2lKVjxoY2gwsbZbfg2Xr8Klfeo5ZeraHmmdBCELFUHkSe6KEmBpMvg==}
3585 engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
3586
35833587 '@peculiar/asn1-schema@2.8.0':
35843588 resolution: {integrity: sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q==}
35853589
......@@ -4859,21 +4863,21 @@ packages:
48594863 babel-plugin-react-compiler:
48604864 optional: true
48614865
4862 '@vitest/browser-preview@4.1.9':
4863 resolution: {integrity: sha512-a4/OrkMDb/WUnE4OOB/4FJbK3rYVO7YykqtUgcTKG4p2a0R3XcjPVu7SLRHFBs2+NIYhv5yxp1Lz3dbdGBjIow==}
4866 '@vitest/browser-preview@4.1.11':
4867 resolution: {integrity: sha512-iPKSE6Ibayey6HFgK1V1/aHgyhx7HSRk1YMi+lnBZGmlIiNV5Uc7xRkD9Su8RDylTxDECK23t7kTHdRKoqSYDQ==}
48644868 peerDependencies:
4865 vitest: 4.1.9
4869 vitest: 4.1.11
48664870
4867 '@vitest/browser@4.1.9':
4868 resolution: {integrity: sha512-j1BKtWmPcqpMhmx/L9EPLgAJpCb0zKfwoWLmqBbxaogCXHjOwHFSEoHCBfnGtx93xKQwilZ26m+UOsHqHMkRNg==}
4871 '@vitest/browser@4.1.11':
4872 resolution: {integrity: sha512-bwMovvAeuTFOK5kIFevw4VEf+1gVEICv4SYK4k3knJOxl6b1zEWud8mYKD73e1B0odAn174h1MofURy2TPWf3w==}
48694873 peerDependencies:
4870 vitest: 4.1.9
4874 vitest: 4.1.11
48714875
4872 '@vitest/expect@4.1.9':
4873 resolution: {integrity: sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==}
4876 '@vitest/expect@4.1.11':
4877 resolution: {integrity: sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw==}
48744878
4875 '@vitest/mocker@4.1.9':
4876 resolution: {integrity: sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==}
4879 '@vitest/mocker@4.1.11':
4880 resolution: {integrity: sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==}
48774881 peerDependencies:
48784882 msw: ^2.4.9
48794883 vite: ^6.0.0 || ^7.0.0 || ^8.0.0
......@@ -4883,28 +4887,28 @@ packages:
48834887 vite:
48844888 optional: true
48854889
4886 '@vitest/pretty-format@4.1.9':
4887 resolution: {integrity: sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==}
4890 '@vitest/pretty-format@4.1.11':
4891 resolution: {integrity: sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw==}
48884892
4889 '@vitest/runner@4.1.9':
4890 resolution: {integrity: sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==}
4893 '@vitest/runner@4.1.11':
4894 resolution: {integrity: sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==}
48914895
4892 '@vitest/snapshot@4.1.9':
4893 resolution: {integrity: sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==}
4896 '@vitest/snapshot@4.1.11':
4897 resolution: {integrity: sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==}
48944898
4895 '@vitest/spy@4.1.9':
4896 resolution: {integrity: sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==}
4899 '@vitest/spy@4.1.11':
4900 resolution: {integrity: sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==}
48974901
4898 '@vitest/utils@4.1.9':
4899 resolution: {integrity: sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==}
4902 '@vitest/utils@4.1.11':
4903 resolution: {integrity: sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==}
49004904
4901 '@voidzero-dev/vite-plus-core@0.2.2':
4902 resolution: {integrity: sha512-yAbKexF3npOGjg1N5EtXxun+7vdM/0x6QE5jucO/dv0LFhCAIzSN3UvLVCeamJt/Bz3jt7DLqQHEgXXrjy8drA==}
4905 '@voidzero-dev/vite-plus-core@0.3.0':
4906 resolution: {integrity: sha512-aOqoqIWaF+Q/geDU48pC2rVFEVSvLV1GGj/NdvhUiBhCZntoFNbwI+hjUeG8BMaPG67sOV6ey+/sgkdmGmKqaw==}
49034907 engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0}
49044908 peerDependencies:
49054909 '@arethetypeswrong/core': ^0.18.1
49064910 '@types/node': 24.12.4
4907 '@vitejs/devtools': ^0.3.0
4911 '@vitejs/devtools': ^0.4.0 || ^0.5.0
49084912 esbuild: ^0.27.0 || ^0.28.0
49094913 jiti: '>=1.21.0'
49104914 less: ^4.0.0
......@@ -4915,7 +4919,7 @@ packages:
49154919 sugarss: ^5.0.0
49164920 terser: ^5.16.0
49174921 tsx: ^4.8.1
4918 typescript: ^5.0.0 || ^6.0.0
4922 typescript: ^5.0.0 || ^6.0.0 || ^7.0.0
49194923 unplugin-unused: ^0.5.0
49204924 unrun: '*'
49214925 yaml: ^2.9.0
......@@ -4955,54 +4959,54 @@ packages:
49554959 yaml:
49564960 optional: true
49574961
4958 '@voidzero-dev/vite-plus-darwin-arm64@0.2.2':
4959 resolution: {integrity: sha512-Wy0Shx3Waa2cQZGSrPm0cpO1Y5oNyKyC1jarv12bBcgV+4uoEBKX+ep2Nh7zwjfd8Ja4QMiePE7wciOSXxu8oQ==}
4962 '@voidzero-dev/vite-plus-darwin-arm64@0.3.0':
4963 resolution: {integrity: sha512-9ADr1egZ8T4tJOqrpQLhoDl95Y74R95+bsvjmin0gy1C0eQVhpmcNnBfb07KFNhJioJp9MMO7F7Dx4fQL5SKsw==}
49604964 engines: {node: '>=20.0.0'}
49614965 cpu: [arm64]
49624966 os: [darwin]
49634967
4964 '@voidzero-dev/vite-plus-darwin-x64@0.2.2':
4965 resolution: {integrity: sha512-09xcW67OvsQItVPzmF8UckI+glM3DzyQO3A98deNQ4QtUF7Mt+4/cYKKcLKg2ExRWWXGNDnVG/j7/hiLjZzynw==}
4968 '@voidzero-dev/vite-plus-darwin-x64@0.3.0':
4969 resolution: {integrity: sha512-GegasVCwNeDOkNyvhLOuwU1+T2JkjY/Tq+SOvwphUpVcqQ6OOAUq9LlpoXviO2QL/Kq2NbMYjiAfPKVSTLUFQw==}
49664970 engines: {node: '>=20.0.0'}
49674971 cpu: [x64]
49684972 os: [darwin]
49694973
4970 '@voidzero-dev/vite-plus-linux-arm64-gnu@0.2.2':
4971 resolution: {integrity: sha512-bR6287UFNwulMiQRhbtXF8GYs9a8EjvefXf+Glm7AzbePUXnamW9cwYIj2j4Dgoje0yC4gA52UePEFjXZnJcjA==}
4974 '@voidzero-dev/vite-plus-linux-arm64-gnu@0.3.0':
4975 resolution: {integrity: sha512-nYI3KNYXkXjRPsSdR4Lr7J2xMxfR1+TplWlG/dV37qVXWAjbyHpoAlbULjZBAVJMyXRNlcADhBrEwXe4g6s48A==}
49724976 engines: {node: '>=20.0.0'}
49734977 cpu: [arm64]
49744978 os: [linux]
49754979 libc: [glibc]
49764980
4977 '@voidzero-dev/vite-plus-linux-arm64-musl@0.2.2':
4978 resolution: {integrity: sha512-YGtvTHT7qP4c5pZmM4kLL78/d8hj2NS150R92cR2SVOW/l9Ilq5R5WrEiMA4k5Ea3B++IJWZT5MRFI0tW9qlcg==}
4981 '@voidzero-dev/vite-plus-linux-arm64-musl@0.3.0':
4982 resolution: {integrity: sha512-HRlVA3AOcuGXmOdHhQ+Zv5XAaKbYF9si5rRHoOsKl0UyBo4txA3OoJfmP0WjanfLUNmu85JyO2dO1ptL4C6wgg==}
49794983 engines: {node: '>=20.0.0'}
49804984 cpu: [arm64]
49814985 os: [linux]
49824986 libc: [musl]
49834987
4984 '@voidzero-dev/vite-plus-linux-x64-gnu@0.2.2':
4985 resolution: {integrity: sha512-FvaMI/vsy4PVM+Qd73K+KM8blfCAfaoZaGaGWNrrlMryhyPThXPnHoB1AQcrKbEAWb+z2fc4zLS4sH+8uI65fw==}
4988 '@voidzero-dev/vite-plus-linux-x64-gnu@0.3.0':
4989 resolution: {integrity: sha512-9A+dFScPfwcrzF/rRR0zH8++2hOf6xtFmN/5LyzyfUywtw9MILXcC72IMcOeL6QRJwKUMsudi1rFeDE59azNvw==}
49864990 engines: {node: '>=20.0.0'}
49874991 cpu: [x64]
49884992 os: [linux]
49894993 libc: [glibc]
49904994
4991 '@voidzero-dev/vite-plus-linux-x64-musl@0.2.2':
4992 resolution: {integrity: sha512-ZsMochHqXqxj2sGTJNJzz3vabppbe4BFgZAjJfsnVzkwR7jv6c5p1BM71LFWxP4qd5LL0TJT7lbeRhALlI44RQ==}
4995 '@voidzero-dev/vite-plus-linux-x64-musl@0.3.0':
4996 resolution: {integrity: sha512-KfIV3qaPdaOOE8JQMRHRE34FtZocl9O86XLTP6JMjDUlcx8FPgf8/fz/HFqJ8g232vM+JsgLI/YTVeXP8LkTKw==}
49934997 engines: {node: '>=20.0.0'}
49944998 cpu: [x64]
49954999 os: [linux]
49965000 libc: [musl]
49975001
4998 '@voidzero-dev/vite-plus-win32-arm64-msvc@0.2.2':
4999 resolution: {integrity: sha512-noBNyJufux0cf18eDpQLOQUZ1Kybfx9zlr+yQ6gAnxMEsQXSvYqZgWymfRDesBE3G/0XB5bg+AUtWijp3TwVcw==}
5002 '@voidzero-dev/vite-plus-win32-arm64-msvc@0.3.0':
5003 resolution: {integrity: sha512-KRhdy5K13AYx9KBfCVHRrK7zSZU+bMW9CL6gTai+UkJgAmDJi1kjdSNboZOjO8mrzUnTCrELgMI2tnstcxSTuA==}
50005004 engines: {node: '>=20.0.0'}
50015005 cpu: [arm64]
50025006 os: [win32]
50035007
5004 '@voidzero-dev/vite-plus-win32-x64-msvc@0.2.2':
5005 resolution: {integrity: sha512-+VUui1OIaFX0tqdUAXjmoKVlujEtWVdcsFDw2Jff+D6b4LUTQaOMAaaic8nNdfZL6wEjweRREQLZi/icZAXtNQ==}
5008 '@voidzero-dev/vite-plus-win32-x64-msvc@0.3.0':
5009 resolution: {integrity: sha512-7+G+GxGmxdpQO0zjiGnkZFXKGqm0CrVduebRsJd6ccuOuxCQYPxLcoHq4WOaGrh56SrAGS7XjhnQCrXRkzKUVQ==}
50065010 engines: {node: '>=20.0.0'}
50075011 cpu: [x64]
50085012 os: [win32]
......@@ -5043,6 +5047,131 @@ packages:
50435047 engines: {node: '>=14.6'}
50445048 deprecated: this version has critical issues, please update to the latest version
50455049
5050 '@yuku-codegen/binding-darwin-arm64@0.5.48':
5051 resolution: {integrity: sha512-yo96Oef12WzqnphInfz/eexVse3+kWgfGS5g2S3rFS3dcGn1ENW9xLFDZUP9rh+yP76DOq38wBoFi1+I9+6qBg==}
5052 cpu: [arm64]
5053 os: [darwin]
5054
5055 '@yuku-codegen/binding-darwin-x64@0.5.48':
5056 resolution: {integrity: sha512-aRCTw0EZC4bVosmw//0OMYP5tGWFE0Cu5yUBFkUbhXx/iBzvORcJ2xPNlOp/vtCCo9Ys4vp8b0DigJV6uOVb2g==}
5057 cpu: [x64]
5058 os: [darwin]
5059
5060 '@yuku-codegen/binding-freebsd-x64@0.5.48':
5061 resolution: {integrity: sha512-CA0AQAEApDkbw51PdLWMtKPJ41/7rvXsS3SJs+phG7fHJI+MuFzWuLbkucZfZoEOiDscmcsfYIdgL8BsfuyKKQ==}
5062 cpu: [x64]
5063 os: [freebsd]
5064
5065 '@yuku-codegen/binding-linux-arm-gnu@0.5.48':
5066 resolution: {integrity: sha512-DuSQlk8bH4gpmW3/00P0NLagAcMv8jOxjT40cQmxKRkktr+SUOALCfkT89tdDq3qtY95NR2GXOZ7AjNh7KKqCw==}
5067 cpu: [arm]
5068 os: [linux]
5069 libc: [glibc]
5070
5071 '@yuku-codegen/binding-linux-arm-musl@0.5.48':
5072 resolution: {integrity: sha512-bxj4Ee+wlaJcWJwft2ReJXWw5sfl1qavDz6+dlRdU1xfTEtjPSNiAWhiCHnJR0R4Ygd57DnzSQmAVGvFv6RcGw==}
5073 cpu: [arm]
5074 os: [linux]
5075 libc: [musl]
5076
5077 '@yuku-codegen/binding-linux-arm64-gnu@0.5.48':
5078 resolution: {integrity: sha512-mk5JVWh+0JOe5ue8k17kbYX8uGBoKt3ZqoCyxNh4nYAAcX7+X1tFUiU7jbjctu4vHeejCBFSTdQ021+V31cUCQ==}
5079 cpu: [arm64]
5080 os: [linux]
5081 libc: [glibc]
5082
5083 '@yuku-codegen/binding-linux-arm64-musl@0.5.48':
5084 resolution: {integrity: sha512-4q3vkrNghbllyxOm2KesFLxCPKHF7r3JyQ7BWZccY1j2Y05yKoIFhoWCqIuQ2W/dpte9RI0+OVfwyxnrKg6fkA==}
5085 cpu: [arm64]
5086 os: [linux]
5087 libc: [musl]
5088
5089 '@yuku-codegen/binding-linux-x64-gnu@0.5.48':
5090 resolution: {integrity: sha512-csd4M1EVrGaohM8acM6gq1zpUA/Rwe2ulUMBKUcwQXm/k6n7cq1A++qdew78SOVb4do3JH1WE+WFwoGQAcWc1w==}
5091 cpu: [x64]
5092 os: [linux]
5093 libc: [glibc]
5094
5095 '@yuku-codegen/binding-linux-x64-musl@0.5.48':
5096 resolution: {integrity: sha512-KcDuEOT+GFoVKdvAWOv1v9iYjwnmvMZlO+j1Rw+5PYdeFLGWGzv/DD11y4SAAdwXIFcil4T0hibeIaF82WStMg==}
5097 cpu: [x64]
5098 os: [linux]
5099 libc: [musl]
5100
5101 '@yuku-codegen/binding-win32-arm64@0.5.48':
5102 resolution: {integrity: sha512-HI8qNrI8dWM5BuqIMKsqornRvTNFrE6sm5zToIJ9YIa9zt5+29P7fJ7Nr39EVf6dAWSb6q7JSpScJnRsQ+FgZA==}
5103 cpu: [arm64]
5104 os: [win32]
5105
5106 '@yuku-codegen/binding-win32-x64@0.5.48':
5107 resolution: {integrity: sha512-X5YWJLO6EfBZpeBqO0AYESnUizbpFDWArcvVD61w0PEWQ3CaFRLnbQXs+kpM4ZZfGMfIE22zfA08QSY67q7TNQ==}
5108 cpu: [x64]
5109 os: [win32]
5110
5111 '@yuku-parser/binding-darwin-arm64@0.5.48':
5112 resolution: {integrity: sha512-If8mb7HH3vqghJ2NNZ8SuHfhsnjVzOxJpB8xcNOXS5WjYrs2mUhHIh5KOIvK13hDOzh0htGeGK3A6MsiEqE7HQ==}
5113 cpu: [arm64]
5114 os: [darwin]
5115
5116 '@yuku-parser/binding-darwin-x64@0.5.48':
5117 resolution: {integrity: sha512-EimvPXfspzxf1K11eB6tCW5oiQEXB8g84T2wP1TwzQagdDKo33bkmmVF0B32vTIpXnk/Ifu5IB61izZ1MylljA==}
5118 cpu: [x64]
5119 os: [darwin]
5120
5121 '@yuku-parser/binding-freebsd-x64@0.5.48':
5122 resolution: {integrity: sha512-0GcUMrumLHheThY9r5Tp46gaZYzn0irWPS1Zba6WY+vVQfhUtzGiWgXxI6tuXX0N32kEaaEVRpkKctvo6Kx3aQ==}
5123 cpu: [x64]
5124 os: [freebsd]
5125
5126 '@yuku-parser/binding-linux-arm-gnu@0.5.48':
5127 resolution: {integrity: sha512-8S5T5wjCC73dmmpQeZ49aYsSunIUM3D4Fc6rdK96c+Ayg/p3FmeSPF3xuLZHejcTmqJIIvnbfPlUF+rB6DITjQ==}
5128 cpu: [arm]
5129 os: [linux]
5130 libc: [glibc]
5131
5132 '@yuku-parser/binding-linux-arm-musl@0.5.48':
5133 resolution: {integrity: sha512-tTmbxvnUHcK2/crS9547vk2SMmsajH1yqJ8ltXhIuHJgqR1v+d9n9KT+kSayo/5CS76LegeYxhMFjEivBH2hFA==}
5134 cpu: [arm]
5135 os: [linux]
5136 libc: [musl]
5137
5138 '@yuku-parser/binding-linux-arm64-gnu@0.5.48':
5139 resolution: {integrity: sha512-KGYCBMqI2zfwyhgq5tpPVNe7jpUeYTBm8DhjdS+zqWNumde/PEC170QE5RHxcOAlsirIDeIUk0jqx+r/axoFSw==}
5140 cpu: [arm64]
5141 os: [linux]
5142 libc: [glibc]
5143
5144 '@yuku-parser/binding-linux-arm64-musl@0.5.48':
5145 resolution: {integrity: sha512-2wTSMsCSXLTc2lZUjMAuU5X4cje55u205WJqfV5NWNF6j9pW/tXyxr15dJeekj8ziLqBXzIsj4DbRh4sY/WcjA==}
5146 cpu: [arm64]
5147 os: [linux]
5148 libc: [musl]
5149
5150 '@yuku-parser/binding-linux-x64-gnu@0.5.48':
5151 resolution: {integrity: sha512-d/6v9UnGglVu1WC2JQyv/5aWSi5fXZeGSlidCfmHp4+N65N1GDKUnFtys5MK5eAPeAjTgSHGGtOc/yCcKTlv3A==}
5152 cpu: [x64]
5153 os: [linux]
5154 libc: [glibc]
5155
5156 '@yuku-parser/binding-linux-x64-musl@0.5.48':
5157 resolution: {integrity: sha512-gX19gw6u4ApPy7SYMPKfFlEkrtj6WlORvrTKK3sBQqjyV+8+mUAkQgxXNjHw4RnOiAmVYg7TOlZcg8d+Qqod9A==}
5158 cpu: [x64]
5159 os: [linux]
5160 libc: [musl]
5161
5162 '@yuku-parser/binding-win32-arm64@0.5.48':
5163 resolution: {integrity: sha512-w6cQQLbqj3Jcom5Q7ifm103NUOQ9d+Cb4VU5lkrZDjMnwVJ9Hzzg1vCQR7miJuF44vhCXldbme5UryE3giEKlA==}
5164 cpu: [arm64]
5165 os: [win32]
5166
5167 '@yuku-parser/binding-win32-x64@0.5.48':
5168 resolution: {integrity: sha512-4gO0HmG7fzFxrw1rs0dUdnnaY9YgennjETqDWrTSp7x9fmTUOAoN4VsMfP7YyliQeG1WJJHc55O+rOhmsLppow==}
5169 cpu: [x64]
5170 os: [win32]
5171
5172 '@yuku-toolchain/types@0.5.43':
5173 resolution: {integrity: sha512-kSpvPntnXw5+lYjO71ffBEnQ5ycQ74KGIYknh0TS4xeyCuBkOqxyJumxZkMhLBBUCLjDAbx2+Icnr3Zh4ftjpQ==}
5174
50465175 '@yuuang/ffi-rs-android-arm64@1.3.2':
50475176 resolution: {integrity: sha512-eDYLT0kVBkp7e2BwdRDmt6N1rkeDPUHDefk3ZX0/nok+GLsqfy1WBoSL3Yg7HVXN1EyW8OBVc2uK8Zq8HbmaSA==}
50485177 engines: {node: '>= 12'}
......@@ -8267,8 +8396,8 @@ packages:
82678396 outvariant@1.4.3:
82688397 resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==}
82698398
8270 oxfmt@0.57.0:
8271 resolution: {integrity: sha512-ZB7Bi+rGDSqmVIo9jwcLyFgjxXvQhDdU+jx+ZrVy6VRiVXK2+CHc4hO3J4dUQjHe7V0ymHB+MDuv5z+NhK07HA==}
8399 oxfmt@0.64.0:
8400 resolution: {integrity: sha512-XZ4GFBN/PLbXKq+0zrgpQfPKYuJlUuj+nzZJY7UpIbFMNyefNLCdN9EwViycNqnYcv0wrn0jXcQLlqJp8RCKBg==}
82728401 engines: {node: ^20.19.0 || >=22.12.0}
82738402 hasBin: true
82748403 peerDependencies:
......@@ -8280,16 +8409,16 @@ packages:
82808409 vite-plus:
82818410 optional: true
82828411
8283 oxlint-tsgolint@0.24.0:
8284 resolution: {integrity: sha512-giCk5sEvG02d5tzPmFMX3hem8ndzEEu1xvGYS5OwNfO2WGl6ZVxt5LjE0yiMDoz94INI7XkXwgFAQiydPvVHDw==}
8412 oxlint-tsgolint@7.0.2001:
8413 resolution: {integrity: sha512-KjK/XLcXr1DSyonKhsuFqJRiuKqcyG9j3LJ8nkOsrLzGvodBPqzHOKauy10asLMDI0sUpvb+1sxlzff3udZvfg==}
82858414 hasBin: true
82868415
8287 oxlint@1.72.0:
8288 resolution: {integrity: sha512-1rhdZIP/EvoI91ABIwNU5Q8+bWf8mjrS5UzIOZld4d4bXxJvtlUhlQvaoTogIGin/qdErMOrwaIJvCSIAKTLhA==}
8416 oxlint@1.79.0:
8417 resolution: {integrity: sha512-hVJ9hq9m2unPS+Of4eJJgCPdIeCC+3DHEUX3tkmrPJr3OK2hz7PhXwgC+ZP71ZcYu8cCDEtQrqLxWNvxBppBVg==}
82898418 engines: {node: ^20.19.0 || >=22.12.0}
82908419 hasBin: true
82918420 peerDependencies:
8292 oxlint-tsgolint: '>=0.22.1'
8421 oxlint-tsgolint: '>=7.0.2001'
82938422 vite-plus: '*'
82948423 peerDependenciesMeta:
82958424 oxlint-tsgolint:
......@@ -9881,13 +10010,13 @@ packages:
988110010 vfile@6.0.3:
988210011 resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
988310012
9884 vite-plus@0.2.2:
9885 resolution: {integrity: sha512-bXO3O0F2/uxtvX9Ck0o67stTErH/Zh0GEcCMd9pAh22tTHABCNTDPrRMWVo733e7Ux3h0Y7HanJ7neOV/nid4g==}
10013 vite-plus@0.3.0:
10014 resolution: {integrity: sha512-GNWbWuWD37frCSFrz6MLzUo62bTv5IOJozHEgZYOkxsLkuQtTwm4TowzpfoGrSsfwhAAtfPd/sK1Y0+v1SwhZA==}
988610015 engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0}
988710016 hasBin: true
988810017 peerDependencies:
9889 '@vitest/browser-playwright': 4.1.9
9890 '@vitest/browser-webdriverio': 4.1.9
10018 '@vitest/browser-playwright': 4.1.11
10019 '@vitest/browser-webdriverio': 4.1.11
989110020 peerDependenciesMeta:
989210021 '@vitest/browser-playwright':
989310022 optional: true
......@@ -9902,20 +10031,20 @@ packages:
990210031 vite:
990310032 optional: true
990410033
9905 vitest@4.1.9:
9906 resolution: {integrity: sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==}
10034 vitest@4.1.11:
10035 resolution: {integrity: sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw==}
990710036 engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
990810037 hasBin: true
990910038 peerDependencies:
991010039 '@edge-runtime/vm': '*'
991110040 '@opentelemetry/api': ^1.9.0
991210041 '@types/node': 24.12.4
9913 '@vitest/browser-playwright': 4.1.9
9914 '@vitest/browser-preview': 4.1.9
9915 '@vitest/browser-webdriverio': 4.1.9
9916 '@vitest/coverage-istanbul': 4.1.9
9917 '@vitest/coverage-v8': 4.1.9
9918 '@vitest/ui': 4.1.9
10042 '@vitest/browser-playwright': 4.1.11
10043 '@vitest/browser-preview': 4.1.11
10044 '@vitest/browser-webdriverio': 4.1.11
10045 '@vitest/coverage-istanbul': 4.1.11
10046 '@vitest/coverage-v8': 4.1.11
10047 '@vitest/ui': 4.1.11
991910048 happy-dom: '*'
992010049 jsdom: '*'
992110050 vite: ^6.0.0 || ^7.0.0 || ^8.0.0
......@@ -10233,6 +10362,12 @@ packages:
1023310362 yoga-layout@3.2.1:
1023410363 resolution: {integrity: sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==}
1023510364
10365 yuku-codegen@0.5.48:
10366 resolution: {integrity: sha512-p7HxD5Xl4jzDzqMrGePAOeSHmRY4g58h4HuGq15weQFPxuPWd/W6e7nqp/+Lea6JfpOdBwJOAyXFqIZ/J9Zfnw==}
10367
10368 yuku-parser@0.5.48:
10369 resolution: {integrity: sha512-OWBfhrpgK9+/4+IXG9oT8Bao4AhViQA7vdyNNH7EUg8dQYgwa70XtIBWTpCEme1P1ECyoDNYkn0wT63f8XRcVA==}
10370
1023610371 zod-to-json-schema@3.25.2:
1023710372 resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==}
1023810373 peerDependencies:
......@@ -11420,14 +11555,14 @@ snapshots:
1142011555 '@distilled.cloud/core': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
1142111556 effect: 4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)
1142211557
11423 '@distilled.cloud/cloudflare-rolldown-plugin@0.13.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5)(workerd@1.20260704.1)':
11558 '@distilled.cloud/cloudflare-rolldown-plugin@0.13.10(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5)(workerd@1.20260704.1)':
1142411559 dependencies:
1142511560 '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260704.1)
1142611561 magic-string: 0.30.21
1142711562 unenv: 2.0.0-rc.24
1142811563 optionalDependencies:
1142911564 rolldown: 1.1.5
11430 vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
11565 vite: '@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
1143111566 transitivePeerDependencies:
1143211567 - workerd
1143311568
......@@ -11441,13 +11576,13 @@ snapshots:
1144111576 '@effect/platform-bun': 4.0.0-beta.103(bufferutil@4.1.0)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(utf-8-validate@6.0.6)
1144211577 '@effect/platform-node': 4.0.0-beta.103(bufferutil@4.1.0)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(ioredis@5.11.0)(utf-8-validate@6.0.6)
1144311578
11444 '@distilled.cloud/cloudflare-vite-plugin@0.13.10(f97c3167f1a1990dddb83bff73e575e5)':
11579 '@distilled.cloud/cloudflare-vite-plugin@0.13.10(86e3ed6000e5955518fd9c0dea8322a9)':
1144511580 dependencies:
1144611581 '@distilled.cloud/cloudflare': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
11447 '@distilled.cloud/cloudflare-rolldown-plugin': 0.13.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5)(workerd@1.20260704.1)
11582 '@distilled.cloud/cloudflare-rolldown-plugin': 0.13.10(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5)(workerd@1.20260704.1)
1144811583 '@distilled.cloud/cloudflare-runtime': 0.13.10(@distilled.cloud/cloudflare@0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/platform-bun@4.0.0-beta.103(bufferutil@4.1.0)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(utf-8-validate@6.0.6))(@effect/platform-node@4.0.0-beta.103(bufferutil@4.1.0)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(ioredis@5.11.0)(utf-8-validate@6.0.6))(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
1144911584 effect: 4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)
11450 vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
11585 vite: '@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
1145111586 optionalDependencies:
1145211587 '@effect/platform-bun': 4.0.0-beta.103(bufferutil@4.1.0)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(utf-8-validate@6.0.6)
1145311588 '@effect/platform-node': 4.0.0-beta.103(bufferutil@4.1.0)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(ioredis@5.11.0)(utf-8-validate@6.0.6)
......@@ -13149,149 +13284,151 @@ snapshots:
1314913284
1315013285 '@oslojs/encoding@1.1.0': {}
1315113286
13152 '@oxc-project/runtime@0.138.0': {}
13287 '@oxc-project/runtime@0.146.0': {}
1315313288
1315413289 '@oxc-project/types@0.127.0':
1315513290 optional: true
1315613291
13157 '@oxc-project/types@0.138.0': {}
13158
1315913292 '@oxc-project/types@0.139.0': {}
1316013293
13161 '@oxfmt/binding-android-arm-eabi@0.57.0':
13294 '@oxc-project/types@0.146.0': {}
13295
13296 '@oxfmt/binding-android-arm-eabi@0.64.0':
1316213297 optional: true
1316313298
13164 '@oxfmt/binding-android-arm64@0.57.0':
13299 '@oxfmt/binding-android-arm64@0.64.0':
1316513300 optional: true
1316613301
13167 '@oxfmt/binding-darwin-arm64@0.57.0':
13302 '@oxfmt/binding-darwin-arm64@0.64.0':
1316813303 optional: true
1316913304
13170 '@oxfmt/binding-darwin-x64@0.57.0':
13305 '@oxfmt/binding-darwin-x64@0.64.0':
1317113306 optional: true
1317213307
13173 '@oxfmt/binding-freebsd-x64@0.57.0':
13308 '@oxfmt/binding-freebsd-x64@0.64.0':
1317413309 optional: true
1317513310
13176 '@oxfmt/binding-linux-arm-gnueabihf@0.57.0':
13311 '@oxfmt/binding-linux-arm-gnueabihf@0.64.0':
1317713312 optional: true
1317813313
13179 '@oxfmt/binding-linux-arm-musleabihf@0.57.0':
13314 '@oxfmt/binding-linux-arm-musleabihf@0.64.0':
1318013315 optional: true
1318113316
13182 '@oxfmt/binding-linux-arm64-gnu@0.57.0':
13317 '@oxfmt/binding-linux-arm64-gnu@0.64.0':
1318313318 optional: true
1318413319
13185 '@oxfmt/binding-linux-arm64-musl@0.57.0':
13320 '@oxfmt/binding-linux-arm64-musl@0.64.0':
1318613321 optional: true
1318713322
13188 '@oxfmt/binding-linux-ppc64-gnu@0.57.0':
13323 '@oxfmt/binding-linux-ppc64-gnu@0.64.0':
1318913324 optional: true
1319013325
13191 '@oxfmt/binding-linux-riscv64-gnu@0.57.0':
13326 '@oxfmt/binding-linux-riscv64-gnu@0.64.0':
1319213327 optional: true
1319313328
13194 '@oxfmt/binding-linux-riscv64-musl@0.57.0':
13329 '@oxfmt/binding-linux-riscv64-musl@0.64.0':
1319513330 optional: true
1319613331
13197 '@oxfmt/binding-linux-s390x-gnu@0.57.0':
13332 '@oxfmt/binding-linux-s390x-gnu@0.64.0':
1319813333 optional: true
1319913334
13200 '@oxfmt/binding-linux-x64-gnu@0.57.0':
13335 '@oxfmt/binding-linux-x64-gnu@0.64.0':
1320113336 optional: true
1320213337
13203 '@oxfmt/binding-linux-x64-musl@0.57.0':
13338 '@oxfmt/binding-linux-x64-musl@0.64.0':
1320413339 optional: true
1320513340
13206 '@oxfmt/binding-openharmony-arm64@0.57.0':
13341 '@oxfmt/binding-openharmony-arm64@0.64.0':
1320713342 optional: true
1320813343
13209 '@oxfmt/binding-win32-arm64-msvc@0.57.0':
13344 '@oxfmt/binding-win32-arm64-msvc@0.64.0':
1321013345 optional: true
1321113346
13212 '@oxfmt/binding-win32-ia32-msvc@0.57.0':
13347 '@oxfmt/binding-win32-ia32-msvc@0.64.0':
1321313348 optional: true
1321413349
13215 '@oxfmt/binding-win32-x64-msvc@0.57.0':
13350 '@oxfmt/binding-win32-x64-msvc@0.64.0':
1321613351 optional: true
1321713352
13218 '@oxlint-tsgolint/darwin-arm64@0.24.0':
13353 '@oxlint-tsgolint/darwin-arm64@7.0.2001':
1321913354 optional: true
1322013355
13221 '@oxlint-tsgolint/darwin-x64@0.24.0':
13356 '@oxlint-tsgolint/darwin-x64@7.0.2001':
1322213357 optional: true
1322313358
13224 '@oxlint-tsgolint/linux-arm64@0.24.0':
13359 '@oxlint-tsgolint/linux-arm64@7.0.2001':
1322513360 optional: true
1322613361
13227 '@oxlint-tsgolint/linux-x64@0.24.0':
13362 '@oxlint-tsgolint/linux-x64@7.0.2001':
1322813363 optional: true
1322913364
13230 '@oxlint-tsgolint/win32-arm64@0.24.0':
13365 '@oxlint-tsgolint/win32-arm64@7.0.2001':
1323113366 optional: true
1323213367
13233 '@oxlint-tsgolint/win32-x64@0.24.0':
13368 '@oxlint-tsgolint/win32-x64@7.0.2001':
1323413369 optional: true
1323513370
13236 '@oxlint/binding-android-arm-eabi@1.72.0':
13371 '@oxlint/binding-android-arm-eabi@1.79.0':
1323713372 optional: true
1323813373
13239 '@oxlint/binding-android-arm64@1.72.0':
13374 '@oxlint/binding-android-arm64@1.79.0':
1324013375 optional: true
1324113376
13242 '@oxlint/binding-darwin-arm64@1.72.0':
13377 '@oxlint/binding-darwin-arm64@1.79.0':
1324313378 optional: true
1324413379
13245 '@oxlint/binding-darwin-x64@1.72.0':
13380 '@oxlint/binding-darwin-x64@1.79.0':
1324613381 optional: true
1324713382
13248 '@oxlint/binding-freebsd-x64@1.72.0':
13383 '@oxlint/binding-freebsd-x64@1.79.0':
1324913384 optional: true
1325013385
13251 '@oxlint/binding-linux-arm-gnueabihf@1.72.0':
13386 '@oxlint/binding-linux-arm-gnueabihf@1.79.0':
1325213387 optional: true
1325313388
13254 '@oxlint/binding-linux-arm-musleabihf@1.72.0':
13389 '@oxlint/binding-linux-arm-musleabihf@1.79.0':
1325513390 optional: true
1325613391
13257 '@oxlint/binding-linux-arm64-gnu@1.72.0':
13392 '@oxlint/binding-linux-arm64-gnu@1.79.0':
1325813393 optional: true
1325913394
13260 '@oxlint/binding-linux-arm64-musl@1.72.0':
13395 '@oxlint/binding-linux-arm64-musl@1.79.0':
1326113396 optional: true
1326213397
13263 '@oxlint/binding-linux-ppc64-gnu@1.72.0':
13398 '@oxlint/binding-linux-ppc64-gnu@1.79.0':
1326413399 optional: true
1326513400
13266 '@oxlint/binding-linux-riscv64-gnu@1.72.0':
13401 '@oxlint/binding-linux-riscv64-gnu@1.79.0':
1326713402 optional: true
1326813403
13269 '@oxlint/binding-linux-riscv64-musl@1.72.0':
13404 '@oxlint/binding-linux-riscv64-musl@1.79.0':
1327013405 optional: true
1327113406
13272 '@oxlint/binding-linux-s390x-gnu@1.72.0':
13407 '@oxlint/binding-linux-s390x-gnu@1.79.0':
1327313408 optional: true
1327413409
13275 '@oxlint/binding-linux-x64-gnu@1.72.0':
13410 '@oxlint/binding-linux-x64-gnu@1.79.0':
1327613411 optional: true
1327713412
13278 '@oxlint/binding-linux-x64-musl@1.72.0':
13413 '@oxlint/binding-linux-x64-musl@1.79.0':
1327913414 optional: true
1328013415
13281 '@oxlint/binding-openharmony-arm64@1.72.0':
13416 '@oxlint/binding-openharmony-arm64@1.79.0':
1328213417 optional: true
1328313418
13284 '@oxlint/binding-win32-arm64-msvc@1.72.0':
13419 '@oxlint/binding-win32-arm64-msvc@1.79.0':
1328513420 optional: true
1328613421
13287 '@oxlint/binding-win32-ia32-msvc@1.72.0':
13422 '@oxlint/binding-win32-ia32-msvc@1.79.0':
1328813423 optional: true
1328913424
13290 '@oxlint/binding-win32-x64-msvc@1.72.0':
13425 '@oxlint/binding-win32-x64-msvc@1.79.0':
1329113426 optional: true
1329213427
1329313428 '@oxlint/plugins@1.68.0': {}
1329413429
13430 '@oxlint/plugins@1.79.0': {}
13431
1329513432 '@peculiar/asn1-schema@2.8.0':
1329613433 dependencies:
1329713434 '@peculiar/utils': 2.0.3
......@@ -13850,7 +13987,7 @@ snapshots:
1385013987 '@rolldown/binding-win32-x64-msvc@1.1.5':
1385113988 optional: true
1385213989
13853 '@rolldown/plugin-babel@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@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5)':
13990 '@rolldown/plugin-babel@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@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5)':
1385413991 dependencies:
1385513992 '@babel/core': 7.29.7
1385613993 picomatch: 4.0.4
......@@ -13858,7 +13995,7 @@ snapshots:
1385813995 optionalDependencies:
1385913996 '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7)
1386013997 '@babel/runtime': 7.29.7
13861 vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
13998 vite: '@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
1386213999
1386314000 '@rolldown/pluginutils@1.0.0-rc.17':
1386414001 optional: true
......@@ -14169,12 +14306,12 @@ snapshots:
1416914306 '@tailwindcss/oxide-win32-arm64-msvc': 4.3.3
1417014307 '@tailwindcss/oxide-win32-x64-msvc': 4.3.3
1417114308
14172 '@tailwindcss/vite@4.3.3(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))':
14309 '@tailwindcss/vite@4.3.3(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))':
1417314310 dependencies:
1417414311 '@tailwindcss/node': 4.3.3
1417514312 '@tailwindcss/oxide': 4.3.3
1417614313 tailwindcss: 4.3.3
14177 vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
14314 vite: '@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
1417814315
1417914316 '@tanstack/devtools-event-client@0.4.3': {}
1418014317
......@@ -14237,7 +14374,7 @@ snapshots:
1423714374 transitivePeerDependencies:
1423814375 - supports-color
1423914376
14240 '@tanstack/router-plugin@1.168.13(@tanstack/react-router@1.170.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))':
14377 '@tanstack/router-plugin@1.168.13(@tanstack/react-router@1.170.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))':
1424114378 dependencies:
1424214379 '@babel/core': 7.29.7
1424314380 '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7)
......@@ -14254,7 +14391,7 @@ snapshots:
1425414391 zod: 4.4.3
1425514392 optionalDependencies:
1425614393 '@tanstack/react-router': 1.170.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
14257 vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
14394 vite: '@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
1425814395 transitivePeerDependencies:
1425914396 - supports-color
1426014397
......@@ -14528,36 +14665,36 @@ snapshots:
1452814665 optionalDependencies:
1452914666 ajv: 6.15.0
1453014667
14531 '@vitejs/plugin-react@6.0.2(@rolldown/plugin-babel@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@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5))(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(babel-plugin-react-compiler@1.0.0)':
14668 '@vitejs/plugin-react@6.0.2(@rolldown/plugin-babel@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@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5))(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(babel-plugin-react-compiler@1.0.0)':
1453214669 dependencies:
1453314670 '@rolldown/pluginutils': 1.0.1
14534 vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
14671 vite: '@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
1453514672 optionalDependencies:
14536 '@rolldown/plugin-babel': 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@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5)
14673 '@rolldown/plugin-babel': 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@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5)
1453714674 babel-plugin-react-compiler: 1.0.0
1453814675
14539 '@vitest/browser-preview@4.1.9(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(bufferutil@4.1.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(utf-8-validate@6.0.6)(vitest@4.1.9)':
14676 '@vitest/browser-preview@4.1.11(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(bufferutil@4.1.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(utf-8-validate@6.0.6)(vitest@4.1.11)':
1454014677 dependencies:
1454114678 '@testing-library/dom': 10.4.1
1454214679 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1)
14543 '@vitest/browser': 4.1.9(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(bufferutil@4.1.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(utf-8-validate@6.0.6)(vitest@4.1.9)
14544 vitest: 4.1.9(@types/node@24.12.4)(@vitest/browser-preview@4.1.9)(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))
14680 '@vitest/browser': 4.1.11(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(bufferutil@4.1.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(utf-8-validate@6.0.6)(vitest@4.1.11)
14681 vitest: 4.1.11(@types/node@24.12.4)(@vitest/browser-preview@4.1.11)(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))
1454514682 transitivePeerDependencies:
1454614683 - bufferutil
1454714684 - msw
1454814685 - utf-8-validate
1454914686 - vite
1455014687
14551 '@vitest/browser@4.1.9(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(bufferutil@4.1.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(utf-8-validate@6.0.6)(vitest@4.1.9)':
14688 '@vitest/browser@4.1.11(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(bufferutil@4.1.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(utf-8-validate@6.0.6)(vitest@4.1.11)':
1455214689 dependencies:
1455314690 '@blazediff/core': 1.9.1
14554 '@vitest/mocker': 4.1.9(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))
14555 '@vitest/utils': 4.1.9
14691 '@vitest/mocker': 4.1.11(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))
14692 '@vitest/utils': 4.1.11
1455614693 magic-string: 0.30.21
1455714694 pngjs: 7.0.0
1455814695 sirv: 3.0.2
1455914696 tinyrainbow: 3.1.0
14560 vitest: 4.1.9(@types/node@24.12.4)(@vitest/browser-preview@4.1.9)(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))
14697 vitest: 4.1.11(@types/node@24.12.4)(@vitest/browser-preview@4.1.11)(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))
1456114698 ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
1456214699 transitivePeerDependencies:
1456314700 - bufferutil
......@@ -14565,56 +14702,66 @@ snapshots:
1456514702 - utf-8-validate
1456614703 - vite
1456714704
14568 '@vitest/expect@4.1.9':
14705 '@vitest/expect@4.1.11':
1456914706 dependencies:
1457014707 '@standard-schema/spec': 1.1.0
1457114708 '@types/chai': 5.2.3
14572 '@vitest/spy': 4.1.9
14573 '@vitest/utils': 4.1.9
14709 '@vitest/spy': 4.1.11
14710 '@vitest/utils': 4.1.11
1457414711 chai: 6.2.2
1457514712 tinyrainbow: 3.1.0
1457614713
14577 '@vitest/mocker@4.1.9(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))':
14714 '@vitest/mocker@4.1.11(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))':
1457814715 dependencies:
14579 '@vitest/spy': 4.1.9
14716 '@vitest/spy': 4.1.11
1458014717 estree-walker: 3.0.3
1458114718 magic-string: 0.30.21
1458214719 optionalDependencies:
1458314720 msw: 2.12.11(@types/node@24.12.4)(typescript@6.0.3)
14584 vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
14721 vite: '@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
1458514722
14586 '@vitest/pretty-format@4.1.9':
14723 '@vitest/pretty-format@4.1.11':
1458714724 dependencies:
1458814725 tinyrainbow: 3.1.0
1458914726
14590 '@vitest/runner@4.1.9':
14727 '@vitest/runner@4.1.11':
1459114728 dependencies:
14592 '@vitest/utils': 4.1.9
14729 '@vitest/utils': 4.1.11
1459314730 pathe: 2.0.3
1459414731
14595 '@vitest/snapshot@4.1.9':
14732 '@vitest/snapshot@4.1.11':
1459614733 dependencies:
14597 '@vitest/pretty-format': 4.1.9
14598 '@vitest/utils': 4.1.9
14734 '@vitest/pretty-format': 4.1.11
14735 '@vitest/utils': 4.1.11
1459914736 magic-string: 0.30.21
1460014737 pathe: 2.0.3
1460114738
14602 '@vitest/spy@4.1.9': {}
14739 '@vitest/spy@4.1.11': {}
1460314740
14604 '@vitest/utils@4.1.9':
14741 '@vitest/utils@4.1.11':
1460514742 dependencies:
14606 '@vitest/pretty-format': 4.1.9
14743 '@vitest/pretty-format': 4.1.11
1460714744 convert-source-map: 2.0.0
1460814745 tinyrainbow: 3.1.0
1460914746
14610 '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)':
14747 '@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)':
1461114748 dependencies:
14612 '@oxc-project/runtime': 0.138.0
14613 '@oxc-project/types': 0.138.0
14749 '@oxc-project/runtime': 0.146.0
14750 '@oxc-project/types': 0.146.0
1461414751 lightningcss: 1.33.0
1461514752 postcss: 8.5.15
14753 yuku-codegen: 0.5.48
14754 yuku-parser: 0.5.48
1461614755 optionalDependencies:
1461714756 '@types/node': 24.12.4
14757 '@voidzero-dev/vite-plus-darwin-arm64': 0.3.0
14758 '@voidzero-dev/vite-plus-darwin-x64': 0.3.0
14759 '@voidzero-dev/vite-plus-linux-arm64-gnu': 0.3.0
14760 '@voidzero-dev/vite-plus-linux-arm64-musl': 0.3.0
14761 '@voidzero-dev/vite-plus-linux-x64-gnu': 0.3.0
14762 '@voidzero-dev/vite-plus-linux-x64-musl': 0.3.0
14763 '@voidzero-dev/vite-plus-win32-arm64-msvc': 0.3.0
14764 '@voidzero-dev/vite-plus-win32-x64-msvc': 0.3.0
1461814765 esbuild: 0.28.1
1461914766 fsevents: 2.3.3
1462014767 jiti: 2.7.0
......@@ -14623,28 +14770,28 @@ snapshots:
1462314770 unrun: 0.2.39
1462414771 yaml: 2.9.0
1462514772
14626 '@voidzero-dev/vite-plus-darwin-arm64@0.2.2':
14773 '@voidzero-dev/vite-plus-darwin-arm64@0.3.0':
1462714774 optional: true
1462814775
14629 '@voidzero-dev/vite-plus-darwin-x64@0.2.2':
14776 '@voidzero-dev/vite-plus-darwin-x64@0.3.0':
1463014777 optional: true
1463114778
14632 '@voidzero-dev/vite-plus-linux-arm64-gnu@0.2.2':
14779 '@voidzero-dev/vite-plus-linux-arm64-gnu@0.3.0':
1463314780 optional: true
1463414781
14635 '@voidzero-dev/vite-plus-linux-arm64-musl@0.2.2':
14782 '@voidzero-dev/vite-plus-linux-arm64-musl@0.3.0':
1463614783 optional: true
1463714784
14638 '@voidzero-dev/vite-plus-linux-x64-gnu@0.2.2':
14785 '@voidzero-dev/vite-plus-linux-x64-gnu@0.3.0':
1463914786 optional: true
1464014787
14641 '@voidzero-dev/vite-plus-linux-x64-musl@0.2.2':
14788 '@voidzero-dev/vite-plus-linux-x64-musl@0.3.0':
1464214789 optional: true
1464314790
14644 '@voidzero-dev/vite-plus-win32-arm64-msvc@0.2.2':
14791 '@voidzero-dev/vite-plus-win32-arm64-msvc@0.3.0':
1464514792 optional: true
1464614793
14647 '@voidzero-dev/vite-plus-win32-x64-msvc@0.2.2':
14794 '@voidzero-dev/vite-plus-win32-x64-msvc@0.3.0':
1464814795 optional: true
1464914796
1465014797 '@volar/kit@2.4.28(typescript@6.0.3)':
......@@ -14701,6 +14848,74 @@ snapshots:
1470114848
1470214849 '@xmldom/xmldom@0.9.10': {}
1470314850
14851 '@yuku-codegen/binding-darwin-arm64@0.5.48':
14852 optional: true
14853
14854 '@yuku-codegen/binding-darwin-x64@0.5.48':
14855 optional: true
14856
14857 '@yuku-codegen/binding-freebsd-x64@0.5.48':
14858 optional: true
14859
14860 '@yuku-codegen/binding-linux-arm-gnu@0.5.48':
14861 optional: true
14862
14863 '@yuku-codegen/binding-linux-arm-musl@0.5.48':
14864 optional: true
14865
14866 '@yuku-codegen/binding-linux-arm64-gnu@0.5.48':
14867 optional: true
14868
14869 '@yuku-codegen/binding-linux-arm64-musl@0.5.48':
14870 optional: true
14871
14872 '@yuku-codegen/binding-linux-x64-gnu@0.5.48':
14873 optional: true
14874
14875 '@yuku-codegen/binding-linux-x64-musl@0.5.48':
14876 optional: true
14877
14878 '@yuku-codegen/binding-win32-arm64@0.5.48':
14879 optional: true
14880
14881 '@yuku-codegen/binding-win32-x64@0.5.48':
14882 optional: true
14883
14884 '@yuku-parser/binding-darwin-arm64@0.5.48':
14885 optional: true
14886
14887 '@yuku-parser/binding-darwin-x64@0.5.48':
14888 optional: true
14889
14890 '@yuku-parser/binding-freebsd-x64@0.5.48':
14891 optional: true
14892
14893 '@yuku-parser/binding-linux-arm-gnu@0.5.48':
14894 optional: true
14895
14896 '@yuku-parser/binding-linux-arm-musl@0.5.48':
14897 optional: true
14898
14899 '@yuku-parser/binding-linux-arm64-gnu@0.5.48':
14900 optional: true
14901
14902 '@yuku-parser/binding-linux-arm64-musl@0.5.48':
14903 optional: true
14904
14905 '@yuku-parser/binding-linux-x64-gnu@0.5.48':
14906 optional: true
14907
14908 '@yuku-parser/binding-linux-x64-musl@0.5.48':
14909 optional: true
14910
14911 '@yuku-parser/binding-win32-arm64@0.5.48':
14912 optional: true
14913
14914 '@yuku-parser/binding-win32-x64@0.5.48':
14915 optional: true
14916
14917 '@yuku-toolchain/types@0.5.43': {}
14918
1470414919 '@yuuang/ffi-rs-android-arm64@1.3.2':
1470514920 optional: true
1470614921
......@@ -14803,7 +15018,7 @@ snapshots:
1480315018 json-schema-traverse: 1.0.0
1480415019 require-from-string: 2.0.2
1480515020
14806 alchemy@2.0.0-beta.65(00c448ade6580e73d10ccfe1b32cee97):
15021 alchemy@2.0.0-beta.65(2233d007cbd93ff91712c637e233494f):
1480715022 dependencies:
1480815023 '@alchemy.run/node-utils': 0.0.5
1480915024 '@aws-sdk/credential-providers': 3.1062.0
......@@ -14811,9 +15026,9 @@ snapshots:
1481115026 '@distilled.cloud/aws': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
1481215027 '@distilled.cloud/axiom': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
1481315028 '@distilled.cloud/cloudflare': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
14814 '@distilled.cloud/cloudflare-rolldown-plugin': 0.13.10(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5)(workerd@1.20260704.1)
15029 '@distilled.cloud/cloudflare-rolldown-plugin': 0.13.10(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(rolldown@1.1.5)(workerd@1.20260704.1)
1481515030 '@distilled.cloud/cloudflare-runtime': 0.13.10(@distilled.cloud/cloudflare@0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/platform-bun@4.0.0-beta.103(bufferutil@4.1.0)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(utf-8-validate@6.0.6))(@effect/platform-node@4.0.0-beta.103(bufferutil@4.1.0)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(ioredis@5.11.0)(utf-8-validate@6.0.6))(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
14816 '@distilled.cloud/cloudflare-vite-plugin': 0.13.10(f97c3167f1a1990dddb83bff73e575e5)
15031 '@distilled.cloud/cloudflare-vite-plugin': 0.13.10(86e3ed6000e5955518fd9c0dea8322a9)
1481715032 '@distilled.cloud/core': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
1481815033 '@distilled.cloud/neon': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
1481915034 '@distilled.cloud/planetscale': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
......@@ -14849,7 +15064,7 @@ snapshots:
1484915064 '@effect/sql-pg': 4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
1485015065 drizzle-kit: 1.0.0-rc.4
1485115066 drizzle-orm: 1.0.0-rc.4(@cloudflare/workers-types@4.20260604.1)(@effect/sql-d1@4.0.0-beta.101(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-pg@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@effect/sql-sqlite-bun@4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)))(@libsql/client@0.17.3(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bun-types@1.3.14)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))(expo-sqlite@57.0.2(expo@57.0.18)(react-native@0.86.3(@babel/core@7.29.7)(@react-native/metro-config@0.86.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.6)(utf-8-validate@6.0.6))(react@19.2.6))(mysql2@3.22.4(@types/node@24.12.4))(pg@8.21.0)(zod@4.4.3)
14852 vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
15067 vite: '@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
1485315068 ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
1485415069 transitivePeerDependencies:
1485515070 - '@mongodb-js/zstd'
......@@ -15037,8 +15252,8 @@ snapshots:
1503715252 unist-util-visit: 5.1.0
1503815253 unstorage: 1.17.5(aws4fetch@1.0.20)(idb-keyval@6.2.1)(ioredis@5.11.0)
1503915254 vfile: 6.0.3
15040 vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
15041 vitefu: 1.1.3(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))
15255 vite: '@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
15256 vitefu: 1.1.3(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))
1504215257 xxhash-wasm: 1.1.0
1504315258 yargs-parser: 22.0.0
1504415259 zod: 4.4.3
......@@ -18701,63 +18916,63 @@ snapshots:
1870118916 outvariant@1.4.3:
1870218917 optional: true
1870318918
18704 oxfmt@0.57.0(vite-plus@0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)):
18919 oxfmt@0.64.0(vite-plus@0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)):
1870518920 dependencies:
1870618921 tinypool: 2.1.0
1870718922 optionalDependencies:
18708 '@oxfmt/binding-android-arm-eabi': 0.57.0
18709 '@oxfmt/binding-android-arm64': 0.57.0
18710 '@oxfmt/binding-darwin-arm64': 0.57.0
18711 '@oxfmt/binding-darwin-x64': 0.57.0
18712 '@oxfmt/binding-freebsd-x64': 0.57.0
18713 '@oxfmt/binding-linux-arm-gnueabihf': 0.57.0
18714 '@oxfmt/binding-linux-arm-musleabihf': 0.57.0
18715 '@oxfmt/binding-linux-arm64-gnu': 0.57.0
18716 '@oxfmt/binding-linux-arm64-musl': 0.57.0
18717 '@oxfmt/binding-linux-ppc64-gnu': 0.57.0
18718 '@oxfmt/binding-linux-riscv64-gnu': 0.57.0
18719 '@oxfmt/binding-linux-riscv64-musl': 0.57.0
18720 '@oxfmt/binding-linux-s390x-gnu': 0.57.0
18721 '@oxfmt/binding-linux-x64-gnu': 0.57.0
18722 '@oxfmt/binding-linux-x64-musl': 0.57.0
18723 '@oxfmt/binding-openharmony-arm64': 0.57.0
18724 '@oxfmt/binding-win32-arm64-msvc': 0.57.0
18725 '@oxfmt/binding-win32-ia32-msvc': 0.57.0
18726 '@oxfmt/binding-win32-x64-msvc': 0.57.0
18727 vite-plus: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
18728
18729 oxlint-tsgolint@0.24.0:
18923 '@oxfmt/binding-android-arm-eabi': 0.64.0
18924 '@oxfmt/binding-android-arm64': 0.64.0
18925 '@oxfmt/binding-darwin-arm64': 0.64.0
18926 '@oxfmt/binding-darwin-x64': 0.64.0
18927 '@oxfmt/binding-freebsd-x64': 0.64.0
18928 '@oxfmt/binding-linux-arm-gnueabihf': 0.64.0
18929 '@oxfmt/binding-linux-arm-musleabihf': 0.64.0
18930 '@oxfmt/binding-linux-arm64-gnu': 0.64.0
18931 '@oxfmt/binding-linux-arm64-musl': 0.64.0
18932 '@oxfmt/binding-linux-ppc64-gnu': 0.64.0
18933 '@oxfmt/binding-linux-riscv64-gnu': 0.64.0
18934 '@oxfmt/binding-linux-riscv64-musl': 0.64.0
18935 '@oxfmt/binding-linux-s390x-gnu': 0.64.0
18936 '@oxfmt/binding-linux-x64-gnu': 0.64.0
18937 '@oxfmt/binding-linux-x64-musl': 0.64.0
18938 '@oxfmt/binding-openharmony-arm64': 0.64.0
18939 '@oxfmt/binding-win32-arm64-msvc': 0.64.0
18940 '@oxfmt/binding-win32-ia32-msvc': 0.64.0
18941 '@oxfmt/binding-win32-x64-msvc': 0.64.0
18942 vite-plus: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
18943
18944 oxlint-tsgolint@7.0.2001:
1873018945 optionalDependencies:
18731 '@oxlint-tsgolint/darwin-arm64': 0.24.0
18732 '@oxlint-tsgolint/darwin-x64': 0.24.0
18733 '@oxlint-tsgolint/linux-arm64': 0.24.0
18734 '@oxlint-tsgolint/linux-x64': 0.24.0
18735 '@oxlint-tsgolint/win32-arm64': 0.24.0
18736 '@oxlint-tsgolint/win32-x64': 0.24.0
18737
18738 oxlint@1.72.0(oxlint-tsgolint@0.24.0)(vite-plus@0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)):
18946 '@oxlint-tsgolint/darwin-arm64': 7.0.2001
18947 '@oxlint-tsgolint/darwin-x64': 7.0.2001
18948 '@oxlint-tsgolint/linux-arm64': 7.0.2001
18949 '@oxlint-tsgolint/linux-x64': 7.0.2001
18950 '@oxlint-tsgolint/win32-arm64': 7.0.2001
18951 '@oxlint-tsgolint/win32-x64': 7.0.2001
18952
18953 oxlint@1.79.0(oxlint-tsgolint@7.0.2001)(vite-plus@0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)):
1873918954 optionalDependencies:
18740 '@oxlint/binding-android-arm-eabi': 1.72.0
18741 '@oxlint/binding-android-arm64': 1.72.0
18742 '@oxlint/binding-darwin-arm64': 1.72.0
18743 '@oxlint/binding-darwin-x64': 1.72.0
18744 '@oxlint/binding-freebsd-x64': 1.72.0
18745 '@oxlint/binding-linux-arm-gnueabihf': 1.72.0
18746 '@oxlint/binding-linux-arm-musleabihf': 1.72.0
18747 '@oxlint/binding-linux-arm64-gnu': 1.72.0
18748 '@oxlint/binding-linux-arm64-musl': 1.72.0
18749 '@oxlint/binding-linux-ppc64-gnu': 1.72.0
18750 '@oxlint/binding-linux-riscv64-gnu': 1.72.0
18751 '@oxlint/binding-linux-riscv64-musl': 1.72.0
18752 '@oxlint/binding-linux-s390x-gnu': 1.72.0
18753 '@oxlint/binding-linux-x64-gnu': 1.72.0
18754 '@oxlint/binding-linux-x64-musl': 1.72.0
18755 '@oxlint/binding-openharmony-arm64': 1.72.0
18756 '@oxlint/binding-win32-arm64-msvc': 1.72.0
18757 '@oxlint/binding-win32-ia32-msvc': 1.72.0
18758 '@oxlint/binding-win32-x64-msvc': 1.72.0
18759 oxlint-tsgolint: 0.24.0
18760 vite-plus: 0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
18955 '@oxlint/binding-android-arm-eabi': 1.79.0
18956 '@oxlint/binding-android-arm64': 1.79.0
18957 '@oxlint/binding-darwin-arm64': 1.79.0
18958 '@oxlint/binding-darwin-x64': 1.79.0
18959 '@oxlint/binding-freebsd-x64': 1.79.0
18960 '@oxlint/binding-linux-arm-gnueabihf': 1.79.0
18961 '@oxlint/binding-linux-arm-musleabihf': 1.79.0
18962 '@oxlint/binding-linux-arm64-gnu': 1.79.0
18963 '@oxlint/binding-linux-arm64-musl': 1.79.0
18964 '@oxlint/binding-linux-ppc64-gnu': 1.79.0
18965 '@oxlint/binding-linux-riscv64-gnu': 1.79.0
18966 '@oxlint/binding-linux-riscv64-musl': 1.79.0
18967 '@oxlint/binding-linux-s390x-gnu': 1.79.0
18968 '@oxlint/binding-linux-x64-gnu': 1.79.0
18969 '@oxlint/binding-linux-x64-musl': 1.79.0
18970 '@oxlint/binding-openharmony-arm64': 1.79.0
18971 '@oxlint/binding-win32-arm64-msvc': 1.79.0
18972 '@oxlint/binding-win32-ia32-msvc': 1.79.0
18973 '@oxlint/binding-win32-x64-msvc': 1.79.0
18974 oxlint-tsgolint: 7.0.2001
18975 vite-plus: 0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0)
1876118976
1876218977 p-cancelable@2.1.1: {}
1876318978
......@@ -20560,34 +20775,34 @@ snapshots:
2056020775 '@types/unist': 3.0.3
2056120776 vfile-message: 4.0.3
2056220777
20563 vite-plus@0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0):
20564 dependencies:
20565 '@oxc-project/types': 0.138.0
20566 '@oxlint/plugins': 1.68.0
20567 '@vitest/browser': 4.1.9(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(bufferutil@4.1.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(utf-8-validate@6.0.6)(vitest@4.1.9)
20568 '@vitest/browser-preview': 4.1.9(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(bufferutil@4.1.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(utf-8-validate@6.0.6)(vitest@4.1.9)
20569 '@vitest/expect': 4.1.9
20570 '@vitest/mocker': 4.1.9(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))
20571 '@vitest/pretty-format': 4.1.9
20572 '@vitest/runner': 4.1.9
20573 '@vitest/snapshot': 4.1.9
20574 '@vitest/spy': 4.1.9
20575 '@vitest/utils': 4.1.9
20576 '@voidzero-dev/vite-plus-core': 0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)
20577 oxfmt: 0.57.0(vite-plus@0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0))
20578 oxlint: 1.72.0(oxlint-tsgolint@0.24.0)(vite-plus@0.2.2(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0))
20579 oxlint-tsgolint: 0.24.0
20580 vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
20581 vitest: 4.1.9(@types/node@24.12.4)(@vitest/browser-preview@4.1.9)(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))
20778 vite-plus@0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0):
20779 dependencies:
20780 '@oxc-project/types': 0.146.0
20781 '@oxlint/plugins': 1.79.0
20782 '@vitest/browser': 4.1.11(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(bufferutil@4.1.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(utf-8-validate@6.0.6)(vitest@4.1.11)
20783 '@vitest/browser-preview': 4.1.11(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(bufferutil@4.1.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(utf-8-validate@6.0.6)(vitest@4.1.11)
20784 '@vitest/expect': 4.1.11
20785 '@vitest/mocker': 4.1.11(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))
20786 '@vitest/pretty-format': 4.1.11
20787 '@vitest/runner': 4.1.11
20788 '@vitest/snapshot': 4.1.11
20789 '@vitest/spy': 4.1.11
20790 '@vitest/utils': 4.1.11
20791 '@voidzero-dev/vite-plus-core': 0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)
20792 oxfmt: 0.64.0(vite-plus@0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0))
20793 oxlint: 1.79.0(oxlint-tsgolint@7.0.2001)(vite-plus@0.3.0(@types/node@24.12.4)(bufferutil@4.1.0)(esbuild@0.28.1)(jiti@2.7.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(utf-8-validate@6.0.6)(yaml@2.9.0))
20794 oxlint-tsgolint: 7.0.2001
20795 vite: '@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
20796 vitest: 4.1.11(@types/node@24.12.4)(@vitest/browser-preview@4.1.11)(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))
2058220797 optionalDependencies:
20583 '@voidzero-dev/vite-plus-darwin-arm64': 0.2.2
20584 '@voidzero-dev/vite-plus-darwin-x64': 0.2.2
20585 '@voidzero-dev/vite-plus-linux-arm64-gnu': 0.2.2
20586 '@voidzero-dev/vite-plus-linux-arm64-musl': 0.2.2
20587 '@voidzero-dev/vite-plus-linux-x64-gnu': 0.2.2
20588 '@voidzero-dev/vite-plus-linux-x64-musl': 0.2.2
20589 '@voidzero-dev/vite-plus-win32-arm64-msvc': 0.2.2
20590 '@voidzero-dev/vite-plus-win32-x64-msvc': 0.2.2
20798 '@voidzero-dev/vite-plus-darwin-arm64': 0.3.0
20799 '@voidzero-dev/vite-plus-darwin-x64': 0.3.0
20800 '@voidzero-dev/vite-plus-linux-arm64-gnu': 0.3.0
20801 '@voidzero-dev/vite-plus-linux-arm64-musl': 0.3.0
20802 '@voidzero-dev/vite-plus-linux-x64-gnu': 0.3.0
20803 '@voidzero-dev/vite-plus-linux-x64-musl': 0.3.0
20804 '@voidzero-dev/vite-plus-win32-arm64-msvc': 0.3.0
20805 '@voidzero-dev/vite-plus-win32-x64-msvc': 0.3.0
2059120806 transitivePeerDependencies:
2059220807 - '@arethetypeswrong/core'
2059320808 - '@edge-runtime/vm'
......@@ -20618,19 +20833,19 @@ snapshots:
2061820833 - utf-8-validate
2061920834 - yaml
2062020835
20621 vitefu@1.1.3(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)):
20836 vitefu@1.1.3(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)):
2062220837 optionalDependencies:
20623 vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
20838 vite: '@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
2062420839
20625 vitest@4.1.9(@types/node@24.12.4)(@vitest/browser-preview@4.1.9)(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3)):
20840 vitest@4.1.11(@types/node@24.12.4)(@vitest/browser-preview@4.1.11)(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3)):
2062620841 dependencies:
20627 '@vitest/expect': 4.1.9
20628 '@vitest/mocker': 4.1.9(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))
20629 '@vitest/pretty-format': 4.1.9
20630 '@vitest/runner': 4.1.9
20631 '@vitest/snapshot': 4.1.9
20632 '@vitest/spy': 4.1.9
20633 '@vitest/utils': 4.1.9
20842 '@vitest/expect': 4.1.11
20843 '@vitest/mocker': 4.1.11(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))
20844 '@vitest/pretty-format': 4.1.11
20845 '@vitest/runner': 4.1.11
20846 '@vitest/snapshot': 4.1.11
20847 '@vitest/spy': 4.1.11
20848 '@vitest/utils': 4.1.11
2063420849 es-module-lexer: 2.1.0
2063520850 expect-type: 1.4.0
2063620851 magic-string: 0.30.21
......@@ -20642,11 +20857,11 @@ snapshots:
2064220857 tinyexec: 1.2.4
2064320858 tinyglobby: 0.2.17
2064420859 tinyrainbow: 3.1.0
20645 vite: '@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
20860 vite: '@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0)'
2064620861 why-is-node-running: 2.3.0
2064720862 optionalDependencies:
2064820863 '@types/node': 24.12.4
20649 '@vitest/browser-preview': 4.1.9(@voidzero-dev/vite-plus-core@0.2.2(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(bufferutil@4.1.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(utf-8-validate@6.0.6)(vitest@4.1.9)
20864 '@vitest/browser-preview': 4.1.11(@voidzero-dev/vite-plus-core@0.3.0(@types/node@24.12.4)(esbuild@0.28.1)(jiti@2.7.0)(terser@5.48.0)(typescript@6.0.3)(unrun@0.2.39)(yaml@2.9.0))(bufferutil@4.1.0)(msw@2.12.11(@types/node@24.12.4)(typescript@6.0.3))(utf-8-validate@6.0.6)(vitest@4.1.11)
2065020865 transitivePeerDependencies:
2065120866 - msw
2065220867
......@@ -20924,6 +21139,38 @@ snapshots:
2092421139
2092521140 yoga-layout@3.2.1: {}
2092621141
21142 yuku-codegen@0.5.48:
21143 dependencies:
21144 '@yuku-toolchain/types': 0.5.43
21145 optionalDependencies:
21146 '@yuku-codegen/binding-darwin-arm64': 0.5.48
21147 '@yuku-codegen/binding-darwin-x64': 0.5.48
21148 '@yuku-codegen/binding-freebsd-x64': 0.5.48
21149 '@yuku-codegen/binding-linux-arm-gnu': 0.5.48
21150 '@yuku-codegen/binding-linux-arm-musl': 0.5.48
21151 '@yuku-codegen/binding-linux-arm64-gnu': 0.5.48
21152 '@yuku-codegen/binding-linux-arm64-musl': 0.5.48
21153 '@yuku-codegen/binding-linux-x64-gnu': 0.5.48
21154 '@yuku-codegen/binding-linux-x64-musl': 0.5.48
21155 '@yuku-codegen/binding-win32-arm64': 0.5.48
21156 '@yuku-codegen/binding-win32-x64': 0.5.48
21157
21158 yuku-parser@0.5.48:
21159 dependencies:
21160 '@yuku-toolchain/types': 0.5.43
21161 optionalDependencies:
21162 '@yuku-parser/binding-darwin-arm64': 0.5.48
21163 '@yuku-parser/binding-darwin-x64': 0.5.48
21164 '@yuku-parser/binding-freebsd-x64': 0.5.48
21165 '@yuku-parser/binding-linux-arm-gnu': 0.5.48
21166 '@yuku-parser/binding-linux-arm-musl': 0.5.48
21167 '@yuku-parser/binding-linux-arm64-gnu': 0.5.48
21168 '@yuku-parser/binding-linux-arm64-musl': 0.5.48
21169 '@yuku-parser/binding-linux-x64-gnu': 0.5.48
21170 '@yuku-parser/binding-linux-x64-musl': 0.5.48
21171 '@yuku-parser/binding-win32-arm64': 0.5.48
21172 '@yuku-parser/binding-win32-x64': 0.5.48
21173
2092721174 zod-to-json-schema@3.25.2(zod@4.4.3):
2092821175 dependencies:
2092921176 zod: 4.4.3
pnpm-workspace.yaml+2-2
......@@ -53,8 +53,8 @@ catalog:
5353 lightningcss: 1.33.0
5454 tailwindcss: 4.3.3
5555 typescript: ~6.0.3
56 vite: npm:@voidzero-dev/vite-plus-core@0.2.2
57 vite-plus: 0.2.2
56 vite: npm:@voidzero-dev/vite-plus-core@0.3.0
57 vite-plus: 0.3.0
5858 yaml: ^2.9.0
5959
6060minimumReleaseAgeExclude: