dataiku-sdk 3.2.0 → 3.3.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.
Files changed (120) hide show
  1. package/README.md +149 -46
  2. package/dist/build-metadata.json +1 -1
  3. package/dist/packages/types/src/index.d.ts +102 -0
  4. package/dist/packages/types/src/index.js +76 -0
  5. package/dist/src/cli/commands/app.js +57 -15
  6. package/dist/src/cli/commands/bundle.js +1 -1
  7. package/dist/src/cli/commands/code-env.js +13 -7
  8. package/dist/src/cli/commands/connection.d.ts +9 -0
  9. package/dist/src/cli/commands/connection.js +267 -1
  10. package/dist/src/cli/commands/data-collection.d.ts +2 -0
  11. package/dist/src/cli/commands/data-collection.js +164 -0
  12. package/dist/src/cli/commands/dataset.js +161 -32
  13. package/dist/src/cli/commands/future.js +2 -2
  14. package/dist/src/cli/commands/group.d.ts +2 -0
  15. package/dist/src/cli/commands/group.js +109 -0
  16. package/dist/src/cli/commands/index.js +151 -78
  17. package/dist/src/cli/commands/knowledge-bank.d.ts +2 -0
  18. package/dist/src/cli/commands/knowledge-bank.js +80 -0
  19. package/dist/src/cli/commands/llm.d.ts +2 -0
  20. package/dist/src/cli/commands/llm.js +93 -0
  21. package/dist/src/cli/commands/macro.d.ts +2 -0
  22. package/dist/src/cli/commands/macro.js +221 -0
  23. package/dist/src/cli/commands/ml-task.js +18 -6
  24. package/dist/src/cli/commands/notebook.js +6 -2
  25. package/dist/src/cli/commands/plugin.d.ts +2 -0
  26. package/dist/src/cli/commands/plugin.js +799 -0
  27. package/dist/src/cli/commands/project-folder.d.ts +2 -0
  28. package/dist/src/cli/commands/project-folder.js +197 -0
  29. package/dist/src/cli/commands/project-git.js +14 -54
  30. package/dist/src/cli/commands/project.js +52 -6
  31. package/dist/src/cli/commands/recipe.js +36 -1
  32. package/dist/src/cli/commands/saved-model.d.ts +5 -0
  33. package/dist/src/cli/commands/saved-model.js +388 -1
  34. package/dist/src/cli/commands/scenario.js +138 -1
  35. package/dist/src/cli/commands/user.d.ts +8 -0
  36. package/dist/src/cli/commands/user.js +296 -0
  37. package/dist/src/cli/contract.d.ts +1 -2
  38. package/dist/src/cli/contract.js +1089 -103
  39. package/dist/src/cli/flags.js +30 -1
  40. package/dist/src/cli/helpers/app-successor.d.ts +19 -4
  41. package/dist/src/cli/helpers/app-successor.js +90 -30
  42. package/dist/src/cli/helpers/cleanup.js +3 -1
  43. package/dist/src/cli/helpers/flow-zone.js +1 -2
  44. package/dist/src/cli/output.d.ts +1 -1
  45. package/dist/src/cli/output.js +23 -10
  46. package/dist/src/cli/usage.d.ts +1 -0
  47. package/dist/src/cli/usage.js +47 -1
  48. package/dist/src/cli.js +147 -41
  49. package/dist/src/client.d.ts +83 -5
  50. package/dist/src/client.js +185 -29
  51. package/dist/src/errors.d.ts +3 -0
  52. package/dist/src/errors.js +2 -0
  53. package/dist/src/index.d.ts +16 -7
  54. package/dist/src/index.js +11 -2
  55. package/dist/src/resources/analyses.js +1 -8
  56. package/dist/src/resources/applications.d.ts +8 -6
  57. package/dist/src/resources/applications.js +21 -21
  58. package/dist/src/resources/base.d.ts +4 -0
  59. package/dist/src/resources/base.js +15 -0
  60. package/dist/src/resources/bundles.d.ts +9 -4
  61. package/dist/src/resources/bundles.js +10 -5
  62. package/dist/src/resources/connections.d.ts +78 -1
  63. package/dist/src/resources/connections.js +132 -1
  64. package/dist/src/resources/data-collections.d.ts +118 -0
  65. package/dist/src/resources/data-collections.js +49 -0
  66. package/dist/src/resources/datasets.d.ts +69 -0
  67. package/dist/src/resources/datasets.js +99 -1
  68. package/dist/src/resources/futures.d.ts +4 -1
  69. package/dist/src/resources/futures.js +38 -6
  70. package/dist/src/resources/groups.d.ts +47 -0
  71. package/dist/src/resources/groups.js +56 -0
  72. package/dist/src/resources/jobs.d.ts +8 -13
  73. package/dist/src/resources/jobs.js +41 -16
  74. package/dist/src/resources/knowledge-banks.d.ts +58 -0
  75. package/dist/src/resources/knowledge-banks.js +61 -0
  76. package/dist/src/resources/llms.d.ts +92 -0
  77. package/dist/src/resources/llms.js +62 -0
  78. package/dist/src/resources/macros.d.ts +121 -0
  79. package/dist/src/resources/macros.js +231 -0
  80. package/dist/src/resources/ml-tasks.d.ts +37 -2
  81. package/dist/src/resources/ml-tasks.js +100 -20
  82. package/dist/src/resources/model-evaluation-stores.js +1 -8
  83. package/dist/src/resources/notebooks.d.ts +43 -7
  84. package/dist/src/resources/notebooks.js +53 -13
  85. package/dist/src/resources/plugins.d.ts +265 -0
  86. package/dist/src/resources/plugins.js +458 -0
  87. package/dist/src/resources/project-folders.d.ts +71 -0
  88. package/dist/src/resources/project-folders.js +57 -0
  89. package/dist/src/resources/project-git.d.ts +6 -0
  90. package/dist/src/resources/project-git.js +69 -42
  91. package/dist/src/resources/project-library.d.ts +0 -1
  92. package/dist/src/resources/project-library.js +1 -17
  93. package/dist/src/resources/projects.d.ts +19 -1
  94. package/dist/src/resources/projects.js +27 -1
  95. package/dist/src/resources/recipes.d.ts +15 -1
  96. package/dist/src/resources/recipes.js +73 -6
  97. package/dist/src/resources/saved-models.d.ts +134 -1
  98. package/dist/src/resources/saved-models.js +214 -6
  99. package/dist/src/resources/scenarios.d.ts +105 -0
  100. package/dist/src/resources/scenarios.js +232 -106
  101. package/dist/src/resources/sql.js +5 -1
  102. package/dist/src/resources/users.d.ts +129 -0
  103. package/dist/src/resources/users.js +128 -0
  104. package/dist/src/resources/webapps.d.ts +15 -2
  105. package/dist/src/resources/webapps.js +18 -4
  106. package/dist/src/schemas.d.ts +2 -2
  107. package/dist/src/schemas.js +1 -1
  108. package/dist/src/utils/deep-merge.d.ts +1 -1
  109. package/dist/src/utils/polling.d.ts +20 -0
  110. package/dist/src/utils/polling.js +27 -0
  111. package/dist/src/utils/response-file.js +1 -1
  112. package/dist/src/utils/secret-sanitize.d.ts +54 -0
  113. package/dist/src/utils/secret-sanitize.js +101 -0
  114. package/package.json +6 -5
  115. package/packages/types/dist/index.d.ts +102 -0
  116. package/packages/types/dist/index.js +76 -0
  117. package/plugin.json +1 -1
  118. package/skills/dataiku-dss/SKILL.md +7 -5
  119. package/skills/dataiku-dss/references/app-releases.md +8 -7
  120. package/skills/dataiku-dss/references/discovery.md +4 -4
