Skip to content

v0.6.11: billing fixes, rippling, hubspot, UI improvements, demo modal#3769

Open
waleedlatif1 wants to merge 11 commits intomainfrom
staging
Open

v0.6.11: billing fixes, rippling, hubspot, UI improvements, demo modal#3769
waleedlatif1 wants to merge 11 commits intomainfrom
staging

Conversation

@waleedlatif1
Copy link
Collaborator

@waleedlatif1 waleedlatif1 commented Mar 25, 2026

icecrasher321 and others added 7 commits March 24, 2026 22:28
* improvement(billing): treat past_due state correctly

* toggle fixes

* address comments

* Fix type errors
* feat(agents): generalize repository guidance for coding agents

* fix(agents): use repo-root link in sim app guidance
* fix(ui): fix kb id extraction logic for resource, sync tags

* Pass knowledge base id back on edit tag

---------

Co-authored-by: Theodore Li <theo@sim.ai>
* feat(rippling): add Rippling HR integration with 19 tools

* fix(rippling): address PR review feedback

- Fix lint:check import ordering in icon-mapping.ts
- Build clean params object instead of spreading all UI fields to API
- Add try/catch around JSON.parse for users field
- Use != null guard for limit/offset to not drop 0 values
- Add missing tags to block config and integrations.json

* fix(rippling): guard startDate by operation and clarify totalCount descriptions

- Guard startDate/endDate with operation check to prevent candidateStartDate
  from clobbering date filters on leave/activity operations
- Update totalCount output descriptions on paginated tools to clarify it
  reflects page size, not total record count

* fix(rippling): use null-safe guard for groupVersion param

* fix(rippling): remove operation field from tool params payload

* fix(rippling): add input validation for action param and empty group update body
* feat(hubspot): add 27 CRM tools and fix OAuth scope mismatch

* lint

* fix(hubspot): switch marketing events to CRM Objects API and add HubSpotCrmObject base type

* chore(docs): fix import ordering and formatting lint errors

* feat(hubspot): wire all 27 new tools into block definition

* fix(hubspot): address review comments - schema mismatch, pagination, trim, descriptions

- Switch marketing event outputs to CRM envelope structure (id, properties, createdAt, updatedAt, archived) matching CRM Objects API
- Fix list_lists pagination: add offset param, map offset-based response to paging structure
- Add .trim() to contactId/companyId in pre-existing get/update tools
- Fix default limit descriptions (100 → 10) in list_contacts/list_companies
- Fix operator examples (CONTAINS → CONTAINS_TOKEN) in search_contacts/search_companies
- Remove unused params arg in get_users transformResponse

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(hubspot): revert to Marketing Events API and fix Lists pagination per API docs

