feat: add Oracle Fusion Cloud Financials integration - #7412
feat: add Oracle Fusion Cloud Financials integration#7412BillLeoutsakosvl346 wants to merge 15 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile SummaryThe PR expands Oracle Fusion Cloud Financials into a 24-operation, read-only Payables integration with service-account credential support and guarded server-side requests.
Confidence Score: 5/5The PR appears safe to merge because no blocking failure remains in the available follow-up-review scope. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| apps/sim/lib/internal/oracle-fusion-financials/client.ts | Implements bounded, pinned, same-origin Oracle HTTP requests with redirect rejection and abort-aware retries. |
| apps/sim/lib/internal/oracle-fusion-financials/operations.ts | Maps the 24 read-only operations to fixed Oracle resource paths, projections, and semantic outputs. |
| apps/sim/lib/internal/oracle-fusion-financials/schema.ts | Defines request and response validation, lossless identifier handling, and strict Oracle self-link key extraction. |
| apps/sim/lib/credentials/client-credential-accounts/minters/oracle-fusion.ts | Validates Oracle credential endpoints and mints short-lived client-credentials tokens through the guarded network path. |
| apps/sim/blocks/blocks/oracle_fusion_financials.ts | Adds the workflow-facing configuration for all 24 Oracle operations and their canonical parameters. |
| apps/sim/lib/internal/tool-operations/registry.server.ts | Registers the complete Oracle operation set at the server-only execution boundary. |
| apps/sim/lib/selectors/server/providers/oracle-fusion-financials.ts | Adds credential-bound recent-invoice discovery for workflow configuration. |
| apps/sim/lib/internal/oracle-fusion-financials/oracle-fusion-financials.test.ts | Exercises operation routing, validation, response handling, request confinement, retries, and opaque-key behavior. |
Sequence Diagram
sequenceDiagram
participant Workflow as Workflow
participant Tool as Oracle Tool
participant Handler as Internal Handler
participant Credential as Credential Service
participant OracleAuth as Oracle OAuth
participant OracleAPI as Oracle Financials API
Workflow->>Tool: Execute selected read operation
Tool->>Handler: Structured operation and parameters
Handler->>Credential: Resolve encrypted service account
Credential->>OracleAuth: Mint short-lived bearer token
OracleAuth-->>Credential: Access token and application origin
Credential-->>Handler: Constrained authentication context
Handler->>OracleAPI: Pinned, bounded, no-redirect GET
OracleAPI-->>Handler: One-page Oracle response
Handler-->>Tool: Validated semantic output
Tool-->>Workflow: Operation-specific result
Reviews (7): Last reviewed commit: "fix(oracle-fusion): confine request orig..." | Re-trigger Greptile
…-fusion-erp-integration
There was a problem hiding this comment.
All reported issues were addressed
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
…-fusion-erp-integration
…-fusion-erp-integration # Conflicts: # apps/sim/tools/generated/tool-metadata.ts
|
@cubic-dev-ai re-review this PR. All three findings from the prior review have been addressed: provider diagnostics now use the shared exact-plus-generic redactor with URI/form-encoded regression coverage; Oracle list envelopes require |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
…-fusion-erp-integration
|
@cubic-dev-ai re-review the exact final head after the latest staging-only merge. The merge adds only the upstream Muse Spark model and generated agent documentation; all four Oracle/Cubic-fix files are byte-identical to the clean reviewed head, and post-merge Oracle tests, type-check, lint, and docs checks pass. |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
|
@cubic-dev-ai review this PR. Please re-review the complete 24-tool Oracle Fusion Cloud Financials diff at d9cf784 against current staging, including all source, generated artifacts, tests, and the documented OAuth compatibility caveat. |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 78 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
|
@greptile Please review the complete PR against staging at head 7864589. The latest change preserves documented Oracle int64 identity/reference values as exact decimal strings and adds regression plus negative-control coverage. Please account for the evidence-backed OAuth and generated catalog dispositions in their resolved threads. |
|
@cubic-dev-ai review this PR. Please re-review the complete PR against staging at head 7864589. The valid int64 precision finding is fixed with source-token preservation, schema/output updates, 87/87 provider tests, 327/327 focused tests, and a failing negative control. Please reconsider the resolved OAuth and generated catalog findings using the product-decision and codebase-precedent evidence in the replies. |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 78 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Fix all with cubic | Re-trigger cubic
|
@cubic-dev-ai review this PR. Please re-review the complete PR against staging at head 795c7fe. Your transport-retry finding is fixed with an explicit error allowlist, the existing two-retry budget, abort-aware bounded backoff, sanitized exhaustion, body-read coverage, and fail-fast behavior for unclassified errors. Independent validation reports no Critical, Warning, or Suggestion findings. |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 78 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Fix all with cubic | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 78 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Fix all with cubic | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 78 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Fix all with cubic | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
No issues found across 78 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Re-trigger cubic
Summary
Authentication and security
oracle-fusion-service-accountprovider and encrypted service-account storageselflink matching the complete requested parent/child pathTool scope
All identifiers documented as decimal values remain validated decimal strings without numeric coercion. Lists default to 50 records, cap at 100, and never auto-paginate.
Generated artifacts
Validation
bun run type-check: 26/26 tasks passedbun run lint:check: 26/26 tasks passedbun run check:audits: all 45 audits passedInvoiceId, transient reset classification, recursive structured-diagnostic redaction, normalized/encoded credential-key rejection, typed response-size mapping, and retry-body cleanup and request-origin confinement were disabled, then passed after restoration; the int64 regression preserves raw9007199254740993exactlyOracle references
Live-tenant limitation
No live Oracle tenant credentials were available. Authentication, tenant-specific least-privilege Payables roles and data access, opaque keys, and payload behavior were validated against official Oracle contracts and documented-schema fixtures, but a live tenant smoke test was not performed.