@ifc-lite/flow-nodes 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -0
- package/dist/ai-classify.d.ts +8 -0
- package/dist/ai-classify.d.ts.map +1 -0
- package/dist/ai-classify.js +113 -0
- package/dist/ai-classify.js.map +1 -0
- package/dist/ai-extract.d.ts +26 -0
- package/dist/ai-extract.d.ts.map +1 -0
- package/dist/ai-extract.js +127 -0
- package/dist/ai-extract.js.map +1 -0
- package/dist/ai-propose-fields.d.ts +12 -0
- package/dist/ai-propose-fields.d.ts.map +1 -0
- package/dist/ai-propose-fields.js +57 -0
- package/dist/ai-propose-fields.js.map +1 -0
- package/dist/ai-propose.d.ts +3 -0
- package/dist/ai-propose.d.ts.map +1 -0
- package/dist/ai-propose.js +94 -0
- package/dist/ai-propose.js.map +1 -0
- package/dist/ai-response-schemas.d.ts +11 -0
- package/dist/ai-response-schemas.d.ts.map +1 -0
- package/dist/ai-response-schemas.js +46 -0
- package/dist/ai-response-schemas.js.map +1 -0
- package/dist/ai-service.d.ts +60 -0
- package/dist/ai-service.d.ts.map +1 -0
- package/dist/ai-service.js +109 -0
- package/dist/ai-service.js.map +1 -0
- package/dist/ai-summarize.d.ts +3 -0
- package/dist/ai-summarize.d.ts.map +1 -0
- package/dist/ai-summarize.js +75 -0
- package/dist/ai-summarize.js.map +1 -0
- package/dist/ai.d.ts +15 -0
- package/dist/ai.d.ts.map +1 -0
- package/dist/ai.js +10 -0
- package/dist/ai.js.map +1 -0
- package/dist/bcf-nodes.d.ts.map +1 -1
- package/dist/bcf-nodes.js +12 -2
- package/dist/bcf-nodes.js.map +1 -1
- package/dist/bcf-publication.d.ts +13 -0
- package/dist/bcf-publication.d.ts.map +1 -0
- package/dist/bcf-publication.js +24 -0
- package/dist/bcf-publication.js.map +1 -0
- package/dist/bcf-write-gateway.d.ts +41 -0
- package/dist/bcf-write-gateway.d.ts.map +1 -0
- package/dist/bcf-write-gateway.js +75 -0
- package/dist/bcf-write-gateway.js.map +1 -0
- package/dist/capability.d.ts +4 -0
- package/dist/capability.d.ts.map +1 -0
- package/dist/capability.js +21 -0
- package/dist/capability.js.map +1 -0
- package/dist/element-nodes.d.ts +9 -1
- package/dist/element-nodes.d.ts.map +1 -1
- package/dist/element-nodes.js +82 -9
- package/dist/element-nodes.js.map +1 -1
- package/dist/host.d.ts +26 -40
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +2 -31
- package/dist/host.js.map +1 -1
- package/dist/ids-nodes.d.ts +23 -0
- package/dist/ids-nodes.d.ts.map +1 -0
- package/dist/ids-nodes.js +166 -0
- package/dist/ids-nodes.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/ports.d.ts +38 -0
- package/dist/ports.d.ts.map +1 -0
- package/dist/ports.js +14 -0
- package/dist/ports.js.map +1 -0
- package/dist/speckle/url.d.ts.map +1 -1
- package/dist/speckle/url.js +9 -1
- package/dist/speckle/url.js.map +1 -1
- package/package.json +26 -12
|
@@ -0,0 +1,166 @@
|
|
|
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
|
+
* `ids.load` / `ids.lint` / `ids.validate` (IDS-122): the no-code
|
|
6
|
+
* pipeline "Load IDS → Lint → Validate model → BCF". `ids.validate`
|
|
7
|
+
* emits one row per failing element with `title` and `description`
|
|
8
|
+
* columns, so its table wires straight into `bcf.createTopic`'s `rows`.
|
|
9
|
+
*
|
|
10
|
+
* The IDS document travels between nodes as a Studio document (plain
|
|
11
|
+
* JSON, content-derived node ids; `@ifc-lite/ids-authoring`), the same
|
|
12
|
+
* shape the MCP tools exchange.
|
|
13
|
+
*
|
|
14
|
+
* The node definitions are eager (the standard registry lists them), but the
|
|
15
|
+
* authoring runtime is loaded inside `run` via `import()`: the viewer
|
|
16
|
+
* registers these nodes at startup, and the authoring gate, reducer and lint
|
|
17
|
+
* rules must stay out of its eager bundle. `run` may return a promise, so
|
|
18
|
+
* the contract is unchanged; a failed load fails the node with its error.
|
|
19
|
+
*/
|
|
20
|
+
import { validateIDS } from '@ifc-lite/ids';
|
|
21
|
+
import { ANY_ITEM, ANY_LIST, SCALAR_ITEM, TABLE_ITEM } from './host.js';
|
|
22
|
+
const DIAGNOSTIC_COLUMNS = [
|
|
23
|
+
{ name: 'code', type: 'string' },
|
|
24
|
+
{ name: 'severity', type: 'string' },
|
|
25
|
+
{ name: 'path', type: 'string' },
|
|
26
|
+
{ name: 'specification', type: 'string' },
|
|
27
|
+
{ name: 'message', type: 'string' },
|
|
28
|
+
];
|
|
29
|
+
const FAILURE_COLUMNS = [
|
|
30
|
+
{ name: 'title', type: 'string' },
|
|
31
|
+
{ name: 'description', type: 'string' },
|
|
32
|
+
{ name: 'specification', type: 'string' },
|
|
33
|
+
{ name: 'globalId', type: 'identifier' },
|
|
34
|
+
{ name: 'ifcType', type: 'string' },
|
|
35
|
+
];
|
|
36
|
+
const SEVERITY_RANK = { error: 0, warning: 1, info: 2 };
|
|
37
|
+
const loadAuthoring = () => import('@ifc-lite/ids-authoring');
|
|
38
|
+
async function studioDoc(v, node) {
|
|
39
|
+
const { parseStudioDocument } = await loadAuthoring();
|
|
40
|
+
try {
|
|
41
|
+
return parseStudioDocument(v);
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
throw new Error(`${node}: the "ids" input is not an IDS document from ids.load (${err instanceof Error ? err.message : String(err)})`, { cause: err });
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function specName(doc, specId) {
|
|
48
|
+
const i = specId ? doc.nodes.specs.findIndex((s) => s.id === specId) : -1;
|
|
49
|
+
return i >= 0 ? doc.ids.specifications[i].name : null;
|
|
50
|
+
}
|
|
51
|
+
/** One row per failing element, phrased for an issue tracker. */
|
|
52
|
+
export function failureRows(report) {
|
|
53
|
+
const rows = [];
|
|
54
|
+
for (const spec of report.specificationResults) {
|
|
55
|
+
for (const entity of spec.entityResults) {
|
|
56
|
+
if (entity.passed)
|
|
57
|
+
continue;
|
|
58
|
+
const reasons = entity.requirementResults
|
|
59
|
+
.filter((r) => r.status === 'fail')
|
|
60
|
+
.map((r) => r.failureReason ?? r.checkedDescription);
|
|
61
|
+
const label = entity.entityName ? `${entity.entityType} "${entity.entityName}"` : entity.entityType;
|
|
62
|
+
rows.push({
|
|
63
|
+
title: `${spec.specification.name}: ${label}`,
|
|
64
|
+
description: reasons.join('\n'),
|
|
65
|
+
specification: spec.specification.name,
|
|
66
|
+
globalId: entity.globalId ?? null,
|
|
67
|
+
ifcType: entity.entityType,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return rows;
|
|
72
|
+
}
|
|
73
|
+
function accessorFor(ctx) {
|
|
74
|
+
const accessor = ctx.host.idsAccessor?.();
|
|
75
|
+
if (!accessor)
|
|
76
|
+
throw new Error('ids.validate: this host cannot read model data for IDS validation');
|
|
77
|
+
return accessor;
|
|
78
|
+
}
|
|
79
|
+
export const idsNodes = [
|
|
80
|
+
{
|
|
81
|
+
type: 'ids.load',
|
|
82
|
+
title: 'Load IDS',
|
|
83
|
+
category: 'ids',
|
|
84
|
+
doc: 'Reads IDS XML (the `xml` input, else the `xml` param) into an IDS document for `ids.lint` and `ids.validate`. Node ids depend only on the content.',
|
|
85
|
+
inputs: [{ name: 'xml', type: SCALAR_ITEM, optional: true, doc: 'IDS XML text, e.g. from a file or HTTP node.' }],
|
|
86
|
+
outputs: [
|
|
87
|
+
{ name: 'ids', type: ANY_ITEM },
|
|
88
|
+
{ name: 'title', type: SCALAR_ITEM },
|
|
89
|
+
{ name: 'specifications', type: SCALAR_ITEM },
|
|
90
|
+
],
|
|
91
|
+
params: [{ name: 'xml', kind: 'string', default: '', doc: 'IDS XML, used when the input is not wired.' }],
|
|
92
|
+
capabilities: [],
|
|
93
|
+
run: async (_ctx, i, p) => {
|
|
94
|
+
const xml = typeof i.xml === 'string' && i.xml.trim() !== '' ? i.xml : String(p.xml ?? '');
|
|
95
|
+
if (xml.trim() === '')
|
|
96
|
+
throw new Error('ids.load: no IDS XML (wire the `xml` input or set the param)');
|
|
97
|
+
const { readStudioDocument } = await loadAuthoring();
|
|
98
|
+
const doc = readStudioDocument(xml);
|
|
99
|
+
return { ids: doc, title: doc.ids.info.title, specifications: doc.ids.specifications.length };
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'ids.lint',
|
|
104
|
+
title: 'Lint IDS',
|
|
105
|
+
category: 'ids',
|
|
106
|
+
doc: 'Runs the IDSL lint rules over an IDS document. `table` has one row per diagnostic (code, severity, XML path, specification, message); `errors` counts error-severity rows. With `failOn` set, the node fails when a diagnostic at or above that severity remains.',
|
|
107
|
+
inputs: [{ name: 'ids', type: ANY_ITEM }],
|
|
108
|
+
outputs: [
|
|
109
|
+
{ name: 'table', type: TABLE_ITEM },
|
|
110
|
+
{ name: 'diagnostics', type: ANY_LIST },
|
|
111
|
+
{ name: 'errors', type: SCALAR_ITEM },
|
|
112
|
+
],
|
|
113
|
+
params: [
|
|
114
|
+
{ name: 'rules', kind: 'string', default: '', doc: 'Comma-separated rule codes to run; empty runs all.' },
|
|
115
|
+
{ name: 'failOn', kind: 'enum', options: ['never', 'error', 'warning', 'info'], default: 'never' },
|
|
116
|
+
],
|
|
117
|
+
capabilities: [],
|
|
118
|
+
run: async (_ctx, i, p) => {
|
|
119
|
+
const doc = await studioDoc(i.ids, 'ids.lint');
|
|
120
|
+
const { createLintContext, lintDocument, nodePath } = await loadAuthoring();
|
|
121
|
+
const rules = String(p.rules ?? '').split(',').map((s) => s.trim()).filter(Boolean);
|
|
122
|
+
const { diagnostics } = lintDocument(doc, await createLintContext(), rules.length ? { rules } : {});
|
|
123
|
+
const rows = diagnostics.map((d) => ({
|
|
124
|
+
code: d.code,
|
|
125
|
+
severity: d.severity,
|
|
126
|
+
path: nodePath(doc, d.nodeId) ?? d.nodeId,
|
|
127
|
+
specification: specName(doc, d.specId),
|
|
128
|
+
message: d.message,
|
|
129
|
+
}));
|
|
130
|
+
const failOn = p.failOn;
|
|
131
|
+
if (failOn !== 'never' && diagnostics.some((d) => SEVERITY_RANK[d.severity] <= SEVERITY_RANK[failOn])) {
|
|
132
|
+
throw new Error(`ids.lint: ${diagnostics.length} diagnostic(s), at least one at or above "${failOn}"`);
|
|
133
|
+
}
|
|
134
|
+
const table = { columns: DIAGNOSTIC_COLUMNS, rows, key: 'path' };
|
|
135
|
+
return { table, diagnostics, errors: diagnostics.filter((d) => d.severity === 'error').length };
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'ids.validate',
|
|
140
|
+
title: 'Validate Model (IDS)',
|
|
141
|
+
category: 'ids',
|
|
142
|
+
doc: 'Validates the active model against an IDS document. `failures` has one row per failing element with `title` and `description` columns, so it wires straight into `bcf.createTopic` rows; `report` is the full validation report.',
|
|
143
|
+
inputs: [{ name: 'ids', type: ANY_ITEM }],
|
|
144
|
+
outputs: [
|
|
145
|
+
{ name: 'failures', type: TABLE_ITEM },
|
|
146
|
+
{ name: 'report', type: ANY_ITEM },
|
|
147
|
+
{ name: 'failed', type: SCALAR_ITEM },
|
|
148
|
+
],
|
|
149
|
+
params: [],
|
|
150
|
+
capabilities: ['model.read'],
|
|
151
|
+
reads: 'model',
|
|
152
|
+
run: async (ctx, i) => {
|
|
153
|
+
const doc = await studioDoc(i.ids, 'ids.validate');
|
|
154
|
+
const model = ctx.host.bim.model.active();
|
|
155
|
+
const report = await validateIDS(doc.ids, accessorFor(ctx), {
|
|
156
|
+
modelId: model?.id ?? ctx.host.defaultModelId ?? 'model',
|
|
157
|
+
schemaVersion: model?.schemaVersion ?? '',
|
|
158
|
+
entityCount: model?.entityCount ?? 0,
|
|
159
|
+
});
|
|
160
|
+
const rows = failureRows(report);
|
|
161
|
+
ctx.log('info', `${report.summary.failedSpecifications}/${report.summary.totalSpecifications} specification(s) failed, ${rows.length} failing element(s)`);
|
|
162
|
+
return { failures: { columns: FAILURE_COLUMNS, rows, key: 'globalId' }, report, failed: rows.length };
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
//# sourceMappingURL=ids-nodes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ids-nodes.js","sourceRoot":"","sources":["../src/ids-nodes.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { FlowHost } from './host.js';
|
|
|
3
3
|
export { isModelSelector, parseTagRules, parseCheckJobs, matchesFilename, AUTOMATION_FEATURES } from './session-contracts.js';
|
|
4
4
|
export type { ModelSelector, SessionModel, SessionModels, FilenameTagRule, ResourceSource, CheckJob, DocumentMapping, SessionAutomationHost } from './session-contracts.js';
|
|
5
5
|
export type { FlowHost, FlowNodeDef, TableAccess, StringLookup } from './host.js';
|
|
6
|
+
export type { BcfWriteGateway, BcfWriteIntent } from './bcf-write-gateway.js';
|
|
6
7
|
export { requireCapability, toRef, toSdkRef, resolveByGlobalId, rememberGlobalId, forgetGlobalId, invalidateGlobalIdIndex } from './host.js';
|
|
7
8
|
export { columnTypeOf, VALUE_TYPE_BY_COLUMN_TYPE } from './table-nodes.js';
|
|
8
9
|
export type { ElementSpec } from './element-nodes.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAWjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAW1C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC9H,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE5K,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAClF,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAC7I,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC7D,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEpF,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,4CAA4C;AAC5C,wBAAgB,sBAAsB,IAAI,YAAY,CAAC,QAAQ,CAAC,CAuB/D;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE,YAI9B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAM,GAAG,YAAY,CAE7E"}
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,7 @@ import { csvNodes } from './csv-nodes.js';
|
|
|
11
11
|
import { documentsNodes } from './documents-nodes.js';
|
|
12
12
|
import { elementNodes } from './element-nodes.js';
|
|
13
13
|
import { httpRequestNode } from './http-request-node.js';
|
|
14
|
+
import { idsNodes } from './ids-nodes.js';
|
|
14
15
|
import { modelNodes } from './model-nodes.js';
|
|
15
16
|
import { openModelNode } from './open-model-node.js';
|
|
16
17
|
import { scriptListNode, scriptNode } from './script-node.js';
|
|
@@ -42,6 +43,7 @@ export function createStandardRegistry() {
|
|
|
42
43
|
scriptListNode,
|
|
43
44
|
httpRequestNode,
|
|
44
45
|
...bcfNodes,
|
|
46
|
+
...idsNodes,
|
|
45
47
|
...apsNodes,
|
|
46
48
|
speckleReceiveNode,
|
|
47
49
|
...documentsNodes,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,YAAY,EAAqB,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ports.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** Port types shared by the standard nodes; re-exported by `host.ts`. */
|
|
2
|
+
export declare const ENTITY_ITEM: {
|
|
3
|
+
readonly kind: "entity";
|
|
4
|
+
readonly access: "item";
|
|
5
|
+
};
|
|
6
|
+
export declare const ENTITY_LIST: {
|
|
7
|
+
readonly kind: "entity";
|
|
8
|
+
readonly access: "list";
|
|
9
|
+
};
|
|
10
|
+
export declare const ENTITY_GROUP: {
|
|
11
|
+
readonly kind: "entity";
|
|
12
|
+
readonly access: "group";
|
|
13
|
+
};
|
|
14
|
+
export declare const SCALAR_ITEM: {
|
|
15
|
+
readonly kind: "scalar";
|
|
16
|
+
readonly access: "item";
|
|
17
|
+
};
|
|
18
|
+
export declare const SCALAR_LIST: {
|
|
19
|
+
readonly kind: "scalar";
|
|
20
|
+
readonly access: "list";
|
|
21
|
+
};
|
|
22
|
+
export declare const TABLE_ITEM: {
|
|
23
|
+
readonly kind: "table";
|
|
24
|
+
readonly access: "item";
|
|
25
|
+
};
|
|
26
|
+
export declare const ANY_ITEM: {
|
|
27
|
+
readonly kind: "any";
|
|
28
|
+
readonly access: "item";
|
|
29
|
+
};
|
|
30
|
+
export declare const ANY_LIST: {
|
|
31
|
+
readonly kind: "any";
|
|
32
|
+
readonly access: "list";
|
|
33
|
+
};
|
|
34
|
+
export declare const ANY_GROUP: {
|
|
35
|
+
readonly kind: "any";
|
|
36
|
+
readonly access: "group";
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=ports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAIA,yEAAyE;AAEzE,eAAO,MAAM,WAAW;;;CAA8C,CAAC;AACvE,eAAO,MAAM,WAAW;;;CAA8C,CAAC;AACvE,eAAO,MAAM,YAAY;;;CAA+C,CAAC;AACzE,eAAO,MAAM,WAAW;;;CAA8C,CAAC;AACvE,eAAO,MAAM,WAAW;;;CAA8C,CAAC;AACvE,eAAO,MAAM,UAAU;;;CAA6C,CAAC;AACrE,eAAO,MAAM,QAAQ;;;CAA2C,CAAC;AACjE,eAAO,MAAM,QAAQ;;;CAA2C,CAAC;AACjE,eAAO,MAAM,SAAS;;;CAA4C,CAAC"}
|
package/dist/ports.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
/** Port types shared by the standard nodes; re-exported by `host.ts`. */
|
|
5
|
+
export const ENTITY_ITEM = { kind: 'entity', access: 'item' };
|
|
6
|
+
export const ENTITY_LIST = { kind: 'entity', access: 'list' };
|
|
7
|
+
export const ENTITY_GROUP = { kind: 'entity', access: 'group' };
|
|
8
|
+
export const SCALAR_ITEM = { kind: 'scalar', access: 'item' };
|
|
9
|
+
export const SCALAR_LIST = { kind: 'scalar', access: 'list' };
|
|
10
|
+
export const TABLE_ITEM = { kind: 'table', access: 'item' };
|
|
11
|
+
export const ANY_ITEM = { kind: 'any', access: 'item' };
|
|
12
|
+
export const ANY_LIST = { kind: 'any', access: 'list' };
|
|
13
|
+
export const ANY_GROUP = { kind: 'any', access: 'group' };
|
|
14
|
+
//# sourceMappingURL=ports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,yEAAyE;AAEzE,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAW,CAAC;AACvE,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAW,CAAC;AACvE,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAW,CAAC;AACzE,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAW,CAAC;AACvE,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAW,CAAC;AACvE,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAW,CAAC;AACrE,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAW,CAAC;AACjE,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAW,CAAC;AACjE,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/speckle/url.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,aAAa,GACrB;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/speckle/url.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,aAAa,GACrB;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAiBhH,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAoC1D"}
|
package/dist/speckle/url.js
CHANGED
|
@@ -3,7 +3,15 @@
|
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
const SEGMENT = /^[A-Za-z0-9_-]+$/;
|
|
5
5
|
function segment(value, what, url) {
|
|
6
|
-
|
|
6
|
+
let v;
|
|
7
|
+
try {
|
|
8
|
+
v = value === undefined ? '' : decodeURIComponent(value);
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
// A malformed percent-escape is not a usable id; refuse it by name below
|
|
12
|
+
// rather than letting a bare URIError escape the parser's contract.
|
|
13
|
+
v = '';
|
|
14
|
+
}
|
|
7
15
|
if (!SEGMENT.test(v))
|
|
8
16
|
throw new Error(`speckle.receive: "${url}" has no usable ${what}`);
|
|
9
17
|
return v;
|
package/dist/speckle/url.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/speckle/url.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAiC/D,MAAM,OAAO,GAAG,kBAAkB,CAAC;AAEnC,SAAS,OAAO,CAAC,KAAyB,EAAE,IAAY,EAAE,GAAW;IACnE,
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/speckle/url.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/flow-nodes",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Standard node library for @ifc-lite/flow over the ifc-lite SDK: model reads and writes, tables, viewer, and a sandboxed Script node",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -10,25 +10,39 @@
|
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"import": "./dist/index.js",
|
|
12
12
|
"default": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./ai": {
|
|
15
|
+
"types": "./dist/ai.d.ts",
|
|
16
|
+
"import": "./dist/ai.js",
|
|
17
|
+
"default": "./dist/ai.js"
|
|
18
|
+
},
|
|
19
|
+
"./bcf-publication": {
|
|
20
|
+
"types": "./dist/bcf-publication.d.ts",
|
|
21
|
+
"import": "./dist/bcf-publication.js",
|
|
22
|
+
"default": "./dist/bcf-publication.js"
|
|
13
23
|
}
|
|
14
24
|
},
|
|
15
25
|
"dependencies": {
|
|
16
26
|
"exceljs": "^4.4.0",
|
|
17
|
-
"@ifc-lite/
|
|
18
|
-
"@ifc-lite/data": "^6.
|
|
19
|
-
"@ifc-lite/documents-api": "^0.2.
|
|
20
|
-
"@ifc-lite/
|
|
21
|
-
"@ifc-lite/
|
|
22
|
-
"@ifc-lite/
|
|
23
|
-
"@ifc-lite/
|
|
27
|
+
"@ifc-lite/ai": "^0.2.0",
|
|
28
|
+
"@ifc-lite/data": "^6.2.0",
|
|
29
|
+
"@ifc-lite/documents-api": "^0.2.1",
|
|
30
|
+
"@ifc-lite/bcf-api": "^0.3.0",
|
|
31
|
+
"@ifc-lite/export": "^4.11.0",
|
|
32
|
+
"@ifc-lite/extensions": "^0.11.0",
|
|
33
|
+
"@ifc-lite/ids": "^3.3.2",
|
|
34
|
+
"@ifc-lite/ids-authoring": "^0.2.2",
|
|
35
|
+
"@ifc-lite/mutations": "^3.2.0",
|
|
36
|
+
"@ifc-lite/flow": "^0.6.0",
|
|
24
37
|
"@ifc-lite/query": "^2.5.2",
|
|
25
|
-
"@ifc-lite/
|
|
26
|
-
"@ifc-lite/
|
|
38
|
+
"@ifc-lite/sandbox": "^2.12.0",
|
|
39
|
+
"@ifc-lite/sdk": "^9.2.0"
|
|
27
40
|
},
|
|
28
41
|
"devDependencies": {
|
|
29
|
-
"@types/node": "^26.6.
|
|
42
|
+
"@types/node": "^26.6.4",
|
|
43
|
+
"ajv": "^8.17.1",
|
|
30
44
|
"typescript": "^6.0.3",
|
|
31
|
-
"vitest": "^5.0.
|
|
45
|
+
"vitest": "^5.0.3"
|
|
32
46
|
},
|
|
33
47
|
"license": "MPL-2.0",
|
|
34
48
|
"author": "Louis True",
|