dataiku-sdk 1.0.0 → 2.0.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 +64 -10
- package/bin/dss.js +67 -78
- package/dist/build-metadata.json +1 -0
- package/dist/src/cli/commands/api-service.js +5 -4
- package/dist/src/cli/commands/app.js +45 -12
- package/dist/src/cli/commands/bundle.js +5 -4
- package/dist/src/cli/commands/data-quality.js +42 -0
- package/dist/src/cli/commands/dataset.d.ts +23 -0
- package/dist/src/cli/commands/dataset.js +187 -6
- package/dist/src/cli/commands/job.js +15 -2
- package/dist/src/cli/commands/project-library.js +4 -4
- package/dist/src/cli/commands/project.js +116 -12
- package/dist/src/cli/contract.d.ts +1 -0
- package/dist/src/cli/contract.js +194 -15
- package/dist/src/cli/doctor.d.ts +12 -2
- package/dist/src/cli/doctor.js +44 -13
- package/dist/src/cli/flags.js +2 -0
- package/dist/src/cli/helpers/app-successor.d.ts +15 -3
- package/dist/src/cli/helpers/app-successor.js +155 -15
- package/dist/src/cli/helpers/cleanup.js +30 -1
- package/dist/src/cli/output.d.ts +3 -1
- package/dist/src/cli/output.js +11 -6
- package/dist/src/cli/types.d.ts +2 -0
- package/dist/src/cli/version.d.ts +47 -4
- package/dist/src/cli/version.js +176 -9
- package/dist/src/cli.js +55 -14
- package/dist/src/client.d.ts +28 -1
- package/dist/src/client.js +34 -7
- package/dist/src/errors.d.ts +1 -1
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.js +1 -0
- package/dist/src/resources/datasets.d.ts +43 -0
- package/dist/src/resources/datasets.js +199 -28
- package/dist/src/resources/folders.js +6 -8
- package/dist/src/resources/projects.d.ts +36 -3
- package/dist/src/resources/projects.js +122 -20
- package/dist/src/skill.js +1 -18
- package/dist/src/utils/project-archive.d.ts +32 -0
- package/dist/src/utils/project-archive.js +623 -0
- package/dist/src/utils/stable-hash.js +1 -2
- package/package.json +10 -10
- package/plugin.json +1 -1
- package/skills/dataiku-dss/SKILL.md +27 -35
|
@@ -7,14 +7,14 @@ description: >-
|
|
|
7
7
|
dss commands run --fields RESOURCE.ACTION.
|
|
8
8
|
license: MIT
|
|
9
9
|
compatibility: >-
|
|
10
|
-
Requires the dss CLI, network access to a Dataiku DSS instance,
|
|
11
|
-
DATAIKU_URL and DATAIKU_API_KEY credentials
|
|
10
|
+
Requires the dss CLI, network access to a Dataiku DSS instance, configured
|
|
11
|
+
DATAIKU_URL and DATAIKU_API_KEY credentials, and Bun >= 1.4.0.
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
# Dataiku DSS agent CLI
|
|
15
15
|
|
|
16
16
|
Use `dss` when an agent needs to inspect or change Dataiku DSS resources: projects, datasets, recipes, jobs, scenarios, folders, notebooks, SQL, variables, code envs, and connections.
|
|
17
|
-
If the installed `dss` binary is unavailable but the repository checkout is the current workspace, prefer `bun --no-env-file src/cli.ts ...` or `bun --no-env-file ./bin/dss.js ...`.
|
|
17
|
+
If the installed `dss` binary is unavailable but the repository checkout is the current workspace, prefer `bun --no-env-file src/cli.ts ...` or the packaged launcher `bun --no-env-file ./bin/dss.js ...`. From another working directory, pass the checkout's absolute `bin/dss.js` path to Bun.
|
|
18
18
|
`--no-env-file` disables Bun's automatic preloading only; the CLI still applies its documented `.env` handling unless `DATAIKU_DISABLE_ENV=1` is set.
|
|
19
19
|
|
|
20
20
|
## Contract
|
|
@@ -126,7 +126,8 @@ recipient-sharing, or UI-click operations that the public DSS API does not expos
|
|
|
126
126
|
dss app validate-manifest --project-key APP_TEMPLATE
|
|
127
127
|
dss app compare-manifest APP_ID --project-key RELEASE_INSTANCE
|
|
128
128
|
dss app manifest-version --project-key APP_TEMPLATE
|
|
129
|
-
dss app
|
|
129
|
+
dss app successor-preflight APP_ID --from RELEASE_INSTANCE --to RELEASE_INSTANCE_V2 --copy-permissions
|
|
130
|
+
dss app set-manifest-version --manifest-version 1.4.0 --expect-hash PREFLIGHT_TEMPLATE_MANIFEST_HASH --project-key APP_TEMPLATE
|
|
130
131
|
# targetProjectKey in instance.json must be confirmed absent
|
|
131
132
|
dss app create-instance APP_ID --data-file instance.json --wait --record-cleanup cleanup.jsonl
|
|
132
133
|
dss app create-successor-instance APP_ID --from RELEASE_INSTANCE --to RELEASE_INSTANCE_V2 --copy-permissions --record-cleanup cleanup.jsonl
|
|
@@ -137,39 +138,30 @@ dss app permissions-diff --project-key RELEASE_INSTANCE --file permissions.json
|
|
|
137
138
|
dss app permissions-restore --project-key RELEASE_INSTANCE --file permissions.json --dry-run
|
|
138
139
|
```
|
|
139
140
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
141
|
+
Run `successor-preflight` before changing the template version. It validates the template,
|
|
142
|
+
predecessor, target, and optional ACL snapshot, performs no mutation, and returns the template
|
|
143
|
+
manifest hash for the next `set-manifest-version --expect-hash` guard.
|
|
144
|
+
|
|
145
|
+
A masked `403` absent from both visible lists is rejected as
|
|
146
|
+
`target_absence_unverifiable` / `permission_or_environment`; lists prove collisions, not absence.
|
|
147
|
+
DSS exposes no permission-independent public key-availability endpoint or guaranteed
|
|
148
|
+
non-overwriting duplicate-key rejection, so no force or server-atomic bypass is supported. Use
|
|
149
|
+
global project visibility. A definitive rejection writes no cleanup entry. An ambiguous POST
|
|
150
|
+
without a returned future ID or verified incarnation is `INDETERMINATE` and also produces no cleanup
|
|
151
|
+
entry. Future-addressable cleanup waits for target identity and `creationTag`; the predecessor is
|
|
152
|
+
never targeted. Ledgers bind the canonical DSS URL, project key, and concrete project incarnation,
|
|
153
|
+
and reject legacy, mixed-server, mismatched-server, or unbound app cleanup entries. Static plans
|
|
154
|
+
expose `preflightExecuted:false` and `preflightWillRunDuringApply:true`.
|
|
154
155
|
|
|
155
156
|
`app set-manifest-version` reports
|
|
156
|
-
`concurrencyControl:"client-side-non-atomic-stale-read-check"`. `--expect-hash
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
`
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
`status:"API_VERIFIED_UI_PENDING"`, and `uiPublicationVerified:false`. Its `visual-ui` gate
|
|
165
|
-
requires a pre-authenticated SSO browser session or dedicated UI test identity and evidence from
|
|
166
|
-
exercising the affected tiles, forms, and actions; the CLI never marks that external gate complete.
|
|
167
|
-
Permission snapshots have an integrity hash bound to the canonical DSS URL, project key, and
|
|
168
|
-
observed concrete project incarnation from `creationTag`; diff and restore reject detected server,
|
|
169
|
-
key, or incarnation mismatches. DSS exposes no conditional permission PUT, so these client-side checks
|
|
170
|
-
narrow and detect key-reuse races but cannot serialize the final check with the write. Snapshots
|
|
171
|
-
contain access-control identities; keep them mode `0600` and commit them only when repository
|
|
172
|
-
policy permits.
|
|
157
|
+
`concurrencyControl:"client-side-non-atomic-stale-read-check"`. `--expect-hash` is a stale-read
|
|
158
|
+
guard; the PUT is unconditional. Never treat the hash as a serializing lock. Ambiguous writes report
|
|
159
|
+
`outcome:"indeterminate"`.
|
|
160
|
+
|
|
161
|
+
The API key authenticates public REST only. `app verify-instance` reports
|
|
162
|
+
`status:"API_VERIFIED_UI_PENDING"`; its external SSO gate requires exercising the affected tiles,
|
|
163
|
+
forms, and actions. Permission snapshots bind identity and permissions to the server/project
|
|
164
|
+
incarnation and reject mismatches.
|
|
173
165
|
|
|
174
166
|
## Project Git
|
|
175
167
|
|