{"id":"@lssm-tech/module.builder-workbench","slug":"module.builder-workbench","name":"@lssm-tech/module.builder-workbench","version":"2.1.4","path":"packages/domains/builder/module","manifestPath":"packages/domains/builder/module/package.json","manifestBlobSha":"fcc3a6a5f07b88a4394f780d3d2565acd7f13f74","layer":"domains","physicalArea":"builder","primaryArea":"delivery-and-infrastructure","classification":{"privateDeclared":null,"catalogFamily":"ui","catalogKind":"module","catalogStatus":"active","adoptionMode":"adoptable","stability":"experimental"},"description":"Reusable Builder workbench UI module.","descriptionOrigin":"package.json","catalog":{"family":"ui","kind":"module","status":"active","adoptionMode":"adoptable","stability":"experimental","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./core","./i18n","./presentation","./presentation/components","./presentation/hooks"],"documentation":[{"title":"Module Builder Workbench documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fmodule.builder-workbench","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.module.builder.workbench","title":"Module Builder Workbench","description":"Reusable Builder workbench UI module.","status":"active","useCases":["Adopt reusable builder workbench ui module"],"aliases":["contractspec","builder","workbench","ui","react","module"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/module.builder-workbench","symbols":[]},{"from":"@lssm-tech/module.builder-workbench/core","symbols":[]},{"from":"@lssm-tech/module.builder-workbench/i18n","symbols":[]},{"from":"@lssm-tech/module.builder-workbench/presentation","symbols":[]},{"from":"@lssm-tech/module.builder-workbench/presentation/components","symbols":[]},{"from":"@lssm-tech/module.builder-workbench/presentation/hooks","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/module.builder-workbench package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}],"visualTesting":{"status":"deferred","owner":"@contractspec-core","targetWave":"wave-3-react-packages","rationale":"Foundational Storybook adoption establishes shared catalogs and guardrails before this package migrates."}},"canonicalImports":[{"capabilityId":"package.lssm.tech.module.builder.workbench","from":"@lssm-tech/module.builder-workbench","symbols":[]},{"capabilityId":"package.lssm.tech.module.builder.workbench","from":"@lssm-tech/module.builder-workbench/core","symbols":[]},{"capabilityId":"package.lssm.tech.module.builder.workbench","from":"@lssm-tech/module.builder-workbench/i18n","symbols":[]},{"capabilityId":"package.lssm.tech.module.builder.workbench","from":"@lssm-tech/module.builder-workbench/presentation","symbols":[]},{"capabilityId":"package.lssm.tech.module.builder.workbench","from":"@lssm-tech/module.builder-workbench/presentation/components","symbols":[]},{"capabilityId":"package.lssm.tech.module.builder.workbench","from":"@lssm-tech/module.builder-workbench/presentation/hooks","symbols":[]}],"scripts":{"publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","publish:pkg:canary":"bun publish:pkg --tag canary","build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","dev":"contractspec-bun-build dev","clean":"rimraf dist .turbo","lint":"bun lint:fix","lint:fix":"node ../../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../../scripts/biome.cjs check --write .","lint:check":"node ../../../../scripts/biome.cjs check .","test":"bun test","prebuild":"contractspec-bun-build prebuild","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.builder-spec":"workspace:^","@lssm-tech/lib.builder-runtime":"workspace:^","@lssm-tech/lib.provider-spec":"workspace:^","@lssm-tech/lib.design-system":"workspace:^","@lssm-tech/lib.ui-kit-web":"workspace:^","@lssm-tech/module.ai-chat":"workspace:^","react":"catalog:","@lssm-tech/lib.contracts-spec-core":"workspace:^","@lssm-tech/lib.translation-runtime":"workspace:^"},"devDependencies":{"@lssm-tech/tool.bun":"workspace:*","@lssm-tech/tool.typescript":"workspace:*","@types/react":"catalog:types","happy-dom":"catalog:testing","react-dom":"catalog:","typescript":"catalog:"},"peerDependencies":{"react":"catalog:"},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./core":"./src/core/index.ts","./i18n":"./src/i18n/index.ts","./presentation":"./src/presentation/index.ts","./presentation/components":"./src/presentation/components/index.ts","./presentation/hooks":"./src/presentation/hooks/index.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","browser":"./dist/browser/index.js","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","browser":"./dist/browser/core/index.js","bun":"./dist/core/index.js","node":"./dist/node/core/index.js","default":"./dist/core/index.js"},"./i18n":{"types":"./dist/i18n/index.d.ts","browser":"./dist/browser/i18n/index.js","bun":"./dist/i18n/index.js","node":"./dist/node/i18n/index.js","default":"./dist/i18n/index.js"},"./presentation":{"types":"./dist/presentation/index.d.ts","browser":"./dist/browser/presentation/index.js","bun":"./dist/presentation/index.js","node":"./dist/node/presentation/index.js","default":"./dist/presentation/index.js"},"./presentation/components":{"types":"./dist/presentation/components/index.d.ts","browser":"./dist/browser/presentation/components/index.js","bun":"./dist/presentation/components/index.js","node":"./dist/node/presentation/components/index.js","default":"./dist/presentation/components/index.js"},"./presentation/hooks":{"types":"./dist/presentation/hooks/index.d.ts","browser":"./dist/browser/presentation/hooks/index.js","bun":"./dist/presentation/hooks/index.js","node":"./dist/node/presentation/hooks/index.js","default":"./dist/presentation/hooks/index.js"}},"types":"./dist/index.d.ts","files":["dist","README.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/module.builder-workbench","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/domains/builder/module/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/builder/module/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./core","importPath":"@lssm-tech/module.builder-workbench/core","target":"./src/core/index.ts","targets":[{"conditions":[],"target":"./src/core/index.ts","sourcePath":"packages/domains/builder/module/src/core/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/builder/module/src/core/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./i18n","importPath":"@lssm-tech/module.builder-workbench/i18n","target":"./src/i18n/index.ts","targets":[{"conditions":[],"target":"./src/i18n/index.ts","sourcePath":"packages/domains/builder/module/src/i18n/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/builder/module/src/i18n/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./presentation","importPath":"@lssm-tech/module.builder-workbench/presentation","target":"./src/presentation/index.ts","targets":[{"conditions":[],"target":"./src/presentation/index.ts","sourcePath":"packages/domains/builder/module/src/presentation/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/builder/module/src/presentation/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./presentation/components","importPath":"@lssm-tech/module.builder-workbench/presentation/components","target":"./src/presentation/components/index.ts","targets":[{"conditions":[],"target":"./src/presentation/components/index.ts","sourcePath":"packages/domains/builder/module/src/presentation/components/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/builder/module/src/presentation/components/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./presentation/hooks","importPath":"@lssm-tech/module.builder-workbench/presentation/hooks","target":"./src/presentation/hooks/index.ts","targets":[{"conditions":[],"target":"./src/presentation/hooks/index.ts","sourcePath":"packages/domains/builder/module/src/presentation/hooks/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/builder/module/src/presentation/hooks/index.ts","sourceStatus":"verified source file"}]}],"entryCount":6,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Module Builder Workbench documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fmodule.builder-workbench","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/builder/module","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/builder/module/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/builder/module/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/module.builder-workbench.txt"},"readme":{"status":"available","body":"# @lssm-tech/module.builder-workbench\n\nReusable React surfaces for the Builder control plane: workspace home, guided chat/voice, source inbox, omnichannel inbox, blueprint editing, and readiness review.\n\n## Company context\n\nPass the optional `companyContext` controller to `BuilderWorkbench` to expose\n`CompanyContextPanel` in Sources, or embed that panel independently. Hosts own\nauthenticated retrieval; the shared `projectCompanyContextView` rejects stale\nworkspace/question responses and malformed evidence before rendering text.\nThe panel distinguishes missing configuration, denied access, conflicting\nsources, empty results, and loading. Knowledge does not grant release authority.\nEnglish, French, and Spanish catalogs are included. Live provider activation,\nStorybook browser qualification, and visual baseline review remain required.\n\n## Model route inspection\n\nThe workbench exports route visibility components for Builder governance: `ModelRouteBadge`, `ModelRouteInspector`, `ModelRouteOverridePanel`, `RiskFlagList`, and `RoutingEvidenceTimeline`. These surfaces expose selected policy, difficulty, provider/model, risk flags, fallback routes, and rejected unsafe downgrades.\n\n## RoleMorph Workbench panels\n\nThe workbench exports `RoleMorphWorkbenchPanels` for rendering RoleMorph packet views with existing design-system/ui-kit primitives. The panel set covers role selection, surface preview/registry summaries, inspector diagnostics, policy diff summaries, safe missing-binding repairs, authorization/evidence summaries, and audit/replay timestamps. It renders serializable packet contracts only; provider execution, durable stores, and production authorization enforcement remain outside the module.\n\n## Candidate controls\n\nPass the optional `candidate` controller to `BuilderWorkbench` to expose\n`CandidateExecutionPanel` in the Plan tab, or embed that panel directly. Prepare,\napprove, run and status controls follow server-resolved available actions.\nUnconfigured, denied, stale and indeterminate states do not appear as successful\nexecution. English, French and Spanish messages are included. Candidate review\nis distinct from hosted preview or release.\n\n`useBuilderCandidate({ workspaceId, planRef, request, onRefreshPlan })` from\n`./presentation/hooks` drives that controller: one in-flight action at a time,\nstale responses dropped across workspace/plan switches, bounded status polling\n(3 s, at most 20 polls) while queued or running, and `onRefreshPlan` on\nstale/succeeded. Hosts inject the `request` transport (`BuilderCandidateRequest`)\nand keep authentication and routing.\n","sourcePath":"packages/domains/builder/module/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/builder/module/README.md","blobSha":"672d506d0b0f8e9ef1d36a6633425f8f4c6db34a","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":"README recovered byte-for-byte from pinned aggregate guide","integrity":"exact Git blob match","executionStatus":"not executed"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"delivery-and-infrastructure","areaTitle":"Delivery, infrastructure and runtime operations","displayName":"module.builder-workbench","runtimes":["node"],"platforms":["server"],"kind":"module","scope":"Package manifest","canonicalRoute":"/docs/packages/module.builder-workbench/","contextUrl":"/docs/packages/module.builder-workbench.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}