businesslens 0.10.0 → 0.12.0
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/CHANGELOG.md +36 -0
- package/dist/cli.js +3 -1
- package/dist/viewer/200.html +1 -1
- package/dist/viewer/404.html +1 -1
- package/dist/viewer/_nuxt/1AKcmNi5.js +2 -0
- package/dist/viewer/_nuxt/B-mP848s.js +1 -0
- package/dist/viewer/_nuxt/Bit4pBdc.js +1 -0
- package/dist/viewer/_nuxt/BlrFlowCanvas.DQt_5hA7.css +1 -0
- package/dist/viewer/_nuxt/BtQ-s_jB.js +2 -0
- package/dist/viewer/_nuxt/Dpgwz9sb.js +1 -0
- package/dist/viewer/_nuxt/builds/latest.json +1 -1
- package/dist/viewer/_nuxt/builds/meta/5aaede1d-b2e2-4361-9046-383c78ec9ec1.json +1 -0
- package/dist/viewer/_nuxt/cSnpUPR8.js +1 -0
- package/dist/viewer/_nuxt/diagram.worker-DsHz2mkM.js +1 -0
- package/dist/viewer/_nuxt/entry.Cn2HYcjJ.css +1 -0
- package/dist/viewer/_nuxt/index.M4u1EpFn.css +1 -0
- package/dist/viewer/index.html +1 -1
- package/docs/business-rules.md +5 -5
- package/docs/capabilities.md +4 -4
- package/docs/ci.md +1 -1
- package/docs/cli-contribute.md +1 -1
- package/docs/cli-export.md +1 -1
- package/docs/cli-install.md +1 -1
- package/docs/cli-lint.md +1 -1
- package/docs/cli-open.md +1 -1
- package/docs/cli-pull.md +1 -1
- package/docs/cli-update.md +1 -1
- package/docs/cli-view.md +1 -1
- package/docs/cli.md +1 -1
- package/docs/domains.md +2 -2
- package/docs/entities.md +5 -5
- package/docs/integration.md +1 -1
- package/docs/interfaces.md +271 -12
- package/docs/journeys.md +4 -5
- package/docs/product-model.md +36 -22
- package/docs/references.md +2 -2
- package/docs/skill-businesslens-ideate.md +13 -7
- package/docs/skill-businesslens-map.md +14 -6
- package/docs/skill-businesslens-verify.md +14 -1
- package/docs/skills.md +1 -1
- package/docs/with-plan-mode.md +1 -1
- package/docs/with-sdd.md +1 -1
- package/layers/nuxt/report-viewer/README.md +76 -11
- package/layers/nuxt/report-viewer/THIRD_PARTY.md +19 -0
- package/layers/nuxt/report-viewer/app/assets/report-topology.css +97 -0
- package/layers/nuxt/report-viewer/app/assets/report-viewer.css +74 -0
- package/layers/nuxt/report-viewer/app/components/BlrConnections.vue +11 -162
- package/layers/nuxt/report-viewer/app/components/BlrDiagram.vue +152 -0
- package/layers/nuxt/report-viewer/app/components/BlrEntityLifecycle.vue +12 -14
- package/layers/nuxt/report-viewer/app/components/BlrExperienceContents.vue +20 -0
- package/layers/nuxt/report-viewer/app/components/BlrFilterBar.vue +73 -0
- package/layers/nuxt/report-viewer/app/components/BlrFlowCanvas.vue +115 -328
- package/layers/nuxt/report-viewer/app/components/BlrFlowNode.vue +8 -207
- package/layers/nuxt/report-viewer/app/components/BlrFlowNodeContent.vue +49 -0
- package/layers/nuxt/report-viewer/app/components/BlrFlowRoutedEdge.vue +12 -131
- package/layers/nuxt/report-viewer/app/components/BlrInterfaceDelivery.vue +23 -0
- package/layers/nuxt/report-viewer/app/components/BlrInterfaceType.vue +33 -3
- package/layers/nuxt/report-viewer/app/components/BlrKind.vue +10 -2
- package/layers/nuxt/report-viewer/app/components/BlrOverview.vue +192 -299
- package/layers/nuxt/report-viewer/app/components/BlrPageBlock.vue +13 -2
- package/layers/nuxt/report-viewer/app/components/BlrProductTopology.vue +174 -339
- package/layers/nuxt/report-viewer/app/components/BlrRail.vue +9 -51
- package/layers/nuxt/report-viewer/app/components/BlrReportShell.vue +357 -921
- package/layers/nuxt/report-viewer/app/components/BlrResourceBody.vue +13 -77
- package/layers/nuxt/report-viewer/app/components/BlrResourcePage.vue +22 -63
- package/layers/nuxt/report-viewer/app/components/BlrScenarios.vue +7 -2
- package/layers/nuxt/report-viewer/app/components/BlrTopologyBranch.vue +28 -0
- package/layers/nuxt/report-viewer/app/components/BlrTopologyComposition.vue +86 -0
- package/layers/nuxt/report-viewer/app/components/BlrTopologyMatrix.vue +72 -0
- package/layers/nuxt/report-viewer/app/components/BlrTopologyResource.vue +11 -0
- package/layers/nuxt/report-viewer/app/components/BlrTopologyTree.vue +56 -0
- package/layers/nuxt/report-viewer/app/components/BusinessLensReportViewer.vue +38 -5
- package/layers/nuxt/report-viewer/app/composables/useBlrReadingWidth.ts +11 -0
- package/layers/nuxt/report-viewer/app/composables/useBlrReportNavigation.ts +42 -0
- package/layers/nuxt/report-viewer/app/composables/useBlrTopologyScroll.ts +54 -0
- package/layers/nuxt/report-viewer/app/utils/diagram.ts +106 -0
- package/layers/nuxt/report-viewer/app/utils/diagram.worker.ts +3 -0
- package/layers/nuxt/report-viewer/app/utils/entityLifecycle.ts +28 -83
- package/layers/nuxt/report-viewer/app/utils/pageSections.ts +9 -40
- package/layers/nuxt/report-viewer/app/utils/productTopologyViews.ts +32 -109
- package/layers/nuxt/report-viewer/app/utils/reportDestinations.ts +41 -0
- package/layers/nuxt/report-viewer/app/utils/reportWorkspace.ts +28 -239
- package/layers/nuxt/report-viewer/app/utils/resourceCards.ts +9 -4
- package/layers/nuxt/report-viewer/app/utils/resourceConnections.ts +185 -0
- package/layers/nuxt/report-viewer/app/utils/resourceDocs.ts +3 -5
- package/layers/nuxt/report-viewer/app/utils/resourceFacets.ts +64 -16
- package/layers/nuxt/report-viewer/app/utils/topologyProjections.ts +221 -0
- package/layers/nuxt/report-viewer/app/utils/topologyRelations.ts +113 -0
- package/layers/nuxt/report-viewer/app/utils/topologyState.ts +73 -0
- package/layers/nuxt/report-viewer/app/utils/topologyTargets.ts +41 -0
- package/layers/nuxt/report-viewer/app/utils/topologyTree.ts +58 -0
- package/layers/nuxt/report-viewer/app/utils/vocabulary.generated.ts +5 -7
- package/layers/nuxt/report-viewer/licenses/ELK-EPL-2.0.md +263 -0
- package/layers/nuxt/report-viewer/licenses/diagram-design-MIT.txt +21 -0
- package/layers/nuxt/report-viewer/licenses/vue-flow-MIT.txt +20 -0
- package/layers/nuxt/report-viewer/nuxt.config.ts +17 -9
- package/layers/nuxt/theme/app/assets/theme.css +31 -0
- package/package.json +4 -12
- package/skills/businesslens-ideate/SKILL.md +12 -9
- package/skills/businesslens-ideate/references/format.md +14 -1
- package/skills/businesslens-ideate/references/planning-rubric.md +7 -4
- package/skills/businesslens-map/SKILL.md +16 -13
- package/skills/businesslens-map/references/format.md +14 -1
- package/skills/businesslens-map/references/mapping-rubric.md +3 -1
- package/skills/businesslens-verify/SKILL.md +15 -1
- package/skills/businesslens-verify/references/format.md +14 -1
- package/skills/businesslens-verify/references/verification-rubric.md +9 -0
- package/dist/viewer/_nuxt/CcApCzJy.js +0 -34
- package/dist/viewer/_nuxt/CeE3421Y.js +0 -1
- package/dist/viewer/_nuxt/CmwFmk8h.js +0 -37
- package/dist/viewer/_nuxt/DQ3ZnyMB.js +0 -1
- package/dist/viewer/_nuxt/builds/meta/a896fe5d-32c4-4d9c-88fa-db55d6ddb2ae.json +0 -1
- package/dist/viewer/_nuxt/entry.DsWXLqBw.css +0 -1
- package/dist/viewer/_nuxt/index.BeuARo3I.css +0 -1
- package/dist/viewer/brand/icons/apple-touch-icon.png +0 -0
- package/dist/viewer/brand/icons/businesslens-app-icon.svg +0 -7
- package/dist/viewer/brand/icons/businesslens-maskable-icon.svg +0 -7
- package/dist/viewer/brand/icons/favicon-32.png +0 -0
- package/dist/viewer/brand/icons/favicon.ico +0 -0
- package/dist/viewer/brand/icons/favicon.svg +0 -7
- package/dist/viewer/brand/icons/icon-1024.png +0 -0
- package/dist/viewer/brand/icons/icon-192.png +0 -0
- package/dist/viewer/brand/icons/icon-512.png +0 -0
- package/dist/viewer/brand/icons/maskable-icon-512.png +0 -0
- package/dist/viewer/brand/logo/mark-dark.svg +0 -4
- package/dist/viewer/brand/logo/mark.svg +0 -4
- package/dist/viewer/brand/logo/wordmark-dark.svg +0 -173
- package/dist/viewer/brand/logo/wordmark.svg +0 -173
- package/docs/experiences.md +0 -106
- package/docs/screens.md +0 -171
- package/layers/nuxt/report-viewer/app/components/BlrFlowGroup.vue +0 -126
- package/layers/nuxt/report-viewer/app/components/BlrFlowLabel.vue +0 -47
- package/layers/nuxt/report-viewer/app/components/BlrFlowSelfEdge.vue +0 -105
- package/layers/nuxt/report-viewer/app/components/BlrFlowState.vue +0 -112
- package/layers/nuxt/report-viewer/app/utils/flowGraph.ts +0 -824
- package/layers/nuxt/report-viewer/app/utils/productTopologyFilters.ts +0 -92
- package/layers/nuxt/report-viewer/app/utils/productTopologyGraphs.ts +0 -614
- package/layers/nuxt/report-viewer/app/utils/productTopologyLayout.ts +0 -124
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,40 @@ All notable changes to this project are documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.12.0] - 2026-09-10
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Every page of the report reads the same way: what it is and the ways out of
|
|
13
|
+
it, then tabs for which set you are reading, then what narrows it.
|
|
14
|
+
- Tabs are the report's only switch. Each named reading sits beside List in the
|
|
15
|
+
collection it belongs to; the Cards/Table toggle and the grouping menu are
|
|
16
|
+
gone.
|
|
17
|
+
- Filters sit beside the rows they narrow, one control per axis, on every
|
|
18
|
+
collection whatever its size.
|
|
19
|
+
- Collections group by Domain on their own, and Entities that act lead the list.
|
|
20
|
+
- Overview is the Product's own page, with About, Coverage and References.
|
|
21
|
+
- Compare delivery is now a Capability by Interface matrix.
|
|
22
|
+
- The documentation explains the Product Model. The report explains itself.
|
|
23
|
+
- Report links shared before this release open the Overview.
|
|
24
|
+
|
|
25
|
+
### Removed
|
|
26
|
+
|
|
27
|
+
- The All resources and connections view. The rail already lists every
|
|
28
|
+
collection with its count, and a resource's connections are on its page.
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
|
|
32
|
+
- Icons missing from the local report, including the loading indicator and the
|
|
33
|
+
warning shown while an edit is invalid.
|
|
34
|
+
- Interactive controls now show the hand cursor.
|
|
35
|
+
|
|
36
|
+
## [0.11.0] - 2026-09-07
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
|
|
40
|
+
- Generated product models omit rejected approaches and settled deliberation.
|
|
41
|
+
|
|
8
42
|
## [0.10.0] - 2026-09-06
|
|
9
43
|
|
|
10
44
|
### Added
|
|
@@ -711,6 +745,8 @@ Initial public launch of the repository.
|
|
|
711
745
|
`docs/format.md`.
|
|
712
746
|
- Claude plugin manifest and marketplace entry.
|
|
713
747
|
|
|
748
|
+
[0.12.0]: https://github.com/businesslens/pdd/compare/v0.11.0...v0.12.0
|
|
749
|
+
[0.11.0]: https://github.com/businesslens/pdd/compare/v0.10.0...v0.11.0
|
|
714
750
|
[0.10.0]: https://github.com/businesslens/pdd/compare/v0.9.0...v0.10.0
|
|
715
751
|
[0.9.0]: https://github.com/businesslens/pdd/compare/v0.8.0...v0.9.0
|
|
716
752
|
[0.8.0]: https://github.com/businesslens/pdd/compare/v0.7.2...v0.8.0
|
package/dist/cli.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { INTERFACE_TYPES, ProductReportV13Schema, REPORT_SCHEMA_VERSION, bulletList, containsPlace, containsStructuralHeading, decisionPoints, interfaceOf, isId, isQualifiedId, operationPlaces, parseCodeTarget, parseMarkdown, parseProductReport, permissionTargetSelectsOperation, projectPortableReport, qualify, screenStates, section, supportingSections, validateBlueprintReport, validatePermissionBehavior, validateProductReport } from "./portable-DmgFo37G.js";
|
|
3
3
|
import { MAX_PRODUCT_LOGO_BYTES, PRODUCT_LOGO_FILENAME, validateProductLogo } from "./logo-ByUBSRUb.js";
|
|
4
4
|
import { reportDigest } from "./report-digest-BtjFf-4A.js";
|
|
5
|
+
import { createRequire } from "node:module";
|
|
5
6
|
import { basename, dirname, extname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
6
7
|
import { Command, CommanderError, Help, InvalidArgumentError, Option } from "commander";
|
|
7
8
|
import { execFileSync, spawn, spawnSync } from "node:child_process";
|
|
@@ -4431,6 +4432,7 @@ const HEALTH_PATH = "/_businesslens/health";
|
|
|
4431
4432
|
const LOGO_PATH = "/_businesslens/logo.svg";
|
|
4432
4433
|
const ASSET_PREFIX = "/_businesslens/file/";
|
|
4433
4434
|
const VIEWER_ROOT = fileURLToPath(new URL("./viewer/", import.meta.url));
|
|
4435
|
+
const BRAND_ROOT = resolve(createRequire(import.meta.url).resolve("businesslens/package.json"), "../layers/nuxt/theme/public/brand");
|
|
4434
4436
|
/** 25 MB. A product asset is a mockup or a capture, never a build output. */
|
|
4435
4437
|
const MAX_ASSET_BYTES = 25 * 1024 * 1024;
|
|
4436
4438
|
const CONTENT_TYPES = {
|
|
@@ -4730,7 +4732,7 @@ function requestHandler(options, store, streams, port$1) {
|
|
|
4730
4732
|
});
|
|
4731
4733
|
return;
|
|
4732
4734
|
}
|
|
4733
|
-
const file = staticFile(viewerRoot, pathname);
|
|
4735
|
+
const file = staticFile(viewerRoot, pathname) ?? (pathname.startsWith("/brand/") ? staticFile(BRAND_ROOT, pathname.slice(7)) : void 0);
|
|
4734
4736
|
if (!file) {
|
|
4735
4737
|
json(response, 404, { message: "Not found." }, head);
|
|
4736
4738
|
return;
|
package/dist/viewer/200.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/_nuxt/entry.
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/_nuxt/entry.Cn2HYcjJ.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BtQ-s_jB.js"><script type="module" src="/_nuxt/BtQ-s_jB.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-404.VJcZ3YVw.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/cSnpUPR8.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.BwxPsW7a.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/B-mP848s.js"><script>"use strict";(()=>{const o=window,e=document.documentElement,c=["dark","light"],s=getStorageValue("localStorage","nuxt-color-mode")||"light";let r=s==="system"?f():s;const l=e.getAttribute("data-color-mode-forced");l&&(r=l),i(r),o["__NUXT_COLOR_MODE__"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=""+t+"",n="";e.classList?e.classList.add(a):e.className+=" "+a,n&&e.setAttribute("data-"+n,t)}function d(t){const a=""+t+"",n="";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,"g"),""),n&&e.removeAttribute("data-"+n)}function u(t){return o.matchMedia("(prefers-color-scheme"+t+")")}function f(){if(o.matchMedia&&u("").media!=="not all"){for(const t of c)if(u(":"+t).matches)return t}return"light"}})();function getStorageValue(o,e){switch(o){case"localStorage":try{return window.localStorage.getItem(e)}catch{return null}case"sessionStorage":try{return window.sessionStorage.getItem(e)}catch{return null}case"cookie":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=("; "+window.document.cookie).split("; "+o+"=");if(c.length===2){const s=c.pop();return s?s.split(";").shift():null}}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{pddVersion:"0.12.0"},app:{baseURL:"/",buildId:"5aaede1d-b2e2-4361-9046-383c78ec9ec1",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1789070949687,false]</script></body></html>
|
package/dist/viewer/404.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/_nuxt/entry.
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/_nuxt/entry.Cn2HYcjJ.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BtQ-s_jB.js"><script type="module" src="/_nuxt/BtQ-s_jB.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-404.VJcZ3YVw.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/cSnpUPR8.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.BwxPsW7a.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/B-mP848s.js"><script>"use strict";(()=>{const o=window,e=document.documentElement,c=["dark","light"],s=getStorageValue("localStorage","nuxt-color-mode")||"light";let r=s==="system"?f():s;const l=e.getAttribute("data-color-mode-forced");l&&(r=l),i(r),o["__NUXT_COLOR_MODE__"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=""+t+"",n="";e.classList?e.classList.add(a):e.className+=" "+a,n&&e.setAttribute("data-"+n,t)}function d(t){const a=""+t+"",n="";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,"g"),""),n&&e.removeAttribute("data-"+n)}function u(t){return o.matchMedia("(prefers-color-scheme"+t+")")}function f(){if(o.matchMedia&&u("").media!=="not all"){for(const t of c)if(u(":"+t).matches)return t}return"light"}})();function getStorageValue(o,e){switch(o){case"localStorage":try{return window.localStorage.getItem(e)}catch{return null}case"sessionStorage":try{return window.sessionStorage.getItem(e)}catch{return null}case"cookie":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=("; "+window.document.cookie).split("; "+o+"=");if(c.length===2){const s=c.pop();return s?s.split(";").shift():null}}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{pddVersion:"0.12.0"},app:{baseURL:"/",buildId:"5aaede1d-b2e2-4361-9046-383c78ec9ec1",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1789070949687,false]</script></body></html>
|