@loxtep/sdk 0.7.26 → 0.7.27

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
@@ -6,6 +6,21 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to
7
7
  [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
8
 
9
+ ## [0.7.27] - 2026-07-24
10
+
11
+ ### Fixed
12
+
13
+ - **Workspace context loads** paginate at the platform max page size (100)
14
+ instead of requesting `1000` in a single call, which exceeded the platform
15
+ ceiling and silently dropped results past the cap. Affects `loxtep generate`
16
+ and any client that resolves the full workspace context.
17
+ - **`buildPlatformRequestUrl`** scopes the `/dataproducts` URL-doubling fix to
18
+ the `/dataproducts` resource itself, instead of rewriting every sibling path
19
+ that shares the prefix (e.g. `/dataproducts/<id>/tables`).
20
+ - **Ajv loader** resolves the vendored schema validator relative to the
21
+ `validate-entity` module, not the process entry point, so `validateEntity()`
22
+ works under `pnpm`'s symlinked node layout.
23
+
9
24
  ## [0.7.26] - 2026-07-24
10
25
 
11
26
  ### Added
@@ -17,9 +17,9 @@ import type { WorkspaceContext } from './types.js';
17
17
  * Fetch all workspace resources from the control plane and assemble them into
18
18
  * a WorkspaceContext. The client must be configured with a valid project_id.
19
19
  *
20
- * All list calls use large page sizes to fetch the complete resource set.
21
- * Pagination is handled by fetching the maximum page size; projects with
22
- * extremely large resource counts may need future iteration.
20
+ * List calls are paginated at the platform's max page size (100) and looped
21
+ * until a short page is returned, so the full resource set is fetched
22
+ * regardless of how many pages it spans.
23
23
  *
24
24
  * @param client - An authenticated LoxtepClient instance
25
25
  * @param projectId - The project to scope the context to
@@ -1 +1 @@
1
- {"version":3,"file":"load-workspace-context.d.ts","sourceRoot":"","sources":["../../src/codegen/load-workspace-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAoF3B"}
1
+ {"version":3,"file":"load-workspace-context.d.ts","sourceRoot":"","sources":["../../src/codegen/load-workspace-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAuBnD;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CA8E3B"}
@@ -11,13 +11,31 @@
11
11
  *
12
12
  * @module codegen/load-workspace-context
13
13
  */
14
+ /** Platform list endpoints cap `page_size` at 100; requesting more is a validation error. */
15
+ const MAX_PAGE_SIZE = 100;
16
+ /**
17
+ * Fetch every page from a `list()`-style API and return the flattened items.
18
+ * Stops once a page comes back shorter than `MAX_PAGE_SIZE` (i.e. the last page).
19
+ */
20
+ async function fetchAllPages(fetchPage) {
21
+ const all = [];
22
+ let page = 1;
23
+ for (;;) {
24
+ const { items } = await fetchPage(page);
25
+ all.push(...items);
26
+ if (items.length < MAX_PAGE_SIZE)
27
+ break;
28
+ page += 1;
29
+ }
30
+ return all;
31
+ }
14
32
  /**
15
33
  * Fetch all workspace resources from the control plane and assemble them into
16
34
  * a WorkspaceContext. The client must be configured with a valid project_id.
17
35
  *
18
- * All list calls use large page sizes to fetch the complete resource set.
19
- * Pagination is handled by fetching the maximum page size; projects with
20
- * extremely large resource counts may need future iteration.
36
+ * List calls are paginated at the platform's max page size (100) and looped
37
+ * until a short page is returned, so the full resource set is fetched
38
+ * regardless of how many pages it spans.
21
39
  *
22
40
  * @param client - An authenticated LoxtepClient instance
23
41
  * @param projectId - The project to scope the context to
@@ -28,15 +46,15 @@ export async function loadWorkspaceContext(client, projectId) {
28
46
  // Fetch all resource types concurrently for performance.
29
47
  // Project-scoped resources (workflows) use projectId directly.
30
48
  // Org-scoped resources (data products, connectors, domains) fetch all available.
31
- const [dataProductsResult, connectorsResult, domainsResult, workflowsResult,] = await Promise.all([
32
- client.build.data_products.list({ page: 1, page_size: 1000 }),
33
- client.connect.connectors.list({ page: 1, page_size: 1000 }),
34
- client.define.domains.list({ page: 1, page_size: 1000 }),
35
- client.build.workflows.list({ project_id: projectId, page: 1, page_size: 1000 }),
49
+ const [dataProductsItems, connectorsItems, domainsItems, workflowItems] = await Promise.all([
50
+ fetchAllPages(page => client.build.data_products.list({ page, page_size: MAX_PAGE_SIZE })),
51
+ fetchAllPages(page => client.connect.connectors.list({ page, page_size: MAX_PAGE_SIZE })),
52
+ fetchAllPages(page => client.define.domains.list({ page, page_size: MAX_PAGE_SIZE })),
53
+ fetchAllPages(page => client.build.workflows.list({ project_id: projectId, page, page_size: MAX_PAGE_SIZE })),
36
54
  ]);
37
55
  // `flows` and `workflows` are the same backend entity; the WorkspaceContext
38
56
  // keeps both collections for the generated artifact, sourced from one fetch.
39
- const flowsResult = workflowsResult;
57
+ const flowItems = workflowItems;
40
58
  // Fetch queues from the observe endpoint (instance-level).
41
59
  // The observe.status() returns bot/queue info for the configured instance.
42
60
  let queuesRaw = [];
@@ -51,21 +69,20 @@ export async function loadWorkspaceContext(client, projectId) {
51
69
  queuesRaw = [];
52
70
  }
53
71
  // Map data products to workspace context shape
54
- const dataProducts = (dataProductsResult?.items ?? []).map(dp => ({
72
+ const dataProducts = dataProductsItems.map(dp => ({
55
73
  name: dp.name,
56
74
  id: dp.data_product_id,
57
75
  domain: dp.domain_id ?? null,
58
76
  schema: dp.schema ?? null,
59
77
  }));
60
78
  // Map connectors to workspace context shape
61
- const connectors = (connectorsResult?.items ?? []).map(c => ({
79
+ const connectors = connectorsItems.map(c => ({
62
80
  type: c.connector_type,
63
81
  id: c.connector_id,
64
82
  connection_id: null, // Connectors at org-level don't have a project connection_id
65
83
  name: c.metadata?.name ?? c.connector_type,
66
84
  }));
67
85
  // Map domains to workspace context shape
68
- const domainsItems = domainsResult?.items ?? [];
69
86
  const domains = domainsItems.map(d => ({
70
87
  name: d.name,
71
88
  id: d.domain_id,
@@ -74,13 +91,11 @@ export async function loadWorkspaceContext(client, projectId) {
74
91
  .map(dp => dp.id),
75
92
  }));
76
93
  // Map flows to workspace context shape
77
- const flowItems = flowsResult?.items ?? [];
78
94
  const flows = flowItems.map(f => ({
79
95
  name: f.name,
80
96
  id: f.workflow_id,
81
97
  }));
82
98
  // Map workflows to workspace context shape
83
- const workflowItems = workflowsResult?.items ?? [];
84
99
  const workflows = workflowItems.map(w => ({
85
100
  name: w.name,
86
101
  id: w.workflow_id,
@@ -1 +1 @@
1
- {"version":3,"file":"load-workspace-context.js","sourceRoot":"","sources":["../../src/codegen/load-workspace-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-workspace-context.js","sourceRoot":"","sources":["../../src/codegen/load-workspace-context.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,10 @@ export declare function getGatewayMicroserviceId(path: string): string;
13
13
  /**
14
14
  * Build a full request URL for a shared control-plane host.
15
15
  * - `/ai/…`, `/graph/…`: `path` is already a full public path from the host root.
16
- * - `/dataproducts/…`: SDK paths are in-service; public routes are `…/dataproducts/dataproducts/…`.
16
+ * - `/dataproducts/…`: SDK paths for the `dataproducts` resource itself are in-service; public
17
+ * routes are `…/dataproducts/dataproducts/…`. Sibling resources that live directly under the
18
+ * `dataproducts` microservice root (`datacontracts`, `quality-metrics`, `templates`, `warehouse`,
19
+ * …— see `DATAPRODUCTS_SIBLING_RESOURCES`) are NOT doubled: `…/dataproducts/datacontracts`.
17
20
  * - Most other services: in-service path starts with a microservice segment (e.g. `/workflows/projects`);
18
21
  * public is `…/workflows/projects` (do **not** prepend the microservice again).
19
22
  * - One-segment paths (e.g. `/workflows`, `/search`, `/governance`) still need a prefix: `…/workflows/workflow`, `…/graph/search`, `…/governance/governance`.
@@ -1 +1 @@
1
- {"version":3,"file":"platform-request-url.d.ts","sourceRoot":"","sources":["../../src/config/platform-request-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA8BH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAiC7E;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,EAmBA,CAAC"}
1
+ {"version":3,"file":"platform-request-url.d.ts","sourceRoot":"","sources":["../../src/config/platform-request-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAqDH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAqC7E;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,EAmBA,CAAC"}
@@ -17,6 +17,28 @@ const MICROSERVICE_OVERRIDES = {
17
17
  /** Global rate limit discovery (if deployed on app stack). */
18
18
  'rate-limits': 'app',
19
19
  };
20
+ /**
21
+ * Sibling resources that live directly under the `dataproducts` microservice root
22
+ * (`platform-backend/dataproducts/api/<name>/...`), as opposed to being nested one level
23
+ * deeper under the `dataproducts` *resource* itself (`platform-backend/dataproducts/api/dataproducts/...`,
24
+ * which is what the `/dataproducts/dataproducts/...` doubling in `buildPlatformRequestUrl` is for).
25
+ * A path like `/dataproducts/datacontracts` must NOT be doubled — the real route is
26
+ * `/dataproducts/datacontracts`, not `/dataproducts/dataproducts/datacontracts`.
27
+ */
28
+ const DATAPRODUCTS_SIBLING_RESOURCES = new Set([
29
+ 'datacontracts',
30
+ 'quality-metrics',
31
+ 'quality-rules',
32
+ 'templates',
33
+ 'warehouse',
34
+ 'alerts',
35
+ 'lineage',
36
+ 'exports',
37
+ 'connector-packages',
38
+ 'openmetadata',
39
+ 'agents',
40
+ 'ai',
41
+ ]);
20
42
  function getSearchMicroserviceFromEnv() {
21
43
  return process.env.LOXTEP_PLATFORM_SEARCH_MS?.trim() || 'graph';
22
44
  }
@@ -44,7 +66,10 @@ export function getGatewayMicroserviceId(path) {
44
66
  /**
45
67
  * Build a full request URL for a shared control-plane host.
46
68
  * - `/ai/…`, `/graph/…`: `path` is already a full public path from the host root.
47
- * - `/dataproducts/…`: SDK paths are in-service; public routes are `…/dataproducts/dataproducts/…`.
69
+ * - `/dataproducts/…`: SDK paths for the `dataproducts` resource itself are in-service; public
70
+ * routes are `…/dataproducts/dataproducts/…`. Sibling resources that live directly under the
71
+ * `dataproducts` microservice root (`datacontracts`, `quality-metrics`, `templates`, `warehouse`,
72
+ * …— see `DATAPRODUCTS_SIBLING_RESOURCES`) are NOT doubled: `…/dataproducts/datacontracts`.
48
73
  * - Most other services: in-service path starts with a microservice segment (e.g. `/workflows/projects`);
49
74
  * public is `…/workflows/projects` (do **not** prepend the microservice again).
50
75
  * - One-segment paths (e.g. `/workflows`, `/search`, `/governance`) still need a prefix: `…/workflows/workflow`, `…/graph/search`, `…/governance/governance`.
@@ -67,6 +92,10 @@ export function buildPlatformRequestUrl(apiHost, path) {
67
92
  const first = segments[0] ?? '';
68
93
  const microservice = getGatewayMicroserviceId(p);
69
94
  if (first === 'dataproducts') {
95
+ const second = segments[1];
96
+ if (second && DATAPRODUCTS_SIBLING_RESOURCES.has(second)) {
97
+ return `${host}${p}${search}`;
98
+ }
70
99
  return `${host}/dataproducts/dataproducts${p.slice('/dataproducts'.length)}${search}`;
71
100
  }
72
101
  if (segments.length === 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"platform-request-url.js","sourceRoot":"","sources":["../../src/config/platform-request-url.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-request-url.js","sourceRoot":"","sources":["../../src/config/platform-request-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,yGAAyG;AACzG,MAAM,+BAA+B,GAAG,qBAAqB,CAAC;AAE9D,MAAM,sBAAsB,GAAqC;IAC/D,mEAAmE;IACnE,OAAO,EAAE,KAAK;IACd,8DAA8D;IAC9D,aAAa,EAAE,KAAK;CACrB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,8BAA8B,GAAwB,IAAI,GAAG,CAAC;IAClE,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,WAAW;IACX,WAAW;IACX,QAAQ;IACR,SAAS;IACT,SAAS;IACT,oBAAoB;IACpB,cAAc;IACd,QAAQ;IACR,IAAI;CACL,CAAC,CAAC;AAEH,SAAS,4BAA4B;IACnC,OAAO,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,gGAAgG;AAChG,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9E,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO,4BAA4B,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,sBAAsB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,IAAY;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;IAC/D,IAAI,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC;IAC5B,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC;IAC5B,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAEjD,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,MAAM,IAAI,8BAA8B,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,GAAG,IAAI,6BAA6B,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IACxF,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY;YAAE,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;QACjD,OAAO,GAAG,IAAI,IAAI,YAAY,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QAC3B,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,GAAG,IAAI,IAAI,YAAY,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAGhC;IACJ;QACE,OAAO,EAAE,6CAA6C;QACtD,YAAY,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC;KAC/C;IACD;QACE,OAAO,EAAE,oEAAoE;QAC7E,YAAY,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;KAC3C;IACD,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,SAAS,CAAC,EAAE;IACjD,EAAE,OAAO,EAAE,yCAAyC,EAAE,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE;IACpF,EAAE,OAAO,EAAE,wCAAwC,EAAE,YAAY,EAAE,CAAC,gBAAgB,CAAC,EAAE;IACvF,EAAE,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAC,aAAa,CAAC,EAAE;IACpE,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,aAAa,CAAC,EAAE;IACxD,EAAE,OAAO,EAAE,sDAAsD,EAAE,YAAY,EAAE,CAAC,UAAU,CAAC,EAAE;IAC/F,EAAE,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,CAAC,UAAU,CAAC,EAAE;IAChE,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,uBAAuB,CAAC,EAAE;IACjE,EAAE,OAAO,EAAE,kCAAkC,EAAE,YAAY,EAAE,CAAC,uBAAuB,CAAC,EAAE;IACxF,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,cAAc,CAAC,EAAE;CAC3D,CAAC"}
@@ -3,8 +3,20 @@
3
3
  /**
4
4
  * CJS Ajv loader — keeps Jest (ts-jest CJS) and Node ESM consumers happy.
5
5
  * Do not rename to .ts; require() of ajv must stay in CommonJS.
6
+ *
7
+ * This file is always required via a *relative* specifier from
8
+ * `validate-entity.ts`/`.js` (its own sibling in the same directory, in both
9
+ * `src/` and `dist/`), never located by searching `process.argv`/`process.cwd()`.
10
+ * That means `require('ajv')` below resolves relative to *this file's own*
11
+ * location — i.e. through `@loxtep/sdk`'s own `node_modules` — regardless of
12
+ * whether the caller is the CLI or a consumer app importing the SDK as a
13
+ * library, and regardless of package manager (works under pnpm's strict/
14
+ * non-hoisted `node_modules` too, unlike a `require()` anchored at the
15
+ * caller's `cwd`).
6
16
  */
7
17
 
18
+ const path = require('node:path');
19
+
8
20
  const ajvModule = require('ajv');
9
21
  const formatsModule = require('ajv-formats');
10
22
 
@@ -14,4 +26,7 @@ const addFormats =
14
26
  ? formatsModule
15
27
  : formatsModule.default || formatsModule;
16
28
 
17
- module.exports = { Ajv, addFormats };
29
+ // This file always lives at <packageRoot>/(src|dist)/lib/entity-json-schemas/ajv-loader.cjs.
30
+ const packageRoot = path.resolve(__dirname, '..', '..', '..');
31
+
32
+ module.exports = { Ajv, addFormats, packageRoot };
@@ -2,7 +2,13 @@
2
2
  * Offline entity validation against vendored JSON Schemas (Ajv).
3
3
  * Schemas live in `nodejs/schemas/entity-json-schemas/` (shipped with the npm package).
4
4
  *
5
- * Ajv is loaded via `ajv-loader.cjs` so Jest (CJS) does not need `import.meta` or ESM ajv.
5
+ * Ajv is loaded via `ajv-loader.cjs`, required by *relative path* below (not located by
6
+ * searching `process.argv`/`process.cwd()`). A relative `require`/`import` always resolves
7
+ * against this file's own location, so it finds the right sibling `ajv-loader.cjs` (in `src/`
8
+ * under Jest, in `dist/` when published) and — critically — `ajv-loader.cjs`'s own
9
+ * `require('ajv')` then resolves through `@loxtep/sdk`'s own `node_modules`, regardless of
10
+ * the caller's cwd/entry point or package manager (this used to break under pnpm's strict
11
+ * `node_modules` when the SDK was imported as a library rather than run as the CLI).
6
12
  */
7
13
  import { EntityType } from './types.js';
8
14
  type AjvErrorObject = {
@@ -1 +1 @@
1
- {"version":3,"file":"validate-entity.d.ts","sourceRoot":"","sources":["../../../src/lib/entity-json-schemas/validate-entity.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,UAAU,EAAuB,MAAM,YAAY,CAAC;AAE7D,KAAK,cAAc,GAAG;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,KAAK,gBAAgB,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG;IACrD,MAAM,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;CAClC,CAAC;AA2DF,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAClC;AA8CD,wBAAgB,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAOzD;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,gBAAgB,CAerE;AAWD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,OAAO,GACd,sBAAsB,CAOxB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAMnF;AAED,+BAA+B;AAC/B,wBAAgB,6BAA6B,IAAI,IAAI,CAGpD"}
1
+ {"version":3,"file":"validate-entity.d.ts","sourceRoot":"","sources":["../../../src/lib/entity-json-schemas/validate-entity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,UAAU,EAAuB,MAAM,YAAY,CAAC;AAI7D,KAAK,cAAc,GAAG;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,KAAK,gBAAgB,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG;IACrD,MAAM,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;CAClC,CAAC;AAoBF,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAsCD,wBAAgB,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAOzD;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,gBAAgB,CAerE;AAWD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,OAAO,GACd,sBAAsB,CAOxB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAMnF;AAED,+BAA+B;AAC/B,wBAAgB,6BAA6B,IAAI,IAAI,CAGpD"}
@@ -2,61 +2,30 @@
2
2
  * Offline entity validation against vendored JSON Schemas (Ajv).
3
3
  * Schemas live in `nodejs/schemas/entity-json-schemas/` (shipped with the npm package).
4
4
  *
5
- * Ajv is loaded via `ajv-loader.cjs` so Jest (CJS) does not need `import.meta` or ESM ajv.
5
+ * Ajv is loaded via `ajv-loader.cjs`, required by *relative path* below (not located by
6
+ * searching `process.argv`/`process.cwd()`). A relative `require`/`import` always resolves
7
+ * against this file's own location, so it finds the right sibling `ajv-loader.cjs` (in `src/`
8
+ * under Jest, in `dist/` when published) and — critically — `ajv-loader.cjs`'s own
9
+ * `require('ajv')` then resolves through `@loxtep/sdk`'s own `node_modules`, regardless of
10
+ * the caller's cwd/entry point or package manager (this used to break under pnpm's strict
11
+ * `node_modules` when the SDK was imported as a library rather than run as the CLI).
6
12
  */
13
+ import { createRequire as _createRequire } from "module";
14
+ const __require = _createRequire(import.meta.url);
7
15
  import { existsSync, readdirSync, readFileSync } from 'node:fs';
8
- import { createRequire } from 'node:module';
9
- import { dirname, join } from 'node:path';
16
+ import { join } from 'node:path';
10
17
  import { ENTITY_SCHEMA_FILES } from './types.js';
11
- function findPackageRootCandidates() {
12
- const roots = [process.cwd()];
13
- const entry = process.argv[1];
14
- if (entry) {
15
- let dir = dirname(entry);
16
- for (let i = 0; i < 8; i++) {
17
- roots.push(dir);
18
- const parent = dirname(dir);
19
- if (parent === dir)
20
- break;
21
- dir = parent;
22
- }
23
- }
24
- return roots;
25
- }
26
- function loadAjv() {
27
- for (const root of findPackageRootCandidates()) {
28
- for (const rel of [
29
- 'src/lib/entity-json-schemas/ajv-loader.cjs',
30
- 'dist/lib/entity-json-schemas/ajv-loader.cjs',
31
- ]) {
32
- const loaderPath = join(root, rel);
33
- if (!existsSync(loaderPath))
34
- continue;
35
- const req = createRequire(loaderPath);
36
- return req(loaderPath);
37
- }
38
- }
39
- // Last resort: resolve ajv from cwd package.json (dev / monorepo).
40
- const req = createRequire(join(process.cwd(), 'package.json'));
41
- const ajvMod = req('ajv');
42
- const formatsMod = req('ajv-formats');
43
- return {
44
- Ajv: ajvMod.Ajv ?? ajvMod.default ?? ajvMod,
45
- addFormats: typeof formatsMod === 'function' ? formatsMod : formatsMod.default,
46
- };
47
- }
48
- const { Ajv: AjvCtor, addFormats } = loadAjv();
18
+ // eslint-disable-next-line @typescript-eslint/no-require-imports -- CJS interop, see comment above.
19
+ const ajvLoader = __require("./ajv-loader.cjs");
20
+ const { Ajv: AjvCtor, addFormats, packageRoot } = ajvLoader;
49
21
  let ajvInstance = null;
50
22
  const validatorCache = new Map();
51
23
  function resolveSchemasDir() {
52
- const candidates = findPackageRootCandidates().map(root => join(root, 'schemas', 'entity-json-schemas'));
53
- candidates.push(join(process.cwd(), 'nodejs', 'schemas', 'entity-json-schemas'));
54
- for (const dir of candidates) {
55
- if (existsSync(join(dir, 'workflow.json'))) {
56
- return dir;
57
- }
24
+ const dir = join(packageRoot, 'schemas', 'entity-json-schemas');
25
+ if (existsSync(join(dir, 'workflow.json'))) {
26
+ return dir;
58
27
  }
59
- throw new Error(`Entity JSON schemas not found. Expected schemas/entity-json-schemas (tried: ${candidates.join(', ')})`);
28
+ throw new Error(`Entity JSON schemas not found. Expected ${dir}`);
60
29
  }
61
30
  function getAjv() {
62
31
  if (!ajvInstance) {
@@ -1 +1 @@
1
- {"version":3,"file":"validate-entity.js","sourceRoot":"","sources":["../../../src/lib/entity-json-schemas/validate-entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-entity.js","sourceRoot":"","sources":["../../../src/lib/entity-json-schemas/validate-entity.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loxtep/sdk",
3
- "version": "0.7.26",
3
+ "version": "0.7.27",
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",