@openmixer/plugin-qualify 0.17.1 → 0.17.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +13 -6
  2. package/bin/plugin-qualify-sync.mjs +1 -1
  3. package/dist/host-admission.d.ts +25 -6
  4. package/dist/host-admission.js +45 -17
  5. package/dist/host-admission.js.map +1 -1
  6. package/dist/hostd-pin-files.d.ts +25 -0
  7. package/dist/hostd-pin-files.js +58 -0
  8. package/dist/hostd-pin-files.js.map +1 -0
  9. package/dist/probe-judge.d.ts +2 -0
  10. package/dist/probe-judge.js +3 -2
  11. package/dist/probe-judge.js.map +1 -1
  12. package/dist/probe-output-fixtures.js +4 -1
  13. package/dist/probe-output-fixtures.js.map +1 -1
  14. package/dist/probe-output.d.ts +2 -1
  15. package/dist/probe-output.js +4 -1
  16. package/dist/probe-output.js.map +1 -1
  17. package/dist/probe-runner.d.ts +5 -0
  18. package/dist/probe-runner.js +8 -3
  19. package/dist/probe-runner.js.map +1 -1
  20. package/dist/qualification-record.d.ts +16 -1
  21. package/dist/qualification-record.js +8 -2
  22. package/dist/qualification-record.js.map +1 -1
  23. package/dist/qualify-cli.js +10 -4
  24. package/dist/qualify-cli.js.map +1 -1
  25. package/dist/qualify-options.js +3 -3
  26. package/dist/qualify-options.js.map +1 -1
  27. package/dist/qualify-sync.d.ts +26 -4
  28. package/dist/qualify-sync.js +191 -53
  29. package/dist/qualify-sync.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/host-admission.ts +69 -23
  32. package/src/hostd-pin-files.ts +75 -0
  33. package/src/probe-judge.ts +5 -1
  34. package/src/probe-output-fixtures.ts +4 -1
  35. package/src/probe-output.ts +6 -2
  36. package/src/probe-runner.ts +13 -3
  37. package/src/qualification-record.ts +16 -2
  38. package/src/qualify-cli.ts +8 -4
  39. package/src/qualify-options.ts +3 -3
  40. package/src/qualify-sync.ts +197 -52
  41. package/tools/descriptors.py +8 -1
  42. package/tools/mod-host-admit.mjs +3 -1
package/README.md CHANGED
@@ -75,17 +75,17 @@ A plugin is measured in cells, each one sample rate and one quantum (block size
75
75
  gets reads the cell of that host's rate and quantum, so the grid has to hold it.
76
76
 
77
77
  ```
78
- plugin-qualify --all --out ./q # the hosts' grid (the default, also --grid-hosts)
79
- plugin-qualify --all --grid full --out ./q # every --rates rate at every --quanta quantum
78
+ plugin-qualify --all --out ./q # the full grid (the default): 4 rates x 4 block sizes
79
+ plugin-qualify --all --grid-hosts --out ./q # the hosts' grid, the fast option (also --grid hosts)
80
80
  plugin-qualify --grid 48000/128,96000/1024 urn:my:fx # exactly these cells
81
81
  ```
82
82
 
83
- - `--grid hosts` (the default; `--grid-hosts` says the same): the rate and quantum of every host the run judges
83
+ - `--grid hosts` (the fast option; `--grid-hosts` says the same): the rate and quantum of every host the run judges
84
84
  (each `--host-profile`, and the console's two tiers, `openmixer-console` and the format's isolated host), then
85
85
  quantum 512 at every `--rates` rate, so that a record stays comparable with the ones written before the grid.
86
86
  With the four shipped hosts that is seven cells: 96000/1024 (`openmixer-console`), 48000/256 (`jalv`),
87
87
  48000/128 (`mod-host`, `omx-clap-host`), and 512 at 44100, 48000, 96000 and 192000.
88
- - `--grid full`: every `--rates` rate at every `--quanta` quantum, 16 cells with the defaults
88
+ - `--grid full` (the default; every plugin is measured under the same conditions, so any host's verdict can be read at any cell and the figures compare): every `--rates` rate at every `--quanta` quantum, 16 cells with the defaults
89
89
  (44100, 48000, 96000, 192000 by 128, 256, 512, 1024).
90
90
  - `--grid <rate>/<quantum>,...`: exactly the cells named.
91
91
 
@@ -121,6 +121,8 @@ run within the bound at that host's rate and quantum.
121
121
 
122
122
  ### How long a run takes
123
123
 
124
+ The default grid is the full one, so the expected time of a run with no grid option is the `full` row: about 65 hours on a Raspberry Pi 5 for the vangelis set (1823 records). `--grid-hosts` is the fast option, about 30 hours there.
125
+
124
126
  Times from one deep run on a Raspberry Pi 5 (4 cores, 4 GB), 1823 records (494 CLAP, two offers of each of 247,
125
127
  and 1329 LV2), six hours in all with the grid of before (CLAP at four rates in one run at quantum 512, LV2 at
126
128
  192000/512 alone):
@@ -162,6 +164,11 @@ the RPM and DEB require;
162
164
  that kills the whole process tree, CPU time, memory, files), and plugin-qualify waits for the runner and reads
163
165
  the document it writes, the probe output. Nothing in plugin-qualify times a prober out on its own any more.
164
166
 
167
+ The files a pin holds are plugin-hostd's: the sync writes each pin with the files `plugin-hostd --pin-files <uri>`
168
+ prints for the device's LV2 directories (plugin-hostd 0.15.0 or later; `PLUGIN_HOSTD` names the daemon when it is not
169
+ on `PATH`), the list an add checks, and hashes exactly those. When plugin-hostd cannot name them, or is older, the
170
+ plugin gets no pin, the log says why, and the daemon pins it on its first add (`pin_mode first-use`).
171
+
165
172
  `--all` walks the standard CLAP search path through the same scanner: each directory `CLAP_PATH`
