mc8yp 2.2.1 → 2.2.3

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.
Files changed (2) hide show
  1. package/dist/cli.mjs +85 -67
  2. package/package.json +11 -11
package/dist/cli.mjs CHANGED
@@ -41,7 +41,7 @@ var __require = /* @__PURE__ */ createRequire(import.meta.url);
41
41
  //#endregion
42
42
  //#region package.json
43
43
  var name = "mc8yp";
44
- var version = "2.2.1";
44
+ var version = "2.2.3";
45
45
  var description = "Cumulocity IoT MCP Server - Model Context Protocol integration for IoT device management";
46
46
  //#endregion
47
47
  //#region \0virtual:core-openapi
@@ -93139,8 +93139,9 @@ You have exactly two MCP tools available.
93139
93139
  ## query
93140
93140
  Use \`query\` when you need to inspect the bundled OpenAPI specs.
93141
93141
 
93142
- - Input: a JavaScript function expression
93143
- - The top-level bindings \`coreSpec\`, \`dtmSpec\`, and \`specsEnabled\` are available automatically
93142
+ - Input: a **zero-parameter** JavaScript function expression
93143
+ - Do NOT declare \`coreSpec\`, \`dtmSpec\`, or \`specsEnabled\` as function parameters — they are already declared as top-level constants in the surrounding scope. Writing \`(dtmSpec) => ...\` would shadow the global with an undefined parameter and produce incorrect results
93144
+ - The top-level bindings \`coreSpec\`, \`dtmSpec\`, and \`specsEnabled\` are available automatically inside the function body
93144
93145
  - \`coreSpec\` is for the main Cumulocity REST surface such as inventory, alarms, events, measurements, identity, device control, users, tenants, audit, and the broader platform APIs
93145
93146
  - \`dtmSpec\` is for Digital Twin Manager work such as schema definitions, asset models, linked series, and DTM asset or definition APIs
93146
93147
  - Return the exact value you want back from that function
@@ -93150,6 +93151,9 @@ Use \`query\` when you need to inspect the bundled OpenAPI specs.
93150
93151
  - The current MCP connection may still block \`execute\` requests through deny rules and/or an allow list even when an operation exists in a visible spec
93151
93152
 
93152
93153
  ### Available Shape
93154
+
93155
+ The function must accept **no parameters**. The bindings below are scope-level constants, not function arguments.
93156
+
93153
93157
  \`\`\`ts
93154
93158
  type OperationInfo = {
93155
93159
  summary?: string
@@ -93186,7 +93190,7 @@ declare const dtmSpec: DtmSpec
93186
93190
  declare const specsEnabled: SpecsEnabled
93187
93191
  \`\`\`
93188
93192
 
93189
- Examples:
93193
+ Examples (all zero-parameter — note no arguments in the arrow function signatures):
93190
93194
  \`\`\`js
93191
93195
  () => specsEnabled
93192
93196
  \`\`\`
@@ -93197,6 +93201,7 @@ Examples:
93197
93201
 
93198
93202
  \`\`\`js
93199
93203
  () => {
93204
+ // dtmSpec is already in scope — do NOT write (dtmSpec) => { ... }
93200
93205
  const op = dtmSpec.paths['/assets']?.get
93201
93206
  return op?.parameters
93202
93207
  }
@@ -93432,7 +93437,7 @@ function __awaiter(thisArg, _arguments, P, generator) {
93432
93437
  });
93433
93438
  }
93434
93439
  //#endregion
93435
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/core/Paging.js
93440
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/core/Paging.js
93436
93441
  /**
93437
93442
  * Paging allows you to query the next and previous data chunks
93438
93443
  * in a convenient way. You can also go to a specific page or just read
@@ -93496,7 +93501,7 @@ var Paging = class {
93496
93501
  }
93497
93502
  };
93498
93503
  //#endregion
93499
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/core/Service.js
93504
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/core/Service.js
93500
93505
  var Service = class {
93501
93506
  constructor(client, realtime) {
93502
93507
  this.client = client;
@@ -131890,7 +131895,7 @@ var require_lib$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
131890
131895
  exports.AbortError = AbortError;
131891
131896
  }));
131892
131897
  //#endregion
131893
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/core/FetchClient.js
131898
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/core/FetchClient.js
131894
131899
  var import_node_ponyfill = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
131895
131900
  const nodeFetch = require_lib$1();
131896
131901
  const realFetch = nodeFetch.default || nodeFetch;
@@ -131980,7 +131985,7 @@ var FetchClient = class {
131980
131985
  }
131981
131986
  };
131982
131987
  //#endregion
131983
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/core/BasicAuth.js
131988
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/core/BasicAuth.js
131984
131989
  var import_lib = (/* @__PURE__ */ __commonJSMin(((exports) => {
131985
131990
  Object.defineProperty(exports, "__esModule", { value: true });
131986
131991
  var error = function error(message) {
@@ -132080,7 +132085,7 @@ var BasicAuth = class {
132080
132085
  }
132081
132086
  };
132082
132087
  //#endregion
132083
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/core/BearerAuth.js
132088
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/core/BearerAuth.js
132084
132089
  const secrets = /* @__PURE__ */ new WeakMap();
132085
132090
  var BearerAuth = class {
132086
132091
  constructor(token) {
@@ -132128,7 +132133,7 @@ var BearerAuth = class {
132128
132133
  }
132129
132134
  };
132130
132135
  //#endregion
132131
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/core/BearerAuthFromSessionStorage.js
132136
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/core/BearerAuthFromSessionStorage.js
132132
132137
  var BearerAuthFromSessionStorage = class BearerAuthFromSessionStorage extends BearerAuth {
132133
132138
  static removeEntriesFromSessionStorage() {
132134
132139
  sessionStorage.removeItem(BearerAuthFromSessionStorage.sessionStorageKey);
@@ -132167,7 +132172,7 @@ BearerAuthFromSessionStorage.sessionStorageKey = "bearerAuthToken";
132167
132172
  */
132168
132173
  BearerAuthFromSessionStorage.sessionStorageKeyToKeepToken = `bearerAuthTokenKeep`;
132169
132174
  //#endregion
132170
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/core/CookieAuth.js
132175
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/core/CookieAuth.js
132171
132176
  /**
132172
132177
  * Allows to use Cookies for Authorization to the
132173
132178
  * Cumulocity API.
@@ -132214,7 +132219,7 @@ var CookieAuth = class {
132214
132219
  }
132215
132220
  };
132216
132221
  //#endregion
132217
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/core/MicroserviceClientRequestAuth.js
132222
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/core/MicroserviceClientRequestAuth.js
132218
132223
  /**
132219
132224
  * Allows to use either Cookie-Auth or Basic-Auth
132220
132225
  * of a microservice client request header
@@ -132262,7 +132267,7 @@ var MicroserviceClientRequestAuth = class {
132262
132267
  }
132263
132268
  };
132264
132269
  //#endregion
132265
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/core/NodeJSCookieAuth.js
132270
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/core/NodeJSCookieAuth.js
132266
132271
  /**
132267
132272
  * Extracts the `authorization` cookie from the `set-cookie` header of a response.
132268
132273
  *
@@ -132277,7 +132282,7 @@ var NodeJSCookieAuth = class extends MicroserviceClientRequestAuth {
132277
132282
  }
132278
132283
  };
132279
132284
  //#endregion
132280
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/core/QueriesUtil.js
132285
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/core/QueriesUtil.js
132281
132286
  var QueriesUtil = class {
132282
132287
  constructor() {
132283
132288
  this.operatorFns = {
@@ -135272,7 +135277,7 @@ var require_cometd = /* @__PURE__ */ __commonJSMin(((exports, module) => {
135272
135277
  });
135273
135278
  }));
135274
135279
  //#endregion
135275
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/realtime/MetaChannel.js
135280
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/realtime/MetaChannel.js
135276
135281
  var import_node = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
135277
135282
  require_cometd_nodejs_client().adapt();
135278
135283
  const lib = require_cometd();
@@ -135289,7 +135294,7 @@ var MetaChannel;
135289
135294
  MetaChannel["UNSUBSCRIBE"] = "/meta/unsubscribe";
135290
135295
  })(MetaChannel || (MetaChannel = {}));
135291
135296
  //#endregion
135292
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/realtime/Realtime.js
135297
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/realtime/Realtime.js
135293
135298
  var Realtime = class {
135294
135299
  /**
135295
135300
  * only initializing cometd if it is actually needed
@@ -135386,7 +135391,7 @@ var Realtime = class {
135386
135391
  }
135387
135392
  };
135388
135393
  //#endregion
135389
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/event/EventService.js
135394
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/event/EventService.js
135390
135395
  /**
135391
135396
  * This class allows managing for events.
135392
135397
  */
@@ -143883,7 +143888,7 @@ var require_populate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
143883
143888
  };
143884
143889
  }));
143885
143890
  //#endregion
143886
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/event/EventBinaryService.js
143891
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/event/EventBinaryService.js
143887
143892
  var import_form_data = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
143888
143893
  var CombinedStream = require_combined_stream();
143889
143894
  var util = __require("util");
@@ -144118,7 +144123,7 @@ var import_form_data = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((
144118
144123
  module.exports = FormData;
144119
144124
  })))(), 1);
144120
144125
  //#endregion
144121
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/inventory/InventoryBinaryService.js
144126
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/inventory/InventoryBinaryService.js
144122
144127
  var InventoryBinaryService = class extends Service {
144123
144128
  constructor() {
144124
144129
  super(...arguments);
@@ -144258,7 +144263,7 @@ var InventoryBinaryService = class extends Service {
144258
144263
  }
144259
144264
  };
144260
144265
  //#endregion
144261
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/inventory/InventoryService.js
144266
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/inventory/InventoryService.js
144262
144267
  /**
144263
144268
  * Possible types of a child.
144264
144269
  */
@@ -145092,7 +145097,7 @@ var InventoryService = class extends Service {
145092
145097
  }
145093
145098
  };
145094
145099
  //#endregion
145095
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/measurement/MeasurementService.js
145100
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/measurement/MeasurementService.js
145096
145101
  /**
145097
145102
  * This class allows for managing measurements.
145098
145103
  */
@@ -145291,7 +145296,7 @@ var MeasurementService = class extends Service {
145291
145296
  }
145292
145297
  };
145293
145298
  //#endregion
145294
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/measurement/ISeriesFilter.js
145299
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/measurement/ISeriesFilter.js
145295
145300
  var aggregationType;
145296
145301
  (function(aggregationType) {
145297
145302
  aggregationType["MINUTELY"] = "MINUTELY";
@@ -145299,7 +145304,7 @@ var aggregationType;
145299
145304
  aggregationType["DAILY"] = "DAILY";
145300
145305
  })(aggregationType || (aggregationType = {}));
145301
145306
  //#endregion
145302
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/alarm/AlarmService.js
145307
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/alarm/AlarmService.js
145303
145308
  /**
145304
145309
  * This class allows for managing alarms.
145305
145310
  */
@@ -145491,7 +145496,7 @@ var AlarmService = class extends Service {
145491
145496
  }
145492
145497
  };
145493
145498
  //#endregion
145494
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/operation/OperationService.js
145499
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/operation/OperationService.js
145495
145500
  /**
145496
145501
  * This class allows for managing operations on a device.
145497
145502
  */
@@ -145618,7 +145623,7 @@ var OperationService = class extends Service {
145618
145623
  }
145619
145624
  };
145620
145625
  //#endregion
145621
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/operation/OperationBulkService.js
145626
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/operation/OperationBulkService.js
145622
145627
  /**
145623
145628
  * This class allows for managing bulk operations.
145624
145629
  */
@@ -145769,14 +145774,14 @@ var OperationBulkService = class extends Service {
145769
145774
  }
145770
145775
  };
145771
145776
  //#endregion
145772
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/gettext.js
145777
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/gettext.js
145773
145778
  /**
145774
145779
  * Identity function used for marking strings for translation
145775
145780
  * @deprecated Use the typed version of gettext instead from typed-gettext file.
145776
145781
  */
145777
145782
  const gettext = (t) => t;
145778
145783
  //#endregion
145779
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/operation/OperationBulkStatus.js
145784
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/operation/OperationBulkStatus.js
145780
145785
  /**
145781
145786
  * A bulk operation can have one of the following states.
145782
145787
  */
@@ -145788,7 +145793,7 @@ var OperationBulkStatus;
145788
145793
  OperationBulkStatus[OperationBulkStatus["DELETED"] = gettext("DELETED")] = "DELETED";
145789
145794
  })(OperationBulkStatus || (OperationBulkStatus = {}));
145790
145795
  //#endregion
145791
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/operation/OperationBulkGeneralStatus.js
145796
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/operation/OperationBulkGeneralStatus.js
145792
145797
  /**
145793
145798
  * A bulk operation can have one of the following general statuses.
145794
145799
  */
@@ -145804,7 +145809,7 @@ var OperationBulkGeneralStatus;
145804
145809
  OperationBulkGeneralStatus[OperationBulkGeneralStatus["INCORRECT"] = gettext("INCORRECT")] = "INCORRECT";
145805
145810
  })(OperationBulkGeneralStatus || (OperationBulkGeneralStatus = {}));
145806
145811
  //#endregion
145807
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/operation/OperationStatus.js
145812
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/operation/OperationStatus.js
145808
145813
  /**
145809
145814
  * An Operation can have one of the following states.
145810
145815
  */
@@ -145816,7 +145821,7 @@ var OperationStatus;
145816
145821
  OperationStatus[OperationStatus["FAILED"] = gettext("FAILED")] = "FAILED";
145817
145822
  })(OperationStatus || (OperationStatus = {}));
145818
145823
  //#endregion
145819
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/tenant/TenantService.js
145824
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/tenant/TenantService.js
145820
145825
  /**
145821
145826
  * @description
145822
145827
  * This service allows for managing tenants.
@@ -146183,14 +146188,14 @@ var TenantService = class extends Service {
146183
146188
  }
146184
146189
  };
146185
146190
  //#endregion
146186
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/tenant/TenantStatus.js
146191
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/tenant/TenantStatus.js
146187
146192
  var TenantStatus;
146188
146193
  (function(TenantStatus) {
146189
146194
  TenantStatus[TenantStatus["ACTIVE"] = gettext("ACTIVE")] = "ACTIVE";
146190
146195
  TenantStatus[TenantStatus["SUSPENDED"] = gettext("SUSPENDED")] = "SUSPENDED";
146191
146196
  })(TenantStatus || (TenantStatus = {}));
146192
146197
  //#endregion
146193
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/tenant/TfaStrategy.js
146198
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/tenant/TfaStrategy.js
146194
146199
  /**
146195
146200
  * Represents a strategy used for two-factor authentication.
146196
146201
  */
@@ -146202,7 +146207,7 @@ var TfaStrategy;
146202
146207
  TfaStrategy["SMS"] = "SMS";
146203
146208
  })(TfaStrategy || (TfaStrategy = {}));
146204
146209
  //#endregion
146205
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/user/UserInventoryRoleService.js
146210
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/user/UserInventoryRoleService.js
146206
146211
  /**
146207
146212
  * @description
146208
146213
  * This service allows for managing current user's inventory roles.
@@ -146329,7 +146334,7 @@ var UserInventoryRoleService = class extends Service {
146329
146334
  }
146330
146335
  };
146331
146336
  //#endregion
146332
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/user/UserService.js
146337
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/user/UserService.js
146333
146338
  /**
146334
146339
  * @description
146335
146340
  * This service allows for managing users.
@@ -147053,7 +147058,7 @@ var UserService = class extends Service {
147053
147058
  }
147054
147059
  };
147055
147060
  //#endregion
147056
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/user/PasswordStrength.js
147061
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/user/PasswordStrength.js
147057
147062
  var PasswordStrength;
147058
147063
  (function(PasswordStrength) {
147059
147064
  PasswordStrength["GREEN"] = "GREEN";
@@ -147061,7 +147066,7 @@ var PasswordStrength;
147061
147066
  PasswordStrength["YELLOW"] = "YELLOW";
147062
147067
  })(PasswordStrength || (PasswordStrength = {}));
147063
147068
  //#endregion
147064
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/application/ApplicationBinaryService.js
147069
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/application/ApplicationBinaryService.js
147065
147070
  var ApplicationBinaryService = class extends Service {
147066
147071
  constructor(client, applicationOrId) {
147067
147072
  super(client);
@@ -147071,7 +147076,11 @@ var ApplicationBinaryService = class extends Service {
147071
147076
  }
147072
147077
  upload(binary, fileName, uploadParamsOverride) {
147073
147078
  return __awaiter(this, void 0, void 0, function* () {
147074
- const url = (uploadParamsOverride === null || uploadParamsOverride === void 0 ? void 0 : uploadParamsOverride.listUrl) || this.listUrl;
147079
+ let url = (uploadParamsOverride === null || uploadParamsOverride === void 0 ? void 0 : uploadParamsOverride.listUrl) || this.listUrl;
147080
+ if (uploadParamsOverride === null || uploadParamsOverride === void 0 ? void 0 : uploadParamsOverride.queryParams) {
147081
+ const queryString = Object.entries(uploadParamsOverride.queryParams).map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`).join("&");
147082
+ url = `${url}?${queryString}`;
147083
+ }
147075
147084
  const method = "POST";
