@aigentyc/mcp 0.1.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 (107) hide show
  1. package/AGENTS.md +197 -0
  2. package/LICENSE +21 -0
  3. package/README.md +112 -0
  4. package/context7.json +3 -0
  5. package/dist/cli.d.ts +3 -0
  6. package/dist/cli.d.ts.map +1 -0
  7. package/dist/cli.js +289 -0
  8. package/dist/cli.js.map +1 -0
  9. package/dist/client.d.ts +10 -0
  10. package/dist/client.d.ts.map +1 -0
  11. package/dist/client.js +70 -0
  12. package/dist/client.js.map +1 -0
  13. package/dist/config.d.ts +31 -0
  14. package/dist/config.d.ts.map +1 -0
  15. package/dist/config.js +79 -0
  16. package/dist/config.js.map +1 -0
  17. package/dist/errors.d.ts +10 -0
  18. package/dist/errors.d.ts.map +1 -0
  19. package/dist/errors.js +28 -0
  20. package/dist/errors.js.map +1 -0
  21. package/dist/fs-safety.d.ts +29 -0
  22. package/dist/fs-safety.d.ts.map +1 -0
  23. package/dist/fs-safety.js +107 -0
  24. package/dist/fs-safety.js.map +1 -0
  25. package/dist/index.d.ts +5 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +4 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/llms-full.txt +659 -0
  30. package/dist/server.d.ts +2 -0
  31. package/dist/server.d.ts.map +1 -0
  32. package/dist/server.js +57 -0
  33. package/dist/server.js.map +1 -0
  34. package/dist/tools/analytics.d.ts +4 -0
  35. package/dist/tools/analytics.d.ts.map +1 -0
  36. package/dist/tools/analytics.js +82 -0
  37. package/dist/tools/analytics.js.map +1 -0
  38. package/dist/tools/backups.d.ts +4 -0
  39. package/dist/tools/backups.d.ts.map +1 -0
  40. package/dist/tools/backups.js +99 -0
  41. package/dist/tools/backups.js.map +1 -0
  42. package/dist/tools/config.d.ts +4 -0
  43. package/dist/tools/config.d.ts.map +1 -0
  44. package/dist/tools/config.js +84 -0
  45. package/dist/tools/config.js.map +1 -0
  46. package/dist/tools/corrections.d.ts +4 -0
  47. package/dist/tools/corrections.d.ts.map +1 -0
  48. package/dist/tools/corrections.js +69 -0
  49. package/dist/tools/corrections.js.map +1 -0
  50. package/dist/tools/data_stores.d.ts +4 -0
  51. package/dist/tools/data_stores.d.ts.map +1 -0
  52. package/dist/tools/data_stores.js +244 -0
  53. package/dist/tools/data_stores.js.map +1 -0
  54. package/dist/tools/documents.d.ts +4 -0
  55. package/dist/tools/documents.d.ts.map +1 -0
  56. package/dist/tools/documents.js +162 -0
  57. package/dist/tools/documents.js.map +1 -0
  58. package/dist/tools/extract.d.ts +4 -0
  59. package/dist/tools/extract.d.ts.map +1 -0
  60. package/dist/tools/extract.js +61 -0
  61. package/dist/tools/extract.js.map +1 -0
  62. package/dist/tools/files.d.ts +4 -0
  63. package/dist/tools/files.d.ts.map +1 -0
  64. package/dist/tools/files.js +198 -0
  65. package/dist/tools/files.js.map +1 -0
  66. package/dist/tools/golden_answers.d.ts +4 -0
  67. package/dist/tools/golden_answers.d.ts.map +1 -0
  68. package/dist/tools/golden_answers.js +117 -0
  69. package/dist/tools/golden_answers.js.map +1 -0
  70. package/dist/tools/helpers.d.ts +5 -0
  71. package/dist/tools/helpers.d.ts.map +1 -0
  72. package/dist/tools/helpers.js +10 -0
  73. package/dist/tools/helpers.js.map +1 -0
  74. package/dist/tools/index.d.ts +4 -0
  75. package/dist/tools/index.d.ts.map +1 -0
  76. package/dist/tools/index.js +35 -0
  77. package/dist/tools/index.js.map +1 -0
  78. package/dist/tools/jobs.d.ts +4 -0
  79. package/dist/tools/jobs.d.ts.map +1 -0
  80. package/dist/tools/jobs.js +78 -0
  81. package/dist/tools/jobs.js.map +1 -0
  82. package/dist/tools/link_sources.d.ts +4 -0
  83. package/dist/tools/link_sources.d.ts.map +1 -0
  84. package/dist/tools/link_sources.js +155 -0
  85. package/dist/tools/link_sources.js.map +1 -0
  86. package/dist/tools/misc.d.ts +8 -0
  87. package/dist/tools/misc.d.ts.map +1 -0
  88. package/dist/tools/misc.js +73 -0
  89. package/dist/tools/misc.js.map +1 -0
  90. package/dist/tools/page_questions.d.ts +4 -0
  91. package/dist/tools/page_questions.d.ts.map +1 -0
  92. package/dist/tools/page_questions.js +77 -0
  93. package/dist/tools/page_questions.js.map +1 -0
  94. package/dist/tools/personas.d.ts +4 -0
  95. package/dist/tools/personas.d.ts.map +1 -0
  96. package/dist/tools/personas.js +78 -0
  97. package/dist/tools/personas.js.map +1 -0
  98. package/dist/tools/tools_crud.d.ts +4 -0
  99. package/dist/tools/tools_crud.d.ts.map +1 -0
  100. package/dist/tools/tools_crud.js +207 -0
  101. package/dist/tools/tools_crud.js.map +1 -0
  102. package/dist/tools/types.d.ts +25 -0
  103. package/dist/tools/types.d.ts.map +1 -0
  104. package/dist/tools/types.js +15 -0
  105. package/dist/tools/types.js.map +1 -0
  106. package/llms.txt +150 -0
  107. package/package.json +53 -0
