openvibers/openvibe.design Commits

openvibe-shared v4.167.0 (was v4.163.0) (#211)

OP OpenVibers committed 4 days ago · da9cff2a96 · 5 files, +10 −8

* openvibe-shared v4.167.0 (was v4.163.0)

Opened by scripts/pin-bump.js in OpenVibers/OpenVibe.Shared after the v4.167.0 release.

* /kit: the page head part (kit.pageHead)

Changes

ddiff --git a/README.md b/README.md
iindex 26794ec..333d8b9 100644
---- a/README.md
++++ b/README.md
@@@ -231,6 +231,6 @@ Part of the [OpenVibe network](https://openvibe.network). Built in the open by
<!-- versions:start -->
- openvibe-contracts: v0.338.0
- openvibe-sdk: v0.94.0
--- openvibe-shared: v4.163.0
++- openvibe-shared: v4.167.0
- openvibe-publishing: v1.5.0
<!-- versions:end -->
ddiff --git a/STATUS.json b/STATUS.json
iindex 6ee2c28..820f846 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -10,12 +10,12 @@
"domain": "openvibe.design",
"contracts": "openvibe-contracts v0.338.0",
"sdk": "openvibe-sdk v0.94.0",
-- "shared": "openvibe-shared v4.163.0",
++ "shared": "openvibe-shared v4.167.0",
"packages": [
"openvibe-contracts v0.338.0",
"openvibe-publishing v1.5.0",
"openvibe-sdk v0.94.0",
-- "openvibe-shared v4.163.0"
++ "openvibe-shared v4.167.0"
],
"summary": "The service skeleton for openvibe.design: Network sign-in as OAuth client `design` (PKCE S256, httpOnly design_at/design_rt cookies) and a theme API proxy to OpenVibe.Network's /api/themes. The proxy serves the public catalogue (cached 5 minutes), one theme, the person's active theme and custom variables, saving a theme with source 'studio', its history and a restore by id, and a submission to the gallery. Writes need this site's own Origin; Network 4xx answers pass through and a Network failure is 502. The studio is designed: a gallery, previews on a Live channel, a Chat room and a shop's grid (with colour-vision views), a six-colour editor that derives the full token set, WCAG checks that gate Use, sharing to the gallery, and History with Restore. The Arena queues one prompt for three models through OpenVibe.AI (client credentials, ai.run.create), stores sanitized HTML with reported model/provider/cost/time/tokens, renders it only in sandboxed CSP-capped iframes, draws blind pairs, records one vote per person per round, and keeps Elo ratings per category plus median cost and time. The prompts, outputs and votes are an open JSONL dataset; rounds and votes follow ADR-033 export and deletion.",
"works": [
ddiff --git a/package-lock.json b/package-lock.json
iindex 48fe8a5..62aec08 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -19,7 +19,7 @@
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.338.0",
"openvibe-publishing": "https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.5.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.94.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.163.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.167.0",
"pg": "^8.23.1",
"subset-font": "^2.9.0",
"wawoff2": "^2.0.1"
@@@ -1395,9 +1395,9 @@
}
},
"node_modules/openvibe-shared": {
-- "version": "4.163.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.163.0",
-- "integrity": "sha512-sQlvffOpQRrKS73GkptsSWebSQO5q2SFgUGolGFxH7Ix5NCTarPaD1VUAX6Qeru/mZaW99v+Nuu89rJ+rVaWfw==",
++ "version": "4.167.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.167.0",
++ "integrity": "sha512-l+/M6WujvT7bNv2XwVrbgyIeDlAt5o/AAnJepdNUWn+Lb/Gm+UaOwfVCOtgmBUumDFMFQo3jp6y2RckfL5VMeQ==",
"license": "MIT",
"dependencies": {
"jsonwebtoken": "^9.0.0",
ddiff --git a/package.json b/package.json
iindex 44419b3..3f4065b 100644
---- a/package.json
++++ b/package.json
@@@ -25,7 +25,7 @@
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.338.0",
"openvibe-publishing": "https://codeload.github.com/OpenVibers/OpenVibe.Publishing/tar.gz/refs/tags/v1.5.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.94.0",
-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.163.0",
++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.167.0",
"pg": "^8.23.1",
"subset-font": "^2.9.0",
"wawoff2": "^2.0.1"
ddiff --git a/server/kit/parts.js b/server/kit/parts.js
iindex 860f06f..6a1ed1c 100644
---- a/server/kit/parts.js
++++ b/server/kit/parts.js
@@@ -67,6 +67,8 @@ const PARTS = [
code: `kit.list([kit.row({ href: '/r/night-owls', mark: kit.mark({ name: 'Night owls' }), title: 'Night owls', sub: 'ana: anyone up for the surf race?', meta: '14:05', unread: 2 }), kit.row({ href: '/r/robots', mark: kit.mark({ name: 'Robot arms' }), title: 'Robot arms', sub: 'kai sent a clip', meta: 'Yesterday' })], { title: 'Your rooms', more: { href: '/rooms', label: 'All' } })` },
{ id: 'row', fn: 'row', group: 'layout', name: 'Row', line: 'A mark, the title with a badge and the time on one line, one muted line under it. The whole row is the link.',
code: `kit.list([kit.row({ href: '/@goosely', mark: kit.mark({ name: 'goosely' }), title: 'goosely', badge: kit.badge('live', 'live'), meta: '2 h', sub: 'Seattle at night, chat picks the route' })])` },
++ { id: 'page-head', fn: 'pageHead', group: 'layout', name: 'Page head', line: 'The top of a page: the way back, the page\'s icon and title, its actions, and one line saying what it is for.',
++ code: `kit.pageHead({ back: { href: '/kit', label: 'Rooms' }, icon: 'chat', title: 'Night owls', lede: 'A room for people who stream after midnight.', actions: [{ icon: 'share', label: 'Share' }, { icon: 'more', label: 'More' }] })` },
{ id: 'section', fn: 'section', group: 'layout', name: 'Section', line: 'A titled block of a page, with its count and one quiet note.',
code: `kit.section({ title: 'Members', count: 12, note: 'Who can do what', body: kit.list([kit.row({ mark: kit.mark({ name: 'Ana Lima' }), title: 'Ana Lima', sub: 'Owner' })], { flush: true }) })` },
{ id: 'fold', fn: 'fold', group: 'layout', name: 'Fold', line: 'A card that opens: setup, extras, the danger zone. It says what is inside and how much.',