147076
147085
  const body = this.createBinaryRequestBody(binary, fileName, uploadParamsOverride);
147077
147086
  let bodyHeaders;
@@ -147097,7 +147106,11 @@ var ApplicationBinaryService = class extends Service {
147097
147106
  });
147098
147107
  }
147099
147108
  uploadWithProgressXhr(binary, onProgress, fileName, uploadParamsOverride) {
147100
- const url = `/${this.baseUrl}/${(uploadParamsOverride === null || uploadParamsOverride === void 0 ? void 0 : uploadParamsOverride.listUrl) || this.listUrl}`;
147109
+ let url = `/${this.baseUrl}/${(uploadParamsOverride === null || uploadParamsOverride === void 0 ? void 0 : uploadParamsOverride.listUrl) || this.listUrl}`;
147110
+ if (uploadParamsOverride === null || uploadParamsOverride === void 0 ? void 0 : uploadParamsOverride.queryParams) {
147111
+ const queryString = Object.entries(uploadParamsOverride.queryParams).map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`).join("&");
147112
+ url = `${url}?${queryString}`;
147113
+ }
147101
147114
  const method = "POST";
147102
147115
  const body = this.createBinaryRequestBody(binary, fileName, uploadParamsOverride);
147103
147116
  let bodyHeaders;
@@ -147118,7 +147131,10 @@ var ApplicationBinaryService = class extends Service {
147118
147131
  getXMLHttpResponse(xhr) {
147119
147132
  return new Promise((res, rej) => {
147120
147133
  xhr.addEventListener("loadend", () => {
147121
- xhr.readyState === 4 && (xhr.status === 200 || xhr.status === 201) ? res(JSON.parse(xhr.responseText)) : rej(xhr.responseText ? { data: JSON.parse(xhr.responseText) } : "Could not upload file.");
147134
+ xhr.readyState === 4 && (xhr.status === 200 || xhr.status === 201) ? res(JSON.parse(xhr.responseText)) : rej(xhr.responseText ? {
147135
+ data: JSON.parse(xhr.responseText),
147136
+ status: xhr.status
147137
+ } : "Could not upload file.");
147122
147138
  });
147123
147139
  });
147124
147140
  }
@@ -147218,7 +147234,7 @@ var ApplicationBinaryService = class extends Service {
147218
147234
  }
147219
147235
  };
147220
147236
  //#endregion
147221
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/application/ApplicationType.js
147237
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/application/ApplicationType.js
147222
147238
  var ApplicationType;
147223
147239
  (function(ApplicationType) {
147224
147240
  ApplicationType["EXTERNAL"] = "EXTERNAL";
@@ -147227,7 +147243,7 @@ var ApplicationType;
147227
147243
  ApplicationType["FEATURE"] = "FEATURE";
147228
147244
  })(ApplicationType || (ApplicationType = {}));
147229
147245
  //#endregion
147230
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/application/ApplicationService.js
147246
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/application/ApplicationService.js
147231
147247
  var ApplicationService = class extends Service {
147232
147248
  constructor() {
147233
147249
  super(...arguments);
@@ -147816,7 +147832,7 @@ var ApplicationService = class extends Service {
147816
147832
  }
147817
147833
  };
147818
147834
  //#endregion
147819
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/application/IApplicationInstanceDetails.js
147835
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/application/IApplicationInstanceDetails.js
147820
147836
  var InstanceStatus;
147821
147837
  (function(InstanceStatus) {
147822
147838
  InstanceStatus["Up"] = "Up";
@@ -147825,21 +147841,21 @@ var InstanceStatus;
147825
147841
  InstanceStatus["Unknown"] = "Unknown";
147826
147842
  })(InstanceStatus || (InstanceStatus = {}));
147827
147843
  //#endregion
147828
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/application/BillingMode.js
147844
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/application/BillingMode.js
147829
147845
  var BillingMode;
147830
147846
  (function(BillingMode) {
147831
147847
  BillingMode["SUBSCRIPTION"] = "SUBSCRIPTION";
147832
147848
  BillingMode["RESOURCES"] = "RESOURCES";
147833
147849
  })(BillingMode || (BillingMode = {}));
147834
147850
  //#endregion
147835
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/application/Isolation.js
147851
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/application/Isolation.js
147836
147852
  var Isolation;
147837
147853
  (function(Isolation) {
147838
147854
  Isolation["PER_TENANT"] = "PER_TENANT";
147839
147855
  Isolation["MULTI_TENANT"] = "MULTI_TENANT";
147840
147856
  })(Isolation || (Isolation = {}));
147841
147857
  //#endregion
147842
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/application/ApplicationAvailability.js
147858
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/application/ApplicationAvailability.js
147843
147859
  var ApplicationAvailability;
147844
147860
  (function(ApplicationAvailability) {
147845
147861
  ApplicationAvailability[ApplicationAvailability["MARKET"] = gettext("MARKET")] = "MARKET";
@@ -147847,7 +147863,7 @@ var ApplicationAvailability;
147847
147863
  ApplicationAvailability[ApplicationAvailability["SHARED"] = gettext("SHARED")] = "SHARED";
147848
147864
  })(ApplicationAvailability || (ApplicationAvailability = {}));
147849
147865
  //#endregion
147850
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/system-options/SystemOptionsService.js
147866
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/system-options/SystemOptionsService.js
147851
147867
  var SystemOptionsService = class extends Service {
147852
147868
  constructor() {
147853
147869
  super(...arguments);
@@ -147923,7 +147939,7 @@ var SystemOptionsService = class extends Service {
147923
147939
  }
147924
147940
  };
147925
147941
  //#endregion
147926
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/tenant-options/TenantOptionsService.js
147942
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/tenant-options/TenantOptionsService.js
147927
147943
  /**
147928
147944
  * @description
147929
147945
  * This service allows for managing tenant's options.
@@ -148100,7 +148116,7 @@ var TenantOptionsService = class extends Service {
148100
148116
  }
148101
148117
  };
148102
148118
  //#endregion
148103
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/tenant-security-options/TenantSecurityOptionsService.js
148119
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/tenant-security-options/TenantSecurityOptionsService.js
148104
148120
  /**
148105
148121
  * @description
148106
148122
  * This service allows to get tenant security option.
@@ -148146,7 +148162,7 @@ var TenantSecurityOptionsService = class extends Service {
148146
148162
  }
148147
148163
  };
148148
148164
  //#endregion
148149
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/tenant-login-options/TenantLoginOptionsService.js
148165
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/tenant-login-options/TenantLoginOptionsService.js
148150
148166
  /**
148151
148167
  * @description
148152
148168
  * This service allows to get tenant login options.
@@ -148357,7 +148373,7 @@ var TenantLoginOptionsService = class extends Service {
148357
148373
  }
148358
148374
  };
148359
148375
  //#endregion
148360
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/tenant-login-options/ITenantLoginOptions.js
148376
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/tenant-login-options/ITenantLoginOptions.js
148361
148377
  var TenantLoginOptionType;
148362
148378
  (function(TenantLoginOptionType) {
148363
148379
  /**
@@ -148384,7 +148400,7 @@ var UserManagementSource;
148384
148400
  UserManagementSource["INTERNAL"] = "INTERNAL";
148385
148401
  })(UserManagementSource || (UserManagementSource = {}));
148386
148402
  //#endregion
148387
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/audit/AuditService.js
148403
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/audit/AuditService.js
148388
148404
  var AuditService = class extends Service {
148389
148405
  constructor() {
148390
148406
  super(...arguments);
@@ -148473,7 +148489,7 @@ var AuditService = class extends Service {
148473
148489
  }
148474
148490
  };
148475
148491
  //#endregion
148476
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/audit/AuditRecordType.js
148492
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/audit/AuditRecordType.js
148477
148493
  /**
148478
148494
  * A specific audit record can have one of the following types
148479
148495
  */
@@ -148504,7 +148520,7 @@ var AuditRecordType;
148504
148520
  AuditRecordType["USER_AUTHENTICATION"] = "UserAuthentication";
148505
148521
  })(AuditRecordType || (AuditRecordType = {}));
148506
148522
  //#endregion
148507
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/audit/ChangeType.js
148523
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/audit/ChangeType.js
148508
148524
  /**
148509
148525
  * An audit record can have one of the following change type
148510
148526
  */
@@ -148515,7 +148531,7 @@ var ChangeType;
148515
148531
  ChangeType[ChangeType["REMOVED"] = gettext("REMOVED")] = "REMOVED";
148516
148532
  })(ChangeType || (ChangeType = {}));
148517
148533
  //#endregion
148518
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/inventory-role/InventoryRoleService.js
148534
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/inventory-role/InventoryRoleService.js
148519
148535
  var InventoryRoleService = class extends Service {
148520
148536
  constructor() {
148521
148537
  super(...arguments);
@@ -148648,7 +148664,7 @@ var InventoryRoleService = class extends Service {
148648
148664
  }
148649
148665
  };
148650
148666
  //#endregion
148651
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/device-registration/DeviceRegistrationStatus.js
148667
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/device-registration/DeviceRegistrationStatus.js
148652
148668
  /**
148653
148669
  * Device registration can have one of the following states.
148654
148670
  */
@@ -148660,7 +148676,7 @@ var DeviceRegistrationStatus;
148660
148676
  DeviceRegistrationStatus[DeviceRegistrationStatus["BLOCKED"] = gettext("BLOCKED")] = "BLOCKED";
148661
148677
  })(DeviceRegistrationStatus || (DeviceRegistrationStatus = {}));
148662
148678
  //#endregion
148663
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/device-registration/DeviceRegistrationService.js
148679
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/device-registration/DeviceRegistrationService.js
148664
148680
  /**
148665
148681
  * This class allows registration of a new device.
148666
148682
  */
@@ -149013,7 +149029,7 @@ var DeviceRegistrationService = class extends Service {
149013
149029
  }
149014
149030
  };
149015
149031
  //#endregion
149016
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/device-registration/DeviceRegistrationBulkService.js
149032
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/device-registration/DeviceRegistrationBulkService.js
149017
149033
  /**
149018
149034
  * This class allows for bulk registering devices.
149019
149035
  */
@@ -149073,7 +149089,7 @@ var DeviceRegistrationBulkService = class {
149073
149089
  }
149074
149090
  };
149075
149091
  //#endregion
149076
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/device-registration/DeviceRegistrationSecurityMode.js
149092
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/device-registration/DeviceRegistrationSecurityMode.js
149077
149093
  /**
149078
149094
  * Device registration can have one of the following security modes.
149079
149095
  */
@@ -149084,7 +149100,7 @@ var DeviceRegistrationSecurityMode;
149084
149100
  DeviceRegistrationSecurityMode["IGNORED"] = "IGNORED";
149085
149101
  })(DeviceRegistrationSecurityMode || (DeviceRegistrationSecurityMode = {}));
149086
149102
  //#endregion
149087
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/user-role/UserRoleService.js
149103
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/user-role/UserRoleService.js
149088
149104
  /**
149089
149105
  * @description
149090
149106
  * This service allows for fetch user roles.
@@ -149148,7 +149164,7 @@ var UserRoleService = class extends Service {
149148
149164
  }
149149
149165
  };
149150
149166
  //#endregion
149151
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/user-group/UserGroupService.js
149167
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/user-group/UserGroupService.js
149152
149168
  var ChildType;
149153
149169
  (function(ChildType) {
149154
149170
  ChildType["ROLES"] = "roles";
@@ -149448,7 +149464,7 @@ var UserGroupService = class extends Service {
149448
149464
  }
149449
149465
  };
149450
149466
  //#endregion
149451
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/identity/IdentityService.js
149467
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/identity/IdentityService.js
149452
149468
  /**
149453
149469
  * This class allwos for managing external identifiers.
149454
149470
  */
@@ -149625,7 +149641,7 @@ var IdentityService = class {
149625
149641
  }
149626
149642
  };
149627
149643
  //#endregion
149628
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/smart-groups/SmartGroupsService.js
149644
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/smart-groups/SmartGroupsService.js
149629
149645
  var SmartGroupsService = class extends Service {
149630
149646
  constructor(client) {
149631
149647
  super(client);
@@ -149778,7 +149794,7 @@ var SmartGroupsService = class extends Service {
149778
149794
  }
149779
149795
  };
149780
149796
  //#endregion
149781
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/smart-rules/SmartRulesService.js
149797
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/smart-rules/SmartRulesService.js
149782
149798
  var SmartRulesService = class SmartRulesService extends Service {
149783
149799
  constructor(client) {
149784
149800
  super(client);
@@ -149929,7 +149945,7 @@ var SmartRulesService = class SmartRulesService extends Service {
149929
149945
  };
149930
149946
  SmartRulesService.microserviceName = "smartrule";
149931
149947
  //#endregion
149932
- //#region node_modules/.pnpm/@c8y+client@1023.78.7/node_modules/@c8y/client/lib/esm2015/src/Client.js
149948
+ //#region node_modules/.pnpm/@c8y+client@1023.82.4/node_modules/@c8y/client/lib/esm2015/src/Client.js
149933
149949
  var Client = class Client {
149934
149950
  /**
149935
149951
  * Authenticates the given user. Determines the tenant by itself via a call to tenant/currentTenant.
@@ -150867,7 +150883,9 @@ declare const coreSpec: CoreSpec
150867
150883
  declare const dtmSpec: DtmSpec
150868
150884
  declare const specsEnabled: SpecsEnabled
150869
150885
 
150870
- Your code must evaluate to a function. The top-level bindings \
150886
+ Your code must evaluate to a **zero-parameter** function — do NOT declare \`coreSpec\`, \`dtmSpec\`, or \`specsEnabled\` as function parameters. These are already declared as constants in the surrounding scope and are available inside the function body without any argument passing. Writing \`(dtmSpec) => ...\` would shadow the global binding with an undefined parameter and produce incorrect results.
150887
+
150888
+ The top-level bindings \
150871
150889
 
150872
150890
  a) \`coreSpec\` — use this for the main Cumulocity REST APIs such as inventory, alarms, events, measurements, identity, device control, users, tenants, audit, and the broader platform REST surface
150873
150891
  \nb) \`dtmSpec\` — use this for Digital Twin Manager work such as schema definitions, asset models, linked series, and DTM asset or definition APIs
@@ -150875,7 +150893,7 @@ a) \`coreSpec\` — use this for the main Cumulocity REST APIs such as inventory
150875
150893
 
150876
150894
  are available automatically. The sandbox assigns your function to a local variable, invokes it, and returns its result.
150877
150895
 
150878
- Recommended shapes:
150896
+ Recommended shapes (zero parameters — bindings come from scope, not arguments):
150879
150897
  \`(() => { ... })\`
150880
150898
  \`async () => { ... }\`
150881
150899
 
@@ -150910,7 +150928,7 @@ Examples:
150910
150928
  return { summary: op?.summary, parameters: op?.parameters, responses: op?.responses }
150911
150929
  }
150912
150930
  `,
150913
- schema: v.object({ code: createCodeSchema("A JavaScript function expression. The top-level bindings `coreSpec`, `dtmSpec`, and `specsEnabled` are available automatically. Return the final result from that function. Async functions are supported.") })
150931
+ schema: v.object({ code: createCodeSchema("A zero-parameter JavaScript function expression. Do NOT declare `coreSpec`, `dtmSpec`, or `specsEnabled` as function parameters — they are already declared as top-level constants in the surrounding scope and are available in the function body automatically. Writing `(dtmSpec) => ...` would shadow the global binding with an undefined parameter and produce incorrect results. Return the final result from that function. Async functions are supported.") })
150914
150932
  }, async (input) => {
150915
150933
  try {
150916
150934
  return tool.text(await query(input.code, server.ctx.custom?.restrictions ?? [], server.ctx.custom?.allowRules ?? [], server.ctx.custom?.disabledApis ?? []));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mc8yp",
3
- "version": "2.2.1",
3
+ "version": "2.2.3",
4
4
  "type": "module",
5
5
  "description": "Cumulocity IoT MCP Server - Model Context Protocol integration for IoT device management",
6
6
  "keywords": [
@@ -30,31 +30,31 @@
30
30
  "dist"
31
31
  ],
32
32
  "dependencies": {
33
- "@c8y/client": "^1023.78.7",
33
+ "@c8y/client": "^1023.82.4",
34
34
  "@clack/prompts": "^1.3.0",
35
35
  "@napi-rs/keyring": "^1.3.0",
36
- "@tmcp/adapter-valibot": "^0.1.5",
36
+ "@tmcp/adapter-valibot": "^0.1.6",
37
37
  "@tmcp/transport-http": "^0.8.5",
38
- "@tmcp/transport-stdio": "^0.4.2",
39
- "@toon-format/toon": "^2.1.0",
38
+ "@tmcp/transport-stdio": "^0.4.3",
39
+ "@toon-format/toon": "^2.3.0",
40
40
  "bumpp": "^11.1.0",
41
41
  "citty": "^0.2.2",
42
42
  "consola": "^3.4.2",
43
43
  "h3": "2.0.1-rc.6",
44
44
  "secure-exec": "^0.2.1",
45
- "tmcp": "^1.19.3",
45
+ "tmcp": "^1.19.4",
46
46
  "ufo": "^1.6.4",
47
47
  "unctx": "^2.5.0",
48
- "valibot": "^1.4.0"
48
+ "valibot": "^1.4.1"
49
49
  },
50
50
  "devDependencies": {
51
- "@schplitt/eslint-config": "^1.5.0",
51
+ "@schplitt/eslint-config": "^1.5.1",
52
52
  "@types/node": "^24.12.3",
53
53
  "changelogithub": "^14.0.0",
54
- "eslint": "^9.39.4",
54
+ "eslint": "^10.4.0",
55
55
  "tsdown": "^0.22.0",
56
- "typescript": "^5.9.3",
57
- "vitest": "^4.1.5"
56
+ "typescript": "^6.0.3",
57
+ "vitest": "^4.1.7"
58
58
  },
59
59
  "engines": {
60
60
  "node": ">=24.0.0"