@loxtep/sdk 0.9.24 → 0.9.26
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 +26 -0
- package/README.md +1 -0
- package/dist/cli/commands/data-plane-cmd.d.ts +59 -0
- package/dist/cli/commands/data-plane-cmd.d.ts.map +1 -0
- package/dist/cli/commands/data-plane-cmd.js +604 -0
- package/dist/cli/commands/data-plane-cmd.js.map +1 -0
- package/dist/cli/commands/data-products-cmd.d.ts +3 -1
- package/dist/cli/commands/data-products-cmd.d.ts.map +1 -1
- package/dist/cli/commands/data-products-cmd.js +21 -2
- package/dist/cli/commands/data-products-cmd.js.map +1 -1
- package/dist/cli/commands/define-cmd.d.ts.map +1 -1
- package/dist/cli/commands/define-cmd.js +3 -1
- package/dist/cli/commands/define-cmd.js.map +1 -1
- package/dist/cli/commands/proposals-cmd.d.ts +25 -0
- package/dist/cli/commands/proposals-cmd.d.ts.map +1 -0
- package/dist/cli/commands/proposals-cmd.js +73 -0
- package/dist/cli/commands/proposals-cmd.js.map +1 -0
- package/dist/cli/commands/queue-cmd.d.ts +4 -1
- package/dist/cli/commands/queue-cmd.d.ts.map +1 -1
- package/dist/cli/commands/queue-cmd.js +20 -0
- package/dist/cli/commands/queue-cmd.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +37 -6
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +71 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/client/data-products-types.d.ts +61 -0
- package/dist/client/data-products-types.d.ts.map +1 -1
- package/dist/client/data-products-types.js +12 -1
- package/dist/client/data-products-types.js.map +1 -1
- package/dist/client/data-products.d.ts +13 -1
- package/dist/client/data-products.d.ts.map +1 -1
- package/dist/client/data-products.js +190 -9
- package/dist/client/data-products.js.map +1 -1
- package/dist/client/define.d.ts +3 -0
- package/dist/client/define.d.ts.map +1 -1
- package/dist/client/define.js +1 -0
- package/dist/client/define.js.map +1 -1
- package/dist/client/index.d.ts +2 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/loxtep-client.d.ts +3 -1
- package/dist/client/loxtep-client.d.ts.map +1 -1
- package/dist/client/loxtep-client.js +11 -0
- package/dist/client/loxtep-client.js.map +1 -1
- package/dist/client/proposals-types.d.ts +11 -0
- package/dist/client/proposals-types.d.ts.map +1 -1
- package/dist/client/proposals.d.ts +4 -1
- package/dist/client/proposals.d.ts.map +1 -1
- package/dist/client/proposals.js +15 -1
- package/dist/client/proposals.js.map +1 -1
- package/dist/client/quality-rules.d.ts +32 -0
- package/dist/client/quality-rules.d.ts.map +1 -0
- package/dist/client/quality-rules.js +67 -0
- package/dist/client/quality-rules.js.map +1 -0
- package/dist/client/queues.d.ts.map +1 -1
- package/dist/client/queues.js +10 -4
- package/dist/client/queues.js.map +1 -1
- package/dist/client/semantic-layer.d.ts +4 -0
- package/dist/client/semantic-layer.d.ts.map +1 -1
- package/dist/client/semantic-layer.js +8 -0
- package/dist/client/semantic-layer.js.map +1 -1
- package/dist/http/client.d.ts +6 -0
- package/dist/http/client.d.ts.map +1 -1
- package/dist/http/client.js +17 -1
- package/dist/http/client.js.map +1 -1
- package/docs/data-plane-cli.md +201 -0
- package/docs/quick-reference.md +14 -0
- package/docs/sdk-mcp-mapping.md +14 -7
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quality-rules.js","sourceRoot":"","sources":["../../src/client/quality-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queues.d.ts","sourceRoot":"","sources":["../../src/client/queues.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAEhB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACX,MAAM,kBAAkB,CAAC;AAQ1B,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;CACnD;AAKD;;;;;;;;GAQG;AACH,qBAAa,WAAY,YAAW,iBAAiB;IACnD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,MAAM,CAAU;gBAGtB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,sBAAsB,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAU5D;;;;;;OAMG;IACI,IAAI,CAAC,QAAQ,CAAC,EAAE,sBAAsB,GAAG,aAAa,CAAC,UAAU,CAAC;IAqCzE;;;OAGG;IACH,KAAK,IAAI,IAAI;CAGd;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,gBAAgB,EACtB,IAAI,CAAC,EAAE,aAAa,GACnB;IACD,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACnE,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzF,WAAW,EAAE,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,sBAAsB,CAAC;KAClC,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjC,WAAW,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC7F,
|
|
1
|
+
{"version":3,"file":"queues.d.ts","sourceRoot":"","sources":["../../src/client/queues.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAEhB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACX,MAAM,kBAAkB,CAAC;AAQ1B,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;CACnD;AAKD;;;;;;;;GAQG;AACH,qBAAa,WAAY,YAAW,iBAAiB;IACnD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,MAAM,CAAU;gBAGtB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,sBAAsB,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAU5D;;;;;;OAMG;IACI,IAAI,CAAC,QAAQ,CAAC,EAAE,sBAAsB,GAAG,aAAa,CAAC,UAAU,CAAC;IAqCzE;;;OAGG;IACH,KAAK,IAAI,IAAI;CAGd;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,gBAAgB,EACtB,IAAI,CAAC,EAAE,aAAa,GACnB;IACD,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACnE,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzF,WAAW,EAAE,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,sBAAsB,CAAC;KAClC,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjC,WAAW,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC7F,CAuGA"}
|
package/dist/client/queues.js
CHANGED
|
@@ -85,17 +85,23 @@ export function createQueuesApi(http, deps) {
|
|
|
85
85
|
const match = queues.find((q) => (q.queue_name ?? q.name ?? '') === queue_name);
|
|
86
86
|
if (match)
|
|
87
87
|
return match;
|
|
88
|
+
const instanceId = http.getDefaultHeader?.('x-loxtep-instance-id');
|
|
88
89
|
return {
|
|
89
90
|
queue_name,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
writers: [],
|
|
93
|
-
stats: {},
|
|
91
|
+
visibility: queues.length === 0 ? 'empty_on_selected_instance' : 'not_visible',
|
|
92
|
+
instance_id: instanceId,
|
|
94
93
|
};
|
|
95
94
|
},
|
|
96
95
|
async get_reader_checkpoint(queue_name, bot_id) {
|
|
97
96
|
// No dedicated /observe/queues/checkpoint route — derive from queue metadata.
|
|
98
97
|
const meta = await this.get_queue_metadata(queue_name);
|
|
98
|
+
if (meta.visibility === 'not_visible' || meta.visibility === 'empty_on_selected_instance') {
|
|
99
|
+
const err = new Error(meta.visibility === 'empty_on_selected_instance'
|
|
100
|
+
? `Queue list is empty on the selected instance${meta.instance_id ? ` ${meta.instance_id}` : ''}`
|
|
101
|
+
: `Queue ${queue_name} is not visible on the selected instance${meta.instance_id ? ` ${meta.instance_id}` : ''}`);
|
|
102
|
+
err.code = String(meta.visibility);
|
|
103
|
+
throw err;
|
|
104
|
+
}
|
|
99
105
|
const fromCheckpoints = (meta.checkpoints ?? []).find(c => (c.bot_id ?? '') === bot_id || c.reader_id === bot_id);
|
|
100
106
|
if (fromCheckpoints) {
|
|
101
107
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queues.js","sourceRoot":"","sources":["../../src/client/queues.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"queues.js","sourceRoot":"","sources":["../../src/client/queues.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,10 @@ export declare function createSemanticLayerApi(http: LoxtepHttpClient): {
|
|
|
20
20
|
get_completeness: (input?: GetSemanticCompletenessInput) => Promise<SemanticCompletenessResult>;
|
|
21
21
|
/** MCP operation alias. */
|
|
22
22
|
get_semantic_completeness: (input?: GetSemanticCompletenessInput) => Promise<SemanticCompletenessResult>;
|
|
23
|
+
apply_glossary_bindings: (input: {
|
|
24
|
+
data_product_id: string;
|
|
25
|
+
mapping_revision?: number;
|
|
26
|
+
}) => Promise<unknown>;
|
|
23
27
|
};
|
|
24
28
|
export type SemanticLayerApi = ReturnType<typeof createSemanticLayerApi>;
|
|
25
29
|
//# sourceMappingURL=semantic-layer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-layer.d.ts","sourceRoot":"","sources":["../../src/client/semantic-layer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAE3B,MAAM,2BAA2B,CAAC;AAYnC,8EAA8E;AAC9E,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,oBAAoB,GAAG,MAAM,GAAG,MAAM,CAE/F;AAiDD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,GAAG;IAC9D,MAAM,EAAE,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACzF,2BAA2B;IAC3B,qBAAqB,EAAE,CACrB,KAAK,EAAE,wBAAwB,GAAG,MAAM,KACrC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACxC,YAAY,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,2BAA2B;IAC3B,qBAAqB,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7E,gBAAgB,EAAE,CAChB,KAAK,CAAC,EAAE,4BAA4B,KACjC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzC,2BAA2B;IAC3B,yBAAyB,EAAE,CACzB,KAAK,CAAC,EAAE,4BAA4B,KACjC,OAAO,CAAC,0BAA0B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"semantic-layer.d.ts","sourceRoot":"","sources":["../../src/client/semantic-layer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAE3B,MAAM,2BAA2B,CAAC;AAYnC,8EAA8E;AAC9E,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,oBAAoB,GAAG,MAAM,GAAG,MAAM,CAE/F;AAiDD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,GAAG;IAC9D,MAAM,EAAE,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACzF,2BAA2B;IAC3B,qBAAqB,EAAE,CACrB,KAAK,EAAE,wBAAwB,GAAG,MAAM,KACrC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACxC,YAAY,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,2BAA2B;IAC3B,qBAAqB,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7E,gBAAgB,EAAE,CAChB,KAAK,CAAC,EAAE,4BAA4B,KACjC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzC,2BAA2B;IAC3B,yBAAyB,EAAE,CACzB,KAAK,CAAC,EAAE,4BAA4B,KACjC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzC,uBAAuB,EAAE,CAAC,KAAK,EAAE;QAC/B,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACxB,CA6DA;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -88,6 +88,13 @@ export function createSemanticLayerApi(http) {
|
|
|
88
88
|
const res = await http.get(`/semantic-layer/completeness${qs}`);
|
|
89
89
|
return normalizeCompleteness(unwrapData(res));
|
|
90
90
|
}
|
|
91
|
+
async function apply_glossary_bindings(input) {
|
|
92
|
+
const res = await http.post('/semantic-layer/glossary/bindings', {
|
|
93
|
+
data_product_id: input.data_product_id,
|
|
94
|
+
...(input.mapping_revision != null ? { mapping_revision: input.mapping_revision } : {}),
|
|
95
|
+
});
|
|
96
|
+
return unwrapData(res);
|
|
97
|
+
}
|
|
91
98
|
return {
|
|
92
99
|
search,
|
|
93
100
|
search_semantic_layer: search,
|
|
@@ -95,6 +102,7 @@ export function createSemanticLayerApi(http) {
|
|
|
95
102
|
get_semantic_artifact: get_artifact,
|
|
96
103
|
get_completeness,
|
|
97
104
|
get_semantic_completeness: get_completeness,
|
|
105
|
+
apply_glossary_bindings,
|
|
98
106
|
};
|
|
99
107
|
}
|
|
100
108
|
//# sourceMappingURL=semantic-layer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-layer.js","sourceRoot":"","sources":["../../src/client/semantic-layer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"semantic-layer.js","sourceRoot":"","sources":["../../src/client/semantic-layer.ts"],"names":[],"mappings":"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"}
|
package/dist/http/client.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export interface LoxtepHttpRequestOptions {
|
|
|
12
12
|
}
|
|
13
13
|
export interface LoxtepHttpClientOptions {
|
|
14
14
|
base_url: string;
|
|
15
|
+
/** Headers sent on every request. Per-request headers override these. */
|
|
16
|
+
default_headers?: Record<string, string>;
|
|
15
17
|
/**
|
|
16
18
|
* When `true`, `base_url` must be the API origin only (e.g. `https://apidev.example.com`); each path is
|
|
17
19
|
* resolved with {@link buildPlatformRequestUrl} (microservice as first public segment on shared hosts).
|
|
@@ -42,9 +44,13 @@ export declare class LoxtepHttpClient {
|
|
|
42
44
|
private readonly fetch_fn;
|
|
43
45
|
private lastRateLimit;
|
|
44
46
|
private readonly refresh_auth?;
|
|
47
|
+
private readonly defaultHeaders;
|
|
45
48
|
constructor(options: LoxtepHttpClientOptions);
|
|
46
49
|
/** Replace static SigV4 credentials (e.g. after /auth/refresh returns STS). */
|
|
47
50
|
setAwsCredentials(credentials: AwsCredentialIdentity | null): void;
|
|
51
|
+
/** Set or clear a header sent on every later request. */
|
|
52
|
+
setDefaultHeader(name: string, value: string | null): void;
|
|
53
|
+
getDefaultHeader(name: string): string | undefined;
|
|
48
54
|
private getCredentials;
|
|
49
55
|
private request;
|
|
50
56
|
private captureRateLimitFromResponse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAU3D,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,KAAK,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACvC;AAgCD;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAU;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA2B;IAC/D,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAyB;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAU3D,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,KAAK,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACvC;AAgCD;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAU;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA2B;IAC/D,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAyB;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;gBAE5C,OAAO,EAAE,uBAAuB;IAa5C,+EAA+E;IAC/E,iBAAiB,CAAC,WAAW,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI;IAIlE,yDAAyD;IACzD,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAQ1D,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;YAIpC,cAAc;YAYd,OAAO;IAwFrB,OAAO,CAAC,4BAA4B;IA2BpC,2DAA2D;IAC3D,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAIlC,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,CAAC,CAAC;IAI9E,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,CAAC,CAAC;IAI/F,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,CAAC,CAAC;IAI9F,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,CAAC,CAAC;CAGxF"}
|
package/dist/http/client.js
CHANGED
|
@@ -47,6 +47,7 @@ export class LoxtepHttpClient {
|
|
|
47
47
|
fetch_fn;
|
|
48
48
|
lastRateLimit = null;
|
|
49
49
|
refresh_auth;
|
|
50
|
+
defaultHeaders;
|
|
50
51
|
constructor(options) {
|
|
51
52
|
this.base_url = options.base_url.replace(/\/$/, '');
|
|
52
53
|
this.use_platform_path_resolution = options.use_platform_path_resolution === true;
|
|
@@ -54,6 +55,7 @@ export class LoxtepHttpClient {
|
|
|
54
55
|
this.region = options.region ?? DEFAULT_REGION;
|
|
55
56
|
this.fetch_fn = options.fetch_fn ?? fetch;
|
|
56
57
|
this.refresh_auth = options.refresh_auth;
|
|
58
|
+
this.defaultHeaders = { ...(options.default_headers ?? {}) };
|
|
57
59
|
if (options.credentials) {
|
|
58
60
|
this.credentials = options.credentials;
|
|
59
61
|
}
|
|
@@ -62,6 +64,17 @@ export class LoxtepHttpClient {
|
|
|
62
64
|
setAwsCredentials(credentials) {
|
|
63
65
|
this.credentials = credentials;
|
|
64
66
|
}
|
|
67
|
+
/** Set or clear a header sent on every later request. */
|
|
68
|
+
setDefaultHeader(name, value) {
|
|
69
|
+
if (value == null || value === '') {
|
|
70
|
+
delete this.defaultHeaders[name];
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
this.defaultHeaders[name] = value;
|
|
74
|
+
}
|
|
75
|
+
getDefaultHeader(name) {
|
|
76
|
+
return this.defaultHeaders[name];
|
|
77
|
+
}
|
|
65
78
|
async getCredentials() {
|
|
66
79
|
if (this.credentials)
|
|
67
80
|
return this.credentials;
|
|
@@ -80,7 +93,10 @@ export class LoxtepHttpClient {
|
|
|
80
93
|
: `${this.base_url}${path.startsWith('/') ? path : `/${path}`}`;
|
|
81
94
|
const url = new URL(pathPart);
|
|
82
95
|
const bodyString = body !== undefined ? JSON.stringify(body) : undefined;
|
|
83
|
-
const headers = {
|
|
96
|
+
const headers = {
|
|
97
|
+
...this.defaultHeaders,
|
|
98
|
+
...(requestOptions?.headers ?? {}),
|
|
99
|
+
};
|
|
84
100
|
if (this.get_token) {
|
|
85
101
|
const token = await this.get_token();
|
|
86
102
|
if (token)
|
package/dist/http/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,cAAc,GAAG,WAAW,CAAC;AACnC,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,kBAAkB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# Data plane CLI
|
|
2
|
+
|
|
3
|
+
Commands added in `@loxtep/sdk` 0.9.25. They call the existing Loxtep REST API
|
|
4
|
+
through the workspace client. Organization, project, and instance come from
|
|
5
|
+
`loxtep attach` and `~/.loxtep`. `--instance <uuid>` overrides
|
|
6
|
+
`x-loxtep-instance-id` for that command.
|
|
7
|
+
|
|
8
|
+
Source in this checkout is 0.9.25. The published npm package and the deployed
|
|
9
|
+
data-products service are separate. A queued rebuild is acceptance of a job,
|
|
10
|
+
not a finished table.
|
|
11
|
+
|
|
12
|
+
Stage targets used while checking these commands:
|
|
13
|
+
|
|
14
|
+
| Name | Id |
|
|
15
|
+
| --- | --- |
|
|
16
|
+
| EventLog | `fc5773cd-889c-57ba-ac0f-1d6ec96fc684` |
|
|
17
|
+
| EventDataLog | `b1b6b3ab-43d8-580a-a1ec-9e2113e19016` |
|
|
18
|
+
| Instance | `a9da8b2d-5ef0-44ba-80c9-9039f5b9a8f0` |
|
|
19
|
+
| Project | `ee84d9f6-97da-45d2-a07a-fb0d31ac9f4a` |
|
|
20
|
+
|
|
21
|
+
Production is outside this work. Do not reset MongoDB capture identities,
|
|
22
|
+
retained queues, checkpoints, or namespace exclusions.
|
|
23
|
+
|
|
24
|
+
## Iceberg rebuild
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
loxtep data-products iceberg rebuild <product-id> \
|
|
28
|
+
--backfill-from <z/eid|checkpoint|start_of_queue> \
|
|
29
|
+
[--start-checkpoint <z/eid>] \
|
|
30
|
+
[--end-checkpoint <z/eid>] \
|
|
31
|
+
[--dry-run] [--confirm] [--wait 30s] [--interval 5s] [--json]
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Scope is required. The CLI rejects a missing `--backfill-from`, and it rejects
|
|
35
|
+
`start`, `all`, `now`, and the enable windows `1h`, `6h`, `1d`, `7d`, `30d`.
|
|
36
|
+
`checkpoint` needs `--start-checkpoint` beginning with `z/`. `start_of_queue` is
|
|
37
|
+
sent only when that token is typed. Omitting `--end-checkpoint` is evergreen
|
|
38
|
+
and the receipt says `end_bound: evergreen`.
|
|
39
|
+
|
|
40
|
+
`--confirm` is required for a real rebuild. `--dry-run` does not require it.
|
|
41
|
+
The HTTP body still sends `confirm: true` because the API schema requires that
|
|
42
|
+
literal. The receipt says `confirm_sent_for_api_gate: true` and
|
|
43
|
+
`destructive: false` for a dry run.
|
|
44
|
+
|
|
45
|
+
A dry run in the data-products service skips schema-stamp persistence, the
|
|
46
|
+
partition write, and `POST /api/iceberg/config`. It still asks the instance
|
|
47
|
+
worker to plan. The response includes `pending_mutations` for the writes a real
|
|
48
|
+
rebuild would make. That read-only control plane is in source. It is live only
|
|
49
|
+
after the data-products service that contains it is deployed.
|
|
50
|
+
|
|
51
|
+
Exit 0 means the dry run was accepted, or a real rebuild was accepted with
|
|
52
|
+
`completed: false`. Exit 1 is validation, HTTP failure, `already_running`, or
|
|
53
|
+
`endpoint_missing`. `--wait` polls `GET .../iceberg/health` for the same
|
|
54
|
+
`job_id` (or `backfill_job_id` on that overlay). Exit 0 from `--wait` means that
|
|
55
|
+
job reached `completed`. Exit 2 is a timeout: the JSON still has `job_id` and
|
|
56
|
+
the last status, and the command does not POST again and does not cancel.
|
|
57
|
+
A different current job is `job_not_current` (exit 1). A completed status with
|
|
58
|
+
no matching job id is not treated as success.
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
loxtep data-products iceberg rebuild b1b6b3ab-43d8-580a-a1ec-9e2113e19016 \
|
|
62
|
+
--backfill-from z/2026/10/10/00/00/1 \
|
|
63
|
+
--dry-run --json
|
|
64
|
+
|
|
65
|
+
loxtep data-products iceberg status b1b6b3ab-43d8-580a-a1ec-9e2113e19016 \
|
|
66
|
+
--job-id <accepted-job-id> --wait 30s --json
|
|
67
|
+
|
|
68
|
+
loxtep data-products iceberg cancel b1b6b3ab-43d8-580a-a1ec-9e2113e19016 --json
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Cancel calls `POST .../iceberg/rebuild/cancel`. When the instance has no cancel
|
|
72
|
+
route, the error code stays `endpoint_missing`. That is not a cancelled job.
|
|
73
|
+
|
|
74
|
+
## Enable, config, and inspection
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
loxtep data-products iceberg enable <product-id> \
|
|
78
|
+
--config '<json>' | --file <path> \
|
|
79
|
+
[--backfill-from now|1h|6h|1d|7d|30d|all]
|
|
80
|
+
|
|
81
|
+
loxtep data-products iceberg config <product-id>
|
|
82
|
+
loxtep data-products iceberg config <product-id> --put --file <path>
|
|
83
|
+
loxtep data-products iceberg health <product-id>
|
|
84
|
+
loxtep data-products iceberg files <product-id>
|
|
85
|
+
loxtep data-products iceberg snapshots <product-id>
|
|
86
|
+
loxtep data-products iceberg schema <product-id> --json
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Enable history windows are only `now`, `1h`, `6h`, `1d`, `7d`, `30d`, and `all`.
|
|
90
|
+
Omitting the window sends no history. A `z/` event id is not accepted on enable.
|
|
91
|
+
The command does not invent a partition; `--config` or `--file` supplies
|
|
92
|
+
`iceberg_config`.
|
|
93
|
+
|
|
94
|
+
There is no `GET /iceberg/config`. `config` without `--put` reads
|
|
95
|
+
`GET /dataproducts/{id}/iceberg` and prints `iceberg_config`. `--put` writes
|
|
96
|
+
`PUT /dataproducts/{id}/iceberg/config`.
|
|
97
|
+
|
|
98
|
+
`schema` prints four blocks:
|
|
99
|
+
|
|
100
|
+
- `catalog` — the product schema, including fields such as `event_type`.
|
|
101
|
+
- `physical` — Iceberg metadata fields, partition, file and snapshot counts, plus the configured partition from status.
|
|
102
|
+
- `materialization` — assessment status, rebuild and backfill status, writer sync.
|
|
103
|
+
- `inspection` — `ok` when metadata was read (including `schema_mismatch`), `empty_ok`, `unknown` for `unknown` and `managed_s3_tables`, `unreadable`, or `not_applicable`.
|
|
104
|
+
|
|
105
|
+
`schema_mismatch` stays a materialization status. The catalog field is not removed.
|
|
106
|
+
|
|
107
|
+
## SQL receipt
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
loxtep data-products query <product-id> "SELECT event_type FROM t LIMIT 10" --receipt
|
|
111
|
+
loxtep data-products query <product-id> --file ./query.sql --json
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
`data_products.query` still returns rows, and only when the native status is
|
|
115
|
+
`completed`. Any other status, including a missing status, throws
|
|
116
|
+
`WarehouseQueryError` and does not rewrite the status to completed. The error
|
|
117
|
+
includes `query_id` when the body has one.
|
|
118
|
+
|
|
119
|
+
`--receipt` and `--json` print `query_id`, `status`, columns, rows, `row_count`,
|
|
120
|
+
`execution_time_ms`, `error`, `error_code`, `tables_referenced`, `recovery`,
|
|
121
|
+
`iceberg_health_status`, and `completion_evidence` (`native` or `missing`).
|
|
122
|
+
Failed and unfinished queries exit 1. Warehouse execute is synchronous. There
|
|
123
|
+
is no second poll URL.
|
|
124
|
+
|
|
125
|
+
SDK:
|
|
126
|
+
|
|
127
|
+
```typescript
|
|
128
|
+
const receipt = await client.build.data_products.query_receipt(productId, sql);
|
|
129
|
+
const rows = await client.build.data_products.query(productId, sql);
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Python `DataProductsApi.query` still returns rows only. The Python CLI delegates
|
|
133
|
+
unknown commands to the Node CLI.
|
|
134
|
+
|
|
135
|
+
## Read-only export
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
loxtep data-products export <product-id> \
|
|
139
|
+
--start <eid> | --from-beginning \
|
|
140
|
+
[--end <eid>] [--limit 100] [--max-pages 1] \
|
|
141
|
+
[--instance <uuid>] [--json]
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
This pages `GET /observe/trace/{queue}/events`. It does not open a reader, commit
|
|
145
|
+
a checkpoint, or trigger a workflow. The result says `read_only: true` and
|
|
146
|
+
`checkpoint_committed: false`. The trace API has no limit or cursor of its own,
|
|
147
|
+
so the client slices the page. `truncated` is true when the page is longer than
|
|
148
|
+
`--limit` or `--max-pages` stops the loop. `next_start` may repeat the last
|
|
149
|
+
included event id because trace start is inclusive. If the server sends `next`
|
|
150
|
+
or `next_start`, that cursor is preferred.
|
|
151
|
+
|
|
152
|
+
`--from-beginning` sends `start=0`. With neither `--start` nor
|
|
153
|
+
`--from-beginning`, the command exits 1 and does not fetch. Export and queue
|
|
154
|
+
reads require an instance id. A queue name missing from that instance's list is
|
|
155
|
+
`not_visible`. An empty list for that instance is `empty_on_selected_instance`.
|
|
156
|
+
Neither result is an empty checkpoint.
|
|
157
|
+
|
|
158
|
+
`data_products.replay()` remains the path that delivers events to a destination.
|
|
159
|
+
Iceberg rebuild is the history-delivery path. Export is not replay.
|
|
160
|
+
|
|
161
|
+
## Governance
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
loxtep data-contracts update <contract-id> --schema-version-id <uuid> --json
|
|
165
|
+
loxtep quality-rules list [--data-product-id <uuid>] [--rule-type <type>] [--severity <level>]
|
|
166
|
+
loxtep quality-rules get <id> [--data-product-id <uuid>]
|
|
167
|
+
loxtep quality-rules create --file <json>
|
|
168
|
+
loxtep quality-rules update <id> --file <json>
|
|
169
|
+
loxtep quality-rules delete <id>
|
|
170
|
+
loxtep define glossary <product-id>
|
|
171
|
+
loxtep define apply-glossary <product-id> [--mapping-revision N]
|
|
172
|
+
loxtep data-products primary-entity <product-id>
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Contract update is `PUT /dataproducts/datacontracts/{id}` with
|
|
176
|
+
`schema_version_id`. Quality rules use `/dataproducts/quality-rules`. There is
|
|
177
|
+
no GET-by-id route, so `get` scans the list and returns `not_in_list` when the
|
|
178
|
+
id is absent. Create allows `uniqueness`. The list filter enum on the service
|
|
179
|
+
may omit it.
|
|
180
|
+
|
|
181
|
+
Glossary apply posts `/semantic-layer/glossary/bindings` with
|
|
182
|
+
`{ data_product_id, mapping_revision? }`. `define glossary` reads the product
|
|
183
|
+
lexicon. Primary entity is read from `schema.entities`. Changing it goes through
|
|
184
|
+
`define submit-shape`, then approve and apply. The command does not write a key.
|
|
185
|
+
A source trigger or delivery id is not treated as a unique lookup key.
|
|
186
|
+
|
|
187
|
+
## Release and deploy
|
|
188
|
+
|
|
189
|
+
1. Data-products dry-run and warehouse schema-mismatch behavior ship with the
|
|
190
|
+
platform service. Until that service is deployed, a CLI dry run can still hit
|
|
191
|
+
the previous handler.
|
|
192
|
+
2. Publish Node `@loxtep/sdk` 0.9.25 with tag `v0.9.25`. Python stays 0.7.2
|
|
193
|
+
unless `data_products.py` changes. Do not use a bare `v*` tag for a Python-only
|
|
194
|
+
release.
|
|
195
|
+
3. After npm publish, install the global CLI and run `hash -r`. Confirm
|
|
196
|
+
`loxtep --version` and `loxtep data-products iceberg --help` (or `loxtep --help`)
|
|
197
|
+
show 0.9.25 and the new commands. A pnpm global shim can keep pointing at an
|
|
198
|
+
older copy after install.
|
|
199
|
+
4. Stage checks of EventLog and EventDataLog come after the package is installed
|
|
200
|
+
and the data-products deploy is confirmed. Cancel may still return
|
|
201
|
+
`endpoint_missing` until the instance cancel route exists.
|
package/docs/quick-reference.md
CHANGED
|
@@ -229,6 +229,19 @@ in application code.
|
|
|
229
229
|
|
|
230
230
|
---
|
|
231
231
|
|
|
232
|
+
## Data plane
|
|
233
|
+
|
|
234
|
+
Iceberg rebuild, inspection, SQL receipts, and read-only export are in
|
|
235
|
+
[Data plane CLI](./data-plane-cli.md). A queued rebuild is not a finished table.
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
pnpm exec loxtep data-products iceberg rebuild <id> --backfill-from z/2026/10/10/00/00/1 --dry-run --json
|
|
239
|
+
pnpm exec loxtep data-products query <id> "SELECT 1" --receipt
|
|
240
|
+
pnpm exec loxtep data-products export <id> --start z/2026/10/10/00/00/1 --limit 100 --json
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
232
245
|
## Further Reading
|
|
233
246
|
|
|
234
247
|
| Resource | Description |
|
|
@@ -236,3 +249,4 @@ in application code.
|
|
|
236
249
|
| [Getting Started Guide](./getting-started.md) | Zero-to-first-event walkthrough |
|
|
237
250
|
| [Event Replay Cookbook](./event-replay-cookbook.md) | Replay patterns (`build.data_products`, `observe`) |
|
|
238
251
|
| [Code-first CLI guide](./code-first-cli.md) | `loxtep init` through deploy |
|
|
252
|
+
| [Data plane CLI](./data-plane-cli.md) | Iceberg rebuild, SQL receipts, read-only export |
|
package/docs/sdk-mcp-mapping.md
CHANGED
|
@@ -147,15 +147,22 @@ Notes:
|
|
|
147
147
|
## Meaning: semantic proposals (Phase 2)
|
|
148
148
|
|
|
149
149
|
Agent review of the same inbox Meaning shows. Batch helpers fan out to the
|
|
150
|
-
single-id PUT (no dedicated batch REST).
|
|
150
|
+
single-id PUT (no dedicated batch REST yet).
|
|
151
151
|
|
|
152
|
-
| Concern | SDK | REST |
|
|
153
|
-
| --- | --- | --- |
|
|
154
|
-
| list proposals | `client.meaning.proposals.list({ disposition?, proposal_type?, … })` | `GET /semantic-layer/semantic-proposals` |
|
|
155
|
-
|
|
|
156
|
-
|
|
|
157
|
-
|
|
|
152
|
+
| Concern | MCP `loxtep_meaning` | SDK | REST | CLI |
|
|
153
|
+
| --- | --- | --- | --- | --- |
|
|
154
|
+
| list proposals | `list_semantic_proposals` | `client.meaning.proposals.list({ disposition?, proposal_type?, … })` | `GET /semantic-layer/semantic-proposals` | `loxtep proposals list` |
|
|
155
|
+
| infer definitions | `infer_proposal_definitions` | `.infer_definitions(ids)` | `POST …/infer-definitions` | `loxtep proposals infer-definitions <id>…` |
|
|
156
|
+
| accept (+ optional definition) | `accept_semantic_proposal` | `.accept(id, { definition?, resolution_note? })` | `PUT …` | `loxtep proposals accept <id> [--definition …]` |
|
|
157
|
+
| reject | `reject_semantic_proposal` | `.reject(id, { resolution_note? })` | `PUT …` `disposition: rejected` | `loxtep proposals reject <id>` |
|
|
158
|
+
| batch accept / reject | — | `.accept_batch` / `.reject_batch` | N× PUT | — |
|
|
159
|
+
|
|
160
|
+
Notes:
|
|
158
161
|
|
|
162
|
+
- Confidence on proposals is **business-field** score (Medium ≠ ready). Check
|
|
163
|
+
`proposal_payload.definition` before accept; use Infer for missing drafts.
|
|
164
|
+
- Detection metadata on the payload is not a sample event and not the glossary
|
|
165
|
+
definition.
|
|
159
166
|
## Meaning: semantic bundles + packages
|
|
160
167
|
|
|
161
168
|
| MCP operation | SDK | REST |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loxtep/sdk",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.26",
|
|
4
4
|
"description": "Loxtep SDK for Node.js — the Enterprise Context Layer: data products, workflows, projects, queues, and machine-usable context for AI",
|
|
5
5
|
"author": "Loxtep <engineering@loxtep.io>",
|
|
6
6
|
"homepage": "https://loxtep.io",
|