@smithery/sdk 4.0.0 → 4.0.1

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.
@@ -0,0 +1,120 @@
1
+ import { z } from "zod";
2
+ export declare const DeployPayloadSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ type: z.ZodLiteral<"hosted">;
4
+ stateful: z.ZodDefault<z.ZodBoolean>;
5
+ configSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
6
+ serverCard: z.ZodOptional<z.ZodObject<{
7
+ serverInfo: z.ZodObject<{
8
+ version: z.ZodString;
9
+ websiteUrl: z.ZodOptional<z.ZodString>;
10
+ description: z.ZodOptional<z.ZodString>;
11
+ icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
12
+ src: z.ZodString;
13
+ mimeType: z.ZodOptional<z.ZodString>;
14
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
15
+ theme: z.ZodOptional<z.ZodEnum<{
16
+ light: "light";
17
+ dark: "dark";
18
+ }>>;
19
+ }, z.core.$strip>>>;
20
+ name: z.ZodString;
21
+ title: z.ZodOptional<z.ZodString>;
22
+ }, z.core.$strip>;
23
+ authentication: z.ZodOptional<z.ZodObject<{
24
+ required: z.ZodBoolean;
25
+ schemes: z.ZodArray<z.ZodString>;
26
+ }, z.core.$strip>>;
27
+ tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
28
+ description: z.ZodOptional<z.ZodString>;
29
+ inputSchema: z.ZodObject<{
30
+ type: z.ZodLiteral<"object">;
31
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodCustom<object, object>>>;
32
+ required: z.ZodOptional<z.ZodArray<z.ZodString>>;
33
+ }, z.core.$catchall<z.ZodUnknown>>;
34
+ outputSchema: z.ZodOptional<z.ZodObject<{
35
+ type: z.ZodLiteral<"object">;
36
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodCustom<object, object>>>;
37
+ required: z.ZodOptional<z.ZodArray<z.ZodString>>;
38
+ }, z.core.$catchall<z.ZodUnknown>>>;
39
+ annotations: z.ZodOptional<z.ZodObject<{
40
+ title: z.ZodOptional<z.ZodString>;
41
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
42
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
43
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
44
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
45
+ }, z.core.$strip>>;
46
+ execution: z.ZodOptional<z.ZodObject<{
47
+ taskSupport: z.ZodOptional<z.ZodEnum<{
48
+ optional: "optional";
49
+ required: "required";
50
+ forbidden: "forbidden";
51
+ }>>;
52
+ }, z.core.$strip>>;
53
+ _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
54
+ icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
55
+ src: z.ZodString;
56
+ mimeType: z.ZodOptional<z.ZodString>;
57
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
58
+ theme: z.ZodOptional<z.ZodEnum<{
59
+ light: "light";
60
+ dark: "dark";
61
+ }>>;
62
+ }, z.core.$strip>>>;
63
+ name: z.ZodString;
64
+ title: z.ZodOptional<z.ZodString>;
65
+ }, z.core.$strip>>>;
66
+ resources: z.ZodOptional<z.ZodArray<z.ZodObject<{
67
+ uri: z.ZodString;
68
+ description: z.ZodOptional<z.ZodString>;
69
+ mimeType: z.ZodOptional<z.ZodString>;
70
+ annotations: z.ZodOptional<z.ZodObject<{
71
+ audience: z.ZodOptional<z.ZodArray<z.ZodEnum<{
72
+ user: "user";
73
+ assistant: "assistant";
74
+ }>>>;
75
+ priority: z.ZodOptional<z.ZodNumber>;
76
+ lastModified: z.ZodOptional<z.ZodISODateTime>;
77
+ }, z.core.$strip>>;
78
+ _meta: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
79
+ icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
80
+ src: z.ZodString;
81
+ mimeType: z.ZodOptional<z.ZodString>;
82
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
83
+ theme: z.ZodOptional<z.ZodEnum<{
84
+ light: "light";
85
+ dark: "dark";
86
+ }>>;
87
+ }, z.core.$strip>>>;
88
+ name: z.ZodString;
89
+ title: z.ZodOptional<z.ZodString>;
90
+ }, z.core.$strip>>>;
91
+ prompts: z.ZodOptional<z.ZodArray<z.ZodObject<{
92
+ description: z.ZodOptional<z.ZodString>;
93
+ arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{
94
+ name: z.ZodString;
95
+ description: z.ZodOptional<z.ZodString>;
96
+ required: z.ZodOptional<z.ZodBoolean>;
97
+ }, z.core.$strip>>>;
98
+ _meta: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
99
+ icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
100
+ src: z.ZodString;
101
+ mimeType: z.ZodOptional<z.ZodString>;
102
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
103
+ theme: z.ZodOptional<z.ZodEnum<{
104
+ light: "light";
105
+ dark: "dark";
106
+ }>>;
107
+ }, z.core.$strip>>>;
108
+ name: z.ZodString;
109
+ title: z.ZodOptional<z.ZodString>;
110
+ }, z.core.$strip>>>;
111
+ }, z.core.$loose>>;
112
+ source: z.ZodOptional<z.ZodObject<{
113
+ commit: z.ZodOptional<z.ZodString>;
114
+ branch: z.ZodOptional<z.ZodString>;
115
+ }, z.core.$strip>>;
116
+ }, z.core.$strip>, z.ZodObject<{
117
+ type: z.ZodLiteral<"external">;
118
+ upstreamUrl: z.ZodString;
119
+ }, z.core.$strip>], "type">;
120
+ export type DeployPayload = z.infer<typeof DeployPayloadSchema>;
@@ -0,0 +1,22 @@
1
+ import { z } from "zod";
2
+ import { ServerCardSchema } from "./server-card.js";
3
+ const HostedDeployPayloadSchema = z.object({
4
+ type: z.literal("hosted"),
5
+ stateful: z.boolean().default(false),
6
+ configSchema: z.record(z.string(), z.unknown()).optional(),
7
+ serverCard: ServerCardSchema.optional(),
8
+ source: z
9
+ .object({
10
+ commit: z.string().optional(),
11
+ branch: z.string().optional(),
12
+ })
13
+ .optional(),
14
+ });
15
+ const ExternalDeployPayloadSchema = z.object({
16
+ type: z.literal("external"),
17
+ upstreamUrl: z.string().url(),
18
+ });
19
+ export const DeployPayloadSchema = z.discriminatedUnion("type", [
20
+ HostedDeployPayloadSchema,
21
+ ExternalDeployPayloadSchema,
22
+ ]);
@@ -1,3 +1,7 @@
1
- export * from "./manifest.js";
1
+ /**
2
+ * The bundle package is not guaranteed to be backwards compatible or stable, and is used internally for Smithery CLI.
3
+ */
2
4
  export * from "./limits.js";
