feat(powerbi): add Power BI actions - #8538
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
There was a problem hiding this comment.
2 issues found across 54 files
Confidence score: 4/5
- In
powerbi.ts, missing headers can producenullvalues even though the outputs are declared as strings, which can leave workflow consumers with values that don't match the block schema. Mark both outputs nullable. - In
provider-fixture.ts, resolvingapi.powerbi.comto routable8.8.8.8lets requests that bypass the patched adapters reach a public IP instead of the loopback fixture. Use a fail-closed, non-routable resolution.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="apps/sim/blocks/blocks/powerbi.ts">
<violation number="1" location="apps/sim/blocks/blocks/powerbi.ts:418">
P2: `requestId` and `location` can be `null` when Power BI omits their headers, but these block outputs declare plain strings. Extend the block output metadata to mark both fields nullable so workflow consumers do not assume they always receive strings.
(Based on your team's feedback about nullable always-present outputs.)</violation>
</file>
<file name="apps/sim/tools/powerbi/__fixtures__/provider-fixture.ts">
<violation number="1" location="apps/sim/tools/powerbi/__fixtures__/provider-fixture.ts:237">
P3: Resolving `api.powerbi.com` to `8.8.8.8` (Google, routable) is fail-open despite the fail-closed comment: the patched `https.request`/`fetch` redirect this host to the loopback fixture, but any code path that resolves the host through the patched `dns.lookup` and then connects without going through those two patched boundaries would reach the real network. Point the fixture at a non-routable TEST-NET address (e.g., `192.0.2.1`) so an accidental leak fails instead of egressing.</violation>
</file>
Tip: instead of fixing issues one by one fix them all with cubic
Re-trigger cubic
240f1be to
b58e594
Compare
|
@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 58 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
16b04ec to
de56c95
Compare
|
@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 58 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
de56c95 to
953a1ec
Compare
|
@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 51 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
953a1ec to
38d50c6
Compare
|
@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 51 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
|
@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 51 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 51 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
Type of Change
Testing
Latest documentation update: deleting and regenerating the Power BI page and running generation again both produced byte-for-byte identical output. All eight catalog action descriptions are populated, the overview uses plain text, and the DAX action explicitly documents the effective 10 MiB limit. Generated changes are limited to Power BI descriptions/catalog entries, and implementation code is unchanged. Reran 34 Power BI/selector tests, four workspace type checks, lint, all 54 audits, block-registry validation, generator/manifest checks, and whitespace checks. The broader unit, infrastructure, running-app, browser, and independent-audit results above are from the preceding runtime revision. Greptile and cubic reviewed the final documentation revision at 5/5 with zero unresolved threads. All five applicable CI jobs passed, including the app build, lint/tests, both PostgreSQL integration modes, and real HTTP end-to-end checks. The PR remains unmerged.
Live validation used a dedicated test tenant and a locally configured Microsoft application. It verifies the tested account and resources, not every customer tenant or Sim's production OAuth configuration. Before public deployment, confirm the existing production Microsoft app supports organizational multitenant access, has the Power BI delegated permissions, and registers the deployment URL with
/api/auth/oauth2/callback/microsoft-powerbi. Check the existing app's publisher-verification status. Customer tenants may require administrator consent; users still need appropriate licensing and workspace/resource permissions, and DAX requires model Read/Build permissions and the tenant Execute Queries setting enabled.Checklist
Screenshots/Videos
Redacted fixture and live browser evidence, JSON/HTTP/execution reports, and token-refresh evidence are retained outside Git. Dedicated live-test resources were used; credentials, account identifiers, and private resource URLs are excluded from the PR.