diff --git a/src/cli.ts b/src/cli.ts index 5dc861c..809d6d4 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -3,7 +3,7 @@ export * from "./cli/init.js"; export * from "./cli/pack.js"; // Include all shared exports -export * from "./schemas/latest.js"; +export * from "./schemas/0.3.js"; export * from "./shared/config.js"; export * from "./shared/constants.js"; export * from "./types.js"; diff --git a/src/index.ts b/src/index.ts index 62ada47..114e50d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,7 +5,7 @@ export * from "./cli/unpack.js"; export * from "./node/files.js"; export * from "./node/sign.js"; export * from "./node/validate.js"; -export * from "./schemas/latest.js"; +export * from "./schemas/0.3.js"; export * from "./shared/config.js"; export * from "./shared/constants.js"; export * from "./types.js"; diff --git a/src/node.ts b/src/node.ts index 12a7edb..10aa2b5 100644 --- a/src/node.ts +++ b/src/node.ts @@ -4,7 +4,7 @@ export * from "./node/sign.js"; export * from "./node/validate.js"; // Include all shared exports -export * from "./schemas/latest.js"; +export * from "./schemas/0.3.js"; export * from "./shared/config.js"; export * from "./shared/constants.js"; export * from "./types.js"; diff --git a/src/schemas/index.ts b/src/schemas/index.ts index 70a8e32..897b95b 100644 --- a/src/schemas/index.ts +++ b/src/schemas/index.ts @@ -6,12 +6,6 @@ export * as v0_1 from "./0.1.js"; export * as v0_2 from "./0.2.js"; export * as v0_3 from "./0.3.js"; export * as vAny from "./any.js"; -export * as vLatest from "./latest.js"; -export { - MANIFEST_VERSION as LATEST_MANIFEST_VERSION, - McpbManifestSchema as LatestMcpbManifestSchema, - McpbManifestSchema, // backwards compatibility - exports latest schema -} from "./latest.js"; /** * Map of manifest versions to their strict schemas diff --git a/src/schemas/latest.ts b/src/schemas/latest.ts deleted file mode 100644 index e79a613..0000000 --- a/src/schemas/latest.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./0.3.js"; diff --git a/src/schemas_loose/index.ts b/src/schemas_loose/index.ts index 3548b1d..f84f84c 100644 --- a/src/schemas_loose/index.ts +++ b/src/schemas_loose/index.ts @@ -1,4 +1,3 @@ export * as v0_1 from "./0.1.js"; export * as v0_2 from "./0.2.js"; export * as v0_3 from "./0.3.js"; -export * as latest from "./latest.js"; diff --git a/src/schemas_loose/latest.ts b/src/schemas_loose/latest.ts deleted file mode 100644 index e79a613..0000000 --- a/src/schemas_loose/latest.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./0.3.js"; diff --git a/src/shared/constants.ts b/src/shared/constants.ts index 6d16f5d..b39e27c 100644 --- a/src/shared/constants.ts +++ b/src/shared/constants.ts @@ -1,17 +1,9 @@ import { McpbManifestSchema as ManifestSchemaV0_1 } from "../schemas/0.1.js"; import { McpbManifestSchema as ManifestSchemaV0_2 } from "../schemas/0.2.js"; import { McpbManifestSchema as ManifestSchemaV0_3 } from "../schemas/0.3.js"; -import { McpbManifestSchema as CurrentManifestSchema } from "../schemas/latest.js"; import { McpbManifestSchema as LooseManifestSchemaV0_1 } from "../schemas_loose/0.1.js"; import { McpbManifestSchema as LooseManifestSchemaV0_2 } from "../schemas_loose/0.2.js"; import { McpbManifestSchema as LooseManifestSchemaV0_3 } from "../schemas_loose/0.3.js"; -import { McpbManifestSchema as CurrentLooseManifestSchema } from "../schemas_loose/latest.js"; - -/** - * Latest manifest version - the version that new manifests should use - * @deprecated - */ -export const LATEST_MANIFEST_VERSION = "0.3" as const; /** * Default manifest version for new packages @@ -35,15 +27,3 @@ export const MANIFEST_SCHEMAS_LOOSE = { "0.2": LooseManifestSchemaV0_2, "0.3": LooseManifestSchemaV0_3, } as const; - -/** - * Get the latest manifest schema based on LATEST_MANIFEST_VERSION - * @deprecated - */ -export const LATEST_MANIFEST_SCHEMA = CurrentManifestSchema; - -/** - * Get the latest loose manifest schema based on LATEST_MANIFEST_VERSION - * @deprecated - */ -export const LATEST_MANIFEST_SCHEMA_LOOSE = CurrentLooseManifestSchema; diff --git a/src/types.ts b/src/types.ts index f8b7966..6ca81ff 100644 --- a/src/types.ts +++ b/src/types.ts @@ -8,14 +8,13 @@ import type { McpbManifestPlatformOverrideSchema, McpbManifestPromptSchema, McpbManifestRepositorySchema, - McpbManifestSchema, McpbManifestServerSchema, McpbManifestToolSchema, McpbSignatureInfoSchema, McpbUserConfigurationOptionSchema, McpbUserConfigValuesSchema, McpServerConfigSchema, -} from "./schemas/latest.js"; +} from "./schemas/0.3.js"; export type McpServerConfig = z.infer; @@ -47,22 +46,16 @@ export type McpbUserConfigurationOption = z.infer< export type McpbUserConfigValues = z.infer; -/** - * McpbManifest type for the latest manifest version only - * Use this when you specifically need the latest version. - */ -export type McpbManifestLatest = z.infer; - -/** - * Alias for McpbManifestLatest for backwards compatibility. - */ -export type McpbManifest = McpbManifestLatest; - /** * McpbManifest type representing the union of all manifest versions */ export type McpbManifestAny = z.infer; +/** + * @deprecated Use McpbManifestAny instead to support all manifest versions. + */ +export type McpbManifest = McpbManifestAny; + /** * Information about a MCPB package signature */ diff --git a/test/schemas.test.ts b/test/schemas.test.ts index 70f181f..6dab726 100644 --- a/test/schemas.test.ts +++ b/test/schemas.test.ts @@ -1,7 +1,7 @@ import { readFileSync } from "fs"; import { join } from "path"; -import { McpbManifestSchema, v0_2, v0_3 } from "../src/schemas/index.js"; +import { v0_2, v0_3 } from "../src/schemas/index.js"; describe("McpbManifestSchema", () => { it("should validate a valid manifest", () => { @@ -9,7 +9,7 @@ describe("McpbManifestSchema", () => { const manifestContent = readFileSync(manifestPath, "utf-8"); const manifestData = JSON.parse(manifestContent); - const result = McpbManifestSchema.safeParse(manifestData); + const result = v0_3.McpbManifestSchema.safeParse(manifestData); expect(result.success).toBe(true); if (result.success) { @@ -23,11 +23,11 @@ describe("McpbManifestSchema", () => { const manifestContent = readFileSync(manifestPath, "utf-8"); const manifestData = JSON.parse(manifestContent); - const result = McpbManifestSchema.safeParse(manifestData); + const result = v0_3.McpbManifestSchema.safeParse(manifestData); expect(result.success).toBe(false); if (!result.success) { - const errors = result.error.issues.map((issue) => issue.path.join(".")); + const errors = result.error.issues.map((issue: any) => issue.path.join(".")); expect(errors).toContain("author.name"); expect(errors).toContain("author.email"); expect(errors).toContain("server.type"); @@ -134,7 +134,7 @@ describe("McpbManifestSchema", () => { }, }; - const result = McpbManifestSchema.safeParse(fullManifest); + const result = v0_3.McpbManifestSchema.safeParse(fullManifest); expect(result.success).toBe(true); if (result.success) { @@ -167,7 +167,7 @@ describe("McpbManifestSchema", () => { }, }; - const result = McpbManifestSchema.safeParse(manifest); + const result = v0_3.McpbManifestSchema.safeParse(manifest); expect(result.success).toBe(true); }); }); @@ -270,10 +270,10 @@ describe("McpbManifestSchema", () => { default_locale: "en-US", }, }; - const result = McpbManifestSchema.safeParse(manifest); + const result = v0_3.McpbManifestSchema.safeParse(manifest); expect(result.success).toBe(false); if (!result.success) { - const messages = result.error.issues.map((issue) => issue.message); + const messages = result.error.issues.map((issue: any) => issue.message); expect(messages.join(" ")).toContain("${locale}"); } }); @@ -286,7 +286,7 @@ describe("McpbManifestSchema", () => { default_locale: "en_us", }, }; - const result = McpbManifestSchema.safeParse(manifest); + const result = v0_3.McpbManifestSchema.safeParse(manifest); expect(result.success).toBe(false); }); @@ -298,7 +298,7 @@ describe("McpbManifestSchema", () => { default_locale: "en-US", }, }; - const result = McpbManifestSchema.safeParse(manifest); + const result = v0_3.McpbManifestSchema.safeParse(manifest); expect(result.success).toBe(true); }); }); @@ -322,7 +322,7 @@ describe("McpbManifestSchema", () => { ...base, icons: [{ src: "assets/icon.png", size: "16", theme: "light" }], }; - const result = McpbManifestSchema.safeParse(manifest); + const result = v0_3.McpbManifestSchema.safeParse(manifest); expect(result.success).toBe(false); }); @@ -331,7 +331,7 @@ describe("McpbManifestSchema", () => { ...base, icons: [{ src: "assets/icon.png", size: "128x128" }], }; - const result = McpbManifestSchema.safeParse(manifest); + const result = v0_3.McpbManifestSchema.safeParse(manifest); expect(result.success).toBe(true); }); });