node-autotask 0.9.0 → 0.10.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.
Files changed (77) hide show
  1. package/MCP_TOOL_CATALOG.json +2 -2
  2. package/MCP_TOOL_MANIFEST.md +4 -4
  3. package/N8N_MCP_MANIFEST.json +2 -2
  4. package/N8N_MCP_MANIFEST.md +3 -3
  5. package/capabilities.json +1259 -1259
  6. package/dist/capabilities.cjs +2 -3
  7. package/dist/capabilities.js +1 -2
  8. package/dist/{chunk-UYJ5V262.js → chunk-3VB6N44U.js} +32 -182
  9. package/dist/{chunk-BZPFDRAE.js → chunk-6KFP5HV3.js} +1258 -1259
  10. package/dist/chunk-DMMMWO6A.js +0 -0
  11. package/dist/chunk-FLB2X6O5.cjs +1 -0
  12. package/dist/{chunk-UDWV4VVD.js → chunk-HWC2WPX2.js} +214 -20
  13. package/dist/chunk-IDPB4N2Q.cjs +1 -0
  14. package/dist/{chunk-QJU2N32V.js → chunk-NVJ2PTN3.js} +2 -3
  15. package/dist/{chunk-53MC2QRQ.cjs → chunk-QUM74WLQ.cjs} +135 -136
  16. package/dist/{chunk-OYHKIYVR.cjs → chunk-S7VMY5KN.cjs} +422 -572
  17. package/dist/chunk-UPQIUWOS.js +0 -0
  18. package/dist/{chunk-LTKMTXUR.cjs → chunk-WTVD2JZN.cjs} +1258 -1259
  19. package/dist/{chunk-RWLPTU67.cjs → chunk-WTVLHMZA.cjs} +235 -41
  20. package/dist/{index-ZknpNhtc.d.ts → index-BOyh7S65.d.cts} +8 -8
  21. package/dist/{index-CfU1JDgS.d.cts → index-DGgMD8aq.d.ts} +8 -8
  22. package/dist/{index-O2zzIMcQ.d.cts → index-cQ6CRexR.d.cts} +3 -1
  23. package/dist/{index-O2zzIMcQ.d.ts → index-cQ6CRexR.d.ts} +3 -1
  24. package/dist/index.cjs +21 -22
  25. package/dist/index.d.cts +4 -4
  26. package/dist/index.d.ts +4 -4
  27. package/dist/index.js +6 -7
  28. package/dist/operations/index.cjs +133 -129
  29. package/dist/operations/index.d.cts +8 -3
  30. package/dist/operations/index.d.ts +8 -3
  31. package/dist/operations/index.js +9 -5
  32. package/dist/pool.cjs +36 -12
  33. package/dist/pool.d.cts +2 -2
  34. package/dist/pool.d.ts +2 -2
  35. package/dist/pool.js +31 -7
  36. package/dist/resources/index.cjs +5 -6
  37. package/dist/resources/index.d.cts +2 -2
  38. package/dist/resources/index.d.ts +2 -2
  39. package/dist/resources/index.js +4 -5
  40. package/dist/types/index.cjs +1 -2
  41. package/dist/types/index.d.cts +1 -1
  42. package/dist/types/index.d.ts +1 -1
  43. package/dist/types/index.js +1 -2
  44. package/dist/untrusted.cjs +0 -1
  45. package/dist/untrusted.js +0 -1
  46. package/docs/API.md +12 -6
  47. package/package.json +1 -1
  48. package/dist/capabilities.cjs.map +0 -1
  49. package/dist/capabilities.js.map +0 -1
  50. package/dist/chunk-53MC2QRQ.cjs.map +0 -1
  51. package/dist/chunk-BZPFDRAE.js.map +0 -1
  52. package/dist/chunk-CXM35TEC.cjs +0 -1
  53. package/dist/chunk-CXM35TEC.cjs.map +0 -1
  54. package/dist/chunk-GIVD2CQ3.js +0 -1
  55. package/dist/chunk-GIVD2CQ3.js.map +0 -1
  56. package/dist/chunk-LTKMTXUR.cjs.map +0 -1
  57. package/dist/chunk-MHBMSBTA.js +0 -1
  58. package/dist/chunk-MHBMSBTA.js.map +0 -1
  59. package/dist/chunk-NZUFSSIZ.cjs +0 -1
  60. package/dist/chunk-NZUFSSIZ.cjs.map +0 -1
  61. package/dist/chunk-OYHKIYVR.cjs.map +0 -1
  62. package/dist/chunk-QJU2N32V.js.map +0 -1
  63. package/dist/chunk-RWLPTU67.cjs.map +0 -1
  64. package/dist/chunk-UDWV4VVD.js.map +0 -1
  65. package/dist/chunk-UYJ5V262.js.map +0 -1
  66. package/dist/index.cjs.map +0 -1
  67. package/dist/index.js.map +0 -1
  68. package/dist/operations/index.cjs.map +0 -1
  69. package/dist/operations/index.js.map +0 -1
  70. package/dist/pool.cjs.map +0 -1
  71. package/dist/pool.js.map +0 -1
  72. package/dist/resources/index.cjs.map +0 -1
  73. package/dist/resources/index.js.map +0 -1
  74. package/dist/types/index.cjs.map +0 -1
  75. package/dist/types/index.js.map +0 -1
  76. package/dist/untrusted.cjs.map +0 -1
  77. package/dist/untrusted.js.map +0 -1
@@ -29,26 +29,27 @@
29
29
 
30
30
 
31
31
 
32
- var _chunkRWLPTU67cjs = require('../chunk-RWLPTU67.cjs');
33
32
 
33
+ var _chunkWTVLHMZAcjs = require('../chunk-WTVLHMZA.cjs');
34
34
 
35
- var _chunkLTKMTXURcjs = require('../chunk-LTKMTXUR.cjs');
35
+
36
+ var _chunkWTVD2JZNcjs = require('../chunk-WTVD2JZN.cjs');
36
37
 
37
38
  // src/operations/searchAcrossResources.ts
38
39
  var DEFAULT_LIMIT = 25;
39
40
  function resourceFor(client, key) {
40
- return client[_chunkRWLPTU67cjs.camelKey.call(void 0, key)];
41
+ return client[_chunkWTVLHMZAcjs.camelKey.call(void 0, key)];
41
42
  }
42
43
  async function searchAcrossResources(client, query, opts = {}) {
43
44
  const text = query.trim();
44
45
  if (text === "") {
45
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)("searchAcrossResources: query must be a non-empty string");
46
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)("searchAcrossResources: query must be a non-empty string");
46
47
  }
47
- const keys = _nullishCoalesce(opts.resources, () => ( _chunkRWLPTU67cjs.WORKFLOW_RESOURCES));
48
+ const keys = _nullishCoalesce(opts.resources, () => ( _chunkWTVLHMZAcjs.WORKFLOW_RESOURCES));
48
49
  if (keys.length === 0) {
49
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)("searchAcrossResources: no resources requested");
50
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)("searchAcrossResources: no resources requested");
50
51
  }
51
- const limit = _chunkRWLPTU67cjs.clampPageSize.call(void 0, _nullishCoalesce(opts.limit, () => ( DEFAULT_LIMIT)));
52
+ const limit = _chunkWTVLHMZAcjs.clampPageSize.call(void 0, _nullishCoalesce(opts.limit, () => ( DEFAULT_LIMIT)));
52
53
  const results = [];
53
54
  const skipped = [];
54
55
  for (const key of keys) {
@@ -66,7 +67,7 @@ async function searchAcrossResources(client, query, opts = {}) {
66
67
 
67
68
  // src/operations/resolveAny.ts
68
69
  function resourceFor2(client, key) {
69
- return client[_chunkRWLPTU67cjs.camelKey.call(void 0, key)];
70
+ return client[_chunkWTVLHMZAcjs.camelKey.call(void 0, key)];
70
71
  }
71
72
  var FAULT_CATEGORIES = /* @__PURE__ */ new Set(["auth", "rate_limit", "server", "network", "timeout", "policy"]);
72
73
  function missCost(identifier) {
@@ -75,13 +76,13 @@ function missCost(identifier) {
75
76
  }
76
77
  async function resolveAny(client, identifier, opts = {}) {
77
78
  if (typeof identifier === "number") {
78
- _chunkRWLPTU67cjs.parseIdentifier.call(void 0, identifier, "identifier");
79
+ _chunkWTVLHMZAcjs.parseIdentifier.call(void 0, identifier, "identifier");
79
80
  } else if (identifier.trim() === "") {
80
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)("resolveAny: identifier must be non-empty");
81
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)("resolveAny: identifier must be non-empty");
81
82
  }
82
- const keys = _nullishCoalesce(opts.resources, () => ( _chunkRWLPTU67cjs.WORKFLOW_RESOURCES));
83
+ const keys = _nullishCoalesce(opts.resources, () => ( _chunkWTVLHMZAcjs.WORKFLOW_RESOURCES));
83
84
  if (keys.length === 0) {
84
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)("resolveAny: no resources requested");
85
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)("resolveAny: no resources requested");
85
86
  }
