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

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

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

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

apps/desktop/src/backend/DesktopBackendManager.ts+7-9
...@@ -663,15 +663,13 @@ export const makeBackendInstance = Effect.fn("makeBackendInstance")(function* (...@@ -663,15 +663,13 @@ export const makeBackendInstance = Effect.fn("makeBackendInstance")(function* (
663 Ref.update(state, withActiveRun(runId, f));663 Ref.update(state, withActiveRun(runId, f));
664664
665 const snapshot = Ref.get(state).pipe(665 const snapshot = Ref.get(state).pipe(
666 Effect.map(666 Effect.map((current): DesktopBackendSnapshot => ({
667 (current): DesktopBackendSnapshot => ({667 desiredRunning: current.desiredRunning,
668 desiredRunning: current.desiredRunning,668 ready: current.ready,
669 ready: current.ready,669 activePid: activePid(current.active),
670 activePid: activePid(current.active),670 restartAttempt: current.restartAttempt,
671 restartAttempt: current.restartAttempt,671 restartScheduled: Option.isSome(current.restartFiber),
672 restartScheduled: Option.isSome(current.restartFiber),672 })),
673 }),
674 ),
675 );673 );
676 const currentConfig = Ref.get(state).pipe(Effect.map((current) => current.config));674 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...@@ -122,16 +122,14 @@ export function buildShortcutActions(recents: ReadonlyArray<RecentThreadShortcut
122 icon: SHORTCUT_ICON,122 icon: SHORTCUT_ICON,
123 params: { href: NEW_TASK_SHORTCUT_HREF },123 params: { href: NEW_TASK_SHORTCUT_HREF },
124 },124 },
125 ...recents.slice(0, MAX_RECENT_THREAD_SHORTCUTS).map(125 ...recents.slice(0, MAX_RECENT_THREAD_SHORTCUTS).map((thread): Action => ({
126 (thread): Action => ({126 // The encoded href doubles as the launcher id: URI-encoding makes the
127 // The encoded href doubles as the launcher id: URI-encoding makes the127 // env/thread join unambiguous (a plain `-` join lets different pairs
128 // env/thread join unambiguous (a plain `-` join lets different pairs128 // collide and overwrite each other's launcher slots).
129 // collide and overwrite each other's launcher slots).129 id: `thread:${threadShortcutHref(thread)}`,
130 id: `thread:${threadShortcutHref(thread)}`,130 title: threadShortcutLabel(thread),
131 title: threadShortcutLabel(thread),131 icon: SHORTCUT_ICON,
132 icon: SHORTCUT_ICON,132 params: { href: threadShortcutHref(thread) },
133 params: { href: threadShortcutHref(thread) },133 })),
134 }),
135 ),
136 ];134 ];
137}135}
apps/mobile/src/features/terminal/ThreadTerminalRouteScreen.tsx+8-10
...@@ -948,16 +948,14 @@ export function ThreadTerminalRouteScreen(props: ThreadTerminalRouteScreenProps)...@@ -948,16 +948,14 @@ export function ThreadTerminalRouteScreen(props: ThreadTerminalRouteScreenProps)
948 },948 },
949 ],949 ],
950 },950 },
951 ...terminalMenuSessions.map(951 ...terminalMenuSessions.map((session): MenuAction => ({
952 (session): MenuAction => ({952 id: `terminal-session:${session.terminalId}`,
953 id: `terminal-session:${session.terminalId}`,953 title: session.displayLabel,
954 title: session.displayLabel,954 subtitle: [getTerminalStatusLabel({ status: session.status }), basename(session.cwd)]
955 subtitle: [getTerminalStatusLabel({ status: session.status }), basename(session.cwd)]955 .filter(Boolean)
956 .filter(Boolean)956 .join(" · "),
957 .join(" · "),957 state: session.terminalId === terminalId ? ("on" as const) : undefined,
958 state: session.terminalId === terminalId ? ("on" as const) : undefined,958 })),
959 }),
960 ),
961 {959 {
962 id: "terminal-new",960 id: "terminal-new",
963 title: "Open new terminal",961 title: "Open new terminal",
apps/mobile/src/features/threads/threadListV2.ts+15-19
...@@ -255,25 +255,21 @@ export function buildThreadListV2ListItems(input: {...@@ -255,25 +255,21 @@ export function buildThreadListV2ListItems(input: {
255 readonly settledShelfHeaderIndex?: number | null;255 readonly settledShelfHeaderIndex?: number | null;
256 readonly snoozeLabelNow?: string;256 readonly snoozeLabelNow?: string;
257}): ThreadListV2ListItem[] {257}): ThreadListV2ListItem[] {
258 const threadItems = input.items.map(258 const threadItems = input.items.map((item): ThreadListV2ListItem => ({
259 (item): ThreadListV2ListItem => ({259 type: "v2-thread",
260 type: "v2-thread",260 key: `v2-thread:${item.thread.environmentId}:${item.thread.id}`,
261 key: `v2-thread:${item.thread.environmentId}:${item.thread.id}`,261 item,
262 item,262 snoozeWakeLabelText:
263 snoozeWakeLabelText:263 item.snoozed && item.thread.snoozedUntil != null && input.snoozeLabelNow !== undefined
264 item.snoozed && item.thread.snoozedUntil != null && input.snoozeLabelNow !== undefined264 ? snoozeWakeLabel(item.thread.snoozedUntil, { now: input.snoozeLabelNow })
265 ? snoozeWakeLabel(item.thread.snoozedUntil, { now: input.snoozeLabelNow })265 : undefined,
266 : undefined,266 }));
267 }),267 const pendingItems = input.pendingTasks.map((pendingTask, index): ThreadListV2ListItem => ({
268 );268 type: "v2-pending",
269 const pendingItems = input.pendingTasks.map(269 key: `v2-pending:${pendingTask.message.messageId}`,
270 (pendingTask, index): ThreadListV2ListItem => ({270 pendingTask,
271 type: "v2-pending",271 showPendingDivider: index === 0,
272 key: `v2-pending:${pendingTask.message.messageId}`,272 }));
273 pendingTask,
274 showPendingDivider: index === 0,
275 }),
276 );
277 const snoozedCount = input.snoozedCount ?? 0;273 const snoozedCount = input.snoozedCount ?? 0;
278 const snoozedShelfHeaderIndex = input.snoozedShelfHeaderIndex ?? null;274 const snoozedShelfHeaderIndex = input.snoozedShelfHeaderIndex ?? null;
279 const settledCount = input.settledCount ?? 0;275 const settledCount = input.settledCount ?? 0;
apps/mobile/src/persistence/mobile-database.ts+7-8
...@@ -365,14 +365,13 @@ const makeAvailable = Effect.gen(function* () {...@@ -365,14 +365,13 @@ const makeAvailable = Effect.gen(function* () {
365 }).pipe(365 }).pipe(
366 Effect.flatMap(Schema.decodeUnknownEffect(ClientCacheSummaryRows)),366 Effect.flatMap(Schema.decodeUnknownEffect(ClientCacheSummaryRows)),
367 Effect.mapError(databaseError("inspect-caches")),367 Effect.mapError(databaseError("inspect-caches")),
368 Effect.map(368 Effect.map((rows): ReadonlyArray<ClientCacheSummaryRow> =>
369 (rows): ReadonlyArray<ClientCacheSummaryRow> =>369 rows.map((row) => ({
370 rows.map((row) => ({370 environmentId: row.environmentId as EnvironmentId,
371 environmentId: row.environmentId as EnvironmentId,371 kind: row.kind,
372 kind: row.kind,372 recordCount: row.recordCount,
373 recordCount: row.recordCount,373 payloadBytes: row.payloadBytes,
374 payloadBytes: row.payloadBytes,374 })),
375 })),
376 ),375 ),
377 ),376 ),
378 loadPreferencesJson: Effect.tryPromise({377 loadPreferencesJson: Effect.tryPromise({
apps/server/src/auth/EnvironmentAuth.ts+4-6
...@@ -923,12 +923,10 @@ export const make = Effect.gen(function* () {...@@ -923,12 +923,10 @@ export const make = Effect.gen(function* () {
923 const listClientSessions: EnvironmentAuth["Service"]["listClientSessions"] = (currentSessionId) =>923 const listClientSessions: EnvironmentAuth["Service"]["listClientSessions"] = (currentSessionId) =>
924 listSessions().pipe(924 listSessions().pipe(
925 Effect.map((clientSessions) =>925 Effect.map((clientSessions) =>
926 clientSessions.map(926 clientSessions.map((clientSession): AuthClientSession => ({
927 (clientSession): AuthClientSession => ({927 ...clientSession,
928 ...clientSession,928 current: clientSession.sessionId === currentSessionId,
929 current: clientSession.sessionId === currentSessionId,929 })),
930 }),
931 ),
932 ),930 ),
933 Effect.withSpan("EnvironmentAuth.listClientSessions"),931 Effect.withSpan("EnvironmentAuth.listClientSessions"),
934 );932 );
apps/server/src/cloud/CliTokenManager.ts+4-3
...@@ -89,9 +89,10 @@ export const waitForLoopbackAuthorization = Effect.fn(...@@ -89,9 +89,10 @@ export const waitForLoopbackAuthorization = Effect.fn(
89 while (true) {89 while (true) {
90 const result = yield* Effect.raceFirst(90 const result = yield* Effect.raceFirst(
91 input.callback.pipe(91 input.callback.pipe(
92 Effect.map(92 Effect.map((code): LoopbackAuthorizationResult => ({
93 (code): LoopbackAuthorizationResult => ({ _tag: "AuthorizationCode", code }),93 _tag: "AuthorizationCode",
94 ),94 code,
95 })),
95 ),96 ),
96 readLoopbackAuthorizationAction(terminalInput),97 readLoopbackAuthorizationAction(terminalInput),
97 );98 );
apps/server/src/diagnostics/ProcessDiagnostics.ts+13-15
...@@ -61,21 +61,19 @@ export const make = Effect.fn("makeProcessDiagnostics")(function* () {...@@ -61,21 +61,19 @@ export const make = Effect.fn("makeProcessDiagnostics")(function* () {
61 Effect.map((snapshot) => {61 Effect.map((snapshot) => {
62 const processes = snapshot.processes62 const processes = snapshot.processes
63 .filter((entry) => canSignalCategory(entry.category))63 .filter((entry) => canSignalCategory(entry.category))
64 .map(64 .map((entry): ServerProcessDiagnosticsEntry => ({
65 (entry): ServerProcessDiagnosticsEntry => ({65 pid: entry.identity.pid,
66 pid: entry.identity.pid,66 startTimeMs: entry.identity.startTimeMs,
67 startTimeMs: entry.identity.startTimeMs,67 ppid: entry.ppid,
68 ppid: entry.ppid,68 pgid: Option.none(),
69 pgid: Option.none(),69 status: entry.status || "Unknown",
70 status: entry.status || "Unknown",70 cpuPercent: entry.cpuPercent,
71 cpuPercent: entry.cpuPercent,71 rssBytes: entry.residentBytes,
72 rssBytes: entry.residentBytes,72 elapsed: formatElapsed(entry.runTimeMs),
73 elapsed: formatElapsed(entry.runTimeMs),73 command: entry.command || entry.name || "unknown",
74 command: entry.command || entry.name || "unknown",74 depth: Math.max(0, entry.depth - 1),
75 depth: Math.max(0, entry.depth - 1),75 childPids: entry.childPids,
76 childPids: entry.childPids,76 }));
77 }),
78 );
79 return {77 return {
80 serverPid: process.pid,78 serverPid: process.pid,
81 readAt: snapshot.readAt,79 readAt: snapshot.readAt,
apps/server/src/mcp/McpHttpServer.ts+23-24
...@@ -64,30 +64,29 @@ export const normalizeMcpHttpResponse = (...@@ -64,30 +64,29 @@ export const normalizeMcpHttpResponse = (
64};64};
6565
66const makeMcpAuthMiddleware = McpSessionRegistry.McpSessionRegistry.pipe(66const makeMcpAuthMiddleware = McpSessionRegistry.McpSessionRegistry.pipe(
67 Effect.map(67 Effect.map((registry): McpAuthMiddleware =>
68 (registry): McpAuthMiddleware =>68 Effect.fn("McpHttpServer.authenticateRequest")(function* (httpEffect) {
69 Effect.fn("McpHttpServer.authenticateRequest")(function* (httpEffect) {69 const request = yield* HttpServerRequest.HttpServerRequest;
70 const request = yield* HttpServerRequest.HttpServerRequest;70 const authorization = request.headers.authorization;
71 const authorization = request.headers.authorization;71 const token =
72 const token =72 authorization?.startsWith("Bearer ") === true
73 authorization?.startsWith("Bearer ") === true73 ? authorization.slice("Bearer ".length).trim()
74 ? authorization.slice("Bearer ".length).trim()74 : "";
75 : "";75 const invocation = yield* registry.resolve(token);
76 const invocation = yield* registry.resolve(token);76 if (!invocation) {
77 if (!invocation) {77 // Without this the only symptom of a dead credential is the agent
78 // Without this the only symptom of a dead credential is the agent78 // quietly losing the whole `t3-code` toolkit for the rest of its
79 // quietly losing the whole `t3-code` toolkit for the rest of its79 // session, with nothing on the server to explain why.
80 // session, with nothing on the server to explain why.80 yield* Effect.logWarning("rejected MCP request with an unusable credential", {
81 yield* Effect.logWarning("rejected MCP request with an unusable credential", {81 reason: token.length === 0 ? "missing_bearer_token" : "unknown_or_expired_token",
82 reason: token.length === 0 ? "missing_bearer_token" : "unknown_or_expired_token",82 });
83 });83 return unauthorized;
84 return unauthorized;84 }
85 }85 return yield* httpEffect.pipe(
86 return yield* httpEffect.pipe(86 Effect.provideService(McpInvocationContext.McpInvocationContext, invocation),
87 Effect.provideService(McpInvocationContext.McpInvocationContext, invocation),87 Effect.map(normalizeMcpHttpResponse),
88 Effect.map(normalizeMcpHttpResponse),88 );
89 );89 }),
90 }),
91 ),90 ),
92 Effect.withSpan("McpHttpServer.makeAuthMiddleware"),91 Effect.withSpan("McpHttpServer.makeAuthMiddleware"),
93);92);
apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts+51-59
...@@ -2391,42 +2391,40 @@ pending_approval_requests AS (...@@ -2391,42 +2391,40 @@ pending_approval_requests AS (
2391 )2391 )
2392 : Result.failVoid,2392 : Result.failVoid,
2393 ),2393 ),
2394 threads: threadRows.map(2394 threads: threadRows.map((row): OrchestrationThreadShell => ({
2395 (row): OrchestrationThreadShell => ({2395 id: row.threadId,
2396 id: row.threadId,2396 projectId: row.projectId,
2397 projectId: row.projectId,2397 title: row.title,
2398 title: row.title,2398 modelSelection: row.modelSelection,
2399 modelSelection: row.modelSelection,2399 runtimeMode: row.runtimeMode,
2400 runtimeMode: row.runtimeMode,2400 interactionMode: row.interactionMode,
2401 interactionMode: row.interactionMode,2401 branch: row.branch,
2402 branch: row.branch,2402 worktreePath: row.worktreePath,
2403 worktreePath: row.worktreePath,2403 ...(row.linkedPullRequest === null
2404 ...(row.linkedPullRequest === null2404 ? {}
2405 ? {}2405 : { linkedPullRequest: row.linkedPullRequest }),
2406 : { linkedPullRequest: row.linkedPullRequest }),2406 latestTurn: latestTurnByThread.get(row.threadId) ?? null,
2407 latestTurn: latestTurnByThread.get(row.threadId) ?? null,2407 createdAt: row.createdAt,
2408 createdAt: row.createdAt,2408 updatedAt: row.updatedAt,
2409 updatedAt: row.updatedAt,2409 archivedAt: row.archivedAt,
2410 archivedAt: row.archivedAt,2410 settledOverride: row.settledOverride,
2411 settledOverride: row.settledOverride,2411 settledAt: row.settledAt,
2412 settledAt: row.settledAt,2412 unsettledAt: row.unsettledAt,
2413 unsettledAt: row.unsettledAt,2413 snoozedUntil: row.snoozedUntil,
2414 snoozedUntil: row.snoozedUntil,2414 snoozedAt: row.snoozedAt,
2415 snoozedAt: row.snoozedAt,2415 pinnedAt: row.pinnedAt,
2416 pinnedAt: row.pinnedAt,2416 pinOrderKey: row.pinOrderKey ?? null,
2417 pinOrderKey: row.pinOrderKey ?? null,2417 titleRegeneration: mapTitleRegeneration(row),
2418 titleRegeneration: mapTitleRegeneration(row),2418 session: sessionByThread.get(row.threadId) ?? null,
2419 session: sessionByThread.get(row.threadId) ?? null,2419 latestUserMessageAt: row.latestUserMessageAt,
2420 latestUserMessageAt: row.latestUserMessageAt,2420 hasPendingApprovals: row.pendingApprovalCount > 0,
2421 hasPendingApprovals: row.pendingApprovalCount > 0,2421 hasPendingUserInput: row.pendingUserInputCount > 0,
2422 hasPendingUserInput: row.pendingUserInputCount > 0,2422 hasActionableProposedPlan: row.hasActionableProposedPlan > 0,
2423 hasActionableProposedPlan: row.hasActionableProposedPlan > 0,2423 backgroundLiveness: threadBackgroundLiveness.getThreadBackgroundLiveness(
2424 backgroundLiveness: threadBackgroundLiveness.getThreadBackgroundLiveness(2424 row.threadId,
2425 row.threadId,2425 ),
2426 ),2426 planProgress: threadPlanProgress.getThreadPlanProgress(row.threadId),
2427 planProgress: threadPlanProgress.getThreadPlanProgress(row.threadId),2427 })),
2428 }),
2429 ),
2430 updatedAt: updatedAt ?? "1970-01-01T00:00:00.000Z",2428 updatedAt: updatedAt ?? "1970-01-01T00:00:00.000Z",
2431 };2429 };
24322430
...@@ -2470,12 +2468,10 @@ pending_approval_requests AS (...@@ -2470,12 +2468,10 @@ pending_approval_requests AS (
2470 "ProjectionSnapshotQuery.getCounts:decodeRow",2468 "ProjectionSnapshotQuery.getCounts:decodeRow",
2471 ),2469 ),
2472 ),2470 ),
2473 Effect.map(2471 Effect.map((row): ProjectionSnapshotCounts => ({
2474 (row): ProjectionSnapshotCounts => ({2472 projectCount: row.projectCount,
2475 projectCount: row.projectCount,2473 threadCount: row.threadCount,
2476 threadCount: row.threadCount,2474 })),
2477 }),
2478 ),
2479 );2475 );
24802476
2481 const getEventReplayStats: ProjectionSnapshotQueryShape["getEventReplayStats"] = (input) =>2477 const getEventReplayStats: ProjectionSnapshotQueryShape["getEventReplayStats"] = (input) =>
...@@ -2486,12 +2482,10 @@ pending_approval_requests AS (...@@ -2486,12 +2482,10 @@ pending_approval_requests AS (
2486 "ProjectionSnapshotQuery.getEventReplayStats:decodeRow",2482 "ProjectionSnapshotQuery.getEventReplayStats:decodeRow",
2487 ),2483 ),
2488 ),2484 ),
2489 Effect.map(2485 Effect.map((row): ProjectionEventReplayStats => ({
2490 (row): ProjectionEventReplayStats => ({2486 eventCount: row.eventCount,
2491 eventCount: row.eventCount,2487 payloadBytes: row.payloadBytes,
2492 payloadBytes: row.payloadBytes,2488 })),
2493 }),
2494 ),
2495 );2489 );
24962490
2497 const searchThreads: ProjectionSnapshotQueryShape["searchThreads"] = Effect.fn(2491 const searchThreads: ProjectionSnapshotQueryShape["searchThreads"] = Effect.fn(
...@@ -2616,17 +2610,15 @@ pending_approval_requests AS (...@@ -2616,17 +2610,15 @@ pending_approval_requests AS (
2616 projectId: threadRow.value.projectId,2610 projectId: threadRow.value.projectId,
2617 workspaceRoot: threadRow.value.workspaceRoot,2611 workspaceRoot: threadRow.value.workspaceRoot,
2618 worktreePath: threadRow.value.worktreePath,2612 worktreePath: threadRow.value.worktreePath,
2619 checkpoints: checkpointRows.map(2613 checkpoints: checkpointRows.map((row): OrchestrationCheckpointSummary => ({
2620 (row): OrchestrationCheckpointSummary => ({2614 turnId: row.turnId,
2621 turnId: row.turnId,2615 checkpointTurnCount: row.checkpointTurnCount,
2622 checkpointTurnCount: row.checkpointTurnCount,2616 checkpointRef: row.checkpointRef,
2623 checkpointRef: row.checkpointRef,2617 status: row.status,
2624 status: row.status,2618 files: row.files,
2625 files: row.files,2619 assistantMessageId: row.assistantMessageId,
2626 assistantMessageId: row.assistantMessageId,2620 completedAt: row.completedAt,
2627 completedAt: row.completedAt,2621 })),
2628 }),
2629 ),
2630 });2622 });
2631 });2623 });
26322624
apps/server/src/preview/Manager.ts+7-9
...@@ -433,15 +433,13 @@ export const make = Effect.gen(function* PreviewManagerMake() {...@@ -433,15 +433,13 @@ export const make = Effect.gen(function* PreviewManagerMake() {
433 const list: PreviewManager["Service"]["list"] = Effect.fn("PreviewManager.list")(433 const list: PreviewManager["Service"]["list"] = Effect.fn("PreviewManager.list")(
434 function* (input) {434 function* (input) {
435 return yield* SynchronizedRef.get(stateRef).pipe(435 return yield* SynchronizedRef.get(stateRef).pipe(
436 Effect.map(436 Effect.map((state): PreviewListResult => ({
437 (state): PreviewListResult => ({437 sessions: sessionsForThread(state, input.threadId)
438 sessions: sessionsForThread(state, input.threadId)438 .map((s) => s.snapshot)
439 .map((s) => s.snapshot)439 .toSorted((a, b) => a.updatedAt.localeCompare(b.updatedAt)),
440 .toSorted((a, b) => a.updatedAt.localeCompare(b.updatedAt)),440 serverEpoch,
441 serverEpoch,441 revision: state.revision,
442 revision: state.revision,442 })),
443 }),
444 ),
445 );443 );
446 },444 },
447 );445 );
apps/server/src/processRunner.ts+5-7
...@@ -239,13 +239,11 @@ const collectText = Effect.fn("processRunner.collectText")(function* (input: {...@@ -239,13 +239,11 @@ const collectText = Effect.fn("processRunner.collectText")(function* (input: {
239 });239 });
240 },240 },
241 ),241 ),
242 Effect.map(242 Effect.map((state): CollectedUint8StreamText => ({
243 (state): CollectedUint8StreamText => ({243 ...decodeUtf8(Buffer.concat(state.chunks, state.bytes)),
244 ...decodeUtf8(Buffer.concat(state.chunks, state.bytes)),244 bytes: state.bytes,
245 bytes: state.bytes,245 truncated: false,
246 truncated: false,246 })),
247 }),
248 ),
249 );247 );
250});248});
251249
apps/server/src/provider/Layers/ClaudeAdapter.ts+4-3
...@@ -186,9 +186,10 @@ function toSessionPermissionUpdates(...@@ -186,9 +186,10 @@ function toSessionPermissionUpdates(
186 toolName: string,186 toolName: string,
187 suggestions: ReadonlyArray<PermissionUpdate> | undefined,187 suggestions: ReadonlyArray<PermissionUpdate> | undefined,
188): Array<PermissionUpdate> {188): Array<PermissionUpdate> {
189 const sessionScoped = (suggestions ?? []).map(189 const sessionScoped = (suggestions ?? []).map((suggestion): PermissionUpdate => ({
190 (suggestion): PermissionUpdate => ({ ...suggestion, destination: "session" }),190 ...suggestion,
191 );191 destination: "session",
192 }));
192 if (sessionScoped.length > 0) {193 if (sessionScoped.length > 0) {
193 return sessionScoped;194 return sessionScoped;
194 }195 }
apps/server/src/provider/Layers/CodexAdapter.test.ts+12-14
...@@ -84,24 +84,22 @@ class FakeCodexRuntime implements CodexSessionRuntimeShape {...@@ -84,24 +84,22 @@ class FakeCodexRuntime implements CodexSessionRuntimeShape {
84 }),84 }),
85 );85 );
8686
87 public readonly interruptTurnImpl = vi.fn(87 public readonly interruptTurnImpl = vi.fn((_turnId?: TurnId): Promise<void> =>
88 (_turnId?: TurnId): Promise<void> => Promise.resolve(undefined),88 Promise.resolve(undefined),
89 );89 );
9090
91 public readonly readThreadImpl = vi.fn(91 public readonly readThreadImpl = vi.fn((): Promise<CodexThreadSnapshot> =>
92 (): Promise<CodexThreadSnapshot> =>92 Promise.resolve({
93 Promise.resolve({93 threadId: "provider-thread-1",
94 threadId: "provider-thread-1",94 turns: [],
95 turns: [],95 }),
96 }),
97 );96 );
9897
99 public readonly rollbackThreadImpl = vi.fn(98 public readonly rollbackThreadImpl = vi.fn((_numTurns: number): Promise<CodexThreadSnapshot> =>
100 (_numTurns: number): Promise<CodexThreadSnapshot> =>99 Promise.resolve({
101 Promise.resolve({100 threadId: "provider-thread-1",
102 threadId: "provider-thread-1",101 turns: [],
103 turns: [],102 }),
104 }),
105 );103 );
106104
107 public readonly uploadFeedbackImpl = vi.fn((_reason?: string) =>105 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) {...@@ -188,20 +188,18 @@ function makeFakeCodexAdapter(provider: ProviderDriverKind = CODEX_DRIVER) {
188 ): Effect.Effect<void, ProviderAdapterError> => Effect.void,188 ): Effect.Effect<void, ProviderAdapterError> => Effect.void,
189 );189 );
190190
191 const stopSession = vi.fn(191 const stopSession = vi.fn((threadId: ThreadId): Effect.Effect<void, ProviderAdapterError> =>
192 (threadId: ThreadId): Effect.Effect<void, ProviderAdapterError> =>192 Effect.sync(() => {
193 Effect.sync(() => {193 sessions.delete(threadId);
194 sessions.delete(threadId);194 }),
195 }),
196 );195 );
197196
198 const listSessions = vi.fn(197 const listSessions = vi.fn((): Effect.Effect<ReadonlyArray<ProviderSession>> =>
199 (): Effect.Effect<ReadonlyArray<ProviderSession>> =>198 Effect.sync(() => Array.from(sessions.values())),
200 Effect.sync(() => Array.from(sessions.values())),
201 );199 );
202200
203 const hasSession = vi.fn(201 const hasSession = vi.fn((threadId: ThreadId): Effect.Effect<boolean> =>
204 (threadId: ThreadId): Effect.Effect<boolean> => Effect.succeed(sessions.has(threadId)),202 Effect.succeed(sessions.has(threadId)),
205 );203 );
206204
207 const readThread = vi.fn(205 const readThread = vi.fn(
...@@ -235,11 +233,10 @@ function makeFakeCodexAdapter(provider: ProviderDriverKind = CODEX_DRIVER) {...@@ -235,11 +233,10 @@ function makeFakeCodexAdapter(provider: ProviderDriverKind = CODEX_DRIVER) {
235 Effect.succeed({ feedbackId: `feedback-${input.threadId}` }),233 Effect.succeed({ feedbackId: `feedback-${input.threadId}` }),
236 );234 );
237235
238 const stopAll = vi.fn(236 const stopAll = vi.fn((): Effect.Effect<void, ProviderAdapterError> =>
239 (): Effect.Effect<void, ProviderAdapterError> =>237 Effect.sync(() => {
240 Effect.sync(() => {238 sessions.clear();
241 sessions.clear();239 }),
242 }),
243 );240 );
244241
245 const adapter: ProviderAdapterShape<ProviderAdapterError> = {242 const adapter: ProviderAdapterShape<ProviderAdapterError> = {
apps/server/src/provider/providerMaintenanceRunner.ts+4-6
...@@ -263,12 +263,10 @@ export const make = Effect.fn("ProviderMaintenanceRunner.make")(function* () {...@@ -263,12 +263,10 @@ export const make = Effect.fn("ProviderMaintenanceRunner.make")(function* () {
263 concurrency: "unbounded",263 concurrency: "unbounded",
264 },264 },
265 ).pipe(265 ).pipe(
266 Effect.map(266 Effect.map((verifiedProviders): VerifiedProviderRefresh => ({
267 (verifiedProviders): VerifiedProviderRefresh => ({267 providers,
268 providers,268 verifiedProviders,
269 verifiedProviders,269 })),
270 }),
271 ),
272 Effect.catchCause((cause) =>270 Effect.catchCause((cause) =>
273 Effect.logWarning("Provider post-update version verification failed", {271 Effect.logWarning("Provider post-update version verification failed", {
274 provider,272 provider,
apps/server/src/pullRequest/AzureDevOpsPullRequestProvider.ts+22-26
...@@ -157,23 +157,21 @@ export const make = Effect.gen(function* () {...@@ -157,23 +157,21 @@ export const make = Effect.gen(function* () {
157 getChangeRequest: (input) =>157 getChangeRequest: (input) =>
158 cli.getPullRequest({ cwd: input.cwd, number: input.number }).pipe(158 cli.getPullRequest({ cwd: input.cwd, number: input.number }).pipe(
159 Effect.mapError(fail("getChangeRequest")),159 Effect.mapError(fail("getChangeRequest")),
160 Effect.map(160 Effect.map((pullRequest): ProviderChangeRequestDetail => ({
161 (pullRequest): ProviderChangeRequestDetail => ({161 ...toChangeRequest(pullRequest),
162 ...toChangeRequest(pullRequest),162 body: pullRequest.body,
163 body: pullRequest.body,163 changedFiles: 0,
164 changedFiles: 0,164 mergedAt: pullRequest.state === "merged" ? pullRequest.closedAt : null,
165 mergedAt: pullRequest.state === "merged" ? pullRequest.closedAt : null,165 closedAt: pullRequest.state === "closed" ? pullRequest.closedAt : null,
166 closedAt: pullRequest.state === "closed" ? pullRequest.closedAt : null,166 reviewers: pullRequest.reviewers,
167 reviewers: pullRequest.reviewers,167 checks: [],
168 checks: [],168 mergeCapabilities: { merge: true, squash: true, rebase: false },
169 mergeCapabilities: { merge: true, squash: true, rebase: false },169 viewerPermissions: AZURE_DEVOPS_VIEWER_PERMISSIONS,
170 viewerPermissions: AZURE_DEVOPS_VIEWER_PERMISSIONS,170 autoMergeEnabled: pullRequest.autoMergeEnabled,
171 autoMergeEnabled: pullRequest.autoMergeEnabled,171 ...(pullRequest.autoMergeMethod === undefined
172 ...(pullRequest.autoMergeMethod === undefined172 ? {}
173 ? {}173 : { autoMergeMethod: pullRequest.autoMergeMethod }),
174 : { autoMergeMethod: pullRequest.autoMergeMethod }),174 })),
175 }),
176 ),
177 ),175 ),
178176
179 getChangeRequestActivity: (input) =>177 getChangeRequestActivity: (input) =>
...@@ -187,15 +185,13 @@ export const make = Effect.gen(function* () {...@@ -187,15 +185,13 @@ export const make = Effect.gen(function* () {
187 Effect.orElseSucceed(() => ({ comments: [], truncated: true })),185 Effect.orElseSucceed(() => ({ comments: [], truncated: true })),
188 )186 )
189 ).pipe(187 ).pipe(
190 Effect.map(188 Effect.map((conversation): ProviderChangeRequestActivity => ({
191 (conversation): ProviderChangeRequestActivity => ({189 comments: conversation.comments,
192 comments: conversation.comments,190 commentCount: conversation.comments.length,
193 commentCount: conversation.comments.length,191 commentsTruncated: conversation.truncated,
194 commentsTruncated: conversation.truncated,192 reviewThreads: [],
195 reviewThreads: [],193 commits: [],
196 commits: [],194 })),
197 }),
198 ),
199 ),195 ),
200 ),196 ),
201 ),197 ),
apps/server/src/pullRequest/BitbucketPullRequestProvider.ts+9-11
...@@ -203,17 +203,15 @@ export const make = Effect.gen(function* () {...@@ -203,17 +203,15 @@ export const make = Effect.gen(function* () {
203 { concurrency: 3 },203 { concurrency: 3 },
204 ).pipe(204 ).pipe(
205 Effect.mapError(fail("getChangeRequestActivity")),205 Effect.mapError(fail("getChangeRequestActivity")),
206 Effect.map(206 Effect.map(([pullRequest, comments, commits]): ProviderChangeRequestActivity => ({
207 ([pullRequest, comments, commits]): ProviderChangeRequestActivity => ({207 comments: [...comments.comments, ...pullRequest.reviews].toSorted((left, right) =>
208 comments: [...comments.comments, ...pullRequest.reviews].toSorted((left, right) =>208 left.createdAt.localeCompare(right.createdAt),
209 left.createdAt.localeCompare(right.createdAt),209 ),
210 ),210 commentCount: comments.comments.length + pullRequest.reviews.length,
211 commentCount: comments.comments.length + pullRequest.reviews.length,211 commentsTruncated: comments.truncated,
212 commentsTruncated: comments.truncated,212 reviewThreads: comments.threads,
213 reviewThreads: comments.threads,213 commits,
214 commits,214 })),
215 }),
216 ),
217 );215 );
218 },216 },
219217
apps/server/src/pullRequest/GitHubPullRequestProvider.ts+77-85
...@@ -144,14 +144,12 @@ function withWorkflowApprovals(...@@ -144,14 +144,12 @@ function withWorkflowApprovals(
144 }144 }
145 const approvalChecks = runs145 const approvalChecks = runs
146 .filter((run) => !representedRunIds.has(run.id))146 .filter((run) => !representedRunIds.has(run.id))
147 .map(147 .map((run): PullRequestCheck => ({
148 (run): PullRequestCheck => ({148 name: run.name,
149 name: run.name,149 status: "action-required",
150 status: "action-required",150 description: "A maintainer must approve this workflow before it can run.",
151 description: "A maintainer must approve this workflow before it can run.",151 url: run.url,
152 url: run.url,152 }));
153 }),
154 );
155 return [153 return [
156 ...checks,154 ...checks,
157 ...approvalChecks,155 ...approvalChecks,
...@@ -363,38 +361,34 @@ export const make = Effect.gen(function* () {...@@ -363,38 +361,34 @@ export const make = Effect.gen(function* () {
363 { concurrency: 3 },361 { concurrency: 3 },
364 ).pipe(362 ).pipe(
365 Effect.mapError(fail("getChangeRequest")),363 Effect.mapError(fail("getChangeRequest")),
366 Effect.map(364 Effect.map(([detail, repository, viewerAccess]): ProviderChangeRequestDetail => ({
367 ([detail, repository, viewerAccess]): ProviderChangeRequestDetail => ({365 ...detail.pullRequest,
368 ...detail.pullRequest,366 checks: withWorkflowApprovals(
369 checks: withWorkflowApprovals(367 detail.pullRequest.checks,
370 detail.pullRequest.checks,368 detail.workflowApprovals.runs,
371 detail.workflowApprovals.runs,369 detail.workflowApprovals.unavailable,
372 detail.workflowApprovals.unavailable,370 ),
373 ),371 ...(detail.workflowApprovals.unavailable
374 ...(detail.workflowApprovals.unavailable372 ? {}
375 ? {}373 : { workflowApprovalsRequired: detail.workflowApprovals.runs.length }),
376 : { workflowApprovalsRequired: detail.workflowApprovals.runs.length }),374 reviewers: detail.pullRequest.reviewRequestLogins.map((login) => ({
377 reviewers: detail.pullRequest.reviewRequestLogins.map((login) => ({375 login,
378 login,376 name: null,
379 name: null,377 avatarUrl: null,
380 avatarUrl: null,378 })),
381 })),379 mergeCapabilities: repository.mergeCapabilities,
382 mergeCapabilities: repository.mergeCapabilities,380 viewerPermissions: gitHubViewerPermissions({
383 viewerPermissions: gitHubViewerPermissions({381 ...viewerAccess,
384 ...viewerAccess,382 canUpdateBranch: detail.comparison?.viewerCanUpdate === true,
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 }),
396 }),383 }),
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 })),
398 ),392 ),
399393
400 getChangeRequestActivity: (input) =>394 getChangeRequestActivity: (input) =>
...@@ -426,53 +420,51 @@ export const make = Effect.gen(function* () {...@@ -426,53 +420,51 @@ export const make = Effect.gen(function* () {
426 { concurrency: 2 },420 { concurrency: 2 },
427 ).pipe(421 ).pipe(
428 Effect.mapError(fail("getChangeRequestActivity")),422 Effect.mapError(fail("getChangeRequestActivity")),
429 Effect.map(423 Effect.map(([pullRequest, reviewThreads]): ProviderChangeRequestActivity => ({
430 ([pullRequest, reviewThreads]): ProviderChangeRequestActivity => ({424 author: withAvatar(pullRequest.author, reviewThreads.avatarsByLogin, input.host),
431 author: withAvatar(pullRequest.author, reviewThreads.avatarsByLogin, input.host),425 reviewers: reviewThreads.reviewers,
432 reviewers: reviewThreads.reviewers,426 reactions: reviewThreads.reactions,
433 reactions: reviewThreads.reactions,427 commits: (reviewThreads.commits.length > 0
434 commits: (reviewThreads.commits.length > 0428 ? reviewThreads.commits
435 ? reviewThreads.commits429 : pullRequest.commits
436 : pullRequest.commits430 ).map((commit) => ({
437 ).map((commit) => ({431 ...commit,
438 ...commit,432 ...reviewThreads.commitStats.get(commit.oid),
439 ...reviewThreads.commitStats.get(commit.oid),433 authors: commit.authors?.map(
440 authors: commit.authors?.map(434 (author) => withAvatar(author, reviewThreads.avatarsByLogin, input.host) ?? author,
441 (author) => withAvatar(author, reviewThreads.avatarsByLogin, input.host) ?? author,435 ),
442 ),436 })),
443 })),437 comments: [...pullRequest.comments, ...reviewThreads.comments]
444 comments: [...pullRequest.comments, ...reviewThreads.comments]438 .map((comment) => ({
445 .map((comment) => ({439 ...comment,
446 ...comment,440 // GitHub keeps the dismissal reason on the timeline event, not on the review,
447 // 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
448 // so a dismissed review with nothing visible of its own reads its words from442 // there. "Visible" and not "empty": bot reviews often carry only an HTML
449 // there. "Visible" and not "empty": bot reviews often carry only an HTML443 // marker comment, which markdown renders as nothing.
450 // marker comment, which markdown renders as nothing.444 body:
451 body:445 comment.kind === "review" &&
452 comment.kind === "review" &&446 comment.reviewState?.toUpperCase() === "DISMISSED" &&
453 comment.reviewState?.toUpperCase() === "DISMISSED" &&447 rendersEmpty(comment.body)
454 rendersEmpty(comment.body)448 ? (reviewThreads.dismissalsByReviewId.get(comment.id) ?? comment.body)
455 ? (reviewThreads.dismissalsByReviewId.get(comment.id) ?? comment.body)449 : comment.body,
456 : comment.body,450 author: withAvatar(comment.author, reviewThreads.avatarsByLogin, input.host),
457 author: withAvatar(comment.author, reviewThreads.avatarsByLogin, input.host),451 // A comment out of `gh pr view --json` carries none of its own: that read
458 // A comment out of `gh pr view --json` carries none of its own: that read452 // reports no reaction at all, so they arrive from the GraphQL page by node id.
459 // reports no reaction at all, so they arrive from the GraphQL page by node id.453 reactions: comment.reactions ?? reviewThreads.reactionsById.get(comment.id) ?? [],
460 reactions: comment.reactions ?? reviewThreads.reactionsById.get(comment.id) ?? [],454 }))
461 }))455 .toSorted((left, right) => left.createdAt.localeCompare(right.createdAt)),
462 .toSorted((left, right) => left.createdAt.localeCompare(right.createdAt)),456 // `gh pr view --json comments,reviews` follows GitHub's cursors itself, so those two
463 // `gh pr view --json comments,reviews` follows GitHub's cursors itself, so those two457 // are always whole and only the thread walk can stop short of the host.
464 // are always whole and only the thread walk can stop short of the host.458 commentCount: pullRequest.comments.length + reviewThreads.commentCount,
465 commentCount: pullRequest.comments.length + reviewThreads.commentCount,459 commentsTruncated: reviewThreads.truncated,
466 commentsTruncated: reviewThreads.truncated,460 reviewThreads: reviewThreads.reviewThreads.map((thread) => ({
467 reviewThreads: reviewThreads.reviewThreads.map((thread) => ({461 ...thread,
468 ...thread,462 comments: thread.comments.map((comment) => ({
469 comments: thread.comments.map((comment) => ({463 ...comment,
470 ...comment,464 author: withAvatar(comment.author, reviewThreads.avatarsByLogin, input.host),
471 author: withAvatar(comment.author, reviewThreads.avatarsByLogin, input.host),
472 })),
473 })),465 })),
474 }),466 })),
475 ),467 })),
476 ),468 ),
477469
478 getReviewThreadComments: (input) =>470 getReviewThreadComments: (input) =>
apps/server/src/pullRequest/GitLabPullRequestProvider.ts+33-37
...@@ -147,24 +147,22 @@ export const make = Effect.gen(function* () {...@@ -147,24 +147,22 @@ export const make = Effect.gen(function* () {
147 { concurrency: 2 },147 { concurrency: 2 },
148 ).pipe(148 ).pipe(
149 Effect.mapError(fail("getChangeRequest")),149 Effect.mapError(fail("getChangeRequest")),
150 Effect.map(150 Effect.map(([mergeRequest, mergeCapabilities]): ProviderChangeRequestDetail => ({
151 ([mergeRequest, mergeCapabilities]): ProviderChangeRequestDetail => ({151 ...mergeRequest,
152 ...mergeRequest,152 mergeCapabilities,
153 mergeCapabilities,153 viewerPermissions: gitLabViewerPermissions(mergeRequest),
154 viewerPermissions: gitLabViewerPermissions(mergeRequest),154 // A GitLab too old to count the divergence says nothing here rather than "up to
155 // A GitLab too old to count the divergence says nothing here rather than "up to155 // date": the banner is worth missing, and a wrong all-clear is not worth showing.
156 // date": the banner is worth missing, and a wrong all-clear is not worth showing.156 baseComparison:
157 baseComparison:157 mergeRequest.divergedCommits === undefined
158 mergeRequest.divergedCommits === undefined158 ? "unknown"
159 ? "unknown"159 : mergeRequest.divergedCommits > 0
160 : mergeRequest.divergedCommits > 0160 ? "behind"
161 ? "behind"161 : "up-to-date",
162 : "up-to-date",162 ...(mergeRequest.divergedCommits === undefined
163 ...(mergeRequest.divergedCommits === undefined163 ? {}
164 ? {}164 : { behindBy: mergeRequest.divergedCommits }),
165 : { behindBy: mergeRequest.divergedCommits }),165 })),
166 }),
167 ),
168 ),166 ),
169167
170 getChangeRequestActivity: (input) =>168 getChangeRequestActivity: (input) =>
...@@ -189,28 +187,26 @@ export const make = Effect.gen(function* () {...@@ -189,28 +187,26 @@ export const make = Effect.gen(function* () {
189 { concurrency: 4 },187 { concurrency: 4 },
190 ).pipe(188 ).pipe(
191 Effect.mapError(fail("getChangeRequestActivity")),189 Effect.mapError(fail("getChangeRequestActivity")),
192 Effect.map(190 Effect.map(([notes, commits, discussions, awards]): ProviderChangeRequestActivity => ({
193 ([notes, commits, discussions, awards]): ProviderChangeRequestActivity => ({191 reactions: awards.reactions,
194 reactions: awards.reactions,192 comments: notes.comments.map((comment) => ({
195 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) => ({
196 ...comment,204 ...comment,
197 reactions: awards.reactionsByNoteId.get(comment.id) ?? [],205 reactions: awards.reactionsByNoteId.get(comment.id) ?? [],
198 })),206 })),
199 // GitLab reports no count of its own, so the walk's own total is the host's: the207 })),
200 // notes endpoint carries every comment on the merge request, including the ones208 commits,
201 // written under a discussion, and it is read until GitLab runs out.209 })),
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 ),
214 ),210 ),
215211
216 // The same read the detail takes it from, on its own: `user.can_merge` lives on the merge212 // 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* () {...@@ -1035,21 +1035,19 @@ export const make = Effect.gen(function* () {
1035 }),1035 }),
1036 // One unreachable repository must not blank the page. A host-level failure is1036 // One unreachable repository must not blank the page. A host-level failure is
1037 // already reported through `providers`, so it degrades the same way here.1037 // already reported through `providers`, so it degrades the same way here.
1038 Effect.orElseSucceed(1038 Effect.orElseSucceed((): RepositoryBatch => ({
1039 (): RepositoryBatch => ({1039 key,
1040 key,1040 entries: [],
1041 entries: [],1041 errors: [
1042 errors: [1042 {
1043 {1043 projectId: project.project.id,
1044 projectId: project.project.id,1044 projectTitle: project.project.title,
1045 projectTitle: project.project.title,1045 message: `${project.repository} could not be read.`,
1046 message: `${project.repository} could not be read.`,1046 },
1047 },1047 ],
1048 ],1048 truncated: false,
1049 truncated: false,1049 nextCursor: null,
1050 nextCursor: null,1050 })),
1051 }),
1052 ),
1053 );1051 );
1054 }1052 }
1055 };1053 };
...@@ -1230,20 +1228,18 @@ export const make = Effect.gen(function* () {...@@ -1230,20 +1228,18 @@ export const make = Effect.gen(function* () {
1230 : project.api.getChangeRequestSummary(providerInput);1228 : project.api.getChangeRequestSummary(providerInput);
1231 return read.pipe(1229 return read.pipe(
1232 Effect.mapError(toPullRequestError("summary")),1230 Effect.mapError(toPullRequestError("summary")),
1233 Effect.map(1231 Effect.map((changeRequest): PullRequestSummary => ({
1234 (changeRequest): PullRequestSummary => ({1232 provider: project.api.kind,
1235 provider: project.api.kind,1233 projectId: project.project.id,
1236 projectId: project.project.id,1234 repository: project.repository,
1237 repository: project.repository,1235 number: changeRequest.number,
1238 number: changeRequest.number,1236 title: changeRequest.title,
1239 title: changeRequest.title,1237 url: changeRequest.url,
1240 url: changeRequest.url,1238 state: changeRequest.state,
1241 state: changeRequest.state,1239 headBranch: changeRequest.headBranch,
1242 headBranch: changeRequest.headBranch,1240 baseBranch: changeRequest.baseBranch,
1243 baseBranch: changeRequest.baseBranch,1241 updatedAt: changeRequest.updatedAt,
1244 updatedAt: changeRequest.updatedAt,1242 })),
1245 }),
1246 ),
1247 );1243 );
1248 }),1244 }),
1249 );1245 );
...@@ -1265,55 +1261,53 @@ export const make = Effect.gen(function* () {...@@ -1265,55 +1261,53 @@ export const make = Effect.gen(function* () {
1265 ],1261 ],
1266 { concurrency: 2 },1262 { concurrency: 2 },
1267 ).pipe(1263 ).pipe(
1268 Effect.map(1264 Effect.map(([changeRequest, viewer]): PullRequestDetail => ({
1269 ([changeRequest, viewer]): PullRequestDetail => ({1265 provider: project.api.kind,
1270 provider: project.api.kind,1266 capabilities: project.api.capabilities,
1271 capabilities: project.api.capabilities,1267 projectId: project.project.id,
1272 projectId: project.project.id,1268 projectTitle: project.project.title,
1273 projectTitle: project.project.title,1269 workspaceRoot: project.project.workspaceRoot,
1274 workspaceRoot: project.project.workspaceRoot,1270 repository: project.repository,
1275 repository: project.repository,1271 number: changeRequest.number,
1276 number: changeRequest.number,1272 title: changeRequest.title,
1277 title: changeRequest.title,1273 body: changeRequest.body,
1278 body: changeRequest.body,1274 url: changeRequest.url,
1279 url: changeRequest.url,1275 author: changeRequest.author,
1280 author: changeRequest.author,1276 state: changeRequest.state,
1281 state: changeRequest.state,1277 isDraft: changeRequest.isDraft,
1282 isDraft: changeRequest.isDraft,1278 mergeability: changeRequest.mergeability,
1283 mergeability: changeRequest.mergeability,1279 additions: changeRequest.additions,
1284 additions: changeRequest.additions,1280 deletions: changeRequest.deletions,
1285 deletions: changeRequest.deletions,1281 changedFiles: changeRequest.changedFiles,
1286 changedFiles: changeRequest.changedFiles,1282 headBranch: changeRequest.headBranch,
1287 headBranch: changeRequest.headBranch,1283 ...(changeRequest.headRepositoryNameWithOwner === undefined
1288 ...(changeRequest.headRepositoryNameWithOwner === undefined1284 ? {}
1289 ? {}1285 : { headRepositoryNameWithOwner: changeRequest.headRepositoryNameWithOwner }),
1290 : { headRepositoryNameWithOwner: changeRequest.headRepositoryNameWithOwner }),1286 baseBranch: changeRequest.baseBranch,
1291 baseBranch: changeRequest.baseBranch,1287 createdAt: changeRequest.createdAt,
1292 createdAt: changeRequest.createdAt,1288 updatedAt: changeRequest.updatedAt,
1293 updatedAt: changeRequest.updatedAt,1289 mergedAt: changeRequest.mergedAt,
1294 mergedAt: changeRequest.mergedAt,1290 closedAt: changeRequest.closedAt,
1295 closedAt: changeRequest.closedAt,1291 reviewers: changeRequest.reviewers,
1296 reviewers: changeRequest.reviewers,1292 labels: changeRequest.labels,
1297 labels: changeRequest.labels,1293 checks: changeRequest.checks,
1298 checks: changeRequest.checks,1294 mergeCapabilities: changeRequest.mergeCapabilities,
1299 mergeCapabilities: changeRequest.mergeCapabilities,1295 viewerPermissions: changeRequest.viewerPermissions,
1300 viewerPermissions: changeRequest.viewerPermissions,1296 ...(viewer === null || viewer.trim().length === 0 ? {} : { viewer }),
1301 ...(viewer === null || viewer.trim().length === 0 ? {} : { viewer }),1297 ...(changeRequest.baseComparison === undefined
1302 ...(changeRequest.baseComparison === undefined1298 ? {}
1303 ? {}1299 : { baseComparison: changeRequest.baseComparison }),
1304 : { baseComparison: changeRequest.baseComparison }),1300 ...(changeRequest.behindBy === undefined ? {} : { behindBy: changeRequest.behindBy }),
1305 ...(changeRequest.behindBy === undefined ? {} : { behindBy: changeRequest.behindBy }),1301 ...(changeRequest.autoMergeEnabled === undefined
1306 ...(changeRequest.autoMergeEnabled === undefined1302 ? {}
1307 ? {}1303 : { autoMergeEnabled: changeRequest.autoMergeEnabled }),
1308 : { autoMergeEnabled: changeRequest.autoMergeEnabled }),1304 ...(changeRequest.autoMergeMethod === undefined
1309 ...(changeRequest.autoMergeMethod === undefined1305 ? {}
1310 ? {}1306 : { autoMergeMethod: changeRequest.autoMergeMethod }),
1311 : { autoMergeMethod: changeRequest.autoMergeMethod }),1307 ...(changeRequest.workflowApprovalsRequired === undefined
1312 ...(changeRequest.workflowApprovalsRequired === undefined1308 ? {}
1313 ? {}1309 : { workflowApprovalsRequired: changeRequest.workflowApprovalsRequired }),
1314 : { workflowApprovalsRequired: changeRequest.workflowApprovalsRequired }),1310 })),
1315 }),
1316 ),
1317 ),1311 ),
1318 ),1312 ),
1319 );1313 );
...@@ -1330,18 +1324,16 @@ export const make = Effect.gen(function* () {...@@ -1330,18 +1324,16 @@ export const make = Effect.gen(function* () {
1330 })1324 })
1331 .pipe(1325 .pipe(
1332 Effect.mapError(toPullRequestError("activity")),1326 Effect.mapError(toPullRequestError("activity")),
1333 Effect.map(1327 Effect.map((activity): PullRequestActivity => ({
1334 (activity): PullRequestActivity => ({1328 ...(activity.author === undefined ? {} : { author: activity.author }),
1335 ...(activity.author === undefined ? {} : { author: activity.author }),1329 ...(activity.reviewers === undefined ? {} : { reviewers: activity.reviewers }),
1336 ...(activity.reviewers === undefined ? {} : { reviewers: activity.reviewers }),1330 comments: activity.comments,
1337 comments: activity.comments,1331 commentCount: activity.commentCount,
1338 commentCount: activity.commentCount,1332 commentsTruncated: activity.commentsTruncated,
1339 commentsTruncated: activity.commentsTruncated,1333 reviewThreads: activity.reviewThreads,
1340 reviewThreads: activity.reviewThreads,1334 commits: activity.commits,
1341 commits: activity.commits,1335 ...(activity.reactions === undefined ? {} : { reactions: activity.reactions }),
1342 ...(activity.reactions === undefined ? {} : { reactions: activity.reactions }),1336 })),
1343 }),
1344 ),
1345 ),1337 ),
1346 ),1338 ),
1347 );1339 );
...@@ -1906,23 +1898,22 @@ export const make = Effect.gen(function* () {...@@ -1906,23 +1898,22 @@ export const make = Effect.gen(function* () {
1906 );1898 );
1907 }1899 }
1908 return viewerPermissionsOf(project, input, "setLabels").pipe(1900 return viewerPermissionsOf(project, input, "setLabels").pipe(
1909 Effect.flatMap(1901 Effect.flatMap((viewer): Effect.Effect<void, PullRequestError> =>
1910 (viewer): Effect.Effect<void, PullRequestError> =>1902 viewer.labels === false
1911 viewer.labels === false1903 ? Effect.fail(
1912 ? Effect.fail(1904 new PullRequestOperationError({
1913 new PullRequestOperationError({1905 operation: "setLabels",
1914 operation: "setLabels",1906 detail: LABEL_CHANGE_REFUSAL,
1915 detail: LABEL_CHANGE_REFUSAL,1907 }),
1916 }),1908 )
1917 )1909 : change({
1918 : change({1910 cwd: project.project.workspaceRoot,
1919 cwd: project.project.workspaceRoot,1911 repository: project.repository,
1920 repository: project.repository,1912 host: project.host,
1921 host: project.host,1913 number: input.number,
1922 number: input.number,1914 labels: input.labels,
1923 labels: input.labels,1915 applied: input.applied,
1924 applied: input.applied,1916 }).pipe(Effect.mapError(toPullRequestError("setLabels"))),
1925 }).pipe(Effect.mapError(toPullRequestError("setLabels"))),
1926 ),1917 ),
1927 );1918 );
1928 }),1919 }),
apps/server/src/pullRequest/gitHubPullRequestJson.ts+21-25
...@@ -1339,18 +1339,16 @@ function toComments(raw: {...@@ -1339,18 +1339,16 @@ function toComments(raw: {
1339 readonly comments?: ReadonlyArray<Schema.Schema.Type<typeof RawCommentSchema>> | undefined;1339 readonly comments?: ReadonlyArray<Schema.Schema.Type<typeof RawCommentSchema>> | undefined;
1340 readonly reviews?: ReadonlyArray<Schema.Schema.Type<typeof RawReviewSchema>> | undefined;1340 readonly reviews?: ReadonlyArray<Schema.Schema.Type<typeof RawReviewSchema>> | undefined;
1341}): ReadonlyArray<PullRequestComment> {1341}): ReadonlyArray<PullRequestComment> {
1342 const issueComments = (raw.comments ?? []).map(1342 const issueComments = (raw.comments ?? []).map((comment): PullRequestComment => ({
1343 (comment): PullRequestComment => ({1343 id: comment.id,
1344 id: comment.id,1344 kind: "issue-comment",
1345 kind: "issue-comment",1345 author: toActor(comment.author),
1346 author: toActor(comment.author),1346 body: comment.body ?? "",
1347 body: comment.body ?? "",1347 createdAt: comment.createdAt,
1348 createdAt: comment.createdAt,1348 url: trimmed(comment.url),
1349 url: trimmed(comment.url),1349 path: null,
1350 path: null,1350 reviewState: null,
1351 reviewState: null,1351 }));
1352 }),
1353 );
1354 // A review with no body is kept only when its state is the event itself — an approval, a1352 // A review with no body is kept only when its state is the event itself — an approval, a
1355 // request for changes, a dismissal. GitHub also opens a bodiless `COMMENTED` review as the1353 // request for changes, a dismissal. GitHub also opens a bodiless `COMMENTED` review as the
1356 // container for line comments, and those comments are read from the review threads, so1354 // container for line comments, and those comments are read from the review threads, so
...@@ -1743,19 +1741,17 @@ export function reviewThreadConversation(...@@ -1743,19 +1741,17 @@ export function reviewThreadConversation(
1743 threads: ReadonlyArray<PullRequestReviewThread>,1741 threads: ReadonlyArray<PullRequestReviewThread>,
1744): ReadonlyArray<PullRequestComment> {1742): ReadonlyArray<PullRequestComment> {
1745 return threads.flatMap((thread) =>1743 return threads.flatMap((thread) =>
1746 thread.comments.map(1744 thread.comments.map((comment): PullRequestComment => ({
1747 (comment): PullRequestComment => ({1745 id: comment.id,
1748 id: comment.id,1746 kind: "review-comment",
1749 kind: "review-comment",1747 author: comment.author,
1750 author: comment.author,1748 body: comment.body,
1751 body: comment.body,1749 createdAt: comment.createdAt,
1752 createdAt: comment.createdAt,1750 url: comment.url,
1753 url: comment.url,1751 path: thread.path,
1754 path: thread.path,1752 reviewState: null,
1755 reviewState: null,1753 reactions: comment.reactions ?? [],
1756 reactions: comment.reactions ?? [],1754 })),
1757 }),
1758 ),
1759 );1755 );
1760}1756}
17611757
apps/server/src/resourceTelemetry/DesktopTelemetryReceiver.ts+15-21
...@@ -518,13 +518,11 @@ export const make = Effect.fn("resourceTelemetry.desktopTelemetryReceiver.make")...@@ -518,13 +518,11 @@ export const make = Effect.fn("resourceTelemetry.desktopTelemetryReceiver.make")
518 if (message.type === "desktopTelemetryHello") {518 if (message.type === "desktopTelemetryHello") {
519 return recordContact.pipe(519 return recordContact.pipe(
520 Effect.andThen(520 Effect.andThen(
521 updateHealth(521 updateHealth((current): DesktopTelemetryReceiverHealth => ({
522 (current): DesktopTelemetryReceiverHealth => ({522 ...current,
523 ...current,523 status: "healthy",
524 status: "healthy",524 lastError: Option.none(),
525 lastError: Option.none(),525 })),
526 }),
527 ),
528 ),526 ),
529 );527 );
530 }528 }
...@@ -549,22 +547,18 @@ export const make = Effect.fn("resourceTelemetry.desktopTelemetryReceiver.make")...@@ -549,22 +547,18 @@ export const make = Effect.fn("resourceTelemetry.desktopTelemetryReceiver.make")
549 );547 );
550 }),548 }),
551 Effect.andThen(549 Effect.andThen(
552 updateHealth(550 updateHealth((current): DesktopTelemetryReceiverHealth => ({
553 (current): DesktopTelemetryReceiverHealth => ({551 ...current,
554 ...current,552 status: "stopped",
555 status: "stopped",553 lastError: Option.some(new DesktopTelemetryStreamClosed({ fd }).message),
556 lastError: Option.some(new DesktopTelemetryStreamClosed({ fd }).message),554 })),
557 }),
558 ),
559 ),555 ),
560 Effect.catch((error) =>556 Effect.catch((error) =>
561 updateHealth(557 updateHealth((current): DesktopTelemetryReceiverHealth => ({
562 (current): DesktopTelemetryReceiverHealth => ({558 ...current,
563 ...current,559 status: "degraded",
564 status: "degraded",560 lastError: Option.some(error.message),
565 lastError: Option.some(error.message),561 })),
566 }),
567 ),
568 ),562 ),
569 Effect.forkScoped,563 Effect.forkScoped,
570 );564 );
apps/server/src/resourceTelemetry/ResourceTelemetry.ts+4-6
...@@ -491,12 +491,10 @@ export const make = Effect.fn("resourceTelemetry.resourceTelemetry.make")(functi...@@ -491,12 +491,10 @@ export const make = Effect.fn("resourceTelemetry.resourceTelemetry.make")(functi
491 validateProcessIdentity,491 validateProcessIdentity,
492 retry: nativeClient.retry.pipe(492 retry: nativeClient.retry.pipe(
493 Effect.zip(Ref.get(state)),493 Effect.zip(Ref.get(state)),
494 Effect.map(494 Effect.map(([accepted, current]): ResourceTelemetryRetryResult => ({
495 ([accepted, current]): ResourceTelemetryRetryResult => ({495 accepted,
496 accepted,496 snapshot: current.latest,
497 snapshot: current.latest,497 })),
498 }),
499 ),
500 ),498 ),
501 });499 });
502});500});
apps/web/src/lib/attachmentUploadQueue.ts+1-1
...@@ -333,7 +333,7 @@ async function runUpload(job: UploadJob): Promise<void> {...@@ -333,7 +333,7 @@ async function runUpload(job: UploadJob): Promise<void> {
333}333}
334334
335function pumpUploads(): void {335function pumpUploads(): void {
336 for (let index = 0; index < queue.length; ) {336 for (let index = 0; index < queue.length;) {
337 const job = queue[index]!;337 const job = queue[index]!;
338 const active = activeUploadsByEnvironment.get(job.environmentId) ?? 0;338 const active = activeUploadsByEnvironment.get(job.environmentId) ?? 0;
339 if (active >= MAX_UPLOADS_PER_ENVIRONMENT) {339 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* (...@@ -317,12 +317,10 @@ export const make = Effect.fn("EnvironmentSupervisor.make")(function* (
317 }),317 }),
318 });318 });
319 const lease = yield* effect.pipe(319 const lease = yield* effect.pipe(
320 Effect.mapError(320 Effect.mapError((error): TracedAttemptFailure => ({
321 (error): TracedAttemptFailure => ({321 error,
322 error,322 attemptSpan: Option.some(attemptSpan),
323 attemptSpan: Option.some(attemptSpan),323 })),
324 }),
325 ),
326 );324 );
327 return { attemptSpan: Option.some(attemptSpan), lease };325 return { attemptSpan: Option.some(attemptSpan), lease };
328 }).pipe(Effect.withSpan("relay.connection.attempt", { root: true }));326 }).pipe(Effect.withSpan("relay.connection.attempt", { root: true }));
...@@ -358,12 +356,10 @@ export const make = Effect.fn("EnvironmentSupervisor.make")(function* (...@@ -358,12 +356,10 @@ export const make = Effect.fn("EnvironmentSupervisor.make")(function* (
358 attemptSpan: Option.none<Tracer.Span>(),356 attemptSpan: Option.none<Tracer.Span>(),
359 lease,357 lease,
360 })),358 })),
361 Effect.mapError(359 Effect.mapError((error): TracedAttemptFailure => ({
362 (error): TracedAttemptFailure => ({360 error,
363 error,361 attemptSpan: Option.none(),
364 attemptSpan: Option.none(),362 })),
365 }),
366 ),
367 );363 );
368 });364 });
369365
...@@ -514,20 +510,16 @@ export const make = Effect.fn("EnvironmentSupervisor.make")(function* (...@@ -514,20 +510,16 @@ export const make = Effect.fn("EnvironmentSupervisor.make")(function* (
514 exitUnlessInterrupted(510 exitUnlessInterrupted(
515 establishTracedConnection(attempt, generation, lastFailure, pendingRetry),511 establishTracedConnection(attempt, generation, lastFailure, pendingRetry),
516 ).pipe(512 ).pipe(
517 Effect.map(513 Effect.map((exit): EstablishmentEvent => ({
518 (exit): EstablishmentEvent => ({514 _tag: "Completed",
519 _tag: "Completed",515 exit,
520 exit,516 })),
521 }),
522 ),
523 ),517 ),
524 waitForEstablishmentInterrupt().pipe(518 waitForEstablishmentInterrupt().pipe(
525 Effect.map(519 Effect.map((resetRetry): EstablishmentEvent => ({
526 (resetRetry): EstablishmentEvent => ({520 _tag: "Interrupted",
527 _tag: "Interrupted",521 resetRetry,
528 resetRetry,522 })),
529 }),
530 ),
531 ),523 ),
532 Effect.sleep(CONNECTION_ESTABLISHMENT_TIMEOUT).pipe(524 Effect.sleep(CONNECTION_ESTABLISHMENT_TIMEOUT).pipe(
533 Effect.as<EstablishmentEvent>({ _tag: "TimedOut" }),525 Effect.as<EstablishmentEvent>({ _tag: "TimedOut" }),
...@@ -602,20 +594,16 @@ export const make = Effect.fn("EnvironmentSupervisor.make")(function* (...@@ -602,20 +594,16 @@ export const make = Effect.fn("EnvironmentSupervisor.make")(function* (
602594
603 const connectedExit = yield* Effect.raceAllFirst([595 const connectedExit = yield* Effect.raceAllFirst([
604 active.lease.session.closed.pipe(596 active.lease.session.closed.pipe(
605 Effect.mapError(597 Effect.mapError((error): TracedAttemptFailure => ({
606 (error): TracedAttemptFailure => ({598 error,
607 error,599 attemptSpan: active.attemptSpan,
608 attemptSpan: active.attemptSpan,600 })),
609 }),
610 ),
611 ),601 ),
612 monitorConnectedLease(active.lease).pipe(602 monitorConnectedLease(active.lease).pipe(
613 Effect.mapError(603 Effect.mapError((error): TracedAttemptFailure => ({
614 (error): TracedAttemptFailure => ({604 error,
615 error,605 attemptSpan: active.attemptSpan,
616 attemptSpan: active.attemptSpan,606 })),
617 }),
618 ),
619 ),607 ),
620 waitForAuthorizationRefresh(active.lease.prepared),608 waitForAuthorizationRefresh(active.lease.prepared),
621 ]).pipe(exitUnlessInterrupted);609 ]).pipe(exitUnlessInterrupted);
packages/client-runtime/src/rpc/session.test.ts+5-8
...@@ -607,14 +607,11 @@ describe("RpcSessionFactory", () => {...@@ -607,14 +607,11 @@ describe("RpcSessionFactory", () => {
607 payload: { themes: [] },607 payload: { themes: [] },
608 },608 },
609 ];609 ];
610 const settingsEvents = Array.from(610 const settingsEvents = Array.from({ length: 65 }, (): ServerConfigStreamEventType => ({
611 { length: 65 },611 version: 1,
612 (): ServerConfigStreamEventType => ({612 type: "settingsUpdated",
613 version: 1,613 payload: { settings: DEFAULT_SERVER_SETTINGS },
614 type: "settingsUpdated",614 }));
615 payload: { settings: DEFAULT_SERVER_SETTINGS },
616 }),
617 );
618 const allEvents = [...themeEvents, ...settingsEvents];615 const allEvents = [...themeEvents, ...settingsEvents];
619 const observedByFastSubscriber = yield* Queue.unbounded<ServerConfigStreamEventType>();616 const observedByFastSubscriber = yield* Queue.unbounded<ServerConfigStreamEventType>();
620 yield* session.subscribeServerConfig({ environmentThemes: true }).pipe(617 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";...@@ -3831,7 +3831,10 @@ export type V2ConfigWriteResponse__WriteStatus = "ok" | "okOverridden";
3831export const V2ConfigWriteResponse__WriteStatus = Schema.Literals(["ok", "okOverridden"]);3831export const V2ConfigWriteResponse__WriteStatus = Schema.Literals(["ok", "okOverridden"]);
38323832
3833export type V2ConsumeAccountRateLimitResetCreditResponse__ConsumeAccountRateLimitResetCreditOutcome =3833export type V2ConsumeAccountRateLimitResetCreditResponse__ConsumeAccountRateLimitResetCreditOutcome =
3834 "reset" | "nothingToReset" | "noCredit" | "alreadyRedeemed";3834 | "reset"
3835 | "nothingToReset"
3836 | "noCredit"
3837 | "alreadyRedeemed";
3835export const V2ConsumeAccountRateLimitResetCreditResponse__ConsumeAccountRateLimitResetCreditOutcome =3838export const V2ConsumeAccountRateLimitResetCreditResponse__ConsumeAccountRateLimitResetCreditOutcome =
3836 Schema.Literals(["reset", "nothingToReset", "noCredit", "alreadyRedeemed"]);3839 Schema.Literals(["reset", "nothingToReset", "noCredit", "alreadyRedeemed"]);
38373840
...@@ -3960,16 +3963,16 @@ export const V2ExternalAgentConfigDetectResponse__SubagentMigration = Schema.Str...@@ -3960,16 +3963,16 @@ export const V2ExternalAgentConfigDetectResponse__SubagentMigration = Schema.Str
3960});3963});
39613964
3962export type V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConfigMigrationItemType =3965export type V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConfigMigrationItemType =
3963 | "AGENTS_MD"3966 | "AGENTS_MD"
3964 | "CONFIG"3967 | "CONFIG"
3965 | "SKILLS"3968 | "SKILLS"
3966 | "PLUGINS"3969 | "PLUGINS"
3967 | "MCP_SERVER_CONFIG"3970 | "MCP_SERVER_CONFIG"
3968 | "SUBAGENTS"3971 | "SUBAGENTS"
3969 | "HOOKS"3972 | "HOOKS"
3970 | "COMMANDS"3973 | "COMMANDS"
3971 | "MEMORY"3974 | "MEMORY"
3972 | "SESSIONS";3975 | "SESSIONS";
3973export const V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConfigMigrationItemType =3976export const V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConfigMigrationItemType =
3974 Schema.Literals([3977 Schema.Literals([
3975 "AGENTS_MD",3978 "AGENTS_MD",
...@@ -3985,16 +3988,16 @@ export const V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConf...@@ -3985,16 +3988,16 @@ export const V2ExternalAgentConfigImportCompletedNotification__ExternalAgentConf
3985 ]);3988 ]);
39863989
3987export type V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigMigrationItemType =3990export type V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigMigrationItemType =
3988 | "AGENTS_MD"3991 | "AGENTS_MD"
3989 | "CONFIG"3992 | "CONFIG"
3990 | "SKILLS"3993 | "SKILLS"
3991 | "PLUGINS"3994 | "PLUGINS"
3992 | "MCP_SERVER_CONFIG"3995 | "MCP_SERVER_CONFIG"
3993 | "SUBAGENTS"3996 | "SUBAGENTS"
3994 | "HOOKS"3997 | "HOOKS"
3995 | "COMMANDS"3998 | "COMMANDS"
3996 | "MEMORY"3999 | "MEMORY"
3997 | "SESSIONS";4000 | "SESSIONS";
3998export const V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigMigrationItemType =4001export const V2ExternalAgentConfigImportHistoriesReadResponse__ExternalAgentConfigMigrationItemType =
3999 Schema.Literals([4002 Schema.Literals([
4000 "AGENTS_MD",4003 "AGENTS_MD",
packages/shared/src/qrCode.ts+1-1
...@@ -778,7 +778,7 @@ export class QrSegment {...@@ -778,7 +778,7 @@ export class QrSegment {
778 if (!QrSegment.isNumeric(digits))778 if (!QrSegment.isNumeric(digits))
779 throw new RangeError("String contains non-numeric characters");779 throw new RangeError("String contains non-numeric characters");
780 let bb: Array<bit> = [];780 let bb: Array<bit> = [];
781 for (let i = 0; i < digits.length; ) {781 for (let i = 0; i < digits.length;) {
782 // Consume up to 3 digits per iteration782 // Consume up to 3 digits per iteration
783 const n: int = Math.min(digits.length - i, 3);783 const n: int = Math.min(digits.length - i, 3);
784 appendBits(parseInt(digits.substring(i, i + n), 10), n * 3 + 1, bb);784 appendBits(parseInt(digits.substring(i, i + n), 10), n * 3 + 1, bb);
pnpm-lock.yaml+616-369
...@@ -34,8 +34,8 @@ catalogs:...@@ -34,8 +34,8 @@ catalogs:
34 specifier: ~6.0.334 specifier: ~6.0.3
35 version: 6.0.335 version: 6.0.3
36 vite-plus:36 vite-plus:
37 specifier: 0.2.237 specifier: 0.3.0
38 version: 0.2.238 version: 0.3.0
3939
40overrides:40overrides:
41 '@anthropic-ai/claude-agent-sdk>@anthropic-ai/claude-agent-sdk-darwin-arm64': '-'41 '@anthropic-ai/claude-agent-sdk>@anthropic-ai/claude-agent-sdk-darwin-arm64': '-'
...@@ -81,7 +81,7 @@ overrides:...@@ -81,7 +81,7 @@ overrides:
81 expo-sharing>@expo/config-types: 57.0.281 expo-sharing>@expo/config-types: 57.0.2
82 lightningcss: 1.33.082 lightningcss: 1.33.0
83 tailwindcss: 4.3.383 tailwindcss: 4.3.3
84 vite: npm:@voidzero-dev/vite-plus-core@0.2.284 vite: npm:@voidzero-dev/vite-plus-core@0.3.0
85 yaml: ^2.9.085 yaml: ^2.9.0
8686
87packageExtensionsChecksum: sha256-k/dT9NFDl5hihRPaoFKeY11hzyutMFs5psfZLFiKJic=87packageExtensionsChecksum: sha256-k/dT9NFDl5hihRPaoFKeY11hzyutMFs5psfZLFiKJic=
...@@ -126,7 +126,7 @@ importers:...@@ -126,7 +126,7 @@ importers:
126 version: 7.0.0-dev.20260604.1126 version: 7.0.0-dev.20260604.1
127 vite-plus:127 vite-plus:
128 specifier: 'catalog:'128 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
131 apps/desktop:131 apps/desktop:
132 dependencies:132 dependencies:
...@@ -193,7 +193,7 @@ importers:...@@ -193,7 +193,7 @@ importers:
193 version: 4.3.3193 version: 4.3.3
194 vite-plus:194 vite-plus:
195 specifier: 'catalog:'195 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
198 apps/marketing:198 apps/marketing:
199 dependencies:199 dependencies:
...@@ -535,7 +535,7 @@ importers:...@@ -535,7 +535,7 @@ importers:
535 version: link:../../packages/effect-codex-app-server535 version: link:../../packages/effect-codex-app-server
536 vite-plus:536 vite-plus:
537 specifier: 'catalog:'537 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
540 apps/web:540 apps/web:
541 dependencies:541 dependencies:
...@@ -659,13 +659,13 @@ importers:...@@ -659,13 +659,13 @@ importers:
659 version: 4.0.0-beta.103(patch_hash=a16b1e870d8c29e4a98b17cc4c638a4ff471753d8ca3487f78a22b759caf951b)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))659 version: 4.0.0-beta.103(patch_hash=a16b1e870d8c29e4a98b17cc4c638a4ff471753d8ca3487f78a22b759caf951b)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
660 '@rolldown/plugin-babel':660 '@rolldown/plugin-babel':
661 specifier: ^0.2.0661 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)
663 '@tailwindcss/vite':663 '@tailwindcss/vite':
664 specifier: 4.3.3664 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))
666 '@tanstack/router-plugin':666 '@tanstack/router-plugin':
667 specifier: ^1.161.0667 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))
669 '@types/babel__core':669 '@types/babel__core':
670 specifier: ^7.20.5670 specifier: ^7.20.5
671 version: 7.20.5671 version: 7.20.5
...@@ -686,7 +686,7 @@ importers:...@@ -686,7 +686,7 @@ importers:
686 version: 0.3.0686 version: 0.3.0
687 '@vitejs/plugin-react':687 '@vitejs/plugin-react':
688 specifier: ^6.0.0688 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)
690 babel-plugin-react-compiler:690 babel-plugin-react-compiler:
691 specifier: 1.0.0691 specifier: 1.0.0
692 version: 1.0.0692 version: 1.0.0
...@@ -697,11 +697,11 @@ importers:...@@ -697,11 +697,11 @@ importers:
697 specifier: 4.3.3697 specifier: 4.3.3
698 version: 4.3.3698 version: 4.3.3
699 vite:699 vite:
700 specifier: npm:@voidzero-dev/vite-plus-core@0.2.2700 specifier: npm:@voidzero-dev/vite-plus-core@0.3.0
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)'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)'
702 vite-plus:702 vite-plus:
703 specifier: 'catalog:'703 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
706 infra/relay:706 infra/relay:
707 dependencies:707 dependencies:
...@@ -728,7 +728,7 @@ importers:...@@ -728,7 +728,7 @@ importers:
728 version: link:../../packages/shared728 version: link:../../packages/shared
729 alchemy:729 alchemy:
730 specifier: 2.0.0-beta.65730 specifier: 2.0.0-beta.65
731 version: 2.0.0-beta.65(00c448ade6580e73d10ccfe1b32cee97)731 version: 2.0.0-beta.65(2233d007cbd93ff91712c637e233494f)
732 drizzle-orm:732 drizzle-orm:
733 specifier: 1.0.0-rc.4733 specifier: 1.0.0-rc.4
734 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)734 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:...@@ -752,11 +752,11 @@ importers:
752 specifier: 1.0.0-rc.4752 specifier: 1.0.0-rc.4
753 version: 1.0.0-rc.4753 version: 1.0.0-rc.4
754 vite:754 vite:
755 specifier: npm:@voidzero-dev/vite-plus-core@0.2.2755 specifier: npm:@voidzero-dev/vite-plus-core@0.3.0
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)'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)'
757 vite-plus:757 vite-plus:
758 specifier: 'catalog:'758 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
761 oxlint-plugin-t3code:761 oxlint-plugin-t3code:
762 dependencies:762 dependencies:
...@@ -775,7 +775,7 @@ importers:...@@ -775,7 +775,7 @@ importers:
775 version: 4.0.0-beta.103(patch_hash=a16b1e870d8c29e4a98b17cc4c638a4ff471753d8ca3487f78a22b759caf951b)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))775 version: 4.0.0-beta.103(patch_hash=a16b1e870d8c29e4a98b17cc4c638a4ff471753d8ca3487f78a22b759caf951b)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
776 vite-plus:776 vite-plus:
777 specifier: 'catalog:'777 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
780 packages/client-runtime:780 packages/client-runtime:
781 dependencies:781 dependencies:
...@@ -812,7 +812,7 @@ importers:...@@ -812,7 +812,7 @@ importers:
812 version: 2.0.2812 version: 2.0.2
813 vite-plus:813 vite-plus:
814 specifier: 'catalog:'814 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
817 packages/contracts:817 packages/contracts:
818 dependencies:818 dependencies:
...@@ -825,7 +825,7 @@ importers:...@@ -825,7 +825,7 @@ importers:
825 version: 4.0.0-beta.103(patch_hash=a16b1e870d8c29e4a98b17cc4c638a4ff471753d8ca3487f78a22b759caf951b)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))825 version: 4.0.0-beta.103(patch_hash=a16b1e870d8c29e4a98b17cc4c638a4ff471753d8ca3487f78a22b759caf951b)(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
826 vite-plus:826 vite-plus:
827 specifier: 'catalog:'827 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
830 packages/effect-acp:830 packages/effect-acp:
831 dependencies:831 dependencies:
...@@ -847,7 +847,7 @@ importers:...@@ -847,7 +847,7 @@ importers:
847 version: 24.12.4847 version: 24.12.4
848 vite-plus:848 vite-plus:
849 specifier: 'catalog:'849 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
852 packages/effect-codex-app-server:852 packages/effect-codex-app-server:
853 dependencies:853 dependencies:
...@@ -869,7 +869,7 @@ importers:...@@ -869,7 +869,7 @@ importers:
869 version: 24.12.4869 version: 24.12.4
870 vite-plus:870 vite-plus:
871 specifier: 'catalog:'871 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
874 packages/shared:874 packages/shared:
875 dependencies:875 dependencies:
...@@ -903,7 +903,7 @@ importers:...@@ -903,7 +903,7 @@ importers:
903 version: 24.12.4903 version: 24.12.4
904 vite-plus:904 vite-plus:
905 specifier: 'catalog:'905 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
908 packages/ssh:908 packages/ssh:
909 dependencies:909 dependencies:
...@@ -928,7 +928,7 @@ importers:...@@ -928,7 +928,7 @@ importers:
928 version: 24.12.4928 version: 24.12.4
929 vite-plus:929 vite-plus:
930 specifier: 'catalog:'930 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
933 packages/tailscale:933 packages/tailscale:
934 dependencies:934 dependencies:
...@@ -947,7 +947,7 @@ importers:...@@ -947,7 +947,7 @@ importers:
947 version: 24.12.4947 version: 24.12.4
948 vite-plus:948 vite-plus:
949 specifier: 'catalog:'949 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
952 scripts:952 scripts:
953 dependencies:953 dependencies:
...@@ -981,7 +981,7 @@ importers:...@@ -981,7 +981,7 @@ importers:
981 version: 6.0.5981 version: 6.0.5
982 vite-plus:982 vite-plus:
983 specifier: 'catalog:'983 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
986packages:986packages:
987987
...@@ -3289,289 +3289,289 @@ packages:...@@ -3289,289 +3289,289 @@ packages:
3289 '@oslojs/encoding@1.1.0':3289 '@oslojs/encoding@1.1.0':
3290 resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==}3290 resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==}
32913291
3292 '@oxc-project/runtime@0.138.0':3292 '@oxc-project/runtime@0.146.0':
3293 resolution: {integrity: sha512-yHhoXsN8tYxgdJCdD91PbySNjEEaBX/tH2OQRDXJpsQv5b184oC4/qVbU7qlblvfil/JP15Lh2HW7+HN5DS90Q==}3293 resolution: {integrity: sha512-lbXHIpZ1MmK6zuw5txlMdIZ2waLVUIU5Gnm3sEuwJOiqDfQfbtjeHscatmeBoxbv8+If9LFM6PGh/3DcDWYIYw==}
3294 engines: {node: ^20.19.0 || >=22.12.0}3294 engines: {node: ^20.19.0 || >=22.12.0}
32953295
3296 '@oxc-project/types@0.127.0':3296 '@oxc-project/types@0.127.0':
3297 resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==}3297 resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==}
32983298
3299 '@oxc-project/types@0.138.0':
3300 resolution: {integrity: sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==}
3301
3302 '@oxc-project/types@0.139.0':3299 '@oxc-project/types@0.139.0':
3303 resolution: {integrity: sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==}3300 resolution: {integrity: sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==}
33043301
3305 '@oxfmt/binding-android-arm-eabi@0.57.0':3302 '@oxc-project/types@0.146.0':
3306 resolution: {integrity: sha512-qVBsEO+KugOsCmUHcO8iqNnqc65p7PCKpCs8M66mPZ+Ri+CWbcpoQOEJBg2OTu03+0qu++NK1jj6IzvQVs0Sig==}3303 resolution: {integrity: sha512-XC0QsnnhVe7sLIWmYmdPw7x5P0h4W8vUU3Nv1ySgWXtvCz8NizoAEpGXA0sOYoJQV2Rl13LgURAHQ5cI5ILCSA==}
3304
3305 '@oxfmt/binding-android-arm-eabi@0.64.0':
3306 resolution: {integrity: sha512-o6uzh/jTOQeAY5TdkAeXdqv7MBRcPxiRA08zrcBtkKj5cSu/FMu0Hl7Q6Fi1KCKyCWZ6lJVjBzdsJvsKltUsGQ==}
3307 engines: {node: ^20.19.0 || >=22.12.0}3307 engines: {node: ^20.19.0 || >=22.12.0}
3308 cpu: [arm]3308 cpu: [arm]
3309 os: [android]3309 os: [android]
33103310
3311 '@oxfmt/binding-android-arm64@0.57.0':3311 '@oxfmt/binding-android-arm64@0.64.0':
3312 resolution: {integrity: sha512-mp6PibWbao3aizijcheOeHQaYEhcUAt8pwLniYbtLfHxL/psFF0BykAwCj+s3c6qIpa8yN8keZICWrqtZ70w8g==}3312 resolution: {integrity: sha512-jRGSUeeP7p3Gynw2YaCVtjBIA6ZxY6bEB/ES5i54OhqmRTyuVg7ZgstEtzgq6GOAJd+2QZ5pvf+bFfmW5Mp9cw==}
3313 engines: {node: ^20.19.0 || >=22.12.0}3313 engines: {node: ^20.19.0 || >=22.12.0}
3314 cpu: [arm64]3314 cpu: [arm64]
3315 os: [android]3315 os: [android]
33163316
3317 '@oxfmt/binding-darwin-arm64@0.57.0':3317 '@oxfmt/binding-darwin-arm64@0.64.0':
3318 resolution: {integrity: sha512-T+0stuCBqmUVY+aMIvrgXhzGhHO3sD5tNiiEcYqgSdPsnukskQqn2u5qOVD0sv1l7RLdFS5Z/f5Wi9Ktyjr3Eg==}3318 resolution: {integrity: sha512-JINwtU2lW7nOFSqi+H2qplipNUqah9Gc1jgGmB82kTD4UnZrZIVxCJ9qEmFiKfjNq27gYLFhrUb0to86aCwMjw==}
3319 engines: {node: ^20.19.0 || >=22.12.0}3319 engines: {node: ^20.19.0 || >=22.12.0}
3320 cpu: [arm64]3320 cpu: [arm64]
3321 os: [darwin]3321 os: [darwin]
33223322
3323 '@oxfmt/binding-darwin-x64@0.57.0':3323 '@oxfmt/binding-darwin-x64@0.64.0':
3324 resolution: {integrity: sha512-O+3JbqWs/mCI2oi4xfhRO2IVPFJNDDEBV8Odo+ZpmsUOeKJfjXoNH7nDmBEQcDgK7NfjDIyE7kRgYSZcTLDO0A==}3324 resolution: {integrity: sha512-gCmuswrgrOSajV4HCRFkVCGIruPq8bjYuPYgSE2WQB3mD6XrdyZ3JMSRZCkQ8zCxOyGWriBo6QoZ5nmMHQ1BfA==}
3325 engines: {node: ^20.19.0 || >=22.12.0}3325 engines: {node: ^20.19.0 || >=22.12.0}
3326 cpu: [x64]3326 cpu: [x64]
3327 os: [darwin]3327 os: [darwin]
33283328
3329 '@oxfmt/binding-freebsd-x64@0.57.0':3329 '@oxfmt/binding-freebsd-x64@0.64.0':
3330 resolution: {integrity: sha512-pxwhxVC+JkLX9twOQ/8C/vbuOQcMZyKIDmiRDZfO7yITuVcIdZCiLRqqf4QOxb2+8FWrRXzQpm+1DBKcMpHSSQ==}3330 resolution: {integrity: sha512-Ab8g7a38pT0MMImjh7anRSTve6buWBIlcXIFBYa5xl4s6UxEgKSc2xOOhbGtLwvXnEi2PsEDGoJh3oUU7xkehQ==}
3331 engines: {node: ^20.19.0 || >=22.12.0}3331 engines: {node: ^20.19.0 || >=22.12.0}
3332 cpu: [x64]3332 cpu: [x64]
3333 os: [freebsd]3333 os: [freebsd]
33343334
3335 '@oxfmt/binding-linux-arm-gnueabihf@0.57.0':3335 '@oxfmt/binding-linux-arm-gnueabihf@0.64.0':
3336 resolution: {integrity: sha512-pxBU4zH2imB/MDBfth2rOMeVxXUMjRQLCazagwLARIFH3hVlxZJBlM4nSnHXaIHJK4/qezoFCIORN6AY8Mra4A==}3336 resolution: {integrity: sha512-BgvS3CoQ+Xy2deoZqEN8JVKabcCZi2RxA3yant8G9OAv9KuPJ9TCjHkqigzdHUVwErZxEP5d2bzLIEyKYyBDLg==}
3337 engines: {node: ^20.19.0 || >=22.12.0}3337 engines: {node: ^20.19.0 || >=22.12.0}
3338 cpu: [arm]3338 cpu: [arm]
3339 os: [linux]3339 os: [linux]
33403340
3341 '@oxfmt/binding-linux-arm-musleabihf@0.57.0':3341 '@oxfmt/binding-linux-arm-musleabihf@0.64.0':
3342 resolution: {integrity: sha512-JAprOzt8tycYou36ZgEw14DlRHTiN8qdtKANdV3VZIRIvTI/lh/cX13c9pJ/EnDk2GT3FASH7KvCgQ2AufAifQ==}3342 resolution: {integrity: sha512-QXpNxwoMj0YvnceCNZadNSden3bIcnvjn/sDp/rwZhRoZoZYGpHvtPyhGsdJz9uvT9GkaMW7SsLddurU56dt8w==}
3343 engines: {node: ^20.19.0 || >=22.12.0}3343 engines: {node: ^20.19.0 || >=22.12.0}
3344 cpu: [arm]3344 cpu: [arm]
3345 os: [linux]3345 os: [linux]
33463346
3347 '@oxfmt/binding-linux-arm64-gnu@0.57.0':3347 '@oxfmt/binding-linux-arm64-gnu@0.64.0':
3348 resolution: {integrity: sha512-ajtjaxSaj9xl4BW7REt+Cef/ttzbAq00Bq4z7JUDZEfgFXdwSjH8K9bF+IcIJzZB9lKqMfQ4eHuSFOvvlvtqOg==}3348 resolution: {integrity: sha512-BBgH3I1ppDsI5pZ4Pdhw0ceYxwVCfbU/bZEBCeZ6caRS9x0ZabErxubP7riGUn11PXZBhe8DYdjkDKP1FlVQ5w==}
3349 engines: {node: ^20.19.0 || >=22.12.0}3349 engines: {node: ^20.19.0 || >=22.12.0}
3350 cpu: [arm64]3350 cpu: [arm64]
3351 os: [linux]3351 os: [linux]
3352 libc: [glibc]3352 libc: [glibc]
33533353
3354 '@oxfmt/binding-linux-arm64-musl@0.57.0':3354 '@oxfmt/binding-linux-arm64-musl@0.64.0':
3355 resolution: {integrity: sha512-p4Y/+RYk9Bk5WO+zHSUXAClRmZ2fbJCejMuCAsU2HhyME4jqf6Ftt/mJYEwIah1wGCBDYOB7wEGV1x5bCEZ6hA==}3355 resolution: {integrity: sha512-v19HSjC/BGXdt26qEvKZtwAHgGmQ2Agcap2kQP+KIqoRZqivVzYth3ui2dJA1i+6/fjpjga85lIOaJJjQ/bOOw==}
3356 engines: {node: ^20.19.0 || >=22.12.0}3356 engines: {node: ^20.19.0 || >=22.12.0}
3357 cpu: [arm64]3357 cpu: [arm64]
3358 os: [linux]3358 os: [linux]
3359 libc: [musl]3359 libc: [musl]
33603360
3361 '@oxfmt/binding-linux-ppc64-gnu@0.57.0':3361 '@oxfmt/binding-linux-ppc64-gnu@0.64.0':
3362 resolution: {integrity: sha512-By6tRALAZsno0F4zedmtG+wdMvJiJmJoXM4d3+A9zHE4HRXLqXITwRH8mgrlcXc5yJM2g2W3riRPwTYdgemZLQ==}3362 resolution: {integrity: sha512-PElLnOo4xFTBZrxPhgTIj0eHqZXwEBQoNWtb7facUV170T0B0FRET0iNbb3LUeLWTybkUW+vsdyv4ihOdyXGyw==}
3363 engines: {node: ^20.19.0 || >=22.12.0}3363 engines: {node: ^20.19.0 || >=22.12.0}
3364 cpu: [ppc64]3364 cpu: [ppc64]
3365 os: [linux]3365 os: [linux]
3366 libc: [glibc]3366 libc: [glibc]
33673367
3368 '@oxfmt/binding-linux-riscv64-gnu@0.57.0':3368 '@oxfmt/binding-linux-riscv64-gnu@0.64.0':
3369 resolution: {integrity: sha512-skYeG+RgvyzspqVEBsEprL90OYYZfoVNqB3HcCNR6QDJyXKOzfDRT3zncnHmUaFluIlBHuY23mU1b5WGgR98hA==}3369 resolution: {integrity: sha512-Qzsg15n4F5CH+MorcRW4MkAEMiLzXmeG+DiDSbP/bBTqCmWOH3K9DHryNrve+JHlV0txS+B6Z9P5Xz+cmWeL+g==}
3370 engines: {node: ^20.19.0 || >=22.12.0}3370 engines: {node: ^20.19.0 || >=22.12.0}
3371 cpu: [riscv64]3371 cpu: [riscv64]
3372 os: [linux]3372 os: [linux]
3373 libc: [glibc]3373 libc: [glibc]
33743374
3375 '@oxfmt/binding-linux-riscv64-musl@0.57.0':3375 '@oxfmt/binding-linux-riscv64-musl@0.64.0':
3376 resolution: {integrity: sha512-FFgACrZOXAXUh5KQh2mt1CDOVOZmn+QzHP71wM9QobNwyQvoFfyAeefVUltW83g3sm7LTiH3yfFqLLVUpA5ZFQ==}3376 resolution: {integrity: sha512-/GZ358wnQ/Ez4UVnCcZIi56JkY0sOdZ+B108pqXKqZz3jLS59F4KEAB1Qv3fRlObrFEk+3L2vUQ/xoPx+3vjXw==}
3377 engines: {node: ^20.19.0 || >=22.12.0}3377 engines: {node: ^20.19.0 || >=22.12.0}
3378 cpu: [riscv64]3378 cpu: [riscv64]
3379 os: [linux]3379 os: [linux]
3380 libc: [musl]3380 libc: [musl]
33813381
3382 '@oxfmt/binding-linux-s390x-gnu@0.57.0':3382 '@oxfmt/binding-linux-s390x-gnu@0.64.0':
3383 resolution: {integrity: sha512-Nm/BAOfQeFiiKd502mZn/GAVKJwtd0RdCg17G3Wz/WSOIQmDi3+7/SZH4BHn1Ye5KvTVH3ua8WvfwLLycNIuvA==}3383 resolution: {integrity: sha512-/C9We3DXegowfLXtVCYHeNiU9azwCDr5cQkEtCVlc74vyn+lLQSPApJ1CZmxAduqeq/Oi3gQ+IVptyhCaTMtkQ==}
3384 engines: {node: ^20.19.0 || >=22.12.0}3384 engines: {node: ^20.19.0 || >=22.12.0}
3385 cpu: [s390x]3385 cpu: [s390x]
3386 os: [linux]3386 os: [linux]
3387 libc: [glibc]3387 libc: [glibc]
33883388
3389 '@oxfmt/binding-linux-x64-gnu@0.57.0':3389 '@oxfmt/binding-linux-x64-gnu@0.64.0':
3390 resolution: {integrity: sha512-BiSy5Ku3mQqyxS6YIqAJgd403wEUWvI7kerfzPxc2l/txZVmZM0pSj7oDM+4bGBExowxOi7o73jEam1W0EDTZg==}3390 resolution: {integrity: sha512-91KM2CeRWscIEHlj1NsW2WSnzGeq1Ehq+39bfDowTdkn+fcvK/x4Y1RcyqT7glyBjZio0ldkeCG6Usj3v7ASog==}
3391 engines: {node: ^20.19.0 || >=22.12.0}3391 engines: {node: ^20.19.0 || >=22.12.0}
3392 cpu: [x64]3392 cpu: [x64]
3393 os: [linux]3393 os: [linux]
3394 libc: [glibc]3394 libc: [glibc]
33953395
3396 '@oxfmt/binding-linux-x64-musl@0.57.0':3396 '@oxfmt/binding-linux-x64-musl@0.64.0':
3397 resolution: {integrity: sha512-BCRkJiotz5s9afLYD2LuMvzAoDYx9H17E/YbDyu4xK7l4zHDPeny9ErSXL//i/nJyaOwRk08x4b8cgJC00+JDg==}3397 resolution: {integrity: sha512-gw7uEk9I+7zoT1EYLra1eWArIzNcz8e3jkv+Noo2+o2T7wPvsNSQbfoa4DSfZlvn1i6mJ05RiZ4/omaXPDNhQg==}
3398 engines: {node: ^20.19.0 || >=22.12.0}3398 engines: {node: ^20.19.0 || >=22.12.0}
3399 cpu: [x64]3399 cpu: [x64]
3400 os: [linux]3400 os: [linux]
3401 libc: [musl]3401 libc: [musl]
34023402
3403 '@oxfmt/binding-openharmony-arm64@0.57.0':3403 '@oxfmt/binding-openharmony-arm64@0.64.0':
3404 resolution: {integrity: sha512-4Oaxe1qrGgXfpCJ1C/ERJ2iCtV2rN1R79ga9fsfyVHfSQRu/hVW780u2KDqZWFZ/iGTHODJji0JemxqFZ63eIQ==}3404 resolution: {integrity: sha512-HYHFf616FHSPSO07c09mjmXBfQ73wIVM3m0txOiooa5XZkGoxFd6B14PVj0LB0DXIqJ6wAO/dDR/NX/5UUaqnw==}
3405 engines: {node: ^20.19.0 || >=22.12.0}3405 engines: {node: ^20.19.0 || >=22.12.0}
3406 cpu: [arm64]3406 cpu: [arm64]
3407 os: [openharmony]3407 os: [openharmony]
34083408
3409 '@oxfmt/binding-win32-arm64-msvc@0.57.0':3409 '@oxfmt/binding-win32-arm64-msvc@0.64.0':
3410 resolution: {integrity: sha512-MYLAsDnhdNsSGheLYhWgbk0vfIrlS84iQYun/y21fX6u0jj8iBtYtbpZMdiqYeuf8U12eVPUjVY2xE2NrCfJ0g==}3410 resolution: {integrity: sha512-uQjFp081IZSWD6VAofX2iO2z01awAdHmfC+NrieWIPKrT2hZKQDyq/U18M7ifC0sm0Wz8aHY/p6+FDYIzs/CrQ==}
3411 engines: {node: ^20.19.0 || >=22.12.0}3411 engines: {node: ^20.19.0 || >=22.12.0}
3412 cpu: [arm64]3412 cpu: [arm64]
3413 os: [win32]3413 os: [win32]
34143414
3415 '@oxfmt/binding-win32-ia32-msvc@0.57.0':3415 '@oxfmt/binding-win32-ia32-msvc@0.64.0':
3416 resolution: {integrity: sha512-PBwdzZALJY/jcCx2E6is0yu+cuVXeySTDmwuseD+9j0mHqlRNxwlKgsyRTBed/woPeqfVfuXfWjoq4Cx2Zt3Eg==}3416 resolution: {integrity: sha512-lNM6byTAQ881jugzFu8juJTbNRgsUTlswMA6pJmwi1XDvmIqnnb49lcUAs5gz94fCJLrVN+/X3s3jOKqx23WIQ==}
3417 engines: {node: ^20.19.0 || >=22.12.0}3417 engines: {node: ^20.19.0 || >=22.12.0}
3418 cpu: [ia32]3418 cpu: [ia32]
3419 os: [win32]3419 os: [win32]
34203420
3421 '@oxfmt/binding-win32-x64-msvc@0.57.0':3421 '@oxfmt/binding-win32-x64-msvc@0.64.0':
3422 resolution: {integrity: sha512-bQJdH9i4RRfw55jm7+8/xS7GzHLLTbHx4huhrrDxQJaJtbSDbsyOnODvP1ftT7EG0KFKAYO2S+q6AcioXODx8w==}3422 resolution: {integrity: sha512-BtmbtL/QjMtF1a6C3CqoDluH2IfB6fJt62E+B9RFfUPtFk4Iz9PFS6+y/SzzOvSxc7aUk2Kphwg7Dh8lMbwu6g==}
3423 engines: {node: ^20.19.0 || >=22.12.0}3423 engines: {node: ^20.19.0 || >=22.12.0}
3424 cpu: [x64]3424 cpu: [x64]
3425 os: [win32]3425 os: [win32]
34263426
3427 '@oxlint-tsgolint/darwin-arm64@0.24.0':3427 '@oxlint-tsgolint/darwin-arm64@7.0.2001':
3428 resolution: {integrity: sha512-C2uMmwK5Bc4ri4ysZ6sA8Rcu+A5zBQTp6ml2u0CLLbRZp4kMFPV3yWk8B5DK9Aw7y9bbjogIm75tUwGLFzlsYQ==}3428 resolution: {integrity: sha512-CUJEdbSZ54+Xy9OXqOhWLTKZKV0BBiV7C2i/ygyVmXtkUNXx5YCzN8DpSSshTAKktoL7S+tnQ/ftFG/i7X896w==}
3429 cpu: [arm64]3429 cpu: [arm64]
3430 os: [darwin]3430 os: [darwin]
34313431
3432 '@oxlint-tsgolint/darwin-x64@0.24.0':3432 '@oxlint-tsgolint/darwin-x64@7.0.2001':
3433 resolution: {integrity: sha512-Wgvt/1lRbDxmoNqWQKKcL+UIiqLmdJ+EWLpQa1qzoNVAfNB0PJpa82/8dH1twT/3rSs4zrP5TXPWl4juB71WuQ==}3433 resolution: {integrity: sha512-pXfBb5BqONCcgrXQNUZWXgiYmRSWJzd97S8i41VVOh6ut0tyo+cJ5FKFpczDHxiVNfj/3e7c9B4MtztNdpIVCw==}
3434 cpu: [x64]3434 cpu: [x64]
3435 os: [darwin]3435 os: [darwin]
34363436
3437 '@oxlint-tsgolint/linux-arm64@0.24.0':3437 '@oxlint-tsgolint/linux-arm64@7.0.2001':
3438 resolution: {integrity: sha512-PB1rxII7KV83+ASY4sSkXtqvpij6ME66+QCRL49uksi/ofs2Rf/UVboYr095n0Rkbl2wgvlsHGl6DHC361jQUQ==}3438 resolution: {integrity: sha512-roP7zujb/QDPzDwEKsFFpzNHHy91/Y7oX9vQXk78ekyZtcQj1QXDIMH33gjDdHBfRl4K9pZ36xhRgrP4Zr+R8A==}
3439 cpu: [arm64]3439 cpu: [arm64]
3440 os: [linux]3440 os: [linux]
34413441
3442 '@oxlint-tsgolint/linux-x64@0.24.0':3442 '@oxlint-tsgolint/linux-x64@7.0.2001':
3443 resolution: {integrity: sha512-xcz3CxKmjTQLREtE/UShh+ruWmm9nAb7UM9zKcD65BStiuYgOakAKkPHl4YS5DztpVcDrE0+HqbOolTlRKYWmw==}3443 resolution: {integrity: sha512-UDezNqdECVmngu2TPnjaS1YoAmcTaBoI5lV9vk3VahBxoi+I5r9k3iJTT7qZoYWOXTD/7T7bNcwRgrocR6BscQ==}
3444 cpu: [x64]3444 cpu: [x64]
3445 os: [linux]3445 os: [linux]
34463446
3447 '@oxlint-tsgolint/win32-arm64@0.24.0':3447 '@oxlint-tsgolint/win32-arm64@7.0.2001':
3448 resolution: {integrity: sha512-A2i6ZGBec3i20S7RaxkgHc6r3HYtD5Mn7j/mb22NkTz14u0JuudvTu6JggAnbGMcv8+dBKQI//EasxSPJLD8pw==}3448 resolution: {integrity: sha512-uJZhqB6pdXLuN+AD1F5082byyQti/NPmJA77GtcFlmT2HzRelqbNls3SaIqxpjdFgvSBF9g0yOKGBkGFg7kX8Q==}
3449 cpu: [arm64]3449 cpu: [arm64]
3450 os: [win32]3450 os: [win32]
34513451
3452 '@oxlint-tsgolint/win32-x64@0.24.0':3452 '@oxlint-tsgolint/win32-x64@7.0.2001':
3453 resolution: {integrity: sha512-0ZbGd9qRB6zs82moekaKdEvncRANq49EAwfNX62JpTS46feXUhKAuoyVDvZMj6Rywejylrmmu79Wo6faYCo4Ew==}3453 resolution: {integrity: sha512-FkDRm8hx9OwzGQqyWG1tO5QrTLRApff9DzSgpz9QZau37BR8d1VYKOxMLGf6shPZntJFoTwIIJYT68VndYDCog==}
3454 cpu: [x64]3454 cpu: [x64]
3455 os: [win32]3455 os: [win32]
34563456
3457 '@oxlint/binding-android-arm-eabi@1.72.0':3457 '@oxlint/binding-android-arm-eabi@1.79.0':
3458 resolution: {integrity: sha512-zhCmvn+1Mj3UchAc/90i99S0t7jJUsHmFVSPg4UWrjO8b8eaSGwscgO6QAUtvHBstkjQwBttQNswEnAF1mIQdA==}3458 resolution: {integrity: sha512-TebFaaMklO/RXzTv7PucaCq9l3X6D1gA+C8H6K4njtjFOV+zWE9MKLpulcJZN9bzytbUbQIY0mZuz12nQ5Kv4Q==}
3459 engines: {node: ^20.19.0 || >=22.12.0}3459 engines: {node: ^20.19.0 || >=22.12.0}
3460 cpu: [arm]3460 cpu: [arm]
3461 os: [android]3461 os: [android]
34623462
3463 '@oxlint/binding-android-arm64@1.72.0':3463 '@oxlint/binding-android-arm64@1.79.0':
3464 resolution: {integrity: sha512-mtH+aY/ozv1eZoCUC2owjFAtyNBKHpJHygKeEu9zXXnQGW1Q2/qOpvx+I+Lf23+TvTz66F4iiXUbl2cGvoLPCQ==}3464 resolution: {integrity: sha512-KqqnOtAVgNsPPF0YSodkFZA1O80jcKoCZCTu3bgsszxA+MrMP9TLzfXitKjEj1FmrPprKDMdRDMmY3weESO9sg==}
3465 engines: {node: ^20.19.0 || >=22.12.0}3465 engines: {node: ^20.19.0 || >=22.12.0}
3466 cpu: [arm64]3466 cpu: [arm64]
3467 os: [android]3467 os: [android]
34683468
3469 '@oxlint/binding-darwin-arm64@1.72.0':3469 '@oxlint/binding-darwin-arm64@1.79.0':
3470 resolution: {integrity: sha512-EvnajNPDtfknB3ZieeOOyDTwJn9QXDiwfnF4ZDQqART6RG6hjY4WigQcZdGoK2dkB3e1vrmEzN9aYbQCUkh/gQ==}3470 resolution: {integrity: sha512-BVC2nsMzqQzRDPc5RhixkZ+m1p7iH4bxRRvqkbwDXX0PlQKm1BPy8J8cRjnAFafOq2QzI+BfO3vE8w2GZ3CBag==}
3471 engines: {node: ^20.19.0 || >=22.12.0}3471 engines: {node: ^20.19.0 || >=22.12.0}
3472 cpu: [arm64]3472 cpu: [arm64]
3473 os: [darwin]3473 os: [darwin]
34743474
3475 '@oxlint/binding-darwin-x64@1.72.0':3475 '@oxlint/binding-darwin-x64@1.79.0':
3476 resolution: {integrity: sha512-ZkCdEa/G80A7vEHfeCDz/+L3m33DE73v32mDKhgOIgz8Uwf0DFcK7+uu6qC+7LEhmz5fpOe1osWKyjSNMydFIQ==}3476 resolution: {integrity: sha512-p6Lm+snmhGuLKL1+CpCV8L6ijkE/qJzK2H2jG9+eKJT0n31RbY4FLsdhexekgP3bLpw4Kgde+9DZuDZQ4yIInA==}
3477 engines: {node: ^20.19.0 || >=22.12.0}3477 engines: {node: ^20.19.0 || >=22.12.0}
3478 cpu: [x64]3478 cpu: [x64]
3479 os: [darwin]3479 os: [darwin]
34803480
3481 '@oxlint/binding-freebsd-x64@1.72.0':3481 '@oxlint/binding-freebsd-x64@1.79.0':
3482 resolution: {integrity: sha512-NroXv2vh+sxVY1uya/rM5pjhx1hm8BzlYpx9q67QP0Xhw5MH2bf5GJylpvLEC+781p1Xli/317EoV9AlGwViag==}3482 resolution: {integrity: sha512-qDMm0dXZnoHyRqSL4N4xUq82T4sqK5cbKSjvd/dF/YbMUXc2R1wEPf+vmA5S0qUmi0nwXfNbjXBtZaIqzQLIMg==}
3483 engines: {node: ^20.19.0 || >=22.12.0}3483 engines: {node: ^20.19.0 || >=22.12.0}
3484 cpu: [x64]3484 cpu: [x64]
3485 os: [freebsd]3485 os: [freebsd]
34863486
3487 '@oxlint/binding-linux-arm-gnueabihf@1.72.0':3487 '@oxlint/binding-linux-arm-gnueabihf@1.79.0':
3488 resolution: {integrity: sha512-0NDywYgfj279Ou/BcQuCYSj7NJwBfmWn5qc5uGO/Ny7fUWmXyIpvawqX/8acQlWG6IXelJsJhj+JAy6sjsKj0A==}3488 resolution: {integrity: sha512-2od7s0nuKPzqyUZAWk9KkCyGg7eI9dwFPZg+20lB15fKFkVZ0c9ZFxqPfiBAyDTlTkh9stPI0t+JlPCqMbItVA==}
3489 engines: {node: ^20.19.0 || >=22.12.0}3489 engines: {node: ^20.19.0 || >=22.12.0}
3490 cpu: [arm]3490 cpu: [arm]
3491 os: [linux]3491 os: [linux]
34923492
3493 '@oxlint/binding-linux-arm-musleabihf@1.72.0':3493 '@oxlint/binding-linux-arm-musleabihf@1.79.0':
3494 resolution: {integrity: sha512-4vpXB06h65Ezsy4hRyrGjGrfa1SkVPii09yaajiYhmVpgsFiLD+KNxIx/BNAY+XiO+i1yqp9HHdwqM8VTqa5XQ==}3494 resolution: {integrity: sha512-ZOQUjkzDnvlhSE3+tWC3YXx94MMl+sYMlwH+u1+YGApGHOJP/YAc8ZBRFOXZ6eOBmxtXAWuS/fBcdZr8qqNO1A==}
3495 engines: {node: ^20.19.0 || >=22.12.0}3495 engines: {node: ^20.19.0 || >=22.12.0}
3496 cpu: [arm]3496 cpu: [arm]
3497 os: [linux]3497 os: [linux]
34983498
3499 '@oxlint/binding-linux-arm64-gnu@1.72.0':3499 '@oxlint/binding-linux-arm64-gnu@1.79.0':
3500 resolution: {integrity: sha512-immaN4g2ZGFiOkKrvRX9LvzZdd2GkQM5wR+UyzYyUuyhUTXGQ4HKUJH18xp4G8OfhCVaVAJfKZxwE1r8+4hhaQ==}3500 resolution: {integrity: sha512-lu158FR4nGqGeRS3BQvtG85wRgU/Fy4MD5Cxp1hzJXizGiLo6u2742wJSCDKh8cFcZntvX7fcxlq4mMmfryH1g==}
3501 engines: {node: ^20.19.0 || >=22.12.0}3501 engines: {node: ^20.19.0 || >=22.12.0}
3502 cpu: [arm64]3502 cpu: [arm64]
3503 os: [linux]3503 os: [linux]
3504 libc: [glibc]3504 libc: [glibc]
35053505
3506 '@oxlint/binding-linux-arm64-musl@1.72.0':3506 '@oxlint/binding-linux-arm64-musl@1.79.0':
3507 resolution: {integrity: sha512-JGHS9Mnr7iWyyLDxgCv1MhzVpAckgptg00F2gnxt/GD7lQ2SW1BRcxHqhSTaSdDpjWRrBkBxMMh4+Hn3aVtExg==}3507 resolution: {integrity: sha512-mbpKQeE2aflTjddaHK7MP8KP/OFbUM++lt5M635ENM8IyIdK0jm2t9pb+2v9mVVIvhF6TqA4l7F79Pll1mi+uw==}
3508 engines: {node: ^20.19.0 || >=22.12.0}3508 engines: {node: ^20.19.0 || >=22.12.0}
3509 cpu: [arm64]3509 cpu: [arm64]
3510 os: [linux]3510 os: [linux]
3511 libc: [musl]3511 libc: [musl]
35123512
3513 '@oxlint/binding-linux-ppc64-gnu@1.72.0':3513 '@oxlint/binding-linux-ppc64-gnu@1.79.0':
3514 resolution: {integrity: sha512-AOYgBZqxNshrg83P9v0RYv+m8s10Cqkj4/PxXFDhcS3k7FqsIG5+CxErshZCIN7G8iy4Y+VGfAsuEdar8AcbBg==}3514 resolution: {integrity: sha512-WpGNua7gaxaHnpSDeog2ji8IDHn/QLPl9LPzwkR/FvVv58vT5BcXjRXnU+wbu3N75cpeha8CdC7ho/U2OIsB4g==}
3515 engines: {node: ^20.19.0 || >=22.12.0}3515 engines: {node: ^20.19.0 || >=22.12.0}
3516 cpu: [ppc64]3516 cpu: [ppc64]
3517 os: [linux]3517 os: [linux]
3518 libc: [glibc]3518 libc: [glibc]
35193519
3520 '@oxlint/binding-linux-riscv64-gnu@1.72.0':3520 '@oxlint/binding-linux-riscv64-gnu@1.79.0':
3521 resolution: {integrity: sha512-QMybPS5ij3/vrKG67mqzHwW++91sYxK/PPUVi6SBtNCEzW4niS52fVBdXbQ6nou0wWbUPEpx8Sl/ZjtgE3clXA==}3521 resolution: {integrity: sha512-tK1E93A5LVzISg4ngpKJnfTs7EqtIUceGI7MQ4GyDjJiLi8wPCkEyKlj2xkyKWZ1yzkDJyLHTBJ5/iFWRdnJvg==}
3522 engines: {node: ^20.19.0 || >=22.12.0}3522 engines: {node: ^20.19.0 || >=22.12.0}
3523 cpu: [riscv64]3523 cpu: [riscv64]
3524 os: [linux]3524 os: [linux]
3525 libc: [glibc]3525 libc: [glibc]
35263526
3527 '@oxlint/binding-linux-riscv64-musl@1.72.0':3527 '@oxlint/binding-linux-riscv64-musl@1.79.0':
3528 resolution: {integrity: sha512-gOc3W7JV0PXRpIL7stUlLe3Wa9Gp0Kdlup87IT3gHDvPKck2xNgMIl/Gs2lldYY2lyXZDC4rWi3hmoLUobkgbQ==}3528 resolution: {integrity: sha512-qhQvUIrngXivA2A9pQ+xPCychztn/5qUv7yS3gDwXv3w7Rag+eTeeXWmRyx+t7XsW5x6LuY/8AsTq36UgFIblg==}
3529 engines: {node: ^20.19.0 || >=22.12.0}3529 engines: {node: ^20.19.0 || >=22.12.0}
3530 cpu: [riscv64]3530 cpu: [riscv64]
3531 os: [linux]3531 os: [linux]
3532 libc: [musl]3532 libc: [musl]
35333533
3534 '@oxlint/binding-linux-s390x-gnu@1.72.0':3534 '@oxlint/binding-linux-s390x-gnu@1.79.0':
3535 resolution: {integrity: sha512-rpGxph+FjjHcYI5q6uxB3Az+tnfmEnDbSA8+PK9ZE/VzyUAkvBOMeuY7ZQMhu5mpZH7YQDsTdW6Cx4kV/msc6w==}3535 resolution: {integrity: sha512-sv6AaVgU/eE6u+6WFiQVDcPPwTxP6IJMSB9k701W2r/r6Tx465e8vPvVyRxquNH4Vy6KwRNu90mVbxXJN8+5gg==}
3536 engines: {node: ^20.19.0 || >=22.12.0}3536 engines: {node: ^20.19.0 || >=22.12.0}
3537 cpu: [s390x]3537 cpu: [s390x]
3538 os: [linux]3538 os: [linux]
3539 libc: [glibc]3539 libc: [glibc]
35403540
3541 '@oxlint/binding-linux-x64-gnu@1.72.0':3541 '@oxlint/binding-linux-x64-gnu@1.79.0':
3542 resolution: {integrity: sha512-WND+uhf/Ko13SLqQMWQUgsZuLvYYEvL0ZKgg0tgGYfLqxG7l8Ju123fHDMJyYSDl5E3bUbpFUuii/OvMreFQzw==}3542 resolution: {integrity: sha512-iFZL02deziHslb3jEX9KdqlAkYoo4fGyotchKDzdfK1f5mxlIBeiQeHhvK3iFpuEJSB4ma/qeFn9oxPiwnhUPQ==}
3543 engines: {node: ^20.19.0 || >=22.12.0}3543 engines: {node: ^20.19.0 || >=22.12.0}
3544 cpu: [x64]3544 cpu: [x64]
3545 os: [linux]3545 os: [linux]
3546 libc: [glibc]3546 libc: [glibc]
35473547
3548 '@oxlint/binding-linux-x64-musl@1.72.0':3548 '@oxlint/binding-linux-x64-musl@1.79.0':
3549 resolution: {integrity: sha512-SrpbrUL70nG9vh6zP4/oKHWgLuHquwsr7MW9XOn0olBVgh10Uqr8qscKhQoBGEn6olK/IUpn5GSKcdQ5AjUhGA==}3549 resolution: {integrity: sha512-3DtZR2raqObnh7wXZoFYFd0Fw7skBvcb3f7A+/lkEiDuh8hrE6vv9b/62Qxao1a9/OeHLw/FcXlXzgsW9wTRFg==}
3550 engines: {node: ^20.19.0 || >=22.12.0}3550 engines: {node: ^20.19.0 || >=22.12.0}
3551 cpu: [x64]3551 cpu: [x64]
3552 os: [linux]3552 os: [linux]
3553 libc: [musl]3553 libc: [musl]
35543554
3555 '@oxlint/binding-openharmony-arm64@1.72.0':3555 '@oxlint/binding-openharmony-arm64@1.79.0':
3556 resolution: {integrity: sha512-qkrsEn6NmgFKr7U/QnezQMb+q/vzAy0Dd9Y95gQGQTyjzDLN+HRZMuM5u70iyH4nBLCfKBzhjMsYCehKay2jyg==}3556 resolution: {integrity: sha512-Oatt4GuA1WJkqzk2ozx4HrWROOi7opV3AKDw/U8qDIqeTqzsjn5K2x3REJMNjU3/KU/Bkq96Zi3CknaiDTaC/Q==}
3557 engines: {node: ^20.19.0 || >=22.12.0}3557 engines: {node: ^20.19.0 || >=22.12.0}
3558 cpu: [arm64]3558 cpu: [arm64]
3559 os: [openharmony]3559 os: [openharmony]
35603560
3561 '@oxlint/binding-win32-arm64-msvc@1.72.0':3561 '@oxlint/binding-win32-arm64-msvc@1.79.0':
3562 resolution: {integrity: sha512-LWR6ZlFZph+KPjXv8opgZsXRDCdrdQe8VL8Cg9zxCoBS73h6znzZpydVgmdnwj8mB9AuSM5jxEgDJDpQkjboeg==}3562 resolution: {integrity: sha512-NAgZr9Qp8nIA9rpo0JEvwiabTF/2UVqBNnupBG9X4kxXcQoScJUTi+qHhvabb9s/thgj5wQ4XcIaJvb+ZMgoKw==}
3563 engines: {node: ^20.19.0 || >=22.12.0}3563 engines: {node: ^20.19.0 || >=22.12.0}
3564 cpu: [arm64]3564 cpu: [arm64]
3565 os: [win32]3565 os: [win32]
35663566
3567 '@oxlint/binding-win32-ia32-msvc@1.72.0':3567 '@oxlint/binding-win32-ia32-msvc@1.79.0':
3568 resolution: {integrity: sha512-yt6HEh7IsHvtjRWtmeZRX134eaXKHq5Gnqlf1xBJdJl1JtdoRUEJw3nAxpZoUDS860cX/foKbztO441anVBtVQ==}3568 resolution: {integrity: sha512-+KyXjIvcpaXmWW/j9NNY5yWjrIVxaX18VyIheQy3jwc2GSYgpCr7MGI/HxIGQ/shAL5IWEKbhsqoMpAO5Stiog==}
3569 engines: {node: ^20.19.0 || >=22.12.0}3569 engines: {node: ^20.19.0 || >=22.12.0}
3570 cpu: [ia32]3570 cpu: [ia32]
3571 os: [win32]3571 os: [win32]
35723572
3573 '@oxlint/binding-win32-x64-msvc@1.72.0':3573 '@oxlint/binding-win32-x64-msvc@1.79.0':
3574 resolution: {integrity: sha512-b2eKFD2hX7tIwmo/cyH6TDq8vzWRZ2qNHrzoGntUTmq0h3zQh/uX3eTSHCwI8OB/ADQfJCRelLItK8BsxuucDA==}3574 resolution: {integrity: sha512-mEelcCMMBS57sIXh2veGMNy+pQwuGtcMxHxGIZWQ5Ba9pJ5jCCUFOZB9E2JhBaxGsURe+WGe0zJp4RVre52gpQ==}
3575 engines: {node: ^20.19.0 || >=22.12.0}3575 engines: {node: ^20.19.0 || >=22.12.0}
3576 cpu: [x64]3576 cpu: [x64]
3577 os: [win32]3577 os: [win32]
...@@ -3580,6 +3580,10 @@ packages:...@@ -3580,6 +3580,10 @@ packages:
3580 resolution: {integrity: sha512-titLmukUt/h8ho7Svlf0xSBjoy2ccZKrXjpXpZCj+v6V4CJccC2KyP45BLSCMx8YIpifMyiDyUptM4+5sruKbQ==}3580 resolution: {integrity: sha512-titLmukUt/h8ho7Svlf0xSBjoy2ccZKrXjpXpZCj+v6V4CJccC2KyP45BLSCMx8YIpifMyiDyUptM4+5sruKbQ==}
3581 engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}3581 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
3583 '@peculiar/asn1-schema@2.8.0':3587 '@peculiar/asn1-schema@2.8.0':
3584 resolution: {integrity: sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q==}3588 resolution: {integrity: sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q==}
35853589
...@@ -4859,21 +4863,21 @@ packages:...@@ -4859,21 +4863,21 @@ packages:
4859 babel-plugin-react-compiler:4863 babel-plugin-react-compiler:
4860 optional: true4864 optional: true
48614865
4862 '@vitest/browser-preview@4.1.9':4866 '@vitest/browser-preview@4.1.11':
4863 resolution: {integrity: sha512-a4/OrkMDb/WUnE4OOB/4FJbK3rYVO7YykqtUgcTKG4p2a0R3XcjPVu7SLRHFBs2+NIYhv5yxp1Lz3dbdGBjIow==}4867 resolution: {integrity: sha512-iPKSE6Ibayey6HFgK1V1/aHgyhx7HSRk1YMi+lnBZGmlIiNV5Uc7xRkD9Su8RDylTxDECK23t7kTHdRKoqSYDQ==}
4864 peerDependencies:4868 peerDependencies:
4865 vitest: 4.1.94869 vitest: 4.1.11
48664870
4867 '@vitest/browser@4.1.9':4871 '@vitest/browser@4.1.11':
4868 resolution: {integrity: sha512-j1BKtWmPcqpMhmx/L9EPLgAJpCb0zKfwoWLmqBbxaogCXHjOwHFSEoHCBfnGtx93xKQwilZ26m+UOsHqHMkRNg==}4872 resolution: {integrity: sha512-bwMovvAeuTFOK5kIFevw4VEf+1gVEICv4SYK4k3knJOxl6b1zEWud8mYKD73e1B0odAn174h1MofURy2TPWf3w==}
4869 peerDependencies:4873 peerDependencies:
4870 vitest: 4.1.94874 vitest: 4.1.11
48714875
4872 '@vitest/expect@4.1.9':4876 '@vitest/expect@4.1.11':
4873 resolution: {integrity: sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==}4877 resolution: {integrity: sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw==}
48744878
4875 '@vitest/mocker@4.1.9':4879 '@vitest/mocker@4.1.11':
4876 resolution: {integrity: sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==}4880 resolution: {integrity: sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==}
4877 peerDependencies:4881 peerDependencies:
4878 msw: ^2.4.94882 msw: ^2.4.9
4879 vite: ^6.0.0 || ^7.0.0 || ^8.0.04883 vite: ^6.0.0 || ^7.0.0 || ^8.0.0
...@@ -4883,28 +4887,28 @@ packages:...@@ -4883,28 +4887,28 @@ packages:
4883 vite:4887 vite:
4884 optional: true4888 optional: true
48854889
4886 '@vitest/pretty-format@4.1.9':4890 '@vitest/pretty-format@4.1.11':
4887 resolution: {integrity: sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==}4891 resolution: {integrity: sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw==}
48884892
4889 '@vitest/runner@4.1.9':4893 '@vitest/runner@4.1.11':
4890 resolution: {integrity: sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==}4894 resolution: {integrity: sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==}
48914895
4892 '@vitest/snapshot@4.1.9':4896 '@vitest/snapshot@4.1.11':
4893 resolution: {integrity: sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==}4897 resolution: {integrity: sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==}
48944898
4895 '@vitest/spy@4.1.9':4899 '@vitest/spy@4.1.11':
4896 resolution: {integrity: sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==}4900 resolution: {integrity: sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==}
48974901
4898 '@vitest/utils@4.1.9':4902 '@vitest/utils@4.1.11':
4899 resolution: {integrity: sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==}4903 resolution: {integrity: sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==}
49004904
4901 '@voidzero-dev/vite-plus-core@0.2.2':4905 '@voidzero-dev/vite-plus-core@0.3.0':
4902 resolution: {integrity: sha512-yAbKexF3npOGjg1N5EtXxun+7vdM/0x6QE5jucO/dv0LFhCAIzSN3UvLVCeamJt/Bz3jt7DLqQHEgXXrjy8drA==}4906 resolution: {integrity: sha512-aOqoqIWaF+Q/geDU48pC2rVFEVSvLV1GGj/NdvhUiBhCZntoFNbwI+hjUeG8BMaPG67sOV6ey+/sgkdmGmKqaw==}
4903 engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0}4907 engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0}
4904 peerDependencies:4908 peerDependencies:
4905 '@arethetypeswrong/core': ^0.18.14909 '@arethetypeswrong/core': ^0.18.1
4906 '@types/node': 24.12.44910 '@types/node': 24.12.4
4907 '@vitejs/devtools': ^0.3.04911 '@vitejs/devtools': ^0.4.0 || ^0.5.0
4908 esbuild: ^0.27.0 || ^0.28.04912 esbuild: ^0.27.0 || ^0.28.0
4909 jiti: '>=1.21.0'4913 jiti: '>=1.21.0'
4910 less: ^4.0.04914 less: ^4.0.0
...@@ -4915,7 +4919,7 @@ packages:...@@ -4915,7 +4919,7 @@ packages:
4915 sugarss: ^5.0.04919 sugarss: ^5.0.0
4916 terser: ^5.16.04920 terser: ^5.16.0
4917 tsx: ^4.8.14921 tsx: ^4.8.1
4918 typescript: ^5.0.0 || ^6.0.04922 typescript: ^5.0.0 || ^6.0.0 || ^7.0.0
4919 unplugin-unused: ^0.5.04923 unplugin-unused: ^0.5.0
4920 unrun: '*'4924 unrun: '*'
4921 yaml: ^2.9.04925 yaml: ^2.9.0
...@@ -4955,54 +4959,54 @@ packages:...@@ -4955,54 +4959,54 @@ packages:
4955 yaml:4959 yaml:
4956 optional: true4960 optional: true
49574961
4958 '@voidzero-dev/vite-plus-darwin-arm64@0.2.2':4962 '@voidzero-dev/vite-plus-darwin-arm64@0.3.0':
4959 resolution: {integrity: sha512-Wy0Shx3Waa2cQZGSrPm0cpO1Y5oNyKyC1jarv12bBcgV+4uoEBKX+ep2Nh7zwjfd8Ja4QMiePE7wciOSXxu8oQ==}4963 resolution: {integrity: sha512-9ADr1egZ8T4tJOqrpQLhoDl95Y74R95+bsvjmin0gy1C0eQVhpmcNnBfb07KFNhJioJp9MMO7F7Dx4fQL5SKsw==}
4960 engines: {node: '>=20.0.0'}4964 engines: {node: '>=20.0.0'}
4961 cpu: [arm64]4965 cpu: [arm64]
4962 os: [darwin]4966 os: [darwin]
49634967
4964 '@voidzero-dev/vite-plus-darwin-x64@0.2.2':4968 '@voidzero-dev/vite-plus-darwin-x64@0.3.0':
4965 resolution: {integrity: sha512-09xcW67OvsQItVPzmF8UckI+glM3DzyQO3A98deNQ4QtUF7Mt+4/cYKKcLKg2ExRWWXGNDnVG/j7/hiLjZzynw==}4969 resolution: {integrity: sha512-GegasVCwNeDOkNyvhLOuwU1+T2JkjY/Tq+SOvwphUpVcqQ6OOAUq9LlpoXviO2QL/Kq2NbMYjiAfPKVSTLUFQw==}
4966 engines: {node: '>=20.0.0'}4970 engines: {node: '>=20.0.0'}
4967 cpu: [x64]4971 cpu: [x64]
4968 os: [darwin]4972 os: [darwin]
49694973
4970 '@voidzero-dev/vite-plus-linux-arm64-gnu@0.2.2':4974 '@voidzero-dev/vite-plus-linux-arm64-gnu@0.3.0':
4971 resolution: {integrity: sha512-bR6287UFNwulMiQRhbtXF8GYs9a8EjvefXf+Glm7AzbePUXnamW9cwYIj2j4Dgoje0yC4gA52UePEFjXZnJcjA==}4975 resolution: {integrity: sha512-nYI3KNYXkXjRPsSdR4Lr7J2xMxfR1+TplWlG/dV37qVXWAjbyHpoAlbULjZBAVJMyXRNlcADhBrEwXe4g6s48A==}
4972 engines: {node: '>=20.0.0'}4976 engines: {node: '>=20.0.0'}
4973 cpu: [arm64]4977 cpu: [arm64]
4974 os: [linux]4978 os: [linux]
4975 libc: [glibc]4979 libc: [glibc]
49764980
4977 '@voidzero-dev/vite-plus-linux-arm64-musl@0.2.2':4981 '@voidzero-dev/vite-plus-linux-arm64-musl@0.3.0':
4978 resolution: {integrity: sha512-YGtvTHT7qP4c5pZmM4kLL78/d8hj2NS150R92cR2SVOW/l9Ilq5R5WrEiMA4k5Ea3B++IJWZT5MRFI0tW9qlcg==}4982 resolution: {integrity: sha512-HRlVA3AOcuGXmOdHhQ+Zv5XAaKbYF9si5rRHoOsKl0UyBo4txA3OoJfmP0WjanfLUNmu85JyO2dO1ptL4C6wgg==}
4979 engines: {node: '>=20.0.0'}4983 engines: {node: '>=20.0.0'}
4980 cpu: [arm64]4984 cpu: [arm64]
4981 os: [linux]4985 os: [linux]
4982 libc: [musl]4986 libc: [musl]
49834987
4984 '@voidzero-dev/vite-plus-linux-x64-gnu@0.2.2':4988 '@voidzero-dev/vite-plus-linux-x64-gnu@0.3.0':
4985 resolution: {integrity: sha512-FvaMI/vsy4PVM+Qd73K+KM8blfCAfaoZaGaGWNrrlMryhyPThXPnHoB1AQcrKbEAWb+z2fc4zLS4sH+8uI65fw==}4989 resolution: {integrity: sha512-9A+dFScPfwcrzF/rRR0zH8++2hOf6xtFmN/5LyzyfUywtw9MILXcC72IMcOeL6QRJwKUMsudi1rFeDE59azNvw==}
4986 engines: {node: '>=20.0.0'}4990 engines: {node: '>=20.0.0'}
4987 cpu: [x64]4991 cpu: [x64]
4988 os: [linux]4992 os: [linux]
4989 libc: [glibc]4993 libc: [glibc]
49904994
4991 '@voidzero-dev/vite-plus-linux-x64-musl@0.2.2':4995 '@voidzero-dev/vite-plus-linux-x64-musl@0.3.0':
4992 resolution: {integrity: sha512-ZsMochHqXqxj2sGTJNJzz3vabppbe4BFgZAjJfsnVzkwR7jv6c5p1BM71LFWxP4qd5LL0TJT7lbeRhALlI44RQ==}4996 resolution: {integrity: sha512-KfIV3qaPdaOOE8JQMRHRE34FtZocl9O86XLTP6JMjDUlcx8FPgf8/fz/HFqJ8g232vM+JsgLI/YTVeXP8LkTKw==}
4993 engines: {node: '>=20.0.0'}4997 engines: {node: '>=20.0.0'}
4994 cpu: [x64]4998 cpu: [x64]
4995 os: [linux]4999 os: [linux]
4996 libc: [musl]5000 libc: [musl]
49975001
4998 '@voidzero-dev/vite-plus-win32-arm64-msvc@0.2.2':5002 '@voidzero-dev/vite-plus-win32-arm64-msvc@0.3.0':
4999 resolution: {integrity: sha512-noBNyJufux0cf18eDpQLOQUZ1Kybfx9zlr+yQ6gAnxMEsQXSvYqZgWymfRDesBE3G/0XB5bg+AUtWijp3TwVcw==}5003 resolution: {integrity: sha512-KRhdy5K13AYx9KBfCVHRrK7zSZU+bMW9CL6gTai+UkJgAmDJi1kjdSNboZOjO8mrzUnTCrELgMI2tnstcxSTuA==}
5000 engines: {node: '>=20.0.0'}5004 engines: {node: '>=20.0.0'}
5001 cpu: [arm64]5005 cpu: [arm64]
5002 os: [win32]5006 os: [win32]
50035007
5004 '@voidzero-dev/vite-plus-win32-x64-msvc@0.2.2':5008 '@voidzero-dev/vite-plus-win32-x64-msvc@0.3.0':
5005 resolution: {integrity: sha512-+VUui1OIaFX0tqdUAXjmoKVlujEtWVdcsFDw2Jff+D6b4LUTQaOMAaaic8nNdfZL6wEjweRREQLZi/icZAXtNQ==}5009 resolution: {integrity: sha512-7+G+GxGmxdpQO0zjiGnkZFXKGqm0CrVduebRsJd6ccuOuxCQYPxLcoHq4WOaGrh56SrAGS7XjhnQCrXRkzKUVQ==}
5006 engines: {node: '>=20.0.0'}5010 engines: {node: '>=20.0.0'}
5007 cpu: [x64]5011 cpu: [x64]
5008 os: [win32]5012 os: [win32]
...@@ -5043,6 +5047,131 @@ packages:...@@ -5043,6 +5047,131 @@ packages:
5043 engines: {node: '>=14.6'}5047 engines: {node: '>=14.6'}
5044 deprecated: this version has critical issues, please update to the latest version5048 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
5046 '@yuuang/ffi-rs-android-arm64@1.3.2':5175 '@yuuang/ffi-rs-android-arm64@1.3.2':
5047 resolution: {integrity: sha512-eDYLT0kVBkp7e2BwdRDmt6N1rkeDPUHDefk3ZX0/nok+GLsqfy1WBoSL3Yg7HVXN1EyW8OBVc2uK8Zq8HbmaSA==}5176 resolution: {integrity: sha512-eDYLT0kVBkp7e2BwdRDmt6N1rkeDPUHDefk3ZX0/nok+GLsqfy1WBoSL3Yg7HVXN1EyW8OBVc2uK8Zq8HbmaSA==}
5048 engines: {node: '>= 12'}5177 engines: {node: '>= 12'}
...@@ -8267,8 +8396,8 @@ packages:...@@ -8267,8 +8396,8 @@ packages:
8267 outvariant@1.4.3:8396 outvariant@1.4.3:
8268 resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==}8397 resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==}
82698398
8270 oxfmt@0.57.0:8399 oxfmt@0.64.0:
8271 resolution: {integrity: sha512-ZB7Bi+rGDSqmVIo9jwcLyFgjxXvQhDdU+jx+ZrVy6VRiVXK2+CHc4hO3J4dUQjHe7V0ymHB+MDuv5z+NhK07HA==}8400 resolution: {integrity: sha512-XZ4GFBN/PLbXKq+0zrgpQfPKYuJlUuj+nzZJY7UpIbFMNyefNLCdN9EwViycNqnYcv0wrn0jXcQLlqJp8RCKBg==}
8272 engines: {node: ^20.19.0 || >=22.12.0}8401 engines: {node: ^20.19.0 || >=22.12.0}
8273 hasBin: true8402 hasBin: true
8274 peerDependencies:8403 peerDependencies:
...@@ -8280,16 +8409,16 @@ packages:...@@ -8280,16 +8409,16 @@ packages:
8280 vite-plus:8409 vite-plus:
8281 optional: true8410 optional: true
82828411
8283 oxlint-tsgolint@0.24.0:8412 oxlint-tsgolint@7.0.2001:
8284 resolution: {integrity: sha512-giCk5sEvG02d5tzPmFMX3hem8ndzEEu1xvGYS5OwNfO2WGl6ZVxt5LjE0yiMDoz94INI7XkXwgFAQiydPvVHDw==}8413 resolution: {integrity: sha512-KjK/XLcXr1DSyonKhsuFqJRiuKqcyG9j3LJ8nkOsrLzGvodBPqzHOKauy10asLMDI0sUpvb+1sxlzff3udZvfg==}
8285 hasBin: true8414 hasBin: true
82868415
8287 oxlint@1.72.0:8416 oxlint@1.79.0:
8288 resolution: {integrity: sha512-1rhdZIP/EvoI91ABIwNU5Q8+bWf8mjrS5UzIOZld4d4bXxJvtlUhlQvaoTogIGin/qdErMOrwaIJvCSIAKTLhA==}8417 resolution: {integrity: sha512-hVJ9hq9m2unPS+Of4eJJgCPdIeCC+3DHEUX3tkmrPJr3OK2hz7PhXwgC+ZP71ZcYu8cCDEtQrqLxWNvxBppBVg==}
8289 engines: {node: ^20.19.0 || >=22.12.0}8418 engines: {node: ^20.19.0 || >=22.12.0}
8290 hasBin: true8419 hasBin: true
8291 peerDependencies:8420 peerDependencies:
8292 oxlint-tsgolint: '>=0.22.1'8421 oxlint-tsgolint: '>=7.0.2001'
8293 vite-plus: '*'8422 vite-plus: '*'
8294 peerDependenciesMeta:8423 peerDependenciesMeta:
8295 oxlint-tsgolint:8424 oxlint-tsgolint:
...@@ -9881,13 +10010,13 @@ packages:...@@ -9881,13 +10010,13 @@ packages:
9881 vfile@6.0.3:10010 vfile@6.0.3:
9882 resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}10011 resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
988310012
9884 vite-plus@0.2.2:10013 vite-plus@0.3.0:
9885 resolution: {integrity: sha512-bXO3O0F2/uxtvX9Ck0o67stTErH/Zh0GEcCMd9pAh22tTHABCNTDPrRMWVo733e7Ux3h0Y7HanJ7neOV/nid4g==}10014 resolution: {integrity: sha512-GNWbWuWD37frCSFrz6MLzUo62bTv5IOJozHEgZYOkxsLkuQtTwm4TowzpfoGrSsfwhAAtfPd/sK1Y0+v1SwhZA==}
9886 engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0}10015 engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0}
9887 hasBin: true10016 hasBin: true
9888 peerDependencies:10017 peerDependencies:
9889 '@vitest/browser-playwright': 4.1.910018 '@vitest/browser-playwright': 4.1.11
9890 '@vitest/browser-webdriverio': 4.1.910019 '@vitest/browser-webdriverio': 4.1.11
9891 peerDependenciesMeta:10020 peerDependenciesMeta:
9892 '@vitest/browser-playwright':10021 '@vitest/browser-playwright':
9893 optional: true10022 optional: true
...@@ -9902,20 +10031,20 @@ packages:...@@ -9902,20 +10031,20 @@ packages:
9902 vite:10031 vite:
9903 optional: true10032 optional: true
990410033
9905 vitest@4.1.9:10034 vitest@4.1.11:
9906 resolution: {integrity: sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==}10035 resolution: {integrity: sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw==}
9907 engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}10036 engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
9908 hasBin: true10037 hasBin: true
9909 peerDependencies:10038 peerDependencies:
9910 '@edge-runtime/vm': '*'10039 '@edge-runtime/vm': '*'
9911 '@opentelemetry/api': ^1.9.010040 '@opentelemetry/api': ^1.9.0
9912 '@types/node': 24.12.410041 '@types/node': 24.12.4
9913 '@vitest/browser-playwright': 4.1.910042 '@vitest/browser-playwright': 4.1.11
9914 '@vitest/browser-preview': 4.1.910043 '@vitest/browser-preview': 4.1.11
9915 '@vitest/browser-webdriverio': 4.1.910044 '@vitest/browser-webdriverio': 4.1.11
9916 '@vitest/coverage-istanbul': 4.1.910045 '@vitest/coverage-istanbul': 4.1.11
9917 '@vitest/coverage-v8': 4.1.910046 '@vitest/coverage-v8': 4.1.11
9918 '@vitest/ui': 4.1.910047 '@vitest/ui': 4.1.11
9919 happy-dom: '*'10048 happy-dom: '*'
9920 jsdom: '*'10049 jsdom: '*'
9921 vite: ^6.0.0 || ^7.0.0 || ^8.0.010050 vite: ^6.0.0 || ^7.0.0 || ^8.0.0
...@@ -10233,6 +10362,12 @@ packages:...@@ -10233,6 +10362,12 @@ packages:
10233 yoga-layout@3.2.1:10362 yoga-layout@3.2.1:
10234 resolution: {integrity: sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==}10363 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
10236 zod-to-json-schema@3.25.2:10371 zod-to-json-schema@3.25.2:
10237 resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==}10372 resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==}
10238 peerDependencies:10373 peerDependencies:
...@@ -11420,14 +11555,14 @@ snapshots:...@@ -11420,14 +11555,14 @@ snapshots:
11420 '@distilled.cloud/core': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))11555 '@distilled.cloud/core': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
11421 effect: 4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)11556 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)':
11424 dependencies:11559 dependencies:
11425 '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260704.1)11560 '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260704.1)
11426 magic-string: 0.30.2111561 magic-string: 0.30.21
11427 unenv: 2.0.0-rc.2411562 unenv: 2.0.0-rc.24
11428 optionalDependencies:11563 optionalDependencies:
11429 rolldown: 1.1.511564 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)'
11431 transitivePeerDependencies:11566 transitivePeerDependencies:
11432 - workerd11567 - workerd
1143311568
...@@ -11441,13 +11576,13 @@ snapshots:...@@ -11441,13 +11576,13 @@ snapshots:
11441 '@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)11576 '@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)
11442 '@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)11577 '@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)':
11445 dependencies:11580 dependencies:
11446 '@distilled.cloud/cloudflare': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))11581 '@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)
11448 '@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))11583 '@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))
11449 effect: 4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6)11584 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)'
11451 optionalDependencies:11586 optionalDependencies:
11452 '@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)11587 '@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)
11453 '@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)11588 '@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:...@@ -13149,149 +13284,151 @@ snapshots:
1314913284
13150 '@oslojs/encoding@1.1.0': {}13285 '@oslojs/encoding@1.1.0': {}
1315113286
13152 '@oxc-project/runtime@0.138.0': {}13287 '@oxc-project/runtime@0.146.0': {}
1315313288
13154 '@oxc-project/types@0.127.0':13289 '@oxc-project/types@0.127.0':
13155 optional: true13290 optional: true
1315613291
13157 '@oxc-project/types@0.138.0': {}
13158
13159 '@oxc-project/types@0.139.0': {}13292 '@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':
13162 optional: true13297 optional: true
1316313298
13164 '@oxfmt/binding-android-arm64@0.57.0':13299 '@oxfmt/binding-android-arm64@0.64.0':
13165 optional: true13300 optional: true
1316613301
13167 '@oxfmt/binding-darwin-arm64@0.57.0':13302 '@oxfmt/binding-darwin-arm64@0.64.0':
13168 optional: true13303 optional: true
1316913304
13170 '@oxfmt/binding-darwin-x64@0.57.0':13305 '@oxfmt/binding-darwin-x64@0.64.0':
13171 optional: true13306 optional: true
1317213307
13173 '@oxfmt/binding-freebsd-x64@0.57.0':13308 '@oxfmt/binding-freebsd-x64@0.64.0':
13174 optional: true13309 optional: true
1317513310
13176 '@oxfmt/binding-linux-arm-gnueabihf@0.57.0':13311 '@oxfmt/binding-linux-arm-gnueabihf@0.64.0':
13177 optional: true13312 optional: true
1317813313
13179 '@oxfmt/binding-linux-arm-musleabihf@0.57.0':13314 '@oxfmt/binding-linux-arm-musleabihf@0.64.0':
13180 optional: true13315 optional: true
1318113316
13182 '@oxfmt/binding-linux-arm64-gnu@0.57.0':13317 '@oxfmt/binding-linux-arm64-gnu@0.64.0':
13183 optional: true13318 optional: true
1318413319
13185 '@oxfmt/binding-linux-arm64-musl@0.57.0':13320 '@oxfmt/binding-linux-arm64-musl@0.64.0':
13186 optional: true13321 optional: true
1318713322
13188 '@oxfmt/binding-linux-ppc64-gnu@0.57.0':13323 '@oxfmt/binding-linux-ppc64-gnu@0.64.0':
13189 optional: true13324 optional: true
1319013325
13191 '@oxfmt/binding-linux-riscv64-gnu@0.57.0':13326 '@oxfmt/binding-linux-riscv64-gnu@0.64.0':
13192 optional: true13327 optional: true
1319313328
13194 '@oxfmt/binding-linux-riscv64-musl@0.57.0':13329 '@oxfmt/binding-linux-riscv64-musl@0.64.0':
13195 optional: true13330 optional: true
1319613331
13197 '@oxfmt/binding-linux-s390x-gnu@0.57.0':13332 '@oxfmt/binding-linux-s390x-gnu@0.64.0':
13198 optional: true13333 optional: true
1319913334
13200 '@oxfmt/binding-linux-x64-gnu@0.57.0':13335 '@oxfmt/binding-linux-x64-gnu@0.64.0':
13201 optional: true13336 optional: true
1320213337
13203 '@oxfmt/binding-linux-x64-musl@0.57.0':13338 '@oxfmt/binding-linux-x64-musl@0.64.0':
13204 optional: true13339 optional: true
1320513340
13206 '@oxfmt/binding-openharmony-arm64@0.57.0':13341 '@oxfmt/binding-openharmony-arm64@0.64.0':
13207 optional: true13342 optional: true
1320813343
13209 '@oxfmt/binding-win32-arm64-msvc@0.57.0':13344 '@oxfmt/binding-win32-arm64-msvc@0.64.0':
13210 optional: true13345 optional: true
1321113346
13212 '@oxfmt/binding-win32-ia32-msvc@0.57.0':13347 '@oxfmt/binding-win32-ia32-msvc@0.64.0':
13213 optional: true13348 optional: true
1321413349
13215 '@oxfmt/binding-win32-x64-msvc@0.57.0':13350 '@oxfmt/binding-win32-x64-msvc@0.64.0':
13216 optional: true13351 optional: true
1321713352
13218 '@oxlint-tsgolint/darwin-arm64@0.24.0':13353 '@oxlint-tsgolint/darwin-arm64@7.0.2001':
13219 optional: true13354 optional: true
1322013355
13221 '@oxlint-tsgolint/darwin-x64@0.24.0':13356 '@oxlint-tsgolint/darwin-x64@7.0.2001':
13222 optional: true13357 optional: true
1322313358
13224 '@oxlint-tsgolint/linux-arm64@0.24.0':13359 '@oxlint-tsgolint/linux-arm64@7.0.2001':
13225 optional: true13360 optional: true
1322613361
13227 '@oxlint-tsgolint/linux-x64@0.24.0':13362 '@oxlint-tsgolint/linux-x64@7.0.2001':
13228 optional: true13363 optional: true
1322913364
13230 '@oxlint-tsgolint/win32-arm64@0.24.0':13365 '@oxlint-tsgolint/win32-arm64@7.0.2001':
13231 optional: true13366 optional: true
1323213367
13233 '@oxlint-tsgolint/win32-x64@0.24.0':13368 '@oxlint-tsgolint/win32-x64@7.0.2001':
13234 optional: true13369 optional: true
1323513370
13236 '@oxlint/binding-android-arm-eabi@1.72.0':13371 '@oxlint/binding-android-arm-eabi@1.79.0':
13237 optional: true13372 optional: true
1323813373
13239 '@oxlint/binding-android-arm64@1.72.0':13374 '@oxlint/binding-android-arm64@1.79.0':
13240 optional: true13375 optional: true
1324113376
13242 '@oxlint/binding-darwin-arm64@1.72.0':13377 '@oxlint/binding-darwin-arm64@1.79.0':
13243 optional: true13378 optional: true
1324413379
13245 '@oxlint/binding-darwin-x64@1.72.0':13380 '@oxlint/binding-darwin-x64@1.79.0':
13246 optional: true13381 optional: true
1324713382
13248 '@oxlint/binding-freebsd-x64@1.72.0':13383 '@oxlint/binding-freebsd-x64@1.79.0':
13249 optional: true13384 optional: true
1325013385
13251 '@oxlint/binding-linux-arm-gnueabihf@1.72.0':13386 '@oxlint/binding-linux-arm-gnueabihf@1.79.0':
13252 optional: true13387 optional: true
1325313388
13254 '@oxlint/binding-linux-arm-musleabihf@1.72.0':13389 '@oxlint/binding-linux-arm-musleabihf@1.79.0':
13255 optional: true13390 optional: true
1325613391
13257 '@oxlint/binding-linux-arm64-gnu@1.72.0':13392 '@oxlint/binding-linux-arm64-gnu@1.79.0':
13258 optional: true13393 optional: true
1325913394
13260 '@oxlint/binding-linux-arm64-musl@1.72.0':13395 '@oxlint/binding-linux-arm64-musl@1.79.0':
13261 optional: true13396 optional: true
1326213397
13263 '@oxlint/binding-linux-ppc64-gnu@1.72.0':13398 '@oxlint/binding-linux-ppc64-gnu@1.79.0':
13264 optional: true13399 optional: true
1326513400
13266 '@oxlint/binding-linux-riscv64-gnu@1.72.0':13401 '@oxlint/binding-linux-riscv64-gnu@1.79.0':
13267 optional: true13402 optional: true
1326813403
13269 '@oxlint/binding-linux-riscv64-musl@1.72.0':13404 '@oxlint/binding-linux-riscv64-musl@1.79.0':
13270 optional: true13405 optional: true
1327113406
13272 '@oxlint/binding-linux-s390x-gnu@1.72.0':13407 '@oxlint/binding-linux-s390x-gnu@1.79.0':
13273 optional: true13408 optional: true
1327413409
13275 '@oxlint/binding-linux-x64-gnu@1.72.0':13410 '@oxlint/binding-linux-x64-gnu@1.79.0':
13276 optional: true13411 optional: true
1327713412
13278 '@oxlint/binding-linux-x64-musl@1.72.0':13413 '@oxlint/binding-linux-x64-musl@1.79.0':
13279 optional: true13414 optional: true
1328013415
13281 '@oxlint/binding-openharmony-arm64@1.72.0':13416 '@oxlint/binding-openharmony-arm64@1.79.0':
13282 optional: true13417 optional: true
1328313418
13284 '@oxlint/binding-win32-arm64-msvc@1.72.0':13419 '@oxlint/binding-win32-arm64-msvc@1.79.0':
13285 optional: true13420 optional: true
1328613421
13287 '@oxlint/binding-win32-ia32-msvc@1.72.0':13422 '@oxlint/binding-win32-ia32-msvc@1.79.0':
13288 optional: true13423 optional: true
1328913424
13290 '@oxlint/binding-win32-x64-msvc@1.72.0':13425 '@oxlint/binding-win32-x64-msvc@1.79.0':
13291 optional: true13426 optional: true
1329213427
13293 '@oxlint/plugins@1.68.0': {}13428 '@oxlint/plugins@1.68.0': {}
1329413429
13430 '@oxlint/plugins@1.79.0': {}
13431
13295 '@peculiar/asn1-schema@2.8.0':13432 '@peculiar/asn1-schema@2.8.0':
13296 dependencies:13433 dependencies:
13297 '@peculiar/utils': 2.0.313434 '@peculiar/utils': 2.0.3
...@@ -13850,7 +13987,7 @@ snapshots:...@@ -13850,7 +13987,7 @@ snapshots:
13850 '@rolldown/binding-win32-x64-msvc@1.1.5':13987 '@rolldown/binding-win32-x64-msvc@1.1.5':
13851 optional: true13988 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)':
13854 dependencies:13991 dependencies:
13855 '@babel/core': 7.29.713992 '@babel/core': 7.29.7
13856 picomatch: 4.0.413993 picomatch: 4.0.4
...@@ -13858,7 +13995,7 @@ snapshots:...@@ -13858,7 +13995,7 @@ snapshots:
13858 optionalDependencies:13995 optionalDependencies:
13859 '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7)13996 '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7)
13860 '@babel/runtime': 7.29.713997 '@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
13863 '@rolldown/pluginutils@1.0.0-rc.17':14000 '@rolldown/pluginutils@1.0.0-rc.17':
13864 optional: true14001 optional: true
...@@ -14169,12 +14306,12 @@ snapshots:...@@ -14169,12 +14306,12 @@ snapshots:
14169 '@tailwindcss/oxide-win32-arm64-msvc': 4.3.314306 '@tailwindcss/oxide-win32-arm64-msvc': 4.3.3
14170 '@tailwindcss/oxide-win32-x64-msvc': 4.3.314307 '@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))':
14173 dependencies:14310 dependencies:
14174 '@tailwindcss/node': 4.3.314311 '@tailwindcss/node': 4.3.3
14175 '@tailwindcss/oxide': 4.3.314312 '@tailwindcss/oxide': 4.3.3
14176 tailwindcss: 4.3.314313 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
14179 '@tanstack/devtools-event-client@0.4.3': {}14316 '@tanstack/devtools-event-client@0.4.3': {}
1418014317
...@@ -14237,7 +14374,7 @@ snapshots:...@@ -14237,7 +14374,7 @@ snapshots:
14237 transitivePeerDependencies:14374 transitivePeerDependencies:
14238 - supports-color14375 - 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))':
14241 dependencies:14378 dependencies:
14242 '@babel/core': 7.29.714379 '@babel/core': 7.29.7
14243 '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7)14380 '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7)
...@@ -14254,7 +14391,7 @@ snapshots:...@@ -14254,7 +14391,7 @@ snapshots:
14254 zod: 4.4.314391 zod: 4.4.3
14255 optionalDependencies:14392 optionalDependencies:
14256 '@tanstack/react-router': 1.170.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6)14393 '@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)'
14258 transitivePeerDependencies:14395 transitivePeerDependencies:
14259 - supports-color14396 - supports-color
1426014397
...@@ -14528,36 +14665,36 @@ snapshots:...@@ -14528,36 +14665,36 @@ snapshots:
14528 optionalDependencies:14665 optionalDependencies:
14529 ajv: 6.15.014666 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)':
14532 dependencies:14669 dependencies:
14533 '@rolldown/pluginutils': 1.0.114670 '@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)'
14535 optionalDependencies:14672 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)
14537 babel-plugin-react-compiler: 1.0.014674 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)':
14540 dependencies:14677 dependencies:
14541 '@testing-library/dom': 10.4.114678 '@testing-library/dom': 10.4.1
14542 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1)14679 '@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)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)
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))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))
14545 transitivePeerDependencies:14682 transitivePeerDependencies:
14546 - bufferutil14683 - bufferutil
14547 - msw14684 - msw
14548 - utf-8-validate14685 - utf-8-validate
14549 - vite14686 - 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)':
14552 dependencies:14689 dependencies:
14553 '@blazediff/core': 1.9.114690 '@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))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))
14555 '@vitest/utils': 4.1.914692 '@vitest/utils': 4.1.11
14556 magic-string: 0.30.2114693 magic-string: 0.30.21
14557 pngjs: 7.0.014694 pngjs: 7.0.0
14558 sirv: 3.0.214695 sirv: 3.0.2
14559 tinyrainbow: 3.1.014696 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))
14561 ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)14698 ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
14562 transitivePeerDependencies:14699 transitivePeerDependencies:
14563 - bufferutil14700 - bufferutil
...@@ -14565,56 +14702,66 @@ snapshots:...@@ -14565,56 +14702,66 @@ snapshots:
14565 - utf-8-validate14702 - utf-8-validate
14566 - vite14703 - vite
1456714704
14568 '@vitest/expect@4.1.9':14705 '@vitest/expect@4.1.11':
14569 dependencies:14706 dependencies:
14570 '@standard-schema/spec': 1.1.014707 '@standard-schema/spec': 1.1.0
14571 '@types/chai': 5.2.314708 '@types/chai': 5.2.3
14572 '@vitest/spy': 4.1.914709 '@vitest/spy': 4.1.11
14573 '@vitest/utils': 4.1.914710 '@vitest/utils': 4.1.11
14574 chai: 6.2.214711 chai: 6.2.2
14575 tinyrainbow: 3.1.014712 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))':
14578 dependencies:14715 dependencies:
14579 '@vitest/spy': 4.1.914716 '@vitest/spy': 4.1.11
14580 estree-walker: 3.0.314717 estree-walker: 3.0.3
14581 magic-string: 0.30.2114718 magic-string: 0.30.21
14582 optionalDependencies:14719 optionalDependencies:
14583 msw: 2.12.11(@types/node@24.12.4)(typescript@6.0.3)14720 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':
14587 dependencies:14724 dependencies:
14588 tinyrainbow: 3.1.014725 tinyrainbow: 3.1.0
1458914726
14590 '@vitest/runner@4.1.9':14727 '@vitest/runner@4.1.11':
14591 dependencies:14728 dependencies:
14592 '@vitest/utils': 4.1.914729 '@vitest/utils': 4.1.11
14593 pathe: 2.0.314730 pathe: 2.0.3
1459414731
14595 '@vitest/snapshot@4.1.9':14732 '@vitest/snapshot@4.1.11':
14596 dependencies:14733 dependencies:
14597 '@vitest/pretty-format': 4.1.914734 '@vitest/pretty-format': 4.1.11
14598 '@vitest/utils': 4.1.914735 '@vitest/utils': 4.1.11
14599 magic-string: 0.30.2114736 magic-string: 0.30.21
14600 pathe: 2.0.314737 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':
14605 dependencies:14742 dependencies:
14606 '@vitest/pretty-format': 4.1.914743 '@vitest/pretty-format': 4.1.11
14607 convert-source-map: 2.0.014744 convert-source-map: 2.0.0
14608 tinyrainbow: 3.1.014745 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)':
14611 dependencies:14748 dependencies:
14612 '@oxc-project/runtime': 0.138.014749 '@oxc-project/runtime': 0.146.0
14613 '@oxc-project/types': 0.138.014750 '@oxc-project/types': 0.146.0
14614 lightningcss: 1.33.014751 lightningcss: 1.33.0
14615 postcss: 8.5.1514752 postcss: 8.5.15
14753 yuku-codegen: 0.5.48
14754 yuku-parser: 0.5.48
14616 optionalDependencies:14755 optionalDependencies:
14617 '@types/node': 24.12.414756 '@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
14618 esbuild: 0.28.114765 esbuild: 0.28.1
14619 fsevents: 2.3.314766 fsevents: 2.3.3
14620 jiti: 2.7.014767 jiti: 2.7.0
...@@ -14623,28 +14770,28 @@ snapshots:...@@ -14623,28 +14770,28 @@ snapshots:
14623 unrun: 0.2.3914770 unrun: 0.2.39
14624 yaml: 2.9.014771 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':
14627 optional: true14774 optional: true
1462814775
14629 '@voidzero-dev/vite-plus-darwin-x64@0.2.2':14776 '@voidzero-dev/vite-plus-darwin-x64@0.3.0':
14630 optional: true14777 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':
14633 optional: true14780 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':
14636 optional: true14783 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':
14639 optional: true14786 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':
14642 optional: true14789 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':
14645 optional: true14792 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':
14648 optional: true14795 optional: true
1464914796
14650 '@volar/kit@2.4.28(typescript@6.0.3)':14797 '@volar/kit@2.4.28(typescript@6.0.3)':
...@@ -14701,6 +14848,74 @@ snapshots:...@@ -14701,6 +14848,74 @@ snapshots:
1470114848
14702 '@xmldom/xmldom@0.9.10': {}14849 '@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
14704 '@yuuang/ffi-rs-android-arm64@1.3.2':14919 '@yuuang/ffi-rs-android-arm64@1.3.2':
14705 optional: true14920 optional: true
1470614921
...@@ -14803,7 +15018,7 @@ snapshots:...@@ -14803,7 +15018,7 @@ snapshots:
14803 json-schema-traverse: 1.0.015018 json-schema-traverse: 1.0.0
14804 require-from-string: 2.0.215019 require-from-string: 2.0.2
1480515020
14806 alchemy@2.0.0-beta.65(00c448ade6580e73d10ccfe1b32cee97):15021 alchemy@2.0.0-beta.65(2233d007cbd93ff91712c637e233494f):
14807 dependencies:15022 dependencies:
14808 '@alchemy.run/node-utils': 0.0.515023 '@alchemy.run/node-utils': 0.0.5
14809 '@aws-sdk/credential-providers': 3.1062.015024 '@aws-sdk/credential-providers': 3.1062.0
...@@ -14811,9 +15026,9 @@ snapshots:...@@ -14811,9 +15026,9 @@ snapshots:
14811 '@distilled.cloud/aws': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))15026 '@distilled.cloud/aws': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
14812 '@distilled.cloud/axiom': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))15027 '@distilled.cloud/axiom': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
14813 '@distilled.cloud/cloudflare': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))15028 '@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)
14815 '@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))15030 '@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)
14817 '@distilled.cloud/core': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))15032 '@distilled.cloud/core': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
14818 '@distilled.cloud/neon': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))15033 '@distilled.cloud/neon': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
14819 '@distilled.cloud/planetscale': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))15034 '@distilled.cloud/planetscale': 0.30.2(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
...@@ -14849,7 +15064,7 @@ snapshots:...@@ -14849,7 +15064,7 @@ snapshots:
14849 '@effect/sql-pg': 4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))15064 '@effect/sql-pg': 4.0.0-beta.103(effect@4.0.0-beta.103(patch_hash=af36b7948b6f9c56623074662b51dade5699880c1a7c71245de73e13c3185fb6))
14850 drizzle-kit: 1.0.0-rc.415065 drizzle-kit: 1.0.0-rc.4
14851 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)15066 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)'
14853 ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)15068 ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
14854 transitivePeerDependencies:15069 transitivePeerDependencies:
14855 - '@mongodb-js/zstd'15070 - '@mongodb-js/zstd'
...@@ -15037,8 +15252,8 @@ snapshots:...@@ -15037,8 +15252,8 @@ snapshots:
15037 unist-util-visit: 5.1.015252 unist-util-visit: 5.1.0
15038 unstorage: 1.17.5(aws4fetch@1.0.20)(idb-keyval@6.2.1)(ioredis@5.11.0)15253 unstorage: 1.17.5(aws4fetch@1.0.20)(idb-keyval@6.2.1)(ioredis@5.11.0)
15039 vfile: 6.0.315254 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)'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)'
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))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))
15042 xxhash-wasm: 1.1.015257 xxhash-wasm: 1.1.0
15043 yargs-parser: 22.0.015258 yargs-parser: 22.0.0
15044 zod: 4.4.315259 zod: 4.4.3
...@@ -18701,63 +18916,63 @@ snapshots:...@@ -18701,63 +18916,63 @@ snapshots:
18701 outvariant@1.4.3:18916 outvariant@1.4.3:
18702 optional: true18917 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)):
18705 dependencies:18920 dependencies:
18706 tinypool: 2.1.018921 tinypool: 2.1.0
18707 optionalDependencies:18922 optionalDependencies:
18708 '@oxfmt/binding-android-arm-eabi': 0.57.018923 '@oxfmt/binding-android-arm-eabi': 0.64.0
18709 '@oxfmt/binding-android-arm64': 0.57.018924 '@oxfmt/binding-android-arm64': 0.64.0
18710 '@oxfmt/binding-darwin-arm64': 0.57.018925 '@oxfmt/binding-darwin-arm64': 0.64.0
18711 '@oxfmt/binding-darwin-x64': 0.57.018926 '@oxfmt/binding-darwin-x64': 0.64.0
18712 '@oxfmt/binding-freebsd-x64': 0.57.018927 '@oxfmt/binding-freebsd-x64': 0.64.0
18713 '@oxfmt/binding-linux-arm-gnueabihf': 0.57.018928 '@oxfmt/binding-linux-arm-gnueabihf': 0.64.0
18714 '@oxfmt/binding-linux-arm-musleabihf': 0.57.018929 '@oxfmt/binding-linux-arm-musleabihf': 0.64.0
18715 '@oxfmt/binding-linux-arm64-gnu': 0.57.018930 '@oxfmt/binding-linux-arm64-gnu': 0.64.0
18716 '@oxfmt/binding-linux-arm64-musl': 0.57.018931 '@oxfmt/binding-linux-arm64-musl': 0.64.0
18717 '@oxfmt/binding-linux-ppc64-gnu': 0.57.018932 '@oxfmt/binding-linux-ppc64-gnu': 0.64.0
18718 '@oxfmt/binding-linux-riscv64-gnu': 0.57.018933 '@oxfmt/binding-linux-riscv64-gnu': 0.64.0
18719 '@oxfmt/binding-linux-riscv64-musl': 0.57.018934 '@oxfmt/binding-linux-riscv64-musl': 0.64.0
18720 '@oxfmt/binding-linux-s390x-gnu': 0.57.018935 '@oxfmt/binding-linux-s390x-gnu': 0.64.0
18721 '@oxfmt/binding-linux-x64-gnu': 0.57.018936 '@oxfmt/binding-linux-x64-gnu': 0.64.0
18722 '@oxfmt/binding-linux-x64-musl': 0.57.018937 '@oxfmt/binding-linux-x64-musl': 0.64.0
18723 '@oxfmt/binding-openharmony-arm64': 0.57.018938 '@oxfmt/binding-openharmony-arm64': 0.64.0
18724 '@oxfmt/binding-win32-arm64-msvc': 0.57.018939 '@oxfmt/binding-win32-arm64-msvc': 0.64.0
18725 '@oxfmt/binding-win32-ia32-msvc': 0.57.018940 '@oxfmt/binding-win32-ia32-msvc': 0.64.0
18726 '@oxfmt/binding-win32-x64-msvc': 0.57.018941 '@oxfmt/binding-win32-x64-msvc': 0.64.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)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)
1872818943
18729 oxlint-tsgolint@0.24.0:18944 oxlint-tsgolint@7.0.2001:
18730 optionalDependencies:18945 optionalDependencies:
18731 '@oxlint-tsgolint/darwin-arm64': 0.24.018946 '@oxlint-tsgolint/darwin-arm64': 7.0.2001
18732 '@oxlint-tsgolint/darwin-x64': 0.24.018947 '@oxlint-tsgolint/darwin-x64': 7.0.2001
18733 '@oxlint-tsgolint/linux-arm64': 0.24.018948 '@oxlint-tsgolint/linux-arm64': 7.0.2001
18734 '@oxlint-tsgolint/linux-x64': 0.24.018949 '@oxlint-tsgolint/linux-x64': 7.0.2001
18735 '@oxlint-tsgolint/win32-arm64': 0.24.018950 '@oxlint-tsgolint/win32-arm64': 7.0.2001
18736 '@oxlint-tsgolint/win32-x64': 0.24.018951 '@oxlint-tsgolint/win32-x64': 7.0.2001
1873718952
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)):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)):
18739 optionalDependencies:18954 optionalDependencies:
18740 '@oxlint/binding-android-arm-eabi': 1.72.018955 '@oxlint/binding-android-arm-eabi': 1.79.0
18741 '@oxlint/binding-android-arm64': 1.72.018956 '@oxlint/binding-android-arm64': 1.79.0
18742 '@oxlint/binding-darwin-arm64': 1.72.018957 '@oxlint/binding-darwin-arm64': 1.79.0
18743 '@oxlint/binding-darwin-x64': 1.72.018958 '@oxlint/binding-darwin-x64': 1.79.0
18744 '@oxlint/binding-freebsd-x64': 1.72.018959 '@oxlint/binding-freebsd-x64': 1.79.0
18745 '@oxlint/binding-linux-arm-gnueabihf': 1.72.018960 '@oxlint/binding-linux-arm-gnueabihf': 1.79.0
18746 '@oxlint/binding-linux-arm-musleabihf': 1.72.018961 '@oxlint/binding-linux-arm-musleabihf': 1.79.0
18747 '@oxlint/binding-linux-arm64-gnu': 1.72.018962 '@oxlint/binding-linux-arm64-gnu': 1.79.0
18748 '@oxlint/binding-linux-arm64-musl': 1.72.018963 '@oxlint/binding-linux-arm64-musl': 1.79.0
18749 '@oxlint/binding-linux-ppc64-gnu': 1.72.018964 '@oxlint/binding-linux-ppc64-gnu': 1.79.0
18750 '@oxlint/binding-linux-riscv64-gnu': 1.72.018965 '@oxlint/binding-linux-riscv64-gnu': 1.79.0
18751 '@oxlint/binding-linux-riscv64-musl': 1.72.018966 '@oxlint/binding-linux-riscv64-musl': 1.79.0
18752 '@oxlint/binding-linux-s390x-gnu': 1.72.018967 '@oxlint/binding-linux-s390x-gnu': 1.79.0
18753 '@oxlint/binding-linux-x64-gnu': 1.72.018968 '@oxlint/binding-linux-x64-gnu': 1.79.0
18754 '@oxlint/binding-linux-x64-musl': 1.72.018969 '@oxlint/binding-linux-x64-musl': 1.79.0
18755 '@oxlint/binding-openharmony-arm64': 1.72.018970 '@oxlint/binding-openharmony-arm64': 1.79.0
18756 '@oxlint/binding-win32-arm64-msvc': 1.72.018971 '@oxlint/binding-win32-arm64-msvc': 1.79.0
18757 '@oxlint/binding-win32-ia32-msvc': 1.72.018972 '@oxlint/binding-win32-ia32-msvc': 1.79.0
18758 '@oxlint/binding-win32-x64-msvc': 1.72.018973 '@oxlint/binding-win32-x64-msvc': 1.79.0
18759 oxlint-tsgolint: 0.24.018974 oxlint-tsgolint: 7.0.2001
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)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
18762 p-cancelable@2.1.1: {}18977 p-cancelable@2.1.1: {}
1876318978
...@@ -20560,34 +20775,34 @@ snapshots:...@@ -20560,34 +20775,34 @@ snapshots:
20560 '@types/unist': 3.0.320775 '@types/unist': 3.0.3
20561 vfile-message: 4.0.320776 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):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):
20564 dependencies:20779 dependencies:
20565 '@oxc-project/types': 0.138.020780 '@oxc-project/types': 0.146.0
20566 '@oxlint/plugins': 1.68.020781 '@oxlint/plugins': 1.79.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)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)
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)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)
20569 '@vitest/expect': 4.1.920784 '@vitest/expect': 4.1.11
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))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))
20571 '@vitest/pretty-format': 4.1.920786 '@vitest/pretty-format': 4.1.11
20572 '@vitest/runner': 4.1.920787 '@vitest/runner': 4.1.11
20573 '@vitest/snapshot': 4.1.920788 '@vitest/snapshot': 4.1.11
20574 '@vitest/spy': 4.1.920789 '@vitest/spy': 4.1.11
20575 '@vitest/utils': 4.1.920790 '@vitest/utils': 4.1.11
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)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)
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))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))
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))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))
20579 oxlint-tsgolint: 0.24.020794 oxlint-tsgolint: 7.0.2001
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)'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)'
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))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))
20582 optionalDependencies:20797 optionalDependencies:
20583 '@voidzero-dev/vite-plus-darwin-arm64': 0.2.220798 '@voidzero-dev/vite-plus-darwin-arm64': 0.3.0
20584 '@voidzero-dev/vite-plus-darwin-x64': 0.2.220799 '@voidzero-dev/vite-plus-darwin-x64': 0.3.0
20585 '@voidzero-dev/vite-plus-linux-arm64-gnu': 0.2.220800 '@voidzero-dev/vite-plus-linux-arm64-gnu': 0.3.0
20586 '@voidzero-dev/vite-plus-linux-arm64-musl': 0.2.220801 '@voidzero-dev/vite-plus-linux-arm64-musl': 0.3.0
20587 '@voidzero-dev/vite-plus-linux-x64-gnu': 0.2.220802 '@voidzero-dev/vite-plus-linux-x64-gnu': 0.3.0
20588 '@voidzero-dev/vite-plus-linux-x64-musl': 0.2.220803 '@voidzero-dev/vite-plus-linux-x64-musl': 0.3.0
20589 '@voidzero-dev/vite-plus-win32-arm64-msvc': 0.2.220804 '@voidzero-dev/vite-plus-win32-arm64-msvc': 0.3.0
20590 '@voidzero-dev/vite-plus-win32-x64-msvc': 0.2.220805 '@voidzero-dev/vite-plus-win32-x64-msvc': 0.3.0
20591 transitivePeerDependencies:20806 transitivePeerDependencies:
20592 - '@arethetypeswrong/core'20807 - '@arethetypeswrong/core'
20593 - '@edge-runtime/vm'20808 - '@edge-runtime/vm'
...@@ -20618,19 +20833,19 @@ snapshots:...@@ -20618,19 +20833,19 @@ snapshots:
20618 - utf-8-validate20833 - utf-8-validate
20619 - yaml20834 - 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)):
20622 optionalDependencies:20837 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)):
20626 dependencies:20841 dependencies:
20627 '@vitest/expect': 4.1.920842 '@vitest/expect': 4.1.11
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))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))
20629 '@vitest/pretty-format': 4.1.920844 '@vitest/pretty-format': 4.1.11
20630 '@vitest/runner': 4.1.920845 '@vitest/runner': 4.1.11
20631 '@vitest/snapshot': 4.1.920846 '@vitest/snapshot': 4.1.11
20632 '@vitest/spy': 4.1.920847 '@vitest/spy': 4.1.11
20633 '@vitest/utils': 4.1.920848 '@vitest/utils': 4.1.11
20634 es-module-lexer: 2.1.020849 es-module-lexer: 2.1.0
20635 expect-type: 1.4.020850 expect-type: 1.4.0
20636 magic-string: 0.30.2120851 magic-string: 0.30.21
...@@ -20642,11 +20857,11 @@ snapshots:...@@ -20642,11 +20857,11 @@ snapshots:
20642 tinyexec: 1.2.420857 tinyexec: 1.2.4
20643 tinyglobby: 0.2.1720858 tinyglobby: 0.2.17
20644 tinyrainbow: 3.1.020859 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)'
20646 why-is-node-running: 2.3.020861 why-is-node-running: 2.3.0
20647 optionalDependencies:20862 optionalDependencies:
20648 '@types/node': 24.12.420863 '@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)
20650 transitivePeerDependencies:20865 transitivePeerDependencies:
20651 - msw20866 - msw
2065220867
...@@ -20924,6 +21139,38 @@ snapshots:...@@ -20924,6 +21139,38 @@ snapshots:
2092421139
20925 yoga-layout@3.2.1: {}21140 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
20927 zod-to-json-schema@3.25.2(zod@4.4.3):21174 zod-to-json-schema@3.25.2(zod@4.4.3):
20928 dependencies:21175 dependencies:
20929 zod: 4.4.321176 zod: 4.4.3
pnpm-workspace.yaml+2-2
...@@ -53,8 +53,8 @@ catalog:...@@ -53,8 +53,8 @@ catalog:
53 lightningcss: 1.33.053 lightningcss: 1.33.0
54 tailwindcss: 4.3.354 tailwindcss: 4.3.3
55 typescript: ~6.0.355 typescript: ~6.0.3
56 vite: npm:@voidzero-dev/vite-plus-core@0.2.256 vite: npm:@voidzero-dev/vite-plus-core@0.3.0
57 vite-plus: 0.2.257 vite-plus: 0.3.0
58 yaml: ^2.9.058 yaml: ^2.9.0
5959
60minimumReleaseAgeExclude:60minimumReleaseAgeExclude: