@loxtep/sdk 0.7.19 → 0.7.22

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 (38) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +12 -13
  3. package/dist/cli/commands/attach-cmd.d.ts.map +1 -1
  4. package/dist/cli/commands/attach-cmd.js +8 -3
  5. package/dist/cli/commands/attach-cmd.js.map +1 -1
  6. package/dist/cli/commands/config-cmd.d.ts.map +1 -1
  7. package/dist/cli/commands/config-cmd.js +3 -2
  8. package/dist/cli/commands/config-cmd.js.map +1 -1
  9. package/dist/cli/commands/ingest-cmd.d.ts.map +1 -1
  10. package/dist/cli/commands/ingest-cmd.js +1 -2
  11. package/dist/cli/commands/ingest-cmd.js.map +1 -1
  12. package/dist/cli/help.d.ts.map +1 -1
  13. package/dist/cli/help.js +0 -3
  14. package/dist/cli/help.js.map +1 -1
  15. package/dist/client/instances-types.d.ts +11 -0
  16. package/dist/client/instances-types.d.ts.map +1 -1
  17. package/dist/client/instances.d.ts +9 -13
  18. package/dist/client/instances.d.ts.map +1 -1
  19. package/dist/client/instances.js +6 -5
  20. package/dist/client/instances.js.map +1 -1
  21. package/dist/errors/parse-http.d.ts +0 -9
  22. package/dist/errors/parse-http.d.ts.map +1 -1
  23. package/dist/errors/parse-http.js +28 -4
  24. package/dist/errors/parse-http.js.map +1 -1
  25. package/dist/http/client.d.ts +8 -4
  26. package/dist/http/client.d.ts.map +1 -1
  27. package/dist/http/client.js +13 -13
  28. package/dist/http/client.js.map +1 -1
  29. package/dist/lib/instance-stream-config.d.ts +19 -3
  30. package/dist/lib/instance-stream-config.d.ts.map +1 -1
  31. package/dist/lib/instance-stream-config.js +94 -2
  32. package/dist/lib/instance-stream-config.js.map +1 -1
  33. package/docs/getting-started.md +4 -16
  34. package/docs/quick-reference.md +8 -9
  35. package/docs/sdk-first-ingest.md +53 -232
  36. package/package.json +1 -1
  37. package/docs/examples/generate-ingest-bundle.mjs +0 -133
  38. package/docs/examples/write-events.mjs +0 -54
@@ -55,7 +55,7 @@ export class LoxtepHttpClient {
55
55
  this.credentials = creds;
56
56
  return creds;
57
57
  }
