openvibers/openvibe.exchange Commits

Pin released model directory contracts (#210)

OP OpenVibers committed 2 days ago · a4e9685635 · 3 files, +12 −5

Changes

ddiff --git a/package-lock.json b/package-lock.json
iindex b06bd99..b4a3f7b 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -16,7 +16,7 @@
"helmet": "^8.1.0",
"iovalkey": "^0.4.0",
"multer": "^2.5.0",
-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.403.0",
++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.406.0",
"openvibe-publishing": "https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.7.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.147.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.206.0",
@@@ -1268,9 +1268,9 @@
}
},
"node_modules/openvibe-contracts": {
-- "version": "0.403.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.403.0",
-- "integrity": "sha512-1dek3RyBl+nho5nbm1YVqjVdHzhbIsS8kpz1HfHlbahvdOLpvHe8bl9zs73U4iKE6sspSjXy2c3HwW52pDVUAQ==",
++ "version": "0.406.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.406.0",
++ "integrity": "sha512-V/Tjss2UWvzI551bw3ACb/RqWg0lChxGITxfCVZ8qou2Docg0pBMvIjkeQoib56yq3r6UZGB6DGl+pA+qfjOiA==",
"license": "AGPL-3.0-only",
"dependencies": {
"ajv": "^8.17.1",
ddiff --git a/package.json b/package.json
iindex bf8d9c3..a3600df 100644
---- a/package.json
++++ b/package.json
@@@ -25,7 +25,7 @@
"helmet": "^8.1.0",
"iovalkey": "^0.4.0",
"multer": "^2.5.0",
-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.403.0",
++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.406.0",
"openvibe-publishing": "https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.7.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.147.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.206.0",
ddiff --git a/test/pages.test.js b/test/pages.test.js
iindex 9e86fcd..fafe95d 100644
---- a/test/pages.test.js
++++ b/test/pages.test.js
@@@ -7,6 +7,7 @@
const assert = require('assert');
const { boot, check, done } = require('./helpers/boot');
const { createFakeAi, downAi } = require('./helpers/ai');
++const contracts = require('openvibe-contracts');
(async () => {
const ai = createFakeAi();
@@@ -60,11 +61,17 @@ const { createFakeAi, downAi } = require('./helpers/ai');
assert.ok(twin.text.includes('Gemini Old'));
});
await check('public directory JSON and model structured data match the catalog', async () => {
++ const all = await t.get('/api/v1/models');
++ assert.strictEqual(all.status, 200, all.text);
++ const directory = contracts.validate('ai.model-directory-list@1', all.json());
++ assert.strictEqual(directory.valid, true, JSON.stringify(directory.errors));
const list = await t.get('/api/v1/models?q=deepseek');
assert.strictEqual(list.status, 200, list.text);
assert.ok(list.json().models.some(m => m.slug === 'deepseek/deepseek-chat'));
const one = await t.get('/api/v1/models/deepseek/deepseek-chat');
assert.strictEqual(one.status, 200, one.text);
++ const entry = contracts.validate('ai.model-directory-entry@1', one.json().model);
++ assert.strictEqual(entry.valid, true, JSON.stringify(entry.errors));
assert.strictEqual(one.json().model.slug, 'deepseek/deepseek-chat');
assert.strictEqual((await t.get('/api/v1/models/deepseek%2Fdeepseek-chat')).json().model.slug, 'deepseek/deepseek-chat');
const liveOnly = await t.get('/api/v1/models/meta-llama/llama-3-8b-abliterated');