node-autotask 0.33.0 → 0.34.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 (39) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/MCP_TOOL_CATALOG.json +2 -2
  3. package/MCP_TOOL_MANIFEST.md +4 -4
  4. package/N8N_MCP_MANIFEST.json +2 -2
  5. package/N8N_MCP_MANIFEST.md +3 -3
  6. package/capabilities.json +4084 -2544
  7. package/capabilities.schema.json +32 -0
  8. package/dist/capabilities.cjs +2 -2
  9. package/dist/capabilities.d.cts +13 -1
  10. package/dist/capabilities.d.ts +13 -1
  11. package/dist/capabilities.js +1 -1
  12. package/dist/{chunk-VKE56TTN.js → chunk-4MUBUSTL.js} +4083 -2543
  13. package/dist/{chunk-5DS6F6GF.js → chunk-6ADFCU3I.js} +399 -342
  14. package/dist/{chunk-OO67MRHN.cjs → chunk-DKJP73FX.cjs} +966 -909
  15. package/dist/{chunk-MFDQHFGJ.js → chunk-EZKM4HQ6.js} +1017 -577
  16. package/dist/{chunk-SP2SJJZX.cjs → chunk-FOOHJBPP.cjs} +4083 -2543
  17. package/dist/{chunk-4QN43TRP.cjs → chunk-GDQ4QM7Q.cjs} +1066 -626
  18. package/dist/{chunk-3LAZZT7V.cjs → chunk-P6YN2POI.cjs} +143 -143
  19. package/dist/{chunk-7WNE5MPG.js → chunk-RDFL5QYE.js} +2 -2
  20. package/dist/{index-BaeMHZPk.d.ts → index-ByMU8IC2.d.ts} +498 -198
  21. package/dist/{index-Cq0VsfSz.d.cts → index-Dx4-zpDo.d.cts} +498 -198
  22. package/dist/index.cjs +23 -23
  23. package/dist/index.d.cts +2 -2
  24. package/dist/index.d.ts +2 -2
  25. package/dist/index.js +5 -5
  26. package/dist/operations/index.cjs +157 -116
  27. package/dist/operations/index.d.cts +39 -25
  28. package/dist/operations/index.d.ts +39 -25
  29. package/dist/operations/index.js +47 -6
  30. package/dist/pool.cjs +9 -9
  31. package/dist/pool.d.cts +1 -1
  32. package/dist/pool.d.ts +1 -1
  33. package/dist/pool.js +4 -4
  34. package/dist/resources/index.cjs +4 -4
  35. package/dist/resources/index.d.cts +1 -1
  36. package/dist/resources/index.d.ts +1 -1
  37. package/dist/resources/index.js +3 -3
  38. package/docs/API.md +160 -35
  39. package/package.json +1 -1
@@ -41,10 +41,10 @@ import {
41
41
  unwrapItems,
42
42
  unwrapOperation,
43
43
  vendorId
44
- } from "./chunk-MFDQHFGJ.js";
44
+ } from "./chunk-EZKM4HQ6.js";
45
45
  import {
46
46
  CAPABILITIES
47
- } from "./chunk-VKE56TTN.js";
47
+ } from "./chunk-4MUBUSTL.js";
48
48
 
49
49
  // src/resources/appointments.ts
