@deepdockai/cli 1.0.14 → 1.0.16

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.16
4
+
5
+ - A new organisation waits for Deepdock's approval before it can act as a partner: until then every call with its keys answers `403 partner_not_approved`. The skill's error reference lists it, and the CLI exits with 2 for it.
6
+
7
+ ## 1.0.15
8
+
9
+ - `device_offline` also covers a call cut off by a Deepdock restart or deploy (retry a write with the same key). `temporarily_unavailable` is also sent, with `Retry-After: 5`, when Deepdock cannot reach its database. The skill's error reference, idempotency and concepts pages say so.
10
+
3
11
  ## 1.0.14
4
12
 
5
13
  - A system's `access` can be `password_missing`: the database account exists, but its stored password is not on the PC. Like `missing`, every action of the system is refused with `access_missing` (its message names the password) and the customer repeats "Erneut einrichten" in the Deepdock client. The agent skill's TypeScript client types it, and its concepts reference explains it.
package/dist/deepdock.js CHANGED
@@ -10851,6 +10851,7 @@ var EXIT_CODES = {
10851
10851
  organization_required: 1,
10852
10852
  invalid_request: 2,
10853
10853
  forbidden: 2,
10854
+ partner_not_approved: 2,
10854
10855
  not_found: 2,
10855
10856
  device_not_found: 2,
10856
10857
  system_not_on_device: 2,
@@ -11428,7 +11429,7 @@ import { spawn } from "node:child_process";
11428
11429
  import { homedir, hostname } from "node:os";
11429
11430
 
11430
11431
  // src/version.ts
11431
- var VERSION = "1.0.14";
11432
+ var VERSION = "1.0.16";
11432
11433
 
11433
11434
  // src/runtime.ts
11434
11435
  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.14",
3
+ "version": "1.0.16",
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",
@@ -46,7 +46,7 @@ has a display `label` (may be `null`), a `version` the device reported (may be a
46
46
  | Field | Value | Meaning | What to do |
47
47
  |---|---|---|---|
48
48
  | device `status` | `connected` | the device is online and can run actions | normal |
49
- | device `status` | `offline` | the device is not connected right now (PC off, no network) | calls answer `device_offline`; retry later, show "offline" |
49
+ | device `status` | `offline` | the device is not connected right now (PC off, no network) | calls answer `device_offline` (also while `connected`, if a Deepdock restart cuts a call off); retry later, show "offline" |
50
50
  | device `status` | `inactive` | not connected for 7 days; still paired | as offline; check with the site whether the PC still exists |
51
51
  | device `lastKnownAt` | ISO time or `null` | the time of the device's last report while it is not connected. `null` while it is connected | show the last known state with this time; it may be out of date |
52
52
  | system `status` | `running` | the customer's program is running on the device | normal |
@@ -16,6 +16,7 @@ with the **same** `Idempotency-Key`); **Show** says what the end user should see
16
16
  | `invalid_request` | 400 (405 for a wrong method) | malformed request: bad query, `limit` or `cursor`; missing or malformed `Idempotency-Key`; a body that is not an object of strings; a malformed pairing code or device id; a write called with the other method (`Allow` names the right one) | no; fix the code | nothing; a developer bug |
17
17
  | `payload_too_large` | 413 | the request body is over 1 MiB | no; send less | nothing; a developer bug, or shorten the text |
18
18
  | `unauthenticated` | 401 | the key is missing, malformed, for the other environment, unknown, revoked or expired | no | "Deepdock API key refused; check it in the dashboard" to an operator |
19
+ | `partner_not_approved` | 403 | your organisation is waiting for approval by Deepdock; no key of it works yet. Keys made before the approval start working once it is given | no, until Deepdock approves; then yes | "our Deepdock account is waiting for approval; contact Deepdock" |
19
20
  | `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 |
20
21
  | `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" |
21
22
 
@@ -54,14 +55,14 @@ dashboard-only.
54
55
 
55
56
  | Code | Status | Meaning | Retry | Show |
56
57
  |---|---|---|---|---|
57
- | `device_offline` | 503 | the device is not connected, is shutting down, or did not answer within 20 s. **A write may still have landed** | yes, with backoff (seconds to minutes); a write only with the same key | "the customer PC is offline; we will retry" |
58
+ | `device_offline` | 503 | the device is not connected, is shutting down, did not answer within 20 s, or the call was cut off inside Deepdock by a restart or deploy. **A write may still have landed** | yes, with backoff (seconds to minutes); a write only with the same key | "the customer PC is offline; we will retry" |
58
59
  | `device_syncing` | 503 | the device has not reported its Deepdock client yet (just paired, or its report did not come through); Deepdock asks it again. Nothing was written | yes, after `Retry-After` (5 s); a write with the same key | "the customer PC is connecting; retrying" |
59
60
  | `device_outdated` | 409 | the device's Deepdock client is too old for this call. It updates itself when a newer version is released for your organisation, once nobody is signed in on the PC. Nothing was written | after the update (`outdated` on `GET /v1/devices/{deviceId}` turns `false`); retrying before it gets the same answer. A write keeps its key | "the Deepdock client on the customer PC needs an update" |
60
61
  | `system_version_unverified` | 409 | a write on a system whose vendor version Deepdock has not verified yet. Nothing was sent to the device; reads still work. `error.version` is the version the system last reported and `error.reason` is `unverified_version`, or `unparseable` when that version is not dotted digits | `unverified_version`: after Deepdock has verified that version (`writes` on the system in `GET /v1/devices/{deviceId}` turns `verified`); retrying before it gets the same answer. `unparseable`: retrying does not help, contact Deepdock; only a different reported version changes it. A write keeps its key | "the customer's system was updated to a version Deepdock has not yet verified; changes will work once it has" |
61
62
  | `action_paused` | 503 | the action is paused on the device (`GET .../systems` shows `reason`); only Deepdock resumes it | later, when `GET .../systems` shows it active; do not loop | "this feature is paused while Deepdock checks the customer system" |
62
63
  | `system_unavailable` | 503 | the customer's program is stopped or missing on the device | later; often resolves when the customer restarts the program | "the customer's software is not running" |
63
64
  | `target_busy` | 503 | the customer's system is busy or unreachable | yes, with backoff | "the customer's system is busy; retrying" |
64
- | `temporarily_unavailable` | 503 | Deepdock could not check the key | yes, with backoff | "temporary problem; retrying" |
65
+ | `temporarily_unavailable` | 503 | Deepdock could not check the key or reach its own database (sent with `Retry-After: 5`) | yes, with backoff | "temporary problem; retrying" |
65
66
 
66
67
  ## Write outcomes
67
68
 
@@ -38,7 +38,7 @@ example to avoid double-logging.
38
38
 
39
39
  ### `503 device_offline` on a write
40
40
 
41
- The device did not answer within 20 seconds, or was not connected. **The write may still have
41
+ The device did not answer within 20 seconds, was not connected, or the call was cut off inside Deepdock by a restart or deploy. **The write may still have
42
42
  landed.** Retry with the **same key**: you get either the stored result (replayed) or a fresh run,
43
43
  never two writes. Back off between retries (seconds, then minutes); a device can be off for hours,
44
44
  so the retry runs from the persisted pending write in a job or queue, not inside the request that