History

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

Julius Marminge committed 2 months ago

Commit f5fbb1b1 parent 3b2de9d31 files · +1137 −974Browse files

Unified · Split

31 files
  1. apps/desktop/src/backend/DesktopBackendManager.ts +7 −9
  2. apps/mobile/src/features/shortcuts/appShortcuts.ts +9 −11
  3. apps/mobile/src/features/terminal/ThreadTerminalRouteScreen.tsx +8 −10
  4. apps/mobile/src/features/threads/threadListV2.ts +15 −19
  5. apps/mobile/src/persistence/mobile-database.ts +7 −8
  6. apps/server/src/auth/EnvironmentAuth.ts +4 −6
  7. apps/server/src/cloud/CliTokenManager.ts +4 −3
  8. apps/server/src/diagnostics/ProcessDiagnostics.ts +13 −15
  9. apps/server/src/mcp/McpHttpServer.ts +23 −24
  10. apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts +51 −59
  11. apps/server/src/preview/Manager.ts +7 −9
  12. apps/server/src/processRunner.ts +5 −7
  13. apps/server/src/provider/Layers/ClaudeAdapter.ts +4 −3
  14. apps/server/src/provider/Layers/CodexAdapter.test.ts +12 −14
  15. apps/server/src/provider/Layers/ProviderService.test.ts +12 −15
  16. apps/server/src/provider/providerMaintenanceRunner.ts +4 −6
  17. apps/server/src/pullRequest/AzureDevOpsPullRequestProvider.ts +22 −26
  18. apps/server/src/pullRequest/BitbucketPullRequestProvider.ts +9 −11
  19. apps/server/src/pullRequest/GitHubPullRequestProvider.ts +77 −85
  20. apps/server/src/pullRequest/GitLabPullRequestProvider.ts +33 −37
  21. apps/server/src/pullRequest/PullRequestService.ts +98 −107
  22. apps/server/src/pullRequest/gitHubPullRequestJson.ts +21 −25
  23. apps/server/src/resourceTelemetry/DesktopTelemetryReceiver.ts +15 −21
  24. apps/server/src/resourceTelemetry/ResourceTelemetry.ts +4 −6
  25. apps/web/src/lib/attachmentUploadQueue.ts +1 −1
  26. packages/client-runtime/src/connection/supervisor.ts +24 −36
  27. packages/client-runtime/src/rpc/session.test.ts +5 −8
  28. packages/effect-codex-app-server/src/_generated/schema.gen.ts +24 −21
  29. packages/shared/src/qrCode.ts +1 −1
  30. pnpm-lock.yaml +616 −369
  31. pnpm-workspace.yaml +2 −2