50
50
  var AppointmentsResource = class extends BaseResource {
@@ -70,9 +70,9 @@ var AppointmentsResource = class extends BaseResource {
70
70
  async count(params) {
71
71
  return this.countGlobal(params);
72
72
  }
73
- /** Get one record by id (item envelope; item: null → NotFoundError). */
74
- async get(id) {
75
- return this.getGlobal(id);
73
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
74
+ async get(id, opts = {}) {
75
+ return this.getGlobal(id, opts?.fresh === true);
76
76
  }
77
77
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
78
78
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -154,9 +154,9 @@ var BillingCodesResource = class extends BaseResource {
154
154
  async count(params) {
155
155
  return this.countGlobal(params);
156
156
  }
157
- /** Get one record by id (item envelope; item: null → NotFoundError). */
158
- async get(id) {
159
- return this.getGlobal(id);
157
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
158
+ async get(id, opts = {}) {
159
+ return this.getGlobal(id, opts?.fresh === true);
160
160
  }
161
161
  /** Resolve a BillingCode from a numeric id (or, where the vendor indexes a primary text field,
162
162
  * from an exact match on name). A numeric id miss throws NOT_FOUND; a complete
@@ -197,9 +197,9 @@ var BillingItemApprovalLevelsResource = class extends BaseResource {
197
197
  async count(params) {
198
198
  return this.countGlobal(params);
199
199
  }
200
- /** Get one record by id (item envelope; item: null → NotFoundError). */
201
- async get(id) {
202
- return this.getGlobal(id);
200
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
201
+ async get(id, opts = {}) {
202
+ return this.getGlobal(id, opts?.fresh === true);
203
203
  }
204
204
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
205
205
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -562,9 +562,9 @@ var BillingItemsResource = class extends BaseResource {
562
562
  async count(params) {
563
563
  return this.countGlobal(params);
564
564
  }
565
- /** Get one record by id (item envelope; item: null → NotFoundError). */
566
- async get(id) {
567
- return this.getGlobal(id);
565
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
566
+ async get(id, opts = {}) {
567
+ return this.getGlobal(id, opts?.fresh === true);
568
568
  }
569
569
  /** Update a record (PUT on the COLLECTION — the vendored spec's item path is GET-only; the vendor
570
570
  * keys the record by the id in the body). The vendor validates the FULL model on this route (V2), so a
@@ -662,9 +662,9 @@ var ChangeRequestLinksResource = class extends BaseResource {
662
662
  async count(params) {
663
663
  return this.countGlobal(params);
664
664
  }
665
- /** Get one record by id (item envelope; item: null → NotFoundError). */
666
- async get(id) {
667
- return this.getGlobal(id);
665
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
666
+ async get(id, opts = {}) {
667
+ return this.getGlobal(id, opts?.fresh === true);
668
668
  }
669
669
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
670
670
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -719,9 +719,9 @@ var ChecklistLibrariesResource = class extends BaseResource {
719
719
  async count(params) {
720
720
  return this.countGlobal(params);
721
721
  }
722
- /** Get one record by id (item envelope; item: null → NotFoundError). */
723
- async get(id) {
724
- return this.getGlobal(id);
722
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
723
+ async get(id, opts = {}) {
724
+ return this.getGlobal(id, opts?.fresh === true);
725
725
  }
726
726
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
727
727
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -794,8 +794,8 @@ var ChecklistLibraryChecklistItemsResource = class extends BaseResource {
794
794
  return this.countGlobal(params);
795
795
  }
796
796
  /** Get one record by parent + id (/V1.0/ChecklistLibraries/{parentId}/ChecklistItems/{id} — vendor item envelope; item: null → NotFoundError). */
797
- async get(parentId, id) {
798
- return this.getScopedRaw(parentId, id);
797
+ async get(parentId, id, opts = {}) {
798
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
799
799
  }
800
800
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
801
801
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -857,9 +857,9 @@ var ClassificationIconsResource = class extends BaseResource {
857
857
  async count(params) {
858
858
  return this.countGlobal(params);
859
859
  }
860
- /** Get one record by id (item envelope; item: null → NotFoundError). */
861
- async get(id) {
862
- return this.getGlobal(id);
860
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
861
+ async get(id, opts = {}) {
862
+ return this.getGlobal(id, opts?.fresh === true);
863
863
  }
864
864
  /** Resolve a ClassificationIcon from a numeric id (or, where the vendor indexes a primary text field,
865
865
  * from an exact match on name). A numeric id miss throws NOT_FOUND; a complete
@@ -1328,8 +1328,14 @@ async function readFields(http, fresh) {
1328
1328
  cache?.set(key, "fields", fields);
1329
1329
  return fields;
1330
1330
  }
1331
- function assumed(excludeStatusIds) {
1332
- const closedIds = excludeStatusIds === void 0 ? [ASSUMED_CLOSED_STATUS_ID] : [...excludeStatusIds];
1331
+ function assumed(allowAssumed, operation) {
1332
+ if (!allowAssumed) {
1333
+ throw new AutotaskError(
1334
+ `${operation}: the tenant Tickets status picklist could not be resolved to a closed set and allowAssumed is false, so the assumed id ${ASSUMED_CLOSED_STATUS_ID} is refused (fix: expose the Tickets field catalog to this API user, or pass excludeStatusIds)`,
1335
+ { code: "STATUS_SEMANTICS_UNRESOLVED", category: "validation", operation }
1336
+ );
1337
+ }
1338
+ const closedIds = [ASSUMED_CLOSED_STATUS_ID];
1333
1339
  return {
1334
1340
  picklist: [],
1335
1341
  closedIds,
@@ -1338,7 +1344,11 @@ function assumed(excludeStatusIds) {
1338
1344
  note: `closed = status ${closedIds.join(", ")} \u2014 ASSUMED, not read from the tenant: the Tickets status picklist could not be resolved, so the historical id ${ASSUMED_CLOSED_STATUS_ID} stands in (fix: expose the Tickets field catalog to this API user, or pass excludeStatusIds)`
1339
1345
  };
1340
1346
  }
1341
- async function resolveTicketStatusSemantics(http, opts = {}) {
1347
+ async function resolveTicketStatusSemantics(http, opts = {}, operation = OP) {
1348
+ if (opts.allowAssumed !== void 0 && typeof opts.allowAssumed !== "boolean") {
1349
+ throw new AutotaskConfigError(`${operation}: allowAssumed must be a boolean (got ${JSON.stringify(opts.allowAssumed)})`, { operation });
1350
+ }
1351
+ const allowAssumed = opts.allowAssumed !== false;
1342
1352
  if (opts.excludeStatusIds !== void 0) {
1343
1353
  const closedIds2 = [...new Set(opts.excludeStatusIds.map((id) => Number(id)))];
1344
1354
  if (closedIds2.length === 0 || closedIds2.some((id) => !Number.isSafeInteger(id) || id < 1)) {
@@ -1351,11 +1361,11 @@ async function resolveTicketStatusSemantics(http, opts = {}) {
1351
1361
  fields = await readFields(http, opts.fresh === true);
1352
1362
  } catch (e) {
1353
1363
  if (e instanceof AutotaskError && e.code === "ABORTED") throw e;
1354
- return assumed();
1364
+ return assumed(allowAssumed, operation);
1355
1365
  }
1356
1366
  const picklist = picklistOf(fields);
1357
1367
  const closedIds = picklist.filter((v) => CLOSED_STATUS_LABELS.includes(v.label.trim().toLowerCase())).map((v) => v.id);
1358
- if (closedIds.length === 0) return assumed();
1368
+ if (closedIds.length === 0) return assumed(allowAssumed, operation);
1359
1369
  const labels = picklist.filter((v) => closedIds.includes(v.id)).map((v) => `${v.id} ${v.label}`).join(", ");
1360
1370
  return {
1361
1371
  picklist,
@@ -1440,8 +1450,8 @@ async function scopedCompanyQuery(http, path, companyID, limit, includeFields) {
1440
1450
  });
1441
1451
  return project(unwrapItems(res).items, includeFields);
1442
1452
  }
1443
- async function readOpenTickets(http, companyID, ticketLimit, includeFields) {
1444
- const semantics = await resolveTicketStatusSemantics(http);
1453
+ async function readOpenTickets(http, companyID, ticketLimit, includeFields, status = {}) {
1454
+ const semantics = await resolveTicketStatusSemantics(http, status, "companies.fullProfile");
1445
1455
  const openLeaf = openStatusFilter(semantics.closedIds);
1446
1456
  const openRows = await (async () => {
1447
1457
  const res = await http.request({
@@ -1541,7 +1551,10 @@ async function fullProfile(resource, id, opts = {}, http) {
1541
1551
  const contacts = await scopedCompanyQuery(http, "/V1.0/Contacts/query", companyID, contactLimit, proj.contacts);
1542
1552
  const notes = await scopedCompanyQuery(http, "/V1.0/CompanyNotes/query", companyID, noteLimit, proj.notes);
1543
1553
  const projects = await scopedCompanyQuery(http, "/V1.0/Projects/query", companyID, projectLimit, proj.projects);
1544
- const openTickets = await readOpenTickets(http, companyID, ticketLimit, proj.openTickets);
1554
+ const openTickets = await readOpenTickets(http, companyID, ticketLimit, proj.openTickets, {
1555
+ ...opts.excludeStatusIds === void 0 ? {} : { excludeStatusIds: opts.excludeStatusIds },
1556
+ ...opts.allowAssumed === void 0 ? {} : { allowAssumed: opts.allowAssumed }
1557
+ });
1545
1558
  const result = {
1546
1559
  company,
1547
1560
  locations: { items: locations, capped: locations.length >= locLimit },
@@ -2073,9 +2086,9 @@ var CompaniesResource = class extends BaseResource {
2073
2086
  async count(params) {
2074
2087
  return this.countGlobal(params);
2075
2088
  }
2076
- /** Get one record by id (item envelope; item: null → NotFoundError). */
2077
- async get(id) {
2078
- return this.getGlobal(id);
2089
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
2090
+ async get(id, opts = {}) {
2091
+ return this.getGlobal(id, opts?.fresh === true);
2079
2092
  }
2080
2093
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
2081
2094
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -2185,8 +2198,8 @@ var CompanyAlertsResource = class extends BaseResource {
2185
2198
  return this.countGlobal(params);
2186
2199
  }
2187
2200
  /** Get one record by parent + id (/V1.0/Companies/{parentId}/Alerts/{id} — vendor item envelope; item: null → NotFoundError). */
2188
- async get(parentId, id) {
2189
- return this.getScopedRaw(parentId, id);
2201
+ async get(parentId, id, opts = {}) {
2202
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
2190
2203
  }
2191
2204
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
2192
2205
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -2252,8 +2265,8 @@ var CompanyLocationsResource = class extends BaseResource {
2252
2265
  return this.countGlobal(params);
2253
2266
  }
2254
2267
  /** Get one record by parent + id (/V1.0/Companies/{parentId}/Locations/{id} — vendor item envelope; item: null → NotFoundError). */
2255
- async get(parentId, id) {
2256
- return this.getScopedRaw(parentId, id);
2268
+ async get(parentId, id, opts = {}) {
2269
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
2257
2270
  }
2258
2271
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
2259
2272
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -2324,8 +2337,8 @@ var CompanyNotesResource = class extends BaseResource {
2324
2337
  return this.countGlobal(params);
2325
2338
  }
2326
2339
  /** Get one record by parent + id (/V1.0/Companies/{parentId}/Notes/{id} — vendor item envelope; item: null → NotFoundError). */
2327
- async get(parentId, id) {
2328
- return this.getScopedRaw(parentId, id);
2340
+ async get(parentId, id, opts = {}) {
2341
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
2329
2342
  }
2330
2343
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
2331
2344
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -2387,8 +2400,8 @@ var CompanySiteConfigurationsResource = class extends BaseResource {
2387
2400
  return this.countGlobal(params);
2388
2401
  }
2389
2402
  /** Get one record by parent + id (/V1.0/Companies/{parentId}/SiteConfigurations/{id} — vendor item envelope; item: null → NotFoundError). */
2390
- async get(parentId, id) {
2391
- return this.getScopedRaw(parentId, id);
2403
+ async get(parentId, id, opts = {}) {
2404
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
2392
2405
  }
2393
2406
  /** Update a record under the parent (PATCH on the collection — swagger documents put+patch there;
2394
2407
  * the vendor keys the record by the id in the body; OperationResultModel → { id}). `dryRun: true` returns
@@ -2439,9 +2452,9 @@ var CompanyWebhooksResource = class extends BaseResource {
2439
2452
  async count(params) {
2440
2453
  return this.countGlobal(params);
2441
2454
  }
2442
- /** Get one record by id (item envelope; item: null → NotFoundError). */
2443
- async get(id) {
2444
- return this.getGlobal(id);
2455
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
2456
+ async get(id, opts = {}) {
2457
+ return this.getGlobal(id, opts?.fresh === true);
2445
2458
  }
2446
2459
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
2447
2460
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -2514,8 +2527,8 @@ var ConfigurationItemBillingProductAssociationsResource = class extends BaseReso
2514
2527
  return this.countGlobal(params);
2515
2528
  }
2516
2529
  /** Get one record by parent + id (/V1.0/ConfigurationItems/{parentId}/BillingProductAssociations/{id} — vendor item envelope; item: null → NotFoundError). */
2517
- async get(parentId, id) {
2518
- return this.getScopedRaw(parentId, id);
2530
+ async get(parentId, id, opts = {}) {
2531
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
2519
2532
  }
2520
2533
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
2521
2534
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -2579,9 +2592,9 @@ var ConfigurationItemCategoriesResource = class extends BaseResource {
2579
2592
  async count(params) {
2580
2593
  return this.countGlobal(params);
2581
2594
  }
2582
- /** Get one record by id (item envelope; item: null → NotFoundError). */
2583
- async get(id) {
2584
- return this.getGlobal(id);
2595
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
2596
+ async get(id, opts = {}) {
2597
+ return this.getGlobal(id, opts?.fresh === true);
2585
2598
  }
2586
2599
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
2587
2600
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -2647,8 +2660,8 @@ var ConfigurationItemCategoryUdfAssociationsResource = class extends BaseResourc
2647
2660
  return this.countGlobal(params);
2648
2661
  }
2649
2662
  /** Get one record by parent + id (/V1.0/ConfigurationItemCategories/{parentId}/UdfAssociations/{id} — vendor item envelope; item: null → NotFoundError). */
2650
- async get(parentId, id) {
2651
- return this.getScopedRaw(parentId, id);
2663
+ async get(parentId, id, opts = {}) {
2664
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
2652
2665
  }
2653
2666
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
2654
2667
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -2713,8 +2726,8 @@ var ConfigurationItemDnsRecordsResource = class extends BaseResource {
2713
2726
  return this.countGlobal(params);
2714
2727
  }
2715
2728
  /** Get one record by parent + id (/V1.0/ConfigurationItems/{parentId}/DnsRecords/{id} — vendor item envelope; item: null → NotFoundError). */
2716
- async get(parentId, id) {
2717
- return this.getScopedRaw(parentId, id);
2729
+ async get(parentId, id, opts = {}) {
2730
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
2718
2731
  }
2719
2732
  /** Delete a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the pinned
2720
2733
  * envelope and never issues the delete. */
@@ -2762,8 +2775,8 @@ var ConfigurationItemNotesResource = class extends BaseResource {
2762
2775
  return this.countGlobal(params);
2763
2776
  }
2764
2777
  /** Get one record by parent + id (/V1.0/ConfigurationItems/{parentId}/Notes/{id} — vendor item envelope; item: null → NotFoundError). */
2765
- async get(parentId, id) {
2766
- return this.getScopedRaw(parentId, id);
2778
+ async get(parentId, id, opts = {}) {
2779
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
2767
2780
  }
2768
2781
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
2769
2782
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -2821,8 +2834,8 @@ var ConfigurationItemRelatedItemsResource = class extends BaseResource {
2821
2834
  return this.countGlobal(params);
2822
2835
  }
2823
2836
  /** Get one record by parent + id (/V1.0/ConfigurationItems/{parentId}/RelatedItems/{id} — vendor item envelope; item: null → NotFoundError). */
2824
- async get(parentId, id) {
2825
- return this.getScopedRaw(parentId, id);
2837
+ async get(parentId, id, opts = {}) {
2838
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
2826
2839
  }
2827
2840
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
2828
2841
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -3040,9 +3053,9 @@ var ConfigurationItemsResource = class extends BaseResource {
3040
3053
  async count(params) {
3041
3054
  return this.countGlobal(params);
3042
3055
  }
3043
- /** Get one record by id (item envelope; item: null → NotFoundError). */
3044
- async get(id) {
3045
- return this.getGlobal(id);
3056
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
3057
+ async get(id, opts = {}) {
3058
+ return this.getGlobal(id, opts?.fresh === true);
3046
3059
  }
3047
3060
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
3048
3061
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -3131,8 +3144,8 @@ var ConfigurationItemSslSubjectAlternativeNamesResource = class extends BaseReso
3131
3144
  return this.countGlobal(params);
3132
3145
  }
3133
3146
  /** Get one record by parent + id (/V1.0/ConfigurationItems/{parentId}/SslSubjectAlternativeNames/{id} — vendor item envelope; item: null → NotFoundError). */
3134
- async get(parentId, id) {
3135
- return this.getScopedRaw(parentId, id);
3147
+ async get(parentId, id, opts = {}) {
3148
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
3136
3149
  }
3137
3150
  /** Update a record under the parent (PATCH on the collection — swagger documents put+patch there;
3138
3151
  * the vendor keys the record by the id in the body; OperationResultModel → { id}). `dryRun: true` returns
@@ -3192,9 +3205,9 @@ var ConfigurationItemTypesResource = class extends BaseResource {
3192
3205
  async count(params) {
3193
3206
  return this.countGlobal(params);
3194
3207
  }
3195
- /** Get one record by id (item envelope; item: null → NotFoundError). */
3196
- async get(id) {
3197
- return this.getGlobal(id);
3208
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
3209
+ async get(id, opts = {}) {
3210
+ return this.getGlobal(id, opts?.fresh === true);
3198
3211
  }
3199
3212
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
3200
3213
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -3268,9 +3281,9 @@ var ConfigurationItemWebhooksResource = class extends BaseResource {
3268
3281
  async count(params) {
3269
3282
  return this.countGlobal(params);
3270
3283
  }
3271
- /** Get one record by id (item envelope; item: null → NotFoundError). */
3272
- async get(id) {
3273
- return this.getGlobal(id);
3284
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
3285
+ async get(id, opts = {}) {
3286
+ return this.getGlobal(id, opts?.fresh === true);
3274
3287
  }
3275
3288
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
3276
3289
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -3339,9 +3352,9 @@ var ContactGroupContactsResource = class extends BaseResource {
3339
3352
  async count(params) {
3340
3353
  return this.countGlobal(params);
3341
3354
  }
3342
- /** Get one record by id (item envelope; item: null → NotFoundError). */
3343
- async get(id) {
3344
- return this.getGlobal(id);
3355
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
3356
+ async get(id, opts = {}) {
3357
+ return this.getGlobal(id, opts?.fresh === true);
3345
3358
  }
3346
3359
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
3347
3360
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -3396,9 +3409,9 @@ var ContactGroupsResource = class extends BaseResource {
3396
3409
  async count(params) {
3397
3410
  return this.countGlobal(params);
3398
3411
  }
3399
- /** Get one record by id (item envelope; item: null → NotFoundError). */
3400
- async get(id) {
3401
- return this.getGlobal(id);
3412
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
3413
+ async get(id, opts = {}) {
3414
+ return this.getGlobal(id, opts?.fresh === true);
3402
3415
  }
3403
3416
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
3404
3417
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -3721,8 +3734,8 @@ var ContactsResource = class extends BaseResource {
3721
3734
  return this.countGlobal(params);
3722
3735
  }
3723
3736
  /** Get one record by parent + id (/V1.0/Companies/{parentId}/Contacts/{id} — vendor item envelope; item: null → NotFoundError). */
3724
- async get(parentId, id) {
3725
- return this.getScopedRaw(parentId, id);
3737
+ async get(parentId, id, opts = {}) {
3738
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
3726
3739
  }
3727
3740
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
3728
3741
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -3812,9 +3825,9 @@ var ContactWebhooksResource = class extends BaseResource {
3812
3825
  async count(params) {
3813
3826
  return this.countGlobal(params);
3814
3827
  }
3815
- /** Get one record by id (item envelope; item: null → NotFoundError). */
3816
- async get(id) {
3817
- return this.getGlobal(id);
3828
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
3829
+ async get(id, opts = {}) {
3830
+ return this.getGlobal(id, opts?.fresh === true);
3818
3831
  }
3819
3832
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
3820
3833
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -3887,8 +3900,8 @@ var ContractBillingRulesResource = class extends BaseResource {
3887
3900
  return this.countGlobal(params);
3888
3901
  }
3889
3902
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/BillingRules/{id} — vendor item envelope; item: null → NotFoundError). */
3890
- async get(parentId, id) {
3891
- return this.getScopedRaw(parentId, id);
3903
+ async get(parentId, id, opts = {}) {
3904
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
3892
3905
  }
3893
3906
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
3894
3907
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -3953,8 +3966,8 @@ var ContractBlockHourFactorsResource = class extends BaseResource {
3953
3966
  return this.countGlobal(params);
3954
3967
  }
3955
3968
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/BlockHourFactors/{id} — vendor item envelope; item: null → NotFoundError). */
3956
- async get(parentId, id) {
3957
- return this.getScopedRaw(parentId, id);
3969
+ async get(parentId, id, opts = {}) {
3970
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
3958
3971
  }
3959
3972
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
3960
3973
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -4012,8 +4025,8 @@ var ContractBlocksResource = class extends BaseResource {
4012
4025
  return this.countGlobal(params);
4013
4026
  }
4014
4027
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/Blocks/{id} — vendor item envelope; item: null → NotFoundError). */
4015
- async get(parentId, id) {
4016
- return this.getScopedRaw(parentId, id);
4028
+ async get(parentId, id, opts = {}) {
4029
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
4017
4030
  }
4018
4031
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
4019
4032
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -4072,8 +4085,8 @@ var ContractChargesResource = class extends BaseResource {
4072
4085
  return this.countGlobal(params);
4073
4086
  }
4074
4087
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/Charges/{id} — vendor item envelope; item: null → NotFoundError). */
4075
- async get(parentId, id) {
4076
- return this.getScopedRaw(parentId, id);
4088
+ async get(parentId, id, opts = {}) {
4089
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
4077
4090
  }
4078
4091
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
4079
4092
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -4142,8 +4155,8 @@ var ContractExclusionBillingCodesResource = class extends BaseResource {
4142
4155
  return this.countGlobal(params);
4143
4156
  }
4144
4157
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/ExclusionBillingCodes/{id} — vendor item envelope; item: null → NotFoundError). */
4145
- async get(parentId, id) {
4146
- return this.getScopedRaw(parentId, id);
4158
+ async get(parentId, id, opts = {}) {
4159
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
4147
4160
  }
4148
4161
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
4149
4162
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -4199,8 +4212,8 @@ var ContractExclusionRolesResource = class extends BaseResource {
4199
4212
  return this.countGlobal(params);
4200
4213
  }
4201
4214
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/ExclusionRoles/{id} — vendor item envelope; item: null → NotFoundError). */
4202
- async get(parentId, id) {
4203
- return this.getScopedRaw(parentId, id);
4215
+ async get(parentId, id, opts = {}) {
4216
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
4204
4217
  }
4205
4218
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
4206
4219
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -4256,8 +4269,8 @@ var ContractExclusionSetExcludedRolesResource = class extends BaseResource {
4256
4269
  return this.countGlobal(params);
4257
4270
  }
4258
4271
  /** Get one record by parent + id (/V1.0/ContractExclusionSets/{parentId}/ExcludedRoles/{id} — vendor item envelope; item: null → NotFoundError). */
4259
- async get(parentId, id) {
4260
- return this.getScopedRaw(parentId, id);
4272
+ async get(parentId, id, opts = {}) {
4273
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
4261
4274
  }
4262
4275
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
4263
4276
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -4313,8 +4326,8 @@ var ContractExclusionSetExcludedWorkTypesResource = class extends BaseResource {
4313
4326
  return this.countGlobal(params);
4314
4327
  }
4315
4328
  /** Get one record by parent + id (/V1.0/ContractExclusionSets/{parentId}/ExcludedWorkTypes/{id} — vendor item envelope; item: null → NotFoundError). */
4316
- async get(parentId, id) {
4317
- return this.getScopedRaw(parentId, id);
4329
+ async get(parentId, id, opts = {}) {
4330
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
4318
4331
  }
4319
4332
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
4320
4333
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -4369,9 +4382,9 @@ var ContractExclusionSetsResource = class extends BaseResource {
4369
4382
  async count(params) {
4370
4383
  return this.countGlobal(params);
4371
4384
  }
4372
- /** Get one record by id (item envelope; item: null → NotFoundError). */
4373
- async get(id) {
4374
- return this.getGlobal(id);
4385
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
4386
+ async get(id, opts = {}) {
4387
+ return this.getGlobal(id, opts?.fresh === true);
4375
4388
  }
4376
4389
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
4377
4390
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -4444,8 +4457,8 @@ var ContractMilestonesResource = class extends BaseResource {
4444
4457
  return this.countGlobal(params);
4445
4458
  }
4446
4459
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/Milestones/{id} — vendor item envelope; item: null → NotFoundError). */
4447
- async get(parentId, id) {
4448
- return this.getScopedRaw(parentId, id);
4460
+ async get(parentId, id, opts = {}) {
4461
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
4449
4462
  }
4450
4463
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
4451
4464
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -4503,8 +4516,8 @@ var ContractNotesResource = class extends BaseResource {
4503
4516
  return this.countGlobal(params);
4504
4517
  }
4505
4518
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/Notes/{id} — vendor item envelope; item: null → NotFoundError). */
4506
- async get(parentId, id) {
4507
- return this.getScopedRaw(parentId, id);
4519
+ async get(parentId, id, opts = {}) {
4520
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
4508
4521
  }
4509
4522
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
4510
4523
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -4562,8 +4575,8 @@ var ContractRatesResource = class extends BaseResource {
4562
4575
  return this.countGlobal(params);
4563
4576
  }
4564
4577
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/Rates/{id} — vendor item envelope; item: null → NotFoundError). */
4565
- async get(parentId, id) {
4566
- return this.getScopedRaw(parentId, id);
4578
+ async get(parentId, id, opts = {}) {
4579
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
4567
4580
  }
4568
4581
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
4569
4582
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -4621,8 +4634,8 @@ var ContractRetainersResource = class extends BaseResource {
4621
4634
  return this.countGlobal(params);
4622
4635
  }
4623
4636
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/Retainers/{id} — vendor item envelope; item: null → NotFoundError). */
4624
- async get(parentId, id) {
4625
- return this.getScopedRaw(parentId, id);
4637
+ async get(parentId, id, opts = {}) {
4638
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
4626
4639
  }
4627
4640
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
4628
4641
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -4680,8 +4693,8 @@ var ContractRoleCostsResource = class extends BaseResource {
4680
4693
  return this.countGlobal(params);
4681
4694
  }
4682
4695
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/RoleCosts/{id} — vendor item envelope; item: null → NotFoundError). */
4683
- async get(parentId, id) {
4684
- return this.getScopedRaw(parentId, id);
4696
+ async get(parentId, id, opts = {}) {
4697
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
4685
4698
  }
4686
4699
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
4687
4700
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -4807,8 +4820,8 @@ var ContractServiceBundlesResource = class extends BaseResource {
4807
4820
  return this.countGlobal(params);
4808
4821
  }
4809
4822
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/ServiceBundles/{id} — vendor item envelope; item: null → NotFoundError). */
4810
- async get(parentId, id) {
4811
- return this.getScopedRaw(parentId, id);
4823
+ async get(parentId, id, opts = {}) {
4824
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
4812
4825
  }
4813
4826
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
4814
4827
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -4866,8 +4879,8 @@ var ContractServiceBundleUnitsResource = class extends BaseResource {
4866
4879
  return this.countGlobal(params);
4867
4880
  }
4868
4881
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/ServiceBundleUnits/{id} — vendor item envelope; item: null → NotFoundError). */
4869
- async get(parentId, id) {
4870
- return this.getScopedRaw(parentId, id);
4882
+ async get(parentId, id, opts = {}) {
4883
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
4871
4884
  }
4872
4885
  /** Resolve a ContractServiceBundleUnit from a numeric id (or, where the vendor indexes a primary text field,
4873
4886
  * from a numeric id — this resource has no primary text field). A numeric id miss throws NOT_FOUND;
@@ -4908,8 +4921,8 @@ var ContractServicesResource = class extends BaseResource {
4908
4921
  return this.countGlobal(params);
4909
4922
  }
4910
4923
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/Services/{id} — vendor item envelope; item: null → NotFoundError). */
4911
- async get(parentId, id) {
4912
- return this.getScopedRaw(parentId, id);
4924
+ async get(parentId, id, opts = {}) {
4925
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
4913
4926
  }
4914
4927
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
4915
4928
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -4967,8 +4980,8 @@ var ContractServiceUnitsResource = class extends BaseResource {
4967
4980
  return this.countGlobal(params);
4968
4981
  }
4969
4982
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/ServiceUnits/{id} — vendor item envelope; item: null → NotFoundError). */
4970
- async get(parentId, id) {
4971
- return this.getScopedRaw(parentId, id);
4983
+ async get(parentId, id, opts = {}) {
4984
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
4972
4985
  }
4973
4986
  /** Resolve a ContractServiceUnit from a numeric id (or, where the vendor indexes a primary text field,
4974
4987
  * from a numeric id — this resource has no primary text field). A numeric id miss throws NOT_FOUND;
@@ -6474,9 +6487,9 @@ var ContractsResource = class extends BaseResource {
6474
6487
  async count(params) {
6475
6488
  return this.countGlobal(params);
6476
6489
  }
6477
- /** Get one record by id (item envelope; item: null → NotFoundError). */
6478
- async get(id) {
6479
- return this.getGlobal(id);
6490
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
6491
+ async get(id, opts = {}) {
6492
+ return this.getGlobal(id, opts?.fresh === true);
6480
6493
  }
6481
6494
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
6482
6495
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -6550,8 +6563,8 @@ var ContractTicketPurchasesResource = class extends BaseResource {
6550
6563
  return this.countGlobal(params);
6551
6564
  }
6552
6565
  /** Get one record by parent + id (/V1.0/Contracts/{parentId}/TicketPurchases/{id} — vendor item envelope; item: null → NotFoundError). */
6553
- async get(parentId, id) {
6554
- return this.getScopedRaw(parentId, id);
6566
+ async get(parentId, id, opts = {}) {
6567
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
6555
6568
  }
6556
6569
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
6557
6570
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -6608,9 +6621,9 @@ var CountriesResource = class extends BaseResource {
6608
6621
  async count(params) {
6609
6622
  return this.countGlobal(params);
6610
6623
  }
6611
- /** Get one record by id (item envelope; item: null → NotFoundError). */
6612
- async get(id) {
6613
- return this.getGlobal(id);
6624
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
6625
+ async get(id, opts = {}) {
6626
+ return this.getGlobal(id, opts?.fresh === true);
6614
6627
  }
6615
6628
  /** Update a record (PUT on the COLLECTION — the vendored spec's item path is GET-only; the vendor
6616
6629
  * keys the record by the id in the body). The vendor validates the FULL model on this route (V2), so a
@@ -6665,9 +6678,9 @@ var CurrenciesResource = class extends BaseResource {
6665
6678
  async count(params) {
6666
6679
  return this.countGlobal(params);
6667
6680
  }
6668
- /** Get one record by id (item envelope; item: null → NotFoundError). */
6669
- async get(id) {
6670
- return this.getGlobal(id);
6681
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
6682
+ async get(id, opts = {}) {
6683
+ return this.getGlobal(id, opts?.fresh === true);
6671
6684
  }
6672
6685
  /** Resolve a Currency from a numeric id (or, where the vendor indexes a primary text field,
6673
6686
  * from an exact match on name). A numeric id miss throws NOT_FOUND; a complete
@@ -6711,9 +6724,9 @@ var DepartmentsResource = class extends BaseResource {
6711
6724
  async count(params) {
6712
6725
  return this.countGlobal(params);
6713
6726
  }
6714
- /** Get one record by id (item envelope; item: null → NotFoundError). */
6715
- async get(id) {
6716
- return this.getGlobal(id);
6727
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
6728
+ async get(id, opts = {}) {
6729
+ return this.getGlobal(id, opts?.fresh === true);
6717
6730
  }
6718
6731
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
6719
6732
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -6778,9 +6791,9 @@ var DomainRegistrarsResource = class extends BaseResource {
6778
6791
  async count(params) {
6779
6792
  return this.countGlobal(params);
6780
6793
  }
6781
- /** Get one record by id (item envelope; item: null → NotFoundError). */
6782
- async get(id) {
6783
- return this.getGlobal(id);
6794
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
6795
+ async get(id, opts = {}) {
6796
+ return this.getGlobal(id, opts?.fresh === true);
6784
6797
  }
6785
6798
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
6786
6799
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -6863,8 +6876,8 @@ var ExpenseItemAttachmentsResource = class extends BaseResource {
6863
6876
  return this.countGlobal(params);
6864
6877
  }
6865
6878
  /** Get one record by parent + id (/V1.0/ExpenseItems/{parentId}/Attachments/{id} — vendor answers the model directly). */
6866
- async get(parentId, id) {
6867
- return this.getScopedModel(parentId, id);
6879
+ async get(parentId, id, opts = {}) {
6880
+ return this.getScopedModel(parentId, id, opts?.fresh === true);
6868
6881
  }
6869
6882
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
6870
6883
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -6923,9 +6936,9 @@ var ExpenseItemsResource = class extends BaseResource {
6923
6936
  async count(params) {
6924
6937
  return this.countGlobal(params);
6925
6938
  }
6926
- /** Get one record by id (item envelope; item: null → NotFoundError). */
6927
- async get(id) {
6928
- return this.getGlobal(id);
6939
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
6940
+ async get(id, opts = {}) {
6941
+ return this.getGlobal(id, opts?.fresh === true);
6929
6942
  }
6930
6943
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
6931
6944
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -6982,9 +6995,9 @@ var ExpenseReportsResource = class extends BaseResource {
6982
6995
  async count(params) {
6983
6996
  return this.countGlobal(params);
6984
6997
  }
6985
- /** Get one record by id (item envelope; item: null → NotFoundError). */
6986
- async get(id) {
6987
- return this.getGlobal(id);
6998
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
6999
+ async get(id, opts = {}) {
7000
+ return this.getGlobal(id, opts?.fresh === true);
6988
7001
  }
6989
7002
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
6990
7003
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -7048,9 +7061,9 @@ var HolidaySetsResource = class extends BaseResource {
7048
7061
  async count(params) {
7049
7062
  return this.countGlobal(params);
7050
7063
  }
7051
- /** Get one record by id (item envelope; item: null → NotFoundError). */
7052
- async get(id) {
7053
- return this.getGlobal(id);
7064
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
7065
+ async get(id, opts = {}) {
7066
+ return this.getGlobal(id, opts?.fresh === true);
7054
7067
  }
7055
7068
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
7056
7069
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -7119,8 +7132,8 @@ var HolidaysResource = class extends BaseResource {
7119
7132
  return this.countGlobal(params);
7120
7133
  }
7121
7134
  /** Get one record by parent + id (/V1.0/HolidaySets/{parentId}/Holidays/{id} — vendor item envelope; item: null → NotFoundError). */
7122
- async get(parentId, id) {
7123
- return this.getScopedRaw(parentId, id);
7135
+ async get(parentId, id, opts = {}) {
7136
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
7124
7137
  }
7125
7138
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
7126
7139
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -7213,9 +7226,9 @@ var InventoryProductsResource = class extends BaseResource {
7213
7226
  async count(params) {
7214
7227
  return this.countGlobal(params);
7215
7228
  }
7216
- /** Get one record by id (item envelope; item: null → NotFoundError). */
7217
- async get(id) {
7218
- return this.getGlobal(id);
7229
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
7230
+ async get(id, opts = {}) {
7231
+ return this.getGlobal(id, opts?.fresh === true);
7219
7232
  }
7220
7233
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
7221
7234
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -7349,9 +7362,9 @@ var InvoicesResource = class extends BaseResource {
7349
7362
  async count(params) {
7350
7363
  return this.countGlobal(params);
7351
7364
  }
7352
- /** Get one record by id (item envelope; item: null → NotFoundError). */
7353
- async get(id) {
7354
- return this.getGlobal(id);
7365
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
7366
+ async get(id, opts = {}) {
7367
+ return this.getGlobal(id, opts?.fresh === true);
7355
7368
  }
7356
7369
  /** Update a record (PUT on the COLLECTION — the vendored spec's item path is GET-only; the vendor
7357
7370
  * keys the record by the id in the body). The vendor validates the FULL model on this route (V2), so a
@@ -7461,9 +7474,9 @@ var InvoiceTemplatesResource = class extends BaseResource {
7461
7474
  async count(params) {
7462
7475
  return this.countGlobal(params);
7463
7476
  }
7464
- /** Get one record by id (item envelope; item: null → NotFoundError). */
7465
- async get(id) {
7466
- return this.getGlobal(id);
7477
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
7478
+ async get(id, opts = {}) {
7479
+ return this.getGlobal(id, opts?.fresh === true);
7467
7480
  }
7468
7481
  };
7469
7482
 
@@ -7505,9 +7518,9 @@ var NotificationHistoryResource = class extends BaseResource {
7505
7518
  async count(params) {
7506
7519
  return this.countGlobal(params);
7507
7520
  }
7508
- /** Get one record by id (item envelope; item: null → NotFoundError). */
7509
- async get(id) {
7510
- return this.getGlobal(id);
7521
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
7522
+ async get(id, opts = {}) {
7523
+ return this.getGlobal(id, opts?.fresh === true);
7511
7524
  }
7512
7525
  /** Resolve a NotificationHistory from a numeric id (or, where the vendor indexes a primary text field,
7513
7526
  * from a numeric id — this resource has no primary text field). A numeric id miss throws NOT_FOUND;
@@ -7546,9 +7559,9 @@ var OpportunitiesResource = class extends BaseResource {
7546
7559
  async count(params) {
7547
7560
  return this.countGlobal(params);
7548
7561
  }
7549
- /** Get one record by id (item envelope; item: null → NotFoundError). */
7550
- async get(id) {
7551
- return this.getGlobal(id);
7562
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
7563
+ async get(id, opts = {}) {
7564
+ return this.getGlobal(id, opts?.fresh === true);
7552
7565
  }
7553
7566
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
7554
7567
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -7611,8 +7624,8 @@ var OpportunityAttachmentsResource = class extends BaseResource {
7611
7624
  return this.countGlobal(params);
7612
7625
  }
7613
7626
  /** Get one record by parent + id (/V1.0/Opportunities/{parentId}/Attachments/{id} — vendor answers the model directly). */
7614
- async get(parentId, id) {
7615
- return this.getScopedModel(parentId, id);
7627
+ async get(parentId, id, opts = {}) {
7628
+ return this.getScopedModel(parentId, id, opts?.fresh === true);
7616
7629
  }
7617
7630
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
7618
7631
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -7671,9 +7684,9 @@ var OpportunityCategoriesResource = class extends BaseResource {
7671
7684
  async count(params) {
7672
7685
  return this.countGlobal(params);
7673
7686
  }
7674
- /** Get one record by id (item envelope; item: null → NotFoundError). */
7675
- async get(id) {
7676
- return this.getGlobal(id);
7687
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
7688
+ async get(id, opts = {}) {
7689
+ return this.getGlobal(id, opts?.fresh === true);
7677
7690
  }
7678
7691
  /** Update a record (PUT on the COLLECTION — the vendored spec's item path is GET-only; the vendor
7679
7692
  * keys the record by the id in the body). The vendor validates the FULL model on this route (V2), so a
@@ -7729,9 +7742,9 @@ var OrganizationalLevel1sResource = class extends BaseResource {
7729
7742
  async count(params) {
7730
7743
  return this.countGlobal(params);
7731
7744
  }
7732
- /** Get one record by id (item envelope; item: null → NotFoundError). */
7733
- async get(id) {
7734
- return this.getGlobal(id);
7745
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
7746
+ async get(id, opts = {}) {
7747
+ return this.getGlobal(id, opts?.fresh === true);
7735
7748
  }
7736
7749
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
7737
7750
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -7780,9 +7793,9 @@ var OrganizationalLevel2sResource = class extends BaseResource {
7780
7793
  async count(params) {
7781
7794
  return this.countGlobal(params);
7782
7795
  }
7783
- /** Get one record by id (item envelope; item: null → NotFoundError). */
7784
- async get(id) {
7785
- return this.getGlobal(id);
7796
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
7797
+ async get(id, opts = {}) {
7798
+ return this.getGlobal(id, opts?.fresh === true);
7786
7799
  }
7787
7800
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
7788
7801
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -7831,9 +7844,9 @@ var OrganizationalLevelAssociationsResource = class extends BaseResource {
7831
7844
  async count(params) {
7832
7845
  return this.countGlobal(params);
7833
7846
  }
7834
- /** Get one record by id (item envelope; item: null → NotFoundError). */
7835
- async get(id) {
7836
- return this.getGlobal(id);
7847
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
7848
+ async get(id, opts = {}) {
7849
+ return this.getGlobal(id, opts?.fresh === true);
7837
7850
  }
7838
7851
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
7839
7852
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -7884,8 +7897,8 @@ var PhasesResource = class extends BaseResource {
7884
7897
  return this.countGlobal(params);
7885
7898
  }
7886
7899
  /** Get one record by parent + id (/V1.0/Projects/{parentId}/Phases/{id} — vendor item envelope; item: null → NotFoundError). */
7887
- async get(parentId, id) {
7888
- return this.getScopedRaw(parentId, id);
7900
+ async get(parentId, id, opts = {}) {
7901
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
7889
7902
  }
7890
7903
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
7891
7904
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -7942,9 +7955,9 @@ var ProductsResource = class extends BaseResource {
7942
7955
  async count(params) {
7943
7956
  return this.countGlobal(params);
7944
7957
  }
7945
- /** Get one record by id (item envelope; item: null → NotFoundError). */
7946
- async get(id) {
7947
- return this.getGlobal(id);
7958
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
7959
+ async get(id, opts = {}) {
7960
+ return this.getGlobal(id, opts?.fresh === true);
7948
7961
  }
7949
7962
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
7950
7963
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -8010,8 +8023,8 @@ var ProductVendorsResource = class extends BaseResource {
8010
8023
  return this.countGlobal(params);
8011
8024
  }
8012
8025
  /** Get one record by parent + id (/V1.0/Products/{parentId}/Vendors/{id} — vendor item envelope; item: null → NotFoundError). */
8013
- async get(parentId, id) {
8014
- return this.getScopedRaw(parentId, id);
8026
+ async get(parentId, id, opts = {}) {
8027
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
8015
8028
  }
8016
8029
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
8017
8030
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -8070,8 +8083,8 @@ var ProjectChargesResource = class extends BaseResource {
8070
8083
  return this.countGlobal(params);
8071
8084
  }
8072
8085
  /** Get one record by parent + id (/V1.0/Projects/{parentId}/Charges/{id} — vendor item envelope; item: null → NotFoundError). */
8073
- async get(parentId, id) {
8074
- return this.getScopedRaw(parentId, id);
8086
+ async get(parentId, id, opts = {}) {
8087
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
8075
8088
  }
8076
8089
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
8077
8090
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -8140,8 +8153,8 @@ var ProjectNotesResource = class extends BaseResource {
8140
8153
  return this.countGlobal(params);
8141
8154
  }
8142
8155
  /** Get one record by parent + id (/V1.0/Projects/{parentId}/Notes/{id} — vendor item envelope; item: null → NotFoundError). */
8143
- async get(parentId, id) {
8144
- return this.getScopedRaw(parentId, id);
8156
+ async get(parentId, id, opts = {}) {
8157
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
8145
8158
  }
8146
8159
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
8147
8160
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -8198,9 +8211,9 @@ var ProjectsResource = class extends BaseResource {
8198
8211
  async count(params) {
8199
8212
  return this.countGlobal(params);
8200
8213
  }
8201
- /** Get one record by id (item envelope; item: null → NotFoundError). */
8202
- async get(id) {
8203
- return this.getGlobal(id);
8214
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
8215
+ async get(id, opts = {}) {
8216
+ return this.getGlobal(id, opts?.fresh === true);
8204
8217
  }
8205
8218
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
8206
8219
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -8289,9 +8302,9 @@ var PurchaseApprovalsResource = class extends BaseResource {
8289
8302
  async count(params) {
8290
8303
  return this.countGlobal(params);
8291
8304
  }
8292
- /** Get one record by id (item envelope; item: null → NotFoundError). */
8293
- async get(id) {
8294
- return this.getGlobal(id);
8305
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
8306
+ async get(id, opts = {}) {
8307
+ return this.getGlobal(id, opts?.fresh === true);
8295
8308
  }
8296
8309
  /** Update a record (PUT on the COLLECTION — the vendored spec's item path is GET-only; the vendor
8297
8310
  * keys the record by the id in the body). The vendor validates the FULL model on this route (V2), so a
@@ -8345,8 +8358,8 @@ var PurchaseOrderItemReceivingResource = class extends BaseResource {
8345
8358
  return this.countGlobal(params);
8346
8359
  }
8347
8360
  /** Get one record by parent + id (/V1.0/PurchaseOrderItems/{parentId}/Receiving/{id} — vendor item envelope; item: null → NotFoundError). */
8348
- async get(parentId, id) {
8349
- return this.getScopedRaw(parentId, id);
8361
+ async get(parentId, id, opts = {}) {
8362
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
8350
8363
  }
8351
8364
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
8352
8365
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -8395,8 +8408,8 @@ var PurchaseOrderItemsResource = class extends BaseResource {
8395
8408
  return this.countGlobal(params);
8396
8409
  }
8397
8410
  /** Get one record by parent + id (/V1.0/PurchaseOrders/{parentId}/Items/{id} — vendor item envelope; item: null → NotFoundError). */
8398
- async get(parentId, id) {
8399
- return this.getScopedRaw(parentId, id);
8411
+ async get(parentId, id, opts = {}) {
8412
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
8400
8413
  }
8401
8414
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
8402
8415
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -8452,9 +8465,9 @@ var PurchaseOrdersResource = class extends BaseResource {
8452
8465
  async count(params) {
8453
8466
  return this.countGlobal(params);
8454
8467
  }
8455
- /** Get one record by id (item envelope; item: null → NotFoundError). */
8456
- async get(id) {
8457
- return this.getGlobal(id);
8468
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
8469
+ async get(id, opts = {}) {
8470
+ return this.getGlobal(id, opts?.fresh === true);
8458
8471
  }
8459
8472
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
8460
8473
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -8517,8 +8530,8 @@ var QuoteItemsResource = class extends BaseResource {
8517
8530
  return this.countGlobal(params);
8518
8531
  }
8519
8532
  /** Get one record by parent + id (/V1.0/Quotes/{parentId}/Items/{id} — vendor item envelope; item: null → NotFoundError). */
8520
- async get(parentId, id) {
8521
- return this.getScopedRaw(parentId, id);
8533
+ async get(parentId, id, opts = {}) {
8534
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
8522
8535
  }
8523
8536
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
8524
8537
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -8588,9 +8601,9 @@ var QuoteLocationsResource = class extends BaseResource {
8588
8601
  async count(params) {
8589
8602
  return this.countGlobal(params);
8590
8603
  }
8591
- /** Get one record by id (item envelope; item: null → NotFoundError). */
8592
- async get(id) {
8593
- return this.getGlobal(id);
8604
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
8605
+ async get(id, opts = {}) {
8606
+ return this.getGlobal(id, opts?.fresh === true);
8594
8607
  }
8595
8608
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
8596
8609
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -8651,9 +8664,9 @@ var QuotesResource = class extends BaseResource {
8651
8664
  async count(params) {
8652
8665
  return this.countGlobal(params);
8653
8666
  }
8654
- /** Get one record by id (item envelope; item: null → NotFoundError). */
8655
- async get(id) {
8656
- return this.getGlobal(id);
8667
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
8668
+ async get(id, opts = {}) {
8669
+ return this.getGlobal(id, opts?.fresh === true);
8657
8670
  }
8658
8671
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
8659
8672
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -8716,9 +8729,9 @@ var QuoteTemplatesResource = class extends BaseResource {
8716
8729
  async count(params) {
8717
8730
  return this.countGlobal(params);
8718
8731
  }
8719
- /** Get one record by id (item envelope; item: null → NotFoundError). */
8720
- async get(id) {
8721
- return this.getGlobal(id);
8732
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
8733
+ async get(id, opts = {}) {
8734
+ return this.getGlobal(id, opts?.fresh === true);
8722
8735
  }
8723
8736
  /** Resolve a QuoteTemplate from a numeric id (or, where the vendor indexes a primary text field,
8724
8737
  * from an exact match on name). A numeric id miss throws NOT_FOUND; a complete
@@ -8763,8 +8776,8 @@ var ResourceRoleQueuesResource = class extends BaseResource {
8763
8776
  return this.countGlobal(params);
8764
8777
  }
8765
8778
  /** Get one record by parent + id (/V1.0/Resources/{parentId}/RoleQueues/{id} — vendor item envelope; item: null → NotFoundError). */
8766
- async get(parentId, id) {
8767
- return this.getScopedRaw(parentId, id);
8779
+ async get(parentId, id, opts = {}) {
8780
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
8768
8781
  }
8769
8782
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
8770
8783
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -8822,8 +8835,8 @@ var ResourceRolesResource = class extends BaseResource {
8822
8835
  return this.countGlobal(params);
8823
8836
  }
8824
8837
  /** Get one record by parent + id (/V1.0/Resources/{parentId}/Roles/{id} — vendor item envelope; item: null → NotFoundError). */
8825
- async get(parentId, id) {
8826
- return this.getScopedRaw(parentId, id);
8838
+ async get(parentId, id, opts = {}) {
8839
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
8827
8840
  }
8828
8841
  /** Resolve a ResourceRole from a numeric id (or, where the vendor indexes a primary text field,
8829
8842
  * from a numeric id — this resource has no primary text field). A numeric id miss throws NOT_FOUND;
@@ -8864,8 +8877,8 @@ var ResourceSkillsResource = class extends BaseResource {
8864
8877
  return this.countGlobal(params);
8865
8878
  }
8866
8879
  /** Get one record by parent + id (/V1.0/Resources/{parentId}/Skills/{id} — vendor item envelope; item: null → NotFoundError). */
8867
- async get(parentId, id) {
8868
- return this.getScopedRaw(parentId, id);
8880
+ async get(parentId, id, opts = {}) {
8881
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
8869
8882
  }
8870
8883
  /** Update a record under the parent (PATCH on the collection — swagger documents put+patch there;
8871
8884
  * the vendor keys the record by the id in the body; OperationResultModel → { id}). `dryRun: true` returns
@@ -9023,12 +9036,9 @@ var ResourcesResource = class extends BaseResource {
9023
9036
  async count(params) {
9024
9037
  return this.countGlobal(params);
9025
9038
  }
9026
- /** Get one record by id (item envelope; item: null → NotFoundError).
9027
- * `fresh: true` in the opts bag bypasses AND refreshes the ReadCache entry for this id
9028
- * (the per-id authority read of operations.expandResourceNames with fresh: true — issue #77);
9029
- * a plain get is the bit-for-bit cached read. */
9039
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
9030
9040
  async get(id, opts = {}) {
9031
- return this.getGlobal(id, opts.fresh === true);
9041
+ return this.getGlobal(id, opts?.fresh === true);
9032
9042
  }
9033
9043
  /** Update a record (PUT on the COLLECTION — the vendored spec's item path is GET-only; the vendor
9034
9044
  * keys the record by the id in the body). The vendor validates the FULL model on this route (V2), so a
@@ -9152,8 +9162,8 @@ var ResourceTimeOffApproversResource = class extends BaseResource {
9152
9162
  return this.countGlobal(params);
9153
9163
  }
9154
9164
  /** Get one record by parent + id (/V1.0/Resources/{parentId}/TimeOffApprovers/{id} — vendor item envelope; item: null → NotFoundError). */
9155
- async get(parentId, id) {
9156
- return this.getScopedRaw(parentId, id);
9165
+ async get(parentId, id, opts = {}) {
9166
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
9157
9167
  }
9158
9168
  /** Resolve a ResourceTimeOffApprover from a numeric id (or, where the vendor indexes a primary text field,
9159
9169
  * from a numeric id — this resource has no primary text field). A numeric id miss throws NOT_FOUND;
@@ -9205,8 +9215,8 @@ var ResourceTimeOffBalancesResource = class extends BaseResource {
9205
9215
  }, pageSize);
9206
9216
  }
9207
9217
  /** Get one record by parent + id (/V1.0/Resources/{parentId}/TimeOffBalances/{id} — vendor item envelope; item: null → NotFoundError). */
9208
- async get(parentId, id) {
9209
- return this.getScopedRaw(parentId, id);
9218
+ async get(parentId, id, opts = {}) {
9219
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
9210
9220
  }
9211
9221
  /** Resolve a ResourceTimeOffBalance from a numeric id (or, where the vendor indexes a primary text field,
9212
9222
  * from a numeric id — this resource has no primary text field). A numeric id miss throws NOT_FOUND;
@@ -9254,9 +9264,9 @@ var RolesResource = class extends BaseResource {
9254
9264
  async count(params) {
9255
9265
  return this.countGlobal(params);
9256
9266
  }
9257
- /** Get one record by id (item envelope; item: null → NotFoundError). */
9258
- async get(id) {
9259
- return this.getGlobal(id);
9267
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
9268
+ async get(id, opts = {}) {
9269
+ return this.getGlobal(id, opts?.fresh === true);
9260
9270
  }
9261
9271
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
9262
9272
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -9320,9 +9330,9 @@ var SalesOrdersResource = class extends BaseResource {
9320
9330
  async count(params) {
9321
9331
  return this.countGlobal(params);
9322
9332
  }
9323
- /** Get one record by id (item envelope; item: null → NotFoundError). */
9324
- async get(id) {
9325
- return this.getGlobal(id);
9333
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
9334
+ async get(id, opts = {}) {
9335
+ return this.getGlobal(id, opts?.fresh === true);
9326
9336
  }
9327
9337
  /** Update a record (PUT on the COLLECTION — the vendored spec's item path is GET-only; the vendor
9328
9338
  * keys the record by the id in the body). The vendor validates the FULL model on this route (V2), so a
@@ -9363,9 +9373,9 @@ var ServiceCallsResource = class extends BaseResource {
9363
9373
  async count(params) {
9364
9374
  return this.countGlobal(params);
9365
9375
  }
9366
- /** Get one record by id (item envelope; item: null → NotFoundError). */
9367
- async get(id) {
9368
- return this.getGlobal(id);
9376
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
9377
+ async get(id, opts = {}) {
9378
+ return this.getGlobal(id, opts?.fresh === true);
9369
9379
  }
9370
9380
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
9371
9381
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -9434,8 +9444,8 @@ var ServiceCallTaskResourcesResource = class extends BaseResource {
9434
9444
  return this.countGlobal(params);
9435
9445
  }
9436
9446
  /** Get one record by parent + id (/V1.0/ServiceCallTasks/{parentId}/Resources/{id} — vendor item envelope; item: null → NotFoundError). */
9437
- async get(parentId, id) {
9438
- return this.getScopedRaw(parentId, id);
9447
+ async get(parentId, id, opts = {}) {
9448
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
9439
9449
  }
9440
9450
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
9441
9451
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -9491,8 +9501,8 @@ var ServiceCallTasksResource = class extends BaseResource {
9491
9501
  return this.countGlobal(params);
9492
9502
  }
9493
9503
  /** Get one record by parent + id (/V1.0/ServiceCalls/{parentId}/Tasks/{id} — vendor item envelope; item: null → NotFoundError). */
9494
- async get(parentId, id) {
9495
- return this.getScopedRaw(parentId, id);
9504
+ async get(parentId, id, opts = {}) {
9505
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
9496
9506
  }
9497
9507
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
9498
9508
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -9548,8 +9558,8 @@ var ServiceCallTicketResourcesResource = class extends BaseResource {
9548
9558
  return this.countGlobal(params);
9549
9559
  }
9550
9560
  /** Get one record by parent + id (/V1.0/ServiceCallTickets/{parentId}/Resources/{id} — vendor item envelope; item: null → NotFoundError). */
9551
- async get(parentId, id) {
9552
- return this.getScopedRaw(parentId, id);
9561
+ async get(parentId, id, opts = {}) {
9562
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
9553
9563
  }
9554
9564
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
9555
9565
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -9605,8 +9615,8 @@ var ServiceCallTicketsResource = class extends BaseResource {
9605
9615
  return this.countGlobal(params);
9606
9616
  }
9607
9617
  /** Get one record by parent + id (/V1.0/ServiceCalls/{parentId}/Tickets/{id} — vendor item envelope; item: null → NotFoundError). */
9608
- async get(parentId, id) {
9609
- return this.getScopedRaw(parentId, id);
9618
+ async get(parentId, id, opts = {}) {
9619
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
9610
9620
  }
9611
9621
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
9612
9622
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -9658,9 +9668,9 @@ var ServiceLevelAgreementResultsResource = class extends BaseResource {
9658
9668
  async count(params) {
9659
9669
  return this.countGlobal(params);
9660
9670
  }
9661
- /** Get one record by id (item envelope; item: null → NotFoundError). */
9662
- async get(id) {
9663
- return this.getGlobal(id);
9671
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
9672
+ async get(id, opts = {}) {
9673
+ return this.getGlobal(id, opts?.fresh === true);
9664
9674
  }
9665
9675
  /** Resolve a ServiceLevelAgreementResults from a numeric id (or, where the vendor indexes a primary text field,
9666
9676
  * from a numeric id — this resource has no primary text field). A numeric id miss throws NOT_FOUND;
@@ -9701,9 +9711,9 @@ var ServicesResource = class extends BaseResource {
9701
9711
  async count(params) {
9702
9712
  return this.countGlobal(params);
9703
9713
  }
9704
- /** Get one record by id (item envelope; item: null → NotFoundError). */
9705
- async get(id) {
9706
- return this.getGlobal(id);
9714
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
9715
+ async get(id, opts = {}) {
9716
+ return this.getGlobal(id, opts?.fresh === true);
9707
9717
  }
9708
9718
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
9709
9719
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -9766,9 +9776,9 @@ var SkillsResource = class extends BaseResource {
9766
9776
  async count(params) {
9767
9777
  return this.countGlobal(params);
9768
9778
  }
9769
- /** Get one record by id (item envelope; item: null → NotFoundError). */
9770
- async get(id) {
9771
- return this.getGlobal(id);
9779
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
9780
+ async get(id, opts = {}) {
9781
+ return this.getGlobal(id, opts?.fresh === true);
9772
9782
  }
9773
9783
  /** Resolve a Skill from a numeric id (or, where the vendor indexes a primary text field,
9774
9784
  * from an exact match on name). A numeric id miss throws NOT_FOUND; a complete
@@ -9809,9 +9819,9 @@ var SubscriptionPeriodsResource = class extends BaseResource {
9809
9819
  async count(params) {
9810
9820
  return this.countGlobal(params);
9811
9821
  }
9812
- /** Get one record by id (item envelope; item: null → NotFoundError). */
9813
- async get(id) {
9814
- return this.getGlobal(id);
9822
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
9823
+ async get(id, opts = {}) {
9824
+ return this.getGlobal(id, opts?.fresh === true);
9815
9825
  }
9816
9826
  /** Resolve a SubscriptionPeriod from a numeric id (or, where the vendor indexes a primary text field,
9817
9827
  * from a numeric id — this resource has no primary text field). A numeric id miss throws NOT_FOUND;
@@ -9850,9 +9860,9 @@ var SubscriptionsResource = class extends BaseResource {
9850
9860
  async count(params) {
9851
9861
  return this.countGlobal(params);
9852
9862
  }
9853
- /** Get one record by id (item envelope; item: null → NotFoundError). */
9854
- async get(id) {
9855
- return this.getGlobal(id);
9863
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
9864
+ async get(id, opts = {}) {
9865
+ return this.getGlobal(id, opts?.fresh === true);
9856
9866
  }
9857
9867
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
9858
9868
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -9917,9 +9927,9 @@ var SurveyResultsResource = class extends BaseResource {
9917
9927
  async count(params) {
9918
9928
  return this.countGlobal(params);
9919
9929
  }
9920
- /** Get one record by id (item envelope; item: null → NotFoundError). */
9921
- async get(id) {
9922
- return this.getGlobal(id);
9930
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
9931
+ async get(id, opts = {}) {
9932
+ return this.getGlobal(id, opts?.fresh === true);
9923
9933
  }
9924
9934
  /** Resolve a SurveyResults from a numeric id (or, where the vendor indexes a primary text field,
9925
9935
  * from a numeric id — this resource has no primary text field). A numeric id miss throws NOT_FOUND;
@@ -9957,9 +9967,9 @@ var SurveysResource = class extends BaseResource {
9957
9967
  async count(params) {
9958
9968
  return this.countGlobal(params);
9959
9969
  }
9960
- /** Get one record by id (item envelope; item: null → NotFoundError). */
9961
- async get(id) {
9962
- return this.getGlobal(id);
9970
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
9971
+ async get(id, opts = {}) {
9972
+ return this.getGlobal(id, opts?.fresh === true);
9963
9973
  }
9964
9974
  /** Resolve a Survey from a numeric id (or, where the vendor indexes a primary text field,
9965
9975
  * from an exact match on name). A numeric id miss throws NOT_FOUND; a complete
@@ -10004,8 +10014,8 @@ var TagAliasesResource = class extends BaseResource {
10004
10014
  return this.countGlobal(params);
10005
10015
  }
10006
10016
  /** Get one record by parent + id (/V1.0/Tags/{parentId}/Aliases/{id} — vendor item envelope; item: null → NotFoundError). */
10007
- async get(parentId, id) {
10008
- return this.getScopedRaw(parentId, id);
10017
+ async get(parentId, id, opts = {}) {
10018
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
10009
10019
  }
10010
10020
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
10011
10021
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -10059,9 +10069,9 @@ var TagGroupsResource = class extends BaseResource {
10059
10069
  async count(params) {
10060
10070
  return this.countGlobal(params);
10061
10071
  }
10062
- /** Get one record by id (item envelope; item: null → NotFoundError). */
10063
- async get(id) {
10064
- return this.getGlobal(id);
10072
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
10073
+ async get(id, opts = {}) {
10074
+ return this.getGlobal(id, opts?.fresh === true);
10065
10075
  }
10066
10076
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
10067
10077
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -10128,9 +10138,9 @@ var TagsResource = class extends BaseResource {
10128
10138
  async count(params) {
10129
10139
  return this.countGlobal(params);
10130
10140
  }
10131
- /** Get one record by id (item envelope; item: null → NotFoundError). */
10132
- async get(id) {
10133
- return this.getGlobal(id);
10141
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
10142
+ async get(id, opts = {}) {
10143
+ return this.getGlobal(id, opts?.fresh === true);
10134
10144
  }
10135
10145
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
10136
10146
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -10199,8 +10209,8 @@ var TaskSecondaryResourcesResource = class extends BaseResource {
10199
10209
  return this.countGlobal(params);
10200
10210
  }
10201
10211
  /** Get one record by parent + id (/V1.0/Tasks/{parentId}/SecondaryResources/{id} — vendor item envelope; item: null → NotFoundError). */
10202
- async get(parentId, id) {
10203
- return this.getScopedRaw(parentId, id);
10212
+ async get(parentId, id, opts = {}) {
10213
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
10204
10214
  }
10205
10215
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
10206
10216
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -10257,8 +10267,8 @@ var TasksResource = class extends BaseResource {
10257
10267
  return this.countGlobal(params);
10258
10268
  }
10259
10269
  /** Get one record by parent + id (/V1.0/Projects/{parentId}/Tasks/{id} — vendor item envelope; item: null → NotFoundError). */
10260
- async get(parentId, id) {
10261
- return this.getScopedRaw(parentId, id);
10270
+ async get(parentId, id, opts = {}) {
10271
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
10262
10272
  }
10263
10273
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
10264
10274
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -10318,9 +10328,9 @@ var TaxRegionsResource = class extends BaseResource {
10318
10328
  async count(params) {
10319
10329
  return this.countGlobal(params);
10320
10330
  }
10321
- /** Get one record by id (item envelope; item: null → NotFoundError). */
10322
- async get(id) {
10323
- return this.getGlobal(id);
10331
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
10332
+ async get(id, opts = {}) {
10333
+ return this.getGlobal(id, opts?.fresh === true);
10324
10334
  }
10325
10335
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
10326
10336
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -10395,8 +10405,8 @@ var TicketAdditionalConfigurationItemsResource = class extends BaseResource {
10395
10405
  return this.countGlobal(params);
10396
10406
  }
10397
10407
  /** Get one record by parent + id (/V1.0/Tickets/{parentId}/AdditionalConfigurationItems/{id} — vendor item envelope; item: null → NotFoundError). */
10398
- async get(parentId, id) {
10399
- return this.getScopedRaw(parentId, id);
10408
+ async get(parentId, id, opts = {}) {
10409
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
10400
10410
  }
10401
10411
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
10402
10412
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -10452,8 +10462,8 @@ var TicketAdditionalContactsResource = class extends BaseResource {
10452
10462
  return this.countGlobal(params);
10453
10463
  }
10454
10464
  /** Get one record by parent + id (/V1.0/Tickets/{parentId}/AdditionalContacts/{id} — vendor item envelope; item: null → NotFoundError). */
10455
- async get(parentId, id) {
10456
- return this.getScopedRaw(parentId, id);
10465
+ async get(parentId, id, opts = {}) {
10466
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
10457
10467
  }
10458
10468
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
10459
10469
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -10510,8 +10520,8 @@ var TicketAttachmentsResource = class extends BaseResource {
10510
10520
  return this.countGlobal(params);
10511
10521
  }
10512
10522
  /** Get one record by parent + id (/V1.0/Tickets/{parentId}/Attachments/{id} — vendor answers the model directly). */
10513
- async get(parentId, id) {
10514
- return this.getScopedModel(parentId, id);
10523
+ async get(parentId, id, opts = {}) {
10524
+ return this.getScopedModel(parentId, id, opts?.fresh === true);
10515
10525
  }
10516
10526
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
10517
10527
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -10570,9 +10580,9 @@ var TicketCategoriesResource = class extends BaseResource {
10570
10580
  async count(params) {
10571
10581
  return this.countGlobal(params);
10572
10582
  }
10573
- /** Get one record by id (item envelope; item: null → NotFoundError). */
10574
- async get(id) {
10575
- return this.getGlobal(id);
10583
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
10584
+ async get(id, opts = {}) {
10585
+ return this.getGlobal(id, opts?.fresh === true);
10576
10586
  }
10577
10587
  /** Update a record (PUT on the COLLECTION — the vendored spec's item path is GET-only; the vendor
10578
10588
  * keys the record by the id in the body). The vendor validates the FULL model on this route (V2), so a
@@ -10630,8 +10640,8 @@ var TicketCategoryFieldDefaultsResource = class extends BaseResource {
10630
10640
  return this.countGlobal(params);
10631
10641
  }
10632
10642
  /** Get one record by parent + id (/V1.0/TicketCategories/{parentId}/FieldDefaults/{id} — vendor item envelope; item: null → NotFoundError). */
10633
- async get(parentId, id) {
10634
- return this.getScopedRaw(parentId, id);
10643
+ async get(parentId, id, opts = {}) {
10644
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
10635
10645
  }
10636
10646
  /** Resolve a TicketCategoryFieldDefault from a numeric id (or, where the vendor indexes a primary text field,
10637
10647
  * from a numeric id — this resource has no primary text field). A numeric id miss throws NOT_FOUND;
@@ -10672,8 +10682,8 @@ var TicketChangeRequestApprovalsResource = class extends BaseResource {
10672
10682
  return this.countGlobal(params);
10673
10683
  }
10674
10684
  /** Get one record by parent + id (/V1.0/Tickets/{parentId}/ChangeRequestApprovals/{id} — vendor item envelope; item: null → NotFoundError). */
10675
- async get(parentId, id) {
10676
- return this.getScopedRaw(parentId, id);
10685
+ async get(parentId, id, opts = {}) {
10686
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
10677
10687
  }
10678
10688
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
10679
10689
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -10961,8 +10971,8 @@ var TicketChargesResource = class extends BaseResource {
10961
10971
  return this.countGlobal(params);
10962
10972
  }
10963
10973
  /** Get one record by parent + id (/V1.0/Tickets/{parentId}/Charges/{id} — vendor item envelope; item: null → NotFoundError). */
10964
- async get(parentId, id) {
10965
- return this.getScopedRaw(parentId, id);
10974
+ async get(parentId, id, opts = {}) {
10975
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
10966
10976
  }
10967
10977
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
10968
10978
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -11035,8 +11045,8 @@ var TicketChecklistItemsResource = class extends BaseResource {
11035
11045
  return this.countGlobal(params);
11036
11046
  }
11037
11047
  /** Get one record by parent + id (/V1.0/Tickets/{parentId}/ChecklistItems/{id} — vendor item envelope; item: null → NotFoundError). */
11038
- async get(parentId, id) {
11039
- return this.getScopedRaw(parentId, id);
11048
+ async get(parentId, id, opts = {}) {
11049
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
11040
11050
  }
11041
11051
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
11042
11052
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -11157,9 +11167,9 @@ var TicketHistoryResource = class extends BaseResource {
11157
11167
  async count(params) {
11158
11168
  return this.countGlobal(params);
11159
11169
  }
11160
- /** Get one record by id (item envelope; item: null → NotFoundError). */
11161
- async get(id) {
11162
- return this.getGlobal(id);
11170
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
11171
+ async get(id, opts = {}) {
11172
+ return this.getGlobal(id, opts?.fresh === true);
11163
11173
  }
11164
11174
  /** Resolve a TicketHistory from a numeric id (or, where the vendor indexes a primary text field,
11165
11175
  * from a numeric id — this resource has no primary text field). A numeric id miss throws NOT_FOUND;
@@ -11201,8 +11211,8 @@ var TicketNoteAttachmentsResource = class extends BaseResource {
11201
11211
  return this.countGlobal(params);
11202
11212
  }
11203
11213
  /** Get one record by parent + id (/V1.0/TicketNotes/{parentId}/Attachments/{id} — vendor answers the model directly). */
11204
- async get(parentId, id) {
11205
- return this.getScopedModel(parentId, id);
11214
+ async get(parentId, id, opts = {}) {
11215
+ return this.getScopedModel(parentId, id, opts?.fresh === true);
11206
11216
  }
11207
11217
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
11208
11218
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -11262,8 +11272,8 @@ var TicketNotesResource = class extends BaseResource {
11262
11272
  return this.countGlobal(params);
11263
11273
  }
11264
11274
  /** Get one record by parent + id (/V1.0/Tickets/{parentId}/Notes/{id} — vendor item envelope; item: null → NotFoundError). */
11265
- async get(parentId, id) {
11266
- return this.getScopedRaw(parentId, id);
11275
+ async get(parentId, id, opts = {}) {
11276
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
11267
11277
  }
11268
11278
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
11269
11279
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -11322,9 +11332,9 @@ var TicketNoteWebhooksResource = class extends BaseResource {
11322
11332
  async count(params) {
11323
11333
  return this.countGlobal(params);
11324
11334
  }
11325
- /** Get one record by id (item envelope; item: null → NotFoundError). */
11326
- async get(id) {
11327
- return this.getGlobal(id);
11335
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
11336
+ async get(id, opts = {}) {
11337
+ return this.getGlobal(id, opts?.fresh === true);
11328
11338
  }
11329
11339
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
11330
11340
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -11397,8 +11407,8 @@ var TicketSecondaryResourcesResource = class extends BaseResource {
11397
11407
  return this.countGlobal(params);
11398
11408
  }
11399
11409
  /** Get one record by parent + id (/V1.0/Tickets/{parentId}/SecondaryResources/{id} — vendor item envelope; item: null → NotFoundError). */
11400
- async get(parentId, id) {
11401
- return this.getScopedRaw(parentId, id);
11410
+ async get(parentId, id, opts = {}) {
11411
+ return this.getScopedRaw(parentId, id, opts?.fresh === true);
11402
11412
  }
11403
11413
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
11404
11414
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -12358,6 +12368,7 @@ var TICKET_CHUNK = 100;
12358
12368
  var LIMIT_DEFAULT = 100;
12359
12369
  var LIMIT_MAX = 500;
12360
12370
  var LINK_READ_CAP = 500;
12371
+ var COUNT_LINK_PAGES = 20;
12361
12372
  var TICKET_FIELDS2 = ["id", "ticketNumber", "title", "status", "assignedResourceID", "companyID"];
12362
12373
  function positiveId2(value, name) {
12363
12374
  const n = typeof value === "string" && /^\d+$/.test(value.trim()) ? Number(value) : value;
@@ -12377,6 +12388,24 @@ async function ticketPage(http, filter, maxRecords, fields) {
12377
12388
  const page = unwrapItems(res, OP6);
12378
12389
  return { rows: page.items, more: page.pageDetails.nextPageUrl !== null };
12379
12390
  }
12391
+ async function readLinkIds(http, resourceID, maxPages = 1) {
12392
+ const ids2 = /* @__PURE__ */ new Set();
12393
+ let cursor = null;
12394
+ for (let pages = 0; pages < maxPages; pages++) {
12395
+ const res = await http.request({
12396
+ method: "POST",
12397
+ idempotent: true,
12398
+ path: cursor === null ? "/V1.0/TicketSecondaryResources/query" : cursorToPath(http.baseUrl, cursor),
12399
+ body: { MaxRecords: LINK_READ_CAP, filter: [{ field: "resourceID", op: "eq", value: resourceID }], IncludeFields: ["ticketID"] },
12400
+ operation: OP6
12401
+ });
12402
+ const page = unwrapItems(res, OP6);
12403
+ for (const row of page.items) if (typeof row.ticketID === "number") ids2.add(row.ticketID);
12404
+ cursor = page.pageDetails.nextPageUrl;
12405
+ if (cursor === null || page.items.length === 0) return { ids: [...ids2], capped: false };
12406
+ }
12407
+ return { ids: [...ids2], capped: true };
12408
+ }
12380
12409
  async function forResource(_resource, resourceIDIn, http, opts = {}) {
12381
12410
  if (opts === null || typeof opts !== "object") throw new AutotaskConfigError(`${OP6}: opts must be an object`, { operation: OP6 });
12382
12411
  const resourceID = positiveId2(resourceIDIn, "resourceID");
@@ -12388,7 +12417,7 @@ async function forResource(_resource, resourceIDIn, http, opts = {}) {
12388
12417
  throw new AutotaskConfigError(`${OP6}: openOnly must be a boolean`, { operation: OP6 });
12389
12418
  }
12390
12419
  const limit = opts.limit === void 0 ? LIMIT_DEFAULT : opts.limit;
12391
- if (!Number.isInteger(limit) || limit < 1 || limit > LIMIT_MAX) {
12420
+ if (opts.countOnly !== true && (!Number.isInteger(limit) || limit < 1 || limit > LIMIT_MAX)) {
12392
12421
  throw new AutotaskConfigError(`${OP6}: limit must be an integer 1-${LIMIT_MAX} (got ${String(opts.limit)})`, { operation: OP6 });
12393
12422
  }
12394
12423
  const includeFields = opts.includeFields ?? [];
@@ -12397,28 +12426,50 @@ async function forResource(_resource, resourceIDIn, http, opts = {}) {
12397
12426
  }
12398
12427
  const openOnly = opts.openOnly === true;
12399
12428
  const fields = [.../* @__PURE__ */ new Set([...TICKET_FIELDS2, ...includeFields])];
12400
- const closed = await resolveTicketStatusSemantics(http, opts.excludeStatusIds === void 0 ? {} : { excludeStatusIds: opts.excludeStatusIds });
12429
+ if (opts.countOnly !== void 0 && typeof opts.countOnly !== "boolean") {
12430
+ throw new AutotaskConfigError(`${OP6}: countOnly must be a boolean`, { operation: OP6 });
12431
+ }
12432
+ const closed = await resolveTicketStatusSemantics(
12433
+ http,
12434
+ { ...opts.excludeStatusIds === void 0 ? {} : { excludeStatusIds: opts.excludeStatusIds }, ...opts.allowAssumed === void 0 ? {} : { allowAssumed: opts.allowAssumed } },
12435
+ OP6
12436
+ );
12401
12437
  const closedStatus = { closedIds: closed.closedIds, source: closed.source, note: closed.note };
12402
- const openLeaf = openOnly ? [openStatusFilter(closed.closedIds)] : [];
12438
+ const openLeaf = openOnly || opts.countOnly === true ? [openStatusFilter(closed.closedIds)] : [];
12439
+ if (opts.countOnly === true) {
12440
+ const primaryCount = scope === "secondary" ? 0 : await _resource.count({ filter: [{ field: "assignedResourceID", op: "eq", value: resourceID }, ...openLeaf] });
12441
+ let secondaryCount = 0;
12442
+ let bothCount = 0;
12443
+ let linkCapped = false;
12444
+ if (scope !== "primary") {
12445
+ const links = await readLinkIds(http, resourceID, COUNT_LINK_PAGES);
12446
+ linkCapped = links.capped;
12447
+ for (let c = 0; c < links.ids.length; c += TICKET_CHUNK) {
12448
+ const chunk = links.ids.slice(c, c + TICKET_CHUNK);
12449
+ const page = await ticketPage(http, [{ field: "id", op: "in", value: chunk }, ...openLeaf], chunk.length, ["id", "status", "assignedResourceID"]);
12450
+ const seen = /* @__PURE__ */ new Set();
12451
+ for (const t of page.rows) {
12452
+ if (typeof t.id !== "number" || seen.has(t.id) || isClosedStatus(t.status, closed.closedIds)) continue;
12453
+ seen.add(t.id);
12454
+ if (scope === "both" && t.assignedResourceID === resourceID) bothCount++;
12455
+ }
12456
+ secondaryCount += seen.size;
12457
+ }
12458
+ }
12459
+ return { resourceID, scope, primary: primaryCount, secondary: secondaryCount, both: bothCount, open: primaryCount + secondaryCount - bothCount, capped: linkCapped, closedStatus };
12460
+ }
12403
12461
  const linkIds = [];
12404
12462
  let capped = false;
12405
12463
  if (scope !== "primary") {
12406
- const res = await http.request({
12407
- method: "POST",
12408
- idempotent: true,
12409
- path: "/V1.0/TicketSecondaryResources/query",
12410
- body: { MaxRecords: LINK_READ_CAP, filter: [{ field: "resourceID", op: "eq", value: resourceID }], IncludeFields: ["ticketID"] },
12411
- operation: OP6
12412
- });
12413
- const page = unwrapItems(res, OP6);
12414
- for (const row of page.items) if (typeof row.ticketID === "number" && !linkIds.includes(row.ticketID)) linkIds.push(row.ticketID);
12415
- if (page.items.length >= LINK_READ_CAP || page.pageDetails.nextPageUrl !== null) capped = true;
12464
+ const links = await readLinkIds(http, resourceID);
12465
+ linkIds.push(...links.ids);
12466
+ capped = links.capped;
12416
12467
  }
12417
12468
  const primary = /* @__PURE__ */ new Map();
12418
12469
  if (scope !== "secondary") {
12419
- const page = await ticketPage(http, [{ field: "assignedResourceID", op: "eq", value: resourceID }, ...openLeaf], limit, fields);
12420
- if (page.more || page.rows.length >= limit) capped = true;
12421
- for (const t of page.rows) if (typeof t.id === "number") primary.set(t.id, t);
12470
+ const page = await ticketPage(http, [{ field: "assignedResourceID", op: "eq", value: resourceID }, ...openLeaf], Math.min(limit + 1, LIMIT_MAX), fields);
12471
+ if (page.more || page.rows.length > limit) capped = true;
12472
+ for (const t of page.rows.slice(0, limit)) if (typeof t.id === "number") primary.set(t.id, t);
12422
12473
  }
12423
12474
  const secondary = /* @__PURE__ */ new Map();
12424
12475
  const unresolvedIds = [];
@@ -12431,7 +12482,14 @@ async function forResource(_resource, resourceIDIn, http, opts = {}) {
12431
12482
  secondary.set(t.id, t);
12432
12483
  seen.add(t.id);
12433
12484
  }
12434
- for (const id of chunk) if (!seen.has(id)) unresolvedIds.push(id);
12485
+ const missing = chunk.filter((id) => !seen.has(id));
12486
+ if (missing.length > 0 && openOnly) {
12487
+ const found = await ticketPage(http, [{ field: "id", op: "in", value: missing }], missing.length, ["id"]);
12488
+ const closedHere = new Set(found.rows.map((t) => t.id));
12489
+ for (const id of missing) if (!closedHere.has(id)) unresolvedIds.push(id);
12490
+ } else {
12491
+ unresolvedIds.push(...missing);
12492
+ }
12435
12493
  }
12436
12494
  const merged = /* @__PURE__ */ new Map();
12437
12495
  for (const [id, t] of primary) merged.set(id, t);
@@ -12556,9 +12614,9 @@ var TicketsResource = class extends BaseResource {
12556
12614
  async count(params) {
12557
12615
  return this.countGlobal(params);
12558
12616
  }
12559
- /** Get one record by id (item envelope; item: null → NotFoundError). */
12560
- async get(id) {
12561
- return this.getGlobal(id);
12617
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
12618
+ async get(id, opts = {}) {
12619
+ return this.getGlobal(id, opts?.fresh === true);
12562
12620
  }
12563
12621
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
12564
12622
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -12640,7 +12698,6 @@ var TicketsResource = class extends BaseResource {
12640
12698
  statusSemantics(opts) {
12641
12699
  return statusSemantics(this, opts, this.http);
12642
12700
  }
12643
- /** Node-parity special op (hand-written in src/resources/special/tickets.ts). */
12644
12701
  forResource(resourceID, opts) {
12645
12702
  return forResource(this, resourceID, this.http, opts);
12646
12703
  }
@@ -12677,9 +12734,9 @@ var TicketWebhooksResource = class extends BaseResource {
12677
12734
  async count(params) {
12678
12735
  return this.countGlobal(params);
12679
12736
  }
12680
- /** Get one record by id (item envelope; item: null → NotFoundError). */
12681
- async get(id) {
12682
- return this.getGlobal(id);
12737
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
12738
+ async get(id, opts = {}) {
12739
+ return this.getGlobal(id, opts?.fresh === true);
12683
12740
  }
12684
12741
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
12685
12742
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -13536,9 +13593,9 @@ var TimeEntriesResource = class extends BaseResource {
13536
13593
  async count(params) {
13537
13594
  return this.countGlobal(params);
13538
13595
  }
13539
- /** Get one record by id (item envelope; item: null → NotFoundError). */
13540
- async get(id) {
13541
- return this.getGlobal(id);
13596
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
13597
+ async get(id, opts = {}) {
13598
+ return this.getGlobal(id, opts?.fresh === true);
13542
13599
  }
13543
13600
  /** Create a record (OperationResultModel → { id}). `dryRun: true` returns the
13544
13601
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -13688,8 +13745,8 @@ var TimeEntryAttachmentsResource = class extends BaseResource {
13688
13745
  return this.countGlobal(params);
13689
13746
  }
13690
13747
  /** Get one record by parent + id (/V1.0/TimeEntries/{parentId}/Attachments/{id} — vendor answers the model directly). */
13691
- async get(parentId, id) {
13692
- return this.getScopedModel(parentId, id);
13748
+ async get(parentId, id, opts = {}) {
13749
+ return this.getScopedModel(parentId, id, opts?.fresh === true);
13693
13750
  }
13694
13751
  /** Create a record under the parent (OperationResultModel → { id}). `dryRun: true` returns the
13695
13752
  * pinned envelope (section 19.3) and never issues the create. A 2xx that is not the
@@ -13795,9 +13852,9 @@ var TimeOffRequestsResource = class extends BaseResource {
13795
13852
  async count(params) {
13796
13853
  return this.countGlobal(params);
13797
13854
  }
13798
- /** Get one record by id (item envelope; item: null → NotFoundError). */
13799
- async get(id) {
13800
- return this.getGlobal(id);
13855
+ /** Get one record by id (item envelope; item: null → NotFoundError). `fresh: true` bypasses the read-cache lookup and refreshes the entry (issue #250). */
13856
+ async get(id, opts = {}) {
13857
+ return this.getGlobal(id, opts?.fresh === true);
13801
13858
  }
13802
13859
  /** Resolve a TimeOffRequest from a numeric id (or, where the vendor indexes a primary text field,
13803
13860
  * from a numeric id — this resource has no primary text field). A numeric id miss throws NOT_FOUND;