@loxtep/sdk 0.9.24 → 0.9.25

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.
Files changed (61) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +1 -0
  3. package/dist/cli/commands/data-plane-cmd.d.ts +59 -0
  4. package/dist/cli/commands/data-plane-cmd.d.ts.map +1 -0
  5. package/dist/cli/commands/data-plane-cmd.js +604 -0
  6. package/dist/cli/commands/data-plane-cmd.js.map +1 -0
  7. package/dist/cli/commands/data-products-cmd.d.ts +3 -1
  8. package/dist/cli/commands/data-products-cmd.d.ts.map +1 -1
  9. package/dist/cli/commands/data-products-cmd.js +21 -2
  10. package/dist/cli/commands/data-products-cmd.js.map +1 -1
  11. package/dist/cli/commands/define-cmd.d.ts.map +1 -1
  12. package/dist/cli/commands/define-cmd.js +3 -1
  13. package/dist/cli/commands/define-cmd.js.map +1 -1
  14. package/dist/cli/commands/queue-cmd.d.ts +4 -1
  15. package/dist/cli/commands/queue-cmd.d.ts.map +1 -1
  16. package/dist/cli/commands/queue-cmd.js +20 -0
  17. package/dist/cli/commands/queue-cmd.js.map +1 -1
  18. package/dist/cli/help.d.ts.map +1 -1
  19. package/dist/cli/help.js +32 -6
  20. package/dist/cli/help.js.map +1 -1
  21. package/dist/cli/index.d.ts.map +1 -1
  22. package/dist/cli/index.js +28 -5
  23. package/dist/cli/index.js.map +1 -1
  24. package/dist/client/data-products-types.d.ts +61 -0
  25. package/dist/client/data-products-types.d.ts.map +1 -1
  26. package/dist/client/data-products-types.js +12 -1
  27. package/dist/client/data-products-types.js.map +1 -1
  28. package/dist/client/data-products.d.ts +13 -1
  29. package/dist/client/data-products.d.ts.map +1 -1
  30. package/dist/client/data-products.js +190 -9
  31. package/dist/client/data-products.js.map +1 -1
  32. package/dist/client/define.d.ts +3 -0
  33. package/dist/client/define.d.ts.map +1 -1
  34. package/dist/client/define.js +1 -0
  35. package/dist/client/define.js.map +1 -1
  36. package/dist/client/index.d.ts +2 -1
  37. package/dist/client/index.d.ts.map +1 -1
  38. package/dist/client/index.js +1 -0
  39. package/dist/client/index.js.map +1 -1
  40. package/dist/client/loxtep-client.d.ts +3 -1
  41. package/dist/client/loxtep-client.d.ts.map +1 -1
  42. package/dist/client/loxtep-client.js +11 -0
  43. package/dist/client/loxtep-client.js.map +1 -1
  44. package/dist/client/quality-rules.d.ts +32 -0
  45. package/dist/client/quality-rules.d.ts.map +1 -0
  46. package/dist/client/quality-rules.js +67 -0
  47. package/dist/client/quality-rules.js.map +1 -0
  48. package/dist/client/queues.d.ts.map +1 -1
  49. package/dist/client/queues.js +10 -4
  50. package/dist/client/queues.js.map +1 -1
  51. package/dist/client/semantic-layer.d.ts +4 -0
  52. package/dist/client/semantic-layer.d.ts.map +1 -1
  53. package/dist/client/semantic-layer.js +8 -0
  54. package/dist/client/semantic-layer.js.map +1 -1
  55. package/dist/http/client.d.ts +6 -0
  56. package/dist/http/client.d.ts.map +1 -1
  57. package/dist/http/client.js +17 -1
  58. package/dist/http/client.js.map +1 -1
  59. package/docs/data-plane-cli.md +201 -0
  60. package/docs/quick-reference.md +14 -0
  61. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -8,6 +8,24 @@ and this project adheres to
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [0.9.25] - 2026-10-10
12
+
13
+ ### Added
14
+
15
+ - `data_products.query_receipt` keeps the native warehouse `query_id`, status, errors, timing, and execution metadata. `query` still returns rows, and only when status is `completed`. A failed query throws `WarehouseQueryError` with `query_id`. Any other status, including a missing status, is an error and is not rewritten to completed.
16
+ - `data_products.iceberg` wraps enable, config, health, files, snapshots, rebuild, and cancel.
17
+ - `data_products.export_events` reads retained trace events with an explicit start or `from_beginning`. It does not commit a reader checkpoint.
18
+ - `define.quality_rules` wraps `/dataproducts/quality-rules`. `get` scans the list because there is no GET-by-id route.
19
+ - `meaning.semantic.apply_glossary_bindings` posts `/semantic-layer/glossary/bindings`.
20
+ - CLI: `data-products iceberg`, `data-products export`, `data-products primary-entity`, `data-products query --receipt`, `data-contracts update`, `quality-rules`, `define glossary`, and `define apply-glossary`. Usage is in `nodejs/docs/data-plane-cli.md`. `--wait` finishes only when health `job_id` or `backfill_job_id` is the accepted job.
21
+ - HTTP requests send `x-loxtep-instance-id` from the client instance. `setInstanceId` changes it. Queue metadata for a name absent from that instance is `not_visible` or `empty_on_selected_instance` and does not invent checkpoints.
22
+
23
+ ### Notes
24
+
25
+ - Python stays 0.7.2. `loxtep` on Python delegates these commands to the Node CLI. Python `DataProductsApi.query` still returns rows only.
26
+ - Rebuild cancel returns the native error. Stage instances without a cancel route report `endpoint_missing`. A queued rebuild is not completion.
27
+ - This package is source 0.9.25 until the `v0.9.25` tag is published. The deployed data-products service must include the read-only dry-run handler before a live dry run is read-only.
28
+
11
29
  ## [0.9.24] - 2026-10-09
