@ifc-lite/cli 0.5.1 → 0.6.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.
Files changed (43) hide show
  1. package/dist/commands/analyze.d.ts +2 -0
  2. package/dist/commands/analyze.d.ts.map +1 -0
  3. package/dist/commands/analyze.js +290 -0
  4. package/dist/commands/analyze.js.map +1 -0
  5. package/dist/commands/create.d.ts +3 -0
  6. package/dist/commands/create.d.ts.map +1 -1
  7. package/dist/commands/create.js +48 -8
  8. package/dist/commands/create.js.map +1 -1
  9. package/dist/commands/eval.d.ts.map +1 -1
  10. package/dist/commands/eval.js +10 -4
  11. package/dist/commands/eval.js.map +1 -1
  12. package/dist/commands/lod.d.ts +2 -0
  13. package/dist/commands/lod.d.ts.map +1 -0
  14. package/dist/commands/lod.js +92 -0
  15. package/dist/commands/lod.js.map +1 -0
  16. package/dist/commands/mutate.d.ts.map +1 -1
  17. package/dist/commands/mutate.js +6 -3
  18. package/dist/commands/mutate.js.map +1 -1
  19. package/dist/commands/run.d.ts.map +1 -1
  20. package/dist/commands/run.js +14 -10
  21. package/dist/commands/run.js.map +1 -1
  22. package/dist/commands/validate.d.ts.map +1 -1
  23. package/dist/commands/validate.js +6 -2
  24. package/dist/commands/validate.js.map +1 -1
  25. package/dist/commands/view.d.ts +4 -0
  26. package/dist/commands/view.d.ts.map +1 -0
  27. package/dist/commands/view.js +254 -0
  28. package/dist/commands/view.js.map +1 -0
  29. package/dist/index.js +24 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/loader.d.ts +10 -0
  32. package/dist/loader.d.ts.map +1 -1
  33. package/dist/loader.js +16 -0
  34. package/dist/loader.js.map +1 -1
  35. package/dist/output.d.ts +4 -0
  36. package/dist/output.d.ts.map +1 -1
  37. package/dist/output.js +12 -0
  38. package/dist/output.js.map +1 -1
  39. package/dist/streaming-viewer.d.ts +2 -0
  40. package/dist/streaming-viewer.d.ts.map +1 -0
  41. package/dist/streaming-viewer.js +6 -0
  42. package/dist/streaming-viewer.js.map +1 -0
  43. package/package.json +13 -10