Marketing Events:
- Revert from /crm/v3/objects/marketing_events back to /marketing/v3/marketing-events
- The Marketing Events API does NOT require appId for GET /marketing-events/{objectId}
- appId is only needed for the /events/{externalEventId} endpoint (which we don't use)
- Restore flat response schema (objectId, eventName, etc. at top level, not CRM envelope)

Lists:
- POST /crm/v3/lists/search uses offset-based pagination (not cursor-based)
- Response shape: { lists, hasMore, offset, total } — not { results, paging }
- Map offset → paging.next.after for consistent block interface
- Fix default count: 20 (not 25), max 500
- GET /crm/v3/lists/{listId} wraps response in { list: { ... } }

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(hubspot): final audit fixes verified against API docs

- Revert list_contacts/list_companies default limit back to 100 (confirmed by API docs)
- Add idProperty param to get_appointment.ts (was missing, inconsistent with update_appointment)
- Remove get_carts from idProperty block condition (carts don't support idProperty)
- Add get_lists to after block condition (pagination was inaccessible from UI)
- Add after pagination param to get_users.ts (was missing, users beyond first page unreachable)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(hubspot): return paging in get_users and add to block after condition

- Add paging output to get_users transformResponse and outputs
- Add get_users to block after subBlock condition so cursor is accessible from UI

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(hubspot): align total fallback with type definitions in search tools

Use `?? 0` instead of `?? null` for search tools where the type declares
`total: number`. Also declare `total` in list_lists metadata output schema.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…file (#3768)

* feat: fix rerenders

* chore: split user-input
…rdUsage (#3767)

* fix(billing): atomize usage_log and userStats writes via central recordUsage()

* fix(billing): address PR review — re-throw errors, guard reserved keys, handle zero-cost counters

* chore(lint): fix formatting in hubspot list_lists.ts from staging

* fix(billing): tighten early-return guard to handle empty additionalStats object

* lint

* chore(billing): remove implementation-decision comments
@vercel
Copy link

vercel bot commented Mar 25, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Skipped Skipped Mar 25, 2026 10:45pm

Request Review

@cursor
Copy link

cursor bot commented Mar 25, 2026

PR Summary

Low Risk
Mostly adds documentation and agent skill guides plus small docs-site icon mapping updates; low runtime risk aside from potential broken docs icon imports/mappings.

Overview
Adds a new AGENTS.md plus several .agents/skills/* playbooks that standardize how coding agents create/validate Sim blocks, tools, triggers, and knowledge connectors (including conventions for auth, scopes, canonical params, file handling, and registries).

Updates the docs site to include a RipplingIcon and map rippling to it, adds rippling to tools metadata, expands hubspot.mdx with many additional CRM tool docs and pagination details, and adjusts quiver.mdx outputs to document multi-file SVG generation.

Written by Cursor Bugbot for commit 9d1b976. This will update automatically on new commits. Configure here.

…messages (#3770)

Co-authored-by: Theodore Li <theo@sim.ai>
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

* fix(ui): add request a demo modal

* Remove dead code

* Remove footer modal

* Address greptile comments

* Sanatize CRLF characters from emails

* extract shared email header safety regex

Co-authored-by: Theodore Li <TheodoreSpeaks@users.noreply.github.com>

* Use pricing CTA action for demo modal

Co-authored-by: Theodore Li <TheodoreSpeaks@users.noreply.github.com>

* fix demo request import ordering

Co-authored-by: Theodore Li <TheodoreSpeaks@users.noreply.github.com>

* merge staging and fix hubspot list formatting

Co-authored-by: Theodore Li <TheodoreSpeaks@users.noreply.github.com>

* fix(generate-docs): fix tool description extraction and simplify script

- Fix endsWith over-matching: basename === 'index.ts'/'types.ts' instead
  of endsWith(), which was silently skipping valid tool files like
  list_leave_types.ts, delete_index.ts, etc.
- Add extractSwitchCaseToolMapping() to resolve op ID → tool ID mismatches
  where block switch statements map differently (e.g. HubSpot get_carts →
  hubspot_list_carts)
- Fix double fs.readFileSync in writeIntegrationsJson — reuse existing
  fileContent variable instead of re-reading the file
- Remove 5 dead functions superseded by *FromContent variants
- Simplify extractToolsAccessFromContent to use matchAll
- fix(upstash): replace template literal tool ID with explicit switch cases

* fix(generate-docs): restore extractIconName by aliasing to extractIconNameFromContent

* restore

* fix(demo-modal): reset form on open to prevent stale success state on reopen

* undo hardcoded ff

* fix(upstash): throw on unknown operation instead of silently falling back to get

---------

Co-authored-by: Theodore Li <teddy@zenobiapay.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Theodore Li <TheodoreSpeaks@users.noreply.github.com>
Co-authored-by: waleed <walif6@gmail.com>
* feat(log): enable info logs in staging and prod

* Upgrade info logs to error for message route

* Add to orchestrator, remove helm shennanigans

* Fix lint

---------

Co-authored-by: Theodore Li <theo@sim.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants