@giveitsmaller/sdk 0.25.0 → 0.26.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.
@@ -671,7 +671,7 @@ export declare const WATERMARK_CAPABILITY: {
671
671
  readonly video_watermark: {
672
672
  readonly video: {
673
673
  readonly mimes: readonly ["video/mp4", "video/webm"];
674
- readonly availability: "beta";
674
+ readonly availability: "stable";
675
675
  };
676
676
  };
677
677
  };
@@ -1372,7 +1372,7 @@ export const WATERMARK_CAPABILITY = {
1372
1372
  image_bmp: { mimes: ['image/bmp'], availability: 'stable' },
1373
1373
  },
1374
1374
  video_watermark: {
1375
- video: { mimes: ['video/mp4', 'video/webm'], availability: 'beta' },
1375
+ video: { mimes: ['video/mp4', 'video/webm'], availability: 'stable' },
1376
1376
  },
1377
1377
  };
1378
1378
  const _WATERMARK_SHIPPABLE = new Set(['stable', 'beta']);
package/dist/types.d.ts CHANGED
@@ -187,12 +187,25 @@ export interface WorkflowProcessingPayload {
187
187
  export interface WorkflowCreatePayload {
188
188
  jobs: JobDefinitionPayload[];
189
189
  /**
190
- * Flat single-job form (with `operations`): top-level input source, exactly
191
- * equivalent to `jobs: [{ source, operations }]` (contracts D0Gsri8V, v2.64.0).
192
- * The spec's `oneOf` makes `jobs` and `source`+`operations` mutually exclusive;
193
- * the SDK builders always emit the explicit `jobs[]` form, so these are typed
194
- * optional for spec-completeness (a consumer hand-building the flat form omits
195
- * `jobs`). Builder adoption of the flat form is a follow-up.
190
+ * Flat single-job form (with `operations`): top-level input source, described by
191
+ * the contract as equivalent to `jobs: [{ source, operations }]` (contracts
192
+ * D0Gsri8V, v2.64.0). The spec's `oneOf` makes `jobs` and `source`+`operations`
193
+ * mutually exclusive.
194
+ *
195
+ * 🔴 **DO NOT SEND IT. The flat form is `x-availability: planned` as of contracts
196
+ * v2.201.0 and the server does not accept it.** Send `jobs[]`, which is what both
197
+ * SDK builders always emit — these two fields are typed optional for
198
+ * spec-completeness only.
199
+ *
200
+ * ⚠️ **The equivalence above is the DESIGN, not observed behaviour**, and it
201
+ * carried no availability marker from v2.64.0 until 2026-09-10 — which per
202
+ * ADR-0001 §1.4 meant it read as `stable`, a GA claim about a shape nothing
203
+ * accepts. No shipped SDK was ever exposed; a hand-built payload was.
204
+ *
205
+ * ⚠️ **A flat request is rejected today with a generic "At least one job is
206
+ * required", not the `feature_not_available` 422 a `planned` shape owes you.**
207
+ * So do not read that message as a fault in your own payload. Tracked against
208
+ * `compression_api`.
196
209
  */
197
210
  source?: WorkflowSourcePayload;
198
211
  /** Flat-form operation set (with `source`); equivalent to one job's `operations`. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@giveitsmaller/sdk",
3
- "version": "0.25.0",
3
+ "version": "0.26.0",
4
4
  "description": "Node.js SDK for the GISL (Give It Smaller) file compression and processing API",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -31,7 +31,7 @@
31
31
  "node": ">=18"
32
32
  },
33
33
  "dependencies": {
34
- "@giveitsmaller/contracts": "^0.69.0"
34
+ "@giveitsmaller/contracts": "^0.70.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/node": "^22",