3
5
  export * from "./config.js";
6
+ export * from "./deploy-payload.js";
7
+ export * from "./server-card.js";
@@ -1,3 +1,7 @@
1
- export * from "./manifest.js";
1
+ /**
2
+ * The bundle package is not guaranteed to be backwards compatible or stable, and is used internally for Smithery CLI.
3
+ */
2
4
  export * from "./limits.js";
3
5
  export * from "./config.js";
6
+ export * from "./deploy-payload.js";
7
+ export * from "./server-card.js";
@@ -0,0 +1,108 @@
1
+ import { z } from "zod";
2
+ export declare const ServerCardSchema: z.ZodObject<{
3
+ serverInfo: z.ZodObject<{
4
+ version: z.ZodString;
5
+ websiteUrl: z.ZodOptional<z.ZodString>;
6
+ description: z.ZodOptional<z.ZodString>;
7
+ icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
8
+ src: z.ZodString;
9
+ mimeType: z.ZodOptional<z.ZodString>;
10
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
11
+ theme: z.ZodOptional<z.ZodEnum<{
12
+ light: "light";
13
+ dark: "dark";
14
+ }>>;
15
+ }, z.core.$strip>>>;
16
+ name: z.ZodString;
17
+ title: z.ZodOptional<z.ZodString>;
18
+ }, z.core.$strip>;
19
+ authentication: z.ZodOptional<z.ZodObject<{
20
+ required: z.ZodBoolean;
21
+ schemes: z.ZodArray<z.ZodString>;
22
+ }, z.core.$strip>>;
23
+ tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
24
+ description: z.ZodOptional<z.ZodString>;
25
+ inputSchema: z.ZodObject<{
26
+ type: z.ZodLiteral<"object">;
27
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodCustom<object, object>>>;
28
+ required: z.ZodOptional<z.ZodArray<z.ZodString>>;
29
+ }, z.core.$catchall<z.ZodUnknown>>;
30
+ outputSchema: z.ZodOptional<z.ZodObject<{
31
+ type: z.ZodLiteral<"object">;
32
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodCustom<object, object>>>;
33
+ required: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
+ }, z.core.$catchall<z.ZodUnknown>>>;
35
+ annotations: z.ZodOptional<z.ZodObject<{
36
+ title: z.ZodOptional<z.ZodString>;
37
+ readOnlyHint: z.ZodOptional<z.ZodBoolean>;
38
+ destructiveHint: z.ZodOptional<z.ZodBoolean>;
39
+ idempotentHint: z.ZodOptional<z.ZodBoolean>;
40
+ openWorldHint: z.ZodOptional<z.ZodBoolean>;
41
+ }, z.core.$strip>>;
42
+ execution: z.ZodOptional<z.ZodObject<{
43
+ taskSupport: z.ZodOptional<z.ZodEnum<{
44
+ optional: "optional";
45
+ required: "required";
46
+ forbidden: "forbidden";
47
+ }>>;
48
+ }, z.core.$strip>>;
49
+ _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
50
+ icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
51
+ src: z.ZodString;
52
+ mimeType: z.ZodOptional<z.ZodString>;
53
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
54
+ theme: z.ZodOptional<z.ZodEnum<{
55
+ light: "light";
56
+ dark: "dark";
57
+ }>>;
58
+ }, z.core.$strip>>>;
59
+ name: z.ZodString;
60
+ title: z.ZodOptional<z.ZodString>;
61
+ }, z.core.$strip>>>;
62
+ resources: z.ZodOptional<z.ZodArray<z.ZodObject<{
63
+ uri: z.ZodString;
64
+ description: z.ZodOptional<z.ZodString>;
65
+ mimeType: z.ZodOptional<z.ZodString>;
66
+ annotations: z.ZodOptional<z.ZodObject<{
67
+ audience: z.ZodOptional<z.ZodArray<z.ZodEnum<{
68
+ user: "user";
69
+ assistant: "assistant";
70
+ }>>>;
71
+ priority: z.ZodOptional<z.ZodNumber>;
72
+ lastModified: z.ZodOptional<z.ZodISODateTime>;
73
+ }, z.core.$strip>>;
74
+ _meta: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
75
+ icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
76
+ src: z.ZodString;
77
+ mimeType: z.ZodOptional<z.ZodString>;
78
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
79
+ theme: z.ZodOptional<z.ZodEnum<{
80
+ light: "light";
81
+ dark: "dark";
82
+ }>>;
83
+ }, z.core.$strip>>>;
84
+ name: z.ZodString;
85
+ title: z.ZodOptional<z.ZodString>;
86
+ }, z.core.$strip>>>;
87
+ prompts: z.ZodOptional<z.ZodArray<z.ZodObject<{
88
+ description: z.ZodOptional<z.ZodString>;
89
+ arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{
90
+ name: z.ZodString;
91
+ description: z.ZodOptional<z.ZodString>;
92
+ required: z.ZodOptional<z.ZodBoolean>;
93
+ }, z.core.$strip>>>;
94
+ _meta: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
95
+ icons: z.ZodOptional<z.ZodArray<z.ZodObject<{
96
+ src: z.ZodString;
97
+ mimeType: z.ZodOptional<z.ZodString>;
98
+ sizes: z.ZodOptional<z.ZodArray<z.ZodString>>;
99
+ theme: z.ZodOptional<z.ZodEnum<{
100
+ light: "light";
101
+ dark: "dark";
102
+ }>>;
103
+ }, z.core.$strip>>>;
104
+ name: z.ZodString;
105
+ title: z.ZodOptional<z.ZodString>;
106
+ }, z.core.$strip>>>;
107
+ }, z.core.$loose>;
108
+ export type ServerCard = z.infer<typeof ServerCardSchema>;
@@ -0,0 +1,16 @@
1
+ import { ImplementationSchema, PromptSchema, ResourceSchema, ToolSchema, } from "@modelcontextprotocol/sdk/types.js";
2
+ import { z } from "zod";
3
+ export const ServerCardSchema = z
4
+ .object({
5
+ serverInfo: ImplementationSchema,
6
+ authentication: z
7
+ .object({
8
+ required: z.boolean(),
9
+ schemes: z.array(z.string()),
10
+ })
11
+ .optional(),
12
+ tools: z.array(ToolSchema).optional(),
13
+ resources: z.array(ResourceSchema).optional(),
14
+ prompts: z.array(PromptSchema).optional(),
15
+ })
16
+ .passthrough();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithery/sdk",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "description": "SDK to develop with Smithery",
5
5
  "type": "module",
