@loxtep/sdk 0.7.15 → 0.7.17
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 +31 -3
- package/README.md +19 -11
- package/dist/cli/cli-list-output.d.ts +10 -3
- package/dist/cli/cli-list-output.d.ts.map +1 -1
- package/dist/cli/cli-list-output.js +12 -5
- package/dist/cli/cli-list-output.js.map +1 -1
- package/dist/cli/commands/activity-cmd.d.ts.map +1 -1
- package/dist/cli/commands/activity-cmd.js +1 -4
- package/dist/cli/commands/activity-cmd.js.map +1 -1
- package/dist/cli/commands/bundle-cmd.d.ts +15 -0
- package/dist/cli/commands/bundle-cmd.d.ts.map +1 -0
- package/dist/cli/commands/bundle-cmd.js +44 -0
- package/dist/cli/commands/bundle-cmd.js.map +1 -0
- package/dist/cli/commands/data-contracts-cmd.js +2 -2
- package/dist/cli/commands/data-products-cmd.js +2 -2
- package/dist/cli/commands/domains-cmd.js +2 -2
- package/dist/cli/commands/improvements-cmd.d.ts.map +1 -1
- package/dist/cli/commands/improvements-cmd.js +1 -4
- package/dist/cli/commands/improvements-cmd.js.map +1 -1
- package/dist/cli/commands/ingest-cmd.d.ts +20 -0
- package/dist/cli/commands/ingest-cmd.d.ts.map +1 -0
- package/dist/cli/commands/ingest-cmd.js +95 -0
- package/dist/cli/commands/ingest-cmd.js.map +1 -0
- package/dist/cli/commands/projects-cmd.js +2 -2
- package/dist/cli/commands/standards-cmd.js +2 -2
- package/dist/cli/commands/triggers-cmd.js +2 -2
- package/dist/cli/commands/workflows-cmd.js +2 -2
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +10 -1
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.js +32 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/workflows-types.d.ts +28 -0
- package/dist/client/workflows-types.d.ts.map +1 -1
- package/dist/client/workflows.d.ts +2 -1
- package/dist/client/workflows.d.ts.map +1 -1
- package/dist/client/workflows.js +7 -0
- package/dist/client/workflows.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/sdk-ingest-bundle.d.ts +24 -0
- package/dist/lib/sdk-ingest-bundle.d.ts.map +1 -0
- package/dist/lib/sdk-ingest-bundle.js +73 -0
- package/dist/lib/sdk-ingest-bundle.js.map +1 -0
- package/docs/code-first-cli.md +3 -3
- package/docs/examples/generate-ingest-bundle.mjs +133 -0
- package/docs/examples/write-events.mjs +54 -0
- package/docs/getting-started.md +46 -25
- package/docs/quick-reference.md +18 -4
- package/docs/sdk-first-ingest.md +304 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,35 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
|
6
6
|
and this project adheres to
|
|
7
7
|
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
8
8
|
|
|
9
|
+
## [0.7.17] - 2026-07-23
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- **`workflows.save_workflow_bundle(project_id, { files, dry_run? })`** — HTTP
|
|
14
|
+
wrapper for `POST /workflows/projects/{project_id}/workflow-bundle` (same
|
|
15
|
+
bundle shape as agent `save_workflow_bundle`; requires platform workflows MS
|
|
16
|
+
with the new endpoint deployed).
|
|
17
|
+
- **`buildSdkIngestBundle()`** — builds SDK-ingest topology (SDK connector
|
|
18
|
+
connection node → source data product) for programmatic or CLI provisioning.
|
|
19
|
+
- **CLI `loxtep ingest provision`** — create SDK connector, save workflow
|
|
20
|
+
bundle, and deploy to the attached instance (`--dry-run`, `--no-deploy`,
|
|
21
|
+
`--name`, `--domain-id`).
|
|
22
|
+
- **CLI `loxtep bundle save`** — persist a workflow bundle JSON file
|
|
23
|
+
(default `.loxtep/sdk-ingest-bundle.json`; supports `--dry-run`).
|
|
24
|
+
- **Docs** — [SDK-first ingest](./docs/sdk-first-ingest.md), example scripts
|
|
25
|
+
(`generate-ingest-bundle.mjs`, `write-events.mjs`), and Getting Started updates
|
|
26
|
+
for the MCP-free greenfield path.
|
|
27
|
+
|
|
28
|
+
## [0.7.16] - 2026-07-23
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- **CLI `list` stdout** is now a bare JSON **array** of summary rows (same as
|
|
33
|
+
`instances list`), not `{ items, pagination }`. Pagination and cursor metadata
|
|
34
|
+
remain in the raw API response, visible with `--debug` or `LOXTEP_DEBUG=1`.
|
|
35
|
+
Affected: `projects`, `domains`, `data-products`, `workflows`, `triggers`,
|
|
36
|
+
`standards`, `data-contracts`, `activity`, and `improvements`.
|
|
37
|
+
|
|
9
38
|
## [0.7.15] - 2026-07-23
|
|
10
39
|
|
|
11
40
|
### Changed
|
|
@@ -14,9 +43,8 @@ and this project adheres to
|
|
|
14
43
|
other fields needed to pick resources or configure workflows) instead of full
|
|
15
44
|
API records. Affected: `domains`, `data-products`, `workflows`, `triggers`,
|
|
16
45
|
`standards`, `data-contracts`, `improvements`, and `activity` (plus existing
|
|
17
|
-
`instances list`).
|
|
18
|
-
|
|
19
|
-
stderr.
|
|
46
|
+
`instances list`). Use `--debug` or `LOXTEP_DEBUG=1` to dump the raw API payload to
|
|
47
|
+
stderr. *(0.7.16: stdout is a bare array; pagination only in debug output.)*
|
|
20
48
|
- **`loxtep projects list | get <id>`** — discover project UUIDs in your org.
|
|
21
49
|
- **Getting Started** — documents what a project is, where `project_id` comes
|
|
22
50
|
from (`init` / `config list`), and that `workflows list` uses the workspace
|
package/README.md
CHANGED
|
@@ -101,18 +101,26 @@ Run these in an **empty directory** you want to turn into a Loxtep workspace.
|
|
|
101
101
|
Not in a scaffolded folder? Run `pnpm exec loxtep projects list` first, then
|
|
102
102
|
`workflows list --project-id <uuid>`.
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
and deploy workflows (below, or via MCP/UI) before calling `get_writer`.
|
|
104
|
+
6. **Provision your first source data product (SDK ingest)**
|
|
106
105
|
|
|
107
|
-
|
|
106
|
+
See **[SDK-first ingest](./docs/sdk-first-ingest.md)** — generate bundle,
|
|
107
|
+
save via MCP, deploy, then write:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
pnpm exec loxtep domains list
|
|
111
|
+
node node_modules/@loxtep/sdk/docs/examples/generate-ingest-bundle.mjs
|
|
112
|
+
# … save_workflow_bundle (MCP) + workflows deploy …
|
|
113
|
+
node node_modules/@loxtep/sdk/docs/examples/write-events.mjs
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
7. **Author code-first workflow modules** (optional, different path)
|
|
108
117
|
|
|
109
118
|
```bash
|
|
110
119
|
pnpm exec loxtep test <module> --event ./events/sample.json
|
|
111
120
|
pnpm exec loxtep deploy
|
|
112
121
|
```
|
|
113
122
|
|
|
114
|
-
See **[Code-first CLI guide](./docs/code-first-cli.md)
|
|
115
|
-
modules and templates.
|
|
123
|
+
See **[Code-first CLI guide](./docs/code-first-cli.md)**.
|
|
116
124
|
|
|
117
125
|
### Bootstrap the SDK from your workspace
|
|
118
126
|
|
|
@@ -127,20 +135,20 @@ const { user, organization } = await client.session.get_current_user();
|
|
|
127
135
|
console.log(user.email, organization?.name);
|
|
128
136
|
```
|
|
129
137
|
|
|
130
|
-
### Write and read events (after deploy)
|
|
138
|
+
### Write and read events (after SDK ingest deploy)
|
|
131
139
|
|
|
132
140
|
`get_writer` / `get_reader` resolve queue, bot, and stream config from
|
|
133
|
-
**deployment metadata**.
|
|
134
|
-
|
|
141
|
+
**deployment metadata**. Complete [SDK-first ingest](./docs/sdk-first-ingest.md)
|
|
142
|
+
before streaming:
|
|
135
143
|
|
|
136
144
|
```ts
|
|
137
145
|
const client = await LoxtepClient.fromWorkspace();
|
|
138
146
|
|
|
139
|
-
const writer = await client.get_writer('
|
|
140
|
-
writer.write({
|
|
147
|
+
const writer = await client.get_writer('app-events');
|
|
148
|
+
writer.write({ event_id: '1', payload: { hello: 'world' } });
|
|
141
149
|
await writer.close();
|
|
142
150
|
|
|
143
|
-
const reader = await client.get_reader('
|
|
151
|
+
const reader = await client.get_reader('app-events');
|
|
144
152
|
for await (const event of reader) {
|
|
145
153
|
console.log(event);
|
|
146
154
|
break;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared stdout/stderr formatting for CLI `list` subcommands.
|
|
3
|
-
* Default output is a pruned
|
|
3
|
+
* Default output is a pruned JSON **array** of summary rows (human + jq friendly).
|
|
4
|
+
* Raw API payloads (including pagination/cursor) go to stderr with --debug or LOXTEP_DEBUG=1.
|
|
4
5
|
*/
|
|
5
6
|
export interface CliListOutputOptions {
|
|
6
7
|
debug?: boolean;
|
|
@@ -8,8 +9,14 @@ export interface CliListOutputOptions {
|
|
|
8
9
|
label?: string;
|
|
9
10
|
}
|
|
10
11
|
export declare function isCliListDebugEnabled(options?: CliListOutputOptions): boolean;
|
|
11
|
-
export declare function printCliListOutput(
|
|
12
|
-
/** Map list
|
|
12
|
+
export declare function printCliListOutput(summaryRows: unknown[], raw: unknown, options?: CliListOutputOptions): void;
|
|
13
|
+
/** Map paginated SDK list results to a flat summary array for CLI stdout. */
|
|
14
|
+
export declare function mapListSummaries<T, S>(data: {
|
|
15
|
+
items: T[];
|
|
16
|
+
}, mapItem: (item: T) => S): S[];
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated CLI stdout is a bare array; use {@link mapListSummaries}. Pagination belongs in --debug raw output only.
|
|
19
|
+
*/
|
|
13
20
|
export declare function mapPaginatedList<T, S>(data: {
|
|
14
21
|
items: T[];
|
|
15
22
|
pagination?: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-list-output.d.ts","sourceRoot":"","sources":["../../src/cli/cli-list-output.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cli-list-output.d.ts","sourceRoot":"","sources":["../../src/cli/cli-list-output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAE7E;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,OAAO,EAAE,EACtB,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE,oBAAoB,GAC7B,IAAI,CAON;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EACnC,IAAI,EAAE;IAAE,KAAK,EAAE,CAAC,EAAE,CAAA;CAAE,EACpB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GACtB,CAAC,EAAE,CAEL;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EACnC,IAAI,EAAE;IAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,EAC1C,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GACtB;IAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAKtC"}
|
|
@@ -1,22 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared stdout/stderr formatting for CLI `list` subcommands.
|
|
3
|
-
* Default output is a pruned
|
|
3
|
+
* Default output is a pruned JSON **array** of summary rows (human + jq friendly).
|
|
4
|
+
* Raw API payloads (including pagination/cursor) go to stderr with --debug or LOXTEP_DEBUG=1.
|
|
4
5
|
*/
|
|
5
6
|
export function isCliListDebugEnabled(options) {
|
|
6
7
|
return options?.debug === true || process.env.LOXTEP_DEBUG === '1';
|
|
7
8
|
}
|
|
8
|
-
export function printCliListOutput(
|
|
9
|
+
export function printCliListOutput(summaryRows, raw, options) {
|
|
9
10
|
if (isCliListDebugEnabled(options)) {
|
|
10
11
|
const label = options?.label ?? 'list';
|
|
11
12
|
console.error(`[loxtep ${label} debug] raw API response:`);
|
|
12
13
|
console.error(JSON.stringify(raw, null, 2));
|
|
13
14
|
}
|
|
14
|
-
console.log(JSON.stringify(
|
|
15
|
+
console.log(JSON.stringify(summaryRows, null, 2));
|
|
15
16
|
}
|
|
16
|
-
/** Map list
|
|
17
|
+
/** Map paginated SDK list results to a flat summary array for CLI stdout. */
|
|
18
|
+
export function mapListSummaries(data, mapItem) {
|
|
19
|
+
return data.items.map(mapItem);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated CLI stdout is a bare array; use {@link mapListSummaries}. Pagination belongs in --debug raw output only.
|
|
23
|
+
*/
|
|
17
24
|
export function mapPaginatedList(data, mapItem) {
|
|
18
25
|
return {
|
|
19
|
-
items: data
|
|
26
|
+
items: mapListSummaries(data, mapItem),
|
|
20
27
|
...(data.pagination !== undefined ? { pagination: data.pagination } : {}),
|
|
21
28
|
};
|
|
22
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-list-output.js","sourceRoot":"","sources":["../../src/cli/cli-list-output.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cli-list-output.js","sourceRoot":"","sources":["../../src/cli/cli-list-output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,UAAU,qBAAqB,CAAC,OAA8B;IAClE,OAAO,OAAO,EAAE,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,WAAsB,EACtB,GAAY,EACZ,OAA8B;IAE9B,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,WAAW,KAAK,2BAA2B,CAAC,CAAC;QAC3D,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAC9B,IAAoB,EACpB,OAAuB;IAEvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAA0C,EAC1C,OAAuB;IAEvB,OAAO;QACL,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC;QACtC,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1E,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/activity-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIvD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"activity-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/activity-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIvD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,SAAS,CAAC,CAgCpB"}
|
|
@@ -42,10 +42,7 @@ export async function runActivityListCommand(client, options) {
|
|
|
42
42
|
if (options?.limit != null)
|
|
43
43
|
filters.limit = options.limit;
|
|
44
44
|
const result = await client.context.activity.list(filters);
|
|
45
|
-
const summary =
|
|
46
|
-
items: result.entries.map(toActivityListSummary),
|
|
47
|
-
cursor: result.cursor,
|
|
48
|
-
};
|
|
45
|
+
const summary = result.entries.map(toActivityListSummary);
|
|
49
46
|
return {
|
|
50
47
|
exitCode: 0,
|
|
51
48
|
stdout: [JSON.stringify(summary, null, 2)],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/activity-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAIvE,MAAM,aAAa,GAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAWpE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAoB,EACpB,OAA6B;IAE7B,IAAI,CAAC;QACH,yBAAyB;QACzB,IAAI,OAAO,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAwB,CAAC,EAAE,CAAC;YACjF,OAAO;gBACL,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE;oBACN,2BAA2B,OAAO,CAAC,MAAM,sBAAsB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;iBAC3F;aACF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,IAAI,OAAO,EAAE,MAAM;YAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAwB,CAAC;QACvE,IAAI,OAAO,EAAE,KAAK;YAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAClD,IAAI,OAAO,EAAE,aAAa;YAAE,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC1E,IAAI,OAAO,EAAE,IAAI;YAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;QAChD,IAAI,OAAO,EAAE,EAAE;YAAE,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;QAC1C,IAAI,OAAO,EAAE,KAAK,IAAI,IAAI;YAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG
|
|
1
|
+
{"version":3,"file":"activity-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/activity-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAIvE,MAAM,aAAa,GAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAWpE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAoB,EACpB,OAA6B;IAE7B,IAAI,CAAC;QACH,yBAAyB;QACzB,IAAI,OAAO,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAwB,CAAC,EAAE,CAAC;YACjF,OAAO;gBACL,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE;oBACN,2BAA2B,OAAO,CAAC,MAAM,sBAAsB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;iBAC3F;aACF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,IAAI,OAAO,EAAE,MAAM;YAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAwB,CAAC;QACvE,IAAI,OAAO,EAAE,KAAK;YAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAClD,IAAI,OAAO,EAAE,aAAa;YAAE,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC1E,IAAI,OAAO,EAAE,IAAI;YAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;QAChD,IAAI,OAAO,EAAE,EAAE;YAAE,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;QAC1C,IAAI,OAAO,EAAE,KAAK,IAAI,IAAI;YAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC1D,OAAO;YACL,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1C,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,4BAA4B,OAAO,EAAE,CAAC,EAAE,CAAC;IACtF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI: loxtep bundle save — persist a workflow entity bundle to the project workspace.
|
|
3
|
+
*/
|
|
4
|
+
export interface BundleCmdOptions {
|
|
5
|
+
configFilePath?: string;
|
|
6
|
+
credentialsPath?: string;
|
|
7
|
+
customerMcpPath?: string;
|
|
8
|
+
debug?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function runBundleSave(params: {
|
|
11
|
+
file?: string;
|
|
12
|
+
project_id?: string;
|
|
13
|
+
dry_run?: boolean;
|
|
14
|
+
}, options?: BundleCmdOptions): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=bundle-cmd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/bundle-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAgBD,wBAAsB,aAAa,CACjC,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EACjE,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAmCf"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI: loxtep bundle save — persist a workflow entity bundle to the project workspace.
|
|
3
|
+
*/
|
|
4
|
+
import { readFileSync } from 'node:fs';
|
|
5
|
+
import { resolve } from 'node:path';
|
|
6
|
+
import { requireCliClient } from '../create-cli-client.js';
|
|
7
|
+
function parseBundleFile(filePath) {
|
|
8
|
+
const raw = JSON.parse(readFileSync(filePath, 'utf8'));
|
|
9
|
+
if (raw.files && typeof raw.files === 'object') {
|
|
10
|
+
return {
|
|
11
|
+
project_id: typeof raw.project_id === 'string' ? raw.project_id : undefined,
|
|
12
|
+
files: raw.files,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
return { files: raw };
|
|
16
|
+
}
|
|
17
|
+
export async function runBundleSave(params, options = {}) {
|
|
18
|
+
const { client, config } = await requireCliClient(options);
|
|
19
|
+
const filePath = resolve(params.file ?? '.loxtep/sdk-ingest-bundle.json');
|
|
20
|
+
let parsed;
|
|
21
|
+
try {
|
|
22
|
+
parsed = parseBundleFile(filePath);
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
console.error(`Failed to read bundle file ${filePath}: ${err instanceof Error ? err.message : String(err)}`);
|
|
26
|
+
process.exitCode = 1;
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const projectId = params.project_id ?? parsed.project_id ?? config.project_id;
|
|
30
|
+
if (!projectId) {
|
|
31
|
+
console.error('Missing project_id. Pass --project-id, include project_id in the bundle file, or run from an attached workspace.');
|
|
32
|
+
process.exitCode = 1;
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const result = await client.build.workflows.save_workflow_bundle(projectId, {
|
|
36
|
+
files: parsed.files,
|
|
37
|
+
dry_run: params.dry_run ?? false,
|
|
38
|
+
});
|
|
39
|
+
console.log(JSON.stringify(result, null, 2));
|
|
40
|
+
if (params.dry_run) {
|
|
41
|
+
console.error(`Dry run passed for workflow ${result.workflow_id}. Re-run without --dry-run to persist.`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=bundle-cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/bundle-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAS3D,SAAS,eAAe,CAAC,QAAgB;IAIvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAA4B,CAAC;IAClF,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO;YACL,UAAU,EAAE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC3E,KAAK,EAAE,GAAG,CAAC,KAAgD;SAC5D,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,GAA8C,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAiE,EACjE,UAA4B,EAAE;IAE9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,gCAAgC,CAAC,CAAC;IAC1E,IAAI,MAA+E,CAAC;IACpF,IAAI,CAAC;QACH,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,8BAA8B,QAAQ,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9F,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC;IAC9E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,kHAAkH,CACnH,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE;QAC1E,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;KACjC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CACX,+BAA+B,MAAM,CAAC,WAAW,wCAAwC,CAC1F,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
* Data contracts (backend). Uses SDK data_contracts surface (GET /dataproducts/datacontracts).
|
|
4
4
|
*/
|
|
5
5
|
import { toDataContractListSummary } from '../../client/list-summaries.js';
|
|
6
|
-
import {
|
|
6
|
+
import { mapListSummaries, printCliListOutput } from '../cli-list-output.js';
|
|
7
7
|
import { requireCliClient } from '../create-cli-client.js';
|
|
8
8
|
export async function runDataContractsList(options = {}) {
|
|
9
9
|
const { client } = await requireCliClient(options);
|
|
10
10
|
try {
|
|
11
11
|
const result = await client.define.data_contracts.list();
|
|
12
|
-
const summary =
|
|
12
|
+
const summary = mapListSummaries(result, toDataContractListSummary);
|
|
13
13
|
printCliListOutput(summary, result, { ...options, label: 'data-contracts list' });
|
|
14
14
|
}
|
|
15
15
|
catch (err) {
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* CLI: loxtep data-products list | get | query | tables | create
|
|
3
3
|
*/
|
|
4
4
|
import { toDataProductListSummary } from '../../client/list-summaries.js';
|
|
5
|
-
import {
|
|
5
|
+
import { mapListSummaries, printCliListOutput } from '../cli-list-output.js';
|
|
6
6
|
import { requireCliClient } from '../create-cli-client.js';
|
|
7
7
|
export async function runDataProductsList(options = {}) {
|
|
8
8
|
const { client } = await requireCliClient(options);
|
|
9
9
|
const result = await client.build.data_products.list({ page_size: 20 });
|
|
10
|
-
const summary =
|
|
10
|
+
const summary = mapListSummaries(result, toDataProductListSummary);
|
|
11
11
|
printCliListOutput(summary, result, { ...options, label: 'data-products list' });
|
|
12
12
|
}
|
|
13
13
|
export async function runDataProductsGet(dataProductId, options = {}) {
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
* Uses SDK domains surface (GET /organizations/domains).
|
|
4
4
|
*/
|
|
5
5
|
import { toDomainListSummary } from '../../client/list-summaries.js';
|
|
6
|
-
import {
|
|
6
|
+
import { mapListSummaries, printCliListOutput } from '../cli-list-output.js';
|
|
7
7
|
import { requireCliClient } from '../create-cli-client.js';
|
|
8
8
|
export async function runDomainsList(options = {}) {
|
|
9
9
|
const { client } = await requireCliClient(options);
|
|
10
10
|
try {
|
|
11
11
|
const result = await client.define.domains.list();
|
|
12
|
-
const summary =
|
|
12
|
+
const summary = mapListSummaries(result, toDomainListSummary);
|
|
13
13
|
printCliListOutput(summary, result, { ...options, label: 'domains list' });
|
|
14
14
|
}
|
|
15
15
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improvements-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/improvements-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"improvements-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/improvements-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD,OAAO,CAAC,SAAS,CAAC,CA4BpB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,MAAM,EACV,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,CAAC,CAuFpB;AAED;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,SAAS,CAAC,CAmBpB"}
|
|
@@ -36,10 +36,7 @@ export async function runImprovementsListCommand(client, options) {
|
|
|
36
36
|
filters.workflow_name = options.workflow_name;
|
|
37
37
|
}
|
|
38
38
|
const result = await client.review.improvements.list(filters);
|
|
39
|
-
const summary =
|
|
40
|
-
items: result.improvements.map(toImprovementListSummary),
|
|
41
|
-
cursor: result.cursor,
|
|
42
|
-
};
|
|
39
|
+
const summary = result.improvements.map(toImprovementListSummary);
|
|
43
40
|
return {
|
|
44
41
|
exitCode: 0,
|
|
45
42
|
stdout: [JSON.stringify(summary, null, 2)],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improvements-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/improvements-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAY,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EACL,cAAc,EACd,uBAAuB,GAExB,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAoB,EACpB,OAAqD;IAErD,IAAI,CAAC;QACH,MAAM,OAAO,GAA6E,EAAE,CAAC;QAC7F,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClE,OAAO;oBACL,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,CAAC,2BAA2B,OAAO,CAAC,MAAM,iDAAiD,CAAC;iBACrG,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAA6C,CAAC;QACzE,CAAC;QACD,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;YAC3B,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAChD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG
|
|
1
|
+
{"version":3,"file":"improvements-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/improvements-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI: loxtep ingest provision — SDK connector + workflow bundle + optional deploy.
|
|
3
|
+
*/
|
|
4
|
+
export interface IngestCmdOptions {
|
|
5
|
+
configFilePath?: string;
|
|
6
|
+
credentialsPath?: string;
|
|
7
|
+
customerMcpPath?: string;
|
|
8
|
+
debug?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function runIngestProvision(params: {
|
|
11
|
+
name?: string;
|
|
12
|
+
domain_id?: string;
|
|
13
|
+
workflow_name?: string;
|
|
14
|
+
project_id?: string;
|
|
15
|
+
instance_id?: string;
|
|
16
|
+
dry_run?: boolean;
|
|
17
|
+
no_deploy?: boolean;
|
|
18
|
+
write_bundle_file?: boolean;
|
|
19
|
+
}, options?: IngestCmdOptions): Promise<void>;
|
|
20
|
+
//# sourceMappingURL=ingest-cmd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingest-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ingest-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE;IACN,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,EACD,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAgHf"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI: loxtep ingest provision — SDK connector + workflow bundle + optional deploy.
|
|
3
|
+
*/
|
|
4
|
+
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
5
|
+
import { join } from 'node:path';
|
|
6
|
+
import { buildSdkIngestBundle } from '../../lib/sdk-ingest-bundle.js';
|
|
7
|
+
import { requireCliClient } from '../create-cli-client.js';
|
|
8
|
+
export async function runIngestProvision(params, options = {}) {
|
|
9
|
+
const { client, config } = await requireCliClient(options);
|
|
10
|
+
const dataProductName = params.name ?? 'app-events';
|
|
11
|
+
const projectId = params.project_id ?? config.project_id;
|
|
12
|
+
const instanceId = (params.instance_id && params.instance_id.trim()) || config.instance_id;
|
|
13
|
+
if (!projectId) {
|
|
14
|
+
console.error('Missing project_id. Run `loxtep init` and attach a project first.');
|
|
15
|
+
process.exitCode = 1;
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (!params.dry_run && !params.no_deploy && !instanceId) {
|
|
19
|
+
console.error('Missing instance_id for deploy. Pass --instance-id, run `loxtep attach`, or use --no-deploy / --dry-run.');
|
|
20
|
+
process.exitCode = 1;
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const user = await client.session.get_current_user();
|
|
24
|
+
const organizationId = user.organization_id ?? client.organization_id;
|
|
25
|
+
if (!organizationId) {
|
|
26
|
+
console.error('Missing organization_id in session.');
|
|
27
|
+
process.exitCode = 1;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
let domainId = params.domain_id;
|
|
31
|
+
if (!domainId) {
|
|
32
|
+
const domains = await client.define.domains.list({ page_size: 20 });
|
|
33
|
+
const items = domains.items ?? [];
|
|
34
|
+
if (items.length === 0) {
|
|
35
|
+
console.error('No domains found. Create one in the Web UI (Governance → Domains) or pass --domain-id.');
|
|
36
|
+
process.exitCode = 1;
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
domainId = items[0].domain_id;
|
|
40
|
+
console.error(`Using domain: ${items[0].name} (${domainId})`);
|
|
41
|
+
}
|
|
42
|
+
console.error('Creating SDK connector…');
|
|
43
|
+
const connector = await client.connect.connectors.create({
|
|
44
|
+
connector_type: 'sdk',
|
|
45
|
+
metadata: { name: 'SDK Connector', created_by: 'loxtep-ingest-provision' },
|
|
46
|
+
});
|
|
47
|
+
const bundle = buildSdkIngestBundle({
|
|
48
|
+
organization_id: organizationId,
|
|
49
|
+
project_id: projectId,
|
|
50
|
+
domain_id: domainId,
|
|
51
|
+
connector_id: connector.connector_id,
|
|
52
|
+
data_product_name: dataProductName,
|
|
53
|
+
workflow_name: params.workflow_name,
|
|
54
|
+
user_id: user.user_id,
|
|
55
|
+
});
|
|
56
|
+
if (params.write_bundle_file !== false) {
|
|
57
|
+
mkdirSync('.loxtep', { recursive: true });
|
|
58
|
+
const outPath = join('.loxtep', 'sdk-ingest-bundle.json');
|
|
59
|
+
writeFileSync(outPath, JSON.stringify({ project_id: projectId, files: bundle.files }, null, 2));
|
|
60
|
+
console.error(`Wrote bundle file: ${outPath}`);
|
|
61
|
+
}
|
|
62
|
+
console.error(params.dry_run ? 'Validating workflow bundle (dry run)…' : 'Saving workflow bundle…');
|
|
63
|
+
const saveResult = await client.build.workflows.save_workflow_bundle(projectId, {
|
|
64
|
+
files: bundle.files,
|
|
65
|
+
dry_run: params.dry_run ?? false,
|
|
66
|
+
});
|
|
67
|
+
if (params.dry_run) {
|
|
68
|
+
console.log(JSON.stringify({ ...bundle, save: saveResult }, null, 2));
|
|
69
|
+
console.error(`Dry run passed for workflow ${saveResult.workflow_id}. Re-run without --dry-run to persist and deploy.`);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
let deployResult;
|
|
73
|
+
if (!params.no_deploy && instanceId) {
|
|
74
|
+
console.error('Deploying project to instance…');
|
|
75
|
+
deployResult = await client.build.workflows.deploy({
|
|
76
|
+
project_id: projectId,
|
|
77
|
+
instance_id: instanceId,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
console.log(JSON.stringify({
|
|
81
|
+
connector_id: connector.connector_id,
|
|
82
|
+
workflow_id: saveResult.workflow_id,
|
|
83
|
+
data_product_id: bundle.data_product_id,
|
|
84
|
+
data_product_name: bundle.data_product_name,
|
|
85
|
+
save: saveResult,
|
|
86
|
+
deploy: deployResult,
|
|
87
|
+
}, null, 2));
|
|
88
|
+
if (!params.no_deploy && instanceId) {
|
|
89
|
+
console.error(`
|
|
90
|
+
Next: write events with get_writer('${dataProductName}') or:
|
|
91
|
+
LOXTEP_DATA_PRODUCT_NAME=${dataProductName} node node_modules/@loxtep/sdk/docs/examples/write-events.mjs
|
|
92
|
+
`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=ingest-cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingest-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/ingest-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
* Projects are the platform container for workflows, connectors, and deploy targets.
|
|
4
4
|
*/
|
|
5
5
|
import { toProjectListSummary } from '../../client/list-summaries.js';
|
|
6
|
-
import {
|
|
6
|
+
import { mapListSummaries, printCliListOutput } from '../cli-list-output.js';
|
|
7
7
|
import { requireCliClient } from '../create-cli-client.js';
|
|
8
8
|
export async function runProjectsList(options = {}) {
|
|
9
9
|
const { client } = await requireCliClient(options);
|
|
10
10
|
try {
|
|
11
11
|
const result = await client.workspace.projects.list({ page_size: 100 });
|
|
12
|
-
const summary =
|
|
12
|
+
const summary = mapListSummaries(result, toProjectListSummary);
|
|
13
13
|
printCliListOutput(summary, result, { ...options, label: 'projects list' });
|
|
14
14
|
}
|
|
15
15
|
catch (err) {
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
* Standards = policies (backend). Uses SDK standards surface (GET /governance/standards).
|
|
4
4
|
*/
|
|
5
5
|
import { toStandardListSummary } from '../../client/list-summaries.js';
|
|
6
|
-
import {
|
|
6
|
+
import { mapListSummaries, printCliListOutput } from '../cli-list-output.js';
|
|
7
7
|
import { requireCliClient } from '../create-cli-client.js';
|
|
8
8
|
export async function runStandardsList(options = {}) {
|
|
9
9
|
const { client } = await requireCliClient(options);
|
|
10
10
|
try {
|
|
11
11
|
const result = await client.define.standards.list();
|
|
12
|
-
const summary =
|
|
12
|
+
const summary = mapListSummaries(result, toStandardListSummary);
|
|
13
13
|
printCliListOutput(summary, result, { ...options, label: 'standards list' });
|
|
14
14
|
}
|
|
15
15
|
catch (err) {
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* CLI: loxtep triggers list | triggers get <id> | triggers create ... | triggers test <id>
|
|
3
3
|
*/
|
|
4
4
|
import { toTriggerListSummary } from '../../client/list-summaries.js';
|
|
5
|
-
import {
|
|
5
|
+
import { mapListSummaries, printCliListOutput } from '../cli-list-output.js';
|
|
6
6
|
import { requireCliClient } from '../create-cli-client.js';
|
|
7
7
|
export async function runTriggersList(options = {}) {
|
|
8
8
|
const { client } = await requireCliClient(options);
|
|
9
9
|
const result = await client.build.triggers.list({ page_size: 50 });
|
|
10
|
-
const summary =
|
|
10
|
+
const summary = mapListSummaries(result, toTriggerListSummary);
|
|
11
11
|
printCliListOutput(summary, result, { ...options, label: 'triggers list' });
|
|
12
12
|
}
|
|
13
13
|
export async function runTriggersGet(triggerId, options = {}) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* CLI: loxtep workflows list | get <id> | create ... | deploy (backend workflows MS).
|
|
3
3
|
*/
|
|
4
4
|
import { toWorkflowListSummary } from '../../client/list-summaries.js';
|
|
5
|
-
import {
|
|
5
|
+
import { mapListSummaries, printCliListOutput } from '../cli-list-output.js';
|
|
6
6
|
import { requireCliClient } from '../create-cli-client.js';
|
|
7
7
|
export async function runWorkflowsList(options = {}) {
|
|
8
8
|
const { client, config } = await requireCliClient(options);
|
|
@@ -16,7 +16,7 @@ export async function runWorkflowsList(options = {}) {
|
|
|
16
16
|
return;
|
|
17
17
|
}
|
|
18
18
|
const result = await client.build.workflows.list({ project_id: projectId, page_size: 50 });
|
|
19
|
-
const summary =
|
|
19
|
+
const summary = mapListSummaries(result, toWorkflowListSummary);
|
|
20
20
|
printCliListOutput(summary, result, { ...options, label: 'workflows list' });
|
|
21
21
|
}
|
|
22
22
|
export async function runWorkflowsGet(workflowId, options = {}) {
|
package/dist/cli/help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,QAAQ,QAqFV,CAAC;AAEZ,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
|
package/dist/cli/help.js
CHANGED
|
@@ -25,6 +25,10 @@ Workspace
|
|
|
25
25
|
Provision and register runtime instances
|
|
26
26
|
|
|
27
27
|
Build & deploy
|
|
28
|
+
ingest provision [--name app-events] [--domain-id <id>] [--dry-run] [--no-deploy]
|
|
29
|
+
SDK connector + workflow bundle + deploy (CLI-only path)
|
|
30
|
+
bundle save [--file .loxtep/sdk-ingest-bundle.json] [--dry-run]
|
|
31
|
+
Persist a workflow entity bundle JSON to the project workspace
|
|
28
32
|
test <module> --event <file>
|
|
29
33
|
Run a workflow module locally (action trace)
|
|
30
34
|
deploy Compile workflow modules and deploy to the attached instance
|
|
@@ -64,6 +68,11 @@ Configuration
|
|
|
64
68
|
|
|
65
69
|
Examples:
|
|
66
70
|
pnpm exec loxtep login
|
|
71
|
+
pnpm exec loxtep init && pnpm exec loxtep attach --instance <id>
|
|
72
|
+
pnpm exec loxtep ingest provision --name app-events
|
|
73
|
+
pnpm exec loxtep bundle save --dry-run
|
|
74
|
+
pnpm exec loxtep workflows deploy --project-id <id> --instance-id <id>
|
|
75
|
+
node node_modules/@loxtep/sdk/docs/examples/write-events.mjs
|
|
67
76
|
pnpm exec loxtep init --template shopify-orders
|
|
68
77
|
pnpm exec loxtep attach --instance prod && pnpm exec loxtep generate
|
|
69
78
|
pnpm exec loxtep projects list
|
|
@@ -76,7 +85,7 @@ Examples:
|
|
|
76
85
|
pnpm exec loxtep observe status
|
|
77
86
|
pnpm exec loxtep config export --from-connector <connector-id> --format json
|
|
78
87
|
|
|
79
|
-
Docs: nodejs/docs/code-first-cli.md · nodejs/docs/getting-started.md · nodejs/docs/quick-reference.md
|
|
88
|
+
Docs: nodejs/docs/sdk-first-ingest.md · nodejs/docs/code-first-cli.md · nodejs/docs/getting-started.md · nodejs/docs/quick-reference.md
|
|
80
89
|
`.trimEnd();
|
|
81
90
|
export function printCliHelp() {
|
|
82
91
|
console.log(CLI_HELP);
|