@wilnertech/halopsa-mcp-server 1.0.2 → 1.2.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/.env.example +18 -18
- package/LICENSE +21 -21
- package/README.md +290 -205
- package/dist/api/client.d.ts +7 -2
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +35 -8
- package/dist/api/client.js.map +1 -1
- package/dist/cache/memory-cache.d.ts +7 -0
- package/dist/cache/memory-cache.d.ts.map +1 -1
- package/dist/cache/memory-cache.js +7 -0
- package/dist/cache/memory-cache.js.map +1 -1
- package/dist/cache/prewarm.d.ts +3 -1
- package/dist/cache/prewarm.d.ts.map +1 -1
- package/dist/cache/prewarm.js +17 -1
- package/dist/cache/prewarm.js.map +1 -1
- package/dist/schemas/common.d.ts +30 -99
- package/dist/schemas/common.d.ts.map +1 -1
- package/dist/schemas/common.js +2 -2
- package/dist/schemas/common.js.map +1 -1
- package/dist/tools/assets.d.ts +87 -297
- package/dist/tools/assets.d.ts.map +1 -1
- package/dist/tools/assets.js +7 -3
- package/dist/tools/assets.js.map +1 -1
- package/dist/tools/batch-operations.d.ts +49 -81
- package/dist/tools/batch-operations.d.ts.map +1 -1
- package/dist/tools/batch-operations.js +62 -0
- package/dist/tools/batch-operations.js.map +1 -1
- package/dist/tools/clients.d.ts +24 -92
- package/dist/tools/clients.d.ts.map +1 -1
- package/dist/tools/reference-data.d.ts +44 -72
- package/dist/tools/reference-data.d.ts.map +1 -1
- package/dist/tools/reference-data.js +27 -0
- package/dist/tools/reference-data.js.map +1 -1
- package/dist/tools/registrations.d.ts +7 -1
- package/dist/tools/registrations.d.ts.map +1 -1
- package/dist/tools/registrations.js +43 -7
- package/dist/tools/registrations.js.map +1 -1
- package/dist/tools/registry.d.ts +12 -5
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +26 -2
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/sites.d.ts +28 -111
- package/dist/tools/sites.d.ts.map +1 -1
- package/dist/tools/sites.js +4 -2
- package/dist/tools/sites.js.map +1 -1
- package/dist/tools/ticket-actions.d.ts +50 -0
- package/dist/tools/ticket-actions.d.ts.map +1 -0
- package/dist/tools/ticket-actions.js +224 -0
- package/dist/tools/ticket-actions.js.map +1 -0
- package/dist/tools/ticket-custom-fields.d.ts +33 -0
- package/dist/tools/ticket-custom-fields.d.ts.map +1 -0
- package/dist/tools/ticket-custom-fields.js +155 -0
- package/dist/tools/ticket-custom-fields.js.map +1 -0
- package/dist/tools/ticket-reference-data.d.ts +88 -0
- package/dist/tools/ticket-reference-data.d.ts.map +1 -0
- package/dist/tools/ticket-reference-data.js +185 -0
- package/dist/tools/ticket-reference-data.js.map +1 -0
- package/dist/tools/tickets.d.ts +190 -0
- package/dist/tools/tickets.d.ts.map +1 -0
- package/dist/tools/tickets.js +592 -0
- package/dist/tools/tickets.js.map +1 -0
- package/dist/tools/users.d.ts +55 -193
- package/dist/tools/users.d.ts.map +1 -1
- package/dist/tools/users.js +7 -3
- package/dist/tools/users.js.map +1 -1
- package/dist/types/tickets.d.ts +193 -0
- package/dist/types/tickets.d.ts.map +1 -0
- package/dist/types/tickets.js +14 -0
- package/dist/types/tickets.js.map +1 -0
- package/dist/utils/formatter.d.ts +34 -1
- package/dist/utils/formatter.d.ts.map +1 -1
- package/dist/utils/formatter.js +203 -6
- package/dist/utils/formatter.js.map +1 -1
- package/package.json +68 -61
- package/dist/utils/zod-to-schema.d.ts +0 -29
- package/dist/utils/zod-to-schema.d.ts.map +0 -1
- package/dist/utils/zod-to-schema.js +0 -182
- package/dist/utils/zod-to-schema.js.map +0 -1
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Central tool registration — imports all
|
|
2
|
+
* Central tool registration — imports all ZodToolDefinition exports
|
|
3
3
|
* and registers them with a ToolRegistry instance.
|
|
4
|
+
*
|
|
5
|
+
* Tool inventory (49 total):
|
|
6
|
+
* Assets (11), Users (7), Sites (4), Clients (3),
|
|
7
|
+
* Reference data (4), Ticket reference data (5),
|
|
8
|
+
* Tickets (7), Ticket actions (2), Ticket custom fields (2),
|
|
9
|
+
* Batch operations (4 — assets, users, sites, tickets)
|
|
4
10
|
*/
|
|
5
11
|
import type { ToolRegistry } from './registry.js';
|
|
6
12
|
export declare function registerAllTools(registry: ToolRegistry): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registrations.d.ts","sourceRoot":"","sources":["../../src/tools/registrations.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"registrations.d.ts","sourceRoot":"","sources":["../../src/tools/registrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAyJlD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAI7D"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Central tool registration — imports all
|
|
2
|
+
* Central tool registration — imports all ZodToolDefinition exports
|
|
3
3
|
* and registers them with a ToolRegistry instance.
|
|
4
|
+
*
|
|
5
|
+
* Tool inventory (49 total):
|
|
6
|
+
* Assets (11), Users (7), Sites (4), Clients (3),
|
|
7
|
+
* Reference data (4), Ticket reference data (5),
|
|
8
|
+
* Tickets (7), Ticket actions (2), Ticket custom fields (2),
|
|
9
|
+
* Batch operations (4 — assets, users, sites, tickets)
|
|
4
10
|
*/
|
|
5
11
|
// Asset tools (11)
|
|
6
12
|
import { listAssetsTool, getAssetTool, searchAssetsBySerialTool, searchAssetsByHostnameTool, createAssetTool, updateAssetTool, deleteAssetTool, listAssetCustomFieldsTool, getAssetFieldSchemaTool, findAssetMatchTool, scanAssetDuplicatesTool, } from './assets.js';
|
|
@@ -10,10 +16,18 @@ import { listUsersTool, getUserTool, searchUsersByEmailTool, createUserTool, upd
|
|
|
10
16
|
import { listSitesTool, getSiteTool, createSiteTool, findSiteMatchTool, } from './sites.js';
|
|
11
17
|
// Client tools (3)
|
|
12
18
|
import { listClientsTool, getClientTool, searchClientsTool, } from './clients.js';
|
|
13
|
-
// Reference data tools (
|
|
14
|
-
import { listAssetTypesTool, listAssetStatusesTool, listContactTypesTool, } from './reference-data.js';
|
|
15
|
-
//
|
|
16
|
-
import {
|
|
19
|
+
// Reference data tools (4)
|
|
20
|
+
import { listAssetTypesTool, listAssetStatusesTool, listContactTypesTool, listAgentsTool, } from './reference-data.js';
|
|
21
|
+
// Ticket reference data tools (5)
|
|
22
|
+
import { listTicketTypesTool, getTicketTypeTool, listTicketStatusesTool, listTicketPrioritiesTool, listTicketCategoriesTool, } from './ticket-reference-data.js';
|
|
23
|
+
// Ticket tools (7 here; getTicketsBatchTool is the 8th and lives in batch-operations.ts)
|
|
24
|
+
import { listTicketsTool, getTicketTool, searchTicketsTool, createTicketTool, updateTicketTool, closeTicketTool, deleteTicketTool, } from './tickets.js';
|
|
25
|
+
// Ticket action tools (2)
|
|
26
|
+
import { addTicketActionTool, listTicketActionsTool, } from './ticket-actions.js';
|
|
27
|
+
// Ticket custom field tools (2)
|
|
28
|
+
import { listTicketCustomFieldsTool, getTicketFieldSchemaTool, } from './ticket-custom-fields.js';
|
|
29
|
+
// Batch operations tools (4)
|
|
30
|
+
import { getAssetsBatchTool, getUsersBatchTool, getSitesBatchTool, getTicketsBatchTool, } from './batch-operations.js';
|
|
17
31
|
const allTools = [
|
|
18
32
|
// Assets (11)
|
|
19
33
|
listAssetsTool,
|
|
@@ -44,14 +58,36 @@ const allTools = [
|
|
|
44
58
|
listClientsTool,
|
|
45
59
|
getClientTool,
|
|
46
60
|
searchClientsTool,
|
|
47
|
-
// Reference data (
|
|
61
|
+
// Reference data (4)
|
|
48
62
|
listAssetTypesTool,
|
|
49
63
|
listAssetStatusesTool,
|
|
50
64
|
listContactTypesTool,
|
|
51
|
-
|
|
65
|
+
listAgentsTool,
|
|
66
|
+
// Ticket reference data (5)
|
|
67
|
+
listTicketTypesTool,
|
|
68
|
+
getTicketTypeTool,
|
|
69
|
+
listTicketStatusesTool,
|
|
70
|
+
listTicketPrioritiesTool,
|
|
71
|
+
listTicketCategoriesTool,
|
|
72
|
+
// Tickets (7)
|
|
73
|
+
listTicketsTool,
|
|
74
|
+
getTicketTool,
|
|
75
|
+
searchTicketsTool,
|
|
76
|
+
createTicketTool,
|
|
77
|
+
updateTicketTool,
|
|
78
|
+
closeTicketTool,
|
|
79
|
+
deleteTicketTool,
|
|
80
|
+
// Ticket actions (2)
|
|
81
|
+
addTicketActionTool,
|
|
82
|
+
listTicketActionsTool,
|
|
83
|
+
// Ticket custom fields (2)
|
|
84
|
+
listTicketCustomFieldsTool,
|
|
85
|
+
getTicketFieldSchemaTool,
|
|
86
|
+
// Batch operations (4)
|
|
52
87
|
getAssetsBatchTool,
|
|
53
88
|
getUsersBatchTool,
|
|
54
89
|
getSitesBatchTool,
|
|
90
|
+
getTicketsBatchTool,
|
|
55
91
|
];
|
|
56
92
|
export function registerAllTools(registry) {
|
|
57
93
|
for (const tool of allTools) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registrations.js","sourceRoot":"","sources":["../../src/tools/registrations.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"registrations.js","sourceRoot":"","sources":["../../src/tools/registrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,mBAAmB;AACnB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,EACf,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,iBAAiB;AACjB,OAAO,EACL,aAAa,EACb,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,iBAAiB;AACjB,OAAO,EACL,aAAa,EACb,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,mBAAmB;AACnB,OAAO,EACL,eAAe,EACf,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,2BAA2B;AAC3B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,kCAAkC;AAClC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAEpC,yFAAyF;AACzF,OAAO,EACL,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,0BAA0B;AAC1B,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,gCAAgC;AAChC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAEnC,6BAA6B;AAC7B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,QAAQ,GAAG;IACf,cAAc;IACd,cAAc;IACd,YAAY;IACZ,wBAAwB;IACxB,0BAA0B;IAC1B,eAAe;IACf,eAAe;IACf,eAAe;IACf,yBAAyB;IACzB,uBAAuB;IACvB,kBAAkB;IAClB,uBAAuB;IACvB,YAAY;IACZ,aAAa;IACb,WAAW;IACX,sBAAsB;IACtB,cAAc;IACd,cAAc;IACd,iBAAiB;IACjB,sBAAsB;IACtB,YAAY;IACZ,aAAa;IACb,WAAW;IACX,cAAc;IACd,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,qBAAqB;IACrB,kBAAkB;IAClB,qBAAqB;IACrB,oBAAoB;IACpB,cAAc;IACd,4BAA4B;IAC5B,mBAAmB;IACnB,iBAAiB;IACjB,sBAAsB;IACtB,wBAAwB;IACxB,wBAAwB;IACxB,cAAc;IACd,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,qBAAqB;IACrB,mBAAmB;IACnB,qBAAqB;IACrB,2BAA2B;IAC3B,0BAA0B;IAC1B,wBAAwB;IACxB,uBAAuB;IACvB,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;CACpB,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,QAAsB;IACrD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC"}
|
package/dist/tools/registry.d.ts
CHANGED
|
@@ -16,11 +16,7 @@ import type { HaloPSAAPIClient } from '../api/client.js';
|
|
|
16
16
|
export interface ToolDefinition {
|
|
17
17
|
name: string;
|
|
18
18
|
description: string;
|
|
19
|
-
inputSchema:
|
|
20
|
-
type: 'object';
|
|
21
|
-
properties: Record<string, unknown>;
|
|
22
|
-
required?: string[];
|
|
23
|
-
};
|
|
19
|
+
inputSchema: Record<string, unknown>;
|
|
24
20
|
handler: (client: HaloPSAAPIClient, args: Record<string, unknown>) => Promise<string>;
|
|
25
21
|
}
|
|
26
22
|
/**
|
|
@@ -45,6 +41,17 @@ export declare class ToolRegistry {
|
|
|
45
41
|
* Register a tool using a Zod schema.
|
|
46
42
|
* Converts the schema to JSON Schema for MCP and wraps the handler
|
|
47
43
|
* to parse/coerce input before dispatching.
|
|
44
|
+
*
|
|
45
|
+
* Strips two categories of wire noise that Zod 4's native z.toJSONSchema()
|
|
46
|
+
* emits but MCP clients neither validate nor act on:
|
|
47
|
+
* 1. The top-level `$schema` URI — Zod attaches this to the final result
|
|
48
|
+
* object AFTER override callbacks fire (see zod/v4/core/to-json-schema.js
|
|
49
|
+
* line 299-313), so override cannot reach it; we delete it post-conversion.
|
|
50
|
+
* 2. Safe-integer minimum/maximum on integer nodes where the user did NOT
|
|
51
|
+
* call .min()/.max() (i.e., bounds equal Number.MIN/MAX_SAFE_INTEGER).
|
|
52
|
+
* Explicit user constraints (e.g., count.min(1).max(100)) are preserved.
|
|
53
|
+
* All other correctness-bearing additions — additionalProperties: false,
|
|
54
|
+
* propertyNames on records, anyOf for nullables, type: integer — are kept.
|
|
48
55
|
*/
|
|
49
56
|
registerZod(tool: ZodToolDefinition): void;
|
|
50
57
|
getToolSchemas(): Array<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACvF;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAEnC,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACnE;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAA0C;IAEvD;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAOpC;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IA2B1C,cAAc,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IAQ9E,QAAQ,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAQtG;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
package/dist/tools/registry.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - registerZod() : Zod-first registration with automatic schema conversion
|
|
8
8
|
* and input parsing (replaces coerceArgs per-tool)
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { z } from 'zod';
|
|
11
11
|
export class ToolRegistry {
|
|
12
12
|
tools = new Map();
|
|
13
13
|
/**
|
|
@@ -24,9 +24,33 @@ export class ToolRegistry {
|
|
|
24
24
|
* Register a tool using a Zod schema.
|
|
25
25
|
* Converts the schema to JSON Schema for MCP and wraps the handler
|
|
26
26
|
* to parse/coerce input before dispatching.
|
|
27
|
+
*
|
|
28
|
+
* Strips two categories of wire noise that Zod 4's native z.toJSONSchema()
|
|
29
|
+
* emits but MCP clients neither validate nor act on:
|
|
30
|
+
* 1. The top-level `$schema` URI — Zod attaches this to the final result
|
|
31
|
+
* object AFTER override callbacks fire (see zod/v4/core/to-json-schema.js
|
|
32
|
+
* line 299-313), so override cannot reach it; we delete it post-conversion.
|
|
33
|
+
* 2. Safe-integer minimum/maximum on integer nodes where the user did NOT
|
|
34
|
+
* call .min()/.max() (i.e., bounds equal Number.MIN/MAX_SAFE_INTEGER).
|
|
35
|
+
* Explicit user constraints (e.g., count.min(1).max(100)) are preserved.
|
|
36
|
+
* All other correctness-bearing additions — additionalProperties: false,
|
|
37
|
+
* propertyNames on records, anyOf for nullables, type: integer — are kept.
|
|
27
38
|
*/
|
|
28
39
|
registerZod(tool) {
|
|
29
|
-
const inputSchema =
|
|
40
|
+
const inputSchema = z.toJSONSchema(tool.schema, {
|
|
41
|
+
target: 'draft-07',
|
|
42
|
+
override: (ctx) => {
|
|
43
|
+
if (ctx.jsonSchema.type === 'integer') {
|
|
44
|
+
if (ctx.jsonSchema.minimum === Number.MIN_SAFE_INTEGER) {
|
|
45
|
+
delete ctx.jsonSchema.minimum;
|
|
46
|
+
}
|
|
47
|
+
if (ctx.jsonSchema.maximum === Number.MAX_SAFE_INTEGER) {
|
|
48
|
+
delete ctx.jsonSchema.maximum;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
delete inputSchema.$schema;
|
|
30
54
|
this.register({
|
|
31
55
|
name: tool.name,
|
|
32
56
|
description: tool.description,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2BxB,MAAM,OAAO,YAAY;IACf,KAAK,GAAgC,IAAI,GAAG,EAAE,CAAC;IAEvD;;;OAGG;IACH,QAAQ,CAAC,IAAoB;QAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,IAAuB;QACjC,MAAM,WAAW,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE;YAC9C,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;gBAChB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACtC,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBACvD,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;oBAChC,CAAC;oBACD,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBACvD,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAA4B,CAAC;QAC9B,OAAO,WAAW,CAAC,OAAO,CAAC;QAE3B,IAAI,CAAC,QAAQ,CAAC;YACZ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW;YACX,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBACxB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACtC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YAClF,IAAI;YACJ,WAAW;YACX,WAAW;SACZ,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAwB,EAAE,IAAY,EAAE,IAA6B;QAClF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF"}
|
package/dist/tools/sites.d.ts
CHANGED
|
@@ -14,72 +14,30 @@ export declare const ListSitesArgsSchema: z.ZodObject<{
|
|
|
14
14
|
count: z.ZodOptional<z.ZodNumber>;
|
|
15
15
|
page_no: z.ZodOptional<z.ZodNumber>;
|
|
16
16
|
format_options: z.ZodOptional<z.ZodObject<{
|
|
17
|
-
format: z.ZodOptional<z.ZodEnum<
|
|
18
|
-
|
|
17
|
+
format: z.ZodOptional<z.ZodEnum<{
|
|
18
|
+
compact: "compact";
|
|
19
|
+
standard: "standard";
|
|
20
|
+
detailed: "detailed";
|
|
21
|
+
}>>;
|
|
22
|
+
fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
19
23
|
omit_empty: z.ZodOptional<z.ZodBoolean>;
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
fields?: string[] | undefined;
|
|
23
|
-
omit_empty?: boolean | undefined;
|
|
24
|
-
}, {
|
|
25
|
-
format?: "compact" | "standard" | "detailed" | undefined;
|
|
26
|
-
fields?: string[] | undefined;
|
|
27
|
-
omit_empty?: boolean | undefined;
|
|
28
|
-
}>>;
|
|
29
|
-
}, "strip", z.ZodTypeAny, {
|
|
30
|
-
client_id?: number | undefined;
|
|
31
|
-
count?: number | undefined;
|
|
32
|
-
page_no?: number | undefined;
|
|
33
|
-
search?: string | undefined;
|
|
34
|
-
format_options?: {
|
|
35
|
-
format?: "compact" | "standard" | "detailed" | undefined;
|
|
36
|
-
fields?: string[] | undefined;
|
|
37
|
-
omit_empty?: boolean | undefined;
|
|
38
|
-
} | undefined;
|
|
39
|
-
}, {
|
|
40
|
-
client_id?: number | undefined;
|
|
41
|
-
count?: number | undefined;
|
|
42
|
-
page_no?: number | undefined;
|
|
43
|
-
search?: string | undefined;
|
|
44
|
-
format_options?: {
|
|
45
|
-
format?: "compact" | "standard" | "detailed" | undefined;
|
|
46
|
-
fields?: string[] | undefined;
|
|
47
|
-
omit_empty?: boolean | undefined;
|
|
48
|
-
} | undefined;
|
|
49
|
-
}>;
|
|
24
|
+
}, z.core.$strip>>;
|
|
25
|
+
}, z.core.$strip>;
|
|
50
26
|
/**
|
|
51
27
|
* Get single site schema
|
|
52
28
|
*/
|
|
53
29
|
export declare const GetSiteArgsSchema: z.ZodObject<{
|
|
54
30
|
site_id: z.ZodNumber;
|
|
55
31
|
format_options: z.ZodOptional<z.ZodObject<{
|
|
56
|
-
format: z.ZodOptional<z.ZodEnum<
|
|
57
|
-
|
|
32
|
+
format: z.ZodOptional<z.ZodEnum<{
|
|
33
|
+
compact: "compact";
|
|
34
|
+
standard: "standard";
|
|
35
|
+
detailed: "detailed";
|
|
36
|
+
}>>;
|
|
37
|
+
fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
58
38
|
omit_empty: z.ZodOptional<z.ZodBoolean>;
|
|
59
|
-
},
|
|
60
|
-
|
|
61
|
-
fields?: string[] | undefined;
|
|
62
|
-
omit_empty?: boolean | undefined;
|
|
63
|
-
}, {
|
|
64
|
-
format?: "compact" | "standard" | "detailed" | undefined;
|
|
65
|
-
fields?: string[] | undefined;
|
|
66
|
-
omit_empty?: boolean | undefined;
|
|
67
|
-
}>>;
|
|
68
|
-
}, "strip", z.ZodTypeAny, {
|
|
69
|
-
site_id: number;
|
|
70
|
-
format_options?: {
|
|
71
|
-
format?: "compact" | "standard" | "detailed" | undefined;
|
|
72
|
-
fields?: string[] | undefined;
|
|
73
|
-
omit_empty?: boolean | undefined;
|
|
74
|
-
} | undefined;
|
|
75
|
-
}, {
|
|
76
|
-
site_id: number;
|
|
77
|
-
format_options?: {
|
|
78
|
-
format?: "compact" | "standard" | "detailed" | undefined;
|
|
79
|
-
fields?: string[] | undefined;
|
|
80
|
-
omit_empty?: boolean | undefined;
|
|
81
|
-
} | undefined;
|
|
82
|
-
}>;
|
|
39
|
+
}, z.core.$strip>>;
|
|
40
|
+
}, z.core.$strip>;
|
|
83
41
|
/**
|
|
84
42
|
* Create site schema
|
|
85
43
|
*/
|
|
@@ -96,50 +54,17 @@ export declare const CreateSiteArgsSchema: z.ZodObject<{
|
|
|
96
54
|
state: z.ZodOptional<z.ZodString>;
|
|
97
55
|
postalcode: z.ZodOptional<z.ZodString>;
|
|
98
56
|
country: z.ZodOptional<z.ZodString>;
|
|
99
|
-
},
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
state?: string | undefined;
|
|
111
|
-
postalcode?: string | undefined;
|
|
112
|
-
country?: string | undefined;
|
|
113
|
-
}>>;
|
|
114
|
-
}, "strip", z.ZodTypeAny, {
|
|
115
|
-
client_id: number;
|
|
116
|
-
name: string;
|
|
117
|
-
notes?: string | undefined;
|
|
118
|
-
phonenumber?: string | undefined;
|
|
119
|
-
maincontact_name?: string | undefined;
|
|
120
|
-
address?: {
|
|
121
|
-
addressline1?: string | undefined;
|
|
122
|
-
addressline2?: string | undefined;
|
|
123
|
-
city?: string | undefined;
|
|
124
|
-
state?: string | undefined;
|
|
125
|
-
postalcode?: string | undefined;
|
|
126
|
-
country?: string | undefined;
|
|
127
|
-
} | undefined;
|
|
128
|
-
}, {
|
|
129
|
-
client_id: number;
|
|
130
|
-
name: string;
|
|
131
|
-
notes?: string | undefined;
|
|
132
|
-
phonenumber?: string | undefined;
|
|
133
|
-
maincontact_name?: string | undefined;
|
|
134
|
-
address?: {
|
|
135
|
-
addressline1?: string | undefined;
|
|
136
|
-
addressline2?: string | undefined;
|
|
137
|
-
city?: string | undefined;
|
|
138
|
-
state?: string | undefined;
|
|
139
|
-
postalcode?: string | undefined;
|
|
140
|
-
country?: string | undefined;
|
|
141
|
-
} | undefined;
|
|
142
|
-
}>;
|
|
57
|
+
}, z.core.$strip>>;
|
|
58
|
+
format_options: z.ZodOptional<z.ZodObject<{
|
|
59
|
+
format: z.ZodOptional<z.ZodEnum<{
|
|
60
|
+
compact: "compact";
|
|
61
|
+
standard: "standard";
|
|
62
|
+
detailed: "detailed";
|
|
63
|
+
}>>;
|
|
64
|
+
fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
65
|
+
omit_empty: z.ZodOptional<z.ZodBoolean>;
|
|
66
|
+
}, z.core.$strip>>;
|
|
67
|
+
}, z.core.$strip>;
|
|
143
68
|
/**
|
|
144
69
|
* Find site match schema (deduplication)
|
|
145
70
|
*/
|
|
@@ -147,15 +72,7 @@ export declare const FindSiteMatchArgsSchema: z.ZodObject<{
|
|
|
147
72
|
name: z.ZodString;
|
|
148
73
|
address: z.ZodOptional<z.ZodString>;
|
|
149
74
|
client_id: z.ZodNumber;
|
|
150
|
-
},
|
|
151
|
-
client_id: number;
|
|
152
|
-
name: string;
|
|
153
|
-
address?: string | undefined;
|
|
154
|
-
}, {
|
|
155
|
-
client_id: number;
|
|
156
|
-
name: string;
|
|
157
|
-
address?: string | undefined;
|
|
158
|
-
}>;
|
|
75
|
+
}, z.core.$strip>;
|
|
159
76
|
/**
|
|
160
77
|
* List sites with optional filtering and token optimization
|
|
161
78
|
* Uses 5-minute cache TTL
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sites.d.ts","sourceRoot":"","sources":["../../src/tools/sites.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAcvD;;GAEG;AACH,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"sites.d.ts","sourceRoot":"","sources":["../../src/tools/sites.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAcvD;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;iBAU9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;iBAI5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;iBAqB/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;iBAOlC,CAAC;AAMH;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CAqCjB;AAED;;GAEG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,GAC5C,OAAO,CAAC,MAAM,CAAC,CAqGjB;AAMD,eAAO,MAAM,aAAa,EAAE,iBAK3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,iBAKzB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,iBAK5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAK/B,CAAC"}
|
package/dist/tools/sites.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Provides CRUD operations for sites with caching and deduplication
|
|
4
4
|
*/
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
import { formatResponse } from '../utils/formatter.js';
|
|
6
|
+
import { formatResponse, stripWriteResponse } from '../utils/formatter.js';
|
|
7
7
|
import { getStringSimilarity, getAddressSimilarity } from '../utils/similarity.js';
|
|
8
8
|
import { TTL } from '../cache/memory-cache.js';
|
|
9
9
|
import { FormatOptionsSchema, ConfidenceThresholds } from '../schemas/common.js';
|
|
@@ -55,6 +55,7 @@ export const CreateSiteArgsSchema = z.object({
|
|
|
55
55
|
country: z.string().optional(),
|
|
56
56
|
}).optional()
|
|
57
57
|
.describe('Address object'),
|
|
58
|
+
format_options: FormatOptionsSchema,
|
|
58
59
|
});
|
|
59
60
|
/**
|
|
60
61
|
* Find site match schema (deduplication)
|
|
@@ -133,7 +134,8 @@ export async function createSite(client, args) {
|
|
|
133
134
|
// Invalidate site caches
|
|
134
135
|
client.invalidateCache(`sites:client_${args.client_id}*`);
|
|
135
136
|
client.invalidateCache('sites:client_all*');
|
|
136
|
-
|
|
137
|
+
const format = args.format_options?.format ?? 'compact';
|
|
138
|
+
return formatResponse(stripWriteResponse(response, format, 'site'), { format });
|
|
137
139
|
}
|
|
138
140
|
/**
|
|
139
141
|
* Find matching site using deduplication algorithm
|
package/dist/tools/sites.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sites.js","sourceRoot":"","sources":["../../src/tools/sites.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,EAAE,cAAc,EAAsB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"sites.js","sourceRoot":"","sources":["../../src/tools/sites.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAsB,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjF,gFAAgF;AAChF,mCAAmC;AACnC,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;SACnC,QAAQ,CAAC,qBAAqB,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC1B,QAAQ,CAAC,aAAa,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;SAC/C,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;SACxC,QAAQ,CAAC,oCAAoC,CAAC;IACjD,cAAc,EAAE,mBAAmB;CACpC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;SACtB,QAAQ,CAAC,iBAAiB,CAAC;IAC9B,cAAc,EAAE,mBAAmB;CACpC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;SACxB,QAAQ,CAAC,gCAAgC,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpB,QAAQ,CAAC,WAAW,CAAC;IACxB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACpC,QAAQ,CAAC,mBAAmB,CAAC;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC/B,QAAQ,CAAC,cAAc,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACzB,QAAQ,CAAC,kBAAkB,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC,CAAC,QAAQ,EAAE;SACV,QAAQ,CAAC,gBAAgB,CAAC;IAC7B,cAAc,EAAE,mBAAmB;CACpC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpB,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC3B,QAAQ,CAAC,kCAAkC,CAAC;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;SACxB,QAAQ,CAAC,2BAA2B,CAAC;CACzC,CAAC,CAAC;AAEH,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAwB,EACxB,IAAyC;IAEzC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,yBAAyB;IACzB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACpC,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9B,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,MAAM,aAAa,GAAkB,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;IAE/D,sCAAsC;IACtC,MAAM,QAAQ,GAAG,gBAAgB,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC;IAE3D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CACrC,OAAO,EACP,MAAM,EACN;QACE,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,GAAG,CAAC,SAAS;QAClB,SAAS,EAAE,QAAQ;KACpB,CACF,CAAC;IAEF,OAAO,cAAc,CACnB,QAAQ,CAAC,KAAK,EACd,aAAa,EACb,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CACxC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAwB,EACxB,IAAuC;IAEvC,MAAM,aAAa,GAAkB,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;IAE/D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,SAAS,IAAI,CAAC,OAAO,EAAE,CACxB,CAAC;IAEF,OAAO,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAwB,EACxB,IAA0C;IAE1C,MAAM,QAAQ,GAA4B;QACxC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;IAEF,sBAAsB;IACtB,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACxC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;IACpD,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC1C,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC9B,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,OAAO,EACP,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,yBAAyB;IACzB,MAAM,CAAC,eAAe,CAAC,gBAAgB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IAC1D,MAAM,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,IAAI,SAAS,CAAC;IACxD,OAAO,cAAc,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAwB,EACxB,IAA6C;IAE7C,wCAAwC;IACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CACrC,OAAO,EACP;QACE,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,IAAI;KACZ,EACD;QACE,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,GAAG,CAAC,SAAS;QAClB,SAAS,EAAE,gBAAgB,IAAI,CAAC,SAAS,EAAE;KAC5C,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE,WAAW;SACpB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACd,CAAC;IAED,wCAAwC;IACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAC9D,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,KAAK,EAAE,UAAU;YACjB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,eAAe,GAAG,GAAG,CAAC;YAClE,UAAU,EAAE,cAAc;YAC1B,MAAM,EAAE,QAAQ;SACjB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACd,CAAC;IAED,mDAAmD;IACnD,IAAI,SAAS,GAAuB,IAAI,CAAC;IACzC,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,UAAU,GAAG,MAAM,CAAC;IAExB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjE,IAAI,cAAc,GAAG,GAAG,EAAE,CAAC;YACzB,IAAI,UAAU,GAAG,cAAc,CAAC;YAChC,IAAI,KAAK,GAAG,cAAc,CAAC;YAE3B,gCAAgC;YAChC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;gBAC/C,MAAM,iBAAiB,GAAG,oBAAoB,CAC5C,IAAI,CAAC,OAAO,CAAC,YAAY,EACzB,IAAI,CAAC,OAAO,CACb,CAAC;gBAEF,IAAI,iBAAiB,GAAG,GAAG,EAAE,CAAC;oBAC5B,2CAA2C;oBAC3C,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;oBAC5E,KAAK,GAAG,cAAc,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,IAAI,UAAU,GAAG,iBAAiB,EAAE,CAAC;gBACnC,iBAAiB,GAAG,UAAU,CAAC;gBAC/B,SAAS,GAAG,IAAI,CAAC;gBACjB,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,MAA+C,CAAC;QACpD,IAAI,iBAAiB,IAAI,oBAAoB,CAAC,uBAAuB,EAAE,CAAC;YACtE,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC;aAAM,IAAI,iBAAiB,IAAI,oBAAoB,CAAC,eAAe,EAAE,CAAC;YACrE,MAAM,GAAG,cAAc,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,WAAW,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC;YAC/C,UAAU;YACV,MAAM;YACN,GAAG,CAAC,MAAM,KAAK,cAAc,IAAI;gBAC/B,OAAO,EAAE,sBAAsB,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC,2CAA2C;aAC9G,CAAC;SACH,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACd,CAAC;IAED,iCAAiC;IACjC,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,WAAW;KACpB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAEhF,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC9C,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,+EAA+E;IAC5F,MAAM,EAAE,mBAAmB;IAC3B,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,qEAAqE;IAClF,MAAM,EAAE,iBAAiB;IACzB,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,oDAAoD;IACjE,MAAM,EAAE,oBAAoB;IAC5B,OAAO,EAAE,UAAU;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,sHAAsH;IACnI,MAAM,EAAE,uBAAuB;IAC/B,OAAO,EAAE,aAAa;CACvB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HaloPSA Ticket Action tools.
|
|
3
|
+
*
|
|
4
|
+
* Actions are the journal entries on a ticket — notes, email replies,
|
|
5
|
+
* status changes, time entries, etc. Halo's create endpoint is
|
|
6
|
+
* `POST /api/Actions` with an **array body** (mirrors Tickets/Asset
|
|
7
|
+
* convention). The list endpoint is `GET /api/Actions?ticket_id={id}`.
|
|
8
|
+
*
|
|
9
|
+
* The list response is cached briefly (1min) because action lists update
|
|
10
|
+
* any time someone touches the ticket; staleness > 1min would mislead
|
|
11
|
+
* agents reading the journal.
|
|
12
|
+
*/
|
|
13
|
+
import { z } from 'zod';
|
|
14
|
+
import type { HaloPSAAPIClient } from '../api/client.js';
|
|
15
|
+
import type { ZodToolDefinition } from './registry.js';
|
|
16
|
+
export declare const AddTicketActionArgsSchema: z.ZodObject<{
|
|
17
|
+
ticket_id: z.ZodNumber;
|
|
18
|
+
note: z.ZodString;
|
|
19
|
+
outcome_id: z.ZodOptional<z.ZodNumber>;
|
|
20
|
+
email_reply: z.ZodOptional<z.ZodBoolean>;
|
|
21
|
+
hiddenfromuser: z.ZodOptional<z.ZodBoolean>;
|
|
22
|
+
format_options: z.ZodOptional<z.ZodObject<{
|
|
23
|
+
format: z.ZodOptional<z.ZodEnum<{
|
|
24
|
+
compact: "compact";
|
|
25
|
+
standard: "standard";
|
|
26
|
+
detailed: "detailed";
|
|
27
|
+
}>>;
|
|
28
|
+
fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
29
|
+
omit_empty: z.ZodOptional<z.ZodBoolean>;
|
|
30
|
+
}, z.core.$strip>>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
export declare const ListTicketActionsArgsSchema: z.ZodObject<{
|
|
33
|
+
ticket_id: z.ZodNumber;
|
|
34
|
+
count: z.ZodOptional<z.ZodNumber>;
|
|
35
|
+
page_no: z.ZodOptional<z.ZodNumber>;
|
|
36
|
+
format_options: z.ZodOptional<z.ZodObject<{
|
|
37
|
+
format: z.ZodOptional<z.ZodEnum<{
|
|
38
|
+
compact: "compact";
|
|
39
|
+
standard: "standard";
|
|
40
|
+
detailed: "detailed";
|
|
41
|
+
}>>;
|
|
42
|
+
fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
43
|
+
omit_empty: z.ZodOptional<z.ZodBoolean>;
|
|
44
|
+
}, z.core.$strip>>;
|
|
45
|
+
}, z.core.$strip>;
|
|
46
|
+
export declare function addTicketAction(client: HaloPSAAPIClient, args: z.infer<typeof AddTicketActionArgsSchema>): Promise<string>;
|
|
47
|
+
export declare function listTicketActions(client: HaloPSAAPIClient, args: z.infer<typeof ListTicketActionsArgsSchema>): Promise<string>;
|
|
48
|
+
export declare const addTicketActionTool: ZodToolDefinition;
|
|
49
|
+
export declare const listTicketActionsTool: ZodToolDefinition;
|
|
50
|
+
//# sourceMappingURL=ticket-actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ticket-actions.d.ts","sourceRoot":"","sources":["../../src/tools/ticket-actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAevD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;iBAYpC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;iBAQtC,CAAC;AA2IH,wBAAsB,eAAe,CACnC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,GAC9C,OAAO,CAAC,MAAM,CAAC,CA2CjB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,GAChD,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAMD,eAAO,MAAM,mBAAmB,EAAE,iBAKjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,iBAKnC,CAAC"}
|