openvibers/openvibe.search Commits
openvibe-shared v4.13.0 (was v4.12.0) (#93)
Changes
@@@ -391,5 +391,5 @@ Part of the [OpenVibe network](https://openvibe.network). Built in the open by [<!-- versions:start -->- openvibe-contracts: v0.213.0- openvibe-sdk: v0.64.0--- openvibe-shared: v4.12.0++- openvibe-shared: v4.13.0<!-- versions:end -->@@@ -9,7 +9,7 @@"domain": "search.openvibe.network (vhost in deploy/nginx; the service manifest records the search page and query API as public since 2026-09-23)","contracts": "openvibe-contracts v0.213.0","sdk": "openvibe-sdk v0.64.0",-- "shared": "openvibe-shared v4.12.0",++ "shared": "openvibe-shared v4.13.0","capabilities": ["search.document.write","search.query.delegate",@@@ -40,5 +40,5 @@"openvibe-sdk/events outbox in service_outbox (legacy event_outbox retained for N-1 rollback)","per-actor limits (openvibe-sdk/limits)"],-- "updated": "2026-10-25"++ "updated": "2026-10-26"}@@@ -15,7 +15,7 @@"express": "^4.21.2","openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.213.0","openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.64.0",-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.12.0",++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.13.0","pg": "^8.23.0"},"devDependencies": {@@@ -794,9 +794,9 @@}},"node_modules/openvibe-shared": {-- "version": "4.12.0",-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.12.0",-- "integrity": "sha512-k0i63sCPfHtz1KF5MJSI+CGv5VwBf4ISRzxJRQdorkeMKOTtABlAQfiH1uf9kJsd5/Wn7VUTTHlhhOLSX6ZTzw==",++ "version": "4.13.0",++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.13.0",++ "integrity": "sha512-wvoTn4M1N/cQyO0LSQsuFkj8dIAO0o/wAaRaHsUICWtVQ5WsLXr2n4cwh0367yZBEtpa5yIWyF2Tg0fiOU50mw==","license": "MIT","dependencies": {"jsonwebtoken": "^9.0.0"@@@ -27,7 +27,7 @@"express": "^4.21.2","openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.213.0","openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.64.0",-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.12.0",++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.13.0","pg": "^8.23.0"},"engines": {@@@ -84,7 +84,7 @@ t('the front page is a search form, indexable, no-store, with a strict CSP', asy// (an ItemList of the sources the page links) and the questions it shows (FAQPage).const ld = [...r.text.matchAll(/<script type="application\/ld\+json">([\s\S]*?)<\/script>/g)].map((m) => JSON.parse(m[1]));// (and the WebPage of the AI summary).-- assert.deepStrictEqual(ld.map((o) => o['@type']), ['WebSite', 'WebApplication', 'ItemList', 'FAQPage', 'WebPage']);++ assert.deepStrictEqual(ld.map((o) => o['@type']), ['WebSite', 'WebApplication', 'ItemList', 'FAQPage', 'Organization', 'WebPage']); // Organization: Shared 4.13 headTagsassert.strictEqual(ld[0].potentialAction.target.urlTemplate.endsWith('/?q={search_term_string}'), true);assert.ok(ld[0].url.endsWith('/') && ld[1].url.endsWith('/'));assert.ok(r.text.includes('<div id="navbar-mount"></div>') && r.text.includes('id="ov-footer"'), 'the OpenVibe Frame');
@@ -391,5 +391,5 @@ Part of the [OpenVibe network](https://openvibe.network). Built in the open by [
@@ -391,5 +391,5 @@ Part of the [OpenVibe network](https://openvibe.network). Built in the open by [
<!-- versions:start -->
<!-- versions:start -->
- openvibe-contracts: v0.213.0
- openvibe-contracts: v0.213.0
- openvibe-sdk: v0.64.0
- openvibe-sdk: v0.64.0
-- openvibe-shared: v4.12.0
+- openvibe-shared: v4.13.0
<!-- versions:end -->
<!-- versions:end -->
@@ -9,7 +9,7 @@
@@ -9,7 +9,7 @@
"domain": "search.openvibe.network (vhost in deploy/nginx; the service manifest records the search page and query API as public since 2026-09-23)",
"domain": "search.openvibe.network (vhost in deploy/nginx; the service manifest records the search page and query API as public since 2026-09-23)",
"contracts": "openvibe-contracts v0.213.0",
"contracts": "openvibe-contracts v0.213.0",
"sdk": "openvibe-sdk v0.64.0",
"sdk": "openvibe-sdk v0.64.0",
- "shared": "openvibe-shared v4.12.0",
+ "shared": "openvibe-shared v4.13.0",
"capabilities": [
"capabilities": [
"search.document.write",
"search.document.write",
"search.query.delegate",
"search.query.delegate",
@@ -40,5 +40,5 @@
@@ -40,5 +40,5 @@
"openvibe-sdk/events outbox in service_outbox (legacy event_outbox retained for N-1 rollback)",
"openvibe-sdk/events outbox in service_outbox (legacy event_outbox retained for N-1 rollback)",
"per-actor limits (openvibe-sdk/limits)"
"per-actor limits (openvibe-sdk/limits)"
],
],
- "updated": "2026-10-25"
+ "updated": "2026-10-26"
}
}
@@ -15,7 +15,7 @@
@@ -15,7 +15,7 @@
"express": "^4.21.2",
"express": "^4.21.2",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.213.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.213.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.64.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.64.0",
- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.12.0",
+ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.13.0",
"pg": "^8.23.0"
"pg": "^8.23.0"
},
},
"devDependencies": {
"devDependencies": {
@@ -794,9 +794,9 @@
@@ -794,9 +794,9 @@
}
}
},
},
"node_modules/openvibe-shared": {
"node_modules/openvibe-shared": {
- "version": "4.12.0",
- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.12.0",
- "integrity": "sha512-k0i63sCPfHtz1KF5MJSI+CGv5VwBf4ISRzxJRQdorkeMKOTtABlAQfiH1uf9kJsd5/Wn7VUTTHlhhOLSX6ZTzw==",
+ "version": "4.13.0",
+ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.13.0",
+ "integrity": "sha512-wvoTn4M1N/cQyO0LSQsuFkj8dIAO0o/wAaRaHsUICWtVQ5WsLXr2n4cwh0367yZBEtpa5yIWyF2Tg0fiOU50mw==",
"license": "MIT",
"license": "MIT",
"dependencies": {
"dependencies": {
"jsonwebtoken": "^9.0.0"
"jsonwebtoken": "^9.0.0"
@@ -27,7 +27,7 @@
@@ -27,7 +27,7 @@
"express": "^4.21.2",
"express": "^4.21.2",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.213.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.213.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.64.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.64.0",
- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.12.0",
+ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.13.0",
"pg": "^8.23.0"
"pg": "^8.23.0"
},
},
"engines": {
"engines": {
@@ -84,7 +84,7 @@ t('the front page is a search form, indexable, no-store, with a strict CSP', asy
@@ -84,7 +84,7 @@ t('the front page is a search form, indexable, no-store, with a strict CSP', asy
// (an ItemList of the sources the page links) and the questions it shows (FAQPage).
// (an ItemList of the sources the page links) and the questions it shows (FAQPage).
const ld = [...r.text.matchAll(/<script type="application\/ld\+json">([\s\S]*?)<\/script>/g)].map((m) => JSON.parse(m[1]));
const ld = [...r.text.matchAll(/<script type="application\/ld\+json">([\s\S]*?)<\/script>/g)].map((m) => JSON.parse(m[1]));
// (and the WebPage of the AI summary).
// (and the WebPage of the AI summary).
- assert.deepStrictEqual(ld.map((o) => o['@type']), ['WebSite', 'WebApplication', 'ItemList', 'FAQPage', 'WebPage']);
+ assert.deepStrictEqual(ld.map((o) => o['@type']), ['WebSite', 'WebApplication', 'ItemList', 'FAQPage', 'Organization', 'WebPage']); // Organization: Shared 4.13 headTags
assert.strictEqual(ld[0].potentialAction.target.urlTemplate.endsWith('/?q={search_term_string}'), true);
assert.strictEqual(ld[0].potentialAction.target.urlTemplate.endsWith('/?q={search_term_string}'), true);
assert.ok(ld[0].url.endsWith('/') && ld[1].url.endsWith('/'));
assert.ok(ld[0].url.endsWith('/') && ld[1].url.endsWith('/'));
assert.ok(r.text.includes('<div id="navbar-mount"></div>') && r.text.includes('id="ov-footer"'), 'the OpenVibe Frame');
assert.ok(r.text.includes('<div id="navbar-mount"></div>') && r.text.includes('id="ov-footer"'), 'the OpenVibe Frame');