@loxtep/sdk 0.6.0 → 0.7.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.
Files changed (140) hide show
  1. package/CHANGELOG.md +36 -1
  2. package/dist/authoring/toolbox.js +11 -11
  3. package/dist/authoring/toolbox.js.map +1 -1
  4. package/dist/cli/commands/activity-cmd.js +1 -1
  5. package/dist/cli/commands/activity-cmd.js.map +1 -1
  6. package/dist/cli/commands/attach-cmd.js +3 -3
  7. package/dist/cli/commands/attach-cmd.js.map +1 -1
  8. package/dist/cli/commands/config-cmd.js +4 -4
  9. package/dist/cli/commands/config-cmd.js.map +1 -1
  10. package/dist/cli/commands/connections-cmd.d.ts +19 -0
  11. package/dist/cli/commands/connections-cmd.d.ts.map +1 -0
  12. package/dist/cli/commands/connections-cmd.js +39 -0
  13. package/dist/cli/commands/connections-cmd.js.map +1 -0
  14. package/dist/cli/commands/data-assets-cmd.d.ts +12 -0
  15. package/dist/cli/commands/data-assets-cmd.d.ts.map +1 -0
  16. package/dist/cli/commands/data-assets-cmd.js +75 -0
  17. package/dist/cli/commands/data-assets-cmd.js.map +1 -0
  18. package/dist/cli/commands/data-contracts-cmd.js +3 -3
  19. package/dist/cli/commands/data-contracts-cmd.js.map +1 -1
  20. package/dist/cli/commands/data-products-cmd.js +7 -7
  21. package/dist/cli/commands/data-products-cmd.js.map +1 -1
  22. package/dist/cli/commands/deploy-cmd.js +6 -6
  23. package/dist/cli/commands/deploy-cmd.js.map +1 -1
  24. package/dist/cli/commands/domains-cmd.js +2 -2
  25. package/dist/cli/commands/domains-cmd.js.map +1 -1
  26. package/dist/cli/commands/flows-cmd.d.ts +19 -0
  27. package/dist/cli/commands/flows-cmd.d.ts.map +1 -0
  28. package/dist/cli/commands/flows-cmd.js +37 -0
  29. package/dist/cli/commands/flows-cmd.js.map +1 -0
  30. package/dist/cli/commands/improvements-cmd.js +4 -4
  31. package/dist/cli/commands/improvements-cmd.js.map +1 -1
  32. package/dist/cli/commands/init-cmd.js +3 -3
  33. package/dist/cli/commands/init-cmd.js.map +1 -1
  34. package/dist/cli/commands/instances-cmd.d.ts +1 -1
  35. package/dist/cli/commands/instances-cmd.js +8 -8
  36. package/dist/cli/commands/instances-cmd.js.map +1 -1
  37. package/dist/cli/commands/pipelines-cmd.d.ts +17 -0
  38. package/dist/cli/commands/pipelines-cmd.d.ts.map +1 -0
  39. package/dist/cli/commands/pipelines-cmd.js +52 -0
  40. package/dist/cli/commands/pipelines-cmd.js.map +1 -0
  41. package/dist/cli/commands/promises-cmd.d.ts +11 -0
  42. package/dist/cli/commands/promises-cmd.d.ts.map +1 -0
  43. package/dist/cli/commands/promises-cmd.js +53 -0
  44. package/dist/cli/commands/promises-cmd.js.map +1 -0
  45. package/dist/cli/commands/queue-cmd.js +3 -3
  46. package/dist/cli/commands/queue-cmd.js.map +1 -1
  47. package/dist/cli/commands/standards-cmd.js +2 -2
  48. package/dist/cli/commands/standards-cmd.js.map +1 -1
  49. package/dist/cli/commands/triggers-cmd.js +4 -4
  50. package/dist/cli/commands/triggers-cmd.js.map +1 -1
  51. package/dist/cli/commands/workflows-cmd.js +4 -4
  52. package/dist/cli/commands/workflows-cmd.js.map +1 -1
  53. package/dist/cli/index.js +0 -0
  54. package/dist/client/build.d.ts +25 -0
  55. package/dist/client/build.d.ts.map +1 -0
  56. package/dist/client/build.js +14 -0
  57. package/dist/client/build.js.map +1 -0
  58. package/dist/client/connect.d.ts +16 -0
  59. package/dist/client/connect.d.ts.map +1 -0
  60. package/dist/client/connect.js +11 -0
  61. package/dist/client/connect.js.map +1 -0
  62. package/dist/client/connection-types.d.ts +98 -0
  63. package/dist/client/connection-types.d.ts.map +1 -0
  64. package/dist/client/connection-types.js +18 -0
  65. package/dist/client/connection-types.js.map +1 -0
  66. package/dist/client/connections.d.ts +18 -0
  67. package/dist/client/connections.d.ts.map +1 -0
  68. package/dist/client/connections.js +66 -0
  69. package/dist/client/connections.js.map +1 -0
  70. package/dist/client/consumptions-types.d.ts +80 -0
  71. package/dist/client/consumptions-types.d.ts.map +1 -0
  72. package/dist/client/consumptions-types.js +5 -0
  73. package/dist/client/consumptions-types.js.map +1 -0
  74. package/dist/client/consumptions.d.ts +14 -0
  75. package/dist/client/consumptions.d.ts.map +1 -0
  76. package/dist/client/consumptions.js +47 -0
  77. package/dist/client/consumptions.js.map +1 -0
  78. package/dist/client/context.d.ts +19 -0
  79. package/dist/client/context.d.ts.map +1 -0
  80. package/dist/client/context.js +12 -0
  81. package/dist/client/context.js.map +1 -0
  82. package/dist/client/data-assets-types.d.ts +150 -0
  83. package/dist/client/data-assets-types.d.ts.map +1 -0
  84. package/dist/client/data-assets-types.js +5 -0
  85. package/dist/client/data-assets-types.js.map +1 -0
  86. package/dist/client/data-assets.d.ts +31 -0
  87. package/dist/client/data-assets.d.ts.map +1 -0
  88. package/dist/client/data-assets.js +182 -0
  89. package/dist/client/data-assets.js.map +1 -0
  90. package/dist/client/define.d.ts +25 -0
  91. package/dist/client/define.d.ts.map +1 -0
  92. package/dist/client/define.js +14 -0
  93. package/dist/client/define.js.map +1 -0
  94. package/dist/client/delivery-types.d.ts +97 -0
  95. package/dist/client/delivery-types.d.ts.map +1 -0
  96. package/dist/client/delivery-types.js +10 -0
  97. package/dist/client/delivery-types.js.map +1 -0
  98. package/dist/client/delivery.d.ts +23 -0
  99. package/dist/client/delivery.d.ts.map +1 -0
  100. package/dist/client/delivery.js +105 -0
  101. package/dist/client/delivery.js.map +1 -0
  102. package/dist/client/flows.d.ts +33 -0
  103. package/dist/client/flows.d.ts.map +1 -0
  104. package/dist/client/flows.js +218 -0
  105. package/dist/client/flows.js.map +1 -0
  106. package/dist/client/index.d.ts +10 -0
  107. package/dist/client/index.d.ts.map +1 -1
  108. package/dist/client/index.js.map +1 -1
  109. package/dist/client/loxtep-client.d.ts +42 -87
  110. package/dist/client/loxtep-client.d.ts.map +1 -1
  111. package/dist/client/loxtep-client.js +96 -98
  112. package/dist/client/loxtep-client.js.map +1 -1
  113. package/dist/client/meaning.d.ts +13 -0
  114. package/dist/client/meaning.d.ts.map +1 -0
  115. package/dist/client/meaning.js +10 -0
  116. package/dist/client/meaning.js.map +1 -0
  117. package/dist/client/observe-facade.d.ts +20 -0
  118. package/dist/client/observe-facade.d.ts.map +1 -0
  119. package/dist/client/observe-facade.js +15 -0
  120. package/dist/client/observe-facade.js.map +1 -0
  121. package/dist/client/query.d.ts +21 -0
  122. package/dist/client/query.d.ts.map +1 -0
  123. package/dist/client/query.js +14 -0
  124. package/dist/client/query.js.map +1 -0
  125. package/dist/client/review.d.ts +16 -0
  126. package/dist/client/review.d.ts.map +1 -0
  127. package/dist/client/review.js +11 -0
  128. package/dist/client/review.js.map +1 -0
  129. package/dist/client/session.d.ts +28 -0
  130. package/dist/client/session.d.ts.map +1 -0
  131. package/dist/client/session.js +28 -0
  132. package/dist/client/session.js.map +1 -0
  133. package/dist/client/workspace.d.ts +22 -0
  134. package/dist/client/workspace.d.ts.map +1 -0
  135. package/dist/client/workspace.js +12 -0
  136. package/dist/client/workspace.js.map +1 -0
  137. package/dist/codegen/load-workspace-context.js +4 -4
  138. package/dist/codegen/load-workspace-context.js.map +1 -1
  139. package/docs/sdk-mcp-mapping.md +35 -16
  140. package/package.json +1 -1
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Delivery API — the primary namespace for managing delivery interfaces
3
+ * on data products.
4
+ *
5
+ * Delivery interfaces define how a data product makes its data available to
6
+ * external systems (webhooks, API endpoints, exports, database syncs, BI
7
+ * connections, event streams).
8
+ *
9
+ * This module calls the same underlying HTTP endpoints as the legacy
10
+ * `consumptions` namespace (`/dataproducts/:data_product_id/consumptions`)
11
+ * but uses the canonical "delivery" terminology.
12
+ */
13
+ function buildQueryString(params) {
14
+ const search = new URLSearchParams();
15
+ for (const [k, v] of Object.entries(params)) {
16
+ if (v === undefined || v === null)
17
+ continue;
18
+ search.set(k, String(v));
19
+ }
20
+ const qs = search.toString();
21
+ return qs ? `?${qs}` : '';
22
+ }
23
+ /**
24
+ * Map a raw API response (Consumption shape) to a DeliveryInterface by adding
25
+ * the `deliveryType` discriminator. Infers the delivery type from
26
+ * `delivery_method` when the field isn't already present.
27
+ */
28
+ function toDeliveryInterface(raw) {
29
+ const result = raw;
30
+ if (!result.deliveryType) {
31
+ // Infer deliveryType from delivery_method if not explicitly set
32
+ const method = raw['delivery_method'] ?? 'webhook';
33
+ result.deliveryType = inferDeliveryType(method);
34
+ }
35
+ return result;
36
+ }
37
+ function inferDeliveryType(deliveryMethod) {
38
+ switch (deliveryMethod) {
39
+ case 'webhook':
40
+ case 'http':
41
+ return 'webhook';
42
+ case 'api_endpoint':
43
+ case 'api':
44
+ return 'api_endpoint';
45
+ case 'export':
46
+ case 'bulk':
47
+ return 'export';
48
+ case 'database_sync':
49
+ case 'warehouse':
50
+ return 'database_sync';
51
+ case 'bi_connect':
52
+ case 'bi':
53
+ return 'bi_connect';
54
+ case 'event_stream':
55
+ case 'stream':
56
+ return 'event_stream';
57
+ default:
58
+ return 'webhook';
59
+ }
60
+ }
61
+ export function createDeliveryApi(http) {
62
+ const base = (data_product_id) => `/dataproducts/${encodeURIComponent(data_product_id)}/consumptions`;
63
+ return {
64
+ async list(data_product_id, params) {
65
+ const qs = params
66
+ ? buildQueryString({
67
+ page: params.page ?? 1,
68
+ page_size: params.page_size ?? 20,
69
+ status: params.status,
70
+ is_active: params.is_active,
71
+ })
72
+ : '';
73
+ const res = await http.get(`${base(data_product_id)}${qs}`);
74
+ return {
75
+ items: res.data.items.map(toDeliveryInterface),
76
+ pagination: res.data.pagination,
77
+ };
78
+ },
79
+ async get(data_product_id, delivery_id) {
80
+ const res = await http.get(`${base(data_product_id)}/${encodeURIComponent(delivery_id)}`);
81
+ return toDeliveryInterface(res.data);
82
+ },
83
+ async create(data_product_id, body) {
84
+ // Map deliveryType to delivery_method for the API if provided
85
+ const apiBody = { ...body };
86
+ if (body.deliveryType && !body.delivery_method) {
87
+ apiBody['delivery_method'] = body.deliveryType;
88
+ }
89
+ const res = await http.post(base(data_product_id), apiBody);
90
+ return toDeliveryInterface(res.data);
91
+ },
92
+ async update(data_product_id, delivery_id, body) {
93
+ const apiBody = { ...body };
94
+ if (body.deliveryType && !body.delivery_method) {
95
+ apiBody['delivery_method'] = body.deliveryType;
96
+ }
97
+ const res = await http.put(`${base(data_product_id)}/${encodeURIComponent(delivery_id)}`, apiBody);
98
+ return toDeliveryInterface(res.data);
99
+ },
100
+ async delete(data_product_id, delivery_id) {
101
+ await http.delete(`${base(data_product_id)}/${encodeURIComponent(delivery_id)}`);
102
+ },
103
+ };
104
+ }
105
+ //# sourceMappingURL=delivery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/client/delivery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Flows API (backend: workflows). list, get (with nodes), create, get_writer.
3
+ * Flow writes for live events use the Loxtep stream data plane — not HTTP POST to /workflows/.../events.
4
+ */
5
+ import type { RStreamsSdk } from '../rstreams/leo-runtime.js';
6
+ import type { LoxtepHttpClient } from '../http/client.js';
7
+ import type { Flow, FlowWithNodes, FlowsListFilters, FlowsListResponse, FlowCreateInput, FlowWriter, GetWriterOptions } from './flow-types.js';
8
+ export interface FlowsApiDeps {
9
+ /** Stream runtime; required for get_writer().close() */
10
+ rsdk?: RStreamsSdk;
11
+ /** Lazy stream runtime resolver (attempts observe.stream_config() when rsdk is not set). */
12
+ get_rsdk?: () => Promise<RStreamsSdk | undefined>;
13
+ }
14
+ /**
15
+ * Determine whether an error is transient and should be retried.
16
+ * Transient: network errors, timeouts, throttling (429), 5xx responses.
17
+ * Non-transient: 4xx (except 429), auth failures — fail immediately.
18
+ */
19
+ export declare function isTransientError(err: unknown): boolean;
20
+ /**
21
+ * Sleep for the given number of milliseconds. Extracted for testability.
22
+ */
23
+ export declare function sleep(ms: number): Promise<void>;
24
+ /**
25
+ * Create the flows API surface (list, get with nodes, create, get_writer).
26
+ */
27
+ export declare function createFlowsApi(http: LoxtepHttpClient, deps?: FlowsApiDeps): {
28
+ list: (filters: FlowsListFilters) => Promise<FlowsListResponse['data']>;
29
+ get: (id: string) => Promise<FlowWithNodes>;
30
+ create: (input: FlowCreateInput) => Promise<Flow>;
31
+ get_writer: (flow_id: string, options?: GetWriterOptions) => Promise<FlowWriter>;
32
+ };
33
+ //# sourceMappingURL=flows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../src/client/flows.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,IAAI,EACJ,aAAa,EAEb,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAUzB,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;CACnD;AAkCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAwEtD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,gBAAgB,EACtB,IAAI,CAAC,EAAE,YAAY,GAClB;IACD,IAAI,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CAClF,CAmIA"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Flows API (backend: workflows). list, get (with nodes), create, get_writer.
3
+ * Flow writes for live events use the Loxtep stream data plane — not HTTP POST to /workflows/.../events.
4
+ */
5
+ import { DefinitionValidationError } from '../errors/validation.js';
6
+ import { StreamingError } from '../errors/streaming.js';
7
+ import { createQueueWriter } from '../rstreams/event-bridge.js';
8
+ import { resolveIngestionQueueName } from './flow-queue-resolve.js';
9
+ const WORKFLOWS_API_BASE = '/workflows/workflows';
10
+ function buildQueryString(params) {
11
+ const search = new URLSearchParams();
12
+ for (const [k, v] of Object.entries(params)) {
13
+ if (v === undefined || v === null)
14
+ continue;
15
+ search.set(k, String(v));
16
+ }
17
+ const qs = search.toString();
18
+ return qs ? `?${qs}` : '';
19
+ }
20
+ function validateEventAgainstDefinition(event, definition) {
21
+ const errors = [];
22
+ const required = definition.required;
23
+ if (Array.isArray(required) &&
24
+ required.length > 0 &&
25
+ event !== null &&
26
+ typeof event === 'object') {
27
+ const obj = event;
28
+ for (const key of required) {
29
+ if (!(key in obj) || obj[key] === undefined) {
30
+ errors.push({ path: key, message: `Missing required field: ${key}` });
31
+ }
32
+ }
33
+ }
34
+ return errors;
35
+ }
36
+ /**
37
+ * Determine whether an error is transient and should be retried.
38
+ * Transient: network errors, timeouts, throttling (429), 5xx responses.
39
+ * Non-transient: 4xx (except 429), auth failures — fail immediately.
40
+ */
41
+ export function isTransientError(err) {
42
+ if (err === null || err === undefined)
43
+ return false;
44
+ // Check for status code on the error object (HTTP response errors)
45
+ const statusCode = typeof err.status_code === 'number'
46
+ ? err.status_code
47
+ : typeof err.statusCode === 'number'
48
+ ? err.statusCode
49
+ : typeof err.status === 'number'
50
+ ? err.status
51
+ : undefined;
52
+ if (statusCode !== undefined) {
53
+ // 429 (throttling) is transient
54
+ if (statusCode === 429)
55
+ return true;
56
+ // 5xx responses are transient
57
+ if (statusCode >= 500 && statusCode < 600)
58
+ return true;
59
+ // Other 4xx are non-transient (auth failures, validation errors, etc.)
60
+ if (statusCode >= 400 && statusCode < 500)
61
+ return false;
62
+ }
63
+ // Check error code strings
64
+ const code = typeof err.code === 'string'
65
+ ? err.code
66
+ : undefined;
67
+ if (code) {
68
+ const transientCodes = new Set([
69
+ 'ECONNRESET',
70
+ 'ECONNREFUSED',
71
+ 'ENOTFOUND',
72
+ 'ETIMEDOUT',
73
+ 'EPIPE',
74
+ 'EAI_AGAIN',
75
+ 'RATE_LIMIT_EXCEEDED',
76
+ 'RATE_LIMIT_ERROR',
77
+ 'SERVICE_UNAVAILABLE',
78
+ 'GATEWAY_TIMEOUT',
79
+ 'INTERNAL_SERVER_ERROR',
80
+ ]);
81
+ if (transientCodes.has(code))
82
+ return true;
83
+ // Auth-related codes are non-transient
84
+ const nonTransientCodes = new Set([
85
+ 'AUTHENTICATION_ERROR',
86
+ 'AUTHORIZATION_ERROR',
87
+ 'VALIDATION_ERROR',
88
+ 'NOT_FOUND',
89
+ ]);
90
+ if (nonTransientCodes.has(code))
91
+ return false;
92
+ }
93
+ // Check error message for network-related keywords
94
+ const message = typeof err.message === 'string'
95
+ ? err.message.toLowerCase()
96
+ : '';
97
+ if (message.includes('timeout') ||
98
+ message.includes('econnreset') ||
99
+ message.includes('econnrefused') ||
100
+ message.includes('network') ||
101
+ message.includes('socket hang up')) {
102
+ return true;
103
+ }
104
+ // Default: treat unknown errors as transient to allow retry
105
+ return true;
106
+ }
107
+ /**
108
+ * Sleep for the given number of milliseconds. Extracted for testability.
109
+ */
110
+ export function sleep(ms) {
111
+ if (ms <= 0)
112
+ return Promise.resolve();
113
+ return new Promise((resolve) => setTimeout(resolve, ms));
114
+ }
115
+ /**
116
+ * Create the flows API surface (list, get with nodes, create, get_writer).
117
+ */
118
+ export function createFlowsApi(http, deps) {
119
+ return {
120
+ async list(filters) {
121
+ const params = {
122
+ project_id: filters.project_id,
123
+ page: filters.page ?? 1,
124
+ page_size: filters.page_size ?? 100,
125
+ };
126
+ if (filters.status)
127
+ params.status = filters.status;
128
+ if (filters.search)
129
+ params.search = filters.search;
130
+ const qs = buildQueryString(params);
131
+ const res = await http.get(`${WORKFLOWS_API_BASE}${qs}`);
132
+ return res.data;
133
+ },
134
+ async get(id) {
135
+ const flowRes = await http.get(`${WORKFLOWS_API_BASE}/${encodeURIComponent(id)}`);
136
+ const flow = flowRes.data;
137
+ let nodes = [];
138
+ try {
139
+ const nodesRes = await http.get(`${WORKFLOWS_API_BASE}/${encodeURIComponent(id)}/nodes`);
140
+ const payload = nodesRes.data ?? nodesRes;
141
+ nodes = payload.items ?? [];
142
+ }
143
+ catch {
144
+ // Nodes endpoint may not exist or may 404; flow still has node_count
145
+ }
146
+ return { ...flow, nodes };
147
+ },
148
+ async create(input) {
149
+ const res = await http.post(WORKFLOWS_API_BASE, input);
150
+ return res.data;
151
+ },
152
+ async get_writer(flow_id, options) {
153
+ // Resolve the stream runtime, source bot, and destination queue up front; the rstreams `load`
154
+ // stream (created inside createQueueWriter) owns buffering, batching, backoff, and checkpointing.
155
+ const rsdk = deps?.rsdk ?? (await deps?.get_rsdk?.());
156
+ if (!rsdk) {
157
+ throw new StreamingError('Stream bus configuration missing. Set LEO_* environment variables or add `streams` to ~/.loxtep/config.json. ' +
158
+ 'Pass `streams` in LoxtepClientOptions, or ensure your instance stream environment is configured.', {
159
+ details: {
160
+ flow_id,
161
+ hint: 'Run `loxtep init` to configure stream bus, or set LEO_* env vars from your instance.',
162
+ },
163
+ });
164
+ }
165
+ const botId = options?.bot_id;
166
+ if (!botId) {
167
+ throw new StreamingError('flows.get_writer requires bot_id in options (stream writer identity on the bus).', { details: { flow_id } });
168
+ }
169
+ let queueName = options?.output_queue_name;
170
+ if (!queueName && options?.environment_prefix && options?.project_id) {
171
+ const flowRes = await http.get(`${WORKFLOWS_API_BASE}/${encodeURIComponent(flow_id)}`);
172
+ const flowData = flowRes && typeof flowRes === 'object' && 'data' in flowRes
173
+ ? flowRes.data
174
+ : flowRes;
175
+ let nodes = [];
176
+ try {
177
+ const nodesRes = await http.get(`${WORKFLOWS_API_BASE}/${encodeURIComponent(flow_id)}/nodes`);
178
+ const payload = nodesRes.data ?? nodesRes;
179
+ nodes = payload.items ?? [];
180
+ }
181
+ catch {
182
+ /* ignore */
183
+ }
184
+ const flowWithNodes = { ...flowData, nodes };
185
+ queueName = resolveIngestionQueueName(flowWithNodes, options.environment_prefix);
186
+ }
187
+ if (!queueName) {
188
+ throw new StreamingError('flows.get_writer requires output_queue_name, or environment_prefix + project_id so the SDK can resolve the ingestion queue from the flow.', { details: { flow_id } });
189
+ }
190
+ const writer = createQueueWriter(rsdk, botId, queueName, () => new StreamingError('Cannot write to a closed FlowWriter. Create a new writer via flows.get_writer().', { details: { flow_id } }));
191
+ // Optional per-event definition validation wraps the passthrough writer.
192
+ const validate = options?.validate_definition === true && !!options?.definition;
193
+ if (!validate)
194
+ return writer;
195
+ const onError = options?.on_validation_error ?? 'reject';
196
+ return {
197
+ write(event, writeOptions) {
198
+ if (options?.definition) {
199
+ const errors = validateEventAgainstDefinition(event, options.definition);
200
+ if (errors.length > 0) {
201
+ if (onError === 'reject') {
202
+ throw new DefinitionValidationError('Event failed definition validation', options.definition_version ?? '', errors);
203
+ }
204
+ if (onError === 'warn') {
205
+ console.warn('[FlowWriter] Definition validation failed:', errors);
206
+ }
207
+ if (onError === 'skip')
208
+ return;
209
+ }
210
+ }
211
+ writer.write(event, writeOptions);
212
+ },
213
+ close: () => writer.close(),
214
+ };
215
+ },
216
+ };
217
+ }
218
+ //# sourceMappingURL=flows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flows.js","sourceRoot":"","sources":["../../src/client/flows.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,16 @@ export type { Improvement, ImprovementStatus, ImprovementsListFilters, Improveme
28
28
  export type { ImprovementsApi } from './improvements.js';