@@ -1,6 +1,6 @@
1
1
  # Application releases
2
2
 
3
- Release gates: validate → compare → version → successor → verify → permissions.
3
+ Snapshot sharing → validate → compare → version → successor → verify access.
4
4
  Manifest `version` is raw metadata, **not publishing**. New instances inherit it; existing instances never upgrade in place. Create/verify an additive successor, preserve the predecessor, retire separately. No private publish/recreate/rename, recipient-sharing, or UI-click APIs may be inferred.
5
5
 
6
6
  ```text
@@ -9,19 +9,20 @@ dss app compare-manifest APP_ID --project-key RELEASE_INSTANCE
9
9
  dss app manifest-version --project-key APP_TEMPLATE
10
10
  dss app successor-preflight APP_ID --from RELEASE_INSTANCE --to RELEASE_INSTANCE_V2 --copy-permissions
11
11
  dss app set-manifest-version --manifest-version 1.4.0 --expect-hash PREFLIGHT_TEMPLATE_MANIFEST_HASH --project-key APP_TEMPLATE
12
- # targetProjectKey in instance.json must be confirmed absent
13
12
  dss app create-instance APP_ID --data-file instance.json --wait --record-cleanup cleanup.jsonl
14
13
  dss app create-successor-instance APP_ID --from RELEASE_INSTANCE --to RELEASE_INSTANCE_V2 --copy-permissions --record-cleanup cleanup.jsonl
15
14
  dss app verify-instance APP_ID --project-key RELEASE_INSTANCE_V2 --expect-version 1.4.0
16
- dss cleanup --file cleanup.jsonl
15
+ dss cleanup --file cleanup.jsonl --apply
17
16
  dss app permissions-snapshot --project-key RELEASE_INSTANCE --output permissions.json
18
17
  dss app permissions-diff --project-key RELEASE_INSTANCE --file permissions.json
19
18
  dss app permissions-restore --project-key RELEASE_INSTANCE --file permissions.json --dry-run
20
19
  ```