@@ -0,0 +1,155 @@
1
+ import { z } from "zod";
2
+ import { pid, projectIdArg } from "./helpers.js";
3
+ import { defineTool } from "./types.js";
4
+ export function linkSourcesTools(client) {
5
+ return [
6
+ defineTool({
7
+ name: "link_sources_list",
8
+ title: "List link sources (crawled URL sets)",
9
+ description: "List website/pdf link sources configured for the project. Each source tracks discovered URLs + processing state.",
10
+ inputSchema: z.object({
11
+ projectId: projectIdArg,
12
+ page: z.number().int().min(1).default(1),
13
+ pageSize: z.number().int().min(1).max(100).default(20),
14
+ search: z.string().optional(),
15
+ status: z.string().optional(),
16
+ }),
17
+ handler: async (args) => {
18
+ const projectId = pid(client, args.projectId);
19
+ return client.get(`/api/dashboard/${projectId}/link-sources`, {
20
+ page: args.page,
21
+ pageSize: args.pageSize,
22
+ search: args.search,
23
+ status: args.status,
24
+ });
25
+ },
26
+ }),
27
+ defineTool({
28
+ name: "link_sources_get",
29
+ title: "Get a link source",
30
+ description: "Fetch a single link source with its status + discovered item counts.",
31
+ inputSchema: z.object({
32
+ projectId: projectIdArg,
33
+ sourceId: z.string().min(1),
34
+ }),
35
+ handler: async (args) => {
36
+ const projectId = pid(client, args.projectId);
37
+ return client.get(`/api/dashboard/${projectId}/link-sources/${encodeURIComponent(args.sourceId)}`);
38
+ },
39
+ }),
40
+ defineTool({
41
+ name: "link_sources_create",
42
+ title: "Create link source (start crawl)",
43
+ description: "Register a new website or PDF source and kick off discovery. Returns the source row.",
44
+ inputSchema: z.object({
45
+ projectId: projectIdArg,
46
+ sourceUrl: z.string().url(),
47
+ sourceType: z.enum(["website", "pdf"]).default("website"),
48
+ maxRequestsPerCrawl: z.number().int().min(1).max(10000).optional(),
49
+ maxConcurrency: z.number().int().min(1).max(20).default(3),
50
+ audience: z.array(z.string()).optional(),
51
+ }),
52
+ handler: async (args) => {
53
+ const projectId = pid(client, args.projectId);
54
+ return client.post(`/api/dashboard/${projectId}/link-sources`, {
55
+ sourceUrl: args.sourceUrl,
56
+ sourceType: args.sourceType,
57
+ maxRequestsPerCrawl: args.maxRequestsPerCrawl,
58
+ maxConcurrency: args.maxConcurrency,
59
+ audience: args.audience,
60
+ });
61
+ },
62
+ }),
63
+ defineTool({
64
+ name: "link_sources_update",
65
+ title: "Update link source",
66
+ description: "Update audience tags or crawl parameters on an existing source.",
67
+ inputSchema: z.object({
68
+ projectId: projectIdArg,
69
+ sourceId: z.string().min(1),
70
+ patch: z
71
+ .object({
72
+ audience: z.array(z.string()).optional(),
73
+ maxConcurrency: z.number().int().min(1).max(20).optional(),
74
+ maxRequestsPerCrawl: z.number().int().min(1).max(10000).optional(),
75
+ })
76
+ .describe("Fields to update."),
77
+ }),
78
+ handler: async (args) => {
79
+ const projectId = pid(client, args.projectId);
80
+ return client.patch(`/api/dashboard/${projectId}/link-sources/${encodeURIComponent(args.sourceId)}`, args.patch);
81
+ },
82
+ }),
83
+ defineTool({
84
+ name: "link_sources_delete",
85
+ title: "Delete link source",
86
+ description: "Delete a link source and its discovered items. Does not delete derived documents. Destructive.",
87
+ inputSchema: z.object({
88
+ projectId: projectIdArg,
89
+ sourceId: z.string().min(1),
90
+ confirm: z.boolean().default(false),
91
+ }),
92
+ handler: async (args) => {
93
+ if (!args.confirm) {
94
+ return {
95
+ deleted: false,
96
+ reason: "Destructive. Re-invoke with confirm=true.",
97
+ };
98
+ }
99
+ const projectId = pid(client, args.projectId);
100
+ return client.delete(`/api/dashboard/${projectId}/link-sources/${encodeURIComponent(args.sourceId)}`);
101
+ },
102
+ }),
103
+ defineTool({
104
+ name: "link_sources_list_items",
105
+ title: "List discovered items for a link source",
106
+ description: "Paginated list of discovered URLs for a given link source. Filter by isProcessed / isSkipped.",
107
+ inputSchema: z.object({
108
+ projectId: projectIdArg,
109
+ sourceId: z.string().min(1),
110
+ page: z.number().int().min(1).default(1),
111
+ pageSize: z.number().int().min(1).max(200).default(50),
112
+ isProcessed: z.boolean().optional(),
113
+ isSkipped: z.boolean().optional(),
114
+ }),
115
+ handler: async (args) => {
116
+ const projectId = pid(client, args.projectId);
117
+ return client.get(`/api/dashboard/${projectId}/link-sources/${encodeURIComponent(args.sourceId)}/items`, {
118
+ page: args.page,
119
+ pageSize: args.pageSize,
120
+ isProcessed: args.isProcessed,
121
+ isSkipped: args.isSkipped,
122
+ });
123
+ },
124
+ }),
125
+ defineTool({
126
+ name: "link_sources_update_item",
127
+ title: "Update discovered item",
128
+ description: "Mark a discovered item as processed/skipped. Used to override crawler decisions.",
129
+ inputSchema: z.object({
130
+ projectId: projectIdArg,
131
+ itemId: z.string().min(1),
132
+ isSkipped: z.boolean().optional(),
133
+ isProcessed: z.boolean().optional(),
134
+ }),
135
+ handler: async (args) => {
136
+ const projectId = pid(client, args.projectId);
137
+ return client.patch(`/api/dashboard/${projectId}/link-sources/items/${encodeURIComponent(args.itemId)}`, { isSkipped: args.isSkipped, isProcessed: args.isProcessed });
138
+ },
139
+ }),
140
+ defineTool({
141
+ name: "link_sources_delete_item",
142
+ title: "Delete a discovered item",
143
+ description: "Remove one URL from a link source's discovered set.",
144
+ inputSchema: z.object({
145
+ projectId: projectIdArg,
146
+ itemId: z.string().min(1),
147
+ }),
148
+ handler: async (args) => {
149
+ const projectId = pid(client, args.projectId);
150
+ return client.delete(`/api/dashboard/${projectId}/link-sources/items/${encodeURIComponent(args.itemId)}`);
151
+ },
152
+ }),
153
+ ];
154
+ }
155
+ //# sourceMappingURL=link_sources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link_sources.js","sourceRoot":"","sources":["../../src/tools/link_sources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { DashboardClient } from "../client.js";
2
+ import { type ToolDef } from "./types.js";
3
+ /**
4
+ * Small read-only endpoints that don't justify their own file:
5
+ * branches, unified_links, analytics overview, kb search.
6
+ */
7
+ export declare function miscTools(client: DashboardClient): ToolDef[];
8
+ //# sourceMappingURL=misc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/tools/misc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,EAAE,CAqE5D"}
@@ -0,0 +1,73 @@
1
+ import { z } from "zod";
2
+ import { pid, projectIdArg } from "./helpers.js";
3
+ import { defineTool } from "./types.js";
4
+ /**
5
+ * Small read-only endpoints that don't justify their own file:
6
+ * branches, unified_links, analytics overview, kb search.
7
+ */
8
+ export function miscTools(client) {
9
+ return [
10
+ defineTool({
11
+ name: "branches_list",
12
+ title: "List document branches",
13
+ description: "List named branches of the knowledge base (draft vs published workspaces).",
14
+ inputSchema: z.object({ projectId: projectIdArg }),
15
+ handler: async (args) => {
16
+ const projectId = pid(client, args.projectId);
17
+ return client.get(`/api/dashboard/${projectId}/branches`);
18
+ },
19
+ }),
20
+ defineTool({
21
+ name: "unified_links_list",
22
+ title: "Unified link catalog",
23
+ description: "Get the aggregated catalog of every URL known to the project (files + link sources + manual).",
24
+ inputSchema: z.object({
25
+ projectId: projectIdArg,
26
+ page: z.number().int().min(1).default(1),
27
+ pageSize: z.number().int().min(1).max(200).default(50),
28
+ search: z.string().optional(),
29
+ }),
30
+ handler: async (args) => {
31
+ const projectId = pid(client, args.projectId);
32
+ return client.get(`/api/dashboard/${projectId}/unified-links`, {
33
+ page: args.page,
34
+ pageSize: args.pageSize,
35
+ search: args.search,
36
+ });
37
+ },
38
+ }),
39
+ defineTool({
40
+ name: "analytics_audience_overview",
41
+ title: "Audience analytics overview",
42
+ description: "Aggregate metrics for audience segments (document counts, coverage).",
43
+ inputSchema: z.object({ projectId: projectIdArg }),
44
+ handler: async (args) => {
45
+ const projectId = pid(client, args.projectId);
46
+ return client.get(`/api/dashboard/${projectId}/knowledge-base/audience-overview`);
47
+ },
48
+ }),
49
+ defineTool({
50
+ name: "kb_search",
51
+ title: "Knowledge-base search (read-only)",
52
+ description: "Hybrid / vector search over the project KB. Non-streaming. Use BEFORE creating documents to check for overlap/duplicates.",
53
+ inputSchema: z.object({
54
+ projectId: projectIdArg,
55
+ query: z.string().min(1),
56
+ topK: z.number().int().min(1).max(50).default(5),
57
+ threshold: z.number().min(0).max(1).default(0.3),
58
+ sectorId: z.string().optional(),
59
+ }),
60
+ handler: async (args) => {
61
+ const projectId = pid(client, args.projectId);
62
+ return client.post(`/api/kb/search`, {
63
+ projectId,
64
+ query: args.query,
65
+ topK: args.topK,
66
+ threshold: args.threshold,
67
+ sectorId: args.sectorId,
68
+ });
69
+ },
70
+ }),
71
+ ];
72
+ }
73
+ //# sourceMappingURL=misc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/tools/misc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { DashboardClient } from "../client.js";
2
+ import { type ToolDef } from "./types.js";
3
+ export declare function pageQuestionsTools(client: DashboardClient): ToolDef[];
4
+ //# sourceMappingURL=page_questions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page_questions.d.ts","sourceRoot":"","sources":["../../src/tools/page_questions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAQtD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,EAAE,CAyErE"}
@@ -0,0 +1,77 @@
1
+ import { z } from "zod";
2
+ import { pid, projectIdArg } from "./helpers.js";
3
+ import { defineTool } from "./types.js";
4
+ const questionItem = z.object({
5
+ text: z.string().min(1),
6
+ icon: z.string().optional(),
7
+ query: z.string().optional(),
8
+ });
9
+ export function pageQuestionsTools(client) {
10
+ return [
11
+ defineTool({
12
+ name: "page_questions_list",
13
+ title: "List page questions",
14
+ description: "List per-page suggested questions pinned to specific URLs on the user's own site.",
15
+ inputSchema: z.object({
16
+ projectId: projectIdArg,
17
+ pageUrl: z.string().url().optional(),
18
+ }),
19
+ handler: async (args) => {
20
+ const projectId = pid(client, args.projectId);
21
+ return client.get(`/api/dashboard/${projectId}/page-questions`, {
22
+ pageUrl: args.pageUrl,
23
+ });
24
+ },
25
+ }),
26
+ defineTool({
27
+ name: "page_questions_set_manual",
28
+ title: "Set manual page questions",
29
+ description: "Set the suggested questions + welcome text shown for a specific page URL. Overwrites existing.",
30
+ inputSchema: z.object({
31
+ projectId: projectIdArg,
32
+ pageUrl: z.string().url(),
33
+ questions: z.array(questionItem).max(20),
34
+ welcomeTitle: z.string().optional(),
35
+ welcomeSubtitle: z.string().optional(),
36
+ }),
37
+ handler: async (args) => {
38
+ const projectId = pid(client, args.projectId);
39
+ return client.patch(`/api/dashboard/${projectId}/page-questions`, {
40
+ pageUrl: args.pageUrl,
41
+ questions: args.questions,
42
+ welcomeTitle: args.welcomeTitle,
43
+ welcomeSubtitle: args.welcomeSubtitle,
44
+ });
45
+ },
46
+ }),
47
+ defineTool({
48
+ name: "page_questions_auto_generate",
49
+ title: "Auto-generate page questions for a URL",
50
+ description: "Auto-generate Q&A for a page URL (runs AI over scanned document content) and persist as manual questions. Returns a jobId — poll with jobs_wait.",
51
+ inputSchema: z.object({
52
+ projectId: projectIdArg,
53
+ pageUrl: z.string().url(),
54
+ }),
55
+ handler: async (args) => {
56
+ const projectId = pid(client, args.projectId);
57
+ return client.post(`/api/dashboard/${projectId}/page-questions/pages`, { pageUrl: args.pageUrl });
58
+ },
59
+ }),
60
+ defineTool({
61
+ name: "page_questions_delete_page",
62
+ title: "Delete page questions entry",
63
+ description: "Remove the page questions entry for a specific URL.",
64
+ inputSchema: z.object({
65
+ projectId: projectIdArg,
66
+ pageUrl: z.string().url(),
67
+ }),
68
+ handler: async (args) => {
69
+ const projectId = pid(client, args.projectId);
70
+ return client.delete(`/api/dashboard/${projectId}/page-questions`, {
71
+ pageUrl: args.pageUrl,
72
+ });
73
+ },
74
+ }),
75
+ ];
76
+ }
77
+ //# sourceMappingURL=page_questions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page_questions.js","sourceRoot":"","sources":["../../src/tools/page_questions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { DashboardClient } from "../client.js";
2
+ import { type ToolDef } from "./types.js";
3
+ export declare function personasTools(client: DashboardClient): ToolDef[];
4
+ //# sourceMappingURL=personas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personas.d.ts","sourceRoot":"","sources":["../../src/tools/personas.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAYtD,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,EAAE,CAuEhE"}
@@ -0,0 +1,78 @@
1
+ import { z } from "zod";
2
+ import { pid, projectIdArg } from "./helpers.js";
3
+ import { defineTool } from "./types.js";
4
+ const toneEnum = z.enum([
5
+ "formal",
6
+ "casual",
7
+ "friendly",
8
+ "professional",
9
+ "technical",
10
+ ]);
11
+ const responseLengthEnum = z.enum(["concise", "balanced", "detailed"]);
12
+ const languageStyleEnum = z.enum(["simple", "technical", "conversational"]);
13
+ export function personasTools(client) {
14
+ return [
15
+ defineTool({
16
+ name: "personas_list",
17
+ title: "List chat personas",
18
+ description: "List the chat personas configured for the project. Personas are used by the AudienceSelector and define tone/style/custom instructions for different audience segments.",
19
+ inputSchema: z.object({ projectId: projectIdArg }),
20
+ handler: async (args) => {
21
+ const projectId = pid(client, args.projectId);
22
+ return client.get(`/api/dashboard/${projectId}/settings/personas`);
23
+ },
24
+ }),
25
+ defineTool({
26
+ name: "personas_upsert",
27
+ title: "Create or update persona",
28
+ description: "Upsert a chat persona identified by `key`. If a persona with that key exists it is patched, otherwise a new one is created. The persona defines tone, response length, language style, and custom instructions for the chat agent when this persona is active.",
29
+ inputSchema: z.object({
30
+ projectId: projectIdArg,
31
+ key: z
32
+ .string()
33
+ .min(1)
34
+ .max(50)
35
+ .regex(/^[a-z0-9_-]+$/i, "key must be [a-zA-Z0-9_-]"),
36
+ displayName: z.string().min(1).max(255),
37
+ description: z.string().optional(),
38
+ tone: toneEnum.optional(),
39
+ responseLength: responseLengthEnum.optional(),
40
+ languageStyle: languageStyleEnum.optional(),
41
+ customInstructions: z
42
+ .string()
43
+ .optional()
44
+ .describe("Free-form prompt additions. Use this for persona-specific instructions beyond tone/length/style."),
45
+ welcomeMessage: z.string().optional(),
46
+ isActive: z.boolean().default(true),
47
+ }),
48
+ handler: async (args) => {
49
+ const { projectId: rawPid, ...body } = args;
50
+ const projectId = pid(client, rawPid);
51
+ return client.post(`/api/dashboard/${projectId}/settings/personas`, body);
52
+ },
53
+ }),
54
+ defineTool({
55
+ name: "personas_delete",
56
+ title: "Delete persona",
57
+ description: "Delete a persona by key. Destructive.",
58
+ inputSchema: z.object({
59
+ projectId: projectIdArg,
60
+ key: z.string().min(1),
61
+ confirm: z.boolean().default(false),
62
+ }),
63
+ handler: async (args) => {
64
+ if (!args.confirm) {
65
+ return {
66
+ deleted: false,
67
+ reason: "Destructive. Re-invoke with confirm=true.",
68
+ };
69
+ }
70
+ const projectId = pid(client, args.projectId);
71
+ return client.delete(`/api/dashboard/${projectId}/settings/personas`, {
72
+ key: args.key,
73
+ });
74
+ },
75
+ }),
76
+ ];
77
+ }
78
+ //# sourceMappingURL=personas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personas.js","sourceRoot":"","sources":["../../src/tools/personas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { DashboardClient } from "../client.js";
2
+ import { type ToolDef } from "./types.js";
3
+ export declare function toolsCrudTools(client: DashboardClient): ToolDef[];
4
+ //# sourceMappingURL=tools_crud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools_crud.d.ts","sourceRoot":"","sources":["../../src/tools/tools_crud.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAyDtD,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,EAAE,CAgLjE"}