29
29
  export type { ActivityEntry, ActivityEntryKind, ActivityListFilters, ActivityListResponse, ActivityOutcome, ActivitySource, } from './activity-types.js';
30
30
  export type { ActivityApi } from './activity.js';
31
+ export type { ConnectFacade } from './connect.js';
32
+ export type { WorkspaceFacade } from './workspace.js';
33
+ export type { BuildFacade } from './build.js';
34
+ export type { DefineFacade } from './define.js';
35
+ export type { MeaningFacade } from './meaning.js';
36
+ export type { ReviewFacade } from './review.js';
37
+ export type { QueryFacade } from './query.js';
38
+ export type { ObserveFacade } from './observe-facade.js';
39
+ export type { ContextFacade } from './context.js';
40
+ export type { CurrentUser, CurrentOrganization } from './session.js';
31
41
  export type { ProjectVersionMetadata, VersionDiff } from './versions-types.js';
32
42
  export type { DataProductWriterOptions, DataProductReaderOptions } from './data-products.js';
33
43
  export { DataProductResolver, AmbiguityError } from './data-product-resolver.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAoDlD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA+GrE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAoDlD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAyHrE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,30 +1,20 @@
1
1
  import type { AwsCredentialIdentity } from '@smithy/types';
2
2
  import type { LoxtepClientOptions } from './types.js';
