@loxtep/sdk 0.3.0 → 0.5.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 (156) hide show
  1. package/CHANGELOG.md +105 -0
  2. package/README.md +178 -82
  3. package/dist/authoring/compiler.d.ts +5 -0
  4. package/dist/authoring/compiler.d.ts.map +1 -1
  5. package/dist/authoring/compiler.js +149 -0
  6. package/dist/authoring/compiler.js.map +1 -1
  7. package/dist/authoring/index.d.ts +1 -1
  8. package/dist/authoring/index.d.ts.map +1 -1
  9. package/dist/authoring/index.js.map +1 -1
  10. package/dist/authoring/toolbox.d.ts +7 -7
  11. package/dist/authoring/toolbox.d.ts.map +1 -1
  12. package/dist/authoring/toolbox.js +5 -5
  13. package/dist/authoring/toolbox.js.map +1 -1
  14. package/dist/authoring/types.d.ts +47 -0
  15. package/dist/authoring/types.d.ts.map +1 -1
  16. package/dist/cli/commands/data-contracts-cmd.d.ts +8 -0
  17. package/dist/cli/commands/data-contracts-cmd.d.ts.map +1 -1
  18. package/dist/cli/commands/data-contracts-cmd.js +11 -0
  19. package/dist/cli/commands/data-contracts-cmd.js.map +1 -1
  20. package/dist/cli/commands/data-products-cmd.d.ts +2 -0
  21. package/dist/cli/commands/data-products-cmd.d.ts.map +1 -1
  22. package/dist/cli/commands/data-products-cmd.js +35 -0
  23. package/dist/cli/commands/data-products-cmd.js.map +1 -1
  24. package/dist/cli/commands/deploy-cmd.js +1 -1
  25. package/dist/cli/commands/deploy-cmd.js.map +1 -1
  26. package/dist/cli/commands/instances-cmd.d.ts +37 -0
  27. package/dist/cli/commands/instances-cmd.d.ts.map +1 -0
  28. package/dist/cli/commands/instances-cmd.js +150 -0
  29. package/dist/cli/commands/instances-cmd.js.map +1 -0
  30. package/dist/cli/commands/triggers-cmd.d.ts +19 -0
  31. package/dist/cli/commands/triggers-cmd.d.ts.map +1 -0
  32. package/dist/cli/commands/{connections-cmd.js → triggers-cmd.js} +12 -12
  33. package/dist/cli/commands/triggers-cmd.js.map +1 -0
  34. package/dist/cli/commands/workflows-cmd.d.ts +8 -1
  35. package/dist/cli/commands/workflows-cmd.d.ts.map +1 -1
  36. package/dist/cli/commands/workflows-cmd.js +23 -2
  37. package/dist/cli/commands/workflows-cmd.js.map +1 -1
  38. package/dist/cli/index.d.ts +5 -2
  39. package/dist/cli/index.d.ts.map +1 -1
  40. package/dist/cli/index.js +121 -40
  41. package/dist/cli/index.js.map +1 -1
  42. package/dist/client/connectors.d.ts +1 -1
  43. package/dist/client/connectors.d.ts.map +1 -1
  44. package/dist/client/connectors.js +1 -1
  45. package/dist/client/connectors.js.map +1 -1
  46. package/dist/client/data-products-types.d.ts +24 -1
  47. package/dist/client/data-products-types.d.ts.map +1 -1
  48. package/dist/client/data-products.d.ts +4 -2
  49. package/dist/client/data-products.d.ts.map +1 -1
  50. package/dist/client/data-products.js +17 -1
  51. package/dist/client/data-products.js.map +1 -1
  52. package/dist/client/discovery.d.ts +4 -4
  53. package/dist/client/discovery.d.ts.map +1 -1
  54. package/dist/client/discovery.js +4 -4
  55. package/dist/client/discovery.js.map +1 -1
  56. package/dist/client/index.d.ts +4 -2
  57. package/dist/client/index.d.ts.map +1 -1
  58. package/dist/client/index.js +1 -0
  59. package/dist/client/index.js.map +1 -1
  60. package/dist/client/instances-types.d.ts +92 -0
  61. package/dist/client/instances-types.d.ts.map +1 -1
  62. package/dist/client/instances.d.ts +26 -4
  63. package/dist/client/instances.d.ts.map +1 -1
  64. package/dist/client/instances.js +94 -3
  65. package/dist/client/instances.js.map +1 -1
  66. package/dist/client/loxtep-client.d.ts +32 -21
  67. package/dist/client/loxtep-client.d.ts.map +1 -1
  68. package/dist/client/loxtep-client.js +36 -26
  69. package/dist/client/loxtep-client.js.map +1 -1
  70. package/dist/client/projects.d.ts +1 -1
  71. package/dist/client/projects.d.ts.map +1 -1
  72. package/dist/client/projects.js +1 -1
  73. package/dist/client/projects.js.map +1 -1
  74. package/dist/client/promises.d.ts +11 -0
  75. package/dist/client/promises.d.ts.map +1 -1
  76. package/dist/client/promises.js +11 -0
  77. package/dist/client/promises.js.map +1 -1
  78. package/dist/client/schemas.d.ts +1 -0
  79. package/dist/client/schemas.d.ts.map +1 -1
  80. package/dist/client/schemas.js +4 -0
  81. package/dist/client/schemas.js.map +1 -1
  82. package/dist/client/{consumptions-types.d.ts → target-types.d.ts} +25 -8
  83. package/dist/client/target-types.d.ts.map +1 -0
  84. package/dist/client/target-types.js +10 -0
  85. package/dist/client/target-types.js.map +1 -0
  86. package/dist/client/targets.d.ts +21 -0
  87. package/dist/client/targets.d.ts.map +1 -0
  88. package/dist/client/targets.js +103 -0
  89. package/dist/client/targets.js.map +1 -0
  90. package/dist/client/thesaurus.d.ts +7 -2
  91. package/dist/client/thesaurus.d.ts.map +1 -1
  92. package/dist/client/thesaurus.js +16 -4
  93. package/dist/client/thesaurus.js.map +1 -1
  94. package/dist/client/{connection-types.d.ts → trigger-types.d.ts} +22 -21
  95. package/dist/client/trigger-types.d.ts.map +1 -0
  96. package/dist/client/trigger-types.js +19 -0
  97. package/dist/client/trigger-types.js.map +1 -0
  98. package/dist/client/triggers.d.ts +19 -0
  99. package/dist/client/triggers.d.ts.map +1 -0
  100. package/dist/client/{connections.js → triggers.js} +12 -11
  101. package/dist/client/triggers.js.map +1 -0
  102. package/dist/client/workflows.d.ts +38 -6
  103. package/dist/client/workflows.d.ts.map +1 -1
  104. package/dist/client/workflows.js +192 -8
  105. package/dist/client/workflows.js.map +1 -1
  106. package/dist/codegen/load-workspace-context.d.ts.map +1 -1
  107. package/dist/codegen/load-workspace-context.js +6 -4
  108. package/dist/codegen/load-workspace-context.js.map +1 -1
  109. package/docs/getting-started.md +7 -12
  110. package/docs/quick-reference.md +6 -19
  111. package/docs/sdk-mcp-mapping.md +3 -3
  112. package/package.json +3 -3
  113. package/dist/cli/commands/connections-cmd.d.ts +0 -19
  114. package/dist/cli/commands/connections-cmd.d.ts.map +0 -1
  115. package/dist/cli/commands/connections-cmd.js.map +0 -1
  116. package/dist/cli/commands/data-assets-cmd.d.ts +0 -12
  117. package/dist/cli/commands/data-assets-cmd.d.ts.map +0 -1
  118. package/dist/cli/commands/data-assets-cmd.js +0 -75
  119. package/dist/cli/commands/data-assets-cmd.js.map +0 -1
  120. package/dist/cli/commands/flows-cmd.d.ts +0 -19
  121. package/dist/cli/commands/flows-cmd.d.ts.map +0 -1
  122. package/dist/cli/commands/flows-cmd.js +0 -37
  123. package/dist/cli/commands/flows-cmd.js.map +0 -1
  124. package/dist/cli/commands/pipelines-cmd.d.ts +0 -17
  125. package/dist/cli/commands/pipelines-cmd.d.ts.map +0 -1
  126. package/dist/cli/commands/pipelines-cmd.js +0 -52
  127. package/dist/cli/commands/pipelines-cmd.js.map +0 -1
  128. package/dist/cli/commands/promises-cmd.d.ts +0 -11
  129. package/dist/cli/commands/promises-cmd.d.ts.map +0 -1
  130. package/dist/cli/commands/promises-cmd.js +0 -53
  131. package/dist/cli/commands/promises-cmd.js.map +0 -1
  132. package/dist/client/connection-types.d.ts.map +0 -1
  133. package/dist/client/connection-types.js +0 -18
  134. package/dist/client/connection-types.js.map +0 -1
  135. package/dist/client/connections.d.ts +0 -18
  136. package/dist/client/connections.d.ts.map +0 -1
  137. package/dist/client/connections.js.map +0 -1
  138. package/dist/client/consumptions-types.d.ts.map +0 -1
  139. package/dist/client/consumptions-types.js +0 -5
  140. package/dist/client/consumptions-types.js.map +0 -1
  141. package/dist/client/consumptions.d.ts +0 -14
  142. package/dist/client/consumptions.d.ts.map +0 -1
  143. package/dist/client/consumptions.js +0 -47
  144. package/dist/client/consumptions.js.map +0 -1
  145. package/dist/client/data-assets-types.d.ts +0 -150
  146. package/dist/client/data-assets-types.d.ts.map +0 -1
  147. package/dist/client/data-assets-types.js +0 -5
  148. package/dist/client/data-assets-types.js.map +0 -1
  149. package/dist/client/data-assets.d.ts +0 -31
  150. package/dist/client/data-assets.d.ts.map +0 -1
  151. package/dist/client/data-assets.js +0 -182
  152. package/dist/client/data-assets.js.map +0 -1
  153. package/dist/client/flows.d.ts +0 -33
  154. package/dist/client/flows.d.ts.map +0 -1
  155. package/dist/client/flows.js +0 -218
  156. package/dist/client/flows.js.map +0 -1
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Targets API — the namespace for managing delivery targets on data products.
3
+ *
4
+ * A target defines how a data product makes its data available to an external
5
+ * system (webhooks, API endpoints, exports, database syncs, BI connections,
6
+ * event streams).
7
+ *
8
+ * ("consumptions"/"delivery" are the backend terms; the SDK surface names these
9
+ * `targets`.) Calls `/dataproducts/:data_product_id/consumptions`.
10
+ */
11
+ function buildQueryString(params) {
12
+ const search = new URLSearchParams();
13
+ for (const [k, v] of Object.entries(params)) {
14
+ if (v === undefined || v === null)
15
+ continue;
16
+ search.set(k, String(v));
17
+ }
18
+ const qs = search.toString();
19
+ return qs ? `?${qs}` : '';
20
+ }
21
+ /**
22
+ * Map a raw API response (Consumption shape) to a Target by adding the
23
+ * `targetType` discriminator. Infers the type from `delivery_method` when the
24
+ * field isn't already present.
25
+ */
26
+ function toTarget(raw) {
27
+ const result = raw;
28
+ if (!result.targetType) {
29
+ // Infer targetType from delivery_method if not explicitly set
30
+ const method = raw['delivery_method'] ?? 'webhook';
31
+ result.targetType = inferTargetType(method);
32
+ }
33
+ return result;
34
+ }
35
+ function inferTargetType(deliveryMethod) {
36
+ switch (deliveryMethod) {
37
+ case 'webhook':
38
+ case 'http':
39
+ return 'webhook';
40
+ case 'api_endpoint':
41
+ case 'api':
42
+ return 'api_endpoint';
43
+ case 'export':
44
+ case 'bulk':
45
+ return 'export';
46
+ case 'database_sync':
47
+ case 'warehouse':
48
+ return 'database_sync';
49
+ case 'bi_connect':
50
+ case 'bi':
51
+ return 'bi_connect';
52
+ case 'event_stream':
53
+ case 'stream':
54
+ return 'event_stream';
55
+ default:
56
+ return 'webhook';
57
+ }
58
+ }
59
+ export function createTargetsApi(http) {
60
+ const base = (data_product_id) => `/dataproducts/${encodeURIComponent(data_product_id)}/consumptions`;
61
+ return {
62
+ async list(data_product_id, params) {
63
+ const qs = params
64
+ ? buildQueryString({
65
+ page: params.page ?? 1,
66
+ page_size: params.page_size ?? 20,
67
+ status: params.status,
68
+ is_active: params.is_active,
69
+ })
70
+ : '';
71
+ const res = await http.get(`${base(data_product_id)}${qs}`);
72
+ return {
73
+ items: res.data.items.map(toTarget),
74
+ pagination: res.data.pagination,
75
+ };
76
+ },
77
+ async get(data_product_id, target_id) {
78
+ const res = await http.get(`${base(data_product_id)}/${encodeURIComponent(target_id)}`);
79
+ return toTarget(res.data);
80
+ },
81
+ async create(data_product_id, body) {
82
+ // Map targetType to delivery_method for the API if provided
83
+ const apiBody = { ...body };
84
+ if (body.targetType && !body.delivery_method) {
85
+ apiBody['delivery_method'] = body.targetType;
86
+ }
87
+ const res = await http.post(base(data_product_id), apiBody);
88
+ return toTarget(res.data);
89
+ },
90
+ async update(data_product_id, target_id, body) {
91
+ const apiBody = { ...body };
92
+ if (body.targetType && !body.delivery_method) {
93
+ apiBody['delivery_method'] = body.targetType;
94
+ }
95
+ const res = await http.put(`${base(data_product_id)}/${encodeURIComponent(target_id)}`, apiBody);
96
+ return toTarget(res.data);
97
+ },
98
+ async delete(data_product_id, target_id) {
99
+ await http.delete(`${base(data_product_id)}/${encodeURIComponent(target_id)}`);
100
+ },
101
+ };
102
+ }
103
+ //# sourceMappingURL=targets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"targets.js","sourceRoot":"","sources":["../../src/client/targets.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,12 @@
5
5
  import type { LoxtepHttpClient } from '../http/client.js';
