From 87de9d07a16632c8a811d6cdba10341c5386d771 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Feb 2026 16:51:00 +0000 Subject: [PATCH 1/2] Initial plan From f8435c0fed5f909e3f82fd74d3223cc79f37b57d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Feb 2026 16:54:26 +0000 Subject: [PATCH 2/2] Fix: Add required protocol and capabilities fields to metadata-loader tests Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- packages/spec/src/kernel/metadata-loader.test.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/spec/src/kernel/metadata-loader.test.ts b/packages/spec/src/kernel/metadata-loader.test.ts index bdacb0cb7..0c48b87da 100644 --- a/packages/spec/src/kernel/metadata-loader.test.ts +++ b/packages/spec/src/kernel/metadata-loader.test.ts @@ -332,11 +332,19 @@ describe('MetadataLoaderProtocol', () => { it('should validate loader contract', () => { const contract = { name: 'filesystem', + protocol: 'file', + capabilities: { + read: true, + write: true, + watch: false, + list: true, + }, supportedFormats: ['json', 'yaml', 'typescript'] as const, }; const validated = MetadataLoaderContractSchema.parse(contract); expect(validated.name).toBe('filesystem'); + expect(validated.protocol).toBe('file'); expect(validated.supportsWatch).toBe(false); // default expect(validated.supportsWrite).toBe(true); // default expect(validated.supportsCache).toBe(true); // default @@ -345,6 +353,13 @@ describe('MetadataLoaderProtocol', () => { it('should allow custom capabilities', () => { const contract = { name: 'http', + protocol: 'http', + capabilities: { + read: true, + write: false, + watch: false, + list: false, + }, supportedFormats: ['json'] as const, supportsWatch: false, supportsWrite: false, @@ -352,6 +367,7 @@ describe('MetadataLoaderProtocol', () => { }; const validated = MetadataLoaderContractSchema.parse(contract); + expect(validated.protocol).toBe('http'); expect(validated.supportsWrite).toBe(false); expect(validated.supportsCache).toBe(true); });