feat(registry): 插件与应用关系契约4.2 / plugin and application contract (#10)

* feat(registry): 增加插件贡献与应用依赖的4.2契约

* fix(registry): preserve legacy App manifests for published clients

---------

Co-authored-by: yi-ge <6657330+yi-ge@users.noreply.github.com>
This commit is contained in:
2026-10-07 19:08:18 -07:00
committed by GitHub
parent 33f3ae4a8a
commit 3828aa6800
34 changed files with 3683 additions and 285 deletions

View File

@@ -9,9 +9,9 @@ test('metrics are rejected without interpreting examples or configuration parame
assert.deepEqual(findStaticMetrics({ description: 'downloads files', toolCount: 13, configSchema: { properties: { rating: { type: 'number' } } } }), [])
})
test('Registry 4.1 keeps the exact published client schema identity', () => {
test('Registry 4.2 keeps the exact reviewed client schema identity', () => {
const version = readFileSync(new URL('../../SCHEMA_VERSION', import.meta.url), 'utf8').trim()
assert.equal(version, '4.1.0')
assert.equal(version, '4.2.0')
const bytes = readFileSync(new URL('../../schemas/registry-entry.schema.json', import.meta.url))
assert.equal(createHash('sha256').update(bytes).digest('hex'), '767e103a66b4f8f722d1eb4d9073c218536e8f551ef43ac766dcd1be8f88fc62')
assert.equal(createHash('sha256').update(bytes).digest('hex'), 'ea63d6305ae17994e595aea009a131c41300d2b7fdb07ec83cc2c19c37b32038')
})