@@ -0,0 +1,2 @@
1
+ export declare function analyzeCommand(args: string[]): Promise<void>;
2
+ //# sourceMappingURL=analyze.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"AAmRA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoElE"}
@@ -0,0 +1,290 @@
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 analyze <file.ifc> --viewer <port> [options]
6
+ *
7
+ * High-level analysis command that queries entities, checks properties,
8
+ * and pushes visual results to a running 3D viewer.
9
+ *
10
+ * Examples:
11
+ * ifc-lite analyze model.ifc --viewer 3456 --type IfcWall --missing "Pset_WallCommon.FireRating" --color red
12
+ * ifc-lite analyze model.ifc --viewer 3456 --type IfcSlab --where "GrossArea>100" --color orange
13
+ * ifc-lite analyze model.ifc --viewer 3456 --type IfcWall --heatmap "Qto_WallBaseQuantities.GrossSideArea"
14
+ * ifc-lite analyze model.ifc --viewer 3456 --rules rules.json
15
+ */
16
+ import { readFile } from 'node:fs/promises';
17
+ import { createStreamingContext } from '../loader.js';
18
+ import { fatal, getFlag, hasFlag, printJson, validateViewerPort } from '../output.js';
19
+ const NAMED_COLORS = {
20
+ red: [1, 0, 0, 1],
21
+ green: [0, 0.7, 0, 1],
22
+ blue: [0, 0.3, 1, 1],
23
+ yellow: [1, 0.9, 0, 1],
24
+ orange: [1, 0.5, 0, 1],
25
+ purple: [0.6, 0.2, 0.8, 1],
26
+ cyan: [0, 0.8, 0.8, 1],
27
+ white: [1, 1, 1, 1],
28
+ pink: [1, 0.4, 0.7, 1],
29
+ gray: [0.5, 0.5, 0.5, 1],
30
+ };
31
+ function resolveColor(c) {
32
+ if (!c)
33
+ return [1, 0, 0, 1];
34
+ if (NAMED_COLORS[c.toLowerCase()])
35
+ return NAMED_COLORS[c.toLowerCase()];
36
+ const parts = c.split(',').map(Number);
37
+ if (parts.length >= 3)
38
+ return [parts[0], parts[1], parts[2], parts[3] ?? 1];
39
+ return [1, 0, 0, 1];
40
+ }
41
+ function interpolateColor(t, palette) {
42
+ t = Math.max(0, Math.min(1, t));
43
+ switch (palette) {
44
+ case 'green-red':
45
+ return [t, 1 - t, 0, 1];
46
+ case 'rainbow': {
47
+ // HSL hue 0-240 mapped to t 0-1
48
+ const h = (1 - t) * 240;
49
+ const s = 1, l = 0.5;
50
+ const c = (1 - Math.abs(2 * l - 1)) * s;
51
+ const x = c * (1 - Math.abs((h / 60) % 2 - 1));
52
+ const m = l - c / 2;
53
+ let r = 0, g = 0, b = 0;
54
+ if (h < 60) {
55
+ r = c;
56
+ g = x;
57
+ }
58
+ else if (h < 120) {
59
+ r = x;
60
+ g = c;
61
+ }
62
+ else if (h < 180) {
63
+ g = c;
64
+ b = x;
65
+ }
66
+ else if (h < 240) {
67
+ g = x;
68
+ b = c;
69
+ }
70
+ return [r + m, g + m, b + m, 1];
71
+ }
72
+ case 'blue-red':
73
+ default:
74
+ return [t, 0, 1 - t, 1];
75
+ }
76
+ }
77
+ function getPropertyValue(bim, ref, psetName, propName) {
78
+ const psets = bim.properties(ref);
79
+ for (const pset of psets) {
80
+ if (pset.name === psetName) {
81
+ for (const prop of pset.properties) {
82
+ if (prop.name === propName)
83
+ return prop.value;
84
+ }
85
+ }
86
+ }
87
+ return undefined;
88
+ }
89
+ function getQuantityValue(bim, ref, qsetName, qName) {
90
+ const qsets = bim.quantities(ref);
91
+ for (const qset of qsets) {
92
+ if (qsetName && qset.name !== qsetName)
93
+ continue;
94
+ for (const q of qset.quantities) {
95
+ if (q.name === qName)
96
+ return typeof q.value === 'number' ? q.value : undefined;
97
+ }
98
+ }
99
+ return undefined;
100
+ }
101
+ function getNumericValue(bim, ref, path) {
102
+ const parts = path.split('.');
103
+ if (parts.length === 2) {
104
+ // Try as property first, then quantity
105
+ const val = getPropertyValue(bim, ref, parts[0], parts[1]);
106
+ if (typeof val === 'number')
107
+ return val;
108
+ return getQuantityValue(bim, ref, parts[0], parts[1]);
109
+ }
110
+ // Single name — search all quantity sets
111
+ return getQuantityValue(bim, ref, undefined, path);
112
+ }
113
+ function evaluateWhere(bim, ref, whereClause) {
114
+ // Parse simple conditions: "PropName>100", "Pset.Prop=true", "GrossArea<50"
115
+ const match = whereClause.match(/^([^<>=!]+)(<=|>=|!=|=|<|>)(.+)$/);
116
+ if (!match)
117
+ return false;
118
+ const [, path, op, rawExpected] = match;
119
+ const value = getNumericValue(bim, ref, path.trim());
120
+ const expected = rawExpected.trim();
121
+ if (expected === 'true' || expected === 'false') {
122
+ const pv = path.includes('.')
123
+ ? getPropertyValue(bim, ref, path.split('.')[0], path.split('.')[1])
124
+ : undefined;
125
+ const boolVal = pv === true || pv === 'true' || pv === '.T.';
126
+ const expectedBool = expected === 'true';
127
+ switch (op) {
128
+ case '=': return boolVal === expectedBool;
129
+ case '!=': return boolVal !== expectedBool;
130
+ default: return false;
131
+ }
132
+ }
133
+ const numExpected = parseFloat(expected);
134
+ if (value === undefined || isNaN(numExpected))
135
+ return false;
136
+ switch (op) {
137
+ case '>': return value > numExpected;
138
+ case '<': return value < numExpected;
139
+ case '>=': return value >= numExpected;
140
+ case '<=': return value <= numExpected;
141
+ case '=': return value === numExpected;
142
+ case '!=': return value !== numExpected;
143
+ default: return false;
144
+ }
145
+ }
146
+ async function sendViewerCommand(port, cmd) {
147
+ await fetch(`http://localhost:${port}/api/command`, {
148
+ method: 'POST',
149
+ headers: { 'Content-Type': 'application/json' },
150
+ body: JSON.stringify(cmd),
151
+ }).catch(() => { });
152
+ }
153
+ async function runRule(bim, viewerPort, rule) {
154
+ // Get all entities of the specified type
155
+ const allEntities = bim.query().byType(rule.type).toArray();
156
+ const matched = [];
157
+ for (const entity of allEntities) {
158
+ let passes = true;
159
+ if (rule.missing) {
160
+ const parts = rule.missing.split('.');
161
+ if (parts.length === 2) {
162
+ const val = getPropertyValue(bim, entity.ref, parts[0], parts[1]);
163
+ passes = val === undefined || val === null || val === '';
164
+ }
165
+ }
166
+ if (rule.where) {
167
+ passes = evaluateWhere(bim, entity.ref, rule.where);
168
+ }
169
+ if (passes)
170
+ matched.push(entity);
171
+ }
172
+ const matchedIds = matched.map(e => e.ref.expressId);
173
+ // Push visualization — isolate BEFORE colorize so colors aren't wiped
174
+ if (rule.isolate && matchedIds.length > 0) {
175
+ await sendViewerCommand(viewerPort, {
176
+ action: 'isolateEntities',
177
+ ids: matchedIds,
178
+ });
179
+ }
180
+ if (rule.heatmap) {
181
+ const palette = rule.palette ?? 'blue-red';
182
+ const values = matched.map(e => ({
183
+ id: e.ref.expressId,
184
+ value: getNumericValue(bim, e.ref, rule.heatmap) ?? 0,
185
+ }));
186
+ const numericValues = values.map(v => v.value);
187
+ const min = Math.min(...numericValues);
188
+ const max = Math.max(...numericValues);
189
+ const range = max - min || 1;
190
+ // Batch by color bucket (~20 steps) to minimize HTTP roundtrips
191
+ const BUCKET_COUNT = 20;
192
+ const buckets = new Map();
193
+ for (const v of values) {
194
+ const t = (v.value - min) / range;
195
+ const bucket = Math.min(BUCKET_COUNT - 1, Math.floor(t * BUCKET_COUNT));
196
+ if (!buckets.has(bucket))
197
+ buckets.set(bucket, []);
198
+ buckets.get(bucket).push(v.id);
199
+ }
200
+ for (const [bucket, ids] of buckets) {
201
+ const t = (bucket + 0.5) / BUCKET_COUNT;
202
+ const color = interpolateColor(t, palette);
203
+ await sendViewerCommand(viewerPort, {
204
+ action: 'colorizeEntities',
205
+ ids,
206
+ color,
207
+ });
208
+ }
209
+ }
210
+ else if (matchedIds.length > 0) {
211
+ const color = resolveColor(rule.color);
212
+ await sendViewerCommand(viewerPort, {
213
+ action: 'colorizeEntities',
214
+ ids: matchedIds,
215
+ color,
216
+ });
217
+ }
218
+ if (rule.flyto && matchedIds.length > 0) {
219
+ await sendViewerCommand(viewerPort, {
220
+ action: 'flyto',
221
+ ids: matchedIds,
222
+ });
223
+ }
224
+ return {
225
+ rule: rule.name ?? `${rule.type} ${rule.missing ? 'missing ' + rule.missing : rule.where ?? rule.heatmap ?? ''}`.trim(),
226
+ matched: matched.length,
227
+ total: allEntities.length,
228
+ entities: matchedIds,
229
+ };
230
+ }
231
+ export async function analyzeCommand(args) {
232
+ const viewerPortStr = getFlag(args, '--viewer');
233
+ if (!viewerPortStr) {
234
+ fatal('Usage: ifc-lite analyze <file.ifc> --viewer <port> [options]\n\n--viewer is required to push results to the 3D viewer.');
235
+ }
236
+ const viewerPort = validateViewerPort(viewerPortStr);
237
+ const rulesFile = getFlag(args, '--rules');
238
+ const jsonOutput = hasFlag(args, '--json');
239
+ // Find the IFC file
240
+ const positional = args.filter(a => !a.startsWith('-') &&
241
+ !['--viewer', '--rules', '--type', '--missing', '--where', '--color',
242
+ '--heatmap', '--palette', '--out'].includes(args[args.indexOf(a) - 1] ?? ''));
243
+ if (positional.length === 0) {
244
+ fatal('Usage: ifc-lite analyze <file.ifc> --viewer <port> [options]');
245
+ }
246
+ const filePath = positional[0];
247
+ // Load model with streaming viewer support
248
+ process.stderr.write(`Loading ${filePath}...\n`);
249
+ const { bim } = await createStreamingContext(filePath, viewerPort);
250
+ let rules;
251
+ if (rulesFile) {
252
+ const content = await readFile(rulesFile, 'utf-8');
253
+ rules = JSON.parse(content);
254
+ }
255
+ else {
256
+ // Build a single rule from CLI flags
257
+ const type = getFlag(args, '--type');
258
+ if (!type) {
259
+ fatal('Either --type or --rules is required.');
260
+ }
261
+ rules = [{
262
+ name: getFlag(args, '--name') ?? undefined,
263
+ type,
264
+ missing: getFlag(args, '--missing') ?? undefined,
265
+ where: getFlag(args, '--where') ?? undefined,
266
+ heatmap: getFlag(args, '--heatmap') ?? undefined,
267
+ palette: getFlag(args, '--palette') ?? undefined,
268
+ color: getFlag(args, '--color') ?? undefined,
269
+ isolate: hasFlag(args, '--isolate'),
270
+ flyto: hasFlag(args, '--flyto'),
271
+ }];
272
+ }
273
+ const results = [];
274
+ for (const rule of rules) {
275
+ const result = await runRule(bim, viewerPort, rule);
276
+ results.push(result);
277
+ if (!jsonOutput) {
278
+ process.stderr.write(` ${result.rule}: ${result.matched}/${result.total} matched\n`);
279
+ }
280
+ }
281
+ if (jsonOutput) {
282
+ printJson(results);
283
+ }
284
+ else {
285
+ // Summary line
286
+ const totalMatched = results.reduce((s, r) => s + r.matched, 0);
287
+ process.stderr.write(`\n${totalMatched} entities matched across ${results.length} rule(s)\n`);
288
+ }
289
+ }
290
+ //# sourceMappingURL=analyze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,5 @@
1
+ import { IfcCreator } from '@ifc-lite/create';
2
+ export declare const ELEMENT_TYPES: string[];
1
3
  export declare function createCommand(args: string[]): Promise<void>;
