@burdenoff/be-sdk 2026.1005.1 → 2026.1008.1
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/README.md +64 -0
- package/dist/auth/index.d.ts +2 -2
- package/dist/{chunk-FA5ROGTS.js → chunk-CYY4VIRK.js} +257 -131
- package/dist/chunk-CYY4VIRK.js.map +1 -0
- package/dist/{chunk-CVMQRWCB.js → chunk-EOHPDXXW.js} +7 -3
- package/dist/chunk-EOHPDXXW.js.map +1 -0
- package/dist/feature-flags/index.d.ts +3 -3
- package/dist/{index-Daj7nq9V.d.ts → index-Dl8EAdYu.d.ts} +10 -2
- package/dist/{index-Drvw0QPe.d.ts → index-Rc5EphmY.d.ts} +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -4
- package/dist/lake/index.d.ts +59 -0
- package/dist/lake/index.js +253 -0
- package/dist/lake/index.js.map +1 -0
- package/dist/prisma/index.d.ts +2 -2
- package/dist/prisma/index.js +2 -2
- package/dist/server/index.d.ts +3 -3
- package/dist/server/index.js +1 -1
- package/dist/{types-Biv0uaJk.d.ts → types-C-6m9NoG.d.ts} +1 -1
- package/dist/{workspace-extension-DlxYz3P4.d.ts → workspace-extension-DiNiTLa3.d.ts} +29 -1
- package/package.json +7 -3
- package/dist/chunk-CVMQRWCB.js.map +0 -1
- package/dist/chunk-FA5ROGTS.js.map +0 -1
package/README.md
CHANGED
|
@@ -204,3 +204,67 @@ PROPRIETARY - Copyright Burdenoff Consultancy Services Pvt. Ltd.
|
|
|
204
204
|
## Support
|
|
205
205
|
|
|
206
206
|
For support, email contact@burdenoff.com or visit [https://burdenoff.com/support](https://burdenoff.com/support).
|
|
207
|
+
|
|
208
|
+
## Shared DuckLake dataset contract (BOFF-8254)
|
|
209
|
+
|
|
210
|
+
The DuckLake catalog PostgreSQL database owns `shared_lake_datasets` and
|
|
211
|
+
`shared_lake_dataset_consumers` (migration in `prisma/lake-registry/`).
|
|
212
|
+
`dataset_id` is the existing BigConsole sink UUID, `metadata_schema` is
|
|
213
|
+
`dl_<UUID with underscores>`, and the S3 prefix stays
|
|
214
|
+
`datasinks/<dataset_id>/`. BigConsole's service database continues to own the
|
|
215
|
+
ingest watermark and dashboard payload behavior; it mirrors legacy metadata
|
|
216
|
+
to this registry. Run its idempotent `scripts/backfill-shared-lake-registry.ts`
|
|
217
|
+
after the catalog migration, then let normal writes keep it current.
|
|
218
|
+
|
|
219
|
+
Legacy `payload_versions` and `payload_elements` are JSON dashboard data, not
|
|
220
|
+
an operational TimeCampus contract. A product owner adds a typed table in the
|
|
221
|
+
same catalog schema (or a new dataset), with non-null `workspace_id` and
|
|
222
|
+
nullable `product_id`. A null `product_id` explicitly marks a row shared with
|
|
223
|
+
all **approved** dataset consumers. Product-specific rows carry their product
|
|
224
|
+
slug. Readers use both `workspace_id` and `(product_id = consumer OR
|
|
225
|
+
product_id IS NULL)` in every query. Column names and types are versioned by
|
|
226
|
+
`schema_version`; an incompatible change requires a new version/table and a
|
|
227
|
+
staged consumer migration. A single designated owner writes each typed table;
|
|
228
|
+
readers never write. Owners serialize commits and update
|
|
229
|
+
`last_committed_version` only after the lake transaction succeeds. Add DuckLake
|
|
230
|
+
product/date partitions only after file-size and query-profile evidence shows
|
|
231
|
+
that pruning is useful; partitions are a performance choice, not an access
|
|
232
|
+
control mechanism.
|
|
233
|
+
|
|
234
|
+
The first TimeCampus GraphQL operation exposes only typed `time_entries`
|
|
235
|
+
tables classified L1 or L2. Other approved datasets remain service-only until
|
|
236
|
+
their fields and end-user RBAC are reviewed explicitly.
|
|
237
|
+
|
|
238
|
+
Rollout for a TimeCampus grant:
|
|
239
|
+
|
|
240
|
+
1. Apply `bun run lake:registry:migrate` against the catalog with
|
|
241
|
+
`DUCKLAKE_REGISTRY_MIGRATION_URL`. Backfill existing BigConsole sinks.
|
|
242
|
+
2. Create the typed table and a representative fixture in alpha, validate
|
|
243
|
+
workspace/product columns and version, then call `registerTyped` with the
|
|
244
|
+
original sink ID/routing and `lifecycle: 'ready'`. BigConsole continues using
|
|
245
|
+
its legacy payload tables in the same schema.
|
|
246
|
+
3. Add the dataset UUID to `timecampus_ducklake_dataset_ids.alpha` in
|
|
247
|
+
`tf-aws-cloud/roots/secrets`, review/apply the S3 policy through IaC, and
|
|
248
|
+
provision a separate static access key in the TimeCampus Secrets Manager
|
|
249
|
+
bundle. The TimeCampus catalog login must be a member of the
|
|
250
|
+
`boff_timecampus_lake_reader` role; put its read-only URL in
|
|
251
|
+
`DUCKLAKE_CATALOG_URL`. Add `DUCKLAKE_S3_BUCKET`,
|
|
252
|
+
`DUCKLAKE_S3_ACCESS_KEY_ID`, and `DUCKLAKE_S3_SECRET_ACCESS_KEY` to the same
|
|
253
|
+
bundle. The workload already imports its bundle through GitOps.
|
|
254
|
+
4. Run `bun run lake:grant:timecampus` with the approved `LAKE_DATASET_ID` and
|
|
255
|
+
`LAKE_GRANT_ACTOR`. This grants catalog schema SELECT and activates the
|
|
256
|
+
product grant. The approved view prevents TimeCampus's catalog login from
|
|
257
|
+
reading the unfiltered registry tables. The IAM key can read only the
|
|
258
|
+
reviewed S3 prefix. Validate discovery, direct read, denied guessed ID, and
|
|
259
|
+
mixed-product rows with
|
|
260
|
+
`timecampus-doctor/wspace/modules/timecampus/scripts/test-timecampus.sh --test lake`
|
|
261
|
+
in alpha; then
|
|
262
|
+
repeat the reviewed grant and validation in prod.
|
|
263
|
+
|
|
264
|
+
To adopt a second product, add its own catalog view and NOLOGIN reader role,
|
|
265
|
+
per-dataset PostgreSQL schema grants, IAM principal/prefix policy, Secrets
|
|
266
|
+
Manager bundle values, and service using `LakeDatasetRegistry` plus
|
|
267
|
+
`AuthorizedLakeReader`. Grant revocation must use
|
|
268
|
+
`LAKE_GRANT_ACTION=revoke bun run lake:grant:timecampus`, remove the dataset
|
|
269
|
+
UUID from the Terraform S3 policy, and rotate credentials if a removed product
|
|
270
|
+
previously held them. Do not share BigConsole's broad lake credentials.
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { B as BurdenoffGraphQLClient } from '../graphql-AaLJfGzz.js';
|
|
2
2
|
import { a as SDKContext } from '../index-CfRZtB99.js';
|
|
3
|
-
import { G as GraphQLContext } from '../types-
|
|
3
|
+
import { G as GraphQLContext } from '../types-C-6m9NoG.js';
|
|
4
4
|
import 'graphql-request';
|
|
5
5
|
import '../layer-GNAVXBMf.js';
|
|
6
6
|
import 'graphql';
|
|
@@ -8,7 +8,7 @@ import 'graphql-yoga';
|
|
|
8
8
|
import '../client-CCXpAZ2r.js';
|
|
9
9
|
import '@prisma/adapter-pg';
|
|
10
10
|
import 'pg';
|
|
11
|
-
import '../workspace-extension-
|
|
11
|
+
import '../workspace-extension-DiNiTLa3.js';
|
|
12
12
|
import '../types-C8TbSdEj.js';
|
|
13
13
|
|
|
14
14
|
interface CookieOptions {
|