Skip to content

feat(oracle-fusion): add SCM integration - #7439

Open
BillLeoutsakosvl346 wants to merge 4 commits into
feat/oracle-fusion-foundationfrom
investigate/oracle-fusion-scm-integration
Open

feat(oracle-fusion): add SCM integration#7439
BillLeoutsakosvl346 wants to merge 4 commits into
feat/oracle-fusion-foundationfrom
investigate/oracle-fusion-scm-integration

Conversation

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor

Summary

  • Adds a read-only Oracle Fusion Cloud SCM integration with 20 list/detail GET tools across ten operational resource families.
  • Adds the Oracle Fusion SCM block, six credential-bound selectors, nine workflow templates, typed projections, opaque-key validation, and generated docs/catalog/deployment surfaces.
  • Reuses the Oracle Fusion foundation for service-account authentication, transport, security, pagination parsing, keys, and safe provider errors.

Depends on #7427

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation
  • Other

Testing

  • Focused SCM, block, selector, manifest, and docs-generator tests
  • Full workspace lint and typecheck
  • All 45 repository audits and generated-artifact checks
  • Generator fixed-point verification
  • Base-sensitive block-registry audit against feat/oracle-fusion-foundation
  • Bounded-page memory/load review
  • Independent full-diff review: 0 critical, 0 warning findings

No live Oracle tenant was available; required permissions, feature opt-ins, and the MaintenanceFlag quarterly-release compatibility check are documented for tenant validation.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

Screenshots/Videos

Not applicable; this adds integration/tool surfaces without a custom visual UI.

@vercel

vercel Bot commented Sep 3, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
Project Deployment Actions Updated
docs Skipped Skipped Sep 3, 2026 7:55pm UTC

Request Review

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@greptile-apps

greptile-apps Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR adds a read-only Oracle Fusion Cloud SCM integration built on the existing Oracle Fusion service-account and transport foundation.

  • Adds 20 bounded list/detail operations across ten SCM resource families.
  • Registers the SCM block, credential-backed selectors, tool metadata, templates, and integration discovery surfaces.
  • Adds generated documentation and deployment catalog entries together with focused contract tests.

Confidence Score: 5/5

The PR appears safe to merge because no blocking failure remains in the available follow-up review scope.

No blocking failure remains.

Important Files Changed

Filename Overview
apps/sim/lib/internal/oracle-fusion-scm/operations.ts Centralizes the 20 SCM operation definitions, bounded projections, parent-child paths, pagination handling, and opaque-key processing.
apps/sim/lib/internal/oracle-fusion-scm/schema.ts Defines validation and typed response projections for SCM list and detail operations.
apps/sim/lib/internal/oracle-fusion-scm/execute-tool.ts Connects registered SCM tool invocations to the shared Oracle Fusion credential and operation execution path.
apps/sim/lib/selectors/server/providers/oracle-fusion-scm.ts Implements six paginated credential-bound selector providers for SCM resources.
apps/sim/blocks/blocks/oracle_fusion_scm.ts Defines the Oracle Fusion SCM workflow block, credential input, operations, and selector-backed configuration.
apps/docs/content/docs/integrations/oracle_fusion_scm.mdx Documents prerequisites, tenant-validation limitations, inputs, and outputs for all SCM actions.

Sequence Diagram

sequenceDiagram
  participant W as Workflow
  participant T as SCM Tool
  participant O as SCM Operation Layer
  participant F as Oracle Fusion Foundation
  participant A as Oracle Fusion SCM API
  W->>T: Invoke list or detail tool
  T->>O: Validate operation input
  O->>F: Send bounded projected request
  F->>A: Authenticated pinned-origin GET
  A-->>F: SCM resource response
  F-->>O: Validated JSON and self links
  O-->>T: Typed projection and opaque keys
  T-->>W: List page or detail object
Loading