12
30
 
13
31
  ### Added
package/README.md CHANGED
@@ -350,6 +350,7 @@ await client.build.targets.delete('dp_abc123', webhook.consumption_id);
350
350
  - **[Code-first CLI](./docs/code-first-cli.md)** – `loxtep init`, attach, generate, test, deploy.
351
351
  - **[Quick reference](./docs/quick-reference.md)** – Single-page cheat sheet.
352
352
  - **[Event replay cookbook](./docs/event-replay-cookbook.md)** – Replay events from a data product or queue.
353
+ - **[Data plane CLI](./docs/data-plane-cli.md)** – Iceberg rebuild and inspection, SQL receipts, read-only export.
353
354
  - **[SDK + agent pairing](./docs/sdk-pairing.md)** – When to use the SDK vs IDE agent integrations.
354
355
  - **Typed errors** – `import { … } from '@loxtep/sdk/errors'`.
355
356
  - **API reference** – `pnpm run docs` (Typedoc).
@@ -0,0 +1,59 @@
1
+ /**
2
+ * CLI for Iceberg control, read-only export, query receipts, and governance gaps.
3
+ * Commands call the existing REST API. A queued rebuild is not completion.
4
+ */
5
+ import type { LoxtepClient } from '../../client/loxtep-client.js';
6
+ import { type CreateCliClientOptions } from '../create-cli-client.js';
7
+ export interface CliIo {
8
+ log: (line: string) => void;
9
+ error: (line: string) => void;
10
+ }
11
+ export declare function argValue(args: string[], name: string): string | undefined;
12
+ export declare function hasFlag(args: string[], name: string): boolean;
13
+ export declare function parseDurationMs(value: string): number | undefined;
14
+ export interface RebuildRequestBody {
15
+ confirm: true;
16
+ backfill_from: string;
17
+ start_checkpoint?: string;
18
+ end_checkpoint?: string;
19
+ dry_run: boolean;
20
+ }
21
+ export declare function validateRebuildArgs(args: string[]): {
22
+ ok: true;
23
+ body: RebuildRequestBody;
24
+ end_bound: 'evergreen' | 'checkpoint';
25
+ } | {
26
+ ok: false;
27
+ code: string;
28
+ message: string;
29
+ };
30
+ export declare function pollIcebergJob(input: {
31
+ readHealth: () => Promise<Record<string, unknown>>;
32
+ jobId: string;
33
+ waitMs: number;
34
+ intervalMs: number;
35
+ sleep?: (ms: number) => Promise<void>;
36
+ now?: () => number;
37
+ }): Promise<{
38
+ exitCode: number;
39
+ body: Record<string, unknown>;
40
+ }>;
41
+ export interface IcebergClock {
42
+ now?: () => number;
43
+ sleep?: (ms: number) => Promise<void>;
44
+ }
45
+ export declare function executeIceberg(client: LoxtepClient, args: string[], io: CliIo, clock?: IcebergClock): Promise<number>;
46
+ export declare function executeExport(client: LoxtepClient, args: string[], io?: CliIo): Promise<number>;
47
+ export declare function executePrimaryEntity(client: LoxtepClient, productId: string, io?: CliIo, json?: boolean): Promise<number>;
48
+ export declare function executeGlossary(client: LoxtepClient, args: string[], io?: CliIo): Promise<number>;
49
+ export declare function executeContractUpdate(client: LoxtepClient, args: string[], io?: CliIo): Promise<number>;
50
+ export declare function executeQualityRules(client: LoxtepClient, args: string[], io?: CliIo): Promise<number>;
51
+ export declare function runDataPlaneIceberg(args: string[], options?: CreateCliClientOptions): Promise<void>;
52
+ export declare function runDataPlaneExport(args: string[], options?: CreateCliClientOptions): Promise<void>;
53
+ export declare function runPrimaryEntity(productId: string, options?: CreateCliClientOptions & {
54
+ json?: boolean;
55
+ }): Promise<void>;
56
+ export declare function runDefineGlossary(args: string[], options?: CreateCliClientOptions): Promise<void>;
57
+ export declare function runDataContractsUpdate(args: string[], options?: CreateCliClientOptions): Promise<void>;
58
+ export declare function runQualityRules(args: string[], options?: CreateCliClientOptions): Promise<void>;
59
+ //# sourceMappingURL=data-plane-cmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-plane-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/data-plane-cmd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAoB,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAKxF,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAyBD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMzE;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUjE;AAMD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,IAAI,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EAAE,GACb;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,WAAW,GAAG,YAAY,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAqD9H;AA8DD,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CA0D/D;AAgBD,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,EAAE,KAAK,EACT,KAAK,CAAC,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAqOjB;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,GAAE,KAAiB,GACpB,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,EAAE,GAAE,KAAiB,EACrB,IAAI,UAAQ,GACX,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,GAAE,KAAiB,GACpB,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,GAAE,KAAiB,GACpB,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EAAE,EACd,EAAE,GAAE,KAAiB,GACpB,OAAO,CAAC,MAAM,CAAC,CAmDjB;AAWD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,sBAAsB,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GACxD,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAEf"}