@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-entity.js","sourceRoot":"","sources":["../../../src/lib/entity-json-schemas/validate-entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Build SDK ingest workflow
|
|
2
|
+
* Build local-first SDK ingest workflow package files
|
|
3
|
+
* (connector + workflow + connection + source data product).
|
|
3
4
|
*/
|
|
4
|
-
|
|
5
|
+
import type { Connector } from '../client/connectors-types.js';
|
|
6
|
+
/** Placeholder starter template id for SDK-provisioned ingestion flows. */
|
|
7
|
+
export declare const SDK_INGEST_TEMPLATE_ID = "00000000-0000-4000-8000-0000000000a1";
|
|
8
|
+
export interface SdkIngestPackageParams {
|
|
5
9
|
organization_id: string;
|
|
6
10
|
project_id: string;
|
|
7
11
|
domain_id: string;
|
|
@@ -12,13 +16,67 @@ export interface SdkIngestBundleParams {
|
|
|
12
16
|
workflow_id?: string;
|
|
13
17
|
connection_id?: string;
|
|
14
18
|
data_product_id?: string;
|
|
19
|
+
/** When set, include a schema-valid local connector file. */
|
|
20
|
+
connector?: Connector | LocalConnectorStub;
|
|
21
|
+
include_connector_file?: boolean;
|
|
22
|
+
/** When true, set storage.iceberg_enabled on the source data product. */
|
|
23
|
+
iceberg_enabled?: boolean;
|
|
15
24
|
}
|
|
16
|
-
export interface
|
|
25
|
+
export interface LocalConnectorStub {
|
|
26
|
+
connector_id: string;
|
|
27
|
+
organization_id: string;
|
|
28
|
+
connector_type: string;
|
|
29
|
+
metadata?: Record<string, unknown>;
|
|
30
|
+
created_at?: string;
|
|
31
|
+
updated_at?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface SdkIngestPackageResult {
|
|
17
34
|
workflow_id: string;
|
|
18
35
|
connection_id: string;
|
|
19
36
|
data_product_id: string;
|
|
20
37
|
data_product_name: string;
|
|
38
|
+
connector_id: string;
|
|
39
|
+
/** Project-relative path → entity JSON */
|
|
21
40
|
files: Record<string, Record<string, unknown>>;
|
|
22
41
|
}
|
|
23
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Map an API connector (or stub) into a schema-valid local connector entity.
|
|
44
|
+
* Entity schema uses catalog-style fields (name, category, auth_type) that differ
|
|
45
|
+
* from the connectors API shape.
|
|
46
|
+
*/
|
|
47
|
+
export declare function toLocalConnectorEntity(connector: Connector | LocalConnectorStub, now?: string): Record<string, unknown>;
|
|
48
|
+
/**
|
|
49
|
+
* Build project-local JSON files for an SDK ingest topology.
|
|
50
|
+
* Paths match the customer workspace layout (not the flat save_workflow_bundle map).
|
|
51
|
+
*/
|
|
52
|
+
export declare function buildSdkIngestLocalPackage(params: SdkIngestPackageParams): SdkIngestPackageResult;
|
|
53
|
+
/**
|
|
54
|
+
* Flat bundle map for `save_workflow_bundle` / `bundle save` (workflow-relative keys).
|
|
55
|
+
*/
|
|
56
|
+
export declare function buildSdkIngestBundle(params: {
|
|
57
|
+
organization_id: string;
|
|
58
|
+
project_id: string;
|
|
59
|
+
domain_id: string;
|
|
60
|
+
connector_id: string;
|
|
61
|
+
data_product_name: string;
|
|
62
|
+
workflow_name?: string;
|
|
63
|
+
user_id?: string;
|
|
64
|
+
workflow_id?: string;
|
|
65
|
+
connection_id?: string;
|
|
66
|
+
data_product_id?: string;
|
|
67
|
+
}): {
|
|
68
|
+
workflow_id: string;
|
|
69
|
+
connection_id: string;
|
|
70
|
+
data_product_id: string;
|
|
71
|
+
data_product_name: string;
|
|
72
|
+
files: Record<string, Record<string, unknown>>;
|
|
73
|
+
};
|
|
74
|
+
export type SdkIngestBundleParams = Parameters<typeof buildSdkIngestBundle>[0];
|
|
75
|
+
export type SdkIngestBundleResult = ReturnType<typeof buildSdkIngestBundle>;
|
|
76
|
+
/** Validate every entity in a local package map; returns field-level errors. */
|
|
77
|
+
export declare function validateSdkIngestPackageFiles(files: Record<string, Record<string, unknown>>): Array<{
|
|
78
|
+
path: string;
|
|
79
|
+
entity_type: string;
|
|
80
|
+
message: string;
|
|
81
|
+
}>;
|
|
24
82
|
//# sourceMappingURL=sdk-ingest-bundle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-ingest-bundle.d.ts","sourceRoot":"","sources":["../../src/lib/sdk-ingest-bundle.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sdk-ingest-bundle.d.ts","sourceRoot":"","sources":["../../src/lib/sdk-ingest-bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,73 +1,169 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Build SDK ingest workflow
|
|
2
|
+
* Build local-first SDK ingest workflow package files
|
|
3
|
+
* (connector + workflow + connection + source data product).
|
|
3
4
|
*/
|
|
4
5
|
import { randomUUID } from 'node:crypto';
|
|
5
|
-
|
|
6
|
+
import { EntityType, validateEntity } from './entity-json-schemas/index.js';
|
|
7
|
+
/** Placeholder starter template id for SDK-provisioned ingestion flows. */
|
|
8
|
+
export const SDK_INGEST_TEMPLATE_ID = '00000000-0000-4000-8000-0000000000a1';
|
|
9
|
+
/**
|
|
10
|
+
* Map an API connector (or stub) into a schema-valid local connector entity.
|
|
11
|
+
* Entity schema uses catalog-style fields (name, category, auth_type) that differ
|
|
12
|
+
* from the connectors API shape.
|
|
13
|
+
*/
|
|
14
|
+
export function toLocalConnectorEntity(connector, now = new Date().toISOString()) {
|
|
15
|
+
const meta = connector.metadata ?? {};
|
|
16
|
+
const name = (typeof meta.name === 'string' && meta.name.trim()) ||
|
|
17
|
+
`${connector.connector_type} connector`;
|
|
18
|
+
const description = (typeof meta.description === 'string' && meta.description.trim()) ||
|
|
19
|
+
`Local stub for ${connector.connector_type} connector`;
|
|
20
|
+
return {
|
|
21
|
+
connector_id: connector.connector_id,
|
|
22
|
+
organization_id: connector.organization_id,
|
|
23
|
+
connector_type: connector.connector_type,
|
|
24
|
+
name,
|
|
25
|
+
description,
|
|
26
|
+
category: 'custom',
|
|
27
|
+
// Entity schema enum has no "jwt"; use custom and keep API auth in metadata.
|
|
28
|
+
auth_type: 'custom',
|
|
29
|
+
version: '1.0.0',
|
|
30
|
+
metadata: { ...meta, sdk_auth_type: 'jwt' },
|
|
31
|
+
created_at: connector.created_at ?? now,
|
|
32
|
+
updated_at: connector.updated_at ?? now,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Build project-local JSON files for an SDK ingest topology.
|
|
37
|
+
* Paths match the customer workspace layout (not the flat save_workflow_bundle map).
|
|
38
|
+
*/
|
|
39
|
+
export function buildSdkIngestLocalPackage(params) {
|
|
6
40
|
const workflowId = params.workflow_id ?? randomUUID();
|
|
7
41
|
const connectionId = params.connection_id ?? randomUUID();
|
|
8
42
|
const dataProductId = params.data_product_id ?? randomUUID();
|
|
9
43
|
const now = new Date().toISOString();
|
|
10
44
|
const workflowName = params.workflow_name ?? 'SDK App Events Ingest';
|
|
11
|
-
const files = {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
45
|
+
const files = {};
|
|
46
|
+
if (params.include_connector_file !== false && params.connector) {
|
|
47
|
+
files[`connectors/${params.connector_id}.json`] = toLocalConnectorEntity(params.connector, now);
|
|
48
|
+
}
|
|
49
|
+
files[`workflows/${workflowId}/workflow.json`] = {
|
|
50
|
+
workflow_id: workflowId,
|
|
51
|
+
organization_id: params.organization_id,
|
|
52
|
+
project_id: params.project_id,
|
|
53
|
+
name: workflowName,
|
|
54
|
+
template_id: SDK_INGEST_TEMPLATE_ID,
|
|
55
|
+
workflow_type: 'ingestion',
|
|
56
|
+
domain_id: params.domain_id,
|
|
57
|
+
status: 'active',
|
|
58
|
+
configuration: {},
|
|
59
|
+
metadata: { ingestion_method: 'sdk' },
|
|
60
|
+
created_at: now,
|
|
61
|
+
updated_at: now,
|
|
62
|
+
};
|
|
63
|
+
files[`workflows/${workflowId}/connections/${connectionId}.json`] = {
|
|
64
|
+
connection_id: connectionId,
|
|
65
|
+
organization_id: params.organization_id,
|
|
66
|
+
project_id: params.project_id,
|
|
67
|
+
workflow_id: workflowId,
|
|
68
|
+
connector_id: params.connector_id,
|
|
69
|
+
key: 'sdk-input',
|
|
70
|
+
name: 'SDK Input',
|
|
71
|
+
type: 'sdk',
|
|
72
|
+
status: 'active',
|
|
73
|
+
configuration: {
|
|
74
|
+
sdk_type: 'nodejs',
|
|
75
|
+
event_type: params.data_product_name,
|
|
24
76
|
},
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
77
|
+
created_at: now,
|
|
78
|
+
updated_at: now,
|
|
79
|
+
};
|
|
80
|
+
const dataProduct = {
|
|
81
|
+
data_product_id: dataProductId,
|
|
82
|
+
organization_id: params.organization_id,
|
|
83
|
+
workflow_id: workflowId,
|
|
84
|
+
upstream_entity_id: connectionId,
|
|
85
|
+
upstream_entity_type: 'connections',
|
|
86
|
+
domain_id: params.domain_id,
|
|
87
|
+
name: params.data_product_name,
|
|
88
|
+
status: 'draft',
|
|
89
|
+
governance: {
|
|
90
|
+
classification: 'internal',
|
|
91
|
+
pii_fields: [],
|
|
92
|
+
compliance_requirements: [],
|
|
93
|
+
tags: [],
|
|
41
94
|
},
|
|
42
|
-
|
|
43
|
-
data_product_id: dataProductId,
|
|
44
|
-
organization_id: params.organization_id,
|
|
45
|
-
project_id: params.project_id,
|
|
46
|
-
workflow_id: workflowId,
|
|
47
|
-
upstream_entity_id: connectionId,
|
|
48
|
-
upstream_entity_type: 'connections',
|
|
49
|
-
domain_id: params.domain_id,
|
|
50
|
-
name: params.data_product_name,
|
|
95
|
+
metadata: {
|
|
51
96
|
kind: 'source',
|
|
52
|
-
|
|
53
|
-
owner: params.user_id ? { user_id: params.user_id } : {},
|
|
54
|
-
governance: {
|
|
55
|
-
classification: 'internal',
|
|
56
|
-
pii_fields: [],
|
|
57
|
-
compliance_requirements: [],
|
|
58
|
-
tags: [],
|
|
59
|
-
},
|
|
60
|
-
metadata: {},
|
|
61
|
-
created_at: now,
|
|
62
|
-
updated_at: now,
|
|
97
|
+
project_id: params.project_id,
|
|
63
98
|
},
|
|
99
|
+
created_at: now,
|
|
100
|
+
updated_at: now,
|
|
64
101
|
};
|
|
102
|
+
if (params.iceberg_enabled) {
|
|
103
|
+
dataProduct.storage = { iceberg_enabled: true };
|
|
104
|
+
}
|
|
105
|
+
if (params.user_id) {
|
|
106
|
+
dataProduct.owner = { user_id: params.user_id };
|
|
107
|
+
}
|
|
108
|
+
files[`workflows/${workflowId}/data-products/${dataProductId}.json`] = dataProduct;
|
|
65
109
|
return {
|
|
66
110
|
workflow_id: workflowId,
|
|
67
111
|
connection_id: connectionId,
|
|
68
112
|
data_product_id: dataProductId,
|
|
69
113
|
data_product_name: params.data_product_name,
|
|
114
|
+
connector_id: params.connector_id,
|
|
70
115
|
files,
|
|
71
116
|
};
|
|
72
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Flat bundle map for `save_workflow_bundle` / `bundle save` (workflow-relative keys).
|
|
120
|
+
*/
|
|
121
|
+
export function buildSdkIngestBundle(params) {
|
|
122
|
+
const local = buildSdkIngestLocalPackage({ ...params, include_connector_file: false });
|
|
123
|
+
const wf = local.workflow_id;
|
|
124
|
+
const files = {
|
|
125
|
+
'workflow.json': local.files[`workflows/${wf}/workflow.json`],
|
|
126
|
+
[`connections/${local.connection_id}.json`]: local.files[`workflows/${wf}/connections/${local.connection_id}.json`],
|
|
127
|
+
[`data-products/${local.data_product_id}.json`]: local.files[`workflows/${wf}/data-products/${local.data_product_id}.json`],
|
|
128
|
+
};
|
|
129
|
+
return {
|
|
130
|
+
workflow_id: local.workflow_id,
|
|
131
|
+
connection_id: local.connection_id,
|
|
132
|
+
data_product_id: local.data_product_id,
|
|
133
|
+
data_product_name: local.data_product_name,
|
|
134
|
+
files,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/** Validate every entity in a local package map; returns field-level errors. */
|
|
138
|
+
export function validateSdkIngestPackageFiles(files) {
|
|
139
|
+
const errors = [];
|
|
140
|
+
for (const [path, entity] of Object.entries(files)) {
|
|
141
|
+
let entityType = null;
|
|
142
|
+
if (path.startsWith('connectors/') && path.endsWith('.json')) {
|
|
143
|
+
entityType = EntityType.CONNECTOR;
|
|
144
|
+
}
|
|
145
|
+
else if (path.endsWith('/workflow.json') || path === 'workflow.json') {
|
|
146
|
+
entityType = EntityType.WORKFLOW;
|
|
147
|
+
}
|
|
148
|
+
else if (path.includes('/connections/') || path.startsWith('connections/')) {
|
|
149
|
+
entityType = EntityType.CONNECTION;
|
|
150
|
+
}
|
|
151
|
+
else if (path.includes('/data-products/') || path.startsWith('data-products/')) {
|
|
152
|
+
entityType = EntityType.DATA_PRODUCT;
|
|
153
|
+
}
|
|
154
|
+
if (!entityType)
|
|
155
|
+
continue;
|
|
156
|
+
const result = validateEntity(entityType, entity);
|
|
157
|
+
if (!result.valid && result.errors) {
|
|
158
|
+
for (const err of result.errors) {
|
|
159
|
+
errors.push({
|
|
160
|
+
path: `${path}${err.path}`,
|
|
161
|
+
entity_type: entityType,
|
|
162
|
+
message: err.message,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return errors;
|
|
168
|
+
}
|
|
73
169
|
//# sourceMappingURL=sdk-ingest-bundle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-ingest-bundle.js","sourceRoot":"","sources":["../../src/lib/sdk-ingest-bundle.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sdk-ingest-bundle.js","sourceRoot":"","sources":["../../src/lib/sdk-ingest-bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Offline lint of a local Loxtep project package (entity schemas + relationships).
|
|
3
|
+
*/
|
|
4
|
+
export interface LintIssue {
|
|
5
|
+
path: string;
|
|
6
|
+
severity: 'error';
|
|
7
|
+
message: string;
|
|
8
|
+
}
|
|
9
|
+
export interface LintResult {
|
|
10
|
+
ok: boolean;
|
|
11
|
+
issues: LintIssue[];
|
|
12
|
+
files_checked: number;
|
|
13
|
+
}
|
|
14
|
+
export interface LintOptions {
|
|
15
|
+
/** Project root (contains workflows/, connectors/). */
|
|
16
|
+
projectDir: string;
|
|
17
|
+
/** When set, only lint this workflow directory under workflows/<id>/. */
|
|
18
|
+
workflow_id?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Lint local entity JSON against shipped schemas and basic relationship checks.
|
|
22
|
+
*/
|
|
23
|
+
export declare function lintLocalPackage(options: LintOptions): LintResult;
|
|
24
|
+
/**
|
|
25
|
+
* True when the project has at least one entity JSON package file to lint.
|
|
26
|
+
*/
|
|
27
|
+
export declare function hasLocalEntityPackage(projectDir: string): boolean;
|
|
28
|
+
//# sourceMappingURL=workspace-lint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-lint.d.ts","sourceRoot":"","sources":["../../src/lib/workspace-lint.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAqGD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAkGjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAQjE"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Offline lint of a local Loxtep project package (entity schemas + relationships).
|
|
3
|
+
*/
|
|
4
|
+
import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
|
|
5
|
+
import { join, relative } from 'node:path';
|
|
6
|
+
import { EntityType, validateEntity } from './entity-json-schemas/index.js';
|
|
7
|
+
function readJsonObject(filePath) {
|
|
8
|
+
try {
|
|
9
|
+
const raw = JSON.parse(readFileSync(filePath, 'utf8'));
|
|
10
|
+
if (raw && typeof raw === 'object' && !Array.isArray(raw)) {
|
|
11
|
+
return raw;
|
|
12
|
+
}
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function listJsonFiles(dir) {
|
|
20
|
+
if (!existsSync(dir))
|
|
21
|
+
return [];
|
|
22
|
+
const out = [];
|
|
23
|
+
for (const name of readdirSync(dir)) {
|
|
24
|
+
const full = join(dir, name);
|
|
25
|
+
let st;
|
|
26
|
+
try {
|
|
27
|
+
st = statSync(full);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
if (st.isDirectory()) {
|
|
33
|
+
out.push(...listJsonFiles(full));
|
|
34
|
+
}
|
|
35
|
+
else if (name.endsWith('.json')) {
|
|
36
|
+
out.push(full);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return out;
|
|
40
|
+
}
|
|
41
|
+
function classifyEntity(projectDir, filePath) {
|
|
42
|
+
const rel = relative(projectDir, filePath).replace(/\\/g, '/');
|
|
43
|
+
if (rel.startsWith('connectors/') && rel.endsWith('.json')) {
|
|
44
|
+
return EntityType.CONNECTOR;
|
|
45
|
+
}
|
|
46
|
+
if (rel.match(/^workflows\/[^/]+\/workflow\.json$/)) {
|
|
47
|
+
return EntityType.WORKFLOW;
|
|
48
|
+
}
|
|
49
|
+
if (rel.match(/^workflows\/[^/]+\/connections\/[^/]+\.json$/)) {
|
|
50
|
+
return EntityType.CONNECTION;
|
|
51
|
+
}
|
|
52
|
+
if (rel.match(/^workflows\/[^/]+\/data-products\/[^/]+\.json$/)) {
|
|
53
|
+
return EntityType.DATA_PRODUCT;
|
|
54
|
+
}
|
|
55
|
+
if (rel.match(/^workflows\/[^/]+\/transformations\/[^/]+\.json$/)) {
|
|
56
|
+
return EntityType.TRANSFORMATION;
|
|
57
|
+
}
|
|
58
|
+
if (rel.match(/^workflows\/[^/]+\/validations\/[^/]+\.json$/)) {
|
|
59
|
+
return EntityType.VALIDATION;
|
|
60
|
+
}
|
|
61
|
+
if (rel.startsWith('domains/') && rel.endsWith('.json')) {
|
|
62
|
+
return EntityType.DOMAIN;
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
function discoverEntities(projectDir, workflowId) {
|
|
67
|
+
const entities = [];
|
|
68
|
+
const roots = [join(projectDir, 'connectors'), join(projectDir, 'domains')];
|
|
69
|
+
if (workflowId) {
|
|
70
|
+
roots.push(join(projectDir, 'workflows', workflowId));
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
roots.push(join(projectDir, 'workflows'));
|
|
74
|
+
}
|
|
75
|
+
for (const root of roots) {
|
|
76
|
+
for (const filePath of listJsonFiles(root)) {
|
|
77
|
+
const entityType = classifyEntity(projectDir, filePath);
|
|
78
|
+
if (!entityType)
|
|
79
|
+
continue;
|
|
80
|
+
const data = readJsonObject(filePath);
|
|
81
|
+
const rel = relative(projectDir, filePath).replace(/\\/g, '/');
|
|
82
|
+
if (!data) {
|
|
83
|
+
entities.push({
|
|
84
|
+
path: rel,
|
|
85
|
+
entityType,
|
|
86
|
+
data: {},
|
|
87
|
+
});
|
|
88
|
+
// mark unreadable via empty + special handling below
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
entities.push({ path: rel, entityType, data });
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return entities;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Lint local entity JSON against shipped schemas and basic relationship checks.
|
|
98
|
+
*/
|
|
99
|
+
export function lintLocalPackage(options) {
|
|
100
|
+
const { projectDir, workflow_id } = options;
|
|
101
|
+
const issues = [];
|
|
102
|
+
if (!existsSync(projectDir)) {
|
|
103
|
+
return {
|
|
104
|
+
ok: false,
|
|
105
|
+
files_checked: 0,
|
|
106
|
+
issues: [{ path: projectDir, severity: 'error', message: 'Project directory not found' }],
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
const entities = discoverEntities(projectDir, workflow_id);
|
|
110
|
+
const byId = new Map();
|
|
111
|
+
for (const entity of entities) {
|
|
112
|
+
if (Object.keys(entity.data).length === 0) {
|
|
113
|
+
issues.push({
|
|
114
|
+
path: entity.path,
|
|
115
|
+
severity: 'error',
|
|
116
|
+
message: 'Invalid or unreadable JSON object',
|
|
117
|
+
});
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
const result = validateEntity(entity.entityType, entity.data);
|
|
121
|
+
if (!result.valid && result.errors) {
|
|
122
|
+
for (const err of result.errors) {
|
|
123
|
+
issues.push({
|
|
124
|
+
path: `${entity.path}${err.path}`,
|
|
125
|
+
severity: 'error',
|
|
126
|
+
message: err.message,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const idKey = entity.data.connector_id ||
|
|
131
|
+
entity.data.connection_id ||
|
|
132
|
+
entity.data.workflow_id ||
|
|
133
|
+
entity.data.data_product_id ||
|
|
134
|
+
entity.data.domain_id;
|
|
135
|
+
if (idKey) {
|
|
136
|
+
byId.set(idKey, entity);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// Relationship checks
|
|
140
|
+
for (const entity of entities) {
|
|
141
|
+
if (entity.entityType === EntityType.CONNECTION) {
|
|
142
|
+
const connectorId = entity.data.connector_id;
|
|
143
|
+
if (typeof connectorId === 'string' && connectorId.length > 0) {
|
|
144
|
+
// connector may exist only remotely; warn only if local connectors/ is present
|
|
145
|
+
// and does not contain this id — keep as error when local connector file expected.
|
|
146
|
+
const localConnectors = entities.filter(e => e.entityType === EntityType.CONNECTOR);
|
|
147
|
+
if (localConnectors.length > 0 &&
|
|
148
|
+
!localConnectors.some(c => c.data.connector_id === connectorId)) {
|
|
149
|
+
issues.push({
|
|
150
|
+
path: entity.path,
|
|
151
|
+
severity: 'error',
|
|
152
|
+
message: `connector_id "${connectorId}" not found under connectors/`,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
issues.push({
|
|
158
|
+
path: entity.path,
|
|
159
|
+
severity: 'error',
|
|
160
|
+
message: 'connection is missing connector_id',
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
if (entity.entityType === EntityType.DATA_PRODUCT) {
|
|
165
|
+
const upstream = entity.data.upstream_entity_id;
|
|
166
|
+
if (typeof upstream === 'string' && upstream.length > 0 && !byId.has(upstream)) {
|
|
167
|
+
// Upstream may be a connection in the same workflow — check connection ids
|
|
168
|
+
const conn = entities.find(e => e.entityType === EntityType.CONNECTION && e.data.connection_id === upstream);
|
|
169
|
+
if (!conn) {
|
|
170
|
+
issues.push({
|
|
171
|
+
path: entity.path,
|
|
172
|
+
severity: 'error',
|
|
173
|
+
message: `upstream_entity_id "${upstream}" not found in local package`,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return {
|
|
180
|
+
ok: issues.length === 0,
|
|
181
|
+
issues,
|
|
182
|
+
files_checked: entities.length,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* True when the project has at least one entity JSON package file to lint.
|
|
187
|
+
*/
|
|
188
|
+
export function hasLocalEntityPackage(projectDir) {
|
|
189
|
+
const workflowsDir = join(projectDir, 'workflows');
|
|
190
|
+
if (!existsSync(workflowsDir))
|
|
191
|
+
return false;
|
|
192
|
+
for (const name of readdirSync(workflowsDir)) {
|
|
193
|
+
const wfJson = join(workflowsDir, name, 'workflow.json');
|
|
194
|
+
if (existsSync(wfJson))
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
return existsSync(join(projectDir, 'connectors')) && listJsonFiles(join(projectDir, 'connectors')).length > 0;
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=workspace-lint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-lint.js","sourceRoot":"","sources":["../../src/lib/workspace-lint.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AA2B5E,SAAS,cAAc,CAAC,QAAgB;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAY,CAAC;QAClE,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1D,OAAO,GAA8B,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,EAAE,CAAC;QACP,IAAI,CAAC;YACH,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YACrB,GAAG,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,cAAc,CACrB,UAAkB,EAClB,QAAgB;IAEhB,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/D,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,OAAO,UAAU,CAAC,SAAS,CAAC;IAC9B,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,EAAE,CAAC;QACpD,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC7B,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,CAAC,8CAA8C,CAAC,EAAE,CAAC;QAC9D,OAAO,UAAU,CAAC,UAAU,CAAC;IAC/B,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,CAAC,gDAAgD,CAAC,EAAE,CAAC;QAChE,OAAO,UAAU,CAAC,YAAY,CAAC;IACjC,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,CAAC,kDAAkD,CAAC,EAAE,CAAC;QAClE,OAAO,UAAU,CAAC,cAAc,CAAC;IACnC,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,CAAC,8CAA8C,CAAC,EAAE,CAAC;QAC9D,OAAO,UAAU,CAAC,UAAU,CAAC;IAC/B,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,OAAO,UAAU,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB,EAAE,UAAmB;IAC/D,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,MAAM,KAAK,GAAa,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAEtF,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,UAAU;gBAAE,SAAS;YAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,GAAG;oBACT,UAAU;oBACV,IAAI,EAAE,EAAE;iBACT,CAAC,CAAC;gBACH,qDAAqD;gBACrD,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAoB;IACnD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,aAAa,EAAE,CAAC;YAChB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;SAC1F,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEjD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,mCAAmC;aAC7C,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE;oBACjC,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,GAAG,CAAC,OAAO;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GACR,MAAM,CAAC,IAAI,CAAC,YAAmC;YAC/C,MAAM,CAAC,IAAI,CAAC,aAAoC;YAChD,MAAM,CAAC,IAAI,CAAC,WAAkC;YAC9C,MAAM,CAAC,IAAI,CAAC,eAAsC;YAClD,MAAM,CAAC,IAAI,CAAC,SAAgC,CAAC;QAChD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7C,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9D,+EAA+E;gBAC/E,mFAAmF;gBACnF,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC;gBACpF,IACE,eAAe,CAAC,MAAM,GAAG,CAAC;oBAC1B,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,WAAW,CAAC,EAC/D,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,QAAQ,EAAE,OAAO;wBACjB,OAAO,EAAE,iBAAiB,WAAW,+BAA+B;qBACrE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,oCAAoC;iBAC9C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,YAAY,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAChD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/E,2EAA2E;gBAC3E,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,KAAK,QAAQ,CAC9E,CAAC;gBACF,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,QAAQ,EAAE,OAAO;wBACjB,OAAO,EAAE,uBAAuB,QAAQ,8BAA8B;qBACvE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QACvB,MAAM;QACN,aAAa,EAAE,QAAQ,CAAC,MAAM;KAC/B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;QACzD,IAAI,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;IACtC,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAChH,CAAC"}
|
package/dist/skills/loader.d.ts
CHANGED
|
@@ -19,34 +19,34 @@ declare const SkillDefinitionSchema: z.ZodObject<{
|
|
|
19
19
|
}, z.core.$strip>;
|
|
20
20
|
permissions: z.ZodObject<{
|
|
21
21
|
data_products: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
22
|
-
write: "write";
|
|
23
|
-
read: "read";
|
|
24
22
|
create: "create";
|
|
25
23
|
delete: "delete";
|
|
26
|
-
}>>>>;
|
|
27
|
-
connectors: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
28
24
|
write: "write";
|
|
29
25
|
read: "read";
|
|
26
|
+
}>>>>;
|
|
27
|
+
connectors: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
30
28
|
create: "create";
|
|
31
29
|
delete: "delete";
|
|
32
|
-
}>>>>;
|
|
33
|
-
workflows: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
34
30
|
write: "write";
|
|
35
31
|
read: "read";
|
|
32
|
+
}>>>>;
|
|
33
|
+
workflows: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
36
34
|
create: "create";
|
|
37
35
|
delete: "delete";
|
|
38
|
-
}>>>>;
|
|
39
|
-
domains: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
40
36
|
write: "write";
|
|
41
37
|
read: "read";
|
|
38
|
+
}>>>>;
|
|
39
|
+
domains: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
42
40
|
create: "create";
|
|
43
41
|
delete: "delete";
|
|
44
|
-
}>>>>;
|
|
45
|
-
queues: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
46
42
|
write: "write";
|
|
47
43
|
read: "read";
|
|
44
|
+
}>>>>;
|
|
45
|
+
queues: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
48
46
|
create: "create";
|
|
49
47
|
delete: "delete";
|
|
48
|
+
write: "write";
|
|
49
|
+
read: "read";
|
|
50
50
|
}>>>>;
|
|
51
51
|
}, z.core.$strip>;
|
|
52
52
|
}, z.core.$strip>;
|
package/docs/getting-started.md
CHANGED
package/docs/quick-reference.md
CHANGED