58
- async request(method, path, body, retryCount = 0, authRetry = 0) {
58
+ async request(method, path, body, retryCount = 0, authRetry = 0, requestOptions) {
59
59
  const pathPart = path.startsWith('http')
60
60
  ? path
61
61
  : this.use_platform_path_resolution
@@ -63,7 +63,7 @@ export class LoxtepHttpClient {
63
63
  : `${this.base_url}${path.startsWith('/') ? path : `/${path}`}`;
64
64
  const url = new URL(pathPart);
65
65
  const bodyString = body !== undefined ? JSON.stringify(body) : undefined;
66
- const headers = {};
66
+ const headers = { ...(requestOptions?.headers ?? {}) };
67
67
  if (this.get_token) {
68
68
  const token = await this.get_token();
69
69
  if (token)
@@ -90,7 +90,7 @@ export class LoxtepHttpClient {
90
90
  if (isNetworkError(err) && retryCount < MAX_RETRIES) {
91
91
  const delay = INITIAL_BACKOFF_MS * Math.pow(2, retryCount);
92
92
  await new Promise(r => setTimeout(r, delay));
93
- return this.request(method, path, body, retryCount + 1, authRetry);
93
+ return this.request(method, path, body, retryCount + 1, authRetry, requestOptions);
94
94
  }
95
95
  throw err;
96
96
  }
@@ -106,14 +106,14 @@ export class LoxtepHttpClient {
106
106
  if (response.status === 401 && authRetry === 0 && this.refresh_auth) {
107
107
  const ok = await this.refresh_auth();
108
108
  if (ok) {
109
- return this.request(method, path, body, retryCount, authRetry + 1);
109
+ return this.request(method, path, body, retryCount, authRetry + 1, requestOptions);
110
110
  }
111
111
  }
112
112
  if (response.status >= 400) {
113
113
  if (isRetryable(response.status) && retryCount < MAX_RETRIES) {
114
114
  const delay = INITIAL_BACKOFF_MS * Math.pow(2, retryCount);
115
115
  await new Promise(r => setTimeout(r, delay));
116
- return this.request(method, path, body, retryCount + 1, authRetry);
116
+ return this.request(method, path, body, retryCount + 1, authRetry, requestOptions);
117
117
  }
118
118
  throw parseHttpError(response.status, parsed, requestId);
119
119
  }
@@ -148,17 +148,17 @@ export class LoxtepHttpClient {
148
148
  getLastRateLimit() {
149
149
  return this.lastRateLimit;
150
150
  }
151
- async get(path) {
152
- return this.request('GET', path);
151
+ async get(path, options) {
152
+ return this.request('GET', path, undefined, 0, 0, options);
153
153
  }
154
- async post(path, body) {
155
- return this.request('POST', path, body);
154
+ async post(path, body, options) {
155
+ return this.request('POST', path, body, 0, 0, options);
156
156
  }
157
- async put(path, body) {
158
- return this.request('PUT', path, body);
157
+ async put(path, body, options) {
158
+ return this.request('PUT', path, body, 0, 0, options);
159
159
  }
160
- async delete(path) {
161
- return this.request('DELETE', path);
160
+ async delete(path, options) {
161
+ return this.request('DELETE', path, undefined, 0, 0, options);
162
162
  }
163
163
  }
164
164
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/http/client.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,28 @@
1
1
  /**
2
- * Map instance stream-config API responses to SDK `streams` config (PascalCase).
2
+ * Resolve and map instance stream-config for SDK `streams` / attach.
3
3
  */
4
+ import type { LoxtepHttpClient } from '../http/client.js';
5
+ import type { Instance, InstanceStreamConfig } from '../client/instances-types.js';
4
6
  import type { ConfigurationResources } from '../rstreams/leo-runtime.js';
5
- import type { InstanceStreamConfig } from '../client/instances.js';
7
+ export type InstanceStreamConfigSource = 'organizations';
6
8
  /** Full stream bus resource names required for `resolveStreamsConfiguration`. */
7
9
  export type FullInstanceStreamConfig = InstanceStreamConfig;
8
10
  /**
9
- * Convert GET /organizations/instances/{id}/stream-config into the `streams` object stored on
11
+ * Extract stream config embedded on an instance record (shared / legacy paths).
12
+ */
13
+ export declare function extractStreamConfigFromInstance(instance: Instance): InstanceStreamConfig | null;
14
+ /**
15
+ * Resolve stream bus config via the organizations primary endpoint:
16
+ * GET /organizations/instances/{id}/stream-config
17
+ */
18
+ export declare function fetchInstanceStreamConfig(http: LoxtepHttpClient, instanceId: string, options?: {
19
+ instance?: Instance;
20
+ }): Promise<{
21
+ config: InstanceStreamConfig;
22
+ source: InstanceStreamConfigSource;
23
+ }>;
24
+ /**
25
+ * Convert stream-config API data into the `streams` object stored on
10
26
  * `.loxtep/project.json` and passed to `LoxtepClient` / `resolveStreamsConfiguration`.
11
27
  */
12
28
  export declare function instanceStreamConfigToStreams(config: FullInstanceStreamConfig): ConfigurationResources;
@@ -1 +1 @@
1
- {"version":3,"file":"instance-stream-config.d.ts","sourceRoot":"","sources":["../../src/lib/instance-stream-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,iFAAiF;AACjF,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,wBAAwB,GAC/B,sBAAsB,CAWxB;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,SAAS,GAClD,MAAM,IAAI,sBAAsB,CAYlC"}
1
+ {"version":3,"file":"instance-stream-config.d.ts","sourceRoot":"","sources":["../../src/lib/instance-stream-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAKzE,MAAM,MAAM,0BAA0B,GAAG,eAAe,CAAC;AAazD,iFAAiF;AACjF,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;AAoD5D;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,QAAQ,GAAG,oBAAoB,GAAG,IAAI,CAmB/F;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,gBAAgB,EACtB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,GAChC,OAAO,CAAC;IAAE,MAAM,EAAE,oBAAoB,CAAC;IAAC,MAAM,EAAE,0BAA0B,CAAA;CAAE,CAAC,CAY/E;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,wBAAwB,GAC/B,sBAAsB,CAWxB;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,SAAS,GAClD,MAAM,IAAI,sBAAsB,CAYlC"}
@@ -1,8 +1,100 @@
1
1
  /**
2
- * Map instance stream-config API responses to SDK `streams` config (PascalCase).
2
+ * Resolve and map instance stream-config for SDK `streams` / attach.
3
3
  */
4
+ import { unwrapApiEnvelope } from '../client/current-user-response.js';
5
+ const INSTANCES_BASE = '/organizations/instances';
6
+ const STREAM_CONFIG_KEYS = [
7
+ 'Region',
8
+ 'LeoEvent',
9
+ 'LeoStream',
10
+ 'LeoCron',
11
+ 'LeoS3',
12
+ 'LeoKinesisStream',
13
+ 'LeoFirehoseStream',
14
+ 'LeoSettings',
15
+ ];
16
+ function hasRequiredStreamKeys(source) {
17
+ return STREAM_CONFIG_KEYS.every(key => typeof source[key] === 'string' && source[key].length > 0);
18
+ }
19
+ function pickStreamConfig(source) {
20
+ return {
21
+ Region: source.Region,
22
+ LeoEvent: source.LeoEvent,
23
+ LeoStream: source.LeoStream,
24
+ LeoCron: source.LeoCron,
25
+ LeoS3: source.LeoS3,
26
+ LeoKinesisStream: source.LeoKinesisStream,
27
+ LeoFirehoseStream: source.LeoFirehoseStream,
28
+ LeoSettings: source.LeoSettings,
29
+ };
30
+ }
31
+ function parseStreamConfigRecord(source, defaultRegion) {
32
+ if (!source)
33
+ return null;
34
+ const withRegion = {
35
+ ...source,
36
+ Region: source.Region || defaultRegion || 'us-east-1',
37
+ };
38
+ if (!hasRequiredStreamKeys(withRegion))
39
+ return null;
40
+ return pickStreamConfig(withRegion);
41
+ }
42
+ function parseJsonObject(value) {
43
+ if (!value)
44
+ return undefined;
45
+ if (typeof value === 'string') {
46
+ try {
47
+ const parsed = JSON.parse(value);
48
+ return typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)
49
+ ? parsed
50
+ : undefined;
51
+ }
52
+ catch {
53
+ return undefined;
54
+ }
55
+ }
56
+ if (typeof value === 'object' && !Array.isArray(value)) {
57
+ return value;
58
+ }
59
+ return undefined;
60
+ }
61
+ /**
62
+ * Extract stream config embedded on an instance record (shared / legacy paths).
63
+ */
64
+ export function extractStreamConfigFromInstance(instance) {
65
+ const region = instance.region || 'us-east-1';
66
+ const metadata = parseJsonObject(instance.metadata);
67
+ if (metadata?.rstreams && typeof metadata.rstreams === 'object') {
68
+ const parsed = parseStreamConfigRecord(metadata.rstreams, region);
69
+ if (parsed)
70
+ return parsed;
71
+ }
72
+ const connectionDetails = parseJsonObject(instance.connection_details);
73
+ if (connectionDetails) {
74
+ const observeApi = connectionDetails.observe_api;
75
+ const rstreams = observeApi?.rstreams ??
76
+ connectionDetails.rstreams;
77
+ const parsed = parseStreamConfigRecord(rstreams, region);
78
+ if (parsed)
79
+ return parsed;
80
+ }
81
+ return null;
82
+ }
83
+ /**
84
+ * Resolve stream bus config via the organizations primary endpoint:
85
+ * GET /organizations/instances/{id}/stream-config
86
+ */
87
+ export async function fetchInstanceStreamConfig(http, instanceId, options) {
88
+ const res = await http.get(`${INSTANCES_BASE}/${encodeURIComponent(instanceId)}/stream-config`);
89
+ const payload = unwrapApiEnvelope(res);
90
+ const parsed = parseStreamConfigRecord(payload, options?.instance?.region);
91
+ if (!parsed) {
92
+ throw new Error(`Stream-config response for instance '${instanceId}' is missing required Leo resource names`);
93
+ }
94
+ return { config: parsed, source: 'organizations' };
95
+ }
4
96
  /**
5
- * Convert GET /organizations/instances/{id}/stream-config into the `streams` object stored on
97
+ * Convert stream-config API data into the `streams` object stored on
6
98
  * `.loxtep/project.json` and passed to `LoxtepClient` / `resolveStreamsConfiguration`.
7
99
  */
8
100
  export function instanceStreamConfigToStreams(config) {
@@ -1 +1 @@
1
- {"version":3,"file":"instance-stream-config.js","sourceRoot":"","sources":["../../src/lib/instance-stream-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAC3C,MAAgC;IAEhC,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,sBAAsB,CACpC,MAAmD;IAEnD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,OAAO,CACZ,MAAM,CAAC,MAAM;QACX,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,SAAS;QAChB,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,KAAK;QACZ,MAAM,CAAC,gBAAgB;QACvB,MAAM,CAAC,iBAAiB;QACxB,MAAM,CAAC,WAAW,CACrB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"instance-stream-config.js","sourceRoot":"","sources":["../../src/lib/instance-stream-config.ts"],"names":[],"mappings":"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"}
@@ -163,29 +163,17 @@ products, connectors, domains, queues, workflows). Re-run after platform changes
163
163
 
164
164
  ---
165
165
 
166
- ## Step 6: Your first data product (SDK ingest)
166
+ ## Step 6: Create a data product and write from your app
167
167
 
168
- After `attach`, the usual greenfield goal is: **provision a source data product
169
- on your instance, then call `get_writer` from your app.**
170
-
171
- `get_writer` needs **deployment metadata** (queues and bots created at deploy
172
- time). Creating a catalog row alone is not enough.
173
-
174
- **Recommended:** follow **[SDK-first ingest](./sdk-first-ingest.md)** end to end.
175
- Short version:
168
+ After `attach`, create a data product on that instance, then call `get_writer`
169
+ from your application:
176
170
 
177
171
  ```bash
178
- pnpm exec loxtep domains list
179
-
180
- # One command: SDK connector + workflow bundle + deploy (no MCP)
181
172
  pnpm exec loxtep ingest provision --name app-events
182
-
183
173
  pnpm exec loxtep data-products list
184
- node node_modules/@loxtep/sdk/docs/examples/write-events.mjs
185
174
  ```
186
175
 
187
- Do **not** expect `pnpm exec loxtep data-products create` alone to enable
188
- streaming — it registers catalog metadata without runtime bindings.
176
+ See **[Write to a data product](./sdk-first-ingest.md)** for the full flow and code sample.
189
177
 
190
178
  ---
191
179
 
@@ -54,8 +54,8 @@ bus config from deployment metadata.
54
54
  ```typescript
55
55
  const writer = await client.get_writer('orders'); // deployed data product name
56
56
 
57
- writer.write({ id: 'evt-1', payload: { key: 'value' } });
58
- writer.write({ id: 'evt-2', payload: { key: 'value' } });
57
+ writer.write({ order_id: 'ord-1', status: 'placed' });
58
+ writer.write({ order_id: 'ord-2', status: 'shipped' });
59
59
 
60
60
  await writer.close(); // flushes all buffered events
61
61
  ```
@@ -65,8 +65,8 @@ await writer.close(); // flushes all buffered events
65
65
  ```python
66
66
  writer = await client.get_writer("my-data-product")
67
67
 
68
- writer.write({"id": "evt-1", "payload": {"key": "value"}})
69
- writer.write({"id": "evt-2", "payload": {"key": "value"}})
68
+ writer.write({"order_id": "ord-1", "status": "placed"})
69
+ writer.write({"order_id": "ord-2", "status": "shipped"})
70
70
 
71
71
  await writer.close() # flushes all buffered events
72
72
  ```
@@ -189,15 +189,14 @@ pnpm exec loxtep attach --instance <instance-id>
189
189
  pnpm exec loxtep generate
190
190
  ```
191
191
 
192
- **SDK-first ingest** (after attach see [SDK-first ingest](./sdk-first-ingest.md)):
192
+ **Create a data product and write from your app** (after attach):
193
193
 
194
194
  ```bash
195
- pnpm exec loxtep domains list
196
- node node_modules/@loxtep/sdk/docs/examples/generate-ingest-bundle.mjs
197
- pnpm exec loxtep workflows deploy --project-id <id> --instance-id <id>
198
- node node_modules/@loxtep/sdk/docs/examples/write-events.mjs
195
+ pnpm exec loxtep ingest provision --name app-events
199
196
  ```
200
197
 
198
+ See [Write to a data product](./sdk-first-ingest.md).
199
+
201
200
  Code-first workflow modules:
202
201
 
203
202
  ```bash