@loxtep/sdk 0.2.3 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +68 -0
- package/README.md +255 -4
- package/dist/authoring/agent.d.ts +164 -0
- package/dist/authoring/agent.d.ts.map +1 -0
- package/dist/authoring/agent.js +376 -0
- package/dist/authoring/agent.js.map +1 -0
- package/dist/authoring/compiler.d.ts +103 -0
- package/dist/authoring/compiler.d.ts.map +1 -0
- package/dist/authoring/compiler.js +305 -0
- package/dist/authoring/compiler.js.map +1 -0
- package/dist/authoring/define-data-workflow.d.ts +24 -0
- package/dist/authoring/define-data-workflow.d.ts.map +1 -0
- package/dist/authoring/define-data-workflow.js +93 -0
- package/dist/authoring/define-data-workflow.js.map +1 -0
- package/dist/authoring/index.d.ts +19 -0
- package/dist/authoring/index.d.ts.map +1 -0
- package/dist/authoring/index.js +15 -0
- package/dist/authoring/index.js.map +1 -0
- package/dist/authoring/toolbox.d.ts +133 -0
- package/dist/authoring/toolbox.d.ts.map +1 -0
- package/dist/authoring/toolbox.js +166 -0
- package/dist/authoring/toolbox.js.map +1 -0
- package/dist/authoring/triggers.d.ts +41 -0
- package/dist/authoring/triggers.d.ts.map +1 -0
- package/dist/authoring/triggers.js +60 -0
- package/dist/authoring/triggers.js.map +1 -0
- package/dist/authoring/types.d.ts +111 -0
- package/dist/authoring/types.d.ts.map +1 -0
- package/dist/authoring/types.js +9 -0
- package/dist/authoring/types.js.map +1 -0
- package/dist/cli/commands/activity-cmd.d.ts +28 -0
- package/dist/cli/commands/activity-cmd.d.ts.map +1 -0
- package/dist/cli/commands/activity-cmd.js +78 -0
- package/dist/cli/commands/activity-cmd.js.map +1 -0
- package/dist/cli/commands/attach-cmd.d.ts +38 -0
- package/dist/cli/commands/attach-cmd.d.ts.map +1 -0
- package/dist/cli/commands/attach-cmd.js +141 -0
- package/dist/cli/commands/attach-cmd.js.map +1 -0
- package/dist/cli/commands/data-contracts-cmd.d.ts +8 -0
- package/dist/cli/commands/data-contracts-cmd.d.ts.map +1 -1
- package/dist/cli/commands/data-contracts-cmd.js +11 -0
- package/dist/cli/commands/data-contracts-cmd.js.map +1 -1
- package/dist/cli/commands/data-products-cmd.d.ts +2 -0
- package/dist/cli/commands/data-products-cmd.d.ts.map +1 -1
- package/dist/cli/commands/data-products-cmd.js +35 -0
- package/dist/cli/commands/data-products-cmd.js.map +1 -1
- package/dist/cli/commands/deploy-cmd.d.ts +101 -0
- package/dist/cli/commands/deploy-cmd.d.ts.map +1 -0
- package/dist/cli/commands/deploy-cmd.js +461 -0
- package/dist/cli/commands/deploy-cmd.js.map +1 -0
- package/dist/cli/commands/generate-cmd.d.ts +35 -0
- package/dist/cli/commands/generate-cmd.d.ts.map +1 -0
- package/dist/cli/commands/generate-cmd.js +134 -0
- package/dist/cli/commands/generate-cmd.js.map +1 -0
- package/dist/cli/commands/improvements-cmd.d.ts +44 -0
- package/dist/cli/commands/improvements-cmd.d.ts.map +1 -0
- package/dist/cli/commands/improvements-cmd.js +215 -0
- package/dist/cli/commands/improvements-cmd.js.map +1 -0
- package/dist/cli/commands/init-cmd.d.ts +78 -0
- package/dist/cli/commands/init-cmd.d.ts.map +1 -0
- package/dist/cli/commands/init-cmd.js +250 -0
- package/dist/cli/commands/init-cmd.js.map +1 -0
- package/dist/cli/commands/instances-cmd.d.ts +37 -0
- package/dist/cli/commands/instances-cmd.d.ts.map +1 -0
- package/dist/cli/commands/instances-cmd.js +150 -0
- package/dist/cli/commands/instances-cmd.js.map +1 -0
- package/dist/cli/commands/test-cmd.d.ts +89 -0
- package/dist/cli/commands/test-cmd.d.ts.map +1 -0
- package/dist/cli/commands/test-cmd.js +378 -0
- package/dist/cli/commands/test-cmd.js.map +1 -0
- package/dist/cli/index.d.ts +5 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +240 -8
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/project-context.d.ts +153 -0
- package/dist/cli/project-context.d.ts.map +1 -0
- package/dist/cli/project-context.js +190 -0
- package/dist/cli/project-context.js.map +1 -0
- package/dist/client/activity-types.d.ts +66 -0
- package/dist/client/activity-types.d.ts.map +1 -0
- package/dist/client/activity-types.js +9 -0
- package/dist/client/activity-types.js.map +1 -0
- package/dist/client/activity.d.ts +22 -0
- package/dist/client/activity.d.ts.map +1 -0
- package/dist/client/activity.js +43 -0
- package/dist/client/activity.js.map +1 -0
- package/dist/client/data-products-types.d.ts +23 -0
- package/dist/client/data-products-types.d.ts.map +1 -1
- package/dist/client/data-products.d.ts +3 -1
- package/dist/client/data-products.d.ts.map +1 -1
- package/dist/client/data-products.js +20 -98
- package/dist/client/data-products.js.map +1 -1
- package/dist/client/{consumptions-types.d.ts → delivery-types.d.ts} +25 -8
- package/dist/client/delivery-types.d.ts.map +1 -0
- package/dist/client/delivery-types.js +10 -0
- package/dist/client/delivery-types.js.map +1 -0
- package/dist/client/delivery.d.ts +23 -0
- package/dist/client/delivery.d.ts.map +1 -0
- package/dist/client/delivery.js +105 -0
- package/dist/client/delivery.js.map +1 -0
- package/dist/client/flow-types.d.ts +4 -2
- package/dist/client/flow-types.d.ts.map +1 -1
- package/dist/client/flows.d.ts +1 -1
- package/dist/client/flows.d.ts.map +1 -1
- package/dist/client/flows.js +49 -124
- package/dist/client/flows.js.map +1 -1
- package/dist/client/improvements-types.d.ts +55 -0
- package/dist/client/improvements-types.d.ts.map +1 -0
- package/dist/client/improvements-types.js +9 -0
- package/dist/client/improvements-types.js.map +1 -0
- package/dist/client/improvements.d.ts +29 -0
- package/dist/client/improvements.d.ts.map +1 -0
- package/dist/client/improvements.js +50 -0
- package/dist/client/improvements.js.map +1 -0
- package/dist/client/index.d.ts +8 -3
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/instances-types.d.ts +92 -0
- package/dist/client/instances-types.d.ts.map +1 -1
- package/dist/client/instances.d.ts +26 -4
- package/dist/client/instances.d.ts.map +1 -1
- package/dist/client/instances.js +94 -3
- package/dist/client/instances.js.map +1 -1
- package/dist/client/loxtep-client.d.ts +48 -3
- package/dist/client/loxtep-client.d.ts.map +1 -1
- package/dist/client/loxtep-client.js +73 -5
- package/dist/client/loxtep-client.js.map +1 -1
- package/dist/client/projects-types.d.ts +25 -0
- package/dist/client/projects-types.d.ts.map +1 -1
- package/dist/client/projects.d.ts +2 -1
- package/dist/client/projects.d.ts.map +1 -1
- package/dist/client/projects.js +17 -0
- package/dist/client/projects.js.map +1 -1
- package/dist/client/promises.d.ts +11 -0
- package/dist/client/promises.d.ts.map +1 -1
- package/dist/client/promises.js +11 -0
- package/dist/client/promises.js.map +1 -1
- package/dist/client/queue-types.d.ts +15 -2
- package/dist/client/queue-types.d.ts.map +1 -1
- package/dist/client/queues.d.ts.map +1 -1
- package/dist/client/queues.js +3 -14
- package/dist/client/queues.js.map +1 -1
- package/dist/client/schemas.d.ts +1 -0
- package/dist/client/schemas.d.ts.map +1 -1
- package/dist/client/schemas.js +4 -0
- package/dist/client/schemas.js.map +1 -1
- package/dist/client/thesaurus.d.ts +5 -0
- package/dist/client/thesaurus.d.ts.map +1 -1
- package/dist/client/thesaurus.js +12 -0
- package/dist/client/thesaurus.js.map +1 -1
- package/dist/codegen/emit.d.ts +25 -0
- package/dist/codegen/emit.d.ts.map +1 -0
- package/dist/codegen/emit.js +158 -0
- package/dist/codegen/emit.js.map +1 -0
- package/dist/codegen/index.d.ts +17 -0
- package/dist/codegen/index.d.ts.map +1 -0
- package/dist/codegen/index.js +16 -0
- package/dist/codegen/index.js.map +1 -0
- package/dist/codegen/load-workspace-context.d.ts +30 -0
- package/dist/codegen/load-workspace-context.d.ts.map +1 -0
- package/dist/codegen/load-workspace-context.js +127 -0
- package/dist/codegen/load-workspace-context.js.map +1 -0
- package/dist/codegen/normalize.d.ts +35 -0
- package/dist/codegen/normalize.d.ts.map +1 -0
- package/dist/codegen/normalize.js +77 -0
- package/dist/codegen/normalize.js.map +1 -0
- package/dist/codegen/types.d.ts +89 -0
- package/dist/codegen/types.d.ts.map +1 -0
- package/dist/codegen/types.js +9 -0
- package/dist/codegen/types.js.map +1 -0
- package/dist/codegen/write-artifact.d.ts +40 -0
- package/dist/codegen/write-artifact.d.ts.map +1 -0
- package/dist/codegen/write-artifact.js +74 -0
- package/dist/codegen/write-artifact.js.map +1 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/workspace-config.d.ts +76 -0
- package/dist/config/workspace-config.d.ts.map +1 -0
- package/dist/config/workspace-config.js +129 -0
- package/dist/config/workspace-config.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/rstreams/event-bridge.d.ts +16 -2
- package/dist/rstreams/event-bridge.d.ts.map +1 -1
- package/dist/rstreams/event-bridge.js +38 -5
- package/dist/rstreams/event-bridge.js.map +1 -1
- package/dist/skills/check-scope.d.ts +42 -0
- package/dist/skills/check-scope.d.ts.map +1 -0
- package/dist/skills/check-scope.js +84 -0
- package/dist/skills/check-scope.js.map +1 -0
- package/dist/skills/index.d.ts +14 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +12 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/loader.d.ts +79 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +102 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/types.d.ts +55 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +9 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/skills/validate-references.d.ts +54 -0
- package/dist/skills/validate-references.d.ts.map +1 -0
- package/dist/skills/validate-references.js +80 -0
- package/dist/skills/validate-references.js.map +1 -0
- package/docs/getting-started.md +7 -0
- package/package.json +7 -5
- package/dist/cli/commands/data-assets-cmd.d.ts +0 -12
- package/dist/cli/commands/data-assets-cmd.d.ts.map +0 -1
- package/dist/cli/commands/data-assets-cmd.js +0 -75
- package/dist/cli/commands/data-assets-cmd.js.map +0 -1
- package/dist/cli/commands/pipelines-cmd.d.ts +0 -17
- package/dist/cli/commands/pipelines-cmd.d.ts.map +0 -1
- package/dist/cli/commands/pipelines-cmd.js +0 -52
- package/dist/cli/commands/pipelines-cmd.js.map +0 -1
- package/dist/cli/commands/promises-cmd.d.ts +0 -11
- package/dist/cli/commands/promises-cmd.d.ts.map +0 -1
- package/dist/cli/commands/promises-cmd.js +0 -53
- package/dist/cli/commands/promises-cmd.js.map +0 -1
- package/dist/client/consumptions-types.d.ts.map +0 -1
- package/dist/client/consumptions-types.js +0 -5
- package/dist/client/consumptions-types.js.map +0 -1
- package/dist/client/consumptions.d.ts +0 -14
- package/dist/client/consumptions.d.ts.map +0 -1
- package/dist/client/consumptions.js +0 -47
- package/dist/client/consumptions.js.map +0 -1
- package/dist/client/data-assets-types.d.ts +0 -150
- package/dist/client/data-assets-types.d.ts.map +0 -1
- package/dist/client/data-assets-types.js +0 -5
- package/dist/client/data-assets-types.js.map +0 -1
- package/dist/client/data-assets.d.ts +0 -31
- package/dist/client/data-assets.d.ts.map +0 -1
- package/dist/client/data-assets.js +0 -182
- package/dist/client/data-assets.js.map +0 -1
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `loxtep attach [--instance <id>]`
|
|
3
|
+
*
|
|
4
|
+
* Links the project to an existing Instance using the same connection mechanism
|
|
5
|
+
* the Platform_UI uses (client.projects + client.instances / update_project).
|
|
6
|
+
*
|
|
7
|
+
* On success: writes resolved `instance_id` + `api_url` atomically into
|
|
8
|
+
* `.loxtep/project.json`, including a `repository` block when the project is
|
|
9
|
+
* GitHub-bound (R17.2) and omitting it when unbound (R17.3).
|
|
10
|
+
*
|
|
11
|
+
* On failure: exits non-zero, prints the failure reason, and leaves
|
|
12
|
+
* `.loxtep/project.json` byte-unchanged (R1.9).
|
|
13
|
+
*/
|
|
14
|
+
import { requireProject, writeProjectConfig, preconditionToCliResult, } from '../project-context.js';
|
|
15
|
+
/**
|
|
16
|
+
* Project the GitHub binding fields from a project record into a
|
|
17
|
+
* {@link ProjectRepository} block, or `undefined` when the project is unbound.
|
|
18
|
+
*
|
|
19
|
+
* A project is considered bound when it has both `github_repo_url` and
|
|
20
|
+
* `github_repo_name` present and non-empty.
|
|
21
|
+
*/
|
|
22
|
+
export function projectToRepository(project) {
|
|
23
|
+
const url = project.github_repo_url;
|
|
24
|
+
const name = project.github_repo_name;
|
|
25
|
+
if (!url || !name) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
const repo = {
|
|
29
|
+
url,
|
|
30
|
+
name,
|
|
31
|
+
branch: project.github_branch || 'main',
|
|
32
|
+
};
|
|
33
|
+
// Only include subpath when it's a non-empty string.
|
|
34
|
+
if (project.github_repo_path && project.github_repo_path.length > 0) {
|
|
35
|
+
repo.subpath = project.github_repo_path;
|
|
36
|
+
}
|
|
37
|
+
return repo;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Core attach logic, separated from CLI wiring for testability.
|
|
41
|
+
*
|
|
42
|
+
* Returns a {@link CliResult} so the thin CLI `main()` can map `exitCode` to
|
|
43
|
+
* `process.exitCode` without spawning a process.
|
|
44
|
+
*/
|
|
45
|
+
export async function runAttach(client, options = {}) {
|
|
46
|
+
const cwd = options.cwd ?? process.cwd();
|
|
47
|
+
// 1. Resolve the project config (precondition: .loxtep/project.json must exist).
|
|
48
|
+
const projectResult = requireProject(cwd);
|
|
49
|
+
if (!projectResult.ok) {
|
|
50
|
+
return preconditionToCliResult(projectResult.failure);
|
|
51
|
+
}
|
|
52
|
+
const { project, projectFilePath } = projectResult;
|
|
53
|
+
// 2. Resolve the target instance.
|
|
54
|
+
let instance;
|
|
55
|
+
try {
|
|
56
|
+
instance = await resolveInstance(client, options.instanceId);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
60
|
+
return {
|
|
61
|
+
exitCode: 1,
|
|
62
|
+
stdout: [],
|
|
63
|
+
stderr: [`Attach failed: ${reason}`],
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
// 3. Fetch the project record to read github_* binding fields.
|
|
67
|
+
let projectRecord;
|
|
68
|
+
try {
|
|
69
|
+
projectRecord = await client.projects.get(project.project_id);
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
73
|
+
return {
|
|
74
|
+
exitCode: 1,
|
|
75
|
+
stdout: [],
|
|
76
|
+
stderr: [`Attach failed: could not fetch project record: ${reason}`],
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
// 4. Build the new config with instance_id + api_url and optional repository block.
|
|
80
|
+
const repository = projectToRepository(projectRecord);
|
|
81
|
+
const newConfig = {
|
|
82
|
+
...project,
|
|
83
|
+
instance_id: instance.instance_id,
|
|
84
|
+
api_url: instance.api_url,
|
|
85
|
+
};
|
|
86
|
+
// Include the repository block only when bound (R17.2); omit entirely when unbound (R17.3).
|
|
87
|
+
if (repository) {
|
|
88
|
+
newConfig.repository = repository;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
delete newConfig.repository;
|
|
92
|
+
}
|
|
93
|
+
// 5. Atomic write via writeProjectConfig (build → validate → write-once).
|
|
94
|
+
try {
|
|
95
|
+
await writeProjectConfig(projectFilePath, newConfig);
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
99
|
+
return {
|
|
100
|
+
exitCode: 1,
|
|
101
|
+
stdout: [],
|
|
102
|
+
stderr: [`Attach failed: could not write project config: ${reason}`],
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
// 6. Success output.
|
|
106
|
+
const lines = [
|
|
107
|
+
`Attached to instance "${instance.name}" (${instance.instance_id}).`,
|
|
108
|
+
` api_url: ${instance.api_url}`,
|
|
109
|
+
];
|
|
110
|
+
if (repository) {
|
|
111
|
+
lines.push(` repository: ${repository.url} (${repository.branch})`);
|
|
112
|
+
}
|
|
113
|
+
return { exitCode: 0, stdout: lines, stderr: [] };
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Resolve the target instance. If `instanceId` is given, fetch it directly.
|
|
117
|
+
* Otherwise list all instances for the org and use the sole one (or error if
|
|
118
|
+
* there are 0 or >1).
|
|
119
|
+
*/
|
|
120
|
+
async function resolveInstance(client, instanceId) {
|
|
121
|
+
if (instanceId) {
|
|
122
|
+
try {
|
|
123
|
+
return await client.instances.get(instanceId);
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
127
|
+
throw new Error(`Instance "${instanceId}" could not be resolved: ${msg}`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// No explicit ID — list all instances and auto-select the sole one.
|
|
131
|
+
const { items } = await client.instances.list();
|
|
132
|
+
if (items.length === 0) {
|
|
133
|
+
throw new Error('No instances found in your organization. Create one first or specify --instance <id>.');
|
|
134
|
+
}
|
|
135
|
+
if (items.length > 1) {
|
|
136
|
+
const ids = items.map(i => ` ${i.instance_id} — ${i.name}`).join('\n');
|
|
137
|
+
throw new Error(`Multiple instances found. Specify one with --instance <id>:\n${ids}`);
|
|
138
|
+
}
|
|
139
|
+
return items[0];
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=attach-cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attach-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/attach-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,4 +9,12 @@ export interface DataContractsCmdOptions {
|
|
|
9
9
|
}
|
|
10
10
|
export declare function runDataContractsList(options?: DataContractsCmdOptions): Promise<void>;
|
|
11
11
|
export declare function runDataContractsGet(contractId: string, options?: DataContractsCmdOptions): Promise<void>;
|
|
12
|
+
export declare function runDataContractsCreate(payload: {
|
|
13
|
+
data_product_id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
description?: string;
|
|
16
|
+
version?: string;
|
|
17
|
+
status?: string;
|
|
18
|
+
terms?: Record<string, unknown>;
|
|
19
|
+
}, options?: DataContractsCmdOptions): Promise<void>;
|
|
12
20
|
//# sourceMappingURL=data-contracts-cmd.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-contracts-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/data-contracts-cmd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,uBAAuB;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CAS/F;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CASf"}
|
|
1
|
+
{"version":3,"file":"data-contracts-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/data-contracts-cmd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,uBAAuB;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CAS/F;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE;IACP,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,EACD,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CASf"}
|
|
@@ -25,4 +25,15 @@ export async function runDataContractsGet(contractId, options = {}) {
|
|
|
25
25
|
process.exitCode = 1;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
+
export async function runDataContractsCreate(payload, options = {}) {
|
|
29
|
+
const { client } = await requireCliClient(options);
|
|
30
|
+
try {
|
|
31
|
+
const created = await client.data_contracts.create(payload);
|
|
32
|
+
console.log(JSON.stringify(created, null, 2));
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
console.error(err.message);
|
|
36
|
+
process.exitCode = 1;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
28
39
|
//# sourceMappingURL=data-contracts-cmd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-contracts-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/data-contracts-cmd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAQ3D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAmC,EAAE;IAC9E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB,EAClB,UAAmC,EAAE;IAErC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"data-contracts-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/data-contracts-cmd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAQ3D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAmC,EAAE;IAC9E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB,EAClB,UAAmC,EAAE;IAErC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAOC,EACD,UAAmC,EAAE;IAErC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -12,4 +12,6 @@ export declare function runDataProductsGet(dataProductId: string, options?: Data
|
|
|
12
12
|
export declare function runDataProductsQuery(dataProductId: string, sql: string, options?: DataProductsCmdOptions): Promise<void>;
|
|
13
13
|
export declare function runDataProductsTables(dataProductId: string, options?: DataProductsCmdOptions): Promise<void>;
|
|
14
14
|
export declare function runDataProductsCreate(body: DataProductCreateInput, options?: DataProductsCmdOptions): Promise<void>;
|
|
15
|
+
export declare function runDataProductsReadiness(dataProductId: string, options?: DataProductsCmdOptions): Promise<void>;
|
|
16
|
+
export declare function runDataProductsPromote(dataProductId: string, targetTier: 'silver' | 'gold', options?: DataProductsCmdOptions): Promise<void>;
|
|
15
17
|
//# sourceMappingURL=data-products-cmd.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-products-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/data-products-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAElF,MAAM,WAAW,sBAAsB;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7F;AAED,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,sBAAsB,EAC5B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAIf"}
|
|
1
|
+
{"version":3,"file":"data-products-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/data-products-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAElF,MAAM,WAAW,sBAAsB;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7F;AAED,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,sBAAsB,EAC5B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,wBAAwB,CAC5C,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,QAAQ,GAAG,MAAM,EAC7B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAqBf"}
|
|
@@ -27,4 +27,39 @@ export async function runDataProductsCreate(body, options = {}) {
|
|
|
27
27
|
const created = await client.data_products.create(body);
|
|
28
28
|
console.log(JSON.stringify(created, null, 2));
|
|
29
29
|
}
|
|
30
|
+
export async function runDataProductsReadiness(dataProductId, options = {}) {
|
|
31
|
+
const { client } = await requireCliClient(options);
|
|
32
|
+
try {
|
|
33
|
+
const result = await client.data_products.readiness(dataProductId);
|
|
34
|
+
console.log(JSON.stringify(result, null, 2));
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
console.error(err.message);
|
|
38
|
+
process.exitCode = 1;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export async function runDataProductsPromote(dataProductId, targetTier, options = {}) {
|
|
42
|
+
const { client } = await requireCliClient(options);
|
|
43
|
+
try {
|
|
44
|
+
const result = await client.data_products.promote(dataProductId, targetTier);
|
|
45
|
+
if (result.success) {
|
|
46
|
+
console.log(`✅ Promoted to ${result.new_tier}`);
|
|
47
|
+
if (result.entity_iris?.length) {
|
|
48
|
+
console.log(` Minted ${result.entity_iris.length} entity IRI(s)`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
console.error('❌ Promotion rejected:');
|
|
53
|
+
for (const d of result.diagnostics ?? []) {
|
|
54
|
+
const icon = d.satisfied ? '✓' : '✗';
|
|
55
|
+
console.error(` ${icon} ${d.name}${d.remediation ? ` — ${d.remediation}` : ''}`);
|
|
56
|
+
}
|
|
57
|
+
process.exitCode = 1;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
console.error(err.message);
|
|
62
|
+
process.exitCode = 1;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
30
65
|
//# sourceMappingURL=data-products-cmd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-products-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/data-products-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAS3D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAAkC,EAAE;IAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,aAAqB,EACrB,UAAkC,EAAE;IAEpC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,aAAqB,EACrB,GAAW,EACX,UAAkC,EAAE;IAEpC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,aAAqB,EACrB,UAAkC,EAAE;IAEpC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAA4B,EAC5B,UAAkC,EAAE;IAEpC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC"}
|
|
1
|
+
{"version":3,"file":"data-products-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/data-products-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI: loxtep deploy — compile and deploy Data_Workflow_Modules.
|
|
3
|
+
*
|
|
4
|
+
* Steps:
|
|
5
|
+
* 1. Call requireAttachedProject() to verify preconditions (R1.7, R1.10)
|
|
6
|
+
* 2. Load all workflow modules from `workflows/` directory
|
|
7
|
+
* 3. Compile all modules via compileModule (R1.11: collect compile errors with file:line)
|
|
8
|
+
* 4. On compile errors: reject, print each error with file:line, exit non-zero
|
|
9
|
+
* 5. Validate referenced resources exist against the instance (R1.8)
|
|
10
|
+
* 6. On missing refs: reject, print each with file:line, leave running unchanged, exit non-zero
|
|
11
|
+
* 7. Resolve deploy target by instance type (R14.4, R14.5)
|
|
12
|
+
* 8. For repo-bound projects: deploy from the synced S3 Code_Bundle (R17.11)
|
|
13
|
+
* 9. For each compiled module: drive in-place update or create via the workflows microservice
|
|
14
|
+
* 10. Compute removal set and remove absent workflows (R3.7)
|
|
15
|
+
* 11. Surface async deploy status via `async_runs` tracking handle (R18.5)
|
|
16
|
+
*
|
|
17
|
+
* Requirements: 1.6, 1.8, 1.11, 3.4, 3.5, 3.6, 3.7, 14.4, 14.5, 17.11, 18.5
|
|
18
|
+
*/
|
|
19
|
+
import { type CliResult } from '../project-context.js';
|
|
20
|
+
import type { CompiledWorkflow } from '../../authoring/compiler.js';
|
|
21
|
+
import type { NormalizedContext } from '../../codegen/types.js';
|
|
22
|
+
import type { Instance } from '../../client/instances-types.js';
|
|
23
|
+
/** A compile error with source location. */
|
|
24
|
+
export interface CompileError {
|
|
25
|
+
file: string;
|
|
26
|
+
line: number;
|
|
27
|
+
message: string;
|
|
28
|
+
}
|
|
29
|
+
/** A missing resource reference with source location. */
|
|
30
|
+
export interface MissingRefError {
|
|
31
|
+
file: string;
|
|
32
|
+
line: number;
|
|
33
|
+
type: string;
|
|
34
|
+
id: string;
|
|
35
|
+
name?: string;
|
|
36
|
+
}
|
|
37
|
+
/** The deploy target resolved from instance type. */
|
|
38
|
+
export type DeployTarget = {
|
|
39
|
+
kind: 'loxtep_infra';
|
|
40
|
+
instanceType: 'shared' | 'managed';
|
|
41
|
+
} | {
|
|
42
|
+
kind: 'customer_data_plane';
|
|
43
|
+
instanceType: 'customer';
|
|
44
|
+
};
|
|
45
|
+
/** Async deploy tracking handle (R18.5). */
|
|
46
|
+
export interface DeployTrackingHandle {
|
|
47
|
+
run_id: string;
|
|
48
|
+
status: string;
|
|
49
|
+
}
|
|
50
|
+
/** Result of a single workflow deployment. */
|
|
51
|
+
export interface WorkflowDeployResult {
|
|
52
|
+
name: string;
|
|
53
|
+
workflow_id: string;
|
|
54
|
+
status: 'created' | 'updated' | 'failed';
|
|
55
|
+
error?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Discover all .ts/.js workflow module files in the `workflows/` directory.
|
|
59
|
+
* Returns an array of { filename, path } entries.
|
|
60
|
+
*/
|
|
61
|
+
export declare function discoverModuleFiles(projectDir: string): Array<{
|
|
62
|
+
filename: string;
|
|
63
|
+
path: string;
|
|
64
|
+
}>;
|
|
65
|
+
/**
|
|
66
|
+
* Resolve the deploy target from the instance type.
|
|
67
|
+
*
|
|
68
|
+
* - shared/managed → Loxtep-operated infrastructure (R14.4)
|
|
69
|
+
* - self-hosted (backend: 'customer') → customer data plane (R14.5)
|
|
70
|
+
*
|
|
71
|
+
* Instance type is determined from metadata or connection_details on the instance.
|
|
72
|
+
*/
|
|
73
|
+
export declare function resolveDeployTarget(instance: Instance): DeployTarget;
|
|
74
|
+
/**
|
|
75
|
+
* Validate that all referenced resources from compiled modules exist in the
|
|
76
|
+
* normalized workspace context. Returns missing references with file:line info.
|
|
77
|
+
*/
|
|
78
|
+
export declare function validateReferencedResources(compiledModules: Array<{
|
|
79
|
+
compiled: CompiledWorkflow;
|
|
80
|
+
file: string;
|
|
81
|
+
}>, ctx: NormalizedContext): MissingRefError[];
|
|
82
|
+
export interface DeployCommandOptions {
|
|
83
|
+
/** Working directory (defaults to process.cwd()). */
|
|
84
|
+
cwd?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Execute the `loxtep deploy` command.
|
|
88
|
+
*
|
|
89
|
+
* Compiles all modules, validates resources, resolves deploy target, then drives
|
|
90
|
+
* in-place update/create/removal via the workflows microservice + deployWorkflow().
|
|
91
|
+
*
|
|
92
|
+
* @param options - Command options.
|
|
93
|
+
* @returns Structured CLI result for testability.
|
|
94
|
+
*/
|
|
95
|
+
export declare function runDeployCommand(options?: DeployCommandOptions): Promise<CliResult>;
|
|
96
|
+
/**
|
|
97
|
+
* CLI entry point for `loxtep deploy`.
|
|
98
|
+
* Prints output and sets process.exitCode from the structured result.
|
|
99
|
+
*/
|
|
100
|
+
export declare function runDeploy(): Promise<void>;
|
|
101
|
+
//# sourceMappingURL=deploy-cmd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/deploy-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAK/B,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,6BAA6B,CAAC;AAGjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAMhE,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qDAAqD;AACrD,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,YAAY,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,YAAY,EAAE,UAAU,CAAA;CAAE,CAAC;AAE9D,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,8CAA8C;AAC9C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAYjG;AAwBD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAgBpE;AAMD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACpE,GAAG,EAAE,iBAAiB,GACrB,eAAe,EAAE,CA2CnB;AAiFD,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,SAAS,CAAC,CA0Q7F;AAED;;;GAGG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAW/C"}
|