21
20
 
22
- - Run `successor-preflight` **before** changing the version: non-mutating validation of template, predecessor, target, optional ACL snapshot; returns the template manifest hash for `set-manifest-version --expect-hash`.
23
- - A masked `403`, even absent from both visible lists, fails as `target_absence_unverifiable` / `permission_or_environment`: lists prove collisions, not absence. DSS has no permission-independent public key-availability endpoint or guaranteed non-overwriting duplicate-key rejection. No force/server-atomic bypass; use global project visibility.
21
+ - Run `successor-preflight` **before** changing the version: validate template, predecessor, optional ACLs, and an explicit target's absence; returns the template manifest hash for `set-manifest-version --expect-hash`. Omitting `--to` skips only target-absence checks, not source/template checks or apply-time target identity verification.
22
+ - Omit `targetProjectKey` (create) or `--to` (successor) for a cryptographically random key, no visibility probes; preserve the name (defaults to key). Preflight/plan allocate nothing and omit `target.projectKey` — generated successor results carry `targetProjectKeyGeneratedDuringApply` and `targetPreflight:"not-applicable-generated-key"`; apply generates the key once before its single POST and binds cleanup through the future target plus `creationTag`. Collision risk is negligible, not zero.
23
+ - Explicit keys/`--to` require confirmed absence. Masked `403` → `target_absence_unverifiable` / `permission_or_environment`, even if unlisted. No public availability/atomic duplicate guarantee or force bypass; exact keys need global visibility.
24
24
  - Definitive rejection: no cleanup entry. Ambiguous POST without a future ID or verified incarnation: `INDETERMINATE`, no cleanup entry. Future-addressable cleanup waits for target identity and `creationTag`; never targets the predecessor.