6
6
  "repository": {
@@ -1,23 +0,0 @@
1
- import { z } from "zod";
2
- export declare const BundleManifestSchema: z.ZodObject<{
3
- schemaVersion: z.ZodLiteral<"smithery.bundle.v1">;
4
- runtimeApiVersion: z.ZodLiteral<"smithery.isolate.v1">;
5
- entry: z.ZodObject<{
6
- type: z.ZodLiteral<"esm">;
7
- export: z.ZodDefault<z.ZodString>;
8
- }, z.core.$strip>;
9
- stateful: z.ZodOptional<z.ZodBoolean>;
10
- configSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
11
- capabilities: z.ZodOptional<z.ZodObject<{
12
- tools: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
13
- resources: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
14
- prompts: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
15
- }, z.core.$strip>>;
16
- build: z.ZodOptional<z.ZodObject<{
17
- repo: z.ZodOptional<z.ZodString>;
18
- commit: z.ZodOptional<z.ZodString>;
19
- branch: z.ZodOptional<z.ZodString>;
20
- builtAt: z.ZodOptional<z.ZodString>;
21
- }, z.core.$strip>>;
22
- }, z.core.$strip>;
23
- export type BundleManifest = z.infer<typeof BundleManifestSchema>;
@@ -1,26 +0,0 @@
1
- import { z } from "zod";
2
- export const BundleManifestSchema = z.object({
3
- schemaVersion: z.literal("smithery.bundle.v1"),
4
- runtimeApiVersion: z.literal("smithery.isolate.v1"),
5
- entry: z.object({
6
- type: z.literal("esm"),
7
- export: z.string().default("default"),
8
- }),
9
- stateful: z.boolean().optional(),
10
- configSchema: z.record(z.string(), z.unknown()).optional(),
11
- capabilities: z
12
- .object({
13
- tools: z.array(z.record(z.string(), z.unknown())).optional(),
14
- resources: z.array(z.record(z.string(), z.unknown())).optional(),
15
- prompts: z.array(z.record(z.string(), z.unknown())).optional(),
16
- })
17
- .optional(),
18
- build: z
19
- .object({
20
- repo: z.string().optional(),
21
- commit: z.string().optional(),
22
- branch: z.string().optional(),
23
- builtAt: z.string().optional(),
24
- })
25
- .optional(),
26
- });