Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .jules/bolt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## 2025-05-12 - Parallelize Gateway Surface Fetching
**Learning:** In gateway surface aggregation (`src/lib/forge-openai-surface.ts`), querying multiple paths sequentially with await blocks the event loop on I/O.
**Action:** Use `Promise.all` to fetch parallel paths for API routes, iterating through the returned results array sequentially afterward to maintain state-dependent side effects exactly identical to the original behavior (such as `lastStatus` and `lastRaw`).
8 changes: 6 additions & 2 deletions src/lib/forge-openai-surface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,12 @@ export async function collectZimaOSV1ModelEntries(
let lastError: string | undefined;
let lastRaw: unknown = null;

for (const path of V1_MODELS_PATHS) {
const r = await fetchZimaOSJson(email, path);
// ⚑ Bolt: Parallelized sequential fetch operations for faster gateway response
const results = await Promise.all(
V1_MODELS_PATHS.map((path) => fetchZimaOSJson(email, path))
);

for (const r of results) {
lastStatus = r.status;
lastError = r.error;
lastRaw = r.data;
Expand Down