feat(netsuite): add Oracle NetSuite integration - #6476
feat(netsuite): add Oracle NetSuite integration#6476BillLeoutsakosvl346 wants to merge 5 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
PR SummaryHigh Risk Overview Credentials: New UI: Record-type and async-task pickers call a new Docs & catalog: Integration pages, icon, registry entries, templates, and skills; credential deletion clears recognized NetSuite credential aliases in nested Agent tool state. Reviewed by Cursor Bugbot for commit 05014f2. Bugbot is set up for automated code reviews on this repo. Configure here. |
Greptile SummaryThe PR adds an Oracle NetSuite integration backed by reusable certificate-based service-account credentials.
Confidence Score: 5/5The PR appears safe to merge because no blocking failure remains from the previously reported issues. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| apps/sim/tools/netsuite/utils.ts | Implements bounded SuiteTalk request construction, response normalization, URL validation, and payload limits; the previously reported token-cache path is absent. |
| apps/sim/lib/credentials/client-credential-accounts/minters/netsuite.ts | Implements NetSuite certificate-based JWT signing and bounded OAuth token exchange. |
| apps/sim/blocks/blocks/netsuite.ts | Defines the NetSuite block and its 27 explicit operations, credential field, selectors, and operation-specific inputs. |
| apps/sim/tools/netsuite/netsuite.test.ts | Verifies tool and block registry coverage using repository-supported absolute aliases. |
| apps/sim/lib/workflows/migrations/subblock-migrations.ts | Adds compatibility cleanup and migration of legacy NetSuite credential, selector, and Agent-tool state. |
| apps/sim/app/api/tools/netsuite/objects/route.ts | Adds the typed selector boundary for bounded record-type and known-job asynchronous-task discovery. |
Sequence Diagram
sequenceDiagram
participant User
participant Block as NetSuite Block
participant Cred as Credential Service
participant OAuth as NetSuite OAuth
participant API as SuiteTalk REST API
User->>Block: Select reusable credential and operation
Block->>Cred: Resolve credential ID
Cred->>OAuth: Sign assertion and mint access token
OAuth-->>Cred: Short-lived bearer token
Cred-->>Block: Token and normalized SuiteTalk origin
Block->>API: Execute explicit SuiteTalk operation
API-->>Block: Normalized response or async job location
Reviews (5): Last reviewed commit: "fix(netsuite): complete integration vali..." | Re-trigger Greptile
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit cdd5240. Configure here.
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 61407f5. Configure here.
32d4bc3 to
c8f3327
Compare
151d474 to
467d74f
Compare
e9ff0b4 to
a58bbdb
Compare
a58bbdb to
8272ed8
Compare
92bd8e8 to
f41548f
Compare
f41548f to
4dac00d
Compare
4935557 to
af808e6
Compare
|
@cursor review |
af808e6 to
05014f2
Compare
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 05014f2. Configure here.
Summary
netsuite-service-accountcredential; tools receive only a short-lived access token and normalized SuiteTalk origin.Architecture record
This branch is rebased on staging commit
618cee5cb9a372e0a0447d204a3fa3052648e953.Locationhandling, and no automatic mutation replay after a 401.certificateId, duplicate service-account name conflict behavior, active-mode selector dependency resolution, recognized credential-deletion aliases, and compatibility migration coverage. No database schema, generic executor, docs generator/parser, generic selector component, orlib/netsuiteapplication layer was added.Validation
git diff --checkand commit checks passed.integration_feedback.md, compared current Snowflake/Salesforce/Box/Zoho Desk/Zoom/Windchill patterns, re-derived current Oracle contracts, and gave the follow-up diff a merge-ready verdict with no remaining blocking defect.Live limitations
No NetSuite credential was available, so real OAuth certificate mapping, account/role permissions, production and sandbox discovery, NetSuite 2026.1 feature availability, mutations, async polling, and exact account-specific payload variants remain live-unverified. No destructive live calls were attempted.
Type of change
Checklist