@cube-dev/platform-client 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -9,7 +9,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  <!-- Curate public-facing entries here before the next release. -->
11
11
 
12
+ ## [0.13.0] - 2026-09-22
13
+
14
+ ### Added
15
+
16
+ - New public REST endpoints for promoting a workbook across deployments (CUB-2563): `POST /api/v1/deployments/{deploymentId}/workbooks/{workbookId}/promotion-previews` (`WorkbookPromotionsPublicController.previewWorkbookPromotion`) validates the promotion and returns content hashes for optimistic concurrency, without storing anything; `POST .../promotions` (`.promoteWorkbook`) applies it atomically if the source hash still matches the preview, preserving the workbook's deployment-scoped slug across repeat promotions, and takes an idempotency key to make retries safe; `GET .../promotion` (`.getWorkbookPromotion`) returns the workbook's promotion provenance; `GET .../promotions` (`.getWorkbookPromotions`) lists its promotion history with cursor pagination; `GET .../promotion-links` (`.getWorkbookPromotionLinks`) lists its promotion destinations. Requires access to both deployments, and a workspace session or API key — not an embed session. New schemas: `WorkbookPromotionDto`, `WorkbookPromotionDtoOutcome`, `WorkbookPromotionPreviewDto`, `WorkbookPromotionSummaryResponse`, `WorkbookPromotionSummaryDto`, `WorkbookPromotionsListResponse`, `WorkbookPromotionLinkDto`, `WorkbookPromotionLinksListResponse`, `PromotionActorDto`, `PromotionActorDtoAuthenticationMethod`, `PromotionReferenceDto`, `PromotionReferenceDtoAvailability`, `PreviewWorkbookPromotionInput`, `ApplyWorkbookPromotionInput`.
17
+ - `Workbook` gained `promotion` (CUB-2563) — the workbook's promotion summary (`WorkbookPromotionSummaryDto`), `null` on a workbook that has never been promoted or received a promotion.
18
+ - New public REST endpoint `GET /api/v1/external-documents/{externalWorkbookId}/placements` (`ExternalDocumentsPublicController.listExternalDocumentPlacements`) (CUB-4418) lists every block of Cube-written cells in an external spreadsheet — a Google Drive file id, or the custom property the Excel add-in writes — across the whole tenant, including placements the caller cannot read: each entry carries `access: GRANTED | DENIED`, with `reportName` withheld (`null`) on a denied entry. Tenant-scoped, unlike `GET /api/v1/deployments/{deploymentId}/reports?externalWorkbookId=`, which lists only readable reports for one deployment. Supports cursor pagination (`first`/`after`); omitting `first` returns every placement in the document. Answers `422` rather than a truncated page if the document holds more than 500 placed explorations or 2000 total placements. New schema: `ExternalDocumentPlacementsListResponse` (`ExternalDocumentPlacementResponse`, `ExternalDocumentPlacementResponseAccess`, `ExternalDocumentPlacementResponseHost`).
19
+
20
+ ### Removed
21
+
22
+ - **BREAKING:** the deprecated agent Jira/Atlassian schema surface is deleted (CUB-4781), one release after `0.12.0` shipped it deprecated-but-present. Gone: `Agent.integrations` and `UpdateAgentInput.integrations` (with `AgentIntegrationsDto`, `AgentIntegrationsJiraDto`, `JiraSite`, `JiraProject`, `JiraIssueType` and their `*Input` counterparts), the `atlassianConfig` / `jiraProjects` / `jiraIssueTypes` queries, and the `useD3AiJiraIntegration` tenant flag. All of them answered null, empty or false for their whole deprecated life — nothing read or wrote them, because the OAuth callback, credential storage and token refresh behind them were removed in CUB-4773. A client that still **selects** one of these fields will now fail the whole GraphQL query rather than receive null, so remove them from your operations if you have not already. The same removal reaches this package's generated REST types: `AgentIntegrationsDto`, `AgentIntegrationsJiraDto`, `JiraSite`, `JiraProject` and `JiraIssueType` are gone from `schema.ts`, and `Agent.integrations` no longer exists on the `Agent` component — a TypeScript consumer that still references any of them fails to compile on upgrade, not just at runtime. Notably, none of this was ever marked `deprecated: true` in the public OpenAPI spec during `0.12.0`'s deprecation window, so a REST/SDK consumer had no machine-readable warning before this release removed it outright.
23
+ - `AgentsWithIntegrations` keeps its name despite no longer selecting any integrations. Renaming a published operation would break every caller on top of the field removal, for cosmetic gain; it is a plain agents query now.
24
+
25
+ ## [0.12.0] - 2026-09-20
26
+
27
+ ### Added
28
+
29
+ - `AppConfigResponse` gained `dashboardAppsEnabled` — whether this tenant has Dashboard Apps, for a client with no other read path to tenant flags (the creator-mode embed, the Sheets add-in) to tell whether to render an `APP`-kind workbook as the app rather than the classic builder — and `restrictDataDownload` — the tenant-wide data-download lock, exposed here for the same reason: an embed has no other read path to it, and previously only the published-dashboard embed carried a copy on its own payload.
30
+ - `ReportSnapshot` gained `publicId` — the snapshotted report's public id, which is what a published Dashboard App resolves a report by (`useReportData('<publicId>')`); `null` on versions written before it was recorded.
31
+ - `TenantSettings` gained `aiTokensAutoPurchaseEnabled`, `aiTokensAutoPurchaseThreshold` and `aiTokensAutoPurchaseAmount` (CUB-4690) — automatic AI-token top-up; `TenantSettingsInput` gained only `aiTokensAutoPurchaseEnabled` and `aiTokensAutoPurchaseAmount`, since `Threshold` is staff-set per tenant and not customer-configurable through this endpoint. `Threshold`/`Amount` are dollar amounts and are only meaningful while `Enabled`; `Amount` is retained when it is switched off so re-enabling restores what the customer had.
32
+ - `PivotItems` / `PivotItemsInput` gained `showRowTotals` (CUB-4542) — whether a trailing "Total" column is appended, totaling each row across the pivot columns; the row-axis counterpart of the existing `showColumnTotals`. Ignored without a Columns zone, same as its sibling.
33
+
34
+ ### Changed
35
+
36
+ - `DatabricksMetricViewPublicationViewResult.outcome` gained `partial`, and the result gained a required `withheldMembers` — measures a view could not publish, each named with its cube. A `partial` view is queryable but incomplete; a consumer matching exhaustively on `outcome` must handle the new value.
37
+
38
+ ### Deprecated
39
+
40
+ - The agent Jira/Atlassian integration no longer does anything (CUB-4773). `Agent.integrations` (`AgentIntegrationsDto`, `AgentIntegrationsJiraDto`), `UpdateAgentInput.integrations`, the `atlassianConfig` / `jiraProjects` / `jiraIssueTypes` queries and `useD3AiJiraIntegration` are **deprecated, not removed** — they remain in the schema returning null/false so existing clients keep working, and are deleted in a later release (CUB-4781). Nothing reads or writes them: the OAuth callback, credential storage and token refresh behind them are gone.
41
+
12
42
  ## [0.11.0] - 2026-09-15
