@ifc-lite/cli 0.33.1 → 0.36.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/README.md +9 -2
- package/dist/commands/anonymize.d.ts.map +1 -1
- package/dist/commands/anonymize.js +1 -0
- package/dist/commands/anonymize.js.map +1 -1
- package/dist/commands/check.d.ts +2 -0
- package/dist/commands/check.d.ts.map +1 -0
- package/dist/commands/check.js +119 -0
- package/dist/commands/check.js.map +1 -0
- package/dist/commands/convert.d.ts.map +1 -1
- package/dist/commands/convert.js +28 -8
- package/dist/commands/convert.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +6 -0
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/delivery-checks-rules.d.ts +37 -0
- package/dist/commands/delivery-checks-rules.d.ts.map +1 -0
- package/dist/commands/delivery-checks-rules.js +76 -0
- package/dist/commands/delivery-checks-rules.js.map +1 -0
- package/dist/commands/delivery-checks.d.ts +12 -0
- package/dist/commands/delivery-checks.d.ts.map +1 -1
- package/dist/commands/delivery-checks.js +16 -5
- package/dist/commands/delivery-checks.js.map +1 -1
- package/dist/commands/delivery-recipe.d.ts +13 -2
- package/dist/commands/delivery-recipe.d.ts.map +1 -1
- package/dist/commands/delivery-recipe.js +29 -17
- package/dist/commands/delivery-recipe.js.map +1 -1
- package/dist/commands/delivery-report.d.ts +2 -2
- package/dist/commands/delivery-report.d.ts.map +1 -1
- package/dist/commands/delivery-report.js +14 -4
- package/dist/commands/delivery-report.js.map +1 -1
- package/dist/commands/delivery.d.ts.map +1 -1
- package/dist/commands/delivery.js +17 -5
- package/dist/commands/delivery.js.map +1 -1
- package/dist/commands/diff-content-io.d.ts +50 -0
- package/dist/commands/diff-content-io.d.ts.map +1 -0
- package/dist/commands/diff-content-io.js +104 -0
- package/dist/commands/diff-content-io.js.map +1 -0
- package/dist/commands/diff-content-report.d.ts +23 -0
- package/dist/commands/diff-content-report.d.ts.map +1 -0
- package/dist/commands/diff-content-report.js +67 -0
- package/dist/commands/diff-content-report.js.map +1 -0
- package/dist/commands/diff-content.d.ts +19 -0
- package/dist/commands/diff-content.d.ts.map +1 -1
- package/dist/commands/diff-content.js +120 -129
- package/dist/commands/diff-content.js.map +1 -1
- package/dist/commands/diff-engine.d.ts +32 -1
- package/dist/commands/diff-engine.d.ts.map +1 -1
- package/dist/commands/diff-engine.js +76 -15
- package/dist/commands/diff-engine.js.map +1 -1
- package/dist/commands/diff-geometry.d.ts +107 -0
- package/dist/commands/diff-geometry.d.ts.map +1 -0
- package/dist/commands/diff-geometry.js +262 -0
- package/dist/commands/diff-geometry.js.map +1 -0
- package/dist/commands/diff-lineage-io.d.ts +23 -0
- package/dist/commands/diff-lineage-io.d.ts.map +1 -0
- package/dist/commands/diff-lineage-io.js +119 -0
- package/dist/commands/diff-lineage-io.js.map +1 -0
- package/dist/commands/diff-scope.d.ts.map +1 -1
- package/dist/commands/diff-scope.js +2 -0
- package/dist/commands/diff-scope.js.map +1 -1
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +36 -3
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +13 -0
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/ext.js +26 -10
- package/dist/commands/ext.js.map +1 -1
- package/dist/commands/extract-entities.d.ts.map +1 -1
- package/dist/commands/extract-entities.js +26 -8
- package/dist/commands/extract-entities.js.map +1 -1
- package/dist/commands/flow-tracking.d.ts +20 -0
- package/dist/commands/flow-tracking.d.ts.map +1 -0
- package/dist/commands/flow-tracking.js +86 -0
- package/dist/commands/flow-tracking.js.map +1 -0
- package/dist/commands/flow.d.ts +2 -0
- package/dist/commands/flow.d.ts.map +1 -0
- package/dist/commands/flow.js +229 -0
- package/dist/commands/flow.js.map +1 -0
- package/dist/commands/gym/channels.d.ts.map +1 -1
- package/dist/commands/gym/channels.js +10 -2
- package/dist/commands/gym/channels.js.map +1 -1
- package/dist/commands/gym.d.ts.map +1 -1
- package/dist/commands/gym.js +5 -1
- package/dist/commands/gym.js.map +1 -1
- package/dist/commands/ids.d.ts.map +1 -1
- package/dist/commands/ids.js +36 -3
- package/dist/commands/ids.js.map +1 -1
- package/dist/commands/info.d.ts.map +1 -1
- package/dist/commands/info.js +20 -5
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/layer-publish.d.ts.map +1 -1
- package/dist/commands/layer-publish.js +6 -0
- package/dist/commands/layer-publish.js.map +1 -1
- package/dist/commands/lod.d.ts.map +1 -1
- package/dist/commands/lod.js +4 -1
- package/dist/commands/lod.js.map +1 -1
- package/dist/commands/mutate-step-record.d.ts +25 -1
- package/dist/commands/mutate-step-record.d.ts.map +1 -1
- package/dist/commands/mutate-step-record.js +17 -22
- package/dist/commands/mutate-step-record.js.map +1 -1
- package/dist/commands/mutate.d.ts +2 -1
- package/dist/commands/mutate.d.ts.map +1 -1
- package/dist/commands/mutate.js +27 -2
- package/dist/commands/mutate.js.map +1 -1
- package/dist/commands/rekey.d.ts +27 -0
- package/dist/commands/rekey.d.ts.map +1 -0
- package/dist/commands/rekey.js +213 -0
- package/dist/commands/rekey.js.map +1 -0
- package/dist/commands/simplify.d.ts.map +1 -1
- package/dist/commands/simplify.js +4 -1
- package/dist/commands/simplify.js.map +1 -1
- package/dist/commands/validate.d.ts +5 -14
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +13 -15
- package/dist/commands/validate.js.map +1 -1
- package/dist/headless-backend-store-authoring.d.ts +28 -0
- package/dist/headless-backend-store-authoring.d.ts.map +1 -0
- package/dist/headless-backend-store-authoring.js +34 -0
- package/dist/headless-backend-store-authoring.js.map +1 -0
- package/dist/headless-backend.d.ts +7 -0
- package/dist/headless-backend.d.ts.map +1 -1
- package/dist/headless-backend.js +78 -66
- package/dist/headless-backend.js.map +1 -1
- package/dist/help.d.ts +22 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +260 -0
- package/dist/help.js.map +1 -0
- package/dist/index.js +45 -183
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts +2 -0
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +30 -1
- package/dist/loader.js.map +1 -1
- package/dist/out-flag-commands.d.ts +12 -0
- package/dist/out-flag-commands.d.ts.map +1 -0
- package/dist/out-flag-commands.js +19 -0
- package/dist/out-flag-commands.js.map +1 -0
- package/dist/query-overlay-relations.d.ts +8 -28
- package/dist/query-overlay-relations.d.ts.map +1 -1
- package/dist/query-overlay-relations.js +68 -78
- package/dist/query-overlay-relations.js.map +1 -1
- package/dist/query-overlay.d.ts +5 -3
- package/dist/query-overlay.d.ts.map +1 -1
- package/dist/query-overlay.js +57 -16
- package/dist/query-overlay.js.map +1 -1
- package/package.json +26 -22
- package/dist/version.d.ts +0 -14
- package/dist/version.d.ts.map +0 -1
- package/dist/version.js +0 -38
- package/dist/version.js.map +0 -1
package/README.md
CHANGED
|
@@ -32,22 +32,29 @@ pending generic mutation overlays are not included until reload.
|
|
|
32
32
|
- `info` - model summary: schema, entities, storeys
|
|
33
33
|
- `query` - query entities by type, properties, quantities; supports `--sum`, `--group-by`, `--spatial`
|
|
34
34
|
- `props` - all properties for a single entity (`--id N`)
|
|
35
|
-
- `export` - export to `csv`, `json`, `ifc`,
|
|
35
|
+
- `export` - export to `csv`, `json`, `ifc`, `obj`, `gltf`, `glb`, `jsonld`, `ifcx`, `usd`, `step`, `hbjson`, or `dfjson`
|
|
36
36
|
- `ids` - validate against buildingSMART IDS rules
|
|
37
37
|
- `validate` - structural validation checks
|
|
38
38
|
- `stats` - auto-calculated model KPIs and health check
|
|
39
39
|
- `clash` - geometric clash detection, `--matrix`, `--bcf` output
|
|
40
40
|
- `bcf` - create and inspect BCF collaboration files
|
|
41
|
-
- `create` - create IFC elements from scratch (walls, slabs, stairs,
|
|
41
|
+
- `create` - create IFC elements from scratch (walls, slabs, stairs, 29 types)
|
|
42
42
|
- `mutate` - modify properties or attributes and save
|
|
43
43
|
- `merge` - merge multiple IFC files into one federated file
|
|
44
44
|
- `convert` - convert between IFC schema versions (`--schema IFC4`)
|
|
45
45
|
- `diff` - compare two IFC files
|
|
46
|
+
- `rekey` - carry a table keyed on old element keys across a revision
|
|
46
47
|
- `eval` / `run` - run SDK expressions or scripts against a model
|
|
47
48
|
- `ask` - natural language BIM queries
|
|
48
49
|
- `view` - interactive 3D viewer in the browser, controllable via REST (`/api/command`)
|
|
49
50
|
- `analyze` - query plus colorize/isolate/heatmap results in the running viewer
|
|
51
|
+
- `simplify` - demesher: simplify meshes, write a lighter IFC
|
|
50
52
|
- `mcp` - start an MCP server bound to one or more IFC files (stdio or http)
|
|
53
|
+
- `layer` - layered change tracking over a local store (`.ifc-lite/`)
|
|
54
|
+
- `ref` - manage named refs in the layer store
|
|
55
|
+
- `anonymize` - export selected objects + context as an anonymized IFC
|
|
56
|
+
- `schedule` - tabular schedule of one class (csv/json/md/html)
|
|
57
|
+
- `delivery` - repeatable delivery check (structural + IDS) from a saved recipe
|
|
51
58
|
- `gym` - reset/step/reward environment loop over the existing schema/clash/ids checks (see below)
|
|
52
59
|
- `schema`, `bsdd`, `diagnose-geometry`, `extract-entities`, `generate-spaces`, `lod`, `ext` - see `ifc-lite --help`
|
|
53
60
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anonymize.d.ts","sourceRoot":"","sources":["../../src/commands/anonymize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"anonymize.d.ts","sourceRoot":"","sources":["../../src/commands/anonymize.ts"],"names":[],"mappings":"AAyEA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+KpE"}
|
|
@@ -53,6 +53,7 @@ function normalizeTypeName(typeStr) {
|
|
|
53
53
|
*/
|
|
54
54
|
function buildGlobalIdIndex(store) {
|
|
55
55
|
const index = new Map();
|
|
56
|
+
// @raw-entity-enumeration-ok anonymizeCommand loads one source file and has no mutation view
|
|
56
57
|
for (const [, ids] of store.entityIndex.byType) {
|
|
57
58
|
for (const id of ids)
|
|
58
59
|
index.set(new EntityNode(store, id).globalId, id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anonymize.js","sourceRoot":"","sources":["../../src/commands/anonymize.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE9F,MAAM,KAAK,GACT,gDAAgD;IAChD,yDAAyD;IACzD,0EAA0E;IAC1E,kFAAkF;IAClF,2EAA2E;IAC3E,+CAA+C,CAAC;AAElD,4EAA4E;AAC5E,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,OAAO;SACX,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAC1C,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,SAAS,QAAQ,KAAK,CAAC,CAAC;QAClF,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,KAAmB;IAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC/C,KAAK,MAAM,EAAE,IAAI,GAAG;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAE7D,0EAA0E;IAC1E,4EAA4E;IAC5E,6BAA6B;IAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YAC9E,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACvE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC7C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,aAAa,GACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,UAAU,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,KAAK,CAAC,wBAAwB,UAAU,gBAAgB,KAAK,IAAI,QAAQ,GAAG,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,8CAA8C,UAAU,EAAE,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,iEAAiE,KAAK,EAAE,CAAC,CAAC;QAChF,OAAO;IACT,CAAC;IAED,sDAAsD;IACtD,wEAAwE;IACxE,uEAAuE;IACvE,wEAAwE;IACxE,2EAA2E;IAC3E,uEAAuE;IACvE,2EAA2E;IAC3E,0EAA0E;IAC1E,eAAe;IACf,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE7F,MAAM,cAAc,GAAyB;QAC3C,kBAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,wBAAwB,CAAC;QAC5D,kBAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,wBAAwB,CAAC;QAC5D,mBAAmB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,0BAA0B,CAAC;QAC/D,wBAAwB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,8BAA8B,CAAC;QACxE,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACxE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QAC9D,+BAA+B,EAAE,YAAY;QAC7C,yEAAyE;QACzE,mEAAmE;QACnE,sEAAsE;QACtE,uEAAuE;QACvE,yBAAyB,EAAE,SAAS;KACrC,CAAC;IAEF,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAErE,MAAM,gBAAgB,GAAqB;QACzC,gBAAgB,EAAE,SAAS;QAC3B,0EAA0E;QAC1E,iBAAiB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC;QACjD,0EAA0E;QAC1E,kEAAkE;QAClE,oBAAoB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,oBAAoB,CAAC;QAC1D,gFAAgF;QAChF,kBAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC;QACrD,wEAAwE;QACxE,sEAAsE;QACtE,sEAAsE;QACtE,0EAA0E;QAC1E,wEAAwE;QACxE,yEAAyE;QACzE,qDAAqD;KACtD,CAAC;IAEF,IAAI,MAAiD,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IAED,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAChD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC;YACR,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;YAC/B,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;YACrC,uBAAuB,EAAE,MAAM,CAAC,KAAK,CAAC,uBAAuB;YAC7D,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB;YACzD,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB;YAC/C,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;YAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,WAAW,IAAI,IAAI;YAC5B,GAAG,EAAE,OAAO;SACb,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,cAAc,KAAK,CAAC,IAAI,eAAe,OAAO,CAAC,GAAG,CAAC,IAAI,wBAAwB,MAAM,CAAC,KAAK,CAAC,WAAW,yBAAyB,OAAO,IAAI,CAC5I,CAAC;IACF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8HAA8H,CAC/H,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/E,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uBAAuB,WAAW,uDAAuD;YACvF,yBAAyB,OAAO,sCAAsC,CACzE,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"anonymize.js","sourceRoot":"","sources":["../../src/commands/anonymize.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE9F,MAAM,KAAK,GACT,gDAAgD;IAChD,yDAAyD;IACzD,0EAA0E;IAC1E,kFAAkF;IAClF,2EAA2E;IAC3E,+CAA+C,CAAC;AAElD,4EAA4E;AAC5E,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,OAAO;SACX,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAC1C,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,SAAS,QAAQ,KAAK,CAAC,CAAC;QAClF,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,KAAmB;IAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,6FAA6F;IAC7F,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC/C,KAAK,MAAM,EAAE,IAAI,GAAG;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAE7D,0EAA0E;IAC1E,4EAA4E;IAC5E,6BAA6B;IAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YAC9E,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACvE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC7C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,aAAa,GACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,UAAU,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,KAAK,CAAC,wBAAwB,UAAU,gBAAgB,KAAK,IAAI,QAAQ,GAAG,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,8CAA8C,UAAU,EAAE,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,iEAAiE,KAAK,EAAE,CAAC,CAAC;QAChF,OAAO;IACT,CAAC;IAED,sDAAsD;IACtD,wEAAwE;IACxE,uEAAuE;IACvE,wEAAwE;IACxE,2EAA2E;IAC3E,uEAAuE;IACvE,2EAA2E;IAC3E,0EAA0E;IAC1E,eAAe;IACf,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE7F,MAAM,cAAc,GAAyB;QAC3C,kBAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,wBAAwB,CAAC;QAC5D,kBAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,wBAAwB,CAAC;QAC5D,mBAAmB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,0BAA0B,CAAC;QAC/D,wBAAwB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,8BAA8B,CAAC;QACxE,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACxE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QAC9D,+BAA+B,EAAE,YAAY;QAC7C,yEAAyE;QACzE,mEAAmE;QACnE,sEAAsE;QACtE,uEAAuE;QACvE,yBAAyB,EAAE,SAAS;KACrC,CAAC;IAEF,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAErE,MAAM,gBAAgB,GAAqB;QACzC,gBAAgB,EAAE,SAAS;QAC3B,0EAA0E;QAC1E,iBAAiB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC;QACjD,0EAA0E;QAC1E,kEAAkE;QAClE,oBAAoB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,oBAAoB,CAAC;QAC1D,gFAAgF;QAChF,kBAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC;QACrD,wEAAwE;QACxE,sEAAsE;QACtE,sEAAsE;QACtE,0EAA0E;QAC1E,wEAAwE;QACxE,yEAAyE;QACzE,qDAAqD;KACtD,CAAC;IAEF,IAAI,MAAiD,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IAED,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAChD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC;YACR,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;YAC/B,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;YACrC,uBAAuB,EAAE,MAAM,CAAC,KAAK,CAAC,uBAAuB;YAC7D,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB;YACzD,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB;YAC/C,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;YAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,WAAW,IAAI,IAAI;YAC5B,GAAG,EAAE,OAAO;SACb,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,cAAc,KAAK,CAAC,IAAI,eAAe,OAAO,CAAC,GAAG,CAAC,IAAI,wBAAwB,MAAM,CAAC,KAAK,CAAC,WAAW,yBAAyB,OAAO,IAAI,CAC5I,CAAC;IACF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8HAA8H,CAC/H,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/E,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uBAAuB,WAAW,uDAAuD;YACvF,yBAAyB,OAAO,sCAAsC,CACzE,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAqCA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiEhE"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
/**
|
|
5
|
+
* ifc-lite check <model.ifc>... --rules <file.rules.json> [--format json|table] [--fail-on error|warning]
|
|
6
|
+
*
|
|
7
|
+
* Run a `.rules.json` information-validation rule set (the SAME `@ifc-lite/rules`
|
|
8
|
+
* engine the viewer's Data Validation panel runs, #5138 PR 7a) against one or
|
|
9
|
+
* more already-parsed models. No second evaluator, no parity fixture.
|
|
10
|
+
*
|
|
11
|
+
* Exit codes, tri-state (never folded into two):
|
|
12
|
+
* - `0` — every rule passed (or was not applicable).
|
|
13
|
+
* - `1` — at least one rule FAILED at a severity `--fail-on` counts (default
|
|
14
|
+
* `error`: `severity:'warning'` rules never fail the run; pass
|
|
15
|
+
* `--fail-on warning` to make them count too).
|
|
16
|
+
* - `2` — a model could not be read/parsed, or the engine itself could not
|
|
17
|
+
* evaluate a rule (`SpecificationResult.error` set — e.g. a
|
|
18
|
+
* ReDoS-rejected regex). This always wins over `1`: an unevaluated
|
|
19
|
+
* rule is not evidence either way, so it can never read as a clean
|
|
20
|
+
* `1`-vs-`0` verdict.
|
|
21
|
+
*/
|
|
22
|
+
import { readFile } from 'node:fs/promises';
|
|
23
|
+
import { getFlag, fatal, printJson } from '../output.js';
|
|
24
|
+
import { loadModelForDelivery } from './delivery-checks.js';
|
|
25
|
+
import { parseRuleSetFile, runRuleSet } from '@ifc-lite/rules';
|
|
26
|
+
const FORMATS = ['json', 'table'];
|
|
27
|
+
const FAIL_ON_VALUES = ['error', 'warning'];
|
|
28
|
+
const USAGE = 'Usage: ifc-lite check <model.ifc>... --rules <file.rules.json> [--format json|table] [--fail-on error|warning]';
|
|
29
|
+
export async function checkCommand(args) {
|
|
30
|
+
const rulesPath = getFlag(args, '--rules');
|
|
31
|
+
if (!rulesPath)
|
|
32
|
+
fatal(USAGE);
|
|
33
|
+
const format = (getFlag(args, '--format') ?? 'table');
|
|
34
|
+
if (!FORMATS.includes(format))
|
|
35
|
+
fatal(`--format must be one of: ${FORMATS.join(', ')}`);
|
|
36
|
+
const failOn = (getFlag(args, '--fail-on') ?? 'error');
|
|
37
|
+
if (!FAIL_ON_VALUES.includes(failOn))
|
|
38
|
+
fatal(`--fail-on must be one of: ${FAIL_ON_VALUES.join(', ')}`);
|
|
39
|
+
const modelPaths = [];
|
|
40
|
+
for (let i = 0; i < args.length; i++) {
|
|
41
|
+
if (args[i].startsWith('-')) {
|
|
42
|
+
if (args[i] === '--rules' || args[i] === '--format' || args[i] === '--fail-on')
|
|
43
|
+
i++; // skip value
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
modelPaths.push(args[i]);
|
|
47
|
+
}
|
|
48
|
+
if (modelPaths.length === 0)
|
|
49
|
+
fatal(USAGE);
|
|
50
|
+
let rulesRaw;
|
|
51
|
+
try {
|
|
52
|
+
rulesRaw = await readFile(rulesPath, 'utf-8');
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
fatal(`Rules file "${rulesPath}" could not be read: ${err.message}`);
|
|
56
|
+
}
|
|
57
|
+
let rulesJson;
|
|
58
|
+
try {
|
|
59
|
+
rulesJson = JSON.parse(rulesRaw);
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
fatal(`Rules file "${rulesPath}" is not valid JSON: ${err.message}`);
|
|
63
|
+
}
|
|
64
|
+
const parsed = parseRuleSetFile(rulesJson);
|
|
65
|
+
if (!parsed.ok)
|
|
66
|
+
fatal(`Rules file "${rulesPath}" is invalid: ${parsed.error}`);
|
|
67
|
+
// A rule set with no rules evaluates nothing and would report `0/0 rules
|
|
68
|
+
// passed` with exit 0 — a clean bill of health for a check that never ran.
|
|
69
|
+
// `delivery` already refuses this shape; so does `check` (review on #5171).
|
|
70
|
+
if (parsed.file.rules.length === 0)
|
|
71
|
+
fatal(`Rules file "${rulesPath}" declares zero rules — nothing to check.`);
|
|
72
|
+
// Every model is loaded before any rule runs — an unreadable model is
|
|
73
|
+
// `error` (exit 2), never a report silently scoped down to the models
|
|
74
|
+
// that DID parse (that would misrepresent what was actually checked).
|
|
75
|
+
const models = [];
|
|
76
|
+
for (const modelPath of modelPaths) {
|
|
77
|
+
const loaded = await loadModelForDelivery(modelPath);
|
|
78
|
+
if ('error' in loaded) {
|
|
79
|
+
process.stderr.write(`Error: model "${modelPath}" ${loaded.error}\n`);
|
|
80
|
+
process.exitCode = 2;
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
models.push({ id: modelPath, filterIdentity: loaded.sourceFingerprint, store: loaded.store });
|
|
84
|
+
}
|
|
85
|
+
const report = await runRuleSet({ ruleSet: parsed.file, models });
|
|
86
|
+
if (format === 'json') {
|
|
87
|
+
printJson(report);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
printHumanTable(report, rulesPath);
|
|
91
|
+
}
|
|
92
|
+
const severityById = new Map(parsed.file.rules.map((r) => [r.id, r.severity ?? 'error']));
|
|
93
|
+
process.exitCode = exitCodeFor(report, severityById, failOn);
|
|
94
|
+
}
|
|
95
|
+
/** Never `0`/`1` when any rule was unevaluable — see the module doc. */
|
|
96
|
+
function exitCodeFor(report, severityById, failOn) {
|
|
97
|
+
if (report.specificationResults.some((r) => r.error !== undefined))
|
|
98
|
+
return 2;
|
|
99
|
+
const hardFail = report.specificationResults.some((r) => {
|
|
100
|
+
if (r.status !== 'fail')
|
|
101
|
+
return false;
|
|
102
|
+
const severity = severityById.get(r.specification.id) ?? 'error';
|
|
103
|
+
return severity === 'warning' ? failOn === 'warning' : true;
|
|
104
|
+
});
|
|
105
|
+
return hardFail ? 1 : 0;
|
|
106
|
+
}
|
|
107
|
+
function printHumanTable(report, rulesPath) {
|
|
108
|
+
const ruleSetName = report.source.kind === 'rules' ? report.source.ruleSet.name : rulesPath;
|
|
109
|
+
process.stdout.write(`\n Rule check: ${rulesPath} (${ruleSetName})\n\n`);
|
|
110
|
+
for (const spec of report.specificationResults) {
|
|
111
|
+
const status = spec.error !== undefined ? 'ERR ' : spec.status === 'pass' ? 'PASS' : spec.status === 'fail' ? 'FAIL' : 'N/A ';
|
|
112
|
+
const setFailures = (spec.setResults ?? []).filter((s) => !s.passed).length;
|
|
113
|
+
const setInfo = setFailures > 0 ? `, ${setFailures} set failure(s)` : '';
|
|
114
|
+
const errInfo = spec.error !== undefined ? ` — ${spec.error}` : '';
|
|
115
|
+
process.stdout.write(` [${status}] ${spec.specification.name} applicable=${spec.applicableCount} passed=${spec.passedCount} failed=${spec.failedCount}${setInfo}${errInfo}\n`);
|
|
116
|
+
}
|
|
117
|
+
process.stdout.write(`\n ${report.summary.passedSpecifications}/${report.summary.totalSpecifications} rules passed\n\n`);
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/commands/convert.ts"],"names":[],"mappings":"AAkBA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/commands/convert.ts"],"names":[],"mappings":"AAkBA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DlE"}
|
package/dist/commands/convert.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import { writeFile } from 'node:fs/promises';
|
|
11
11
|
import { loadIfcFile } from '../loader.js';
|
|
12
12
|
import { getFlag, hasFlag, fatal, printJson } from '../output.js';
|
|
13
|
-
import { exportToStep } from '@ifc-lite/export';
|
|
13
|
+
import { exportToStep, analyzeConversionLoss } from '@ifc-lite/export';
|
|
14
14
|
const VALID_SCHEMAS = ['IFC2X3', 'IFC4', 'IFC4X3', 'IFC5'];
|
|
15
15
|
export async function convertCommand(args) {
|
|
16
16
|
const filePath = args.find(a => !a.startsWith('-'));
|
|
@@ -28,22 +28,42 @@ export async function convertCommand(args) {
|
|
|
28
28
|
const jsonOutput = hasFlag(args, '--json');
|
|
29
29
|
process.stderr.write(`Loading ${filePath}...\n`);
|
|
30
30
|
const store = await loadIfcFile(filePath);
|
|
31
|
-
const sourceSchema = store.schemaVersion ?? 'IFC4';
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
const sourceSchema = (store.schemaVersion ?? 'IFC4');
|
|
32
|
+
const targetSchemaVersion = targetSchema.toUpperCase();
|
|
33
|
+
process.stderr.write(`Converting ${sourceSchema} → ${targetSchemaVersion}...\n`);
|
|
34
|
+
// Computed before attempting the export (#4206): a store-level classification
|
|
35
|
+
// of what every entity TYPE present will become, so a type this schema pair
|
|
36
|
+
// cannot represent at all is reported by name and express id instead of
|
|
37
|
+
// surfacing as an uncaught exception from the middle of `exportToStep` —
|
|
38
|
+
// `analyzeConversionLoss` never throws and always covers the whole file.
|
|
39
|
+
const lossReport = analyzeConversionLoss(store, sourceSchema, targetSchemaVersion);
|
|
40
|
+
for (const line of lossReport.describe())
|
|
41
|
+
process.stderr.write(` ${line}\n`);
|
|
42
|
+
if (lossReport.hasBlocking) {
|
|
43
|
+
fatal(`Cannot convert ${filePath} to ${targetSchemaVersion}: it contains entity types with no ${targetSchemaVersion} ` +
|
|
44
|
+
'representation that are not IfcRoot subtypes, so they can neither be dropped nor replaced with a placeholder ' +
|
|
45
|
+
'(see the entries logged above). Remove them before targeting this schema.');
|
|
46
|
+
}
|
|
47
|
+
const content = exportToStep(store, { schema: targetSchemaVersion });
|
|
36
48
|
await writeFile(outPath, content, 'utf-8');
|
|
37
49
|
if (jsonOutput) {
|
|
38
50
|
printJson({
|
|
39
51
|
file: outPath,
|
|
40
52
|
sourceSchema,
|
|
41
|
-
targetSchema:
|
|
53
|
+
targetSchema: targetSchemaVersion,
|
|
42
54
|
fileSize: Buffer.byteLength(content, 'utf-8'),
|
|
55
|
+
lossReport: lossReport.entries.map((e) => ({
|
|
56
|
+
type: e.sourceType,
|
|
57
|
+
targetType: e.targetType,
|
|
58
|
+
kind: e.kind,
|
|
59
|
+
count: e.count,
|
|
60
|
+
expressIds: e.expressIds,
|
|
61
|
+
droppedAttributes: e.droppedAttributes,
|
|
62
|
+
})),
|
|
43
63
|
});
|
|
44
64
|
}
|
|
45
65
|
else {
|
|
46
|
-
process.stderr.write(`Converted to ${outPath} (${
|
|
66
|
+
process.stderr.write(`Converted to ${outPath} (${targetSchemaVersion})\n`);
|
|
47
67
|
}
|
|
48
68
|
}
|
|
49
69
|
//# sourceMappingURL=convert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/commands/convert.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/commands/convert.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAS9C,eAAO,MAAM,aAAa,UAOzB,CAAC;AAEF,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkHjE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAS9C,eAAO,MAAM,aAAa,UAOzB,CAAC;AAEF,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkHjE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAmS5H;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgD1E;AAED,6CAA6C;AAC7C,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C"}
|
package/dist/commands/create.js
CHANGED
|
@@ -415,6 +415,12 @@ export function addElement(creator, storey, elementType, params) {
|
|
|
415
415
|
Name: p.Name ?? 'Rectangle Hollow Beam',
|
|
416
416
|
...p,
|
|
417
417
|
});
|
|
418
|
+
// `createCommand` has already created the project's storey, so `storey`
|
|
419
|
+
// is the one listed type that adds nothing: it yields a bare
|
|
420
|
+
// project+site+building+storey skeleton, and returns the storey so
|
|
421
|
+
// `--pset`/`--qset`/`--material` still attach to something real.
|
|
422
|
+
case 'storey':
|
|
423
|
+
return storey;
|
|
418
424
|
default:
|
|
419
425
|
fatal(`Unknown element type: ${elementType}\n\nSupported: ${ELEMENT_TYPES.join(', ')}`);
|
|
420
426
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { IfcDataStore } from '@ifc-lite/parser';
|
|
2
|
+
import type { CheckStatus } from './delivery-checks.js';
|
|
3
|
+
export interface RulesCheckResult {
|
|
4
|
+
type: 'rules';
|
|
5
|
+
model: string;
|
|
6
|
+
source: string;
|
|
7
|
+
status: CheckStatus;
|
|
8
|
+
totalRules?: number;
|
|
9
|
+
passedRules?: number;
|
|
10
|
+
failedRules?: number;
|
|
11
|
+
erroredRules?: number;
|
|
12
|
+
error?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Run one `.rules.json` information-validation rule set (`@ifc-lite/rules`,
|
|
16
|
+
* #5138 PR 7b — the SAME engine `ifc-lite check` and the viewer's Data
|
|
17
|
+
* Validation panel run) against one already-loaded model.
|
|
18
|
+
*
|
|
19
|
+
* `status` is `error` when the rules file itself could not be
|
|
20
|
+
* read/parsed/validated, when it declares zero rules (nothing was actually
|
|
21
|
+
* evaluated), or when ANY rule's `SpecificationResult.error` is set (the
|
|
22
|
+
* engine could not evaluate it — e.g. a ReDoS-rejected regex). An
|
|
23
|
+
* unevaluable rule is never silently folded into `pass`. Otherwise `fail`
|
|
24
|
+
* iff at least one rule's `status` is `'fail'`.
|
|
25
|
+
*
|
|
26
|
+
* Each recipe's `rules` file runs against ONE model at a time here,
|
|
27
|
+
* matching the per-model loop `ifc-lite delivery` already uses for `ids` —
|
|
28
|
+
* a rule federated across every recipe model (`targets`, `unique` scope
|
|
29
|
+
* `'federation'`) is `ifc-lite check`'s job: run directly against every
|
|
30
|
+
* declared model file in one invocation, not `delivery`'s per-model shape.
|
|
31
|
+
*
|
|
32
|
+
* `sourceFingerprint` is `LoadedModel.sourceFingerprint` (#5138 PR 7b
|
|
33
|
+
* review) — passed through as `filterIdentity` so a rule with `targets`
|
|
34
|
+
* resolves against this model exactly as the viewer would.
|
|
35
|
+
*/
|
|
36
|
+
export declare function runRulesCheck(modelPath: string, store: IfcDataStore, rulesPath: string, sourceFingerprint: string): Promise<RulesCheckResult>;
|
|
37
|
+
//# sourceMappingURL=delivery-checks-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-checks-rules.d.ts","sourceRoot":"","sources":["../../src/commands/delivery-checks-rules.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6CnJ"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
/**
|
|
5
|
+
* `.rules.json` check evaluation for `ifc-lite delivery`'s `rules` field —
|
|
6
|
+
* split out of `delivery-checks.ts` (module-size ratchet: adding this
|
|
7
|
+
* pushed that file over 400 lines).
|
|
8
|
+
*/
|
|
9
|
+
import { readFile } from 'node:fs/promises';
|
|
10
|
+
import { parseRuleSetFile, runRuleSet } from '@ifc-lite/rules';
|
|
11
|
+
/**
|
|
12
|
+
* Run one `.rules.json` information-validation rule set (`@ifc-lite/rules`,
|
|
13
|
+
* #5138 PR 7b — the SAME engine `ifc-lite check` and the viewer's Data
|
|
14
|
+
* Validation panel run) against one already-loaded model.
|
|
15
|
+
*
|
|
16
|
+
* `status` is `error` when the rules file itself could not be
|
|
17
|
+
* read/parsed/validated, when it declares zero rules (nothing was actually
|
|
18
|
+
* evaluated), or when ANY rule's `SpecificationResult.error` is set (the
|
|
19
|
+
* engine could not evaluate it — e.g. a ReDoS-rejected regex). An
|
|
20
|
+
* unevaluable rule is never silently folded into `pass`. Otherwise `fail`
|
|
21
|
+
* iff at least one rule's `status` is `'fail'`.
|
|
22
|
+
*
|
|
23
|
+
* Each recipe's `rules` file runs against ONE model at a time here,
|
|
24
|
+
* matching the per-model loop `ifc-lite delivery` already uses for `ids` —
|
|
25
|
+
* a rule federated across every recipe model (`targets`, `unique` scope
|
|
26
|
+
* `'federation'`) is `ifc-lite check`'s job: run directly against every
|
|
27
|
+
* declared model file in one invocation, not `delivery`'s per-model shape.
|
|
28
|
+
*
|
|
29
|
+
* `sourceFingerprint` is `LoadedModel.sourceFingerprint` (#5138 PR 7b
|
|
30
|
+
* review) — passed through as `filterIdentity` so a rule with `targets`
|
|
31
|
+
* resolves against this model exactly as the viewer would.
|
|
32
|
+
*/
|
|
33
|
+
export async function runRulesCheck(modelPath, store, rulesPath, sourceFingerprint) {
|
|
34
|
+
const base = { type: 'rules', model: modelPath, source: rulesPath };
|
|
35
|
+
let rulesContent;
|
|
36
|
+
try {
|
|
37
|
+
rulesContent = await readFile(rulesPath, 'utf-8');
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
return { ...base, status: 'error', error: `could not be read: ${err.message}` };
|
|
41
|
+
}
|
|
42
|
+
let rulesJson;
|
|
43
|
+
try {
|
|
44
|
+
rulesJson = JSON.parse(rulesContent);
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
return { ...base, status: 'error', error: `is not valid JSON: ${err.message}` };
|
|
48
|
+
}
|
|
49
|
+
const parsed = parseRuleSetFile(rulesJson);
|
|
50
|
+
if (!parsed.ok) {
|
|
51
|
+
return { ...base, status: 'error', error: parsed.error };
|
|
52
|
+
}
|
|
53
|
+
if (parsed.file.rules.length === 0) {
|
|
54
|
+
return { ...base, status: 'error', error: 'declares zero rules' };
|
|
55
|
+
}
|
|
56
|
+
const evaluatorModel = { id: modelPath, filterIdentity: sourceFingerprint, store };
|
|
57
|
+
let report;
|
|
58
|
+
try {
|
|
59
|
+
report = await runRuleSet({ ruleSet: parsed.file, models: [evaluatorModel] });
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
return { ...base, status: 'error', error: `evaluation failed: ${err.message}` };
|
|
63
|
+
}
|
|
64
|
+
const totalRules = report.specificationResults.length;
|
|
65
|
+
const erroredRules = report.specificationResults.filter(r => r.error !== undefined).length;
|
|
66
|
+
const failedRules = report.specificationResults.filter(r => r.error === undefined && r.status === 'fail').length;
|
|
67
|
+
const passedRules = totalRules - erroredRules - failedRules;
|
|
68
|
+
const status = erroredRules > 0 ? 'error' : failedRules > 0 ? 'fail' : 'pass';
|
|
69
|
+
return {
|
|
70
|
+
...base,
|
|
71
|
+
status,
|
|
72
|
+
totalRules, passedRules, failedRules, erroredRules,
|
|
73
|
+
...(status === 'error' && erroredRules > 0 ? { error: `${erroredRules} of ${totalRules} rule(s) could not be evaluated` } : {}),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=delivery-checks-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-checks-rules.js","sourceRoot":"","sources":["../../src/commands/delivery-checks-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,17 @@ export interface LoadedModel {
|
|
|
5
5
|
path: string;
|
|
6
6
|
/** SHA-256 of the exact bytes read from disk (post ifcZIP unwrap: the STEP text actually checked). */
|
|
7
7
|
sha256: string;
|
|
8
|
+
/**
|
|
9
|
+
* The SAME identity the viewer stores as `FederatedModel.sourceFingerprint`
|
|
10
|
+
* (#5138 PR 7b review) — `sourceModelIdentity(basename, bytes)`,
|
|
11
|
+
* `@ifc-lite/cache`'s spread-sampled xxhash64 over the post-unwrap bytes,
|
|
12
|
+
* prefixed with the file's base name exactly as `useIfcLoader.ts` builds
|
|
13
|
+
* `modelSourceIdentity`. A `.rules.json` rule set's `targets.modelFingerprints`
|
|
14
|
+
* (saved from `RuleModelPicker`, which persists `model.sourceFingerprint`
|
|
15
|
+
* verbatim) only resolves against a headless model when this matches
|
|
16
|
+
* bit-for-bit — a SHA-256 (a different algorithm entirely) never would.
|
|
17
|
+
*/
|
|
18
|
+
sourceFingerprint: string;
|
|
8
19
|
store: IfcDataStore;
|
|
9
20
|
}
|
|
10
21
|
export interface ModelLoadError {
|
|
@@ -53,4 +64,5 @@ export interface IdsCheckResult {
|
|
|
53
64
|
* evidence.
|
|
54
65
|
*/
|
|
55
66
|
export declare function runIdsCheck(modelPath: string, store: IfcDataStore, idsPath: string): Promise<IdsCheckResult>;
|
|
67
|
+
export { runRulesCheck, type RulesCheckResult } from './delivery-checks-rules.js';
|
|
56
68
|
//# sourceMappingURL=delivery-checks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-checks.d.ts","sourceRoot":"","sources":["../../src/commands/delivery-checks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delivery-checks.d.ts","sourceRoot":"","sources":["../../src/commands/delivery-checks.ts"],"names":[],"mappings":"AAiCA,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIlF,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAE9E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,sGAAsG;IACtG,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;;OASG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,+FAA+F;AAC/F,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,cAAc,CAAC,CA0C9F;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,sHAAsH;AACtH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,qBAAqB,CAchG;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+GD;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA6ClH;AAMD,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC"}
|