openvibers/openvibe.games Commits
openvibe-shared v4.108.0 (was v4.107.4) (#277)
Changes
@@@ -293,6 +293,6 @@ between services.<!-- versions:start -->- openvibe-contracts: v0.222.0- openvibe-sdk: v0.82.0--- openvibe-shared: v4.107.4++- openvibe-shared: v4.108.0- openvibe-publishing: v1.4.0<!-- versions:end -->@@@ -6,7 +6,7 @@"runtime": "node 22, TypeScript (tsx), pnpm workspace; Babylon.js (client) + deterministic Rapier physics; PostgreSQL 18 via openvibe-sdk/db (pg, or embedded PGlite in development); Valkey optional","port": 8000,"domain": "openvibe.games, play.openvibe.games",-- "contracts": "openvibe-contracts v0.222.0, openvibe-sdk v0.82.0, openvibe-shared v4.107.4, openvibe-publishing v1.4.0 (apps/server/package.json)",++ "contracts": "openvibe-contracts v0.222.0, openvibe-sdk v0.82.0, openvibe-shared v4.108.0, openvibe-publishing v1.4.0 (apps/server/package.json)","capabilities": ["games.mod.manage","games.mod.read",@@@ -24,7 +24,7 @@"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.222.0","openvibe-publishing": "https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.4.0","openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0",-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4",++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0","pg": "^8.23.0","quickjs-emscripten": "0.32.0","tsx": "^4.19.3",@@@ -162,9 +162,14 @@ describe('crawl artifacts (plan T11)', () => {expect(r.headers['content-type']).toBe('text/plain; charset=utf-8')expect(r.headers['cache-control']).toBe('public, max-age=3600')expect(r.body).toContain('# OpenVibe.Games')-- expect(r.body).toContain('- [OpenVibe.Games home](https://openvibe.games/)')++ // AGT-5: the site's own pages are linked at their Markdown twins; Scraplandia is another origin and keeps its URL.++ expect(r.body).toContain('- [OpenVibe.Games home](https://openvibe.games/index.md)')expect(r.body).toContain('- [Scraplandia](https://play.openvibe.games/)')-- expect(r.body).toContain('- [Vibe Heroes](https://openvibe.games/play/vibe-heroes)')++ expect(r.body).toContain('- [Vibe Heroes](https://openvibe.games/play/vibe-heroes.md)')++ // /steam and /updates have no twin: their URL stays, marked (HTML).++ expect(r.body).toContain('- [On Steam right now](https://openvibe.games/steam) (HTML)')++ expect(r.body).toContain('- [What shipped](https://openvibe.games/updates) (HTML)')++ expect(r.body).toContain('\n## Optional\n')expect(r.body).toContain('https://openvibe.games/sitemap.xml')expect(r.body).toContain('https://openvibe.games/robots.txt')expect(r.body).toContain('https://openvibe.games/map.json')@@@ -32,6 +32,11 @@ interface LlmsOptions {summary: stringdetails?: stringsections?: LlmsSection[]++ /** Link the site's own pages at their Markdown twins (openvibe-shared 4.108.0); `base` is the site's origin. */++ markdown?: boolean++ base?: string++ /** llmstxt.org's "## Optional": what an agent may skip for a shorter context. Written last. */++ optional?: LlmsSection['links']}interface SeoUrl {loc: string@@@ -129,6 +134,9 @@ const SITE_DETAILS =// or llms.txt either: sign-in, the per-user API, operational metrics and the noindex editor app.const DISALLOW = ['/auth/', '/api/', '/metrics', '/editor']++/** Public pages with no Markdown twin (served by another server, or not rendered as Markdown): linked as HTML. */++const TWINLESS = new Set([`${SITE}/steam`, `${SITE}/updates`])++/** "2026-09-29" or "2026-09-29T12:00:00Z" as YYYY-MM-DD; null when the value is unusable. */function dayOf(ts: unknown): string | null {const m = String(ts ?? '').match(/^(\d{4}-\d{2}-\d{2})/)@@@ -231,31 +239,25 @@ function publicPageDocs(): PublicPageDoc[] {function llmsBody(): string {return seo.llmsTxt({name: SITE_NAME,++ // AGT-5: each of Games' own pages is linked at its Markdown twin; `base` keeps Scraplandia (play.openvibe.games)++ // and other sites' links as they are. /steam and /updates have no twin, so they are linked as HTML.++ markdown: true,++ base: SITE,summary: SITE_SUMMARY,details: SITE_DETAILS,sections: [{title: 'Public pages',-- links: publicPageDocs().map((p) => ({ title: p.title, url: p.url, note: p.note })),++ links: publicPageDocs().map((p) => ({++ title: p.title,++ url: p.url,++ note: p.note,++ ...(TWINLESS.has(p.url) ? { html: true } : {}),++ })),},{title: 'Machine-readable',links: [-- {-- title: 'Sitemap',-- url: `${SITE}/sitemap.xml`,-- note: 'the public pages above, each with a real lastmod',-- },-- {-- title: 'robots.txt',-- url: `${SITE}/robots.txt`,-- note: 'search and AI crawlers are welcome on the public pages',-- },-- {-- title: 'Full text (llms-full.txt)',-- url: `${SITE}/llms-full.txt`,-- note: 'this site’s public pages as one text document, for a model to read whole',-- },{title: 'World map (JSON)',url: `${SITE}/map.json`,@@@ -264,6 +266,24 @@ function llmsBody(): string {],},],++ // llmstxt.org's "## Optional": what an agent may skip when it needs a shorter context.++ optional: [++ {++ title: 'Sitemap',++ url: `${SITE}/sitemap.xml`,++ note: 'the public pages above, each with a real lastmod',++ },++ {++ title: 'robots.txt',++ url: `${SITE}/robots.txt`,++ note: 'search and AI crawlers are welcome on the public pages',++ },++ {++ title: 'Full text (llms-full.txt)',++ url: `${SITE}/llms-full.txt`,++ note: 'this site’s public pages as one text document, for a model to read whole',++ },++ ],})}@@@ -128,13 +128,13 @@ importers:version: https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.222.0openvibe-publishing:specifier: https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.4.0-- version: https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.4.0(openvibe-sdk@https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected]))(openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4)++ version: https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.4.0(openvibe-sdk@https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected]))(openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0)openvibe-sdk:specifier: https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0version: https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected])openvibe-shared:-- specifier: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4-- version: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4++ specifier: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0++ version: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0pg:specifier: ^8.23.0version: 8.23.0@@@ -1449,9 +1449,9 @@ packages:pg:optional: true-- openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4:-- resolution: {tarball: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4}-- version: 4.107.4++ openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0:++ resolution: {tarball: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0}++ version: 4.108.0hasBin: true@@@ -2935,11 +2935,11 @@ snapshots:ajv: 8.20.0ajv-formats: 3.0.1([email protected])-- openvibe-publishing@https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.4.0(openvibe-sdk@https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected]))(openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4):++ openvibe-publishing@https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.4.0(openvibe-sdk@https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected]))(openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0):dependencies:openvibe-sdk: https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected])optionalDependencies:-- openvibe-shared: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4++ openvibe-shared: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0openvibe-sdk@https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected]):optionalDependencies:@@@ -2947,7 +2947,7 @@ snapshots:iovalkey: 0.4.0pg: 8.23.0-- openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4:++ openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0:dependencies:jsonwebtoken: 9.0.3linkedom: 0.18.14
@@ -293,6 +293,6 @@ between services.
@@ -293,6 +293,6 @@ between services.
<!-- versions:start -->
<!-- versions:start -->
- openvibe-contracts: v0.222.0
- openvibe-contracts: v0.222.0
- openvibe-sdk: v0.82.0
- openvibe-sdk: v0.82.0
-- openvibe-shared: v4.107.4
+- openvibe-shared: v4.108.0
- openvibe-publishing: v1.4.0
- openvibe-publishing: v1.4.0
<!-- versions:end -->
<!-- versions:end -->
@@ -6,7 +6,7 @@
@@ -6,7 +6,7 @@
"runtime": "node 22, TypeScript (tsx), pnpm workspace; Babylon.js (client) + deterministic Rapier physics; PostgreSQL 18 via openvibe-sdk/db (pg, or embedded PGlite in development); Valkey optional",
"runtime": "node 22, TypeScript (tsx), pnpm workspace; Babylon.js (client) + deterministic Rapier physics; PostgreSQL 18 via openvibe-sdk/db (pg, or embedded PGlite in development); Valkey optional",
"port": 8000,
"port": 8000,
"domain": "openvibe.games, play.openvibe.games",
"domain": "openvibe.games, play.openvibe.games",
- "contracts": "openvibe-contracts v0.222.0, openvibe-sdk v0.82.0, openvibe-shared v4.107.4, openvibe-publishing v1.4.0 (apps/server/package.json)",
+ "contracts": "openvibe-contracts v0.222.0, openvibe-sdk v0.82.0, openvibe-shared v4.108.0, openvibe-publishing v1.4.0 (apps/server/package.json)",
"capabilities": [
"capabilities": [
"games.mod.manage",
"games.mod.manage",
"games.mod.read",
"games.mod.read",
@@ -24,7 +24,7 @@
@@ -24,7 +24,7 @@
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.222.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.222.0",
"openvibe-publishing": "https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.4.0",
"openvibe-publishing": "https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.4.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0",
- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4",
+ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0",
"pg": "^8.23.0",
"pg": "^8.23.0",
"quickjs-emscripten": "0.32.0",
"quickjs-emscripten": "0.32.0",
"tsx": "^4.19.3",
"tsx": "^4.19.3",
@@ -162,9 +162,14 @@ describe('crawl artifacts (plan T11)', () => {
@@ -162,9 +162,14 @@ describe('crawl artifacts (plan T11)', () => {
expect(r.headers['content-type']).toBe('text/plain; charset=utf-8')
expect(r.headers['content-type']).toBe('text/plain; charset=utf-8')
expect(r.headers['cache-control']).toBe('public, max-age=3600')
expect(r.headers['cache-control']).toBe('public, max-age=3600')
expect(r.body).toContain('# OpenVibe.Games')
expect(r.body).toContain('# OpenVibe.Games')
- expect(r.body).toContain('- [OpenVibe.Games home](https://openvibe.games/)')
+ // AGT-5: the site's own pages are linked at their Markdown twins; Scraplandia is another origin and keeps its URL.
+ expect(r.body).toContain('- [OpenVibe.Games home](https://openvibe.games/index.md)')
expect(r.body).toContain('- [Scraplandia](https://play.openvibe.games/)')
expect(r.body).toContain('- [Scraplandia](https://play.openvibe.games/)')
- expect(r.body).toContain('- [Vibe Heroes](https://openvibe.games/play/vibe-heroes)')
+ expect(r.body).toContain('- [Vibe Heroes](https://openvibe.games/play/vibe-heroes.md)')
+ // /steam and /updates have no twin: their URL stays, marked (HTML).
+ expect(r.body).toContain('- [On Steam right now](https://openvibe.games/steam) (HTML)')
+ expect(r.body).toContain('- [What shipped](https://openvibe.games/updates) (HTML)')
+ expect(r.body).toContain('\n## Optional\n')
expect(r.body).toContain('https://openvibe.games/sitemap.xml')
expect(r.body).toContain('https://openvibe.games/sitemap.xml')
expect(r.body).toContain('https://openvibe.games/robots.txt')
expect(r.body).toContain('https://openvibe.games/robots.txt')
expect(r.body).toContain('https://openvibe.games/map.json')
expect(r.body).toContain('https://openvibe.games/map.json')
@@ -32,6 +32,11 @@ interface LlmsOptions {
@@ -32,6 +32,11 @@ interface LlmsOptions {
summary: string
summary: string
details?: string
details?: string
sections?: LlmsSection[]
sections?: LlmsSection[]
+ /** Link the site's own pages at their Markdown twins (openvibe-shared 4.108.0); `base` is the site's origin. */
+ markdown?: boolean
+ base?: string
+ /** llmstxt.org's "## Optional": what an agent may skip for a shorter context. Written last. */
+ optional?: LlmsSection['links']
}
}
interface SeoUrl {
interface SeoUrl {
loc: string
loc: string
@@ -129,6 +134,9 @@ const SITE_DETAILS =
@@ -129,6 +134,9 @@ const SITE_DETAILS =
// or llms.txt either: sign-in, the per-user API, operational metrics and the noindex editor app.
// or llms.txt either: sign-in, the per-user API, operational metrics and the noindex editor app.
const DISALLOW = ['/auth/', '/api/', '/metrics', '/editor']
const DISALLOW = ['/auth/', '/api/', '/metrics', '/editor']
+/** Public pages with no Markdown twin (served by another server, or not rendered as Markdown): linked as HTML. */
+const TWINLESS = new Set([`${SITE}/steam`, `${SITE}/updates`])
+
/** "2026-09-29" or "2026-09-29T12:00:00Z" as YYYY-MM-DD; null when the value is unusable. */
/** "2026-09-29" or "2026-09-29T12:00:00Z" as YYYY-MM-DD; null when the value is unusable. */
function dayOf(ts: unknown): string | null {
function dayOf(ts: unknown): string | null {
const m = String(ts ?? '').match(/^(\d{4}-\d{2}-\d{2})/)
const m = String(ts ?? '').match(/^(\d{4}-\d{2}-\d{2})/)
@@ -231,31 +239,25 @@ function publicPageDocs(): PublicPageDoc[] {
@@ -231,31 +239,25 @@ function publicPageDocs(): PublicPageDoc[] {
function llmsBody(): string {
function llmsBody(): string {
return seo.llmsTxt({
return seo.llmsTxt({
name: SITE_NAME,
name: SITE_NAME,
+ // AGT-5: each of Games' own pages is linked at its Markdown twin; `base` keeps Scraplandia (play.openvibe.games)
+ // and other sites' links as they are. /steam and /updates have no twin, so they are linked as HTML.
+ markdown: true,
+ base: SITE,
summary: SITE_SUMMARY,
summary: SITE_SUMMARY,
details: SITE_DETAILS,
details: SITE_DETAILS,
sections: [
sections: [
{
{
title: 'Public pages',
title: 'Public pages',
- links: publicPageDocs().map((p) => ({ title: p.title, url: p.url, note: p.note })),
+ links: publicPageDocs().map((p) => ({
+ title: p.title,
+ url: p.url,
+ note: p.note,
+ ...(TWINLESS.has(p.url) ? { html: true } : {}),
+ })),
},
},
{
{
title: 'Machine-readable',
title: 'Machine-readable',
links: [
links: [
- {
- title: 'Sitemap',
- url: `${SITE}/sitemap.xml`,
- note: 'the public pages above, each with a real lastmod',
- },
- {
- title: 'robots.txt',
- url: `${SITE}/robots.txt`,
- note: 'search and AI crawlers are welcome on the public pages',
- },
- {
- title: 'Full text (llms-full.txt)',
- url: `${SITE}/llms-full.txt`,
- note: 'this site’s public pages as one text document, for a model to read whole',
- },
{
{
title: 'World map (JSON)',
title: 'World map (JSON)',
url: `${SITE}/map.json`,
url: `${SITE}/map.json`,
@@ -264,6 +266,24 @@ function llmsBody(): string {
@@ -264,6 +266,24 @@ function llmsBody(): string {
],
],
},
},
],
],
+ // llmstxt.org's "## Optional": what an agent may skip when it needs a shorter context.
+ optional: [
+ {
+ title: 'Sitemap',
+ url: `${SITE}/sitemap.xml`,
+ note: 'the public pages above, each with a real lastmod',
+ },
+ {
+ title: 'robots.txt',
+ url: `${SITE}/robots.txt`,
+ note: 'search and AI crawlers are welcome on the public pages',
+ },
+ {
+ title: 'Full text (llms-full.txt)',
+ url: `${SITE}/llms-full.txt`,
+ note: 'this site’s public pages as one text document, for a model to read whole',
+ },
+ ],
})
})
}
}
@@ -128,13 +128,13 @@ importers:
@@ -128,13 +128,13 @@ importers:
version: https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.222.0
version: https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.222.0
openvibe-publishing:
openvibe-publishing:
specifier: https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.4.0
specifier: https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.4.0
- version: https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.4.0(openvibe-sdk@https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected]))(openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4)
+ version: https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.4.0(openvibe-sdk@https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected]))(openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0)
openvibe-sdk:
openvibe-sdk:
specifier: https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0
specifier: https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0
version: https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected])
version: https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected])
openvibe-shared:
openvibe-shared:
- specifier: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4
- version: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4
+ specifier: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0
+ version: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0
pg:
pg:
specifier: ^8.23.0
specifier: ^8.23.0
version: 8.23.0
version: 8.23.0
@@ -1449,9 +1449,9 @@ packages:
@@ -1449,9 +1449,9 @@ packages:
pg:
pg:
optional: true
optional: true
- openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4:
- resolution: {tarball: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4}
- version: 4.107.4
+ openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0:
+ resolution: {tarball: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0}
+ version: 4.108.0
hasBin: true
hasBin: true
@@ -2935,11 +2935,11 @@ snapshots:
@@ -2935,11 +2935,11 @@ snapshots:
ajv: 8.20.0
ajv: 8.20.0
ajv-formats: 3.0.1([email protected])
ajv-formats: 3.0.1([email protected])
- openvibe-publishing@https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.4.0(openvibe-sdk@https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected]))(openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4):
+ openvibe-publishing@https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.4.0(openvibe-sdk@https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected]))(openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0):
dependencies:
dependencies:
openvibe-sdk: https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected])
openvibe-sdk: https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected])
optionalDependencies:
optionalDependencies:
- openvibe-shared: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4
+ openvibe-shared: https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0
openvibe-sdk@https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected]):
openvibe-sdk@https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.82.0(@electric-sql/[email protected])([email protected])([email protected]):
optionalDependencies:
optionalDependencies:
@@ -2947,7 +2947,7 @@ snapshots:
@@ -2947,7 +2947,7 @@ snapshots:
iovalkey: 0.4.0
iovalkey: 0.4.0
pg: 8.23.0
pg: 8.23.0
- openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.107.4:
+ openvibe-shared@https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.108.0:
dependencies:
dependencies:
jsonwebtoken: 9.0.3
jsonwebtoken: 9.0.3
linkedom: 0.18.14
linkedom: 0.18.14