From 2bc5b88dd7dcf5fd3ad0c40124e93c8578066e33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iwo=20Strzebo=C5=84ski?= Date: Fri, 30 Oct 2026 06:56:24 +0000 Subject: [PATCH] Add ams_slot to start_print --- packages/ts-types/src/schemas/edge.ts | 8 ++++++++ schemas/continuum/v1/edge/printer_command.schema.json | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/packages/ts-types/src/schemas/edge.ts b/packages/ts-types/src/schemas/edge.ts index e495c4d..ba8fa88 100644 --- a/packages/ts-types/src/schemas/edge.ts +++ b/packages/ts-types/src/schemas/edge.ts @@ -131,6 +131,14 @@ export const PrinterCommandSchema = Type.Union([ * may wait days and the URL would be long expired. */ url: Type.String({ format: "uri" }), + /** + * Use this AMS slot (0-based, across all units: AMS1 slot 4 is 3) + * instead of the one the project's own filament colour would pick. + * Only valid for a single-filament project, and the slot must hold the + * same material type; the gateway refuses otherwise. Absent: map by the + * project's filament. + */ + ams_slot: Type.Optional(Type.Integer({ minimum: 0, maximum: 15 })), }, { additionalProperties: false }), Type.Object({ action: Type.Literal("set_fan_speed"), diff --git a/schemas/continuum/v1/edge/printer_command.schema.json b/schemas/continuum/v1/edge/printer_command.schema.json index 86f4208..33b1671 100644 --- a/schemas/continuum/v1/edge/printer_command.schema.json +++ b/schemas/continuum/v1/edge/printer_command.schema.json @@ -27,6 +27,12 @@ "type": "string", "format": "uri", "description": "A presigned, expiring GET for the job file. Deliberately a URL rather than the bytes: the file is tens of megabytes, this is a JSON control channel, and handing the gateway a URL keeps object-store credentials out of every gateway on every farm. Expect it to be valid for minutes, and note that an upload to a printer is slow - 0.2 MiB/s measured over FTPS to a P1P - so the download must finish before the transfer starts, not stream through it." + }, + "ams_slot": { + "type": "integer", + "minimum": 0, + "maximum": 15, + "description": "Use this AMS slot (0-based across all units: AMS1 slot 4 is 3) instead of the one the project's own filament colour would pick. Only valid for a single-filament project, and the slot must hold the same material type; the gateway refuses otherwise." } }, "required": [