apps/desktop/src/backend/DesktopBackendManager.ts+7−9
@@ -663,15 +663,13 @@ export const makeBackendInstance = Effect.fn("makeBackendInstance")(function* ( · 662 unmodified lines
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 · 121 unmodified lines
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) · 947 unmodified lines
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: { · 254 unmodified lines
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* () { · 364 unmodified lines
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* () { · 922 unmodified lines
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( · 88 unmodified lines
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* () { · 60 unmodified lines
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 = ( · 63 unmodified lines
6464 };
6565
6666 const 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 ( · 2390 unmodified lines
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 ( · 37 unmodified lines
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 ( · 4 unmodified lines
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 ( · 118 unmodified lines
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() { · 432 unmodified lines
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: { · 238 unmodified lines
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( · 185 unmodified lines
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 { · 83 unmodified lines
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) { · 187 unmodified lines
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) { · 27 unmodified lines
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* () { · 262 unmodified lines
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* () { · 156 unmodified lines
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* () { · 7 unmodified lines
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* () { · 202 unmodified lines
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( · 143 unmodified lines
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* () { · 205 unmodified lines
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* () { · 25 unmodified lines
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* () { · 146 unmodified lines
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* () { · 18 unmodified lines
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* () { · 1034 unmodified lines
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* () { · 174 unmodified lines
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* () { · 15 unmodified lines
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* () { · 10 unmodified lines
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* () { · 558 unmodified lines
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: { · 1338 unmodified lines
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( · 386 unmodified lines
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") · 517 unmodified lines
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") · 18 unmodified lines
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 · 490 unmodified lines
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> { · 332 unmodified lines
333333 }
334334
335335 function 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* ( · 316 unmodified lines
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* ( · 29 unmodified lines
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* ( · 144 unmodified lines
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* ( · 68 unmodified lines
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", () => { · 606 unmodified lines
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"; · 3830 unmodified lines
38313831 export const V2ConfigWriteResponse__WriteStatus = Schema.Literals(["ok", "okOverridden"]);
38323832
38333833 export type V2ConsumeAccountRateLimitResetCreditResponse__ConsumeAccountRateLimitResetCreditOutcome =
3834− "reset" | "nothingToReset" | "noCredit" | "alreadyRedeemed";
3834+ | "reset"
3835+ | "nothingToReset"
3836+ | "noCredit"
3837+ | "alreadyRedeemed";
38353838 export const V2ConsumeAccountRateLimitResetCreditResponse__ConsumeAccountRateLimitResetCreditOutcome =
38363839 Schema.Literals(["reset", "nothingToReset", "noCredit", "alreadyRedeemed"]);
38373840
@@ -3960,16 +3963,16 @@ export const V2ExternalAgentConfigDetectResponse__SubagentMigration = Schema.Str · 122 unmodified lines
39603963 });
39613964
39623965 export 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";
39733976 export const V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConfigMigrationItemType =
39743977 Schema.Literals([
39753978 "AGENTS_MD",
@@ -3985,16 +3988,16 @@ export const V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConf · 9 unmodified lines
39853988 ]);
39863989
39873990 export 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";
39984001 export const V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigMigrationItemType =
39994002 Schema.Literals([
40004003 "AGENTS_MD",
packages/shared/src/qrCode.ts+1−1
@@ -778,7 +778,7 @@ export class QrSegment { · 777 unmodified lines
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: · 33 unmodified lines
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
4040 overrides:
4141 '@anthropic-ai/claude-agent-sdk>@anthropic-ai/claude-agent-sdk-darwin-arm64': '-'
@@ -81,7 +81,7 @@ overrides: · 39 unmodified lines
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
8787 packageExtensionsChecksum: sha256-k/dT9NFDl5hihRPaoFKeY11hzyutMFs5psfZLFiKJic=
@@ -126,7 +126,7 @@ importers: · 38 unmodified lines
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: · 60 unmodified lines
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: · 335 unmodified lines
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: · 117 unmodified lines
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: · 14 unmodified lines
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: · 4 unmodified lines
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: · 20 unmodified lines
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: · 17 unmodified lines
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: · 12 unmodified lines
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: · 30 unmodified lines
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: · 6 unmodified lines
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: · 15 unmodified lines
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: · 15 unmodified lines
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: · 27 unmodified lines
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: · 18 unmodified lines
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: · 12 unmodified lines
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: · 27 unmodified lines
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
986986 packages:
987987
@@ -3289,289 +3289,289 @@ packages: · 2301 unmodified lines
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: · 2 unmodified lines
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: · 1273 unmodified lines
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: · 3 unmodified lines
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: · 4 unmodified lines
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: · 33 unmodified lines
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: · 34 unmodified lines
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: · 3218 unmodified lines
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: · 5 unmodified lines
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: · 1585 unmodified lines
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: · 8 unmodified lines
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: · 311 unmodified lines
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: · 1181 unmodified lines
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: · 7 unmodified lines
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: · 1695 unmodified lines
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: · 552 unmodified lines
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: · 1 unmodified line
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: · 304 unmodified lines
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: · 56 unmodified lines
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: · 10 unmodified lines
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: · 267 unmodified lines
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: · 1 unmodified line
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: · 2 unmodified lines
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: · 50 unmodified lines
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: · 96 unmodified lines
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: · 1 unmodified line
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: · 29 unmodified lines
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: · 181 unmodified lines
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: · 3656 unmodified lines
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: · 1796 unmodified lines
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: · 24 unmodified lines
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: · 5 unmodified lines
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: · 271 unmodified lines
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: · 52 unmodified lines
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
6060 minimumReleaseAgeExclude:

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t