6
6
  import type { ThesaurusTerm } from './thesaurus-types.js';
7
7
  export declare function createThesaurusApi(http: LoxtepHttpClient, organization_id?: string): {
8
- listTerms: (orgId?: string) => Promise<ThesaurusTerm[]>;
9
- resolveCanonicalKey: (key_or_alias: string, orgId?: string) => Promise<string | null>;
8
+ list_terms: (orgId?: string) => Promise<ThesaurusTerm[]>;
9
+ resolve_canonical_key: (key_or_alias: string, orgId?: string) => Promise<string | null>;
10
+ append_synonym: (canonical_key: string, alias_path: string, options?: {
11
+ system?: string;
12
+ precedence?: number;
13
+ orgId?: string;
14
+ }) => Promise<ThesaurusTerm>;
10
15
  };
11
16
  //# sourceMappingURL=thesaurus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"thesaurus.d.ts","sourceRoot":"","sources":["../../src/client/thesaurus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AAYjF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,gBAAgB,EACtB,eAAe,CAAC,EAAE,MAAM,GACvB;IACD,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACxD,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACvF,CAuBA"}
1
+ {"version":3,"file":"thesaurus.d.ts","sourceRoot":"","sources":["../../src/client/thesaurus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AAYjF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,gBAAgB,EACtB,eAAe,CAAC,EAAE,MAAM,GACvB;IACD,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACzD,qBAAqB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxF,cAAc,EAAE,CACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAC/D,OAAO,CAAC,aAAa,CAAC,CAAC;CAC7B,CA0CA"}
@@ -9,16 +9,16 @@ async function fetchTerms(http, organization_id) {
9
9
  export function createThesaurusApi(http, organization_id) {
10
10
  const resolveOrg = (orgId) => orgId ?? organization_id;
11
11
  return {
12
- async listTerms(orgId) {
12
+ async list_terms(orgId) {
13
13
  const org = resolveOrg(orgId);
14
14
  if (!org)
15
- throw new Error('organization_id required (pass to listTerms or set on client)');
15
+ throw new Error('organization_id required (pass to list_terms or set on client)');
16
16
  return fetchTerms(http, org);
17
17
  },
18
- async resolveCanonicalKey(key_or_alias, orgId) {
18
+ async resolve_canonical_key(key_or_alias, orgId) {
19
19
  const org = resolveOrg(orgId);
20
20
  if (!org)
21
- throw new Error('organization_id required (pass to resolveCanonicalKey or set on client)');
21
+ throw new Error('organization_id required (pass to resolve_canonical_key or set on client)');
22
22
  const terms = await fetchTerms(http, org);
23
23
  const k = key_or_alias.toLowerCase();
24
24
  for (const term of terms) {
@@ -30,6 +30,18 @@ export function createThesaurusApi(http, organization_id) {
30
30
  }
31
31
  return null;
32
32
  },
33
+ async append_synonym(canonical_key, alias_path, options) {
34
+ const org = resolveOrg(options?.orgId);
35
+ if (!org)
36
+ throw new Error('organization_id required (pass options.orgId or set on client)');
37
+ const res = await http.post(`/graph/organizations/${encodeURIComponent(org)}/thesaurus/synonyms`, {
38
+ canonical_key,
39
+ alias_path,
40
+ system: options?.system,
41
+ precedence: options?.precedence ?? 100,
42
+ });
43
+ return res.data;
44
+ },
33
45
  };
34
46
  }
35
47
  //# sourceMappingURL=thesaurus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thesaurus.js","sourceRoot":"","sources":["../../src/client/thesaurus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,KAAK,UAAU,UAAU,CACvB,IAAsB,EACtB,eAAuB;IAEvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CACxB,wBAAwB,kBAAkB,CAAC,eAAe,CAAC,YAAY,CACxE,CAAC;IACF,OAAO,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAsB,EACtB,eAAwB;IAKxB,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,IAAI,eAAe,CAAC;IAChE,OAAO;QACL,KAAK,CAAC,SAAS,CAAC,KAAc;YAC5B,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;YAC3F,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,CAAC,mBAAmB,CAAC,YAAoB,EAAE,KAAc;YAC5D,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG;gBACN,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;YAC7F,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1C,MAAM,CAAC,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;YACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC,aAAa,CAAC;gBACtE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC1E,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC,aAAa,CAAC;YACnD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"thesaurus.js","sourceRoot":"","sources":["../../src/client/thesaurus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,KAAK,UAAU,UAAU,CACvB,IAAsB,EACtB,eAAuB;IAEvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CACxB,wBAAwB,kBAAkB,CAAC,eAAe,CAAC,YAAY,CACxE,CAAC;IACF,OAAO,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAsB,EACtB,eAAwB;IAUxB,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,IAAI,eAAe,CAAC;IAChE,OAAO;QACL,KAAK,CAAC,UAAU,CAAC,KAAc;YAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;YAC5F,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,CAAC,qBAAqB,CAAC,YAAoB,EAAE,KAAc;YAC9D,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG;gBACN,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAC/F,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1C,MAAM,CAAC,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;YACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC,aAAa,CAAC;gBACtE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC1E,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC,aAAa,CAAC;YACnD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,cAAc,CAClB,aAAqB,EACrB,UAAkB,EAClB,OAAkE;YAElE,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;YAC5F,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CACzB,wBAAwB,kBAAkB,CAAC,GAAG,CAAC,qBAAqB,EACpE;gBACE,aAAa;gBACb,UAAU;gBACV,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,GAAG;aACvC,CACF,CAAC;YACF,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,9 +1,10 @@
1
1
  /**
2
- * Connection API types. snake_case per backend conventions.
2
+ * Trigger API types (ingest-side source bindings). snake_case per backend conventions.
3
3
  * Backend: workflows microservice GET/POST /workflows/connections, etc.
4
+ * ("connections" is the backend term; the SDK surface names these `triggers`.)
4
5
  */
5
6
  /** Pagination metadata from list APIs. */
6
- export interface ConnectionPaginationMeta {
7
+ export interface TriggerPaginationMeta {
7
8
  page: number;
8
9
  page_size: number;
9
10
  total: number;
@@ -11,21 +12,21 @@ export interface ConnectionPaginationMeta {
11
12
  has_next: boolean;
12
13
  has_prev: boolean;
13
14
  }
14
- /** Connection type enum (backend ConnectionTypes). */
15
- export declare const CONNECTION_TYPES: {
15
+ /** Trigger type enum (backend ConnectionTypes). */
16
+ export declare const TRIGGER_TYPES: {
16
17
  readonly DATABASE: "database";
17
18
  readonly API: "api";
18
19
  readonly WEBHOOK: "webhook";
19
20
  readonly FILE: "file";
20
21
  };
21
- /** Connection status enum (backend ConnectionStatuses). */
22
- export declare const CONNECTION_STATUSES: {
22
+ /** Trigger status enum (backend ConnectionStatuses). */
23
+ export declare const TRIGGER_STATUSES: {
23
24
  readonly ACTIVE: "active";
24
25
  readonly INACTIVE: "inactive";
25
26
  readonly ERROR: "error";
26
27
  };
27
- /** Single connection. */
28
- export interface Connection {
28
+ /** Single trigger (ingest source binding). */
29
+ export interface Trigger {
29
30
  connection_id: string;
30
31
  organization_id?: string | null;
31
32
  key: string;
@@ -45,8 +46,8 @@ export interface Connection {
45
46
  deleted_at?: string | null;
46
47
  [key: string]: unknown;
47
48
  }
48
- /** Input for connections.create(). */
49
- export interface ConnectionCreateInput {
49
+ /** Input for triggers.create(). */
50
+ export interface TriggerCreateInput {
50
51
  key: string;
51
52
  name: string;
52
53
  type: string;
@@ -57,8 +58,8 @@ export interface ConnectionCreateInput {
57
58
  verified?: boolean;
58
59
  draft?: boolean;
59
60
  }
60
- /** Input for connections.update(). */
61
- export interface ConnectionUpdateInput {
61
+ /** Input for triggers.update(). */
62
+ export interface TriggerUpdateInput {
62
63
  key?: string;
63
64
  name?: string;
64
65
  type?: string;
@@ -69,8 +70,8 @@ export interface ConnectionUpdateInput {
69
70
  verified?: boolean;
70
71
  draft?: boolean;
71
72
  }
72
- /** Filters for connections.list(). */
73
- export interface ConnectionsListFilters {
73
+ /** Filters for triggers.list(). */
74
+ export interface TriggersListFilters {
74
75
  page?: number;
75
76
  page_size?: number;
76
77
  search?: string;
@@ -79,20 +80,20 @@ export interface ConnectionsListFilters {
79
80
  verified?: boolean;
80
81
  draft?: boolean;
81
82
  }
82
- /** Response from connections.list() — API returns { success, data: { items, pagination } }. */
83
- export interface ConnectionsListResponse {
83
+ /** Response from triggers.list() — API returns { success, data: { items, pagination } }. */
84
+ export interface TriggersListResponse {
84
85
  success: true;
85
86
  data: {
86
- items: Connection[];
87
- pagination: ConnectionPaginationMeta;
87
+ items: Trigger[];
88
+ pagination: TriggerPaginationMeta;
88
89
  };
89
90
  }
90
- /** Result from connections.test(). */
91
- export interface ConnectionTestResult {
91
+ /** Result from triggers.test(). */
92
+ export interface TriggerTestResult {
92
93
  success: boolean;
93
94
  message: string;
94
95
  details?: Record<string, unknown>;
95
96
  tested_at?: string;
96
97
  [key: string]: unknown;
97
98
  }
98
- //# sourceMappingURL=connection-types.d.ts.map
99
+ //# sourceMappingURL=trigger-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-types.d.ts","sourceRoot":"","sources":["../../src/client/trigger-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Trigger API types (ingest-side source bindings). snake_case per backend conventions.
3
+ * Backend: workflows microservice GET/POST /workflows/connections, etc.
4
+ * ("connections" is the backend term; the SDK surface names these `triggers`.)
5
+ */
6
+ /** Trigger type enum (backend ConnectionTypes). */
7
+ export const TRIGGER_TYPES = {
8
+ DATABASE: 'database',
9
+ API: 'api',
10
+ WEBHOOK: 'webhook',
11
+ FILE: 'file',
12
+ };
13
+ /** Trigger status enum (backend ConnectionStatuses). */
14
+ export const TRIGGER_STATUSES = {
15
+ ACTIVE: 'active',
16
+ INACTIVE: 'inactive',
17
+ ERROR: 'error',
18
+ };
19
+ //# sourceMappingURL=trigger-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-types.js","sourceRoot":"","sources":["../../src/client/trigger-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,mDAAmD;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;CACJ,CAAC;AAEX,wDAAwD;AACxD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;CACN,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Triggers API — ingest-side source bindings. create, update, test, list, get.
3
+ * Backend: workflows microservice /workflows/connections.
4
+ * ("connections" is the backend term; the SDK surface names these `triggers`.)
5
+ */
6
+ import type { LoxtepHttpClient } from '../http/client.js';
7
+ import type { Trigger, TriggerCreateInput, TriggerUpdateInput, TriggersListFilters, TriggersListResponse, TriggerTestResult } from './trigger-types.js';
8
+ /**
9
+ * Create the triggers API surface (get, list, create, update, delete, test).
10
+ */
11
+ export declare function createTriggersApi(http: LoxtepHttpClient): {
12
+ get: (id: string) => Promise<Trigger>;
13
+ list: (filters?: TriggersListFilters) => Promise<TriggersListResponse['data']>;
14
+ create: (config: TriggerCreateInput) => Promise<Trigger>;
15
+ update: (id: string, config: TriggerUpdateInput) => Promise<Trigger>;
16
+ delete: (id: string) => Promise<void>;
17
+ test: (id: string) => Promise<TriggerTestResult>;
18
+ };
19
+ //# sourceMappingURL=triggers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../src/client/triggers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAoB5B;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG;IACzD,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/E,MAAM,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAClD,CAkDA"}
@@ -1,8 +1,9 @@
1
1
  /**
2
- * Connections API. create, update, test, list, get.
2
+ * Triggers API — ingest-side source bindings. create, update, test, list, get.
3
3
  * Backend: workflows microservice /workflows/connections.
4
+ * ("connections" is the backend term; the SDK surface names these `triggers`.)
4
5
  */
5
- const CONNECTIONS_BASE = '/workflows/connections';
6
+ const TRIGGERS_BASE = '/workflows/connections';
6
7
  function buildQueryString(params) {
7
8
  const search = new URLSearchParams();
8
9
  for (const [k, v] of Object.entries(params)) {
@@ -19,12 +20,12 @@ function buildQueryString(params) {
19
20
  return qs ? `?${qs}` : '';
20
21
  }
21
22
  /**
22
- * Create the connections API surface (get, list, create, update, test).
23
+ * Create the triggers API surface (get, list, create, update, delete, test).
23
24
  */
24
- export function createConnectionsApi(http) {
25
+ export function createTriggersApi(http) {
25
26
  return {
26
27
  async get(id) {
27
- const res = await http.get(`${CONNECTIONS_BASE}/${encodeURIComponent(id)}`);
28
+ const res = await http.get(`${TRIGGERS_BASE}/${encodeURIComponent(id)}`);
28
29
  return res.data;
29
30
  },
30
31
  async list(filters) {
@@ -43,24 +44,24 @@ export function createConnectionsApi(http) {
43
44
  if (filters?.draft !== undefined)
44
45
  params.draft = filters.draft;
45
46
  const qs = buildQueryString(params);
46
- const res = await http.get(`${CONNECTIONS_BASE}${qs}`);
47
+ const res = await http.get(`${TRIGGERS_BASE}${qs}`);
47
48
  return res.data;
48
49
  },
49
50
  async create(config) {
50
- const res = await http.post(CONNECTIONS_BASE, config);
51
+ const res = await http.post(TRIGGERS_BASE, config);
51
52
  return res.data;
52
53
  },
53
54
  async update(id, config) {
54
- const res = await http.put(`${CONNECTIONS_BASE}/${encodeURIComponent(id)}`, config);
55
+ const res = await http.put(`${TRIGGERS_BASE}/${encodeURIComponent(id)}`, config);
55
56
  return res.data;
56
57
  },
57
58
  async delete(id) {
58
- await http.delete(`${CONNECTIONS_BASE}/${encodeURIComponent(id)}`);
59
+ await http.delete(`${TRIGGERS_BASE}/${encodeURIComponent(id)}`);
59
60
  },
60
61
  async test(id) {
61
- const res = await http.post(`${CONNECTIONS_BASE}/${encodeURIComponent(id)}/test`, {});
62
+ const res = await http.post(`${TRIGGERS_BASE}/${encodeURIComponent(id)}/test`, {});
62
63
  return res.data;
63
64
  },
64
65
  };
65
66
  }
66
- //# sourceMappingURL=connections.js.map
67
+ //# sourceMappingURL=triggers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../src/client/triggers.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,47 @@
1
1
  /**
2
- * Workflows API: listWorkflows, getWorkflowGraph, createWorkflow, deploy.
2
+ * Workflows API: list, get (with nodes), create, get_graph, deploy, get_writer.
3
3
  * Backend: workflows microservice (/workflows/workflows, graph, projects/:id/deploy).
4
+ *
5
+ * A workflow is a DAG of nodes (ingestion → transformation → export). This
6
+ * namespace is the single surface for the workflow entity and its lifecycle;
7
+ * the former `flows` namespace has been folded in here.
8
+ *
9
+ * `get_writer` is a low-level stream-writer escape hatch — see `@internal` note.
10
+ * Live event writes use the Loxtep stream data plane, not HTTP POST.
4
11
  */
12
+ import type { RStreamsSdk } from '../rstreams/leo-runtime.js';
5
13
  import type { LoxtepHttpClient } from '../http/client.js';
6
14
  import type { WorkflowsListFilters, WorkflowsListResponse, GetWorkflowGraphResponse, DeployInput, DeployResponse, CreateWorkflowInput } from './workflows-types.js';
7
- import type { Flow } from './flow-types.js';
15
+ import type { Flow, FlowWithNodes, FlowWriter, GetWriterOptions } from './flow-types.js';
16
+ export interface WorkflowsApiDeps {
17
+ /** Stream runtime; required for get_writer().close() */
18
+ rsdk?: RStreamsSdk;
19
+ /** Lazy stream runtime resolver (attempts observe.stream_config() when rsdk is not set). */
20
+ get_rsdk?: () => Promise<RStreamsSdk | undefined>;
21
+ }
22
+ /**
23
+ * Determine whether an error is transient and should be retried.
24
+ * Transient: network errors, timeouts, throttling (429), 5xx responses.
25
+ * Non-transient: 4xx (except 429), auth failures — fail immediately.
26
+ */
27
+ export declare function isTransientError(err: unknown): boolean;
28
+ /**
29
+ * Sleep for the given number of milliseconds. Extracted for testability.
30
+ */
31
+ export declare function sleep(ms: number): Promise<void>;
8
32
  export type WorkflowsApi = {
9
- listWorkflows: (filters: WorkflowsListFilters) => Promise<WorkflowsListResponse['data']>;
10
- getWorkflowGraph: (workflow_id: string, project_id: string) => Promise<GetWorkflowGraphResponse['data']>;
11
- createWorkflow: (input: CreateWorkflowInput) => Promise<Flow>;
33
+ list: (filters: WorkflowsListFilters) => Promise<WorkflowsListResponse['data']>;
34
+ get: (id: string) => Promise<FlowWithNodes>;
35
+ create: (input: CreateWorkflowInput) => Promise<Flow>;
36
+ get_graph: (workflow_id: string, project_id: string) => Promise<GetWorkflowGraphResponse['data']>;
12
37
  deploy: (input: DeployInput) => Promise<DeployResponse['data']>;
38
+ /**
39
+ * @internal
40
+ * Low-level stream-writer escape hatch. Requires explicit `bot_id` and an
41
+ * output queue (or `environment_prefix` + `project_id` to resolve it).
42
+ * Undocumented for customers — use `data_products.get_writer(name)` instead.
43
+ */
44
+ get_writer: (workflow_id: string, options?: GetWriterOptions) => Promise<FlowWriter>;
13
45
  };
14
- export declare function createWorkflowsApi(http: LoxtepHttpClient): WorkflowsApi;
46
+ export declare function createWorkflowsApi(http: LoxtepHttpClient, deps?: WorkflowsApiDeps): WorkflowsApi;
15
47
  //# sourceMappingURL=workflows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/client/workflows.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,WAAW,EACX,cAAc,EACd,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAe5C,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IACzF,gBAAgB,EAAE,CAChB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,cAAc,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;CACjE,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAyCvE"}
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/client/workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,WAAW,EACX,cAAc,EACd,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,IAAI,EACJ,aAAa,EAEb,UAAU,EACV,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAWzB,MAAM,WAAW,gBAAgB;IAC/B,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,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,SAAS,EAAE,CACT,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE;;;;;OAKG;IACH,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CACtF,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,gBAAgB,EACtB,IAAI,CAAC,EAAE,gBAAgB,GACtB,YAAY,CAwJd"}