@deepdockai/cli 1.0.27 → 1.0.29

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.29
4
+
5
+ - A paused action's `reason` can also read `credentials_rejected` (the program no longer accepts the stored sign-in) or `certificate_changed` (the program's server certificate changed). Both are fixed by the customer choosing "Anmeldung erneuern" in the Deepdock client, and the action resumes by itself. Calls answer `action_paused` meanwhile, as for any pause. The bundled device types and the skill's concepts list include them.
6
+
7
+ ## 1.0.28
8
+
9
+ - The device API's `Error.code` list no longer names `organization_required`, `forbidden`, `conflict` and `already_member`: only the dashboard tree (`/partner`) answers them, never `/v1`. The CLI still meets them on its own `/partner` calls and keeps their exit codes (`organization_required` 1, the other three 2), now from a list of its own. Nothing changes for a script that reads `--json` or the exit code.
10
+
3
11
  ## 1.0.27
4
12
 
5
13
  - An update is called with `PATCH` again; a read and a create stay `POST`. All three take a flat JSON body and nothing in the URL. The method must be the action's own: any other answers `405 invalid_request` with `Allow` naming the one method (`POST` or `PATCH`), so a `POST` to an update is refused and does nothing. A query string on an action path is still `400 invalid_request`. A write still needs an `Idempotency-Key`; a read ignores it.
package/dist/deepdock.js CHANGED
@@ -11440,7 +11440,7 @@ import { spawn } from "node:child_process";
11440
11440
  import { homedir, hostname } from "node:os";
11441
11441
 
11442
11442
  // src/version.ts
11443
- var VERSION = "1.0.27";
11443
+ var VERSION = "1.0.29";
11444
11444
 
11445
11445
  // src/runtime.ts
11446
11446
  var DEFAULT_BASE_URL = "https://api.deepdock.ai";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deepdockai/cli",
3
- "version": "1.0.27",
3
+ "version": "1.0.29",
4
4
  "description": "Deepdock partner CLI: pair devices, see systems and actions, create the API key your code runs them with.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -106,7 +106,12 @@ export type PairBody = { code: string; label?: string }
106
106
 
107
107
  export type ActionState =
108
108
  | { action: string; state: 'active' }
109
- | { action: string; state: 'paused'; reason: 'structure_changed' | 'readback_failed'; pausedAt: string }
109
+ | {
110
+ action: string
111
+ state: 'paused'
112
+ reason: 'structure_changed' | 'readback_failed' | 'credentials_rejected' | 'certificate_changed'
113
+ pausedAt: string
114
+ }
110
115
 
111
116
  export type DeviceSystem = {
112
117
  system: string
@@ -60,6 +60,8 @@ has a display `label` (may be `null`), a `version` the device reported (may be a
60
60
  | action state | `paused` | the action is paused with a `reason` and `pausedAt` | calls answer `action_paused`; show the feature as paused, poll `GET .../systems` at a low rate |
61
61
  | pause `reason` | `structure_changed` | the system changed in a way the action depends on (for example a vendor update); Deepdock reviews and resumes | wait; nothing to do on your side |
62
62
  | pause `reason` | `readback_failed` | a write's result did not match, so nothing was saved | wait; tell the user the change was not saved |
63
+ | pause `reason` | `credentials_rejected` | the program no longer accepts the sign-in the device stored for it (for example a changed password) | tell the user to choose "Anmeldung erneuern" in the Deepdock client; the action resumes by itself once the new sign-in works, nothing to resume |
64
+ | pause `reason` | `certificate_changed` | the program's server certificate is not the one the device accepted at sign-in | tell the user to choose "Anmeldung erneuern" in the Deepdock client, compare the fingerprint it shows and sign in again; the action resumes by itself, nothing to resume |
63
65
  | pause `reason` | `system_stopped`, `system_missing` | as the system statuses above; these need no resume and clear when the system is back | as above |
64
66
 
65
67
  Switch on these values; any value you do not know is shown as it is.
@@ -24,9 +24,9 @@ with the **same** `Idempotency-Key`); **Show** says what the end user should see
24
24
  | `not_found` | 404 | no such route; an update whose id matches no record; a write naming a record that does not exist or belongs to another one | no | "record not found" when it is a record; otherwise a bug |
25
25
  | `rate_limited` | 429 | more than 600 calls, or more than 120 writes (counted in both), with this key in a minute; or more than 5 failed pairing claims in 60 s | yes, after `Retry-After: 60` (`retryAfterSeconds: 60` in the body); a write keeps its key. The pairing claim answer has neither: wait up to a minute | "try again in a minute" |
26
26
 
27
- Codes your `/v1` code never receives, listed so the enum is complete: `organization_required`
28
- (403), `forbidden` (403), `conflict` (409), `already_member` (409) and `client_outdated` (400) are
29
- dashboard-only.
27
+ `client_outdated` (400) is in the enum but answered only to the Deepdock CLI (by its
28
+ `X-Deepdock-Cli` version), so your own `/v1` code never receives it. The dashboard tree's own codes
29
+ (`organization_required`, `forbidden`, `conflict`, `already_member`) are not in the `/v1` enum.
30
30
 
31
31
  ## Device, system and action resolution
32
32