@openmixer/plugin-qualify 0.4.1 → 0.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 +4 -1
- package/dist/clap-qualify.d.ts +7 -0
- package/dist/clap-qualify.js +3 -1
- package/dist/clap-qualify.js.map +1 -1
- package/dist/hosting-codes.d.ts +3 -0
- package/dist/hosting-codes.js +4 -0
- package/dist/hosting-codes.js.map +1 -1
- package/dist/measurement/format.d.ts +39 -3
- package/dist/measurement/format.js +62 -2
- package/dist/measurement/format.js.map +1 -1
- package/dist/measurement/merge.d.ts +10 -1
- package/dist/measurement/merge.js +39 -5
- package/dist/measurement/merge.js.map +1 -1
- package/dist/measurement/sweep-jsonl.js +3 -1
- package/dist/measurement/sweep-jsonl.js.map +1 -1
- package/dist/measurement/vocabulary.js +6 -0
- package/dist/measurement/vocabulary.js.map +1 -1
- package/package.json +1 -1
- package/src/clap-qualify.ts +9 -1
- package/src/hosting-codes.ts +4 -0
- package/src/measurement/format.ts +96 -2
- package/src/measurement/merge.ts +52 -6
- package/src/measurement/sweep-jsonl.ts +3 -1
- package/src/measurement/vocabulary.ts +7 -0
package/README.md
CHANGED
|
@@ -75,7 +75,10 @@ the file's SHA-256 beside what it measured. The verdict is the real-time-safety
|
|
|
75
75
|
only on a clean count, **unsuitable** on any allocation, lock, syscall, main-thread host call from
|
|
76
76
|
`process()` or `CLAP_PROCESS_ERROR`, **unknown** when it could not be counted. `--out` writes one
|
|
77
77
|
document per plugin binary and host profile, named `<sha256>.<profile>.rt-safety.json`, so a
|
|
78
|
-
verdict never outlives the bytes it was measured on.
|
|
78
|
+
verdict never outlives the bytes it was measured on. Each line also carries the plugin's pin, an
|
|
79
|
+
`integrity` block: the `.clap`'s SHA-256 by its file name and the parameter-layout fingerprint
|
|
80
|
+
`omx-layout/1:<sha256>`, both computed through plugin-hostd's `pin.h`, which is what a console
|
|
81
|
+
hands plugin-hostd as `pin_set` before it adds the plugin. `OMX_CLAP_QUALIFY` and `OMX_RT_INTERPOSE`
|
|
79
82
|
name the prober and the interposer when they are not the checkout's own build.
|
|
80
83
|
|
|
81
84
|
The prober also scans: `OMX_CLAP_SCAN=native/build/clap-qualify` makes it the scanner, and its scan
|
package/dist/clap-qualify.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { type HostProfile } from "./host-profiles.js";
|
|
|
3
3
|
import type { PluginTarget } from "./loader.js";
|
|
4
4
|
import type { QualifyVerdict } from "./qualify-cli.js";
|
|
5
5
|
import { type SuitabilityRating } from "./rating.js";
|
|
6
|
+
import { type IntegrityMeasurement } from "./measurement/format.js";
|
|
6
7
|
export declare class ClapQualifyError extends Error {
|
|
7
8
|
constructor(message: string);
|
|
8
9
|
}
|
|
@@ -27,6 +28,11 @@ export interface ClapQualifyLine {
|
|
|
27
28
|
readonly hostExtensions: readonly string[];
|
|
28
29
|
readonly clap: ClapProbedFacts;
|
|
29
30
|
readonly rtSafety: ClapRtSafetyReading;
|
|
31
|
+
/**
|
|
32
|
+
* The pin (spec §11): the `.clap`'s digest by its name in its directory and the layout fingerprint
|
|
33
|
+
* the prober computed through plugin-hostd's `pin.h`, or the reason it took none.
|
|
34
|
+
*/
|
|
35
|
+
readonly integrity: IntegrityMeasurement;
|
|
30
36
|
}
|
|
31
37
|
/** One line of the prober's stdout, or a {@link ClapQualifyError} saying how it differs. */
|
|
32
38
|
export declare function parseClapQualifyLine(text: string): ClapQualifyLine;
|
|
@@ -63,6 +69,7 @@ export interface RtSafetyDocument {
|
|
|
63
69
|
readonly hostExtensions: readonly string[];
|
|
64
70
|
readonly clap: ClapProbedFacts;
|
|
65
71
|
readonly rtSafety: ClapRtSafetyReading;
|
|
72
|
+
readonly integrity: IntegrityMeasurement;
|
|
66
73
|
};
|
|
67
74
|
}
|
|
68
75
|
/**
|
package/dist/clap-qualify.js
CHANGED
|
@@ -17,6 +17,7 @@ import { HOSTING_CODE, clapRtReasons, contributedHostingRating, rtSafetyReasons,
|
|
|
17
17
|
import { OPENMIXER_CONSOLE_PROFILE } from "./host-profiles.js";
|
|
18
18
|
import { RATING_SEVERITY, worstRating } from "./rating.js";
|
|
19
19
|
import { clapQualifyToolPath, rtInterposePath } from "./tool-paths.js";
|
|
20
|
+
import { readIntegrity } from "./measurement/format.js";
|
|
20
21
|
export class ClapQualifyError extends Error {
|
|
21
22
|
constructor(message) {
|
|
22
23
|
super(message);
|
|
@@ -121,6 +122,7 @@ export function parseClapQualifyLine(text) {
|
|
|
121
122
|
hostExtensions: strings(v, "hostExtensions", "the line"),
|
|
122
123
|
clap: readClap(v["clap"]),
|
|
123
124
|
rtSafety: readRtSafety(v["rtSafety"]),
|
|
125
|
+
integrity: readIntegrity(v["integrity"]) ?? bad("no integrity"),
|
|
124
126
|
};
|
|
125
127
|
}
|
|
126
128
|
/** Every non-empty line of the prober's stdout. */
|
|
@@ -161,7 +163,7 @@ export function rtSafetyDocument(line, profile = OPENMIXER_CONSOLE_PROFILE) {
|
|
|
161
163
|
plugin: { uri: line.uri, format: "clap", binary: line.binary },
|
|
162
164
|
console: profile.id,
|
|
163
165
|
verdict: { rating, rtSafe: rating === "suitable", ...(rating === "suitable" || deciding === undefined ? {} : { deciding }), reasons },
|
|
164
|
-
measured: { hostExtensions: line.hostExtensions, clap: line.clap, rtSafety: line.rtSafety },
|
|
166
|
+
measured: { hostExtensions: line.hostExtensions, clap: line.clap, rtSafety: line.rtSafety, integrity: line.integrity },
|
|
165
167
|
};
|
|
166
168
|
}
|
|
167
169
|
/** The document as the CLI's verdict row. */
|
package/dist/clap-qualify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clap-qualify.js","sourceRoot":"","sources":["../src/clap-qualify.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD;;;;;;;;;GASG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,wBAAwB,EACxB,eAAe,GAIhB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAoB,MAAM,oBAAoB,CAAC;AAGjF,OAAO,EAAE,eAAe,EAAE,WAAW,EAA0B,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvE,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AA0BD,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAEhC,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC;AACjE,CAAC;AAED,SAAS,GAAG,CAAC,IAAY;IACvB,MAAM,IAAI,gBAAgB,CAAC,yDAAyD,IAAI,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,GAAG,CAAC,CAA0B,EAAE,GAAW,EAAE,KAAa;IACjE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,kBAAkB,GAAG,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,KAAK,CAAC,CAA0B,EAAE,GAAW,EAAE,KAAa;IACnE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,iBAAiB,GAAG,EAAE,CAAC,CAAC;AAC9G,CAAC;AAED,SAAS,IAAI,CAAC,CAA0B,EAAE,GAAW,EAAE,KAAa;IAClE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,mBAAmB,GAAG,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,OAAO,CAAC,CAA0B,EAAE,GAAW,EAAE,KAAa;IACrE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC,GAAG,KAAK,gBAAgB,GAAG,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,GAAG,uCAAuC,CAAC,CAAC,CAAC,CAAC;AACjH,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU;IAC1B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAChE,MAAM,OAAO,GAAuE,EAAE,CAAC;IACvF,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;IACrJ,CAAC;IACD,OAAO;QACL,iBAAiB,EAAE,KAAK,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC;QACxD,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE,oBAAoB,EAAE,MAAM,CAAC;QAC1D,eAAe,EAAE,KAAK,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC;QACpD,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC;QACxC,UAAU,EAAE,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC;QACzC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC;QAC1C,OAAO;QACP,gBAAgB,EAAE,KAAK,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC;QACtD,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC;QAChD,YAAY,EAAE,KAAK,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC;QAC9C,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,CAAU;IAC9B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACrE,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC;QACnC,eAAe,EAAE,IAAI,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAC;QACvD,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC;QACtC,WAAW,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC;QAChD,gBAAgB,EAAE,KAAK,CAAC,CAAC,EAAE,kBAAkB,EAAE,UAAU,CAAC;QAC1D,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC;QAC9C,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC;QACpD,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,IAAI,CAAU,CAAC;IACf,IAAI,CAAC;QACH,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,MAAM;QAAE,OAAO,GAAG,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACnF,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACtC,IAAI,GAAG,KAAK,YAAY,EAAE,EAAE;QAAE,OAAO,GAAG,CAAC,OAAO,GAAG,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,GAAG,CAAC,iBAAiB,MAAM,iCAAiC,CAAC,CAAC;IAC/F,OAAO;QACL,GAAG;QACH,EAAE;QACF,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE;QACvD,cAAc,EAAE,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE,UAAU,CAAC;QACxD,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AACrF,CAAC;AAED,oGAAoG;AAEpG,8DAA8D;AAC9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,4BAA4B,CAAC;AA+BtE;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAqB,EAAE,UAAuB,yBAAyB;IACtG,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IACvC,MAAM,gBAAgB,GACpB,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7H,MAAM,OAAO,GACX,OAAO,KAAK,IAAI;QACd,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,mBAAmB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACvH,CAAC,CAAC,gBAAgB;YAChB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClE,CAAC,CAAC;gBACE;oBACE,SAAS,EAAE,UAAU;oBACrB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,YAAY,CAAC,wBAAwB;oBAC3C,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;iBACtD;aACF,CAAC;IACV,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3G,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;IACvD,OAAO;QACL,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QAC9D,OAAO,EAAE,OAAO,CAAC,EAAE;QACnB,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,UAAU,EAAE,GAAG,CAAC,MAAM,KAAK,UAAU,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE;QACrI,QAAQ,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;KAC5F,CAAC;AACJ,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,eAAe,CAAC,GAAqB;IACnD,OAAO;QACL,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG;QACnB,IAAI,EAAE,GAAG,CAAC,OAAO;QACjB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;QAC1B,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;QAC7B,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACvF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB,CAAC,GAAqB;IACxD,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,iBAAiB,CAAC;AACrE,CAAC;AAoBD,MAAM,YAAY,GAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;IAClE,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACrH,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;KACrD,CAAC;AACJ,CAAC,CAAC;AAaF,SAAS,OAAO,CAAC,GAAiD,EAAE,IAAY,EAAE,QAAgB;IAChG,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,gBAAgB,CAAC,GAAiD;IAChF,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;AAC7I,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,UAAkB,EAAE,EAAsB,EAAE,OAA2B;IACjG,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;IAC5C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAU,EAAE,CAAC;QAClI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,gBAAgB,CAAC,WAAW,IAAI,OAAO,IAAI,0CAA0C,IAAI,EAAE,CAAC,CAAC;IAC5H,CAAC;IACD,MAAM,IAAI,GAAG;QACX,SAAS;QACT,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QACvB,SAAS;QACT,MAAM,CAAC,iBAAiB,CAAC;QACzB,UAAU;QACV,MAAM,CAAC,iBAAiB,CAAC;QACzB,UAAU;QACV,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAClC,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,sBAAsB,GAAG,IAAI,CAAC,CAAC;IACvH,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,gBAAgB,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAChG,IAAI,CAAC,CAAC,MAAM;QAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,UAAU,uBAAuB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1F,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,IAAI,WAAW,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAClI,MAAM,KAAK,GAAG,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,IAAI,wBAAwB,UAAU,EAAE,CAAC,CAAC;IAChG,OAAO,KAAK,CAAC;AACf,CAAC;AAYD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgC,EAChC,OAA4E;IAE5E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACjE,MAAM,SAAS,GAAuB,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAuC,EAAE,CAAC;IACxD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjG,IAAI,KAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,MAAM,CAAC,GAAG,6DAA6D,CAAC,CAAC;YAC5I,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,CAAC,CAAC,YAAY,gBAAgB,CAAC;gBAAE,MAAM,CAAC,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;YACvI,CAAC;YACD,SAAS;QACX,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC5C,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC3C,CAAC"}
|
|
1
|
+
{"version":3,"file":"clap-qualify.js","sourceRoot":"","sources":["../src/clap-qualify.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD;;;;;;;;;GASG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,wBAAwB,EACxB,eAAe,GAIhB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAoB,MAAM,oBAAoB,CAAC;AAGjF,OAAO,EAAE,eAAe,EAAE,WAAW,EAA0B,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,aAAa,EAA6B,MAAM,yBAAyB,CAAC;AAEnF,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AA+BD,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAEhC,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC;AACjE,CAAC;AAED,SAAS,GAAG,CAAC,IAAY;IACvB,MAAM,IAAI,gBAAgB,CAAC,yDAAyD,IAAI,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,GAAG,CAAC,CAA0B,EAAE,GAAW,EAAE,KAAa;IACjE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,kBAAkB,GAAG,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,KAAK,CAAC,CAA0B,EAAE,GAAW,EAAE,KAAa;IACnE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,iBAAiB,GAAG,EAAE,CAAC,CAAC;AAC9G,CAAC;AAED,SAAS,IAAI,CAAC,CAA0B,EAAE,GAAW,EAAE,KAAa;IAClE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,mBAAmB,GAAG,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,OAAO,CAAC,CAA0B,EAAE,GAAW,EAAE,KAAa;IACrE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC,GAAG,KAAK,gBAAgB,GAAG,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,GAAG,uCAAuC,CAAC,CAAC,CAAC,CAAC;AACjH,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU;IAC1B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAChE,MAAM,OAAO,GAAuE,EAAE,CAAC;IACvF,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;IACrJ,CAAC;IACD,OAAO;QACL,iBAAiB,EAAE,KAAK,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC;QACxD,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE,oBAAoB,EAAE,MAAM,CAAC;QAC1D,eAAe,EAAE,KAAK,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC;QACpD,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC;QACxC,UAAU,EAAE,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC;QACzC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC;QAC1C,OAAO;QACP,gBAAgB,EAAE,KAAK,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC;QACtD,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC;QAChD,YAAY,EAAE,KAAK,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC;QAC9C,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,CAAU;IAC9B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACrE,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC;QACnC,eAAe,EAAE,IAAI,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAC;QACvD,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC;QACtC,WAAW,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC;QAChD,gBAAgB,EAAE,KAAK,CAAC,CAAC,EAAE,kBAAkB,EAAE,UAAU,CAAC;QAC1D,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC;QAC9C,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC;QACpD,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,IAAI,CAAU,CAAC;IACf,IAAI,CAAC;QACH,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,MAAM;QAAE,OAAO,GAAG,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACnF,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACtC,IAAI,GAAG,KAAK,YAAY,EAAE,EAAE;QAAE,OAAO,GAAG,CAAC,OAAO,GAAG,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,GAAG,CAAC,iBAAiB,MAAM,iCAAiC,CAAC,CAAC;IAC/F,OAAO;QACL,GAAG;QACH,EAAE;QACF,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE;QACvD,cAAc,EAAE,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE,UAAU,CAAC;QACxD,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACrC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AACrF,CAAC;AAED,oGAAoG;AAEpG,8DAA8D;AAC9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,4BAA4B,CAAC;AAgCtE;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAqB,EAAE,UAAuB,yBAAyB;IACtG,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IACvC,MAAM,gBAAgB,GACpB,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7H,MAAM,OAAO,GACX,OAAO,KAAK,IAAI;QACd,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,mBAAmB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACvH,CAAC,CAAC,gBAAgB;YAChB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClE,CAAC,CAAC;gBACE;oBACE,SAAS,EAAE,UAAU;oBACrB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,YAAY,CAAC,wBAAwB;oBAC3C,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;iBACtD;aACF,CAAC;IACV,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3G,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;IACvD,OAAO;QACL,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QAC9D,OAAO,EAAE,OAAO,CAAC,EAAE;QACnB,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,UAAU,EAAE,GAAG,CAAC,MAAM,KAAK,UAAU,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE;QACrI,QAAQ,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;KACvH,CAAC;AACJ,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,eAAe,CAAC,GAAqB;IACnD,OAAO;QACL,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG;QACnB,IAAI,EAAE,GAAG,CAAC,OAAO;QACjB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;QAC1B,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;QAC7B,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACvF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB,CAAC,GAAqB;IACxD,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,iBAAiB,CAAC;AACrE,CAAC;AAoBD,MAAM,YAAY,GAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;IAClE,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACrH,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;KACrD,CAAC;AACJ,CAAC,CAAC;AAaF,SAAS,OAAO,CAAC,GAAiD,EAAE,IAAY,EAAE,QAAgB;IAChG,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,gBAAgB,CAAC,GAAiD;IAChF,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;AAC7I,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,UAAkB,EAAE,EAAsB,EAAE,OAA2B;IACjG,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;IAC5C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAU,EAAE,CAAC;QAClI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,gBAAgB,CAAC,WAAW,IAAI,OAAO,IAAI,0CAA0C,IAAI,EAAE,CAAC,CAAC;IAC5H,CAAC;IACD,MAAM,IAAI,GAAG;QACX,SAAS;QACT,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QACvB,SAAS;QACT,MAAM,CAAC,iBAAiB,CAAC;QACzB,UAAU;QACV,MAAM,CAAC,iBAAiB,CAAC;QACzB,UAAU;QACV,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAClC,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,sBAAsB,GAAG,IAAI,CAAC,CAAC;IACvH,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,gBAAgB,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAChG,IAAI,CAAC,CAAC,MAAM;QAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,UAAU,uBAAuB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1F,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,IAAI,WAAW,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAClI,MAAM,KAAK,GAAG,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,IAAI,wBAAwB,UAAU,EAAE,CAAC,CAAC;IAChG,OAAO,KAAK,CAAC;AACf,CAAC;AAYD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgC,EAChC,OAA4E;IAE5E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACjE,MAAM,SAAS,GAAuB,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAuC,EAAE,CAAC;IACxD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjG,IAAI,KAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;gBAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,MAAM,CAAC,GAAG,6DAA6D,CAAC,CAAC;YAC5I,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,CAAC,CAAC,YAAY,gBAAgB,CAAC;gBAAE,MAAM,CAAC,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;YACvI,CAAC;YACD,SAAS;QACX,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC5C,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC3C,CAAC"}
|
package/dist/hosting-codes.d.ts
CHANGED
|
@@ -51,6 +51,9 @@ export declare const HOSTING_CODE: {
|
|
|
51
51
|
readonly clapFormatNotHosted: "hosting.clap.format-not-hosted";
|
|
52
52
|
readonly clapExtensionsNotCovered: "hosting.clap.extensions-not-covered";
|
|
53
53
|
readonly outputNonFinite: "hosting.output.non-finite";
|
|
54
|
+
readonly integrityUnpinned: "hosting.integrity.unpinned";
|
|
55
|
+
readonly integrityBinaryMismatch: "hosting.integrity.binary-mismatch";
|
|
56
|
+
readonly integrityLayoutMismatch: "hosting.integrity.layout-mismatch";
|
|
54
57
|
readonly overrideIsolated: "hosting.override.curator-isolated";
|
|
55
58
|
readonly hostProvenanceDiffers: "hosting.provenance.host-differs";
|
|
56
59
|
readonly sweepControlDidNotFire: "hosting.provenance.sweep-control-did-not-fire";
|
package/dist/hosting-codes.js
CHANGED
|
@@ -55,6 +55,10 @@ export const HOSTING_CODE = {
|
|
|
55
55
|
clapFormatNotHosted: 'hosting.clap.format-not-hosted',
|
|
56
56
|
clapExtensionsNotCovered: 'hosting.clap.extensions-not-covered',
|
|
57
57
|
outputNonFinite: 'hosting.output.non-finite',
|
|
58
|
+
// The pin (spec §11; one-contract §10.3): a host's refusal at add, by the daemon's code.
|
|
59
|
+
integrityUnpinned: 'hosting.integrity.unpinned',
|
|
60
|
+
integrityBinaryMismatch: 'hosting.integrity.binary-mismatch',
|
|
61
|
+
integrityLayoutMismatch: 'hosting.integrity.layout-mismatch',
|
|
58
62
|
overrideIsolated: 'hosting.override.curator-isolated',
|
|
59
63
|
hostProvenanceDiffers: 'hosting.provenance.host-differs',
|
|
60
64
|
sweepControlDidNotFire: 'hosting.provenance.sweep-control-did-not-fire',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosting-codes.js","sourceRoot":"","sources":["../src/hosting-codes.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,eAAe,EAAE,0BAA0B;IAC3C,0BAA0B,EAAE,6CAA6C;IACzE,oBAAoB,EAAE,4CAA4C;IAClE,mBAAmB,EAAE,sCAAsC;IAC3D,iBAAiB,EAAE,4BAA4B;IAC/C,mBAAmB,EAAE,8BAA8B;IACnD,0BAA0B,EAAE,sCAAsC;IAClE,sBAAsB,EAAE,kCAAkC;IAC1D,wBAAwB,EAAE,qCAAqC;IAC/D,aAAa,EAAE,qCAAqC;IACpD,kBAAkB,EAAE,qCAAqC;IACzD,kBAAkB,EAAE,8BAA8B;IAClD,uBAAuB,EAAE,oCAAoC;IAC7D,gBAAgB,EAAE,+BAA+B;IACjD,eAAe,EAAE,wCAAwC;IACzD,qBAAqB,EAAE,oCAAoC;IAC3D,UAAU,EAAE,2BAA2B;IACvC,cAAc,EAAE,oCAAoC;IACpD,iBAAiB,EAAE,sCAAsC;IACzD,iBAAiB,EAAE,6BAA6B;IAChD,gBAAgB,EAAE,4BAA4B;IAC9C,SAAS,EAAE,yBAAyB;IACpC,cAAc,EAAE,6CAA6C;IAC7D,eAAe,EAAE,0BAA0B;IAC3C,iBAAiB,EAAE,4BAA4B;IAC/C,oBAAoB,EAAE,+BAA+B;IACrD,yBAAyB,EAAE,qCAAqC;IAChE,eAAe,EAAE,0BAA0B;IAC3C,oBAAoB,EAAE,iCAAiC;IACvD,qBAAqB,EAAE,kCAAkC;IACzD,mBAAmB,EAAE,2CAA2C;IAChE,kBAAkB,EAAE,6BAA6B;IACjD,8FAA8F;IAC9F,4DAA4D;IAC5D,sBAAsB,EAAE,mCAAmC;IAC3D,mBAAmB,EAAE,+BAA+B;IACpD,kBAAkB,EAAE,+BAA+B;IACnD,kBAAkB,EAAE,8BAA8B;IAClD,aAAa,EAAE,yBAAyB;IACxC,mBAAmB,EAAE,+BAA+B;IACpD,gBAAgB,EAAE,4BAA4B;IAC9C,eAAe,EAAE,0BAA0B;IAC3C,mBAAmB,EAAE,gCAAgC;IACrD,wBAAwB,EAAE,qCAAqC;IAC/D,eAAe,EAAE,2BAA2B;IAC5C,gBAAgB,EAAE,mCAAmC;IACrD,qBAAqB,EAAE,iCAAiC;IACxD,sBAAsB,EAAE,+CAA+C;IACvE,yFAAyF;IACzF,uFAAuF;IACvF,sDAAsD;IACtD,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ,EAAE,kBAAkB;IAC5B,aAAa,EAAE,wBAAwB;IACvC,iBAAiB,EAAE,6BAA6B;IAChD,uFAAuF;IACvF,uFAAuF;IACvF,MAAM,EAAE,gBAAgB;CAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"hosting-codes.js","sourceRoot":"","sources":["../src/hosting-codes.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,eAAe,EAAE,0BAA0B;IAC3C,0BAA0B,EAAE,6CAA6C;IACzE,oBAAoB,EAAE,4CAA4C;IAClE,mBAAmB,EAAE,sCAAsC;IAC3D,iBAAiB,EAAE,4BAA4B;IAC/C,mBAAmB,EAAE,8BAA8B;IACnD,0BAA0B,EAAE,sCAAsC;IAClE,sBAAsB,EAAE,kCAAkC;IAC1D,wBAAwB,EAAE,qCAAqC;IAC/D,aAAa,EAAE,qCAAqC;IACpD,kBAAkB,EAAE,qCAAqC;IACzD,kBAAkB,EAAE,8BAA8B;IAClD,uBAAuB,EAAE,oCAAoC;IAC7D,gBAAgB,EAAE,+BAA+B;IACjD,eAAe,EAAE,wCAAwC;IACzD,qBAAqB,EAAE,oCAAoC;IAC3D,UAAU,EAAE,2BAA2B;IACvC,cAAc,EAAE,oCAAoC;IACpD,iBAAiB,EAAE,sCAAsC;IACzD,iBAAiB,EAAE,6BAA6B;IAChD,gBAAgB,EAAE,4BAA4B;IAC9C,SAAS,EAAE,yBAAyB;IACpC,cAAc,EAAE,6CAA6C;IAC7D,eAAe,EAAE,0BAA0B;IAC3C,iBAAiB,EAAE,4BAA4B;IAC/C,oBAAoB,EAAE,+BAA+B;IACrD,yBAAyB,EAAE,qCAAqC;IAChE,eAAe,EAAE,0BAA0B;IAC3C,oBAAoB,EAAE,iCAAiC;IACvD,qBAAqB,EAAE,kCAAkC;IACzD,mBAAmB,EAAE,2CAA2C;IAChE,kBAAkB,EAAE,6BAA6B;IACjD,8FAA8F;IAC9F,4DAA4D;IAC5D,sBAAsB,EAAE,mCAAmC;IAC3D,mBAAmB,EAAE,+BAA+B;IACpD,kBAAkB,EAAE,+BAA+B;IACnD,kBAAkB,EAAE,8BAA8B;IAClD,aAAa,EAAE,yBAAyB;IACxC,mBAAmB,EAAE,+BAA+B;IACpD,gBAAgB,EAAE,4BAA4B;IAC9C,eAAe,EAAE,0BAA0B;IAC3C,mBAAmB,EAAE,gCAAgC;IACrD,wBAAwB,EAAE,qCAAqC;IAC/D,eAAe,EAAE,2BAA2B;IAC5C,yFAAyF;IACzF,iBAAiB,EAAE,4BAA4B;IAC/C,uBAAuB,EAAE,mCAAmC;IAC5D,uBAAuB,EAAE,mCAAmC;IAC5D,gBAAgB,EAAE,mCAAmC;IACrD,qBAAqB,EAAE,iCAAiC;IACxD,sBAAsB,EAAE,+CAA+C;IACvE,yFAAyF;IACzF,uFAAuF;IACvF,sDAAsD;IACtD,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ,EAAE,kBAAkB;IAC5B,aAAa,EAAE,wBAAwB;IACvC,iBAAiB,EAAE,6BAA6B;IAChD,uFAAuF;IACvF,uFAAuF;IACvF,MAAM,EAAE,gBAAgB;CAChB,CAAC"}
|
|
@@ -48,10 +48,11 @@ export declare const MEASUREMENT_FORMAT_ID = "lv2-plugin-measurements";
|
|
|
48
48
|
export declare const MEASUREMENT_FORMAT_MAJOR = 1;
|
|
49
49
|
/** The minor this build writes. Additive-only within {@link MEASUREMENT_FORMAT_MAJOR}.
|
|
50
50
|
* `1.1` added the three hosting dimensions — {@link StabilityMeasurement},
|
|
51
|
-
* {@link RtSafetyMeasurement}, {@link FeaturesMeasurement} — which a 1.0 reader skips.
|
|
52
|
-
|
|
51
|
+
* {@link RtSafetyMeasurement}, {@link FeaturesMeasurement} — which a 1.0 reader skips.
|
|
52
|
+
* `1.2` added the verdicts per host profile; `1.3` the {@link IntegrityMeasurement} block. */
|
|
53
|
+
export declare const MEASUREMENT_FORMAT_MINOR = 3;
|
|
53
54
|
/** The version string this build writes, e.g. `"1.0"`. */
|
|
54
|
-
export declare const MEASUREMENT_FORMAT_VERSION = "1.
|
|
55
|
+
export declare const MEASUREMENT_FORMAT_VERSION = "1.3";
|
|
55
56
|
/** A parsed `formatVersion`. */
|
|
56
57
|
export interface FormatVersion {
|
|
57
58
|
readonly major: number;
|
|
@@ -336,6 +337,31 @@ export interface FeaturesMeasurement {
|
|
|
336
337
|
readonly unmeasuredReason?: string;
|
|
337
338
|
readonly unmeasuredDetail?: string;
|
|
338
339
|
}
|
|
340
|
+
/** One file of a pin: its path relative to the bundle root (the `.clap`'s directory) and its SHA-256. */
|
|
341
|
+
export interface PinnedFile {
|
|
342
|
+
readonly path: string;
|
|
343
|
+
readonly sha256: string;
|
|
344
|
+
}
|
|
345
|
+
/** The parameter-layout fingerprint, with the scheme it was serialised in (`omx-layout/1`). */
|
|
346
|
+
export interface LayoutPin {
|
|
347
|
+
readonly scheme: string;
|
|
348
|
+
readonly sha256: string;
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* v1.3 (§3c; plugin-qualify spec §11): what the prober that LOADED the plugin recorded so a vetted
|
|
352
|
+
* plugin cannot be swapped — the SHA-256 of every file the host loads for it and the fingerprint of
|
|
353
|
+
* its parameter layout, as the C prober computed them through plugin-hostd's `pin.h`. RAW hex, never
|
|
354
|
+
* computed here. A block with no `files` and `layout` carries an `unmeasuredReason` and is no pin.
|
|
355
|
+
*/
|
|
356
|
+
export interface IntegrityMeasurement {
|
|
357
|
+
/** The entry's version the pin was taken at. */
|
|
358
|
+
readonly version?: string;
|
|
359
|
+
/** Sorted by path. */
|
|
360
|
+
readonly files?: readonly PinnedFile[];
|
|
361
|
+
readonly layout?: LayoutPin;
|
|
362
|
+
readonly unmeasuredReason?: string;
|
|
363
|
+
readonly unmeasuredDetail?: string;
|
|
364
|
+
}
|
|
339
365
|
/** One plugin as one run saw it. */
|
|
340
366
|
export interface MeasuredPlugin {
|
|
341
367
|
readonly uri: string;
|
|
@@ -356,6 +382,8 @@ export interface MeasuredPlugin {
|
|
|
356
382
|
readonly stability?: StabilityMeasurement;
|
|
357
383
|
readonly rtSafety?: RtSafetyMeasurement;
|
|
358
384
|
readonly features?: FeaturesMeasurement;
|
|
385
|
+
/** v1.3: the pin, when the run loaded the plugin (§3c). */
|
|
386
|
+
readonly integrity?: IntegrityMeasurement;
|
|
359
387
|
}
|
|
360
388
|
/** What a host spends on one plugin instance: the P95 core-fraction ceiling, at its rate and quantum. */
|
|
361
389
|
export interface HostBudget {
|
|
@@ -456,6 +484,14 @@ export declare function readLifecycle(value: unknown): LifecycleReading | undefi
|
|
|
456
484
|
export declare function readThreads(value: unknown): ThreadReading | undefined;
|
|
457
485
|
/** One soak rate. Every field optional: a rate that died carries `died` and nothing else. */
|
|
458
486
|
export declare function readSoakAtRate(value: unknown): SoakAtRate | undefined;
|
|
487
|
+
/**
|
|
488
|
+
* The `integrity` block, or `undefined` when it is not one. A pin is whole or absent: a file entry
|
|
489
|
+
* that does not read, a path named twice, an empty list or a malformed layout drops the pin and
|
|
490
|
+
* keeps only a reason, never a partial pin.
|
|
491
|
+
*/
|
|
492
|
+
export declare function readIntegrity(value: unknown): IntegrityMeasurement | undefined;
|
|
493
|
+
/** Whether two pins name the same files with the same digests and the same layout. */
|
|
494
|
+
export declare function sameIntegrity(a: IntegrityMeasurement | undefined, b: IntegrityMeasurement | undefined): boolean;
|
|
459
495
|
/**
|
|
460
496
|
* Read an untrusted value — a parsed JSON file, a wire frame — as a measurement document.
|
|
461
497
|
*
|
|
@@ -51,8 +51,9 @@ export const MEASUREMENT_FORMAT_ID = "lv2-plugin-measurements";
|
|
|
51
51
|
export const MEASUREMENT_FORMAT_MAJOR = 1;
|
|
52
52
|
/** The minor this build writes. Additive-only within {@link MEASUREMENT_FORMAT_MAJOR}.
|
|
53
53
|
* `1.1` added the three hosting dimensions — {@link StabilityMeasurement},
|
|
54
|
-
* {@link RtSafetyMeasurement}, {@link FeaturesMeasurement} — which a 1.0 reader skips.
|
|
55
|
-
|
|
54
|
+
* {@link RtSafetyMeasurement}, {@link FeaturesMeasurement} — which a 1.0 reader skips.
|
|
55
|
+
* `1.2` added the verdicts per host profile; `1.3` the {@link IntegrityMeasurement} block. */
|
|
56
|
+
export const MEASUREMENT_FORMAT_MINOR = 3;
|
|
56
57
|
/** The version string this build writes, e.g. `"1.0"`. */
|
|
57
58
|
export const MEASUREMENT_FORMAT_VERSION = `${MEASUREMENT_FORMAT_MAJOR}.${MEASUREMENT_FORMAT_MINOR}`;
|
|
58
59
|
/**
|
|
@@ -488,6 +489,64 @@ function readFeatures(value) {
|
|
|
488
489
|
...reasonOf(value),
|
|
489
490
|
};
|
|
490
491
|
}
|
|
492
|
+
const SHA256_HEX = /^[0-9a-f]{64}$/;
|
|
493
|
+
/** A pinned path: relative, inside the bundle, and none of `pin_set`'s separators or whitespace. */
|
|
494
|
+
function pinnedPath(value) {
|
|
495
|
+
const path = nonEmptyString(value);
|
|
496
|
+
if (path === undefined || path.startsWith("/") || /[,=\s]/.test(path))
|
|
497
|
+
return undefined;
|
|
498
|
+
return path.split("/").every((part) => part !== "" && part !== "." && part !== "..") ? path : undefined;
|
|
499
|
+
}
|
|
500
|
+
function readPinnedFile(value) {
|
|
501
|
+
if (!isRecord(value))
|
|
502
|
+
return undefined;
|
|
503
|
+
const path = pinnedPath(value.path);
|
|
504
|
+
const sha256 = nonEmptyString(value.sha256);
|
|
505
|
+
return path === undefined || sha256 === undefined || !SHA256_HEX.test(sha256) ? undefined : { path, sha256 };
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* The `integrity` block, or `undefined` when it is not one. A pin is whole or absent: a file entry
|
|
509
|
+
* that does not read, a path named twice, an empty list or a malformed layout drops the pin and
|
|
510
|
+
* keeps only a reason, never a partial pin.
|
|
511
|
+
*/
|
|
512
|
+
export function readIntegrity(value) {
|
|
513
|
+
if (!isRecord(value))
|
|
514
|
+
return undefined;
|
|
515
|
+
const version = nonEmptyString(value.version);
|
|
516
|
+
const rawFiles = Array.isArray(value.files) ? value.files : undefined;
|
|
517
|
+
const files = rawFiles?.map(readPinnedFile);
|
|
518
|
+
const layout = isRecord(value.layout)
|
|
519
|
+
? { scheme: nonEmptyString(value.layout.scheme), sha256: nonEmptyString(value.layout.sha256) }
|
|
520
|
+
: undefined;
|
|
521
|
+
const whole = files !== undefined &&
|
|
522
|
+
files.length > 0 &&
|
|
523
|
+
files.every((f) => f !== undefined) &&
|
|
524
|
+
new Set(files.map((f) => f.path)).size === files.length &&
|
|
525
|
+
layout?.scheme !== undefined &&
|
|
526
|
+
layout.sha256 !== undefined &&
|
|
527
|
+
SHA256_HEX.test(layout.sha256);
|
|
528
|
+
if (whole) {
|
|
529
|
+
return {
|
|
530
|
+
...optional("version", version),
|
|
531
|
+
files: files.slice().sort((a, b) => (a.path < b.path ? -1 : a.path > b.path ? 1 : 0)),
|
|
532
|
+
layout: { scheme: layout.scheme, sha256: layout.sha256 },
|
|
533
|
+
};
|
|
534
|
+
}
|
|
535
|
+
const reason = reasonOf(value);
|
|
536
|
+
if (rawFiles === undefined && value.layout === undefined && reason.unmeasuredReason !== undefined) {
|
|
537
|
+
return { ...optional("version", version), ...reason };
|
|
538
|
+
}
|
|
539
|
+
return { ...optional("version", version), unmeasuredReason: "probe-error", unmeasuredDetail: "the integrity block is not a whole pin" };
|
|
540
|
+
}
|
|
541
|
+
/** Whether two pins name the same files with the same digests and the same layout. */
|
|
542
|
+
export function sameIntegrity(a, b) {
|
|
543
|
+
if (a?.files === undefined || b?.files === undefined || a.layout === undefined || b.layout === undefined)
|
|
544
|
+
return false;
|
|
545
|
+
return (a.layout.scheme === b.layout.scheme &&
|
|
546
|
+
a.layout.sha256 === b.layout.sha256 &&
|
|
547
|
+
a.files.length === b.files.length &&
|
|
548
|
+
a.files.every((f, i) => f.path === b.files[i].path && f.sha256 === b.files[i].sha256));
|
|
549
|
+
}
|
|
491
550
|
function readPlugin(value) {
|
|
492
551
|
if (!isRecord(value))
|
|
493
552
|
return undefined;
|
|
@@ -507,6 +566,7 @@ function readPlugin(value) {
|
|
|
507
566
|
...optional("stability", readStability(value.stability)),
|
|
508
567
|
...optional("rtSafety", readRtSafety(value.rtSafety)),
|
|
509
568
|
...optional("features", readFeatures(value.features)),
|
|
569
|
+
...optional("integrity", readIntegrity(value.integrity)),
|
|
510
570
|
};
|
|
511
571
|
}
|
|
512
572
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/measurement/format.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/measurement/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,8 +36,15 @@
|
|
|
36
36
|
*
|
|
37
37
|
* An UNKNOWN reason code from a third-party document resolves to `probe-failed`: a word we
|
|
38
38
|
* cannot interpret must never be allowed to delete a real measurement.
|
|
39
|
+
*
|
|
40
|
+
* ## The pin binds the figures to the bytes (plugin-qualify spec §11.5)
|
|
41
|
+
*
|
|
42
|
+
* The `integrity` block resolves by the same precedence. Where the effective block is a pin, a
|
|
43
|
+
* dimension resolved from a document whose `integrity` for that plugin differs or is absent does
|
|
44
|
+
* not apply: a figure measured on another binary is not a figure about this one, so the dimension
|
|
45
|
+
* is dropped and reads unknown. With no effective pin, nothing is bound.
|
|
39
46
|
*/
|
|
40
|
-
import type { CostMeasurement, FeaturesMeasurement, LatencyMeasurement, MeasurementDocument, MeasuredPlugin, MeasurementRun, RtSafetyMeasurement, StabilityMeasurement } from "./format.js";
|
|
47
|
+
import type { CostMeasurement, FeaturesMeasurement, IntegrityMeasurement, LatencyMeasurement, MeasurementDocument, MeasuredPlugin, MeasurementRun, RtSafetyMeasurement, StabilityMeasurement } from "./format.js";
|
|
41
48
|
import { type MeasurementDimension } from "./vocabulary.js";
|
|
42
49
|
/** Where a figure came from. Two words, because the operator only ever has two questions. */
|
|
43
50
|
export type FigureSource = "local" | "shipped";
|
|
@@ -65,6 +72,8 @@ export interface MergedPluginMeasurement {
|
|
|
65
72
|
readonly stability?: ResolvedFigure<StabilityMeasurement>;
|
|
66
73
|
readonly rtSafety?: ResolvedFigure<RtSafetyMeasurement>;
|
|
67
74
|
readonly features?: ResolvedFigure<FeaturesMeasurement>;
|
|
75
|
+
/** The effective pin (§3c), resolved like a dimension; it binds the dimensions above to its bytes. */
|
|
76
|
+
readonly integrity?: ResolvedFigure<IntegrityMeasurement>;
|
|
68
77
|
/**
|
|
69
78
|
* Dimensions where the LOCAL run tried and failed (crashed, timed out, refused), keyed
|
|
70
79
|
* by dimension with the reason code. The shipped figure is still in use for these —
|
|
@@ -38,7 +38,15 @@
|
|
|
38
38
|
*
|
|
39
39
|
* An UNKNOWN reason code from a third-party document resolves to `probe-failed`: a word we
|
|
40
40
|
* cannot interpret must never be allowed to delete a real measurement.
|
|
41
|
+
*
|
|
42
|
+
* ## The pin binds the figures to the bytes (plugin-qualify spec §11.5)
|
|
43
|
+
*
|
|
44
|
+
* The `integrity` block resolves by the same precedence. Where the effective block is a pin, a
|
|
45
|
+
* dimension resolved from a document whose `integrity` for that plugin differs or is absent does
|
|
46
|
+
* not apply: a figure measured on another binary is not a figure about this one, so the dimension
|
|
47
|
+
* is dropped and reads unknown. With no effective pin, nothing is bound.
|
|
41
48
|
*/
|
|
49
|
+
import { sameIntegrity } from "./format.js";
|
|
42
50
|
import { MEASUREMENT_DIMENSIONS, unmeasuredKind } from "./vocabulary.js";
|
|
43
51
|
/** Every source, in the order precedence resolves them (highest first). */
|
|
44
52
|
export const FIGURE_SOURCES = ["local", "shipped"];
|
|
@@ -159,6 +167,24 @@ function resolveDimension(dimension, local, shipped) {
|
|
|
159
167
|
// not-attempted: the local run has no opinion here.
|
|
160
168
|
return shippedFigure === undefined ? {} : { resolved: shippedFigure };
|
|
161
169
|
}
|
|
170
|
+
/** A pin, as opposed to a block that only says why there is none. */
|
|
171
|
+
function isPin(integrity) {
|
|
172
|
+
return integrity?.files !== undefined && integrity.layout !== undefined;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* The effective `integrity` of one plugin, by the precedence every dimension takes: a local pin
|
|
176
|
+
* wins; a local `nothing-to-measure` (an unpinnable plugin) overrides with no pin; a local probe
|
|
177
|
+
* failure or absence leaves the shipped pin.
|
|
178
|
+
*/
|
|
179
|
+
function resolveIntegrity(local, shipped) {
|
|
180
|
+
const shippedFigure = shipped !== undefined && isPin(shipped.integrity) ? figure("shipped", shipped.run, shipped.integrity) : undefined;
|
|
181
|
+
if (local?.integrity === undefined)
|
|
182
|
+
return shippedFigure;
|
|
183
|
+
if (isPin(local.integrity) || unmeasuredKind(local.integrity.unmeasuredReason) === "nothing-to-measure") {
|
|
184
|
+
return figure("local", local.run, local.integrity);
|
|
185
|
+
}
|
|
186
|
+
return shippedFigure;
|
|
187
|
+
}
|
|
162
188
|
/**
|
|
163
189
|
* The merged view an installation reads: shipped defaults with local measurements laid over
|
|
164
190
|
* them, every figure still knowing where it came from.
|
|
@@ -201,14 +227,22 @@ export class MergedMeasurements {
|
|
|
201
227
|
if (failure !== undefined)
|
|
202
228
|
failures[dimension] = failure;
|
|
203
229
|
}
|
|
230
|
+
const integrity = resolveIntegrity(local !== undefined && localPlugin !== undefined ? { run: local.run, integrity: localPlugin.integrity } : undefined, shipped !== undefined && shippedPlugin !== undefined ? { run: shipped.run, integrity: shippedPlugin.integrity } : undefined);
|
|
231
|
+
// §11.5: with an effective pin, a figure from a document whose pin for this plugin differs or
|
|
232
|
+
// is absent is about other bytes, and does not apply.
|
|
233
|
+
const pinOf = (source) => (source === "local" ? localPlugin : shippedPlugin)?.integrity;
|
|
234
|
+
const bound = (resolved) => resolved === undefined || integrity === undefined || !isPin(integrity.value) || sameIntegrity(pinOf(resolved.source), integrity.value)
|
|
235
|
+
? resolved
|
|
236
|
+
: undefined;
|
|
204
237
|
merged.set(uri, {
|
|
205
238
|
uri,
|
|
206
239
|
plugin: identity,
|
|
207
|
-
...optionalFigure("latency", latency.resolved),
|
|
208
|
-
...optionalFigure("cost", cost.resolved),
|
|
209
|
-
...optionalFigure("stability", stability.resolved),
|
|
210
|
-
...optionalFigure("rtSafety", rtSafety.resolved),
|
|
211
|
-
...optionalFigure("features", features.resolved),
|
|
240
|
+
...optionalFigure("latency", bound(latency.resolved)),
|
|
241
|
+
...optionalFigure("cost", bound(cost.resolved)),
|
|
242
|
+
...optionalFigure("stability", bound(stability.resolved)),
|
|
243
|
+
...optionalFigure("rtSafety", bound(rtSafety.resolved)),
|
|
244
|
+
...optionalFigure("features", bound(features.resolved)),
|
|
245
|
+
...(integrity === undefined ? {} : { integrity }),
|
|
212
246
|
...(Object.keys(failures).length > 0 ? { localProbeFailed: failures } : {}),
|
|
213
247
|
...(shippedPlugin === undefined ? { localOnly: true } : {}),
|
|
214
248
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/measurement/merge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/measurement/merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* soak held, whether a count is a measurement at all — those are the consumer's rules, and a
|
|
21
21
|
* reader that decided them would be a second classifier ahead of the real one.
|
|
22
22
|
*/
|
|
23
|
-
import { readLifecycle, readSoakAtRate, readThreads } from "./format.js";
|
|
23
|
+
import { readIntegrity, readLifecycle, readSoakAtRate, readThreads } from "./format.js";
|
|
24
24
|
import { booleanValue, finiteNumber, isRecord, mapArray, nonEmptyString, optional, positiveNumber } from "./guards.js";
|
|
25
25
|
/** A process exit status that IS a signal death, as the signal's name. Anything else is not a
|
|
26
26
|
* crash this reader can name — a timeout (124) or an early refusal is the run failing, not the
|
|
@@ -131,6 +131,7 @@ export function measuredPluginsFromSweep(passes) {
|
|
|
131
131
|
continue;
|
|
132
132
|
out.push({
|
|
133
133
|
uri,
|
|
134
|
+
...optional("version", nonEmptyString(row.version)),
|
|
134
135
|
topology: {
|
|
135
136
|
audioInputs,
|
|
136
137
|
audioOutputs,
|
|
@@ -139,6 +140,7 @@ export function measuredPluginsFromSweep(passes) {
|
|
|
139
140
|
stability: stabilityOf(row, deep.get(uri), soak.get(uri)),
|
|
140
141
|
rtSafety: rtSafetyOf(row),
|
|
141
142
|
features: featuresOf(row),
|
|
143
|
+
...optional("integrity", readIntegrity(row.integrity)),
|
|
142
144
|
});
|
|
143
145
|
}
|
|
144
146
|
return out;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sweep-jsonl.js","sourceRoot":"","sources":["../../src/measurement/sweep-jsonl.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD;;;;;;;;;;;;;;;;;;;GAmBG;AAUH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sweep-jsonl.js","sourceRoot":"","sources":["../../src/measurement/sweep-jsonl.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,12 @@ export const UNMEASURED_TERMS = [
|
|
|
46
46
|
kind: "nothing-to-measure",
|
|
47
47
|
description: "A convolver requiring an IR file the prober did not load.",
|
|
48
48
|
},
|
|
49
|
+
{
|
|
50
|
+
code: "unpinnable",
|
|
51
|
+
kind: "nothing-to-measure",
|
|
52
|
+
description: "The files the host loads cannot be pinned (plugin-qualify spec §11.1): a path holding ',', '=' or " +
|
|
53
|
+
"whitespace, or a manifest using @base or a percent-encoded IRI. The plugin stays unpinned, never partly pinned.",
|
|
54
|
+
},
|
|
49
55
|
{
|
|
50
56
|
code: "refused-instantiation",
|
|
51
57
|
kind: "probe-failed",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../../src/measurement/vocabulary.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA8B7C;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA8B;IACzD;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,mFAAmF;KACjG;IACD;QACE,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,2DAA2D;KACzE;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,yFAAyF;YACzF,4FAA4F;KAC/F;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,oFAAoF;KAClG;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,2DAA2D;KACzE;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,8DAA8D;KAC5E;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,oEAAoE;KAClF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,iEAAiE;KAC/E;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,+EAA+E;KAC7F;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,uFAAuF;YACvF,uDAAuD;KAC1D;IACD;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,2FAA2F;YAC3F,sFAAsF;KACzF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,sFAAsF;KACpG;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAwC,IAAI,GAAG,CACrE,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAClD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAwB;IACrD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAwB;IACrD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC;IAC/C,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,cAAc,CAAC;AAC9D,CAAC;AAgBD,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,+FAA+F;KAC7G;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,0FAA0F;KACxG;IACD,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,mDAAmD,EAAE;IAClF;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,2FAA2F;YAC3F,2EAA2E;KAC9E;IACD,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,8CAA8C,EAAE;IACpF,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,4BAA4B,EAAE;CAClE,CAAC;AAEF,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAErF,6EAA6E;AAC7E,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,2FAA2F;YAC3F,wEAAwE;KAC3E;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,2FAA2F;YAC3F,sFAAsF;KACzF;CACwC,CAAC;AAK5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,4FAA4F;YAC5F,+EAA+E;KAClF;CACF,CAAC;AAEF,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,wDAAwD;AACxD,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,2FAA2F;YAC3F,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,6EAA6E;KAC3F;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,yFAAyF;YACzF,kDAAkD;KACrD;CACF,CAAC;AAEF,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAEnF,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAU,CAAC;AAExG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,CAAuE,CAAC;AAK3H,iEAAiE;AACjE,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,CAAU,CAAC;AAG7F,wEAAwE;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAU,CAAC;AAGxF,iGAAiG;AACjG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,aAAa,EAAE,eAAe,CAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../../src/measurement/vocabulary.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA8B7C;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA8B;IACzD;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,mFAAmF;KACjG;IACD;QACE,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,2DAA2D;KACzE;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,yFAAyF;YACzF,4FAA4F;KAC/F;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,oFAAoF;KAClG;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,2DAA2D;KACzE;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,oGAAoG;YACpG,iHAAiH;KACpH;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,8DAA8D;KAC5E;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,oEAAoE;KAClF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,iEAAiE;KAC/E;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,+EAA+E;KAC7F;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,uFAAuF;YACvF,uDAAuD;KAC1D;IACD;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,2FAA2F;YAC3F,sFAAsF;KACzF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,sFAAsF;KACpG;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAwC,IAAI,GAAG,CACrE,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAClD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAwB;IACrD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAwB;IACrD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC;IAC/C,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,cAAc,CAAC;AAC9D,CAAC;AAgBD,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,+FAA+F;KAC7G;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,0FAA0F;KACxG;IACD,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,mDAAmD,EAAE;IAClF;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,2FAA2F;YAC3F,2EAA2E;KAC9E;IACD,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,8CAA8C,EAAE;IACpF,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,4BAA4B,EAAE;CAClE,CAAC;AAEF,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAErF,6EAA6E;AAC7E,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,2FAA2F;YAC3F,wEAAwE;KAC3E;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,2FAA2F;YAC3F,sFAAsF;KACzF;CACwC,CAAC;AAK5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,4FAA4F;YAC5F,+EAA+E;KAClF;CACF,CAAC;AAEF,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,wDAAwD;AACxD,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,2FAA2F;YAC3F,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,6EAA6E;KAC3F;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,yFAAyF;YACzF,kDAAkD;KACrD;CACF,CAAC;AAEF,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAEnF,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAU,CAAC;AAExG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,CAAuE,CAAC;AAK3H,iEAAiE;AACjE,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,CAAU,CAAC;AAG7F,wEAAwE;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAU,CAAC;AAGxF,iGAAiG;AACjG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,aAAa,EAAE,eAAe,CAAU,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openmixer/plugin-qualify",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Qualify audio plugins for real-time hosting: scan, offline latency and cost measurement, a mod-host hosting sweep, and a fail-closed rating.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "GPL-3.0-or-later",
|
package/src/clap-qualify.ts
CHANGED
|
@@ -34,6 +34,7 @@ import type { PluginTarget } from "./loader.js";
|
|
|
34
34
|
import type { QualifyVerdict } from "./qualify-cli.js";
|
|
35
35
|
import { RATING_SEVERITY, worstRating, type SuitabilityRating } from "./rating.js";
|
|
36
36
|
import { clapQualifyToolPath, rtInterposePath } from "./tool-paths.js";
|
|
37
|
+
import { readIntegrity, type IntegrityMeasurement } from "./measurement/format.js";
|
|
37
38
|
|
|
38
39
|
export class ClapQualifyError extends Error {
|
|
39
40
|
constructor(message: string) {
|
|
@@ -64,6 +65,11 @@ export interface ClapQualifyLine {
|
|
|
64
65
|
readonly hostExtensions: readonly string[];
|
|
65
66
|
readonly clap: ClapProbedFacts;
|
|
66
67
|
readonly rtSafety: ClapRtSafetyReading;
|
|
68
|
+
/**
|
|
69
|
+
* The pin (spec §11): the `.clap`'s digest by its name in its directory and the layout fingerprint
|
|
70
|
+
* the prober computed through plugin-hostd's `pin.h`, or the reason it took none.
|
|
71
|
+
*/
|
|
72
|
+
readonly integrity: IntegrityMeasurement;
|
|
67
73
|
}
|
|
68
74
|
|
|
69
75
|
const SHA256 = /^[0-9a-f]{64}$/;
|
|
@@ -161,6 +167,7 @@ export function parseClapQualifyLine(text: string): ClapQualifyLine {
|
|
|
161
167
|
hostExtensions: strings(v, "hostExtensions", "the line"),
|
|
162
168
|
clap: readClap(v["clap"]),
|
|
163
169
|
rtSafety: readRtSafety(v["rtSafety"]),
|
|
170
|
+
integrity: readIntegrity(v["integrity"]) ?? bad("no integrity"),
|
|
164
171
|
};
|
|
165
172
|
}
|
|
166
173
|
|
|
@@ -200,6 +207,7 @@ export interface RtSafetyDocument {
|
|
|
200
207
|
readonly hostExtensions: readonly string[];
|
|
201
208
|
readonly clap: ClapProbedFacts;
|
|
202
209
|
readonly rtSafety: ClapRtSafetyReading;
|
|
210
|
+
readonly integrity: IntegrityMeasurement;
|
|
203
211
|
};
|
|
204
212
|
}
|
|
205
213
|
|
|
@@ -236,7 +244,7 @@ export function rtSafetyDocument(line: ClapQualifyLine, profile: HostProfile = O
|
|
|
236
244
|
plugin: { uri: line.uri, format: "clap", binary: line.binary },
|
|
237
245
|
console: profile.id,
|
|
238
246
|
verdict: { rating, rtSafe: rating === "suitable", ...(rating === "suitable" || deciding === undefined ? {} : { deciding }), reasons },
|
|
239
|
-
measured: { hostExtensions: line.hostExtensions, clap: line.clap, rtSafety: line.rtSafety },
|
|
247
|
+
measured: { hostExtensions: line.hostExtensions, clap: line.clap, rtSafety: line.rtSafety, integrity: line.integrity },
|
|
240
248
|
};
|
|
241
249
|
}
|
|
242
250
|
|
package/src/hosting-codes.ts
CHANGED
|
@@ -55,6 +55,10 @@ export const HOSTING_CODE = {
|
|
|
55
55
|
clapFormatNotHosted: 'hosting.clap.format-not-hosted',
|
|
56
56
|
clapExtensionsNotCovered: 'hosting.clap.extensions-not-covered',
|
|
57
57
|
outputNonFinite: 'hosting.output.non-finite',
|
|
58
|
+
// The pin (spec §11; one-contract §10.3): a host's refusal at add, by the daemon's code.
|
|
59
|
+
integrityUnpinned: 'hosting.integrity.unpinned',
|
|
60
|
+
integrityBinaryMismatch: 'hosting.integrity.binary-mismatch',
|
|
61
|
+
integrityLayoutMismatch: 'hosting.integrity.layout-mismatch',
|
|
58
62
|
overrideIsolated: 'hosting.override.curator-isolated',
|
|
59
63
|
hostProvenanceDiffers: 'hosting.provenance.host-differs',
|
|
60
64
|
sweepControlDidNotFire: 'hosting.provenance.sweep-control-did-not-fire',
|
|
@@ -73,8 +73,9 @@ export const MEASUREMENT_FORMAT_MAJOR = 1;
|
|
|
73
73
|
|
|
74
74
|
/** The minor this build writes. Additive-only within {@link MEASUREMENT_FORMAT_MAJOR}.
|
|
75
75
|
* `1.1` added the three hosting dimensions — {@link StabilityMeasurement},
|
|
76
|
-
* {@link RtSafetyMeasurement}, {@link FeaturesMeasurement} — which a 1.0 reader skips.
|
|
77
|
-
|
|
76
|
+
* {@link RtSafetyMeasurement}, {@link FeaturesMeasurement} — which a 1.0 reader skips.
|
|
77
|
+
* `1.2` added the verdicts per host profile; `1.3` the {@link IntegrityMeasurement} block. */
|
|
78
|
+
export const MEASUREMENT_FORMAT_MINOR = 3;
|
|
78
79
|
|
|
79
80
|
/** The version string this build writes, e.g. `"1.0"`. */
|
|
80
81
|
export const MEASUREMENT_FORMAT_VERSION = `${MEASUREMENT_FORMAT_MAJOR}.${MEASUREMENT_FORMAT_MINOR}`;
|
|
@@ -398,6 +399,34 @@ export interface FeaturesMeasurement {
|
|
|
398
399
|
readonly unmeasuredDetail?: string;
|
|
399
400
|
}
|
|
400
401
|
|
|
402
|
+
/** One file of a pin: its path relative to the bundle root (the `.clap`'s directory) and its SHA-256. */
|
|
403
|
+
export interface PinnedFile {
|
|
404
|
+
readonly path: string;
|
|
405
|
+
readonly sha256: string;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
/** The parameter-layout fingerprint, with the scheme it was serialised in (`omx-layout/1`). */
|
|
409
|
+
export interface LayoutPin {
|
|
410
|
+
readonly scheme: string;
|
|
411
|
+
readonly sha256: string;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* v1.3 (§3c; plugin-qualify spec §11): what the prober that LOADED the plugin recorded so a vetted
|
|
416
|
+
* plugin cannot be swapped — the SHA-256 of every file the host loads for it and the fingerprint of
|
|
417
|
+
* its parameter layout, as the C prober computed them through plugin-hostd's `pin.h`. RAW hex, never
|
|
418
|
+
* computed here. A block with no `files` and `layout` carries an `unmeasuredReason` and is no pin.
|
|
419
|
+
*/
|
|
420
|
+
export interface IntegrityMeasurement {
|
|
421
|
+
/** The entry's version the pin was taken at. */
|
|
422
|
+
readonly version?: string;
|
|
423
|
+
/** Sorted by path. */
|
|
424
|
+
readonly files?: readonly PinnedFile[];
|
|
425
|
+
readonly layout?: LayoutPin;
|
|
426
|
+
readonly unmeasuredReason?: string;
|
|
427
|
+
readonly unmeasuredDetail?: string;
|
|
428
|
+
}
|
|
429
|
+
|
|
401
430
|
/** One plugin as one run saw it. */
|
|
402
431
|
export interface MeasuredPlugin {
|
|
403
432
|
readonly uri: string;
|
|
@@ -418,6 +447,8 @@ export interface MeasuredPlugin {
|
|
|
418
447
|
readonly stability?: StabilityMeasurement;
|
|
419
448
|
readonly rtSafety?: RtSafetyMeasurement;
|
|
420
449
|
readonly features?: FeaturesMeasurement;
|
|
450
|
+
/** v1.3: the pin, when the run loaded the plugin (§3c). */
|
|
451
|
+
readonly integrity?: IntegrityMeasurement;
|
|
421
452
|
}
|
|
422
453
|
|
|
423
454
|
/** What a host spends on one plugin instance: the P95 core-fraction ceiling, at its rate and quantum. */
|
|
@@ -918,6 +949,68 @@ function readFeatures(value: unknown): FeaturesMeasurement | undefined {
|
|
|
918
949
|
};
|
|
919
950
|
}
|
|
920
951
|
|
|
952
|
+
const SHA256_HEX = /^[0-9a-f]{64}$/;
|
|
953
|
+
|
|
954
|
+
/** A pinned path: relative, inside the bundle, and none of `pin_set`'s separators or whitespace. */
|
|
955
|
+
function pinnedPath(value: unknown): string | undefined {
|
|
956
|
+
const path = nonEmptyString(value);
|
|
957
|
+
if (path === undefined || path.startsWith("/") || /[,=\s]/.test(path)) return undefined;
|
|
958
|
+
return path.split("/").every((part) => part !== "" && part !== "." && part !== "..") ? path : undefined;
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
function readPinnedFile(value: unknown): PinnedFile | undefined {
|
|
962
|
+
if (!isRecord(value)) return undefined;
|
|
963
|
+
const path = pinnedPath(value.path);
|
|
964
|
+
const sha256 = nonEmptyString(value.sha256);
|
|
965
|
+
return path === undefined || sha256 === undefined || !SHA256_HEX.test(sha256) ? undefined : { path, sha256 };
|
|
966
|
+
}
|
|
967
|
+
|
|
968
|
+
/**
|
|
969
|
+
* The `integrity` block, or `undefined` when it is not one. A pin is whole or absent: a file entry
|
|
970
|
+
* that does not read, a path named twice, an empty list or a malformed layout drops the pin and
|
|
971
|
+
* keeps only a reason, never a partial pin.
|
|
972
|
+
*/
|
|
973
|
+
export function readIntegrity(value: unknown): IntegrityMeasurement | undefined {
|
|
974
|
+
if (!isRecord(value)) return undefined;
|
|
975
|
+
const version = nonEmptyString(value.version);
|
|
976
|
+
const rawFiles = Array.isArray(value.files) ? value.files : undefined;
|
|
977
|
+
const files = rawFiles?.map(readPinnedFile);
|
|
978
|
+
const layout = isRecord(value.layout)
|
|
979
|
+
? { scheme: nonEmptyString(value.layout.scheme), sha256: nonEmptyString(value.layout.sha256) }
|
|
980
|
+
: undefined;
|
|
981
|
+
const whole =
|
|
982
|
+
files !== undefined &&
|
|
983
|
+
files.length > 0 &&
|
|
984
|
+
files.every((f) => f !== undefined) &&
|
|
985
|
+
new Set(files.map((f) => f!.path)).size === files.length &&
|
|
986
|
+
layout?.scheme !== undefined &&
|
|
987
|
+
layout.sha256 !== undefined &&
|
|
988
|
+
SHA256_HEX.test(layout.sha256);
|
|
989
|
+
if (whole) {
|
|
990
|
+
return {
|
|
991
|
+
...optional("version", version),
|
|
992
|
+
files: (files as PinnedFile[]).slice().sort((a, b) => (a.path < b.path ? -1 : a.path > b.path ? 1 : 0)),
|
|
993
|
+
layout: { scheme: layout!.scheme!, sha256: layout!.sha256! },
|
|
994
|
+
};
|
|
995
|
+
}
|
|
996
|
+
const reason = reasonOf(value);
|
|
997
|
+
if (rawFiles === undefined && value.layout === undefined && reason.unmeasuredReason !== undefined) {
|
|
998
|
+
return { ...optional("version", version), ...reason };
|
|
999
|
+
}
|
|
1000
|
+
return { ...optional("version", version), unmeasuredReason: "probe-error", unmeasuredDetail: "the integrity block is not a whole pin" };
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
/** Whether two pins name the same files with the same digests and the same layout. */
|
|
1004
|
+
export function sameIntegrity(a: IntegrityMeasurement | undefined, b: IntegrityMeasurement | undefined): boolean {
|
|
1005
|
+
if (a?.files === undefined || b?.files === undefined || a.layout === undefined || b.layout === undefined) return false;
|
|
1006
|
+
return (
|
|
1007
|
+
a.layout.scheme === b.layout.scheme &&
|
|
1008
|
+
a.layout.sha256 === b.layout.sha256 &&
|
|
1009
|
+
a.files.length === b.files.length &&
|
|
1010
|
+
a.files.every((f, i) => f.path === b.files![i]!.path && f.sha256 === b.files![i]!.sha256)
|
|
1011
|
+
);
|
|
1012
|
+
}
|
|
1013
|
+
|
|
921
1014
|
function readPlugin(value: unknown): MeasuredPlugin | undefined {
|
|
922
1015
|
if (!isRecord(value)) return undefined;
|
|
923
1016
|
const uri = nonEmptyString(value.uri);
|
|
@@ -935,6 +1028,7 @@ function readPlugin(value: unknown): MeasuredPlugin | undefined {
|
|
|
935
1028
|
...optional("stability", readStability(value.stability)),
|
|
936
1029
|
...optional("rtSafety", readRtSafety(value.rtSafety)),
|
|
937
1030
|
...optional("features", readFeatures(value.features)),
|
|
1031
|
+
...optional("integrity", readIntegrity(value.integrity)),
|
|
938
1032
|
};
|
|
939
1033
|
}
|
|
940
1034
|
|
package/src/measurement/merge.ts
CHANGED
|
@@ -38,11 +38,19 @@
|
|
|
38
38
|
*
|
|
39
39
|
* An UNKNOWN reason code from a third-party document resolves to `probe-failed`: a word we
|
|
40
40
|
* cannot interpret must never be allowed to delete a real measurement.
|
|
41
|
+
*
|
|
42
|
+
* ## The pin binds the figures to the bytes (plugin-qualify spec §11.5)
|
|
43
|
+
*
|
|
44
|
+
* The `integrity` block resolves by the same precedence. Where the effective block is a pin, a
|
|
45
|
+
* dimension resolved from a document whose `integrity` for that plugin differs or is absent does
|
|
46
|
+
* not apply: a figure measured on another binary is not a figure about this one, so the dimension
|
|
47
|
+
* is dropped and reads unknown. With no effective pin, nothing is bound.
|
|
41
48
|
*/
|
|
42
49
|
|
|
43
50
|
import type {
|
|
44
51
|
CostMeasurement,
|
|
45
52
|
FeaturesMeasurement,
|
|
53
|
+
IntegrityMeasurement,
|
|
46
54
|
LatencyMeasurement,
|
|
47
55
|
MeasurementDocument,
|
|
48
56
|
MeasuredPlugin,
|
|
@@ -50,6 +58,7 @@ import type {
|
|
|
50
58
|
RtSafetyMeasurement,
|
|
51
59
|
StabilityMeasurement,
|
|
52
60
|
} from "./format.js";
|
|
61
|
+
import { sameIntegrity } from "./format.js";
|
|
53
62
|
import { type MeasurementDimension, MEASUREMENT_DIMENSIONS, unmeasuredKind } from "./vocabulary.js";
|
|
54
63
|
|
|
55
64
|
/** Where a figure came from. Two words, because the operator only ever has two questions. */
|
|
@@ -81,6 +90,8 @@ export interface MergedPluginMeasurement {
|
|
|
81
90
|
readonly stability?: ResolvedFigure<StabilityMeasurement>;
|
|
82
91
|
readonly rtSafety?: ResolvedFigure<RtSafetyMeasurement>;
|
|
83
92
|
readonly features?: ResolvedFigure<FeaturesMeasurement>;
|
|
93
|
+
/** The effective pin (§3c), resolved like a dimension; it binds the dimensions above to its bytes. */
|
|
94
|
+
readonly integrity?: ResolvedFigure<IntegrityMeasurement>;
|
|
84
95
|
/**
|
|
85
96
|
* Dimensions where the LOCAL run tried and failed (crashed, timed out, refused), keyed
|
|
86
97
|
* by dimension with the reason code. The shipped figure is still in use for these —
|
|
@@ -110,7 +121,8 @@ type AnyMeasurement =
|
|
|
110
121
|
| CostMeasurement
|
|
111
122
|
| StabilityMeasurement
|
|
112
123
|
| RtSafetyMeasurement
|
|
113
|
-
| FeaturesMeasurement
|
|
124
|
+
| FeaturesMeasurement
|
|
125
|
+
| IntegrityMeasurement;
|
|
114
126
|
|
|
115
127
|
/** Each dimension's block type, so a resolved figure keeps the type of the block it holds. */
|
|
116
128
|
interface MeasurementOf {
|
|
@@ -264,6 +276,28 @@ function resolveDimension<T extends AnyMeasurement>(
|
|
|
264
276
|
return shippedFigure === undefined ? {} : { resolved: shippedFigure };
|
|
265
277
|
}
|
|
266
278
|
|
|
279
|
+
/** A pin, as opposed to a block that only says why there is none. */
|
|
280
|
+
function isPin(integrity: IntegrityMeasurement | undefined): boolean {
|
|
281
|
+
return integrity?.files !== undefined && integrity.layout !== undefined;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* The effective `integrity` of one plugin, by the precedence every dimension takes: a local pin
|
|
286
|
+
* wins; a local `nothing-to-measure` (an unpinnable plugin) overrides with no pin; a local probe
|
|
287
|
+
* failure or absence leaves the shipped pin.
|
|
288
|
+
*/
|
|
289
|
+
function resolveIntegrity(
|
|
290
|
+
local: { readonly run: MeasurementRun; readonly integrity: IntegrityMeasurement | undefined } | undefined,
|
|
291
|
+
shipped: { readonly run: MeasurementRun; readonly integrity: IntegrityMeasurement | undefined } | undefined,
|
|
292
|
+
): ResolvedFigure<IntegrityMeasurement> | undefined {
|
|
293
|
+
const shippedFigure = shipped !== undefined && isPin(shipped.integrity) ? figure("shipped", shipped.run, shipped.integrity!) : undefined;
|
|
294
|
+
if (local?.integrity === undefined) return shippedFigure;
|
|
295
|
+
if (isPin(local.integrity) || unmeasuredKind(local.integrity.unmeasuredReason) === "nothing-to-measure") {
|
|
296
|
+
return figure("local", local.run, local.integrity);
|
|
297
|
+
}
|
|
298
|
+
return shippedFigure;
|
|
299
|
+
}
|
|
300
|
+
|
|
267
301
|
/**
|
|
268
302
|
* The merged view an installation reads: shipped defaults with local measurements laid over
|
|
269
303
|
* them, every figure still knowing where it came from.
|
|
@@ -311,15 +345,27 @@ export class MergedMeasurements {
|
|
|
311
345
|
const failure = outcomes[dimension].localFailure;
|
|
312
346
|
if (failure !== undefined) failures[dimension] = failure;
|
|
313
347
|
}
|
|
348
|
+
const integrity = resolveIntegrity(
|
|
349
|
+
local !== undefined && localPlugin !== undefined ? { run: local.run, integrity: localPlugin.integrity } : undefined,
|
|
350
|
+
shipped !== undefined && shippedPlugin !== undefined ? { run: shipped.run, integrity: shippedPlugin.integrity } : undefined,
|
|
351
|
+
);
|
|
352
|
+
// §11.5: with an effective pin, a figure from a document whose pin for this plugin differs or
|
|
353
|
+
// is absent is about other bytes, and does not apply.
|
|
354
|
+
const pinOf = (source: FigureSource) => (source === "local" ? localPlugin : shippedPlugin)?.integrity;
|
|
355
|
+
const bound = <T>(resolved: ResolvedFigure<T> | undefined): ResolvedFigure<T> | undefined =>
|
|
356
|
+
resolved === undefined || integrity === undefined || !isPin(integrity.value) || sameIntegrity(pinOf(resolved.source), integrity.value)
|
|
357
|
+
? resolved
|
|
358
|
+
: undefined;
|
|
314
359
|
|
|
315
360
|
merged.set(uri, {
|
|
316
361
|
uri,
|
|
317
362
|
plugin: identity,
|
|
318
|
-
...optionalFigure("latency", latency.resolved),
|
|
319
|
-
...optionalFigure("cost", cost.resolved),
|
|
320
|
-
...optionalFigure("stability", stability.resolved),
|
|
321
|
-
...optionalFigure("rtSafety", rtSafety.resolved),
|
|
322
|
-
...optionalFigure("features", features.resolved),
|
|
363
|
+
...optionalFigure("latency", bound(latency.resolved)),
|
|
364
|
+
...optionalFigure("cost", bound(cost.resolved)),
|
|
365
|
+
...optionalFigure("stability", bound(stability.resolved)),
|
|
366
|
+
...optionalFigure("rtSafety", bound(rtSafety.resolved)),
|
|
367
|
+
...optionalFigure("features", bound(features.resolved)),
|
|
368
|
+
...(integrity === undefined ? {} : { integrity }),
|
|
323
369
|
...(Object.keys(failures).length > 0 ? { localProbeFailed: failures } : {}),
|
|
324
370
|
...(shippedPlugin === undefined ? { localOnly: true } : {}),
|
|
325
371
|
});
|
|
@@ -29,7 +29,7 @@ import type {
|
|
|
29
29
|
SoakReading,
|
|
30
30
|
StabilityMeasurement,
|
|
31
31
|
} from "./format.js";
|
|
32
|
-
import { readLifecycle, readSoakAtRate, readThreads } from "./format.js";
|
|
32
|
+
import { readIntegrity, readLifecycle, readSoakAtRate, readThreads } from "./format.js";
|
|
33
33
|
import { booleanValue, finiteNumber, isRecord, mapArray, nonEmptyString, optional, positiveNumber } from "./guards.js";
|
|
34
34
|
|
|
35
35
|
/** The sweep's three passes, each a list of parsed JSONL lines. Only `measurements` is required. */
|
|
@@ -150,6 +150,7 @@ export function measuredPluginsFromSweep(passes: SweepPasses): MeasuredPlugin[]
|
|
|
150
150
|
if (uri === undefined || audioInputs === undefined || audioOutputs === undefined) continue;
|
|
151
151
|
out.push({
|
|
152
152
|
uri,
|
|
153
|
+
...optional("version", nonEmptyString(row.version)),
|
|
153
154
|
topology: {
|
|
154
155
|
audioInputs,
|
|
155
156
|
audioOutputs,
|
|
@@ -158,6 +159,7 @@ export function measuredPluginsFromSweep(passes: SweepPasses): MeasuredPlugin[]
|
|
|
158
159
|
stability: stabilityOf(row, deep.get(uri), soak.get(uri)),
|
|
159
160
|
rtSafety: rtSafetyOf(row),
|
|
160
161
|
features: featuresOf(row),
|
|
162
|
+
...optional("integrity", readIntegrity(row.integrity)),
|
|
161
163
|
});
|
|
162
164
|
}
|
|
163
165
|
return out;
|
|
@@ -77,6 +77,13 @@ export const UNMEASURED_TERMS: readonly UnmeasuredTerm[] = [
|
|
|
77
77
|
kind: "nothing-to-measure",
|
|
78
78
|
description: "A convolver requiring an IR file the prober did not load.",
|
|
79
79
|
},
|
|
80
|
+
{
|
|
81
|
+
code: "unpinnable",
|
|
82
|
+
kind: "nothing-to-measure",
|
|
83
|
+
description:
|
|
84
|
+
"The files the host loads cannot be pinned (plugin-qualify spec §11.1): a path holding ',', '=' or " +
|
|
85
|
+
"whitespace, or a manifest using @base or a percent-encoded IRI. The plugin stays unpinned, never partly pinned.",
|
|
86
|
+
},
|
|
80
87
|
{
|
|
81
88
|
code: "refused-instantiation",
|
|
82
89
|
kind: "probe-failed",
|