iit-mcp-autotask 0.31.0 → 0.32.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/README.md
CHANGED
|
@@ -867,7 +867,7 @@ physical assets (Autotask models them as Configuration Items — covered).
|
|
|
867
867
|
|---|------|--------|
|
|
868
868
|
| B1 | **Project phase & task lists** (W7 sub-capability): no `project_tasks`/`project_phases` operations in the SDK's 1,216-op registry. W7 ships with project status + context; phase/task lists excluded and documented. Classification (SDK gap vs vendor API-version limit) is decided by recon's spec-side check (A2). | blocked — documented |
|
|
869
869
|
| B2 | **Time-entry writes on ww29/australia-nz for API-only users**: vendor 500 (live-verified). Time-entry creation works where the API user is a real resource, through the operator profile (`log-time-entry`); on ww29 the write is classified `failed` (a 500 with a vendor `errors[]` body), never `unknown`. | zone limitation |
|
|
870
|
-
| B3 | **`time_entries.getPosted`/`getUnposted`
|
|
870
|
+
| B3 | **`time_entries.getPosted`/`getUnposted`: the zone's TimeEntry entity has no `postedDate`**, so SDK 0.31 and earlier 500ed (and `postedWithin`/`dateWorkedWindow` silently counted every entry unposted). SDK 0.32.0 derives posted state from a `billing_items.timeEntryID` join and returns `{ items, hasMore, window, approvedCount, unapprovedCount }` (optional date-only `dateFrom`/`dateTo`; no dates reads only the first 500 entries). Needs BillingItems read permission (one extra request per call); `approvedCount`/`unapprovedCount` are not posted state. Reachable via the generic layer. | resolved in SDK 0.32.0 (not re-verified live) |
|
|
871
871
|
| B4 | **CI create on tenants without products** (ww29 product wall: `products.count = 0`): `configuration_items.create` requires an existing `productID`. No dedicated CI-create in v1; the wall is documented on the generic side. | zone limitation |
|
|
872
872
|
| B5 | **Blind count/query surfaces on ww29** (companies not owned by the caller; tickets): count/query return 0/empty even when data exists. Not fixable client-side; the surface carries the typed blind-surface sentinel — `get(id)`/full-profile are the authorities. | zone limitation |
|
|
873
873
|
| B6 | **`node-autotask` npm publish**: the Phase-C install gate re-checks the registry; if still 404 the build pauses and escalates (SCOPING-resolved: the user publishes — no git/file dependency fallback). | open — user action |
|
|
@@ -102,7 +102,7 @@ export declare function cacheOptionsForPreset(preset: 'on' | 'off', fieldCacheTt
|
|
|
102
102
|
* fails the boot (or the CI test) instead of quietly shipping a tool surface that no longer
|
|
103
103
|
* describes the SDK behind it.
|
|
104
104
|
*/
|
|
105
|
-
export declare const BUILT_AGAINST_PLAN_HASH = "
|
|
105
|
+
export declare const BUILT_AGAINST_PLAN_HASH = "eb91032d723d5b0ca909da740889a5e28cf606ab4ee9e749de3127c287ab0471";
|
|
106
106
|
/**
|
|
107
107
|
* Fail fast when the installed SDK's plan has moved out from under this surface.
|
|
108
108
|
* Called at boot (main.ts) and safe to call repeatedly (pure comparison).
|
|
@@ -164,7 +164,7 @@ export function cacheOptionsForPreset(preset, fieldCacheTtlMs) {
|
|
|
164
164
|
* fails the boot (or the CI test) instead of quietly shipping a tool surface that no longer
|
|
165
165
|
* describes the SDK behind it.
|
|
166
166
|
*/
|
|
167
|
-
export const BUILT_AGAINST_PLAN_HASH = '
|
|
167
|
+
export const BUILT_AGAINST_PLAN_HASH = 'eb91032d723d5b0ca909da740889a5e28cf606ab4ee9e749de3127c287ab0471';
|
|
168
168
|
/**
|
|
169
169
|
* Fail fast when the installed SDK's plan has moved out from under this surface.
|
|
170
170
|
* Called at boot (main.ts) and safe to call repeatedly (pure comparison).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/** The wire identity of this server: a leaf module (no imports) so any tool can read it without an import cycle. */
|
|
2
2
|
export const SERVER_NAME = 'iit-mcp-autotask';
|
|
3
|
-
export const SERVER_VERSION = '0.
|
|
3
|
+
export const SERVER_VERSION = '0.32.0';
|
|
4
4
|
//# sourceMappingURL=server-version.js.map
|
package/dist/tools/server.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ export declare function serverInstructions(config: Pick<Config, 'AUTOTASK_PROFIL
|
|
|
60
60
|
/** The full identity stamp (the `/metadata` build block — the era pair, FR-2). */
|
|
61
61
|
export declare const SERVER_IDENTITY: {
|
|
62
62
|
readonly name: "iit-mcp-autotask";
|
|
63
|
-
readonly version: "0.
|
|
63
|
+
readonly version: "0.32.0";
|
|
64
64
|
readonly mcpProtocolBaseline: "2026-07-28";
|
|
65
65
|
readonly legacyProtocolFallback: "2025-11-25";
|
|
66
66
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iit-mcp-autotask",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "MCP server for the Autotask (Datto) PSA domain, built on the node-autotask SDK",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Max Soukhomlinov",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@modelcontextprotocol/server": "^2.2.0",
|
|
56
|
-
"node-autotask": "0.
|
|
56
|
+
"node-autotask": "0.32.0",
|
|
57
57
|
"zod": "^4.6.7"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
package/server.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iit-mcp-autotask",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "MCP server for the Autotask (Datto) PSA API, powered by the node-autotask SDK",
|
|
5
5
|
"mcpProtocolBaseline": "2026-07-28",
|
|
6
6
|
"legacyProtocolFallback": "2025-11-25",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"capabilitiesManifest": "capabilities.json",
|
|
62
62
|
"sdk": {
|
|
63
63
|
"package": "node-autotask",
|
|
64
|
-
"versionRange": "0.
|
|
64
|
+
"versionRange": "0.32.0"
|
|
65
65
|
},
|
|
66
66
|
"vendorExtensions": false,
|
|
67
67
|
"credentialModelNote": "per-request; server-held under stdio or, on HTTP, only behind AUTOTASK_HTTP_AUTH=tokens; operator plans and the ledger are keyed by principal and tenant id, never by credential, and an apply uses the credential on the apply request"
|