Repository navigation
feat(oracle-epm): add guarded foundation - #7469
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
️✅ There are no secrets present in this pull request anymore.If these secrets were true positive and are still valid, we highly recommend you to revoke them. 🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request. |
Greptile SummaryThe PR adds a guarded Oracle EPM foundation without exposing a product integration.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| apps/sim/lib/internal/oracle-epm/files.server.ts | Adds authorized, size-bounded file streaming and serialized multipart cleanup; the previously reported completion race is addressed. |
| apps/sim/lib/internal/oracle-epm/jobs.ts | Adds bounded polling with combined cancellation and deadline enforcement; the previously reported non-settling-reader overrun is addressed. |
| apps/sim/lib/internal/oracle-epm/client.server.ts | Implements the guarded Oracle EPM request boundary over validated endpoint declarations and destinations. |
| apps/sim/lib/internal/oracle-epm/endpoint.ts | Defines validated and frozen route, endpoint, query, header, retry, and response contracts. |
| apps/sim/lib/credentials/client-credential-accounts/minters/oracle-epm.ts | Locally generates bounded Basic-auth credentials and binds them to a normalized Oracle EPM environment. |
| apps/sim/lib/credentials/client-credential-accounts/descriptors.ts | Registers the Oracle EPM integration-user credential descriptor and required fields. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart LR
Credential[Oracle EPM integration-user credential] --> Minter[Local Basic-auth minter]
Minter --> Destination[Normalized environment destination]
Child[Future child-owned integration] --> Endpoint[Branded route and endpoint declaration]
Endpoint --> Client[Guarded Oracle EPM client]
Client --> Destination
Client --> Links[Validated returned links]
Client --> Files[Bounded file primitives]
Client --> Polling[Deadline-bound job polling]
Reviews (14): Last reviewed commit: "fix(oracle-epm): reject raw backslashes ..." | Re-trigger Greptile
|
@cubic-dev-ai review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
ff77e58 to
7ba3213
Compare
|
@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 review this PR |
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
|
@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 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 34 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
There was a problem hiding this comment.
All reported issues were addressed across 26 files
Heads up: you’re close to your flex budget. Increase your flex budget so reviews don’t pause.
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 26 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Heads up: you’re close to your flex budget. Increase your flex budget so reviews don’t pause.
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
9e95590 to
3f2d37b
Compare
3f2d37b to
3f4e39e
Compare
3f4e39e to
840c4f5
Compare
840c4f5 to
dd493d9
Compare
Adds the Oracle EPM integration-user credential and guarded transport shared by nine product PRs. The foundation provides environment-bound Basic authentication, child-owned endpoint/route policies, validated returned links, bounded requests/responses, polling, and file-transfer primitives. Product blocks, tools, selectors, and response schemas remain child-owned.
EPM uses the same connection/reconnect modal and encrypted credential lifecycle as Vanta and Ramp, with a canonical Oracle family registration. Password bytes are preserved through every credential boundary. JSON request budgets are enforced before serialization; cancellation and deadlines survive provider error parsing. Source files enter through shared execution materialization authorization. Setup guidance explains that Basic authentication requires a user without MFA and authenticates on the first product request. No shared Oracle OAuth app or deployment secret is required.
Validation:
Live EPM testing is pending an EPM tenant and integration-user credentials; no live-account pass is claimed. Product connection buttons appear when their visible child blocks ship. Restack and independently validate all nine children, passing ExecutionMaterializationContext as authorization to openOracleEpmSourceFile. Shared ordinary token resolution must enforce the consuming tool's registered service before the first product ships.