166
173
  names (colon-separated), then `~/.clap`, then `/usr/lib/clap`, which is the system directory on every
167
174
  distribution and architecture. A plugin id found twice keeps its first place on that path. LV2 plugins
@@ -535,7 +542,7 @@ The settings are `/etc/omx/qualify.conf`, one `key value` per line, and each is
535
542
  | `state_file` | `/var/lib/omx/qualify-sync.json` |
536
543
  | `budget_s` | `60` |
537
544
  | `host_profile` | `omx-clap-host` |
538
- | `grid` | `hosts`: the cells of `host_profile` and of the console's two tiers, then 512 at every rate (`full`, or `<rate>/<quantum>,...`) |
545
+ | `grid` | `full`: every rate at every block size, 16 cells (`hosts`, or `--grid-hosts`: the cells of `host_profile` and of the console's two tiers, then 512 at every rate; or `<rate>/<quantum>,...`) |
539
546
  | `cells_per_plugin_budget` | `0`, every cell of the grid |
540
547
  | `memory_limit` | half of the machine's RAM (`off` for none) |
541
548
  | `hostd_port`, `hostd_feedback_port` | `5555`, the next port |
@@ -544,7 +551,7 @@ The settings are `/etc/omx/qualify.conf`, one `key value` per line, and each is
544
551
 
545
552
  Those are the service's (`--system`); run by a user, the files go under `$XDG_STATE_HOME/omx`. An LV2
546
553
  directory added here belongs in plugin-hostd's `lv2_path` too, or the daemon cannot find the bundle it
547
- pinned. `--force` qualifies everything again, and `--no-distributed` reads no distributed record.
554
+ pinned. `--force` qualifies everything again, and `--no-distributed` reads no distributed record. A second `plugin-qualify-sync` waits for the run in progress (a lock on `<state_file>.lock`); `--no-wait` exits 0 at once and leaves a marker, and the holder runs once more at its end over what changed meanwhile.
548
555
 
549
556
  The path unit names the standard folders (`/usr/lib/lv2`, `/usr/lib64/lv2`, `/usr/local/lib/lv2`,
550
557
  `/usr/lib/clap`, `/usr/lib64/clap`). The folders the settings file adds (`lv2_path`, `lv2_extra`, `clap_path`,
@@ -51,7 +51,7 @@ log(
51
51
  `memory ${s.memory === undefined ? "unbounded" : `${String(s.memory.bytes)} bytes`}`,
52
52
  );
53
53
  try {
54
- const summary = await runSync(s, { force: parsed.args.force, log });
54
+ const summary = await runSync(s, { force: parsed.args.force, wait: !parsed.args.noWait, log });
55
55
  if (summary !== undefined) {
56
56
  process.stdout.write(`${summaryLine(summary)}\n`);
57
57
  log(`pins in ${s.pinFile}${summary.sent ? `, ${String(summary.sent)} sent to plugin-hostd` : ""}`);
@@ -4,9 +4,15 @@ export declare const ADMITTED_HOSTS: readonly ["mod-host", "jalv"];
4
4
  export type AdmittedHost = (typeof ADMITTED_HOSTS)[number];
5
5
  /** The admitting host of a profile, or `undefined` when its verdict is judged from a declaration. */
6
6
  export declare function admittedHostOf(profile: HostProfile): AdmittedHost | undefined;
7
+ /**
8
+ * plugin-hostd's LV2 adapter, omx-clap-host: an LV2 plugin is run under it once, as under mod-host, and the record
9
+ * carries the outcome as its own step beside the verdicts (plugin-qualify#223), which it does not change: the
10
+ * omx-clap-host verdict of an LV2 plugin stays the in-process measurement. It is what the removal of mod-host counts.
11
+ */
12
+ export declare const ADAPTER_HOST = "omx-clap-host";
7
13
  /** What running the plugin under one host came to. */
8
14
  export interface HostAdmission {
9
- readonly host: AdmittedHost;
15
+ readonly host: AdmittedHost | typeof ADAPTER_HOST;
10
16
  /** False when the host could not be run (not installed): there is no evidence either way. */
11
17
  readonly measured: boolean;
12
18
  readonly admitted: boolean;
@@ -14,6 +20,7 @@ export interface HostAdmission {
14
20
  readonly code?: string;
15
21
  readonly params: Readonly<Record<string, string | number>>;
16
22
  }
23
+ type ProtocolHost = "mod-host" | typeof ADAPTER_HOST;
17
24
  /** One command mod-host was sent and what came of it: its `resp` number, or how the host died. */
18
25
  export interface ModHostStep {
19
26
  readonly cmd: "add" | "remove";
@@ -26,7 +33,9 @@ export interface ModHostRun {
26
33
  readonly installed: boolean;
27
34
  readonly steps: readonly ModHostStep[];
28
35
  }
29
- /** The verdict of a mod-host run: the first step that did not answer `resp 0` decides. */
36
+ /** The verdict of a run of a host that speaks mod-host's protocol: the first step that did not answer `resp 0` decides. */
37
+ export declare function classifyProtocolRun(host: ProtocolHost, run: ModHostRun): HostAdmission;
38
+ /** The verdict of a mod-host run. */
30
39
  export declare function classifyModHostRun(run: ModHostRun): HostAdmission;
31
40
  /** What `jalv -n <name> <uri>` did in its window. */
32
41
  export interface JalvRun {
@@ -43,11 +52,21 @@ export declare function classifyJalvRun(run: JalvRun): HostAdmission;
43
52
  export declare const JALV_HOSTED_MS = 3000;
44
53
  /** The wall clock of one whole mod-host admission, in milliseconds. */
45
54
  export declare const MOD_HOST_ADMISSION_MS = 30000;
55
+ /**
56
+ * The runs of one plugin under the installed hosts. `env` is the environment each host starts with: its `LV2_PATH`
57
+ * must be the device's LV2 directories, the ones the host sees in use (plugin-qualify#224: a mod-host started with no
58
+ * `LV2_PATH` sees only lilv's defaults and answers -101 for a plugin it runs every day).
59
+ */
46
60
  export interface AdmissionRuns {
47
- readonly modHost: (uri: string) => ModHostRun;
48
- readonly jalv: (uri: string) => JalvRun;
61
+ readonly modHost: (uri: string, env?: Readonly<Record<string, string | undefined>>) => ModHostRun;
62
+ readonly jalv: (uri: string, env?: Readonly<Record<string, string | undefined>>) => JalvRun;
63
+ /** The run under plugin-hostd's LV2 adapter; a set without it records no adapter step. */
64
+ readonly adapter?: (uri: string, env?: Readonly<Record<string, string | undefined>>) => ModHostRun;
49
65
  }
50
66
  /** The runs against the installed hosts. */
51
67
  export declare const SPAWNED_ADMISSIONS: AdmissionRuns;
52
- /** One admission of `uri` under `host`. */
53
- export declare function admitPlugin(host: AdmittedHost, uri: string, runs?: AdmissionRuns): HostAdmission;
68
+ /** One admission of `uri` under `host`, the host started with `env` (its `LV2_PATH` the device's LV2 directories). */
69
+ export declare function admitPlugin(host: AdmittedHost, uri: string, runs?: AdmissionRuns, env?: Readonly<Record<string, string | undefined>>): HostAdmission;
70
+ /** The run of an LV2 plugin under plugin-hostd's LV2 adapter, `undefined` when the runs have none (plugin-qualify#223). */
71
+ export declare function admitUnderAdapter(uri: string, runs?: AdmissionRuns, env?: Readonly<Record<string, string | undefined>>): HostAdmission | undefined;
72
+ export {};
@@ -16,6 +16,12 @@ export const ADMITTED_HOSTS = ["mod-host", "jalv"];
16
16
  export function admittedHostOf(profile) {
17
17
  return ADMITTED_HOSTS.find((h) => h === profile.id);
18
18
  }
19
+ /**
20
+ * plugin-hostd's LV2 adapter, omx-clap-host: an LV2 plugin is run under it once, as under mod-host, and the record
21
+ * carries the outcome as its own step beside the verdicts (plugin-qualify#223), which it does not change: the
22
+ * omx-clap-host verdict of an LV2 plugin stays the in-process measurement. It is what the removal of mod-host counts.
23
+ */
24
+ export const ADAPTER_HOST = "omx-clap-host";
19
25
  const admitted = (host) => ({ host, measured: true, admitted: true, params: {} });
20
26
  const refused = (host, code, params = {}) => ({
21
27
  host,
@@ -25,25 +31,29 @@ const refused = (host, code, params = {}) => ({
25
31
  params,
26
32
  });
27
33
  const notInstalled = (host) => ({ host, measured: false, admitted: false, code: `${host}.not-installed`, params: {} });
28
- /** The verdict of a mod-host run: the first step that did not answer `resp 0` decides. */
29
- export function classifyModHostRun(run) {
34
+ /** The verdict of a run of a host that speaks mod-host's protocol: the first step that did not answer `resp 0` decides. */
35
+ export function classifyProtocolRun(host, run) {
30
36
  if (!run.installed)
31
- return notInstalled("mod-host");
37
+ return notInstalled(host);
32
38
  for (const s of run.steps) {
33
39
  if (s.died !== undefined) {
34
40
  if (s.died.startsWith("SIG"))
35
- return refused("mod-host", `signal-${s.died}`, { step: s.cmd });
36
- return s.cmd === "add" ? refused("mod-host", "died-on-add", { how: s.died }) : refused("mod-host", "died", { step: s.cmd, how: s.died });
41
+ return refused(host, `signal-${s.died}`, { step: s.cmd });
42
+ return s.cmd === "add" ? refused(host, "died-on-add", { how: s.died }) : refused(host, "died", { step: s.cmd, how: s.died });
37
43
  }
38
44
  if (s.resp === undefined)
39
- return refused("mod-host", "no-answer", { step: s.cmd });
40
- // mod-host answers an error as a negative number (`resp -102`); the code carries its magnitude
45
+ return refused(host, "no-answer", { step: s.cmd });
46
+ // the host answers an error as a negative number (`resp -102`); the code carries its magnitude
41
47
  if (s.resp < 0)
42
- return refused("mod-host", `resp-${-s.resp}`, { step: s.cmd, resp: s.resp });
48
+ return refused(host, `resp-${-s.resp}`, { step: s.cmd, resp: s.resp });
43
49
  }
44
50
  if (run.steps.length === 0)
45
- return refused("mod-host", "no-answer");
46
- return admitted("mod-host");
51
+ return refused(host, "no-answer");
52
+ return admitted(host);
53
+ }
54
+ /** The verdict of a mod-host run. */
55
+ export function classifyModHostRun(run) {
56
+ return classifyProtocolRun("mod-host", run);
47
57
  }
48
58
  const UNKNOWN_PORT_TYPE = /Mandatory port "([^"]*)" has unknown type/;
49
59
  /** The verdict of a jalv run: alive at the deadline is hosted; a signal, an unknown port type, or an exit is not. */
@@ -68,29 +78,47 @@ export const MOD_HOST_ADMISSION_MS = 30000;
68
78
  const MOD_HOST_ADMIT = fileURLToPath(new URL("../tools/mod-host-admit.mjs", import.meta.url));
69
79
  /** The runs against the installed hosts. */
70
80
  export const SPAWNED_ADMISSIONS = {
71
- modHost(uri) {
72
- const r = spawnSync(process.execPath, [MOD_HOST_ADMIT, uri], { encoding: "utf8", timeout: MOD_HOST_ADMISSION_MS });
81
+ adapter(uri, env) {
82
+ const r = spawnSync(process.execPath, [MOD_HOST_ADMIT, uri, ADAPTER_HOST], { encoding: "utf8", timeout: MOD_HOST_ADMISSION_MS, ...(env === undefined ? {} : { env: { ...env } }) });
83
+ if (r.error !== undefined || r.status !== 0) {
84
+ throw new Error(`${ADAPTER_HOST} admission of ${uri} gave no answer (${r.error?.message ?? `exit ${String(r.status)}`}): ${(r.stderr ?? "").trim()}`);
85
+ }
86
+ return JSON.parse(r.stdout);
87
+ },
88
+ modHost(uri, env) {
89
+ const r = spawnSync(process.execPath, [MOD_HOST_ADMIT, uri], { encoding: "utf8", timeout: MOD_HOST_ADMISSION_MS, ...(env === undefined ? {} : { env: { ...env } }) });
73
90
  if (r.error !== undefined || r.status !== 0) {
74
91
  throw new Error(`mod-host admission of ${uri} gave no answer (${r.error?.message ?? `exit ${String(r.status)}`}): ${(r.stderr ?? "").trim()}`);
75
92
  }
76
93
  return JSON.parse(r.stdout);
77
94
  },
78
- jalv(uri) {
79
- const r = spawnSync("jalv", ["-n", "plugin-qualify", uri], { encoding: "utf8", timeout: JALV_HOSTED_MS, input: "" });
95
+ jalv(uri, env) {
96
+ const r = spawnSync("jalv", ["-n", "plugin-qualify", uri], { encoding: "utf8", timeout: JALV_HOSTED_MS, input: "", ...(env === undefined ? {} : { env: { ...env } }) });
80
97
  const code = r.error?.code;
81
98
  if (code === "ENOENT")
82
99
  return { installed: false, stillRunning: false, status: null, signal: null, stderr: "" };
83
100
  return { installed: true, stillRunning: code === "ETIMEDOUT", status: r.status, signal: code === "ETIMEDOUT" ? null : r.signal, stderr: r.stderr ?? "" };
84
101
  },
85
102
  };
86
- /** One admission of `uri` under `host`. */
87
- export function admitPlugin(host, uri, runs = SPAWNED_ADMISSIONS) {
103
+ /** One admission of `uri` under `host`, the host started with `env` (its `LV2_PATH` the device's LV2 directories). */
104
+ export function admitPlugin(host, uri, runs = SPAWNED_ADMISSIONS, env) {
88
105
  try {
89
- return host === "mod-host" ? classifyModHostRun(runs.modHost(uri)) : classifyJalvRun(runs.jalv(uri));
106
+ return host === "mod-host" ? classifyModHostRun(runs.modHost(uri, env)) : classifyJalvRun(runs.jalv(uri, env));
90
107
  }
91
108
  catch (e) {
92
109
  // the run itself broke: nothing was learned about the plugin, so nothing is rated
93
110
  return { host, measured: false, admitted: false, code: `${host}.admission-failed`, params: { problem: e instanceof Error ? e.message : String(e) } };
94
111
  }
95
112
  }
113
+ /** The run of an LV2 plugin under plugin-hostd's LV2 adapter, `undefined` when the runs have none (plugin-qualify#223). */
114
+ export function admitUnderAdapter(uri, runs = SPAWNED_ADMISSIONS, env) {
115
+ if (runs.adapter === undefined)
116
+ return undefined;
117
+ try {
118
+ return classifyProtocolRun(ADAPTER_HOST, runs.adapter(uri, env));
119
+ }
120
+ catch (e) {
121
+ return { host: ADAPTER_HOST, measured: false, admitted: false, code: `${ADAPTER_HOST}.admission-failed`, params: { problem: e instanceof Error ? e.message : String(e) } };
122
+ }
123
+ }
96
124
  //# sourceMappingURL=host-admission.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"host-admission.js","sourceRoot":"","sources":["../src/host-admission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-admission.js","sourceRoot":"","sources":["../src/host-admission.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD;;;;;;;GAOG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,MAAM,CAAU,CAAC;AAG5D,qGAAqG;AACrG,MAAM,UAAU,cAAc,CAAC,OAAoB;IACjD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC;AAc5C,MAAM,QAAQ,GAAG,CAAC,IAA2B,EAAiB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;AACxH,MAAM,OAAO,GAAG,CAAC,IAA2B,EAAE,IAAY,EAAE,SAAkC,EAAE,EAAiB,EAAE,CAAC,CAAC;IACnH,IAAI;IACJ,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE;IACvB,MAAM;CACP,CAAC,CAAC;AACH,MAAM,YAAY,GAAG,CAAC,IAA2B,EAAiB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;AAgB7J,2HAA2H;AAC3H,MAAM,UAAU,mBAAmB,CAAC,IAAkB,EAAE,GAAe;IACrE,IAAI,CAAC,GAAG,CAAC,SAAS;QAAE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,OAAO,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACxF,OAAO,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/H,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7E,+FAA+F;QAC/F,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC9D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,kBAAkB,CAAC,GAAe;IAChD,OAAO,mBAAmB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC;AAYD,MAAM,iBAAiB,GAAG,2CAA2C,CAAC;AAEtE,qHAAqH;AACrH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,IAAI,CAAC,GAAG,CAAC,SAAS;QAAE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,GAAG,CAAC,YAAY;QAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AACnC,uEAAuE;AACvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAc3C,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9F,4CAA4C;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAkB;IAC/C,OAAO,CAAC,GAAG,EAAE,GAAG;QACd,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACpL,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,iBAAiB,GAAG,oBAAoB,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxJ,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAe,CAAC;IAC5C,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,GAAG;QACd,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACtK,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,oBAAoB,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACjJ,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAe,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,GAAG;QACX,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACxK,MAAM,IAAI,GAAI,CAAC,CAAC,KAA2C,EAAE,IAAI,CAAC;QAClE,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAChH,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,KAAK,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;IAC3J,CAAC;CACF,CAAC;AAEF,sHAAsH;AACtH,MAAM,UAAU,WAAW,CACzB,IAAkB,EAClB,GAAW,EACX,OAAsB,kBAAkB,EACxC,GAAkD;IAElD,IAAI,CAAC;QACH,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACjH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,kFAAkF;QAClF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,mBAAmB,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACvJ,CAAC;AACH,CAAC;AAED,2HAA2H;AAC3H,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,OAAsB,kBAAkB,EACxC,GAAkD;IAElD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACjD,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,mBAAmB,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7K,CAAC;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ /** The daemon binary, else `plugin-hostd` on the PATH. */
2
+ export declare const HOSTD_ENV = "PLUGIN_HOSTD";
3
+ export interface PinFilesRunResult {
4
+ readonly status: number | null;
5
+ readonly stdout: string;
6
+ readonly stderr: string;
7
+ /** The daemon is not installed. */
8
+ readonly missing?: boolean;
9
+ }
10
+ /** One run of `plugin-hostd --pin-files <uri>` with `lv2_path` set to `lv2Dirs`. */
11
+ export type PinFilesRun = (uri: string, lv2Dirs: readonly string[], env: Readonly<Record<string, string | undefined>>) => PinFilesRunResult;
12
+ export declare const SPAWNED_PIN_FILES: PinFilesRun;
13
+ export type PinFiles = {
14
+ readonly ok: true;
15
+ readonly root: string;
16
+ readonly files: readonly {
17
+ readonly path: string;
18
+ readonly sha256: string;
19
+ }[];
20
+ } | {
21
+ readonly ok: false;
22
+ readonly detail: string;
23
+ };
24
+ /** The files plugin-hostd collects for `uri`, each hashed; why not, when it cannot say. */
25
+ export declare function hostdPinFiles(uri: string, lv2Dirs: readonly string[], env?: Readonly<Record<string, string | undefined>>, run?: PinFilesRun, read?: (path: string) => Buffer): PinFiles;
@@ -0,0 +1,58 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ // Copyright (C) 2026 Pau Aliagas <linuxnow@gmail.com>
3
+ /**
4
+ * The files a pin holds, as plugin-hostd collects them (plugin-qualify#228). One definition of a plugin's files: the
5
+ * daemon's, the list an add checks before it hashes them (`pins_check`), which `plugin-hostd --pin-files <uri>` prints
6
+ * (plugin-hostd 0.15.0 and later). This module never works the list out itself: it runs the daemon on the device's LV2
7
+ * directories, reads `root <dir>` and the `file <name>` lines, and hashes exactly those files.
8
+ */
9
+ import { spawnSync } from "node:child_process";
10
+ import { createHash } from "node:crypto";
11
+ import { mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
12
+ import { tmpdir } from "node:os";
13
+ import { join } from "node:path";
14
+ /** The daemon binary, else `plugin-hostd` on the PATH. */
15
+ export const HOSTD_ENV = "PLUGIN_HOSTD";
16
+ export const SPAWNED_PIN_FILES = (uri, lv2Dirs, env) => {
17
+ const dir = mkdtempSync(join(tmpdir(), "plugin-qualify-pin-files-"));
18
+ try {
19
+ const conf = join(dir, "plugin-hostd.conf");
20
+ writeFileSync(conf, `lv2_path ${lv2Dirs.join(":")}\n`);
21
+ const r = spawnSync(env[HOSTD_ENV] ?? "plugin-hostd", ["-c", conf, "--pin-files", uri], { encoding: "utf8", timeout: 30000, env: { ...env } });
22
+ const missing = r.error?.code === "ENOENT";
23
+ return { status: r.status, stdout: r.stdout ?? "", stderr: r.stderr ?? "", ...(missing ? { missing } : {}) };
24
+ }
25
+ finally {
26
+ rmSync(dir, { recursive: true, force: true });
27
+ }
28
+ };
29
+ /** The files plugin-hostd collects for `uri`, each hashed; why not, when it cannot say. */
30
+ export function hostdPinFiles(uri, lv2Dirs, env = process.env, run = SPAWNED_PIN_FILES, read = (p) => readFileSync(p)) {
31
+ const r = run(uri, lv2Dirs, env);
32
+ if (r.missing)
33
+ return { ok: false, detail: "plugin-hostd is not installed: the files of a pin are plugin-hostd's to name" };
34
+ if (r.status !== 0) {
35
+ const why = r.stdout.startsWith("Usage:")
36
+ ? "this plugin-hostd has no --pin-files (plugin-hostd 0.15.0 or later names the files of a pin)"
37
+ : r.stderr.trim().split("\n").pop() || `plugin-hostd --pin-files exited ${String(r.status)}`;
38
+ return { ok: false, detail: why };
39
+ }
40
+ let root;
41
+ const names = [];
42
+ for (const line of r.stdout.split("\n")) {
43
+ if (line.startsWith("root "))
44
+ root = line.slice(5);
45
+ else if (line.startsWith("file "))
46
+ names.push(line.slice(5));
47
+ }
48
+ if (root === undefined || names.length === 0)
49
+ return { ok: false, detail: "plugin-hostd --pin-files printed no root or no file" };
50
+ try {
51
+ const files = names.map((path) => ({ path, sha256: createHash("sha256").update(read(join(root, path))).digest("hex") }));
52
+ return { ok: true, root, files: files.sort((a, b) => (a.path < b.path ? -1 : a.path > b.path ? 1 : 0)) };
53
+ }
54
+ catch (e) {
55
+ return { ok: false, detail: `a file plugin-hostd names cannot be read: ${e instanceof Error ? e.message : String(e)}` };
56
+ }
57
+ }
58
+ //# sourceMappingURL=hostd-pin-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hostd-pin-files.js","sourceRoot":"","sources":["../src/hostd-pin-files.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,8 @@ export interface HostJudgment {
58
58
  }
59
59
  export interface Judgment {
60
60
  readonly output: ProbeOutput;
61
+ /** An LV2 plugin's run under plugin-hostd's LV2 adapter, beside the verdicts (plugin-qualify#223). */
62
+ readonly adapter?: HostAdmission;
61
63
  readonly hosts: readonly HostJudgment[];
62
64
  /** For a CLAP plugin, the document of each host that today's judge writes; the pins are taken from these. */
63
65
  readonly documents: readonly RtSafetyDocument[];
@@ -106,8 +106,9 @@ export function clapLineFromProbeOutput(output, facts = {}) {
106
106
  const points = okPoints(output);
107
107
  const latency = {};
108
108
  for (const p of points) {
109
- if (p.latency !== undefined && latency[String(p.rate)] === undefined)
110
- latency[String(p.rate)] = p.latency;
109
+ if (p.latency?.measuredFrames !== undefined && latency[String(p.rate)] === undefined) {
110
+ latency[String(p.rate)] = { declaredFrames: p.latency.declaredFrames, measuredFrames: p.latency.measuredFrames };
111
+ }
111
112
  }
112
113
  const withRt = points.filter((p) => p.rtSafety !== undefined);
113
114
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"probe-judge.js","sourceRoot":"","sources":["../src/probe-judge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"probe-judge.js","sourceRoot":"","sources":["../src/probe-judge.ts"],"names":[],"mappings":"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"}
@@ -182,8 +182,11 @@ export function probeOutputOfLv2Line(line) {
182
182
  ...(latency.from === "note" ? { heard: true } : {}),
183
183
  };
184
184
  }
185
- else
185
+ else {
186
186
  absent("latency", latency);
187
+ if (latency?.declaredFrames !== undefined)
188
+ point["latency"] = { declaredFrames: latency.declaredFrames };
189
+ }
187
190
  if (cost?.nsPerSampleMedian !== undefined) {
188
191
  steps.push({ step: "cost", rate, quantum, outcome: "probe.ok", elapsedMs: 1 });
189
192
  point["cost"] = {
@@ -1 +1 @@
1
- {"version":3,"file":"probe-output-fixtures.js","sourceRoot":"","sources":["../src/probe-output-fixtures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"probe-output-fixtures.js","sourceRoot":"","sources":["../src/probe-output-fixtures.ts"],"names":[],"mappings":"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"}
@@ -57,9 +57,10 @@ export interface ProbeGridPoint {
57
57
  readonly rate: number;
58
58
  readonly quantum: number;
59
59
  readonly outcome: string;
60
+ /** `measuredFrames` is absent where the probe did not measure; the declared figure is kept whenever the plugin loaded (#201). */
60
61
  readonly latency?: {
61
62
  readonly declaredFrames: number;
62
- readonly measuredFrames: number;
63
+ readonly measuredFrames?: number;
63
64
  };
64
65
  readonly cost?: ProbeCost;
65
66
  readonly rtSafety?: ProbeRtSafety;
@@ -156,7 +156,10 @@ function readPoint(v, i) {
156
156
  let latency;
157
157
  if (latencyIn !== undefined) {
158
158
  const l = record(latencyIn, `${where} latency`);
159
- latency = { declaredFrames: count(l, "declaredFrames", `${where} latency`), measuredFrames: count(l, "measuredFrames", `${where} latency`) };
159
+ latency = {
160
+ declaredFrames: count(l, "declaredFrames", `${where} latency`),
161
+ ...(l["measuredFrames"] === undefined ? {} : { measuredFrames: count(l, "measuredFrames", `${where} latency`) }),
162
+ };
160
163
  }
161
164
  return {
162
165
  rate: posInt(o, "rate", where),