3
3
  import { type RateLimitInfo } from '../http/client.js';
4
- import { createDataProductsApi } from './data-products.js';
5
- import { createQueuesApi } from './queues.js';
6
- import { createTriggersApi } from './triggers.js';
7
- import { createQualityApi } from './quality.js';
8
- import { createApprovalsApi } from './approvals.js';
9
- import { createCatalogApi } from './catalog.js';
10
- import { createSchemasApi } from './schemas.js';
11
- import { createDiscoveryApi } from './discovery.js';
12
- import { type WorkflowsApi } from './workflows.js';
13
- import { createProjectsApi } from './projects.js';
14
- import { createTemplatesApi } from './templates.js';
15
- import { createObserveApi } from './observe.js';
16
- import { createThesaurusApi } from './thesaurus.js';
17
- import { createProcessIntelligenceApi } from './process-intelligence.js';
18
- import { type TargetsApi } from './targets.js';
19
- import { createConnectorsApi } from './connectors.js';
20
- import { createInstancesApi } from './instances.js';
21
- import { createProceduresApi } from './procedures.js';
22
- import { createDomainsApi } from './domains.js';
23
- import { createStandardsApi } from './standards.js';
24
- import { createPromisesApi } from './promises.js';
25
- import { type ImprovementsApi } from './improvements.js';
26
- import { type ActivityApi } from './activity.js';
4
+ import type { DataProductWriterOptions, DataProductReaderOptions } from './data-products.js';
5
+ import { createSessionApi } from './session.js';
6
+ import { createConnectFacade } from './connect.js';
7
+ import { createWorkspaceFacade } from './workspace.js';
8
+ import { createBuildFacade } from './build.js';
9
+ import { createDefineFacade } from './define.js';
10
+ import { createMeaningFacade } from './meaning.js';
11
+ import { createReviewFacade } from './review.js';
12
+ import { createQueryFacade } from './query.js';
13
+ import { createObserveFacade } from './observe-facade.js';
14
+ import { createContextFacade } from './context.js';
27
15
  import type { RStreamsSdk } from '../rstreams/leo-runtime.js';
