@ifc-lite/sdk 9.3.0 → 9.5.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 +35 -0
- package/dist/review/capture-budget.d.ts.map +1 -1
- package/dist/review/capture-budget.js +9 -0
- package/dist/review/capture-budget.js.map +1 -1
- package/dist/review/capture-ownership.d.ts +12 -0
- package/dist/review/capture-ownership.d.ts.map +1 -0
- package/dist/review/capture-ownership.js +8 -0
- package/dist/review/capture-ownership.js.map +1 -0
- package/dist/review/capture-types.d.ts +14 -0
- package/dist/review/capture-types.d.ts.map +1 -1
- package/dist/review/cards.js +1 -1
- package/dist/review/cards.js.map +1 -1
- package/dist/review/clash-identity.d.ts +9 -0
- package/dist/review/clash-identity.d.ts.map +1 -0
- package/dist/review/clash-identity.js +18 -0
- package/dist/review/clash-identity.js.map +1 -0
- package/dist/review/clash.d.ts +25 -0
- package/dist/review/clash.d.ts.map +1 -0
- package/dist/review/clash.js +97 -0
- package/dist/review/clash.js.map +1 -0
- package/dist/review/identity.d.ts +1 -1
- package/dist/review/identity.d.ts.map +1 -1
- package/dist/review/identity.js +7 -2
- package/dist/review/identity.js.map +1 -1
- package/dist/review/native-captures.d.ts +4 -0
- package/dist/review/native-captures.d.ts.map +1 -1
- package/dist/review/native-captures.js +9 -6
- package/dist/review/native-captures.js.map +1 -1
- package/dist/review/native-identity-table.d.ts +8 -0
- package/dist/review/native-identity-table.d.ts.map +1 -0
- package/dist/review/native-identity-table.js +29 -0
- package/dist/review/native-identity-table.js.map +1 -0
- package/dist/review/portable-bindings.d.ts +7 -0
- package/dist/review/portable-bindings.d.ts.map +1 -0
- package/dist/review/portable-bindings.js +88 -0
- package/dist/review/portable-bindings.js.map +1 -0
- package/dist/review/portable-native-owners.d.ts +23 -0
- package/dist/review/portable-native-owners.d.ts.map +1 -0
- package/dist/review/portable-native-owners.js +127 -0
- package/dist/review/portable-native-owners.js.map +1 -0
- package/dist/review/portable-projection.d.ts +11 -0
- package/dist/review/portable-projection.d.ts.map +1 -0
- package/dist/review/portable-projection.js +104 -0
- package/dist/review/portable-projection.js.map +1 -0
- package/dist/review/portable-report-metadata.d.ts +1 -0
- package/dist/review/portable-report-metadata.d.ts.map +1 -1
- package/dist/review/portable-report-metadata.js +5 -2
- package/dist/review/portable-report-metadata.js.map +1 -1
- package/dist/review/portable-snapshot.d.ts +89 -0
- package/dist/review/portable-snapshot.d.ts.map +1 -0
- package/dist/review/portable-snapshot.js +164 -0
- package/dist/review/portable-snapshot.js.map +1 -0
- package/dist/review/portable-source-contract.d.ts +3 -0
- package/dist/review/portable-source-contract.d.ts.map +1 -0
- package/dist/review/portable-source-contract.js +8 -0
- package/dist/review/portable-source-contract.js.map +1 -0
- package/dist/review/portable-validation-evidence.d.ts +2 -1
- package/dist/review/portable-validation-evidence.d.ts.map +1 -1
- package/dist/review/portable-validation-evidence.js +3 -1
- package/dist/review/portable-validation-evidence.js.map +1 -1
- package/dist/review/saved-validation.d.ts +16 -0
- package/dist/review/saved-validation.d.ts.map +1 -0
- package/dist/review/saved-validation.js +31 -0
- package/dist/review/saved-validation.js.map +1 -0
- package/dist/review/types.d.ts +2 -0
- package/dist/review/types.d.ts.map +1 -1
- package/dist/review.d.ts +5 -0
- package/dist/review.d.ts.map +1 -1
- package/dist/review.js +5 -0
- package/dist/review.js.map +1 -1
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -91,6 +91,12 @@ coverage when native evaluated counts cover the population. Existing
|
|
|
91
91
|
model-name card keys do not establish durable source or captured-run identity.
|
|
92
92
|
See the [SDK guide](https://ifclite.dev/docs/guide/scripting-sdk/#native-review-normalization).
|
|
93
93
|
|
|
94
|
+
`clashFindings`, `clashGlobalId`, `clashDisciplineCandidates`, and
|
|
95
|
+
`clashOccurrenceKey` share the existing viewer clash projection and occurrence
|
|
96
|
+
identity. `savedValidationFacts` projects saved IDS failure rows; callers supply
|
|
97
|
+
actual re-examination outcomes. Imported rows remain historical and incomplete,
|
|
98
|
+
and discipline candidates remain hints rather than verified responsibilities.
|
|
99
|
+
|
|
94
100
|
## Links
|
|
95
101
|
|
|
96
102
|
- Docs: https://ifclite.dev/docs/
|
|
@@ -125,3 +131,32 @@ actual edit and placement evidence. A payload join key or model name is not a
|
|
|
125
131
|
durable model identity. Parsing a manual report retains historical answers;
|
|
126
132
|
it does not run a checklist or resolve a finding. These codecs do not persist
|
|
127
133
|
reports, change model state, or certify that an imported report was executed.
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
Native host adapters supply `createNativeReviewIdentityTable(store)` alongside
|
|
137
|
+
actual source/owner/revision capabilities. The table preserves every columnar
|
|
138
|
+
EXPRESS/GlobalId row and its owning StringTable, including duplicates; callers
|
|
139
|
+
revalidate physical references and apply bounded enumeration. It never creates
|
|
140
|
+
an editor or reparses a source entity. `readPortableReview` reads supplied saved
|
|
141
|
+
wire formats as imported historical evidence, independently of captured native
|
|
142
|
+
execution; full-source matching does not promote execution or coverage claims.
|
|
143
|
+
|
|
144
|
+
`readPortableReview(captures, liveModels, request, allowed)` projects supplied
|
|
145
|
+
`savedAnalysisRuns` and `savedValidationReports` through the same codecs and
|
|
146
|
+
normalizers. `records` preserves bounded original native counts, definitions,
|
|
147
|
+
coverage, placement/frame and provenance; `bindings` reports source/element
|
|
148
|
+
identity separately. Bound imported cards use the verified full source hash plus
|
|
149
|
+
IFC GlobalId, so renaming or reordering models does not change their identity and
|
|
150
|
+
the same GlobalId in different source files remains distinct. This binding does
|
|
151
|
+
not attest saved placement, a new native execution, freshness or a human decision.
|
|
152
|
+
Legacy name-based card keys remain for callers without verified source identity.
|
|
153
|
+
|
|
154
|
+
Supplied analysis libraries advertise only the record kinds they contain. An
|
|
155
|
+
explicit empty saved-validation-report collection declares available empty
|
|
156
|
+
validation history; an empty mixed analysis library declares neither validation
|
|
157
|
+
nor clash history. `bounds.knownFindings` counts only supplied historical rows,
|
|
158
|
+
not unprovided source kinds or independently evaluated native coverage. Source
|
|
159
|
+
states distinguish unavailable evidence from an available empty collection.
|
|
160
|
+
|
|
161
|
+
Portable `bounds` describe the supplied finding inventory, while cards and totals describe only the visible rows. A zero row limit retains the original records and reports hidden findings. Saved omissions, source gaps, truncated clash/IDS evaluation, or missing failed detail keep complete inventory and omission counts unknown and `presentationComplete` false; imported evidence never establishes complete native coverage.
|
|
162
|
+
Non-IDS saved report kinds retain their original records but expose `unsupported-kind` binding and no projected findings; a matching model source alone does not certify manual element identity or evaluation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture-budget.d.ts","sourceRoot":"","sources":["../../src/review/capture-budget.ts"],"names":[],"mappings":"AAIA,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"capture-budget.d.ts","sourceRoot":"","sources":["../../src/review/capture-budget.ts"],"names":[],"mappings":"AAIA,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA4BvD;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAGrE;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAG3F"}
|
|
@@ -24,6 +24,15 @@ export function reviewValueFits(value) {
|
|
|
24
24
|
return false;
|
|
25
25
|
}
|
|
26
26
|
else if (x !== null && typeof x === 'object') {
|
|
27
|
+
if (!Array.isArray(x)) {
|
|
28
|
+
const keys = Object.keys(x);
|
|
29
|
+
if (keys.length > 10_000)
|
|
30
|
+
return false;
|
|
31
|
+
for (const key of keys) {
|
|
32
|
+
if (key.length > 16_384 || (text += key.length) > 1_048_576)
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
27
36
|
const children = Array.isArray(x) ? x : Object.values(x);
|
|
28
37
|
if (children.length > 10_000 || pending.length + children.length > 100_000)
|
|
29
38
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture-budget.js","sourceRoot":"","sources":["../../src/review/capture-budget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capture-budget.js","sourceRoot":"","sources":["../../src/review/capture-budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { NativeReviewModel } from './capture-types.js';
|
|
2
|
+
export interface NativeReviewTarget {
|
|
3
|
+
model: NativeReviewModel;
|
|
4
|
+
view: ReturnType<NativeReviewModel['mutationView']>;
|
|
5
|
+
revision: number;
|
|
6
|
+
}
|
|
7
|
+
/** The shared actual owner/store/source/revision boundary, without editor allocation. */
|
|
8
|
+
export declare function targetState(target: NativeReviewTarget, models: readonly NativeReviewModel[]): {
|
|
9
|
+
replaced: boolean;
|
|
10
|
+
stale: boolean;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=capture-ownership.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-ownership.d.ts","sourceRoot":"","sources":["../../src/review/capture-ownership.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC;IACpD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,yFAAyF;AACzF,wBAAgB,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,iBAAiB,EAAE;;;EAK3F"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** The shared actual owner/store/source/revision boundary, without editor allocation. */
|
|
2
|
+
export function targetState(target, models) {
|
|
3
|
+
const live = models.find(model => model.id === target.model.id);
|
|
4
|
+
const replaced = !live || live.owner !== target.model.owner || live.store !== target.model.store || live.source !== target.model.source;
|
|
5
|
+
return { replaced, stale: replaced || live?.mutationView() !== target.view
|
|
6
|
+
|| (target.view?.getMutationRevision() ?? 0) !== target.revision };
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=capture-ownership.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-ownership.js","sourceRoot":"","sources":["../../src/review/capture-ownership.ts"],"names":[],"mappings":"AAWA,yFAAyF;AACzF,MAAM,UAAU,WAAW,CAAC,MAA0B,EAAE,MAAoC;IAC1F,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IACxI,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI,EAAE,YAAY,EAAE,KAAK,MAAM,CAAC,IAAI;eACrE,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;AACvE,CAAC"}
|
|
@@ -8,6 +8,20 @@ export interface NativeReviewModel extends ReviewModel {
|
|
|
8
8
|
mutationView(): {
|
|
9
9
|
getMutationRevision(): number;
|
|
10
10
|
} | null;
|
|
11
|
+
/** Actual columnar rows, preserving duplicate GUIDs/EXPRESS identities.
|
|
12
|
+
* A point lookup cannot establish multiplicity. Missing support stays unknown.
|
|
13
|
+
*/
|
|
14
|
+
readonly identityTable?: {
|
|
15
|
+
readonly owner: object;
|
|
16
|
+
readonly expressIdColumn: Uint32Array;
|
|
17
|
+
readonly GlobalIdColumn: Uint32Array;
|
|
18
|
+
readonly stringTable: object;
|
|
19
|
+
readonly count: number;
|
|
20
|
+
rows(): Iterable<{
|
|
21
|
+
expressId: number;
|
|
22
|
+
GlobalId: string;
|
|
23
|
+
}>;
|
|
24
|
+
};
|
|
11
25
|
}
|
|
12
26
|
export interface ReviewSourceProof {
|
|
13
27
|
readonly modelId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture-types.d.ts","sourceRoot":"","sources":["../../src/review/capture-types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEnE,iFAAiF;AACjF,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,YAAY,IAAI;QAAE,mBAAmB,IAAI,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"capture-types.d.ts","sourceRoot":"","sources":["../../src/review/capture-types.ts"],"names":[],"mappings":"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"}
|
package/dist/review/cards.js
CHANGED
|
@@ -32,7 +32,7 @@ export function buildCards(findings, models) {
|
|
|
32
32
|
if (resolution.state !== 'resolved') {
|
|
33
33
|
return { ...element, key: null, resolution: resolution.state, expressId: null, resolvedModelId: null };
|
|
34
34
|
}
|
|
35
|
-
return { ...element, modelName: resolution.modelName, key: elementKey(resolution.modelName, element.globalId),
|
|
35
|
+
return { ...element, modelName: resolution.modelName, key: elementKey(resolution.modelName, element.globalId, models.find(model => model.id === resolution.modelId)?.sourceIdentity),
|
|
36
36
|
resolution: 'resolved', expressId: resolution.expressId, resolvedModelId: resolution.modelId };
|
|
37
37
|
});
|
|
38
38
|
const validated = elements.length > 0 && elements.every(element => element.key !== null);
|
package/dist/review/cards.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cards.js","sourceRoot":"","sources":["../../src/review/cards.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAA0B,MAAM,eAAe,CAAC;AA+CnF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;AAE/E,SAAS,SAAS,CAAgC,QAA2C;IAC3F,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACpH,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;IAC9E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC7C,2GAA2G;IAC3G,OAAO,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,eAAe,CAAC;AAC5H,CAAC;AAED,MAAM,WAAW,GAA8B,EAAE,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,sBAAsB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAExH,MAAM,UAAU,UAAU,CAAgC,QAA2C,EAAE,MAA8B;IACnI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuI,CAAC;IAC9J,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAe,EAAE;YAC7D,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACnD,IAAI,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACpC,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;YACzG,CAAC;YACD,OAAO,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"cards.js","sourceRoot":"","sources":["../../src/review/cards.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type Clash } from '@ifc-lite/clash';
|
|
2
|
+
/** Native selector candidates remain hints, never verified responsibilities. */
|
|
3
|
+
export declare function clashDisciplineCandidates(clash: Pick<Clash, 'a' | 'b'>): {
|
|
4
|
+
a: string[];
|
|
5
|
+
b: string[];
|
|
6
|
+
};
|
|
7
|
+
/** Exact occurrence identity, distinct from model-independent human review keys. */
|
|
8
|
+
export declare function clashOccurrenceKey(clash: Pick<Clash, 'rule' | 'a' | 'b'>): string;
|
|
9
|
+
//# sourceMappingURL=clash-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clash-identity.d.ts","sourceRoot":"","sources":["../../src/review/clash-identity.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgC,KAAK,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE3E,gFAAgF;AAChF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAAC;;;EAKtE;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,MAAM,CAIjF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
import { DISCIPLINES, matchesSelector } from '@ifc-lite/clash';
|
|
5
|
+
/** Native selector candidates remain hints, never verified responsibilities. */
|
|
6
|
+
export function clashDisciplineCandidates(clash) {
|
|
7
|
+
function candidates(tag) {
|
|
8
|
+
return Object.values(DISCIPLINES).filter(discipline => matchesSelector(tag, discipline.selector)).map(discipline => discipline.code);
|
|
9
|
+
}
|
|
10
|
+
return { a: candidates(clash.a.tag), b: candidates(clash.b.tag) };
|
|
11
|
+
}
|
|
12
|
+
/** Exact occurrence identity, distinct from model-independent human review keys. */
|
|
13
|
+
export function clashOccurrenceKey(clash) {
|
|
14
|
+
const elements = [clash.a, clash.b].map(element => [element.model, element.key])
|
|
15
|
+
.sort(([modelA, keyA], [modelB, keyB]) => modelA < modelB ? -1 : modelA > modelB ? 1 : keyA < keyB ? -1 : keyA > keyB ? 1 : 0);
|
|
16
|
+
return JSON.stringify([clash.rule, ...elements]);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=clash-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clash-identity.js","sourceRoot":"","sources":["../../src/review/clash-identity.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAc,MAAM,iBAAiB,CAAC;AAE3E,gFAAgF;AAChF,MAAM,UAAU,yBAAyB,CAAC,KAA6B;IACrE,SAAS,UAAU,CAAC,GAAW;QAC7B,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACvI,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,kBAAkB,CAAC,KAAsC;IACvE,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAU,CAAC;SACtF,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjI,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clash findings: the live run is current; the saved revision baseline is
|
|
3
|
+
* historical. Absence is decided by the native `compareClashRevisions`
|
|
4
|
+
* (skipped rules, empty-match rules, lost models and unre-examined elements
|
|
5
|
+
* stay `unretested`), and additionally never from a truncated or stale run.
|
|
6
|
+
*/
|
|
7
|
+
import { type ClashElementRef, type ClashResult } from '@ifc-lite/clash';
|
|
8
|
+
import type { FindingSourceResult, ReviewModel, ReviewMessage } from './types.js';
|
|
9
|
+
export interface ClashFindingInput {
|
|
10
|
+
/** The live run with exclusions applied, and whether edits since make it stale. */
|
|
11
|
+
current: {
|
|
12
|
+
result: ClashResult;
|
|
13
|
+
stale: boolean;
|
|
14
|
+
} | null;
|
|
15
|
+
/** The saved baseline: its result plus the durable model names of its ephemeral model ids. */
|
|
16
|
+
baseline: {
|
|
17
|
+
result: ClashResult;
|
|
18
|
+
modelNames: Readonly<Record<string, string>>;
|
|
19
|
+
takenAt: number;
|
|
20
|
+
} | null;
|
|
21
|
+
}
|
|
22
|
+
/** Instanced occurrences fold `:<occurrenceKey>` into the key; GlobalIds never contain ':'. */
|
|
23
|
+
export declare function clashGlobalId(ref: Pick<ClashElementRef, 'key'>): string;
|
|
24
|
+
export declare function clashFindings<Message extends ReviewMessage = ReviewMessage>(input: ClashFindingInput, models: readonly ReviewModel[]): FindingSourceResult<Message>;
|
|
25
|
+
//# sourceMappingURL=clash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clash.d.ts","sourceRoot":"","sources":["../../src/review/clash.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,EAAqD,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG5H,OAAO,KAAK,EAAgD,mBAAmB,EAAiB,WAAW,EAAU,aAAa,EAAE,MAAM,YAAY,CAAC;AAEvJ,MAAM,WAAW,iBAAiB;IAChC,mFAAmF;IACnF,OAAO,EAAE;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACxD,8FAA8F;IAC9F,QAAQ,EAAE;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACzG;AAED,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,GAAG,MAAM,CAGvE;AA+CD,wBAAgB,aAAa,CAAC,OAAO,SAAS,aAAa,GAAG,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAsCnK"}
|
|
@@ -0,0 +1,97 @@
|
|
|
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
|
+
* Clash findings: the live run is current; the saved revision baseline is
|
|
6
|
+
* historical. Absence is decided by the native `compareClashRevisions`
|
|
7
|
+
* (skipped rules, empty-match rules, lost models and unre-examined elements
|
|
8
|
+
* stay `unretested`), and additionally never from a truncated or stale run.
|
|
9
|
+
*/
|
|
10
|
+
import { clashReviewKey, compareClashRevisions } from '@ifc-lite/clash';
|
|
11
|
+
import { clashDisciplineCandidates } from './clash-identity.js';
|
|
12
|
+
import { clashOccurrenceKey as manualClashOccurrenceKey } from './clash-identity.js';
|
|
13
|
+
/** Instanced occurrences fold `:<occurrenceKey>` into the key; GlobalIds never contain ':'. */
|
|
14
|
+
export function clashGlobalId(ref) {
|
|
15
|
+
const at = ref.key.indexOf(':');
|
|
16
|
+
return at < 0 ? ref.key : ref.key.slice(0, at);
|
|
17
|
+
}
|
|
18
|
+
function ruleLabel(result) {
|
|
19
|
+
const names = result.rulesRun.map(rule => rule.name).filter(Boolean);
|
|
20
|
+
return names.length ? names.slice(0, 3).join(', ') + (names.length > 3 ? ` +${names.length - 3}` : '') : 'Clash detection';
|
|
21
|
+
}
|
|
22
|
+
function gaps(result, stale) {
|
|
23
|
+
return [
|
|
24
|
+
...(result.truncated ? [{ code: 'truncated', detail: result.truncated.reason }] : []),
|
|
25
|
+
...(stale ? [{ code: 'stale' }] : []),
|
|
26
|
+
];
|
|
27
|
+
}
|
|
28
|
+
function storeyOf(element, models) {
|
|
29
|
+
const model = models.find(candidate => candidate.id === element.modelId);
|
|
30
|
+
if (!model?.storeyOf)
|
|
31
|
+
return [];
|
|
32
|
+
const expressId = model.expressIdOf(element.globalId);
|
|
33
|
+
const storey = expressId > 0 ? model.storeyOf(expressId) : null;
|
|
34
|
+
return storey ? [storey] : [];
|
|
35
|
+
}
|
|
36
|
+
function finding(clash, run, names, models, lifecycle, historical) {
|
|
37
|
+
const element = (ref) => ({
|
|
38
|
+
globalId: clashGlobalId(ref),
|
|
39
|
+
// A historical model id belonged to an earlier session; only its durable name identifies it now.
|
|
40
|
+
modelId: historical ? null : ref.model,
|
|
41
|
+
modelName: names[ref.model] ?? null,
|
|
42
|
+
ifcType: ref.tag,
|
|
43
|
+
...(ref.name ? { name: ref.name } : {}),
|
|
44
|
+
});
|
|
45
|
+
const elements = [element(clash.a), element(clash.b)];
|
|
46
|
+
const candidates = clashDisciplineCandidates(clash);
|
|
47
|
+
const reviewKey = clashReviewKey(clash);
|
|
48
|
+
const distance = Number.isFinite(clash.distance) ? `${Number(clash.distance.toPrecision(3))}` : 'n/a';
|
|
49
|
+
return {
|
|
50
|
+
id: `${run.id}#${clash.id}`, lineage: `clash|${reviewKey}`, source: 'clash', run, elements,
|
|
51
|
+
nativeStatus: clash.status, title: `${clash.a.tag} × ${clash.b.tag}`,
|
|
52
|
+
detail: [`rule ${clash.rule}`, `severity ${clash.severity}`, `distance ${distance}${clash.distanceKind ? ` (${clash.distanceKind})` : ''}`],
|
|
53
|
+
lifecycle, disciplines: [...new Set([...candidates.a, ...candidates.b])],
|
|
54
|
+
storeys: [...new Set(elements.flatMap(item => storeyOf(item, models)))],
|
|
55
|
+
evidence: historical ? { kind: 'clash-baseline', reviewKey }
|
|
56
|
+
: { kind: 'clash', clashId: clash.id, occurrenceKey: manualClashOccurrenceKey(clash), reviewKey },
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export function clashFindings(input, models) {
|
|
60
|
+
const liveNames = Object.fromEntries(models.map(model => [model.id, model.name]));
|
|
61
|
+
const runs = [];
|
|
62
|
+
const findings = [];
|
|
63
|
+
const { current, baseline } = input;
|
|
64
|
+
const currentRun = current ? {
|
|
65
|
+
id: 'clash:current', source: 'clash', temporal: 'current', label: ruleLabel(current.result), capturedAt: null,
|
|
66
|
+
incomplete: gaps(current.result, current.stale), complete: gaps(current.result, current.stale).length === 0,
|
|
67
|
+
models: [...new Set(current.result.clashes.flatMap(clash => [liveNames[clash.a.model], liveNames[clash.b.model]]).filter(Boolean))],
|
|
68
|
+
} : null;
|
|
69
|
+
const baselineRun = baseline ? {
|
|
70
|
+
id: 'clash:baseline', source: 'clash', temporal: 'historical', label: ruleLabel(baseline.result),
|
|
71
|
+
capturedAt: new Date(baseline.takenAt).toISOString(), incomplete: gaps(baseline.result, false),
|
|
72
|
+
complete: !baseline.result.truncated, models: [...new Set(Object.values(baseline.modelNames))],
|
|
73
|
+
} : null;
|
|
74
|
+
const revision = current && baseline ? compareClashRevisions({ result: baseline.result, modelNames: baseline.modelNames }, { result: current.result, modelNames: liveNames }) : null;
|
|
75
|
+
const added = new Set(revision?.added.map(clash => clash.id));
|
|
76
|
+
const resolvedIds = new Set(revision?.resolved.map(clash => clash.id));
|
|
77
|
+
const currentLineages = new Set(current?.result.clashes.map(clash => `clash|${clashReviewKey(clash)}`));
|
|
78
|
+
if (current && currentRun) {
|
|
79
|
+
runs.push(currentRun);
|
|
80
|
+
for (const clash of current.result.clashes) {
|
|
81
|
+
const lifecycle = !revision ? 'observed' : added.has(clash.id) ? 'new' : 'persistent';
|
|
82
|
+
findings.push(finding(clash, currentRun, liveNames, models, lifecycle, false));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (baseline && baselineRun) {
|
|
86
|
+
runs.push(baselineRun);
|
|
87
|
+
for (const clash of baseline.result.clashes) {
|
|
88
|
+
const lineage = `clash|${clashReviewKey(clash)}`;
|
|
89
|
+
// Only a complete current run may turn native `resolved` into a resolution candidate.
|
|
90
|
+
const lifecycle = currentLineages.has(lineage) ? 'persistent'
|
|
91
|
+
: resolvedIds.has(clash.id) && currentRun?.complete ? 'no-longer-observed' : 'not-evaluated';
|
|
92
|
+
findings.push(finding(clash, baselineRun, baseline.modelNames, models, lifecycle, true));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return { runs, findings };
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=clash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clash.js","sourceRoot":"","sources":["../../src/review/clash.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,5 +23,5 @@ export type ElementResolution = {
|
|
|
23
23
|
export declare function resolveElement(element: FindingElement, models: readonly ReviewModel[]): ElementResolution;
|
|
24
24
|
/** Legacy name-based display/navigation key, stable only while name and GlobalId stay unchanged.
|
|
25
25
|
* It does not prove source identity or revision equality across sessions. */
|
|
26
|
-
export declare function elementKey(modelName: string, globalId: string): string;
|
|
26
|
+
export declare function elementKey(modelName: string, globalId: string, sourceIdentity?: string): string;
|
|
27
27
|
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/review/identity.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/review/identity.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9D,MAAM,MAAM,iBAAiB,GACzB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GAC5C;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEzB,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,iBAAiB,CA2BzG;AAED;6EAC6E;AAC7E,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAG/F"}
|
package/dist/review/identity.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
import { isFullSourceSHA256 } from './portable-source-contract.js';
|
|
4
5
|
export function resolveElement(element, models) {
|
|
5
6
|
// A native identity failure is authoritative; a GlobalId match must not overrule it.
|
|
6
7
|
if (element.nativeUnresolved === 'ambiguous')
|
|
@@ -30,13 +31,17 @@ export function resolveElement(element, models) {
|
|
|
30
31
|
// Legacy name-based card keys cannot distinguish two loaded models with the same name.
|
|
31
32
|
// A name and GlobalId match does not prove the same source bytes or revision.
|
|
32
33
|
const sameName = models.filter(other => other.name === model.name);
|
|
33
|
-
|
|
34
|
+
const sourceScoped = isFullSourceSHA256(model.sourceIdentity)
|
|
35
|
+
&& models.filter(other => other.sourceIdentity === model.sourceIdentity).length === 1;
|
|
36
|
+
if (sameName.length > 1 && !sourceScoped)
|
|
34
37
|
return { state: 'ambiguous', modelNames: sameName.map(other => other.name) };
|
|
35
38
|
return { state: 'resolved', modelId: model.id, modelName: model.name, expressId };
|
|
36
39
|
}
|
|
37
40
|
/** Legacy name-based display/navigation key, stable only while name and GlobalId stay unchanged.
|
|
38
41
|
* It does not prove source identity or revision equality across sessions. */
|
|
39
|
-
export function elementKey(modelName, globalId) {
|
|
42
|
+
export function elementKey(modelName, globalId, sourceIdentity) {
|
|
43
|
+
if (isFullSourceSHA256(sourceIdentity))
|
|
44
|
+
return `sha256:${sourceIdentity}\u001f${globalId}`;
|
|
40
45
|
return `${modelName}\u001f${globalId}`;
|
|
41
46
|
}
|
|
42
47
|
//# sourceMappingURL=identity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/review/identity.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/review/identity.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAc/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAOnE,MAAM,UAAU,cAAc,CAAC,OAAuB,EAAE,MAA8B;IACpF,qFAAqF;IACrF,IAAI,OAAO,CAAC,gBAAgB,KAAK,WAAW;QAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC5F,IAAI,OAAO,CAAC,gBAAgB,KAAK,WAAW;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC1E,IAAI,UAAkC,CAAC;IACvC,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACjE,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5H,CAAC;SAAM,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QACtC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,MAAM,CAAC;IACtB,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACtC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACnD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IAChG,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC;IACpC,uFAAuF;IACvF,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC;WACxD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACxF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IACvH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;AACpF,CAAC;AAED;6EAC6E;AAC7E,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,QAAgB,EAAE,cAAuB;IACrF,IAAI,kBAAkB,CAAC,cAAc,CAAC;QAAE,OAAO,UAAU,cAAc,SAAS,QAAQ,EAAE,CAAC;IAC3F,OAAO,GAAG,SAAS,SAAS,QAAQ,EAAE,CAAC;AACzC,CAAC"}
|
|
@@ -11,6 +11,10 @@ export declare class NativeReviewCaptures {
|
|
|
11
11
|
/** Called only with values the actual run already resolved under its grants. */
|
|
12
12
|
enrollCredentials(values: readonly string[]): void;
|
|
13
13
|
acceptsEvidence(value: unknown): boolean;
|
|
14
|
+
/** Supplied history cannot bypass the actual session owner's admission or
|
|
15
|
+
* credential enrollment. Recheck the final envelope after every source await.
|
|
16
|
+
*/
|
|
17
|
+
portableEvidenceRefusal(value: unknown): 'work-bound' | 'sensitive-input' | null;
|
|
14
18
|
private protect;
|
|
15
19
|
begin(producer: 'ids' | 'rules', definition: string, models: readonly NativeReviewModel[], liveModels: () => readonly NativeReviewModel[], allowed: (id: string) => boolean, signal?: AbortSignal): Promise<ReviewCaptureToken | null>;
|
|
16
20
|
/** Release only this producer's pending reservation; never delete settled facts. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-captures.d.ts","sourceRoot":"","sources":["../../src/review/native-captures.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"native-captures.d.ts","sourceRoot":"","sources":["../../src/review/native-captures.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAClD,MAAM,oBAAoB,CAAC;AAIhD,sFAAsF;AACtF,qBAAa,oBAAoB;IAOnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IANrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAE7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,eAAe,CAAS;gBAEH,QAAQ,SAAK;IAK1C,gFAAgF;IAChF,iBAAiB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAqBlD,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAOxC;;OAEG;IACH,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,iBAAiB,GAAG,IAAI;IAKhF,OAAO,CAAC,OAAO;IAMT,KAAK,CAAC,QAAQ,EAAE,KAAK,GAAG,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,iBAAiB,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,iBAAiB,EAAE,EAC7I,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAgD7F,oFAAoF;IACpF,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,EAAE,MAAM,GAAE,iBAAiB,GAAG,SAA6B,GAAG,IAAI;IAQ1G,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAgClE,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,SAAS,iBAAiB,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,CAAC,EAAE,SAAS,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAoB,GAAG,OAAO,CAAC,CAAC,CAAC;CAiGnN"}
|
|
@@ -2,14 +2,9 @@
|
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
import { CaptureRetention } from './capture-retention.js';
|
|
5
|
+
import { targetState } from './capture-ownership.js';
|
|
5
6
|
import { validationFindings } from './validation.js';
|
|
6
7
|
import { reviewSHA256, reviewValueFits, reviewContainsSecret } from './capture-budget.js';
|
|
7
|
-
function targetState(target, models) {
|
|
8
|
-
const live = models.find(model => model.id === target.model.id);
|
|
9
|
-
const replaced = !live || live.owner !== target.model.owner || live.store !== target.model.store || live.source !== target.model.source;
|
|
10
|
-
return { replaced, stale: replaced || live?.mutationView() !== target.view
|
|
11
|
-
|| (target.view?.getMutationRevision() ?? 0) !== target.revision };
|
|
12
|
-
}
|
|
13
8
|
/** Actual producer-start ownership, never a reconstructed last-result fingerprint. */
|
|
14
9
|
export class NativeReviewCaptures {
|
|
15
10
|
capacity;
|
|
@@ -62,6 +57,14 @@ export class NativeReviewCaptures {
|
|
|
62
57
|
return typeof serialized === 'string'
|
|
63
58
|
&& !reviewContainsSecret(serialized, [...this.credentials]);
|
|
64
59
|
}
|
|
60
|
+
/** Supplied history cannot bypass the actual session owner's admission or
|
|
61
|
+
* credential enrollment. Recheck the final envelope after every source await.
|
|
62
|
+
*/
|
|
63
|
+
portableEvidenceRefusal(value) {
|
|
64
|
+
if (this.capacity === 0 || this.credentialBound)
|
|
65
|
+
return 'work-bound';
|
|
66
|
+
return this.acceptsEvidence(value) ? null : 'sensitive-input';
|
|
67
|
+
}
|
|
65
68
|
protect(result) {
|
|
66
69
|
if (this.acceptsEvidence(result))
|
|
67
70
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-captures.js","sourceRoot":"","sources":["../../src/review/native-captures.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"native-captures.js","sourceRoot":"","sources":["../../src/review/native-captures.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IfcDataStore } from '@ifc-lite/parser';
|
|
2
|
+
import type { NativeReviewModel } from './capture-types.js';
|
|
3
|
+
/** Actual row identities, including duplicates hidden by point-lookup maps.
|
|
4
|
+
* This captures physical references, not a copied table or a mutation editor.
|
|
5
|
+
* Readers bound enumeration and revalidate these references after source awaits.
|
|
6
|
+
*/
|
|
7
|
+
export declare function createNativeReviewIdentityTable(store: Pick<IfcDataStore, 'entities' | 'strings'>): NonNullable<NativeReviewModel['identityTable']>;
|
|
8
|
+
//# sourceMappingURL=native-identity-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-identity-table.d.ts","sourceRoot":"","sources":["../../src/review/native-identity-table.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,SAAS,CAAC,GAChD,WAAW,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAoBjD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
/** Actual row identities, including duplicates hidden by point-lookup maps.
|
|
5
|
+
* This captures physical references, not a copied table or a mutation editor.
|
|
6
|
+
* Readers bound enumeration and revalidate these references after source awaits.
|
|
7
|
+
*/
|
|
8
|
+
export function createNativeReviewIdentityTable(store) {
|
|
9
|
+
const owner = store.entities, stringTable = store.strings;
|
|
10
|
+
const expressIdColumn = owner.expressId, GlobalIdColumn = owner.globalId, count = owner.count;
|
|
11
|
+
return {
|
|
12
|
+
owner, expressIdColumn, GlobalIdColumn, stringTable, count,
|
|
13
|
+
*rows() {
|
|
14
|
+
if (!Number.isSafeInteger(count) || count < 0 || count > expressIdColumn.length || count > GlobalIdColumn.length) {
|
|
15
|
+
throw new Error('Columnar Review identities are unavailable');
|
|
16
|
+
}
|
|
17
|
+
for (let row = 0; row < count; row++) {
|
|
18
|
+
const stringIndex = GlobalIdColumn[row];
|
|
19
|
+
// NULL_INDEX is -1, encoded by the existing Uint32 column as 0xFFFFFFFF.
|
|
20
|
+
// Other invalid indexes must not be silently folded into a missing GUID.
|
|
21
|
+
if (stringIndex !== 0xFFFFFFFF && stringIndex >= stringTable.count) {
|
|
22
|
+
throw new Error('Columnar Review identities are unavailable');
|
|
23
|
+
}
|
|
24
|
+
yield { expressId: expressIdColumn[row], GlobalId: stringTable.get(stringIndex) };
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=native-identity-table.js.map
|