node-autotask 0.44.0 → 0.45.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 +28 -0
- package/MCP_TOOL_CATALOG.json +153 -1269
- package/MCP_TOOL_MANIFEST.md +28 -95
- package/MCP_TOOL_OVERRIDES.json +8 -62
- package/N8N_MCP_MANIFEST.json +118 -695
- package/N8N_MCP_MANIFEST.md +32 -52
- package/README.md +5 -10
- package/capabilities.json +23788 -31075
- package/dist/{base-CftidiyZ.d.cts → base-BVoYDlVA.d.cts} +2 -2
- package/dist/{base-CftidiyZ.d.ts → base-BVoYDlVA.d.ts} +2 -2
- package/dist/capabilities.cjs +2 -2
- package/dist/capabilities.js +1 -1
- package/dist/{chunk-N6IWPGHB.js → chunk-ASMCTZO2.js} +23787 -31074
- package/dist/{chunk-6WLGHKIU.cjs → chunk-DC3PY4EF.cjs} +1839 -1407
- package/dist/{chunk-BKTOMNT2.js → chunk-DXKXQHCX.js} +5 -5
- package/dist/{chunk-KWQSGWY5.cjs → chunk-JO6WI763.cjs} +143 -143
- package/dist/{chunk-LYI5FRPX.js → chunk-NSW7JPVS.js} +11544 -13365
- package/dist/{chunk-7MCKJTSA.js → chunk-O4PIPUS4.js} +1583 -1151
- package/dist/{chunk-PH3ESYAF.cjs → chunk-VXVYFJH3.cjs} +23787 -31074
- package/dist/{chunk-EMYDC5SG.cjs → chunk-YMBVKVK4.cjs} +6123 -7944
- package/dist/{index-YbEk0awP.d.cts → index-C5g1H_hF.d.ts} +1194 -1415
- package/dist/{index-D8FtzUGP.d.ts → index-Db0SNnQn.d.cts} +1194 -1415
- package/dist/{index-DgBA1JMH.d.cts → index-c549LvOb.d.cts} +188 -188
- package/dist/{index-DgBA1JMH.d.ts → index-c549LvOb.d.ts} +188 -188
- package/dist/index.cjs +22 -22
- package/dist/index.d.cts +15 -42
- package/dist/index.d.ts +15 -42
- package/dist/index.js +7 -7
- package/dist/operations/index.cjs +5 -2327
- package/dist/operations/index.d.cts +7 -287
- package/dist/operations/index.d.ts +7 -287
- package/dist/operations/index.js +29 -2351
- 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 +2 -2
- package/dist/resources/index.d.ts +2 -2
- package/dist/resources/index.js +7 -7
- package/dist/types/index.d.cts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/docs/API.md +201 -303
- package/docs/LIVE-TESTING.md +4 -6
- package/docs/N8N-ADAPTER.md +26 -26
- package/n8n-mcp.curation.json +3 -3
- package/package.json +1 -1
package/docs/LIVE-TESTING.md
CHANGED
|
@@ -137,18 +137,16 @@ DRY-RUN-ONLY verdict (the only no-credentials path, exit 0).
|
|
|
137
137
|
Full-sweep budget (worst case, every table non-empty — the machine-readable
|
|
138
138
|
number is the report's `budget` block): PLAN-HONEST 1016 bounded op calls
|
|
139
139
|
(every read/helper row = at most ONE bounded call — reads use
|
|
140
|
-
`queryBounded` limit 2, a TOTAL cap; the served-artifact
|
|
141
|
-
operations.
|
|
142
|
-
|
|
140
|
+
`queryBounded` limit 2, a TOTAL cap; the served-artifact row —
|
|
141
|
+
operations.createGuidance (issue #12) — plans the op call at ZERO wire,
|
|
142
|
+
but still counts as one op call in
|
|
143
143
|
this number: the budget counts ROW calls, not raw wire, so the 1016 is the
|
|
144
144
|
conservative row-based figure)
|
|
145
145
|
+ <=82 best-effort update diff GETs
|
|
146
146
|
+ <=129 cached limit-1 id reads (one per resource; the parent chain shares
|
|
147
147
|
the cache) = <= 1227. WIRE-HONEST: the dry-run verification reads ride on
|
|
148
148
|
top — 54 delete current-record GETs + 63 scoped-create parent-verify GETs
|
|
149
|
-
+ 20 getContext part GETs + <=18 special-op reads
|
|
150
|
-
`operations.recovery` dry-run find — ONE bounded query, zero mutating
|
|
151
|
-
wire) = <=155 — so the worst case is <= 1382 raw wire requests. The 1600
|
|
149
|
+
+ 20 getContext part GETs + <=18 special-op reads = <=155 — so the worst case is <= 1382 raw wire requests. The 1600
|
|
152
150
|
--max-calls cap bounds the row-based plan (actualCalls <= 1227); the wire
|
|
153
151
|
count cannot exceed plan + the stated verification set (and 1382 is far
|
|
154
152
|
under the API's 10k req/hour). ZERO mutating requests: every mutation travels
|
package/docs/N8N-ADAPTER.md
CHANGED
|
@@ -36,12 +36,12 @@ Two sources in, markdown table out: the node repo (the ops column is re-derived
|
|
|
36
36
|
|----------|-----------|---------------|---------------------------|------------------|----------------------------------|
|
|
37
37
|
| `appointments` | Appointment | no | create, delete, get, getMany, update, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
38
38
|
| `billingCodes` | BillingCode | no | get, getMany, count | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search |
|
|
39
|
-
| `billingItems` | BillingItems | no | update, get, getMany, count | — | count,
|
|
40
|
-
| `changeRequestLinks` | ChangeRequestLink | no | create, createIfNotExists, delete, get, getMany, count |
|
|
39
|
+
| `billingItems` | BillingItems | no | update, get, getMany, count | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
40
|
+
| `changeRequestLinks` | ChangeRequestLink | no | create, createIfNotExists, delete, get, getMany, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
41
41
|
| `checklistLibraries` | ChecklistLibrary | no | create, update, delete, get, getMany, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
42
42
|
| `checklistLibraryChecklistItems` | ChecklistLibraryChecklistItem | yes | create, update, delete, get, getMany, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
43
43
|
| `classificationIcons` | ClassificationIcon | no | get, getMany, count | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search |
|
|
44
|
-
| `companies` | Company | no | create, update, get, getMany, count, searchByIdentity, searchByDomain | searchByDomain → `companies.searchByDomain`; searchByIdentity → `companies.searchByIdentity` | count, create, fullProfile, get, getContext, getEntityInfo, getFieldInfo, getUdfInfo, prepareCrmWrite, query, resolve, search, searchByDomain, searchByIdentity, unbilledWork, update
|
|
44
|
+
| `companies` | Company | no | create, update, get, getMany, count, searchByIdentity, searchByDomain | searchByDomain → `companies.searchByDomain`; searchByIdentity → `companies.searchByIdentity` | count, create, fullProfile, get, getContext, getEntityInfo, getFieldInfo, getUdfInfo, prepareCrmWrite, query, resolve, search, searchByDomain, searchByIdentity, unbilledWork, update |
|
|
45
45
|
| `companyAlerts` | CompanyAlert | yes | create, update, delete, get, getMany, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
46
46
|
| `companyLocations` | CompanyLocation | yes | create, get, getMany, update, delete, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
47
47
|
| `companyNotes` | CompanyNote | yes | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
@@ -56,15 +56,15 @@ Two sources in, markdown table out: the node repo (the ops column is re-derived
|
|
|
56
56
|
| `configurationItemSslSubjectAlternativeNames` | ConfigurationItemSslSubjectAlternativeName | yes | update, get, getMany, delete, count | — | count, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
57
57
|
| `configurationItemTypes` | ConfigurationItemType | no | create, update, get, getMany, delete, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
58
58
|
| `configurationItemWebhooks` | ConfigurationItemWebhook | yes | get, getMany, delete | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
59
|
-
| `configurationItems` | ConfigurationItem | no | create, update, get, getMany, count, moveConfigurationItem, createIfNotExists |
|
|
59
|
+
| `configurationItems` | ConfigurationItem | no | create, update, get, getMany, count, moveConfigurationItem, createIfNotExists | moveConfigurationItem → `configuration_items.moveConfigurationItem` | count, create, findBySerial, get, getContext, getEntityInfo, getFieldInfo, getUdfInfo, moveConfigurationItem, profile, query, resolve, search, update |
|
|
60
60
|
| `contactGroupContacts` | ContactGroupContacts | no | create, get, getMany, delete, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
61
61
|
| `contactGroups` | ContactGroups | no | create, update, get, getMany, delete, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
62
62
|
| `contactWebhooks` | ContactWebhook | yes | get, getMany, delete | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
63
|
-
| `contacts` | Contact | yes | create, get, getMany, update, count, delete, moveToCompany | moveToCompany → `contacts.moveToCompany` | count, create, delete, findByEmail, get, getContext, getEntityInfo, getFieldInfo, getUdfInfo, moveToCompany, query, resolve, search, update
|
|
63
|
+
| `contacts` | Contact | yes | create, get, getMany, update, count, delete, moveToCompany | moveToCompany → `contacts.moveToCompany` | count, create, delete, findByEmail, fullProfile, get, getContext, getEntityInfo, getFieldInfo, getUdfInfo, moveToCompany, query, resolve, search, update |
|
|
64
64
|
| `contractBillingRules` | ContractBillingRule | yes | create, update, get, getMany, count, delete | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
65
65
|
| `contractBlockHourFactors` | ContractBlockHourFactor | yes | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
66
66
|
| `contractBlocks` | ContractBlock | yes | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
67
|
-
| `contractCharges` | ContractCharge | yes | create, createIfNotExists, update, delete, get, getMany, count |
|
|
67
|
+
| `contractCharges` | ContractCharge | yes | create, createIfNotExists, update, delete, get, getMany, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
68
68
|
| `contractExclusionBillingCodes` | ContractExclusionBillingCode | yes | create, get, getMany, count, delete | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
69
69
|
| `contractExclusionRoles` | ContractExclusionRoles | yes | create, get, getMany, count, delete | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
70
70
|
| `contractExclusionSetExcludedRoles` | ContractExclusionSetExcludedRoles | yes | create, get, getMany, count, delete | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
@@ -80,25 +80,25 @@ Two sources in, markdown table out: the node repo (the ops column is re-derived
|
|
|
80
80
|
| `contractServiceBundleUnits` | ContractServiceBundleUnit | yes | get, getMany, count | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
81
81
|
| `contractServiceBundles` | ContractServiceBundle | yes | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
82
82
|
| `contractServiceUnits` | ContractServiceUnit | yes | get, getMany, count | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
83
|
-
| `contractServices` | ContractService | yes | create, update, get, getMany, count, createIfNotExists |
|
|
83
|
+
| `contractServices` | ContractService | yes | create, update, get, getMany, count, createIfNotExists | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
84
84
|
| `contractTicketPurchases` | ContractTicketPurchases | yes | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
85
|
-
| `contracts` | Contract | no | create, update, get, getMany, count, createIfNotExists |
|
|
85
|
+
| `contracts` | Contract | no | create, update, get, getMany, count, createIfNotExists | — | count, create, fullProfile, get, getEntityInfo, getFieldInfo, getUdfInfo, lineOfBusiness, profitability, query, resolve, search, update |
|
|
86
86
|
| `countries` | Country | no | get, getMany, update, count | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
87
87
|
| `departments` | Department | no | count, create, get, getMany, update | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
88
88
|
| `domainRegistrar` | DomainRegistrar | no | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
89
89
|
| `expenseItemAttachments` | ExpenseItemAttachment | yes | create, getMany, count, download, delete | download → `expense_item_attachments.download` | count, create, delete, download, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
90
|
-
| `expenseItems` | ExpenseItem | yes | create, update, get, getMany, count, createIfNotExists |
|
|
90
|
+
| `expenseItems` | ExpenseItem | yes | create, update, get, getMany, count, createIfNotExists | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
91
91
|
| `expenseReports` | ExpenseReport | no | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
92
|
-
| `holidaySets` | HolidaySet | no | create, update, get, getMany, delete, count, createIfNotExists |
|
|
93
|
-
| `holidays` | Holiday | yes | create, update, get, getMany, count, delete, createIfNotExists |
|
|
94
|
-
| `invoices` | Invoice | no | update, get, getMany, count, pdf, markupHtml, markupXml | markupHtml → `invoices.markupHtml`; markupXml → `invoices.markupXml`; pdf → `invoices.pdf` | count,
|
|
92
|
+
| `holidaySets` | HolidaySet | no | create, update, get, getMany, delete, count, createIfNotExists | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
93
|
+
| `holidays` | Holiday | yes | create, update, get, getMany, count, delete, createIfNotExists | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
94
|
+
| `invoices` | Invoice | no | update, get, getMany, count, pdf, markupHtml, markupXml | markupHtml → `invoices.markupHtml`; markupXml → `invoices.markupXml`; pdf → `invoices.pdf` | count, get, getEntityInfo, getFieldInfo, getUdfInfo, markupHtml, markupXml, pdf, query, resolve, update |
|
|
95
95
|
| `notificationHistory` | NotificationHistory | no | get, getMany, count | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
96
|
-
| `opportunities` | Opportunity | no | create, createIfNotExists, update, get, getMany, count |
|
|
96
|
+
| `opportunities` | Opportunity | no | create, createIfNotExists, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
97
97
|
| `opportunityAttachments` | OpportunityAttachment | yes | create, getMany, count, download, delete | download → `opportunity_attachments.download` | count, create, delete, download, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
98
98
|
| `opportunityCategories` | OpportunityCategory | no | get, getMany, count, update | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
99
99
|
| `productVendors` | ProductVendors | yes | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
100
100
|
| `products` | Product | no | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
101
|
-
| `projectCharges` | ProjectCharge | yes | create, update, delete, get, getMany, count, createIfNotExists |
|
|
101
|
+
| `projectCharges` | ProjectCharge | yes | create, update, delete, get, getMany, count, createIfNotExists | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
102
102
|
| `projectNotes` | ProjectNote | yes | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
103
103
|
| `projectPhases` | Phase | yes | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
104
104
|
| `projectTasks` | Task | yes | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
@@ -110,20 +110,20 @@ Two sources in, markdown table out: the node repo (the ops column is re-derived
|
|
|
110
110
|
| `quoteItems` | QuoteItem | yes | create, update, get, getMany, count, delete | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
111
111
|
| `quoteLocations` | QuoteLocation | yes | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
112
112
|
| `quoteTemplates` | QuoteTemplate | no | get, getMany, count | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search |
|
|
113
|
-
| `quotes` | Quote | no | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
113
|
+
| `quotes` | Quote | no | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update, withItems |
|
|
114
114
|
| `resourceRoleQueues` | ResourceRoleQueue | yes | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
115
115
|
| `resourceRoles` | ResourceRole | yes | get, getMany, count | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
116
116
|
| `resourceSkills` | ResourceSkill | yes | get, getMany, count, update | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
117
117
|
| `resourceTimeOffAdditional` | ResourceTimeOffAdditional | yes | get, update | getByResource → `resource_time_off_additional.getByResource`; get → `resource_time_off_additional.getByResource` | getByResource, getEntityInfo, getFieldInfo, getUdfInfo, resolve, update |
|
|
118
118
|
| `resourceTimeOffApprovers` | ResourceTimeOffApprover | yes | get, getMany, count | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
119
119
|
| `resourceTimeOffBalances` | ResourceTimeOffBalance | yes | get, getByYear | getByResource → `resource_time_off_balances.getByResource`; getByYear → `resource_time_off_balances.getByYear` | get, getByResource, getByYear, getEntityInfo, getFieldInfo, getUdfInfo, resolve |
|
|
120
|
-
| `resources` | Resource | no | get, getMany, whoAmI, transferOwnership, update, count |
|
|
120
|
+
| `resources` | Resource | no | get, getMany, whoAmI, transferOwnership, update, count | whoAmI → `resources.whoAmI` | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update, whoAmI, workload |
|
|
121
121
|
| `roles` | Role | no | create, get, getMany, update | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
122
122
|
| `serviceCallTaskResources` | ServiceCallTaskResource | yes | create, get, getMany, delete, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
123
123
|
| `serviceCallTasks` | ServiceCallTask | yes | create, get, getMany, delete, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
124
124
|
| `serviceCallTicketResources` | ServiceCallTicketResource | yes | create, get, getMany, delete, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
125
125
|
| `serviceCallTickets` | ServiceCallTicket | yes | create, get, getMany, delete, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
126
|
-
| `serviceCalls` | ServiceCall | no | create, update, get, getMany, delete, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
126
|
+
| `serviceCalls` | ServiceCall | no | create, update, get, getMany, delete, count | — | count, create, delete, fullProfile, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
127
127
|
| `serviceLevelAgreementResults` | ServiceLevelAgreementResults | no | get, getMany, count | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
128
128
|
| `services` | Service | no | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
129
129
|
| `skills` | Skill | no | get, getMany, count | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search |
|
|
@@ -135,13 +135,13 @@ Two sources in, markdown table out: the node repo (the ops column is re-derived
|
|
|
135
135
|
| `tagGroups` | TagGroup | no | create, update, delete, get, getMany, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
136
136
|
| `tags` | Tag | no | create, update, delete, get, getMany, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
137
137
|
| `taskSecondaryResources` | TaskSecondaryResource | yes | create, delete, get, getMany, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
138
|
-
| `ticketAdditionalConfigurationItems` | TicketAdditionalConfigurationItem | yes | create, createIfNotExists, delete, get, getMany, count |
|
|
139
|
-
| `ticketAdditionalContacts` | TicketAdditionalContact | yes | create, createIfNotExists, delete, get, getMany, count |
|
|
138
|
+
| `ticketAdditionalConfigurationItems` | TicketAdditionalConfigurationItem | yes | create, createIfNotExists, delete, get, getMany, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
139
|
+
| `ticketAdditionalContacts` | TicketAdditionalContact | yes | create, createIfNotExists, delete, get, getMany, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
140
140
|
| `ticketAttachments` | TicketAttachment | yes | create, getMany, count, download, delete | download → `ticket_attachments.download` | count, create, delete, download, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
141
141
|
| `ticketCategories` | TicketCategory | no | get, getMany, update, count | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
142
142
|
| `ticketCategoryFieldDefaults` | TicketCategoryFieldDefault | yes | get, getMany, count | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
143
143
|
| `ticketChangeRequestApprovals` | TicketChangeRequestApproval | yes | create, delete, get, getMany, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
144
|
-
| `ticketCharges` | TicketCharge | yes | create, createIfNotExists, update, delete, get, getMany, count |
|
|
144
|
+
| `ticketCharges` | TicketCharge | yes | create, createIfNotExists, update, delete, get, getMany, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, moveToTicket, query, resolve, search, update |
|
|
145
145
|
| `ticketChecklistItems` | TicketChecklistItem | yes | create, update, delete, get, getMany, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
146
146
|
| `ticketChecklistLibraries` | TicketChecklistLibrary | yes | create | — | attachToDocument, create, getEntityInfo, getFieldInfo, getUdfInfo, resolve |
|
|
147
147
|
| `ticketHistories` | TicketHistory | no | get, getMany, count | — | count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
@@ -150,8 +150,8 @@ Two sources in, markdown table out: the node repo (the ops column is re-derived
|
|
|
150
150
|
| `ticketNotes` | TicketNote | yes | create, update, get, getMany, count | — | count, create, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, update |
|
|
151
151
|
| `ticketSecondaryResources` | TicketSecondaryResource | yes | create, delete, get, getMany, count | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
152
152
|
| `ticketWebhooks` | TicketWebhook | yes | get, getMany, delete | — | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, search, update |
|
|
153
|
-
| `tickets` | Ticket | no | create, get, getMany, slaHealthCheck, summary, timeline, update, count | slaHealthCheck → `tickets.slaHealthCheck`; summary → `tickets.summary`; timeline → `tickets.timeline` | changeStatus, count, create, findByTicketNumber, forResource, fullContext, get, getContext, getEntityInfo, getFieldInfo, getUdfInfo, lineOfBusiness,
|
|
154
|
-
| `timeEntries` | TimeEntry | no | create, update, get, getMany, getPosted, getUnposted, delete, count, createIfNotExists |
|
|
153
|
+
| `tickets` | Ticket | no | create, get, getMany, slaHealthCheck, summary, timeline, update, count | slaHealthCheck → `tickets.slaHealthCheck`; summary → `tickets.summary`; timeline → `tickets.timeline` | changeStatus, count, create, findByTicketNumber, forResource, fullContext, get, getContext, getEntityInfo, getFieldInfo, getUdfInfo, lineOfBusiness, query, resolve, search, slaHealthCheck, statusSemantics, summary, timeline, update |
|
|
154
|
+
| `timeEntries` | TimeEntry | no | create, update, get, getMany, getPosted, getUnposted, delete, count, createIfNotExists | dateWorkedWindow → `time_entries.dateWorkedWindow`; moveToTicket → `time_entries.moveToTicket` | count, create, dateWorkedWindow, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, moveToTicket, query, resolve, update |
|
|
155
155
|
| `timeEntryAttachments` | TimeEntryAttachment | yes | create, getMany, count, download, delete | download → `time_entry_attachments.download` | count, create, delete, download, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve |
|
|
156
156
|
| `timeOffRequests` | TimeOffRequest | no | get, getMany, count, approve, reject | approve → `time_off_requests.approve`; reject → `time_off_requests.reject` | approve, count, get, getEntityInfo, getFieldInfo, getUdfInfo, query, reject, resolve |
|
|
157
157
|
| `(none — NOT IMPLEMENTED in node)` | InventoryProduct (StockedItemsAdd/Remove/Transfer pseudo-entities) | yes | | stockedItemsAdd → `inventory_products.stockedItemsAdd`; stockedItemsRemove → `inventory_products.stockedItemsRemove`; stockedItemsTransfer → `inventory_products.stockedItemsTransfer` | count, create, delete, get, getEntityInfo, getFieldInfo, getUdfInfo, query, resolve, stockedItemsAdd, stockedItemsRemove, stockedItemsTransfer, update |
|
|
@@ -352,10 +352,10 @@ taste**: extend or shrink it only via a recorded change to
|
|
|
352
352
|
`code`, `category`, `retryable`, `operation`, `httpStatus`, `suggestedAction`
|
|
353
353
|
(the nextAction directive — follow it), `correlationId`, the deep-redacted
|
|
354
354
|
`vendorError` body (the vendor's own field-level failure text — absent when
|
|
355
|
-
the error carries no body), and — when the SDK attached extras (issue
|
|
356
|
-
the typed `emptyReason` / `pointerNote` on a plan-pinned op's
|
|
357
|
-
|
|
358
|
-
absent on unpinned surfaces). A string `vendorError` / `details.bodySnippet`
|
|
355
|
+
the error carries no body), and — when the SDK attached extras (issue
|
|
356
|
+
#13/#14: the typed `emptyReason` / `pointerNote` on a plan-pinned op's
|
|
357
|
+
failure, the #13 shape-drift `candidateIds` refusal) — `details` (passed
|
|
358
|
+
through verbatim; absent on unpinned surfaces). A string `vendorError` / `details.bodySnippet`
|
|
359
359
|
body is host-sourced free text: when the untrusted-content projection is on
|
|
360
360
|
it is served wrapped in `<untrusted_content>` (the wrapper marks DATA, never
|
|
361
361
|
instructions); a parsed (non-string) `vendorError` body is the redacted copy
|
package/n8n-mcp.curation.json
CHANGED
|
@@ -45,15 +45,15 @@
|
|
|
45
45
|
"entity": "resource",
|
|
46
46
|
"apiEntity": "resources",
|
|
47
47
|
"included": true,
|
|
48
|
-
"reason": "The staff side: the resource the credentials act as (whoAmI) and staff lookup (get/query/count/resolve/search), plus resource update
|
|
48
|
+
"reason": "The staff side: the resource the credentials act as (whoAmI) and staff lookup (get/query/count/resolve/search), plus resource update.",
|
|
49
49
|
"excludeDestructive": true,
|
|
50
|
-
"notes": "
|
|
50
|
+
"notes": "No approval-gated operations for resources remain (the transferOwnership ownership transfer was cut in #292); no destructive operations for resources."
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
"entity": "timeEntry",
|
|
54
54
|
"apiEntity": "time_entries",
|
|
55
55
|
"included": true,
|
|
56
|
-
"reason": "The effort side: time entries logged against tickets \u2014 create/update
|
|
56
|
+
"reason": "The effort side: time entries logged against tickets \u2014 create/update and the posted-state window read (dateWorkedWindow: the inclusive dateWorked window with the posted/unposted split from the billing-item join).",
|
|
57
57
|
"excludeDestructive": true,
|
|
58
58
|
"notes": "time_entries.delete (destructive, confirm-gated) is excluded from the consumer surface by default; listed available-via-SDK-server."
|
|
59
59
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-autotask",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.45.0",
|
|
4
4
|
"description": "Fully-typed TypeScript SDK for the Autotask (Datto) PSA REST API. Zero runtime dependencies. Built for building MCP servers and integrations.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|