@lovinka/vitrinka 1.6.0 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/lib/token.js CHANGED
@@ -23,21 +23,19 @@ export function tokenSource() {
23
23
  return 'env';
24
24
  return existsSync(tokenPath()) ? 'file' : 'missing';
25
25
  }
26
- // tokenHelp is THE explanation of where a write token comes from. There is no
27
- // self-serve mint: the token is the server's VITRINKA_TOKEN — one shared secret
28
- // set by whoever deploys the server. Printed by `vitrinka doctor` and
29
- // the `vitrinka install` onboarding.
26
+ // tokenHelp is THE explanation of where a write token comes from. Printed by
27
+ // `vitrinka doctor` and the `vitrinka install` onboarding.
30
28
  export function tokenHelp() {
31
29
  return [
32
- 'The write token is the SERVER\'s VITRINKA_TOKEN one shared secret, set by',
33
- 'whoever deploys the server. There is no per-user mint.',
30
+ 'Multitenant server (vitrinka.lovinka.com): run `vitrinka login`the browser',
31
+ 'approval mints YOUR personal, workspace-scoped token and saves it here.',
32
+ 'Workspace admins mint service/agent tokens for CI + bots in /settings.',
33
+ '',
34
+ 'Single-tenant / mesh install: the write token is the SERVER\'s VITRINKA_TOKEN —',
35
+ 'one shared secret, set by whoever deploys the server.',
34
36
  '',
35
37
  ' get it: copy ~/.config/vitrinka/token from an already-configured machine,',
36
- ' or ask the server admin. For vitrinka.lovinka.com it is the',
37
- ' VITRINKA_TOKEN secret on the deployik app "vitrinka".',
38
- ' rotate: openssl rand -hex 24 → set it as the server\'s VITRINKA_TOKEN',
39
- ' (deployik app "vitrinka" → secrets) + redeploy, then save the',
40
- ' same value locally.',
38
+ ' or ask the server admin.',
41
39
  ` save it: printf '%s\\n' "<token>" > ${tokenPath()} && chmod 600 ${tokenPath()}`,
42
40
  ' (or export VITRINKA_TOKEN)',
43
41
  ].join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/lib/token.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAC9E,0DAA0D;AAE1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACzE,MAAM,CAAC,GAAG,SAAS,EAAE,CAAC;IACtB,IAAI,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,4EAA4E;AAC5E,wDAAwD;AACxD,MAAM,UAAU,WAAW;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IAC7C,OAAO,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,8EAA8E;AAC9E,gFAAgF;AAChF,sEAAsE;AACtE,qCAAqC;AACrC,MAAM,UAAU,SAAS;IACvB,OAAO;QACL,6EAA6E;QAC7E,wDAAwD;QACxD,EAAE;QACF,+EAA+E;QAC/E,yEAAyE;QACzE,mEAAmE;QACnE,4EAA4E;QAC5E,2EAA2E;QAC3E,iCAAiC;QACjC,0CAA0C,SAAS,EAAE,iBAAiB,SAAS,EAAE,EAAE;QACnF,wCAAwC;KACzC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/lib/token.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAC9E,0DAA0D;AAE1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACzE,MAAM,CAAC,GAAG,SAAS,EAAE,CAAC;IACtB,IAAI,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,4EAA4E;AAC5E,wDAAwD;AACxD,MAAM,UAAU,WAAW;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IAC7C,OAAO,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,6EAA6E;AAC7E,2DAA2D;AAC3D,MAAM,UAAU,SAAS;IACvB,OAAO;QACL,gFAAgF;QAChF,yEAAyE;QACzE,wEAAwE;QACxE,EAAE;QACF,iFAAiF;QACjF,uDAAuD;QACvD,EAAE;QACF,+EAA+E;QAC/E,sCAAsC;QACtC,0CAA0C,SAAS,EAAE,iBAAiB,SAAS,EAAE,EAAE;QACnF,wCAAwC;KACzC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
package/dist/mcp.js CHANGED
@@ -148,7 +148,7 @@ const TOOLS = {
148
148
  },
149
149
  },