4
+ export declare function addElement(creator: IfcCreator, storey: number, elementType: string, params: Record<string, unknown>): number;
2
5
  //# sourceMappingURL=create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAgCA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwEjE"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,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,CA2R5H"}
@@ -17,8 +17,8 @@
17
17
  */
18
18
  import { writeFile } from 'node:fs/promises';
19
19
  import { IfcCreator } from '@ifc-lite/create';
20
- import { getFlag, hasFlag, fatal, printJson } from '../output.js';
21
- const ELEMENT_TYPES = [
20
+ import { getFlag, hasFlag, fatal, printJson, validateViewerPort } from '../output.js';
21
+ export const ELEMENT_TYPES = [
22
22
  'wall', 'slab', 'column', 'beam', 'stair', 'roof', 'gable-roof',
23
23
  'door', 'window', 'wall-door', 'wall-window', 'ramp', 'railing',
24
24
  'plate', 'member', 'footing', 'pile', 'space', 'curtain-wall',
@@ -32,8 +32,7 @@ export async function createCommand(args) {
32
32
  fatal(`Usage: ifc-lite create <type> [options] --out <file.ifc>\n\nTypes: ${ELEMENT_TYPES.join(', ')}`);
33
33
  }
34
34
  const outPath = getFlag(args, '--out');
35
- if (!outPath)
36
- fatal('--out is required for create command');
35
+ const viewerPort = validateViewerPort(getFlag(args, '--viewer'));
37
36
  const projectName = getFlag(args, '--project') ?? 'CLI Project';
38
37
  const storeyName = getFlag(args, '--storey') ?? 'Ground Floor';
39
38
  const storeyElevation = parseFloat(getFlag(args, '--elevation') ?? '0');
@@ -78,20 +77,61 @@ export async function createCommand(args) {
78
77
  }
79
78
  }
80
79
  const result = creator.toIfc();
81
- await writeFile(outPath, result.content, 'utf-8');
80
+ // Write to file (if --out specified)
81
+ if (outPath) {
82
+ await writeFile(outPath, result.content, 'utf-8');
83
+ }
84
+ // Stream to viewer (if --viewer specified)
85
+ let viewerOk = false;
86
+ if (viewerPort) {
87
+ try {
88
+ const resp = await fetch(`http://localhost:${viewerPort}/api/command`, {
89
+ method: 'POST',
90
+ headers: { 'Content-Type': 'application/json' },
91
+ body: JSON.stringify({
92
+ action: 'addGeometry',
93
+ ifcContent: result.content,
94
+ }),
95
+ });
96
+ if (!resp.ok) {
97
+ process.stderr.write(`Viewer HTTP ${resp.status}: ${resp.statusText}\n`);
98
+ }
99
+ else {
100
+ const status = (await resp.json());
101
+ if (status.ok) {
102
+ viewerOk = true;
103
+ process.stderr.write(`Streamed to viewer on port ${viewerPort}\n`);
104
+ }
105
+ else {
106
+ process.stderr.write(`Viewer error: ${status.error}\n`);
107
+ }
108
+ }
109
+ }
110
+ catch {
111
+ process.stderr.write(`Could not connect to viewer on port ${viewerPort}\n`);
112
+ }
113
+ }
114
+ if (!outPath && !viewerPort) {
115
+ fatal('--out or --viewer is required for create command');
116
+ }
117
+ // Fail if viewer-only mode and streaming failed
118
+ if (viewerPort && !outPath && !viewerOk) {
119
+ fatal('Failed to stream geometry to viewer (no --out fallback)');
120
+ }
82
121
  if (jsonOutput) {
83
122
  printJson({
84
- file: outPath,
123
+ file: outPath ?? null,
85
124
  entityCount: result.stats.entityCount,
86
125
  fileSize: result.stats.fileSize,
87
126
  entities: result.entities,
127
+ streamedToViewer: viewerOk,
88
128
  });
89
129
  }
90
- else {
130
+ else if (outPath) {
91
131
  process.stderr.write(`IFC written to ${outPath} (${result.stats.entityCount} entities)\n`);
92
132
  }
93
133
  }
94
- function addElement(creator, storey, elementType, params) {
134
+ export function addElement(creator, storey, elementType, params) {
95
135
  const p = params;
96
136
  switch (elementType.toLowerCase()) {
97
137
  case 'wall':
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/commands/eval.ts"],"names":[],"mappings":"AA2BA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuG/D"}
1
+ {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/commands/eval.ts"],"names":[],"mappings":"AA2BA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6G/D"}
@@ -15,16 +15,18 @@
15
15
  * ifc-lite eval model.ifc "bim.query().byType('IfcWall').count()"
16
16
  * ifc-lite eval model.ifc "bim.query().byType('IfcDoor').toArray().map(d => d.name)"
17
17
  */
18
- import { createHeadlessContext } from '../loader.js';
19
- import { printJson, fatal, hasFlag, getFlag } from '../output.js';
18
+ import { createHeadlessContext, createStreamingContext } from '../loader.js';
19
+ import { printJson, fatal, hasFlag, getFlag, validateViewerPort } from '../output.js';
20
20
  /** Known flags that take a value argument */
21
- const EVAL_VALUE_FLAGS = new Set(['--type', '--limit']);
21
+ const EVAL_VALUE_FLAGS = new Set(['--type', '--limit', '--viewer']);
22
22
  /** Known boolean flags (no value) */
23
23
  const EVAL_BOOLEAN_FLAGS = new Set(['--json']);
24
24
  export async function evalCommand(args) {
25
25
  const jsonOutput = hasFlag(args, '--json');
26
26
  const typeFilter = getFlag(args, '--type');
27
27
  const limitStr = getFlag(args, '--limit');
28
+ const viewerPortRaw = getFlag(args, '--viewer');
29
+ const viewerPort = validateViewerPort(viewerPortRaw);
28
30
  // Parse positional args, skipping known flags and their values.
29
31
  // Known value flags (--type, --limit) and boolean flags (--json) are always
30
32
  // skipped regardless of position. After the file path is collected, other
@@ -56,7 +58,11 @@ export async function evalCommand(args) {
56
58
  fatal('Usage: ifc-lite eval <file.ifc> "<expression>"');
57
59
  const [filePath, ...exprParts] = positional;
58
60
  const expression = exprParts.join(' ');
59
- const { bim } = await createHeadlessContext(filePath);
61
+ // Use streaming context if --viewer is specified, so bim.viewer.* calls
62
+ // are forwarded to the running 3D viewer in real time.
63
+ const { bim } = viewerPort
64
+ ? await createStreamingContext(filePath, viewerPort)
65
+ : await createHeadlessContext(filePath);
60
66
  // When --type is specified, iterate entities and evaluate per-entity with `ref` in scope
61
67
  if (typeFilter) {
62
68
  const types = typeFilter.split(',').map(t => {
@@ -1 +1 @@
1
- {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/commands/eval.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAElE,6CAA6C;AAC7C,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AACxD,qCAAqC;AACrC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE1C,gEAAgE;IAChE,4EAA4E;IAC5E,0EAA0E;IAC1E,oEAAoE;IACpE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,aAAa,GAAG,IAAI,CAAC;YACrB,SAAS;QACX,CAAC;QACD,oDAAoD;QACpD,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,CAAC,EAAE,CAAC,CAAC,kBAAkB;YACvB,SAAS;QACX,CAAC;QACD,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC1C,wDAAwD;QACxD,IAAI,CAAC,aAAa,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACpD,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,wEAAwE;QACxE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,aAAa,GAAG,IAAI,CAAC;IACpD,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAEnF,MAAM,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,GAAG,UAAU,CAAC;IAC5C,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAEtD,yFAAyF;IACzF,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC1C,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,OAAO,OAAO,CAAC;YACxG,OAAO,KAAK,GAAG,OAAO,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACtD,IAAI,QAAQ;YAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAEnE,MAAM,OAAO,GAAU,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEvE,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC/C,MAAM,QAAQ,GAAG,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;gBACnE,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,MAAM,EAAE,QAAQ,IAAI,IAAI;iBACzB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,KAAK,EAAE,GAAG,CAAC,OAAO;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,GAAG,IAAI,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC;QACnE,CAAC;QACD,OAAO;IACT,CAAC;IAED,wEAAwE;IACxE,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE3B,uBAAuB;QACvB,MAAM,QAAQ,GAAG,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAEnE,IAAI,UAAU,EAAE,CAAC;YACf,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,qBAAqB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,UAAkB,EAAE,UAAoB;IACjE,MAAM,WAAW,GAAG,gFAAgF,CAAC,IAAI,CAAC,UAAU,CAAC;WAChH,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE9B,IAAI,IAAY,CAAC;IACjB,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,iBAAiB,GAAG,6EAA6E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnH,IAAI,CAAC,iBAAiB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,WAAW,IAAI,GAAG,CAAC;QACzD,CAAC;aAAM,IAAI,iBAAiB,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC7D,IAAI,QAAQ,EAAE,CAAC;gBACb,UAAU,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,IAAI,GAAG,yBAAyB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,WAAW,UAAU,GAAG,CAAC;IAClC,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC,GAAG,UAAU,EAAE;;MAE/B,IAAI;GACP,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/commands/eval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function lodCommand(args: string[]): Promise<void>;
2
+ //# sourceMappingURL=lod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lod.d.ts","sourceRoot":"","sources":["../../src/commands/lod.ts"],"names":[],"mappings":"AAwCA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4D9D"}