@zoowork-ai/sdk 0.4.1 → 0.4.2

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
@@ -3,6 +3,18 @@
3
3
  All notable changes to `@zoowork-ai/sdk` (formerly `@zooclaw-agents/sdk`). Dates are the
4
4
  day the behaviour was verified, not the day it was written.
5
5
 
6
+ ## 0.4.2 — 2026-08-25
7
+
8
+ ### Documentation
9
+
10
+ - **`addChannel` is idempotent, not an upsert — 0.3.4 said the opposite.** Re-posting an
11
+ identical body for the same `platform` + `account` replays the binding you already have and
12
+ answers `201` again; that same pair with a **different** `config` answers
13
+ `409 channel.conflict`. Rotating credentials therefore means `removeChannel` and then a
14
+ fresh `addChannel` — a plain re-add fails. The earlier note came from re-posting the same
15
+ body, where a replay cannot be told apart from an overwrite; the conflict path was measured
16
+ on staging 2026-08-25. No signature or behaviour change.
17
+
6
18
  ## 0.4.1 — 2026-08-25
7
19
 
8
20
  ### Internal
package/dist/client.d.ts CHANGED
@@ -1056,8 +1056,12 @@ export interface ZooworkClient {
1056
1056
  * path for Slack and WeCom; Feishu also has the QR flow. See {@link ChannelPlatform} for what
1057
1057
  * binds and what does not.
1058
1058
  *
1059
- * **It is an upsert, not a create.** Binding the same `platform` + `account` twice answers
1060
- * `201` again and overwrites the first binding rather than conflicting.
1059
+ * **It is idempotent, not an upsert.** Re-posting an identical body for the same
1060
+ * `platform` + `account` answers `201` again and replays the binding you already have — it
1061
+ * neither creates a second channel nor overwrites the first. That same pair with a DIFFERENT
1062
+ * `config` answers `409 channel.conflict`, so rotating credentials means
1063
+ * {@link removeChannel} and then a fresh `addChannel`; a plain re-add fails
1064
+ * (staging-verified 2026-08-25).
1061
1065
  *
1062
1066
  * ⚠️ **201 means STORED, not WORKING.** Credentials are not validated at bind time: a channel
1063
1067
  * created from deliberately bogus credentials still answered 201 with `health: 'unknown'`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zoowork-ai/sdk",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "TypeScript SDK for the ZooWork Managed Agents API (Developer Preview)",
5
5
  "keywords": [
6
6
  "zoowork",