@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.
- package/CHANGELOG.md +105 -0
- package/README.md +178 -82
- package/dist/authoring/compiler.d.ts +5 -0
- package/dist/authoring/compiler.d.ts.map +1 -1
- package/dist/authoring/compiler.js +149 -0
- package/dist/authoring/compiler.js.map +1 -1
- package/dist/authoring/index.d.ts +1 -1
- package/dist/authoring/index.d.ts.map +1 -1
- package/dist/authoring/index.js.map +1 -1
- package/dist/authoring/toolbox.d.ts +7 -7
- package/dist/authoring/toolbox.d.ts.map +1 -1
- package/dist/authoring/toolbox.js +5 -5
- package/dist/authoring/toolbox.js.map +1 -1
- package/dist/authoring/types.d.ts +47 -0
- package/dist/authoring/types.d.ts.map +1 -1
- package/dist/cli/commands/data-contracts-cmd.d.ts +8 -0
- package/dist/cli/commands/data-contracts-cmd.d.ts.map +1 -1
- package/dist/cli/commands/data-contracts-cmd.js +11 -0
- package/dist/cli/commands/data-contracts-cmd.js.map +1 -1
- package/dist/cli/commands/data-products-cmd.d.ts +2 -0
- package/dist/cli/commands/data-products-cmd.d.ts.map +1 -1
- package/dist/cli/commands/data-products-cmd.js +35 -0
- package/dist/cli/commands/data-products-cmd.js.map +1 -1
- package/dist/cli/commands/deploy-cmd.js +1 -1
- package/dist/cli/commands/deploy-cmd.js.map +1 -1
- package/dist/cli/commands/instances-cmd.d.ts +37 -0
- package/dist/cli/commands/instances-cmd.d.ts.map +1 -0
- package/dist/cli/commands/instances-cmd.js +150 -0
- package/dist/cli/commands/instances-cmd.js.map +1 -0
- package/dist/cli/commands/triggers-cmd.d.ts +19 -0
- package/dist/cli/commands/triggers-cmd.d.ts.map +1 -0
- package/dist/cli/commands/{connections-cmd.js → triggers-cmd.js} +12 -12
- package/dist/cli/commands/triggers-cmd.js.map +1 -0
- package/dist/cli/commands/workflows-cmd.d.ts +8 -1
- package/dist/cli/commands/workflows-cmd.d.ts.map +1 -1
- package/dist/cli/commands/workflows-cmd.js +23 -2
- package/dist/cli/commands/workflows-cmd.js.map +1 -1
- package/dist/cli/index.d.ts +5 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +121 -40
- package/dist/cli/index.js.map +1 -1
- package/dist/client/connectors.d.ts +1 -1
- package/dist/client/connectors.d.ts.map +1 -1
- package/dist/client/connectors.js +1 -1
- package/dist/client/connectors.js.map +1 -1
- package/dist/client/data-products-types.d.ts +24 -1
- package/dist/client/data-products-types.d.ts.map +1 -1
- package/dist/client/data-products.d.ts +4 -2
- package/dist/client/data-products.d.ts.map +1 -1
- package/dist/client/data-products.js +17 -1
- package/dist/client/data-products.js.map +1 -1
- package/dist/client/discovery.d.ts +4 -4
- package/dist/client/discovery.d.ts.map +1 -1
- package/dist/client/discovery.js +4 -4
- package/dist/client/discovery.js.map +1 -1
- package/dist/client/index.d.ts +4 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/instances-types.d.ts +92 -0
- package/dist/client/instances-types.d.ts.map +1 -1
- package/dist/client/instances.d.ts +26 -4
- package/dist/client/instances.d.ts.map +1 -1
- package/dist/client/instances.js +94 -3
- package/dist/client/instances.js.map +1 -1
- package/dist/client/loxtep-client.d.ts +32 -21
- package/dist/client/loxtep-client.d.ts.map +1 -1
- package/dist/client/loxtep-client.js +36 -26
- package/dist/client/loxtep-client.js.map +1 -1
- package/dist/client/projects.d.ts +1 -1
- package/dist/client/projects.d.ts.map +1 -1
- package/dist/client/projects.js +1 -1
- package/dist/client/projects.js.map +1 -1
- package/dist/client/promises.d.ts +11 -0
- package/dist/client/promises.d.ts.map +1 -1
- package/dist/client/promises.js +11 -0
- package/dist/client/promises.js.map +1 -1
- package/dist/client/schemas.d.ts +1 -0
- package/dist/client/schemas.d.ts.map +1 -1
- package/dist/client/schemas.js +4 -0
- package/dist/client/schemas.js.map +1 -1
- package/dist/client/{consumptions-types.d.ts → target-types.d.ts} +25 -8
- package/dist/client/target-types.d.ts.map +1 -0
- package/dist/client/target-types.js +10 -0
- package/dist/client/target-types.js.map +1 -0
- package/dist/client/targets.d.ts +21 -0
- package/dist/client/targets.d.ts.map +1 -0
- package/dist/client/targets.js +103 -0
- package/dist/client/targets.js.map +1 -0
- package/dist/client/thesaurus.d.ts +7 -2
- package/dist/client/thesaurus.d.ts.map +1 -1
- package/dist/client/thesaurus.js +16 -4
- package/dist/client/thesaurus.js.map +1 -1
- package/dist/client/{connection-types.d.ts → trigger-types.d.ts} +22 -21
- package/dist/client/trigger-types.d.ts.map +1 -0
- package/dist/client/trigger-types.js +19 -0
- package/dist/client/trigger-types.js.map +1 -0
- package/dist/client/triggers.d.ts +19 -0
- package/dist/client/triggers.d.ts.map +1 -0
- package/dist/client/{connections.js → triggers.js} +12 -11
- package/dist/client/triggers.js.map +1 -0
- package/dist/client/workflows.d.ts +38 -6
- package/dist/client/workflows.d.ts.map +1 -1
- package/dist/client/workflows.js +192 -8
- package/dist/client/workflows.js.map +1 -1
- package/dist/codegen/load-workspace-context.d.ts.map +1 -1
- package/dist/codegen/load-workspace-context.js +6 -4
- package/dist/codegen/load-workspace-context.js.map +1 -1
- package/docs/getting-started.md +7 -12
- package/docs/quick-reference.md +6 -19
- package/docs/sdk-mcp-mapping.md +3 -3
- package/package.json +3 -3
- package/dist/cli/commands/connections-cmd.d.ts +0 -19
- package/dist/cli/commands/connections-cmd.d.ts.map +0 -1
- package/dist/cli/commands/connections-cmd.js.map +0 -1
- package/dist/cli/commands/data-assets-cmd.d.ts +0 -12
- package/dist/cli/commands/data-assets-cmd.d.ts.map +0 -1
- package/dist/cli/commands/data-assets-cmd.js +0 -75
- package/dist/cli/commands/data-assets-cmd.js.map +0 -1
- package/dist/cli/commands/flows-cmd.d.ts +0 -19
- package/dist/cli/commands/flows-cmd.d.ts.map +0 -1
- package/dist/cli/commands/flows-cmd.js +0 -37
- package/dist/cli/commands/flows-cmd.js.map +0 -1
- package/dist/cli/commands/pipelines-cmd.d.ts +0 -17
- package/dist/cli/commands/pipelines-cmd.d.ts.map +0 -1
- package/dist/cli/commands/pipelines-cmd.js +0 -52
- package/dist/cli/commands/pipelines-cmd.js.map +0 -1
- package/dist/cli/commands/promises-cmd.d.ts +0 -11
- package/dist/cli/commands/promises-cmd.d.ts.map +0 -1
- package/dist/cli/commands/promises-cmd.js +0 -53
- package/dist/cli/commands/promises-cmd.js.map +0 -1
- package/dist/client/connection-types.d.ts.map +0 -1
- package/dist/client/connection-types.js +0 -18
- package/dist/client/connection-types.js.map +0 -1
- package/dist/client/connections.d.ts +0 -18
- package/dist/client/connections.d.ts.map +0 -1
- package/dist/client/connections.js.map +0 -1
- package/dist/client/consumptions-types.d.ts.map +0 -1
- package/dist/client/consumptions-types.js +0 -5
- package/dist/client/consumptions-types.js.map +0 -1
- package/dist/client/consumptions.d.ts +0 -14
- package/dist/client/consumptions.d.ts.map +0 -1
- package/dist/client/consumptions.js +0 -47
- package/dist/client/consumptions.js.map +0 -1
- package/dist/client/data-assets-types.d.ts +0 -150
- package/dist/client/data-assets-types.d.ts.map +0 -1
- package/dist/client/data-assets-types.js +0 -5
- package/dist/client/data-assets-types.js.map +0 -1
- package/dist/client/data-assets.d.ts +0 -31
- package/dist/client/data-assets.d.ts.map +0 -1
- package/dist/client/data-assets.js +0 -182
- package/dist/client/data-assets.js.map +0 -1
- package/dist/client/flows.d.ts +0 -33
- package/dist/client/flows.d.ts.map +0 -1
- package/dist/client/flows.js +0 -218
- package/dist/client/flows.js.map +0 -1
package/dist/client/workflows.js
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Workflows API:
|
|
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 { DefinitionValidationError } from '../errors/validation.js';
|
|
13
|
+
import { StreamingError } from '../errors/streaming.js';
|
|
14
|
+
import { createQueueWriter } from '../rstreams/event-bridge.js';
|
|
15
|
+
import { resolveIngestionQueueName } from './flow-queue-resolve.js';
|
|
5
16
|
const WORKFLOWS_BASE = '/workflows/workflows';
|
|
6
17
|
const PROJECTS_BASE = '/workflows/projects';
|
|
7
18
|
function buildQueryString(params) {
|
|
@@ -14,9 +25,104 @@ function buildQueryString(params) {
|
|
|
14
25
|
const qs = search.toString();
|
|
15
26
|
return qs ? `?${qs}` : '';
|
|
16
27
|
}
|
|
17
|
-
|
|
28
|
+
function validateEventAgainstDefinition(event, definition) {
|
|
29
|
+
const errors = [];
|
|
30
|
+
const required = definition.required;
|
|
31
|
+
if (Array.isArray(required) &&
|
|
32
|
+
required.length > 0 &&
|
|
33
|
+
event !== null &&
|
|
34
|
+
typeof event === 'object') {
|
|
35
|
+
const obj = event;
|
|
36
|
+
for (const key of required) {
|
|
37
|
+
if (!(key in obj) || obj[key] === undefined) {
|
|
38
|
+
errors.push({ path: key, message: `Missing required field: ${key}` });
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return errors;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Determine whether an error is transient and should be retried.
|
|
46
|
+
* Transient: network errors, timeouts, throttling (429), 5xx responses.
|
|
47
|
+
* Non-transient: 4xx (except 429), auth failures — fail immediately.
|
|
48
|
+
*/
|
|
49
|
+
export function isTransientError(err) {
|
|
50
|
+
if (err === null || err === undefined)
|
|
51
|
+
return false;
|
|
52
|
+
// Check for status code on the error object (HTTP response errors)
|
|
53
|
+
const statusCode = typeof err.status_code === 'number'
|
|
54
|
+
? err.status_code
|
|
55
|
+
: typeof err.statusCode === 'number'
|
|
56
|
+
? err.statusCode
|
|
57
|
+
: typeof err.status === 'number'
|
|
58
|
+
? err.status
|
|
59
|
+
: undefined;
|
|
60
|
+
if (statusCode !== undefined) {
|
|
61
|
+
// 429 (throttling) is transient
|
|
62
|
+
if (statusCode === 429)
|
|
63
|
+
return true;
|
|
64
|
+
// 5xx responses are transient
|
|
65
|
+
if (statusCode >= 500 && statusCode < 600)
|
|
66
|
+
return true;
|
|
67
|
+
// Other 4xx are non-transient (auth failures, validation errors, etc.)
|
|
68
|
+
if (statusCode >= 400 && statusCode < 500)
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
// Check error code strings
|
|
72
|
+
const code = typeof err.code === 'string'
|
|
73
|
+
? err.code
|
|
74
|
+
: undefined;
|
|
75
|
+
if (code) {
|
|
76
|
+
const transientCodes = new Set([
|
|
77
|
+
'ECONNRESET',
|
|
78
|
+
'ECONNREFUSED',
|
|
79
|
+
'ENOTFOUND',
|
|
80
|
+
'ETIMEDOUT',
|
|
81
|
+
'EPIPE',
|
|
82
|
+
'EAI_AGAIN',
|
|
83
|
+
'RATE_LIMIT_EXCEEDED',
|
|
84
|
+
'RATE_LIMIT_ERROR',
|
|
85
|
+
'SERVICE_UNAVAILABLE',
|
|
86
|
+
'GATEWAY_TIMEOUT',
|
|
87
|
+
'INTERNAL_SERVER_ERROR',
|
|
88
|
+
]);
|
|
89
|
+
if (transientCodes.has(code))
|
|
90
|
+
return true;
|
|
91
|
+
// Auth-related codes are non-transient
|
|
92
|
+
const nonTransientCodes = new Set([
|
|
93
|
+
'AUTHENTICATION_ERROR',
|
|
94
|
+
'AUTHORIZATION_ERROR',
|
|
95
|
+
'VALIDATION_ERROR',
|
|
96
|
+
'NOT_FOUND',
|
|
97
|
+
]);
|
|
98
|
+
if (nonTransientCodes.has(code))
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
// Check error message for network-related keywords
|
|
102
|
+
const message = typeof err.message === 'string'
|
|
103
|
+
? err.message.toLowerCase()
|
|
104
|
+
: '';
|
|
105
|
+
if (message.includes('timeout') ||
|
|
106
|
+
message.includes('econnreset') ||
|
|
107
|
+
message.includes('econnrefused') ||
|
|
108
|
+
message.includes('network') ||
|
|
109
|
+
message.includes('socket hang up')) {
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
// Default: treat unknown errors as transient to allow retry
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Sleep for the given number of milliseconds. Extracted for testability.
|
|
117
|
+
*/
|
|
118
|
+
export function sleep(ms) {
|
|
119
|
+
if (ms <= 0)
|
|
120
|
+
return Promise.resolve();
|
|
121
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
122
|
+
}
|
|
123
|
+
export function createWorkflowsApi(http, deps) {
|
|
18
124
|
const api = {
|
|
19
|
-
async
|
|
125
|
+
async list(filters) {
|
|
20
126
|
const params = {
|
|
21
127
|
project_id: filters.project_id,
|
|
22
128
|
page: filters.page ?? 1,
|
|
@@ -30,20 +136,98 @@ export function createWorkflowsApi(http) {
|
|
|
30
136
|
const res = await http.get(`${WORKFLOWS_BASE}${qs}`);
|
|
31
137
|
return res.data;
|
|
32
138
|
},
|
|
33
|
-
async
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
|
|
139
|
+
async get(id) {
|
|
140
|
+
const flowRes = await http.get(`${WORKFLOWS_BASE}/${encodeURIComponent(id)}`);
|
|
141
|
+
const flow = flowRes.data;
|
|
142
|
+
let nodes = [];
|
|
143
|
+
try {
|
|
144
|
+
const nodesRes = await http.get(`${WORKFLOWS_BASE}/${encodeURIComponent(id)}/nodes`);
|
|
145
|
+
const payload = nodesRes.data ?? nodesRes;
|
|
146
|
+
nodes = payload.items ?? [];
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
// Nodes endpoint may not exist or may 404; workflow still has node_count
|
|
150
|
+
}
|
|
151
|
+
return { ...flow, nodes };
|
|
37
152
|
},
|
|
38
|
-
async
|
|
153
|
+
async create(input) {
|
|
39
154
|
const res = await http.post(WORKFLOWS_BASE, input);
|
|
40
155
|
return res.data;
|
|
41
156
|
},
|
|
157
|
+
async get_graph(workflow_id, project_id) {
|
|
158
|
+
const qs = buildQueryString({ project_id });
|
|
159
|
+
const res = await http.get(`${WORKFLOWS_BASE}/${encodeURIComponent(workflow_id)}/graph${qs}`);
|
|
160
|
+
return res.data;
|
|
161
|
+
},
|
|
42
162
|
async deploy(input) {
|
|
43
163
|
const { project_id, instance_id, version_id, force_redeploy } = input;
|
|
44
164
|
const res = await http.post(`${PROJECTS_BASE}/${encodeURIComponent(project_id)}/deploy`, { instance_id, version_id, force_redeploy: force_redeploy ?? false });
|
|
45
165
|
return res.data;
|
|
46
166
|
},
|
|
167
|
+
async get_writer(workflow_id, options) {
|
|
168
|
+
// Resolve the stream runtime, source bot, and destination queue up front; the rstreams `load`
|
|
169
|
+
// stream (created inside createQueueWriter) owns buffering, batching, backoff, and checkpointing.
|
|
170
|
+
const rsdk = deps?.rsdk ?? (await deps?.get_rsdk?.());
|
|
171
|
+
if (!rsdk) {
|
|
172
|
+
throw new StreamingError('Stream bus configuration missing. Set LEO_* environment variables or add `streams` to ~/.loxtep/config.json. ' +
|
|
173
|
+
'Pass `streams` in LoxtepClientOptions, or ensure your instance stream environment is configured.', {
|
|
174
|
+
details: {
|
|
175
|
+
workflow_id,
|
|
176
|
+
hint: 'Run `loxtep init` to configure stream bus, or set LEO_* env vars from your instance.',
|
|
177
|
+
},
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
const botId = options?.bot_id;
|
|
181
|
+
if (!botId) {
|
|
182
|
+
throw new StreamingError('workflows.get_writer requires bot_id in options (stream writer identity on the bus).', { details: { workflow_id } });
|
|
183
|
+
}
|
|
184
|
+
let queueName = options?.output_queue_name;
|
|
185
|
+
if (!queueName && options?.environment_prefix && options?.project_id) {
|
|
186
|
+
const flowRes = await http.get(`${WORKFLOWS_BASE}/${encodeURIComponent(workflow_id)}`);
|
|
187
|
+
const flowData = flowRes && typeof flowRes === 'object' && 'data' in flowRes
|
|
188
|
+
? flowRes.data
|
|
189
|
+
: flowRes;
|
|
190
|
+
let nodes = [];
|
|
191
|
+
try {
|
|
192
|
+
const nodesRes = await http.get(`${WORKFLOWS_BASE}/${encodeURIComponent(workflow_id)}/nodes`);
|
|
193
|
+
const payload = nodesRes.data ?? nodesRes;
|
|
194
|
+
nodes = payload.items ?? [];
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
/* ignore */
|
|
198
|
+
}
|
|
199
|
+
const flowWithNodes = { ...flowData, nodes };
|
|
200
|
+
queueName = resolveIngestionQueueName(flowWithNodes, options.environment_prefix);
|
|
201
|
+
}
|
|
202
|
+
if (!queueName) {
|
|
203
|
+
throw new StreamingError('workflows.get_writer requires output_queue_name, or environment_prefix + project_id so the SDK can resolve the ingestion queue from the workflow.', { details: { workflow_id } });
|
|
204
|
+
}
|
|
205
|
+
const writer = createQueueWriter(rsdk, botId, queueName, () => new StreamingError('Cannot write to a closed writer. Create a new writer via workflows.get_writer().', { details: { workflow_id } }));
|
|
206
|
+
// Optional per-event definition validation wraps the passthrough writer.
|
|
207
|
+
const validate = options?.validate_definition === true && !!options?.definition;
|
|
208
|
+
if (!validate)
|
|
209
|
+
return writer;
|
|
210
|
+
const onError = options?.on_validation_error ?? 'reject';
|
|
211
|
+
return {
|
|
212
|
+
write(event, writeOptions) {
|
|
213
|
+
if (options?.definition) {
|
|
214
|
+
const errors = validateEventAgainstDefinition(event, options.definition);
|
|
215
|
+
if (errors.length > 0) {
|
|
216
|
+
if (onError === 'reject') {
|
|
217
|
+
throw new DefinitionValidationError('Event failed definition validation', options.definition_version ?? '', errors);
|
|
218
|
+
}
|
|
219
|
+
if (onError === 'warn') {
|
|
220
|
+
console.warn('[workflows writer] Definition validation failed:', errors);
|
|
221
|
+
}
|
|
222
|
+
if (onError === 'skip')
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
writer.write(event, writeOptions);
|
|
227
|
+
},
|
|
228
|
+
close: () => writer.close(),
|
|
229
|
+
};
|
|
230
|
+
},
|
|
47
231
|
};
|
|
48
232
|
return api;
|
|
49
233
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/client/workflows.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/client/workflows.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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"}
|
|
@@ -26,15 +26,17 @@
|
|
|
26
26
|
*/
|
|
27
27
|
export async function loadWorkspaceContext(client, projectId) {
|
|
28
28
|
// Fetch all resource types concurrently for performance.
|
|
29
|
-
// Project-scoped resources (
|
|
29
|
+
// Project-scoped resources (workflows) use projectId directly.
|
|
30
30
|
// Org-scoped resources (data products, connectors, domains) fetch all available.
|
|
31
|
-
const [dataProductsResult, connectorsResult, domainsResult,
|
|
31
|
+
const [dataProductsResult, connectorsResult, domainsResult, workflowsResult,] = await Promise.all([
|
|
32
32
|
client.data_products.list({ page: 1, page_size: 1000 }),
|
|
33
33
|
client.connectors.list({ page: 1, page_size: 1000 }),
|
|
34
34
|
client.domains.list({ page: 1, page_size: 1000 }),
|
|
35
|
-
client.
|
|
36
|
-
client.workflows.listWorkflows({ project_id: projectId, page: 1, page_size: 1000 }),
|
|
35
|
+
client.workflows.list({ project_id: projectId, page: 1, page_size: 1000 }),
|
|
37
36
|
]);
|
|
37
|
+
// `flows` and `workflows` are the same backend entity; the WorkspaceContext
|
|
38
|
+
// keeps both collections for the generated artifact, sourced from one fetch.
|
|
39
|
+
const flowsResult = workflowsResult;
|
|
38
40
|
// Fetch queues from the observe endpoint (instance-level).
|
|
39
41
|
// The observe.status() returns bot/queue info for the configured instance.
|
|
40
42
|
let queuesRaw = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-workspace-context.js","sourceRoot":"","sources":["../../src/codegen/load-workspace-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAoB,EACpB,SAAiB;IAEjB,yDAAyD;IACzD
|
|
1
|
+
{"version":3,"file":"load-workspace-context.js","sourceRoot":"","sources":["../../src/codegen/load-workspace-context.ts"],"names":[],"mappings":"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"}
|
package/docs/getting-started.md
CHANGED
|
@@ -4,6 +4,13 @@ Get from zero to your first event in under 5 minutes. This guide walks you
|
|
|
4
4
|
through installing the Loxtep SDK, authenticating, and writing your first event
|
|
5
5
|
to a data product — all with a single method call.
|
|
6
6
|
|
|
7
|
+
> **Other paths:** This guide covers the **programmatic SDK** path. Loxtep also
|
|
8
|
+
> supports an [Agent-first (MCP)](https://github.com/LoxtepInc/loxtep-plugins-skills)
|
|
9
|
+
> path for conversational operation, a **Code-first CLI** path
|
|
10
|
+
> (`loxtep init → attach → generate → test → deploy`) for workflow authoring,
|
|
11
|
+
> and a **Web UI** for visual management. See the
|
|
12
|
+
> [Loxtep Quickstart](https://docs.loxtep.io/quickstart) for all paths.
|
|
13
|
+
|
|
7
14
|
## Table of Contents
|
|
8
15
|
|
|
9
16
|
- [Prerequisites](#prerequisites)
|
|
@@ -314,16 +321,4 @@ Now that you've written and read your first event, explore these resources:
|
|
|
314
321
|
| [Event Replay Cookbook](./event-replay-cookbook.md) | Patterns for replaying and reprocessing historical events |
|
|
315
322
|
| [MCP → SDK Mapping](./sdk-mcp-mapping.md) | How MCP tools map to SDK methods |
|
|
316
323
|
|
|
317
|
-
### Lower-level API
|
|
318
|
-
|
|
319
|
-
If you need explicit control over bot IDs, queue names, or stream configuration,
|
|
320
|
-
the `flows.get_writer` API is still available as a lower-level escape hatch:
|
|
321
|
-
|
|
322
|
-
```typescript
|
|
323
|
-
const writer = await client.flows.get_writer('<flow_id>', {
|
|
324
|
-
bot_id: 'my-custom-bot',
|
|
325
|
-
output_queue_name: 'specific-queue-name',
|
|
326
|
-
});
|
|
327
|
-
```
|
|
328
|
-
|
|
329
324
|
See the [SDK README](../README.md) for the full API surface.
|
package/docs/quick-reference.md
CHANGED
|
@@ -70,18 +70,6 @@ writer.write({"id": "evt-2", "payload": {"key": "value"}})
|
|
|
70
70
|
await writer.close() # flushes all buffered events
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
### Lower-level escape hatch (explicit control)
|
|
74
|
-
|
|
75
|
-
```typescript
|
|
76
|
-
// Only use when you need manual bot_id/queue control
|
|
77
|
-
const writer = client.flows.get_writer('<flow_id>', {
|
|
78
|
-
bot_id: 'my-bot',
|
|
79
|
-
output_queue_name: 'raw-events',
|
|
80
|
-
});
|
|
81
|
-
writer.write({ id: 'evt-1', payload: { key: 'value' } });
|
|
82
|
-
await writer.close();
|
|
83
|
-
```
|
|
84
|
-
|
|
85
73
|
---
|
|
86
74
|
|
|
87
75
|
## Reading Events
|
|
@@ -108,7 +96,7 @@ for event in reader:
|
|
|
108
96
|
print(event)
|
|
109
97
|
```
|
|
110
98
|
|
|
111
|
-
###
|
|
99
|
+
### Advanced: manual queue reader (`queues` namespace)
|
|
112
100
|
|
|
113
101
|
```typescript
|
|
114
102
|
const reader = await client.queues.open_reader({
|
|
@@ -188,20 +176,20 @@ product = client.data_products.get("<data_product_id>")
|
|
|
188
176
|
|
|
189
177
|
---
|
|
190
178
|
|
|
191
|
-
##
|
|
179
|
+
## Workflows and Connectors
|
|
192
180
|
|
|
193
|
-
### List
|
|
181
|
+
### List Workflows
|
|
194
182
|
|
|
195
183
|
#### Node.js
|
|
196
184
|
|
|
197
185
|
```typescript
|
|
198
|
-
const
|
|
186
|
+
const workflows = await client.workflows.list({ project_id: '<project_id>' });
|
|
199
187
|
```
|
|
200
188
|
|
|
201
189
|
#### Python
|
|
202
190
|
|
|
203
191
|
```python
|
|
204
|
-
|
|
192
|
+
workflows = client.workflows.list(project_id="<project_id>")
|
|
205
193
|
```
|
|
206
194
|
|
|
207
195
|
### Get Connector
|
|
@@ -227,13 +215,12 @@ connector = client.connectors.get("<connector_id>")
|
|
|
227
215
|
| **Init client** | `new LoxtepClient(options)` | `LoxtepClient(**options)` |
|
|
228
216
|
| **Write events** | `await client.data_products.get_writer('name')` → `writer.write(evt)` → `writer.close()` | Same API |
|
|
229
217
|
| **Read events** | `await client.data_products.get_reader('name')` → `for await (const e of reader)` | Same API |
|
|
230
|
-
| **Write (low-level)** | `client.flows.get_writer(flow_id, { bot_id, output_queue_name })` | Same API |
|
|
231
218
|
| **Read (low-level)** | `client.queues.open_reader({ bot_id, queue_name })` → `reader.read()` | Same API |
|
|
232
219
|
| **Stream live** | `client.data_products.stream(id, opts)` | Same API |
|
|
233
220
|
| **Replay history** | `client.data_products.replay(id, opts)` | Same API |
|
|
234
221
|
| **List data products** | `client.data_products.list()` | Same API |
|
|
235
222
|
| **Get data product** | `client.data_products.get(id)` | Same API |
|
|
236
|
-
| **List
|
|
223
|
+
| **List workflows** | `client.workflows.list({ project_id })` | Same API |
|
|
237
224
|
| **Get connector** | `client.connectors.get(id)` | Same API |
|
|
238
225
|
| **Invalidate cache** | `client.data_products.invalidate_cache('name')` | Same API |
|
|
239
226
|
|
package/docs/sdk-mcp-mapping.md
CHANGED
|
@@ -8,10 +8,10 @@ I/O.
|
|
|
8
8
|
| ------------------------ | ----------------------------------------- | ------------------------------------------------------------------------ |
|
|
9
9
|
| Catalog / discovery | `POST /ai/mcp/tools/call` discovery tools | `client.discovery.*`, `client.catalog.search` |
|
|
10
10
|
| Data products | MCP dataproduct tools | `client.data_products` (get, list, create, query, stream, replay, …) |
|
|
11
|
-
|
|
|
12
|
-
|
|
|
11
|
+
| Workflows | MCP / Studio workflows | `client.workflows`, `client.projects` |
|
|
12
|
+
| Triggers / connectors | MCP connectors | `client.triggers`, `client.connectors` |
|
|
13
13
|
| Org / instances | MCP org / instances | `client.instances.list()`, config `instance_id` |
|
|
14
|
-
| Live queue I/O | Not a substitute for the stream runtime | `client.queues`, `
|
|
14
|
+
| Live queue I/O | Not a substitute for the stream runtime | `client.queues`, `data_products.get_writer` |
|
|
15
15
|
|
|
16
16
|
When unsure: **MCP for provisioning and agent tool calls**; **SDK for runtime**
|
|
17
17
|
services running in your infrastructure or CI.
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loxtep/sdk",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Loxtep SDK for Node.js
|
|
3
|
+
"version": "0.5.0",
|
|
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",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "https://github.com/
|
|
9
|
+
"url": "https://github.com/LoxtepInc/loxtep-sdk.git",
|
|
10
10
|
"directory": "nodejs"
|
|
11
11
|
},
|
|
12
12
|
"bugs": {
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI: loxtep connections list | connections get <id> | connections create ... | connections test <id>
|
|
3
|
-
*/
|
|
4
|
-
export interface ConnectionsCmdOptions {
|
|
5
|
-
configFilePath?: string;
|
|
6
|
-
credentialsPath?: string;
|
|
7
|
-
customerMcpPath?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare function runConnectionsList(options?: ConnectionsCmdOptions): Promise<void>;
|
|
10
|
-
export declare function runConnectionsGet(connectionId: string, options?: ConnectionsCmdOptions): Promise<void>;
|
|
11
|
-
export declare function runConnectionsCreate(params: {
|
|
12
|
-
name?: string;
|
|
13
|
-
type?: string;
|
|
14
|
-
key?: string;
|
|
15
|
-
data?: string;
|
|
16
|
-
configuration?: Record<string, unknown>;
|
|
17
|
-
}, options?: ConnectionsCmdOptions): Promise<void>;
|
|
18
|
-
export declare function runConnectionsTest(connectionId: string, options?: ConnectionsCmdOptions): Promise<void>;
|
|
19
|
-
//# sourceMappingURL=connections-cmd.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connections-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/connections-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3F;AAED,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE;IACN,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC,EACD,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAIf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connections-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/connections-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAQ3D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAiC,EAAE;IAC1E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,YAAoB,EACpB,UAAiC,EAAE;IAEnC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAMC,EACD,UAAiC,EAAE;IAEnC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;QAC3C,IAAI;QACJ,IAAI,EAAE,IAA+C;QACrD,GAAG;QACH,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;QACzB,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,YAAoB,EACpB,UAAiC,EAAE;IAEnC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI: loxtep data-assets list | data-assets get <id>
|
|
3
|
-
*/
|
|
4
|
-
export interface DataAssetsCmdOptions {
|
|
5
|
-
configFilePath?: string;
|
|
6
|
-
credentialsPath?: string;
|
|
7
|
-
}
|
|
8
|
-
export declare function runDataAssetsList(options?: DataAssetsCmdOptions): Promise<void>;
|
|
9
|
-
export declare function runDataAssetsGet(dataAssetId: string, options?: DataAssetsCmdOptions): Promise<void>;
|
|
10
|
-
export declare function runDataAssetsQuery(dataAssetId: string, sql: string, options?: DataAssetsCmdOptions): Promise<void>;
|
|
11
|
-
export declare function runDataAssetsTables(dataAssetId: string, options?: DataAssetsCmdOptions): Promise<void>;
|
|
12
|
-
//# sourceMappingURL=data-assets-cmd.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-assets-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/data-assets-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBzF;AAED,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI: loxtep data-assets list | data-assets get <id>
|
|
3
|
-
*/
|
|
4
|
-
import { loadConfig } from '../../config/load.js';
|
|
5
|
-
import { readCredentials } from '../credentials.js';
|
|
6
|
-
import { LoxtepClient } from '../../client/loxtep-client.js';
|
|
7
|
-
export async function runDataAssetsList(options = {}) {
|
|
8
|
-
const config = await loadConfig(options.configFilePath);
|
|
9
|
-
const creds = await readCredentials(options.credentialsPath);
|
|
10
|
-
if (!config.api_url || !creds?.access_token) {
|
|
11
|
-
console.error('Missing api_url or not logged in. Run: loxtep config set api_url <url> ; loxtep login');
|
|
12
|
-
process.exitCode = 1;
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
const client = new LoxtepClient({
|
|
16
|
-
api_url: config.api_url,
|
|
17
|
-
auth: { type: 'jwt', token: creds.access_token ?? '' },
|
|
18
|
-
get_token: async () => creds.access_token ?? null,
|
|
19
|
-
credentials: { accessKeyId: 'cli', secretAccessKey: 'cli' },
|
|
20
|
-
});
|
|
21
|
-
const result = await client.data_assets.list({ page_size: 20 });
|
|
22
|
-
console.log(JSON.stringify(result, null, 2));
|
|
23
|
-
}
|
|
24
|
-
export async function runDataAssetsGet(dataAssetId, options = {}) {
|
|
25
|
-
const config = await loadConfig(options.configFilePath);
|
|
26
|
-
const creds = await readCredentials(options.credentialsPath);
|
|
27
|
-
if (!config.api_url || !creds?.access_token) {
|
|
28
|
-
console.error('Missing api_url or not logged in. Run: loxtep config set api_url <url> ; loxtep login');
|
|
29
|
-
process.exitCode = 1;
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
const client = new LoxtepClient({
|
|
33
|
-
api_url: config.api_url,
|
|
34
|
-
auth: { type: 'jwt', token: creds.access_token ?? '' },
|
|
35
|
-
get_token: async () => creds.access_token ?? null,
|
|
36
|
-
credentials: { accessKeyId: 'cli', secretAccessKey: 'cli' },
|
|
37
|
-
});
|
|
38
|
-
const asset = await client.data_assets.get(dataAssetId);
|
|
39
|
-
console.log(JSON.stringify(asset, null, 2));
|
|
40
|
-
}
|
|
41
|
-
export async function runDataAssetsQuery(dataAssetId, sql, options = {}) {
|
|
42
|
-
const config = await loadConfig(options.configFilePath);
|
|
43
|
-
const creds = await readCredentials(options.credentialsPath);
|
|
44
|
-
if (!config.api_url || !creds?.access_token) {
|
|
45
|
-
console.error('Missing api_url or not logged in. Run: loxtep config set api_url <url> ; loxtep login');
|
|
46
|
-
process.exitCode = 1;
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
const client = new LoxtepClient({
|
|
50
|
-
api_url: config.api_url,
|
|
51
|
-
auth: { type: 'jwt', token: creds.access_token ?? '' },
|
|
52
|
-
get_token: async () => creds.access_token ?? null,
|
|
53
|
-
credentials: { accessKeyId: 'cli', secretAccessKey: 'cli' },
|
|
54
|
-
});
|
|
55
|
-
const result = await client.data_assets.query(dataAssetId, sql);
|
|
56
|
-
console.log(JSON.stringify(result, null, 2));
|
|
57
|
-
}
|
|
58
|
-
export async function runDataAssetsTables(dataAssetId, options = {}) {
|
|
59
|
-
const config = await loadConfig(options.configFilePath);
|
|
60
|
-
const creds = await readCredentials(options.credentialsPath);
|
|
61
|
-
if (!config.api_url || !creds?.access_token) {
|
|
62
|
-
console.error('Missing api_url or not logged in. Run: loxtep config set api_url <url> ; loxtep login');
|
|
63
|
-
process.exitCode = 1;
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
const client = new LoxtepClient({
|
|
67
|
-
api_url: config.api_url,
|
|
68
|
-
auth: { type: 'jwt', token: creds.access_token ?? '' },
|
|
69
|
-
get_token: async () => creds.access_token ?? null,
|
|
70
|
-
credentials: { accessKeyId: 'cli', secretAccessKey: 'cli' },
|
|
71
|
-
});
|
|
72
|
-
const result = await client.data_assets.list_tables(dataAssetId);
|
|
73
|
-
console.log(JSON.stringify(result, null, 2));
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=data-assets-cmd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-assets-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/data-assets-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI: loxtep flows list --project-id <id> | flows get <id> | flows create ...
|
|
3
|
-
*/
|
|
4
|
-
export interface FlowsCmdOptions {
|
|
5
|
-
configFilePath?: string;
|
|
6
|
-
credentialsPath?: string;
|
|
7
|
-
customerMcpPath?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare function runFlowsList(options?: FlowsCmdOptions & {
|
|
10
|
-
project_id?: string;
|
|
11
|
-
}): Promise<void>;
|
|
12
|
-
export declare function runFlowsGet(flowId: string, options?: FlowsCmdOptions): Promise<void>;
|
|
13
|
-
export declare function runFlowsCreate(params: {
|
|
14
|
-
name: string;
|
|
15
|
-
project_id: string;
|
|
16
|
-
template_id?: string;
|
|
17
|
-
description?: string;
|
|
18
|
-
}, options?: FlowsCmdOptions): Promise<void>;
|
|
19
|
-
//# sourceMappingURL=flows-cmd.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flows-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/flows-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,YAAY,CAChC,OAAO,GAAE,eAAe,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9F;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EACxF,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAef"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI: loxtep flows list --project-id <id> | flows get <id> | flows create ...
|
|
3
|
-
*/
|
|
4
|
-
import { requireCliClient } from '../create-cli-client.js';
|
|
5
|
-
export async function runFlowsList(options = {}) {
|
|
6
|
-
const { client, config } = await requireCliClient(options);
|
|
7
|
-
const projectId = options.project_id ?? config.project_id;
|
|
8
|
-
if (!projectId) {
|
|
9
|
-
console.error('Missing project_id. Use: loxtep flows list --project-id <id> or loxtep config set project_id <id>');
|
|
10
|
-
process.exitCode = 1;
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
const result = await client.flows.list({ project_id: projectId, page_size: 50 });
|
|
14
|
-
console.log(JSON.stringify(result, null, 2));
|
|
15
|
-
}
|
|
16
|
-
export async function runFlowsGet(flowId, options = {}) {
|
|
17
|
-
const { client } = await requireCliClient(options);
|
|
18
|
-
const flow = await client.flows.get(flowId);
|
|
19
|
-
console.log(JSON.stringify(flow, null, 2));
|
|
20
|
-
}
|
|
21
|
-
export async function runFlowsCreate(params, options = {}) {
|
|
22
|
-
const { client, config } = await requireCliClient(options);
|
|
23
|
-
const projectId = params.project_id ?? config.project_id;
|
|
24
|
-
if (!projectId) {
|
|
25
|
-
console.error('Missing project_id. Use: loxtep flows create --name "..." --project-id <id>');
|
|
26
|
-
process.exitCode = 1;
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
const flow = await client.flows.create({
|
|
30
|
-
project_id: projectId,
|
|
31
|
-
name: params.name,
|
|
32
|
-
description: params.description,
|
|
33
|
-
template_id: params.template_id,
|
|
34
|
-
});
|
|
35
|
-
console.log(JSON.stringify(flow, null, 2));
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=flows-cmd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flows-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/flows-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAQ3D,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAqD,EAAE;IAEvD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC;IAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,mGAAmG,CACpG,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,UAA2B,EAAE;IAC7E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAwF,EACxF,UAA2B,EAAE;IAE7B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC;IACzD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;QAC7F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACrC,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC"}
|