25
- - Ledgers bind canonical DSS URL, project key, concrete incarnation; reject legacy, mixed-server, mismatched-server, or unbound app entries. Static plans: `preflightExecuted:false`, `preflightWillRunDuringApply:true`.
25
+ - Ledgers bind canonical DSS URL, project key, concrete incarnation; reject legacy, mixed-server, mismatched-server, or unbound app entries. Explicit-key plans: `preflightExecuted:false`, `preflightWillRunDuringApply:true`. Cleanup is rollback; omit `--apply` to preview.
26
26
  - `set-manifest-version` reports `concurrencyControl:"client-side-non-atomic-stale-read-check"`: `--expect-hash` guards stale reads, **not a lock**; PUT is unconditional. Ambiguous writes: `outcome:"indeterminate"`.
27
- - API keys authenticate public REST only. `verify-instance` reports `status:"API_VERIFIED_UI_PENDING"`; complete external SSO verification by exercising affected tiles, forms, actions. Permission snapshots bind identities/permissions to server/project incarnation and reject mismatches.
27
+ - People absent from the originator flow can lose sharing across a template update, recreation, or successor. Snapshot live `user`/`group` access before, `permissions-diff` after, then restore approved missing access without removing new grants — `permissions-restore` is SAME-instance only and PUTs the whole object: preview and reconcile intervening changes first.
28
+ - API keys authenticate public REST only. `verify-instance` reports `status:"API_VERIFIED_UI_PENDING"`; complete external SSO verification by exercising affected tiles, forms, actions. Permission snapshots bind to server and project incarnation, so a predecessor snapshot cannot be restored onto a successor — copy permissions at creation (`--copy-permissions`), compare predecessor/successor rules, and verify the intended identity's access before retiring the predecessor.
@@ -13,17 +13,17 @@
13
13
 
14
14
  ```text
15
15
  dss commands run
16
- dss commands run --fields dataset
16
+ dss agent contract --fields commands.actions.dataset
17
17
  dss commands run --fields dataset.create
18
- dss commands run --fields dataset.create.usage,dataset.create.description,dataset.create.flags,dataset.create.examples
18
+ dss commands run --fields dataset.preview.usage,dataset.preview.description,dataset.preview.flags,dataset.preview.examples
19
19
  dss commands run --output commands.json
20
20
  dss agent contract --fields protocol,agentContractVersion,cli,stdio,planning,compatibility
21
21
  dss agent contract --fields commands.actions
22
22
  ```
23
23
 
24
- `commands run` defaults to a resource→action-name summary (~1k tokens), never full entries. Bootstrap with the six-field `agent contract` projection above (~250 tokens): protocol/schema compatibility, streams, discovery commands, planning, compatibility guarantees. Fetch `schemas` or `commands` only as needed.
24
+ `commands run` defaults to a resource→action-name summary (~1.6k tokens), never full entries. For a known resource, project `commands.actions.RESOURCE` from `agent contract` (~64 tokens for dataset). Bootstrap once with the six-field projection above (~250 tokens); fetch `schemas` or `commands` only as needed.
25
25
 
26
- Look up syntax before invoking. `--fields RESOURCE` selects all its entries; `RESOURCE.ACTION` one complete entry; append `.FIELD` for nested metadata. Prefer `usage,description,flags,examples` for initial invocation discovery. Full entries canonically describe flags, positionals, side effects, auth, output, idempotency, dry-run, structured examples, payload schemas, unsafe outputs, cleanup, and exits.
26
+ Look up syntax before invoking. `--fields RESOURCE` selects every full entry (potentially large); `RESOURCE.ACTION` one complete entry; append `.FIELD` for nested metadata. Reads: prefer `usage,description,flags,examples`. Writes: fetch the full entry directly once, not compact-then-full. It includes flags, positionals, side effects, auth, output, idempotency, dry-run, examples, payload schemas, unsafe outputs, cleanup, and exits.
27
27
 
28
28
  Comma-separate selectors to batch lookups. Keys echo selectors: `--fields dataset.create` → `{"dataset.create":{...}}`. Empty `--fields` fails usage validation, never dumps everything. Unknown resources/actions exit 1 with compact JSON errors listing valid options.
29
29