fix: 保持 Registry 客户端 Schema 信任摘要兼容 (#9)

This commit is contained in:
2026-09-22 00:56:56 +08:00
committed by GitHub
parent 7728203ed6
commit 33f3ae4a8a
13 changed files with 52 additions and 54 deletions

View File

@@ -0,0 +1,17 @@
import test from 'node:test'
import assert from 'node:assert/strict'
import { createHash } from 'node:crypto'
import { readFileSync } from 'node:fs'
import { findStaticMetrics } from './static-metadata.mjs'
test('metrics are rejected without interpreting examples or configuration parameters as analytics', () => {
assert.deepEqual(findStaticMetrics({ stars: 99, metrics: { downloads: 3 }, installStatus: 'installed' }), ['stars', 'metrics.downloads', 'installStatus'])
assert.deepEqual(findStaticMetrics({ description: 'downloads files', toolCount: 13, configSchema: { properties: { rating: { type: 'number' } } } }), [])
})
test('Registry 4.1 keeps the exact published client schema identity', () => {
const version = readFileSync(new URL('../../SCHEMA_VERSION', import.meta.url), 'utf8').trim()
assert.equal(version, '4.1.0')
const bytes = readFileSync(new URL('../../schemas/registry-entry.schema.json', import.meta.url))
assert.equal(createHash('sha256').update(bytes).digest('hex'), '767e103a66b4f8f722d1eb4d9073c218536e8f551ef43ac766dcd1be8f88fc62')
})