150
150
  rename_set: {
151
- description: 'Set (or change) the custom URL-addressable name of a set — e.g. name fixit/main v2 "payout-flow" so https://…/fixit/main/payout-flow resolves. Pass an empty name to clear it. Requires VITRINKA_TOKEN.',
151
+ description: 'Set (or change) the custom URL-addressable name of a set — e.g. name fixit/main v2 "payout-flow" so https://…/w/<ws>/fixit/main/payout-flow resolves. Pass an empty name to clear it. Requires VITRINKA_TOKEN.',
152
152
  inputSchema: {
153
153
  type: 'object',
154
154
  properties: {
@@ -229,13 +229,69 @@ const TOOLS = {
229
229
  // reply → set_status in_review. Only the USER resolves (accept in the
230
230
  // board UI); never set status "resolved" yourself.
231
231
  list_boards: {
232
- description: 'List the annotation boards (Freeform-style canvases over screenshot sets). Each has a slug, title, owning project and URL. Optionally filter to one project.',
232
+ description: 'List the annotation boards (Freeform-style canvases over screenshot sets). Each has a slug, title, owning project, subgroup, meta and URL. Optionally filter to one project and/or one subgroup.',
233
233
  inputSchema: {
234
234
  type: 'object',
235
- properties: { project: { type: 'string', description: 'Only boards of this project (e.g. "fixit"); omit for all' } },
235
+ properties: {
236
+ project: { type: 'string', description: 'Only boards of this project (e.g. "fixit"); omit for all' },
237
+ subgroup: { type: 'string', description: 'Only boards carrying this sidebar subgroup tag; omit for all' },
238
+ },
236
239
  additionalProperties: false,
237
240
  },
238
- handler: (a) => api('GET', `/api/v1/boards${a.project ? `?project=${seg(a.project)}` : ''}`),
241
+ handler: (a) => {
242
+ const q = new URLSearchParams();
243
+ if (a.project)
244
+ q.set('project', String(a.project));
245
+ if (a.subgroup)
246
+ q.set('subgroup', String(a.subgroup));
247
+ const qs = q.toString();
248
+ return api('GET', `/api/v1/boards${qs ? `?${qs}` : ''}`);
249
+ },
250
+ },
251
+ create_board: {
252
+ description: 'Create a new board and return its slug, URL and metadata. board_type defaults to "board" (the annotation canvas); pass "brainstorm" or a custom token for other sub-types. Optionally stamp an owning project, a sidebar subgroup tag, and an initial meta JSON bag ({commitSha, tracedAt, parentBoard, driftedBy} for journey/run boards). Board writes are mesh-open — no token required.',
253
+ inputSchema: {
254
+ type: 'object',
255
+ properties: {
256
+ slug: { type: 'string', description: 'URL slug: [a-z0-9][a-z0-9._-]{0,63}, and not "library" (reserved)' },
257
+ title: { type: 'string', description: 'Human title (≤200 chars); omit to leave blank' },
258
+ board_type: { type: 'string', description: 'Sub-type token [a-z0-9][a-z0-9_-]{0,31}; default "board"' },
259
+ project: { type: 'string', description: 'Owning project, e.g. "fixit"' },
260
+ subgroup: { type: 'string', description: 'Sidebar grouping tag folding this board one level deeper under its project' },
261
+ meta: { type: 'object', description: 'Initial metadata bag (JSON object), e.g. {parentBoard:"fixit-manage-company-journeys"} for a run child board' },
262
+ },
263
+ required: ['slug'],
264
+ additionalProperties: false,
265
+ },
266
+ handler: (a) => api('POST', '/api/v1/boards', {
267
+ slug: String(a.slug),
268
+ ...(a.title !== undefined ? { title: String(a.title) } : {}),
269
+ ...(a.board_type !== undefined ? { board_type: String(a.board_type) } : {}),
270
+ ...(a.project !== undefined ? { project: String(a.project) } : {}),
271
+ ...(a.subgroup !== undefined ? { subgroup: String(a.subgroup) } : {}),
272
+ ...(a.meta !== undefined ? { meta: a.meta } : {}),
273
+ }),
274
+ },
275
+ set_board_meta: {
276
+ description: 'Update a board\'s sidebar subgroup and/or its meta JSON bag. meta is a MERGE-PATCH: the top-level keys you pass are shallow-merged into the existing bag (untouched keys are preserved), so stamp {commitSha, tracedAt}, {parentBoard} or {driftedBy} incrementally without re-sending the whole bag. Board writes are mesh-open — no token required.',
277
+ inputSchema: {
278
+ type: 'object',
279
+ properties: {
280
+ slug: { type: 'string', description: 'Board slug (from list_boards)' },
281
+ subgroup: { type: 'string', description: 'New sidebar grouping tag; "" clears it; omit to leave unchanged' },
282
+ meta: { type: 'object', description: 'Meta keys to shallow-merge into the existing bag (JSON object)' },
283
+ },
284
+ required: ['slug'],
285
+ additionalProperties: false,
286
+ },
287
+ handler: (a) => {
288
+ const patch = {};
289
+ if (a.subgroup !== undefined)
290
+ patch.subgroup = String(a.subgroup);
291
+ if (a.meta !== undefined)
292
+ patch.meta = a.meta;
293
+ return api('PATCH', `/api/v1/boards/${seg(a.slug)}`, patch);
294
+ },
239
295
  },
240
296
  ask_board: {
241
297
  description: 'Ask the operator a first-class multiple-choice question on a board — rendered as one-click pills, optionally anchored to a card. The answer is STAGED on the board until the operator presses "Send to Claude", then returns on the work wire as a {type:"choice"} item (wait_for_work) — so answers may arrive in a batch, not per click. You can also poll GET /api/v1/boards/{slug}/questions to see staged/answered state without holding the wire. This is how you let the user "pick B" in one click instead of prose. An "Other / Něco jiného" free-text escape is always added by the engine, so pass only the real options — never hard-block off-vocabulary answers. Stamps the operator as X-Board-Actor.',
@@ -291,13 +347,13 @@ const TOOLS = {
291
347
  params: { type: 'object', description: 'Template {{slot}} substitutions, e.g. {version: "2.4"}; unfilled slots render literally' },
292
348
  cards: {
293
349
  type: 'array',
294
- description: 'Up to 60 cards. kind "text": payload {md, role: idea|note|pro|con|risk|heading|caption} — markdown (#/##/### **bold** `code` - lists). kind "note": payload {text}. kind "shape": payload {shape: rect|ellipse, color}. kind "viz": payload {viz, data, title?} — data-only visualizations: table {cols,rows}, matrix {x:[lo,hi],y:[lo,hi],points:[{label,x,y}] with x/y in 0..1}, flow {steps:[label]}, bars {items:[{label,value}]}, timeline {items:[{label,when}]}, line {series:[{label,points:[numbers]}], x?:[labels]} a chart, stat {items:[{label,value,delta?,unit?}]} — KPI stat boxes. kind "cluster": payload {title} — a frame; list member refs in "children" and they are laid out inside it. kind "section": payload {title} — a NAMED JOURNEY FRAME ("Onboarding", "Checkout"): always visible (not on the ✦ eve layer), auto-indexed (pill navigation + scrape sections[]), membership is spatial — cards inside it belong to it; "children" lays the listed refs out inside. Also use a section to present the NEXT ITERATION of a journey ("Checkout — iteration 2") as its own frame beside the original — never mix a new take into the old section. UI CORE ELEMENTS (data-only, ~100-300 tokens each): kind "step" {n?, title, note?, status: todo|pass|fail, cardId?} — a numbered journey step; cardId references an EXISTING shot card for a live thumbnail (never re-upload a screen you can reference). kind "callout" {tone: info|warn|success|decision, md}. kind "checklist" {title?, items:[{text, done?}]} — interactive, users tick items live (state persists on the card). kind "compare" {a:{cardId}, b:{cardId}, mode: wipe|ghost} — two existing cards\' faces behind a wipe/ghost slider (iteration pixel-diff). Kanban: a cluster with payload {title, role:"kanban"} renders as a status column. Any card may carry payload.lane (e.g. "iphone") — the arrange/auto-layout \'lanes\' mode groups rows by it. kind "wireframe" {title?, device: phone|tablet|web, fidelity?: lo|tokens, nodes:[{t, label?, …}]} — a ~100-250-token LO-FI UI MOCKUP (the cheap alternative to an HTML artifact; use it to SKETCH proposed screens): nodes render top-to-bottom inside a device frame; t: nav {label}, tabbar {label: "home · search · profile"}, heading {label}, text {label? — omit for gray placeholder lines}, button {label, primary?}, input {label = placeholder}, img {h: s|m|l — crossed placeholder box}, list {n: rows}, listitem {label?}, divider, chiprow {label: "a, b, c"}, modal {label}; unknown t renders as a labeled dashed box. fidelity defaults "lo" (sketchy gray — the brainstorming register); "tokens" tints primaries. kind "doc" {title?, nodes:[{t, …}]} — a declarative node DOCUMENT in ONE card (~300 tokens for a dense dashboard): containers t: row|col {nodes:[…]} nest freely; content leaves t: heading|text {md}, stat|bars|table|line|timeline|flow|matrix (same data shape as the viz kinds, inline), checklist {items:[{text,done?}]} (static), img, divider; inner nodes are pixels (not annotatable) — use real cards when structure matters. FRAME NESTING: cluster/section children may include other frames (depth ≤5), and any frame payload may carry layout {mode: column|row|grid|flow|lanes|masonry, gap: S|M|L|px, cols, padding} — the server then owns that frame\'s inner flow recursively, forever. kind "link" {url, mode?: preview|phone|widget|live} — a WEBSITE card: the server unfurls title/og:metadata/favicon async, probes iframe embeddability, and (when the capture sidecar is configured) takes real 16:10 desktop + phone-viewport screenshots; preview = 16:10 face, phone = mobile frame, widget = compact favicon+title row with hover peek, live = embedded iframe when the site allows framing. kind "board" {board: "<slug>", title?} — a PORTAL card: a live minimap window into another board (click-through, card/open-thread counts); the target board must exist, self-portals 400. Optional w/h override the per-kind default footprint.',
350
+ description: 'Up to 60 cards. kind "text": payload {md, role: idea|note|pro|con|risk|heading|caption} — markdown (#/##/### **bold** `code` - lists). kind "note": payload {text}. kind "shape": payload {shape: rect|ellipse, color}. kind "viz": payload {viz, data, title?} — data-only visualizations: table {cols,rows}, matrix {x:[lo,hi],y:[lo,hi],points:[{label,x,y}] with x/y in 0..1}, flow {steps:[label]}, bars {items:[{label,value}]}, timeline {items:[{label,when}]}, stat {items:[{label,value,delta?,unit?}], frame?: "box"} — KPI stats (frame "box" = crafted hairline tiles with big numerals). CHARTS (recharts-shaped, real axes/ticks/gridlines/hover-tooltips; huge series auto-swap to a canvas engine, 100k+ points smooth): line|area {series:[{label,points:[numbers]}], x?:[labels], min?, max?, stack?} (area supports stack:true), scatter {series:[{label,points:[[x,y],…]}]}, bars ALSO accepts {x:[categories], series:[{label,values:[numbers]}], stack?} for grouped/stacked columns, pie|donut {items:[{label,value}]}, heatmap {x:[…], y:[…], values:[[row per y]]}. HUGE DATASETS: pass the data inline past ~200 KB the client tooling uploads it as a board data blob automatically and the card carries dataRef instead (raw API: POST /api/v1/boards/{slug}/data → {dataRef}, then payload {viz, dataRef}); refresh = re-upload + update_cards. kind "cluster": payload {title} — a frame; list member refs in "children" and they are laid out inside it. kind "section": payload {title} — a NAMED JOURNEY FRAME ("Onboarding", "Checkout"): always visible (not on the ✦ eve layer), auto-indexed (pill navigation + scrape sections[]), membership is spatial — cards inside it belong to it; "children" lays the listed refs out inside. Also use a section to present the NEXT ITERATION of a journey ("Checkout — iteration 2") as its own frame beside the original — never mix a new take into the old section. UI CORE ELEMENTS (data-only, ~100-300 tokens each): kind "step" {n?, title, note?, status: todo|pass|fail, cardId?, image?: {project, branch, selector, file}} — a numbered journey step that EMBEDS its screen: image names a file inside a set you already pushed (vitrinka snap/push) and the step carries it directly — the CANONICAL walkthrough shape (one steps-only section, NO separate flow of shot cards; the server sizes the card to the screen\'s true aspect and click opens it full-res). cardId instead references an EXISTING board card for a live thumbnail (its face flips with attach-swaps). Use one or the other; never re-upload a screen you can reference. kind "callout" {tone: info|warn|success|decision, md}. kind "checklist" {title?, items:[{text, done?}]} — interactive, users tick items live (state persists on the card). kind "compare" {a:{cardId}, b:{cardId}, mode: wipe|ghost} — two existing cards\' faces behind a wipe/ghost slider (iteration pixel-diff). Kanban: a cluster with payload {title, role:"kanban"} renders as a status column. Any card may carry payload.lane (e.g. "iphone") — the arrange/auto-layout \'lanes\' mode groups rows by it. kind "wireframe" {title?, device: phone|tablet|web, fidelity?: lo|tokens, nodes:[{t, label?, …}]} — a ~100-250-token LO-FI UI MOCKUP (the cheap alternative to an HTML artifact; use it to SKETCH proposed screens): nodes render top-to-bottom inside a device frame; t: nav {label}, tabbar {label: "home · search · profile"}, heading {label}, text {label? — omit for gray placeholder lines}, button {label, primary?}, input {label = placeholder}, img {h: s|m|l — crossed placeholder box}, list {n: rows}, listitem {label?}, divider, chiprow {label: "a, b, c"}, modal {label}; unknown t renders as a labeled dashed box. fidelity defaults "lo" (sketchy gray — the brainstorming register); "tokens" tints primaries. kind "doc" {title?, nodes:[{t, …}]} — a declarative node DOCUMENT in ONE card (~300 tokens for a dense dashboard): containers t: row|col {nodes:[…]} nest freely; content leaves t: heading|text {md}, stat|bars|table|line|timeline|flow|matrix (same data shape as the viz kinds, inline), checklist {items:[{text,done?}]} (static), img, divider; inner nodes are pixels (not annotatable) — use real cards when structure matters. FRAME NESTING: cluster/section children may include other frames (depth ≤5), and any frame payload may carry layout {mode: column|row|grid|flow|lanes|masonry, gap: S|M|L|px, cols, padding} — the server then owns that frame\'s inner flow recursively, forever. kind "link" {url, mode?: preview|phone|widget|live} — a WEBSITE card: the server unfurls title/og:metadata/favicon async, probes iframe embeddability, and (when the capture sidecar is configured) takes real 16:10 desktop + phone-viewport screenshots; preview = 16:10 face, phone = mobile frame, widget = compact favicon+title row with hover peek, live = embedded iframe when the site allows framing. kind "board" {board: "<slug>", title?} — a PORTAL card: a live minimap window into another board (click-through, card/open-thread counts); the target board must exist, self-portals 400. kind "diagram" {kicker?, title, subtitle?, stats?:[{value,label}], lanes:[{label, note?, cols?, nodes?:[{id?, title, body?, chips?:[{text, tone?: public|mesh|internal|outbound}]}], groups?:[{id?, title, meta?, tone?, span?, cols?, nodes:[…]}]}], edges?:[{from, to, style?: public|mesh|internal|outbound|default, label?}], legend?:[{style, label}], footer?} — a whole ARCHITECTURE PAGE in one card (the eve-ai-layer visual language): lanes are horizontal bands ("EXTERNAL WORLD" → "EDGE" → "APPLICATION", top-to-bottom flow), groups are bordered boxes inside a lane (span weights share the row), nodes are leaf boxes, edges route styled bézier arrows between declared ids (style = trust boundary, declare them in legend), stats render as crafted header tiles. SEMANTICS ONLY — the server computes every rectangle; never think in pixels. Optional w/h override the per-kind default footprint.',
295
351
  items: {
296
352
  type: 'object',
297
353
  properties: {
298
354
  ref: { type: 'string', description: 'Batch-local handle for edges/questions/children (e.g. "idea1")' },
299
355
  children: { type: 'array', items: { type: 'string' }, description: 'cluster/section only: refs of batch cards to lay out inside this frame — INCLUDING other frames (nesting, max depth 5)' },
300
- kind: { type: 'string', description: 'text|note|shape|viz|cluster|section|step|callout|checklist|compare|wireframe|doc|link|board — OPEN vocabulary: the server validates; an unknown kind 400s with the full allowed list, so new kinds work without a schema update' },
356
+ kind: { type: 'string', description: 'text|note|shape|viz|cluster|section|step|callout|checklist|compare|wireframe|doc|link|board|diagram — OPEN vocabulary: the server validates; an unknown kind 400s with the full allowed list, so new kinds work without a schema update' },
301
357
  payload: { type: 'object', description: 'Kind-specific payload (see cards description)' },
302
358
  w: { type: 'number' }, h: { type: 'number' },
303
359
  },
@@ -339,18 +395,46 @@ const TOOLS = {
339
395
  required: ['board'],
340
396
  additionalProperties: false,
341
397
  },
342
- handler: (a) => api('POST', `/api/v1/boards/${seg(a.board)}/compose`, {
343
- ...(a.layout ? { layout: String(a.layout) } : {}),
344
- ...(a.section ? { section: String(a.section) } : {}),
345
- ...(a.journey ? { journey: String(a.journey) } : {}),
346
- ...(a.pass !== undefined ? { pass: a.pass } : {}),
347
- ...(a.anchorCardId !== undefined ? { anchor: { cardId: Number(a.anchorCardId) } } : {}),
348
- ...(a.template ? { template: String(a.template) } : {}),
349
- ...(a.params ? { params: a.params } : {}),
350
- cards: Array.isArray(a.cards) ? a.cards : [],
351
- edges: Array.isArray(a.edges) ? a.edges : [],
352
- questions: Array.isArray(a.questions) ? a.questions : [],
353
- }),
398
+ handler: async (a) => {
399
+ const cards = Array.isArray(a.cards) ? a.cards : [];
400
+ // Transparent dataRef path (diagram+charts 2026-07-09 §6): a chart whose
401
+ // inline data serializes past ~200 KB is uploaded as a board data blob
402
+ // FIRST and the card carries dataRef instead the agent always sends
403
+ // data inline; the tooling keeps compose bodies small.
404
+ for (const c of cards) {
405
+ const payload = c && typeof c.payload === 'object' && c.payload !== null
406
+ ? c.payload : undefined;
407
+ if (!payload || c.kind !== 'viz' || payload.dataRef !== undefined || payload.data === undefined)
408
+ continue;
409
+ let size = 0;
410
+ try {
411
+ size = JSON.stringify(payload.data).length;
412
+ }
413
+ catch {
414
+ continue;
415
+ }
416
+ if (size <= 200_000)
417
+ continue;
418
+ const up = await api('POST', `/api/v1/boards/${seg(a.board)}/data`, payload.data);
419
+ const ref = up.status === 201 ? up.body?.dataRef : undefined;
420
+ if (!ref)
421
+ return up; // surface the upload failure, not a confusing compose 413
422
+ payload.dataRef = ref;
423
+ delete payload.data;
424
+ }
425
+ return api('POST', `/api/v1/boards/${seg(a.board)}/compose`, {
426
+ ...(a.layout ? { layout: String(a.layout) } : {}),
427
+ ...(a.section ? { section: String(a.section) } : {}),
428
+ ...(a.journey ? { journey: String(a.journey) } : {}),
429
+ ...(a.pass !== undefined ? { pass: a.pass } : {}),
430
+ ...(a.anchorCardId !== undefined ? { anchor: { cardId: Number(a.anchorCardId) } } : {}),
431
+ ...(a.template ? { template: String(a.template) } : {}),
432
+ ...(a.params ? { params: a.params } : {}),
433
+ cards,
434
+ edges: Array.isArray(a.edges) ? a.edges : [],
435
+ questions: Array.isArray(a.questions) ? a.questions : [],
436
+ });
437
+ },
354
438
  },
355
439
  save_template: {
356
440
  description: 'Save a REUSABLE board template into the registry (upsert by name). Two modes: '
@@ -455,11 +539,37 @@ const TOOLS = {
455
539
  required: ['board'],
456
540
  additionalProperties: false,
457
541
  },
458
- handler: (a) => api('POST', `/api/v1/boards/${seg(a.board)}/update-cards`, {
459
- patch: Array.isArray(a.patch) ? a.patch : [],
460
- remove: Array.isArray(a.remove) ? a.remove : [],
461
- ...(Array.isArray(a.restore) && a.restore.length ? { restore: a.restore.map(Number) } : {}),
462
- }),
542
+ handler: async (a) => {
543
+ const patch = Array.isArray(a.patch) ? a.patch : [];
544
+ // Same transparent dataRef path as compose_board: a chart-refresh patch
545
+ // carrying a huge inline dataset uploads it as a board data blob first.
546
+ for (const p of patch) {
547
+ const payload = p && typeof p.payload === 'object' && p.payload !== null
548
+ ? p.payload : undefined;
549
+ if (!payload || typeof payload.viz !== 'string' || payload.dataRef !== undefined || payload.data === undefined)
550
+ continue;
551
+ let size = 0;
552
+ try {
553
+ size = JSON.stringify(payload.data).length;
554
+ }
555
+ catch {
556
+ continue;
557
+ }
558
+ if (size <= 200_000)
559
+ continue;
560
+ const up = await api('POST', `/api/v1/boards/${seg(a.board)}/data`, payload.data);
561
+ const ref = up.status === 201 ? up.body?.dataRef : undefined;
562
+ if (!ref)
563
+ return up;
564
+ payload.dataRef = ref;
565
+ delete payload.data;
566
+ }
567
+ return api('POST', `/api/v1/boards/${seg(a.board)}/update-cards`, {
568
+ patch,
569
+ remove: Array.isArray(a.remove) ? a.remove : [],
570
+ ...(Array.isArray(a.restore) && a.restore.length ? { restore: a.restore.map(Number) } : {}),
571
+ });
572
+ },
463
573
  },
464
574
  scrape_board: {
465
575
  description: 'Read a WHOLE board as one structured testing digest — every media image (URL), note text and annotation — with the connect-tool edges walked into ordered journey chains ("flow": [[A,B,C]]) and the journey sections summarized in "sections": [{name, cards, bounds, order, journey?, pass?}] plus "journeys": [{journey, passes, latest}] (the pass-chain orientation map). Pass section to ISOLATE the digest to one journey ("Checkout") — the scoped read for section-focused work. Each card carries its containing "section" name. Images are absolute URLs (no auth on the mesh) — fetch them to SEE each step.',
@@ -697,12 +807,18 @@ async function handle(msg) {
697
807
  serverInfo: SERVER_INFO,
698
808
  instructions: 'Vitrinka is BOARD-FIRST: the annotation board is the default surface for '
699
809
  + 'sharing and reviewing UI work. When publishing screenshots/journeys, create or update '
700
- + 'the flow board (vitrinka board-from-set) and hand the user the /boards/<slug> URL as the '
701
- + 'primary link; set/share pages are the archive behind it. Boards are live and interactive: '
810
+ + 'the flow board (vitrinka board-from-set) and hand the user the board `url` field returned '
811
+ + 'by list_boards / board-from-set as the primary link it is server-authoritative and '
812
+ + 'already carries the /w/<workspace>/boards/<slug> path; never compose a /boards/<slug> path '
813
+ + 'yourself (it omits the workspace). Set/share pages are the archive behind it. Boards are '
814
+ + 'live and interactive: '
702
815
  + 'the user annotates regions and thread replies route to claude by default (@eve only when '
703
816
  + 'explicitly mentioned) — after publishing a board, the session in the app repo attaches the '
704
- + 'listener AUTOMATICALLY (no need to offer or wait to be asked): follow '
705
- + '~/.claude/skills/vitrinka/listen/SKILL.md, which arms a native background monitor '
817
+ + 'listener AUTOMATICALLY (no need to offer or wait to be asked): follow the vitrinka '
818
+ + 'listen skill — /vitrinka:listen from the vitrinka plugin (source: '
819
+ + '~/.claude/plugins/marketplaces/lovinka/skills/vitrinka/listen/SKILL.md; legacy '
820
+ + 'install-skills copies live at ~/.claude/skills/vitrinka/listen/SKILL.md) — '
821
+ + 'which arms a native background monitor '
706
822
  + '(`vitrinka watch`) that re-invokes the session on each new annotation (zero-token idle); '
707
823
  + 'the session then drains the queue via wait_for_work. /vitrinka:listen (re)arms it manually. '
708
824
  + 'WORK SCOPE: a working session cares ONLY about its own board\'s (or repo+branch\'s) '
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lovinka/vitrinka",
3
- "version": "1.6.0",
4
- "description": "vitrinka CLI + MCP server \u2014 capture and publish artifact sets, drive the annotation-board work queue from any MCP-aware AI.",
3
+ "version": "1.7.1",
4
+ "description": "vitrinka CLI + MCP server capture and publish artifact sets, drive the annotation-board work queue from any MCP-aware AI.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "vitrinka": "dist/cli.js",
@@ -7,7 +7,7 @@ description: Use when the user invokes "artifact", or asks to turn a report / an
7
7
 
8
8
  Author a **self-contained interactive artifact** (report, analysis, diagram, dashboard) and deploy it to **vitrinka** (the internal artifacts app, WireGuard-mesh-only). There is **no build step**: pushing the file IS the deployment — the share link is live in under a second, and every re-push updates the same URL instantly. All mechanics run through the vitrinka CLI: `vitrinka <cmd>`.
9
9
 
10
- **Routing note — vitrinka is board-first.** This skill is the *document* lane (reports, analyses, dashboards). For capturing/sharing UI work in progress (screens, flows, design changes), the default surface is the **annotation board**: use the `screenshot` skill (`snap` + `board-from-set`) and hand over the `/boards/<slug>` URL — the board is live and interactive (annotations route to claude by default). Reach for an artifact only when the deliverable is a composed document, not the UI itself.
10
+ **Routing note — vitrinka is board-first.** This skill is the *document* lane (reports, analyses, dashboards). For capturing/sharing UI work in progress (screens, flows, design changes), the default surface is the **annotation board**: use the `screenshot` skill (`snap` + a steps-are-the-walkthrough `compose_board` pass) and hand over the server-returned board URL (it carries the `/w/<workspace>` segment — never hand-compose `/boards/<slug>`) — the board is live and interactive (annotations route to claude by default). Reach for an artifact only when the deliverable is a composed document, not the UI itself.
11
11
 
12
12
  ## Flow
13
13
 
@@ -96,11 +96,11 @@ For heavy UI questions, the visual surface is a **vitrinka brainstorm board**
96
96
  1. **Create the board** (idempotent, 409 = reuse):
97
97
  `POST {base}/api/v1/boards` body `{"slug":"<project>-brainstorm-<topic>","title":"…","board_type":"brainstorm","project":"<project>"}` — the project field files it under that project's group in the sidebar (projectless boards fall back to the *Brainstorming* type group).
98
98
  2. **Compose the decision map ON the board — one `compose_board` call** (ai-expression-layer): a `text/heading` card, one `text/idea` card per decision (stakes in the markdown), wired in dependency order, each with its question anchored via `cardRef`. Options carry `{label, hint, recommended}` — your recommendation and its why live IN the option, and `multiSelect: true` where picks compose. Batch-or-bust: the whole map is ONE call, never card-per-call. Never send coordinates — `layout: "column"` reads top-to-bottom; `arrange` re-tidies later.
99
- 3. **Brainstorm around the fork with the cheap vocabulary before reaching for mockups**: `cluster` frames per direction (`children: [refs]`) holding `idea`/`pro`/`con`/`risk` text cards; a `viz` card for structure — `matrix` (effort × impact), `table` (options × criteria), `flow` (step order), `bars`/`timeline`. A viz is ~100-300 tokens; an artifact is a whole HTML document — spend that only on step 4. For journey-shaped work, `section` frames (journey-named, always visible, pill-navigable) partition the board; scope later reads/writes with `scrape_board {section}`, `compose_board {section}` and `arrange {scope:"section:Name", gap, cols}`.
99
+ 3. **Brainstorm around the fork with the cheap vocabulary before reaching for mockups**: `cluster` frames per direction (`children: [refs]`) holding `idea`/`pro`/`con`/`risk` text cards; a `viz` card for structure — `matrix` (effort × impact), `table` (options × criteria), `flow` (step order), `bars`/`timeline`, real charts (`line/area/scatter/pie/donut/heatmap` — recharts-shaped `{series|items}` data, axes + tooltips come free) when the fork is data-shaped; a `diagram` card when the fork is ARCHITECTURE-shaped (lanes/groups/nodes/styled edges — a whole system page in one card, server-laid-out). A viz is ~100-300 tokens; an artifact is a whole HTML document — spend that only on step 4. For journey-shaped work, `section` frames (journey-named, always visible, pill-navigable) partition the board; scope later reads/writes with `scrape_board {section}`, `compose_board {section}` and `arrange {scope:"section:Name", gap, cols}`.
100
100
  4. **Push 2-3 variant artifact cards ONLY for genuinely visual takes**: `POST {base}/api/v1/boards/{slug}/artifact` with `{"html":"<!doctype html>…","title":"Variant A"}` (full document, ≤8 MiB) → a live sandboxed-iframe card. Prefer `{"body":"…","runtime":"tw4","tokens":{…}}` — the server wraps your body with the cached Tailwind v4 runtime + your design tokens, so you send markup, not boilerplate. Name variants in their own header bar.
101
101
  5. **Refine in place, don't re-compose**: `update_cards` rewords/removes your own cards (AI layer only — the user's content is untouchable). Everything you place sits under the board's `✦ eve` toggle, so express freely.
102
- 6. **Hand over the URL**: give the user `{base}/boards/{slug}` and continue any terminal questions in parallel.
103
- 7. **Collect answers**: answers are STAGED on the board — the user picks options, then presses the board's "Send to Claude" (↑) to release them, so answers arrive as a BATCH of `choice` items on the work wire, not one per click (multi-select answers carry `options: [labels]`). Drain via the vitrinka MCP `wait_for_work` (`choices[]` array), or arm `node ~/.claude/skills/vitrinka/cli.ts watch` under a Monitor for zero-token idle; `GET {base}/api/v1/boards/{slug}/questions` shows staged/answered state without holding the wire (staged answers are visible but NOT yet sent — don't act on them). Record each answer in the decision log like any other call.
102
+ 6. **Hand over the URL**: give the user the `url` field the create-board response returned (step 1) — it is server-authoritative and carries the `/w/<workspace>` segment; never compose `{base}/boards/{slug}` yourself (it omits the workspace). Continue any terminal questions in parallel.
103
+ 7. **Collect answers**: answers are STAGED on the board — the user picks options, then presses the board's "Send to Claude" (↑) to release them, so answers arrive as a BATCH of `choice` items on the work wire, not one per click (multi-select answers carry `options: [labels]`). Drain via the vitrinka MCP `wait_for_work` (`choices[]` array), or arm `vitrinka watch` under a Monitor for zero-token idle; `GET {base}/api/v1/boards/{slug}/questions` shows staged/answered state without holding the wire (staged answers are visible but NOT yet sent — don't act on them). Record each answer in the decision log like any other call.
104
104
 
105
105
  **Fallback ladder** — never block the brainstorm on the board, and always SAY which rung you're on: `compose_board` → (tool missing / 404 = older deploy) `ask_board` + artifact cards → (server unreachable) terminal-only `AskUserQuestion`.
106
106
 
@@ -56,11 +56,49 @@ vitrinka board-from-set --root .screenshots
56
56
 
57
57
  Idempotent: creates/reuses the board (slug = set key), imports only new shots, lays the journey out serpentine with `--action`-labeled arrows. **Give the user the board URL as soon as it exists** — it fills live.
58
58
 
59
+ ## Board structure — journeys & testing
60
+
61
+ `board-from-set` gives the raw flow; a board the user actually reviews needs ONE
62
+ structure pass on top. Do it at wrap-up (and once per later pass), always as a
63
+ SINGLE `compose_board` call (batch-or-bust). Before composing anything beyond
64
+ the flow, fetch **`get_templates`** (MCP) and reuse its skeletons — never invent
65
+ card shapes. Never re-upload a screen you can reference or embed.
66
+
67
+ - **Walkthrough / QA board — steps ARE the walkthrough** (decisions
68
+ 2026-07-11): ONE `section` per journey/area, a numbered `step` per screen
69
+ with `status` (`pass`/`fail`/`todo`) and `image: {project, branch,
70
+ selector, file}` naming the shot in THIS session's set — the step embeds
71
+ the screen itself (server sizes the card to the screen's true aspect;
72
+ click opens it full-res). Do NOT also keep a serpentine flow of raw shot
73
+ cards next to the section — that doubles every screen; skip
74
+ `board-from-set` when you compose the steps section in the same pass, or
75
+ delete the raw flow after composing it. Add a `checklist` for the sweep
76
+ plan, a `callout` (`warn`/`danger`) per finding, and anchored `question`
77
+ cards for decisions only the user can make.
78
+ - **Live annotate→fix loop on a single screen** (user will iterate on one
79
+ shot with region annotations + `attach_after` face swaps): keep that
80
+ screen as a real shot card (`board-from-set` or `cardId`-referenced) —
81
+ pixel-space crops and face versioning only exist on shot/media cards; a
82
+ step's region is card-box space and its brief hands the agent the full
83
+ screen URL instead of a crop.
84
+ - **Every board ends with a summary card**: one `callout` (tone `success` when
85
+ green) carrying the verdict, counts (x/y pass), links (PR/commit), and what
86
+ was NOT covered. On later passes UPDATE it (`update_cards`) — never stack a
87
+ second summary.
88
+ - **Statuses live on the cards**: flip `step.status` via `update_cards` as fixes
89
+ land instead of adding new cards; the board stays the single source of truth.
90
+ - **Iteration = next pass, never mixed takes**: rework composes into
91
+ `{"journey":"<name>","pass":"next"}` (template 2) and
92
+ `arrange {"mode":"compare"}` against the previous pass.
93
+
59
94
  ## Wrap-up → listen
60
95
 
61
- 1. Re-run `board-from-set` (final append).
62
- 2. The summary leads with the board: `🧷 board {base}/boards/<key>` + `📸 N shots → {base}/{project}/{slug}/{key}`.
63
- 3. **Then attach the listener AUTOMATICALLY — the board is interactive.** Annotations and plain thread replies route to claude (this session) by default; `@eve` only on explicit mention. Don't offer or ask — read `~/.claude/skills/vitrinka/listen/SKILL.md` and follow it: arm the native background monitor (`vitrinka watch`, zero-token idle), announce `⏳ listening — annotate away`, END the turn; the monitor re-invokes this session on each new annotation. Skip only if this session isn't in the app repo (then point the user at `/vitrinka:listen` from the right one).
96
+ 1. Run the **structure pass** above — sections + embedded-image steps +
97
+ statuses + the summary callout in one `compose_board` call (only re-run
98
+ `board-from-set` first when the board's raw flow is the deliverable, e.g.
99
+ a single screen under live iteration).
100
+ 2. The summary leads with the board — hand the exact URLs `board-from-set` and `remote-init` printed (server-authoritative; they carry the `/w/<workspace>` segment in multitenant, none in single-tenant): `🧷 board → …` + `📸 N shots → …`. Never hand-compose `{base}/boards/<key>` — it omits the workspace.
101
+ 3. **Then attach the listener AUTOMATICALLY — the board is interactive.** Annotations and plain thread replies route to claude (this session) by default; `@eve` only on explicit mention. Don't offer or ask — read the vitrinka listen skill (`/vitrinka:listen` from the vitrinka plugin; source `~/.claude/plugins/marketplaces/lovinka/skills/vitrinka/listen/SKILL.md`, legacy copy `~/.claude/skills/vitrinka/listen/SKILL.md`) and follow it: arm the native background monitor (`vitrinka watch`, zero-token idle), announce `⏳ listening — annotate away`, END the turn; the monitor re-invokes this session on each new annotation. Skip only if this session isn't in the app repo (then point the user at `/vitrinka:listen` from the right one).
64
102
 
65
103
  ## Gotchas
66
104
 
@@ -50,6 +50,10 @@ Scope flags (all optional): `--board <slug>` (one board), `--project <p>
50
50
  every board; `--all` conflicts with nothing and claims no scope, so use it only
51
51
  for a read-only overview session, never to work items another session owns).
52
52
 
53
+ All scope resolves *within the token's workspace* — the server infers the
54
+ workspace from your Bearer token, so `wait_for_work`/`list_work` scoping by
55
+ `{board}` or `{project, branch}` only ever sees that workspace's work.
56
+
53
57
  ## Preconditions — check once, then arm
54
58
 
55
59
  1. You are in the app repository the board's screenshots come from