Reviews (4): Last reviewed commit: "fix(oracle-fusion): isolate SCM operatio..." | Re-trigger Greptile

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

All reported issues were addressed across 50 files

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

Comment thread apps/sim/tools/oracle_fusion_scm/shared.ts
Comment thread apps/sim/tools/oracle_fusion_scm/types.ts Outdated
Comment thread apps/sim/lib/internal/oracle-fusion-scm/schema.ts Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

All reported issues were addressed across 50 files

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

Comment thread apps/sim/lib/internal/oracle-fusion-scm/schema.ts Outdated
Comment thread packages/deployment-config/src/integrations.json Outdated
Comment thread apps/sim/lib/internal/oracle-fusion-scm/operations.ts
Comment thread apps/sim/tools/oracle_fusion_scm/types.ts Outdated
@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

4 issues found across 72 files

Confidence score: 3/5

  • integration-search-items.ts can emit connect=oauth before availability hydrates for service-account-only integrations such as Oracle Fusion, causing the detail page to reject the search result — align the fallback with the eventual supported authentication type.
  • get-blocks-metadata-tool.ts returns Oracle SCM metadata outside the declared type, while transformBlockMetadata lacks a service-account branch; consumers can receive misleading authType metadata — add the service-account case and update the metadata type.
  • schema.ts trims opaque Oracle keys before encoding requests, so keys with surrounding spaces resolve to a different resource and can break detail or child calls — preserve the original key while validating or rejecting whitespace.
  • page.tsx tells users that direct-configured authType: 'none' integrations require no authentication, which misdescribes how those integrations are set up — explain that configuration happens directly in the block and clarify the remaining connection requirements.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/search-modal/integration-search-items.ts">

<violation number="1" location="apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/search-modal/integration-search-items.ts:18">
P2: When availability has not hydrated yet, this fallback emits `connect=oauth` for service-account-only entries such as Oracle Fusion. The detail page later rejects OAuth when availability arrives, so the search click does not open the service-account picker; derive the fallback from the entry’s auth type or defer adding the query parameter until availability is known.</violation>
</file>

<file name="apps/sim/lib/copilot/tools/server/blocks/get-blocks-metadata-tool.ts">

<violation number="1" location="apps/sim/lib/copilot/tools/server/blocks/get-blocks-metadata-tool.ts:632">
P2: When `get_blocks_metadata` processes Oracle SCM, this branch returns a value outside the declared metadata type, and `transformBlockMetadata` has no service-account branch. The result reports `authType: "Service Account"` without `requiredCredentials`, so Copilot receives no service-account credential descriptor; add the union member and corresponding transformation.</violation>
</file>

<file name="apps/sim/app/(landing)/integrations/(shell)/page.tsx">

<violation number="1" location="apps/sim/app/(landing)/integrations/(shell)/page.tsx:35">
P2: When the catalog includes direct-configured `authType: 'none'` integrations, this FAQ still tells users they need no authentication. Describe the remaining integrations as configured directly in the block, with connection details or no credentials as applicable.</violation>
</file>

<file name="apps/sim/lib/internal/oracle-fusion-scm/schema.ts">

<violation number="1" location="apps/sim/lib/internal/oracle-fusion-scm/schema.ts:680">
P2: When an Oracle-derived opaque key has leading or trailing spaces, this schema trims it before the request is encoded, so detail and child calls address a different resource. Preserve the key exactly while rejecting only blank values.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

Comment thread apps/sim/app/(landing)/integrations/(shell)/page.tsx Outdated
Comment thread apps/sim/lib/internal/oracle-fusion-scm/schema.ts
@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

All reported issues were addressed across 78 files

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

Comment thread apps/sim/blocks/blocks/oracle_fusion_scm.ts
Comment thread apps/sim/lib/internal/oracle-fusion-scm/operations.ts Outdated
Comment thread apps/sim/lib/internal/oracle-fusion-scm/schema.ts
@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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

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.

1 participant