43
+
13
44
  ### Added
14
45
 
15
46
  - `FolderDto` gained `user` (CUB-4611) — the folder's owner, resolved the same way workbook owners are; `null` on a folder shared from the main workspace, which stays masked. Fixes the embed workspace's Owner column always rendering a dash, including for a folder the caller just created.
@@ -17,6 +48,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
17
48
  - New public REST endpoint `POST /api/v1/embed/session/revoke` (`EmbedPublicController.revokeSession`) (CUB-4508) ends a signed embed session from the server side — call it from your application's logout handler with the `sessionId` that `POST /api/v1/embed/generate-session` returned. Works on either state a session can be in: an unexchanged id can no longer be redeemed via `POST /api/v1/embed/session/token`, and a token an already-exchanged id produced is rejected with `401` from that point on. Idempotent — revoking an unknown, expired, or already-revoked id also responds `204`, so the response alone never tells you whether a token was still revocable. That depends on Cube, not on the client library you call from: only tokens Cube issued after this endpoint shipped carry the revocation claim, and an older token keeps working until it expires on its own, within 24 hours. Requires admin access and that embedding be enabled for the account. New schema: `RevokeEmbedSessionInput`.
18
49
 
19
50
  ## [0.10.0] - 2026-09-14
51
+
20
52
  ### Added
21
53
 
22
54
  - `GET /api/v1/deployments/{deploymentId}/dbt-sync/{syncJobId}/generated-files` (`DbtSyncPublicController.getDbtSyncGeneratedFiles`) returns the cube files a dbt sync generated when it did not commit them, with cursor pagination (CUB-4489). The files are held for one hour after the sync completes and then dropped, so collect them promptly; a sync that committed to a branch instead, or a stale/unknown job, gets a 404. Requires deployment read access. New schemas: `DbtSyncGeneratedFilesListResponse`, `DbtGeneratedFileContent`.