Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: simstudioai/sim
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 11bcb8f
Choose a base ref
...
head repository: simstudioai/sim
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: d14af04
Choose a head ref
  • 11 commits
  • 87 files changed
  • 2 contributors

Commits on May 17, 2026

  1. improvement(redis-cleanup): schedule, async workflow, hitl base64 cac…

    …he cleanup (#4646)
    
    * improvement(redis-cleanup): schedule, async workflow, hitl bae64 cache cleanup
    
    * address comments
    icecrasher321 authored May 17, 2026
    Configuration menu
    Copy the full SHA
    4dc78cb View commit details
    Browse the repository at this point in the history
  2. improvement(mothership): abort path race preventing persistence (#4647)

    * improvement(mothership): abort path race preventing persistence
    
    * address comments
    
    * address bugbot comment
    icecrasher321 authored May 17, 2026
    Configuration menu
    Copy the full SHA
    42bbb8a View commit details
    Browse the repository at this point in the history

Commits on May 18, 2026

  1. Configuration menu
    Copy the full SHA
    3979476 View commit details
    Browse the repository at this point in the history
  2. 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
    waleedlatif1 authored May 18, 2026
    Configuration menu
    Copy the full SHA
    268fa0e View commit details
    Browse the repository at this point in the history
  3. 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
    waleedlatif1 authored May 18, 2026
    Configuration menu
    Copy the full SHA
    cf14693 View commit details
    Browse the repository at this point in the history
  4. 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
    waleedlatif1 authored May 18, 2026
    Configuration menu
    Copy the full SHA
    b276672 View commit details
    Browse the repository at this point in the history
  5. 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.
    waleedlatif1 authored May 18, 2026
    Configuration menu
    Copy the full SHA
    f3cf8fc View commit details
    Browse the repository at this point in the history

Commits on May 19, 2026

  1. 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
    waleedlatif1 authored May 19, 2026
    Configuration menu
    Copy the full SHA
    0c1167d View commit details
    Browse the repository at this point in the history
  2. 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
    waleedlatif1 authored May 19, 2026
    Configuration menu
    Copy the full SHA
    a0d9e4d View commit details
    Browse the repository at this point in the history
  3. 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
    waleedlatif1 authored May 19, 2026
    Configuration menu
    Copy the full SHA
    6827be7 View commit details
    Browse the repository at this point in the history
  4. v0.6.85: mothership stream, resource column spacing, prospeo, findyma…

    …il integrations, markdown google docs creation
    waleedlatif1 authored May 19, 2026
    Configuration menu
    Copy the full SHA
    d14af04 View commit details
    Browse the repository at this point in the history
Loading