node-autotask 0.18.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.
Files changed (39) hide show
  1. package/ARCHITECTURE.md +15 -8
  2. package/CHANGELOG.md +590 -0
  3. package/MCP_TOOL_CATALOG.json +6 -6
  4. package/MCP_TOOL_MANIFEST.md +128 -128
  5. package/N8N_MCP_MANIFEST.json +44 -9
  6. package/N8N_MCP_MANIFEST.md +8 -8
  7. package/README.md +8 -4
  8. package/capabilities.json +1941 -1829
  9. package/capabilities.schema.json +6 -0
  10. package/dist/capabilities.cjs +2 -2
  11. package/dist/capabilities.js +1 -1
  12. package/dist/{chunk-VV2UUW2J.js → chunk-2T77J2ZM.js} +1940 -1828
  13. package/dist/{chunk-5O5EPYBO.cjs → chunk-FLYTKJKV.cjs} +1940 -1828
  14. package/dist/{chunk-VYUZZIEE.js → chunk-GA6UCX3Z.js} +292 -58
  15. package/dist/{chunk-W2WSZOZA.js → chunk-JEJUFXHX.js} +2 -2
  16. package/dist/{chunk-WRWX6WIK.cjs → chunk-L6V66V22.cjs} +360 -126
  17. package/dist/{chunk-G564CHXM.cjs → chunk-RMLGOCGA.cjs} +135 -135
  18. package/dist/{chunk-HXOWEYV3.js → chunk-XSYJB4IW.js} +3 -3
  19. package/dist/{chunk-7I3F3AJJ.cjs → chunk-YH5CPRDN.cjs} +394 -394
  20. package/dist/{index-D7x3MkLK.d.cts → index-AN-NjLi9.d.cts} +126 -21
  21. package/dist/{index-BqPY04ZG.d.ts → index-CvLLsOCP.d.ts} +126 -21
  22. package/dist/index.cjs +24 -22
  23. package/dist/index.d.cts +2 -2
  24. package/dist/index.d.ts +2 -2
  25. package/dist/index.js +6 -4
  26. package/dist/operations/index.cjs +184 -136
  27. package/dist/operations/index.d.cts +2 -2
  28. package/dist/operations/index.d.ts +2 -2
  29. package/dist/operations/index.js +79 -31
  30. package/dist/pool.cjs +8 -8
  31. package/dist/pool.d.cts +1 -1
  32. package/dist/pool.d.ts +1 -1
  33. package/dist/pool.js +4 -4
  34. package/dist/resources/index.cjs +4 -4
  35. package/dist/resources/index.d.cts +1 -1
  36. package/dist/resources/index.d.ts +1 -1
  37. package/dist/resources/index.js +3 -3
  38. package/docs/API.md +126 -40
  39. package/package.json +2 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "generatedBy": "scripts/build-tool-catalog.mjs",
3
- "generatedAt": "2026-10-19T05:26:26.501Z",
4
- "planHash": "5176d37fc9bae34139c151ae0ea8336dab63a30382f04acbcaed0e24cdd71d5f",
3
+ "generatedAt": "2026-10-20T01:49:50.366Z",
4
+ "planHash": "f6a579e0b7a8544f6e477a730d21a9ba031536392d8dbaeb2f73c61ca290ae91",
5
5
  "metaTools": [
6
6
  {
7
7
  "name": "autotask_catalog",
@@ -9891,7 +9891,7 @@
9891
9891
  {
9892
9892
  "operation": "time_entries.dateWorkedWindow",
9893
9893
  "tool": "autotask_timeEntry_date_worked_window",
9894
- "purpose": "The clearer-named alias for time_entries.postedWithin (issue #66): the dateWorked window read with the posted/unposted split, counted in one pass — same wire, same result (incl. truncated).",
9894
+ "purpose": "The unambiguous-named alias for time_entries.postedWithin (issue #66): the dateWorked window read with the posted/unposted split, counted in one pass — same wire, same result (incl. truncated). The window is ON dateWorked (entries worked within [from, to]); \"postedWithin\" keeps its historical name (its \"posted\" is the posted/unposted split over the returned rows, never a posted-date window).",
9895
9895
  "preferredWhen": null,
9896
9896
  "backingOperation": "time_entries.dateWorkedWindow",
9897
9897
  "effect": "read",
@@ -10170,7 +10170,7 @@
10170
10170
  {
10171
10171
  "operation": "time_entries.postedWithin",
10172
10172
  "tool": "autotask_timeEntry_posted_within",
10173
- "purpose": "Get time entries worked within an inclusive dateWorked window with the posted/unposted split, counted in one pass (the window is ON the dateWorked field — the posted narrowing is a server-side postedDate exist|notExist predicate; the counts cover the returned rows only, truncated flags the capped window).",
10173
+ "purpose": "Get time entries WORKED within an inclusive dateWorked window with the posted/unposted split, counted in one pass. The window is ON the dateWorked field — the name's \"posted\" is the posted/unposted SPLIT counted over the returned rows (the server-side postedDate exist|notExist predicate), never a posted-date window: no postedDate window op exists (the vendored TimeEntryModel declares no postedDate filter, and ww29-class zones 500 on postedDate filters ONLY WHEN the `posted` narrowing is set — omit `posted` on such zones — W-D3). The counts cover the returned rows only; truncated flags the capped window. time_entries.dateWorkedWindow is the unambiguous name.",
10174
10174
  "preferredWhen": null,
10175
10175
  "backingOperation": "time_entries.postedWithin",
10176
10176
  "effect": "read",
@@ -20634,7 +20634,7 @@
20634
20634
  {
20635
20635
  "operation": "tickets.search",
20636
20636
  "tool": "autotask_ticket_search",
20637
- "purpose": "Search ticket records by text (contains on the searchable fields).",
20637
+ "purpose": "Search ticket records by text (a vendor contains filter on title only — the vendor exposes no free-text search and no matched-field reporting).",
20638
20638
  "preferredWhen": null,
20639
20639
  "backingOperation": "tickets.search",
20640
20640
  "effect": "read",
@@ -20725,7 +20725,7 @@
20725
20725
  {
20726
20726
  "operation": "operations.aggregate",
20727
20727
  "tool": "autotask_aggregate",
20728
- "purpose": "Fold any query surface into groups/sums/totals in one bounded call — or count it with the vendor count endpoint when no folding is needed — with blind-surface and truncation honesty; date fields bucket via the closed groupBy suffix <field>@month | @week | @year (ISO labels, UTC-anchored)",
20728
+ "purpose": "Fold any query surface into groups/sums/totals in one bounded call — or count it with the vendor count endpoint when no folding is needed — with blind-surface and truncation honesty (caps documented: the walk scans at most 2500 rows and top keeps at most 100 groups — a truncated aggregate is a PARTIAL answer, never a tenant-wide total); date fields bucket via the closed groupBy suffix <field>@month | @week | @year (ISO labels, UTC-anchored)",
20729
20729
  "preferredWhen": "For existence checks and totals over any queryable table (count mode is one call vs a 50k-char page); group-by/sum folds the vendor has no endpoint for; a targeted read is cheaper when you need the rows",
20730
20730
  "backingOperation": "operations.aggregate",
20731
20731
  "effect": "read",