node-autotask 0.20.0 → 0.21.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.
- package/CHANGELOG.md +11 -0
- package/MCP_TOOL_CATALOG.json +1393 -6
- package/MCP_TOOL_MANIFEST.md +7 -7
- package/MCP_TOOL_OVERRIDES.json +1 -1
- package/N8N_MCP_MANIFEST.json +2 -2
- package/N8N_MCP_MANIFEST.md +3 -3
- package/capabilities.json +10689 -1699
- package/capabilities.schema.json +33 -0
- package/dist/capabilities.cjs +2 -2
- package/dist/capabilities.d.cts +9 -0
- package/dist/capabilities.d.ts +9 -0
- package/dist/capabilities.js +1 -1
- package/dist/{chunk-FLYTKJKV.cjs → chunk-CBUY3MKB.cjs} +10688 -1698
- package/dist/{chunk-2T77J2ZM.js → chunk-DM67SXCO.js} +10688 -1698
- package/dist/{chunk-XSYJB4IW.js → chunk-GBVUXAUA.js} +2 -2
- package/dist/{chunk-YH5CPRDN.cjs → chunk-HEW4WJLC.cjs} +393 -393
- package/dist/{chunk-JEJUFXHX.js → chunk-JRSU6PKP.js} +2 -2
- package/dist/{chunk-GA6UCX3Z.js → chunk-KD6LOSAK.js} +19 -14
- package/dist/{chunk-RMLGOCGA.cjs → chunk-PMPFQDVM.cjs} +135 -135
- package/dist/{chunk-L6V66V22.cjs → chunk-QWAWNQEZ.cjs} +20 -15
- package/dist/{index-AN-NjLi9.d.cts → index-ByWYfNog.d.cts} +16 -11
- package/dist/{index-CvLLsOCP.d.ts → index-DSnuyiTr.d.ts} +16 -11
- package/dist/index.cjs +22 -22
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -4
- package/dist/operations/index.cjs +111 -111
- package/dist/operations/index.d.cts +2 -2
- package/dist/operations/index.d.ts +2 -2
- package/dist/operations/index.js +2 -2
- package/dist/pool.cjs +8 -8
- package/dist/pool.d.cts +1 -1
- package/dist/pool.d.ts +1 -1
- package/dist/pool.js +4 -4
- package/dist/resources/index.cjs +4 -4
- package/dist/resources/index.d.cts +1 -1
- package/dist/resources/index.d.ts +1 -1
- package/dist/resources/index.js +3 -3
- package/docs/API.md +7 -4
- package/package.json +1 -1
|
@@ -127,13 +127,13 @@ import {
|
|
|
127
127
|
VersionInformationResource,
|
|
128
128
|
VersionResource,
|
|
129
129
|
ZoneInformationResource
|
|
130
|
-
} from "./chunk-
|
|
130
|
+
} from "./chunk-GBVUXAUA.js";
|
|
131
131
|
import {
|
|
132
132
|
AutotaskConfigError,
|
|
133
133
|
HttpClient,
|
|
134
134
|
resolveConfig,
|
|
135
135
|
runWithSignal
|
|
136
|
-
} from "./chunk-
|
|
136
|
+
} from "./chunk-KD6LOSAK.js";
|
|
137
137
|
|
|
138
138
|
// src/client.ts
|
|
139
139
|
var AutotaskClient = class {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CAPABILITIES
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DM67SXCO.js";
|
|
4
4
|
|
|
5
5
|
// src/auth.ts
|
|
6
6
|
var AUTH_HEADERS = {
|
|
@@ -16035,7 +16035,7 @@ async function expandResourceNames(client, ids, opts = {}) {
|
|
|
16035
16035
|
canonical[i] = parseIdentifier(raw, at);
|
|
16036
16036
|
} catch {
|
|
16037
16037
|
if (typeof raw === "string") {
|
|
16038
|
-
problems.push(`${at}: "${raw}" is not a vendor numeric resource id \u2014 non-numeric string identifiers are
|
|
16038
|
+
problems.push(`${at}: "${raw}" is not a vendor numeric resource id \u2014 non-numeric string identifiers are operations.resolveAny territory (the resource's findBy* helpers)`);
|
|
16039
16039
|
} else if (typeof raw === "number") {
|
|
16040
16040
|
problems.push(`${at}: ${raw} is not a non-negative safe integer (a JS number this large is already corrupted \u2014 pass the canonical integer string form)`);
|
|
16041
16041
|
} else {
|
|
@@ -16046,7 +16046,7 @@ async function expandResourceNames(client, ids, opts = {}) {
|
|
|
16046
16046
|
if (problems.length > 0) {
|
|
16047
16047
|
throw new AutotaskConfigError(`expandResourceNames: ${problems.length} problem(s) found pre-request (zero wire was issued)
|
|
16048
16048
|
- ` + problems.join("\n- "), {
|
|
16049
|
-
suggestedAction: "Fix every id above and call again \u2014 the ids are vendor NUMERIC resource ids only (name-to-id resolution is
|
|
16049
|
+
suggestedAction: "Fix every id above and call again \u2014 the ids are vendor NUMERIC resource ids only (name-to-id resolution is operations.resolveAny territory)."
|
|
16050
16050
|
});
|
|
16051
16051
|
}
|
|
16052
16052
|
const unique = [];
|
|
@@ -16794,7 +16794,7 @@ function validateFetchManyItems(items, cap, opName = "fetchMany", capRef = `FETC
|
|
|
16794
16794
|
} catch {
|
|
16795
16795
|
if (typeof item.id === "string") {
|
|
16796
16796
|
problems.push(
|
|
16797
|
-
`${at}.id: "${item.id}" is not a vendor numeric id \u2014 non-numeric string identifiers are
|
|
16797
|
+
`${at}.id: "${item.id}" is not a vendor numeric id \u2014 non-numeric string identifiers are operations.resolveAny territory (the resource's findBy* helpers)`
|
|
16798
16798
|
);
|
|
16799
16799
|
} else if (typeof item.id === "number") {
|
|
16800
16800
|
problems.push(
|
|
@@ -17444,8 +17444,9 @@ var BaseResource = class {
|
|
|
17444
17444
|
* The key is (resource plan key, canonical filter serialisation — the
|
|
17445
17445
|
* normalised conditions' JSON): the initial `count(F)` probe and every
|
|
17446
17446
|
* `id gt T` threshold probe are separate entries, and a re-asked
|
|
17447
|
-
* "top N" within the TTL makes ZERO extra count calls
|
|
17448
|
-
*
|
|
17447
|
+
* "top N" within the TTL makes ZERO extra count calls for every CACHED
|
|
17448
|
+
* probe (the bracket/search sequence is deterministic given the counts);
|
|
17449
|
+
* a probe that answered 0 is never cached, so it re-wires (issue #157).
|
|
17449
17450
|
* Issue #157: two corrections to the snapshot trade. (1) A total of 0 is
|
|
17450
17451
|
* NEVER stored — a 0 is rare and cheap to re-probe, and a cached 0 fed
|
|
17451
17452
|
* the false-empty branch (a repeat after an out-of-band insert returned
|
|
@@ -17535,14 +17536,18 @@ var BaseResource = class {
|
|
|
17535
17536
|
* paths involved. Issue #127: every count probe of this walk (the
|
|
17536
17537
|
* initial `count(F)` + the `id gt T` threshold probes) rides the
|
|
17537
17538
|
* per-client short-TTL count cache (30 s; a real write through this
|
|
17538
|
-
* client clears it) — a re-asked "top N" within the window reuses
|
|
17539
|
-
*
|
|
17540
|
-
* cached (the plan-pinned stamps stay fresh), and a 0 total is
|
|
17541
|
-
* cached either (issue #157: a 0 is cheap to re-probe and a cached
|
|
17542
|
-
* would shadow an out-of-band insert)
|
|
17543
|
-
* by the ONE fresh re-probe above
|
|
17544
|
-
*
|
|
17545
|
-
*
|
|
17539
|
+
* client clears it) — a re-asked "top N" within the window reuses every
|
|
17540
|
+
* CACHED probe (zero extra vendor count calls); sentinel answers are
|
|
17541
|
+
* never cached (the plan-pinned stamps stay fresh), and a 0 total is
|
|
17542
|
+
* never cached either (issue #157: a 0 is cheap to re-probe and a cached
|
|
17543
|
+
* 0 would shadow an out-of-band insert), so a 0-answering probe re-wires.
|
|
17544
|
+
* The stale-LOW direction is closed by the ONE fresh re-probe above. The
|
|
17545
|
+
* stale-HIGH direction is the documented snapshot trade, NOT "safe by
|
|
17546
|
+
* construction": the threshold probes are cache-served like every other
|
|
17547
|
+
* probe (no fresh re-probe exists on that path), so a cached threshold
|
|
17548
|
+
* count higher than reality can under-report the ROW COUNT within the
|
|
17549
|
+
* TTL — the returned top-N stays correct, and full-set mode ends when the
|
|
17550
|
+
* cursor exhausts. The plain `count` op and
|
|
17546
17551
|
* `operations.aggregate` bypass the cache by construction and promise
|
|
17547
17552
|
* fresh totals.
|
|
17548
17553
|
*/
|
|
@@ -127,13 +127,13 @@
|
|
|
127
127
|
|
|
128
128
|
|
|
129
129
|
|
|
130
|
-
var
|
|
130
|
+
var _chunkHEW4WJLCcjs = require('./chunk-HEW4WJLC.cjs');
|
|
131
131
|
|
|
132
132
|
|
|
133
133
|
|
|
134
134
|
|
|
135
135
|
|
|
136
|
-
var
|
|
136
|
+
var _chunkQWAWNQEZcjs = require('./chunk-QWAWNQEZ.cjs');
|
|
137
137
|
|
|
138
138
|
// src/client.ts
|
|
139
139
|
var AutotaskClient = class {
|
|
@@ -276,137 +276,137 @@ var AutotaskClient = class {
|
|
|
276
276
|
* anything is wired. Construction issues NO request.
|
|
277
277
|
*/
|
|
278
278
|
constructor(options) {
|
|
279
|
-
this.config =
|
|
280
|
-
this.http = new (0,
|
|
279
|
+
this.config = _chunkQWAWNQEZcjs.resolveConfig.call(void 0, options);
|
|
280
|
+
this.http = new (0, _chunkQWAWNQEZcjs.HttpClient)(this.config);
|
|
281
281
|
this.http.client = this;
|
|
282
|
-
this.appointments = new (0,
|
|
283
|
-
this.authenticateResource = new (0,
|
|
284
|
-
this.billingCodes = new (0,
|
|
285
|
-
this.billingItems = new (0,
|
|
286
|
-
this.changeRequestLinks = new (0,
|
|
287
|
-
this.checklistLibraries = new (0,
|
|
288
|
-
this.checklistLibraryChecklistItems = new (0,
|
|
289
|
-
this.classificationIcons = new (0,
|
|
290
|
-
this.companies = new (0,
|
|
291
|
-
this.companyAlerts = new (0,
|
|
292
|
-
this.companyLocations = new (0,
|
|
293
|
-
this.companyNotes = new (0,
|
|
294
|
-
this.companySiteConfigurations = new (0,
|
|
295
|
-
this.companyWebhooks = new (0,
|
|
296
|
-
this.configurationItemBillingProductAssociations = new (0,
|
|
297
|
-
this.configurationItemCategories = new (0,
|
|
298
|
-
this.configurationItemCategoryUdfAssociations = new (0,
|
|
299
|
-
this.configurationItemDnsRecords = new (0,
|
|
300
|
-
this.configurationItemNotes = new (0,
|
|
301
|
-
this.configurationItemRelatedItems = new (0,
|
|
302
|
-
this.configurationItems = new (0,
|
|
303
|
-
this.configurationItemSslSubjectAlternativeNames = new (0,
|
|
304
|
-
this.configurationItemTypes = new (0,
|
|
305
|
-
this.configurationItemWebhooks = new (0,
|
|
306
|
-
this.contactGroupContacts = new (0,
|
|
307
|
-
this.contactGroups = new (0,
|
|
308
|
-
this.contacts = new (0,
|
|
309
|
-
this.contactWebhooks = new (0,
|
|
310
|
-
this.contractBillingRules = new (0,
|
|
311
|
-
this.contractBlockHourFactors = new (0,
|
|
312
|
-
this.contractBlocks = new (0,
|
|
313
|
-
this.contractCharges = new (0,
|
|
314
|
-
this.contractExclusionBillingCodes = new (0,
|
|
315
|
-
this.contractExclusionRoles = new (0,
|
|
316
|
-
this.contractExclusionSetExcludedRoles = new (0,
|
|
317
|
-
this.contractExclusionSetExcludedWorkTypes = new (0,
|
|
318
|
-
this.contractExclusionSets = new (0,
|
|
319
|
-
this.contractMilestones = new (0,
|
|
320
|
-
this.contractNotes = new (0,
|
|
321
|
-
this.contractRates = new (0,
|
|
322
|
-
this.contractRetainers = new (0,
|
|
323
|
-
this.contractRoleCosts = new (0,
|
|
324
|
-
this.contractServiceAdjustments = new (0,
|
|
325
|
-
this.contractServiceBundleAdjustments = new (0,
|
|
326
|
-
this.contractServiceBundles = new (0,
|
|
327
|
-
this.contractServiceBundleUnits = new (0,
|
|
328
|
-
this.contractServices = new (0,
|
|
329
|
-
this.contractServiceUnits = new (0,
|
|
330
|
-
this.contracts = new (0,
|
|
331
|
-
this.contractTicketPurchases = new (0,
|
|
332
|
-
this.countries = new (0,
|
|
333
|
-
this.departments = new (0,
|
|
334
|
-
this.domainRegistrars = new (0,
|
|
335
|
-
this.entityInformation = new (0,
|
|
336
|
-
this.expenseItemAttachments = new (0,
|
|
337
|
-
this.expenseItems = new (0,
|
|
338
|
-
this.expenseReports = new (0,
|
|
339
|
-
this.holidaySets = new (0,
|
|
340
|
-
this.holidays = new (0,
|
|
341
|
-
this.inventoryProducts = new (0,
|
|
342
|
-
this.invoices = new (0,
|
|
343
|
-
this.modules = new (0,
|
|
344
|
-
this.notificationHistory = new (0,
|
|
345
|
-
this.opportunities = new (0,
|
|
346
|
-
this.opportunityAttachments = new (0,
|
|
347
|
-
this.opportunityCategories = new (0,
|
|
348
|
-
this.phases = new (0,
|
|
349
|
-
this.products = new (0,
|
|
350
|
-
this.productVendors = new (0,
|
|
351
|
-
this.projectCharges = new (0,
|
|
352
|
-
this.projectNotes = new (0,
|
|
353
|
-
this.projects = new (0,
|
|
354
|
-
this.purchaseApprovals = new (0,
|
|
355
|
-
this.purchaseOrderItemReceiving = new (0,
|
|
356
|
-
this.purchaseOrderItems = new (0,
|
|
357
|
-
this.purchaseOrders = new (0,
|
|
358
|
-
this.quoteItems = new (0,
|
|
359
|
-
this.quoteLocations = new (0,
|
|
360
|
-
this.quotes = new (0,
|
|
361
|
-
this.quoteTemplates = new (0,
|
|
362
|
-
this.resourceRoleQueues = new (0,
|
|
363
|
-
this.resourceRoles = new (0,
|
|
364
|
-
this.resourceSkills = new (0,
|
|
365
|
-
this.resources = new (0,
|
|
366
|
-
this.resourceTimeOffAdditional = new (0,
|
|
367
|
-
this.resourceTimeOffApprovers = new (0,
|
|
368
|
-
this.resourceTimeOffBalances = new (0,
|
|
369
|
-
this.roles = new (0,
|
|
370
|
-
this.serviceCalls = new (0,
|
|
371
|
-
this.serviceCallTaskResources = new (0,
|
|
372
|
-
this.serviceCallTasks = new (0,
|
|
373
|
-
this.serviceCallTicketResources = new (0,
|
|
374
|
-
this.serviceCallTickets = new (0,
|
|
375
|
-
this.serviceLevelAgreementResults = new (0,
|
|
376
|
-
this.services = new (0,
|
|
377
|
-
this.skills = new (0,
|
|
378
|
-
this.subscriptionPeriods = new (0,
|
|
379
|
-
this.subscriptions = new (0,
|
|
380
|
-
this.surveyResults = new (0,
|
|
381
|
-
this.surveys = new (0,
|
|
382
|
-
this.tagAliases = new (0,
|
|
383
|
-
this.tagGroups = new (0,
|
|
384
|
-
this.tags = new (0,
|
|
385
|
-
this.taskSecondaryResources = new (0,
|
|
386
|
-
this.tasks = new (0,
|
|
387
|
-
this.thresholdInformation = new (0,
|
|
388
|
-
this.ticketAdditionalConfigurationItems = new (0,
|
|
389
|
-
this.ticketAdditionalContacts = new (0,
|
|
390
|
-
this.ticketAttachments = new (0,
|
|
391
|
-
this.ticketCategories = new (0,
|
|
392
|
-
this.ticketCategoryFieldDefaults = new (0,
|
|
393
|
-
this.ticketChangeRequestApprovals = new (0,
|
|
394
|
-
this.ticketCharges = new (0,
|
|
395
|
-
this.ticketChecklistItems = new (0,
|
|
396
|
-
this.ticketChecklistLibraries = new (0,
|
|
397
|
-
this.ticketHistory = new (0,
|
|
398
|
-
this.ticketNoteAttachments = new (0,
|
|
399
|
-
this.ticketNotes = new (0,
|
|
400
|
-
this.ticketNoteWebhooks = new (0,
|
|
401
|
-
this.ticketSecondaryResources = new (0,
|
|
402
|
-
this.tickets = new (0,
|
|
403
|
-
this.ticketWebhooks = new (0,
|
|
404
|
-
this.timeEntries = new (0,
|
|
405
|
-
this.timeEntryAttachments = new (0,
|
|
406
|
-
this.timeOffRequests = new (0,
|
|
407
|
-
this.versionInformation = new (0,
|
|
408
|
-
this.version = new (0,
|
|
409
|
-
this.zoneInformation = new (0,
|
|
282
|
+
this.appointments = new (0, _chunkHEW4WJLCcjs.AppointmentsResource)(this.http, this.config.pageSize);
|
|
283
|
+
this.authenticateResource = new (0, _chunkHEW4WJLCcjs.AuthenticateResource)(this.http);
|
|
284
|
+
this.billingCodes = new (0, _chunkHEW4WJLCcjs.BillingCodesResource)(this.http, this.config.pageSize);
|
|
285
|
+
this.billingItems = new (0, _chunkHEW4WJLCcjs.BillingItemsResource)(this.http, this.config.pageSize);
|
|
286
|
+
this.changeRequestLinks = new (0, _chunkHEW4WJLCcjs.ChangeRequestLinksResource)(this.http, this.config.pageSize);
|
|
287
|
+
this.checklistLibraries = new (0, _chunkHEW4WJLCcjs.ChecklistLibrariesResource)(this.http, this.config.pageSize);
|
|
288
|
+
this.checklistLibraryChecklistItems = new (0, _chunkHEW4WJLCcjs.ChecklistLibraryChecklistItemsResource)(this.http, this.config.pageSize);
|
|
289
|
+
this.classificationIcons = new (0, _chunkHEW4WJLCcjs.ClassificationIconsResource)(this.http, this.config.pageSize);
|
|
290
|
+
this.companies = new (0, _chunkHEW4WJLCcjs.CompaniesResource)(this.http, this.config.pageSize);
|
|
291
|
+
this.companyAlerts = new (0, _chunkHEW4WJLCcjs.CompanyAlertsResource)(this.http, this.config.pageSize);
|
|
292
|
+
this.companyLocations = new (0, _chunkHEW4WJLCcjs.CompanyLocationsResource)(this.http, this.config.pageSize);
|
|
293
|
+
this.companyNotes = new (0, _chunkHEW4WJLCcjs.CompanyNotesResource)(this.http, this.config.pageSize);
|
|
294
|
+
this.companySiteConfigurations = new (0, _chunkHEW4WJLCcjs.CompanySiteConfigurationsResource)(this.http, this.config.pageSize);
|
|
295
|
+
this.companyWebhooks = new (0, _chunkHEW4WJLCcjs.CompanyWebhooksResource)(this.http, this.config.pageSize);
|
|
296
|
+
this.configurationItemBillingProductAssociations = new (0, _chunkHEW4WJLCcjs.ConfigurationItemBillingProductAssociationsResource)(this.http, this.config.pageSize);
|
|
297
|
+
this.configurationItemCategories = new (0, _chunkHEW4WJLCcjs.ConfigurationItemCategoriesResource)(this.http, this.config.pageSize);
|
|
298
|
+
this.configurationItemCategoryUdfAssociations = new (0, _chunkHEW4WJLCcjs.ConfigurationItemCategoryUdfAssociationsResource)(this.http, this.config.pageSize);
|
|
299
|
+
this.configurationItemDnsRecords = new (0, _chunkHEW4WJLCcjs.ConfigurationItemDnsRecordsResource)(this.http, this.config.pageSize);
|
|
300
|
+
this.configurationItemNotes = new (0, _chunkHEW4WJLCcjs.ConfigurationItemNotesResource)(this.http, this.config.pageSize);
|
|
301
|
+
this.configurationItemRelatedItems = new (0, _chunkHEW4WJLCcjs.ConfigurationItemRelatedItemsResource)(this.http, this.config.pageSize);
|
|
302
|
+
this.configurationItems = new (0, _chunkHEW4WJLCcjs.ConfigurationItemsResource)(this.http, this.config.pageSize);
|
|
303
|
+
this.configurationItemSslSubjectAlternativeNames = new (0, _chunkHEW4WJLCcjs.ConfigurationItemSslSubjectAlternativeNamesResource)(this.http, this.config.pageSize);
|
|
304
|
+
this.configurationItemTypes = new (0, _chunkHEW4WJLCcjs.ConfigurationItemTypesResource)(this.http, this.config.pageSize);
|
|
305
|
+
this.configurationItemWebhooks = new (0, _chunkHEW4WJLCcjs.ConfigurationItemWebhooksResource)(this.http, this.config.pageSize);
|
|
306
|
+
this.contactGroupContacts = new (0, _chunkHEW4WJLCcjs.ContactGroupContactsResource)(this.http, this.config.pageSize);
|
|
307
|
+
this.contactGroups = new (0, _chunkHEW4WJLCcjs.ContactGroupsResource)(this.http, this.config.pageSize);
|
|
308
|
+
this.contacts = new (0, _chunkHEW4WJLCcjs.ContactsResource)(this.http, this.config.pageSize);
|
|
309
|
+
this.contactWebhooks = new (0, _chunkHEW4WJLCcjs.ContactWebhooksResource)(this.http, this.config.pageSize);
|
|
310
|
+
this.contractBillingRules = new (0, _chunkHEW4WJLCcjs.ContractBillingRulesResource)(this.http, this.config.pageSize);
|
|
311
|
+
this.contractBlockHourFactors = new (0, _chunkHEW4WJLCcjs.ContractBlockHourFactorsResource)(this.http, this.config.pageSize);
|
|
312
|
+
this.contractBlocks = new (0, _chunkHEW4WJLCcjs.ContractBlocksResource)(this.http, this.config.pageSize);
|
|
313
|
+
this.contractCharges = new (0, _chunkHEW4WJLCcjs.ContractChargesResource)(this.http, this.config.pageSize);
|
|
314
|
+
this.contractExclusionBillingCodes = new (0, _chunkHEW4WJLCcjs.ContractExclusionBillingCodesResource)(this.http, this.config.pageSize);
|
|
315
|
+
this.contractExclusionRoles = new (0, _chunkHEW4WJLCcjs.ContractExclusionRolesResource)(this.http, this.config.pageSize);
|
|
316
|
+
this.contractExclusionSetExcludedRoles = new (0, _chunkHEW4WJLCcjs.ContractExclusionSetExcludedRolesResource)(this.http, this.config.pageSize);
|
|
317
|
+
this.contractExclusionSetExcludedWorkTypes = new (0, _chunkHEW4WJLCcjs.ContractExclusionSetExcludedWorkTypesResource)(this.http, this.config.pageSize);
|
|
318
|
+
this.contractExclusionSets = new (0, _chunkHEW4WJLCcjs.ContractExclusionSetsResource)(this.http, this.config.pageSize);
|
|
319
|
+
this.contractMilestones = new (0, _chunkHEW4WJLCcjs.ContractMilestonesResource)(this.http, this.config.pageSize);
|
|
320
|
+
this.contractNotes = new (0, _chunkHEW4WJLCcjs.ContractNotesResource)(this.http, this.config.pageSize);
|
|
321
|
+
this.contractRates = new (0, _chunkHEW4WJLCcjs.ContractRatesResource)(this.http, this.config.pageSize);
|
|
322
|
+
this.contractRetainers = new (0, _chunkHEW4WJLCcjs.ContractRetainersResource)(this.http, this.config.pageSize);
|
|
323
|
+
this.contractRoleCosts = new (0, _chunkHEW4WJLCcjs.ContractRoleCostsResource)(this.http, this.config.pageSize);
|
|
324
|
+
this.contractServiceAdjustments = new (0, _chunkHEW4WJLCcjs.ContractServiceAdjustmentsResource)(this.http, this.config.pageSize);
|
|
325
|
+
this.contractServiceBundleAdjustments = new (0, _chunkHEW4WJLCcjs.ContractServiceBundleAdjustmentsResource)(this.http, this.config.pageSize);
|
|
326
|
+
this.contractServiceBundles = new (0, _chunkHEW4WJLCcjs.ContractServiceBundlesResource)(this.http, this.config.pageSize);
|
|
327
|
+
this.contractServiceBundleUnits = new (0, _chunkHEW4WJLCcjs.ContractServiceBundleUnitsResource)(this.http, this.config.pageSize);
|
|
328
|
+
this.contractServices = new (0, _chunkHEW4WJLCcjs.ContractServicesResource)(this.http, this.config.pageSize);
|
|
329
|
+
this.contractServiceUnits = new (0, _chunkHEW4WJLCcjs.ContractServiceUnitsResource)(this.http, this.config.pageSize);
|
|
330
|
+
this.contracts = new (0, _chunkHEW4WJLCcjs.ContractsResource)(this.http, this.config.pageSize);
|
|
331
|
+
this.contractTicketPurchases = new (0, _chunkHEW4WJLCcjs.ContractTicketPurchasesResource)(this.http, this.config.pageSize);
|
|
332
|
+
this.countries = new (0, _chunkHEW4WJLCcjs.CountriesResource)(this.http, this.config.pageSize);
|
|
333
|
+
this.departments = new (0, _chunkHEW4WJLCcjs.DepartmentsResource)(this.http, this.config.pageSize);
|
|
334
|
+
this.domainRegistrars = new (0, _chunkHEW4WJLCcjs.DomainRegistrarsResource)(this.http, this.config.pageSize);
|
|
335
|
+
this.entityInformation = new (0, _chunkHEW4WJLCcjs.EntityInformationResource)(this.http);
|
|
336
|
+
this.expenseItemAttachments = new (0, _chunkHEW4WJLCcjs.ExpenseItemAttachmentsResource)(this.http, this.config.pageSize);
|
|
337
|
+
this.expenseItems = new (0, _chunkHEW4WJLCcjs.ExpenseItemsResource)(this.http, this.config.pageSize);
|
|
338
|
+
this.expenseReports = new (0, _chunkHEW4WJLCcjs.ExpenseReportsResource)(this.http, this.config.pageSize);
|
|
339
|
+
this.holidaySets = new (0, _chunkHEW4WJLCcjs.HolidaySetsResource)(this.http, this.config.pageSize);
|
|
340
|
+
this.holidays = new (0, _chunkHEW4WJLCcjs.HolidaysResource)(this.http, this.config.pageSize);
|
|
341
|
+
this.inventoryProducts = new (0, _chunkHEW4WJLCcjs.InventoryProductsResource)(this.http, this.config.pageSize);
|
|
342
|
+
this.invoices = new (0, _chunkHEW4WJLCcjs.InvoicesResource)(this.http, this.config.pageSize);
|
|
343
|
+
this.modules = new (0, _chunkHEW4WJLCcjs.ModulesResource)(this.http);
|
|
344
|
+
this.notificationHistory = new (0, _chunkHEW4WJLCcjs.NotificationHistoryResource)(this.http, this.config.pageSize);
|
|
345
|
+
this.opportunities = new (0, _chunkHEW4WJLCcjs.OpportunitiesResource)(this.http, this.config.pageSize);
|
|
346
|
+
this.opportunityAttachments = new (0, _chunkHEW4WJLCcjs.OpportunityAttachmentsResource)(this.http, this.config.pageSize);
|
|
347
|
+
this.opportunityCategories = new (0, _chunkHEW4WJLCcjs.OpportunityCategoriesResource)(this.http, this.config.pageSize);
|
|
348
|
+
this.phases = new (0, _chunkHEW4WJLCcjs.PhasesResource)(this.http, this.config.pageSize);
|
|
349
|
+
this.products = new (0, _chunkHEW4WJLCcjs.ProductsResource)(this.http, this.config.pageSize);
|
|
350
|
+
this.productVendors = new (0, _chunkHEW4WJLCcjs.ProductVendorsResource)(this.http, this.config.pageSize);
|
|
351
|
+
this.projectCharges = new (0, _chunkHEW4WJLCcjs.ProjectChargesResource)(this.http, this.config.pageSize);
|
|
352
|
+
this.projectNotes = new (0, _chunkHEW4WJLCcjs.ProjectNotesResource)(this.http, this.config.pageSize);
|
|
353
|
+
this.projects = new (0, _chunkHEW4WJLCcjs.ProjectsResource)(this.http, this.config.pageSize);
|
|
354
|
+
this.purchaseApprovals = new (0, _chunkHEW4WJLCcjs.PurchaseApprovalsResource)(this.http, this.config.pageSize);
|
|
355
|
+
this.purchaseOrderItemReceiving = new (0, _chunkHEW4WJLCcjs.PurchaseOrderItemReceivingResource)(this.http, this.config.pageSize);
|
|
356
|
+
this.purchaseOrderItems = new (0, _chunkHEW4WJLCcjs.PurchaseOrderItemsResource)(this.http, this.config.pageSize);
|
|
357
|
+
this.purchaseOrders = new (0, _chunkHEW4WJLCcjs.PurchaseOrdersResource)(this.http, this.config.pageSize);
|
|
358
|
+
this.quoteItems = new (0, _chunkHEW4WJLCcjs.QuoteItemsResource)(this.http, this.config.pageSize);
|
|
359
|
+
this.quoteLocations = new (0, _chunkHEW4WJLCcjs.QuoteLocationsResource)(this.http, this.config.pageSize);
|
|
360
|
+
this.quotes = new (0, _chunkHEW4WJLCcjs.QuotesResource)(this.http, this.config.pageSize);
|
|
361
|
+
this.quoteTemplates = new (0, _chunkHEW4WJLCcjs.QuoteTemplatesResource)(this.http, this.config.pageSize);
|
|
362
|
+
this.resourceRoleQueues = new (0, _chunkHEW4WJLCcjs.ResourceRoleQueuesResource)(this.http, this.config.pageSize);
|
|
363
|
+
this.resourceRoles = new (0, _chunkHEW4WJLCcjs.ResourceRolesResource)(this.http, this.config.pageSize);
|
|
364
|
+
this.resourceSkills = new (0, _chunkHEW4WJLCcjs.ResourceSkillsResource)(this.http, this.config.pageSize);
|
|
365
|
+
this.resources = new (0, _chunkHEW4WJLCcjs.ResourcesResource)(this.http, this.config, this.config.pageSize);
|
|
366
|
+
this.resourceTimeOffAdditional = new (0, _chunkHEW4WJLCcjs.ResourceTimeOffAdditionalResource)(this.http, this.config.pageSize);
|
|
367
|
+
this.resourceTimeOffApprovers = new (0, _chunkHEW4WJLCcjs.ResourceTimeOffApproversResource)(this.http, this.config.pageSize);
|
|
368
|
+
this.resourceTimeOffBalances = new (0, _chunkHEW4WJLCcjs.ResourceTimeOffBalancesResource)(this.http, this.config.pageSize);
|
|
369
|
+
this.roles = new (0, _chunkHEW4WJLCcjs.RolesResource)(this.http, this.config.pageSize);
|
|
370
|
+
this.serviceCalls = new (0, _chunkHEW4WJLCcjs.ServiceCallsResource)(this.http, this.config.pageSize);
|
|
371
|
+
this.serviceCallTaskResources = new (0, _chunkHEW4WJLCcjs.ServiceCallTaskResourcesResource)(this.http, this.config.pageSize);
|
|
372
|
+
this.serviceCallTasks = new (0, _chunkHEW4WJLCcjs.ServiceCallTasksResource)(this.http, this.config.pageSize);
|
|
373
|
+
this.serviceCallTicketResources = new (0, _chunkHEW4WJLCcjs.ServiceCallTicketResourcesResource)(this.http, this.config.pageSize);
|
|
374
|
+
this.serviceCallTickets = new (0, _chunkHEW4WJLCcjs.ServiceCallTicketsResource)(this.http, this.config.pageSize);
|
|
375
|
+
this.serviceLevelAgreementResults = new (0, _chunkHEW4WJLCcjs.ServiceLevelAgreementResultsResource)(this.http, this.config.pageSize);
|
|
376
|
+
this.services = new (0, _chunkHEW4WJLCcjs.ServicesResource)(this.http, this.config.pageSize);
|
|
377
|
+
this.skills = new (0, _chunkHEW4WJLCcjs.SkillsResource)(this.http, this.config.pageSize);
|
|
378
|
+
this.subscriptionPeriods = new (0, _chunkHEW4WJLCcjs.SubscriptionPeriodsResource)(this.http, this.config.pageSize);
|
|
379
|
+
this.subscriptions = new (0, _chunkHEW4WJLCcjs.SubscriptionsResource)(this.http, this.config.pageSize);
|
|
380
|
+
this.surveyResults = new (0, _chunkHEW4WJLCcjs.SurveyResultsResource)(this.http, this.config.pageSize);
|
|
381
|
+
this.surveys = new (0, _chunkHEW4WJLCcjs.SurveysResource)(this.http, this.config.pageSize);
|
|
382
|
+
this.tagAliases = new (0, _chunkHEW4WJLCcjs.TagAliasesResource)(this.http, this.config.pageSize);
|
|
383
|
+
this.tagGroups = new (0, _chunkHEW4WJLCcjs.TagGroupsResource)(this.http, this.config.pageSize);
|
|
384
|
+
this.tags = new (0, _chunkHEW4WJLCcjs.TagsResource)(this.http, this.config.pageSize);
|
|
385
|
+
this.taskSecondaryResources = new (0, _chunkHEW4WJLCcjs.TaskSecondaryResourcesResource)(this.http, this.config.pageSize);
|
|
386
|
+
this.tasks = new (0, _chunkHEW4WJLCcjs.TasksResource)(this.http, this.config.pageSize);
|
|
387
|
+
this.thresholdInformation = new (0, _chunkHEW4WJLCcjs.ThresholdInformationResource)(this.http);
|
|
388
|
+
this.ticketAdditionalConfigurationItems = new (0, _chunkHEW4WJLCcjs.TicketAdditionalConfigurationItemsResource)(this.http, this.config.pageSize);
|
|
389
|
+
this.ticketAdditionalContacts = new (0, _chunkHEW4WJLCcjs.TicketAdditionalContactsResource)(this.http, this.config.pageSize);
|
|
390
|
+
this.ticketAttachments = new (0, _chunkHEW4WJLCcjs.TicketAttachmentsResource)(this.http, this.config.pageSize);
|
|
391
|
+
this.ticketCategories = new (0, _chunkHEW4WJLCcjs.TicketCategoriesResource)(this.http, this.config.pageSize);
|
|
392
|
+
this.ticketCategoryFieldDefaults = new (0, _chunkHEW4WJLCcjs.TicketCategoryFieldDefaultsResource)(this.http, this.config.pageSize);
|
|
393
|
+
this.ticketChangeRequestApprovals = new (0, _chunkHEW4WJLCcjs.TicketChangeRequestApprovalsResource)(this.http, this.config.pageSize);
|
|
394
|
+
this.ticketCharges = new (0, _chunkHEW4WJLCcjs.TicketChargesResource)(this.http, this.config.pageSize);
|
|
395
|
+
this.ticketChecklistItems = new (0, _chunkHEW4WJLCcjs.TicketChecklistItemsResource)(this.http, this.config.pageSize);
|
|
396
|
+
this.ticketChecklistLibraries = new (0, _chunkHEW4WJLCcjs.TicketChecklistLibrariesResource)(this.http, this.config.pageSize);
|
|
397
|
+
this.ticketHistory = new (0, _chunkHEW4WJLCcjs.TicketHistoryResource)(this.http, this.config.pageSize);
|
|
398
|
+
this.ticketNoteAttachments = new (0, _chunkHEW4WJLCcjs.TicketNoteAttachmentsResource)(this.http, this.config.pageSize);
|
|
399
|
+
this.ticketNotes = new (0, _chunkHEW4WJLCcjs.TicketNotesResource)(this.http, this.config.pageSize);
|
|
400
|
+
this.ticketNoteWebhooks = new (0, _chunkHEW4WJLCcjs.TicketNoteWebhooksResource)(this.http, this.config.pageSize);
|
|
401
|
+
this.ticketSecondaryResources = new (0, _chunkHEW4WJLCcjs.TicketSecondaryResourcesResource)(this.http, this.config.pageSize);
|
|
402
|
+
this.tickets = new (0, _chunkHEW4WJLCcjs.TicketsResource)(this.http, this.config.pageSize);
|
|
403
|
+
this.ticketWebhooks = new (0, _chunkHEW4WJLCcjs.TicketWebhooksResource)(this.http, this.config.pageSize);
|
|
404
|
+
this.timeEntries = new (0, _chunkHEW4WJLCcjs.TimeEntriesResource)(this.http, this.config.pageSize);
|
|
405
|
+
this.timeEntryAttachments = new (0, _chunkHEW4WJLCcjs.TimeEntryAttachmentsResource)(this.http, this.config.pageSize);
|
|
406
|
+
this.timeOffRequests = new (0, _chunkHEW4WJLCcjs.TimeOffRequestsResource)(this.http, this.config.pageSize);
|
|
407
|
+
this.versionInformation = new (0, _chunkHEW4WJLCcjs.VersionInformationResource)(this.http);
|
|
408
|
+
this.version = new (0, _chunkHEW4WJLCcjs.VersionResource)(this.http);
|
|
409
|
+
this.zoneInformation = new (0, _chunkHEW4WJLCcjs.ZoneInformationResource)(this.http);
|
|
410
410
|
}
|
|
411
411
|
/**
|
|
412
412
|
* `GET /V1.0/Authenticate` → `AuthTokenResultModel` (as-is). The SDK does
|
|
@@ -440,12 +440,12 @@ var AutotaskClient = class {
|
|
|
440
440
|
* parameter on each: `await client.withSignal(signal, () => invoke(client, ...))`.
|
|
441
441
|
*/
|
|
442
442
|
withSignal(signal, fn) {
|
|
443
|
-
return
|
|
443
|
+
return _chunkQWAWNQEZcjs.runWithSignal.call(void 0, signal, fn);
|
|
444
444
|
}
|
|
445
445
|
async batch(fn, items, opts = {}) {
|
|
446
446
|
const concurrency = _nullishCoalesce(opts.concurrency, () => ( this.config.maxConcurrent));
|
|
447
447
|
if (!Number.isInteger(concurrency) || concurrency <= 0) {
|
|
448
|
-
throw new (0,
|
|
448
|
+
throw new (0, _chunkQWAWNQEZcjs.AutotaskConfigError)("batch concurrency must be a positive integer");
|
|
449
449
|
}
|
|
450
450
|
const { signal, settle } = opts;
|
|
451
451
|
const results = new Array(items.length);
|
|
@@ -460,7 +460,7 @@ var AutotaskClient = class {
|
|
|
460
460
|
const i = next++;
|
|
461
461
|
try {
|
|
462
462
|
const item = items[i];
|
|
463
|
-
const value = await (signal === void 0 ? fn(item) :
|
|
463
|
+
const value = await (signal === void 0 ? fn(item) : _chunkQWAWNQEZcjs.runWithSignal.call(void 0, signal, () => fn(item)));
|
|
464
464
|
results[i] = settle ? { status: "fulfilled", value } : value;
|
|
465
465
|
} catch (error) {
|
|
466
466
|
if (settle) results[i] = { status: "rejected", reason: error };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5; var _class6; var _class7;
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkCBUY3MKBcjs = require('./chunk-CBUY3MKB.cjs');
|
|
4
4
|
|
|
5
5
|
// src/auth.ts
|
|
6
6
|
var AUTH_HEADERS = {
|
|
@@ -16035,7 +16035,7 @@ async function expandResourceNames(client, ids, opts = {}) {
|
|
|
16035
16035
|
canonical[i] = parseIdentifier(raw, at);
|
|
16036
16036
|
} catch (e16) {
|
|
16037
16037
|
if (typeof raw === "string") {
|
|
16038
|
-
problems.push(`${at}: "${raw}" is not a vendor numeric resource id \u2014 non-numeric string identifiers are
|
|
16038
|
+
problems.push(`${at}: "${raw}" is not a vendor numeric resource id \u2014 non-numeric string identifiers are operations.resolveAny territory (the resource's findBy* helpers)`);
|
|
16039
16039
|
} else if (typeof raw === "number") {
|
|
16040
16040
|
problems.push(`${at}: ${raw} is not a non-negative safe integer (a JS number this large is already corrupted \u2014 pass the canonical integer string form)`);
|
|
16041
16041
|
} else {
|
|
@@ -16046,7 +16046,7 @@ async function expandResourceNames(client, ids, opts = {}) {
|
|
|
16046
16046
|
if (problems.length > 0) {
|
|
16047
16047
|
throw new AutotaskConfigError(`expandResourceNames: ${problems.length} problem(s) found pre-request (zero wire was issued)
|
|
16048
16048
|
- ` + problems.join("\n- "), {
|
|
16049
|
-
suggestedAction: "Fix every id above and call again \u2014 the ids are vendor NUMERIC resource ids only (name-to-id resolution is
|
|
16049
|
+
suggestedAction: "Fix every id above and call again \u2014 the ids are vendor NUMERIC resource ids only (name-to-id resolution is operations.resolveAny territory)."
|
|
16050
16050
|
});
|
|
16051
16051
|
}
|
|
16052
16052
|
const unique = [];
|
|
@@ -16171,7 +16171,7 @@ function capabilitySets() {
|
|
|
16171
16171
|
const fieldOps = /* @__PURE__ */ new Map();
|
|
16172
16172
|
const udfOps = /* @__PURE__ */ new Map();
|
|
16173
16173
|
const resources = /* @__PURE__ */ new Set();
|
|
16174
|
-
for (const rec of
|
|
16174
|
+
for (const rec of _chunkCBUY3MKBcjs.CAPABILITIES) {
|
|
16175
16175
|
if (rec.resource === "operations") continue;
|
|
16176
16176
|
resources.add(rec.resource);
|
|
16177
16177
|
if (rec.operation === "getFieldInfo") fieldOps.set(rec.resource, rec);
|
|
@@ -16794,7 +16794,7 @@ function validateFetchManyItems(items, cap, opName = "fetchMany", capRef = `FETC
|
|
|
16794
16794
|
} catch (e17) {
|
|
16795
16795
|
if (typeof item.id === "string") {
|
|
16796
16796
|
problems.push(
|
|
16797
|
-
`${at}.id: "${item.id}" is not a vendor numeric id \u2014 non-numeric string identifiers are
|
|
16797
|
+
`${at}.id: "${item.id}" is not a vendor numeric id \u2014 non-numeric string identifiers are operations.resolveAny territory (the resource's findBy* helpers)`
|
|
16798
16798
|
);
|
|
16799
16799
|
} else if (typeof item.id === "number") {
|
|
16800
16800
|
problems.push(
|
|
@@ -17444,8 +17444,9 @@ var BaseResource = class {
|
|
|
17444
17444
|
* The key is (resource plan key, canonical filter serialisation — the
|
|
17445
17445
|
* normalised conditions' JSON): the initial `count(F)` probe and every
|
|
17446
17446
|
* `id gt T` threshold probe are separate entries, and a re-asked
|
|
17447
|
-
* "top N" within the TTL makes ZERO extra count calls
|
|
17448
|
-
*
|
|
17447
|
+
* "top N" within the TTL makes ZERO extra count calls for every CACHED
|
|
17448
|
+
* probe (the bracket/search sequence is deterministic given the counts);
|
|
17449
|
+
* a probe that answered 0 is never cached, so it re-wires (issue #157).
|
|
17449
17450
|
* Issue #157: two corrections to the snapshot trade. (1) A total of 0 is
|
|
17450
17451
|
* NEVER stored — a 0 is rare and cheap to re-probe, and a cached 0 fed
|
|
17451
17452
|
* the false-empty branch (a repeat after an out-of-band insert returned
|
|
@@ -17535,14 +17536,18 @@ var BaseResource = class {
|
|
|
17535
17536
|
* paths involved. Issue #127: every count probe of this walk (the
|
|
17536
17537
|
* initial `count(F)` + the `id gt T` threshold probes) rides the
|
|
17537
17538
|
* per-client short-TTL count cache (30 s; a real write through this
|
|
17538
|
-
* client clears it) — a re-asked "top N" within the window reuses
|
|
17539
|
-
*
|
|
17540
|
-
* cached (the plan-pinned stamps stay fresh), and a 0 total is
|
|
17541
|
-
* cached either (issue #157: a 0 is cheap to re-probe and a cached
|
|
17542
|
-
* would shadow an out-of-band insert)
|
|
17543
|
-
* by the ONE fresh re-probe above
|
|
17544
|
-
*
|
|
17545
|
-
*
|
|
17539
|
+
* client clears it) — a re-asked "top N" within the window reuses every
|
|
17540
|
+
* CACHED probe (zero extra vendor count calls); sentinel answers are
|
|
17541
|
+
* never cached (the plan-pinned stamps stay fresh), and a 0 total is
|
|
17542
|
+
* never cached either (issue #157: a 0 is cheap to re-probe and a cached
|
|
17543
|
+
* 0 would shadow an out-of-band insert), so a 0-answering probe re-wires.
|
|
17544
|
+
* The stale-LOW direction is closed by the ONE fresh re-probe above. The
|
|
17545
|
+
* stale-HIGH direction is the documented snapshot trade, NOT "safe by
|
|
17546
|
+
* construction": the threshold probes are cache-served like every other
|
|
17547
|
+
* probe (no fresh re-probe exists on that path), so a cached threshold
|
|
17548
|
+
* count higher than reality can under-report the ROW COUNT within the
|
|
17549
|
+
* TTL — the returned top-N stays correct, and full-set mode ends when the
|
|
17550
|
+
* cursor exhausts. The plain `count` op and
|
|
17546
17551
|
* `operations.aggregate` bypass the cache by construction and promise
|
|
17547
17552
|
* fresh totals.
|
|
17548
17553
|
*/
|
|
@@ -1717,7 +1717,7 @@ declare function toArray<T>(iter: AsyncIterable<T>): Promise<T[]>;
|
|
|
1717
1717
|
* queryBounded noteChars free-text cap (issue #61 — response-side only);
|
|
1718
1718
|
* - docs/API.md §11.7/§11.8/§11.9/§11.10/§11.11/§11.12 render the same facts.
|
|
1719
1719
|
*
|
|
1720
|
-
* planHash:
|
|
1720
|
+
* planHash: baf3e855956ed5450e1efea640845cb0fbc3a3a5a631a6159d4702b8dc726170
|
|
1721
1721
|
*/
|
|
1722
1722
|
|
|
1723
1723
|
/** One pinned blind-surface stamp (the result-time sentinel object). */
|
|
@@ -2259,8 +2259,9 @@ declare abstract class BaseResource<T = Record<string, unknown>, TCreate = Recor
|
|
|
2259
2259
|
* The key is (resource plan key, canonical filter serialisation — the
|
|
2260
2260
|
* normalised conditions' JSON): the initial `count(F)` probe and every
|
|
2261
2261
|
* `id gt T` threshold probe are separate entries, and a re-asked
|
|
2262
|
-
* "top N" within the TTL makes ZERO extra count calls
|
|
2263
|
-
*
|
|
2262
|
+
* "top N" within the TTL makes ZERO extra count calls for every CACHED
|
|
2263
|
+
* probe (the bracket/search sequence is deterministic given the counts);
|
|
2264
|
+
* a probe that answered 0 is never cached, so it re-wires (issue #157).
|
|
2264
2265
|
* Issue #157: two corrections to the snapshot trade. (1) A total of 0 is
|
|
2265
2266
|
* NEVER stored — a 0 is rare and cheap to re-probe, and a cached 0 fed
|
|
2266
2267
|
* the false-empty branch (a repeat after an out-of-band insert returned
|
|
@@ -2332,14 +2333,18 @@ declare abstract class BaseResource<T = Record<string, unknown>, TCreate = Recor
|
|
|
2332
2333
|
* paths involved. Issue #127: every count probe of this walk (the
|
|
2333
2334
|
* initial `count(F)` + the `id gt T` threshold probes) rides the
|
|
2334
2335
|
* per-client short-TTL count cache (30 s; a real write through this
|
|
2335
|
-
* client clears it) — a re-asked "top N" within the window reuses
|
|
2336
|
-
*
|
|
2337
|
-
* cached (the plan-pinned stamps stay fresh), and a 0 total is
|
|
2338
|
-
* cached either (issue #157: a 0 is cheap to re-probe and a cached
|
|
2339
|
-
* would shadow an out-of-band insert)
|
|
2340
|
-
* by the ONE fresh re-probe above
|
|
2341
|
-
*
|
|
2342
|
-
*
|
|
2336
|
+
* client clears it) — a re-asked "top N" within the window reuses every
|
|
2337
|
+
* CACHED probe (zero extra vendor count calls); sentinel answers are
|
|
2338
|
+
* never cached (the plan-pinned stamps stay fresh), and a 0 total is
|
|
2339
|
+
* never cached either (issue #157: a 0 is cheap to re-probe and a cached
|
|
2340
|
+
* 0 would shadow an out-of-band insert), so a 0-answering probe re-wires.
|
|
2341
|
+
* The stale-LOW direction is closed by the ONE fresh re-probe above. The
|
|
2342
|
+
* stale-HIGH direction is the documented snapshot trade, NOT "safe by
|
|
2343
|
+
* construction": the threshold probes are cache-served like every other
|
|
2344
|
+
* probe (no fresh re-probe exists on that path), so a cached threshold
|
|
2345
|
+
* count higher than reality can under-report the ROW COUNT within the
|
|
2346
|
+
* TTL — the returned top-N stays correct, and full-set mode ends when the
|
|
2347
|
+
* cursor exhausts. The plain `count` op and
|
|
2343
2348
|
* `operations.aggregate` bypass the cache by construction and promise
|
|
2344
2349
|
* fresh totals.
|
|
2345
2350
|
*/
|
|
@@ -1717,7 +1717,7 @@ declare function toArray<T>(iter: AsyncIterable<T>): Promise<T[]>;
|
|
|
1717
1717
|
* queryBounded noteChars free-text cap (issue #61 — response-side only);
|
|
1718
1718
|
* - docs/API.md §11.7/§11.8/§11.9/§11.10/§11.11/§11.12 render the same facts.
|
|
1719
1719
|
*
|
|
1720
|
-
* planHash:
|
|
1720
|
+
* planHash: baf3e855956ed5450e1efea640845cb0fbc3a3a5a631a6159d4702b8dc726170
|
|
1721
1721
|
*/
|
|
1722
1722
|
|
|
1723
1723
|
/** One pinned blind-surface stamp (the result-time sentinel object). */
|
|
@@ -2259,8 +2259,9 @@ declare abstract class BaseResource<T = Record<string, unknown>, TCreate = Recor
|
|
|
2259
2259
|
* The key is (resource plan key, canonical filter serialisation — the
|
|
2260
2260
|
* normalised conditions' JSON): the initial `count(F)` probe and every
|
|
2261
2261
|
* `id gt T` threshold probe are separate entries, and a re-asked
|
|
2262
|
-
* "top N" within the TTL makes ZERO extra count calls
|
|
2263
|
-
*
|
|
2262
|
+
* "top N" within the TTL makes ZERO extra count calls for every CACHED
|
|
2263
|
+
* probe (the bracket/search sequence is deterministic given the counts);
|
|
2264
|
+
* a probe that answered 0 is never cached, so it re-wires (issue #157).
|
|
2264
2265
|
* Issue #157: two corrections to the snapshot trade. (1) A total of 0 is
|
|
2265
2266
|
* NEVER stored — a 0 is rare and cheap to re-probe, and a cached 0 fed
|
|
2266
2267
|
* the false-empty branch (a repeat after an out-of-band insert returned
|
|
@@ -2332,14 +2333,18 @@ declare abstract class BaseResource<T = Record<string, unknown>, TCreate = Recor
|
|
|
2332
2333
|
* paths involved. Issue #127: every count probe of this walk (the
|
|
2333
2334
|
* initial `count(F)` + the `id gt T` threshold probes) rides the
|
|
2334
2335
|
* per-client short-TTL count cache (30 s; a real write through this
|
|
2335
|
-
* client clears it) — a re-asked "top N" within the window reuses
|
|
2336
|
-
*
|
|
2337
|
-
* cached (the plan-pinned stamps stay fresh), and a 0 total is
|
|
2338
|
-
* cached either (issue #157: a 0 is cheap to re-probe and a cached
|
|
2339
|
-
* would shadow an out-of-band insert)
|
|
2340
|
-
* by the ONE fresh re-probe above
|
|
2341
|
-
*
|
|
2342
|
-
*
|
|
2336
|
+
* client clears it) — a re-asked "top N" within the window reuses every
|
|
2337
|
+
* CACHED probe (zero extra vendor count calls); sentinel answers are
|
|
2338
|
+
* never cached (the plan-pinned stamps stay fresh), and a 0 total is
|
|
2339
|
+
* never cached either (issue #157: a 0 is cheap to re-probe and a cached
|
|
2340
|
+
* 0 would shadow an out-of-band insert), so a 0-answering probe re-wires.
|
|
2341
|
+
* The stale-LOW direction is closed by the ONE fresh re-probe above. The
|
|
2342
|
+
* stale-HIGH direction is the documented snapshot trade, NOT "safe by
|
|
2343
|
+
* construction": the threshold probes are cache-served like every other
|
|
2344
|
+
* probe (no fresh re-probe exists on that path), so a cached threshold
|
|
2345
|
+
* count higher than reality can under-report the ROW COUNT within the
|
|
2346
|
+
* TTL — the returned top-N stays correct, and full-set mode ends when the
|
|
2347
|
+
* cursor exhausts. The plain `count` op and
|
|
2343
2348
|
* `operations.aggregate` bypass the cache by construction and promise
|
|
2344
2349
|
* fresh totals.
|
|
2345
2350
|
*/
|