dataiku-sdk 0.8.0 → 0.9.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/dist/src/cli.js +1259 -4
- package/dist/src/client.d.ts +46 -0
- package/dist/src/client.js +158 -0
- package/dist/src/index.d.ts +13 -0
- package/dist/src/index.js +13 -0
- package/dist/src/resources/api-deployer.d.ts +66 -0
- package/dist/src/resources/api-deployer.js +79 -0
- package/dist/src/resources/api-services.d.ts +38 -0
- package/dist/src/resources/api-services.js +50 -0
- package/dist/src/resources/applications.d.ts +56 -0
- package/dist/src/resources/applications.js +67 -0
- package/dist/src/resources/bundles.d.ts +53 -0
- package/dist/src/resources/bundles.js +103 -0
- package/dist/src/resources/continuous-activities.d.ts +27 -0
- package/dist/src/resources/continuous-activities.js +22 -0
- package/dist/src/resources/datasets.d.ts +6 -0
- package/dist/src/resources/datasets.js +15 -0
- package/dist/src/resources/discussions.d.ts +26 -0
- package/dist/src/resources/discussions.js +29 -0
- package/dist/src/resources/meanings.d.ts +41 -0
- package/dist/src/resources/meanings.js +33 -0
- package/dist/src/resources/metrics.d.ts +44 -0
- package/dist/src/resources/metrics.js +31 -0
- package/dist/src/resources/project-library.d.ts +38 -0
- package/dist/src/resources/project-library.js +82 -0
- package/dist/src/resources/projects.d.ts +70 -0
- package/dist/src/resources/projects.js +97 -0
- package/dist/src/resources/recipes.js +10 -8
- package/dist/src/resources/scenarios.d.ts +3 -0
- package/dist/src/resources/scenarios.js +8 -1
- package/dist/src/resources/statistics.d.ts +56 -0
- package/dist/src/resources/statistics.js +51 -0
- package/dist/src/resources/streaming-endpoints.d.ts +45 -0
- package/dist/src/resources/streaming-endpoints.js +36 -0
- package/dist/src/resources/webapps.d.ts +27 -0
- package/dist/src/resources/webapps.js +36 -0
- package/dist/src/resources/workspaces.d.ts +59 -0
- package/dist/src/resources/workspaces.js +31 -0
- package/package.json +1 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { BaseResource } from "./base.js";
|
|
2
|
+
export interface AppListItem extends Record<string, unknown> {
|
|
3
|
+
appId?: string;
|
|
4
|
+
projectKey?: string;
|
|
5
|
+
name?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface AppInstanceRef extends Record<string, unknown> {
|
|
8
|
+
appId?: string;
|
|
9
|
+
projectKey?: string;
|
|
10
|
+
jobId?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface BusinessAppListItem extends Record<string, unknown> {
|
|
13
|
+
id?: string;
|
|
14
|
+
projectKey?: string;
|
|
15
|
+
name?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface BusinessAppInstanceUserPermissions extends Record<string, unknown> {
|
|
18
|
+
login?: string;
|
|
19
|
+
admin?: boolean;
|
|
20
|
+
readProjectContent?: boolean;
|
|
21
|
+
writeProjectContent?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare class ApplicationsResource extends BaseResource {
|
|
24
|
+
/** List all Dataiku Apps. */
|
|
25
|
+
listApps(): Promise<AppListItem[]>;
|
|
26
|
+
/** Get the manifest for a Dataiku App template. */
|
|
27
|
+
getAppManifest(appId: string): Promise<Record<string, unknown>>;
|
|
28
|
+
/** List instances created from a Dataiku App template. */
|
|
29
|
+
listInstances(appId: string): Promise<AppInstanceRef[]>;
|
|
30
|
+
/** Create an instance from a Dataiku App template. */
|
|
31
|
+
createInstance(appId: string, body: Record<string, unknown>): Promise<AppInstanceRef>;
|
|
32
|
+
/** Get the manifest for an app instance project. */
|
|
33
|
+
getInstanceManifest(projectKey?: string): Promise<Record<string, unknown>>;
|
|
34
|
+
/** Save the manifest for an app instance project. */
|
|
35
|
+
saveInstanceManifest(manifest: Record<string, unknown>, projectKey?: string): Promise<void>;
|
|
36
|
+
/** Delete an app instance project. */
|
|
37
|
+
deleteInstance(projectKey?: string): Promise<void>;
|
|
38
|
+
/** List all Business Apps. */
|
|
39
|
+
listBusinessApps(): Promise<BusinessAppListItem[]>;
|
|
40
|
+
/** Get Business App details. */
|
|
41
|
+
getBusinessApp(id: string): Promise<Record<string, unknown>>;
|
|
42
|
+
/** Get Business App settings. */
|
|
43
|
+
getBusinessAppSettings(id: string): Promise<Record<string, unknown>>;
|
|
44
|
+
/** Save Business App settings. */
|
|
45
|
+
saveBusinessAppSettings(id: string, body: Record<string, unknown>): Promise<void>;
|
|
46
|
+
/** List instances of a Business App. */
|
|
47
|
+
listBusinessAppInstances(id: string): Promise<AppInstanceRef[]>;
|
|
48
|
+
/** Create an instance of a Business App. */
|
|
49
|
+
createBusinessAppInstance(id: string, body: Record<string, unknown>): Promise<AppInstanceRef>;
|
|
50
|
+
/** Upgrade a Business App instance to the latest version. */
|
|
51
|
+
upgradeBusinessAppInstance(id: string, projectKey: string): Promise<AppInstanceRef>;
|
|
52
|
+
/** Get a user's effective permissions on a Business App instance. */
|
|
53
|
+
getBusinessAppInstanceUserPermissions(id: string, projectKey: string, user: string): Promise<BusinessAppInstanceUserPermissions>;
|
|
54
|
+
/** Install or upgrade a Business App from an archive. */
|
|
55
|
+
installBusinessAppFromArchive(filePath: string): Promise<void>;
|
|
56
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { BaseResource, } from "./base.js";
|
|
2
|
+
export class ApplicationsResource extends BaseResource {
|
|
3
|
+
/** List all Dataiku Apps. */
|
|
4
|
+
async listApps() {
|
|
5
|
+
return this.client.get("/public/api/apps/");
|
|
6
|
+
}
|
|
7
|
+
/** Get the manifest for a Dataiku App template. */
|
|
8
|
+
async getAppManifest(appId) {
|
|
9
|
+
return this.client.get(`/public/api/apps/${encodeURIComponent(appId)}/`);
|
|
10
|
+
}
|
|
11
|
+
/** List instances created from a Dataiku App template. */
|
|
12
|
+
async listInstances(appId) {
|
|
13
|
+
return this.client.get(`/public/api/apps/${encodeURIComponent(appId)}/instances/`);
|
|
14
|
+
}
|
|
15
|
+
/** Create an instance from a Dataiku App template. */
|
|
16
|
+
async createInstance(appId, body) {
|
|
17
|
+
return this.client.post(`/public/api/apps/${encodeURIComponent(appId)}/instances`, body);
|
|
18
|
+
}
|
|
19
|
+
/** Get the manifest for an app instance project. */
|
|
20
|
+
async getInstanceManifest(projectKey) {
|
|
21
|
+
return this.client.get(`/public/api/projects/${this.enc(projectKey)}/app-manifest`);
|
|
22
|
+
}
|
|
23
|
+
/** Save the manifest for an app instance project. */
|
|
24
|
+
async saveInstanceManifest(manifest, projectKey) {
|
|
25
|
+
await this.client.putVoid(`/public/api/projects/${this.enc(projectKey)}/app-manifest`, manifest);
|
|
26
|
+
}
|
|
27
|
+
/** Delete an app instance project. */
|
|
28
|
+
async deleteInstance(projectKey) {
|
|
29
|
+
await this.client.del(`/public/api/projects/${this.enc(projectKey)}`);
|
|
30
|
+
}
|
|
31
|
+
/** List all Business Apps. */
|
|
32
|
+
async listBusinessApps() {
|
|
33
|
+
return this.client.get("/public/api/business-apps/");
|
|
34
|
+
}
|
|
35
|
+
/** Get Business App details. */
|
|
36
|
+
async getBusinessApp(id) {
|
|
37
|
+
return this.client.get(`/public/api/business-apps/${encodeURIComponent(id)}`);
|
|
38
|
+
}
|
|
39
|
+
/** Get Business App settings. */
|
|
40
|
+
async getBusinessAppSettings(id) {
|
|
41
|
+
return this.client.get(`/public/api/business-apps/${encodeURIComponent(id)}/settings`);
|
|
42
|
+
}
|
|
43
|
+
/** Save Business App settings. */
|
|
44
|
+
async saveBusinessAppSettings(id, body) {
|
|
45
|
+
await this.client.putVoid(`/public/api/business-apps/${encodeURIComponent(id)}/settings`, body);
|
|
46
|
+
}
|
|
47
|
+
/** List instances of a Business App. */
|
|
48
|
+
async listBusinessAppInstances(id) {
|
|
49
|
+
return this.client.get(`/public/api/business-apps/${encodeURIComponent(id)}/instances`);
|
|
50
|
+
}
|
|
51
|
+
/** Create an instance of a Business App. */
|
|
52
|
+
async createBusinessAppInstance(id, body) {
|
|
53
|
+
return this.client.post(`/public/api/business-apps/${encodeURIComponent(id)}/instances`, body);
|
|
54
|
+
}
|
|
55
|
+
/** Upgrade a Business App instance to the latest version. */
|
|
56
|
+
async upgradeBusinessAppInstance(id, projectKey) {
|
|
57
|
+
return this.client.post(`/public/api/business-apps/${encodeURIComponent(id)}/instances/${encodeURIComponent(projectKey)}/upgrade`, {});
|
|
58
|
+
}
|
|
59
|
+
/** Get a user's effective permissions on a Business App instance. */
|
|
60
|
+
async getBusinessAppInstanceUserPermissions(id, projectKey, user) {
|
|
61
|
+
return this.client.get(`/public/api/business-apps/${encodeURIComponent(id)}/instances/${encodeURIComponent(projectKey)}/permissions/${encodeURIComponent(user)}`);
|
|
62
|
+
}
|
|
63
|
+
/** Install or upgrade a Business App from an archive. */
|
|
64
|
+
async installBusinessAppFromArchive(filePath) {
|
|
65
|
+
await this.client.upload("/public/api/business-apps/install-from-archive", filePath);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { BaseResource } from "./base.js";
|
|
2
|
+
export declare class BundlesResource extends BaseResource {
|
|
3
|
+
/** List bundles exported from a project on the Design node. */
|
|
4
|
+
listExported(projectKey?: string): Promise<Record<string, unknown>[]>;
|
|
5
|
+
/** Create or overwrite an exported Design-node bundle. */
|
|
6
|
+
exportBundle(bundleId: string, projectKey?: string): Promise<void>;
|
|
7
|
+
/** Delete an exported Design-node bundle. */
|
|
8
|
+
deleteExported(bundleId: string, projectKey?: string): Promise<void>;
|
|
9
|
+
/** Download an exported Design-node bundle archive. */
|
|
10
|
+
downloadExportedArchive(bundleId: string, projectKey?: string): Promise<Response>;
|
|
11
|
+
/** Publish a Design-node bundle to the Project Deployer. */
|
|
12
|
+
publish(bundleId: string, projectKey?: string): Promise<Record<string, unknown>>;
|
|
13
|
+
/** List bundles imported into a project on the Automation node. */
|
|
14
|
+
listImported(projectKey?: string): Promise<Record<string, unknown>[]>;
|
|
15
|
+
/** Import a server-side bundle archive into an Automation-node project. */
|
|
16
|
+
importFromArchive(archivePath: string, projectKey?: string): Promise<Record<string, unknown>>;
|
|
17
|
+
/** Import a local bundle archive stream into an Automation-node project. */
|
|
18
|
+
importFromStream(filePath: string, projectKey?: string): Promise<void>;
|
|
19
|
+
/** Activate an imported Automation-node bundle. */
|
|
20
|
+
activate(bundleId: string, projectKey?: string): Promise<Record<string, unknown>>;
|
|
21
|
+
/** Preload an imported Automation-node bundle. */
|
|
22
|
+
preload(bundleId: string, projectKey?: string): Promise<Record<string, unknown>>;
|
|
23
|
+
/** Delete an imported Automation-node bundle. */
|
|
24
|
+
deleteImported(bundleId: string, projectKey?: string): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
export declare class ProjectDeployerResource extends BaseResource {
|
|
27
|
+
/** List published projects in the Project Deployer. */
|
|
28
|
+
listProjects(): Promise<Record<string, unknown>[]>;
|
|
29
|
+
/** Create a Project Deployer published project. */
|
|
30
|
+
createProject(body: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
31
|
+
/** Upload a project bundle archive to the Project Deployer. */
|
|
32
|
+
uploadBundle(filePath: string): Promise<void>;
|
|
33
|
+
/** Get a Project Deployer published project's status. */
|
|
34
|
+
getProjectStatus(publishedProjectKey: string): Promise<Record<string, unknown>>;
|
|
35
|
+
/** List Project Deployer deployments. */
|
|
36
|
+
listDeployments(): Promise<Record<string, unknown>[]>;
|
|
37
|
+
/** Create a Project Deployer deployment. */
|
|
38
|
+
createDeployment(body: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
39
|
+
/** Get a Project Deployer deployment. */
|
|
40
|
+
getDeployment(deploymentId: string): Promise<Record<string, unknown>>;
|
|
41
|
+
/** Get a Project Deployer deployment's full status. */
|
|
42
|
+
getDeploymentStatus(deploymentId: string): Promise<Record<string, unknown>>;
|
|
43
|
+
/** Save Project Deployer deployment settings. */
|
|
44
|
+
saveDeploymentSettings(deploymentId: string, body: Record<string, unknown>): Promise<void>;
|
|
45
|
+
/** Start a Project Deployer deployment update. */
|
|
46
|
+
startUpdate(deploymentId: string): Promise<Record<string, unknown>>;
|
|
47
|
+
/** Delete a Project Deployer deployment. */
|
|
48
|
+
deleteDeployment(deploymentId: string): Promise<void>;
|
|
49
|
+
/** List Project Deployer infrastructures. */
|
|
50
|
+
listInfras(): Promise<Record<string, unknown>[]>;
|
|
51
|
+
/** Create a Project Deployer infrastructure. */
|
|
52
|
+
createInfra(body: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
53
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { BaseResource, } from "./base.js";
|
|
2
|
+
export class BundlesResource extends BaseResource {
|
|
3
|
+
/** List bundles exported from a project on the Design node. */
|
|
4
|
+
async listExported(projectKey) {
|
|
5
|
+
const res = await this.client.get(`/public/api/projects/${this.enc(projectKey)}/bundles/exported`);
|
|
6
|
+
return res.bundles ?? [];
|
|
7
|
+
}
|
|
8
|
+
/** Create or overwrite an exported Design-node bundle. */
|
|
9
|
+
async exportBundle(bundleId, projectKey) {
|
|
10
|
+
await this.client.putVoid(`/public/api/projects/${this.enc(projectKey)}/bundles/exported/?bundleId=${encodeURIComponent(bundleId)}`, {});
|
|
11
|
+
}
|
|
12
|
+
/** Delete an exported Design-node bundle. */
|
|
13
|
+
async deleteExported(bundleId, projectKey) {
|
|
14
|
+
await this.client.del(`/public/api/projects/${this.enc(projectKey)}/bundles/exported/?bundleId=${encodeURIComponent(bundleId)}`);
|
|
15
|
+
}
|
|
16
|
+
/** Download an exported Design-node bundle archive. */
|
|
17
|
+
async downloadExportedArchive(bundleId, projectKey) {
|
|
18
|
+
return this.client.stream(`/public/api/projects/${this.enc(projectKey)}/bundles/exported/${encodeURIComponent(bundleId)}/archive`);
|
|
19
|
+
}
|
|
20
|
+
/** Publish a Design-node bundle to the Project Deployer. */
|
|
21
|
+
async publish(bundleId, projectKey) {
|
|
22
|
+
return this.client.post(`/public/api/projects/${this.enc(projectKey)}/bundles/${encodeURIComponent(bundleId)}/publish`, {});
|
|
23
|
+
}
|
|
24
|
+
/** List bundles imported into a project on the Automation node. */
|
|
25
|
+
async listImported(projectKey) {
|
|
26
|
+
const res = await this.client.get(`/public/api/projects/${this.enc(projectKey)}/bundles/imported`);
|
|
27
|
+
return res.bundles ?? [];
|
|
28
|
+
}
|
|
29
|
+
/** Import a server-side bundle archive into an Automation-node project. */
|
|
30
|
+
async importFromArchive(archivePath, projectKey) {
|
|
31
|
+
return this.client.post(`/public/api/projects/${this.enc(projectKey)}/bundles/imported/actions/importFromArchive?archivePath=${encodeURIComponent(archivePath)}`, {});
|
|
32
|
+
}
|
|
33
|
+
/** Import a local bundle archive stream into an Automation-node project. */
|
|
34
|
+
async importFromStream(filePath, projectKey) {
|
|
35
|
+
await this.client.upload(`/public/api/projects/${this.enc(projectKey)}/bundles/imported/actions/importFromStream`, filePath);
|
|
36
|
+
}
|
|
37
|
+
/** Activate an imported Automation-node bundle. */
|
|
38
|
+
async activate(bundleId, projectKey) {
|
|
39
|
+
return this.client.post(`/public/api/projects/${this.enc(projectKey)}/bundles/imported/${encodeURIComponent(bundleId)}/actions/activate`, {});
|
|
40
|
+
}
|
|
41
|
+
/** Preload an imported Automation-node bundle. */
|
|
42
|
+
async preload(bundleId, projectKey) {
|
|
43
|
+
return this.client.post(`/public/api/projects/${this.enc(projectKey)}/bundles/imported/${encodeURIComponent(bundleId)}/actions/preload`, {});
|
|
44
|
+
}
|
|
45
|
+
/** Delete an imported Automation-node bundle. */
|
|
46
|
+
async deleteImported(bundleId, projectKey) {
|
|
47
|
+
await this.client.del(`/public/api/projects/${this.enc(projectKey)}/bundles/imported/${encodeURIComponent(bundleId)}`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export class ProjectDeployerResource extends BaseResource {
|
|
51
|
+
/** List published projects in the Project Deployer. */
|
|
52
|
+
async listProjects() {
|
|
53
|
+
return this.client.get("/public/api/project-deployer/projects");
|
|
54
|
+
}
|
|
55
|
+
/** Create a Project Deployer published project. */
|
|
56
|
+
async createProject(body) {
|
|
57
|
+
return this.client.post("/public/api/project-deployer/projects", body);
|
|
58
|
+
}
|
|
59
|
+
/** Upload a project bundle archive to the Project Deployer. */
|
|
60
|
+
async uploadBundle(filePath) {
|
|
61
|
+
await this.client.upload("/public/api/project-deployer/projects/bundles", filePath);
|
|
62
|
+
}
|
|
63
|
+
/** Get a Project Deployer published project's status. */
|
|
64
|
+
async getProjectStatus(publishedProjectKey) {
|
|
65
|
+
return this.client.get(`/public/api/project-deployer/projects/${encodeURIComponent(publishedProjectKey)}`);
|
|
66
|
+
}
|
|
67
|
+
/** List Project Deployer deployments. */
|
|
68
|
+
async listDeployments() {
|
|
69
|
+
return this.client.get("/public/api/project-deployer/deployments");
|
|
70
|
+
}
|
|
71
|
+
/** Create a Project Deployer deployment. */
|
|
72
|
+
async createDeployment(body) {
|
|
73
|
+
return this.client.post("/public/api/project-deployer/deployments", body);
|
|
74
|
+
}
|
|
75
|
+
/** Get a Project Deployer deployment. */
|
|
76
|
+
async getDeployment(deploymentId) {
|
|
77
|
+
return this.client.get(`/public/api/project-deployer/deployments/${encodeURIComponent(deploymentId)}`);
|
|
78
|
+
}
|
|
79
|
+
/** Get a Project Deployer deployment's full status. */
|
|
80
|
+
async getDeploymentStatus(deploymentId) {
|
|
81
|
+
return this.client.get(`/public/api/project-deployer/deployments/${encodeURIComponent(deploymentId)}/status`);
|
|
82
|
+
}
|
|
83
|
+
/** Save Project Deployer deployment settings. */
|
|
84
|
+
async saveDeploymentSettings(deploymentId, body) {
|
|
85
|
+
await this.client.putVoid(`/public/api/project-deployer/deployments/${encodeURIComponent(deploymentId)}/settings`, body);
|
|
86
|
+
}
|
|
87
|
+
/** Start a Project Deployer deployment update. */
|
|
88
|
+
async startUpdate(deploymentId) {
|
|
89
|
+
return this.client.post(`/public/api/project-deployer/deployments/${encodeURIComponent(deploymentId)}/actions/update`, {});
|
|
90
|
+
}
|
|
91
|
+
/** Delete a Project Deployer deployment. */
|
|
92
|
+
async deleteDeployment(deploymentId) {
|
|
93
|
+
await this.client.del(`/public/api/project-deployer/deployments/${encodeURIComponent(deploymentId)}`);
|
|
94
|
+
}
|
|
95
|
+
/** List Project Deployer infrastructures. */
|
|
96
|
+
async listInfras() {
|
|
97
|
+
return this.client.get("/public/api/project-deployer/infras");
|
|
98
|
+
}
|
|
99
|
+
/** Create a Project Deployer infrastructure. */
|
|
100
|
+
async createInfra(body) {
|
|
101
|
+
return this.client.post("/public/api/project-deployer/infras", body);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BaseResource } from "./base.js";
|
|
2
|
+
export interface ContinuousActivityListItem extends Record<string, unknown> {
|
|
3
|
+
projectKey: string;
|
|
4
|
+
recipeId: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ContinuousActivityLoopParams extends Record<string, unknown> {
|
|
7
|
+
abortAfterCrashes?: number;
|
|
8
|
+
initialRestartDelayMS?: number;
|
|
9
|
+
restartDelayIncMS?: number;
|
|
10
|
+
maxRestartDelayMS?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface ContinuousActivityStatus extends Record<string, unknown> {
|
|
13
|
+
desiredState?: string;
|
|
14
|
+
mainLoopState?: Record<string, unknown> | null;
|
|
15
|
+
}
|
|
16
|
+
export type ContinuousActivityStartResult = Record<string, unknown>;
|
|
17
|
+
export declare class ContinuousActivitiesResource extends BaseResource {
|
|
18
|
+
/** List continuous activities in a project, including their definitions and states. */
|
|
19
|
+
list(projectKey?: string): Promise<ContinuousActivityListItem[]>;
|
|
20
|
+
/** Get the current status of a continuous recipe activity. */
|
|
21
|
+
getStatus(recipeId: string, projectKey?: string): Promise<ContinuousActivityStatus>;
|
|
22
|
+
/** Start a continuous recipe activity. */
|
|
23
|
+
start(recipeId: string, loop?: ContinuousActivityLoopParams, projectKey?: string): Promise<ContinuousActivityStartResult>;
|
|
24
|
+
/** Stop a continuous recipe activity. */
|
|
25
|
+
stop(recipeId: string, projectKey?: string): Promise<void>;
|
|
26
|
+
private activityPath;
|
|
27
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseResource, } from "./base.js";
|
|
2
|
+
export class ContinuousActivitiesResource extends BaseResource {
|
|
3
|
+
/** List continuous activities in a project, including their definitions and states. */
|
|
4
|
+
async list(projectKey) {
|
|
5
|
+
return this.client.get(`/public/api/projects/${this.enc(projectKey)}/continuous-activities/`);
|
|
6
|
+
}
|
|
7
|
+
/** Get the current status of a continuous recipe activity. */
|
|
8
|
+
async getStatus(recipeId, projectKey) {
|
|
9
|
+
return this.client.get(`${this.activityPath(recipeId, projectKey)}/`);
|
|
10
|
+
}
|
|
11
|
+
/** Start a continuous recipe activity. */
|
|
12
|
+
async start(recipeId, loop, projectKey) {
|
|
13
|
+
return this.client.post(`${this.activityPath(recipeId, projectKey)}/start`, loop ?? {});
|
|
14
|
+
}
|
|
15
|
+
/** Stop a continuous recipe activity. */
|
|
16
|
+
async stop(recipeId, projectKey) {
|
|
17
|
+
await this.client.postText(`${this.activityPath(recipeId, projectKey)}/stop`);
|
|
18
|
+
}
|
|
19
|
+
activityPath(recipeId, projectKey) {
|
|
20
|
+
return `/public/api/projects/${this.enc(projectKey)}/continuous-activities/${encodeURIComponent(recipeId)}`;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -105,4 +105,10 @@ export declare class DatasetsResource extends BaseResource {
|
|
|
105
105
|
update(datasetName: string, data: Record<string, unknown>, projectKey?: string): Promise<void>;
|
|
106
106
|
/** Delete a dataset. */
|
|
107
107
|
delete(datasetName: string, projectKey?: string): Promise<void>;
|
|
108
|
+
/** List all partitions of a partitioned dataset. */
|
|
109
|
+
listPartitions(datasetName: string, projectKey?: string): Promise<string[]>;
|
|
110
|
+
/** Clear a dataset's data. Omit `partitions` to clear the whole dataset. */
|
|
111
|
+
clear(datasetName: string, partitions?: string, projectKey?: string): Promise<void>;
|
|
112
|
+
/** Rename a dataset, updating downstream flow references. */
|
|
113
|
+
rename(oldName: string, newName: string, projectKey?: string): Promise<void>;
|
|
108
114
|
}
|
|
@@ -552,4 +552,19 @@ export class DatasetsResource extends BaseResource {
|
|
|
552
552
|
const dsEnc = encodeURIComponent(datasetName);
|
|
553
553
|
await this.client.del(`/public/api/projects/${this.enc(projectKey)}/datasets/${dsEnc}`);
|
|
554
554
|
}
|
|
555
|
+
/** List all partitions of a partitioned dataset. */
|
|
556
|
+
async listPartitions(datasetName, projectKey) {
|
|
557
|
+
const dsEnc = encodeURIComponent(datasetName);
|
|
558
|
+
return this.client.get(`/public/api/projects/${this.enc(projectKey)}/datasets/${dsEnc}/partitions`);
|
|
559
|
+
}
|
|
560
|
+
/** Clear a dataset's data. Omit `partitions` to clear the whole dataset. */
|
|
561
|
+
async clear(datasetName, partitions, projectKey) {
|
|
562
|
+
const dsEnc = encodeURIComponent(datasetName);
|
|
563
|
+
const query = partitions ? `?partitions=${encodeURIComponent(partitions)}` : "";
|
|
564
|
+
await this.client.del(`/public/api/projects/${this.enc(projectKey)}/datasets/${dsEnc}/data${query}`);
|
|
565
|
+
}
|
|
566
|
+
/** Rename a dataset, updating downstream flow references. */
|
|
567
|
+
async rename(oldName, newName, projectKey) {
|
|
568
|
+
await this.client.postText(`/public/api/projects/${this.enc(projectKey)}/actions/renameDataset`, { oldName, newName, });
|
|
569
|
+
}
|
|
555
570
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseResource } from "./base.js";
|
|
2
|
+
export interface DiscussionReply {
|
|
3
|
+
text: string;
|
|
4
|
+
author?: string;
|
|
5
|
+
time?: number;
|
|
6
|
+
editedOn?: number;
|
|
7
|
+
[key: string]: unknown;
|
|
8
|
+
}
|
|
9
|
+
export interface Discussion {
|
|
10
|
+
id: string;
|
|
11
|
+
topic?: string;
|
|
12
|
+
replies?: DiscussionReply[];
|
|
13
|
+
[key: string]: unknown;
|
|
14
|
+
}
|
|
15
|
+
export declare class DiscussionsResource extends BaseResource {
|
|
16
|
+
/** List discussions attached to a project object. */
|
|
17
|
+
list(objectType: string, objectId: string, projectKey?: string): Promise<Discussion[]>;
|
|
18
|
+
/** Get one discussion attached to a project object, including replies. */
|
|
19
|
+
get(objectType: string, objectId: string, discussionId: string, projectKey?: string): Promise<Discussion>;
|
|
20
|
+
/** Create a discussion with its first reply. */
|
|
21
|
+
create(objectType: string, objectId: string, topic: string, reply: string, projectKey?: string): Promise<Discussion>;
|
|
22
|
+
/** Add a reply to an existing discussion. */
|
|
23
|
+
reply(objectType: string, objectId: string, discussionId: string, text: string, projectKey?: string): Promise<Discussion>;
|
|
24
|
+
private objectDiscussionsPath;
|
|
25
|
+
private discussionPath;
|
|
26
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BaseResource, } from "./base.js";
|
|
2
|
+
export class DiscussionsResource extends BaseResource {
|
|
3
|
+
/** List discussions attached to a project object. */
|
|
4
|
+
async list(objectType, objectId, projectKey) {
|
|
5
|
+
return this.client.get(this.objectDiscussionsPath(objectType, objectId, projectKey));
|
|
6
|
+
}
|
|
7
|
+
/** Get one discussion attached to a project object, including replies. */
|
|
8
|
+
async get(objectType, objectId, discussionId, projectKey) {
|
|
9
|
+
return this.client.get(this.discussionPath(objectType, objectId, discussionId, projectKey));
|
|
10
|
+
}
|
|
11
|
+
/** Create a discussion with its first reply. */
|
|
12
|
+
async create(objectType, objectId, topic, reply, projectKey) {
|
|
13
|
+
return this.client.post(this.objectDiscussionsPath(objectType, objectId, projectKey), { topic, reply, });
|
|
14
|
+
}
|
|
15
|
+
/** Add a reply to an existing discussion. */
|
|
16
|
+
async reply(objectType, objectId, discussionId, text, projectKey) {
|
|
17
|
+
return this.client.post(`${this.discussionPath(objectType, objectId, discussionId, projectKey)}/replies/`, { reply: text, });
|
|
18
|
+
}
|
|
19
|
+
objectDiscussionsPath(objectType, objectId, projectKey) {
|
|
20
|
+
const pk = this.enc(projectKey);
|
|
21
|
+
const encodedType = encodeURIComponent(objectType);
|
|
22
|
+
const encodedId = encodeURIComponent(objectId);
|
|
23
|
+
return `/public/api/projects/${pk}/discussions/${encodedType}/${encodedId}/`;
|
|
24
|
+
}
|
|
25
|
+
discussionPath(objectType, objectId, discussionId, projectKey) {
|
|
26
|
+
const collectionPath = this.objectDiscussionsPath(objectType, objectId, projectKey);
|
|
27
|
+
return `${collectionPath}${encodeURIComponent(discussionId)}`;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { BaseResource } from "./base.js";
|
|
2
|
+
export type MeaningType = "DECLARATIVE" | "VALUES_LIST" | "VALUES_MAPPING" | "PATTERN" | (string & {});
|
|
3
|
+
export type MeaningNormalizationMode = "EXACT" | "LOWERCASE" | "NORMALIZED" | (string & {});
|
|
4
|
+
export interface MeaningEntry extends Record<string, unknown> {
|
|
5
|
+
value?: unknown;
|
|
6
|
+
color?: string | null;
|
|
7
|
+
}
|
|
8
|
+
export interface MeaningMapping extends Record<string, unknown> {
|
|
9
|
+
from?: unknown;
|
|
10
|
+
to?: MeaningEntry | null;
|
|
11
|
+
}
|
|
12
|
+
export interface MeaningDefinition extends Record<string, unknown> {
|
|
13
|
+
id?: string;
|
|
14
|
+
label?: string;
|
|
15
|
+
type?: MeaningType;
|
|
16
|
+
description?: string | null;
|
|
17
|
+
entries?: MeaningEntry[] | null;
|
|
18
|
+
mappings?: MeaningMapping[] | null;
|
|
19
|
+
pattern?: string | null;
|
|
20
|
+
normalizationMode?: MeaningNormalizationMode | null;
|
|
21
|
+
detectable?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface MeaningCreateBody extends Record<string, unknown> {
|
|
24
|
+
description?: string | null;
|
|
25
|
+
entries?: MeaningEntry[] | null;
|
|
26
|
+
mappings?: MeaningMapping[] | null;
|
|
27
|
+
pattern?: string | null;
|
|
28
|
+
normalizationMode?: MeaningNormalizationMode | null;
|
|
29
|
+
detectable?: boolean;
|
|
30
|
+
}
|
|
31
|
+
export declare class MeaningsResource extends BaseResource {
|
|
32
|
+
/** List all user-defined meanings on the DSS instance. */
|
|
33
|
+
list(): Promise<MeaningDefinition[]>;
|
|
34
|
+
/** Get a user-defined meaning definition. */
|
|
35
|
+
get(meaningId: string): Promise<MeaningDefinition>;
|
|
36
|
+
/** Create a user-defined meaning. DSS returns a text confirmation. */
|
|
37
|
+
create(id: string, label: string, type: MeaningType, body?: MeaningCreateBody): Promise<string>;
|
|
38
|
+
/** Replace a user-defined meaning definition. */
|
|
39
|
+
update(meaningId: string, body: MeaningDefinition): Promise<MeaningDefinition>;
|
|
40
|
+
private meaningPath;
|
|
41
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { BaseResource, } from "./base.js";
|
|
2
|
+
export class MeaningsResource extends BaseResource {
|
|
3
|
+
/** List all user-defined meanings on the DSS instance. */
|
|
4
|
+
async list() {
|
|
5
|
+
return this.client.get("/public/api/meanings/");
|
|
6
|
+
}
|
|
7
|
+
/** Get a user-defined meaning definition. */
|
|
8
|
+
async get(meaningId) {
|
|
9
|
+
return this.client.get(this.meaningPath(meaningId));
|
|
10
|
+
}
|
|
11
|
+
/** Create a user-defined meaning. DSS returns a text confirmation. */
|
|
12
|
+
async create(id, label, type, body = {}) {
|
|
13
|
+
return this.client.postText("/public/api/meanings/", {
|
|
14
|
+
...body,
|
|
15
|
+
id,
|
|
16
|
+
label,
|
|
17
|
+
type,
|
|
18
|
+
description: body.description ?? null,
|
|
19
|
+
entries: body.entries ?? null,
|
|
20
|
+
mappings: body.mappings ?? null,
|
|
21
|
+
pattern: body.pattern ?? null,
|
|
22
|
+
normalizationMode: body.normalizationMode ?? null,
|
|
23
|
+
detectable: body.detectable ?? false,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/** Replace a user-defined meaning definition. */
|
|
27
|
+
async update(meaningId, body) {
|
|
28
|
+
return this.client.put(this.meaningPath(meaningId), body);
|
|
29
|
+
}
|
|
30
|
+
meaningPath(meaningId) {
|
|
31
|
+
return `/public/api/meanings/${encodeURIComponent(meaningId)}`;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { BaseResource } from "./base.js";
|
|
2
|
+
export interface MetricDescriptor {
|
|
3
|
+
id: string;
|
|
4
|
+
[key: string]: unknown;
|
|
5
|
+
}
|
|
6
|
+
export interface MetricLastValue {
|
|
7
|
+
partition?: string;
|
|
8
|
+
value?: string | number | boolean | null;
|
|
9
|
+
dataType?: string;
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
}
|
|
12
|
+
export interface MetricWithLastValues {
|
|
13
|
+
metric: MetricDescriptor;
|
|
14
|
+
lastValues: MetricLastValue[];
|
|
15
|
+
[key: string]: unknown;
|
|
16
|
+
}
|
|
17
|
+
export interface MetricValues {
|
|
18
|
+
metrics: MetricWithLastValues[];
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
}
|
|
21
|
+
export interface MetricHistoryValue {
|
|
22
|
+
time?: number;
|
|
23
|
+
value?: string | number | boolean | null;
|
|
24
|
+
dataType?: string;
|
|
25
|
+
[key: string]: unknown;
|
|
26
|
+
}
|
|
27
|
+
export interface MetricHistory {
|
|
28
|
+
metricId?: string;
|
|
29
|
+
values: MetricHistoryValue[];
|
|
30
|
+
[key: string]: unknown;
|
|
31
|
+
}
|
|
32
|
+
export interface MetricComputationReport {
|
|
33
|
+
[key: string]: unknown;
|
|
34
|
+
}
|
|
35
|
+
export declare class MetricsResource extends BaseResource {
|
|
36
|
+
/** Get the last metric values for a dataset's global partition. */
|
|
37
|
+
getDatasetMetrics(datasetName: string, projectKey?: string): Promise<MetricValues>;
|
|
38
|
+
/** Compute the dataset metrics configured in DSS for the default partition. */
|
|
39
|
+
computeDatasetMetrics(datasetName: string, projectKey?: string): Promise<MetricComputationReport>;
|
|
40
|
+
/** Get the last metric values for a managed folder. */
|
|
41
|
+
getFolderMetrics(folderId: string, projectKey?: string): Promise<MetricValues>;
|
|
42
|
+
/** Get the metric history for a dataset's global partition. */
|
|
43
|
+
getDatasetMetricHistory(datasetName: string, metricId: string, projectKey?: string): Promise<MetricHistory>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { BaseResource, } from "./base.js";
|
|
2
|
+
function datasetPath(encodedProjectKey, datasetName) {
|
|
3
|
+
return `/public/api/projects/${encodedProjectKey}/datasets/${encodeURIComponent(datasetName)}`;
|
|
4
|
+
}
|
|
5
|
+
function folderPath(encodedProjectKey, folderId) {
|
|
6
|
+
return `/public/api/projects/${encodedProjectKey}/managedfolders/${encodeURIComponent(folderId)}`;
|
|
7
|
+
}
|
|
8
|
+
export class MetricsResource extends BaseResource {
|
|
9
|
+
/** Get the last metric values for a dataset's global partition. */
|
|
10
|
+
async getDatasetMetrics(datasetName, projectKey) {
|
|
11
|
+
const pk = this.enc(projectKey);
|
|
12
|
+
return this.client.get(`${datasetPath(pk, datasetName)}/metrics/last/NP`);
|
|
13
|
+
}
|
|
14
|
+
/** Compute the dataset metrics configured in DSS for the default partition. */
|
|
15
|
+
async computeDatasetMetrics(datasetName, projectKey) {
|
|
16
|
+
const pk = this.enc(projectKey);
|
|
17
|
+
return this.client.post(`${datasetPath(pk, datasetName)}/actions/computeMetrics?partition=`);
|
|
18
|
+
}
|
|
19
|
+
/** Get the last metric values for a managed folder. */
|
|
20
|
+
async getFolderMetrics(folderId, projectKey) {
|
|
21
|
+
const pk = this.enc(projectKey);
|
|
22
|
+
return this.client.get(`${folderPath(pk, folderId)}/metrics/last`);
|
|
23
|
+
}
|
|
24
|
+
/** Get the metric history for a dataset's global partition. */
|
|
25
|
+
async getDatasetMetricHistory(datasetName, metricId, projectKey) {
|
|
26
|
+
const pk = this.enc(projectKey);
|
|
27
|
+
const params = new URLSearchParams();
|
|
28
|
+
params.set("metricLookup", metricId);
|
|
29
|
+
return this.client.get(`${datasetPath(pk, datasetName)}/metrics/history/NP?${params.toString()}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { BaseResource } from "./base.js";
|
|
2
|
+
export interface ProjectLibraryItem {
|
|
3
|
+
name: string;
|
|
4
|
+
children?: ProjectLibraryItem[];
|
|
5
|
+
}
|
|
6
|
+
export interface ProjectLibraryFileContent {
|
|
7
|
+
data: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ProjectLibraryRenameRequest {
|
|
10
|
+
oldPath: string;
|
|
11
|
+
newName: string;
|
|
12
|
+
}
|
|
13
|
+
export interface ProjectLibraryMoveRequest {
|
|
14
|
+
oldPath: string;
|
|
15
|
+
newPath: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class ProjectLibraryResource extends BaseResource {
|
|
18
|
+
/** List the full project code-library contents tree. */
|
|
19
|
+
listContents(projectKey?: string): Promise<ProjectLibraryItem[]>;
|
|
20
|
+
/** Read a project code-library file as text. */
|
|
21
|
+
getFile(path: string, projectKey?: string): Promise<string>;
|
|
22
|
+
/** Read a project code-library file as bytes. */
|
|
23
|
+
getFileBytes(path: string, projectKey?: string): Promise<Uint8Array>;
|
|
24
|
+
/** Create an empty project code-library file. */
|
|
25
|
+
addFile(path: string, projectKey?: string): Promise<void>;
|
|
26
|
+
/** Create a project code-library folder. */
|
|
27
|
+
addFolder(path: string, projectKey?: string): Promise<void>;
|
|
28
|
+
/** Create or replace a project code-library file with raw text content. */
|
|
29
|
+
addOrUpdateFile(path: string, content: string, projectKey?: string): Promise<void>;
|
|
30
|
+
/** Delete a project code-library file. */
|
|
31
|
+
deleteFile(path: string, projectKey?: string): Promise<void>;
|
|
32
|
+
/** Rename a project code-library file or folder within its current parent folder. */
|
|
33
|
+
rename(path: string, newName: string, projectKey?: string): Promise<void>;
|
|
34
|
+
/** Move a project code-library file or folder into another library folder. */
|
|
35
|
+
move(path: string, destinationFolderPath: string, projectKey?: string): Promise<void>;
|
|
36
|
+
private contentsPath;
|
|
37
|
+
private postRawText;
|
|
38
|
+
}
|