{"_id":"@buildtovalue/studio","_rev":"3-24b7d9accd2aaaf6fa165a505ade242a","name":"@buildtovalue/studio","dist-tags":{"latest":"1.2.0-next.1"},"versions":{"1.1.0":{"name":"@buildtovalue/studio","version":"1.1.0","keywords":["governance","approval","studio","bpmn","buildtovalue"],"license":"Apache-2.0","_id":"@buildtovalue/studio@1.1.0","maintainers":[{"name":"danzeroum","email":"danzeroum@gmail.com"}],"homepage":"https://github.com/danzeroum/bpmn#readme","bugs":{"url":"https://github.com/danzeroum/bpmn/issues"},"dist":{"shasum":"7fde6e71f91c20969723fdfe2c642276cfa073fc","tarball":"https://registry.npmjs.org/@buildtovalue/studio/-/studio-1.1.0.tgz","fileCount":53,"integrity":"sha512-yGusjD/2usUhyXmDmA4YKNCq4CLR4DsL4hd7Zf++UVccTOUi4gl9DO0lWifNVbCHB5xXCake7qM2ZuBN0CQvJg==","signatures":[{"sig":"MEQCIEg8wZIcGlWnKagXt7uAqF6UExfsOAWfK/ED9i9nLLZVAiA1jvv39xGnC35nTkHap6LDeHZ0+0RQ4Q7bHVsAOMfxNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":282278},"main":"./dist/cjs/index.js","type":"module","_from":"file:buildtovalue-studio-1.1.0.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./styles.css":"./styles.css"},"scripts":{"build":"tsc -p tsconfig.build.json && tsc -p tsconfig.cjs.json && node ../../scripts/write-cjs-package.mjs dist/cjs","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"danzeroum","email":"danzeroum@gmail.com"},"_resolved":"C:\\Users\\danni\\AppData\\Local\\Temp\\27eb78eef62b1f99e97fdf98c03c2fe7\\buildtovalue-studio-1.1.0.tgz","_integrity":"sha512-yGusjD/2usUhyXmDmA4YKNCq4CLR4DsL4hd7Zf++UVccTOUi4gl9DO0lWifNVbCHB5xXCake7qM2ZuBN0CQvJg==","repository":{"url":"git+https://github.com/danzeroum/bpmn.git","type":"git","directory":"packages/studio"},"_npmVersion":"10.9.3","description":"BuildToValue Studio (Handoff 6 S-4): the application layer for the no-screen personas — shell with hash navigation (no external router), the generic Biblioteca screen and the Revisão do Aprovador (engine-derived queue, real verification calls, immutable l","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"@buildtovalue/core":"1.1.0","@buildtovalue/audit":"1.1.0","@buildtovalue/react":"1.1.0","@buildtovalue/copilot":"1.0.1","@buildtovalue/library":"1.0.0","@buildtovalue/identity":"1.0.1","@buildtovalue/registry":"1.0.1","@buildtovalue/soundness":"1.0.1","@buildtovalue/conformance":"1.1.0","@buildtovalue/adapters-bpmn":"1.1.0","@buildtovalue/library-react":"1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/studio_1.1.0_1784345322055_0.8980779505648637","host":"s3://npm-registry-packages-npm-production"}},"1.2.0-next.0":{"name":"@buildtovalue/studio","version":"1.2.0-next.0","keywords":["governance","approval","studio","bpmn","buildtovalue"],"license":"Apache-2.0","_id":"@buildtovalue/studio@1.2.0-next.0","maintainers":[{"name":"danzeroum","email":"danzeroum@gmail.com"}],"homepage":"https://github.com/danzeroum/bpmn#readme","bugs":{"url":"https://github.com/danzeroum/bpmn/issues"},"dist":{"shasum":"4746aade75c55c5e9cb850ab919c46a0dc1f206d","tarball":"https://registry.npmjs.org/@buildtovalue/studio/-/studio-1.2.0-next.0.tgz","fileCount":53,"integrity":"sha512-CaE0pfz3Vg/y/G1GAHbTWyACNa8rMN+HEmpR+wkIX/hVP9Sf1bd64eZ8h7TKrznN07DNBlBEPrYNYd/9vCUClw==","signatures":[{"sig":"MEQCIBPsuQXW8NTPI4IhXEDO/Lty+AwTreRQh4Dal/lGx6T9AiAynOm4vOFC1dAUXkrZB8gHnjKAyapPFeZJxl5utuz0TQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":290726},"main":"./dist/cjs/index.js","type":"module","_from":"file:buildtovalue-studio-1.2.0-next.0.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./styles.css":"./styles.css"},"scripts":{"build":"tsc -p tsconfig.build.json && tsc -p tsconfig.cjs.json && node ../../scripts/write-cjs-package.mjs dist/cjs","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"danzeroum","email":"danzeroum@gmail.com"},"_resolved":"/tmp/54269d091763d4594ed6e11477537375/buildtovalue-studio-1.2.0-next.0.tgz","_integrity":"sha512-CaE0pfz3Vg/y/G1GAHbTWyACNa8rMN+HEmpR+wkIX/hVP9Sf1bd64eZ8h7TKrznN07DNBlBEPrYNYd/9vCUClw==","repository":{"url":"git+https://github.com/danzeroum/bpmn.git","type":"git","directory":"packages/studio"},"_npmVersion":"10.9.8","description":"BuildToValue Studio (Handoff 6 S-4): the application layer for the no-screen personas — shell with hash navigation (no external router), the generic Biblioteca screen and the Revisão do Aprovador (engine-derived queue, real verification calls, immutable l","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@buildtovalue/core":"1.2.0-next.0","@buildtovalue/audit":"1.1.1-next.0","@buildtovalue/react":"1.2.0-next.0","@buildtovalue/copilot":"1.1.0-next.0","@buildtovalue/library":"1.0.0","@buildtovalue/identity":"1.1.0-next.0","@buildtovalue/registry":"1.0.2-next.0","@buildtovalue/soundness":"1.0.2-next.0","@buildtovalue/conformance":"1.2.0-next.0","@buildtovalue/adapters-bpmn":"1.2.0-next.0","@buildtovalue/library-react":"1.1.0-next.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/studio_1.2.0-next.0_1784725614573_0.41916432893837263","host":"s3://npm-registry-packages-npm-production"}},"1.2.0-next.1":{"name":"@buildtovalue/studio","version":"1.2.0-next.1","description":"BuildToValue Studio (Handoff 6 S-4): the application layer for the no-screen personas — shell with hash navigation (no external router), the generic Biblioteca screen and the Revisão do Aprovador (engine-derived queue, real verification calls, immutable l","license":"Apache-2.0","type":"module","sideEffects":false,"engines":{"node":">=20"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./styles.css":"./styles.css"},"peerDependencies":{"react":">=18"},"dependencies":{"@buildtovalue/adapters-bpmn":"1.2.0-next.1","@buildtovalue/audit":"1.1.1-next.0","@buildtovalue/conformance":"1.2.0-next.0","@buildtovalue/core":"1.2.0-next.0","@buildtovalue/copilot":"1.1.0-next.0","@buildtovalue/identity":"1.1.0-next.0","@buildtovalue/library":"1.0.0","@buildtovalue/library-react":"1.1.0-next.1","@buildtovalue/react":"1.2.0-next.1","@buildtovalue/soundness":"1.0.2-next.0","@buildtovalue/registry":"1.0.2-next.0"},"keywords":["governance","approval","studio","bpmn","buildtovalue"],"repository":{"type":"git","url":"git+https://github.com/danzeroum/bpmn.git","directory":"packages/studio"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc -p tsconfig.build.json && tsc -p tsconfig.cjs.json && node ../../scripts/write-cjs-package.mjs dist/cjs","typecheck":"tsc -p tsconfig.json --noEmit"},"_id":"@buildtovalue/studio@1.2.0-next.1","bugs":{"url":"https://github.com/danzeroum/bpmn/issues"},"homepage":"https://github.com/danzeroum/bpmn#readme","_integrity":"sha512-bZGxfzlIQMaaGNFvTKl5f5r5GexESUoFTe1TQBNwKztvaLS8HFxfDaUBOPnMinnuVbtXGqUVaZp0c5WqRl++tQ==","_resolved":"/tmp/02a4f86023767cd7f3115fb02f57ee82/buildtovalue-studio-1.2.0-next.1.tgz","_from":"file:buildtovalue-studio-1.2.0-next.1.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-bZGxfzlIQMaaGNFvTKl5f5r5GexESUoFTe1TQBNwKztvaLS8HFxfDaUBOPnMinnuVbtXGqUVaZp0c5WqRl++tQ==","shasum":"1a5fecf56f3ef1803f5acb56148910176f7a7015","tarball":"https://registry.npmjs.org/@buildtovalue/studio/-/studio-1.2.0-next.1.tgz","fileCount":53,"unpackedSize":290726,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCeHIrYfPOLjvoUZy1SJrFKNlE0diEpvg8y9ko9RMXFSAIgflGudnNGXlalDg24SQXnQw9Biu4cZIAe0pLmNKtM47c="}]},"_npmUser":{"name":"danzeroum","email":"danzeroum@gmail.com"},"directories":{},"maintainers":[{"name":"danzeroum","email":"danzeroum@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/studio_1.2.0-next.1_1784833427352_0.8532656539473296"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-18T03:28:41.901Z","modified":"2026-07-23T19:03:47.650Z","1.1.0":"2026-07-18T03:28:42.196Z","1.2.0-next.0":"2026-07-22T13:06:54.725Z","1.2.0-next.1":"2026-07-23T19:03:47.492Z"},"bugs":{"url":"https://github.com/danzeroum/bpmn/issues"},"license":"Apache-2.0","homepage":"https://github.com/danzeroum/bpmn#readme","keywords":["governance","approval","studio","bpmn","buildtovalue"],"repository":{"type":"git","url":"git+https://github.com/danzeroum/bpmn.git","directory":"packages/studio"},"description":"BuildToValue Studio (Handoff 6 S-4): the application layer for the no-screen personas — shell with hash navigation (no external router), the generic Biblioteca screen and the Revisão do Aprovador (engine-derived queue, real verification calls, immutable l","maintainers":[{"name":"danzeroum","email":"danzeroum@gmail.com"}],"readme":"# @buildtovalue/studio\n\nBuildToValue Studio — the application layer for the three no-screen personas\n(Handoff 6, S-4/S-5): shell + the generic Biblioteca screen + the Revisão do\nAprovador + the Ledger Explorer (Auditoria).\n\n> Workspace-only until the npm-scope decision (pendencias.md §1). The final\n> published name will be `<scope>/studio`.\n\n## Shell\n\n`<StudioShell user library review footer?>` — header with the three-screen\nnav (Biblioteca | Revisão | Auditoria), hash-based navigation (state + URL\nhash, **no external router** — §11) and the user identity. The Studio is\nread-only + governance decisions; editing belongs to the Designer.\n\n## Revisão do Aprovador (§5)\n\n`<ReviewScreen candidates engine ledger actor registry? converter? baselineOf?\nonDecided? onOpenInDesigner?>` — queue (296px) + review area (max 820px):\n\n- **Queue** derived, never stored: candidate versions the user has not yet\n  approved; progress (\"1/2 aprovações\") comes from the engine's approvals\n  gate — the rule is NEVER re-implemented in the UI (`pendingPromotions`).\n  Keyboard-navigable (arrows; §10.8).\n- **Review blocks in order**: request header → change summary (solicitante's\n  words) → diff vs baseline (the same `DiffView`, with \"abrir no canvas →\")\n  → **verificações automáticas** 2×2 — every card a REAL call\n  (`analyzeSoundness`, `certifyXml`, `verifyLedger`,\n  `resolveCallActivities`; §10.4) → decision.\n- **Decision**: approve records an `ApprovalRecord` via `engine.approve` AND\n  an `APPROVAL_RECORDED` ledger entry; reject demands a 10+ char\n  justification and writes `PROMOTION_REJECTED`. Both immutable — no undo;\n  corrigir = novo ciclo. **Approving never activates**: a separação\n  solicitante/aprovador é intencional (§11) — a solicitante executa a\n  promoção final.\n\nThe headless halves (`pendingPromotions`, `runReviewChecks`,\n`approvePromotion`, `rejectPromotion`) are exported and 100% testable\nwithout DOM.\n\n## Ledger Explorer (§6)\n\n`<LedgerExplorer ledger registry? onAction? onDownload? initialFilter?>` —\nfilter bar + vertical trail (max 720px) + detail column (340px):\n\n- **categorization is a pure studio function** (`categorizeEntry` /\n  `filterEntries`): Promoções / Aprovações / Comandos / Verificações, chips\n  with live counts, removable artifact context chip;\n- **\"Verificar cadeia\"** runs `verifyLedger()`: green banner with n/n, head\n  hash, algorithm and `VerificationReport.json` download; broken → red\n  banner pointing at the exact `firstBreak` index, with that entry and every\n  later one marked untrusted;\n- **detail**: seq/hash/prev (visible chaining), author, payload, and a gold\n  **ATTESTATION** block on activation entries (xmlHash, ledgerHeadHash,\n  approvers, effectiveFrom + `attestation.json` download);\n- **\"Exportar XES\"** feeds the SAME filtered entries to `toXES` — the export\n  always matches what the trail shows (§10.5);\n- actions (\"Ver diff desta mudança\", \"Abrir versão no Designer (leitura)\")\n  are descriptors the host resolves; keyboard-navigable trail (§10.8).\n\n## Styles\n\n```ts\nimport '@buildtovalue/react/styles.css';\nimport '@buildtovalue/library-react/styles.css';\nimport '@buildtovalue/studio/styles.css';\n```\n\nSeal colors come exclusively from the canonical `--bpmnr-status-*` tokens\n(§10.6); brand colors from `--btv-*`.\n","readmeFilename":"README.md"}