node-autotask 0.19.0 → 0.20.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 +16 -0
- package/MCP_TOOL_CATALOG.json +6 -6
- package/MCP_TOOL_MANIFEST.md +127 -127
- package/N8N_MCP_MANIFEST.json +44 -9
- package/N8N_MCP_MANIFEST.md +8 -8
- package/capabilities.json +1938 -1826
- package/capabilities.schema.json +6 -0
- package/dist/capabilities.cjs +2 -2
- package/dist/capabilities.js +1 -1
- package/dist/{chunk-NDK7WYWA.js → chunk-2T77J2ZM.js} +1937 -1825
- package/dist/{chunk-JM52ZU7T.cjs → chunk-FLYTKJKV.cjs} +1937 -1825
- package/dist/{chunk-LB2X4X4B.js → chunk-GA6UCX3Z.js} +207 -51
- package/dist/{chunk-4YKV7ORF.js → chunk-JEJUFXHX.js} +2 -2
- package/dist/{chunk-QDYSHAU6.cjs → chunk-L6V66V22.cjs} +215 -59
- package/dist/{chunk-TIM75K3G.cjs → chunk-RMLGOCGA.cjs} +135 -135
- package/dist/{chunk-D5RAQ4DE.js → chunk-XSYJB4IW.js} +3 -3
- package/dist/{chunk-7RDR5DSI.cjs → chunk-YH5CPRDN.cjs} +394 -394
- package/dist/{index-aZ3tCh1h.d.cts → index-AN-NjLi9.d.cts} +100 -9
- package/dist/{index-DLugNSr7.d.ts → index-CvLLsOCP.d.ts} +100 -9
- 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 +184 -136
- package/dist/operations/index.d.cts +2 -2
- package/dist/operations/index.d.ts +2 -2
- package/dist/operations/index.js +79 -31
- 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 +78 -22
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { I as Identifier, g as AuditEvent, ez as ResolutionCaps, Q as QueryParams, dD as PagingModel, dn as OperationResult, dC as Page, cE as EmptyReasonInfo, cG as EntityInformationModel, cW as FieldInformationModel, cU as Field, a as FilterCondition, cD as DryRunResult, ey as Resolution, c as Appointment, d as AppointmentCreate, f as AppointmentUpdate, e as AppointmentSummary, h as AuthTokenResultModel, B as BillingCode, j as BillingCodeCreate, l as BillingCodeUpdate, k as BillingCodeSummary, m as BillingItems, n as BillingItemsCreate, p as BillingItemsUpdate, o as BillingItemsSummary, C as ChangeRequestLink, q as ChangeRequestLinkCreate, s as ChangeRequestLinkUpdate, r as ChangeRequestLinkSummary, t as ChecklistLibrary, y as ChecklistLibraryCreate, D as ChecklistLibraryUpdate, z as ChecklistLibrarySummary, u as ChecklistLibraryChecklistItem, v as ChecklistLibraryChecklistItemCreate, x as ChecklistLibraryChecklistItemUpdate, w as ChecklistLibraryChecklistItemSummary, E as ClassificationIcon, G as ClassificationIconCreate, J as ClassificationIconUpdate, H as ClassificationIconSummary, K as Company, S as CompanyLocation, aN as Contact, W as CompanyNote, g9 as Ticket, dR as Project, hq as CompositeNamesSection, ha as TimeEntry, R as CompanyCreate, a3 as CompanyUpdate, a2 as CompanySummary, P as CompanyContext, L as CompanyAlert, M as CompanyAlertCreate, O as CompanyAlertUpdate, N as CompanyAlertSummary, T as CompanyLocationCreate, V as CompanyLocationUpdate, U as CompanyLocationSummary, X as CompanyNoteCreate, Z as CompanyNoteUpdate, Y as CompanyNoteSummary, _ as CompanySiteConfigurations, $ as CompanySiteConfigurationsCreate, a1 as CompanySiteConfigurationsUpdate, a0 as CompanySiteConfigurationsSummary, a4 as CompanyWebhook, a5 as CompanyWebhookCreate, a7 as CompanyWebhookUpdate, a6 as CompanyWebhookSummary, a9 as ConfigurationItemBillingProductAssociations, aa as ConfigurationItemBillingProductAssociationsCreate, ac as ConfigurationItemBillingProductAssociationsUpdate, ab as ConfigurationItemBillingProductAssociationsSummary, ad as ConfigurationItemCategory, ae as ConfigurationItemCategoryCreate, ak as ConfigurationItemCategoryUpdate, af as ConfigurationItemCategorySummary, ag as ConfigurationItemCategoryUdfAssociation, ah as ConfigurationItemCategoryUdfAssociationCreate, aj as ConfigurationItemCategoryUdfAssociationUpdate, ai as ConfigurationItemCategoryUdfAssociationSummary, an as ConfigurationItemDnsRecord, ao as ConfigurationItemDnsRecordCreate, aq as ConfigurationItemDnsRecordUpdate, ap as ConfigurationItemDnsRecordSummary, ar as ConfigurationItemNote, as as ConfigurationItemNoteCreate, au as ConfigurationItemNoteUpdate, at as ConfigurationItemNoteSummary, av as ConfigurationItemRelatedItem, aw as ConfigurationItemRelatedItemCreate, ay as ConfigurationItemRelatedItemUpdate, ax as ConfigurationItemRelatedItemSummary, a8 as ConfigurationItem, aE as ConfigurationItemType, am as ConfigurationItemCreate, aI as ConfigurationItemUpdate, aD as ConfigurationItemSummary, al as ConfigurationItemContext, az as ConfigurationItemSslSubjectAlternativeName, aA as ConfigurationItemSslSubjectAlternativeNameCreate, aC as ConfigurationItemSslSubjectAlternativeNameUpdate, aB as ConfigurationItemSslSubjectAlternativeNameSummary, aF as ConfigurationItemTypeCreate, aH as ConfigurationItemTypeUpdate, aG as ConfigurationItemTypeSummary, aJ as ConfigurationItemWebhook, aK as ConfigurationItemWebhookCreate, aM as ConfigurationItemWebhookUpdate, aL as ConfigurationItemWebhookSummary, aQ as ContactGroupContacts, aR as ContactGroupContactsCreate, aT as ContactGroupContactsUpdate, aS as ContactGroupContactsSummary, aU as ContactGroups, aV as ContactGroupsCreate, aX as ContactGroupsUpdate, aW as ContactGroupsSummary, aY as ContactSummary, aP as ContactCreate, aZ as ContactUpdate, aO as ContactContext, a_ as ContactWebhook, a$ as ContactWebhookCreate, b1 as ContactWebhookUpdate, b0 as ContactWebhookSummary, b3 as ContractBillingRule, b4 as ContractBillingRuleCreate, b6 as ContractBillingRuleUpdate, b5 as ContractBillingRuleSummary, b9 as ContractBlockHourFactor, ba as ContractBlockHourFactorCreate, bc as ContractBlockHourFactorUpdate, bb as ContractBlockHourFactorSummary, b7 as ContractBlock, b8 as ContractBlockCreate, be as ContractBlockUpdate, bd as ContractBlockSummary, bf as ContractCharge, bg as ContractChargeCreate, bi as ContractChargeUpdate, bh as ContractChargeSummary, bk as ContractExclusionBillingCode, bl as ContractExclusionBillingCodeCreate, bn as ContractExclusionBillingCodeUpdate, bm as ContractExclusionBillingCodeSummary, bo as ContractExclusionRoles, bp as ContractExclusionRolesCreate, br as ContractExclusionRolesUpdate, bq as ContractExclusionRolesSummary, bs as ContractExclusionSetExcludedRoles, bt as ContractExclusionSetExcludedRolesCreate, bv as ContractExclusionSetExcludedRolesUpdate, bu as ContractExclusionSetExcludedRolesSummary, bw as ContractExclusionSetExcludedWorkTypes, bx as ContractExclusionSetExcludedWorkTypesCreate, bz as ContractExclusionSetExcludedWorkTypesUpdate, by as ContractExclusionSetExcludedWorkTypesSummary, bA as ContractExclusionSets, bB as ContractExclusionSetsCreate, bD as ContractExclusionSetsUpdate, bC as ContractExclusionSetsSummary, bE as ContractMilestone, bF as ContractMilestoneCreate, bH as ContractMilestoneUpdate, bG as ContractMilestoneSummary, bI as ContractNote, bJ as ContractNoteCreate, bL as ContractNoteUpdate, bK as ContractNoteSummary, bM as ContractRate, bN as ContractRateCreate, bP as ContractRateUpdate, bO as ContractRateSummary, bQ as ContractRetainers, bR as ContractRetainersCreate, bT as ContractRetainersUpdate, bS as ContractRetainersSummary, bU as ContractRoleCosts, bV as ContractRoleCostsCreate, bX as ContractRoleCostsUpdate, bW as ContractRoleCostsSummary, bZ as ContractServiceAdjustment, b_ as ContractServiceAdjustmentCreate, c0 as ContractServiceAdjustmentUpdate, b$ as ContractServiceAdjustmentSummary, c2 as ContractServiceBundleAdjustment, c3 as ContractServiceBundleAdjustmentCreate, c5 as ContractServiceBundleAdjustmentUpdate, c4 as ContractServiceBundleAdjustmentSummary, c1 as ContractServiceBundle, c6 as ContractServiceBundleCreate, cc as ContractServiceBundleUpdate, c7 as ContractServiceBundleSummary, c8 as ContractServiceBundleUnit, c9 as ContractServiceBundleUnitCreate, cb as ContractServiceBundleUnitUpdate, ca as ContractServiceBundleUnitSummary, bY as ContractService, cd as ContractServiceCreate, cj as ContractServiceUpdate, ce as ContractServiceSummary, cf as ContractServiceUnit, cg as ContractServiceUnitCreate, ci as ContractServiceUnitUpdate, ch as ContractServiceUnitSummary, b2 as Contract, dc as Invoice, eA as Resource, cI as ExpenseItem, fA as Subscription, bj as ContractCreate, cp as ContractUpdate, ck as ContractSummary, cl as ContractTicketPurchases, cm as ContractTicketPurchasesCreate, co as ContractTicketPurchasesUpdate, cn as ContractTicketPurchasesSummary, cq as Country, cr as CountryCreate, ct as CountryUpdate, cs as CountrySummary, cu as Department, cv as DepartmentCreate, cx as DepartmentUpdate, cw as DepartmentSummary, cz as DomainRegistrar, cA as DomainRegistrarCreate, cC as DomainRegistrarUpdate, cB as DomainRegistrarSummary, cY as GlobalEntityInformationResultModel, cJ as ExpenseItemAttachment, cK as ExpenseItemAttachmentCreate, cM as ExpenseItemAttachmentUpdate, cL as ExpenseItemAttachmentSummary, cN as ExpenseItemCreate, cP as ExpenseItemUpdate, cO as ExpenseItemSummary, cQ as ExpenseReport, cR as ExpenseReportCreate, cT as ExpenseReportUpdate, cS as ExpenseReportSummary, c$ as HolidaySet, d0 as HolidaySetCreate, d2 as HolidaySetUpdate, d1 as HolidaySetSummary, cZ as Holiday, c_ as HolidayCreate, d4 as HolidayUpdate, d3 as HolidaySummary, d5 as InventoryProduct, d6 as InventoryProductCreate, d8 as InventoryProductUpdate, d7 as InventoryProductSummary, d9 as InventoryStockedItemAdd, da as InventoryStockedItemRemove, db as InventoryStockedItemTransfer, dd as InvoiceCreate, df as InvoiceUpdate, de as InvoiceSummary, dh as ModuleAccessResultModel, di as NotificationHistory, dj as NotificationHistoryCreate, dl as NotificationHistoryUpdate, dk as NotificationHistorySummary, dq as Opportunity, dz as OpportunityCreate, dB as OpportunityUpdate, dA as OpportunitySummary, dr as OpportunityAttachment, ds as OpportunityAttachmentCreate, du as OpportunityAttachmentUpdate, dt as OpportunityAttachmentSummary, dv as OpportunityCategory, dw as OpportunityCategoryCreate, dy as OpportunityCategoryUpdate, dx as OpportunityCategorySummary, dE as Phase, dF as PhaseCreate, dH as PhaseUpdate, dG as PhaseSummary, dJ as Product, dK as ProductCreate, dM as ProductUpdate, dL as ProductSummary, dN as ProductVendors, dO as ProductVendorsCreate, dQ as ProductVendorsUpdate, dP as ProductVendorsSummary, dS as ProjectCharge, dT as ProjectChargeCreate, dV as ProjectChargeUpdate, dU as ProjectChargeSummary, dY as ProjectNote, dZ as ProjectNoteCreate, d$ as ProjectNoteUpdate, d_ as ProjectNoteSummary, dX as ProjectCreate, e1 as ProjectUpdate, e0 as ProjectSummary, hr as CompositeContextOptions, dW as ProjectContext, e2 as PurchaseApprovals, e3 as PurchaseApprovalsCreate, e5 as PurchaseApprovalsUpdate, e4 as PurchaseApprovalsSummary, e6 as PurchaseOrderItemReceiving, e7 as PurchaseOrderItemReceivingCreate, e9 as PurchaseOrderItemReceivingUpdate, e8 as PurchaseOrderItemReceivingSummary, ea as PurchaseOrderItems, eb as PurchaseOrderItemsCreate, ed as PurchaseOrderItemsUpdate, ec as PurchaseOrderItemsSummary, ee as PurchaseOrders, ef as PurchaseOrdersCreate, eh as PurchaseOrdersUpdate, eg as PurchaseOrdersSummary, ek as QuoteItem, el as QuoteItemCreate, en as QuoteItemUpdate, em as QuoteItemSummary, eo as QuoteLocation, ep as QuoteLocationCreate, er as QuoteLocationUpdate, eq as QuoteLocationSummary, ei as Quote, ej as QuoteCreate, ex as QuoteUpdate, es as QuoteSummary, et as QuoteTemplate, eu as QuoteTemplateCreate, ew as QuoteTemplateUpdate, ev as QuoteTemplateSummary, eE as ResourceRoleQueue, eF as ResourceRoleQueueCreate, eH as ResourceRoleQueueUpdate, eG as ResourceRoleQueueSummary, eC as ResourceRole, eD as ResourceRoleCreate, eJ as ResourceRoleUpdate, eI as ResourceRoleSummary, eK as ResourceSkill, eL as ResourceSkillCreate, eN as ResourceSkillUpdate, eM as ResourceSkillSummary, eB as ResourceCreate, e$ as ResourceUpdate, eO as ResourceSummary, eP as ResourceTimeOffAdditional, eQ as ResourceTimeOffAdditionalCreate, eS as ResourceTimeOffAdditionalUpdate, eR as ResourceTimeOffAdditionalSummary, eT as ResourceTimeOffApprover, eU as ResourceTimeOffApproverCreate, eW as ResourceTimeOffApproverUpdate, eV as ResourceTimeOffApproverSummary, eX as ResourceTimeOffBalance, eY as ResourceTimeOffBalanceCreate, e_ as ResourceTimeOffBalanceUpdate, eZ as ResourceTimeOffBalanceSummary, f0 as Role, f1 as RoleCreate, f3 as RoleUpdate, f2 as RoleSummary, f5 as ServiceCall, f6 as ServiceCallCreate, fo as ServiceCallUpdate, f7 as ServiceCallSummary, fa as ServiceCallTaskResource, fb as ServiceCallTaskResourceCreate, fd as ServiceCallTaskResourceUpdate, fc as ServiceCallTaskResourceSummary, f8 as ServiceCallTask, f9 as ServiceCallTaskCreate, ff as ServiceCallTaskUpdate, fe as ServiceCallTaskSummary, fi as ServiceCallTicketResource, fj as ServiceCallTicketResourceCreate, fl as ServiceCallTicketResourceUpdate, fk as ServiceCallTicketResourceSummary, fg as ServiceCallTicket, fh as ServiceCallTicketCreate, fn as ServiceCallTicketUpdate, fm as ServiceCallTicketSummary, fq as ServiceLevelAgreementResults, fr as ServiceLevelAgreementResultsCreate, ft as ServiceLevelAgreementResultsUpdate, fs as ServiceLevelAgreementResultsSummary, f4 as Service, fp as ServiceCreate, fv as ServiceUpdate, fu as ServiceSummary, fw as Skill, fx as SkillCreate, fz as SkillUpdate, fy as SkillSummary, fC as SubscriptionPeriod, fD as SubscriptionPeriodCreate, fF as SubscriptionPeriodUpdate, fE as SubscriptionPeriodSummary, fB as SubscriptionCreate, fH as SubscriptionUpdate, fG as SubscriptionSummary, fK as SurveyResults, fL as SurveyResultsCreate, fN as SurveyResultsUpdate, fM as SurveyResultsSummary, fI as Survey, fJ as SurveyCreate, fP as SurveyUpdate, fO as SurveySummary, fR as TagAlias, fS as TagAliasCreate, fU as TagAliasUpdate, fT as TagAliasSummary, fW as TagGroup, fX as TagGroupCreate, fZ as TagGroupUpdate, fY as TagGroupSummary, fQ as Tag, fV as TagCreate, f$ as TagUpdate, f_ as TagSummary, g2 as TaskSecondaryResource, g3 as TaskSecondaryResourceCreate, g5 as TaskSecondaryResourceUpdate, g4 as TaskSecondaryResourceSummary, g0 as Task, g1 as TaskCreate, g7 as TaskUpdate, g6 as TaskSummary, g8 as ThresholdStatusResultModel, ga as TicketAdditionalConfigurationItem, gb as TicketAdditionalConfigurationItemCreate, gd as TicketAdditionalConfigurationItemUpdate, gc as TicketAdditionalConfigurationItemSummary, ge as TicketAdditionalContact, gf as TicketAdditionalContactCreate, gh as TicketAdditionalContactUpdate, gg as TicketAdditionalContactSummary, gi as TicketAttachment, gj as TicketAttachmentCreate, gl as TicketAttachmentUpdate, gk as TicketAttachmentSummary, gm as TicketCategory, gn as TicketCategoryCreate, gt as TicketCategoryUpdate, gs as TicketCategorySummary, go as TicketCategoryFieldDefault, gp as TicketCategoryFieldDefaultCreate, gr as TicketCategoryFieldDefaultUpdate, gq as TicketCategoryFieldDefaultSummary, gu as TicketChangeRequestApproval, gv as TicketChangeRequestApprovalCreate, gx as TicketChangeRequestApprovalUpdate, gw as TicketChangeRequestApprovalSummary, gy as TicketCharge, gz as TicketChargeCreate, gB as TicketChargeUpdate, gA as TicketChargeSummary, gC as TicketChecklistItem, gD as TicketChecklistItemCreate, gF as TicketChecklistItemUpdate, gE as TicketChecklistItemSummary, gG as TicketChecklistLibrary, gH as TicketChecklistLibraryCreate, gJ as TicketChecklistLibraryUpdate, gI as TicketChecklistLibrarySummary, gM as TicketHistory, gN as TicketHistoryCreate, gP as TicketHistoryUpdate, gO as TicketHistorySummary, gR as TicketNoteAttachment, gS as TicketNoteAttachmentCreate, gU as TicketNoteAttachmentUpdate, gT as TicketNoteAttachmentSummary, gQ as TicketNote, gV as TicketNoteCreate, gX as TicketNoteUpdate, gW as TicketNoteSummary, gY as TicketNoteWebhook, gZ as TicketNoteWebhookCreate, g$ as TicketNoteWebhookUpdate, g_ as TicketNoteWebhookSummary, h0 as TicketSecondaryResource, h1 as TicketSecondaryResourceCreate, h3 as TicketSecondaryResourceUpdate, h2 as TicketSecondaryResourceSummary, gL as TicketCreate, h5 as TicketUpdate, h4 as TicketSummary, gK as TicketContext, h6 as TicketWebhook, h7 as TicketWebhookCreate, h9 as TicketWebhookUpdate, h8 as TicketWebhookSummary, hf as TimeEntryCreate, hh as TimeEntryUpdate, hg as TimeEntrySummary, hb as TimeEntryAttachment, hc as TimeEntryAttachmentCreate, he as TimeEntryAttachmentUpdate, hd as TimeEntryAttachmentSummary, hi as TimeOffRequest, hj as TimeOffRequestCreate, hm as TimeOffRequestUpdate, hl as TimeOffRequestSummary, A as ApiVersionResultModel, i as AutotaskVersionResultModel, ho as ZoneInformationResultModel } from './index-BXtKN1M5.cjs';
|
|
1
|
+
import { I as Identifier, g as AuditEvent, a as FilterCondition, ez as ResolutionCaps, Q as QueryParams, dD as PagingModel, dn as OperationResult, dC as Page, cE as EmptyReasonInfo, cG as EntityInformationModel, cW as FieldInformationModel, cU as Field, cD as DryRunResult, ey as Resolution, c as Appointment, d as AppointmentCreate, f as AppointmentUpdate, e as AppointmentSummary, h as AuthTokenResultModel, B as BillingCode, j as BillingCodeCreate, l as BillingCodeUpdate, k as BillingCodeSummary, m as BillingItems, n as BillingItemsCreate, p as BillingItemsUpdate, o as BillingItemsSummary, C as ChangeRequestLink, q as ChangeRequestLinkCreate, s as ChangeRequestLinkUpdate, r as ChangeRequestLinkSummary, t as ChecklistLibrary, y as ChecklistLibraryCreate, D as ChecklistLibraryUpdate, z as ChecklistLibrarySummary, u as ChecklistLibraryChecklistItem, v as ChecklistLibraryChecklistItemCreate, x as ChecklistLibraryChecklistItemUpdate, w as ChecklistLibraryChecklistItemSummary, E as ClassificationIcon, G as ClassificationIconCreate, J as ClassificationIconUpdate, H as ClassificationIconSummary, K as Company, S as CompanyLocation, aN as Contact, W as CompanyNote, g9 as Ticket, dR as Project, hq as CompositeNamesSection, ha as TimeEntry, R as CompanyCreate, a3 as CompanyUpdate, a2 as CompanySummary, P as CompanyContext, L as CompanyAlert, M as CompanyAlertCreate, O as CompanyAlertUpdate, N as CompanyAlertSummary, T as CompanyLocationCreate, V as CompanyLocationUpdate, U as CompanyLocationSummary, X as CompanyNoteCreate, Z as CompanyNoteUpdate, Y as CompanyNoteSummary, _ as CompanySiteConfigurations, $ as CompanySiteConfigurationsCreate, a1 as CompanySiteConfigurationsUpdate, a0 as CompanySiteConfigurationsSummary, a4 as CompanyWebhook, a5 as CompanyWebhookCreate, a7 as CompanyWebhookUpdate, a6 as CompanyWebhookSummary, a9 as ConfigurationItemBillingProductAssociations, aa as ConfigurationItemBillingProductAssociationsCreate, ac as ConfigurationItemBillingProductAssociationsUpdate, ab as ConfigurationItemBillingProductAssociationsSummary, ad as ConfigurationItemCategory, ae as ConfigurationItemCategoryCreate, ak as ConfigurationItemCategoryUpdate, af as ConfigurationItemCategorySummary, ag as ConfigurationItemCategoryUdfAssociation, ah as ConfigurationItemCategoryUdfAssociationCreate, aj as ConfigurationItemCategoryUdfAssociationUpdate, ai as ConfigurationItemCategoryUdfAssociationSummary, an as ConfigurationItemDnsRecord, ao as ConfigurationItemDnsRecordCreate, aq as ConfigurationItemDnsRecordUpdate, ap as ConfigurationItemDnsRecordSummary, ar as ConfigurationItemNote, as as ConfigurationItemNoteCreate, au as ConfigurationItemNoteUpdate, at as ConfigurationItemNoteSummary, av as ConfigurationItemRelatedItem, aw as ConfigurationItemRelatedItemCreate, ay as ConfigurationItemRelatedItemUpdate, ax as ConfigurationItemRelatedItemSummary, a8 as ConfigurationItem, aE as ConfigurationItemType, am as ConfigurationItemCreate, aI as ConfigurationItemUpdate, aD as ConfigurationItemSummary, al as ConfigurationItemContext, az as ConfigurationItemSslSubjectAlternativeName, aA as ConfigurationItemSslSubjectAlternativeNameCreate, aC as ConfigurationItemSslSubjectAlternativeNameUpdate, aB as ConfigurationItemSslSubjectAlternativeNameSummary, aF as ConfigurationItemTypeCreate, aH as ConfigurationItemTypeUpdate, aG as ConfigurationItemTypeSummary, aJ as ConfigurationItemWebhook, aK as ConfigurationItemWebhookCreate, aM as ConfigurationItemWebhookUpdate, aL as ConfigurationItemWebhookSummary, aQ as ContactGroupContacts, aR as ContactGroupContactsCreate, aT as ContactGroupContactsUpdate, aS as ContactGroupContactsSummary, aU as ContactGroups, aV as ContactGroupsCreate, aX as ContactGroupsUpdate, aW as ContactGroupsSummary, aY as ContactSummary, aP as ContactCreate, aZ as ContactUpdate, aO as ContactContext, a_ as ContactWebhook, a$ as ContactWebhookCreate, b1 as ContactWebhookUpdate, b0 as ContactWebhookSummary, b3 as ContractBillingRule, b4 as ContractBillingRuleCreate, b6 as ContractBillingRuleUpdate, b5 as ContractBillingRuleSummary, b9 as ContractBlockHourFactor, ba as ContractBlockHourFactorCreate, bc as ContractBlockHourFactorUpdate, bb as ContractBlockHourFactorSummary, b7 as ContractBlock, b8 as ContractBlockCreate, be as ContractBlockUpdate, bd as ContractBlockSummary, bf as ContractCharge, bg as ContractChargeCreate, bi as ContractChargeUpdate, bh as ContractChargeSummary, bk as ContractExclusionBillingCode, bl as ContractExclusionBillingCodeCreate, bn as ContractExclusionBillingCodeUpdate, bm as ContractExclusionBillingCodeSummary, bo as ContractExclusionRoles, bp as ContractExclusionRolesCreate, br as ContractExclusionRolesUpdate, bq as ContractExclusionRolesSummary, bs as ContractExclusionSetExcludedRoles, bt as ContractExclusionSetExcludedRolesCreate, bv as ContractExclusionSetExcludedRolesUpdate, bu as ContractExclusionSetExcludedRolesSummary, bw as ContractExclusionSetExcludedWorkTypes, bx as ContractExclusionSetExcludedWorkTypesCreate, bz as ContractExclusionSetExcludedWorkTypesUpdate, by as ContractExclusionSetExcludedWorkTypesSummary, bA as ContractExclusionSets, bB as ContractExclusionSetsCreate, bD as ContractExclusionSetsUpdate, bC as ContractExclusionSetsSummary, bE as ContractMilestone, bF as ContractMilestoneCreate, bH as ContractMilestoneUpdate, bG as ContractMilestoneSummary, bI as ContractNote, bJ as ContractNoteCreate, bL as ContractNoteUpdate, bK as ContractNoteSummary, bM as ContractRate, bN as ContractRateCreate, bP as ContractRateUpdate, bO as ContractRateSummary, bQ as ContractRetainers, bR as ContractRetainersCreate, bT as ContractRetainersUpdate, bS as ContractRetainersSummary, bU as ContractRoleCosts, bV as ContractRoleCostsCreate, bX as ContractRoleCostsUpdate, bW as ContractRoleCostsSummary, bZ as ContractServiceAdjustment, b_ as ContractServiceAdjustmentCreate, c0 as ContractServiceAdjustmentUpdate, b$ as ContractServiceAdjustmentSummary, c2 as ContractServiceBundleAdjustment, c3 as ContractServiceBundleAdjustmentCreate, c5 as ContractServiceBundleAdjustmentUpdate, c4 as ContractServiceBundleAdjustmentSummary, c1 as ContractServiceBundle, c6 as ContractServiceBundleCreate, cc as ContractServiceBundleUpdate, c7 as ContractServiceBundleSummary, c8 as ContractServiceBundleUnit, c9 as ContractServiceBundleUnitCreate, cb as ContractServiceBundleUnitUpdate, ca as ContractServiceBundleUnitSummary, bY as ContractService, cd as ContractServiceCreate, cj as ContractServiceUpdate, ce as ContractServiceSummary, cf as ContractServiceUnit, cg as ContractServiceUnitCreate, ci as ContractServiceUnitUpdate, ch as ContractServiceUnitSummary, b2 as Contract, dc as Invoice, eA as Resource, cI as ExpenseItem, fA as Subscription, bj as ContractCreate, cp as ContractUpdate, ck as ContractSummary, cl as ContractTicketPurchases, cm as ContractTicketPurchasesCreate, co as ContractTicketPurchasesUpdate, cn as ContractTicketPurchasesSummary, cq as Country, cr as CountryCreate, ct as CountryUpdate, cs as CountrySummary, cu as Department, cv as DepartmentCreate, cx as DepartmentUpdate, cw as DepartmentSummary, cz as DomainRegistrar, cA as DomainRegistrarCreate, cC as DomainRegistrarUpdate, cB as DomainRegistrarSummary, cY as GlobalEntityInformationResultModel, cJ as ExpenseItemAttachment, cK as ExpenseItemAttachmentCreate, cM as ExpenseItemAttachmentUpdate, cL as ExpenseItemAttachmentSummary, cN as ExpenseItemCreate, cP as ExpenseItemUpdate, cO as ExpenseItemSummary, cQ as ExpenseReport, cR as ExpenseReportCreate, cT as ExpenseReportUpdate, cS as ExpenseReportSummary, c$ as HolidaySet, d0 as HolidaySetCreate, d2 as HolidaySetUpdate, d1 as HolidaySetSummary, cZ as Holiday, c_ as HolidayCreate, d4 as HolidayUpdate, d3 as HolidaySummary, d5 as InventoryProduct, d6 as InventoryProductCreate, d8 as InventoryProductUpdate, d7 as InventoryProductSummary, d9 as InventoryStockedItemAdd, da as InventoryStockedItemRemove, db as InventoryStockedItemTransfer, dd as InvoiceCreate, df as InvoiceUpdate, de as InvoiceSummary, dh as ModuleAccessResultModel, di as NotificationHistory, dj as NotificationHistoryCreate, dl as NotificationHistoryUpdate, dk as NotificationHistorySummary, dq as Opportunity, dz as OpportunityCreate, dB as OpportunityUpdate, dA as OpportunitySummary, dr as OpportunityAttachment, ds as OpportunityAttachmentCreate, du as OpportunityAttachmentUpdate, dt as OpportunityAttachmentSummary, dv as OpportunityCategory, dw as OpportunityCategoryCreate, dy as OpportunityCategoryUpdate, dx as OpportunityCategorySummary, dE as Phase, dF as PhaseCreate, dH as PhaseUpdate, dG as PhaseSummary, dJ as Product, dK as ProductCreate, dM as ProductUpdate, dL as ProductSummary, dN as ProductVendors, dO as ProductVendorsCreate, dQ as ProductVendorsUpdate, dP as ProductVendorsSummary, dS as ProjectCharge, dT as ProjectChargeCreate, dV as ProjectChargeUpdate, dU as ProjectChargeSummary, dY as ProjectNote, dZ as ProjectNoteCreate, d$ as ProjectNoteUpdate, d_ as ProjectNoteSummary, dX as ProjectCreate, e1 as ProjectUpdate, e0 as ProjectSummary, hr as CompositeContextOptions, dW as ProjectContext, e2 as PurchaseApprovals, e3 as PurchaseApprovalsCreate, e5 as PurchaseApprovalsUpdate, e4 as PurchaseApprovalsSummary, e6 as PurchaseOrderItemReceiving, e7 as PurchaseOrderItemReceivingCreate, e9 as PurchaseOrderItemReceivingUpdate, e8 as PurchaseOrderItemReceivingSummary, ea as PurchaseOrderItems, eb as PurchaseOrderItemsCreate, ed as PurchaseOrderItemsUpdate, ec as PurchaseOrderItemsSummary, ee as PurchaseOrders, ef as PurchaseOrdersCreate, eh as PurchaseOrdersUpdate, eg as PurchaseOrdersSummary, ek as QuoteItem, el as QuoteItemCreate, en as QuoteItemUpdate, em as QuoteItemSummary, eo as QuoteLocation, ep as QuoteLocationCreate, er as QuoteLocationUpdate, eq as QuoteLocationSummary, ei as Quote, ej as QuoteCreate, ex as QuoteUpdate, es as QuoteSummary, et as QuoteTemplate, eu as QuoteTemplateCreate, ew as QuoteTemplateUpdate, ev as QuoteTemplateSummary, eE as ResourceRoleQueue, eF as ResourceRoleQueueCreate, eH as ResourceRoleQueueUpdate, eG as ResourceRoleQueueSummary, eC as ResourceRole, eD as ResourceRoleCreate, eJ as ResourceRoleUpdate, eI as ResourceRoleSummary, eK as ResourceSkill, eL as ResourceSkillCreate, eN as ResourceSkillUpdate, eM as ResourceSkillSummary, eB as ResourceCreate, e$ as ResourceUpdate, eO as ResourceSummary, eP as ResourceTimeOffAdditional, eQ as ResourceTimeOffAdditionalCreate, eS as ResourceTimeOffAdditionalUpdate, eR as ResourceTimeOffAdditionalSummary, eT as ResourceTimeOffApprover, eU as ResourceTimeOffApproverCreate, eW as ResourceTimeOffApproverUpdate, eV as ResourceTimeOffApproverSummary, eX as ResourceTimeOffBalance, eY as ResourceTimeOffBalanceCreate, e_ as ResourceTimeOffBalanceUpdate, eZ as ResourceTimeOffBalanceSummary, f0 as Role, f1 as RoleCreate, f3 as RoleUpdate, f2 as RoleSummary, f5 as ServiceCall, f6 as ServiceCallCreate, fo as ServiceCallUpdate, f7 as ServiceCallSummary, fa as ServiceCallTaskResource, fb as ServiceCallTaskResourceCreate, fd as ServiceCallTaskResourceUpdate, fc as ServiceCallTaskResourceSummary, f8 as ServiceCallTask, f9 as ServiceCallTaskCreate, ff as ServiceCallTaskUpdate, fe as ServiceCallTaskSummary, fi as ServiceCallTicketResource, fj as ServiceCallTicketResourceCreate, fl as ServiceCallTicketResourceUpdate, fk as ServiceCallTicketResourceSummary, fg as ServiceCallTicket, fh as ServiceCallTicketCreate, fn as ServiceCallTicketUpdate, fm as ServiceCallTicketSummary, fq as ServiceLevelAgreementResults, fr as ServiceLevelAgreementResultsCreate, ft as ServiceLevelAgreementResultsUpdate, fs as ServiceLevelAgreementResultsSummary, f4 as Service, fp as ServiceCreate, fv as ServiceUpdate, fu as ServiceSummary, fw as Skill, fx as SkillCreate, fz as SkillUpdate, fy as SkillSummary, fC as SubscriptionPeriod, fD as SubscriptionPeriodCreate, fF as SubscriptionPeriodUpdate, fE as SubscriptionPeriodSummary, fB as SubscriptionCreate, fH as SubscriptionUpdate, fG as SubscriptionSummary, fK as SurveyResults, fL as SurveyResultsCreate, fN as SurveyResultsUpdate, fM as SurveyResultsSummary, fI as Survey, fJ as SurveyCreate, fP as SurveyUpdate, fO as SurveySummary, fR as TagAlias, fS as TagAliasCreate, fU as TagAliasUpdate, fT as TagAliasSummary, fW as TagGroup, fX as TagGroupCreate, fZ as TagGroupUpdate, fY as TagGroupSummary, fQ as Tag, fV as TagCreate, f$ as TagUpdate, f_ as TagSummary, g2 as TaskSecondaryResource, g3 as TaskSecondaryResourceCreate, g5 as TaskSecondaryResourceUpdate, g4 as TaskSecondaryResourceSummary, g0 as Task, g1 as TaskCreate, g7 as TaskUpdate, g6 as TaskSummary, g8 as ThresholdStatusResultModel, ga as TicketAdditionalConfigurationItem, gb as TicketAdditionalConfigurationItemCreate, gd as TicketAdditionalConfigurationItemUpdate, gc as TicketAdditionalConfigurationItemSummary, ge as TicketAdditionalContact, gf as TicketAdditionalContactCreate, gh as TicketAdditionalContactUpdate, gg as TicketAdditionalContactSummary, gi as TicketAttachment, gj as TicketAttachmentCreate, gl as TicketAttachmentUpdate, gk as TicketAttachmentSummary, gm as TicketCategory, gn as TicketCategoryCreate, gt as TicketCategoryUpdate, gs as TicketCategorySummary, go as TicketCategoryFieldDefault, gp as TicketCategoryFieldDefaultCreate, gr as TicketCategoryFieldDefaultUpdate, gq as TicketCategoryFieldDefaultSummary, gu as TicketChangeRequestApproval, gv as TicketChangeRequestApprovalCreate, gx as TicketChangeRequestApprovalUpdate, gw as TicketChangeRequestApprovalSummary, gy as TicketCharge, gz as TicketChargeCreate, gB as TicketChargeUpdate, gA as TicketChargeSummary, gC as TicketChecklistItem, gD as TicketChecklistItemCreate, gF as TicketChecklistItemUpdate, gE as TicketChecklistItemSummary, gG as TicketChecklistLibrary, gH as TicketChecklistLibraryCreate, gJ as TicketChecklistLibraryUpdate, gI as TicketChecklistLibrarySummary, gM as TicketHistory, gN as TicketHistoryCreate, gP as TicketHistoryUpdate, gO as TicketHistorySummary, gR as TicketNoteAttachment, gS as TicketNoteAttachmentCreate, gU as TicketNoteAttachmentUpdate, gT as TicketNoteAttachmentSummary, gQ as TicketNote, gV as TicketNoteCreate, gX as TicketNoteUpdate, gW as TicketNoteSummary, gY as TicketNoteWebhook, gZ as TicketNoteWebhookCreate, g$ as TicketNoteWebhookUpdate, g_ as TicketNoteWebhookSummary, h0 as TicketSecondaryResource, h1 as TicketSecondaryResourceCreate, h3 as TicketSecondaryResourceUpdate, h2 as TicketSecondaryResourceSummary, gL as TicketCreate, h5 as TicketUpdate, h4 as TicketSummary, gK as TicketContext, h6 as TicketWebhook, h7 as TicketWebhookCreate, h9 as TicketWebhookUpdate, h8 as TicketWebhookSummary, hf as TimeEntryCreate, hh as TimeEntryUpdate, hg as TimeEntrySummary, hb as TimeEntryAttachment, hc as TimeEntryAttachmentCreate, he as TimeEntryAttachmentUpdate, hd as TimeEntryAttachmentSummary, hi as TimeOffRequest, hj as TimeOffRequestCreate, hm as TimeOffRequestUpdate, hl as TimeOffRequestSummary, A as ApiVersionResultModel, i as AutotaskVersionResultModel, ho as ZoneInformationResultModel } from './index-BXtKN1M5.cjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* A read-through TTL cache (lazy purge on read; expiry is `Date.now()`
|
|
@@ -1260,6 +1260,52 @@ declare function resolveCredentials(config: AutotaskConfig): {
|
|
|
1260
1260
|
/** Validate + resolve an AutotaskConfig (fail closed; throws AutotaskConfigError). */
|
|
1261
1261
|
declare function resolveConfig(config: AutotaskConfig): ResolvedAutotaskConfig;
|
|
1262
1262
|
|
|
1263
|
+
/**
|
|
1264
|
+
* A short-TTL in-memory cache of the `latest` walk's count probes (lazy
|
|
1265
|
+
* purge on read; expiry is `Date.now()` based; LRU-ish eviction at the cap).
|
|
1266
|
+
* Plain `number` values only — `set` refuses a non-finite number silently
|
|
1267
|
+
* (the sentinel record never reaches it by construction; the guard keeps
|
|
1268
|
+
* the store's type honest if a caller ever does).
|
|
1269
|
+
*/
|
|
1270
|
+
declare class LatestCountCache {
|
|
1271
|
+
/** The TTL in ms. */
|
|
1272
|
+
readonly ttlMs: number;
|
|
1273
|
+
/** The entry bound (applies to STORED entries). */
|
|
1274
|
+
readonly maxEntries: number;
|
|
1275
|
+
private readonly store;
|
|
1276
|
+
/** The invalidation epoch (the `ReadCache` pattern — issue #139): bumped
|
|
1277
|
+
* by `clear()`; capture it before a wire read and pass it to `set` so a
|
|
1278
|
+
* probe in flight across a write cannot re-store its stale answer. */
|
|
1279
|
+
private epochCounter;
|
|
1280
|
+
constructor(ttlMs: number, maxEntries?: number);
|
|
1281
|
+
/** The composite key: (resource plan key, canonical filter serialisation)
|
|
1282
|
+
* — the `\u0000` separator is unencodable in a filter value, so no two
|
|
1283
|
+
* (resource, conditions) pairs collide. */
|
|
1284
|
+
static key(resourceKey: string, conditions: readonly FilterCondition[] | undefined): string;
|
|
1285
|
+
/** The live entry's count, or `undefined` (absent OR expired — an expired
|
|
1286
|
+
* entry is purged lazily on this read). */
|
|
1287
|
+
get(key: string): number | undefined;
|
|
1288
|
+
/** The invalidation epoch: bumped by `clear()`; capture it before a wire
|
|
1289
|
+
* read and pass it to `set` so a probe in flight across a write cannot
|
|
1290
|
+
* re-store its stale answer (issue #139, the `ReadCache` pattern). */
|
|
1291
|
+
get epoch(): number;
|
|
1292
|
+
/** Store a SUCCESSFUL plain-number count under `key`, live for `ttlMs`.
|
|
1293
|
+
* `epoch` is the invalidation epoch the caller captured BEFORE its wire
|
|
1294
|
+
* read: a probe that straddled a `clear()` (a write) is dropped, never
|
|
1295
|
+
* re-stored with its pre-write body (issue #139). Past the cap: purge
|
|
1296
|
+
* expired entries first, then evict the oldest-inserted (Map iteration
|
|
1297
|
+
* order = insertion order). */
|
|
1298
|
+
set(key: string, value: number, epoch?: number): void;
|
|
1299
|
+
/** Drop one entry (absent = no-op). Issue #157: the stale-LOW recovery
|
|
1300
|
+
* deletes the cached total before its one fresh wire re-probe, so the
|
|
1301
|
+
* re-probe cannot be served by the entry it is meant to replace. */
|
|
1302
|
+
delete(key: string): void;
|
|
1303
|
+
/** Clear every entry (a real write through the owning client — the
|
|
1304
|
+
* write-then-read re-fetch rule) and bump the invalidation epoch: a
|
|
1305
|
+
* `set` captured before this `clear` is discarded (issue #139). */
|
|
1306
|
+
clear(): void;
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1263
1309
|
interface RequestOptions {
|
|
1264
1310
|
method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
1265
1311
|
/** Path after the base URL, already interpolated, e.g. '/V1.0/Companies/42'. */
|
|
@@ -1426,6 +1472,11 @@ declare class HttpClient {
|
|
|
1426
1472
|
readonly fieldCache: FieldCache | undefined;
|
|
1427
1473
|
/** Resource-name cache for `operations.expandResourceNames` (issue #80: the default instance when `resourceNameCache` is absent; undefined only when the user set `false` explicitly, issue #65). */
|
|
1428
1474
|
readonly resourceNameCache: ResourceNameCache | undefined;
|
|
1475
|
+
/** The `latest` walk's count-probe cache (issue #127: the short-TTL
|
|
1476
|
+
* per-client count cache — ALWAYS on, process-internal: no config
|
|
1477
|
+
* surface, no served keys; the plain `count` op and `operations.aggregate`
|
|
1478
|
+
* bypass it by construction and promise fresh totals). */
|
|
1479
|
+
readonly latestCountCache: LatestCountCache;
|
|
1429
1480
|
/** Resolved update fallback gate (issue #34; OFF by default). */
|
|
1430
1481
|
readonly update: {
|
|
1431
1482
|
putFallback: boolean;
|
|
@@ -1666,7 +1717,7 @@ declare function toArray<T>(iter: AsyncIterable<T>): Promise<T[]>;
|
|
|
1666
1717
|
* queryBounded noteChars free-text cap (issue #61 — response-side only);
|
|
1667
1718
|
* - docs/API.md §11.7/§11.8/§11.9/§11.10/§11.11/§11.12 render the same facts.
|
|
1668
1719
|
*
|
|
1669
|
-
* planHash:
|
|
1720
|
+
* planHash: f6a579e0b7a8544f6e477a730d21a9ba031536392d8dbaeb2f73c61ca290ae91
|
|
1670
1721
|
*/
|
|
1671
1722
|
|
|
1672
1723
|
/** One pinned blind-surface stamp (the result-time sentinel object). */
|
|
@@ -2198,10 +2249,35 @@ declare abstract class BaseResource<T = Record<string, unknown>, TCreate = Recor
|
|
|
2198
2249
|
* numbers numerically; exact-digit strings via `BigInt`; mixed
|
|
2199
2250
|
* number/string via `BigInt(String(a))`) — ids above 2^53 stay exact. */
|
|
2200
2251
|
private compareIds;
|
|
2252
|
+
/** Issue #127: the `latest` walk's count probes through the per-client
|
|
2253
|
+
* short-TTL count cache (`LatestCountCache` — fixed 30 s TTL, the
|
|
2254
|
+
* memory guard; cleared on every real write through this client, the
|
|
2255
|
+
* write-then-read re-fetch rule). Only a SUCCESSFUL plain-number vendor
|
|
2256
|
+
* count answer is stored: the blind-surface / pinned-empty sentinels are
|
|
2257
|
+
* RECORDS and pass through un-stored (the plan-pinned stamps stay fresh
|
|
2258
|
+
* and re-derive on every call), and an error rejects before any store.
|
|
2259
|
+
* The key is (resource plan key, canonical filter serialisation — the
|
|
2260
|
+
* normalised conditions' JSON): the initial `count(F)` probe and every
|
|
2261
|
+
* `id gt T` threshold probe are separate entries, and a re-asked
|
|
2262
|
+
* "top N" within the TTL makes ZERO extra count calls (its probes all
|
|
2263
|
+
* hit — the bracket/search sequence is deterministic given the counts).
|
|
2264
|
+
* Issue #157: two corrections to the snapshot trade. (1) A total of 0 is
|
|
2265
|
+
* NEVER stored — a 0 is rare and cheap to re-probe, and a cached 0 fed
|
|
2266
|
+
* the false-empty branch (a repeat after an out-of-band insert returned
|
|
2267
|
+
* no rows without walking). (2) `fresh: true` DELETES the entry before
|
|
2268
|
+
* the wire read and re-stores the fresh answer — the ONE re-probe the
|
|
2269
|
+
* stale-LOW recovery in `latestWalk` is allowed. Counts are snapshots,
|
|
2270
|
+
* not contracts: the truncation guard covers the growth-of-total
|
|
2271
|
+
* direction; a stale-LOW total within the TTL is resolved by that one
|
|
2272
|
+
* fresh re-probe (never by the guard alone). The plain `count` op and
|
|
2273
|
+
* `operations.aggregate` call `countGlobal` directly and promise fresh
|
|
2274
|
+
* totals — this wrapper is used ONLY on the latest-walk probe path.
|
|
2275
|
+
*/
|
|
2276
|
+
private latestProbeCount;
|
|
2201
2277
|
/** Issue #59: one `latest` threshold count probe — a ROWLESS
|
|
2202
2278
|
* `count(F ∧ id gt T)` call (the vendor caps — ≤500 OR-conditions,
|
|
2203
2279
|
* 8000 chars serialised — leave a single `gt` condition room on any
|
|
2204
|
-
* filter). The `BlindCountResult` sentinel (a record, not a number —
|
|
2280
|
+
* filter). Issue #127: it rides the per-client short-TTL count cache — the same (resource, conditions) probe within the 30 s window is reused (zero vendor calls); a sentinel answer is never cached. The `BlindCountResult` sentinel (a record, not a number —
|
|
2205
2281
|
* the declared `number` return is the documented under-type) unwraps to
|
|
2206
2282
|
* its `count` value (always 0): at or above the max matching id the
|
|
2207
2283
|
* count is 0, which is exactly the bracket-termination signal. */
|
|
@@ -2222,8 +2298,11 @@ declare abstract class BaseResource<T = Record<string, unknown>, TCreate = Recor
|
|
|
2222
2298
|
* 1 + ceil(C/500) <= 6, independent of table size. A truncated walk
|
|
2223
2299
|
* (the vendor's rows disagree with its own count) is
|
|
2224
2300
|
* LATEST_WINDOW_INCOMPLETE — the top-N of a truncated set is
|
|
2225
|
-
* unprovable
|
|
2226
|
-
*
|
|
2301
|
+
* unprovable — EXCEPT issue #157: when `C` came from the CACHE, the
|
|
2302
|
+
* total is re-probed ONCE fresh (the stale-LOW recovery: a larger
|
|
2303
|
+
* fresh total continues the walk against it; the refusal stands only
|
|
2304
|
+
* when the fresh probe confirms the cached value). Sort
|
|
2305
|
+
* id-descending; return the top N (a set of C < N returns itself).
|
|
2227
2306
|
* - `C > 2500` → THRESHOLD mode: find the smallest id threshold `T`
|
|
2228
2307
|
* with `count(F ∧ id gt T) <= N` by exponential bracketing
|
|
2229
2308
|
* (T = 1, 2, 4, …) + binary search — each probe ONE rowless count
|
|
@@ -2250,7 +2329,19 @@ declare abstract class BaseResource<T = Record<string, unknown>, TCreate = Recor
|
|
|
2250
2329
|
* answer.
|
|
2251
2330
|
* `includeFields` always carries `id` (the P1 id-append,
|
|
2252
2331
|
* `buildQueryRequest`), which `latest` sorts on. Pure read; no mutation
|
|
2253
|
-
* paths involved.
|
|
2332
|
+
* paths involved. Issue #127: every count probe of this walk (the
|
|
2333
|
+
* initial `count(F)` + the `id gt T` threshold probes) rides the
|
|
2334
|
+
* 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 the
|
|
2336
|
+
* probes (zero extra vendor count calls); sentinel answers are never
|
|
2337
|
+
* cached (the plan-pinned stamps stay fresh), and a 0 total is never
|
|
2338
|
+
* cached either (issue #157: a 0 is cheap to re-probe and a cached 0
|
|
2339
|
+
* would shadow an out-of-band insert). The stale-LOW direction is closed
|
|
2340
|
+
* by the ONE fresh re-probe above; the stale-HIGH direction is safe by
|
|
2341
|
+
* construction (threshold mode re-probes fresh `id gt T` counts and
|
|
2342
|
+
* full-set mode ends when the cursor exhausts). The plain `count` op and
|
|
2343
|
+
* `operations.aggregate` bypass the cache by construction and promise
|
|
2344
|
+
* fresh totals.
|
|
2254
2345
|
*/
|
|
2255
2346
|
private latestWalk;
|
|
2256
2347
|
/** The shared `latest` completion: the (provably complete or
|
|
@@ -2757,7 +2848,7 @@ declare class BillingCodesResource extends BaseResource<BillingCode, BillingCode
|
|
|
2757
2848
|
interface DateWindowOptions {
|
|
2758
2849
|
/** Window anchor (default: now) — tests pin it for determinism. */
|
|
2759
2850
|
now?: Date;
|
|
2760
|
-
/** Max records (default
|
|
2851
|
+
/** Max records (default 500 = the hard cap — a call without limit takes the first 500 rows in vendor id order; a window with more than 500 matching rows needs the bounded query op with the same date-window filter — its 2500-row walk cap, issue #128). */
|
|
2761
2852
|
limit?: number;
|
|
2762
2853
|
/** IANA timezone (e.g. 'Australia/Sydney') — the window's calendar day/period is computed in that zone's local calendar and converted to UTC for the wire; omitted = UTC (the current behaviour, bit-for-bit). `last24h` is rolling and TZ-invariant (a zone never changes it). */
|
|
2763
2854
|
tz?: string;
|
|
@@ -8866,7 +8957,7 @@ declare class TicketWebhooksResource extends BaseResource<TicketWebhook, TicketW
|
|
|
8866
8957
|
* behaviour bit-for-bit) under its historical name. */
|
|
8867
8958
|
type TimeEntriesWindowOptions = DateWindowOptions;
|
|
8868
8959
|
interface TimeEntriesStatusOptions {
|
|
8869
|
-
/** Max records (default
|
|
8960
|
+
/** Max records (default 500 = the hard cap, issue #128). */
|
|
8870
8961
|
limit?: number;
|
|
8871
8962
|
/** Optional ticketID eq narrowing (node parity). */
|
|
8872
8963
|
ticketID?: number;
|
|
@@ -8875,7 +8966,7 @@ interface TimeEntriesStatusOptions {
|
|
|
8875
8966
|
interface TimeEntriesPostedWindowOptions {
|
|
8876
8967
|
/** Posted narrowing: `true` = posted rows only (postedDate exist), `false` = unposted rows only (postedDate notExist), omitted = both (the counts split the returned items). On a zone whose entity lacks the field (W-D3, e.g. ww29 — see the pointer note) the vendor 500s and the typed note explains. */
|
|
8877
8968
|
posted?: boolean;
|
|
8878
|
-
/** Max records (default
|
|
8969
|
+
/** Max records (default 500 = the hard cap — a window with more than 500 matching rows: the bounded query op (time_entries.query) with the same dateWorked filter, its 2500-row walk cap; issue #128). */
|
|
8879
8970
|
limit?: number;
|
|
8880
8971
|
/** Optional ticketID eq narrowing. */
|
|
8881
8972
|
ticketID?: number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { I as Identifier, g as AuditEvent, ez as ResolutionCaps, Q as QueryParams, dD as PagingModel, dn as OperationResult, dC as Page, cE as EmptyReasonInfo, cG as EntityInformationModel, cW as FieldInformationModel, cU as Field, a as FilterCondition, cD as DryRunResult, ey as Resolution, c as Appointment, d as AppointmentCreate, f as AppointmentUpdate, e as AppointmentSummary, h as AuthTokenResultModel, B as BillingCode, j as BillingCodeCreate, l as BillingCodeUpdate, k as BillingCodeSummary, m as BillingItems, n as BillingItemsCreate, p as BillingItemsUpdate, o as BillingItemsSummary, C as ChangeRequestLink, q as ChangeRequestLinkCreate, s as ChangeRequestLinkUpdate, r as ChangeRequestLinkSummary, t as ChecklistLibrary, y as ChecklistLibraryCreate, D as ChecklistLibraryUpdate, z as ChecklistLibrarySummary, u as ChecklistLibraryChecklistItem, v as ChecklistLibraryChecklistItemCreate, x as ChecklistLibraryChecklistItemUpdate, w as ChecklistLibraryChecklistItemSummary, E as ClassificationIcon, G as ClassificationIconCreate, J as ClassificationIconUpdate, H as ClassificationIconSummary, K as Company, S as CompanyLocation, aN as Contact, W as CompanyNote, g9 as Ticket, dR as Project, hq as CompositeNamesSection, ha as TimeEntry, R as CompanyCreate, a3 as CompanyUpdate, a2 as CompanySummary, P as CompanyContext, L as CompanyAlert, M as CompanyAlertCreate, O as CompanyAlertUpdate, N as CompanyAlertSummary, T as CompanyLocationCreate, V as CompanyLocationUpdate, U as CompanyLocationSummary, X as CompanyNoteCreate, Z as CompanyNoteUpdate, Y as CompanyNoteSummary, _ as CompanySiteConfigurations, $ as CompanySiteConfigurationsCreate, a1 as CompanySiteConfigurationsUpdate, a0 as CompanySiteConfigurationsSummary, a4 as CompanyWebhook, a5 as CompanyWebhookCreate, a7 as CompanyWebhookUpdate, a6 as CompanyWebhookSummary, a9 as ConfigurationItemBillingProductAssociations, aa as ConfigurationItemBillingProductAssociationsCreate, ac as ConfigurationItemBillingProductAssociationsUpdate, ab as ConfigurationItemBillingProductAssociationsSummary, ad as ConfigurationItemCategory, ae as ConfigurationItemCategoryCreate, ak as ConfigurationItemCategoryUpdate, af as ConfigurationItemCategorySummary, ag as ConfigurationItemCategoryUdfAssociation, ah as ConfigurationItemCategoryUdfAssociationCreate, aj as ConfigurationItemCategoryUdfAssociationUpdate, ai as ConfigurationItemCategoryUdfAssociationSummary, an as ConfigurationItemDnsRecord, ao as ConfigurationItemDnsRecordCreate, aq as ConfigurationItemDnsRecordUpdate, ap as ConfigurationItemDnsRecordSummary, ar as ConfigurationItemNote, as as ConfigurationItemNoteCreate, au as ConfigurationItemNoteUpdate, at as ConfigurationItemNoteSummary, av as ConfigurationItemRelatedItem, aw as ConfigurationItemRelatedItemCreate, ay as ConfigurationItemRelatedItemUpdate, ax as ConfigurationItemRelatedItemSummary, a8 as ConfigurationItem, aE as ConfigurationItemType, am as ConfigurationItemCreate, aI as ConfigurationItemUpdate, aD as ConfigurationItemSummary, al as ConfigurationItemContext, az as ConfigurationItemSslSubjectAlternativeName, aA as ConfigurationItemSslSubjectAlternativeNameCreate, aC as ConfigurationItemSslSubjectAlternativeNameUpdate, aB as ConfigurationItemSslSubjectAlternativeNameSummary, aF as ConfigurationItemTypeCreate, aH as ConfigurationItemTypeUpdate, aG as ConfigurationItemTypeSummary, aJ as ConfigurationItemWebhook, aK as ConfigurationItemWebhookCreate, aM as ConfigurationItemWebhookUpdate, aL as ConfigurationItemWebhookSummary, aQ as ContactGroupContacts, aR as ContactGroupContactsCreate, aT as ContactGroupContactsUpdate, aS as ContactGroupContactsSummary, aU as ContactGroups, aV as ContactGroupsCreate, aX as ContactGroupsUpdate, aW as ContactGroupsSummary, aY as ContactSummary, aP as ContactCreate, aZ as ContactUpdate, aO as ContactContext, a_ as ContactWebhook, a$ as ContactWebhookCreate, b1 as ContactWebhookUpdate, b0 as ContactWebhookSummary, b3 as ContractBillingRule, b4 as ContractBillingRuleCreate, b6 as ContractBillingRuleUpdate, b5 as ContractBillingRuleSummary, b9 as ContractBlockHourFactor, ba as ContractBlockHourFactorCreate, bc as ContractBlockHourFactorUpdate, bb as ContractBlockHourFactorSummary, b7 as ContractBlock, b8 as ContractBlockCreate, be as ContractBlockUpdate, bd as ContractBlockSummary, bf as ContractCharge, bg as ContractChargeCreate, bi as ContractChargeUpdate, bh as ContractChargeSummary, bk as ContractExclusionBillingCode, bl as ContractExclusionBillingCodeCreate, bn as ContractExclusionBillingCodeUpdate, bm as ContractExclusionBillingCodeSummary, bo as ContractExclusionRoles, bp as ContractExclusionRolesCreate, br as ContractExclusionRolesUpdate, bq as ContractExclusionRolesSummary, bs as ContractExclusionSetExcludedRoles, bt as ContractExclusionSetExcludedRolesCreate, bv as ContractExclusionSetExcludedRolesUpdate, bu as ContractExclusionSetExcludedRolesSummary, bw as ContractExclusionSetExcludedWorkTypes, bx as ContractExclusionSetExcludedWorkTypesCreate, bz as ContractExclusionSetExcludedWorkTypesUpdate, by as ContractExclusionSetExcludedWorkTypesSummary, bA as ContractExclusionSets, bB as ContractExclusionSetsCreate, bD as ContractExclusionSetsUpdate, bC as ContractExclusionSetsSummary, bE as ContractMilestone, bF as ContractMilestoneCreate, bH as ContractMilestoneUpdate, bG as ContractMilestoneSummary, bI as ContractNote, bJ as ContractNoteCreate, bL as ContractNoteUpdate, bK as ContractNoteSummary, bM as ContractRate, bN as ContractRateCreate, bP as ContractRateUpdate, bO as ContractRateSummary, bQ as ContractRetainers, bR as ContractRetainersCreate, bT as ContractRetainersUpdate, bS as ContractRetainersSummary, bU as ContractRoleCosts, bV as ContractRoleCostsCreate, bX as ContractRoleCostsUpdate, bW as ContractRoleCostsSummary, bZ as ContractServiceAdjustment, b_ as ContractServiceAdjustmentCreate, c0 as ContractServiceAdjustmentUpdate, b$ as ContractServiceAdjustmentSummary, c2 as ContractServiceBundleAdjustment, c3 as ContractServiceBundleAdjustmentCreate, c5 as ContractServiceBundleAdjustmentUpdate, c4 as ContractServiceBundleAdjustmentSummary, c1 as ContractServiceBundle, c6 as ContractServiceBundleCreate, cc as ContractServiceBundleUpdate, c7 as ContractServiceBundleSummary, c8 as ContractServiceBundleUnit, c9 as ContractServiceBundleUnitCreate, cb as ContractServiceBundleUnitUpdate, ca as ContractServiceBundleUnitSummary, bY as ContractService, cd as ContractServiceCreate, cj as ContractServiceUpdate, ce as ContractServiceSummary, cf as ContractServiceUnit, cg as ContractServiceUnitCreate, ci as ContractServiceUnitUpdate, ch as ContractServiceUnitSummary, b2 as Contract, dc as Invoice, eA as Resource, cI as ExpenseItem, fA as Subscription, bj as ContractCreate, cp as ContractUpdate, ck as ContractSummary, cl as ContractTicketPurchases, cm as ContractTicketPurchasesCreate, co as ContractTicketPurchasesUpdate, cn as ContractTicketPurchasesSummary, cq as Country, cr as CountryCreate, ct as CountryUpdate, cs as CountrySummary, cu as Department, cv as DepartmentCreate, cx as DepartmentUpdate, cw as DepartmentSummary, cz as DomainRegistrar, cA as DomainRegistrarCreate, cC as DomainRegistrarUpdate, cB as DomainRegistrarSummary, cY as GlobalEntityInformationResultModel, cJ as ExpenseItemAttachment, cK as ExpenseItemAttachmentCreate, cM as ExpenseItemAttachmentUpdate, cL as ExpenseItemAttachmentSummary, cN as ExpenseItemCreate, cP as ExpenseItemUpdate, cO as ExpenseItemSummary, cQ as ExpenseReport, cR as ExpenseReportCreate, cT as ExpenseReportUpdate, cS as ExpenseReportSummary, c$ as HolidaySet, d0 as HolidaySetCreate, d2 as HolidaySetUpdate, d1 as HolidaySetSummary, cZ as Holiday, c_ as HolidayCreate, d4 as HolidayUpdate, d3 as HolidaySummary, d5 as InventoryProduct, d6 as InventoryProductCreate, d8 as InventoryProductUpdate, d7 as InventoryProductSummary, d9 as InventoryStockedItemAdd, da as InventoryStockedItemRemove, db as InventoryStockedItemTransfer, dd as InvoiceCreate, df as InvoiceUpdate, de as InvoiceSummary, dh as ModuleAccessResultModel, di as NotificationHistory, dj as NotificationHistoryCreate, dl as NotificationHistoryUpdate, dk as NotificationHistorySummary, dq as Opportunity, dz as OpportunityCreate, dB as OpportunityUpdate, dA as OpportunitySummary, dr as OpportunityAttachment, ds as OpportunityAttachmentCreate, du as OpportunityAttachmentUpdate, dt as OpportunityAttachmentSummary, dv as OpportunityCategory, dw as OpportunityCategoryCreate, dy as OpportunityCategoryUpdate, dx as OpportunityCategorySummary, dE as Phase, dF as PhaseCreate, dH as PhaseUpdate, dG as PhaseSummary, dJ as Product, dK as ProductCreate, dM as ProductUpdate, dL as ProductSummary, dN as ProductVendors, dO as ProductVendorsCreate, dQ as ProductVendorsUpdate, dP as ProductVendorsSummary, dS as ProjectCharge, dT as ProjectChargeCreate, dV as ProjectChargeUpdate, dU as ProjectChargeSummary, dY as ProjectNote, dZ as ProjectNoteCreate, d$ as ProjectNoteUpdate, d_ as ProjectNoteSummary, dX as ProjectCreate, e1 as ProjectUpdate, e0 as ProjectSummary, hr as CompositeContextOptions, dW as ProjectContext, e2 as PurchaseApprovals, e3 as PurchaseApprovalsCreate, e5 as PurchaseApprovalsUpdate, e4 as PurchaseApprovalsSummary, e6 as PurchaseOrderItemReceiving, e7 as PurchaseOrderItemReceivingCreate, e9 as PurchaseOrderItemReceivingUpdate, e8 as PurchaseOrderItemReceivingSummary, ea as PurchaseOrderItems, eb as PurchaseOrderItemsCreate, ed as PurchaseOrderItemsUpdate, ec as PurchaseOrderItemsSummary, ee as PurchaseOrders, ef as PurchaseOrdersCreate, eh as PurchaseOrdersUpdate, eg as PurchaseOrdersSummary, ek as QuoteItem, el as QuoteItemCreate, en as QuoteItemUpdate, em as QuoteItemSummary, eo as QuoteLocation, ep as QuoteLocationCreate, er as QuoteLocationUpdate, eq as QuoteLocationSummary, ei as Quote, ej as QuoteCreate, ex as QuoteUpdate, es as QuoteSummary, et as QuoteTemplate, eu as QuoteTemplateCreate, ew as QuoteTemplateUpdate, ev as QuoteTemplateSummary, eE as ResourceRoleQueue, eF as ResourceRoleQueueCreate, eH as ResourceRoleQueueUpdate, eG as ResourceRoleQueueSummary, eC as ResourceRole, eD as ResourceRoleCreate, eJ as ResourceRoleUpdate, eI as ResourceRoleSummary, eK as ResourceSkill, eL as ResourceSkillCreate, eN as ResourceSkillUpdate, eM as ResourceSkillSummary, eB as ResourceCreate, e$ as ResourceUpdate, eO as ResourceSummary, eP as ResourceTimeOffAdditional, eQ as ResourceTimeOffAdditionalCreate, eS as ResourceTimeOffAdditionalUpdate, eR as ResourceTimeOffAdditionalSummary, eT as ResourceTimeOffApprover, eU as ResourceTimeOffApproverCreate, eW as ResourceTimeOffApproverUpdate, eV as ResourceTimeOffApproverSummary, eX as ResourceTimeOffBalance, eY as ResourceTimeOffBalanceCreate, e_ as ResourceTimeOffBalanceUpdate, eZ as ResourceTimeOffBalanceSummary, f0 as Role, f1 as RoleCreate, f3 as RoleUpdate, f2 as RoleSummary, f5 as ServiceCall, f6 as ServiceCallCreate, fo as ServiceCallUpdate, f7 as ServiceCallSummary, fa as ServiceCallTaskResource, fb as ServiceCallTaskResourceCreate, fd as ServiceCallTaskResourceUpdate, fc as ServiceCallTaskResourceSummary, f8 as ServiceCallTask, f9 as ServiceCallTaskCreate, ff as ServiceCallTaskUpdate, fe as ServiceCallTaskSummary, fi as ServiceCallTicketResource, fj as ServiceCallTicketResourceCreate, fl as ServiceCallTicketResourceUpdate, fk as ServiceCallTicketResourceSummary, fg as ServiceCallTicket, fh as ServiceCallTicketCreate, fn as ServiceCallTicketUpdate, fm as ServiceCallTicketSummary, fq as ServiceLevelAgreementResults, fr as ServiceLevelAgreementResultsCreate, ft as ServiceLevelAgreementResultsUpdate, fs as ServiceLevelAgreementResultsSummary, f4 as Service, fp as ServiceCreate, fv as ServiceUpdate, fu as ServiceSummary, fw as Skill, fx as SkillCreate, fz as SkillUpdate, fy as SkillSummary, fC as SubscriptionPeriod, fD as SubscriptionPeriodCreate, fF as SubscriptionPeriodUpdate, fE as SubscriptionPeriodSummary, fB as SubscriptionCreate, fH as SubscriptionUpdate, fG as SubscriptionSummary, fK as SurveyResults, fL as SurveyResultsCreate, fN as SurveyResultsUpdate, fM as SurveyResultsSummary, fI as Survey, fJ as SurveyCreate, fP as SurveyUpdate, fO as SurveySummary, fR as TagAlias, fS as TagAliasCreate, fU as TagAliasUpdate, fT as TagAliasSummary, fW as TagGroup, fX as TagGroupCreate, fZ as TagGroupUpdate, fY as TagGroupSummary, fQ as Tag, fV as TagCreate, f$ as TagUpdate, f_ as TagSummary, g2 as TaskSecondaryResource, g3 as TaskSecondaryResourceCreate, g5 as TaskSecondaryResourceUpdate, g4 as TaskSecondaryResourceSummary, g0 as Task, g1 as TaskCreate, g7 as TaskUpdate, g6 as TaskSummary, g8 as ThresholdStatusResultModel, ga as TicketAdditionalConfigurationItem, gb as TicketAdditionalConfigurationItemCreate, gd as TicketAdditionalConfigurationItemUpdate, gc as TicketAdditionalConfigurationItemSummary, ge as TicketAdditionalContact, gf as TicketAdditionalContactCreate, gh as TicketAdditionalContactUpdate, gg as TicketAdditionalContactSummary, gi as TicketAttachment, gj as TicketAttachmentCreate, gl as TicketAttachmentUpdate, gk as TicketAttachmentSummary, gm as TicketCategory, gn as TicketCategoryCreate, gt as TicketCategoryUpdate, gs as TicketCategorySummary, go as TicketCategoryFieldDefault, gp as TicketCategoryFieldDefaultCreate, gr as TicketCategoryFieldDefaultUpdate, gq as TicketCategoryFieldDefaultSummary, gu as TicketChangeRequestApproval, gv as TicketChangeRequestApprovalCreate, gx as TicketChangeRequestApprovalUpdate, gw as TicketChangeRequestApprovalSummary, gy as TicketCharge, gz as TicketChargeCreate, gB as TicketChargeUpdate, gA as TicketChargeSummary, gC as TicketChecklistItem, gD as TicketChecklistItemCreate, gF as TicketChecklistItemUpdate, gE as TicketChecklistItemSummary, gG as TicketChecklistLibrary, gH as TicketChecklistLibraryCreate, gJ as TicketChecklistLibraryUpdate, gI as TicketChecklistLibrarySummary, gM as TicketHistory, gN as TicketHistoryCreate, gP as TicketHistoryUpdate, gO as TicketHistorySummary, gR as TicketNoteAttachment, gS as TicketNoteAttachmentCreate, gU as TicketNoteAttachmentUpdate, gT as TicketNoteAttachmentSummary, gQ as TicketNote, gV as TicketNoteCreate, gX as TicketNoteUpdate, gW as TicketNoteSummary, gY as TicketNoteWebhook, gZ as TicketNoteWebhookCreate, g$ as TicketNoteWebhookUpdate, g_ as TicketNoteWebhookSummary, h0 as TicketSecondaryResource, h1 as TicketSecondaryResourceCreate, h3 as TicketSecondaryResourceUpdate, h2 as TicketSecondaryResourceSummary, gL as TicketCreate, h5 as TicketUpdate, h4 as TicketSummary, gK as TicketContext, h6 as TicketWebhook, h7 as TicketWebhookCreate, h9 as TicketWebhookUpdate, h8 as TicketWebhookSummary, hf as TimeEntryCreate, hh as TimeEntryUpdate, hg as TimeEntrySummary, hb as TimeEntryAttachment, hc as TimeEntryAttachmentCreate, he as TimeEntryAttachmentUpdate, hd as TimeEntryAttachmentSummary, hi as TimeOffRequest, hj as TimeOffRequestCreate, hm as TimeOffRequestUpdate, hl as TimeOffRequestSummary, A as ApiVersionResultModel, i as AutotaskVersionResultModel, ho as ZoneInformationResultModel } from './index-BXtKN1M5.js';
|
|
1
|
+
import { I as Identifier, g as AuditEvent, a as FilterCondition, ez as ResolutionCaps, Q as QueryParams, dD as PagingModel, dn as OperationResult, dC as Page, cE as EmptyReasonInfo, cG as EntityInformationModel, cW as FieldInformationModel, cU as Field, cD as DryRunResult, ey as Resolution, c as Appointment, d as AppointmentCreate, f as AppointmentUpdate, e as AppointmentSummary, h as AuthTokenResultModel, B as BillingCode, j as BillingCodeCreate, l as BillingCodeUpdate, k as BillingCodeSummary, m as BillingItems, n as BillingItemsCreate, p as BillingItemsUpdate, o as BillingItemsSummary, C as ChangeRequestLink, q as ChangeRequestLinkCreate, s as ChangeRequestLinkUpdate, r as ChangeRequestLinkSummary, t as ChecklistLibrary, y as ChecklistLibraryCreate, D as ChecklistLibraryUpdate, z as ChecklistLibrarySummary, u as ChecklistLibraryChecklistItem, v as ChecklistLibraryChecklistItemCreate, x as ChecklistLibraryChecklistItemUpdate, w as ChecklistLibraryChecklistItemSummary, E as ClassificationIcon, G as ClassificationIconCreate, J as ClassificationIconUpdate, H as ClassificationIconSummary, K as Company, S as CompanyLocation, aN as Contact, W as CompanyNote, g9 as Ticket, dR as Project, hq as CompositeNamesSection, ha as TimeEntry, R as CompanyCreate, a3 as CompanyUpdate, a2 as CompanySummary, P as CompanyContext, L as CompanyAlert, M as CompanyAlertCreate, O as CompanyAlertUpdate, N as CompanyAlertSummary, T as CompanyLocationCreate, V as CompanyLocationUpdate, U as CompanyLocationSummary, X as CompanyNoteCreate, Z as CompanyNoteUpdate, Y as CompanyNoteSummary, _ as CompanySiteConfigurations, $ as CompanySiteConfigurationsCreate, a1 as CompanySiteConfigurationsUpdate, a0 as CompanySiteConfigurationsSummary, a4 as CompanyWebhook, a5 as CompanyWebhookCreate, a7 as CompanyWebhookUpdate, a6 as CompanyWebhookSummary, a9 as ConfigurationItemBillingProductAssociations, aa as ConfigurationItemBillingProductAssociationsCreate, ac as ConfigurationItemBillingProductAssociationsUpdate, ab as ConfigurationItemBillingProductAssociationsSummary, ad as ConfigurationItemCategory, ae as ConfigurationItemCategoryCreate, ak as ConfigurationItemCategoryUpdate, af as ConfigurationItemCategorySummary, ag as ConfigurationItemCategoryUdfAssociation, ah as ConfigurationItemCategoryUdfAssociationCreate, aj as ConfigurationItemCategoryUdfAssociationUpdate, ai as ConfigurationItemCategoryUdfAssociationSummary, an as ConfigurationItemDnsRecord, ao as ConfigurationItemDnsRecordCreate, aq as ConfigurationItemDnsRecordUpdate, ap as ConfigurationItemDnsRecordSummary, ar as ConfigurationItemNote, as as ConfigurationItemNoteCreate, au as ConfigurationItemNoteUpdate, at as ConfigurationItemNoteSummary, av as ConfigurationItemRelatedItem, aw as ConfigurationItemRelatedItemCreate, ay as ConfigurationItemRelatedItemUpdate, ax as ConfigurationItemRelatedItemSummary, a8 as ConfigurationItem, aE as ConfigurationItemType, am as ConfigurationItemCreate, aI as ConfigurationItemUpdate, aD as ConfigurationItemSummary, al as ConfigurationItemContext, az as ConfigurationItemSslSubjectAlternativeName, aA as ConfigurationItemSslSubjectAlternativeNameCreate, aC as ConfigurationItemSslSubjectAlternativeNameUpdate, aB as ConfigurationItemSslSubjectAlternativeNameSummary, aF as ConfigurationItemTypeCreate, aH as ConfigurationItemTypeUpdate, aG as ConfigurationItemTypeSummary, aJ as ConfigurationItemWebhook, aK as ConfigurationItemWebhookCreate, aM as ConfigurationItemWebhookUpdate, aL as ConfigurationItemWebhookSummary, aQ as ContactGroupContacts, aR as ContactGroupContactsCreate, aT as ContactGroupContactsUpdate, aS as ContactGroupContactsSummary, aU as ContactGroups, aV as ContactGroupsCreate, aX as ContactGroupsUpdate, aW as ContactGroupsSummary, aY as ContactSummary, aP as ContactCreate, aZ as ContactUpdate, aO as ContactContext, a_ as ContactWebhook, a$ as ContactWebhookCreate, b1 as ContactWebhookUpdate, b0 as ContactWebhookSummary, b3 as ContractBillingRule, b4 as ContractBillingRuleCreate, b6 as ContractBillingRuleUpdate, b5 as ContractBillingRuleSummary, b9 as ContractBlockHourFactor, ba as ContractBlockHourFactorCreate, bc as ContractBlockHourFactorUpdate, bb as ContractBlockHourFactorSummary, b7 as ContractBlock, b8 as ContractBlockCreate, be as ContractBlockUpdate, bd as ContractBlockSummary, bf as ContractCharge, bg as ContractChargeCreate, bi as ContractChargeUpdate, bh as ContractChargeSummary, bk as ContractExclusionBillingCode, bl as ContractExclusionBillingCodeCreate, bn as ContractExclusionBillingCodeUpdate, bm as ContractExclusionBillingCodeSummary, bo as ContractExclusionRoles, bp as ContractExclusionRolesCreate, br as ContractExclusionRolesUpdate, bq as ContractExclusionRolesSummary, bs as ContractExclusionSetExcludedRoles, bt as ContractExclusionSetExcludedRolesCreate, bv as ContractExclusionSetExcludedRolesUpdate, bu as ContractExclusionSetExcludedRolesSummary, bw as ContractExclusionSetExcludedWorkTypes, bx as ContractExclusionSetExcludedWorkTypesCreate, bz as ContractExclusionSetExcludedWorkTypesUpdate, by as ContractExclusionSetExcludedWorkTypesSummary, bA as ContractExclusionSets, bB as ContractExclusionSetsCreate, bD as ContractExclusionSetsUpdate, bC as ContractExclusionSetsSummary, bE as ContractMilestone, bF as ContractMilestoneCreate, bH as ContractMilestoneUpdate, bG as ContractMilestoneSummary, bI as ContractNote, bJ as ContractNoteCreate, bL as ContractNoteUpdate, bK as ContractNoteSummary, bM as ContractRate, bN as ContractRateCreate, bP as ContractRateUpdate, bO as ContractRateSummary, bQ as ContractRetainers, bR as ContractRetainersCreate, bT as ContractRetainersUpdate, bS as ContractRetainersSummary, bU as ContractRoleCosts, bV as ContractRoleCostsCreate, bX as ContractRoleCostsUpdate, bW as ContractRoleCostsSummary, bZ as ContractServiceAdjustment, b_ as ContractServiceAdjustmentCreate, c0 as ContractServiceAdjustmentUpdate, b$ as ContractServiceAdjustmentSummary, c2 as ContractServiceBundleAdjustment, c3 as ContractServiceBundleAdjustmentCreate, c5 as ContractServiceBundleAdjustmentUpdate, c4 as ContractServiceBundleAdjustmentSummary, c1 as ContractServiceBundle, c6 as ContractServiceBundleCreate, cc as ContractServiceBundleUpdate, c7 as ContractServiceBundleSummary, c8 as ContractServiceBundleUnit, c9 as ContractServiceBundleUnitCreate, cb as ContractServiceBundleUnitUpdate, ca as ContractServiceBundleUnitSummary, bY as ContractService, cd as ContractServiceCreate, cj as ContractServiceUpdate, ce as ContractServiceSummary, cf as ContractServiceUnit, cg as ContractServiceUnitCreate, ci as ContractServiceUnitUpdate, ch as ContractServiceUnitSummary, b2 as Contract, dc as Invoice, eA as Resource, cI as ExpenseItem, fA as Subscription, bj as ContractCreate, cp as ContractUpdate, ck as ContractSummary, cl as ContractTicketPurchases, cm as ContractTicketPurchasesCreate, co as ContractTicketPurchasesUpdate, cn as ContractTicketPurchasesSummary, cq as Country, cr as CountryCreate, ct as CountryUpdate, cs as CountrySummary, cu as Department, cv as DepartmentCreate, cx as DepartmentUpdate, cw as DepartmentSummary, cz as DomainRegistrar, cA as DomainRegistrarCreate, cC as DomainRegistrarUpdate, cB as DomainRegistrarSummary, cY as GlobalEntityInformationResultModel, cJ as ExpenseItemAttachment, cK as ExpenseItemAttachmentCreate, cM as ExpenseItemAttachmentUpdate, cL as ExpenseItemAttachmentSummary, cN as ExpenseItemCreate, cP as ExpenseItemUpdate, cO as ExpenseItemSummary, cQ as ExpenseReport, cR as ExpenseReportCreate, cT as ExpenseReportUpdate, cS as ExpenseReportSummary, c$ as HolidaySet, d0 as HolidaySetCreate, d2 as HolidaySetUpdate, d1 as HolidaySetSummary, cZ as Holiday, c_ as HolidayCreate, d4 as HolidayUpdate, d3 as HolidaySummary, d5 as InventoryProduct, d6 as InventoryProductCreate, d8 as InventoryProductUpdate, d7 as InventoryProductSummary, d9 as InventoryStockedItemAdd, da as InventoryStockedItemRemove, db as InventoryStockedItemTransfer, dd as InvoiceCreate, df as InvoiceUpdate, de as InvoiceSummary, dh as ModuleAccessResultModel, di as NotificationHistory, dj as NotificationHistoryCreate, dl as NotificationHistoryUpdate, dk as NotificationHistorySummary, dq as Opportunity, dz as OpportunityCreate, dB as OpportunityUpdate, dA as OpportunitySummary, dr as OpportunityAttachment, ds as OpportunityAttachmentCreate, du as OpportunityAttachmentUpdate, dt as OpportunityAttachmentSummary, dv as OpportunityCategory, dw as OpportunityCategoryCreate, dy as OpportunityCategoryUpdate, dx as OpportunityCategorySummary, dE as Phase, dF as PhaseCreate, dH as PhaseUpdate, dG as PhaseSummary, dJ as Product, dK as ProductCreate, dM as ProductUpdate, dL as ProductSummary, dN as ProductVendors, dO as ProductVendorsCreate, dQ as ProductVendorsUpdate, dP as ProductVendorsSummary, dS as ProjectCharge, dT as ProjectChargeCreate, dV as ProjectChargeUpdate, dU as ProjectChargeSummary, dY as ProjectNote, dZ as ProjectNoteCreate, d$ as ProjectNoteUpdate, d_ as ProjectNoteSummary, dX as ProjectCreate, e1 as ProjectUpdate, e0 as ProjectSummary, hr as CompositeContextOptions, dW as ProjectContext, e2 as PurchaseApprovals, e3 as PurchaseApprovalsCreate, e5 as PurchaseApprovalsUpdate, e4 as PurchaseApprovalsSummary, e6 as PurchaseOrderItemReceiving, e7 as PurchaseOrderItemReceivingCreate, e9 as PurchaseOrderItemReceivingUpdate, e8 as PurchaseOrderItemReceivingSummary, ea as PurchaseOrderItems, eb as PurchaseOrderItemsCreate, ed as PurchaseOrderItemsUpdate, ec as PurchaseOrderItemsSummary, ee as PurchaseOrders, ef as PurchaseOrdersCreate, eh as PurchaseOrdersUpdate, eg as PurchaseOrdersSummary, ek as QuoteItem, el as QuoteItemCreate, en as QuoteItemUpdate, em as QuoteItemSummary, eo as QuoteLocation, ep as QuoteLocationCreate, er as QuoteLocationUpdate, eq as QuoteLocationSummary, ei as Quote, ej as QuoteCreate, ex as QuoteUpdate, es as QuoteSummary, et as QuoteTemplate, eu as QuoteTemplateCreate, ew as QuoteTemplateUpdate, ev as QuoteTemplateSummary, eE as ResourceRoleQueue, eF as ResourceRoleQueueCreate, eH as ResourceRoleQueueUpdate, eG as ResourceRoleQueueSummary, eC as ResourceRole, eD as ResourceRoleCreate, eJ as ResourceRoleUpdate, eI as ResourceRoleSummary, eK as ResourceSkill, eL as ResourceSkillCreate, eN as ResourceSkillUpdate, eM as ResourceSkillSummary, eB as ResourceCreate, e$ as ResourceUpdate, eO as ResourceSummary, eP as ResourceTimeOffAdditional, eQ as ResourceTimeOffAdditionalCreate, eS as ResourceTimeOffAdditionalUpdate, eR as ResourceTimeOffAdditionalSummary, eT as ResourceTimeOffApprover, eU as ResourceTimeOffApproverCreate, eW as ResourceTimeOffApproverUpdate, eV as ResourceTimeOffApproverSummary, eX as ResourceTimeOffBalance, eY as ResourceTimeOffBalanceCreate, e_ as ResourceTimeOffBalanceUpdate, eZ as ResourceTimeOffBalanceSummary, f0 as Role, f1 as RoleCreate, f3 as RoleUpdate, f2 as RoleSummary, f5 as ServiceCall, f6 as ServiceCallCreate, fo as ServiceCallUpdate, f7 as ServiceCallSummary, fa as ServiceCallTaskResource, fb as ServiceCallTaskResourceCreate, fd as ServiceCallTaskResourceUpdate, fc as ServiceCallTaskResourceSummary, f8 as ServiceCallTask, f9 as ServiceCallTaskCreate, ff as ServiceCallTaskUpdate, fe as ServiceCallTaskSummary, fi as ServiceCallTicketResource, fj as ServiceCallTicketResourceCreate, fl as ServiceCallTicketResourceUpdate, fk as ServiceCallTicketResourceSummary, fg as ServiceCallTicket, fh as ServiceCallTicketCreate, fn as ServiceCallTicketUpdate, fm as ServiceCallTicketSummary, fq as ServiceLevelAgreementResults, fr as ServiceLevelAgreementResultsCreate, ft as ServiceLevelAgreementResultsUpdate, fs as ServiceLevelAgreementResultsSummary, f4 as Service, fp as ServiceCreate, fv as ServiceUpdate, fu as ServiceSummary, fw as Skill, fx as SkillCreate, fz as SkillUpdate, fy as SkillSummary, fC as SubscriptionPeriod, fD as SubscriptionPeriodCreate, fF as SubscriptionPeriodUpdate, fE as SubscriptionPeriodSummary, fB as SubscriptionCreate, fH as SubscriptionUpdate, fG as SubscriptionSummary, fK as SurveyResults, fL as SurveyResultsCreate, fN as SurveyResultsUpdate, fM as SurveyResultsSummary, fI as Survey, fJ as SurveyCreate, fP as SurveyUpdate, fO as SurveySummary, fR as TagAlias, fS as TagAliasCreate, fU as TagAliasUpdate, fT as TagAliasSummary, fW as TagGroup, fX as TagGroupCreate, fZ as TagGroupUpdate, fY as TagGroupSummary, fQ as Tag, fV as TagCreate, f$ as TagUpdate, f_ as TagSummary, g2 as TaskSecondaryResource, g3 as TaskSecondaryResourceCreate, g5 as TaskSecondaryResourceUpdate, g4 as TaskSecondaryResourceSummary, g0 as Task, g1 as TaskCreate, g7 as TaskUpdate, g6 as TaskSummary, g8 as ThresholdStatusResultModel, ga as TicketAdditionalConfigurationItem, gb as TicketAdditionalConfigurationItemCreate, gd as TicketAdditionalConfigurationItemUpdate, gc as TicketAdditionalConfigurationItemSummary, ge as TicketAdditionalContact, gf as TicketAdditionalContactCreate, gh as TicketAdditionalContactUpdate, gg as TicketAdditionalContactSummary, gi as TicketAttachment, gj as TicketAttachmentCreate, gl as TicketAttachmentUpdate, gk as TicketAttachmentSummary, gm as TicketCategory, gn as TicketCategoryCreate, gt as TicketCategoryUpdate, gs as TicketCategorySummary, go as TicketCategoryFieldDefault, gp as TicketCategoryFieldDefaultCreate, gr as TicketCategoryFieldDefaultUpdate, gq as TicketCategoryFieldDefaultSummary, gu as TicketChangeRequestApproval, gv as TicketChangeRequestApprovalCreate, gx as TicketChangeRequestApprovalUpdate, gw as TicketChangeRequestApprovalSummary, gy as TicketCharge, gz as TicketChargeCreate, gB as TicketChargeUpdate, gA as TicketChargeSummary, gC as TicketChecklistItem, gD as TicketChecklistItemCreate, gF as TicketChecklistItemUpdate, gE as TicketChecklistItemSummary, gG as TicketChecklistLibrary, gH as TicketChecklistLibraryCreate, gJ as TicketChecklistLibraryUpdate, gI as TicketChecklistLibrarySummary, gM as TicketHistory, gN as TicketHistoryCreate, gP as TicketHistoryUpdate, gO as TicketHistorySummary, gR as TicketNoteAttachment, gS as TicketNoteAttachmentCreate, gU as TicketNoteAttachmentUpdate, gT as TicketNoteAttachmentSummary, gQ as TicketNote, gV as TicketNoteCreate, gX as TicketNoteUpdate, gW as TicketNoteSummary, gY as TicketNoteWebhook, gZ as TicketNoteWebhookCreate, g$ as TicketNoteWebhookUpdate, g_ as TicketNoteWebhookSummary, h0 as TicketSecondaryResource, h1 as TicketSecondaryResourceCreate, h3 as TicketSecondaryResourceUpdate, h2 as TicketSecondaryResourceSummary, gL as TicketCreate, h5 as TicketUpdate, h4 as TicketSummary, gK as TicketContext, h6 as TicketWebhook, h7 as TicketWebhookCreate, h9 as TicketWebhookUpdate, h8 as TicketWebhookSummary, hf as TimeEntryCreate, hh as TimeEntryUpdate, hg as TimeEntrySummary, hb as TimeEntryAttachment, hc as TimeEntryAttachmentCreate, he as TimeEntryAttachmentUpdate, hd as TimeEntryAttachmentSummary, hi as TimeOffRequest, hj as TimeOffRequestCreate, hm as TimeOffRequestUpdate, hl as TimeOffRequestSummary, A as ApiVersionResultModel, i as AutotaskVersionResultModel, ho as ZoneInformationResultModel } from './index-BXtKN1M5.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* A read-through TTL cache (lazy purge on read; expiry is `Date.now()`
|
|
@@ -1260,6 +1260,52 @@ declare function resolveCredentials(config: AutotaskConfig): {
|
|
|
1260
1260
|
/** Validate + resolve an AutotaskConfig (fail closed; throws AutotaskConfigError). */
|
|
1261
1261
|
declare function resolveConfig(config: AutotaskConfig): ResolvedAutotaskConfig;
|
|
1262
1262
|
|
|
1263
|
+
/**
|
|
1264
|
+
* A short-TTL in-memory cache of the `latest` walk's count probes (lazy
|
|
1265
|
+
* purge on read; expiry is `Date.now()` based; LRU-ish eviction at the cap).
|
|
1266
|
+
* Plain `number` values only — `set` refuses a non-finite number silently
|
|
1267
|
+
* (the sentinel record never reaches it by construction; the guard keeps
|
|
1268
|
+
* the store's type honest if a caller ever does).
|
|
1269
|
+
*/
|
|
1270
|
+
declare class LatestCountCache {
|
|
1271
|
+
/** The TTL in ms. */
|
|
1272
|
+
readonly ttlMs: number;
|
|
1273
|
+
/** The entry bound (applies to STORED entries). */
|
|
1274
|
+
readonly maxEntries: number;
|
|
1275
|
+
private readonly store;
|
|
1276
|
+
/** The invalidation epoch (the `ReadCache` pattern — issue #139): bumped
|
|
1277
|
+
* by `clear()`; capture it before a wire read and pass it to `set` so a
|
|
1278
|
+
* probe in flight across a write cannot re-store its stale answer. */
|
|
1279
|
+
private epochCounter;
|
|
1280
|
+
constructor(ttlMs: number, maxEntries?: number);
|
|
1281
|
+
/** The composite key: (resource plan key, canonical filter serialisation)
|
|
1282
|
+
* — the `\u0000` separator is unencodable in a filter value, so no two
|
|
1283
|
+
* (resource, conditions) pairs collide. */
|
|
1284
|
+
static key(resourceKey: string, conditions: readonly FilterCondition[] | undefined): string;
|
|
1285
|
+
/** The live entry's count, or `undefined` (absent OR expired — an expired
|
|
1286
|
+
* entry is purged lazily on this read). */
|
|
1287
|
+
get(key: string): number | undefined;
|
|
1288
|
+
/** The invalidation epoch: bumped by `clear()`; capture it before a wire
|
|
1289
|
+
* read and pass it to `set` so a probe in flight across a write cannot
|
|
1290
|
+
* re-store its stale answer (issue #139, the `ReadCache` pattern). */
|
|
1291
|
+
get epoch(): number;
|
|
1292
|
+
/** Store a SUCCESSFUL plain-number count under `key`, live for `ttlMs`.
|
|
1293
|
+
* `epoch` is the invalidation epoch the caller captured BEFORE its wire
|
|
1294
|
+
* read: a probe that straddled a `clear()` (a write) is dropped, never
|
|
1295
|
+
* re-stored with its pre-write body (issue #139). Past the cap: purge
|
|
1296
|
+
* expired entries first, then evict the oldest-inserted (Map iteration
|
|
1297
|
+
* order = insertion order). */
|
|
1298
|
+
set(key: string, value: number, epoch?: number): void;
|
|
1299
|
+
/** Drop one entry (absent = no-op). Issue #157: the stale-LOW recovery
|
|
1300
|
+
* deletes the cached total before its one fresh wire re-probe, so the
|
|
1301
|
+
* re-probe cannot be served by the entry it is meant to replace. */
|
|
1302
|
+
delete(key: string): void;
|
|
1303
|
+
/** Clear every entry (a real write through the owning client — the
|
|
1304
|
+
* write-then-read re-fetch rule) and bump the invalidation epoch: a
|
|
1305
|
+
* `set` captured before this `clear` is discarded (issue #139). */
|
|
1306
|
+
clear(): void;
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1263
1309
|
interface RequestOptions {
|
|
1264
1310
|
method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
1265
1311
|
/** Path after the base URL, already interpolated, e.g. '/V1.0/Companies/42'. */
|
|
@@ -1426,6 +1472,11 @@ declare class HttpClient {
|
|
|
1426
1472
|
readonly fieldCache: FieldCache | undefined;
|
|
1427
1473
|
/** Resource-name cache for `operations.expandResourceNames` (issue #80: the default instance when `resourceNameCache` is absent; undefined only when the user set `false` explicitly, issue #65). */
|
|
1428
1474
|
readonly resourceNameCache: ResourceNameCache | undefined;
|
|
1475
|
+
/** The `latest` walk's count-probe cache (issue #127: the short-TTL
|
|
1476
|
+
* per-client count cache — ALWAYS on, process-internal: no config
|
|
1477
|
+
* surface, no served keys; the plain `count` op and `operations.aggregate`
|
|
1478
|
+
* bypass it by construction and promise fresh totals). */
|
|
1479
|
+
readonly latestCountCache: LatestCountCache;
|
|
1429
1480
|
/** Resolved update fallback gate (issue #34; OFF by default). */
|
|
1430
1481
|
readonly update: {
|
|
1431
1482
|
putFallback: boolean;
|
|
@@ -1666,7 +1717,7 @@ declare function toArray<T>(iter: AsyncIterable<T>): Promise<T[]>;
|
|
|
1666
1717
|
* queryBounded noteChars free-text cap (issue #61 — response-side only);
|
|
1667
1718
|
* - docs/API.md §11.7/§11.8/§11.9/§11.10/§11.11/§11.12 render the same facts.
|
|
1668
1719
|
*
|
|
1669
|
-
* planHash:
|
|
1720
|
+
* planHash: f6a579e0b7a8544f6e477a730d21a9ba031536392d8dbaeb2f73c61ca290ae91
|
|
1670
1721
|
*/
|
|
1671
1722
|
|
|
1672
1723
|
/** One pinned blind-surface stamp (the result-time sentinel object). */
|
|
@@ -2198,10 +2249,35 @@ declare abstract class BaseResource<T = Record<string, unknown>, TCreate = Recor
|
|
|
2198
2249
|
* numbers numerically; exact-digit strings via `BigInt`; mixed
|
|
2199
2250
|
* number/string via `BigInt(String(a))`) — ids above 2^53 stay exact. */
|
|
2200
2251
|
private compareIds;
|
|
2252
|
+
/** Issue #127: the `latest` walk's count probes through the per-client
|
|
2253
|
+
* short-TTL count cache (`LatestCountCache` — fixed 30 s TTL, the
|
|
2254
|
+
* memory guard; cleared on every real write through this client, the
|
|
2255
|
+
* write-then-read re-fetch rule). Only a SUCCESSFUL plain-number vendor
|
|
2256
|
+
* count answer is stored: the blind-surface / pinned-empty sentinels are
|
|
2257
|
+
* RECORDS and pass through un-stored (the plan-pinned stamps stay fresh
|
|
2258
|
+
* and re-derive on every call), and an error rejects before any store.
|
|
2259
|
+
* The key is (resource plan key, canonical filter serialisation — the
|
|
2260
|
+
* normalised conditions' JSON): the initial `count(F)` probe and every
|
|
2261
|
+
* `id gt T` threshold probe are separate entries, and a re-asked
|
|
2262
|
+
* "top N" within the TTL makes ZERO extra count calls (its probes all
|
|
2263
|
+
* hit — the bracket/search sequence is deterministic given the counts).
|
|
2264
|
+
* Issue #157: two corrections to the snapshot trade. (1) A total of 0 is
|
|
2265
|
+
* NEVER stored — a 0 is rare and cheap to re-probe, and a cached 0 fed
|
|
2266
|
+
* the false-empty branch (a repeat after an out-of-band insert returned
|
|
2267
|
+
* no rows without walking). (2) `fresh: true` DELETES the entry before
|
|
2268
|
+
* the wire read and re-stores the fresh answer — the ONE re-probe the
|
|
2269
|
+
* stale-LOW recovery in `latestWalk` is allowed. Counts are snapshots,
|
|
2270
|
+
* not contracts: the truncation guard covers the growth-of-total
|
|
2271
|
+
* direction; a stale-LOW total within the TTL is resolved by that one
|
|
2272
|
+
* fresh re-probe (never by the guard alone). The plain `count` op and
|
|
2273
|
+
* `operations.aggregate` call `countGlobal` directly and promise fresh
|
|
2274
|
+
* totals — this wrapper is used ONLY on the latest-walk probe path.
|
|
2275
|
+
*/
|
|
2276
|
+
private latestProbeCount;
|
|
2201
2277
|
/** Issue #59: one `latest` threshold count probe — a ROWLESS
|
|
2202
2278
|
* `count(F ∧ id gt T)` call (the vendor caps — ≤500 OR-conditions,
|
|
2203
2279
|
* 8000 chars serialised — leave a single `gt` condition room on any
|
|
2204
|
-
* filter). The `BlindCountResult` sentinel (a record, not a number —
|
|
2280
|
+
* filter). Issue #127: it rides the per-client short-TTL count cache — the same (resource, conditions) probe within the 30 s window is reused (zero vendor calls); a sentinel answer is never cached. The `BlindCountResult` sentinel (a record, not a number —
|
|
2205
2281
|
* the declared `number` return is the documented under-type) unwraps to
|
|
2206
2282
|
* its `count` value (always 0): at or above the max matching id the
|
|
2207
2283
|
* count is 0, which is exactly the bracket-termination signal. */
|
|
@@ -2222,8 +2298,11 @@ declare abstract class BaseResource<T = Record<string, unknown>, TCreate = Recor
|
|
|
2222
2298
|
* 1 + ceil(C/500) <= 6, independent of table size. A truncated walk
|
|
2223
2299
|
* (the vendor's rows disagree with its own count) is
|
|
2224
2300
|
* LATEST_WINDOW_INCOMPLETE — the top-N of a truncated set is
|
|
2225
|
-
* unprovable
|
|
2226
|
-
*
|
|
2301
|
+
* unprovable — EXCEPT issue #157: when `C` came from the CACHE, the
|
|
2302
|
+
* total is re-probed ONCE fresh (the stale-LOW recovery: a larger
|
|
2303
|
+
* fresh total continues the walk against it; the refusal stands only
|
|
2304
|
+
* when the fresh probe confirms the cached value). Sort
|
|
2305
|
+
* id-descending; return the top N (a set of C < N returns itself).
|
|
2227
2306
|
* - `C > 2500` → THRESHOLD mode: find the smallest id threshold `T`
|
|
2228
2307
|
* with `count(F ∧ id gt T) <= N` by exponential bracketing
|
|
2229
2308
|
* (T = 1, 2, 4, …) + binary search — each probe ONE rowless count
|
|
@@ -2250,7 +2329,19 @@ declare abstract class BaseResource<T = Record<string, unknown>, TCreate = Recor
|
|
|
2250
2329
|
* answer.
|
|
2251
2330
|
* `includeFields` always carries `id` (the P1 id-append,
|
|
2252
2331
|
* `buildQueryRequest`), which `latest` sorts on. Pure read; no mutation
|
|
2253
|
-
* paths involved.
|
|
2332
|
+
* paths involved. Issue #127: every count probe of this walk (the
|
|
2333
|
+
* initial `count(F)` + the `id gt T` threshold probes) rides the
|
|
2334
|
+
* 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 the
|
|
2336
|
+
* probes (zero extra vendor count calls); sentinel answers are never
|
|
2337
|
+
* cached (the plan-pinned stamps stay fresh), and a 0 total is never
|
|
2338
|
+
* cached either (issue #157: a 0 is cheap to re-probe and a cached 0
|
|
2339
|
+
* would shadow an out-of-band insert). The stale-LOW direction is closed
|
|
2340
|
+
* by the ONE fresh re-probe above; the stale-HIGH direction is safe by
|
|
2341
|
+
* construction (threshold mode re-probes fresh `id gt T` counts and
|
|
2342
|
+
* full-set mode ends when the cursor exhausts). The plain `count` op and
|
|
2343
|
+
* `operations.aggregate` bypass the cache by construction and promise
|
|
2344
|
+
* fresh totals.
|
|
2254
2345
|
*/
|
|
2255
2346
|
private latestWalk;
|
|
2256
2347
|
/** The shared `latest` completion: the (provably complete or
|
|
@@ -2757,7 +2848,7 @@ declare class BillingCodesResource extends BaseResource<BillingCode, BillingCode
|
|
|
2757
2848
|
interface DateWindowOptions {
|
|
2758
2849
|
/** Window anchor (default: now) — tests pin it for determinism. */
|
|
2759
2850
|
now?: Date;
|
|
2760
|
-
/** Max records (default
|
|
2851
|
+
/** Max records (default 500 = the hard cap — a call without limit takes the first 500 rows in vendor id order; a window with more than 500 matching rows needs the bounded query op with the same date-window filter — its 2500-row walk cap, issue #128). */
|
|
2761
2852
|
limit?: number;
|
|
2762
2853
|
/** IANA timezone (e.g. 'Australia/Sydney') — the window's calendar day/period is computed in that zone's local calendar and converted to UTC for the wire; omitted = UTC (the current behaviour, bit-for-bit). `last24h` is rolling and TZ-invariant (a zone never changes it). */
|
|
2763
2854
|
tz?: string;
|
|
@@ -8866,7 +8957,7 @@ declare class TicketWebhooksResource extends BaseResource<TicketWebhook, TicketW
|
|
|
8866
8957
|
* behaviour bit-for-bit) under its historical name. */
|
|
8867
8958
|
type TimeEntriesWindowOptions = DateWindowOptions;
|
|
8868
8959
|
interface TimeEntriesStatusOptions {
|
|
8869
|
-
/** Max records (default
|
|
8960
|
+
/** Max records (default 500 = the hard cap, issue #128). */
|
|
8870
8961
|
limit?: number;
|
|
8871
8962
|
/** Optional ticketID eq narrowing (node parity). */
|
|
8872
8963
|
ticketID?: number;
|
|
@@ -8875,7 +8966,7 @@ interface TimeEntriesStatusOptions {
|
|
|
8875
8966
|
interface TimeEntriesPostedWindowOptions {
|
|
8876
8967
|
/** Posted narrowing: `true` = posted rows only (postedDate exist), `false` = unposted rows only (postedDate notExist), omitted = both (the counts split the returned items). On a zone whose entity lacks the field (W-D3, e.g. ww29 — see the pointer note) the vendor 500s and the typed note explains. */
|
|
8877
8968
|
posted?: boolean;
|
|
8878
|
-
/** Max records (default
|
|
8969
|
+
/** Max records (default 500 = the hard cap — a window with more than 500 matching rows: the bounded query op (time_entries.query) with the same dateWorked filter, its 2500-row walk cap; issue #128). */
|
|
8879
8970
|
limit?: number;
|
|
8880
8971
|
/** Optional ticketID eq narrowing. */
|
|
8881
8972
|
ticketID?: number;
|