dataiku-sdk 3.6.1 → 3.8.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/README.md +14 -6
- package/bin/bun-version.js +14 -0
- package/bin/dss.js +11 -15
- package/dist/build-metadata.json +1 -1
- package/dist/packages/types/src/index.d.ts +114 -5
- package/dist/packages/types/src/index.js +75 -2
- package/dist/src/cli/coerce.d.ts +2 -0
- package/dist/src/cli/coerce.js +20 -16
- package/dist/src/cli/command-syntax.json +3369 -144
- package/dist/src/cli/commands/analysis.js +19 -1
- package/dist/src/cli/commands/bundle.js +22 -0
- package/dist/src/cli/commands/connection.js +26 -2
- package/dist/src/cli/commands/data-quality.js +33 -1
- package/dist/src/cli/commands/dataset.js +76 -9
- package/dist/src/cli/commands/discussion.js +15 -0
- package/dist/src/cli/commands/doctor.js +1 -1
- package/dist/src/cli/commands/flow-zone.js +241 -46
- package/dist/src/cli/commands/flow.d.ts +5 -0
- package/dist/src/cli/commands/flow.js +57 -0
- package/dist/src/cli/commands/future.js +8 -0
- package/dist/src/cli/commands/index.js +6 -0
- package/dist/src/cli/commands/job.js +44 -6
- package/dist/src/cli/commands/metrics.js +21 -1
- package/dist/src/cli/commands/ml-task.d.ts +5 -0
- package/dist/src/cli/commands/ml-task.js +86 -16
- package/dist/src/cli/commands/mlflow.d.ts +11 -0
- package/dist/src/cli/commands/mlflow.js +121 -0
- package/dist/src/cli/commands/plugin.js +5 -11
- package/dist/src/cli/commands/project-deployer.js +70 -0
- package/dist/src/cli/commands/project-library.js +2 -5
- package/dist/src/cli/commands/project.js +8 -0
- package/dist/src/cli/commands/recipe.d.ts +13 -0
- package/dist/src/cli/commands/recipe.js +130 -7
- package/dist/src/cli/commands/saved-model.d.ts +1 -1
- package/dist/src/cli/commands/saved-model.js +9 -76
- package/dist/src/cli/commands/streaming-endpoint.js +30 -1
- package/dist/src/cli/commands/webapp.js +8 -0
- package/dist/src/cli/commands/wiki.js +78 -0
- package/dist/src/cli/commands/workspace.js +8 -0
- package/dist/src/cli/contract.d.ts +16 -15
- package/dist/src/cli/contract.js +150 -3407
- package/dist/src/cli/doctor.d.ts +13 -0
- package/dist/src/cli/doctor.js +43 -1
- package/dist/src/cli/flags.d.ts +14 -1
- package/dist/src/cli/flags.js +106 -8
- package/dist/src/cli/helpers/app-successor.js +1 -2
- package/dist/src/cli/helpers/dataset.d.ts +12 -0
- package/dist/src/cli/helpers/dataset.js +36 -0
- package/dist/src/cli/helpers/documentation.d.ts +21 -0
- package/dist/src/cli/helpers/documentation.js +53 -0
- package/dist/src/cli/helpers/flow-zone.d.ts +21 -0
- package/dist/src/cli/helpers/flow-zone.js +144 -4
- package/dist/src/cli/helpers/trained-model.d.ts +26 -0
- package/dist/src/cli/helpers/trained-model.js +144 -0
- package/dist/src/cli/list-output.d.ts +7 -0
- package/dist/src/cli/list-output.js +77 -0
- package/dist/src/cli/list-shapes.d.ts +21 -0
- package/dist/src/cli/list-shapes.js +111 -0
- package/dist/src/cli/output-schemas.d.ts +0 -14
- package/dist/src/cli/output-schemas.js +4 -7
- package/dist/src/cli/output.d.ts +0 -1
- package/dist/src/cli/output.js +33 -19
- package/dist/src/cli/plans.d.ts +14 -0
- package/dist/src/cli/plans.js +3740 -0
- package/dist/src/cli/types.d.ts +2 -0
- package/dist/src/cli/usage.d.ts +7 -0
- package/dist/src/cli/usage.js +20 -1
- package/dist/src/cli/version.d.ts +2 -2
- package/dist/src/cli/version.js +2 -2
- package/dist/src/cli.js +137 -115
- package/dist/src/client.d.ts +52 -43
- package/dist/src/client.js +267 -96
- package/dist/src/errors.d.ts +22 -2
- package/dist/src/errors.js +49 -50
- package/dist/src/generated/action-output-schemas.json +345 -89
- package/dist/src/index.d.ts +5 -1
- package/dist/src/index.js +3 -0
- package/dist/src/resources/analyses.d.ts +8 -0
- package/dist/src/resources/analyses.js +13 -1
- package/dist/src/resources/bundles.d.ts +34 -0
- package/dist/src/resources/bundles.js +67 -0
- package/dist/src/resources/connections.d.ts +9 -0
- package/dist/src/resources/connections.js +15 -0
- package/dist/src/resources/data-quality.d.ts +20 -0
- package/dist/src/resources/data-quality.js +30 -0
- package/dist/src/resources/dataset-create.d.ts +38 -0
- package/dist/src/resources/dataset-create.js +135 -0
- package/dist/src/resources/datasets.d.ts +46 -15
- package/dist/src/resources/datasets.js +120 -112
- package/dist/src/resources/discussions.d.ts +5 -0
- package/dist/src/resources/discussions.js +7 -0
- package/dist/src/resources/documentation.d.ts +25 -0
- package/dist/src/resources/documentation.js +16 -0
- package/dist/src/resources/flow-zones.d.ts +29 -3
- package/dist/src/resources/flow-zones.js +53 -3
- package/dist/src/resources/flow.d.ts +48 -0
- package/dist/src/resources/flow.js +65 -0
- package/dist/src/resources/futures.d.ts +23 -0
- package/dist/src/resources/futures.js +32 -0
- package/dist/src/resources/jobs.d.ts +34 -0
- package/dist/src/resources/jobs.js +170 -3
- package/dist/src/resources/metrics.d.ts +10 -0
- package/dist/src/resources/metrics.js +10 -0
- package/dist/src/resources/ml-tasks.d.ts +65 -2
- package/dist/src/resources/ml-tasks.js +102 -28
- package/dist/src/resources/mlflow-extension.d.ts +73 -0
- package/dist/src/resources/mlflow-extension.js +105 -0
- package/dist/src/resources/projects.d.ts +15 -0
- package/dist/src/resources/projects.js +18 -3
- package/dist/src/resources/recipe-create.d.ts +79 -0
- package/dist/src/resources/recipe-create.js +454 -0
- package/dist/src/resources/recipes.d.ts +28 -29
- package/dist/src/resources/recipes.js +201 -267
- package/dist/src/resources/saved-models.d.ts +10 -6
- package/dist/src/resources/saved-models.js +16 -14
- package/dist/src/resources/scenarios.js +8 -14
- package/dist/src/resources/sql.js +52 -13
- package/dist/src/resources/streaming-endpoints.d.ts +12 -0
- package/dist/src/resources/streaming-endpoints.js +15 -0
- package/dist/src/resources/trained-model.d.ts +60 -0
- package/dist/src/resources/trained-model.js +98 -0
- package/dist/src/resources/webapps.d.ts +8 -0
- package/dist/src/resources/webapps.js +10 -0
- package/dist/src/resources/wiki.d.ts +52 -1
- package/dist/src/resources/wiki.js +96 -0
- package/dist/src/resources/workspaces.d.ts +2 -0
- package/dist/src/resources/workspaces.js +4 -0
- package/dist/src/utils/flow-analysis.js +4 -0
- package/dist/src/utils/response-file.js +20 -9
- package/dist/src/utils/secret-sanitize.d.ts +7 -0
- package/dist/src/utils/secret-sanitize.js +46 -0
- package/package.json +25 -26
- package/plugin.json +1 -1
- package/skills/dataiku-dss/SKILL.md +1 -1
- package/skills/dataiku-dss/references/authentication.md +3 -1
- package/skills/dataiku-dss/references/coding.md +1 -0
- package/skills/dataiku-dss/references/discovery.md +4 -6
- package/skills/dataiku-dss/references/flow-maps.md +2 -2
- package/skills/dataiku-dss/references/troubleshooting.md +3 -2
package/dist/src/cli/output.js
CHANGED
|
@@ -34,6 +34,29 @@ function resolveFieldPath(source, field) {
|
|
|
34
34
|
}
|
|
35
35
|
return { found: true, value: current ?? null, };
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Keys available at the deepest parent object a dotted field actually reaches.
|
|
39
|
+
* A miss like `recipe.params` is ambiguous — the path may be unsupported or the
|
|
40
|
+
* key may merely be absent — so listing sibling keys under the resolved parent
|
|
41
|
+
* (`recipe.type`, `recipe.name`, ...) shows nested paths work and points at
|
|
42
|
+
* real alternatives; a plain top-level miss keeps listing top-level keys.
|
|
43
|
+
*/
|
|
44
|
+
function availableFieldsFor(records, field) {
|
|
45
|
+
const segments = field.split(".");
|
|
46
|
+
const parentPath = segments.slice(0, -1).join(".");
|
|
47
|
+
const keys = new Set();
|
|
48
|
+
for (const record of records) {
|
|
49
|
+
const parent = parentPath === ""
|
|
50
|
+
? record
|
|
51
|
+
: resolveFieldPath(record, parentPath).value;
|
|
52
|
+
if (parent === null || typeof parent !== "object" || Array.isArray(parent))
|
|
53
|
+
continue;
|
|
54
|
+
for (const key of Object.keys(parent)) {
|
|
55
|
+
keys.add(parentPath === "" ? key : `${parentPath}.${key}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return [...keys,].sort();
|
|
59
|
+
}
|
|
37
60
|
export function pickResultFields(item, fields) {
|
|
38
61
|
if (!item || typeof item !== "object" || Array.isArray(item))
|
|
39
62
|
return item;
|
|
@@ -54,8 +77,9 @@ function warnUnknownProjectionFields(result, fields, availableFieldNames) {
|
|
|
54
77
|
const unknownFields = fields.filter((field) => !records.some((record) => resolveFieldPath(record, field).found));
|
|
55
78
|
if (unknownFields.length === 0)
|
|
56
79
|
return;
|
|
57
|
-
const
|
|
58
|
-
|
|
80
|
+
const explicitNames = availableFieldNames?.();
|
|
81
|
+
const availableFields = explicitNames
|
|
82
|
+
?? [...new Set(unknownFields.flatMap((field) => availableFieldsFor(records, field))),].sort();
|
|
59
83
|
enqueueCliWarning({
|
|
60
84
|
code: "field_projection_missing",
|
|
61
85
|
fields: unknownFields,
|
|
@@ -81,25 +105,9 @@ export function writeCommandResult(result) {
|
|
|
81
105
|
flushCliWarnings();
|
|
82
106
|
process.stdout.write(`${JSON.stringify(projected ?? { ok: true, })}\n`);
|
|
83
107
|
}
|
|
84
|
-
export function transientBodyWithTargetContext(body, target, elapsedMs) {
|
|
85
|
-
try {
|
|
86
|
-
const parsed = JSON.parse(body);
|
|
87
|
-
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
88
|
-
const record = parsed;
|
|
89
|
-
const message = typeof record.message === "string" && record.message.length > 0
|
|
90
|
-
? `Target: ${target}\nElapsed: ${elapsedMs}ms\n${record.message}`
|
|
91
|
-
: `Target: ${target}\nElapsed: ${elapsedMs}ms`;
|
|
92
|
-
return JSON.stringify({ ...record, message, target, elapsedMs, });
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
catch {
|
|
96
|
-
// Non-JSON DSS bodies are wrapped as text below.
|
|
97
|
-
}
|
|
98
|
-
return `Target: ${target}\nElapsed: ${elapsedMs}ms\n${body}`;
|
|
99
|
-
}
|
|
100
108
|
export function addTransientTargetContext(error, target, elapsedMs) {
|
|
101
109
|
if (error instanceof DataikuError && error.category === "transient") {
|
|
102
|
-
throw new DataikuError(error.status, error.statusText,
|
|
110
|
+
throw new DataikuError(error.status, error.statusText, error.body, error.retry, error.requestId, { target, elapsedMs, bodyTruncated: error.bodyTruncated, });
|
|
103
111
|
}
|
|
104
112
|
throw error;
|
|
105
113
|
}
|
|
@@ -179,6 +187,12 @@ export class CommandResultFailure extends Error {
|
|
|
179
187
|
export function commandFailureMessage(result) {
|
|
180
188
|
if (isFailedWaitResult(result)) {
|
|
181
189
|
const record = result;
|
|
190
|
+
const failure = record.failure;
|
|
191
|
+
if (failure !== null && typeof failure === "object" && !Array.isArray(failure)) {
|
|
192
|
+
const message = failure.message;
|
|
193
|
+
if (typeof message === "string" && message.length > 0)
|
|
194
|
+
return message;
|
|
195
|
+
}
|
|
182
196
|
const state = typeof record.state === "string"
|
|
183
197
|
? record.state
|
|
184
198
|
: typeof record.outcome === "string"
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type CommandRegistryEntry } from "./contract.js";
|
|
2
|
+
import type { CommandMeta } from "./types.js";
|
|
3
|
+
export declare function commandPlanShape(resource: string, action: string, args: string[], flags: Record<string, string | boolean>, entry: CommandRegistryEntry, projectKey: string | undefined): {
|
|
4
|
+
endpoint?: string;
|
|
5
|
+
exact?: boolean;
|
|
6
|
+
identifiers?: Record<string, unknown>;
|
|
7
|
+
method?: string;
|
|
8
|
+
payload?: unknown;
|
|
9
|
+
localWrites?: unknown;
|
|
10
|
+
reason?: string;
|
|
11
|
+
wait?: unknown;
|
|
12
|
+
requests?: unknown;
|
|
13
|
+
};
|
|
14
|
+
export declare function buildMutationPlan(resource: string, action: string, meta: CommandMeta, args: string[], flags: Record<string, string | boolean>): Record<string, unknown>;
|