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. |
|
@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
1 issue found across 26 files
Confidence score: 4/5
- In
apps/sim/lib/internal/oracle-epm/endpoint.ts,validatePathrejects valid non-BMP literals such as😀because the surrogate-range check matches both halves, preventing them from being encoded; update the validation to reject only malformed UTF-16 pairs.
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/lib/internal/oracle-epm/endpoint.ts">
<violation number="1" location="apps/sim/lib/internal/oracle-epm/endpoint.ts:57">
P2: When a child declares a valid non-BMP literal such as `😀`, `validatePath` rejects it because the surrogate-range branch matches both halves. Reject only malformed UTF-16 pairs so valid literals remain encodable.</violation>
</file>
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 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.
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.
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
Summary
Type of Change
Testing
Deferred Platform Work
Checklist