dataiku-sdk 0.12.7 → 1.1.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 +93 -15
- package/bin/dss.js +21 -2
- package/dist/build-metadata.json +1 -0
- package/dist/packages/types/src/index.d.ts +128 -3
- package/dist/packages/types/src/index.js +106 -3
- package/dist/src/cli/coerce.d.ts +2 -1
- package/dist/src/cli/coerce.js +84 -26
- package/dist/src/cli/commands/app.js +6 -6
- package/dist/src/cli/commands/code.js +2 -2
- package/dist/src/cli/commands/data-quality.js +50 -8
- package/dist/src/cli/commands/dataset.d.ts +23 -0
- package/dist/src/cli/commands/dataset.js +197 -12
- package/dist/src/cli/commands/folder.js +5 -4
- package/dist/src/cli/commands/future.js +2 -2
- package/dist/src/cli/commands/index.js +2 -0
- package/dist/src/cli/commands/job.js +26 -13
- package/dist/src/cli/commands/notebook.js +1 -1
- package/dist/src/cli/commands/project-git.d.ts +2 -0
- package/dist/src/cli/commands/project-git.js +563 -0
- package/dist/src/cli/commands/project.js +118 -14
- package/dist/src/cli/commands/recipe.js +14 -17
- package/dist/src/cli/commands/scenario.js +4 -4
- package/dist/src/cli/contract.d.ts +6 -4
- package/dist/src/cli/contract.js +595 -68
- package/dist/src/cli/doctor.d.ts +12 -2
- package/dist/src/cli/doctor.js +50 -19
- package/dist/src/cli/flags.js +23 -2
- package/dist/src/cli/helpers/cleanup.js +30 -1
- package/dist/src/cli/helpers/dataset.js +1 -1
- package/dist/src/cli/output.d.ts +5 -2
- package/dist/src/cli/output.js +13 -12
- package/dist/src/cli/types.d.ts +2 -0
- package/dist/src/cli/usage.d.ts +1 -1
- package/dist/src/cli/usage.js +2 -1
- package/dist/src/cli/version.d.ts +48 -6
- package/dist/src/cli/version.js +177 -11
- package/dist/src/cli.js +94 -39
- package/dist/src/client.d.ts +31 -1
- package/dist/src/client.js +39 -7
- package/dist/src/errors.d.ts +1 -1
- package/dist/src/index.d.ts +6 -4
- package/dist/src/index.js +3 -1
- package/dist/src/resources/connections.d.ts +3 -1
- package/dist/src/resources/connections.js +82 -21
- package/dist/src/resources/datasets.d.ts +43 -0
- package/dist/src/resources/datasets.js +241 -30
- package/dist/src/resources/folders.js +7 -3
- package/dist/src/resources/project-git.d.ts +154 -0
- package/dist/src/resources/project-git.js +427 -0
- package/dist/src/resources/projects.d.ts +36 -3
- package/dist/src/resources/projects.js +127 -16
- package/dist/src/resources/recipes.js +4 -4
- package/dist/src/schemas.d.ts +2 -2
- package/dist/src/schemas.js +1 -1
- package/dist/src/utils/project-archive.d.ts +32 -0
- package/dist/src/utils/project-archive.js +624 -0
- package/package.json +6 -5
- package/packages/types/dist/index.d.ts +128 -3
- package/packages/types/dist/index.js +106 -3
- package/plugin.json +1 -1
- package/skills/dataiku-dss/SKILL.md +26 -19
package/dist/src/errors.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type DataikuErrorCategory = "not_found" | "forbidden" | "validation" | "transient" | "unknown";
|
|
2
|
-
export type StableErrorCode = "usage_error" | "unknown_flag" | "missing_required_arg" | "missing_required_flag" | "invalid_enum" | "not_found" | "permission_denied" | "validation_failed" | "transient" | "long_running_failure" | "command_result_failure" | "assertion_failed" | "ambiguous_outcome" | "internal_error";
|
|
2
|
+
export type StableErrorCode = "usage_error" | "unknown_flag" | "missing_required_arg" | "missing_required_flag" | "invalid_flag_value" | "conflicting_input_sources" | "invalid_enum" | "not_found" | "permission_denied" | "validation_failed" | "transient" | "long_running_failure" | "command_result_failure" | "assertion_failed" | "ambiguous_outcome" | "internal_error";
|
|
3
3
|
export declare function dataikuErrorCode(category: DataikuErrorCategory): StableErrorCode;
|
|
4
4
|
export interface DataikuErrorTaxonomy {
|
|
5
5
|
category: DataikuErrorCategory;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export { type ConnectionSchemaListOptions, ConnectionsResource, type ConnectionT
|
|
|
12
12
|
export { ContinuousActivitiesResource, } from "./resources/continuous-activities.js";
|
|
13
13
|
export { DashboardsResource, } from "./resources/dashboards.js";
|
|
14
14
|
export { DataQualityResource, } from "./resources/data-quality.js";
|
|
15
|
-
export { type DatasetBuildValidationResult, type DatasetCloneOptions, type DatasetCloneResult, type DatasetSchemaColumnInput, DatasetsResource, } from "./resources/datasets.js";
|
|
15
|
+
export { type DatasetBuildValidationResult, type DatasetCloneOptions, type DatasetCloneResult, type DatasetSchemaColumnInput, DatasetsResource, type UploadDatasetFileOptions, type UploadDatasetFileResult, type UploadedFileMetadata, } from "./resources/datasets.js";
|
|
16
16
|
export { DiscussionsResource, } from "./resources/discussions.js";
|
|
17
17
|
export { type FlowZoneItemInput, FlowZonesResource, } from "./resources/flow-zones.js";
|
|
18
18
|
export { FoldersResource, } from "./resources/folders.js";
|
|
@@ -24,8 +24,9 @@ export { MetricsResource, } from "./resources/metrics.js";
|
|
|
24
24
|
export * from "./resources/ml-tasks.js";
|
|
25
25
|
export * from "./resources/model-evaluation-stores.js";
|
|
26
26
|
export { NotebooksResource, } from "./resources/notebooks.js";
|
|
27
|
+
export * from "./resources/project-git.js";
|
|
27
28
|
export { ProjectLibraryResource, } from "./resources/project-library.js";
|
|
28
|
-
export { type FlowMapResult, ProjectsResource, } from "./resources/projects.js";
|
|
29
|
+
export { type FlowMapResult, type ProjectImportProcessResult, type ProjectImportResult, type ProjectImportSettings, type ProjectImportUploadResult, ProjectsResource, } from "./resources/projects.js";
|
|
29
30
|
export { type RecipeCloneOptions, type RecipeCloneResult, type RecipeGraphReference, type RecipeGraphValidationResult, type RecipeRunOptions, type RecipeRunOutput, type RecipeRunResult, RecipesResource, } from "./resources/recipes.js";
|
|
30
31
|
export * from "./resources/saved-models.js";
|
|
31
32
|
export { normalizeScenarioUpdateData, SCENARIO_CANONICAL_EDITABLE_FIELDS, type ScenarioFieldChange, type ScenarioFieldMismatch, type ScenarioScriptRunResult, ScenariosResource, type ScenarioUpdateNormalization, type ScenarioUpdatePreview, scenarioUpdatePreview, type ScenarioUpdateResult, } from "./resources/scenarios.js";
|
|
@@ -36,10 +37,11 @@ export { VariablesResource, } from "./resources/variables.js";
|
|
|
36
37
|
export { WebappsResource, } from "./resources/webapps.js";
|
|
37
38
|
export { WikiResource, } from "./resources/wiki.js";
|
|
38
39
|
export { WorkspacesResource, } from "./resources/workspaces.js";
|
|
39
|
-
export { BuildModeSchema, CodeEnvActionResultSchema, CodeEnvCreateOptionsSchema, CodeEnvDetailsSchema, CodeEnvPackageListSchema, CodeEnvSetPackagesOptionsSchema, CodeEnvSummaryArraySchema, CodeEnvSummarySchema, CodeEnvUpdatePackagesOptionsSchema, CodeEnvUsageArraySchema, CodeEnvWaitOptionsSchema, ConnectionSummarySchema, DashboardDetailsSchema, DashboardSummaryArraySchema, DashboardSummarySchema, DataQualityComputeResultSchema, DataQualityProjectStatusSchema, DataQualityRuleArraySchema, DataQualityRuleResultArraySchema, DataQualityRuleResultSchema, DataQualityRuleSchema, DataQualityRulesSchema, DataQualityStatusByPartitionSchema, DataQualityStatusSchema, DataQualityTimelineEntrySchema, DataQualityTimelineSchema, DatasetCreateOptionsSchema, DatasetDetailsSchema, DatasetSchemaSchema, DatasetSummaryArraySchema, DatasetSummarySchema, FlowMapOptionsSchema, FlowZoneArraySchema, FlowZoneCreateOptionsSchema, FlowZoneItemSchema, FlowZoneObjectTypeSchema, FlowZonePositionSchema, FlowZoneSchema, FlowZoneUpdateOptionsSchema, FolderCreateOptionsSchema, FolderDetailsSchema, FolderItemArraySchema, FolderItemSchema, FolderSummaryArraySchema, FolderSummarySchema, FutureStateSchema, FutureWaitResultSchema, InsightDetailsSchema, InsightSummaryArraySchema, InsightSummarySchema, JobSummaryArraySchema, JobSummarySchema, JobWaitResultSchema, JupyterCellSchema, JupyterNotebookContentSchema, JupyterNotebookSummaryArraySchema, JupyterNotebookSummarySchema, NotebookSessionArraySchema, NotebookSessionSchema, parseSchema, ProjectDetailsSchema, ProjectMetadataSchema, ProjectSummaryArraySchema, ProjectSummarySchema, ProjectVariablesSchema, RecipeCreateOptionsSchema, RecipeCreateResultSchema, RecipeDetailsSchema, RecipeSummaryArraySchema, RecipeSummarySchema, safeParseSchema, ScenarioDetailsSchema, ScenarioStatusSchema, ScenarioStepRunSchema, ScenarioSummaryArraySchema, ScenarioSummarySchema, ScenarioWaitResultSchema, SqlNotebookCellSchema, SqlNotebookContentSchema, SqlNotebookSummaryArraySchema, SqlNotebookSummarySchema, SqlQueryResponseSchema, SqlQueryResultSchema, SqlQuerySchemaSchema, WikiArticleDataArraySchema, WikiArticleDataSchema, WikiArticleMetadataSchema, WikiSettingsSchema, WikiTaxonomyNodeSchema, } from "./schemas.js";
|
|
40
|
+
export { BuildModeSchema, CodeEnvActionResultSchema, CodeEnvCreateOptionsSchema, CodeEnvDetailsSchema, CodeEnvPackageListSchema, CodeEnvSetPackagesOptionsSchema, CodeEnvSummaryArraySchema, CodeEnvSummarySchema, CodeEnvUpdatePackagesOptionsSchema, CodeEnvUsageArraySchema, CodeEnvWaitOptionsSchema, ConnectionSummarySchema, DashboardDetailsSchema, DashboardSummaryArraySchema, DashboardSummarySchema, DataQualityComputeResultSchema, DataQualityProjectStatusSchema, DataQualityRuleArraySchema, DataQualityRuleResultArraySchema, DataQualityRuleResultSchema, DataQualityRuleSchema, DataQualityRulesSchema, DataQualityStatusByPartitionSchema, DataQualityStatusSchema, DataQualityTimelineEntrySchema, DataQualityTimelineSchema, DatasetCreateOptionsSchema, DatasetDetailsSchema, DatasetSchemaSchema, DatasetSummaryArraySchema, DatasetSummarySchema, FlowMapOptionsSchema, FlowZoneArraySchema, FlowZoneCreateOptionsSchema, FlowZoneItemSchema, FlowZoneObjectTypeSchema, FlowZonePositionSchema, FlowZoneSchema, FlowZoneUpdateOptionsSchema, FolderCreateOptionsSchema, FolderDetailsSchema, FolderItemArraySchema, FolderItemSchema, FolderSummaryArraySchema, FolderSummarySchema, FutureStateSchema, FutureWaitResultSchema, InsightDetailsSchema, InsightSummaryArraySchema, InsightSummarySchema, JobSummaryArraySchema, JobSummarySchema, JobWaitResultSchema, JupyterCellSchema, JupyterNotebookContentSchema, JupyterNotebookSummaryArraySchema, JupyterNotebookSummarySchema, NotebookSessionArraySchema, NotebookSessionSchema, parseSchema, ProjectDetailsSchema, ProjectGitActionResultSchema, ProjectGitDiffResultSchema, ProjectGitFutureResponseSchema, ProjectGitFutureStateSchema, ProjectGitLibrariesSchema, ProjectGitLibrarySchema, ProjectGitLogResultSchema, ProjectGitRemoteSchema, ProjectGitStatusSchema, ProjectGitTagSchema, ProjectGitTagsSchema, ProjectMetadataSchema, ProjectSummaryArraySchema, ProjectSummarySchema, ProjectVariablesSchema, RecipeCreateOptionsSchema, RecipeCreateResultSchema, RecipeDetailsSchema, RecipeSummaryArraySchema, RecipeSummarySchema, safeParseSchema, ScenarioDetailsSchema, ScenarioStatusSchema, ScenarioStepRunSchema, ScenarioSummaryArraySchema, ScenarioSummarySchema, ScenarioWaitResultSchema, SqlNotebookCellSchema, SqlNotebookContentSchema, SqlNotebookSummaryArraySchema, SqlNotebookSummarySchema, SqlQueryResponseSchema, SqlQueryResultSchema, SqlQuerySchemaSchema, WikiArticleDataArraySchema, WikiArticleDataSchema, WikiArticleMetadataSchema, WikiSettingsSchema, WikiTaxonomyNodeSchema, } from "./schemas.js";
|
|
40
41
|
export type { SafeParseResult, } from "./schemas.js";
|
|
41
|
-
export type { BuildMode, CodeEnvActionResult, CodeEnvCreateOptions, CodeEnvDetails, CodeEnvPackageList, CodeEnvSetPackagesOptions, CodeEnvSummary, CodeEnvUpdatePackagesOptions, CodeEnvUsage, CodeEnvWaitOptions, ConnectionSummary, DashboardDetails, DashboardSummary, DataQualityComputeResult, DataQualityProjectStatus, DataQualityRule, DataQualityRuleResult, DataQualityRules, DataQualityStatus, DataQualityStatusByPartition, DataQualityTimeline, DataQualityTimelineEntry, DatasetCreateOptions, DatasetDetails, DatasetSchema, DatasetSummary, FlowMapOptions, FlowZone, FlowZoneCreateOptions, FlowZoneItem, FlowZoneObjectType, FlowZonePosition, FlowZoneUpdateOptions, FolderCreateOptions, FolderDetails, FolderItem, FolderSummary, FutureState, FutureWaitResult, InsightDetails, InsightSummary, JobSummary, JobWaitResult, JupyterCell, JupyterNotebookContent, JupyterNotebookSummary, NotebookSession, ProjectDetails, ProjectMetadata, ProjectSummary, ProjectVariables, RecipeCreateOptions, RecipeCreateResult, RecipeDetails, RecipeSummary, ScenarioDetails, ScenarioStatus, ScenarioStepRun, ScenarioSummary, ScenarioWaitResult, SqlNotebookCell, SqlNotebookContent, SqlNotebookSummary, SqlQueryResponse, SqlQueryResult, SqlQuerySchema, WikiArticleData, WikiArticleMetadata, WikiSettings, WikiTaxonomyNode, } from "./schemas.js";
|
|
42
|
+
export type { BuildMode, CodeEnvActionResult, CodeEnvCreateOptions, CodeEnvDetails, CodeEnvPackageList, CodeEnvSetPackagesOptions, CodeEnvSummary, CodeEnvUpdatePackagesOptions, CodeEnvUsage, CodeEnvWaitOptions, ConnectionSummary, DashboardDetails, DashboardSummary, DataQualityComputeResult, DataQualityProjectStatus, DataQualityRule, DataQualityRuleResult, DataQualityRules, DataQualityStatus, DataQualityStatusByPartition, DataQualityTimeline, DataQualityTimelineEntry, DatasetCreateOptions, DatasetDetails, DatasetSchema, DatasetSummary, FlowMapOptions, FlowZone, FlowZoneCreateOptions, FlowZoneItem, FlowZoneObjectType, FlowZonePosition, FlowZoneUpdateOptions, FolderCreateOptions, FolderDetails, FolderItem, FolderSummary, FutureState, FutureWaitResult, InsightDetails, InsightSummary, JobSummary, JobWaitResult, JupyterCell, JupyterNotebookContent, JupyterNotebookSummary, NotebookSession, ProjectDetails, ProjectGitActionResult, ProjectGitDiffResult, ProjectGitFutureResponse, ProjectGitFutureState, ProjectGitLibraries, ProjectGitLibrary, ProjectGitLogResult, ProjectGitRemote, ProjectGitStatus, ProjectGitTag, ProjectGitTags, ProjectMetadata, ProjectSummary, ProjectVariables, RecipeCreateOptions, RecipeCreateResult, RecipeDetails, RecipeSummary, ScenarioDetails, ScenarioStatus, ScenarioStepRun, ScenarioSummary, ScenarioWaitResult, SqlNotebookCell, SqlNotebookContent, SqlNotebookSummary, SqlQueryResponse, SqlQueryResult, SqlQuerySchema, WikiArticleData, WikiArticleMetadata, WikiSettings, WikiTaxonomyNode, } from "./schemas.js";
|
|
42
43
|
export { deepMerge, } from "./utils/deep-merge.js";
|
|
43
44
|
export { type NormalizedFlowEdge, type NormalizedFlowMap, type NormalizedFlowNode, normalizeFlowGraph, } from "./utils/flow-map.js";
|
|
45
|
+
export * from "./utils/project-archive.js";
|
|
44
46
|
export { sanitizeFileName, } from "./utils/sanitize.js";
|
|
45
47
|
export { validateStreamColumns, } from "./resources/datasets.js";
|
package/dist/src/index.js
CHANGED
|
@@ -28,6 +28,7 @@ export { MetricsResource, } from "./resources/metrics.js";
|
|
|
28
28
|
export * from "./resources/ml-tasks.js";
|
|
29
29
|
export * from "./resources/model-evaluation-stores.js";
|
|
30
30
|
export { NotebooksResource, } from "./resources/notebooks.js";
|
|
31
|
+
export * from "./resources/project-git.js";
|
|
31
32
|
export { ProjectLibraryResource, } from "./resources/project-library.js";
|
|
32
33
|
export { ProjectsResource, } from "./resources/projects.js";
|
|
33
34
|
export { RecipesResource, } from "./resources/recipes.js";
|
|
@@ -41,10 +42,11 @@ export { WebappsResource, } from "./resources/webapps.js";
|
|
|
41
42
|
export { WikiResource, } from "./resources/wiki.js";
|
|
42
43
|
export { WorkspacesResource, } from "./resources/workspaces.js";
|
|
43
44
|
// Schemas (TypeBox schema objects for runtime validation)
|
|
44
|
-
export { BuildModeSchema, CodeEnvActionResultSchema, CodeEnvCreateOptionsSchema, CodeEnvDetailsSchema, CodeEnvPackageListSchema, CodeEnvSetPackagesOptionsSchema, CodeEnvSummaryArraySchema, CodeEnvSummarySchema, CodeEnvUpdatePackagesOptionsSchema, CodeEnvUsageArraySchema, CodeEnvWaitOptionsSchema, ConnectionSummarySchema, DashboardDetailsSchema, DashboardSummaryArraySchema, DashboardSummarySchema, DataQualityComputeResultSchema, DataQualityProjectStatusSchema, DataQualityRuleArraySchema, DataQualityRuleResultArraySchema, DataQualityRuleResultSchema, DataQualityRuleSchema, DataQualityRulesSchema, DataQualityStatusByPartitionSchema, DataQualityStatusSchema, DataQualityTimelineEntrySchema, DataQualityTimelineSchema, DatasetCreateOptionsSchema, DatasetDetailsSchema, DatasetSchemaSchema, DatasetSummaryArraySchema, DatasetSummarySchema, FlowMapOptionsSchema, FlowZoneArraySchema, FlowZoneCreateOptionsSchema, FlowZoneItemSchema, FlowZoneObjectTypeSchema, FlowZonePositionSchema, FlowZoneSchema, FlowZoneUpdateOptionsSchema, FolderCreateOptionsSchema, FolderDetailsSchema, FolderItemArraySchema, FolderItemSchema, FolderSummaryArraySchema, FolderSummarySchema, FutureStateSchema, FutureWaitResultSchema, InsightDetailsSchema, InsightSummaryArraySchema, InsightSummarySchema, JobSummaryArraySchema, JobSummarySchema, JobWaitResultSchema, JupyterCellSchema, JupyterNotebookContentSchema, JupyterNotebookSummaryArraySchema, JupyterNotebookSummarySchema, NotebookSessionArraySchema, NotebookSessionSchema, parseSchema, ProjectDetailsSchema, ProjectMetadataSchema, ProjectSummaryArraySchema, ProjectSummarySchema, ProjectVariablesSchema, RecipeCreateOptionsSchema, RecipeCreateResultSchema, RecipeDetailsSchema, RecipeSummaryArraySchema, RecipeSummarySchema, safeParseSchema, ScenarioDetailsSchema, ScenarioStatusSchema, ScenarioStepRunSchema, ScenarioSummaryArraySchema, ScenarioSummarySchema, ScenarioWaitResultSchema, SqlNotebookCellSchema, SqlNotebookContentSchema, SqlNotebookSummaryArraySchema, SqlNotebookSummarySchema, SqlQueryResponseSchema, SqlQueryResultSchema, SqlQuerySchemaSchema, WikiArticleDataArraySchema, WikiArticleDataSchema, WikiArticleMetadataSchema, WikiSettingsSchema, WikiTaxonomyNodeSchema, } from "./schemas.js";
|
|
45
|
+
export { BuildModeSchema, CodeEnvActionResultSchema, CodeEnvCreateOptionsSchema, CodeEnvDetailsSchema, CodeEnvPackageListSchema, CodeEnvSetPackagesOptionsSchema, CodeEnvSummaryArraySchema, CodeEnvSummarySchema, CodeEnvUpdatePackagesOptionsSchema, CodeEnvUsageArraySchema, CodeEnvWaitOptionsSchema, ConnectionSummarySchema, DashboardDetailsSchema, DashboardSummaryArraySchema, DashboardSummarySchema, DataQualityComputeResultSchema, DataQualityProjectStatusSchema, DataQualityRuleArraySchema, DataQualityRuleResultArraySchema, DataQualityRuleResultSchema, DataQualityRuleSchema, DataQualityRulesSchema, DataQualityStatusByPartitionSchema, DataQualityStatusSchema, DataQualityTimelineEntrySchema, DataQualityTimelineSchema, DatasetCreateOptionsSchema, DatasetDetailsSchema, DatasetSchemaSchema, DatasetSummaryArraySchema, DatasetSummarySchema, FlowMapOptionsSchema, FlowZoneArraySchema, FlowZoneCreateOptionsSchema, FlowZoneItemSchema, FlowZoneObjectTypeSchema, FlowZonePositionSchema, FlowZoneSchema, FlowZoneUpdateOptionsSchema, FolderCreateOptionsSchema, FolderDetailsSchema, FolderItemArraySchema, FolderItemSchema, FolderSummaryArraySchema, FolderSummarySchema, FutureStateSchema, FutureWaitResultSchema, InsightDetailsSchema, InsightSummaryArraySchema, InsightSummarySchema, JobSummaryArraySchema, JobSummarySchema, JobWaitResultSchema, JupyterCellSchema, JupyterNotebookContentSchema, JupyterNotebookSummaryArraySchema, JupyterNotebookSummarySchema, NotebookSessionArraySchema, NotebookSessionSchema, parseSchema, ProjectDetailsSchema, ProjectGitActionResultSchema, ProjectGitDiffResultSchema, ProjectGitFutureResponseSchema, ProjectGitFutureStateSchema, ProjectGitLibrariesSchema, ProjectGitLibrarySchema, ProjectGitLogResultSchema, ProjectGitRemoteSchema, ProjectGitStatusSchema, ProjectGitTagSchema, ProjectGitTagsSchema, ProjectMetadataSchema, ProjectSummaryArraySchema, ProjectSummarySchema, ProjectVariablesSchema, RecipeCreateOptionsSchema, RecipeCreateResultSchema, RecipeDetailsSchema, RecipeSummaryArraySchema, RecipeSummarySchema, safeParseSchema, ScenarioDetailsSchema, ScenarioStatusSchema, ScenarioStepRunSchema, ScenarioSummaryArraySchema, ScenarioSummarySchema, ScenarioWaitResultSchema, SqlNotebookCellSchema, SqlNotebookContentSchema, SqlNotebookSummaryArraySchema, SqlNotebookSummarySchema, SqlQueryResponseSchema, SqlQueryResultSchema, SqlQuerySchemaSchema, WikiArticleDataArraySchema, WikiArticleDataSchema, WikiArticleMetadataSchema, WikiSettingsSchema, WikiTaxonomyNodeSchema, } from "./schemas.js";
|
|
45
46
|
// Utilities
|
|
46
47
|
export { deepMerge, } from "./utils/deep-merge.js";
|
|
47
48
|
export { normalizeFlowGraph, } from "./utils/flow-map.js";
|
|
49
|
+
export * from "./utils/project-archive.js";
|
|
48
50
|
export { sanitizeFileName, } from "./utils/sanitize.js";
|
|
49
51
|
// Stream validation
|
|
50
52
|
export { validateStreamColumns, } from "./resources/datasets.js";
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { DataikuClient } from "../client.js";
|
|
1
2
|
import type { ConnectionSummary } from "../schemas.js";
|
|
2
3
|
import { BaseResource } from "./base.js";
|
|
4
|
+
export declare function resolveAdminManagedStorageConnection(client: DataikuClient, capability: "allowManagedDatasets" | "allowManagedFolders", preferredName?: string): Promise<string | undefined>;
|
|
3
5
|
export interface ConnectionSchemaListOptions {
|
|
4
6
|
connection: string;
|
|
5
7
|
projectKey?: string;
|
|
@@ -20,7 +22,7 @@ export declare class ConnectionsResource extends BaseResource {
|
|
|
20
22
|
*
|
|
21
23
|
* - fast (default): fetches the connection name list and maps to ConnectionSummary.
|
|
22
24
|
* Falls back to rich mode on any failure or empty result set.
|
|
23
|
-
* - rich: inspects project datasets to derive connection metadata
|
|
25
|
+
* - rich: inspects project datasets and managed folders to derive connection metadata
|
|
24
26
|
* (types, managed flag, db schemas).
|
|
25
27
|
*/
|
|
26
28
|
infer(opts?: {
|
|
@@ -9,27 +9,89 @@ function normalizeConnectionNames(value) {
|
|
|
9
9
|
.filter((v) => typeof v === "string" && v.length > 0)
|
|
10
10
|
.sort();
|
|
11
11
|
}
|
|
12
|
-
async function
|
|
13
|
-
|
|
12
|
+
export async function resolveAdminManagedStorageConnection(client, capability, preferredName) {
|
|
13
|
+
try {
|
|
14
|
+
const raw = await client.get("/public/api/admin/connections/");
|
|
15
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
16
|
+
return undefined;
|
|
17
|
+
const candidates = [];
|
|
18
|
+
for (const [name, value,] of Object.entries(raw)) {
|
|
19
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
20
|
+
continue;
|
|
21
|
+
const details = value;
|
|
22
|
+
if (details["allowWrite"] === true && details[capability] === true) {
|
|
23
|
+
candidates.push(name);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
candidates.sort();
|
|
27
|
+
return preferredName && candidates.includes(preferredName) ? preferredName : candidates[0];
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async function inferRichConnections(client, projectEnc) {
|
|
34
|
+
const datasetsRaw = await client.get(`/public/api/projects/${projectEnc}/datasets/`);
|
|
35
|
+
const datasets = Array.isArray(datasetsRaw) ? datasetsRaw : [];
|
|
14
36
|
const map = new Map();
|
|
15
|
-
|
|
16
|
-
const d = ds;
|
|
17
|
-
const params = d["params"];
|
|
18
|
-
const connection = params?.["connection"];
|
|
37
|
+
const recordConnection = (connection, type, managed, schema) => {
|
|
19
38
|
if (typeof connection !== "string" || connection.length === 0)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
39
|
+
return;
|
|
40
|
+
let entry = map.get(connection);
|
|
41
|
+
if (!entry) {
|
|
42
|
+
entry = { types: new Set(), managed: false, dbSchemas: new Set(), };
|
|
43
|
+
map.set(connection, entry);
|
|
23
44
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
if (
|
|
27
|
-
entry.types.add(dsType);
|
|
28
|
-
if (d["managed"] === true)
|
|
45
|
+
if (typeof type === "string" && type.length > 0)
|
|
46
|
+
entry.types.add(type);
|
|
47
|
+
if (managed)
|
|
29
48
|
entry.managed = true;
|
|
30
|
-
const schema = params?.["schema"];
|
|
31
49
|
if (typeof schema === "string" && schema.length > 0)
|
|
32
50
|
entry.dbSchemas.add(schema);
|
|
51
|
+
};
|
|
52
|
+
for (const dataset of datasets) {
|
|
53
|
+
if (!dataset || typeof dataset !== "object" || Array.isArray(dataset))
|
|
54
|
+
continue;
|
|
55
|
+
const details = dataset;
|
|
56
|
+
const params = details["params"];
|
|
57
|
+
if (!params || typeof params !== "object" || Array.isArray(params))
|
|
58
|
+
continue;
|
|
59
|
+
const datasetParams = params;
|
|
60
|
+
recordConnection(datasetParams["connection"], details["type"], details["managed"] === true, datasetParams["schema"]);
|
|
61
|
+
recordConnection(datasetParams["uploadConnection"], details["type"], false);
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
const foldersRaw = await client.get(`/public/api/projects/${projectEnc}/managedfolders/`);
|
|
65
|
+
const folders = Array.isArray(foldersRaw) ? foldersRaw : [];
|
|
66
|
+
const folderDetails = await Promise.all(folders.map(async (folder) => {
|
|
67
|
+
if (!folder || typeof folder !== "object" || Array.isArray(folder))
|
|
68
|
+
return folder;
|
|
69
|
+
const summary = folder;
|
|
70
|
+
const params = summary["params"];
|
|
71
|
+
if (params && typeof params === "object" && !Array.isArray(params))
|
|
72
|
+
return summary;
|
|
73
|
+
const id = summary["id"];
|
|
74
|
+
if (typeof id !== "string" || id.length === 0)
|
|
75
|
+
return summary;
|
|
76
|
+
try {
|
|
77
|
+
return await client.get(`/public/api/projects/${projectEnc}/managedfolders/${encodeURIComponent(id)}`);
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return summary;
|
|
81
|
+
}
|
|
82
|
+
}));
|
|
83
|
+
for (const folder of folderDetails) {
|
|
84
|
+
if (!folder || typeof folder !== "object" || Array.isArray(folder))
|
|
85
|
+
continue;
|
|
86
|
+
const details = folder;
|
|
87
|
+
const params = details["params"];
|
|
88
|
+
if (!params || typeof params !== "object" || Array.isArray(params))
|
|
89
|
+
continue;
|
|
90
|
+
recordConnection(params["connection"], details["type"], true);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
// Dataset-derived inference remains useful when managed folders are inaccessible.
|
|
33
95
|
}
|
|
34
96
|
return [...map.entries(),]
|
|
35
97
|
.sort(([a,], [b,]) => a.localeCompare(b))
|
|
@@ -48,9 +110,8 @@ export class ConnectionsResource extends BaseResource {
|
|
|
48
110
|
* Returns sorted list of all connection names visible to the current user.
|
|
49
111
|
*/
|
|
50
112
|
async list(opts) {
|
|
51
|
-
const type = opts?.type?.trim();
|
|
52
|
-
const
|
|
53
|
-
const raw = await this.client.get(`/public/api/connections/get-names/${query}`);
|
|
113
|
+
const type = opts?.type?.trim() || "all";
|
|
114
|
+
const raw = await this.client.get(`/public/api/connections/get-names/?type=${encodeURIComponent(type)}`);
|
|
54
115
|
return normalizeConnectionNames(raw);
|
|
55
116
|
}
|
|
56
117
|
/**
|
|
@@ -58,14 +119,14 @@ export class ConnectionsResource extends BaseResource {
|
|
|
58
119
|
*
|
|
59
120
|
* - fast (default): fetches the connection name list and maps to ConnectionSummary.
|
|
60
121
|
* Falls back to rich mode on any failure or empty result set.
|
|
61
|
-
* - rich: inspects project datasets to derive connection metadata
|
|
122
|
+
* - rich: inspects project datasets and managed folders to derive connection metadata
|
|
62
123
|
* (types, managed flag, db schemas).
|
|
63
124
|
*/
|
|
64
125
|
async infer(opts) {
|
|
65
126
|
const mode = opts?.mode ?? "fast";
|
|
66
127
|
const projectEnc = this.enc(opts?.projectKey);
|
|
67
128
|
if (mode === "rich") {
|
|
68
|
-
return
|
|
129
|
+
return inferRichConnections(this.client, projectEnc);
|
|
69
130
|
}
|
|
70
131
|
// fast — attempt name list, fall back to rich on any error or empty result
|
|
71
132
|
try {
|
|
@@ -77,7 +138,7 @@ export class ConnectionsResource extends BaseResource {
|
|
|
77
138
|
catch {
|
|
78
139
|
// Fall through to rich inference.
|
|
79
140
|
}
|
|
80
|
-
return
|
|
141
|
+
return inferRichConnections(this.client, projectEnc);
|
|
81
142
|
}
|
|
82
143
|
async schemas(opts) {
|
|
83
144
|
const pk = this.resolveProjectKey(opts.projectKey);
|
|
@@ -32,6 +32,25 @@ export interface DatasetCloneResult {
|
|
|
32
32
|
created: Record<string, unknown>;
|
|
33
33
|
settings: Record<string, unknown>;
|
|
34
34
|
}
|
|
35
|
+
export interface UploadedFileMetadata {
|
|
36
|
+
filename: string;
|
|
37
|
+
path?: string;
|
|
38
|
+
length?: number;
|
|
39
|
+
mime?: string;
|
|
40
|
+
weird?: boolean;
|
|
41
|
+
[key: string]: unknown;
|
|
42
|
+
}
|
|
43
|
+
export interface UploadDatasetFileOptions {
|
|
44
|
+
projectKey?: string;
|
|
45
|
+
fileName: string;
|
|
46
|
+
}
|
|
47
|
+
export interface UploadDatasetFileResult {
|
|
48
|
+
datasetName: string;
|
|
49
|
+
projectKey: string;
|
|
50
|
+
fileName: string;
|
|
51
|
+
bytes: number;
|
|
52
|
+
after: UploadedFileMetadata;
|
|
53
|
+
}
|
|
35
54
|
/**
|
|
36
55
|
* Compare streamed TSV header columns against a known dataset schema.
|
|
37
56
|
* Returns an array of warning strings (empty if all columns match).
|
|
@@ -49,6 +68,11 @@ export declare class DatasetsResource extends BaseResource {
|
|
|
49
68
|
schema(datasetName: string, projectKey?: string): Promise<DatasetSchema>;
|
|
50
69
|
/** Replace dataset schema columns directly through the schema endpoint. */
|
|
51
70
|
updateSchema(datasetName: string, columns: DatasetSchemaColumnInput[], projectKey?: string): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Get the raw dataset schema object exactly as the DSS schema endpoint
|
|
73
|
+
* returns it, without schema validation — used for deterministic comparison.
|
|
74
|
+
*/
|
|
75
|
+
getSchemaObject(datasetName: string, projectKey?: string): Promise<unknown>;
|
|
52
76
|
/**
|
|
53
77
|
* Preview dataset rows as structured data: column names plus row arrays,
|
|
54
78
|
* mirroring the sql query shape ({ columns, rows, rowCount }). Streams TSV
|
|
@@ -70,6 +94,21 @@ export declare class DatasetsResource extends BaseResource {
|
|
|
70
94
|
}>;
|
|
71
95
|
rows: string[][];
|
|
72
96
|
rowCount: number;
|
|
97
|
+
truncated: boolean;
|
|
98
|
+
limit: number;
|
|
99
|
+
}>;
|
|
100
|
+
/**
|
|
101
|
+
* Count dataset rows by streaming the TSV data endpoint and stopping as soon
|
|
102
|
+
* as `expected + 1` rows have been seen, so a mismatched dataset is never
|
|
103
|
+
* fully scanned. Returns the observed count together with `exact` (false when
|
|
104
|
+
* the probe cap was reached, i.e. the count is a lower bound) and whether the
|
|
105
|
+
* count satisfies the assertion.
|
|
106
|
+
*/
|
|
107
|
+
assertRowCount(datasetName: string, expected: number, projectKey?: string): Promise<{
|
|
108
|
+
expected: number;
|
|
109
|
+
count: number;
|
|
110
|
+
exact: boolean;
|
|
111
|
+
satisfied: boolean;
|
|
73
112
|
}>;
|
|
74
113
|
/** Get dataset metadata (tags, custom fields, checklists). */
|
|
75
114
|
metadata(datasetName: string, projectKey?: string): Promise<Record<string, unknown>>;
|
|
@@ -102,6 +141,10 @@ export declare class DatasetsResource extends BaseResource {
|
|
|
102
141
|
create(opts: DatasetCreateOptions): Promise<Record<string, unknown>>;
|
|
103
142
|
/** Validate common build blockers before running a dataset build. */
|
|
104
143
|
validateBuildSettings(datasetName: string, projectKey?: string): Promise<DatasetBuildValidationResult>;
|
|
144
|
+
/** List files stored by an UploadedFiles dataset. */
|
|
145
|
+
listUploadedFiles(datasetName: string, projectKey?: string): Promise<UploadedFileMetadata[]>;
|
|
146
|
+
/** Add a new file to an UploadedFiles dataset and verify its byte length. */
|
|
147
|
+
uploadDatasetFile(datasetName: string, localPath: string, opts: UploadDatasetFileOptions): Promise<UploadDatasetFileResult>;
|
|
105
148
|
/** Clone dataset settings, preserving connection/storage, format, and schema fields. */
|
|
106
149
|
clone(sourceName: string, targetName: string, opts?: DatasetCloneOptions): Promise<DatasetCloneResult>;
|
|
107
150
|
/** Update a dataset by deep-merging a patch into the current definition. */
|