node-autotask 0.33.0 → 0.37.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 (41) hide show
  1. package/CHANGELOG.md +82 -1
  2. package/MCP_TOOL_CATALOG.json +26 -9
  3. package/MCP_TOOL_MANIFEST.md +14 -13
  4. package/N8N_MCP_MANIFEST.json +5 -5
  5. package/N8N_MCP_MANIFEST.md +4 -4
  6. package/README.md +12 -5
  7. package/capabilities.json +5850 -2557
  8. package/capabilities.schema.json +36 -0
  9. package/dist/capabilities.cjs +2 -2
  10. package/dist/capabilities.d.cts +15 -1
  11. package/dist/capabilities.d.ts +15 -1
  12. package/dist/capabilities.js +1 -1
  13. package/dist/{chunk-7WNE5MPG.js → chunk-2PJCQGXZ.js} +12 -12
  14. package/dist/{chunk-OO67MRHN.cjs → chunk-4GHBN2AW.cjs} +1737 -6620
  15. package/dist/{chunk-5DS6F6GF.js → chunk-75WJS26D.js} +3594 -8477
  16. package/dist/{chunk-3LAZZT7V.cjs → chunk-7WR5WUQT.cjs} +143 -143
  17. package/dist/{chunk-MFDQHFGJ.js → chunk-CH2WXTYD.js} +9445 -3678
  18. package/dist/{chunk-4QN43TRP.cjs → chunk-FYF46OT3.cjs} +9470 -3703
  19. package/dist/{chunk-SP2SJJZX.cjs → chunk-HBYKTXN3.cjs} +5849 -2556
  20. package/dist/{chunk-VKE56TTN.js → chunk-KQ6HMBB4.js} +5849 -2556
  21. package/dist/{index-BaeMHZPk.d.ts → index-DAFg_68I.d.ts} +584 -207
  22. package/dist/{index-Cq0VsfSz.d.cts → index-g8J6Qiu1.d.cts} +584 -207
  23. package/dist/index.cjs +22 -22
  24. package/dist/index.d.cts +2 -2
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.js +14 -14
  27. package/dist/operations/index.cjs +867 -135
  28. package/dist/operations/index.d.cts +182 -28
  29. package/dist/operations/index.d.ts +182 -28
  30. package/dist/operations/index.js +742 -10
  31. package/dist/pool.cjs +9 -9
  32. package/dist/pool.d.cts +1 -1
  33. package/dist/pool.d.ts +1 -1
  34. package/dist/pool.js +4 -4
  35. package/dist/resources/index.cjs +5 -4
  36. package/dist/resources/index.d.cts +1 -1
  37. package/dist/resources/index.d.ts +1 -1
  38. package/dist/resources/index.js +14 -13
  39. package/docs/API.md +481 -46
  40. package/docs/LIVE-TESTING.md +11 -11
  41. package/package.json +1 -1
@@ -68,6 +68,7 @@
68
68
  "required": [
69
69
  "id",
70
70
  "resource",
71
+ "udfCapable",
71
72
  "operation",
72
73
  "kind",
73
74
  "effect",
@@ -94,6 +95,9 @@
94
95
  "resource": {
95
96
  "type": "string"
96
97
  },
98
+ "udfCapable": {
99
+ "type": "boolean"
100
+ },
97
101
  "operation": {
98
102
  "type": "string"
99
103
  },
@@ -396,6 +400,38 @@
396
400
  }
397
401
  }
398
402
  },
