camstack 1.2.211 → 1.2.212

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
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.2.212] - 2026-10-30
11
+
12
+ ### Changed
13
+
14
+ - The MCP gains ops_update_check (cluster-wide server, wrapper, addon and CLI update report) and ops_update_apply (ordered, verified, confirm-gated cluster update; wrapper updates are reported with instructions)
15
+
10
16
  ## [1.2.211] - 2026-10-30
11
17
 
12
18
  ### Changed
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- // ../types/dist/err-msg-DWXWc0Di.mjs
3
+ // ../types/dist/err-msg-BD5buxvT.mjs
4
4
  var DeviceType = /* @__PURE__ */ (function(DeviceType2) {
5
5
  DeviceType2["Camera"] = "camera";
6
6
  DeviceType2["Hub"] = "hub";
@@ -37,6 +37,7 @@ var DeviceType = /* @__PURE__ */ (function(DeviceType2) {
37
37
  DeviceType2["Dishwasher"] = "dishwasher";
38
38
  DeviceType2["Washer"] = "washer";
39
39
  DeviceType2["Dryer"] = "dryer";
40
+ DeviceType2["Gateway"] = "gateway";
40
41
  return DeviceType2;
41
42
  })({});
42
43
  var DeviceFeature = /* @__PURE__ */ (function(DeviceFeature2) {
@@ -154,7 +155,7 @@ var DeviceRole = /* @__PURE__ */ (function(DeviceRole2) {
154
155
  return DeviceRole2;
155
156
  })({});
156
157
 
157
- // ../types/dist/composition-kSuOifuG.mjs
158
+ // ../types/dist/composition-C7WdThmP.mjs
158
159
  import { z } from "zod";
159
160
  import { createHash } from "crypto";
160
161
  var RESTREAM_INPUT_PROBE = {
@@ -10846,8 +10847,21 @@ var BrokerProviderInfoSchema = z4.object({
10846
10847
  * (`{ sessionId }`) drops the session. The dialog that edits a broker
10847
10848
  * offers it as the default path; the fields the session fills are
10848
10849
  * marked `filledBySignIn` in the kind's settings schema.
10850
+ *
10851
+ * `methods` lists the ways the session can sign in, recommended first:
10852
+ * `'device-code'` adds `POST {basePath}/code/start` (body: the form's
10853
+ * settings) answering `{ sessionId, userCode, verificationUrl,
10854
+ * expiresAt }` — the operator types `userCode` at `verificationUrl` on
10855
+ * any device, and the same `status` / `commit` / `cancel` routes follow
10856
+ * (status then carries `method`, `userCode`, `verificationUrl`,
10857
+ * `expiresAt` and the phases `'awaiting-code'` / `'expired'`);
10858
+ * `'proxy'` is the `{basePath}/start` flow above. Absent means
10859
+ * `['proxy']`.
10849
10860
  */
10850
- signIn: z4.object({ basePath: z4.string().min(1) }).optional()
10861
+ signIn: z4.object({
10862
+ basePath: z4.string().min(1),
10863
+ methods: z4.array(z4.enum(["device-code", "proxy"])).optional()
10864
+ }).optional()
10851
10865
  }))
10852
10866
  });
10853
10867
  var ListInputSchema = z4.object({
@@ -60924,7 +60938,8 @@ var rebootCapability = {
60924
60938
  deviceTypes: [
60925
60939
  DeviceType.Camera,
60926
60940
  DeviceType.Sensor,
60927
- DeviceType.Switch
60941
+ DeviceType.Switch,
60942
+ DeviceType.Gateway
60928
60943
  ],
60929
60944
  methods: { reboot: method(z4.object({ deviceId: z4.number().int().nonnegative() }), z4.object({ success: z4.literal(true) }), {
60930
60945
  kind: "mutation",
@@ -65450,7 +65465,8 @@ var CAP_CUSTOMIZE_CATALOG = {
65450
65465
  DeviceType.PetFountain,
65451
65466
  DeviceType.Dishwasher,
65452
65467
  DeviceType.Washer,
65453
- DeviceType.Dryer
65468
+ DeviceType.Dryer,
65469
+ DeviceType.Gateway
65454
65470
  ],
65455
65471
  apply: "add",
65456
65472
  vocabularyCap: "consumables",
@@ -65951,7 +65967,8 @@ var DEVICE_TYPE_CONTROL_KIND = {
65951
65967
  [DeviceType.PetFountain]: "pet-fountain",
65952
65968
  [DeviceType.Dishwasher]: "dishwasher",
65953
65969
  [DeviceType.Washer]: "dummy",
65954
- [DeviceType.Dryer]: "dummy"
65970
+ [DeviceType.Dryer]: "dummy",
65971
+ [DeviceType.Gateway]: "dummy"
65955
65972
  };
65956
65973
  var DEVICE_TYPE_VALUES = new Set(Object.values(DeviceType));
65957
65974
  var METHOD_ACCESS_MAP = Object.freeze({
@@ -80013,7 +80030,8 @@ var DEVICE_TYPE_DO_CAPS = {
80013
80030
  [DeviceType.PetFountain]: ["pet-fountain"],
80014
80031
  [DeviceType.Dishwasher]: ["dishwasher"],
80015
80032
  [DeviceType.Washer]: [],
80016
- [DeviceType.Dryer]: []
80033
+ [DeviceType.Dryer]: [],
80034
+ [DeviceType.Gateway]: []
80017
80035
  };
80018
80036
  var NUMERIC_ABOVE = t("When {quantity} of {device} rises above {threshold}", "Quando {quantity} di {device} sale sopra {threshold}");
80019
80037
  var NUMERIC_BELOW = t("When {quantity} of {device} falls below {threshold}", "Quando {quantity} di {device} scende sotto {threshold}");
package/dist/cli.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  describeHub,
5
5
  findHubs,
6
6
  validateManualHubUrl
7
- } from "./chunk-NAUJQNCX.js";
7
+ } from "./chunk-MLWXP2SI.js";
8
8
  import "./chunk-LMMQX4CK.js";
9
9
 
10
10
  // src/cli.ts
@@ -41,7 +41,7 @@ async function runServe(args) {
41
41
  ...typeof values.data === "string" ? { data: values.data } : {}
42
42
  };
43
43
  Object.assign(process.env, buildServeEnv(opts));
44
- await import("./launcher-UXJ4WU3U.js");
44
+ await import("./launcher-EACOVUIT.js");
45
45
  }
46
46
 
47
47
  // src/commands/agent.ts
@@ -86,7 +86,7 @@ async function runAgent(args) {
86
86
  ...typeof values.port === "string" ? { port: values.port } : {}
87
87
  };
88
88
  Object.assign(process.env, buildAgentEnv(opts));
89
- await import("./launcher-UXJ4WU3U.js");
89
+ await import("./launcher-EACOVUIT.js");
90
90
  }
91
91
 
92
92
  // src/commands/setup.ts
@@ -2561,7 +2561,7 @@ async function runMcp(args, cliVersion) {
2561
2561
  process.exitCode = 1;
2562
2562
  return;
2563
2563
  }
2564
- const { runPublicMcp } = await import("./server-OYJZ5RCY.js");
2564
+ const { runPublicMcp } = await import("./server-2GOCBDEY.js");
2565
2565
  await runPublicMcp({
2566
2566
  cliVersion,
2567
2567
  toolsets: selection.toolsets,