@hield/mcp-server 1.0.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 (46) hide show
  1. package/README.md +135 -0
  2. package/dist/client.d.ts +30 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +51 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/config.d.ts +6 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +12 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/index.d.ts +3 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +35 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/tools/collaborators.d.ts +4 -0
  15. package/dist/tools/collaborators.d.ts.map +1 -0
  16. package/dist/tools/collaborators.js +156 -0
  17. package/dist/tools/collaborators.js.map +1 -0
  18. package/dist/tools/events.d.ts +4 -0
  19. package/dist/tools/events.d.ts.map +1 -0
  20. package/dist/tools/events.js +282 -0
  21. package/dist/tools/events.js.map +1 -0
  22. package/dist/tools/fields.d.ts +4 -0
  23. package/dist/tools/fields.d.ts.map +1 -0
  24. package/dist/tools/fields.js +197 -0
  25. package/dist/tools/fields.js.map +1 -0
  26. package/dist/tools/public.d.ts +4 -0
  27. package/dist/tools/public.d.ts.map +1 -0
  28. package/dist/tools/public.js +164 -0
  29. package/dist/tools/public.js.map +1 -0
  30. package/dist/tools/registrations.d.ts +4 -0
  31. package/dist/tools/registrations.d.ts.map +1 -0
  32. package/dist/tools/registrations.js +160 -0
  33. package/dist/tools/registrations.js.map +1 -0
  34. package/dist/tools/stats.d.ts +4 -0
  35. package/dist/tools/stats.d.ts.map +1 -0
  36. package/dist/tools/stats.js +71 -0
  37. package/dist/tools/stats.js.map +1 -0
  38. package/dist/tools/tenant.d.ts +4 -0
  39. package/dist/tools/tenant.d.ts.map +1 -0
  40. package/dist/tools/tenant.js +109 -0
  41. package/dist/tools/tenant.js.map +1 -0
  42. package/dist/types.d.ts +70 -0
  43. package/dist/types.d.ts.map +1 -0
  44. package/dist/types.js +2 -0
  45. package/dist/types.js.map +1 -0
  46. package/package.json +30 -0
