businesslens 0.2.2
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/.output/nitro.json +15 -0
- package/.output/public/_nuxt/ANTr5GBv.js +1 -0
- package/.output/public/_nuxt/B3Z-Zt7l.js +37 -0
- package/.output/public/_nuxt/Bd76-HGM.js +1 -0
- package/.output/public/_nuxt/Bf4VrETn.js +1 -0
- package/.output/public/_nuxt/CR3jGlpM.js +1 -0
- package/.output/public/_nuxt/CntoM1kL.js +1 -0
- package/.output/public/_nuxt/DogqooqX.js +1 -0
- package/.output/public/_nuxt/Zsu92SSr.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -0
- package/.output/public/_nuxt/builds/meta/e74555da-0c18-4e95-b959-2bdcc538677b.json +1 -0
- package/.output/public/_nuxt/default.CRZmPCG_.css +1 -0
- package/.output/public/_nuxt/e3lOfLH3.js +1 -0
- package/.output/public/_nuxt/entry.SgkJh-3P.css +1 -0
- package/.output/public/_nuxt/error-404.CTIGkQtd.css +1 -0
- package/.output/public/_nuxt/error-500.CKBWIF4V.css +1 -0
- package/.output/public/_nuxt/fCd72uLR.js +1 -0
- package/.output/public/_nuxt/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2 +0 -0
- package/.output/public/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2 +0 -0
- package/.output/public/_nuxt/inter-greek-ext-wght-normal.DlzME5K_.woff2 +0 -0
- package/.output/public/_nuxt/inter-greek-wght-normal.CkhJZR-_.woff2 +0 -0
- package/.output/public/_nuxt/inter-latin-ext-wght-normal.DO1Apj_S.woff2 +0 -0
- package/.output/public/_nuxt/inter-latin-wght-normal.Dx4kXJAl.woff2 +0 -0
- package/.output/public/_nuxt/inter-vietnamese-wght-normal.CBcvBZtf.woff2 +0 -0
- package/.output/public/_nuxt/vk0fkBN0.js +1 -0
- package/.output/public/_nuxt/zg6VsE4d.js +39 -0
- package/.output/public/brand/logo/businesslens-mark.svg +20 -0
- package/.output/public/favicon.svg +13 -0
- package/.output/server/chunks/_/error-500.mjs +19 -0
- package/.output/server/chunks/_/error-500.mjs.map +1 -0
- package/.output/server/chunks/_/icons.mjs +6150 -0
- package/.output/server/chunks/_/icons.mjs.map +1 -0
- package/.output/server/chunks/build/Card-DJ5Lo0Cn.mjs +161 -0
- package/.output/server/chunks/build/Card-DJ5Lo0Cn.mjs.map +1 -0
- package/.output/server/chunks/build/EntityInspector-fTjbuYoq.mjs +4412 -0
- package/.output/server/chunks/build/EntityInspector-fTjbuYoq.mjs.map +1 -0
- package/.output/server/chunks/build/Slideover-KOfskX1l.mjs +4226 -0
- package/.output/server/chunks/build/Slideover-KOfskX1l.mjs.map +1 -0
- package/.output/server/chunks/build/Tooltip-DkxwLaX6.mjs +1338 -0
- package/.output/server/chunks/build/Tooltip-DkxwLaX6.mjs.map +1 -0
- package/.output/server/chunks/build/client.precomputed.mjs +4 -0
- package/.output/server/chunks/build/client.precomputed.mjs.map +1 -0
- package/.output/server/chunks/build/default-BJSthw3t.mjs +8999 -0
- package/.output/server/chunks/build/default-BJSthw3t.mjs.map +1 -0
- package/.output/server/chunks/build/default-styles.BYgqaNao.mjs +8 -0
- package/.output/server/chunks/build/default-styles.BYgqaNao.mjs.map +1 -0
- package/.output/server/chunks/build/error-404-BOiGLcfP.mjs +96 -0
- package/.output/server/chunks/build/error-404-BOiGLcfP.mjs.map +1 -0
- package/.output/server/chunks/build/error-404-styles.DA-UkGXW.mjs +8 -0
- package/.output/server/chunks/build/error-404-styles.DA-UkGXW.mjs.map +1 -0
- package/.output/server/chunks/build/error-500-Bwyw373t.mjs +79 -0
- package/.output/server/chunks/build/error-500-Bwyw373t.mjs.map +1 -0
- package/.output/server/chunks/build/error-500-styles.De7qbKJ2.mjs +8 -0
- package/.output/server/chunks/build/error-500-styles.De7qbKJ2.mjs.map +1 -0
- package/.output/server/chunks/build/index-BuhKSZfH.mjs +313 -0
- package/.output/server/chunks/build/index-BuhKSZfH.mjs.map +1 -0
- package/.output/server/chunks/build/journeys-DHHOyxCM.mjs +244 -0
- package/.output/server/chunks/build/journeys-DHHOyxCM.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +14099 -0
- package/.output/server/chunks/build/server.mjs.map +1 -0
- package/.output/server/chunks/build/styles.mjs +9 -0
- package/.output/server/chunks/build/styles.mjs.map +1 -0
- package/.output/server/chunks/build/topology-BJfDB_jA.mjs +295 -0
- package/.output/server/chunks/build/topology-BJfDB_jA.mjs.map +1 -0
- package/.output/server/chunks/build/useReport-pDAk-ETG.mjs +406 -0
- package/.output/server/chunks/build/useReport-pDAk-ETG.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +5770 -0
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -0
- package/.output/server/chunks/routes/api/report.get.mjs +617 -0
- package/.output/server/chunks/routes/api/report.get.mjs.map +1 -0
- package/.output/server/chunks/routes/renderer.mjs +451 -0
- package/.output/server/chunks/routes/renderer.mjs.map +1 -0
- package/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
- package/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
- package/.output/server/index.mjs +12 -0
- package/.output/server/index.mjs.map +1 -0
- package/.output/server/node_modules/.nitro/hookable@5.5.3/dist/index.mjs +290 -0
- package/.output/server/node_modules/.nitro/hookable@5.5.3/package.json +49 -0
- package/.output/server/node_modules/.nitro/hookable@6.1.1/dist/index.mjs +257 -0
- package/.output/server/node_modules/.nitro/hookable@6.1.1/package.json +53 -0
- package/.output/server/node_modules/@babel/parser/lib/index.js +14599 -0
- package/.output/server/node_modules/@babel/parser/package.json +50 -0
- package/.output/server/node_modules/@iconify/utils/lib/colors/index.js +295 -0
- package/.output/server/node_modules/@iconify/utils/lib/colors/keywords.js +701 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/common.js +75 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/format.js +39 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/icon.js +47 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/icons.js +128 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/bool.js +19 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/defaults.js +13 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/flip.js +17 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/merge.js +16 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/rotate.js +30 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/cleanup.js +78 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/convert.js +100 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/data.js +28 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/format.js +58 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/parse.js +48 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/base.js +203 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/create.js +33 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/numbers.js +132 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/similar.js +165 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/tree.js +79 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/find.js +92 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/replace.js +26 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/components.js +76 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/missing.js +66 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/name.js +45 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/parse.js +103 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/similar.js +36 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/tree.js +92 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/variations.js +62 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/defaults.js +25 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/merge.js +16 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/name.js +57 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/square.js +33 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/transformations.js +12 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/convert-info.js +125 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/expand.js +19 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icon.js +25 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icons.js +36 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/minify.js +91 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/parse.js +46 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/tree.js +23 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate-basic.js +42 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate.js +123 -0
- package/.output/server/node_modules/@iconify/utils/lib/index.js +52 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/custom.js +30 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/loader.js +26 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/modern.js +27 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/utils.js +105 -0
- package/.output/server/node_modules/@iconify/utils/lib/misc/objects.js +26 -0
- package/.output/server/node_modules/@iconify/utils/lib/misc/strings.js +26 -0
- package/.output/server/node_modules/@iconify/utils/lib/misc/title.js +9 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/build.js +113 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/defs.js +31 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/encode-svg-for-css.js +13 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/html.js +9 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/id.js +41 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/inner-html.js +22 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/parse.js +67 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/pretty.js +54 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/size.js +27 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/trim.js +7 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/url.js +22 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/viewbox.js +8 -0
- package/.output/server/node_modules/@iconify/utils/package.json +119 -0
- package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6759 -0
- package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
- package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +689 -0
- package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
- package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1413 -0
- package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
- package/.output/server/node_modules/@vue/devtools-api/dist/index.js +2 -0
- package/.output/server/node_modules/@vue/devtools-api/package.json +34 -0
- package/.output/server/node_modules/@vue/devtools-kit/dist/index.js +5670 -0
- package/.output/server/node_modules/@vue/devtools-kit/package.json +44 -0
- package/.output/server/node_modules/@vue/devtools-shared/dist/index.js +239 -0
- package/.output/server/node_modules/@vue/devtools-shared/package.json +33 -0
- package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1899 -0
- package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
- package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6940 -0
- package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
- package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1822 -0
- package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
- package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +896 -0
- package/.output/server/node_modules/@vue/server-renderer/package.json +55 -0
- package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +604 -0
- package/.output/server/node_modules/@vue/shared/package.json +47 -0
- package/.output/server/node_modules/@vue-flow/core/dist/vue-flow-core.mjs +10186 -0
- package/.output/server/node_modules/@vue-flow/core/package.json +95 -0
- package/.output/server/node_modules/ajv/dist/2020.js +55 -0
- package/.output/server/node_modules/ajv/dist/ajv.js +50 -0
- package/.output/server/node_modules/ajv/dist/compile/codegen/code.js +156 -0
- package/.output/server/node_modules/ajv/dist/compile/codegen/index.js +697 -0
- package/.output/server/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
- package/.output/server/node_modules/ajv/dist/compile/errors.js +123 -0
- package/.output/server/node_modules/ajv/dist/compile/index.js +242 -0
- package/.output/server/node_modules/ajv/dist/compile/names.js +28 -0
- package/.output/server/node_modules/ajv/dist/compile/ref_error.js +12 -0
- package/.output/server/node_modules/ajv/dist/compile/resolve.js +155 -0
- package/.output/server/node_modules/ajv/dist/compile/rules.js +26 -0
- package/.output/server/node_modules/ajv/dist/compile/util.js +178 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/dataType.js +203 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/index.js +520 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
- package/.output/server/node_modules/ajv/dist/core.js +618 -0
- package/.output/server/node_modules/ajv/dist/refs/data.json +13 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
- package/.output/server/node_modules/ajv/dist/runtime/equal.js +7 -0
- package/.output/server/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
- package/.output/server/node_modules/ajv/dist/runtime/uri.js +6 -0
- package/.output/server/node_modules/ajv/dist/runtime/validation_error.js +11 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/code.js +131 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/index.js +104 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/draft2020.js +23 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/index.js +9 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/next.js +8 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/unevaluated/index.js +7 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +65 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/enum.js +48 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitContains.js +15 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/pattern.js +24 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
- package/.output/server/node_modules/ajv/package.json +126 -0
- package/.output/server/node_modules/ajv-formats/dist/formats.js +208 -0
- package/.output/server/node_modules/ajv-formats/dist/index.js +37 -0
- package/.output/server/node_modules/ajv-formats/dist/limit.js +69 -0
- package/.output/server/node_modules/ajv-formats/package.json +74 -0
- package/.output/server/node_modules/birpc/dist/index.mjs +291 -0
- package/.output/server/node_modules/birpc/package.json +57 -0
- package/.output/server/node_modules/consola/dist/chunks/prompt.mjs +280 -0
- package/.output/server/node_modules/consola/dist/core.mjs +512 -0
- package/.output/server/node_modules/consola/dist/index.mjs +651 -0
- package/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
- package/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
- package/.output/server/node_modules/consola/package.json +136 -0
- package/.output/server/node_modules/devalue/index.js +4 -0
- package/.output/server/node_modules/devalue/package.json +40 -0
- package/.output/server/node_modules/devalue/src/base64.js +60 -0
- package/.output/server/node_modules/devalue/src/constants.js +12 -0
- package/.output/server/node_modules/devalue/src/parse.js +283 -0
- package/.output/server/node_modules/devalue/src/stringify.js +401 -0
- package/.output/server/node_modules/devalue/src/uneval.js +552 -0
- package/.output/server/node_modules/devalue/src/utils.js +160 -0
- package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
- package/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
- package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
- package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
- package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
- package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
- package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
- package/.output/server/node_modules/entities/package.json +120 -0
- package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
- package/.output/server/node_modules/estree-walker/package.json +37 -0
- package/.output/server/node_modules/fast-deep-equal/index.js +46 -0
- package/.output/server/node_modules/fast-deep-equal/package.json +61 -0
- package/.output/server/node_modules/fast-uri/index.js +406 -0
- package/.output/server/node_modules/fast-uri/lib/schemes.js +267 -0
- package/.output/server/node_modules/fast-uri/lib/utils.js +443 -0
- package/.output/server/node_modules/fast-uri/package.json +68 -0
- package/.output/server/node_modules/json-schema-traverse/index.js +93 -0
- package/.output/server/node_modules/json-schema-traverse/package.json +43 -0
- package/.output/server/node_modules/perfect-debounce/dist/index.mjs +89 -0
- package/.output/server/node_modules/perfect-debounce/package.json +41 -0
- package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
- package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
- package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
- package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
- package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
- package/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
- package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
- package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
- package/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
- package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
- package/.output/server/node_modules/source-map-js/package.json +71 -0
- package/.output/server/node_modules/source-map-js/source-map.js +8 -0
- package/.output/server/node_modules/tailwindcss/dist/chunk-X4GG3EDV.mjs +1 -0
- package/.output/server/node_modules/tailwindcss/dist/colors.mjs +1 -0
- package/.output/server/node_modules/tailwindcss/package.json +89 -0
- package/.output/server/node_modules/ufo/dist/index.mjs +645 -0
- package/.output/server/node_modules/ufo/package.json +48 -0
- package/.output/server/node_modules/unhead/dist/index.mjs +9 -0
- package/.output/server/node_modules/unhead/dist/parser.mjs +508 -0
- package/.output/server/node_modules/unhead/dist/plugins.mjs +101 -0
- package/.output/server/node_modules/unhead/dist/scripts.mjs +30 -0
- package/.output/server/node_modules/unhead/dist/server.mjs +180 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.B3VbJo7Y.mjs +207 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.BYvz9V1x.mjs +43 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.BnoAbrHA.mjs +269 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CaI5ZD4O.mjs +182 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CbpEuj3y.mjs +71 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.D4vSFytZ.mjs +236 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.DQc16pHI.mjs +196 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.Dh1cQCTe.mjs +44 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.TxTMM7cM.mjs +166 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.yem5I2v_.mjs +38 -0
- package/.output/server/node_modules/unhead/dist/utils.mjs +5 -0
- package/.output/server/node_modules/unhead/package.json +105 -0
- package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
- package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
- package/.output/server/node_modules/vue/index.js +7 -0
- package/.output/server/node_modules/vue/index.mjs +1 -0
- package/.output/server/node_modules/vue/package.json +112 -0
- package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
- package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +249 -0
- package/.output/server/node_modules/vue-bundle-renderer/package.json +57 -0
- package/.output/server/node_modules/vue-router/dist/devtools-DCoWQoU_.js +1034 -0
- package/.output/server/node_modules/vue-router/dist/useApi-s_02lHjl.js +181 -0
- package/.output/server/node_modules/vue-router/dist/vue-router.js +1499 -0
- package/.output/server/node_modules/vue-router/package.json +226 -0
- package/.output/server/node_modules/vue-router/vue-router.node.mjs +2 -0
- package/.output/server/package.json +41 -0
- package/README.md +114 -0
- package/THIRD_PARTY_NOTICES.md +28 -0
- package/bin/businesslens.mjs +181 -0
- package/package.json +68 -0
- package/packages/report-schema/schemas/report.schema.json +235 -0
- package/packages/report-schema/types/index.ts +1 -0
- package/packages/report-schema/types/report.ts +101 -0
- package/packages/report-schema/validate.mjs +111 -0
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://businesslens.dev/schemas/report.schema.json",
|
|
4
|
+
"$defs": {
|
|
5
|
+
"id": {
|
|
6
|
+
"type": "string",
|
|
7
|
+
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
|
|
8
|
+
},
|
|
9
|
+
"codeRef": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"additionalProperties": false,
|
|
12
|
+
"required": ["path"],
|
|
13
|
+
"properties": {
|
|
14
|
+
"path": { "type": "string", "minLength": 1 },
|
|
15
|
+
"symbol": { "type": "string", "minLength": 1 },
|
|
16
|
+
"line": { "type": "integer", "minimum": 1 }
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"taxonomy": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"additionalProperties": false,
|
|
22
|
+
"required": ["id", "name", "description"],
|
|
23
|
+
"properties": {
|
|
24
|
+
"id": { "$ref": "#/$defs/id" },
|
|
25
|
+
"name": { "type": "string", "minLength": 1 },
|
|
26
|
+
"description": { "type": "string", "minLength": 1 },
|
|
27
|
+
"colorSlot": { "type": "integer", "minimum": 1, "maximum": 12 }
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"type": "object",
|
|
32
|
+
"additionalProperties": false,
|
|
33
|
+
"required": [
|
|
34
|
+
"schemaVersion",
|
|
35
|
+
"id",
|
|
36
|
+
"title",
|
|
37
|
+
"description",
|
|
38
|
+
"tags",
|
|
39
|
+
"generatedAt",
|
|
40
|
+
"source",
|
|
41
|
+
"generator",
|
|
42
|
+
"summary",
|
|
43
|
+
"limitations",
|
|
44
|
+
"model",
|
|
45
|
+
"coverage"
|
|
46
|
+
],
|
|
47
|
+
"properties": {
|
|
48
|
+
"schemaVersion": { "const": "2.0.0" },
|
|
49
|
+
"id": { "$ref": "#/$defs/id" },
|
|
50
|
+
"title": { "type": "string", "minLength": 1 },
|
|
51
|
+
"description": { "type": "string", "minLength": 1 },
|
|
52
|
+
"tags": {
|
|
53
|
+
"type": "array",
|
|
54
|
+
"items": { "type": "string", "minLength": 1 },
|
|
55
|
+
"uniqueItems": true
|
|
56
|
+
},
|
|
57
|
+
"generatedAt": { "type": "string", "format": "date" },
|
|
58
|
+
"source": {
|
|
59
|
+
"type": "object",
|
|
60
|
+
"additionalProperties": false,
|
|
61
|
+
"required": ["repository", "repositoryUrl", "branch", "commit", "analyzedAt"],
|
|
62
|
+
"properties": {
|
|
63
|
+
"repository": { "type": "string", "minLength": 1 },
|
|
64
|
+
"repositoryUrl": { "type": "string", "format": "uri" },
|
|
65
|
+
"logoUrl": { "type": "string", "format": "uri" },
|
|
66
|
+
"branch": { "type": "string", "minLength": 1 },
|
|
67
|
+
"commit": { "type": "string", "pattern": "^[a-f0-9]{7,64}$" },
|
|
68
|
+
"analyzedAt": { "type": "string", "format": "date" }
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"generator": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"additionalProperties": false,
|
|
74
|
+
"required": ["name", "version"],
|
|
75
|
+
"properties": {
|
|
76
|
+
"name": { "type": "string", "minLength": 1 },
|
|
77
|
+
"version": { "type": "string", "minLength": 1 }
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"summary": {
|
|
81
|
+
"type": "object",
|
|
82
|
+
"additionalProperties": false,
|
|
83
|
+
"required": ["actors", "domains", "journeys", "scenarios"],
|
|
84
|
+
"properties": {
|
|
85
|
+
"actors": { "type": "integer", "minimum": 0 },
|
|
86
|
+
"domains": { "type": "integer", "minimum": 0 },
|
|
87
|
+
"journeys": { "type": "integer", "minimum": 0 },
|
|
88
|
+
"scenarios": { "type": "integer", "minimum": 0 }
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"limitations": {
|
|
92
|
+
"type": "array",
|
|
93
|
+
"items": { "type": "string", "minLength": 1 }
|
|
94
|
+
},
|
|
95
|
+
"model": {
|
|
96
|
+
"type": "object",
|
|
97
|
+
"additionalProperties": false,
|
|
98
|
+
"required": ["taxonomies", "actors", "domains", "journeys", "scenarios"],
|
|
99
|
+
"properties": {
|
|
100
|
+
"taxonomies": {
|
|
101
|
+
"type": "object",
|
|
102
|
+
"additionalProperties": false,
|
|
103
|
+
"required": ["scenarioKinds"],
|
|
104
|
+
"properties": {
|
|
105
|
+
"scenarioKinds": {
|
|
106
|
+
"type": "array",
|
|
107
|
+
"items": { "$ref": "#/$defs/taxonomy" }
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"actors": {
|
|
112
|
+
"type": "array",
|
|
113
|
+
"items": {
|
|
114
|
+
"type": "object",
|
|
115
|
+
"additionalProperties": false,
|
|
116
|
+
"required": ["id", "name", "description"],
|
|
117
|
+
"properties": {
|
|
118
|
+
"id": { "$ref": "#/$defs/id" },
|
|
119
|
+
"name": { "type": "string", "minLength": 1 },
|
|
120
|
+
"description": { "type": "string", "minLength": 1 }
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"domains": {
|
|
125
|
+
"type": "array",
|
|
126
|
+
"items": {
|
|
127
|
+
"type": "object",
|
|
128
|
+
"additionalProperties": false,
|
|
129
|
+
"required": ["id", "name", "description"],
|
|
130
|
+
"properties": {
|
|
131
|
+
"id": { "$ref": "#/$defs/id" },
|
|
132
|
+
"name": { "type": "string", "minLength": 1 },
|
|
133
|
+
"description": { "type": "string", "minLength": 1 },
|
|
134
|
+
"colorSlot": { "type": "integer", "minimum": 1, "maximum": 12 }
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"journeys": {
|
|
139
|
+
"type": "array",
|
|
140
|
+
"items": {
|
|
141
|
+
"type": "object",
|
|
142
|
+
"additionalProperties": false,
|
|
143
|
+
"required": ["id", "title", "summary", "domainId", "actorIds", "entryPoints", "codeRefs"],
|
|
144
|
+
"properties": {
|
|
145
|
+
"id": { "$ref": "#/$defs/id" },
|
|
146
|
+
"title": { "type": "string", "minLength": 1 },
|
|
147
|
+
"summary": { "type": "string", "minLength": 1 },
|
|
148
|
+
"domainId": { "$ref": "#/$defs/id" },
|
|
149
|
+
"actorIds": {
|
|
150
|
+
"type": "array",
|
|
151
|
+
"items": { "$ref": "#/$defs/id" },
|
|
152
|
+
"minItems": 1,
|
|
153
|
+
"uniqueItems": true
|
|
154
|
+
},
|
|
155
|
+
"entryPoints": {
|
|
156
|
+
"type": "array",
|
|
157
|
+
"items": {
|
|
158
|
+
"type": "object",
|
|
159
|
+
"additionalProperties": false,
|
|
160
|
+
"required": ["type", "path"],
|
|
161
|
+
"properties": {
|
|
162
|
+
"type": { "type": "string", "minLength": 1 },
|
|
163
|
+
"path": { "type": "string", "minLength": 1 }
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"codeRefs": {
|
|
168
|
+
"type": "array",
|
|
169
|
+
"items": { "$ref": "#/$defs/codeRef" },
|
|
170
|
+
"minItems": 1
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"scenarios": {
|
|
176
|
+
"type": "array",
|
|
177
|
+
"items": {
|
|
178
|
+
"type": "object",
|
|
179
|
+
"additionalProperties": false,
|
|
180
|
+
"required": ["id", "journeyId", "title", "kindId", "trigger", "steps", "outcome", "edgeCases"],
|
|
181
|
+
"properties": {
|
|
182
|
+
"id": { "$ref": "#/$defs/id" },
|
|
183
|
+
"journeyId": { "$ref": "#/$defs/id" },
|
|
184
|
+
"title": { "type": "string", "minLength": 1 },
|
|
185
|
+
"kindId": { "$ref": "#/$defs/id" },
|
|
186
|
+
"trigger": { "type": "string", "minLength": 1 },
|
|
187
|
+
"steps": {
|
|
188
|
+
"type": "array",
|
|
189
|
+
"minItems": 1,
|
|
190
|
+
"items": { "type": "string", "minLength": 1 }
|
|
191
|
+
},
|
|
192
|
+
"outcome": { "type": "string", "minLength": 1 },
|
|
193
|
+
"edgeCases": {
|
|
194
|
+
"type": "array",
|
|
195
|
+
"items": { "type": "string", "minLength": 1 }
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
"coverage": {
|
|
203
|
+
"type": "object",
|
|
204
|
+
"additionalProperties": false,
|
|
205
|
+
"required": ["status", "method", "sourceAreas", "counts", "mapped", "unmapped", "limitations"],
|
|
206
|
+
"properties": {
|
|
207
|
+
"status": { "enum": ["complete", "partial", "draft"] },
|
|
208
|
+
"method": {
|
|
209
|
+
"type": "array",
|
|
210
|
+
"items": { "type": "string", "minLength": 1 }
|
|
211
|
+
},
|
|
212
|
+
"sourceAreas": {
|
|
213
|
+
"type": "array",
|
|
214
|
+
"items": { "type": "string", "minLength": 1 }
|
|
215
|
+
},
|
|
216
|
+
"counts": {
|
|
217
|
+
"type": "object",
|
|
218
|
+
"additionalProperties": { "type": "integer", "minimum": 0 }
|
|
219
|
+
},
|
|
220
|
+
"mapped": {
|
|
221
|
+
"type": "object",
|
|
222
|
+
"additionalProperties": { "type": "integer", "minimum": 0 }
|
|
223
|
+
},
|
|
224
|
+
"unmapped": {
|
|
225
|
+
"type": "array",
|
|
226
|
+
"items": { "type": "string", "minLength": 1 }
|
|
227
|
+
},
|
|
228
|
+
"limitations": {
|
|
229
|
+
"type": "array",
|
|
230
|
+
"items": { "type": "string", "minLength": 1 }
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type * from "./report";
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
export type CodeReference = {
|
|
2
|
+
path: string;
|
|
3
|
+
symbol?: string;
|
|
4
|
+
line?: number;
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export type TaxonomyEntry = {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
colorSlot?: number;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export type ReportActor = {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export type ReportDomain = {
|
|
21
|
+
id: string;
|
|
22
|
+
name: string;
|
|
23
|
+
description: string;
|
|
24
|
+
colorSlot?: number;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export type ReportEntryPoint = {
|
|
28
|
+
type: string;
|
|
29
|
+
path: string;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export type ReportJourney = {
|
|
33
|
+
id: string;
|
|
34
|
+
title: string;
|
|
35
|
+
summary: string;
|
|
36
|
+
domainId: string;
|
|
37
|
+
actorIds: string[];
|
|
38
|
+
entryPoints: ReportEntryPoint[];
|
|
39
|
+
codeRefs: CodeReference[];
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export type ReportScenario = {
|
|
43
|
+
id: string;
|
|
44
|
+
journeyId: string;
|
|
45
|
+
title: string;
|
|
46
|
+
kindId: string;
|
|
47
|
+
trigger: string;
|
|
48
|
+
steps: string[];
|
|
49
|
+
outcome: string;
|
|
50
|
+
edgeCases: string[];
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export type ReportModel = {
|
|
54
|
+
taxonomies: {
|
|
55
|
+
scenarioKinds: TaxonomyEntry[];
|
|
56
|
+
};
|
|
57
|
+
actors: ReportActor[];
|
|
58
|
+
domains: ReportDomain[];
|
|
59
|
+
journeys: ReportJourney[];
|
|
60
|
+
scenarios: ReportScenario[];
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export type ReportCoverage = {
|
|
64
|
+
status: "complete" | "partial" | "draft";
|
|
65
|
+
method: string[];
|
|
66
|
+
sourceAreas: string[];
|
|
67
|
+
counts: Record<string, number>;
|
|
68
|
+
mapped: Record<string, number>;
|
|
69
|
+
unmapped: string[];
|
|
70
|
+
limitations: string[];
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export type BusinessLensReport = {
|
|
74
|
+
schemaVersion: "2.0.0";
|
|
75
|
+
id: string;
|
|
76
|
+
title: string;
|
|
77
|
+
description: string;
|
|
78
|
+
tags: string[];
|
|
79
|
+
generatedAt: string;
|
|
80
|
+
source: {
|
|
81
|
+
repository: string;
|
|
82
|
+
repositoryUrl: string;
|
|
83
|
+
logoUrl?: string;
|
|
84
|
+
branch: string;
|
|
85
|
+
commit: string;
|
|
86
|
+
analyzedAt: string;
|
|
87
|
+
};
|
|
88
|
+
generator: {
|
|
89
|
+
name: string;
|
|
90
|
+
version: string;
|
|
91
|
+
};
|
|
92
|
+
summary: {
|
|
93
|
+
actors: number;
|
|
94
|
+
domains: number;
|
|
95
|
+
journeys: number;
|
|
96
|
+
scenarios: number;
|
|
97
|
+
};
|
|
98
|
+
limitations: string[];
|
|
99
|
+
model: ReportModel;
|
|
100
|
+
coverage: ReportCoverage;
|
|
101
|
+
};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import Ajv2020 from "ajv/dist/2020.js";
|
|
3
|
+
import addFormats from "ajv-formats";
|
|
4
|
+
import reportSchema from "./schemas/report.schema.json" with { type: "json" };
|
|
5
|
+
|
|
6
|
+
let compiledValidator;
|
|
7
|
+
|
|
8
|
+
async function schemaValidator() {
|
|
9
|
+
if (compiledValidator) return compiledValidator;
|
|
10
|
+
const ajv = new Ajv2020({ allErrors: true, strict: false });
|
|
11
|
+
addFormats(ajv);
|
|
12
|
+
compiledValidator = ajv.compile(reportSchema);
|
|
13
|
+
return compiledValidator;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function duplicateIds(items) {
|
|
17
|
+
const seen = new Set();
|
|
18
|
+
const duplicates = new Set();
|
|
19
|
+
for (const item of items) {
|
|
20
|
+
if (seen.has(item.id)) duplicates.add(item.id);
|
|
21
|
+
seen.add(item.id);
|
|
22
|
+
}
|
|
23
|
+
return [...duplicates];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function requireReferences(ids, available, label, errors) {
|
|
27
|
+
for (const id of ids) {
|
|
28
|
+
if (!available.has(id)) errors.push(`${label} references missing id: ${id}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function semanticErrors(report) {
|
|
33
|
+
const errors = [];
|
|
34
|
+
const { model } = report;
|
|
35
|
+
if (!model) return errors;
|
|
36
|
+
|
|
37
|
+
const collections = {
|
|
38
|
+
actors: model.actors || [],
|
|
39
|
+
domains: model.domains || [],
|
|
40
|
+
journeys: model.journeys || [],
|
|
41
|
+
scenarios: model.scenarios || [],
|
|
42
|
+
scenarioKinds: model.taxonomies?.scenarioKinds || [],
|
|
43
|
+
};
|
|
44
|
+
for (const [name, items] of Object.entries(collections)) {
|
|
45
|
+
for (const id of duplicateIds(items)) errors.push(`${name} contains duplicate id: ${id}`);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const actorIds = new Set(collections.actors.map(item => item.id));
|
|
49
|
+
const domainIds = new Set(collections.domains.map(item => item.id));
|
|
50
|
+
const journeyIds = new Set(collections.journeys.map(item => item.id));
|
|
51
|
+
const scenarioKindIds = new Set(collections.scenarioKinds.map(item => item.id));
|
|
52
|
+
|
|
53
|
+
for (const journey of collections.journeys) {
|
|
54
|
+
requireReferences([journey.domainId], domainIds, `journey ${journey.id}`, errors);
|
|
55
|
+
requireReferences(journey.actorIds || [], actorIds, `journey ${journey.id}`, errors);
|
|
56
|
+
if (!collections.scenarios.some(scenario => scenario.journeyId === journey.id)) {
|
|
57
|
+
errors.push(`journey ${journey.id} has no scenarios`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
for (const scenario of collections.scenarios) {
|
|
61
|
+
requireReferences([scenario.journeyId], journeyIds, `scenario ${scenario.id}`, errors);
|
|
62
|
+
requireReferences([scenario.kindId], scenarioKindIds, `scenario ${scenario.id}`, errors);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const expectedSummary = {
|
|
66
|
+
actors: collections.actors.length,
|
|
67
|
+
domains: collections.domains.length,
|
|
68
|
+
journeys: collections.journeys.length,
|
|
69
|
+
scenarios: collections.scenarios.length,
|
|
70
|
+
};
|
|
71
|
+
for (const [key, value] of Object.entries(expectedSummary)) {
|
|
72
|
+
if (report.summary?.[key] !== value) {
|
|
73
|
+
errors.push(`summary ${key} is ${report.summary?.[key]}, expected ${value}`);
|
|
74
|
+
}
|
|
75
|
+
if (report.coverage?.counts?.[key] !== undefined && report.coverage.counts[key] !== value) {
|
|
76
|
+
errors.push(`coverage count ${key} is ${report.coverage.counts[key]}, expected ${value}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (
|
|
80
|
+
report.coverage?.mapped?.journeysWithScenarios !== undefined
|
|
81
|
+
&& report.coverage.mapped.journeysWithScenarios !== collections.journeys.length
|
|
82
|
+
) {
|
|
83
|
+
errors.push(
|
|
84
|
+
`coverage mapped journeysWithScenarios is ${report.coverage.mapped.journeysWithScenarios}, expected ${collections.journeys.length}`,
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return errors;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export async function validateReportData(report) {
|
|
92
|
+
const validate = await schemaValidator();
|
|
93
|
+
const errors = [];
|
|
94
|
+
if (!validate(report)) {
|
|
95
|
+
for (const issue of validate.errors || []) {
|
|
96
|
+
errors.push(`report${issue.instancePath || "/"} ${issue.message}`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (!errors.length) errors.push(...semanticErrors(report));
|
|
100
|
+
return errors;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export async function readReportFile(path) {
|
|
104
|
+
let report;
|
|
105
|
+
try {
|
|
106
|
+
report = JSON.parse(await readFile(path, "utf8"));
|
|
107
|
+
} catch (error) {
|
|
108
|
+
return { errors: [`report.json cannot be read: ${error.message}`] };
|
|
109
|
+
}
|
|
110
|
+
return { report, errors: await validateReportData(report) };
|
|
111
|
+
}
|