403
+ "caveats": {
404
+ "type": "array",
405
+ "items": {
406
+ "type": "object",
407
+ "required": [
408
+ "kind",
409
+ "note"
410
+ ],
411
+ "properties": {
412
+ "kind": {
413
+ "enum": [
414
+ "not-persisted"
415
+ ]
416
+ },
417
+ "fields": {
418
+ "type": "array",
419
+ "items": {
420
+ "type": "string",
421
+ "minLength": 1
422
+ }
423
+ },
424
+ "note": {
425
+ "type": "string",
426
+ "minLength": 1
427
+ },
428
+ "remedyOp": {
429
+ "type": "string",
430
+ "minLength": 1
431
+ }
432
+ }
433
+ }
434
+ },
399
435
  "createRequirements": {
400
436
  "type": "object",
401
437
  "properties": {
@@ -2,9 +2,9 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkSP2SJJZXcjs = require('./chunk-SP2SJJZX.cjs');
5
+ var _chunkHBYKTXN3cjs = require('./chunk-HBYKTXN3.cjs');
6
6
 
7
7
 
8
8
 
9
9
 
10
- exports.CAPABILITIES = _chunkSP2SJJZXcjs.CAPABILITIES; exports.CAPABILITY_GROUPS = _chunkSP2SJJZXcjs.CAPABILITY_GROUPS; exports.CAPABILITY_PLAN_HASHES = _chunkSP2SJJZXcjs.CAPABILITY_PLAN_HASHES;
10
+ exports.CAPABILITIES = _chunkHBYKTXN3cjs.CAPABILITIES; exports.CAPABILITY_GROUPS = _chunkHBYKTXN3cjs.CAPABILITY_GROUPS; exports.CAPABILITY_PLAN_HASHES = _chunkHBYKTXN3cjs.CAPABILITY_PLAN_HASHES;
@@ -25,12 +25,25 @@ interface CapabilityArgSchema {
25
25
  default?: number | boolean | string | string[];
26
26
  }>;
27
27
  }
28
+ /** One per-operation caveat (issue #249): the closed-kind row served on `metadata.caveats`. */
29
+ interface CapabilityCaveat {
30
+ /** The closed caveat kind. `not-persisted`: the op accepts the listed `fields` but the vendor does not store them. */
31
+ kind: 'not-persisted';
32
+ /** The affected vendor field names (required for `not-persisted`). */
33
+ fields?: string[];
34
+ /** One sentence for the caller. */
35
+ note: string;
36
+ /** The operation id that does what this op cannot (e.g. 'time_entries.moveToTicket'). */
37
+ remedyOp?: string;
38
+ }
28
39
  /** One registered capability (a plan row that is implemented/tested). */
29
40
  interface CapabilityRecord {
30
41
  /** Plan row id, e.g. 'companies.query' or 'companies.search'. */
31
42
  id: string;
32
43
  /** Resource key (plan key). */
33
44
  resource: string;
45
+ /** The plan resource's `udfCapable` flag (issue #254): true for the resources whose records carry `userDefinedFields` (a UDF filter needs the `udf: true` marker; a sent list is merged). Every vendor entity also has a `getUdfInfo` catalog endpoint, so that op's presence does NOT mean this. False for the `operations` helpers. */
46
+ udfCapable: boolean;
34
47
  /** Operation name within the resource. */
35
48
  operation: string;
36
49
  /** 'primitive' rows are the batch-gate surface; 'helper' rows land at the G6 registry. */
@@ -104,6 +117,7 @@ interface CapabilityRecord {
104
117
  };
105
118
  /** Stable error codes this operation can emit (plan column pass-through). */
106
119
  errors: string[];
120
+ /** The descriptor bag (purpose, usage, ...). Optional `caveats?: CapabilityCaveat[]` (issue #249) names fields an op accepts but the vendor does not store. */
107
121
  metadata: Record<string, unknown>;
108
122
  /** Compact summary shape name, or null. */
109
123
  compact: string | null;
@@ -132,4 +146,4 @@ declare const CAPABILITIES: CapabilityRecord[];
132
146
  /** The plan hash per built group (staleness gate input). */
133
147
  declare const CAPABILITY_PLAN_HASHES: Record<string, string>;
134
148
 
135
- export { CAPABILITIES, CAPABILITY_GROUPS, CAPABILITY_PLAN_HASHES, type CapabilityArgSchema, type CapabilityRecord };
149
+ export { CAPABILITIES, CAPABILITY_GROUPS, CAPABILITY_PLAN_HASHES, type CapabilityArgSchema, type CapabilityCaveat, type CapabilityRecord };
@@ -25,12 +25,25 @@ interface CapabilityArgSchema {
25
25
  default?: number | boolean | string | string[];
26
26
  }>;
27
27
  }
28
+ /** One per-operation caveat (issue #249): the closed-kind row served on `metadata.caveats`. */
29
+ interface CapabilityCaveat {
30
+ /** The closed caveat kind. `not-persisted`: the op accepts the listed `fields` but the vendor does not store them. */
31
+ kind: 'not-persisted';
32
+ /** The affected vendor field names (required for `not-persisted`). */
33
+ fields?: string[];
34
+ /** One sentence for the caller. */
35
+ note: string;
36
+ /** The operation id that does what this op cannot (e.g. 'time_entries.moveToTicket'). */
37
+ remedyOp?: string;
38
+ }
28
39
  /** One registered capability (a plan row that is implemented/tested). */
29
40
  interface CapabilityRecord {
30
41
  /** Plan row id, e.g. 'companies.query' or 'companies.search'. */
31
42
  id: string;
32
43
  /** Resource key (plan key). */
33
44
  resource: string;
45
+ /** The plan resource's `udfCapable` flag (issue #254): true for the resources whose records carry `userDefinedFields` (a UDF filter needs the `udf: true` marker; a sent list is merged). Every vendor entity also has a `getUdfInfo` catalog endpoint, so that op's presence does NOT mean this. False for the `operations` helpers. */
46
+ udfCapable: boolean;
34
47
  /** Operation name within the resource. */
35
48
  operation: string;
36
49
  /** 'primitive' rows are the batch-gate surface; 'helper' rows land at the G6 registry. */
@@ -104,6 +117,7 @@ interface CapabilityRecord {
104
117
  };
105
118
  /** Stable error codes this operation can emit (plan column pass-through). */
106
119
  errors: string[];
120
+ /** The descriptor bag (purpose, usage, ...). Optional `caveats?: CapabilityCaveat[]` (issue #249) names fields an op accepts but the vendor does not store. */
107
121
  metadata: Record<string, unknown>;
108
122
  /** Compact summary shape name, or null. */
109
123
  compact: string | null;
@@ -132,4 +146,4 @@ declare const CAPABILITIES: CapabilityRecord[];
132
146
  /** The plan hash per built group (staleness gate input). */
133
147
  declare const CAPABILITY_PLAN_HASHES: Record<string, string>;
134
148
 
135
- export { CAPABILITIES, CAPABILITY_GROUPS, CAPABILITY_PLAN_HASHES, type CapabilityArgSchema, type CapabilityRecord };
149
+ export { CAPABILITIES, CAPABILITY_GROUPS, CAPABILITY_PLAN_HASHES, type CapabilityArgSchema, type CapabilityCaveat, type CapabilityRecord };
@@ -2,7 +2,7 @@ import {
2
2
  CAPABILITIES,
3
3
  CAPABILITY_GROUPS,
4
4
  CAPABILITY_PLAN_HASHES
5
- } from "./chunk-VKE56TTN.js";
5
+ } from "./chunk-KQ6HMBB4.js";
6
6
  export {
7
7
  CAPABILITIES,
8
8
  CAPABILITY_GROUPS,
@@ -1,14 +1,11 @@
1
1
  import {
2
2
  AppointmentsResource,
3
3
  AuthenticateResource,
4
- BillingCodesResource,
5
4
  BillingItemApprovalLevelsResource,
6
- BillingItemsResource,
7
5
  ChangeRequestLinksResource,
8
6
  ChecklistLibrariesResource,
9
7
  ChecklistLibraryChecklistItemsResource,
10
8
  ClassificationIconsResource,
11
- CompaniesResource,
12
9
  CompanyAlertsResource,
13
10
  CompanyLocationsResource,
14
11
  CompanyNotesResource,
@@ -49,7 +46,6 @@ import {
49
46
  ContractServiceUnitsResource,
50
47
  ContractServicesResource,
51
48
  ContractTicketPurchasesResource,
52
- ContractsResource,
53
49
  CountriesResource,
54
50
  CurrenciesResource,
55
51
  DepartmentsResource,
@@ -62,15 +58,11 @@ import {
62
58
  HolidaysResource,
63
59
  InventoryProductsResource,
64
60
  InvoiceTemplatesResource,
65
- InvoicesResource,
66
61
  ModulesResource,
67
62
  NotificationHistoryResource,
68
63
  OpportunitiesResource,
69
64
  OpportunityAttachmentsResource,
70
65
  OpportunityCategoriesResource,
71
- OrganizationalLevel1sResource,
72
- OrganizationalLevel2sResource,
73
- OrganizationalLevelAssociationsResource,
74
66
  PhasesResource,
75
67
  ProductVendorsResource,
76
68
  ProductsResource,
@@ -91,7 +83,6 @@ import {
91
83
  ResourceTimeOffAdditionalResource,
92
84
  ResourceTimeOffApproversResource,
93
85
  ResourceTimeOffBalancesResource,
94
- ResourcesResource,
95
86
  RolesResource,
96
87
  SalesOrdersResource,
97
88
  ServiceCallTaskResourcesResource,
@@ -129,19 +120,28 @@ import {
129
120
  TicketSecondaryResourcesResource,
130
121
  TicketWebhooksResource,
131
122
  TicketsResource,
132
- TimeEntriesResource,
133
123
  TimeEntryAttachmentsResource,
134
124
  TimeOffRequestsResource,
135
125
  VersionInformationResource,
136
126
  VersionResource,
137
127
  ZoneInformationResource
138
- } from "./chunk-5DS6F6GF.js";
128
+ } from "./chunk-75WJS26D.js";
139
129
  import {
140
130
  AutotaskConfigError,
131
+ BillingCodesResource,
132
+ BillingItemsResource,
133
+ CompaniesResource,
134
+ ContractsResource,
141
135
  HttpClient,
136
+ InvoicesResource,
137
+ OrganizationalLevel1sResource,
138
+ OrganizationalLevel2sResource,
139
+ OrganizationalLevelAssociationsResource,
140
+ ResourcesResource,
141
+ TimeEntriesResource,
142
142
  resolveConfig,
143
143
  runWithSignal
144
- } from "./chunk-MFDQHFGJ.js";
144
+ } from "./chunk-CH2WXTYD.js";
145
145
 
146
146
  // src/client.ts
147
147
  var AutotaskClient = class {