86
87
  const results = [];
87
88
  for (const key of keys) {
@@ -111,9 +112,9 @@ async function resolveAny(client, identifier, opts = {}) {
111
112
  } catch (err) {
112
113
  let code;
113
114
  let candidates = [];
114
- if (err instanceof _chunkRWLPTU67cjs.AutotaskConfigError) {
115
+ if (err instanceof _chunkWTVLHMZAcjs.AutotaskConfigError) {
115
116
  code = "CONFIG_ERROR";
116
- } else if (_chunkRWLPTU67cjs.isAutotaskError.call(void 0, err)) {
117
+ } else if (_chunkWTVLHMZAcjs.isAutotaskError.call(void 0, err)) {
117
118
  if (FAULT_CATEGORIES.has(err.category)) throw err;
118
119
  code = err.code;
119
120
  if (code === "RESOLUTION_AMBIGUOUS" && err.resourceIds !== void 0) {
@@ -262,7 +263,7 @@ var MODEL_FIELD_SETS = {
262
263
  var FETCH_MANY_MAX_ITEMS = 20;
263
264
  function validateFetchManyItems(items, cap, opName = "fetchMany", capRef = `FETCH_MANY_MAX_ITEMS = ${FETCH_MANY_MAX_ITEMS}`, validation) {
264
265
  if (!Array.isArray(items)) {
265
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
266
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
266
267
  `${opName}: items must be the items ARRAY \u2014 one positional arg, [{ resource: string, id: number, fields?: string[] }] (got ${Array.isArray(items) ? "an array" : typeof items})`,
267
268
  {
268
269
  suggestedAction: 'Pass args = [[{ resource: "tickets", id: 123 }, { resource: "projects", id: 456 }]] \u2014 the items array is the single positional argument.'
@@ -270,12 +271,12 @@ function validateFetchManyItems(items, cap, opName = "fetchMany", capRef = `FETC
270
271
  );
271
272
  }
272
273
  if (items.length === 0) {
273
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(`${opName}: items must not be empty (a zero-item batch is a shape error, not a no-op)`, {
274
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(`${opName}: items must not be empty (a zero-item batch is a shape error, not a no-op)`, {
274
275
  suggestedAction: "Pass at least one { resource, id } item \u2014 or use the resource's query op for a filtered read."
275
276
  });
276
277
  }
277
278
  if (items.length > cap) {
278
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
279
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
279
280
  `${opName}: ${items.length} items over the ${cap}-item cap (${capRef}) \u2014 zero items were fetched (pre-request)`,
280
281
  {
281
282
  suggestedAction: `Split the batch into groups of <= ${cap} items \u2014 or, for more than ${cap} records / a filtered set, use the resource's bounded query op (<resource>.query).`
@@ -303,15 +304,15 @@ function validateFetchManyItems(items, cap, opName = "fetchMany", capRef = `FETC
303
304
  );
304
305
  continue;
305
306
  }
306
- const rel = _chunkRWLPTU67cjs.RELATIONSHIP_MAP[resourceKey];
307
+ const rel = _chunkWTVLHMZAcjs.RELATIONSHIP_MAP[resourceKey];
307
308
  if (rel !== void 0 && rel.parentScoped) {
308
309
  problems.push(
309
- `${at}.resource: "${resourceKey}" is a parent-scoped child \u2014 its get needs (parentId, id); fetchMany takes single numeric ids of TOP-LEVEL records (scoped reads: client.${_chunkRWLPTU67cjs.camelKey.call(void 0, resourceKey)}.get(parentId, id))`
310
+ `${at}.resource: "${resourceKey}" is a parent-scoped child \u2014 its get needs (parentId, id); fetchMany takes single numeric ids of TOP-LEVEL records (scoped reads: client.${_chunkWTVLHMZAcjs.camelKey.call(void 0, resourceKey)}.get(parentId, id))`
310
311
  );
311
312
  continue;
312
313
  }
313
314
  try {
314
- _chunkRWLPTU67cjs.parseIdentifier.call(void 0, item.id, `${at}.id`);
315
+ _chunkWTVLHMZAcjs.parseIdentifier.call(void 0, item.id, `${at}.id`);
315
316
  } catch (e2) {
316
317
  if (typeof item.id === "string") {
317
318
  problems.push(
@@ -344,7 +345,7 @@ function validateFetchManyItems(items, cap, opName = "fetchMany", capRef = `FETC
344
345
  }
345
346
  }
346
347
  if (problems.length > 0) {
347
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
348
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
348
349
  `${opName}: ${problems.length} problem(s) found pre-request (zero wire was issued)
349
350
  - ` + problems.join("\n- "),
350
351
  { suggestedAction: "Fix every item above and call again \u2014 validation covers the whole batch up-front (one round, zero wire)." }
@@ -361,11 +362,11 @@ function project(value, fields) {
361
362
  async function fetchMany(client, items, opts = {}) {
362
363
  if (opts.maxItems !== void 0) {
363
364
  if (!Number.isInteger(opts.maxItems) || opts.maxItems < 1) {
364
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(`fetchMany: maxItems must be an integer >= 1 (got ${String(opts.maxItems)})`);
365
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(`fetchMany: maxItems must be an integer >= 1 (got ${String(opts.maxItems)})`);
365
366
  }
366
367
  }
367
368
  if (opts.liveFields !== void 0 && typeof opts.liveFields !== "boolean") {
368
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(`fetchMany: liveFields must be a boolean (got ${typeof opts.liveFields})`);
369
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(`fetchMany: liveFields must be a boolean (got ${typeof opts.liveFields})`);
369
370
  }
370
371
  const cap = Math.min(FETCH_MANY_MAX_ITEMS, _nullishCoalesce(opts.maxItems, () => ( FETCH_MANY_MAX_ITEMS)));
371
372
  if (opts.liveFields === true) {
@@ -374,9 +375,9 @@ async function fetchMany(client, items, opts = {}) {
374
375
  for (const item of items) {
375
376
  const key = item.resource;
376
377
  if (liveFieldSets.has(key)) continue;
377
- const holder = client[_chunkRWLPTU67cjs.camelKey.call(void 0, key)];
378
+ const holder = client[_chunkWTVLHMZAcjs.camelKey.call(void 0, key)];
378
379
  if (holder === void 0) {
379
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(`fetchMany: the client exposes no accessor for resource "${key}"`, {
380
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(`fetchMany: the client exposes no accessor for resource "${key}"`, {
380
381
  suggestedAction: "Rebuild the client from the SDK build that ships this registry (the resource set is pinned by the plan)."
381
382
  });
382
383
  }
@@ -388,7 +389,7 @@ async function fetchMany(client, items, opts = {}) {
388
389
  }
389
390
  liveFieldSets.set(key, names.length > 0 ? names : null);
390
391
  } catch (err) {
391
- if (!_chunkRWLPTU67cjs.isAutotaskError.call(void 0, err) || err.code === "ABORTED") throw err;
392
+ if (!_chunkWTVLHMZAcjs.isAutotaskError.call(void 0, err) || err.code === "ABORTED") throw err;
392
393
  liveFieldSets.set(key, null);
393
394
  }
394
395
  }
@@ -399,10 +400,10 @@ async function fetchMany(client, items, opts = {}) {
399
400
  const results = [];
400
401
  for (const item of items) {
401
402
  const key = item.resource;
402
- const id = _chunkRWLPTU67cjs.parseIdentifier.call(void 0, item.id, `items[${results.length}].id`);
403
- const holder = client[_chunkRWLPTU67cjs.camelKey.call(void 0, key)];
403
+ const id = _chunkWTVLHMZAcjs.parseIdentifier.call(void 0, item.id, `items[${results.length}].id`);
404
+ const holder = client[_chunkWTVLHMZAcjs.camelKey.call(void 0, key)];
404
405
  if (holder === void 0) {
405
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(`fetchMany: the client exposes no accessor for resource "${key}"`, {
406
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(`fetchMany: the client exposes no accessor for resource "${key}"`, {
406
407
  suggestedAction: "Rebuild the client from the SDK build that ships this registry (the resource set is pinned by the plan)."
407
408
  });
408
409
  }
@@ -410,9 +411,9 @@ async function fetchMany(client, items, opts = {}) {
410
411
  const value = await holder.get(id);
411
412
  results.push({ resource: key, id, found: true, value: item.fields !== void 0 ? project(value, item.fields) : value });
412
413
  } catch (err) {
413
- if (err instanceof _chunkRWLPTU67cjs.NotFoundError) {
414
+ if (err instanceof _chunkWTVLHMZAcjs.NotFoundError) {
414
415
  results.push({ resource: key, id, found: false, value: null, error: { code: "NOT_FOUND", message: err.message } });
415
- } else if (_chunkRWLPTU67cjs.isAutotaskError.call(void 0, err) && err.code !== "ABORTED") {
416
+ } else if (_chunkWTVLHMZAcjs.isAutotaskError.call(void 0, err) && err.code !== "ABORTED") {
416
417
  const e = { code: err.code, message: err.message };
417
418
  if (err.httpStatus !== void 0) e.httpStatus = err.httpStatus;
418
419
  results.push({ resource: key, id, found: false, value: null, error: e });
@@ -428,10 +429,10 @@ async function fetchMany(client, items, opts = {}) {
428
429
  // src/operations/aggregate.ts
429
430
  var AGGREGATE_TOP_MAX = 100;
430
431
  var AGGREGATE_DEFAULT_TOP = 25;
431
- var AGGREGATE_DEFAULT_LIMIT = _chunkRWLPTU67cjs.BOUNDED_QUERY_MAX_LIMIT;
432
+ var AGGREGATE_DEFAULT_LIMIT = _chunkWTVLHMZAcjs.BOUNDED_QUERY_MAX_LIMIT;
432
433
  var QUERY_RESOURCE_KEYS = (() => {
433
434
  const s = /* @__PURE__ */ new Set();
434
- for (const rec of _chunkLTKMTXURcjs.CAPABILITIES) if (rec.operation === "query") s.add(rec.resource);
435
+ for (const rec of _chunkWTVD2JZNcjs.CAPABILITIES) if (rec.operation === "query") s.add(rec.resource);
435
436
  return s;
436
437
  })();
437
438
  var AGGREGATE_OPT_KEYS = ["groupBy", "sum", "top", "limit"];
@@ -466,14 +467,14 @@ function validateAggregate(operation, filter, opts) {
466
467
  conditions = [];
467
468
  } else {
468
469
  try {
469
- conditions = _chunkRWLPTU67cjs.buildFilter.call(void 0, conds).filter;
470
+ conditions = _chunkWTVLHMZAcjs.buildFilter.call(void 0, conds).filter;
470
471
  } catch (err) {
471
- problems.push(err instanceof _chunkRWLPTU67cjs.AutotaskConfigError ? err.message : `filter must be the query-bag filter (13 operators; caps 500 OR-conditions / 1 UDF / 8000 chars); ${String(err)}`);
472
+ problems.push(err instanceof _chunkWTVLHMZAcjs.AutotaskConfigError ? err.message : `filter must be the query-bag filter (13 operators; caps 500 OR-conditions / 1 UDF / 8000 chars); ${String(err)}`);
472
473
  }
473
474
  }
474
475
  }
475
476
  if (opts !== void 0 && (typeof opts !== "object" || opts === null || Array.isArray(opts))) {
476
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
477
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
477
478
  `aggregate: opts must be the options object (got ${Array.isArray(opts) ? "an array" : typeof opts})`,
478
479
  { operation: "operations.aggregate" }
479
480
  );
@@ -515,11 +516,11 @@ function validateAggregate(operation, filter, opts) {
515
516
  if (!Number.isInteger(opts.limit)) {
516
517
  problems.push(`limit must be an integer (got ${String(opts.limit)})`);
517
518
  } else {
518
- limit = Math.min(Math.max(opts.limit, 1), _chunkRWLPTU67cjs.BOUNDED_QUERY_MAX_LIMIT);
519
+ limit = Math.min(Math.max(opts.limit, 1), _chunkWTVLHMZAcjs.BOUNDED_QUERY_MAX_LIMIT);
519
520
  }
520
521
  }
521
522
  if (problems.length > 0) {
522
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
523
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
523
524
  `aggregate: ${problems.length} problem(s) found pre-request (zero wire was issued)
524
525
  - ` + problems.join("\n- "),
525
526
  { operation: "operations.aggregate" }
@@ -529,9 +530,9 @@ function validateAggregate(operation, filter, opts) {
529
530
  }
530
531
  async function aggregate(client, operation, filter, opts = {}) {
531
532
  const v = validateAggregate(operation, filter, opts);
532
- const holder = client[_chunkRWLPTU67cjs.camelKey.call(void 0, v.resourceKey)];
533
+ const holder = client[_chunkWTVLHMZAcjs.camelKey.call(void 0, v.resourceKey)];
533
534
  if (holder === void 0) {
534
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(`aggregate: the client exposes no accessor for resource "${v.resourceKey}"`, {
535
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(`aggregate: the client exposes no accessor for resource "${v.resourceKey}"`, {
535
536
  operation: "operations.aggregate",
536
537
  suggestedAction: "Rebuild the client from the SDK build that ships this registry (the resource set is pinned by the plan)."
537
538
  });
@@ -551,8 +552,9 @@ async function aggregate(client, operation, filter, opts = {}) {
551
552
  const key = {};
552
553
  const values = [];
553
554
  for (const f of v.groupBy) {
554
- key[f] = item[f];
555
- values.push(item[f]);
555
+ const value = item[f] === void 0 ? null : item[f];
556
+ key[f] = value;
557
+ values.push(value);
556
558
  }
557
559
  const keyOrder = JSON.stringify(values);
558
560
  let g = groups.get(keyOrder);
@@ -570,6 +572,8 @@ async function aggregate(client, operation, filter, opts = {}) {
570
572
  const result = {
571
573
  mode: v.groupBy.length > 0 ? "group" : "sum",
572
574
  groups: top.map((g) => ({ key: g.key, count: g.count, ...g.sums !== void 0 ? { sums: g.sums } : {} })),
575
+ totalGroups: sorted.length,
576
+ groupsTruncated: sorted.length > top.length,
573
577
  totalScanned: res.fetched,
574
578
  hasMore: res.hasMore
575
579
  };
@@ -591,7 +595,7 @@ function project2(value, fields) {
591
595
  function resourcePathOf(key, holder) {
592
596
  const path = _optionalChain([holder, 'optionalAccess', _5 => _5.resourcePath]);
593
597
  if (typeof path !== "string" || path === "") {
594
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(`fetchByIds: the client exposes no ${key} resource path (registry drift)`, {
598
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(`fetchByIds: the client exposes no ${key} resource path (registry drift)`, {
595
599
  suggestedAction: "Rebuild the client from the SDK build that ships this registry (the resource set is pinned by the plan)."
596
600
  });
597
601
  }
@@ -600,7 +604,7 @@ function resourcePathOf(key, holder) {
600
604
  async function fetchByIds(client, items, opts = {}) {
601
605
  if (opts.maxItems !== void 0) {
602
606
  if (!Number.isInteger(opts.maxItems) || opts.maxItems < 1) {
603
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(`fetchByIds: maxItems must be an integer >= 1 (got ${String(opts.maxItems)})`);
607
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(`fetchByIds: maxItems must be an integer >= 1 (got ${String(opts.maxItems)})`);
604
608
  }
605
609
  }
606
610
  const cap = Math.min(FETCH_BY_IDS_MAX_ITEMS, _nullishCoalesce(opts.maxItems, () => ( FETCH_BY_IDS_MAX_ITEMS)));
@@ -609,7 +613,7 @@ async function fetchByIds(client, items, opts = {}) {
609
613
  const canonical = [];
610
614
  for (let i = 0; i < items.length; i += 1) {
611
615
  const item = items[i];
612
- const id = _chunkRWLPTU67cjs.parseIdentifier.call(void 0, item.id, `items[${i}].id`);
616
+ const id = _chunkWTVLHMZAcjs.parseIdentifier.call(void 0, item.id, `items[${i}].id`);
613
617
  canonical[i] = id;
614
618
  const g = _nullishCoalesce(groups.get(item.resource), () => ( { indices: [], fields: /* @__PURE__ */ new Set(), anyFields: false }));
615
619
  g.indices.push(i);
@@ -621,9 +625,9 @@ async function fetchByIds(client, items, opts = {}) {
621
625
  }
622
626
  const byKey = /* @__PURE__ */ new Map();
623
627
  for (const [key, group] of groups) {
624
- const holder = client[_chunkRWLPTU67cjs.camelKey.call(void 0, key)];
628
+ const holder = client[_chunkWTVLHMZAcjs.camelKey.call(void 0, key)];
625
629
  if (holder === void 0) {
626
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(`fetchByIds: the client exposes no accessor for resource "${key}"`, {
630
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(`fetchByIds: the client exposes no accessor for resource "${key}"`, {
627
631
  suggestedAction: "Rebuild the client from the SDK build that ships this registry (the resource set is pinned by the plan)."
628
632
  });
629
633
  }
@@ -643,13 +647,13 @@ async function fetchByIds(client, items, opts = {}) {
643
647
  const chunk = unique.slice(c, c + FETCH_BY_IDS_CHUNK_SIZE);
644
648
  const chunkKeys = new Set(chunk.map((id) => String(id)));
645
649
  try {
646
- const req = _chunkRWLPTU67cjs.buildQueryRequest.call(void 0, client.http.baseUrl, resourcePath, {
650
+ const req = _chunkWTVLHMZAcjs.buildQueryRequest.call(void 0, client.http.baseUrl, resourcePath, {
647
651
  filter: [{ field: "id", op: "in", value: chunk }],
648
652
  maxRecords: FETCH_BY_IDS_CHUNK_SIZE,
649
653
  includeFields
650
654
  });
651
655
  const res = await client.http.request({ ...req, operation: `${key}.fetchByIds` });
652
- const { items: rows } = _chunkRWLPTU67cjs.unwrapItems.call(void 0, res, `${key}.fetchByIds`);
656
+ const { items: rows } = _chunkWTVLHMZAcjs.unwrapItems.call(void 0, res, `${key}.fetchByIds`);
653
657
  for (const row of rows) {
654
658
  const k = String(row.id);
655
659
  if (!chunkKeys.has(k)) continue;
@@ -657,7 +661,7 @@ async function fetchByIds(client, items, opts = {}) {
657
661
  if (!byKey.has(q)) byKey.set(q, { found: true, value: row });
658
662
  }
659
663
  } catch (err) {
660
- if (_chunkRWLPTU67cjs.isAutotaskError.call(void 0, err) && err.code !== "ABORTED") {
664
+ if (_chunkWTVLHMZAcjs.isAutotaskError.call(void 0, err) && err.code !== "ABORTED") {
661
665
  const e = { code: err.code, message: err.message };
662
666
  if (err.httpStatus !== void 0) e.httpStatus = err.httpStatus;
663
667
  for (const u of chunk) {
@@ -676,9 +680,9 @@ async function fetchByIds(client, items, opts = {}) {
676
680
  const value = await holder.get(id);
677
681
  byKey.set(k, { found: true, value });
678
682
  } catch (err) {
679
- if (err instanceof _chunkRWLPTU67cjs.NotFoundError) {
683
+ if (err instanceof _chunkWTVLHMZAcjs.NotFoundError) {
680
684
  byKey.set(k, { found: false, value: null, error: { code: "NOT_FOUND", message: err.message } });
681
- } else if (_chunkRWLPTU67cjs.isAutotaskError.call(void 0, err) && err.code !== "ABORTED") {
685
+ } else if (_chunkWTVLHMZAcjs.isAutotaskError.call(void 0, err) && err.code !== "ABORTED") {
682
686
  const e = { code: err.code, message: err.message };
683
687
  if (err.httpStatus !== void 0) e.httpStatus = err.httpStatus;
684
688
  byKey.set(k, { found: false, value: null, error: e });
@@ -706,20 +710,20 @@ async function fetchByIds(client, items, opts = {}) {
706
710
  async function relationshipMap(client, resourceKey) {
707
711
  void client;
708
712
  if (typeof resourceKey !== "string" || resourceKey.trim() === "") {
709
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
713
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
710
714
  `relationshipMap: resourceKey must be a non-empty plan resource key string (e.g. 'tickets'; got ${typeof resourceKey === "string" ? "a blank string" : typeof resourceKey})`,
711
715
  { suggestedAction: "Pass the exact plan resource key (snake_case) from autotask_catalog \u2014 e.g. tickets, companies, configuration_items, ticket_notes." }
712
716
  );
713
717
  }
714
718
  const key = resourceKey.trim();
715
- const entry = _chunkRWLPTU67cjs.RELATIONSHIP_MAP[key];
719
+ const entry = _chunkWTVLHMZAcjs.RELATIONSHIP_MAP[key];
716
720
  if (entry === void 0) {
717
- throw new (0, _chunkRWLPTU67cjs.AutotaskError)(
718
- `relationshipMap: unknown resource "${key}" \u2014 the plan has ${Object.keys(_chunkRWLPTU67cjs.RELATIONSHIP_MAP).length} resources`,
721
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskError)(
722
+ `relationshipMap: unknown resource "${key}" \u2014 the plan has ${Object.keys(_chunkWTVLHMZAcjs.RELATIONSHIP_MAP).length} resources`,
719
723
  {
720
724
  code: "RESOURCE_UNKNOWN",
721
725
  category: "validation",
722
- suggestedAction: `Pass the exact plan resource key (snake_case) from autotask_catalog (e.g. tickets, companies, configuration_items). Zone facts served are ${_chunkRWLPTU67cjs.RELATIONSHIP_ZONE.label} (${_chunkRWLPTU67cjs.RELATIONSHIP_ZONE.zone})-verified.`
726
+ suggestedAction: `Pass the exact plan resource key (snake_case) from autotask_catalog (e.g. tickets, companies, configuration_items). Zone facts served are ${_chunkWTVLHMZAcjs.RELATIONSHIP_ZONE.label} (${_chunkWTVLHMZAcjs.RELATIONSHIP_ZONE.zone})-verified.`
723
727
  }
724
728
  );
725
729
  }
@@ -736,24 +740,24 @@ var BLIND_SURFACE_KINDS = [
736
740
  async function blindSurfaces(client, opts) {
737
741
  void client;
738
742
  if (opts !== void 0 && (typeof opts !== "object" || opts === null || Array.isArray(opts))) {
739
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)("blindSurfaces: opts must be an object { resource?: string, kind?: BlindSurfaceKind }");
743
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)("blindSurfaces: opts must be an object { resource?: string, kind?: BlindSurfaceKind }");
740
744
  }
741
- const inv = _chunkRWLPTU67cjs.BLIND_SURFACE_INVENTORY;
745
+ const inv = _chunkWTVLHMZAcjs.BLIND_SURFACE_INVENTORY;
742
746
  if (inv === null) {
743
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)("blindSurfaces: the reachability inventory is absent from the generated artifact \u2014 re-run the build");
747
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)("blindSurfaces: the reachability inventory is absent from the generated artifact \u2014 re-run the build");
744
748
  }
745
749
  let surfaces = inv.surfaces;
746
750
  if (_optionalChain([opts, 'optionalAccess', _6 => _6.resource]) !== void 0) {
747
751
  const key = typeof opts.resource === "string" ? opts.resource.trim() : "";
748
752
  if (key === "") {
749
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
753
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
750
754
  "blindSurfaces: opts.resource must be a non-empty plan resource key string (e.g. 'tickets')",
751
755
  { suggestedAction: "Pass the exact plan resource key (snake_case) from autotask_catalog \u2014 e.g. tickets, companies, configuration_items." }
752
756
  );
753
757
  }
754
758
  if (!inv.surfaces.some((row) => row.resource === key)) {
755
- throw new (0, _chunkRWLPTU67cjs.AutotaskError)(
756
- `blindSurfaces: unknown resource "${key}" \u2014 the plan has ${Object.keys(_chunkRWLPTU67cjs.RELATIONSHIP_MAP).length} resources`,
759
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskError)(
760
+ `blindSurfaces: unknown resource "${key}" \u2014 the plan has ${Object.keys(_chunkWTVLHMZAcjs.RELATIONSHIP_MAP).length} resources`,
757
761
  {
758
762
  code: "RESOURCE_UNKNOWN",
759
763
  category: "validation",
@@ -765,7 +769,7 @@ async function blindSurfaces(client, opts) {
765
769
  }
766
770
  if (_optionalChain([opts, 'optionalAccess', _7 => _7.kind]) !== void 0) {
767
771
  if (!BLIND_SURFACE_KINDS.includes(opts.kind)) {
768
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
772
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
769
773
  `blindSurfaces: unknown kind "${String(opts.kind)}" \u2014 the valid classes are: ${BLIND_SURFACE_KINDS.join(", ")}`,
770
774
  { suggestedAction: `Filter with one of: ${BLIND_SURFACE_KINDS.join(", ")} (or omit kind for the full 116-surface inventory).` }
771
775
  );
@@ -778,51 +782,51 @@ async function blindSurfaces(client, opts) {
778
782
  // src/operations/probeReachability.ts
779
783
  async function probeReachability(client, opts) {
780
784
  if (opts !== void 0 && (typeof opts !== "object" || opts === null || Array.isArray(opts))) {
781
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)("probeReachability: opts must be an object { resources?: string[], limit?: 1|2, maxWireCalls?: number, confirmProbe?: true }");
785
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)("probeReachability: opts must be an object { resources?: string[], limit?: 1|2, maxWireCalls?: number, confirmProbe?: true }");
782
786
  }
783
- const defs = _chunkRWLPTU67cjs.REACHABILITY_PROBE_DEFAULTS;
787
+ const defs = _chunkWTVLHMZAcjs.REACHABILITY_PROBE_DEFAULTS;
784
788
  if (_optionalChain([opts, 'optionalAccess', _8 => _8.confirmProbe]) !== true) {
785
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
789
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
786
790
  "probeReachability: confirmProbe: true is required \u2014 the op deliberately fans out read wire across the tenant (one bounded query per surface); pass confirmProbe: true to run it",
787
791
  { suggestedAction: `Re-call with { confirmProbe: true } (plus resources/limit/maxWireCalls as needed). For the ZERO-wire pinned inventory use operations.blindSurfaces.` }
788
792
  );
789
793
  }
790
794
  const limit = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _9 => _9.limit]), () => ( defs.limitDefault));
791
795
  if (!Number.isInteger(limit) || limit < 1 || limit > defs.limitMax) {
792
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
796
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
793
797
  `probeReachability: limit must be an integer 1..${defs.limitMax} (got ${String(limit)}) \u2014 the rows-per-surface bound for the discovery read`
794
798
  );
795
799
  }
796
800
  const cap = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _10 => _10.maxWireCalls]), () => ( defs.defaultCap));
797
801
  if (!Number.isInteger(cap) || cap < 1) {
798
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(`probeReachability: maxWireCalls must be a positive integer (got ${String(cap)})`);
802
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(`probeReachability: maxWireCalls must be a positive integer (got ${String(cap)})`);
799
803
  }
800
804
  if (cap > defs.hardCap) {
801
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
805
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
802
806
  `probeReachability: maxWireCalls ${cap} exceeds the hard wire cap of ${defs.hardCap} \u2014 the sweep is refused above it (never capped silently)`,
803
807
  { suggestedAction: `Pass maxWireCalls \u2264 ${defs.hardCap} and a resources set no larger than the cap (the refused set is never truncated).` }
804
808
  );
805
809
  }
806
- const inv = _chunkRWLPTU67cjs.BLIND_SURFACE_INVENTORY;
810
+ const inv = _chunkWTVLHMZAcjs.BLIND_SURFACE_INVENTORY;
807
811
  if (inv === null) {
808
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)("probeReachability: the reachability inventory is absent from the generated artifact \u2014 re-run the build");
812
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)("probeReachability: the reachability inventory is absent from the generated artifact \u2014 re-run the build");
809
813
  }
810
814
  let targets;
811
815
  if (_optionalChain([opts, 'optionalAccess', _11 => _11.resources]) === void 0) {
812
816
  targets = [...defs.defaultTargets];
813
817
  } else {
814
818
  if (!Array.isArray(opts.resources) || opts.resources.length === 0) {
815
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)("probeReachability: opts.resources must be a non-empty string[] of plan resource keys (or omit it for the default non-data-full set)");
819
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)("probeReachability: opts.resources must be a non-empty string[] of plan resource keys (or omit it for the default non-data-full set)");
816
820
  }
817
821
  const seen = /* @__PURE__ */ new Set();
818
822
  for (const r of opts.resources) {
819
823
  if (typeof r !== "string" || r.trim() === "") {
820
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(`probeReachability: opts.resources must contain non-empty plan resource key strings (got ${typeof r === "string" && r.trim() === "" ? "a blank string" : typeof r})`);
824
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(`probeReachability: opts.resources must contain non-empty plan resource key strings (got ${typeof r === "string" && r.trim() === "" ? "a blank string" : typeof r})`);
821
825
  }
822
826
  const key = r.trim();
823
827
  if (!inv.surfaces.some((row) => row.resource === key)) {
824
828
  const surfaceCount = new Set(inv.surfaces.map((s) => s.resource)).size;
825
- throw new (0, _chunkRWLPTU67cjs.AutotaskError)(
829
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskError)(
826
830
  `probeReachability: unknown resource "${key}" \u2014 the inventory has ${surfaceCount} surfaces`,
827
831
  {
828
832
  code: "RESOURCE_UNKNOWN",
@@ -836,7 +840,7 @@ async function probeReachability(client, opts) {
836
840
  targets = [...seen];
837
841
  }
838
842
  if (targets.length > cap) {
839
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
843
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
840
844
  `probeReachability: ${targets.length} requested surface(s) exceed the wire cap of ${cap} \u2014 the sweep is refused above its cap (never truncated)`,
841
845
  { suggestedAction: `Raise maxWireCalls (\u2264 ${defs.hardCap}) to cover the set, or pass a smaller resources list.` }
842
846
  );
@@ -846,7 +850,7 @@ async function probeReachability(client, opts) {
846
850
  for (const resource of targets.sort()) {
847
851
  const row = byResource.get(resource);
848
852
  if (row === void 0) continue;
849
- const holder = client[_chunkRWLPTU67cjs.camelKey.call(void 0, resource)];
853
+ const holder = client[_chunkWTVLHMZAcjs.camelKey.call(void 0, resource)];
850
854
  const probeFn = _optionalChain([holder, 'optionalAccess', _12 => _12.queryBounded]);
851
855
  if (typeof probeFn !== "function") {
852
856
  results.push({
@@ -865,7 +869,7 @@ async function probeReachability(client, opts) {
865
869
  probe: { ok: true, wire: 1, error: null }
866
870
  });
867
871
  } catch (err) {
868
- const code = _chunkRWLPTU67cjs.isAutotaskError.call(void 0, err) ? err.code : "NETWORK_ERROR";
872
+ const code = _chunkWTVLHMZAcjs.isAutotaskError.call(void 0, err) ? err.code : "NETWORK_ERROR";
869
873
  const message = err instanceof Error ? err.message : String(err);
870
874
  results.push({
871
875
  ...row,
@@ -893,24 +897,24 @@ var CREATE_BLOCKER_KINDS = [
893
897
  async function createGuidance(client, opts) {
894
898
  void client;
895
899
  if (opts !== void 0 && (typeof opts !== "object" || opts === null || Array.isArray(opts))) {
896
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
900
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
897
901
  "createGuidance: opts must be an object { resources?: string[], kind?: CreateBlockerKind }"
898
902
  );
899
903
  }
900
- let rows = _chunkRWLPTU67cjs.CREATE_GUIDANCE.rows;
904
+ let rows = _chunkWTVLHMZAcjs.CREATE_GUIDANCE.rows;
901
905
  if (_optionalChain([opts, 'optionalAccess', _14 => _14.resources]) !== void 0) {
902
906
  if (!Array.isArray(opts.resources) || opts.resources.length === 0) {
903
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)("createGuidance: opts.resources must be a non-empty string[] of plan resource keys");
907
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)("createGuidance: opts.resources must be a non-empty string[] of plan resource keys");
904
908
  }
905
909
  const wanted = /* @__PURE__ */ new Set();
906
910
  for (const r of opts.resources) {
907
911
  if (typeof r !== "string" || r.trim() === "") {
908
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)("createGuidance: opts.resources must contain non-empty plan resource key strings");
912
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)("createGuidance: opts.resources must contain non-empty plan resource key strings");
909
913
  }
910
914
  const key = r.trim();
911
- if (!_chunkRWLPTU67cjs.CREATE_GUIDANCE.rows.some((row) => row.resource === key)) {
912
- throw new (0, _chunkRWLPTU67cjs.AutotaskError)(
913
- `createGuidance: unknown resource "${key}" \u2014 the catalog has ${_chunkRWLPTU67cjs.CREATE_GUIDANCE.rows.length} create entities`,
915
+ if (!_chunkWTVLHMZAcjs.CREATE_GUIDANCE.rows.some((row) => row.resource === key)) {
916
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskError)(
917
+ `createGuidance: unknown resource "${key}" \u2014 the catalog has ${_chunkWTVLHMZAcjs.CREATE_GUIDANCE.rows.length} create entities`,
914
918
  {
915
919
  code: "RESOURCE_UNKNOWN",
916
920
  category: "validation",
@@ -924,18 +928,18 @@ async function createGuidance(client, opts) {
924
928
  }
925
929
  if (_optionalChain([opts, 'optionalAccess', _15 => _15.kind]) !== void 0) {
926
930
  if (!CREATE_BLOCKER_KINDS.includes(opts.kind)) {
927
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
931
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
928
932
  `createGuidance: unknown kind "${String(opts.kind)}" \u2014 the valid kinds are: ${CREATE_BLOCKER_KINDS.join(", ")}`
929
933
  );
930
934
  }
931
935
  rows = rows.filter((row) => _optionalChain([row, 'access', _16 => _16.blocker, 'optionalAccess', _17 => _17.kind]) === opts.kind);
932
936
  }
933
937
  return {
934
- zone: _chunkRWLPTU67cjs.CREATE_GUIDANCE.zone,
935
- label: _chunkRWLPTU67cjs.CREATE_GUIDANCE.label,
936
- verifiedAt: _chunkRWLPTU67cjs.CREATE_GUIDANCE.verifiedAt,
938
+ zone: _chunkWTVLHMZAcjs.CREATE_GUIDANCE.zone,
939
+ label: _chunkWTVLHMZAcjs.CREATE_GUIDANCE.label,
940
+ verifiedAt: _chunkWTVLHMZAcjs.CREATE_GUIDANCE.verifiedAt,
937
941
  rows,
938
- counts: _chunkRWLPTU67cjs.CREATE_GUIDANCE.counts
942
+ counts: _chunkWTVLHMZAcjs.CREATE_GUIDANCE.counts
939
943
  };
940
944
  }
941
945
 
@@ -944,7 +948,7 @@ var RECOVERY_CONFIRM = "operations.recovery";
944
948
  var RECOVERY_DEFAULT_LIMIT = 25;
945
949
  var RECOVERY_MAX_LIMIT = 100;
946
950
  function configError(message, operation, suggestedAction) {
947
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(message, { operation, suggestedAction });
951
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(message, { operation, suggestedAction });
948
952
  }
949
953
  function parseMatchId(record) {
950
954
  const raw = record.id;
@@ -961,7 +965,7 @@ function parseMatchId(record) {
961
965
  }
962
966
  async function recovery(client, input, opts = {}) {
963
967
  const operation = RECOVERY_CONFIRM;
964
- if (!_chunkRWLPTU67cjs.isRecord.call(void 0, input)) {
968
+ if (!_chunkWTVLHMZAcjs.isRecord.call(void 0, input)) {
965
969
  configError(
966
970
  `recovery: input must be an object { resource, marker, ... } (got ${typeof input})`,
967
971
  operation,
@@ -992,10 +996,10 @@ async function recovery(client, input, opts = {}) {
992
996
  "Pass action: 'delete' for the destructive path (dry-run-first; the apply requires the confirm string)."
993
997
  );
994
998
  }
995
- const entry = _chunkRWLPTU67cjs.RELATIONSHIP_MAP[resource];
999
+ const entry = _chunkWTVLHMZAcjs.RELATIONSHIP_MAP[resource];
996
1000
  if (entry === void 0) {
997
- throw new (0, _chunkRWLPTU67cjs.AutotaskError)(
998
- `recovery: unknown resource "${resource}" \u2014 the plan has ${Object.keys(_chunkRWLPTU67cjs.RELATIONSHIP_MAP).length} resources`,
1001
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskError)(
1002
+ `recovery: unknown resource "${resource}" \u2014 the plan has ${Object.keys(_chunkWTVLHMZAcjs.RELATIONSHIP_MAP).length} resources`,
999
1003
  {
1000
1004
  code: "RESOURCE_UNKNOWN",
1001
1005
  category: "validation",
@@ -1004,7 +1008,7 @@ async function recovery(client, input, opts = {}) {
1004
1008
  }
1005
1009
  );
1006
1010
  }
1007
- const holder = client[_chunkRWLPTU67cjs.camelKey.call(void 0, resource)];
1011
+ const holder = client[_chunkWTVLHMZAcjs.camelKey.call(void 0, resource)];
1008
1012
  if (!holder || typeof holder.queryBounded !== "function") {
1009
1013
  configError(
1010
1014
  `recovery: ${resource} exposes no bounded query surface \u2014 the marker search cannot run`,
@@ -1012,7 +1016,7 @@ async function recovery(client, input, opts = {}) {
1012
1016
  "Use a resource with a query surface, or address the record by id directly (get/fetchMany)."
1013
1017
  );
1014
1018
  }
1015
- const field = input.field !== void 0 ? String(input.field) : _chunkRWLPTU67cjs.MARKER_FIELDS[resource];
1019
+ const field = input.field !== void 0 ? String(input.field) : _chunkWTVLHMZAcjs.MARKER_FIELDS[resource];
1016
1020
  if (typeof field !== "string" || field.trim() === "") {
1017
1021
  configError(
1018
1022
  `recovery: ${resource} has no plan markerField and no input.field was passed \u2014 the marker search needs a name-like field to filter on`,
@@ -1048,7 +1052,7 @@ async function recovery(client, input, opts = {}) {
1048
1052
  );
1049
1053
  }
1050
1054
  for (const c of input.filter) {
1051
- if (!_chunkRWLPTU67cjs.isRecord.call(void 0, c) || typeof c.op !== "string" || c.op === "and" || c.op === "or") {
1055
+ if (!_chunkWTVLHMZAcjs.isRecord.call(void 0, c) || typeof c.op !== "string" || c.op === "and" || c.op === "or") {
1052
1056
  configError(
1053
1057
  "recovery: input.filter accepts only plain leaf conditions ({ field, op, value }) \u2014 no grouping",
1054
1058
  operation,
@@ -1069,7 +1073,7 @@ async function recovery(client, input, opts = {}) {
1069
1073
  }
1070
1074
  limit = input.limit;
1071
1075
  }
1072
- const boundaryNote = _chunkRWLPTU67cjs.DELETE_BOUNDARY_NOTES[resource];
1076
+ const boundaryNote = _chunkWTVLHMZAcjs.DELETE_BOUNDARY_NOTES[resource];
1073
1077
  const boundary = {
1074
1078
  available: boundaryNote === void 0,
1075
1079
  reason: _nullishCoalesce(boundaryNote, () => ( null)),
@@ -1081,7 +1085,7 @@ async function recovery(client, input, opts = {}) {
1081
1085
  };
1082
1086
  const isDelete = action === "delete";
1083
1087
  if (isDelete && boundaryNote !== void 0) {
1084
- throw new (0, _chunkRWLPTU67cjs.DeleteBoundaryError)(
1088
+ throw new (0, _chunkWTVLHMZAcjs.DeleteBoundaryError)(
1085
1089
  `recovery: the vendor defines no DELETE for ${resource} \u2014 the delete cannot be issued through the API (zero wire was issued)`,
1086
1090
  {
1087
1091
  operation,
@@ -1093,7 +1097,7 @@ async function recovery(client, input, opts = {}) {
1093
1097
  const dryRun = _optionalChain([opts, 'optionalAccess', _18 => _18.dryRun]) !== false;
1094
1098
  const confirm = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _19 => _19.confirm]), () => ( input.confirm));
1095
1099
  if (isDelete && !dryRun && confirm !== RECOVERY_CONFIRM) {
1096
- throw new (0, _chunkRWLPTU67cjs.ConfirmationRequiredError)(
1100
+ throw new (0, _chunkWTVLHMZAcjs.ConfirmationRequiredError)(
1097
1101
  `recovery: action 'delete' apply is destructive and requires its confirmation flag: pass confirm: "${RECOVERY_CONFIRM}"`,
1098
1102
  {
1099
1103
  operation: RECOVERY_CONFIRM,
@@ -1109,7 +1113,7 @@ async function recovery(client, input, opts = {}) {
1109
1113
  const query = await holder.queryBounded({ filter: conditions, limit });
1110
1114
  if (query.hasMore) {
1111
1115
  const wire = isDelete ? "DELETE wire" : "mutating wire";
1112
- throw new (0, _chunkRWLPTU67cjs.RecoveryTruncatedError)(
1116
+ throw new (0, _chunkWTVLHMZAcjs.RecoveryTruncatedError)(
1113
1117
  `recovery: the marker search on ${resource} TRIPPED its match cap (${limit}) \u2014 more matches exist than were returned (zero ${wire} was issued)`,
1114
1118
  {
1115
1119
  operation,
@@ -1148,7 +1152,7 @@ async function recovery(client, input, opts = {}) {
1148
1152
  return { ...base, simulated: true, dryRun: true };
1149
1153
  }
1150
1154
  if (unsafeId) {
1151
- throw new (0, _chunkRWLPTU67cjs.MarkerUnsafeIdError)(
1155
+ throw new (0, _chunkWTVLHMZAcjs.MarkerUnsafeIdError)(
1152
1156
  `recovery: ${unsafeIds.length} of ${matches.length} match(es) on ${resource} have ids beyond Number.MAX_SAFE_INTEGER \u2014 they CANNOT be addressed through the SDK's typed delete surface (zero DELETE wire was issued)`,
1153
1157
  {
1154
1158
  operation,
@@ -1159,7 +1163,7 @@ async function recovery(client, input, opts = {}) {
1159
1163
  }
1160
1164
  const deleteMethod = holder.delete;
1161
1165
  if (deleteMethod === void 0) {
1162
- throw new (0, _chunkRWLPTU67cjs.DeleteBoundaryError)(
1166
+ throw new (0, _chunkWTVLHMZAcjs.DeleteBoundaryError)(
1163
1167
  `recovery: ${resource} has no delete method on the client \u2014 the boundary is marked available in the plan but the typed delete surface is missing`,
1164
1168
  {
1165
1169
  operation,
@@ -1188,14 +1192,14 @@ async function recovery(client, input, opts = {}) {
1188
1192
  verify = "still-present";
1189
1193
  }
1190
1194
  } catch (err) {
1191
- if (err instanceof _chunkRWLPTU67cjs.NotFoundError) verify = "not-found";
1195
+ if (err instanceof _chunkWTVLHMZAcjs.NotFoundError) verify = "not-found";
1192
1196
  else {
1193
1197
  verify = "error";
1194
- code = _chunkRWLPTU67cjs.isAutotaskError.call(void 0, err) ? err.code : "SERVER_ERROR";
1198
+ code = _chunkWTVLHMZAcjs.isAutotaskError.call(void 0, err) ? err.code : "SERVER_ERROR";
1195
1199
  }
1196
1200
  }
1197
1201
  } catch (err) {
1198
- code = _chunkRWLPTU67cjs.isAutotaskError.call(void 0, err) ? err.code : "SERVER_ERROR";
1202
+ code = _chunkWTVLHMZAcjs.isAutotaskError.call(void 0, err) ? err.code : "SERVER_ERROR";
1199
1203
  }
1200
1204
  deleted.push({ id, verified: verify === "not-found", code });
1201
1205
  }
@@ -1203,13 +1207,13 @@ async function recovery(client, input, opts = {}) {
1203
1207
  }
1204
1208
 
1205
1209
  // src/operations/invoke.ts
1206
- var RECORDS = _chunkLTKMTXURcjs.CAPABILITIES;
1210
+ var RECORDS = _chunkWTVD2JZNcjs.CAPABILITIES;
1207
1211
  var byId = new Map(RECORDS.map((r) => [r.id, r]));
1208
1212
  function needsConfirmation(record) {
1209
1213
  return record.effect === "destructive" || (_nullishCoalesce(record.flags, () => ( []))).includes("requiresApproval");
1210
1214
  }
1211
1215
  function refuse(message, operation, suggestedAction) {
1212
- throw new (0, _chunkRWLPTU67cjs.ConfirmationRequiredError)(message, { operation, suggestedAction });
1216
+ throw new (0, _chunkWTVLHMZAcjs.ConfirmationRequiredError)(message, { operation, suggestedAction });
1213
1217
  }
1214
1218
  var MODE_BY_EFFECT = {
1215
1219
  read: "read",
@@ -1253,7 +1257,7 @@ function looseTypeOk(type, value) {
1253
1257
  case "string[]":
1254
1258
  return Array.isArray(value) && value.every((v) => typeof v === "string");
1255
1259
  case "object":
1256
- return _chunkRWLPTU67cjs.isRecord.call(void 0, value);
1260
+ return _chunkWTVLHMZAcjs.isRecord.call(void 0, value);
1257
1261
  default:
1258
1262
  return true;
1259
1263
  }
@@ -1270,7 +1274,7 @@ function validateDispatchArgs(record, argsIn) {
1270
1274
  const schema = _nullishCoalesce(record.inputSchema, () => ( {}));
1271
1275
  const names = Object.keys(schema);
1272
1276
  if (args.length > names.length) {
1273
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
1277
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
1274
1278
  `invoke: "${operation}" declares ${names.length} positional arg(s) (${declaredArgList(record)}) but ${args.length} were passed \u2014 extra args are refused, not dropped (v0.2.0 silently dropped them)`,
1275
1279
  {
1276
1280
  operation,
@@ -1280,7 +1284,7 @@ function validateDispatchArgs(record, argsIn) {
1280
1284
  }
1281
1285
  const required = names.filter((n) => schema[n].required);
1282
1286
  if (args.length < required.length) {
1283
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
1287
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
1284
1288
  `invoke: "${operation}" requires ${required.length} positional arg(s) (${required.map((n) => `${n}: ${schema[n].type}`).join(", ")}) but only ${args.length} were passed \u2014 declared args: ${declaredArgList(record)}`,
1285
1289
  { operation }
1286
1290
  );
@@ -1291,7 +1295,7 @@ function validateDispatchArgs(record, argsIn) {
1291
1295
  const name = names[i];
1292
1296
  const spec = schema[name];
1293
1297
  if (!looseTypeOk(spec.type, value)) {
1294
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
1298
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
1295
1299
  `invoke: "${operation}" arg ${i + 1} is declared ${name}: ${spec.type} \u2014 the value has the wrong type (pass a ${spec.type} value)`,
1296
1300
  { operation }
1297
1301
  );
@@ -1343,11 +1347,11 @@ function validateParamsBag(record, args) {
1343
1347
  const valid = PARAMS_BAG_KEYS[record.operation];
1344
1348
  if (valid === void 0) return;
1345
1349
  const bag = _optionalChain([args, 'optionalAccess', _20 => _20[0]]);
1346
- if (bag === void 0 || bag === null || !_chunkRWLPTU67cjs.isRecord.call(void 0, bag)) return;
1350
+ if (bag === void 0 || bag === null || !_chunkWTVLHMZAcjs.isRecord.call(void 0, bag)) return;
1347
1351
  const unknown = Object.keys(bag).filter((k) => !valid.includes(k));
1348
1352
  if (unknown.length === 0) return;
1349
1353
  const suggestions = unknown.map((k) => [k, suggestForKey(k, valid)]).filter((pair) => pair[1] !== null).map(([k, s]) => `"${k}" \u2192 "${s}"`);
1350
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
1354
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
1351
1355
  `invoke: "${record.id}" params bag has unknown key(s) ${unknown.map((k) => `"${k}"`).join(", ")} \u2014 the bag is closed (valid keys: ${valid.join(", ")})`,
1352
1356
  {
1353
1357
  operation: record.id,
@@ -1361,7 +1365,7 @@ function validateInvokeOptions(opts, operation) {
1361
1365
  const unknown = Object.keys(opts).filter((k) => !INVOKE_OPTION_KEYS.includes(k));
1362
1366
  if (unknown.length === 0) return;
1363
1367
  const suggestions = unknown.map((k) => [k, suggestForKey(k, ["dryRun", "confirm", "lastModifiedDate"])]).filter((pair) => pair[1] !== null).map(([k, s]) => `"${k}" \u2192 "${s}"`);
1364
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
1368
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
1365
1369
  `invoke: "${operation}" has unknown option key(s) ${unknown.map((k) => `"${k}"`).join(", ")} \u2014 the options set is closed (valid: dryRun, confirm, lastModifiedDate)`,
1366
1370
  {
1367
1371
  operation,
@@ -1374,7 +1378,7 @@ function unknownKeysRefusal(raw, validKeys, subject, operation) {
1374
1378
  const unknown = Object.keys(raw).filter((k) => !validKeys.includes(k));
1375
1379
  if (unknown.length === 0) return null;
1376
1380
  const suggestions = unknown.map((k) => [k, suggestForKey(k, [...validKeys])]).filter((pair) => pair[1] !== null).map(([k, s]) => `"${k}" \u2192 "${s}"`);
1377
- return new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
1381
+ return new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
1378
1382
  `unknown ${subject} ${unknown.map((k) => `"${k}"`).join(", ")} \u2014 the ${subject} set is closed (valid keys: ${validKeys.join(", ")})`,
1379
1383
  {
1380
1384
  ...operation !== void 0 ? { operation } : {},
@@ -1386,7 +1390,7 @@ async function invokeMode(client, operation, argsIn = [], opts = {}) {
1386
1390
  const args = _nullishCoalesce(argsIn, () => ( []));
1387
1391
  const record = byId.get(operation);
1388
1392
  if (record === void 0) {
1389
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
1393
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
1390
1394
  `invoke: unknown operation "${operation}" \u2014 it is not in the capability registry`,
1391
1395
  { operation, suggestedAction: "List the registry (the ./capabilities subpath) for the exact operation key." }
1392
1396
  );
@@ -1394,17 +1398,17 @@ async function invokeMode(client, operation, argsIn = [], opts = {}) {
1394
1398
  validateInvokeOptions(opts, operation);
1395
1399
  const mode = opts.mode;
1396
1400
  if (mode !== void 0 && MODE_BY_EFFECT[record.effect] !== mode) {
1397
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(crossModeRefusal(operation, record.effect, mode), { operation });
1401
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(crossModeRefusal(operation, record.effect, mode), { operation });
1398
1402
  }
1399
1403
  if (opts.dryRun !== void 0 && typeof opts.dryRun !== "boolean") {
1400
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
1404
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
1401
1405
  `invoke: dryRun must be a boolean (got ${typeof opts.dryRun}) \u2014 "${operation}" was not issued`,
1402
1406
  { operation, suggestedAction: "Pass dryRun: true (simulate) or dryRun: false (apply) as a real boolean." }
1403
1407
  );
1404
1408
  }
1405
1409
  const isWrite = record.effect !== "read";
1406
1410
  if (!isWrite && opts.dryRun === true) {
1407
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
1411
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
1408
1412
  `invoke: "${operation}" is a read \u2014 dryRun is not applicable (reads issue their request as-is)`,
1409
1413
  { operation }
1410
1414
  );
@@ -1419,9 +1423,9 @@ async function invokeMode(client, operation, argsIn = [], opts = {}) {
1419
1423
  validateDispatchArgs(record, args);
1420
1424
  validateParamsBag(record, args);
1421
1425
  const boundedQuery = record.kind === "primitive" && record.operation === "query";
1422
- let holder = client[_chunkRWLPTU67cjs.camelKey.call(void 0, record.resource)];
1426
+ let holder = client[_chunkWTVLHMZAcjs.camelKey.call(void 0, record.resource)];
1423
1427
  if (typeof holder === "function") {
1424
- holder = _nullishCoalesce(client[`${_chunkRWLPTU67cjs.camelKey.call(void 0, record.resource)}Resource`], () => ( holder));
1428
+ holder = _nullishCoalesce(client[`${_chunkWTVLHMZAcjs.camelKey.call(void 0, record.resource)}Resource`], () => ( holder));
1425
1429
  }
1426
1430
  if (holder === void 0 && record.resource === "operations") {
1427
1431
  holder = {
@@ -1442,7 +1446,7 @@ async function invokeMode(client, operation, argsIn = [], opts = {}) {
1442
1446
  // reads ONLY (never an id-in query — the resources table can be blind
1443
1447
  // to count/query while per-id reads work); blind-marked rows for ids
1444
1448
  // the API user cannot resolve; the name cache (default-on).
1445
- expandResourceNames: (ids, opts2) => _chunkRWLPTU67cjs.expandResourceNames.call(void 0, client, ids, opts2),
1449
+ expandResourceNames: (ids, opts2) => _chunkWTVLHMZAcjs.expandResourceNames.call(void 0, client, ids, opts2),
1446
1450
  relationshipMap: (resourceKey) => relationshipMap(client, resourceKey),
1447
1451
  // Issue #11: the served blind-surface inventory (zero wire) + the
1448
1452
  // bounded caller-opted reachability sweep (read-only, confirmProbe-
@@ -1455,7 +1459,7 @@ async function invokeMode(client, operation, argsIn = [], opts = {}) {
1455
1459
  // entityInformation GETs (the op's own cap refuses over-cap fan-outs
1456
1460
  // pre-request; per-resource failures are recorded on the row and
1457
1461
  // never abort the call).
1458
- fieldCatalog: (opts2) => _chunkRWLPTU67cjs.fieldCatalog.call(void 0, client, opts2),
1462
+ fieldCatalog: (opts2) => _chunkWTVLHMZAcjs.fieldCatalog.call(void 0, client, opts2),
1459
1463
  // Issue #9: the one-call recovery/cleanup op — effect write in the
1460
1464
  // registry (the governor's dry-run-first applies to it); the op's own
1461
1465
  // confirm gate makes the destructive action deliberate (the governor
@@ -1464,7 +1468,7 @@ async function invokeMode(client, operation, argsIn = [], opts = {}) {
1464
1468
  };
1465
1469
  }
1466
1470
  if (holder === void 0) {
1467
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
1471
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
1468
1472
  `invoke: the client exposes no accessor for resource "${record.resource}"`,
1469
1473
  { operation }
1470
1474
  );
@@ -1472,7 +1476,7 @@ async function invokeMode(client, operation, argsIn = [], opts = {}) {
1472
1476
  const methodName = boundedQuery ? "queryBounded" : record.operation;
1473
1477
  const method = holder[methodName];
1474
1478
  if (typeof method !== "function") {
1475
- throw new (0, _chunkRWLPTU67cjs.AutotaskConfigError)(
1479
+ throw new (0, _chunkWTVLHMZAcjs.AutotaskConfigError)(
1476
1480
  `invoke: "${record.resource}.${methodName}" is not a callable method on the client`,
1477
1481
  { operation }
1478
1482
  );
@@ -1573,5 +1577,5 @@ async function invokeDelete(client, operation, args = [], opts = {}) {
1573
1577
 
1574
1578
 
1575
1579
 
1576
- exports.AGGREGATE_DEFAULT_LIMIT = AGGREGATE_DEFAULT_LIMIT; exports.AGGREGATE_DEFAULT_TOP = AGGREGATE_DEFAULT_TOP; exports.AGGREGATE_TOP_MAX = AGGREGATE_TOP_MAX; exports.BLIND_SURFACE_KINDS = BLIND_SURFACE_KINDS; exports.CREATE_BLOCKER_KINDS = CREATE_BLOCKER_KINDS; exports.EXPAND_RESOURCE_NAMES_MAX_IDS = _chunkRWLPTU67cjs.EXPAND_RESOURCE_NAMES_MAX_IDS; exports.FETCH_BY_IDS_CHUNK_SIZE = FETCH_BY_IDS_CHUNK_SIZE; exports.FETCH_BY_IDS_MAX_ITEMS = FETCH_BY_IDS_MAX_ITEMS; exports.FETCH_MANY_MAX_ITEMS = FETCH_MANY_MAX_ITEMS; exports.FIELD_CACHE_KINDS = _chunkRWLPTU67cjs.FIELD_CACHE_KINDS; exports.FIELD_CATALOG_HONESTY_NOTE = _chunkRWLPTU67cjs.FIELD_CATALOG_HONESTY_NOTE; exports.INVOKE_OPTION_KEYS = INVOKE_OPTION_KEYS; exports.MAX_FIELD_CATALOG_WIRE = _chunkRWLPTU67cjs.MAX_FIELD_CATALOG_WIRE; exports.PARAMS_BAG_KEYS = PARAMS_BAG_KEYS; exports.RECOVERY_CONFIRM = RECOVERY_CONFIRM; exports.RECOVERY_DEFAULT_LIMIT = RECOVERY_DEFAULT_LIMIT; exports.RECOVERY_MAX_LIMIT = RECOVERY_MAX_LIMIT; exports.WORKFLOW_RESOURCES = _chunkRWLPTU67cjs.WORKFLOW_RESOURCES; exports.aggregate = aggregate; exports.blindSurfaces = blindSurfaces; exports.createGuidance = createGuidance; exports.expandResourceNames = _chunkRWLPTU67cjs.expandResourceNames; exports.fetchByIds = fetchByIds; exports.fetchMany = fetchMany; exports.fieldCatalog = _chunkRWLPTU67cjs.fieldCatalog; exports.invoke = invoke; exports.invokeDelete = invokeDelete; exports.invokeRead = invokeRead; exports.invokeWrite = invokeWrite; exports.needsConfirmation = needsConfirmation; exports.probeReachability = probeReachability; exports.recovery = recovery; exports.relationshipMap = relationshipMap; exports.resolveAny = resolveAny; exports.searchAcrossResources = searchAcrossResources; exports.unknownKeysRefusal = unknownKeysRefusal; exports.validateDispatchArgs = validateDispatchArgs; exports.validateFetchManyItems = validateFetchManyItems; exports.validateInvokeOptions = validateInvokeOptions; exports.validateParamsBag = validateParamsBag;
1577
- //# sourceMappingURL=index.cjs.map
1580
+
1581
+ exports.AGGREGATE_DEFAULT_LIMIT = AGGREGATE_DEFAULT_LIMIT; exports.AGGREGATE_DEFAULT_TOP = AGGREGATE_DEFAULT_TOP; exports.AGGREGATE_TOP_MAX = AGGREGATE_TOP_MAX; exports.BLIND_SURFACE_KINDS = BLIND_SURFACE_KINDS; exports.CREATE_BLOCKER_KINDS = CREATE_BLOCKER_KINDS; exports.EXPAND_RESOURCE_NAMES_MAX_IDS = _chunkWTVLHMZAcjs.EXPAND_RESOURCE_NAMES_MAX_IDS; exports.FETCH_BY_IDS_CHUNK_SIZE = FETCH_BY_IDS_CHUNK_SIZE; exports.FETCH_BY_IDS_MAX_ITEMS = FETCH_BY_IDS_MAX_ITEMS; exports.FETCH_MANY_MAX_ITEMS = FETCH_MANY_MAX_ITEMS; exports.FIELD_CACHE_KINDS = _chunkWTVLHMZAcjs.FIELD_CACHE_KINDS; exports.FIELD_CATALOG_HONESTY_NOTE = _chunkWTVLHMZAcjs.FIELD_CATALOG_HONESTY_NOTE; exports.INVOKE_OPTION_KEYS = INVOKE_OPTION_KEYS; exports.MAX_FIELD_CATALOG_WIRE = _chunkWTVLHMZAcjs.MAX_FIELD_CATALOG_WIRE; exports.PARAMS_BAG_KEYS = PARAMS_BAG_KEYS; exports.PICKLIST_VALUE_NOT_SERVED_NOTE = _chunkWTVLHMZAcjs.PICKLIST_VALUE_NOT_SERVED_NOTE; exports.RECOVERY_CONFIRM = RECOVERY_CONFIRM; exports.RECOVERY_DEFAULT_LIMIT = RECOVERY_DEFAULT_LIMIT; exports.RECOVERY_MAX_LIMIT = RECOVERY_MAX_LIMIT; exports.WORKFLOW_RESOURCES = _chunkWTVLHMZAcjs.WORKFLOW_RESOURCES; exports.aggregate = aggregate; exports.blindSurfaces = blindSurfaces; exports.createGuidance = createGuidance; exports.expandResourceNames = _chunkWTVLHMZAcjs.expandResourceNames; exports.fetchByIds = fetchByIds; exports.fetchMany = fetchMany; exports.fieldCatalog = _chunkWTVLHMZAcjs.fieldCatalog; exports.invoke = invoke; exports.invokeDelete = invokeDelete; exports.invokeRead = invokeRead; exports.invokeWrite = invokeWrite; exports.needsConfirmation = needsConfirmation; exports.probeReachability = probeReachability; exports.recovery = recovery; exports.relationshipMap = relationshipMap; exports.resolveAny = resolveAny; exports.searchAcrossResources = searchAcrossResources; exports.unknownKeysRefusal = unknownKeysRefusal; exports.validateDispatchArgs = validateDispatchArgs; exports.validateFetchManyItems = validateFetchManyItems; exports.validateInvokeOptions = validateInvokeOptions; exports.validateParamsBag = validateParamsBag;