@@ -0,0 +1,164 @@
1
+ import { z } from "zod";
2
+ import { HieldApiError } from "../client.js";
3
+ export function registerPublicTools(server, client) {
4
+ server.registerTool("hield_public_get_event", {
5
+ description: "Get public event details. This does not require authentication and returns only published event information visible to attendees.",
6
+ inputSchema: {
7
+ event_id: z.string().describe("The event ID"),
8
+ },
9
+ }, async (params) => {
10
+ try {
11
+ const res = await client.get(`/api/v1/public/events/${params.event_id}`);
12
+ return {
13
+ content: [
14
+ { type: "text", text: JSON.stringify(res.data, null, 2) },
15
+ ],
16
+ };
17
+ }
18
+ catch (err) {
19
+ if (err instanceof HieldApiError) {
20
+ return {
21
+ content: [
22
+ { type: "text", text: `Error [${err.code}]: ${err.message}` },
23
+ ],
24
+ isError: true,
25
+ };
26
+ }
27
+ return {
28
+ content: [
29
+ {
30
+ type: "text",
31
+ text: `Error: ${err instanceof Error ? err.message : String(err)}`,
32
+ },
33
+ ],
34
+ isError: true,
35
+ };
36
+ }
37
+ });
38
+ server.registerTool("hield_public_register", {
39
+ description: "Register an attendee for a public event. Returns a confirmation ID that can be used to look up or cancel the registration later.",
40
+ inputSchema: {
41
+ event_id: z
42
+ .string()
43
+ .describe("The event ID to register for"),
44
+ attendee_name: z.string().describe("Full name of the attendee"),
45
+ attendee_email: z
46
+ .string()
47
+ .describe("Email address of the attendee"),
48
+ attendee_phone: z
49
+ .string()
50
+ .optional()
51
+ .describe("Phone number of the attendee"),
52
+ custom_fields: z
53
+ .record(z.string(), z.unknown())
54
+ .optional()
55
+ .describe("Responses to custom form fields as key-value pairs (field_id: value)"),
56
+ },
57
+ }, async (params) => {
58
+ try {
59
+ const res = await client.post(`/api/v1/public/events/${params.event_id}/register`, {
60
+ attendee_name: params.attendee_name,
61
+ attendee_email: params.attendee_email,
62
+ attendee_phone: params.attendee_phone,
63
+ custom_fields: params.custom_fields,
64
+ });
65
+ return {
66
+ content: [
67
+ { type: "text", text: JSON.stringify(res.data, null, 2) },
68
+ ],
69
+ };
70
+ }
71
+ catch (err) {
72
+ if (err instanceof HieldApiError) {
73
+ return {
74
+ content: [
75
+ { type: "text", text: `Error [${err.code}]: ${err.message}` },
76
+ ],
77
+ isError: true,
78
+ };
79
+ }
80
+ return {
81
+ content: [
82
+ {
83
+ type: "text",
84
+ text: `Error: ${err instanceof Error ? err.message : String(err)}`,
85
+ },
86
+ ],
87
+ isError: true,
88
+ };
89
+ }
90
+ });
91
+ server.registerTool("hield_public_get_registration", {
92
+ description: "Look up a registration by its confirmation ID. This is the public-facing lookup that attendees use to check their registration status.",
93
+ inputSchema: {
94
+ confirmation_id: z
95
+ .string()
96
+ .describe("The confirmation ID provided at registration"),
97
+ },
98
+ }, async (params) => {
99
+ try {
100
+ const res = await client.get(`/api/v1/public/registrations/${params.confirmation_id}`);
101
+ return {
102
+ content: [
103
+ { type: "text", text: JSON.stringify(res.data, null, 2) },
104
+ ],
105
+ };
106
+ }
107
+ catch (err) {
108
+ if (err instanceof HieldApiError) {
109
+ return {
110
+ content: [
111
+ { type: "text", text: `Error [${err.code}]: ${err.message}` },
112
+ ],
113
+ isError: true,
114
+ };
115
+ }
116
+ return {
117
+ content: [
118
+ {
119
+ type: "text",
120
+ text: `Error: ${err instanceof Error ? err.message : String(err)}`,
121
+ },
122
+ ],
123
+ isError: true,
124
+ };
125
+ }
126
+ });
127
+ server.registerTool("hield_public_cancel_registration", {
128
+ description: "Cancel a registration using its confirmation ID. This is the public-facing cancellation that attendees use to cancel their own registration.",
129
+ inputSchema: {
130
+ confirmation_id: z
131
+ .string()
132
+ .describe("The confirmation ID of the registration to cancel"),
133
+ },
134
+ }, async (params) => {
135
+ try {
136
+ const res = await client.delete(`/api/v1/public/registrations/${params.confirmation_id}`);
137
+ return {
138
+ content: [
139
+ { type: "text", text: JSON.stringify(res.data, null, 2) },
140
+ ],
141
+ };
142
+ }
143
+ catch (err) {
144
+ if (err instanceof HieldApiError) {
145
+ return {
146
+ content: [
147
+ { type: "text", text: `Error [${err.code}]: ${err.message}` },
148
+ ],
149
+ isError: true,
150
+ };
151
+ }
152
+ return {
153
+ content: [
154
+ {
155
+ type: "text",
156
+ text: `Error: ${err instanceof Error ? err.message : String(err)}`,
157
+ },
158
+ ],
159
+ isError: true,
160
+ };
161
+ }
162
+ });
163
+ }
164
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/tools/public.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAe,aAAa,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAmB;IACxE,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EACT,mIAAmI;QACrI,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;SAC9C;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAC1B,yBAAyB,MAAM,CAAC,QAAQ,EAAE,CAC3C,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBAC1D;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE;qBAC9D;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;qBACnE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EACT,kIAAkI;QACpI,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CAAC,8BAA8B,CAAC;YAC3C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAC/D,cAAc,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,QAAQ,CAAC,+BAA+B,CAAC;YAC5C,cAAc,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,8BAA8B,CAAC;YAC3C,aAAa,EAAE,CAAC;iBACb,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC/B,QAAQ,EAAE;iBACV,QAAQ,CACP,sEAAsE,CACvE;SACJ;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAC3B,yBAAyB,MAAM,CAAC,QAAQ,WAAW,EACnD;gBACE,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC,CACF,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBAC1D;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE;qBAC9D;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;qBACnE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,+BAA+B,EAC/B;QACE,WAAW,EACT,wIAAwI;QAC1I,WAAW,EAAE;YACX,eAAe,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,QAAQ,CAAC,8CAA8C,CAAC;SAC5D;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAC1B,gCAAgC,MAAM,CAAC,eAAe,EAAE,CACzD,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBAC1D;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE;qBAC9D;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;qBACnE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,kCAAkC,EAClC;QACE,WAAW,EACT,8IAA8I;QAChJ,WAAW,EAAE;YACX,eAAe,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,QAAQ,CAAC,mDAAmD,CAAC;SACjE;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAC7B,gCAAgC,MAAM,CAAC,eAAe,EAAE,CACzD,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBAC1D;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE;qBAC9D;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;qBACnE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { HieldClient } from "../client.js";
3
+ export declare function registerRegistrationTools(server: McpServer, client: HieldClient): void;
4
+ //# sourceMappingURL=registrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registrations.d.ts","sourceRoot":"","sources":["../../src/tools/registrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAiB,MAAM,cAAc,CAAC;AAE1D,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,WAAW,QA2LpB"}
@@ -0,0 +1,160 @@
1
+ import { z } from "zod";
2
+ import { HieldApiError } from "../client.js";
3
+ export function registerRegistrationTools(server, client) {
4
+ server.registerTool("hield_list_registrations", {
5
+ description: "List all registrations for an event. Returns paginated results including attendee names, emails, statuses, and confirmation IDs.",
6
+ inputSchema: {
7
+ event_id: z.string().describe("The event ID"),
8
+ page: z
9
+ .number()
10
+ .int()
11
+ .optional()
12
+ .describe("Page number (default 1)"),
13
+ per_page: z
14
+ .number()
15
+ .int()
16
+ .optional()
17
+ .describe("Results per page (default 20, max 100)"),
18
+ },
19
+ }, async (params) => {
20
+ try {
21
+ const page = params.page ?? 1;
22
+ const perPage = params.per_page ?? 20;
23
+ const res = await client.get(`/api/v1/manage/events/${params.event_id}/registrations?page=${page}&per_page=${perPage}`);
24
+ const output = { data: res.data, meta: res.meta };
25
+ return {
26
+ content: [
27
+ { type: "text", text: JSON.stringify(output, null, 2) },
28
+ ],
29
+ };
30
+ }
31
+ catch (err) {
32
+ if (err instanceof HieldApiError) {
33
+ return {
34
+ content: [
35
+ { type: "text", text: `Error [${err.code}]: ${err.message}` },
36
+ ],
37
+ isError: true,
38
+ };
39
+ }
40
+ return {
41
+ content: [
42
+ {
43
+ type: "text",
44
+ text: `Error: ${err instanceof Error ? err.message : String(err)}`,
45
+ },
46
+ ],
47
+ isError: true,
48
+ };
49
+ }
50
+ });
51
+ server.registerTool("hield_get_registration", {
52
+ description: "Get detailed information about a specific registration, including attendee details, status, custom field responses, and confirmation ID.",
53
+ inputSchema: {
54
+ event_id: z.string().describe("The event ID"),
55
+ registration_id: z.string().describe("The registration ID"),
56
+ },
57
+ }, async (params) => {
58
+ try {
59
+ const res = await client.get(`/api/v1/manage/events/${params.event_id}/registrations/${params.registration_id}`);
60
+ return {
61
+ content: [
62
+ { type: "text", text: JSON.stringify(res.data, null, 2) },
63
+ ],
64
+ };
65
+ }
66
+ catch (err) {
67
+ if (err instanceof HieldApiError) {
68
+ return {
69
+ content: [
70
+ { type: "text", text: `Error [${err.code}]: ${err.message}` },
71
+ ],
72
+ isError: true,
73
+ };
74
+ }
75
+ return {
76
+ content: [
77
+ {
78
+ type: "text",
79
+ text: `Error: ${err instanceof Error ? err.message : String(err)}`,
80
+ },
81
+ ],
82
+ isError: true,
83
+ };
84
+ }
85
+ });
86
+ server.registerTool("hield_update_registration", {
87
+ description: "Update a registration's status. Use this to confirm a waitlisted attendee, move someone to the waitlist, or cancel a registration.",
88
+ inputSchema: {
89
+ event_id: z.string().describe("The event ID"),
90
+ registration_id: z.string().describe("The registration ID to update"),
91
+ status: z
92
+ .enum(["confirmed", "waitlisted", "cancelled"])
93
+ .describe("New registration status: 'confirmed', 'waitlisted', or 'cancelled'"),
94
+ },
95
+ }, async (params) => {
96
+ try {
97
+ const res = await client.put(`/api/v1/manage/events/${params.event_id}/registrations/${params.registration_id}`, { status: params.status });
98
+ return {
99
+ content: [
100
+ { type: "text", text: JSON.stringify(res.data, null, 2) },
101
+ ],
102
+ };
103
+ }
104
+ catch (err) {
105
+ if (err instanceof HieldApiError) {
106
+ return {
107
+ content: [
108
+ { type: "text", text: `Error [${err.code}]: ${err.message}` },
109
+ ],
110
+ isError: true,
111
+ };
112
+ }
113
+ return {
114
+ content: [
115
+ {
116
+ type: "text",
117
+ text: `Error: ${err instanceof Error ? err.message : String(err)}`,
118
+ },
119
+ ],
120
+ isError: true,
121
+ };
122
+ }
123
+ });
124
+ server.registerTool("hield_delete_registration", {
125
+ description: "Permanently delete a registration. This removes the attendee's record entirely. To keep the record but mark it as cancelled, use hield_update_registration with status 'cancelled' instead.",
126
+ inputSchema: {
127
+ event_id: z.string().describe("The event ID"),
128
+ registration_id: z.string().describe("The registration ID to delete"),
129
+ },
130
+ }, async (params) => {
131
+ try {
132
+ const res = await client.delete(`/api/v1/manage/events/${params.event_id}/registrations/${params.registration_id}`);
133
+ return {
134
+ content: [
135
+ { type: "text", text: JSON.stringify(res.data, null, 2) },
136
+ ],
137
+ };
138
+ }
139
+ catch (err) {
140
+ if (err instanceof HieldApiError) {
141
+ return {
142
+ content: [
143
+ { type: "text", text: `Error [${err.code}]: ${err.message}` },
144
+ ],
145
+ isError: true,
146
+ };
147
+ }
148
+ return {
149
+ content: [
150
+ {
151
+ type: "text",
152
+ text: `Error: ${err instanceof Error ? err.message : String(err)}`,
153
+ },
154
+ ],
155
+ isError: true,
156
+ };
157
+ }
158
+ });
159
+ }
160
+ //# sourceMappingURL=registrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registrations.js","sourceRoot":"","sources":["../../src/tools/registrations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { HieldClient } from "../client.js";
3
+ export declare function registerStatsTools(server: McpServer, client: HieldClient): void;
4
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/tools/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAiB,MAAM,cAAc,CAAC;AAE1D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,QA8ExE"}
@@ -0,0 +1,71 @@
1
+ import { z } from "zod";
2
+ import { HieldApiError } from "../client.js";
3
+ export function registerStatsTools(server, client) {
4
+ server.registerTool("hield_get_event_stats", {
5
+ description: "Get registration statistics for a specific event. Returns counts of confirmed, waitlisted, and cancelled registrations, plus capacity and remaining spots.",
6
+ inputSchema: {
7
+ event_id: z.string().describe("The event ID"),
8
+ },
9
+ }, async (params) => {
10
+ try {
11
+ const res = await client.get(`/api/v1/manage/events/${params.event_id}/stats`);
12
+ return {
13
+ content: [
14
+ { type: "text", text: JSON.stringify(res.data, null, 2) },
15
+ ],
16
+ };
17
+ }
18
+ catch (err) {
19
+ if (err instanceof HieldApiError) {
20
+ return {
21
+ content: [
22
+ { type: "text", text: `Error [${err.code}]: ${err.message}` },
23
+ ],
24
+ isError: true,
25
+ };
26
+ }
27
+ return {
28
+ content: [
29
+ {
30
+ type: "text",
31
+ text: `Error: ${err instanceof Error ? err.message : String(err)}`,
32
+ },
33
+ ],
34
+ isError: true,
35
+ };
36
+ }
37
+ });
38
+ server.registerTool("hield_get_overview_stats", {
39
+ description: "Get high-level statistics across all events for the authenticated tenant. Returns total event count, total registrations, and events grouped by status.",
40
+ inputSchema: {},
41
+ }, async () => {
42
+ try {
43
+ const res = await client.get("/api/v1/manage/stats");
44
+ return {
45
+ content: [
46
+ { type: "text", text: JSON.stringify(res.data, null, 2) },
47
+ ],
48
+ };
49
+ }
50
+ catch (err) {
51
+ if (err instanceof HieldApiError) {
52
+ return {
53
+ content: [
54
+ { type: "text", text: `Error [${err.code}]: ${err.message}` },
55
+ ],
56
+ isError: true,
57
+ };
58
+ }
59
+ return {
60
+ content: [
61
+ {
62
+ type: "text",
63
+ text: `Error: ${err instanceof Error ? err.message : String(err)}`,
64
+ },
65
+ ],
66
+ isError: true,
67
+ };
68
+ }
69
+ });
70
+ }
71
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/tools/stats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAe,aAAa,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,MAAmB;IACvE,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EACT,4JAA4J;QAC9J,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;SAC9C;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAC1B,yBAAyB,MAAM,CAAC,QAAQ,QAAQ,CACjD,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBAC1D;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE;qBAC9D;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;qBACnE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,WAAW,EACT,yJAAyJ;QAC3J,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACrD,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBAC1D;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE;qBAC9D;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;qBACnE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { HieldClient } from "../client.js";
3
+ export declare function registerTenantTools(server: McpServer, client: HieldClient): void;
4
+ //# sourceMappingURL=tenant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant.d.ts","sourceRoot":"","sources":["../../src/tools/tenant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAiB,MAAM,cAAc,CAAC;AAE1D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,QAyHzE"}
@@ -0,0 +1,109 @@
1
+ import { z } from "zod";
2
+ import { HieldApiError } from "../client.js";
3
+ export function registerTenantTools(server, client) {
4
+ server.registerTool("hield_get_tenant", {
5
+ description: "Get the authenticated tenant's profile information, including name, email, and account creation date.",
6
+ inputSchema: {},
7
+ }, async () => {
8
+ try {
9
+ const res = await client.get("/api/v1/manage/tenant");
10
+ return {
11
+ content: [
12
+ { type: "text", text: JSON.stringify(res.data, null, 2) },
13
+ ],
14
+ };
15
+ }
16
+ catch (err) {
17
+ if (err instanceof HieldApiError) {
18
+ return {
19
+ content: [
20
+ { type: "text", text: `Error [${err.code}]: ${err.message}` },
21
+ ],
22
+ isError: true,
23
+ };
24
+ }
25
+ return {
26
+ content: [
27
+ {
28
+ type: "text",
29
+ text: `Error: ${err instanceof Error ? err.message : String(err)}`,
30
+ },
31
+ ],
32
+ isError: true,
33
+ };
34
+ }
35
+ });
36
+ server.registerTool("hield_update_tenant", {
37
+ description: "Update the authenticated tenant's display name.",
38
+ inputSchema: {
39
+ name: z.string().describe("New tenant display name"),
40
+ },
41
+ }, async (params) => {
42
+ try {
43
+ const res = await client.put("/api/v1/manage/tenant", {
44
+ name: params.name,
45
+ });
46
+ return {
47
+ content: [
48
+ { type: "text", text: JSON.stringify(res.data, null, 2) },
49
+ ],
50
+ };
51
+ }
52
+ catch (err) {
53
+ if (err instanceof HieldApiError) {
54
+ return {
55
+ content: [
56
+ { type: "text", text: `Error [${err.code}]: ${err.message}` },
57
+ ],
58
+ isError: true,
59
+ };
60
+ }
61
+ return {
62
+ content: [
63
+ {
64
+ type: "text",
65
+ text: `Error: ${err instanceof Error ? err.message : String(err)}`,
66
+ },
67
+ ],
68
+ isError: true,
69
+ };
70
+ }
71
+ });
72
+ server.registerTool("hield_rotate_api_key", {
73
+ description: "Rotate the tenant's API key. WARNING: This invalidates the current API key immediately. The response contains the new API key — you must update your HIELD_API_KEY configuration with the new value or you will lose access.",
74
+ inputSchema: {},
75
+ }, async () => {
76
+ try {
77
+ const res = await client.post("/api/v1/manage/tenant/rotate-api-key");
78
+ return {
79
+ content: [
80
+ {
81
+ type: "text",
82
+ text: "WARNING: Your API key has been rotated. Update your HIELD_API_KEY configuration with the new key below.\n\n" +
83
+ JSON.stringify(res.data, null, 2),
84
+ },
85
+ ],
86
+ };
87
+ }
88
+ catch (err) {
89
+ if (err instanceof HieldApiError) {
90
+ return {
91
+ content: [
92
+ { type: "text", text: `Error [${err.code}]: ${err.message}` },
93
+ ],
94
+ isError: true,
95
+ };
96
+ }
97
+ return {
98
+ content: [
99
+ {
100
+ type: "text",
101
+ text: `Error: ${err instanceof Error ? err.message : String(err)}`,
102
+ },
103
+ ],
104
+ isError: true,
105
+ };
106
+ }
107
+ });
108
+ }
109
+ //# sourceMappingURL=tenant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../src/tools/tenant.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ export interface Event {
2
+ id: string;
3
+ tenant_id: string;
4
+ title: string;
5
+ description?: string;
6
+ location?: string;
7
+ start_time: string;
8
+ end_time?: string;
9
+ capacity?: number;
10
+ status: string;
11
+ created_at: string;
12
+ updated_at: string;
13
+ }
14
+ export interface FormField {
15
+ id: string;
16
+ event_id: string;
17
+ label: string;
18
+ field_type: string;
19
+ options?: unknown;
20
+ required: boolean;
21
+ sort_order: number;
22
+ created_at: string;
23
+ updated_at: string;
24
+ }
25
+ export interface Registration {
26
+ id: string;
27
+ event_id: string;
28
+ tenant_id: string;
29
+ attendee_name: string;
30
+ attendee_email: string;
31
+ attendee_phone?: string;
32
+ status: string;
33
+ confirmation_id: string;
34
+ custom_fields?: unknown;
35
+ created_at: string;
36
+ updated_at: string;
37
+ }
38
+ export interface Collaborator {
39
+ id: string;
40
+ event_id: string;
41
+ tenant_id: string;
42
+ role: string;
43
+ invited_by?: string;
44
+ created_at: string;
45
+ updated_at: string;
46
+ tenant_name?: string;
47
+ tenant_email?: string;
48
+ }
49
+ export interface Tenant {
50
+ id: string;
51
+ name: string;
52
+ email: string;
53
+ api_key?: string;
54
+ created_at: string;
55
+ updated_at: string;
56
+ }
57
+ export interface EventStats {
58
+ total_registrations: number;
59
+ confirmed: number;
60
+ waitlisted: number;
61
+ cancelled: number;
62
+ capacity?: number;
63
+ remaining_spots?: number;
64
+ }
65
+ export interface OverviewStats {
66
+ total_events: number;
67
+ total_registrations: number;
68
+ events_by_status: Record<string, number>;
69
+ }
70
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}