-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Comparing changes
Open a pull request
base repository: simstudioai/sim
base: 11bcb8f
head repository: simstudioai/sim
compare: d14af04
- 11 commits
- 87 files changed
- 2 contributors
Commits on May 17, 2026
-
improvement(redis-cleanup): schedule, async workflow, hitl base64 cac…
…he cleanup (#4646) * improvement(redis-cleanup): schedule, async workflow, hitl bae64 cache cleanup * address comments
Configuration menu - View commit details
-
Copy full SHA for 4dc78cb - Browse repository at this point
Copy the full SHA 4dc78cbView commit details -
improvement(mothership): abort path race preventing persistence (#4647)
* improvement(mothership): abort path race preventing persistence * address comments * address bugbot comment
Configuration menu - View commit details
-
Copy full SHA for 42bbb8a - Browse repository at this point
Copy the full SHA 42bbb8aView commit details
Commits on May 18, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 3979476 - Browse repository at this point
Copy the full SHA 3979476View commit details -
fix(knowledge): preserve scroll position when toggling tokenizer in c…
…hunk viewer (#4643) * fix(knowledge): preserve scroll position when toggling tokenizer in chunk viewer * fix(knowledge): skip scroll restore on initial mount of chunk editor * chore(dev): add dev:clean script to purge Turbopack cache
Configuration menu - View commit details
-
Copy full SHA for 268fa0e - Browse repository at this point
Copy the full SHA 268fa0eView commit details -
improvement(memory): replace unbounded server caches with lru-cache t…
…o fix heap growth (#4652) * fix(memory): prune toolSchemaCache and semaphores to prevent heap growth toolSchemaCache (lib/copilot/chat/payload.ts): module-level Map keyed by userId:workspaceId never deleted expired entries, only checked TTL on read. With 100K+ unique user/workspace pairs each holding 50-200KB of tool schemas, this was the primary driver of the 24MB -> 25GB heap growth observed in CloudWatch. Add a setInterval sweep every 30s (matching the TTL) with .unref() so it does not prevent graceful shutdown. semaphores (lib/core/async-jobs/backends/database.ts): acquireSlot created Semaphore entries that releaseSlot never deleted. With per-execution UUID keys (e.g. scheduleJobId), each scheduled workflow run would add a permanent entry. Store the concurrency limit on the Semaphore struct and delete the entry from the Map when all slots are free and no waiters remain. validatorCache (lib/copilot/tools/server/generated-schema.ts): validated as bounded (93 tools x 2 schema kinds = 186 max entries, ~2-9MB). No fix needed. isolated-vm nativeContexts: validated as deferred GC, self-healed by worker rotation at MAX_EXECUTIONS_PER_WORKER=200. externalMB spikes trace to concurrent isolate heaps at peak load (128MB limit x active isolates), not a reference leak. No fix needed. * fix(memory): prune effectiveEnvCache and instrument cache sizes in telemetry effectiveEnvCache (lib/environment/utils.ts): same unbounded accumulation pattern as toolSchemaCache — module-level Map keyed by userId:workspaceId with a 15s TTL that is only checked on read, never proactively evicted. Adds a periodic sweep matching the TTL interval with .unref(). cache-registry (lib/monitoring/cache-registry.ts): lightweight registry so modules can expose their cache sizes to telemetry without coupling. toolSchemaCache and effectiveEnvCache both register on module load. memory-telemetry: emits cacheSizes in every Memory snapshot log so CloudWatch can confirm the caches stay bounded post-deploy. * improvement(memory): replace manual TTL Maps with lru-cache for toolSchemaCache and effectiveEnvCache Replaces the homegrown Map + setInterval sweep pattern with LRUCache from the lru-cache npm package, which is the standard Node.js solution for bounded in-process caching with TTL. Changes per cache: - Removes manual ToolSchemaCacheEntry / EffectiveEnvCacheEntry types - Removes setInterval sweep timers (and the .unref() boilerplate) - Removes the two-phase promise->value entry update inside the IIFE - Stores Promise<T> directly — in-flight and resolved states share one type - max: 200 (toolSchemaCache) / max: 500 (effectiveEnvCache) as hard ceilings - TTL behaviour and concurrent-request deduplication are preserved exactly - cache-registry .size reporting works unchanged via lru-cache's .size prop * fix(memory): remove redundant waiters guard in releaseSlot
Configuration menu - View commit details
-
Copy full SHA for cf14693 - Browse repository at this point
Copy the full SHA cf14693View commit details -
feat(prospeo): add Prospeo integration for B2B contact enrichment and…
… search (#4653) * feat(prospeo): add Prospeo integration for B2B contact enrichment and search Adds 8 operations: enrich person/company, bulk enrich person/company, search person/company, search suggestions, and account information. Uses X-KEY header auth. * refactor(prospeo): extract shared parse helpers into utils.ts
Configuration menu - View commit details
-
Copy full SHA for b276672 - Browse repository at this point
Copy the full SHA b276672View commit details -
feat(findymail): add Findymail B2B contact data integration (#4654)
* feat(findymail): add Findymail B2B contact data integration Adds 11 tools covering verified email lookup (by name, LinkedIn, domain roles), email verification, reverse email lookup with profile enrichment, company info, employee discovery, phone lookup, technology stack detection, and credit checks. Single API-key block with operation dropdown, gradient-rendered icon, and generated docs. * fix(findymail): handle HTTP errors and surface last_detected_at - All 11 tools now check response.ok and return success:false with the API error message on non-2xx responses - search_technologies now maps last_detected_at to match lookup_technologies and the shared output schema - Restore file_v3 in docs icon-mapping (translated docs still reference it) * improvement(findymail): exclude operation from params transform Match the convention used by enrich/apify/box/calendly — destructure out operation before forwarding the rest to the tool call, so the operation key doesn't leak into the tool payload.
Configuration menu - View commit details
-
Copy full SHA for f3cf8fc - Browse repository at this point
Copy the full SHA f3cf8fcView commit details
Commits on May 19, 2026
-
improvement(workspace): fix resource table column proportions and toa…
…st stacking (#4655) * improvement(workspace): fix resource table column proportions and toast stacking * fix(resource): restore scrollbar-gutter stable on table scroll container * fix(resource): remove scrollbar-gutter stable — single-table layout doesn't need it * fixed files cols * fix(findymail): add required enabled field to wandConfig entries * fix(findymail): remove optional from block outputs — not valid on BlockConfig output type * fixes * fix(files): use folderSizeMap for sort value so size sort matches display * files ref
Configuration menu - View commit details
-
Copy full SHA for 0c1167d - Browse repository at this point
Copy the full SHA 0c1167dView commit details -
fix(tables): type-aware SQL casts for range filters on date columns (#…
…4657) * fix(tables): type-aware SQL casts for range filters on date columns * improvement(table): tighten filter-cast types & workspace guards - Drop redundant tableId/workspaceId from BulkUpdateData and BulkDeleteData; service uses table.id / table.workspaceId so column metadata and DB scope can't drift apart. - Add missing workspace-id guards to copilot user-table cases (insert_row, batch_insert_rows, update_row, batch_update_rows, rename); collapse duplicated rename check. - Add service-level integration tests that buildFilterClause/buildSortClause receive table.schema.columns from queryRows, updateRowsByFilter, deleteRowsByFilter. * improvement(table): cast jsonb date filters/sorts to timestamptz ::timestamp strips timezone offsets from ISO strings, making comparisons depend on the server TimeZone setting. ::timestamptz preserves the offset so chronological comparisons are correct regardless of server config. * improvement(table): correct JSDoc examples for required columns arg * improvement(table): validate range operator value types at SQL builder
Configuration menu - View commit details
-
Copy full SHA for a0d9e4d - Browse repository at this point
Copy the full SHA a0d9e4dView commit details -
feat(google_docs): opt-in Markdown formatting for create operation (#…
…4656) * feat(google_docs): opt-in Markdown formatting for create operation * fix(google_docs): harden multipart boundary handoff and align postProcess guard
Configuration menu - View commit details
-
Copy full SHA for 6827be7 - Browse repository at this point
Copy the full SHA 6827be7View commit details -
v0.6.85: mothership stream, resource column spacing, prospeo, findyma…
…il integrations, markdown google docs creation
Configuration menu - View commit details
-
Copy full SHA for d14af04 - Browse repository at this point
Copy the full SHA d14af04View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 11bcb8f...d14af04