16
+ import type { FlowWriter } from './flow-types.js';
17
+ import type { StreamEvent } from './data-products-types.js';
28
18
  /** Metrics surface: log and get_reporter (optional Loxtep metrics integration). */
29
19
  export interface MetricsSurface {
30
20
  log: (metric: {
@@ -59,11 +49,9 @@ export interface FromWorkspaceOptions {
59
49
  debug?: (message: string) => void;
60
50
  }
61
51
  /**
62
- * Main SDK client. Public surface uses customer-facing terminology grouped by
63
- * the ingest define deliver journey: triggers, connectors, workflows,
64
- * data_products (writer/reader), schemas, quality, catalog, discovery, domains,
65
- * standards, data_contracts, thesaurus, procedures, targets. Plus advanced
66
- * surfaces: projects, templates, instances, observe, queues, metrics.
52
+ * Main SDK client. Ten namespaces mirror hosted MCP tool facades:
53
+ * session, connect, workspace, build, define, meaning, review, query, observe, context.
54
+ * Top-level `get_writer` / `get_reader` resolve data products for stream I/O.
67
55
  */
68
56
  export declare class LoxtepClient {
69
57
  readonly api_url: string;
@@ -73,70 +61,37 @@ export declare class LoxtepClient {
73
61
  readonly instance_id?: string;
74
62
  private readonly _http;
75
63
  private readonly _resolver;
64
+ private readonly _dataProductsApi;
65
+ private readonly _workflowsApi;
76
66
  private _rsdk?;
77
67
  private _rsdkResolutionAttempted;
78
- /** Data products (backend: data products). get, list, search. */
79
- readonly data_products: ReturnType<typeof createDataProductsApi>;
80
- /** Workflows (backend: workflows); project-scoped DAG of nodes. list, get (with nodes), create, get_graph, deploy. */
81
- readonly workflows: WorkflowsApi;
82
- /** Observe: status (bots / observability). */
83
- readonly observe: ReturnType<typeof createObserveApi>;
84
- /** Projects: list, get, create, update, delete (workflows MS). */
85
- readonly projects: ReturnType<typeof createProjectsApi>;
86
- /** Templates: list, get (catalog). Apply via projects.apply_template(project_id, body). */
87
- readonly templates: ReturnType<typeof createTemplatesApi>;
88
- /** Domains. */
89
- readonly domains: ReturnType<typeof createDomainsApi>;
90
- /** Standards (backend: data standards). */
91
- readonly standards: ReturnType<typeof createStandardsApi>;
92
- /** Data contracts (backend: datacontracts). */
93
- readonly data_contracts: ReturnType<typeof createPromisesApi>;
94
- /** Triggers (ingest source bindings; backend: connections): get, list, create, update, delete, test. */
95
- readonly triggers: ReturnType<typeof createTriggersApi>;
96
- /** Queues: get_queue_metadata, get_reader_checkpoint, open_reader, open_writer. */
97
- readonly queues: ReturnType<typeof createQueuesApi>;
98
- /** Quality metrics: list, get, create. */
99
- readonly quality: ReturnType<typeof createQualityApi>;
100
- /** Approvals: list pending approval requests and resolve them (approve/reject) —
101
- * programmatic parity for pipeline HITL gates. */
102
- readonly approvals: ReturnType<typeof createApprovalsApi>;
103
- /** Catalog (search): search. */
104
- readonly catalog: ReturnType<typeof createCatalogApi>;
105
- /** Discovery (MCP tools): search with include_evidence/include_lineage, get_evidence, get_lineage_impact, get_governance_flags, run. */
106
- readonly discovery: ReturnType<typeof createDiscoveryApi>;
107
- /** Schemas (data product schema): get, list, tag_pii_fields. */
108
- readonly schemas: ReturnType<typeof createSchemasApi>;
109
- /** Thesaurus (canonical correlation keys + aliases): list_terms, resolve_canonical_key, append_synonym. */
110
- readonly thesaurus: ReturnType<typeof createThesaurusApi>;
111
- /**
112
- * @internal
113
- * Process Intelligence: decisionTraces.list (optional anchor params). LOX-1478.
114
- * Experimental — excluded from the documented surface.
115
- */
116
- readonly process_intelligence: ReturnType<typeof createProcessIntelligenceApi>;
117
- /** Targets (delivery sink bindings): list, get, create, update, delete. How data products deliver data externally. */
118
- readonly targets: TargetsApi;
119
- /** Connectors (organization-level): list, get, create, update, delete, test, get_oauth_url. */
120
- readonly connectors: ReturnType<typeof createConnectorsApi>;
121
- /** Instances (organization-level): list, get. */
122
- readonly instances: ReturnType<typeof createInstancesApi>;
123
- /** Procedures (process graph): list. */
124
- readonly procedures: ReturnType<typeof createProceduresApi>;
125
- /**
126
- * @internal
127
- * Improvements (AI Eval self-improvement): list, apply, reject (R8.3–R8.6).
128
- * Experimental — excluded from the documented surface.
129
- */
130
- readonly improvements: ImprovementsApi;
131
- /**
132
- * @internal
133
- * Activity & observability: list activity/audit entries (R7.4, R18.5).
134
- * Experimental — excluded from the documented surface.
135
- */
136
- readonly activity: ActivityApi;
68
+ /** Session & org context (MCP: loxtep_session). */
69
+ readonly session: ReturnType<typeof createSessionApi>;
70
+ /** Connectors + templates (MCP: loxtep_connect). */
71
+ readonly connect: ReturnType<typeof createConnectFacade>;
72
+ /** Projects, instances, versions (MCP: loxtep_workspace). */
73
+ readonly workspace: ReturnType<typeof createWorkspaceFacade>;
74
+ /** Workflows, triggers, data products, targets, deploy (MCP: loxtep_build). */
75
+ readonly build: ReturnType<typeof createBuildFacade>;
76
+ /** Schemas, quality, standards, contracts, domains (MCP: loxtep_define). */
77
+ readonly define: ReturnType<typeof createDefineFacade>;
78
+ /** Thesaurus / ontology vocabulary (MCP: loxtep_meaning). */
79
+ readonly meaning: ReturnType<typeof createMeaningFacade>;
80
+ /** Approvals + improvements (MCP: loxtep_review). */
81
+ readonly review: ReturnType<typeof createReviewFacade>;
82
+ /** Catalog, discovery, analytics query (MCP: loxtep_query). */
83
+ readonly query: ReturnType<typeof createQueryFacade>;
84
+ /** Observe status + queue I/O (MCP: loxtep_observe). */
85
+ readonly observe: ReturnType<typeof createObserveFacade>;
86
+ /** Process intelligence, procedures, activity (MCP: loxtep_context). */
87
+ readonly context: ReturnType<typeof createContextFacade>;
137
88
  /** Metrics: log, get_reporter (stub until metrics wiring is added). */
138
89
  readonly metrics: MetricsSurface;
139
90
  constructor(options: LoxtepClientOptions);
91
+ /** Resolve a data product writer by name or id (delegates to data-products stream logic). */
92
+ get_writer(name_or_id: string, options?: DataProductWriterOptions): Promise<FlowWriter>;
93
+ /** Resolve a data product reader by name or id (delegates to data-products stream logic). */
94
+ get_reader(name_or_id: string, options?: DataProductReaderOptions): Promise<AsyncIterable<StreamEvent>>;
140
95
  /** Update SigV4 credentials used by the HTTP layer (e.g. CLI after refresh returns STS). */
141
96
  set_aws_credentials(credentials: AwsCredentialIdentity | null): void;
142
97
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"loxtep-client.d.ts","sourceRoot":"","sources":["../../src/client/loxtep-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAGpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAK9D,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,CAAC,MAAM,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,YAAY,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,wGAAwG;IACxG,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6GAA6G;IAC7G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,KAAK,CAAC;IACxB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED;;;;;;GAMG;AACH,qBAAa,YAAY;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,KAAK,CAAC,CAAc;IAC5B,OAAO,CAAC,wBAAwB,CAAS;IAEzC,iEAAiE;IACjE,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;IAEjE,sHAAsH;IACtH,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IAEjC,8CAA8C;IAC9C,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAEtD,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAExD,2FAA2F;IAC3F,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAE1D,eAAe;IACf,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAEtD,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAE1D,+CAA+C;IAC/C,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAE9D,wGAAwG;IACxG,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAExD,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAEpD,0CAA0C;IAC1C,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAEtD;sDACkD;IAClD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAE1D,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAEtD,wIAAwI;IACxI,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAE1D,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAEtD,2GAA2G;IAC3G,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAE1D;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;IAE/E,sHAAsH;IACtH,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAE7B,+FAA+F;IAC/F,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IAE5D,iDAAiD;IACjD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAE1D,wCAAwC;IACxC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IAE5D;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IAEvC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAE/B,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;gBAErB,OAAO,EAAE,mBAAmB;IAkFxC,4FAA4F;IAC5F,mBAAmB,CAAC,WAAW,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI;IAIpE;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,YAAY;IA+DtE;;;;;;;;OAQG;IACG,kBAAkB,IAAI,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAsD5D,wFAAwF;IAClF,eAAe,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAwBtD,OAAO,CAAC,oBAAoB;CAiB7B"}
1
+ {"version":3,"file":"loxtep-client.d.ts","sourceRoot":"","sources":["../../src/client/loxtep-client.ts"],"names":[],"mappings":"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"}