Skip to content

Commit ab7b413

Browse files
authored
Switch to new schemas (#36)
1 parent c5d22df commit ab7b413

7 files changed

Lines changed: 22 additions & 24 deletions

File tree

index.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,8 @@
2727
</script>
2828
<script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/docsify.min.js"></script>
2929
<script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/plugins/search.min.js"></script>
30+
<script src="https://cdn.jsdelivr.net/npm/prismjs@1/components/prism-bash.min.js"></script>
31+
<script src="https://cdn.jsdelivr.net/npm/prismjs@1/components/prism-typescript.min.js"></script>
32+
<script src="https://cdn.jsdelivr.net/npm/prismjs@1/components/prism-json.min.js"></script>
3033
</body>
3134
</html>

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
},
7777
"dependencies": {
7878
"@alcyone-labs/zod-to-json-schema": "4.0.10",
79-
"@iterable/api": "0.8.2",
79+
"@iterable/api": "0.9.0",
8080
"@modelcontextprotocol/sdk": "1.18.1",
8181
"@primno/dpapi": "2.0.1",
8282
"@types/json-schema": "7.0.15",

pnpm-lock.yaml

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/tools/catalogs.ts

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
BulkDeleteCatalogItemsParamsSchema,
88
CreateCatalogParamsSchema,
99
DeleteCatalogItemParamsSchema,
10+
DeleteCatalogParamsSchema,
1011
GetCatalogFieldMappingsParamsSchema,
1112
GetCatalogItemParamsSchema,
1213
GetCatalogItemsParamsSchema,
@@ -17,7 +18,6 @@ import {
1718
UpdateCatalogItemParamsSchema,
1819
} from "@iterable/api";
1920
import type { Tool } from "@modelcontextprotocol/sdk/types.js";
20-
import { z } from "zod";
2121

2222
import { createTool } from "../schema-utils.js";
2323

@@ -27,7 +27,7 @@ export function createCatalogTools(client: IterableClient): Tool[] {
2727
name: "create_catalog",
2828
description: "Create a new catalog",
2929
schema: CreateCatalogParamsSchema,
30-
execute: (params) => client.createCatalog(params.catalogName),
30+
execute: (params) => client.createCatalog(params),
3131
}),
3232
createTool({
3333
name: "update_catalog_items",
@@ -39,15 +39,13 @@ export function createCatalogTools(client: IterableClient): Tool[] {
3939
name: "get_catalog_item",
4040
description: "Get a specific catalog item by ID",
4141
schema: GetCatalogItemParamsSchema,
42-
execute: (params) =>
43-
client.getCatalogItem(params.catalogName, params.itemId),
42+
execute: (params) => client.getCatalogItem(params),
4443
}),
4544
createTool({
4645
name: "delete_catalog_item",
4746
description: "Delete a specific catalog item by ID",
4847
schema: DeleteCatalogItemParamsSchema,
49-
execute: (params) =>
50-
client.deleteCatalogItem(params.catalogName, params.itemId),
48+
execute: (params) => client.deleteCatalogItem(params),
5149
}),
5250
createTool({
5351
name: "get_catalogs",
@@ -71,10 +69,8 @@ export function createCatalogTools(client: IterableClient): Tool[] {
7169
createTool({
7270
name: "delete_catalog",
7371
description: "Delete a catalog",
74-
schema: z.object({
75-
catalogName: z.string().describe("Name of the catalog to delete"),
76-
}),
77-
execute: (params) => client.deleteCatalog(params.catalogName),
72+
schema: DeleteCatalogParamsSchema,
73+
execute: (params) => client.deleteCatalog(params),
7874
}),
7975
createTool({
8076
name: "update_catalog_field_mappings",

src/tools/lists.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export function createListTools(client: IterableClient): Tool[] {
4848
name: "delete_list",
4949
description: "Delete a user list",
5050
schema: DeleteListParamsSchema,
51-
execute: (params) => client.deleteList(params.listId),
51+
execute: (params) => client.deleteList(params),
5252
}),
5353
createTool({
5454
name: "unsubscribe_from_list",

src/tools/templates.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,14 +140,13 @@ export function createTemplateTools(client: IterableClient): Tool[] {
140140
name: "get_template_by_client_id",
141141
description: "Get template by client template ID",
142142
schema: GetTemplateByClientIdParamsSchema,
143-
execute: (params) =>
144-
client.getTemplateByClientId(params.clientTemplateId),
143+
execute: (params) => client.getTemplateByClientId(params),
145144
}),
146145
createTool({
147146
name: "delete_templates",
148147
description: "Delete one or more templates by ID",
149148
schema: BulkDeleteTemplatesParamsSchema,
150-
execute: (params) => client.deleteTemplates(params.ids),
149+
execute: (params) => client.deleteTemplates(params),
151150
}),
152151

153152
// Generate tools for all template types using configuration-driven approach

src/tools/users.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ export function createUserTools(client: IterableClient): Tool[] {
2828
name: "get_user_by_email",
2929
description: "Get user profile information by email address",
3030
schema: GetUserByEmailParamsSchema,
31-
execute: (params) => client.getUserByEmail(params.email),
31+
execute: (params) => client.getUserByEmail(params),
3232
}),
3333
createTool({
3434
name: "get_user_by_user_id",
3535
description: "Get user profile information by user ID",
3636
schema: GetUserByIdParamsSchema,
37-
execute: (params) => client.getUserByUserId(params.userId),
37+
execute: (params) => client.getUserByUserId(params),
3838
}),
3939
createTool({
4040
name: "update_user",
@@ -48,14 +48,14 @@ export function createUserTools(client: IterableClient): Tool[] {
4848
description:
4949
"Delete a user by email address (asynchronous - does not prevent future data collection)",
5050
schema: DeleteUserByEmailParamsSchema,
51-
execute: (params) => client.deleteUserByEmail(params.email),
51+
execute: (params) => client.deleteUserByEmail(params),
5252
}),
5353
createTool({
5454
name: "delete_user_by_user_id",
5555
description:
5656
"Delete a user by user ID (asynchronous - does not prevent future data collection, deletes all users with same userId)",
5757
schema: DeleteUserByUserIdParamsSchema,
58-
execute: (params) => client.deleteUserByUserId(params.userId),
58+
execute: (params) => client.deleteUserByUserId(params),
5959
}),
6060
createTool({
6161
name: "update_email",

0 commit comments

Comments
 (0)