@loxtep/sdk 0.7.22 → 0.7.26
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 +64 -0
- package/README.md +6 -1
- package/dist/authoring/toolbox.d.ts.map +1 -1
- package/dist/authoring/toolbox.js +15 -3
- package/dist/authoring/toolbox.js.map +1 -1
- package/dist/cli/commands/connectors-cmd.d.ts +23 -0
- package/dist/cli/commands/connectors-cmd.d.ts.map +1 -0
- package/dist/cli/commands/connectors-cmd.js +32 -0
- package/dist/cli/commands/connectors-cmd.js.map +1 -0
- package/dist/cli/commands/delivery-cmd.d.ts +23 -0
- package/dist/cli/commands/delivery-cmd.d.ts.map +1 -0
- package/dist/cli/commands/delivery-cmd.js +151 -0
- package/dist/cli/commands/delivery-cmd.js.map +1 -0
- package/dist/cli/commands/deploy-cmd.d.ts +5 -1
- package/dist/cli/commands/deploy-cmd.d.ts.map +1 -1
- package/dist/cli/commands/deploy-cmd.js +39 -4
- package/dist/cli/commands/deploy-cmd.js.map +1 -1
- package/dist/cli/commands/ingest-cmd.d.ts +13 -3
- package/dist/cli/commands/ingest-cmd.d.ts.map +1 -1
- package/dist/cli/commands/ingest-cmd.js +136 -31
- package/dist/cli/commands/ingest-cmd.js.map +1 -1
- package/dist/cli/commands/lint-cmd.d.ts +17 -0
- package/dist/cli/commands/lint-cmd.d.ts.map +1 -0
- package/dist/cli/commands/lint-cmd.js +61 -0
- package/dist/cli/commands/lint-cmd.js.map +1 -0
- package/dist/cli/commands/login.d.ts.map +1 -1
- package/dist/cli/commands/login.js +1 -0
- package/dist/cli/commands/login.js.map +1 -1
- package/dist/cli/commands/push-cmd.d.ts +21 -0
- package/dist/cli/commands/push-cmd.d.ts.map +1 -0
- package/dist/cli/commands/push-cmd.js +108 -0
- package/dist/cli/commands/push-cmd.js.map +1 -0
- package/dist/cli/commands/transform-cmd.d.ts +22 -0
- package/dist/cli/commands/transform-cmd.d.ts.map +1 -0
- package/dist/cli/commands/transform-cmd.js +148 -0
- package/dist/cli/commands/transform-cmd.js.map +1 -0
- package/dist/cli/commands/triggers-cmd.d.ts +4 -0
- package/dist/cli/commands/triggers-cmd.d.ts.map +1 -1
- package/dist/cli/commands/triggers-cmd.js +41 -9
- package/dist/cli/commands/triggers-cmd.js.map +1 -1
- package/dist/cli/commands/workflows-cmd.d.ts +2 -0
- package/dist/cli/commands/workflows-cmd.d.ts.map +1 -1
- package/dist/cli/commands/workflows-cmd.js +13 -0
- package/dist/cli/commands/workflows-cmd.js.map +1 -1
- package/dist/cli/credentials.d.ts.map +1 -1
- package/dist/cli/credentials.js +7 -2
- package/dist/cli/credentials.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +26 -6
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.js +131 -19
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/update-notifier.d.ts +45 -0
- package/dist/cli/update-notifier.d.ts.map +1 -0
- package/dist/cli/update-notifier.js +154 -0
- package/dist/cli/update-notifier.js.map +1 -0
- package/dist/client/connectors.d.ts.map +1 -1
- package/dist/client/connectors.js +7 -1
- package/dist/client/connectors.js.map +1 -1
- package/dist/client/data-products-types.d.ts +2 -2
- package/dist/client/data-products-types.d.ts.map +1 -1
- package/dist/client/data-products.d.ts.map +1 -1
- package/dist/client/data-products.js +30 -11
- package/dist/client/data-products.js.map +1 -1
- package/dist/client/flow-types.d.ts +4 -0
- package/dist/client/flow-types.d.ts.map +1 -1
- package/dist/client/projects.d.ts +2 -0
- package/dist/client/projects.d.ts.map +1 -1
- package/dist/client/projects.js +4 -0
- package/dist/client/projects.js.map +1 -1
- package/dist/client/queues.d.ts.map +1 -1
- package/dist/client/queues.js +26 -3
- package/dist/client/queues.js.map +1 -1
- package/dist/client/target-types.d.ts +82 -79
- package/dist/client/target-types.d.ts.map +1 -1
- package/dist/client/target-types.js +2 -6
- package/dist/client/target-types.js.map +1 -1
- package/dist/client/targets.d.ts +27 -12
- package/dist/client/targets.d.ts.map +1 -1
- package/dist/client/targets.js +130 -84
- package/dist/client/targets.js.map +1 -1
- package/dist/client/trigger-types.d.ts +12 -1
- package/dist/client/trigger-types.d.ts.map +1 -1
- package/dist/client/trigger-types.js +1 -1
- package/dist/client/triggers.d.ts +20 -6
- package/dist/client/triggers.d.ts.map +1 -1
- package/dist/client/triggers.js +128 -45
- package/dist/client/triggers.js.map +1 -1
- package/dist/config/platform-request-url.d.ts +1 -5
- package/dist/config/platform-request-url.d.ts.map +1 -1
- package/dist/config/platform-request-url.js +22 -13
- package/dist/config/platform-request-url.js.map +1 -1
- package/dist/config/resolve-sdk-urls.d.ts.map +1 -1
- package/dist/config/resolve-sdk-urls.js +6 -4
- package/dist/config/resolve-sdk-urls.js.map +1 -1
- package/dist/errors/parse-http.d.ts.map +1 -1
- package/dist/errors/parse-http.js +50 -12
- package/dist/errors/parse-http.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/entity-json-schemas/ajv-loader.cjs +17 -0
- package/dist/lib/entity-json-schemas/index.d.ts +5 -0
- package/dist/lib/entity-json-schemas/index.d.ts.map +1 -0
- package/dist/lib/entity-json-schemas/index.js +3 -0
- package/dist/lib/entity-json-schemas/index.js.map +1 -0
- package/dist/lib/entity-json-schemas/types.d.ts +21 -0
- package/dist/lib/entity-json-schemas/types.d.ts.map +1 -0
- package/dist/lib/entity-json-schemas/types.js +32 -0
- package/dist/lib/entity-json-schemas/types.js.map +1 -0
- package/dist/lib/entity-json-schemas/validate-entity.d.ts +39 -0
- package/dist/lib/entity-json-schemas/validate-entity.d.ts.map +1 -0
- package/dist/lib/entity-json-schemas/validate-entity.js +143 -0
- package/dist/lib/entity-json-schemas/validate-entity.js.map +1 -0
- package/dist/lib/sdk-ingest-bundle.d.ts +62 -4
- package/dist/lib/sdk-ingest-bundle.d.ts.map +1 -1
- package/dist/lib/sdk-ingest-bundle.js +147 -51
- package/dist/lib/sdk-ingest-bundle.js.map +1 -1
- package/dist/lib/workspace-lint.d.ts +28 -0
- package/dist/lib/workspace-lint.d.ts.map +1 -0
- package/dist/lib/workspace-lint.js +199 -0
- package/dist/lib/workspace-lint.js.map +1 -0
- package/dist/skills/loader.d.ts +10 -10
- package/docs/getting-started.md +2 -0
- package/docs/quick-reference.md +1 -0
- package/docs/sdk-first-ingest.md +19 -3
- package/package.json +6 -2
- package/schemas/entity-json-schemas/SCHEMA_SYNC.md +18 -0
- package/schemas/entity-json-schemas/connection.json +310 -0
- package/schemas/entity-json-schemas/connector.json +188 -0
- package/schemas/entity-json-schemas/container.json +71 -0
- package/schemas/entity-json-schemas/contract.json +228 -0
- package/schemas/entity-json-schemas/data-product.json +163 -0
- package/schemas/entity-json-schemas/domain.json +74 -0
- package/schemas/entity-json-schemas/export.json +126 -0
- package/schemas/entity-json-schemas/odps-product.json +150 -0
- package/schemas/entity-json-schemas/quality-rule.json +115 -0
- package/schemas/entity-json-schemas/schema.json +206 -0
- package/schemas/entity-json-schemas/transformation.json +166 -0
- package/schemas/entity-json-schemas/validation.json +152 -0
- package/schemas/entity-json-schemas/workflow-graph.json +116 -0
- package/schemas/entity-json-schemas/workflow.json +193 -0
package/dist/client/targets.js
CHANGED
|
@@ -1,102 +1,148 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Targets API —
|
|
2
|
+
* Targets API — delivery-side connector bindings (workflow connection nodes at the
|
|
3
|
+
* tail of a delivery workflow). Parallel to triggers (ingest-head connections).
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* event streams).
|
|
5
|
+
* Backend: project entities (`/workflows/projects/{project_id}/entities/.../connections`).
|
|
6
|
+
* Prefer `save_workflow_bundle` / `loxtep delivery create` for new delivery flows.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
* `targets`.) Calls `/dataproducts/:data_product_id/consumptions`.
|
|
8
|
+
* Does NOT call `/dataproducts/:id/consumptions` (that architecture was removed).
|
|
10
9
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
continue;
|
|
16
|
-
search.set(k, String(v));
|
|
10
|
+
import { randomUUID } from 'node:crypto';
|
|
11
|
+
function requireProjectId(projectId, action) {
|
|
12
|
+
if (!projectId) {
|
|
13
|
+
throw new Error(`targets.${action} requires project_id. Pass filters.project_id / config.project_id, or use save_workflow_bundle.`);
|
|
17
14
|
}
|
|
18
|
-
|
|
19
|
-
return qs ? `?${qs}` : '';
|
|
15
|
+
return projectId;
|
|
20
16
|
}
|
|
21
|
-
|
|
22
|
-
|
|
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;
|
|
17
|
+
function entitiesBase(projectId) {
|
|
18
|
+
return `/workflows/projects/${encodeURIComponent(projectId)}/entities`;
|
|
34
19
|
}
|
|
35
|
-
function
|
|
36
|
-
|
|
37
|
-
|
|
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
|
-
}
|
|
20
|
+
function connectionPath(projectId, connectionId, workflowId) {
|
|
21
|
+
const qs = workflowId ? `?workflow_id=${encodeURIComponent(workflowId)}` : '';
|
|
22
|
+
return `${entitiesBase(projectId)}/connections/${encodeURIComponent(connectionId)}${qs}`;
|
|
58
23
|
}
|
|
59
|
-
|
|
60
|
-
const
|
|
24
|
+
function paginate(items, page, pageSize) {
|
|
25
|
+
const total = items.length;
|
|
26
|
+
const totalPages = Math.max(1, Math.ceil(total / pageSize));
|
|
27
|
+
const start = (page - 1) * pageSize;
|
|
61
28
|
return {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
};
|
|
29
|
+
items: items.slice(start, start + pageSize),
|
|
30
|
+
pagination: {
|
|
31
|
+
page,
|
|
32
|
+
page_size: pageSize,
|
|
33
|
+
total,
|
|
34
|
+
total_pages: totalPages,
|
|
35
|
+
has_next: page < totalPages,
|
|
36
|
+
has_prev: page > 1,
|
|
76
37
|
},
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Create the targets API surface (parallel to triggers — same connections entity).
|
|
42
|
+
*/
|
|
43
|
+
export function createTargetsApi(http) {
|
|
44
|
+
return {
|
|
45
|
+
async get(id, opts) {
|
|
46
|
+
const projectId = requireProjectId(opts?.project_id, 'get');
|
|
47
|
+
const res = await http.get(connectionPath(projectId, id, opts?.workflow_id));
|
|
48
|
+
return res.data;
|
|
80
49
|
},
|
|
81
|
-
async
|
|
82
|
-
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
50
|
+
async list(filters) {
|
|
51
|
+
const projectId = requireProjectId(filters?.project_id, 'list');
|
|
52
|
+
const page = filters?.page ?? 1;
|
|
53
|
+
const pageSize = filters?.page_size ?? 50;
|
|
54
|
+
const res = await http.get(entitiesBase(projectId));
|
|
55
|
+
let items = (res.data?.connections ?? []);
|
|
56
|
+
// Delivery targets are typically outbound; default filter when direction set.
|
|
57
|
+
if (filters?.direction) {
|
|
58
|
+
items = items.filter(t => String(t.direction ?? '') === filters.direction ||
|
|
59
|
+
String(t.configuration?.direction ?? '') ===
|
|
60
|
+
filters.direction ||
|
|
61
|
+
String(t.metadata?.direction ?? '') ===
|
|
62
|
+
filters.direction);
|
|
63
|
+
}
|
|
64
|
+
if (filters?.search) {
|
|
65
|
+
const q = filters.search.toLowerCase();
|
|
66
|
+
items = items.filter(t => String(t.name ?? '')
|
|
67
|
+
.toLowerCase()
|
|
68
|
+
.includes(q) ||
|
|
69
|
+
String(t.key ?? '')
|
|
70
|
+
.toLowerCase()
|
|
71
|
+
.includes(q));
|
|
72
|
+
}
|
|
73
|
+
if (filters?.type) {
|
|
74
|
+
const types = Array.isArray(filters.type) ? filters.type : [filters.type];
|
|
75
|
+
items = items.filter(t => types.includes(String(t.type)));
|
|
86
76
|
}
|
|
87
|
-
|
|
88
|
-
|
|
77
|
+
if (filters?.status) {
|
|
78
|
+
const statuses = Array.isArray(filters.status) ? filters.status : [filters.status];
|
|
79
|
+
items = items.filter(t => statuses.includes(String(t.status)));
|
|
80
|
+
}
|
|
81
|
+
if (filters?.workflow_id) {
|
|
82
|
+
items = items.filter(t => String(t.workflow_id ?? '') === filters.workflow_id);
|
|
83
|
+
}
|
|
84
|
+
return paginate(items, page, pageSize);
|
|
89
85
|
},
|
|
90
|
-
async
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
86
|
+
async create(config) {
|
|
87
|
+
const projectId = requireProjectId(config.project_id, 'create');
|
|
88
|
+
const workflowId = config.workflow_id;
|
|
89
|
+
if (!workflowId) {
|
|
90
|
+
throw new Error('targets.create requires workflow_id. Prefer loxtep delivery create / save_workflow_bundle.');
|
|
94
91
|
}
|
|
95
|
-
const
|
|
96
|
-
|
|
92
|
+
const connectionId = randomUUID();
|
|
93
|
+
const now = new Date().toISOString();
|
|
94
|
+
const direction = config.direction ?? 'outbound';
|
|
95
|
+
const body = {
|
|
96
|
+
connection_id: connectionId,
|
|
97
|
+
project_id: projectId,
|
|
98
|
+
workflow_id: workflowId,
|
|
99
|
+
connector_id: config.connector_id,
|
|
100
|
+
connector_type: config.connector_type,
|
|
101
|
+
key: config.key ?? config.name,
|
|
102
|
+
name: config.name,
|
|
103
|
+
type: config.type,
|
|
104
|
+
status: config.status ?? 'active',
|
|
105
|
+
direction,
|
|
106
|
+
data: config.data ?? '{}',
|
|
107
|
+
configuration: { ...(config.configuration ?? {}), direction },
|
|
108
|
+
metadata: { ...(config.metadata ?? {}), direction },
|
|
109
|
+
verified: config.verified ?? false,
|
|
110
|
+
draft: config.draft ?? true,
|
|
111
|
+
created_at: now,
|
|
112
|
+
updated_at: now,
|
|
113
|
+
};
|
|
114
|
+
const res = await http.put(connectionPath(projectId, connectionId, workflowId), body);
|
|
115
|
+
return res.data ?? body;
|
|
97
116
|
},
|
|
98
|
-
async
|
|
99
|
-
|
|
117
|
+
async update(id, config, opts) {
|
|
118
|
+
const projectId = requireProjectId(opts?.project_id ?? config.project_id, 'update');
|
|
119
|
+
const workflowId = opts?.workflow_id ?? config.workflow_id;
|
|
120
|
+
const existing = await this.get(id, { project_id: projectId, workflow_id: workflowId });
|
|
121
|
+
const merged = {
|
|
122
|
+
...existing,
|
|
123
|
+
...config,
|
|
124
|
+
connection_id: id,
|
|
125
|
+
project_id: projectId,
|
|
126
|
+
updated_at: new Date().toISOString(),
|
|
127
|
+
};
|
|
128
|
+
const res = await http.put(connectionPath(projectId, id, workflowId ?? String(existing.workflow_id ?? '')), merged);
|
|
129
|
+
return res.data ?? merged;
|
|
130
|
+
},
|
|
131
|
+
async delete(id, opts) {
|
|
132
|
+
const projectId = requireProjectId(opts?.project_id, 'delete');
|
|
133
|
+
const qs = opts?.workflow_id
|
|
134
|
+
? `?workflow_id=${encodeURIComponent(opts.workflow_id)}`
|
|
135
|
+
: '';
|
|
136
|
+
await http.delete(`${entitiesBase(projectId)}/connections/${encodeURIComponent(id)}${qs}`);
|
|
137
|
+
},
|
|
138
|
+
async test(id, opts) {
|
|
139
|
+
const target = await this.get(id, opts);
|
|
140
|
+
return {
|
|
141
|
+
success: true,
|
|
142
|
+
message: `Target "${target.name}" loaded. Use MCP test_trigger for live connectivity checks.`,
|
|
143
|
+
connection_id: id,
|
|
144
|
+
tested_at: new Date().toISOString(),
|
|
145
|
+
};
|
|
100
146
|
},
|
|
101
147
|
};
|
|
102
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targets.js","sourceRoot":"","sources":["../../src/client/targets.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"targets.js","sourceRoot":"","sources":["../../src/client/targets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Trigger API types (ingest-side source bindings). snake_case per backend conventions.
|
|
3
|
-
* Backend:
|
|
3
|
+
* Backend: project entities (`/workflows/projects/{project_id}/entities/.../connections`).
|
|
4
4
|
* ("connections" is the backend term; the SDK surface names these `triggers`.)
|
|
5
5
|
*/
|
|
6
6
|
/** Pagination metadata from list APIs. */
|
|
@@ -29,6 +29,8 @@ export declare const TRIGGER_STATUSES: {
|
|
|
29
29
|
export interface Trigger {
|
|
30
30
|
connection_id: string;
|
|
31
31
|
organization_id?: string | null;
|
|
32
|
+
project_id?: string;
|
|
33
|
+
workflow_id?: string;
|
|
32
34
|
key: string;
|
|
33
35
|
name: string;
|
|
34
36
|
type: string;
|
|
@@ -48,6 +50,10 @@ export interface Trigger {
|
|
|
48
50
|
}
|
|
49
51
|
/** Input for triggers.create(). */
|
|
50
52
|
export interface TriggerCreateInput {
|
|
53
|
+
/** Required — connections live under a project workspace. */
|
|
54
|
+
project_id: string;
|
|
55
|
+
/** Required — connection nodes are workflow-scoped. */
|
|
56
|
+
workflow_id: string;
|
|
51
57
|
key: string;
|
|
52
58
|
name: string;
|
|
53
59
|
type: string;
|
|
@@ -60,6 +66,8 @@ export interface TriggerCreateInput {
|
|
|
60
66
|
}
|
|
61
67
|
/** Input for triggers.update(). */
|
|
62
68
|
export interface TriggerUpdateInput {
|
|
69
|
+
project_id?: string;
|
|
70
|
+
workflow_id?: string;
|
|
63
71
|
key?: string;
|
|
64
72
|
name?: string;
|
|
65
73
|
type?: string;
|
|
@@ -72,6 +80,9 @@ export interface TriggerUpdateInput {
|
|
|
72
80
|
}
|
|
73
81
|
/** Filters for triggers.list(). */
|
|
74
82
|
export interface TriggersListFilters {
|
|
83
|
+
/** Required — list is project-scoped via entities API. */
|
|
84
|
+
project_id?: string;
|
|
85
|
+
workflow_id?: string;
|
|
75
86
|
page?: number;
|
|
76
87
|
page_size?: number;
|
|
77
88
|
search?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-types.d.ts","sourceRoot":"","sources":["../../src/client/trigger-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trigger-types.d.ts","sourceRoot":"","sources":["../../src/client/trigger-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Trigger API types (ingest-side source bindings). snake_case per backend conventions.
|
|
3
|
-
* Backend:
|
|
3
|
+
* Backend: project entities (`/workflows/projects/{project_id}/entities/.../connections`).
|
|
4
4
|
* ("connections" is the backend term; the SDK surface names these `triggers`.)
|
|
5
5
|
*/
|
|
6
6
|
/** Trigger type enum (backend ConnectionTypes). */
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Triggers API — ingest-side source bindings
|
|
3
|
-
* Backend:
|
|
2
|
+
* Triggers API — ingest-side source bindings (workflow connection nodes).
|
|
3
|
+
* Backend: project entities API (`/workflows/projects/{project_id}/entities`).
|
|
4
4
|
* ("connections" is the backend term; the SDK surface names these `triggers`.)
|
|
5
|
+
*
|
|
6
|
+
* Prefer authoring new triggers via `save_workflow_bundle` / `loxtep ingest create`.
|
|
5
7
|
*/
|
|
6
8
|
import type { LoxtepHttpClient } from '../http/client.js';
|
|
7
9
|
import type { Trigger, TriggerCreateInput, TriggerUpdateInput, TriggersListFilters, TriggersListResponse, TriggerTestResult } from './trigger-types.js';
|
|
@@ -9,11 +11,23 @@ import type { Trigger, TriggerCreateInput, TriggerUpdateInput, TriggersListFilte
|
|
|
9
11
|
* Create the triggers API surface (get, list, create, update, delete, test).
|
|
10
12
|
*/
|
|
11
13
|
export declare function createTriggersApi(http: LoxtepHttpClient): {
|
|
12
|
-
get: (id: string
|
|
14
|
+
get: (id: string, opts?: {
|
|
15
|
+
project_id?: string;
|
|
16
|
+
workflow_id?: string;
|
|
17
|
+
}) => Promise<Trigger>;
|
|
13
18
|
list: (filters?: TriggersListFilters) => Promise<TriggersListResponse['data']>;
|
|
14
19
|
create: (config: TriggerCreateInput) => Promise<Trigger>;
|
|
15
|
-
update: (id: string, config: TriggerUpdateInput
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
update: (id: string, config: TriggerUpdateInput, opts?: {
|
|
21
|
+
project_id?: string;
|
|
22
|
+
workflow_id?: string;
|
|
23
|
+
}) => Promise<Trigger>;
|
|
24
|
+
delete: (id: string, opts?: {
|
|
25
|
+
project_id?: string;
|
|
26
|
+
workflow_id?: string;
|
|
27
|
+
}) => Promise<void>;
|
|
28
|
+
test: (id: string, opts?: {
|
|
29
|
+
project_id?: string;
|
|
30
|
+
workflow_id?: string;
|
|
31
|
+
}) => Promise<TriggerTestResult>;
|
|
18
32
|
};
|
|
19
33
|
//# sourceMappingURL=triggers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../src/client/triggers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../src/client/triggers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,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;AA0C5B;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG;IACzD,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5F,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,CACN,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,kBAAkB,EAC1B,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KACjD,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5F,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACxG,CAgJA"}
|
package/dist/client/triggers.js
CHANGED
|
@@ -1,66 +1,149 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Triggers API — ingest-side source bindings
|
|
3
|
-
* Backend:
|
|
2
|
+
* Triggers API — ingest-side source bindings (workflow connection nodes).
|
|
3
|
+
* Backend: project entities API (`/workflows/projects/{project_id}/entities`).
|
|
4
4
|
* ("connections" is the backend term; the SDK surface names these `triggers`.)
|
|
5
|
+
*
|
|
6
|
+
* Prefer authoring new triggers via `save_workflow_bundle` / `loxtep ingest create`.
|
|
5
7
|
*/
|
|
6
|
-
|
|
7
|
-
function
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (v === undefined || v === null)
|
|
11
|
-
continue;
|
|
12
|
-
if (Array.isArray(v)) {
|
|
13
|
-
search.set(k, v.join(','));
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
search.set(k, String(v));
|
|
17
|
-
}
|
|
8
|
+
import { randomUUID } from 'node:crypto';
|
|
9
|
+
function requireProjectId(projectId, action) {
|
|
10
|
+
if (!projectId) {
|
|
11
|
+
throw new Error(`triggers.${action} requires project_id. Pass filters.project_id / config.project_id, or use save_workflow_bundle.`);
|
|
18
12
|
}
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
return projectId;
|
|
14
|
+
}
|
|
15
|
+
function entitiesBase(projectId) {
|
|
16
|
+
return `/workflows/projects/${encodeURIComponent(projectId)}/entities`;
|
|
17
|
+
}
|
|
18
|
+
function connectionPath(projectId, connectionId, workflowId) {
|
|
19
|
+
const qs = workflowId ? `?workflow_id=${encodeURIComponent(workflowId)}` : '';
|
|
20
|
+
return `${entitiesBase(projectId)}/connections/${encodeURIComponent(connectionId)}${qs}`;
|
|
21
|
+
}
|
|
22
|
+
function paginate(items, page, pageSize) {
|
|
23
|
+
const total = items.length;
|
|
24
|
+
const totalPages = Math.max(1, Math.ceil(total / pageSize));
|
|
25
|
+
const start = (page - 1) * pageSize;
|
|
26
|
+
const slice = items.slice(start, start + pageSize);
|
|
27
|
+
return {
|
|
28
|
+
items: slice,
|
|
29
|
+
pagination: {
|
|
30
|
+
page,
|
|
31
|
+
page_size: pageSize,
|
|
32
|
+
total,
|
|
33
|
+
total_pages: totalPages,
|
|
34
|
+
has_next: page < totalPages,
|
|
35
|
+
has_prev: page > 1,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
21
38
|
}
|
|
22
39
|
/**
|
|
23
40
|
* Create the triggers API surface (get, list, create, update, delete, test).
|
|
24
41
|
*/
|
|
25
42
|
export function createTriggersApi(http) {
|
|
26
43
|
return {
|
|
27
|
-
async get(id) {
|
|
28
|
-
const
|
|
44
|
+
async get(id, opts) {
|
|
45
|
+
const projectId = requireProjectId(opts?.project_id, 'get');
|
|
46
|
+
const res = await http.get(connectionPath(projectId, id, opts?.workflow_id));
|
|
29
47
|
return res.data;
|
|
30
48
|
},
|
|
31
49
|
async list(filters) {
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
50
|
+
const projectId = requireProjectId(filters?.project_id, 'list');
|
|
51
|
+
const page = filters?.page ?? 1;
|
|
52
|
+
const pageSize = filters?.page_size ?? 50;
|
|
53
|
+
const res = await http.get(entitiesBase(projectId));
|
|
54
|
+
let items = (res.data?.connections ?? []);
|
|
55
|
+
if (filters?.search) {
|
|
56
|
+
const q = filters.search.toLowerCase();
|
|
57
|
+
items = items.filter(t => String(t.name ?? '')
|
|
58
|
+
.toLowerCase()
|
|
59
|
+
.includes(q) ||
|
|
60
|
+
String(t.key ?? '')
|
|
61
|
+
.toLowerCase()
|
|
62
|
+
.includes(q));
|
|
63
|
+
}
|
|
64
|
+
if (filters?.type) {
|
|
65
|
+
const types = Array.isArray(filters.type) ? filters.type : [filters.type];
|
|
66
|
+
items = items.filter(t => types.includes(String(t.type)));
|
|
67
|
+
}
|
|
68
|
+
if (filters?.status) {
|
|
69
|
+
const statuses = Array.isArray(filters.status) ? filters.status : [filters.status];
|
|
70
|
+
items = items.filter(t => statuses.includes(String(t.status)));
|
|
71
|
+
}
|
|
72
|
+
if (filters?.workflow_id) {
|
|
73
|
+
items = items.filter(t => String(t.workflow_id ?? '') === filters.workflow_id);
|
|
74
|
+
}
|
|
75
|
+
if (filters?.verified !== undefined) {
|
|
76
|
+
items = items.filter(t => Boolean(t.verified) === filters.verified);
|
|
77
|
+
}
|
|
78
|
+
if (filters?.draft !== undefined) {
|
|
79
|
+
items = items.filter(t => Boolean(t.draft) === filters.draft);
|
|
80
|
+
}
|
|
81
|
+
return paginate(items, page, pageSize);
|
|
49
82
|
},
|
|
50
83
|
async create(config) {
|
|
51
|
-
const
|
|
52
|
-
|
|
84
|
+
const projectId = requireProjectId(config.project_id, 'create');
|
|
85
|
+
const workflowId = config.workflow_id;
|
|
86
|
+
if (!workflowId) {
|
|
87
|
+
throw new Error('triggers.create requires workflow_id (connection nodes are workflow-scoped). Prefer loxtep ingest create / save_workflow_bundle.');
|
|
88
|
+
}
|
|
89
|
+
const connectionId = randomUUID();
|
|
90
|
+
const now = new Date().toISOString();
|
|
91
|
+
const body = {
|
|
92
|
+
connection_id: connectionId,
|
|
93
|
+
project_id: projectId,
|
|
94
|
+
workflow_id: workflowId,
|
|
95
|
+
key: config.key,
|
|
96
|
+
name: config.name,
|
|
97
|
+
type: config.type,
|
|
98
|
+
status: config.status ?? 'active',
|
|
99
|
+
data: config.data ?? '{}',
|
|
100
|
+
configuration: config.configuration ?? {},
|
|
101
|
+
metadata: config.metadata ?? {},
|
|
102
|
+
verified: config.verified ?? false,
|
|
103
|
+
draft: config.draft ?? true,
|
|
104
|
+
created_at: now,
|
|
105
|
+
updated_at: now,
|
|
106
|
+
};
|
|
107
|
+
const res = await http.put(connectionPath(projectId, connectionId, workflowId), body);
|
|
108
|
+
return res.data ?? body;
|
|
53
109
|
},
|
|
54
|
-
async update(id, config) {
|
|
55
|
-
const
|
|
56
|
-
|
|
110
|
+
async update(id, config, opts) {
|
|
111
|
+
const projectId = requireProjectId(opts?.project_id ?? config.project_id, 'update');
|
|
112
|
+
const workflowId = opts?.workflow_id ?? config.workflow_id;
|
|
113
|
+
const existing = await this.get(id, { project_id: projectId, workflow_id: workflowId });
|
|
114
|
+
const merged = {
|
|
115
|
+
...existing,
|
|
116
|
+
...config,
|
|
117
|
+
connection_id: id,
|
|
118
|
+
project_id: projectId,
|
|
119
|
+
updated_at: new Date().toISOString(),
|
|
120
|
+
};
|
|
121
|
+
const res = await http.put(connectionPath(projectId, id, workflowId ?? String(existing.workflow_id ?? '')), merged);
|
|
122
|
+
return res.data ?? merged;
|
|
57
123
|
},
|
|
58
|
-
async delete(id) {
|
|
59
|
-
|
|
124
|
+
async delete(id, opts) {
|
|
125
|
+
const projectId = requireProjectId(opts?.project_id, 'delete');
|
|
126
|
+
const qs = opts?.workflow_id
|
|
127
|
+
? `?workflow_id=${encodeURIComponent(opts.workflow_id)}`
|
|
128
|
+
: '';
|
|
129
|
+
await http.delete(`${entitiesBase(projectId)}/connections/${encodeURIComponent(id)}${qs}`);
|
|
60
130
|
},
|
|
61
|
-
async test(id) {
|
|
62
|
-
|
|
63
|
-
|
|
131
|
+
async test(id, opts) {
|
|
132
|
+
// Connectivity probe: load entity; if configuration has an HTTP URL, report reachable shape.
|
|
133
|
+
const trigger = await this.get(id, opts);
|
|
134
|
+
const cfg = (trigger.configuration ?? {});
|
|
135
|
+
const probe = (typeof cfg.url === 'string' && cfg.url) ||
|
|
136
|
+
(typeof cfg.base_url === 'string' && cfg.base_url) ||
|
|
137
|
+
(typeof cfg.endpoint === 'string' && cfg.endpoint) ||
|
|
138
|
+
null;
|
|
139
|
+
return {
|
|
140
|
+
success: true,
|
|
141
|
+
message: probe
|
|
142
|
+
? `Trigger "${trigger.name}" loaded; probe URL present (${probe}). Live HTTP probe is available via MCP test_trigger.`
|
|
143
|
+
: `Trigger "${trigger.name}" loaded. No HTTP probe URL in configuration; use MCP test_trigger for live checks.`,
|
|
144
|
+
details: { connection_id: id, has_probe_url: Boolean(probe) },
|
|
145
|
+
tested_at: new Date().toISOString(),
|
|
146
|
+
};
|
|
64
147
|
},
|
|
65
148
|
};
|
|
66
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../src/client/triggers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../src/client/triggers.ts"],"names":[],"mappings":"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"}
|