@heyclaude/mcp 0.2.0 → 0.3.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/src/schemas.d.ts CHANGED
@@ -23,6 +23,9 @@ export const CategorySubmissionGuidanceInputSchema: z.ZodType;
23
23
  export const PrepareSubmissionDraftInputSchema: z.ZodType;
24
24
  export const GetSubmissionExamplesInputSchema: z.ZodType;
25
25
  export const ReviewSubmissionDraftInputSchema: z.ZodType;
26
+ export const SubmissionPolicyInputSchema: z.ZodType;
27
+ export const ExplainEntryTrustInputSchema: z.ZodType;
28
+ export const ReviewEntrySafetyInputSchema: z.ZodType;
26
29
  export const TOOL_INPUT_SCHEMAS: Record<string, z.ZodType>;
27
30
 
28
31
  export function jsonSchemaForTool(name: string): Record<string, unknown>;
package/src/schemas.js CHANGED
@@ -8,6 +8,10 @@ const pathPart = z
8
8
  .regex(/^[a-z0-9-]+$/, "Use lowercase slug-safe path parts only.");
9
9
 
10
10
  const platform = z.string().trim().min(1).max(80);
11
+ const trustBooleanFilter = z.enum(["all", "true", "false"]);
12
+ const downloadTrustFilter = z.enum(["all", "first-party", "external", "none"]);
13
+ const claimStatusFilter = z.enum(["all", "unclaimed", "pending", "verified"]);
14
+ const sourceStatusFilter = z.enum(["all", "available", "missing"]);
11
15
  const clientName = z.enum([
12
16
  "codex",
13
17
  "claude-desktop",
@@ -28,6 +32,17 @@ const submissionCategory = z.enum([
28
32
  ]);
29
33
  const optionalText = z.string().trim().max(4000).optional();
30
34
  const optionalLongText = z.string().trim().max(24000).optional();
35
+ const notesShape = z
36
+ .string()
37
+ .trim()
38
+ .refine((value) => {
39
+ const lines = value
40
+ .split(/\r?\n/)
41
+ .map((line) => line.trim())
42
+ .filter(Boolean);
43
+ return lines.length <= 8 && lines.every((line) => line.length <= 320);
44
+ }, "Use at most 8 non-empty lines, 320 characters per line.")
45
+ .optional();
31
46
  const optionalTags = z
32
47
  .union([
33
48
  z.string().trim().max(1000),
@@ -68,6 +83,8 @@ export const SubmissionFieldsSchema = z
68
83
  retrieval_sources: optionalLongText,
69
84
  tested_platforms: optionalText,
70
85
  prerequisites: optionalLongText,
86
+ safety_notes: notesShape,
87
+ privacy_notes: notesShape,
71
88
  troubleshooting_section: optionalLongText,
72
89
  installation_order: optionalText,
73
90
  estimated_setup_time: optionalText,
@@ -80,10 +97,24 @@ export const SearchRegistryInputSchema = z
80
97
  query: z.string().trim().max(240).optional(),
81
98
  category: pathPart.optional(),
82
99
  platform: platform.optional(),
100
+ hasSafetyNotes: trustBooleanFilter.optional(),
101
+ hasPrivacyNotes: trustBooleanFilter.optional(),
102
+ downloadTrust: downloadTrustFilter.optional(),
103
+ claimStatus: claimStatusFilter.optional(),
104
+ sourceStatus: sourceStatusFilter.optional(),
83
105
  limit: z.number().int().min(1).max(25).optional(),
84
106
  })
85
107
  .strict();
86
108
 
109
+ export const PlanWorkflowToolboxInputSchema = z
110
+ .object({
111
+ goal: z.string().trim().min(2).max(240),
112
+ category: pathPart.optional(),
113
+ platform: platform.optional(),
114
+ limit: z.number().int().min(1).max(10).optional(),
115
+ })
116
+ .strict();
117
+
87
118
  export const ServerInfoInputSchema = z.object({}).strict();
88
119
 
89
120
  export const ListCategoryEntriesInputSchema = z
@@ -205,7 +236,7 @@ export const SearchDuplicateEntriesInputSchema = z
205
236
  export const BuildSubmissionUrlsInputSchema = z
206
237
  .object({
207
238
  fields: SubmissionFieldsSchema,
208
- includeIssueBody: z.boolean().optional(),
239
+ includePrBody: z.boolean().optional(),
209
240
  })
210
241
  .strict();
211
242
 
@@ -234,8 +265,35 @@ export const ReviewSubmissionDraftInputSchema = z
234
265
  })
235
266
  .strict();
236
267
 
268
+ export const SubmissionPolicyInputSchema = z.object({}).strict();
269
+
270
+ export const ExplainEntryTrustInputSchema = z
271
+ .object({
272
+ category: pathPart,
273
+ slug: pathPart,
274
+ })
275
+ .strict();
276
+
277
+ export const ReviewEntrySafetyInputSchema = z
278
+ .object({
279
+ entries: z
280
+ .array(
281
+ z
282
+ .object({
283
+ category: pathPart,
284
+ slug: pathPart,
285
+ })
286
+ .strict(),
287
+ )
288
+ .min(1)
289
+ .max(5),
290
+ platform: platform.optional(),
291
+ })
292
+ .strict();
293
+
237
294
  export const TOOL_INPUT_SCHEMAS = {
238
295
  search_registry: SearchRegistryInputSchema,
296
+ plan_workflow_toolbox: PlanWorkflowToolboxInputSchema,
239
297
  server_info: ServerInfoInputSchema,
240
298
  list_category_entries: ListCategoryEntriesInputSchema,
241
299
  get_recent_updates: RecentUpdatesInputSchema,
@@ -257,6 +315,9 @@ export const TOOL_INPUT_SCHEMAS = {
257
315
  prepare_submission_draft: PrepareSubmissionDraftInputSchema,
258
316
  get_submission_examples: GetSubmissionExamplesInputSchema,
259
317
  review_submission_draft: ReviewSubmissionDraftInputSchema,
318
+ get_submission_policy: SubmissionPolicyInputSchema,
319
+ explain_entry_trust: ExplainEntryTrustInputSchema,
320
+ review_entry_safety: ReviewEntrySafetyInputSchema,
260
321
  };
261
322
 
262
323
  function stripUnsupportedJsonSchemaFields(value) {
@@ -1,11 +1,10 @@
1
1
  export const SUBMISSION_SITE_URL: string;
2
- export const GITHUB_NEW_ISSUE_URL: string;
3
2
 
4
3
  export function slugify(value: string): string;
5
4
  export function normalizeSubmissionFields(
6
5
  fields?: Record<string, unknown>,
7
6
  ): Record<string, string>;
8
- export function buildIssueDraftFromSpec(
7
+ export function buildPrDraftFromSpec(
9
8
  spec: Record<string, unknown>,
10
9
  fields?: Record<string, unknown>,
11
10
  ): Record<string, unknown>;